(57)【要約】【課題】            合成音声にかかる目標生成時間、音声合成装置の中央処理演算装置の負荷、又は合成音声に対する質等の動的な要求によってその要求を満たすような合成をする。【解決手段】        圧縮音声素片と、圧縮音声素片に対応した非圧縮の音声素片、又は、圧縮音声素片と圧縮音声素片に対応した非圧縮の音声素片との差分に基づく差分音声素片と圧縮音声素片を格納したメモリと、メモリに格納された音声素片を選択する音声素片選択部と、音声素片選択部の選択に基づき、圧縮音声素片又は非圧縮音声素片の何れか一方を読み出す音声素片生成部からなる。【選択図】          図１
2006010849.tif 000002
【特許請求の範囲】
【請求項１】
音声素片を圧縮してなる圧縮音声素片とこの圧縮音声素片に対応した非圧縮の音声素片、
又は、上記圧縮音声素片と上記非圧縮の音声素片との差分に基づく差分音声素片と上記圧縮音声素片を格納したメモリと、
このメモリに格納された音声素片を選択する音声素片選択部と、
この音声素片選択部の選択に基づき、上記圧縮音声素片又は非圧縮音声素片の何れか一方を読み出す音声素片生成部と
を備えた音声合成装置。
【請求項２】
メモリは第一のメモリ及び第二のメモリからなり、上記第一のメモリには圧縮音声素片が、上記第二のメモリには非圧縮音声素片又は差分音声素片が記憶されていることを特徴とする請求項１に記載の音声合成装置。
【請求項３】
第一のメモリは高速メモリであり、第二のメモリは低速メモリであることを特徴とする請求項２に記載の音声合成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テキストを音声に変換して出力するテキスト音声合成装置に関する。
【背景技術】
【０００２】
この種の音声合成装置は、音声素片を予めメモリに格納した音声素片辞書からテキストに記載された文字列に対応する音声素片を読み出し、合成音声の生成を行うものでカーナビゲーションや携帯電話などの情報端末に利用されている。このような音声合成装置では、合成音声の自然性を向上させるべく、多様な音声素片を備えた音声素片辞書を持たせる必要があり、このためメモリに格納した膨大な種類の音声素片の読み出しには時間がかかる。
【０００３】
そこで、このような読み出し時間を短縮する音声合成装置として、例えば文献特開２０００−１８１４９１記載の「音声合成装置」（音声合成装置）（以下従来例と呼ぶ）が提案されている。
【０００４】
【特許文献１】特開２０００−１８１４９１
【発明の開示】
【発明が解決しようとする課題】
【０００５】
この従来例では、音声素片辞書を記憶する高速メモリ及び低速メモリを具備し、音声素片辞書が使用頻度に応じて複数のブロックに分割されて記憶されている。この音声合成装置では、あらかじめ音声素片辞書のうち頻繁に使用する高頻度の音声素片のみを高速メモリに展開しておくので、所望の音声素片が高速メモリ上にあるものは高速メモリから読み出し、所望の音声素片が高速メモリ上にないものは低速メモリから読み出すことにより、音声素片辞書の低価格化を図りつつ、音声素片の読み出し時間を短縮し、合成音声の生成を行うことができる。
【０００６】
しかし、この従来例では、音声素片の使用頻度で、音声素片のブロックを低速メモリ、高速メモリのいずれに配置するかを決定するため、読み出し時間はあくまで両メモリの性能に左右される。また、高速メモリにテキストに記載された文字列に対応する全ての種類の音声素片が格納されるわけではない。よって、一方のメモリだけで合成音声を生成できるわけではないので、任意のテキストに対して合成音声を生成する場合には、低速メモリ上の音声素片と高速メモリ上の音声素片の両方を使用する必要がある。このため、合成音声にかかる目標生成時間、音声合成装置の中央処理演算装置（CPU）の負荷、又は合成音声に対する質等の動的な要求によってその要求を満たすような合成（例えば、時間がかかっても良いから質の良い音声を合成したい場合、質が悪くても良いから短時間に音声を合成したい場合）をすることができないという課題があった。また、低速メモリが故障した場合（低速メモリとして主にハードディスクを使用するが、ハードディスクは、モータがディスクを回転させるという機械的構造を有するため故障しやすい）には、使用頻度の高い音声素片以外の素片を使用することができなくなるため、合成音声の生成が不可能になるという課題があった。
【０００７】
この発明は、上述のような課題を解決するためになされたもので、第１の目的は、合成音声にかかる目標生成時間、音声合成装置の中央処理演算装置（CPU）の負荷、又は合成音声に対する質等の動的な要求に対してその要求を満たすことのできる音声合成装置を得ることにある。
【０００８】
また、この発明の第２の目的は、複数あるメモリのうち特定のメモリが故障した場合でも合成音声が生成できる音声合成装置を得ることにある。
【課題を解決するための手段】
【０００９】
この発明に係る音声合成装置は、音声素片を圧縮してなる圧縮音声素片とこの圧縮音声素片に対応した非圧縮の音声素片、又は、圧縮音声素片と上記非圧縮の音声素片との差分に基づく差分音声素片と圧縮音声素片を格納したメモリと、このメモリに格納された音声素片を選択する音声素片選択部と、この音声素片選択部の選択に基づき、圧縮音声素片又は非圧縮音声素片の何れか一方を読み出す音声素片生成部とを備えたものである。
【発明の効果】
【００１０】
この発明に係る音声合成装置は、音声素片を圧縮してなる圧縮音声素片とこの圧縮音声素片に対応した非圧縮の音声素片、又は、圧縮音声素片と上記非圧縮の音声素片との差分に基づく差分音声素片と圧縮音声素片を格納したメモリと、このメモリに格納された音声素片を選択する音声素片選択部と、この音声素片選択部の選択に基づき、圧縮音声素片又は非圧縮音声素片の何れか一方を読み出す音声素片生成部とを備えたもので、合成音声の目標生成時間等の動的な要求に対してもその要求を満たすことができる音声合成装置を得ることができる。
【発明を実施するための最良の形態】
【００１１】
実施の形態１
図１は、本発明の実施の形態１による音声合成装置の構成図である。図２は、後述する音声素片テーブル６の例であり、各音声素片名の高速メモリ上の圧縮音声素片のアドレス及び低速メモリ上の差分音声素片のアドレスから構成されている。図３は、後述する高速メモリ１３上の圧縮音声素片辞書１１の例であり、ヘッダ記憶部分とコードベクトルデータ記憶部分から構成されている。図４は、後述する低速メモリ１４上の差分音声素片辞書１２の例であり、圧縮音声素片辞書１１に記憶されたコードベクトルと圧縮されていない音声素片、即ち非圧縮音声素片との差分に基づいたデータから構成されている。図６は、後述する非圧縮音声素片の波形（A）、高速メモリに格納されている圧縮音声素片の波形（a）、低速メモリに格納されている差分音声素片の波形（ｂ）を示したものである。
【００１２】
次に、図１、２、３、４及び図６を用いて本実施の形態における音声合成装置の構成を説明する。１は、文字列が記載された入力テキストである。入力テキスト１としては、例えば、文字列が記載されたデジタルデータである電子テキストがある。ここで、文字列とは、漢字、ひらがな、カタカナ等の文字が並んだ列をいい、例えば「私は学校に行った。」がある。入力テキスト１としては、紙文章を文章画像に変換した後、OCR技術を用いて文章画像から電子テキストを生成する場合もある。またカーナビゲーション、携帯電話においては、キーボード等から文章を入力した場合には、その文章が入力テキスト１に対応し、カーナビゲーション、携帯電話のマイクが音声を認識する場合にはその認識した音声に対応する文章が入力テキスト１に対応する。２は、入力テキスト１に記載された文字列に対して言語解析をし、音声素片の種類、モーラ数、アクセント句区切り情報を解析するテキスト解析部である。ここで、音声素片とは、音声を構成する要素であり、音声素片の単位としては音響的なデータでありＣＶ（子音―母音）、ＶＣＶ（母音―子音―母音）、ＣＶＣ（子音―母音―子音）がある。モーラとは、かな文字単位に相当するものである。アクセント句とは、アクセントを形成する単位である。３は、テキスト解析部２で解析された入力テキスト１の解析結果であるテキスト解析結果である。
【００１３】
４は、音声素片の読み出し先を決定する制御情報である。制御情報４としては、例えば、低速メモリの故障情報、合成音声を生成するために要する目標時間の情報、合成音声に対して要求する質の情報、音声合成装置を動作させる図示していない中央処理演算装置（CPU）の負荷情報、に基づくものである。制御情報４は、本発明がカーナビゲーションに使用されている場合には、例えば、カーナビゲーションが音声合成と同時にルート検索をする場合は、中央処理演算装置（CPU）に負荷がかかるために、当該負荷情報が中央処理演算装置（CPU）から出力される。また、携帯電話に使用されている場合には、例えば携帯電話が音声合成と同時に音楽のダウンロードをしている場合は、中央処理演算装置（CPU）に負荷がかかるため、当該負荷情報が中央処理演算装置（CPU）から出力される。また、低速メモリ１４が壊れている場合には、図示されていない、低速メモリ故障判別装置から当該故障の情報が出力される。
【００１４】
６は、音声素片テーブルである。音声素片テーブル６には、図２に示すように、テキスト解析部２により解析された各音声素片名（例えば「ka」）に対する、後述する高速メモリ１３上に記憶されている圧縮音声素片のアドレスと、低速メモリ１４上に記憶されている差分音声素片のアドレスが格納されている。ここで、圧縮音声素片および差分音声素片はフレーム単位（例えば、２０msec）で構成され格納されており、圧縮音声素片は、圧縮されていない音声素片、即ち非圧縮音声素片の波形又は音声スペクトル等を離散的にベクトル量子化することによって得ている。具体的には上記圧縮することにより図６における波形（A）を波形（a）にすることをいう。
【００１５】
なお、図2では音声素片の単位をＣＶ（子音―母音）としているが、ＶＣＶ（母音―子音―母音）やＣＶＣ（子音―母音―子音）などとしても構わない。
【００１６】
７は、制御情報４に基づいて、音声素片の読み出し先を高速メモリ１３単独にするか、又は高速メモリ１３と低速メモリ１４の両方にするかを決定し、音声素片テーブル６を参照して圧縮音声素片のアドレス又は圧縮音声素片のアドレス及び差分音声素片のアドレスを読みこむ音声素片選択部である。具体的には、制御情報４が「０」の場合（例えば、低速メモリの故障がある場合、合成音声を生成する目標時間が短い場合、音声合成装置を動作させる中央処理演算装置（CPU）の負荷が高い場合）には、図２の「高速メモリ上の圧縮音声素片のアドレス」に格納されている当該音声素片名に対応するアドレスを読み込む。一方、制御情報４が「１」の場合（例えば、合成音声を生成する目標時間が長い場合、合成音声に対する要求する質が高い場合、音声合成装置を動作させる中央処理演算装置（CPU）の負荷が低い場合）には、図２の「高速メモリ上の圧縮音声素片のアドレス」と「低速メモリ上の差分音声素片のアドレス」に格納されている当該音声素片名に対応するアドレスを読み込む。
【００１７】
８は、図２における音声素片テーブル６中の圧縮音声素片のアドレスや差分音声素片のアドレスの情報が付与された音声素片読出し信号である。
【００１８】
１１は、音声合成をするために最低限必要な種類の圧縮音声素片を格納した圧縮音声素片辞書であり、高速メモリ１３に記憶されている。具体的には圧縮音声素片辞書１１は、図３に示すようにヘッダー記録部分とコードベクトルデータ記録部分から構成されている。
【００１９】
圧縮音声素片は、後述する音声波形又は音声スペクトル等をベクトル量子化し、フレーム（例えば20msec）毎に分けられた複数のコードベクトルから構成されているため、ヘッダ記憶部分には各音声素片名のフレーム毎に割り当てられたコードベクトルのアドレスが格納されている。例えば、音声素片を20msecのフレームに分ける場合、音声素片名「ka」は３つのコードベクトルから構成され、それらのコードベクトルはそれぞれアドレス1０１、１０３、１５３に記憶されている。これらコードベクトルのデータは、非圧縮音声素を圧縮し、圧縮後の音声素片をフレーム毎に分けたデータである。
【００２０】
なお、圧縮音声素片辞書１１には音声合成をするために最低限必要な種類の圧縮音声素片が格納されているため、後述する差分音声素片辞書１２を使用しなくても当該圧縮音声素片辞書のみで一通りの合成音声を生成することができる。ここで、最低限必要な音声素片とは、１３０種程度の基本的な音声素片である。基本的な音声素片の例として「ka」、「ki」、「ku」、「ke」、「ko」等がある。
【００２１】
１２は、圧縮音声素片と非圧縮音声素片との差分である差分音声素片からなる差分音声素片辞書であり、低速メモリ１４に記憶されている。具体的には図４が示すように、差分音声素片辞書１２は、高速メモリ１３上の圧縮音声素片辞書１１に記憶されたコードベクトルと非圧縮音声素片との差分データが記憶されている。圧縮音声素片が複数フレームで構成されている場合には、差分データは、非圧縮音声素片と当該コードベクトルとの差分を複数個連結したものとなる。
【００２２】
ここで、差分音声素片について音声素片名「ka」を例にとって説明する。「ka」の非圧縮音声素片は、フレーム単位（例えば２０msec）のベクトル列として、次のように表現できる。
A = X1 X2 X3…Xn
圧縮音声素片をベクトル列a、差分音声素片をベクトル列ｂとする。このとき、圧縮音声素片ベクトル列aは、全ての音声素片をフレーム単位でベクトルに量子化して得られたコードベクトルから選択した最近傍コードベクトルの列（連結）として、以下のように表すことができる。
a = x1 x2 x3…xn
よって、差分音声素片のベクトル列bは、Aとaの差分であるから、
b = (X1 −x1 ) (X2 −x2 ) (X3 −x3 )…(Xn −xn)
と表せる。このように、差分音声素片は、音声素片と圧縮音声素片との差分になる。音声素片名（例えば「ka」）の一部の圧縮されていない音声波形が図６の（A）に示すような場合、圧縮音声素片の波形（例えば、コードベクトルを波形化したもの）は図６に示す（a）になり、差分音声素片の波形は図６に示す（b）になる。１４は、差分音声素片辞書１２を搭載した低速メモリである。低速メモリ１４の例として、例えば、ハードディスク又は着脱可能メモリがある。
【００２３】
１５は、音声素片読出し信号８に基づいて、圧縮音声素片辞書１１から圧縮音声素片を読出し、又は、圧縮音声素片辞書１１から圧縮音声素片及び差分音声素片辞書１２から差分音声素片を読出し、当該音声素片を入力テキスト１の文字列順に順次接続処理し合成パラメータを生成する音声合成生成部である。
【００２４】
１７は、テキスト解析結果３に基づいて、合成音声を自然な音声にするためのアクセントやイントネーションである韻律情報が付与された韻律制御データ１８を生成する韻律生成部である。１９は、合成パラメータ及び韻律制御データ１８に基づいて合成音声２０を生成する音声合成部である。
【００２５】
次に、以上の構成からなる音声合成装置の動作について説明を行なう。テキスト解析部２は、入力テキスト１に記載された文章の解析を行ない、音声素片の種類、モーラ長、アクセント区切り位置を含むテキスト解析を行い、その結果であるテキスト解析結果３を出力する。
【００２６】
次に、音声素片選択部７は、上記テキスト解析結果３及び制御情報４を受け取る。ここで制御情報４は、例えば「０」又は「１」の信号である。中央処理演算装置（CPU）の負荷情報が高い場合、低速メモリ１４が故障している場合、合成音声を作成する目標時間が短い場合、合成音声素片に対する質の要求が低い場合等、高速メモリを単独で使用すべきとの要件がある場合には制御情報４の信号は「０」である。一方、中央処理演算装置（CPU）の負荷情報が低い場合、低速メモリ１３が正常な場合、合成音声を作成する目標時間が長い場合、合成音声素片に対する質の要求が高い場合等、高速メモリ、低速メモリの両方を使用すべきとの要件がある場合には制御情報４の信号は「１」である。
【００２７】
なお、中央処理演算装置（CPU）の負荷情報による要件、低速メモリ１４の故障情報による要件、合成音声を作成する目標時間の情報による要件、合成音声素片に対する質の要求情報による要件、という要件が併合して起こる場合がある（例えば、質のよい音声で、音声合成時間が短い要求がある場合）。この場合は、当該音声合成装置のおかれた環境に依存する。
【００２８】
例えば、当該音声合成装置がカーナビゲーションに搭載された場合であって、当該カーナビゲーションが搭載された自動車が車線の変更が多い道を走行している場合には、図７が示すように要件の優先順位が決まる。すなわち、低速メモリが故障している場合には低速メモリの使用は不可能になるために、まず低速メモリ１４が故障情報の優先度が高い。次に、車線の変更が多い道であるために次に曲がる道の情報を即座に入手する必要があるので、合成音声を作成する目標時間情報が次に優先度が高い。次に、当該カーナビゲーションが同時に他の処理をしている場合には、他の処理の速度が遅くなるために、中央処理演算装置（CPU）の負荷情報の優先度は次に高い。次に、曲がりくねった道等を走行している場合には必要な情報さえあれば良く、さほど合成音声の質を求めないために合成音声素片に対する質の要求情報の優先度は低い。以下、制御情報４が「０」の場合「１」の場合についてそれぞれ場合分けをして説明する。
【００２９】
制御情報４が「０」の場合、すなわち高速メモリを単独で使用する場合には、音声素片選択部７は、当該制御情報４に基づいて、図２に示される音声素片テーブル６から圧縮音声素片のアドレスのみを読みこむ。そして当該アドレスを音声素片読出し信号８として出力する。例えばテキスト解析結果により音声素片名が「ki」である場合には、音声素片選択部７は音声素片テーブル６から当該音声素片名「ki」に対応したアドレス２を読みこみ、それに基づいた信号を音声素片読出し信号８として出力する。
【００３０】
次に、音声素片生成部１５では、音声素片読出し信号８を受信し、図２に示される当該アドレスに基づいて、図３に示される高速メモリ上の圧縮音声素片のコードベクトルデータのみを読みこむ。例えば、テキスト解析結果により音声素片名が「ki」である場合には、ヘッダ記憶部分のアドレス２に基づいて、フレーム毎に割り当てられたコードベクトルへのアドレスであるアドレス１２３、アドレス１０１を読み出し、当該アドレスに基づいて、コードベクトルデータ記憶部分のアドレス１２３、アドレス１０１に対応するコードベクトルのデータを読みこむ。そして、当該コードベクトルのデータを読み出してコードベクトルを順次接続し合成パラメータ１６を生成し出力する。
【００３１】
一方、韻律生成部１７では、テキスト解析結果３に基づいて、韻律制御データ１８を生成する。
【００３２】
音声合成部１９では、合成パラメータ１６及び韻律制御データ１８に基づいて、合成音声２０を生成する。ここで高速メモリ１３の圧縮音声素片辞書１１には、合成音声に必要な音声素片に対する圧縮音声素片が一通り揃っているので、たとえ低速メモリ１４に記録された差分音声素片を使用しなくても、音声合成部１９では合成音声が生成される。
【００３３】
制御情報４が「１」の場合には、音声素片選択部７は、当該制御情報４に基づいて、音声素片テーブル６から高速メモリ上の圧縮音声素片のアドレス及び低速メモリ上の差分音声素片のアドレスを読みこむ。そして当該両アドレスに基づいた音声素片読出し信号８を出力する。例えばテキスト解析結果により音声素片名が「ki」である場合には、音声素片選択部７は音声素片テーブル６から図2に示すアドレス２及びアドレス１００２を読みこみ、それに基づいた信号を音声素片読出し信号８として出力する。
【００３４】
次に、音声素片生成部１５では、音声素片読出し信号８を受信し、当該信号に示されたアドレスに基づいて、図３及び図４に示す圧縮音声素片のコードベクトルデータ及びコードベクトルと非圧縮音声素片との差分である差分データを読みこむ。例えば、テキスト解析結果により音声素片名が「ki」である場合には、高速メモリのヘッダ記憶部分のアドレス２に基づいて、フレーム毎に割り当てられたコードベクトルへのアドレスであるアドレス１２３、アドレス１０１を読出し、当該アドレスに基づいて、コードベクトルデータ記憶部分のアドレス１２３、アドレス１０１に対応するコードベクトルのデータを読みこむ。一方、低速メモリアドレス１００２にあるコードベクトルと非圧縮音声素片との差分である差分データ２を読みこむ。そして、当該コードベクトルのデータ及び差分データを読み出して加算して非圧縮音声素片を生成し、更には加算された波形を順次接続する事により合成パラメータ１６を生成し出力する。
【００３５】
加算による合成パラメータ１６の作成方法は、例えば単なるベクトルの加算がある。圧縮音声素片をベクトル列a、差分音声素片をベクトル列ｂとする。このとき、a は、全ての音声素片をフレーム単位でベクトル量子化して得られたコードベクトルから選択した最近傍コードベクトルの列（連結）として、以下のように表すことができる。
a = x1 x2 x3…xn
一方、b を
b = Y1 Y2 Y3…Yn 
とすると、加算後のベクトル列cは、
ｃ= (x 1 ＋Y1 ) (x 2 ＋Y2 ) (x 3 ＋Y3 )…(xn ＋Yn )
となる。
【００３６】
一方、韻律生成部１７では、テキスト解析結果３に基づいて、韻律制御データ１８を生成する。韻律制御データ１８とは、音声合成部１９において合成音声のイントネーションやアクセントを自然な音声とするための制御データである。
【００３７】
音声合成部１９では、合成パラメータ１６及び韻律制御データ１８に基づいて、合成音声２０を生成する。
【００３８】
以上のように、本実施の形態によれば、圧縮音声素片による音声合成を可能としているので、合成速度の早い音声合成が可能な圧縮音声素片のみの読み出しと合成速度は遅いが質の良い音声合成が可能な非圧縮音声素片（圧縮音声素片＋差分音声素片）の読み出しとを選択して行えるため、音声合成装置の中央処理演算装置（CPU）の負荷値に基づく制御情報、合成音声に生成する目標である時間による制御情報、合成音声に対する要求する質による制御情報等、動的な要求に応じた音声合成ができる。
【００３９】
さらに本実施の形態によれば、上記圧縮音声素片を高速メモリに記憶させるようにしたので、圧縮音声素片による音声合成の速度が更に高まるとともに、低速メモリ１４が故障した場合には、高速メモリの圧縮音声素片辞書のみを用いて、合成音声の生成を行うことができる。
【００４０】
また、高速メモリ１３上の圧縮音声素片辞書１１がコードベクトルで構成されているのに対して、低速メモリ１４上の差分音声素片辞書１２が差分データで構成されているので、通常は、差分音声素片辞書のデータサイズの方が大きい。本実施の形態では、高速メモリに合成音声の生成に必要な最低限の情報のみ記憶させ、その記憶は、圧縮した形でしているので、高速メモリに記憶される情報は、軽量となり、値段が高い高速メモリの使用を軽減する事ができる。
【００４１】
なお、本実施の形態では、低速メモリに差分音声素片を記憶させ、非圧縮音声素片の読み出しに際しては高速メモリと低速メモリの双方を用いるようにしたが、低速メモリに非圧縮音声素片そのものを記憶させ、非圧縮音声素片の読み出しに際しては低速メモリのみを用いて読み出すようにしても良い。
【００４２】
また、本実施の形態によれば、高速メモリ上の圧縮音声素片辞書は、音声波形又は音声スペクトル等を離散的にベクトル量子化することによって得られたコードベクトルからなり、低速メモリ上の差分音声素片辞書は、圧縮していない音声素片と前記コードベクトルとの差分データからなるとして説明したが、例えば圧縮音声素片辞書１１には、音声波形又は音声スペクトルの低周波成分を格納し、差分音声素片辞書は、非圧縮音声素片と前記の音声素片の低周波成分との差分である高周波成分を格納するように構成してもよい。
【００４３】
更に、圧縮音声素片辞書は、音声波形もしくは音声スペクトルをカットオフ周波数が4kHzのローパスフィルタにかけることによって作成し、一方、差分音声素片辞書は、前記の音声波形もしくは音声スペクトルをカットオフ周波数が4kHzのハイパスフィルタにかけることによって作成するようにしても良い。このように構成することによって、圧縮音声素片辞書だけを用いて音声合成を行った場合でも、入力テキスト１に対応した任意の合成音声を生成することができる。
【００４４】
また、高速メモリとしてSRAM等のRAMを使用する場合には、RAMは揮発性であるために、当該音声合成装置がたちあがると同時に当該RAM以外のメモリからRAMによるメモリに対して圧縮音声素片のデータを転送するようにしても良い。
【００４５】
また、本実施の形態によれば、第一のメモリとして高速メモリ、第二のメモリとして低速メモリとして説明した。しかし、本実施の形態はそれに限定されることはない。例えば、第一のメモリと第二のメモリが同等の読み込み速度の場合も含まれる。
【００４６】
実施の形態２
実施の形態１において、高速メモリ１３に格納されている圧縮音声素片及び低速メモリ１４に格納されている差分音声素片は、音韻環境が考慮されていない。しかし本実施の形態では、高速メモリ１３に格納されている圧縮音声素片及び低速メモリ１４に格納されている差分音声素片は音声素片の直前直後の音韻環境を考慮して構成されている。ここで音韻環境を考慮するとは、音声素片の前後の連なりを考慮することである。音韻環境の違いによる音声素片の相違としては、「会社」における「ka」、「科学者」における「ka」がある。すなわち、同じ「ka」でもその前後の連なりにより音声素片が変わることである。
【００４７】
本実施の形態では、同じ音声素片名であるが、前後の音韻環境が異なる複数の音声素片から平均的な音声素片を生成して圧縮音声素片とし圧縮音声素片辞書１１に格納する。一方、上記圧縮音声素片と上記圧縮音声素片に対応した音声素片であって音声素片の音韻環境を考慮した音声素片との差分である差分音声素片を差分音声素片辞書１２に格納する。
【００４８】
なお、圧縮音声素片として人が音として最低限必要な音声素片とは、先行する母音などを考慮した音声素片であれば８００種程度である。
【００４９】
例えば、同じ「ｋａ」の音声素片であるが、前後環境が異なる複数の音声素片から音声波形や音声スペクトル等の平均を求めてその平均である「ka」の音声素片を圧縮音声素片とする。一方、前後環境がともに「ａ」の「ｋａ」（「（ａ）ｋａ（ａ）」）の音声素片と上記「ｋａ」の圧縮音声素片との差分を求めて、これを「ｋａ」の音声素片の前後が（a）である場合の差分音声素片とする。
【００５０】
図５は、音声素片テーブル６の構成例であり、各音声素片に対して、圧縮音声素片のアドレスと、差分音声素片のアドレスが格納されている。例えば、前後環境がともに「ａ」である「ｋａ」の高速メモリ１３上の圧縮音声素片のアドレスは「アドレス２０１」であり、同様に、低速メモリ１４上の差分音声素片のアドレスは「アドレス２０１０１」である。
【００５１】
次に、以上の構成からなる音声合成装置の動作について説明を行なう。なお、実施の形態１と共通する部分については説明を省略する。
【００５２】
制御情報４が「０」の場合、すなわち高速メモリを単独で使用する場合には、音声素片選択部７は、当該制御情報４に基づいて、図５に示される音声素片テーブル６から圧縮音声素片のアドレスのみを読みこむ。そして当該アドレスを音声素片読出し信号８として出力する。例えばテキスト解析結果により音声素片名が「ki」である場合には、音声素片選択部７は音声素片テーブル６から当該音声素片名「ki」に対応したアドレス２０２を読みこみ、それに基づいた信号を音声素片読出し信号８として出力する。
【００５３】
次に、音声素片生成部１５では、音声素片読出し信号８を受信し、図２に示される当該アドレスに基づいて、図７に示される高速メモリ上の圧縮音声素片のみを読みこむ。例えば、テキスト解析結果により音声素片名が「ki」である場合には、アドレス２０２に基づいて、圧縮音声素片を読みこむ。そして、当該圧縮音声素片を順次接続し合成パラメータ１６を生成し出力する。
【００５４】
制御情報４が「１」の場合には、音声素片選択部７は、当該制御情報４に基づいて、図5に示す音声素片テーブル６から圧縮音声素片のアドレス及び差分音声素片のアドレスを読みこむ。そして当該両アドレスに基づいた音声素片読出し信号８を出力する。例えばテキスト解析結果により音声素片名が「（a）ki（a）」である場合には、音声素片選択部７は音声素片テーブル６からアドレス２０２及びアドレス２０２０１を読みこみ、それに基づいた信号を音声素片読出し信号８として出力する。
【００５５】
次に、音声素片生成部１５では、音声素片読出し信号８を受信し、当該信号に示されたアドレスに基づいて、圧縮音声素片及び差分音声素片を読みこむ。例えば、テキスト解析結果により音声素片名が「（ａ）ki（a）」である場合には、アドレス２０２に基づいて、圧縮音声素片を読みこみ、アドレス２０２０１に基づいて差分音声素片を読みこむ。そして、圧縮音声素片及び差分音声素片を読み出して加算し、更には加算された波形を順次接続する事により合成パラメータ１６を生成し出力する。
【００５６】
以上のように、この実施の形態２によれば、音声合成装置の中央処理演算装置（CPU）の負荷値に基づく制御情報によって、音声素片読出し信号を高速メモリ１３とする場合と、高速メモリ１３と低速メモリ１４の両方とする場合を動的に制御しながら、合成音声を生成することが可能であり、低速メモリ１４単独でも任意のテキストに対して合成音声を生成することが可能である。特に低速メモリが故障した場合には、高速メモリの圧縮音声素片辞書のみを用いて、合成音声の生成を行うことができる。
【００５７】
また、通常は、差分音声素片辞書のデータサイズの方が大きい。それに対して、本実施の形態では、差分音声素片を低速メモリに格納することで、高速メモリには軽い情報量のみを格納すれば良く、値段が高い高速メモリの使用を軽減する事ができる。
【００５８】
なお、本実施の形態では、低速メモリに差分音声素片を記憶させ、非圧縮音声素片の読み出しに際しては高速メモリと低速メモリの双方を用いるようにしたが、低速メモリに非圧縮音声素片そのものを記憶させ、非圧縮音声素片の読み出しに際しては低速メモリのみを用いて読み出すようにしても良い。
【図面の簡単な説明】
【００５９】
【図１】この発明の実施の形態１を示す音声合成装置の構成図である。
【図２】この発明の実施の形態１における音声素片テーブルの一例である。
【図３】この発明の実施の形態１における圧縮音声素片辞書の一例である。
【図４】この発明の実施の形態１における差分音声素片辞書の一例である。
【図５】この発明の実施の形態２における音声素片テーブルの一例である。
【図６】この発明の実施の形態１における音声素片、圧縮音声素片、差分音声素片の波形である。
【図７】この発明の実施の形態１における制御情報を決定する優先順位を示す一例である。
【符号の説明】
【００６０】
１  入力テキスト１
２  テキスト解析部
３  テキスト解析結果
４  制御情報
６  音声素片テーブル
７  音声素片選択部
８  音声素片読出し信号
１１  圧縮音声素片辞書
１２  差分音声素片辞書
１３  高速メモリ
１４  低速メモリ
１５  音声素片生成部
１６  合成パラメータ
１７  韻律生成部
１８  韻律制御データ
１９  音声合成部
【図１】
2006010849.tif 000003
【図２】
2006010849.tif 000004
【図３】
2006010849.tif 000005
【図４】
2006010849.tif 000006
【図５】
2006010849.tif 000007
【図６】
2006010849.tif 000008
【図７】
2006010849.tif 000009