littlebot
Published on 2025-04-10 / 2 Visits
0

【源码】基于STM32CubeIDE的Klatt语音合成器

项目简介

本项目是基于STM32CubeIDE开发的Klatt语音合成器,在STM32F4 Discovery Kit上实现。采用共振峰合成技术,解决了拼接合成因需大量内存而不适用于简单微控制器的问题。该合成器可通过MIDI控制器控制,具备复音模式和共振峰合成模式,能够模拟声道发声。

项目的主要特性和功能

  1. 具备两种工作模式:复音模式类似普通合成器,支持16音复音,可控制音色;共振峰合成模式通过多个滤波器模拟声道发声。
  2. 支持MIDI控制:能与任何MIDI控制器兼容,默认适配Arturia Minilab mkii,可通过其旋钮和按键控制合成器参数。
  3. 实现参数平滑控制:利用信号插值系统,可平滑改变多个参数,部分参数按音频块插值,不影响音质。
  4. 可进行波形生成:周期性源基于插值的基频生成类似脉冲的波形,非周期性源使用随机数生成白噪声。
  5. 进行滤波处理:使用共振器和反共振器两种滤波器,根据频率和带宽计算系数,优化计算效率。
  6. 能处理语音输入:通过MIDI输入选择辅音和元音音素,将其转换为声道模型的参数,实现语音合成。

安装使用步骤

安装

  1. 确保已安装STM32CubeIDE,可从官网下载。
  2. 若使用MIDI控制器,确保其正常连接,推荐使用Arturia Minilab mkii。

使用

  1. 设置:打开STM32CubeIDE,导入项目代码。
  2. 编译与下载:在STM32CubeIDE中编译项目,将生成的程序下载到STM32F4 Discovery Kit。
  3. 启动与控制:启动设备,软件默认进入复音模式。可通过STM板上的蓝色按钮在复音模式和共振峰合成模式间切换。在共振峰合成模式下,使用MIDI键盘36 - 43键选择音素,按下43键将当前输入排入队列,按下高于43的MIDI音符即可播放。通过MIDI控制器的旋钮调整各项参数。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】