🤖

【完成版】ChatGPTにゆっくり解説やらせたらヤバかった

2023/11/16に公開

ChatGPTなどのLLMとゆっくり解説を融合した開発を進めている過程で面白いものができたので記事にしました。

できたもの

デモ動画は以下のツイートに添付されている動画から見ることができます

このように、自然言語で指示を送信するだけでゆっくり解説が生成できます。
セリフだけでなく画像も自動で割り当てられています。
また、生成された動画を元に内容や画像をピンポイントで指定し修正することも可能です。

3月に以下記事を投稿しましたが、当時にくらべてセリフ面でも動画としてのクオリティも向上しています。
https://zenn.dev/moons/articles/313e72ae668729

用いた技術

1.ChatGPT
2.AquesTalk / VoiceVox
3.Remotion
4.気合と根性

1.ChatGPT

ゆっくりによる会話文の生成から画像の割当、そして動画の編集までChatGPTを活用しています。
プロンプトで以下のようなキャラクターの設定とテンプレートを指定しています。
このような情報を与えた上でGPT4で会話文を生成します。

キャラクターの設定
あなたは次のような二人の人物になりきって会話をしてください

・魔理沙:やや強気で物知りな女性。突っ込み役。霊夢のことは呼び捨てにする、文法上違和感のない限りかならず「だぜ」を語尾につけてしゃべる。
・霊夢:すこし抜けているところがあり、魔理沙に比べて知識量が少ない。魔理沙に対してわからないことを質問する女性。魔理沙のことは呼び捨てにする。ボケ役。たまに的外れなことを言い、魔理沙に修正される。
テンプレートの例
魔理沙:{動画の主題}って知ってるか?
霊夢:{簡単な質問}?
魔理沙:{単調すぎない応答}。
....

これによって以下のような会話文が生成されます。

生成された会話文の例
魔理沙:Minecraftって知ってるか?
霊夢:Minecraft?それってどういうゲームなの?
魔理沙:Minecraftとはブロックを使って建築したり冒険できるオープンワールドゲームだぜ。
....

また画像の埋め込みは以下のようなタグをセリフ内に埋め込むことで

  • タイミング
  • 画像の取得方法
  • 検索のためのデータ
    を一括で指定できます。
タグの例
<Action type="wikipedia" search="Youtube" />
// タグが挿入されたタイミングでwikipediaのYoutubeのページから画像を取得する

これにより、以下のように動画内に画像が挿入することができるようになります。

動画の編集

チャット形式での動画の編集はすべてChatGPTで行っています。
上記のような会話文・画像の指示とユーザーからの変更リクエストを元に再度生成します。

2.AquesTalk / VoiceVox

ゆっくりの音声とずんだもんの声を生成できるソフトウェアです。
VoiceVoxはAPI化されており使いやすいのですが、AquesTalkはC言語(C++?)をちょこっと書いて呼び出さないと行けないので少々面倒です。

3.Remotion

応答の高速化のために@remotion/playerを使いました。
バックエンドからはJsonなどで返すだけでフロントエンド部分で動画をレタリングできます。
欠点としてはセリフなど短い音声を割り当てていると少々挙動が怪しくなります...
サービスとして使うならサーバーで動画にレタリングしたほうがいいかもしれません。

4.気合と根性

パースやらプロンプトやらは気合と根性で解決しました。

最後に

サービスとしての公開はしていませんが、AIで生成された動画の例をYoutubeにアップロードしています。
ぜひ御覧ください。
https://www.youtube.com/@ai-yukkuri/shorts

レッツChatGPTライフ!!!
VOICEVOX:ずんだもん

Discussion