日本語··6 min read

歌詞字幕付きMVを自動生成する:日本語歌唱でも実用なローカルAIワークフロー

M
Founder, Versefactory.AI · Building Versegen.AI

歌詞字幕付きの MV は、SNS での視聴維持率を倍にすると言われます。とはいえ手作業でタイミングを取るのは地獄。本記事では、歌詞テキストを正として、AI を「タイミングガイド」として使うという現実的なワークフローを紹介します。日本語の歌唱でも実用レベルで動きます。

なぜ「AI に全部任せる」は失敗するのか

Whisper 系の音声認識を歌唱データに直接使うと、特に日本語ではこんな問題が起きます。

  • サビの伸ばし音で文字数が膨らむ(「あ〜」が「あああああ」になる)
  • 歌詞にない感嘆音(フェイクや息)を文字として拾う
  • バックコーラスを誤検出してメインボーカルとミックスする
  • 英語混じりの歌詞でアルファベットの綴りが揺れる

これらは AI の精度問題というより、歌唱という入力が音声認識の前提(自然発話)から外れているために起きます。解決策はシンプル:歌詞テキストは人間が用意する前提にして、AI には「いつ歌うか」だけを推定させます。

推奨ワークフロー

ステップ 1:歌詞テキストを用意する

プレーンテキストで OK です。改行は 1 行 = 1 字幕として扱われます。長い行は 2 行に分けるとモバイルでも読みやすくなります。

誰もいない夜の街で
あなたを思い出してた

風が吹いて窓が鳴る
それだけで泣きそうになる

ステップ 2:ボーカル分離 + アライメント

音源からボーカルだけを抽出(Demucs 系)し、ボーカル波形のピークを 歌唱区間として検出します。次に Whisper で「だいたいの歌詞ライン」を時刻つきで取得し、それを人間が書いた歌詞テキストにアラインメントします。これで「歌詞の各行がいつ画面に出るか」が決まります。

ここで重要なのは Whisper の出力をそのまま字幕にしないことです。Whisper の文字列は「タイミング推定のためのアンカー」として使い、画面に出すのは人間が用意した正規の歌詞テキストです。これだけで字幕の品質が劇的に上がります。

ステップ 3:手動で微調整(必要に応じて)

サビの伸ばしや、ブリッジの息継ぎなど、自動推定がズレやすい箇所は ±200ms 程度の手動補正で十分です。各行の開始時刻だけドラッグで動かせるツールが理想で、終了時刻は次の行の開始から自動算出するのがメンテしやすい設計です。

ステップ 4:MV にバーン or 別トラックで書き出し

最終的な書き出しは 2 パターン:

  • バーン(焼き込み) — MP4 の映像に直接合成。SNS 投稿向け。
  • SRT/VTT 別トラック — YouTube にアップして自動字幕として読ませる。検索流入が増える副次効果あり。

SNS(Instagram Reels、TikTok)では別トラックが効かないので、バーン版を別途書き出すのが現実的です。

日本語歌唱で精度を上げるコツ

  • 歌詞テキストはローマ字を含める——英語混じりの歌詞でアラインメントの精度が安定します。
  • セクション記号 [Verse] [Chorus] を入れる——構造検出の精度が向上し、サビでフォントを変える等の演出が自動化できます。
  • ボーカル分離後の音量を 0.95 ピークに正規化——イントロの小さなボーカルも検出できるようになります(テクニカルですが、ローカルツールならパラメータ化されているはず)。

ローカルツールで完結する

ボーカル分離と歌詞認識は、どちらも Apple Silicon の Metal Performance Shaders / NVIDIA CUDA で十分高速に動きます。3 分の楽曲ならハイエンドノートで 30 秒前後、M1 相当でも 90 秒程度です。クラウドにアップロードする必要はありません。

私たちの Versegen は、本記事のワークフローをそのまま実装しています。歌詞テキストを貼り付けて再認識ボタンを押すだけで、自動アラインメントが走ります。 こちらからダウンロードできます

MV の自動カット編集の仕組みについては 別記事で解説しています。

最終更新:

Versegen は本記事のワークフローを実装したローカル AI 動画編集ツールです。

ダウンロード