見出し画像

動画生成AIを使ったMV制作

ここ数ヶ月でDreamMachineKlingViduといったサービスが登場し、立て続けにGen-3 alphaの強力そうなアップデートがリリースされました。
そこで今回、仕事での活用も視野に入れ、練習を兼ねた動画を制作しました。

作ってみてどうだった?

動画生成AIは現状、ひとりで簡単に映画並みの作品が作れる!みたいな、そんな気分にさせてくれる大変有意義な技術だと思います。

ただ、長尺の映像を作るには手間やコスト的になかなか厳しいのではないでしょうか。むしろ、ふと思いついた落書きのようなアイデアをすぐ形にして遊ぶのには最高の玩具のように思えます。

SNSで様々な表現を発信したり、そこそこの品質で日々量産をしたり、工夫次第で効果的なものが作れる筈。

そんなわけで、今回の作業を経験して得た知見をまとめておきます。


1. 登場人物や構成のアイデア出し

やばい老人グリーンレジェンド

フルーツをぶっ壊すことが好き。緑色で薄着。有害なモンスターを飼っている。子供にまるで良い影響を与えない。

なぜ緑?なぜフルーツ?

昔近所に住んでいたヤバい人から着想を得て作りましたが、詳しいことは割愛します。

2. 大まかな制作フロー

通常の動画制作と同様ですが、収録の工程が省略される分、プロンプトを試行錯誤して素材を生成するための時間が必要になります。

音効・ナレーション等も編集内に入れた場合

編集にかかるコストは普通の動画制作と変わらないというか、むしろ生成された動画をアップスケールして、なんとか品質を保つための工数が追加されることになります。ただし、企画の自由度が高い点や、編集中に必要な素材を後からすぐに生成できる点は非常に優れています。

3. 楽曲や音声

作詞

音が決まると映像がイメージしやすくなるので、今回は先にBGMを生成しました。

生成されたそれらしき英語の歌詞
  • 曲としてのまとまりを重視するため、極力韻を踏んでもらうようにしました。韻を踏むことで自然と音数が揃い、リズムも出やすくなります。

  • 曲構成をシンプルにするため、同じフレーズを繰り返してもらうことにも重点を置きました。

歌詞の段階で注意したのは以上の2点です。細かいところでは、ChatGPTにコード形式で歌詞を出力してもらうことで、コピペがしやすくなりました。

Suno AI

Suno AIに渡したプロンプトは以下のとおりです。

comedy show theme, comical. uptempo, funk, pop

陽気なコメディのオープニング風にしてもらいます。歌詞はそのままコピペで渡し、10曲ほど生成を試して、最終的に絞られた候補は以下の2曲です。

Extend

ついでに、尺の調整が必要になった際に備えて、同じプロンプトと歌詞でExtendしたデータも作成しました。

Suno AIで音楽を延長する際は、曲の最後からではなく、コード進行や展開のパターンが一通り出揃った後の「01:38」くらいから延長しています。一通りのフレーズが登場してから延長した方が未知のアレンジがされにくく、楽曲のフォーマットも崩れにくいためです。

生成した楽曲はひとつのwavファイルに統合し、Adobe Auditionのリミックス機能を使って指定秒数に収めました。音質については最初から諦めているので、Stem機能も使わず、マスタリングもしていません。

そのほかの音声データや効果音は、Motion Arrayで調達しました。

4. 映像素材の制作

キャラクター定義

まず、ベースとなるキャラクターのデザインをMidjourneyで作成します。顔にばらつきが出るのはある程度仕方がないと考えています。全身像を生成し、どのようなポーズでもプロンプトが適切に追従できるようにしておきます。

以降、Midjourneyで--crefを使ったイメージ参照をおこないますが、この際に頭から胴までの半身画像のみを使うと、全身を描写したい場合でも下半身が描かれないことが多々ありました。必ず全身が写った絵を用意しておくのが良さそうです。また、余計なノイズを避けるために、背景は真っ白で生成しています。

静止画の量産

定義したキャラクターを--crefで参照しながら、動画の第一フレームとなる画像を生成していきます。こまめにカットを切り替えることを前提に、最終的には300〜400枚作成しました。

最終的にはホラーにしたかったので、AIならではの不条理な構図、液体の飛び散る描写や逆再生みたいなキャラクターの動きなど、なるべく活かせるような素材を集めています。

一例

Prompt: An old man wielding a giant kiwi broken in half. Orange sunglasses. Splattering fruit juice. --cref [referring image URL].
Prompt: An old man sitting on a giant pineapple couch. Orange sunglasses. Smile. Splashing juice. --cref [reference image url].

グリーンレジェンドはヤバい人という設定なので、過剰に巨大なアイテムを持っていたり、奇妙な家具を所有していたりします。あまり一般的ではない物に囲まれて得意げになっている姿は、とてもユーモラスです。

