whatisgithub

What is soundtouch?

rpcs3/soundtouch — explained in plain English

Analysis updated 2026-08-07 · repo last pushed 2026-04-05

4C++Audience · developerComplexity · 2/5MaintainedLicenseSetup · moderate

In one sentence

An open-source C++ audio processing library for independently changing the speed, pitch, and playback rate of audio files. Developers use it to build apps that manipulate audio time or pitch without doing the math from scratch.

Mindmap

mindmap
  root((repo))
    What it does
      Change audio speed
      Change audio pitch
      Change playback rate
    Tech stack
      C++ library
      SoundStretch CLI
      Wrappers for C# Java Delphi
    Use cases
      Music practice apps
      DJ software
      Karaoke tools
      Video editors
    Audience
      Audio app developers
      Embedded systems devs
    Platforms
      Windows Mac Linux
      Android iOS Raspberry Pi

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a music practice app that slows down a track without changing pitch.

USE CASE 2

Create DJ software that shifts pitch independently of playback speed.

USE CASE 3

Develop a karaoke tool that adjusts tempo to match singers.

USE CASE 4

Add lip-synced audio speed changes to a video editor.

What is it built with?

C++SoundStretch CLIC# wrapperJava wrapperDelphi wrapper

How does it compare?

rpcs3/soundtouchaerl-official/aerl-c-frameworkantoxa2584x/shar-psp
Stars444
LanguageC++C++C++
Last pushed2026-04-05
MaintenanceMaintained
Setup difficultymoderateeasyhard
Complexity2/52/55/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Using SoundStretch with a WAV file is quick, but integrating the C++ library into a custom app requires compiling from source or linking a prebuilt library for your platform.

You can use it in your app, including commercially, but you must share modifications to the library itself, a commercial license is available if you need to avoid those conditions.

So what is it?

SoundTouch is an open-source audio processing library that lets you change the speed, pitch, and playback rate of audio independently of one another. Want to speed up a podcast by 15% without making everyone sound like chipmunks? Or shift the pitch of a song down a few steps without turning a four-minute track into a six-minute dirge? That's the kind of thing this handles. Under the hood, it's a toolkit written in C++ that you feed audio through. The classic example included in the project is a command-line app called SoundStretch, where you point it at a WAV file, tell it something like "tempo up 15%, pitch down 3," and it spits out a modified file. As a library, the idea is that developers build it into their own apps rather than end users running it directly, though anyone can grab the prebuilt SoundStretch app for Windows or Mac to tinker with WAV files. The people who'd reach for this are developers building things like music practice apps (slow down a track without changing pitch), DJ software, karaoke tools, or video editors that need lip-synced audio at different speeds. It's the kind of behind-the-scenes component you'd use when your product needs to manipulate audio time or pitch and you don't want to build the math from scratch. What stands out is the platform coverage. Because it's straight C++, it runs practically anywhere: Windows, Mac, Linux, Android, iOS, and embedded systems like Raspberry Pi. There are also wrapper modules for C#, Java, and Delphi, so it's not limited to C++ projects. The licensing is LGPL v2.1, which means you can use it in your app even commercially, with some conditions, and a commercial license is available if you need to avoid those entirely.

Copy-paste prompts

Prompt 1
I have a WAV file and want to speed it up by 15% without changing the pitch. How do I use the SoundStretch command-line tool to do this?
Prompt 2
I'm building a C++ music app and want to integrate SoundTouch to let users slow down audio without changing pitch. How do I include and initialize the library in my project?
Prompt 3
How do I use the SoundTouch Java wrapper to process audio in an Android app that changes playback tempo?
Prompt 4
I need to shift the pitch of an audio stream down 3 semitones in real time using SoundTouch. What API calls do I need to make?

Frequently asked questions

What is soundtouch?

An open-source C++ audio processing library for independently changing the speed, pitch, and playback rate of audio files. Developers use it to build apps that manipulate audio time or pitch without doing the math from scratch.

What language is soundtouch written in?

Mainly C++. The stack also includes C++, SoundStretch CLI, C# wrapper.

Is soundtouch actively maintained?

Maintained — commit in last 6 months (last push 2026-04-05).

What license does soundtouch use?

You can use it in your app, including commercially, but you must share modifications to the library itself, a commercial license is available if you need to avoid those conditions.

How hard is soundtouch to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is soundtouch for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.