以下、音声処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、比較対象の音声と入力音声の類似度の評定を精度高く、かつ高速にできる音声処理装置について説明する。本音声処理装置は、音声(歌唱を含む)を評価する発音評定装置である。特に、本音声処理装置は、入力音声のフレームに対する最適状態の事後確率を、動的計画法を用いて算出することから、当該事後確率をDAP(Dynamic A Posteriori Probability)と呼び、DAPに基づく類似度計算法および発音評定装置をDAPSと呼ぶ。
また、本実施の形態における音声処理装置は、例えば、語学学習や物真似練習やカラオケ評定などに利用できる。図1は、本実施の形態における音声処理装置のブロック図である。本音声処理装置は、入力受付部101、教師データ格納部102、音声受付部103、教師データフォルマント周波数格納部104、第一サンプリング周波数格納部105、サンプリング部106、評価対象者フォルマント周波数取得部107、評価対象者フォルマント周波数格納部108、声道長正規化処理部109、音声処理部110を具備する。
音声処理部110は、フレーム区分手段1101、フレーム音声データ取得手段1102、評定手段1103、出力手段1104を具備する。
評定手段1103は、最適状態決定手段11031、最適状態確率値取得手段11032、評定値算出手段11033を具備する。
なお、音声処理装置は、キーボード342、マウス343などの入力手段からの入力を受け付ける。また、音声処理装置は、マイク345などの音声入力手段から音声入力を受け付ける。さらに、音声処理装置は、ディスプレイ344などの出力デバイスに情報を出力する。
入力受付部101は、音声処理装置の動作開始を指示する動作開始指示や、入力した音声の評定結果の出力態様の変更を指示する出力態様変更指示や、処理を終了する終了指示などの入力を受け付ける。かかる指示等の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。入力受付部101は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
教師データ格納部102は、教師データとして比較される対象の音声に関するデータであり、音韻毎の隠れマルコフモデル(HMM)に基づくデータを1以上格納している。教師データは、音韻毎の隠れマルコフモデル(HMM)を連結したHMMに基づくデータであることが好適である。また、教師データは、入力される音声を構成する音素に対応するHMMを、入力順序に従って連結されているHMMに基づくデータであることが好適である。ただし、教師データは、必ずしも、音韻毎のHMMを連結したHMMに基づくデータである必要はない。教師データは、全音素のHMMの、単なる集合であっても良い。また、教師データは、必ずしもHMMに基づくデータである必要はない。教師データは、単一ガウス分布モデルや、確率モデル(GMM:ガウシャンミクスチャモデル)や、統計モデルなど、他のモデルに基づくデータでも良い。HMMに基づくデータは、例えば、フレーム毎に、状態識別子と遷移確率の情報を有する。また、HMMに基づくデータは、例えば、複数の学習対象言語を母国語として話す外国人が発声した2以上のデータから学習した(推定した)モデルでも良い。教師データ格納部102は、ハードディスクやROMなどの不揮発性の記録媒体が好適であるが、RAMなどの揮発性の記録媒体でも実現可能である。
音声受付部103は、音声を受け付ける。音声受付部103は、例えば、マイク345のドライバーソフトで実現され得る。また、なお、音声受付部103は、マイク345とそのドライバーから実現されると考えても良い。音声は、マイク345から入力されても良いし、磁気テープやCD−ROMなどの記録媒体から読み出すことにより入力されても良い。
教師データフォルマント周波数格納部104は、教師データのフォルマント周波数である教師データフォルマント周波数を格納している。教師データフォルマント周波数は、第一フォルマント周波数(F1)でも、第二フォルマント周波数(F2)でも、第三フォルマント周波数(F3)等でも良い。教師データフォルマント周波数格納部104の教師データフォルマント周波数は、予め格納されていても良いし、評価時に、動的に、教師データから取得しても良い。音声データからフォルマント周波数を取得する技術は、公知技術であるので説明を省略する。教師データフォルマント周波数格納部104は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
第一サンプリング周波数格納部105は、第一のサンプリング周波数である第一サンプリング周波数を格納している。第一サンプリング周波数は、評価対象者の音声を、最初にサンプリングする場合のサンプリング周波数である。第一サンプリング周波数格納部105は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
サンプリング部106は、第一サンプリング周波数格納部105の第一サンプリング周波数で、音声受付部103が受け付けた音声をサンプリングし、第一音声データを取得する。なお、受け付けた音声をサンプリングする技術は公知技術であるので、詳細な説明を省略する。サンプリング部106は、通常、MPUやメモリ等から実現され得る。サンプリング部106の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
評価対象者フォルマント周波数取得部107は、サンプリング部106が取得した第一音声データから、評価対象者のフォルマント周波数である評価対象者フォルマント周波数を取得する。評価対象者フォルマント周波数も、第一フォルマント周波数(F1)でも、第二フォルマント周波数(F2)でも、第三フォルマント周波数(F3)でも良い。ただし、評価対象者フォルマント周波数と教師データフォルマント周波数は同一種のフォルマント周波数である。サンプリングして取得した第一音声データから、フォルマント周波数を取得する技術は公知技術であるので、詳細な説明を省略する。評価対象者フォルマント周波数取得部107は、通常、MPUやメモリ等から実現され得る。評価対象者フォルマント周波数取得部107の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
評価対象者フォルマント周波数格納部108は、音声受付部103が受け付けた音声の話者である評価対象者のフォルマント周波数である評価対象者フォルマント周波数を、少なくとも一時的に格納している。評価対象者フォルマント周波数格納部108の評価対象者フォルマント周波数は、通常、評価対象者フォルマント周波数取得部107が取得したフォルマント周波数であるが、予め評価対象者フォルマント周波数を格納していても良い。評価対象者フォルマント周波数格納部108に、予め評価対象者フォルマント周波数が格納されている場合、本音声処理装置において、評価対象者フォルマント周波数取得部107は不要である。評価対象者フォルマント周波数格納部108は、不揮発性の記録媒体でも、揮発性の記録媒体でも良い。
声道長正規化処理部109は、第二サンプリング周波数で、音声受付部103が受け付けた音声に対して、サンプリング処理を行い、第二音声データを得る。第二サンプリング周波数は、「第一サンプリング周波数/(教師データフォルマント周波数/評価対象者フォルマント周波数)」で算出されるサンプリング周波数である。声道長正規化処理部109は、音声受付部103が受け付けた音声をサンプリング処理して得られた第一音声データを、リサンプリング処理して第二音声データを得ることが好適であるが、音声受付部103が受け付けた音声をサンプリング処理し、直接的に第二音声データを得ても良い。直接的に第二音声データを得る場合、例えば、サンプリング処理を行うハードウェアが可変のサンプリング周波数でサンプリング処理を行えることが必要である。声道長正規化処理部109は、通常、演算「教師データフォルマント周波数/評価対象者フォルマント周波数」を行い、周波数軸変換率(「r」とする)を得る。そして、声道長正規化処理部109は、第一サンプリング周波数格納部105の第一サンプリング周波数(Fs)と「r」に基づいて、演算「Fs/r」を行い、新しいサンプリング周波数(Fs/r)を得る。この新しいサンプリング周波数(Fs/r)が第二サンプリング周波数である。次に、声道長正規化処理部109は、第一音声データに対して、第二サンプリング周波数(Fs/r)で、リサンプリング処理を行い、第二音声データを得る。声道長正規化処理部109は、通常、MPUやメモリ等から実現され得る。声道長正規化処理部109の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、周波数軸変換率「r」の逆数「1/r」は、後述する声道長パラメータである、と言える。また、声道長パラメータは、声道長の正規化のためのパラメータであるので、周波数軸変換率「r」を声道長パラメータと考えても良い。
音声処理部110は、第二音声データを処理する。音声処理部110は、ここでは、評定処理である。ただし、音声処理部110は、音声認識や音声出力などの他の音声処理を行っても良い。音声出力は、単に、リサンプリング処理された音声を出力する処理である。なお、本実施の形態において、音声処理部110は、評定処理を行うものとして、説明する。音声処理部110は、通常、MPUやメモリ等から実現され得る。音声処理部110の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
音声処理部110を構成しているフレーム区分手段1101は、第二音声データを、フレームに区分する。フレーム区分手段1101は、通常、MPUやメモリ等から実現され得る。フレーム区分手段1101の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
音声処理部110を構成しているフレーム音声データ取得手段1102は、区分されたフレーム毎の音声データであるフレーム音声データを1以上得る。フレーム音声データ取得手段1102は、通常、MPUやメモリ等から実現され得る。フレーム音声データ取得手段1102の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
音声処理部110を構成している評定手段1103は、教師データ格納部102の教師データと1以上のフレーム音声データに基づいて、音声受付部103が受け付けた音声の評定を行う。評定方法の具体例は、後述する。「音声受付部103が受け付けた音声を評定する」の概念には、第二音声データを評定することも含まれることは言うまでもない。評定手段1103は、通常、MPUやメモリ等から実現され得る。評定手段1103の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
評定手段1103を構成している最適状態決定手段11031は、1以上のフレーム音声データのうちの少なくとも一のフレーム音声データに対する最適状態を決定する。最適状態決定手段11031は、例えば、全音韻HMMから、比較される対象(学習対象)の単語や文章などの音声を構成する1以上の音素に対応するHMMを取得し、当該取得した1以上のHMMから、音素の順序で連結したデータ(比較される対象の音声に関するデータであり、音韻毎の隠れマルコフモデルを連結したHMMに基づくデータ)を構成する。そして、構成した当該データ、および取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、所定のフレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。なお、最適状態を決定するアルゴリズムは、例えば、Viterbiアルゴリズムである。また、教師データは、上述の比較される対象の音声に関するデータであり、音韻毎の隠れマルコフモデルを連結したHMMに基づくデータと考えても良いし、連結される前のデータであり、全音韻HMMのデータと考えても良い。
評定手段1103を構成している最適状態確率値取得手段11032は、最適状態決定手段11031が決定した最適状態における確率値を取得する。
評定手段1103を構成している評定値算出手段11033は、最適状態確率値取得手段11032が取得した確率値をパラメータとして音声の評定値を算出する。評定値算出手段11033は、上記確率値を如何に利用して、評定値を算出するかは問わない。評定値算出手段11033は、例えば、最適状態確率値取得手段11032が取得した確率値と、当該確率値に対応するフレームの全状態における確率値の総和をパラメータとして音声の評定値を算出する。評定値算出手段11033は、ここでは、通常、フレームごとに評定値を算出する。
最適状態決定手段11031、最適状態確率値取得手段11032、評定値算出手段11033は、通常、MPUやメモリ等から実現され得る。最適状態決定手段11031等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力手段1104は、評定手段1103における評定結果を出力する。出力手段1104の出力態様は、種々考えられる。出力とは、ディスプレイへの表示、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積等を含む概念である。出力手段1104は、例えば、評定結果を視覚的に表示する。出力手段1104は、例えば、フレーム単位、または/および音素・単語単位、または/および発声全体の評定結果を視覚的に表示する。出力手段1104は、ディスプレイ344やスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力手段1104は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、本音声処理装置の動作について図2、図3のフローチャートを用いて説明する。
(ステップS201)入力受付部101は、音声処理装置の動作開始を指示する動作開始指示を受け付けたか否かを判断する。動作開始指示を受け付ければステップS202に行き、動作開始指示を受け付けなければステップS217に飛ぶ。
(ステップS202)音声受付部103は、音声を受け付けたか否かを判断する。音声を受け付ければステップS203に行き、音声を受け付けなければステップS216に飛ぶ。
(ステップS203)サンプリング部106は、第一サンプリング周波数格納部105に格納されている第一サンプリング周波数を読み込み、当該第一サンプリング周波数で、音声受付部103が受け付けた音声をサンプリングし、第一音声データを得る。
(ステップS204)声道長正規化処理部109は、音声受付部103が受け付けた音声から、第二音声データを得る。かかる第二音声データを得る処理である声道長正規化処理の詳細については、図3のフローチャートを用いて、詳細に説明する。なお、声道長正規化処理は、個人差を吸収する評定のための前処理である。
(ステップS205)フレーム区分手段1101は、ステップS204で得た第二音声データを図示しないバッファに一時格納する。
(ステップS206)フレーム区分手段1101は、バッファに一時格納した第二音声データをフレームに区分する。かかる段階で、区分されたフレーム毎の音声データであるフレーム音声データが構成されている。フレーム区分手段1101が行うフレーム分割の処理は、例えば、フレーム音声データ取得手段1102がフレーム音声データを取り出す際の前処理であり、入力された音声のデータを、すべてのフレームに一度に分割するとは限らない。
(ステップS207)フレーム音声データ取得手段1102は、カウンタiに1を代入する。
(ステップS208)フレーム音声データ取得手段1102は、i番目のフレームが存在するか否かを判断する。i番目のフレームが存在すればステップS209に行き、i番目のフレームが存在しなければステップS211に行く。
(ステップS209)フレーム音声データ取得手段1102は、i番目のフレーム音声データを取得する。フレーム音声データの取得とは、例えば、当該分割された音声データを音声分析し、特徴ベクトルデータを抽出することである。なお、フレーム音声データは、例えば、入力された音声データをフレーム分割されたデータである。また、フレーム音声データは、例えば、当該分割された音声データから音声分析され、抽出された特徴ベクトルデータを有する。本特徴ベクトルデータは、例えば、三角型フィルタを用いたチャネル数24のフィルタバンク出力を離散コサイン変換したMFCCであり、その静的パラメータ、デルタパラメータおよびデルタデルタパラメータをそれぞれ12次元、さらに正規化されたパワーとデルタパワーおよびデルタデルタパワー(39次元)を有する。
(ステップS210)フレーム音声データ取得手段1102は、カウンタiを1、インクリメントする。ステップS208に戻る。
(ステップS211)最適状態決定手段11031は、全フレームの最適状態を決定する。最適状態決定手段11031が最適状態を決定するアルゴリズムは、例えば、Viterbiアルゴリズムによる。Viterbiアルゴリズムは、公知のアルゴリズムであるので、詳細な説明は省略する。
(ステップS212)最適状態確率値取得手段11032は、全フレームの全状態の前向き尤度、および後向き尤度を算出する。最適状態確率値取得手段11032は、例えば、全てのHMMを用いて、フォワード・バックワードアルゴリズムにより、前向き尤度、および後向き尤度を算出する。
(ステップS213)最適状態確率値取得手段11032は、ステップS212で取得した前向き尤度、および後向き尤度を用いて、最適状態の確率値(最適状態確率値)を、すべて算出する。
(ステップS214)評定値算出手段11033は、ステップS213で算出した1以上の最適状態確率値から、1以上のフレームの音声の評定値を算出する。評定値算出手段11033が評定値を算出する関数は問わない。評定値算出手段11033は、例えば、取得した最適状態確率値と、当該最適状態確率値に対応するフレームの全状態における確率値の総和をパラメータとして音声の評定値を算出する。詳細については、後述する。
(ステップS215)出力手段1104は、ステップS214における評定結果(ここでは、音声の評定値)を、設定されている出力モードに従って、出力する。ステップS202に戻る。出力モードとは、評定値を数値で画面に表示するモード、評定値の遷移をグラフで画面に表示するモード、評定値を音声で出力するモード、評定値が所定の数値より低い場合に警告を示す情報を表示するモードなど、何でも良い。なお、ここでの出力モードは、ステップS218で設定されるモードである。
(ステップS216)音声受付部103は、タイムアウトか否かを判断する。つまり、音声受付部103は、所定の時間以上、音声の入力を受け付けなかったか否かを判断する。タイムアウトであればステップS201に戻り、タイムアウトでなければステップS202に戻る。
(ステップS217)入力受付部101は、出力態様変更指示を受け付けたか否かを判断する。出力態様変更指示を受け付ければステップS218に行き、出力態様変更指示を受け付なければステップS219に飛ぶ。出力態様変更指示は、上述した出力モードを有する情報である。
(ステップS218)出力手段1104は、ステップS217で受け付けた出力態様変更指示が有する出力モードを示す情報を書き込み、出力モードを設定する。ステップS201に戻る。
(ステップS219)入力受付部101は、終了指示を受け付けたか否かを判断する。終了指示を受け付ければ処理を終了し、終了指示を受け付なければステップS201に戻る。
なお、図2のフローチャートにおいて、本発音評定装置は、出力モードの設定機能を有しなくても良い。
次に、ステップS204における声道長正規化処理の詳細について、図3のフローチャートを用いて説明する。
(ステップS301)評価対象者フォルマント周波数取得部107は、サンプリング部106のサンプリング処理により得られた第一音声データから、評価対象者フォルマント周波数(Fi)を取得し、評価対象者フォルマント周波数格納部108に一時格納する。評価対象者フォルマント周波数は、例えば、第二フォルマント周波数(F2)である。
(ステップS302)声道長正規化処理部109は、第一サンプリング周波数格納部105の第一サンプリング周波数(Fs)を読み出す。
(ステップS303)声道長正規化処理部109は、教師データフォルマント周波数格納部104の教師データフォルマント周波数を読み出す。
(ステップS304)声道長正規化処理部109は、ステップS301で取得した評価対象者フォルマント周波数と、ステップS303で読み出した教師データフォルマント周波数から周波数軸変換率を算出する。具体的には、声道長正規化処理部109は、演算「教師データフォルマント周波数/評価対象者フォルマント周波数」を行い、周波数軸変換率(r)を得る。
(ステップS305)声道長正規化処理部109は、ステップS302で読み出した第一サンプリング周波数(Fs)と周波数軸変換率(r)に基づいて、演算「Fs/r」を行い、第二サンプリング周波数(Fs/r)を得る。
(ステップS306)声道長正規化処理部109は、サンプリング部106がサンプリングして得た第一音声データに対して、第二サンプリング周波数(Fs/r)で、リサンプリング処理を行い、第二音声データを得る。なお、リサンプリング処理は公知技術であるので、詳細な説明を省略する。上位関数にリターンする。
なお、図2、図3のフローチャートにおいて、声道長正規化処理を行う対象の音声と、評価対象の音声が異なっても良い。つまり、例えば、音声受付部103は、所定の1以上の母音(例えば、「う」)の音声を受け付けた後、評価対象者の音声を受け付け、評価対象者フォルマント周波数取得部107は、当該1以上の母音の音声に基づいて、評価対象者フォルマント周波数を取得し、声道長正規化処理部109は、当該評価対象者フォルマント周波数をパラメータとして、声道長正規化処理を行う。そして、音声処理部110は、所定の母音の音声を受け付けた後に受け付けた音声を処理し、当該音声の評価を行っても良い。
以下、本実施の形態における音声処理装置の具体的な動作について説明する。本具体例において、音声処理装置が語学学習に利用される場合について説明する。
まず、本音声処理装置において、図示しない手段により、ネイティブ発音の音声データベースからネイティブ発音の音韻HMMを学習しておく。ここで、音韻の種類数をLとし、l番目の音韻に対するHMMをλlとする。なお、かかる学習の処理については、公知技術であるので、詳細な説明は省略する。なお、HMMの仕様の例について、図4に示す。なお、HMMの仕様は、他の実施の形態における具体例の説明においても同様である。ただし、HMMの仕様が、他の仕様でも良いことは言うまでもない。
そして、図示しない手段により、学習したL種類の音韻HMMから、学習対象の単語や文章などの音声を構成する1以上の音素に対応するHMMを取得し、当該取得した1以上のHMMを、音素の順序で連結した教師データを構成する。そして、当該教師データを教師データ格納部102に保持しておく。ここでは、例えば、比較される対象の音声は、単語「right」の音声である。また、ここでは、教師データを発声した者(教師)は、大人である、とする。
次に、学習者(評価対象者)が、語学学習の開始の指示である動作開始指示を入力する。かかる指示は、例えば、マウスで所定のボタンを押下することによりなされる。なお、ここでは、学習者は、例えば、子供(5歳から11歳)である、とする。
まず、学習者は、母音「う」を発音する、とする。かかる場合、本音声処理装置は、学習に、「う」を発声するように促すことは好適である。「う」を発声するように促すために、音声処理装置は、例えば、「"う"と発声してください。」と画面出力しても良いし、「"う"と発声してください。」と音声出力しても良い。また、母音「う」は、学習者の評価対象者フォルマント周波数を取得するために好適である。また、本音声処理装置は、第一サンプリング周波数として、「22.05KHz」を保持している、とする。
そして、次に、サンプリング部106は、音声受付部103が受け付けた音声「う」をサンプリングし、「う」の第一音声データを得る。
次に、評価対象者フォルマント周波数取得部107は、サンプリング部106が音声「う」をサンプリングして得た第一音声データから、第二フォルマント周波数を取得する。そして、この第二フォルマント周波数を評価対象者フォルマント周波数(Fiとする。今、このFiが「1725Hz」であった、とする。そして、評価対象者フォルマント周波数取得部107は、Fi(1725Hz)を、評価対象者フォルマント周波数格納部108に一時格納する。
次に、声道長正規化処理部109は、教師データフォルマント周波数格納部104の教師データフォルマント周波数を読み出す。教師データフォルマント周波数格納部104に格納されている教師データフォルマント周波数は、大人の第二フォルマント周波数であり、今、「1184Hz」である、とする。また、教師データフォルマント周波数は、例えば、教師データを構築する場合に、教師に、例えば、「う」と発声してもらい、当該音声「う」をサンプリング処理した後、取得した第二フォルマント周波数である。
なお、図5に、年齢層別、性別ごとの、「う」の第一フォルマント周波数(F1)、第二フォルマント周波数(F2)の計測結果を示す。図5により、年齢、性別により、第一フォルマント周波数(F1)、第二フォルマント周波数(F2)の値が大きく異なることが分る。
そして、次に、声道長正規化処理部109は、評価対象者フォルマント周波数「1725Hz」と教師データフォルマント周波数「1184Hz」から演算「教師データフォルマント周波数/評価対象者フォルマント周波数」を行い、周波数軸変換率(r)を得る。具体的には、声道長正規化処理部109は、「1184/1725」により、周波数軸変換率「0.686」を得る。
次に、声道長正規化処理部109は、第一サンプリング周波数(Fs)と「r」に基づいて、演算「Fs/r」を行い、第二サンプリング周波数(Fs/r)を得る。ここで、得た第二サンプリング周波数は、「22.05/0.686」により、「32.1」である。そして、声道長正規化処理部109は、第二サンプリング周波数「32.1KHz」を一時格納する。
次に、学習者は、学習対象の音声「right」を発音する。そして、音声受付部103は、学習者が発音した音声の入力を受け付ける。なお、音声処理装置は、学習者に「"right"を発音してください。」などを表示、または音声出力するなどして、学習者に「right」の発声を促すことは好適である。
次に、サンプリング部106は、受け付けた音声「right」をサンプリング周波数「22.05KHz」でサンプリング処理する。そして、サンプリング部106は、音声「right」の第一音声データを得る。
次に、声道長正規化処理部109は、「right」の第一音声データを第二サンプリング周波数「32.1KHz」でリサンプリング処理する。そして、声道長正規化処理部109は、第二音声データを得る。
次に、音声処理部110は、第二音声データを、以下のように処理する。
まず、フレーム区分手段1101は、第二音声データを、短時間フレームに区分する。なお、フレームの間隔は、予め決められている、とする。
そして、フレーム音声データ取得手段1102は、フレーム区分手段1101が区分した音声データを、スペクトル分析し、特徴ベクトル系列「O=o1,o2,・・・,oT」を算出する。なお、Tは、系列長である。ここで、特徴ベクトル系列は、各フレームの特徴ベクトルの集合である。また、特徴ベクトルは、例えば、三角型フィルタを用いたチャネル数24のフィルタバンク出力を離散コサイン変換したMFCCであり、その静的パラメータ、デルタパラメータおよびデルタデルタパラメータをそれぞれ12次元、さらに正規化されたパワーとデルタパワーおよびデルタデルタパワー(39次元)を有する。また、スペクトル分析において、ケプストラム平均除去を施すことは好適である。なお、音声分析条件の例を図6の表に示す。なお、音声分析条件は、他の実施の形態における具体例の説明においても同様である。ただし、音声分析条件が、他の条件でも良いことは言うまでもない。また、音声分析の際のサンプリング周波数は、第一サンプリング周波数「22.05KHz」である。
次に、最適状態決定手段11031は、取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、所定のフレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。最適状態決定手段11031が最適状態を決定するアルゴリズムは、例えば、Viterbiアルゴリズムによる。かかる場合、最適状態決定手段11031は、上記で連結したHMMを用いて最適状態を決定する。最適状態決定手段11031は、2以上のフレームの最適状態である最適状態系列を求めることとなる。
次に、最適状態確率値取得手段11032は、以下の数式1により、最適状態(qt *)における最適状態確率値(γt(qt *))を算出する。なお、γt(qt *)は、状態jの事後確率関数γt(j)のjにqt *を代入した値である。そして、状態jの事後確率関数γt(j)は、数式2を用いて算出される。この確率値(γt(j))は、t番目の特徴ベクトルotが状態jから生成された事後確率であり、動的計画法を用いて算出される。なお、jは、状態を識別する状態識別子である。
数式2において、qtは、otに対する状態識別子を表す。この確率値(γt(j))は、HMMの最尤推定におけるBaum−Welchアルゴリズムの中で表れる占有度数に対応する。
数式2において、「αt(j)」「βt(j)」は、全部のHMMを用いて、forward−backwardアルゴリズムにより算出される。「αt(j)」は前向き尤度、「βt(j)」は後向き尤度である。Baum−Welchアルゴリズム、forward−backwardアルゴリズムは、公知のアルゴリズムであるので、詳細な説明は省略する。
また、数式2において、Nは、全HMMに渡る状態の総数を示す。
なお、評定手段1103は、まず最適状態を求め、次に、最適状態の確率値(なお、確率値は、0以上、1以下である。)を求めても良いし、評定手段1103は、まず、全状態の確率値を求め、その後、特徴ベクトル系列の各特徴ベクトルに対する最適状態を求め、当該最適状態に対応する確率値を求めても良い。
次に、評定値算出手段11033は、例えば、上記の取得した最適状態確率値と、当該最適状態確率値に対応するフレームの全状態における確率値の総和をパラメータとして音声の評定値を算出する。かかる場合、もし学習者のtフレーム目に対応する発声が、教師データが示す発音(例えば、正しいネイティブな発音)に近ければ、数式2の(2)式の分子の値が、他の全ての可能な音韻の全ての状態と比較して大きくなり、結果的に最適状態の確率値(評定値)が大きくなる。逆にその区間が、教師データが示す発音に近くなければ、評定値は小さくなる。なお、どのネイティブ発音にも近くないような場合は、評定値はほぼ1/Nに等しくなる。Nは全ての音韻HMMにおける全ての状態の数であるから、通常、大きな値となり、この評定値は十分小さくなる。また、ここでは、評定値は最適状態における確率値と全ての可能な状態における確率値との比率で定義されている。したがって、収音環境等の違いにより多少のスペクトルの変動があったとしても、学習者が正しい発音をしていれば、その変動が相殺され評定値が高いスコアを維持する。よって、評定値算出手段11033は、最適状態確率値取得手段11032が取得した確率値と、当該確率値に対応するフレームの全状態における確率値の総和をパラメータとして音声の評定値を算出することは、極めて好適である。
かかる評定値算出手段11033が算出した評定値(「DAPスコア」とも言う。)の出力例を、図7、図8に示す。図7、図8において、横軸は分析フレーム番号、縦軸はスコアを%で表わしたものである。太い破線は音素境界,細い点線は状態境界(いずれもViterbiアルゴリズムで求まったもの)を表わしており,図の上部に音素名を表記している。図7は、アメリカ人男性による英語「right」の発音のDAPスコアを示す。なお、評定値を示すグラフの横軸、縦軸は、後述するグラフにおいても同様である。
図8は、日本人男性による英語「right」の発音のDAPスコアを示す。アメリカ人の発音は、日本人の発音と比較して、基本的にスコアが高い。なお、図7において、状態の境界において所々スコアが落ち込んでいることがわかる。
そして、出力手段1104は、評定手段1103の評定結果を出力する。具体的には、例えば、出力手段1104は、図9に示すような態様で、評定結果を出力する。つまり、出力手段1104は、各フレームにおける発音の良さを表すスコア(スコアグラフ)として、各フレームの評定値を表示する。その他、出力手段1104は、学習対象の単語の表示(単語表示)、音素要素の表示(音素表示)、教師データの波形の表示(教師波形)、学習者の入力した発音の波形の表示(ユーザ波形)を表示しても良い。なお、図9において、「録音」ボタンを押下すれば、動作開始指示が入力されることとなり、「停止」ボタンを押下すれば、終了指示が入力されることとなる。また、音素要素の表示や波形の表示をする技術は公知技術であるので、その詳細説明を省略する。また、本音声処理装置は、学習対象の単語(図9の「word1」など)や、音素(図9の「p1」など)や、教師波形を出力されるためのデータを予め格納している、とする。
また、図9において、フレーム単位以外に、音素単位、単語単位、発声全体の評定結果を表示しても良い。上記の処理において、フレーム単位の評定値を算出するので、単語単位、発声全体の評定結果を得るためには、フレーム単位の1以上の評定値をパラメータとして、単語単位、発声全体の評定値を算出する必要がある。かかる算出式は問わないが、例えば、単語を構成するフレーム単位の1以上の評定値の平均値を単語単位の評定値とする、ことが考えられる。
なお、図9において、音声処理装置は、波形表示(教師波形またはユーザ波形)の箇所においてクリックを受け付けると、再生メニューを表示し、音素区間内ではその音素またはその区間が属する単語、波形全体を再生し、単語区間外(無音部)では波形全体のみを再生するようにしても良い。
また、出力手段1104の表示は、図10に示すような態様でも良い。図10において、音素ごとのスコア、単語のスコア、総合スコアが、数字で表示されている。
なお、出力手段1104の表示は、図7、図8のような表示でも良いことは言うまでもない。
以上、本実施の形態によれば、ユーザが入力した発音を、教師データに対して、如何に似ているかを示す類似度(評定値)を算出し、出力できる。また、かかる場合、本実施の形態によれば、個人差、特に声道長の違いに影響を受けない、精度の高い評定ができる。
また、本実施の形態によれば、連結されたHMMである連結HMMを用いて最適状態を求め、評定値を算出するので、高速に評定値を求めることができる。したがって、上記の具体例で述べたように、リアルタイムに、フレームごと、音素ごと、単語ごとの評定値を出力できる。また、本実施の形態によれば、動的計画法に基づいた事後確率を確率値として算出するので、さらに高速に評定値を求めることができる。また、本実施の形態によれば、フレームごとに確率値を算出するので、上述したように、フレーム単位だけではなく、または/および音素・単語単位、または/および発声全体の評定結果を出力でき、出力態様の自由度が高い。
また、本実施の形態によれば、音声処理装置は、語学学習に利用することを主として説明したが、物真似練習や、カラオケ評定や、歌唱評定などに利用できる。つまり、本音声処理装置は、比較される対象の音声に関するデータとの類似度を精度良く、高速に評定し、出力でき、そのアプリケーションは問わない。つまり、例えば、本音声処理装置は、カラオケ評価装置であって、音声受付部は、評価対象者の歌声の入力を受け付け、音声処理部は、前記歌声を評価する、という構成でも良い。かかることは、他の実施の形態においても同様である。
また、本実施の形態において、音声の入力を受け付けた後または停止ボタン操作後に、スコアリング処理を実行するかどうかをユーザに問い合わせ、スコアリング処理を行うとの指示を受け付けた場合のみ、図10に示すような音素スコア、単語スコア、総合スコアを出力するようにしても良い。かかることも、他の実施の形態においても同様である。
また、本実施の形態において、教師データは、比較される対象の音声に関するデータであり、音韻毎の隠れマルコフモデル(HMM)に基づくデータであるとして、主として説明したが、必ずしもHMMに基づくデータである必要はない。教師データは、単一ガウス分布モデルや、確率モデル(GMM:ガウシャンミクスチャモデル)や統計モデルなど、他のモデルに基づくデータでも良い。かかることも、他の実施の形態においても同様である。
また、本実施の形態の具体例において、学習者は、母音「う」を発音し、音声処理装置は、かかる音声から第二サンプリング周波数を得た。しかし、学習者は、例えば、母音「あいえお」等、1以上の母音を発音し、かかる母音の音声から、音声処理装置は、第二サンプリング周波数を得ても良い。つまり、第二サンプリング周波数を得るために、学習者が発音する音は「う」に限られない。
また、本実施の形態において、音声処理装置は、声道長正規化処理部109において、声道長正規化パラメータ「r」を算出した。しかし、別途、声道長正規化パラメータ「1/r」を算出しておいて、かかる声道長正規化パラメータ「1/r」を声道長正規化パラメータ格納部に格納していても良い。かかる場合、音声処理装置は、音声を受け付ける音声受付部と、第一サンプリング周波数を格納している第一サンプリング周波数格納部と、サンプリング周波数の変換率に関する情報である声道長正規化パラメータを格納している声道長正規化パラメータ格納部と、前記声道長正規化パラメータと前記第一サンプリング周波数をパラメータとして算出される第二サンプリング周波数で、前記音声受付部が受け付けた音声に対して、サンプリング処理を行い、第二音声データを得る声道長正規化処理部と、前記第二音声データを処理する音声処理部を具備する音声処理装置、である。かかる場合、音声処理装置は、教師データフォルマント周波数格納部104、評価対象者フォルマント周波数取得部107、評価対象者フォルマント周波数格納部108は、必須ではない。かかることも、他の実施の形態においても同様である。
また、本実施の形態において、音声処理装置が行う下記の処理を、一のDSP(デジタルシグナルプロセッサ)で行っても良い。つまり、本DSPは、第一サンプリング周波数を格納している第一サンプリング周波数格納部と、前記第一サンプリング周波数で、受け付けた音声をサンプリングし、第一音声データを取得するサンプリング部と、前記教師データのフォルマント周波数である教師データフォルマント周波数を格納している教師データフォルマント周波数格納部と、前記音声の話者である評価対象者のフォルマント周波数である評価対象者フォルマント周波数を格納している評価対象者フォルマント周波数格納部と、第二サンプリング周波数「前記第一サンプリング周波数/(教師データフォルマント周波数/評価対象者フォルマント周波数)」で、前記受け付けた音声に対して、サンプリング処理を行い、第二音声データを得る声道長正規化処理部を具備するデジタルシグナルプロセッサ、である。かかることも、他の実施の形態でも同様である。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における音声処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、第一サンプリング周波数で、受け付けた音声をサンプリングし、第一音声データを取得するサンプリングステップと、第二サンプリング周波数「第一サンプリング周波数/(教師データフォルマント周波数/評価対象者フォルマント周波数)」で、前記音声受付ステップで受け付けた音声に対して、サンプリング処理を行い、第二音声データを得る声道長正規化処理ステップと、前記第二音声データを処理する音声処理ステップを実行させるためのプログラム、である。
また、上記プログラムにおいて、音声処理ステップは、前記第二音声データを、フレームに区分するフレーム区分ステップと、前記区分されたフレーム毎の音声データであるフレーム音声データを1以上得るフレーム音声データ取得ステップと、前記教師データと前記1以上のフレーム音声データに基づいて、前記受け付けた音声の評定を行う評定ステップと、前記評定ステップにおける評定結果を出力する出力ステップを具備する、ことは好適である。
さらに、上記プログラムにおいて、前記評定ステップは、前記1以上のフレーム音声データのうちの少なくとも一のフレーム音声データに対する最適状態を決定する最適状態決定ステップと、前記最適状態決定ステップで決定した最適状態における確率値を取得する最適状態確率値取得ステップと、前記最適状態確率値取得ステップで取得した確率値をパラメータとして音声の評定値を算出する評定値算出ステップを具備することは好適である。
(実施の形態2)
本実施の形態における音声処理装置は、実施の形態1の音声処理装置と比較して、評定部における評定アルゴリズムが異なる。本実施の形態において、評定値は、最適状態を含む音韻の中の全状態の確率値を発音区間で評価して、算出される。本実施の形態における音声処理装置が算出する事後確率を、実施の形態1におけるDAPに対してt−p−DAPと呼ぶ。
図11は、本実施の形態における音声処理装置のブロック図である。本音声処理装置は、入力受付部101、教師データ格納部102、音声受付部103、教師データフォルマント周波数格納部104、第一サンプリング周波数格納部105、サンプリング部106、評価対象者フォルマント周波数取得部107、評価対象者フォルマント周波数格納部108、声道長正規化処理部109、音声処理部1110、発声催促部1109を具備する。
音声処理部1110は、フレーム区分手段1101、フレーム音声データ取得手段1102、評定手段11103、出力手段1104を具備する。
評定手段11103は、最適状態決定手段11031、発音区間フレーム音韻確率値取得手段111032、評定値算出手段111033を具備する。
発音区間フレーム音韻確率値取得手段111032は、最適状態決定手段11031が決定した各フレームの最適状態を有する音韻全体の状態における1以上の確率値を、発音区間毎に取得する。
評定値算出手段111033は、発音区間フレーム音韻確率値取得手段111032が取得した1以上の発音区間毎の1以上の確率値をパラメータとして音声の評定値を算出する。評定値算出手段111033は、例えば、最適状態決定手段11031が決定した各フレームの最適状態を有する音韻全体の状態における1以上の確率値の総和を、フレーム毎に得て、当該フレーム毎の確率値の総和に基づいて、発音区間毎の確率値の総和の時間平均値を1以上得て、当該1以上の時間平均値をパラメータとして音声の評定値を算出する。
発音区間フレーム音韻確率値取得手段111032、および評定値算出手段111033は、通常、MPUやメモリ等から実現され得る。発音区間フレーム音韻確率値取得手段111032等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
発声催促部1109は、入力受付部101が、動作開始指示を受け付けた場合、第二サンプリング周波数を算出するために、評価対象者に発声を促す処理を行ったり、評価対象者の発音評定のために発声を促す処理を行ったりする。評価対象者に発声を促す処理は、例えば、「〜を発音してください。」とディスプレイに表示したり、「〜を発音してください。」とスピーカーから音出力したりする処理である。発声催促部1109は、ディスプレイ344やスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。発声催促部1109は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、本音声処理装置の動作について図12から図14のフローチャートを用いて説明する。図12等のフローチャートにおいて、図2、図3のフローチャートと異なるステップについてのみ説明する。
(ステップS1201)発声催促部1109は、第二サンプリング周波数算出用の発声を促すために、例えば、母音「う」と発声してください、とディスプレイに表示する。
(ステップS1202)音声受付部103は、音声を受け付けたか否かを判断する。音声を受け付ければステップS1203に行き、音声を受け付けなければステップS213に行く。
(ステップS1203)サンプリング部106は、第一サンプリング周波数格納部105に格納されている第一サンプリング周波数を読み込み、当該第一サンプリング周波数で、ステップS1202で受け付けた音声をサンプリングし、第一音声データを得る。
(ステップS1204)声道長正規化処理部109は、ステップS1203で得た第一音声データから、第二サンプリング周波数を得る。かかる第二サンプリング周波数算出処理は、図13のフローチャートを用いて説明する。
(ステップS1205)発声催促部1109は、評定用の発声を促すために、例えば、「right」と発声してください、とディスプレイに表示する。
(ステップS1206)音声受付部103は、音声を受け付けたか否かを判断する。音声を受け付ければステップS1207に行き、音声を受け付けなければステップS213に行く。
(ステップS1207)サンプリング部106は、第一サンプリング周波数格納部105に格納されている第一サンプリング周波数を読み込み、当該第一サンプリング周波数で、ステップS1206で受け付けた音声をサンプリングし、第一音声データを得る。
(ステップS1208)声道長正規化処理部109は、ステップS1207で得た第一音声データに対して、ステップS1204で得た第二サンプリング周波数で、リサンプリングし、第二音声データを得る。
(ステップS1209)音声処理部1110は、ステップS1208で得た第二音声データに対して、評定処理を行う。評定処理の詳細は、図14のフローチャートを用いて説明する。ステップS1202に戻る。
なお、図12のフローチャートにおいて、第二サンプリング周波数を算出するための音声と、評定するための音声が同一または包含されていても良い。
ステップS1204の第二サンプリング周波数算出処理について、図13のフローチャートを用いて説明する。図13のフローチャートにおいて、図3のフローチャートにおけるステップS301からステップS305の処理を行う。
ステップS1209の評定処理について、図14のフローチャートを用いて説明する。
(ステップS1401)発音区間フレーム音韻確率値取得手段111032は、全フレームの全状態の前向き尤度と後向き尤度を算出する。そして、全フレーム、全状態の確率値を得る。具体的には、発音区間フレーム音韻確率値取得手段111032は、例えば、各特徴ベクトルが対象の状態から生成された事後確率を算出する。この事後確率は、HMMの最尤推定におけるBaum−Welchアルゴリズムの中で現れる占有度数に対応する。Baum−Welchアルゴリズムは、公知のアルゴリズムであるので、説明は省略する。
(ステップS1402)発音区間フレーム音韻確率値取得手段111032は、全フレームの最適状態確率値を算出する。
(ステップS1403)発音区間フレーム音韻確率値取得手段111032は、jに1を代入する。
(ステップS1404)発音区間フレーム音韻確率値取得手段111032は、次の評定対象の発音区間である、j番目の発音区間が存在するか否かを判断する。j番目の発音区間が存在すればステップS1405に行き、j番目の発音区間が存在しなければ上位関数にリターンする。
(ステップS1405)発音区間フレーム音韻確率値取得手段111032は、カウンタkに1を代入する。
(ステップS1406)発音区間フレーム音韻確率値取得手段111032は、k番目のフレームが、j番目の発音区間に存在するか否かを判断する。k番目のフレームが存在すればステップS1407に行き、k番目のフレームが存在しなければステップS1410に飛ぶ。
(ステップS1407)発音区間フレーム音韻確率値取得手段111032は、k番目のフレームの最適状態を含む音韻の全ての確率値を取得する。
(ステップS1408)評定値算出手段111033は、ステップS1407で取得した1以上の確率値をパラメータとして、1フレームの音声の評定値を算出する。
(ステップS1409)発音区間フレーム音韻確率値取得手段111032は、kを1、インクメントする。ステップS1406に戻る。
(ステップS1410)評定値算出手段111033は、j番目の発音区間の評定値を算出する。評定値算出手段111033は、例えば、最適状態決定手段11031が決定した各フレームの最適状態を有する音韻全体の状態における1以上の確率値の総和を、フレーム毎に得て、当該フレーム毎の確率値の総和に基づいて、発音区間の確率値の総和の時間平均値を、当該発音区間の音声の評定値として算出する。
(ステップS1411)出力手段1104は、ステップS1410で算出した評定値を出力する。
(ステップS1412)発音区間フレーム音韻確率値取得手段111032は、jを1、インクメントする。ステップS1404に戻る。
以下、本実施の形態における音声処理装置の具体的な動作について説明する。本実施の形態において、評定値の算出アルゴリズムが実施の形態1とは異なるので、その動作を中心に説明する。
まず、学習者(評価対象者)が、語学学習の開始の指示である動作開始指示を入力する。そして、音声処理装置は、当該動作開始指示を受け付け、次に、発声催促部1109は、例えば、「"う"と発声してください。」と画面出力する。
なお、ここでも、例えば、学習者は、実施の形態1と同様に子供である。また、教師データを作成するために発声した教師は、ネイティブの大人である、とする。かかることは、他の実施の形態の具体例の記載においても同様である、とする。
そして、評価対象者は、"う"と発声し、音声処理装置は、当該発声から、第二ンプリング周波数「32.1KHz」を得る。かかる処理は、実施の形態1において説明した処理と同様である。
次に、発声催促部1109は、例えば、「"right"と発声してください。」と画面出力する。そして、学習者は、学習対象の音声「right」を発音する。そして、音声受付部103は、学習者が発音した音声の入力を受け付ける。
次に、サンプリング部106は、受け付けた音声「right」をサンプリング周波数「22.05KHz」でサンプリング処理する。そして、サンプリング部106は、「right」の第一音声データを得る。
次に、声道長正規化処理部109は、「right」の第一音声データを第二サンプリング周波数「32.1KHz」でリサンプリング処理する。そして、声道長正規化処理部109は、第二音声データを得る。次に、音声処理部1110は、第二音声データを、以下のように処理する。
まず、フレーム区分手段1101は、「right」の第二音声データを、短時間フレームに区分する。
そして、フレーム音声データ取得手段1102は、フレーム区分手段1101が区分した音声データを、スペクトル分析し、特徴ベクトル系列「O=o1,o2,・・・,oT」を算出する。
次に、発音区間フレーム音韻確率値取得手段111032は、各フレームの各状態の事後確率(確率値)を算出する。確率値の算出は、上述した数式1、数式2により算出できる。
次に、最適状態決定手段11031は、取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、各フレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。つまり、最適状態決定手段11031は、最適状態系列を得る。なお、各フレームの各状態の事後確率(確率値)を算出する処理と、最適状態を決定する処理の処理順序は問わない。
次に、発音区間フレーム音韻確率値取得手段111032は、発音区間ごとに、当該発音区間に含まれる各フレームの最適状態を含む音韻の全ての確率値を取得する。そして、評定値算出手段111033は、各フレームの最適状態を含む音韻の全ての確率値の総和を、フレーム毎に算出する。そして、評定値算出手段111033は、フレーム毎に算出された確率値の総和を、発音区間毎に時間平均し、発音区間毎の評定値を算出する。具体的には、評定値算出手段111033は、数式3により評定値を算出する。数式3において、p−DAP(τ)は、各フレームにおける、すべての音韻の中で最適な音韻の事後確率(確率値)を表すように算出される評定値であり、数式4で算出され得る。なお、数式3のt−p−DAPは、最適状態を含む音韻の中の全状態の確率値を発音区間で評価して、算出される評定値である。また、数式3において、Τ(qt *)は、状態qt *を含むHMMが含まれる評定対象の発音区間である。|Τ(qt *)|は、Τ(qt *)の区間長である。また、数式4において、P(qt *)は、状態qt *を含むHMMが有する全状態識別子の集合である。
かかる評定値算出手段111033が算出した評定値(「t−p−DAPスコア」とも言う。)の出力例を、図15の表に示す。図15において、アメリカ人男性と日本人男性の評定結果を示す。PhonemeおよびWordは,t−p−DAPにおける時間平均の範囲を示す。ここでは、DAPの代わりにp−DAPの時間平均を採用したものである。図15において、アメリカ人男性の発音の評定値が日本人男性の発音の評定値より高く、良好な評定結果が得られている。
そして、出力手段1104は、算出した発音区間ごと(ここでは、音素毎)の評定値を、順次出力する。かかる出力例は、図16である。
以上、本実施の形態によれば、ユーザが入力した発音を、教師データに対して、如何に似ているかを示す類似度(評定値)を算出し、出力できる。また、かかる場合、本実施の形態によれば、個人差、特に声道長の違いに影響を受けない、精度の高い評定ができる。
また、本実施の形態によれば、連結されたHMMである連結HMMを用いて最適状態を求め、評定値を算出するので、高速に評定値を求めることができる。したがって、上記の具体例で述べたように、リアルタイムに、発音区間ごとの評定値を出力できる。また、本実施の形態によれば、動的計画法に基づいた事後確率を確率値として算出するので、さらに高速に評定値を求めることができる。
また、本実施の形態によれば、評定値を、発音区間の単位で算出でき、実施の形態1におけるような状態単位のDAPと比較して、本来、測定したい類似度(発音区間の類似度)を精度良く、安定して求めることができる。
さらに、本実施の形態における音声処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、第一サンプリング周波数で、受け付けた音声をサンプリングし、第一音声データを取得するサンプリングステップと、第二サンプリング周波数「第一サンプリング周波数/(教師データフォルマント周波数/評価対象者フォルマント周波数)」で、前記音声受付ステップで受け付けた音声に対して、サンプリング処理を行い、第二音声データを得る声道長正規化処理ステップと、前記第二音声データを処理する音声処理ステップを実行させるためのプログラム、である。
また、上記プログラムにおいて、音声処理ステップは、前記第二音声データを、フレームに区分するフレーム区分ステップと、前記区分されたフレーム毎の音声データであるフレーム音声データを1以上得るフレーム音声データ取得ステップと、前記教師データと前記1以上のフレーム音声データに基づいて、前記受け付けた音声の評定を行う評定ステップと、前記評定ステップにおける評定結果を出力する出力ステップを具備する、ことは好適である。
また、上記プログラムにおいて、前記評定ステップは、前記1以上のフレーム音声データの最適状態を決定する最適状態決定ステップと、前記最適状態決定ステップで決定した各フレームの最適状態を有する音韻全体の状態における1以上の確率値を、発音区間毎に取得する発音区間フレーム音韻確率値取得ステップと、前記発音区間フレーム音韻確率値取得ステップで取得した1以上の発音区間毎の1以上の確率値をパラメータとして音声の評定値を算出する評定値算出ステップを具備する、ことは好適である。
(実施の形態3)
本実施の形態において、比較対象の音声と入力音声の類似度を精度高く評定できる音声処理装置について説明する。特に、本音声処理装置は、無音区間を検知し、無音区間を考慮した類似度評定が可能な音声処理装置である。
図17は、本実施の形態における音声処理装置のブロック図である。本音声処理装置は、入力受付部101、教師データ格納部102、音声受付部103、教師データフォルマント周波数格納部104、第一サンプリング周波数格納部105、サンプリング部106、評価対象者フォルマント周波数取得部107、評価対象者フォルマント周波数格納部108、声道長正規化処理部109、音声処理部1710、発声催促部1109を具備する。
音声処理部1710は、フレーム区分手段1101、フレーム音声データ取得手段1102、特殊音声検知手段17101、評定手段17103、出力手段1104を具備する。
特殊音声検知手段17101は、無音データ格納手段171011、無音区間検出手段171012を具備する。
評定手段17103は、最適状態決定手段11031、最適状態確率値取得手段11032、評定値算出手段171033を具備する。
特殊音声検知手段17101は、フレーム毎の入力音声データに基づいて、特殊な音声が入力されたことを検知する。なお、ここで特殊な音声は、無音も含む。また、特殊音声検知手段17101は、例えば、フレームの最適状態の確率値を、ある音素区間において取得し、ある音素区間の1以上の確率値の総和が所定の値より低い場合(想定されている音素ではない、と判断できる場合)、当該音素区間において特殊な音声が入力されたと、検知する。かかる検知の具体的なアルゴリズムの例は後述する。特殊音声検知手段17101は、通常、MPUやメモリ等から実現され得る。特殊音声検知手段17101の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
無音データ格納手段171011は、無音を示すデータであり、HMMに基づくデータである無音データを格納している。無音データ格納手段171011は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
無音区間検出手段171012は、フレーム音声データ取得手段1102が取得したフレーム音声データ、および無音データ格納手段171011の無音データに基づいて、無音の区間を検出する。無音区間検出手段171012は、フレーム音声データ取得手段1102が取得したフレーム音声データと無音データの類似度が所定の値以上である場合に、当該フレーム音声データは無音区間のデータであると判断しても良い。また、無音区間検出手段171012は、下記で述べる最適状態確率値取得手段11032が取得した確率値が所定の値以下であり、かつ、フレーム音声データ取得手段1102が取得したフレーム音声データと無音データの類似度が所定の値以上である場合に、当該フレーム音声データは無音区間のデータであると判断しても良い。無音区間検出手段171012は、通常、MPUやメモリ等から実現され得る。無音区間検出手段171012の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
評定手段17103は、教師データと入力音声データと特殊音声検知手段17101における検知結果に基づいて、音声受付部103が受け付けた音声の評定を行う。「特殊音声検知手段17101における検知結果に基づく」とは、例えば、特殊音声検知手段17101が無音を検知した場合、当該無音の区間を無視することである。また、「特殊音声検知手段17101における検知結果に基づく」とは、例えば、特殊音声検知手段17101が置換や脱落などを検知した場合、当該置換や脱落などの検知により、評定値を所定数値分、減じて、評定値を算出することである。評定手段17103は、通常、MPUやメモリ等から実現され得る。評定手段17103の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
評定値算出手段171033は、無音区間検出手段171012が検出した無音区間を除いて、かつ最適状態確率値取得手段11032が取得した確率値をパラメータとして音声の評定値を算出する。なお、評定値算出手段171033は、上記確率値を如何に利用して、評定値を算出するかは問わない。評定値算出手段171033は、例えば、最適状態確率値取得手段11032が取得した確率値と、当該確率値に対応するフレームの全状態における確率値の総和をパラメータとして音声の評定値を算出する。評定値算出手段21023は、ここでは、通常、無音区間検出手段171012が検出した無音区間を除いて、フレームごとに評定値を算出する。なお、評定値算出手段171033は、かならずしも無音区間を除いて、評定値を算出する必要はない。評定値算出手段171033は、無音区間の影響を少なくするように評定値を算出しても良い。評定値算出手段171033は、通常、MPUやメモリ等から実現され得る。評定値算出手段171033の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、音声処理装置の動作について図18、図19のフローチャートを用いて説明する。なお、図18のフローチャートは、図12のフローチャートと比較して、ステップS1801の評定処理のみが異なるので、図18のフローチャートの説明は省略する。ステップS1801の評定処理の詳細について、図19のフローチャートを用いて説明する。
(ステップS1901)評定手段17103は、DAPの評定値を算出する。DAPの評定値を算出するアルゴリズムは、実施の形態1で説明済みであるので、詳細な説明は省略する。DAPの評定値を算出する処理は、図2のフローチャートの、ステップS211からS214の処理により行う。
(ステップS1902)特殊音声検知手段17101は、ステップS1901で算出した値が、所定の値より低いか否かを判断する。所定の値より低ければステップS1903に行き、所定の値より低くなければステップS1906に飛ぶ。
(ステップS1903)無音区間検出手段171012は、無音データと全教師データの確率値を取得する。
(ステップS1904)無音区間検出手段171012は、ステップS1903で取得した確率値の中で、無音データの確率値が最も高いか否かを判断する。無音データの確率値が最も高ければ(かかる場合、無音の区間であると判断する)ステップS1905に行き、無音データの確率値が最も高くなければステップS1906に行く。
(ステップS1905)無音区間検出手段171012は、カウンタiを1、インクリメントする。ステップS208に戻る。
(ステップS1906)出力手段1104は、ステップS1901で算出した評定値を出力する。
なお、図19のフローチャートにおいて、出力手段1104は、無音区間と判定した区間の評定値は出力しなかった(無音区間を無視した)が、特殊音声が検知された区間が無音区間である旨を明示したり、無音区間が存在する旨を明示したりする態様で出力しても良い。また、評定値算出手段171033は、発音区間や、それ以上の単位のスコアを算出する場合に、無音区間の評定値を無視して、スコアを算出することが好適であるが、無音区間の評定値の影響を、例えば、1/10にして、発音区間や発音全体のスコアを算出するなどしても良い。評定手段17103は、教師データと入力音声データと特殊音声検知手段17101における検知結果に基づいて、音声受付部103が受け付けた音声の評定を行えばよい。
また、図19のフローチャートにおいて、特殊音声検知手段17101は、i番目のフレーム音声データのDAPスコアに基づいて特殊音声を検知したが、例えば、実施の形態2で説明したt−p−DAPスコアに基づいて特殊音声を検知しても良い。
以下、本実施の形態における音声処理装置の具体的な動作について説明する。本実施の形態において、無音区間を考慮して評定値を算出するので、評定値の算出アルゴリズムが実施の形態1、実施の形態2とは異なる。そこで、その異なる処理を中心に説明する。
まず、学習者(評価対象者)が、語学学習の開始の指示である動作開始指示を入力する。そして、音声処理装置は、当該動作開始指示を受け付け、次に、例えば、「"う"と発声してください。」と画面出力する。
そして、評価対象者は、"う"と発声し、音声処理装置は、当該発声から、第二ンプリング周波数「32.1KHz」を得る。かかる処理は、実施の形態1等において説明した処理と同様である。
次に、発声催促部1109は、例えば、「"right"と発声してください。」と画面出力する。そして、学習者は、学習対象の音声「right」を発音する。そして、音声受付部103は、学習者が発音した音声の入力を受け付ける。
次に、サンプリング部106は、受け付けた音声「right」をサンプリング周波数「22.05KHz」でサンプリング処理する。そして、サンプリング部106は、「right」の第一音声データを得る。
次に、声道長正規化処理部109は、「right」の第一音声データを、第二サンプリング周波数「32.1KHz」でリサンプリング処理する。そして、声道長正規化処理部109は、第二音声データを得る。次に、音声処理部1710は、第二音声データを、以下のように処理する。
まず、フレーム区分手段1101は、「right」の第二音声データを、短時間フレームに区分する。
そして、フレーム音声データ取得手段1102は、フレーム区分手段1101が区分した音声データを、スペクトル分析し、特徴ベクトル系列「O=o1,o2,・・・,oT」を算出する。
次に、最適状態決定手段11031は、取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、所定のフレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。
次に、最適状態確率値取得手段11032は、上述した数式1、2により、最適状態における確率値を算出する。
次に、評定値算出手段171033は、例えば、最適状態決定手段11031が決定した最適状態を有する音韻全体の状態における1以上の確率値を取得し、当該1以上の確率値の総和をパラメータとして音声の評定値を算出する。つまり、評定値算出手段171033は、例えば、DAPスコアをフレーム毎に算出する。
そして、特殊音声検知手段17101は、算出されたフレームに対応する評定値(DAPスコア)を用いて、特殊な音声が入力されたか否かを判断する。具体的には、特殊音声検知手段17101は、例えば、評価対象のフレームに対して算出された評定値が、所定の数値より低ければ、特殊な音声が入力された、と判断する。なお、特殊音声検知手段17101は、一のフレームに対応する評定値が小さいからといって、直ちに特殊な音声が入力された、と判断する必要はない。つまり、特殊音声検知手段17101は、フレームに対応する評定値が小さいフレームが所定の数以上、連続する場合に、当該連続するフレーム群に対応する区間が特殊な音声が入力された区間と判断しても良い。
特殊音声検知手段17101が、特殊音声を検知する場合について説明する図を図20に示す。図20(a)の縦軸は、DAPスコアであり、横軸はフレームを示す。図20(a)において、(V)は、Viterbiアライメントを示す。図20(a)において、網掛けのフレーム群のおけるDAPスコアは、所定の値より低く、特殊音声の区間である、と判断される。
次に、特殊な音声が入力された、と判断した場合、無音区間検出手段171012は、無音データ格納手段171011から無音データを取得し、当該フレーム群と無音データとの類似度を算定し、類似度が所定値以上であれば当該フレーム群に対応する音声データが、無音データであると判断する。図20(b)は、無音データとの比較の結果、当該無音データとの類似度を示す事後確率の値(「DAPスコア」)が高いことを示す。その結果、無音区間検出手段171012は、当該特殊音声の区間は、無音区間である、と判断する。なお、図20(a)において、網掛けのフレーム群のおけるDAPスコアは、所定の値より低く、特殊音声の区間である、と判断され、かつ、無音データとの比較の結果、DAPスコアが低い場合には、無音区間ではない、と判断される。そして、かかる区間において、例えば、単に、発音が上手くなく、低い評定値が出力される。なお、図20(a)に示しているように、通常、無音区間は、第一のワード(「word1」)の最終音素の後半部、および第一のワードに続く第二のワード(「word2」)の第一音素の前半部のスコアが低い。
そして、出力手段1104は、出力する評定値から、無音データの区間の評定値を考慮しないように、無視する。
そして、出力手段1104は、各フレームに対応する評定値を出力する。この場合、例えば、無音データの区間の評定値は、出力されない。
かかる評定値の出力態様例は、例えば、図9、図10である。
なお、出力手段1104が行う出力は、無音区間の存在を示すだけの出力でも良い。
以上、本実施の形態によれば、ユーザが入力した発音を、教師データに対して、如何に似ているかを示す類似度(評定値)を算出し、出力できる。また、かかる場合、本実施の形態によれば、個人差、特に声道長の違いに影響を受けない、精度の高い評定ができる。さらに、本音声処理装置は、無音区間を考慮して類似度を評定するので、極めて正確な評定結果が得られる。
なお、無音区間のデータは、無視して評定結果を算出することは好適である。ただし、本実施の形態において、例えば、無音区間の評価の影響を他の区間と比較して少なくするなど、無視する以外の方法で、無音区間のデータを考慮して、評定値を出力しても良い。
また、本実施の形態の具体例によれば、DAPスコアを用いて、評定値を算出したが、無音の区間を考慮して評定値を算出すれば良く、上述した他のアルゴリズム(t−p−DAP等)、または、本明細書では述べていない他のアルゴリズムにより評定値を算出しても良い。つまり、本実施の形態によれば、教師データと入力音声データと特殊音声検知手段における検知結果に基づいて、音声受付部が受け付けた音声の評定を行い、特に、無音データを考慮して、評定値を算出すれば良い。
また、本実施の形態によれば、まず、DAPスコアが低い区間を検出してから、無音区間の検出をした。しかし、DAPスコアが低い区間を検出せずに、無音データとの比較により、無音区間を検出しても良い。
さらに、本実施の形態における音声処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、第一サンプリング周波数で、受け付けた音声をサンプリングし、第一音声データを取得するサンプリングステップと、第二サンプリング周波数「第一サンプリング周波数/(教師データフォルマント周波数/評価対象者フォルマント周波数)」で、前記音声受付ステップで受け付けた音声に対して、サンプリング処理を行い、第二音声データを得る声道長正規化処理ステップと、前記第二音声データを処理する音声処理ステップを実行させるためのプログラム、である。
また、上記プログラムにおいて、音声処理ステップは、前記第二音声データを、フレームに区分するフレーム区分ステップと、前記区分されたフレーム毎の音声データであるフレーム音声データを1以上得るフレーム音声データ取得ステップと、前記フレーム毎の入力音声データに基づいて、特殊な音声が入力されたことを検知する特殊音声検知ステップと、教師データと前記入力音声データと前記特殊音声検知ステップにおける検知結果に基づいて、前記受け付けた音声の評定を行う評定ステップと、前記評定ステップにおける評定結果を出力する出力ステップを具備する、ことは好適である。
また、上記プログラムにおいて、特殊音声検知ステップは、無音を示すHMMに基づくデータである無音データと、前記入力音声データに基づいて、無音の区間を検出する、ことは好適である。
(実施の形態4)
本実施の形態において、入力音声において、特殊音声を検知し、比較対象の音声と入力音声の類似度を精度高く評定できる音声処理装置について説明する。特に、本音声処理装置は、音韻の挿入を検知できる音声処理装置である。
図21は、本実施の形態における音声処理装置のブロック図である。本音声処理装置は、入力受付部101、教師データ格納部102、音声受付部103、教師データフォルマント周波数格納部104、第一サンプリング周波数格納部105、サンプリング部106、評価対象者フォルマント周波数取得部107、評価対象者フォルマント周波数格納部108、声道長正規化処理部109、音声処理部2110、発声催促部1109を具備する。
音声処理部2110は、フレーム区分手段1101、フレーム音声データ取得手段1102、特殊音声検知手段21101、評定手段21103、出力手段21104を具備する。なお、評定手段21103は、最適状態決定手段11031、最適状態確率値取得手段11032を具備する。
特殊音声検知手段21101は、一の音素の後半部および当該音素の次の音素の前半部の評定値が所定の条件を満たすことを検知する。後半部、および前半部の長さは問わない。特殊音声検知手段21101は、通常、MPUやメモリ等から実現され得る。特殊音声検知手段21101の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
評定手段21103は、特殊音声検知手段21101が所定の条件を満たすことを検知した場合に、少なくとも音素の挿入があった旨を示す評定結果を構成する。なお、評定手段21103は、実施の形態3で述べたアルゴリズムにより、特殊音声検知手段21101が所定の条件を満たすことを検知した区間に無音が挿入されたか否かを判断し、無音が挿入されていない場合に、他の音素が挿入されたと検知しても良い。また、評定手段21103は、無音が挿入されていない場合に、他の音韻HMMに対する確率値を算出し、所定の値より高い確率値を得た音韻が挿入された、との評定結果を得ても良い。なお、実施の形態3で述べた無音区間の検知は、無音音素の挿入の検知である、とも言える。評定手段21103は、通常、MPUやメモリ等から実現され得る。評定手段21103の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力手段21104は、評定手段21103における評定結果を出力する。ここでの評定結果は、音素の挿入があった旨を示す評定結果を含む。また、評定結果は、音素の挿入があった場合に、所定数値分、減じられて算出された評定値(スコア)のみでも良い。また、評定結果は、音素の挿入があった旨、および評定値(スコア)の両方であっても良い。なお、教師データにおいて想定されていない音素の挿入を検知した場合、通常、評定値は低くなる。ここで、出力とは、ディスプレイへの表示、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積等を含む概念である。出力手段21104は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力手段21104は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、音声処理装置の動作について、図22、図23のフローチャートを用いて説明する。なお、図22のフローチャートは、図12のフローチャートと比較して、ステップS2201の評定処理のみが異なるので、図22のフローチャートの説明は省略する。ステップS2201の評定処理の詳細について、図23のフローチャートを用いて説明する。図23のフローチャートにおいて、図2、図19のフローチャートの処理と同様の処理については、その説明を省略する。
(ステップS2301)特殊音声検知手段21101は、フレームに対応するデータを一時的に蓄積するバッファにデータが格納されているか否かを判断する。なお、格納されているデータは、ステップS1902で、所定の値より低い評定値と評価されたフレーム音声データ、または当該フレーム音声データから取得できるデータである。データが格納されていればステップS2307に行き、データが格納されていなければ上位関数にリターンする。
(ステップS2302)特殊音声検知手段21101は、バッファにデータが格納されているか否かを判断する。データが格納されていればステップS2307に行き、データが格納されていなければステップステップS2303に行く。
(ステップS2303)出力手段21104は、ステップS1901で算出した評定値を出力する。
(ステップS2304)特殊音声検知手段21101は、カウンタiを1、インクリメントする。ステップS208に戻る。
(ステップS2305)特殊音声検知手段21101は、バッファに、所定の値より低い評定値と評価されたフレーム音声データ、または当該フレーム音声データから取得できるデータを一時蓄積する。
(ステップS2306)特殊音声検知手段21101は、カウンタiを1、インクリメントする。ステップS208に戻る。
(ステップS2307)特殊音声検知手段21101は、カウンタjに1を代入する。
(ステップS2308)特殊音声検知手段21101は、j番目のデータが、バッファに存在するか否かを判断する。j番目のデータが存在すればステップS2309に行き、j番目のデータが存在しなければステップS2315に飛ぶ。
(ステップS2309)特殊音声検知手段21101は、j番目のデータに対応する最適状態の音素を取得する。
(ステップS2310)特殊音声検知手段21101は、j番目のデータに対する全教師データの確率値を算出し、最大の確率値を持つ音素を取得する。
(ステップS2311)特殊音声検知手段21101は、ステップS2309で取得した音素とステップS2310で取得した音素が異なる音素であるか否かを判断する。異なる音素であればステップS2312に行き、異なる音素でなければステップS2314に飛ぶ。
(ステップS2312)評定手段21103は、音素の挿入があった旨を示す評定結果を構成する。
(ステップS2313)特殊音声検知手段21101は、カウンタjを1、インクリメントする。ステップS2308に戻る。
(ステップS2314)出力手段21104は、バッファ中の全データに対応する全評定値を出力する。ここで、全評定値とは、例えば、フレーム毎のDAPスコアである。ステップS2313に行く。
(ステップS2315)出力手段21104は、評定結果に「挿入の旨」の情報が入っているか否かを判断する。「挿入の旨」の情報が入っていればステップS2316に行き、「挿入の旨」の情報が入っていなければステップS2317に行く。
(ステップS2316)出力手段21104は、評定結果を出力する。
(ステップS2317)出力手段21104は、バッファをクリアする。ステップS208に戻る。
なお、図23のフローチャートにおいて、評定値の低いフレームが2つの音素に渡って存在すれば、音素の挿入があったと判断した。つまり、一の音素の後半部(少なくとも最終フレーム)および当該音素の次の音素の第一フレームの評定値が所定値より低い場合に、音素の挿入があったと判断した。しかし、図23のフローチャートにおいて、一の音素の所定区間以上の後半部、および当該音素の次の音素の所定区間以上の前半部の評定値が所定値よりすべて低い場合に、音素の挿入があったと判断するようにしても良い。
以下、本実施の形態における音声処理装置の具体的な動作について説明する。本実施の形態において、音素の挿入の検知を行う処理が実施の形態3等とは異なる。そこで、その異なる処理を中心に説明する。
まず、学習者(評価対象者)が、語学学習の開始の指示である動作開始指示を入力する。そして、音声処理装置は、当該動作開始指示を受け付け、次に、例えば、「"あ"と発声してください。」と画面出力する。
そして、学習者は、"あ"と発声し、音声処理装置は、当該発声から、第二ンプリング周波数「32.1KHz」を得る。かかる処理は、実施の形態1等において説明した処理と同様である。
次に、発声催促部1109は、例えば、「"right"と発声してください。」と画面出力する。そして、学習者は、学習対象の音声「right」を発音する。そして、音声受付部103は、学習者が発音した音声の入力を受け付ける。
次に、サンプリング部106は、受け付けた音声「right」をサンプリング周波数「22.05KHz」でサンプリング処理する。そして、サンプリング部106は、「right」の第一音声データを得る。
次に、声道長正規化処理部109は、「right」の第一音声データを第二サンプリング周波数「32.1KHz」でリサンプリング処理する。そして、声道長正規化処理部109は、第二音声データを得る。次に、音声処理部2110は、第二音声データを、以下のように処理する。
まず、フレーム区分手段1101は、「right」の第二音声データを、短時間フレームに区分する。
そして、フレーム音声データ取得手段1102は、フレーム区分手段1101が区分した音声データを、スペクトル分析し、特徴ベクトル系列「O=o1,o2,・・・,oT」を算出する。
次に、評定手段21103の最適状態決定手段11031は、取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、所定のフレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。
次に、最適状態確率値取得手段11032は、上述した数式1、2により、最適状態における確率値を算出する。
次に、評定手段21103は、例えば、最適状態決定手段11031が決定した最適状態を有する音韻全体の状態における1以上の確率値を取得し、当該1以上の確率値の総和をパラメータとして音声の評定値を算出する。つまり、評定手段21103は、例えば、DAPスコアをフレーム毎に算出する。ここで、算出するスコアは、上述したt−p−DAPスコア等でも良い。
そして、特殊音声検知手段21101は、算出されたフレームに対応する評定値を用いて、特殊な音声が入力されたか否かを判断する。つまり、評定値(例えば、DAPスコア)が、所定の値より低い区間が存在するか否かを判断する。
次に、特殊音声検知手段21101は、図24に示すように、評定値(例えば、DAPスコア)が、所定の値より低い区間が、2つの音素に跨っているか否かを判断し、2つの音素に跨がっていれば、当該区間に音素が挿入された、と判断する。なお、かかる場合の詳細なアルゴリズムの例は、図23で説明した。また、図24において、斜線部が、予期しない音素が挿入された区間である。
次に、評定手段21103は、音素の挿入があった旨を示す評定結果(例えば、「予期しない音素が挿入されました。」)を構成する。なお、予期しない音素が挿入された場合、評定手段21103は、例えば、所定数値分、減じて、評定値を算出することは好適である。そして、出力手段21104は、構成した評定結果(評定値を含んでも良い)を出力する。図25は、評定結果の出力例である。なお、出力手段21104は、通常の入力音声に対しては、上述したように評定値を出力することが好適である。
以上、本実施の形態によれば、ユーザが入力した発音を、教師データに対して、如何に似ているかを示す類似度(評定値)を算出し、出力できる。また、かかる場合、本実施の形態によれば、個人差、特に声道長の違いに影響を受けない、精度の高い評定ができる。さらに、本音声処理装置は、特殊音声、特に、予期せぬ音素の挿入を検知できるので、極めて精度の高い評定結果が得られる。
なお、本実施の形態において、音素の挿入を検知できれば良く、評定値の算出アルゴリズムは問わない。評定値の算出アルゴリズムは、上述したアルゴリズム(DAP、t−p−DAP)でも良く、または、本明細書では述べていない他のアルゴリズムでも良い。
さらに、本実施の形態における音声処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、第一サンプリング周波数で、受け付けた音声をサンプリングし、第一音声データを取得するサンプリングステップと、第二サンプリング周波数「第一サンプリング周波数/(教師データフォルマント周波数/評価対象者フォルマント周波数)」で、前記音声受付ステップで受け付けた音声に対して、サンプリング処理を行い、第二音声データを得る声道長正規化処理ステップと、前記第二音声データを処理する音声処理ステップを実行させるためのプログラム、である。
また、上記プログラムにおいて、音声処理ステップは、前記第二音声データを、フレームに区分するフレーム区分ステップと、前記区分されたフレーム毎の音声データであるフレーム音声データを1以上得るフレーム音声データ取得ステップと、前記フレーム毎の入力音声データに基づいて、特殊な音声が入力されたことを検知する特殊音声検知ステップと、教師データと前記入力音声データと前記特殊音声検知ステップにおける検知結果に基づいて、前記受け付けた音声の評定を行う評定ステップと、前記評定ステップにおける評定結果を出力する出力ステップを具備する、ことは好適である。
また、上記プログラムにおいて、特殊音声検知ステップは、一の音素の後半部および当該音素の次の音素の前半部の評定値が所定の条件を満たすことを検知する、ことは好適である。
(実施の形態5)
本実施の形態において、入力音声において、特殊音声を検知し、比較対象の音声と入力音声の類似度を精度高く評定できる音声処理装置について説明する。特に、本音声処理装置は、音韻の置換を検知できる音声処理装置である。
図26は、本実施の形態における音声処理装置のブロック図である。本音声処理装置は、入力受付部101、教師データ格納部102、音声受付部103、教師データフォルマント周波数格納部104、第一サンプリング周波数格納部105、サンプリング部106、評価対象者フォルマント周波数取得部107、評価対象者フォルマント周波数格納部108、声道長正規化処理部109、音声処理部2610、発声催促部1109を具備する。
音声処理部2610は、フレーム区分手段1101、フレーム音声データ取得手段1102、特殊音声検知手段26101、評定手段26103、出力手段21104を具備する。なお、評定手段26103は、最適状態決定手段11031、最適状態確率値取得手段11032を具備する。
音声処理部2610は、第二音声データを処理する。音声処理部2610は、フレーム毎の入力音声データに基づいて、特殊な音声が入力されたことを検知する特殊音声検知手段26101を具備する。音声処理部2610は、通常、MPUやメモリ等から実現され得る。音声処理部2610の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
特殊音声検知手段26101は、一の音素の評定値が所定の値より低いことを検知する。また、特殊音声検知手段26101は、一の音素の評定値が所定の値より低く、かつ当該音素の直前の音素および当該音素の直後の音素の評定値が所定の値より高いことをも検知しても良い。また、特殊音声検知手段26101は、一の音素の評定値が所定の値より低く、かつ、想定していない音素のHMMに基づいて算出された評定値が所定の値より高いことを検知しても良い。つまり、特殊音声検知手段26101は、所定のアルゴリズムで、音韻の置換を検知できれば良い。そのアルゴリズムは種々考えられる。特殊音声検知手段26101は、通常、MPUやメモリ等から実現され得る。特殊音声検知手段26101の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
評定手段26103は、特殊音声検知手段26101が所定の条件を満たすことを検知した場合に、少なくとも音素の置換があった旨を示す評定結果を構成する。評定手段26103は、音素の置換があった場合に、所定数値分、減じられて算出された評定値(スコア)を算出しても良い。評定手段26103は、通常、MPUやメモリ等から実現され得る。評定手段26103の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、音声処理装置の動作について、図27、図28のフローチャートを用いて説明する。なお、図27のフローチャートは、図12のフローチャートと比較して、ステップS2701の評定処理のみが異なるので、図27のフローチャートの説明は省略する。ステップS2701の評定処理の詳細について、図28のフローチャートを用いて説明する。図28のフローチャートにおいて、図2、図19、図23のフローチャートの処理と同様の処理については、その説明を省略する。
(ステップS2801)特殊音声検知手段26101は、バッファに蓄積されているデータに対応するフレーム音声データ群が一の音素に対応するか否かを判断する。一の音素であればステップS2802に行き、一の音素でなければステップS2810に行く。
(ステップS2802)特殊音声検知手段26101は、バッファに蓄積されているデータに対応するフレーム音声データ群の音素の直前の音素の評定値を算出する。かかる評定値は、例えば、上述したDAPスコアである。なお、直前の音素とは、現在評定中の音素に対して直前の音素である。音素の区切りは、Viterbiアルゴリズムにより算出できる。
(ステップS2803)特殊音声検知手段26101は、ステップS2802で算出した評定値が所定の値以上であるか否かを判断する。所定の値以上であればステップS2804に行き、所定の値より小さければステップS2810に行く。
(ステップS2804)特殊音声検知手段26101は、直後の音素の評定値を算出する。かかる評定値は、例えば、上述したDAPスコアである。直後の音素とは、現在評定中の音素に対して直後の音素である。
(ステップS2805)特殊音声検知手段26101は、ステップS2804で算出した評定値が所定の値以上であるか否かを判断する。所定の値以上であればステップS2806に行き、所定の値より小さければステップS2810に行く。
(ステップS2806)特殊音声検知手段26101は、予め格納されている音韻HMM(予期する音韻のHMMは除く)の中で、所定の値以上の評定値が得られる音韻HMMが一つ存在するか否かを判断する。所定の値以上の評定値が得られる音韻HMMが存在すればステップS2807に行き、所定の値以上の評定値が得られる音韻HMMが存在しなければステップS2810に行く。なお、予め格納されている音韻HMMは、通常、すべての音韻に対する多数の音韻HMMである。なお、本ステップにおいて、予め格納されている音韻HMMの確率値を算出し、最大の確率値を持つ音素を取得し、当該音素と最適状態の音素が異なるか否かを判断し、異なる場合に音素の置換があったと判断しても良い。
(ステップS2807)評定手段26103は、音素の置換があった旨を示す評定結果を構成する。
(ステップS2808)出力手段21104は、ステップS2807で構成した評定結果を出力する。
(ステップS2809)出力手段21104は、バッファをクリアする。ステップS208に戻る。
(ステップS2810)出力手段21104は、バッファ中の全データに対応する全評定値を出力する。ステップS2809に行く。
以下、本実施の形態における音声処理装置の具体的な動作について説明する。本実施の形態において、音素の置換の検知を行う処理が実施の形態4等とは異なる。そこで、その異なる処理を中心に説明する。
まず、学習者(評価対象者)が、語学学習の開始の指示である動作開始指示を入力する。そして、音声処理装置は、当該動作開始指示を受け付け、次に、例えば、「"う"と発声してください。」と画面出力する。
そして、評価対象者は、"う"と発声し、音声処理装置は、当該発声から、第二ンプリング周波数「32.1KHz」を得る。かかる処理は、実施の形態1等において説明した処理と同様である。
次に、発声催促部1109は、例えば、「"right"と発声してください。」と画面出力する。そして、学習者は、学習対象の音声「right」を発音する。そして、音声受付部103は、学習者が発音した音声の入力を受け付ける。
次に、サンプリング部106は、受け付けた音声「right」をサンプリング周波数「22.05KHz」でサンプリング処理する。そして、サンプリング部106は、「right」の第一音声データを得る。
次に、声道長正規化処理部109は、「right」の第一音声データを第二サンプリング周波数「32.1KHz」でリサンプリング処理する。そして、声道長正規化処理部109は、第二音声データを得る。次に、音声処理部2610は、第二音声データを、以下のように処理する。
まず、フレーム区分手段1101は、「right」の第二音声データを、短時間フレームに区分する。
そして、フレーム音声データ取得手段1102は、フレーム区分手段1101が区分した音声データを、スペクトル分析し、特徴ベクトル系列「O=o1,o2,・・・,oT」を算出する。
次に、評定手段26103の最適状態決定手段11031は、取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、所定のフレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。
次に、最適状態確率値取得手段11032は、上述した数式1、2により、最適状態における確率値を算出する。
次に、評定手段26103は、例えば、最適状態決定手段11031が決定した最適状態を有する音韻全体の状態における1以上の確率値を取得し、当該1以上の確率値の総和をパラメータとして音声の評定値を算出する。つまり、評定手段26103は、例えば、DAPスコアをフレーム毎に算出する。ここで、算出するスコアは、上述したt−p−DAPスコア等でも良い。
そして、特殊音声検知手段26101は、算出されたフレームに対応する評定値を用いて、特殊な音声が入力されたか否かを判断する。つまり、評定値(例えば、DAPスコア)が、所定の値より低い区間が存在するか否かを判断する。
次に、特殊音声検知手段26101は、図29に示すように、評定値(例えば、DAPスコア)が、所定の値より低い区間が、一つの音素内(ここでは音素2)であるか否かを判断する。そして、一つの音素内で評定値が低ければ、次に、特殊音声検知手段26101は、直前の音素(音素1)および/または直後の音素(音素3)に対する評定値(例えば、DAPスコア)を算出し、当該評定値が所定の値より高ければ、音素の置換が発生している可能性があると判断する。次に、特殊音声検知手段26101は、予め格納されている音韻HMM(予期する音韻のHMMは除く)の中で、所定の値以上の評定値が得られる音韻HMMが一つ存在すれば、音素の置換が発生していると判断する。なお、図29において、音素2において、音素の置換が発生した区間である。なお、図29において縦軸は評定値であり、当該評定値は、DAP、t−p−DAP等、問わない。
次に、評定手段26103は、音素の置換があった旨を示す評定結果(例えば、「音素の置換が発生しました。」)を構成する。そして、出力手段21104は、構成した評定結果を出力する。なお、出力手段21104は、通常の入力音声に対しては、上述したように評定値を出力することが好適である。
以上、本実施の形態によれば、ユーザが入力した発音を、教師データに対して、如何に似ているかを示す類似度(評定値)を算出し、出力できる。また、かかる場合、本実施の形態によれば、個人差、特に声道長の違いに影響を受けない、精度の高い評定ができる。さらに、本音声処理装置は、特殊音声、特に、音素の置換を検知できるので、極めて精度の高い評定結果が得られる。
なお、本実施の形態において、音素の置換を検知できれば良く、評定値の算出アルゴリズムは問わない。評定値の算出アルゴリズムは、上述したアルゴリズム(DAP、t−p−DAP)でも良く、または、本明細書では述べていない他のアルゴリズムでも良い。
また、本実施の形態において、音素の置換の検知アルゴリズムは、他のアルゴリズムでも良い。例えば、音素の置換の検知において、所定以上の長さの区間を有することを置換区間の検知で必須としても良い。その他、置換の検知アルゴリズムの詳細は種々考えられる。
さらに、本実施の形態における音声処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、第一サンプリング周波数で、受け付けた音声をサンプリングし、第一音声データを取得するサンプリングステップと、第二サンプリング周波数「第一サンプリング周波数/(教師データフォルマント周波数/評価対象者フォルマント周波数)」で、前記音声受付ステップで受け付けた音声に対して、サンプリング処理を行い、第二音声データを得る声道長正規化処理ステップと、前記第二音声データを処理する音声処理ステップを実行させるためのプログラム、である。
また、上記プログラムにおいて、音声処理ステップは、前記第二音声データを、フレームに区分するフレーム区分ステップと、前記区分されたフレーム毎の音声データであるフレーム音声データを1以上得るフレーム音声データ取得ステップと、前記フレーム毎の入力音声データに基づいて、特殊な音声が入力されたことを検知する特殊音声検知ステップと、教師データと前記入力音声データと前記特殊音声検知ステップにおける検知結果に基づいて、前記受け付けた音声の評定を行う評定ステップと、前記評定ステップにおける評定結果を出力する出力ステップを具備する、ことは好適である。
また、上記プログラムにおいて、特殊音声検知ステップは、一の音素の評定値が所定の条件を満たすことを検知し、特殊音声検知ステップで前記所定の条件を満たすことを検知した場合に、少なくとも音素の置換があった旨を示す評定結果を構成する、ことは好適である。
(実施の形態6)
本実施の形態において、入力音声において、特殊音声を検知し、比較対象の音声と入力音声の類似度を精度高く評定できる音声処理装置について説明する。特に、本音声処理装置は、音韻の欠落を検知できる音声処理装置である。
図30は、本実施の形態における音声処理装置のブロック図である。本音声処理装置は、入力受付部101、教師データ格納部102、音声受付部103、教師データフォルマント周波数格納部104、第一サンプリング周波数格納部105、サンプリング部106、評価対象者フォルマント周波数取得部107、評価対象者フォルマント周波数格納部108、声道長正規化処理部109、音声処理部3010、発声催促部1109を具備する。
音声処理部3010は、フレーム区分手段1101、フレーム音声データ取得手段1102、特殊音声検知手段30101、評定手段30103、出力手段21104を具備する。なお、評定手段30103は、最適状態決定手段11031、最適状態確率値取得手段11032を具備する。
特殊音声検知手段30101は、一の音素の評定値が所定の値より低く、かつ当該音素の直前の音素または当該音素の直後の音素の評定値が所定の値より高いことを検知する。また、特殊音声検知手段30101は、一の音素の評定値が所定の値より低く、かつ当該音素の直前の音素または当該音素の直後の音素の評定値が所定の値より高く、かつ当該音素の区間長が所定の長さよりも短いことを検知しても良い。また、特殊音声検知手段30101は、直前の音素に対応する確率値、または直後の音素に対応する確率値が、当該一の音素の確率値より高いことを検知しても良い。かかる場合に、特殊音声検知手段30101は、音韻の欠落を検知することは好適である。さらに、音素の区間長が所定の長さよりも短いことを欠落の条件に含めることにより、音韻の欠落の検知の精度は向上する。特殊音声検知手段30101は、通常、MPUやメモリ等から実現され得る。特殊音声検知手段30101の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
評定手段30103は、特殊音声検知手段30101が所定の条件を満たすことを検知した場合に、少なくとも音素の欠落があった旨を示す評定結果を構成する。評定手段30103は、通常、MPUやメモリ等から実現され得る。評定手段30103の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、音声処理装置の動作について、図31、図32のフローチャートを用いて説明する。なお、図31のフローチャートは、図12のフローチャートと比較して、ステップS3101の評定処理のみが異なるので、図31のフローチャートの説明は省略する。ステップS3101の評定処理の詳細について、図32のフローチャートを用いて説明する。図32のフローチャートにおいて、図2、図19、図23、図28のフローチャートの処理と同様の処理については、その説明を省略する。
(ステップS3201)特殊音声検知手段30101は、バッファに蓄積されているデータに対して、直前の音素に対応する教師データの確率値または、直後の音素に対応する教師データの確率値が、予定されている音素に対応する教師データの確率値より高いか否かを判断する。高ければステップS3202に行き、高くなければステップS2810に行く。なお、ステップS3202に行くための条件として、バッファに蓄積されているデータに対応するフレーム音声データ群の区間長が所定の長さ以下であることを付加しても良い。
(ステップS3202)評定手段30103は、音素の欠落があった旨を示す評定結果を構成する。ステップS2808に行く。
なお、図32のフローチャートにおいて、評定対象の音素(欠落したであろう音素)の区間長が、所定の長さ(例えば、3フレーム)よりも短いことを条件としても良いし、かかる条件は無くても良い。
以下、本実施の形態における音声処理装置の具体的な動作について説明する。本実施の形態において、音素の欠落の検知を行う処理が実施の形態5等とは異なる。そこで、その異なる処理を中心に説明する。
まず、学習者(評価対象者)が、語学学習の開始の指示である動作開始指示を入力する。そして、音声処理装置は、当該動作開始指示を受け付け、次に、例えば、「"う"と発声してください。」と画面出力する。
そして、評価対象者は、"う"と発声し、音声処理装置は、当該発声から、第二ンプリング周波数「32.1KHz」を得る。かかる処理は、実施の形態1等において説明した処理と同様である。
次に、発声催促部1109は、例えば、「"right"と発声してください。」と画面出力する。そして、学習者は、学習対象の音声「right」を発音する。そして、音声受付部103は、学習者が発音した音声の入力を受け付ける。
次に、サンプリング部106は、受け付けた音声「right」をサンプリング周波数「22.05KHz」でサンプリング処理する。そして、サンプリング部106は、「right」の第一音声データを得る。
次に、声道長正規化処理部109は、「right」の第一音声データを第二サンプリング周波数「32.1KHz」でリサンプリング処理する。そして、声道長正規化処理部109は、第二音声データを得る。次に、音声処理部3010は、第二音声データを、以下のように処理する。
まず、フレーム区分手段1101は、「right」の第二音声データを、短時間フレームに区分する。
そして、フレーム音声データ取得手段1102は、フレーム区分手段1101が区分した音声データを、スペクトル分析し、特徴ベクトル系列「O=o1,o2,・・・,oT」を算出する。
次に、最適状態決定手段11031は、取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、所定のフレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。
次に、最適状態確率値取得手段11032は、上述した数式1、2により、最適状態における確率値を算出する。
次に、評定手段30103は、例えば、最適状態決定手段11031が決定した最適状態を有する音韻全体の状態における1以上の確率値を取得し、当該1以上の確率値の総和をパラメータとして音声の評定値を算出する。つまり、評定手段30103は、例えば、DAPスコアをフレーム毎に算出する。ここで、算出するスコアは、上述したt−p−DAPスコア等でも良い。
そして、特殊音声検知手段30101は、算出されたフレームに対応する評定値を用いて、特殊な音声が入力されたか否かを判断する。つまり、評定値(例えば、DAPスコア)が、所定の値より低い区間が存在するか否かを判断する。
次に、特殊音声検知手段30101は、図33に示すように、評定値(例えば、DAPスコア)が、所定の値より低い区間が、一つの音素内(ここでは音素2)であるか否かを判断する。そして、一つの音素内で評定値が低ければ、特殊音声検知手段30101は、直前の音素(音素1)または直後の音素(音素3)に対する評定値(例えば、DAPスコア)を算出し、当該評定値が所定の値より高ければ、音素の欠落が発生している可能性があると判断する。そして、当該区間長が、例えば、3フレーム以下の長さであれば、かかる音素は欠落したと判断する。なお、図33において、音素2の欠落が発生したことを示す。なお、図33において縦軸は評定値であり、当該評定値は、DAP、t−p−DAP等、問わない。また、上記区間長の所定値は、「3フレーム以下」ではなく、「5フレーム以下」でも、「6フレーム以下」でも良い。
次に、評定手段30103は、音素の欠落があった旨を示す評定結果(例えば、「音素の欠落が発生しました。」)を構成する。そして、出力手段21104は、構成した評定結果を出力する。なお、出力手段21104は、通常の入力音声に対しては、上述したように評定値を出力することが好適である。
以上、本実施の形態によれば、ユーザが入力した発音を、教師データに対して、如何に似ているかを示す類似度(評定値)を算出し、出力できる。また、かかる場合、本実施の形態によれば、個人差、特に声道長の違いに影響を受けない、精度の高い評定ができる。さらに、本音声処理装置は、特殊音声、特に、音素の欠落を検知できるので、極めて精度の高い評定結果が得られる。
なお、本実施の形態において、音素の欠落を検知できれば良く、評定値の算出アルゴリズムは問わない。評定値の算出アルゴリズムは、上述したアルゴリズム(DAP、t−p−DAP)でも良く、または、本明細書では述べていない他のアルゴリズムでも良い。
また、本実施の形態において、音素の欠落の検知アルゴリズムは、他のアルゴリズムでも良い。例えば、音素の欠落の検知において、所定長さ未満の区間であることを欠落区間の検知で必須としても良いし、区間長を考慮しなくても良い。
さらに、本実施の形態における音声処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、第一サンプリング周波数で、受け付けた音声をサンプリングし、第一音声データを取得するサンプリングステップと、第二サンプリング周波数「第一サンプリング周波数/(教師データフォルマント周波数/評価対象者フォルマント周波数)」で、前記音声受付ステップで受け付けた音声に対して、サンプリング処理を行い、第二音声データを得る声道長正規化処理ステップと、前記第二音声データを処理する音声処理ステップを実行させるためのプログラム、である。
また、上記プログラムにおいて、音声処理ステップは、前記第二音声データを、フレームに区分するフレーム区分ステップと、前記区分されたフレーム毎の音声データであるフレーム音声データを1以上得るフレーム音声データ取得ステップと、前記フレーム毎の入力音声データに基づいて、特殊な音声が入力されたことを検知する特殊音声検知ステップと、教師データと前記入力音声データと前記特殊音声検知ステップにおける検知結果に基づいて、前記受け付けた音声の評定を行う評定ステップと、前記評定ステップにおける評定結果を出力する出力ステップを具備する、ことは好適である。
また、上記プログラムにおいて、特殊音声検知ステップは、一の音素の評定値が所定の条件を満たすことを検知し、特殊音声検知ステップで前記所定の条件を満たすことを検知した場合に、少なくとも音素の欠落があった旨を示す評定結果を構成する、ことは好適である。
(実施の形態7)
本実施の形態における音声処理装置の音声処理は、音声認識である。
図34は、本実施の形態における音声処理装置のブロック図である。
本音声処理装置は、入力受付部101、教師データ格納部102、音声受付部103、教師データフォルマント周波数格納部104、第一サンプリング周波数格納部105、サンプリング部106、評価対象者フォルマント周波数取得部107、評価対象者フォルマント周波数格納部108、声道長正規化処理部109、音声処理部3410、発声催促部1109を具備する。
音声処理部3410は、音声認識手段34101、出力手段34102を具備する。
音声処理部3410の音声認識手段34101は、第二音声データに基づいて、音声認識処理を行う。音声認識のアルゴリズムは、問わない。音声認識処理は、公知のアルゴリズムで良い。本実施の形態において、リサンプリングした第二音声データに基づいて音声認識することにより、精度の高い音声認識が可能である。音声処理部3410は、通常、MPUやメモリ等から実現され得る。音声処理部3410の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力手段34102は、音声認識結果を出力する。ここで、出力とは、ディスプレイへの表示、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積等を含む概念である。出力手段34102は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力手段34102は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、音声処理装置の動作について図35のフローチャートを用いて説明する。なお、図37のフローチャートにおいて、図2、図12のフローチャートの処理と同様の処理については、その説明を省略する。
(ステップS3501)音声認識手段34101は、ステップS1208でリサンプリング処理され、得られた第二音声データに基づいて、音声認識処理を行う。なお、音声認識手段34101は、教師データとのマッチングを取り、教師データに近い音であると認識することにより、認識結果を得る。
(ステップS3502)出力手段34102は、ステップS3501における音声認識結果を出力する。ステップS1206に戻る。
以上、本実施の形態によれば、精度高く音声認識できる。
なお、本実施の形態における音声処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、第一サンプリング周波数で、受け付けた音声をサンプリングし、第一音声データを取得するサンプリングステップと、第二サンプリング周波数「第一サンプリング周波数/(教師データフォルマント周波数/評価対象者フォルマント周波数)」で、前記音声受付ステップで受け付けた音声に対して、サンプリング処理を行い、第二音声データを得る声道長正規化処理ステップと、前記第二音声データに基づいて、音声認識処理を行う音声処理ステップを実行させるためのプログラム、である。
(実施の形態8)
本実施の形態において、比較対象の音声と入力音声の類似度の評定を精度高く、かつ高速にできる音声処理装置について説明する。本音声処理装置は、主として、音声(歌唱を含む)を評価する発音評定装置である、として説明する。さらに、本実施の形態において、上記の実施の形態で記載した音声処理装置よりもさらに精度高く、評価対象者の話者特性に応じた発音評定が可能な音声処理装置について説明する。具体的には、本実施の形態において、最小自乗誤差基準に基づく、簡潔な声道長正規化法に基づいて、評価対象者の話者特性に左右されにくい音声処理装置について説明する。
また、本実施の形態における音声処理装置は、例えば、語学学習や物真似練習やカラオケ評定などに利用できる。
図36は、本実施の形態における音声処理装置のブロック図である。
本音声処理装置は、入力受付部101、教師データ格納部102、音声受付部103、第一サンプリング周波数格納部105、サンプリング部106、声道長正規化パラメータ算出部3601、声道長正規化パラメータ格納部3602、声道長正規化処理部3609、音声処理部110を具備する。
なお、音声処理装置は、キーボード342、マウス343などの入力手段からの入力を受け付ける。また、音声処理装置は、マイク345などの音声入力手段から音声入力を受け付ける。さらに、音声処理装置は、ディスプレイ344などの出力デバイスに情報を出力する。
声道長正規化パラメータ算出部3601は、周波数範囲指定情報格納手段36011、長時間ケプストラム平均ベクトル格納手段36012、第二ケプストラムベクトル系列算出手段36013、ケプストラム変換手段36014、ケプストラム変換パラメータ算出手段36015、最終ケプストラム変換パラメータ取得手段36016、声道長正規化パラメータ算出手段36017を具備する。
声道長正規化パラメータ算出部3601は、教師データ格納部102の教師データおよび音声受付部103が受け付けた音声に基づいて、声道長正規化パラメータを算出する。声道長正規化パラメータとは、評価対象者の話者特性(声道長の違い)を吸収するためのサンプリング周波数変換率である。なお、本実施の形態において、まず、算出されるのは、ケプストラム変換(ケプストラムワーピング)パラメータである。このケプストラム変換パラメータは、声道長の変換を直接表わすものではないため、声道長正規化パラメータ算出部3601は、後述の近似変換式を用いて最終的な声道長正規化パラメータ(サンプリング周波数変換率)を算出する。声道長正規化パラメータ算出部3601は、通常、MPUやメモリ等から実現され得る。声道長正規化パラメータ算出部の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
周波数範囲指定情報格納手段36011は、周波数範囲を指定する情報である周波数範囲指定情報(W)を格納している。周波数範囲指定情報(W)は、後述する最適なケプストラム変換パラメータ(α)を算出する場合に、1次オールパス関数等の双1次変換による周波数ワーピングが線形の周波数伸縮で近似できる範囲に、周波数範囲を限定するための情報である。かかる周波数範囲は、0周波数からナイキストレートの1/3から1/2程度が好適である。ただし、双1次変換は、スペクトル領域ではなく、ケプストラム領域で行われるため、周波数範囲指定情報(W)は、例えば、以下に述べる行列の情報であることが好適である。周波数範囲指定情報は、例えば、図示しない周波数範囲指定情報算出手段により、以下のように算出される。サンプリング周波数をFs(Hz)、指定される周波数範囲の最高周波数をFmax(Hz)とし,Nを十分大きな自然数(512や1024など)、「Nm=N×Fmax/Fs」とおいて,ケプストラムベクトルに対する周波数範囲指定行列Wの(i,j)成分を、周波数範囲指定情報算出手段は、以下の数式5に従って計算する。具体的には、周波数範囲指定情報算出手段は、コンピュータの記録媒体(図示しない)に格納されているサンプリング周波数(Fs)、最高周波数(Fmax)、予め決められた十分大きな自然数(N)を読み出す。そして、周波数範囲指定情報算出手段は、自ら保持している演算式の情報「Nm=N×Fmax/Fs」を読み出し、読み出したFs、Fmax、Nを演算式に代入し、Nmを算出する。そして、周波数範囲指定情報算出手段は、格納している以下の数式5の情報を読み出し、i、jを0から順に、1ずつインクリメントさせながら、ループ処理(2重ループの処理になる)により、{W}i,jを算出する。そして、周波数範囲指定情報算出手段は、算出した{W}i,jのすべてを、少なくとも一時的に周波数範囲指定情報格納手段36011に格納する。なお、数式5において、「k」は、周波数インデクスであり、「k」の範囲は、「k=0,1,2,...,N/2」である。また、「n」は、離散時間インデクスであり、「n」の範囲は、「n=...−2,−1,0,1,2,...」である。
なお、周波数範囲指定情報のデータ構造は問わない。また、周波数範囲指定情報格納手段36011は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
長時間ケプストラム平均ベクトル格納手段36012は、長時間ケプストラム平均ベクトル(μ)を格納している。長時間ケプストラム平均ベクトル(μ)は、教師データを構成するデータから、短区間分析により算出された第一のケプストラムベクトル系列の時間平均である。第一のケプストラムベクトル系列(xt(t=1,2,・・・,T0))は、通常、教師データを構成する単一音素(例えば、/u/)を短区間分析し、取得される。そして、長時間ケプストラム平均ベクトル(μ)は、ベクトル(xt)から、以下の数式6により算出される。
なお、ケプストラムベクトルは0次係数も含めたM+1次元であり,ベクトル(xt)およびベクトル(μ)は、それぞれ数式7、数式8で表わされる。
数式7、数式8において、(・・・)Tは行列またはベクトルの転置を表わす。
また、第一のケプストラムベクトル系列(xt)は、図示しない第一ケプストラムベクトル系列算出手段が、教師データを構成するデータ(単一音素(例えば、/u/))から、短区間分析により算出しても良い。
また、図示しない長時間ケプストラム平均ベクトル取得手段が、第一のケプストラムベクトル系列(xt)の時間平均を、数式6により算出し、長時間ケプストラム平均ベクト(μ)を取得しても良い。長時間ケプストラム平均ベクトル格納手段36012は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
第二ケプストラムベクトル系列算出手段36013は、音声受付部103が受け付けた音声(通常、単一音素(例えば、/u/)である。)から、短区間分析により第二のケプストラムベクトル系列(Ct)を算出する。第二ケプストラムベクトル系列算出手段36013は、サンプリング部106がサンプリングして得た第一音声データから、第二のケプストラムベクトル系列(Ct)を算出しても良く、かかる場合も音声受付部103が受け付けた音声から、短区間分析により第二のケプストラムベクトル系列(Ct)を算出した、と言える。なお、音素を短区間分析し、ケプストラムベクトル系列を算出する処理は、公知技術による処理であるので、説明は省略する。第二ケプストラムベクトル系列算出手段36013は、通常、MPUやメモリ等から実現され得る。第二ケプストラムベクトル系列算出手段36013の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、第二ケプストラムベクトル系列算出手段36013が処理する音声であり音声受付部103が受け付ける音素(例えば、/u/)は、長時間ケプストラム平均ベクトルの元になる音声と同一の音素(例えば、/u/)である。また、この第二のケプストラムベクトル系列(Ct)は、やはり0次係数も含めたM+1次元ベクトルとして数式9で表わされる。
また、第二ケプストラムベクトル系列算出手段36013は、後述するケプストラム変換パラメータ算出手段36015の処理のために、算出した第二のケプストラムベクトル系列(Ct)に対して、以下の数式10の処理を行い、ベクトル(Ct −)(t=1,2,・・・,T)を取得することは好適である。
ケプストラム変換手段36014は、第二のケプストラムベクトル系列(Ct)を、ケプストラム変換パラメータ(α)を要素とする行列(F(α))を用いて線形変換し、周波数ワープされた第三のケプストラムベクトル系列(Ot)を算出する。具体的には、まず、ケプストラム変換手段38014は、ケプストラム変換パラメータ(α)の初期値(α〜)を設定する。(α〜)はαの最適値の近似値であることが望ましく、通常はα=0とおくが、例えば、最適値が「α>0」であると予想できる場合は、小さな正の値のαでも良い。なお、初期値(α〜)は、ケプストラム変換手段38014が、予め記憶媒体やメモリ等に格納している。次に、ケプストラム変換手段38014は、与えられたケプストラム変換パラメータ(α)をパラメータとして、以下の数式11により、周波数ワープされた第三のケプストラムベクトル系列(Ot)を算出する。なお、ケプストラム変換手段38014は、最初に、(Ot(α〜))を算出する。
ケプストラム変換手段36014は、通常、MPUやメモリ等から実現され得る。ケプストラム変換手段段36014の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
ケプストラム変換パラメータ算出手段36015は、長時間ケプストラム平均ベクトル(μ)および第三のケプストラムベクトル系列(Ot)に基づいて、ケプストラム変換パラメータ(α)を算出する。ケプストラム変換パラメータ算出手段36015は、さらに好ましくは、周波数範囲指定情報(W)で示される周波数範囲における長時間ケプストラム平均ベクトルおよび第三のケプストラムベクトル系列(Ot)に基づいて、ケプストラム変換パラメータを算出する。
具体的には、まず、ケプストラム変換パラメータ算出手段36015は、以下の数式12により、ベクトル(ut(α))を算出する。そして、次に、ケプストラム変換パラメータ算出手段36015は、以下の数式13により、αの最適値(α*)を算出する。なお、αの最適値(α*)は、現繰り返しステップにおける最適値である。
ケプストラム変換パラメータ算出手段36015は、通常、MPUやメモリ等から実現され得る。ケプストラム変換パラメータ算出手段36015の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
最終ケプストラム変換パラメータ取得手段36016は、所定のルールに基づいて、ケプストラム変換手段36014における処理、およびケプストラム変換パラメータ算出手段36015における処理を繰り返えさせ、最終的な最適なケプストラム変換パラメータを得る。ここで、所定のルールとは、例えば、予め決められた所定の繰り返し回数だけ、処理を繰り返し行われたことである。また、所定のルールとは、例えば、αの最適値(α*)の変化が所定の値より小さくなった(先の(α*)と今回の(α*)の差が閾値以下など)ことである。また、所定のルールとは、その他のルールでも良い。最終ケプストラム変換パラメータ取得手段36016は、通常、MPUやメモリ等から実現され得る。最終ケプストラム変換パラメータ取得手段36016の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
声道長正規化パラメータ算出手段36017は、最終ケプストラム変換パラメータ取得手段36016が得たケプストラム変換パラメータに基づいて、声道長正規化パラメータ(γ)を算出する。さらに具体的には、声道長正規化パラメータ算出手段36017は、まず、最終ケプストラム変換パラメータ取得手段36016が得たケプストラム変換パラメータから、例えば、以下の数式14に従って、線形周波数伸縮比(ρ)を算出する。
次に、声道長正規化パラメータ算出手段36017は、当該線形周波数伸縮比(ρ)から、例えば、以下の数式15に従って、声道長正規化パラメータ(γ)を算出する。
声道長正規化パラメータ算出手段36017は、通常、MPUやメモリ等から実現され得る。声道長正規化パラメータ算出手段36017の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
声道長正規化パラメータ格納部3602は、サンプリング周波数の変換率に関する情報である声道長正規化パラメータ(γ)を格納している。声道長正規化パラメータ(γ)は、声道長正規化パラメータ算出部3601が取得した声道長正規化パラメータである。声道長正規化パラメータ格納部3602は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。なお、声道長正規化パラメータ算出部3601は、ここでは、算出した声道長正規化パラメータ(γ)を、声道長正規化パラメータ格納部3602に蓄積する処理も行う。
声道長正規化処理部3609は、声道長正規化パラメータ(γ)と第一サンプリング周波数をパラメータとして算出される第二サンプリング周波数で、音声受付部103が受け付けた音声に対して、サンプリング処理を行い、第二音声データを得る。「音声受付部103が受け付けた音声に対して」とは、サンプリング部106がサンプリングして取得した第一音声データに対して、第二サンプリング周波数でリサンプリング処理を行い、第二音声データを得ることも含むし、サンプリング部106が第一音声データを取得することなく、直接的に音声受付部103が受け付けた音声に対して、第二サンプリング周波数でサンプリング処理し、第二音声データを得ることも含む。声道長正規化処理部3609は、通常、MPUやメモリ等から実現され得る。声道長正規化処理部3609の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、本音声処理装置の動作について説明する。まず、本音声処理装置における、声道長正規化パラメータを算出する処理について、図37のフローチャートを用いて説明する。なお、本声道長正規化パラメータ算出処理は、必ずしも音声処理装置で行う必要はない。
(ステップS3701)音声処理装置は、初期化処理を行う。初期化処理とは、例えば、ユーザ(評価対象者)に対して、「/u/」と発声するように促す処理(例えば、ディスプレイに「「う」と発音してください。」と表示する処理)と、周波数範囲指定情報格納手段36011の周波数範囲指定情報、および長時間ケプストラム平均ベクトル格納手段36012の長時間ケプストラム平均ベクトルを読み出す処理である。
(ステップS3702)音声受付部103が、評価対象者からの音声を受け付けたか否かを判断する。音声を受け付ければステップS3703に行き、音声を受け付けなければステップS3702に戻る。
(ステップS3703)サンプリング部106は、ステップS3702で受け付けた音声をサンプリングし、第一音声データを得て、メモリ上に、少なくとも一時格納する。なお、音声をサンプリングする処理は公知技術である。
(ステップS3704)第二ケプストラムベクトル系列算出手段36013は、ステップS3703で得た第一音声データを取得し、当該第一音声データから、短区間分析により第二のケプストラムベクトル系列(Ct)を算出し、第二のケプストラムベクトル系列(Ct)をメモリ上に、少なくとも一時格納する。
(ステップS3705)第二ケプストラムベクトル系列算出手段36013は、ステップS3704で算出した第二のケプストラムベクトル系列(Ct)を取得し、当該第二のケプストラムベクトル系列(Ct)から、ベクトル(Ct −)(t=1,2,・・・,T)を取得し、ベクトル(Ct −)をメモリ上に、少なくとも一時格納する。
(ステップS3706)ケプストラム変換手段36014は、予め格納しているケプストラム変換パラメータの初期値(α〜)を読み出し、変数(α)に(α〜)を設定する。
(ステップS3707)ケプストラム変換手段36014は、第二のケプストラムベクトル系列(Ct)を読み出し、当該第二のケプストラムベクトル系列(Ct)を、ケプストラム変換パラメータ(α)を要素とする行列を用いて線形変換し、周波数ワープされた第三のケプストラムベクトル系列(Ot)を算出し、メモリ上に、少なくとも一時格納する。
(ステップS3708)ケプストラム変換パラメータ算出手段36015は、ステップS3707で算出した第三のケプストラムベクトル系列(Ot)、およびステップS3705で算出したベクトル(Ct −)を読み出し、当該第三のケプストラムベクトル系列(Ot)およびベクトル(Ct −)から、ベクトル(ut(α))を算出する(数式12参照)。ベクトル(ut(α))を算出する場合に、格納している数式12の情報を読み出して、演算することは言うまでもない。
(ステップS3709)ケプストラム変換パラメータ算出手段36015は、予め格納している数式13の情報を読み出し、当該数式13の数式に、ベクトル(ut(α))、長時間ケプストラム平均ベクトル(μ)、ベクトル(Ct −)、周波数範囲指定情報(W)の情報(WT等も含む)を与え、数式13を演算し、αの最適値(α*)を算出する。このαの最適値(α*)は、本ループにおける最適値である。そして、ケプストラム変換パラメータ算出手段36015は、αの最適値(α*)を、少なくともメモリに一時格納する。
(ステップS3710)最終ケプストラム変換パラメータ取得手段36016は、予め決められた所定のルール(ルールの情報は、予め格納されている)に合致するか否かを判断する。ルールに合致すればステップS3711に行き、ルールに合致しなければステップS3713に行く。なお、ルールとは、上述したように、例えば、予め決められた所定の繰り返し回数(この回数の情報は、予めメモリ等に格納されている)だけ、本ループ処理(αの最適値(α*)を算出し、α*をαに代入する処理)が繰り返し行われたことである。
(ステップS3711)声道長正規化パラメータ算出手段36017は、最終ケプストラム変換パラメータ取得手段36016が得たケプストラム変換パラメータ(最終のα*)を取得し、当該パラメータを数式14の演算式に与え、線形周波数伸縮比(ρ)を算出する。なお、数式14の演算式の情報は、声道長正規化パラメータ算出手段36017が予め格納している。また、声道長正規化パラメータ算出手段36017は、算出した線形周波数伸縮比(ρ)を、少なくともメモリに一時格納する。
(ステップS3712)声道長正規化パラメータ算出手段36017は、線形周波数伸縮比(ρ)を読み出し、当該線形周波数伸縮比(ρ)から、声道長正規化パラメータ(γ)を算出し、少なくともメモリに一時格納する。声道長正規化パラメータ算出手段36017は、例えば、予め格納している数式15の情報を読み出し、線形周波数伸縮比(ρ)を代入し、数式15の演算式を実行し、声道長正規化パラメータ(γ)を得る。
(ステップS3713)最終ケプストラム変換パラメータ取得手段36016は、ステップS3709で算出した(α*)をαに代入する。そして、ステップS3707に戻る。
本音声処理装置の動作(音声の評定処理)について、図38、図39のフローチャートを用いて説明する。図38のフローチャートにおいて、図2において説明した音声処理装置の動作と比較して、ステップS204の声道長正規化処理の内容のみが異なる。
次に、図39のフローチャートを用いて声道長正規化処理の内容について説明する。
(ステップS3901)声道長正規化処理部3609は、第一サンプリング周波数を、第一サンプリング周波数格納部105から読み出す。
(ステップS3902)声道長正規化処理部3609は、声道長正規化パラメータ(γ)を、声道長正規化パラメータ格納部3602から読み出す。
(ステップS3903)声道長正規化処理部3609は、予め決められた第二サンプリング周波数(F2)を算出する演算式の情報を読み出し、当該演算式の情報に、声道長正規化パラメータ(γ)と第一サンプリング周波数(F1)をパラメータとして代入し、演算式を実行し、第二サンプリング周波数(F2)を算出する。予め決められた第二サンプリング周波数(F2)を算出する演算式は、例えば、(F2=F1×γ)である。
(ステップS3904)声道長正規化処理部3609は、第二サンプリング周波数で、第一音声データに対して、リサンプリング処理を行い、第二音声データを得る。
なお、図38のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、図40の概念図を用いて、本実施の形態における音声処理装置における声道長正規化パラメータ算出処理の概念について説明する。声道長正規化パラメータの算出は、システム設計用に用いられる話者(基準話者)のある音素(教師データのある音素)の平均ケプストラムベクトルμと、同じ音素のユーザ発話音声の変換されたケプストラムベクトルOtとの自乗誤差が最小になるように求められる。ただし、求まるパラメータ(α?)はケプストラム変換(ケプストラムワーピング)パラメータであり、このままでは声道長の変換を直接表わすものではないため、近似変換式(1/ρ)を用いて最終的な声道長正規化パラメータ(サンプリング周波数変換率)γを計算する。なお、声道長正規化パラメータを算出するための数式は、上記の数式5から数式15により行われる。
以上、本実施の形態によれば、ユーザが入力した発音を、教師データに対して、如何に似ているかを示す類似度(評定値)を算出し、出力できる。また、かかる場合、本実施の形態によれば、個人差、特に声道長の違いに影響を受けない、特に、精度の高い評定ができる。
なお、本実施の形態によれば、音声処理装置が声道長正規化パラメータを算出する処理と、声道長正規化処理を行った。しかし、声道長正規化パラメータを算出する処理と声道長正規化処理を、異なる装置が行う構成でも良い。かかる場合、本音声処理装置は、音声を受け付ける音声受付部と、第一サンプリング周波数を格納している第一サンプリング周波数格納部と、サンプリング周波数の変換率に関する情報である声道長正規化パラメータを格納している声道長正規化パラメータ格納部と、前記声道長正規化パラメータと前記第一サンプリング周波数をパラメータとして算出される第二サンプリング周波数で、前記音声受付部が受け付けた音声に対して、サンプリング処理を行い、第二音声データを得る声道長正規化処理部と、前記第二音声データを処理する音声処理部を具備する音声処理装置である。また、声道長正規化パラメータを算出する装置は、教師データを構成するデータから、短区間分析により算出された第一のケプストラムベクトル系列の時間平均である長時間ケプストラム平均ベクトルを格納している長時間ケプストラム平均ベクトル格納手段と、受け付けた音声から、短区間分析により第二のケプストラムベクトル系列を算出する第二ケプストラムベクトル系列算出手段と、前記第二のケプストラムベクトル系列を、ケプストラム変換パラメータを要素とする行列を用いて線形変換し、周波数ワープされた第三のケプストラムベクトル系列を算出するケプストラム変換手段と、前記長時間ケプストラム平均ベクトルおよび前記第三のケプストラムベクトル系列に基づいて、ケプストラム変換パラメータを算出するケプストラム変換パラメータ算出手段と、所定のルールに基づいて、前記ケプストラム変換手段における処理、および前記ケプストラム変換パラメータ算出手段における処理を繰り返えさせ、ケプストラム変換パラメータを得る最終ケプストラム変換パラメータ取得手段と、前記最終ケプストラム変換パラメータ取得手段が得たケプストラム変換パラメータに基づいて、前記声道長正規化パラメータを算出する声道長正規化パラメータ算出手段を具備する装置である。
また、本実施の形態によれば、ケプストラム変換パラメータの算出の際に、周波数範囲を限定したが、かかる処理は必須ではない。かかることは、実施の形態9、実施の形態10においても同様である。
また、本実施の形態によれば、音声処理部は、DAPに基づき発音評定を行った。しかし、他のアルゴリズムにより、発音評定を行っても良い。他のアルゴリズムとは、例えば、実施の形態2で述べたt−p−DAPや、実施の形態3で述べた無音区間を考慮した類似度評定や、実施の形態4で述べた音韻の挿入を考慮した類似度評定や、実施の形態5で述べた音韻の置換を考慮した類似度評定や、実施の形態6で述べた音韻の欠落を考慮した類似度評定等である。かかることも、実施の形態9、実施の形態10においても同様である。
また、本実施の形態によれば、音声処理装置における音声処理部は、主として、発音評定を行ったが、音声処理部は、第二音声データに基づいて音声認識処理を行っても良い。かかることも、実施の形態9、実施の形態10においても同様である。
また、本実施の形態において、音声処理装置が行う下記の処理を、一のDSP(デジタルシグナルプロセッサ)で行っても良い。つまり、本DSPは、第一サンプリング周波数を格納している第一サンプリング周波数格納部と、サンプリング周波数の変換率に関する情報である声道長正規化パラメータを格納している声道長正規化パラメータ格納部と、前記声道長正規化パラメータと前記第一サンプリング周波数をパラメータとして算出される第二サンプリング周波数で、前記音声受付部が受け付けた音声に対して、サンプリング処理を行い、第二音声データを得る声道長正規化処理部を具備するデジタルシグナルプロセッサ、である。かかることも、実施の形態9、実施の形態10においても同様である。
さらに、本実施の形態における音声処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、音声を受け付ける音声受付ステップと、格納している声道長正規化パラメータと格納している第一サンプリング周波数をパラメータとして算出される第二サンプリング周波数で、前記音声受付ステップで受け付けた音声に対して、サンプリング処理を行い、第二音声データを得る声道長正規化処理ステップと、前記第二音声データを処理する音声処理ステップを実行させるためのプログラム、である。
また、上記プログラムにおいて、比較される対象の音声に関するデータであり、1以上の音韻毎のデータである教師データを1以上格納しており、前記教師データおよび前記音声受付ステップで受け付けた音声に基づいて、前記声道長正規化パラメータを算出する声道長正規化パラメータ算出ステップとをさらにコンピュータに実行させ、前記格納している声道長正規化パラメータは、前記声道長正規化パラメータ算出ステップで算出した声道長正規化パラメータであることは好適である。
(実施の形態9)
本実施の形態において、比較対象の音声と入力音声の類似度の評定を精度高く、かつ高速にできる音声処理装置について説明する。本音声処理装置は、主として、音声(歌唱を含む)を評価する発音評定装置である、として説明する。さらに、本実施の形態において、上記の実施の形態で記載した音声処理装置よりもさらに精度高く、評価対象者の話者特性に応じた発音評定が可能な音声処理装置について説明する。具体的には、本実施の形態において、出現確率最大化基準に基づく、簡潔な声道長正規化法に基づいて、評価対象者の話者特性に左右されにくい音声処理装置について説明する。なお、本実施の形態における音声処理装置は、実施の形態8の音声処理装置と比較して、声道長正規化パラメータの算出アルゴリズムが異なる。
また、本実施の形態における音声処理装置は、例えば、語学学習や物真似練習やカラオケ評定などに利用できる。
図41は、本実施の形態における音声処理装置のブロック図である。
本音声処理装置は、図36における音声処理装置と比較して、声道長正規化パラメータ算出部4101が異なる。
なお、音声処理装置は、キーボード342、マウス343などの入力手段からの入力を受け付ける。また、音声処理装置は、マイク345などの音声入力手段から音声入力を受け付ける。さらに、音声処理装置は、ディスプレイ344などの出力デバイスに情報を出力する。
声道長正規化パラメータ算出部4101は、周波数範囲指定情報格納手段41011、学習音響データ格納手段41012、第二ケプストラムベクトル系列算出手段36013、ケプストラム変換手段36014、占有度数算出手段41013、ケプストラム変換パラメータ算出手段41015、最終ケプストラム変換パラメータ取得手段36016、声道長正規化パラメータ算出手段36017を具備する。なお、ここでの最終ケプストラム変換パラメータ取得手段36016は、所定のルールに基づいて、ケプストラム変換手段36014における処理、ケプストラム変換パラメータ算出手段41015における処理だけではなく、占有度数算出手段41013における処理をも繰り返えさせ、最終的な最適なケプストラム変換パラメータを得る。
周波数範囲指定情報格納手段41011は、周波数範囲を指定する情報である周波数範囲指定情報(W)を格納している。周波数範囲指定情報(W)は、後述する最適なケプストラム変換パラメータ(α)を算出する場合に、1次オールパス関数等の双1次変換による周波数ワーピングが線形の周波数伸縮で近似できる範囲に、周波数範囲を限定するための情報である。かかる周波数範囲は、0周波数からナイキストレートの1/3から1/2程度が好適である。ただし、双1次変換は、スペクトル領域ではなく、ケプストラム領域で行われるため、周波数範囲指定情報(W)は、例えば、以下に述べる行列の情報であることが好適である。周波数範囲指定情報(W)は、例えば、図示しない周波数範囲指定情報算出手段により、以下のように算出される。サンプリング周波数をFs(Hz)、指定される周波数範囲の最高周波数をFmax(Hz)とし,「ωmax=2πFmax/Fs」と置いて、ケプストラムベクトルに対する周波数範囲指定行列Wの(i,j)成分を、周波数範囲指定情報算出手段は、以下の数式16に従って計算する。具体的には、周波数範囲指定情報算出手段は、コンピュータの記録媒体(図示しない)に格納されているサンプリング周波数(Fs)、最高周波数(Fmax)を読み出す。そして、周波数範囲指定情報算出手段は、自ら保持している演算式の情報「ωmax=2πFmax/Fs」を読み出し、ωmaxを算出する。そして、周波数範囲指定情報算出手段は、格納している以下の数式16の情報を読み出し、i、jを0から順に、1ずつインクリメントさせながら、ループ処理(2重ループの処理になる)により、{W}i,jを算出する。そして、周波数範囲指定情報算出手段は、算出した{W}i,jのすべてを、少なくとも一時的に周波数範囲指定情報格納手段41011に格納する。
なお、周波数範囲指定情報のデータ構造は問わない。また、周波数範囲指定情報格納手段41011は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
学習音響データ格納手段41012は、学習音響データを格納している。学習音響データとは、以下のように生成される。つまり、図示しない学習音響データ生成手段が、教師データを構成するデータ(例えば、教師データ格納部102のデータ)から、話者の音声のケプストラムベクトル系列を短区間分析で求め、それを用いて2以上の基準話者音素HMMを取得し、メモリ上に、少なくとも一時格納する。そして、学習音響データ生成手段は、2以上の基準話者音素HMMを声道長正規化用の指定された発話内容(例えば/あいうえお/)に従って連結し、連結HMMを生成する。なお、ケプストラムベクトルは0次係数も含めたM+1次元である。また、連結HMMのj番目状態におけるm番目ガウス分布成分の平均ベクトルおよび共分散行列を、それぞれμj,m、Σj,mとすると、μj,mは、以下の数式17で表される。
なお、(・・・)Tは、行列またはベクトルの転置を示す。
そして、図示しない学習音響データ生成手段は、生成した学習音響データを、学習音響データ格納手段41012に蓄積する。
なお、学習音響データは、連結HMMが好適であるが、単一ガウス分布モデルや、確率モデル(GMM:ガウシャンミクスチャモデル)や、統計モデルなど、他のモデルに基づくデータでも良い。また、学習音響データ格納手段41012は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
占有度数算出手段41013は、占有度数(γt(j,m))を算出し、メモリ上に書き込み、少なくとも一時的に保持する。占有度数(γt(j,m))とは、t番目のフレームがj番目状態のm番目ガウス成分から生成された事後確率である。t番目のフレームとは、例えば、音声受付部103が、声道長正規化用の指定された発話内容(例えば/あいうえお/)の発声をユーザから受け付け、当該受け付けた音声から得られたt番目のフレームである。占有度数算出手段41013は、ケプストラム変換手段36014が算出した第三のケプストラムベクトル系列(Ot)と学習音響データ格納手段41012の学習音響データを用いて、占有度数(γt(j,m))を算出する。占有度数算出手段41013は、さらに好ましくは、第三のケプストラムベクトル系列(Ot)と学習音響データと周波数範囲指定情報格納手段41011の周波数範囲指定情報(W)を用いて、占有度数(γt(j,m))を算出する。占有度数算出手段41013は、占有度数(γt(j,m))を、フォワード・バックワードアルゴリズムにより算出する。フォワード・バックワードアルゴリズムは、公知技術であるので、詳細な説明を省略する。
さらに具体的には、占有度数算出手段41013は、以下の処理により、占有度数(γt(j,m))を算出する。ここで、教師データの音声から学習される学習音素HMMを,声道長正規化パラメータ推定のために指定した発話内容(例えば/あいうえお/)にしたがって連結した連結HMMをΛとする。そして、ケプストラム変換パラメータ推定処理に使用される占有度数(γt(j,m))は、第三ケプストラム系列を周波数範囲指定情報Wにより周波数範囲指定されたケプストラムベクトル系列「Wo1(α),Wo2(α),...,WoT(α)」およびΛが与えられたときのt番目フレームがΛのj番目状態のm番目ガウス成分から生起した事後確率として定義されるので、占有度数(γt(j,m))は、数式18で定義される。
また、数式18における占有度数(γt(j,m))は、前向き尤度At(j)および後向き尤度Bt(j)を使って数式19のように計算される。つまり、占有度数算出手段41013は、数式19で示される式の情報を保持しており、与えられるケプストラムベクトル系列、およびΛを用いて、占有度数(γt(j,m))を算出する。
なお、占有度数算出手段41013は、数式19のAt(j)およびBt(j)を、ケプストラムベクトル系列「Wo1(α)...WoT(α)」およびΛから公知のforward−backwardアルゴリズムを用いて算出する。
また、vj,mは、j番目状態のm番目ガウス成分に対する重み係数である。さらに、占有度数算出手段41013は、出力分布bj,m(Wot(α))を、数式20を用いて算出する。占有度数算出手段41013は、数式20の情報を予め保持しており、当該情報を読み出して、演算を実行し、出力分布bj,m(Wot(α))を得る。
なお、数式20において、Mはケプストラム次数、|A|は行列Aのdeterminantを表わす。
占有度数算出手段41013は、通常、MPUやメモリ等から実現され得る。占有度数算出手段41013の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
ケプストラム変換パラメータ算出手段41015は、学習音響データ格納手段41012の学習音響データを読み出し、およびメモリ上に一時格納されている第三のケプストラムベクトル系列(Ot)を読み出し、読み出した学習音響データおよび第三のケプストラムベクトル系列(Ot)に基づいて、ケプストラム変換パラメータ(α)を算出する。ケプストラム変換パラメータ算出手段41015は、さらに好ましくは、周波数範囲指定情報(W)で示される周波数範囲における学習音響データ、第三のケプストラムベクトル系列(Ot)および占有度数(γt(j,m))に基づいて、ケプストラム変換パラメータを算出する。なお、第三のケプストラムベクトル系列(Ot)は、ケプストラム変換手段36014が算出したデータである。
具体的には、まず、ケプストラム変換パラメータ算出手段41015は、上述の数式12により、ベクトル(ut(α))を算出する。なお、ケプストラム変換パラメータ算出手段41015は、上述の数式12を示す情報を格納しており、かかる数式12の情報を読み出し、当該数式に、第三のケプストラムベクトル系列(Ot)、ケプストラム変換パラメータ(α)、ベクトル(Ct −)の情報を与え、当該数式を演算する。そして、次に、ケプストラム変換パラメータ算出手段41015は、以下の数式21により、αの最適値(α*)を算出する。なお、αの最適値(α*)は、繰り返しステップ(ループ処理)における現在のループ内の処理での最適値である。また、ケプストラム変換パラメータ算出手段41015は、以下の数式21を示す情報を、予め格納している。
ケプストラム変換パラメータ算出手段41015は、通常、MPUやメモリ等から実現され得る。ケプストラム変換パラメータ算出手段41015の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、本音声処理装置の動作について説明する。まず、本音声処理装置における、声道長正規化パラメータを算出する処理について、図42のフローチャートを用いて説明する。図42のフローチャートにおいて、図37のフローチャートと比較して差異のあるステップのみ説明する。なお、本声道長正規化パラメータ算出処理は、必ずしも音声処理装置で行う必要はない。また、図42における初期化処理は、例えば、ユーザ(評価対象者)に対して、「/aiueo/」と発声するように促す処理と、周波数範囲指定情報格納手段41011の周波数範囲指定情報、および学習音響データ格納手段41012の学習音響データを読み出す処理である。
(ステップS4201)占有度数算出手段41013は、ステップS3707で得られた第三のケプストラムベクトル系列(Ot)と学習音響データ格納手段41012の学習音響データと周波数範囲指定情報(W)を用いて、占有度数(γt(j,m))を算出し、メモリに一時記憶する。
(ステップS4202)ケプストラム変換パラメータ算出手段41015は、周波数範囲指定情報(W)で示される周波数範囲における学習音響データ、ベクトル(ut(α))および占有度数(γt(j,m))に基づいて、本ループにおける最適なケプストラム変換パラメータ(α*)を算出する。ケプストラム変換パラメータ算出手段41015は、例えば、格納している数式21の情報を読み出し、また、メモリ上の学習音響データ、ベクトル(ut(α))および占有度数(γt(j,m))を読み出し、数式21に代入し、ケプストラム変換パラメータ(α*)を算出する。
次に、本音声処理装置の動作(音声の評定処理)について説明する。本音声処理装置の動作は、図38、図39のフローチャートにおける動作と同様である。
以下、図43の概念図を用いて、本実施の形態における音声処理装置における声道長正規化パラメータ算出処理の概念について説明する。まず、システム設計用音声データベースから、指定された発話内容(例えば/あいうえお/)に従って音素HMM(教師データが有する音素HMM)を連結し連結HMM(図43の基準話者HMM)を構成する。そして、連結HMMと、同じ音素列のユーザ発話音声の変換されたケプストラムベクトルOtの、Λ(Λは、ユーザ発話音声にしたがって連結された連結HMM)に対する出現確率が最大になるように(図43の最適化に相当)パラメータを算出する。ただし、求まるパラメータ(α?)はケプストラム変換(ケプストラムワーピング)パラメータであり、このままでは声道長の変換を直接表わすものではないため、近似変換式(1/ρ)を用いて最終的な声道長正規化パラメータ(サンプリング周波数変換率)γを計算する。なお、声道長正規化パラメータを算出するための数式は、上記の数式16から数式21、数式9から数式12、数式14、数式15により行われる。
以上、本実施の形態によれば、ユーザが入力した発音を、教師データに対して、如何に似ているかを示す類似度(評定値)を算出し、出力できる。また、かかる場合、本実施の形態によれば、個人差、特に声道長の違いに影響を受けない、特に、精度の高い評定ができる。
なお、本実施の形態によれば、音声処理装置が声道長正規化パラメータを算出する処理と、声道長正規化処理を行った。しかし、声道長正規化パラメータを算出する処理と声道長正規化処理を、異なる装置が行う構成でも良い。かかる場合、本音声処理装置は、音声を受け付ける音声受付部と、第一サンプリング周波数を格納している第一サンプリング周波数格納部と、サンプリング周波数の変換率に関する情報である声道長正規化パラメータを格納している声道長正規化パラメータ格納部と、前記声道長正規化パラメータと前記第一サンプリング周波数をパラメータとして算出される第二サンプリング周波数で、前記音声受付部が受け付けた音声に対して、サンプリング処理を行い、第二音声データを得る声道長正規化処理部と、前記第二音声データを処理する音声処理部を具備する音声処理装置である。また、声道長正規化パラメータを算出する装置は、教師データを構成するデータから、話者の音声のケプストラムベクトル系列を短区間分析で求め、それを用いて2以上の基準話者音素HMMを取得し、当該2以上の基準話者音素HMMを声道長正規化用の指定された発話内容(例えば/あいうえお/)に従って連結して得られた連結HMMである学習音響データを格納している学習音響データ格納手段と、受け付けた音声から、短区間分析により第二のケプストラムベクトル系列を算出する第二ケプストラムベクトル系列算出手段と、前記第二のケプストラムベクトル系列を、ケプストラム変換パラメータを要素とする行列を用いて線形変換し、周波数ワープされた第三のケプストラムベクトル系列を算出するケプストラム変換手段と、指定された発話内容に従って受け付けた音声の事後確率である占有度数を算出する占有度算出手段と、前記学習音響データおよび前記第三のケプストラムベクトル系列および前記占有度数に基づいて、ケプストラム変換パラメータを算出するケプストラム変換パラメータ算出手段と、所定のルールに基づいて、前記ケプストラム変換手段における処理、および前記占有度算出手段における処理、および前記ケプストラム変換パラメータ算出手段における処理を繰り返えさせ、ケプストラム変換パラメータを得る最終ケプストラム変換パラメータ取得手段と、前記最終ケプストラム変換パラメータ取得手段が得たケプストラム変換パラメータに基づいて、前記声道長正規化パラメータを算出する声道長正規化パラメータ算出手段を具備する装置である。
さらに、本実施の形態における音声処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、音声を受け付ける音声受付ステップと、格納している声道長正規化パラメータと格納している第一サンプリング周波数をパラメータとして算出される第二サンプリング周波数で、前記音声受付ステップで受け付けた音声に対して、サンプリング処理を行い、第二音声データを得る声道長正規化処理ステップと、前記第二音声データを処理する音声処理ステップを実行させるためのプログラム、である。
また、上記プログラムにおいて、比較される対象の音声に関するデータであり、1以上の音韻毎のデータである教師データを1以上格納しており、前記教師データおよび前記音声受付ステップで受け付けた音声に基づいて、前記声道長正規化パラメータを算出する声道長正規化パラメータ算出ステップとをさらにコンピュータに実行させ、前記格納している声道長正規化パラメータは、前記声道長正規化パラメータ算出ステップで算出した声道長正規化パラメータであることは好適である。
また、上記プログラムにおいて、音素HMMを指定された発話内容に従って連結した連結HMMである学習音響データを格納しており、前記声道長正規化パラメータ算出ステップは、前記音声受付ステップで受け付けた音声から、短区間分析により第二のケプストラムベクトル系列を算出する第二ケプストラムベクトル系列算出ステップと、前記第二のケプストラムベクトル系列を、ケプストラム変換パラメータを要素とする行列を用いて線形変換し、周波数ワープされた第三のケプストラムベクトル系列を算出するケプストラム変換ステップと、指定された発話内容に従って受け付けた音声の事後確率である占有度数を算出する占有度算出ステップと、前記学習音響データおよび前記第三のケプストラムベクトル系列および前記占有度数に基づいて、ケプストラム変換パラメータを算出するケプストラム変換パラメータ算出ステップと、所定のルールに基づいて、前記ケプストラム変換ステップにおける処理、および前記占有度算出ステップにおける処理、および前記ケプストラム変換パラメータ算出ステップにおける処理を繰り返えさせ、ケプストラム変換パラメータを得る最終ケプストラム変換パラメータ取得ステップと、前記最終ケプストラム変換パラメータ取得ステップで得たケプストラム変換パラメータに基づいて、前記声道長正規化パラメータを算出する声道長正規化パラメータ算出ステップを具備することは好適である。
また、上記プログラムにおいて、前記声道長正規化パラメータ算出ステップにおいて、前記最終ケプストラム変換パラメータ取得ステップで得たケプストラム変換パラメータから線形周波数伸縮比を算出し、当該線形周波数伸縮比から前記声道長正規化パラメータを算出することは好適である。
また、上記プログラムにおいて、周波数範囲を指定する情報である周波数範囲指定情報を格納しており、前記ケプストラム変換パラメータ算出ステップにおいて、前記周波数範囲指定情報で示される周波数範囲における学習音響データ、第三のケプストラムベクトル系列および占有度数に基づいて、ケプストラム変換パラメータを算出することは好適である。
(実施の形態10)
本実施の形態において、比較対象の音声と入力音声の類似度の評定を精度高く、かつ高速にできる音声処理装置について説明する。本音声処理装置は、主として、音声(歌唱を含む)を評価する発音評定装置である、として説明する。さらに、本実施の形態において、上記の実施の形態で記載した音声処理装置よりもさらに精度高く、評価対象者の話者特性に応じた発音評定が可能な音声処理装置について説明する。具体的には、本実施の形態において、複数の音素を用いた最小自乗誤差基準に基づく、簡潔な声道長正規化法に基づいて、評価対象者の話者特性に左右されにくい音声処理装置について説明する。
さらに具体的には、本実施の形態において、基準話者(システム設計用の話者)の音声から、音素毎に基準話者平均ケプストラムベクトルを計算しておく。そして、ユーザ音声の周波数ワープされたケプストラムベクトル系列と上記の基準話者平均ケプストラムベクトルの系列との自乗誤差が最小になるように、最適なワーピングパラメータを求める。このとき、ユーザ音声は指定された発話内容にしたがって発声されたものであり、基準話者平均ケプストラムの系列は同じ発話内容にしたがって音素毎の基準話者平均ケプストラムを並べたものであることが好適である。ただし、ここで算出されるパラメータはケプストラムワーピングパラメータであり、声道長変換を直接表わすものではないため、予め決まられた近似変換式を用いて最終的な声道長正規化パラメータ(サンプリング周波数変換率)を算出する。
なお、本実施の形態における音声処理装置は、実施の形態8、9の音声処理装置と比較して、声道長正規化パラメータの算出アルゴリズムが異なる。
また、本実施の形態における音声処理装置は、例えば、語学学習や物真似練習やカラオケ評定などに利用できる。
図44は、本実施の形態における音声処理装置のブロック図である。
本音声処理装置は、図41における音声処理装置と比較して、声道長正規化パラメータ算出部4401が異なる。
声道長正規化パラメータ算出部4401は、周波数範囲指定情報格納手段41011、学習音響データ格納手段44012、第二ケプストラムベクトル系列算出手段36013、ケプストラム変換手段36014、最適音素系列取得手段44013、ケプストラム変換パラメータ算出手段44015、最終ケプストラム変換パラメータ取得手段36016、声道長正規化パラメータ算出手段36017を具備する。なお、ここでの最終ケプストラム変換パラメータ取得手段36016は、所定のルールに基づいて、ケプストラム変換手段36014における処理、ケプストラム変換パラメータ算出手段44015における処理だけではなく、最適音素系列取得手段44013における処理をも繰り返えさせ、最終的な最適なケプストラム変換パラメータを得る。
学習音響データ格納手段44012は、学習音響データを格納している。ここでの学習音響データは、音素平均ケプストラムベクトルを指定された発話内容に従って並べた音素平均ケプストラムベクトル列である。学習音響データは、例えば、以下のように生成される。つまり、図示しない学習音響データ生成手段が、教師データを構成するデータ(例えば、教師データ格納部102のデータ)から、各音素l(l=1,2,....,L)に対して、基準話者の音声ケプストラムベクトル系列を短区間分析で求め,その時間平均(μl)を算出する。なお、ケプストラムベクトルは0次係数も含めたM+1次元である。そして、時間平均(μl)は、以下の数式22で表される。
なお、(・・・)Tは、行列またはベクトルの転置を示す。
そして、図示しない学習音響データ生成手段は、生成した学習音響データを、学習音響データ格納手段44012に蓄積する。
なお、学習音響データ格納手段44012は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
最適音素系列取得手段44013は、ユーザが発声した発話音声を構成する各フレームtに対応する音素番号の情報である音素系列(s* t(t=1,2,....,T))を取得する。最適音素系列取得手段44013が音素系列(s* t)を取得するアルゴリズムは問わない。最適音素系列取得手段44013は、例えば、ユーザ(キーボードなど)からの音素系列(s* t)の入力を受け付けても良い。また、最適音素系列取得手段44013は、ユーザケプストラムベクトル系列(Ct)からオートセグメンテーションにより、音素系列(s* t)を算出しても良い。オートセグメンテーションは、公知技術であるので説明を省略する。また、最適音素系列取得手段44013は、動的計画法(DPマッチング)により、以下の数式23のJを最小にする音素系列St(t=1,2,....,T)を取得し、そのStを音素系列(s* t)として取得しても良い。また、音素系列は、音素番号の列の情報でなくても良い。音素系列は、音素を識別する情報の列であれば良い。
ケプストラム変換パラメータ算出手段44015は、学習音響データ格納手段44012の学習音響データを読み出し、およびメモリ上に一時格納されている第三のケプストラムベクトル系列(Ot)を読み出し、および最適音素系列取得手段44013が取得した音素系列(s* t)を読み出し、読み出した学習音響データおよび第三のケプストラムベクトル系列(Ot)および音素系列(s* t)を用いて、ケプストラム変換パラメータ(α)を算出する。ケプストラム変換パラメータ算出手段44015は、さらに好ましくは、周波数範囲指定情報(W)および読み出した学習音響データおよび第三のケプストラムベクトル系列(Ot)および音素系列(s* t)に基づいて、ケプストラム変換パラメータを算出する。
具体的には、まず、ケプストラム変換パラメータ算出手段36015は、以下の数式24により、ベクトル(ut(α))を算出する。そして、次に、ケプストラム変換パラメータ算出手段44015は、以下の数式25により、αの最適値(α*)を算出する。なお、αの最適値(α*)は、現繰り返しステップにおける最適値である。
なお、ケプストラム変換パラメータ算出手段44015は、通常、上記の数式24、25の情報を格納しており、当該数式の情報を読み出し、演算を行う。ケプストラム変換パラメータ算出手段44015は、通常、MPUやメモリ等から実現され得る。ケプストラム変換パラメータ算出手段44015の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
なお、声道長正規化パラメータ算出手段36017は、実施の形態9において、最終ケプストラム変換パラメータ取得手段36016が得たケプストラム変換パラメータから、数式14に従って、線形周波数伸縮比(ρ)を算出した。しかし、声道長正規化パラメータ算出手段36017は、最終ケプストラム変換パラメータ取得手段36016が得たケプストラム変換パラメータから、以下の数式26に従って、線形周波数伸縮比(ρ)を算出しても良い。
次に、本音声処理装置の動作について説明する。まず、本音声処理装置における、声道長正規化パラメータを算出する処理について、図45のフローチャートを用いて説明する。図45のフローチャートにおいて、図37、図42のフローチャートと比較して差異のあるステップのみ説明する。なお、本声道長正規化パラメータ算出処理は、必ずしも音声処理装置で行う必要はない。また、図45における初期化処理は、例えば、ユーザ(評価対象者)に対して、「/あいうえお/」と発声するように促す処理と、周波数範囲指定情報格納手段41011の周波数範囲指定情報、および学習音響データ格納手段44012の学習音響データを読み出す処理である。
(ステップS4501)最適音素系列取得手段44013は、ユーザが発声した発話音声を構成する各フレームtに対応する音素系列(s* t(t=1,2,....,T))を取得する。
(ステップS4502)ケプストラム変換パラメータ算出手段44015は、周波数範囲指定情報(W)で示される周波数範囲における学習音響データ、ベクトル(ut(α))およびステップS4501で取得した音素系列(s* t)に基づいて、本ループにおける最適なケプストラム変換パラメータ(α*)を算出する。ケプストラム変換パラメータ算出手段44015は、例えば、格納している数式25の情報を読み出し、また、メモリ上の学習音響データ、ベクトル(ut(α))および音素系列(s* t)を読み出し、数式25に代入し、ケプストラム変換パラメータ(α*)を算出する。
次に、本音声処理装置の動作(音声の評定処理)について説明する。本音声処理装置の動作は、図38、図39のフローチャートにおける動作と同様である。
以下、図46の概念図を用いて、本実施の形態における音声処理装置における声道長正規化パラメータ算出処理の概念について説明する。まず、基準話者音声データベースから算出された音素毎の平均ケプストラムベクトルを、指定された発話内容(例えば/あいうえお/)の音素列に従って並べたベクトル列と、同じ音素列のユーザ発話音声の変換されたケプストラムベクトルとの自乗誤差が最小になるようにパラメータ(α*)が求められる。ただし、求まるパラメータ(α*)はケプストラム変換(ケプストラムワーピング)パラメータであり、このままでは声道長の変換を直接表わすものではないため、近似変換式(1/ρ)を用いて最終的な声道長正規化パラメータ(サンプリング周波数変換率)γを計算する。なお、声道長正規化パラメータを算出するための数式は、上記の数式22から数式26、数式9から数式11、数式14から数式16等により行われる。
以上、本実施の形態によれば、ユーザが入力した発音を、教師データに対して、如何に似ているかを示す類似度(評定値)を算出し、出力できる。また、かかる場合、本実施の形態によれば、個人差、特に声道長の違いに影響を受けない、特に、精度の高い評定ができる。
なお、本実施の形態によれば、音声処理装置が声道長正規化パラメータを算出する処理と、声道長正規化処理を行った。しかし、声道長正規化パラメータを算出する処理と声道長正規化処理を、異なる装置が行う構成でも良い。かかる場合、本音声処理装置は、音声を受け付ける音声受付部と、第一サンプリング周波数を格納している第一サンプリング周波数格納部と、サンプリング周波数の変換率に関する情報である声道長正規化パラメータを格納している声道長正規化パラメータ格納部と、前記声道長正規化パラメータと前記第一サンプリング周波数をパラメータとして算出される第二サンプリング周波数で、前記音声受付部が受け付けた音声に対して、サンプリング処理を行い、第二音声データを得る声道長正規化処理部と、前記第二音声データを処理する音声処理部を具備する音声処理装置である。また、声道長正規化パラメータを算出する装置は、教師データを構成するデータから、話者の音声のケプストラムベクトル系列を短区間分析で求め、それを用いて2以上の基準話者音素平均ケプストラムベクトルを取得し、当該2以上の基準話者音素平均ケプストラムベクトルを声道長正規化用の指定された発話内容(例えば/あいうえお/)に従って並べて得られた平均ケプストラムベクトル列である学習音響データを格納している学習音響データ格納手段と、受け付けた音声から、短区間分析により第二のケプストラムベクトル系列を算出する第二ケプストラムベクトル系列算出手段と、前記第二のケプストラムベクトル系列を、ケプストラム変換パラメータを要素とする行列を用いて線形変換し、周波数ワープされた第三のケプストラムベクトル系列を算出するケプストラム変換手段と、ユーザが発声した発話音声を構成する各フレームtに対応する音素を識別する情報の列である音素系列を取得する最適音素系列取得手段と、前記学習音響データおよび前記第三のケプストラムベクトル系列および前記音素系列に基づいて、ケプストラム変換パラメータを算出するケプストラム変換パラメータ算出手段と、所定のルールに基づいて、前記ケプストラム変換手段における処理、および前記最適音素系列取得手段における処理、および前記ケプストラム変換パラメータ算出手段における処理を繰り返えさせ、ケプストラム変換パラメータを得る最終ケプストラム変換パラメータ取得手段と、前記最終ケプストラム変換パラメータ取得手段が得たケプストラム変換パラメータに基づいて、前記声道長正規化パラメータを算出する声道長正規化パラメータ算出手段を具備する装置である。
さらに、本実施の形態における音声処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、音声を受け付ける音声受付ステップと、格納している声道長正規化パラメータと格納している第一サンプリング周波数をパラメータとして算出される第二サンプリング周波数で、前記音声受付ステップで受け付けた音声に対して、サンプリング処理を行い、第二音声データを得る声道長正規化処理ステップと、前記第二音声データを処理する音声処理ステップを実行させるためのプログラム、である。
また、上記プログラムにおいて、比較される対象の音声に関するデータであり、1以上の音韻毎のデータである教師データを1以上格納しており、前記教師データおよび前記音声受付ステップで受け付けた音声に基づいて、前記声道長正規化パラメータを算出する声道長正規化パラメータ算出ステップとをさらにコンピュータに実行させ、前記格納している声道長正規化パラメータは、前記声道長正規化パラメータ算出ステップで算出した声道長正規化パラメータであることは好適である。
また、上記プログラムにおける声道長正規化パラメータ算出ステップは、前記音声受付ステップで受け付けた音声から、短区間分析により第二のケプストラムベクトル系列を算出する第二ケプストラムベクトル系列算出ステップと、前記第二のケプストラムベクトル系列を、ケプストラム変換パラメータを要素とする行列を用いて変換し、周波数ワープされた第三のケプストラムベクトル系列を算出するケプストラム変換ステップと、ユーザが発声した発話音声を構成する各フレームtに対応する音素を識別する情報の列である音素系列を取得する最適音素系列取得ステップと、格納している学習音響データおよび前記第三のケプストラムベクトル系列および前記音素系列を用いて、ケプストラム変換パラメータを算出するケプストラム変換パラメータ算出ステップと、所定のルールに基づいて、前記ケプストラム変換ステップにおける処理、および前記最適音素系列取得ステップにおける処理、および前記ケプストラム変換パラメータ算出ステップにおける処理を繰り返えさせ、ケプストラム変換パラメータを得る最終ケプストラム変換パラメータ取得手段と、
前記最終ケプストラム変換パラメータ取得ステップが得たケプストラム変換パラメータに基づいて、前記声道長正規化パラメータを算出する声道長正規化パラメータ算出サブステップを具備することは好適である。
また、上記プログラムの声道長正規化パラメータ算出サブステップにおいて、前記最終ケプストラム変換パラメータ取得ステップで得たケプストラム変換パラメータから線形周波数伸縮比を算出し、当該線形周波数伸縮比から前記声道長正規化パラメータを算出することは好適である。
また、上記プログラムにおいて、周波数範囲を指定する情報である周波数範囲指定情報を格納しており、前記ケプストラム変換パラメータ算出ステップにおいて、前記周波数範囲指定情報で示される周波数範囲における学習音響データ、第三のケプストラムベクトル系列および音素系列に基づいて、ケプストラム変換パラメータを算出することは好適である。
また、上記の実施の形態において検出した特殊音声は、無音、挿入、置換、欠落であった。音声処理装置は、かかるすべての特殊音声について検知しても良いことはいうまでもない。また、音声処理装置は、主として、実施の形態1、実施の形態2において述べた評定値の算出アルゴリズムを利用して、特殊音声の検出を行ったが、他の評定値の算出アルゴリズムを利用しても良い。
また、特殊音声は、無音、挿入、置換、欠落に限られない。例えば、特殊音声は、garbage(雑音などの雑多な音素等)であっても良い。受け付けた音声にgarbageが混入している場合、その区間は類似度の計算対象から除外するのがしばしば望ましい。例えば、発音評定においては、学習者の発声には通常、息継ぎや無声区間などが数多く表れ、それらに対応する発声区間を評定対象から取り除くことが好適である。なお、無音は、一般に、garbageの一種である、と考える。
そこで,どの音素にも属さない雑多な音素(garbage音素)を設定し、garbageのHMMをあらかじめ格納しておく。スコア低下区間において、garbageのHMMに対する評定値(γt(j))が所定の値より大きい場合,その区間はgarbage区間と判定することは好適である。特に、発音評定において,garbage区間が2つの単語にまたがっている場合、息継ぎなどが起こったものとして、評定値の計算対象から除外することは極めて好適である。
また、図47は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の音声処理装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図47は、このコンピュータシステム340の概観図であり、図48は、コンピュータシステム340のブロック図である。
図47において、コンピュータシステム340は、FD(Flexible Disk)ドライブ、CD−ROM(Compact Disk Read Only Memory)ドライブを含むコンピュータ341と、キーボード342と、マウス343と、モニタ344と、マイク345とを含む。
図48において、コンピュータ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がどのように動作するかは周知であり、詳細な説明は省略する。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記のプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。