改变音频的节奏(速度)

Changing tempo (speed) of audio

本文关键字:速度 节奏 音频 改变      更新时间:2023-10-16

我想在接近实时的情况下改变立体声音频流的速度-音频是从文件加载的,缓冲区不应该超过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音频库 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压缩MODs)和录音功能。所有这些都在一个紧凑的DLL中,不会使您的发行版膨胀。

BASS适用于Win32、Win64、MacOS、Linux、WinCE、iOS、Android和ARM Linux平台。

BASS FX插件扩展提供了几种效果,包括反向播放和节奏&音调控制。