arrow_back

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

参加 ログイン

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

30分 クレジット: 1

GSP048

Google Cloud セルフペース ラボ

概要

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

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

ラボの内容

  • Speech API リクエストを作成し、curl で API を呼び出す

  • さまざまな言語の音声ファイルを使用して Speech 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 のプロダクトやサービスのリストが含まれるメニューが表示されます。 ナビゲーション メニュー アイコン

API キーを作成する

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

API キーを作成するには:

[API とサービス] > [認証情報] をクリックします。

Credentials.png

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

168581e4ae32f076.png

生成された API キーをコピーし、[閉じる] をクリックします。

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

API キーを作成する

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

次のステップを行うために、プロビジョニングされている linux-instanceSSH で接続してください。

provisioned-linux-instance.png

SSH ボタンをクリックすると、対話型シェルが表示されるので、次のように操作します。

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

export API_KEY=<YOUR_API_KEY>

API リクエストを作成する

API へのリクエストは、request.json ファイルで構築します。

touch request.json

ファイルを開くには、お好きなコマンドライン エディタ(nanovimemacs)または gcloud を使用します。request.json ファイルに次の行を追加します。ここでは、サンプルの RAW 音声ファイルの uri 値を使用しています。

{
  "config": {
      "encoding":"FLAC",
      "languageCode": "en-US"
  },
  "audio": {
      "uri":"gs://cloud-samples-data/speech/brooklyn_bridge.flac"
  }
}

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

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

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

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

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

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

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

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

Speech API を呼び出す

次の curl コマンドを実行して、リクエストの本文を API キーの環境変数とともに Speech 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 という名前のファイルに保管されます。ファイルの内容を表示するには以下のコマンドを使用します。

cat result.json

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

{
  "results": [
    {
      "alternatives": [
        {
          "transcript": "how old is the Brooklyn Bridge",
          "confidence": 0.98267895
        }
      ]
    }
  ]
}

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

上記のリクエストでは、syncrecognize メソッドを呼び出している点に注意してください。Speech API は、同期と非同期の両方の音声文字変換をサポートしています。この例では、録音済みの音声ファイルが使用されましたが、ユーザーが話しているときにストリーミング音声の文字変換を行う場合にも、syncrecognize メソッドを使用できます。

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

Speech API を呼び出す

さまざまな言語での音声文字変換

Speech API は 100 以上の言語の音声文字変換をサポートしているので、多言語対応が可能です。多言語に対応するには、request.jsonlanguage_code パラメータを変更します。サポート対象の言語については、こちらをご覧ください。

フランス語の音声ファイルを試してみましょう(確認する場合はこちらでお聞きください)。

request.json を編集して内容を次のように変更します。

 {
  "config": {
      "encoding":"FLAC",
      "languageCode": "fr"
  },
  "audio": {
      "uri":"gs://cloud-samples-data/speech/corbeau_renard.flac"
  }
}

ここで Speech API を呼び出すために curl コマンドを再実行します。

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

{
  "results": [
    {
      "alternatives": [
        {
          "transcript": "maître corbeau sur un arbre perché tenait en son bec un fromage",
          "confidence": 0.9710122
        }
      ]
    }
  ]
}

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

Cloud Speech-to-Text に対する API の制限事項と使用量上限は、以下に記載されています。 https://cloud.google.com/speech-to-text/quotas

お疲れさまでした

このラボでは、Speech API で音声文字変換を行う方法を学びました。音声ファイルの Cloud Storage URI を API に渡しましたが、別の方法として、base64 でエンコードされた音声コンテンツを渡すこともできます。

学習した内容

  • Speech API に音声ファイルの Cloud Storage URI を渡す
  • Speech API リクエストを作成し、curl で API を呼び出す
  • さまざまな言語の音声ファイルを使用して Speech API を呼び出す

ML-Language-Processing-badge.png Language_Speech_Text_Translation_GCAPIs_125.png

クエストを完了する

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

次のラボの受講

Measuring and Improving Speech Accuracy に進んでクエストを続けるか、以下のおすすめのラボをご確認ください。

次のステップと詳細情報

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

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

マニュアルの最終更新日: 2021 年 10 月 6 日
ラボの最終テスト日: 2021 年 10 月 5 日

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