(57)【要約】【課題】ピッチ変動が適度に大きいため自然な印象を与える合成音声を生成することを可能とする音声合成辞書を構築する。【解決手段】音声合成辞書構築装置は、音声データベース２２１を用いて既知の処理である音素ＨＭＭ学習を行うことにより、いったん、仮の音声合成辞書２２３を作る。続いて、該装置は、該仮の音声合成辞書２２３を経由して生成された合成音声と、前記音声データベース２２１に収録されている音声と、を分析し比較した結果に基づいて、該音声のピッチ変動を適度に大きくするためのピッチ系列データの編集方法を決定する。最終的に、該装置は、かかる編集方法が採用された編集過程をあらかじめ織り込んだ上で、音素ＨＭＭ学習をやり直すことにより、音声合成辞書２２７を構築する。【選択図】図４
2008191368.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])と、を取得する。そして、第１学習部１１１は、合成音声を生成するために用いられる音声合成辞書である第1音声合成辞書２２３を、既知の手法である音素ＨＭＭ学習により、構築する。第１音声合成辞書２２３に格納された内容を、第１学習結果と呼ぶことにする。
【００５３】
第１学習部１１１は、第１ピッチ抽出部３１１と、メルケプストラム分析部３１３と、第１音素ＨＭＭ学習部３１５と、を備える。
【００５４】
第１ピッチ抽出部３１１は、第１音声データベース２２１から音声データ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)を生成し、第１音素ＨＭＭ学習部３１５及び後述の第２学習部１１７（図４）に引き渡す。
【００５６】
第１音素ＨＭＭ学習部３１５（図２）は、第１音声データベース２２１からモノフォンラベルデータ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が出力される。出力された合成音声データSynSpmは、図４の第２学習部１１７に送られる。
【００６５】
図４に示す第２学習部１１７は、第２ピッチ抽出部３４１と、方針決定部３４３と、編集部３４５と、第２音素ＨＭＭ学習部３４７と、を備える。
【００６６】
第２学習部１１７は、第１音声データベース２２１（図２）からトライフォンラベルデータTLabDatam[tl]及びモノフォンラベルデータMLabDatam[ml]を取得し、第１学習部１１１（図２）からピッチ系列データPitm[fm]及びメルケプストラム係数系列データMCmd[fm]を受け取り、合成部１１３（図３）から合成音声データSynSpmを受け取り、以下で説明するようにこれらのデータに基づいて音素ＨＭＭ学習を行い、学習結果を第２学習結果として出力する。
【００６７】
図４の第２ピッチ抽出部３４１は、図２の第１ピッチ抽出部３１１と同じ機能を有し、ほぼ同様のことを行う。相違点は、入力されるデータが音声データSpmではなく合成音声データSynSpmであること及びfmの上限がNfm[m]とは必ずしも一致しないMfm[m]であることである。かかる相違ゆえ、第２ピッチ抽出部３４１が生成するデータを、合成音声ピッチ系列データSynPitm[fm]( 0≦fm≦Mfm[m])と呼ぶことにする。該データは、方針決定部３４３に引き渡される。
【００６８】
方針決定部３４３には、ピッチ系列データPitm[fm]と、合成音声ピッチ系列データSynPitm[fm]と、が集められる。前者は人間の自然な発話から収集された音声データに基づいて生成されたものである一方、後者はいったん音声合成辞書を経て発せられた合成音声データに基づいて生成されたものである。方針決定部３４３は、これら２種のデータを集めるので、これらを比較検討することができる。そこで、方針決定部３４３は、かかる比較検討により、合成音声が元の音声に比べて平坦で不自然なものとならないようにするには、元の音声に対して、そもそもあらかじめいかなる処理を施しておくべきだったのかを検討する。具体的には、方針決定部３４３は、ピッチ系列データPitm[fm]を、音素ＨＭＭ学習の前にどのように編集しておくべきか、という編集方針を決定する。少なくとも定性的には、元の音声のピッチ変動が大きくなるように、ピッチ系列データPitm[fm]をあらかじめ編集しておけば、合成音声がより自然なものとなる。
【００６９】
なお、編集方針の詳細については、後に例を挙げて説明する。
【００７０】
方針決定部３４３は、かかる比較検討の結果決定したピッチ系列データPitm[fm]の編集方針を、編集部３４５に伝達する。
【００７１】
編集部３４５は、伝達された編集方針に従って、ピッチ系列データPitm[fm]を編集し、編集ピッチ系列データEdPitm[fm]を生成し、第２音素ＨＭＭ学習部３４７に引き渡す。
【００７２】
第２音素ＨＭＭ学習部３４７は、図２の第１音素ＨＭＭ学習部３１５と同じ機能を有しており、ほぼ同じ処理を行う。相違点は、ピッチ系列データPitm[fm]の代わりに、編集ピッチ系列データEdPitm[fm]を用いる点である。すなわち、第２音素ＨＭＭ学習部３４７（図４）は、モノフォンラベルデータMLabDatam[ml]と、トライフォンラベルデータTLabDatam[tl]と、編集ピッチ系列データEdPitm[fm]と、メルケプストラム係数系列データMCmd[fm]と、を受け取り、受け取ったこれらのデータから、音素ＨＭＭ学習により、学習結果である第２学習結果を生成し、第２音声合成辞書２２７に格納する。より正確には、空のデータベースに第２学習結果が格納されることにより、該空のデータベースが第２音声合成辞書２２７として完成される。
【００７３】
この第２音声合成辞書２２７こそが、本実施形態に係る音声合成辞書構築装置がその構築を目標とした音声合成辞書である。従来の技術により構築された第１音声合成辞書２２３（図２）に基づいて生成された合成音声に比べて、第２音声合成辞書２２７に基づいて生成された合成音声は、ピッチ変動が十分に大きい自然なものとなる。上述のように、方針決定部３４３（図４）において、合成音声が平坦で不自然な音声にならないようするために元の音声データに施すべき処理、すなわち、元の音声データのピッチ変動を大きくするためのピッチ系列データPitm[fm]の編集方針、を決定し、該編集方針に従って編集部３４５により生成された編集ピッチ系列データEdPitm[fm]を用いて、音素ＨＭＭ学習が行われるためである。
【００７４】
ここまで図２〜図４を参照して説明してきた音声合成辞書構築装置は、物理的には、図５に示すような一般的なコンピュータ装置５１１により、構成される。
【００７５】
ＣＰＵ（Central Processing Unit、中央演算装置）５２１、ＲＯＭ（Read Only Memory）５２３、記憶部５２５、操作キー入力処理部５３３、及び、データ入出力インタフェース（以下、Ｉ／Ｆと書く。）５５５は、システムバス５４１で相互に接続されている。システムバス５４１は、命令やデータを転送するための伝送経路である。
【００７６】
ＣＰＵ５２１は、カウンタ用レジスタや汎用レジスタ等の各種のレジスタ（図示せず）を内蔵しており、ＲＯＭ５２３から読み出した動作プログラムに従って、処理対象である数値列等を適宜記憶部５２５から前記レジスタにロードし、ロードされた数値列に所定の演算を施し、その結果を記憶部５２５等に格納する。
【００７７】
ＲＯＭ５２３は、音素ＨＭＭ学習のための既知の動作プログラムの他に、特に、本実施形態においては、ピッチ系列データPitm[fm]の編集方針を決定し編集ピッチ系列データEdPitm[fm]を生成するための動作プログラムを記憶する。
【００７８】
記憶部５２５は、ＲＡＭ（Random Access Memory）５２７や内蔵ハードディスク５２９から構成されて、音声データ、ラベルデータ、ピッチ系列データ、メルケプストラム係数系列データ、音素ＨＭＭ等を、一時的に記憶する。これらのデータ等は、ＣＰＵ５２１の内蔵レジスタから伝達されたり、後述のリムーバブルハードディスクから伝達されたりする。
【００７９】
また、特に、本実施形態においては、内蔵ハードディスク５２９は、第１音声合成辞書２２３（図２）として機能することが想定されている。第１音声合成辞書２２３は、本実施形態に係る音声合成辞書構築装置にとっては、中間生成物に過ぎず、外部から与えられるものでもないし最終的に該装置から取り外して利用するものでもなく、一時的に記憶されればよいものだからである。
【００８０】
操作キー入力処理部５３３は、ユーザＩ／Ｆである操作キー５３１からの操作信号を受け付けて、操作信号に対応するキーコード信号をＣＰＵ５２１に入力する。ＣＰＵ５２１は、入力されたキーコード信号に基づいて操作内容を決定する。
【００８１】
ユーザが操作キー５３１を介して、本実施形態に係る音声合成辞書構築装置の動作設定を所望のものに変更することができるようにすることが好ましい。例えば、後述の、編集ピッチ系列データEdPitm[fm]をピッチ系列データPitm[fm]から生成する手順においては、編集方針として、後述の編集の具体例のうちのひとつがＲＯＭ５２３にあらかじめ選択設定されているものとし、希望する場合にはユーザ自身が操作キー５３１を介して該設定を変更できるようにしてもよい。
【００８２】
データ入出力Ｉ／Ｆ５５５は、元データの入った第１リムーバブルハードディスク５５１等及び処理済データ記録用の第２リムーバブルハードディスク５５３等に接続するためのインタフェースである。該Ｉ／Ｆは、作業の効率化のため、かかる２個のリムーバブルハードディスクを同時に接続できるものとする。該Ｉ／Ｆは、第１及び第２リムーバブルハードディスク５５１及び５５３のいずれともデータの双方向通信ができる、一般的な仕様のものであり、その意味で双方向の白抜き矢印が図示されている。もっとも、第１リムーバブルハードディスク５５１との通信においては、主に該ディスクから元データの読み込みが行われる一方、第２リムーバブルハードディスク５５３との通信においては、主に該ディスクへ処理済データが書き込まれるため、情報の伝達は主に実線の矢印で表される向きになされる。
【００８３】
元データとしては、図２の第１音声データベース２２１に格納されたデータが想定され、処理済データとしては、図４の第２音声合成辞書２２７に格納された第２学習結果が想定される。つまり、第１リムーバブルハードディスク５５１は図２の第１音声データベース２２１に、第２リムーバブルハードディスク５５３は図４の第２音声合成辞書２２７に、それぞれ対応する。
【００８４】
ユーザは、本実施形態に係る音声合成辞書構築装置を用いて音声合成辞書を構築したいときには、与えられた第１音声データベース２２１すなわち第１リムーバブルハードディスク５５１と、空の第２リムーバブルハードディスク５５３と、を、それぞれデータ入出力Ｉ／Ｆ５５５の所定の位置に接続する。その後、ユーザは、操作キー５３１を操作する等して音声合成辞書構築装置を動作させる。すると、ＣＰＵ５２１の制御下に、各種処理が行われる。例えば、データ入出力Ｉ／Ｆ５５５を介して、コンピュータ装置５１１と、第１及び第２リムーバブルハードディスク５５１及び５５３と、の間で、データの入出力が行われる。かかる動作が終了したときには、第２リムーバブルハードディスク５５３には、図４に示した第２学習結果が書き込まれている。つまり、該ディスクは図４の第２音声合成辞書２２７として機能するのにあたり必要なデータが全て書き込まれた状態になっている。この後、ユーザが合成音声の発生を希望する場合には、該ディスクをユーザＩ／Ｆ５５５から取り外して、該ディスクを音声合成辞書として接続することができる音声合成装置に取り付け、該音声合成装置を動作させることにより、合成音声を発生させることができる。
【００８５】
図４に示すように、本実施形態に係る音声合成辞書構築装置の特徴は、方針決定部３４３においてピッチ系列データPitm[fm]の編集方針を決定するとともに、かかる編集方針に従い編集部３４５においてピッチ系列データPitm[fm]を編集して編集ピッチ系列データEdPitm[fm]を生成することである。
【００８６】
編集部３４５が実行する編集処理は、音声データSpmのピッチ変動を適度に大きくする処理であれば、いかなる処理でもよい。ただし、特に本実施形態の場合には、かかる処理の指針を、方針決定部３４３に集められたピッチ系列データPitm[fm]と、合成音声ピッチ系列データSynPitm[fm]と、に基づいて、効率的に、かつ的確に、そして簡易に、決定することが重要である。
【００８７】
（編集の具体例について）
以下に、かかる編集処理の典型的な手順について説明する。
【００８８】
なお、少なくとも定性的には、個々のピッチ系列データPitm[fm]とその平均値との差を大きくしたものを編集ピッチ系列データEdPitm[fm]とすれば、音声データSpmのピッチ変動は大きくなる。そこで、以下の編集の具体例についての説明は、前記平均値と個々の値との差を具体的にはどのように大きくするかについての説明に重点が置かれたものになるとともに、基本的には、該差に編集用の1より大きいなんらかの値を乗じることにより該差を拡大して編集ピッチ系列データEdPitm[fm]を求めることを念頭においたものになる。
【００８９】
ただし、上述の差を拡大し過ぎた音声データに基づいて生成された合成音声は、平坦さの程度が小さすぎるためにかえって不自然になると考えられる。したがって、上述の編集用の1より大きいなんらかの値は、大き過ぎてはならないのであって、適度な大きさであることが望ましい。かかる適度な大きさは、元の音声データと、それに基づいて生成された従来技術による合成音声データとの比較により決めるのが妥当であると考えられる。なぜなら、前者のデータと後者のデータとの差が、音素ＨＭＭ学習の過程で生じる平坦さの程度に対応しているのであるから、該差に基づいて編集方針を立てあらかじめ前者のデータを平坦さの程度を小さくしたデータに編集しておけば、かかる編集が施されたデータに基づいて生成された合成音声データにおける平坦さは適度に平坦さの程度が小さく聴く者に自然な印象を与えると考えられるからである。以下の説明からも明らかなように、図４の方針決定部３４３が決定する編集方針は、このような考察に沿ったものである。
【００９０】
以下で説明する複数の手順のうち、どれを採用するのが最適であるかは、第１音声データベース２２１（図２）に収録されたサンプルデータの性質や、本実施形態に係る音声合成辞書構築装置として用いられるコンピュータ装置５１１（図５）のＣＰＵ５２１の処理能力や、合成音声として発話させたい内容や、あるいは合成音声の聴き手の感じ方等、様々な要素によって左右されるので、一概には結論づけられない。いくつかの手順を試行してみて、与えられた各種条件下で最適な手順がどれであるかを決定するのが妥当である。
【００９１】
様々な手順が考えられるものの、これらの手順は、上述のように、図４の方針決定部３４３による編集方針の決定とそれに応じたピッチ系列データの編集の実行という点では、一貫している。すなわち、以下に示す様々な手順は、かかる技術的思想の範囲内におけるバリエーションである。
【００９２】
図５に示したとおり、本実施形態に係る音声合成辞書構築装置として機能するコンピュータ装置５１１は、記憶装置として、ＣＰＵ５２１の内蔵レジスタと、記憶部５２５の中のＲＡＭ５２７及び内蔵ハードディスク５２９と、を有する他にも、音声合成辞書構築中にはデータ入出力Ｉ／Ｆ５５５に接続され続けているため事実上前記コンピュータ装置５１１の一部ともいえる第１リムーバブルハードディスク５５１及び第２リムーバブルハードディスク５５３と、を有する。以下では、理解を容易にするために、各種演算が行われる場である前記レジスタ以外の記憶装置を総称して、単に記憶部５２５と呼ぶことにする。すると、記憶部５２５には、音声データSpmと、モノフォンラベルデータMLabDatam[ml]と、トライフォンラベルデータTLabDatam[tl]と、が初めから格納されていることになる。以下ではさらに、ピッチ系列データPitm[fm]、メルケプストラム係数系列データMCmd[fm]、及び、合成音声ピッチ系列データSynPitm[fm]が既に求められ記憶部５２５に格納されているものとする。
【００９３】
なお、フレームは、有声音のフレームと無声音のフレームとに分類される。どのフレームが有声音のフレームでどのフレームが無声音のフレームであるかは、既に任意の既知の手法によって求められ、その結果も記憶部５２５に格納済みであるものとする。そして、以下では、「Pitm[fm]」又は「SynPitm[fm]」と記した場合、それはピッチの具体的な値を意味するとともに、特に明示しなくても、それに対応するフレームfmが有声音のフレームであるかそれとも無声音のフレームであるかの区別が既についていることも意味するものとする。
【００９４】
（編集の具体例１）
図６〜図１２に示すフローチャートを参照しつつ、編集の具体例１について説明する。
【００９５】
まず、図６のように、編集用録音平均値AvePitmを算出する。そのためには、図５のＣＰＵ５２１の内部のカウンタレジスタ（図示せず。）にカウンタmの初期値として1が格納される（ステップＳ１１１）。このmは、着目しているピッチ系列データがどの音声データに属しているかを識別するための変数である。
【００９６】
次に、ＣＰＵ５２１は、内部の汎用レジスタ（図示せず。）に編集用録音平均値AvePitmを格納する領域を設けるとともに、編集用録音平均値AvePitmを0に設定する。そして、ＣＰＵ５２１は、前記mを格納するカウンタレジスタとは別のカウンタレジスタにフレーム識別用カウンタfmを格納することとして、その初期値を0に設定する。そして、ＣＰＵ５２１は、さらに別のカウンタレジスタにカウンタNVfm[m]を格納することとして、その初期値を0に設定する（ステップＳ１１３）。
【００９７】
前記NVfm[m]はm番目の音声データのうちにいくつの有声音のフレームが存在するかを数えるための変数である。
【００９８】
続いて、ＣＰＵ５２１は、fmで特定されるフレームが有声音のフレームであるか否かを判別する（ステップＳ１１５）。
【００９９】
fmで特定されるフレームが有声音のフレームであると判別された場合（ステップＳ１１５；Ｙｅｓ）は、ＣＰＵ５２１は、記憶部５２５からピッチ系列データPitm[fm]をロードする（ステップＳ１１７）。そして、ＣＰＵ５２１は、かかるPitm[fm]をAvePitmに加えて新たなAvePitmとするとともに、NVfm[m]に1を加えて新たなNVfm[m]とする（ステップＳ１１９）。すなわち、AvePitmはAvePitm+ Pitm[fm]に、NVfm[m]はNVfm[m]+1に、それぞれ更新される。その後、ステップＳ１２１に進む。
【０１００】
fmで特定されるフレームが有声音のフレームではないと判別された場合（ステップＳ１１５；Ｎｏ）は、すぐにステップＳ１２１に進む。
【０１０１】
ステップＳ１２１では、ＣＰＵ５２１は、m番目の音声データの全てのフレームについての処理が完了したか否かを判別する。つまり、ＣＰＵ５２１は、fm≧Nfm[m]であるか否かを判別する。
【０１０２】
fm≧Nfm[m]ではないと判別された場合（ステップＳ１２１；Ｎｏ）は、ＣＰＵ５２１は、次のフレームについての処理を行うために、fmを1増加する（ステップＳ１２３）。そして、ステップＳ１１５に戻る。一方、fm≧Nfm[m]であると判別された場合（ステップＳ１２１；Ｙｅｓ）は、ステップＳ１２５に進む。
【０１０３】
ステップＳ１２５に進んだ時点では、AvePitmの値は、m番目の音声データのうちの有声音のフレームにおけるピッチ系列データPitm[fm]の合計値となっている。そこで、ステップＳ１２５では、ＣＰＵ５２１は、AvePitmを有声音のフレームの数であるNVfmで除して、m番目の音声データのうちの有声音のフレームにおけるピッチ系列データの平均値としてのAvePitmを求める。すなわち、AvePitmは、AvePitm /NVfmに更新される。ＣＰＵ５２１は、更新されたAvePitmを、記憶部５２５に格納する（ステップＳ１２７）。
【０１０４】
ＣＰＵ５２１は、全ての音声データについての処理が完了したか否かを判別する（ステップＳ１２９）。つまり、ＣＰＵ５２１は、m≧NSpであるか否かを判別する。
【０１０５】
m≧NSpではないと判別された場合（ステップＳ１２９；Ｎｏ）は、ＣＰＵ５２１は、次の音声データについての処理を行うために、mを1増加する（ステップＳ１３１）。そして、ステップＳ１１３に戻る。一方、m≧NSpであると判別された場合（ステップＳ１２９；Ｙｅｓ）は、ＣＰＵ５２１は、処理を終了する。
【０１０６】
続いて、図７のように、編集用合成平均値AveSynPitmを算出する（ステップＳ１６１〜Ｓ１８１）。かかる算出の手順は、図６に示した編集用録音平均値AvePitmを算出する手順とほぼ同じである。主な相違点は、ピッチ系列データPitm[fm]についての平均値ではなく合成音声ピッチ系列データSynPitm[fm]についての平均値を求めること（ステップＳ１６７、ステップＳ１６９、ステップＳ１７５）や、m番目の音声データに対応するフレームの番号の上限は必ずしもNfm[m]と一致しないため別の変数Mfm[m]が用いられていること（ステップＳ１７１）である。
【０１０７】
続いて、図８のように、編集用録音音声別最大絶対値mxAbsDiffPitmを算出する。
【０１０８】
ＣＰＵ５２１は、音声データ識別用カウンタmをm=1に設定する（ステップＳ２１１）。ＣＰＵ５２１はさらに、mxAbsDiffPitmを例えば0といった十分小さな値に設定するとともに、フレーム識別用カウンタfmをfm=0に設定する（ステップＳ２１３）。
【０１０９】
ＣＰＵ５２１は、fmで特定されるフレームが有声音のフレームであるか否かを判別する（ステップＳ２１５）。
【０１１０】
fmで特定されるフレームが有声音のフレームではないと判別された場合（ステップＳ２１５；Ｎｏ）は、ステップＳ２２５に進む。
【０１１１】
fmで特定されるフレームが有声音のフレームであると判別された場合（ステップＳ２１５；Ｙｅｓ）は、ＣＰＵ５２１は、記憶部５２５から、ピッチ系列データPitm[fm]と、上述のとおり図６に示された手順により求められたAvePitmと、をロードする（ステップＳ２１７）。そして、ＣＰＵ５２１は、TmpmxAbsDiffPitm=| Pitm[fm]-AvePitm|を算出し（ステップＳ２１９）、TmpmxAbsDiffPitm≧mxAbsDiffPitmであるか否かを判別する（ステップＳ２２１）。TmpmxAbsDiffPitm≧mxAbsDiffPitmではないと判別された場合（ステップＳ２２１；Ｎｏ）は、すぐにステップＳ２２５に進み、TmpmxAbsDiffPitm≧mxAbsDiffPitmであると判別された場合（ステップＳ２２１；Ｙｅｓ）は、mxAbsDiffPitmをmxAbsDiffPitm=TmpmxAbsDiffPitmのように更新してから（ステップＳ２２３）、ステップＳ２２５に進む。
【０１１２】
ステップＳ２２５では、ＣＰＵ５２１は、fm≧Nfm[m]であるか否かを判別する。
【０１１３】
fm≧Nfm[m]ではないと判別された場合（ステップＳ２２５；Ｎｏ）は、fmを1増加してから（ステップＳ２２７）、ステップＳ２１５に戻る。一方、fm≧Nfm[m]であると判別された場合（ステップＳ２２５；Ｙｅｓ）は、ステップＳ２２９に進む。
【０１１４】
ステップＳ２２９では、ＣＰＵ５２１は、mxAbsDiffPitmを記憶部５２５に格納する。
【０１１５】
ステップＳ２３１では、ＣＰＵ５２１は、m≧NSpであるか否かを判別する。
【０１１６】
m≧NSpではないと判別された場合（ステップＳ２３１；Ｎｏ）は、mを1増加してから（ステップＳ２３３）、ステップＳ２１３に戻る。一方、m≧NSpであると判別された場合（ステップＳ２３１；Ｙｅｓ）は、処理を終了する。
【０１１７】
続いて、図９のように、編集用合成音声別最大絶対値mxAbsDiffSynPitmを算出する（ステップＳ２６１〜Ｓ２８３）。かかる算出の手順は、図８に示した編集用録音音声別最大絶対値mxAbsDiffPitmを算出する手順とほぼ同じである。主な相違点は、ピッチ系列データPitm[fm]ではなく合成音声ピッチ系列データSynPitm[fm]を扱う点（ステップＳ２６７、ステップＳ２６９）や、図６に示した手順により求められた編集用録音平均値AvePitmではなく図７に示した手順により求められた編集用合成平均値AveSynPitmを用いる点（ステップＳ２６７、ステップＳ２６９）や、m番目の音声データに対応するフレームの番号の上限としてNfm[m]ではなくMfm[m]を用いる点（ステップＳ２７５）である。
【０１１８】
続いて、図１０のように、編集用録音総合最大絶対値MaxAbsDiffPitを算出する。
【０１１９】
ＣＰＵ５２１は、MaxAbsDiffPitを例えば0といった十分小さな値に設定するとともに、音声データ識別用カウンタmをm=1に設定する（ステップＳ３１１）。
【０１２０】
ＣＰＵ５２１は、記憶部５２５から、図８に示した手順により求められたmxAbsDiffPitmをロードし（ステップＳ３１３）、TmpMaxAbsDiffPit=mxAbsDiffPitmとする（ステップＳ３１５）。
【０１２１】
ＣＰＵ５２１は、TmpMaxAbsDiffPit≧MaxAbsDiffPitであるか否かを判別する（ステップＳ３１７）。TmpMaxAbsDiffPit≧MaxAbsDiffPitではないと判別された場合（ステップＳ３１７；Ｎｏ）は、すぐにステップＳ３２１に進む。一方、TmpMaxAbsDiffPit≧MaxAbsDiffPitであると判別された場合（ステップＳ３１７；Ｙｅｓ）は、MaxAbsDiffPitをMaxAbsDiffPit=TmpMaxAbsDiffPitのように更新してから（ステップＳ３１９）、ステップＳ３２１に進む。
【０１２２】
ステップＳ３２１では、ＣＰＵ５２１は、m≧NSpであるか否かを判別する。
【０１２３】
m≧NSpではないと判別された場合（ステップＳ３２１；Ｎｏ）は、mを1増加してから（ステップＳ３２３）、ステップＳ３１３に戻る。一方、m≧NSpであると判別された場合（ステップＳ３２１；Ｙｅｓ）は、MaxAbsDiffPitを記憶部５２５に格納してから（ステップＳ３２５）、処理を終了する。
【０１２４】
続いて、図１１のように、編集用合成総合最大絶対値MaxAbsDiffSynPitを算出する（ステップＳ３６１〜Ｓ３７５）。かかる算出の手順は、図１０に示した編集用録音総合最大絶対値MaxAbsDiffPitを算出する手順とほぼ同じである。主な相違点は、図８に示した手順により求められた編集用録音音声別最大絶対値mxAbsDiffPitmではなく図９に示した手順により求められた編集用合成音声別最大絶対値mxAbsDiffSynPitmを用いること（ステップＳ３６３、ステップＳ３６５）である。
【０１２５】
このように、図６と図７、図８と図９、図１０と図１１、は、それぞれ、第１音声データベース２２１（図２）に格納されている元の音声のピッチ系列データについての手順と第１音声合成辞書２２３（図２）に基づく合成音声のピッチ系列データについての手順との対になっている。
【０１２６】
本編集の具体例において最終的に編集ピッチ系列データEdPitm[fm]を求める手順を、図１２のフローチャートに示す。
【０１２７】
なお、図１２においては、本実施形態における編集ピッチ系列データEdPitm[fm]を、第１編集ピッチ系列データEdPitm[fm]と表記してあるが、記号EdPitm[fm]自体は、後述の他の例においても、編集部３４５（図４）が生成する編集ピッチ系列データを指すものとする。
【０１２８】
第１編集ピッチ系列データEdPitm[fm]を求めるためには、まず、ＣＰＵ５２１は、図１０に示した手順により求められた編集用録音総合最大絶対値MaxAbsDiffPitと、図１１に示した手順により求められた編集用合成総合最大絶対値MaxAbsDiffSynPitと、を記憶部５２５からロードする（ステップＳ４１１）。
【０１２９】
続いて、ＣＰＵ５２１は、音声データ識別用カウンタmを、m=1に設定し（ステップＳ４１３）、フレーム識別用カウンタfmをfm=0に設定する（ステップＳ４１５）。
【０１３０】
ＣＰＵ５２１は、ピッチ系列データPitm[fm]をロードし（ステップＳ４１７）、fmで特定されるフレームが有声音のフレームであるか否かを判別する（ステップＳ４１９）。
【０１３１】
fmで特定されるフレームが有声音のフレームであると判別された場合（ステップＳ４１９；Ｙｅｓ）は、ＣＰＵ５２１は、図６に示した手順により求められた編集用録音平均値AvePitmを記憶部５２５からロードする（ステップＳ４２１）。そして、ＣＰＵ５２１は、第１編集ピッチ系列データEdpitm[fm]を、
Edpitm[fm]=(Pitm[fm]- AvePitm)×(MaxAbsDiffPit/MaxAbsDiffSynPit)+AvePitm
により算出し（ステップＳ４２３）、記憶部５２５に格納する（ステップＳ４２７）。
【０１３２】
一方、fmで特定されるフレームが有声音のフレームではないと判別された場合（ステップＳ４１９；Ｎｏ）は、ＣＰＵ５２１は、Pitm[fm]をそのまま第１編集ピッチ系列データEdpitm[fm]とし（ステップＳ４２５）、記憶部５２５に格納する（ステップＳ４２７）。
【０１３３】
ＣＰＵ５２１は、fm≧Nfm[m]であるか否かを判別する（ステップＳ４２９）。
【０１３４】
fm≧Nfm[m]ではないと判別された場合（ステップＳ４２９；Ｎｏ）は、fmを1増加してから（ステップＳ４３１）、ステップＳ４１７に戻る。一方、fm≧Nfm[m]であると判別された場合（ステップＳ４２９；Ｙｅｓ）は、ステップＳ４３３に進む。
【０１３５】
ステップＳ４３３では、ＣＰＵ５２１は、m≧NSpであるか否かを判別する。
【０１３６】
m≧NSpではないと判別された場合（ステップＳ４３３；Ｎｏ）は、mを1増加してから（ステップＳ４３５）、ステップＳ４１５に戻る。一方、m≧NSpであると判別された場合（ステップＳ４３３；Ｙｅｓ）は、処理を終了する。
【０１３７】
既に述べたとおり、一般に、従来の方法によれば、合成音声は平坦な印象を与える不自然な音声となるのであり、その理由は、合成音声のピッチ変動が元の自然な音声のピッチ変動に比べて小さくなってしまうためである。
【０１３８】
ところで、図１０に示した手順から明らかなように、編集用録音総合最大絶対値MaxAbsDiffPitは、元の音声データ全部のうちの、ピッチ平均からのズレの最大値を示している。一方、図１１に示した手順から明らかなように、編集用合成総合最大絶対値MaxAbsDiffSynPitは、合成音声データ全部のうちの、ピッチ平均からのズレの最大値を示している。
【０１３９】
よって、編集用録音総合最大絶対値MaxAbsDiffPitは元の自然な音声におけるピッチ変動の程度を表す指標であり、編集用合成総合最大絶対値MaxAbsDiffSynPitは合成音声におけるピッチ変動の程度を表す指標である、と考えることができる。
【０１４０】
合成音声が上述のように平坦であるということから、ほぼ確実に、MaxAbsDiffSynPit＜MaxAbsDiffPitとなることが期待される。そして、合成音声のピッチ変動を元の自然な音声のピッチ変動と同程度にするためには、元の自然な音声におけるピッチ変動を、あらかじめ、1より適度に大きい値であると期待される(MaxAbsDiffPit/MaxAbsDiffSynPit)倍に拡大しておくのが適切であると考えられる。図１２のステップＳ４２３において、ピッチ系列データとその平均値との差に(MaxAbsDiffPit/MaxAbsDiffSynPit)なる値を乗じているのは、このような理由による。
【０１４１】
こうしてあらかじめピッチ変動を大きくしておいたピッチ系列データを用いて第２音素ＨＭＭ学習部３４７（図４）による音素ＨＭＭ学習がなされるので、かかる学習結果が格納された第２音声合成辞書２２７（図４）は、自然な印象を与える音声を合成することに役立つ。
【０１４２】
（編集の具体例１の変形例）
図１３〜図２１と、既に説明した図６及び図７と、に示すフローチャートを参照しつつ、編集の具体例１の変形例について説明する。
【０１４３】
図１３のように、編集用録音音声別最大値mxDiffPitmを算出する。ＣＰＵ５２１は、音声データ識別用カウンタmをm=1に設定する（ステップＳ９１１１）。ＣＰＵ５２１はさらに、mxDiffPitmを0等の十分小さな値に設定するとともに、フレーム識別用カウンタfmをfm=0に設定する（ステップＳ９１１３）。
【０１４４】
ＣＰＵ５２１は、フレームfmが有声音のフレームであるか否かを判別する（ステップＳ９１１５）。
【０１４５】
フレームfmが有声音のフレームではないと判別された場合（ステップＳ９１１５；Ｎｏ）は、すぐにステップＳ９１２５に進む。
【０１４６】
フレームfmが有声音のフレームであると判別された場合（ステップＳ９１１５；Ｙｅｓ）は、ＣＰＵ５２１は、ピッチ系列データPitm[fm]と、図６に示す手順により求められた編集用録音平均値AvePitmと、を記憶部５２５からロードする（ステップＳ９１１７）。そして、ＣＰＵ５２１は、TmpmxDiffPitm=Pitm[fm]-AvePitmを算出し（ステップＳ９１１９）、TmpmxDiffPitm≧mxDiffPitmであるか否かを判別する（ステップＳ９１２１）。TmpmxDiffPitm≧mxDiffPitmではないと判別された場合（ステップＳ９１２１；Ｎｏ）は、すぐにステップＳ９１２５に進み、TmpmxDiffPitm≧mxDiffPitmであると判別された場合（ステップＳ９１２１；Ｙｅｓ）は、mxDiffPitmをmxDiffPitm=TmpmxDiffPitmのように更新してから（ステップＳ９１２３）、ステップＳ９１２５に進む。
【０１４７】
ステップＳ９１２５では、ＣＰＵ５２１は、fm≧Nfm[m]であるか否かを判別する。fm≧Nfm[m]ではないと判別された場合（ステップＳ９１２５；Ｎｏ）は、fmを1増加してから（ステップＳ９１２７）、ステップＳ９１１５に戻る。一方、fm≧Nfm[m]であると判別された場合（ステップＳ９１２５；Ｙｅｓ）は、ＣＰＵ５２１はmxDiffPitmを記憶部５２５に格納してから（ステップＳ９１２９）、ステップＳ９１３１に進む。
【０１４８】
ステップＳ９１３１では、ＣＰＵ５２１は、m≧NSpであるか否かを判別する。m≧NSpではないと判別された場合（ステップＳ９１３１；Ｎｏ）は、mを1増加してから（ステップＳ９１３３）、ステップＳ９１１３に戻る。一方、m≧NSpであると判別された場合（ステップＳ９１３１；Ｙｅｓ）は、処理を終了する。
【０１４９】
続いて、図１４のように、編集用録音音声別最小値mnDiffPitmを算出する。ＣＰＵ５２１は、音声データ識別用カウンタmをm=1に設定する（ステップＳ９１６１）。ＣＰＵ５２１はさらに、mnDiffPitmを0等の十分大きな値に設定するとともに、フレーム識別用カウンタfmをfm=0に設定する（ステップＳ９１６３）。
【０１５０】
なお、編集用録音音声別最小値mnDiffPitmは、この後の手順から明らかなように、最終的には0以下の値になる。よって、上述のようにステップＳ９１６３では、mnDiffPitmの初期値を例えば0とすれば、mnDiffPitmの初期値を十分大きな値に設定したといえる。
【０１５１】
ＣＰＵ５２１は、フレームfmが有声音のフレームであるか否かを判別する（ステップＳ９１６５）。
【０１５２】
フレームfmが有声音のフレームではないと判別された場合（ステップＳ９１６５；Ｎｏ）は、すぐにステップＳ９１７５に進む。
【０１５３】
フレームfmが有声音のフレームであると判別された場合（ステップＳ９１６５；Ｙｅｓ）は、ＣＰＵ５２１は、ピッチ系列データPitm[fm]と、図６に示す手順により求められた編集用録音平均値AvePitmと、を記憶部５２５からロードする（ステップＳ９１６７）。そして、ＣＰＵ５２１は、TmpmnDiffPitm=Pitm[fm]-AvePitmを算出し（ステップＳ９１６９）、TmpmnDiffPitm≦mnDiffPitmであるか否かを判別する（ステップＳ９１７１）。TmpmnDiffPitm≦mnDiffPitmではないと判別された場合（ステップＳ９１７１；Ｎｏ）は、すぐにステップＳ９１７５に進み、TmpmnDiffPitm≦mnDiffPitmであると判別された場合（ステップＳ９１７１；Ｙｅｓ）は、mnDiffPitmをmnDiffPitm=TmpmnDiffPitmのように更新してから（ステップＳ９１７３）、ステップＳ９１７５に進む。
【０１５４】
ステップＳ９１７５では、ＣＰＵ５２１は、fm≧Nfm[m]であるか否かを判別する。fm≧Nfm[m]ではないと判別された場合（ステップＳ９１７５；Ｎｏ）は、fmを1増加してから（ステップＳ９１７７）、ステップＳ９１６５に戻る。一方、fm≧Nfm[m]であると判別された場合（ステップＳ９１７５；Ｙｅｓ）は、ＣＰＵ５２１はmnDiffPitmを記憶部５２５に格納してから（ステップＳ９１７９）、ステップＳ９１８１に進む。
【０１５５】
ステップＳ９１８１では、ＣＰＵ５２１は、m≧NSpであるか否かを判別する。m≧NSpではないと判別された場合（ステップＳ９１８１；Ｎｏ）は、mを1増加してから（ステップＳ９１８３）、ステップＳ９１６３に戻る。一方、m≧NSpであると判別された場合（ステップＳ９１８１；Ｙｅｓ）は、処理を終了する。
【０１５６】
続いて、図１５のように、編集用録音総合最大値MaxDiffPitを算出する。ＣＰＵ５２１は、MaxDiffPitを0等の十分小さな値に設定するとともに、音声データ識別用カウンタmをm=1に設定する（ステップＳ９２１１）。
【０１５７】
ＣＰＵ５２１は、図１３に示す手順により求められた編集用録音音声別最大値mxDiffPitmを記憶部５２５からロードし（ステップＳ９２１３）、TmpMaxDiffPit= mxDiffPitmとし（ステップＳ９２１５）、TmpMaxDiffPit≧MaxDiffPitであるか否かを判別する（ステップＳ９２１７）。
【０１５８】
TmpMaxDiffPit≧MaxDiffPitではないと判別された場合（ステップＳ９２１７；Ｎｏ）は、すぐにステップＳ９２２１に進み、TmpMaxDiffPit≧MaxDiffPitであると判別された場合（ステップＳ９２１７；Ｙｅｓ）は、MaxDiffPitをMaxDiffPit =TmpMaxDiffPitのように更新してから（ステップＳ９２１９）、ステップＳ９２２１に進む。
【０１５９】
ステップＳ９２２１では、ＣＰＵ５２１は、m≧NSpであるか否かを判別する。m≧NSpではないと判別された場合（ステップＳ９２２１；Ｎｏ）は、mを1増加してから（ステップＳ９２２３）、ステップＳ９２１３に戻る。一方、m≧NSpであると判別された場合（ステップＳ９２２１；Ｙｅｓ）は、ＣＰＵ５２１は、MaxDiffPitを記憶部５２５に格納してから（ステップＳ９２２５）、処理を終了する。
【０１６０】
続いて、図１６のように、編集用録音総合最小値MinDiffPitを算出する。ＣＰＵ５２１は、MinDiffPitを0等の十分大きな値に設定するとともに、音声データ識別用カウンタmをm=1に設定する（ステップＳ９２６１）。
【０１６１】
なお、編集用録音総合最小値MinDiffPitは、この後の手順から明らかなように、最終的には0以下の値になる。よって、上述のようにステップＳ９２６１では、MinDiffPitの初期値を例えば0とすれば、MinDiffPitの初期値を十分大きな値に設定したといえる。
【０１６２】
ＣＰＵ５２１は、図１４に示す手順により求められた編集用録音音声別最小値mnDiffPitmを記憶部５２５からロードし（ステップＳ９２６３）、TmpMinDiffPit= mnDiffPitmとし（ステップＳ９２６５）、TmpMinDiffPit≦MinDiffPitであるか否かを判別する（ステップＳ９２６７）。
【０１６３】
TmpMinDiffPit≦MinDiffPitではないと判別された場合（ステップＳ９２６７；Ｎｏ）は、すぐにステップＳ９２７１に進み、TmpMinDiffPit≦MinDiffPitであると判別された場合（ステップＳ９２６７；Ｙｅｓ）は、MinDiffPitをMinDiffPit =TmpMinDiffPitのように更新してから（ステップＳ９２６９）、ステップＳ９２７１に進む。
【０１６４】
ステップＳ９２７１では、ＣＰＵ５２１は、m≧NSpであるか否かを判別する。m≧NSpではないと判別された場合（ステップＳ９２７１；Ｎｏ）は、mを1増加してから（ステップＳ９２７３）、ステップＳ９２６３に戻る。一方、m≧NSpであると判別された場合（ステップＳ９２７１；Ｙｅｓ）は、ＣＰＵ５２１は、MinDiffPitを記憶部５２５に格納してから（ステップＳ９２７５）、処理を終了する。
【０１６５】
続いて、合成音声についての様々な編集用係数を求める。その手順を示したフローチャートが図１７〜図２０であるが、これらの図に示された手順は、上述の元の音声についての図１３〜図１６に示された手順とほぼ並行した手順となっている。そこで、説明が煩雑になるのを避けるために、以下では、各ステップの詳細な説明は省略し、主な注意点についてのみ説明する。
【０１６６】
図１７に示す手順に従って、編集用合成音声別最大値mxDiffSynPitmを算出する（ステップＳ９３１１〜Ｓ９３３３）。この手順は、図１３に示した、編集用録音音声別最大値mxDiffPitmを算出する手順と酷似している。主な相違点は、ピッチ系列データPitm[fm]ではなく合成音声ピッチ系列データSynPitm[fm]を扱う点（ステップＳ９３１７、ステップＳ９３１９）や、図６に示した手順により求めた編集用録音平均値AvePitmではなく図７に示した手順により求めた編集用合成平均値AveSynPitmを用いる点（ステップＳ９３１７、ステップＳ９３１９）や、m番目の音声データに対応するフレームの番号の上限としてNfm[m]ではなくMfm[m]を用いる点（ステップＳ９３２５）である。
【０１６７】
図１８に示す手順に従って、編集用合成音声別最小値mnDiffSynPitmを算出する（ステップＳ９３６１〜Ｓ９３８３）。この手順は、図１４に示した、編集用録音音声別最小値mnDiffPitmを算出する手順と酷似している。主な相違点は、ピッチ系列データPitm[fm]ではなく合成音声ピッチ系列データSynPitm[fm]を扱う点（ステップＳ９３６７、ステップＳ９３６９）や、図６に示した手順により求めた編集用録音平均値AvePitmではなく図７に示した手順により求めた編集用合成平均値AveSynPitmを用いる点（ステップＳ９３６７、ステップＳ９３６９）や、m番目の音声データに対応するフレームの番号の上限としてNfm[m]ではなくMfm[m]を用いる点（ステップＳ９３７５）である。
【０１６８】
図１９に示す手順に従って、編集用合成総合最大値MaxDiffSynPitを算出する（ステップＳ９４１１〜Ｓ９４２５）。この手順は、図１５に示した、編集用録音総合最大値MaxDiffPitを算出する手順と酷似している。主な相違点は、図１３に示した手順により求めた編集用録音音声別最大値mxDiffPitmではなく図１７に示した手順により求めた編集用合成音声別最大値mxDiffSynPitmを用いること（ステップＳ９４１３、ステップＳ９４１５）である。
【０１６９】
図２０に示す手順に従って、編集用合成総合最小値MinDiffSynPitを算出する（ステップＳ９４６１〜Ｓ９４７５）。この手順は、図１６に示した、編集用録音総合最小値MinDiffPitを算出する手順と酷似している。主な相違点は、図１４に示した手順により求めた編集用録音音声別最小値mnDiffPitmではなく図１８に示した手順により求めた編集用合成音声別最小値mnDiffSynPitmを用いること（ステップＳ９４６３、ステップＳ９４６５）である。
【０１７０】
本変形例において最終的に編集ピッチ系列データEdPitm[fm]を求める手順を、図２１のフローチャートに示す。本変形例における編集ピッチ系列データを、第１変形編集ピッチ系列データと呼ぶことにする。
【０１７１】
第１変形編集ピッチ系列データEdPitm[fm]を求めるためには、まず、ＣＰＵ５２１は、図１５に示した手順により求められた編集用録音総合最大値MaxDiffPitと、図１９に示した手順により求められた編集用合成総合最大値MaxDiffSynPitと、図１６に示した手順により求められた編集用録音総合最小値MinDiffPitと、図２０に示した手順により求められた編集用合成総合最小値MinDiffSynPitと、を記憶部５２５からロードする（ステップＳ９５１１）。
【０１７２】
続いて、ＣＰＵ５２１は、音声データ識別用カウンタmを、m=1に設定し（ステップＳ９５１３）、フレーム識別用カウンタfmをfm=0に設定する（ステップＳ９５１５）。
【０１７３】
ＣＰＵ５２１は、ピッチ系列データPitm[fm]をロードし（ステップＳ９５１７）、フレームfmが有声音のフレームであるか否かを判別する（ステップＳ９５１９）。
【０１７４】
フレームfmが有声音のフレームであると判別された場合（ステップＳ９５１９；Ｙｅｓ）は、ＣＰＵ５２１は、図６に示した手順により求められた編集用録音平均値AvePitmを記憶部５２５からロードする（ステップＳ９５２１）。そして、ＣＰＵ５２１は、Pitm[fm]-AvePitm[fm]≧0であるか否かを判別する（ステップＳ９５２３）。
【０１７５】
Pitm[fm]-AvePitm≧0であると判別された場合（ステップＳ９５２３；Ｙｅｓ）は、第１変形編集ピッチ系列データEdpitm[fm]を、
Edpitm[fm]=(Pitm[fm]- AvePitm)×(MaxDiffPit/MaxDiffSynPit)+AvePitm
により算出し（ステップＳ９５２５）、記憶部５２５に格納する（ステップＳ９５３１）。
【０１７６】
Pitm[fm]-AvePitm[fm]≧0ではないと判別された場合（ステップＳ９５２３；Ｎｏ）は、第１変形編集ピッチ系列データEdpitm[fm]を、
Edpitm[fm]=(Pitm[fm]- AvePitm)×(MinDiffPit/MinDiffSynPit)+AvePitm
により算出し（ステップＳ９５２７）、記憶部５２５に格納する（ステップＳ９５３１）。
【０１７７】
ステップＳ９５１９でフレームfmが有声音のフレームではないと判別された場合（ステップＳ９５１９；Ｎｏ）は、ＣＰＵ５２１は、Pitm[fm]をそのまま第１編集ピッチ系列データEdpitm[fm]とし（ステップＳ９５２９）、記憶部５２５に格納する（ステップＳ９５３１）。
【０１７８】
ＣＰＵ５２１は、fm≧Nfm[m]であるか否かを判別する（ステップＳ９５３３）。fm≧Nfm[m]ではないと判別された場合（ステップＳ９５３３；Ｎｏ）は、fmを1増加してから（ステップＳ９５３５）、ステップＳ９５１７に戻る。一方、fm≧Nfm[m]であると判別された場合（ステップＳ９５３３；Ｙｅｓ）は、ステップＳ９５３７に進む。
【０１７９】
ステップＳ９５３７では、ＣＰＵ５２１は、m≧NSpであるか否かを判別する。m≧NSpではないと判別された場合（ステップＳ９５３７；Ｎｏ）は、mを1増加してから（ステップＳ９５３９）、ステップＳ９５１５に戻る。一方、m≧NSpであると判別された場合（ステップＳ９５３７；Ｙｅｓ）は、処理を終了する。
【０１８０】
編集の具体例１においては、ピッチ変動を拡大するための乗数として、一律に(MaxAbsDiffPit/MaxAbsDiffSynPit)という値を用いた。それに対して、本変形例においては、図２１のステップＳ９５２３〜ステップＳ９５２７に示すように、ピッチ係数系列データがその平均値を上回っている場合と下回っている場合とで別の乗数を用いる。これにより、計算はわずかに複雑になるものの、より適切にピッチ変動を拡大することができると期待される。
【０１８１】
上記の上回っている場合の乗数としては、元の音声データ全部を走査して求めた、ピッチ平均からの上側へのズレの最大値であるMaxDiffPitを、ほぼ確実にそれよりも小さな値である、合成音声データ全部を走査して同様に求めたMaxDiffSynPitにより除した値を用いるのが最も簡易かつ確実であると考えられる。同様に、上記の下回っている場合の乗数としては、元の音声データ全部を走査して求めた、ピッチ平均からの下側へのズレの最大値であるMinDiffPitを、ほぼ確実にそれよりも絶対値としては小さな値である、合成音声データ全部を走査して同様に求めたMinDiffSynPitにより除した値を用いるのが最も簡易かつ確実であると考えられる。図１３〜図２１に示した手順は、かかる考察結果を、具体的な処理手順に反映させた結果である。
【０１８２】
なお、MinDiffPit及びMinDiffSynPitは、計算処理の過程ではいずれもほぼ確実に負の値となるが、上述の乗数として用いられるのは除算(MinDiffPit÷MinDiffSynPit)の結果であり、これはほぼ確実に正の値となる。
【０１８３】
また、既に述べたとおり、従来の合成音声は元の音声に比べてピッチ変動が小さいため、上述の2種類の乗数(MaxDiffPit/MaxDiffSynPit)、(MinDiffPit/MinDiffSynPit)は、ほぼ確実に、いずれも1より大きくなり、ピッチ変動を拡大するための乗数として適切である。
【０１８４】
（編集の具体例２）
図２２は、本編集の具体例における編集ピッチ系列データである第２編集ピッチ系列データEdPitm[fm]を算出する手順を示すフローチャートである。以下、このフローチャートを参照しつつ説明する。
【０１８５】
ＣＰＵ５２１は、音声データ識別用カウンタmをm=1に設定し（ステップＳ５１１）、編集用録音音声別最大絶対値mxAbsDiffPitmと編集用合成音声別最大絶対値mxAbsDiffSynPitmとを記憶部５２５からロードし（ステップＳ５１３）、フレーム識別用カウンタfmをfm=0に設定し（ステップＳ５１５）、ピッチ系列データPitm[fm]を記憶部５２５からロードし（ステップＳ５１７）、フレームfmが有声音のフレームであるか否かを判別する（ステップＳ５１９）。
【０１８６】
なお、ここで、編集用録音音声別最大絶対値mxAbsDiffPitmと編集用合成音声別最大絶対値mxAbsDiffSynPitmとは、それぞれ、既に述べた、図８と図９とに示す手順により、求められる。
【０１８７】
フレームfmが有声音のフレームであると判別された場合（ステップＳ５１９；Ｙｅｓ）は、ＣＰＵ５２１は、図６に示す手順により求められた編集用録音平均値AvePitmをロードし（ステップＳ５２１）、編集ピッチ系列データEdPitm[fm]を、
Ed Pitm[fm]= (Pitm[fm]- AvePitm)×(mxAbsDiffPitm/mxAbsDiffSynPitm)+AvePitm
により算出し（ステップＳ５２３）、記憶部５２５に格納する（ステップＳ５２７）。
【０１８８】
フレームfmが有声音のフレームではないと判別された場合（ステップＳ５１９；Ｎｏ）は、ＣＰＵ５２１は、ピッチ系列データPitm[fm]をそのまま編集ピッチ系列データEdPitm[fm]とし（ステップＳ５２５）、記憶部５２５に格納する（ステップＳ５２７）。
【０１８９】
ステップＳ５２９では、ＣＰＵ５２１は、fm≧Nfm[m]であるか否かを判別する。fm≧Nfm[m]ではないと判別された場合（ステップＳ５２９；Ｎｏ）は、fmを1増加してから（ステップＳ５３１）、ステップＳ５１７に戻る。一方、fm≧Nfm[m]であると判別された場合（ステップＳ５２９；Ｙｅｓ）は、ステップＳ５３３に進む。
【０１９０】
ステップＳ５３３では、ＣＰＵ５２１は、m≧NSpであるか否かを判別する。m≧NSpではないと判別された場合（ステップＳ５３３；Ｎｏ）は、mを1増加してから（ステップＳ５３５）、ステップＳ５１３に戻る。一方、m≧NSpであると判別された場合（ステップＳ５３３；Ｙｅｓ）は、処理を終了する。
【０１９１】
本編集の具体例においては、編集の具体例１と同様に、ピッチ系列データをその平均値を基準として上下に拡大することにより、ピッチ変動を大きくする。そして、そのために、ピッチ系列データとその平均値との差にある係数を乗じる。ただし、編集の具体例１においては、該係数として音声データに依存しない値（すなわち音声データ識別用カウンタmに依存しない値）である(MaxAbsDiffPit/MaxAbsDiffSynPit)を一律に採用するのに対して、本編集の具体例においては、該係数として音声データ毎に求められる値（すなわち音声データ識別用カウンタmに依存する値）である(mxAbsDiffPitm/mxAbsDiffSynPitm)を採用する点が異なる。つまり、本編集の具体例においては、あるピッチ系列データを編集して編集ピッチ系列データを生成するにあたり、該ピッチ系列データの算出に用いられるフレームが属する音声データに対応するひとかたまりのピッチ系列データだけが参照される。換言すれば、音声データ毎に編集処理が完結しているといえる。
【０１９２】
このようにすると、編集の具体例１の場合よりも、上述の係数が多くなるため処理が煩雑になるが、各音声データの特性に応じて編集用係数を変化させるため、より適切な編集が達成される。例えば、編集の具体例１の場合、特異的な音声データが１つ存在しただけでも、上述の係数がそれに影響され、全ての音声データについてのピッチ系列データの編集が適切に行われない可能性があるが、本編集の具体例においては、かかる特異なデータの存在が編集処理全体に対して悪影響を及ぼすことはない。
【０１９３】
（編集の具体例２の変形例）
図２３は、編集の具体例２の変形例における編集ピッチ系列データである第２変形編集ピッチ系列データEdPitm[fm]を算出する手順を示すフローチャートである。以下、このフローチャートを参照しつつ説明する。
【０１９４】
ＣＰＵ５２１は、音声データ識別用カウンタmをm=1に設定し（ステップＳ９６１１）、編集用録音音声別最大値mxDiffPitmと編集用合成音声別最大値mxDiffSynPitmと編集用録音音声別最小値mnDiffPitmと編集用合成音声別最小値mnDiffSynPitmとを記憶部５２５からロードし（ステップＳ９６１３）、フレーム識別用カウンタfmをfm=0に設定し（ステップＳ９６１５）、ピッチ系列データPitm[fm]を記憶部５２５からロードし（ステップＳ９６１７）、フレームfmが有声音のフレームであるか否かを判別する（ステップＳ９６１９）。
【０１９５】
なお、ここで、編集用録音音声別最大値mxDiffPitmと編集用合成音声別最大値mxDiffSynPitmと編集用録音音声別最小値mnDiffPitmと編集用合成音声別最小値mnDiffSynPitmとは、それぞれ、既に述べた、図１３と図１７と図１４と図１８とに示す手順により、求められる。
【０１９６】
フレームfmが有声音のフレームであると判別された場合（ステップＳ９６１９；Ｙｅｓ）は、ＣＰＵ５２１は、図６に示す手順により求められた編集用録音平均値AvePitmをロードし（ステップＳ９６２１）、Pitm[fm]- AvePitm≧0であるか否かを判別する（ステップＳ９６２３）。
【０１９７】
Pitm[fm]- AvePitm≧0であると判別された場合（ステップＳ９６２３；Ｙｅｓ）は、ＣＰＵ５２１は、編集ピッチ系列データEdPitm[fm]を、
Ed Pitm[fm]= (Pitm[fm]- AvePitm)×(mxDiffPitm/mxDiffSynPitm)+AvePitm
により算出し（ステップＳ９６２５）、記憶部５２５に格納する（ステップＳ９６３１）。一方、Pitm[fm]- AvePitm≧0ではないと判別された場合（ステップＳ９６２３；Ｎｏ）は、ＣＰＵ５２１は、編集ピッチ系列データEdPitm[fm]を、
Ed Pitm[fm]= (Pitm[fm]- AvePitm)×(mnDiffPitm/mnDiffSynPitm)+AvePitm
により算出し（ステップＳ９６２７）、記憶部５２５に格納する（ステップＳ９６３１）。
【０１９８】
フレームfmが有声音のフレームではないと判別された場合（ステップＳ９６１９；Ｎｏ）は、ＣＰＵ５２１は、ピッチ系列データPitm[fm]をそのまま編集ピッチ系列データEdPitm[fm]とし（ステップＳ９６２９）、記憶部５２５に格納する（ステップＳ９６３１）。
【０１９９】
ステップＳ９６３３では、ＣＰＵ５２１は、fm≧Nfm[m]であるか否かを判別する。fm≧Nfm[m]ではないと判別された場合（ステップＳ９６３３；Ｎｏ）は、fmを1増加してから（ステップＳ９６３５）、ステップＳ９６１７に戻る。一方、fm≧Nfm[m]であると判別された場合（ステップＳ９６３３；Ｙｅｓ）は、ステップＳ９６３７に進む。
【０２００】
ステップＳ９６３７では、ＣＰＵ５２１は、m≧NSpであるか否かを判別する。m≧NSpではないと判別された場合（ステップＳ９６３７；Ｎｏ）は、mを1増加してから（ステップＳ９６３９）、ステップＳ９６１３に戻る。一方、m≧NSpであると判別された場合（ステップＳ９６３７；Ｙｅｓ）は、処理を終了する。
【０２０１】
本変形例は、既に述べた編集の具体例１の変形例における、ピッチ系列データがその平均値を上回っているか否かによりピッチ変動拡大用の係数を変化させることによる長所と、既に述べた編集の具体例２における、音声データ毎に処理を完結させることによる長所と、を併せ持っている。
【０２０２】
（実施形態２）
本発明の実施形態２に係る音声合成辞書構築装置は、図２〜図４に示した実施形態１に係る音声合成辞書構築装置の機能ブロックのうち、図４に示す第２学習部１１７を、図２４に示す音素ラベルデータ比較機能付第２学習部１１９に置換したものである。
【０２０３】
音素ラベルデータ比較機能付第２学習部１１９（図２４）は、第２学習部１１７（図４）の中に、モノフォン用音素ラベルデータ生成部３３１を付加したものである。
【０２０４】
モノフォン用音素ラベルデータ生成部３３１は、合成部１１３（図３）から出力された合成音声データSynSpmを受け取り、合成音声のモノフォンラベルデータである合成音声モノフォンラベルデータmLabDatam[ml]（1≦ml≦MLSynSp[m]、ただし、MLSynSp[m]は合成音声SynSpmにおけるモノフォンラベルの数である。）を生成して出力する。
【０２０５】
合成音声モノフォンラベルデータmLabDatam[ml]は、合成音声モノフォンラベルmLabm[ml]と、合成音声データSynSpmの継続時間のうち該合成音声モノフォンラベルの始点に該当する時刻を指し示すポインタである合成音声開始フレームmFrameSm[ml]と、終点に該当する時刻を指し示すポインタである合成音声終了フレームmFrameEm[ml]と、から構成される。
【０２０６】
また、第２学習部１１７の中の方針決定部３４３には、ピッチ系列データPitm[fm]と合成音声ピッチ系列データSynPitm[fm]とが集められるのに対し、音素ラベルデータ比較機能付第２学習部１１９の中の方針決定部３４３には、それらに加えて、第１音声データベース２２１（図２）に格納されているモノフォンラベルデータMLabDatam[ml]とモノフォン用音素ラベルデータ生成部３３１から出力された合成音声モノフォンラベルデータmLabDatam[ml]とが集められる。
【０２０７】
音素ラベルデータ比較機能付第２学習部１１９の中の方針決定部３４３は、第２学習部１１７の中の方針決定部３４３と異なり、ピッチ系列データPitm[fm]と合成音声ピッチ系列データSynPitm[fm]とだけからピッチ系列データPitm[fm]の編集方針を決定するのではなく、それらに加えてモノフォンラベルデータMLabDatam[ml]と合成音声モノフォンラベルデータmLabDatam[ml]とを総合的に比較検討してピッチ系列データPitm[fm]の編集方針を決定する。
【０２０８】
すなわち、音素ラベルデータ比較機能付第２学習部１１９の中の方針決定部３４３に引き渡されるのは、人間の自然な発話から収集された音声データに基づいて生成されたものであるモノフォンラベルデータMLabDatam[ml]及びピッチ系列データPitm[fm]と、いったん音声合成辞書を経て生成された合成音声データに基づいて生成されたものである合成音声モノフォンラベルデータmLabDatam[ml]及び合成音声ピッチ系列データSynPitm[fm]と、が集められる。方針決定部３４３は、これら４種のデータを集めるので、これらを比較検討することができる。
【０２０９】
以下に、音素ラベルデータ比較機能付第２学習部１１９の中の方針決定部３４３により決定された編集方針に従い音素ラベルデータ比較機能付第２学習部１１９の中の編集部３４５が実行する編集処理の手順について、図２５に示すフローチャートを参照しつつ、説明する。図２５では、本実施形態における編集ピッチ系列データを、第３編集ピッチ系列データEdPitm[fm]と表記した。
【０２１０】
なお、既に実施形態１における編集の具体例について触れた箇所で説明したとおり、少なくとも定性的には、個々のピッチ系列データPitm[fm]とその平均値との差を大きくしたものを編集ピッチ系列データPitm[fm]とすれば、音声データSpmのピッチ変動は大きくなる。ところで、特に前記平均値に拘泥しなくても、ピッチ系列データPitm[fm]全体を拡大したものを編集ピッチ系列データPitm[fm]とすることによっても、音声データSpmのピッチ変動は大きくなる。換言すれば、平均値を基準にするかわりに、ゼロレベルを基準にして全体を拡大することによっても、ピッチ変動を大きくすることができる。本実施形態においては、編集方針として、ピッチ系列データPitm[fm]全体を拡大する方針を採ることとする。
【０２１１】
もっとも、本実施形態においても、実施形態１における編集の具体例と同様な編集方針を採ってもよい。例えば、後述のステップＳ６１９において、フレームfmが有声音の場合は
EdPitm[fm]=( Pitm[fm]-AvePitm)×(AvePitLabm[ml]/AveSynPitLabm[ml])+ AvePitm
とし、フレームfmが無声音の場合は
EdPitm[fm]= Pitm[fm]
としてもよい。
【０２１２】
音声データSpm、モノフォンラベルデータMLabDatam[ml]、トライフォンラベルデータTLabDatam[tl]、ピッチ系列データPitm[fm]、メルケプストラム係数系列データMCmd[fm]、合成音声ピッチ系列データSynPitm[fm]、及び、合成音声モノフォンラベルデータmLabDatam[ml]は、既に求められ、記憶部５２５に格納されているものとする。
【０２１３】
まず、ＣＰＵ５２１は、音声データ識別用カウンタmをm=1に設定し（ステップＳ６１１）、フレーム識別用カウンタfmをfm=0に設定する（ステップＳ６１３）。
【０２１４】
次に、ＣＰＵ５２１は、フレームfmがどのモノフォンラベルデータMLabDatam[ml]に対応しているかを調査する。具体的には、ＣＰＵ５２１は、記憶部５２５の中を検索して、MFrameSm[ml']≦fm≦MFrameEm[ml']を満たすようなモノフォン番号ml'を求め、モノフォンラベルデータ識別用カウンタmlをml=ml'に設定する（ステップＳ６１５）。
【０２１５】
続いて、ＣＰＵ５２１は、元の音声と合成音声とについてそれぞれモノフォン単位でピッチ系列データを平均した結果であるAvePitLabm[ml]とAveSynPitLabm[ml]とを算出する（ステップＳ６１７）。かかる算出の具体的な手順については、後に図２６を参照しつつ説明する。
【０２１６】
続いて、ＣＰＵ５２１は、本実施形態における編集ピッチ系列データである第３編集ピッチ系列データEdPitm[fm]を、
EdPitm[fm]= Pitm[fm]×(AvePitLabm[ml]/AveSynPitLabm[ml])
により算出し（ステップＳ６１９）、記憶部５２５に格納する（ステップＳ６２１）。
【０２１７】
続いて、ＣＰＵ５２１は、fm≧Nfm[m]であるか否かを判別する（ステップＳ６２３）。fm≧Nfm[m]ではないと判別された場合（ステップＳ６２３；Ｎｏ）は、fmを1増加してから（ステップＳ６２５）、ステップＳ６１５に戻る。一方、fm≧Nfm[m]であると判別された場合（ステップＳ６２３；Ｙｅｓ）は、ステップＳ６２７に進む。
【０２１８】
ステップＳ６２７では、ＣＰＵ５２１は、m≧NSpであるか否かを判別する。m≧NSpではないと判別された場合（ステップＳ６２７；Ｎｏ）は、mを1増加してから（ステップＳ６２９）、ステップＳ６１３に戻る。一方、m≧NSpであると判別された場合（ステップＳ６２７；Ｙｅｓ）は、処理を終了する。
【０２１９】
上述の、ステップＳ６１７におけるAvePitLabm[ml]とAveSynPitLabm[ml]とを算出する手順は、図２６に示すとおりである。
【０２２０】
ＣＰＵ５２１は、開始フレームMFrameSm[ml]、終了フレームMFrameEm[ml]、合成音声開始フレームmFrameSm[ml]、及び、合成音声終了フレームmFrameEm[ml]を記憶部５２５からロードし（ステップＳ６６１）、さらに、ピッチ系列データPitm[MFrameSm[ml]]、Pitm[MFrameSm[ml]+1]、・・・、Pitm[MFrameEm[ml]-1]、Pitm[MFrameEm[ml]]と、合成音声メルケプストラム係数系列データSynPitm[mFrameSm[ml]]、SynPitm[mFrameSm[ml]+1]、・・・、SynPitm[mFrameEm[ml]-1]、SynPitm[mFrameEm[ml]]と、をロードし（ステップＳ６６３）、AvePitLabm[ml]とAveSynPitLabm[ml]とを、次の式に従って算出する（ステップＳ６６５）。
AvePitLabm[ml]
=  (Pitm[MFrameSm[ml]]+Pitm[MFrameSm[ml]+1]+・・・
+Pitm[MFrameEm[ml]-1]+Pitm[MFrameEm[ml]])
÷(MFrameEm[ml]-MFrameSm[ml]+1)、
AveSynPitLabm[ml]
=  (SynPitm[mFrameSm[ml]]+SynPitm[mFrameSm[ml]+1]+・・・
+SynPitm[mFrameEm[ml]-1]+SynPitm[mFrameEm[ml]])
÷(mFrameEm[ml]-mFrameSm[ml]+1)
【０２２１】
上述のとおり、AvePitLabm[ml]とAveSynPitLabm[ml]とは、それぞれ、元の音声と合成音声とについてそれぞれモノフォン単位でピッチ系列データを平均した結果である。このことは、上の式から明らかである。
【０２２２】
音声データよりも小さい単位であるモノフォン単位では、各単位に対応する時間帯には、その時間帯の短さゆえに、概ね、ピッチの山の部分だけ又は谷の部分だけが含まれる。
【０２２３】
既に述べたように、一般に、元の音声に比べ、合成音声は、平坦な印象を与える不自然な音声となることが知られている。これは、ピッチの山の部分が低くなるとともに、ピッチの谷の部分が高くなることに相当する。さて、本実施形態においては、元のピッチに乗じられる値である拡大率AvePitLabm[ml]/AveSynPitLabm[ml]はモノフォンラベル単位で決定される。ピッチの山の部分に対応するモノフォンラベル単位では、山の部分が上述のように低くなることに対応して、AvePitLabm[ml]＞AveSynPitLabm[ml]となる。すると、前記拡大率は1より大きくなる。これは、元の音声において、音声合成後は低くなるであろうことを見越してピッチの山をあらかじめ盛り上げるようピッチ編集を施しておいて、音声合成後のピッチの山が元に比べて低くならないようにしていることを意味する。一方、ピッチの谷の部分に対応するモノフォンラベル単位では、谷の部分が上述のように高くなることに対応して、AvePitLabm[ml]＜AveSynPitLabm[ml]となる。すると、前記拡大率は1より小さくなる。これは、元の音声において、音声合成後は高くなるであろうことを見越してピッチの谷をあらかじめ掘り下げるようピッチ編集を施しておいて、音声合成後のピッチの谷が元に比べて高くならないようにしていることを意味する。このように、本実施例においては、拡大率は1より大きかったり小さかったりするが、ピッチ編集によりピッチ変動が拡大されることが期待される点では、実施形態1の場合と同じである。
【０２２４】
なお、この発明は、上述の実施形態や具体例や変形例に限定されず、さらなる種々の変形及び応用が可能である。上述のハードウェア構成やブロック構成、フローチャートは説明のための例示であって、本願発明の範囲を限定するものではない。
【０２２５】
例えば、図２〜図４に示した実施形態１に係る音声合成辞書構築装置において、時系列データ生成部３２３（図３）が生成したピッチ時系列データ（これは合成音声ピッチ系列データSynPitm[fm]と同じものである。）を、方針決定部３４３（図４）に直接に入力する変形例も考えられる。この変形例においては、励起音源生成部３２５（図３）、ＭＬＳＡ合成フィルタ部３２７（図３）、及び、第２ピッチ抽出部３４１（図４）を、省略することができる。
【０２２６】
図２、図３、図２４に示した実施形態２に係る音声合成辞書構築装置においても、同様な変形例が考えられる。ただしその際は、各モノフォンラベルのピッチ時系列データに相当する範囲を示す情報が方針決定部３４３（図２４）に共に送られるようにする必要がある。
【０２２７】
あるいは例えば、有声音のフレームにおける編集にあたって、ピッチ系列データのその平均からのズレが大きいほどかかるズレの拡大率を大きくするような方針を採用してピッチ変動を大きくするようにしてもよい。
【図面の簡単な説明】
【０２２８】
【図１】一般的な音声データベースを構築するための、ラベルデータの作成の流れを示す図である。
【図２】本発明の実施形態１に係る音声合成辞書構築装置の一部をなす第１学習部等の機能構成図である。
【図３】本発明の実施形態１に係る音声合成辞書構築装置の一部をなす合成部の機能構成図である。
【図４】本発明の実施形態１に係る音声合成辞書構築装置の一部をなす第２学習部等の機能構成図である。
【図５】本発明の実施の形態に係る音声合成辞書構築装置の物理的な構成を示す図である。
【図６】ピッチ系列データを編集するために必要な編集用録音平均値AvePitmを算出する処理の流れを示す図である。
【図７】ピッチ系列データを編集するために必要な編集用合成平均値AveSynPitmを算出する処理の流れを示す図である。
【図８】ピッチ系列データを編集するために必要な編集用録音音声別最大絶対値mxAbsDiffPitmを算出する処理の流れを示す図である。
【図９】ピッチ系列データを編集するために必要な編集用合成音声別最大絶対値mxAbsDiffSynPitmを算出する処理の流れを示す図である。
【図１０】ピッチ系列データを編集するために必要な編集用録音総合最大絶対値MaxAbsDiffPitを算出する処理の流れを示す図である。
【図１１】ピッチ系列データを編集するために必要な編集用合成総合最大絶対値MaxAbsDiffSynPitを算出する処理の流れを示す図である。
【図１２】編集の具体例１における編集ピッチ系列データEdPitm[fm]である第１編集ピッチ系列データを算出する処理の流れを示す図である。
【図１３】ピッチ系列データを編集するために必要な編集用録音音声別最大値mxDiffPitmを算出する処理の流れを示す図である。
【図１４】ピッチ系列データを編集するために必要な編集用録音音声別最小値mnDiffPitmを算出する処理の流れを示す図である。
【図１５】ピッチ系列データを編集するために必要な編集用録音総合最大値MaxDiffPitを算出する処理の流れを示す図である。
【図１６】ピッチ系列データを編集するために必要な編集用録音総合最小値MinDiffPitを算出する処理の流れを示す図である。
【図１７】ピッチ系列データを編集するために必要な編集用合成音声別最大値mxDiffSynPitmを算出する処理の流れを示す図である。
【図１８】ピッチ系列データを編集するために必要な編集用合成音声別最小値mnDiffSynPitmを算出する処理の流れを示す図である。
【図１９】ピッチ系列データを編集するために必要な編集用合成総合最大値MaxDiffSynPitを算出する処理の流れを示す図である。
【図２０】ピッチ系列データを編集するために必要な編集用合成総合最小値MinDiffSynPitを算出する処理の流れを示す図である。
【図２１】編集の具体例１の変形例における編集ピッチ系列データEdPitm[fm]である第１変形編集ピッチ系列データを算出する処理の流れを示す図である。
【図２２】編集の具体例２における編集ピッチ系列データEdPitm[fm]である第２編集ピッチ系列データを算出する処理の流れを示す図である。
【図２３】編集の具体例２の変形例における編集ピッチ系列データEdPitm[fm]である第２変形編集ピッチ系列データを算出する処理の流れを示す図である。
【図２４】本発明の実施形態２に係る音声合成辞書構築装置の一部をなす音声ラベルデータ比較機能付第２学習部等の機能構成図である。
【図２５】本発明の実施形態２における編集ピッチ系列データEdPitm[fm]である第３編集ピッチ系列データを算出する処理の流れを示す図である。
【図２６】ピッチ系列データを編集するために必要な、音素単位でのピッチ平均であるAvePitLabm[ml]とAveSynPitLabm[ml]とを算出する処理の流れを示す図である。
【符号の説明】
【０２２９】
１１１・・・第１学習部、１１３・・・合成部、１１７・・・第２学習部、１１９・・・音声ラベルデータ比較機能付第２学習部、２２１・・・第１音声データベース、２２３・・・第１音声合成辞書、２２７・・・第２音声合成辞書、３１１・・・第１ピッチ抽出部、３１３・・・メルケプストラム分析部、３１５・・・第１音素ＨＭＭ学習部、３２１・・・音素ＨＭＭ列生成部、３２３・・・時系列データ生成部、３２５・・・励起音源生成部、３２７・・・ＭＬＳＡ合成フィルタ部、３３１・・・モノフォン用音素ラベルデータ生成部、３４１・・・第２ピッチ抽出部、３４３・・・方針決定部、３４５・・・編集部、３４７・・・第２音素ＨＭＭ学習部、５１１・・・コンピュータ装置、５２１・・・ＣＰＵ、５２３・・・ＲＯＭ、５２５・・・記憶部、５２７・・・ＲＡＭ、５２９・・・内蔵ハードディスク、５３１・・・操作キー、５３３・・・操作キー入力処理部、５４１・・・システムバス、５５１・・・第１リムーバブルハードディスク、５５３・・・第２リムーバブルハードディスク、５５５・・・データ入出力Ｉ／Ｆ
【図１】
2008191368.tif 000003
【図２】
2008191368.tif 000004
【図３】
2008191368.tif 000005
【図４】
2008191368.tif 000006
【図５】
2008191368.tif 000007
【図６】
2008191368.tif 000008
【図７】
2008191368.tif 000009
【図８】
2008191368.tif 000010
【図９】
2008191368.tif 000011
【図１０】
2008191368.tif 000012
【図１１】
2008191368.tif 000013
【図１２】
2008191368.tif 000014
【図１３】
2008191368.tif 000015
【図１４】
2008191368.tif 000016
【図１５】
2008191368.tif 000017
【図１６】
2008191368.tif 000018
【図１７】
2008191368.tif 000019
【図１８】
2008191368.tif 000020
【図１９】
2008191368.tif 000021
【図２０】
2008191368.tif 000022
【図２１】
2008191368.tif 000023
【図２２】
2008191368.tif 000024
【図２３】
2008191368.tif 000025
【図２４】
2008191368.tif 000026
【図２５】
2008191368.tif 000027
【図２６】
2008191368.tif 000028