arrow_back

Cloud Speech API を使用した音声文字変換

参加 ログイン
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Cloud Speech API を使用した音声文字変換

Lab 30分 universal_currency_alt クレジット: 1 show_chart 入門
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP048

Google Cloud セルフペース ラボ

概要

Speech-to-Text API を使用すると、音声ファイルを 80 以上の言語のテキスト ファイルに文字変換できます。

このラボでは、音声ファイルを Speech API に送信して文字変換を行います。

学習内容

このラボでは、次のタスクを行う方法について学びます。

  • Speech-to-Text API リクエストを作成し、curl を使用して API を呼び出す
  • 別の言語の音声ファイルを使用して Speech-to-Text API を呼び出す

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。

このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。
  • ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、このラボでは使用しないでください。アカウントへの追加料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google コンソールを開く] をクリックします。 ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、[ラボの詳細] パネルから [ユーザー名] をコピーして [ログイン] ダイアログに貼り付けます。[次へ] をクリックします。

  4. [ラボの詳細] パネルから [パスワード] をコピーして [ようこそ] ダイアログに貼り付けます。[次へ] をクリックします。

    重要: 認証情報は左側のパネルに表示されたものを使用してください。Google Cloud Skills Boost の認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  5. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後このタブで Cloud Console が開きます。

注: 左上にある [ナビゲーション メニュー] をクリックすると、Google Cloud のプロダクトやサービスのリストが含まれるメニューが表示されます。 ナビゲーション メニュー アイコン

タスク 1. API キーを作成する

curl を使用して Speech-to-Text API にリクエストを送信するため、リクエスト URL に渡す API キーを生成する必要があります。

  1. API キーを作成するには、ナビゲーション メニューナビゲーション メニュー アイコン)で、[API とサービス] > [認証情報] をクリックします。

  2. [認証情報を作成] をクリックし、[API キー] を選択します。

  3. このラボで後で使用できるように、生成したキーをコピーして記録します。

  4. [閉じる] をクリックします。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。

API キーを作成する

ここで、API キーを環境変数に保存して、各リクエストに API キーの値を挿入しなくても済むようにします。

  1. 以降の手順を行うために、プロビジョニングされた linux-instanceSSH 経由で接続します。

ナビゲーション メニューナビゲーション メニュー アイコン)で、[Compute Engine] > [VM インスタンス] をクリックします。

[VM インスタンス] の一覧に、linux-instance VM が表示されていることを確認します。VM の詳細は VM 名の右側から次のように確認できます。

  1. VM 名 linux-instance の右側にある [SSH] をクリックします。

インタラクティブ シェルが開きます。このインタラクティブ シェルを使用して、次の操作を行います。

  1. シェル(SSH)で以下のコマンドを実行します。<YOUR_API_KEY> の部分は、先ほどコピーしたキーに置き換えてください。
export API_KEY=<YOUR_API_KEY>

タスク 2. API リクエストを作成する

