Change the pace (speed) of sound

I want to change the tempo of the stereo audio stream in real time - the sound is loaded from the file, and the buffer should not exceed 1 second. I tried SoundTouch ( http://www.surina.net/soundtouch/ ), but the quality at a lower pace is very poor. Now I am looking for alternative means to stretch the audio signal. One method, implemented in Audacity, which gives very good results, is based on the "sine modeling subzone", but it is very slow.

Then there is the Rubber Band Audio processor library ( http://breakfastquay.com/rubberband ) and Dirac ( http://www.dspdimension.com/technology-licensing/dirac/ ), which are commercial / GPL and not fully compatible with cross platform.

Can you recommend me algorithms and / or libraries that meet the following criteria:

  • Cross-platform compatibility (e.g. iOS, Android, Windows, Linux, MacOS)
  • Suitable for real-time processing as described above.
  • Better quality than the time stretch method used in the SoundTouch library.
  • Change the tempo without affecting the pitch
+4
source share
1 answer

Take a look at the BASS Audio Library http://www.un4seen.com/bass.html and its companion BASS FX Extension

BASS is an audio library for use in software on multiple platforms. Its goal is to provide developers with powerful and effective samples, streams (MP3, MP2, MP1, OGG, WAV, AIFF, custom generated ones and much more using OS codecs and add-ons), MOD music (XM, IT, S3M, MOD, MTM , UMX), music MO3 (MP3 / OGG compressed MOD) and recording functions. Everything is in a compact DLL that does not inflate your distribution.

BASS is available for Win32, Win64, MacOS, Linux, WinCE, iOS, Android, and ARM Linux platforms.

The BASS FX plug-in extension provides several effects, including reverse playback and tempo and step control.

+2
source

All Articles