このページでは、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
Speech-to-Text 用のクライアント ライブラリをインストールして使用する方法については、Speech-to-Text クライアント ライブラリをご覧ください。 詳細については、Speech-to-Text の Java API リファレンス ドキュメントをご覧ください。
Speech-to-Text に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
Speech-to-Text 用のクライアント ライブラリをインストールして使用する方法については、Speech-to-Text クライアント ライブラリをご覧ください。 詳細については、Speech-to-Text の Node.js API リファレンス ドキュメントをご覧ください。
Speech-to-Text に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
Speech-to-Text 用のクライアント ライブラリをインストールして使用する方法については、Speech-to-Text クライアント ライブラリをご覧ください。 詳細については、Speech-to-Text の Python API リファレンス ドキュメントをご覧ください。
Speech-to-Text に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
リモート ファイルを使用する
Java
Speech-to-Text 用のクライアント ライブラリをインストールして使用する方法については、Speech-to-Text クライアント ライブラリをご覧ください。 詳細については、Speech-to-Text の Java API リファレンス ドキュメントをご覧ください。
Speech-to-Text に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
Speech-to-Text 用のクライアント ライブラリをインストールして使用する方法については、Speech-to-Text クライアント ライブラリをご覧ください。 詳細については、Speech-to-Text の Node.js API リファレンス ドキュメントをご覧ください。
Speech-to-Text に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
Speech-to-Text 用のクライアント ライブラリをインストールして使用する方法については、Speech-to-Text クライアント ライブラリをご覧ください。 詳細については、Speech-to-Text の Python API リファレンス ドキュメントをご覧ください。
Speech-to-Text に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。