Google Apps Script(GAS)で音声合成を扱うなら「Cloud Text-to-Speech」で決まり
Google Apps Script(略称:GAS)でテキストから音声を生成する音声合成のサービスを作りたい。
そんな時オススメはやはりGoogleの音声合成サービス「Cloud Text-to Speech」です。
何が良いのか、そのメリットを解説したいと思います。
- Google Apps Script(GAS)で音声合成
- GASで利用可能な無料の音声合成サービス
- どの音声読み上げがGASで利用しやすい?
- Google Apps ScriptならCloud Text-to Speech一択!
- Cloud Text-to-SpeechをGASで使う手順
- 終わりに
Google Apps Script(GAS)で音声合成
最近、Google Apps Scriptでツイッターのボットを作りました。
毎日特定のサイトをクローリングして、情報を取得し、その情報をツイートするbotです。
ただ、それだけだと勿体ないなぁと思い、せっかくなら投稿文を生成する際に音声データ化すればよいと考えました。
そうすれば、最近はやりの音声プラットフォームなどにも情報の発信が可能になります。
ワイヤレスイヤホンを購入してから、音声が面白いんじゃないかと思い始めていました。
「音声でも情報を届けられたら、ツイートではリーチできない層にアプローチできるのでは?」
と仮説を立てました。
ただ、自分の声でテキストを読み上げて音声化するのは労力がかかりすぎます。
せっかくツイッターbotは自動なのだから、音声の処理についても自動化したいと考え、たどり着いたのが「音声合成」でした。
GASで利用可能な無料の音声合成サービス
Google Apps Scriptで使えそうな音声合成サービスで、かつ無料で利用可能そうなのを探していたところ、以下の3つが該当しました。
いずれも無料でAPIとして利用ができます。
他にも音声合成ソフトや、音声読み上げソフトは色々ありますが、Webページ上でテキストを入力するタイプが多いです。
APIとして利用しやすく、利用評判も高いのは上記の3つでした。
※PollyとCloud Text-to-Speechは、月の処理量が上限を超えると費用が発生します。
どの音声読み上げがGASで利用しやすい?
今回、NTTドコモ、アマゾン(AWS)、Google(GCP)の3つの音声合成サービスの中で、Google Apps Scriptで音声データを生成しやすいか、調査しました。
性能面よりもサービスの利用条件からGASで使えるものを検討しました。
NTTドコモ 音声合成
1番目のNTTドコモのサービスは、日本の会社が開発した音声合成システムをベースに開発されており、音声の自然さや滑らかさの評価は高かったです。
- 利用に際して申請が必要(WEBで完結しなさそう)
- 商用利用は不可
- API利用に有効期限が設けられている
といった制約になる条件がありました。
将来的な拡張を考えると、2,3番目はクリティカルかなと思いました。
Amazon Polly
AWSで有名なAmazonが提供している音声合成サービスです。
日本語の話者にも対応し、近年発話能力の向上していると評判です。
AWSのアカウント登録もSMS認証は必要になりますが、Web上で完結します。
実際に試したところ、かなり滑らかでスムーズな音声が出力されます。
しかし、GASからPollyにAPIを投げるところがなかなか難しいです。
残念ながらネットにドキュメントもそこまで転がっていませんでした。
そのため、GASでPollyを使うのは、APIの認証がネックになりました。
Google Cloud Text-to-Speech
話者も、英語の中でもイギリス英語やアメリカ英語だけでなく、インド英語にも対応しています。
もちろん日本語の話者も男女ともに対応しています。
音声の再生も非常にスムーズで、音声合成っぽい声ながらも、十分聴きとることができる流暢さです。
「Cloud Text-to-Speech」は同じGoogleのサービスなので、GASとの連携がやりやすいです。
通常だとOuth認証など手間がかかる部分が不要で、GASで簡単にCloud Text-to-SpeechのAPIを実行することができます。
Google Apps ScriptならCloud Text-to Speech一択!
Google Apps Scriptで音声合成をやりたいという希望に対しては、今回私が調べた限りは、Cloud Text-to Speechがベストプラクティスと考えます。
GASとサービスの連携のしやすさは他の2種類に比べ、圧倒的に簡単です。
「GASを使う=環境構築に工数をかけたくない」というユーザーが多いと思います。
そうしたユーザーに、導入までのコストが非常に少ないCloud Text-to Speechは挫折を防ぐことができます。
Cloud Text-to-SpeechをGASで使う手順
Cloud Text-to-SpeechをGoogle Apps Scriptで使う手順を解説します。
以下の4Stepで利用できます。
- Cloud Text-to-Speechの管理画面(GCP)でAPIを有効化
- GAS上でAPIを有効化したGCPプロジェクトと紐づけ
- GASのマニュフェストファイル修正
- APIリクエスト時のヘッダーに「ScriptApp.getOAuthToken()」追加
これだけで、実行できるようになります。
Outh認証の部分は簡単に利用できるので、とても便利です。
さらに、Google Driveにも簡単に保存できるので、音声データの自動出力、ファイル保存のフローが確立できます。
終わりに
Google Apps Scriptで音声合成を行いたい場合は、同じGoogleの「Cloud Text-to Speech」一択です。
凄く簡単にテキストデータから音声ファイルを作成し、Google Driveにファイルを保存するところまでがGASで作ることができます。
Google Apps Scriptを使っていて、音声合成に興味がある方は、ぜひ、Cloud Text-to-Speechを試してみて下さい。