以下、発音評定装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素やステップは同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、比較対象の音声と入力音声の類似度の評定を精度高く、かつ高速にできる発音評定装置について説明する。特に、本発音評定装置は、入力音声のフレームに対する最適状態の事後確率を、動的計画法を用いて算出することから、当該事後確率をDAP(Dynamic A Posteriori Probability)と呼び、DAPに基づく類似度計算法および発音評定装置をDAPSと呼ぶ。
また、本実施の形態における発音評定装置は、例えば、語学学習や物真似練習などに利用できる。図1は、本実施の形態における発音評定装置のブロック図である。本発音評定装置は、入力受付部101、教師データ格納部102、音声受付部103、フレーム区分部104、フレーム音声データ取得部105、評定部106、出力部107を具備する。評定部106は、最適状態決定手段1061、最適状態確率値取得手段1062、評定値算出手段1063を具備する。
入力受付部101は、発音評定装置の動作開始を指示する動作開始指示や、入力した音声の評定結果の出力態様の変更を指示する出力態様変更指示や、処理を終了する終了指示などの入力を受け付ける。かかる指示等の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。入力受付部101は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
教師データ格納部102は、教師データとして比較される対象の音声に関するデータであり、音韻毎の隠れマルコフモデル(HMM)に基づくデータを1以上格納している。教師データは、音韻毎の隠れマルコフモデル(HMM)を連結したHMMに基づくデータであることが好適である。また、教師データは、入力される音声を構成する音素に対応するHMMを、入力順序に従って連結されているHMMに基づくデータであることが好適である。ただし、教師データは、必ずしも、音韻毎のHMMを連結したHMMに基づくデータである必要はない。教師データは、全音素のHMMの、単なる集合であっても良い。また、教師データは、必ずしもHMMに基づくデータである必要はない。教師データは、単一ガウス分布モデルや、確率モデル(GMM:ガウシャンミクスチャモデル)や、統計モデルなど、他のモデルに基づくデータでも良い。HMMに基づくデータは、例えば、フレーム毎に、状態識別子と遷移確率の情報を有する。また、HMMに基づくデータは、例えば、複数の学習対象言語を母国語として話す外国人が発声した2以上のデータから学習した(推定した)モデルでも良い。教師データ格納部102は、ハードディスクやROMなどの不揮発性の記録媒体が好適であるが、RAMなどの揮発性の記録媒体でも実現可能である。
音声受付部103は、音声の入力を受け付ける。音声受付部103は、例えば、マイクのドライバーソフトで実現され得る。また、なお、音声受付部103は、マイクとそのドライバーから実現されると考えても良い。音声は、マイクから入力されても良いし、磁気テープやCD−ROMなどの記録媒体から読み出すことにより入力されても良い。
フレーム区分部104は、音声受付部103が受け付けた音声を、フレームに区分する。フレーム区分部104は、通常、MPUやメモリ等から実現され得る。フレーム区分部104の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
フレーム音声データ取得部105は、フレーム区分部104が区分したフレーム毎の音声データであるフレーム音声データを1以上得る。フレーム音声データ取得部105は、通常、MPUやメモリ等から実現され得る。フレーム音声データ取得部105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
評定部106は、教師データ格納部102の教師データと、フレーム音声データ取得部105が取得した1以上のフレーム音声データに基づいて、音声受付部103が受け付けた音声の評定を行う。評定方法の具体例は、後述する。評定部106は、通常、MPUやメモリ等から実現され得る。評定部106の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部107は、評定部106の評定結果を出力する。出力部107の出力態様は、種々考えられる。出力とは、ディスプレイへの表示、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積等を含む概念である。出力部107は、例えば、評定部106の評定結果を視覚的に表示する。出力部107は、例えば、フレーム単位、または/および音素・単語単位、または/および発声全体の評定結果を視覚的に表示する。出力部107は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部107は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
評定部106を構成している最適状態決定手段1061は、1以上のフレーム音声データのうちの少なくとも一のフレーム音声データに対する最適状態を決定する。最適状態決定手段1061は、例えば、全音韻HMMから、比較される対象(学習対象)の単語や文章などの音声を構成する1以上の音素に対応するHMMを取得し、当該取得した1以上のHMMを、音素の順序で連結したデータ(比較される対象の音声に関するデータであり、音韻毎の隠れマルコフモデルを連結したHMMに基づくデータ)を構成する。そして、構成した当該データ、および取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、所定のフレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。なお、最適状態を毛低するアルゴリズムは、例えば、Viterbiアルゴリズムである。また、教師データは、上述の比較される対象の音声に関するデータであり、音韻毎の隠れマルコフモデルを連結したHMMに基づくデータと考えても良いし、連結される前のデータであり、全音韻HMMのデータと考えても良い。
最適状態確率値取得手段1062は、最適状態決定手段1061が決定した最適状態における確率値を取得する。
評定値算出手段1063は、最適状態確率値取得手段1062が取得した確率値をパラメータとして音声の評定値を算出する。評定値算出手段1063は、上記確率値を如何に利用して、評定値を算出するかは問わない。評定値算出手段1063は、例えば、最適状態確率値取得手段1062が取得した確率値と、当該確率値に対応するフレームの全状態における確率値の総和をパラメータとして音声の評定値を算出する。評定値算出手段1063は、ここでは、通常、フレームごとに評定値を算出する。
最適状態決定手段1061、最適状態確率値取得手段1062、評定値算出手段1063は、通常、MPUやメモリ等から実現され得る。最適状態決定手段1061等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、本発音評定装置の動作について図2のフローチャートを用いて説明する。
(ステップS201)入力受付部101は、発音評定装置の動作開始を指示する動作開始指示を受け付けたか否かを判断する。動作開始指示を受け付ければステップS202に行き、動作開始指示を受け付けなければステップS214に飛ぶ。
(ステップS202)音声受付部103は、音声の入力を受け付けたか否かを判断する。音声の入力を受け付ければステップS203に行き、音声の入力を受け付けなければステップS213に飛ぶ。
(ステップS203)フレーム区分部104は、ステップS202で受け付けた音声のデータを図示しないバッファに一時格納する。
(ステップS204)フレーム区分部104は、バッファに一時格納した音声データをフレームに区分する。かかる段階で、区分されたフレーム毎の音声データであるフレーム音声データが構成されている。フレーム区分部104が行うフレーム分割の処理は、例えば、フレーム音声データ取得部105がフレーム音声データを取り出す際の前処理であり、入力された音声のデータを、すべてのフレームに一度に分割するとは限らない。
(ステップS205)フレーム音声データ取得部105は、カウンタiに1を代入する。
(ステップS206)フレーム音声データ取得部105は、i番目のフレームが存在するか否かを判断する。i番目のフレームが存在すればステップS207に行き、i番目のフレームが存在しなければステップS208に行く。
(ステップS207)フレーム音声データ取得部105は、i番目のフレーム音声データを取得する。フレーム音声データの取得とは、例えば、当該分割された音声データを音声分析し、特徴ベクトルデータを抽出することである。なお、フレーム音声データは、例えば、入力された音声データをフレーム分割されたデータである。また、フレーム音声データは、例えば、当該分割された音声データから音声分析され、抽出された特徴ベクトルデータを有する。本特徴ベクトルデータは、例えば、三角型フィルタを用いたチャネル数24のフィルタバンク出力を離散コサイン変換したMFCCであり、その静的パラメータ、デルタパラメータおよびデルタデルタパラメータをそれぞれ12次元、さらに正規化されたパワーとデルタパワーおよびデルタデルタパワー(39次元)を有する。
(ステップS208)フレーム音声データ取得部105は、カウンタiを1、インクリメントする。ステップS206に戻る。
(ステップS209)最適状態決定手段1061は、全フレームの最適状態を決定する。最適状態決定手段1061が最適状態を決定するアルゴリズムは、例えば、Viterbiアルゴリズムによる。Viterbiアルゴリズムは、公知のアルゴリズムであるので、詳細な説明は省略する。
(ステップS210)最適状態確率値取得手段1062は、全フレームの全状態の前向き尤度、および後向き尤度を算出する。最適状態確率値取得手段1062は、例えば、全てのHMMを用いて、フォワード・バックワードアルゴリズムにより、前向き尤度、および後向き尤度を算出する。
(ステップS211)最適状態確率値取得手段1062は、ステップS210で取得した前向き尤度、および後向き尤度を用いて、最適状態の確率値(最適状態確率値)を、すべて算出する。
(ステップS212)評定値算出手段1063は、ステップS211で算出した1以上の最適状態確率値から、1以上のフレームの音声の評定値を算出する。評定値算出手段1063が評定値を算出する関数は問わない。評定値算出手段1063は、例えば、取得した最適状態確率値と、当該最適状態確率値に対応するフレームの全状態における確率値の総和をパラメータとして音声の評定値を算出する。詳細については、後述する。
(ステップS213)出力部107は、ステップS212における評定結果(ここでは、音声の評定値)を、設定されている出力モードに従って、出力する。ステップS202に戻る。出力モードとは、評定値を数値で画面に表示するモード、評定値の遷移をグラフで画面に表示するモード、評定値を音声で出力するモード、評定値が所定の数値より低い場合に警告を示す情報を表示するモードなど、何でも良い。なお、ここでの出力モードは、ステップS214で設定されるモードである。
(ステップS214)音声受付部103は、タイムアウトか否かを判断する。つまり、音声受付部103は、所定の時間以上、音声の入力を受け付けなかったか否かを判断する。タイムアウトであればステップS201に戻り、タイムアウトでなければステップS214に戻る。
(ステップS215)入力受付部101は、出力態様変更指示を受け付けたか否かを判断する。出力態様変更指示を受け付ければステップS216に行き、出力態様変更指示を受け付なければステップS217に飛ぶ。出力態様変更指示は、上述した出力モードを有する情報である。
(ステップS216)出力部107は、ステップS215で受け付けた出力態様変更指示が有する出力モードを示す情報を書き込み、出力モードを設定する。ステップS201に戻る。
(ステップS217)入力受付部101は、終了指示を受け付けたか否かを判断する。終了指示を受け付ければ処理を終了し、終了指示を受け付なければステップS201に戻る。
なお、図2のフローチャートにおいて、本発音評定装置は、出力モードの設定機能を有しなくても良い。
以下、本実施の形態における発音評定装置の具体的な動作について説明する。本具体例において、発音評定装置が語学学習に利用される場合について説明する。
まず、本発音評定装置において、図示しない手段により、ネイティブ発音の音声データベースからネイティブ発音の音韻HMMを学習しておく。ここで、音韻の種類数をLとし、l番目の音韻に対するHMMをλlとする。なお、かかる学習の処理については、公知技術であるので、詳細な説明は省略する。なお、HMMの仕様について、図3に示す。なお、HMMの仕様は、他の実施の形態における具体例の説明においても同様である。ただし、HMMの仕様が、他の仕様でも良いことは言うまでもない。
そして、学習したL種類の音韻HMMから、学習対象の単語や文章などの音声を構成する1以上の音素に対応するHMMを取得し、当該取得した1以上のHMMを、音素の順序で連結した教師データを構成する。そして、当該教師データを教師データ格納部102に保持しておく。ここでは、例えば、比較される対象の音声は、単語「right」の音声である。
次に、学習者が、語学学習の開始の指示である動作開始指示を入力する。かかる指示は、例えば、マウスで所定のボタンを押下することによりなされる。
次に、学習者は、学習対象の音声「right」を発音する。そして、音声受付部103は、学習者が発音した音声の入力を受け付ける。
次に、フレーム区分部104は、音声受付部103が受け付けた音声を、短時間フレームに区分する。なお、フレームの間隔は、予め決められている、とする。
そして、フレーム音声データ取得部105は、フレーム区分部104が区分した音声データを、スペクトル分析し、特徴ベクトル系列「O=o1,o2,・・・,oT」を算出する。なお、Tは、系列長である。ここで、特徴ベクトル系列は、各フレームの特徴ベクトルの集合である。また、特徴ベクトルは、例えば、三角型フィルタを用いたチャネル数24のフィルタバンク出力を離散コサイン変換したMFCCであり、その静的パラメータ、デルタパラメータおよびデルタデルタパラメータをそれぞれ12次元、さらに正規化されたパワーとデルタパワーおよびデルタデルタパワー(39次元)を有する。また、スペクトル分析において、ケプストラム平均除去を施すことは好適である。なお、音声分析条件を図4の表に示す。なお、音声分析条件は、他の実施の形態における具体例の説明においても同様である。ただし、音声分析条件が、他の条件でも良いことは言うまでもない。
次に、最適状態決定手段1061は、取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、所定のフレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。最適状態決定手段1061が最適状態を決定するアルゴリズムは、例えば、Viterbiアルゴリズムによる。かかる場合、最適状態決定手段1061は、上記で連結したHMMを用いて最適状態を決定する。最適状態決定手段1061は、2以上のフレームの最適状態である最適状態系列を求めることとなる。
次に、最適状態確率値取得手段1062は、以下の数式1により、最適状態における最適状態確率値(γ
t(q
t *))を算出する。なお、γ
t(q
t *)は、状態jの事後確率関数γ
t(j)のjにq
t *を代入した値である。そして、状態jの事後確率関数γ
t(j)は、数式2を用いて算出される。この確率値(γ
t(j))は、t番目の特徴ベクトルo
tが状態jから生成された事後確率であり、動的計画法を用いて算出される。なお、jは、状態を識別する状態識別子である。
数式1において、q
tは、o
tに対する状態識別子を表す。この確率値(γ
t(j))は、HMMの最尤推定におけるBaum−Welchアルゴリズムの中で表れる占有度数に対応する。
数式2は、数式1を変形したものである。
数式2において、「αt(j)」「βt(j)」は、全部のHMMを用いて、forward−backwardアルゴリズムにより算出される。「αt(j)」は前向き尤度、「βt(j)」は後向き尤度である。Baum−Welchアルゴリズム、forward−backwardアルゴリズムは、公知のアルゴリズムであるので、詳細な説明は省略する。
また、数式2において、Nは、全HMMに渡る状態の総数を示す。
なお、評定部106は、まず最適状態を求め、次に、最適状態の確率値(なお、確率値は、0以上、1以下である。)を求めても良いし、評定部106は、まず、全状態の確率値を求め、その後、特徴ベクトル系列の各特徴ベクトルに対する最適状態を求め、当該最適状態に対応する確率値を求めても良い。
次に、評定値算出手段1063は、例えば、上記の取得した最適状態確率値と、当該最適状態確率値に対応するフレームの全状態における確率値の総和をパラメータとして音声の評定値を算出する。かかる場合、もし学習者のtフレーム目に対応する発声が、教師データが示す発音(例えば、正しいネイティブな発音)に近ければ、数式2の(2)式の分子の値が、他の全ての可能な音韻の全ての状態と比較して大きくなり、結果的に最適状態の確率値(評定値)が大きくなる。逆にその区間が、教師データが示す発音に近くなければ、評定値は小さくなる。なお、どのネイティブ発音にも近くないような場合は、評定値はほぼ1/Nに等しくなる。Nは全ての音韻HMMにおける全ての状態の数であるから、通常、大きな値となり、この評定値は十分小さくなる。また、ここでは、評定値は最適状態における確率値と全ての可能な状態における確率値との比率で定義されている。したがって、話者性や収音環境の違いにより多少のスペクトルの変動があったとしても、学習者が正しい発音をしていれば、その変動が相殺され評定値が高いスコアを維持する。よって、評定値算出手段1063は、最適状態確率値取得手段1062が取得した確率値と、当該確率値に対応するフレームの全状態における確率値の総和をパラメータとして音声の評定値を算出することは、極めて好適である。
かかる評定値算出手段1063が算出した評定値(「DAPスコア」とも言う。)を、図5、図6に示す。図5、図6において、横軸は分析フレーム番号、縦軸はスコアを%で表わしたものである。太い破線は音素境界,細い点線は状態境界(いずれもViterbiアルゴリズムで求まったもの)を表わしており,図の上部に音素名を表記している。図5は、アメリカ人男性による英語「right」の発音のDAPスコアを示す。なお、評定値を示すグラフの横軸、縦軸は、後述するグラフにおいても同様である。
図6は、日本人男性による英語「right」の発音のDAPスコアを示す。アメリカ人の発音は、日本人の発音と比較して、基本的にスコアが高い。また、図5において、状態の境界において所々スコアが落ち込んでいることがわかる。
そして、出力部107は、評定部106の評定結果を出力する。具体的には、例えば、出力部107は、図7に示すような態様で、評定結果を出力する。つまり、出力部107は、各フレームにおける発音の良さを表すスコア(スコアグラフ)として、各フレームの評定値を表示する。その他、出力部107は、学習対象の単語の表示(単語表示)、音素要素の表示(音素表示)、教師データの波形の表示(教師波形)、学習者の入力した発音の波形の表示(ユーザ波形)を表示しても良い。なお、図7において、「録音」ボタンを押下すれば、動作開始指示が入力されることとなり、「停止」ボタンを押下すれば、終了指示が入力されることとなる。なお、本発音評定装置は、学習対象の単語(図7の「word1」など)や、音素(図7の「p1」など)や、教師波形を出力されるためのデータを予め格納している、とする。
また、図7において、フレーム単位以外に、音素単位、単語単位、発声全体の評定結果を表示しても良い。上記の処理において、フレーム単位の評定値を算出するので、単語単位、発声全体の評定結果を得るためには、フレーム単位の1以上の評定値をパラメータとして、単語単位、発声全体の評定値を算出する必要がある。かかる算出式は問わないが、例えば、単語を構成するフレーム単位の1以上の評定値の平均値を単語単位の評定値とする、ことが考えられる。
なお、図7において、発音評定装置は、波形表示(教師波形またはユーザ波形)の箇所においてクリックを受け付けると、再生メニューを表示し、音素区間内ではその音素またはその区間が属する単語、波形全体を再生し、単語区間外(無音部)では波形全体のみを再生するようにしても良い。
また、出力部107の表示は、図8に示すような態様でも良い。図8において、音素ごとのスコア、単語のスコア、総合スコアが、数字で表示されている。
なお、出力部107の表示は、図5、図6のような表示でも良いことは言うまでもない。
以上、本実施の形態によれば、ユーザが入力した発音を、教師データに対して、如何に似ているかを示す類似度(評定値)を算出し、出力できる。
また、本実施の形態によれば、連結されたHMMである連結HMMを用いて最適状態を求め、評定値を算出するので、高速に評定値を求めることができる。したがって、上記の具体例で述べたように、リアルタイムに、フレームごと、音素ごと、単語ごとの評定値を出力できる。また、本実施の形態によれば、動的計画法に基づいた事後確率を確率値として算出するので、さらに高速に評定値を求めることができる。また、本実施の形態によれば、フレームごとに確率値を算出するので、上述したように、フレーム単位だけではなく、または/および音素・単語単位、または/および発声全体の評定結果を出力でき、出力態様の自由度が高い。
また、本実施の形態によれば、発音評定装置は、語学学習に利用することを主として説明したが、物真似練習などに利用できる。つまり、本発音評定装置は、比較される対象の音声に関するデータとの類似度を精度良く、高速に評定し、出力でき、そのアプリケーションは問わない。
また、本実施の形態において、音声の入力を受け付けた後または停止ボタン操作後に、スコアリング処理を実行するかどうかをユーザに問い合わせ、スコアリング処理を行うとの指示を受け付けた場合のみ、図8に示すような音素スコア、単語スコア、総合スコアを出力するようにしても良い。
また、本実施の形態において、教師データは、比較される対象の音声に関するデータであり、音韻毎の隠れマルコフモデル(HMM)に基づくデータであるとして、主として説明したが、必ずしもHMMに基づくデータである必要はない。教師データは、単一ガウス分布モデルや、確率モデル(GMM:ガウシャンミクスチャモデル)や統計モデルなど、他のモデルに基づくデータでも良い。かかることは、他の実施の形態においても同様である。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における発音評定装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、音声の入力を受け付ける音声受付ステップと、前記音声受付ステップで受け付けた音声を、フレームに区分するフレーム区分ステップと、前記区分されたフレーム毎の音声データであるフレーム音声データを1以上得るフレーム音声データ取得ステップと、格納されているデータであり、音韻毎の隠れマルコフモデル(HMM)に基づくデータである教師データと前記1以上のフレーム音声データに基づいて、前記音声受付ステップで受け付けた音声の評定を行う評定ステップと、前記評定ステップにおける評定結果を出力する出力ステップを実行させるためのプログラム、である。
また、上記プログラムにおいて、前記教師データは、音韻毎の隠れマルコフモデル(HMM)を連結したHMMに基づくデータであり、前記評定ステップは、前記1以上のフレーム音声データのうちの少なくとも一の最適状態を決定する最適状態決定サブステップと、前記最適状態決定サブステップで決定した最適状態における確率値を取得する最適状態確率値取得サブステップと、前記最適状態確率値取得サブステップで取得した確率値をパラメータとして音声の評定値を算出する評定値算出サブステップを具備するプログラム、である。
なお、上記プログラムにおいて、評定値算出サブステップにおいて、前記最適状態確率値取得サブステップで取得した確率値と、当該確率値に対応するフレームの全状態における確率値の総和をパラメータとして音声の評定値を算出することは好適である。
(実施の形態2)
本実施の形態における発音評定装置は、実施の形態1の発音評定装置と比較して、評定部における評定アルゴリズムが異なる。本実施の形態において、評定値は、各フレームにおける、すべての音韻の中で最適な音韻の事後確率(確率値)を表すように算出される。本実施の形態における発音評定装置が算出する事後確率を、実施の形態1におけるDAPに対してp−DAPと呼ぶ。
図9は、本実施の形態における発音評定装置のブロック図である。本発音評定装置は、入力受付部101、教師データ格納部102、音声受付部103、フレーム区分部104、フレーム音声データ取得部105、評定部906、出力部107を具備する。評定部906は、最適状態決定手段1061、音韻確率値取得手段9062、評定値算出手段9063を具備する。
音韻確率値取得手段9062は、最適状態決定手段1061が決定した最適状態を有する音韻全体の状態における1以上の確率値を取得する。ここで1以上の確率値とは、1つ以上の確率値の意味である。
評定値算出手段9063は、音韻確率値取得手段9062が取得した1以上の確率値をパラメータとして音声の評定値を算出する。評定値算出手段9063は、例えば、音韻確率値取得手段9062が取得した1以上の確率値の総和をパラメータとして音声の評定値を算出する。
音韻確率値取得手段9062、および評定値算出手段9063は、通常、MPUやメモリ等から実現され得る。音韻確率値取得手段9062等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、本発音評定装置の動作について図10のフローチャートを用いて説明する。図10のフローチャートにおいて、図2と異なるステップについてのみ説明する。
(ステップS1001)音韻確率値取得手段9062は、全フレームの全状態の前向き尤度と後向き尤度を算出する。そして、全フレーム、全状態の確率値を得る。具体的には、音韻確率値取得手段9062は、例えば、各特徴ベクトルが対象の状態から生成された事後確率を算出する。この事後確率は、HMMの最尤推定におけるBaum−Welchアルゴリズムの中で現れる占有度数に対応する。Baum−Welchアルゴリズムは、公知のアルゴリズムであるので、説明は省略する。
(ステップS1002)音韻確率値取得手段9062は、全フレームの最適状態確率値を算出する。
(ステップS1003)音韻確率値取得手段9062は、カウンタiに1を代入する。
(ステップS1004)音韻確率値取得手段9062は、i番目の最適状態が存在するか否かを判断する。i番目の最適状態が存在すればステップS1005に行き、i番目の最適状態が存在しなければステップS202に戻る。
(ステップS1005)音韻確率値取得手段9062は、i番目の最適状態を含む音韻全体の確率値をすべて取得する。
(ステップS1006)評定値算出手段9063は、ステップS1005で取得した1以上の確率値に基づいて、音声の評定値を算出する。評定値算出手段9063は、例えば、音韻確率値取得手段9062が取得した1以上の確率値の総和をパラメータとして音声の評定値を算出する。
(ステップS1007)出力部107は、ステップS1006で算出した評定値を出力する。
(ステップS1008)音韻確率値取得手段9062は、カウンタiを1、インクリメントする。ステップS1004に戻る。
以下、本実施の形態における発音評定装置の具体的な動作について説明する。本実施の形態において、評定値の算出アルゴリズムが実施の形態1とは異なるので、その動作を中心に説明する。
まず、学習者が、語学学習の開始の指示である動作開始指示を入力した後、学習対象の音声「right」を発音する。そして、音声受付部103は、学習者が発音した音声の入力を受け付ける。次に、フレーム区分部104は、音声受付部103が受け付けた音声を、短時間フレームに区分する。
そして、フレーム音声データ取得部105は、フレーム区分部104が区分した音声データを、スペクトル分析し、特徴ベクトル系列「O=o1,o2,・・・,oT」を算出する。
次に、音韻確率値取得手段9062は、各フレームの各状態の事後確率(確率値)を算出する。確率値の算出は、上述した数式1、数式2により算出できる。
次に、最適状態決定手段1061は、取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、各フレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。つまり、最適状態決定手段1061は、最適状態系列を得る。
次に、音韻確率値取得手段9062は、フレーム毎に、当該フレームに対応する最適状態を含む音韻全体の確率値をすべて取得する。そして、評定値算出手段9063は、上記取得した1以上の確率値に基づいて、音声の評定値を算出する。具体的には、評定値算出手段9063は、数式3により評定値を算出する。
なお、数式3において、P(i)は、i番目の状態を有しているHMMの持つ全状態の集合を示す。
かかる評定値算出手段9063が算出した評定値(「p−DAPスコア」とも言う。)を、図11、図12に示す。図11は、アメリカ人男性による英語「right」の発音のp−DAPスコアを示す。図12は、日本人男性による英語「right」の発音のp−DAPスコアを示す。アメリカ人の発音は、日本人の発音と比較して、基本的にスコアが高い。また、図11において、音素境界でスコアの落ち込みがあるものの、p−DAPは本来発音の良好なアメリカ人発音に対して,高いスコアをDAPより安定して出力していることがわかる。かかる判断は、図5のグラフと図11のグラフを比較して判断できる。また、図11において、音素/r/のスコアが低いが,この発音を聴いてみたところ/r/の発声が若干不明瞭であった。
そして、出力部107は、算出したフレームごとの評定値を、順次出力する。かかる出力例は、図7または図8である。なお、出力部107は、図11、図12のようなグラフを出力しても良いことは言うまでもない。
以上、本実施の形態によれば、ユーザが入力した発音を、教師データに対して、如何に似ているかを示す類似度(評定値)を算出し、出力できる。
また、本実施の形態によれば、連結されたHMMである連結HMMを用いて最適状態を求め、評定値を算出するので、高速に評定値を求めることができる。したがって、上記の具体例で述べたように、リアルタイムに、フレームごと、音素ごと、単語ごとの評定値を出力できる。また、本実施の形態によれば、動的計画法に基づいた事後確率を確率値として算出するので、さらに高速に評定値を求めることができる。また、本実施の形態によれば、フレームごとに確率値を算出するので、上述したように、フレーム単位だけではなく、音素・単語単位、または/および発声全体の評定結果を出力でき、出力態様の自由度が高い。
また、本実施の形態によれば、評定値を、各フレームにおいて、すべての音韻の中で最適な音韻の事後確率(確率値)を表しており、実施の形態1におけるような状態単位のDAPと比較して、本来、測定したい類似度を精度良く、安定して求めることができる。つまり、実施の形態1において、DAPは、全ての可能な状態に対する最適状態の事後確率を計算する。そして、総状態数Nは、通常、非常に大きくなり、入力音声によっては、評定値(DAPのスコア)が大きく低下する。つまり、例えば、あるフレームが存在する音韻内の2つの状態の過渡部にそのフレームが対応してしまえば、評定値が小さくなる。一方、音素に対する類似性を求める本実施の形態によれば、教師データの音韻との類似度(状態との類似度ではない)を測ることができ、好適である。
さらに、本実施の形態における発音評定装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、音声の入力を受け付ける音声受付ステップと、前記音声受付ステップで受け付けた音声を、フレームに区分するフレーム区分ステップと、前記区分されたフレーム毎の音声データであるフレーム音声データを1以上得るフレーム音声データ取得ステップと、格納されているデータであり、音韻毎の隠れマルコフモデル(HMM)に基づくデータである教師データと前記1以上のフレーム音声データに基づいて、前記音声受付ステップで受け付けた音声の評定を行う評定ステップと、前記評定ステップにおける評定結果を出力する出力ステップを実行させるためのプログラム、である。
また、上記プログラムにおいて、前記教師データは、音韻毎の隠れマルコフモデル(HMM)を連結したHMMに基づくデータであり、前記評定ステップは、前記1以上のフレーム音声データのうちの少なくとも一の最適状態を決定する最適状態決定サブステップと、前記最適状態決定サブステップで決定した最適状態を有する音韻全体の状態における1以上の確率値を取得する音韻確率値取得サブステップと、前記音韻確率値取得サブステップで取得した1以上の確率値をパラメータとして音声の評定値を算出する評定値算出サブステップを具備するプログラム、である。さらに、上記プログラムにおける評定値算出サブステップにおいて、前記音韻確率値取得サブステップで取得した1以上の確率値の総和をパラメータとして音声の評定値を算出することは好適である。これは、音韻確率値取得サブステップで取得した1以上の確率値の総和を音声の評定値とすることも含む。
(実施の形態3)
本実施の形態における発音評定装置は、実施の形態1、2の発音評定装置と比較して、評定部における評定アルゴリズムが異なる。本実施の形態において、評定値は、発音区間ごとに算出される。本実施の形態における発音評定装置が算出する事後確率を、実施の形態1におけるDAPに対してt−DAPと呼ぶ。
図13は、本実施の形態における発音評定装置のブロック図である。本発音評定装置は、入力受付部101、教師データ格納部102、音声受付部103、フレーム区分部104、フレーム音声データ取得部105、評定部1306、出力部107を具備する。評定部1306は、最適状態決定手段1061、発音区間確率値取得手段13062、評定値算出手段13063を具備する。
発音区間確率値取得手段13062は、最適状態決定手段1061が決定した最適状態の確率値を、発音区間毎に取得する。ここで、発音区間とは、音韻、音節、単語など、発音の一まとまりを構成する区間である。
評定値算出手段13063は、発音区間確率値取得手段13062が取得した1以上の発音区間毎の1以上の確率値をパラメータとして音声の評定値を算出する。評定値算出手段13063は、例えば、発音区間確率値取得手段13062が取得した各発音区間の1以上の確率値の時間平均値を、発音区間毎に算出し、1以上の時間平均値を得て、当該1以上の時間平均値をパラメータとして音声の評定値を算出する。
発音区間確率値取得手段13062、および評定値算出手段13063は、通常、MPUやメモリ等から実現され得る。発音区間確率値取得手段13062等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、本発音評定装置の動作について図14のフローチャートを用いて説明する。図14のフローチャートにおいて、図10と異なるステップについてのみ説明する。
(ステップS1401)発音区間確率値取得手段13062は、jに1を代入する。
(ステップS1402)発音区間確率値取得手段13062は、次の評定対象の発音区間である、j番目の発音区間が存在するか否かを判断する。j番目の発音区間が存在すればステップS1403に行き、j番目の発音区間が存在しなければステップS202に行く。
(ステップS1403)発音区間確率値取得手段13062は、j番目の発音区間に対応する1以上の最適状態の確率値をすべて取得する。
(ステップS1404)評定値算出手段13063は、ステップS1403で取得した1以上の発音区間毎の1以上の確率値をパラメータとして音声の評定値を算出する。例えば、ステップS1403で取得した1以上の確率値の平均値(時間平均値)を算出する。
(ステップS1405)出力部107は、ステップS1404で算出した確率値の平均値(評定値)を出力する。
(ステップS1406)発音区間確率値取得手段13062は、カウンタjを1、インクリメントする。ステップS1402に戻る。
以下、本実施の形態における発音評定装置の具体的な動作について説明する。本実施の形態において、評定値の算出アルゴリズムが実施の形態2とは異なるので、その動作を中心に説明する。
まず、学習者が、語学学習の開始の指示である動作開始指示を入力した後、学習対象の音声を発音する。そして、音声受付部103は、学習者が発音した音声の入力を受け付ける。次に、フレーム区分部104は、音声受付部103が受け付けた音声を、短時間フレームに区分する。
そして、フレーム音声データ取得部105は、フレーム区分部104が区分した音声データを、スペクトル分析し、特徴ベクトル系列「O=o1,o2,・・・,oT」を算出する。
次に、最適状態決定手段1061は、取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、各フレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。つまり、最適状態決定手段1061は、最適状態系列を得る。
次に、発音区間確率値取得手段13062は、各フレームの各状態の事後確率(確率値)を算出する。なお、確率値の算出は、上述した数式1、数式2により算出できる。
そして、発音区間確率値取得手段13062は、発音区間に対応する1以上の最適状態の確率値をすべて取得する。そして、評定値算出手段13063は、取得した1以上の確率値の平均値(時間平均値)を算出する。具体的には、評定値算出手段13063は、数式4により評定値を算出する。
かかる評定値算出手段13063が算出した評定値(「t−DAPスコア」とも言う。)を、図15の表に示す。図15において、アメリカ人男性と日本人男性の評定結果を示す。PhonemeおよびWordは,t−DAPにおける時間平均の範囲を示す。図15において、アメリカ人男性の発音の評定値が日本人男性の発音の評定値より高く、良好な評定結果が得られている。
そして、出力部107は、算出した発音区間ごと(例えば、音素毎)の評定値を、順次出力する。かかる出力例は、図16である。
以上、本実施の形態によれば、ユーザが入力した発音を、教師データに対して、如何に似ているかを示す類似度(評定値)を算出し、出力できる。
また、本実施の形態によれば、連結されたHMMである連結HMMを用いて最適状態を求め、評定値を算出するので、高速に評定値を求めることができる。したがって、上記の具体例で述べたように、リアルタイムに、フレームごと、音素ごと、単語ごとの評定値を出力できる。また、本実施の形態によれば、動的計画法に基づいた事後確率を確率値として算出するので、さらに高速に評定値を求めることができる。また、本実施の形態によれば、フレームごとに確率値を算出するので、上述したように、フレーム単位だけではなく、音素・単語単位、または/および発声全体の評定結果を出力でき、出力態様の自由度が高い。
また、本実施の形態によれば、評定値を、発音区間の単位で算出でき、実施の形態1におけるような状態単位のDAPと比較して、本来、測定したい類似度を精度良く、安定して求めることができる。
さらに、本実施の形態における発音評定装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、音声の入力を受け付ける音声受付ステップと、前記音声受付ステップで受け付けた音声を、フレームに区分するフレーム区分ステップと、前記区分されたフレーム毎の音声データであるフレーム音声データを1以上得るフレーム音声データ取得ステップと、格納されているデータであり、音韻毎の隠れマルコフモデル(HMM)に基づくデータである教師データと前記1以上のフレーム音声データに基づいて、前記音声受付ステップで受け付けた音声の評定を行う評定ステップと、前記評定ステップにおける評定結果を出力する出力ステップを実行させるためのプログラム、である。
また、上記プログラムにおいて、前記教師データは、音韻毎の隠れマルコフモデル(HMM)を連結したHMMに基づくデータであり、前記評定ステップは、前記1以上のフレーム音声データの最適状態を決定する最適状態決定サブステップと、前記最適状態決定サブステップで決定した最適状態の確率値を、発音区間毎に取得する発音区間確率値取得サブステップと、前記発音区間確率値取得サブステップで取得した1以上の発音区間毎の1以上の確率値をパラメータとして音声の評定値を算出する評定値算出サブステップを具備するプログラム、である。
さらに、評定値算出サブステップは、前記発音区間確率値取得サブステップで取得した各発音区間の1以上の確率値の時間平均値を、発音区間毎に算出し、1以上の時間平均値を得て、当該1以上の時間平均値をパラメータとして音声の評定値を算出することが好適である。
(実施の形態4)
本実施の形態における発音評定装置は、実施の形態1、2、3の発音評定装置と比較して、評定部における評定アルゴリズムが異なる。本実施の形態において、評定値は、最適状態を含む音韻の中の全状態の確率値を発音区間で評価して、算出される。本実施の形態における発音評定装置が算出する事後確率を、実施の形態1におけるDAPに対してt-p−DAPと呼ぶ。
図17は、本実施の形態における発音評定装置のブロック図である。本発音評定装置は、入力受付部101、教師データ格納部102、音声受付部103、フレーム区分部104、フレーム音声データ取得部105、評定部1706、出力部107を具備する。評定部1706は、最適状態決定手段1061、発音区間フレーム音韻確率値取得手段17062、評定値算出手段17063を具備する。
発音区間フレーム音韻確率値取得手段17062は、最適状態決定手段1061が決定した各フレームの最適状態を有する音韻全体の状態における1以上の確率値を、発音区間毎に取得する。
評定値算出手段17063は、発音区間フレーム音韻確率値取得手段17062が取得した1以上の発音区間毎の1以上の確率値をパラメータとして音声の評定値を算出する。評定値算出手段17063は、例えば、最適状態決定手段1061が決定した各フレームの最適状態を有する音韻全体の状態における1以上の確率値の総和を、フレーム毎に得て、当該フレーム毎の確率値の総和に基づいて、発音区間毎の確率値の総和の時間平均値を1以上得て、当該1以上の時間平均値をパラメータとして音声の評定値を算出する。
発音区間フレーム音韻確率値取得手段17062、および評定値算出手段17063は、通常、MPUやメモリ等から実現され得る。発音区間フレーム音韻確率値取得手段17062等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、本発音評定装置の動作について図18のフローチャートを用いて説明する。図18のフローチャートにおいて、図14と異なるステップについてのみ説明する。
(ステップS1801)発音区間フレーム音韻確率値取得手段17062は、カウンタkに1を代入する。
(ステップS1802)発音区間フレーム音韻確率値取得手段17062は、k番目のフレームが、j番目の発音区間に存在するか否かを判断する。k番目のフレームが存在すればステップS1803に行き、k番目のフレームが存在しなければステップS1801106に飛ぶ。
(ステップS1803)発音区間フレーム音韻確率値取得手段17062は、k番目のフレームの最適状態を含む音韻の全ての確率値を取得する。
(ステップS1804)評定値算出手段17063は、ステップS1803で取得した1以上の確率値をパラメータとして、1フレームの音声の評定値を算出する。
(ステップS1805)発音区間フレーム音韻確率値取得手段17062は、kを1、インクメントする。ステップS1802に戻る。
(ステップS1806)評定値算出手段17063は、j番目の発音区間の評定値を算出する。評定値算出手段17063は、例えば、最適状態決定手段1061が決定した各フレームの最適状態を有する音韻全体の状態における1以上の確率値の総和を、フレーム毎に得て、当該フレーム毎の確率値の総和に基づいて、発音区間の確率値の総和の時間平均値を、当該発音区間の音声の評定値として算出する。
(ステップS1807)出力部107は、ステップS1806で算出した評定値を出力する。
(ステップS1808)発音区間フレーム音韻確率値取得手段17062は、jを1、インクメントする。ステップS1402に戻る。
以下、本実施の形態における発音評定装置の具体的な動作について説明する。本実施の形態において、評定値の算出アルゴリズムが実施の形態3とは異なるので、その動作を中心に説明する。
まず、学習者が、語学学習の開始の指示である動作開始指示を入力した後、学習対象の音声を発音する。そして、音声受付部103は、学習者が発音した音声の入力を受け付ける。次に、フレーム区分部104は、音声受付部103が受け付けた音声を、短時間フレームに区分する。
そして、フレーム音声データ取得部105は、フレーム区分部104が区分した音声データを、スペクトル分析し、特徴ベクトル系列「O=o1,o2,・・・,oT」を算出する。
次に、発音区間フレーム音韻確率値取得手段17062は、各フレームの各状態の事後確率(確率値)を算出する。確率値の算出は、上述した数式1、数式2により算出できる。
次に、最適状態決定手段1061は、取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、各フレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。つまり、最適状態決定手段1061は、最適状態系列を得る。なお、各フレームの各状態の事後確率(確率値)を算出と、最適状態の決定の順序は問わない。
次に、発音区間フレーム音韻確率値取得手段17062は、発音区間ごとに、当該発音区間に含まれる各フレームの最適状態を含む音韻の全ての確率値を取得する。そして、評定値算出手段17063は、各フレームの最適状態を含む音韻の全ての確率値の総和を、フレーム毎に算出する。そして、評定値算出手段17063は、フレーム毎に算出された確率値の総和を、発音区間毎に時間平均し、発音区間毎の評定値を算出する。具体的には、評定値算出手段17063は、数式5により評定値を算出する。
かかる評定値算出手段17063が算出した評定値(「t−p−DAPスコア」とも言う。)を、図19の表に示す。図19において、アメリカ人男性と日本人男性の評定結果を示す。PhonemeおよびWordは,t−p−DAPにおける時間平均の範囲を示す。ここでは、DAPの代わりにp−DAPの時間平均を採用したものである。図19において、アメリカ人男性の発音の評定値が日本人男性の発音の評定値より高く、良好な評定結果が得られている。
そして、出力部107は、算出した発音区間ごと(ここでは、音素毎)の評定値を、順次出力する。かかる出力例は、図16である。
以上、本実施の形態によれば、ユーザが入力した発音を、教師データに対して、如何に似ているかを示す類似度(評定値)を算出し、出力できる。
また、本実施の形態によれば、連結されたHMMである連結HMMを用いて最適状態を求め、評定値を算出するので、高速に評定値を求めることができる。したがって、上記の具体例で述べたように、リアルタイムに、発音区間ごとの評定値を出力できる。また、本実施の形態によれば、動的計画法に基づいた事後確率を確率値として算出するので、さらに高速に評定値を求めることができる。
また、本実施の形態によれば、評定値を、発音区間の単位で算出でき、実施の形態1におけるような状態単位のDAPと比較して、本来、測定したい類似度(発音区間の類似度)を精度良く、安定して求めることができる。
さらに、本実施の形態における発音評定装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、音声の入力を受け付ける音声受付ステップと、前記音声受付ステップで受け付けた音声を、フレームに区分するフレーム区分ステップと、前記区分されたフレーム毎の音声データであるフレーム音声データを1以上得るフレーム音声データ取得ステップと、格納されているデータであり、音韻毎の隠れマルコフモデル(HMM)に基づくデータである教師データと前記1以上のフレーム音声データに基づいて、前記音声受付ステップで受け付けた音声の評定を行う評定ステップと、前記評定ステップにおける評定結果を出力する出力ステップを実行させるためのプログラム、である。
また、上記プログラムにおいて、前記教師データは、音韻毎の隠れマルコフモデル(HMM)を連結したHMMに基づくデータであり、前記評定ステップは、前記1以上のフレーム音声データの最適状態を決定する最適状態決定サブステップと、前記最適状態決定サブステップで決定した各フレームの最適状態を有する音韻全体の状態における1以上の確率値を、発音区間毎に取得する発音区間フレーム音韻確率値取得サブステップと、前記発音区間フレーム音韻確率値取得サブステップで取得した1以上の発音区間毎の1以上の確率値をパラメータとして音声の評定値を算出する評定値算出サブステップを具備するプログラム、である。
以上の4つの実施の形態で算出した評定値は、図20において、それぞれ(1)〜(4)の類似度である。つまり、図20において、縦軸は、音韻毎の隠れマルコフモデル(HMM)を、比較対象の音素の順に連結したHMMである。図20の横軸は、入力音声の特徴ベクトル系列を示す。また、図20の実線は、最適状態系列である。そして、黒丸の(1)はDAP、斜線部の(2)はp−DAP、網掛け部の(3)はt−DAPを示す。tp−DAPは、発音区間において、最適状態を含む全音韻の状態の確率値に基づいて算出される。
(実施の形態5)
本実施の形態において、比較対象の音声と入力音声の類似度を精度高く評定できる発音評定装置について説明する。特に、本発音評定装置は、無音区間を検知し、無音区間を考慮した類似度評定が可能な発音評定装置である。
また、本実施の形態における発音評定装置は、例えば、語学学習や物真似練習などに利用できる。図21は、本実施の形態における発音評定装置のブロック図である。本発音評定装置は、入力受付部101、教師データ格納部102、音声受付部103、フレーム区分部104、フレーム音声データ取得部105、特殊音声検知部2101、評定部2102、出力部108を具備する。評定部2102は、無音データ格納手段21021、無音区間検出手段21022、最適状態決定手段1061、最適状態確率値取得手段1062、評定値算出手段21023を具備する。
特殊音声検知部2101は、フレーム毎の入力音声データに基づいて、特殊な音声が入力されたことを検知する。なお、ここで特殊な音声は、無音も含む。また、特殊音声検知部2101は、例えば、フレームの最適状態の確率値を、ある音素区間において取得し、ある音素区間の1以上の確率値の総和が所定の値より低い場合(想定されている音素ではない、と判断できる場合)、当該音素区間において特殊な音声が入力されたと、検知する。かかる検知の具体的なアルゴリズムの例は後述する。特殊音声検知部2101は、通常、MPUやメモリ等から実現され得る。特殊音声検知部2101の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
評定部2102は、教師データ格納部102の教師データと入力音声データと特殊音声検知部2106における検知結果に基づいて、音声受付部103が受け付けた音声の評定を行う。評定方法の具体例は、後述する。評定部2102は、通常、MPUやメモリ等から実現され得る。評定部2102の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
無音データ格納手段21021は、無音を示すデータであり、HMMに基づくデータである無音データを格納している。無音データ格納手段21021は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
無音区間検出手段21022は、フレーム音声データ取得部105が取得したフレーム音声データ、および無音データ格納手段21021の無音データに基づいて、無音の区間を検出する。無音区間検出手段21022は、フレーム音声データ取得部105が取得したフレーム音声データと無音データの類似度が所定の値以上である場合に、当該フレーム音声データは無音区間のデータであると判断しても良い。また、無音区間検出手段21022は、下記で述べる最適状態確率値取得手段1062が取得した確率値が所定の値以下であり、かつ、フレーム音声データ取得部105が取得したフレーム音声データと無音データの類似度が所定の値以上である場合に、当該フレーム音声データは無音区間のデータであると判断しても良い。
評定値算出手段21023は、無音区間検出手段21022が検出した無音区間を除いて、かつ最適状態確率値取得手段1062が取得した確率値をパラメータとして音声の評定値を算出する。なお、評定値算出手段21023は、上記確率値を如何に利用して、評定値を算出するかは問わない。評定値算出手段21023は、例えば、最適状態確率値取得手段1062が取得した確率値と、当該確率値に対応するフレームの全状態における確率値の総和をパラメータとして音声の評定値を算出する。評定値算出手段21023は、ここでは、通常、無音区間検出手段21022が検出した無音区間を除いて、フレームごとに評定値を算出する。なお、評定値算出手段21023は、かならずしも無音区間を除いて、評定値を算出する必要はない。評定値算出手段21023は、無音区間の影響を少なくするように評定値を算出しても良い。
無音区間検出手段21022、評定値算出手段21023は、通常、MPUやメモリ等から実現され得る。無音区間検出手段21022等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、本発音評定装置の動作について図22のフローチャートを用いて説明する。
(ステップS2201)評定値算出手段21023は、ステップS207で取得したi番目のフレーム音声データに対応する評定値(例えば、p−DAPスコア)を算出する。なお、p−DAPスコアの算出方法は、実施の形態2で述べたので、ここでの説明は省略する。
(ステップS2202)特殊音声検知部2101は、ステップS2201で算出した値が、所定の値より低いか否かを判断する。所定の値より低ければステップS2203に行き、所定の値より低くなければステップS2206に飛ぶ。
(ステップS2203)無音区間検出手段21022は、無音データと全教師データの確率値を取得する。
(ステップS2204)無音区間検出手段21022は、ステップS2203で取得した確率値の中で、無音データの確率値が最も高いか否かを判断する。無音データの確率値が最も高ければ(かかる場合、無音の区間であると判断する)ステップS2205に行き、無音データの確率値が最も高くなければステップS2206に行く。
(ステップS2205)無音区間検出手段21022は、カウンタiを1、インクリメントする。ステップS206に戻る。
(ステップS2206)出力部108は、ステップS2201で算出した評定値を出力する。
なお、図22のフローチャートにおいて、出力部108は、無音区間と判定した区間の評定値は出力しなかった(無音区間を無視した)が、特殊音声が検知された区間が無音区間である旨を明示したり、無音区間が存在する旨を明示したりする態様で出力しても良い。また、評定値算出手段21023は、発音区間や、それ以上の単位のスコアを算出する場合に、無音区間の評定値を無視して、スコアを算出することが好適であるが、無音区間の評定値の影響を、例えば、1/10にして、発音区間や発音全体のスコアを算出するなどしても良い。評定部2102は、教師データと入力音声データと特殊音声検知部2101における検知結果に基づいて、音声受付部103が受け付けた音声の評定を行えばよい。
また、図22のフローチャートにおいて、特殊音声検知部2101は、i番目のフレーム音声データのp−DAPスコアに基づいて特殊音声を検知したが、例えば、DAPスコアに基づいて特殊音声を検知しても良い。
以下、本実施の形態における発音評定装置の具体的な動作について説明する。本実施の形態において、無音区間を考慮して評定値を算出するので、評定値の算出アルゴリズムが実施の形態1等とは異なる。そこで、その異なる処理を中心に説明する。
まず、学習者が、語学学習の開始の指示である動作開始指示を入力する。
次に、学習者は、例えば、学習対象の音声を発音する。そして、音声受付部103は、学習者が発音した音声の入力を受け付ける。
次に、フレーム区分部104は、音声受付部103が受け付けた音声を、短時間フレームに区分する。
そして、フレーム音声データ取得部105は、フレーム区分部104が区分した音声データを、スペクトル分析し、特徴ベクトル系列「O=o1、o2、・・・、oT」を算出する。
次に、最適状態決定手段1061は、取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、所定のフレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。
次に、最適状態確率値取得手段1062は、上述した数式1、2により、最適状態における確率値を算出する。
次に、評定値算出手段21023は、例えば、最適状態決定手段1061が決定した最適状態を有する音韻全体の状態における1以上の確率値を取得し、当該1以上の確率値の総和をパラメータとして音声の評定値を算出する。つまり、評定値算出手段21023は、例えば、p−DAPスコアをフレーム毎に算出する。
そして、特殊音声検知部2101は、算出されたフレームに対応する評定値(p−DAPスコア)を用いて、特殊な音声が入力されたか否かを判断する。具体的には、特殊音声検知部2101は、例えば、評価対象のフレームに対して算出された評定値が、所定の数値より低ければ、特殊な音声が入力された、と判断する。なお、特殊音声検知部2101は、一のフレームに対応する評定値が小さいからといって、直ちに特殊な音声が入力された、と判断する必要はない。つまり、特殊音声検知部2101は、フレームに対応する評定値が小さいフレームが所定の数以上、連続する場合に、当該連続するフレーム群に対応する区間が特殊な音声が入力された区間と判断しても良い。
特殊音声検知部2101が、特殊音声を検知する場合について説明する図を図23に示す。図23(a)の縦軸は、p−DAPスコアであり、横軸はフレームを示す。図23(a)において、(V)は、Viterbiアライメントを示す。図23(a)において、網掛けのフレーム群のおけるp−DAPスコアは、所定の値より低く、特殊音声の区間である、と判断される。
次に、特殊な音声が入力された、と判断した場合、無音区間検出手段21022は、無音データ格納手段21021から無音データを取得し、当該フレーム群の各フレームのHMMと無音データとの類似度を算定し、類似度が所定値以上であれば当該フレーム群に対応する音声データが、無音データであると判断する。図23(b)は、無音データとの比較の結果、当該無音データとの類似度を示す事後確率の値(「APスコア」とも言う。)が高いことを示す。その結果、無音区間検出手段21022は、当該特殊音声の区間は、無音区間である、と判断する。なお、図23(a)において、網掛けのフレーム群のおけるp−DAPスコアは、所定の値より低く、特殊音声の区間である、と判断され、かつ、無音データとの比較の結果、APスコアが低い場合には、無音区間ではない、と判断される。そして、かかる区間において、例えば、単に、発音が上手くなく、低い評定値が出力される。なお、図23(a)に示しているように、通常、無音区間は、第一のワード(「word1」)の最終音素の後半部、および第一のワードに続く第二のワード(「word2」)の第一音素の前半部のスコアが低い。
そして、出力部108は、出力する評定値から、無音データの区間の評定値を考慮しないように、無視する。
そして、出力部108は、各フレームに対応する評定値を出力する。この場合、例えば、無音データの区間の評定値は、出力されない。
かかる評定値の出力態様例は、例えば、図7、図8である。
なお、出力部108が行う出力は、無音区間の存在を示すだけの出力でも良い。
以上、本実施の形態によれば、ユーザが入力した発音を、教師データに対して、如何に似ているかを示す類似度(評定値)を算出し、出力できる。その場合、無音区間を考慮して類似度を評定するので、極めて正確な評定結果が得られる。
なお、無音区間のデータは、無視して評定結果を算出することは好適である。ただし、本実施の形態において、例えば、無音区間の評価の影響を他の区間と比較して少なくするなど、無視する以外の方法で、無音区間のデータを考慮して、評定値を出力しても良い。
また、本実施の形態の具体例によれば、p−DAPスコアを用いて、評定値を算出したが、無音の区間を考慮して評定値を算出すれば良く、上述した他のアルゴリズム(DAP、t−DAP、t−p−DAP)、または、本明細書では述べていない他のアルゴリズムにより評定値を算出しても良い。つまり、本実施の形態によれば、教師データと入力音声データと特殊音声検知部における検知結果に基づいて、音声受付部が受け付けた音声の評定を行い、特に、無音データを考慮して、評定値を算出すれば良い。
また、本実施の形態によれば、まず、DAPスコアが低い区間を検出してから、無音区間の検出をした。しかし、DAPスコアが低い区間を検出せずに、無音データとの比較により、無音区間を検出しても良い。
さらに、本実施の形態における発音評定装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、音声の入力を受け付ける音声受付ステップと、前記音声受付ステップで受け付けた音声を、フレームに区分するフレーム区分ステップと、前記区分されたフレーム毎の入力音声データを得る入力音声データ取得ステップと、前記フレーム毎の入力音声データに基づいて、特殊な音声が入力されたことを検知する特殊音声検知ステップと、前記教師データと前記入力音声データと前記特殊音声検知ステップにおける検知結果に基づいて、前記音声受付ステップで受け付けた音声の評定を行う評定ステップと、前記評定ステップにおける評定結果を出力する出力ステップを実行させるためのプログラム、である。
また、上記プログラムは、前記特殊音声検知ステップにおいて、無音を示すHMMに基づくデータである無音データを格納している無音データ格納サブステップと、前記入力音声データおよび前記無音データに基づいて、無音の区間を検出する無音区間検出サブステップを具備することは好適である。
また、上記プログラムにおいて、前記評定ステップは、前記無音の区間を除いた区間の前記入力音声データと、前記教師データに基づいて、前記音声受付部が受け付けた音声の評定を行うことは好適である。
(実施の形態6)
本実施の形態において、入力音声において、特殊音声を検知し、比較対象の音声と入力音声の類似度を精度高く評定できる発音評定装置について説明する。特に、本発音評定装置は、音韻の挿入を検知できる発音評定装置である。
また、本実施の形態における発音評定装置は、例えば、語学学習や物真似練習などに利用できる。図24は、本実施の形態における発音評定装置のブロック図である。本発音評定装置は、入力受付部101、教師データ格納部102、音声受付部103、フレーム区分部104、フレーム音声データ取得部105、特殊音声検知部2401、評定部2402、出力部2403を具備する。
特殊音声検知部2401は、一の音素の後半部および当該音素の次の音素の前半部の評定値が所定の条件を満たすことを検知する。後半部、および前半部の長さは問わない。特殊音声検知部2401は、通常、MPUやメモリ等から実現され得る。特殊音声検知部2401の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
評定部2402は、特殊音声検知部2401が所定の条件を満たすことを検知した場合に、少なくとも音素の挿入があった旨を示す評定結果を構成する。なお、評定部2402は、実施の形態5で述べたアルゴリズムにより、特殊音声検知部2401が所定の条件を満たすことを検知した区間に無音が挿入されたか否かを判断し、無音が挿入されていない場合に、他の音素が挿入されたと検知しても良い。また、評定部2402は、無音が挿入されていない場合に、他の音韻HMMに対する確率値を算出し、所定の値より高い確率値を得た音韻が挿入された、との評定結果を得ても良い。なお、実施の形態5で述べた無音区間の検知は、無音音素の挿入の検知である、とも言える。評定部2402は、通常、MPUやメモリ等から実現され得る。評定部2402の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部2403は、評定部2402における評定結果を出力する。ここでの評定結果は、音素の挿入があった旨を示す評定結果を含む。評定結果は、音素の挿入があった旨、および評定値(スコア)の両方であっても良い。なお、教師データにおいて想定されていない音素の挿入を検知した場合、通常、評定値は低くなる。ここで、出力とは、ディスプレイへの表示、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積等を含む概念である。出力部2403は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部2403は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、本発音評定装置の動作について図25のフローチャートを用いて説明する。
(ステップS2501)特殊音声検知部2401は、フレームに対応するデータを一時的に蓄積するバッファにデータが格納されているか否かを判断する。なお、格納されているデータは、ステップS2202で、所定の値より低い評定値と評価されたフレーム音声データ、または当該フレーム音声データから取得できるデータである。データが格納されていればステップS2507に行き、データが格納されていなければステップS202に戻る。
(ステップS2502)特殊音声検知部2401は、バッファにデータが格納されているか否かを判断する。データが格納されていればステップS2507に行き、データが格納されていなければステップステップS2503に行く。
(ステップS2503)出力部2403は、ステップS2201で算出した評定値を出力する。
(ステップS2504)特殊音声検知部2401は、カウンタiを1、インクリメントする。ステップS206に戻る。
(ステップS2505)特殊音声検知部2401は、バッファに、所定の値より低い評定値と評価されたフレーム音声データ、または当該フレーム音声データから取得できるデータを一時蓄積する。
(ステップS2506)特殊音声検知部2401は、カウンタiを1、インクリメントする。ステップS206に戻る。
(ステップS2507)特殊音声検知部2401は、カウンタjに1を代入する。
(ステップS2508)特殊音声検知部2401は、j番目のデータが、バッファに存在するか否かを判断する。j番目のデータが存在すればステップS2509に行き、j番目のデータが存在しなければステップS2515に飛ぶ。
(ステップS2509)特殊音声検知部2401は、j番目のデータに対応する最適状態の音素を取得する。
(ステップS2510)特殊音声検知部2401は、j番目のデータに対する全教師データの確率値を算出し、最大の確率値を持つ音素を取得する。
(ステップS2511)特殊音声検知部2401は、ステップS2509で取得した音素とステップS2510で取得した音素が異なる音素であるか否かを判断する。異なる音素であればステップS2512に行き、異なる音素でなければステップS2514に飛ぶ。
(ステップS2512)評定部2402は、音素の挿入があった旨を示す評定結果を構成する。
(ステップS2513)特殊音声検知部2401は、カウンタjを1、インクリメントする。ステップS2508に戻る。
(ステップS2514)出力部2403は、バッファ中の全データに対応する全評定値を出力する。ここで、全評定値とは、例えば、フレーム毎のp−DAPスコアである。ステップS2513に行く。
(ステップS2515)出力部2403は、評定結果に「挿入の旨」の情報が入っているか否かを判断する。「挿入の旨」の情報が入っていればステップS2516に行き、「挿入の旨」の情報が入っていなければステップS2517に行く。
(ステップS2516)出力部2403は、評定結果を出力する。
(ステップS2517)出力部2403は、バッファをクリアする。ステップS206に戻る。
なお、図25のフローチャートにおいて、評定値の低いフレームが2つの音素に渡って存在すれば、直ちに音素の挿入があったと判断した。つまり、一の音素の後半部(少なくとも最終フレーム)および当該音素の次の音素の第一フレームの評定値が所定値より低い場合に、音素の挿入があったと判断した。しかし、図25のフローチャートにおいて、一の音素の所定区間以上の後半部、および当該音素の次の音素の所定区間以上の前半部の評定値が所定値よりすべて低い場合に、音素の挿入があったと判断するようにしても良い。
以下、本実施の形態における発音評定装置の具体的な動作について説明する。本実施の形態において、音素の挿入の検知を行う処理が実施の形態5等とは異なる。そこで、その異なる処理を中心に説明する。
まず、学習者が、語学学習の開始の指示である動作開始指示を入力する。
次に、学習者は、例えば、学習対象の音声を発音する。そして、音声受付部103は、学習者が発音した音声の入力を受け付ける。
次に、フレーム区分部104は、音声受付部103が受け付けた音声を、短時間フレームに区分する。
そして、フレーム音声データ取得部105は、フレーム区分部104が区分した音声データを、スペクトル分析し、特徴ベクトル系列「O=o1、o2、・・・、oT」を算出する。
次に、最適状態決定手段1061は、取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、所定のフレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。
次に、最適状態確率値取得手段1062は、数式1、2により、最適状態における確率値を算出する。
次に、評定値算出手段21023は、例えば、最適状態決定手段1061が決定した最適状態を有する音韻全体の状態における1以上の確率値を取得し、当該1以上の確率値の総和をパラメータとして音声の評定値を算出する。つまり、評定値算出手段21023は、例えば、p−DAPスコアをフレーム毎に算出する。ここで、算出するスコアは、上述したDAPスコア等でも良い。
そして、特殊音声検知部2101は、算出されたフレームに対応する評定値を用いて、特殊な音声が入力されたか否かを判断する。つまり、評定値(例えば、p−DAPスコア)が、所定の値より低い区間が存在するか否かを判断する。
次に、特殊音声検知部2101は、図26に示すように、評定値(例えば、p−DAPスコア)が、所定の値より低い区間が、2つの音素に跨っているか否かを判断し、2つの音素に跨がっていれば、当該区間に音素が挿入された、と判断する。なお、かかる場合の詳細なアルゴリズムの例は、図25で説明した。また、図26において、斜線部が、予期しない音素が挿入された区間である。
次に、評定部2402は、音素の挿入があった旨を示す評定結果(例えば、「予期しない音素が挿入されました。」)を構成する。そして、出力部2403は、構成した評定結果を出力する。図27は、評定結果の出力例である。なお、出力部2403は、通常の入力音声に対しては、上述したように評定値を出力することが好適である。
以上、本実施の形態によれば、ユーザが入力した発音を、教師データに対して、如何に似ているかを示す類似度(評定値)を算出し、出力できる。その場合、特殊音声、特に、予期せぬ音素の挿入を検知できるので、極めて精度の高い評定結果が得られる。
なお、本実施の形態において、音素の挿入を検知できれば良く、評定値の算出アルゴリズムは問わない。評定値の算出アルゴリズムは、上述したアルゴリズム(DAP、p−DAP、t−DAP、t−p−DAP)でも良く、または、本明細書では述べていない他のアルゴリズムでも良い。
さらに、本実施の形態における発音評定装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、音声の入力を受け付ける音声受付ステップと、前記音声受付ステップで受け付けた音声を、フレームに区分するフレーム区分ステップと、前記区分されたフレーム毎の入力音声データを得る入力音声データ取得ステップと、前記フレーム毎の入力音声データに基づいて、特殊な音声が入力されたことを検知する特殊音声検知ステップと、前記教師データと前記入力音声データと前記特殊音声検知ステップにおける検知結果に基づいて、前記音声受付ステップで受け付けた音声の評定を行う評定ステップと、前記評定ステップにおける評定結果を出力する出力ステップを実行させるためのプログラム、である。
また、上記プログラムは、前記特殊音声検知ステップにおいて、一の音素の後半部および当該音素の次の音素の前半部の評定値が所定の条件を満たすことを検知し、前記評定ステップにおいては、前記特殊音声検知ステップにおいて前記所定の条件を満たすことを検知した場合に、少なくとも音素の挿入があった旨を示す評定結果を構成するプログラム、である。
(実施の形態7)
本実施の形態において、入力音声において、特殊音声を検知し、比較対象の音声と入力音声の類似度を精度高く評定できる発音評定装置について説明する。特に、本発音評定装置は、音韻の置換を検知できる発音評定装置である。
また、本実施の形態における発音評定装置は、例えば、語学学習や物真似練習などに利用できる。図28は、本実施の形態における発音評定装置のブロック図である。本発音評定装置は、入力受付部101、教師データ格納部102、音声受付部103、フレーム区分部104、フレーム音声データ取得部105、特殊音声検知部2801、評定部2802、出力部2403を具備する。
特殊音声検知部2801は、一の音素の評定値が所定の値より低いことを検知する。また、特殊音声検知部2801は、一の音素の評定値が所定の値より低く、かつ当該音素の直前の音素および当該音素の直後の音素の評定値が所定の値より高いことをも検知しても良い。また、特殊音声検知部2801は、一の音素の評定値が所定の値より低く、かつ、想定していない音素のHMMに基づいて算出された評定値が所定の値より高いことを検知しても良い。つまり、特殊音声検知部2801は、所定のアルゴリズムで、音韻の置換を検知できれば良い。そのアルゴリズムは種々考えられる。特殊音声検知部2801は、通常、MPUやメモリ等から実現され得る。特殊音声検知部2801の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
評定部2802は、特殊音声検知部2801が所定の条件を満たすことを検知した場合に、少なくとも音素の置換があった旨を示す評定結果を構成する。評定部2802は、通常、MPUやメモリ等から実現され得る。評定部2802の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、本発音評定装置の動作について図29のフローチャートを用いて説明する。
(ステップS2901)特殊音声検知部2801は、バッファに蓄積されているデータに対応するフレーム音声データ群が一の音素に対応するか否かを判断する。一の音素であればステップS2902に行き、一の音素でなければステップS2910に行く。
(ステップS2902)特殊音声検知部2801は、バッファに蓄積されているデータに対応するフレーム音声データ群の音素の直前の音素の評定値を算出する。かかる評定値は、例えば、上述したt−DAPスコアである。なお、直前の音素とは、現在評定中の音素に対して直前の音素である。音素の区切りは、Viterbiアルゴリズムにより算出できる。
(ステップS2903)特殊音声検知部2801は、ステップS2902で算出した評定値が所定の値以上であるか否かを判断する。所定の値以上であればステップS2904に行き、所定の値より小さければステップS2910に行く。
(ステップS2904)特殊音声検知部2801は、直後の音素の評定値を算出する。かかる評定値は、例えば、上述したt−DAPスコアである。直後の音素とは、現在評定中の音素に対して直後の音素である。
(ステップS2905)特殊音声検知部2801は、ステップS2904で算出した評定値が所定の値以上であるか否かを判断する。所定の値以上であればステップS2906に行き、所定の値より小さければステップS2910に行く。
(ステップS2906)特殊音声検知部2801は、予め格納されている音韻HMM(予期する音韻のHMMは除く)の中で、所定の値以上の評定値が得られる音韻HMMが一つ存在するか否かを判断する。所定の値以上の評定値が得られる音韻HMMが存在すればステップS2907に行き、所定の値以上の評定値が得られる音韻HMMが存在しなければステップS2910に行く。なお、予め格納されている音韻HMMは、通常、すべての音韻に対する多数の音韻HMMである。なお、本ステップにおいて、予め格納されている音韻HMMの確率値を算出し、最大の確率値を持つ音素を取得し、当該音素と最適状態の音素が異なるか否かを判断し、異なる場合に音素の置換があったと判断しても良い。
(ステップS2907)評定部2802は、音素の置換があった旨を示す評定結果を構成する。
(ステップS2908)出力部2403は、ステップS2907で構成した評定結果を出力する。
(ステップS2909)出力部2403は、バッファをクリアする。ステップS206に戻る。
(ステップS2910)出力部2403は、バッファ中の全データに対応する全評定値を出力する。
以下、本実施の形態における発音評定装置の具体的な動作について説明する。本実施の形態において、音素の置換の検知を行う処理が実施の形態6等とは異なる。そこで、その異なる処理を中心に説明する。
まず、学習者が、語学学習の開始の指示である動作開始指示を入力する。
次に、学習者は、例えば、学習対象の音声を発音する。そして、音声受付部103は、学習者が発音した音声の入力を受け付ける。
次に、フレーム区分部104は、音声受付部103が受け付けた音声を、短時間フレームに区分する。
そして、フレーム音声データ取得部105は、フレーム区分部104が区分した音声データを、スペクトル分析し、特徴ベクトル系列「O=o1、o2、・・・、oT」を算出する。
次に、最適状態決定手段1061は、取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、所定のフレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。
次に、最適状態確率値取得手段1062は、数式1、2により、最適状態における確率値を算出する。
次に、評定値算出手段21023は、例えば、最適状態決定手段1061が決定した最適状態を有する音韻全体の状態における1以上の確率値を取得し、当該1以上の確率値の総和をパラメータとして音声の評定値を算出する。つまり、評定値算出手段21023は、例えば、p−DAPスコアをフレーム毎に算出する。ここで、算出するスコアは、上述したDAPスコア等でも良い。
そして、特殊音声検知部2101は、算出されたフレームに対応する評定値を用いて、特殊な音声が入力されたか否かを判断する。つまり、評定値(例えば、p−DAPスコア)が、所定の値より低い区間が存在するか否かを判断する。
次に、特殊音声検知部2101は、図30に示すように、評定値(例えば、t−DAPスコア)が、所定の値より低い区間が、一つの音素内(ここでは音素2)であるか否かを判断する。そして、一つの音素内で評定値が低ければ、次に、特殊音声検知部2101は、直前の音素(音素1)または直後の音素(音素2)に対する評定値(例えば、t−DAPスコア)を算出し、当該評定値が所定の値より高ければ、音素の置換が発生している可能性があると判断する。次に、特殊音声検知部2101は、予め格納されている音韻HMM(予期する音韻のHMMは除く)の中で、所定の値以上の評定値が得られる音韻HMMが一つ存在すれば、音素の置換が発生していると判断する。なお、図30において、音素2において、音素の置換が発生した区間である。なお、図30において縦軸は評定値であり、当該評定値は、DAP、p−DAP、t−DAP等、問わない。
次に、評定部2402は、音素の置換があった旨を示す評定結果(例えば、「音素の置換が発生しました。」)を構成する。そして、出力部2403は、構成した評定結果を出力する。なお、出力部2403は、通常の入力音声に対しては、上述したように評定値を出力することが好適である。
以上、本実施の形態によれば、ユーザが入力した発音を、教師データに対して、如何に似ているかを示す類似度(評定値)を算出し、出力できる。その場合、特殊音声、特に、音素の置換を検知できるので、極めて精度の高い評定結果が得られる。
なお、本実施の形態において、音素の置換を検知できれば良く、評定値の算出アルゴリズムは問わない。評定値の算出アルゴリズムは、上述したアルゴリズム(DAP、p−DAP、t−DAP、t−p−DAP)でも良く、または、本明細書では述べていない他のアルゴリズムでも良い。
また、本実施の形態において、音素の置換の検知アルゴリズムは、他のアルゴリズムでも良い。例えば、音素の置換の検知において、所定以上の長さの区間を有することを置換区間の検知で必須としても良い。その他、置換の検知アルゴリズムの詳細は種々考えられる。
さらに、本実施の形態における発音評定装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、音声の入力を受け付ける音声受付ステップと、前記音声受付ステップで受け付けた音声を、フレームに区分するフレーム区分ステップと、前記区分されたフレーム毎の入力音声データを得る入力音声データ取得ステップと、前記フレーム毎の入力音声データに基づいて、特殊な音声が入力されたことを検知する特殊音声検知ステップと、前記教師データと前記入力音声データと前記特殊音声検知ステップにおける検知結果に基づいて、前記音声受付ステップで受け付けた音声の評定を行う評定ステップと、前記評定ステップにおける評定結果を出力する出力ステップを実行させるためのプログラム、である。
また、上記プログラムは、前記特殊音声検知ステップにおいて、一の音素の評定値が所定の条件を満たすことを検知し、前記評定ステップにおいて、前記特殊音声検知ステップで前記所定の条件を満たすことを検知した場合に、少なくとも音素の置換または欠落があった旨を示す評定結果を構成するプログラム、である。
また、上記プログラムでは、前記特殊音声検知ステップにおいて、一の音素の評定値が所定の値より低く、かつ当該音素の直前の音素および当該音素の直後の音素の評定値が所定の値より高く、かつ予め格納されている音韻HMMの中で、所定の値以上の評定値が得られる音韻HMMが一つ存在することを検知し、前記評定ステップにおいて、前記特殊音声検知ステップで前記所定の条件を満たすことを検知した場合に、少なくとも音素の置換があった旨を示す評定結果を構成することは好適である。
(実施の形態8)
本実施の形態において、入力音声において、特殊音声を検知し、比較対象の音声と入力音声の類似度を精度高く評定できる発音評定装置について説明する。特に、本発音評定装置は、音韻の欠落を検知できる発音評定装置である。
また、本実施の形態における発音評定装置は、例えば、語学学習や物真似練習などに利用できる。図31は、本実施の形態における発音評定装置のブロック図である。本発音評定装置は、入力受付部101、教師データ格納部102、音声受付部103、フレーム区分部104、フレーム音声データ取得部105、特殊音声検知部3101、評定部3102、出力部2403を具備する。
特殊音声検知部3101は、一の音素の評定値が所定の値より低く、かつ当該音素の直前の音素または当該音素の直後の音素の評定値が所定の値より高いことを検知する。また、
特殊音声検知部3101は、一の音素の評定値が所定の値より低く、かつ当該音素の直前の音素または当該音素の直後の音素の評定値が所定の値より高く、かつ当該音素の区間長が所定の長さよりも短いことを検知しても良い。また、特殊音声検知部3101は、直前の音素に対応する確率値、または直後の音素に対応する確率値が、当該一の音素の確率値より高いことを検知しても良い。かかる場合に、特殊音声検知部3101は、音韻の欠落を検知することは好適である。さらに、音素の区間長が所定の長さよりも短いことを欠落の条件に含めることにより、音韻の欠落の検知の精度は向上する。特殊音声検知部3101は、通常、MPUやメモリ等から実現され得る。特殊音声検知部3101の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
評定部3102は、特殊音声検知部3101が所定の条件を満たすことを検知した場合に、少なくとも音素の欠落があった旨を示す評定結果を構成する。評定部3102は、通常、MPUやメモリ等から実現され得る。評定部3102の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、本発音評定装置の動作について図32のフローチャートを用いて説明する。
(ステップS3201)特殊音声検知部3101は、バッファに蓄積されているデータに対して、直前の音素に対応する教師データの確率値または、直後の音素に対応する教師データの確率値が、予定されている音素に対応する教師データの確率値より高いか否かを判断する。高ければステップS3202に行き、高くなければステップS2911に行く。なお、ステップS3202に行くための条件として、バッファに蓄積されているデータに対応するフレーム音声データ群の区間長が所定の長さ以下であることを付加しても良い。
(ステップS3202)評定部3102は、音素の欠落があった旨を示す評定結果を構成する。
なお、図32のフローチャートにおいて、評定対象の音素(欠落したであろう音素)の区間長が、所定の長さ(例えば、3フレーム)よりも短いことを条件としたが、かかる条件は必須ではない。
以下、本実施の形態における発音評定装置の具体的な動作について説明する。本実施の形態において、音素の欠落の検知を行う処理が実施の形態7等とは異なる。そこで、その異なる処理を中心に説明する。
まず、学習者が、語学学習の開始の指示である動作開始指示を入力する。
次に、学習者は、例えば、学習対象の音声を発音する。そして、音声受付部103は、学習者が発音した音声の入力を受け付ける。
次に、フレーム区分部104は、音声受付部103が受け付けた音声を、短時間フレームに区分する。
そして、フレーム音声データ取得部105は、フレーム区分部104が区分した音声データを、スペクトル分析し、特徴ベクトル系列「O=o1、o2、・・・、oT」を算出する。
次に、最適状態決定手段1061は、取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、所定のフレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。
次に、最適状態確率値取得手段1062は、数式1、2により、最適状態における確率値を算出する。
次に、評定値算出手段21023は、例えば、最適状態決定手段1061が決定した最適状態を有する音韻全体の状態における1以上の確率値を取得し、当該1以上の確率値の総和をパラメータとして音声の評定値を算出する。つまり、評定値算出手段21023は、例えば、p−DAPスコアをフレーム毎に算出する。ここで、算出するスコアは、上述したDAPスコア等でも良い。
そして、特殊音声検知部2101は、算出されたフレームに対応する評定値を用いて、特殊な音声が入力されたか否かを判断する。つまり、評定値(例えば、t−DAPスコア)が、所定の値より低い区間が存在するか否かを判断する。
次に、特殊音声検知部2101は、図33に示すように、評定値(例えば、t−DAPスコア)が、所定の値より低い区間が、一つの音素内(ここでは音素2)であるか否かを判断する。そして、一つの音素内で評定値が低ければ、特殊音声検知部2101は、直前の音素(音素1)または直後の音素(音素2)に対する評定値(例えば、t−DAPスコア)を算出し、当該評定値が所定の値より高ければ、音素の欠落が発生している可能性があると判断する。そして、当該区間長が、例えば、3フレーム以下の長さであれば、かかる音素は欠落したと判断する。なお、図33において、音素2の欠落が発生したことを示す。なお、図33において縦軸は評定値であり、当該評定値は、DAP、p−DAP、t−DAP等、問わない。また、上記区間長の所定値は、「3フレーム以下」ではなく、「5フレーム以下」でも、「6フレーム以下」でも良い。
次に、評定部2402は、音素の欠落があった旨を示す評定結果(例えば、「音素の欠落が発生しました。」)を構成する。そして、出力部2403は、構成した評定結果を出力する。なお、出力部2403は、通常の入力音声に対しては、上述したように評定値を出力することが好適である。
以上、本実施の形態によれば、ユーザが入力した発音を、教師データに対して、如何に似ているかを示す類似度(評定値)を算出し、出力できる。その場合、特殊音声、特に、音素の欠落を検知できるので、極めて精度の高い評定結果が得られる。
なお、本実施の形態において、音素の欠落を検知できれば良く、評定値の算出アルゴリズムは問わない。評定値の算出アルゴリズムは、上述したアルゴリズム(DAP、p−DAP、t−DAP、t−p−DAP)でも良く、または、本明細書では述べていない他のアルゴリズムでも良い。
また、本実施の形態において、音素の欠落の検知アルゴリズムは、他のアルゴリズムでも良い。例えば、音素の欠落の検知において、所定長さ未満の区間であることを欠落区間の検知で必須としても良いし、区間長を考慮しなくても良い。
また、本実施の形態における発音評定装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、音声の入力を受け付ける音声受付ステップと、前記音声受付ステップで受け付けた音声を、フレームに区分するフレーム区分ステップと、前記区分されたフレーム毎の入力音声データを得る入力音声データ取得ステップと、前記フレーム毎の入力音声データに基づいて、特殊な音声が入力されたことを検知する特殊音声検知ステップと、前記教師データと前記入力音声データと前記特殊音声検知ステップにおける検知結果に基づいて、前記音声受付ステップで受け付けた音声の評定を行う評定ステップと、前記評定ステップにおける評定結果を出力する出力ステップを実行させるためのプログラム、である。
また、上記プログラムは、前記特殊音声検知ステップにおいて、一の音素の評定値が所定の条件を満たすことを検知し、前記評定ステップにおいて、前記特殊音声検知ステップで前記所定の条件を満たすことを検知した場合に、少なくとも音素の置換または欠落があった旨を示す評定結果を構成するプログラム、である。
また、上記プログラムでは、前記特殊音声検知ステップにおいて、一の音素の評定値が所定の値より低く、かつ当該音素の直前の音素または当該音素の直後の音素の評定値が所定の値より高いことを検知し、前記評定ステップにおいて、前記特殊音声検知ステップで前記所定の条件を満たすことを検知した場合に、少なくとも音素の欠落があった旨を示す評定結果を構成することが好適である。
さらに、上記プログラムでは、前記特殊音声検知ステップにおいて、一の音素の評定値が所定の値より低く、かつ当該音素の直前の音素または当該音素の直後の音素の評定値が所定の値より高く、かつ当該音素の区間長が所定の長さよりも短いことを検知することが好適である。
また、実施の形態5から実施の形態8において検出した特殊音声は、無音、挿入、置換、欠落であった。発音評定装置は、かかるすべての特殊音声について検知しても良いことはいうまでもない。また、発音評定装置は、主として、実施の形態1から実施の形態4において述べた評定値の算出アルゴリズムを利用して、特殊音声の検出を行ったが、他の評定値の算出アルゴリズムを利用しても良い。
また、特殊音声は、無音、挿入、置換、欠落に限られない。例えば、特殊音声は、garbage(雑音などの雑多な音素等)であっても良い。受け付けた音声にgarbageが混入している場合、その区間は類似度の計算対象から除外するのがしばしば望ましい。例えば、発音評定においては、学習者の発声には通常、息継ぎや無声区間などが数多く表れ、それらに対応する発声区間を評定対象から取り除くことが好適である。なお、無音は、一般に、garbageの一種である、と考える。
そこで,どの音素にも属さない雑多な音素(garbage音素)を設定し、garbageのHMMをあらかじめ格納しておく。スコア低下区間において、garbageのHMMに対する評定値(γt(j))が所定の値より大きい場合,その区間はgarbage区間と判定することは好適である。特に、発音評定において,garbage区間が2つの単語にまたがっている場合、息継ぎなどが起こったものとして、評定値の計算対象から除外することは極めて好適である。
また、図34は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の発音評定装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図34は、このコンピュータシステム340の概観図であり、図35は、コンピュータシステム340のブロック図である。
図34において、コンピュータシステム340は、FD(Flexible Disk)ドライブ、CD−ROM(Compact Disk Read Only Memory)ドライブを含むコンピュータ341と、キーボード342と、マウス343と、モニタ344と、マイク345とを含む。
図17において、コンピュータ341は、FDドライブ3411、CD−ROMドライブ3412に加えて、CPU(Central Processing Unit)3413と、CPU3413、CD−ROMドライブ3412及びFDドライブ3411に接続されたバス3414と、ブートアッププログラム等のプログラムを記憶するためのROM(Read−Only Memory)3415と、CPU3413に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM(Random Access Memory)3416と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3417とを含む。ここでは、図示しないが、コンピュータ341は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム340に、上述した実施の形態の発音評定装置の機能を実行させるプログラムは、CD−ROM3501、またはFD3502に記憶されて、CD−ROMドライブ3412またはFDドライブ3411に挿入され、さらにハードディスク3417に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ341に送信され、ハードディスク3417に記憶されても良い。プログラムは実行の際にRAM3416にロードされる。プログラムは、CD−ROM3501、FD3502またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ341に、上述した実施の形態の発音評定装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム340がどのように動作するかは周知であり、詳細な説明は省略する。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
なお、上記プログラムにおいて、ハードウェアによって行われる処理、例えば、出力ステップにおけるディスプレイなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。