(57)【要約】【課題】明りょうな合成音声を生成することを可能とする音声合成辞書を構築する。【解決手段】音声合成辞書構築装置は、音声データベースを用いて既知の処理である音素ＨＭＭ学習を行うことにより、いったん、仮の音声合成辞書を作る。続いて、該装置は、該仮の音声合成辞書を経由して生成された合成音声と、前記音声データベースに収録されている音声と、を分析し比較した結果に基づいて、該音声のホルマントを強調するためのメルケプストラム係数系列データの編集方法を決定する。最終的に、該装置は、かかる編集方法が採用された編集過程をあらかじめ織り込んだ上で、音素ＨＭＭ学習をやり直すことにより、音声合成辞書を構築する。【選択図】図５
2008176132.tif 000002
【特許請求の範囲】
【請求項１】
音声データベースから音素ラベル列と該音素ラベル列に対応する録音音声データとを取得し、取得した録音音声データにメルケプストラム分析を施し録音音声メルケプストラム係数系列データを生成するとともに、生成された録音音声メルケプストラム係数系列データと取得した音素ラベル列とに基づいてＨＭＭ（Hidden Markov Model）学習により仮音声合成辞書を構築する仮構築部と、
前記仮音声合成辞書に依拠して合成音声データを生成し、生成された合成音声データにメルケプストラム分析を施し合成音声メルケプストラム係数系列データを生成する合成データ生成部と、
前記音素ラベル列に対応する前記録音音声データから前記仮構築部により生成された前記録音音声メルケプストラム係数系列データと、前記合成データ生成部により該音素ラベル列に対応づけられた前記合成音声データから前記合成データ生成部により生成された前記合成音声メルケプストラム係数系列データと、を比較した結果に基づき、前記録音音声メルケプストラム係数系列データを編集して編集済メルケプストラム係数系列データを生成する編集部と、
前記音素ラベル列と前記編集部により生成された編集済メルケプストラム係数系列データとに基づいてＨＭＭ学習により音声合成辞書を構築する再構築部と、
を備える音声合成辞書構築装置。
【請求項２】
複数の音声データと前記音声データ毎に生成されたモノフォンラベルと該モノフォンラベルの始点及び終点に相当する時刻を指す始点ポインタ及び終点ポインタと前記音声データ毎に生成されたトライフォンラベルとを受け取り、該音声データからピッチ系列データを生成し、該音声データから所定の次数までのメルケプストラム係数系列データを生成し、該モノフォンラベルと該始点ポインタと該終点ポインタと該トライフォンラベルと該ピッチ系列データと該メルケプストラム係数系列データとからＨＭＭ（Hidden Markov Model）学習により仮音声合成辞書を構築する第１学習部と、
前記仮音声合成辞書と前記トライフォンラベルとに基づいて複数の合成音声データを生成する合成部と、
前記合成音声データ毎に合成モノフォンラベルと該合成モノフォンラベルの始点及び終点に相当する時刻を指す合成始点ポインタ及び合成終点ポインタとを生成し、該合成音声データと前記所定の次数までの合成メルケプストラム係数系列データと該合成モノフォンラベルと該合成始点ポインタと該合成終点ポインタとから構成される合成音声関連データと、前記モノフォンラベルと前記始点ポインタと前記終点ポインタと前記メルケプストラム係数系列データとから構成される音声関連データと、を比較した結果に基づいて決定される編集方針に従い前記メルケプストラム係数系列データを編集して編集済メルケプストラム係数系列データを生成する編集部と、
前記モノフォンラベルと前記始点ポインタと前記終点ポインタと前記トライフォンラベルと前記ピッチ系列データと前記編集済メルケプストラム係数系列データとからＨＭＭ（Hidden Markov Model）学習により音声合成辞書を構築する第２学習部と、
を備える音声合成辞書構築装置。
【請求項３】
前記編集部は、
編集対象である前記メルケプストラム係数系列データの次数毎に、全ての前記音声データから生成された全ての前記モノフォンラベルについて、該次数と該音声データと該モノフォンラベルとにより特定される前記メルケプストラム係数系列データについて該モノフォンラベルの開始時点から終了時点まで平均した結果を前記合成メルケプストラム係数系列データについて該モノフォンラベルに等しい前記合成モノフォンラベルの開始時点から終了時点まで平均した結果により除した値を求め、該値の最大値を該次数毎の強調係数とし、前記メルケプストラム係数系列データとその次数毎の前記強調係数とに基づいて前記編集済メルケプストラム係数系列データを生成する、
ことを特徴とする請求項２に記載の音声合成辞書構築装置。
【請求項４】
前記編集部は、
編集対象である前記メルケプストラム係数系列データの次数毎かつ該メルケプストラム係数系列データの生成元の音声データ毎に、該音声データから生成された全ての前記モノフォンラベルについて、該次数と該音声データと該モノフォンラベルとにより特定される前記メルケプストラム係数系列データについて該モノフォンラベルの開始時点から終了時点まで平均した結果を前記合成メルケプストラム係数系列データについて該モノフォンラベルに等しい前記合成モノフォンラベルの開始時点から終了時点まで平均した結果により除した値を求め、該値の最大値を該次数毎かつ該音声データ毎の強調係数とし、前記メルケプストラム係数系列データとその次数毎かつその生成元の前記音声データ毎の前記強調係数とに基づいて前記編集済メルケプストラム係数系列データを生成する、
ことを特徴とする請求項２に記載の音声合成辞書構築装置。
【請求項５】
前記編集部は、
編集対象である前記メルケプストラム係数系列データの次数毎かつ該メルケプストラム係数系列データの生成元の音声データ毎かつ前記モノフォンラベル毎に、該次数と該音声データと該モノフォンラベルとにより特定される前記メルケプストラム係数系列データについて該モノフォンラベルの開始時点から終了時点まで平均した結果を前記合成メルケプストラム係数系列データについて該モノフォンラベルに等しい前記合成モノフォンラベルの開始時点から終了時点まで平均した結果により除した値を求め、該値を該次数毎かつ該音声データ毎かつ該モノフォンラベル毎の強調係数とし、前記メルケプストラム係数系列データとその次数毎かつその生成元の前記音声データ毎かつその前記モノフォンラベル毎の前記強調係数とに基づいて前記編集済メルケプストラム係数系列データを生成する、
ことを特徴とする請求項２に記載の音声合成辞書構築装置。
【請求項６】
前記編集部は、
前記メルケプストラム係数系列データに前記強調係数を乗じたものを前記編集済メルケプストラム係数系列データとする、
ことを特徴とする請求項３乃至５の何れか１項に記載の音声合成辞書構築装置。
【請求項７】
前記編集部は、
前記強調係数が所定の閾値以上である場合には、前記メルケプストラム係数系列データに前記強調係数を乗じたものを前記編集済メルケプストラム係数系列データとし、前記強調係数が該所定の閾値よりも小さい場合には、前記メルケプストラム係数系列データをそのまま前記編集済メルケプストラム係数系列データとする、
ことを特徴とする請求項３乃至５の何れか１項に記載の音声合成辞書構築装置。
【請求項８】
前記編集部は、
前記メルケプストラム係数系列データの次数が所定の次数以上である場合には、前記メルケプストラム係数系列データに前記強調係数を乗じたものを前記編集済メルケプストラム係数系列データとし、前記メルケプストラム係数系列データの次数が該所定の次数よりも小さい場合には、前記メルケプストラム係数系列データをそのまま前記編集済メルケプストラム係数系列データとする、
ことを特徴とする請求項３乃至５の何れか１項に記載の音声合成辞書構築装置。
【請求項９】
音声データベースから音素ラベル列と該音素ラベル列に対応する録音音声データとを取得し、取得した録音音声データにメルケプストラム分析を施し録音音声メルケプストラム係数系列データを生成するとともに、生成された録音音声メルケプストラム係数系列データと取得した音素ラベル列とに基づいてＨＭＭ（Hidden Markov Model）学習により仮音声合成辞書を構築する仮構築ステップと、
前記仮音声合成辞書に依拠して合成音声データを生成し生成された合成音声データを前記仮音声合成辞書に依拠して前記音素ラベル列に対応づけるとともに、生成された合成音声データにメルケプストラム分析を施し合成音声メルケプストラム係数系列データを生成する合成データ生成ステップと、
前記音素ラベル列に対応する前記録音音声データから前記仮構築ステップにより生成された前記録音音声メルケプストラム係数系列データと、前記合成データ生成ステップにより該音素ラベル列に対応づけられた前記合成音声データから前記合成データ生成ステップにより生成された前記合成音声メルケプストラム係数系列データと、を比較した結果に基づき、前記録音音声メルケプストラム係数系列データを編集して編集済メルケプストラム係数系列データを生成する編集ステップと、
前記音素ラベル列と前記編集ステップにより生成された編集済メルケプストラム係数系列データとに基づいてＨＭＭ学習により音声合成辞書を構築する再構築ステップと、
から構成される音声合成辞書構築方法。
【請求項１０】
コンピュータに、
音声データベースから音素ラベル列と該音素ラベル列に対応する録音音声データとを取得し、取得した録音音声データにメルケプストラム分析を施し録音音声メルケプストラム係数系列データを生成するとともに、生成された録音音声メルケプストラム係数系列データと取得した音素ラベル列とに基づいてＨＭＭ（Hidden Markov Model）学習により仮音声合成辞書を構築する仮構築ステップと、
前記仮音声合成辞書に依拠して合成音声データを生成し、生成された合成音声データにメルケプストラム分析を施し合成音声メルケプストラム係数系列データを生成する合成データ生成ステップと、
前記音素ラベル列に対応する前記録音音声データから前記仮構築ステップにより生成された前記録音メルケプストラム係数系列データと、前記合成データ生成ステップにより該音素ラベル列に対応づけられた前記合成音声データから前記合成データ生成ステップにより生成された前記合成音声メルケプストラム係数系列データと、を比較した結果に基づき、前記録音音声メルケプストラム係数系列データを編集して編集済メルケプストラム係数系列データを生成する編集ステップと、
前記音素ラベル列と前記編集ステップにより生成された編集済メルケプストラム係数系列データとに基づいてＨＭＭ学習により音声合成辞書を構築する再構築ステップと、
を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声合成等に用いる音声合成辞書を構築する、音声合成辞書構築装置、音声合成辞書構築方法、及び、プログラムに関する。
【背景技術】
【０００２】
音声認識及び音声合成技術として隠れマルコフモデル（Hidden Markov Model。以下、ＨＭＭと呼ぶ。）に基づいた音声認識技術及び音声合成技術が、広く利用されている。
【０００３】
ＨＭＭに基づいた音声認識技術及び音声合成技術は、例えば、特許文献１に開示されている。
【０００４】
【特許文献１】特開２００２−２６８６６０号公報
【０００５】
ＨＭＭに基づいた音声合成においては、音素ラベルとスペクトルパラメータデータ列等の対応関係を記録した音声合成辞書が必要になる。
【０００６】
音声合成辞書は、音声合成辞書構築装置により構築される。音声合成辞書構築装置は、通例、音声データと音素モノフォンラベルデータと音素トライフォンラベルデータとの組から構成されているデータベース（以下、音声データベースと呼ぶ。）に記録されているデータについて、メルケプストラム分析とピッチ抽出をし、ＨＭＭに基づく学習過程を経ることにより、音声合成辞書を構築する。
【０００７】
従来の音声合成辞書構築装置は、音声合成辞書を構築する際、メルケプストラム分析の結果生成されるメルケプストラム係数系列データを、特に加工等を施すことなく、そのままＨＭＭに基づく学習に用いて、音声合成辞書を構築していた。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、そのように構築された音声合成辞書を用いて音声を合成すると、音声データのスペクトル包絡の山谷の形状（ホルマント形状）が元の音声データのホルマント形状に比べて平滑化される。
【０００９】
その結果、従来の音声合成辞書構築装置により構築された音声合成辞書を用いた合成音声は、人間の自然な音声に比べて、明りょう性が損なわれたものとなっていた。
【００１０】
本発明は、上記実情に鑑みてなされたもので、明りょうな音声を合成することを可能とする音声合成辞書を構築するための音声合成辞書構築装置、音声合成辞書構築方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、この発明の第１の観点に係る音声合成辞書構築装置は、
音声データベースから音素ラベル列と該音素ラベル列に対応する録音音声データとを取得し、取得した録音音声データにメルケプストラム分析を施し録音音声メルケプストラム係数系列データを生成するとともに、生成された録音音声メルケプストラム係数系列データと取得した音素ラベル列とに基づいてＨＭＭ（Hidden Markov Model）学習により仮音声合成辞書を構築する仮構築部と、
前記仮音声合成辞書に依拠して合成音声データを生成し、生成された合成音声データにメルケプストラム分析を施し合成音声メルケプストラム係数系列データを生成する合成データ生成部と、
前記音素ラベル列に対応する前記録音音声データから前記仮構築部により生成された前記録音音声メルケプストラム係数系列データと、前記合成データ生成部により該音素ラベル列に対応づけられた前記合成音声データから前記合成データ生成部により生成された前記合成音声メルケプストラム係数系列データと、を比較した結果に基づき、前記録音音声メルケプストラム係数系列データを編集して編集済メルケプストラム係数系列データを生成する編集部と、
前記音素ラベル列と前記編集部により生成された編集済メルケプストラム係数系列データとに基づいてＨＭＭ学習により音声合成辞書を構築する再構築部と、
を備える。
【００１２】
元の明りょうな音声から生成された様々なデータと、いったん仮音声合成辞書を経て合成された不明りょうな音声、すなわち合成音声、から生成された様々なデータと、が比較される。かかる比較によれば、合成音声がかかる不明りょうな音声にならないようするためには、そもそも元の音声データにいかなる処理をあらかじめ施しておくべきであったのか、が、自ずと明らかになる。より具体的には、元の音声データのホルマントをどのように強調するのが適切であるかについての方針を効率的かつ容易に決定することができ、かかる強調を施した音声データを元に構築し直した音声合成辞書は、明りょうな合成音声の生成に資する。
【００１３】
前記音声合成辞書構築装置は、
複数の音声データと前記音声データ毎に生成されたモノフォンラベルと該モノフォンラベルの始点及び終点に相当する時刻を指す始点ポインタ及び終点ポインタと前記音声データ毎に生成されたトライフォンラベルとを受け取り、該音声データからピッチ系列データを生成し、該音声データから所定の次数までのメルケプストラム係数系列データを生成し、該モノフォンラベルと該始点ポインタと該終点ポインタと該トライフォンラベルと該ピッチ系列データと該メルケプストラム係数系列データとからＨＭＭ（Hidden Markov Model）学習により仮音声合成辞書を構築する第１学習部と、
前記仮音声合成辞書と前記トライフォンラベルとに基づいて複数の合成音声データを生成する合成部と、
前記合成音声データ毎に合成モノフォンラベルと該合成モノフォンラベルの始点及び終点に相当する時刻を指す合成始点ポインタ及び合成終点ポインタとを生成し、該合成音声データと前記所定の次数までの合成メルケプストラム係数系列データと該合成モノフォンラベルと該合成始点ポインタと該合成終点ポインタとから構成される合成音声関連データと、前記モノフォンラベルと前記始点ポインタと前記終点ポインタと前記メルケプストラム係数系列データとから構成される音声関連データと、を比較した結果に基づいて決定される編集方針に従い前記メルケプストラム係数系列データを編集して編集済メルケプストラム係数系列データを生成する編集部と、
前記モノフォンラベルと前記始点ポインタと前記終点ポインタと前記トライフォンラベルと前記ピッチ系列データと前記編集済メルケプストラム係数系列データとからＨＭＭ（Hidden Markov Model）学習により音声合成辞書を構築する第２学習部と、
を備えてもよい。
【００１４】
前記編集部は、例えば、編集対象である前記メルケプストラム係数系列データの次数毎に、全ての前記音声データから生成された全ての前記モノフォンラベルについて、該次数と該音声データと該モノフォンラベルとにより特定される前記メルケプストラム係数系列データについて該モノフォンラベルの開始時点から終了時点まで平均した結果を前記合成メルケプストラム係数系列データについて該モノフォンラベルに等しい前記合成モノフォンラベルの開始時点から終了時点まで平均した結果により除した値を求め、該値の最大値を該次数毎の強調係数とし、前記メルケプストラム係数系列データとその次数毎の前記強調係数とに基づいて前記編集済メルケプストラム係数系列データを生成してもよい。
【００１５】
強調係数をメルケプストラム係数系列データの次数に対応する個数だけ求めればよいため、音声データのホルマントを簡易に強調することができる。
【００１６】
前記編集部は、あるいは例えば、編集対象である前記メルケプストラム係数系列データの次数毎かつ該メルケプストラム係数系列データの生成元の音声データ毎に、該音声データから生成された全ての前記モノフォンラベルについて、該次数と該音声データと該モノフォンラベルとにより特定される前記メルケプストラム係数系列データについて該モノフォンラベルの開始時点から終了時点まで平均した結果を前記合成メルケプストラム係数系列データについて該モノフォンラベルに等しい前記合成モノフォンラベルの開始時点から終了時点まで平均した結果により除した値を求め、該値の最大値を該次数毎かつ該音声データ毎の強調係数とし、前記メルケプストラム係数系列データとその次数毎かつその生成元の前記音声データ毎の前記強調係数とに基づいて前記編集済メルケプストラム係数系列データを生成してもよい。
【００１７】
強調係数をメルケプストラム係数系列データの次数毎かつ音声データ毎に求めるため、音声データのホルマントをより適切に強調することができる。
【００１８】
前記編集部は、あるいは例えば、編集対象である前記メルケプストラム係数系列データの次数毎かつ該メルケプストラム係数系列データの生成元の音声データ毎かつ前記モノフォンラベル毎に、該次数と該音声データと該モノフォンラベルとにより特定される前記メルケプストラム係数系列データについて該モノフォンラベルの開始時点から終了時点まで平均した結果を前記合成メルケプストラム係数系列データについて該モノフォンラベルに等しい前記合成モノフォンラベルの開始時点から終了時点まで平均した結果により除した値を求め、該値を該次数毎かつ該音声データ毎かつ該モノフォンラベル毎の強調係数とし、前記メルケプストラム係数系列データとその次数毎かつその生成元の前記音声データ毎かつその前記モノフォンラベル毎の前記強調係数とに基づいて前記編集済メルケプストラム係数系列データを生成してもよい。
【００１９】
強調係数をメルケプストラム係数系列データの次数毎かつ音声データ毎かつ時間枠毎に求めるため、音声データのホルマントをさらに適切に強調することができる。
【００２０】
前記編集部は、原則としては、前記メルケプストラム係数系列データに前記強調係数を乗じたものを前記編集済メルケプストラム係数系列データとする。
【００２１】
上述のように強調係数を求めれば、多くの場合、その値は１よりも大きくなる。よって、これをメルケプストラム係数系列データに乗じれば、元の値よりも大きい値となり、概ね、ホルマントを強調する結果となる。したがって、原則的には、メルケプストラム係数系列データに該強調係数を乗じたものを編集済メルケプストラム係数系列データとするのが簡易かつ適切である。
【００２２】
もっとも、例えば、前記編集部は、前記強調係数が所定の閾値以上である場合には、前記メルケプストラム係数系列データに前記強調係数を乗じたものを前記編集済メルケプストラム係数系列データとし、前記強調係数が該所定の閾値よりも小さい場合には、前記メルケプストラム係数系列データをそのまま前記編集済メルケプストラム係数系列データとしてもよい。
【００２３】
上述の所定の閾値を１とすれば、編集済メルケプストラム係数系列データは元のメルケプストラム係数系列データより小さくなることはないから、この意味で、編集済メルケプストラム係数系列データが全体として確実にホルマントの強調に資するといえる。
【００２４】
あるいは、上述の所定の閾値を１よりも大きい値にすれば、上述の編集方針のもとでホルマントの強調に特に重要であると判定されたメルケプストラム係数系列データに限って大きくすることになる。そのほうがホルマント全体としてはむしろ山と谷との差を顕著にする場合もあるので、かかる場合には、上述の閾値としてそれに適した１より大きい値を採用するのが妥当である。
【００２５】
なお、上述の編集方針によっては、強調係数が１より小さい場合でも、ホルマントの谷の部分を強調することになるためにホルマント全体としては強調される結果となる場合がある。かかる場合には、個々の強調係数が１を超えるか否かに拘泥せずに、上述のとおり一律に全次数のメルケプストラム係数系列データに対する乗算により編集済メルケプストラム係数系列データを求めるのが適切である。同じく強調係数と１の大小関係にこだわらないという観点からすれば、上述の閾値を１よりも小さい値とすることも有意義である場合がある。
【００２６】
さらに、例えば、前記編集部は、前記メルケプストラム係数系列データの次数が所定の次数以上である場合には、前記メルケプストラム係数系列データに前記強調係数を乗じたものを前記編集済メルケプストラム係数系列データとし、前記メルケプストラム係数系列データの次数が該所定の次数よりも小さい場合には、前記メルケプストラム係数系列データをそのまま前記編集済メルケプストラム係数系列データとしてもよい。
【００２７】
高次のメルケプストラム係数系列データはホルマントの微細構造と強く関連しているので、かかる高次のメルケプストラム係数系列データだけを選択的に強調するほうが、音声データのホルマントをより適切に強調することができる場合があるためである。
【００２８】
上記目的を達成するために、この発明の第２の観点に係る音声合成辞書構築方法は、
音声データベースから音素ラベル列と該音素ラベル列に対応する録音音声データとを取得し、取得した録音音声データにメルケプストラム分析を施し録音音声メルケプストラム係数系列データを生成するとともに、生成された録音音声メルケプストラム係数系列データと取得した音素ラベル列とに基づいてＨＭＭ（Hidden Markov Model）学習により仮音声合成辞書を構築する仮構築ステップと、
前記仮音声合成辞書に依拠して合成音声データを生成し生成された合成音声データを前記仮音声合成辞書に依拠して前記音素ラベル列に対応づけるとともに、生成された合成音声データにメルケプストラム分析を施し合成音声メルケプストラム係数系列データを生成する合成データ生成ステップと、
前記音素ラベル列に対応する前記録音音声データから前記仮構築ステップにより生成された前記録音音声メルケプストラム係数系列データと、前記合成データ生成ステップにより該音素ラベル列に対応づけられた前記合成音声データから前記合成データ生成ステップにより生成された前記合成音声メルケプストラム係数系列データと、を比較した結果に基づき、前記録音音声メルケプストラム係数系列データを編集して編集済メルケプストラム係数系列データを生成する編集ステップと、
前記音素ラベル列と前記編集ステップにより生成された編集済メルケプストラム係数系列データとに基づいてＨＭＭ学習により音声合成辞書を構築する再構築ステップと、
から構成される。
【００２９】
上記目的を達成するために、この発明の第３の観点に係るコンピュータプログラムは、
コンピュータに、
音声データベースから音素ラベル列と該音素ラベル列に対応する録音音声データとを取得し、取得した録音音声データにメルケプストラム分析を施し録音音声メルケプストラム係数系列データを生成するとともに、生成された録音音声メルケプストラム係数系列データと取得した音素ラベル列とに基づいてＨＭＭ（Hidden Markov Model）学習により仮音声合成辞書を構築する仮構築ステップと、
前記仮音声合成辞書に依拠して合成音声データを生成し、生成された合成音声データにメルケプストラム分析を施し合成音声メルケプストラム係数系列データを生成する合成データ生成ステップと、
前記音素ラベル列に対応する前記録音音声データから前記仮構築ステップにより生成された前記録音メルケプストラム係数系列データと、前記合成データ生成ステップにより該音素ラベル列に対応づけられた前記合成音声データから前記合成データ生成ステップにより生成された前記合成音声メルケプストラム係数系列データと、を比較した結果に基づき、前記録音音声メルケプストラム係数系列データを編集して編集済メルケプストラム係数系列データを生成する編集ステップと、
前記音素ラベル列と前記編集ステップにより生成された編集済メルケプストラム係数系列データとに基づいてＨＭＭ学習により音声合成辞書を構築する再構築ステップと、
を実行させる。
【発明の効果】
【００３０】
本発明によれば、いったん仮音声合成辞書を構築し、該辞書に基づいて音声を合成し、該音声を元の音声と比較する。よって、明りょうさという観点からみた両音声の差を埋めるための、元の音声に施すべきホルマントの強調処理が、容易かつ的確に定まる。そして、そのように処理された音声を元に音声合成辞書を再構築するので、最終的には、明りょうな合成音声の生成に資する音声合成辞書を構築することができる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施の形態に係る音声合成辞書構築装置について詳細に説明する。図２〜図５に、本発明の実施の形態に係る音声合成辞書構築装置の機能構成を示す。
【００３２】
本発明の実施の形態に係る音声合成辞書構築装置は、第１学習部１１１（図２）と、第１音声合成辞書２２３（図２）と、合成部１１３（図３）と、第２音声データベース構築部１１５（図４）と、第２音声データベース２２５（図４）と、第２学習部１１７（図５）と、から構成される装置である。
【００３３】
該音声合成辞書構築装置は、第１音声データベース２２１（図２）に基づいて第２音声合成辞書２２７（図５）を構築するための装置である。
【００３４】
第１音声データベース２２１（図２）は、よく知られた音声データベースである。ここには、所定の文章を読み上げた人の声を録音した音声データとモノフォンラベルデータとトライフォンラベルデータとが組になったものが、多数組、格納されている。カウンタmにより識別される個々の音声データ毎に、該音声データに対応したモノフォンラベルデータとトライフォンラベルデータとが存在する。この様子の理解を容易にするために、音声データベースに音声データのみが格納されている状態から、ラベルデータが作成され音声データベースの完成へと至る手順を、図１を参照しつつ説明する。
【００３５】
ラベルデータの作成及び音声データベースの完成のためには、例えば、後に図６を参照して説明するような、一般的なコンピュータ装置が用いられる。つまり、例えばリムーバブルハードディスクとして存在する音声データベースにアクセスするためのインターフェースを有し、該リムーバブルハードディスク内からデータをロードして所定の処理を行う機能や、該処理の結果を一時的に保持したり該リムーバブルハードディスク内に格納したりする機能等を有する装置が用いられる。
【００３６】
未完成の音声データベースには、NSp個の音声データSpm(1≦m≦NSp)が格納されているものとする。
【００３７】
なお、以下に説明する音声データからのピッチ抽出やメルケプストラム分析においては、音声データに一定長の時間枠が設定され、この時間枠が重複するように所定の周期（フレーム周期）で当該時間枠をずらしながら処理することで、それぞれの時点でのピッチ系列データやメルケプストラム係数系列データが算出されるが、記号fm(0≦fm≦Nfm[m])はこのフレーム周期が何番目であるかを示す番号を表すものである。
【００３８】
まず、上述のコンピュータ装置は、内部に音声データ識別用のカウンタmを設け、m=1に初期化設定する（図１のステップＳ４１１）。
【００３９】
該コンピュータ装置は、未完成の音声データベースから音声データSpmをロードし、該音声データから任意の既知の手法により、モノフォンラベルデータMLabDatam[ml](1≦ml≦MLSp[m])を生成する（ステップＳ４１３）。ここで、MLSp[m]は、音声データSpmに含まれるモノフォンラベルの数である。
【００４０】
モノフォンラベルデータMLabDatam[ml]は、モノフォンラベルMLabm[ml]と、音声データSpmの継続時間のうち該モノフォンラベルの始点及び終点に該当する時刻をフレーム周期の番号で指し示すポインタである開始フレームMFrameSm[ml]と、終了フレームMFrameEm[ml]と、から構成される。
【００４１】
モノフォンラベルデータMLabDatam[ml]は、音声データベースに格納される（ステップＳ４１５）。
【００４２】
続いて、該コンピュータ装置は、ロードされたままになっている音声データSpmから、任意の既知の手法により、トライフォンラベルデータTLabDatam[tl](1≦tl≦TLSp[m])を生成する（ステップＳ４１７）。ここで、トライフォンラベルデータとは、トライフォンラベルそのものであり、また、TLSp[m]は、音声データSpmに含まれるトライフォンラベルの数である。
【００４３】
トライフォンラベルデータTLabDatam[tl]は、音声データベースに格納される（ステップＳ４１９）。
【００４４】
続いて、mがNSpに達したか否かが判別される（ステップＳ４２１）。達していないと判別された場合（ステップＳ４２１；Ｎｏ）、mを1増加してから（ステップＳ４２３）、ステップＳ４１３に戻り、達したと判別された場合（ステップＳ４２１；Ｙｅｓ）、終了する。
【００４５】
終了すれば、音声データベースには、全ての音声データSpmについてのモノフォンラベルデータMLabDatam[ml]及びトライフォンラベルデータTLabDatam[tl]が格納されたことになる。このようにして、音声データベースは完成する。
【００４６】
本発明の実施の形態に係る音声合成辞書構築装置の第１学習部１１１（図２）は、上述のように完成された音声データベースである第１音声データベース２２１から、音声データSpm(1≦m≦NSp)と、モノフォンラベルデータMLabDatam[ml](1≦ml≦MLSp[m])と、トライフォンラベルデータTLabDatam[tl](1≦tl≦TLSp[m])と、を取得する。そして、第１学習部１１１は、合成音声を生成するために用いられる音声合成辞書である第１音声合成辞書２２３を、既知の手法である音素ＨＭＭ学習により、構築する。第１音声合成辞書２２３に格納された内容を、第１学習結果と呼ぶことにする。
【００４７】
第１学習部１１１は、ピッチ抽出部３１１と、第１メルケプストラム分析部３１３と、第１音素ＨＭＭ学習部３１５と、を備える。
【００４８】
ピッチ抽出部３１１は、第１音声データベース２２１から音声データSpm(1≦m≦NSp)を受け取り、任意の既知の手法により、m番目の音声データからピッチ系列データPitm[fm]を生成し、第１音素ＨＭＭ学習部３１５及び後述の第２学習部１１７（図５）に引き渡す。
【００４９】
第１メルケプストラム分析部３１３（図２）は、第１音声データベース２２１から音声データSpm(1≦m≦NSp)を受け取り、該音声データに対して、既知の手法であるD次のメルケプストラム分析を施す。その結果、第１メルケプストラム分析部３１３は、m番目の音声データの全てのフレームfm(0≦fm≦Nfm[m])について、0次〜D次までのメルケプストラム係数系列データMCmd[fm](0≦d≦D)を生成し、第1音素学習部３１５及び後述の第２学習部１１７（図５）に引き渡す。
【００５０】
第１音素ＨＭＭ学習部３１５（図２）は、第１音声データベース２２１からモノフォンラベルデータMLabDatam[ml](1≦m≦NSp、1≦ml≦MLSp[m])及びトライフォンラベルデータTLabDatam[tl](1≦m≦NSp、1≦tl≦TLSp[m])を受け取る。第１音素ＨＭＭ学習部３１５はまた、ピッチ抽出部３１１からピッチ系列データPitm[fm](1≦m≦NSp、0≦fm≦Nfm[m])を受け取り、第１メルケプストラム分析部３１３からメルケプストラム係数系列データMCmd[fm](1≦m≦NSp、0≦d≦D、0≦fm≦Nfm[m])を受け取る。第１音素ＨＭＭ学習部３１５は、受け取ったこれらのデータから、既知の手法である音素ＨＭＭ学習により、学習結果である第１学習結果を生成し、第１音声合成辞書２２３に格納する。より正確には、空のデータベースに第１学習結果が格納されることにより、該空のデータベースが第１音声合成辞書２２３として完成される。
【００５１】
図３に示される合成部１１３は、音素ＨＭＭ列生成部３２１と、時系列データ生成部３２３と、励起音源生成部３２５と、ＭＬＳＡ合成フィルタ部３２７と、を備える。
【００５２】
合成部１１３は、第１音声データベース２２１（図２）からトライフォンラベルデータTLabDatam[tl]を取得し、第１音声合成辞書２２３から第１学習結果を取得し、合成音声データSynSpm(1≦m≦NSp)を出力する。出力された合成音声データSynSpmは、後述の第２音声データベース構築部１１５（図４）に引き渡される。
【００５３】
トライフォンラベルデータTLabDatam[tl]が第１音声データベース２２１から取得されているから、合成部１１３は、いわば、第１音声データベース２２１に格納されている音声データと同じセリフを合成音声という態様にて発していることになる。したがって当然のことながら、個々の合成音声データは元の音声データと同じく符号mにより識別されるし、合成音声データの個数は元の音声データの個数と同じくNSpである。
【００５４】
ここでの合成音声は、図２に示したように、従来からよく知られた音素ＨＭＭ学習の結果に基づいて生成されたものである。かかる合成音声は、全般的に、元の音声に比べて不明りょうなものとなることが知られている。
【００５５】
図３の音素ＨＭＭ列生成部３２１は、図２の第１音声データベース２２１からトライフォンラベルデータTLabDatam[tl]を受け取り、図２の第１音声合成辞書２２３から第１学習結果を受け取る。そして、図３の音素ＨＭＭ列生成部３２１は、受け取った第１学習結果に基づいて、既知の手法により、受け取ったトライフォンラベルデータTLabDatam[tl]から、ピッチに関する音素ＨＭＭ系列データと、メルケプストラムに関する音素ＨＭＭ系列データと、を生成し、それらを時系列データ生成部３２３に引き渡す。
【００５６】
時系列データ生成部３２３は、引き渡されたピッチに関する音素ＨＭＭ系列データ及びメルケプストラムに関する音素ＨＭＭ系列データから、既知の手法により、ピッチ時系列データ及びメルケプストラム時系列データを生成し、ピッチ時系列データは励起音源生成部３２５に、メルケプストラム時系列データはＭＬＳＡ合成フィルタ部３２７に、それぞれ引き渡す。
【００５７】
励起音源生成部３２５は、引き渡されたピッチ時系列データから、既知の手法により、励起音源データを生成し、ＭＬＳＡ合成フィルタ部３２７に引き渡す。
【００５８】
ＭＬＳＡ合成フィルタ部３２７は、時系列データ生成部３２３から引き渡されたメルケプストラム時系列データに基づいて、既知の手法により、ＭＬＳＡ（Mel Log Spectrum Approximation）フィルタとしての自らの仕様を定義する。かかる定義が済んだＭＬＳＡ合成フィルタ部３２７に、励起音源生成部３２５が生成した励起音源データが入力されると、合成音声データSynSpmが出力される。出力された合成音声データは、図４の第２音声データベース構築部１１５に送られる。
【００５９】
図４に示される第２音声データベース構築部１１５は、モノフォン用音素ラベルデータ生成部３３１と、第２音声データベース構築用データ生成部３３３と、を備える。
【００６０】
第２音声データベース構築部１１５は、既に図１を用いて説明した音声データベースの構築作業とほぼ同じことを行う。相違点は、ラベルデータの作成元となるデータとして音声データSpmの代わりに合成部１１３（図３）が生成した合成音声SynSpmを用いる点と、後の作業には不要なため必ずしもトライフォンラベルデータを生成する必要はない点と、である。
【００６１】
図４のモノフォン用音素ラベルデータ生成部３３１は、合成音声データSynSpmから、合成音声のモノフォンラベルデータである合成音声モノフォンラベルデータmLabDatam[ml](1≦ml≦MLSynSp[m]、ただし、MLSynSp[m]は合成音声SynSpmにおけるモノフォンラベルの数である。)を生成し、第２音声データベース構築用データ生成部３３３に引き渡す。
【００６２】
合成音声モノフォンラベルデータmLabDatam[ml]は、合成音声モノフォンラベルmLabm[ml]と、合成音声データSynSpmの継続時間のうち該合成音声モノフォンラベルの始点に該当する時刻を指し示すポインタである合成音声開始フレームmFrameSm[ml]と、終点に該当する時刻を指し示すポインタである合成音声終了フレームmFrameEm[ml]と、から構成される。
【００６３】
第２音声データベース構築用データ生成部３３３は、合成音声モノフォンラベルデータmLabDatam[ml]と、合成音声データSynSpmと、を音声データベースに格納できるようにまとめて、第２音声データベース構築用データとし、これを第２音声データベース２２５に格納する。より正確には、空のデータベースに第２音声データベース構築用データが格納されることにより、該空のデータベースが第２音声データベース２２５として完成される。
【００６４】
図５に示す第２学習部１１７は、第２メルケプストラム分析部３４１と、方針決定部３４３と、編集部３４５と、第２音素ＨＭＭ学習部３４７と、を備える。
【００６５】
第２学習部１１７は、第１音声データベース２２１（図２）からトライフォンラベルデータTLabDatam[tl]及びモノフォンラベルデータMLabDatam[ml]を取得し、第１学習部１１１（図２）からピッチ系列データPitm[fm]及びメルケプストラム係数系列データMCmd[fm]を受け取り、第２音声データベース２２５（図４）から合成音声モノフォンラベルデータmLabDatam[ml]及び合成音声データSynSpmを受け取り、以下で説明するようにこれらのデータに基づいて音素ＨＭＭ学習を行い、学習結果を第２学習結果として出力する。
【００６６】
図５の第２メルケプストラム分析部３４１は、図２の第１メルケプストラム分析部３１３と同じ機能を有し、ほぼ同様のことを行う。相違点は、入力されるデータが、音声データSpmではなく合成音声データSynSpmであることである。入力されるデータの相違ゆえ、第２メルケプストラム分析部３４１が生成するデータを、合成音声メルケプストラム係数系列データSynMCmd[fm]と呼ぶことにする。該データは、方針決定部３４３に引き渡される。
【００６７】
方針決定部３４３には、モノフォンラベルデータMLabDatam[ml]と、メルケプストラム係数系列データMCmd[fm]と、合成音声モノフォンラベルデータmLabDatam[ml]と、合成音声メルケプストラム係数系列データSynMCmd[fm]と、が集められる。前二者は人間の自然な発話から収集された音声データに基づいて生成されたものである一方、後二者はいったん音声合成辞書を経て発せられた合成音声データに基づいて生成されたものである。方針決定部３４３は、これら４種のデータを集めるので、これらを比較検討することができる。
【００６８】
そこで、方針決定部３４３は、かかる比較検討により、合成音声が元の音声に比べても明りょうさを損なわないようにするには、元の音声に対して、そもそもあらかじめいかなる処理を施しておくべきだったのかを検討する。具体的には、方針決定部３４３は、メルケプストラム係数系列データMCmd[fm]を、音素ＨＭＭ学習の前にどのように編集しておくべきか、という編集方針を決定する。少なくとも定性的には、元の音声のホルマントが強調されるように、メルケプストラム係数系列データMCmd[fm]をあらかじめ編集しておけば、合成音声の明りょうさが向上する。
【００６９】
なお、編集方針の詳細については、後に例を挙げて説明する。
【００７０】
方針決定部３４３は、かかる比較検討の結果決定したメルケプストラム係数系列データMCmd[fm]の編集方針を、編集部３４５に伝達する。
【００７１】
編集部３４５は、伝達された編集方針に従って、メルケプストラム係数系列データMCmd[fm]を編集し、編集メルケプストラム係数系列データEdMCmd[fm]を生成し、第２音素ＨＭＭ学習部３４７に引き渡す。
【００７２】
第２音素ＨＭＭ学習部３４７は、図２の第１音素ＨＭＭ学習部３１５と同じ機能を有しており、ほぼ同じ処理を行う。相違点は、メルケプストラム係数系列データMCmd[fm]の代わりに、編集メルケプストラム係数系列データEdMCmd[fm]を用いる点である。すなわち、第２音素ＨＭＭ学習部３４７（図５）は、モノフォンラベルデータMLabDatam[ml]と、トライフォンラベルデータTLabDatam[tl]と、ピッチ系列データPitm[fm]と、編集メルケプストラム係数系列データEdMCmd[fm]と、を受け取り、受け取ったこれらのデータから、音素ＨＭＭ学習により、学習結果である第２学習結果を生成し、第２音声合成辞書２２７に格納する。より正確には、空のデータベースに第２学習結果が格納されることにより、該空のデータベースが第２音声合成辞書２２７として完成される。
【００７３】
この第２音声合成辞書２２７こそが、本実施形態に係る音声合成辞書構築装置がその構築を目標とした音声合成辞書である。従来の技術により構築された第１音声合成辞書２２３（図２）に基づいて生成された合成音声に比べて、第２音声合成辞書２２７に基づいて生成された合成音声は、明りょうなものとなる。上述のように、比較部３４３（図５）において、合成音声が不明りょうな音声にならないようするために元の音声データに施すべき処理、すなわち、元の音声データのホルマントを強調するためのメルケプストラム係数系列データMCmd[fm]の編集方針、を決定し、該編集方針に従って編集部３４５により生成された編集メルケプストラム係数系列データEdMCmd[fm]を用いて、音素ＨＭＭ学習が行われるためである。
【００７４】
ここまで図２〜図５を参照して説明してきた音声合成辞書構築装置は、物理的には、図６に示すような一般的なコンピュータ装置５１１により、構成される。
【００７５】
ＣＰＵ（Central Processing Unit、中央演算装置）５２１、ＲＯＭ（Read Only Memory）５２３、記憶部５２５、操作キー入力処理部５３３、及び、データ入出力インタフェース（以下、Ｉ／Ｆと書く。）５５５は、システムバス５４１で相互に接続されている。システムバス５４１は、命令やデータを転送するための伝送経路である。
【００７６】
ＣＰＵ５２１は、カウンタ用レジスタや汎用レジスタ等の各種のレジスタ（図示せず）を内蔵しており、ＲＯＭ５２３から読み出した動作プログラムに従って、処理対象である数値列等を適宜記憶部５２５から前記レジスタにロードし、ロードされた数値列に所定の演算を施し、その結果を記憶部５２５等に格納する。
【００７７】
ＲＯＭ５２３は、音素ＨＭＭ学習のための既知の動作プログラムの他に、特に、本実施形態においては、メルケプストラム係数系列データMCmd[fm]の編集方針を決定し編集メルケプストラム係数系列データEdMCmd[fm]を生成するための動作プログラムを記憶する。
【００７８】
記憶部５２５は、ＲＡＭ（Random Access Memory）５２７や内蔵ハードディスク５２９から構成されて、音声データ、ラベルデータ、ピッチ系列データ、メルケプストラム係数系列データ、音素ＨＭＭ等を、一時的に記憶する。これらのデータ等は、ＣＰＵ５２１の内蔵レジスタから伝達されたり、後述のリムーバブルハードディスクから伝達されたりする。
【００７９】
また、特に、本実施形態においては、内蔵ハードディスク５２９は、第１音声合成辞書２２３（図２）及び第２音声データベース２２５（図４）として機能することが想定されている。かかる音声合成辞書及び音声データベースは、本実施形態に係る音声合成辞書構築装置にとっては、中間生成物に過ぎず、外部から与えられるものでもないし最終的に該装置から取り外して利用するものでもなく、一時的に記憶されればよいものだからである。
【００８０】
操作キー入力処理部５３３は、ユーザＩ／Ｆである操作キー５３１からの操作信号を受け付けて、操作信号に対応するキーコード信号をＣＰＵ５２１に入力する。ＣＰＵ５２１は、入力されたキーコード信号に基づいて操作内容を決定する。
【００８１】
例えば、後述の、編集メルケプストラム係数系列データEdMCmd[fm]をメルケプストラム係数系列データMCmd[fm]から生成する手順においては、編集用係数の閾値や、編集対象となる次数は、原則としてはＲＯＭ５２３にあらかじめ設定されているが、希望する場合にはユーザ自身が操作キー５３１を介して該設定を変更できるようにしてもよい。
【００８２】
データ入出力Ｉ／Ｆ５５５は、元データの入った第１リムーバブルハードディスク５５１等及び処理済データ記録用の第２リムーバブルハードディスク５５３等に接続するためのインタフェースである。該Ｉ／Ｆは、作業の効率化のため、かかる２個のリムーバブルハードディスクを同時に接続できるものとする。該Ｉ／Ｆは、第１及び第２リムーバブルハードディスク５５１及び５５３のいずれともデータの双方向通信ができる、一般的な仕様のものであり、その意味で双方向の白抜き矢印が図示されている。もっとも、第１リムーバブルハードディスク５５１との通信においては、主に該ディスクから元データの読み込みが行われる一方、第２リムーバブルハードディスク５５３との通信においては、主に該ディスクへ処理済データが書き込まれるため、情報の伝達は主に実線の矢印で表される向きになされる。
【００８３】
元データとしては、図２の第１音声データベース２２１に格納されたデータが想定され、処理済データとしては、図５の第２音声合成辞書２２７に格納された第２学習結果が想定される。つまり、第１リムーバブルハードディスク５５１は図２の第１音声データベース２２１に、第２リムーバブルハードディスク５５３は図５の第２音声合成辞書２２７に、それぞれ対応する。
【００８４】
ユーザは、本実施形態に係る音声合成辞書構築装置を用いて音声合成辞書を構築したいときには、与えられた第１音声データベース２２１すなわち第１リムーバブルハードディスク５５１と、空の第２リムーバブルハードディスク５５３と、を、それぞれデータ入出力Ｉ／Ｆ５５５の所定の位置に接続する。その後、ユーザは、操作キー５３１を操作する等して音声合成辞書構築装置を動作させる。すると、ＣＰＵ５２１の制御下に、各種処理が行われる。
【００８５】
例えば、データ入出力Ｉ／Ｆ５５５を介して、コンピュータ装置５１１と、第１及び第２リムーバブルハードディスク５５１及び５５３と、の間で、データの入出力が行われる。かかる動作が終了したときには、第２リムーバブルハードディスク５５３には、図５に示した第２学習結果が書き込まれている。つまり、該ディスクは図５の第２音声合成辞書２２７として機能するのにあたり必要なデータが全て書き込まれた状態になっている。この後、ユーザが合成音声の発生を希望する場合には、該ディスクをユーザＩ／Ｆ５５５から取り外して、該ディスクを音声合成辞書として接続することができる音声合成装置に取り付け、該音声合成装置を動作させることにより、合成音声を発生させることができる。
【００８６】
図５に示すように、本実施形態に係る音声合成辞書構築装置の特徴は、方針決定部３４３においてメルケプストラム係数系列データMCmd[fm]の編集方針を決定するとともに、かかる編集方針に従い編集部３４５においてメルケプストラム係数系列データMCmd[fm]を編集して編集メルケプストラム係数系列データEdMCmd[fm]を生成することである。
【００８７】
編集部３４５が実行する編集処理は、音声データSpmのホルマントを強調することと等価な処理であれば、いかなる処理でもよい。ただし、特に本実施形態の場合には、かかる処理の指針を、方針決定部３４３に集められたモノフォンラベルデータMLabDatam[ml]と、メルケプストラム係数系列データMCmd[fm]と、合成音声モノフォンラベルデータmLabDatam[ml]と、合成音声メルケプストラム係数系列データSynMCmd[fm]と、に基づいて、効率的に、かつ的確に、そして簡易に、決定することが重要である。
【００８８】
（編集の具体例について）
以下に、かかる編集処理の典型的な手順について説明する。
【００８９】
なお、少なくとも定性的には、メルケプストラム係数系列データMCmd[fm]に1よりも大きい値（編集用係数）を乗じたものを編集メルケプストラム係数系列データEdMCmd[fm]とすれば、音声データSpmのホルマントは概ね強調される。そこで、以下の編集の具体例についての説明は、前記編集用係数の値の具体的な求め方の説明に重点が置かれたものになるとともに、原則的には、メルケプストラム係数系列データMCmd[fm]に該編集用係数を乗じることにより編集メルケプストラム係数系列データEdMCmd[fm]を求めることを念頭においたものになる。
【００９０】
ただし、編集用係数として1よりも小さい値を用いたり、ある条件を満たしたときのみ編集用係数による乗算を行うようにしたりする等、上述の原則的な編集処理を一部変形するほうが、音声データのホルマントの強調にかえって効果的である場合もあるので、かかる場合についても適宜説明する。
【００９１】
以下で説明する複数の手順のうち、どれを採用するのが最適であるかは、第１音声データベース２２１（図２）に収録されたサンプルデータの性質や、本実施形態に係る音声合成辞書構築装置として用いられるコンピュータ装置５１１（図６）のＣＰＵの処理能力や、合成音声として発話させたい内容や、あるいは合成音声の聴き手の感じ方等、様々な要素によって左右されるので、一概には結論づけられない。いくつかの手順を試行してみて、与えられた各種条件下で最適な手順がどれであるかを決定するのが妥当である。
【００９２】
様々な手順が考え得るものの、これらの手順は、上述のように、図５の方針決定部３４３による編集方針の決定とそれに応じたメルケプストラム係数系列データの編集の実行という点では、一貫している。すなわち、以下に示す様々な手順は、かかる技術的思想の範囲内におけるバリエーションである。
【００９３】
図６に示したとおり、本実施形態に係る音声合成辞書構築装置として機能するコンピュータ装置５１１は、記憶装置として、ＣＰＵ５２１の内蔵レジスタと、記憶部５２５の中のＲＡＭ５２７及び内蔵ハードディスク５２９と、を有する他にも、音声合成辞書構築中にはデータ入出力Ｉ／Ｆ５５５に接続され続けているため事実上前記コンピュータ装置５１１の一部ともいえる第１リムーバブルハードディスク５５１及び第２リムーバブルハードディスク５５３と、を有する。以下では、理解を容易にするために、各種演算が行われる場である前記レジスタ以外の記憶装置を総称して、単に記憶部５２５と呼ぶことにする。すると、記憶部５２５には、音声データSpmと、モノフォンラベルデータMLabDatam[ml]と、トライフォンラベルデータTLabDatam[tl]と、が初めから格納されていることになる。以下ではさらに、ピッチ系列データPitm[fm]、メルケプストラム係数系列データMCmd[fm]、合成音声モノフォンラベルデータmLabDatam[ml]、及び、合成音声メルケプストラム係数系列データSynMCmd[fm]、が既に求められ記憶部５２５に格納されているものとする。
【００９４】
（編集の具体例１）
図７、図８、及び、図１３、に示すフローチャートを参照しつつ、編集の具体例１について説明する。
【００９５】
まず、図７のように、編集用係数MaxAmpMCdを算出する。そのためには、図６のＣＰＵ５２１の内部のカウンタレジスタにカウンタdの初期値として0が格納される（ステップＳ６１１）。このdは、メルケプストラム係数系列データの次数を識別するための変数である。
【００９６】
次に、ＣＰＵ５２１は、内部の汎用レジスタに編集用係数MaxAmpMCdを格納する領域を設けるとともに、編集用係数MaxAmpMCdを十分小さい値、例えば0、に設定する（ステップＳ６１３）。
【００９７】
続いて、ＣＰＵ５２１は、次数dを格納するカウンタレジスタとは別に、音声データ識別用カウンタmを格納するカウンタレジスタを用意し、m=1に初期化設定する（ステップＳ６１５）。
【００９８】
さらに、モノフォンラベルデータ識別用カウンタが、ml＝1に初期化設定される（ステップＳ６１７）。
【００９９】
ここで、ＣＰＵ５２１は、AveLabMCmd[ml]とAveLabSynMCmd[ml]とを算出する（ステップＳ６１９）。かかる算出の具体的な手順は、図１３のフローチャートにより示されている。
【０１００】
ＣＰＵ５２１は、記憶部５２５から、開始フレームMFrameSm[ml]、終了フレームMFrameEm[ml]、合成音声開始フレームmFrameSm[ml]、及び、合成音声終了フレームmFrameEm[ml]、をレジスタにロードする（図１３のステップＳ９１１）。
【０１０１】
ＣＰＵ５２１はさらに、メルケプストラム係数系列データMCmd[MFrameSm[ml]]、MCmd[MFrameSm[ml]+1]、・・・、MCmd[MFrameEm[ml]-1]、MCmd[MFrameSm[ml]]と、合成音声メルケプストラム係数系列データSynMCmd[mFrameSm[ml]]、SynMCmd[mFrameSm[ml]+1]、・・・、SynMCmd[mFrameEm[ml]-1]、SynMCmd[mFrameEm[ml]]と、をロードする（ステップＳ９１３）。
【０１０２】
ＣＰＵ５２１は、AveLabMCmd[ml]とAveLabSynMCmd[ml]とを、次の式に従って算出する（ステップＳ９１５）。
AveLabMCmd[ml]
=  (MCmd[MFrameSm[ml]]+MCmd[MFrameSm[ml]+1]+・・・
+MCmd[MFrameEm[ml]-1]+MCmd[MFrameEm[ml]])
÷(MFrameEm[ml]-MFrameSm[ml]+1)、
AveLabSynMCmd[ml]
=  (SynMCmd[mFrameSm[ml]]+SynMCmd[mFrameSm[ml]+1]+・・・
+SynMCmd[mFrameEm[ml]-1]+SynMCmd[mFrameEm[ml]])
÷(mFrameEm[ml]-mFrameSm[ml]+1)
【０１０３】
図７に戻って、ステップＳ６２１では、ＣＰＵ５２１は、
TmpMaxAmpMCd=AveLabMCmd[ml]÷AveLabSynMCmd[ml]
を算出する。
【０１０４】
次のステップＳ６２３では、ＣＰＵ５２１は、TmpMaxAmpMCdがこの時点での編集用係数の値であるMaxAmpMCd以上であるか否かを判別する。TmpMaxAmpMCdがMaxAmpMCd以上であると判別された場合は（ステップＳ６２３；Ｙｅｓ）、MaxAmpMCd=TmpMaxAmpMCdとして編集用係数MaxAmpMCdを更新してから（ステップＳ６２５）、ステップＳ６２７に進む。一方、TmpMaxAmpMCdがMaxAmpMCdより小さいと判別された場合は、（ステップＳ６２３；Ｎｏ）、直接ステップＳ６２７に進む。
【０１０５】
ステップＳ６２７では、ＣＰＵ５２１は、mlがMLSp[m]に達したか否かを判別する。mlがMLSp[m]に達していないと判別された場合（ステップＳ６２７；Ｎｏ）、ＣＰＵ５２１はカウンタレジスタ内のカウンタmlを1増加させてから（ステップＳ６２９）、ステップＳ６１９に戻る。一方、mlがMLSp[m]に達したと判別された場合（ステップＳ６２７；Ｙｅｓ）、ステップＳ６３１に進む。
【０１０６】
ステップＳ６３１では、ＣＰＵ５２１は、mがNSpに達したか否かを判別する。mがNSpに達していないと判別された場合（ステップＳ６３１；Ｎｏ）、ＣＰＵ５２１はカウンタレジスタ内のカウンタmを1増加させてから（ステップＳ６３３）、ステップＳ６１７に戻る。一方、mがNSpに達したと判別された場合（ステップＳ６３１；Ｙｅｓ）、ステップＳ６３５に進む。
【０１０７】
ステップＳ６３５では、ＣＰＵ５２１は、次元dにおける最終的な編集用係数として、この時点での編集用係数MaxAmpMCdを記憶部５２５に格納し、ステップＳ６３７に進む。
【０１０８】
ステップＳ６３７では、ＣＰＵ５２１は、dがメルケプストラム解析の次数であるDに達したか否かを判別する。dがDに達していないと判別された場合（ステップＳ６３７；Ｎｏ）、ＣＰＵ５２１はカウンタレジスタ内のカウンタdを1増加させてから（ステップＳ６３９）、ステップＳ６１３に戻る。一方、dがDに達したと判別された場合（ステップＳ６３７；Ｙｅｓ）、処理を終了する。このとき、全てのd(0≦d≦D)について、編集用係数MaxAmpMCdが記憶部５２５に格納されている。
【０１０９】
編集用係数MaxAmpMCdは、多数の音声データと多数のモノフォンラベルデータについて仮に求めた編集用係数のうちから最大値を選択した結果求められたものであるので、ほとんどの場合、1よりも大きい値となる。よって、既に述べたように、原則的には、これをメルケプストラム係数系列データMCmd[fm]に乗じたものを編集メルケプストラム係数系列データEdMCmd[fm]とすることが適切である。
【０１１０】
以下では、編集メルケプストラム係数系列データEdMCmd[fm]を算出する手順を、図８に示すフローチャートを参照しつつ、説明する。
【０１１１】
次元識別用カウンタdが、d=0に設定され（ステップＳ６５１）、先ほど図７に示す手順により求められ記憶部５２５に格納されている編集用係数MaxAmpMCdがＣＰＵ５２１の内蔵レジスタにロードされる（ステップＳ６５３）。
【０１１２】
音声データ識別用カウンタmがm=1に設定され（ステップＳ６５５）、フレーム識別用カウンタfmがfm=0に設定され（ステップＳ６５７）、記憶部５２５からメルケプストラム係数系列データMCmd[fm]がＣＰＵ５２１の内蔵レジスタにロードされる（ステップＳ６５９）。
【０１１３】
ＣＰＵ５２１は、このメルケプストラム係数系列データMCmd[fm]に、ステップＳ６５３においてロードした編集用係数MaxAmpMCdを乗じることにより、編集メルケプストラム係数系列データEdMCmd[fm]を算出し、記憶部５２５に格納する（ステップＳ６６１）。
【０１１４】
続いて、次元dかつm番目の音声データに対応した全てのフレームについての処理が終わったか否か、すなわち、fmがNfm[m]に達したか否かが判別される（ステップＳ６６３）。fmがNfm[m]に達していないと判別された場合（ステップＳ６６３；Ｎｏ）、fmが1増加されてから（ステップＳ６６５）、ステップＳ６５９に戻る。一方、fmがNfm[m]に達したと判別された場合（ステップＳ６６３；Ｙｅｓ）、ステップＳ６６７に進む。
【０１１５】
ステップＳ６６７では、mがNSpに達したか否かが判別される。mがNSpに達していないと判別された場合（ステップＳ６６７；Ｎｏ）、mが1増加されてから（ステップＳ６６９）、ステップＳ６５７に戻る。一方、mがNSpに達したと判別された場合（ステップＳ６６７；Ｙｅｓ）、ステップＳ６７１に進む。
【０１１６】
ステップＳ６７１では、dがDに達したか否かが判別される。dがDに達していないと判別された場合（ステップＳ６７１；Ｎｏ）、dが1増加されてから（ステップＳ６７３）、ステップＳ６５３に戻る。一方、dがDに達したと判別された場合（ステップＳ６７１；Ｙｅｓ）、処理を終了する。これで、全てのd(0≦d≦D)、m(1≦m≦NSp)、fm(0≦fm≦Nfm[m])について、編集メルケプストラム係数系列データEdMCmd[fm]が記憶部５２５に格納された。
【０１１７】
本具体例のように編集すれば、強調係数をメルケプストラム係数系列データの次数に対応する個数だけ求めればよいため、音声データのホルマントを簡易に強調することができる。
【０１１８】
（編集の具体例２）
図９及び図１０に示すフローチャートを参照しつつ、編集の具体例２について説明する。もっとも、編集の具体例１における手順と重複する手順については説明を概ね省略し、主に相違点について述べることにする。
【０１１９】
図９に示された編集用係数の算出の手順（ステップＳ７１１〜ステップＳ７３９）は、図７に示した編集の具体例１の場合とほぼ同じである。主な相違点は、編集用係数を記憶部５２５に格納するステップが、具体例１においては、図７に太枠で示されたステップＳ６３５として、mに関するループ処理の外側に存在していたのに対して、本具体例においては、図９に太枠で示されたステップＳ７３１として、該ループの内側に存在している点である。
【０１２０】
これは、本具体例における編集用係数MaxAmpMCmdが、添字としてdの他にmを有することからも明らかなように、具体例１と異なりd以外にmにも依存するためである。
【０１２１】
このように、編集用係数をメルケプストラム係数系列データMCmd[fm]の次数d毎かつ音声データm毎に求めるため、音声データのホルマントをより適切に強調することができる。
【０１２２】
なお、図９のステップ７１９は、図７のステップ６１９と同様に、詳しくは図１３に示す手順により実行される。
【０１２３】
図１０に示された編集メルケプストラム係数系列データの算出の手順（ステップＳ７５１〜ステップＳ７７３）は、図８に示した編集の具体例１の場合とほぼ同じである。相違点は、編集用係数をロードするステップが、具体例１においては、図８に太枠で示されたステップＳ６５３として、mに関するループ処理の外側に存在していたのに対して、本具体例においては、図１０に太枠で示されたステップＳ７５５として、該ループの内側に存在している点である。これは、上述した、編集用係数を記憶部に格納するステップの位置の相違（図７におけるステップＳ６３５の位置と図９におけるステップＳ７３１の位置の相違）に対応した相違である。
【０１２４】
（編集の具体例３）
図１１及び図１２に示すフローチャートを参照しつつ、編集の具体例３について説明する。
【０１２５】
まず、図１１のように、編集用係数AmpMCmd[fm]を算出する。次元識別用カウンタdに関するループ処理（図１１のステップＳ８１１、ステップＳ８３３、ステップＳ８３５）と、音声データ識別用カウンタmに関するループ処理（図１１のステップＳ８１３、ステップＳ８２９、ステップＳ８３１）と、は、既に説明した具体例１（図７）及び具体例２（図９）におけるループ処理と同様であるので、ここでは説明を省略する。
【０１２６】
一方、上述の具体例１（図７）及び具体例２（図９）の場合とは異なり、本具体例の場合は、モノフォンラベルデータ識別用カウンタmlについては、直接的にはループ処理を行わない。本具体例の場合は、その代わりに、フレーム識別用カウンタfmに関するループ処理を行う。
【０１２７】
図１１のステップＳ８１５では、フレーム識別用カウンタfmがfm=0に初期化設定される。
【０１２８】
ＣＰＵ５２１は、記憶部５２５を検索し、MFrameSm[ml']≦fm≦MFrameEm[ml']を満たすようなml'を見つける。そして、ＣＰＵ５２１は、モノフォンラベルデータ識別用カウンタmlの値として、ml'を採用する（ステップＳ８１７）。つまり、ＣＰＵ５２１は、fmの関数としてのmlを決定する。
【０１２９】
続いて、具体例１及び具体例２の場合と同じく、図１３のフローチャートに示された手順により、AveLabMCmd[ml]とAveLabSynMCmd[ml]が算出され（ステップＳ８１９）、さらに、前者を後者で除してAmpMCmd[fm]が算出される（ステップＳ８２１）。
【０１３０】
本具体例の場合は、この時点で、編集用係数が記憶部５２５に格納される（太枠で示したステップＳ８２３）。具体例１の場合（図７において太枠で示したステップＳ６３５）とも具体例２の場合（図９において太枠で示したステップＳ７３１）とも異なり、編集用係数を格納するステップは、d及びmに関するループ処理のみならずfmに関するループ処理に対しても、ループの内側にある。
【０１３１】
これは、本具体例における編集用係数AmpMCmd[fm]が、添字としてd及びmの他にfmを有することからも明らかなように、具体例１や具体例２と異なりdやm以外にfmにも依存するためである。
【０１３２】
この後の手順は、図１２のステップＳ８５１〜ステップＳ８７３に示すとおりである。図１２は、図８及び図１０とほぼ同じであるが、編集用係数をロードするステップ（太枠で示したステップＳ８５７）の位置が、図８のステップＳ６５３とも図１０のステップＳ７５５とも異なる。
【０１３３】
本具体例においては、編集用係数をメルケプストラム係数系列データMCmd[fm]の次数d毎かつ音声データm毎かつフレームfm毎に求めるため、音声データのホルマントをさらに適切に強調することができる。
【０１３４】
なお、本具体例においては、具体例１及び具体例２とは異なり、編集用係数としての多数の候補から最大値を選択する手順は存在しない。そのぶんだけ、編集用係数が１以上の値にならない確率は、具体例１及び具体例２に比べて、高い。しかし、ホルマントの谷を強調するには編集用係数が１よりも小さい方が好都合であり、編集用係数の一部が１よりも小さい値であるためにホルマント全体としてはむしろ山と谷とが強調されたものとなる場合もある。本具体例の場合、具体例１及び具体例２に比べて、編集用係数がフレームfmにも依存するためにメルケプストラム係数系列データに対して一層きめ細かな編集が行われることが期待される。つまり、本具体例によれば、ホルマントの山は一層高く、ホルマントの谷は一層深く強調されることが期待される。
【０１３５】
（変形例について）
以下では、編集メルケプストラム係数系列データを求めるにあたっての変形例を２例挙げる。いずれも、上述の具体例１〜具体例３に示した手順の前半のいずれかが完了して編集用係数が既に求まっていることを前提とする。上述の具体例１〜具体例３においては、求まった編集用係数を一律にメルケプストラム係数系列データMCmd[fm]に乗じて編集メルケプストラム係数系列データEdMCmd[fm]を算出する（図８のステップＳ６６１、図１０のステップＳ７６１、図１２のステップＳ８６１）こととしていたが、以下の変形例においては、所定の条件を満たしたときだけかかる乗算を行う点が特徴である。
【０１３６】
以下に挙げる変形例において、原則としては、後述の閾値ThAmpMC及び閾次数demは、いずれも図６のＲＯＭ５２３に格納されている、ＣＰＵ５２１の動作のためのプログラムに、記述済であるとする。ただし、コンピュータ装置５１１の説明の際に述べたように、それらをユーザが操作キー５３１を介して変更することができるようにしてもよい。
【０１３７】
以下に挙げる２例は、異なる観点に基づく変形例であるので、両者を併用することもできる。
【０１３８】
（変形例１）
具体例１におけるステップＳ６６１（図８）、具体例２におけるステップＳ７６１（図１０）、及び、具体例３におけるステップＳ８６１（図１２）、は、本変形例においては、図１４に示すフローチャートに示す手順に置換される。
【０１３９】
まず、編集用係数（具体例１であればMaxAmpMCd、具体例２であればMaxAmpMCmd、具体例３であればAmpMCmd[fm]）が、所定の閾値ThAmpMC以上であるか否かが判別される（ステップＳ９３１）。
【０１４０】
編集用係数がThAmpMC以上であると判別された場合には（ステップＳ９３１；Ｙｅｓ）、上述の具体例１〜具体例３と変わるところはなく、ＣＰＵ５２１は、メルケプストラム係数系列データMCmd[fm]に前記編集用係数を乗じることにより編集メルケプストラム係数系列データEdMCmd[fm]を算出し、記憶部５２５に格納する（ステップＳ９３３）。
【０１４１】
一方、編集用係数がThAmpMCよりも小さいと判別された場合には（ステップＳ９３１；Ｎｏ）、ＣＰＵ５２１は、編集メルケプストラム係数系列データEdMCmd[fm]の値としてメルケプストラム係数系列データMCmd[fm]の値をそのまま用いることにして、かかるEdMCmd[fm]を記憶部５２５に格納する（ステップＳ９３５）。
【０１４２】
前記所定の閾値ThAmpMCを１とすれば、編集済メルケプストラム係数系列データEdMCmd[fm]は元のメルケプストラム係数系列データMCmd[fm]より小さくなることはないから、この意味で、編集済メルケプストラム係数系列データが全体として確実にホルマントの強調に資するといえる。
【０１４３】
あるいは、前記所定の閾値ThAmpMCを１よりも大きい値にすれば、図５の方針決定部３４３により決定された編集方針のもとでホルマントの強調に特に重要であると判定されたメルケプストラム係数系列データに限って大きくすることになる。そのほうがホルマント全体としてはむしろ山と谷との差を顕著にする場合もあるので、かかる場合には、上述の閾値としてそれに適した１より大きい値を採用するのが妥当である。
【０１４４】
なお、編集用係数が１より小さい場合でも、ホルマントの谷の部分を強調することになるためにホルマント全体としては強調される結果となる場合がある。かかる場合には、前記所定の閾値ThAmpMCを１より小さい値とすることも有意義である。
【０１４５】
（変形例２）
具体例１におけるステップＳ６６１（図８）、具体例２におけるステップＳ７６１（図１０）、及び、具体例３におけるステップＳ８６１（図１２）、は、本変形例においては、図１５に示すフローチャートに示す手順に置換される。
【０１４６】
まず、メルケプストラム係数系列データMCmd[fm]の次数dが、所定の閾次数dem以上であるか否かが判別される（ステップＳ９５１）。
【０１４７】
dがdem以上であると判別された場合には（ステップＳ９５１；Ｙｅｓ）、上述の具体例１〜具体例３と変わるところはなく、ＣＰＵ５２１は、メルケプストラム係数系列データMCmd[fm]に編集用係数、すなわち具体例１の場合にはMaxAmpMCd、具体例２の場合にはMaxAmpMCmd、具体例３の場合にはAmpMCmd[fm]、を乗じることにより編集メルケプストラム係数系列データEdMCmd[fm]を算出し、記憶部５２５に格納する（ステップＳ９５３）。
【０１４８】
一方、dがdemより小さいと判別された場合には（ステップＳ９５１；Ｎｏ）、ＣＰＵ５２１は、編集メルケプストラム係数系列データEdMCmd[fm]の値としてメルケプストラム係数系列データMCmd[fm]の値をそのまま用いることにして、かかるEdMCmd[fm]を記憶部５２５に格納する（ステップＳ９５５）。
【０１４９】
高次のメルケプストラム係数系列データはホルマントの微細構造と強く関連しているので、かかる高次のメルケプストラム係数系列データだけを選択的に強調する本変形例によれば、音声データのホルマントをより適切に強調することができることがある。
【０１５０】
なお、この発明は、上述の実施形態や具体例や変形例に限定されず、さらなる種々の変形及び応用が可能である。上述のハードウェア構成やブロック構成、フローチャートは説明のための例示であって、本願発明の範囲を限定するものではない。
【０１５１】
例えば、上述の実施形態に係る音声合成辞書構築装置を構成する各種機能ブロック（図２〜図５）のうち、第２音声データベース２２５（図４）は、合成音声モノフォンラベルデータmLabDatam[ml]と合成音声データSynSpmとの関係を明確にして理解を容易にするために示したに過ぎず、これを省略することも可能である。この場合、時系列データ生成部３２３（図３）が生成したメルケプストラム時系列データ（これは合成音声メルケプストラム係数系列データSynMCmd[fm]と同じものである。）を方針決定部３４３（図５）に直接に入力する。その際、各モノフォンラベルのメルケプストラム時系列データに相当する範囲を示す情報が共に送られるようにする必要がある。この場合、励起音源生成部３２５、ＭＬＳＡ合成フィルタ部３２７（図３）、第２音声データベース構築部１１５（図４）、及び第２メルケプストラム分析部３４１（図５）も、省略することができる。
【図面の簡単な説明】
【０１５２】
【図１】一般的な音声データベースを構築するための、ラベルデータの作成の流れを示す図である。
【図２】本発明の実施の形態に係る音声合成辞書構築装置の一部をなす第１学習部等の機能構成図である。
【図３】本発明の実施の形態に係る音声合成辞書構築装置の一部をなす合成部の機能構成図である。
【図４】本発明の実施の形態に係る音声合成辞書構築装置の一部をなす第２音声データベース構築部等の機能構成図である。
【図５】本発明の実施の形態に係る音声合成辞書構築装置の一部をなす第２学習部等の機能構成図である。
【図６】本発明の実施の形態に係る音声合成辞書構築装置の物理的な構成を示す図である。
【図７】メルケプストラム係数系列データの編集の具体例１における処理の流れの前半を示す図である。
【図８】メルケプストラム係数系列データの編集の具体例１における処理の流れの後半を示す図である。
【図９】メルケプストラム係数系列データの編集の具体例２における処理の流れの前半を示す図である。
【図１０】メルケプストラム係数系列データの編集の具体例２における処理の流れの後半を示す図である。
【図１１】メルケプストラム係数系列データの編集の具体例３における処理の流れの前半を示す図である。
【図１２】メルケプストラム係数系列データの編集の具体例３における処理の流れの後半を示す図である。
【図１３】メルケプストラム係数系列データの平均値を求める処理の流れを示す図である。
【図１４】メルケプストラム係数系列データの編集の変形例１における処理の流れを示す図である。
【図１５】メルケプストラム係数系列データの編集の変形例２における処理の流れを示す図である。
【符号の説明】
【０１５３】
１１１・・・第１学習部、１１３・・・合成部、１１５・・・第２音声データベース構築部、１１７・・・第２学習部、２２１・・・第１音声データベース、２２３・・・第１音声合成辞書、２２５・・・第２音声データベース、２２７・・・第２音声合成辞書、３１１・・・ピッチ抽出部、３１３・・・第１メルケプストラム分析部、３１５・・・第１音素ＨＭＭ学習部、３２１・・・音素ＨＭＭ列生成部、３２３・・・時系列データ生成部、３２５・・・励起音源生成部、３２７・・・ＭＬＳＡ合成フィルタ部、３３１・・・モノフォン用音素ラベルデータ生成部、３３３・・・第２音声データベース構築用データ生成部、３４１・・・第２メルケプストラム分析部、３４３・・・方針決定部、３４５・・・編集部、３４７・・・第２音素ＨＭＭ学習部、５１１・・・コンピュータ装置、５２１・・・ＣＰＵ、５２３・・・ＲＯＭ、５２５・・・記憶部、５２７・・・ＲＡＭ、５２９・・・内蔵ハードディスク、５３１・・・操作キー、５３３・・・操作キー入力処理部、５４１・・・システムバス、５５１・・・第１リムーバブルハードディスク、５５３・・・第２リムーバブルハードディスク、５５５・・・データ入出力Ｉ／Ｆ
【図１】
2008176132.tif 000003
【図２】
2008176132.tif 000004
【図３】
2008176132.tif 000005
【図４】
2008176132.tif 000006
【図５】
2008176132.tif 000007
【図６】
2008176132.tif 000008
【図７】
2008176132.tif 000009
【図８】
2008176132.tif 000010
【図９】
2008176132.tif 000011
【図１０】
2008176132.tif 000012
【図１１】
2008176132.tif 000013
【図１２】
2008176132.tif 000014
【図１３】
2008176132.tif 000015
【図１４】
2008176132.tif 000016
【図１５】
2008176132.tif 000017