1.3 HARKのモジュール群

Table 1.1: Nodes and Tools provided by HARK 1.2

機能

カテゴリ名

モジュール名

説明

音声入出力

AudioIO

AudioStreamFromMic 

マイクから音を取得

   

AudioStreamFromWave 

ファイルから音を取得

   

SaveRawPCM 

音をファイルに格納

   

SaveWavePCM 

音をWAV形式でファイルに格納

   

HarkDataStreamSender 

音をソケット通信で送信

音源 

Localization

ConstantLocalization 

固定定位値を出力

定位・

 

DisplayLocalization 

定位結果の表示

追跡

 

LocalizeMUSIC 

音源定位

   

LoadSourceLocation 

定位情報をファイルから取得

   

NormalizeMUSIC 

LocalizeMUSIC のスペクトルを正規化

   

SaveSourceLocation 

定位情報をファイルに格納

   

SourceIntervalExtender 

追跡結果を前方に延長

   

SourceTracker 

音源追跡

   

CMLoad 

相関行列ファイルの読み込み

   

CMSave 

相関行列ファイルの保存

   

CMChannelSelector 

相関行列のチャネル選択

   

CMMakerFromFFT 

相関行列の生成

   

CMMakerFromFFTwithFlag 

相関行列の生成

   

CMDivideEachElement 

相関行列の成分ごとの除算

   

CMMultiplyEachElement 

相関行列の成分ごとの乗算

   

CMConjEachElement 

相関行列の共役

   

CMInverseMatrix 

相関行列逆行列演算

   

CMMultiplyMatrix 

相関行列の乗算

   

CMIdentityMatrix 

単位相関行列の出力

音源

Separation

BGNEstimator 

背景雑音推定

分離

 

BeamForming 

音源分離

   

CalcSpecSubGain 

ノイズスペクトラム減算&最適ゲイン係数推定

   

CalcSpecAddPower 

パワースペクトラム付加

   

EstimateLeak 

チャネル間リークノイズ推定

   

GHDSS 

GHDSS による音源分離

   

HRLE 

ノイズズスペクトラム推定

   

PostFilter 

音源分離後ポストフィルター処理

   

SemiBlindICA 

事前情報を用いたICAによる音源分離

   

SpectralGainFilter 

音声スペクトラム推定

特徴量

FeatureExtraction

Delta 

$\Delta $項計算

抽出

 

FeatureRemover 

項の削除

   

MelFilterBank 

メルフィルタバンク処理

   

MFCCExtraction 

MFCC抽出

   

MSLSExtraction 

MSLS抽出

   

PreEmphasis 

プリエンファシス

   

SaveFeatures 

特徴量を格納

   

SaveHTKFeatures 

特徴量をHTK形式で格納

   

SpectralMeanNormalization 

スペクトル平均正規化

ミッシング

MFM

DeltaMask 

$\Delta $ マスク項計算

フィーチャ

 

DeltaPowerMask 

$\Delta $ パワーマスク項計算

マスク

 

MFMGeneration 

MFM 生成

ASRと

ASRIF

SpeechRecognitionClient 

ASR に特徴量を送る

の通信

 

SpeechRecognitionSMNClient 

同上,特徴量 SMN 付

その他

MISC

ChannelSelector 

チャネル選択

   

DataLogger 

データのログ出力

   

HarkParamsDynReconf 

ネットワーク経由の動的パラメータ設定

   

MatrixToMap 

Matrix $\rightarrow $ Map 変換

   

MultiGain 

マルチチャネルのゲイン計算

   

MultiDownSampler 

ダウンサンプリング

   

MultiFFT 

マルチチャネル FFT

   

PowerCalcForMap 

Map 入力のパワー計算

   

PowerCalcForMatrix 

行列入力のパワー計算

   

SegmentAudioStreamByID 

ID による音響ストリームセグメント選択

   

SourceSelectorByDirection 

方向による音源選択

   

SourceSelectorByID 

ID による音源選択

   

MapSelectorBySource 

Source による分離結果選択

   

Synthesize 

波形変換

   

WhiteNoiseAdder 

白色雑音追加

機能

カテゴリ

ツール名

説明

データ生成

外部ツール

harktool4

データ可視化・各種設定ファイル作成

   

wios

伝達関数作成用録音ツール

1.3.1 音源定位

音源定位には,これまでの経験から最も性能が良かった 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次元音源定位を行うことができるように拡張を行った.

1.3.2 音源分離

音源分離には,これまでの使用経験から種々の音響環境で最も総合性能の高 い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 で提供してきた音源分離手法を下記にまとめる:

  1. HARK 0.1.7 で提供した遅延和型ビームフォーマ,

  2. HARK 0.1.7 で外部モジュールとしてサポートした ManyEars Geometric Source Separation (GSS ) とPostFilter の組合せ [4]

  3. HARK 1.0.0 プレリリースで提供した独自設計のGSS と PostFilter の組合せ [5]

  4. HARK 1.0.0 で提供する GHDSS と HRLE の組合せ[6, 8]

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 とを組み合わせて使用すると,従来よりも音質の向上した分離音が 得られる.

1.3.3 MFT-ASR: MFTに基づく音声認識

\includegraphics[width=.9\linewidth ]{fig/Intro/MFT-concept}
Figure 1.5: ミッシングフィーチャ理論による音声認識の概念図

混合音や分離など様々な要因によって引き起こされるスペクトル歪は, 従来の音声認識コミュニティで想定されている以上のものであり,それに 対処するためには,音源分離と音声認識とをより密に結合する必要がある. 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に対し,結果を出力する.

1.3.4 音響特徴量抽出と音響モデルの雑音適用

スペクトル歪を特定の音響特徴量だけに閉じ込めて,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]