6.6.2 SpeechRecognitionSMNClient

6.6.2.1 ノードの概要

音響特徴量をネットワーク経由で音声認識ノードに送信するノードである. SpeechRecognitionClient との違いは,入力特徴ベクトルの平均除去 (Spectral Mean Normalization: SMN) を行う点である. ただし,実時間処理を実現するためには, 当該発話の平均を除去することができない問題がある. 当該発話の平均値をなんらかの値を用いてい推定あるいは,近似する必要がある. 近似処理の詳細は,ノードの詳細部分を参照のこと.

6.6.2.2 必要なファイル

無し.

6.6.2.3 使用方法

どんなときに使うのか

音響特徴量を HARK 外のソフトウェアに送信するために用いる. 例えば,大語彙連続音声認識ソフトウェア Julius $^{(1)}$ に送信し,音声認識を行う.

典型的な接続例

\includegraphics[width=100mm]{fig/modules/SpeechRecognitionSMNClient}
Figure 6.76: SpeechRecognitionSMNClient の接続例

6.6.2.4 ノードの入出力とプロパティ

Table 6.63: SpeechRecognitionSMNClient のパラメータ表

パラメータ名

デフォルト値

単位

説明

MFM_ENABLED

bool 

true

 

ミッシングフィーチャーマスクを送出するかしないかの選択

HOST

string 

127.0.0.1

 

Julius/Julian が動いているサーバのホスト名/IPアドレス

PORT

int 

5530

 

ネットワーク送出用ポート番号

SOCKET_ENABLED

bool 

true

 

ソケット出力をするかどうかを決めるフラグ

入力

FEATURES

: Map<int, ObjectRef> 型.音源 ID と特徴量ベクトルの Vector<float> 型のデータのペア.

MASKS

: Map<int, ObjectRef> 型.音源 ID とマスクベクトルの Vector<float> 型のデータのペア.

SOURCES

: Vector<ObjectRef> 型.

出力

OUTPUT

: Vector<ObjectRef> 型.

パラメータ

MFM_ENABLED

: bool 型.trueの場合, MASKS を転送する.falseの場合は,入力の MASKS を無視し,すべて 1 のマスクを転送する.

HOST

: string 型.音響パラメータを転送するホストの IP アドレスでる.SOCKET_ENABLED が falseの場合は,無効である.

PORT

: int 型.音響パラメータを転送するソケット番号である. SOCKET_ENABLED が falseの場合は,無効である.

SOCKET_ENABLED

: bool 型.trueで音響パラメータをソケットに転送し,falseで転送しない.

6.6.2.5 ノードの詳細

MFM_ENABLED が trueかつ SOCKET_ENABLED のとき, 音響特徴量ベクトルとマスクベクトルをネットワークポートを経由で音声認識ノードに 送信するノードである. MFM_ENABLED が falseのとき,ミッシングフィーチャー理論を使わない音声認識になる. 実際には,マスクベクトルの値をすべて 1 ,つまりすべての音響特徴量を信頼する状態にして マスクベクトルを送り出す.SOCKET_ENABLED が falseのときは,特徴量を音声認識 ノードに送信しない.これは,音声認識エンジンが外部プログラムに依存しているため, 外部プログラムを動かさずに HARK のネットワーク動作チェックを行うために使用する. HOST は,ベクトルを送信する外部プログラムが動作する HOST の IP アドレスを指定する. PORT は,ベクトルを送信するネットワークポート番号を指定する.

6.6.2.6 参考文献:

(1) http://julius.sourceforge.jp/en_index.php