AcidBox AcidBox

ESP32 1/5 已发布
copych 191 Stars MIT BOM 完整度: 0/5 教程完整度: 0/5
AcidBox

项目简介

ESP32合成器:双TB303酸音+鼓机+效果链,CD音质。


AcidBox 是一个基于 ESP32 的无头(headless)硬件合成器项目,它将经典的 Roland TB-303 贝斯合成器与 TR-808 鼓机的声音引擎融合在一个低成本、全 MIDI 驱动的设备中。项目核心解决了在廉价硬件上实现高质量、可实时控制的 Acid 风格音乐生成问题,特别适合电子音乐制作人、硬件黑客和现场演出者。

标签

项目特点

**双 TB-303 合成器**:两个独立的 303 风格合成器,支持滤波截止、共鸣、包络调制、重音、波形折叠、过载等参数。
**TR-808 风格鼓机**:包含底鼓、军鼓、闭镲、开镲等乐器,支持音调、衰减、电平控制,以及高通/低通滤波和比特压缩。
**完整效果链**:全局混响、延迟、主压缩器,每个合成器和鼓机均可独立发送效果。
**全 MIDI 驱动**:所有参数通过 MIDI CC 控制,无任何物理按钮或屏幕。
**JukeBox 模式**:编译时开启 `#define JUKEBOX` 即可变成自动随机生成 Acid 音乐的独立播放器。
**低成本**:核心硬件(ESP32 + PCM5102 DAC)成本约 10 美元。
**双核利用**:充分利用 ESP32 双核性能。
**可扩展性**:支持 ESP32-S3 版本,利用更快的 OPI PSRAM 和 USB 硬件支持。

技术规格

主控芯片 ESP32 或 ESP32-S3(需至少 4MB PSRAM)
音频输出 I2S 16bit 立体声(外部 DAC,如 PCM5102)或 8bit 内置 DAC(GPIO25/26)
采样率 44100 Hz
合成器数量 2 个 TB-303 风格 + 1 个 TR-808 风格鼓机
效果器 混响、延迟、主压缩、比特压缩、高通/低通滤波、失真、过载
控制方式 全 MIDI(5 针 DIN 或 USB-MIDI)
存储 需上传鼓采样到 LittleFS(3MB SPIFFS 分区)
固件开发 Arduino IDE(v1.8.20 测试)
依赖库 Arduino MIDI Library

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
ESP32 WROVER 模块(带 PSRAM)或 ESP32-S3 1 至少 4MB PSRAM
PCM5102 I2S DAC 模块 1 推荐,否则用内置 DAC(8bit)
5V 电源或 USB 供电 1 根据 ESP32 模块要求
MIDI 输入接口(5 针 DIN 或 USB) 1 可选
音频输出接口(3.5mm 或 RCA) 1 可选
AcidBox-PCB(社区设计) 1 可选,可面包板搭建
杜邦线、面包板、电阻电容等 若干 根据搭建方式

能力画像

⚪ 记忆与知识检索: 1/5
🔵 逻辑推演: 3/5
⚪ 表达与交流: 1/5
⚪ 感知与观察: 2/5
🔵 数理与计算: 4/5
🔵 动手与操作: 3/5
⚪ 狂热与坚持: 2/5
🔵 创造与创新: 4/5

所需技能

🔧 **动手能力**:能够焊接模块、搭建面包板或 PCB 电路,连接 MIDI 和音频接口。 💻 **编程能力**:熟悉 Arduino IDE 环境,能够配置 ESP32 板级支持、分区方案、PSRAM 选项,并上传鼓采样到 LittleFS。 ⚡ **电子电路**:理解 I2S 音频输出、DAC 模块连接、MIDI 信号电平转换(5V 转 3.3V),以及 ESP32 电源管理。

适用场景

**DIY 音乐合成器爱好者**:制作一个低成本、可编程的 Acid 风格合成器。
**现场演出**:通过 MIDI 控制器实时操控,适合电子音乐现场。
**自动音乐生成**:开启 JukeBox 模式,作为背景音乐或灵感生成器。
**嵌入式音频学习**:学习 ESP32 的 I2S 音频输出、DSP 算法(滤波、混响、延迟)和双核编程。
**开源硬件项目**:作为 ESP32 音频项目的参考设计,可扩展为更复杂的合成器。