音声認識、LLM翻訳、テキスト読み上げを統合したAI音声翻訳ツール
Telnyx APIを利用して音声認識、大規模言語モデルによる翻訳、テキスト読み上げを統合したPythonベースのオープンソースAI音声翻訳ツールを紹介。音声ファイルをアップロードすると、翻訳された音声と整列された文字起こしを取得できます。
このPythonベースのオープンソースプロジェクトは、TelnyxのAPIを活用して、音声認識(STT)、大規模言語モデル(LLM)による翻訳、テキスト読み上げ(TTS)を統合したAI音声翻訳ツールを提供します。ユーザーはポッドキャスト、会議、講義などの任意の音声ファイルをアップロードすると、システムがソース言語の音声をテキストに変換し、LLMで翻訳し、ターゲット言語の音声を生成します。出力として、翻訳された音声ファイルと整列された文字起こしテキストが返されます。
このプロジェクトは、Telnyxの3つのコアAPIを使用しています:STT Transcribe(音声からテキストへ)、AI Inference(LLMによる翻訳)、TTS Generate(テキストから音声へ)。アーキテクチャは明確で、APIリクエストが到着すると、まずTTSで挨拶メッセージを再生し、その後ユーザーの音声を収集してSTTで文字起こしを行い、そのテキストをAI Inferenceに送信して翻訳処理を行い、最後に翻訳結果をTTSで音声に変換します。この処理は会話ループで繰り返されるため、対話的な体験が可能です。最終的に、翻訳ジョブのステータスやメタデータを含むJSONレスポンスが返されます。
TelnyxはAIコミュニケーションインフラストラクチャプラットフォームであり、LLMと音声トラフィックを同一のプライベートグローバルネットワーク上に配置することで、200ミリ秒未満のラウンドトリップを実現しています。環境変数の設定は簡単で、TELNYX_API_KEY、AI_MODEL、TTS_MODEL、STT_MODELの4つを設定するだけです。セットアップガイドでは、リポジトリのクローン、依存関係のインストール、アプリの実行、ngrokを使用したWebhook設定が詳しく説明されています。
APIリファレンスでは、POST /translateエンドポイントが用意されており、ユーザーはマルチパートフォームで音声ファイルをアップロードし、ソース言語とターゲット言語を指定できます。例えば、curlコマンドで簡単にテストできます:curl -X POST http://localhost:5000/translate -F [email protected] -F source=en -F target=ja。レスポンスには、ジョブID、ステータス、言語、元の音声長、翻訳後の音声長が含まれます。また、GET /healthエンドポイントでヘルスチェックが可能です。
トラブルシューティングとして、ポート5000が使用中の場合はアプリが停止しているか他のプロセスが占有していないか確認します。401 UnauthorizedエラーはAPIキーが無効なため、ポータルで再生成する必要があります。AIの応答が遅いまたは空の場合はモデル名を確認し、利用可能なモデルをデベロッパー向けドキュメントで参照します。関連サンプルや公式ドキュメントへのリンクも提供されており、さらに詳細な情報を得ることができます。