Stemperator
AI-powered stem separation VST plugin using Demucs/Spleeter
Install / Use
/learn @flarkflarkflark/StemperatorREADME
STEMperator (REAPER scripts)
AI-powered stem separation for REAPER

STEMperator uses AI (Demucs/HTDemucs) to separate audio into individual stems. This repo focuses on REAPER scripts (via ReaPack). The former plugin/standalone is developed separately as STEMdropper; historical JUCE/VST files live in legacy/.
Why STEMperator?
Stay in your DAW. No more exporting, switching to external tools, and re-importing.

STEMperator integrates directly into REAPER, letting you:
- Process time selections - Select a 4-bar section and extract just the drums from that part
- Edit in place - Replace a media item with its separated stems instantly
- Work non-destructively - Original files are preserved, stems are created alongside
- Be surgical - Found a sample with an unwanted vocal bleed? Extract only what you need
- Stay creative - Remix, mashup, or repair audio without leaving your project
Real-World Workflows
| Scenario | Traditional Approach | With STEMperator | |----------|---------------------|------------------| | Remove vocal from a loop | Export → External tool → Re-import → Align | Select item → Karaoke → Done | | Extract drums from reference track | Export → Separate → Import 4 files → Create tracks | Select → All Stems → Auto-routed tracks | | Fix a sample with unwanted bass | Find alternate sample or EQ compromise | Select → Bass Only → Delete original bass | | Create acapella from full mix | External software, manual export/import | Select → Vocals Only → New track | | Isolate guitar solo for analysis | Complex EQ/phase tricks | Select region → Guitar Only |
Quick Start (REAPER)
-
Install AI Backend (one time, ~5 minutes):
Windows (PowerShell as Admin):
# Download and run installer Invoke-WebRequest -Uri "https://raw.githubusercontent.com/flarkflarkflark/Stemperator/main/scripts/install.ps1" -OutFile install.ps1 .\install.ps1macOS/Linux (Terminal):
curl -sSL https://raw.githubusercontent.com/flarkflarkflark/Stemperator/main/scripts/install.sh | bash -
Install REAPER Scripts:
- Open REAPER → Extensions → ReaPack → Import repositories
- Paste:
https://raw.githubusercontent.com/flarkflarkflark/Stemperator/main/scripts/reaper/index.xml - Extensions → ReaPack → Browse packages → Search "STEMperator" → Install
-
Verify Setup:
- Actions → Run: "STEMperator: Installation & Setup"
- Should show all green checkmarks ✓
-
Use It:
- Select audio item → Actions → "STEMperator: AI Stem Separation"
Features
Stem Types
| Model | Stems | Best For | |-------|-------|----------| | htdemucs (4-stem) | Vocals, Drums, Bass, Other | Fast, general use | | htdemucs_ft (4-stem) | Vocals, Drums, Bass, Other | Highest quality | | htdemucs_6s (6-stem) | Vocals, Drums, Bass, Other, Guitar, Piano | Detailed separation |

Flexible Input Selection
STEMperator works with whatever you have selected:

| Selection Type | What Gets Processed | |----------------|---------------------| | Media item(s) | Full item(s) - stems replace or appear alongside original | | Time selection | Only the selected time range - perfect for surgical edits | | Time selection + item | Intersection of both - maximum precision |
This means you can:
- Process an entire song by selecting the media item
- Extract stems from just a chorus by making a time selection
- Work on a specific 2-bar section without affecting the rest
REAPER Scripts

| Script | Description | |--------|-------------| | STEMperator: AI Stem Separation | Main dialog - full control over model, stems, and options | | STEMperator: Karaoke | One-click vocal removal (keeps drums, bass, other) | | STEMperator: Vocals Only | Extract vocals to new track | | STEMperator: Drums Only | Extract drums to new track | | STEMperator: Bass Only | Extract bass to new track | | STEMperator: All Stems | Extract all stems to separate tracks | | STEMperator: Explode Stems | Route stems to individual tracks | | STEMperator: Setup Toolbar | Add quick-access toolbar buttons |

Keyboard Shortcuts (in dialog)
1-6- Toggle stemsK- Karaoke presetI- Instrumental presetA- All stemsEnter- Start separationEsc- Cancel
Installation Details
Requirements
- Python 3.9+ (3.10-3.12 recommended)
- ffmpeg (for audio conversion)
- ~2GB disk space (for AI models)
Automatic Installation
The install scripts automatically:
- Find or install Python
- Create isolated virtual environment
- Install PyTorch with GPU support (if available)
- Install audio-separator package
- Pre-download AI models
GPU Acceleration
| GPU | Support | Speed Improvement | |-----|---------|-------------------| | NVIDIA (CUDA) | ✓ Full | 10-20x faster | | AMD (ROCm) | ✓ Linux only | 10-15x faster | | Apple Silicon (MPS) | ✓ Native | 5-10x faster | | Intel/AMD (CPU) | ✓ Fallback | Baseline |
Manual Installation
If automatic installation fails:
Windows:
python -m pip install audio-separator[gpu]
winget install Gyan.FFmpeg
macOS:
pip3 install audio-separator[gpu]
brew install ffmpeg
Linux (Ubuntu/Debian):
pip3 install audio-separator[gpu]
sudo apt install ffmpeg
Linux (Arch):
pip install audio-separator[gpu]
sudo pacman -S ffmpeg
Legacy plugin/standalone
The VST3/standalone implementation has moved to the STEMdropper project. Historical JUCE/VST code and resources remain in legacy/ for reference.
Processing Time
| Hardware | 3-minute song | |----------|---------------| | RTX 3080 / RX 6800 | 15-30 seconds | | RTX 2070 / RX 5700 | 30-60 seconds | | Apple M1/M2 | 45-90 seconds | | Modern CPU (8 core) | 2-5 minutes | | Older CPU | 5-15 minutes |
Output

Stems are saved as WAV files alongside your original audio (regardless of input format):
mysong.mp3 # Your original file (mp3, wav, flac, etc.)
mysong_vocals.wav # Stems are always high-quality WAV
mysong_drums.wav
mysong_bass.wav
mysong_other.wav
mysong_guitar.wav # 6-stem only
mysong_piano.wav # 6-stem only
Troubleshooting
"Python not found"
Run the install script for your platform, or install Python 3.10+ manually.
"audio-separator not found"
pip install audio-separator[gpu]
"ffmpeg not found"
- Windows:
winget install Gyan.FFmpeg - macOS:
brew install ffmpeg - Linux:
sudo apt install ffmpegorsudo pacman -S ffmpeg
Slow processing
- Ensure GPU drivers are up to date
- Use
htdemucsmodel (faster thanhtdemucs_ft) - Check GPU is being used (look for CUDA/ROCm/MPS in output)
Out of memory
- Close other GPU-intensive applications
- Try
htdemucsinstead ofhtdemucs_6s - Processing in smaller chunks (time selection)
Credits
- Demucs: Meta AI Research (MIT License)
- audio-separator: Beverly Nguyen (MIT License)
- JUCE: RAL/ROLI (Commercial/GPL)
License
MIT License - see LICENSE
flarkAUDIO - Professional Audio Tools
Related Skills
node-connect
349.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.7kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.7kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
