コマンドラインを使用してテキストから音声を作成する

このドキュメントでは、コマンドラインを使用して Text-to-Speech にリクエストを送信するプロセスについて説明します。Text-to-Speech の基本コンセプトについて詳しくは、Text-to-Speech の基本をご覧ください。

始める前に

Text-to-Speech API にリクエストを送信する前に、以下の操作を完了しておく必要があります。詳細については、始める前にのページをご覧ください。

  • GCP プロジェクトで Text-to-Speech を有効にする。
  • Text-to-Speech の課金が有効になっていることを確認する。
  • Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

    gcloud init

テキストを音声に変換する

テキストを音声に変換するには、https://texttospeech.googleapis.com/v1/text:synthesize エンドポイントに対して HTTP POST リクエストを実行します。POST コマンドの本文内の voice 構成セクションで、合成する声の種類を指定します。さらに、input セクションの text フィールドで合成するテキストを指定し、audioConfig セクションで作成する音声の種類を指定します。

  1. コマンドラインで次の REST リクエストを実行して、Text-to-Speech でテキストから音声を合成します。このコマンドは、gcloud auth application-default print-access-token コマンドを使用してリクエストの承認トークンを取得します。

    リクエストのデータを使用する前に、次のように置き換えます。

    • PROJECT_ID: Google Cloud プロジェクトの英数字の ID。

    HTTP メソッドと URL:

    POST https://texttospeech.googleapis.com/v1/text:synthesize

    リクエストの本文(JSON):

    {
      "input": {
        "text": "Android is a mobile operating system developed by Google, based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets."
      },
      "voice": {
        "languageCode": "en-gb",
        "name": "en-GB-Standard-A",
        "ssmlGender": "FEMALE"
      },
      "audioConfig": {
        "audioEncoding": "MP3"
      }
    }
    

    リクエストを送信するには、次のいずれかのオプションを展開します。

    次のような JSON レスポンスが返されます。

    {
      "audioContent": "//NExAASCCIIAAhEAGAAEMW4kAYPnwwIKw/BBTpwTvB+IAxIfghUfW.."
    }
    

  2. 上記の REST コマンドの JSON 出力には、合成された音声が base64 エンコード形式で格納されています。audioContent フィールドの内容を synthesize-output-base64.txt という新しいファイルにコピーします。新しいファイルは次のようになります。

    //NExAARqoIIAAhEuWAAAGNmBGMY4EBcxvABAXBPmPIAF//yAuh9Tn5CEap3/o
    ...
    VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
    
  3. synthesize-output-base64.txt ファイルの内容を synthesized-audio.mp3 という名前の新しいファイルにデコードします。base64 のデコード方法について詳しくは、Base64 でエンコードされた音声コンテンツのデコードをご覧ください。

    Linux

    1. base-64 エンコード形式のコンテンツのみをテキスト ファイルにコピーします。

    2. base64 コマンドライン ツールで -d フラグを使用してソーステキスト ファイルをデコードします。

        $ base64 SOURCE_BASE64_TEXT_FILE -d > DESTINATION_AUDIO_FILE
    

    Mac OSX

    1. base-64 エンコード形式のコンテンツのみをテキスト ファイルにコピーします。

    2. base64 コマンドライン ツールを使用してソース テキスト ファイルをデコードします。

        $ base64 --decode SOURCE_BASE64_TEXT_FILE > DESTINATION_AUDIO_FILE
    

    Windows

    1. base-64 エンコード形式のコンテンツのみをテキスト ファイルにコピーします。

    2. certutil コマンドを使用して、ソース テキスト ファイルをデコードします。

       certutil -decode SOURCE_BASE64_TEXT_FILE DESTINATION_AUDIO_FILE
    
  4. synthesized-audio.mp3 の内容を音声アプリケーションまたは音声デバイスで再生します。また、Chrome ブラウザで synthesized-audio.mp3 を開いて、ファイルが含まれているフォルダ(たとえば、file://my_file_path/synthesized-audio.mp3)に移動して音声を再生することもできます。

クリーンアップ

Google Cloud Platform で不必要な課金を避けるため、Google Cloud コンソールを使用して、不要なプロジェクトを削除します。

次のステップ

  • Cloud Text-to-Speech の詳細を確認する。基本をご覧ください。
  • 合成音声に利用可能な音声の一覧を確認する