音声区間検出方法、音声認識方法、音声区間検出装置、音声認識装置、そのプログラム及び記録媒体
【課題】雑音や対象とする人以外の音声を含むような音信号から、対象とする人の音声区間を正確に検出する音声区間検出方法及び装置を提供することを目的とする。
【解決手段】音信号を所定の長さのフレームごとに取り出し、そのフレームの音信号を解析し、そのフレームの音信号に対象とする話者の音声が含まれるか否かを判定し、判定結果を音声/非音声判定値として求め、音信号の中に含まれる認識単位の系列と、各認識単位の発話時間情報とを求め、音声/非音声判定ステップにおいて得られるフレームごとの音声/非音声判定値と、音声認識ステップにおいて得られる認識単位の系列及び各認識単位の発話時間情報とを受け取って、認識単位の発話時間に対応するフレームの音声/非音声判定値の集計値の大小に基づいて、認識単位ごとに対象とする話者によって発話されたか否かを判定する。
【解決手段】音信号を所定の長さのフレームごとに取り出し、そのフレームの音信号を解析し、そのフレームの音信号に対象とする話者の音声が含まれるか否かを判定し、判定結果を音声/非音声判定値として求め、音信号の中に含まれる認識単位の系列と、各認識単位の発話時間情報とを求め、音声/非音声判定ステップにおいて得られるフレームごとの音声/非音声判定値と、音声認識ステップにおいて得られる認識単位の系列及び各認識単位の発話時間情報とを受け取って、認識単位の発話時間に対応するフレームの音声/非音声判定値の集計値の大小に基づいて、認識単位ごとに対象とする話者によって発話されたか否かを判定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はマイク等から入力された音信号中の音声区間を判定する音声区間検出方法及び音声区間検出装置、並びに、音声区間検出方法によって同定される音声区間の音声認識方法及び音声認識装置、そのプログラム及び記録媒体に関する。
【背景技術】
【0002】
マイク等で収録した音信号をディジタル化して送信する技術や、音信号を単語や文字の系列に変換する音声認識技術がある。ここで、一般に入力された音信号には対象とする人が話している音声区間と、対象とする人の話していない非音声区間がある。そして、音声通信や音声認識技術において、非音声区間が不要となる場合がある。ここで、対象とする人とは、マイクに向かって話す発話者や、音声認識の対象となる音声を話す人などを指すものとする。従って、非音声区間には、無音や雑音だけでなく、対象とする人以外の音声(周囲の話し声など)も含まれる場合がある。
【0003】
音声区間を同定できれば、音声通信では音声区間のみを伝送すればよいので伝送する情報量を削減できる。また、音声認識の前処理として利用すれば、非音声区間を認識することに起因する認識誤りを避けることができる。つまり、非音声区間には雑音や対象とする人以外の人の音声等が含まれることがあるため、非音声区間を音声認識すると雑音や他人の音声を、対象とする人の音声と誤って認識し、誤った認識結果を得る場合がある。なお、音信号から音声区間を同定することを音声区間検出(VAD: Voice Activity Detection)と呼ぶ。
【0004】
図1は、従来の一般的な音声区間検出装置10の構成を示す。音声区間検出装置10は、マイク等から音信号x(k)を取得する音声入力部11と、ある決められた時間間隔(以後フレームと呼ぶ)ごとに音声か非音声かを判定する音声/非音声判定部13と、音声/非音声区間判定の結果yを出力する結果出力部15とからなる。
【0005】
また、図2は、音声区間検出を利用した従来の音声認識装置20の構成例を示している。音声認識部24では、音声/非音声判定部13から音声区間の音信号のみを受け取り、音声認識処理を行う。結果出力部25は、その認識結果y'を出力する。
【0006】
音声区間検出において音声/非音声判定を行う方法としては、例えば、次に示すような方法がある。非特許文献1には、信号の状態遷移を定義した音声信号区間推定方法が開示されている。この方法では、入力される音信号が時間経過とともに音声状態及び非音声状態を遷移する信号であるとみなす。音声状態及び非音声状態の状態遷移は、入力される音信号が音声状態に属する確率及び非音声状態に属する確率を基準として決定される。そして、音声状態に属する音信号のみを出力する。なお、音声状態及び非音声状態の構成は適応的に行われる。
【0007】
非特許文献1の方法では、基本的に入力される音信号に対して、フレームごとに音声区間か非音声区間かを判定するので、極端に短い音声区間または非音声区間が推定されることがある。そこで、必要に応じて、音声/非音声判定の結果に対してエラー訂正処理を行ってもよい。エラー訂正処理とは、例えば以下のような処理である。音声/非音声判定により音声とみなされたフレームがSduraitonフレーム以上継続すれば、音声区間として確定する。また、非音声とみなされたフレームがNduraitonフレーム以上継続すれば、非音声区間として確定する。さらに、音声区間中に存在する短い非音声区間が検出された場合、非音声区間の継続長がPauseフレーム以下なら、該当区間を音声区間とみなす。
【0008】
一方、複数の人が話す会話から得られる音信号から、対象とする複数の人の各々について音声区間を検出する技術(以下「Diarization」という)や、対象とする複数の人の各々の音声区間を音声認識することで、誰が何を話したかを認識する技術がある。
【0009】
マイクが一つの場合(シングルチャネル)のDiarizationとしては、例えば、非特許文献2にあるように、入力された音信号を、各々の話者が話した区間に分割する方法がある。これは、まず入力音信号を適当な長さ(例えば1秒間)のブロックに区切り、各ブロックの各フレームについての音声特徴量(例えば、MFCC)を用いて、各ブロックのモデル(混合正規分布GMM)のモデルパラメタを計算する。次に、各ブロックについて、隣接するブロック同士を結合するか否かを、例えばΔBIC等の情報量基準を用いて判定する。情報量規準にΔBICを用いる場合、ΔBICが負となる場合は結合し、正となる場合は結合しないものとする。この手順を全てのブロックに対して何度も繰り返す。最終的に全てのブロック結合においてΔBICが正となった所で得られている各ブロックが、各話者の音声区間に対応する。
【0010】
マイクが複数の場合(複数チャネル)のDiarizationについては、音声信号の到来方向情報を用いた方法がある(非特許文献3参照)。これは、各フレームにおいてチャネル間位相差を計算し、同一の位相差を持つフレームを同じ方向から音声が到来しているフレームであると考える。そして、同一の位相差を持つフレームを、ある単一話者の音声区間と判定する。
【0011】
また、複数の人が話す会話の音声区間検出を行う場合、図3に示すように、音源分離技術によって会話の各話者の音声をそれぞれ強調した分離音信号に分ける音源分離部32を設けて、各話者の分離音信号の音声区間を検出する方法もある。そして、音声認識部23において、各分離音信号の音声区間に対して音声認識を行う。このような構成とすることで、複数の人が同時に話した場合でも分離されたそれぞれの音信号を認識するため比較的高い精度の音声認識結果y'nを得ることができる。但し、y'nは話者nの音声認識結果を表す。なお、通常、複数の人の音声が混在する音信号を分離せずにそのまま音声認識すると、その認識精度は極めて低くなる。音源分離方法としては、例えば特許文献1記載のビームフォーミングによる方法を用いることができる。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2008−203474号公報
【非特許文献】
【0013】
【非特許文献1】藤本雅清,石塚健太郎,加藤比呂子,”音声と雑音両方の状態遷移過程を有する雑音下音声区間検出”,情報処理学会研究報告, 2006年,2006巻,136号(SLP−64)、pp.13-18
【非特許文献2】C. Wooters and M. Huijbregts, “The ICSI RT07s Speaker Diarization System”, proceedings of CLEAR2007 and RT2007, 2007, pp.509-519,
【非特許文献3】S. Araki, M. Fujimoto, K. Ishizuka, H. Sawada, and S. Makino, "Speaker indexing and speech enhancement in real meetings / conversations", ICASSP2008, 2008, pp.93-96
【発明の概要】
【発明が解決しようとする課題】
【0014】
非特許文献1〜3の何れの方法においても、雑音や対象とする人以外の音声を含むような音信号から、対象とする人の音声区間を正確に検出することは難しい。そのため、そのような音信号の各フレームにおける音声区間/非音声区間の判定値は多くの誤りを含む傾向がある。よって、前述のエラー訂正処理を行っても誤った音声区間を検出してしまうという問題があった。特に、音声の話し始めや話し終りの部分では音声区間であるにもかかわらず非音声区間と判定されてしまうことがあるため、音声区間の前後が途切れた音声を音声認識すると致命的な認識誤りに繋がるという問題があった。
【0015】
また、音源分離によって対象とする人の音声を強調したとしても、対象とする人以外の音声を完全に消すことは難しい。そのため複数の人が話す会話から得られる音信号から音声区間を正しく検出するのは困難な場合が多いという問題があった。さらに、消し残りを含む部分を誤って音声区間と判定して音声認識を行うと多数の挿入誤りが生じるという問題があった。
【0016】
本発明は、雑音や対象とする人以外の音声を含むような音信号から、対象とする人の音声区間を正確に検出する音声区間検出方法及び装置を提供し、さらに、それらの音声区間検出方法及び装置を用いて、単語誤り率が低い音声認識方法及び音声認識装置を提供することを目的とする。また、それらのプログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0017】
上記の課題を解決するために、本発明に係る音声区間検出技術は、音信号を所定の長さのフレームごとに取り出し、そのフレームの音信号を解析し、そのフレームの音信号に対象とする話者の音声が含まれるか否かを判定し、判定結果を音声/非音声判定値として求め、音信号の中に含まれる認識単位の系列と、各認識単位の発話時間情報とを求め、音声/非音声判定ステップにおいて得られるフレームごとの音声/非音声判定値と、音声認識ステップにおいて得られる認識単位の系列及び各認識単位の発話時間情報とを受け取って、認識単位の発話時間に対応するフレームの音声/非音声判定値の集計値の大小に基づいて、認識単位ごとに対象とする話者によって発話されたか否かを判定する。
【0018】
また、対象とする複数の話者の音声を含む音信号から音声区間検出する場合には、対象とする複数の話者の音声を含む音信号を所定の長さのフレームごとに取り出し、そのフレームの音信号を解析し、そのフレームの音信号に対象とする各話者の音声が含まれているか否かを判定し、判定結果を音声/非音声判定結果として求め、対象とする複数の話者の音声を含む音信号を用いて、各話者の音声を強調した複数の分離音信号を生成し、分離音信号の中に含まれる認識単位の系列と、各認識単位の発話時間情報とを求め、音声/非音声判定ステップにおいて得られる各話者のフレームごとの音声/非音声判定値と、音声認識ステップにおいて得られる各話者の認識単位の系列及び各認識単位の発話時間情報とを受け取って、各話者の認識単位の発話時間に対応するフレームの音声/非音声判定値の集計値の大小に基づいて、認識単位ごとにその話者によって発話されたか否かを判定する。
【発明の効果】
【0019】
本発明は、音声区間であるか否かを音声認識結果の認識単位ごとの発話時間における音声/非音声判定値の集計値に基づいて判定するため、音声/非音声判定値に多少の誤りがあっても、それら誤りの影響を低減し、より正確に音声区間を検出できるという効果を奏する。
【図面の簡単な説明】
【0020】
【図1】音声区間検出装置10の構成図。
【図2】音声認識装置20の構成図。
【図3】音声認識装置30の構成図。
【図4】音声区間検出装置100、音声認識装置100’の構成例を示す図。
【図5】音声区間検出装置100、音声認識装置100’の処理フローを示す図。
【図6】音声/非音声判定部130の構成例を示す図。
【図7】音声認識部140の構成例を示す図。
【図8】認識グラフを説明するための図。
【図9】認識単位発話判定部150の構成例を示す図。
【図10】音声区間検出装置200、音声認識装置200’の構成例を示す図。
【図11】音声区間検出装置200、音声認識装置200’の処理フローを示す図。
【図12】音声区間検出装置300の構成例を示す図。
【図13】音声区間検出装置400の構成例を示す図。
【図14】音声区間検出装置500の構成例を示す図。
【図15】音声認識装置200’の実験状況を説明するための図。
【発明を実施するための形態】
【0021】
以下、本発明の実施の形態について、詳細に説明する。
【実施例1】
【0022】
<音声区間検出装置100>
図4及び図5を用いて実施例1に係る音声区間検出装置100を説明する。
【0023】
音声区間検出装置100は音声入力部110と音声/非音声判定部130と音声認識部140と認識単位発話判定部150と結果出力部160を備える。以下、音声区間検出装置100の処理概要を説明する。
【0024】
音声入力部110では、マイク等により収録したアナログ音信号x(k)をディジタル音信号x(u)に変換して、音声/非音声判定部130及び音声認識部140に送る。但し、kは連続時間を、uは離散時間を表す。
【0025】
音声/非音声判定部130では、音声入力部110から受け取ったディジタル音信号x(u)からフレームごとに、そのフレームの時間長に対応する振幅値系列x(t)を取り出す。但し、tはフレーム番号、及び、そのフレームに対応する時刻を表す。さらに音声/非音声判定部130は、例えば非特許文献1の方法で、フレームごとに、話している対象の人の音声か否かを示す音声/非音声判定値d(t)を出力する。
【0026】
音声認識部140では、音声入力部110から受け取ったディジタル音信号x(u)に最も適合する認識単位vr(単語、文字、音素等)の系列v={v1,v2,…,vR}を求める。但し、r=1,2,…,Rとする。このとき得られた各認識単位vrの発話時間情報(例えば、フレーム番号を単位として与えられる開始時刻b(vr)と終了時刻e(vr))も同時に求める。なお、発話時間情報の系列をbe={(b(v1),e(v1)),(b(v2),e(v2)),…, (b(vR),e(vR))}と表す。
【0027】
認識単位発話判定部150では、音声認識部140から受け取った各認識単位vrとその発話時間情報ber=(b(vr),e(vr))に対応する音声/非音声判定値d(t)の集計値s(vr)(平均値等)の大小に基づいて、認識単位vrごとに対象とする人によって発話されたか否かを判定する。音声/非音声判定値の集計値s(vr)は
【0028】
【数1】
として計算する。この集計値がある閾値TX1より大きい場合、認識単位vrが発話されたと判定する。w(・)は任意の窓関数である。例えば、w(・)=1のような関数にすれば、式(1)は以下のように表され、
【0029】
【数2】
s(vr)は、時刻b(vr),e(vr)間のd(t)の平均値になる。
【0030】
認識単位vrの発話判定値s(vr)がある閾値TX1以上の場合に、vrの開始時刻b(vr)と終了時刻e(vr)の間は音声区間であると判定し、TX1未満の場合は時刻b(vr),e(vr)の間は非音声区間であると判定する。認識単位発話判定部150は、判定結果g(vr)を出力する。例えば、vrが音声区間であると判定した場合には、g(vr)=1とし、vrが非音声区間であると判定した場合には、g(vr)=0として、出力する。
【0031】
結果出力部160は、判定結果g(vr)が音声区間であることを表す場合には、認識単位vrに対応する発話時間情報(b(vr),e(vr))または対応する音信号x(b(vr),e(vr))を出力する。
【0032】
以下、各部の処理内容を説明する。
【0033】
<音声入力部110>
音声入力部110は、例えば、マイクの出力信号や外部記憶装置より読み出される信号やネットワークから受信した信号等を入力するための入力インタフェースである。音声入力部110は、入力された音信号x(k)を、A/D変換器により、ディジタル音信号x(u)に変換して出力する(s110)。例えば、音声入力部110は、マイク等により得られるアナログ音信号x(k)を一定時間間隔でサンプリングして、音信号の振幅値x(u)(以下「ディジタル音信号」という)の系列に変換する。例えば、16kHzでサンプリング(標本化)し、16bitで量子化する場合は、音声入力部110は、1/16000秒ごとに音信号の振幅値を取り出し、各振幅値に対し、16bitの整数、すなわち-32768〜+32767の何れかの値を割り当てる。
【0034】
<音声/非音声判定部130>
音声/非音声判定部130は、ディジタル音信号x(u)を所定の長さのフレームごとに取り出し、そのフレームの音信号x(t)を解析し、そのフレームの音信号x(t)に対象とする話者iの音声が含まれるか否かを判定し、判定結果を音声/非音声判定値d(t)として求める(s130)。但し、tは、音声/非音声判定部130で用いられるフレーム番号を表す。
例えば、音声/非音声判定部130は、図6に示すように、音声/非音声を識別するための音響特徴量を抽出する特徴抽出部131と、抽出した特徴量を用いて、対応するフレームの音信号x(t)が音声か非音声かを識別する識別部133とから構成される。
【0035】
(特徴抽出部131)
特徴抽出部131では、音声入力部110から出力されたディジタル音信号x(u)からフレームごとに、そのフレームの時間長に対応する振幅値のサンプル系列x(t)を取り出す。例えば入力されたディジタル音信号x(u)を時間軸方向に一定時間幅(シフト幅)で始点を移動させながら、一定時間長(フレーム長)のディジタル音信号x(u)をフレームとして切り出す。なお、フレーム単位のディジタル音信号をx(t)と表す。例えば1024サンプル点(時間長はサンプリング周波数が16,000 Hzの場合、64msに相当)の音信号を、512サンプル点(同様に時間長は32msに相当)ずつ始点を移動させながら切り出す。
【0036】
次に特徴抽出部131では、切り出されたディジタル音信号x(t)に対して高速フーリエ変換を行い、周波数領域の音信号x(f,t)を算出する。
【0037】
さらに、特徴抽出部131では、周波数領域の音信号x(f,t)を用いて、P次元のメルフィルタバンク分析(例えばP=12)を適用し、フレームtのP次元の対数メルスペクトルを要素に持つ音響特徴ベクトルOt={ot,0,ot,1,…,ot,P-1}を算出し、特徴抽出部131の出力とする。この際、フレームのサンプル点や音響特徴ベクトルの次元数Pは入力される音信号の特徴に応じて適宜変更して良い。
【0038】
(識別部133)
識別部133では、まず入力音声の音声特徴ベクトルOtと、別途用意した音声と非音声の確率モデル、例えば混合正規分布モデル(GMM: Gaussian Mixture Model)との尤度bj(Ot)を次式のように計算する。
【0039】
【数3】
但し、jはGMMの種別を表し、j=0のとき非音声モデルとし、j=1のとき音声モデルとする。kはGMMに含まれる正規分布の番号であり、k=1,2,…,Kとし、wj,kはK番目の正規分布の混合重みを、μj,k,lは平均値を、σ2j,k,lは分散値を表す。なお、確率モデル(GMM)は事前になんらかの学習データを用いて学習しておいても良く、オンラインで逐次的に推定、更新を行っても良い。図示しないGMM記憶部に、確率モデル(GMM)を記憶しておき、識別部133は、GMM記憶部を参照して、上述の尤度bj(Ot)を計算する。
【0040】
次に識別部133では、それぞれのモデルの尤度比L(t)を次式により計算する。
【0041】
【数4】
αt,j=(αt-1,0a0,j+αt-1,1a1,j)bj(Ot) (5)
但し、αt,jは前向き確率であり、ai,jは非音声状態H0及び音声状態H1への状態遷移確率であり、iは遷移前の状態番号、jは遷移後の状態番号であり、ai,0+ai,1=1を満たす(状態番号0は非音声状態を、状態番号1は音声状態をそれぞれ示す)。なお、t=0のとき初期値として前向き確率αt,jを以下のように設定する。
【0042】
αt,0=1 (6)
αt,1=0 (7)
次に識別部133では、尤度比L(t)を用いて、フレームtが音声状態に属するか非音声状態に属するかを判定する。識別部133は、尤度比L(t)の値を音声/非音声の判定値d(t)として出力してもよい。また、識別部133では、別途設定する閾値TH2以上のときに、フレームtが音声状態に属すると判断して音声/非音声の判定値d(t)=1として出力し、閾値TH2未満であれば、フレームtが非音声状態に属すると判断してd(t)=0として出力してもよい。閾値TH2の値は、事前に固定された値に決定しておいても、入力される音信号の特徴に応じて適応的に決定しても良い。
【0043】
<音声認識部140>
音声認識部140は、音信号x(u)の中に含まれる認識単位の系列vと、各認識単位viの発話時間情報b(vi)、e(vi)とを求める(s140)。
【0044】
例えば、図7に示すように音声認識部140は、特徴抽出部141と認識部143と音響モデル記憶部145と認識グラフ記憶部147とを備える。
【0045】
(特徴抽出部141)
特徴抽出部141では、音声入力部110から出力されたディジタル音信号x(u)からフレームごとに、そのフレームの時間長に対応する振幅値のサンプル系列x(t')を取り出す。但し、t'は音声認識部140で用いられるフレーム番号を表す。
【0046】
次に特徴抽出部141では、切り出されたディジタル音信号x(t')に対して高速フーリエ変換を行い、周波数領域の音信号x(f,t')を算出する。
【0047】
さらに、特徴抽出部141では、周波数領域の音信号x(f,t')を用いて、P'次元の音声特徴ベクトルO't'={o't',0,o't',1,…,o't',P'-1}を算出し、特徴抽出部141の出力とする。この際、フレームのサンプル点や音声特徴ベクトルは音声/非音声判定部130内の特徴抽出部131と同一であるとは限らず、異なるものであってもよい。例えば、音声特徴ベクトルとしては、短い時間区間(例えば10ミリ秒)ごとに音信号を分析することにより得られるメルケプストラム(mel-frequency cepstral coefficients、MFCCと呼ばれる)、デルタMFCC、LPCケプストラム、対数パワー等がある。次に、特徴抽出部141は、フレームごとに得られた音声特徴ベクトルO't'を、時間の順序に沿って、順に認識部143に入力する。
【0048】
(認識部143)
認識部143では、音素等の音声的特徴の雛形を表す音響モデルを記憶した音響モデル記憶部145と発音や文法等の制約を表す認識グラフを記憶した認識グラフ記憶部147とを参照しながら、入力された音声特徴ベクトルO't'の系列に最も適合する認識単位vr(単語、文字、音素等)の系列vを求める。このとき得られた各認識単位vrの発話時間情報、すなわち開始時刻b(vr)と終了時刻e(vr)も同時に求める。
【0049】
例えば、認識部143は処理を開始してから何個の音声特徴ベクトルO't'を読み込んだかをフレーム番号として記憶しておき、音声認識の結果として得られる各認識単位vrは、音声特徴ベクトルO't'の系列のどのフレーム番号から開始してどのフレーム番号で終了したか、という情報が得られる。この各認識単位vrの開始フレーム番号と終了フレーム番号を、各認識単位の開始時刻b(vr)と終了時刻e(vr)とする。
【0050】
(音響モデル記憶部145)
音響モデル記憶部145には、音響モデルとして、例えば、音声固定単位(例えば音素)の標準的な音声特徴ベクトルまたはその分布が記憶されている。
【0051】
認識部143は、音響モデル記憶部145に記憶された音響モデルを参照し、音声固定単位と入力された音声特徴ベクトルO't'との類似度を、例えば、その音声固定単位に属する標準的な音声特徴ベクトルの分布によって計算される音声特徴ベクトルO't'の確率密度の対数値として求める。音響モデルを用いた方法としては、例えば、音声固定単位の音声特徴ベクトル時系列の集合を確率・統計理論に基づいてモデル化する隠れマルコフモデル法(Hidden Markov Model、以後HMMと呼ぶ)等がある(参考文献1参照)。
[参考文献1]中川聖一著、「確率モデルによる音声認識」、社団法人電子情報通信学会、1988年
【0052】
(認識グラフ記憶部147)
認識グラフ記憶部147には、例えば、重み付き有限状態トランスデューサを用いて構成された認識グラフが記憶される。なお、単語発音辞書や言語モデルを重み付き有限状態トランスデューサ(英訳 Weighted Finite-State Transducer: WFST)によって記述し、それらを合成して一つの重み付き有限状態トランスデューサを構成する方法は、例えば、参考文献2に記載されている。
[参考文献2]M.Mohri, F.Pereira, M.Riley著, “Weighted finite-state transducers in speech recognition”, Computer Speech and Language, 2002,Vol.16, No.1, pp.69-88
【0053】
以下、認識グラフについて説明する。音声認識用の認識グラフの個々のアーク(エッジ、リンク、枝等とも呼ぶ)には、一般に、HMMの一つの状態を示すラベルが付与される。HMMの状態は、ある音素のその音素内におけるおおまかな位置(例えば、前半、中盤、後半)に対応する音声固定単位であり、各状態は音声特徴ベクトルの確率密度分布(例えば、多次元混合正規分布)を持っている。
【0054】
認識部143が、仮説の累積重みに加える音声特徴ベクトルO't'とアークのラベルに対応する状態の確率密度分布を用いて確率密度を計算し、得られた確率密度の対数値を音声特徴ベクトルO't'とアークのラベルとの類似度として算出する。なお、各アークのラベルに対応する状態の確率密度分布は、音響モデル記憶部145に記憶されている。
【0055】
音声認識のための認識グラフは、音素や単語の並び方などの規則を有向グラフで表したもので、音素や単語の連鎖確率(の対数値)を重みとしてアークに付与し、音素や単語の音響パターンやその分布関数を表すラベル(例えば音素/a/の音声特徴ベクトルを表す分布関数を指す)を対応する各アークに割り当てる。また、音素や単語の並び方のルールに従って始点ノードと終点ノードも設定する。
【0056】
例えば、認識グラフは図8のように構成されている。始点ノードは黒丸、終点ノードは二重丸、それら以外のノードは丸で表されている。ノードを結ぶアークにラベルが付与されており、音素名とその音素内での位置を表すような表記になっている。例えば、a2は音素aのHMMの2番目の状態の確率密度分布を指すものとする。
【0057】
認識部143は、認識グラフを参照し、入力された音声特徴ベクトルO't'の系列に対して、各音声特徴ベクトルO't'と各アークに対応付けられたラベルの類似度の累積値が最も高くなる認識グラフ中の経路を見つける。入力された音声特徴ベクトルO't'とラベルとの類似度は、ラベルに対応する分布関数にその音声特徴ベクトルO't'を入力したときの値として計算される。
【0058】
また、図8中、“a1:赤”のように”:”で二つのラベルが書いてあるときは、ラベルと音声特徴ベクトルO't'の類似度は”:”の前のa1に基づいて計算し、”:”の後の”赤”は、このアークを通る経路が選ばれたときに、認識結果となるラベル(認識単位)である。図8の例では、上を通る経路と下を通る経路があり、上を通る経路が選ばれたときは、“赤です”が認識結果となり、下を通る経路が選ばれたときは、“青です”が認識結果となる。
【0059】
(認識部143の処理内容)
認識部143は、まず初期設定として、探索する経路の初期仮説として、長さ0の経路で始端ノードに到達した仮説を一つ生成し、その仮説のスコアに0を与え、現在の仮説リストに追加する。次に、認識部143は、音声特徴ベクトルO't'を一つ読み込むごとに、現在の仮説リストに含まれる各々の仮説の到達した最後のノードから遷移可能な各アークに対し、その各アークとその遷移先のノードを当該仮説に付加して経路を伸ばすことで新たな仮説を生成し、アークの重みと、直前に読み込んだ音声特徴ベクトルO't'と当該アークのラベルとの類似度を当該仮説のスコアに加算した値をその新たな仮説のスコアとして与え、新たな仮説リストに追加する。次に、認識部143は、現在の仮説リストを空にして、新たな仮説リストに含まれる全ての仮説を現在の仮説リストに移し、次の音声特徴ベクトルO't'を読み込んで同様の処理を繰り返す。なお、計算量を削減するために、現在の仮説リストでスコアが相対的に小さい仮説は現在の仮説リストから削除しても良い。
【0060】
そして、認識部143は、音声特徴ベクトルO't'の系列を最後まで読み終えた時点で、現在の仮説リストの中で最もスコアの高い仮説の経路上の認識単位の系列v=(v1,v2,…,vR)を出力する。但し、Rは認識単位の系列中に含まれる認識単位の個数を表す。
【0061】
また、認識部143は、以下の方法により、各認識単位vrの発話時間情報b(vr)、e(vr)を求め、認識単位の系列vに対応する発話時間情報の系列be=((b(v1),e(v1)),(b(v2),e(v2)),…(b(vR),e(vR)))を出力する。認識部143は、最もスコアの高い仮説の経路上の認識単位の系列vに含まれる認識単位vrがその経路上の始端ノードから何回目の遷移で通ったアークに付与されているかを調べ、その認識単位vrの開始時刻をフレーム番号b(vr)として取得する。その経路上の各認識単位vrの開始時刻が分かれば、各開始時刻の直前のフレーム番号が、その経路上の直前の認識単位vr-1の終了時刻を表すフレーム番号となる。そこで、認識部143は、開始時刻をフレーム番号b(vr)の直前のフレーム番号を、直前の認識単位vr-1の終了時刻をフレーム番号b(vr-1)として取得する。なお、系列vの最後の認識単位vRの終了時刻e(vR)は、最後に処理したフレーム番号として取得する。
【0062】
<認識単位発話判定部150>
認識単位発話判定部150は、音声/非音声判定部130において得られるフレームごとの音声/非音声判定値d(t)と、音声認識部140において得られる認識単位の系列v及び各認識単位の発話時間情報の系列beとを受け取って、各認識単位vrの発話時間情報b(vr),e(vr)に対応するフレームの音声/非音声判定値d(t)の集計値(平均値等)s(vr)の大小に基づいて、認識単位ごとに対象とする話者によって発話されたか否かを判定する(s150)。
【0063】
図9は、音声認識部140からR個の認識単位vrが得られたときの、認識単位発話判定部150における処理手順を表している。まず、r=1,S=0,t=b(vr)とし初期設定を行う(s150a、s150b)。次に、開始時刻b(vr)から終了時刻e(vr)までに含まれる各フレームについて、w(t-b(vr))d(t)を求め、全て加算したSを得る(s150c、s150d,s150e)。Sは以下の式により表される。
【0064】
【数5】
さらに、得られた値Sを、対応するフレーム数e(vr)-b(vr)+1で除算することにより、集計値s(vr)を求める(s150f)。つまり、r番目の認識単位vrについて音声/非音声判定値の集計値s(vr)を式(1)に従って計算する。その集計値s(vr)が閾値TX1以上であれば(s150g)、vrが音声区間であるとの判定結果g(vr)(例えば、g(vr)=1)を出力する(s150h)。その集計値s(vr)が閾値TX1未満であれば(s150g)、vrが非音声区間であるとの判定結果g(vr)(例えば、g(vr)=0)を出力する(s150i)。s150b〜s150iを全ての認識単位に対して繰り返し行う(s150j、s150k)。
【0065】
音声/非音声判定値の集計値は、前述のように式(1)によって計算する。前述の通り、窓関数w(・)=1とすることで認識単位vrの発話判定値s(vr)は時刻b(vr)、e(vr)間の音声/非音声判定値d(t)の平均値になる(式(1’)参照)。一方、窓関数w(・)を認識単位vrの発話時間の中央(つまり(b(vr)+e(vr))/2)に向かって大きな値を取るような関数にしても良い。例えば、平均値が(b(vr)+e(vr))/2のガウス分布を窓関数w(・)としても良い。
【0066】
また、b(vr)を実際の開始時刻よりも小さく、e(vr)を実際の終了時刻よりも大きくすることで、当該認識単位vrの周囲の音声/非音声判定値d(t)を考慮しても良い。逆に、b(vr)を実際の開始時刻よりも大きく、e(vr)を実際の終了時刻よりも小さくすることで、当該認識単位の前部や後部の音声/非音声判定値d(t)を無視しても良い。
【0067】
但し、音声/非音声判定部130で用いられるフレームの時間長と音声認識部140で用いられているフレームの時間長が異なる場合は、フレーム番号が同じであっても異なる時間を指し示すことになるので補正が必要である。以下、補正方法を説明する。例えば、音声認識部140のフレーム番号t’を音声/非音声判定部130で用いられるフレーム番号tに変換し、式(1)において変換したtを用いる。変換式を以下に表す。
【0068】
【数6】
ここで、Dは音声/非音声判定部130におけるフレーム時間長、Hは音声認識部140におけるフレーム時間長を表す。但し、式(8)で求めたtが整数にならない場合は、tの近傍の整数に対応するフレーム番号の音声/非音声判定値を用いて補間しても良い。例えば、tの近傍の2点のフレーム番号の音声/非音声判定値を用いて、以下のように線形補間する。
【0069】
d~(t)=d(τ(t))+(t-τ(t))×(d(τ(t)+1)-d(τ(t))) (9)
ここで、τ(t)はtの小数点以下を切り捨てた整数である。このようにして得られた値d~(t)を、式(1)において、d(t)の代わりに用いても良い。
【0070】
認識単位発話判定部150は認識単位vrの発話判定値s(vr)がある閾値TX1以上の場合に、vrの開始時刻b(vr)と終了時刻e(vr)の間は音声区間であると判定してg(vr)=1を出力し、TX1未満の場合は時刻b(vr)、e(vr)の間は非音声区間であると判定してg(vr)=0を出力する。
【0071】
<結果出力部160>
結果出力部160は、判定結果g(vr)に応じて、音声区間の検出結果を出力する(s160)。検出結果として、g(vr)=1に対応するvrの音信号x(b(vr),e(vr))を出力してもよいし、vrの発話時間情報(開始時刻b(vr)と終了時刻e(vr))を出力してもよい。なお、x(b(vr),e(vr))は、開始時刻b(vr)から始まり終了時刻e(vr)で終わるディジタル音信号を表す。
【0072】
結果出力部160は、例えば、スピーカへの音信号を出力するための出力インタフェースである。例えば、結果出力部160は、音声区間検出装置100で検出した音信号を出力する場合には、g(vr)=1に対応する認識結果vrのディジタル音信号x(b(vr),e(vr))をD/A変換器によりアナログ音信号に変換してスピーカに出力する。
【0073】
なお、ディジタル音信号x(u)、フレームの音信号x(t)、音声/非音声判定値d(t)、音声認識結果vr、発話時間情報(b(vr),e(vr))、判定結果g(vr)は各処理過程において、図示しない記憶部に対応付けて記憶しておいてもよい。
【0074】
<効果>
このような構成とすることによって、音声区間であるか否かを音声認識結果の認識単位ごとの発話時間における音声/非音声判定値の集計値に基づいて判定するため、音声/非音声判定値に多少の誤りがあっても、それら誤りの影響を低減し、より正確に音声区間を検出できる。
【0075】
<変形例1>
本発明の音声区間検出方法を音声認識に用いる場合について説明する。図5及び図6を用いて、音声認識装置100’を説明する。音声認識装置100’は、実施例1と同様の構成を有する。但し、結果出力部160’の処理内容が異なる。
【0076】
結果出力部160’は、認識単位発話部150において対象とする話者によって発話されたと判定された認識単位vrを、その対象とする話者の音声認識結果として出力する(s160’)。つまり、音信号x(u)や発話時間情報(b(vr),e(vr))を出力するのではなく、認識結果vrを出力することで、音声認識装置として機能する。
【0077】
結果出力部160は、例えば、ディスプレイにテキストデータを出力するための出力インタフェースである。例えば、結果出力部160は、音声認識装置100’で認識した認識結果を出力する場合には、g(vr)=1に対応する認識結果vrを出力する。
【0078】
このような構成とすることで、音声認識部140の出力から、認識単位発話判定部150で音声区間と判定された認識単位vrだけを認識結果として選択して出力することができる。音声認識部140では、音声区間検出なしで音声認識を行うため、音声の話し始めや話し終りの部分が非音声区間と判定されてしまう検出誤りの影響を受けることがない。そのため、従来の音声区間検出の誤りに起因する音声認識誤りを避けることができるという効果を奏する。
【0079】
<その他の変形例>
音声区間検出装置100にディジタル音信号が入力される場合(例えば、マイク等の収音装置においてA/D変換が行われたり、外部記憶装置やネットワークを介してディジタル音声信号を受け取る場合)、音声入力部110においてA/D変換を行わなくともよい。
【0080】
また、結果出力部160は、外部記憶装置に書き出す信号やネットワークへ送信する信号等を出力するための出力インタフェースでもよい。
【実施例2】
【0081】
<音声区間検出装置200>
図10及び図11を用いて実施例2に係る音声区間検出装置200を説明する。音声区間検出装置200は、音声入力部210と、音源分離部220と、音声/非音声判定部230と、音声認識部240と、認識単位発話判定部250と、結果出力部260とを備える。音声区間検出装置200は、音源分離技術を併用して、複数の人が話す場合の各人の音声区間を検出する。本実施例では、音声信号の到来方向情報を用いた音源分離技術を用いる。以下、各部の処理内容を説明する。
【0082】
<音声入力部210>
音声入力部210は、入力された複数の音信号x1(k), x2(k),…, xM(k)を、A/D変換器により、それぞれディジタル音信号x1(u), x2(u),…, xM(u)に変換して出力する(s210)。但し、Mは音信号を収録する際に用いたマイクの個数を表す。
【0083】
<音源分離部220>
音源分離部220は、対象とする複数の話者の音声を含むディジタル音信号x1(u), x2(u),…, xM(u)を用いて、例えば特許文献1のビームフォーミングにより、各話者の音声を強調した複数の分離音信号z~1, z~2,…, z~Nを生成し(s220)、音声認識部240に出力する。但し、Nは対象とする話者の人数を表す。例えば、音源分離部220は、到来方向推定部221と分離音信号生成部223を有する。
【0084】
(到来方向推定部221)
到来方向推定部221は、複数のディジタル音信号x1(u), x2(u),…, xM(u)を所定の長さのフレームごとに取り出し、そのフレームの音信号x1(t), x2(t),…, xM(t)に対して高速フーリエ変換を行い、周波数領域の音信号x1(f,t), x2(f,t),…, xM(f,t)を算出する。
【0085】
到来方向推定部221は、全てのマイクペアmm'について、GCC-PHAT法を適用し(参考文献3参照)、以下の式により、音声の到来時間差(TDOA)推定する。
[参考文献3]C.H.Knapp and G.C.Carter, “The generalized correlation method for estimation of time delay”, IEEE Trans. Acoust. Speech and Signal Processing, 1976, vol.24, no. 4, pp. 320-327
【0086】
【数7】
但し、m=1,2,…,M、m'=1,2,…,M、m≠m'とする。全てのマイクペアmm'におけるTDOAの推定値τmm'(t)を並べたベクトルをτ(t)とする。
【0087】
次に、到来方向推定部221は、到来時間差の推定値を並べたベクトルτ(t)とマイクの座標を表す行列Dより、音声信号の到来方向q(t)を推定する(s211)(参考文献4参照)。
[参考文献4]S. Araki, H. Sawada, R. Mukai and S. Makino, "DOA estimation for multiple sparse sources with normalized observation vector clustering", ICASSP2006, 2006, Vol. 5, pp.33-36
【0088】
【数8】
ここで、cは音速、−は一般化逆行列、Dは各マイクの座標ベクトル(この実施例では2次元とする)を並べた行列である。式(11)を以下の式(11')によって正規化する。
【0089】
【数9】
なお、到来方向q(t)は、時刻tに到来している音声の方位角をθ(t)とすると、q(t)=[cosθ(t) sinθ(t)]である。
【0090】
次に、到来方向推定部221は、q(t)=[cosθ(t) sinθ(t)]から得られる方向情報θ(t)をクラスタリングし、音声がある範囲の方向から到達する時刻tの集合Tnを得る。例えば、n=1,2,…,N、Δはある範囲を示す値とし、θn-Δ≦θ(t)<θn+Δを満たす時刻tの集合をTnとする。なお、θnは話者nのいる方向を表す。到来方向推定部221は、Tnを分離音信号生成部223に出力する。
【0091】
(分離音信号生成部223)
分離音信号生成部223は、Tnを用いて、方向θnからの音声を強調する。なお、強調される音声を話者nの音声と考える。マイクロホンmで収録される音信号を周波数領域に変換した信号xm(f,t)を
【0092】
【数10】
と表す。ここで、nは、時刻tで発話している話者の番号であり、zn(f,t)は話者nの音声信号の時間周波数表現であり、hmn(f)は話者nからマイクmまでの周波数応答を表す。また全てのマイクの入力を並べたベクトルX(f,t)=[x1(f,t), x2(f,t),…, xM(f,t)]Tを
X(f,t)=H(f)TZ(f,t)
Z(f,t)=[z1(f,t), z2(f,t),…, zN(f,t)]T
とする。なお、Tは転置を表し、H(f)はhmn(f)を(n,m)要素として持つ行列である。この行列H(f)をここでは混合行列と呼ぶ。分離音信号生成部223は、混合行列H(f)を推定し、その逆行列H~-1(f)を用いて分離音信号z~n(f,t)を求める(s223)。
【0093】
【数11】
ここで混合行列の逆行列の推定値H~-1(f)は以下のように推定する。
【0094】
【数12】
但し、E[]は、方向θnから音声が到来する時刻の集合Tnに関して、平均値をとる操作を意味する。分離音信号生成部223は、求めた複数の分離音信号z~n(f,t)を音声認識部240へ出力する。
【0095】
<音声/非音声判定部230>
音声/非音声判定部230は、対象とする複数の話者の音声を含むディジタル音信号x1(u), x2(u),…, xM(u)を所定の長さのフレームごとに取り出し、そのフレームの音信号x1(t), x2(t),…, xM(t)を解析し、そのフレームの音信号x1(t), x2(t),…, xM(t)に対象とする各話者nの音声が含まれているか否かを判定し、判定結果を音声/非音声判定結果dn(t)として求め、認識単位発話判定部250に出力する(s230)。音声/非音声判定部230は、例えば、到来方向推定部231と判定部233を備える。
【0096】
(到来方向推定部231)
到来方向推定部231は、音源分離部220内の到来方向推定部231と同様の構成である。但し、フレーム時間長等は適宜設定してよい。本実施例では、音声/非音声判定部230と、音源分離部220及び音声認識部240で用いるフレーム時間長は同一のものとする。
【0097】
到来方向推定部231において、複数のディジタル音信号x1(u), x2(u),…, xM(u)を所定の長さのフレームごとに取り出し、そのフレームの音信号x1(t), x2(t),…, xM(t)に対して高速フーリエ変換を行い、周波数領域の音信号x1(f,t), x2(f,t),…, xM(f,t)を算出する。
【0098】
そして、到来方向推定部231は、式(10)、(11)、(12)を用いて、音声信号の到来方向q(t)=[cosθ(t) sinθ(t)]を推定し、さらにq(t)から得られる方向情報θ(t)をクラスタリングし、音声がある範囲の方向から到達する時刻tの集合Tnを得る(s231)。
【0099】
(判定部233)
判定部233は、到来方向推定部231において求めた集合Tnを用いて、音声/非音声判定値dn(t)を
【0100】
【数13】
として求め(s233)、認識単位発話判定部150に出力する。つまり、時刻tが方向θnから音声が到来する時刻の集合Tnに含まれる場合には、音声であると判定し、含まれない場合には、非音声であると判定する。
【0101】
<音声認識部240>
音声認識部240は、音源分離部220から送られた複数の分離音信号z~n(f,t)を、それぞれ音声認識し(s240)、各分離音信号z~n(f,t)に対する音声認識結果を認識単位vnrの系列vn={vn1, vn2,…,vnR}として求め、認識単位発話判定部150に出力する。また、音声認識部240は、各認識単位vnrの発話時間情報b(vnr)、e(vnr)とを求め、発話時間情報の系列benを認識単位発話判定部250に出力する。音声認識の方法は実施例1と同様である。但し、入力は、音信号x(u)に代えて、フレームごとの各分離音信号z~n(f,t)を用い、各分離音信号z~n(f,t)に対して音声認識処理を行い、各話者ごとの認識単位vnrの系列vnと、対応する発話時間情報の系列benとを求める点が異なる。
【0102】
<認識単位発話判定部250>
認識単位発話判定部250は、音声/非音声判定部230において得られる各話者のフレームごとの音声/非音声判定値dn(t)と、音声認識部240において得られる各話者の認識単位の系列vn及び発話時間情報の系列benとを受け取って、図9の処理手順を用いて、各話者nの認識単位vnrの発話時間b(vnr),e(vnr)に対応するフレームの音声/非音声判定値の集計値s(vnr)を求め、集計値s(vnr)の大小に基づいて、認識単位ごとにその話者によって発話されたか否かを判定する(s250)。認識単位発話判定部250は各話者の認識単位vnrの発話判定値s(vnr)がある閾値TX1以上の場合に、vnrの開始時刻b(vnr)と終了時刻e(vnr)の間は音声区間であると判定してg(vnr)=1を出力し、TX1未満の場合は時刻b(vnr)、e(vnr)の間は非音声区間であると判定してg(vnr)=0を出力する。処理内容は実施例1と同様である。但し、入力が、各話者の認識単位の系列vnと、発話時間情報の系列benである点と、判定結果が各話者毎の値g(vnr)である点が異なる。また、実施例1と同様に音声/非音声判定部230と、音源分離部220及び音声認識部240で用いるフレーム時間長は異なってもよく、その場合には、実施例1と同様に、フレーム番号の変換処理、補間処理を行えばよい。
【0103】
<結果出力部260>
結果出力部260は、判定結果g(vnr)に応じて、音声区間の検出結果を出力する(s260)。検出結果として、g(vnr)=1に対応するvnrのディジタル音信号x(b(vnr), e(vnr))を出力してもよいし、vnrの発話時間情報(開始時刻b(vnr)と終了時刻e(vnr))を出力してもよい。
【0104】
<効果>
このような構成とすることによって、実施例1の効果に加え、対象とする複数の話者の音声を含むディジタル音信号から音声区間を検出することができるという効果を奏する。
【0105】
<変形例1>
本発明の音声区間検出方法を音声認識に用いる場合について説明する。図10及び図11を用いて、音声認識装置200’は、実施例2と同様の構成を有する。但し、結果出力部260’の処理内容が異なる。
【0106】
結果出力部260’は、認識単位発話部250において対象とする話者によって発話されたと判定された認識単位vnrを、その対象とする話者の音声認識結果として出力する(s260’)。つまり、音信号x(u)や発話時間情報(b(vnr),e(vnr))を出力するのではなく、認識結果vnrを出力することで、音声認識装置として機能する。
【0107】
このような構成とすることで、実施例1の変形例1と同様の効果を奏し、さらに、対象とする複数の話者の音声を含むディジタル音信号から音声認識することができる。
【0108】
なお、以下に示す実施例3、実施例4及び実施例5においても同様に、音声区間検出装置300、400及び500を音声認識装置として機能させることができる。
【0109】
また、音源分離部220における音源分離技術として、他の従来技術を用いてもよい。
【実施例3】
【0110】
<音声区間検出装置300>
図12を用いて実施例3に係る音声区間検出装置300を説明する。音声区間検出装置300は、音声入力部210と、音源分離部320と、音声/非音声判定部330と、音声認識部240と、認識単位発話判定部250と、結果出力部260とを備える。音源分離部320と音声/非音声判定部330の処理内容が実施例2とは異なる。異なる部分についてのみ説明する。
【0111】
<音源分離部320>
音源分離部320は、対象とする複数の話者の音声を含むディジタル音信号x1(u), x2(u),…, xM(u)を用いて、各話者の音声を強調した複数の分離音信号z~1, z~2,…, z~Nを生成し、音声/非音声判定部330と音声認識部240に出力する。音源分離の手段としては、実施例2の方法と同様の方法を用いてもよい。
【0112】
<音声/非音声判定部330>
音声/非音声判定部330は、分離音信号z~1(f,t), z~2(f,t),…, z~N(f,t)を解析し、そのフレームの音信号に対象とする各話者の音声が含まれているか否かを判定し、判定結果を音声/非音声判定結果として求める。判定方法は、実施例1の音声/非音声判定部130と同様である。但し、ディジタル音信号x(u)に代えて、各分離音信号z~1(f,t), z~2(f,t),…, z~N(f,t)を用いて、それぞれの信号から音声/非音声判定値dn(t)を求め、認識単位い発話判定部250に出力する。そのため、音声/非音声判定部330において、入力信号をフレームごとに取り出し、周波数領域へ変換する処理を行わなくともよい。
【0113】
このような構成とすることで、実施例2と同様の効果を得ることができる。
【実施例4】
【0114】
<音声区間検出装置400>
図13を用いて実施例4に係る音声区間検出装置400を説明する。音声区間検出装置400は、音声入力部210と、音源分離部420と、音声/非音声判定部430と、音声認識部240と、認識単位発話判定部250と、結果出力部260とを備える。音源分離部420と音声/非音声判定部430の処理内容が実施例2とは異なる。異なる部分についてのみ説明する。
【0115】
<音源分離部420>
音源分離部420内の到来方向推定部421は、Tnを分離音信号生成部223と音声/非音声判定部430に出力する。他の処理は実施例2と同様である。
【0116】
<音声/非音声判定部430>
音声/非音声判定部430は、方向θnから音声が到来する時刻の集合Tnを受け取り、これを用いて、音声/非音声判定値dn(t)を
【0117】
【数14】
として求め、認識単位発話判定部150に出力する。つまり、時刻tが方向θnから音声が到来する時刻の集合Tnに含まれる場合には、音声であると判定し、含まれない場合には、非音声であると判定する。
【0118】
このような構成とすることで、実施例2と同様の効果を得ることができる。さらに、音源分離部420内の到来方向推定部420の出力値Tnを分離音信号生成部223と音声/非音声判定部430で利用することで、計算量を削減することができる。
【実施例5】
【0119】
図14を用いて実施例5に係る音声区間検出装置500を説明する。音声区間検出装置500は、音声入力部210と、音源分離部220と、音声/非音声判定部530と、音声認識部240と、認識単位発話判定部250と、結果出力部260とを備える。音声/非音声判定部530の処理内容が実施例2とは異なる。異なる部分についてのみ説明する。
【0120】
<音声/非音声判定部530>
音声/非音声判定部530は、対象とする複数の話者の音声を含むディジタル音信号x1(u), x2(u),…, xM(u)を所定の長さのフレームごとに取り出し、そのフレームの音信号x1(t), x2(t),…, xM(t)を解析し、そのフレームの音信号x1(t), x2(t),…, xM(t)に対象とする各話者nの音声が含まれているか否かを判定し、判定結果を音声/非音声判定結果dn(t)として求め、認識単位発話判定部250に出力する。
【0121】
音声/非音声判定部530は、例えば、特徴抽出部531と識別部533を備える。特徴抽出部531は実施例1の音声/非音声判定部130内の特徴抽出部131と同様の構成である。但し、対象とする複数の話者の音声を含むディジタル音信号x1(u), x2(u),…, xM(u)を入力とするので、そのうちの1つのディジタル音信号x(u)を選択し、処理を行う点が異なる。
【0122】
(特徴抽出部531)
特徴抽出部531では、音声入力部210から出力されたディジタル音信号x1(u), x2(u),…, xM(u)から1つのディジタル音信号x(u)を選択する。そして、ディジタル音信号x(u)をフレームごとに分割し、そのフレームの時間長に対応する振幅値のサンプル系列x(t)を取り出す。次に特徴抽出部531では、切り出されたディジタル音信号x(t)に対して高速フーリエ変換を行い、周波数領域の音信号x(f,t)を算出する。
【0123】
さらに、特徴抽出部531では、周波数領域の音信号x(f,t)を用いて、フレームtのP次元の対数メルスペクトルを要素に持つ音響特徴ベクトルOt={ot,0,ot,1,…,ot,P-1}を算出し、特徴抽出部531の出力とする。
【0124】
(識別部533)
識別部533では、まず入力音声の音声特徴ベクトルOtと、別途用意した各話者の音声の確率モデルまたは非音声の確率モデル、例えば混合正規分布モデル(GMM: Gaussian Mixture Model)との尤度bj(Ot)を次式のように計算する。
【0125】
【数15】
但し、n'はGMMの種別を表し、n'=0,1,…,Nであり、n'=0のとき非音声モデルとし、n'=1,2,…,Nのとき、それぞれ各話者の音声モデルとする。kはGMMに含まれる正規分布の番号であり、k=1,2,…,Kとし、wn',kはK番目の正規分布の混合重みを、μn',k,lは平均値を、σ2n',k,lは分散値を表す。なお、非音声及び各話者の混合正規分布モデル(GMM)は、事前に非音声と各話者が発声した音声信号の音声特徴ベクトルを用いて学習し、用意しておく。図示しないGMM記憶部に、確率モデル(GMM)を記憶しておき、識別部533は、GMM記憶部を参照して、上述の尤度bn'(Ot)を計算する。
【0126】
次に識別部533では、以下の式により、フレームごとの音声/非音声判定値dn(t)を求める。
【0127】
【数16】
つまり、話者nの音声モデルが、全ての音声モデル及び非音声モデルの中で、最大の尤度を与える場合には、その話者の音声であると判定し、dn(t)=1とし、それ以外の場合は、dn(t)=0とする。
【0128】
このような構成とすることで実施例2と同様の効果を得ることができる。
【0129】
<変形例>
本実施例では、対象とする複数の話者の音声を含むディジタル音信号x1(u), x2(u),…, xM(u)のうちの1つのディジタル音信号x(u)を選択し、処理を行っているが、全てのディジタル音信号x1(u), x2(u),…, xM(u)から、音声/非音声判定値dmn(t)を求め、その平均値を最終的な出力値dn(t)としてもよい。このような構成とすることで、1つのマイクを選択することで生じる偏りを防止することができる。
【0130】
また、対象とする複数の話者の音声を含むディジタル音信号x1(u), x2(u),…, xM(u)のうちの1つのディジタル音信号x(u)を選択し、非特許文献2記載の技術を用いて、情報量基準を利用して各話者の音声区間を判定し音声/非音声判定値dn(t)を求めてもよい。さらに、全てのディジタル音信号から、音声/非音声判定値を求め、その平均値を最終的な出力値dn(t)としてもよい。
【0131】
なお、本実施例の本実施例の音声/非音声判定部530を用いる場合には、1つのディジタル音信号x(u)だけで、そのディジタル音信号x(u)に複数の話者の音声を含まれている場合にも、Diarizationを行うことができる。但し、このとき、音声認識部においても、複数の話者の音声を含むx(u)のみを用いて音声認識を行うものとする。
【0132】
<プログラム及び記録媒体>
また、本発明による音声区間検出方法または音声認識方法をコンピュータプログラムで実装し、コンピュータからなる音声区間検出装置または音声認識装置を構成する。この場合はコンピュータに、目的とする装置(各種実施例で図に示した機能構成をもつ装置)として機能させるためのプログラム、またはその処理手順(各実施例で示したもの)の各過程をコンピュータに実行させるためのプログラムを、CD−ROM、磁気ディスク、半導体記憶装置などの記録媒体から、あるいは通信回線を介してそのコンピュータ内にダウンロードし、そのプログラムを実行させればよい。マイクで収録した音信号を入力として、本発明による音声区間検出方法または音声認識方法のコンピュータプログラムを実行し、その結果得られる音声区間だけを結果出力部を介してスピーカから再生したり、もしくは音声認識結果を結果出力部を介してディスプレイに表示しても良い。
【0133】
<実験結果>
実施例2の変形例1の音声認識装置200’を用いて、図15に示す環境にて音声認識実験を行った。実験では音声入力部210で8つのマイクロホンを用い、図10に示す形態の音声認識装置200’を構成した。話者は4名であった。ここで行われた会話は、話者のうち1名がある題材についての発表と、他の話者が自由なタイミングで質問を行うことによる質疑応答である。
【0134】
音源分離部220では8つのマイクロホンを、音声/非音声判定部230におけるDiarizationには、図15の中心の3つのマイクロホンを用いた。フレーム長は64ms、フレームシフトは32msとした。音声認識部240は、図7に示す形態の音声認識システムを使用した。音響モデルには、43種類の音素に対するHMMを用意し、音素ごとに3つの状態があり、各状態にはその音素のコンテキスト(前にある音素は何か、後ろに続く音素は何か)に応じて3064種類ある確率密度分布の内の一つが割り当てられている。認識グラフとして、10万単語の発音と、その10万単語中に含まれる単語の3単語連鎖確率の対数値をアークの重みとして持つ認識グラフを構成した。音声認識装置200’を用いて、参加者4名10分の会話音声を入力したときの音声認識結果の単語誤り率を以下の表に示す。ここで、単語誤り率とは、正解の文と認識結果とを比べたときの単語あたりの誤りの割合であり、通常次のように計算される。
【0135】
【数17】
【0136】
置換誤り数は正解文の単語が認識結果の中で別の単語に認識された回数、挿入誤り数は正解文には存在しない単語が認識結果に挿入された回数、削除誤り数は正解文に含まれる単語が認識結果に含まれなかった回数を表している。単語誤り率が小さいほど、認識精度が高いことを意味する。
【0137】
また、比較のために、従来の音声区間検出によって得られた各音声区間を音声認識した場合の単語誤り率も併せて示す。従来法の音声区間検出では、音響特徴量は、フレーム長64ms、シフト長32msで入力音声を切り出し、12次元の対数メルスペクトルベクトル(P'= 12)を抽出した。音声/非音声判定部230内の識別部においては、音声と非音声の確率モデルにGMMを用い、各GMMはそれぞれK = 32の正規分布を有する。各GMMは前述の非特許文献1に開示された方法を用いて逐次的に生成、更新を行う。更に前述のエラー訂正処理も適用している。
【0138】
【表1】
単語誤り率を大幅に削減する効果があることが示された。また、単語誤り率が大幅に削減されたことから、音声区間検出の精度も改善されていることが分かる。
【符号の説明】
【0139】
100、200、300、400、500 音声区間検出装置
100’、200’ 音声認識装置
110、210 音声入力部
130、230、330、430、530 音声/非音声判定部
140、240 音声認識部
150、250 認識単位発話判定部
160、160’、260、260’ 結果出力部
220、320、420 音源分離部
【技術分野】
【0001】
本発明はマイク等から入力された音信号中の音声区間を判定する音声区間検出方法及び音声区間検出装置、並びに、音声区間検出方法によって同定される音声区間の音声認識方法及び音声認識装置、そのプログラム及び記録媒体に関する。
【背景技術】
【0002】
マイク等で収録した音信号をディジタル化して送信する技術や、音信号を単語や文字の系列に変換する音声認識技術がある。ここで、一般に入力された音信号には対象とする人が話している音声区間と、対象とする人の話していない非音声区間がある。そして、音声通信や音声認識技術において、非音声区間が不要となる場合がある。ここで、対象とする人とは、マイクに向かって話す発話者や、音声認識の対象となる音声を話す人などを指すものとする。従って、非音声区間には、無音や雑音だけでなく、対象とする人以外の音声(周囲の話し声など)も含まれる場合がある。
【0003】
音声区間を同定できれば、音声通信では音声区間のみを伝送すればよいので伝送する情報量を削減できる。また、音声認識の前処理として利用すれば、非音声区間を認識することに起因する認識誤りを避けることができる。つまり、非音声区間には雑音や対象とする人以外の人の音声等が含まれることがあるため、非音声区間を音声認識すると雑音や他人の音声を、対象とする人の音声と誤って認識し、誤った認識結果を得る場合がある。なお、音信号から音声区間を同定することを音声区間検出(VAD: Voice Activity Detection)と呼ぶ。
【0004】
図1は、従来の一般的な音声区間検出装置10の構成を示す。音声区間検出装置10は、マイク等から音信号x(k)を取得する音声入力部11と、ある決められた時間間隔(以後フレームと呼ぶ)ごとに音声か非音声かを判定する音声/非音声判定部13と、音声/非音声区間判定の結果yを出力する結果出力部15とからなる。
【0005】
また、図2は、音声区間検出を利用した従来の音声認識装置20の構成例を示している。音声認識部24では、音声/非音声判定部13から音声区間の音信号のみを受け取り、音声認識処理を行う。結果出力部25は、その認識結果y'を出力する。
【0006】
音声区間検出において音声/非音声判定を行う方法としては、例えば、次に示すような方法がある。非特許文献1には、信号の状態遷移を定義した音声信号区間推定方法が開示されている。この方法では、入力される音信号が時間経過とともに音声状態及び非音声状態を遷移する信号であるとみなす。音声状態及び非音声状態の状態遷移は、入力される音信号が音声状態に属する確率及び非音声状態に属する確率を基準として決定される。そして、音声状態に属する音信号のみを出力する。なお、音声状態及び非音声状態の構成は適応的に行われる。
【0007】
非特許文献1の方法では、基本的に入力される音信号に対して、フレームごとに音声区間か非音声区間かを判定するので、極端に短い音声区間または非音声区間が推定されることがある。そこで、必要に応じて、音声/非音声判定の結果に対してエラー訂正処理を行ってもよい。エラー訂正処理とは、例えば以下のような処理である。音声/非音声判定により音声とみなされたフレームがSduraitonフレーム以上継続すれば、音声区間として確定する。また、非音声とみなされたフレームがNduraitonフレーム以上継続すれば、非音声区間として確定する。さらに、音声区間中に存在する短い非音声区間が検出された場合、非音声区間の継続長がPauseフレーム以下なら、該当区間を音声区間とみなす。
【0008】
一方、複数の人が話す会話から得られる音信号から、対象とする複数の人の各々について音声区間を検出する技術(以下「Diarization」という)や、対象とする複数の人の各々の音声区間を音声認識することで、誰が何を話したかを認識する技術がある。
【0009】
マイクが一つの場合(シングルチャネル)のDiarizationとしては、例えば、非特許文献2にあるように、入力された音信号を、各々の話者が話した区間に分割する方法がある。これは、まず入力音信号を適当な長さ(例えば1秒間)のブロックに区切り、各ブロックの各フレームについての音声特徴量(例えば、MFCC)を用いて、各ブロックのモデル(混合正規分布GMM)のモデルパラメタを計算する。次に、各ブロックについて、隣接するブロック同士を結合するか否かを、例えばΔBIC等の情報量基準を用いて判定する。情報量規準にΔBICを用いる場合、ΔBICが負となる場合は結合し、正となる場合は結合しないものとする。この手順を全てのブロックに対して何度も繰り返す。最終的に全てのブロック結合においてΔBICが正となった所で得られている各ブロックが、各話者の音声区間に対応する。
【0010】
マイクが複数の場合(複数チャネル)のDiarizationについては、音声信号の到来方向情報を用いた方法がある(非特許文献3参照)。これは、各フレームにおいてチャネル間位相差を計算し、同一の位相差を持つフレームを同じ方向から音声が到来しているフレームであると考える。そして、同一の位相差を持つフレームを、ある単一話者の音声区間と判定する。
【0011】
また、複数の人が話す会話の音声区間検出を行う場合、図3に示すように、音源分離技術によって会話の各話者の音声をそれぞれ強調した分離音信号に分ける音源分離部32を設けて、各話者の分離音信号の音声区間を検出する方法もある。そして、音声認識部23において、各分離音信号の音声区間に対して音声認識を行う。このような構成とすることで、複数の人が同時に話した場合でも分離されたそれぞれの音信号を認識するため比較的高い精度の音声認識結果y'nを得ることができる。但し、y'nは話者nの音声認識結果を表す。なお、通常、複数の人の音声が混在する音信号を分離せずにそのまま音声認識すると、その認識精度は極めて低くなる。音源分離方法としては、例えば特許文献1記載のビームフォーミングによる方法を用いることができる。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2008−203474号公報
【非特許文献】
【0013】
【非特許文献1】藤本雅清,石塚健太郎,加藤比呂子,”音声と雑音両方の状態遷移過程を有する雑音下音声区間検出”,情報処理学会研究報告, 2006年,2006巻,136号(SLP−64)、pp.13-18
【非特許文献2】C. Wooters and M. Huijbregts, “The ICSI RT07s Speaker Diarization System”, proceedings of CLEAR2007 and RT2007, 2007, pp.509-519,
【非特許文献3】S. Araki, M. Fujimoto, K. Ishizuka, H. Sawada, and S. Makino, "Speaker indexing and speech enhancement in real meetings / conversations", ICASSP2008, 2008, pp.93-96
【発明の概要】
【発明が解決しようとする課題】
【0014】
非特許文献1〜3の何れの方法においても、雑音や対象とする人以外の音声を含むような音信号から、対象とする人の音声区間を正確に検出することは難しい。そのため、そのような音信号の各フレームにおける音声区間/非音声区間の判定値は多くの誤りを含む傾向がある。よって、前述のエラー訂正処理を行っても誤った音声区間を検出してしまうという問題があった。特に、音声の話し始めや話し終りの部分では音声区間であるにもかかわらず非音声区間と判定されてしまうことがあるため、音声区間の前後が途切れた音声を音声認識すると致命的な認識誤りに繋がるという問題があった。
【0015】
また、音源分離によって対象とする人の音声を強調したとしても、対象とする人以外の音声を完全に消すことは難しい。そのため複数の人が話す会話から得られる音信号から音声区間を正しく検出するのは困難な場合が多いという問題があった。さらに、消し残りを含む部分を誤って音声区間と判定して音声認識を行うと多数の挿入誤りが生じるという問題があった。
【0016】
本発明は、雑音や対象とする人以外の音声を含むような音信号から、対象とする人の音声区間を正確に検出する音声区間検出方法及び装置を提供し、さらに、それらの音声区間検出方法及び装置を用いて、単語誤り率が低い音声認識方法及び音声認識装置を提供することを目的とする。また、それらのプログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0017】
上記の課題を解決するために、本発明に係る音声区間検出技術は、音信号を所定の長さのフレームごとに取り出し、そのフレームの音信号を解析し、そのフレームの音信号に対象とする話者の音声が含まれるか否かを判定し、判定結果を音声/非音声判定値として求め、音信号の中に含まれる認識単位の系列と、各認識単位の発話時間情報とを求め、音声/非音声判定ステップにおいて得られるフレームごとの音声/非音声判定値と、音声認識ステップにおいて得られる認識単位の系列及び各認識単位の発話時間情報とを受け取って、認識単位の発話時間に対応するフレームの音声/非音声判定値の集計値の大小に基づいて、認識単位ごとに対象とする話者によって発話されたか否かを判定する。
【0018】
また、対象とする複数の話者の音声を含む音信号から音声区間検出する場合には、対象とする複数の話者の音声を含む音信号を所定の長さのフレームごとに取り出し、そのフレームの音信号を解析し、そのフレームの音信号に対象とする各話者の音声が含まれているか否かを判定し、判定結果を音声/非音声判定結果として求め、対象とする複数の話者の音声を含む音信号を用いて、各話者の音声を強調した複数の分離音信号を生成し、分離音信号の中に含まれる認識単位の系列と、各認識単位の発話時間情報とを求め、音声/非音声判定ステップにおいて得られる各話者のフレームごとの音声/非音声判定値と、音声認識ステップにおいて得られる各話者の認識単位の系列及び各認識単位の発話時間情報とを受け取って、各話者の認識単位の発話時間に対応するフレームの音声/非音声判定値の集計値の大小に基づいて、認識単位ごとにその話者によって発話されたか否かを判定する。
【発明の効果】
【0019】
本発明は、音声区間であるか否かを音声認識結果の認識単位ごとの発話時間における音声/非音声判定値の集計値に基づいて判定するため、音声/非音声判定値に多少の誤りがあっても、それら誤りの影響を低減し、より正確に音声区間を検出できるという効果を奏する。
【図面の簡単な説明】
【0020】
【図1】音声区間検出装置10の構成図。
【図2】音声認識装置20の構成図。
【図3】音声認識装置30の構成図。
【図4】音声区間検出装置100、音声認識装置100’の構成例を示す図。
【図5】音声区間検出装置100、音声認識装置100’の処理フローを示す図。
【図6】音声/非音声判定部130の構成例を示す図。
【図7】音声認識部140の構成例を示す図。
【図8】認識グラフを説明するための図。
【図9】認識単位発話判定部150の構成例を示す図。
【図10】音声区間検出装置200、音声認識装置200’の構成例を示す図。
【図11】音声区間検出装置200、音声認識装置200’の処理フローを示す図。
【図12】音声区間検出装置300の構成例を示す図。
【図13】音声区間検出装置400の構成例を示す図。
【図14】音声区間検出装置500の構成例を示す図。
【図15】音声認識装置200’の実験状況を説明するための図。
【発明を実施するための形態】
【0021】
以下、本発明の実施の形態について、詳細に説明する。
【実施例1】
【0022】
<音声区間検出装置100>
図4及び図5を用いて実施例1に係る音声区間検出装置100を説明する。
【0023】
音声区間検出装置100は音声入力部110と音声/非音声判定部130と音声認識部140と認識単位発話判定部150と結果出力部160を備える。以下、音声区間検出装置100の処理概要を説明する。
【0024】
音声入力部110では、マイク等により収録したアナログ音信号x(k)をディジタル音信号x(u)に変換して、音声/非音声判定部130及び音声認識部140に送る。但し、kは連続時間を、uは離散時間を表す。
【0025】
音声/非音声判定部130では、音声入力部110から受け取ったディジタル音信号x(u)からフレームごとに、そのフレームの時間長に対応する振幅値系列x(t)を取り出す。但し、tはフレーム番号、及び、そのフレームに対応する時刻を表す。さらに音声/非音声判定部130は、例えば非特許文献1の方法で、フレームごとに、話している対象の人の音声か否かを示す音声/非音声判定値d(t)を出力する。
【0026】
音声認識部140では、音声入力部110から受け取ったディジタル音信号x(u)に最も適合する認識単位vr(単語、文字、音素等)の系列v={v1,v2,…,vR}を求める。但し、r=1,2,…,Rとする。このとき得られた各認識単位vrの発話時間情報(例えば、フレーム番号を単位として与えられる開始時刻b(vr)と終了時刻e(vr))も同時に求める。なお、発話時間情報の系列をbe={(b(v1),e(v1)),(b(v2),e(v2)),…, (b(vR),e(vR))}と表す。
【0027】
認識単位発話判定部150では、音声認識部140から受け取った各認識単位vrとその発話時間情報ber=(b(vr),e(vr))に対応する音声/非音声判定値d(t)の集計値s(vr)(平均値等)の大小に基づいて、認識単位vrごとに対象とする人によって発話されたか否かを判定する。音声/非音声判定値の集計値s(vr)は
【0028】
【数1】
として計算する。この集計値がある閾値TX1より大きい場合、認識単位vrが発話されたと判定する。w(・)は任意の窓関数である。例えば、w(・)=1のような関数にすれば、式(1)は以下のように表され、
【0029】
【数2】
s(vr)は、時刻b(vr),e(vr)間のd(t)の平均値になる。
【0030】
認識単位vrの発話判定値s(vr)がある閾値TX1以上の場合に、vrの開始時刻b(vr)と終了時刻e(vr)の間は音声区間であると判定し、TX1未満の場合は時刻b(vr),e(vr)の間は非音声区間であると判定する。認識単位発話判定部150は、判定結果g(vr)を出力する。例えば、vrが音声区間であると判定した場合には、g(vr)=1とし、vrが非音声区間であると判定した場合には、g(vr)=0として、出力する。
【0031】
結果出力部160は、判定結果g(vr)が音声区間であることを表す場合には、認識単位vrに対応する発話時間情報(b(vr),e(vr))または対応する音信号x(b(vr),e(vr))を出力する。
【0032】
以下、各部の処理内容を説明する。
【0033】
<音声入力部110>
音声入力部110は、例えば、マイクの出力信号や外部記憶装置より読み出される信号やネットワークから受信した信号等を入力するための入力インタフェースである。音声入力部110は、入力された音信号x(k)を、A/D変換器により、ディジタル音信号x(u)に変換して出力する(s110)。例えば、音声入力部110は、マイク等により得られるアナログ音信号x(k)を一定時間間隔でサンプリングして、音信号の振幅値x(u)(以下「ディジタル音信号」という)の系列に変換する。例えば、16kHzでサンプリング(標本化)し、16bitで量子化する場合は、音声入力部110は、1/16000秒ごとに音信号の振幅値を取り出し、各振幅値に対し、16bitの整数、すなわち-32768〜+32767の何れかの値を割り当てる。
【0034】
<音声/非音声判定部130>
音声/非音声判定部130は、ディジタル音信号x(u)を所定の長さのフレームごとに取り出し、そのフレームの音信号x(t)を解析し、そのフレームの音信号x(t)に対象とする話者iの音声が含まれるか否かを判定し、判定結果を音声/非音声判定値d(t)として求める(s130)。但し、tは、音声/非音声判定部130で用いられるフレーム番号を表す。
例えば、音声/非音声判定部130は、図6に示すように、音声/非音声を識別するための音響特徴量を抽出する特徴抽出部131と、抽出した特徴量を用いて、対応するフレームの音信号x(t)が音声か非音声かを識別する識別部133とから構成される。
【0035】
(特徴抽出部131)
特徴抽出部131では、音声入力部110から出力されたディジタル音信号x(u)からフレームごとに、そのフレームの時間長に対応する振幅値のサンプル系列x(t)を取り出す。例えば入力されたディジタル音信号x(u)を時間軸方向に一定時間幅(シフト幅)で始点を移動させながら、一定時間長(フレーム長)のディジタル音信号x(u)をフレームとして切り出す。なお、フレーム単位のディジタル音信号をx(t)と表す。例えば1024サンプル点(時間長はサンプリング周波数が16,000 Hzの場合、64msに相当)の音信号を、512サンプル点(同様に時間長は32msに相当)ずつ始点を移動させながら切り出す。
【0036】
次に特徴抽出部131では、切り出されたディジタル音信号x(t)に対して高速フーリエ変換を行い、周波数領域の音信号x(f,t)を算出する。
【0037】
さらに、特徴抽出部131では、周波数領域の音信号x(f,t)を用いて、P次元のメルフィルタバンク分析(例えばP=12)を適用し、フレームtのP次元の対数メルスペクトルを要素に持つ音響特徴ベクトルOt={ot,0,ot,1,…,ot,P-1}を算出し、特徴抽出部131の出力とする。この際、フレームのサンプル点や音響特徴ベクトルの次元数Pは入力される音信号の特徴に応じて適宜変更して良い。
【0038】
(識別部133)
識別部133では、まず入力音声の音声特徴ベクトルOtと、別途用意した音声と非音声の確率モデル、例えば混合正規分布モデル(GMM: Gaussian Mixture Model)との尤度bj(Ot)を次式のように計算する。
【0039】
【数3】
但し、jはGMMの種別を表し、j=0のとき非音声モデルとし、j=1のとき音声モデルとする。kはGMMに含まれる正規分布の番号であり、k=1,2,…,Kとし、wj,kはK番目の正規分布の混合重みを、μj,k,lは平均値を、σ2j,k,lは分散値を表す。なお、確率モデル(GMM)は事前になんらかの学習データを用いて学習しておいても良く、オンラインで逐次的に推定、更新を行っても良い。図示しないGMM記憶部に、確率モデル(GMM)を記憶しておき、識別部133は、GMM記憶部を参照して、上述の尤度bj(Ot)を計算する。
【0040】
次に識別部133では、それぞれのモデルの尤度比L(t)を次式により計算する。
【0041】
【数4】
αt,j=(αt-1,0a0,j+αt-1,1a1,j)bj(Ot) (5)
但し、αt,jは前向き確率であり、ai,jは非音声状態H0及び音声状態H1への状態遷移確率であり、iは遷移前の状態番号、jは遷移後の状態番号であり、ai,0+ai,1=1を満たす(状態番号0は非音声状態を、状態番号1は音声状態をそれぞれ示す)。なお、t=0のとき初期値として前向き確率αt,jを以下のように設定する。
【0042】
αt,0=1 (6)
αt,1=0 (7)
次に識別部133では、尤度比L(t)を用いて、フレームtが音声状態に属するか非音声状態に属するかを判定する。識別部133は、尤度比L(t)の値を音声/非音声の判定値d(t)として出力してもよい。また、識別部133では、別途設定する閾値TH2以上のときに、フレームtが音声状態に属すると判断して音声/非音声の判定値d(t)=1として出力し、閾値TH2未満であれば、フレームtが非音声状態に属すると判断してd(t)=0として出力してもよい。閾値TH2の値は、事前に固定された値に決定しておいても、入力される音信号の特徴に応じて適応的に決定しても良い。
【0043】
<音声認識部140>
音声認識部140は、音信号x(u)の中に含まれる認識単位の系列vと、各認識単位viの発話時間情報b(vi)、e(vi)とを求める(s140)。
【0044】
例えば、図7に示すように音声認識部140は、特徴抽出部141と認識部143と音響モデル記憶部145と認識グラフ記憶部147とを備える。
【0045】
(特徴抽出部141)
特徴抽出部141では、音声入力部110から出力されたディジタル音信号x(u)からフレームごとに、そのフレームの時間長に対応する振幅値のサンプル系列x(t')を取り出す。但し、t'は音声認識部140で用いられるフレーム番号を表す。
【0046】
次に特徴抽出部141では、切り出されたディジタル音信号x(t')に対して高速フーリエ変換を行い、周波数領域の音信号x(f,t')を算出する。
【0047】
さらに、特徴抽出部141では、周波数領域の音信号x(f,t')を用いて、P'次元の音声特徴ベクトルO't'={o't',0,o't',1,…,o't',P'-1}を算出し、特徴抽出部141の出力とする。この際、フレームのサンプル点や音声特徴ベクトルは音声/非音声判定部130内の特徴抽出部131と同一であるとは限らず、異なるものであってもよい。例えば、音声特徴ベクトルとしては、短い時間区間(例えば10ミリ秒)ごとに音信号を分析することにより得られるメルケプストラム(mel-frequency cepstral coefficients、MFCCと呼ばれる)、デルタMFCC、LPCケプストラム、対数パワー等がある。次に、特徴抽出部141は、フレームごとに得られた音声特徴ベクトルO't'を、時間の順序に沿って、順に認識部143に入力する。
【0048】
(認識部143)
認識部143では、音素等の音声的特徴の雛形を表す音響モデルを記憶した音響モデル記憶部145と発音や文法等の制約を表す認識グラフを記憶した認識グラフ記憶部147とを参照しながら、入力された音声特徴ベクトルO't'の系列に最も適合する認識単位vr(単語、文字、音素等)の系列vを求める。このとき得られた各認識単位vrの発話時間情報、すなわち開始時刻b(vr)と終了時刻e(vr)も同時に求める。
【0049】
例えば、認識部143は処理を開始してから何個の音声特徴ベクトルO't'を読み込んだかをフレーム番号として記憶しておき、音声認識の結果として得られる各認識単位vrは、音声特徴ベクトルO't'の系列のどのフレーム番号から開始してどのフレーム番号で終了したか、という情報が得られる。この各認識単位vrの開始フレーム番号と終了フレーム番号を、各認識単位の開始時刻b(vr)と終了時刻e(vr)とする。
【0050】
(音響モデル記憶部145)
音響モデル記憶部145には、音響モデルとして、例えば、音声固定単位(例えば音素)の標準的な音声特徴ベクトルまたはその分布が記憶されている。
【0051】
認識部143は、音響モデル記憶部145に記憶された音響モデルを参照し、音声固定単位と入力された音声特徴ベクトルO't'との類似度を、例えば、その音声固定単位に属する標準的な音声特徴ベクトルの分布によって計算される音声特徴ベクトルO't'の確率密度の対数値として求める。音響モデルを用いた方法としては、例えば、音声固定単位の音声特徴ベクトル時系列の集合を確率・統計理論に基づいてモデル化する隠れマルコフモデル法(Hidden Markov Model、以後HMMと呼ぶ)等がある(参考文献1参照)。
[参考文献1]中川聖一著、「確率モデルによる音声認識」、社団法人電子情報通信学会、1988年
【0052】
(認識グラフ記憶部147)
認識グラフ記憶部147には、例えば、重み付き有限状態トランスデューサを用いて構成された認識グラフが記憶される。なお、単語発音辞書や言語モデルを重み付き有限状態トランスデューサ(英訳 Weighted Finite-State Transducer: WFST)によって記述し、それらを合成して一つの重み付き有限状態トランスデューサを構成する方法は、例えば、参考文献2に記載されている。
[参考文献2]M.Mohri, F.Pereira, M.Riley著, “Weighted finite-state transducers in speech recognition”, Computer Speech and Language, 2002,Vol.16, No.1, pp.69-88
【0053】
以下、認識グラフについて説明する。音声認識用の認識グラフの個々のアーク(エッジ、リンク、枝等とも呼ぶ)には、一般に、HMMの一つの状態を示すラベルが付与される。HMMの状態は、ある音素のその音素内におけるおおまかな位置(例えば、前半、中盤、後半)に対応する音声固定単位であり、各状態は音声特徴ベクトルの確率密度分布(例えば、多次元混合正規分布)を持っている。
【0054】
認識部143が、仮説の累積重みに加える音声特徴ベクトルO't'とアークのラベルに対応する状態の確率密度分布を用いて確率密度を計算し、得られた確率密度の対数値を音声特徴ベクトルO't'とアークのラベルとの類似度として算出する。なお、各アークのラベルに対応する状態の確率密度分布は、音響モデル記憶部145に記憶されている。
【0055】
音声認識のための認識グラフは、音素や単語の並び方などの規則を有向グラフで表したもので、音素や単語の連鎖確率(の対数値)を重みとしてアークに付与し、音素や単語の音響パターンやその分布関数を表すラベル(例えば音素/a/の音声特徴ベクトルを表す分布関数を指す)を対応する各アークに割り当てる。また、音素や単語の並び方のルールに従って始点ノードと終点ノードも設定する。
【0056】
例えば、認識グラフは図8のように構成されている。始点ノードは黒丸、終点ノードは二重丸、それら以外のノードは丸で表されている。ノードを結ぶアークにラベルが付与されており、音素名とその音素内での位置を表すような表記になっている。例えば、a2は音素aのHMMの2番目の状態の確率密度分布を指すものとする。
【0057】
認識部143は、認識グラフを参照し、入力された音声特徴ベクトルO't'の系列に対して、各音声特徴ベクトルO't'と各アークに対応付けられたラベルの類似度の累積値が最も高くなる認識グラフ中の経路を見つける。入力された音声特徴ベクトルO't'とラベルとの類似度は、ラベルに対応する分布関数にその音声特徴ベクトルO't'を入力したときの値として計算される。
【0058】
また、図8中、“a1:赤”のように”:”で二つのラベルが書いてあるときは、ラベルと音声特徴ベクトルO't'の類似度は”:”の前のa1に基づいて計算し、”:”の後の”赤”は、このアークを通る経路が選ばれたときに、認識結果となるラベル(認識単位)である。図8の例では、上を通る経路と下を通る経路があり、上を通る経路が選ばれたときは、“赤です”が認識結果となり、下を通る経路が選ばれたときは、“青です”が認識結果となる。
【0059】
(認識部143の処理内容)
認識部143は、まず初期設定として、探索する経路の初期仮説として、長さ0の経路で始端ノードに到達した仮説を一つ生成し、その仮説のスコアに0を与え、現在の仮説リストに追加する。次に、認識部143は、音声特徴ベクトルO't'を一つ読み込むごとに、現在の仮説リストに含まれる各々の仮説の到達した最後のノードから遷移可能な各アークに対し、その各アークとその遷移先のノードを当該仮説に付加して経路を伸ばすことで新たな仮説を生成し、アークの重みと、直前に読み込んだ音声特徴ベクトルO't'と当該アークのラベルとの類似度を当該仮説のスコアに加算した値をその新たな仮説のスコアとして与え、新たな仮説リストに追加する。次に、認識部143は、現在の仮説リストを空にして、新たな仮説リストに含まれる全ての仮説を現在の仮説リストに移し、次の音声特徴ベクトルO't'を読み込んで同様の処理を繰り返す。なお、計算量を削減するために、現在の仮説リストでスコアが相対的に小さい仮説は現在の仮説リストから削除しても良い。
【0060】
そして、認識部143は、音声特徴ベクトルO't'の系列を最後まで読み終えた時点で、現在の仮説リストの中で最もスコアの高い仮説の経路上の認識単位の系列v=(v1,v2,…,vR)を出力する。但し、Rは認識単位の系列中に含まれる認識単位の個数を表す。
【0061】
また、認識部143は、以下の方法により、各認識単位vrの発話時間情報b(vr)、e(vr)を求め、認識単位の系列vに対応する発話時間情報の系列be=((b(v1),e(v1)),(b(v2),e(v2)),…(b(vR),e(vR)))を出力する。認識部143は、最もスコアの高い仮説の経路上の認識単位の系列vに含まれる認識単位vrがその経路上の始端ノードから何回目の遷移で通ったアークに付与されているかを調べ、その認識単位vrの開始時刻をフレーム番号b(vr)として取得する。その経路上の各認識単位vrの開始時刻が分かれば、各開始時刻の直前のフレーム番号が、その経路上の直前の認識単位vr-1の終了時刻を表すフレーム番号となる。そこで、認識部143は、開始時刻をフレーム番号b(vr)の直前のフレーム番号を、直前の認識単位vr-1の終了時刻をフレーム番号b(vr-1)として取得する。なお、系列vの最後の認識単位vRの終了時刻e(vR)は、最後に処理したフレーム番号として取得する。
【0062】
<認識単位発話判定部150>
認識単位発話判定部150は、音声/非音声判定部130において得られるフレームごとの音声/非音声判定値d(t)と、音声認識部140において得られる認識単位の系列v及び各認識単位の発話時間情報の系列beとを受け取って、各認識単位vrの発話時間情報b(vr),e(vr)に対応するフレームの音声/非音声判定値d(t)の集計値(平均値等)s(vr)の大小に基づいて、認識単位ごとに対象とする話者によって発話されたか否かを判定する(s150)。
【0063】
図9は、音声認識部140からR個の認識単位vrが得られたときの、認識単位発話判定部150における処理手順を表している。まず、r=1,S=0,t=b(vr)とし初期設定を行う(s150a、s150b)。次に、開始時刻b(vr)から終了時刻e(vr)までに含まれる各フレームについて、w(t-b(vr))d(t)を求め、全て加算したSを得る(s150c、s150d,s150e)。Sは以下の式により表される。
【0064】
【数5】
さらに、得られた値Sを、対応するフレーム数e(vr)-b(vr)+1で除算することにより、集計値s(vr)を求める(s150f)。つまり、r番目の認識単位vrについて音声/非音声判定値の集計値s(vr)を式(1)に従って計算する。その集計値s(vr)が閾値TX1以上であれば(s150g)、vrが音声区間であるとの判定結果g(vr)(例えば、g(vr)=1)を出力する(s150h)。その集計値s(vr)が閾値TX1未満であれば(s150g)、vrが非音声区間であるとの判定結果g(vr)(例えば、g(vr)=0)を出力する(s150i)。s150b〜s150iを全ての認識単位に対して繰り返し行う(s150j、s150k)。
【0065】
音声/非音声判定値の集計値は、前述のように式(1)によって計算する。前述の通り、窓関数w(・)=1とすることで認識単位vrの発話判定値s(vr)は時刻b(vr)、e(vr)間の音声/非音声判定値d(t)の平均値になる(式(1’)参照)。一方、窓関数w(・)を認識単位vrの発話時間の中央(つまり(b(vr)+e(vr))/2)に向かって大きな値を取るような関数にしても良い。例えば、平均値が(b(vr)+e(vr))/2のガウス分布を窓関数w(・)としても良い。
【0066】
また、b(vr)を実際の開始時刻よりも小さく、e(vr)を実際の終了時刻よりも大きくすることで、当該認識単位vrの周囲の音声/非音声判定値d(t)を考慮しても良い。逆に、b(vr)を実際の開始時刻よりも大きく、e(vr)を実際の終了時刻よりも小さくすることで、当該認識単位の前部や後部の音声/非音声判定値d(t)を無視しても良い。
【0067】
但し、音声/非音声判定部130で用いられるフレームの時間長と音声認識部140で用いられているフレームの時間長が異なる場合は、フレーム番号が同じであっても異なる時間を指し示すことになるので補正が必要である。以下、補正方法を説明する。例えば、音声認識部140のフレーム番号t’を音声/非音声判定部130で用いられるフレーム番号tに変換し、式(1)において変換したtを用いる。変換式を以下に表す。
【0068】
【数6】
ここで、Dは音声/非音声判定部130におけるフレーム時間長、Hは音声認識部140におけるフレーム時間長を表す。但し、式(8)で求めたtが整数にならない場合は、tの近傍の整数に対応するフレーム番号の音声/非音声判定値を用いて補間しても良い。例えば、tの近傍の2点のフレーム番号の音声/非音声判定値を用いて、以下のように線形補間する。
【0069】
d~(t)=d(τ(t))+(t-τ(t))×(d(τ(t)+1)-d(τ(t))) (9)
ここで、τ(t)はtの小数点以下を切り捨てた整数である。このようにして得られた値d~(t)を、式(1)において、d(t)の代わりに用いても良い。
【0070】
認識単位発話判定部150は認識単位vrの発話判定値s(vr)がある閾値TX1以上の場合に、vrの開始時刻b(vr)と終了時刻e(vr)の間は音声区間であると判定してg(vr)=1を出力し、TX1未満の場合は時刻b(vr)、e(vr)の間は非音声区間であると判定してg(vr)=0を出力する。
【0071】
<結果出力部160>
結果出力部160は、判定結果g(vr)に応じて、音声区間の検出結果を出力する(s160)。検出結果として、g(vr)=1に対応するvrの音信号x(b(vr),e(vr))を出力してもよいし、vrの発話時間情報(開始時刻b(vr)と終了時刻e(vr))を出力してもよい。なお、x(b(vr),e(vr))は、開始時刻b(vr)から始まり終了時刻e(vr)で終わるディジタル音信号を表す。
【0072】
結果出力部160は、例えば、スピーカへの音信号を出力するための出力インタフェースである。例えば、結果出力部160は、音声区間検出装置100で検出した音信号を出力する場合には、g(vr)=1に対応する認識結果vrのディジタル音信号x(b(vr),e(vr))をD/A変換器によりアナログ音信号に変換してスピーカに出力する。
【0073】
なお、ディジタル音信号x(u)、フレームの音信号x(t)、音声/非音声判定値d(t)、音声認識結果vr、発話時間情報(b(vr),e(vr))、判定結果g(vr)は各処理過程において、図示しない記憶部に対応付けて記憶しておいてもよい。
【0074】
<効果>
このような構成とすることによって、音声区間であるか否かを音声認識結果の認識単位ごとの発話時間における音声/非音声判定値の集計値に基づいて判定するため、音声/非音声判定値に多少の誤りがあっても、それら誤りの影響を低減し、より正確に音声区間を検出できる。
【0075】
<変形例1>
本発明の音声区間検出方法を音声認識に用いる場合について説明する。図5及び図6を用いて、音声認識装置100’を説明する。音声認識装置100’は、実施例1と同様の構成を有する。但し、結果出力部160’の処理内容が異なる。
【0076】
結果出力部160’は、認識単位発話部150において対象とする話者によって発話されたと判定された認識単位vrを、その対象とする話者の音声認識結果として出力する(s160’)。つまり、音信号x(u)や発話時間情報(b(vr),e(vr))を出力するのではなく、認識結果vrを出力することで、音声認識装置として機能する。
【0077】
結果出力部160は、例えば、ディスプレイにテキストデータを出力するための出力インタフェースである。例えば、結果出力部160は、音声認識装置100’で認識した認識結果を出力する場合には、g(vr)=1に対応する認識結果vrを出力する。
【0078】
このような構成とすることで、音声認識部140の出力から、認識単位発話判定部150で音声区間と判定された認識単位vrだけを認識結果として選択して出力することができる。音声認識部140では、音声区間検出なしで音声認識を行うため、音声の話し始めや話し終りの部分が非音声区間と判定されてしまう検出誤りの影響を受けることがない。そのため、従来の音声区間検出の誤りに起因する音声認識誤りを避けることができるという効果を奏する。
【0079】
<その他の変形例>
音声区間検出装置100にディジタル音信号が入力される場合(例えば、マイク等の収音装置においてA/D変換が行われたり、外部記憶装置やネットワークを介してディジタル音声信号を受け取る場合)、音声入力部110においてA/D変換を行わなくともよい。
【0080】
また、結果出力部160は、外部記憶装置に書き出す信号やネットワークへ送信する信号等を出力するための出力インタフェースでもよい。
【実施例2】
【0081】
<音声区間検出装置200>
図10及び図11を用いて実施例2に係る音声区間検出装置200を説明する。音声区間検出装置200は、音声入力部210と、音源分離部220と、音声/非音声判定部230と、音声認識部240と、認識単位発話判定部250と、結果出力部260とを備える。音声区間検出装置200は、音源分離技術を併用して、複数の人が話す場合の各人の音声区間を検出する。本実施例では、音声信号の到来方向情報を用いた音源分離技術を用いる。以下、各部の処理内容を説明する。
【0082】
<音声入力部210>
音声入力部210は、入力された複数の音信号x1(k), x2(k),…, xM(k)を、A/D変換器により、それぞれディジタル音信号x1(u), x2(u),…, xM(u)に変換して出力する(s210)。但し、Mは音信号を収録する際に用いたマイクの個数を表す。
【0083】
<音源分離部220>
音源分離部220は、対象とする複数の話者の音声を含むディジタル音信号x1(u), x2(u),…, xM(u)を用いて、例えば特許文献1のビームフォーミングにより、各話者の音声を強調した複数の分離音信号z~1, z~2,…, z~Nを生成し(s220)、音声認識部240に出力する。但し、Nは対象とする話者の人数を表す。例えば、音源分離部220は、到来方向推定部221と分離音信号生成部223を有する。
【0084】
(到来方向推定部221)
到来方向推定部221は、複数のディジタル音信号x1(u), x2(u),…, xM(u)を所定の長さのフレームごとに取り出し、そのフレームの音信号x1(t), x2(t),…, xM(t)に対して高速フーリエ変換を行い、周波数領域の音信号x1(f,t), x2(f,t),…, xM(f,t)を算出する。
【0085】
到来方向推定部221は、全てのマイクペアmm'について、GCC-PHAT法を適用し(参考文献3参照)、以下の式により、音声の到来時間差(TDOA)推定する。
[参考文献3]C.H.Knapp and G.C.Carter, “The generalized correlation method for estimation of time delay”, IEEE Trans. Acoust. Speech and Signal Processing, 1976, vol.24, no. 4, pp. 320-327
【0086】
【数7】
但し、m=1,2,…,M、m'=1,2,…,M、m≠m'とする。全てのマイクペアmm'におけるTDOAの推定値τmm'(t)を並べたベクトルをτ(t)とする。
【0087】
次に、到来方向推定部221は、到来時間差の推定値を並べたベクトルτ(t)とマイクの座標を表す行列Dより、音声信号の到来方向q(t)を推定する(s211)(参考文献4参照)。
[参考文献4]S. Araki, H. Sawada, R. Mukai and S. Makino, "DOA estimation for multiple sparse sources with normalized observation vector clustering", ICASSP2006, 2006, Vol. 5, pp.33-36
【0088】
【数8】
ここで、cは音速、−は一般化逆行列、Dは各マイクの座標ベクトル(この実施例では2次元とする)を並べた行列である。式(11)を以下の式(11')によって正規化する。
【0089】
【数9】
なお、到来方向q(t)は、時刻tに到来している音声の方位角をθ(t)とすると、q(t)=[cosθ(t) sinθ(t)]である。
【0090】
次に、到来方向推定部221は、q(t)=[cosθ(t) sinθ(t)]から得られる方向情報θ(t)をクラスタリングし、音声がある範囲の方向から到達する時刻tの集合Tnを得る。例えば、n=1,2,…,N、Δはある範囲を示す値とし、θn-Δ≦θ(t)<θn+Δを満たす時刻tの集合をTnとする。なお、θnは話者nのいる方向を表す。到来方向推定部221は、Tnを分離音信号生成部223に出力する。
【0091】
(分離音信号生成部223)
分離音信号生成部223は、Tnを用いて、方向θnからの音声を強調する。なお、強調される音声を話者nの音声と考える。マイクロホンmで収録される音信号を周波数領域に変換した信号xm(f,t)を
【0092】
【数10】
と表す。ここで、nは、時刻tで発話している話者の番号であり、zn(f,t)は話者nの音声信号の時間周波数表現であり、hmn(f)は話者nからマイクmまでの周波数応答を表す。また全てのマイクの入力を並べたベクトルX(f,t)=[x1(f,t), x2(f,t),…, xM(f,t)]Tを
X(f,t)=H(f)TZ(f,t)
Z(f,t)=[z1(f,t), z2(f,t),…, zN(f,t)]T
とする。なお、Tは転置を表し、H(f)はhmn(f)を(n,m)要素として持つ行列である。この行列H(f)をここでは混合行列と呼ぶ。分離音信号生成部223は、混合行列H(f)を推定し、その逆行列H~-1(f)を用いて分離音信号z~n(f,t)を求める(s223)。
【0093】
【数11】
ここで混合行列の逆行列の推定値H~-1(f)は以下のように推定する。
【0094】
【数12】
但し、E[]は、方向θnから音声が到来する時刻の集合Tnに関して、平均値をとる操作を意味する。分離音信号生成部223は、求めた複数の分離音信号z~n(f,t)を音声認識部240へ出力する。
【0095】
<音声/非音声判定部230>
音声/非音声判定部230は、対象とする複数の話者の音声を含むディジタル音信号x1(u), x2(u),…, xM(u)を所定の長さのフレームごとに取り出し、そのフレームの音信号x1(t), x2(t),…, xM(t)を解析し、そのフレームの音信号x1(t), x2(t),…, xM(t)に対象とする各話者nの音声が含まれているか否かを判定し、判定結果を音声/非音声判定結果dn(t)として求め、認識単位発話判定部250に出力する(s230)。音声/非音声判定部230は、例えば、到来方向推定部231と判定部233を備える。
【0096】
(到来方向推定部231)
到来方向推定部231は、音源分離部220内の到来方向推定部231と同様の構成である。但し、フレーム時間長等は適宜設定してよい。本実施例では、音声/非音声判定部230と、音源分離部220及び音声認識部240で用いるフレーム時間長は同一のものとする。
【0097】
到来方向推定部231において、複数のディジタル音信号x1(u), x2(u),…, xM(u)を所定の長さのフレームごとに取り出し、そのフレームの音信号x1(t), x2(t),…, xM(t)に対して高速フーリエ変換を行い、周波数領域の音信号x1(f,t), x2(f,t),…, xM(f,t)を算出する。
【0098】
そして、到来方向推定部231は、式(10)、(11)、(12)を用いて、音声信号の到来方向q(t)=[cosθ(t) sinθ(t)]を推定し、さらにq(t)から得られる方向情報θ(t)をクラスタリングし、音声がある範囲の方向から到達する時刻tの集合Tnを得る(s231)。
【0099】
(判定部233)
判定部233は、到来方向推定部231において求めた集合Tnを用いて、音声/非音声判定値dn(t)を
【0100】
【数13】
として求め(s233)、認識単位発話判定部150に出力する。つまり、時刻tが方向θnから音声が到来する時刻の集合Tnに含まれる場合には、音声であると判定し、含まれない場合には、非音声であると判定する。
【0101】
<音声認識部240>
音声認識部240は、音源分離部220から送られた複数の分離音信号z~n(f,t)を、それぞれ音声認識し(s240)、各分離音信号z~n(f,t)に対する音声認識結果を認識単位vnrの系列vn={vn1, vn2,…,vnR}として求め、認識単位発話判定部150に出力する。また、音声認識部240は、各認識単位vnrの発話時間情報b(vnr)、e(vnr)とを求め、発話時間情報の系列benを認識単位発話判定部250に出力する。音声認識の方法は実施例1と同様である。但し、入力は、音信号x(u)に代えて、フレームごとの各分離音信号z~n(f,t)を用い、各分離音信号z~n(f,t)に対して音声認識処理を行い、各話者ごとの認識単位vnrの系列vnと、対応する発話時間情報の系列benとを求める点が異なる。
【0102】
<認識単位発話判定部250>
認識単位発話判定部250は、音声/非音声判定部230において得られる各話者のフレームごとの音声/非音声判定値dn(t)と、音声認識部240において得られる各話者の認識単位の系列vn及び発話時間情報の系列benとを受け取って、図9の処理手順を用いて、各話者nの認識単位vnrの発話時間b(vnr),e(vnr)に対応するフレームの音声/非音声判定値の集計値s(vnr)を求め、集計値s(vnr)の大小に基づいて、認識単位ごとにその話者によって発話されたか否かを判定する(s250)。認識単位発話判定部250は各話者の認識単位vnrの発話判定値s(vnr)がある閾値TX1以上の場合に、vnrの開始時刻b(vnr)と終了時刻e(vnr)の間は音声区間であると判定してg(vnr)=1を出力し、TX1未満の場合は時刻b(vnr)、e(vnr)の間は非音声区間であると判定してg(vnr)=0を出力する。処理内容は実施例1と同様である。但し、入力が、各話者の認識単位の系列vnと、発話時間情報の系列benである点と、判定結果が各話者毎の値g(vnr)である点が異なる。また、実施例1と同様に音声/非音声判定部230と、音源分離部220及び音声認識部240で用いるフレーム時間長は異なってもよく、その場合には、実施例1と同様に、フレーム番号の変換処理、補間処理を行えばよい。
【0103】
<結果出力部260>
結果出力部260は、判定結果g(vnr)に応じて、音声区間の検出結果を出力する(s260)。検出結果として、g(vnr)=1に対応するvnrのディジタル音信号x(b(vnr), e(vnr))を出力してもよいし、vnrの発話時間情報(開始時刻b(vnr)と終了時刻e(vnr))を出力してもよい。
【0104】
<効果>
このような構成とすることによって、実施例1の効果に加え、対象とする複数の話者の音声を含むディジタル音信号から音声区間を検出することができるという効果を奏する。
【0105】
<変形例1>
本発明の音声区間検出方法を音声認識に用いる場合について説明する。図10及び図11を用いて、音声認識装置200’は、実施例2と同様の構成を有する。但し、結果出力部260’の処理内容が異なる。
【0106】
結果出力部260’は、認識単位発話部250において対象とする話者によって発話されたと判定された認識単位vnrを、その対象とする話者の音声認識結果として出力する(s260’)。つまり、音信号x(u)や発話時間情報(b(vnr),e(vnr))を出力するのではなく、認識結果vnrを出力することで、音声認識装置として機能する。
【0107】
このような構成とすることで、実施例1の変形例1と同様の効果を奏し、さらに、対象とする複数の話者の音声を含むディジタル音信号から音声認識することができる。
【0108】
なお、以下に示す実施例3、実施例4及び実施例5においても同様に、音声区間検出装置300、400及び500を音声認識装置として機能させることができる。
【0109】
また、音源分離部220における音源分離技術として、他の従来技術を用いてもよい。
【実施例3】
【0110】
<音声区間検出装置300>
図12を用いて実施例3に係る音声区間検出装置300を説明する。音声区間検出装置300は、音声入力部210と、音源分離部320と、音声/非音声判定部330と、音声認識部240と、認識単位発話判定部250と、結果出力部260とを備える。音源分離部320と音声/非音声判定部330の処理内容が実施例2とは異なる。異なる部分についてのみ説明する。
【0111】
<音源分離部320>
音源分離部320は、対象とする複数の話者の音声を含むディジタル音信号x1(u), x2(u),…, xM(u)を用いて、各話者の音声を強調した複数の分離音信号z~1, z~2,…, z~Nを生成し、音声/非音声判定部330と音声認識部240に出力する。音源分離の手段としては、実施例2の方法と同様の方法を用いてもよい。
【0112】
<音声/非音声判定部330>
音声/非音声判定部330は、分離音信号z~1(f,t), z~2(f,t),…, z~N(f,t)を解析し、そのフレームの音信号に対象とする各話者の音声が含まれているか否かを判定し、判定結果を音声/非音声判定結果として求める。判定方法は、実施例1の音声/非音声判定部130と同様である。但し、ディジタル音信号x(u)に代えて、各分離音信号z~1(f,t), z~2(f,t),…, z~N(f,t)を用いて、それぞれの信号から音声/非音声判定値dn(t)を求め、認識単位い発話判定部250に出力する。そのため、音声/非音声判定部330において、入力信号をフレームごとに取り出し、周波数領域へ変換する処理を行わなくともよい。
【0113】
このような構成とすることで、実施例2と同様の効果を得ることができる。
【実施例4】
【0114】
<音声区間検出装置400>
図13を用いて実施例4に係る音声区間検出装置400を説明する。音声区間検出装置400は、音声入力部210と、音源分離部420と、音声/非音声判定部430と、音声認識部240と、認識単位発話判定部250と、結果出力部260とを備える。音源分離部420と音声/非音声判定部430の処理内容が実施例2とは異なる。異なる部分についてのみ説明する。
【0115】
<音源分離部420>
音源分離部420内の到来方向推定部421は、Tnを分離音信号生成部223と音声/非音声判定部430に出力する。他の処理は実施例2と同様である。
【0116】
<音声/非音声判定部430>
音声/非音声判定部430は、方向θnから音声が到来する時刻の集合Tnを受け取り、これを用いて、音声/非音声判定値dn(t)を
【0117】
【数14】
として求め、認識単位発話判定部150に出力する。つまり、時刻tが方向θnから音声が到来する時刻の集合Tnに含まれる場合には、音声であると判定し、含まれない場合には、非音声であると判定する。
【0118】
このような構成とすることで、実施例2と同様の効果を得ることができる。さらに、音源分離部420内の到来方向推定部420の出力値Tnを分離音信号生成部223と音声/非音声判定部430で利用することで、計算量を削減することができる。
【実施例5】
【0119】
図14を用いて実施例5に係る音声区間検出装置500を説明する。音声区間検出装置500は、音声入力部210と、音源分離部220と、音声/非音声判定部530と、音声認識部240と、認識単位発話判定部250と、結果出力部260とを備える。音声/非音声判定部530の処理内容が実施例2とは異なる。異なる部分についてのみ説明する。
【0120】
<音声/非音声判定部530>
音声/非音声判定部530は、対象とする複数の話者の音声を含むディジタル音信号x1(u), x2(u),…, xM(u)を所定の長さのフレームごとに取り出し、そのフレームの音信号x1(t), x2(t),…, xM(t)を解析し、そのフレームの音信号x1(t), x2(t),…, xM(t)に対象とする各話者nの音声が含まれているか否かを判定し、判定結果を音声/非音声判定結果dn(t)として求め、認識単位発話判定部250に出力する。
【0121】
音声/非音声判定部530は、例えば、特徴抽出部531と識別部533を備える。特徴抽出部531は実施例1の音声/非音声判定部130内の特徴抽出部131と同様の構成である。但し、対象とする複数の話者の音声を含むディジタル音信号x1(u), x2(u),…, xM(u)を入力とするので、そのうちの1つのディジタル音信号x(u)を選択し、処理を行う点が異なる。
【0122】
(特徴抽出部531)
特徴抽出部531では、音声入力部210から出力されたディジタル音信号x1(u), x2(u),…, xM(u)から1つのディジタル音信号x(u)を選択する。そして、ディジタル音信号x(u)をフレームごとに分割し、そのフレームの時間長に対応する振幅値のサンプル系列x(t)を取り出す。次に特徴抽出部531では、切り出されたディジタル音信号x(t)に対して高速フーリエ変換を行い、周波数領域の音信号x(f,t)を算出する。
【0123】
さらに、特徴抽出部531では、周波数領域の音信号x(f,t)を用いて、フレームtのP次元の対数メルスペクトルを要素に持つ音響特徴ベクトルOt={ot,0,ot,1,…,ot,P-1}を算出し、特徴抽出部531の出力とする。
【0124】
(識別部533)
識別部533では、まず入力音声の音声特徴ベクトルOtと、別途用意した各話者の音声の確率モデルまたは非音声の確率モデル、例えば混合正規分布モデル(GMM: Gaussian Mixture Model)との尤度bj(Ot)を次式のように計算する。
【0125】
【数15】
但し、n'はGMMの種別を表し、n'=0,1,…,Nであり、n'=0のとき非音声モデルとし、n'=1,2,…,Nのとき、それぞれ各話者の音声モデルとする。kはGMMに含まれる正規分布の番号であり、k=1,2,…,Kとし、wn',kはK番目の正規分布の混合重みを、μn',k,lは平均値を、σ2n',k,lは分散値を表す。なお、非音声及び各話者の混合正規分布モデル(GMM)は、事前に非音声と各話者が発声した音声信号の音声特徴ベクトルを用いて学習し、用意しておく。図示しないGMM記憶部に、確率モデル(GMM)を記憶しておき、識別部533は、GMM記憶部を参照して、上述の尤度bn'(Ot)を計算する。
【0126】
次に識別部533では、以下の式により、フレームごとの音声/非音声判定値dn(t)を求める。
【0127】
【数16】
つまり、話者nの音声モデルが、全ての音声モデル及び非音声モデルの中で、最大の尤度を与える場合には、その話者の音声であると判定し、dn(t)=1とし、それ以外の場合は、dn(t)=0とする。
【0128】
このような構成とすることで実施例2と同様の効果を得ることができる。
【0129】
<変形例>
本実施例では、対象とする複数の話者の音声を含むディジタル音信号x1(u), x2(u),…, xM(u)のうちの1つのディジタル音信号x(u)を選択し、処理を行っているが、全てのディジタル音信号x1(u), x2(u),…, xM(u)から、音声/非音声判定値dmn(t)を求め、その平均値を最終的な出力値dn(t)としてもよい。このような構成とすることで、1つのマイクを選択することで生じる偏りを防止することができる。
【0130】
また、対象とする複数の話者の音声を含むディジタル音信号x1(u), x2(u),…, xM(u)のうちの1つのディジタル音信号x(u)を選択し、非特許文献2記載の技術を用いて、情報量基準を利用して各話者の音声区間を判定し音声/非音声判定値dn(t)を求めてもよい。さらに、全てのディジタル音信号から、音声/非音声判定値を求め、その平均値を最終的な出力値dn(t)としてもよい。
【0131】
なお、本実施例の本実施例の音声/非音声判定部530を用いる場合には、1つのディジタル音信号x(u)だけで、そのディジタル音信号x(u)に複数の話者の音声を含まれている場合にも、Diarizationを行うことができる。但し、このとき、音声認識部においても、複数の話者の音声を含むx(u)のみを用いて音声認識を行うものとする。
【0132】
<プログラム及び記録媒体>
また、本発明による音声区間検出方法または音声認識方法をコンピュータプログラムで実装し、コンピュータからなる音声区間検出装置または音声認識装置を構成する。この場合はコンピュータに、目的とする装置(各種実施例で図に示した機能構成をもつ装置)として機能させるためのプログラム、またはその処理手順(各実施例で示したもの)の各過程をコンピュータに実行させるためのプログラムを、CD−ROM、磁気ディスク、半導体記憶装置などの記録媒体から、あるいは通信回線を介してそのコンピュータ内にダウンロードし、そのプログラムを実行させればよい。マイクで収録した音信号を入力として、本発明による音声区間検出方法または音声認識方法のコンピュータプログラムを実行し、その結果得られる音声区間だけを結果出力部を介してスピーカから再生したり、もしくは音声認識結果を結果出力部を介してディスプレイに表示しても良い。
【0133】
<実験結果>
実施例2の変形例1の音声認識装置200’を用いて、図15に示す環境にて音声認識実験を行った。実験では音声入力部210で8つのマイクロホンを用い、図10に示す形態の音声認識装置200’を構成した。話者は4名であった。ここで行われた会話は、話者のうち1名がある題材についての発表と、他の話者が自由なタイミングで質問を行うことによる質疑応答である。
【0134】
音源分離部220では8つのマイクロホンを、音声/非音声判定部230におけるDiarizationには、図15の中心の3つのマイクロホンを用いた。フレーム長は64ms、フレームシフトは32msとした。音声認識部240は、図7に示す形態の音声認識システムを使用した。音響モデルには、43種類の音素に対するHMMを用意し、音素ごとに3つの状態があり、各状態にはその音素のコンテキスト(前にある音素は何か、後ろに続く音素は何か)に応じて3064種類ある確率密度分布の内の一つが割り当てられている。認識グラフとして、10万単語の発音と、その10万単語中に含まれる単語の3単語連鎖確率の対数値をアークの重みとして持つ認識グラフを構成した。音声認識装置200’を用いて、参加者4名10分の会話音声を入力したときの音声認識結果の単語誤り率を以下の表に示す。ここで、単語誤り率とは、正解の文と認識結果とを比べたときの単語あたりの誤りの割合であり、通常次のように計算される。
【0135】
【数17】
【0136】
置換誤り数は正解文の単語が認識結果の中で別の単語に認識された回数、挿入誤り数は正解文には存在しない単語が認識結果に挿入された回数、削除誤り数は正解文に含まれる単語が認識結果に含まれなかった回数を表している。単語誤り率が小さいほど、認識精度が高いことを意味する。
【0137】
また、比較のために、従来の音声区間検出によって得られた各音声区間を音声認識した場合の単語誤り率も併せて示す。従来法の音声区間検出では、音響特徴量は、フレーム長64ms、シフト長32msで入力音声を切り出し、12次元の対数メルスペクトルベクトル(P'= 12)を抽出した。音声/非音声判定部230内の識別部においては、音声と非音声の確率モデルにGMMを用い、各GMMはそれぞれK = 32の正規分布を有する。各GMMは前述の非特許文献1に開示された方法を用いて逐次的に生成、更新を行う。更に前述のエラー訂正処理も適用している。
【0138】
【表1】
単語誤り率を大幅に削減する効果があることが示された。また、単語誤り率が大幅に削減されたことから、音声区間検出の精度も改善されていることが分かる。
【符号の説明】
【0139】
100、200、300、400、500 音声区間検出装置
100’、200’ 音声認識装置
110、210 音声入力部
130、230、330、430、530 音声/非音声判定部
140、240 音声認識部
150、250 認識単位発話判定部
160、160’、260、260’ 結果出力部
220、320、420 音源分離部
【特許請求の範囲】
【請求項1】
音信号を所定の長さのフレームごとに取り出し、そのフレームの音信号を解析し、そのフレームの音信号に対象とする話者の音声が含まれるか否かを判定し、判定結果を音声/非音声判定値として求める音声/非音声判定ステップと、
前記音信号の中に含まれる認識単位の系列と、各認識単位の発話時間情報とを求める音声認識ステップと
前記音声/非音声判定ステップにおいて得られるフレームごとの音声/非音声判定値と、前記音声認識ステップにおいて得られる認識単位の系列及び各認識単位の発話時間情報とを受け取って、前記認識単位の発話時間に対応する前記フレームの音声/非音声判定値の集計値の大小に基づいて、認識単位ごとに対象とする話者によって発話されたか否かを判定する認識単位発話判定ステップと、
を有する音声区間検出方法。
【請求項2】
対象とする複数の話者の音声を含む音信号を所定の長さのフレームごとに取り出し、そのフレームの音信号を解析し、そのフレームの音信号に対象とする各話者の音声が含まれているか否かを判定し、判定結果を音声/非音声判定結果として求める音声/非音声判定ステップと、
前記対象とする複数の話者の音声を含む音信号を用いて、各話者の音声を強調した複数の分離音信号を生成する音源分離ステップと、
前記分離音信号の中に含まれる認識単位の系列と、各認識単位の発話時間情報とを求める音声認識ステップと
前記音声/非音声判定ステップにおいて得られる各話者のフレームごとの音声/非音声判定値と、前記音声認識ステップにおいて得られる各話者の認識単位の系列及び各認識単位の発話時間情報とを受け取って、各話者の前記認識単位の発話時間に対応する前記フレームの音声/非音声判定値の集計値の大小に基づいて、認識単位ごとにその話者によって発話されたか否かを判定する認識単位発話判定ステップと、
を有する音声区間検出方法。
【請求項3】
請求項1または2記載の音声区間検出方法を用いた音声認識方法であって、
前記認識単位発話ステップにおいて、対象とする話者によって発話されたと判定された認識単位だけを、その対象とする話者の音声認識結果として出力する結果出力ステップを備える、
ことを特徴とする音声認識方法。
【請求項4】
音信号を所定の長さのフレームごとに取り出し、そのフレームの音信号を解析し、そのフレームの音信号に対象とする話者の音声が含まれるか否かを判定し、判定結果を音声/非音声判定値として求める音声/非音声判定部と、
前記音信号の中に含まれる認識単位の系列と、各認識単位の発話時間情報とを求める音声認識部と
前記音声/非音声判定部において得られるフレームごとの音声/非音声判定値と、前記音声認識部において得られる認識単位の系列及び各認識単位の発話時間情報とを受け取って、前記認識単位の発話時間に対応する前記フレームの音声/非音声判定値の集計値の大小に基づいて、認識単位ごとに対象とする話者によって発話されたか否かを判定する認識単位発話判定部と、
を有する音声区間検出装置。
【請求項5】
対象とする複数の話者の音声を含む音信号を所定の長さのフレームごとに取り出し、そのフレームの音信号を解析し、そのフレームの音信号に対象とする各話者の音声が含まれているか否かを判定し、判定結果を音声/非音声判定結果として求める音声/非音声判定部と、
前記対象とする複数の話者の音声を含む音信号を用いて、各話者の音声を強調した複数の分離音信号を生成する音源分離部と、
前記分離音信号の中に含まれる認識単位の系列と、各認識単位の発話時間情報とを求める音声認識部と
前記音声/非音声判定部において得られる各話者のフレームごとの音声/非音声判定値と、前記音声認識部において得られる各話者の認識単位の系列及び各認識単位の発話時間情報とを受け取って、各話者の前記認識単位の発話時間に対応する前記フレームの音声/非音声判定値の集計値の大小に基づいて、認識単位ごとにその話者によって発話されたか否かを判定する認識単位発話判定部と、
を有する音声区間検出装置。
【請求項6】
請求項4または5記載の音声区間検出装置を用いた音声認識装置であって、
前記認識単位発話部において、対象とする話者によって発話されたと判定された認識単位だけを、その対象とする話者の音声認識結果として出力する結果出力部を備える、
ことを特徴とする音声認識装置。
【請求項7】
請求項4乃至請求項6の何れかに記載の音声区間検出装置または音声認識装置としてコンピュータを機能させるためのプログラム。
【請求項8】
請求項7記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項1】
音信号を所定の長さのフレームごとに取り出し、そのフレームの音信号を解析し、そのフレームの音信号に対象とする話者の音声が含まれるか否かを判定し、判定結果を音声/非音声判定値として求める音声/非音声判定ステップと、
前記音信号の中に含まれる認識単位の系列と、各認識単位の発話時間情報とを求める音声認識ステップと
前記音声/非音声判定ステップにおいて得られるフレームごとの音声/非音声判定値と、前記音声認識ステップにおいて得られる認識単位の系列及び各認識単位の発話時間情報とを受け取って、前記認識単位の発話時間に対応する前記フレームの音声/非音声判定値の集計値の大小に基づいて、認識単位ごとに対象とする話者によって発話されたか否かを判定する認識単位発話判定ステップと、
を有する音声区間検出方法。
【請求項2】
対象とする複数の話者の音声を含む音信号を所定の長さのフレームごとに取り出し、そのフレームの音信号を解析し、そのフレームの音信号に対象とする各話者の音声が含まれているか否かを判定し、判定結果を音声/非音声判定結果として求める音声/非音声判定ステップと、
前記対象とする複数の話者の音声を含む音信号を用いて、各話者の音声を強調した複数の分離音信号を生成する音源分離ステップと、
前記分離音信号の中に含まれる認識単位の系列と、各認識単位の発話時間情報とを求める音声認識ステップと
前記音声/非音声判定ステップにおいて得られる各話者のフレームごとの音声/非音声判定値と、前記音声認識ステップにおいて得られる各話者の認識単位の系列及び各認識単位の発話時間情報とを受け取って、各話者の前記認識単位の発話時間に対応する前記フレームの音声/非音声判定値の集計値の大小に基づいて、認識単位ごとにその話者によって発話されたか否かを判定する認識単位発話判定ステップと、
を有する音声区間検出方法。
【請求項3】
請求項1または2記載の音声区間検出方法を用いた音声認識方法であって、
前記認識単位発話ステップにおいて、対象とする話者によって発話されたと判定された認識単位だけを、その対象とする話者の音声認識結果として出力する結果出力ステップを備える、
ことを特徴とする音声認識方法。
【請求項4】
音信号を所定の長さのフレームごとに取り出し、そのフレームの音信号を解析し、そのフレームの音信号に対象とする話者の音声が含まれるか否かを判定し、判定結果を音声/非音声判定値として求める音声/非音声判定部と、
前記音信号の中に含まれる認識単位の系列と、各認識単位の発話時間情報とを求める音声認識部と
前記音声/非音声判定部において得られるフレームごとの音声/非音声判定値と、前記音声認識部において得られる認識単位の系列及び各認識単位の発話時間情報とを受け取って、前記認識単位の発話時間に対応する前記フレームの音声/非音声判定値の集計値の大小に基づいて、認識単位ごとに対象とする話者によって発話されたか否かを判定する認識単位発話判定部と、
を有する音声区間検出装置。
【請求項5】
対象とする複数の話者の音声を含む音信号を所定の長さのフレームごとに取り出し、そのフレームの音信号を解析し、そのフレームの音信号に対象とする各話者の音声が含まれているか否かを判定し、判定結果を音声/非音声判定結果として求める音声/非音声判定部と、
前記対象とする複数の話者の音声を含む音信号を用いて、各話者の音声を強調した複数の分離音信号を生成する音源分離部と、
前記分離音信号の中に含まれる認識単位の系列と、各認識単位の発話時間情報とを求める音声認識部と
前記音声/非音声判定部において得られる各話者のフレームごとの音声/非音声判定値と、前記音声認識部において得られる各話者の認識単位の系列及び各認識単位の発話時間情報とを受け取って、各話者の前記認識単位の発話時間に対応する前記フレームの音声/非音声判定値の集計値の大小に基づいて、認識単位ごとにその話者によって発話されたか否かを判定する認識単位発話判定部と、
を有する音声区間検出装置。
【請求項6】
請求項4または5記載の音声区間検出装置を用いた音声認識装置であって、
前記認識単位発話部において、対象とする話者によって発話されたと判定された認識単位だけを、その対象とする話者の音声認識結果として出力する結果出力部を備える、
ことを特徴とする音声認識装置。
【請求項7】
請求項4乃至請求項6の何れかに記載の音声区間検出装置または音声認識装置としてコンピュータを機能させるためのプログラム。
【請求項8】
請求項7記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2012−48119(P2012−48119A)
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願番号】特願2010−192126(P2010−192126)
【出願日】平成22年8月30日(2010.8.30)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願日】平成22年8月30日(2010.8.30)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]