(57)【特許請求の範囲】
【請求項１】
音声の波形を表す音声データを複数記憶する記憶手段と、
文章を表す文章情報を入力し、当該文章内の複数の音片のそれぞれについて韻律予測を行うことにより、当該音片の時間長、及び、当該音片のピッチの時間変化を予測する予測手段と、
前記文章情報が表す文章内の音片のそれぞれについて、当該音片と読みが共通する部分を有する音声データを前記記憶手段から１つ又は複数索出する検索手段と、
前記索出されたそれぞれの音声データを前記文章情報が表す文章内の音片の順に従って接続してできる音声データの組み合わせのそれぞれについて評価値を求め、当該評価値が最大となる音声データの組み合わせを選択する選択手段と、
を備え、
前記選択手段は、
（ａ）当該音声データが表す音片のピッチの時間変化と、当該音片と読みが共通する前記文章内の音片のピッチの時間変化の予測結果と、の相関を表す数値を用いて表される関数、又は、当該音声データが表す音片の時間長と、当該音片と読みが共通する前記文章内の音片の時間長と、の差を用いて表される関数と、
（ｂ）当該音声データが表す音片のピッチの時間変化を表すデータを一定の方向へ所定サンプル数だけ循環シフトしたものが表す関数と、当該音片と読みが共通する前記文章内の音片のピッチの時間変化の予測結果を表す関数と、の相関係数の最大値と、
の両方を用いて前記評価値を求め、
前記相関を表す数値は、当該音声データが表す音片のピッチの時間変化と、当該音片と読みが共通する前記文章内の音片のピッチの時間変化と、の間での１次回帰により得られる勾配及び／又は切片からなる、
ことを特徴とする音声データ選択装置。
【請求項２】
前記選択手段は、更に、前記索出されたそれぞれの音声データを前記文章情報が表す文章内の音片の順に従って接続した際に互いに隣接する音声データ同士の境界でのピッチ成分の周波数の差に基づいて、前記評価値を求める、
ことを特徴とする請求項１に記載の音声データ選択装置。
【請求項３】
前記記憶手段は、前記音声データの読みを表す表音データを、当該音声データに対応付けて記憶し、
前記選択手段は、前記記憶手段に記憶される音声データのうち、前記文章内の音片の読みに合致する読みを表す表音データが対応付けられている音声データを、当該音片と読みが共通する音片の波形を表す音声データとする、
ことを特徴とする請求項１又は２に記載の音声データ選択装置。
【請求項４】
前記選択手段により選択された音声データを互いに結合することにより、合成音声を表すデータを生成する音声合成手段を更に備える、
ことを特徴とする請求項１乃至３のいずれか１項に記載の音声データ選択装置。
【請求項５】
前記表音データは、複数の表音文字から構成され、
前記文章内の音片の読みに合致する読みを表す表音データが対応付けられていない場合、当該表音データを構成する複数の表音文字のそれぞれに対応する音声データを結合することにより、当該音片の波形を表す音声データを合成する欠落部分合成手段と、
前記選択手段が選択した音声データ及び前記欠落部分合成手段が合成した音声データを互いに結合することにより、合成音声を表すデータを生成する音声合成手段と、
を更に備えることを特徴とする請求項３に記載の音声データ選択装置。
【請求項６】
記憶手段と処理手段を有する音声データ選択装置にて実行される音声データ選択方法であって、
前記記憶手段には、音声の波形を表す音声データが複数記憶され、
前記処理手段が、文章を表す文章情報を入力し、当該文章内の複数の音片のそれぞれについて韻律予測を行うことにより、当該音片の時間長、及び、当該音片のピッチの時間変化を予測する予測ステップと、
前記処理手段が、前記文章情報が表す文章内の音片のそれぞれについて、当該音片と読みが共通する部分を有する音声データを前記記憶手段から１つ又は複数索出する索出ステップと、
前記処理手段が、前記索出されたそれぞれの音声データを前記文章情報が表す文章内の音片の順に従って接続してできる音声データの組み合わせのそれぞれについて評価値を求め、当該評価値が最大となる音声データの組み合わせを選択する選択ステップと、
を備え、
前記選択ステップでは、前記処理手段が、
（ａ）当該音声データが表す音片のピッチの時間変化と、当該音片と読みが共通する前記文章内の音片のピッチの時間変化の予測結果と、の相関を表す数値を用いて表される関数、又は、当該音声データが表す音片の時間長と、当該音片と読みが共通する前記文章内の音片の時間長と、の差を用いて表される関数と、
（ｂ）当該音声データが表す音片のピッチの時間変化を表すデータを一定の方向へ所定サンプル数だけ循環シフトしたものが表す関数と、当該音片と読みが共通する前記文章内の音片のピッチの時間変化の予測結果を表す関数と、の相関係数の最大値と、
の両方を用いて前記評価値を求め、
前記相関を表す数値は、当該音声データが表す音片のピッチの時間変化と、当該音片と読みが共通する前記文章内の音片のピッチの時間変化と、の間での１次回帰により得られる勾配及び／又は切片からなる、
ことを特徴とする音声データ選択方法。
【請求項７】
前記選択ステップでは、前記処理手段が、更に、前記索出されたそれぞれの音声データを前記文章情報が表す文章内の音片の順に従って接続した際に互いに隣接する音声データ同士の境界でのピッチ成分の周波数の差に基づいて、前記評価値を求める、
ことを特徴とする請求項６に記載の音声データ選択方法。
【請求項８】
コンピュータを、
音声の波形を表す音声データを複数記憶する記憶手段、
文章を表す文章情報を入力し、当該文章内の複数の音片のそれぞれについて韻律予測を行うことにより、当該音片の時間長、及び、当該音片のピッチの時間変化を予測する予測手段、
前記文章情報が表す文章内の音片のそれぞれについて、当該音片と読みが共通する部分を有する音声データを前記記憶手段から１つ又は複数索出する検索手段、
前記索出されたそれぞれの音声データを前記文章情報が表す文章内の音片の順に従って接続してできる音声データの組み合わせのそれぞれについて評価値を求め、当該評価値が最大となる音声データの組み合わせを選択する選択手段、
として機能させ、
前記選択手段は、
（ａ）当該音声データが表す音片のピッチの時間変化と、当該音片と読みが共通する前記文章内の音片のピッチの時間変化の予測結果と、の相関を表す数値を用いて表される関数、又は、当該音声データが表す音片の時間長と、当該音片と読みが共通する前記文章内の音片の時間長と、の差を用いて表される関数と、
（ｂ）当該音声データが表す音片のピッチの時間変化を表すデータを一定の方向へ所定サンプル数だけ循環シフトしたものが表す関数と、当該音片と読みが共通する前記文章内の音片のピッチの時間変化の予測結果を表す関数と、の相関係数の最大値と、
の両方を用いて前記評価値を求め、
前記相関を表す数値は、当該音声データが表す音片のピッチの時間変化と、当該音片と読みが共通する前記文章内の音片のピッチの時間変化と、の間での１次回帰により得られる勾配及び／又は切片からなる、
ことを特徴とするプログラム。
【請求項９】
前記選択手段は、更に、前記索出されたそれぞれの音声データを前記文章情報が表す文章内の音片の順に従って接続した際に互いに隣接する音声データ同士の境界でのピッチ成分の周波数の差に基づいて、前記評価値を求める、
ことを特徴とする請求項８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音声データ選択装置、音声データ選択方法及びプログラムに関する。
【背景技術】
【０００２】
音声を合成する手法として、録音編集方式と呼ばれる手法がある。録音編集方式は、駅の音声案内システムや、車載用のナビゲーション装置などに用いられている。
録音編集方式は、単語と、この単語を読み上げる音声を表す音声データとを対応付けておき、音声合成する対象の文章を単語に区切ってから、これらの単語に対応付けられた音声データを取得してつなぎ合わせる、という手法である（例えば、特許文献１参照）。
【特許文献１】特開平１０−４９１９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、音声データを単につなぎ合わせた場合、音声データ同士の境界では通常、音声のピッチ成分の周波数が不連続的に変化する、等の理由で、合成音声が不自然なものとなる。
この問題を解決する手法としては、同一の音素を互いに異なった韻律で読み上げる音声を表す複数の音声データを用意し、一方で音声合成する対象の文章に韻律予測を施して、予測結果に合致する音声データを選び出してつなぎ合わせる、という手法が考えられる。
【０００４】
しかし、音声データを音素毎に用意して録音編集方式により自然な合成音声を得ようとすると、音声データを記憶する記憶装置には膨大な記憶容量が必要となり、小型軽量な装置を用いる必要がある用途には適さない。また、検索する対象のデータの量も膨大なものとなるから、高速な処理が要求される用途にも適さない。
【０００５】
また、韻律予測は極めて複雑な処理であるので、韻律予測を用いたこの手法を実現するには、処理能力が高いプロセッサなどを用い、あるいは長時間をかけて処理を行わせる必要がある。従ってこの手法は、構成が簡単な装置を用いた高速な処理が要求される用途には適さない。
【０００６】
この発明は、上記実状に鑑みてなされたものであり、簡単な構成で高速に自然な合成音声を得るための音声データ選択装置、音声データ選択方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成すべく、この発明の第１の観点にかかる音声データ選択装置は、
音声の波形を表す音声データを複数記憶する記憶手段と、
文章を表す文章情報を入力し、当該文章内の複数の音片のそれぞれについて韻律予測を行うことにより、当該音片の時間長、及び、当該音片のピッチの時間変化を予測する予測手段と、
前記文章情報が表す文章内の音片のそれぞれについて、当該音片と読みが共通する部分を有する音声データを前記記憶手段から１つ又は複数索出する検索手段と、
前記索出されたそれぞれの音声データを前記文章情報が表す文章内の音片の順に従って接続してできる音声データの組み合わせのそれぞれについて評価値を求め、当該評価値が最大となる音声データの組み合わせを選択する選択手段と、
を備え、
前記選択手段は、
（ａ）当該音声データが表す音片のピッチの時間変化と、当該音片と読みが共通する前記文章内の音片のピッチの時間変化の予測結果と、の相関を表す数値を用いて表される関数、又は、当該音声データが表す音片の時間長と、当該音片と読みが共通する前記文章内の音片の時間長と、の差を用いて表される関数と、
（ｂ）当該音声データが表す音片のピッチの時間変化を表すデータを一定の方向へ所定サンプル数だけ循環シフトしたものが表す関数と、当該音片と読みが共通する前記文章内の音片のピッチの時間変化の予測結果を表す関数と、の相関係数の最大値と、
の両方を用いて前記評価値を求め、
前記相関を表す数値は、当該音声データが表す音片のピッチの時間変化と、当該音片と読みが共通する前記文章内の音片のピッチの時間変化と、の間での１次回帰により得られる勾配及び／又は切片からなる、
ことを特徴とする。
【０００８】
前記選択手段は、更に、前記索出されたそれぞれの音声データを前記文章情報が表す文章内の音片の順に従って接続した際に互いに隣接する音声データ同士の境界でのピッチ成分の周波数の差に基づいて、前記評価値を求めてもよい。
【０００９】
前記記憶手段は、前記音声データの読みを表す表音データを、当該音声データに対応付けて記憶してもよい。
そして、前記選択手段は、前記記憶手段に記憶される音声データのうち、前記文章内の音片の読みに合致する読みを表す表音データが対応付けられている音声データを、当該音片と読みが共通する音片の波形を表す音声データとしてもよい。
【００１０】
前記選択手段により選択された音声データを互いに結合することにより、合成音声を表すデータを生成する音声合成手段を更に備えてもよい。
【００１１】
前記表音データは、複数の表音文字から構成されてもよい。
また、前記文章内の音片の読みに合致する読みを表す表音データが対応付けられていない場合、当該表音データを構成する複数の表音文字のそれぞれに対応する音声データを結合することにより、当該音片の波形を表す音声データを合成する欠落部分合成手段を更に備えてもよい。
そして、前記選択手段が選択した音声データ及び前記欠落部分合成手段が合成した音声データを互いに結合することにより、合成音声を表すデータを生成する音声合成手段を更に備えていてもよい。
【００１２】
本発明の第２の観点に係る音声データ選択方法は、記憶手段と処理手段を有する音声データ選択装置にて実行される音声データ選択方法であって、
前記記憶手段には、音声の波形を表す音声データが複数記憶され、
前記処理手段が、文章を表す文章情報を入力し、当該文章内の複数の音片のそれぞれについて韻律予測を行うことにより、当該音片の時間長、及び、当該音片のピッチの時間変化を予測する予測ステップと、
前記処理手段が、前記文章情報が表す文章内の音片のそれぞれについて、当該音片と読みが共通する部分を有する音声データを前記記憶手段から１つ又は複数索出する索出ステップと、
前記処理手段が、前記索出されたそれぞれの音声データを前記文章情報が表す文章内の音片の順に従って接続してできる音声データの組み合わせのそれぞれについて評価値を求め、当該評価値が最大となる音声データの組み合わせを選択する選択ステップと、
を備え、
前記選択ステップでは、前記処理手段が、
（ａ）当該音声データが表す音片のピッチの時間変化と、当該音片と読みが共通する前記文章内の音片のピッチの時間変化の予測結果と、の相関を表す数値を用いて表される関数、又は、当該音声データが表す音片の時間長と、当該音片と読みが共通する前記文章内の音片の時間長と、の差を用いて表される関数と、
（ｂ）当該音声データが表す音片のピッチの時間変化を表すデータを一定の方向へ所定サンプル数だけ循環シフトしたものが表す関数と、当該音片と読みが共通する前記文章内の音片のピッチの時間変化の予測結果を表す関数と、の相関係数の最大値と、
の両方を用いて前記評価値を求め、
前記相関を表す数値は、当該音声データが表す音片のピッチの時間変化と、当該音片と読みが共通する前記文章内の音片のピッチの時間変化と、の間での１次回帰により得られる勾配及び／又は切片からなる、
ことを特徴とする。
【００１３】
前記選択ステップでは、前記処理手段が、更に、前記索出されたそれぞれの音声データを前記文章情報が表す文章内の音片の順に従って接続した際に互いに隣接する音声データ同士の境界でのピッチ成分の周波数の差に基づいて、前記評価値を求めてもよい。
【００１４】
本発明の第３の観点に係るプログラムは、コンピュータを、
音声の波形を表す音声データを複数記憶する記憶手段、
文章を表す文章情報を入力し、当該文章内の複数の音片のそれぞれについて韻律予測を行うことにより、当該音片の時間長、及び、当該音片のピッチの時間変化を予測する予測手段、
前記文章情報が表す文章内の音片のそれぞれについて、当該音片と読みが共通する部分を有する音声データを前記記憶手段から１つ又は複数索出する検索手段、
前記索出されたそれぞれの音声データを前記文章情報が表す文章内の音片の順に従って接続してできる音声データの組み合わせのそれぞれについて評価値を求め、当該評価値が最大となる音声データの組み合わせを選択する選択手段、
として機能させ、
前記選択手段は、
（ａ）当該音声データが表す音片のピッチの時間変化と、当該音片と読みが共通する前記文章内の音片のピッチの時間変化の予測結果と、の相関を表す数値を用いて表される関数、又は、当該音声データが表す音片の時間長と、当該音片と読みが共通する前記文章内の音片の時間長と、の差を用いて表される関数と、
（ｂ）当該音声データが表す音片のピッチの時間変化を表すデータを一定の方向へ所定サンプル数だけ循環シフトしたものが表す関数と、当該音片と読みが共通する前記文章内の音片のピッチの時間変化の予測結果を表す関数と、の相関係数の最大値と、
の両方を用いて前記評価値を求め、
前記相関を表す数値は、当該音声データが表す音片のピッチの時間変化と、当該音片と読みが共通する前記文章内の音片のピッチの時間変化と、の間での１次回帰により得られる勾配及び／又は切片からなる、
ことを特徴とする。
【００１５】
前記選択手段は、更に、前記索出されたそれぞれの音声データを前記文章情報が表す文章内の音片の順に従って接続した際に互いに隣接する音声データ同士の境界でのピッチ成分の周波数の差に基づいて、前記評価値を求めてもよい。
【発明の効果】
【００１６】
この発明によれば、簡単な構成で高速に自然な合成音声を得るための音声データ選択装置、音声データ選択方法及びプログラムが実現される。
【発明を実施するための最良の形態】
【００１７】
以下、この発明の実施の形態を、音声合成システムを例とし、図面を参照して説明する。
（第１の実施の形態）
図１は、この発明の第１の実施の形態に係る音声合成システムの構成を示す図である。図示するように、この音声合成システムは、本体ユニットＭと、音片登録ユニットＲとにより構成されている。
【００１８】
本体ユニットＭは、言語処理部１と、一般単語辞書２と、ユーザ単語辞書３と、音響処理部４と、検索部５と、伸長部６と、波形データベース７と、音片編集部８と、検索部９と、音片データベース１０と、話速変換部１１とにより構成されている。
【００１９】
言語処理部１、音響処理部４、検索部５、伸長部６、音片編集部８、検索部９及び話速変換部１１は、いずれも、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）等のプロセッサや、このプロセッサが実行するためのプログラムを記憶するメモリなどより構成されており、それぞれ後述する処理を行う。
なお、言語処理部１、音響処理部４、検索部５、伸長部６、音片編集部８、検索部９及び話速変換部１１の一部又は全部の機能を単一のプロセッサが行うようにしてもよい。
【００２０】
一般単語辞書２は、ＰＲＯＭ（Programmable Read Only Memory）やハードディスク装置等の不揮発性メモリより構成されている。一般単語辞書２には、表意文字（例えば、漢字など）を含む単語等と、この単語等の読みを表す表音文字（例えば、カナや発音記号など）とが、この音声合成システムの製造者等によって、あらかじめ互いに対応付けて記憶されている。
【００２１】
ユーザ単語辞書３は、ＥＥＰＲＯＭ（Electrically Erasable/Programmable Read Only Memory）やハードディスク装置等のデータ書き換え可能な不揮発性メモリと、この不揮発性メモリへのデータの書き込みを制御する制御回路とにより構成されている。なお、プロセッサがこの制御回路の機能を行ってもよく、言語処理部１、音響処理部４、検索部５、伸長部６、音片編集部８、検索部９及び話速変換部１１の一部又は全部の機能を行うプロセッサがユーザ単語辞書３の制御回路の機能を行うようにしてもよい。
ユーザ単語辞書３は、表意文字を含む単語等と、この単語等の読みを表す表音文字とを、ユーザの操作に従って外部より取得し、互いに対応付けて記憶する。ユーザ単語辞書３には、一般単語辞書２に記憶されていない単語等とその読みを表す表音文字とが格納されていれば十分である。
【００２２】
波形データベース７は、ＰＲＯＭやハードディスク装置等の不揮発性メモリより構成されている。波形データベース７には、表音文字と、この表音文字が表す単位音声の波形を表す波形データをエントロピー符号化して得られる圧縮波形データとが、この音声合成システムの製造者等によって、あらかじめ互いに対応付けて記憶されている。単位音声は、規則合成方式の手法で用いられる程度の短い音声であり、具体的には、音素や、ＶＣＶ（Vowel-Consonant-Vowel）音節などの単位で区切られる音声である。なお、エントロピー符号化される前の波形データは、例えば、ＰＣＭ（Pulse Code Modulation）化されたデジタル形式のデータからなっていればよい。
【００２３】
音片データベース１０は、ＰＲＯＭやハードディスク装置等の不揮発性メモリより構成されている。
音片データベース１０には、例えば、図２に示すデータ構造を有するデータが記憶されている。すなわち、図示するように、音片データベース１０に格納されているデータは、ヘッダ部ＨＤＲ、インデックス部ＩＤＸ、ディレクトリ部ＤＩＲ及びデータ部ＤＡＴの４種に分かれている。
【００２４】
なお、音片データベース１０へのデータの格納は、例えば、この音声合成システムの製造者によりあらかじめ行われ、及び／又は、音片登録ユニットＲが後述する動作を行うことにより行われる。
【００２５】
ヘッダ部ＨＤＲには、音片データベース１０を識別するデータや、インデックス部ＩＤＸ、ディレクトリ部ＤＩＲ及びデータ部ＤＡＴのデータ量、データの形式、著作権等の帰属などを示すデータが格納される。
【００２６】
データ部ＤＡＴには、音片の波形を表す音片データをエントロピー符号化して得られる圧縮音片データが格納されている。
なお、音片とは、音声のうち音素１個以上を含む連続した１区間をいい、通常は単語１個分又は複数個分の区間からなる。
また、エントロピー符号化される前の音片データは、上述の圧縮波形データの生成のためエントロピー符号化される前の波形データと同じ形式のデータ（例えば、ＰＣＭされたデジタル形式のデータ）からなっていればよい。
【００２７】
ディレクトリ部ＤＩＲには、個々の圧縮音声データについて、
（Ａ）  この圧縮音片データが表す音片の読みを示す表音文字を表すデータ（音片読みデータ）、
（Ｂ）  この圧縮音片データが格納されている記憶位置の先頭のアドレスを表すデータ、
（Ｃ）  この圧縮音片データのデータ長を表すデータ、
（Ｄ）  この圧縮音片データが表す音片の発声スピード（再生した場合の時間長）を表すデータ（スピード初期値データ）、
（Ｅ）  この音片のピッチ成分の周波数の時間変化を表すデータ（ピッチ成分データ）、
が、互いに対応付けられた形で格納されている。（なお、音片データベース１０の記憶領域にはアドレスが付されているものとする。）
【００２８】
なお、図２は、データ部ＤＡＴに含まれるデータとして、読みが「サイタマ」である音片の波形を表す、データ量１４１０ｈバイトの圧縮音片データが、アドレス００１Ａ３６Ａ６ｈを先頭とする論理的位置に格納されている場合を例示している。（なお、本明細書及び図面において、末尾に“ｈ”を付した数字は１６進数を表す。）
【００２９】
また、ピッチ成分データは、例えば、図示するように、音片のピッチ成分の周波数をサンプリングして得られたサンプルＹ（ｉ）（サンプルの総数をｎとして、ｉはｎ以下の正の整数）を表すデータであるものとする。
【００３０】
なお、上述の（Ａ）〜（Ｅ）のデータの集合のうち少なくとも（Ａ）のデータ（すなわち音片読みデータ）は、音片読みデータが表す表音文字に基づいて決められた順位に従ってソートされた状態で（例えば、表音文字がカナであれば、五十音順に従って、アドレス降順に並んだ状態で）、音片データベース１０の記憶領域に格納されている。
【００３１】
インデックス部ＩＤＸには、ディレクトリ部ＤＩＲのデータのおおよその論理的位置を音片読みデータに基づいて特定するためのデータが格納されている。具体的には、例えば、音片読みデータがカナを表すものであるとして、カナ文字と、先頭１字がこのカナ文字であるような音片読みデータがどのような範囲のアドレスにあるかを示すデータとが、互いに対応付けて格納されている。
【００３２】
なお、一般単語辞書２、ユーザ単語辞書３、波形データベース７及び音片データベース１０の一部又は全部の機能を単一の不揮発性メモリが行うようにしてもよい。
【００３３】
音片データベース１０へのデータの格納は、図１に示す音片登録ユニットＲにより行われる。音片登録ユニットＲは、図示するように、収録音片データセット記憶部１２と、音片データベース作成部１３と、圧縮部１４とにより構成されている。なお、音片登録ユニットＲは音片データベース１０とは着脱可能に接続されていてもよく、この場合は、音片データベース１０に新たにデータを書き込むときを除いては、音片登録ユニットＲを本体ユニットＭから切り離した状態で本体ユニットＭに後述の動作を行わせてよい。
【００３４】
収録音片データセット記憶部１２は、ハードディスク装置等のデータ書き換え可能な不揮発性メモリより構成されている。
収録音片データセット記憶部１２には、音片の読みを表す表音文字と、この音片を人が実際に発声したものを集音して得た波形を表す音片データとが、この音声合成システムの製造者等によって、あらかじめ互いに対応付けて記憶されている。なお、この音片データは、例えば、ＰＣＭ化されたデジタル形式のデータからなっていればよい。
【００３５】
音片データベース作成部１３及び圧縮部１４は、ＣＰＵ等のプロセッサや、このプロセッサが実行するためのプログラムを記憶するメモリなどより構成されており、このプログラムに従って後述する処理を行う。
【００３６】
なお、音片データベース作成部１３及び圧縮部１４の一部又は全部の機能を単一のプロセッサが行うようにしてもよく、また、言語処理部１、音響処理部４、検索部５、伸長部６、音片編集部８、検索部９及び話速変換部１１の一部又は全部の機能を行うプロセッサが音片データベース作成部１３や圧縮部１４の機能を更に行ってもよい。また、音片データベース作成部１３や圧縮部１４の機能を行うプロセッサが、収録音片データセット記憶部１２の制御回路の機能を兼ねてもよい。
【００３７】
音片データベース作成部１３は、収録音片データセット記憶部１２より、互いに対応付けられている表音文字及び音片データを読み出し、この音片データが表す音声のピッチ成分の周波数の時間変化と、発声スピードとを特定する。
発声スピードの特定は、例えば、この音片データのサンプル数を数えることにより特定すればよい。
【００３８】
一方、ピッチ成分の周波数の時間変化は、例えば、この音片データにケプストラム解析を施すことにより特定すればよい。具体的には、例えば、音片データが表す波形を時間軸上で多数の小部分へと区切り、得られたそれぞれの小部分の強度を、元の値の対数（対数の底は任意）に実質的に等しい値へと変換し、値が変換されたこの小部分のスペクトル（すなわち、ケプストラム）を、高速フーリエ変換の手法（あるいは、離散的変数をフーリエ変換した結果を表すデータを生成する他の任意の手法）により求める。そして、このケプストラムの極大値を与える周波数のうちの最小値を、この小部分におけるピッチ成分の周波数として特定する。
【００３９】
なお、ピッチ成分の周波数の時間変化は、例えば、特開２００３−１０８１７２号公報に開示された手法に従って音片データをピッチ波形データへと変換してから、このピッチ波形データに基づいて特定するようにすると良好な結果が期待できる。具体的には、音片データをフィルタリングしてピッチ信号を抽出し、抽出されたピッチ信号に基づいて、音片データが表す波形を単位ピッチ長の区間へと区切り、各区間について、ピッチ信号との相関関係に基づいて位相のずれを特定して各区間の位相を揃えることにより、音片データをピッチ波形信号へと変換すればよい。そして、得られたピッチ波形信号を音片データとして扱い、ケプストラム解析を行う等することにより、ピッチ成分の周波数の時間変化を特定すればよい。
【００４０】
一方、音片データベース作成部１３は、収録音片データセット記憶部１２より読み出した音片データを圧縮部１４に供給する。
圧縮部１４は、音片データベース作成部１３より供給された音片データをエントロピー符号化して圧縮音片データを作成し、音片データベース作成部１３に返送する。
【００４１】
音片データの発声スピード及びピッチ成分の周波数の時間変化を特定し、この音片データがエントロピー符号化され圧縮音片データとなって圧縮部１４より返送されると、音片データベース作成部１３は、この圧縮音片データを、データ部ＤＡＴを構成するデータとして、音片データベース１０の記憶領域に書き込む。
【００４２】
また、音片データベース作成部１３は、書き込んだ圧縮音片データが表す音片の読みを示すものとして収録音片データセット記憶部１２より読み出した表音文字を、音片読みデータとして音片データベース１０の記憶領域に書き込む。
また、書き込んだ圧縮音片データの、音片データベース１０の記憶領域内での先頭のアドレスを特定し、このアドレスを上述の（Ｂ）のデータとして音片データベース１０の記憶領域に書き込む。
また、この圧縮音片データのデータ長を特定し、特定したデータ長を、（Ｃ）のデータとして音片データベース１０の記憶領域に書き込む。
また、この圧縮音片データが表す音片の発声スピード及びピッチ成分の周波数の時間変化を特定した結果を示すデータを生成し、スピード初期値データ及びピッチ成分データとして音片データベース１０の記憶領域に書き込む。
【００４３】
次に、この音声合成システムの動作を説明する。
まず、言語処理部１が、この音声合成システムに音声を合成させる対象としてユーザが用意した、表意文字を含む文章（フリーテキスト）を記述したフリーテキストデータを外部から取得したとして説明する。
【００４４】
なお、言語処理部１がフリーテキストデータを取得する手法は任意であり、例えば、図示しないインターフェース回路を介して外部の装置やネットワークから取得してもよいし、図示しない記録媒体ドライブ装置にセットされた記録媒体（例えば、フロッピー（登録商標）ディスクやＣＤ−ＲＯＭなど）から、この記録媒体ドライブ装置を介して読み取ってもよい。また、言語処理部１の機能を行っているプロセッサが、自ら実行している他の処理で用いたテキストデータを、フリーテキストデータとして、言語処理部１の処理へと引き渡すようにしてもよい。
【００４５】
フリーテキストデータを取得すると、言語処理部１は、このフリーテキストに含まれるそれぞれの表意文字について、その読みを表す表音文字を、一般単語辞書２やユーザ単語辞書３を検索することにより特定する。そして、この表意文字を、特定した表音文字へと置換する。そして、言語処理部１は、フリーテキスト内の表意文字がすべて表音文字へと置換した結果得られる表音文字列を、音響処理部４へと供給する。
【００４６】
音響処理部４は、言語処理部１より表音文字列を供給されると、この表音文字列に含まれるそれぞれの表音文字について、当該表音文字が表す単位音声の波形を検索するよう、検索部５に指示する。
【００４７】
検索部５は、この指示に応答して波形データベース７を検索し、表音文字列に含まれるそれぞれの表音文字が表す単位音声の波形を表す圧縮波形データを索出する。そして、索出された圧縮波形データを伸長部６へと供給する。
【００４８】
伸長部６は、検索部５より供給された圧縮波形データを、圧縮される前の波形データへと復元し、検索部５へと返送する。検索部５は、伸長部６より返送された波形データを、検索結果として音響処理部４へと供給する。
音響処理部４は、検索部５より供給された波形データを、言語処理部１より供給された表音文字列内での各表音文字の並びに従った順序で、音片編集部８へと供給する。
【００４９】
音片編集部８は、音響処理部４より波形データを供給されると、この波形データを、供給された順序で互いに結合し、合成音声を表すデータ（合成音声データ）として出力する。フリーテキストデータに基づいて合成されたこの合成音声は、規則合成方式の手法により合成された音声に相当する。
【００５０】
なお、音片編集部８が合成音声データを出力する手法は任意であり、例えば、図示しないＤ／Ａ（Digital-to-Analog）変換器やスピーカを介して、この合成音声データが表す合成音声を再生するようにしてもよい。また、図示しないインターフェース回路を介して外部の装置やネットワークに送出してもよいし、図示しない記録媒体ドライブ装置にセットされた記録媒体へ、この記録媒体ドライブ装置を介して書き込んでもよい。また、音片編集部８の機能を行っているプロセッサが、自ら実行している他の処理へと、合成音声データを引き渡すようにしてもよい。
【００５１】
次に、音響処理部４が、外部より配信された、表音文字列を表すデータ（配信文字列データ）を取得したとする。（なお、音響処理部４が配信文字列データを取得する手法も任意であり、例えば、言語処理部１がフリーテキストデータを取得する手法と同様の手法で配信文字列データを取得すればよい。）
【００５２】
この場合、音響処理部４は、配信文字列データが表す表音文字列を、言語処理部１より供給された表音文字列と同様に扱う。この結果、配信文字列データが表す表音文字列に含まれる表音文字に対応する圧縮波形データが検索部５により索出され、圧縮される前の波形データが伸長部６により復元される。復元された各波形データは音響処理部４を介して音片編集部８へと供給され、音片編集部８が、この波形データを、配信文字列データが表す表音文字列内での各表音文字の並びに従った順序で互いに結合し、合成音声データとして出力する。配信文字列データに基づいて合成されたこの合成音声データも、規則合成方式の手法により合成された音声を表す。
【００５３】
次に、音片編集部８が、定型メッセージデータ及び発声スピードデータを取得したとする。
なお、定型メッセージデータは、定型メッセージを表音文字列として表すデータであり、発声スピードデータは、定型メッセージデータが表す定型メッセージの発声スピードの指定値（この定型メッセージを発声する時間長の指定値）を示すデータである。
【００５４】
また、音片編集部８が定型メッセージデータや発声スピードデータを取得する手法は任意であり、例えば、言語処理部１がフリーテキストデータを取得する手法と同様の手法で定型メッセージデータや発声スピードデータを取得すればよい。
【００５５】
定型メッセージデータ及び発声スピードデータが音片編集部８に供給されると、音片編集部８は、定型メッセージに含まれる音片の読みを表す表音文字に合致する表音文字が対応付けられている圧縮音片データをすべて索出するよう、検索部９に指示する。
【００５６】
検索部９は、音片編集部８の指示に応答して音片データベース１０を検索し、該当する圧縮音片データと、該当する圧縮音片データに対応付けられている上述の音片読みデータ、スピード初期値データ及びピッチ成分データとを索出し、索出された圧縮波形データを伸長部６へと供給する。１個の音片につき複数の圧縮音片データが該当する場合も、該当する圧縮音片データすべてが、音声合成に用いられるデータの候補として索出される。一方、圧縮音片データを索出できなかった音片があった場合、検索部９は、該当する音片を識別するデータ（以下、欠落部分識別データと呼ぶ）を生成する。
【００５７】
伸長部６は、検索部９より供給された圧縮音片データを、圧縮される前の音片データへと復元し、検索部９へと返送する。検索部９は、伸長部６より返送された音片データと、索出された音片読みデータ、スピード初期値データ及びピッチ成分データとを、検索結果として話速変換部１１へと供給する。また、欠落部分識別データを生成した場合は、この欠落部分識別データも話速変換部１１へと供給する。
【００５８】
一方、音片編集部８は、話速変換部１１に対し、話速変換部１１に供給された音片データを変換して、当該音片データが表す音片の時間長を、発声スピードデータが示すスピードに合致するようにすることを指示する。
【００５９】
話速変換部１１は、音片編集部８の指示に応答し、検索部９より供給された音片データを指示に合致するように変換して、音片編集部８に供給する。具体的には、例えば、検索部９より供給された音片データの元の時間長を、索出されたスピード初期値データに基づいて特定した上、この音片データをリサンプリングして、この音片データのサンプル数を、音片編集部８の指示したスピードに合致する時間長にすればよい。
【００６０】
また、話速変換部１１は、検索部９より供給された音片読みデータ、スピード初期値データ及びピッチ成分データも音片編集部８に供給し、欠落部分識別データを検索部９より供給された場合は、更にこの欠落部分識別データも音片編集部８に供給する。
【００６１】
なお、発声スピードデータが音片編集部８に供給されていない場合、音片編集部８は、話速変換部１１に対し、話速変換部１１に供給された音片データを変換せずに音片編集部８に供給するよう指示すればよく、話速変換部１１は、この指示に応答し、検索部９より供給された音片データをそのまま音片編集部８に供給すればよい。
【００６２】
音片編集部８は、話速変換部１１より音片データ、音片読みデータ、スピード初期値データ及びピッチ成分データを供給されると、供給された音片データのうちから、定型メッセージを構成する音片の波形に最もよく近似できる波形を表す音片データを、音片１個につき１個ずつ選択する。
【００６３】
具体的には、まず、音片編集部８は、定型メッセージデータが表す定型メッセージに、例えば「藤崎モデル」や「ＴｏＢＩ（Tone and Break Indices）」等の韻律予測の手法に基づいた解析を加えることにより、この定型メッセージ内の各音片のピッチ成分の周波数の時間変化を予測する。そして、音片毎に、ピッチ成分の周波数の時間変化の予測結果をサンプリングしたものを表すデジタル形式のデータ（以下、予測結果データと呼ぶ）を生成する。
【００６４】
次に、音片編集部８は、定型メッセージ内のそれぞれの音片について、この音片のピッチ成分の周波数の時間変化の予測結果を表す予測結果データと、この音片と読みが合致する音片の波形を表す音片データのピッチ成分の周波数の時間変化を表すピッチ成分データとの相関を求める。
【００６５】
より具体的には、音片編集部８は、話速変換部１１より供給された各々のピッチ成分データについて、例えば、数式１の右辺に示す値α及び数式２の右辺に示す値βを求める。
【００６６】
【数１】
0004780188.tif 000002
【００６７】
（数２）      β＝ｍｙ−（α・ｍｘ）
【００６８】
図３（ａ）に示すように、ある音片についての予測結果データ（サンプルの総数はｎ個とする）のｉ番目のサンプルの値Ｘ（ｉ）（ｉは整数）の１次関数として、この音片と読みが合致する音片の波形を表す音片データについてのピッチ成分データ（サンプルの総数はｎ個とする）のｉ番目のサンプルＹ（ｉ）の値を１次回帰させた場合、この１次関数の勾配はα、切片はβとなる。（勾配αの単位は例えば［ヘルツ／秒］であればよく、切片βの単位は例えば［ヘルツ］であればよい。）
【００６９】
なお、同一の読みの音片について、予測結果データとピッチ成分データとでサンプルの総数が互いに異なる場合は、両者のうち一方（または両方）を、１次補間やラグランジェ補間あるいはその他任意の手法により補間した上でリサンプリングし、両者のサンプルの総数を揃えてから相関を求めるようにすればよい。
【００７０】
一方、音片編集部８は、話速変換部１１より供給されたスピード初期値データと、音片編集部８に供給された定型メッセージデータ及び発声スピードデータとを用いて、数式３の右辺の値ｄｔを求める。この値ｄｔは、音片データが表す音片の発声スピードと、この音片と読みが合致する定型メッセージ内の音片の発声スピードとの時間差を表す係数である。
【００７１】
（数３）      ｄｔ＝｜（Ｘｔ−Ｙｔ）／Ｙｔ｜
（ただし、Ｙｔは音片データが表す音片の発声スピード、Ｘｔはこの音片と読みが合致する定型メッセージ内の音片の発声スピード）
【００７２】
そして、音片編集部８は、１次回帰により得られた上述のα及びβの値と、上述の係数ｄｔとに基づいて、定型メッセージ内の音片の読みと一致する音片を表す音片データのうち、数式４の右辺の値（評価値）ｃｏｓｔ１が最大となるものを選択する。
【００７３】
（数４）      ｃｏｓｔ１＝１／（Ｗ１｜１−α｜＋Ｗ２｜β｜＋ｄｔ）
（ただし、Ｗ１及びＷ２は所定の正の係数）
【００７４】
音片のピッチ成分の周波数の時間変化の予測結果と、この音片と読みが合致する音片の波形を表す音片データのピッチ成分の周波数の時間変化とが互いに近いほど、勾配αの値は１に近くなり、従って、値｜１−α｜は０に近くなる。そして、評価値ｃｏｓｔ１は、音片のピッチの予測結果と音片データのピッチとの相関が高いほど大きな値となるようにするため、値｜１−α｜の１次関数の逆数の形をとっているので、評価値ｃｏｓｔ１は、値｜１−α｜が０に近くなるほど大きな値となる。
一方、音声の抑揚は、音片のピッチ成分の周波数の時間変化により特徴付けられる。従って、勾配αの値は、音声の抑揚の差異を敏感に反映する性質を有する。
このため、合成されるべき音声について抑揚の正確さが重視される場合（例えば、電子メール等のテキストを読み上げる音声を合成する場合等）は、上述の係数Ｗ１の値をなるべく大きくすることが望ましい。
【００７５】
これに対し、音片のピッチ成分の基本周波数（ベースピッチ周波数）の予測結果と、この音片と読みが合致する音片の波形を表す音片データのベースピッチ周波数とが互いに近いほど、切片βの値は０に近くなる。従って、切片βの値は、音声のベースピッチ周波数の差異を敏感に反映する性質を有する。一方、評価値ｃｏｓｔ１は、値｜β｜の１次関数の逆数とみることもできる形をとっているので、評価値ｃｏｓｔ１は、値｜β｜が０に近くなるほど大きな値となる。
一方、音声のベースピッチ周波数は、音声の話者の声質を支配する要因であり、話者の性別による差異も顕著である。
このため、合成されるべき音声についてベースピッチ周波数の正確さが重視される場合（例えば、合成音声の話者の性別や声質を明確にする必要がある場合など）は、上述の係数Ｗ２の値をなるべく大きくすることが望ましい。
【００７６】
動作の説明に戻ると、音片編集部８は、定型メッセージ内の音片の波形に近い波形を表す音片データを選択する一方で、話速変換部１１より欠落部分識別データも供給されている場合には、欠落部分識別データが示す音片の読みを表す表音文字列を定型メッセージデータより抽出して音響処理部４に供給し、この音片の波形を合成するよう指示する。
【００７７】
指示を受けた音響処理部４は、音片編集部８より供給された表音文字列を、配信文字列データが表す表音文字列と同様に扱う。この結果、この表音文字列に含まれる表音文字が示す音声の波形を表す圧縮波形データが検索部５により索出され、この圧縮波形データが伸長部６により元の波形データへと復元され、検索部５を介して音響処理部４へと供給される。音響処理部４は、この波形データを音片編集部８へと供給する。
【００７８】
音片編集部８は、音響処理部４より波形データを返送されると、この波形データと、話速変換部１１より供給された音片データのうち音片編集部８が特定したものとを、定型メッセージデータが示す定型メッセージ内での各音片の並びに従った順序で互いに結合し、合成音声を表すデータとして出力する。
【００７９】
なお、話速変換部１１より供給されたデータに欠落部分識別データが含まれていない場合は、音響処理部４に波形の合成を指示することなく直ちに、音片編集部８が特定した音片データを、定型メッセージデータが示す定型メッセージ内での各音片の並びに従った順序で互いに結合し、合成音声を表すデータとして出力すればよい。
【００８０】
以上説明した、この音声合成システムでは、音素より大きな単位であり得る音片の波形を表す音片データが、韻律の予測結果に基づいて、録音編集方式により自然につなぎ合わせられ、定型メッセージを読み上げる音声が合成される。音片データベース１０の記憶容量は、音素毎に波形を記憶する場合に比べて小さくでき、また、高速に検索できる。このため、この音声合成システムは小型軽量に構成することができ、また高速な処理にも追随できる。
【００８１】
また、音片の波形の予測結果と音片データとの相関を複数の評価基準（例えば、１次回帰させた場合の勾配や切片による評価と、音片の時間差による評価、など）で評価した場合は、これらの評価の結果に食い違いが生じる場合が多々あり得る。しかし、この音声合成システムでは、複数の評価基準で評価した結果が１個の評価値に基づいて総合され、適正な評価が行われる。
【００８２】
なお、この音声合成システムの構成は上述のものに限られない。
例えば、波形データや音片データはＰＣＭ形式のデータである必要はなく、データ形式は任意である。
また、波形データベース７や音片データベース１０は波形データや音片データを必ずしもデータ圧縮された状態で記憶している必要はない。波形データベース７や音片データベース１０が波形データや音片データをデータ圧縮されていない状態で記憶している場合、本体ユニットＭは伸長部６を備えている必要はない。
【００８３】
また、音片データベース作成部１３は、図示しない記録媒体ドライブ装置にセットされた記録媒体から、この記録媒体ドライブ装置を介して、音片データベース１０に追加する新たな圧縮音片データの材料となる音片データや表音文字列を読み取ってもよい。
また、音片登録ユニットＲは、必ずしも収録音片データセット記憶部１２を備えている必要はない。
【００８４】
また、音片編集部８は、特定の音片の韻律を表す韻律登録データをあらかじめ記憶し、定型メッセージにこの特定の音片が含まれている場合は、この韻律登録データが表す韻律を、韻律予測の結果として扱うようにしてもよい。
また、音片編集部８は、過去の韻律予測の結果を韻律登録データとして新たに記憶するようにしてもよい。
【００８５】
また、音片編集部８は、上述のα及びβの値を求める代わりに、話速変換部１１より供給された各々のピッチ成分データについて、例えば、数式５の右辺に示す値Ｒｘｙ（ｊ）を、ｊの値を０以上ｎ未満の各整数として、合計ｎ個求め、得られたＲｘｙ（０）からＲｘｙ（ｎ−１）までのｎ個の相関係数のうちの最大値を特定するようにしてもよい。
【００８６】
【数５】
0004780188.tif 000003
【００８７】
Ｒｘｙ（ｊ）は、ある音片についての予測結果データ（サンプル総数ｎ個。なお、数式５におけるＸ（ｉ）は数式１におけるものと同一である）と、この音片と読みが合致する音片の波形を表す音片データについてのピッチ成分データ（サンプルの総数ｎ個）を一定の方向へｊ個循環シフトして得られたサンプルの列（なお、数式５においてＹｊ（ｉ）は、このサンプルの列のｉ番目のサンプルの値である）との相関係数の値である。
【００８８】
なお、図３（ｂ）は、Ｒｘｙ（０）及びＲｘｙ（ｊ）の値を求めるために用いる予測結果データ及びピッチ成分データの値の一例を示すグラフである。ただし、Ｙ（ｐ）の値（ただし、ｐは１以上ｎ以下の整数）は、循環シフトを行う前のピッチ成分データのｐ番目のサンプルの値である。従って、例えば、音片データのサンプルが時刻の早い順に並んでおり、循環シフトが下位方向（つまり時刻が遅い方）へと行われるものとすれば、ｊ＜ｐの場合はＹｊ（ｐ）＝Ｙ（ｐ−ｊ）であり、一方、１≦ｐ≦ｊの場合はＹｊ（ｐ）＝Ｙ（ｎ−ｊ＋ｐ）である。
【００８９】
そして、音片編集部８は、上述のＲｘｙ（ｊ）の最大値と、上述の係数ｄｔとに基づいて、定型メッセージ内の音片の読みと一致する音片を表す音片データのうち、数式６の右辺の値（評価値）ｃｏｓｔ２が最大となるものを選択すればよい。
【００９０】
（数６）      ｃｏｓｔ２＝１／（Ｗ３｜Ｒｍａｘ｜＋ｄｔ）
（ただし、Ｗ３は所定の係数、ＲｍａｘはＲｘｙ（０）〜Ｒｘｙ（ｎ−１）のうちの最大値）
【００９１】
なお、音片編集部８は、必ずしもピッチ成分データを種々循環シフトしたものについて上述の相関係数を求める必要はなく、例えば、Ｒｘｙ（０）の値をそのまま相関係数の最大値として扱うようにしてもよい。
【００９２】
また、評価値ｃｏｓｔ１やｃｏｓｔ２は、係数ｄｔの項を含まなくてもよく、この場合、音片編集部８は、係数ｄｔを求める必要がない。
あるいは、音片編集部８は、係数ｄｔの値をそのまま評価値として用いてもよく、この場合、音片編集部は、勾配αや、切片βや、Ｒｘｙ（ｊ）の値を求める必要がない。
【００９３】
また、ピッチ成分データは音片データが表す音片のピッチ長の時間変化を表すデータであってもよい。この場合、音片編集部８は、予測結果データとして、音片のピッチ長の時間変化の予測結果を表すデータを作成するものとし、この音片と読みが合致する音片の波形を表す音片データのピッチ長の時間変化を表すピッチ成分データとの相関を求めるようにすればよい。
【００９４】
また、音片データベース作成部１３は、マイクロフォン、増幅器、サンプリング回路、Ａ／Ｄ（Analog-to-Digital）コンバータ及びＰＣＭエンコーダなどを備えていてもよい。この場合、音片データベース作成部１３は、収録音片データセット記憶部１２より音片データを取得する代わりに、自己のマイクロフォンが集音した音声を表す音声信号を増幅し、サンプリングしてＡ／Ｄ変換した後、サンプリングされた音声信号にＰＣＭ変調を施すことにより、音片データを作成してもよい。
【００９５】
また、音片編集部８は、音響処理部４より返送された波形データを話速変換部１１に供給することにより、当該波形データが表す波形の時間長を、発声スピードデータが示すスピードに合致させるようにしてもよい。
【００９６】
また、音片編集部８は、例えば、言語処理部１と共にフリーテキストデータを取得し、このフリーテキストデータが表すフリーテキストに含まれる音片の波形に最も近い波形を表す音片データを、定型メッセージに含まれる音片の波形に最も近い波形を表す音片データを選択する処理と実質的に同一の処理を行うことによって選択して、音声の合成に用いてもよい。
この場合、音響処理部４は、音片編集部８が選択した音片データが表す音片については、この音片の波形を表す波形データを検索部５に索出させなくてもよい。なお、音片編集部８は、音響処理部４が合成しなくてよい音片を音響処理部４に通知し、音響処理部４はこの通知に応答して、この音片を構成する単位音声の波形の検索を中止するようにすればよい。
【００９７】
また、音片編集部８は、例えば、音響処理部４と共に配信文字列データを取得し、この配信文字列データが表す配信文字列に含まれる音片の波形に最も近い波形を表す音片データを、定型メッセージに含まれる音片の波形に最も近い波形を表す音片データを選択する処理と実質的に同一の処理を行うことによって選択して、音声の合成に用いてもよい。この場合、音響処理部４は、音片編集部８が選択した音片データが表す音片については、この音片の波形を表す波形データを検索部５に索出させなくてもよい。
【００９８】
（第２の実施の形態）
次に、この発明の第２の実施の形態を説明する。この発明の第２の実施の形態に係る音声合成システムの物理的構成は、上述した第１の実施の形態における構成と実質的に同一である。
【００９９】
ただし、第２の実施の形態の音声合成システムにおける音片データベース１０のディレクトリ部ＤＩＲには、例えば図４に示すように、個々の圧縮音声データについて、上述の（Ａ）〜（Ｄ）のデータが互いに対応づけられた形で格納されているほか、上述の（Ｅ）のデータに代え、ピッチ成分データとして、（Ｆ）この圧縮音片データが表す音片の先頭と末尾におけるピッチ成分の周波数を表すデータが、これら（Ａ）〜（Ｄ）のデータに対応付けられた形で格納されている。
【０１００】
なお、図４は、図２と同様、データ部ＤＡＴに含まれるデータとして、読みが「サイタマ」である音片の波形を表す、データ量１４１０ｈバイトの圧縮音片データが、アドレス００１Ａ３６Ａ６ｈを先頭とする論理的位置に格納されている場合を例示している。）また、上述の（Ａ）〜（Ｄ）及び（Ｆ）のデータの集合のうち少なくとも（Ａ）のデータは、音片読みデータが表す表音文字に基づいて決められた順位に従ってソートされた状態で音片データベース１０の記憶領域に格納されているものとする。
【０１０１】
そして、音片登録ユニットＲの音片データベース作成部１３は、収録音片データセット記憶部１２より、互いに対応付けられている表音文字及び音片データを読み出すと、この音片データが表す音声の発声スピードと、先頭及び末尾でのピッチ成分の周波数とを特定するものとする。
そして、読み出した音片データを圧縮部１４に供給し、圧縮音片データの返送を受けると、この圧縮音片データ、収録音片データセット記憶部１２より読み出した表音文字、この圧縮音片データの音片データベース１０の記憶領域内での先頭のアドレス、この圧縮音片データのデータ長、及び、特定した発声スピードを示すスピード初期値データを、第１の実施の形態の音片データベース作成部１３と同様の動作を行うことにより音片データベース１０の記憶領域に書き込み、また、音声の先頭及び末尾におけるピッチ成分の周波数を特定した結果を示すデータを生成して、ピッチ成分データとして音片データベース１０の記憶領域に書き込むものする。
なお、発声スピード及びピッチ成分の周波数の特定は、例えば、第１の実施の形態の音片データベース作成部１３が行う手法と実質的に同一の手法により行えばよい。
【０１０２】
次に、この音声合成システムの動作を説明する。
この音声合成システムの言語処理部１がフリーテキストデータを外部から取得した場合、及び、音響処理部４が配信文字列データを取得した場合の動作は、第１の実施の形態の音声合成システムが行う動作と実質的に同一である。（なお、言語処理部１がフリーテキストデータを取得する手法や音響処理部４が配信文字列データを取得する手法はいずれも任意であり、例えば、いずれも第１の実施の形態における言語処理部１や音響処理部４が行う手法と同様の手法によりフリーテキストデータあるいは配信文字列データを取得すればよい。）
【０１０３】
次に、音片編集部８が、定型メッセージデータ及び発声スピードデータを取得したとする。（なお、音片編集部８が定型メッセージデータや発声スピードデータを取得する手法も任意であり、例えば、第１の実施の形態の音片編集部８が行う手法と同様の手法で定型メッセージデータや発声スピードデータを取得すればよい。）
【０１０４】
定型メッセージデータ及び発声スピードデータが音片編集部８に供給されると、音片編集部８は、第１の実施の形態における音片編集部８と同様に、定型メッセージに含まれる音片の読みを表す表音文字に合致する表音文字が対応付けられている圧縮音片データをすべて索出するよう、検索部９に指示する。また、話速変換部１１に対しても、第１の実施の形態における音片編集部８と同様に、話速変換部１１に供給される音片データを変換して、当該音片データが表す音片の時間長を、発声スピードデータが示すスピードに合致するようにすることを指示する。
【０１０５】
すると、検索部９、伸張部６及び話速変換部１１が、第１の実施の形態における検索部９、伸張部６及び話速変換部１１の動作と実質的に同一の動作を行い、この結果、話速変換部１１から音片編集部８へと、音片データ、音片読みデータ及びピッチ成分データが供給される。また、欠落部分識別データが検索部９より話速変換部１１へと供給された場合は、更にこの欠落部分識別データも音片編集部８へと供給される。
【０１０６】
音片編集部８は、話速変換部１１より音片データ、音片読みデータ及びピッチ成分データを供給されると、以下説明する手順に従い、供給された音片データのうちから、定型メッセージを構成する音片の波形とみなせる波形を表す音片データを、音片１個につき１個ずつ選択する。
【０１０７】
具体的には、まず、音片編集部８は、話速変換部１１より供給されたピッチ成分データに基づき、話速変換部１１より供給された各音片データの先頭及び末尾の各時点でのピッチ成分の周波数を特定する。そして、話速変換部１１より供給された音片データのうちから、定型メッセージ内で隣接する音片同士の境界でのピッチ成分の周波数の差の絶対値を定型メッセージ全体で累計した値が最小になる、という条件を満たすように、音片データを選択する。
【０１０８】
音片データを選択する条件を、図５（ａ）〜（ｄ）を参照して説明する。例えば、図５（ａ）に示すような、「このさきみぎかーぶです」という読みの定型メッセージを表す定型メッセージデータが音片編集部８に供給されたものとし、この定型メッセージが「このさき」、「みぎかーぶ」及び「です」という３個の音片からなるものとする。そして、図５（ｂ）にリストを示すように、音片データベース１０が、読みが「このさき」である圧縮音片データが３個（図５（ｂ）において「Ａ１」「Ａ２」あるいは「Ａ３」として表したもの）、読みが「みぎかーぶ」である圧縮音片データが２個（図５（ｂ）において「Ｂ１」あるいは「Ｂ２」として表したもの）、読みが「です」である圧縮音片データが３個（図５（ｂ）において「Ｃ１」「Ｃ２」あるいは「Ｃ３」として表したもの）、それぞれ索出され、伸長され、音片データとして音片編集部８へと供給されたとする。
【０１０９】
一方、読みが「このさき」である各音片データが表す各音片の末尾におけるピッチ成分の周波数と読みが「みぎかーぶ」である各音片データが表す各音片の先頭におけるピッチ成分の周波数との差の絶対値は図５（ｃ）に示す通りであったとする。（図５（ｃ）は、例えば、音片データＡ１が表す音片の末尾におけるピッチ成分の周波数と音片データＢ１が表す音片の先頭におけるピッチ成分の周波数との差の絶対値は「１２３」であることを示している。なお、この絶対値の単位は、例えば「ヘルツ」である。）
【０１１０】
また、読みが「みぎかーぶ」である各音片データが表す各音片の末尾におけるピッチ成分の周波数と読みが「です」である各音片データが表す各音片の先頭におけるピッチ成分の周波数との差の絶対値は図５（ｃ）に示す通りであったとする。
【０１１１】
この場合において、「このさきみぎかーぶです」という定型メッセージを読み上げる音声の波形を音片データを用いて生成した場合、隣接する音片同士の境界でのピッチ成分の周波数の差の絶対値の累計が最小になる組み合わせは、Ａ３、Ｂ２及びＣ２という組み合わせである。従ってこの場合、音片編集部８は、図５（ｄ）に示すように、音片データＡ３、Ｂ２及びＣ２を選択する。
【０１１２】
この条件を満たす音片データを選択するために、音片編集部８は、例えば、定型メッセージ内で隣接する音片同士の境界でのピッチ成分の周波数の差の絶対値を距離として定義し、ＤＰ（Dynamic Programming）マッチングの手法により音片データを選ぶようにすればよい。
【０１１３】
一方、音片編集部８は、話速変換部１１より欠落部分識別データも供給されている場合には、欠落部分識別データが示す音片の読みを表す表音文字列を定型メッセージデータより抽出して音響処理部４に供給し、この音片の波形を合成するよう指示する。
【０１１４】
指示を受けた音響処理部４は、音片編集部８より供給された表音文字列を、配信文字列データが表す表音文字列と同様に扱う。この結果、この表音文字列に含まれる表音文字が示す音声の波形を表す圧縮波形データが検索部５により索出され、この圧縮波形データが伸長部６により元の波形データへと復元され、検索部５を介して音響処理部４へと供給される。音響処理部４は、この波形データを音片編集部８へと供給する。
【０１１５】
音片編集部８は、音響処理部４より波形データを返送されると、この波形データと、話速変換部１１より供給された音片データのうち音片編集部８が選択したものとを、定型メッセージデータが示す定型メッセージ内での各音片の並びに従った順序で互いに結合し、合成音声を表すデータとして出力する。
【０１１６】
なお、話速変換部１１より供給されたデータに欠落部分識別データが含まれていない場合は、第１の実施の形態と同様、音響処理部４に波形の合成を指示することなく直ちに、音片編集部８が選択した音片データを、定型メッセージデータが示す定型メッセージ内での各音片の並びに従った順序で互いに結合し、合成音声を表すデータとして出力すればよい。
【０１１７】
以上説明したように、この第２の実施の形態の音声合成システムでは、音片データ同士の境界でのピッチ成分の周波数の不連続的な変化の量の累計が定型メッセージ全体で最小となるように音片データが選ばれ、録音編集方式により自然につなぎ合わせられるため、合成音声が自然なものとなる。また、この音声合成システムでは、処理が複雑な韻律予測は行われないので、簡単な構成で高速な処理にも追随できる。
【０１１８】
なお、この第２の実施の形態の音声合成システムの構成も、上述のものに限られない。
例えば、ピッチ成分データは音片データが表す音片の先頭及び末尾でのピッチ長を表すデータであってもよい。この場合、音片編集部８は、話速変換部１１より供給された各音片データの先頭及び末尾でのピッチ長を話速変換部１１より供給されたピッチ成分データに基づいて特定し、定型メッセージ内で隣接する音片同士の境界でのピッチ長の差の絶対値を定型メッセージ全体で累計した値が最小になる、という条件を満たすように、音片データを選択すればよい。
【０１１９】
また、音片編集部８は、例えば、言語処理部１と共にフリーテキストデータを取得し、このフリーテキストデータが表すフリーテキストに含まれる音片の波形とみなせる波形を表す音片データを、定型メッセージに含まれる音片の波形とみなせる波形を表す音片データを抽出する処理と実質的に同一の処理を行うことによって抽出して、音声の合成に用いてもよい。
この場合、音響処理部４は、音片編集部８が抽出した音片データが表す音片については、この音片の波形を表す波形データを検索部５に索出させなくてもよい。なお、音片編集部８は、音響処理部４が合成しなくてよい音片を音響処理部４に通知し、音響処理部４はこの通知に応答して、この音片を構成する単位音声の波形の検索を中止するようにすればよい。
【０１２０】
また、音片編集部８は、例えば、音響処理部４と共に配信文字列データを取得し、この配信文字列データが表す配信文字列に含まれる音片の波形とみなせる波形を表す音片データを、定型メッセージに含まれる音片の波形とみなせる波形を表す音片データを抽出する処理と実質的に同一の処理を行うことによって抽出して、音声の合成に用いてもよい。この場合、音響処理部４は、音片編集部８が抽出した音片データが表す音片については、この音片の波形を表す波形データを検索部５に索出させなくてもよい。
【０１２１】
（第３の実施の形態）
次に、この発明の第３の実施の形態を説明する。この発明の第３の実施の形態に係る音声合成システムの物理的構成は、上述した第１の実施の形態における構成と実質的に同一である。
【０１２２】
次に、この音声合成システムの動作を説明する。
この音声合成システムの言語処理部１がフリーテキストデータを外部から取得した場合、及び、音響処理部４が配信文字列データを取得した場合の動作は、第１又は第２の実施の形態の音声合成システムが行う動作と実質的に同一である。（なお、言語処理部１がフリーテキストデータを取得する手法や音響処理部４が配信文字列データを取得する手法はいずれも任意であり、例えば、いずれも第１又は第２の実施の形態における言語処理部１や音響処理部４が行う手法と同様の手法によりフリーテキストデータあるいは配信文字列データを取得すればよい。）
【０１２３】
次に、音片編集部８が、定型メッセージデータ及び発声スピードデータを取得したとする。なお、音片編集部８が定型メッセージデータや発声スピードデータを取得する手法も任意であり、例えば、第１の実施の形態の音片編集部８が行う手法と同様の手法で定型メッセージデータや発声スピードデータを取得すればよい。あるいは、例えばこの音声合成システムがカーナビゲーションシステム等の車両内システムの一部をなすものであって、この車両内システムを構成するの他の装置（例えば、音声認識を行い、音声認識の結果得られた情報に基づいてエージェント処理を実行する装置など）が、ユーザーに対して発話する内容や発話スピードを決定し、決定結果を表すデータを生成するものである場合、この音声合成システムは、生成されたこのデータを受信（取得）し、定型メッセージデータ及び発声スピードデータとして扱うようにしてもよい。
【０１２４】
定型メッセージデータ及び発声スピードデータが音片編集部８に供給されると、音片編集部８は、第１の実施の形態における音片編集部８と同様に、定型メッセージに含まれる音片の読みを表す表音文字に合致する表音文字が対応付けられている圧縮音片データをすべて索出するよう、検索部９に指示する。また、話速変換部１１に対しても、第１の実施の形態における音片編集部８と同様に、話速変換部１１に供給される音片データを変換して、当該音片データが表す音片の時間長を、発声スピードデータが示すスピードに合致するようにすることを指示する。
【０１２５】
すると、検索部９、伸張部６及び話速変換部１１が、第１の実施の形態における検索部９、伸張部６及び話速変換部１１の動作と実質的に同一の動作を行い、この結果、話速変換部１１から音片編集部８へと、音片データ、音片読みデータ、この音片データが表す音片の発声スピードを表すスピード初期値データ及びピッチ成分データが供給される。また、欠落部分識別データが検索部９より話速変換部１１へと供給された場合は、更にこの欠落部分識別データも音片編集部８へと供給される。
【０１２６】
音片編集部８は、話速変換部１１より音片データ、音片読みデータ及びピッチ成分データを供給されると、話速変換部１１より供給された各々のピッチ成分データについて上述の値α、βの組及び／又はＲｍａｘを求め、また、このスピード初期値データと、音片編集部８に供給された定型メッセージデータ及び発声スピードデータとを用いて、上述の値ｄｔを求める。
【０１２７】
そして、音片編集部８は、話速変換部１１より供給されたそれぞれの音片データにつき、自ら求めた当該音片データ（以下、音片データＸと記す）についてのα、β、Ｒｍａｘ及びｄｔの値と、定型メッセージ内で当該音片データが表す音片の後に隣接する音片を表す音片データ（以下、音片データＹと記す）のピッチ成分の周波数とに基づいて、数式７に示す評価値ＨＸＹを特定する。
【０１２８】
（数７）  ＨＸＹ＝（ＷＡ・ｃｏｓｔ＿Ａ）＋（ＷＢ・ｃｏｓｔ＿Ｂ）＋（ＷＣ・ｃｏｓｔ＿Ｃ）
（ただし、ＷＡ、ＷＢ及びＷＣはいずれも所定の係数であり、ＷＡは０ではないものとする）
【０１２９】
数式７の右辺に含まれる値ｃｏｓｔ＿Ａは、当該定型メッセージ内で互いに隣接する、音片データＸが表す音片と音片データＹが表す音片との境界でのピッチ成分の周波数の差の絶対値の逆数である。
なお、音片編集部８は、ｃｏｓｔ＿Ａの値を特定するため、話速変換部１１より供給されたピッチ成分データに基づき、話速変換部１１より供給された各音片データの先頭及び末尾の各時点でのピッチ成分の周波数を特定するようにすればよい。
【０１３０】
また、数式７の右辺に含まれる値ｃｏｓｔ＿Ｂは、音片データＸについて数式８に従って評価値ｃｏｓｔ＿Ｂを求めた場合の値である。
【０１３１】
（数８）  ｃｏｓｔ＿Ｂ＝１／（ＷＢ１｜１−α｜＋ＷＢ２｜β｜＋ＷＢ３・ｄｔ）
（ただし、ＷＢ１、ＷＢ２及びＷＢ３は所定の正の係数）
【０１３２】
また、数式７の右辺に含まれる値ｃｏｓｔ＿Ｃは、音片データＸについて数式９に従って評価値ｃｏｓｔ＿Ｃを求めた場合における値である。
【０１３３】
（数９）  ｃｏｓｔ＿Ｃ＝１／（ＷＣ１｜Ｒｍａｘ｜＋ＷＣ２・ｄｔ）
（ただし、ＷＣ１及びＷＣ２は所定の係数）
【０１３４】
あるいは、音片編集部８は、数式７〜数式９に代えて、数式１０及び数式１１に従って評価値ＨＸＹを特定するようにしてもよい。ただし、数式１０に含まれるｃｏｓｔ＿Ｂ及びｃｏｓｔ＿Ｃについては、上述の係数ＷＢ３及びＷＣ３の値はいずれも０とする。また、数式８及び数式９における（ＷＢ３・ｄｔ）及び（ＷＣ２・ｄｔ）の項を備えなくともよい。
【０１３５】
（数１０）  ＨＸＹ＝（ＷＡ・ｃｏｓｔ＿Ａ）＋（ＷＢ・ｃｏｓｔ＿Ｂ）＋（ＷＣ・ｃｏｓｔ＿Ｃ）＋（ＷＤ・ｃｏｓｔ＿Ｄ）
（ただし、ＷＤは０でない所定の係数）
【０１３６】
（数１１）  ｃｏｓｔ＿Ｄ＝１／（Ｗｄ１・ｄｔ）
（ただし、Ｗｄ１は０でない所定の係数）
【０１３７】
そして、音片編集部８は、話速変換部１１より供給された各音片データのうちから、音片編集部８に供給された定型メッセージデータが表す定型メッセージを構成する音片１個につき１個ずつの音片データを選ぶことにより得られる各組み合わせのうち、組み合わせに属する各音片データの評価値ＨＸＹの総和が最大となるものを、定型メッセージを読み上げる音声を合成するための最適な音片データの組み合わせとして選択する。
つまり、例えば図５に示すように、定型メッセージデータが表す定型メッセージが音片Ａ，Ｂ及びＣより構成され、音片Ａを表す音片データの候補として音片データＡ１，Ａ２及びＡ３が索出され、音片Ｂを表す音片データの候補として音片データＢ１及びＢ２が索出され、音片Ｃを表す音片データの候補として音片データＣ１，Ｃ２及びＣ３が索出された場合、音片データＡ１，Ａ２及びＡ３のうちから１個、音片データＢ１及びＢ２のうちから１個、音片データＣ１，Ｃ２及びＣ３のうちから１個、計３個選ぶことにより得られる組み合わせ計１８通りのうち、組み合わせに属する各音片データの評価値ＨＸＹの総和が最大となるものを、定型メッセージを読み上げる音声を合成するための最適な音片データの組み合わせとして選択する。
【０１３８】
ただし、総和を求めるために用いられる評価値ＨＸＹとしては、組み合わせ内での音片の接続関係を正しく反映したものが選ばれるものとする。つまり、例えば組み合わせ内に、音片ｐを表す音片データＰ及び音片ｑを表す音片データＱが含まれており、定型メッセージ内では音片ｐが音片ｑに先行する形で互いに隣接するという場合、音片データＰの評価値としては、音片ｐが音片ｑに先行する形で互いに隣接する場合における評価値ＨＰＱが用いられるものとする。
【０１３９】
また、定型メッセージの末尾の音片（例えば、図５を参照して前述した例でいえば、音片Ｃ１，Ｃ２及びＣ３）については、後続する音片が存在しないため、ｃｏｓｔ＿Ａの値を定めることができない。このため、これら末尾の音片を表す音片データの評価値ＨＸＹを算定するにあたって、音片編集部８は、（ＷＡ・ｃｏｓｔ＿Ａ）の値を０であるものとして扱い、一方、係数ＷＢ，ＷＣ及びＷＤの値は、それぞれ、他の音片データの評価値ＨＸＹを算定する場合とは異なる所定の値であるものとして扱う。
【０１４０】
なお、音片編集部８は、数式７あるいは数式１１を用いて、音片データＸについて、当該音片データＸが表す音片の前に隣接する音片データＹとの関係を表す評価値を含むものとして評価値ＨＸＹを特定してもよい。この場合は、定型メッセージの先頭の音片について、先行する音片が存在しないため、ｃｏｓｔ＿Ａの値を定めることができないこととなる。このため、これら先頭の音片を表す音片データの評価値ＨＸＹを算定するにあたって、音片編集部８は、（ＷＡ・ｃｏｓｔ＿Ａ）の値を０であるものとして扱い、一方、係数ＷＢ，ＷＣ及びＷＤの値は、それぞれ、他の音片データの評価値ＨＸＹを算定する場合とは異なる所定の値であるものとして扱うようにすればよい。
【０１４１】
一方、音片編集部８は、話速変換部１１より欠落部分識別データも供給されている場合には、欠落部分識別データが示す音片の読みを表す表音文字列を定型メッセージデータより抽出して音響処理部４に供給し、この音片の波形を合成するよう指示する。
【０１４２】
指示を受けた音響処理部４は、音片編集部８より供給された表音文字列を、配信文字列データが表す表音文字列と同様に扱う。この結果、この表音文字列に含まれる表音文字が示す音声の波形を表す圧縮波形データが検索部５により索出され、この圧縮波形データが伸長部６により元の波形データへと復元され、検索部５を介して音響処理部４へと供給される。音響処理部４は、この波形データを音片編集部８へと供給する。
【０１４３】
音片編集部８は、音響処理部４より波形データを返送されると、この波形データと、話速変換部１１より供給された音片データのうち、評価値ＨＸＹの総和が最大となる組み合わせとして音片編集部８が選択した組み合わせに属するものとを、定型メッセージデータが示す定型メッセージ内での各音片の並びに従った順序で互いに結合し、合成音声を表すデータとして出力する。
【０１４４】
なお、話速変換部１１より供給されたデータに欠落部分識別データが含まれていない場合は、第１の実施の形態と同様、音響処理部４に波形の合成を指示することなく直ちに、音片編集部８が選択した音片データを、定型メッセージデータが示す定型メッセージ内での各音片の並びに従った順序で互いに結合し、合成音声を表すデータとして出力すればよい。
【０１４５】
以上説明したように、この第３の実施の形態の音声合成システムでも、音片データが録音編集方式により自然につなぎ合わせられ、定型メッセージを読み上げる音声が合成される。音片データベース１０の記憶容量は、音素毎に波形を記憶する場合に比べて小さくでき、また、高速に検索できる。このため、この音声合成システムは小型軽量に構成することができ、また高速な処理にも追随できる。
【０１４６】
そして、第３の実施の形態の音声合成システムによれば、定型メッセージを読み上げる音声を合成するために選択される音片データの組み合わせの適切さを評価するための様々な評価基準（例えば、音片の波形の予測結果と音片データとの相関を１次回帰させた場合の勾配や切片による評価や、音片の時間差による評価や、音片データ同士の境界でのピッチ成分の周波数の不連続的な変化の量の累計、など）が、１個の評価値に影響を及ぼす形で総合的に反映され、この結果、最も自然な合成音声を合成するために選択すべき最適な音片データの組み合わせが、適正に決定される。
【０１４７】
なお、この第３の実施の形態の音声合成システムの構成も、上述のものに限られない。
例えば、最適な音片データの組み合わせを選択するために音片編集部８が用いる評価値は数式７〜１３に示すものに限られず、音片データが表す音片を互いに結合して得られる音声が、人の発する音声にどの程度類似又は相違しているかについての評価を表す任意の値であってよい。
また、評価値を表す数式（評価式）に含まれる変数ないし定数も必ずしも数式７〜１３に含まれているものに限られず、評価式としては、音片データが表す音片の特徴を示す任意のパラメータや、あるいは当該音片を互いに結合して得られる音声の特徴を示す任意のパラメータや、あるいは当該音声を人が発した場合に当該音声に備わると予測される特徴を示す任意のパラメータを含んだ数式が用いられてよい。
また、最適な音片データの組み合わせを選択するための基準は必ずしも評価値の形で表現可能なものである必要はなく、音片データが表す音片を互いに結合して得られる音声が人の発する音声にどの程度類似又は相違しているかについての評価に基づいて音片データの最適な組み合わせを特定するに至るような基準である限り任意である。
【０１４８】
また、音片編集部８は、例えば、言語処理部１と共にフリーテキストデータを取得し、このフリーテキストデータが表すフリーテキストに含まれる音片の波形とみなせる波形を表す音片データを、定型メッセージに含まれる音片の波形とみなせる波形を表す音片データを抽出する処理と実質的に同一の処理を行うことによって抽出して、音声の合成に用いてもよい。この場合、音響処理部４は、音片編集部８が抽出した音片データが表す音片については、この音片の波形を表す波形データを検索部５に索出させなくてもよい。なお、音片編集部８は、音響処理部４が合成しなくてよい音片を音響処理部４に通知し、音響処理部４はこの通知に応答して、この音片を構成する単位音声の波形の検索を中止するようにすればよい。
【０１４９】
また、音片編集部８は、例えば、音響処理部４と共に配信文字列データを取得し、この配信文字列データが表す配信文字列に含まれる音片の波形とみなせる波形を表す音片データを、定型メッセージに含まれる音片の波形とみなせる波形を表す音片データを抽出する処理と実質的に同一の処理を行うことによって抽出して、音声の合成に用いてもよい。この場合、音響処理部４は、音片編集部８が抽出した音片データが表す音片については、この音片の波形を表す波形データを検索部５に索出させなくてもよい。
【０１５０】
以上、この発明の実施の形態を説明したが、この発明にかかる音声データ選択装置は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。
例えば、パーソナルコンピュータに上述の第１の実施の形態における言語処理部１、一般単語辞書２、ユーザ単語辞書３、音響処理部４、検索部５、伸長部６、波形データベース７、音片編集部８、検索部９、音片データベース１０及び話速変換部１１の動作を実行させるためのプログラムを格納した媒体（ＣＤ−ＲＯＭ、ＭＯ、フロッピー（登録商標）ディスク等）から該プログラムをインストールすることにより、当該パーソナルコンピュータに、上述の第１の実施の形態の本体ユニットＭの機能を行わせることができる。
また、パーソナルコンピュータに、上述の第１の実施の形態における収録音片データセット記憶部１２、音片データベース作成部１３及び圧縮部１４の動作を実行させるためのプログラムを格納した媒体から該プログラムをインストールすることにより、当該パーソナルコンピュータに、上述の第１の実施の形態の音片登録ユニットＲの機能を行わせることができる。
【０１５１】
そして、これらのプログラムを実行し、第１の実施の形態における本体ユニットＭや音片登録ユニットＲとして機能するパーソナルコンピュータが、図１の音声合成システムの動作に相当する処理として、図６〜図８に示す処理を行うものとする。
図６は、このパーソナルコンピュータがフリーテキストデータを取得した場合の処理を示すフローチャートである。
図７は、このパーソナルコンピュータが配信文字列データを取得した場合の処理を示すフローチャートである。
図８は、このパーソナルコンピュータが定型メッセージデータ及び発声スピードデータを取得した場合の処理を示すフローチャートである。
【０１５２】
すなわち、まず、このパーソナルコンピュータが、外部より、上述のフリーテキストデータを取得すると（図６、ステップＳ１０１）、このフリーテキストデータが表すフリーテキストに含まれるそれぞれの表意文字について、その読みを表す表音文字を、一般単語辞書２やユーザ単語辞書３を検索することにより特定し、この表意文字を、特定した表音文字へと置換する（ステップＳ１０２）。なお、このパーソナルコンピュータがフリーテキストデータを取得する手法は任意である。
【０１５３】
そして、このパーソナルコンピュータは、フリーテキスト内の表意文字をすべて表音文字へと置換した結果を表す表音文字列が得られると、この表音文字列に含まれるそれぞれの表音文字について、当該表音文字が表す単位音声の波形を波形データベース７より検索し、表音文字列に含まれるそれぞれの表音文字が表す単位音声の波形を表す圧縮波形データを索出する（ステップＳ１０３）。
【０１５４】
次に、このパーソナルコンピュータは、索出された圧縮波形データを、圧縮される前の波形データへと復元し（ステップＳ１０４）、復元された波形データを、表音文字列内での各表音文字の並びに従った順序で互いに結合し、合成音声データとして出力する（ステップＳ１０５）。なお、このパーソナルコンピュータが合成音声データを出力する手法は任意である。
【０１５５】
また、このパーソナルコンピュータが、外部より、上述の配信文字列データを任意の手法で取得すると（図７、ステップＳ２０１）、この配信文字列データが表す表音文字列に含まれるそれぞれの表音文字について、当該表音文字が表す単位音声の波形を波形データベース７より検索し、表音文字列に含まれるそれぞれの表音文字が表す単位音声の波形を表す圧縮波形データを索出する（ステップＳ２０２）。
【０１５６】
次に、このパーソナルコンピュータは、索出された圧縮波形データを、圧縮される前の波形データへと復元し（ステップＳ２０３）、復元された波形データを、表音文字列内での各表音文字の並びに従った順序で互いに結合し、合成音声データとしてステップＳ１０５の処理と同様の処理により出力する（ステップＳ２０４）。
【０１５７】
一方、このパーソナルコンピュータが、外部より、上述の定型メッセージデータ及び発声スピードデータを任意の手法により取得すると（図８、ステップＳ３０１）、まず、この定型メッセージデータが表す定型メッセージに含まれる音片の読みを表す表音文字に合致する表音文字が対応付けられている圧縮音片データをすべて索出する（ステップＳ３０２）。
【０１５８】
また、ステップＳ３０２では、該当する圧縮音片データに対応付けられている上述の音片読みデータ、スピード初期値データ及びピッチ成分データも索出する。なお、１個の音片につき複数の圧縮音片データが該当する場合は、該当する圧縮音片データすべてを索出する。一方、圧縮音片データを索出できなかった音片があった場合は、上述の欠落部分識別データを生成する。
【０１５９】
次に、このパーソナルコンピュータは、索出された圧縮音片データを、圧縮される前の音片データへと復元する（ステップＳ３０３）。そして、復元された音片データを、上述の音片編集部８が行う処理と同様の処理により変換して、当該音片データが表す音片の時間長を、発声スピードデータが示すスピードに合致させる（ステップＳ３０４）。なお、発声スピードデータが供給されていない場合は、復元された音片データを変換しなくてもよい。
【０１６０】
次に、このパーソナルコンピュータは、音片の時間長が変換された音片データのうちから、定型メッセージを構成する音片の波形に最も近い波形を表す音片データを、上述の音片編集部８が行う処理と同様の処理を行うことにより、音片１個につき１個ずつ選択する（ステップＳ３０５〜Ｓ３０８）。
【０１６１】
すなわち、このパーソナルコンピュータは、定型メッセージデータが表す定型メッセージに韻律予測の手法に基づいた解析を加えることにより、この定型メッセージの韻律を予測する（ステップＳ３０５）。そして、定型メッセージ内のそれぞれの音片について、この音片のピッチ成分の周波数の時間変化の予測結果と、この音片と読みが合致する音片の波形を表す音片データのピッチ成分の周波数の時間変化を表すピッチ成分データとの相関を求める（ステップＳ３０６）。より具体的には、索出された各々のピッチ成分データについて、例えば、上述した勾配α及び切片βの値を求める。
【０１６２】
一方で、このパーソナルコンピュータは、索出されたスピード初期値データと、外部より取得した定型メッセージデータ及び発声スピードデータとを用いて、上述の値ｄｔを求める（ステップＳ３０７）。
【０１６３】
そして、このパーソナルコンピュータは、ステップＳ３０６で求めたα、βの値、及び、ステップＳ３０７で求めたｄｔの値に基づいて、定型メッセージ内の音片の読みと一致する音片を表す音片データのうち、上述の評価値ｃｏｓｔ１が最大となるものを選択する（ステップＳ３０８）。
【０１６４】
なお、このパーソナルコンピュータは、ステップＳ３０６で、上述のα及びβの値を求める代わりに、上述のＲｘｙ（ｊ）の最大値を求めるようにしてもよい。この場合は、ステップＳ３０８で、Ｒｘｙ（ｊ）の最大値と、ステップＳ３０７で求めた係数ｄｔとに基づいて、定型メッセージ内の音片の読みと一致する音片を表す音片データのうち、上述の評価値ｃｏｓｔ２が最大となるものを選択すればよい。
【０１６５】
一方、このパーソナルコンピュータは、欠落部分識別データを生成した場合、欠落部分識別データが示す音片の読みを表す表音文字列を定型メッセージデータより抽出し、この表音文字列につき、音素毎に、配信文字列データが表す表音文字列と同様に扱って上述のステップＳ２０２〜Ｓ２０３の処理を行うことにより、この表音文字列内の各表音文字が示す音声の波形を表す波形データを復元する（ステップＳ３０９）。
【０１６６】
そして、このパーソナルコンピュータは、復元した波形データと、ステップＳ３０８で選択した音片データとを、定型メッセージデータが示す定型メッセージ内での各音片の並びに従った順序で互いに結合し、合成音声を表すデータとして出力する（ステップＳ３１０）。
【０１６７】
また、パーソナルコンピュータに上述の第２の実施の形態における言語処理部１、一般単語辞書２、ユーザ単語辞書３、音響処理部４、検索部５、伸長部６、波形データベース７、音片編集部８、検索部９、音片データベース１０及び話速変換部１１の動作を実行させるためのプログラムを格納した媒体から該プログラムをインストールすることにより、当該パーソナルコンピュータに、上述の第２の実施の形態における本体ユニットＭの機能を行わせることができる。
また、パーソナルコンピュータに上述の第２の実施の形態における収録音片データセット記憶部１２、音片データベース作成部１３及び圧縮部１４の動作を実行させるためのプログラムを格納した媒体から該プログラムをインストールすることにより、当該パーソナルコンピュータに、上述の第２の実施の形態における音片登録ユニットＲの機能を行わせることができる。
【０１６８】
そして、これらのプログラムを実行し、第２の実施の形態における本体ユニットＭや音片登録ユニットＲとして機能するパーソナルコンピュータが、図１の音声合成システムの動作に相当する処理として、図６及び図７に示す上述の処理を行い、また、図９に示す処理を行うものとする。
図９は、このパーソナルコンピュータが定型メッセージデータ及び発声スピードデータを取得した場合の処理を示すフローチャートである。
【０１６９】
すなわち、このパーソナルコンピュータが、外部より、上述の定型メッセージデータ及び発声スピードデータを任意の手法により取得すると（図９、ステップＳ４０１）、まず、上述のステップＳ３０２の処理と同様に、この定型メッセージデータが表す定型メッセージに含まれる音片の読みを表す表音文字に合致する表音文字が対応付けられている圧縮音片データと、該当する圧縮音片データに対応付けられている上述の音片読みデータ、スピード初期値データ及びピッチ成分データとを、すべて索出する（ステップＳ４０２）。なお、ステップＳ４０２でも、１個の音片につき複数の圧縮音片データが該当する場合は該当する圧縮音片データすべてを索出し、一方で圧縮音片データを索出できなかった音片があった場合は、上述の欠落部分識別データを生成する。
【０１７０】
次に、このパーソナルコンピュータは、索出された圧縮音片データを、圧縮される前の音片データへと復元し（ステップＳ４０３）、復元された音片データを、上述の音片編集部８が行う処理と同様の処理により変換して、当該音片データが表す音片の時間長を、発声スピードデータが示すスピードに合致させる（ステップＳ４０４）。なお、発声スピードデータが供給されていない場合は、復元された音片データを変換しなくてもよい。
【０１７１】
次に、このパーソナルコンピュータは、音片の時間長が変換された音片データのうちから、定型メッセージを構成する音片の波形とみなせる波形を表す音片データを、上述の第２の実施の形態における音片編集部８が行う処理と同様の処理を行うことにより、音片１個につき１個ずつ選択する（ステップＳ４０５〜Ｓ４０６）。
【０１７２】
具体的には、まず、このパーソナルコンピュータは、音片の時間長が変換された各音片データの先頭及び末尾の各時点でのピッチ成分の周波数を、索出されたピッチ成分データに基づいて特定する（ステップＳ４０５）。そして、これらの音片データのうちから、定型メッセージ内で隣接する音片同士の境界でのピッチ成分の周波数の差の絶対値を定型メッセージ全体で累計した値が最小になる、という条件を満たすように、音片データを選択する（ステップＳ４０６）。この条件を満たす音片データを選択するために、このパーソナルコンピュータは、例えば、定型メッセージ内で隣接する音片同士の境界でのピッチ成分の周波数の差の絶対値を距離として定義し、ＤＰマッチングの手法により音片データを選ぶようにすればよい。
【０１７３】
一方、このパーソナルコンピュータは、欠落部分識別データを生成した場合、欠落部分識別データが示す音片の読みを表す表音文字列を定型メッセージデータより抽出し、この表音文字列につき、音素毎に、配信文字列データが表す表音文字列と同様に扱って上述のステップＳ２０２〜Ｓ２０３の処理を行うことにより、この表音文字列内の各表音文字が示す音声の波形を表す波形データを復元する（ステップＳ４０７）。
【０１７４】
そして、このパーソナルコンピュータは、復元した波形データと、ステップＳ４０６で選択した音片データとを、定型メッセージデータが示す定型メッセージ内での各音片の並びに従った順序で互いに結合し、合成音声を表すデータとして出力する（ステップＳ４０８）。
【０１７５】
また、パーソナルコンピュータに上述の第３の実施の形態における言語処理部１、一般単語辞書２、ユーザ単語辞書３、音響処理部４、検索部５、伸長部６、波形データベース７、音片編集部８、検索部９、音片データベース１０及び話速変換部１１の動作を実行させるためのプログラムを格納した媒体から該プログラムをインストールすることにより、当該パーソナルコンピュータに、上述の第３の実施の形態における本体ユニットＭの機能を行わせることができる。
また、パーソナルコンピュータに上述の第３の実施の形態における収録音片データセット記憶部１２、音片データベース作成部１３及び圧縮部１４の動作を実行させるためのプログラムを格納した媒体から該プログラムをインストールすることにより、当該パーソナルコンピュータに、上述の第３の実施の形態における音片登録ユニットＲの機能を行わせることができる。
【０１７６】
そして、これらのプログラムを実行し、第３の実施の形態における本体ユニットＭや音片登録ユニットＲとして機能するパーソナルコンピュータが、図１の音声合成システムの動作に相当する処理として、図６及び図７に示す上述の処理を行い、また、図１０に示す処理を行うものとする。
図１０は、このパーソナルコンピュータが定型メッセージデータ及び発声スピードデータを取得した場合の処理を示すフローチャートである。
【０１７７】
すなわち、このパーソナルコンピュータが、外部より、上述の定型メッセージデータ及び発声スピードデータを任意の手法により取得すると（図１０、ステップＳ５０１）、まず、上述のステップＳ３０２の処理と同様に、この定型メッセージデータが表す定型メッセージに含まれる音片の読みを表す表音文字に合致する表音文字が対応付けられている圧縮音片データと、該当する圧縮音片データに対応付けられている上述の音片読みデータ、スピード初期値データ及びピッチ成分データとを、すべて索出する（ステップＳ５０２）。なお、ステップＳ５０２でも、１個の音片につき複数の圧縮音片データが該当する場合は該当する圧縮音片データすべてを索出し、一方で圧縮音片データを索出できなかった音片があった場合は、上述の欠落部分識別データを生成する。
【０１７８】
次に、このパーソナルコンピュータは、索出された圧縮音片データを、圧縮される前の音片データへと復元し（ステップＳ５０３）、復元された音片データを、上述の音片編集部８が行う処理と同様の処理により変換して、当該音片データが表す音片の時間長を、発声スピードデータが示すスピードに合致させる（ステップＳ５０４）。なお、発声スピードデータが供給されていない場合は、復元された音片データを変換しなくてもよい。
【０１７９】
次に、このパーソナルコンピュータは、音片の時間長が変換された音片データのうちから、定型メッセージを読み上げる音声を合成するための最適な音片データの組み合わせを、上述の第３の実施の形態における音片編集部８が行う処理と同様の処理を行うことにより選択する（ステップＳ５０５〜Ｓ５０７）。
【０１８０】
すなわち、まず、このパーソナルコンピュータは、ステップＳ５０２で索出された各々のピッチ成分データについて上述の値α、βの組及び／又はＲｍａｘを求め、また、このスピード初期値データと、ステップＳ５０１で取得した定型メッセージデータ及び発声スピードデータとを用いて、上述の値ｄｔを求める（ステップＳ５０５）。
【０１８１】
次に、このパーソナルコンピュータは、ステップＳ５０４で変換されたそれぞれの音片データにつき、ステップＳ５０５で求めたα、β、Ｒｍａｘ及びｄｔの値と、定型メッセージ内で当該音片データが表す音片の後に隣接する音片を表す音片データのピッチ成分の周波数とに基づいて、上述した評価値ＨＸＹを特定する（ステップＳ５０６）。
【０１８２】
そして、このパーソナルンピュータは、ステップＳ５０４で変換された各音片データのうちから、ステップＳ５０１で取得した定型メッセージデータが表す定型メッセージを構成する音片１個につき１個ずつの音片データを選ぶことにより得られる各組み合わせのうち、組み合わせに属する各音片データの評価値ＨＸＹの総和が最大となるものを、定型メッセージを読み上げる音声を合成するための最適な音片データの組み合わせとして選択する（ステップＳ５０７）。ただし、総和を求めるために用いられる評価値ＨＸＹとしては、組み合わせ内での音片の接続関係を正しく反映したものが選ばれるものとする。
【０１８３】
一方、このパーソナルコンピュータは、欠落部分識別データを生成した場合、欠落部分識別データが示す音片の読みを表す表音文字列を定型メッセージデータより抽出し、この表音文字列につき、音素毎に、配信文字列データが表す表音文字列と同様に扱って上述のステップＳ２０２〜Ｓ２０３の処理を行うことにより、この表音文字列内の各表音文字が示す音声の波形を表す波形データを復元する（ステップＳ５０８）。
【０１８４】
そして、このパーソナルコンピュータは、復元した波形データと、ステップＳ５０７で選択した組み合わせに属する音片データとを、定型メッセージデータが示す定型メッセージ内での各音片の並びに従った順序で互いに結合し、合成音声を表すデータとして出力する（ステップＳ５０９）。
【０１８５】
なお、パーソナルコンピュータに本体ユニットＭや音片登録ユニットＲの機能を行わせるプログラムは、例えば、通信回線の掲示板（ＢＢＳ）にアップロードし、これを通信回線を介して配信してもよく、また、これらのプログラムを表す信号により搬送波を変調し、得られた変調波を伝送し、この変調波を受信した装置が変調波を復調してこれらのプログラムを復元するようにしてもよい。
そして、これらのプログラムを起動し、ＯＳの制御下に、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行することができる。
【０１８６】
なお、ＯＳが処理の一部を分担する場合、あるいは、ＯＳが本願発明の１つの構成要素の一部を構成するような場合には、記録媒体には、その部分を除いたプログラムを格納してもよい。この場合も、この発明では、その記録媒体には、コンピュータが実行する各機能又はステップを実行するためのプログラムが格納されているものとする。
【図面の簡単な説明】
【０１８７】
【図１】この発明の各実施の形態に係る音声合成システムの構成を示すブロック図である。
【図２】この発明の第１の実施の形態における音片データベースのデータ構造を模式的に示す図である。
【図３】（ａ）は、音片についてのピッチ成分の周波数の予測結果と、この音片と読みが合致する音片の波形を表す音片データのピッチ成分の周波数の時間変化とを１次回帰させる処理を説明するためのグラフであり、（ｂ）は、相関係数を求めるために用いる予測結果データ及びピッチ成分データの値の一例を示すグラフである。
【図４】この発明の第２の実施の形態における音片データベースのデータ構造を模式的に示す図である。
【図５】（ａ）は、定型メッセージの読みを示す図であり、（ｂ）は、音片編集部に供給された音片データのリストであり、（ｃ）は、先行する音片の末尾におけるピッチ成分の周波数と後続の音片の先頭におけるピッチ成分の周波数との差の絶対値を示す図であり、（ｄ）は、音片編集部がどの音片データを選択するかを示す図である。
【図６】この発明の各実施の形態に係る音声合成システムの機能を行うパーソナルコンピュータがフリーテキストデータを取得した場合の処理を示すフローチャートである。
【図７】この発明の各実施の形態に係る音声合成システムの機能を行うパーソナルコンピュータが配信文字列データを取得した場合の処理を示すフローチャートである。
【図８】この発明の第１の実施の形態に係る音声合成システムの機能を行うパーソナルコンピュータが定型メッセージデータ及び発声スピードデータを取得した場合の処理を示すフローチャートである。
【図９】この発明の第２の実施の形態に係る音声合成システムの機能を行うパーソナルコンピュータが定型メッセージデータ及び発声スピードデータを取得した場合の処理を示すフローチャートである。
【図１０】この発明の第３の実施の形態に係る音声合成システムの機能を行うパーソナルコンピュータが定型メッセージデータ及び発声スピードデータを取得した場合の処理を示すフローチャートである。
【符号の説明】
【０１８８】
Ｍ          本体ユニット
１          言語処理部
２          一般単語辞書
３          ユーザ単語辞書
４          音響処理部
５          検索部
６          伸長部
７          波形データベース
８          音片編集部
９          検索部
１０        音片データベース
１１        話速変換部
Ｒ          音片登録ユニット
１２        収録音片データセット記憶部
１３        音片データベース作成部
１４        圧縮部
ＨＤＲ      ヘッダ部
ＩＤＸ      インデックス部
ＤＩＲ      ディレクトリ部
ＤＡＴ      データ部
【図１】
0004780188.tif 000004
【図２】
0004780188.tif 000005
【図３】
0004780188.tif 000006
【図４】
0004780188.tif 000007
【図５】
0004780188.tif 000008
【図６】
0004780188.tif 000009
【図７】
0004780188.tif 000010
【図８】
0004780188.tif 000011
【図９】
0004780188.tif 000012
【図１０】
0004780188.tif 000013