← Open Source
rzru

nightingale

Machine learning powered Karaoke app (with scores!).

ApplicationsContent creationAudio detectionTypeScript
Open on GitHub
Momentum
+2stars in 24 hours+0.1%
1.50k
Stars
115
Forks
+8
This week
10
Contributors
Created 2026-03-15 · Updated 2026-10-15 · #3846 today
Top developers
rzrupliniofpaHaloZero

rzru/nightingale is ranked 3,846 with 1,500 stars.

Same-category comparison

rzru/nightingale is ranked 3,846 among these 8 peers; JawadTechYT/KHAN-MD is ranked 3,847.

Same-category comparison
NameRankMetrics
openkursar/hello-halo3,794
Language:
TypeScript
Stars:
1,722
Forks:
198
Description:
7×24 Desktop AI Agent for Everyone. Visual AI assistant with remote access, file management, and built-in AI browser.
MgArcher/Text_select_captcha3,807
Language:
Python
Stars:
1,677
Forks:
521
traycerai/traycer3,821
Language:
TypeScript
Stars:
1,612
Forks:
211
Description:
Traycer: Nerve Center for Agentic Coding.
import-ai/omnibox3,842
Language:
Python
Stars:
1,527
Forks:
169
Description:
Anywhere, anything to memory, memory to anything.
JawadTechYT/KHAN-MD3,847
Language:
JavaScript
Stars:
1,492
Forks:
4,507
Description:
A simple WhatsApp bot to manage groups.
kodustech/kodus-ai3,849
Language:
TypeScript
Stars:
1,488
Forks:
174
Description:
Open source, self-hosted AI code review. Bring your own LLM.
rotemweiss57/gpt-newspaper3,852
Language:
Python
Stars:
1,479
Forks:
202
Description:
GPT based autonomous agent designed to create personalized newspapers tailored to user preferences.
skills-directory/skill-codex3,855
Stars:
1,461
Forks:
119
Description:
A claude code skill to delegate prompts to codex.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguageTypeScript
CategoryApplications
SubcategoryContent creation, Audio detection
KeywordsAudio production, Gaming, Music, Speech-to-text
Stars1,500
Forks115
Contributors10
Created date2026-03-15
Updated date2026-10-15
Stars in 1 day2
Stars in 7 days8
Rank3,846
Previous rank10,178
Rank change6,332
7-day stars rank4,478
Previous 7-day stars rank4,457
7-day stars rank change-21
Total stars rank8,093
Previous total stars rank8,099
Total stars rank change6
README summary

Karaoke from any song in your music library, powered by neural networks. It can separate lead vocals, find or produce word-timed lyrics, and play tracks with synchronized highlighting, pitch scoring, key and tempo controls, multiplayer, and dynamic backgrounds. Use the native desktop app on Linux, macOS, or Windows, or run the same experience as a self-hosted web app. Existing provider and folder playlists appear as read-only navigation. Detailed behavior, supported media formats, controls, analyzer options, and current

limitations live in the user guide. Self-hosted release binaries support Linux x86_64/aarch64. First launch prepares an isolated copy of ffmpeg, Python, the analyzer packages, and required ML models. No system Python setup is needed, but the initial download is several gigabytes. GPU acceleration is optional; analysis falls back to CPU when CUDA or Apple Silicon acceleration is unavailable. See Getting Started for setup, platform-specific notes, updates, and adding music. Documentation Library sources Lyrics and transcription Controls

Scoring and multiplayer Backgrounds Self-hosted web mode and Docker Building from source Architecture Desktop and self-hosted delivery share one Rust application core and one React frontend. Transport adapters stay thin so karaoke behavior does not diverge between Tauri and the web server. The analyzer runs as a persistent local process over token-authenticated loopback IPC, avoiding model startup cost for every song. Analysis artifacts are cached by BLAKE3 source hash, so unchanged tracks reuse stems, transcripts, lyrics, and

shifted playback variants. 2 | Platform build packages, including Windows ASIO and Linux WebKit requirements, are listed in the building guide. Run the desktop app Create a production bundle for the current platform with: Before submitting application changes, run the repository checks: Website and guide tooling runs separately from ; use to validate those changes. Contributing Nightingale follows a discussion-first workflow. Before implementing a feature or behavior change, open a GitHub Discussion and wait for it to be approved. Small documentation

corrections and obvious bug fixes can go directly to a pull request. Releasing Tags matching trigger the release workflow. It verifies the tag against the desktop manifests, extracts release notes from CHANGELOG. md, and creates a draft containing desktop installers, updater artifacts, and self-hosted server archives. Smoke-test the draft artifacts, then publish the release through GitHub. The workflow and its helper scripts are the canonical source for artifact and signing details. Support the project Nightingale is free, open

source, and maintained in spare time. Support ongoing development through Patreon or Ko-fi.

Frequently asked questions

How many stars and forks are recorded?

rzru/nightingale has 1,500 stars and 115 forks.

What is the repository rank?

rzru/nightingale is ranked 3,846.

What language and category are recorded?

rzru/nightingale has 1,500 stars, uses TypeScript and belongs to Applications.

Which repository is closest in rank?

