【发布时间】:2012-02-19 04:52:38
【问题描述】:
我正在寻找一个 C++ 库(适用于 Linux,但最好是跨平台的),它可以让我轻松读取一些普通格式的音频文件,例如原始字节流,生成相同普通格式的音频数据,以及写音频文件。我不在乎阅读和写作的格式是什么,只要它是免费的(啤酒和语音)并且得到普遍支持。我将在一个非常并行的程序中读取、转换和生成许多小的音频剪辑,因此我需要该库是快速且线程安全的。
我想要但不需要的其他功能是简单的 DSP 功能(FFT、过滤器)以及通过声卡进行录制/播放。
谷歌搜索并没有发现任何问题,但也许我使用了错误的搜索词。我几乎只找到了用于记录或播放的应用程序的库,目前还不清楚它们是否有能力从原始字节生成声音,即使它们对我的目的来说似乎有点矫枉过正。我一直在考虑编写自己的库来操作 WAV 文件,因为它们看起来很简单,但如果可以避免的话,我宁愿不重新发明轮子。
【问题讨论】:
-
我知道你说过你想要 C++ 以提高速度,但我建议使用 octave 进行原型设计,然后移植到 C++ 以提高速度gnu.org/software/octave/doc/interpreter/Audio-Processing.html。对于 C++,您可以使用 PortAudio portaudio.com/docs.html
-
@TJD:大部分繁重的处理都将使用遗传算法完成,因此没有太多原型设计可做,而且我认为 octave 不太适合该任务.
-
@Samaursa:我还没有决定这是商业项目还是开源项目,或者只是一个爱好项目......这可能取决于它的成功程度。最好是免费的所有用途许可证。