3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2019-02-05

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を使う必要があるようです。

3
4
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
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?