バッチ文字起こし
音声ファイルをアップロードしてAmiVoice非同期APIで文字起こしする仕組みを説明します。
処理パイプライン
バッチ文字起こしは以下のステップで処理されます:
ブラウザ/API → FastAPI → AWS S3 → SQS → Worker → AmiVoice async HTTP → PostgreSQL
- アップロード: ブラウザUIまたはIngest APIからFastAPIにファイルを送信。
- S3保存: 音声ファイルがAWS S3に保存される。
- SQSキュー: 処理ジョブがSQSキューに追加される。
- Worker処理: Workerサービスがジョブを取得し、AmiVoice非同期HTTP APIに送信。
- 結果保存: 文字起こし結果がPostgreSQLに保存される。
- 自動分析: 自動分析が有効の場合、文字起こし完了後にOpenAI分析が実行される。
処理時間
処理時間はファイルの長さとサーバー負荷によって異なります。
| 通話の長さ | 目安の処理時間 |
|---|---|
| 3分 | 3〜6分 |
| 5分 | 5〜10分 |
| 10分 | 10〜20分 |
| 30分 | 30〜60分 |
ℹ️処理時間は実時間の1〜2倍が目安です。ピーク時はさらに時間がかかる場合があります。
ステータスの確認
処理状況はダッシュボードまたは通話ログページで確認できます(5秒ごとに自動更新)。
| ステータス | 説明 |
|---|---|
| Queued | S3にアップロード済み。SQSキュー待ち。 |
| Processing | AmiVoiceで文字起こし中。 |
| Done | 文字起こし完了(分析も完了している場合あり)。 |
| Failed | エラーが発生。ログを確認してください。 |
言語コード
アップロード時に以下の言語コードを指定できます:
ja-JP— 日本語(AmiVoice日本語エンジン)en-US— 英語
ステレオチャンネル分割
環境変数 TRANSCRIBE_BY_CHANNEL=true を設定すると、ステレオファイルのチャンネルを分割して処理します:
- チャンネル0(左): エージェントの音声
- チャンネル1(右): 顧客の音声
各チャンネルが別々に文字起こしされ、話者ラベルが自動的に付与されます。コンタクトセンター専用の録音システムとの連携に最適です。
💡ステレオ分割を使用すると、モノラルのAmiVoice話者分離より精度が高い場合があります。