有馬総一郎のブログ

(彼氏の事情)

2025年11月29日 15:31:25 JST - 6 minute read - Audio Player

同期歌詞LRCファイルを作って、Navidrome対応アプリで歌詞を見ながら熱唱する

navidromeでもv56からついに、同期歌詞 LRCファイルに対応したようだ。

Feishin

Filesystem Lyrics Support (only for Subsonic clients): Support for reading lyrics (.lrc) directly from filesystem files - @kgarner7 (#2897, #3997)

配信サービスでは、全アーティスト、全曲でないにしてもボタン一つで歌詞を見ることができる。しかし、わざわざダウンロードより高いCDを購入をしていながら、歌詞カードを取り出さないと歌詞を見れないことに不便1を感じていた。 LRCファイルがあれば、配信サービスのように簡単に歌詞が見れる。

とはいえ、当然、手間はかかるわけだが、Googleサービスの画像からのテキスト抽出(OCR)が向上したこともあって、以前より楽になっている。以下のプロセスすら面倒で、札束で解決したい人は AI LRC Generator – The Ultimate LRC File & Lyrics File Generatorを試してみれくれ。

手順

  1. 歌詞カードをフォトスキャン、 vFlat Scanなどで撮影して画像ファイルとして保存する。

    両面2ページ一気に撮るより、1ページ毎のほうが良いと思う。ピンボケしているとテキスト抽出(OCR)に影響するので字はハッキリと見えるように撮る。とはいえ、Google Keepは多少のピンぼけや光の反射程度でも精度が余り落ちないのが凄い。

  2. Google Keepにアップロードする。

    画像メモとして保存したら、数分待つとメニューの 画像のテキストを抽出 が選択できるようになる。

    Google Keep
    Google Keep
    韓国語もケンチャナヨ

  3. テキストを抽出したら、実際の歌詞カードと照らし合わせて、誤字脱字などを修正する。

    背景と文字が干渉しあわず、難しい日本語(中二病やV系の単語)を使ってなければ、95%ぐらいの正確さ。英語に関してはより正確。Geminiで確認すればより正確な英語を抽出できる。
    段組みになっていても割と順番どおりに読んでくれる(勿論、ズレることも多いが)。韓国語と英語が混ざっていてもOK。かなり性格で本当に驚く。OCRツールは、 Frogとかあるが精度が圧倒的に違う。他の有料系アプリは試していない。

  4. タイトル、作者などの情報を入力する。

    lrc - ナムウィキLRC (file format) - Wikipedia以外では見当たらなかったが、

    [ti:タイトル]
    [au:作詞/作曲]
    [ar:アーティスト]
    [al:アルバム]
    [by:LRCファイル作成者]
    [offset:+/- ms単位で全体のオフセット調整]
    

    として歌詞意外の情報を入力できるらしい。これらがどんなアプリで対応しているのか不明だ。しかし、アプリが対応してなくても人間が見る時や、ファイル形式変換・歌詞情報を抽出する可能性を考えれば、作者、アーティストぐらいはあったほうが良いだろう。

    また、歌詞だけ一行目から書くと feishinSymfoniumで、一行目が歌詞が表示されないことがあったので、タイトルぐらいあった方が良いのかも。

    開始分秒ミリなく、歌詞の部分がないと、曲情報がそのまま表示されてしまうので、インストルメンタルの場合はそもそも歌詞同期ファイルを置かないか、[00:00.00]-instrumental-としておいた方が良い。

    Feishin
    開始分秒ミリがないパターン
    Feishin
    開始分秒ミリがあるパターン
    Symfonium
    Symfonium

  5. 時間をツールなどで入力する。

    私は LyricsTTEWebを使っている、これならOS制限がなく、インストールする必要がない。ブラウザを使うが、外とは通信してないので、ローカルで動く。

    1. フォルダごとローカルにコピーして、フォルダ内のindex.htmlをブラウザで開く。

    2. 作成する音楽ファイルをドラッグアンドドロップする。

    3. TextEdit タブに歌詞を貼り付ける。

      LyricsTTEWeb
    4. 歌詞と歌い出しに合わせて TagStamp タブでスペースキーを押していくだけ。[mm:ss:xx]が入力されていく。

      key TabStamp
      w / ↑ 現在行を上に
      s / ↓ 現在行を下に
      a / ← 前のタグ行を再生
      d / → 次のタグ行を再生
      Space / Enter タグを打ち込み次の行へ
      Delete 現在行のタグ消去
      x play/pause
      z / c 一秒戻す/進める

      LyricsTTEWeb
      開始分秒ミリ入力前
      LyricsTTEWeb
      開始分秒ミリ入力後

    5. 聞きながら気づいた誤字・脱字は TextEdit タブで編集する。

      • あんまり厳密にやろうとするとシンドいので、1秒前後のズレは気にしない。
      • 作成時間は、かかっても曲の長さの2倍に留める。
      • 繰り返し部分は普通にコピペして、開始分秒ミリのみスタンプしなおす。
    6. TextEdit タブでダウンロードボタンを押下する。

    7. ダウンロードした曲名.lrcファイルを音楽ファイルと同じディクレトリにコピーする。

    LRCファイル
  6. Navidromeクライアントアプリで曲を再生して、歌詞を表示する。

Feishin
Feishin
Symfonium
Symfonium

ただ、Webのほうは曲を読み込また後、クイックスキャンしても読み込まれないような…。本体よりも先にクライアント側の Feishin2Symfonium3ではサポート済だったようだ。なので、Webでなくクライアントで表示させる分にはファイルを置くだけで問題ない。

ファイルではなくタグに埋め込みたい場合はLrycisというフィールド、非同期歌詞の場合はUNSYNCEDLYRICSとなる4

Feishinは、以下のように、歌詞の途中で改行されてもスペースとしてそのまま一行で表示されてしまうが、symfoniumの場合は改行してくれるので日本語訳などを表示させたい場合に丁度良い。

[00:25.29]Acting, corrupting
作用 腐敗

Feishin
Feishin 改行されない
Symfonium
Symfonium 改行される

初回リスニング時にやるべし

やるタイミングとしては聴く前から、初回リスニングの時にやるのが良いと思う。何故なら一番、曲を聴くモチベーションが高いからだ。下手に聴いて好みでない曲だったりすると、結局やらなくなるからだ。

また、これをやる事で最初から集中して音楽を聴き込めるので、より曲に対する解像度が高まり、その後のリスニング体験もより深くなっていけると思う。

作成すれば、アーティストの表現したい世界にドップリと浸かりながら曲を聴き込むことができるし、熱唱できる。また、今後、歌詞付きであるCDを購入する動機にもなる。


  1. というか、今どきは一部のアーティストみたいに歌詞を公式ページに載せて欲しいと願うのは我がままだろうか… ↩︎

  2. [Featurer]: Integration with LRCLib for synced lyrics · Issue #1054 · jeffvli/feishin ↩︎

  3. Lyrics interface - Wiki - Symfonium support ↩︎

  4. id3v2.3.0 - ID3.orgOgg Vorbis DocumentationOgg Vorbis Comment Field Recommendations。mp3、flacなどのVorbisコメント以外の形式はどうなのか分からない。Vorbisコメントでは大文字小文字は区別しないとのこと。 ↩︎