以下、音声処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、例えば、日本語を母国語とするユーザが、英語で発声した音声を処理するのに好適な音声処理装置について説明する。また、本音声処理装置は、比較対象の音声と入力音声の類似度の評定を精度高く、かつ高速にできる音声処理装置である。本音声処理装置は、音声(歌唱を含む)を評価する発音評定装置である。特に、本音声処理装置は、入力音声のフレームに対する最適状態の事後確率を、動的計画法を用いて算出することから、当該事後確率をDAP(Dynamic A Posteriori Probability)と呼び、DAPに基づく類似度計算法および発音評定装置をDAPSと呼ぶ。
また、本実施の形態における音声処理装置は、例えば、語学学習や物真似練習やカラオケ評定などに利用できる。
図1は、本実施の形態における音声処理装置のブロック図である。音声処理装置は、入力受付部101、教師データ格納部102、音声受付部103、第一サンプリング周波数格納部104、第二サンプリング周波数格納部105、サンプリング部106、声道長正規化パラメータ算出部107、第二サンプリング周波数算出部108、声道長正規化処理部109、音声処理部110を具備する。
図2は、本実施の形態における音声処理装置を構成する声道長正規化パラメータ算出部107のブロック図である。声道長正規化パラメータ算出部107は、周波数範囲指定情報格納手段1071、学習音響データ格納手段1072、第二ケプストラムベクトル系列算出手段1073、ケプストラム変換手段1074、占有度数算出手段1075、ケプストラム変換パラメータ算出手段1076、最終ケプストラム変換パラメータ取得手段1077、声道長正規化パラメータ算出手段1078を具備する。
図3は、本実施の形態における音声処理装置を構成する音声処理部110のブロック図である。音声処理部110は、フレーム区分手段1101、フレーム音声データ取得手段1102、評定手段1103、出力手段1104を具備する。本音声処理部110は、DAPにより発音評定を行う。ただし、音声処理部の処理は、発音評定に限らない。音声処理部の処理は、音声認識など、音声を処理するものであれば良い。また、発音評定のアルゴリズムもDAPに限らない。
評定手段1103は、最適状態決定手段11031、最適状態確率値取得手段11032、評定値算出手段11033を具備する。
なお、音声処理装置は、キーボード342、マウス343などの入力手段からの入力を受け付ける。また、音声処理装置は、マイク345などの音声入力手段から音声入力を受け付ける。さらに、音声処理装置は、ディスプレイ344などの出力デバイスに情報を出力する。
入力受付部101は、音声処理装置の動作開始を指示する動作開始指示や、処理を終了する終了指示などの入力を受け付ける。かかる指示等の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。入力受付部101は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
教師データ格納部102は、バイリンガル話者の第一言語の音声に関する情報である教師第一言語音声情報を格納している。教師データ格納部102は、バイリンガル話者の第二言語の音声に関する情報である教師第二言語音声情報をも格納している。バイリンガル話者とは、通常、二か国語を母語として話す人を言うが、ここでは、二か国語以上を母語として話す人をいうこととする。教師第一言語音声情報および教師第二言語音声情報は、音韻毎の隠れマルコフモデル(HMM)を連結したHMMに基づくデータであることが好適である。また、教師第一言語音声情報および教師第二言語音声情報は、入力される音声を構成する音素に対応するHMMを、入力順序に従って連結されているHMMに基づくデータであることが好適である。ただし、教師第一言語音声情報と教師第二言語音声情報は、必ずしも、音韻毎のHMMを連結したHMMに基づくデータである必要はない。教師第一言語音声情報等は、全音素のHMMの、単なる集合であっても良い。また、教師第一言語音声情報等は、必ずしもHMMに基づくデータである必要はない。教師第一言語音声情報と教師第二言語音声情報は、単一ガウス分布モデルや、確率モデル(GMM:ガウシャンミクスチャモデル)や、統計モデルなど、他のモデルに基づくデータでも良い。HMMに基づくデータは、例えば、フレーム毎に、状態識別子と遷移確率の情報を有する。また、HMMに基づくデータは、例えば、複数の学習対象言語を母国語として話す外国人が発声した2以上のデータから学習した(推定した)モデルでも良い。教師データ格納部102は、ハードディスクやROMなどの不揮発性の記録媒体が好適であるが、RAMなどの揮発性の記録媒体でも実現可能である。なお、第一言語と第二言語は、異なれば、何でも良い。第一言語、第二言語は、それぞれ母語であるとは限らない。
音声受付部103は、ユーザから第一言語(例えば、英語)の音声の入力を受け付ける。また、音声受付部103は、ユーザから第二言語(例えば、日本語)の音声の入力をも受け付ける。音声受付部103は、例えば、マイク345のドライバーソフトで実現され得る。また、なお、音声受付部103は、マイク345とそのドライバーから実現されると考えても良い。音声は、マイク345から入力されても良いし、磁気テープやCD−ROMなどの記録媒体から読み出すことにより入力されても良い。
第一サンプリング周波数格納部104は、バイリンガル話者のサンプリング周波数である第一サンプリング周波数を格納している。第一サンプリング周波数格納部104は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
第二サンプリング周波数格納部105は、第二サンプリング周波数が格納される。第二サンプリング周波数は、バイリンガル話者の第二言語の音声に関する情報である教師第二言語音声情報と、ユーザが発声した第二言語の音声に関する情報であるユーザ第二言語音声情報を用いて算出された声道長正規化パラメータと、バイリンガル話者の音声のサンプリング周波数である第一サンプリング周波数を用いて算出されたサンプリング周波数である。声道長正規化パラメータとは、サンプリング周波数の変換率に関する情報である。例えば、「第二サンプリング周波数=声道長正規化パラメータ×第一サンプリング周波数」である。第二サンプリング周波数格納部105は、不揮発性の記録媒体でも、揮発性の記録媒体でも良い。
サンプリング部106は、第一サンプリング周波数格納部104の第一サンプリング周波数で、音声受付部103が受け付けた音声をサンプリングし、第一音声データを取得する。なお、受け付けた音声をサンプリングする技術は公知技術であるので、詳細な説明を省略する。サンプリング部106は、通常、MPUやメモリ等から実現され得る。サンプリング部106の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
声道長正規化パラメータ算出部107は、音声受付部103が受け付けた第二言語の音声に関する情報であるユーザ第二言語音声情報と教師第二言語音声情報から、声道長正規化パラメータを算出する。声道長正規化パラメータとは、評価対象者の話者特性(例えば、声道長の違い)を吸収するためのサンプリング周波数変換率である。声道長正規化パラメータ算出部107が声道長正規化パラメータを算出するアルゴリズムは、種々存在する。声道長正規化パラメータ算出部107は、ここでは、後述する周波数範囲指定情報格納手段1071、学習音響データ格納手段1072、第二ケプストラムベクトル系列算出手段1073、ケプストラム変換手段1074、占有度数算出手段1075、ケプストラム変換パラメータ算出手段1076、最終ケプストラム変換パラメータ取得手段1077、声道長正規化パラメータ算出手段1078により声道長正規化パラメータを算出する。声道長正規化パラメータ算出部107は、通常、MPUやメモリ等から実現され得る。声道長正規化パラメータ算出部107の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
周波数範囲指定情報格納手段1071は、周波数範囲を指定する情報である周波数範囲指定情報(W)を格納している。周波数範囲指定情報(W)は、後述する最適なケプストラム変換パラメータ(α)を算出する場合に、1次オールパス関数等の双1次変換による周波数ワーピングが線形の周波数伸縮で近似できる範囲に、周波数範囲を限定するための情報である。かかる周波数範囲は、0周波数からナイキストレートの1/3から1/2程度が好適である。ただし、双1次変換は、スペクトル領域ではなく、ケプストラム領域で行われるため、周波数範囲指定情報(W)は、例えば、以下に述べる行列の情報であることが好適である。周波数範囲指定情報(W)は、例えば、図示しない周波数範囲指定情報算出手段により、以下のように算出される。サンプリング周波数をFs(Hz)、指定される周波数範囲の最高周波数をFmax(Hz)とし,「ωmax=2πFmax/Fs」と置いて、ケプストラムベクトルに対する周波数範囲指定行列Wの(i,j)成分を、周波数範囲指定情報算出手段は、以下の数式1に従って計算する。具体的には、周波数範囲指定情報算出手段は、コンピュータの記録媒体(図示しない)に格納されているサンプリング周波数(Fs)、最高周波数(Fmax)を読み出す。そして、周波数範囲指定情報算出手段は、自ら保持している演算式の情報「ωmax=2πFmax/Fs」を読み出し、ωmaxを算出する。そして、周波数範囲指定情報算出手段は、格納している以下の数式1の情報を読み出し、i、jを0から順に、1ずつインクリメントさせながら、ループ処理(2重ループの処理になる)により、{W}i,jを算出する。そして、周波数範囲指定情報算出手段は、算出した{W}i,jのすべてを、少なくとも一時的に周波数範囲指定情報格納手段1071に格納する。
なお、周波数範囲指定情報のデータ構造は問わない。また、周波数範囲指定情報格納手段1071は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
学習音響データ格納手段1072は、学習音響データを格納している。学習音響データは、通常、音素HMMを指定された発話内容に従って連結した連結HMMである。学習音響データとは、以下のように生成される。つまり、図示しない学習音響データ生成手段が、教師データを構成するデータ(例えば、教師データ格納部102の教師第二言語音声情報)から、話者の音声のケプストラムベクトル系列を短区間分析で求め、それを用いて2以上の基準話者音素HMMを取得し、メモリ上に、少なくとも一時格納する。そして、学習音響データ生成手段は、2以上の基準話者音素HMMを声道長正規化用の指定された発話内容(例えば/あいうえお/)に従って連結し、連結HMMを生成する。なお、ケプストラムベクトルは0次係数も含めたM+1次元である。また、連結HMMのj番目状態におけるm番目ガウス分布成分の平均ベクトルおよび共分散行列を、それぞれμj,m、Σj,mとすると、μj,mは、以下の数式2で表される。
なお、(・・・)Tは、行列またはベクトルの転置を示す。
そして、図示しない学習音響データ生成手段は、生成した学習音響データを、学習音響データ格納手段1072に蓄積する。
なお、学習音響データは、連結HMMが好適であるが、単一ガウス分布モデルや、確率モデル(GMM:ガウシャンミクスチャモデル)や、統計モデルなど、他のモデルに基づくデータでも良い。また、学習音響データ格納手段1072は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
第二ケプストラムベクトル系列算出手段1073は、音声受付部103が受け付けた音声から、短区間分析により第二のケプストラムベクトル系列(Ct)を算出する。第二ケプストラムベクトル系列算出手段1073は、音声受付部103が受け付けた音声をサンプリングして得たデータから、第二のケプストラムベクトル系列(Ct)を算出しても良く、かかる場合も音声受付部103が受け付けた音声から、短区間分析により第二のケプストラムベクトル系列(Ct)を算出した、と言える。なお、音素を短区間分析し、ケプストラムベクトル系列を算出する処理は、公知技術による処理であるので、説明は省略する。第二ケプストラムベクトル系列算出手段1073は、通常、MPUやメモリ等から実現され得る。第二ケプストラムベクトル系列算出手段1073の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、第二ケプストラムベクトル系列算出手段1073が処理する音声であり音声受付部103が受け付ける発話内容(例えば、/あいうえお/)は、声道長正規化用の指定された発話内容である。また、この第二のケプストラムベクトル系列(Ct)は、やはり0次係数も含めたM+1次元ベクトルとして数式3で表わされる。
また、第二ケプストラムベクトル系列算出手段1073は、後述するケプストラム変換パラメータ算出手段1076の処理のために、算出した第二のケプストラムベクトル系列(Ct)に対して、以下の数式4の処理を行い、ベクトル(Ct −)(t=1,2,・・・,T)を取得することは好適である。
ケプストラム変換手段1074は、第二のケプストラムベクトル系列(Ct)を、ケプストラム変換パラメータ(α)を要素とする行列(F(α))を用いて線形変換し、周波数ワープされた第三のケプストラムベクトル系列(Ot)を算出する。具体的には、まず、ケプストラム変換手段1074は、ケプストラム変換パラメータ(α)の初期値(α〜)を設定する。(α〜)はαの最適値の近似値であることが望ましく、通常はα=0とおくが、例えば、最適値が「α>0」であると予想できる場合は、小さな正の値のαでも良い。なお、初期値(α〜)は、ケプストラム変換手段1074が、予め記憶媒体やメモリ等に格納している。次に、ケプストラム変換手段1074は、与えられたケプストラム変換パラメータ(α)をパラメータとして、以下の数式5により、周波数ワープされた第三のケプストラムベクトル系列(Ot)を算出する。なお、ケプストラム変換手段1074は、最初に、(Ot(α〜))を算出する。
ケプストラム変換手段1074は、通常、MPUやメモリ等から実現され得る。ケプストラム変換手段1074の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
占有度数算出手段1075は、占有度数(γt(j,m))を算出し、メモリ上に書き込み、少なくとも一時的に保持する。占有度数(γt(j,m))とは、t番目のフレームがj番目状態のm番目ガウス成分から生成された事後確率である。t番目のフレームとは、例えば、音声受付部103が、声道長正規化用の指定された発話内容(例えば/あいうえお/)の発声をユーザから受け付け、当該受け付けた音声から得られたt番目のフレームである。占有度数算出手段1075は、ケプストラム変換手段1074が算出した第三のケプストラムベクトル系列(Ot)と学習音響データ格納手段1072の学習音響データを用いて、占有度数(γt(j,m))を算出する。占有度数算出手段1075は、さらに好ましくは、第三のケプストラムベクトル系列(Ot)と学習音響データと周波数範囲指定情報格納手段1071の周波数範囲指定情報(W)を用いて、占有度数(γt(j,m))を算出する。占有度数算出手段1075は、占有度数(γt(j,m))を、フォワード・バックワードアルゴリズムにより算出する。フォワード・バックワードアルゴリズムは、公知技術であるので、詳細な説明を省略する。
さらに具体的には、占有度数算出手段1075は、以下の処理により、占有度数(γt(j,m))を算出する。ここで、教師データの音声から学習される学習音素HMMを,声道長正規化パラメータ推定のために指定した発話内容(例えば/あいうえお/)にしたがって連結した連結HMMをΛとする。そして、ケプストラム変換パラメータ推定処理に使用される占有度数(γt(j,m))は、第三ケプストラム系列を周波数範囲指定情報Wにより周波数範囲指定されたケプストラムベクトル系列「Wo1(α),Wo2(α),...,WoT(α)」およびΛが与えられたときのt番目フレームがΛのj番目状態のm番目ガウス成分から生起した事後確率として定義されるので、占有度数(γt(j,m))は、数式6で定義される。
また、数式6における占有度数(γt(j,m))は、前向き尤度At(j)および後向き尤度Bt(j)を使って数式7のように計算される。つまり、占有度数算出手段1075は、数式7で示される式の情報を保持しており、与えられるケプストラムベクトル系列、およびΛを用いて、占有度数(γt(j,m))を算出する。
なお、占有度数算出手段1075は、数式7のAt(j)およびBt(j)を、ケプストラムベクトル系列「Wo1(α)...WoT(α)」およびΛから公知のforward−backwardアルゴリズムを用いて算出する。
また、vj,mは、j番目状態のm番目ガウス成分に対する重み係数である。さらに、占有度数算出手段1075は、出力分布bj,m(Wot(α))を、数式8を用いて算出する。占有度数算出手段1075は、数式8の情報を予め保持しており、当該情報を読み出して、演算を実行し、出力分布bj,m(Wot(α))を得る。
なお、数式8において、Mはケプストラム次数、|A|は行列Aのdeterminantを表わす。
占有度数算出手段1075は、通常、MPUやメモリ等から実現され得る。占有度数算出手段1075の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
ケプストラム変換パラメータ算出手段1076は、学習音響データ格納手段1072の学習音響データを読み出し、およびメモリ上に一時格納されている第三のケプストラムベクトル系列(Ot)を読み出し、読み出した学習音響データおよび第三のケプストラムベクトル系列(Ot)に基づいて、ケプストラム変換パラメータ(α)を算出する。ケプストラム変換パラメータ算出手段1076は、さらに好ましくは、周波数範囲指定情報(W)で示される周波数範囲における学習音響データ、第三のケプストラムベクトル系列(Ot)および占有度数(γt(j,m))に基づいて、ケプストラム変換パラメータを算出する。なお、第三のケプストラムベクトル系列(Ot)は、ケプストラム変換手段1074が算出したデータである。
具体的には、まず、ケプストラム変換パラメータ算出手段1076は、以下の数式9により、ベクトル(ut(α))を算出する。なお、ケプストラム変換パラメータ算出手段1076は、数式9を示す情報を格納しており、かかる数式9の情報を読み出し、当該数式に、第三のケプストラムベクトル系列(Ot)、ケプストラム変換パラメータ(α)、ベクトル(Ct −)の情報を与え、当該数式を演算する。そして、次に、ケプストラム変換パラメータ算出手段1076は、以下の数式10により、αの最適値(α*)を算出する。なお、αの最適値(α*)は、繰り返しステップ(ループ処理)における現在のループ内の処理での最適値である。また、ケプストラム変換パラメータ算出手段1076は、以下の数式10の式の情報を、予め格納している。
ケプストラム変換パラメータ算出手段1076は、通常、MPUやメモリ等から実現され得る。ケプストラム変換パラメータ算出手段1076の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
最終ケプストラム変換パラメータ取得手段1077は、所定のルールに基づいて、ケプストラム変換手段1074における処理、占有度数算出手段1075における処理、およびケプストラム変換パラメータ算出手段1076における処理を繰り返えさせ、最終的な最適なケプストラム変換パラメータを得る。ここで、所定のルールとは、例えば、予め決められた所定の繰り返し回数だけ、処理を繰り返し行われたことである。また、所定のルールとは、例えば、αの最適値(α*)の変化が所定の値より小さくなった(先の(α*)と今回の(α*)の差が閾値以下など)ことである。また、所定のルールとは、その他のルールでも良い。最終ケプストラム変換パラメータ取得手段1077は、通常、MPUやメモリ等から実現され得る。最終ケプストラム変換パラメータ取得手段1077の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
声道長正規化パラメータ算出手段1078は、最終ケプストラム変換パラメータ取得手段1077が得たケプストラム変換パラメータに基づいて、声道長正規化パラメータ(γ)を算出する。さらに具体的には、声道長正規化パラメータ算出手段1078は、まず、最終ケプストラム変換パラメータ取得手段1077が得たケプストラム変換パラメータから、以下の数式11に従って、線形周波数伸縮比(ρ)を算出する。
次に、声道長正規化パラメータ算出手段1078は、当該線形周波数伸縮比(ρ)から、例えば、以下の数式12に従って、声道長正規化パラメータ(γ)を算出する。
声道長正規化パラメータ算出手段1078は、通常、MPUやメモリ等から実現され得る。声道長正規化パラメータ算出手段1078の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
第二サンプリング周波数算出部108は、声道長正規化パラメータ算出部107で算出した声道長正規化パラメータと、第一サンプリング周波数格納部104の第一サンプリング周波数を用いて第二サンプリング周波数を算出する。第二サンプリング周波数格納部105の第二サンプリング周波数は、第二サンプリング周波数算出部108が算出した第二サンプリング周波数である。つまり、第二サンプリング周波数算出部108は、算出した第二サンプリング周波数を第二サンプリング周波数格納部105に少なくとも一時格納する。なお、第二サンプリング周波数算出部108は、声道長正規化パラメータ算出部107で算出した声道長正規化パラメータ(γ)と、第一サンプリング周波数格納部104の第一サンプリング周波数(F1)を用いて、例えば、数式「F2=F1×γ」により、第二サンプリング周波数(F2)を算出する。第二サンプリング周波数算出部108は、通常、MPUやメモリ等から実現され得る。第二サンプリング周波数算出部108の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
声道長正規化処理部109は、第二サンプリング周波数で、音声受付部103が受け付けた第一言語の音声に対して、サンプリング処理を行い、第二音声データを得る。音声に対して、サンプリング処理を行う技術は公知技術である。また、声道長正規化処理部109は、音声受付部103が受け付け、サンプリング部106でサンプリングされたデータに対して、第二サンプリング周波数でリサンプリングして第二音声データを得ることは好適である。かかるリサンプリング処理も、音声受付部103が受け付けた第一言語の音声に対して、サンプリング処理を行い、第二音声データを得る処理である、と言える。声道長正規化処理部109は、通常、MPUやメモリ等から実現され得る。声道長正規化処理部109の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
音声処理部110は、教師第一言語音声情報を用いて、第二音声データを処理する。ここでの音声の処理は、発音評定である、とする。音声処理部110は、通常、MPUやメモリ等から実現され得る。音声処理部110の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
音声処理部110を構成しているフレーム区分手段1101は、第二音声データを、フレームに区分する。フレーム区分手段1101は、通常、MPUやメモリ等から実現され得る。フレーム区分手段1101の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
フレーム音声データ取得手段1102は、区分されたフレーム毎の音声データであるフレーム音声データを1以上得る。フレーム音声データ取得手段1102は、通常、MPUやメモリ等から実現され得る。フレーム音声データ取得手段1102の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
評定手段1103は、教師第一言語音声情報と1以上のフレーム音声データに基づいて、音声受付部103が受け付けた音声の評定を行う。評定方法の具体例は、後述する。「音声受付部103が受け付けた音声を評定する」の概念には、第二音声データを評定することも含まれることは言うまでもない。評定手段1103は、通常、MPUやメモリ等から実現され得る。評定手段1103の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
評定手段1103を構成する最適状態決定手段11031は、1以上のフレーム音声データのうちの少なくとも一のフレーム音声データに対する最適状態を決定する。最適状態決定手段11031は、例えば、全音韻HMMから、比較される対象(学習対象)の単語や文章などの音声を構成する1以上の音素に対応するHMMを取得し、当該取得した1以上のHMMから、音素の順序で連結したデータ(比較される対象の音声に関するデータであり、音韻毎の隠れマルコフモデルを連結したHMMに基づくデータ)を構成する。そして、構成した当該データ、および取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、所定のフレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。なお、最適状態を決定するアルゴリズムは、例えば、Viterbiアルゴリズムである。また、教師データ(教師第一言語音声情報)は、上述の比較される対象の音声に関するデータであり、音韻毎の隠れマルコフモデルを連結したHMMに基づくデータと考えても良いし、連結される前のデータであり、全音韻HMMのデータと考えても良い。
最適状態確率値取得手段11032は、最適状態決定手段11031が決定した最適状態における確率値を取得する。
評定値算出手段11033は、最適状態確率値取得手段11032が取得した確率値をパラメータとして音声の評定値を算出する。評定値算出手段11033は、上記確率値を如何に利用して、評定値を算出するかは問わない。評定値算出手段11033は、例えば、最適状態確率値取得手段11032が取得した確率値と、当該確率値に対応するフレームの全状態における確率値の総和をパラメータとして音声の評定値を算出する。評定値算出手段11033は、ここでは、通常、フレームごとに評定値を算出する。
最適状態決定手段11031、最適状態確率値取得手段11032、評定値算出手段11033は、通常、MPUやメモリ等から実現され得る。最適状態決定手段11031等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力手段1104は、評定手段1103における評定結果を出力する。ここで、出力とは、ディスプレイへの表示、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積等を含む概念である。出力手段1104は、例えば、フレーム単位、または/および音素・単語単位、または/および発声全体の評定結果を視覚的に表示する。出力手段1104は、ディスプレイ344やスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力手段1104は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、音声処理装置の動作について図4から図6のフローチャートを用いて説明する。
(ステップS401)入力受付部101は、音声処理装置の動作開始を指示する動作開始指示を受け付けたか否かを判断する。動作開始指示を受け付ければステップS402に行き、動作開始指示を受け付けなければステップS406に飛ぶ。
(ステップS402)音声処理装置は、第二言語によるユーザの声道長正規化パラメータ算出処理を行う。本声道長正規化パラメータ算出処理は、ユーザの母国語である第二言語の音声を受け付け、バイリンガル話者(教師)の第二言語の音声と比較して、声道長正規化パラメータを算出する処理である。声道長正規化パラメータ算出処理の詳細について、図5のフローチャートを用いて後述する。
(ステップS403)第二サンプリング周波数算出部108は、第一サンプリング周波数格納部104の第一サンプリング周波数を読み出し、当該第一サンプリング周波数と、ステップS402で算出した声道長正規化パラメータを用いて第二サンプリング周波数を算出する。第二サンプリング周波数算出部108は、かかる第二サンプリング周波数の算出のための算出式の情報を保持しており、当該算出式の情報を読み出し、第一サンプリング周波数と声道長正規化パラメータを、当該算出式に代入し、実行することにより、第二サンプリング周波数を得る。
(ステップS404)第二サンプリング周波数算出部108は、ステップS403で算出した第二サンプリング周波数を、第二サンプリング周波数格納部105に蓄積する。
(ステップS405)音声処理装置は、第一言語の音声処理を行う。第一言語の音声処理とは、ユーザに第一言語の音声の発声を促し、音声処理部110が当該音声の処理を行うことである。第一言語の音声処理の詳細について、図6のフローチャートを用いて後述する。
(ステップS406)入力受付部101は、終了指示を受け付けたか否かを判断する。終了指示を受け付ければ処理を終了し、終了指示を受け付けなければステップS401に戻る。
なお、図4のフローチャートにおいて、声道長正規化パラメータの算出と、第一言語の音声の評定(音声処理)を別の装置、異なる時期(時間)に行っても良い。
次に、ステップS402の声道長正規化パラメータ算出処理の詳細について、図5のフローチャートを用いて説明する。なお、本声道長正規化パラメータ算出処理は、必ずしも音声処理装置で行う必要はない。
(ステップS501)音声処理装置は、初期化処理を行う。初期化処理とは、例えば、ユーザ(評価対象者)に対して、「/あいうえお/」と発声するように促す処理(例えば、ディスプレイに「「あいうえお」と発音してください。」と表示する処理)と、周波数範囲指定情報格納手段1071の周波数範囲指定情報を読み出す処理等である。
(ステップS502)音声受付部103が、ユーザからの音声を受け付けたか否かを判断する。音声を受け付ければステップS503に行き、音声を受け付けなければステップS502に戻る。
(ステップS503)サンプリング部106は、ステップS502で受け付けた音声をサンプリングし、第一音声データを得て、メモリ上に、少なくとも一時格納する。なお、音声をサンプリングする処理は公知技術である。
(ステップS504)第二ケプストラムベクトル系列算出手段1073は、ステップS503で得た第一音声データを取得し、当該第一音声データから、短区間分析により第二のケプストラムベクトル系列(Ct)を算出し、第二のケプストラムベクトル系列(Ct)をメモリ上に、少なくとも一時格納する。
(ステップS505)第二ケプストラムベクトル系列算出手段1073は、ステップS504で算出した第二のケプストラムベクトル系列(Ct)を取得し、当該第二のケプストラムベクトル系列(Ct)から、ベクトル(Ct −)(t=1,2,・・・,T)を取得し、ベクトル(Ct −)をメモリ上に、少なくとも一時格納する。
(ステップS506)ケプストラム変換手段1074は、予め格納しているケプストラム変換パラメータの初期値(α〜)を読み出し、変数(α)に(α〜)を設定する。
(ステップS507)ケプストラム変換手段1074は、第二のケプストラムベクトル系列(Ct)を読み出し、当該第二のケプストラムベクトル系列(Ct)を、ケプストラム変換パラメータ(α)を要素とする行列を用いて線形変換し、周波数ワープされた第三のケプストラムベクトル系列(Ot)を算出し、メモリ上に、少なくとも一時格納する。
(ステップS508)ケプストラム変換パラメータ算出手段1076は、ステップS507で算出した第三のケプストラムベクトル系列(Ot)、およびステップS505で算出したベクトル(Ct −)を読み出し、当該第三のケプストラムベクトル系列(Ot)およびベクトル(Ct −)から、ベクトル(ut(α))を算出する(数式9参照)。ベクトル(ut(α))を算出する場合に、格納している数式9の情報を読み出して、演算することは言うまでもない。
(ステップS509)占有度数算出手段1075は、ステップS507で得られた第三のケプストラムベクトル系列(Ot)と学習音響データと周波数範囲指定情報(W)を用いて、占有度数(γt(j,m))を算出し、メモリに一時記憶する。
(ステップS510)ケプストラム変換パラメータ算出手段1076は、周波数範囲指定情報(W)で示される周波数範囲における学習音響データ、ベクトル(ut(α))および占有度数(γt(j,m))に基づいて、本ループにおける最適なケプストラム変換パラメータ(α*)を算出する。ケプストラム変換パラメータ算出手段1076は、例えば、格納している数式10の情報を読み出し、また、メモリ上の学習音響データ、ベクトル(ut(α))、ベクトル(Ct −)および占有度数(γt(j,m))を読み出し、数式10に代入し、ケプストラム変換パラメータ(α*)を算出する。
(ステップS511)最終ケプストラム変換パラメータ取得手段1077は、予め決められた所定のルール(ルールの情報は、予め格納されている)に合致するか否かを判断する。ルールに合致すればステップS512に行き、ルールに合致しなければステップS514に行く。なお、ルールとは、上述したように、例えば、予め決められた所定の繰り返し回数(この回数の情報は、予めメモリ等に格納されている)だけ、本ループ処理(αの最適値(α*)を算出し、α*をαに代入する処理)が繰り返し行われたことである。
(ステップS512)声道長正規化パラメータ算出手段1078は、最終ケプストラム変換パラメータ取得手段1077が得たケプストラム変換パラメータ(最終のα*)を取得し、当該パラメータを数式11の演算式に与え、線形周波数伸縮比(ρ)を算出する。なお、数式11の演算式の情報は、声道長正規化パラメータ算出手段1078が予め格納している。また、声道長正規化パラメータ算出手段1078は、算出した線形周波数伸縮比(ρ)を、少なくともメモリに一時格納する。
(ステップS513)声道長正規化パラメータ算出手段1078は、線形周波数伸縮比(ρ)を読み出し、当該線形周波数伸縮比(ρ)から、声道長正規化パラメータ(γ)を算出し、少なくともメモリに一時格納する。声道長正規化パラメータ算出手段1078は、例えば、予め格納している数式12の情報を読み出し、線形周波数伸縮比(ρ)を代入し、数式12の演算式を実行し、声道長正規化パラメータ(γ)を得る。
(ステップS514)最終ケプストラム変換パラメータ取得手段1077は、ステップS510で算出した(α*)をαに代入する。そして、ステップS507に戻る。
次に、第一言語の音声処理の詳細について、図6のフローチャートを用いて説明する。
(ステップS601)音声処理装置は、初期化処理を行う。初期化処理とは、例えば、ユーザ(評価対象者)に対して、所定の単語や文字列や文章などを発声するように促す処理(例えば、ディスプレイに「「valuation」と発音してください。」と表示する処理)等である。なお、例えば、単語「valuation」は、本例において、発音評定の対象となる単語である。
(ステップS602)音声受付部103は、音声を受け付けたか否かを判断する。音声を受け付ければステップS603に行き、音声を受け付けなければステップS602に戻る。
(ステップS603)サンプリング部106は、第一サンプリング周波数格納部104に格納されている第一サンプリング周波数を読み込み、当該第一サンプリング周波数で、音声受付部103が受け付けた音声をサンプリングし、第一音声データを得る。
(ステップS604)声道長正規化処理部109は、ステップS603で得られた第一音声データに対して、第二サンプリング周波数でリサンプリング処理を行い、第二音声データを得る。
(ステップS605)フレーム区分手段1101は、ステップS604で得た第二音声データを図示しないバッファに一時格納する。
(ステップS606)フレーム区分手段1101は、バッファに一時格納した第二音声データをフレームに区分する。かかる段階で、区分されたフレーム毎の音声データであるフレーム音声データが構成されている。フレーム区分手段1101が行うフレーム分割の処理は、例えば、フレーム音声データ取得手段1102がフレーム音声データを取り出す際の前処理であり、入力された音声のデータを、すべてのフレームに一度に分割するとは限らない。
(ステップS607)フレーム音声データ取得手段1102は、カウンタiに1を代入する。
(ステップS608)フレーム音声データ取得手段1102は、i番目のフレームが存在するか否かを判断する。i番目のフレームが存在すればステップS609に行き、i番目のフレームが存在しなければステップS611に行く。
(ステップS609)フレーム音声データ取得手段1102は、i番目のフレーム音声データを取得する。フレーム音声データの取得とは、例えば、当該分割された音声データを音声分析し、特徴ベクトルデータを抽出することである。なお、フレーム音声データは、例えば、入力された音声データをフレーム分割されたデータである。また、フレーム音声データは、例えば、当該分割された音声データから音声分析され、抽出された特徴ベクトルデータを有する。本特徴ベクトルデータは、例えば、三角型フィルタを用いたチャネル数24のフィルタバンク出力を離散コサイン変換したMFCCであり、その静的パラメータ、デルタパラメータおよびデルタデルタパラメータをそれぞれ12次元、さらに正規化されたパワーとデルタパワーおよびデルタデルタパワー(39次元)を有する。
(ステップS610)フレーム音声データ取得手段1102は、カウンタiを1、インクリメントする。そして、ステップS608に戻る。
(ステップS611)最適状態決定手段11031は、全フレームの最適状態を決定する。最適状態決定手段11031が最適状態を決定するアルゴリズムは、例えば、Viterbiアルゴリズムによる。Viterbiアルゴリズムは、公知のアルゴリズムであるので、詳細な説明は省略する。
(ステップS612)最適状態確率値取得手段11032は、全フレームの全状態の前向き尤度、および後向き尤度を算出する。最適状態確率値取得手段11032は、例えば、全てのHMMを用いて、フォワード・バックワードアルゴリズムにより、前向き尤度、および後向き尤度を算出する。
(ステップS613)最適状態確率値取得手段11032は、ステップS612で取得した前向き尤度、および後向き尤度を用いて、最適状態の確率値(最適状態確率値)を、すべて算出する。
(ステップS614)評定値算出手段11033は、ステップS613で算出した1以上の最適状態確率値から、1以上のフレームの音声の評定値を算出する。評定値算出手段11033が評定値を算出する関数は問わない。評定値算出手段11033は、例えば、取得した最適状態確率値と、当該最適状態確率値に対応するフレームの全状態における確率値の総和をパラメータとして音声の評定値を算出する。
(ステップS615)出力手段1104は、ステップS614における評定結果(ここでは、音声の評定値)を、例えば、設定されている出力モードに従って、出力し、上位関数にリターンする。出力モードとは、評定値を数値で画面に表示するモード、評定値の遷移をグラフで画面に表示するモード、評定値を音声で出力するモード、評定値が所定の数値より低い場合に警告を示す情報を表示するモードなど、何でも良い。
以下、本実施の形態における音声処理装置の具体的な動作について説明する。音声処理装置の処理の概念図を図7に示す。
図7によれば、バイリンガル話者が第二言語(例えば、日本語)で発声した特定の発話内容の音声を教師データ格納部102に格納している。また、ユーザ(例えば、日本人)は、第二言語(例えば、日本語)で特定の発話内容を発声する。そして、バイリンガル話者の第二言語の発話音声と、ユーザの第二言語の発話音声から、声道長正規化パラメータを推定する。声道長正規化パラメータは、例えば、上述した声道長を正規化するパラメータの声道長正規化パラメータである。
また、バイリンガル話者は、第一言語(例えば、英語)で評定対象の音声を発声し、その音声データを教師データ格納部102に格納している、とする。そして、次に、ユーザは、第一言語(例えば、英語)で評定対象の音声を発声し、本音声処理装置は、その音声を受け付け、その音声を処理する。本音声処理装置は、その音声処理の際に、受け付けたユーザの音声を、先に算出した声道長正規化パラメータにより正規化し(図7の声道長正規化)、正規化したユーザの音声データと、バイリンガル話者が発声した音声データとを比較し、発音評定等の音声処理を行う。
かかる処理により、声道長正規化におけるユーザとシステムの間の言語特徴のミスマッチを回避でき、声道長正規化の精度が向上する。その結果、正確な音声処理(発音評定や音声認識など)が可能となる。
以下、本音声処理装置のさらに具体的な動作について説明する。なお、既に、バイリンガル話者が第二言語で発声した"あいうえお"の音声データ(声道長正規化パラメータの算出のための音声データ)や、第一言語で発声した"right"の音声データ(音声処理の一つである発音評定のための音声データ)が、教師データ格納部102に格納されている、とする。かかる教師データ(教師第一言語音声情報と教師第二言語音声情報)は、ここでは、音韻毎の隠れマルコフモデル(HMM)を連結したHMMに基づくデータである、とする。この教師データは、図示しない手段により、音声データベースから音韻HMMを学習しておく。ここで、音韻の種類数をLとし、l番目の音韻に対するHMMをλlとする。なお、かかる学習の処理については、公知技術であるので、詳細な説明は省略する。なお、HMMの仕様の例について、図8に示す。なお、HMMの仕様は、他の実施の形態における具体例の説明においても同様である。ただし、HMMの仕様が、他の仕様でも良いことは言うまでもない。
かかる状況で、まず、本音声処理装置において、ユーザが、動作開始指示を入力する、とする。そして、入力受付部101は、動作開始指示を受け付ける。
次に、音声処理装置は、声道長正規化パラメータの算出処理を以下のように行う。つまり、まず、本音声処理装置は、ユーザに対して、例えば、「"あいうえお"と発声してください。」という文章を画面出力する、とする。次に、ユーザは、「あいうえお」と発声した、とする。
次に、図5のフローチャートに従って、声道長正規化パラメータ算出手段1078は、声道長正規化パラメータ(サンプリング周波数変換率)γを計算する。つまり、システム設計用音声データベースから、指定された発話内容(/あいうえお/)に従って音素HMM(教師データが有する音素のHMM)を連結し連結HMMを構成する。そして、連結HMMと、同じ音素列のユーザ発話音声の変換されたケプストラムベクトルOtの、Λ(Λは、ユーザ発話音声にしたがって連結された連結HMM)に対する出現確率が最大になるようにパラメータを算出する。ただし、求まるパラメータ(α*)はケプストラム変換(ケプストラムワーピング)パラメータであり、このままでは声道長の変換(ここでは、話者の特性を声道長であるとしている。)を直接表わすものではないため、近似変換式(1/ρ)を用いて最終的な声道長正規化パラメータ(サンプリング周波数変換率)γを計算する。ここで、例えば、声道長正規化パラメータ(γ)が「1.458」であった、とする。
次に、音声処理部110は、ここでは、発音評定を行う、とする。そして、まず、音声処理装置は、第一言語(ここでは、英語)の単語"right"の入力を促す、とする。つまり、音声処理装置は、学習者に「"right"を発音してください。」などを表示、または音声出力するなどして、学習者に「right」の発声を促す、とする。
次に、ユーザは、学習対象の音声「right」を発音する。そして、音声受付部103は、ユーザが発音した音声「right」の入力を受け付ける。
次に、サンプリング部106は、受け付けた音声「right」を第一サンプリング周波数(例えば、「22.05KHz」)でサンプリング処理する。そして、サンプリング部106は、音声「right」の第一音声データを得る。
次に、声道長正規化処理部109は、「right」の第一音声データを第二サンプリング周波数「32.1KHz」でリサンプリング処理する。そして、声道長正規化処理部109は、第二音声データを得る。そして、声道長正規化処理部109は、第二音声データを一時格納する。
次に、音声処理部110は、第二音声データを、以下のように処理する。
まず、フレーム区分手段1101は、第二音声データを、短時間フレームに区分する。なお、フレームの間隔は、予め決められている、とする。
そして、フレーム音声データ取得手段1102は、フレーム区分手段1101が区分した音声データを、スペクトル分析し、特徴ベクトル系列「O=o1,o2,・・・,oT」を算出する。なお、Tは、系列長である。ここで、特徴ベクトル系列は、各フレームの特徴ベクトルの集合である。また、特徴ベクトルは、例えば、三角型フィルタを用いたチャネル数24のフィルタバンク出力を離散コサイン変換したMFCCであり、その静的パラメータ、デルタパラメータおよびデルタデルタパラメータをそれぞれ12次元、さらに正規化されたパワーとデルタパワーおよびデルタデルタパワー(39次元)を有する。また、スペクトル分析において、ケプストラム平均除去を施すことは好適である。なお、音声分析条件の例を図9の表に示す。なお、音声分析条件は、他の実施の形態における具体例の説明においても同様である。ただし、音声分析条件が、他の条件でも良いことは言うまでもない。また、音声分析の際のサンプリング周波数は、第一サンプリング周波数「22.05KHz」である。
次に、最適状態決定手段11031は、取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、所定のフレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。最適状態決定手段11031が最適状態を決定するアルゴリズムは、例えば、Viterbiアルゴリズムによる。かかる場合、最適状態決定手段11031は、上記で連結したHMMを用いて最適状態を決定する。最適状態決定手段11031は、2以上のフレームの最適状態である最適状態系列を求めることとなる。
次に、最適状態確率値取得手段11032は、以下の数式13により、最適状態(qt *)における最適状態確率値(γt(qt *))を算出する。なお、γt(qt *)は、状態jの事後確率関数γt(j)のjにqt *を代入した値である。そして、状態jの事後確率関数γt(j)は、数式14を用いて算出される。この確率値(γt(j))は、t番目の特徴ベクトルotが状態jから生成された事後確率であり、動的計画法を用いて算出される。なお、jは、状態を識別する状態識別子である。
数式14において、qtは、otに対する状態識別子を表す。この確率値(γt(j))は、HMMの最尤推定におけるBaum−Welchアルゴリズムの中で表れる占有度数に対応する。
数式14において、「αt(j)」「βt(j)」は、全部のHMMを用いて、forward−backwardアルゴリズムにより算出される。「αt(j)」は前向き尤度、「βt(j)」は後向き尤度である。Baum−Welchアルゴリズム、forward−backwardアルゴリズムは、公知のアルゴリズムであるので、詳細な説明は省略する。
また、数式14において、Nは、全HMMに渡る状態の総数を示す。
なお、評定手段1103は、まず最適状態を求め、次に、最適状態の確率値(なお、確率値は、0以上、1以下である。)を求めても良いし、評定手段1103は、まず、全状態の確率値を求め、その後、特徴ベクトル系列の各特徴ベクトルに対する最適状態を求め、当該最適状態に対応する確率値を求めても良い。
次に、評定値算出手段11033は、例えば、上記の取得した最適状態確率値と、当該最適状態確率値に対応するフレームの全状態における確率値の総和をパラメータとして音声の評定値を算出する。かかる場合、もし学習者のtフレーム目に対応する発声が、教師データが示す発音に近ければ、数式14の(2)式の分子の値が、他の全ての可能な音韻の全ての状態と比較して大きくなり、結果的に最適状態の確率値(評定値)が大きくなる。逆にその区間が、教師データが示す発音に近くなければ、評定値は小さくなる。なお、どの発音にも近くないような場合は、評定値はほぼ1/Nに等しくなる。Nは全ての音韻HMMにおける全ての状態の数であるから、通常、大きな値となり、この評定値は十分小さくなる。また、ここでは、評定値は最適状態における確率値と全ての可能な状態における確率値との比率で定義されている。したがって、収音環境等の違いにより多少のスペクトルの変動があったとしても、学習者が正しい発音をしていれば、その変動が相殺され評定値が高いスコアを維持する。よって、評定値算出手段11033は、最適状態確率値取得手段11032が取得した確率値と、当該確率値に対応するフレームの全状態における確率値の総和をパラメータとして音声の評定値を算出することは、極めて好適である。
かかる評定値算出手段11033が算出した評定値(「DAPスコア」とも言う。)を、図10、図11に示す。図10、図11において、横軸は分析フレーム番号、縦軸はスコアを%で表わしたものである。太い破線は音素境界,細い点線は状態境界(いずれもViterbiアルゴリズムで求まったもの)を表わしており,図の上部に音素名を表記している。図10は、アメリカ人男性による英語「right」の発音のDAPスコアを示す。なお、評定値を示すグラフの横軸、縦軸は、後述するグラフにおいても同様である。
図11は、日本人男性による英語「right」の発音のDAPスコアを示す。アメリカ人の発音は、日本人の発音と比較して、基本的にスコアが高い。なお、図10において、状態の境界において所々スコアが落ち込んでいることがわかる。
そして、出力手段1104は、評定手段1103の評定結果を出力する。具体的には、例えば、出力手段1104は、図12に示すような態様で、評定結果を出力する。つまり、出力手段1104は、各フレームにおける発音の良さを表すスコア(スコアグラフ)として、各フレームの評定値を表示する。その他、出力手段1104は、学習対象の単語の表示(単語表示)、音素要素の表示(音素表示)、教師データの波形の表示(教師波形)、学習者の入力した発音の波形の表示(ユーザ波形)を表示しても良い。なお、図12において、「録音」ボタンを押下すれば、動作開始指示が入力されることとなり、「停止」ボタンを押下すれば、終了指示が入力されることとなる。また、音素要素の表示や波形の表示をする技術は公知技術であるので、その詳細説明を省略する。また、本音声処理装置は、学習対象の単語(図12の「word1」など)や、音素(図12の「p1」など)や、教師波形を出力されるためのデータを予め格納している、とする。
また、図12において、フレーム単位以外に、音素単位、単語単位、発声全体の評定結果を表示しても良い。上記の処理において、フレーム単位の評定値を算出するので、単語単位、発声全体の評定結果を得るためには、フレーム単位の1以上の評定値をパラメータとして、単語単位、発声全体の評定値を算出する必要がある。かかる算出式は問わないが、例えば、単語を構成するフレーム単位の1以上の評定値の平均値を単語単位の評定値とする、ことが考えられる。
なお、図12において、音声処理装置は、波形表示(教師波形またはユーザ波形)の箇所においてクリックを受け付けると、再生メニューを表示し、音素区間内ではその音素またはその区間が属する単語、波形全体を再生し、単語区間外(無音部)では波形全体のみを再生するようにしても良い。
また、出力手段1104の表示は、図13に示すような態様でも良い。図13において、音素ごとのスコア、単語のスコア、総合スコアが、数字で表示されている。
なお、出力手段1104の表示は、図10、図11のような表示でも良いことは言うまでもない。
以上、本実施の形態によれば、ユーザの母国語と、音声処理対象の音声の言語が異なる場合でも、言語の特徴に影響されない、精度の高い音声処理ができる。また、本実施の形態によれば、ユーザが入力した発音を、教師データに対して、如何に似ているかを示す類似度(評定値)を算出し、出力できる。さらに、本実施の形態によれば、個人差、例えば、声道長の違いに影響を受けない、精度の高い評定ができる。
また、本実施の形態によれば、連結されたHMMである連結HMMを用いて最適状態を求め、評定値を算出するので、高速に評定値を求めることができる。したがって、上記の具体例で述べたように、リアルタイムに、フレームごと、音素ごと、単語ごとの評定値を出力できる。また、本実施の形態によれば、動的計画法に基づいた事後確率を確率値として算出するので、さらに高速に評定値を求めることができる。また、本実施の形態によれば、フレームごとに確率値を算出するので、上述したように、フレーム単位だけではなく、または/および音素・単語単位、または/および発声全体の評定結果を出力でき、出力態様の自由度が高い。
また、本実施の形態によれば、音声処理装置は、語学学習に利用することを主として説明したが、物真似練習や、カラオケ評定や、歌唱評定などに利用できる。つまり、本音声処理装置は、比較される対象の音声に関するデータとの類似度を精度良く、高速に評定し、出力でき、そのアプリケーションは問わない。つまり、例えば、本音声処理装置は、カラオケ評価装置であって、音声受付部は、ユーザの歌声の入力を受け付け、音声処理部は、前記歌声を評価する、という構成でも良い。かかることは、他の実施の形態においても同様である。
また、本実施の形態において、音声の入力を受け付けた後または停止ボタン操作後に、スコアリング処理を実行するかどうかをユーザに問い合わせ、スコアリング処理を行うとの指示を受け付けた場合のみ、図13に示すような音素スコア、単語スコア、総合スコアを出力するようにしても良い。かかることも、他の実施の形態においても同様である。
また、本実施の形態において、教師データは、比較される対象の音声に関するデータであり、音韻毎の隠れマルコフモデル(HMM)に基づくデータであるとして、主として説明したが、必ずしもHMMに基づくデータである必要はない。教師データは、単一ガウス分布モデルや、確率モデル(GMM:ガウシャンミクスチャモデル)や統計モデルなど、他のモデルに基づくデータでも良い。かかることも、他の実施の形態においても同様である。
また、本実施の形態の具体例において、学習者は、母音「あいうえお」を発音し、音声処理装置は、かかる音声から第二サンプリング周波数を得た。しかし、学習者は、例えば、母音「う」等、1以上の母音を発音し、かかる母音の音声から、音声処理装置は、第二サンプリング周波数を得ても良い。つまり、第二サンプリング周波数を得るために、学習者が発音する音は「あいうえお」に限られない。かかることも、他の実施の形態においても同様である。
また、本実施の形態において、音声処理部110は、DAPスコアを算出した。しかし、他のアルゴリズムで発音評定を行っても良い。他のアルゴリズムの例は、後述する。かかることも、他の実施の形態においても同様である。
また、本実施の形態において、音声処理部110は、発音評定ではなく、音声認識などの音声処理を行っても良い。かかることも、他の実施の形態においても同様である。
また、本実施の形態において、声道長正規化パラメータ算出のアルゴリズムは、問わない。つまり、例えば、声道長正規化パラメータ算出のアルゴリズムは、実施の形態4におけるアルゴリズムでも良い。声道長正規化パラメータ算出のアルゴリズムは問わないことも、他の実施の形態においても同様である。
また、本実施の形態において、音声処理装置は、声道長正規化処理部109において、声道長正規化パラメータを算出した。しかし、別の装置で別途、声道長正規化パラメータを算出しておいて、かかる声道長正規化パラメータを声道長正規化パラメータ格納部に格納していても良い。また、第二サンプリング周波数算出部108は、バイリンガル話者の第二言語の音声に関する情報である教師第二言語音声情報と、ユーザが発声した第二言語の音声に関する情報であるユーザ第二言語音声情報を用いて算出された声道長正規化パラメータと、バイリンガル話者の音声のサンプリング周波数である第一サンプリング周波数を用いて第二サンプリング周波数を算出した。しかし、第二サンプリング周波数も、別途、算出し、音声処理装置は、予め第二サンプリング周波数を保持していても良い。かかる場合、音声処理装置は、バイリンガル話者の第一言語の音声に関する情報である教師第一言語音声情報を格納している教師データ格納部と、ユーザから第一言語の音声の入力を受け付ける音声受付部と、サンプリング周波数の変換率に関する情報である声道長正規化パラメータであり、バイリンガル話者の第二言語の音声に関する情報である教師第二言語音声情報と、ユーザが発声した第二言語の音声に関する情報であるユーザ第二言語音声情報を用いて算出された声道長正規化パラメータと、前記バイリンガル話者の音声のサンプリング周波数である第一サンプリング周波数を用いて算出された第二サンプリング周波数を格納している第二サンプリング周波数格納部と、前記第二サンプリング周波数で、前記音声受付部が受け付けた前記第一言語の音声に対して、サンプリング処理を行い、第二音声データを得る声道長正規化処理部と、前記教師第一言語音声情報を用いて、前記第二音声データを処理する音声処理部を具備する音声処理装置である。かかることも、他の実施の形態においても同様である。
また、本実施の形態において、音声処理装置が行う下記の処理を、一のDSP(デジタルシグナルプロセッサ)で行っても良い。つまり、本DSPは、バイリンガル話者の第一言語の音声に関する情報である教師第一言語音声情報を格納している教師データ格納部と、ユーザから第一言語の音声の入力を受け付ける音声受付部と、サンプリング周波数の変換率に関する情報である声道長正規化パラメータであり、バイリンガル話者の第二言語の音声に関する情報である教師第二言語音声情報と、ユーザが発声した第二言語の音声に関する情報であるユーザ第二言語音声情報を用いて算出された声道長正規化パラメータと、前記バイリンガル話者の音声のサンプリング周波数である第一サンプリング周波数を用いて算出された第二サンプリング周波数を格納している第二サンプリング周波数格納部と、前記第二サンプリング周波数で、前記音声受付部が受け付けた前記第一言語の音声に対して、サンプリング処理を行い、第二音声データを得る声道長正規化処理部を具備するデジタルシグナルプロセッサ、である。かかることも、他の実施の形態でも同様である。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における音声処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、ユーザから第一言語の音声の入力を受け付ける音声受付ステップと、格納している第二サンプリング周波数で、前記音声受付ステップで受け付けた前記第一言語の音声に対して、サンプリング処理を行い、第二音声データを得る声道長正規化処理ステップと、格納している教師第一言語音声情報を用いて、前記第二音声データを処理する音声処理ステップを実行させるためのプログラム、である。
また、上記プログラムにおける前記音声受付ステップは、前記ユーザから第二言語の音声の入力をも受け付け、コンピュータに、前記音声受付ステップで受け付けた第二言語の音声に関する情報であるユーザ第二言語音声情報と前記教師第二言語音声情報から、前記声道長正規化パラメータを算出する声道長正規化パラメータ算出ステップと、前記声道長正規化パラメータと、前記第一サンプリング周波数を用いて第二サンプリング周波数を算出する第二サンプリング周波数算出ステップとをさらに実行させ、前記第二サンプリング周波数は、前記第二サンプリング周波数算出部が算出した第二サンプリング周波数であることは好適である。
また、上記プログラムにおいて、前記声道長正規化パラメータ算出ステップは、前記音声受付ステップで受け付けた音声から、短区間分析により第二のケプストラムベクトル系列を算出する第二ケプストラムベクトル系列算出ステップと、前記第二のケプストラムベクトル系列を、ケプストラム変換パラメータを要素とする行列を用いて変換し、周波数ワープされた第三のケプストラムベクトル系列を算出するケプストラム変換ステップと、指定された発話内容に従って受け付けた音声の事後確率である占有度数を算出する占有度算出ステップと、格納している学習音響データおよび前記第三のケプストラムベクトル系列および前記占有度数に基づいて、ケプストラム変換パラメータを算出するケプストラム変換パラメータ算出ステップと、所定のルールに基づいて、前記ケプストラム変換ステップにおける処理、および前記占有度算出ステップにおける処理、および前記ケプストラム変換パラメータ算出ステップにおける処理を繰り返えさせ、ケプストラム変換パラメータを得る最終ケプストラム変換パラメータ取得ステップと、前記最終ケプストラム変換パラメータ取得ステップで得たケプストラム変換パラメータに基づいて、前記声道長正規化パラメータを算出する声道長正規化パラメータ算出ステップを具備することは好適である。
また、上記プログラムにおける前記ケプストラム変換パラメータ算出ステップは、格納している周波数範囲指定情報、学習音響データ、第三のケプストラムベクトル系列および占有度数を用いて、ケプストラム変換パラメータを算出することは好適である。
また、上記プログラムにおける前記音声処理ステップは、前記第二音声データを、フレームに区分するフレーム区分ステップと、前記区分されたフレーム毎の音声データであるフレーム音声データを1以上得るフレーム音声データ取得ステップと、前記第一言語音声情報と前記1以上のフレーム音声データに基づいて、前記音声受付ステップで受け付けた音声の評定を行う評定ステップと、前記評定ステップにおける評定結果を出力する出力ステップを具備することは好適である。
また、上記プログラムにおける前記評定ステップは、前記1以上のフレーム音声データのうちの少なくとも一のフレーム音声データに対する最適状態を決定する最適状態決定ステップと、前記最適状態決定ステップで決定した最適状態における確率値を取得する最適状態確率値取得ステップと、前記最適状態確率値取得ステップで取得した確率値をパラメータとして音声の評定値を算出する評定値算出ステップを具備することは好適である。
(実施の形態2)
本実施の形態において、教師データ格納部の教師データとして、バイリンガル話者の教師第一言語音声情報だけではなく、バイリンガル話者以外の話者であり、第一言語を母語とする話者である第一言語話者の第一言語の音声に関する情報である他者第一言語音声情報も利用する。また、他者第一言語音声情報は、バイリンガル話者に対する第一言語話者の音声の声道長正規化パラメータの推定を行い、当該推定した声道長正規化パラメータにより変換したデータを構築し、他者第一言語音声情報とすることは好適である。
図14は、本実施の形態における音声処理装置のブロック図である。音声処理装置は、入力受付部101、教師データ格納部1402、音声受付部103、第一サンプリング周波数格納部104、第二サンプリング周波数格納部105、サンプリング部106、声道長正規化パラメータ算出部107、第二サンプリング周波数算出部108、声道長正規化処理部109、音声処理部110、第一言語話者音声受付部1411、第二声道長正規化パラメータ算出部1412、第三サンプリング周波数算出部1413、第二声道長正規化処理部1414を具備する。
図15は、第二声道長正規化パラメータ算出部1412の詳細を示すブロック図である。第二声道長正規化パラメータ算出部1412は、パラメータ候補値範囲情報格納手段14121、パラメータ候補値取得手段14122、第一言語話者用サンプリング周波数取得手段14123、他者第一言語音声候補情報取得手段14124、処理結果取得手段14125、第二声道長正規化パラメータ決定手段14126を具備する。
教師データ格納部1402は、教師第一言語音声情報と、教師第二言語音声情報と、他者第一言語音声情報をも格納している。教師第一言語音声情報は、バイリンガル話者の第一言語の音声に関する情報である。教師第二言語音声情報は、バイリンガル話者の第二言語の音声に関する情報である。他者第一言語音声情報は、バイリンガル話者以外の話者であり、第一言語を母語とする話者である第一言語話者の第一言語の音声に関する情報である。教師データ格納部1402は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
第一言語話者音声受付部1411は、第一言語話者が発声した音声である第一言語話者音声を受け付ける。第一言語話者音声受付部1411は、音声受付部103と、物理的に一の手段で実現されても良い。第一言語話者音声受付部1411は、例えば、マイク345のドライバーソフトで実現され得る。また、なお、第一言語話者音声受付部1411は、マイク345とそのドライバーから実現されると考えても良い。音声は、マイク345から入力されても良いし、磁気テープやCD−ROMなどの記録媒体から読み出すことにより入力されても良い。
第二声道長正規化パラメータ算出部1412は、教師第一言語音声情報と第一言語話者音声から、第一言語話者の音声を正規化するパラメータである第二声道長正規化パラメータを算出する。第二声道長正規化パラメータ算出部1412は、通常、MPUやメモリ等から実現され得る。第二声道長正規化パラメータ算出部1412の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
パラメータ候補値範囲情報格納手段14121は、第二声道長正規化パラメータの候補値であるパラメータ候補値の範囲を示す情報であるパラメータ候補値範囲情報を格納している。パラメータ候補値範囲情報格納手段14121は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
パラメータ候補値取得手段14122は、パラメータ候補値範囲情報が示す範囲のうちの所定の2以上のパラメータ候補値を取得する。パラメータ候補値範囲情報(r)が、例えば、「0.7<=r<=1.5」である場合、パラメータ候補値取得手段14122は、例えば、「0.7」から、「0.01」刻みで、「1.5」まで、パラメータ候補値を取得する。パラメータ候補値取得手段14122は、2以上のパラメータ候補値を取得すればよい。パラメータ候補値取得手段14122は、通常、MPUやメモリ等から実現され得る。パラメータ候補値取得手段14122の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
第一言語話者用サンプリング周波数取得手段14123は、パラメータ候補値取得手段14122が取得した2以上のパラメータ候補値と第一サンプリング周波数を用いて、第一言語話者音声に対するサンプリング周波数である第一言語話者用サンプリング周波数を2以上取得する。第一言語話者用サンプリング周波数取得手段14123は、通常、MPUやメモリ等から実現され得る。第一言語話者用サンプリング周波数取得手段14123の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
他者第一言語音声候補情報取得手段14124は、第一言語話者用サンプリング周波数取得手段14123が取得した2以上の第一言語話者用サンプリング周波数をそれぞれ用いて、第一言語話者音声受付部1411が受け付けた第一言語話者音声に対して、サンプリング処理を行い、2以上の他者第一言語音声候補情報を得る。なお、他者第一言語音声候補情報取得手段14124は、サンプリング部106がサンプリングして得た音声データに対して、リサンプリング処理を行い、他者第一言語音声候補情報を得ることは好適である。かかる場合も、サンプリング部106のサンプリング対象は、第一言語話者音声受付部1411が受け付けた第一言語話者音声であるので、他者第一言語音声候補情報取得手段14124は、第一言語話者音声受付部1411が受け付けた第一言語話者音声に対して、サンプリング処理を行い、他者第一言語音声候補情報を得たこととなる。他者第一言語音声候補情報取得手段14124は、通常、MPUやメモリ等から実現され得る。他者第一言語音声候補情報取得手段14124の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
処理結果取得手段14125は、音声処理部110に2以上の他者第一言語音声候補情報をそれぞれ渡し、教師第一言語音声情報を用いて、2以上の他者第一言語音声候補情報をそれぞれ処理させ、2以上の処理結果を得る。音声処理部110が発音評定を行う場合、処理結果取得手段14125は、例えば、例えば、「0.7」から、「0.01」刻みで、「1.5」まで、パラメータ候補値が変化する状況で、発音評定結果を、順次取得する。処理結果取得手段14125は、通常、MPUやメモリ等から実現され得る。処理結果取得手段14125の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
第二声道長正規化パラメータ決定手段14126は、処理結果取得手段14125が得た2以上の処理結果のうち、最適な処理結果に対応するパラメータ候補値を第二声道長正規化パラメータと決定する。第二声道長正規化パラメータ決定手段14126は、例えば、発音評定結果が最良の他者第一言語音声候補情報に対応するパラメータ候補値を第二声道長正規化パラメータと決定する。第二声道長正規化パラメータ決定手段14126は、通常、MPUやメモリ等から実現され得る。第二声道長正規化パラメータ決定手段14126の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
第三サンプリング周波数算出部1413は、第二声道長正規化パラメータと、第一サンプリング周波数を用いて第三サンプリング周波数を算出する。第三サンプリング周波数算出部1413は、通常、MPUやメモリ等から実現され得る。第三サンプリング周波数算出部1413の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
第二声道長正規化処理部1414は、第三サンプリング周波数で、第一言語話者音声受付部1411が受け付けた第一言語話者音声に対して、サンプリング処理を行い、他者第一言語音声情報を得て、当該他者第一言語音声情報を教師データ格納部1402に蓄積する。第二声道長正規化処理部1414は、第一言語話者音声受付部1411が受け付けた第一言語話者音声に対して、サンプリング部106がサンプリングしたデータをリサンプリングし、他者第一言語音声情報を得て、当該他者第一言語音声情報を教師データ格納部1402に蓄積しても良いことは言うまでもない。第二声道長正規化処理部1414は、通常、MPUやメモリ等から実現され得る。第二声道長正規化処理部1414の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、音声処理装置の動作について説明する。本実施の形態において、音声処理装置の動作のうちの第二声道長正規化パラメータ算出部の処理が、実施の形態1とは異なる。第二声道長正規化パラメータ算出部1412の処理について、図16、図17のフローチャートを用いて説明する。
(ステップS1601)第一言語話者音声受付部1411は、第一言語話者が発声した音声である第一言語話者音声を受け付けたか否かを判断する。第一言語話者音声を受け付ければステップS1602に行き、第一言語話者音声を受け付けなければステップS1601に戻る。
(ステップS1602)サンプリング部106は、ステップS1601で受け付けた第一言語話者音声をサンプリングし、第一言語話者の音声データを得て、メモリ上に、少なくとも一時格納する。
(ステップS1603)第二声道長正規化パラメータ算出部1412は、教師第一言語音声情報と、ステップS1602でサンプリングした音声データから、第一言語話者の音声を正規化するパラメータである第二声道長正規化パラメータを算出する。第二声道長正規化パラメータを算出する処理の詳細について、図17のフローチャートを用いて後述する。
(ステップS1604)第三サンプリング周波数算出部1413は、ステップS1603で算出した第二声道長正規化パラメータと、第一サンプリング周波数格納部104の第一サンプリング周波数を用いて第三サンプリング周波数を算出する。
(ステップS1605)第二声道長正規化処理部1414は、ステップS1602で得られた音声データに対して、第三サンプリング周波数でリサンプリング処理を行い、他者第一言語音声情報を得る。なお、第二声道長正規化処理部1414は、声道長正規化処理部109と同じ機能を果たすので、同一の物理的手段で実現されても良い。
(ステップS1606)第二声道長正規化処理部1414は、ステップS1605で得た他者第一言語音声情報を、教師データ格納部1402に蓄積し、処理を終了する。
ステップS1603の第二声道長正規化パラメータを算出する処理の詳細について、図17のフローチャートを用いて説明する。
(ステップS1701)パラメータ候補値取得手段14122は、パラメータ候補値範囲情報格納手段141211からパラメータ候補値範囲情報を読み出す。
(ステップS1702)パラメータ候補値取得手段14122は、カウンタiに1を代入する。
(ステップS1703)パラメータ候補値取得手段14122は、i番目のパラメータ候補値が存在するか否かを判断する。i番目のパラメータ候補値が存在すればステップS1704に行き、i番目のパラメータ候補値が存在しなければステップS1710に行く。なお、本ステップで、i番目のパラメータ候補値が存在する場合、パラメータ候補値取得手段14122は、i番目のパラメータ候補値を取得している、とする。
(ステップS1704)第一言語話者用サンプリング周波数取得手段14123は、ステップS1703で取得したi番目のパラメータ候補値と第一サンプリング周波数を用いて、第一言語話者音声に対するサンプリング周波数である第一言語話者用サンプリング周波数を算出する。なお、第一言語話者用サンプリング周波数取得手段14123は、第一サンプリング周波数を、第一サンプリング周波数格納部104から読み出す。
(ステップS1705)他者第一言語音声候補情報取得手段14124は、ステップS1704で取得した第一言語話者用サンプリング周波数を用いて、サンプリング部106がサンプリングして得た音声データに対して、リサンプリング処理を行い、他者第一言語音声候補情報を得る。
(ステップS1706)処理結果取得手段14125は、ステップS1705で得た他者第一言語音声候補情報を音声処理部110に渡す。
(ステップS1707)処理結果取得手段14125は、ステップS1706における他者第一言語音声候補情報の音声処理部110への送付に対応して、音声処理部110から処理結果を受け取ったか否かを判断する。処理結果を受け取ればステップS1708に行き、処理結果を受け取らなければステップS1707に戻る。
(ステップS1708)処理結果取得手段14125は、ステップS1707で受け取った処理結果と、i番目のパラメータ候補値を対応付けて、メモリに一時記憶する。
(ステップS1709)パラメータ候補値取得手段14122は、カウンタiを1インクリメントし、ステップS1703に戻る。
(ステップS1710)第二声道長正規化パラメータ決定手段14126は、ステップS1708で一時記憶した処理結果のうち、最良の処理結果(例えば、スコアが最も高い結果)を決定する。
(ステップS1711)第二声道長正規化パラメータ決定手段14126は、ステップS1710で決定した最良の処理結果と対になるパラメータ候補値を取得する。次に、第二声道長正規化パラメータ決定手段14126は、取得したパラメータ候補値を用いて、第二声道長正規化パラメータを決定し、少なくとも一時的にメモリ上に格納し、上位関数にリターンする。なお、通常、取得したパラメータ候補値が第二声道長正規化パラメータである。
以下、本実施の形態における音声処理装置の具体的な動作について説明する。音声処理装置における他者第一言語音声情報を構成する処理の概念図は図18である。
図18において、母語話者(上述の第一言語話者)が第一言語(例えば、英語)で発声した音声と、バイリンガル話者の教師第一言語音声情報を用いて声道長正規化パラメータの推定を行い、当該声道長正規化パラメータを用いて、母語話者の発声した音声を正規化し、他者第一言語音声情報を構成する。そして、他者第一言語音声情報を教師データ格納部に蓄積する。以上の処理により、教師データ格納部に、他者第一言語音声情報と教師第一言語音声情報が格納されることとなる。なお、他者第一言語音声情報と教師第一言語音声情報は、音韻毎の隠れマルコフモデル(HMM)を連結したHMMに基づくデータであることが好適である。
また、教師データ格納部の他者第一言語音声情報を構築するために、通常、リアルタイム性は要求されない。したがって、他者第一言語音声情報を構築する処理は、以下に説明する走査法(グリッドサーチ法)が有効である。グリッドサーチ法は、計算量は多いが高精度である。このグリッドサーチ法の概略を、図19を用いて説明する。
グリッドサーチ法において、サンプリング周波数変換率(声道長正規化パラメータと同じ意義)rを推定する際に、例えば、サンプリング周波数変換率の範囲を示す情報であるパラメータ候補値範囲情報を「0.7<=r<=1.5」とし、0.01刻みでグリッドサーチを行う。つまり、まず、母語話者が発声した音声をサンプリング周波数変換率「0.7」を用いてリサンプリングし、リサンプリングした音声データを、バイリンガル話者の教師第一言語音声情報を用いて音声処理(発音評定や音声認識など)し、音声処理結果(スコア)をサンプリング周波数変換率「0.7」とともに、メモリ上に一時格納する。
次に、サンプリング周波数変換率「0.71」、「0.72」、・・・「1.5」と0.01刻みにサンプリング周波数変換率を変更しながら、音声処理(発音評定や音声認識など)し、音声処理結果をサンプリング周波数変換率とともに、メモリ上に一時格納していく。
次に、最良の音声処理結果(発音評定の場合は最大のスコアのもの、音声認識の場合は最大の認識率のもの、など)を取得し、最良の音声結果と対になるサンプリング周波数変換率を得る。以上の処理により、他者第一言語音声情報を得る。
そして、音声処理装置における教師データ格納部は、バイリンガル話者以外の話者であり、第一言語を母語とする話者である第一言語話者の第一言語の音声に関する情報である他者第一言語音声情報をも格納しており、音声処理部は、教師第一言語音声情報と他者第一言語音声情報を用いて、音声受付部が受け付けたユーザの第一言語の音声を処理する構成である。ここで、第一言語の音声を処理するアルゴリズムは、実施の形態1で記載した処理と同様である。
以上、本実施の形態によれば、音声処理装置は、音声処理装置の教師データとして、バイリンガル話者の発話データのみではなく、第一言語を母語に持つ1以上の話者である第一言語話者の第一言語の音声データも用いることができる。その結果、精度の高い音声処理装置を提供できる。
また、本実施の形態によれば、第一言語話者が発話した音声データを、バイリンガル話者に話者正規化することにより、第一言語話者とバイリンガル話者の話者性の違いに影響を受けない教師データを構築でき、さらに精度の高い音声処理装置を提供できる。
また、本実施の形態によれば、グリッドサーチ法により、第二声道長正規化パラメータと決定し、当該、第二声道長正規化パラメータにより他者第一言語音声情報を得ることにより、さらに精度が高い音声処理装置を提供できる。
なお、本実施の形態において、他者第一言語音声情報を得る処理と、音声処理部が行う音声処理は異なる装置で行っても良い。かかる場合、音声処理を行う音声処理部は、教師データ格納部に格納されている教師第一言語音声情報と他者第一言語音声情報を用いて、第二音声データを処理する、という構成になる。
さらに、本実施の形態における音声処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、ユーザから第一言語の音声の入力を受け付ける音声受付ステップと、格納している第二サンプリング周波数で、前記音声受付ステップで受け付けた前記第一言語の音声に対して、サンプリング処理を行い、第二音声データを得る声道長正規化処理ステップと、格納している教師第一言語音声情報と他者第一言語音声情報を用いて、前記第二音声データを処理する音声処理ステップを実行させるためのプログラム、である。
また、上記プログラムにおいて、コンピュータに、第一言語話者が発声した音声である第一言語話者音声を受け付ける第一言語話者音声受付ステップと、前記教師第一言語音声情報と前記第一言語話者音声から、第一言語話者の音声を正規化するパラメータである第二声道長正規化パラメータを算出する第二声道長正規化パラメータ算出ステップと、前記第二声道長正規化パラメータと、前記第一サンプリング周波数を用いて第三サンプリング周波数を算出する第三サンプリング周波数算出ステップと、前記第三サンプリング周波数で、前記第一言語話者音声受付ステップで受け付けた前記第一言語話者音声に対して、サンプリング処理を行い、前記他者第一言語音声情報を得る第二声道長正規化処理ステップをさらに実行させるためのプログラムである、ことは好適である。
また、上記プログラムにおいて、前記第二声道長正規化パラメータ算出ステップは、パラメータ候補値範囲情報が示す範囲のうちの所定の2以上のパラメータ候補値を取得するパラメータ候補値取得ステップと、前記パラメータ候補値取得ステップで取得した2以上のパラメータ候補値と前記第一サンプリング周波数を用いて、前記第一言語話者音声に対するサンプリング周波数である第一言語話者用サンプリング周波数を2以上取得する第一言語話者用サンプリング周波数取得ステップと、前記第一言語話者用サンプリング周波数取得ステップで取得した2以上の第一言語話者用サンプリング周波数をそれぞれ用いて、前記第一言語話者音声受付ステップで受け付けた前記第一言語話者音声に対して、サンプリング処理を行い、2以上の他者第一言語音声候補情報を得る他者第一言語音声候補情報取得ステップと、前記音声処理ステップにおいて、前記教師第一言語音声情報を用いて、前記2以上の他者第一言語音声候補情報をそれぞれ処理し、当該処理結果を2以上得る処理結果取得ステップと、前記処理結果取得ステップで得た2以上の処理結果のうち、最適な処理結果に対応するパラメータ候補値を第二声道長正規化パラメータと決定する第二声道長正規化パラメータ決定ステップを具備することは好適である。
また、上記プログラムにおいて、前記声道長正規化パラメータ算出ステップは、前記音声受付ステップで受け付けた音声から、短区間分析により第二のケプストラムベクトル系列を算出する第二ケプストラムベクトル系列算出ステップと、前記第二のケプストラムベクトル系列を、ケプストラム変換パラメータを要素とする行列を用いて変換し、周波数ワープされた第三のケプストラムベクトル系列を算出するケプストラム変換ステップと、指定された発話内容に従って受け付けた音声の事後確率である占有度数を算出する占有度算出ステップと、格納している学習音響データおよび前記第三のケプストラムベクトル系列および前記占有度数に基づいて、ケプストラム変換パラメータを算出するケプストラム変換パラメータ算出ステップと、所定のルールに基づいて、前記ケプストラム変換ステップにおける処理、および前記占有度算出ステップにおける処理、および前記ケプストラム変換パラメータ算出ステップにおける処理を繰り返えさせ、ケプストラム変換パラメータを得る最終ケプストラム変換パラメータ取得ステップと、前記最終ケプストラム変換パラメータ取得ステップで得たケプストラム変換パラメータに基づいて、前記声道長正規化パラメータを算出する声道長正規化パラメータ算出ステップを具備することは好適である。
また、上記プログラムにおける前記ケプストラム変換パラメータ算出ステップは、格納している周波数範囲指定情報、学習音響データ、第三のケプストラムベクトル系列および占有度数を用いて、ケプストラム変換パラメータを算出することは好適である。
また、上記プログラムにおける前記音声処理ステップは、前記第二音声データを、フレームに区分するフレーム区分ステップと、前記区分されたフレーム毎の音声データであるフレーム音声データを1以上得るフレーム音声データ取得ステップと、前記第一言語音声情報と前記1以上のフレーム音声データに基づいて、前記音声受付ステップで受け付けた音声の評定を行う評定ステップと、前記評定ステップにおける評定結果を出力する出力ステップを具備することは好適である。
また、上記プログラムにおける前記評定ステップは、前記1以上のフレーム音声データのうちの少なくとも一のフレーム音声データに対する最適状態を決定する最適状態決定ステップと、前記最適状態決定ステップで決定した最適状態における確率値を取得する最適状態確率値取得ステップと、前記最適状態確率値取得ステップで取得した確率値をパラメータとして音声の評定値を算出する評定値算出ステップを具備することは好適である。
(実施の形態3)
本実施の形態における音声処理装置は、実施の形態1の音声処理装置と比較して、音声処理部における評定アルゴリズムが異なる。本実施の形態において、評定値は、最適状態を含む音韻の中の全状態の確率値を発音区間で評価して、算出される。本実施の形態における音声処理装置が算出する事後確率を、実施の形態1におけるDAPに対してt−p−DAPと呼ぶ。
図20は、本実施の形態における音声処理装置のブロック図である。音声処理装置は、入力受付部101、教師データ格納部102、音声受付部103、第一サンプリング周波数格納部104、第二サンプリング周波数格納部105、サンプリング部106、声道長正規化パラメータ算出部107、第二サンプリング周波数算出部108、声道長正規化処理部109、音声処理部2010を具備する。
音声処理部2010のブロック図を図21に示す。音声処理部2010は、フレーム区分手段1101、フレーム音声データ取得手段1102、評定手段20103、出力手段1104を具備する。
評定手段20103は、最適状態決定手段11031、発音区間フレーム音韻確率値取得手段201032、評定値算出手段201033を具備する。
発音区間フレーム音韻確率値取得手段201032は、最適状態決定手段11031が決定した各フレームの最適状態を有する音韻全体の状態における1以上の確率値を、発音区間毎に取得する。
評定値算出手段201033は、発音区間フレーム音韻確率値取得手段201032が取得した1以上の発音区間毎の1以上の確率値をパラメータとして音声の評定値を算出する。評定値算出手段201033は、例えば、最適状態決定手段11031が決定した各フレームの最適状態を有する音韻全体の状態における1以上の確率値の総和を、フレーム毎に得て、当該フレーム毎の確率値の総和に基づいて、発音区間毎の確率値の総和の時間平均値を1以上得て、当該1以上の時間平均値をパラメータとして音声の評定値を算出する。
発音区間フレーム音韻確率値取得手段201032、および評定値算出手段201033は、通常、MPUやメモリ等から実現され得る。発音区間フレーム音韻確率値取得手段201032等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、本音声処理装置の動作について図22、図23のフローチャートを用いて説明する。図22等のフローチャートにおいて、図4、図6のフローチャートと異なるステップについてのみ説明する。図22のフローチャートにおいて、ステップS2205の第一言語の音声処理のみ、図4のフローチャートと異なる。ステップS2205の第一言語の音声処理について、図23のフローチャートを用いて説明する。図23のフローチャートにおいて、図6のフローチャートと異なるステップのみについて説明する。
(ステップS2301)発音区間フレーム音韻確率値取得手段201032は、全フレームの全状態の前向き尤度と後向き尤度を算出する。そして、全フレーム、全状態の確率値を得る。具体的には、発音区間フレーム音韻確率値取得手段201032は、例えば、各特徴ベクトルが対象の状態から生成された事後確率を算出する。この事後確率は、HMMの最尤推定におけるBaum−Welchアルゴリズムの中で現れる占有度数に対応する。Baum−Welchアルゴリズムは、公知のアルゴリズムであるので、説明は省略する。
(ステップS2302)発音区間フレーム音韻確率値取得手段201032は、全フレームの最適状態確率値を算出する。
(ステップS2303)発音区間フレーム音韻確率値取得手段201032は、jに1を代入する。
(ステップS2304)発音区間フレーム音韻確率値取得手段201032は、次の評定対象の発音区間である、j番目の発音区間が存在するか否かを判断する。j番目の発音区間が存在すればステップS2305に行き、j番目の発音区間が存在しなければ上位関数にリターンする。
(ステップS2305)発音区間フレーム音韻確率値取得手段201032は、カウンタkに1を代入する。
(ステップS2306)発音区間フレーム音韻確率値取得手段201032は、k番目のフレームが、j番目の発音区間に存在するか否かを判断する。k番目のフレームが存在すればステップS2307に行き、k番目のフレームが存在しなければステップS2310に飛ぶ。
(ステップS2307)発音区間フレーム音韻確率値取得手段201032は、k番目のフレームの最適状態を含む音韻の全ての確率値を取得する。
(ステップS2308)評定値算出手段201033は、ステップS2307で取得した1以上の確率値をパラメータとして、1フレームの音声の評定値を算出する。
(ステップS2309)発音区間フレーム音韻確率値取得手段201032は、kを1、インクメントする。そして、ステップS2306に戻る。
(ステップS2310)評定値算出手段201033は、j番目の発音区間の評定値を算出する。評定値算出手段201033は、例えば、最適状態決定手段11031が決定した各フレームの最適状態を有する音韻全体の状態における1以上の確率値の総和を、フレーム毎に得て、当該フレーム毎の確率値の総和に基づいて、発音区間の確率値の総和の時間平均値を、当該発音区間の音声の評定値として算出する。
(ステップS2311)出力手段1104は、ステップS2310で算出した評定値を出力する。
(ステップS2312)発音区間フレーム音韻確率値取得手段201032は、jを1、インクメントする。そして、ステップS2304に戻る。
以下、本実施の形態における音声処理装置の具体的な動作について説明する。本実施の形態において、評定値の算出アルゴリズムが実施の形態1とは異なるので、その動作を中心に説明する。
教師データ格納部102には、実施の形態1で述べたように、バイリンガル話者の第一言語および第二言語による発声の音声データが格納されている。具体的には、例えば、バイリンガル話者が第二言語で発声した"あいうえお"の音声データ(声道長正規化パラメータの算出のための音声データ)や、第一言語で発声した"right"の音声データ(音声処理の一つである発音評定のための音声データ)が、教師データ格納部102に格納されている。
かかる状況で、まず、本音声処理装置において、ユーザが、動作開始指示を入力する、とする。そして、入力受付部101は、動作開始指示を受け付ける。
次に、声道長正規化パラメータの算出処理を以下のように行う。つまり、まず、本音声処理装置は、ユーザに対して、例えば、「"あいうえお"と発声してください。」と画面出力する。次に、ユーザは、「あいうえお」と発声した、とする。
次に、図5のフローチャートに従って、声道長正規化パラメータ算出手段1078は、声道長正規化パラメータ(サンプリング周波数変換率)γを計算する。ここで、例えば、声道長正規化パラメータ(γ)が「1.458」であった、とする。
次に、音声処理部110は、ここでは、発音評定を行う、とする。そして、まず、音声処理装置は、第一言語(ここでは、英語)の単語"right"の入力を促す、とする。つまり、音声処理装置は、学習者に「"right"を発音してください。」などを表示、または音声出力するなどして、学習者に「right」の発声を促す、とする。
次に、ユーザは、学習対象の音声「right」を発音する。そして、音声受付部103は、ユーザが発音した音声「right」の入力を受け付ける。
次に、サンプリング部106は、受け付けた音声「right」を第一サンプリング周波数(例えば、「22.05KHz」)でサンプリング処理する。そして、サンプリング部106は、音声「right」の第一音声データを得る。
次に、声道長正規化処理部109は、「right」の第一音声データを第二サンプリング周波数「32.1KHz」でリサンプリング処理する。そして、声道長正規化処理部109は、第二音声データを得る。そして、声道長正規化処理部109は、第二音声データを一時格納する。
次に、音声処理部2010は、第二音声データを、以下のように処理する。
まず、フレーム区分手段1101は、「right」の第二音声データを、短時間フレームに区分する。
そして、フレーム音声データ取得手段1102は、フレーム区分手段1101が区分した音声データを、スペクトル分析し、特徴ベクトル系列「O=o1,o2,・・・,oT」を算出する。
次に、発音区間フレーム音韻確率値取得手段201032は、各フレームの各状態の事後確率(確率値)を算出する。確率値の算出は、上述した数式13、数式14により算出できる。
次に、最適状態決定手段11031は、取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、各フレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。つまり、最適状態決定手段11031は、最適状態系列を得る。なお、各フレームの各状態の事後確率(確率値)を算出する処理と、最適状態を決定する処理の処理順序は問わない。
次に、発音区間フレーム音韻確率値取得手段201032は、発音区間ごとに、当該発音区間に含まれる各フレームの最適状態を含む音韻の全ての確率値を取得する。そして、評定値算出手段201033は、各フレームの最適状態を含む音韻の全ての確率値の総和を、フレーム毎に算出する。そして、評定値算出手段201033は、フレーム毎に算出された確率値の総和を、発音区間毎に時間平均し、発音区間毎の評定値を算出する。具体的には、評定値算出手段201033は、数式15により評定値を算出する。数式15において、p−DAP(τ)は、各フレームにおける、すべての音韻の中で最適な音韻の事後確率(確率値)を表すように算出される評定値であり、数式16で算出され得る。なお、数式15のt−p−DAPは、最適状態を含む音韻の中の全状態の確率値を発音区間で評価して、算出される評定値である。また、数式15において、Τ(qt *)は、状態qt *を含むHMMが含まれる評定対象の発音区間である。|Τ(qt *)|は、Τ(qt *)の区間長である。また、数式16において、P(qt *)は、状態qt *を含むHMMが有する全状態識別子の集合である。
かかる評定値算出手段201033が算出した評定値(「t−p−DAPスコア」とも言う。)を、図24の表に示す。図24において、アメリカ人男性と日本人男性の評定結果を示す。PhonemeおよびWordは,t−p−DAPにおける時間平均の範囲を示す。ここでは、DAPの代わりにp−DAPの時間平均を採用したものである。図24において、アメリカ人男性の発音の評定値が日本人男性の発音の評定値より高く、良好な評定結果が得られている。
そして、出力手段1104は、算出した発音区間ごと(ここでは、音素毎)の評定値を、順次出力する。かかる出力例は、図25である。
以上、本実施の形態によれば、ユーザの母国語と、音声処理対象の音声の言語が異なる場合でも、言語の特徴に影響されない、精度の高い音声処理ができる。また、本実施の形態によれば、ユーザが入力した発音を、教師データに対して、如何に似ているかを示す類似度(評定値)を算出し、出力できる。さらに、本実施の形態によれば、個人差、特に声道長の違いに影響を受けない、精度の高い評定ができる。
また、本実施の形態によれば、音声評定の処理をt−p−DAPのアルゴリズムで行うので、評定値を、発音区間の単位で算出でき、実施の形態1におけるような状態単位のDAPと比較して、本来、測定したい類似度(発音区間の類似度)を精度良く、安定して求めることができる。
また、本実施の形態によれば、連結されたHMMである連結HMMを用いて最適状態を求め、評定値を算出するので、高速に評定値を求めることができる。したがって、上記の具体例で述べたように、リアルタイムに、発音区間ごとの評定値を出力できる。また、本実施の形態によれば、動的計画法に基づいた事後確率を確率値として算出するので、さらに高速に評定値を求めることができる。
(実施の形態4)
本実施の形態において、声道長正規化パラメータの算出方法の第二の例である、最小自乗誤差基準に基づく声道長正規化パラメータの算出方法を採用する音声処理装置について説明する。最小自乗誤差基準に基づく、簡潔な声道長正規化法は、ユーザの話者特性に左右されにくい話者正規化法である。
図26は、本実施の形態における音声処理装置のブロック図である。音声処理装置は、入力受付部101、教師データ格納部102、音声受付部103、第一サンプリング周波数格納部104、第二サンプリング周波数格納部105、サンプリング部106、声道長正規化パラメータ算出部2607、第二サンプリング周波数算出部108、声道長正規化処理部109、音声処理部110を具備する。
図27は、本実施の形態における音声処理装置を構成する声道長正規化パラメータ算出部2607のブロック図である。声道長正規化パラメータ算出部2607は、周波数範囲指定情報格納手段26071、長時間ケプストラム平均ベクトル格納手段26072、第二ケプストラムベクトル系列算出手段1073、ケプストラム変換手段1074、ケプストラム変換パラメータ算出手段26076、最終ケプストラム変換パラメータ取得手段1077、声道長正規化パラメータ算出手段1078を具備する。
声道長正規化パラメータ算出部2607は、音声受付部103が受け付けた第二言語の音声に関する情報であるユーザ第二言語音声情報と教師第二言語音声情報から、声道長正規化パラメータを算出する。上述したように、声道長正規化パラメータ算出部107が声道長正規化パラメータを算出するアルゴリズムは、種々存在する。本実施の形態において、まず、算出されるのは、ケプストラム変換(ケプストラムワーピング)パラメータである。このケプストラム変換パラメータは、声道長の変換を直接表わすものではないため、声道長正規化パラメータ算出部2607は、後述の近似変換式を用いて最終的な声道長正規化パラメータ(サンプリング周波数変換率)を算出する。声道長正規化パラメータ算出部2607は、通常、MPUやメモリ等から実現され得る。声道長正規化パラメータ算出部2607の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
周波数範囲指定情報格納手段26071は、周波数範囲を指定する情報である周波数範囲指定情報(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)成分を、周波数範囲指定情報算出手段は、以下の数式17に従って計算する。具体的には、周波数範囲指定情報算出手段は、コンピュータの記録媒体(図示しない)に格納されているサンプリング周波数(Fs)、最高周波数(Fmax)、予め決められた十分大きな自然数(N)を読み出す。そして、周波数範囲指定情報算出手段は、自ら保持している演算式の情報「Nm=N×Fmax/Fs」を読み出し、読み出したFs、Fmax、Nを演算式に代入し、Nmを算出する。そして、周波数範囲指定情報算出手段は、格納している以下の数式17の情報を読み出し、i、jを0から順に、1ずつインクリメントさせながら、ループ処理(2重ループの処理になる)により、{W}i,jを算出する。そして、周波数範囲指定情報算出手段は、算出した{W}i,jのすべてを、少なくとも一時的に周波数範囲指定情報格納手段26071に格納する。なお、数式5において、「k」は、周波数インデクスであり、「k」の範囲は、「k=0,1,2,...,N/2」である。また、「n」は、離散時間インデクスであり、「n」の範囲は、「n=...−2,−1,0,1,2,...」である。
なお、周波数範囲指定情報のデータ構造は問わない。また、周波数範囲指定情報格納手段26071は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
長時間ケプストラム平均ベクトル格納手段26072は、長時間ケプストラム平均ベクトル(μ)を格納している。長時間ケプストラム平均ベクトル(μ)は、教師データを構成するデータから、短区間分析により算出された第一のケプストラムベクトル系列の時間平均である。第一のケプストラムベクトル系列(xt(t=1,2,・・・,T0))は、通常、教師データを構成する単一音素(例えば、/u/)を短区間分析し、取得される。そして、長時間ケプストラム平均ベクトル(μ)は、ベクトル(xt)から、以下の数式18により算出される。
なお、ケプストラムベクトルは0次係数も含めたM+1次元であり,ベクトル(xt)およびベクトル(μ)は、それぞれ数式19、数式20で表わされる。
数式19、数式20において、(・・・)Tは行列またはベクトルの転置を表わす。
また、第一のケプストラムベクトル系列(xt)は、図示しない第一ケプストラムベクトル系列算出手段が、教師データ格納部102の教師第一言語音声情報を構成するデータ(単一音素(例えば、/u/))から、短区間分析により算出しても良い。
また、図示しない長時間ケプストラム平均ベクトル取得手段が、第一のケプストラムベクトル系列(xt)の時間平均を、数式18により算出し、長時間ケプストラム平均ベクト(μ)を取得しても良い。長時間ケプストラム平均ベクトル格納手段26072は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
ケプストラム変換パラメータ算出手段26076は、長時間ケプストラム平均ベクトル(μ)および第三のケプストラムベクトル系列(Ot)に基づいて、ケプストラム変換パラメータ(α)を算出する。ケプストラム変換パラメータ算出手段26076は、さらに好ましくは、周波数範囲指定情報(W)で示される周波数範囲における長時間ケプストラム平均ベクトルおよび第三のケプストラムベクトル系列(Ot)に基づいて、ケプストラム変換パラメータを算出する。
具体的には、まず、ケプストラム変換パラメータ算出手段26076は、以下の数式21により、ベクトル(ut(α))を算出する。そして、次に、ケプストラム変換パラメータ算出手段26076は、以下の数式22により、αの最適値(α*)を算出する。なお、αの最適値(α*)は、現繰り返しステップにおける最適値である。
ケプストラム変換パラメータ算出手段26076は、通常、MPUやメモリ等から実現され得る。ケプストラム変換パラメータ算出手段26076の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、音声処理装置の動作について説明する。本実施の形態における音声処理装置は、実施の形態1における音声処理装置と比較して、声道長正規化パラメータ算出処理のみが異なる。声道長正規化パラメータ算出処理について、図28のフローチャートを用いて説明する。なお、本声道長正規化パラメータ算出処理は、必ずしも音声処理装置で行う必要はない。
(ステップS2801)音声処理装置は、初期化処理を行う。初期化処理とは、例えば、ユーザ(評価対象者)に対して、「/u/」と発声するように促す処理(例えば、ディスプレイに「「う」と発音してください。」と表示する処理)と、周波数範囲指定情報格納手段26071の周波数範囲指定情報、および長時間ケプストラム平均ベクトル格納手段26072の長時間ケプストラム平均ベクトルを読み出す処理である。
(ステップS2802)音声受付部103が、ユーザからの音声を受け付けたか否かを判断する。音声を受け付ければステップS2803に行き、音声を受け付けなければステップS2802に戻る。
(ステップS2803)サンプリング部106は、ステップS2802で受け付けた音声をサンプリングし、第一音声データを得て、メモリ上に、少なくとも一時格納する。なお、音声をサンプリングする処理は公知技術である。
(ステップS2804)第二ケプストラムベクトル系列算出手段1073は、ステップS2803で得た第一音声データを取得し、当該第一音声データから、短区間分析により第二のケプストラムベクトル系列(Ct)を算出し、第二のケプストラムベクトル系列(Ct)をメモリ上に、少なくとも一時格納する。
(ステップS2805)第二ケプストラムベクトル系列算出手段1073は、ステップS2804で算出した第二のケプストラムベクトル系列(Ct)を取得し、当該第二のケプストラムベクトル系列(Ct)から、ベクトル(Ct −)(t=1,2,・・・,T)を取得し、ベクトル(Ct −)をメモリ上に、少なくとも一時格納する。
(ステップS2806)ケプストラム変換手段1074は、予め格納しているケプストラム変換パラメータの初期値(α〜)を読み出し、変数(α)に(α〜)を設定する。
(ステップS2807)ケプストラム変換手段1074は、第二のケプストラムベクトル系列(Ct)を読み出し、当該第二のケプストラムベクトル系列(Ct)を、ケプストラム変換パラメータ(α)を要素とする行列を用いて線形変換し、周波数ワープされた第三のケプストラムベクトル系列(Ot)を算出し、メモリ上に、少なくとも一時格納する。
(ステップS2808)ケプストラム変換パラメータ算出手段26076は、ステップS2807で算出した第三のケプストラムベクトル系列(Ot)、およびステップS2805で算出したベクトル(Ct −)を読み出し、当該第三のケプストラムベクトル系列(Ot)およびベクトル(Ct −)から、ベクトル(ut(α))を算出する(数式21参照)。ベクトル(ut(α))を算出する場合に、格納している数式21の情報を読み出して、演算することは言うまでもない。
(ステップS2809)ケプストラム変換パラメータ算出手段26076は、予め格納している数式22の情報を読み出し、当該数式22の数式に、ベクトル(ut(α))、長時間ケプストラム平均ベクトル(μ)、ベクトル(Ct −)、周波数範囲指定情報(W)の情報(WT等も含む)を与え、数式22を演算し、αの最適値(α*)を算出する。このαの最適値(α*)は、本ループにおける最適値である。そして、ケプストラム変換パラメータ算出手段26076は、αの最適値(α*)を、少なくともメモリに一時格納する。
(ステップS2810)最終ケプストラム変換パラメータ取得手段1077は、予め決められた所定のルール(ルールの情報は、予め格納されている)に合致するか否かを判断する。ルールに合致すればステップS2811に行き、ルールに合致しなければステップS2813に行く。なお、ルールとは、上述したように、例えば、予め決められた所定の繰り返し回数(この回数の情報は、予めメモリ等に格納されている)だけ、本ループ処理(αの最適値(α*)を算出し、α*をαに代入する処理)が繰り返し行われたことである。
(ステップS2811)声道長正規化パラメータ算出手段1078は、最終ケプストラム変換パラメータ取得手段1077が得たケプストラム変換パラメータ(最終のα*)を取得し、当該パラメータを数式11の演算式に与え、線形周波数伸縮比(ρ)を算出する。なお、数式11の演算式の情報は、声道長正規化パラメータ算出手段1078が予め格納している。また、声道長正規化パラメータ算出手段1078は、算出した線形周波数伸縮比(ρ)を、少なくともメモリに一時格納する。
(ステップS2812)声道長正規化パラメータ算出手段1078は、線形周波数伸縮比(ρ)を読み出し、当該線形周波数伸縮比(ρ)から、声道長正規化パラメータ(γ)を算出し、少なくともメモリに一時格納する。声道長正規化パラメータ算出手段1078は、例えば、予め格納している数式12の情報を読み出し、線形周波数伸縮比(ρ)を代入し、数式12の演算式を実行し、声道長正規化パラメータ(γ)を得て、処理を終了する。
(ステップS2813)最終ケプストラム変換パラメータ取得手段1077は、ステップS2809で算出した(α*)をαに代入する。そして、ステップS2807に戻る。
以下、図29の概念図を用いて、本実施の形態における音声処理装置における声道長正規化パラメータ算出処理の概念について説明する。声道長正規化パラメータの算出は、システム設計用に用いられる話者(基準話者)のある音素(教師データのある音素)の平均ケプストラムベクトルμと、同じ音素のユーザ発話音声の変換されたケプストラムベクトルOtとの自乗誤差が最小になるように求められる。ただし、求まるパラメータ(α*)はケプストラム変換(ケプストラムワーピング)パラメータであり、このままでは声道長の変換を直接表わすものではないため、近似変換式(1/ρ)を用いて最終的な声道長正規化パラメータ(サンプリング周波数変換率)γを計算する。
以上、本実施の形態によれば、ユーザが入力した発音を、教師データである教師第一言語音声情報に対して、如何に似ているかを示す類似度(評定値)を算出し、出力できる。また、かかる場合、本実施の形態によれば、個人差、特に声道長の違いに影響を受けない、特に、精度の高い評定ができる。
また、本実施の形態において、ユーザの母国語と、音声処理対象の音声の言語が異なる場合でも、言語の特徴に影響されない、精度の高い音声処理ができる。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、図30は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の音声処理装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図30は、このコンピュータシステム340の概観図であり、図31は、コンピュータシステム340のブロック図である。
図30において、コンピュータシステム340は、FD(Flexible Disk)ドライブ、CD−ROM(Compact Disk Read Only Memory)ドライブを含むコンピュータ341と、キーボード342と、マウス343と、モニタ344と、マイク345とを含む。
図31において、コンピュータ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がどのように動作するかは周知であり、詳細な説明は省略する。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。