ハクソク

世界を動かす技術を、日本語で。

ナイチンゲール – どんな曲でもパソコンで使えるオープンソースのカラオケアプリ

概要

  • 任意の楽曲をカラオケ化する自動パーティーゲーム
  • ボーカル分離、歌詞自動認識、ワード単位同期・ピッチ採点に対応
  • 動画ファイルや多彩な背景、ゲームパッド操作もサポート
  • 複数プレイヤープロファイル管理とスコア保存機能
  • Linux、macOS、Windows対応の単一バイナリ配布

あらゆる楽曲をカラオケ化するパーティーゲーム

  • 任意の曲を取り込み、カラオケ用に自動変換
  • ボーカル分離楽器パート抽出にUVR KaraokeモデルまたはDemucsを使用
    • ボーカル音量をガイドボーカルとして調整可能
  • WhisperX歌詞を自動認識し、ワード単位で音声と同期
    • 既存の歌詞データはLRCLIBから自動取得
  • ピッチ採点機能でリアルタイムに歌声を評価
    • 星評価楽曲ごとのスコアボードでパフォーマンス管理
  • プレイヤープロファイルを複数作成可能
    • スコア履歴を個別に保存、歌い手の切り替えも簡単

動画・背景・操作性の充実

  • 動画ファイル対応
    • .mp4や**.mkv**をそのままライブラリに追加可能
    • ボーカル分離後、元動画を背景として再生
  • ダイナミック背景
    • GPUシェーダーエフェクト(プラズマ、オーロラ、星雲など)
    • Pixabay動画ループや元動画背景も選択可能
  • ゲームパッド完全対応
    • メニュー操作、楽曲選択、再生制御をコントローラーのみで実現
    • D-pad、スティック、フェイスボタンに最適化

シンプルな導入と対応プラットフォーム

  • 単一バイナリ配布
    • ffmpeg、Python、PyTorch、MLモデルを初回起動時に自動セットアップ
    • 追加インストール不要、即利用可能
  • 幅広いOS対応
    • Linux(x86_64, aarch64)
    • macOS(ARM, Intel)
    • Windows(x86_64)
    • GPU(CUDA, Metal)対応、CPUのみでも動作

最新情報の入手

  • 新バージョンやアップデート情報をメール通知で受信可能
    • スパムなし、いつでも解除可能

Hackerたちの意見

