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(サブスクリプションキー)

    • 場所/リージョン(例:eastuswestus2

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

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. デジタルヒューマンの発話状態を扱い、マイクのミュート/ミュート解除を行う

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

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

最終更新