Google CloudのText-to-Speech APIを使い始める方法

このチュートリアルでは、Google CloudのText-to-Speech APIの設定と使用方法をご紹介します。例とコードスニペットを含めて説明します。

GoogleのText-to-Speech APIについて

ソフトウェアエンジニアとして、アプリケーションの機能性を高めるために様々なAPIを統合することがよくあります。Google CloudのText-to-Speech APIは、テキストを自然な響きのある音声に変換する強力なツールです。

Google TTS APIの最も一般的な使用例は以下の通りです:

  • アクセシビリティ:TTS技術の主な応用の一つは、視覚障害者や読解困難者のアクセシビリティを向上させることです。テキストを音声に変換することで、APIはユーザーがオーディオを通じてデジタルコンテンツにアクセスし、ウェブサイトを閲覧し、記事を読み、オンラインサービスとやり取りするのを容易にします。
  • バーチャルアシスタント:TTS APIはしばしば、バーチャルアシスタントやチャットボットを動かし、ユーザーとのより人間らしいコミュニケーションを可能にするために使用されます。これはユーザーエクスペリエンスを向上させ、開発者がより魅力的でインタラクティブなアプリケーションを作成するのを可能にします。
  • E-Learning: In the education sector, the Google TTS API can be utilized to create audio versions of textbooks, articles, and other learning materials. This enables students to consume educational content while on the go, multitasking, or simply preferring to listen rather than read.
  • オーディオブック:Google TTS APIは、書かれたコンテンツをオーディオブックに変換するために使用できます。これにより、手作業によるナレーションの時間とリソースを節約し、迅速なコンテンツの作成と配信が可能になります。
  • 言語学習: このAPIは複数言語をサポートしており、言語学習アプリケーションにとって貴重なツールとなります。正確で自然な音声を生成することで、TTS APIはユーザーがリスニングスキル、発音、そして言語理解全体を向上させるのに役立ちます。
  • コンテンツマーケティング: 企業はTTS APIを活用して、ブログ記事、記事、その他のマーケティング資料のオーディオバージョンを作成することができます。これにより、読むよりも聞くことを好む広範な聴衆に到達することが可能となります。
  • 電気通信: TTS APIは、インタラクティブボイスレスポンス(IVR)システムに統合でき、企業はカスタマーサービスの自動化、コールヤーに情報提供、適切な部署へのルーティングを行うことができます。これにより、企業は時間とリソースを節約しながら、高い顧客満足度を維持することができます。

GoogleのText-to-Speech APIを使用する

前提条件

始める前に、以下を確認してください:

  • A Google Cloud Platform (GCP) account. If you don’t have one, sign up for a free trial here.
  • Pythonプログラミングの基本知識。
  • A text editor or integrated development environment of your choice.

ステップ1: Text-to-Speech APIを有効にする

  • GCPアカウントにログインし、GCPコンソールに移動します。
  • プロジェクトのドロップダウンをクリックし、新しいプロジェクトを作成するか既存のものを選択します。
  • 左サイドバーで、APIs & Servicesをクリックしてからライブラリを選択します。
  • Text-to-Speech API」を検索して結果をクリックします。
  • 有効化」をクリックしてプロジェクトでAPIを有効にします。

ステップ2: API資格情報の作成

  • 左サイドバーで、APIs & Servicesをクリックしてから資格情報を選択します。
  • 資格情報の作成」をクリックし、サービスアカウントを選択します。
  • 必要な詳細を入力し、「作成」をクリックします。
  • このサービスアカウントにプロジェクトへのアクセス権を付与」ページで、Cloud Text-to-Speech APIユーザーの役割を選択し、「続行」をクリックします。
  • 完了」をクリックしてサービスアカウントを作成します。
  • サービスアカウント」リストで、新しく作成されたサービスアカウントをクリックします。
  • キーの下で、キーを追加をクリックし、JSONを選択します。
  • JSONキー ファイルをダウンロードし、安全な場所に保存してください。これは機密情報を含んでいます。

ステップ3: Python環境の設定

  • Google Cloud SDKをインストールする手順に従ってください こちら

  • Python用のGoogle Cloud Text-to-Speechライブラリをインストールします:

      pip install --upgrade google-cloud-texttospeech
    
  • GOOGLE_APPLICATION_CREDENTIALS環境変数を、先にダウンロードしたJSONキー ファイルのパスに設定してください:

      export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/keyfile.json"
    

    (/path/to/your/keyfile.jsonを実際のJSONキー ファイルのパスに置き換えてください。)