「ナイチンゲール」っていうカラオケアプリを作ってるんだ。音楽フォルダを指定すると、曲をカラオケに変換してくれるんだよ。ボーカルとインストゥルメンタルを分けて、歌詞を単語レベルで同期させて、ハイライトされた歌詞とピッチスコアで歌えるようになるんだ。動画ファイルにも対応してるし、全部ローカルで動くから、何もアップロードされないよ。アカウントもサブスクリプションも、テレメトリーもなし。Linux、macOS、Windows用に単一のバイナリで提供されるよ。初回起動時に独自のPython環境をセットアップして、必要なMLモデルをダウンロードするから、依存関係の手動インストールは不要。これを作るきっかけになったのは、ニッチでアバンギャルドな曲やローカルトラックのカラオケが不足していることと、流れる川や街のパノラマなど、昔のチープなカラオケ背景へのノスタルジーだね。いくつかのハイライトは:UVRカラオケモデルを使ったステム分離(バックボーカルを保持)、WhisperXの転写による自動歌詞生成、または利用可能な場合はLRCLIBから取得。プレイヤープロフィールとスコアボードによるピッチスコアリング、パーティーセットアップ用のゲームパッドサポートとテレビ向けUIスケーリング、NVIDIA(CUDA)とApple Silicon(CoreML/MPS)でのGPUアクセラレーション。RustとBevyエンジンで構築されていて、全体がオープンソースだよ。プレミアム層も「オープンコア」もなし、ただのアプリだ。フィードバックや貢献大歓迎!
すごく楽しそう!動かしてみたら教えるね。素晴らしいアイデアだね <3
これを試すのが楽しみ!WhisperXは中国語(普通話や広東語)の歌詞にどれくらい対応できるのかな?漢字で出力される?
Tjintu Desert Bandの「Tjamuku Ngurra」でちょっと苦労したけど、マライア・キャリーの「Ken Lee」は完璧にできたよ。
B.E.Dの「Walk Away」を試してみたけど、残念ながら30秒後に歌詞が追えなくなっちゃった(モデルは「large-v3」)。もう少し遊んでみるつもりだけど、ちゃんと動くカラオケジェネレーターがあればいいな。いくつかのフィードバック:- 再生中に前後にスキップする方法が必要 - 文は認識されてるみたいだけど(最初の文字が大文字)、ピリオドが追加されてない - トラック分析の結果を編集するオプションが必要 ありがとう、FOSSを維持してくれて!
すごい仕事だね!誰かがこの問題に取り組んで、こんなクリエイティブな解決策を開発してくれたことに感激してる。カラオケの選択肢は限られてるし、特にFOSSの分野ではね。ほとんどのカラオケアプリはすごく制限されてて、知ってるカラオケ好きたちは歌いたい曲を探すためにYouTubeに行くことが多いんだ。この解決策があれば、今あるものよりももっと多くの曲を歌えるようになるね!質問があるんだけど:1. Nvidia GPUのアクセラレーションに必要なCUDAの能力レベルは?3. AMDやIntelのiGPU/NPUアクセラレーションをサポートする予定はある?最近の低コストのミニコンピュータにそのチップが多いから、カラオケが大好きな家族も試してみたいって言ってるよ。楽しみにしてる!
オープンソースでローカル、情熱が詰まってる。人間に対する信頼を取り戻させてくれるニュースだね。ありがとう、今週末に試すのが楽しみ!
>コンピュータのどんな曲でも使えるアプリ すごいね、素晴らしい!さあ、俺のデスメタルコレクションを見てみよう。冗談だよ!本当に素晴らしい、オープンソースにしてくれてありがとう。
冗談じゃないよ、気軽に試してみて!このアプローチの良さは、制限がないことなんだ。ただし、体験が劣化することもあるから覚悟しておいて。時々、モデルは一番シンプルなポップトラックでも苦労するからね :D
これすごくいいね!週末に試すのが楽しみ。4GBのRAMを搭載したラズベリーパイでうまく動くかな?
おお、ローカルでかなり重いモデルを使ってるから、そんなハードウェアだと苦労すると思うよ。M1以上のMacとNvidiaのGPUが一番うまくて速いね。
これめっちゃいいけど、何をするものなのかよくわからない。歌詞を消すっていうアイデアだと思ってたんだけど、試した5曲(Cry Cry Cry、Indigo Girls、Suzanne Vegaの曲)では、元の曲と全然変わらなかった。画面には歌詞が表示されてるし、タイミングも完璧なのに、歌は全然消えてない。どうやって歌をオフにするの?
ねえ!キーボードの + / - ボタンを使って、自分の好みに合わせてガイダンスのレベルを変えられるよ。一般的に、右上隅にコントロールの説明があるからチェックしてみてね。 https://nightingale.cafe/docs/controls
嫁がカラオケ大好きなんだ。特に音程スコアに興味がある。普段はその機能がある古いコンソールでカラオケゲームやってるからね。今はサブスクリプションなしでそんなゲーム作ってるところなんてないし(ほとんどの良い現代のカラオケプラットフォームは東アジア限定だし)。これがうまくいけば、すごく楽しい社交イベントができそう!試すのが楽しみだな。
ぜひ試してみて、フィードバックを教えてね!トランスクリプトやアライメントは完璧に動かないかもしれないけど、曲によるからね。
OPのプロジェクトを邪魔したくないけど(すごく良さそうだし)、Ultrastar Deluxe (https://usdx.eu/) と USDB (https://usdb.animux.de/) を組み合わせて試したことある?曲を自動でダウンロードするプログラムもあるよ: https://github.com/bohning/usdb_syncer
これめっちゃクールだね。デュエットに対応してるかどうかは見つけられなかったけど、たぶん無理だと思う。
もっと機能に期待しててね!
https://www.karafun.com/
本当に素晴らしいプロジェクトだね!試すのが楽しみ!曲を一つのデバイスで処理して、別のデバイスや複数のデバイスで使うことはできるのかな?それとも、サーバーとクライアントとして別々に動かすことも可能?テレビに接続してるデバイスがあまり強力じゃないから、他の場所で曲を前処理できたらいいなと思って。
Chromeからダウンロードするとウイルス検出エラーが出るんだけど。