繁体   English   中英

用于音频插件的C ++音频库?

[英]Audio library for C++ for audio plugins?

我有兴趣创建音频插件,例如压缩器或合成器VST插件。 虽然我想从一个像失真插件这样简单的东西开始。

而且我以为我会用它来使用C ++。

我想知道哪个音频库适合这种情况?

我的灵感是Sonalksis压缩器和Reason的Mälstrom。

我建议你看看以下资源:

  • Faust从dsp进程的高级描述生成C ++代码(以及其他语言)。 它可以输出使用许多音频API和GUI库的代码。
  • Juce @SSteve已经提到过一个跨平台的C ++库,专注于音频应用程序。
  • STK是一个独立于平台的声音合成库和一些DSP。
  • 如果您能够获得音频编程手册 ,那就去做吧!
  • 另一个选择是使用PD描述您的DSP过程,然后使用LibPD将其嵌入到您的C ++程序中。 我这样做是为嵌入式设备上运行一个音乐节目,你可以看到一个完整的教程这里和代码在这里
  • RTAudioRTMidi对我也很有帮助。
  • 关于C ++中的音频编程的另一个棘手问题是线程间通信。 我建议你读这个

Juce不是一个糟糕的开始。

以下是一些可能感兴趣的内容:

  1. WDL / iPlug,Oli Larkin Edition :这个在Cockos论坛帖子中有很多用户贡献的例程和控件(非常长的线程)。 但是,如果您检查问题,您会发现RTAS / AAX插件在PT上存在稳定性问题; 与互斥量有关。 它拥有很多用它制作的插件。
  2. RackAFX :这个为您创建项目模板,并允许您定义GUI元素。 在Win32 C ++中,DSP完全取决于您,但它为GUI创建了一些处理代码。 一旦编译了你的插件,它还有一个表单设计器,允许你配置和重新安排GUI元素。 但是,它不支持AAX / RTAS插件。
  3. SynthEdit :也许不是你期望在C ++列表中找到的,但我相信它可以发出C ++代码 - 用于修改或学习。 是的,它确实做音频插件,而不仅仅是乐器。
  4. “用于数字信号处理的有用C ++类的集合”是另一个实现了许多有用技术,并且依赖于C ++模板的方法。 但公平的警告:它自己的程序员认为它的类库难以阅读,而且设计可怕。
  5. 最后, STK作者声称CLAM,Csound和SndObj目前也是受支持的工具包。 Csound是它自己的语言,但CLAM和SndObj有C ++库。 不过,我对他们了解不多。

BTW:Faust看起来很有趣,但它的网站目前是一个存根,例如没有下载。 但是,它的SourceForge页面已启动。 在不利方面,我不认为它没有第三方黑客支持VST3。 从好的方面来说,它是为数不多的支持Linux插件的产品之一。 FWIW:JUCE仅针对一个插件为商业许可收取了大量费用,而对于2个以上商业插件的许可则收取更多费用。 如果插头只适合你,或者是非营利性的,它会正常工作。 它是这里提到的支持AAX和RTAS的少数几个之一。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM