目的
GoでGoogle Cloud Speech APIを使ってText To Speechを行います
完成系
コードはGithubに置いてあります
GitHub必要なライブラリ
- $go get golang.org/x/oauth2
- $go get google.golang.org/api/texttospeech/v1beta1
事前準備
- Google APIを登録
- コード作成
- ビルドと実行
- 出来上がりのファイル
Google Cloud APIにアクセスして登録
新規プロジェクト作成、APIとサービスからライブラリとしてCloud Text-to-Speech APIを有効化します
認証情報より、認証情報を作成、その他のクライアントをクリックし認証が出来るようにします
ここで出てくるクライアントIDとクライアントシークレットが大切です
GitHubを参考に最低クライアントID(26行目)とクライアントシークレット(27行目)を書き換え
const ( TEXT = "こんにちは!" GENDER = "FEMALE" LANGUAGE = "ja-JP" VOICENAME = "ja-JP-Standard-A" AUDIO_ENCODE = "LINEAR16" SPEAKING_RATE = 1 CLIENT_ID = " Your Client ID " SECRET_KEY = " Your Secret KEY " OUTPUT = "output.mp3" )
現状一ファイルなのでgo run main.goを行う
するとコンソールにURLが出て来るので、そこにアクセス
Google Accountでログインすると認証コードが出て来るので、それをコンソールにコピペしてエンター
出来上がったファイルはデフォルトだと実行したフォルダの下にoutput.mp3というファイル名で出来上がっている
こちらを実行すれば、TEXTで定義されているセリフが入っています
まとめ
Google Cloud Speech APIを使わなくてもTranslate APIを使えばもっと楽に出来たりしますが、今回はGoogle APIの使い方を学ぶということで
package texttospeechをちゃんと使用すれば、もっといい方法があると思いますが、最低限ということで