For the complete documentation index, see llms.txt. This page is also available as Markdown.

カスタム STT

本ガイドでは、独自の STT(音声認識)サービス(Azure Speech Services、AWS Transcribe、その他カスタム STT など)をデジタルヒューマンと統合する方法を説明します。

本ページの内容はデジタルヒューマン株式会社の正式サポート対象外です。参考情報としてご利用ください。

概要:STT のオプションを理解する

デジタルヒューマンで音声認識を扱う方法は 3 種類 あります。

オプション
説明
音声処理の担当
文字起こしの担当

1. ビルトイン STT

プラットフォーム設定でマイクを有効化

Hosted Experience SDK

プラットフォーム(Google/Deepgram)

2. ミニプレム(MiniPrem) Whisper

MiniPrem の Whisper サービスを利用

お客様のフロントエンド

MiniPrem Whisper コンテナ

3. カスタム STT(BYOSTT)

独自の STT プロバイダーを持ち込む

お客様のフロントエンド

お客様の STT サービス(Azure、AWS など)

本ガイドはオプション 3:カスタム STT(Bring Your Own STT)に焦点を当てます。

アーキテクチャ:カスタム STT の動作

カスタム STT を使用する場合、デジタルヒューマンプラットフォームにビルトインされた音声認識を完全にバイパスします。処理の流れは次のとおりです。

主要概念:chatPrompt() メソッド

chatPrompt() メソッドは、カスタム STT を使用する際に、ユーザーのテキストをデジタルヒューマンに送信するための手段です。

パラメータ:

  • transcribedText(文字列):STT サービスから受信したテキスト

  • addClosedCaption(真偽値):テキストを字幕として表示する場合は true を指定

例:

ステップバイステップ実装ガイド

ステップ 1:ビルトインマイクなしで初期化する

デジタルヒューマンセッションを初期化する際は、ビルトインマイクを有効化しないでください。重要なオプションは次のとおりです。

カスタム STT 向けの主要設定オプション:

オプション
値
理由

enableMicrophone

false

プラットフォームによる音声キャプチャを防止

enableVad

false

ビルトイン音声アクティビティ検出を無効化

showUserInputInterface

false

オプション:独自入力 UI がある場合は ビルトイン入力 UI を非表示

やってはいけないこと:

注記: speechRecognitionProvider オプション(google/deepgram)は、ビルトインマイクを使用する場合にのみ適用されます。カスタム STT では文字起こしをお客様側で処理するため、本オプションは無関係です。

ステップ 2:ユーザーのマイクから音声をキャプチャする

Web Audio API または MediaRecorder を使用して音声をキャプチャします。

ステップ 3:STT サービスへ音声を送信する(Azure の例)

オプション A:Azure Speech SDK(推奨)

オプション B:Azure REST API

音声処理を自前で行い、Azure の REST API を呼び出したい場合は次のように実装します。

ステップ 4:文字起こしテキストをデジタルヒューマンへ送信する

STT サービスから文字起こしテキストを受信したら、デジタルヒューマンへ送信します。

ステップ 5:デジタルヒューマンの発話状態を処理する

ハウリングを防ぐため、デジタルヒューマンが発話している間はマイクをミュート/ミュート解除します。

完全な動作サンプル

以下は Azure を用いてカスタム STT を実装する完全な React コンポーネント例です。

Azure Speech Services のセットアップ

前提条件

  1. Speech Services リソースを利用できる Azure アカウント

  2. Azure Portal から取得した サブスクリプションキー と リージョン

認証情報の取得

  1. Azure Portal にアクセスします

  2. 新規に「Speech Services」リソースを作成します

  3. 作成後、「キーとエンドポイント」へ移動します

  4. 以下をコピーします:

    • KEY 1 または KEY 2(サブスクリプションキー)

    • 場所/リージョン(例:eastus、westus2)

サポートされる音声フォーマット

Azure Speech Services は以下を受け付けます。

  • PCM WAV:16 ビット、モノラル、16kHz(推奨)

  • Opus/WebM:ストリーミングに対応

  • MP3:対応するが効率は劣る

言語サポート

設定で使用言語を指定します。

サポート対象言語の一覧は Azure 言語サポート を参照してください。

トラブルシューティング

よくある問題

1. 「デジタルヒューマンへの接続に失敗しました」

  • chatPrompt() を呼び出す前にデジタルヒューマンセッションが初期化されているか確認してください

  • WebSocket 接続が確立されているか確認してください

2. 「Azure STT が文字起こししない」

  • サブスクリプションキーとリージョンが正しいか確認してください

  • ブラウザのマイク権限を確認してください

  • 音声フォーマットが Azure の要件に合致しているか確認してください(16kHz 推奨)

3. 「デジタルヒューマンが応答しない」

  • chatPrompt() が呼び出されているか確認してください(console.log を追加)

  • テキストが空または空白のみでないか確認してください

  • 会話/セッションがアクティブか確認してください

4. 「エコー/ハウリングが発生する」

  • デジタルヒューマンが発話中の自動ミュートを実装してください(ステップ 5 参照)

  • 音声キャプチャ設定でエコーキャンセルを使用してください

  • スピーカーとマイクの物理的距離を確保してください

5. 「文字起こしが遅い」

  • バッチ処理ではなくストリーミング/連続認識を使用してください

  • ユーザーに最も近い Azure リージョンを選択してください

  • 精度向上のため Azure のニューラルモデルの利用を検討してください

デバッグログ

処理の流れを追跡するためのログを追加します。

セキュリティ上の考慮事項

API キーをフロントエンドで露出させない

Azure 認証はバックエンドプロキシ経由で処理します。

バックエンドのトークンサービス例(Node.js)

その他の STT プロバイダー

AWS Transcribe

Google Cloud Speech-to-Text

まとめ

デジタルヒューマンでカスタム STT を利用する手順は次のとおりです。

  1. ビルトインマイクを 有効化しない(enableMicrophone: false)

  2. Web Audio API または MediaRecorder を使って 音声をキャプチャ する

  3. キャプチャした音声を STT サービス(Azure、AWS、Google など)へ 送信 する

  4. chatPrompt(text, true) を使って 文字起こしテキストをデジタルヒューマンへ送信 する

  5. デジタルヒューマンの発話状態を扱い、マイクのミュート/ミュート解除を行う

要となるメソッドは次のとおりです。

このメソッドにより、独自に文字起こししたテキストをデジタルヒューマンへ処理用に送信します。

最終更新