rzru/nightingale

Machine learning powered Karaoke app (with scores!)

何を解決するか

Nightingaleは、ローカルまたはネットワーク上の音楽ライブラリから任意の楽曲をカラオケトラックに変換できるようにします。ボーカルの除去、歌詞の音声認識、音楽との同期という難しいプロセスを自動化し、事前に作成されたカラオケファイルの必要性を排除します。

動作方法

アプリケーションはニューラルネットワークのパイプラインを使用してオーディオファイルを処理します:

  1. ステム分離: UVR KaraokeモデルまたはDemucsを使用して、インストゥルメンタルトラックからボーカルを分離します。
  2. 音声認識と同期: WhisperXまたはParakeet v3を使用して、単語レベルのタイムスタンプ付きで歌詞を音声認識します。CJK(中国語、日本語、韓国語)言語の場合、文字単位の強制同期とローマ字読みを提供します。
  3. 再生: Tauriベースのアプリ(Rust + React)がインストゥルメンタルトラックの再生、同期された歌詞の表示、マイク入力によるリアルタイムピッチスコアリングを処理します。

対象ユーザー

Plex、Jellyfin、Navidromeなどでホストされている楽曲を含む、既存の音楽コレクションで任意の楽曲を歌いたい音楽愛好家やカラオケ好き。

特徴

  • 自動セットアップ: 初回起動時にPython、ffmpeg、MLモデルを自動ダウンロードして起動します。
  • ライブラリ統合: ローカルフォルダ、Plex、Jellyfin、Navidromeサーバーに接続可能。
  • 高度なオーディオコントロール: キーとテンポの変更をサポートし、キャッシュされたバリアントで素早く再試行可能。
  • ビジュアル体験: GPUシェーダー10種類とPixabayの動画背景を搭載。
  • ピッチスコアリング: マイク入力によるリアルタイム検出、星評価、各楽曲ごとのスコアボード。
  • マルチプラットフォーム: Windows、macOS、Linux用の単一バイナリとして配布。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト