【文献】
小林隆夫,"多様な話者性および発話スタイル・感情表現による音声合成",日本音響学会2005年秋季研究発表会講演論文集CD-ROM,2005年 9月20日,pp.283-286
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0014】
本発明による実施形態では、波形接続方式の音声合成において、用いる音声データベース(以降、音声DBとする)を目標話者(以降、ユーザとする)の音声に近づけるために、まず、ユーザに録音用テキストを提示し、ユーザの声を収録する。そして、初回のみユーザの声を評価し、事前に用意されている複数の音声DBから、最もユーザの声に似ている音声DB(既存音声DB)を選択する。それ以降、ユーザの発話から取得された音声に基づいて音声素片を作成し、ユーザの音声素片と既存話者の音声素片(既存音声DBの音声素片)と置き換えることで、合成音声が既存話者の声質からユーザの音声に変化する。さらに、次の読み上げ用テキストを生成するために、大量テキストコーパスから、最も効率よく素片を置き換えられるように自動生成することで、素片の置き換えが効率よく行うことができる。
【0015】
以下、添付図面を参照して本発明の実施形態について説明する。添付図面では、機能的に同じ要素は同じ番号で表示される場合もある。なお、添付図面は本発明の原理に則った具体的な実施形態と実装例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
【0016】
本実施形態では、当業者が本発明を実施するのに十分詳細にその説明がなされているが、他の実装・形態も可能で、本発明の技術的思想の範囲と精神を逸脱することなく構成・構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。
【0017】
更に、本発明の実施形態は、後述されるように、汎用コンピュータ上で稼動するソフトウェアで実装しても良いし専用ハードウェア又はソフトウェアとハードウェアの組み合わせで実装しても良い。
【0018】
なお、以後の説明では「テーブル」形式によって本発明の各情報について説明することもあるが、これら情報は必ずしもテーブルによるデータ構造で表現されていなくても良く、リスト、DB、キュー等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「DB」、「キュー」等について単に「情報」と呼ぶことがある。
【0019】
<ユーザ音声DB作成装置の構成>
図1Aは、本発明の実施形態によるユーザ音声DB作成装置の概略構成例を示す図である。
当該ユーザ音声DB作成装置100は、記憶装置101と、音声入力I/F(インタフェース)102と、CPU103と、主記憶装置であるメモリ104と、スピーカーに接続するための音声出力I/F105と、テキスト提示I/F106と、を有し、これらの構成部はバス107によって相互に接続されている。
【0020】
ユーザ音声DB作成装置100は、例えば、カーナビゲーション装置、携帯電話機、パーソナルコンピュータ等のデバイスに、ユーザ音声DB作成ユニットとして組み込まれている。そのため、
図1に示した各ハードウェアは、ユーザ音声DB作成装置が組み込まれたデバイスの構成を用いて実現しても良いし、ユーザ音声DB作成装置が組み込まれたデバイスとは別個に設けられていても良い。
【0021】
ユーザ音声DB作成にすべての機能を一つのデバイスだけで実現しても良いが、
図1Bに示す変形例のように、ユーザインタフェース(音声入力I/F1110−1及び1110−2・・・、通信I/F1111−1及び1111−2・・・、音声出力I/F1112−1及び1112−2・・・、テキスト提示I/F1113−1及び1113−2・・・)を端末側のデバイスに設け、後述する「素片作成部」、「DB初期化部」、「DB更新部」などの機能の全部もしくは一部を実現するハードウェアをサーバ1101に設け、その間に通信I/F1104、1111−1及び1111−2・・・によって相互に接続されている場合も考えられる。
【0022】
<ユーザ音声DB作成機能と音声合成機能を有する音声処理システムの構成>
図1C乃至1Eはそれぞれ、ユーザ音声DB作成機能と音声合成機能を有するシステムの概略構成例を示す図である。
図1A或いは1Bによるユーザ音声DB作成装置で作成した音声DBを使って音声合成するためには、音声合成の機能を実現するハードウェア(音声合成装置)から、ユーザ音声DBを格納する記憶装置にアクセスできなければならない。
図1C乃至1Eは、そのためのいくつかの形態を示している。
【0023】
図1Cは、同じデバイス(ハードウェア(コンピュータ装置))でユーザ音声DB作成装置と音声合成装置を実現する場合であり、音声合成装置は直接に記憶装置に格納されているユーザ音声DB作成装置で作成した音声DBをアクセスできる。
【0024】
図1Dは、ユーザ音声DB作成装置と音声合成装置を別々のデバイスで構成し、音声処理システムを実現する形態を示している。当該システムでは、データ入・出力装置を用いて、データの受け渡しを行う。ここで、データ入・出力装置とは、DVD、CD、USBメモリなどの移動データ記録媒体を書き込み・読み込みできるデバイスのことである。
【0025】
図1Eも、ユーザ音声DB作成装置と音声合成装置を別々のデバイスで構成し、音声処理システムを実現する形態を示している。
図1Eによるシステムでは、音声合成装置100−2は通信I/F111−1、111−2及びネットワーク1106を経由して、記憶装置に格納されているユーザ音声DB作成装置100−1で作成した音声DBにアクセスできるようになっている。
【0026】
図1A乃至Eにおいて、ユーザ音声DB作成装置や音声合成装置のCPU103、1102、103−1、及び103−2はそれぞれ、ユーザ音声DB作成装置や音声合成装置の全体の制御を司る。
メモリ104、1103、104−1、及び104−2は、CPU103等のワークエリアとして使用される。
【0027】
記憶装置101、1105、101−1、及び101−2は、不揮発性の記憶媒体であり、具体的には、例えば、HDD(ハードディスク)、FD(フレキシブルディスク)、フラッシュメモリ等を用いることができる。当該記憶装置には、例えば、後記する音質評価プログラムや素片置き換えプログラム等の各種プログラム、音声合成用既存音声データベース等の各種データが記録される。
【0028】
音声入力I/F102、102−1、1110−1、1110−2・・・は、マイクロフォンなどの音声入力装置(不図示)を接続するインタフェースであり、入力装置から音声の入力を受け付ける。
【0029】
音声出力I/F105、1112−1、1112−2、105−1、及び105−2は、スピーカーなどの音声出力装置(不図示)を接続するインタフェースである。
【0030】
通信I/F1104、1111−1、1111−2、111−1、及び111−2は、装置の間にデータを交換する(通信する)ためのハードウェアである。例えば、有線LANカード、無線LANカード、モデムなどが考えられる。
【0031】
テキスト提示I/F106、1113−1、1113−2は、パソコンモニターや携帯画面など、テキストを表示できる装置である。音声でテキストをユーザに提示する場合、テキスト提示I/Fは音声出力I/Fで代用(併用)することも可能である。
【0032】
<ユーザ音声DB作成装置の機能的構成の概要>
図2は、ユーザ音声DB作成装置の機能構成を示す図である。
図2に示すように、ユーザ音声DB作成装置100−1は、テキスト提示部(テキスト提示プログラム)201と、音声収録部(音声収録プログラム)202と、DB初期化部(DB初期化プログラム)203と、DB更新部(DB更新プログラム)204と、テキスト生成部(テキスト生成プログラム)205と、を機能として有している。以下、それぞれについて詳細に説明する。
【0033】
テキスト提示部201は、ユーザが発話すべきテキストを提示するインタフェースであり、例えば、パソコンのモニタ、携帯画面などの画面表示装置や、スピーカーはヘッドフォンなどの音声再生装置などである。テキストを正しく読ませるために、テキストのみではなく、その読み方まで提示すると、より良い(システムにとって)発話が得られる。例えば、画面にテキストに一緒に読み情報やアクセント情報などを同時に提示する。もしくは、テキストを音声に変換して、サンプル音声を提供する。なお、画面と音声と組み合わせて提示することもできる。
図3A乃至Eには、いくつかのテキスト提示の例が示されている。
【0034】
例えば、
図3Aは、画面に読み上げテキスト(文字列)「これは日立の合成音声です。」のみを画面に表示し、ユーザに読み上げるべきテキストを提示する例を示している。
図3Bは、画面に読み上げテキスト(文字列)「これは日立の合成音声です。」を表示するとともに、テキストの読み情報(日本語の場合、ふりがな、ローマ字など)もユーザに提示する例を示している。
図3Cは、画面に読み上げテキスト(文字列)「これは日立の合成音声です。」を表示するとともに、テキストの読み情報と韻律情報(アクセント記号やイントネーション記号など)もユーザに提示する例を示している。
図3Dは、音声出力I/F(スピーカー)から、読み上げテキストの音声(のみ)を再生してユーザに提示する例を示している。この場合、読み情報と韻律情報と、同時に提示することが可能となるため、ユーザがより正しく発話されることが期待できる。しかし、音声の揮発性を考えると、長い文章を覚えられない可能性もあるので、
図3Eで示したように、画面と音声を併用してユーザに提示したほうが、より高い品質の発話音声が得られると期待できる。
【0035】
<音声収録部の詳細>
図4は、音声収録部202で実行される処理を説明するための図である。音声収録部202は、音声入力インタフェース2021を有し、マイクロフォンなどの音声からデジタル信号に変換する。当該音声収録部202を用いてユーザの発話を録音し、システム(ユーザ音声DB作成装置)に音声波形を入力する。
【0036】
ここで、より高品質な音声DBを作成するためには、発話正確度判別処理2022を実行しても良いが、必須の処理ではない。発話正確度判別処理2022は、ユーザの発話した音声が提示したテキスト(読み情報や韻律情報も考慮)通りに読み上げられているかどうかを判別する処理である。例えば、読み間違いがあるかどうか(例えば、読み上げられたテキストを音声認識して得られた結果(認識結果:テキスト)が読み上げられたテキストと異なっているか判定することにより読み間違いを検出する)、提示したアクセントと同じかどうか(例えば、読み上げられたテキストの音声データからアクセントを抽出し、アクセントの正誤を判定する)、雑音が入っているかどうか、ポーズの位置があっているかどうかなどをチェックし、要求(予め設定された閾値)を満たしていない音声について、テキスト提示部201に指示を送り、ユーザに再読み上げを要求する(処理2023)。ただし、この発話正確度判別処理2022のチェックが厳しくなると、ユーザが複数回に発話しなければならなく、大きな負担がかかるため、閾値を低く設定したほうが良い。
【0037】
そして、DB初期化部203は、初回の処理時のみ、ユーザによって入力された音声(音声収録部202によって取得された音声)に基づいて既存DBを選択し、それを使用する音声DB206として登録する。当該DB初期化部203の詳細については、さらに
図5を参照して説明する。
【0038】
一方、次回処理時からは、DB更新部204が、ユーザによって入力された音声から音声DB(選択された既存DB)206を順次更新していくことになる。当該DB更新部204の詳細については、さらに
図6を参照して説明する。
【0039】
<DB初期化部の詳細>
図5は、DB初期化部203で実行される処理を説明するための図である。
初回の処理時には、音声収録部202から出力された音声が、DB初期化部203に入力される。DB初期化部203は、話者音声評価処理2031を実行する。この話者音声評価処理2031では、音声収録部202からの入力音声を用いて話者声質が評価(例えば、声紋等の音声の特徴量を評価)され、事前に用意した複数の音声DB(1)〜(N)の中から、最もユーザの声質に似たDBが選ばれる。話者音質評価処理2031によって選択された既存話者DB2032が初期音声DB206として設定される。なお、話者声質評価のための技術については、すでに複数の手法が提案されていて、例えば、特開2012−141354号公報や特開2012−141354号公報等に開示されている技術がある。ここで、さらにユーザの声に似させるために、音質変更処理(モーフィング)2033を実行しても良い。音質変換処理を実行する場合、異なる話者からの音声素片を接続するときに起きやすい音声の不連続現象を抑えることも可能である。具体的には、例えば、特開2011−53404号公報や特開2011−53404号公報等に開示されている手法を用いて、選択されたDBに含まれるすべての音声素片を音質変更し、話者の声質に近づけることができる。ただし、この変質変換処理(モーフィング)2033は音質向上させるためのものであり、必須の処理ではない。
【0040】
<音声合成処理>
図6は、音声合成装置100−2で実行される処理を説明するための図である。
図6による形態では、音声合成装置100−2は、ユーザ音声DB作成装置100−1とは独立しており、ユーザ音声DB作成装置100−1で作成された音声DBを用いて、音声合成処理を実行する。以下、音声合成装置による処理(機能)について簡単に説明する。
【0041】
音声合成装置100−2は、テキスト解析処理601と、素片選択処理603と、波形接続処理605を実行し、波形接続音声合成方式により、テキストから音声に変換する。
【0042】
まず、テキスト解析処理601では、入力テキストから、読みやアクセントなどの言語情報が解析され、「中間言語」と呼ばれる発音記号列(602)が生成される。なお、中間言語が直接入力される場合には、テキスト解析処理は不要となる。
【0043】
素片選択処理603では、入力される中間言語をもとに、音声DB(初回はDB初期化部で生成され、それ以降DB更新部で更新される)206から、最も良い音声素片の系列604が選択される。
【0044】
最後に、波形接続処理605では、素片選択処理603によって選択された音声波形(音声素片604)がつなぎ合わせられて、合成音声606が出力される。
【0045】
<DB更新部の詳細>
DB更新部204は、既存音声DB206に格納されている音声素片をユーザ(話者)の音声から生成された音声素片で置き換える処理を行うが、基となるユーザ音声は、自然な状態で行われる会話から抽出された音声であっても良いし、既存DBを更新するために意図的に読み上げて入力された音声であっても良い。
【0046】
図7Aは、DB更新部204の処理内容の一形態を示す図である。DB更新部204は、音声素片作成処理2041と、素片置き換え処理2044を実行する。
【0047】
まず、DB更新部204は、音声収録部202によって収録された音声を受信する。
DB更新部204は、音声素片作成処理において、入力された音声波形に対して、素片単位(音素単位や音節単位が一般的に使われる)に自動セグメンテーションや自動ラベリングなど(例えば、特開平6−266389号公報参照)を行い、ユーザ声のラベル付き音声素片2042を作成する。音声素片作成処理2041では、音声を切り出すセグメンテーション処理と、切り出された音声波形にラベルを付与するラベリング処理が実行される。その後、生成されたラベル付き音声素片が、素片置き換え処理に用いられる。例えば、音声収録部202から入力されている音声「こんにちは」(白色)を、音声素片作成処理によって、/コ//ン//ニ//チ//ワ/と5つの音素単位(この例では音素単位にしているが、音節単位や半音素単位、フレーム単位など音声合成に用いられる素片単位も用いることが可能である)の音声波形(音声断片)に切り分けられた後、それぞれの音声波形にラベルが自動付与される。例えば、この例では五つの音声波形にそれぞれ“コ”“ン”“ニ”“チ”“ワ”と音素表記だけのラベルがつけられている。ラベルには、音素の種類を示す音素表記、前後の音韻環境を示す先行・後続音素表記、該当音素が文、フレーズ、ワードに占める位置などのコンテキスト情報、音声波形から抽出される基本周波数(以降、F0)、継続長、パワーなどの韻律情報、音声波形から抽出されケプストラムなどの音韻情報などが考えられる。
【0048】
DB更新処理部204は、素片置き換え処理2044によって、ユーザの音声素片で音声DB206に含まれている従来話者の音声素片を置き換える。この処理を継続していくことにより、音声DB206に含まれるユーザ声の音声素片の比率を増やすことができる。より具体的に、素片置き換え処理2044では、音声素片作成処理2041によって作成されたそれぞれの音素素片について、事前に定義された素片間距離評価尺度(評価ルール)2043を用いて、音声DB206に含まれている従来話者声の音声素片と距離を計算し、「置き換え可能」と判断した素片との置き換えを行うようにしている。どの素片に関しても「置き換え可能」とならなかった場合は、そのユーザ声音声素片が音声DB206に追加(新規登録)される。DB更新部204の処理によって、音声DB206に含まれるユーザ声の音声素片が増える。この音声DB206を用いて音声合成した場合、ユーザ声の素片が選択される確率が高くなり、合成音声をユーザの声に近づけることが可能となる。
【0049】
当該実施の形態では、音素間距離評価尺度を「音素表記が一致?」と定義しているので、作成されたユーザ声(白色)の五つのラベル付き音声素片のそれぞれについて、データベースにある従来話者声(灰色)の音声素片と比較し、音素表記が一致しているものに対して、置き換えを行われる。ここで、置き換えられた従来話者声の音声素片は廃棄される。その結果、音声DB206に含まれる従来話者声の音声素片が5つ減り、ユーザ声の音声素片が5つ増え、音声DB206がユーザ声で更新されたことになる。更新される前にユーザ声素片は入力されていないので、音声DB206を用いた音声合成では、従来話者の声の音声でしか音声合成できないのに対して、更新された音声DB206には、ユーザ声の音声素片も入っているため、合成した音声がユーザの声になる確率が高くなる。しかし、従来手法のように、少しずつパラメータを修正し、ユーザの声に近づけるのと違って、合成時にユーザ声の素片が選ばれなければ、ユーザの声に近づけるとこができない。その代わりに、従来手法のようにパラメータを修正することによる音質の劣化が起りにくいと考えられる。つまり、上述のように音声DB206を更新しても、高い合成音質を保障される。ここで、より多くのユーザ素片が合成時に使われる確率を上げるために、ユーザ素片が全体音声DBに占める確率を上げることや、使われやすい素片を優先的に置き換えることが必要となる。そのため、次にユーザに読ませるテキストの選別が重要となる。つまり、効率よく(よりユーザ素片の使われる確率を上げる)置き換えを行うために、録音テキストを現在DBの状態を考慮した最適化が必要となる。
【0050】
なお、素片間距離評価尺度(評価ルール)としては様々な内容が考えられる。最もシンプルなものは、上述のように、音素表記のみを比較し、同じ音素表記を持つ素片をすべて置き換えてしまう手法である。しかし、このような単純な手法では、生成された音声DB206の品質が落ちてしまう可能性もある。
【0051】
そこで、より高品質のDBに更新するために、前後のコンテキストを音声素片間距離尺度とする手法が考えられる。例えば、トライフォン(Triphone)を考慮した音声素片置き換えルールでは、当該音声素片の音素表記のみならず、当該音声素片の先行・後続音声素片についても、音素表記を比較し、先行・当該・後続音声素片のすべての音素表記が一致した場合のみ、置き換えるようにする。ここで、考慮できるコンテキストは、
図7B(素変換距離評価尺度に用いることができるコンテキストの例)に示したものが考えられる。これらのコンテキストを複数に用いて、音素間距離を評価することも考えられる。この場合、「先行音素を外した場合は2ポイント」、「当該音節が当該韻律ワードに占める位置が異なった場合は5ポイント」・・・などを定義すれば、コンテキストの違いを定量的に評価することができるようになる。
【0052】
当該音素表記やコンテキストで素片間距離尺度を定義した場合、ある程度音声の違いを評価できるが、人間の聴覚上における音声の違いを評価するために、スペクトル、ピッチ、パワーなどの音声物理特徴量を用いた素片間距離尺度を定義するようにしても良い。ここで、音声物理特徴量とは、声道形状の特徴に関係するケプストラム、FFTCep、MelCep、MFCCなど、声帯振動の特徴に関係する基本振動周波数(F0)、パワーなどが考えられる。
【0053】
図7Cは、別の態様によるDB更新部204の処理内容を説明するための図である。当該態様では、テキスト提示部201によって提示されたテキストを読み上げてユーザの音声が得られた場合、まず、当該音声に基づいて、音声素片作成処理2041によってラベル付き音声素片2042が生成される。一方、当該テキストに対して現在の音声DB206を用いて音声合成処理701が実行される(音声合成処理は、音声合成装置100−2を用いて実行しても良いし、ユーザ音声DB作成装置100−1内で実行するようにしても良い)。そして、実際に音声合成に用いた従来話者の音声素片2045と、ユーザ音声から生成された音声素片2042とが入れ替えられる(つまり、合成音声に使われた従来話者の素片がすべてユーザ素片と置き換えられることになる)。
図7Cで示したように、テキスト“こんにちは”に対して音声DB206を用いて音声合成した場合、/コ//ン//ニ//チ/は従来話者の素片が使われて、/ワ/はユーザ声の素片が使われたとして、使われた/コ//ン//ニ//チ/の4つの音素素片について、ユーザ声の音素素片と置き換えられることになる。なお、ここでは「ワ」の素片はすでにユーザ素片としているため置き換えられない。
【0054】
<テキスト生成部の詳細>
図8は、テキスト生成部205の処理(機能)を説明するための図である。
テキスト生成部205は、テキスト評価ルール2051に基づいて、予め用意されているテキストコーパス801に格納されているテキストの中から最も評価の高いテキストを選択するテキスト評価処理2052を実行し、テキスト提示部201によって次に提示すべきテキスト(収録用テキスト)2053を生成する。
【0055】
テキスト生成部205は、テキスト評価処理2052において、ある文書をユーザに発話させた場合、収録するユーザ声から作られるユーザ声音声素片を用いて、音声DB206を更新したときに、どれぐらいの素片を置き換えられて、置き換えられる従来話者の素片が良く使われている素片かどうかなどを計算(評価)する。この評価に基づいて、最適なテキストを選ぶことができる。例えば、
図8で示す一例では、テキスト評価ルールは、「”置きかえられる素片の数を最大にする”テキストを選択する」と定義されている。ここで、テキストコーパスの中にある「こんにちは」、「こんばんは」、「おはよう」の3つのテキストについて、ユーザが読み上げた音声を用いて素片DBを更新した場合に、置き換えられる従来話者音声素片の数を計算(予測)する。まず「こんにちは」の場合、既に処理したテキストであるため、置き換えられる従来話者の音声素片が存在せず、置き換えられる素片の数がゼロである。そして、「こんばんは」の場合、従来話者の音声素片/ハ゛/が置き換えられるため、置き換えられる素片の数が1である。さらに、「おはよう」の場合、従来話者の音声素片/オ//ハ//ヨ//ウ/が置き換えられるため、置き換えられる素片の数が4である。つまり、「こんにちは」、「こんばんは」、「おはよう」の3つのテキストについては、「おはよう」をユーザに読み上げさせるのが最も効率よく素片を置き換えられるということになる。
【0056】
さらに、上述の素片置き換え処理2044の説明で挙げた全ての音素間距離評価尺度についても、同じように置き換えられる素片の数を計算(予測)し、最適な読み上げテキストを探索できる。
【0057】
なお、「”置きかえられる素片の数を最大にする”テキストを選択する」というテキスト評価ルールは、ユーザ素片の数が多ければ多いほど、合成時に使われる確率が高くなるという仮説を基にしている。しかし、実際に音声DBに各音声素片の使われる確率がかなり異なっていることが分かっている。例えば、5万文書を音声合成した場合、5000回以上使われた音声素片もあれば、1回も使われていなかった素片もある。同じ数の素片を置き換えられたとしても、使われる頻度の高い素片を置き換えたほうが、よりユーザ素片の使われる確率が向上できる。そのため、音声DBに含まれているすべての素片について、使われる頻度(確率)を付与(計算)する。
【0058】
したがって、「”置きかえられる素片の使用頻度を最大にする”テキストを選択する」というルールにすると、より効率よく音声DB206を更新することができる。例えば、素片/ハ゛//オ//ハ//ヨ//ウ/の使用頻度がそれぞれ100,30,15,13,20だとする。テキストコーパスの中にある「こんにちは」、「こんばんは」、「おはよう」の3つのテキストについて、ユーザが読み上げた音声を用いて音声DB206を更新する場合に、置き換えられる従来話者音声素片の使用頻度(合計値)を計算(予測)する。まず、「こんにちは」の場合、置き換えられる従来話者の音声素片が存在しないため、置き換えられる素片の使用頻度がゼロである。そして、「こんばんは」の場合、従来話者の音声素片/バ/が置き換えられるため、置き換えられる素片の使用頻度が100である。一方、「おはよう」の場合、従来話者の音声素片/オ//ハ//ヨ//ウ/が置き換えられるため、置き換えられる素片の頻度が30+15+13+20=78である。つまり、「こんにちは」、「こんばんは」、「おはよう」の3つのテキストについて、「こんばんは」をユーザに読み上げさせるのが最も効率よく素片を置き換えられることになる。
【0059】
<ユーザ音声DB作成装置の全体処理>
図9は、ユーザ音声DB作成装置で実行される処理の全体的概要を示す図である。
図9に示されるように、ユーザ音声DB作成装置100では、初回の処理(既存DBの選択(初期化処理903))以降、テキストを話者(ユーザ)に提示するテキスト提示処理901と、音声収録処理902と、DB更新処理904と、テキスト評価処理905と、テキスト生成処理906が繰り返される。なお、各処理の詳細については既に説明したので、ここでは再度説明しない。
【0060】
このような処理を繰り返していくことにより、音声DB206に含まれるユーザ声の素片の比率の大きくなっていく。したがって、音声DB206を用いて生成された合成音声は、高音質を保ちながら、ユーザの声に近づけることが可能である。
【0061】
<その他>
本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0062】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【0063】
さらに、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【0064】
最後に、ここで述べたプロセス及び技術は本質的に如何なる特定の装置に関連することはなく、コンポーネントの如何なる相応しい組み合わせによってでも実装できることを理解する必要がある。更に、汎用目的の多様なタイプのデバイスがここで記述した教授に従って使用可能である。ここで述べた方法のステップを実行するのに、専用の装置を構築するのが有益であることが判るかもしれない。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。本発明は、具体例に関連して記述したが、これらは、すべての観点に於いて限定の為ではなく説明の為である。本分野にスキルのある者には、本発明を実施するのに相応しいハードウェア、ソフトウェア、及びファームウエアの多数の組み合わせがあることが解るであろう。例えば、記述したソフトウェアは、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0065】
さらに、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。