ステップ4: Pythonスクリプトの作成

新しいPythonスクリプト(例えばtext_to_speech.py)を作成し、以下のコードを追加します:

from google.cloud import texttospeech
def synthesize_speech(text, output_filename):

# Text-to-Speechクライアントを作成
client = texttospeech.TextToSpeechClient()

# テキスト入力を設定
input_text = texttospeech.SynthesisInput(text=text)

# 音声設定を構成
voice = texttospeech.VoiceSelectionParams(
language_code="en-US",
ssml_gender=texttospeech.SsmlVoiceGender.FEMALE
)

# オーディオ構成を設定
audio_config = texttospeech.AudioConfig(
audio_encoding=texttospeech.AudioEncoding.MP3
)

# Text-to-Speechリクエストを実行
response = client.synthesize_speech(
input=input_text, voice=voice, audio_config=audio_config
)

# オーディオをファイルに保存
with open(outputwb") as out:
out.write(response.audio_content)
print(f"Audio content written to '{output_filename}'")

# Text-to-Speech機能をテスト
synthesize_speech("Hello, world!", "output.mp3")

このスクリプトは、テキスト文字列と出力ファイル名を引数とするsynthesize_speech関数を定義します。Google Cloud Text-to-Speech APIを使用してテキストを音声に変換し、結果のオーディオをMP3ファイルとして保存します。

ステップ5: スクリプトを実行

コマンドラインからPythonスクリプトを実行します:

python text_to_speech.py

これにより、入力テキスト“Hello, world!”の話されたバージョンが含まれるoutput.mp3ファイルが作成されます。

ステップ6(オプション): 音声とオーディオ設定をカスタマイズ

ボイスやオーディオ設定をカスタマイズするには、synthesize_speech 関数内の voice および audio_config 変数を変更します。たとえば、言語を変更するには en-US を別の言語コード(例: スペイン語の場合は es-ES)に置き換えます。性別を変更するには、texttospeech.SsmlVoiceGender.FEMALEtexttospeech.SsmlVoiceGender.MALE に置き換えます。詳細については、Text-to-Speech API ドキュメントを参照してください。

GoogleのText-To-Speechパラメータの微調整

GoogleのSpeech-to-Text APIは、開発者が特定のユースケースに合わせてAPIの動作を微調整できる幅広い設定パラメータを提供しています。最も一般的な設定パラメータとその使用例には以下が含まれます:

  • オーディオエンコーディング: APIに送信されるオーディオファイルのエンコーディング形式を指定します。サポートされているエンコーディング形式には FLACLINEAR16MULAWAMRAMR_WBOGG_OPUSSPEEX_WITH_HEADER_BYTE があります。開発者は、入力元、オーディオ品質、およびターゲットアプリケーションに基づいて適切なエンコーディング形式を選択できます。
  • オーディオサンプルレート: オーディオファイルのサンプリングレートを指定します。サポートされているサンプルレートには 8000、16000、22050、44100 Hz があります。開発者は、入力元とターゲットアプリケーションの要件に基づいて適切なサンプルレートを選択できます。
  • 言語コード: 入力された音声の言語を指定します。サポートされている言語には、英語、スペイン語、フランス語、ドイツ語、中国語(普通話)、その他多くの言語が含まれます。開発者はこのパラメータを使用して、APIが適切な言語で入力音声を正確に文字起こしすることを確認できます。
  • モデル: 開発者がGoogleが提供する異なる文字起こしモデルから選択できます。利用可能なモデルにはデフォルト、ビデオ、phone_callcommand_and_searchが含まれます。開発者は入力元とターゲットアプリケーションの要件に基づいて適切なモデルを選択できます。
  • 音声コンテキスト: 開発者が入力音声に含まれる可能性のある特定の単語やフレーズを指定できます。これにより、APIに入力音声のコンテキストを提供し、文字起こしの精度を向上させることができます。

これらの設定パラメータは、特定のユースケースに最適なカスタム設定を作成するためにさまざまな方法で組み合わせることができます。たとえば、開発者は特定の文字起こしモデルとカスタムの音声コンテキストリストを使用してスペイン語での電話会議を文字起こしするAPIを構成できます。

全体的に、GoogleのSpeech-to-Text APIは音声からテキストへの文字起こしに強力なツールであり、その設定をカスタマイズする機能により、さらに多機能になります。適切な設定パラメータを慎重に選択することで、開発者は幅広いユースケースに対してAPIのパフォーマンスと精度を最適化できます。

結論

このチュートリアルでは、Google CloudのText-to-Speech APIを始める方法をお見せしました。GCPアカウントの設定、API認証情報の作成、必要なライブラリのインストール、テキストやSSMLを音声に変換するPythonスクリプトの書き方などを含みます。これで、この機能をアプリケーションに組み込み、ユーザーエクスペリエンスを向上させたり、オーディオコンテンツを作成したり、アクセシビリティ機能をサポートすることができます。

Google CloudのText-to-Speech APIに関するよくある質問(FAQ)

Google CloudのText-to-Speech APIの主な機能は何ですか?

Google CloudのText-to-Speech APIは、テキストを自然な聞き取りやすい音声に変換する強力なツールです。40以上の言語やバリエーションで200以上の声を提供し、言語サポートの柔軟性を高めています。また、非常にリアルな音声を提供するためのニューラルネットワークによる声の選択もあります。APIはSSMLタグをサポートし、一時停止、数字、日付と時刻のフォーマット、その他の発音指示を追加できます。さらに、ピッチ、話す速度、音量ゲインの制御など、高いカスタマイズレベルも提供しています。

Google CloudのText-to-Speech APIを始めるにはどうすればいいですか?

Google CloudのText-to-Speech APIを始めるには、まずGoogle Cloudプロジェクトを設定し、そのプロジェクトでText-to-Speech APIを有効にする必要があります。その後、プロジェクトを認証してAPIへのリクエストを開始できます。APIはテキストを音声に変換するためのシンプルな構文を使用し、音声出力の声やフォーマットをカスタマイズできます。

Google CloudのText-to-Speech APIは無料で使えますか?

Google CloudのText-to-Speech APIは完全に無料ではありません。音声に変換する文字数に基づいた料金モデルが適用されます。ただし、GoogleはAPIの無料枠を提供しており、毎月一定数の文字を無料で音声に変換できます。

Google CloudのText-to-Speech APIをアプリケーションにどのように統合できますか?

HTTP POSTリクエストをAPIに送信することで、Google CloudのText-to-Speech APIをアプリケーションに統合できます。変換したいテキストと、適用したいカスタマイズオプションをリクエストに含める必要があります。APIはその後、オーディオデータの応答を返し、これを再生またはオーディオファイルとして保存できます。

Google CloudのText-to-Speech APIを商用目的で使用できますか?

はい、Google CloudのText-to-Speech APIは商用目的で使用できます。ただし、APIの使用はGoogleの利用規約に従う必要があり、無料枠を超えた場合にはAPIの使用料が発生する可能性があります。

Google CloudのText-to-Speech APIはどの言語をサポートしていますか?

Google CloudのText-to-Speech APIは40以上の言語およびバリエーションをサポートしており、英語、スペイン語、フランス語、ドイツ語、イタリア語、オランダ語、ロシア語、中国語、日本語、韓国語を含む。これにより、複数言語をサポートするアプリケーションにとって便利なツールとなります。

Google CloudのText-to-Speech APIでボイスをどのようにカスタマイズできますか?

Google CloudのText-to-Speech APIでは、音声名、言語コード、SSMLの性別をAPIリクエストで指定することで音声をカスタマイズできます。また、音程、話速、ボリュームゲインを調整することも可能です。

Google CloudのText-to-Speech APIをオフラインで使用できますか?

いいえ、Google CloudのText-to-Speech APIはクラウドベースのサービスであり、インターネット接続が必要です。APIにHTTPリクエストを行い、インターネット経由で音声データを受け取る必要があります。

Google CloudのText-to-Speech APIで生成される音声の音質はどの程度ですか?

Google CloudのText-to-Speech APIで生成される音声の音質は非常に高く、高度なニューラルネットワークを使用して自然な音声を生成し、人間の音声とほとんど区別がつかないほどです。

Google CloudのText-to-Speech APIを使ってオーディオブックを作成できますか?

はい、Google CloudのText-to-Speech APIを使用してオーディオブックを作成できます。大量のテキストを高品質の音声に変換し、書籍の内容に合わせて音声をカスタマイズできます。ただし、APIでオーディオブックを作成する場合、多量のデータを扱うことになり、無料枠を超えるとコストが発生することに注意してください。

Source:
https://www.sitepoint.com/started-with-google-clouds-text-to-speech-api/