Google Cloud API を試してみる

 

Google Cloude API

 

動画を Youtube に投稿するようになって、

  気がかりなことが、一つありました。

  話が苦手で、動画に音声を入れられないことです。

  音楽と字幕で、誤魔化していたのですが、

  やはり、ナレーションのない動画は、面白みに欠け、

  動画制作のモチベーションも上がりません。

そこで、テキストを音声に変換してくれる、音声合成ソフトの

  導入を検討していました。

  有料のソフトと無料のソフト、色々見ているうちに、

  Google Cloud Text-to-Speech と言う

  見つけてはいけない物を、見つけてしまいました。

  Google沼 の始まりです。

 

 

Google Cloud Platform の登録と利用

Google Cloud API

Google Cloud Text-to-Speech を使うには

  Google Cloud Platform に登録する必要があります。

  とりあえず、1年間の「無料トライアル」を選択して、

  Google アカウントでログイン。

  いろいろ、登録項目に記入して、「無料トライアル開始」を選択すると、

  登録が完了して、Google Cloud Platform の管理画面が表示されます。

  上の写真です。

次に、Google Cloud Text-to-Speech の新しいプロジェクトを作ります。

  適当なプロジェクト名を付けて「作成」します。

さらに、Google Cloud Text-to-Speech API を有効化します

  Google Cloude API はかなりの数が存在するので、

  検索で Cloud Text-to-Speech  を探します。

  見つかったら、「有効にする」をクリックして、

  有効化します。

  

 

Google Cloud SDK のインストール

Cloud Text-to-Speech API の認証情報を制作するのに

Google Cloud SDK が必要なので、インストールします

$  cd ~
$  curl  https://adk.cloud.google.com | bash

  途中、色々聞かれますが、とりあえず、「Y」を入力。

 

シェルを再度立ち上げて、

$  gcloud help

  「gcloud」コマンドが実行できるか確認します。

 

Google Cloud SDK の初期化

$  gcloud init

  Google アカンとで Google Cloud SDK をアプリ認証します。

  Google アカウントにログインしますか?

  と聞いてくるので、「Y」を入力。

 

Web ブラウザが立ち上がり、

  Google Cloud Platform に登録したアカウントを選択します。

  Google Cloud SDK のリクエストを許可します。

 

ターミナルに戻って、

  さっき作成した、プロジェクトID を選択すれば、

  Google Cloud SDK の準備が完了しました。

 

 

 

認証キーの作成

Cloud Text-to-Speech API の認証キーを作ります

Google Cloud Platform のナビゲーションメニューの

  「API と管理」 ー> 「サービスアカウント」

「+サービスアカウントを作成」をクリック

  サービスアカント名を入力して、「作成」をクリック

そのまま「サービスアカウントの作成」を続行。

「+キーを作成」をクリック

 

キーの作成(オプション)

  キータイプに JSON を選択し

  キーを作成します。

 

キーファルがダウンロードされ、

  適当なフォルダーに保存します。

 

ターミナルで認証情報をアクティベートします。

$  gcloud auth activate-service-account --key-file=<キーファイルのパス>

 

環境変数にもキーファイルのパスを追加します。

$  export GOOGLE_APPLICATION_CREDENTIALS=<キーファイルのパス>

 

これで、やっと準備完了です。

いよいよ、Google Cloud Text-to-Speech API にリクエストを出します。

 

 

Cloud Text-to-Speech API へリクエスト

最初に、リクエスト用の JSON ファイルを作成します。

  「text」フィールドに読んでもらいたいテキストを入力。

curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
--data "{
'input':{
'text':'こんにちはティーシェルです。スグハとイチハは今日も元気で、走り回ってます。楽しい一日になりますように。'
},
'voice':{
'languageCode':'ja-JP',
'name':'ja-JP-Wavenet-D',
'ssmlGender':'MALE'
},
'audioConfig':{
'audioEncoding':'MP3',
'pitch':2.5,
'speakingRate':1.20
}
}" "https://texttospeech.googleapis.com/v1/text:synthesize" > synthesize-text.txt

  LanguageCode を日本語に

  Name は喋らせる人で、日本人Dにしてみました。

  Pitch 声のトーンを高目に設定し

  SpeakingRate で少し早口にしてみます。

 

これを、ターミナルのコマンドラインから実行すると、

  synthesize-text.text 

  と言うテキストファイルが返ってきます。

  中身は音声データをテキストに変換したファイルです。

 

Google Cloud SDK

 

{
"audioContent": "

と最後の

}

を外したのが音声データです。

 

そして、最後に音声ファイルにデコードします。

 cat synthesize-text.txt | grep 'audioContent' | \
sed 's|audioContent| |' | tr -d '\n ":{},' > tmp.txt && \
base64 tmp.txt --decode > synthesize-text-audio.mp3 && \
rm tmp.txt

synthesize-text-audio.mp3 音声ファイルが吐き出されて

  長い長い、一連の作業が終わります。

 

Google Cloud Platform のストレージに

  作った音声ファイルを置きます。

ログイン - Google アカウント

 

まだ、Google Cloud Storage の使い方が分からないので、

  問題がある場合は、連絡していただけると嬉しいです。

 

トップページに戻る

 

 

コメント