生成AIや人工知能はここ数年で大きく進化しました。テキスト読み上げは比較的昔からある技術ですが、今も重要な役割を担っています。本記事では、Google Text to Speech APIについて、初心者にも分かりやすく丁寧に解説します。
まずは基本から押さえましょう。重要な用語を整理して、理解の土台をつくります。
ここでは「テキスト読み上げ」と「API」、そしてGoogle Cloudの役割を分けて見ていきます。
編集部より: 高機能なテキスト読み上げAPIをお探しなら、Speechifyの直感的で使いやすいAPIも要チェック!
テキスト読み上げ
より詳しい解説は私のテキスト読み上げとはや音声合成ガイドをご覧ください。ここでは要点だけをかいつまんで紹介します。
テキスト読み上げは音声合成技術を用い、文字情報をAI音声へと変換する仕組みです。視覚障害や読字障害のある方の支援から、業務効率化まで用途は多岐にわたります。
API
APIはアプリケーション・プログラミング・インターフェースの略で、ソフトウェア同士をつなぐ窓口です。自作アプリに読み上げ機能を組み込みたい場合、自前で実装するか、手軽にAPI連携するかが選択肢になります。
テキスト読み上げ部分はサードパーティAPIに任せることで、自分はアプリ本体の開発に集中できます。
Google Cloud API
ここで登場するのがGoogle Cloudです。Googleは高性能なテキスト読み上げAPIを提供しており、独自アプリに読み上げ機能を簡単に組み込めます。TTSはText to Speechの略です。
Google Cloud Consolehttps://cloud.google.com/からクイックスタートをチェックしましょう。チュートリアルやWavenet音声なども利用できます。
Google CloudはGoogleが提供するクラウド基盤で、多様なサービスが揃っています。各APIごとに認証キーの作成が必要で、基本的には有料ですが、無料枠も用意されています。
Googleは2014年にDeepMindを買収し、テキスト読み上げなどのAI技術を一気に強化しました。DeepMindは現在Google DeepMindとして統合されています。
ここまでの内容を踏まえて、Google Cloud Text to Speech APIをさらに詳しく見ていきましょう。
Google Text to Speech APIの主な機能
Googleは世界的なテクノロジーリーダーです。TTS APIも日々進化しており、業界トップクラスの機能が期待できます。
高音質な音声
Googleのテキスト読み上げ音声は業界でもトップクラスのクオリティで、人間に近い自然なイントネーションを実現し、TTSの進化を牽引しています。
豊富な音声選択
Googleは多彩な音声ラインナップを用意しており、他社や自社の別製品とかぶらない、個性的な音声体験を提供できます。
独自音声の作成
これは声のクローン技術に近い機能です。自分や他者の声を録音し、そのサンプルを元に読み上げ用のカスタム音声として利用できます。
ニューラル音声
ニューラル音声は最上位クラスの品質で、多言語対応も可能です。グローバル展開を考えるサービスにうってつけです。
スタジオ音声
スタジオ音声はさらにプロ仕様のクオリティで、まるでスタジオで本当に収録したかのような自然な仕上がりになります。
声の調整
好みの声を選び、スピードや高さなどを細かく調整して、用途に合ったトーンに仕上げられます。
Googleテキスト読み上げAPIの料金は?
料金は音声の品質やテキスト量によって決まります。より自然な音声ほど単価は高くなりますが、クオリティを考えると割安な価格設定です。
| 音声タイプ | 月ごと無料枠 | 無料枠超過後 |
| Neural2音声 | 0~100万バイト | $16/100万バイト |
| Polyglot音声 | 0~100万バイト | $16/100万バイト |
| スタジオ音声 | 0~10万バイト | $160/100万バイト |
| 標準音声 | 0~400万文字 | $4/100万文字 |
| Wavenet音声 | 0~100万文字 | $16/100万文字 |
文字数とバイト数の違い
ご覧の通り、音声品質によって料金体系が変わります。標準音声は文字数ベースの課金で、価格も比較的リーズナブルです。
例えば400万文字を変換する場合、標準音声なら$16程度で音声化できます。
一方スタジオ音声は計算単位がバイトで、特定の言語(例:日本語)では1文字が複数バイトになる場合があります。
正確な料金を出すには、利用言語と1文字あたりの平均バイト数を把握しておく必要があります。
Google Cloud Platform テキスト読み上げAPI導入手順
- Google Cloudアカウントを作成、またはこちらからログイン
- 新規プロジェクトを作成し、分かりやすい名前を付けます
- 請求情報を追加。実際に使った分だけ課金されます。
- 対象プロジェクトを選択し、請求アカウントとひも付けます。
- Text-to-Speech APIを有効化します。上部検索バーで「speech」と入力。
- 表示されたCloud Text-to-Speech APIをクリックして選択
- 開発環境向けに認証を設定します。「Set up authentication for Text-to-Speech」の手順に従ってください。
プロジェクト作成なしでテキスト読み上げを試す方法:
- 「TRY THIS API」をクリックします。
- プロジェクトで本格的に有効化する場合は、ENABLEを押します。
より詳しい手順はGoogle Cloud公式ドキュメントもあわせてご確認ください。
テキスト読み上げAPIの無効化方法
APIを無効化するには、Google CloudダッシュボードからAPI概要画面に進み、Text-to-Speech APIを選択して「DISABLE API」をクリックします。
Google Text to Speech APIの開始方法
プロジェクトの設定が済んだら、コマンドラインからすぐに使い始められます。
gcloud initローカル環境用の認証情報を作成します。
gcloud auth application-default login続いてクライアントライブラリをインストールします。ここでは例としてNode.jsを使用します。
npm install --save @google-cloud/text-to-speechGoogle Cloud Text to Speech API対応言語:
- Go
- Java
- Node.js
- C++
- C#
- PHP
- Python
- Ruby
- TypeScript
- Terraform
- YAML
Google Cloud APIはどう動く?
仕組みはシンプルです。APIにテキストを送ると音声ファイルが返ってきます。声や言語も指定でき、API側で指定どおりの音声が生成されます。
テキスト読み上げ用ライブラリの詳しい使い方はこちらで解説されています。コード例はNode.js中心ですが、Python・PHPなど他言語向けサンプルも用意されています。
const textToSpeech = require('@google-cloud/text-to-speech');
const fs = require('fs');
const util = require('util');
const client = new textToSpeech.TextToSpeechClient();
/**
* TODO(developer): Uncomment the following lines before running the sample.
*/
// const text = 'Text to synthesize, eg. hello';
// const outputFile = 'Local path to save audio file to, e.g. output.mp3';
const request = {
input: {text: text},
voice: {languageCode: 'en-US', ssmlGender: 'FEMALE'},
audioConfig: {audioEncoding: 'MP3'},
};
const [response] = await client.synthesizeSpeech(request);
const writeFile = util.promisify(fs.writeFile);
await writeFile(outputFile, response.audioContent, 'binary');
console.log(`Audio content written to file: ${outputFile}`);これでGoogle Cloud Text to Speech APIを使った最初の音声変換が完了です。OGGやMP3形式などに対応しています。
Google Text to Speech APIの活用例
Google Text to Speech(TTS)APIは、さまざまな分野で活躍しています。代表的なユースケースは次の通りです。
- 視覚障害者向け読み上げ:アプリ内のテキスト情報を音声で提供し、視覚障害者の情報アクセスをサポート。
- 自動音声案内:カスタマーサービスやコールセンターの自動応答に、自然な音声ガイダンスを導入。
- メディア音声ナレーション:動画やポッドキャストなどに、自然な声でナレーションを追加。
- 翻訳コンテンツの読み上げ:翻訳結果を音声に変換し、語学学習や多言語対応コンテンツの利用を後押し。
- 読書困難者の支援:ディスレクシアなど読字に困難のある人へTTS機能を提供し、書籍や資料の理解を支援。
- 音声ナビ:地図アプリなどで経路案内を音声で提示。
- 教育教材音声化:eラーニングでテキスト教材を読み上げ、理解度や集中力アップに貢献。
- 生産性アプリの音声合成:ノート・タスク管理ツールなどに音声フィードバックを追加可能。
- バーチャルアシスタント:自然なTTSを用いて、会話型AIアシスタントを実現。
- 音声通知・アラート:IoT機器などで、音声による通知やアラートを実装。
Google Cloud TTS APIの主な代替サービス
ここでは、2022年1月時点で代表的だったGoogle Text to Speech APIの代替サービスを紹介します。その後の人気や機能追加などで状況が変わっている場合もある点にはご留意ください。
- Speechify テキスト読み上げAPI: Speechify APIは60カ国語・1000以上の感情表現に対応したAI音声を提供。今すぐ無料登録できます。
- Amazon Polly:AWSが提供するPollyは、多様な言語・音声の自然な合成音声が特長で、他のAWSサービスとの連携もしやすいです。
- Microsoft Azure Speech Service:Azure Speech Serviceは音声認識とTTSをまとめて提供し、各種アプリケーションやボイスアシスタントで利用されています。
- IBM Watson Text to Speech:IBM Watsonを使えば、さまざまな声で自然な音声変換が可能です。
- Nuance Communications:Nuanceはヘルスケアやカスタマーサービス向けに、テキスト読み上げや音声認識サービスを提供しています。
- CereProc:CereProcは高品質なテキスト読み上げ音声を、エンタメやアクセシビリティ用途向けに提供しています。
- iSpeech:iSpeechはマルチ言語対応のクラウドTTSで、アプリやウェブサービス向けの利用に適しています。
- ResponsiveVoice:ResponsiveVoiceは手軽に導入できるAPIで、多言語対応のウェブアプリなどに向いています。
- Neospeech:NeospeechはTTS技術をベースに、Eラーニングやエンタメ向けの音声合成に利用されています。
- ReadSpeaker:ReadSpeakerはウェブサイト・Eラーニング・アクセシビリティ向けにTTSソリューションを提供しています。
- Acapelabox:Acapela Groupは多言語・多音声対応のクラウドAPI「Acapelabox」を展開しています。
よくある質問
Googleは音声タイプごとに無料枠を用意しています。例えば標準音声なら最初の100万バイトが無料で、その後は100万バイトごとに$16です。文字数・バイト数が無料枠内であれば費用はかかりません。
https://cloud.google.com/text-to-speech/からアカウントを作成し、案内に沿って設定してください。本記事内でも手順を詳しく解説しています。
Google Cloudアカウントでプロジェクトを作成し、そのプロジェクトに対してAPIキーを発行します。
APIのURLはこちらです:https://cloud.google.com/text-to-speech/
Google Cloudそのものに一律の試用期間はありません。サービスごとに無料枠や条件が設定されています。
いいえ。Google Cloudテキスト読み上げAPIの利用にはインターネット接続が必要です。
APIキー、OAuth 2.0、サービスアカウント認証の3種類が利用できます。用途やアプリの構成に合わせて最適な方式を選びましょう。
5点満点で評価しています。インターフェースが分かりやすく、検索機能も優秀。価格も妥当で、総合的にバランスの取れたサービスです。
Google Text to Speech APIはPythonなど複数言語向けにクライアントライブラリを提供しており、REST API経由ならHTTPに対応した言語から幅広く利用できます。
TextToSpeechクラスの利用と、バックエンドでのAPIリクエストが基本的な流れです。詳しくはAndroid公式ドキュメントを参照してください。
APIエンドポイントにHTTPリクエストを送り、返ってきたレスポンスをJavaScriptで処理します。詳細なサンプルは公式ドキュメントを確認してください。

