このページでは、Speech-to-Text の音声文字変換リクエストにおいて、特定の機械学習モデルを使用する方法について説明します。
音声文字変換モデル
Speech-to-Text は、入力音声を多数の機械学習モデルのいずれか 1 つと比較して、音声クリップ内の単語を検出します。各モデルは、膨大な数のサンプル(この場合は人の会話に関する多数の音声録音)を分析することでトレーニングを行ってきました。
Speech-to-Text には、特定のソース(電話での通話や動画など)の音声によってトレーニングされた特殊なモデルがあります。こうしたトレーニング プロセスのため、これらの特殊モデルは同様の音声データに適用された場合により良い結果をもたらします。
たとえば、Speech-to-Text には、電話で録音された音声を認識するようにトレーニングされた音声文字変換モデルが用意されています。Speech-to-Text が phone_call
、telephony
、または telephony_short
モデルを使用して電話音声の音声文字変換を行うと、default
、command_and_search
、または video
モデルを使用して電話音声の音声文字変換を行った場合よりも精度の高い音声文字変換の結果が得られます。
次の表に、Speech-to-Text で使用可能な音声文字変換モデルを示します。
モデル名 | 説明 |
---|---|
latest_long |
このモデルは、メディアや自発的な会話など、あらゆる種類の長いコンテンツに対して使用します。特に動画モデルがターゲット言語で利用できない場合は、動画モデルの代わりにこのモデルを使用することを検討してください。これは、デフォルト モデルの代わりに使用することもできます。 |
latest_short |
このモデルは、長さが数秒の短い発話に使用します。これは、コマンドやその他のシングル ショットの音声のユースケースをキャプチャする場合に便利です。コマンドと検索モデルの代わりに、このモデルを使用することを検討してください。 |
phone_call |
電話の通話音声に最適です(通常は 8 kHz のサンプリング レートで録音されています)。 |
telephony |
「phone_call」モデルの改良版。電話の通話音声に最適です(通常は 8 kHz のサンプリング レートで録音されています)。 |
telephony_short |
電話の通話音声の短い発話または 1 単語の発話に対応した、最新の「テレフォニー」モデルの専用版(通常は 8 kHz のサンプリング レートで録音されています)。 |
medical_dictation |
このモデルは、医療専門家の指示を書き写すために使用します。 これは、標準レートよりも費用の高いプレミアム モデルです。詳細については、料金ページをご覧ください。 |
medical_conversation |
このモデルを使用して、医療従事者と患者の会話を文字変換します。 これは、標準レートよりも費用の高いプレミアム モデルです。詳細については、料金ページをご覧ください。 |
以下のモデルは、コンフォーマーではない従来のアーキテクチャに基づいており、主に下位互換性を維持するために保持されます。 | |
command_and_search |
音声コマンドや音声検索など、短い発話や 1 つの単語からなる発話に最適です。 |
default |
長時間の録音や口述といった、他の音声モデルに適合しない音声に最適です。デフォルト モデルでは、特定のモデル用にカスタマイズされたモデルがある動画クリップなど、あらゆる種類の音声の音声文字変換結果が生成されます。ただし、デフォルトのモデルを使用して動画クリップの音声を認識すると、動画モデルを使用する場合よりも低品質の結果が生成されます。16 kHz 以上のサンプリング レートで録音されたハイファイ音声であることが理想的です。 |
video |
複数の話者が存在する動画クリップやその他のソース(ポッドキャストなど)の音声に最適です。多くの場合、このモデルは、高音質のマイクで録音された音声や、周囲の雑音が多い音声に最適です。最良の結果を得るには、16,000 Hz 以上のサンプリング レートで録音された音声を使用してください。 |
音声文字変換のモデルを選択する
音声文字変換で使用する特定のモデルを指定するには、リクエストの RecognitionConfig
パラメータの model
フィールドに、許可されている値のいずれか(latest_long
、latest_short
、video
、phone_call
、command_and_search
、default
)を設定する必要があります。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/v1/speech:recognize \ --data '{ "config": { "encoding": "LINEAR16", "sampleRateHertz": 16000, "languageCode": "en-US", "model": "video" }, "audio": { "uri": "gs://cloud-samples-tests/speech/Google_Gnome.wav" } }'
リクエスト本文の構成の詳細については、RecognitionConfig
のリファレンス ドキュメントをご覧ください。
リクエストが成功すると、サーバーは 200 OK
HTTP ステータス コードと JSON 形式のレスポンスを返します。
{ "results": [ { "alternatives": [ { "transcript": "OK Google stream stranger things from Netflix to my TV okay stranger things from Netflix playing on TV from the people that brought you Google home comes the next evolution of the smart home and it's just outside your window me Google know hi how can I help okay no what's the weather like outside the weather outside is sunny and 76 degrees he's right okay no turn on the hose I'm holding sure okay no I'm can I eat this lemon tree leaf yes what about this Daisy yes but I wouldn't recommend it but I could eat it okay Nomad milk to my shopping list I'm sorry that sounds like an indoor request I keep doing that sorry you do keep doing that okay no is this compost really we're all compost if you think about it pretty much everything is made up of organic matter and will return", "confidence": 0.9251011 } ] } ] }
Go
Speech-to-Text 用のクライアント ライブラリをインストールして使用する方法については、Speech-to-Text クライアント ライブラリをご覧ください。詳細については、Speech-to-Text の Go 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 に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
その他の言語
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET の Speech-to-Text のリファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP の Speech-to-Text のリファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby の Speech-to-Text のリファレンス ドキュメントをご覧ください。
Cloud Storage 音声ファイルの音声文字変換を実行する
Go
Speech-to-Text 用のクライアント ライブラリをインストールして使用する方法については、Speech-to-Text クライアント ライブラリをご覧ください。詳細については、Speech-to-Text の Go 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 に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
その他の言語
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET の Speech-to-Text のリファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP の Speech-to-Text のリファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby の Speech-to-Text のリファレンス ドキュメントをご覧ください。