rzru/nightingale

Machine learning powered Karaoke app (with scores!)

解決的問題

Nightingale 允許使用者將本地或網路音樂資料庫中的任何歌曲轉換為卡拉OK軌道。它自動化了去除人聲、轉錄歌詞並與音樂同步的複雜過程,無需依賴預先製作好的卡拉OK檔案。

工作原理

該應用程式使用神經網路流水線處理音訊檔案:

  1. 音軌分離:使用 UVR Karaoke 模型或 Demucs 將主唱人聲從伴奏中分離出來。
  2. 轉錄與對齊:使用 WhisperX 或 Parakeet v3 進行歌詞轉錄,並生成單字級時間戳。對於 CJK(中文、日文、韓文)語言,提供逐字強制對齊與羅馬音讀音。
  3. 播放:基於 Tauri 的應用(Rust + React)負責伴奏播放、顯示同步歌詞,並透過麥克風輸入提供即時音高評分。

適用對象

希望在現有音樂收藏(包括託管於 Plex、Jellyfin 或 Navidrome 上的歌曲)中自由演唱任何歌曲的音樂愛好者與卡拉OK愛好者,無需尋找外部卡拉OK版本。

主要亮點

  • 自動設定:首次啟動時自動下載並設定 Python、ffmpeg 與 ML 模型。
  • 資料庫整合:支援連接本地資料夾、Plex、Jellyfin 與 Navidrome 伺服器。
  • 高階音訊控制:支援調性與速度調整,並快取變體以快速重試。
  • 視覺體驗:提供 10 種音訊反應式 GPU 着色器與 Pixabay 影片背景。
  • 音高評分:透過麥克風輸入實現即時檢測,支援星級評分與每首歌的排行榜。
  • 多平台支援:以單一二進位檔形式發行,支援 Windows、macOS 與 Linux。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案