110
88

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ChatGPT+3Dモデルの音声対話エージェントを15分で開発する方法⚡️

Posted at

先日、タイトルの件についてRTAをしました。

その結果、だいたい2時間くらいで以下のようなChatGPT+3Dモデル対話エージェントが完成しました。

RTAではユーザーの話しかけに対する反応速度が遅くなっていたり(長文の読み上げ音声の生成&ダウンロードに時間がかかっている)、そもそも2時間って結構大変だなーみたいなのがあるので、基本的に"Out-of-the-Box"で動くサンプルを公開しました。
この記事ではChatGPTとおしゃべりするまでの手順と、その次に進みたい(自らもっとカスタマイズしたい)方向けのTipsを説明したいと思います。

音声認識・音声合成・ChatGPTのAPIKeyの取得

まずはAPI Keyの類を準備します。音声認識・音声合成としてGoogle / Azure / Watsonのいずれかを準備してください。

サービスにより設定手順が若干異なりますが、この記事では、APIKeyだけ設定すればOKかつスピードの速いGoogleを利用しますので、APIKeyを控えておきます。

次にOpenAIのAPIも利用できるようにして、APIKeyを控えておきましょう。

プロジェクトの準備

Unityを起動して3Dプロジェクトを作成したら、以下のライブラリをこの順番でインポートします。なおこの記事ではUnity2021.3 LTSを使用しています。

読み込みが完了したら、ChatdollKit/Demoフォルダの中のDemoChatシーンを開きます。ここまでうまくいったら、出来上がりとしてはこんな画面になっていると思います。スクリーンショット 2023-03-05 0.46.59.png

ChatGTPデモアプリの設定

はじめに音声認識・音声合成の設定をしていきます。ヒエラルキー上でChatdollKitを選択して、インスペクターのChatdoll KitにてSpeech Serviceを選択してください。
するとAPIKeyや言語設定など必要項目が表示されますので、あわせて入力します。Googleの場合はAPIKeyのみ入力すればOKです。
スクリーンショット 2023-03-05 0.47.45.png
また、Chat GPT Skillを探して、ここにOpenAIのAPIKeyを入力します。
スクリーンショット 2023-03-05 0.50.26.png

動作確認

なんと、もう設定完了です。それでは再生ボタンを押して「こんにちは」と話しかけてみましょう。「どうしたの?」と聞き返されてメッセージボックスに「Listening...」と表示されたら、そこからは好きなように会話してください。
スクリーンショット 2023-03-05 0.56.19.png
おつかれさまでした。おそらくここまで15分くらいでできたんじゃないかと思います。

とはいえ、これでめでたしめでたしになる方は少ないと思いますので、ここから先何がしたいか?を私なりに想像していかに「次のステップ」につながるTipsを書いていきたいと思います。

プロンプトエンジニアリングを楽しむ

インスペクターでChatGPTSkillのUserRoleAssistantRoleConditionをいじることで、さまざまなプロンプトエンジニアリングができると思います。
この入力に応じて、systemメッセージとしては以下の内容が送信されます。

[Roles]
user: {UserRoleの設定値}
assistant: {AssistantRoleの設定値}

[Condition]
{Conditionの設定値}

これらの値を変更することで、デフォルトの雑談エージェントではなくさまざまなタスクをこなせるようになったりとか、キャラクター設定や口調を変化させることができます。いろいろ試してみましょう!

かわいい・かっこいい声に変更する

クラウドサービスの音声合成ではいまいち対話していて楽しくありません。VOICEVOXやVOICEROIDのサーバーを立てて、それに繋ぎましょう。

  • VOICEVOX 無料で利用できる音声読み上げソフト。キャラクターも充実!!

サーバーのたて方についてはネットで検索するかChatGPTに聞いていただくとして、ChatdollKitでのVOICEVOX利用方法は以下の通りです。
スクリーンショット 2023-03-05 1.06.21.png
VOICEROIDも同じようにアタッチしてサーバーアドレスを入力すればOKです。

3Dモデルを変更する

ヒエラルキーからChatdollKitDemo(3Dモデルの女の子)を削除して、ご自身で用意されたVRMファイルを読み込んだらヒエラルキーに配置します。
その3DモデルのオブジェクトをインスペクターのModel ControllerAvatar Modelにセットしてから、メニューのSetup ModelControllerSetup Animatorを実行すればOKです。アイドルアニメーションを変更するには、3DモデルのAnimatorコンポーネントに設定されたコントローラーのDefaultステートのものを修正してください。
スクリーンショット 2023-03-05 1.16.51.png

VRoidなどで生成したVRMではない場合、実行時にエラーが発生する場合があります。その場合、以下の項目を見直して正しく設定してください。

  • Model ControllerFaceに、表情のシェイプキーが設定されたSkinnedMeshRendererを設定(基本的に顔のはず)
  • Model ControllerBlinkに、モデルのまばたきを制御するためのシェイプキーを入力
  • OVRLipSync Context Morph Targetに、表情のシェイプキーが設定されたSkinnedMeshRendererを設定(基本的に顔のはず)
  • 上記のViseme to Blend Targetsに各音素のシェイプキーを設定。この辺はネットをみてください

以上、ChatGPT+3Dモデルの音声対話エージェントのセットアップ方法と、その声と見た目、そして話し方や性格を等変更するためのTipsでした。

ずっとChatdollKitを使う必要もないと思いますので、慣れてきたらご自身でプラットフォームから作ってみるのも良いでしょう。

それでは、Enjoy AI Virtual Agent!

110
88
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
110
88

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?