项目简介
本项目是基于STM32CubeIDE开发的Klatt语音合成器,在STM32F4 Discovery Kit上实现。采用共振峰合成技术,解决了拼接合成因需大量内存而不适用于简单微控制器的问题。该合成器可通过MIDI控制器控制,具备复音模式和共振峰合成模式,能够模拟声道发声。
项目的主要特性和功能
- 具备两种工作模式:复音模式类似普通合成器,支持16音复音,可控制音色;共振峰合成模式通过多个滤波器模拟声道发声。
- 支持MIDI控制:能与任何MIDI控制器兼容,默认适配Arturia Minilab mkii,可通过其旋钮和按键控制合成器参数。
- 实现参数平滑控制:利用信号插值系统,可平滑改变多个参数,部分参数按音频块插值,不影响音质。
- 可进行波形生成:周期性源基于插值的基频生成类似脉冲的波形,非周期性源使用随机数生成白噪声。
- 进行滤波处理:使用共振器和反共振器两种滤波器,根据频率和带宽计算系数,优化计算效率。
- 能处理语音输入:通过MIDI输入选择辅音和元音音素,将其转换为声道模型的参数,实现语音合成。
安装使用步骤
安装
- 确保已安装STM32CubeIDE,可从官网下载。
- 若使用MIDI控制器,确保其正常连接,推荐使用Arturia Minilab mkii。
使用
- 设置:打开STM32CubeIDE,导入项目代码。
- 编译与下载:在STM32CubeIDE中编译项目,将生成的程序下载到STM32F4 Discovery Kit。
- 启动与控制:启动设备,软件默认进入复音模式。可通过STM板上的蓝色按钮在复音模式和共振峰合成模式间切换。在共振峰合成模式下,使用MIDI键盘36 - 43键选择音素,按下43键将当前输入排入队列,按下高于43的MIDI音符即可播放。通过MIDI控制器的旋钮调整各项参数。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】