(57)【要約】【課題】  簡単な構成で高速に自然な合成音声を得るための音声データ選択装置等を提供することである。【解決手段】  定型メッセージを表すデータが供給されると、音片編集部８は、定型メッセージ内の音片と読みが合致する音片の音片データを音片データベース１０から索出させ、発声スピードデータが示すスピードに合致するよう、この音片データを変換させる。音片編集部８は、索出された音片データのうちから定型メッセージ内のそれぞれの音片に合致するものを１個ずつ選択する。この選択は、隣接する音片同士の境界でのピッチ成分の周波数の差を定型メッセージ全体での累計した値が最小となるように行う。選択できなかった音片については音響処理部４に単位音声毎の波形を表す波形データを供給させる。そして、選択した音片データや、音響処理部４に供給させた波形データを互いに結合して、合成音声を表すデータを生成する。【選択図】  図１
2004361944.tif 000002
【特許請求の範囲】
【請求項１】
音声の波形を表す音声データを複数記憶する記憶手段と、
文章を表す文章情報を入力し、各前記音声データのうちから、前記文章を構成する音片と読みが共通する音片の波形を表している音声データを索出する検索手段と、
索出された音声データのうちから、前記文章を構成するそれぞれの音片に相当する音声データを１個ずつ、互いに隣接する音片同士の境界でのピッチの差を前記文章全体で累計した値が最小となるように選択する選択手段と、
より構成されることを特徴とする音声データ選択装置。
【請求項２】
選択された音声データを互いに結合することにより、合成音声を表すデータを生成する音声合成手段を更に備える、
ことを特徴とする請求項１に記載の音声データ選択装置。
【請求項３】
音声の波形を表す音声データを複数記憶し、
文章を表す文章情報を入力し、各前記音声データのうちから、前記文章を構成する音片と読みが共通する音片の波形を表している音声データを索出し、
索出された音声データのうちから、前記文章を構成するそれぞれの音片に相当する音声データを１個ずつ、互いに隣接する音片同士の境界でのピッチの差を前記文章全体で累計した値が最小となるように選択する、
ことを特徴とする音声データ選択方法。
【請求項４】
コンピュータを、
音声の波形を表す音声データを複数記憶する記憶手段と、
文章を表す文章情報を入力し、各前記音声データのうちから、前記文章を構成する音片と読みが共通する音片の波形を表している音声データを索出する検索手段と、
索出された音声データのうちから、前記文章を構成するそれぞれの音片に相当する音声データを１個ずつ、互いに隣接する音片同士の境界でのピッチの差を前記文章全体で累計した値が最小となるように選択する選択手段と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音声データ選択装置、音声データ選択方法及びプログラムに関する。
【背景技術】
【０００２】
音声を合成する手法として、録音編集方式と呼ばれる手法がある。録音編集方式は、駅の音声案内システムや、車載用のナビゲーション装置などに用いられている。
録音編集方式は、単語と、この単語を読み上げる音声を表す音声データとを対応付けておき、音声合成する対象の文章を単語に区切ってから、これらの単語に対応付けられた音声データを取得してつなぎ合わせる、という手法である（例えば、特許文献１参照）。
【特許文献１】特開平１０−４９１９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、音声データを単につなぎ合わせた場合、音声データ同士の境界では通常、音声のピッチ成分の周波数が不連続的に変化する。このため、合成音声は不自然なものとなる。
この問題を解決する手法としては、同一の音素を互いに異なった韻律で読み上げる音声を表す複数の音声データを用意し、一方で音声合成する対象の文章に韻律予測を施して、予測結果に合致する音声データを選び出してつなぎ合わせる、という手法が考えられる。
しかし、韻律予測は極めて複雑な処理であるので、韻律予測を用いたこの手法を実現するには、処理能力が高いプロセッサなどを用い、あるいは長時間をかけて処理を行わせる必要がある。従ってこの手法は、構成が簡単な装置を用いた高速な処理が要求される用途には適さない。
【０００４】
この発明は、上記実状に鑑みてなされたものであり、簡単な構成で高速に自然な合成音声を得るための音声データ選択装置、音声データ選択方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成すべく、この発明の第１の観点にかかる音声データ選択装置は、
音声の波形を表す音声データを複数記憶する記憶手段と、
文章を表す文章情報を入力し、各前記音声データのうちから、前記文章を構成する音片と読みが共通する音片の波形を表している音声データを索出する検索手段と、
索出された音声データのうちから、前記文章を構成するそれぞれの音片に相当する音声データを１個ずつ、互いに隣接する音片同士の境界でのピッチの差を前記文章全体で累計した値が最小となるように選択する選択手段と、
より構成されることを特徴とする。
【０００６】
前記音声データ選択装置は、選択された音声データを互いに結合することにより、合成音声を表すデータを生成する音声合成手段を更に備えていてもよい。
【０００７】
また、この発明の第２の観点にかかる音声データ選択方法は、
音声の波形を表す音声データを複数記憶し、
文章を表す文章情報を入力し、各前記音声データのうちから、前記文章を構成する音片と読みが共通する音片の波形を表している音声データを索出し、
索出された音声データのうちから、前記文章を構成するそれぞれの音片に相当する音声データを１個ずつ、互いに隣接する音片同士の境界でのピッチの差を前記文章全体で累計した値が最小となるように選択する、
ことを特徴とする。
【０００８】
また、この発明の第３の観点にかかるプログラムは、
コンピュータを、
音声の波形を表す音声データを複数記憶する記憶手段と、
文章を表す文章情報を入力し、各前記音声データのうちから、前記文章を構成する音片と読みが共通する音片の波形を表している音声データを索出する検索手段と、
索出された音声データのうちから、前記文章を構成するそれぞれの音片に相当する音声データを１個ずつ、互いに隣接する音片同士の境界でのピッチの差を前記文章全体で累計した値が最小となるように選択する選択手段と、
して機能させるためのものであることを特徴とする。
【発明の効果】
【０００９】
以上説明したように、この発明によれば、簡単な構成で高速に自然な合成音声を得るための音声データ選択装置、音声データ選択方法及びプログラムが実現される。
【発明を実施するための最良の形態】
【００１０】
以下、この発明の実施の形態を、音声合成システムを例とし、図面を参照して説明する。
図１は、この発明の実施の形態に係る音声合成システムの構成を示す図である。図示するように、この音声合成システムは、本体ユニットＭと、音片登録ユニットＲとにより構成されている。
【００１１】
本体ユニットＭは、言語処理部１と、一般単語辞書２と、ユーザ単語辞書３と、音響処理部４と、検索部５と、伸長部６と、波形データベース７と、音片編集部８と、検索部９と、音片データベース１０と、話速変換部１１とにより構成されている。
【００１２】
言語処理部１、音響処理部４、検索部５、伸長部６、音片編集部８、検索部９及び話速変換部１１は、いずれも、ＣＰＵ（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）変換器やスピーカを介して、この合成音声データが表す合成音声を再生するようにしてもよい。また、図示しないインターフェース回路を介して外部の装置やネットワークに送出してもよいし、図示しない記録媒体ドライブ装置にセットされた記録媒体へ、この記録媒体ドライブ装置を介して書き込んでもよい。また、音片編集部８の機能を行っているプロセッサが、自ら実行している他の処理へと、合成音声データを引き渡すようにしてもよい。
【００４３】
次に、音響処理部４が、外部より配信された、表音文字列を表すデータ（配信文字列データ）を取得したとする。（なお、音響処理部４が配信文字列データを取得する手法も任意であり、例えば、言語処理部１がフリーテキストデータを取得する手法と同様の手法で配信文字列データを取得すればよい。）
【００４４】
この場合、音響処理部４は、配信文字列データが表す表音文字列を、言語処理部１より供給された表音文字列と同様に扱う。この結果、配信文字列データが表す表音文字列に含まれる表音文字に対応する圧縮波形データが検索部５により索出され、圧縮される前の波形データが伸長部６により復元される。復元された各波形データは音響処理部４を介して音片編集部８へと供給され、音片編集部８が、この波形データを、配信文字列データが表す表音文字列内での各表音文字の並びに従った順序で互いに結合し、合成音声データとして出力する。配信文字列データに基づいて合成されたこの合成音声データも、規則合成方式の手法により合成された音声を表す。
【００４５】
次に、音片編集部８が、定型メッセージデータ及び発声スピードデータを取得したとする。
なお、定型メッセージデータは、定型メッセージを表音文字列として表すデータであり、発声スピードデータは、定型メッセージデータが表す定型メッセージの発声スピードの指定値（この定型メッセージを発声する時間長の指定値）を示すデータである。
【００４６】
また、音片編集部８が定型メッセージデータや発声スピードデータを取得する手法は任意であり、例えば、言語処理部１がフリーテキストデータを取得する手法と同様の手法で定型メッセージデータや発声スピードデータを取得すればよい。
【００４７】
定型メッセージデータ及び発声スピードデータが音片編集部８に供給されると、音片編集部８は、定型メッセージに含まれる音片の読みを表す表音文字に合致する表音文字が対応付けられている圧縮音片データをすべて索出するよう、検索部９に指示する。
【００４８】
検索部９は、音片編集部８の指示に応答して音片データベース１０を検索し、該当する圧縮音片データと、該当する圧縮音片データに対応付けられている上述の音片読みデータ、スピード初期値データ及びピッチ成分データとを索出し、索出された圧縮音片データを伸長部６へと供給する。１個の音片につき複数の圧縮音片データが該当する場合も、該当する圧縮音片データすべてが、音声合成に用いられるデータの候補として索出される。一方、圧縮音片データを索出できなかった音片があった場合、検索部９は、該当する音片を識別するデータ（以下、欠落部分識別データと呼ぶ）を生成する。
【００４９】
伸長部６は、検索部９より供給された圧縮音片データを、圧縮される前の音片データへと復元し、検索部９へと返送する。検索部９は、伸長部６より返送された音片データと、索出された音片読みデータ、スピード初期値データ及びピッチ成分データとを、検索結果として話速変換部１１へと供給する。また、欠落部分識別データを生成した場合は、この欠落部分識別データも話速変換部１１へと供給する。
【００５０】
一方、音片編集部８は、話速変換部１１に対し、話速変換部１１に供給された音片データを変換して、当該音片データが表す音片の時間長を、発声スピードデータが示すスピードに合致するようにすることを指示する。
【００５１】
話速変換部１１は、音片編集部８の指示に応答し、検索部９より供給された音片データを指示に合致するように変換して、音片編集部８に供給する。具体的には、例えば、検索部９より供給された音片データの元の時間長を、索出されたスピード初期値データに基づいて特定した上、この音片データをリサンプリングして、この音片データのサンプル数を、音片編集部８の指示したスピードに合致する時間長にすればよい。
【００５２】
また、話速変換部１１は、検索部９より供給された音片読みデータ及びピッチ成分データも音片編集部８に供給し、欠落部分識別データを検索部９より供給された場合は、更にこの欠落部分識別データも音片編集部８に供給する。
【００５３】
なお、発声スピードデータが音片編集部８に供給されていない場合、音片編集部８は、話速変換部１１に対し、話速変換部１１に供給された音片データを変換せずに音片編集部８に供給するよう指示すればよく、話速変換部１１は、この指示に応答し、検索部９より供給された音片データをそのまま音片編集部８に供給すればよい。
【００５４】
音片編集部８は、話速変換部１１より音片データ、音片読みデータ及びピッチ成分データを供給されると、供給された音片データのうちから、定型メッセージを構成する音片の波形とみなせる波形を表す音片データを、音片１個につき１個ずつ選択する。
【００５５】
具体的には、まず、音片編集部８は、話速変換部１１より供給されたピッチ成分データに基づき、話速変換部１１より供給された各音片データの先頭及び末尾の各時点でのピッチ成分の周波数を特定する。そして、話速変換部１１より供給された音片データのうちから、定型メッセージ内で隣接する音片同士の境界でのピッチ成分の周波数の差の絶対値を定型メッセージ全体で累計した値が最小になる、という条件を満たすように、音片データを選択する。
【００５６】
音片データを選択する条件を、図３（ａ）〜（ｄ）を参照して説明する。例えば、図３（ａ）に示すような、「このさきみぎかーぶです」という読みの定型メッセージを表す定型メッセージデータが音片編集部８に供給されたものとし、この定型メッセージが「このさき」、「みぎかーぶ」及び「です」という３個の音片からなるものとする。そして、図３（ｂ）にリストを示すように、音片データベース１０が、読みが「このさき」である圧縮音片データが３個（図３（ｂ）において「Ａ１」「Ａ２」あるいは「Ａ３」として表したもの）、読みが「みぎかーぶ」である圧縮音片データが２個（図３（ｂ）において「Ｂ１」あるいは「Ｂ２」として表したもの）、読みが「です」である圧縮音片データが３個（図３（ｂ）において「Ｃ１」「Ｃ２」あるいは「Ｃ３」として表したもの）、それぞれ索出され、伸長され、音片データとして音片編集部８へと供給されたとする。
【００５７】
一方、読みが「このさき」である各音片データが表す各音片の末尾におけるピッチ成分の周波数と読みが「みぎかーぶ」である各音片データが表す各音片の先頭におけるピッチ成分の周波数との差の絶対値は図３（ｃ）に示す通りであったとする。（図３（ｃ）は、例えば、音片データＡ１が表す音片の末尾におけるピッチ成分の周波数と音片データＢ１が表す音片の先頭におけるピッチ成分の周波数との差の絶対値は「１２３」であることを示している。なお、この絶対値の単位は、例えば「ヘルツ」である。）
【００５８】
また、読みが「みぎかーぶ」である各音片データが表す各音片の末尾におけるピッチ成分の周波数と読みが「です」である各音片データが表す各音片の先頭におけるピッチ成分の周波数との差の絶対値は図３（ｃ）に示す通りであったとする。
【００５９】
この場合において、「このさきみぎかーぶです」という定型メッセージを読み上げる音声の波形を音片データを用いて生成した場合、隣接する音片同士の境界でのピッチ成分の周波数の差の絶対値の累計が最小になる組み合わせは、Ａ３、Ｂ２及びＣ２という組み合わせである。従ってこの場合、音片編集部８は、図３（ｄ）に示すように、音片データＡ３、Ｂ２及びＣ２を選択する。
【００６０】
この条件を満たす音片データを選択するために、音片編集部８は、例えば、定型メッセージ内で隣接する音片同士の境界でのピッチ成分の周波数の差の絶対値を距離として定義し、ＤＰ（Dynamic Programming）マッチングの手法により音片データを選ぶようにすればよい。
【００６１】
一方、音片編集部８は、話速変換部１１より欠落部分識別データも供給されている場合には、欠落部分識別データが示す音片の読みを表す表音文字列を定型メッセージデータより抽出して音響処理部４に供給し、この音片の波形を合成するよう指示する。
【００６２】
指示を受けた音響処理部４は、音片編集部８より供給された表音文字列を、配信文字列データが表す表音文字列と同様に扱う。この結果、この表音文字列に含まれる表音文字が示す音声の波形を表す圧縮波形データが検索部５により索出され、この圧縮波形データが伸長部６により元の波形データへと復元され、検索部５を介して音響処理部４へと供給される。音響処理部４は、この波形データを音片編集部８へと供給する。
【００６３】
音片編集部８は、音響処理部４より波形データを返送されると、この波形データと、話速変換部１１より供給された音片データのうち音片編集部８が選択したものとを、定型メッセージデータが示す定型メッセージ内での各音片の並びに従った順序で互いに結合し、合成音声を表すデータとして出力する。
【００６４】
なお、話速変換部１１より供給されたデータに欠落部分識別データが含まれていない場合は、音響処理部４に波形の合成を指示することなく直ちに、音片編集部８が選択した音片データを、定型メッセージデータが示す定型メッセージ内での各音片の並びに従った順序で互いに結合し、合成音声を表すデータとして出力すればよい。
【００６５】
以上説明したように、この音声合成システムでは、音片データ同士の境界でのピッチ成分の周波数の不連続的な変化の量の累計が定型メッセージ全体で最小となるように音片データが選ばれ、録音編集方式により自然につなぎ合わせられるため、合成音声が自然なものとなる。また、この音声合成システムでは、処理が複雑な韻律予測は行われないので、簡単な構成で高速な処理にも追随できる。
【００６６】
なお、この音声合成システムの構成は上述のものに限られない。
例えば、波形データや音片データはＰＣＭ形式のデータである必要はなく、データ形式は任意である。
また、波形データベース７や音片データベース１０は波形データや音片データを必ずしもデータ圧縮された状態で記憶している必要はない。波形データベース７や音片データベース１０が波形データや音片データをデータ圧縮されていない状態で記憶している場合、本体ユニットＭは伸長部６を備えている必要はない。
【００６７】
また、音片データベース作成部１３は、図示しない記録媒体ドライブ装置にセットされた記録媒体から、この記録媒体ドライブ装置を介して、音片データベース１０に追加する新たな圧縮音片データの材料となる音片データや表音文字列を読み取ってもよい。
また、音片登録ユニットＲは、必ずしも収録音片データセット記憶部１２を備えている必要はない。
【００６８】
また、音片データベース作成部１３は、マイクロフォン、増幅器、サンプリング回路、Ａ／Ｄ（Analog-to-Digital）コンバータ及びＰＣＭエンコーダなどを備えていてもよい。この場合、音片データベース作成部１３は、収録音片データセット記憶部１２より音片データを取得する代わりに、自己のマイクロフォンが集音した音声を表す音声信号を増幅し、サンプリングしてＡ／Ｄ変換した後、サンプリングされた音声信号にＰＣＭ変調を施すことにより、音片データを作成してもよい。
【００６９】
また、ピッチ成分データは音片データが表す音片の先頭及び末尾でのピッチ長を表すデータであってもよい。この場合、音片編集部８は、話速変換部１１より供給された各音片データの先頭及び末尾でのピッチ長を話速変換部１１より供給されたピッチ成分データに基づいて特定し、定型メッセージ内で隣接する音片同士の境界でのピッチ長の差の絶対値を定型メッセージ全体で累計した値が最小になる、という条件を満たすように、音片データを選択すればよい。
【００７０】
また、音片編集部８は、音響処理部４より返送された波形データを話速変換部１１に供給することにより、当該波形データが表す波形の時間長を、発声スピードデータが示すスピードに合致させるようにしてもよい。
【００７１】
また、音片編集部８は、例えば、言語処理部１と共にフリーテキストデータを取得し、このフリーテキストデータが表すフリーテキストに含まれる音片の波形とみなせる波形を表す音片データを、定型メッセージに含まれる音片の波形とみなせる波形を表す音片データを抽出する処理と実質的に同一の処理を行うことによって抽出して、音声の合成に用いてもよい。
この場合、音響処理部４は、音片編集部８が抽出した音片データが表す音片については、この音片の波形を表す波形データを検索部５に索出させなくてもよい。なお、音片編集部８は、音響処理部４が合成しなくてよい音片を音響処理部４に通知し、音響処理部４はこの通知に応答して、この音片を構成する単位音声の波形の検索を中止するようにすればよい。
【００７２】
また、音片編集部８は、例えば、音響処理部４と共に配信文字列データを取得し、この配信文字列データが表す配信文字列に含まれる音片の波形とみなせる波形を表す音片データを、定型メッセージに含まれる音片の波形とみなせる波形を表す音片データを抽出する処理と実質的に同一の処理を行うことによって抽出して、音声の合成に用いてもよい。この場合、音響処理部４は、音片編集部８が抽出した音片データが表す音片については、この音片の波形を表す波形データを検索部５に索出させなくてもよい。
【００７３】
以上、この発明の実施の形態を説明したが、この発明にかかる音声データ選択装置は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。
例えば、パーソナルコンピュータに上述の言語処理部１、一般単語辞書２、ユーザ単語辞書３、音響処理部４、検索部５、伸長部６、波形データベース７、音片編集部８、検索部９、音片データベース１０及び話速変換部１１の動作を実行させるためのプログラムを格納した媒体（ＣＤ−ＲＯＭ、ＭＯ、フレキシブルディスク等）から該プログラムをインストールすることにより、上述の処理を実行する本体ユニットＭを構成することができる。
また、パーソナルコンピュータに上述の収録音片データセット記憶部１２、音片データベース作成部１３及び圧縮部１４の動作を実行させるためのプログラムを格納した媒体から該プログラムをインストールすることにより、上述の処理を実行する音片登録ユニットＲを構成することができる。
【００７４】
そして、これらのプログラムを実行し本体ユニットＭや音片登録ユニットＲとして機能するパーソナルコンピュータが、図１の音声合成システムの動作に相当する処理として、図４〜図６に示す処理を行うものとする。
図４は、このパーソナルコンピュータがフリーテキストデータを取得した場合の処理を示すフローチャートである。
図５は、このパーソナルコンピュータが配信文字列データを取得した場合の処理を示すフローチャートである。
図６は、このパーソナルコンピュータが定型メッセージデータ及び発声スピードデータを取得した場合の処理を示すフローチャートである。
【００７５】
すなわち、まず、このパーソナルコンピュータが、外部より、上述のフリーテキストデータを取得すると（図４、ステップＳ１０１）、このフリーテキストデータが表すフリーテキストに含まれるそれぞれの表意文字について、その読みを表す表音文字を、一般単語辞書２やユーザ単語辞書３を検索することにより特定し、この表意文字を、特定した表音文字へと置換する（ステップＳ１０２）。なお、このパーソナルコンピュータがフリーテキストデータを取得する手法は任意である。
【００７６】
そして、このパーソナルコンピュータは、フリーテキスト内の表意文字をすべて表音文字へと置換した結果を表す表音文字列が得られると、この表音文字列に含まれるそれぞれの表音文字について、当該表音文字が表す単位音声の波形を波形データベース７より検索し、表音文字列に含まれるそれぞれの表音文字が表す単位音声の波形を表す圧縮波形データを索出する（ステップＳ１０３）。
【００７７】
次に、このパーソナルコンピュータは、索出された圧縮波形データを、圧縮される前の波形データへと復元し（ステップＳ１０４）、復元された波形データを、表音文字列内での各表音文字の並びに従った順序で互いに結合し、合成音声データとして出力する（ステップＳ１０５）。なお、このパーソナルコンピュータが合成音声データを出力する手法は任意である。
【００７８】
また、このパーソナルコンピュータが、外部より、上述の配信文字列データを任意の手法で取得すると（図５、ステップＳ２０１）、この配信文字列データが表す表音文字列に含まれるそれぞれの表音文字について、当該表音文字が表す単位音声の波形を波形データベース７より検索し、表音文字列に含まれるそれぞれの表音文字が表す単位音声の波形を表す圧縮波形データを索出する（ステップＳ２０２）。
【００７９】
次に、このパーソナルコンピュータは、索出された圧縮波形データを、圧縮される前の波形データへと復元し（ステップＳ２０３）、復元された波形データを、表音文字列内での各表音文字の並びに従った順序で互いに結合し、合成音声データとしてステップＳ１０５の処理と同様の処理により出力する（ステップＳ２０４）。
【００８０】
一方、このパーソナルコンピュータが、外部より、上述の定型メッセージデータ及び発声スピードデータを任意の手法により取得すると（図６、ステップＳ３０１）、まず、この定型メッセージデータが表す定型メッセージに含まれる音片の読みを表す表音文字に合致する表音文字が対応付けられている圧縮音片データをすべて索出する（ステップＳ３０２）。
【００８１】
また、ステップＳ３０２では、該当する圧縮音片データに対応付けられている上述の音片読みデータ、スピード初期値データ及びピッチ成分データも索出する。なお、１個の音片につき複数の圧縮音片データが該当する場合は、該当する圧縮音片データすべてを索出する。一方、圧縮音片データを索出できなかった音片があった場合は、上述の欠落部分識別データを生成する。
【００８２】
次に、このパーソナルコンピュータは、索出された圧縮音片データを、圧縮される前の音片データへと復元する（ステップＳ３０３）。そして、復元された音片データを、上述の音片編集部８が行う処理と同様の処理により変換して、当該音片データが表す音片の時間長を、発声スピードデータが示すスピードに合致させる（ステップＳ３０４）。なお、発声スピードデータが供給されていない場合は、復元された音片データを変換しなくてもよい。
【００８３】
次に、このパーソナルコンピュータは、音片の時間長が変換された音片データのうちから、定型メッセージを構成する音片の波形とみなせる波形を表す音片データを、上述の音片編集部８が行う処理と同様の処理を行うことにより、音片１個につき１個ずつ選択する（ステップＳ３０５〜Ｓ３０６）。
【００８４】
具体的には、まず、このパーソナルコンピュータは、音片の時間長が変換された各音片データの先頭及び末尾の各時点でのピッチ成分の周波数を、索出されたピッチ成分データに基づいて特定する（ステップＳ３０５）。そして、これらの音片データのうちから、定型メッセージ内で隣接する音片同士の境界でのピッチ成分の周波数の差の絶対値を定型メッセージ全体で累計した値が最小になる、という条件を満たすように、音片データを選択する（ステップＳ３０６）。この条件を満たす音片データを選択するために、このパーソナルコンピュータは、例えば、定型メッセージ内で隣接する音片同士の境界でのピッチ成分の周波数の差の絶対値を距離として定義し、ＤＰマッチングの手法により音片データを選ぶようにすればよい。
【００８５】
一方、このパーソナルコンピュータは、欠落部分識別データを生成した場合、欠落部分識別データが示す音片の読みを表す表音文字列を定型メッセージデータより抽出し、この表音文字列につき、音素毎に、配信文字列データが表す表音文字列と同様に扱って上述のステップＳ２０２〜Ｓ２０３の処理を行うことにより、この表音文字列内の各表音文字が示す音声の波形を表す波形データを復元する（ステップＳ３０７）。
【００８６】
そして、このパーソナルコンピュータは、復元した波形データと、ステップＳ３０６で選択した音片データとを、定型メッセージデータが示す定型メッセージ内での各音片の並びに従った順序で互いに結合し、合成音声を表すデータとして出力する（ステップＳ３０８）。
【００８７】
なお、パーソナルコンピュータに本体ユニットＭや音片登録ユニットＲの機能を行わせるプログラムは、例えば、通信回線の掲示板（ＢＢＳ）にアップロードし、これを通信回線を介して配信してもよく、また、これらのプログラムを表す信号により搬送波を変調し、得られた変調波を伝送し、この変調波を受信した装置が変調波を復調してこれらのプログラムを復元するようにしてもよい。
そして、これらのプログラムを起動し、ＯＳの制御下に、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行することができる。
【００８８】
なお、ＯＳが処理の一部を分担する場合、あるいは、ＯＳが本願発明の１つの構成要素の一部を構成するような場合には、記録媒体には、その部分を除いたプログラムを格納してもよい。この場合も、この発明では、その記録媒体には、コンピュータが実行する各機能又はステップを実行するためのプログラムが格納されているものとする。
【図面の簡単な説明】
【００８９】
【図１】この発明の実施の形態に係る音声合成システムの構成を示すブロック図である。
【図２】音片データベースのデータ構造を模式的に示す図である。
【図３】（ａ）は、定型メッセージの読みを示す図であり、（ｂ）は、音片編集部に供給された音片データのリストであり、（ｃ）は、先行する音片の末尾におけるピッチ成分の周波数と後続の音片の先頭におけるピッチ成分の周波数との差の絶対値を示す図であり、（ｄ）は、音片編集部がどの音片データを選択するかを示す図である。
【図４】この発明の実施の形態に係る音声合成システムの機能を行うパーソナルコンピュータがフリーテキストデータを取得した場合の処理を示すフローチャートである。
【図５】この発明の実施の形態に係る音声合成システムの機能を行うパーソナルコンピュータが配信文字列データを取得した場合の処理を示すフローチャートである。
【図６】この発明の実施の形態に係る音声合成システムの機能を行うパーソナルコンピュータが定型メッセージデータ及び発声スピードデータを取得した場合の処理を示すフローチャートである。
【符号の説明】
【００９０】
Ｍ          本体ユニット
１          言語処理部
２          一般単語辞書
３          ユーザ単語辞書
４          音響処理部
５          検索部
６          伸長部
７          波形データベース
８          音片編集部
９          検索部
１０        音片データベース
１１        話速変換部
Ｒ          音片登録ユニット
１２        収録音片データセット記憶部
１３        音片データベース作成部
１４        圧縮部
ＨＤＲ      ヘッダ部
ＩＤＸ      インデックス部
ＤＩＲ      ディレクトリ部
ＤＡＴ      データ部
【図１】
2004361944.tif 000003
【図２】
2004361944.tif 000004
【図３】
2004361944.tif 000005
【図４】
2004361944.tif 000006
【図５】
2004361944.tif 000007
【図６】
2004361944.tif 000008