[実施形態]
以下、本願が開示する音声モデル学習方法、雑音抑圧方法、音声モデル学習装置、雑音抑圧装置、音声モデル学習プログラム及び雑音抑圧プログラムの実施形態を説明する。なお、以下の実施形態は、一例を示すに過ぎず、本願が開示する技術を限定するものではない。また、以下に示す実施形態及びその他の実施形態は、矛盾しない範囲で適宜組合せてもよい。
なお、以下の実施形態では、例えば、ベクトル又はスカラーであるAに対し、“^A”と記載する場合は「“A”の真上に“^”が記された記号」と同等とし、“ ̄A”と記載する場合は「“A”の真上に“ ̄”が記された記号」と同等であるとする。また、“A”がベクトルである場合には、「ベクトルA」と表記し、“A”がスカラーである場合には、単に「A」と表記し、“A”が集合である場合には、「集合A」と表記するものとする。また、例えばベクトルAの関数fは、f(ベクトルA)と表記するものとする。なお、行列Aに対し、行列A−1は、行列Aの逆行列を表す。
また、以下の実施形態では、音声信号の識別器として、ディープニューラルネットワーク(Deep Neural Network:DNN)に基づく識別器を導入する。DNNは、多層パーセプトロンの一種であり、通常の多層パーセプトロンが3層程度の識別層を有するのに対し、実施形態では、3層より多くの識別層を有し、より深いネットワークを構築する。具体的には、各識別層を制約付きボルツマンマシン(Restricted Boltzmann Machine:RBM)で学習し、その後、各識別層のRBMを連結してネットワーク全体のパラメータを調整することにより、深い識別層を持つニューラルネットワークを構築することができる。このような深い識別層を持たせることで、音声信号の識別性能を高めることができる。
DNNによる音声信号の識別器を雑音抑圧に導入するためには、DNNの出力層に含まれる各ノードと、音声信号のGMMの各要素分布との対応付けを行う必要がある。そのために、先ず、各時刻における雑音の存在しない音声信号が、音声信号のGMMに含まれるどの要素分布に属するかを示した分布ラベルを生成する。その後、音声信号と雑音信号との混合信号と、分布ラベルを用いて音声信号のDNNを学習する。このような方法を用いることにより、音声信号のGMMの各要素と音声信号のDNNの出力層の各ノードとの対応付けが可能となる。
また、音声信号のDNNを用いることで、入力混合信号に含まれる音声信号の識別性能が向上し、入力混合信号からの音声信号と雑音信号との抽出精度、及び、話者適応パラメータと、雑音抑圧フィルタとの推定精度とを改善することが可能となる。
なお、DNNについては、文献1「A. Mohamed, G. Dahl, G. Hinton, “Acoustic Modeling Using Deep Belief Networks.”, IEEE Transactions on Audio, Speech, and Language Processing, vol. 20, no1., pp. 14-22, 2012.」、文献2「久保陽太郎,“ディープラーニングによるパターン認識”,情報処理,vol. 54,no. 5,pp. 500-508,April 2013.」に詳述されている。
(音声モデル学習装置の構成)
図1は、音声モデル学習装置の構成の一例を示す図である。音声モデル学習装置100は、音声GMM記憶装置300、音声DNN記憶装置400が接続される。音声GMM記憶装置300は、音声GMM300aを記憶する。音声DNN記憶装置400は、後述する音声DNN学習部140により学習されたパラメータである重み行列Wjと、バイアスベクトルvjとを含む音声DNN400aを記憶する。音声モデル学習装置100は、学習用音声信号Oclean τ及び学習用音声信号Oclean τと学習用雑音信号とが混合した学習用混合信号Onoisy τを入力とし、DNNのパラメータである重み行列Wjと、バイアスベクトルvjとを出力する。音声モデル学習装置100は、第1音響特徴抽出部110、第2音響特徴抽出部120、最尤分布推定部130、音声DNN学習部140を有する。
第1音響特徴抽出部110は、学習用音声信号Oclean τを入力とし、学習用音声信号Oclean τから音声DNNの学習に用いる対応分布ラベルLabtを得るための特徴量である学習用対数メルスペクトルのベクトルOclean tを抽出する。
図2は、音声モデル学習装置の第1音響特徴抽出部の処理手順の一例を示すフローチャートである。図2に従い、第1音響特徴抽出部110の処理を説明する。先ず、第1音響特徴抽出部110は、フレーム切出処理にて学習用音声信号Oclean τ(τは離散信号のサンプル点)を時間軸方向に一定時間幅で始点を移動させながら、一定時間長の音響信号をフレームとして切り出す(ステップS110a)。例えば、第1音響特徴抽出部110は、Frame=400個のサンプル点(16,000Hz×25ms)の音響信号Oclean τ,nを、Shift=160個のサンプル点(16,000Hz×10ms)ずつ始点を移動させながら切り出す。ここで、tはフレーム番号、nはフレーム内のn番目のサンプル点を表す。その際、第1音響特徴抽出部110は、例えば、下記(1)式に示すハミング窓のような窓関数wnを掛け合わせて切り出す。
その後、第1音響特徴抽出部110は、音響信号Oclean t,nに対して、M点(Mは2のべき乗かつFrame以上の値であり、例えばM=512)の高速フーリエ変換処理を実行し、複素数スペクトルのベクトルSpcclean t={Spcclean t,0,・・・,Spcclean t,m,・・・,Spcclean t,M−1}Tを得る(mは、周波数ビンの番号)(ステップS110b)。なお、{・}Tは、行列又はベクトルの転置を表す。次に、各Spcclean t,mの絶対値に対して、メルフィルタバンク分析処理(ステップS110c)、対数化処理(ステップS110d)を適用し、R次元(例えばR=24)の対数メルスペクトルを要素に持つベクトルOclean t={Oclean t,0,・・・,Oclean t,r,・・・,Oclean t,R−1}Tを算出する(rはベクトルOclean tの要素番号)。この結果、第1音響特徴抽出部110は、学習用対数メルスペクトルとして、ベクトルOclean tを出力する。
第2音響特徴抽出部120は、学習用音声信号Oclean τと学習用雑音信号とが混合した学習用混合信号Onoisy τを入力とし、学習用混合信号Onoisy τから音声モデル学習を実施するための特徴量である学習用正規化対数メルスペクトルのベクトルOnoisy tを抽出する。
図3は、音声モデル学習装置の第2音響特徴抽出部の処理手順の一例を示すフローチャートである。図3に従い、第2音響特徴抽出部120の処理を説明する。第2音響特徴抽出部120は、ステップS120a〜S120dにおいて、Onoisy τに対して、図2に示す、Oclean τに対して実行されるステップS110a〜S110dそれぞれと同様の処理を実行する。
次に、第2音響特徴抽出部120は、ステップS120dの対数化処理にて得られた学習用混合信号Onoisy τの対数メルスペクトルに対して、正規化処理を適用する(ステップS120e)。具体的には、第2音響特徴抽出部120は、学習用混合信号Onoisy τの対数メルスペクトル全体から求めた学習用混合信号Onoisy τの対数メルスペクトルの平均と標準偏差を用いて、学習用混合信号Onoisy τの対数メルスペクトルを平均0、分散1に正規化する。
次に、第2音響特徴抽出部120は、ステップS120eの正規化処理にて正規化された学習用混合信号Onoisy τの対数メルスペクトルの1次と、2次の回帰係数を算出し、正規化された学習用混合信号Onoisy τの対数メルスペクトルと合わせて3R次元のベクトルOnorm t={Onorm t,0,・・・,Onorm t,r,・・・,Onorm t,3R−1}Tを構成する回帰係数付与処理を実行する(ステップS120f)。その後、第2音響特徴抽出部120は、ステップS120fの回帰係数付与処理にて回帰係数が付与されたベクトルOnorm tをフレームtの前後Zフレーム{t−Z,・・・,t,・・・,t+Z}分だけ結合した3R×(2R+1)次元のベクトルOnorm t={ベクトルOnorm t―Z T,・・・,ベクトルOnorm t T,・・・,ベクトルOnorm t+Z T}Tを算出するフレーム連結処理を実行する(例えばZ=5)(ステップS120g)。この結果、第2音響特徴抽出部120は、学習用正規化対数メルスペクトルのベクトルOnorm tを出力する。
最尤分布推定部130は、第1音響特徴抽出部110の出力である学習用対数メルスペクトルのベクトルOclean tと、音声GMM記憶装置300の主記憶上に記憶された音声GMM300aとを用いて、対応分布ラベルLabtを得る。
最尤分布推定部130は、学習用対数メルスペクトルのベクトルOclean tと、音声GMM300aとを用いて、音声DNNの学習に用いる対応分布ラベルLabtを、下記(2)式により推定する。
上記(2)式において、kは音声GMM300aに含まれる正規分布の番号であり、最大値Kを取る。Kは総正規分布数である。例えば、K=512である。上記(2)式において、wSI,kは音声GMM300aの混合重みであり、ベクトルμSI,kは音声GMM300aの平均ベクトルであり、ベクトルΣSI,kは音声GMM300aの対角分散行列である。それぞれのパラメータであるwSI,k、ベクトルμSI,k、ベクトルΣSI,kは、多数話者の学習用音声データを用いて事前に推定されたものである。また、上記(2)式において、関数N(・)は、下記(3)式で与えられる多次元正規分布の確率密度関数である。上記(2)式は、kを1≦k≦Kの範囲で走査した場合のmax{・}を対応分布ラベルLabtとする。
音声DNN学習部140は、対応分布ラベルLabtと学習用正規化対数メルスペクトルのベクトルOnoisy tとを用いて、音声DNN400aのパラメータである重み行列Wjとバイアスベクトルvjとを学習する。音声DNN学習部140は、最尤分布推定部130により推定された対応分布ラベルLabtと、第2音響特徴抽出部120により計算された学習用正規化対数メルスペクトルのベクトルOnoisy tとを用いて、音声DNN400aとして、J層の隠れ層を持つDNNを学習する(例えばJ=5)。DNNの一般的な学習方法は、前述の文献1及び文献2に示されるとおりである。
音声DNN学習部140は、音声DNN400aのパラメータである重み行列Wjと、バイアスベクトルvjとを、音声DNN記憶装置400へ出力し、主記憶上に記憶させる。なお、重み行列WjはDj×Dj−1次元の行列であり、バイアスベクトルvjはDj次元の縦ベクトルである(例えば、D0=3R×(2Z+1)、Dj=2048(j=1,・・・,J−1)、Dj=K)。
(雑音抑圧装置の構成)
図4は、雑音抑圧装置の構成の一例を示す図である。雑音抑圧装置200は、音声GMM記憶装置300、音声DNN記憶装置400が接続される。雑音抑圧装置200は、音声信号及び雑音信号が混合された入力混合信号Oτを入力とし、入力混合信号Oτにおいて雑音信号が抑圧されたと推定される雑音抑圧信号^Sτを出力する。雑音抑圧装置200は、第1音響特徴抽出部210、第2音響特徴抽出部220、パラメータ推定部230、雑音抑圧部240を有する。
第1音響特徴抽出部210は、音声信号及び雑音信号が混合した入力混合信号Oτを入力とし、入力混合信号Oτに対して雑音抑圧を実施するための特徴量である複素数スペクトルのベクトルSpct及び入力混合信号Oτの対数メルスペクトルのベクトルOtを抽出する。第1音響特徴抽出部210は、音声モデル学習装置100の第1音響特徴抽出部110と同様の処理機能を有する。
第2音響特徴抽出部220は、入力混合信号Oτを入力とし、入力混合信号Oτから音声事後確率Pt,kを計算するための特徴量である正規化対数メルスペクトルのベクトルODNN tを抽出する。第2音響特徴抽出部220は、音声モデル学習装置100の第2音響特徴抽出部120と同様の処理機能を有する。
パラメータ推定部230は、第1音響特徴抽出部210により抽出された対数メルスペクトルのベクトルOtと、音声GMM記憶装置300に記憶された音声GMM300aと、第2音響特徴抽出部220により抽出された正規化対数メルスペクトルのベクトルODNN tと、音声DNN記憶装置400に記憶された音声DNN400aとを用いて、話者適応パラメータのベクトルbと、雑音の確率モデルである雑音GMMのパラメータセットλとを推定する。
多数話者の学習用音声データから推定されたパラメータから構成される音声GMM300aは、話者独立(Speaker Independent:SI)GMMと呼ばれ、特定話者の学習用音声データから推定されたパラメータから構成される音声GMMは、話者依存(Speaker Dependent:SD)GMMと呼ばれる。話者独立GMMを特定話者の学習用音声データを用いて学習することは、実用的ではないため、話者適応処理により、話者依存GMMを得る。すなわち、下記(4)式による話者適応処理により、話者独立GMMの平均ベクトルμSI,kを変換することにより、話者依存GMMの平均ベクトルμSD,kを得る。
上記(4)式において、ベクトルbは話者適応パラメータであり、R次元のベクトルでる。ベクトルbは、音声GMM300aに含まれる正規分布の番号kに対して独立のパラメータとする。一方、雑音GMMは、下記(5)式により与えられる。
上記(5)式において、lは雑音GMMに含まれる正規分布の番号、Lは正規分布の総数である(例えば、L=4)。また、ベクトルNtは雑音の対数メルスペクトルであり、pN(ベクトルNt)は雑音GMMの尤度である。また、wN,lは雑音GMMの混合重みであり、ベクトルμN,lは雑音GMMの平均ベクトル、行列ΣN,lは雑音GMMの対角分散行列である。以後、雑音GMMのパラメータセットをλ={wN,l,ベクトルμN,l,行列ΣN,l}と定義する。
パラメータ推定部230は、話者適応パラメータのベクトルbと、雑音GMMのパラメータセットλは、EMアルゴリズムにより推定する。EMアルゴリズムは、ある確率モデルのパラメータ推定に用いられる方法であり、確率モデルのコスト関数(対数尤度関数)の期待値を計算するExpectation−step(E−step)と、コスト関数を最大化するMaximization−step(M−step)とを、収束条件を満たすまで繰り返すことによりパラメータを最適化する。
さらに、図4に示すパラメータ推定部230の詳細構成について説明する。図5は、雑音抑圧装置のパラメータ推定部の構成の一例を示す図である。図5に示すように、パラメータ推定部230は、初期化部231、確率及び信号推定部232、信頼データ選択部233、話者適応パラメータ推定部234、雑音GMM推定部235、収束判定部236を有する。
図6は、雑音抑圧装置のパラメータ推定部の処理手順の一例を示すフローチャートである。図6に従い、パラメータ推定部230の処理を説明する。先ず、初期化部231は、EMアルゴリズムの繰り返しインデックスをi=1と初期化する(ステップS230a)。次に、初期化部231は、EMアルゴリズムにおける話者適応パラメータのベクトルbと、雑音GMMのパラメータセットλの初期値を、下記(6)〜(11)式により推定する初期値推定処理を実行する(ステップS230b)。ここで、下記(9)式におけるUは初期値推定に要するフレーム数である(例えばU=10)。また、下記(9)式におけるdiag{・}は、行列・の対角成分のみを計算し、非対角成分を0とすることを表す。
上記(9)式において、添え字iはEMアルゴリズムにおけるi回目の繰り返し推定におけるパラメータであることを示す。また、上記(6)式におけるベクトル0は、要素が0であるR次元縦ベクトルである。また、上記(10)式におけるGaussRand(・)は、正規乱数の発生関数である。
次に、確率及び信号推定部232は、正規化対数メルスペクトルのベクトルODNN tと、音声DNN400a記憶されるパラメータである重み行列Wj及びバイアスベクトルvjとを用いて、下記(12)式〜(15)式により、音声事後確率Pt,kを計算する音声事後確率計算処理を実行する(ステップS230c)。
なお、上記(14)式において、Wj,k,k´は重み行列Wjの要素であり、vj,kはバイアスベクトルvjの要素であり、上記(15)式において、ODNN t,KはベクトルODNN tの要素である。
次に、確率及び信号推定部232は、(i−1)回目の繰り返し推定における話者適応パラメータのベクトルb(i−1)と、(i−1)回目の繰り返し推定における雑音GMMのパラメータセットλ(i−1)と、音声GMM300aのパラメータを利用して、下記(16)式のような、対数メルスペクトルのベクトルOtのGMMを構成する混合信号GMM生成処理を実行する(ステップS230d)。
なお、上記(16)式において、po (i)(ベクトルOt)は、ステップS230dの混合信号GMM生成処理にて生成される対数メルスペクトルのベクトルOtの、音声GMM300aに対する尤度である。また、wO,k,l (i)、ベクトルμO,k,l (i)、行列ΣO,k,l (i)は、それぞれ、(i−1)回目の繰り返し推定における話者適応パラメータセットのベクトルb(i−1)と、雑音GMMのパラメータセットλ(i−1)と、音声GMM300aのパラメータとから生成される対数メルスペクトルのベクトルOtのGMMの混合重み、平均ベクトル、対角分散行列であり、下記(17)式〜(20)式で与えられる。
なお、上記(18)式において、対数関数log(・)及び指数関数exp(・)は、ベクトルの要素毎に演算を行う。また、上記(18)式及び(20)式において、ベクトル1は、全ての要素が1であるR次元縦ベクトルである。また、上記(19)式において、Hk,l (i)は、関数h(・)のヤコビ行列である。
次に、確率及び信号推定部232は、i回目の繰り返し推定における対数メルスペクトルのベクトルOtの確率モデルのコスト関数Qo(・)の期待値を、下記(21)式により計算する期待値計算処理を実行する(EMアルゴリズムのE−step)(ステップS230e)。
上記(21)式において、ベクトルO0:T−1={O0,・・・,Ot,・・・OT−1}である。また、上記(21)式において、Tは対数メルスペクトルのベクトルOtの総フレーム数である。また、上記(21)式において、Pt,k,l (i)は、下記(22)式及び(23)により、フレームtにおける音声GMM300aの正規分布番号k及び雑音GMMの正規分布番号lに対して与えられる音声事後確率である。
なお、EMアルゴリズムのM−stepは、ステップS230fの信号推定処理、ステップS230gの信頼データ選択処理、ステップS230hの話者適応パラメータ推定処理、ステップS230iの雑音GMMパラメータ推定処理に該当する。
ステップS230fにおいて、確率及び信号推定部232は、話者適応パラメータのベクトルb(i)と、雑音GMMのパラメータセットλ(i)を更新するために用いる、クリーン音声の対数メルスペクトルのベクトルSt (i)と、雑音の対数メルスペクトルのベクトルNt (i)とを、対数メルスペクトルのベクトルOtから推定する。クリーン音声の対数メルスペクトルのベクトルSt (i)と、雑音の対数メルスペクトルのベクトルNt (i)は、下記(24)式及び(25)式により推定される。
次に、信頼データ選択部233は、話者適応パラメータのベクトルb(i)と、雑音GMMのパラメータセットλ(i)とを推定する際に用いる、クリーン音声の推定対数メルスペクトルのベクトル^St (i)と、雑音の推定対数メルスペクトル^Nt (i)とを選択する信頼データ選択処理を実行する(ステップS230g)。
図7は、雑音抑圧装置のパラメータ推定部による信頼データ選択処理のサブルーチンの一例を示すフローチャートである。信頼データ選択処理は、全フレームにおいて、クリーン音声と、雑音とのいずれが優勢であるかを判定した結果に基づき、クリーン音声が優勢であれば、各フレーム番号tをクリーン音声信号フレームの集合TS (i)に格納し、雑音が優勢であれば、各フレーム番号tを雑音フレームの集合TN (i)に格納する処理である。図7に示すように、先ず、信頼データ選択部233は、各フレームtにおけるSN比であるSNRt (i)を、下記(26)式により計算する。
上記(26)式において、^St,r (i)は、フレームtにおけるクリーン音声の推定対数メルスペクトルのベクトル^St (i)の要素であり、^Nt,r (i)は、フレームtにおける雑音の推定対数メルスペクトルのベクトル^Nt (i)の要素である。そして、信頼データ選択部233は、上記(26)式により得られた、各フレームtにおけるSN比であるSNRt (i)にk−meanクラスタリングを適用して、全てのフレームtにおけるSNRt (i)を2つのクラスC=0,1に分類し、各クラスの平均SN比をAveSNRc (i)と定義する(以上、ステップS230g−1)。
そして、信頼データ選択部233は、各フレームtにおいてAveSNRc=0 (i)≧AveSNRc=1 (i)であるか否かを判定する(ステップS230g−2)。信頼データ選択部233は、フレームtにおいてAveSNRc=0 (i)≧AveSNRc=1 (i)であると判定した場合、ステップS230g−3へ処理を移す。一方、信頼データ選択部233は、フレームtにおいてAveSNRc=0 (i)<AveSNRc=1 (i)であると判定した場合、ステップS230g−6へ処理を移す。
ステップS230g−3では、信頼データ選択部233は、各フレームtにおけるSNRt (i)がSNRt (i)∈{C=0}、すなわち、SNRt (i)が集合{C=0}(C=0のクラスタ)に属するか否かを判定する。信頼データ選択部233は、SNRt (i)∈{C=0}であると判定したフレームtについては、ステップS230g−4へ処理を移す。一方、信頼データ選択部233は、SNRt (i)∈{C=1}であると判定したフレームtについては、ステップS230g−5へ処理を移す。
ステップS230g−4では、信頼データ選択部233は、ステップS230g−3で判定したフレーム番号tを、クリーン音声信号フレームの集合TS (i)へ格納する。一方、ステップS230g−5では、信頼データ選択部233は、ステップS230g−3で判定したフレーム番号tを、雑音信号フレームの集合TN (i)へ格納する。
他方、ステップS230g−6では、信頼データ選択部233は、各フレームtにおけるSNRt (i)がSNRt (i)∈{C=1}、すなわち、SNRt (i)が集合{C=1}(C=1のクラスタ)に属するか否かを判定する。信頼データ選択部233は、SNRt (i)∈{C=1}であると判定したフレームtについては、ステップS230g−7へ処理を移す。一方、信頼データ選択部233は、SNRt (i)∈{C=0}であると判定したフレームtについては、ステップS230g−8へ処理を移す。
ステップS230g−7では、信頼データ選択部233は、ステップS230g−6で判定したフレーム番号tを、クリーン音声信号フレームの集合TS (i)へ格納する。一方、ステップS230g−8では、信頼データ選択部233は、ステップS230g−6で判定したフレーム番号tを、雑音信号フレームの集合TN (i)へ格納する。ステップS230g−4、S230g−5、S230g−7、S230g−8の処理が終了すると、信頼データ選択部233は、図6に示す雑音抑圧装置のパラメータ推定部230の処理へ処理を復帰させる。
次に、話者適応パラメータ推定部234は、ステップS230cの音声事後確率計算処理にて得た音声事後確率Pt,kと、ステップS230fの信号推定処理にて推定したクリーン音声の対数メルスペクトル^St (i)と、ステップS230gの信頼データ選択処理にて推定したクリーン音声信号フレームの集合TS (i)を用いて、下記(27)式により、話者適応パラメータのベクトルb(i)を更新する話者適応パラメータ推定処理を実行する(ステップS230h)。
次に、雑音GMM推定部235は、ステップS230eの期待値計算処理にて得た音声事後確率Pt,l (i)と、ステップS230fの信号推定処理にて推定した雑音の対数メルスペクトルのベクトル^Nt (i)と、ステップS230gの信頼データ選択処理にて推定した雑音信号フレームの集合TN (i)を用いて、下記(28)式〜(30)式により、雑音GMMのパラメータセットλ(i)を更新する雑音GMMパラメータ推定処理を実行する(ステップS230i)。
次に、収束判定部236は、所定の収束条件が満されるか否かを判定する収束判定処理を実行する(ステップS230j)。収束判定部236は、所定の収束条件が満される場合は、ベクトルb=b(i)として、パラメータ推定部230の処理を終了する。一方、収束判定部236は、所定の収束条件が満たされない場合は、iを1インクリメント(i←i+1)し(ステップS230k)、ステップS230dへ処理を移す。なお、所定の収束条件は、下記(31)式で表される。なお、下記(31)式おいて、QO(・)は、上記(21)式で定義される。また、下記(31)式おいて、η=0.0001とする。
また、さらに、図4に示す雑音抑圧部240の詳細構成について説明する。図8は、雑音抑圧装置の雑音抑圧部の構成の一例を示す図である。雑音抑圧部240は、複素数スペクトルのベクトルSpctと、対数メルスペクトルのベクトルOtと、音声GMM300aと、話者適応パラメータのベクトルbと、雑音GMMのパラメータセットλと、音声事後確率Pt,kとを用いて雑音抑圧フィルタを構成し、雑音を抑圧して雑音抑圧信号^Sτを得る。
図8に示すように、雑音抑圧部240は、雑音抑圧フィルタ推定部241、雑音抑圧フィルタ適用部242を有する。雑音抑圧フィルタ推定部241は、対数メルスペクトルのベクトルOtと、音声GMM300aと、話者適応パラメータのベクトルbと、雑音GMMのパラメータセットλと、音声事後確率Pt,kとを入力とし、雑音抑圧フィルタFt,m Linを推定する。雑音抑圧フィルタ適用部242は、複素数スペクトルのベクトルSpctと、雑音抑圧フィルタFt,m Linとを入力とし、雑音を抑圧して雑音抑圧信号^Sτを得る。
図9は、雑音抑圧装置の雑音抑圧フィルタ推定部の処理手順の一例を示すフローチャートである。先ず、雑音抑圧フィルタ推定部241は、音声GMM300aと、話者適応パラメータのベクトルbと、雑音GMMのパラメータセットλとから、対数メルスペクトルのベクトルOtのGMMのパラメータを、下記(32)式〜(35)式のように生成する確率モデル生成処理を実行する(ステップS241a)。
次に、雑音抑圧フィルタ推定部241は、下記(36)式及び(37)式により、事後確率Pt,k,lを、対数メルスペクトルのベクトルOtのGMMのパラメータと、対数メルスペクトルのベクトルOtと、音声事後確率Pt,kとを用いて計算する確率計算処理を実行する(ステップS241b)。
次に、雑音抑圧フィルタ推定部241は、音声GMM300aの平均ベクトルμSI,kと、話者適応パラメータのベクトルbとから生成される話者依存(SD)GMMの平均ベクトルμSD,kと、雑音GMMのパラメータセットλに含まれる雑音GMMの平均ベクトルμN,lと、事後確率Pt,k,lとを用いて、メル周波数軸上での雑音抑圧フィルタFt,r Melを、下記(38)式のように推定する雑音抑圧フィルタ推定処理を実行する(ステップS241c)。なお、下記(38)式は、ベクトルの要素毎の表記である。
次に、雑音抑圧フィルタ推定部241は、メル周波数軸上での雑音抑圧フィルタFt,r Melを、線形周波数軸上での雑音抑圧フィルタFt,r Linへ変換する雑音抑圧フィルタ変換処理を実行する(ステップS241d)。メル周波数軸上での雑音抑圧フィルタFt,r Melを、線形周波数軸上での雑音抑圧フィルタFt,r Linへ変換する処理は、3次スプライン補間をメル周波数軸に適用することにより、線形周波数軸上での雑音抑圧フィルタの値が推定されるものである。ステップS241dが終了すると、雑音抑圧フィルタ推定部241の処理は終了する。
図10は、雑音抑圧装置の雑音抑圧フィルタ適用部の処理手順の一例を示すフローチャートである。先ず、雑音抑圧フィルタ適用部242は、複素数スペクトルのベクトルSpctに対して雑音抑圧フィルタFt,m Linを、下記(39)式のように掛け合わせることにより、雑音抑圧された複素数スペクトル^St,mを得るフィルタリング処理を実行する(ステップS242a)。なお、下記(39)式は、ベクトルの要素毎の表記である。
次に、雑音抑圧フィルタ適用部242は、複素数スペクトル^St,mに対して逆高速フーリエ変換を適用することにより、フレームtにおける雑音抑圧音声^St,nを得る逆高速フーリエ変化処理を実行する(ステップS242b)。次に、雑音抑圧フィルタ適用部242は、各フレームtの雑音抑圧音声^St,nを、下記(40)式及び(41)式のように、窓関数wnを解除しながら連結して、連続した雑音抑圧音声^sτを得る波形連結処理を実行する(ステップS242c)。ステップS242cが終了すると、雑音抑圧フィルタ適用部242の処理は終了する。
[実施形態による効果]
実施形態の効果を示すため、音声信号と雑音信号が混在する音響信号を実施形態の雑音抑圧装置200へ入力し、雑音抑圧を実施した例を示す。以下、実験方法及び結果について説明する。
実験では、AURORA4とよばれる雑音環境下音声認識データベースを用いて評価を行った。AURORA4の評価データセットは、A: 雑音の無い音声、B:6種類の雑音が混在した音声、C:異なるマイクで収録された雑音の無い音声、D:異なるマイクで収録された6種類の雑音が混在した音声の4セットで構成される。AURORA4の詳細については、文献3「N. Parihar, J. Picone, D. Pearce, H.G. Hirsch,“Performance analysis of the Aurora large vocabulary baseline system.” in Proceedings of the European Signal Processing Conference, Vienna, Austria, 2004.」に記載のとおりである。
AURORA4の音声データは、サンプリング周波数16,000Hz、量子化ビット数16ビットで離散サンプリングされたモノラル信号である。この音声データに基づく音響信号に対し、1フレームの時間長を25ms(Frame=400サンプル点)とし、10ms(Shift=160サンプル点)ごとにフレームの始点を移動させて、音響特徴抽出を行った。
音声GMM300aとして、R=24次元の対数メルスペクトルを音響特徴量とする混合分布数K=512のGMMを用い、AURORA4の雑音の混合が無い学習用音声データを用いて学習した。雑音GMMの混合分布数にはL=4を与えた。音声DNN400aには、R=24次元の対数メルスペクトルとその1次及び2次の回帰係数、及び現在のフレームを中心に前後Z=5フレームずつの特徴量を含む合計D0=3R×(2Z+1)=792次元のベクトルを音響特徴量としてJ=5層の隠れ層を有し、入力層にD0=792ノード、隠れ層にDj=2048(j=1,・・・,4)ノード、出力層にD5=K=512ノードを有するDNNを用い、AURORA4の雑音が混合した学習用音声データを用いて学習した。
音声認識は、有限状態トランスデューサーに基づく認識器により行った。有限状態トランスデューサーに基づく認識器の詳細は、文献4「T. Hori, et al.,“Efficient WFST-based one-pass decoding with on-the-fly hypothesis rescoring in extremely large vocabulary continuous speech recognition.” IEEE Trans. on ASLP, vol. 15, no. 4, pp. 1352-1365, May 2007.」に記載のとおりである。
音響モデルにはDNNを用いており、7層の隠れ層を有する。各隠れ層のノード数は、2048である。また、出力層のノード数は、3042である。音声認識の音響特徴量は、1フレームの時間長を25ms(Frame=400)とし、10ms(Shift=1600サンプル点)ごとにフレームの始点を移動させて分析した24次元の対数メルスペクトルとその1次及び2次の回帰係数、及び現在のフレームを中心に前後5フレームずつの特徴量を含む合計792次元のベクトルである。また、言語モデルにはTri−gramを用い、語彙数は5,000単語である。また、音声認識の評価尺度は、下記(42)式の単語誤り率(Word Error Rate:WER)とした。下記(42)式のNは総単語数、Dは脱落誤り単語数、Sは置換誤り単語数、Iは挿入誤り単語数であり、WERの値が小さい程、音声認識性能が高いことを示す。
図11は、実施形態による効果の一例を示す図である。図11に示す「従来技術」は、、文献5「M. Fujimoto and T. Nakatani, “A reliable data selection for model-based noise suppression using unsupervised joint speaker adaptation and noise model estimation.” in Proceedings of ICSPCC '12, pp. 4713-4716, Aug 2012.」に開示されている方法による雑音抑圧結果を示す。図11は、「雑音抑圧なし」、「従来技術」、「実施形態」の各音声認識の評価結果の比較を示す。図11に示すとおり、実施形態は、従来技術に比べ、雑音を含む評価セットB及びDにおいて、WERが小さいことから、より高い雑音抑圧性能を得られることが分かる。
すなわち、実施形態によれば、様々な雑音が存在する環境において、音響信号に含まれる雑音信号が多峰性の分布に従う非定常雑音であっても、入力された音響信号から雑音信号を抑圧して、目的とする音声信号を高品質で取り出すことができる。
[その他の実施形態]
その他の実施形態では、図2のステップS110a及び図3のステップS120aのフレーム切り出し処理において、窓関数wnとして、ハミング窓以外に、方形窓、ハニング窓、ブラックマン窓などの窓関数を利用してもよい。また、その他の実施形態では、音声GMM300aに代えて、音声信号の確率モデルとして、隠れマルコフモデル(Hidden Markov Model:HMM)等の他の確率モデルを用いてもよい。また、その他の実施形態では、雑音GMMに代えて、雑音信号の確率モデルとして、HMM等の他の確率モデルを用いてもよい。
また、その他の実施形態では、話者適応パラメータのベクトルbを、下記(43)式のように、音声GMM300aに含まれる正規分布の番号kに依存するパラメータとしてもよい。
また、その他の実施形態では、図6のステップS230g及び図7に示す信頼データ選択処理を、k−meanクラスタリングに代えて、下記(44)式に示すように、所定閾値ThSNRを用いて実行してもよい。
また、その他の実施形態では、図9のステップS241cの雑音抑圧フィルタ推定処理において、上記(38)式のような各事後確率Pt,k,lの重み付け平均ではなく、最大の重みつまり最大の事後確率Pt,k,lにより重み付けした推定結果を用いてもよい。この場合、最大の事後確率Pt,k,lが他の事後確率Pt,k,lと比べて十分大きいことが望ましい。
(音声モデル学習装置及び雑音抑圧装置の装置構成について)
図1に示す音声モデル学習装置100及び図4に示す雑音抑圧装置200の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要さない。すなわち、音声モデル学習装置100及び雑音抑圧装置200の機能の分散及び統合の具体的形態は図示のものに限られず、全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。例えば、音声モデル学習装置100及び雑音抑圧装置200は、一体の装置であってもよい。
また、実施形態では、音声モデル学習装置100及び雑音抑圧装置200は別装置とし、音声モデル学習装置100の第1音響特徴抽出部110及び第2音響特徴抽出部120と、雑音抑圧装置200の第1音響特徴抽出部210及び第2音響特徴抽出部220とは、それぞれ異なる機能構成部とした。しかし、これに限らず、第1音響特徴抽出部110と第1音響特徴抽出部210、及び/又は、第2音響特徴抽出部120と第2音響特徴抽出部220は、同一の機能構成部であってもよい。
また、実施形態では、音声GMM記憶装置300及び音声DNN記憶装置400は、音声モデル学習装置100及び雑音抑圧装置200と別装置であるとした。しかし、これに限らず、音声GMM記憶装置300及び/又は音声DNN記憶装置400は、音声モデル学習装置100及び/又は雑音抑圧装置200と一体の装置であってもよい。
また、音声モデル学習装置100及び雑音抑圧装置200において行われる各処理は、全部又は任意の一部が、CPU(Central Processing Unit)等の処理装置及び処理装置により解析実行されるプログラムにて実現されてもよい。また、音声モデル学習装置100及び雑音抑圧装置200において行われる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
また、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともできる。もしくは、実施形態において説明した各処理のうち、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上述及び図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
(プログラムについて)
図12は、プログラムが実行されることにより、音声モデル学習装置及び雑音抑圧装置が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。コンピュータ1000において、これらの各部はバス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1041に挿入される。シリアルポートインタフェース1050は、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、例えばディスプレイ1061に接続される。
ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、音声モデル学習装置100及び雑音抑圧装置200の各処理を規定するプログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1093として、例えばハードディスクドライブ1031に記憶される。例えば、音声モデル学習装置100及び雑音抑圧装置200における機能構成と同様の情報処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。
また、実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1031に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093やプログラムデータ1094は、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
上記実施形態及びその他の実施形態は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。