Unity プロジェクトをインポートしてはじめてみよう
Unity プロジェクトのダウンロード
https://github.com/1ft-seabass/kaishi-tseigo-sample-2024-001 にアクセスします。
右上の Code ボタンをクリックします。
Local タブをクリックします。
Download ZIP ボタンをクリックして Unity プロジェクトをダウンロードします。
ダウンロードフォルダで kaishi-tseigo-sample-2024-001.zip を探します。
デスクトップに解凍します。kaishi-tseigo-sample-2024-001 があることを確認しましょう。
Unity プロジェクトの準備
Unity Hub を起動して、右上の Add ボタンをクリックします。
Add project from disk をクリックします。
kaishi-tseigo-sample-2024-001 フォルダを選択して Add Project ボタンをクリックします。
kaishi-tseigo-sample-2024-001 プロジェクトがリストに追加されたらクリックしましょう。
待ちます。
起動しました。ただこれだと Scene が選択されていないので SampleScene を選択します。
SampleScene 起動
下部の Project タブに注目します。
Scene をダブルクリックします。
SampleScene があるのでダブルクリックして起動しましょう。
SampleScene が起動しました。
ベースとなる記事
こちらの記事をベースに進めます。
- Unity からマイク録音して音データを Whisper API で文字起こしして ChatGPT API とやり取りするメモ – 1ft-seabass.jp.MEMO
現状で、
- Cube オブジェクトの準備
- クリックイベント (Physics Raycaster、EventSystem)の準備
- Cube オブジェクトに CubeEvent.cs の関連付け
- CubeEvent.cs のソースコード反映
まで行われています。
このあと、
- CubeEvent.cs を開く
- CubeEvent.cs に OpenAI の APIKey を反映
- 今回録音するマイクデバイスを狙う
- 動かしてみる
をやってみます。
もし詳しい手順を知りたかったり、一から作りたい方は Unity プロジェクトを一から作ってみよう を参考にしてみてください。
CubeEvent.cs を開く
Hierarchy に注目して Cube をクリックして選択します。
Inspector に注目します。Cube の設定がいろいろ書かれています。
CubeEvent を探します。
ここをダブルクリックします。
Visual Studio が起動し CubeEvent が編集できるようになります。
うまく表示できたら、
// OpenAIAPIKey
string OpenAIAPIKey = "OpenAIAPIKey";
こちらを授業中にシェアした OpenAI の APIKey で置き換えます。
たとえば ABCDEGHIJKLMNNABCDEGHIJKLMNN
の OpenAIAPIKey であれば、
// OpenAIAPIKey
string OpenAIAPIKey = "ABCDEGHIJKLMNNABCDEGHIJKLMNN";
とダブルクォーテーション "
の中を変更します。
一旦保存します。
Unity に戻ります。
今回録音するマイクデバイスを狙う
// PC の録音のターゲットになるマイクデバイス名
// これはお使いのデバイスで変わります
// 完全一致でないと受け取れないので注意
string recordingTargetMicDeviceName = "Krisp Microphone (Krisp Audio)";
現状だと、ブログ用の仮の Krisp Microphone (Krisp Audio)
が入っています。これはお使いのデバイスで変わりますので Console でマイク一覧を見ながら、今回録音するマイクデバイスを探しましょう。
動かす前に、動作ログが出る Console タブをクリックしておきます。
上部の Play ボタンをクリックします。
再生されます。
ログにマイク一覧が出てきます。普段 Zoom や Teams などで使っているマイクデバイスが見つかりましたか?
見つかったら、そのマイクの行をコンソールでクリックします。
マイク名を選択してコピーします。
右クリックでコピーできます。
// PC の録音のターゲットになるマイクデバイス名
// これはお使いのデバイスで変わります
// 完全一致でないと受け取れないので注意
string recordingTargetMicDeviceName = "Krisp Microphone (Krisp Audio)";
これを Visual Studio で開いてある Cube Event のこの部分を変更します。
たとえば マイク (Webcam Internal Mic)
であれば、
// PC の録音のターゲットになるマイクデバイス名
// これはお使いのデバイスで変わります
// 完全一致でないと受け取れないので注意
string recordingTargetMicDeviceName = "マイク (Webcam Internal Mic)";
として保存します。
保存を忘れないようにしましょう。
動かしてみる
Unity に戻ります。
上部の Play ボタンをクリックします。
再生されます。
今回録音するマイクが捜索できれば、マイク捜索成功とログが出ます。
Cube をマウスで直接クリックしてみます。
Console には Mic Record Start が出ます。録音開始です。「テスト」とでも話してみましょう。
もう一度 Cube をクリックしてマイク録音を停止します。
このように、OpenAI の Whisper API で音声が文字起こしされて「テスト」と結果表示されます。さらにその文字列をもとに ChatGPT に質問して返答が返ってきます!