Skip to content

Installation

Step 1: Install Python 3.11+

The preprocessor requires Python 3.11 or later.

brew install python@3.12
sudo apt update && sudo apt install python3.12 python3.12-venv python3-pip

Download the installer from python.org and check "Add Python to PATH" during setup. Or use winget:

winget install Python.Python.3.12

Verify your version:

python3 --version   # should print 3.11.x or later

Step 2: Install ffmpeg

Used for audio normalization, sample-rate conversion, and format conversion.

brew install ffmpeg
sudo apt update && sudo apt install ffmpeg
winget install Gyan.FFmpeg

Or download from ffmpeg.org and add to PATH.

Verify it's available:

ffmpeg -version

Step 3: Install pip

Comes bundled with Python 3.11+. If missing:

python3 -m ensurepip --upgrade

Step 4: Clone and install the preprocessor

git clone https://github.com/steven-ahfu/suno-to-ableton.git
cd suno-to-ableton

# Create a virtual environment (recommended)
python3 -m venv .venv
source .venv/bin/activate   # macOS/Linux
# .venv\Scripts\activate    # Windows

# Install the core package
pip install -e .

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.

pip install -e '.[tui]'

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.

1
2
3
4
5
# 1. Install PyTorch (CPU-only)
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cpu

# 2. Install separation extras
pip install -e '.[separation]'

Stem separation (NVIDIA GPU)

CUDA acceleration significantly speeds up stem separation. Requires an NVIDIA GPU with CUDA support.

1
2
3
4
5
# 1. Install PyTorch with CUDA 12.1 support
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu121

# 2. Install GPU separation extras
pip install -e '.[separation-gpu]'

Tip

Visit pytorch.org/get-started to find the install command matching your platform and CUDA version.

Everything at once

pip install torch torchaudio --index-url https://download.pytorch.org/whl/cpu
pip install -e '.[tui,separation]'
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu121
pip install -e '.[tui,separation-gpu]'

Verify the installation

1
2
3
4
5
6
7
8
# Should print usage info
suno-to-ableton --help

# Check ffmpeg
ffmpeg -version

# (Optional) Check PyTorch — only needed for stem separation
python3 -c "import torch; print(f'PyTorch {torch.__version__}, CUDA: {torch.cuda.is_available()}')"

Updating

1
2
3
cd suno-to-ableton
git pull
pip install -e .

Uninstalling

pip uninstall suno-to-ableton

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)