メインコンテンツへスキップ
  1. Posts/

golang で Google の Text-to-Speech を使う

go google
yteraoka
著者
yteraoka

Google Home mini に任意の文章を読み上げさせるために https://github.com/ikasamah/homecast をいじって使ってましたが、これは https://translate.google.com/translate_tts?client=tw-ob&ie=UTF-8&q=テスト&tl=ja といった Google 翻訳の非公式(?) API にアクセスしていました。その後、Google は Cloud Text-to-Speech サービスを 発表したので Go でこの API を使ってみます。

cloud.google.com/go/texttospeech/apiv1 を使えば良さそうです。 これを使った例もあったので参考にさせていただきました。

Google Cloud Developer Console でプロジェクトを作成し、 Cloud Text-to-Speech API を有効にし、サービスアカウントを作って JSON 形式の秘密鍵をダウンロードします。 GOOGLE_APPLICATION_CREDENTIALS という環境変数にこの JSON ファイルへの PATH を設定します。( アプリケーションに認証情報を提供する)

go get
go build
echo "テキストメッセージ" | ./tts

このようにすることで speech.mp3 というファイル(出力先ファイルは -o オプションで指定可能)が作成されます。-v で voice name を指定できます、日本語は ja-JP-Wavenet-A or ja-JP-Standard-A の2つが指定可能で、 Wavenet はより高品質らしいが料金も高い ( 料金体系)