top of page

ここまでできた! クライアント側文字入力でFEEが発声して口パクする!

執筆者の写真: snackvirtualsnackvirtual

更新日:2022年8月31日

通信でエラーになると動作しないため、エラーをつぶす作業を続ける


Python側で受信をjsonにすると受信できない

よって

data= request.get_json()  →  data= request.get_data()

これはByte型なので、jsonに変換

 data_json = json.loads(data.decode('utf8'))

CeVIO AI制御側でエラー

talker2.Speak(text).wait()  →  talker2.Speak(text).wait

これで音声まで出た!

javascript側(変更なし)

url_top ='http://localhost:5000/room/talk/data';    

      $(function(){
        $.ajax({
          url: url_top,
          type: 'POST',
          data: send_data,
          datatype: 'json',
        }).done(function(data){
          messages.textContent += 'ajax done\n';
          messages.textContent += `Return data : ${data}\n`;
          response_fee = data;
          onClickSend();
        }).fail(function(){
          messages.textContent += 'ajax failed\n';
        }); 
      });

python側

from flask import Flask, request
from flask_cors import CORS
import json
import CeVIO_control

app= Flask(__name__)
CORS(app)

data_json = ""
talk_from_client = ""
CeVIO_control.CeVIO_init()


@app.route('/room/talk/data', methods= ['GET', 'POST'])
def get_json():
    print("got some data")
    # read json + reply
    data= request.get_data()

    global data_json
    data_json = json.loads(data.decode('utf8'))
    print(data_json)
    talk_from_client = data_json["Talk_data"]
    print(talk_from_client)
    print("after_comm") 

    CeVIO_control.CeVIO_emotion_set(100,0,0,0,0)
    CeVIO_control.CeVIO_phoneme_data_get(talk_from_client)
    CeVIO_control.CeVIO_playback(talk_from_client)

    return data


if __name__== '__main__':
    app.run()
    

左側がTalk画面(つまりサーバー側)、左側がClient画面(ここでユーザーは入力して会話する)

(CPUパワーが非力なので、CeVIOの音声合成に物凄く時間がかかるし、時々失敗する)

VPNを使って外部から接続してみると…音声が出ない


OBSのレベルメーターは振れているので、ここまではきている

とすると、OBS → Virtual Cable → Chromeの系がおかしい

結論から言えば、OBSの音声モニター設定が無効になっていた


OBSの音声キャプチャの歯車をクリックして、オーディオの詳細プロパティを開き、

音声入力キャプチャの音声モニタリングを「モニターと出力」に設定すればOK



まだまだ体裁は整えないといけないが、基本的なところは動いた!

閲覧数:2回0件のコメント

最新記事

すべて表示

Comments


bottom of page