PAGE TOP

 OpenRTC-aist »

   
コミュニケーション知能モジュールパッケージ OpenHRI >> RecaiusSpeechRecogRTC(音声認識)

RecaiusSpeechRecogRTC(音声認識)

概要

本コンポーネントは、受け取った音声データを東芝コミュニケーションAI RECAIUSのWebAPIを用いて音声認識し、音声データをテキストに変換します。RECAIUS WebAPIは、東芝デジタルソリューション株式会社が有料公開しているクラウドサービスです。お試し登録で一ヶ月間は、無償で利用可能です。ユーザ登録後、service_id と パスワードを取得する必要があります。
なお、このコンポーネントの出力は、JuliusRTCと同じ形式です。
本コンポーネントは、OpenHRIVoiceパッケージに含まれます。

RecaiusSpeechRecogRtc data (TimeOctetSeq) result (TimeString)

動作確認OS

  • Ubuntu Linux 14.04以上を推奨
  • Windows 7以上(Windows10を推奨)

依存ライブラリ

  • OpenRTM-aist : OpenRTM-aist-1.1.2-RELEASE(Python)
  • pydub : 音声部分の切り出し(詳細は下記を参照)

RecaiusSpeechRecogRTCの準備

RecaiusSpeechRecogRTCは、OpenHRIVoiceの中に含まれています。しかし、現在は、開発途中であるためバイナリでの配布はしておりません。したがって、OpenRTM-aistのPython版が必須になっています。
また、このRTCでは、内部で音声部分の切り出し処理を行っていますので、pydubというパッケージが必須になっていますので、pipコマンドでインストールしてください。
 # pip install pydub
pydubパッケージのフル機能を利用するには、ffmpegをインストールする必要があります。ffmpegは、音声ファイルのフォーマット変換に利用されていますので、mp3やflac形式を利用したい場合には、ダインロード&インストールをお願いします。

データポート

名前フローポートデータ型説明
data InPortTimeOctetSeq
認識する音声データ(パケット形式)
result OutPortTimeString
音声認識結果(XML形式)

コンフィグレーション

名前データ型デフォルト値設定範囲説明
lang stringjp jp,us,cn,kr
音声認識する言語を設定
min_buflen int8000
音声データ切り出しのためのバッファサイズ
min_silence int200
無音区間の最小時間(ms)
silence_thr int-20
音声データ切り出しのための閾値(db)

使用方法

本コンポーネントを利用するには、RECAIUSの利用申請が必要です。最初の登録時のみ「お試し登録」が利用できます。お試し登録は、1月で終了しますが、再登録を行えば利用できるそうです。(FAQより)しかも、回数制限がないとのことです。
コンポーンネントの設定ファイルには、音声認識サービスのIDとパスワードを記載しておく必要があります。音声認識サービスは、四か国語対応になっています。
現在の実装では、ほぼGoogleSpeechと同じようになっており、RTC内部で音声の切り出しを行い、その後RECAIUSに音声データを送信するようになっています。RECAIUSは、サーバー側で音声切り出しを行うことができますので、本来であれば、すべての音声データを逐次送信する方が、応答時間を短くすることができます。このためには、内部の処理を変更する必要があります。(特にLogが取れなくなります)

設定ファイル

その他 recaius_speech.confで設定できる項目は下記の通りです。
recaius.speech.jp.id
日本語音声認識サービスID (必須項目)
recaius.speech.us.id
英語音声認識サービスID
recaius.speech.cn.id
中国語音声認識サービスID
recaius.speech.kr.id
韓国語音声認識サービスID
recaius.speech.passwd
日本語音声認識サービスパスワード (必須項目)
recaius.speech.logdir
音声認識したデータの保存ディレクトリ(デフォルト: .\log)
recaius.speech.save_wav
音声認識したデータを保存するかどうかを設定(デフォルト: NO)