このページでは、Cloud Speech-to-Text を使用して複数のチャンネルを含む音声ファイルを文字変換する方法について説明します。マルチチャンネル認識は、すべてではないものの Cloud STT でサポートされているほとんどの音声エンコードで使用できます。各エンコード タイプの音声ファイルで認識されるチャンネル数については、audioChannelCount をご覧ください。
通常、音声データには録音中に存在している話者ごとに 1 つのチャンネルが含まれます。たとえば、2 人が電話で会話している音声では、回線ごとに別々に録音された 2 つのチャンネルが含まれます。
複数のチャンネルを含む音声データを文字変換するには、Cloud Speech-to-Text API へのリクエストにチャンネル数を指定する必要があります。これを行うには、リクエストの audioChannelCount フィールドに音声内のチャンネル数を設定します。
複数のチャネルを使用してリクエストを送信すると、Cloud STT は、音声内の異なるチャネルを識別する結果を、channelTag フィールドで各結果の代替をラベル付けして返します。
次のコードサンプルは、複数のチャンネルを含む音声データを文字変換する方法を示しています。
プロトコル
詳細については、speech:recognize API エンドポイントをご覧ください。
同期音声認識を実行するには、POST リクエストを作成し、適切なリクエスト本文を指定します。次は、curl を使用した POST リクエストの例です。この例では、Google Cloud CLI を使用してアクセス トークンを生成します。gcloud CLI のインストール手順については、クイックスタートをご覧ください。
次の例は、curl を使用して POST リクエストを送信する方法を示しています。この場合、リクエストの本文で音声サンプルに含まれているチャンネル数を指定しています。
curl -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "config": { "encoding": "LINEAR16", "languageCode": "en-US", "audioChannelCount": 2, "enableSeparateRecognitionPerChannel": true }, "audio": { "uri": "gs://cloud-samples-tests/speech/commercial_stereo.wav" } }' "https://speech.googleapis.com/v1/speech:recognize" > multi-channel.txt
リクエストが成功すると、サーバーは 200 OK HTTP ステータス コードと JSON 形式のレスポンス(multi-channel.json というファイル名で保存される)を返します。
{
"results": [
{
"alternatives": [
{
"transcript": "hi I'd like to buy a Chromecast I'm always wondering whether you could help me with that",
"confidence": 0.8991147
}
],
"channelTag": 1,
"languageCode": "en-us"
},
{
"alternatives": [
{
"transcript": "certainly which color would you like we have blue black and red",
"confidence": 0.9408236
}
],
"channelTag": 2,
"languageCode": "en-us"
},
{
"alternatives": [
{
"transcript": " let's go with the black one",
"confidence": 0.98783094
}
],
"channelTag": 1,
"languageCode": "en-us"
},
{
"alternatives": [
{
"transcript": " would you like the new Chromecast Ultra model or the regular Chromecast",
"confidence": 0.9573053
}
],
"channelTag": 2,
"languageCode": "en-us"
},
{
"alternatives": [
{
"transcript": " regular Chromecast is fine thank you",
"confidence": 0.9671048
}
],
"channelTag": 1,
"languageCode": "en-us"
},
{
"alternatives": [
{
"transcript": " okay sure would you like to ship it regular or Express",
"confidence": 0.9544821
}
],
"channelTag": 2,
"languageCode": "en-us"
},
{
"alternatives": [
{
"transcript": " express please",
"confidence": 0.9487205
}
],
"channelTag": 1,
"languageCode": "en-us"
},
{
"alternatives": [
{
"transcript": " terrific it's on the way thank you",
"confidence": 0.97655964
}
],
"channelTag": 2,
"languageCode": "en-us"
},
{
"alternatives": [
{
"transcript": " thank you very much bye",
"confidence": 0.9735077
}
],
"channelTag": 1,
"languageCode": "en-us"
}
]
}
Go
Cloud STT 用のクライアント ライブラリをインストールして使用する方法については、Cloud STT クライアント ライブラリをご覧ください。詳細については、Cloud STT Go API のリファレンス ドキュメントをご覧ください。
Cloud STT に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
Cloud STT 用のクライアント ライブラリをインストールして使用する方法については、Cloud STT クライアント ライブラリをご覧ください。詳細については、Cloud STT Java API のリファレンス ドキュメントをご覧ください。
Cloud STT に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
Cloud STT 用のクライアント ライブラリをインストールして使用する方法については、Cloud STT クライアント ライブラリをご覧ください。詳細については、Cloud STT Node.js API のリファレンス ドキュメントをご覧ください。
Cloud STT に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Cloud STT 用のクライアント ライブラリをインストールして使用する方法については、Cloud STT クライアント ライブラリをご覧ください。詳細については、Cloud STT Python API のリファレンス ドキュメントをご覧ください。
Cloud STT に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
その他の言語
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET 用の Cloud STT リファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP 用の Cloud STT リファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby 用の Cloud STT リファレンス ドキュメントをご覧ください。