ESP32 SoundFont 采样合成器 ESP32_SF2_Sampler_Synthesizer

ESP32 ⭐☆☆☆☆ (1/5) 已发布
copych 31 Stars MIT BOM 完整度: /5 教程完整度: /5

项目简介

基于ESP32-S3/P4 SF2的波表合成器,支持MIDI输入、通用CC、GM兼容及效果链。


ESP32_SF2_Sampler_Synthesizer 是一个专为 ESP32-S3 和 ESP32-P4 微控制器设计的开源波表合成器固件。它利用这些芯片强大的 PSRAM 和双核处理能力,实现了对 SoundFont 2(SF2)格式音色库的高效加载与实时回放,将一块廉价的开发板变成了一台功能完整的硬件采样合成器。

标签

项目特点

**SF2播放**:加载SoundFont2音色库,最大支持PSRAM容量。
**文件系统**:运行时可在LittleFS和高速4位SD_MMC之间切换。
**USB MIDI**:即插即用的MIDI设备支持。
**每音色滤波器**:可配置的双二阶低通滤波器(在`config.h`中配置)。
**每通道滤波器**:可选的CC#74/71控制的低通滤波器/共鸣。
**效果链**:混响(CC#91)、合唱(CC#93)、延迟(CC#95)。
**MIDI控制**:GM兼容,部分GS/XG兼容的CC、PC、RPN,第10通道鼓组,GM复位。
**外部DAC**:支持PCM5102等I2S DAC。
**ESP32-S3/P4优化**:双核、PSRAM、最小化接线。
**可选OLED GUI**:使用旋转编码器和按钮进行导航。

技术规格

主控芯片
音频输出
MIDI输入
文件系统
效果器
滤波器
兼容性
GUI(可选)

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
ESP32-S3或ESP32-P4开发板(带PSRAM) 1 必须支持OPI PSRAM
PCM5102 I2S DAC模块 1 或兼容的I2S DAC
microSD卡(可选) 1 用于存放大量SF2文件
OLED显示屏(I2C接口) 1 用于GUI
旋转编码器 1 用于GUI导航
按钮 1 用于GUI确认/切换
杜邦线/排针 若干 用于接线
USB数据线 1 供电和MIDI通信

所需工具

工具用途是否必需
计算机 编程、上传固件和SF2文件 ✅ 是
USB数据线 连接ESP32到计算机 ✅ 是
烙铁和焊锡 焊接排针或模块 ▢ 推荐
Arduino IDE 编译和上传固件 ✅ 是
LittleFS上传插件 上传SF2文件到内部Flash ▢ 推荐

能力画像

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

所需技能

🔧 **动手能力**:需要基本的电子焊接和接线能力,将ESP32开发板与PCM5102 DAC、SD卡模块等外设连接。 💻 **编程能力**:需要熟悉Arduino IDE环境配置,能够修改`config.h`中的引脚定义和参数,并掌握固件编译和上传流程。 ⚡ **电子电路**:需要理解I2S音频接口、SD_MMC接口和I2C显示接口的基本接线原理。

适用场景

**音乐制作**:作为便携式USB MIDI音源,配合DAW或硬件音序器使用。
**嵌入式音频学习**:学习如何在资源受限的MCU上实现波表合成和音频处理。
**DIY合成器**:制作属于自己的低成本硬件合成器,可加载任意SoundFont音色。
**现场演出**:作为小型、可靠的MIDI采样播放器,用于现场音乐表演。