Skip to content

nightingale

v0.6.0 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai bevy-engine demucs karaoke karaoke-application karaoke-game
+12 more
machine-learning machine-learning-algorithms party react rust shadcn tailwind tauri tauri-app whisper whisper-ai whisperx

ReleasePort's take

Light signal
editorial:auto 13d

CJK lyric support now includes per‑character forced alignment and romanized readings for Japanese, Chinese, and Korean songs.

Why it matters: Enables precise karaoke syncing for CJK tracks; test updated lyrics in dev environments before deploying v0.6.0.

Summary

AI summary

CJK lyric support adds per‑character forced alignment with romanized readings for Japanese, Chinese, and Korean songs.

Changes in this release

Feature Medium

CJK lyric support for Japanese, Chinese, and Korean songs with per-character forced-alignment and romanized readings.

CJK lyric support for Japanese, Chinese, and Korean songs with per-character forced-alignment and romanized readings.

Source: llm_adapter@2026-05-21

Confidence: high

Feature Medium

Parakeet v3 ASR (experimental) for ~25 European languages, switchable in Settings.

Parakeet v3 ASR (experimental) for ~25 European languages, switchable in Settings.

Source: llm_adapter@2026-05-21

Confidence: high

Feature Medium

UltraStar Deluxe songs support (.txt or .usdx bundles) with built-in pitch and lyric data; no analyzer pass needed.

UltraStar Deluxe songs support (.txt or .usdx bundles) with built-in pitch and lyric data; no analyzer pass needed.

Source: llm_adapter@2026-05-21

Confidence: high

Feature Medium

Persistent analyzer server runs as a long-lived Python process communicating via token-authenticated TCP socket using NDJSON.

Persistent analyzer server runs as a long-lived Python process communicating via token-authenticated TCP socket using NDJSON.

Source: llm_adapter@2026-05-21

Confidence: high

Feature Medium

Audio-reactive shader backgrounds expanded from 5 to 10 options, reacting in real time to microphone input when enabled.

Audio-reactive shader backgrounds expanded from 5 to 10 options, reacting in real time to microphone input when enabled.

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

In-app updater for macOS and Windows downloads and installs new releases from inside the app with progress reporting.

In-app updater for macOS and Windows downloads and installs new releases from inside the app with progress reporting.

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

Mic monitor gain slider now a 0–200% adjustable control in Settings, replacing the fixed level slider.

Mic monitor gain slider now a 0–200% adjustable control in Settings, replacing the fixed level slider.

Source: llm_adapter@2026-05-21

Confidence: low

Performance Medium

GPU models (Whisper, Parakeet, alignment model, stem separator) now loaded one at a time with freeing between stages, lowering peak VRAM usage.

GPU models (Whisper, Parakeet, alignment model, stem separator) now loaded one at a time with freeing between stages, lowering peak VRAM usage.

Source: granite4.1:30b@2026-05-23-audit

Confidence: low

Bugfix Medium

Alignment robustness improved by fixing edge cases in WhisperX alignment path, including better handling of silence-bounded segments and out-of-vocab tokens.

Alignment robustness improved by fixing edge cases in WhisperX alignment path, including better handling of silence-bounded segments and out-of-vocab tokens.

Source: llm_adapter@2026-05-21

Confidence: high

Refactor Low

Playback state moved to dedicated React contexts (transport, transcript, mic, theme) eliminating prop‑drilling through playback‑inner component.

Playback state moved to dedicated React contexts (transport, transcript, mic, theme) eliminating prop‑drilling through playback‑inner component.

Source: granite4.1:30b@2026-05-23-audit

Confidence: low

Refactor Low

Pitch analysis and reactive shader processing moved to TypeScript client side using raw PCM streamed from Tauri, reducing native code footprint.

Pitch analysis and reactive shader processing moved to TypeScript client side using raw PCM streamed from Tauri, reducing native code footprint.

Source: granite4.1:30b@2026-05-23-audit

Confidence: low

Full changelog

Highlights

  • CJK lyric support — Japanese, Chinese, and Korean songs now go through a per-character forced-alignment path with romanized readings (Hepburn / pinyin / Revised Romanization) shown above each token. Japanese uses a hiragana-vocab wav2vec2 model fed through fugashi, which sidesteps the dense kanji vocabulary and matches natural speech far better than the default checkpoint.
  • Parakeet v3 ASR (experimental) — alternative to Whisper for ~25 European languages. NeMo on CUDA, ONNX Runtime on CPU and Apple Silicon. Switchable from Settings → Analysis. Falls back to Whisper automatically if Parakeet returns no usable words.
  • UltraStar Deluxe songs (experimental) — drop USDX bundles (.txt or .usdx plus sibling audio/vocals/instrumental/video) into your library and play them with their built-in pitch and lyric data. No analyzer pass needed; stem separation is skipped entirely when #VOCALS and #INSTRUMENTAL are provided. See docs/usdx.
  • Audio-reactive shader backgrounds — the 5-shader lineup is now 10 (Plasma, Waves, Nebula, Starfield, Sonar, Voronoi, Vortex, Metaballs, Spectrum, Oscilloscope) and they all react to your microphone input in real time when the mic is enabled.
  • Persistent analyzer server — the Python analyzer is now a long-lived process talking to the app over a token-authenticated loopback TCP socket using NDJSON.
  • In-app updater (macOS and Windows) — Nightingale now checks for new releases and can download and install updates from inside the app. A new Update entry lives in the sidebar actions menu, with progress reporting and a one-click relaunch when the install finishes. Linux still ships the menu entry but opens the GitHub Releases page since the updater plugin isn't compiled in for Linux builds.

Improvements

  • Mic monitor gain slider — the live mic-mirror volume is now a 0–200% slider in Settings, replacing the previous fixed level.
  • Cleaner client architecture — playback state lives in dedicated React contexts (transport, transcript, mic, theme) instead of being prop-drilled through playback-inner. The shader visualizer was also extracted from the old monolithic video-background component.
  • Pitch and reactive analysis moved to the client — both run in TypeScript over raw PCM samples streamed from Tauri, dropping a chunk of native code and making them easier to tune.
  • Single GPU model at a time — Whisper, Parakeet, the alignment model, and the stem separator are now loaded one at a time and freed between stages, lowering peak VRAM and reducing OOMs on smaller GPUs.
  • Alignment robustness — several edge cases in the WhisperX alignment path were fixed, including better handling of silence-bounded segments and tokens that fall outside the model vocab.

Fixes

  • Various typo and copy fixes in playback UI strings.

Documentation

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track nightingale

Get notified when new releases ship.

Sign up free

About nightingale

All releases →

Related context

Beta — feedback welcome: [email protected]