rzru/nightingale

Machine learning powered Karaoke app (with scores!)

解決する課題

Nightingale を使用すると、既存の音楽ライブラリ内の任意の曲をカラオケトラックに変換できます。ボーカルと楽器の分離、および同期した歌詞の生成を自動化することで、既製のカラオケファイルの必要性を排除します。

仕組み

システムは Rust ベースのコアと React フロントエンドを使用し、ニューラルネットワークを利用したローカル Python アナライザーを活用します。このアナライザーは、ボーカル分離(UVR Karaoke または Demucs 経由)と歌詞処理(自動文字起こし、アライメント、または LRCLIB などの外部ソースを通じて)を処理します。パフォーマンスを確保するため、アナライザーはモデル起動の遅延を避けるために常駐プロセスとして実行され、結果は BLAKE3 ハッシュを使用してキャッシュされます。

対象ユーザー

自分のローカルオーディオ/ビデオファイルや、Plex、Jellyfin、Navidrome などの接続されたメディアサーバーからカスタムカラオケトラックを作成したい音楽愛好家やカラオケ愛好家。

ハイライト

  • ニューラルボーカル分離: 機械学習モデルを使用して曲からリードボーカルを除去します。
  • 自動歌詞: ワードタイミング付き歌詞の自動文字起こしとアライメントをサポートします。
  • 柔軟なライブラリ統合: ローカルフォルダーや人気のメディアサーバーに接続します。
  • カラオケ機能: ピッチスコアリング、キーとテンポの調整、2〜4人用のマルチプレイヤーサポートを含みます。
  • ビジュアルカスタマイズ: GPU シェーダー、ビデオ、または画像による動的バックグラウンドを提供します。
  • クロスプラットフォーム: ネイティブデスクトップアプリ(Windows、macOS、Linux)またはセルフホスト型 Web アプリとして利用可能。

関連

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