QPitch is a JUCE pitch-correction audio plugin with VST3 and CLAP builds.
No bullshit, just a quick, easy to use auto-tuning plugin with formant preservation.
Detects the main frequency -> maps to midi -> pitch shifts -> corrects formants.
- CMake 3.21+
- A C++17 compiler
- Git, for cloning submodules and optional CMake dependency fetching
- Runtime optional: Rubber Band Library (
librubberband) for the higher-quality live pitch shifter. If it is not installed, QPitch falls back to its built-in phase-vocoder shifter.
Linux build packages vary by distro. On Ubuntu/Debian, start with:
sudo apt install build-essential cmake git pkg-config libx11-dev libxext-dev libxinerama-dev libxrandr-dev libxcursor-dev libfreetype-dev libfontconfig1-devOptional Rubber Band runtime:
sudo apt install librubberband2Clone with submodules so JUCE is available locally:
git clone --recurse-submodules https://github.com/Skynse/qpitch.git
cd qpitchIf you already cloned without submodules:
git submodule update --init --recursiveThen build:
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --target QPitch_VST3 QPitch_CLAP -jOr with the included preset:
cmake --preset release
cmake --build --preset releaseBuild outputs:
- VST3:
build/QPitch_artefacts/Release/VST3/QPitch.vst3 - CLAP:
build/QPitch_artefacts/Release/CLAP/QPitch.clap
JUCE is vendored as a Git submodule at JUCE/. clap-juce-extensions is fetched by CMake automatically unless a local clap-juce-extensions/ folder is present.
For a fully offline build, also vendor a compatible copy of:
clap-juce-extensions/including itsclap-libs/clapandclap-libs/clap-helperssubfolders
Then configure with dependency fetching disabled:
cmake -S . -B build -DQPITCH_FETCH_DEPS=OFF -DCMAKE_BUILD_TYPE=Release
cmake --build build --target QPitch_CLAP -jQPitch dynamically loads Rubber Band at runtime on Linux/macOS. This keeps builds simple and lets the plugin run without bundling Rubber Band, but the best sound quality expects the runtime library to be installed on the user machine.
GitHub Releases are created by the release workflow. Push a version tag:
git tag v1.2.0
git push origin v1.2.0The workflow builds Linux, macOS, and Windows VST3/CLAP packages and uploads:
QPitch-<version>-linux-vst3.zipQPitch-<version>-linux-clap.zipQPitch-<version>-macos-universal-vst3.zipQPitch-<version>-macos-universal-clap.zipQPitch-<version>-windows-vst3.zipQPitch-<version>-windows-clap.zip
You can also run the release workflow manually from GitHub Actions and provide a version like v1.2.0.
