音声認識(STT)
オートセンドアバター
音声入力をメインインターフェースとして使用するアバターの場合、接続完了時に自動的に音声認識を開始できます。
js
SDK.onStatus((status) => {
if (status === 'CONNECTED_FINISH') {
SDK.startListening();
}
});startListening()
マイクを有効化し、音声認識を開始します。
js
SDK.startListening();endListening()
音声認識を終了し、マイクを無効化します。 認識されたテキストがあれば、アバターが応答します。
js
SDK.endListening();cancelListening()
音声認識をキャンセルし、マイクを無効化します。 認識されたテキストを破棄し、アバターは応答しません。
js
SDK.cancelListening();STT関連シグナル
STTセッションと発話区間は別の概念です
startListening() / endListening() は STTセッション(マイクON/OFF)を制御します。 USER_SPEECH_STARTED / USER_SPEECH_STOPPED はセッション内の 発話区間の検出 であり、マイクはオンのままです。 USER_SPEECH_STOPPED を受信してもSTTセッションは終了しません。endListening() を呼び出す必要があります。
js
SDK.onSignal((data) => {
switch (data.signal) {
case 'USER_SPEECH_STARTED':
// ユーザーが話し始めた(マイクはすでにオン)
console.log('ユーザー発話開始');
break;
case 'USER_SPEECH_STOPPED':
// ユーザーが話し終えた(マイクはまだオン)
console.log('ユーザー発話終了');
break;
case 'STT_RESULT':
console.log('認識結果:', data.payload.text);
break;
}
});