nightingale-karaoke

nightingale-karaoke — an installable skill for AI agents.

By reason-machines · 1,246 installs

npx skills add reason-machines/trending-skills --skill nightingale-karaoke

Source repository · Upstream listing

Nightingale Karaoke Skill Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection. Nightingale is a self contained, ML powered karaoke application written in Rust (Bevy engine). It scans a local music folder, separates vocals from instrumentals (UVR Karaoke model or Demucs), transcribes lyrics with word level timestamps (WhisperX), and plays back with synchronized highlighting, real time pitch scoring, player profiles, and GPU shader / video backgrounds. Everything — ffmpeg, Python, PyTorch, ML models — is bootstrapped automatically on first launch. Installation Pre built Binary (Recommended) Download the latest release from the [Releases page](https://github.com/rzru/nightingale/releases) for your platform and run it. macOS only — remove quarantine after extracting: Build from Source Prerequisites: Rust 1.85+ (edition 2024) Linux additionally needs: libasound2 dev libudev dev libwayland dev libxkbcommon dev Release Packaging Outputs a .tar.gz (Linux/macOS) or .zip (Windows) ready for distribution. First Launch / Bootstrap On first run, Nightingale downloads and configures: ffmpeg binary uv (Python package manager) Python 3.10 via uv PyTorch + WhisperX + audio separator in a virtual environment UVR Karaoke ONNX model and WhisperX large v3 model This takes 2–10 minutes depending on network speed. A progress screen is shown in app. To force re bootstrap at any time: Bootstrap completion is marked by ~/.nightingale/vendor/.ready . CLI Flags Flag Description setup Force re run of the first launch bootstrap (re downloads vendor deps) Keyboard & Gamepad Controls Navigation Action Keyboard Gamepad Move Arrow keys D pad / Left stick Confirm Enter A (South) Back Escape B (East) / Start Switch panel Tab — Search Type to filter — Playback Action Keyboard Gamepad Pause / Resume Space Start Exit to menu Escape B (East) Toggle guide vocals G — Guide volume up/down + / — Cycle background T — Cycle video flavor F — Toggle microphone M — Next microphone N — Toggle fullscreen F11 — Configuration Main Config Located at ~/.nightingale/config.json . Edit directly or via in app settings. separator options: "uvr" (default, preserves backing vocals) "demucs" background theme options: "plasma" , "aurora" , "waves" , "nebula" , "starfield" , "video" , "source video" video flavor options: "nature" , "underwater" , "space" , "city" , "countryside" Profiles Located at ~/.nightingale/profiles.json : Pixabay Video Backgrounds (Dev) API key is embedded in release builds. For local development, create .env at project root: The release script ( make release.sh ) sources .env automatically. Data Storage Layout Cache keys are blake3 hashes of the source file — re analysis only triggers if the file changes or is manually invalidated. Supported File Formats Audio: .mp3 , .flac , .ogg , .wav , .m4a , .aac , .wma Video: .mp4 , .mkv , .avi , .webm , .mov , .m4v Video files: audio track is extracted, vocals separated, original video plays as background automatically. Hardware Acceleration PyTorch backend is auto detected: Backend Device Notes CUDA NVIDIA GPU Fastest; ~2–5 min/song MPS Apple Silicon macOS; WhisperX alignment falls back to CPU CPU Any Always works; ~10–20 min/song UVR Karaoke model uses ONNX Runtime with CUDA (NVIDIA) or CoreML (Apple Silicon) automatically. Processing Pipeline Code Patterns Adding a New Background Theme (Bevy System) Extending Config Deserialization Triggering Re analysis Programmatically Computing a Song's Blake3 Hash (for Cache Lookup) Profile Score Update Pattern Troubleshooting Bootstrap Fails / Stuck on Setup Screen Song Analysis Hangs or Errors macOS "App is damaged" Error GPU Not Being Used NVIDIA: Ensure CUDA drivers are installed and nvidia smi shows your GPU. Apple Silicon: MPS is used automatically on macOS with Apple Silicon; WhisperX alignment falls back to CPU (normal behavior). Check ~/.nightingale/vendor/venv — if PyTorch installed the CPU only build, re bootstrap after installing CUDA drivers. Cache Corruption / Wrong Lyrics Then re open the song in Nightingale to re analyze. Audio Playback Issues (Linux) Ensure ALSA/PulseAudio/PipeWire is running. Install missing deps: Video Backgrounds Not Loading Video backgrounds are pre downloaded during setup via the Pixabay API. For development builds, ensure .env contains a valid PIXABAY API KEY . If videos are missing in a release build, run setup to re trigger the download. Platform Targets Platform Target Triple Linux x86 64 x86 64 unknown linux gnu Linux aarch64 aarch64 unknown linux gnu macOS ARM aarch64 apple darwin macOS Intel x86 64 apple darwin Windows x86 64 x86 64 pc windows msvc Cross compile with: License GPL 3.0 or later. See [LICENSE](https://github.com/rzru/nightingale/blob/main/LICENSE).