React SDK
useScribe:Reactでリアルタイムのスピーチtoテキスト文字起こし
Scribeとその機能の概要については、スピーチtoテキストの 概要を参照してください。ステップごとの使い方については、クライアント側 ストリーミングを参照してください。
インストール
ElevenLabs speech-to-text skillを使用すると、AIコーディングアシスタントでオーディオを文字起こしできます。
@elevenlabs/reactは@elevenlabs/clientのすべてを再エクスポートするため、
両方のパッケージをインストールする必要はありません。
使い方
Scribeに接続し、リアルタイムの文字起こしを表示する最小限の動作例を紹介します。
トークンの取得
Scribeでは、認証に1回限りのトークンが必要です。サーバーにAPIエンドポイントを作成してください。
ElevenLabs APIキーは機密情報です。クライアントに公開しないでください。トークンは必ず サーバー上で生成してください。
フックのオプション
デフォルトオプションとコールバックを指定してフックを設定します。
接続オプション
VADオプション
これらのオプションは、VADコミット戦略の使用時に文字起こしを自動的にコミットするタイミングを制御します。
オーディオオプション
microphoneオブジェクトでは、次を指定できます。
動作オプション
コールバック
すべてのイベントコールバックは任意で、フックのオプションとして指定できます。
- onConnect - WebSocket接続が確立されたときに呼び出されるハンドラー。
- onDisconnect - WebSocket接続が閉じられたときに呼び出されるハンドラー。
- onSessionStarted - Scribeセッションの開始時に呼び出されるハンドラー。
- onPartialTranscript - 暫定的な文字起こし結果を受け取るハンドラー。
{ text: string }を受け取ります。 - onCommittedTranscript - 確定した文字起こし結果を受け取るハンドラー。
{ text: string }を受け取ります。 - onCommittedTranscriptWithTimestamps - 単語レベルのタイミングを含む確定した文字起こし結果を受け取るハンドラー。
{ text: string; words?: { start: number; end: number }[] }を受け取ります。 - onError - すべてのエラーに対応する汎用エラーハンドラー。
Error | Eventを受け取ります。 - onAuthError - 認証エラー時に呼び出されるハンドラー。
{ error: string }を受け取ります。
エラーコールバック
汎用のonErrorコールバックは、すべてのエラーで実行されます。より細かく処理するための特定エラー用コールバックも利用できます。すべての特定エラー用コールバックは{ error: string }を受け取ります。
マイクモード
ユーザーのマイクからオーディオを直接ストリーミングします。
手動オーディオモード(ファイルの文字起こし)
事前に録音したオーディオファイルを文字起こしします。
戻り値
状態
- status - 現在の接続ステータス:
"disconnected"、"connecting"、"connected"、"transcribing"、または"error"。 - isConnected - 接続中かどうかを示すブール値。
- isTranscribing - アクティブに文字起こし中かどうかを示すブール値。
- partialTranscript - 現在の部分的(暫定)文字起こし文字列。
- committedTranscripts -
TranscriptSegmentオブジェクトの配列(以下を参照)。 - error - 現在のエラーメッセージ、または
null。
各確定済み文字起こしセグメントは、次の構造を持ちます。
メソッド
connect(options?)
Scribeに接続します。ここで指定したオプションはフックのデフォルトを上書きします。
disconnect()
接続を切断し、リソースをクリーンアップします。
sendAudio(audioBase64, options?)
オーディオデータを送信します(手動モードのみ)。
previousTextフィールドは、セッションの最初のオーディオチャンクでのみ送信できます。後続の
チャンクで送信するとエラーになります。
commit()
現在の文字起こしを手動でコミットします。
clearTranscripts()
状態からすべての文字起こしをクリアします。
getConnection()
基盤となる接続インスタンスを取得します。
コミット戦略
文字起こしをコミットするタイミングを制御します。
詳細については、文字起こしとコミット戦略を参照してください。
完全な例
VADベースのコミット戦略でuseScribeフックを使用するReactコンポーネントの完全な例を紹介します。