機能 カテゴリ名 モジュール名 説明 音声入出力 AudioIO マイクから音を取得 ファイルから音を取得 音をファイルに格納 音をWAV形式でファイルに格納 音をWAV形式でファイルに格納 音をソケット通信で送信 音源 Localization 固定定位値を出力 定位・ 定位結果の表示 追跡 音源定位 定位情報をファイルから取得 LocalizeMUSIC のスペクトルを正規化 定位情報をファイルに格納 追跡結果を前方に延長 音源追跡 音源追跡 CSPによる音源方向の推定 BFDSによる音源方向の推定 相関行列ファイルの読み込み 相関行列ファイルの保存 相関行列のチャネル選択 相関行列の生成 相関行列の生成 相関行列の成分ごとの除算 相関行列の成分ごとの乗算 相関行列の共役 相関行列逆行列演算 相関行列の乗算 単位相関行列の出力 音源 Separation 背景雑音推定 分離 音源分離 ノイズスペクトラム減算&最適ゲイン係数推定 パワースペクトラム付加 チャネル間リークノイズ推定 GHDSS による音源分離 MLによる音源分離 MSNRによる音源分離 MVDRによる音源分離 ノイズズスペクトラム推定 音源分離後ポストフィルター処理 事前情報を用いたICAによる音源分離 音声スペクトラム推定 特徴量 FeatureExtraction $\Delta $項計算 抽出 項の削除 メルフィルタバンク処理 MFCC抽出 MSLS抽出 プリエンファシス 特徴量を格納 特徴量をHTK形式で格納 スペクトル平均正規化 スペクトル平均正規化 ミッシング MFM $\Delta $ マスク項計算 フィーチャ $\Delta $ パワーマスク項計算 マスク MFM 生成 ASRと ASRIF ASR に特徴量を送る の通信 同上,特徴量 SMN 付 その他 MISC チャネル選択 音源定位結果を結合 データのログ出力 ネットワーク経由の動的パラメータ設定 SaveMapFrames で記録したデータを読み出す SaveMatrixFrames で記録したデータを読み出す SaveVectorFrames で記録したデータを読み出す Map<int, ObjectRef> のキーをシフト Map<int, ObjectRef> 型の ObjectRef ( Matrix<ObjectRef> )を置き換える 二つの Map<int, ObjectRef> で同じキーを持つ ObjectRef の演算 Source による分離結果選択 Map<int, ObjectRef> の ObjectRef の型を変換 Map<int, ObjectRef> $\rightarrow $ Matrix 変換 Map<int, ObjectRef> $\rightarrow $ Vector 変換 Map<int, ObjectRef> 型の ObjectRef ( Vector<ObjectRef> )を置き換える Matrix<float> 型と Matrix<complex<float> > 型の変換 Matrix<ObjectRef> の一部分の要素を置き換える マルチチャネルのゲイン計算 ダウンサンプリング マルチチャネル FFT Map 入力のパワー計算 行列入力のパワー計算 Map<int, ObjectRef> 型の ObjectRef ( Matrix<ObjectRef> )のサイズを変える Map<int, ObjectRef> 型の ObjectRef ( Vector<ObjectRef> )のサイズを変える Map 型のフレームデータをMapのキー毎に保存 Matrix 型のフレームデータを保存 Vector<ObjectRef> 型のフレームデータを保存 ID による音響ストリームセグメント選択 方向による音源選択 ID による音源選択 情報(ID, パワー, 方向)による音源選択 音源定位の情報(ID, パワー, 方向)の値を操作 波形変換 文字列の連結 JSONテキストに変換 ZC による音声区間検出 Vector $\rightarrow $ Map<int, ObjectRef> 変換 Vector<float> 型と Vector<complex<float> > 型の変換 Vector<ObjectRef> の一部分の要素を置き換える 白色雑音追加 機能 カテゴリ ツール名 説明 データ生成 外部ツール harktool4 データ可視化・各種設定ファイル作成 wios 伝達関数作成用録音ツール
音源定位には,これまでの経験から最も性能が良かった MUltiple SIgnal Classification (MUSIC) 法を提供している. MUSIC法は,音源位置と各マイク間のインパルス応答(伝達関数) を用いて, 音源定位を行う手法である.インパルス応答は, 実測値もしくは,マイクロフォンの幾何的位置を用いて計算により求めることができる.
HARK 0.1.7 では,音源定位として ManyEars [3] のビーム フォーマが利用可能であった.このモジュールは,2D 極座標空間 (3D極座標空間で方向情報が認識できるという意味で「2D」となっている) で, マイクアレイから 5 m以内,かつ,音源間が 20$^\circ $以上離 れていれば,定位誤差は約1.4$^\circ $であると報告され ている.しかし,ManyEars のモジュール全体がもともと48 kHz サンプリング用に 作成されており,HARK で利用している 16 kHz サンプリングと合致しないこと, マイクロフォン配置からインパルス応答をシミュレーションする時にマイクロフォン が自由空間に配置されていることが前提となっており, ロボットの身体の影響を考慮できないこと, MUSIC のような適応ビームフォーマの方が一般的なビームフォーマよりも 音源定位精度が高いことなどの理由から HARK 1.0.0 では, MUSIC 法のみをサポートしている.
HARK 1.1 では,MUSIC 法における部分空間に分解するアルゴリズムを拡張した GEVD-MUSIC と GSVD-MUSIC[7] のサポートを新たに行った. 本拡張により,既知の雑音(ロボットのファン雑音等)を白色化をした上で音源定位を行うことができ, ロボットの自己雑音を初めとする,大きな雑音下においてもロバストに 音源定位ができるようになった.
HARK 1.2 では,さらに3次元音源定位を行うことができるように拡張を行った.
音源分離には,これまでの使用経験から種々の音響環境で最も総合性能の高 いGeometric-Constrained High-order Source Separation (GHDSS ) [8],及び,ポストフィルタ PostFilter とノイズ推定法 Histogram-based Recursive Level Estimation HRLE を HARK 1.0.0 では提供している. 現在,最も性能がよく,様々な音環境で安定しているのは, GHDSS と HRLE の組合せである.
これまでに,適応型ビームフォーマ (遅延和型,適応型),独立成分分析 (ICA), Geometric Source Separation (GSS ) など様々な手法を開発し, 評価実験を行ってきた.HARK で提供してきた音源分離手法を下記にまとめる:
HARK 0.1.7 で提供した遅延和型ビームフォーマ,
HARK 0.1.7 で外部モジュールとしてサポートした ManyEars Geometric Source Separation (GSS ) とPostFilter の組合せ [4],
HARK 1.0.0 プレリリースで提供した独自設計のGSS と PostFilter の組合せ [5],
HARK 0.1.7 で利用していた ManyEars の GSS は, 音源からマイクへの伝達関数を幾何制約として使用し, 与えられた音源方向から到来する信号の分離を行う手法である. 幾何学的制約は,音源から各マイクへの伝達関数として与えらると 仮定し,マイク位置と音源位置との関係から伝達関数を求めている. 本伝達関数の求め方ではマイク配置が同じでもロボットの形状が変わると 伝達関数が変わるという状況においては,性能劣化の原因となっていた.
HARK 1.0.0 プレリリースでは,GSS を新たに設計し直し,実測の伝達関数を 幾何学的制約として使用できるように拡張し,ステップサイズを適応的に変化 させて分離行列の収束を早める等の改良を行った.さらに,GSS の属性設定変 更により,遅延和型ビームフォーマが構成できようにもなった. このため,HARK 0.1.7 で提供されていた遅延和型ビームフォーマ DSBeamformer は廃止された.
音源分離一般に当てはまるのだが,音源分離手法の大部分は,ICAを除き, 分離すべき音源の方向情報をパラメータとして必要とする.もし, 定位情報が得られない場合には,分離そのものが実行されないことになる. 一方,ロボット定常雑音は,方向性音源としての性質が比較的強いので, 音源定位ができれば,定常雑音を除去することができる.しかし,実際には そのような雑音に対する音源定位がうまく行かないことが少なからずあり, その結果,定常雑音の分離性能が劣化する場合があった. HARK 1.0.0 プレリリースの GSS および GHDSS には, 特定方向に常に雑音源を指定する機能が追加され,定位されない音源でも常に 分離し続けることが可能となっている.
一般に,GSS や GHDSS のような線形処理に基づいた音源分離では分離性能に 限界があるので,分離音の音質向上のためにポストフィルタという非線形処理 が不可欠である.ManyEars のポストフィルタを新たに設計し直し,パラメータ数を 大幅に減らしたポストフィルタを HARK 1.0.0 プレリリース版および確定版で 提供している.
ポストフィルタは,上手に使えばよく切れる包丁ではあるが, その使い方が難しく,下手な使い方をすれば逆効果になる. ポストフィルタの設定すべきパラメータ数は,PostFilter においても 少なからずあるので,それらの値を適切に設定するのが難しい. さらに,ポストフィルタは確率モデルに基づいた非線形処理を行っているので, 分離音には非線形スペクトラム歪が生じ,分離音に対する 音声認識率の性能がなかなか向上しない.
HARK 1.0.0 では,HRLE (Histogram-based Recursive Level Estimation) という GHDSS に適した定常ノイズ推定法を提供している.GHDSS 分離アルゴリズムを 精査して開発したチャンネル間リークエネルギーを推定する EstimateLeak と HRLE とを組み合わせて使用すると,従来よりも音質の向上した分離音が 得られる.
混合音や分離など様々な要因によって引き起こされるスペクトル歪は, 従来の音声認識コミュニティで想定されている以上のものであり,それに 対処するためには,音源分離と音声認識とをより密に結合する必要がある. HARKでは,ミッシングフィーチャ理論 (Missing Feature Theory,MFT) に 基づいた音声認識 (MFT-ASR) により対処をしている[4].
MFT-ASR の概念を図1.5に示す. 図中の黒い線は分離音の音響特徴量の時間変化を,赤い線はASRシステムが 保持する対応する発話の音響モデルの時間変化を示す.分離音の音響特徴量は 歪によりシステムのそれと大きく異なっている箇所がある (図1.5(a)). MFT-ASR では,歪んでいる箇所をミッシングフィーチャマスク (MFM) でマスク することにより,歪みの影響を無視する (図1.5(b)). MFM とは,分離音の音響特徴量に対応する時間信頼度マップであり, 通常は2値のバイナリーマスク (ハードマスクとも呼ばれる) が使用される. 0〜1の連続値をとるマスクはソフトマスクと呼ばれる. HARKでは,MFM はポストフィルタから得られる定常雑音と チャネル間リークのエネルギーから求めている.
MFT-ASRは,一般的な音声認識と同様に隠れマルコフモデル (Hidden Markov Model,HMM) に基づいているが,MFM が利用できるよう HMM から計算する音響 スコア( 主に出力確率計算)に関する部分に変更を加えている. HARKでは,東京工業大学古井研究室で開発されたマルチバンドJuliusを MFT-ASR と解釈し直して使用している [13].
HARK 1.0.0 では,Julius 4 系のプラグイン機能を利用し,MFT-ASR の 主要部分は Julius プラグインとして提供している.プラグインとして提供した ことで,Julius のバージョンアップによる新しい機能を,そのまま利用できる. また,MFT-ASR は FlowDesigner から独立したサーバ/デーモンとして動き, HARKの音声認識クライアントからソケット通信で送信された音響特徴量とそ のMFMに対し,結果を出力する.
スペクトル歪を特定の音響特徴量だけに閉じ込めて,MFTの有効性を高めるために, 音響特徴量には,メルスケール対数スペクトル特徴量 (Mel Scale Log Spectrum,MSLS) [4]を使用している. HARK では,音声認識で一般的に使用される メル周波数ケプストラム係数 (Mel-Frequency Cepstrum Coefficient,MFCC) も 提供しているが,MFCC では, 歪がすべての特徴に拡散するので,MFT との相性が悪い. 同時発話が少ない場合には,MFCCを用いて音声認識を行う方が認識性能が よい場合もある.
HARK 1.0.0では,MSLS 特徴量で,新たに $\Delta $パワー項を利用するためのモ ジュールを提供する[6].$\Delta $パワー項は,MFCC特徴量で もその有効性が報告されている.各 13 次元の MSLS と$\Delta $ MSLS,及び, $\Delta $ パワーという 27 次元 MSLS 特徴量を使用した方が,HARK 0.1.7 で使用してい た MSLS,$\Delta $ MSLS 各24次元の計48次元 MSLS 特徴量よりも性能がよい ことを確認している.
HARKでは,上述の非線形分離による歪の影響を,少量の白色雑音を付加するこ とで緩和している.クリーン音声と白色雑音を付加した音声とを使ったマルチ コンディション学習により音響モデルを構築するとともに,認識音声にも分離後 に同量の白色雑音を付加してから 音声認識を行う.これにより,一話者発話で は,S/N が -3 dB 程度でも,高精度な認識が可能であ る [6].