A collaborative band recording and mixing plugin for Slopsmith. Record individual parts against a song, layer takes, mix with per-track effects, and export a final mix.
- Record on Highway — record your guitar/bass while playing along with the Slopsmith note highway. The recording overlay shows input level metering, and you control playback with the highway's own transport. Pre-play silence is automatically trimmed and clock drift is corrected server-side.
- Record in Mixer — record directly within the mixer view with Web Audio API playback of all tracks.
- Punch-in Recording — set in/out points on the timeline, then re-record just that section. The new performance is spliced into the existing track, preserving everything before and after.
- Input Gain — adjustable input level (0-300%) applied server-side via ffmpeg so the raw mic stream stays drift-free.
- Automatic Drift Correction — the server compares the recording duration against the song's playback clock and applies tempo correction for drift >0.05%.
- Custom Channels — add unlimited independent tracks with custom names. Not limited to Lead/Rhythm/Bass — create "Lead Double", "Rhythm L", "Rhythm R", "Acoustic Layer", etc.
- Audio Import — import WAV/MP3/OGG files into any track. Drag and drop or browse. Useful for vocals recorded on a phone, keyboard parts from another DAW, etc.
- Inline Rename — double-click any track name to rename it.
- Track Color Coding — each track has a color (auto-assigned by instrument type, or pick from a 24-color palette). Colors tint the waveform and show as a left border.
- Multiple Takes — record as many takes as you want per track. Each is independent with its own mix settings.
- Volume (0-150%) and Pan (-100 to +100)
- Mute and Solo toggles
- Time Offset (ms) — shift a track forward or backward to fine-tune sync
- Fade In / Fade Out (ms) — smooth volume ramps at track edges, visualized as gradient overlays on the waveform
Each track has three effects rendered as clickable effect rack unit images. Click to open a popup with interactive SVG rotary knobs.
- Parametric EQ — 3-band: Low shelf (200Hz), Mid peak (1kHz), High shelf (4kHz). Range: -12dB to +12dB per band.
- Compressor — Threshold (-60 to 0dB), Ratio (1:1 to 20:1), Attack (1-100ms), Release (10-1000ms). Bypassed when ratio is 1:1.
- Reverb Send — per-track send level (0-100%) to a shared convolution reverb bus with a generated 2-second room impulse response.
Knob interaction: drag up/down, mouse wheel for fine-tune, double-click to reset to default. All changes apply in real-time during playback.
- Master Volume (0-200%)
- Master Limiter — hard limiter at 0dBFS (toggle on/off)
- Level Meter — real-time peak meter (green/yellow/red)
Track Source
-> EQ (Low Shelf -> Mid Peak -> High Shelf)
-> [Reverb Send -> Convolution Reverb -> Reverb Gain] -+
-> Compressor |
-> Track Gain -> Pan --------------------------------->+
|
Master Gain -> Limiter -> Output
- Waveform Display — per-track canvas waveforms tinted with the track color, normalized to the session duration so all tracks align visually.
- Zoom & Scroll — zoom in/out (+/- buttons, Ctrl+scroll wheel), horizontal scroll bar, auto-scroll follows the playhead during playback.
- Markers — named points on the timeline (Verse, Chorus, Solo, etc.). Click to seek. Add manually or import from the song's custom song section metadata. Shown as vertical lines on all waveforms.
- Seek — click anywhere on a waveform to seek, or use the transport seek bar.
Integrates with slopsmith-demucs-server for AI-powered source separation. The demucs service runs on a desktop with GPU/RAM while Slopsmith runs on a NAS or Docker host.
- Extract Drums — isolate the drum track from the original song audio
- Extract All Stems — separate into drums, bass, vocals, and other
- Uses the
htdemucs_ftmodel with--shifts 2for high-quality separation - Stems are cached — subsequent extractions are instant
- Configure the Demucs server URL and API key in the settings panel
- Create Session — pick a song from your Slopsmith library, name the session
- Session List — all sessions with track counts and creation dates
- Practice — open the song on the highway to practice before recording
- Delete — remove a session and all its recordings
- Server-side Mix — all active tracks mixed with ffmpeg applying volume, pan, EQ, compressor, fades, time offsets, reverb, and master bus processing
- Format — MP3 (192kbps) or WAV
- Download Link — direct link to the exported file
- Ctrl+Z / Ctrl+Y — undo and redo all mix parameter changes
- Toolbar buttons with visual state (grayed when empty)
- Debounced snapshots for slider changes, immediate capture for toggles
- Up to 50 undo steps per session
plugin.json — plugin manifest
routes.py — FastAPI backend (SQLite, ffmpeg processing, file management)
screen.html — mixer and session list UI
screen.js — Web Audio API playback, recording, waveform rendering, effects
studio_sessions— session metadata, master volume/limiter settingsstudio_tracks— track metadata, audio file paths, custom names, colors, sort orderstudio_mix_settings— per-track volume, pan, mute, solo, offset, fades, EQ, compressor, reverb sendstudio_markers— named timeline markers
Recordings and stems are stored in {CONFIG_DIR}/studio/{session_id}/. Uploaded webm recordings are converted to WAV server-side for reliable duration metadata and browser compatibility.
- ffmpeg/ffprobe — audio conversion, drift correction, gain, trimming, mix export
- Web Audio API — client-side playback with real-time effects (BiquadFilter, DynamicsCompressor, ConvolverNode, StereoPanner, GainNode)
- MediaRecorder API — browser-based audio capture
The Demucs separation service runs separately (e.g. on a desktop with GPU):
git clone https://github.com/byrongamatos/slopsmith-demucs-server.git
cd slopsmith-demucs-server
python -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/python server.py --port 7865Or install as a systemd service:
sudo cp slopsmith-demucs.service /etc/systemd/system/
sudo systemctl enable --now slopsmith-demucsConfigure the server URL in the Studio plugin's Demucs Settings panel.
Copy the plugin files into your Slopsmith plugins directory:
cp -r slopsmith-plugin-studio/ path/to/slopsmith/plugins/studio/Restart Slopsmith. The "Studio" entry appears in the navigation menu.
