littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于C++的SoundFont2采样合成器

项目简介

Mezzo是一款用C++编写的应用程序,可在Raspberry Pi 2或3上运行。它是“即开即用”的,能让Raspberry Pi 2/3设备与MIDI控制器永久连接,启动时自动运行,无需屏幕、鼠标或键盘。此项目致力于构建高性能、低延迟的SoundFont2采样合成器,专注音频合成,提供高质量音频输出体验。

项目的主要特性和功能

  1. 高复音数:支持多达620个声音同时播放,数量因可用资源和SoundFont预设功能而有所不同。
  2. 低延迟:音频延迟低于6毫秒,保证音乐演奏实时准确。
  3. 音频效果处理:有基于FreeVerb算法的代数混响滤波器,7波段数字输出均衡器正在开发中。
  4. 优化性能:针对Raspberry Pi用ARM NEON指令集、针对Intel处理器用SSE指令集高度优化。
  5. 多线程应用:充分利用硬件线程优化音频数据处理。
  6. 控制台应用:无图形界面,减少资源占用,可通过交互式文本菜单或MIDI键盘控制器控制。
  7. MIDI通道监听控制:支持监听控制MIDI通道。
  8. 开源免费:遵循简化BSD许可证,用户可自由使用。

安装使用步骤

安装依赖库

在Raspberry Pi上,以pi用户登录后,在终端执行以下命令安装所需包: bash sudo apt-get update sudo apt-get upgrade sudo apt-get install git librtmidi-dev libportaudio-dev libboost1.62-all-dev libasound2-dev

编译项目

执行以下命令获取并编译Mezzo: bash cd mezzo make 编译完成后,会在bin/mezzo生成二进制文件。

配置项目

需要一个采样库,可从[http://www.synthfont.com/links_to_soundfonts.html]或[https://sites.google.com/site/soundfonts4u/]获取免费采样库,仅支持SF2格式文件。 将配置文件复制到用户主目录: bash cp ~/mezzo/mezzo.conf ~/.mezzo.conf 然后根据喜好调整.mezzo.conf文件中的参数,尤其要指定启动时加载的SoundFont库文件(文件名通常以.sf2结尾)。

运行项目

编译成功后,运行生成的Mezzo二进制文件,通过键盘输入进行交互,或使用MIDI控制器进行控制。 注意:实际使用时,可能需根据自身系统环境和配置进行适当调整。

下载地址

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