曲と歌詞を渡すと、歌に合わせて言葉が躍る MV(リリックビデオ)を組み立ててくれる。そんな自前の制作ラインを作り、自作曲 3 本の MV を仕上げました。まずは出来上がったものをご覧ください。
出来上がった 3 本
※試作版のため、若干おかしな部分を含みますがご容赦ください。
曲は作れても、映像まで手が回らなかった
自作曲に MV を付けたくても、歌詞を 1 行ずつ歌に合わせる編集作業が重く、曲を作っても映像まで手が回りませんでした。動画編集ソフトで歌詞の出る時刻を合わせ、動きを付け、背景を探す。4〜5 分の曲でも、これを手でやるのは気の遠くなる作業です。
私はシステムエンジニアであり、コンテンツを作る人間であり、ミュージシャンでもあります。クライアントワークと並行して個人の創作も続けたいと考え、10 月上旬から、自動で動く秘書・部下のような仕組み「Soma」を作り、日々育ててきました。部下(ツールやシステム)が増えるにつれて、自動化できることが広がっていきます。立ち止まって「この部下たちに何ができるか」を考えたとき、浮かび上がったのが MV 制作でした。やらせてみたところ、驚くほどの品質で仕上がりました。
何をしているのか
制作ラインは、次の順に動きます。
- 音声認識(Whisper)で、曲のどの時刻にどの単語が歌われているかを拾う
- それを手がかりに、正しい歌詞の 1 語ずつに時刻を当てる
- 画像生成 AI(Z-Image)で、歌詞の世界に合う背景の絵を描く
- 背景・粒子・文字・質感・光の 5 層を 1 コマずつ描き、動画にする
ポイントは 2 です。デス声のような歌い方は、音声認識ではまともに聞き取れません。そこで認識結果を歌詞としては使わず、「すでに分かっている正しい歌詞の、どこが何秒か」を合わせる目印としてだけ使っています。1 本目の Paper Kingdom では、409 語のうち 318 語が目印として一致し、残りは前後の目印から時刻を割り振りました。
sm = difflib.SequenceMatcher(None, a, b, autojunk=False)
for blk in sm.get_matching_blocks():
for k in range(blk.size):
ww = wwords[blk.b + k]
times[blk.a + k] = (ww['s'], ww['e'])
4 も動画編集ソフトは使っていません。Python で 1 コマずつ絵を描き、動画に書き出すツール(ffmpeg)へ流しています。
何が変わったか
半日かからずに 1 曲分。 2 本目と 3 本目は、それぞれ半日かからずに 4〜5 分の 1 曲分まで仕上がりました。動画ファイルへの書き出しは 1 曲約 5 分です。作った曲を、すぐ映像付きで出せるようになりました。
歌い方で文字が変わる。 歌詞には「ここはデス声」「ここはクリーン」という印を付けて管理しています。制作ラインはこれを読み、デス声の行は擦れた太字を 1 単語ずつ叩きつけ、クリーンの行は字間の広い細字でなめらかに流します。曲の表情が、そのまま画面に出ます。
ジャンルに合わせて見せ方を変えられる。 メタルは叩きつける文字と赤やシアンの差し色、バラードは夕焼け色で場面が溶け合う見せ方です。日本語訳を英語の下に添えることもできます。
背景は曲ごとに描き下ろし。 絵は手元の GPU で描くので、追加の費用はかかりません。3 本で約 130 枚を描き、気に入らない絵は何度でも描き直しました。素材サイトでは揃わない「この歌詞のための絵」が揃います。
この仕組みが向くとき、向かないとき
向いているのは、歌詞と歌い方がはっきりした曲に、文字が主役の MV を付けたいときです。曲が増えても、2 本目からは見た目の部分を作るだけで済みました。逆に、人物が演技する実写の MV や、1 コマずつ作り込むアニメーションは、この方式の守備範囲の外です。
「こういう MV が欲しい」という方は、まずご相談ください。自分の曲で試したい、という段階でも構いません。また、この制作ラインのように「AI と手元の機械をつないで、創作や業務の手間を減らす仕組み」を自社にも、という方からのご相談もお受けしています。
追記(2026-11-05):4 本目 Missing Pieces
同じ日の夕方に、ラブバラードの 4 本目を足しました。マスタリング済みの音源を受け取ってから、30 秒の試作の確認を挟んで、英日併記版の 1 曲分ができるまで約 40 分です。同じバラードでも Tomorrow's Canvas の夕焼け色とは変えて、夕暮れから夜の青に灯りの琥珀色を残す色づくりにしました。誰もいない映画館や夕暮れの電車など、歌詞の場面を 40 枚描き下ろしています。
使用技術: Python, OpenCV, NumPy, Pillow, Whisper, librosa, ffmpeg, ComfyUI, Z-Image, Suno, Claude Code