GoogleSpeechRecogRTC
Simple Wiki Based Contents Management System
Home Projects Memo Misc Topics Software
関心分野 >> OpenHRIについて >> GoogleSpeechRecogRTC

GoogleSpeechRecogRTC

GoogleSpeechRecogRTCは、Google Speech Private APIを利用して、音声認識を行うRTコンポーネントです。
Google Speech Private APIは、Googleが個人用に提供している音声認識クラウドサービスです。

クラウドの音声認識サービスは、ここに記載されているように、ある程度無償のものがありますが、簡単に使えるという意味では、Google Speech Private APIが良いかと思います。
ただし、このGoogle Speech Private APIは、一日に50リクエストしか使えません(それ以上だとエラーが返ってきます)ので注意してください。
Googleの音声認識API(Google Speech API)は、月間で60分は無償(ただし、1リクエストにつき15秒で切り上げ)になっています。すなわち、240リクエストが1月で無料で使える上限になっています。それ以上では、15秒ごと(1リクエストごとに)0.006USDになっているようです。
Google SpeechAPIは、Pythonのライブラリがあったと思いますので、作成することは簡単だと思います。

GoogleSpeechRecogRTCの準備

GoogleSpeechRecogRTCは、OpenHRIVoiceの中に含まれています。しかし、現在は、開発途中であるためバイナリでの配布はしておりません。したがって、OpenRTM-aistのPython版が必須になっています。
また、このRTCでは、内部で音声部分の切り出し処理を行っていますので、pydubというパッケージが必須になっていますので、pipコマンドでインストールしてください。
 # pip install pydub

pydubパッケージのフル機能を利用するには、ffmpegをインストールする必要があります。ffmpegは、音声ファイルのフォーマット変換に利用されていますので、mp3やflac形式を利用したい場合には、ダインロード&インストールをお願いします。
wavファイルのみであれば、pythonのデフォルトライブラリが利用できますので、Google Speech Private APIを使う場合には、必要ありません。
また、このRTCではGoogle Speech Private APIを利用していますので、APIKEYが必要になります。
APIKEYの取得には、Google Developer Consoleでの登録が必要になります。APIKEYの取得に関する詳細は、こちらの記事を参考にしてください。

動作確認OS

  • Ubuntu Linux 14.04以上を推奨
  • Windows 7以上を推奨

依存ライブラリ

  • OpenRTM-aist : OpenRTM-aist-1.1.2-RELEASE(Python)

データポート

名前フローポートデータ型説明
dataInPortTimedOctetSeq認識する音声データ(パケット形式)
resultOutPortTimedString音声認識結果(json形式ですので、eSEATへの入力には加工する必要があります)

Configuration Parameters

名前データ型デフォルト値設定範囲説明
langstringja-JPja-JP, us-EU, ...音声認識する言語
min_buflenint80005000以上を推奨 音声部分の切り出し時のバッファサイズ (16bit, 16KHzの音声の場合、8000で250m秒ごと)
min_silenceint1500以上音声部分切り出し時の無音部分の最小時間 (ms)
silence_thrint-10-30 ~ -10 を推奨音声部分切り出し時の無音部分とするレベル(db)

使用方法

GoogleSpeechRecogRTCは、Google Speech Private APIを利用しますので、API_KEYが必要になります。API_KEYは、 google_conf.confファイルのgoogle.speech.apikey:に記入してください。
google.speech.apikey: <Your SpeechAPI Key>