#Nightingale — karaoke from any song, built with Bevy

4 messages · Page 1 of 1 (latest)

exotic root
#

Hey all! Wanted to share a project I've been working on - Nightingale, a karaoke app that works with any song in your music library.

You point it at a folder of music, it separates vocals from instrumentals, transcribes lyrics with word-level timing, and plays it back with synced highlighting and pitch scoring. Works with video files too.

Built with Bevy for rendering and UI - shader backgrounds, adaptive scaling for TV setups, gamepad navigation. The audio/ML side uses Python (Demucs, WhisperX), but the app ships as a single binary and bootstraps its own Python environment + models on first launch. No system dependencies needed.

Some things that might be interesting from the Rust side:

  • Bevy for a non-game desktop app with GPU shaders, video playback, and real-time audio
  • Embedding and managing a Python runtime from Rust (downloading uv, creating a venv, running analyzer scripts as child processes)
  • Real-time pitch detection from microphone input
  • ONNX Runtime integration for the UVR model
  • Cross-platform builds for Linux/macOS/Windows including Apple Silicon

Open source (GPL-3.0): https://nightingale.cafe

Would love any feedback!

Nightingale

Turn any song into karaoke with neural network-powered stem separation, word-level lyrics, pitch scoring, and dynamic backgrounds. Ships as a single binary.

hot pebble
#

Awesome demo! I'll try it later, it seems such a good idea

errant mural
#

damn, it does look nice

drowsy badger
#

I'm disappointed that the bird is not a nightingale ferrisPensive