我希望在线/现场处理音频,在那里我不断地从音频文件中读取音频样本,处理这些音频样本(例如,应用某种效果),并将处理后的样本转发到音频输出设备,如声卡。输入文件具有通用格式,如wav、mp3,甚至ogg。
是否有一个类似libav/ffmpeg的库用于音频文件,它简化了各种音频格式的读取,并为我提供了源源不断的原始音频示例?还是对每种格式使用单个库的最佳解决方案?库应该是c/c++和交叉平台兼容(Mac,Win,Linux,ARM)。
编辑感谢所有答案。我已经评估了所有的库,并得出结论,最好还是坚持使用libav/ffmpeg,因为大多数库都要求ffmpeg作为后端。
发布于 2012-10-16 13:54:21
看看朱斯。这是一个大型的图书馆,已经被用来开发VST音频插件的音乐软件。有很多东西你不需要在那里,但我认为你可以选择,只有音频部分,包括在你的构建。AudioFormatReader及其相关类可以读取文件,还有一些类用于输出到声卡。还有很多其他的音频处理工具。这是GPL许可的跨平台,而且他们声称支持实验性的Android。我还没有把它用于一个项目,但我正在等待灵感!
发布于 2012-10-16 13:56:36
我可以为跨平台音频I/O推荐RtAudio或PortAudio。对于音频解码,您可能想看看libsndfile或利伯提译码器。
发布于 2012-10-16 14:02:36
我想看看libSDL,它有一个音频子系统,它是为做类似的事情而构建的,并处理ogg、mp3、flac、wav等等。
https://stackoverflow.com/questions/12915892
复制相似问题