このページでは、Speech-to-Text に送信する音声文字変換リクエストに複数の言語コードを指定する方法について説明します。
音声録音に含まれている言語を明確に特定できない場合があります。たとえば、複数の公用語がある国でサービス、アプリ、製品を公開した場合、さまざまな言語でユーザーから音声入力を受け取ることが考えられます。この場合、1 つの言語コードを音声文字変換リクエストに指定することは非常に難しくなります。
複数の言語の認識
Speech-to-Text では、音声データに含まれる可能性のある一連の代替言語をユーザーが指定できます。つまり、Speech-to-Text に音声文字変換リクエストを送信するときに、音声データに含まれる可能性のある追加言語のリストを指定できます。言語リストをリクエストに含めると、Speech-to-Text は指定された言語の選択肢の中からサンプルに最適な言語を使用して音声文字変換を行い、音声文字変換の結果に予測した言語コードのラベルを付けます。
この機能は、音声コマンドや検索などの短い文を音声文字変換する必要があるアプリに最適です。第一言語に加えて、Speech-to-Text でサポートしている言語から 3 つの代替言語(合計 4 つの言語)をリストアップできます。
音声文字変換リクエストに代替言語を指定できますが、languageCode
フィールドには第一言語コードを指定する必要があります。また、リクエストする言語数は最小限に抑えてください。リクエストする代替言語コードの数が少ないほど、Speech-to-Text で正しい言語を選択できる確率が上がります。1 つの言語だけを指定すると最良の結果が得られます。
音声文字変換リクエストで言語認識を有効にする
音声文字変換で別の言語を指定するには、リクエストの際に RecognitionConfig
パラメータの alternativeLanguageCodes
フィールドに言語コードのリストを設定する必要があります。Speech-to-Text では、speech:recognize
、speech:longrunningrecognize
、ストリーミングのどの音声認識メソッドでも代替言語コードがサポートされています。
ローカル ファイルを使用する
プロトコル
詳細については、speech:recognize
API エンドポイントをご覧ください。
同期音声認識を実行するには、POST
リクエストを作成し、適切なリクエスト本文を指定します。次は、curl
を使用した POST
リクエストの例です。この例では、Google Cloud CLI を使用するプロジェクト用に設定されたサービス アカウントのアクセス トークンを使用します。gcloud CLI のインストール、サービス アカウントでのプロジェクトの設定、アクセス トークンの取得を行う手順については、クイックスタートをご覧ください。
次の例は、英語、フランス語、ドイツ語の音声を含む可能性のある音声ファイルの音声文字変換をリクエストする方法を示しています。
curl -s -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://speech.googleapis.com/v1p1beta1/speech:recognize \ --data '{ "config": { "encoding": "LINEAR16", "languageCode": "en-US", "alternativeLanguageCodes": ["fr-FR", "de-DE"], "model": "command_and_search" }, "audio": { "uri": "gs://cloud-samples-tests/speech/commercial_mono.wav" } }' > multi-language.txt
リクエストが成功すると、サーバーは 200 OK
HTTP ステータス コードと JSON 形式のレスポンス(multi-language.txt
というファイル名で保存される)を返します。
{ "results": [ { "alternatives": [ { "transcript": "hi I'd like to buy a Chromecast I'm ..." "confidence": 0.9466864 } ], "languageCode": "en-us" }, { "alternatives": [ { "transcript": " let's go with the black one", "confidence": 0.9829583 } ], "languageCode": "en-us" }, ] }
Java
Node.js
Python
リモート ファイルを使用する
Java
Node.js