プロンプトの追従性

英語力が不足しているため、DeepLを使って翻訳しながら作業をおこないましたが、以下は思い通りにいかなかった部分です。

Jumping out of a [object]
例えば、jumping out of a [object](割れたリンゴから飛び出す老人の絵)を生成したかったのですが、明確に解釈されず、思うような結果が得られませんでした。果物から人間が飛び出すという非現実的な状況を、どのように伝えれば良いかは最後まで大きな課題でした。

でかい顔面を浮遊させたりするのも結構難しかった

非現実的なものというか、物理的に不自然なものを言葉で指示するのが難しいのは自分の英語力が足りないだけなのか、そもそも生成AIにとって難しいものなのか…

とはいえ、それこそがAIならではという部分でもあるので、今回はプロンプトの再現度が高いChatGPTに参考画像を生成してもらったり、Photoshopのコラージュ画像をリファレンスにして、なんとか希望の絵に近いものを出力してもらいました。

Orange sunglass

サングラスが緑色になってしまった例

Orange sunglassという要素についても、キャラデザイン段階でオレンジ色のサングラスを設定していたとしても、生成された画像ではレンズが緑色になったり、素材や形状が異なったりすることが多々ありました。そのため、プロンプトには都度"Orange sunglass"を追記しています。

シーンの区分け

大きく分けて以下7種類のシーンに分け、それぞれに使えそうな素材を生成しました。

  • モンスターが暴れる

  • 子供がフルーツまみれで遊ぶ

  • 老人がフルーツと格闘する

  • 観客がショーを楽しむ

  • 4、5人でダンスする

  • ステージでマイクを持って話す老人

  • モンスターと抱き合う老人

シーンに応じて素材画像を生成

ロゴ

Orange background, the words "GREEN LEGEND SHOW" made of green fluffy hair logo in the center of the screen.

Midjourney6になって英字のスペルを間違えることはほとんどなくなりました。出現アニメーションも生成を試みましたが、何度か試してあまり希望のものを生成できなかったため、今回は諦めました。

5. 動画生成

Midjourneyで生成した画像をスタートフレームとして、KlingのProfessional Modeを使い、大体100本程度の動画を生成しました。

展開をイメージしながら100個ほど生成

Klingは中国語のプロンプトも認識します。むしろ英語よりも理解されやすいことが多かったです。

Prompt: 一位老人向镜头展示一块巨大的水果。果汁飞溅。
(巨大なフルーツをカメラに見せつける老人。 ジュースが飛び散る。)

6. アップスケール / フレーム補完

一通りの素材が揃ったら、Topazなどのツールでアップスケールとフレーム補完をおこないます。今回は予算の都合上、VideoProc Converter AIを使用しました。

  • 解像度: HD 1280x720 → 4K 3840x2160

  • フレームレート: 30FPS → 60FPS

7. 編集作業

最後に、今回はPremiereで編集を進めました。

素材生成とアップスケールが終われば、あとは通常の編集作業と同じです。

8. 使用したテクニック

Gen-3でキャラクターを喋らせる

グリーンレジェンドが喋るシーンのみ、Runway gen-3で生成しています。

Prompt: old man speak "coming through, Busting fruits, it's what he'll do!".

といっても、結局リップシンクは使っていません。喋っている映像を生成し、Premiereのタイムワープで口の開閉タイミングを合わせただなので、随分雑な対応をしています。

Midjourneyのinpaint機能

今回は全然活躍しませんでしたが、生成中に何度かinpaint機能を試しました。

[mask type], Style by Gendy Tartakovsky KAWS and Jamie Hewlett.
beijing opera mask, Psychedelic mask of dog, Luchador,African Ethnic Maskなど

上記は動画生成すら使わない表現ですが、それ以外でもいろんな表現ができそうです。

Runwayのサンプルは、他のサービスでも機能するものがあると思います。

力技のPhotoshop合成

予想以上に面白い結果が得られたのは、Photoshopでコラージュした静止画を開始フレームに指定した時の結果でした。

かなり雑なコラージュ

1分くらいで作った雑なコラージュですが、光源や色味に大きな差異がなければ(多分、生成の際に深度マップのようなものを作ってるため)手前に2人、奥に1人の位置関係を理解して生成してくれることがわかりました。

9. まとめ

お疲れ様でした。以上が今回の動画制作でやったことのまとめになります。
映像はタイミングや音などが大変重要で、素材のクオリティだけでは品質を上げることはなかなか難しく、それはAIであっても変わらずでした。

とはいえやりたいことが定まっていれば、「こういったカットが欲しい」という要件を形にすることは以前より容易い部分もあり、以前より編集の作業が楽しく感じられました。

今後も仕事の合間を縫って、制作にチャレンジをしていく予定です。

いいなと思ったら応援しよう!

この記事が参加している募集