ESP32 SoundFont 采样合成器 ESP32_SF2_Sampler_Synthesizer

ESP32 1/5 已发布
copych 31 Stars MIT BOM 完整度: 0/5 教程完整度: 0/5
ESP32 SoundFont 采样合成器

项目简介

基于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**:使用旋转编码器和按钮进行导航。

技术规格

主控芯片 ESP32-S3 / ESP32-P4(需PSRAM)
音频输出 外部I2S DAC(如PCM5102)
MIDI输入 USB MIDI(通过MCU内置USB)
文件系统 LittleFS(内部Flash) / SD_MMC(SD卡)
效果器 混响、合唱、延迟(通过MIDI CC控制)
滤波器 每音色/每通道低通滤波器
兼容性 GM兼容,部分GS/XG
GUI(可选) OLED显示屏 + 旋转编码器 + 按钮

项目资源

物料清单 (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通信

能力画像

⚪ 记忆与知识检索: 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采样播放器,用于现场音乐表演。