Woodshed is a local-first desktop practice workstation for working musicians. V1 focuses on the core loop: import local audio, practice against a waveform with loop and speed controls, and keep an autosaved markdown chart beside the player.
- Tauri + React + TypeScript desktop app scaffold.
- User-selected library folder persisted in app settings.
- Local audio import into one folder per song.
- YouTube import via
yt-dlp+ffmpegaudio extraction into the same library format. meta.json,chart.md, andaudio/original.<ext>per song.- Three-panel studio utility workspace with persisted resizable library/chart panels.
- Canvas waveform, transport, speed control, loop region, and manual section markers.
- CodeMirror markdown chart editor with bracketed section parsing.
- Local Demucs status check and bass-focused stem splitting into
bass.wav/no_bass.wav. - Practice modes for full track, bass removed, and bass solo playback.
- Microphone instrument tuner for quick pitch checks during a session.
Install dependencies:
npm installRun the browser development surface:
npm run devRun the desktop app after installing Rust/Tauri prerequisites:
npm run tauri devBass stem splitting expects a local demucs executable. Woodshed checks common macOS locations
such as /opt/homebrew/bin/demucs, but installing with pipx install demucs or an equivalent
Python environment and restarting the desktop app is the intended path.
YouTube audio import expects local yt-dlp and ffmpeg executables. On macOS, brew install yt-dlp ffmpeg
is the most direct setup; restart the desktop app if Woodshed cannot see new PATH entries.
Run tests:
npm testRust is required for npm run tauri dev and native Tauri builds. The frontend and unit tests can be developed with Node alone.