(57)【特許請求の範囲】
【請求項１】
音素毎に学習された隠れマルコフモデルの状態を示す状態情報であって、周波数に関する代表値およびデータの広がりを表す状態情報を予め記憶し、
ピッチパタン補正単位毎の読みを示す情報に基づいて、ピッチパタン補正単位の読みによって特定される各音素の状態情報を、前記ピッチパタン補正単位の読みによって特定される音素順に配列し、
少なくとも、前記ピッチパタン補正単位とその前のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である前方韻律制御情報と、前記ピッチパタン補正単位とその後のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である後方韻律制御情報とのいずれかを用いて、状態情報が表す周波数に関する代表値を変換するための代表値変換用変換係数を導出する代表値変換用単調関数を定め、
前記代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、
前記代表値変換用変換係数を用いて、配列した状態情報が表す周波数に関する代表値を変換し、
周波数に関する代表値およびデータの広がりに基づいてピッチパタンを生成する
ことを特徴とするピッチパタン生成方法。
【請求項２】
状態情報を配列するときに、ピッチパタン補正単位の読みによって特定される音素の状態毎に、１つの状態情報を配列する
請求項１に記載のピッチパタン生成方法。
【請求項３】
状態情報を配列するときに、ピッチパタン補正単位の読みによって特定される音素の状態毎に、音素の状態の継続時間長に応じた数だけ前記状態の状態情報を繰り返し配列する
請求項１に記載のピッチパタン生成方法。
【請求項４】
ピッチパタン補正単位の読みによって特定される音素の各状態に関して代表値変換用変換係数を導出する代表値変換用単調関数を定め、
前記各状態に関して、前記代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、
前記各状態に関して、前記代表値変換用変換係数を用いて、配列した状態情報が表す周波数に関する代表値を変換する
請求項１から請求項３のうちのいずれか１項に記載のピッチパタン生成方法。
【請求項５】
所定の基準に基づいて、配列した状態情報を前側の状態情報と後側の状態情報とに分け、
後方韻律制御情報を用いて、後側の状態情報に対応する各状態に関して代表値変換用変換係数を導出する代表値変換用単調関数を定め、
前記各状態に関して、前記代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、
前記代表値変換用変換係数を用いて、後側の状態情報が表す周波数に関する代表値を変換する
請求項１から請求項３のうちのいずれか１項に記載のピッチパタン生成方法。
【請求項６】
所定の基準に基づいて、配列した状態情報を前側の状態情報と後側の状態情報とに分け、
前方韻律制御情報を用いて、前側の状態情報に対応する各状態に関して代表値変換用変換係数を導出する代表値変換用単調関数を定め、
前記各状態に関して、前記代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、
前記代表値変換用変換係数を用いて、前側の状態情報が表す周波数に関する代表値を変換する
請求項１から請求項３のうちのいずれか１項に記載のピッチパタン生成方法。
【請求項７】
少なくとも前方韻律制御情報と後方韻律制御情報とのいずれかを用いて、状態情報が表す周波数に関するデータの広がりを変換するためのデータの広がりの変換用変換係数を導出するデータの広がりの変換用単調関数を定め、
前記データの広がりの変換用単調関数に基づいてデータの広がりの変換用変換係数を算出し、
前記データの広がりの変換用変換係数を用いて、配列した状態情報が表す周波数に関するデータの広がりを変換する
請求項１から請求項６のうちのいずれか１項に記載のピッチパタン生成方法。
【請求項８】
ピッチパタン補正単位の読みによって特定される音素の各状態に関してデータの広がりの変換用変換係数を導出するデータの広がりの変換用単調関数を定め、
前記各状態に関して、前記データの広がりの変換用単調関数に基づいてデータの広がりの変換用変換係数を算出し、
前記各状態に関して、前記データの広がりの変換用変換係数を用いて、配列した状態情報が表す周波数に関するデータの広がりを変換する
請求項７に記載のピッチパタン生成方法。
【請求項９】
所定の基準に基づいて、配列した状態情報を前側の状態情報と後側の状態情報とに分け、
後方韻律制御情報を用いて、後側の状態情報に対応する各状態に関してデータの広がりの変換用変換係数を導出するデータの広がりの変換用単調関数を定め、
前記各状態に関して、前記データの広がりの変換用単調関数に基づいてデータの広がりの変換用変換係数を算出し、
前記データの広がりの変換用変換係数を用いて、後側の状態情報が表す周波数に関するデータの広がりを変換する
請求項７に記載のピッチパタン生成方法。
【請求項１０】
所定の基準に基づいて、配列した状態情報を前側の状態情報と後側の状態情報とに分け、
前方韻律制御情報を用いて、前側の状態情報に対応する各状態に関してデータの広がりの変換用変換係数を導出するデータの広がりの変換用単調関数を定め、
前記各状態に関して、前記データの広がりの変換用単調関数に基づいてデータの広がりの変換用変換係数を算出し、
前記データの広がりの変換用変換係数を用いて、前側の状態情報が表す周波数に関するデータの広がりを変換する
請求項７に記載のピッチパタン生成方法。
【請求項１１】
周波数に関する代表値が最大になる状態を基準として、配列した状態情報を前側の状態情報と後側の状態情報とに分ける
請求項５，６，９，１０のうちのいずれか１項に記載のピッチパタン生成方法。
【請求項１２】
次の状態との間で周波数に関する代表値の差の絶対値が最大になる状態を基準として、配列した状態情報を前側の状態情報と後側の状態情報とに分ける
請求項５，６，９，１０のうちのいずれか１項に記載のピッチパタン生成方法。
【請求項１３】
音素の状態の継続時間長に応じて、状態情報が表す周波数に関するデータの広がりを変換するためのデータの広がりの変換用変換係数を決定する
請求項１から請求項６のうちのいずれか１項に記載のピッチパタン生成方法。
【請求項１４】
音素毎に学習された隠れマルコフモデルの状態を示す状態情報であって、周波数に関する代表値およびデータの広がりを表す状態情報を記憶する状態情報記憶手段と、
ピッチパタン補正単位毎の読みを示す情報に基づいて、ピッチパタン補正単位の読みによって特定される各音素の状態情報を、前記ピッチパタン補正単位の読みによって特定される音素順に配列する状態情報配列手段と、
少なくとも、前記ピッチパタン補正単位とその前のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である前方韻律制御情報と、前記ピッチパタン補正単位とその後のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である後方韻律制御情報とのいずれかを用いて、状態情報が表す周波数に関する代表値を変換するための代表値変換用変換係数を導出する代表値変換用単調関数を定め、前記代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、前記代表値変換用変換係数を用いて、配列した状態情報が表す周波数に関する代表値を変換する状態情報補正手段と、
周波数に関する代表値およびデータの広がりに基づいてピッチパタンを生成するピッチパタン生成手段とを備える
ことを特徴とするピッチパタン生成装置。
【請求項１５】
ピッチパタン補正単位毎の読みを示す情報と、隣接するピッチパタン補正単位間の韻律の関係性を制御するための韻律制御情報とを生成する言語処理手段と、
音素毎に学習された隠れマルコフモデルの状態を示す状態情報であって、周波数に関する代表値およびデータの広がりを表す状態情報を記憶する状態情報記憶手段と、
ピッチパタン補正単位毎の読みを示す情報に基づいて、ピッチパタン補正単位の読みによって特定される各音素の状態情報を、前記ピッチパタン補正単位の読みによって特定される音素順に配列する状態情報配列手段と、
少なくとも、前記ピッチパタン補正単位とその前のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である前方韻律制御情報と、前記ピッチパタン補正単位とその後のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である後方韻律制御情報とのいずれかを用いて、状態情報が表す周波数に関する代表値を変換するための代表値変換用変換係数を導出する代表値変換用単調関数を定め、前記代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、前記代表値変換用変換係数を用いて、配列した状態情報が表す周波数に関する代表値を変換する状態情報補正手段と、
周波数に関する代表値およびデータの広がりに基づいてピッチパタンを生成するピッチパタン生成手段と、
前記ピッチパタンに基づいて合成音声を生成する合成音声生成手段とを備える
ことを特徴とする音声合成装置。
【請求項１６】
音素毎に学習された隠れマルコフモデルの状態を示す状態情報であって、周波数に関する代表値およびデータの広がりを表す状態情報を記憶する状態情報記憶手段を備えたコンピュータに搭載されるピッチパタン生成プログラムであって、
前記コンピュータに、
ピッチパタン補正単位毎の読みを示す情報に基づいて、ピッチパタン補正単位の読みによって特定される各音素の状態情報を、前記ピッチパタン補正単位の読みによって特定される音素順に配列する状態情報配列処理、
少なくとも、前記ピッチパタン補正単位とその前のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である前方韻律制御情報と、前記ピッチパタン補正単位とその後のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である後方韻律制御情報とのいずれかを用いて、状態情報が表す周波数に関する代表値を変換するための代表値変換用変換係数を導出する代表値変換用単調関数を定め、前記代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、前記代表値変換用変換係数を用いて、配列した状態情報が表す周波数に関する代表値を変換する状態情報補正処理、および、
周波数に関する代表値およびデータの広がりに基づいてピッチパタンを生成するピッチパタン生成処理
を実行させるためのピッチパタン生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声合成の対象となるテキストの読みを表す読み情報に応じたピッチパタンを生成するピッチパタン生成方法、ピッチパタン生成装置、音声合成装置およびピッチパタン生成プログラムに関する。
【背景技術】
【０００２】
ピッチパタンは、イントネーションや声の高低の時間的な動きを表す情報であり、時間経過に伴う周波数の変化として表される。【０００３】
ピッチパタンを生成するピッチパタン生成方法が特許文献１に記載されている。特許文献１に記載されたピッチパタン生成方法では、ピッチパタンをスプライン関数で表す。そして、スプライン関数の区間毎に導関数の値の範囲に制約を設けた上で、隣り合う区間の接続点における関数値および一次の微係数が区間両側で等しく、所望の点を通るスプライン関数を生成する。【０００４】
また、特許文献１には、自由なピッチパタンを手動でデザインすることに関しても記載されている。【０００５】
また、音声合成に関する技術として、母音の中心の間隔を用いて継続時間長を制御する技術が特許文献２に記載されている。【０００６】
また、ＨＭＭ（Hidden Markov Model ：隠れマルコフモデル）に関する技術として、ＨＭＭの各状態の継続時間の期待値を算出することが、特許文献３に記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−３１５０９２号公報
【特許文献２】特開平６−２２２７９３号公報
【特許文献３】特開２００７−１１２０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
音声合成において生成されたピッチパタンを手動で補正する場合、例えば、アクセント句同士の境界でピッチパタンが滑らかに繋がらず、違和感のない音声合成結果を得ることが難しかった。なお、ここでは、ピッチパタンを補正する単位（以下、ピッチパタン補正単位と記す。）として、アクセント句に着目する場合を示したが、ピッチパタン補正単位としては、アクセント句の他に、音素、音節、呼気段落、文等を採用し得る。【０００９】
特許文献１に記載された方法のように、ピッチパタンをスプライン関数で表し、スプラインを構成する隣り合う区間の接続点における関数値および一次の微係数が区間両側で等しく、所望の点を通るスプライン関数を生成すれば、そのスプライン関数（ピッチパタン）によって違和感のない音声合成結果を得ることができる。【００１０】
また、音声合成には、ＨＭＭを用いる場合もあるが、ＨＭＭを用いる場合にも、違和感のない音声合成結果が得られるようなピッチパタンを生成できることが好ましい。【００１１】
そこで、本発明は、ＨＭＭを用いる場合に、違和感のない音声合成結果が得られるようなピッチパタンを生成することができるピッチパタン生成方法、ピッチパタン生成装置、音声合成装置およびピッチパタン生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明によるピッチパタン生成方法は、音素毎に学習された隠れマルコフモデルの状態を示す状態情報であって、周波数に関する代表値およびデータの広がりを表す状態情報を予め記憶し、ピッチパタン補正単位毎の読みを示す情報に基づいて、ピッチパタン補正単位の読みによって特定される各音素の状態情報を、ピッチパタン補正単位の読みによって特定される音素順に配列し、少なくとも、ピッチパタン補正単位とその前のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である前方韻律制御情報と、ピッチパタン補正単位とその後のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である後方韻律制御情報とのいずれかを用いて、状態情報が表す周波数に関する代表値を変換するための代表値変換用変換係数を導出する代表値変換用単調関数を定め、代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、代表値変換用変換係数を用いて、配列した状態情報が表す周波数に関する代表値を変換し、周波数に関する代表値およびデータの広がりに基づいてピッチパタンを生成することを特徴とする。【００１３】
また、本発明によるピッチパタン生成装置は、音素毎に学習された隠れマルコフモデルの状態を示す状態情報であって、周波数に関する代表値およびデータの広がりを表す状態情報を記憶する状態情報記憶手段と、ピッチパタン補正単位毎の読みを示す情報に基づいて、ピッチパタン補正単位の読みによって特定される各音素の状態情報を、ピッチパタン補正単位の読みによって特定される音素順に配列する状態情報配列手段と、少なくとも、ピッチパタン補正単位とその前のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である前方韻律制御情報と、ピッチパタン補正単位とその後のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である後方韻律制御情報とのいずれかを用いて、状態情報が表す周波数に関する代表値を変換するための代表値変換用変換係数を導出する代表値変換用単調関数を定め、代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、代表値変換用変換係数を用いて、配列した状態情報が表す周波数に関する代表値を変換する状態情報補正手段と、周波数に関する代表値およびデータの広がりに基づいてピッチパタンを生成するピッチパタン生成手段とを備えることを特徴とする。【００１４】
また、本発明による音声合成装置は、ピッチパタン補正単位毎の読みを示す情報と、隣接するピッチパタン補正単位間の韻律の関係性を制御するための韻律制御情報とを生成する言語処理手段と、音素毎に学習された隠れマルコフモデルの状態を示す状態情報であって、周波数に関する代表値およびデータの広がりを表す状態情報を記憶する状態情報記憶手段と、ピッチパタン補正単位毎の読みを示す情報に基づいて、ピッチパタン補正単位の読みによって特定される各音素の状態情報を、ピッチパタン補正単位の読みによって特定される音素順に配列する状態情報配列手段と、少なくとも、ピッチパタン補正単位とその前のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である前方韻律制御情報と、ピッチパタン補正単位とその後のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である後方韻律制御情報とのいずれかを用いて、状態情報が表す周波数に関する代表値を変換するための代表値変換用変換係数を導出する代表値変換用単調関数を定め、代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、代表値変換用変換係数を用いて、配列した状態情報が表す周波数に関する代表値を変換する状態情報補正手段と、周波数に関する代表値およびデータの広がりに基づいてピッチパタンを生成するピッチパタン生成手段と、ピッチパタンに基づいて合成音声を生成する合成音声生成手段とを備えることを特徴とする。【００１５】
また、本発明によるピッチパタン生成プログラムは、音素毎に学習された隠れマルコフモデルの状態を示す状態情報であって、周波数に関する代表値およびデータの広がりを表す状態情報を記憶する状態情報記憶手段を備えたコンピュータに搭載されるピッチパタン生成プログラムであって、コンピュータに、ピッチパタン補正単位毎の読みを示す情報に基づいて、ピッチパタン補正単位の読みによって特定される各音素の状態情報を、ピッチパタン補正単位の読みによって特定される音素順に配列する状態情報配列処理、少なくとも、ピッチパタン補正単位とその前のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である前方韻律制御情報と、ピッチパタン補正単位とその後のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である後方韻律制御情報とのいずれかを用いて、状態情報が表す周波数に関する代表値を変換するための代表値変換用変換係数を導出する代表値変換用単調関数を定め、代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、代表値変換用変換係数を用いて、配列した状態情報が表す周波数に関する代表値を変換する状態情報補正処理、および、周波数に関する代表値およびデータの広がりに基づいてピッチパタンを生成するピッチパタン生成処理を実行させることを特徴とする。
【発明の効果】
【００１６】
本発明は、ＨＭＭを用いる場合に、違和感のない音声合成結果が得られるようなピッチパタンを生成することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態のピッチパタン生成装置を示すブロック図である。
【図２】アクセント句に含まれる音素毎の状態の遷移を示す模式図である。
【図３】読み情報の例を示す説明図。
【図４】タグによるアクセント句の周波数制御の例を示す模式図である。
【図５】第１の実施形態の処理経過の例を示すフローチャートである。
【図６】各状態情報の周波数対数値の平均値、変換係数、および周波数対数値の平均値の変換後の値を模式的に示す説明図である。
【図７】タグとａ１，ａ２の関係の例を示す説明図である。
【図８】各状態情報の周波数対数値の分散、変換係数、および変換後の分散を模式的に示す説明図である。
【図９】１つの音素について学習された状態と、その状態の継続時間長の例を示す説明図である。
【図１０】本発明の第２の実施形態のピッチパタン生成装置を示すブロック図である。
【図１１】第２の実施形態の処理経過の例を示すフローチャートである。
【図１２】各状態情報の周波数対数値の平均値、変換係数、および周波数対数値の平均値の変換後の値を模式的に示す説明図である。
【図１３】各状態情報の周波数対数値の分散、変換係数、および周波数対数値の分散の変換後の値を模式的に示す説明図である。
【図１４】継続時間長の長さに応じて定められる変換係数を模式的に示す説明図である。
【図１５】第３の実施形態における状態情報補正部４の処理の例を模式的に示す説明図である。
【図１６】第３の実施形態の処理経過の例を示すフローチャートである。
【図１７】第３の実施形態における状態情報補正部４の処理の他の例を模式的に示す説明図である。
【図１８】第３の実施形態において、１つの状態に対して１つ以上の状態情報を繰り返し配列する場合の例を示す説明図である。
【図１９】第４の実施形態の音声合成装置の例を示すブロック図である。
【図２０】第４の実施形態の音声合成装置の他の例を示すブロック図である。
【図２１】本発明のピッチパタン生成装置の最小構成の例を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態を図面を参照して説明する。なお、本発明において、音素、音節、アクセント句、呼気段落、文等をピッチパタン補正単位（ピッチパタンを補正する単位）として扱うことができるが、以下に示す各実施形態では、アクセント句をピッチパタン補正単位として採用する場合を例にして説明する。
【００１９】
実施形態１．
図１は、本発明の第１の実施形態のピッチパタン生成装置を示すブロック図である。第１の実施形態のピッチパタン生成装置１は、状態情報記憶部２と、状態配列部３と、状態情報補正部４と、ピッチパタン生成部５とを備える。
【００２０】
状態情報記憶部２は、音素毎に予め学習されたＨＭＭ（隠れマルコフモデル）の状態を示す状態情報を記憶する記憶装置である。なお、日本語の場合、音素には母音および子音が含まれる。ＨＭＭの状態を音素毎に予め学習し、各状態の状態情報を状態情報記憶部２に記憶させておけばよい。本実施形態では、ＨＭＭで用いる各状態のモデルとして単一ガウス分布を採用し、各状態の状態情報として、代表値のパラメータ（統計量）をガウス分布の平均値で表現し、データの広がりのパラメータ（統計量）をガウス分布の分散で表現する場合を例にして説明する。個々の状態は、統計的にどの周波数が現れるかを、周波数に関する平均値および分散によって表している。そして、各音素の状態情報は、その音素の周波数に関する平均値および分散の値を含んでいる。ただし、１つの音素に対応する状態は、１つとは限らない。すなわち、１つの音素に関して、順次複数の状態が遷移していくこともあり、その場合、ただし、１つの音素に対応する状態は複数存在することになる。個々の音素に関していくつの状態を学習するのかは、学習時に定めておけばよい。例えば、短い音素に関しては学習する状態の数を少なくし、長母音のような長い音素に関しては学習する状態の数を多くしてもよい。あるいは、例えば、学習の処理量を抑えるために、各音素に対応する状態の数を共通としてもよい。１つの音素に対して、複数の状態情報が定められる場合には、状態の遷移順序を示す情報も状態情報に含めておけばよい。
【００２１】
また、ＨＭＭで他のモデルを採用することも可能である。そして、混合ガウス分布やガンマ分布においては、単一ガウス分布の場合と同様に、代表値のパラメータ（統計量）として平均値を用い、データの広がりのパラメータ（統計量）として分散を用いることができる。また、高次統計量では、代表値のパラメータとして平均値を用い、データの広がりのパラメータとして尖度を用いることができる。また、代表値のパラメータ（統計量）として、平均値の他に、最頻値や中央値を用いることも可能である。
【００２２】
例えば、“ｂ”という音素を例にして説明する。また、本例では、音素毎に３つの状態を学習する場合を例にする。“ｂ”に関する状態を学習する際には、“ｂ”の音を含む種々の音声を収集する。そして、“ｂ”の発音に関し、どの周波数がどの程度の頻度で現れているかを種々の音声から計測し、３つの状態を定める。そして、３つの状態それぞれについて、統計的にどの周波数が現れるかを、周波数に関する平均値および分散によって表し、その周波数に関する平均値および分散を含む状態情報を作成すればよい。他の音素に関しても、同様に状態情報を予め定めておけばよい。
【００２３】
ここで、「周波数に関する平均値および分散」とは、周波数に応じた値の平均値および分散であればよく、周波数自体の平均値や分散に限定されない。例えば、個々の状態情報は、「周波数に関する平均値および分散」として、周波数の対数値の平均値および分散を含んでいてもよい。以下の説明では、状態情報には、周波数の対数値の平均および分散が含まれている場合を例にして説明する。
【００２４】
状態配列部３および状態情報補正部４には、読み情報が入力される。
【００２５】
状態配列部３は、アクセント句の読みによって特定される音素に応じた状態の状態情報を状態情報記憶部２から読み込み、アクセント句の読みによって特定される音素の順に、音素の状態毎に状態情報を配列する。なお、１つの音素に対して、複数の状態が定められている場合、その音素における状態遷移順に状態情報を配列する。
【００２６】
図２は、アクセント句に含まれる音素毎の状態の遷移を示す模式図である。図２に示す例では、音素“ｋ”の状態は、状態Ｓ１，Ｓ２，Ｓ３のように遷移する。“ａ”の状態は、状態Ｓ４，Ｓ５，Ｓ６のように遷移する。他の音素の状態も、それぞれ図２に示すように遷移する。このような各音素の状態Ｓ１〜Ｓ１８のそれぞれの状態情報が状態情報記憶部２に記憶されているとする。状態配列部３は、例えば、日本語における「かれと（ka re to）」というアクセント句に関して、“ｋ”，“ａ”，“ｒ”，“ｅ”，“ｔ”，“ｏ”という音素を特定し、個々の音素の状態Ｓ１〜Ｓ３、状態Ｓ４〜Ｓ６、状態Ｓ７〜Ｓ９、状態Ｓ１０〜Ｓ１２、状態Ｓ１３〜Ｓ１５、状態Ｓ１６〜Ｓ１８に対応する状態情報を状態情報記憶部２から読み込み、Ｓ１〜Ｓ１８と同様の順番に配列する。この結果、Ｓ１〜Ｓ１８における周波数の平均値および分散がそれぞれ配列されることになる。
【００２７】
状態配列部３は、このような状態情報の配列をアクセント句毎に行う。
【００２８】
ここで、読み情報について説明する。読み情報は、本発明のピッチパタン生成装置で生成されたピッチパタンを用いた音声合成結果として出力される音声（換言すれば、読み出される音声）を示す情報である。図３は、読み情報の例を示す。読み情報は、ピッチパタン補正単位毎（本例ではアクセント句毎）に読みを表す文字列を含む。図３に示す例では、アクセント句毎に、読みを表す文字列を記号“／”で区切っている。すなわち、図３に示す例では、“／”はアクセント句の境界を示す。
【００２９】
また、読み情報は、隣接するアクセント句間の韻律の関係性を制御するための韻律制御情報を含む。本発明では、韻律制御情報により、アクセント句に含まれる音素の周波数を制御する。図３に示す例では、アクセント句の境界に記述される“／”の次に記述された数値が韻律制御情報に該当する。以下、この韻律制御情報をタグと記す。なお、図３に示す例では、タグは、隣接するアクセント句の境界部分に記述されているが、タグの制御対象となるアクセント句が明確にされていれば、タグの記述態様は、図３に示す例に限定されない。タグに関しては、基準となる値（以下、単に基準値と記す。）が予め定められている。そして、タグの値と基準値との大小関係により、アクセント句の周波数に対する制御内容が定まる。タグの値が基準値よりも大きいということは、相対的に、先行アクセント句の周波数を上げ、後続アクセント句の周波数を下げるというアクセント句の関係性を表しているということができる。また、タグの値が基準値よりも小さいということは、相対的に、先行アクセント句の周波数を下げ、後続アクセント句の周波数を上げるというアクセント句の関係性を表しているということができる。
【００３０】
図４は、タグによるアクセント句の周波数制御の例を示す模式図である。以下、基準値が“２”である場合を例にして説明する。図４（ａ）は、タグの値が３であり、基準値“２”よりも大きい場合の例を示す。このように、タグの値が基準値よりも大きい場合、隣接する２つのアクセント句のうち、先のアクセント句（以下、先行アクセント句と記す。）の周波数を上げ、後のアクセント句（以下、後続アクセント句と記す。）の周波数を下げる。また、タグの値が基準値よりも大きいほど、先行アクセント句の周波数の上げ幅および後続アクセント句の周波数の下げ幅を大きくする。図４（ｂ）は、タグの値が１であり、基準値“２”よりも小さい場合の例を示す。このように、タグの値が基準値よりも小さい場合、先行アクセント句の周波数を下げ、後続アクセント句の周波数を上げる。また、タグの値が基準値よりも小さいほど、先行アクセント句の周波数の下げ幅および後続アクセント句の周波数の上げ幅を大きくする。
【００３１】
図３に示すように、読み情報には、アクセント句毎の読みを表す文字列と、タグとが含まれるが、さらに別の情報が含まれていてもよい。図３では、アクセントの位置を示すアクセント情報も含む場合を例示している。また、図３では、アクセント情報を記号“’”で表し、その記号が記述された位置にアクセントがあることを表している。
【００３２】
読み情報は、例えば、音声合成の対象となる文字列（例えば、日本語における「彼と彼女の先生（ka re to ka no jo no se n se i）」）等に基づいて作成すればよい。この作成は、情報処理装置によって自動的に作成してもよく、あるいは、人手で作成してもよい。また、自動的に作成された読み情報に対して、人間が修正を加えてもよい。
【００３３】
本例では、ピッチパタン補正単位毎の読みを表す文字列とタグとを含む読み情報がピッチパタン生成装置に入力される場合を例にして説明する。ただし、ピッチパタン生成装置には、ピッチパタン補正単位毎の読みを表す情報と、タグ（韻律制御情報）とが他の態様で入力されてもよい。例えば、ピッチパタン補正単位毎の読みを表す情報と、タグとが別個に入力されてもよい。また、ピッチパタン補正単位毎の読みを表す情報やタグはバイナリデータであってもよい。また、ピッチパタン補正単位毎の読みを表す情報やタグは、ＧＵＩを介して入力されてもよい。
【００３４】
状態情報補正部４は、配列された状態情報に含まれる周波数の対数値の平均値および分散を補正する。状態情報補正部４は、この補正をアクセント句毎に行う。また、あるアクセント句の周波数の対数値（以下、周波数対数値と記す。）の平均値および分散を補正する際、状態情報補正部４は、その前のアクセント句との韻律の関係性を表すタグと、その次のアクセント句との韻律の関係性を表すタグに基づいて、状態情報毎に、平均値変換用の変換係数および分散変換用の変換係数を算出する。以下、着目しているアクセント句とその前のアクセント句との韻律の関係性を表すタグを前方タグと記す。また、着目しているアクセント句とその次のアクセント句との韻律の関係性を表すタグを後方タグと記す。
【００３５】
ここで、配列された状態情報の個数をｎ個とする。そして、態情報補正部４は、配列した状態情報に対してそれぞれ順番に１〜ｎの順番を表す値を割り当てる。さらに、状態情報補正部４は、１〜ｎを定義域とし、前方タグに基づいて定めた値から後方タグに基づいて定めた値までの範囲を値域とする単調関数を定める。そして、状態情報補正部４は、その単調関数が示す線上の値として、各状態情報の変換係数を定めればよい。単調関数は単調増加関数であっても単調減少関数であってもよい。単調増加関数となるか、単調減少関数となるかは、前方タグの値と後方タグの値との大小関係に依存する。また、単調関数として、広義の単調関数である単調非減少関数および単調非増加関数を用いてもよい。なお、平均値変換用の変換係数と分散変換用の変換係数とをそれぞれ別個に算出するので、状態情報補正部４は、上記のような単調関数を２種類定める。この場合、前方タグおよび後方タグに基づいて定める値域の範囲が異なる単調関数を２種類定めればよい。
【００３６】
状態情報補正部４は、状態情報毎に、算出した変換係数を用いて、状態情報に含まれている周波数対数値の平均値および分散をそれぞれ変換する。この変換は、周波数対数値の平均値および分散に対する補正であるということができる。
【００３７】
ピッチパタン生成部５は、状態情報補正部４によって変換された後の周波数対数値の平均値および分散に基づいて、ピッチパタンを生成する。このピッチパタンの生成は、公知の方法で行えばよい。
【００３８】
状態配列部３、状態情報補正部４およびピッチパタン生成部５は、例えば、ピッチパタン生成プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、例えば、コンピュータのプログラム記憶装置（図示略）がピッチパタン生成プログラムを記憶し、ＣＰＵがそのプログラムを読み込んで、そのプログラムに従って、状態配列部３、状態情報補正部４およびピッチパタン生成部５として動作すればよい。また、状態情報記憶部２、状態配列部３、状態情報補正部４およびピッチパタン生成部５がそれぞれ別のユニットで実現されていてもよい。
【００３９】
次に、動作について説明する。
図５は、第１の実施形態の処理経過の例を示すフローチャートである。状態情報記憶部２には、各音素の状態を示す状態情報が記憶されているものとする。また、状態配列部３および状態情報補正部４には、読み情報が入力されているものとする。
【００４０】
なお、ピッチパタン生成装置は、以下に示すステップＡ１〜Ａ８の処理を、読み情報に含まれる各アクセント句（各ピッチパタン補正単位）に対して実行する。以下、説明を簡単にするために、読み情報に含まれる１つのアクセント句（ピッチパタン補正単位）に着目してステップＡ１〜Ａ８の処理を説明する。ピッチパタン生成装置は、同様の処理を、読み情報に含まれる他のアクセント句に対しても行えばよい。
【００４１】
また、以下の説明では、状態情報補正部４が定める単調関数が、直線を示す関数（すなわち、一次関数）である場合を例にする。
【００４２】
状態配列部３は、読み情報内の着目しているアクセント句の読みに応じた音素を特定し、その音素に対応する状態情報を状態情報記憶部２から読み出す。なお、例えば、読み情報が示す個々の文字と音素との関係を示す情報を予め状態配列部３が保持し、状態配列部３は、その情報に基づいて、アクセント句の読みに応じた音素を特定すればよい。そして、状態配列部３は、そのアクセント句の読みに応じた音素の順番に従って、音素の状態毎に状態情報を配列する（ステップＡ１）。１つの音素に対して複数の状態情報が定められている場合には、その音素に関する状態遷移の順番に従って、状態情報に遷移順序が定められている。その場合、状態配列部３は、その音素に関する状態情報をその遷移順序に従って配列すればよい。
【００４３】
次に、状態情報補正部４は、ステップＡ１で配列されたアクセント句の各状態情報の数と、そのアクセント句の前方タグおよび後方タグとに基づいて、平均値変換用の単調関数を定める（ステップＡ２）。図６は、各状態情報の周波数対数値の平均値、変換係数、および周波数対数値の平均値の変換後の値を模式的に示す説明図である。図６では、１つのアクセント句について配列した状態情報の数が６個である場合を例にしている。この場合、状態情報補正部４は、それぞれの状態情報に、遷移順に、１〜６の順番を表す値を割り当てる。
【００４４】
そして、状態情報補正部４は、１〜６を定義域とし、前方タグに基づいて定めた値から後方タグに基づいて定めた値までの範囲を値域とする単調関数（本例では一次関数）を定めればよい。前方タグに基づいて定めた値をａ１とし、後方タグに基づいて定めた値をａ２とする。図７（ａ）は、前方タグとａ１の関係の例を示す説明図であり、図７（ｂ）は、後方タグとａ２の関係の例を示す説明図である。
【００４５】
図７（ａ）に示すように、状態情報補正部４は、前方タグの値が基準値より大きければ、ａ１を負の値として定める。前方タグの値が基準値より大きいほどａ１の絶対を大きくすればよい。また、前方タグの値が基準値と等しければ、ａ１を０とする。また、前方タグの値が基準値未満であれば、ａ１を正の値として定める。前方タグの値が基準値より小さいほど、ａ１の絶対値を大きくすればよい。
【００４６】
また、図７（ｂ）に示すように、状態情報補正部４は、後方タグの値が基準値より大きければ、ａ２を正の値をして定める。後方タグの値が基準値より大きいほどａ２の絶対値を大きくすればよい。また、後方タグの値が基準値と等しければ、ａ２を０とする。また、後方タグの値が基準値未満であれば、ａ２を負の値として定める。後方タグの値が基準値より小さいほど、ａ２の絶対値を大きくすればよい。
【００４７】
状態情報補正部４は、例えば、上記のようにａ１，ａ２を定め、１〜６を定義域とし、ａ１〜ａ２を値域とする単調関数（本例では一次関数）を定める。
【００４８】
次に、状態情報補正部４は、ステップＡ２で定めた単調関数が示す線上（図６に示す例では、一次関数が示す直線上）の値として、状態情報毎に、平均値変換用の変換係数を求める。換言すれば、状態情報補正部４は、ステップＡ２で求めた単調関数の変数に、各状態情報に割り当てた値（遷移順を表す値）を代入することによって、状態情報毎の変換係数（平均値変換用の変換係数）を算出する（ステップＡ３）。例えば、図６に示す例では、１番目の状態情報対して求める変換係数はａ１となり、６番目の状態情報に対して求める変換係数はａ２となる。また、２番目の状態情報の変換係数は、ステップＡ２で求めた単調関数の変数に２を代入して求められる。他の状態情報の変換係数も同様に求められる。
【００４９】
次に、状態情報補正部４は、状態情報に含まれている周波数対数値の平均値を、ステップＡ３で求めた平均値変換用の変換係数を用いて変換する（ステップＡ４）。例えば、状態情報補正部４は、状態情報に含まれている周波数対数値の平均値に、その状態情報に対して求めた変換係数を加算し、その加算結果を、変換後の平均値とすればよい。そして、状態情報補正部４は、配列された状態情報毎にこの処理を行う。図６の下段は、周波数対数値の平均値の変換後の値を模式的に示している。なお、本例では、変換係数の加算により周波数対数値の平均値を変換する場合を示したが、変換係数を用いた変換を他の演算で行ってもよい。ただし、変換係数の絶対値が大きいほど、変換前後の平均値の差が大きくなるという関係が保たれる演算によって変換することが好ましい。
【００５０】
次に、状態情報補正部４は、ステップＡ１で配列された１つのアクセント句の各状態情報の数と、そのアクセント句の前方タグおよび後方タグとに基づいて、分散変換用の単調関数を定める（ステップＡ５）。図８は、各状態情報の周波数対数値の分散、変換係数、および変換後の分散を模式的に示す説明図である。図８においても、図６と同様に状態情報の数が６個である場合を例示している。状態情報補正部４は、それぞれの状態情報に、遷移順に、１〜６の順番を表す値を割り当てている。
【００５１】
状態情報補正部４は、１〜６を定義域とし、前方タグに基づいて定めた値から後方タグに基づいて定めた値までの範囲を値域とする単調関数（本例では一次関数）を定めればよい。前方タグに基づいて定めた値をｂ１とし、後方タグについて定めた値をｂ２とする。値域を規定するｂ１，ｂ２の値は、ａ１，ａ２と同様に定めればよい。ただし、分散変換用の単調関数を定める際に用いるｂ１，ｂ２の値と、平均値変換用の単調関数を定める際に用いるａ１，ａ２の値とは、定め方は同様であるが、それぞれ独立して求めるので、ｂ１，ｂ２はそれぞれ、ａ１，ａ２とは異なる値となる。
【００５２】
次に、状態情報補正部４は、ステップＡ５で定めた単調関数が示す線上（図８に示す例では、一次関数が示す直線上）の値として、状態情報毎に、分散変換用の変換係数を求める。換言すれば、状態情報補正部４は、ステップＡ５で定めた単調関数の変数に、各状態情報に割り当てた値（遷移順を表す値）を代入することによって、状態情報毎の変換係数（分散変換用の変換係数）を算出する（ステップＡ６）。例えば、図８に示す例では、１番目の状態情報対して求める変換係数はｂ１となり、６番目の状態情報に対して求める変換係数はｂ２となる。また、２番目の状態情報の変換係数は、ステップＡ５で求めた単調関数の変数に２を代入して求められる。他の状態情報の変換係数も同様に求められる。
【００５３】
次に、状態情報補正部４は、状態情報に含まれている周波数対数値の分散を、ステップＡ６で求めた分散変換用の変換係数を用いて変換する（ステップＡ７）。例えば、状態情報補正部４は、状態情報に含まれている周波数対数値の分散に、その状態情報に対して求めた変換係数を加算し、その加算結果を、変換後の分散とすればよい。そして、そして、状態情報補正部４は、配列された状態情報毎にこの処理を行う。図８の下段は、周波数対数値の分散の変換後の値を模式的に示している。なお、本例では、変換係数の加算により周波数対数値の分散を変換する場合を示したが、変換係数を用いた変換を他の演算で行ってもよい。ただし、変換係数の絶対値が大きいほど、変換前後の分散の差が大きくなるという関係が保たれる演算によって変換することが好ましい。
【００５４】
次に、ピッチパタン生成部５は、ステップＡ４，Ａ７での変換処理によって求めた変換後の平均値および分散を用いて、ピッチパタンを生成する（ステップＡ８）。ピッチパタン生成部５は、公知の方法でピッチパタンの生成を生成すればよい。以下、ピッチパタンの生成の例を示す。
【００５５】
ピッチパタン生成部５は、予め定めた窓関数を用いて、ピッチパタンを計算すればよい。ピッチパタン生成部５は、以下の式（１）をピッチパタンＣに関して解くことによって、ピッチパタンを計算すればよい。
【００５６】
ＷＴＵ−１ＷＣ＝ＷＴＵ−１ＭＴ              式（１）
【００５７】
ただし、Ｃはピッチパタンであり、以下の式（２）のように表される。式（２）において、ｃ１，ｃ２，・・・，ｃＴは、ピッチパタンを示す特徴量である。
【００５８】
Ｃ：＝［ｃ１，ｃ２，・・・，ｃＴ］Ｔ          式（２）
【００５９】
添え字として示したＴは、１つのアクセント句に関して配列した状態情報の数（総フレーム数）である。後述の式（３）〜式（５）において添え字として示すＴも同様である。
【００６０】
また、Ｍは、補正後の平均値の各値を成分とするベクトルの転置ベクトルであり、以下の式（３）のように表される。式（３）において、μ’ｑ１，μ’ｑ２，・・・，μ’ｑＴは、変換後の平均値である。
【００６１】
Ｍ：＝［μ’ｑ１，μ’ｑ２，・・・，μ’ｑＴ］Ｔ          式（３）
【００６２】
Ｕは対角化した共分散行列であり、変換後の分散を対角成分として持つ。Ｕは、以下の式（４）のように表される。式（４）において、Ｕｑ１，Ｕｑ２，・・・，ＵｑＴは、変換後の分散である。
【００６３】
Ｕ：＝diag［Ｕｑ１，Ｕｑ２，・・・，ＵｑＴ］Ｔ          式（４）
【００６４】
また、窓関数は以下の式（５）のように表される行列Ｗとして予め定めておけばよい。
【００６５】
Ｗ：＝［ｗ１，ｗ２，・・・，ｗＴ］Ｔ          式（５）
【００６６】
なお、式（５）において、任意のｗｔは、以下の式（６）ように表されるベクトルとして定めればよい。
【００６７】
ｗｔ：＝［ｗｔ（０），ｗｔ（１），ｗｔ（２）］          式（６）
【００６８】
なお、上記のように、式（３）に示すＭの成分は変換後の平均値であり、式（４）に示すＵの対角成分は変換後の分散である。これらの平均値および分散として、周波数対数値の平均値および分散を用いても、あるいは、周波数自体の平均値および分散を用いてもよい。本例では、周波数対数値の平均値および分散を求めているので、その値を用いてＭやＵを定めればよい。また、周波数自体の平均値および分散を変換する場合には、周波数自体の平均値および分散（変換後の平均値および分散）を用いてＭやＵを定めればよい。
【００６９】
本実施形態によれば、単調関数が示す線上の値として変換係数を定め、その変換係数により変換した平均値や分散を用いてピッチパタンを生成する。その結果、ピッチパタンがアクセント句毎に滑らかに繋がり、そのピッチパタンを用いた音声合成の結果、違和感のない音声を得ることができる。
【００７０】
また、分散に関しても変換を行い、変換による平均値の変動が大きくなる場合には、分散も大きくすることができる。そのように分散を大きくすることで、ピッチパタンをより滑らかに繋げることができる。
【００７１】
また、上記の例では、一次関数が示す直線上の値として変換係数を定め、周波数対数値の平均値および分散について変換を行う場合を示した。例えば、音楽の音階は実周波数上で等比数列になるように定義されていて、周波数の対数値をとると直線上に並ぶようになる。従って、上記のように処理を行うことで、聴感上、違和感がない音声が得られるという効果をより高めることができる。
【００７２】
ただし、変換係数を定めるための関数は単調関数であればよい。また、周波数対数値の平均値および分散ではなく、実周波数の平均値および分散を対象にして、上記と同様の処理を行ってもよい。この場合であっても、違和感のない音声が得られるようなピッチパタンを生成することができる。
【００７３】
また、上記の例では、ステップＡ２およびステップＡ５において、単調関数の値域を規定するａ１，ａ２（図６参照）やｂ１，ｂ２（図８参照）を求める際に、前方タグおよび後方タグを用いたが、前方タグおよび後方タグの一方だけを用いて単調関数の値域を規定してもよい。
【００７４】
例えば、後方タグを用いて値域を規定するとする。この場合、状態情報補正部４は、ステップＡ２においてａ１＝０とすればよい。そして、状態情報補正部４は、後方タグの値が基準値より大きければａ２を正の値とし、後方タグの値が基準値より大きいほどａ２の絶対値が大きくなるようにａ２を定めればよい。また、後方タグの値が基準値と等しければａ２＝０とすればよい。また、後方タグの値が基準値未満であればａ２を負の値とし、後方タグの値が基準値より小さいほどａ２の絶対値が大きくなるようにａ２を定めればよい。ステップＡ５においても、状態情報補正部４は、ｂ１＝０とし、上記と同様に、後方タグの値に応じてｂ２を定めればよい。
【００７５】
また、例えば、前方タグを用いて値域を規定するとする。この場合、状態情報補正部４は、ステップＡ２においてａ２＝０とすればよい。そして、状態情報補正部４は、前方タグの値が基準値よりも大きければａ１を負の値とし、前方タグの値が基準値より大きいほどａ１の絶対値が大きくなるようにａ１を定めればよい。また、前方タグの値が基準値と等しければａ１＝０とすればよい。また、前方タグの値が基準値より小さければａ１を正の値とし、前方タグの値が基準値より小さいほどａ１の絶対値が大きくなるようにａ１を定めればよい。ステップＡ５においても、状態情報補正部４は、ｂ２＝０とし、上記と同様に、前方タグの値に応じてｂ１を定めればよい。
【００７６】
また、第１の実施形態において、平均値のみを変換し、分散に関しては変換を行わなくてもよい。すなわち、状態情報補正部４は、ステップＡ５〜Ａ７の処理を実行しなくてもよい。この場合、ピッチパタン生成部５は、ステップＡ８において、変換後の分散の代わりに、変換を行っていない分散をそのまま用いてピッチパタンを生成すればよい。ステップＡ８では、変換を行っていない分散をそのまま用いるという点以外は、上述のステップＡ８と同様である。
【００７７】
実施形態２．
ＨＭＭの状態は、直ちに次の状態に遷移するとは限らず、自己遷移する場合もある。ＨＭＭでは、状態が自己遷移するか次の状態に遷移するかを一定周期で決定する。また、各音素の状態を学習する際には、各音素に対応する個々の状態に関して、どれだけその状態が継続するかに関しても学習する。１つの状態が継続する時間の長さを継続時間長と記す。図９は、１つの音素について学習された状態と、その状態の継続時間長の例を示す説明図である。図９に示すように、例えば、音素“ｋ”の状態について学習した結果、音素“ｋ”に対応する状態がＳ１〜Ｓ３であったとする。また、状態Ｓ１に関する継続時間長は、周期（自己遷移するか次の状態に遷移するかを決定する周期）の３倍の時間であったとする。また、状態Ｓ２，Ｓ３の継続時間長も、それぞれ、周期の７倍、５倍であったとする。このように、音素について学習された状態それぞれに関して、継続時間長も学習すると、継続時間長は、自己遷移するか次の状態に遷移するかを決定する周期の整数倍として得られる。以下、「自己遷移するか次の状態に遷移するかを決定する周期」を単に周期と記載する。
【００７８】
第２の実施形態のピッチパタン生成装置は、個々の音素の状態毎に予め学習された継続時間長も考慮して単調関数を定め、その単調関数から変換係数を求める。そして、周波数に関する平均値および分散を変換する。なお、周期毎に変換係数を求めてもよいが、以下に示す説明では、状態毎に変換係数を求める場合を例にする。
【００７９】
第２の実施形態においても、第１の実施形態と同様に、「周波数に関する平均値および分散」として、周波数対数値の平均値および分散を用いる場合を例にする。
【００８０】
図１０は、本発明の第２の実施形態のピッチパタン生成装置を示すブロック図である。第１の実施形態と同様の構成要素については、図１と同一の符号を付す。第２の実施形態のピッチパタン生成装置１０は、状態情報記憶部２と、状態配列部１３と、状態情報補正部１４と、ピッチパタン生成部５とを備える。
【００８１】
状態情報記憶部２は、第１の実施形態と同様に、音素毎に予め学習された各音素の状態（ＨＭＭの状態）を示す状態情報を記憶する。
【００８２】
状態配列部１３および状態情報補正部１４には読み情報が入力される。さらに、本実施形態では、状態配列部１３に、各状態に関して予め学習された継続時間長も入力される。
【００８３】
状態配列部１３は、読み情報によって特定される音素の状態に応じた状態情報を状態情報記憶部２から読み込み、読み情報によって特定される音素の順に、音素の状態毎に状態情報を配列する。１つの音素に対して、複数の状態情報が定められている場合、その音素における状態遷移順に状態情報を配列する。
【００８４】
ただし、第２の実施形態では、状態配列部１３は、読み情報によって特定される音素に応じた状態の状態情報を、その状態の継続時間長分だけ繰り返し配列する。例えば、図９に示す周期をｔとする。そして、状態Ｓ１の継続時間長が３ｔであるとする。この場合、継続時間長３ｔを周期ｔで除算した数（本例では“３”）だけ、その状態Ｓ１の状態情報を連続して繰り返し配列する。そして、次の状態Ｓ２の状態情報を配列する。図９に示す例では、状態Ｓ２の継続時間長は７ｔであり、この継続時間長を周期ｔで除算した値は“７”であるので、状態Ｓ２の状態情報を７だけ連続して繰り返し配列する。以下、状態配列部１３は、同様に、状態Ｓ３の状態情報についても配列し、さらに、同様に、以降の音素の各状態情報についても同様に配列する。状態配列部１３は、アクセント句毎にこの処理を行う。
【００８５】
なお、状態配列部１３には、各状態情報の継続時間長が入力されるので、状態配列部１３は、その継続時間長を参照すればよい。また、ある状態の継続時間長を周期ｔで除算した値は、その状態が繰り返される数を意味する。
【００８６】
状態情報補正部１４は、配列された状態情報に含まれる周波数対数値の平均値および分散を補正する。状態情報補正部１４は、各アクセント句に関してこの補正を行う。状態情報補正部１４は、着目しているアクセント句について、前方タグと後方タグとに基づいて、状態情報毎に、平均値変換用の変換係数および分散変換用の変換係数を算出する。
【００８７】
状態情報補正部１４は、それぞれの状態情報に、配列順を表す値を割り当てる。ここでは、配列された状態情報の数がｎであるとし、それぞれの状態情報に１〜ｎの値を割り当てる。各状態情報に順番を表す値を割り当てる動作は、第１の実施形態と同様である。ただし、第２の実施形態では、個々の状態の状態情報が、その状態の継続時間長分だけ連続して配列されている。このように連続して配列される同じ状態情報に対しても、状態情報補正部１４は、それぞれ順番を示す値を割り当てる。
【００８８】
また、状態情報補正部１４は、第１の実施形態における状態情報補正部４と同様に、平均値変換用の単調関数の値域を規定する値ａ１，ａ２を決定する。そして、状態情報補正部１４は、１〜ｎを定義域とし、ａ１〜ａ２を値域とする単調関数を定める。そして、状態情報補正部１４は、その単調関数が示す線上の値として、状態毎に平均値変換用の変換係数を求める。各状態の継続時間長は、周期ｔの整数倍である。状態情報補正部１４は、着目している状態に関して、その状態の継続時間長の中央に該当する周期を特定し、その期間に対応する状態情報に割り当てた値を、単調関数に代入することにより、その状態における変換係数を求めればよい。状態情報補正部１４は、その変換係数を用いて、その状態の状態情報に含まれている平均値を変換する。
【００８９】
また、状態情報補正部１４は、第１の実施形態における状態情報補正部４と同様に、分散変換用の単調関数の値域を規定する値ｂ１，ｂ２を決定する。そして、状態情報補正部１４は、１〜ｎを定義域とし、ｂ１〜ｂ２を値域とする単調関数を定める。そして、状態情報補正部１４は、その単調関数が示す線上の値として、状態毎に分散変換用の変換係数を定める。上記の場合と同様に、状態情報補正部１４は、着目している状態に関して、その状態の継続時間長の中央に該当する周期を特定し、その期間に対応する状態情報に割り当てた値を、単調関数に代入することにより、その状態における変換係数を求めればよい。状態情報補正部１４は、その変換係数を用いて、その状態の状態情報に含まれている分散を変換する。
【００９０】
なお、ある状態の継続時間長が周期ｔのｈ倍であるとする。ｈが奇数であるならば、状態情報補正部１４は、その状態に関して、連続するｈ個の状態情報のうち、（ｈ＋１）／２番目の状態情報を特定すればよい。この状態情報が、継続時間長の中央に該当する周期に対応する状態情報である。また、ｈが偶数であるならば、状態情報補正部１４は、その状態に関して、連続するｈ個の状態情報のうち、（ｈ／２）＋１番目の状態情報を特定すればよい。あるいは、（ｈ／２）−１番目の状態情報を特定してもよい。この状態情報が、継続時間長の中央に該当する周期に対応する状態情報であると言える。
【００９１】
ピッチパタン生成部５は、第１の実施形態と同様に、変換後の平均値および分散に基づいてピッチパタンを生成する。
【００９２】
状態配列部１３、状態情報補正部１４およびピッチパタン生成部５は、例えば、ピッチパタン生成プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、例えば、コンピュータのプログラム記憶装置（図示略）がピッチパタン生成プログラムを記憶し、ＣＰＵがそのプログラムを読み込んで、そのプログラムに従って、状態配列部１３、状態情報補正部１４およびピッチパタン生成部５として動作すればよい。また、状態情報記憶部２、状態配列部１３、状態情報補正部１４およびピッチパタン生成部５がそれぞれ別のユニットで実現されていてもよい。
【００９３】
次に、動作について説明する。
図１１は、第２の実施形態の処理経過の例を示すフローチャートである。なお、第１の実施形態と同様の動作に関しては、詳細な説明を省略する。
【００９４】
状態情報記憶部２には、各音素の状態を示す状態情報が記憶されているものとする。また、状態配列部１３および状態情報補正部１４には、読み情報が入力されているものとする。状態配列部１３には、予め学習されている各状態の継続時間長の情報も入力されているものとする。
【００９５】
第１の実施形態と同様に、ピッチパタン生成装置は、以下に示すステップＢ１〜Ｂ８の処理を、読み情報に含まれる各アクセント句（各ピッチパタン補正単位）に対して実行する。以下、説明を簡単にするために、読み情報に含まれる１つのアクセント句（ピッチパタン補正単位）に着目してステップＢ１〜Ｂ８の処理を説明する。ピッチパタン生成装置は、同様の処理を、読み情報に含まれる他のアクセント句に対しても行えばよい。
【００９６】
また、以下の説明では、状態情報補正部１４が単調関数として一次関数を定める場合を例にする。
【００９７】
状態配列部１３は、読み情報内の着目しているアクセント句の読みに応じた音素を特定し、その音素に対応する状態情報を状態情報記憶部２から読み出す。そして、状態配列部１３は、そのアクセント句の読みに応じた音素の順番に従うとともに、各音素の状態の継続時間長に応じて、状態情報を配列する（ステップＢ１）。例えば、１番目の音素に対応する１番目の状態の継続時間長が、周期ｔのｋ倍であるとする。この場合、状態配列部１３は、その状態の状態情報をｋ個連続して配列する。その音素の２番目以降の各状態情報に関しても同様に配列する。さらに、２番目以降の音素に対応する各情報の状態情報についても同様に配列する。
【００９８】
次に、状態情報補正部１４は、ステップＢ１で配列されたアクセント句の各状態情報の数と、そのアクセント句の前方タグおよび後方タグとに基づいて、平均値変換用の単調関数を定める（ステップＢ２）。図１２は、各状態情報の周波数対数値の平均値、変換係数、および周波数対数値の平均値の変換後の値を模式的に示す説明図である。図１２では、状態の数が“８”であり、状態毎の継続時間長を考慮して状態情報を配列した結果、配列された状態情報の数が４０個となった場合を示している。この場合、状態情報補正部１４は、それぞれの状態情報に、順番に、１〜４０の順番を表す値を割り当てる。
【００９９】
また、状態情報補正部１４は、単調関数（本例では一次関数）の値域を規定する値ａ１，ａ２を決定する。ａ１，ａ２を決定する処理は、第１の実施形態と同様である。そして、状態情報補正部１４は、１〜４０を定義域とし、ａ１〜ａ２を値域とする単調関数（一次関数）を定める。
【０１００】
次に、状態情報補正部１４は、各状態の継続時間長における中央の周期に該当する期間を特定し、単調関数が示す線上の値となる平均値変換用の変換係数を定める（ステップＢ３）。具体的には、各状態の継続時間長における中央の周期に該当する期間を特定し、その期間に対応する状態情報に割り当てた値を判定する。状態情報補正部１４は、その値を単調関数の変数に代入することによって、変換係数を算出する。
【０１０１】
例えば、図１２に示す例において、１番目の状態に関しては、４０個の状態情報のうち、１〜４番目の４つの状態情報が配列されている。状態情報補正部１４は、この１番目の状態の継続時間長における中央の周期に該当する期間として、（４／２）＋１＝３番目の周期を特定する。そして、この周期に対応する状態情報に割り当てた値（順番を示す値）は３である。状態情報補正部１４は、この値を単調関数の変数に代入することによって、変換係数を算出すればよい。この変換係数は、１番目の状態の継続時間長に応じて配列された４つの状態情報に含まれる平均値を変換するために用いられる。
【０１０２】
また、例えば、図１２に示す例において、３番目の状態に関しては、４０個の状態情報のうち、１１〜１７番目の７つの状態情報が配列されている。状態情報補正部１４は、この３番目の状態の継続時間長における中央の周期に該当する期間として、（７＋１）／２＝４番目の周期を特定する。そして、３番目の状態に関しては１１〜１７番目の状態情報が対応していて、その中で４番目の周期に対応する状態情報は、４０個の状態情報のうち、１４番目である。従って、この状態情報に割り当てられている値は１４であり、状態情報補正部１４は、この値を単調関数の変数に代入することによって、変換係数を算出すればよい。この変換係数は、３番目の状態の継続時間長に応じて配列された７つの状態情報に含まれる平均値を変換するために用いられる。
【０１０３】
ここでは、図１２に示す１番目と３番目の状態を例にして説明したが、状態情報補正部１４は、他の状態に関しても、同様に変換関係数を算出すればよい。
【０１０４】
次に、状態情報補正部１４は、配列された各状態情報に含まれている周波数対数値の平均値を、ステップＢ３で求めた平均値変換用の変換係数を用いて変換する（ステップＢ４）。ステップＢ４では、１つの状態の継続時間長に応じて配列された各状態情報に対して、その状態に関して求めた変換係数を用いて、平均値の変換処理を行う。例えば、図１２に示す１番目の状態に関しては、上記のように、３を単調関数に代入することによって変換係数が算出されている。１番目の状態の継続時間長に応じて配列された４つの状態情報に含まれる周波数対数値の平均値に対しては、状態情報補正部１４は、この変換係数を用いて変換を行う。このような変換処理を、状態情報補正部１４は、状態毎に行えばよい。また、変換の演算は第１の実施形態と同様であり、例えば、平均値に変換係数を加算することよって平均値を変換すればよい。ただし、変換の演算は加算に限定されない。
【０１０５】
次に、状態情報補正部１４は、ステップＢ１で配列されたアクセント句の各状態情報の数と、そのアクセント句の前方タグおよび後方タグとに基づいて、分散変換用の単調関数を定める（ステップＢ５）。図１３は、各状態情報の周波数対数値の分散、変換係数、および周波数対数値の分散の変換後の値を模式的に示す説明図である。図１２に示す場合と同様に、状態の数が“８”であり、配列された状態情報の数が４０個である場合を示している。状態情報補正部１４は、それぞれの状態情報に、順番に、１〜４０の順番を表す値を割り当てている。
【０１０６】
状態情報補正部１４は、単調関数（本例では一次関数）の値域を規定する値ｂ１，ｂ２を決定する。ｂ１，ｂ２を決定する処理は、第１の実施形態と同様である。そして、状態情報補正部１４は、１〜４０を定義域とし、ｂ１〜ｂ２を値域とする単調関数（一次関数）を定める。
【０１０７】
次に、状態情報補正部１４は、各状態の継続時間長における中央の周期に該当する期間を特定し、単調関数が示す線上の値となる分散変換用の変換係数を定める（ステップＢ６）。具体的には、各状態の継続時間長における中央の周期に該当する期間を特定し、その期間に対応する状態情報に割り当てた値を判定する。状態情報補正部１４は、その値を単調関数の変数に代入することによって、変換係数を算出する。すなわち、ステップＢ６における変換係数の算出方法は、ステップＢ３における変換係数の算出方法と同様である。ただし、ステップＢ６では、状態情報補正部１４は、ステップＢ５で求めた単調関数を用いるので、変換係数の値自体は、ステップＢ３における算出結果と異なる。
【０１０８】
状態情報補正部１４は、ステップＢ６において、状態毎に、分散変換用の変換係数を定める。
【０１０９】
次に、状態情報補正部１４は、配列された各状態情報に含まれている周波数対数値の分散を、ステップＢ６で求めた分散変換用の変換係数を用いて変換する（ステップＢ７）。ステップＢ７の処理は、変換の対象が分散であることと、ステップＢ６で算出した変換係数を用いる点以外は、ステップＢ４の処理と同様である。例えば、図１３に示す１番目の状態の継続時間長に応じて配列された４つの状態情報に含まれる周波数対数値の分散に対しては、１番目の状態に関して算出した変換係数を用いて変換する。状態情報補正部１４は、このような変換を状態毎に行う。また、変換の演算は、第１の実施形態と同様であり、例えば、分散に変換係数を加算することよって、平均値を変換すればよい。ただし、変換の演算は、加算に限定されない。
【０１１０】
次に、ピッチパタン生成部５は、Ｂ４，Ｂ７での変換処理によって求めた変換後の平均値および分散を用いて、ピッチパタンを生成する（ステップＢ８）。ステップＢ８の処理は、第１の実施形態におけるステップＡ８の処理と同様である。
【０１１１】
第２の実施形態においても、第１の実施形態と同様の効果が得られる。特に、第２の実施形態では、状態毎の継続時間長を考慮して状態情報を配列し、その状態情報に含まれる平均値および分散を変換している。従って、生成したピッチパタンを用いた音声合成の結果、違和感のない音声を得ることができるという効果をより高めることができる。
【０１１２】
また、第１の実施形態で説明した種々の変形例は、第２の実施形態にも適用可能である。例えば、変換係数を定めるための関数は単調関数であればよく、一次関数に限定されない。また、周波数対数値の平均値および分散ではなく、周波数自体の平均値および分散を対象にして、上記と同様の処理を行ってもよい。
【０１１３】
また、ステップＢ２およびステップＢ５において、前方タグおよび後方タグの一方だけを用いて単調関数の値域を規定してもよい。
【０１１４】
また、第２の実施形態において、平均値のみを変換し、分散に関しては変換を行わなくてもよい。すなわち、状態情報補正部１４は、ステップＢ５〜Ｂ７の処理を実行しなくてもよい。この場合、ピッチパタン生成部５は、ステップＢ８において、変換後の分散の代わりに、変換を行っていない分散をそのまま用いてピッチパタンを生成すればよい。
【０１１５】
また、上記の第２の実施形態では、単調関数に基づいて分散変換用の変換係数を求める場合を示したが、他の方法で、分散変換用の変換係数を求めてもよい。以下、第２の実施形態の変形例として、単調関数を用いずに分散変換用の変換係数を定める態様について説明する。本変形例において、ステップＢ１〜Ｂ４の処理は、既に説明した処理と同様である。また、本変形例では、予め学習された継続時間長の情報が状態情報補正部１４にも入力される。
【０１１６】
本変形例では、状態情報補正部１４は、状態毎に、継続時間長の長さに応じて分散変換用の変換係数を求める。図１４は、継続時間長の長さに応じて定められる変換係数を模式的に示す説明図である。状態情報補正部１４は、継続時間長の長さが長いほど変換係数の値を大きく定め、継続時間長の長さが短いほど変換係数の値を小さく定める。図１４に示す例では、８個の状態を示している。各状態の継続時間長は、１番目の状態から順に、４ｔ（４周期）、６ｔ、７ｔ、４ｔ、６ｔ、５ｔ、５ｔ、３ｔである。継続時間長が最大となっているのは３番目の状態であり、継続時間長は７ｔである。よって、状態情報補正部１４は、８個の状態の中で、３番目の状態に関する変換係数を最も大きく定める（図１４参照）。また、継続時間長が最小となっているのは８番目の状態であり、継続時間長は３ｔである。よって、状態情報補正部１４は、８個の状態の中で、８番目の状態に関する変換係数を最も小さく定める（図１４参照）。状態情報補正部１４は、他の状態に関しても、継続時間長の長さに応じて分散変換用の変換係数を定める。継続時間長が等しい状態に関しては、同一の変換係数を定める。例えば、図１４に示す例では、継続時間長が４ｔで共通となっている１番目と４番目の状態に対して、状態情報補正部１４は、同一の変換係数を定める。２番目と５番目の状態や、６番目と７番目の状態に関しても同様である。
【０１１７】
本変形例では、図１１に示すステップＢ５，Ｂ６の代わりに、継続時間長の長さが長いほど変換係数の値を大きく定め、継続時間長の長さが短いほど変換係数の値を小さく定めるという処理を行えばよい。そして、その後、ステップＢ７，Ｂ８を実行すればよい。
【０１１８】
本変形例によれば、継続時間長が長い状態に関しては、分散を大きくすることができるので、ピッチパタンの繋がりを滑らかにすることができる。
【０１１９】
実施形態３．
第１の実施形態および第２の実施形態のピッチパタン生成装置は、いずれも、着目したアクセント句に関して状態情報を配列し、各状態情報に含まれている平均値や分散（周波数に関する平均値や分散）を変換する。第３の実施形態のピッチパタン生成装置は、状態情報を配列し、配列した状態情報を所定の基準で前側と後側に分ける。そして、第３の実施形態のピッチパタン生成装置は、配列された状態情報のうち、前側の配列情報、または、後側の配列情報、あるいはその両方を対象にして、周波数に関する平均値や分散を変換する。なお、ピッチパタン生成装置は、配列した状態情報のうち、前側の状態情報および後側の状態情報の両方に対して平均値等を変換する場合、前側の状態情報および後側の状態情報に対して、それぞれ単調関数を定め、変換係数を決定する。
【０１２０】
第３の実施形態の効果は、ピッチパタン補正単位がアクセント句である場合に特に大きい。従って、第３の実施形態では、ピッチパタン補正単位としてアクセント句を採用することが好ましいが、音素、音節、呼気段落、文等をピッチパタン補正単位としてもよい。
【０１２１】
以下、図１に示すブロック図を参照して、第３の実施形態のピッチパタン生成装置の例について説明する。状態情報補正部４以外の動作は、第１の実施形態と同様である。また、本実施形態でも、「周波数に関する平均値および分散」として、周波数対数値の平均値および分散を用いる場合を例にする。
【０１２２】
図１５は、状態情報補正部４の処理の例を模式的に示す説明図である。以下の説明では、配列した状態情報を所定の基準で前側と後側に分け、後側の状態情報に含まれる平均値を変換する場合を例にする。状態情報補正部４は、状態配列部３によって配列された状態情報を、所定の基準で前側と後側に分ける。本例では、周波数対数値の平均値が最も高い状態の状態情報を基準として、前側と後側に分ける場合を例にする。図１５に示す例では、左から３番目に示す状態で、周波数対数値の平均値が最も高い。従って、状態情報補正部４は、３番目に示す状態の状態情報を基準として、前側と後側に分ける。例えば、状態情報補正部４は、１番目および２番目の状態の状態情報を前側とし、３番目から６番目までの各状態の状態情報を後側とする。なお、基準とした状態情報（本例では３番目の状態の状態情報）は、前側に含めても後側に含めてもよい。
【０１２３】
なお、上記の例では、周波数対数値の平均値が最も高い状態の状態情報を基準として、前側の状態情報と後側の状態情報とに分ける場合を示したが、配列された状態情報を前側と後側に分ける基準は、上記の例に限定されない。他の例については後述する。
【０１２４】
そして、状態情報補正部４は、後側の状態情報を対象にして、変換係数を算出するための単調関数を定める。状態情報補正部４は、配列された各状態情報に、順番を示す値を割り当てる。この動作は第１の実施形態と同様である。そして、後側に該当する状態情報に割り当てた値の範囲を、単調関数の定義域とする。図１５に示す例では、３〜６が単調関数の定義域となる。また、後側の状態情報に含まれる平均値を変換対象とする場合、ａ１＝０とする。ａ２に関しては、既に説明した方法と同様に後方タグを用いて定めればよい。そして、状態情報補正部４は、０（＝ａ１）からａ２までを値域とする。状態情報補正部４は、３〜６を定義域とし、０〜ａ２を値域とする単調関数を定める。
【０１２５】
そして、状態情報補正部４は、その単調関数が示す線上の値として、後側に振り分けた状態情報毎に、平均値変換用の変換係数を求める。具体的には、単調関数の変数に、後側に該当する各状態情報に割り当てた値（本例では、３，４，５，６）を代入することによって、平均値変換用の変換係数を算出する。
【０１２６】
さらに、状態情報補正部４は、その変換係数を用いて、後側に振り分けた状態情報毎に周波数対数値の平均値を変換する（図１５参照）。また、前側に振り分けた状態情報に関しては、周波数対数値の平均値を変換しない（図１５参照）。
【０１２７】
図１６は、第３の実施形態の処理経過の例を示すフローチャートである。本実施形態においても、ピッチパタン生成装置は、以下に示すステップＣ１〜Ｃ８の処理を、読み情報に含まれる各アクセント句（各ピッチパタン補正単位）に対して実行する。以下、説明を簡単にするために、読み情報に含まれる１つのアクセント句（ピッチパタン補正単位）に着目してステップＣ１〜Ｃ８の処理を説明する。ピッチパタン生成装置は、同様の処理を、読み情報に含まれる他のアクセント句に対しても行えばよい。また、他の実施形態と同様の処理に関しては、適宜、省略する。
【０１２８】
状態配列部３は、読み情報内の着目しているアクセント句の読みに応じた音素を特定し、その音素に対応する状態情報を状態情報記憶部２から読み出す。状態配列部３は、そのアクセント句の読みに応じた音素の順番に従って、状態情報を配列する（ステップＣ１）。本例におけるステップＣ１は、ステップＡ１（図５参照）と同様である。
【０１２９】
次に、状態情報補正部４は、配列された状態情報を前側と後側とに分ける。そして、後方タグに基づいて、後側の状態情報に対する平均値変換用の単調関数を定める（ステップＣ２）。ステップＣ２では、状態情報補正部４は、配列された状態情報に対して、順番を表す値を割り当て、後側の状態情報に割り当てた値の範囲を単調関数の定義域とする。前述のように、図１５に示す例では、定義域は３〜６となる。また、値域を規定するａ１，ａ２を定める。具体的には、ａ１＝０とする。ａ２に関しては、既に説明した方法と同様に後方タグを用いて定めればよい。この結果、値域は０〜ａ２となる。状態情報補正部４は、定めた定義域および値域により決定される単調関数を定める。なお、単調関数は、他の実施形態と同様に、一次関数であってもよく、あるいは、一次関数以外の単調関数であってもよい。後述のステップＣ５で求める単調関数に関しても同様である。
【０１３０】
そして、状態情報補正部４は、単調関数が示す線上（図１５に示す例では、一次関数が示す直線上）の値として、後側に該当する状態情報毎に平均値変換用の変換係数を算出する（ステップＣ３）。具体的には、状態情報補正部４は、後側に該当する各状態情報に割り当てた値を単調関数の変数に代入することによって、後側に該当する状態情報毎に平均値変換用の変換係数を算出する。また、本例では、状態情報補正部４は、前側に振り分けた状態情報に関しては変換係数を求めない。
【０１３１】
次に、状態情報補正部４は、後側に該当する状態情報毎に、ステップＣ３で求めた変換係数を用いて、周波数対数値の平均値を変換する（ステップＣ４）。周波数対数値の平均値の変換の演算は他の実施形態と同様であり、例えば、平均値に変換係数を加算することよって平均値を変換すればよい。ただし、変換の演算は加算に限定されない。また、本例では、状態情報補正部４は、前側に振り分けた状態情報に含まれる周波数対数値の平均値に対しては変換を行わない。
【０１３２】
次に、状態情報補正部４は、後側の状態情報に関して、後方タグに基づいて分散変換用の単調関数を定める（ステップＣ５）。状態情報補正部４は、後側の状態情報に割り当てた値の範囲を単調関数の定義域とする。ステップＣ５では、値域を規定する値としてａ１，ａ２の代わりに、分散変換用の単調関数決定のために用いるｂ１，ｂ２を定めればよい。また、ｂ１＝０とすればよい。ｂ２に関しては、既に説明した方法と同様に後方タグを用いて定めればよい。状態情報補正部４は、定めた定義域および値域により決定される単調関数を定める。例えば、図１５に示す場合と同様に、定義域が３〜６であるとする。この場合、状態情報補正部４は、定義域が３〜６であり、値域が０〜ｂ２である単調関数を定める。
【０１３３】
続いて、状態情報補正部４は、単調関数が示す線上の値として、後側に該当する状態情報毎に分散変換用の変換係数を算出する（ステップＣ６）。具体的には、状態情報補正部４は、後側に該当する各状態情報に割り当てた値を単調関数の変数に代入することによって、後側に該当する状態情報毎に分散変換用の変換係数を算出する。また、本例では、状態情報補正部４は、前側に振り分けた状態情報に関しては変換係数を求めない。
【０１３４】
次に、状態情報補正部４は、後側に該当する状態情報毎に、ステップＣ６で求めた変換係数を用いて、周波数対数値の分散を変換する（ステップＣ７）。周波数対数値の分散の変換の演算は他の実施形態と同様であり、分散に変換係数を加算することよって分散を変換すればよい。ただし、変換の演算は加算に限定されない。また、本例では、状態情報補正部４は、前側に振り分けた状態情報に含まれる周波数対数値の分散に対しては変換を行わない。
【０１３５】
次に、ピッチパタン生成部５は、各状態情報における周波数対数値の平均値および分散を用いてピッチパタンを生成する（ステップＣ８）。平均値および分散を用いてピッチパタンを生成する処理は、他の実施形態と同様である。ただし、本例では、前側に該当する状態情報に含まれる平均値および分散は変換されていない。従って、変換されてない平均値および分散と、ステップＣ４，Ｃ７で変換された平均値および分散とを用いてピッチパタンを生成する。すなわち、式（３）におけるＭの要素、式（４）におけるＵの要素のうち、前側の状態情報に対応する要素に関しては、変換されていない値を用いればよい。
【０１３６】
また、上記の例では、後側に該当する状態情報に関して、周波数対数値の平均値および分散を変換する場合を例にして説明した。以下、前側に該当する状態情報に関して、周波数対数値の平均値および分散を変換する場合について説明する。図１７は、図１５に示す場合と同様に、配列された状態情報のうち、１番目および２番目の状態の状態情報を前側とし、３番目から６番目までの各状態の状態情報を後側とした場合を例示している。
【０１３７】
前側に該当する状態情報に関して平均値および分散を変換する場合、状態情報補正部４は、前側の状態情報を対象にして、変換係数を算出するための単調関数を定める。ここでは、平均値変換用の単調関数を定める場合を例にして説明する。状態情報補正部４は、前側に該当する状態情報に割り当てた値の範囲を、単調関数の定義域とする。図１７に示す例では、１〜２が定義域となる。また、状態情報補正部４は、平均値変換用の単調関数の値域を規定するためのａ１，ａ２を定める。ａ１に関しては、既に説明した方法と同様に前方タグを用いて定めればよい。また、前側の状態情報に含まれる平均値を変換対象とする場合、ａ２＝０とする。そして、状態情報補正部４は、ａ１から０（＝ａ２）までを値域とする。状態情報補正部４は、定めた定義域および値域により決定される単調関数を定める。図１７に示す例では、１〜２を定義域とし、ａ１〜０を値域とする単調関数を定めればよい。
【０１３８】
そして、状態情報補正部４は、その単調関数が示す線上の値として、前側に振り分けた状態情報毎に、平均値変換用の変換係数を求める。具体的には、単調関数の変数に、前側に該当する各状態情報に割り当てた値を代入することによって、平均値変換用の変換係数を算出する。また、本例では、状態情報補正部４は、後側に振り分けた状態情報に関しては変換係数を求めない。
【０１３９】
さらに、状態情報補正部４は、前側に該当する状態情報毎に、その状態情報に対応する変換係数を用いて、周波数対数値の平均値を変換する。周波数対数値の平均値の変換の演算は他の実施形態と同様であり、例えば、平均値に変換係数を加算することよって平均値を変換すればよい。また、本例では、状態情報補正部４は、後側に振り分けた状態情報に含まれる周波数対数値の平均値に対しては変換を行わない。
【０１４０】
また、状態情報補正部４は、前側の状態情報に関して、前方タグに基づいて分散変換用の単調関数を定める。状態情報補正部４は、前側の状態情報に割り当てた値の範囲を、分散変換用の単調関数の定義域とする。そして、状態情報補正部４は、分散変換用の単調関数の値域を規定する値として、上記のａ１，ａ２の代わりにｂ１，ｂ２を定めればよい。ｂ１に関しては、既に説明した方法と同様に前方タグを用いて定めればよい。前側の状態情報に含まれる平均値を変換対象とする場合、ｂ２＝０とする。状態情報補正部４は、このように定めた定義域および値域により決定される単調関数を定める。
【０１４１】
状態情報補正部４は、その単調関数が示す線上の値として、前側に振り分けた状態情報毎に、分散変換用の変換係数を求める。具体的には、単調関数の変数に、前側に該当する各状態情報に割り当てた値を代入することによって、分散変換用の変換係数を算出する。また、本例では、状態情報補正部４は、後側に振り分けた状態情報に関しては変換係数を求めない。
【０１４２】
さらに、状態情報補正部４は、前側に該当する状態情報毎に、その状態情報に対応する変換係数を用いて、周波数対数値の分散を変換する。周波数対数値の分散の変換の演算は他の実施形態と同様であり、例えば、分散に変換係数を加算することよって分散を変換すればよい。また、本例では、状態情報補正部４は、後側に振り分けた状態情報に含まれる周波数対数値の分散に対しては変換を行わない。
【０１４３】
ピッチパタン生成部５は、各状態情報における周波数対数値の平均値および分散を用いてピッチパタンを生成すればよい。平均値および分散を用いてピッチパタンを生成する処理は、他の実施形態と同様である。ただし、式（３）におけるＭの要素、式（４）におけるＵの要素のうち、後側の状態情報に対応する要素に関しては、変換されていない値を用いればよい。
【０１４４】
また、以上の説明では、配列された状態情報を前側と後側とに分け、後側の状態情報に含まれる平均値および分散を変換する場合と、前側の状態情報に含まれる平均値および分散を変換する場合とについてそれぞれ説明した。後側の状態情報および前側の状態情報に関して、それぞれ上記のように単調関数を定めて、平均値および分散を変換してもよい。
【０１４５】
後方タグが特に関連する範囲は、配列された状態情報のうち、後側に配列された状態情報であると考えることとができる。同様に、前方タグが特に関連する範囲は、配列された状態情報のうち、前側に配列された状態情報であると考えることとができる。本実施形態によれば、後方タグに基づいて、その後続タグが特に関連する範囲に該当する状態情報（後側の状態情報）を対象に平均値や分散の変換を行い、他の状態情報（前側の状態情報）については平均値や分散の変換を行わなくて済むという効果が得られる。例えば、上記のように、周波数対数値の平均値が最も高い状態の状態情報を基準として状態情報を前側と後側に分けた場合、後続タグが特に関連する、ピッチの下り勾配部分に該当する状態情報を対象に変換を行い、他の状態情報については分散の変換を行わなくて済む。あるいは、前方タグに基づいて、その前方タグが特に関連する範囲に該当する状態情報（前側の状態情報）を対象に平均値や分散の変換を行い、他の状態情報（後側の状態情報）については平均値や分散の変換を行わなくて済むという効果が得られる。
【０１４６】
上記の例では、周波数対数値の平均値が最も高い状態の状態情報を基準として、配列された状態情報を前側と後側とに分ける場合を示した。配列された状態情報を前側と後側とに分ける基準として他の基準を用いてもよい。
【０１４７】
例えば、周波数の平均値は、アクセント句内において、２モーラ目で最も高くなる傾向がある。状態情報補正部４は、この傾向を利用して、２モーラ目の音素に対応する状態情報のうち、中央の状態情報を基準として、配列された情報を前側と後側に分けてもよい。２モーラ目の音素に対応する状態情報が偶数個存在する場合には、中央の２つの状態情報のいずれか一方を基準とすればよい。または２モーラ目の音素に対応する状態情報のうち、最後の状態情報を基準として、配列された情報を前側と後側に分けてもよい。この方法は、周波数平均値が最も高い状態を具体的に特定する代わりに、アクセント句内において２モーラ目の周波数平均値が最も高いとみなす方法である。なお、２モーラ目の音素に対応する状態情報のうち中央（または最後）の状態情報は、後側に含めても、前側に含めてもよい。
【０１４８】
他の基準について説明する。ｉ番目の状態情報に含まれている周波数に関する平均値をｐ（ｉ）とする。そして、ｐ（ｉ）−ｐ（ｉ＋１）の絶対値が最大となるｉを変曲点と呼ぶ。このとき、状態情報補正部４は、変曲点となるｉ番目に該当する状態情報を基準として、前側と後側に分けてもよい。すなわち、状態情報補正部４は、状態情報補正部４は、ｐ（ｉ）−ｐ（ｉ＋１）の絶対値が最大となるｉを特定する。そして、状態配列部３に配列された状態情報を、ｉ番目の状態情報を基準として前側と後側とに分ければよい。基準とするｉ番目の状態情報は、後側に含めても前側に含めてもよい。なお、配列された状態情報のうち、最後の状態情報に関しては、次の状態情報がないので、ｐ（ｉ）−ｐ（ｉ＋１）の計算対象から除外してよい。
【０１４９】
変曲点は、アクセントの直後に現れる。従って、配列された状態情報を、上記のように変曲点を基準として前側と後側とに分けることで、アクセントの後における平均値や分散を（周波数に関する平均値や分散）を変換したり、アクセントの前における平均値や分散を変換したりすることができる。
【０１５０】
また、例えば、後方タグに基づいて、アクセント句の最後の近辺においてのみ、周波数に関する平均値や分散を変換したい場合がある。このような場合には、状態情報補正部４は、アクセント句内において、最後から２モーラ目の音素に対応する状態情報のうち、中央の状態情報を基準として、配列された情報を前側と後側に分けてもよい。あるいは、最後のモーラの音素に対応する状態情報のうち、中央の状態情報を基準として、配列された情報を前側と後側に分けてもよい。なお、最後から２モーラ目の音素に対応する状態情報が偶数個存在する場合には、中央の２つの状態情報のいずれか一方を基準とすればよい。最後のモーラの音素に対応する状態情報が偶数個存在する場合にも同様である。このように基準を定めて、配列された状態情報を分けることで、アクセント句の最後の近辺においてのみ、平均値や分散を変換することができる。
【０１５１】
また、以上の第３の実施形態の説明では、第１の実施形態と同様に状態情報を配列して、その状態情報を前側と後側とに分ける場合を説明した。第３の実施形態のピッチパタン生成装置は、第２の実施形態と同様に、個々の状態に関してそれぞれ、その状態の継続時間長に応じた数だけ、その状態の状態情報を繰り返し配列してもよい。以下、図１０に示すピッチパタン生成装置１０を例に、第３の実施形態の他の例について説明する。状態情報補正部１４以外の動作は、第２の実施形態と同様である。
【０１５２】
図１８は、第３の実施形態において、１つの状態に対して１つ以上の状態情報を繰り返し配列する場合の例を示す説明図である。図１２に示す場合と同様に、状態配列部１３が４０個の状態情報を配列したとする。この場合、状態情報補正部１４は、例えば、周波数対数値の平均値が最も高い状態の状態情報を基準として、４０個の状態情報を前側と後側とに分ければよい。図１８に示す例では、３番目の状態の状態情報（すなわち、１１〜１７番目の状態情報）において、周波数の平均値が最も高い。従って、例えば、状態情報補正部１４は、図１８に示す状態情報のうち、１１〜４０番目の状態情報を後側の状態情報として分け、１〜１０番目の状態情報を前側の状態情報として分ければよい。なお、本例では、周波数が最も高い１１〜１７番目の状態情報を後側に振り分ける場合を例示したが、これらの状態情報を前側に振り分けてもよい。
【０１５３】
ここでは、状態情報補正部１４が後側の状態情報について周波数対数値の平均値および分散を変換する場合について説明する。この場合、後側の状態情報に対応する状態毎に、平均値変換用の変換係数、分散変換用の変換係数を求めて、平均値および分散を変換すればよい。この動作は、第２の実施形態において、状態毎に平均値変換用の変換係数、分散変換用の変換係数を求めて、平均値および分散を変換する動作と同様である。ただし、平均値変換用の単調関数および分散変換用の単調関数を定めるために用いる定義域は、後側の状態情報の最初の状態情報に割り当てた値から、後側の状態情報の最後の状態情報に割り当てた値までの範囲である。図１８に示す例では、１１〜４０である。そして、状態情報補正部１４は、平均値変換用の単調関数を定める際に用いる値域を規定する値ａ１，ａ２のうち、ａ１に関してはａ１＝０とすればよい。ａ２に関しては、既に説明した方法と同様に後方タグを用いて定めればよい。状態情報補正部１４は、分散変換用の単調関数を定める際に用いる値域を規定する値ｂ１，ｂ２のうち、ｂ１に関してはｂ１＝０とすればよい。ｂ２に関しては、既に説明した方法と同様に後方タグを用いて定めればよい。状態情報補正部１４は、これらの単調関数を用いて、第２の実施形態と同様に、状態毎に平均値変換用の変換係数、分散変換用の変換係数を求め、後側の状態情報に含まれる周波数対数値の平均値や分散を変換すればよい。なお、この場合、状態情報補正部１４は、前側の状態情報に関しては、変換処理を行わなくてよい。
【０１５４】
次に、状態情報補正部１４が前側の状態情報について周波数対数値の平均値および分散を変換する場合について説明する。この場合、前側の状態情報に対応する状態毎に、平均値変換用の変換係数、分散変換用の変換係数を求めて、平均値および分散を変換すればよい。この動作は、第２の実施形態において、状態毎に平均値変換用の変換係数、分散変換用の変換係数を求めて、平均値および分散を変換する動作と同様である。ただし、平均値変換用の単調関数および分散変換用の単調関数を定めるために用いる定義域は、前側の状態情報の最初の状態情報に割り当てた値から、前側の状態情報の最後の状態情報に割り当てた値までの範囲である。そして、状態情報補正部１４は、平均値変換用の単調関数を定める際に用いる値域を規定する値ａ１，ａ２のうち、ａ２に関してはａ２＝０とすればよい。ａ１に関しては、既に説明した方法と同様に前方タグを用いて定めればよい。状態情報補正部１４は、分散変換用の単調関数を定める際に用いる値域を規定する値ｂ１，ｂ２のうち、ｂ２に関してはｂ２＝０とすればよい。ｂ１に関しては、既に説明した方法と同様に前方タグを用いて定めればよい。状態情報補正部１４は、これらの単調関数を用いて、第２の実施形態と同様に、状態毎に平均値変換用の変換係数、分散変換用の変換係数を求め、前側の状態情報に含まれる周波数対数値の平均値や分散を変換すればよい。なお、この場合、状態情報補正部１４は、後側の状態情報に関しては、変換処理を行わなくてよい。
【０１５５】
なお、後側の状態情報に関して変換を行う場合であっても、前側の状態情報に関して変換を行う場合であっても、状態情報補正部１４は、第２の実施形態の変形例で示したように状態毎の継続時間長に応じて分散変換用の変換係数を定めてもよい。
【０１５６】
また、第３の実施形態においても、第１および第２の実施形態の変形例と同様に、平均値のみを変換し、分散に関しては変換を行わなくてもよい。例えば、図１６に例示するフローチャートにおいて、ステップＣ５〜Ｃ７の処理を実行しなくてもよい。この場合、ピッチパタン生成部５は、変換を行っていない分散をそのまま用いてピッチパタンを生成すればよい。
【０１５７】
また、第１から第３までの各実施形態において、アクセント句の状態情報に含まれる周波数に関する平均値に対して変換を行った後、状態情報補正部４，１４は、さらに、各状態情報に対応する平均値に一定の定数を一律に加算してもよい。周波数に関する平均値に対して、一律に定数を加算することで、アクセント句の周波数を全体的に高くすることができる。
【０１５８】
実施形態４．
第４の実施形態では、第１から第３までの実施形態で説明した方法により作成されたピッチパタンを用いて音声合成を行う音声合成装置を示す。図１９は、第４の実施形態の音声合成装置の例を示すブロック図である。第１の実施形態と同様の要素については、図１と同一の符号を付し、詳細な説明を省略する。
【０１５９】
本実施形態の音声合成装置は、解析辞書記憶部４０と、言語処理部４１と、ピッチパタン処理部３０と、素片記憶部４２と、波形記憶部４４と、合成音声生成部４８とを備える。以下、アクセント句をピッチパタン補正単位とする場合を例にして説明する。
【０１６０】
解析辞書記憶部４０は、隣接するピッチパタン補正単位に対して、どのような場合にどのようなタグを付加するかを定めるルールを記憶する記憶装置である。
【０１６１】
言語処理部４１には、音声合成として出力すべきテキスト情報が入力される。言語処理部４１は、入力されたテキスト情報に対して、形態素解析を行って、そのテキスト情報の読みを表す文字列を作成し、アクセント句（ピッチパタン補正単位）毎に文字列を区切る。例えば、図３に例示するように、アクセント句の区切りを示す記号“／”により文字列を区切ればよい。
【０１６２】
また、言語処理部４１は、解析辞書記憶部４０に記憶されたルールを参照して、隣接するアクセント句の組に対してタグを決定し、文字列に追加する。この結果、例えば、図３に例示する読み情報を得る。なお、言語処理部４１は、アクセントの位置を判定し、アクセントの位置を示すアクセント情報を読み情報に追加してもよい。
【０１６３】
言語処理部４１は、生成した読み情報をピッチパタン処理部３０の状態配列部３および状態情報補正部４に入力する。なお、ピッチパタン処理部３０は、状態情報記憶部２と、状態配列部３と、状態情報補正部４と、ピッチパタン生成部５とを含む。これらの要素は、第１の実施形態と同様であり、説明を省略する。
【０１６４】
合成音声生成部４８は、ピッチパタン生成部５によって生成されたピッチパタンに基づいて合成音声を生成する。合成音声生成部４８は、例えば、素片選択部４３と、波形接続部４５とを備える。
【０１６５】
素片記憶部４３は、例えば、音節毎に素片を記憶する記憶装置である。
【０１６６】
素片選択部４３は、ピッチパタンおよび読み情報に基づいて、例えば、音節毎に素片を選択する。
【０１６７】
波形記憶部４４は、音声合成に用いられる種々の波形を記憶する記憶装置である。
【０１６８】
波形接続部４５は、素片選択部４３によって選択された素片に応じた波形を波形記憶部４４から読み出し、その波形を接続させることで合成音声を生成し、音声として出力する。
【０１６９】
以上のような構成により、入力されたテキスト情報に応じた合成音声を出力することができる。
【０１７０】
また、ピッチパタン処理部３０は、第２の実施形態で示した状態情報記憶部２と、状態配列部１３と、状態情報補正部１４と、ピッチパタン生成部５とを含む構成であってもよい。この場合、図２０に示すように、音声合成装置は、予め音素毎に学習された継続時間長を記憶する継続時間長記憶部４６と、読み情報によって特定される音素毎に継続時間長記憶部から継続時間長を読み出す継続時間長読み出し部４７とを備えていればよい。そして、継続時間長読み出し部４７は、音素毎に読み出した継続時間長を状態配列部１３に入力すればよい。
【０１７１】
また、図１９および図２０に例示する音声合成装置は、言語処理部４１が生成した読み情報に対するユーザの編集操作が可能な構成であってもよい。例えば、言語処理部４１が生成した読み情報をディスプレイ装置に表示させ、キーボード等の入力デバイスに入力された編集内容に従い、その読み情報に対する編集を行う編集手段（図示略）を備えていてもよい。このような構成によれば、ユーザは、例えば、読み情報に含まれるタグの値の調整等を行うことができる。
【０１７２】
次に、本発明の最小構成について説明する。図２１は、本発明のピッチパタン生成装置の最小構成の例を示すブロック図である。本発明のピッチパタン生成装置は、状態情報記憶手段９１と、状態情報配列手段９２と、状態情報補正手段９３と、ピッチパタン生成手段９４とを備える。
【０１７３】
状態情報記憶手段９１（例えば、状態情報記憶部２）は、音素毎に学習された隠れマルコフモデルの状態を示す状態情報であって、周波数に関する代表値（例えば、平均値）およびデータの広がり（例えば、分散）を表す状態情報を記憶する
【０１７４】
状態情報配列手段９２（例えば、状態配列部３）は、ピッチパタン補正単位（例えば、アクセント句、あるいは、音素、音節、呼気段落、文等）毎の読みを示す情報（例えば、読み情報に含まれる、ピッチパタン補正単位毎の読みを示す文字列）に基づいて、ピッチパタン補正単位の読みによって特定される各音素の状態情報を、そのピッチパタン補正単位の読みによって特定される音素順に配列する。
【０１７５】
状態情報補正手段９３（例えば、状態情報補正部４）は、少なくとも、ピッチパタン補正単位とその前のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である前方韻律制御情報（例えば、前方タグ）と、ピッチパタン補正単位とその後のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である後方韻律制御情報（例えば、後方タグ）とのいずれかを用いて、状態情報が表す周波数に関する代表値を変換するための代表値変換用変換係数（例えば、平均値変換用の変換係数）を導出する代表値変換用単調関数（例えば、平均値変換用の単調関数）を定める。状態情報補正手段９３は、その代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、代表値変換用変換係数を用いて、配列した状態情報が表す周波数に関する代表値を変換する。
【０１７６】
ピッチパタン生成手段９４（例えば、ピッチパタン生成手段９４）は、周波数に関する代表値およびデータの広がりに基づいてピッチパタンを生成する。
【０１７７】
そのような構成により、ＨＭＭを用いる場合に、違和感のない音声合成結果が得られるようなピッチパタンを生成することができる。
【０１７８】
上記の実施形態の一部または全部は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
【０１７９】
（付記１）音素毎に学習された隠れマルコフモデルの状態を示す状態情報であって、周波数に関する代表値およびデータの広がりを表す状態情報を予め記憶し、ピッチパタン補正単位毎の読みを示す情報に基づいて、ピッチパタン補正単位の読みによって特定される各音素の状態情報を、前記ピッチパタン補正単位の読みによって特定される音素順に配列し、少なくとも、前記ピッチパタン補正単位とその前のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である前方韻律制御情報と、前記ピッチパタン補正単位とその後のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である後方韻律制御情報とのいずれかを用いて、状態情報が表す周波数に関する代表値を変換するための代表値変換用変換係数を導出する代表値変換用単調関数を定め、前記代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、前記代表値変換用変換係数を用いて、配列した状態情報が表す周波数に関する代表値を変換し、周波数に関する代表値およびデータの広がりに基づいてピッチパタンを生成することを特徴とするピッチパタン生成方法。
【０１８０】
（付記２）状態情報を配列するときに、ピッチパタン補正単位の読みによって特定される音素の状態毎に、１つの状態情報を配列する付記１に記載のピッチパタン生成方法。
【０１８１】
（付記３）状態情報を配列するときに、ピッチパタン補正単位の読みによって特定される音素の状態毎に、音素の状態の継続時間長に応じた数だけ前記状態の状態情報を繰り返し配列する付記１に記載のピッチパタン生成方法。
【０１８２】
（付記４）ピッチパタン補正単位の読みによって特定される音素の各状態に関して代表値変換用変換係数を導出する代表値変換用単調関数を定め、前記各状態に関して、前記代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、前記各状態に関して、前記代表値変換用変換係数を用いて、配列した状態情報が表す周波数に関する代表値を変換する付記１から付記３のうちのいずれかに記載のピッチパタン生成方法。
【０１８３】
（付記５）所定の基準に基づいて、配列した状態情報を前側の状態情報と後側の状態情報とに分け、後方韻律制御情報を用いて、後側の状態情報に対応する各状態に関して代表値変換用変換係数を導出する代表値変換用単調関数を定め、前記各状態に関して、前記代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、前記代表値変換用変換係数を用いて、後側の状態情報が表す周波数に関する代表値を変換する付記１から付記３のうちのいずれかに記載のピッチパタン生成方法。
【０１８４】
（付記６）所定の基準に基づいて、配列した状態情報を前側の状態情報と後側の状態情報とに分け、前方韻律制御情報を用いて、前側の状態情報に対応する各状態に関して代表値変換用変換係数を導出する代表値変換用単調関数を定め、前記各状態に関して、前記代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、前記代表値変換用変換係数を用いて、前側の状態情報が表す周波数に関する代表値を変換する付記１から付記３のうちのいずれかに記載のピッチパタン生成方法。
【０１８５】
（付記７）少なくとも前方韻律制御情報と後方韻律制御情報とのいずれかを用いて、状態情報が表す周波数に関するデータの広がりを変換するためのデータの広がりの変換用変換係数を導出するデータの広がりの変換用単調関数を定め、前記データの広がりの変換用単調関数に基づいてデータの広がりの変換用変換係数を算出し、前記データの広がりの変換用変換係数を用いて、配列した状態情報が表す周波数に関するデータの広がりを変換する付記１から付記６のうちのいずれかに記載のピッチパタン生成方法。
【０１８６】
（付記８）ピッチパタン補正単位の読みによって特定される音素の各状態に関してデータの広がりの変換用変換係数を導出するデータの広がりの変換用単調関数を定め、前記各状態に関して、前記データの広がりの変換用単調関数に基づいてデータの広がりの変換用変換係数を算出し、前記各状態に関して、前記データの広がりの変換用変換係数を用いて、配列した状態情報が表す周波数に関するデータの広がりを変換する付記７に記載のピッチパタン生成方法。
【０１８７】
（付記９）所定の基準に基づいて、配列した状態情報を前側の状態情報と後側の状態情報とに分け、後方韻律制御情報を用いて、後側の状態情報に対応する各状態に関してデータの広がりの変換用変換係数を導出するデータの広がりの変換用単調関数を定め、前記各状態に関して、前記データの広がりの変換用単調関数に基づいてデータの広がりの変換用変換係数を算出し、前記データの広がりの変換用変換係数を用いて、後側の状態情報が表す周波数に関するデータの広がりを変換する付記７に記載のピッチパタン生成方法。
【０１８８】
（付記１０）所定の基準に基づいて、配列した状態情報を前側の状態情報と後側の状態情報とに分け、前方韻律制御情報を用いて、前側の状態情報に対応する各状態に関してデータの広がりの変換用変換係数を導出するデータの広がりの変換用単調関数を定め、
前記各状態に関して、前記データの広がりの変換用単調関数に基づいてデータの広がりの変換用変換係数を算出し、前記データの広がりの変換用変換係数を用いて、前側の状態情報が表す周波数に関するデータの広がりを変換する付記７に記載のピッチパタン生成方法。
【０１８９】
（付記１１）周波数に関する代表値が最大になる状態を基準として、配列した状態情報を前側の状態情報と後側の状態情報とに分ける付記５，６，９，１０のうちのいずれかに記載のピッチパタン生成方法。
【０１９０】
（付記１２）次の状態との間で周波数に関する代表値の差の絶対値が最大になる状態を基準として、配列した状態情報を前側の状態情報と後側の状態情報とに分ける付記５，６，９，１０のうちのいずれかに記載のピッチパタン生成方法。
【０１９１】
（付記１３）音素の状態の継続時間長に応じて、状態情報が表す周波数に関するデータの広がりを変換するためのデータの広がりの変換用変換係数を決定する付記１から付記６のうちのいずれかに記載のピッチパタン生成方法。
【０１９２】
（付記１４）音素毎に学習された隠れマルコフモデルの状態を示す状態情報であって、周波数に関する代表値およびデータの広がりを表す状態情報を記憶する状態情報記憶手段と、ピッチパタン補正単位毎の読みを示す情報に基づいて、ピッチパタン補正単位の読みによって特定される各音素の状態情報を、前記ピッチパタン補正単位の読みによって特定される音素順に配列する状態情報配列手段と、少なくとも、前記ピッチパタン補正単位とその前のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である前方韻律制御情報と、前記ピッチパタン補正単位とその後のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である後方韻律制御情報とのいずれかを用いて、状態情報が表す周波数に関する代表値を変換するための代表値変換用変換係数を導出する代表値変換用単調関数を定め、前記代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、前記代表値変換用変換係数を用いて、配列した状態情報が表す周波数に関する代表値を変換する状態情報補正手段と、周波数に関する代表値およびデータの広がりに基づいてピッチパタンを生成するピッチパタン生成手段とを備えることを特徴とするピッチパタン生成装置。
【０１９３】
（付記１５）ピッチパタン補正単位毎の読みを示す情報と、隣接するピッチパタン補正単位間の韻律の関係性を制御するための韻律制御情報とを生成する言語処理手段と、音素毎に学習された隠れマルコフモデルの状態を示す状態情報であって、周波数に関する代表値およびデータの広がりを表す状態情報を記憶する状態情報記憶手段と、ピッチパタン補正単位毎の読みを示す情報に基づいて、ピッチパタン補正単位の読みによって特定される各音素の状態情報を、前記ピッチパタン補正単位の読みによって特定される音素順に配列する状態情報配列手段と、少なくとも、前記ピッチパタン補正単位とその前のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である前方韻律制御情報と、前記ピッチパタン補正単位とその後のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である後方韻律制御情報とのいずれかを用いて、状態情報が表す周波数に関する代表値を変換するための代表値変換用変換係数を導出する代表値変換用単調関数を定め、前記代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、前記代表値変換用変換係数を用いて、配列した状態情報が表す周波数に関する代表値を変換する状態情報補正手段と、周波数に関する代表値およびデータの広がりに基づいてピッチパタンを生成するピッチパタン生成手段と、前記ピッチパタンに基づいて合成音声を生成する合成音声生成手段とを備えることを特徴とする音声合成装置。
【０１９４】
（付記１６）音素毎に学習された隠れマルコフモデルの状態を示す状態情報であって、周波数に関する代表値およびデータの広がりを表す状態情報を記憶する状態情報記憶手段を備えたコンピュータに搭載されるピッチパタン生成プログラムであって、前記コンピュータに、ピッチパタン補正単位毎の読みを示す情報に基づいて、ピッチパタン補正単位の読みによって特定される各音素の状態情報を、前記ピッチパタン補正単位の読みによって特定される音素順に配列する状態情報配列処理、少なくとも、前記ピッチパタン補正単位とその前のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である前方韻律制御情報と、前記ピッチパタン補正単位とその後のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である後方韻律制御情報とのいずれかを用いて、状態情報が表す周波数に関する代表値を変換するための代表値変換用変換係数を導出する代表値変換用単調関数を定め、前記代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、前記代表値変換用変換係数を用いて、配列した状態情報が表す周波数に関する代表値を変換する状態情報補正処理、および、周波数に関する代表値およびデータの広がりに基づいてピッチパタンを生成するピッチパタン生成処理を実行させるためのピッチパタン生成プログラム。
【０１９５】
（付記１７）音素毎に学習された隠れマルコフモデルの状態を示す状態情報であって、周波数に関する代表値およびデータの広がりを表す状態情報を記憶する状態情報記憶部と、ピッチパタン補正単位毎の読みを示す情報に基づいて、ピッチパタン補正単位の読みによって特定される各音素の状態情報を、前記ピッチパタン補正単位の読みによって特定される音素順に配列する状態情報配列部と、少なくとも、前記ピッチパタン補正単位とその前のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である前方韻律制御情報と、前記ピッチパタン補正単位とその後のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である後方韻律制御情報とのいずれかを用いて、状態情報が表す周波数に関する代表値を変換するための代表値変換用変換係数を導出する代表値変換用単調関数を定め、前記代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、前記代表値変換用変換係数を用いて、配列した状態情報が表す周波数に関する代表値を変換する状態情報補正部と、周波数に関する代表値およびデータの広がりに基づいてピッチパタンを生成するピッチパタン生成部とを備えることを特徴とするピッチパタン生成装置。
【０１９６】
（付記１８）ピッチパタン補正単位毎の読みを示す情報と、隣接するピッチパタン補正単位間の韻律の関係性を制御するための韻律制御情報とを生成する言語処理部と、音素毎に学習された隠れマルコフモデルの状態を示す状態情報であって、周波数に関する代表値およびデータの広がりを表す状態情報を記憶する状態情報記憶部と、ピッチパタン補正単位毎の読みを示す情報に基づいて、ピッチパタン補正単位の読みによって特定される各音素の状態情報を、前記ピッチパタン補正単位の読みによって特定される音素順に配列する状態情報配列部と、少なくとも、前記ピッチパタン補正単位とその前のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である前方韻律制御情報と、前記ピッチパタン補正単位とその後のピッチパタン補正単位との間の韻律の関係性を制御するための韻律制御情報である後方韻律制御情報とのいずれかを用いて、状態情報が表す周波数に関する代表値を変換するための代表値変換用変換係数を導出する代表値変換用単調関数を定め、前記代表値変換用単調関数に基づいて代表値変換用変換係数を算出し、前記代表値変換用変換係数を用いて、配列した状態情報が表す周波数に関する代表値を変換する状態情報補正部と、周波数に関する代表値およびデータの広がりに基づいてピッチパタンを生成するピッチパタン生成部と、前記ピッチパタンに基づいて合成音声を生成する合成音声生成部とを備えることを特徴とする音声合成装置。
【０１９７】
この出願は、２０１１年７月２５日に出願された日本特許出願２０１１−１６２４００を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【０１９８】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用の可能性】
【０１９９】
本発明は、ピッチパタンの生成するピッチパタン生成装置や、ピッチパタンを生成して音声合成を行う音声合成装置に好適に適用される。
【符号の説明】
【０２００】
１，１０  ピッチパタン生成装置
２  状態情報記憶部
３，１３  状態配列部
４，１４  状態情報補正部
５  ピッチパタン生成部
【図１】
0005999092.tif 000002
【図２】
0005999092.tif 000003
【図３】
0005999092.tif 000004
【図４】
0005999092.tif 000005
【図５】
0005999092.tif 000006
【図６】
0005999092.tif 000007
【図７】
0005999092.tif 000008
【図８】
0005999092.tif 000009
【図９】
0005999092.tif 000010
【図１０】
0005999092.tif 000011
【図１１】
0005999092.tif 000012
【図１２】
0005999092.tif 000013
【図１３】
0005999092.tif 000014
【図１４】
0005999092.tif 000015
【図１５】
0005999092.tif 000016
【図１６】
0005999092.tif 000017
【図１７】
0005999092.tif 000018
【図１８】
0005999092.tif 000019
【図１９】
0005999092.tif 000020
【図２０】
0005999092.tif 000021
【図２１】
0005999092.tif 000022