LoginSignup
5
3

More than 3 years have passed since last update.

GoogleのTTSを試してみたメモ

Last updated at Posted at 2020-03-12

概要

クイックスタートを試してみる。
けっこうスムーズにできた。
日本語もOKだった。

新規プロジェクトの作成

image.png

課金が有効になっていることを確認

image.png

Text To Speechの有効化

image.png

認証情報の作成

image.png
image.png
image.png

ファイルの配置と環境変数の設定

  • 今回は試しに、ダウンロードしたjsonをprivate.jsonにリネームして、/privateディレクトリに配置した
  • 配置したファイルのパスを環境変数に指定
export GOOGLE_APPLICATION_CREDENTIALS="/private/private.json"

cloud sdkをインストール

gcloudにアクセス

環境変数が設定されていることを確認

bash-5.0# echo $GOOGLE_APPLICATION_CREDENTIALS
/private/private.json

環境変数で指定されたパスにファイルがあることを確認

bash-5.0# ls /private/
private.json

テストファイルの準備

/data/test.json
{
  "input": {
    "text": "Android is a mobile operating system developed by Google, based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets."
  },
  "voice": {
    "languageCode": "en-gb",
    "name": "en-GB-Standard-A",
    "ssmlGender": "FEMALE"
  },
  "audioConfig": {
    "audioEncoding": "MP3"
  }
}
/scripts/test.sh
#!/bin/bash

curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @/data/test.json  \
https://texttospeech.googleapis.com/v1/text:synthesize \
-o /response/`date +%Y%m%d-%H%M%S`.json

実行

bash-5.0# ls /scripts/test.sh

結果の確認

  • /response/20200312-110838.json が作成されたことを確認

jsonファイルから値を取り出す

  • jq コマンドをインストールして使用する。
    • -r "を除去するオプション
/scripts/jsonToBase64.sh
#!/bin/bash

cat /response/20200312-110838.json | jq .audioContent -r > /base64/test.txt

取り出した内容をbase64デコード

/scripts/base64ToMP3.sh
#!/bin/bash

base64 -d /base64/test.txt > /mp3/test.mp3

作成されたmp3ファイルを確認。

喋ってる!

ここまでのソース

この時点のソース

環境

  • Windows 10 Home
  • virtualbox 6.1.4
  • Vagrant 2.2.7
  • ubuntu 18.04 LTS Linux ubuntu-bionic
  • docker-ce Docker version 19.03.5
  • docker-compose version 1.25.3

日本語を試してみる

データファイルの作成

/data/japan.sh
{
  "input": {
    "text": "よくできました"
  },
  "voice": {
    "languageCode": "ja-JP",
    "name": "ja-JP-Standard-A",
    "ssmlGender": "FEMALE"
  },
  "audioConfig": {
    "audioEncoding": "MP3"
  }
}

実行スクリプトの作成

  • 今回は、途中のファイルを作らずに、apiで取得した結果を直接mp3にする
/scripts/apiToMP3.sh
#!/bin/bash

curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @/data/japan.json  \
https://texttospeech.googleapis.com/v1/text:synthesize | jq .audioContent -r | base64 -d > /mp3/japan.mp3

よくできました!

この時点のソース

参考

Google Cloud Text-to-Speech の使い方 日本語テキストを読み上げさせてみよう

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3