2018年6月17日日曜日

Google Cloud Speech APIをGo言語で実施

目的

GoでGoogle Cloud Speech APIを使ってText To Speechを行います


完成系

コードはGithubに置いてあります

GitHub

必要なライブラリ

  1. $go get golang.org/x/oauth2
  2. $go get google.golang.org/api/texttospeech/v1beta1

事前準備

  1. Google APIを登録
  2. Google Cloud APIにアクセスして登録

    新規プロジェクト作成、APIとサービスからライブラリとしてCloud Text-to-Speech APIを有効化します

    認証情報より、認証情報を作成、その他のクライアントをクリックし認証が出来るようにします

    ここで出てくるクライアントIDとクライアントシークレットが大切です

  3. コード作成
  4. 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"
    )
    
  5. ビルドと実行
  6. 現状一ファイルなのでgo run main.goを行う

    するとコンソールにURLが出て来るので、そこにアクセス

    Google Accountでログインすると認証コードが出て来るので、それをコンソールにコピペしてエンター

  7. 出来上がりのファイル
  8. 出来上がったファイルはデフォルトだと実行したフォルダの下にoutput.mp3というファイル名で出来上がっている

    こちらを実行すれば、TEXTで定義されているセリフが入っています


まとめ

Google Cloud Speech APIを使わなくてもTranslate APIを使えばもっと楽に出来たりしますが、今回はGoogle APIの使い方を学ぶということで

package texttospeechをちゃんと使用すれば、もっといい方法があると思いますが、最低限ということで