JP4826482B2 - 音声合成辞書構築装置、音声合成辞書構築方法、及び、プログラム - Google Patents

音声合成辞書構築装置、音声合成辞書構築方法、及び、プログラム Download PDF

Info

Publication number
JP4826482B2
JP4826482B2 JP2007010440A JP2007010440A JP4826482B2 JP 4826482 B2 JP4826482 B2 JP 4826482B2 JP 2007010440 A JP2007010440 A JP 2007010440A JP 2007010440 A JP2007010440 A JP 2007010440A JP 4826482 B2 JP4826482 B2 JP 4826482B2
Authority
JP
Japan
Prior art keywords
data
mel cepstrum
cepstrum coefficient
series data
label
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007010440A
Other languages
English (en)
Other versions
JP2008176132A (ja
Inventor
勝彦 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2007010440A priority Critical patent/JP4826482B2/ja
Publication of JP2008176132A publication Critical patent/JP2008176132A/ja
Application granted granted Critical
Publication of JP4826482B2 publication Critical patent/JP4826482B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、音声合成等に用いる音声合成辞書を構築する、音声合成辞書構築装置、音声合成辞書構築方法、及び、プログラムに関する。
音声認識及び音声合成技術として隠れマルコフモデル(Hidden Markov Model。以下、HMMと呼ぶ。)に基づいた音声認識技術及び音声合成技術が、広く利用されている。
HMMに基づいた音声認識技術及び音声合成技術は、例えば、特許文献1に開示されている。
特開2002−268660号公報
HMMに基づいた音声合成においては、音素ラベルとスペクトルパラメータデータ列等の対応関係を記録した音声合成辞書が必要になる。
音声合成辞書は、音声合成辞書構築装置により構築される。音声合成辞書構築装置は、通例、音声データと音素モノフォンラベルデータと音素トライフォンラベルデータとの組から構成されているデータベース(以下、音声データベースと呼ぶ。)に記録されているデータについて、メルケプストラム分析とピッチ抽出をし、HMMに基づく学習過程を経ることにより、音声合成辞書を構築する。
従来の音声合成辞書構築装置は、音声合成辞書を構築する際、メルケプストラム分析の結果生成されるメルケプストラム係数系列データを、特に加工等を施すことなく、そのままHMMに基づく学習に用いて、音声合成辞書を構築していた。
しかしながら、そのように構築された音声合成辞書を用いて音声を合成すると、音声データのスペクトル包絡の山谷の形状(ホルマント形状)が元の音声データのホルマント形状に比べて平滑化される。
その結果、従来の音声合成辞書構築装置により構築された音声合成辞書を用いた合成音声は、人間の自然な音声に比べて、明りょう性が損なわれたものとなっていた。
本発明は、上記実情に鑑みてなされたもので、明りょうな音声を合成することを可能とする音声合成辞書を構築するための音声合成辞書構築装置、音声合成辞書構築方法、及び、プログラムを提供することを目的とする。
上記目的を達成するために、この発明の第1の観点に係る音声合成辞書構築装置は、
音声データベースから音素ラベル列と該音素ラベル列に対応する録音音声データとを取得し、取得した録音音声データにメルケプストラム分析を施し録音音声メルケプストラム係数系列データを生成するとともに、生成された録音音声メルケプストラム係数系列データと取得した音素ラベル列とに基づいてHMM(Hidden Markov Model)学習により仮音声合成辞書を構築する仮構築部と、
前記仮音声合成辞書に依拠して合成音声データを生成し、生成された合成音声データにメルケプストラム分析を施し合成音声メルケプストラム係数系列データを生成する合成データ生成部と、
前記音素ラベル列に対応する前記録音音声データから前記仮構築部により生成された前記録音音声メルケプストラム係数系列データと、前記合成データ生成部により該音素ラベル列に対応づけられた前記合成音声データから前記合成データ生成部により生成された前記合成音声メルケプストラム係数系列データと、を比較した結果に基づき、前記録音音声メルケプストラム係数系列データを編集して編集済メルケプストラム係数系列データを生成する編集部と、
前記音素ラベル列と前記編集部により生成された編集済メルケプストラム係数系列データとに基づいてHMM学習により音声合成辞書を構築する再構築部と、
を備える。
元の明りょうな音声から生成された様々なデータと、いったん仮音声合成辞書を経て合成された不明りょうな音声、すなわち合成音声、から生成された様々なデータと、が比較される。かかる比較によれば、合成音声がかかる不明りょうな音声にならないようするためには、そもそも元の音声データにいかなる処理をあらかじめ施しておくべきであったのか、が、自ずと明らかになる。より具体的には、元の音声データのホルマントをどのように強調するのが適切であるかについての方針を効率的かつ容易に決定することができ、かかる強調を施した音声データを元に構築し直した音声合成辞書は、明りょうな合成音声の生成に資する。
前記音声合成辞書構築装置は、
複数の音声データと前記音声データ毎に生成されたモノフォンラベルと該モノフォンラベルの始点及び終点に相当する時刻を指す始点ポインタ及び終点ポインタと前記音声データ毎に生成されたトライフォンラベルとを受け取り、該音声データからピッチ系列データを生成し、該音声データから所定の次数までのメルケプストラム係数系列データを生成し、該モノフォンラベルと該始点ポインタと該終点ポインタと該トライフォンラベルと該ピッチ系列データと該メルケプストラム係数系列データとからHMM(Hidden Markov Model)学習により仮音声合成辞書を構築する第1学習部と、
前記仮音声合成辞書と前記トライフォンラベルとに基づいて複数の合成音声データを生成する合成部と、
前記合成音声データ毎に合成モノフォンラベルと該合成モノフォンラベルの始点及び終点に相当する時刻を指す合成始点ポインタ及び合成終点ポインタとを生成し、該合成音声データと前記所定の次数までの合成メルケプストラム係数系列データと該合成モノフォンラベルと該合成始点ポインタと該合成終点ポインタとから構成される合成音声関連データと、前記モノフォンラベルと前記始点ポインタと前記終点ポインタと前記メルケプストラム係数系列データとから構成される音声関連データと、を比較した結果に基づいて決定される編集方針に従い前記メルケプストラム係数系列データを編集して編集済メルケプストラム係数系列データを生成する編集部と、
前記モノフォンラベルと前記始点ポインタと前記終点ポインタと前記トライフォンラベルと前記ピッチ系列データと前記編集済メルケプストラム係数系列データとからHMM(Hidden Markov Model)学習により音声合成辞書を構築する第2学習部と、
を備えてもよい。
前記編集部は、例えば、編集対象である前記メルケプストラム係数系列データの次数毎に、全ての前記音声データから生成された全ての前記モノフォンラベルについて、該次数と該音声データと該モノフォンラベルとにより特定される前記メルケプストラム係数系列データについて該モノフォンラベルの開始時点から終了時点まで平均した結果を前記合成メルケプストラム係数系列データについて該モノフォンラベルに等しい前記合成モノフォンラベルの開始時点から終了時点まで平均した結果により除した値を求め、該値の最大値を該次数毎の強調係数とし、前記メルケプストラム係数系列データとその次数毎の前記強調係数とに基づいて前記編集済メルケプストラム係数系列データを生成してもよい。
強調係数をメルケプストラム係数系列データの次数に対応する個数だけ求めればよいため、音声データのホルマントを簡易に強調することができる。
前記編集部は、あるいは例えば、編集対象である前記メルケプストラム係数系列データの次数毎かつ該メルケプストラム係数系列データの生成元の音声データ毎に、該音声データから生成された全ての前記モノフォンラベルについて、該次数と該音声データと該モノフォンラベルとにより特定される前記メルケプストラム係数系列データについて該モノフォンラベルの開始時点から終了時点まで平均した結果を前記合成メルケプストラム係数系列データについて該モノフォンラベルに等しい前記合成モノフォンラベルの開始時点から終了時点まで平均した結果により除した値を求め、該値の最大値を該次数毎かつ該音声データ毎の強調係数とし、前記メルケプストラム係数系列データとその次数毎かつその生成元の前記音声データ毎の前記強調係数とに基づいて前記編集済メルケプストラム係数系列データを生成してもよい。
強調係数をメルケプストラム係数系列データの次数毎かつ音声データ毎に求めるため、音声データのホルマントをより適切に強調することができる。
前記編集部は、あるいは例えば、編集対象である前記メルケプストラム係数系列データの次数毎かつ該メルケプストラム係数系列データの生成元の音声データ毎かつ前記モノフォンラベル毎に、該次数と該音声データと該モノフォンラベルとにより特定される前記メルケプストラム係数系列データについて該モノフォンラベルの開始時点から終了時点まで平均した結果を前記合成メルケプストラム係数系列データについて該モノフォンラベルに等しい前記合成モノフォンラベルの開始時点から終了時点まで平均した結果により除した値を求め、該値を該次数毎かつ該音声データ毎かつ該モノフォンラベル毎の強調係数とし、前記メルケプストラム係数系列データとその次数毎かつその生成元の前記音声データ毎かつその前記モノフォンラベル毎の前記強調係数とに基づいて前記編集済メルケプストラム係数系列データを生成してもよい。
強調係数をメルケプストラム係数系列データの次数毎かつ音声データ毎かつ時間枠毎に求めるため、音声データのホルマントをさらに適切に強調することができる。
前記編集部は、原則としては、前記メルケプストラム係数系列データに前記強調係数を乗じたものを前記編集済メルケプストラム係数系列データとする。
上述のように強調係数を求めれば、多くの場合、その値は1よりも大きくなる。よって、これをメルケプストラム係数系列データに乗じれば、元の値よりも大きい値となり、概ね、ホルマントを強調する結果となる。したがって、原則的には、メルケプストラム係数系列データに該強調係数を乗じたものを編集済メルケプストラム係数系列データとするのが簡易かつ適切である。
もっとも、例えば、前記編集部は、前記強調係数が所定の閾値以上である場合には、前記メルケプストラム係数系列データに前記強調係数を乗じたものを前記編集済メルケプストラム係数系列データとし、前記強調係数が該所定の閾値よりも小さい場合には、前記メルケプストラム係数系列データをそのまま前記編集済メルケプストラム係数系列データとしてもよい。
上述の所定の閾値を1とすれば、編集済メルケプストラム係数系列データは元のメルケプストラム係数系列データより小さくなることはないから、この意味で、編集済メルケプストラム係数系列データが全体として確実にホルマントの強調に資するといえる。
あるいは、上述の所定の閾値を1よりも大きい値にすれば、上述の編集方針のもとでホルマントの強調に特に重要であると判定されたメルケプストラム係数系列データに限って大きくすることになる。そのほうがホルマント全体としてはむしろ山と谷との差を顕著にする場合もあるので、かかる場合には、上述の閾値としてそれに適した1より大きい値を採用するのが妥当である。
なお、上述の編集方針によっては、強調係数が1より小さい場合でも、ホルマントの谷の部分を強調することになるためにホルマント全体としては強調される結果となる場合がある。かかる場合には、個々の強調係数が1を超えるか否かに拘泥せずに、上述のとおり一律に全次数のメルケプストラム係数系列データに対する乗算により編集済メルケプストラム係数系列データを求めるのが適切である。同じく強調係数と1の大小関係にこだわらないという観点からすれば、上述の閾値を1よりも小さい値とすることも有意義である場合がある。
さらに、例えば、前記編集部は、前記メルケプストラム係数系列データの次数が所定の次数以上である場合には、前記メルケプストラム係数系列データに前記強調係数を乗じたものを前記編集済メルケプストラム係数系列データとし、前記メルケプストラム係数系列データの次数が該所定の次数よりも小さい場合には、前記メルケプストラム係数系列データをそのまま前記編集済メルケプストラム係数系列データとしてもよい。
高次のメルケプストラム係数系列データはホルマントの微細構造と強く関連しているので、かかる高次のメルケプストラム係数系列データだけを選択的に強調するほうが、音声データのホルマントをより適切に強調することができる場合があるためである。
上記目的を達成するために、この発明の第2の観点に係る音声合成辞書構築方法は、
音声データベースから音素ラベル列と該音素ラベル列に対応する録音音声データとを取得し、取得した録音音声データにメルケプストラム分析を施し録音音声メルケプストラム係数系列データを生成するとともに、生成された録音音声メルケプストラム係数系列データと取得した音素ラベル列とに基づいてHMM(Hidden Markov Model)学習により仮音声合成辞書を構築する仮構築ステップと、
前記仮音声合成辞書に依拠して合成音声データを生成し生成された合成音声データを前記仮音声合成辞書に依拠して前記音素ラベル列に対応づけるとともに、生成された合成音声データにメルケプストラム分析を施し合成音声メルケプストラム係数系列データを生成する合成データ生成ステップと、
前記音素ラベル列に対応する前記録音音声データから前記仮構築ステップにより生成された前記録音音声メルケプストラム係数系列データと、前記合成データ生成ステップにより該音素ラベル列に対応づけられた前記合成音声データから前記合成データ生成ステップにより生成された前記合成音声メルケプストラム係数系列データと、を比較した結果に基づき、前記録音音声メルケプストラム係数系列データを編集して編集済メルケプストラム係数系列データを生成する編集ステップと、
前記音素ラベル列と前記編集ステップにより生成された編集済メルケプストラム係数系列データとに基づいてHMM学習により音声合成辞書を構築する再構築ステップと、
から構成される。
上記目的を達成するために、この発明の第3の観点に係るコンピュータプログラムは、
コンピュータに、
音声データベースから音素ラベル列と該音素ラベル列に対応する録音音声データとを取得し、取得した録音音声データにメルケプストラム分析を施し録音音声メルケプストラム係数系列データを生成するとともに、生成された録音音声メルケプストラム係数系列データと取得した音素ラベル列とに基づいてHMM(Hidden Markov Model)学習により仮音声合成辞書を構築する仮構築ステップと、
前記仮音声合成辞書に依拠して合成音声データを生成し、生成された合成音声データにメルケプストラム分析を施し合成音声メルケプストラム係数系列データを生成する合成データ生成ステップと、
前記音素ラベル列に対応する前記録音音声データから前記仮構築ステップにより生成された前記録音メルケプストラム係数系列データと、前記合成データ生成ステップにより該音素ラベル列に対応づけられた前記合成音声データから前記合成データ生成ステップにより生成された前記合成音声メルケプストラム係数系列データと、を比較した結果に基づき、前記録音音声メルケプストラム係数系列データを編集して編集済メルケプストラム係数系列データを生成する編集ステップと、
前記音素ラベル列と前記編集ステップにより生成された編集済メルケプストラム係数系列データとに基づいてHMM学習により音声合成辞書を構築する再構築ステップと、
を実行させる。
本発明によれば、いったん仮音声合成辞書を構築し、該辞書に基づいて音声を合成し、該音声を元の音声と比較する。よって、明りょうさという観点からみた両音声の差を埋めるための、元の音声に施すべきホルマントの強調処理が、容易かつ的確に定まる。そして、そのように処理された音声を元に音声合成辞書を再構築するので、最終的には、明りょうな合成音声の生成に資する音声合成辞書を構築することができる。
以下、本発明の実施の形態に係る音声合成辞書構築装置について詳細に説明する。図2〜図5に、本発明の実施の形態に係る音声合成辞書構築装置の機能構成を示す。
本発明の実施の形態に係る音声合成辞書構築装置は、第1学習部111(図2)と、第1音声合成辞書223(図2)と、合成部113(図3)と、第2音声データベース構築部115(図4)と、第2音声データベース225(図4)と、第2学習部117(図5)と、から構成される装置である。
該音声合成辞書構築装置は、第1音声データベース221(図2)に基づいて第2音声合成辞書227(図5)を構築するための装置である。
第1音声データベース221(図2)は、よく知られた音声データベースである。ここには、所定の文章を読み上げた人の声を録音した音声データとモノフォンラベルデータとトライフォンラベルデータとが組になったものが、多数組、格納されている。カウンタmにより識別される個々の音声データ毎に、該音声データに対応したモノフォンラベルデータとトライフォンラベルデータとが存在する。この様子の理解を容易にするために、音声データベースに音声データのみが格納されている状態から、ラベルデータが作成され音声データベースの完成へと至る手順を、図1を参照しつつ説明する。
ラベルデータの作成及び音声データベースの完成のためには、例えば、後に図6を参照して説明するような、一般的なコンピュータ装置が用いられる。つまり、例えばリムーバブルハードディスクとして存在する音声データベースにアクセスするためのインターフェースを有し、該リムーバブルハードディスク内からデータをロードして所定の処理を行う機能や、該処理の結果を一時的に保持したり該リムーバブルハードディスク内に格納したりする機能等を有する装置が用いられる。
未完成の音声データベースには、NSp個の音声データSpm(1≦m≦NSp)が格納されているものとする。
なお、以下に説明する音声データからのピッチ抽出やメルケプストラム分析においては、音声データに一定長の時間枠が設定され、この時間枠が重複するように所定の周期(フレーム周期)で当該時間枠をずらしながら処理することで、それぞれの時点でのピッチ系列データやメルケプストラム係数系列データが算出されるが、記号fm(0≦fm≦Nfm[m])はこのフレーム周期が何番目であるかを示す番号を表すものである。
まず、上述のコンピュータ装置は、内部に音声データ識別用のカウンタmを設け、m=1に初期化設定する(図1のステップS411)。
該コンピュータ装置は、未完成の音声データベースから音声データSpmをロードし、該音声データから任意の既知の手法により、モノフォンラベルデータMLabDatam[ml](1≦ml≦MLSp[m])を生成する(ステップS413)。ここで、MLSp[m]は、音声データSpmに含まれるモノフォンラベルの数である。
モノフォンラベルデータMLabDatam[ml]は、モノフォンラベルMLabm[ml]と、音声データSpmの継続時間のうち該モノフォンラベルの始点及び終点に該当する時刻をフレーム周期の番号で指し示すポインタである開始フレームMFrameSm[ml]と、終了フレームMFrameEm[ml]と、から構成される。
モノフォンラベルデータMLabDatam[ml]は、音声データベースに格納される(ステップS415)。
続いて、該コンピュータ装置は、ロードされたままになっている音声データSpmから、任意の既知の手法により、トライフォンラベルデータTLabDatam[tl](1≦tl≦TLSp[m])を生成する(ステップS417)。ここで、トライフォンラベルデータとは、トライフォンラベルそのものであり、また、TLSp[m]は、音声データSpmに含まれるトライフォンラベルの数である。
トライフォンラベルデータTLabDatam[tl]は、音声データベースに格納される(ステップS419)。
続いて、mがNSpに達したか否かが判別される(ステップS421)。達していないと判別された場合(ステップS421;No)、mを1増加してから(ステップS423)、ステップS413に戻り、達したと判別された場合(ステップS421;Yes)、終了する。
終了すれば、音声データベースには、全ての音声データSpmについてのモノフォンラベルデータMLabDatam[ml]及びトライフォンラベルデータTLabDatam[tl]が格納されたことになる。このようにして、音声データベースは完成する。
本発明の実施の形態に係る音声合成辞書構築装置の第1学習部111(図2)は、上述のように完成された音声データベースである第1音声データベース221から、音声データSpm(1≦m≦NSp)と、モノフォンラベルデータMLabDatam[ml](1≦ml≦MLSp[m])と、トライフォンラベルデータTLabDatam[tl](1≦tl≦TLSp[m])と、を取得する。そして、第1学習部111は、合成音声を生成するために用いられる音声合成辞書である第1音声合成辞書223を、既知の手法である音素HMM学習により、構築する。第1音声合成辞書223に格納された内容を、第1学習結果と呼ぶことにする。
第1学習部111は、ピッチ抽出部311と、第1メルケプストラム分析部313と、第1音素HMM学習部315と、を備える。
ピッチ抽出部311は、第1音声データベース221から音声データSpm(1≦m≦NSp)を受け取り、任意の既知の手法により、m番目の音声データからピッチ系列データPitm[fm]を生成し、第1音素HMM学習部315及び後述の第2学習部117(図5)に引き渡す。
第1メルケプストラム分析部313(図2)は、第1音声データベース221から音声データSpm(1≦m≦NSp)を受け取り、該音声データに対して、既知の手法であるD次のメルケプストラム分析を施す。その結果、第1メルケプストラム分析部313は、m番目の音声データの全てのフレームfm(0≦fm≦Nfm[m])について、0次〜D次までのメルケプストラム係数系列データMCm d[fm](0≦d≦D)を生成し、第1音素学習部315及び後述の第2学習部117(図5)に引き渡す。
第1音素HMM学習部315(図2)は、第1音声データベース221からモノフォンラベルデータMLabDatam[ml](1≦m≦NSp、1≦ml≦MLSp[m])及びトライフォンラベルデータTLabDatam[tl](1≦m≦NSp、1≦tl≦TLSp[m])を受け取る。第1音素HMM学習部315はまた、ピッチ抽出部311からピッチ系列データPitm[fm](1≦m≦NSp、0≦fm≦Nfm[m])を受け取り、第1メルケプストラム分析部313からメルケプストラム係数系列データMCm d[fm](1≦m≦NSp、0≦d≦D、0≦fm≦Nfm[m])を受け取る。第1音素HMM学習部315は、受け取ったこれらのデータから、既知の手法である音素HMM学習により、学習結果である第1学習結果を生成し、第1音声合成辞書223に格納する。より正確には、空のデータベースに第1学習結果が格納されることにより、該空のデータベースが第1音声合成辞書223として完成される。
図3に示される合成部113は、音素HMM列生成部321と、時系列データ生成部323と、励起音源生成部325と、MLSA合成フィルタ部327と、を備える。
合成部113は、第1音声データベース221(図2)からトライフォンラベルデータTLabDatam[tl]を取得し、第1音声合成辞書223から第1学習結果を取得し、合成音声データSynSpm(1≦m≦NSp)を出力する。出力された合成音声データSynSpmは、後述の第2音声データベース構築部115(図4)に引き渡される。
トライフォンラベルデータTLabDatam[tl]が第1音声データベース221から取得されているから、合成部113は、いわば、第1音声データベース221に格納されている音声データと同じセリフを合成音声という態様にて発していることになる。したがって当然のことながら、個々の合成音声データは元の音声データと同じく符号mにより識別されるし、合成音声データの個数は元の音声データの個数と同じくNSpである。
ここでの合成音声は、図2に示したように、従来からよく知られた音素HMM学習の結果に基づいて生成されたものである。かかる合成音声は、全般的に、元の音声に比べて不明りょうなものとなることが知られている。
図3の音素HMM列生成部321は、図2の第1音声データベース221からトライフォンラベルデータTLabDatam[tl]を受け取り、図2の第1音声合成辞書223から第1学習結果を受け取る。そして、図3の音素HMM列生成部321は、受け取った第1学習結果に基づいて、既知の手法により、受け取ったトライフォンラベルデータTLabDatam[tl]から、ピッチに関する音素HMM系列データと、メルケプストラムに関する音素HMM系列データと、を生成し、それらを時系列データ生成部323に引き渡す。
時系列データ生成部323は、引き渡されたピッチに関する音素HMM系列データ及びメルケプストラムに関する音素HMM系列データから、既知の手法により、ピッチ時系列データ及びメルケプストラム時系列データを生成し、ピッチ時系列データは励起音源生成部325に、メルケプストラム時系列データはMLSA合成フィルタ部327に、それぞれ引き渡す。
励起音源生成部325は、引き渡されたピッチ時系列データから、既知の手法により、励起音源データを生成し、MLSA合成フィルタ部327に引き渡す。
MLSA合成フィルタ部327は、時系列データ生成部323から引き渡されたメルケプストラム時系列データに基づいて、既知の手法により、MLSA(Mel Log Spectrum Approximation)フィルタとしての自らの仕様を定義する。かかる定義が済んだMLSA合成フィルタ部327に、励起音源生成部325が生成した励起音源データが入力されると、合成音声データSynSpmが出力される。出力された合成音声データは、図4の第2音声データベース構築部115に送られる。
図4に示される第2音声データベース構築部115は、モノフォン用音素ラベルデータ生成部331と、第2音声データベース構築用データ生成部333と、を備える。
第2音声データベース構築部115は、既に図1を用いて説明した音声データベースの構築作業とほぼ同じことを行う。相違点は、ラベルデータの作成元となるデータとして音声データSpmの代わりに合成部113(図3)が生成した合成音声SynSpmを用いる点と、後の作業には不要なため必ずしもトライフォンラベルデータを生成する必要はない点と、である。
図4のモノフォン用音素ラベルデータ生成部331は、合成音声データSynSpmから、合成音声のモノフォンラベルデータである合成音声モノフォンラベルデータmLabDatam[ml](1≦ml≦MLSynSp[m]、ただし、MLSynSp[m]は合成音声SynSpmにおけるモノフォンラベルの数である。)を生成し、第2音声データベース構築用データ生成部333に引き渡す。
合成音声モノフォンラベルデータmLabDatam[ml]は、合成音声モノフォンラベルmLabm[ml]と、合成音声データSynSpmの継続時間のうち該合成音声モノフォンラベルの始点に該当する時刻を指し示すポインタである合成音声開始フレームmFrameSm[ml]と、終点に該当する時刻を指し示すポインタである合成音声終了フレームmFrameEm[ml]と、から構成される。
第2音声データベース構築用データ生成部333は、合成音声モノフォンラベルデータmLabDatam[ml]と、合成音声データSynSpmと、を音声データベースに格納できるようにまとめて、第2音声データベース構築用データとし、これを第2音声データベース225に格納する。より正確には、空のデータベースに第2音声データベース構築用データが格納されることにより、該空のデータベースが第2音声データベース225として完成される。
図5に示す第2学習部117は、第2メルケプストラム分析部341と、方針決定部343と、編集部345と、第2音素HMM学習部347と、を備える。
第2学習部117は、第1音声データベース221(図2)からトライフォンラベルデータTLabDatam[tl]及びモノフォンラベルデータMLabDatam[ml]を取得し、第1学習部111(図2)からピッチ系列データPitm[fm]及びメルケプストラム係数系列データMCm d[fm]を受け取り、第2音声データベース225(図4)から合成音声モノフォンラベルデータmLabDatam[ml]及び合成音声データSynSpmを受け取り、以下で説明するようにこれらのデータに基づいて音素HMM学習を行い、学習結果を第2学習結果として出力する。
図5の第2メルケプストラム分析部341は、図2の第1メルケプストラム分析部313と同じ機能を有し、ほぼ同様のことを行う。相違点は、入力されるデータが、音声データSpmではなく合成音声データSynSpmであることである。入力されるデータの相違ゆえ、第2メルケプストラム分析部341が生成するデータを、合成音声メルケプストラム係数系列データSynMCm d[fm]と呼ぶことにする。該データは、方針決定部343に引き渡される。
方針決定部343には、モノフォンラベルデータMLabDatam[ml]と、メルケプストラム係数系列データMCm d[fm]と、合成音声モノフォンラベルデータmLabDatam[ml]と、合成音声メルケプストラム係数系列データSynMCm d[fm]と、が集められる。前二者は人間の自然な発話から収集された音声データに基づいて生成されたものである一方、後二者はいったん音声合成辞書を経て発せられた合成音声データに基づいて生成されたものである。方針決定部343は、これら4種のデータを集めるので、これらを比較検討することができる。
そこで、方針決定部343は、かかる比較検討により、合成音声が元の音声に比べても明りょうさを損なわないようにするには、元の音声に対して、そもそもあらかじめいかなる処理を施しておくべきだったのかを検討する。具体的には、方針決定部343は、メルケプストラム係数系列データMCm d[fm]を、音素HMM学習の前にどのように編集しておくべきか、という編集方針を決定する。少なくとも定性的には、元の音声のホルマントが強調されるように、メルケプストラム係数系列データMCm d[fm]をあらかじめ編集しておけば、合成音声の明りょうさが向上する。
なお、編集方針の詳細については、後に例を挙げて説明する。
方針決定部343は、かかる比較検討の結果決定したメルケプストラム係数系列データMCm d[fm]の編集方針を、編集部345に伝達する。
編集部345は、伝達された編集方針に従って、メルケプストラム係数系列データMCm d[fm]を編集し、編集メルケプストラム係数系列データEdMCm d[fm]を生成し、第2音素HMM学習部347に引き渡す。
第2音素HMM学習部347は、図2の第1音素HMM学習部315と同じ機能を有しており、ほぼ同じ処理を行う。相違点は、メルケプストラム係数系列データMCm d[fm]の代わりに、編集メルケプストラム係数系列データEdMCm d[fm]を用いる点である。すなわち、第2音素HMM学習部347(図5)は、モノフォンラベルデータMLabDatam[ml]と、トライフォンラベルデータTLabDatam[tl]と、ピッチ系列データPitm[fm]と、編集メルケプストラム係数系列データEdMCm d[fm]と、を受け取り、受け取ったこれらのデータから、音素HMM学習により、学習結果である第2学習結果を生成し、第2音声合成辞書227に格納する。より正確には、空のデータベースに第2学習結果が格納されることにより、該空のデータベースが第2音声合成辞書227として完成される。
この第2音声合成辞書227こそが、本実施形態に係る音声合成辞書構築装置がその構築を目標とした音声合成辞書である。従来の技術により構築された第1音声合成辞書223(図2)に基づいて生成された合成音声に比べて、第2音声合成辞書227に基づいて生成された合成音声は、明りょうなものとなる。上述のように、比較部343(図5)において、合成音声が不明りょうな音声にならないようするために元の音声データに施すべき処理、すなわち、元の音声データのホルマントを強調するためのメルケプストラム係数系列データMCm d[fm]の編集方針、を決定し、該編集方針に従って編集部345により生成された編集メルケプストラム係数系列データEdMCm d[fm]を用いて、音素HMM学習が行われるためである。
ここまで図2〜図5を参照して説明してきた音声合成辞書構築装置は、物理的には、図6に示すような一般的なコンピュータ装置511により、構成される。
CPU(Central Processing Unit、中央演算装置)521、ROM(Read Only Memory)523、記憶部525、操作キー入力処理部533、及び、データ入出力インタフェース(以下、I/Fと書く。)555は、システムバス541で相互に接続されている。システムバス541は、命令やデータを転送するための伝送経路である。
CPU521は、カウンタ用レジスタや汎用レジスタ等の各種のレジスタ(図示せず)を内蔵しており、ROM523から読み出した動作プログラムに従って、処理対象である数値列等を適宜記憶部525から前記レジスタにロードし、ロードされた数値列に所定の演算を施し、その結果を記憶部525等に格納する。
ROM523は、音素HMM学習のための既知の動作プログラムの他に、特に、本実施形態においては、メルケプストラム係数系列データMCm d[fm]の編集方針を決定し編集メルケプストラム係数系列データEdMCm d[fm]を生成するための動作プログラムを記憶する。
記憶部525は、RAM(Random Access Memory)527や内蔵ハードディスク529から構成されて、音声データ、ラベルデータ、ピッチ系列データ、メルケプストラム係数系列データ、音素HMM等を、一時的に記憶する。これらのデータ等は、CPU521の内蔵レジスタから伝達されたり、後述のリムーバブルハードディスクから伝達されたりする。
また、特に、本実施形態においては、内蔵ハードディスク529は、第1音声合成辞書223(図2)及び第2音声データベース225(図4)として機能することが想定されている。かかる音声合成辞書及び音声データベースは、本実施形態に係る音声合成辞書構築装置にとっては、中間生成物に過ぎず、外部から与えられるものでもないし最終的に該装置から取り外して利用するものでもなく、一時的に記憶されればよいものだからである。
操作キー入力処理部533は、ユーザI/Fである操作キー531からの操作信号を受け付けて、操作信号に対応するキーコード信号をCPU521に入力する。CPU521は、入力されたキーコード信号に基づいて操作内容を決定する。
例えば、後述の、編集メルケプストラム係数系列データEdMCm d[fm]をメルケプストラム係数系列データMCm d[fm]から生成する手順においては、編集用係数の閾値や、編集対象となる次数は、原則としてはROM523にあらかじめ設定されているが、希望する場合にはユーザ自身が操作キー531を介して該設定を変更できるようにしてもよい。
データ入出力I/F555は、元データの入った第1リムーバブルハードディスク551等及び処理済データ記録用の第2リムーバブルハードディスク553等に接続するためのインタフェースである。該I/Fは、作業の効率化のため、かかる2個のリムーバブルハードディスクを同時に接続できるものとする。該I/Fは、第1及び第2リムーバブルハードディスク551及び553のいずれともデータの双方向通信ができる、一般的な仕様のものであり、その意味で双方向の白抜き矢印が図示されている。もっとも、第1リムーバブルハードディスク551との通信においては、主に該ディスクから元データの読み込みが行われる一方、第2リムーバブルハードディスク553との通信においては、主に該ディスクへ処理済データが書き込まれるため、情報の伝達は主に実線の矢印で表される向きになされる。
元データとしては、図2の第1音声データベース221に格納されたデータが想定され、処理済データとしては、図5の第2音声合成辞書227に格納された第2学習結果が想定される。つまり、第1リムーバブルハードディスク551は図2の第1音声データベース221に、第2リムーバブルハードディスク553は図5の第2音声合成辞書227に、それぞれ対応する。
ユーザは、本実施形態に係る音声合成辞書構築装置を用いて音声合成辞書を構築したいときには、与えられた第1音声データベース221すなわち第1リムーバブルハードディスク551と、空の第2リムーバブルハードディスク553と、を、それぞれデータ入出力I/F555の所定の位置に接続する。その後、ユーザは、操作キー531を操作する等して音声合成辞書構築装置を動作させる。すると、CPU521の制御下に、各種処理が行われる。
例えば、データ入出力I/F555を介して、コンピュータ装置511と、第1及び第2リムーバブルハードディスク551及び553と、の間で、データの入出力が行われる。かかる動作が終了したときには、第2リムーバブルハードディスク553には、図5に示した第2学習結果が書き込まれている。つまり、該ディスクは図5の第2音声合成辞書227として機能するのにあたり必要なデータが全て書き込まれた状態になっている。この後、ユーザが合成音声の発生を希望する場合には、該ディスクをユーザI/F555から取り外して、該ディスクを音声合成辞書として接続することができる音声合成装置に取り付け、該音声合成装置を動作させることにより、合成音声を発生させることができる。
図5に示すように、本実施形態に係る音声合成辞書構築装置の特徴は、方針決定部343においてメルケプストラム係数系列データMCm d[fm]の編集方針を決定するとともに、かかる編集方針に従い編集部345においてメルケプストラム係数系列データMCm d[fm]を編集して編集メルケプストラム係数系列データEdMCm d[fm]を生成することである。
編集部345が実行する編集処理は、音声データSpmのホルマントを強調することと等価な処理であれば、いかなる処理でもよい。ただし、特に本実施形態の場合には、かかる処理の指針を、方針決定部343に集められたモノフォンラベルデータMLabDatam[ml]と、メルケプストラム係数系列データMCm d[fm]と、合成音声モノフォンラベルデータmLabDatam[ml]と、合成音声メルケプストラム係数系列データSynMCm d[fm]と、に基づいて、効率的に、かつ的確に、そして簡易に、決定することが重要である。
(編集の具体例について)
以下に、かかる編集処理の典型的な手順について説明する。
なお、少なくとも定性的には、メルケプストラム係数系列データMCm d[fm]に1よりも大きい値(編集用係数)を乗じたものを編集メルケプストラム係数系列データEdMCm d[fm]とすれば、音声データSpmのホルマントは概ね強調される。そこで、以下の編集の具体例についての説明は、前記編集用係数の値の具体的な求め方の説明に重点が置かれたものになるとともに、原則的には、メルケプストラム係数系列データMCm d[fm]に該編集用係数を乗じることにより編集メルケプストラム係数系列データEdMCm d[fm]を求めることを念頭においたものになる。
ただし、編集用係数として1よりも小さい値を用いたり、ある条件を満たしたときのみ編集用係数による乗算を行うようにしたりする等、上述の原則的な編集処理を一部変形するほうが、音声データのホルマントの強調にかえって効果的である場合もあるので、かかる場合についても適宜説明する。
以下で説明する複数の手順のうち、どれを採用するのが最適であるかは、第1音声データベース221(図2)に収録されたサンプルデータの性質や、本実施形態に係る音声合成辞書構築装置として用いられるコンピュータ装置511(図6)のCPUの処理能力や、合成音声として発話させたい内容や、あるいは合成音声の聴き手の感じ方等、様々な要素によって左右されるので、一概には結論づけられない。いくつかの手順を試行してみて、与えられた各種条件下で最適な手順がどれであるかを決定するのが妥当である。
様々な手順が考え得るものの、これらの手順は、上述のように、図5の方針決定部343による編集方針の決定とそれに応じたメルケプストラム係数系列データの編集の実行という点では、一貫している。すなわち、以下に示す様々な手順は、かかる技術的思想の範囲内におけるバリエーションである。
図6に示したとおり、本実施形態に係る音声合成辞書構築装置として機能するコンピュータ装置511は、記憶装置として、CPU521の内蔵レジスタと、記憶部525の中のRAM527及び内蔵ハードディスク529と、を有する他にも、音声合成辞書構築中にはデータ入出力I/F555に接続され続けているため事実上前記コンピュータ装置511の一部ともいえる第1リムーバブルハードディスク551及び第2リムーバブルハードディスク553と、を有する。以下では、理解を容易にするために、各種演算が行われる場である前記レジスタ以外の記憶装置を総称して、単に記憶部525と呼ぶことにする。すると、記憶部525には、音声データSpmと、モノフォンラベルデータMLabDatam[ml]と、トライフォンラベルデータTLabDatam[tl]と、が初めから格納されていることになる。以下ではさらに、ピッチ系列データPitm[fm]、メルケプストラム係数系列データMCm d[fm]、合成音声モノフォンラベルデータmLabDatam[ml]、及び、合成音声メルケプストラム係数系列データSynMCm d[fm]、が既に求められ記憶部525に格納されているものとする。
(編集の具体例1)
図7、図8、及び、図13、に示すフローチャートを参照しつつ、編集の具体例1について説明する。
まず、図7のように、編集用係数MaxAmpMCdを算出する。そのためには、図6のCPU521の内部のカウンタレジスタにカウンタdの初期値として0が格納される(ステップS611)。このdは、メルケプストラム係数系列データの次数を識別するための変数である。
次に、CPU521は、内部の汎用レジスタに編集用係数MaxAmpMCdを格納する領域を設けるとともに、編集用係数MaxAmpMCdを十分小さい値、例えば0、に設定する(ステップS613)。
続いて、CPU521は、次数dを格納するカウンタレジスタとは別に、音声データ識別用カウンタmを格納するカウンタレジスタを用意し、m=1に初期化設定する(ステップS615)。
さらに、モノフォンラベルデータ識別用カウンタが、ml=1に初期化設定される(ステップS617)。
ここで、CPU521は、AveLabMCm d[ml]とAveLabSynMCm d[ml]とを算出する(ステップS619)。かかる算出の具体的な手順は、図13のフローチャートにより示されている。
CPU521は、記憶部525から、開始フレームMFrameSm[ml]、終了フレームMFrameEm[ml]、合成音声開始フレームmFrameSm[ml]、及び、合成音声終了フレームmFrameEm[ml]、をレジスタにロードする(図13のステップS911)。
CPU521はさらに、メルケプストラム係数系列データMCm d[MFrameSm[ml]]、MCm d[MFrameSm[ml]+1]、・・・、MCm d[MFrameEm[ml]-1]、MCm d[MFrameSm[ml]]と、合成音声メルケプストラム係数系列データSynMCm d[mFrameSm[ml]]、SynMCm d[mFrameSm[ml]+1]、・・・、SynMCm d[mFrameEm[ml]-1]、SynMCm d[mFrameEm[ml]]と、をロードする(ステップS913)。
CPU521は、AveLabMCm d[ml]とAveLabSynMCm d[ml]とを、次の式に従って算出する(ステップS915)。
AveLabMCm d[ml]
= (MCm d[MFrameSm[ml]]+MCm d[MFrameSm[ml]+1]+・・・
+MCm d[MFrameEm[ml]-1]+MCm d[MFrameEm[ml]])
÷(MFrameEm[ml]-MFrameSm[ml]+1)、
AveLabSynMCm d[ml]
= (SynMCm d[mFrameSm[ml]]+SynMCm d[mFrameSm[ml]+1]+・・・
+SynMCm d[mFrameEm[ml]-1]+SynMCm d[mFrameEm[ml]])
÷(mFrameEm[ml]-mFrameSm[ml]+1)
図7に戻って、ステップS621では、CPU521は、
TmpMaxAmpMCd=AveLabMCm d[ml]÷AveLabSynMCm d[ml]
を算出する。
次のステップS623では、CPU521は、TmpMaxAmpMCdがこの時点での編集用係数の値であるMaxAmpMCd以上であるか否かを判別する。TmpMaxAmpMCdがMaxAmpMCd以上であると判別された場合は(ステップS623;Yes)、MaxAmpMCd=TmpMaxAmpMCdとして編集用係数MaxAmpMCdを更新してから(ステップS625)、ステップS627に進む。一方、TmpMaxAmpMCdがMaxAmpMCdより小さいと判別された場合は、(ステップS623;No)、直接ステップS627に進む。
ステップS627では、CPU521は、mlがMLSp[m]に達したか否かを判別する。mlがMLSp[m]に達していないと判別された場合(ステップS627;No)、CPU521はカウンタレジスタ内のカウンタmlを1増加させてから(ステップS629)、ステップS619に戻る。一方、mlがMLSp[m]に達したと判別された場合(ステップS627;Yes)、ステップS631に進む。
ステップS631では、CPU521は、mがNSpに達したか否かを判別する。mがNSpに達していないと判別された場合(ステップS631;No)、CPU521はカウンタレジスタ内のカウンタmを1増加させてから(ステップS633)、ステップS617に戻る。一方、mがNSpに達したと判別された場合(ステップS631;Yes)、ステップS635に進む。
ステップS635では、CPU521は、次元dにおける最終的な編集用係数として、この時点での編集用係数MaxAmpMCdを記憶部525に格納し、ステップS637に進む。
ステップS637では、CPU521は、dがメルケプストラム解析の次数であるDに達したか否かを判別する。dがDに達していないと判別された場合(ステップS637;No)、CPU521はカウンタレジスタ内のカウンタdを1増加させてから(ステップS639)、ステップS613に戻る。一方、dがDに達したと判別された場合(ステップS637;Yes)、処理を終了する。このとき、全てのd(0≦d≦D)について、編集用係数MaxAmpMCdが記憶部525に格納されている。
編集用係数MaxAmpMCdは、多数の音声データと多数のモノフォンラベルデータについて仮に求めた編集用係数のうちから最大値を選択した結果求められたものであるので、ほとんどの場合、1よりも大きい値となる。よって、既に述べたように、原則的には、これをメルケプストラム係数系列データMCm d[fm]に乗じたものを編集メルケプストラム係数系列データEdMCm d[fm]とすることが適切である。
以下では、編集メルケプストラム係数系列データEdMCm d[fm]を算出する手順を、図8に示すフローチャートを参照しつつ、説明する。
次元識別用カウンタdが、d=0に設定され(ステップS651)、先ほど図7に示す手順により求められ記憶部525に格納されている編集用係数MaxAmpMCdがCPU521の内蔵レジスタにロードされる(ステップS653)。
音声データ識別用カウンタmがm=1に設定され(ステップS655)、フレーム識別用カウンタfmがfm=0に設定され(ステップS657)、記憶部525からメルケプストラム係数系列データMCm d[fm]がCPU521の内蔵レジスタにロードされる(ステップS659)。
CPU521は、このメルケプストラム係数系列データMCm d[fm]に、ステップS653においてロードした編集用係数MaxAmpMCdを乗じることにより、編集メルケプストラム係数系列データEdMCm d[fm]を算出し、記憶部525に格納する(ステップS661)。
続いて、次元dかつm番目の音声データに対応した全てのフレームについての処理が終わったか否か、すなわち、fmがNfm[m]に達したか否かが判別される(ステップS663)。fmがNfm[m]に達していないと判別された場合(ステップS663;No)、fmが1増加されてから(ステップS665)、ステップS659に戻る。一方、fmがNfm[m]に達したと判別された場合(ステップS663;Yes)、ステップS667に進む。
ステップS667では、mがNSpに達したか否かが判別される。mがNSpに達していないと判別された場合(ステップS667;No)、mが1増加されてから(ステップS669)、ステップS657に戻る。一方、mがNSpに達したと判別された場合(ステップS667;Yes)、ステップS671に進む。
ステップS671では、dがDに達したか否かが判別される。dがDに達していないと判別された場合(ステップS671;No)、dが1増加されてから(ステップS673)、ステップS653に戻る。一方、dがDに達したと判別された場合(ステップS671;Yes)、処理を終了する。これで、全てのd(0≦d≦D)、m(1≦m≦NSp)、fm(0≦fm≦Nfm[m])について、編集メルケプストラム係数系列データEdMCm d[fm]が記憶部525に格納された。
本具体例のように編集すれば、強調係数をメルケプストラム係数系列データの次数に対応する個数だけ求めればよいため、音声データのホルマントを簡易に強調することができる。
(編集の具体例2)
図9及び図10に示すフローチャートを参照しつつ、編集の具体例2について説明する。もっとも、編集の具体例1における手順と重複する手順については説明を概ね省略し、主に相違点について述べることにする。
図9に示された編集用係数の算出の手順(ステップS711〜ステップS739)は、図7に示した編集の具体例1の場合とほぼ同じである。主な相違点は、編集用係数を記憶部525に格納するステップが、具体例1においては、図7に太枠で示されたステップS635として、mに関するループ処理の外側に存在していたのに対して、本具体例においては、図9に太枠で示されたステップS731として、該ループの内側に存在している点である。
これは、本具体例における編集用係数MaxAmpMCm dが、添字としてdの他にmを有することからも明らかなように、具体例1と異なりd以外にmにも依存するためである。
このように、編集用係数をメルケプストラム係数系列データMCm d[fm]の次数d毎かつ音声データm毎に求めるため、音声データのホルマントをより適切に強調することができる。
なお、図9のステップ719は、図7のステップ619と同様に、詳しくは図13に示す手順により実行される。
図10に示された編集メルケプストラム係数系列データの算出の手順(ステップS751〜ステップS773)は、図8に示した編集の具体例1の場合とほぼ同じである。相違点は、編集用係数をロードするステップが、具体例1においては、図8に太枠で示されたステップS653として、mに関するループ処理の外側に存在していたのに対して、本具体例においては、図10に太枠で示されたステップS755として、該ループの内側に存在している点である。これは、上述した、編集用係数を記憶部に格納するステップの位置の相違(図7におけるステップS635の位置と図9におけるステップS731の位置の相違)に対応した相違である。
(編集の具体例3)
図11及び図12に示すフローチャートを参照しつつ、編集の具体例3について説明する。
まず、図11のように、編集用係数AmpMCm d[fm]を算出する。次元識別用カウンタdに関するループ処理(図11のステップS811、ステップS833、ステップS835)と、音声データ識別用カウンタmに関するループ処理(図11のステップS813、ステップS829、ステップS831)と、は、既に説明した具体例1(図7)及び具体例2(図9)におけるループ処理と同様であるので、ここでは説明を省略する。
一方、上述の具体例1(図7)及び具体例2(図9)の場合とは異なり、本具体例の場合は、モノフォンラベルデータ識別用カウンタmlについては、直接的にはループ処理を行わない。本具体例の場合は、その代わりに、フレーム識別用カウンタfmに関するループ処理を行う。
図11のステップS815では、フレーム識別用カウンタfmがfm=0に初期化設定される。
CPU521は、記憶部525を検索し、MFrameSm[ml']≦fm≦MFrameEm[ml']を満たすようなml'を見つける。そして、CPU521は、モノフォンラベルデータ識別用カウンタmlの値として、ml'を採用する(ステップS817)。つまり、CPU521は、fmの関数としてのmlを決定する。
続いて、具体例1及び具体例2の場合と同じく、図13のフローチャートに示された手順により、AveLabMCm d[ml]とAveLabSynMCm d[ml]が算出され(ステップS819)、さらに、前者を後者で除してAmpMCm d[fm]が算出される(ステップS821)。
本具体例の場合は、この時点で、編集用係数が記憶部525に格納される(太枠で示したステップS823)。具体例1の場合(図7において太枠で示したステップS635)とも具体例2の場合(図9において太枠で示したステップS731)とも異なり、編集用係数を格納するステップは、d及びmに関するループ処理のみならずfmに関するループ処理に対しても、ループの内側にある。
これは、本具体例における編集用係数AmpMCm d[fm]が、添字としてd及びmの他にfmを有することからも明らかなように、具体例1や具体例2と異なりdやm以外にfmにも依存するためである。
この後の手順は、図12のステップS851〜ステップS873に示すとおりである。図12は、図8及び図10とほぼ同じであるが、編集用係数をロードするステップ(太枠で示したステップS857)の位置が、図8のステップS653とも図10のステップS755とも異なる。
本具体例においては、編集用係数をメルケプストラム係数系列データMCm d[fm]の次数d毎かつ音声データm毎かつフレームfm毎に求めるため、音声データのホルマントをさらに適切に強調することができる。
なお、本具体例においては、具体例1及び具体例2とは異なり、編集用係数としての多数の候補から最大値を選択する手順は存在しない。そのぶんだけ、編集用係数が1以上の値にならない確率は、具体例1及び具体例2に比べて、高い。しかし、ホルマントの谷を強調するには編集用係数が1よりも小さい方が好都合であり、編集用係数の一部が1よりも小さい値であるためにホルマント全体としてはむしろ山と谷とが強調されたものとなる場合もある。本具体例の場合、具体例1及び具体例2に比べて、編集用係数がフレームfmにも依存するためにメルケプストラム係数系列データに対して一層きめ細かな編集が行われることが期待される。つまり、本具体例によれば、ホルマントの山は一層高く、ホルマントの谷は一層深く強調されることが期待される。
(変形例について)
以下では、編集メルケプストラム係数系列データを求めるにあたっての変形例を2例挙げる。いずれも、上述の具体例1〜具体例3に示した手順の前半のいずれかが完了して編集用係数が既に求まっていることを前提とする。上述の具体例1〜具体例3においては、求まった編集用係数を一律にメルケプストラム係数系列データMCm d[fm]に乗じて編集メルケプストラム係数系列データEdMCm d[fm]を算出する(図8のステップS661、図10のステップS761、図12のステップS861)こととしていたが、以下の変形例においては、所定の条件を満たしたときだけかかる乗算を行う点が特徴である。
以下に挙げる変形例において、原則としては、後述の閾値ThAmpMC及び閾次数demは、いずれも図6のROM523に格納されている、CPU521の動作のためのプログラムに、記述済であるとする。ただし、コンピュータ装置511の説明の際に述べたように、それらをユーザが操作キー531を介して変更することができるようにしてもよい。
以下に挙げる2例は、異なる観点に基づく変形例であるので、両者を併用することもできる。
(変形例1)
具体例1におけるステップS661(図8)、具体例2におけるステップS761(図10)、及び、具体例3におけるステップS861(図12)、は、本変形例においては、図14に示すフローチャートに示す手順に置換される。
まず、編集用係数(具体例1であればMaxAmpMCd、具体例2であればMaxAmpMCm d、具体例3であればAmpMCm d[fm])が、所定の閾値ThAmpMC以上であるか否かが判別される(ステップS931)。
編集用係数がThAmpMC以上であると判別された場合には(ステップS931;Yes)、上述の具体例1〜具体例3と変わるところはなく、CPU521は、メルケプストラム係数系列データMCm d[fm]に前記編集用係数を乗じることにより編集メルケプストラム係数系列データEdMCm d[fm]を算出し、記憶部525に格納する(ステップS933)。
一方、編集用係数がThAmpMCよりも小さいと判別された場合には(ステップS931;No)、CPU521は、編集メルケプストラム係数系列データEdMCm d[fm]の値としてメルケプストラム係数系列データMCm d[fm]の値をそのまま用いることにして、かかるEdMCm d[fm]を記憶部525に格納する(ステップS935)。
前記所定の閾値ThAmpMCを1とすれば、編集済メルケプストラム係数系列データEdMCm d[fm]は元のメルケプストラム係数系列データMCm d[fm]より小さくなることはないから、この意味で、編集済メルケプストラム係数系列データが全体として確実にホルマントの強調に資するといえる。
あるいは、前記所定の閾値ThAmpMCを1よりも大きい値にすれば、図5の方針決定部343により決定された編集方針のもとでホルマントの強調に特に重要であると判定されたメルケプストラム係数系列データに限って大きくすることになる。そのほうがホルマント全体としてはむしろ山と谷との差を顕著にする場合もあるので、かかる場合には、上述の閾値としてそれに適した1より大きい値を採用するのが妥当である。
なお、編集用係数が1より小さい場合でも、ホルマントの谷の部分を強調することになるためにホルマント全体としては強調される結果となる場合がある。かかる場合には、前記所定の閾値ThAmpMCを1より小さい値とすることも有意義である。
(変形例2)
具体例1におけるステップS661(図8)、具体例2におけるステップS761(図10)、及び、具体例3におけるステップS861(図12)、は、本変形例においては、図15に示すフローチャートに示す手順に置換される。
まず、メルケプストラム係数系列データMCm d[fm]の次数dが、所定の閾次数dem以上であるか否かが判別される(ステップS951)。
dがdem以上であると判別された場合には(ステップS951;Yes)、上述の具体例1〜具体例3と変わるところはなく、CPU521は、メルケプストラム係数系列データMCm d[fm]に編集用係数、すなわち具体例1の場合にはMaxAmpMCd、具体例2の場合にはMaxAmpMCm d、具体例3の場合にはAmpMCm d[fm]、を乗じることにより編集メルケプストラム係数系列データEdMCm d[fm]を算出し、記憶部525に格納する(ステップS953)。
一方、dがdemより小さいと判別された場合には(ステップS951;No)、CPU521は、編集メルケプストラム係数系列データEdMCm d[fm]の値としてメルケプストラム係数系列データMCm d[fm]の値をそのまま用いることにして、かかるEdMCm d[fm]を記憶部525に格納する(ステップS955)。
高次のメルケプストラム係数系列データはホルマントの微細構造と強く関連しているので、かかる高次のメルケプストラム係数系列データだけを選択的に強調する本変形例によれば、音声データのホルマントをより適切に強調することができることがある。
なお、この発明は、上述の実施形態や具体例や変形例に限定されず、さらなる種々の変形及び応用が可能である。上述のハードウェア構成やブロック構成、フローチャートは説明のための例示であって、本願発明の範囲を限定するものではない。
例えば、上述の実施形態に係る音声合成辞書構築装置を構成する各種機能ブロック(図2〜図5)のうち、第2音声データベース225(図4)は、合成音声モノフォンラベルデータmLabDatam[ml]と合成音声データSynSpmとの関係を明確にして理解を容易にするために示したに過ぎず、これを省略することも可能である。この場合、時系列データ生成部323(図3)が生成したメルケプストラム時系列データ(これは合成音声メルケプストラム係数系列データSynMCm d[fm]と同じものである。)を方針決定部343(図5)に直接に入力する。その際、各モノフォンラベルのメルケプストラム時系列データに相当する範囲を示す情報が共に送られるようにする必要がある。この場合、励起音源生成部325、MLSA合成フィルタ部327(図3)、第2音声データベース構築部115(図4)、及び第2メルケプストラム分析部341(図5)も、省略することができる。
一般的な音声データベースを構築するための、ラベルデータの作成の流れを示す図である。 本発明の実施の形態に係る音声合成辞書構築装置の一部をなす第1学習部等の機能構成図である。 本発明の実施の形態に係る音声合成辞書構築装置の一部をなす合成部の機能構成図である。 本発明の実施の形態に係る音声合成辞書構築装置の一部をなす第2音声データベース構築部等の機能構成図である。 本発明の実施の形態に係る音声合成辞書構築装置の一部をなす第2学習部等の機能構成図である。 本発明の実施の形態に係る音声合成辞書構築装置の物理的な構成を示す図である。 メルケプストラム係数系列データの編集の具体例1における処理の流れの前半を示す図である。 メルケプストラム係数系列データの編集の具体例1における処理の流れの後半を示す図である。 メルケプストラム係数系列データの編集の具体例2における処理の流れの前半を示す図である。 メルケプストラム係数系列データの編集の具体例2における処理の流れの後半を示す図である。 メルケプストラム係数系列データの編集の具体例3における処理の流れの前半を示す図である。 メルケプストラム係数系列データの編集の具体例3における処理の流れの後半を示す図である。 メルケプストラム係数系列データの平均値を求める処理の流れを示す図である。 メルケプストラム係数系列データの編集の変形例1における処理の流れを示す図である。 メルケプストラム係数系列データの編集の変形例2における処理の流れを示す図である。
符号の説明
111・・・第1学習部、113・・・合成部、115・・・第2音声データベース構築部、117・・・第2学習部、221・・・第1音声データベース、223・・・第1音声合成辞書、225・・・第2音声データベース、227・・・第2音声合成辞書、311・・・ピッチ抽出部、313・・・第1メルケプストラム分析部、315・・・第1音素HMM学習部、321・・・音素HMM列生成部、323・・・時系列データ生成部、325・・・励起音源生成部、327・・・MLSA合成フィルタ部、331・・・モノフォン用音素ラベルデータ生成部、333・・・第2音声データベース構築用データ生成部、341・・・第2メルケプストラム分析部、343・・・方針決定部、345・・・編集部、347・・・第2音素HMM学習部、511・・・コンピュータ装置、521・・・CPU、523・・・ROM、525・・・記憶部、527・・・RAM、529・・・内蔵ハードディスク、531・・・操作キー、533・・・操作キー入力処理部、541・・・システムバス、551・・・第1リムーバブルハードディスク、553・・・第2リムーバブルハードディスク、555・・・データ入出力I/F

Claims (10)

  1. 音声データベースから音素ラベル列と該音素ラベル列に対応する録音音声データとを取得し、取得した録音音声データにメルケプストラム分析を施し録音音声メルケプストラム係数系列データを生成するとともに、生成された録音音声メルケプストラム係数系列データと取得した音素ラベル列とに基づいてHMM(Hidden Markov Model)学習により仮音声合成辞書を構築する仮構築部と、
    前記仮音声合成辞書に依拠して合成音声データを生成し、生成された合成音声データにメルケプストラム分析を施し合成音声メルケプストラム係数系列データを生成する合成データ生成部と、
    前記音素ラベル列に対応する前記録音音声データから前記仮構築部により生成された前記録音音声メルケプストラム係数系列データと、前記合成データ生成部により該音素ラベル列に対応づけられた前記合成音声データから前記合成データ生成部により生成された前記合成音声メルケプストラム係数系列データと、を比較した結果に基づき、前記録音音声メルケプストラム係数系列データを編集して編集済メルケプストラム係数系列データを生成する編集部と、
    前記音素ラベル列と前記編集部により生成された編集済メルケプストラム係数系列データとに基づいてHMM学習により音声合成辞書を構築する再構築部と、
    を備える音声合成辞書構築装置。
  2. 複数の音声データと前記音声データ毎に生成されたモノフォンラベルと該モノフォンラベルの始点及び終点に相当する時刻を指す始点ポインタ及び終点ポインタと前記音声データ毎に生成されたトライフォンラベルとを受け取り、該音声データからピッチ系列データを生成し、該音声データから所定の次数までのメルケプストラム係数系列データを生成し、該モノフォンラベルと該始点ポインタと該終点ポインタと該トライフォンラベルと該ピッチ系列データと該メルケプストラム係数系列データとからHMM(Hidden Markov Model)学習により仮音声合成辞書を構築する第1学習部と、
    前記仮音声合成辞書と前記トライフォンラベルとに基づいて複数の合成音声データを生成する合成部と、
    前記合成音声データ毎に合成モノフォンラベルと該合成モノフォンラベルの始点及び終点に相当する時刻を指す合成始点ポインタ及び合成終点ポインタとを生成し、該合成音声データと前記所定の次数までの合成メルケプストラム係数系列データと該合成モノフォンラベルと該合成始点ポインタと該合成終点ポインタとから構成される合成音声関連データと、前記モノフォンラベルと前記始点ポインタと前記終点ポインタと前記メルケプストラム係数系列データとから構成される音声関連データと、を比較した結果に基づいて決定される編集方針に従い前記メルケプストラム係数系列データを編集して編集済メルケプストラム係数系列データを生成する編集部と、
    前記モノフォンラベルと前記始点ポインタと前記終点ポインタと前記トライフォンラベルと前記ピッチ系列データと前記編集済メルケプストラム係数系列データとからHMM(Hidden Markov Model)学習により音声合成辞書を構築する第2学習部と、
    を備える音声合成辞書構築装置。
  3. 前記編集部は、
    編集対象である前記メルケプストラム係数系列データの次数毎に、全ての前記音声データから生成された全ての前記モノフォンラベルについて、該次数と該音声データと該モノフォンラベルとにより特定される前記メルケプストラム係数系列データについて該モノフォンラベルの開始時点から終了時点まで平均した結果を前記合成メルケプストラム係数系列データについて該モノフォンラベルに等しい前記合成モノフォンラベルの開始時点から終了時点まで平均した結果により除した値を求め、該値の最大値を該次数毎の強調係数とし、前記メルケプストラム係数系列データとその次数毎の前記強調係数とに基づいて前記編集済メルケプストラム係数系列データを生成する、
    ことを特徴とする請求項2に記載の音声合成辞書構築装置。
  4. 前記編集部は、
    編集対象である前記メルケプストラム係数系列データの次数毎かつ該メルケプストラム係数系列データの生成元の音声データ毎に、該音声データから生成された全ての前記モノフォンラベルについて、該次数と該音声データと該モノフォンラベルとにより特定される前記メルケプストラム係数系列データについて該モノフォンラベルの開始時点から終了時点まで平均した結果を前記合成メルケプストラム係数系列データについて該モノフォンラベルに等しい前記合成モノフォンラベルの開始時点から終了時点まで平均した結果により除した値を求め、該値の最大値を該次数毎かつ該音声データ毎の強調係数とし、前記メルケプストラム係数系列データとその次数毎かつその生成元の前記音声データ毎の前記強調係数とに基づいて前記編集済メルケプストラム係数系列データを生成する、
    ことを特徴とする請求項2に記載の音声合成辞書構築装置。
  5. 前記編集部は、
    編集対象である前記メルケプストラム係数系列データの次数毎かつ該メルケプストラム係数系列データの生成元の音声データ毎かつ前記モノフォンラベル毎に、該次数と該音声データと該モノフォンラベルとにより特定される前記メルケプストラム係数系列データについて該モノフォンラベルの開始時点から終了時点まで平均した結果を前記合成メルケプストラム係数系列データについて該モノフォンラベルに等しい前記合成モノフォンラベルの開始時点から終了時点まで平均した結果により除した値を求め、該値を該次数毎かつ該音声データ毎かつ該モノフォンラベル毎の強調係数とし、前記メルケプストラム係数系列データとその次数毎かつその生成元の前記音声データ毎かつその前記モノフォンラベル毎の前記強調係数とに基づいて前記編集済メルケプストラム係数系列データを生成する、
    ことを特徴とする請求項2に記載の音声合成辞書構築装置。
  6. 前記編集部は、
    前記メルケプストラム係数系列データに前記強調係数を乗じたものを前記編集済メルケプストラム係数系列データとする、
    ことを特徴とする請求項3乃至5の何れか1項に記載の音声合成辞書構築装置。
  7. 前記編集部は、
    前記強調係数が所定の閾値以上である場合には、前記メルケプストラム係数系列データに前記強調係数を乗じたものを前記編集済メルケプストラム係数系列データとし、前記強調係数が該所定の閾値よりも小さい場合には、前記メルケプストラム係数系列データをそのまま前記編集済メルケプストラム係数系列データとする、
    ことを特徴とする請求項3乃至5の何れか1項に記載の音声合成辞書構築装置。
  8. 前記編集部は、
    前記メルケプストラム係数系列データの次数が所定の次数以上である場合には、前記メルケプストラム係数系列データに前記強調係数を乗じたものを前記編集済メルケプストラム係数系列データとし、前記メルケプストラム係数系列データの次数が該所定の次数よりも小さい場合には、前記メルケプストラム係数系列データをそのまま前記編集済メルケプストラム係数系列データとする、
    ことを特徴とする請求項3乃至5の何れか1項に記載の音声合成辞書構築装置。
  9. 音声データベースから音素ラベル列と該音素ラベル列に対応する録音音声データとを取得し、取得した録音音声データにメルケプストラム分析を施し録音音声メルケプストラム係数系列データを生成するとともに、生成された録音音声メルケプストラム係数系列データと取得した音素ラベル列とに基づいてHMM(Hidden Markov Model)学習により仮音声合成辞書を構築する仮構築ステップと、
    前記仮音声合成辞書に依拠して合成音声データを生成し生成された合成音声データを前記仮音声合成辞書に依拠して前記音素ラベル列に対応づけるとともに、生成された合成音声データにメルケプストラム分析を施し合成音声メルケプストラム係数系列データを生成する合成データ生成ステップと、
    前記音素ラベル列に対応する前記録音音声データから前記仮構築ステップにより生成された前記録音音声メルケプストラム係数系列データと、前記合成データ生成ステップにより該音素ラベル列に対応づけられた前記合成音声データから前記合成データ生成ステップにより生成された前記合成音声メルケプストラム係数系列データと、を比較した結果に基づき、前記録音音声メルケプストラム係数系列データを編集して編集済メルケプストラム係数系列データを生成する編集ステップと、
    前記音素ラベル列と前記編集ステップにより生成された編集済メルケプストラム係数系列データとに基づいてHMM学習により音声合成辞書を構築する再構築ステップと、
    から構成される音声合成辞書構築方法。
  10. コンピュータに、
    音声データベースから音素ラベル列と該音素ラベル列に対応する録音音声データとを取得し、取得した録音音声データにメルケプストラム分析を施し録音音声メルケプストラム係数系列データを生成するとともに、生成された録音音声メルケプストラム係数系列データと取得した音素ラベル列とに基づいてHMM(Hidden Markov Model)学習により仮音声合成辞書を構築する仮構築ステップと、
    前記仮音声合成辞書に依拠して合成音声データを生成し、生成された合成音声データにメルケプストラム分析を施し合成音声メルケプストラム係数系列データを生成する合成データ生成ステップと、
    前記音素ラベル列に対応する前記録音音声データから前記仮構築ステップにより生成された前記録音メルケプストラム係数系列データと、前記合成データ生成ステップにより該音素ラベル列に対応づけられた前記合成音声データから前記合成データ生成ステップにより生成された前記合成音声メルケプストラム係数系列データと、を比較した結果に基づき、前記録音音声メルケプストラム係数系列データを編集して編集済メルケプストラム係数系列データを生成する編集ステップと、
    前記音素ラベル列と前記編集ステップにより生成された編集済メルケプストラム係数系列データとに基づいてHMM学習により音声合成辞書を構築する再構築ステップと、
    を実行させるコンピュータプログラム。
JP2007010440A 2007-01-19 2007-01-19 音声合成辞書構築装置、音声合成辞書構築方法、及び、プログラム Active JP4826482B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007010440A JP4826482B2 (ja) 2007-01-19 2007-01-19 音声合成辞書構築装置、音声合成辞書構築方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007010440A JP4826482B2 (ja) 2007-01-19 2007-01-19 音声合成辞書構築装置、音声合成辞書構築方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JP2008176132A JP2008176132A (ja) 2008-07-31
JP4826482B2 true JP4826482B2 (ja) 2011-11-30

Family

ID=39703193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007010440A Active JP4826482B2 (ja) 2007-01-19 2007-01-19 音声合成辞書構築装置、音声合成辞書構築方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP4826482B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033927B (zh) * 2010-12-15 2012-09-05 哈尔滨工业大学 一种基于gpu实现的快速音频检索方法
JP5929909B2 (ja) * 2011-05-30 2016-06-08 日本電気株式会社 韻律生成装置、音声合成装置、韻律生成方法および韻律生成プログラム
JP6006678B2 (ja) * 2013-05-20 2016-10-12 日本電信電話株式会社 音声モデル生成装置、方法、プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61286900A (ja) * 1985-06-14 1986-12-17 ソニー株式会社 信号処理装置
JP2002539483A (ja) * 1999-03-08 2002-11-19 シーメンス アクチエンゲゼルシヤフト 音声信号の特徴記述子を求める方法
JP2002268660A (ja) * 2001-03-13 2002-09-20 Japan Science & Technology Corp テキスト音声合成方法および装置

Also Published As

Publication number Publication date
JP2008176132A (ja) 2008-07-31

Similar Documents

Publication Publication Date Title
CN111566656B (zh) 利用多种语言文本语音合成模型的语音翻译方法及系统
CN105788589B (zh) 一种音频数据的处理方法及装置
JP6004358B1 (ja) 音声合成装置および音声合成方法
JP2003295882A (ja) 音声合成用テキスト構造、音声合成方法、音声合成装置及びそのコンピュータ・プログラム
JP2007249212A (ja) テキスト音声合成のための方法、コンピュータプログラム及びプロセッサ
MXPA01006594A (es) Metodo y sistema para la preseleccion de unidades adecuadas para habla por concatenacion.
CN1813285B (zh) 语音合成设备和方法
JP5753769B2 (ja) 音声データ検索システムおよびそのためのプログラム
JP4826482B2 (ja) 音声合成辞書構築装置、音声合成辞書構築方法、及び、プログラム
JP4620518B2 (ja) 音声データベース製造装置、音片復元装置、音声データベース製造方法、音片復元方法及びプログラム
Shi et al. Muskits: an end-to-end music processing toolkit for singing voice synthesis
EP2507792B1 (en) Vocabulary dictionary recompile for in-vehicle audio system
JP4287785B2 (ja) 音声合成装置、音声合成方法及びプログラム
JP2017097332A (ja) 音声合成装置および音声合成方法
CN1816846B (zh) 用于选择话音数据的设备和方法
WO2008056604A1 (fr) Système de collecte de son, procédé de collecte de son et programme de traitement de collecte
KR102277205B1 (ko) 오디오 변환 장치 및 방법
JP4826493B2 (ja) 音声合成辞書構築装置、音声合成辞書構築方法、及び、プログラム
CN113345454A (zh) 语音转换模型的训练、应用方法、装置、设备及存储介质
JP2005018036A (ja) 音声合成装置、音声合成方法及びプログラム
EP1589524B1 (en) Method and device for speech synthesis
JP5155836B2 (ja) 収録テキスト生成装置、その方法、そのプログラム
EP1640968A1 (en) Method and device for speech synthesis
JP2001042883A (ja) テキスト音声合成装置
JP4620517B2 (ja) 音声データベース製造装置、音片復元装置、音声データベース製造方法、音片復元方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110802

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110816

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110829

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140922

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4826482

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150