これが全体のシステム図である
動作はこのようになっている
はじめに
サーバーにしている自分のPCにブラウザでアクセス
Unity WebGLでbuldしたFeeの画面情報を返信
ブラウザで描画
次にClientがキー入力して会話するとき
キー入力をHTTP GETで通信
Flask - Pythonで受信
文章を解析してFeeの返信文章を作成(未作成。いまはエコーバック)
返信文章をCeVIO AIに送信
CeVIO AIでFeeの返信音声をwavで作ると同時に、口パク用の音素データ作成
Feeの返信文章と音素データを返信
ブラウザで返信受信したタイミングで文書表示、wavファイル再生、口パク開始
すべての制御をまとめると、以下のようになる
FlaskにはCORS対応が必要
HTTP GETのフォーマット
Requestに含まれているもの
ClientId:Clientと紐づけられ、サーバー側で重複なしで管理されているもの
ClientName:ClientIdと紐づけられた、FeeがClientを呼ぶときの名前
ClientSentence:Clientが入力した文章
ClientIdによって、ブラウザの送信がClientなのか異なるのかを判断する
異なった場合には会話に参加させず傍観するのみ
Responceに含まれるもの
ClientId:同上
ClientName:同上
ClientSentence:ClientNameが文頭に付加されている
FeeSentence:Feeの返信文章 Feeの名前が文頭に付加されている
Phoneme:FeeSentenceの音素データ
これから付加されそうなものとしては、Feeの表情や動きのデータがあると思われる
なお、現時点においてはLocalhostでのチェックのみであり、これが外部ネットワークで正常に動作するかどうかは未チェックである
別途時間ができたときに、例えばテザリングを用いて別のネットワーク経由で確認することを考えている
Comentários