我想近乎实时地改变立体声音频流的速度 – 音频从文件加载,缓冲区不应超过1秒.
我试过SoundTouch(
http://www.surina.net/soundtouch/),但降低速度时的质量非常糟糕.现在我正在寻找时间拉伸音频信号的替代方法.在Audacity中实现的一种产生非常好结果的方法是基于“子带正弦模型”,但它非常慢.
然后是Rubber Band Audio处理器库(http://breakfastquay.com/rubberband)和Dirac(http://www.dspdimension.com/technology-licensing/dirac/),它们都是商业/ GPL,并不是完全跨平台兼容的.
你能推荐我符合以下标准的算法和/或库吗?:
>跨平台兼容(例如iOS,Android,Windows,Linux,MacOS)
>适用于如上所述的实时处理
>比SoundTouch库中使用的时间拉伸方法更好的质量
>速度改变而不影响音高
最佳答案 看看BASS Audio Library
http://www.un4seen.com/bass.html及其配套的BASS FX Extension
BASS是一个音频库,可在多个平台上用于软件.它的目的是为开发人员提供强大而高效的样本,流(MP3,MP2,MP1,OGG,WAV,AIFF,自定义生成,以及更多通过操作系统编解码器和附加组件),MOD音乐(XM,IT,S3M,MOD) ,MTM,UMX),MO3音乐(MP3 / OGG压缩MOD)和录音功能.所有这些都在一个紧凑的DLL中,不会破坏你的发行版.
BASS适用于Win32,Win64,MacOS,Linux,WinCE,iOS,Android和ARM Linux平台.
BASS FX插件扩展提供多种效果,包括反向播放和节奏& amp;音高控制.