Installation¶
Step 1: Install Python 3.11+¶
The preprocessor requires Python 3.11 or later.
Verify your version:
Step 2: Install ffmpeg¶
Used for audio normalization, sample-rate conversion, and format conversion.
Verify it's available:
Step 3: Install pip¶
Comes bundled with Python 3.11+. If missing:
Step 4: Clone and install the preprocessor¶
This installs everything needed for the default processing pipeline: stem discovery, naming, sample-rate conversion, silence trimming, BPM detection, grid alignment, MIDI cleanup, and report generation.
Optional extras¶
TUI (interactive terminal interface)¶
Adds a point-and-click terminal UI for browsing projects, toggling options, and running the pipeline.
Installs Textual automatically.
Stem separation (CPU)¶
Adds AI-powered stem separation via Demucs (Meta) and UVR (Ultimate Vocal Remover).
Install PyTorch first
The separation extras depend on PyTorch for inference. You must install PyTorch before installing the separation extras.
Stem separation (NVIDIA GPU)¶
CUDA acceleration significantly speeds up stem separation. Requires an NVIDIA GPU with CUDA support.
Tip
Visit pytorch.org/get-started to find the install command matching your platform and CUDA version.
Everything at once¶
Verify the installation¶
Updating¶
Uninstalling¶
Dependency reference¶
| Package | Role |
|---|---|
| librosa | BPM detection, onset analysis, section detection |
| pretty_midi | MIDI reading, writing, and cleanup |
| soundfile | Audio metadata probing |
| scipy | Signal processing for feature analysis |
| ffmpeg | Audio normalization and format conversion (external) |
| rich | Terminal output formatting |
| typer | CLI framework |
| pydantic | Data models and serialization |
| textual | TUI (optional — .[tui]) |
| demucs | AI stem separation — Meta's model (optional — .[separation]) |
| audio-separator | UVR stem separation backend (optional — .[separation]) |
| onnxruntime / onnxruntime-gpu | ONNX inference for UVR models (optional) |
| PyTorch | Neural network inference for Demucs (install separately before separation extras) |