API を使用して音声を文字に変換する
このページでは、REST インターフェースと curl
コマンドを使用して、Speech-to-Text に音声認識リクエストを送信する方法について説明します。
Speech-to-Text を使用すると、Google の音声認識技術をデベロッパーのアプリケーションに簡単に統合できます。音声データを Speech-to-Text API に送信し、音声ファイルの音声が文字に変換されたテキストを取得できます。サービスの詳細については、Speech-to-Text の基本をご覧ください。
始める前に
Speech-to-Text API にリクエストを送信する前に、以下の操作を完了しておく必要があります。詳細については、始める前にのページをご覧ください。
- GCP プロジェクトで Speech-to-Text を有効にする。
- Speech-to-Text の課金が有効になっていることを確認する。
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- (省略可)音声データを保存する新しい Google Cloud Storage バケットを作成する。
音声文字変換をリクエストする
では、Speech-to-Text を使用して、音声ファイルをテキストに変換してみましょう。次のコードサンプルを使用して、Speech-to-Text API に recognize
REST リクエストを送信します。
-
次のテキストを含む JSON リクエスト ファイルを作成し、
sync-request.json
書式なしテキスト ファイルとして保存します。{ "config": { "encoding":"FLAC", "sampleRateHertz": 16000, "languageCode": "en-US", "enableWordTimeOffsets": false }, "audio": { "uri":"gs://cloud-samples-tests/speech/brooklyn.flac" } }
この JSON スニペットは、音声ファイルのエンコード形式が FLAC で、サンプルレートが 16,000 Hz であり、この音声ファイルが Google Cloud Storage に特定の URI で保存されていることを表します。音声ファイルは一般公開されているため、このファイルにアクセスするための認証情報は必要ありません。
-
curl
を使用してspeech:recognize
リクエストを作成し、ステップ 1 で設定した JSON リクエストのファイル名を渡します。サンプルの
curl
コマンドでは、gcloud auth print-access-token
コマンドを使用して認証トークンを取得します。curl -s -H "Content-Type: application/json" \ -H "Authorization: Bearer "$(gcloud auth print-access-token) \ https://speech.googleapis.com/v1/speech:recognize \ -d @sync-request.json
curl
にファイル名を渡すには、-d
オプション(「データ」の意味)を使用して、ファイル名の前に@
記号を付けます。このファイルは、curl
コマンドを実行するディレクトリと同じディレクトリに存在する必要があります。次のようなレスポンスが表示されます。
{ "results": [ { "alternatives": [ { "transcript": "how old is the Brooklyn Bridge", "confidence": 0.98267895 } ] } ] }
これで、Speech-to-Text への最初のリクエストを送信できました。
エラーが発生する場合や Speech-to-Text からのレスポンスが空である場合は、トラブルシューティングとエラーの軽減の手順を確認してください。
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を実施します。
- プロジェクトを必要としない場合は、Google Cloud コンソールを使用して削除してください。
次のステップ
- 短い音声ファイルの音声を文字に変換する。
- 長い音声ファイルの音声認識を一括で行う方法を学習する。
- マイクからの入力など、ストリーミングの音声を文字に変換する方法を学習する。
- 特定の言語で Speech-to-Text クライアント ライブラリを使用して、Speech-to-Text を利用する。
- サンプル アプリケーションを実行する。
- ベスト プラクティスのドキュメントで、最高のパフォーマンスと精度を実現するための方法やヒントを確認する。