我想知道推荐使用哪个音频库?
我正在试图制作一个小程序,以帮助调音乐器(钢琴、吉他等)。我已经阅读了有关ALSA和Marsyas音频库的文章。
我的想法是从麦克风中采样数据,对5-10ms的块进行分析(根据我所读的)。然后执行FFT以确定哪个频率包含最大的峰值。
我想知道推荐使用哪个音频库?
我正在试图制作一个小程序,以帮助调音乐器(钢琴、吉他等)。我已经阅读了有关ALSA和Marsyas音频库的文章。
我的想法是从麦克风中采样数据,对5-10ms的块进行分析(根据我所读的)。然后执行FFT以确定哪个频率包含最大的峰值。
这个指南应该会对你有所帮助。不要在你的应用中使用ALSA,而是使用更高级别的API。如果你决定使用JACK,http://jackaudio.org/applications中有三个乐器调音器可以用作示例代码。
http://clam-project.org/ CLAM是一个完整的软件框架,用于音频和音乐领域的研究和应用开发。它提供了概念模型以及用于分析、合成和处理音频信号的工具。
他们有一个很棒的API,漂亮的GUI和一些完成的应用程序,你可以在这些应用程序中看到所有内容。
由于内核驱动程序被包含在内核中,而OSS已经过时,因此ALSA现在是Linux的默认标准。但是,有一些替代ALSA用户空间的选择,比如jack,它似乎专注于低延迟的专业应用程序。它的API看起来更好,尽管我没有使用过,但我对ALSA API的简要了解使我认为几乎任何东西都会更好。