构建音频反应LED:将灯光与音乐同步
音乐同步LED是你能构建的最令人满意的项目之一。使用ESP32、一个3美元的麦克风和WLED,你可以在一个下午运行完整的音乐可视化器。

工作原理
[麦克风 (INMP441)] ──I2S──> [ESP32] ──GPIO──> [LED灯带/矩阵]
│
[WLED Web UI]麦克风捕获环境音频,ESP32通过FFT(快速傅里叶变换)处理它,WLED将频率数据实时映射到LED效果。
你需要什么
| 物品 | 成本 | 备注 |
|---|---|---|
| ESP32开发板 | $8-12 | 任何ESP32(不是ESP8266!) |
| INMP441麦克风模块 | $3-5 | I2S数字麦克风 |
| 跳线(母对母) | $2-3 | 需要7根线 |
| LED灯带或矩阵 | $20+ | 推荐WS2812B/WS2815 |
| 5V电源 | $15-20 | 根据你的LED sizing |
连接麦克风
INMP441通过I2S连接——一种数字音频协议。没有ADC,没有噪声,没有干扰。
| INMP441引脚 | ESP32引脚 |
|---|---|
| VDD | 3.3V |
| GND | GND |
| L/R | GND(左声道) |
| DOUT | GPIO32(I2S数据输入) |
| BCLK | GPIO26(位时钟) |
| WS/FS | GPIO25(字选择) |
保持麦克风线在20cm以下。更长的线会从LED拾取电气噪声。如果需要更长的距离,使用屏蔽双绞线。
配置WLED进行音频反应
- 将WLED刷入你的ESP32(参见100美元以下LED矩阵获取说明)
- 转到 配置 → LED首选项 并配置你的LED
- 转到 配置 → 音频反应设置:
- 启用音频输入:✅
- I2S DIN引脚:32
- I2S BCLK引脚:26
- I2S LRC引脚:25
- 采样率:16000 Hz(默认)
- 点击 保存并重启
选择音频反应效果
WLED在配置麦克风后提供40多种音频反应效果:
| 效果 | 最适合 |
|---|---|
| FFT Gravity | 低音drop、EDM |
| FFT Sparkle | 通用音乐可视化 |
| FFT Rainbow | 彩色派对模式 |
| Audio Vu Meter | 经典VU表外观 |
| Frequency | 特定频段可视化 |
| Pitch | 人声/旋律驱动效果 |
全部尝试——每种对不同音乐流派的反应都不同。
调优技巧
灵敏度
在 配置 → 音频反应设置 → 静音 中,设置噪声门限阈值。从20开始,如果LED在静音时闪烁则调高,如果安静的声音不触发效果则调低。
增益
如果效果看起来很弱,增加 最大增益(从2.0开始)。如果它们削波(所有LED白色),则降低它。
FFT大小
FFT大小 256 提供更快的响应(适合打击乐)。FFT大小 512 提供更好的频率分辨率(适合旋律)。
高级:多输出音频矩阵
对于16×16矩阵,你可以将频段映射到列:
- 第1-2列:低音(20-250 Hz)
- 第3-6列:中低音(250-500 Hz)
- 第7-10列:中音(500-2000 Hz)
- 第11-14列:中高音(2000-4000 Hz)
- 第15-16列:高音(4000-20000 Hz)
这就在你的矩阵上创建了一个真正的音频频谱分析仪。
故障排除
| 症状 | 修复 |
|---|---|
| 未检测到音频 | 检查接线,启用I2S,验证引脚与配置匹配 |
| 持续闪烁 | 增加 静音 阈值 |
| 只有一个频段反应 | 检查麦克风是否处于单声道模式(L/R引脚 → GND) |
| 高音量时音频中断 | 降低 最大增益 |
| 嗡嗡声/杂音 | 缩短麦克风线,在电源线上添加铁氧体磁珠 |
下一步
- 阅读电源注入以延长运行距离
- 使用HUB75面板扩展到64×64矩阵
- 添加Home Assistant集成以实现自动化场景