Skip to content

victorhahn/Woodshed

Repository files navigation

Woodshed

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.

Current V1 Surface

  • 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 + ffmpeg audio extraction into the same library format.
  • meta.json, chart.md, and audio/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.

Development

Install dependencies:

npm install

Run the browser development surface:

npm run dev

Run the desktop app after installing Rust/Tauri prerequisites:

npm run tauri dev

Bass 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 test

Rust is required for npm run tauri dev and native Tauri builds. The frontend and unit tests can be developed with Node alone.

About

Woodshed is a local-first desktop practice workstation for working musicians with stem splitting

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors