• 検索結果がありません。

MSNR

ドキュメント内 HARK Document (ページ 171-175)

第 6 章 ノードリファレンス 45

6.3 Separation カテゴリ

6.3.9 MSNR

図6.59: MSNRの接続例

INPUT SOURCES :Vector<ObjectRef>型.音源定位結果等が格納されたSource型オブジェクトのVector配 列である.典型的には,SourceTrackerノード,SourceIntervalExtenderノードと繋げ,その出力を用いる.

INPUT NOISE SOURCES : Vector<ObjectRef> 型.INPUT SOURCESと同じSource型オブジェクトの

Vector配列である.既知雑音の発生方向.

出力

OUTPUT :Map<int, ObjectRef>型.分離音の音源IDと,分離音の1チャネル複素スペクトル (Vector<complex<float> >型)のペア.

パラメータ

LENGTH :int型.分析フレーム長[samples].前段階における値(AudioStreamFromMic,MultiFFTノード など)と一致している必要がある.デフォルト値は512[samples].

ADVANCE :int型.フレームのシフト長[samples].前段階における値(AudioStreamFromMic,MultiFFTノー ドなど)と一致している必要がある.デフォルト値は160[samples].

SAMPLING RATE :int型.入力波形のサンプリング周波数[Hz].デフォルト値は16000[Hz].

DECOMPOSITION ALGORITHM : 型.音源分離で用いる演算アルゴリズムの選択.GEVDは一般化固有 値分解を,GSVDは一般化特異値分解を表す.GEVDはGSVDに比べて雑音抑制性能が良好だが計算時 間がかかる.使用目的や計算機環境に応じて演算アルゴリズムの使い分けができる.

ALPHA :float型.フィルタ更新係数.デフォルト値は0.99.

ENABLE DEBUG :bool型.デフォルトはfalse.trueが与えられると,分離状況が標準出力に出力される.

表6.50: MSNRで利用するパラメータ

パラメータ名 デフォルト値 単位 説明

LENGTH int 512 [pt] 分析フレーム長

ADVANCE int 160 [pt] フレームのシフト長

SAMPLING RATE int 16000 [Hz] サンプリング周波数

DECOMPOSITION ALGORITHM string GEVD 演算アルゴリズム

ALPHA float 0.99 フィルタ更新係数.

ENABLE DEBUG bool false デバッグ出力の可否

ノードの詳細

技術的な詳細: 基本的に詳細は下記の参考文献を参照されたい.

音源分離概要: 音源分離問題で用いる記号を表6.51にまとめる.演算はフレーム毎に周波数領域において行わ れるため,各記号は周波数領域での,一般には複素数の値を表す.音源分離はK個の周波数ビン(1≤kK) それぞれに対して演算が行われるが,本節ではそれを略記する.N,M, f をそれぞれ,音源数,マイク数,フ レームインデックスとする.

表6.51:変数の定義

変数 説明

S(f)=[

S1(f), . . . ,SN(f)]T

f フレーム目の音源の複素スペクトル X(f)=[

X1(f), . . . ,XM(f)]T

マイクロホン観測複素スペクトルのベクトル.INPUT FRAMES入力に対応.

N(f)=[

N1(f), . . . ,NM(f)]T

加法性雑音

H=[H1, . . . ,HN]∈CM×N 1≤nN番目の音源から1≤mM番目のマイクまでの伝達関数行列   K(f)∈CM×M 既知雑音相関行列

W(f)=[W1, . . . ,WM]∈CN×M 分離行列 Y(f)=[

Y1(f), . . . ,YN(f)]T

分離音複素スペクトル 音のモデルは以下の一般的な線形モデルを扱う.

X(f) = HS(f)+N(f) (6.67)

分離の目的は,

Y(f) = W(f)X(f) (6.68)

として,Y(f)がS(f)に近づくように,W(f)を推定することである.

分離行列更新のための評価関数JMSNR(W(f))は,INPUT SOURCES入力端子とINPUT NOISE SOURCES 入力端子から入ってくる音源方向と雑音方向の情報で定義される.

目的音信号の相関行列をRss(f),雑音信号の相関行列をRnn(f)とすると,分離行列更新のための評価関数 JMSNR(W(f))は,以下のように表される.

JMSNR(W(f)) = W(f))Rss(f)W(f))H

W(f))Rnn(f)W(f))H (6.69) MSNRでは,JMSNR(W(f))を最大とするW(f)を一般化固有値分解または一般化特異値分解を用いて求め ている.ここで,信号の相関行列Rss(f)はINPUT SOURCES入力端子に音源が存在する信号区間(目的音の 存在区間)の信号から得られる相関行列Rxx(f)から以下のように更新される.

Rss(f+1) = αRss(f)+(1−α)Rxx(f) (6.70) 一方,雑音の相関行列Rnn(f)は,INPUT NOISE SOURCES入力端子に音源が存在する信号区間(雑音の存在 区間)の信号から得られる相関行列Rxx(f)から以下のように更新される.

Rnn(f+1) = αRnn(f)+(1−α)Rxx(f) (6.71) 式(6.70)と式(6.71)のαが プロパティALPHAで指定可能である.Rss(f)とRnn(f)からW(f)が更新されて 分離ができる.

トラブルシューティング: 基本的にはGHDSSノードのトラブルシューティングと同じ.

参考文献

[1 ] P. W. Howells, ’Intermediate Frequency Sidelobe Canceller’, U.S. Patent No.3202990, 1965.

ドキュメント内 HARK Document (ページ 171-175)