(57)【要約】【課題】１文の全ての音声合成処理が終わるまで待つことなく、合成音声の再生途中であっても、音声が途切れることなく合成音声を出力することができるようにする。【解決手段】本発明の音声合成システムは、入力文の入力を行う入力手段と、入力文を、１又は複数の合成単位の分割文に分割する文分割手段と、文分割手段により分割された分割文毎に各音波形データを生成する１又は複数の音合成手段と、音合成手段からの各音波形データを組み合わせて合成音声を出力する音声再生手段と、音合成手段による音波形データ生成処理の応答性と、音声再生手段による合成音声の形成処理の応答性とに基づき、合成音声出力処理のスケジューリングを行う再生制御手段とを備え、音声再生手段が、再生制御手段による合成音声出力処理のスケジューリングに従って、上記合成音声を出力することを特徴とする。【選択図】      図１
2011075870.tif 000002
【特許請求の範囲】
【請求項１】
入力文の入力を行う入力手段と、
上記入力文を、１又は複数の合成単位の分割文に分割する文分割手段と、
上記文分割手段により分割された上記分割文毎に上記各音波形データを生成する１又は複数の音合成手段と、
上記音合成手段からの上記各音波形データを組み合わせて合成音声を出力する音声再生手段と、
上記音合成手段による上記音波形データ生成処理の応答性と、上記音声再生手段による合成音声の形成処理の応答性とに基づき、合成音声出力処理のスケジューリングを行う再生制御手段と
を備え、
上記音声再生手段が、上記再生制御手段による上記合成音声出力処理のスケジューリングに従って、上記合成音声を出力することを特徴とする音声合成システム。
【請求項２】
上記再生制御手段は、上記音波形データの生成処理の応答性が、上記合成音声の形成処理の応答性よりも良い場合、上記音合成手段による先頭の上記分割文の音波形データの生成タイミングで、当該分割文の合成音声を出力させることを特徴とする請求項１に記載の音声合成システム。
【請求項３】
上記再生制御手段は、上記合成音声の形成処理の応答性が、上記音波形データの生成処理の応答性よりも良い場合、最後の上記分割文の音波形データを基点として逆算して得られたタイミングで、合成音声を出力させることを特徴とする請求項１又は２に記載の音声合成システム。
【請求項４】
音波形データを生成する音合成手段を備えるサーバからの音波形データに基づいて合成音声を生成する音声合成装置において、
入力文の入力を行う入力手段と、
上記入力文を、１又は複数の合成単位の分割文に分割して上記サーバに与える文分割手段と、
上記サーバの上記音合成手段からの上記分割文毎の上記各音波形データを組み合わせて合成音声を出力する音声再生手段と、
上記音合成手段による上記音波形データ生成処理の応答性と、上記音声再生手段による合成音声の形成処理の応答性とに基づき、合成音声出力処理のスケジューリングを行う再生制御手段と
を備え、
上記音声再生手段が、上記再生制御手段による上記合成音声出力処理のスケジューリングに従って、上記合成音声を出力することを特徴とする音声合成装置。
【請求項５】
コンピュータを、
入力文の入力を行う入力手段、
上記入力文を、１又は複数の合成単位の分割文に分割する文分割手段、
上記文分割手段により分割された上記分割文毎に上記各音波形データを生成する１又は複数の音合成手段、
上記音合成手段からの上記各音波形データを組み合わせて合成音声を出力する音声再生手段、
上記音合成手段による上記音波形データ生成処理の応答性と、上記音声再生手段による合成音声の形成処理の応答性とに基づき、合成音声出力処理のスケジューリングを行う再生制御手段
とし、
上記音声再生手段が、上記再生制御手段による上記合成音声出力処理のスケジューリングに従って、上記合成音声を出力するように機能させることを特徴とする音声合成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声合成システム、音声合成装置及び音声合成プログラムに関し、例えば、入力されたテキストデータに対応する合成音声を出力する音声合成システム、音声合成装置及び音声合成プログラムに適用し得るものである。
【背景技術】
【０００２】
従来、人間らしい自然な合成音声を生成してスピーカ出力するコーパスベース音声合成方法が提案されている。このような音声合成技術として、例えば特許文献１に記載の技術がある。
【０００３】
特許文献１には、音声合成の生成の際に、合成単位である音素片を合成した音素系列に対してコスト関数を用いて数値化し、その総和に基にして、よりよい値となる状態の音声を自動的に生成する技術が記載されている。これにより、特定の声質・口調を再現することができ、より自然な人間らしい合成音声を形成することができる。
【０００４】
従来、コーパスベース音声合成処理における応答時間特性は、素片選択処理の複雑さにより決定される。この素片選択処理は、組み合わせ最適化問題であり、一般にＮＰ困難である。
【０００５】
これに対して、特許文献１の記載技術は、枝刈りなどの方法により多項式時間にて完了する方法が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−２０８１８８号公報
【特許文献２】特開２００６−４７９１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、コーパスベース音声合成処理は、大量のコンピュータ処理を前提に最適化された音声合成処理方法であり、テキストが入力され、その入力に対応する音声波形が生成するまでに大きな処理を要し、音声出力の際の処理遅延が発生する。
【０００８】
このため、リアルタイムな応答が要求される音声対話システムにおいては、この処理遅延が、例えば、妥当な間（ま）を制御できない、などの現象として現れ、スムーズな対話を阻害する大きな要因となっている。
【０００９】
この課題の解決策として、ある１文を音声合成するに際し、枝刈り（プルーニング）により処理範囲を限定することで合成音声の一部波形を先頭から順に確定する方法等が提案されている（特許文献２参照）。枝刈りによる処理は、コーパスから合成単位である音素片を選択する際に、所定の選択アルゴリズムにより検索空間を動的に小さくなるようにする処理である。
【００１０】
これにより、膨大なコーパスからの検索負担を軽減し、１文の全ての波形生成処理を待たずにして、確定部分の波形をその都度スピーカ出力することができ、コーパスベース音声合成部の応答性能を高めることができる。
【００１１】
しかし、上記の枝刈りによる処理は、音声合成処理の大きな割合を占める素片選択処理において実施するものであるため、音声品質（音質）を劣化させる要因となる。
【００１２】
また、スピーカ出力するマシン（クライアント）から制御できない環境に音声合成部が配置される場合、例えばネットワーク上に置かれたアプリケーションサーバとして音声合成サービスを提供する場合、ネットワークの遅延やパケットロス、サーバにおける同時処理による音声合成処理へのリソース割り当ての減少などが発生するなど、クライアントにおける応答性能はネットワーク各ノードのリソース状況に依存するため、クライアントでの応答性能を保証することができない。
【００１３】
そのため、１文の全ての音声合成処理が終わるまで待つことなく、合成音声の再生途中であっても、音声が途切れることなく合成音声を出力することができ、更に複数台のサーバを利用する等の分散処理システムにおいても、システムの可用性とスケーラビリティを向上できる音声合成システム、音声合成装置及び音声合成プログラムが求められている。
【課題を解決するための手段】
【００１４】
かかる課題を解決するために、第１の本発明の音声合成システムは、（１）入力文の入力を行う入力手段と、（２）入力文を、１又は複数の合成単位の分割文に分割する文分割手段と、（３）文分割手段により分割された分割文毎に各音波形データを生成する１又は複数の音合成手段と、（４）音合成手段からの各音波形データを組み合わせて合成音声を出力する音声再生手段と、（５）音合成手段による音波形データ生成処理の応答性と、音声再生手段による合成音声の形成処理の応答性とに基づき、合成音声出力処理のスケジューリングを行う再生制御手段とを備え、音声再生手段が、再生制御手段による合成音声出力処理のスケジューリングに従って、上記合成音声を出力することを特徴とする。
【００１５】
第２の本発明の音声合成装置は、音波形データを生成する音合成手段を備えるサーバからの音波形データに基づいて合成音声を生成する音声合成装置において、（１）入力文の入力を行う入力手段と、（２）入力文を、１又は複数の合成単位の分割文に分割してサーバに与える文分割手段と、（３）サーバの音合成手段からの分割文毎の各音波形データを組み合わせて合成音声を出力する音声再生手段と、（４）音合成手段による音波形データ生成処理の応答性と、音声再生手段による合成音声の形成処理の応答性とに基づき、合成音声出力処理のスケジューリングを行う再生制御手段とを備え、音声再生手段が、再生制御手段による合成音声出力処理のスケジューリングに従って、合成音声を出力することを特徴とする。
【００１６】
第３の本発明の音声合成プログラムは、コンピュータを、（１）入力文の入力を行う入力手段、（２）入力文を、１又は複数の合成単位の分割文に分割する文分割手段、（３）文分割手段により分割された分割文毎に各音波形データを生成する１又は複数の音合成手段、（４）音合成手段からの各音波形データを組み合わせて合成音声を出力する音声再生手段、（５）音合成手段による音波形データ生成処理の応答性と、音声再生手段による合成音声の形成処理の応答性とに基づき、合成音声出力処理のスケジューリングを行う再生制御手段とし、音声再生手段が、再生制御手段による合成音声出力処理のスケジューリングに従って、合成音声を出力するように機能させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、１文の全ての音声合成処理が終わるまで待つことなく、合成音声の再生途中であっても、音声が途切れることなく合成音声を出力することができる。また、本発明によれば、複数台のサーバを利用する等の分散処理システムにおいても、システムの可用性とスケーラビリティを向上できる。
【図面の簡単な説明】
【００１８】
【図１】実施形態の音声合成システムの構成を示す構成図である。
【図２】実施形態のテキスト分割情報テーブルの構成を示す構成図である。
【図３】実施形態の音声合成処理を示すフローチャートである。
【図４】実施形態の文分割処理を示すフローチャートである。
【図５】実施形態の予測時間長（生産予測時間長、消費予測時間長）の算出を説明する説明図である。
【図６】実施形態の先頭無音時間の算出方法を説明するフローチャートである。
【図７】実施形態の波形生成処理が速い場合の先頭無音時間算出の概念を示す図である。
【図８】実施形態の波形生成処理が遅い場合の先頭無音時間算出の概念を示す図である。
【図９】実施形態の波形生成処理が遅い場合に複数のサーバが音波形データを生成するときの先頭無音時間算出の概念を示す図である。
【発明を実施するための形態】
【００１９】
（Ａ）主たる実施形態
以下では、本発明の音声合成システム、音声合成装置及び音声合成プログラムの主たる実施形態について図面を参照しながら説明する。
【００２０】
この実施形態は、例えば、利用者のクライアント端末とサーバ装置との間で、サーバ装置がクライアント端末から受け取った入力文（例えばテキスト文等）に対する音波形データを生成し、クライアント端末が音波形データに基づいて音声を出力する対話システムの音声合成システムに本発明を利用した場合の実施形態を例示する。
【００２１】
従来は、入力文に対応する音声波形が形成されるまで待ってから音声出力（再生）を行っていた。
【００２２】
これに対して、この実施形態は、入力文を、単独で音声合成できる短い処理単位の文（以下、「短文」又は「分割文」ともいう）に分割し、さらに後続文の合成音声の再生完了時刻を予測することにより、入力文に対して音声波形が形成される前に、合成音声の再生をすることが可能となり、音声合成処理の待ち時間を短縮することができる。
【００２３】
また、低能力のコンピュータやネットワークサーバに音声合成処理部が配置された場合などにおいても、システムとして安定した音声合成サービスを提供できるアーキテクチャである。
【００２４】
（Ａ−１）実施形態の構成
図１は、実施形態の音声合成システムの構成を示す構成図である。図１において、実施形態の音声合成システム１は、クライアント端末１００と、サーバ装置１１０とを有して構成される。
【００２５】
図１において、クライアント端末１００とサーバ装置１１０との間で情報を授受して、入力文に対する音声を出力する対話システムの場合を例示する。図１の場合、クライアント端末１００とサーバ装置１１０とは、ネットワーク（例えば、インターネットや専用網等）を通じて接続されているものとする。
【００２６】
なお、図１では、対話システムの場合を例示するが、後述するクライアント端末１００とサーバ装置との機能を、物理的に同一の情報処理装置（例えばパーソナルコンピュータ等）が実現するようにしてもよい。
【００２７】
クライアント端末１００は、利用者が利用する端末であり、サーバ装置１１０との間で情報の授受を行い入力文に対する合成音声を出力する音声合成処理機能を有するものである。
【００２８】
ここで、クライアント端末１００の音声合成処理機能としての主な機能構成は、図１に示すように、入力部１０１、文分割部１０２、データ格納部１０３、再生制御部１０４、出力部１０５、通信部１０６を少なくとも有する。
【００２９】
なお、クライアント端末１００の音声合成処理機能は、ソフトウェア処理により実現されるものであり、例えば、クライアント端末１００は、通常の情報処理装置と同様に、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ等を有して構成される。そして、ＣＰＵが、ＲＯＭに格納される処理プログラムを必要なデータを用いて実行することにより後述する各種処理を実現する。
【００３０】
入力部１０１は、入力文の入力を受け付ける処理部又は装置である。入力部１０１は、例えば、クライアント端末１００のキーボード等の入力装置から入力されたテキスト文字列（以下では、入力テキストともいう）を入力する。
【００３１】
文分割部１０２は、入力部１０１からの入力テキストを、単独で音声合成することができる１又は複数の合成単位に分割するものである。文分割部１０２による文分割処理は、１文の入力テキストを合成単位に分割することができれば、種々の方法を適用することができ、その一例については、後述する動作説明の欄で詳細に説明する。なお、文分割部１０２により分割されたテキスト文を「短文」又は「分割文」という。
【００３２】
データ格納部１０３は、入力テキストを分割した各短文に関する情報を示すテキスト分割情報テーブルを格納するメモリ上の記憶領域である。
【００３３】
図２は、テキスト分割情報テーブルの構成例を説明する説明図である。図２に示すように、テキスト分割情報テーブルは、「短文」、「無音長」、「生産予測時間長」、「消費予測時間長」を項目とし、これらを一連のデータを対応付けて格納する。なお、テキスト分割情報テーブルは、上記の項目に限定されるものではなく、他の対応データを保持するようにしてもよい。
【００３４】
「短文」は、文分割部１０２が分割した各短文を格納するものであり、「無音長」は、短文とその後に続く後続文との間に挿入される無音時間を格納する。「無音長」には、文分割部１０２により文分割処理の際に、挿入すべき無音時間が求められて、この無音時間が「無音長」に入力される。なお、「無音長」には、例えばｂｉｔ／ｓ等のＣＰＵ時間を挿入しても良いし、秒などの時間をそのまま格納しても良い。
【００３５】
「生産予測時間長」は、サーバ装置１１０による各短文の音波形データの生成予測時間長を格納する。「生産予測時間長」には、後述するサーバ装置１１０のヘッダ生成部１１１が予測した時間長を受け取り格納される。なお、「生産予測時間長」には、例えばｂｉｔ／ｓ等のＣＰＵ時間を挿入しても良いし、秒などの時間をそのまま格納しても良い。
【００３６】
「消費予測時間長」は、クライアント端末１００による各短文の音波形データを組み合わせて音声波形を形成して出力するまでに要する予測時間長を格納する。「消費予測時間長」には、文分割部１０２による分割処理結果から導かれた、各短文のモーラ位置及びモーラ数に応じて得られた消費予測時間長を格納する。なお、「消費予測時間長」には、例えばｂｉｔ／ｓ等のＣＰＵ時間を挿入しても良いし、秒などの時間をそのまま格納しても良い。
【００３７】
再生制御部１０４は、サーバ装置１１０から受け取った各短文に対する音波形データを組み合わせて、入力文に対する音声波形を形成して合成音声を出力させるものである。
【００３８】
図１に示すように、再生制御部１０４は、その機能構成として、無音時間算出部２１、無音時間挿入部２２、音声データ再生部２３を少なくとも有する。
【００３９】
無音時間算出部２１は、入力文に対する合成音声を出力する際、テキスト分割情報テーブルを参照して、各短文の音波形データの生成処理の応答性と音声合成の形成処理の応答性とを元に、滞りのない合成音声を出力するスケジューリングを行い、そのための無音時間を算出するものである。なお、無音時間算出部２１による無音時間の算出方法は、テキスト分割情報テーブルから、各短文の生産予測時間長の総和と、（各短文の消費予測時間長＋無音長）の総和との比較結果に応じて求めるが、その詳細な説明は後述する動作の項で説明する。
【００４０】
無音時間挿入部２２は、無音時間算出部２１が算出した無音時間を先頭無音時間として音声データ再生部２３に挿入するものである。また、無音時間挿入部２２は、テキスト分割情報テーブルに格納されている無音長に基づく無音時間を、短文と短文との間の無音時間として音声データ再生部２３に挿入するものである。
【００４１】
音声データ再生部２３は、無音時間挿入部２２に挿入された無音時間経過後に、各短文の音波形データを接続して合成した音声の出力を行うものである。音声データ再生部２３は、短文と短文との無音時間については、テキスト分割情報テーブルに格納されている無音長だけ無音時間を挿入した後、後続する短文の音波形データを組み合わせる。
【００４２】
出力部１０５は、再生制御部１０４の制御を受けて、合成された音声を出力する処理部及び装置である。出力部１０５は、例えば、スピーカ等の音声出力装置が該当する。
【００４３】
通信部１０６は、通信回線を介して、サーバ装置１１０との間で情報授受を行うものである。通信部１０６は、有線回線又は無線回線のいずれかを適用することができ、通信プロトコルは特に限定されることなく、広く適用することができる。
【００４４】
次に、サーバ装置１１０の内部構成を図１を参照しながら説明する。
【００４５】
サーバ装置１１０は、クライアント端末１００から受け取った短文に対応する音波形データを生成し、この音波形データをクライアント端末１００に与える音声合成処理機能を有するものである。
【００４６】
ここで、サーバ装置１１０の音声合成処理機能の主な機能として、図１に示すように、ヘッダ生成部１１１、音声合成部１１３及び状態保持部１１４を有するデータ処理部１１２、音素片記憶部１１５、通信部１１６とを有するものである。
【００４７】
なお、サーバ装置１１０の音声合成処理機能も、ソフトウェア処理により実現可能なものであり、例えば、サーバ装置１１０も通常の情報処理装置と同様に、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ等を備え、ＣＰＵが、ＲＯＭに格納される処理プログラムを必要なデータを用いて実行することにより各種処理を実現する。
【００４８】
ヘッダ生成部１１１は、クライアント端末１００との間でデータの授受を行うために必要な情報（以下、これをヘッダ情報ともいう）の生成を行うものである。
【００４９】
生成予測部１１１ａは、後述するデータ処理部１１２の音声合成部１１３による各短文の音波形データの生成処理に係る予測時間（以下、生産予測時間長）を予測するものである。生成予測部１１１ａによる生産予測時間長の求める方法は、種々の方法を適用することができる。一般に、音波形データの生成時間は、ＣＰＵの処理能力や、メモリ容量や、コーパスの大きさなどのリソース応答によって異なる。そこで、生産予測時間長の求める方法の一例として、サーバ装置１１０のデータ処理能力に応じて、合成音声処理に係る応答性を統計的に求めておき、その統計的な応答性に応じて予測する方法を用いた。
【００５０】
データ処理部１１２は、各短文に対する音波形データを生成するデータ処理部又は装置であり、音声合成部１１３と状態保持部１１４とを有する。
【００５１】
音声合成部１１３は、各短文に対する音波形データの生成を実行する処理部である。音声合成部１１３の音声合成方法は、種々の方法を広く適用することができる。例えば、音声合成部１１３は、各短文を受け取ると、各短文（テキスト文）に対して、形態素解析や係り受け解析を行い、又各短文（テキスト文）に対する音素記号やアクセント記号等への変換を行う。そして、音声合成部１１３は、音素片記憶部１１５から対応する音素片を選択して音波形データを生成するものである。
【００５２】
状態保持部１１４は、音声合成部１１３の音声合成に係る作業状態のモニタリングし、その作業状態を保持するものである。
【００５３】
音素片記憶部１１５は、音素片データを記憶する記憶領域である。
【００５４】
通信部１１６は、通信回線を介してクライアント端末１００と情報の授受を行うものであり、通信部１０６に対応するものである。
【００５５】
（Ａ−２）実施形態の動作
次に、実施形態に係る音声合成システム１の音声合成処理の動作を図面を参照しながら説明する。
【００５６】
図３は、実施形態に係る音声合成システム１の音声合成処理を示すフローチャートである。
【００５７】
まず、利用者は、クライアント端末１００を用いて所望の入力文を入力する（ステップＳ２０１）。
【００５８】
クライアント端末１００において、文分割部１０２は、入力テキストを、１つ以上の単独で音声合成できる短い単位に分割する（ステップＳ２０２）。
【００５９】
図４は、文分割部１０２による入力テキストを１又は複数の短文に分割する処理を説明するフローチャートである。この実施形態では、１文の入力テキストに対して呼気段落を推定し、各呼気段落毎に分割する場合を例示する。
【００６０】
図４において、まず、入力テキストに対して、予め設定した文区切り文字にて文を分割し、ここで分割した文を１文として１文単位にデータ格納部１０３のテキスト分割情報テーブルに格納する（ステップＳ３０１）。ここで、文区切り文字とは、入力テキストから１文を抜き出すための文字であり、例えば句点「。」や「．」等をいう。
【００６１】
次に、文分割部１０２は、ステップＳ３０１により文区切りされた各文に対して、形態素解析を行い、呼気段落区切り位置を求める（ステップＳ３０２）。なお、文分割部１０２は、必要に応じて、係り受け解析処理、音素記号やアクセント記号等に変換する処理を行うようにしてもよい。
【００６２】
ここで、呼気段落位置の検出方法としては、人間が発声する際の自然な区切りを検出することができれば、種々の方法を適用することができるが、例えば、この実施形態では統計モデルによる呼気段落の推定方法を用いることとする。
【００６３】
上記呼気段落の推定方法としては、例えば、文献Ａ（Naive  Markov  Modelによるポーズ予測アルゴリズム  Pause  Prediction  Algorithm  Based  On  Markov  Model  、日本音響学会２００５年秋季研究発表会講演論文集、ｐｐ．３４９−３５０，２００５）に記載の技術を適用することができる。この文献Ａの記載技術によれば、ポーズ付きアクセント句を予測することができる。
【００６４】
そこで、文分割部１０２は、１文の入力テキストに対して、形態素解析を行い、文献Ａの記載技術を利用してポーズ付きアクセント句の位置を予測し、その位置を呼気段落位置と推定し、そのポーズが出現する個々の文のモーラ位置を呼気段落区切り位置とする。これにより、１文の入力テキストを呼気段落単位で分割することができる。
【００６５】
また、文分割部１０２は、入力テキストの全ての文に対して呼気段落単位に分割し（ステップＳ３０３）、全てのテキスト文に対して完了すると、各入力テキストについて呼気段落単位のテキスト（短文）及び後続する無音長をテキスト分割情報テーブルに格納する（ステップＳ３０４）。
【００６６】
ステップＳ２０３では、文分割部１０２により分割された入力テキストの各短文が、通信部１０６を介してサーバ装置１１０に送信される。なお、全ての入力テキストの各短文がサーバ装置１１０に送信される。
【００６７】
サーバ装置１１０では、ヘッダ生成部１１１の生成予測部１１１ａにより、各短文に対する音声合成処理に係る生産予測時間長が算出される。また、生成予測部１１１ａにより生成された各短文の生産予測時間長は、ヘッダ情報としてクライアント端末１００に送信される。
【００６８】
一方、クライアント端末１００では、文分割部１０２により分割された各短文に対する音声波形の形成に係る消費予測時間長が算出される。そして、再生制御部１０４は、各短文の生産予測時間長及び消費予測時間長をテキスト分割情報テーブルに格納する。
【００６９】
ここで、各短文の生産予測時間長の算出方法を説明する。各短文の生産予測時間長の算出時間の求め方は、種々の方法を適用することができ、例えば、サーバ装置１００のデータ処理能力に応じて統計的に求めた応答特性を利用することができる。
【００７０】
例えば、生成予測部１１１ａは、文分割部１０２が文献Ａの記載技術を利用して検出した各短文のモーラ数を元に、サーバ装置１００のデータ処理部１１２の性能に応じた生成予測時間を算出する。
【００７１】
つまり、生成予測部１１１ａは、入力モーラ数に対して、サーバ装置１１０のデータ処理部１１２の音声合成処理性能を示す応答時間特性を予め実験的に保持する。そして、生成予測部１１１ａは、入力モーラ数に対する応答時間特性を参照して、各短文のモーラ数に応じた生成応答予測時間長を求めて、これをクライアント端末１００に送信する。
【００７２】
例えば、図５は、入力モーラ数に対する応答時間特性を説明する説明図である。図５（Ａ）は、サーバ装置１００のデータ処理部１１２の入力モーラ数（横軸）と音声合成処理に係る予測処理時間（縦軸）との関係を示す図である。なお、図５（Ｂ）は、図５（Ａ）の関係を得るための条件である。
【００７３】
図５（Ａ）の場合、例えば、入力モーラ数のデータサンプル数を１０４個とした場合の結果であり、入力モーラ数の最小値を「1.000」、最大値を「36.000」とした場合の結果である。
【００７４】
このような条件において、入力モーラ数に対する音声合成処理に係る応答時間特性を示す回帰式として、Ｙ＝-17.609532＋25.357287Ｘが得られるので、生成予測部１１１ａは、各短文の入力モーラ数を上記回帰式に代入することで、予測処理時間を算出する。
【００７５】
なお、上記回帰式は、サーバ装置１１０のデータ処理能力により異なる。つまり、サーバ装置１１０ハードウェア仕様及びコーパスサイズ等により決まる特性であり、算出する生成予測時間は上記回帰式から得られた時間長に信頼区間の時間長を加えたもの、この実施形態では回帰式から得られた時間長に、例えば３σを加えた時間長を生産予測時間長とする。
【００７６】
また、クライアント端末１００で生成する各短文の消費予測時間長の算出方法も、生産予測時間長の算出方法と同様に、クライアント端末１００のデータ処理能力を実験的に求めた応答特性（回帰式）を用いて求めることができる。
【００７７】
例えば、消費予測時間長を算出する回帰式は、収録音声の発声速度により概ね定まる特性であり、算出する予測時間長はこの回帰式から得られた時間長から信頼区間の時間長を引いたもの、本実施例では回帰式から得られた時間長から２σを引いた時間長を予測音声時間長とする。
【００７８】
ステップＳ２０４では、クライアント端末１００が、ステップＳ２０２で分割した各短文（テキスト）を、短文毎にサーバ装置１２０に送信し、音声合成開始の指令をサーバ装置１１０に対して行う。
【００７９】
サーバ装置１１０では、クライアント端末１００から短文を受け取ると、データ処理部１１２は各短文に対して音声合成処理を開始する（ステップＳ２２２）。
【００８０】
ステップＳ２２２において、データ処理部１１２は、全ての短文に対する音声合成処理が完了するまで（ステップＳ２２３）、各短文の音声合成処理を行い、クライアント端末１００に対して波形データを送信する。
【００８１】
これに対して、クライアント端末１００は波形データをメモリ上に格納する（ステップＳ２１１）。なお、サーバ装置１１０は、各短文に対する音声合成処理を行い、生成の都度、各短文の波形データをクライアント端末１００に送信する。
【００８２】
ステップＳ２０５では、再生制御部１０４が、データ格納部１０３のテキスト分割情報テーブルを参照しながら、再生途中で音声が途切れないように、再生先頭の待ち時間（先頭無音時間）を算出し、音声生成処理のスケジューリングを行う。
【００８３】
ここで、先頭無音時間の算出は、生成予測時間と消費予測時間とを用いて、滞りなく音声を再生するために先頭に挿入すべき音声時間長を算出する。
【００８４】
図６は、再生制御部１０４における先頭無音時間の算出処理の示すフローチャートである。
【００８５】
図６において、再生制御部１０４は、テキスト分割情報テーブルを参照して、各文毎に、呼気段落の生産予測時間長の総和と、呼気段落の（消費予測時間長＋無音長）の総和との比較を行う（ステップＳ４０１）。
【００８６】
そして、各文において、生産予測時間長の総和が（消費予測時間長＋無音長）の総和以下の場合、再生制御部１０４は、サーバ装置１１０からの音波形データが到着するまでの期間を先頭無音時間とする。すなわち、音波形データの生成完了のタイミングが先頭無音時間となる（ステップＳ４０２）。
【００８７】
図７は、生産予測時間長の総和が（消費予測時間長＋無音長）の総和以下の場合の先頭無音時間を説明する説明図である。
【００８８】
図７の場合、生産予測時間長の総和が（消費予測時間長＋無音長）の総和以下の場合とは、サーバ装置１１０での波形生成処理の時間が、クライアント端末１１０での音声再生処理の時間よりも速い場合を示す。この場合、サーバ装置１１０が生成した音波形データは、クライアント端末１００に蓄積されていくことになる。
【００８９】
そこで、この場合、再生制御部１０４は、呼気段落の音波形データの生成完了のタイミング（音波形データの到着するまでの時間）を先頭無音時間とする。これにより、クライアント端末１００は、サーバ装置１１０から音波形データが到着すると直ぐに出力することができるので、全ての入力テキストの音声合成処理を待たずに、合成音声の再生を行うことができる。
【００９０】
例えば、図７（Ａ）はサーバ装置１１０における各短文の音波形データの生成時間長を示し、図７（Ｂ）はクライアント端末１００における音声波形の形成時間長を示す。図７に示すように、サーバ装置１１０の音波形データの生成処理が速い場合、生成した音波形データが蓄積するので、この場合、再生制御部１０４は、先頭に来る短文「むかしむかしのこと。。。」の音波形データの生成完了タイミングまでを先頭無音時間とする。
【００９１】
なお、クライアント端末１００とサーバ装置１１０とがネットワーク接続している場合には、先頭に来る短文の音波形データの到着タイミングまでを先頭無音時間とする。
【００９２】
ステップＳ４０１において、生産予測時間長の総和が（消費予測時間長＋無音長）の総和より大きい場合、再生制御部１０４は、音波形データの生成待ち時間の期待値を先頭無音時間とする。
【００９３】
例えば、再生制御部１０４は、最終短文の生成終了時刻を、最終短文の再生時刻とし（ステップＳ４０３）、最終短文の再生時刻を基点として、その前に来る各短文の消費予測時間長及び無音長を正しい順序で接続させる（ステップＳ４０４）。その結果、音声合成指令時刻から、先頭短文の再生開始時刻までの時間を先頭無音時間とする。
【００９４】
図８は、生産予測時間長の総和が（消費予測時間長＋無音長）の総和より大きい場合の先頭無音時間を説明する説明図である。
【００９５】
図８の場合、生産予測時間長の総和が（消費予測時間長＋無音長）の総和より大きいの場合とは、サーバ装置１１０での波形生成処理の時間が、クライアント端末１１０での音声再生処理の時間よりも遅い場合を示す。
【００９６】
このような状況は、例えば、サーバ装置１１０のＣＰＵが遅い場合や、メモリが少なくページングが発生する場合等、サーバ装置１１０のコンピュータリソースが相対的に不足する場合に発生する。
【００９７】
この場合、サーバ装置１１０による呼気段落毎の音波形データの生成処理が遅れ、クライアント端末１００では、サーバ装置１１０の音波形データの生成待ちの状態となる。この場合、再生制御部１０４は、サーバ装置１１０からの音波形データの生成待ち時間の期待値を、先頭無音時間とする。
【００９８】
図８に示すように、音波形データの生成波形が遅い場合、クライアント端末１００で音波形データの蓄積がなされない。この場合、図７のように逐次合成音声を再生すると、短文（音波形データ）及び無音長と、後続の短文との間に無音期間が生じてしまい、テンポ（間）の悪い音声を出力することになる。そこで、この場合、入力テキストの最後の短文「暮らしていました。」の音波形データの生成タイミングを短文「暮らしていまいた。」の再生開始時刻とする。そして、この短文「暮らしていました。」の再生開始時刻を基準に各短文と各短文の無音長を正しい順序で接続する。その結果、音声合成開始指令から先頭の短文「むかしむかしのこと。。。」の再生開始時刻までを先頭無音時間とする。
【００９９】
図９は、生産予側時間長の総和が（消費予側時間長＋無音長）の総和よりも大きい場合に、複数台（２台）のサーバ装置１１０が音波形データを生成するときの先頭無音時間の算出を説明する説明図である。
【０１００】
図９の例の場合、サーバ１が「むかしむかしのこと。。。」と「鬼の住む丘に、」の音波形データを生成し、サーバ２が「おじいさんとおばあさんが、」と「暮らしていました。」の音波形データを生成するものとする。
【０１０１】
なお、図９では、２台のサーバ装置１１０による処理を示すが、例えば、マルチスレッドやマルチプロセスで行う場合にも適用することができる。このとき、マルチスレッドやマルチプロセス、すなわち１つのＣＰＵリソースにて複数の処理を同時に並行に行う場合、生産予測時間は、その並行処理の最大数での予測値を適用する必要がある。
【０１０２】
図９の場合、１文のうち、最後の短文（呼気段落）である「暮らしていました」のフレーズの生成終了時刻を基点として、先行するそれぞれの短文（呼気段落）の再生予測時間及び呼気段落間の無音長を、先頭の短文（呼気段落）まで逆算していくことで、先頭に挿入する無音時間が算出する。この算出にあたっては、個々の短文（呼気段落）をどのサーバで処理するかの作業スケジューリングにより、算出される先頭無音時間が左右されることになる。
【０１０３】
上記のようにして、再生制御部１０４が先頭無音時間を算出すると、再生制御部１０４は、算出した先頭無音時間を挿入し（ステップＳ２０６）、ステップ２２１に音波形データがデータ格納部１０３に格納されているか否かの確認を行う（ステップＳ２０７）。
【０１０４】
このとき、当該短文に対応する音波形データが格納できていない場合には、再生制御部１０４はサーバ装置１１０のデータ処理部１１２の状態保持部１１４に対して状態の確認を行うと共に、その間無音を挿入しながら、音波形データの格納を待つ（ステップＳ２１２）。例えば、この実施形態では、待ち時間を１００ミリ秒とする。
【０１０５】
一方、当該短文に対応する音波形データが格納できている場合には、再生制御部１０４は、短文に対する音波形データを組み合わせて合成音声を再生し、スピーカ等の出力部１０５から合成音声を出力する（ステップＳ２０８）。
【０１０６】
なお、ステップＳ２０９では、ステップＳ２０６からステップＳ２０８までの処理を、全ての短文について完了したことを確認し、この実施形態の音声合成処理を終了する。
【０１０７】
（Ａ−３）実施形態の効果
上記のように、この実施形態によれば、全ての音声合成が終わるまで待つことなく、また仮にサーバが非力なマシン仕様であっても再生途中に音声が途切れることを防止できるため、サービス品質を保持することができる。
【０１０８】
さらに、実施形態によれば、サーバを複数台利用するなどの分散処理を行うことが可能で、システムの可用性とスケーラビリティを向上させることができる。
【０１０９】
（Ｂ）他の実施形態
上述した実施形態において、クライアント端末の入力部が、例えばキーボード等の入力部の場合を例示した。しかし、入力部は、例えば、音声認識処理により得られた音声認識結果（入力テキスト）を入力する処理部であってもよい。また、入力部は、対話文自動生成システムの出力を入力する処理部であってもよい。
【０１１０】
また、上述した実施形態では、生産予測時間長及び消費予測時長の算出方法として、線形単回帰分析を用いたが、非線形特性の応答特性の場合にも、例えば予め特性値のロジット変換などを施すなど、線形応答特性に変換することにより、本実施例と同様の処理にて予測時間を算出することができる。
【０１１１】
上述した実施形態では、１台のサーバ装置又は複数台のサーバ装置が、音声合成処理を行う場合を例示したが、サーバ装置が、マルチスレッド又はマルチプロセスにより、音声合成処理を行う場合にも同様に適用することができる。
【０１１２】
上述した実施形態では、日本語テキスト文の場合を例示したが、言語は日本語に限定されるものではなく他の言語を広く適用することができる。
【符号の説明】
【０１１３】
１…音声合成ステム、１００…クライアント端末、１１０…サーバ装置、
１０１…入力部、１０２…文分割部、１０３…データ格納部、１０４…再生制御部、
１０５…出力部、１０６…通信部、
２１…無音時間算出部、２２…無音時間挿入部、２３…音声データ再生部、
１１１…ヘッダ生成部、１１１ａ…生成予測部、１１２…データ処理部、
１１３…音声合成部、１１４…状態保持部、１１５…音素片記憶部、１１６…通信部。
【図１】
2011075870.tif 000003
【図２】
2011075870.tif 000004
【図３】
2011075870.tif 000005
【図４】
2011075870.tif 000006
【図５】
2011075870.tif 000007
【図６】
2011075870.tif 000008
【図７】
2011075870.tif 000009
【図８】
2011075870.tif 000010
【図９】
2011075870.tif 000011