6.4.5 MSLSExtraction

6.4.5.1 ノードの概要

本ノードは,音響特徴量の1つであるメルスケール対数スペクトル (MSLS : Mel-Scale Log-Spectrum) と対数パワーを求める. メルスケール対数スペクトル係数と対数スペクトルパワーを 要素とする音響特徴量ベクトルを生成する.

6.4.5.2 必要なファイル

無し.

6.4.5.3 使用方法

どんなときに使うのか

メルスケール対数スペクトル係数と対数パワーを次元要素とする. 音響特徴量ベクトルを生成するために用いる. 例えば,音響特徴量ベクトルを音声認識ノードに入力し,音韻や話者を識別する.

典型的な接続例

\includegraphics[width=120mm]{fig/modules/MSLSExtraction}
Figure 6.63: MSLSExtraction の典型的な接続例

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

Table 6.55: MSLSExtraction のパラメータ表

パラメータ名

デフォルト値

単位

説明

FBANK_COUNT

int 

13

 

入力スペクトルにかけるフィルタバンク数.実装は 13 に最適化されている.

NORMALIZATION_MODE

string 

CEPSTRAL

 

特徴量の正規化手法

 USE_POWER

bool 

false

 

対数パワーを特徴量に含めるか含めないかの選択

入力

FBANK

: Map<int, ObjectRef> 型.音源 ID とフィルタバンクの 出力エネルギーから構成されるベクトルの
Vector<float> 型のデータのペア.

SPECTRUM

: Map<int, ObjectRef> 型.音源 ID と複素スペクトルから構成される ベクトルの
Vector<complex<float> > 型のデータのペア.

出力

OUTPUT

: Map<int, ObjectRef> 型.である.音源 ID と MSLS と対数パワー項から構成されるベクトルの Vector<float> 型のデータのペア.本ノードは, MSLS の静的特徴を求めるノードであるが,出力には,動的特徴量部を含んだベクトルを出力する.動的特徴量部分には, 0 が設定される.その様子を図 6.63 に示す.

パラメータ

FBANK_COUNT

: int 型.入力スペクトルにかけるフィルタバンク数. 値域は,正の整数. 値を大きくすると 1 バンク当りの担当周波数帯域が狭くなり, 周波数分解能の高い音響特徴量が求まる. 典型的な設定値は,13 から 24 である. ただし,現在の実装では,この値が 13 に固定されるよう最適化されているので, デフォルト値の利用を強く推奨する. より大きな FBANK_COUNT を設定すると,音響特徴をより精細に表現する. 音声認識には,必ずしも精細な表現が最適ではなく,発声する音響環境に依存する.

NORMALIZATION_MODE

: string 型.CEPSTRAL または SPECTRAL を指定可能. 正規化をケプストラムドメイン/スペクトラムドメインで行うかを選択.

USE_POWER

: trueにすると音響特徴量に対数パワー項を追加. falseにすると省略.音響特徴量にパワー項を利用することは稀であるが, 音声認識には,デルタ対数パワーが有効であるとされる.trueにし,後段で デルタ対数パワーを計算し,それを音響特徴量として用いる.

6.4.5.5 ノードの詳細

本ノードは,音響特徴量の1つであるメルスケール対数 スペクトル (MSLS : Mel-Scale Log-Spectrum) と対数パワーを求める. メルスケール対数スペクトル係数と対数スペクトルパワーを 次元要素とする音響特徴量を生成する.

本ノードの FBANK 入力端子には, 各フィルタバンクの出力対数エネルギーを 入力する.指定する正規化手法によって,出力する MSLS の計算方法が異なる.

以下で,正規化手法ごとに本ノードの出力ベクトルの計算方法を示す.

CEPSTRAL

: FBANK 端子への入力を,

  $\displaystyle \boldsymbol {x} $ $\displaystyle = $ $\displaystyle [ x(0),x(1), \cdots , x(P-1) ]^ T $   (103)

と表す.ただし,$P$ は,入力特徴ベクトルの次元数で,FBANK_COUNT である. 出力されるベクトルは,$P+1$ 次元ベクトルで, MSLS 係数と パワー項から構成される.1 次元目から $P$ 次元目までは, MSLS で,$P+1$ 次元目は,パワー項である. 本ノードの出力ベクトルは,

  $\displaystyle \boldsymbol {y} $ $\displaystyle = $ $\displaystyle [y(0),y(1),\dots ,y(P-1), E]^ T $   (104)
  $\displaystyle y(p) $ $\displaystyle = $ $\displaystyle \displaystyle \frac{1}{P} \sum _{q=0}^{P-1} \Bigl \{ L(q) \cdot \sum _{r=0}^{P-1} \Bigl \{ \log (x(r)) \cos \Bigl ( \frac{ \pi q (r+0.5)}{P} \Bigr ) \Bigr \} \cos \Bigl ( \frac{\pi q (p+0.5) }{P} \Bigr ) \bigr \} $   (105)

である.ただし,リフタリング係数は,

  $\displaystyle L(p) $ $\displaystyle = $ $\displaystyle \left\{ \begin{array}{ll} 1.0, & (p=0, \dots ,P-1), \\ 0.0, & (p=P, \dots ,2P-1), \\ \end{array} \right. $   (106)

とする.ただし,$Q=22$ である.

SPECTRAL

: FBANK 部の入力を

  $\displaystyle \boldsymbol {x} $ $\displaystyle = $ $\displaystyle [ x(0),x(1), \cdots , x(P-1) ]^ T $   (107)

と表す.ただし,$P$ は,入力特徴ベクトルの次元数で,FBANK_COUNT である. 出力されるベクトルは,$P+1$ 次元ベクトルで, MSLS 係数と パワー項から構成される.1 次元目から $P$ 次元目までは, MSLS で,$P+1$ 次元目は,パワー項である. 本ノードの出力ベクトルは,

  $\displaystyle \boldsymbol {y} $ $\displaystyle = $ $\displaystyle [y(0),y(1),\dots ,y(P-1), E]^ T $   (108)
  $\displaystyle y(p) $ $\displaystyle = $ $\displaystyle \left\{ \begin{array}{ll} ( \log (x(p)) - \mu ) - 0.9 ( \log (x(p-1)) - \mu ), & if~ ~ p=1,\dots ,P-1 \\ \log (x(p), & if ~ ~ p=0, \\ \end{array} \right. $   (109)
  $\displaystyle \mu $ $\displaystyle = $ $\displaystyle \frac{1}{P} \sum _{q=0}^{P-1} \log (x(q)), $   (110)

である.周波数方向の平均除去と,ピーク強調処理を適用ている.

対数パワー項は,SPECTRUM 端子の入力を

  $\displaystyle \boldsymbol {s} $ $\displaystyle = $ $\displaystyle [ s(0),s(1), \dots , s(N-1) ]^ T $   (111)

と表す.ただし,$N$ は,SPECTRUM 端子に接続された Map のサイズによって決る. Map は,0 から $\pi $ までのスペクトル表現を $B$ 個のビンに格納しているとすると, $N = 2(B-1)$ である.この時,パワー項は,

  $\displaystyle p $ $\displaystyle = $ $\displaystyle \log \Bigl ( \frac{1}{N} \sum _{n=0}^{N-1} s(n) \Bigr ) $   (112)

である.

\includegraphics[width=120mm]{fig/modules/MSLSExtraction.eps}
Figure 6.64: MSLSExtraction の出力パラメータ