Cloud Text-to-Speech APIをNode.jsで試した時の備忘録

Cloud Text-to-Speech APIをNode.jsで試した時の備忘録:

Googleの音声認識ライブラリCloud Text-to-Speech APIを試した時のメモ。


プロジェクトの登録

Google Cloud Platformにアクセスして、プロジェクトを作成する。


APIの有効化

ホームのメニューにあるAPIとサービスからライブラリを選択し、以下のAPIを検索して有効化しておく

  • Cloud Text-to-Speech API
  • Cloud Speech API
Cloud Text-to-Speech APIは課金制なので、クレジットカードの登録が必要。12 か月間トライアル無料‎を使って登録する。ここでクレジットカードを登録して無料枠分を超えてしまうときでも、黙って請求されることはないそうなので安心して使えます。Googleからメールにて通知されるそうです。


料金

音声認識のCloud Text-to-Speechは毎月60分(リクエスト)まで無料で使えます。それ以降は$0.006 米ドル/15 秒で課金される。

各リクエストは 15 秒単位で切り上げられます。たとえば、それぞれに 7 秒の音声が含まれる 3 つのリクエストは、45 秒(3 × 15 秒)の音声として $0.018 が請求されます。また、15 秒単位での切り上げは、小数点以下の秒数も対象になります。つまり、15.14 秒は 30 秒として請求されます


install sox

node.jsで音声を扱うためにsoxというライブラリを使う。

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null 
brew install sox 


node.js用のプロジェクトフォルダを用意

適当なフォルダを作成して、index.jsファイルを作成する。

ソースコードの中身はgoogleのサンプルコードをダウンロードしてきて、以下の箇所をコメントアウトして修正する。

uncommentする
const encoding = 'LINEAR16'; 
const sampleRateHertz = 16000; 
const languageCode = 'ja-JP'; 


Support Language


サービスアカウントを作成する

GCP Console で [API Manager] → [認証情報] の順に移動し、[認証情報を作成] → [サービス アカウント キー] の順に選択します(参考)。

作成されたjsonファイルをディレクトリに入れる。


環境変数を登録

GOOGLE_APPLICATION_CREDENTIALSにパスを通す。

先ほどのjsonファイルのパス
export GOOGLE_APPLICATION_CREDENTIALS=<path_to_service_account_file> 


実行

node index.js 
そのまま実行したら反応しなくてあれ?となったが、数秒後に音声認識された文字列がコンソールに表示された。ただ、リアルタイムで変換されていないので、どこかに設定があるのだろうと探していたらありました。

リアルタイムの設定
interimResults: true 
このinterimResultstrueに設定すると、途中経過まで表示されます。


  • テスト音源

    • 斬新さで人気!! 剣道×フィットネス 配信:2019年2月5日(火)11時 [49分前]
      画面収録 2019-02-05 11.55.28.mov.gif


備考

このCloud Text-to-Speech APIはこちらでデモができます。mobile safariからアクセスして試してみましたが、あまり遅延なく動作しました。無料で使えるWeb Speech APISpeechRecognitionはmobile safariはまだサポートされていないようなので、音声認識でmobile safariにも対応する場合は、このCloud Text-to-Speech APIを使う必要があるようです。

コメント

このブログの人気の投稿

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2020-12-01 09:41:49 RSSフィード2020-12-01 09:00 分まとめ(69件)