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を検索して有効化しておく
音声認識のCloud Text-to-Speechは毎月60分(リクエスト)まで無料で使えます。それ以降は$0.006 米ドル/15 秒で課金される。
node.jsで音声を扱うために
適当なフォルダを作成して、index.jsファイルを作成する。
ソースコードの中身はgoogleのサンプルコードをダウンロードしてきて、以下の箇所をコメントアウトして修正する。
GCP Console で [API Manager] → [認証情報] の順に移動し、[認証情報を作成] → [サービス アカウント キー] の順に選択します(参考)。
作成されたjsonファイルをディレクトリに入れる。
GOOGLE_APPLICATION_CREDENTIALSにパスを通す。
そのまま実行したら反応しなくてあれ?となったが、数秒後に音声認識された文字列がコンソールに表示された。ただ、リアルタイムで変換されていないので、どこかに設定があるのだろうと探していたらありました。
この
このCloud Text-to-Speech APIはこちらでデモができます。mobile safariからアクセスして試してみましたが、あまり遅延なく動作しました。無料で使える
Googleの音声認識ライブラリCloud Text-to-Speech APIを試した時のメモ。
プロジェクトの登録
Google Cloud Platformにアクセスして、プロジェクトを作成する。
APIの有効化
ホームのメニューにあるAPIとサービスからライブラリを選択し、以下のAPIを検索して有効化しておく- Cloud Text-to-Speech API
- Cloud Speech API
料金
音声認識の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
interimResults
をtrue
に設定すると、途中経過まで表示されます。
備考
このCloud Text-to-Speech APIはこちらでデモができます。mobile safariからアクセスして試してみましたが、あまり遅延なく動作しました。無料で使えるWeb Speech API
の SpeechRecognition
はmobile safariはまだサポートされていないようなので、音声認識でmobile safariにも対応する場合は、このCloud Text-to-Speech API
を使う必要があるようです。
コメント
コメントを投稿