改变音频的节奏(速度)

4
我想实时改变立体声音频流的节奏 - 音频是从文件中加载的,缓冲区不应超过1秒。 我尝试了SoundTouch(http://www.surina.net/soundtouch/),但减慢节奏时质量非常差。 现在我正在寻找其他方法来拉伸音频信号。 Audacity中实现的一种方法基于“子带正弦建模”,可以产生非常好的结果,但速度非常慢。
还有Rubber Band音频处理库(http://breakfastquay.com/rubberband)和Dirac (http://www.dspdimension.com/technology-licensing/dirac/),它们都是商业/GPL,并且不完全跨平台兼容。
你可以推荐符合以下标准的算法和/或库吗?:
  • 跨平台兼容(例如iOS、Android、Windows、Linux、MacOS)
  • 适用于如上所述的实时处理
  • 比SoundTouch库中使用的时间拉伸方法更好的质量
  • 改变节奏而不影响音调
1个回答

2
请看BASS音频库 http://www.un4seen.com/bass.html及其扩展BASS FX插件
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插件扩展提供了多种效果,包括倒放播放、节奏和音调控制等。

我以前从未听说过BASS,但它给我留下了非常好的印象! - danijar
我尝试了一个使用Bass库(以及它的pitch/tempo插件)的示例应用程序(http://audiops.codeplex.com/),结果听起来与SoundTouch库相似。 - Hyndrix
免费的东西很难找到更好的。 - Kieren Johnstone
而且没有专门的硬件。 - PA.
我的问题不在于Dirac不是免费软件,而是它不完全独立于平台。所有其他剩余库的质量似乎非常接近(所有使用的可能都是SOLA/WSOLA)。 - Hyndrix
我在最初的帖子中提到的 Rubber Band 音频处理库似乎也适用于 Android 和 iOS,并提供更好的时间拉伸功能。我会仔细研究一下这个库。 - Hyndrix

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接