🤖

ChatGPTにゆっくり解説やらせたらヤバかった

2023/03/19に公開5

ChatGPT-4が公開されたので遊んでたところこれゆっくり解説できるんじゃね...?となったのでやってみました。

実際にできたもの

実際AIに台本を書いてもらい、編集した動画がこちらです。
チャンネル自体全然動かしてないこともあって本編のみ公開しても再生されないと思ったので本編と対になるショート動画も制作しました。

  • short

https://www.youtube.com/watch?v=vHkfJAstxf4

  • long

https://www.youtube.com/watch?v=I52hIVutzg8

このクオリティーの台本をAIがサクッと作ってくれるってすごい時代ですよね。なお、この動画のタイトル自体AIに考えてもらったものです。
またいくつか動画をアップロードしましたが、途中からは編集過程も自動化しました。

用いた技術

  1. ChatGPT
  2. Node.js
  3. AquesTalkPlayer
  4. Remotion

1.ChatGPT

言わずもながら台本を作ってくれる作家さんです。
以下のようなプロンプトを渡し、ゆっくり解説風の対話を書いてくれるように命令しました。

prompt
あなたは次のような二人の人物になりきって会話をしてください

・魔理沙:やや強気で物知りな女性。突っ込み役。霊夢のことは呼び捨てにする、文法上違和感のない限りかならず「だぜ」を語尾につけてしゃべる。
・霊夢:すこし抜けているところがあり、魔理沙に比べて知識量が少ない。魔理沙に対してわからないことを質問する女性。魔理沙のことは呼び捨てにする。ボケ役。たまに的外れなことを言い、魔理沙に修正される。

ゆっくりムービーメーカーを用いて編集を行うなら台本取り込み機能を用いるといいでしょう。
私は生成された台本を直接プログラム上で処理したかったので

出力されたテキスト
M:多元宇宙と運命について話そうだぜ。
R:多元宇宙って何?

のように出力してもらいました。

また本編の台本を生成してもらった後にショート動画向けの台本生成をお願いすると、いい感じに全体の内容を取り込みつつ本編へ視聴者を導く会話文を生成してくれます。

つまり、ChatGPTに生成を命令する順番は以下の通りになります。

台本全体の設定と動画のタイトルを教える
↓
本編の台本を生成してもらう
↓
本編の要約をさせる
↓
ショート動画の台本を生成してもらう

2.Node.js

ChatGPTから受け取った台本を編集するためにいい感じにするのとゆっくり音声をAquesTalkPlayerで生成するために用いました。
例えばChatGPTが生成した台本を

talk.json
{
	"title":"多元宇宙と運命について",
	"talk":[
		{
			"character":"ゆっくり魔理沙",
			"voice":"多元宇宙と運命について話そうだぜ。"
		},
		{
			"character":"ゆっくり霊夢",
			"voice":"多元宇宙って何?"
		}
	]
}

みたいに変換するとRemotionで使いやすくなるでしょう。
音声ファイルの長さなんかも同時に保存しておくとあとあと便利になります。

3.AquesTalkPlayer[1]

ゆっくりの音声を開発しているAQUEST様のソフトウェアです。
コマンドラインから読み上げ音声をファイルとして保存できます。
詳しくはこちらをご覧ください。
例えば

./AquesTalkPlayer.exe /P "れいむ" /T "多元宇宙って何?" /W "voice/1.wav"

を実行するとvoice/1.wavに読み上げ音声が保存されます。
Node.jsからコマンドを叩けばゆっくり音声の生成を自動化できます。

4.Remotion

AquesTalkPlayerで生成した読み上げ音声と字幕、背景画像などを組み合わせて動画を生成します。
以下のドキュメントや記事を参考にしながら自動化しました。
https://www.remotion.dev/docs/
https://zenn.dev/seya/articles/47c2c9ee354b60
動画の一部をサムネイルとして保存したのであればnpx remotion stillが役に立ちます
https://www.remotion.dev/docs/stills
またtailwindを用いることもできるのでyarn create videoの際のテンプレートはTailwindを選ぶのがおすすめです。

終わりに

台本を渡してから7分弱で本編、ショート動画、サムネイル出力までしてくれる自動ツールができました。
台本作成自体もChatGPTに命令しているのでもはやただ台本をプログラムに渡してコマンドを一つ叩くだけのマシンになった気分になりました。

またプロンプトを工夫してより濃い内容や、興味深い台本を作ることもできると考えています。
将来的にはyarn build --title="多元宇宙と運命について"みたいなコマンドを叩いたら台本生成から動画の書き出しまですべてプログラム上で完結してくれるプログラムを組みたいです。

レッツChatGPTライフ!!!

脚注
  1. ライセンスなどはこちらをご覧ください。 ↩︎

Discussion

taiga0002taiga0002

そんな事もできるんですね!
ぜひ作ってみたい!
もしマナー違反でしたら申し訳ないですが、質問させてください。

実際に構築したのはWindows環境で作成するんでしょうか?

むーんずむーんず

はい、windows上でデバッグしています。
ゆっくり音声の出力ソフトがexeのため、他のOSで動くかはわかりません

taiga0002taiga0002

回答いただきありがとうございます。
この動画作成を手元のPCで再現してぜひ体験したいと思ってます!
現在奮戦中です。
ど素人ということもありそもそものWindowsにRemotionを構築する(npm init video)段階でエラーが出てつまづいていますww
なかなか難しいです><