Media Translation では、音声ファイルや音声ストリームを別の言語のテキストに翻訳します。このページでは、Media Translation クライアント ライブラリを使用してストリーミング オーディオをテキストに翻訳する方法を示すコードサンプルを提供します。
プロジェクトを設定する
Media Translation を使用するには、Google Cloud プロジェクトを設定し、そのプロジェクトで Media Translation API を有効にする必要があります。
- Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Media Translation API を有効にします。
-
サービス アカウントを作成します。
-
Google Cloud コンソールで [サービス アカウントの作成] ページに移動します。
[サービス アカウントの作成] に移動 - プロジェクトを選択します。
-
[サービス アカウント名] フィールドに名前を入力します。Google Cloud コンソールでは、この名前に基づいて [サービス アカウント ID] フィールドに値が設定されます。
[サービス アカウントの説明] フィールドに説明を入力します。例:
Service account for quickstart
- [作成して続行] をクリックします。
-
サービス アカウントに Project > Owner ロールを付与します。
ロールを付与するには、[ロールを選択] リストで [Project > Owner] を選択します。
- [続行] をクリックします。
-
[完了] をクリックして、サービス アカウントの作成を完了します。
ブラウザ ウィンドウは閉じないでください。次のステップでこれを使用します。
-
-
サービス アカウント キーを作成します。
- Google Cloud コンソールで、作成したサービス アカウントのメールアドレスをクリックします。
- [キー] をクリックします。
- [鍵を追加]、[新しい鍵を作成] の順にクリックします。
- [作成] をクリックします。JSON キーファイルがパソコンにダウンロードされます。
- [閉じる] をクリックします。
-
環境変数
GOOGLE_APPLICATION_CREDENTIALS
を、認証情報を含む JSON ファイルのパスに設定します。この変数は現在のシェル セッションにのみ適用されるため、新しいセッションを開く場合は、変数を再度設定する必要があります。 - Google Cloud CLI をインストールします。
-
gcloud CLI を初期化するには:
gcloud init
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Media Translation API を有効にします。
-
サービス アカウントを作成します。
-
Google Cloud コンソールで [サービス アカウントの作成] ページに移動します。
[サービス アカウントの作成] に移動 - プロジェクトを選択します。
-
[サービス アカウント名] フィールドに名前を入力します。Google Cloud コンソールでは、この名前に基づいて [サービス アカウント ID] フィールドに値が設定されます。
[サービス アカウントの説明] フィールドに説明を入力します。例:
Service account for quickstart
- [作成して続行] をクリックします。
-
サービス アカウントに Project > Owner ロールを付与します。
ロールを付与するには、[ロールを選択] リストで [Project > Owner] を選択します。
- [続行] をクリックします。
-
[完了] をクリックして、サービス アカウントの作成を完了します。
ブラウザ ウィンドウは閉じないでください。次のステップでこれを使用します。
-
-
サービス アカウント キーを作成します。
- Google Cloud コンソールで、作成したサービス アカウントのメールアドレスをクリックします。
- [キー] をクリックします。
- [鍵を追加]、[新しい鍵を作成] の順にクリックします。
- [作成] をクリックします。JSON キーファイルがパソコンにダウンロードされます。
- [閉じる] をクリックします。
-
環境変数
GOOGLE_APPLICATION_CREDENTIALS
を、認証情報を含む JSON ファイルのパスに設定します。この変数は現在のシェル セッションにのみ適用されるため、新しいセッションを開く場合は、変数を再度設定する必要があります。 - Google Cloud CLI をインストールします。
-
gcloud CLI を初期化するには:
gcloud init
- 希望する言語のクライアント ライブラリをインストールします。
音声を翻訳する
以下のサンプルコードは、最長 5 分間の音声を含むファイルまたはライブマイクから音声を翻訳する方法を示しています。認識の精度が最高となるように音声データを提供する方法についてのおすすめは、ベスト プラクティスをご覧ください。
主要な手順は、音声ソースに関係なく同じです。
Media Translation にリクエストを送信するために使用する
SpeechTranslationServiceClient
を初期化します。同じクライアントは複数のリクエストに再利用できます。
音声の処理方法を指定する
StreamingTranslateSpeechConfig
リクエスト オブジェクトを作成します。StreamingTranslateSpeechConfig
オブジェクトは、オーディオ ソース ファイルに関する情報を提供するTranslateSpeechConfig
と、スピーカーが一時停止したときに Media Translation による翻訳を続行するかどうかを指定するsingle_utterance
フラグで構成されます。TranslateSpeechConfig
オブジェクトは、音声ソースの技術仕様(エンコード、サンプルレートなど)を提供し、翻訳のソース言語とターゲット言語(BCP-47 言語コードを使用)を設定します。また、音声文字変換にどの翻訳モデルを Media Translation で使用するかを定義します。StreamingTranslateSpeechRequest
リクエスト オブジェクトのシーケンスを送信します。翻訳する音声ファイルごとに一連のリクエストを送信します。最初のリクエストはリクエストの
StreamingTranslateSpeechConfig
オブジェクトを提供し、後続のリクエストはストリーミングの音声コンテンツを提供します。StreamingTranslateSpeechResult
レスポンス オブジェクトを受け取ります。text_translation_result.is_final
の値がfalse
であるレスポンスを受信した場合は、最新の翻訳結果によって前の結果が上書きされます。Media Translation の最終結果があるときは、
text_translation_result.is_final
フィールドはtrue
に設定され、その後に受信した翻訳結果は以前の結果に追加されます。(この例では、前の結果は上書きされません)。完了した翻訳を出力し、音声文字変換と対応する音声の次の部分のために新しいセクションを開始できます。スピーカーが停止したときに、
StreamingTranslateSpeechConfig
リクエスト オブジェクトでsingle_utterance
フィールドが true に設定されている場合、Media Translation はレスポンス内のspeech_event_type
に対するEND_OF_SINGLE_UTTERANCE
イベントを返します。クライアントはリクエストの送信を停止しますが、翻訳が終了するまでレスポンスを受信し続けます。ストリーミングには 5 分間の制限があります。この制限を超えると、OUT_OF_RANGE エラーが返されます。
コードサンプル
音声ファイルからの音声の翻訳
Java
Media Translation 用のクライアント ライブラリをインストールして使用する方法については、Media Translation のクライアント ライブラリをご覧ください。詳細については、Media Translation Java API のリファレンス ドキュメントをご覧ください。
Media Translation で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
Media Translation 用のクライアント ライブラリをインストールして使用する方法については、Media Translation のクライアント ライブラリをご覧ください。詳細については、Media Translation Node.js API のリファレンス ドキュメントをご覧ください。
Media Translation で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Media Translation 用のクライアント ライブラリをインストールして使用する方法については、Media Translation のクライアント ライブラリをご覧ください。詳細については、Media Translation Python API のリファレンス ドキュメントをご覧ください。
Media Translation で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
マイクからの音声の翻訳
Java
Media Translation 用のクライアント ライブラリをインストールして使用する方法については、Media Translation のクライアント ライブラリをご覧ください。詳細については、Media Translation Java API のリファレンス ドキュメントをご覧ください。
Media Translation で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
Media Translation 用のクライアント ライブラリをインストールして使用する方法については、Media Translation のクライアント ライブラリをご覧ください。詳細については、Media Translation Node.js API のリファレンス ドキュメントをご覧ください。
Media Translation で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Media Translation 用のクライアント ライブラリをインストールして使用する方法については、Media Translation のクライアント ライブラリをご覧ください。詳細については、Media Translation Python API のリファレンス ドキュメントをご覧ください。
Media Translation で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。