rzru/nightingale is compared with JawadTechYT/KHAN-MD, ranked 3,847 with 1,492 stars.

README

Karaoke from any song in your music library, powered by neural networks.

Website · Downloads · Documentation · Changelog · Discord


Nightingale turns music you already have into karaoke. It can separate lead vocals, find or produce word-timed lyrics, and play tracks with synchronized highlighting, pitch scoring, key and tempo controls, multiplayer, and dynamic backgrounds. Use the native desktop app on Linux, macOS, or Windows, or run the same experience as a self-hosted web app.

Highlights

  • Bring your library — scan local audio, video, and UltraStar files, or connect Plex, Jellyfin, or Navidrome. Existing provider and folder playlists appear as read-only navigation.
  • Prepare tracks locally — separate vocals with UVR Karaoke or Demucs, then use LRCLIB, local or pasted LRC, or automatic transcription and alignment for lyrics.
  • Sing your way — follow synchronized lyrics, score microphone pitch, adjust key and tempo, mix guide vocals, monitor the microphone, and compensate for room latency.
  • Run a karaoke night — build a playback queue, keep managing it during Session mode, switch profiles, compare scoreboards, or assign separate microphones to two to four local players.
  • Set the stage — use source video, GPU shaders, Pixabay loops, or custom image, video, and shader backgrounds; reposition and scale lyrics and the pitch graph.
  • Use the screen you have — desktop and self-hosted modes share the same karaoke core, with keyboard, gamepad, touch, and layouts ranging from phones to 4K displays.

Detailed behavior, supported media formats, controls, analyzer options, and current limitations live in the user guide.

Get Nightingale

Mode Start here
Desktop Download the latest release
Self-hosted Linux Installation guide
Docker CPU and CUDA images

Desktop releases support Linux x86_64/aarch64, macOS Apple Silicon/Intel, and Windows x86_64. Self-hosted release binaries support Linux x86_64/aarch64.

First launch prepares an isolated copy of ffmpeg, Python, the analyzer packages, and required ML models. No system Python setup is needed, but the initial download is several gigabytes. GPU acceleration is optional; analysis falls back to CPU when CUDA or Apple Silicon acceleration is unavailable.

See Getting Started for setup, platform-specific notes, updates, and adding music. For failures, check Troubleshooting.

Documentation

Architecture

Desktop and self-hosted delivery share one Rust application core and one React frontend. Transport adapters stay thin so karaoke behavior does not diverge between Tauri and the web server.

flowchart LR
    UI["React UI"] --> Bridge["Typed bridge / client"]
    Bridge --> Tauri["Tauri IPC adapter"]
    Bridge --> Web["HTTP + WebSocket adapter"]
    Tauri --> API["app-api command contract"]
    Web --> API
    API --> Core["app-core"]
    Core --> Sources["Folder / Plex / Jellyfin / Navidrome"]
    Core --> Storage["SQLite library + cache"]
    Core --> Analyzer["Local Python analyzer"]

The analyzer runs as a persistent local process over token-authenticated loopback IPC, avoiding model startup cost for every song. Analysis artifacts are cached by BLAKE3 source hash, so unchanged tracks reuse stems, transcripts, lyrics, and shifted playback variants.

Repository layout

Path Responsibility
app-core/ Shared application behavior, source adapters, persistence, media serving, analyzer orchestration, and analyzer scripts
app-api/ Shared command contract, dispatch, state, events, and error classification
client/src/ React interface, feature modules, typed runtime bridge, playback, and microphone processing
client/src-tauri/ Tauri desktop adapter and native capabilities
client/src-server/ Axum HTTP/WebSocket adapter and embedded web bundle
site/ Astro website and mdBook user guide
docker/, scripts/ Container and bare-metal self-hosted distribution

Development

Prerequisites

Tool Version
Rust 1.94.1, pinned by rust-toolchain.toml
Node.js 22.12 or newer
pnpm 11.2.2

Platform build packages, including Windows ASIO and Linux WebKit requirements, are listed in the building guide.

Run the desktop app

git clone https://github.com/rzru/nightingale.git
cd nightingale
pnpm --dir client install --frozen-lockfile
cargo desktop dev

Create a production bundle for the current platform with:

cargo desktop build

Before submitting application changes, run the repository checks:

pnpm --dir client format
pnpm --dir client quality

Website and guide tooling runs separately from site/; use pnpm --dir site build to validate those changes.

Contributing

Nightingale follows a discussion-first workflow. Before implementing a feature or behavior change, open a GitHub Discussion and wait for it to be approved. Small documentation corrections and obvious bug fixes can go directly to a pull request. Read CONTRIBUTING.md before starting.

Releasing

Tags matching v* trigger the release workflow. It verifies the tag against the desktop manifests, extracts release notes from CHANGELOG.md, and creates a draft containing desktop installers, updater artifacts, and self-hosted server archives. Smoke-test the draft artifacts, then publish the release through GitHub.

git tag v
git push origin v

The workflow and its helper scripts are the canonical source for artifact and signing details.

Support the project

Nightingale is free, open source, and maintained in spare time. Support ongoing development through Patreon or Ko-fi.

License

GPL-3.0-or-later — see LICENSE.

Nearby in the ranking
Similar items