
始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Enable the Text-to-Speech API
/ 50
Create a service account
/ 50
Text-to-Speech API を使用すると、機械で生成された、つまり合成された人間の音声のファイルを作成できます。コンテンツをテキストまたは音声合成マークアップ言語(SSML)として提供し、音声(独特のトーンとアクセントを持つ言語のユニークな「話者」)を指定して出力を構成すると、指定した声で話された言葉の音声データとして、コンテンツが Text-to-Speech API によって返されます。
このラボでは、Text-to-Speech API を使用して一連の音声ファイルを作成し、それらを聴いて違いを比較します。
このラボでは、Text-to-Speech API を使用して次のことを行います。
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] ペインでもユーザー名を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] ペインでもパスワードを確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google Cloud コンソールが開きます。
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン をクリックします。
ウィンドウで次の操作を行います。
接続した時点で認証が完了しており、プロジェクトに各自の Project_ID、
gcloud
は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
出力:
出力:
gcloud
ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
Cloud Shell で次のコマンドを入力し、このラボでプロジェクトを実行するリージョンを設定します。
[Cloud Text-to-Speech API] ページには、詳細や指標などが表示されます。
API を有効にします。
ナビゲーション メニュー()で、[API とサービス] > [ライブラリ] をクリックします。
[API とサービスを検索] ボックスに「text-to-speech」と入力し、検索結果で [Cloud Text-to-Speech API] をクリックします。
[有効にする] をクリックして、Cloud Text-to-Speech API を有効にします。
API がプロジェクトで有効になるまで数秒待ちます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Python 仮想環境を使用して、パッケージのインストール先をシステムとは別の場所にします。
virtualenv
環境をインストールします。サービス アカウントを使用して、Text-to-Speech API への呼び出しを認証します。
サービス アカウントを作成します。
GOOGLE_APPLICATION_CREDENTIALS
環境変数をキーファイルの場所に設定します。[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Text-to-Speech API には、音声ファイルの作成に使用できるさまざまな音声と言語が用意されています。利用可能な音声をコンテンツの話者として使用できます。
curl
コマンドを使用して、Text-to-Speech API で合成音声を作成する際に利用できる音声の一覧を表示します。Text-Speech API は、次のような JSON 形式の結果を返します。
curl
コマンドの結果では、各音声に以下の 4 つのフィールドがあります。
name
: 音声をリクエストするために指定する音声 ID。ssmlGender
: テキストを話す声の性別(SSML W3 の推奨事項で定義)。naturalSampleRateHertz
: 音声のサンプリング レート。languageCodes
: 音声に関連付けられた言語コードのリスト。一部の言語では複数の音声を選択できます。
テキストを発話する音声の名前を取得する方法を確認できましたので、合成音声の作成に移りましょう。
これを行うには、Cloud Shell エディタを使用して、synthesize-text.json
という名前のテキスト ファイルで Text-to-Speech API へのリクエストを作成します。
Cloud Shell で [エディタを開く] をクリックして、Cloud Shell エディタを開きます。
アクションバーで、[ファイル] > [新しいファイル] をクリックします。
[ファイル形式を選択] または [ファイル名を入力] フィールドに「synthesize-text.json」と入力します。
[OK] をクリックします。
synthesize-text.json
に次のコードを追加します。
JSON 形式のリクエストでは、次の 3 つのオブジェクトが提供されます。
input
: 合成音声に変換するテキストを指定します。voice
: 合成音声に使用する音声をオブジェクトが指定します。audioConfig
: どの種類の音声エンコードを送り返すかを Text-to-Speech API に指示します。[ターミナルを開く] をクリックしてターミナルに戻ります。
Text-to-Speech API を呼び出します。
この呼び出しの出力は、synthesize-text.txt
というファイルに保存されます。
synthesize-text.txt
ファイルを開きます。以下に示されるように、Text-to-Speech API は audioContent
フィールドに割り当てられた base64 エンコード テキストで音声出力を提供します。レスポンスを音声に変換するには、音声データ synthesize-text.txt
を選択し、音声ファイル(このラボでは MP3 ファイル)にデコードします。これを実行する方法は多数ありますが、このラボでは簡単な Python コードを提供します。
アクションバーで、[ファイル] > [新しいファイル] をクリックします。
[ファイル形式を選択] または [ファイル名を入力] フィールドに「tts_decode.py」と入力します。
[OK] をクリックします。
次のコードを tts_decode.py
に入力するかコピーします。
tts_decode.py
を保存します。Text-to-Speech API から受け取ったレスポンスから音声ファイルを作成するには:
[ターミナルを開く] をクリックして Cloud Shell に戻ります。
次のように音声ファイル synthesize-text-audio.mp3
を作成します。
[エディタを開く] をクリックして Cloud Shell エディタを開きます。
左側のペインで [synthesize-text-audio.mp3
] をクリックしてファイルを開きます。
ファイルを再生し、提供したテキストが合成音声によって読み上げられるのを聴きます。
テキストを使用するだけでなく、音声合成マークアップ言語(SSML)の形式で Text-to-Speech API に入力を提供することもできます。SSML は、合成音声を表現するための XML 形式を定義します。SSML 入力を使用すると、合成音声出力の休止、強調、発音、ピッチ、速度などの品質をより正確に制御できます。
まず、synthesize-ssml.json
というテキスト ファイルで Text-to-Speech API へのリクエストを作成します。
Cloud Shell エディタのアクションバーで [ファイル] > [新しいファイル] をクリックします。
[ファイル形式を選択] または [ファイル名を入力] フィールドに「synthesize-ssml.json」と入力します。
[OK] をクリックします。
synthesize-ssml.json
に次のコードを入力するか、コピーします。
送信する JSON ペイロードの input
オブジェクトに、今回はいくつかの異なるものが含まれています。
input
オブジェクトに、text
フィールドではなく ssml
フィールドがあります。ssml
フィールドに、ルートとして <speak>
要素を持つ XML 形式のコンテンツが含まれています。入力の XML 表現に含まれる各要素は、合成音声の出力に影響を及ぼします。
具体的には、このサンプル内の要素には次のような効果があります。
<s>
には文が含まれます。<emphasis>
は、囲まれた単語やフレーズを強調します。<break>
は、音声に休止を挿入します。<prosody>
は、rate
、pitch
、volume
の各属性で指定されたとおりに、囲まれたテキストのピッチ、発話速度、音量をカスタマイズします。<say-as>
は、囲まれたテキストを解釈して発話する方法について、より詳細なガイダンスを提供します(たとえば、並んでいる数字を序数と基数のどちらで発話するかなど)。<sub>
は、囲まれたテキストの代わりに発話する置換値を指定します。[ターミナルを開く] をクリックして Cloud Shell ターミナルを開きます。
Text-to-Speech API を呼び出して、出力を synthesize-ssml.txt
というファイルに保存します。
ここでも音声を聴くには、Text-to-Speech API からの出力をデコードする必要があります。
tts_decode.py
ユーティリティを使用して、synthesize-ssml-audio.mp3
という名前の音声ファイルを生成します。[エディタを開く] をクリックします。
左側のペインで [synthesize-ssml-audio.mp3
] をクリックし、埋め込まれた音声ファイルを再生します。
SSML 出力とテキスト ファイル出力の違いに注目してください。どちらの音声ファイルも同じ単語を発話していますが、SSML 出力では休止が追加されているほか、略語に対して異なる発音が採用されているため、少し違う話し方になっています。
SSML の枠を超えて、Text-to-Speech API で作成された合成音声出力をさらにカスタマイズすることができます。他の音声エンコードを指定したり、音声出力のピッチを変更したり、特定の種類のハードウェア向けに出力を最適化するようにリクエストしたりすることもできます。
Text-to-Speech API へのリクエストは、synthesize-with-settings.json
という名前のテキスト ファイルで作成します。
アクションバーで、[ファイル] > [新しいファイル] をクリックします。
[ファイル形式を選択] または [ファイル名を入力] フィールドに「synthesize-with-settings.json」と入力します。
[OK] をクリックします。
synthesize-with-settings.json
に次のコードを入力するか、コピーします。
audioConfig
オブジェクトに次のフィールドが追加されています。
speakingRate
フィールドでは、話者が音声を発する速度を指定します。値 1.0 は音声の通常の速度、0.5 はその半分の速度、2.0 は 2 倍の速度です。pitch
フィールドでは、単語を発話する際のトーンの違いを指定します。ここで指定する値は単語を発話する際の半音の数で、低い場合は負の値、高い場合は正の値となります。audioEncoding
フィールドでは、データに使用する音声エンコードを指定します。ここで指定できる値は、LINEAR16
、MP3
、OGG_OPUS
です。effectsProfileId
フィールドは、Text-to-Speech API が特定の再生デバイス向けに音声出力を最適化するようにリクエストします。API は 事前定義された音声プロファイルを出力に適用し、指定されたクラスのデバイスの音声品質を向上させます。[ターミナルを開く] をクリックします。
Text-to-Speech API を呼び出します。
この呼び出しの出力は、synthesize-with-settings.txt
というファイルに保存されます。
synthesize-with-settings-audio.mp3
という名前の音声ファイルを生成します。[エディタを開く] をクリックして Cloud Shell エディタを開きます。
左側のペインで synthesize-with-settings-audio.mp3
をクリックしてファイルを開き、音声を再生します。
synthesize-with-settings-audio.mp3
音声ファイルと、このラボで作成した他の音声ファイルを再生します。音声の話し方が他の音声ファイルよりも少し速く、声が低いことに注目してください。
このラボでは、Cloud Text-to-Speech API を使用して合成音声を作成する方法を学びました。学習した内容は次のとおりです。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2025 年 9 月 5 日
ラボの最終テスト日: 2024 年 11 月 4 日
Copyright 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください