SoundTouch

.

Do you like SoundTouch? Are you using SoundTouch library for a commercial application? 

Then you may wish to support the development effort by making a donation!

SoundTouch Audio Processing Library


About the SoundTouch library

The SoundTouch Library Copyright © Olli Parviainen 2001-2005

SoundTouch is an open-source audio processing library for changing the Tempo, Pitch and Playback Rates of audio streams or files:

  • Tempo (time-stretch): Changes the sound to play at faster or slower speed than original, without affecting the sound pitch.
  • Pitch (key) : Changes the sound pitch or key, without affecting the sound tempo or speed.
  • Playback Rate : Changes both the sound tempo and pitch, as if an LP disc was played at wrong RPM rate.

See here for example sound clips of each control mode!

The SoundTouch library is suited for application developers writing sound processing tools that require tempo/pitch control functionality, or just for playing around with the sound effects -- See here for a list of applications that use SoundTouch library!

The SoundTouch library source kit includes also an example utility SoundStretch that allows processing .wav audio files with command-line interface.


SoundTouch library Features

  • Easy-to-use implementation of time-stretch, pitch-shift and sample rate transposing routines.
  • High-performance object-oriented C++ implementation.
  • Full source codes available for both the SoundTouch library and the example application.
  • Clear and easy-to-use programming interface via a single C++ class.
  • Supported audio data format : 16Bit integer or 32bit floating point PCM mono/stereo
  • Capable of real-time audio stream processing:
    • input/output latency max. ~ 100 ms.
    • Processing 44.1kHz/16bit stereo sound in realtime requires a 133 Mhz Intel Pentium processor or better.
  • Platform-independent implementation: The SoundTouch library can be compiled for any processor and OS platform supporting GNU C compiler (gcc) or Visual Studio, for example Win32, Linux, AIX.
  • Additional assembler-level and Intel-MMX instruction set optimizations for Intel x86 compatible processors (Win32 & Linux platforms), offering several times increase in the processing performance.
  • Compiled executable binaries available for Windows.
  • Released under the GNU Lesser General Public License (LGPL).

Download

Download Executable Binaries

Click the title to download SoundStretch executable files:

  • Win32 - for Windows 95,98,ME,NT4, 2000,XP [SoundStretch v1.3.1, 19-Mar-2006, 55 kbytes zip file]
  • Mac OSX - for Mac OS X and Darwin, won't work with classic OS. [SoundStretch v1.3.0, 10-Feb-2005, 47 kbytes tgz file]

    WARNING: This is a non-typical Mac application in the sense that it doesn't have a graphical user interface, but a plain text-based command interface only. In case of allergic rejection reaction please apply ice bags and hydrocortisone salve to blisters ;)

 

Download Source Code

Latest development version of SoundTouch source codes are available online in a Subversion repository.

You can also download source code snapshot for SoundTouch library version 1.3.1 here [19-Mar-2006]:

These packages include:

  • Full source codes for the SoundTouch library & the SoundStretch example utility released under LGPL license.
  • Makefiles for building the library & the example utility from source codes for any platform supporting Visual C++ or GNU C compiler.

Browse the SoundTouch library README file online here.

See here for older versions of the SoundTouch library.


License

The SoundTouch library is open-source software and is released under the GNU Lesser General Public License (LGPL). The library can be further distributed and used in other applications subject to the LGPL license terms.


Contact Information

See the author personal information page for contact information.

SoundTouch WWW page: http://www.surina.net/soundtouch

 


Copyright © Olli Parviainen 2008