改变音频的速度(速度)

时间:2013-04-03 11:03:55

标签: c++ audio pitch audio-processing soundtouch

我想近乎实时地改变立体声音频流的速度 - 音频从文件加载,缓冲区不应超过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库中使用的时间拉伸方法更好的质量
  • 速度改变而不影响音高

1 个答案:

答案 0 :(得分:2)

查看 BASS音频库 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 插件扩展提供了多种效果,包括反向播放和速度&音高控制。

相关问题