音声識別装置及び音声識別方法
【課題】 音声信号が示す音が無声音か有声音かを正確かつ迅速に識別可能な音声識別装置を提供すること。
【解決手段】 本発明の音声識別装置10は、時間軸に沿った音声信号を、それぞれの切り出し開始時刻をずらして複数のフレームに切り出す生成部13と、当該切り出された複数のフレームそれぞれに対応するゼロクロス数を算出する算出部15と、当該算出されたゼロクロス数に基づいて、複数のフレームそれぞれにおけるゼロクロス数を、複数のフレームそれぞれに近接するフレームにおけるゼロクロス数と比較した結果に基づいて、複数のフレームそれぞれに対応する音素が無声音か有声音かを識別する識別部17と、を備える。
【解決手段】 本発明の音声識別装置10は、時間軸に沿った音声信号を、それぞれの切り出し開始時刻をずらして複数のフレームに切り出す生成部13と、当該切り出された複数のフレームそれぞれに対応するゼロクロス数を算出する算出部15と、当該算出されたゼロクロス数に基づいて、複数のフレームそれぞれにおけるゼロクロス数を、複数のフレームそれぞれに近接するフレームにおけるゼロクロス数と比較した結果に基づいて、複数のフレームそれぞれに対応する音素が無声音か有声音かを識別する識別部17と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声識別装置及び音声識別方法に関する。
【背景技術】
【0002】
入力した音声信号によって示される音が無声音か有声音かを識別する音声識別技術がある。音声識別技術は、音声認識又は音声合成等に用いられる。このような音声識別技術として、下記特許文献1には、所定区間の音声信号のゼロクロス数と予め設定したゼロクロス数の閾値とに基づいて、所定区間の音声信号が無声音を示すか、又は有声音を示すか識別する技術が記載されている。
【特許文献1】特開2003−256000号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、無声音を示す所定区間の音声信号のゼロクロス数は、有声音を示す所定区間の音声信号のゼロクロス数より大きい場合もあれば、小さい場合もある。よって、所定区間の音声信号のゼロクロス数を用いる場合、無声音と有声音を識別するための適当な閾値を設定するのは困難である。
【0004】
また、音声識別方法として変形相関法が知られている。変形相関法は、入力された音声信号の波形に対して、自己相関関数を求めた後、線形予測分析を行い、次数分の線形予測係数を求める。その後、変形相関法では、予測残差を求めて予測残差のピークを検出し、ピーク間の時間距離を測定し、測定結果に基づいて音声の識別を行う。
【0005】
変形相関法は、このように複雑な操作を要するため、音声の識別速度が遅くなる。よって、変形相関法では、リアルタイムな対話システムに用いられる音声認識及び音声合成には対応できない。
【0006】
そこで本発明では、音声信号が示す音素が無声音か有声音かを正確かつ迅速に識別可能な音声識別装置及び音声識別方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明者らは、研究の結果、無声音の音声信号は、有声音の音声信号と比較して周期性が乏しく、ゼロクロス数の変動が大きいことを見出した。本発明者らは、このゼロクロス数の変動に着目して研究を進めることで本願発明を想起したものである。
【0008】
本発明の音声識別装置は、時間軸に沿った音声信号を、それぞれの切り出し開始時刻をずらして複数のフレームに切り出すフレーム生成手段と、当該切り出された複数のフレームそれぞれに対応するゼロクロス数を算出するゼロクロス算出手段と、当該算出されたゼロクロス数に基づいて、複数のフレームそれぞれにおけるゼロクロス数を、複数のフレームそれぞれに近接するフレームにおけるゼロクロス数と比較するゼロクロス比較手段と、当該比較結果に基づいて、複数のフレームそれぞれに対応する音素が無声音か有声音かを識別する音素識別手段と、を備える。
【0009】
本発明の音声識別方法は、フレーム生成手段が、時間軸に沿った音声信号をそれぞれの切り出し開始時刻をずらして複数のフレームに切り出す第1ステップと、ゼロクロス算出手段が、第1ステップにおいて切り出された複数のフレームそれぞれに対応するゼロクロス数を算出する第2ステップと、第2ステップにおいて算出されたゼロクロス数に基づいて、ゼロクロス比較手段が、複数のフレームそれぞれにおけるゼロクロス数を複数のフレームそれぞれに近接するフレームにおけるゼロクロス数と比較する第3ステップと、第3ステップにおける比較結果に基づいて、音素識別手段が、複数のフレームそれぞれに対応する音素が無声音か有声音かを識別する第4ステップと、を備える。
【0010】
本発明によれば、音声信号をフレームに切り出して、近接するフレーム同士のゼロクロス数を比較した結果に基づいて、複数のフレームそれぞれに対応する音素が無声音か有声音かを識別している。従って、各フレームのゼロクロス数と閾値とを比較する場合に比較して正確に識別することが出来ると共に、変形相関法に比較して迅速に識別することができる。
【0011】
また本発明の音声識別装置では、音素識別手段は、複数のフレームそれぞれにおけるゼロクロス数と、複数のフレームそれぞれに近接するフレームにおけるゼロクロス数との差分値が予め定められた閾値を超えた場合に、後方のフレームに対応する音素が無声音であると識別することも好ましい。
【0012】
また本発明の音声識別方法では、第4ステップにおいて、音素識別手段は、複数のフレームそれぞれにおけるゼロクロス数と、複数のフレームそれぞれに近接するフレームにおけるゼロクロス数との差分値が予め定められた閾値を超えた場合に、後方のフレームに対応する音素が無声音であると識別することも好ましい。
【0013】
また本発明の音声識別装置では、音素識別手段は、複数のフレームそれぞれにおけるゼロクロス数と、複数のフレームそれぞれに近接するフレームにおけるゼロクロス数との差分値が予め定められた閾値より小さい場合に、後方のフレームに対応する音素が有声音であると識別することも好ましい。
【0014】
また本発明の音声識別方法では、第4ステップにおいて、音素識別手段は、複数のフレームそれぞれにおけるゼロクロス数と、複数のフレームそれぞれに近接するフレームにおけるゼロクロス数との差分値が予め定められた閾値より小さい場合に、後方のフレームに対応する音素が有声音であると識別することも好ましい。
【0015】
この好ましい態様によれば、近接するフレーム同士のゼロクロス数をより正確に比較することができる。
【発明の効果】
【0016】
本発明によれば、近接するフレームのゼロクロス数の変動に基づいて無声音か有声音かを識別するので、音声信号が示す音が無声音か有声音かを正確かつ迅速に識別可能である。
【発明を実施するための最良の形態】
【0017】
本発明の知見は、例示のみのために示された添付図面を参照して以下の詳細な記述を考慮することによって容易に理解することができる。引き続いて、添付図面を参照しながら本発明の実施の形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【0018】
本発明の実施形態に係る音声識別システムについて図1を参照しながら説明する。図1は、本実施形態に係る音声識別システムの構成図である。本実施形態に係る音声識別システム1は、マイク3と、音声識別装置10とを備えて、人が話す言葉を構成するそれぞれの音が有声音か無声音かを識別するシステムである。
【0019】
マイク3は、コンデンサマイクであり、人が話す言葉の音の振動をサンプリングし、音声信号に変換して音声識別装置10へ出力する。音声識別装置10は、マイク3から入力した音声信号に基づいて、人が話す言葉を構成するそれぞれの音が有声音か無声音かを識別する装置である。
【0020】
本発明の実施形態に係る音声識別装置10についてより詳細に説明する。音声識別装置10は、物理的な構成要素として、CPU、メモリー、電源、及び入出力インターフェイス部を備えるパーソナルコンピュータである。また、図2に示すように、音声識別装置10は、機能的な構成要素として、図2に示すように、検出部11と、生成部(フレーム生成手段)13と、算出部(ゼロクロス算出手段)15と、識別部(ゼロクロス比較手段、音素識別手段)17とを備える。図2は、本実施形態に係る音声識別装置の機能ブロック図である。引き続いて、機能的な各構成要素についてそれぞれ説明する。
【0021】
検出部11は、図3に示すように、入力した音声信号S1から発話区間を検出する部分である。図3は、本実施形態に係る音声識別装置が入力した音声信号の波形を示すグラフである。検出部11は、音声信号S1を入力し、音声信号の振幅に対して、発話区間の語始及び語尾共に2段階のラッチをかけて発話区間を検出する。
【0022】
すなわち、検出部11は、図3の波形において、振幅が立ち上がった点Aから一定時間内に振幅励起が起こった(点B)場合に、振幅が立ち上がった点Aを発話区間の語始とする。また、検出部11は、振幅が立ち下がった点Dから300ms以上振幅の励起がない場合に、振幅が立ち下がった点Dを発話区間の語尾とする。検出部11は、図3に示す波形においては、振幅が立ち下がった点Cから300ms以内に振幅の励起があるので、振幅が立ち下がった点Cを発話区間の語尾と認識しない。
【0023】
検出部11は、発話区間を検出後、図4に示すように、検出した発話区間の音声信号S2に対してプリエンファシスを行い、音声信号S3を生成する。図4(a)は、プリエンファシス前の音声信号S2の波形を示すグラフである。図4(b)は、プリエンファシス後の音声信号S3の波形を示すグラフである。プリエンファシスとは、音声信号の高域を強調することである。プリエンファシス後の音声信号S3の振幅は、プリエンファシス前の音声信号S2の振幅より大きい。
【0024】
具体的には、検出部11は、音声信号S2のプリエンファシスを下式(1)によって行う。
【数1】
上式(1)において、HSR[]はプリエンファシス前の音声信号を示し、HPrSR[]はプリエンファシス後の音声信号を示す。
【0025】
図5(a)は、プリエンファシス前の音声信号S2のペクトルを示すグラフである。図5(b)は、プリエンファシス後の音声信号S3のペクトルを示すグラフである。図5に示すように、プリエンファシスによって、より高域の信号が増幅されている。プリエンファシス前の音声信号における特定の周波数のパワー「la」,「lb」が強調されてより大きなパワー「la’」「lb’」となっている。検出部11は、プリエンファシスを行った音声信号S3を生成部13へ出力する。
【0026】
生成部13は、音声信号S3を用いて複数のフレームを生成する部分である。生成部13は、図6に示すように、音声信号S3を512サンプリングごとに30%ずつシフトさせながら関数H(ハミング窓)を乗算して複数のフレームを生成する。図6は、シフト後の音声信号の波形と関数Hとを示すグラフである。
【0027】
具体的には、生成部13は、下式(2)によってフレームを生成する。
【数2】
上式(2)において、Preciseはサンプリング数(512)を示し、pは次数を示す。生成部13は、音声信号S3の時系列順に、フレームを生成すると共に、時系列順にフレームにフレームナンバーを割り当てる。すなわち、フレームナンバーN(Nは正の整数)のフレームは、フレームナンバーN−1のフレームにおける後方部分の70%ほどを含み、音声信号S3においてフレームナンバーN−1のフレームに後続する部分に対応する信号を30%ほど含む。生成部13は、生成した複数のフレームを算出部15へ出力する。
【0028】
算出部15は、各フレームに対応するゼロクロス数を算出する部分である。算出部15は、各フレームのノイズを除去すると共に各フレームに対応するゼロクロス数を算出する。ゼロクロス数とは、ノイズを除去した信号の波形とグラフの横軸との交点の数である。算出部15は、まず、フレームごとに図7(a)に示す自己相関関数を算出する。図7(a)は、フレームの自己相関関数を示す。具体的には、算出部15は、XtXt−τ+1平均が0の定常時系列データ{x(t)|t=0,…,N−1}が与えられた場合に、下式(3)を用いて自己相関関数を算出する。
【数3】
【0029】
更に、算出部15は、算出した自己相関関数を3連連続で移動平均させて、図7(b)に示す平均自己相関関数を算出する。図7(b)は、図7(a)の自己相関関数の移動平均をとった平均自己相関関数を示す。算出部15は、平均自己相関関数を利用して、各フレームのゼロクロス数を算出する。算出部15は、算出したゼロクロス数と、該当するフレームのフレームナンバーとを識別部17へ出力する。
【0030】
識別部17は、フレームナンバーN−1のフレームに対応するゼロクロス数とフレームナンバーNのフレームに対応するゼロクロス数との比較に基づいてフレームナンバーNのフレームによって示される音が無声音か有声音かを識別する部分である。
【0031】
より具体的には、識別部17は、フレームナンバーN−1のフレームに対応するゼロクロス数とフレームナンバーNのフレームに対応するゼロクロス数との差が所定の値より大きい場合に、フレームナンバーNのフレームが示す音が無声音であると識別する。また、識別部17は、フレームナンバーN−1のフレームに対応するゼロクロス数とフレームナンバーNのフレームに対応するゼロクロス数との差が所定の値より小さい場合に、フレームナンバーNのフレームが示す音が有声音であると識別する。
【0032】
より具体的に図8を参照して説明する。図8は、各フレームのゼロクロス数を示す図である。フレームのゼロクロス数が、図8の左から、「13」「20」「24」「30」「25」「30」「39」「8」と比較的変動している領域は、ゼロクロス数変化の安定しないフレーム域Aである。
【0033】
フレーム域Aに含まれる各フレームのゼロクロス数は、直前のフレームのゼロクロス数との差が比較的大きい。よって、識別部17は、フレーム域Aに含まれる各フレームが示す音を無声音と識別する。すなわち、識別部17は、ゼロクロス数の変動が大きいフレームが示す音を無声音と識別する。なお、図8に示されるフレーム域Aの波形は、無声音である子音「s」を示す。
【0034】
フレームのゼロクロス数が、上記フレーム域Aに続いて図8の左から、「7」「8」「8」「8」と比較的安定している領域は、ゼロクロス数変化の安定したフレーム域Bである。
【0035】
フレーム域Bに含まれる各フレームのゼロクロス数は、直前のフレームのゼロクロス数との差が比較的小さい。よって、識別部17は、フレーム域Bに含まれる各フレームが示す音を有声音と識別する。すなわち、識別部17は、ゼロクロス数の変動が小さいフレームが示す音を有声音と識別する。なお、図8示されるフレーム域Bの波形は、有声音である母音「a」を示す。
【0036】
また、図9は、フレームのゼロクロス数の変動を示すグラフである。横軸がフレームナンバーを示し、縦軸がフレームのゼロクロス数を示す。曲線X1及び曲線X2それぞれが、音声信号のゼロクロス数の変動を示す。
【0037】
曲線X1の領域Y1は、ゼロクロス数の変動が大きいので、識別部17は、領域Y1に含まれるフレームが示す各音を無声音であると識別する。また、曲線X2の領域Y2は、ゼロクロス数の変動が小さいので、識別部17は、領域Y2に含まれるフレームが示す各音を有声音であると識別する。このようにして、識別部17は、フレーム毎のゼロクロス数の変動を検出して、フレームが示す音が無声音か又は有声音かを識別する。
【0038】
無声音は、有声音と比較して周期性が乏しいのでフレーム毎のゼロクロス数の変動が大きい。また、有声音は、無声音と比較して周期性を有するのでフレーム毎のゼロクロス数の変化が小さい。よって、上述したように、フレーム毎のゼロクロス数の変動を検出することにより、フレームが示す音が無声音か有声音か識別することができる。
【0039】
引き続いて、図10を参照して、音声信号に基づいて音を識別する際の上記音声識別装置10の動作を説明すると共に、本実施形態に係る音声識別方法を説明する。図10は、本実施形態に係る音声識別装置の動作を示すフローチャートである。
【0040】
識別処理を開始すると、音声識別システム1が録音モードに移行して「.wavファイル」が投入される(S21)。録音モードに移行すると、入力された音声信号S1の発話区間が、検出部11によって検出される(S22)。発話区間の音声信号S2が検出されると、音声信号S2の波形に対するプリエンファシスが、検出部11によってなされる(S23)。
【0041】
音声信号S2がプリエンファシスされると、フレームが、プリエンファシスされた音声信号S3に基づいて生成部13によって生成される(S24)。フレームが生成されると、自己相関関数が、フレーム毎に算出部15によって算出される(S25)。自己相関関数が算出されると、自己相関関数の移動平均が、算出部15によって算出される(S26)。
【0042】
移動平均が算出されると、フレームナンバー0のフレームのゼロクロス数が、算出部15によって算出される(S27)。フレームナンバーiのフレームのゼロクロス数が、算出部15によって算出される(S28)。
【0043】
フレームナンバーi−1のフレームのゼロクロス数とフレームナンバーiのフレームのゼロクロス数との差が所定値より大きいと識別部17によって判断される(S29でYES)と、フレームナンバーiのフレームが示す音(音素)が無声音であると識別部17によって識別される(S30)。
【0044】
フレームナンバーi−1のフレームのゼロクロス数とフレームナンバーiのフレームのゼロクロス数との差が所定値より小さいと識別部17によって判断される(S29でNO)と、フレームナンバーiのフレームが示す音(音素)が有声音であると識別部17によって識別される(S31)。
【0045】
音が無声音か有声音か識別されると、フレームナンバーiをプラスする(S32)。識別対象のフレームが発話区間の最終フレームではない場合(S33でNO)は、ステップS28へ戻り、識別対象のフレームが発話区間の最終フレームとなるまで繰り返す。
【0046】
識別対象のフレームが発話区間の最終フレームである場合(S33でYES)は、識別処理を終了する。このようにして、発話区間の音声信号が示す音がそれぞれ有声音か無声音か識別される。
【0047】
本実施形態によれば、フレームナンバーN−1のフレームに対応するゼロクロス数とフレームナンバーNのフレームに対応するゼロクロス数との比較に基づいてフレームナンバーNのフレームによって示される音が無声音か有声音かを識別する。よってゼロクロス数の変動に基づいてフレームによって示される音を識別することができる。すなわち、音声信号が示す音が無声音か有声音かをより簡易かつより正確に識別することができる。
【0048】
また本実施形態によれば、識別部17が、フレームナンバーN−1のフレームに対応するゼロクロス数とフレームナンバーNのフレームに対応するゼロクロス数との差が所定の値より大きい場合に、フレームナンバーNのフレームの示す音が無声音であると識別する。この場合、ゼロクロス数の変動が比較的大きい領域に含まれるフレームによって示される音を無声音であると識別できるので、音を的確に識別することができる。
【0049】
また本実施形態によれば、識別部17が、フレームナンバーN−1のフレームに対応するゼロクロス数とフレームナンバーNのフレームに対応するゼロクロス数との差が所定の値より小さい場合に、フレームナンバーNのフレームの示す音が有声音であると識別する。この場合、ゼロクロス数の変動が比較的小さい領域に含まれるフレームによって示される音を有声音であると識別できるので、音を的確に識別することができる。
【0050】
上記音声識別装置10を用いて日本語の子音について識別試験を行った。図11は、本実施形態に係る音声識別装置を用いた識別試験結果を示す表である。図11において、「○」が音声識別装置10による識別が正確であったことを示し、「×」が音声識別装置10による識別が不正確であったことを示す。図11の識別試験結果によれば、音声識別装置10を用いた音声識別の的中率は9割程度である。
【0051】
従来の音声識別方法として知られる変形相関法の的中率は、8割程度である。変形相関法は、入力された音声信号の波形に対して、自己相関関数を求めた後、線形予測分析を行い、次数分の線形予測係数を求める。次数分の線形予測係数とは、現サンプル値について、過去の複数のサンプリング値との相関で表せる程度を示す基準である。その後、変形相関法は、予測残差を求めて予測残差のピークを検出し、ピーク間の時間距離を測定し、その測定結果に基づいて識別を行う。変形相関法は、このように複雑な操作を要するため、識別に時間がかかる。
【0052】
図11の識別試験結果によれば、本実施形態の音声識別装置10は、従来の変形相関法を用いた場合と同程度以上の正確さで音声信号が示す音が無声音か有声音かを識別することができる。また、本実施形態の音声識別装置10は、変形相関法を用いた場合よりも簡易かつ迅速な方法で音声信号が示す音が無声音か有声音かを識別することができる。
【0053】
上述した本実施形態では、互いに隣接するフレームのゼロクロス数を比較対象としたが、本発明の実施の形態はこれに限られず、互いに近接する(近くにある)フレームのゼロクロス数を比較対象としていればよい。本実施形態では30%ずつシフトさせながらフレームを生成したが、例えばシフト量を少なくしてより細かくフレーミングをすることも好ましい。このようにフレーム間隔を短くした場合には、データの相互関連性を阻害しない範囲で2つ以上前のフレームを比較対照としてもよい。このように互いに近接するフレーム、すなわちデータの相互関連性を阻害しない程度に近くに存在するフレームのゼロクロス数を比較対照とすることも好ましい。
【図面の簡単な説明】
【0054】
【図1】本実施形態に係る音声識別システムの構成図である。
【図2】本実施形態に係る音声識別装置の機能ブロック図である。
【図3】本実施形態に係る音声識別装置が入力した音声信号の波形を示すグラフである。
【図4】プリエンファシス前及び後の音声信号の波形を示すグラフである。
【図5】プリエンファシス前及び後の音声信号のスペクトルを示すグラフである。
【図6】シフト後の音声信号の波形とハミング窓とを示すグラフである。
【図7】フレームの自己相関関数を示すグラフである。
【図8】各フレームのゼロクロス数を示す図である。
【図9】フレームのゼロクロス数の変動を示すグラフである。
【図10】本実施形態に係る音声識別装置の動作を示すフローチャートである。
【図11】本実施形態に係る音声識別装置を用いた識別試験結果を示す表である。
【符号の説明】
【0055】
1…音声識別システム、3…マイク10…音声識別装置、11…検出部、13…生成部、15…算出部、17…識別部。
【技術分野】
【0001】
本発明は、音声識別装置及び音声識別方法に関する。
【背景技術】
【0002】
入力した音声信号によって示される音が無声音か有声音かを識別する音声識別技術がある。音声識別技術は、音声認識又は音声合成等に用いられる。このような音声識別技術として、下記特許文献1には、所定区間の音声信号のゼロクロス数と予め設定したゼロクロス数の閾値とに基づいて、所定区間の音声信号が無声音を示すか、又は有声音を示すか識別する技術が記載されている。
【特許文献1】特開2003−256000号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、無声音を示す所定区間の音声信号のゼロクロス数は、有声音を示す所定区間の音声信号のゼロクロス数より大きい場合もあれば、小さい場合もある。よって、所定区間の音声信号のゼロクロス数を用いる場合、無声音と有声音を識別するための適当な閾値を設定するのは困難である。
【0004】
また、音声識別方法として変形相関法が知られている。変形相関法は、入力された音声信号の波形に対して、自己相関関数を求めた後、線形予測分析を行い、次数分の線形予測係数を求める。その後、変形相関法では、予測残差を求めて予測残差のピークを検出し、ピーク間の時間距離を測定し、測定結果に基づいて音声の識別を行う。
【0005】
変形相関法は、このように複雑な操作を要するため、音声の識別速度が遅くなる。よって、変形相関法では、リアルタイムな対話システムに用いられる音声認識及び音声合成には対応できない。
【0006】
そこで本発明では、音声信号が示す音素が無声音か有声音かを正確かつ迅速に識別可能な音声識別装置及び音声識別方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明者らは、研究の結果、無声音の音声信号は、有声音の音声信号と比較して周期性が乏しく、ゼロクロス数の変動が大きいことを見出した。本発明者らは、このゼロクロス数の変動に着目して研究を進めることで本願発明を想起したものである。
【0008】
本発明の音声識別装置は、時間軸に沿った音声信号を、それぞれの切り出し開始時刻をずらして複数のフレームに切り出すフレーム生成手段と、当該切り出された複数のフレームそれぞれに対応するゼロクロス数を算出するゼロクロス算出手段と、当該算出されたゼロクロス数に基づいて、複数のフレームそれぞれにおけるゼロクロス数を、複数のフレームそれぞれに近接するフレームにおけるゼロクロス数と比較するゼロクロス比較手段と、当該比較結果に基づいて、複数のフレームそれぞれに対応する音素が無声音か有声音かを識別する音素識別手段と、を備える。
【0009】
本発明の音声識別方法は、フレーム生成手段が、時間軸に沿った音声信号をそれぞれの切り出し開始時刻をずらして複数のフレームに切り出す第1ステップと、ゼロクロス算出手段が、第1ステップにおいて切り出された複数のフレームそれぞれに対応するゼロクロス数を算出する第2ステップと、第2ステップにおいて算出されたゼロクロス数に基づいて、ゼロクロス比較手段が、複数のフレームそれぞれにおけるゼロクロス数を複数のフレームそれぞれに近接するフレームにおけるゼロクロス数と比較する第3ステップと、第3ステップにおける比較結果に基づいて、音素識別手段が、複数のフレームそれぞれに対応する音素が無声音か有声音かを識別する第4ステップと、を備える。
【0010】
本発明によれば、音声信号をフレームに切り出して、近接するフレーム同士のゼロクロス数を比較した結果に基づいて、複数のフレームそれぞれに対応する音素が無声音か有声音かを識別している。従って、各フレームのゼロクロス数と閾値とを比較する場合に比較して正確に識別することが出来ると共に、変形相関法に比較して迅速に識別することができる。
【0011】
また本発明の音声識別装置では、音素識別手段は、複数のフレームそれぞれにおけるゼロクロス数と、複数のフレームそれぞれに近接するフレームにおけるゼロクロス数との差分値が予め定められた閾値を超えた場合に、後方のフレームに対応する音素が無声音であると識別することも好ましい。
【0012】
また本発明の音声識別方法では、第4ステップにおいて、音素識別手段は、複数のフレームそれぞれにおけるゼロクロス数と、複数のフレームそれぞれに近接するフレームにおけるゼロクロス数との差分値が予め定められた閾値を超えた場合に、後方のフレームに対応する音素が無声音であると識別することも好ましい。
【0013】
また本発明の音声識別装置では、音素識別手段は、複数のフレームそれぞれにおけるゼロクロス数と、複数のフレームそれぞれに近接するフレームにおけるゼロクロス数との差分値が予め定められた閾値より小さい場合に、後方のフレームに対応する音素が有声音であると識別することも好ましい。
【0014】
また本発明の音声識別方法では、第4ステップにおいて、音素識別手段は、複数のフレームそれぞれにおけるゼロクロス数と、複数のフレームそれぞれに近接するフレームにおけるゼロクロス数との差分値が予め定められた閾値より小さい場合に、後方のフレームに対応する音素が有声音であると識別することも好ましい。
【0015】
この好ましい態様によれば、近接するフレーム同士のゼロクロス数をより正確に比較することができる。
【発明の効果】
【0016】
本発明によれば、近接するフレームのゼロクロス数の変動に基づいて無声音か有声音かを識別するので、音声信号が示す音が無声音か有声音かを正確かつ迅速に識別可能である。
【発明を実施するための最良の形態】
【0017】
本発明の知見は、例示のみのために示された添付図面を参照して以下の詳細な記述を考慮することによって容易に理解することができる。引き続いて、添付図面を参照しながら本発明の実施の形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【0018】
本発明の実施形態に係る音声識別システムについて図1を参照しながら説明する。図1は、本実施形態に係る音声識別システムの構成図である。本実施形態に係る音声識別システム1は、マイク3と、音声識別装置10とを備えて、人が話す言葉を構成するそれぞれの音が有声音か無声音かを識別するシステムである。
【0019】
マイク3は、コンデンサマイクであり、人が話す言葉の音の振動をサンプリングし、音声信号に変換して音声識別装置10へ出力する。音声識別装置10は、マイク3から入力した音声信号に基づいて、人が話す言葉を構成するそれぞれの音が有声音か無声音かを識別する装置である。
【0020】
本発明の実施形態に係る音声識別装置10についてより詳細に説明する。音声識別装置10は、物理的な構成要素として、CPU、メモリー、電源、及び入出力インターフェイス部を備えるパーソナルコンピュータである。また、図2に示すように、音声識別装置10は、機能的な構成要素として、図2に示すように、検出部11と、生成部(フレーム生成手段)13と、算出部(ゼロクロス算出手段)15と、識別部(ゼロクロス比較手段、音素識別手段)17とを備える。図2は、本実施形態に係る音声識別装置の機能ブロック図である。引き続いて、機能的な各構成要素についてそれぞれ説明する。
【0021】
検出部11は、図3に示すように、入力した音声信号S1から発話区間を検出する部分である。図3は、本実施形態に係る音声識別装置が入力した音声信号の波形を示すグラフである。検出部11は、音声信号S1を入力し、音声信号の振幅に対して、発話区間の語始及び語尾共に2段階のラッチをかけて発話区間を検出する。
【0022】
すなわち、検出部11は、図3の波形において、振幅が立ち上がった点Aから一定時間内に振幅励起が起こった(点B)場合に、振幅が立ち上がった点Aを発話区間の語始とする。また、検出部11は、振幅が立ち下がった点Dから300ms以上振幅の励起がない場合に、振幅が立ち下がった点Dを発話区間の語尾とする。検出部11は、図3に示す波形においては、振幅が立ち下がった点Cから300ms以内に振幅の励起があるので、振幅が立ち下がった点Cを発話区間の語尾と認識しない。
【0023】
検出部11は、発話区間を検出後、図4に示すように、検出した発話区間の音声信号S2に対してプリエンファシスを行い、音声信号S3を生成する。図4(a)は、プリエンファシス前の音声信号S2の波形を示すグラフである。図4(b)は、プリエンファシス後の音声信号S3の波形を示すグラフである。プリエンファシスとは、音声信号の高域を強調することである。プリエンファシス後の音声信号S3の振幅は、プリエンファシス前の音声信号S2の振幅より大きい。
【0024】
具体的には、検出部11は、音声信号S2のプリエンファシスを下式(1)によって行う。
【数1】
上式(1)において、HSR[]はプリエンファシス前の音声信号を示し、HPrSR[]はプリエンファシス後の音声信号を示す。
【0025】
図5(a)は、プリエンファシス前の音声信号S2のペクトルを示すグラフである。図5(b)は、プリエンファシス後の音声信号S3のペクトルを示すグラフである。図5に示すように、プリエンファシスによって、より高域の信号が増幅されている。プリエンファシス前の音声信号における特定の周波数のパワー「la」,「lb」が強調されてより大きなパワー「la’」「lb’」となっている。検出部11は、プリエンファシスを行った音声信号S3を生成部13へ出力する。
【0026】
生成部13は、音声信号S3を用いて複数のフレームを生成する部分である。生成部13は、図6に示すように、音声信号S3を512サンプリングごとに30%ずつシフトさせながら関数H(ハミング窓)を乗算して複数のフレームを生成する。図6は、シフト後の音声信号の波形と関数Hとを示すグラフである。
【0027】
具体的には、生成部13は、下式(2)によってフレームを生成する。
【数2】
上式(2)において、Preciseはサンプリング数(512)を示し、pは次数を示す。生成部13は、音声信号S3の時系列順に、フレームを生成すると共に、時系列順にフレームにフレームナンバーを割り当てる。すなわち、フレームナンバーN(Nは正の整数)のフレームは、フレームナンバーN−1のフレームにおける後方部分の70%ほどを含み、音声信号S3においてフレームナンバーN−1のフレームに後続する部分に対応する信号を30%ほど含む。生成部13は、生成した複数のフレームを算出部15へ出力する。
【0028】
算出部15は、各フレームに対応するゼロクロス数を算出する部分である。算出部15は、各フレームのノイズを除去すると共に各フレームに対応するゼロクロス数を算出する。ゼロクロス数とは、ノイズを除去した信号の波形とグラフの横軸との交点の数である。算出部15は、まず、フレームごとに図7(a)に示す自己相関関数を算出する。図7(a)は、フレームの自己相関関数を示す。具体的には、算出部15は、XtXt−τ+1平均が0の定常時系列データ{x(t)|t=0,…,N−1}が与えられた場合に、下式(3)を用いて自己相関関数を算出する。
【数3】
【0029】
更に、算出部15は、算出した自己相関関数を3連連続で移動平均させて、図7(b)に示す平均自己相関関数を算出する。図7(b)は、図7(a)の自己相関関数の移動平均をとった平均自己相関関数を示す。算出部15は、平均自己相関関数を利用して、各フレームのゼロクロス数を算出する。算出部15は、算出したゼロクロス数と、該当するフレームのフレームナンバーとを識別部17へ出力する。
【0030】
識別部17は、フレームナンバーN−1のフレームに対応するゼロクロス数とフレームナンバーNのフレームに対応するゼロクロス数との比較に基づいてフレームナンバーNのフレームによって示される音が無声音か有声音かを識別する部分である。
【0031】
より具体的には、識別部17は、フレームナンバーN−1のフレームに対応するゼロクロス数とフレームナンバーNのフレームに対応するゼロクロス数との差が所定の値より大きい場合に、フレームナンバーNのフレームが示す音が無声音であると識別する。また、識別部17は、フレームナンバーN−1のフレームに対応するゼロクロス数とフレームナンバーNのフレームに対応するゼロクロス数との差が所定の値より小さい場合に、フレームナンバーNのフレームが示す音が有声音であると識別する。
【0032】
より具体的に図8を参照して説明する。図8は、各フレームのゼロクロス数を示す図である。フレームのゼロクロス数が、図8の左から、「13」「20」「24」「30」「25」「30」「39」「8」と比較的変動している領域は、ゼロクロス数変化の安定しないフレーム域Aである。
【0033】
フレーム域Aに含まれる各フレームのゼロクロス数は、直前のフレームのゼロクロス数との差が比較的大きい。よって、識別部17は、フレーム域Aに含まれる各フレームが示す音を無声音と識別する。すなわち、識別部17は、ゼロクロス数の変動が大きいフレームが示す音を無声音と識別する。なお、図8に示されるフレーム域Aの波形は、無声音である子音「s」を示す。
【0034】
フレームのゼロクロス数が、上記フレーム域Aに続いて図8の左から、「7」「8」「8」「8」と比較的安定している領域は、ゼロクロス数変化の安定したフレーム域Bである。
【0035】
フレーム域Bに含まれる各フレームのゼロクロス数は、直前のフレームのゼロクロス数との差が比較的小さい。よって、識別部17は、フレーム域Bに含まれる各フレームが示す音を有声音と識別する。すなわち、識別部17は、ゼロクロス数の変動が小さいフレームが示す音を有声音と識別する。なお、図8示されるフレーム域Bの波形は、有声音である母音「a」を示す。
【0036】
また、図9は、フレームのゼロクロス数の変動を示すグラフである。横軸がフレームナンバーを示し、縦軸がフレームのゼロクロス数を示す。曲線X1及び曲線X2それぞれが、音声信号のゼロクロス数の変動を示す。
【0037】
曲線X1の領域Y1は、ゼロクロス数の変動が大きいので、識別部17は、領域Y1に含まれるフレームが示す各音を無声音であると識別する。また、曲線X2の領域Y2は、ゼロクロス数の変動が小さいので、識別部17は、領域Y2に含まれるフレームが示す各音を有声音であると識別する。このようにして、識別部17は、フレーム毎のゼロクロス数の変動を検出して、フレームが示す音が無声音か又は有声音かを識別する。
【0038】
無声音は、有声音と比較して周期性が乏しいのでフレーム毎のゼロクロス数の変動が大きい。また、有声音は、無声音と比較して周期性を有するのでフレーム毎のゼロクロス数の変化が小さい。よって、上述したように、フレーム毎のゼロクロス数の変動を検出することにより、フレームが示す音が無声音か有声音か識別することができる。
【0039】
引き続いて、図10を参照して、音声信号に基づいて音を識別する際の上記音声識別装置10の動作を説明すると共に、本実施形態に係る音声識別方法を説明する。図10は、本実施形態に係る音声識別装置の動作を示すフローチャートである。
【0040】
識別処理を開始すると、音声識別システム1が録音モードに移行して「.wavファイル」が投入される(S21)。録音モードに移行すると、入力された音声信号S1の発話区間が、検出部11によって検出される(S22)。発話区間の音声信号S2が検出されると、音声信号S2の波形に対するプリエンファシスが、検出部11によってなされる(S23)。
【0041】
音声信号S2がプリエンファシスされると、フレームが、プリエンファシスされた音声信号S3に基づいて生成部13によって生成される(S24)。フレームが生成されると、自己相関関数が、フレーム毎に算出部15によって算出される(S25)。自己相関関数が算出されると、自己相関関数の移動平均が、算出部15によって算出される(S26)。
【0042】
移動平均が算出されると、フレームナンバー0のフレームのゼロクロス数が、算出部15によって算出される(S27)。フレームナンバーiのフレームのゼロクロス数が、算出部15によって算出される(S28)。
【0043】
フレームナンバーi−1のフレームのゼロクロス数とフレームナンバーiのフレームのゼロクロス数との差が所定値より大きいと識別部17によって判断される(S29でYES)と、フレームナンバーiのフレームが示す音(音素)が無声音であると識別部17によって識別される(S30)。
【0044】
フレームナンバーi−1のフレームのゼロクロス数とフレームナンバーiのフレームのゼロクロス数との差が所定値より小さいと識別部17によって判断される(S29でNO)と、フレームナンバーiのフレームが示す音(音素)が有声音であると識別部17によって識別される(S31)。
【0045】
音が無声音か有声音か識別されると、フレームナンバーiをプラスする(S32)。識別対象のフレームが発話区間の最終フレームではない場合(S33でNO)は、ステップS28へ戻り、識別対象のフレームが発話区間の最終フレームとなるまで繰り返す。
【0046】
識別対象のフレームが発話区間の最終フレームである場合(S33でYES)は、識別処理を終了する。このようにして、発話区間の音声信号が示す音がそれぞれ有声音か無声音か識別される。
【0047】
本実施形態によれば、フレームナンバーN−1のフレームに対応するゼロクロス数とフレームナンバーNのフレームに対応するゼロクロス数との比較に基づいてフレームナンバーNのフレームによって示される音が無声音か有声音かを識別する。よってゼロクロス数の変動に基づいてフレームによって示される音を識別することができる。すなわち、音声信号が示す音が無声音か有声音かをより簡易かつより正確に識別することができる。
【0048】
また本実施形態によれば、識別部17が、フレームナンバーN−1のフレームに対応するゼロクロス数とフレームナンバーNのフレームに対応するゼロクロス数との差が所定の値より大きい場合に、フレームナンバーNのフレームの示す音が無声音であると識別する。この場合、ゼロクロス数の変動が比較的大きい領域に含まれるフレームによって示される音を無声音であると識別できるので、音を的確に識別することができる。
【0049】
また本実施形態によれば、識別部17が、フレームナンバーN−1のフレームに対応するゼロクロス数とフレームナンバーNのフレームに対応するゼロクロス数との差が所定の値より小さい場合に、フレームナンバーNのフレームの示す音が有声音であると識別する。この場合、ゼロクロス数の変動が比較的小さい領域に含まれるフレームによって示される音を有声音であると識別できるので、音を的確に識別することができる。
【0050】
上記音声識別装置10を用いて日本語の子音について識別試験を行った。図11は、本実施形態に係る音声識別装置を用いた識別試験結果を示す表である。図11において、「○」が音声識別装置10による識別が正確であったことを示し、「×」が音声識別装置10による識別が不正確であったことを示す。図11の識別試験結果によれば、音声識別装置10を用いた音声識別の的中率は9割程度である。
【0051】
従来の音声識別方法として知られる変形相関法の的中率は、8割程度である。変形相関法は、入力された音声信号の波形に対して、自己相関関数を求めた後、線形予測分析を行い、次数分の線形予測係数を求める。次数分の線形予測係数とは、現サンプル値について、過去の複数のサンプリング値との相関で表せる程度を示す基準である。その後、変形相関法は、予測残差を求めて予測残差のピークを検出し、ピーク間の時間距離を測定し、その測定結果に基づいて識別を行う。変形相関法は、このように複雑な操作を要するため、識別に時間がかかる。
【0052】
図11の識別試験結果によれば、本実施形態の音声識別装置10は、従来の変形相関法を用いた場合と同程度以上の正確さで音声信号が示す音が無声音か有声音かを識別することができる。また、本実施形態の音声識別装置10は、変形相関法を用いた場合よりも簡易かつ迅速な方法で音声信号が示す音が無声音か有声音かを識別することができる。
【0053】
上述した本実施形態では、互いに隣接するフレームのゼロクロス数を比較対象としたが、本発明の実施の形態はこれに限られず、互いに近接する(近くにある)フレームのゼロクロス数を比較対象としていればよい。本実施形態では30%ずつシフトさせながらフレームを生成したが、例えばシフト量を少なくしてより細かくフレーミングをすることも好ましい。このようにフレーム間隔を短くした場合には、データの相互関連性を阻害しない範囲で2つ以上前のフレームを比較対照としてもよい。このように互いに近接するフレーム、すなわちデータの相互関連性を阻害しない程度に近くに存在するフレームのゼロクロス数を比較対照とすることも好ましい。
【図面の簡単な説明】
【0054】
【図1】本実施形態に係る音声識別システムの構成図である。
【図2】本実施形態に係る音声識別装置の機能ブロック図である。
【図3】本実施形態に係る音声識別装置が入力した音声信号の波形を示すグラフである。
【図4】プリエンファシス前及び後の音声信号の波形を示すグラフである。
【図5】プリエンファシス前及び後の音声信号のスペクトルを示すグラフである。
【図6】シフト後の音声信号の波形とハミング窓とを示すグラフである。
【図7】フレームの自己相関関数を示すグラフである。
【図8】各フレームのゼロクロス数を示す図である。
【図9】フレームのゼロクロス数の変動を示すグラフである。
【図10】本実施形態に係る音声識別装置の動作を示すフローチャートである。
【図11】本実施形態に係る音声識別装置を用いた識別試験結果を示す表である。
【符号の説明】
【0055】
1…音声識別システム、3…マイク10…音声識別装置、11…検出部、13…生成部、15…算出部、17…識別部。
【特許請求の範囲】
【請求項1】
時間軸に沿った音声信号を、それぞれの切り出し開始時刻をずらして複数のフレームに切り出すフレーム生成手段と、
当該切り出された複数のフレームそれぞれに対応するゼロクロス数を算出するゼロクロス算出手段と、
当該算出されたゼロクロス数に基づいて、前記複数のフレームそれぞれにおけるゼロクロス数を、前記複数のフレームそれぞれに近接するフレームにおけるゼロクロス数と比較するゼロクロス比較手段と、
当該比較結果に基づいて、前記複数のフレームそれぞれに対応する音素が無声音か有声音かを識別する音素識別手段と、
を備える音声識別装置。
【請求項2】
前記音素識別手段は、前記複数のフレームそれぞれにおけるゼロクロス数と、前記複数のフレームそれぞれに近接するフレームにおけるゼロクロス数との差分値が予め定められた閾値を超えた場合に、後方のフレームに対応する音素が無声音であると識別する、請求項1に記載の音声識別装置。
【請求項3】
前記音素識別手段は、前記複数のフレームそれぞれにおけるゼロクロス数と、前記複数のフレームそれぞれに近接するフレームにおけるゼロクロス数との差分値が予め定められた閾値より小さい場合に、後方のフレームに対応する音素が有声音であると識別する、請求項1に記載の音声識別装置。
【請求項4】
フレーム生成手段が、時間軸に沿った音声信号をそれぞれの切り出し開始時刻をずらして複数のフレームに切り出す第1ステップと、
ゼロクロス算出手段が、前記第1ステップにおいて切り出された複数のフレームそれぞれに対応するゼロクロス数を算出する第2ステップと、
前記第2ステップにおいて算出されたゼロクロス数に基づいて、ゼロクロス比較手段が、前記複数のフレームそれぞれにおけるゼロクロス数を前記複数のフレームそれぞれに近接するフレームにおけるゼロクロス数と比較する第3ステップと、
前記第3ステップにおける比較結果に基づいて、音素識別手段が、前記複数のフレームそれぞれに対応する音素が無声音か有声音かを識別する第4ステップと、
を備える音声識別方法。
【請求項5】
前記第4ステップにおいて、前記音素識別手段は、前記複数のフレームそれぞれにおけるゼロクロス数と、前記複数のフレームそれぞれに近接するフレームにおけるゼロクロス数との差分値が予め定められた閾値を超えた場合に、後方のフレームに対応する音素が無声音であると識別する、請求項4に記載の音声識別方法。
【請求項6】
前記第4ステップにおいて、前記音素識別手段は、前記複数のフレームそれぞれにおけるゼロクロス数と、前記複数のフレームそれぞれに近接するフレームにおけるゼロクロス数との差分値が予め定められた閾値より小さい場合に、後方のフレームに対応する音素が有声音であると識別する、請求項4に記載の音声識別方法。
【請求項1】
時間軸に沿った音声信号を、それぞれの切り出し開始時刻をずらして複数のフレームに切り出すフレーム生成手段と、
当該切り出された複数のフレームそれぞれに対応するゼロクロス数を算出するゼロクロス算出手段と、
当該算出されたゼロクロス数に基づいて、前記複数のフレームそれぞれにおけるゼロクロス数を、前記複数のフレームそれぞれに近接するフレームにおけるゼロクロス数と比較するゼロクロス比較手段と、
当該比較結果に基づいて、前記複数のフレームそれぞれに対応する音素が無声音か有声音かを識別する音素識別手段と、
を備える音声識別装置。
【請求項2】
前記音素識別手段は、前記複数のフレームそれぞれにおけるゼロクロス数と、前記複数のフレームそれぞれに近接するフレームにおけるゼロクロス数との差分値が予め定められた閾値を超えた場合に、後方のフレームに対応する音素が無声音であると識別する、請求項1に記載の音声識別装置。
【請求項3】
前記音素識別手段は、前記複数のフレームそれぞれにおけるゼロクロス数と、前記複数のフレームそれぞれに近接するフレームにおけるゼロクロス数との差分値が予め定められた閾値より小さい場合に、後方のフレームに対応する音素が有声音であると識別する、請求項1に記載の音声識別装置。
【請求項4】
フレーム生成手段が、時間軸に沿った音声信号をそれぞれの切り出し開始時刻をずらして複数のフレームに切り出す第1ステップと、
ゼロクロス算出手段が、前記第1ステップにおいて切り出された複数のフレームそれぞれに対応するゼロクロス数を算出する第2ステップと、
前記第2ステップにおいて算出されたゼロクロス数に基づいて、ゼロクロス比較手段が、前記複数のフレームそれぞれにおけるゼロクロス数を前記複数のフレームそれぞれに近接するフレームにおけるゼロクロス数と比較する第3ステップと、
前記第3ステップにおける比較結果に基づいて、音素識別手段が、前記複数のフレームそれぞれに対応する音素が無声音か有声音かを識別する第4ステップと、
を備える音声識別方法。
【請求項5】
前記第4ステップにおいて、前記音素識別手段は、前記複数のフレームそれぞれにおけるゼロクロス数と、前記複数のフレームそれぞれに近接するフレームにおけるゼロクロス数との差分値が予め定められた閾値を超えた場合に、後方のフレームに対応する音素が無声音であると識別する、請求項4に記載の音声識別方法。
【請求項6】
前記第4ステップにおいて、前記音素識別手段は、前記複数のフレームそれぞれにおけるゼロクロス数と、前記複数のフレームそれぞれに近接するフレームにおけるゼロクロス数との差分値が予め定められた閾値より小さい場合に、後方のフレームに対応する音素が有声音であると識別する、請求項4に記載の音声識別方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2007−292940(P2007−292940A)
【公開日】平成19年11月8日(2007.11.8)
【国際特許分類】
【出願番号】特願2006−119436(P2006−119436)
【出願日】平成18年4月24日(2006.4.24)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
【公開日】平成19年11月8日(2007.11.8)
【国際特許分類】
【出願日】平成18年4月24日(2006.4.24)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
[ Back to top ]