【Unity】ドコモAIエージェントAPI SpeakSDKのサンプルをEditor上で実行する
初めに
「SpeakSDK for Unity サンプルアプリケーション」の実行手順をまとめました。トライアルサーバ向けの手順です。
docomoDeveloperSupport/speak-unity-sample
概ね以下の記事の通りですが、少しバージョンが変わっていたので補足していきます。
ドコモAIエージェントAPIを使ってキャラクターと会話する - Qiita
環境
- Windows 10 Home
- Untiy 2019.3.13f1(推奨バージョンは2019.3.2f1)
- speak-unity-sdk v1.14.4
流れ
- サンプルのソースコードをダウンロード
- SDKのダウンロードとインポート
- デバイスIDの取得
- デバイストークンの取得
- Unity上でデバイストークンを登録
- 実行
手順
以下のリポジトリをソースコード毎clone、もしくはダウンロードしてください。
speak-unity-sdkの最新版をダウンロードしてください。
Uniyでspeak-unity-sampleを開き、先ほどのSDKをUnityプロジェクト上にインポートしてください。
次にデバイスIDを取得します。以下のページにログインをし、設定から「デバイスIDの追加」を行ってください。デバイスIDが表示されるので、メモしておいてください。
デバイストークンを取得します。以下のページにログインをし、左上の「+」アイコンから新規デバイス登録画面を開いてください。先ほどのデバイスIDを入力し、登録してください。
サンプルの直下に入っているGetTrialDeviceToken.pyを実行する準備をします。
まずはGetTrialDeviceToken.pyを適当なエディタ(メモ帳でもOK)で開き、42行目のXXXXXXXXXXXXXXXXXXXX部分を先ほど取得したデバイスIDに書き換えて保存します。
CONFIG = {
"trial":{
"device_id":"XXXXXXXXXXXXXXXXXXXX",
"uds":"https://users-v2.sebastien.ai"
}
}
次にスクリプトを実行します。
Windowsの場合はpython3の実行環境が必要なので、こちらを参考にインストールしてください。パスを通すにチェックを入れておけば、コマンドプロンプトからコマンドが打てるようになります。
python3のインストール後、コマンドプロンプト上で以下のようにコマンドを入力してください。
# サンプルのコードに移動
$ cd move/your/directory
# デバイストークンの発行
$ python GetTrialDeviceToken.py
メッセージが表示されるのでエンターキーを押します。今までの手順が成功していれば次のような出力がされます。
{
"device_token": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
"refresh_token": "oooooooo-oooo-oooo-oooo-oooooooooooo",
"status": "valid"
}
SAVE ./.trial_device_token : yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
SAVE ./.trial_refresh_token : oooooooo-oooo-oooo-oooo-oooooooooooo
device_tokenの右側にあるyyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyyの部分がデバイストークンなので、メモしておいてください。
次に、Unity上でデバイストークンを登録します。Assets/Scripts/SpeakSDKManager.csの139, 140行目を以下のように書き換えてください。
-
wss://hostname.domain:443/path->wss://spf-v2.sebastien.ai/talk -
PUT_YOUR_DEVICE_TOKEN-> 先ほど発行したデバイストークン(デバイスIDではない)
// ---------------------------------------------------------------------------- //
// SDK初期化処理
// ---------------------------------------------------------------------------- //
private void InitializeSpeakSDK()
{
Speak.Instance().SetURL("wss://hostname.domain:443/path");
Speak.Instance().SetDeviceToken("PUT_YOUR_DEVICE_TOKEN");
// Callback.
Speak.Instance().SetOnTextOut(OnTextOut);
Speak.Instance().SetOnMetaOut(OnMetaOut);
}
Editor上でSDKを実行するためにはDLLの設定を変更する必要があります。(64bit環境の場合)Assets/Plugins/Windows/x86_64/flow.dllのinclude platformでEditorにチェックを入れ、Applyボタンを押してください。

準備は以上です。UnityのAssets/Scenes/main.unityを開き、シーンを実行します。
SDKstartをクリックすると少し待って緑色に変化します。その状態でテキストフィールドに「こんにちは」などと打って、テキストと音声が再生されれば成功です。お疲れ様でした。

最後に
宣伝ですが、 月額制のメンターサービスで初心者向けの開発サポートをしているので、分からないことがあれば是非こちらで質問してください!
Discussion