最近ちょっとした事情からText to Speechの聴き比べをしているのですが、AWSのPolliyとかIBMのWatsonは画面で簡単にmp3がダウンロードできたのに対してGCPのCloud Text-to-Speechに関しては一筋縄ではいかなかったので、自分のやったことをメモしておきます。
一応GCPにもデモのページがあり、そこでテキストを入力して音声の再生ができるっぽいのですが、画面の「Speak It」をクリックしてもぐるぐるしたまま一向に音声が再生されない。
また、音声を再生できたとしてダウンロードできるかも分からなかったので、別の方法を試すことにしました。
cloud.google.com
上記のデモページにある[無料トライアル]をクリック。
Googleアカウントでの認証を求められるので、普段自分が使っているGoogleのアカウントでログインしました。
その後にアカウントに対してクレジットカードの登録をしたり、サービスを紐づけて良いかと聞かれるのでOKしておきました。この辺はスナップショットを取り忘れたのでうろ覚えですが、流れに沿ってOKしておけばGCPのコンソールに遷移できたと思います。なお、以降の検証は無料枠での実施をしています。
Text-to-Speechのサービスを使いたいので、上の検索ボックスで検索をします。
勝手にサジェストされるので、Text-to-Speechのサービスを選びます。
今回は音声を試したいだけなので、画面の左下にある「API Explorer で試す」を選びます。
メニューから「texttospeech.text.synthesize」を選びます。
「Request body」のところに値を入れていきます。
実行するために必要となる最低限のパラメータは以下の通り。
・input
-text:読み上げたいテキストを入力
・audioConfig
-audioEncoding:MP3
・voice
-languageCode:ja
-name:ja-JP-Wavenet-A
それぞれのパラメータの詳しい意味は以下を参照。
qiita.com
入力が完了したら「Execute」をクリック。
レスポンスに200番が返ってきたらOKです。
で、ここで返ってくる「audioContent」ですが、そのままだとエンコーディングされたテキストでしかないです。
じゃあどうすれば音声を聞けるのかと言うと、自分は以下のHTMLを使ってmp3をダウンロードして聞きました。
<audio controls="controls" autoplay style="border:3px solid red;"> <source src="data:audio/wav;base64,<ここにaudioContentの値を入れる>" type="audio/mp3" /> Your browser does not support the audio element. </audio>
真面目にやるならheadタグとかbodyタグとかも必要になるはずですが、自分で使うだけなのでそこまでは気にせず、上記のものをそのままテキストエディタで作って拡張子を.htmlにすれば良いです。非常に簡単。
あとはこのHTMLファイルをChromeなどのブラウザで開けば音声を聞くことができます。
一番右のアイコンからMP3でダウンロードすることもできます。
そんなわけで、今日はこれまで。
それでは、ごきげんよう。