注: このラボでは、あらかじめ録音されているファイルを使用します。このファイルは Cloud Storage(gs://cloud-samples-data/speech/brooklyn_bridge.flac)に用意されています。Speech-to-Text API に送信する前に、このファイルを聴くことができます。
  1. API へのリクエストは、request.json ファイルで構築します。request.json ファイルを作成します。
touch request.json
  1. 任意のコマンドライン エディタ(nanovimemacs)または gcloud を使用してファイルを開き、request.json ファイルに次の行を追加します。ここでは、サンプルの RAW 音声ファイルの uri 値を使用しています。
{ "config": { "encoding":"FLAC", "languageCode": "en-US" }, "audio": { "uri":"gs://cloud-samples-data/speech/brooklyn_bridge.flac" } }
  1. 必要に応じてファイルを保存します。

リクエスト本文には config オブジェクトと audio オブジェクトが記述されています。

config では、リクエストの処理方法を Speech-to-Text API に指示します。

  • encoding パラメータでは、ファイルを送信するときに使用する音声ファイルのエンコード タイプを API に指定します。FLAC は、.raw ファイルのエンコード タイプです(エンコード タイプの詳細については、RecognitionConfig リファレンスをご覧ください)。
  • languageCode がリクエストに含まれていない場合は、デフォルトで英語に設定されます。

config オブジェクトに追加できるパラメータはほかにもありますが、必須パラメータは encoding だけです。

audio オブジェクトでは、このラボ向けに Cloud Storage に保管されている音声ファイルの uri を API に渡します。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。

Speech API リクエストを作成する

これで Speech-to-Text API を呼び出す準備が整いました。

タスク 3. Speech-to-Text API を呼び出す

  1. 次の curl コマンドを実行して、リクエスト本文を API キーの環境変数とともに API に渡します(コマンドは 1 行で入力してください)。
curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json \ "https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}" > result.json

レスポンスは result.json という名前のファイルに保管されます。

  1. ファイルの内容を表示するには、次のコマンドを使用します。
cat result.json

curl コマンドが返すレスポンスは次のようになります。

{ "results": [ { "alternatives": [ { "transcript": "how old is the Brooklyn Bridge", "confidence": 0.98216057 } ], "resultEndTime": "1.770s", "languageCode": "en-us" } ], "totalBilledTime": "15s" }

Speech API によって音声ファイルから文字変換されたテキストは、transcript 値に入れて返されます。confidence 値は、API がどの程度の精度で音声を文字変換できたと考えられるかを示します。

上記のリクエストでは、syncrecognize メソッドを呼び出している点に注意してください。Speech-to-Text API は、同期と非同期の両方の音声文字変換をサポートしています。

この例では、録音済みの音声ファイルが使用されましたが、ユーザーが話しているときにストリーミング音声の文字変換を行う場合にも、syncrecognize メソッドを使用できます。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。

英語の Speech API を呼び出す

タスク 4. Speech-to-Text を使用して、さまざまな言語への音声文字変換を行う

Speech-to-Text API は 100 以上の言語の音声文字変換をサポートしているので、多言語対応が可能です。

多言語に対応するには、request.jsonlanguage_code パラメータを変更します。サポート対象言語の一覧については、言語サポートガイドをご覧ください。

フランス語の音声ファイルをお試しください(プレビューをこちらで聴くことができます)。

  1. request.json を編集して内容を次のように変更します。
{ "config": { "encoding":"FLAC", "languageCode": "fr" }, "audio": { "uri":"gs://cloud-samples-data/speech/corbeau_renard.flac" } }
  1. もう一度 curl コマンドを実行して、Speech-to-Text を呼び出します。

  2. 結果を確認します。

cat result.json

次のようなレスポンスが表示されます。

{ "results": [ { "alternatives": [ { "transcript": "maître corbeau sur un arbre perché Tenait dans son bec un fromage maître Renard par l'odeur alléché lui tint à peu près ce langage et bonjour monsieur du corbeau", "confidence": 0.93855613 } ], "resultEndTime": "12.630s", "languageCode": "fr-fr" } ], "totalBilledTime": "15s" }

これは、フランスで有名なある童話(著者: Jean de la Fontaine)の一文です。別の言語の音声ファイルがある場合は、Cloud Storage に追加してリクエストの languageCode パラメータを変更してみてください。

注: Cloud Speech-to-Text に関する API の制限事項や使用量上限は、割り当てと上限のリソースに記載されています。 フランス語の Speech API を呼び出す

お疲れさまでした

このラボでは、Speech API で音声文字変換を行いました。音声ファイルの Cloud Storage URI を API に渡しました。また、base64 でエンコードされた音声コンテンツの文字列を渡すという代替方法についても確認しました。

クエストを完了する

このセルフペース ラボは、「Intro to ML: Language Processing」クエストと「Language, Speech, Text & Translation with Google Cloud APIs」クエストの一部です。クエストとは学習プログラムを構成する一連のラボのことで、修了するとその成果が認められてバッジが贈られます。バッジは公開して、オンライン レジュメやソーシャル メディア アカウントにリンクできます。このラボの修了後、このラボが含まれるクエストに登録すれば、すぐにクレジットを受け取ることができます。受講可能な全クエストについては、Google Cloud Skills Boost カタログをご覧ください。

次のラボを受講する

Speech-to-Text の精度測定と改善」に進んでクエストを続けるか、以下のラボをお試しください。

次のステップと詳細情報

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2023 年 9 月 20 日

ラボの最終テスト日: 2023 年 9 月 20 日

Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。