(57)【要約】【課題】ユーザから複数のリクエストが同時に届いた場合または長文のリクエストが届いた場合の応答性を維持する。【解決手段】音声変換装置は、複数の音声変換部、管理テーブル、受付部、制御部を備える。前記複数の音声変換部は入力されたリクエストのテキストデータを音声データに変換する。前記管理テーブルには音声変換部毎に使用中か未使用かの使用状態が設定されている。前記受付部は自動音声応答装置からのリクエストを受け付ける。前記制御部は複数のリクエストがほぼ同時に受け付けられた場合、前記管理テーブルを参照して未使用の音声変換部をリクエストの数分検索し、検索された一つの音声変換部に一つのリクエストを処理させる。【選択図】図１
2013057734.tif 000002
【特許請求の範囲】
【請求項１】
発呼する端末、構内交換機および自動音声応答装置とネットワークを介して接続され、前記端末からの着呼が構内交換機から自動音声応答装置に転送され、前記自動音声応答装置が着呼に対する音声を返す際に、前記自動音声応答装置から音声合成のリクエストがあった場合、リクエストされたテキストデータを音声データに変換して前記自動音声応答装置へ返す音声変換装置において、
入力されたリクエストのテキストデータを音声データに変換する複数の音声変換部と、
音声変換部毎に使用中か未使用かの使用状態が設定される管理テーブルと、
前記自動音声応答装置からのリクエストを受け付ける受付部と、
複数のリクエストがほぼ同時に受け付けられた場合、前記管理テーブルを参照して未使用の音声変換部をリクエストの数分検索し、検索された一つの音声変換部に一つのリクエストを処理させる制御部と
を具備することを特徴とする音声変換装置。
【請求項２】
発呼する端末、構内交換機および自動音声応答装置とネットワークを介して接続され、前記端末からの着呼が構内交換機から自動音声応答装置に転送され、前記自動音声応答装置が着呼に対する音声を返す際に、前記自動音声応答装置から音声合成リクエストがあった場合、リクエストされたテキストデータを音声データに変換して前記自動音声応答装置へ返す音声変換装置において、
入力されたリクエストのテキストデータを音声データに変換する複数の音声変換部と、
音声変換部毎に、使用中か未使用かの使用状態が設定され、分割識別子が設定可能な管理テーブルと、
前記自動音声応答装置からのリクエストを受け付ける受付部と、
受け付けられたリクエストのテキストデータのデータ量が予め設定された閾値を超える場合、前記管理テーブルを参照して未使用の音声変換部を検索し、前記未使用の音声変換部が二つ以上検索された場合、検索された音声変換部の数分または予め設定されたデータ量以下になるよう前記テキストデータを分割し、分割した各テキストデータに分割識別子を付与してリクエストを生成し、検索された未使用の一つの音声変換部に、分割した一つのリクエストを処理させる制御部と
を具備する音声変換装置。
【請求項３】
発呼する端末、構内交換機および自動音声応答装置とネットワークを介して接続され、前記端末からの着呼が構内交換機から自動音声応答装置に転送され、前記自動音声応答装置が着呼に対する音声を返す際に、前記自動音声応答装置から音声合成のリクエストがあった場合、リクエストされたテキストデータを音声データに変換して前記自動音声応答装置へ返す音声変換システムにおいて、
前記ネットワークに接続され、受信されたリクエストのテキストデータを音声データに変換してリクエスト送信元へ返信する複数の音声変換装置と、
前記ネットワークに接続され、前記音声変換装置毎に使用中か未使用かの使用状態が設定された管理テーブルと、前記自動音声応答装置からのリクエストを受け付ける受付部と、複数のリクエストがほぼ同時に受け付けられた場合、前記管理テーブルを参照して未使用の音声変換装置をリクエストの数分検索し、検索された一つの音声変換装置に一つのリクエストを割り振る制御部と、前記制御部により割り振られたリクエストを処理させる音声合成装置へ送信する通信部とを備える音声合成制御装置と
を具備することを特徴とする音声変換システム。
【請求項４】
発呼する端末、構内交換機および自動音声応答装置とネットワークを介して接続され、前記端末からの着呼が構内交換機から自動音声応答装置に転送され、前記自動音声応答装置が着呼に対する音声を返す際に、前記自動音声応答装置から音声合成リクエストがあった場合、リクエストされたテキストデータを音声データに変換して前記自動音声応答装置へ返す音声変換システムにおいて、
前記ネットワークに接続され、受信されたリクエストのテキストデータを音声データに変換してリクエスト送信元へ返信する複数の音声変換装置と、
音声変換部毎に、使用中か未使用かの使用状態が設定され、分割識別子が設定可能な管理テーブルと、前記自動音声応答装置からのリクエストを受け付ける受付部と、受け付けられたリクエストのテキストデータのデータ量が予め設定された閾値を超える場合、前記管理テーブルを参照して未使用の音声変換装置を検索し、前記未使用の音声変換装置が二つ以上検索された場合、検索された音声変換装置の数分または予め設定されたデータ量以下になるよう前記テキストデータを分割し、分割した各テキストデータに分割識別子を付与してリクエストを生成し、検索された未使用の一つの音声変換装置に、分割した一つのリクエストを割り振る制御部と、前記制御部により割り振られたリクエストを処理させる音声合成装置へ送信する通信部とを備える音声合成制御装置と
を具備する音声変換システム。
【請求項５】
発呼する端末、構内交換機および自動音声応答装置とネットワークを介して接続され、前記端末からの着呼が構内交換機から自動音声応答装置に転送され、前記自動音声応答装置が着呼に対する音声を返す際に、前記自動音声応答装置から音声合成のリクエストがあった場合、リクエストされたテキストデータを音声データに変換して前記自動音声応答装置へ返す音声変換装置に処理を実行させるプログラムにおいて、
前記音声変換装置を、
入力されたリクエストのテキストデータを音声データに変換する複数の音声変換部と、
音声変換部毎に使用中か未使用かの使用状態が設定される管理テーブルと、
前記自動音声応答装置からのリクエストを受け付ける受付部と、
複数のリクエストがほぼ同時に受け付けられた場合、前記管理テーブルを参照して未使用の音声変換部をリクエストの数分検索し、検索された一つの音声変換部に一つのリクエストを処理させる制御部
として機能させることを特徴とするプログラム。
【請求項６】
発呼する端末、構内交換機および自動音声応答装置とネットワークを介して接続され、前記端末からの着呼が構内交換機から自動音声応答装置に転送され、前記自動音声応答装置が着呼に対する音声を返す際に、前記自動音声応答装置から音声合成のリクエストがあった場合、リクエストされたテキストデータを音声データに変換して前記自動音声応答装置へ返す音声変換装置における音声変換支援方法において、
前記自動音声応答装置からのリクエストを受付部が受け付けるステップと、
複数のリクエストがほぼ同時に受け付けられた場合、入力されたリクエストのテキストデータを音声データに変換する複数の音声変換部のうち、音声変換部毎に使用中か未使用かの使用状態が設定された管理テーブルを制御部が参照して未使用の音声変換部をリクエストの数分検索し、検索された一つの音声変換部に一つのリクエストを処理させるステップと
を有することを特徴とする音声変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、例えば文字等のキャラクタを音声に変換するサービスに利用される音声変換装置、音声変換システム、プログラムおよび音声変換方法に関する。
【背景技術】
【０００２】
近年、例えばインターネットなどでは、文字を音声に変換するサービスが開始されており、このサービスには音声合成装置が利用されている。
【０００３】
一般に、音声合成装置は、リクエストを受け付ける音声合成制御部と音声合成処理を実施する音声合成エンジンを備えており、ユーザが端末から送ってきたテキストの文面（文字列）を音声データに変換し、音声信号または音声ファイルとしてユーザの端末へ出力するものである。
【０００４】
ところで、音声合成装置には、音声合成制御部や音声合成エンジンなどが一つしか備えられていないため、例えば複数のリクエストが同時に届いた場合や、長文のリクエストが届いた場合は、現在の音声合成装置の処理性能では、音声変換の処理に時間がかかり、応答性が損なわれるという問題がある。
【０００５】
ネットワーク環境を利用した従来の音声合成技術としては、国別に言語処理を行う言語処理部と音声合成部とを別の計算機に持たせたものの開示がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−１９９９８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明が解決しようとする課題は、ユーザから複数のリクエストが同時に届いた場合または長文のリクエストが届いた場合に、リクエストに対する応答性を維持することができる音声変換装置、音声変換システム、プログラムおよび音声変換方法を提供することにある。
【課題を解決するための手段】
【０００８】
実施形態の音声変換装置は、複数の音声変換部、管理テーブル、受付部、制御部を備える。前記複数の音声変換部は入力されたリクエストのテキストデータを音声データに変換する。前記管理テーブルには音声変換部毎に使用中か未使用かの使用状態が設定されている。前記受付部は自動音声応答装置からのリクエストを受け付ける。前記制御部は複数のリクエストがほぼ同時に受け付けられた場合、前記管理テーブルを参照して未使用の音声変換部をリクエストの数分検索し、検索された一つの音声変換部に一つのリクエストを処理させる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態の音声合成システム全体の構成を示す図である。
【図２】ＴＴＳの構成を示すブロック図である。
【図３】管理テーブルの一例を示す図である。
【図４】同時に受信された複数のリクエストの処理の様子を示す図である。
【図５】図４の場合のＴＴＳの動作を示すフローチャートである。
【図６】長文のリクエストの処理の様子を示す図である。
【図７】図６の場合のＴＴＳの動作を示すフローチャートである。
【図８】第２実施形態の音声合成システム全体の構成を示す図である。
【図９】ＴＴＳと各音声合成装置の構成を示すブロック図である。
【図１０】同時に受信された複数のリクエストの処理の様子を示す図である。
【図１１】長文のリクエストの処理の様子を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、実施形態を詳細に説明する。
（第１実施形態）
図１は第１の実施形態の音声合成システムの構成を示す図である。
【００１１】
図１に示すように、この実施形態の音声合成システムは、サービス利用者（以下「ユーザ」と称す）が操作する顧客端末４１，４２、構内交換機３０（Private Branch eXchange以下「ＰＢＸ３０」と称す）、音声自動応答装置２０（Interactive Voice Response以下「ＩＶＲ２０」と称す）、音声合成（Text To Speech）装置１０（以下「ＴＴＳ装置１０」と称す）、これらの機器を接続するネットワーク７０等から構成されている。
【００１２】
顧客端末４１は、顧客の発信操作によりＰＢＸ３０へリクエストＡを発信（発呼）し、ＰＢＸ３０からの転送を受けたＩＶＲ２０からの自動音声応答を得る。
【００１３】
顧客端末４２は、顧客の発信操作によりＰＢＸ３０へリクエストＢを発信（発呼）し、ＰＢＸ３０からの転送を受けたＩＶＲ２０からの自動音声応答を得る。
【００１４】
ＰＢＸ３０は顧客端末４１，４２からリクエストの着信（着呼）があった場合、それぞれのリクエストをＩＶＲ２０に転送する。
【００１５】
ＩＶＲ２０はＰＢＸ３０から転送されてきたリクエストを受けると、当該リクエストに対する応答処理を行いＰＢＸ３０へ返す。ＩＶＲ２０は、必要に応じてＴＴＳ装置１０へ音声合成のリクエストを出し、音声データを受け取り、それをＰＢＸ３０へ返す。
【００１６】
ＩＶＲ２０とＴＴＳ装置１０は、標準的なプロトコルであるＭＲＣＰｖ２（Media Resource Control Protocol Version 2：draft-ietf-speechsc-ＭＲＣＰv2-24）に基づいて通信する。この場合、ＩＶＲ２０は、ＭＲＣＰクライアント、ＴＴＳ装置１０がＭＲＣＰサーバとして動作する。
【００１７】
ＩＶＲ２０は、ＰＢＸ３０により転送されてきた顧客端末４１，４２からの着信呼に対して応答する。この際、リクエストの応答に音声合成が必要な場合、ＴＴＳ装置１０へ自動的に音声合成のリクエストを送り、ＴＴＳ装置１０から返されてきた音声ファイル（音声データ）を、ＰＢＸ３０を通じて顧客端末４１，４２に送る。
【００１８】
より詳細には、ＩＶＲ２０はリクエストの応答に音声合成が必要な場合、ＳＩＰによるメッセージにてＴＴＳ装置１０へＭＲＣＰ／ＲＴＰのメディアアプリケーション用のセッションの生成をリクエストする。ＴＴＳ装置１０は、ＩＶＲ２０からリクエストを受けて、セッションを確立し、リクエストのテキストデータを音声データに変換して返す。
【００１９】
すなわち、ＩＶＲ２０が着呼に対する音声をＰＢＸ３０に返す際に、ＩＶＲ２０からＴＴＳ装置１０に音声合成のリクエストがあった場合、ＴＴＳ装置１０はリクエストされたテキストデータを音声データに変換してＩＶＲ２０へ返す。
【００２０】
図２に示すように、ＴＴＳ装置１０は、通信部１１、ＳＩＰ（Session Initiation Protocol：RFC3261,etc）制御部１２（以下「ＳＩＰ制御部１２」と称す）、ＭＲＣＰ制御部１３、ＲＴＰ（Real-time Transport Protocol：RFC3550,etc）制御部１４（以下「ＲＴＰ制御部１４と称す）、音声合成制御部１５、メモリ１６、複数の音声変換部としての音声合成エンジン（＃１）１７，音声合成エンジン（＃２）１８、音声合成エンジン（＃ｎ）１９を有している。
【００２１】
ＳＩＰ制御部１２、ＭＲＣＰ制御部１３、ＲＴＰ制御部１４などはプロトコル毎の通信制御部である。これら通信制御部はＩＶＲ２０からのリクエストを受け付ける受付部として機能する。
【００２２】
通信部１１はこれら通信制御部により制御されてネットワーク７０に接続された機器との通信（メッセージのやりとり）を行う。
【００２３】
ＳＩＰ制御部１２は、通信部１１にＳＩＰセッション生成のリクエストが受信された際に、リクエスト送信元のＩＶＲ２０との間でセッションを確立し、ＩＶＲ２０と通信部１１を通じてＳＩＰによる通信を行う。
【００２４】
ＭＲＣＰ制御部１３は、通信部１１により受信されるリクエストの音声合成実施リクエストのＭＲＣＰ ＳＰＥＡＫメソッドを解析し、リクエストの内容を音声合成制御部１５に通知する。ＭＲＣＰ制御部１３は音声合成制御部１５が許可したリクエストの音声合成実施を示すＭＲＣＰ ２００ ＩＮ−ＰＲＯＧＲＥＳＳメソッドをＩＶＲ２０に応答し、ＲＴＰ制御部１４に対して音声合成結果の出力を通知する。
【００２５】
ＲＴＰ制御部１４は、ＭＲＣＰ制御部１３からの通知によりメモリ１６内の音声合成結果を順次ＲＴＰパケットに搭載しＩＶＲ２０へ送信する。
【００２６】
メモリ１６には、リクエストされたテキスト文を分割するための分割条件が予め設定（記憶）されている。分割条件としては、例えば文章を分割すべきおおよその文字数が閾値（例えば１０００文字など）として設定されている。またその閾値を越えて出現する句読点（“。”や“、”）で分割する等の条件が設定されている。
【００２７】
またメモリ１６には、各音声合成エンジン毎に使用中か未使用かの使用状態が設定された管理テーブル１６ａ（図３参照）が格納（設定）されている。  
図３に示すように、管理テーブル１６ａには、エンジンＩＤ、使用中フラグ、処理順情報などが対応して記憶される。エンジンＩＤの欄には、各音声合成エンジンのＩＤが登録されている。例えば音声合成エンジン（＃１）１７のエンジンＩＤを＃１とすると、エンジンＩＤの欄には＃１、音声合成エンジン（＃２）１８のエンジンＩＤを＃２とすると、エンジンＩＤの欄には＃２、音声合成エンジン（＃ｎ）１９のエンジンＩＤを＃ｎとすると、エンジンＩＤの欄には＃ｎが登録されている。
【００２８】
使用中フラグの欄には、各エンジンの使用状態が都度設定される。例えばエンジンＩＤ＃１の音声合成エンジン（＃１）１７が未使用（アイドル状態）であれば“０”、使用中であれば“１”が設定される。
【００２９】
処理順情報の欄には、分割されたメッセージの分割識別子が設定される。例えばリクエストＡのメッセージを２つに分割した場合、リクエストＡ’−１、リクエストＡ’−２等の分割識別子が付与されるので、これらの分割識別子が処理させるエンジンＩＤの処理順情報の欄に設定される。
【００３０】
音声合成制御部１５は、ＭＲＣＰ制御部１３からリクエストの内容を受け取り、メモリ１６の管理テーブル１６ａを参照して複数の音声合成エンジン（＃１）１７，音声合成エンジン（＃２）１８、音声合成エンジン（＃ｎ）１９のうち、どのエンジンで処理を行うかを決定し、リクエストに対する音声合成実施をＭＲＣＰ制御部１３に応答する。
【００３１】
音声合成エンジン（＃１）１７，音声合成エンジン（＃２）１８、音声合成エンジン（＃ｎ）１９は、リクエストされたテキスト文を音声合成（音声変換）し、音声データ（音声ファイル）を生成する。つまりこれらエンジンはそれぞれに入力されたリクエストのテキストデータを音声データに変換する。
【００３２】
音声合成制御部１５は、複数のリクエストがほぼ同時に受け付けられた場合、管理テーブル１６ａを参照して未使用の音声合成エンジンをリクエストの数分検索し、検索された一つの音声合成エンジンに一つのリクエストを処理させる。
【００３３】
音声合成制御部１５は、受け付けられたリクエストのテキストデータのデータ量が予め設定された閾値を超える場合、管理テーブル１６ａを参照して未使用の音声合成エンジンを検索し、未使用の音声合成エンジンが二つ以上検索された場合、検索された音声合成エンジンの数分または予め設定されたデータ量以下になるようテキストデータを分割し、分割した各テキストデータに分割識別子を付与してリクエストを生成し、検索された未使用の一つの音声合成エンジンに、分割した一つのリクエストを処理させる。
【００３４】
以下、第１実施形態の音声合成システムの動作を説明する。
まず、この音声合成システムのプロトコルを考慮した通信動作を説明する。
ある顧客が例えば顧客端末４１を使用し、ＰＢＸ３０に対して発信、つまりリクエストＡを行う。この発信とほぼ同時に他の顧客が顧客端末４２を使用し、ＰＢＸ３０に対して発信、つまりリクエストＢを行ったものとする。
【００３５】
ＰＢＸ３０は顧客端末４１，４２からの着信したリクエストＡおよびリクエストＢをＩＶＲ２０に転送する。
【００３６】
ＩＶＲ２０は、ＰＢＸ３０から転送されてきたリクエストＡおよびリクエストＢに対する応答処理を開始する。
【００３７】
ＩＶＲ２０はＭＲＣＰv2を搭載した装置であり、リクエストＡの応答に音声合成が必要な場合、ＳＩＰによるＭＲＣＰ／ＲＴＰのメディアアプリケーション用のセッションの生成をＴＴＳ装置１０へリクエストする。
【００３８】
ＴＴＳ装置１０では、通信部１１にＳＩＰセッション生成のリクエストを受信した際、ＳＩＰ制御部１２がＭＲＣＰ制御部１３に対してＭＲＣＰ通信準備を要求し、同時にＲＴＰ制御部１４にＲＴＰ通信準備を要求する。音声合成準備の完了を通知されたところでＳＩＰ制御部１２は通信部１１を介してＳＩＰセッション生成の完了メッセージを送信する。
【００３９】
ＩＶＲ２０はリクエストＢの応答に音声合成が必要な場合、ＳＩＰによるメッセージにてＭＲＣＰ/ＲＴＰのメディアアプリケーション用のセッションの生成をＴＴＳ装置１０へリクエストし、ＴＴＳ装置１０では、通信部１１からリクエストを受け取った各制御部が音声合成準備を行う。
【００４０】
ＩＶＲ２０はリクエストＡの応答内容の音声合成を行うテキスト文ＡをＭＲＣＰ ＳＰＥＡＫメソッドによりＴＴＳ装置１０に送信し、また同時にリクエストＢの応答内容の音声合成を実施するテキスト文ＢをＭＲＣＰ ＳＰＥＡＫメソッドによりＴＴＳ装置１０に送信する。
【００４１】
通信部１１が受信したリクエストＡおよびリクエストＢの音声合成実施リクエストのＭＲＣＰ ＳＰＥＡＫメソッドはＭＲＣＰ制御部１３により精査した後、音声合成処理を制御する音声合成制御部１５に通知される。
【００４２】
音声合成制御部１５は管理テーブル１６ａを参照し、未使用“０”（アイドル状態）の音声合成エンジンを検索、つまり音声合成処理が可能な空き音声合成エンジンを検索する。
【００４３】
音声合成制御部１５は、検索の結果、音声合成エンジン（＃１）１７にリクエストＡの音声合成処理を行わせ、音声合成エンジン（＃２）１８にリクエストＢの音声合成処理を行わせる。
【００４４】
音声合成エンジン（＃１）１７からの音声合成実施を音声合成制御部１５が受信した場合、ＭＲＣＰ制御部１３にリクエストＡの音声合成実施を通知する。音声合成エンジン（＃１）１７はリアルタイム音声合成を行うため、入力されたテキスト文の音声合成処理結果を完了した単位で音声合成制御部１５に出力を行う。音声合成制御部１５は出力された音声合成結果を、ＲＴＰ制御部１４と共用するメモリ１６の記憶エリアに書き込む。
【００４５】
音声合成エンジン（＃２）１８からの音声合成結果を音声合成制御部１５が受信した場合、ＭＲＣＰ制御部１３にリクエストＢの音声合成完了を通知する。
【００４６】
ＭＲＣＰ制御部１３はリクエストＡの音声合成実施を示すＭＲＣＰ ２００ ＩＮ−ＰＲＯＧＲＥＳＳメソッドをＩＶＲ２０に応答し、ＲＴＰ制御部１４に対して音声合成結果の出力を通知する。
【００４７】
ＲＴＰ制御部１４はＭＲＣＰ制御部１３からの通知によりメモリ１６内の音声合成結果を順次ＲＴＰパケットに搭載しＩＶＲ２０へ送信する。
【００４８】
同様に、ＭＲＣＰ制御部１３はリクエストＢの音声合成実施を示すＭＲＣＰ ２００ ＩＮ−ＰＲＯＧＲＥＳＳメソッドをＩＶＲ２０に応答し、ＲＴＰ制御部１４に対して音声合成結果の出力を通知し、ＩＶＲ２０へのＲＴＰパケットを送信する。
【００４９】
ＲＴＰ制御部１４がリクエストＡの音声合成結果の出力を全て完了した場合、ＲＴＰ制御部１４はＭＲＣＰ制御部１３に音声合成結果出力完了を通知し、ＭＲＣＰ制御部１３はＩＶＲ２０へリクエストＡの音声合成結果出力完了を通知するためのＭＲＣＰ ＳＰＥＡＫ−ＣＯＭＰＬＥＴＥメソッドを送信する。
【００５０】
同様に、ＲＴＰ制御部１４がリクエストＢの音声合成結果の出力を全て完了した場合、ＲＴＰ制御部１４はＭＲＣＰ制御部１３に音声合成結果出力完了を通知し、ＭＲＣＰ制御部１３はＩＶＲ２０にリクエストＢの音声合成結果出力完了を通知するためのＭＲＣＰ ＳＰＥＡＫ−ＣＯＭＰＬＥＴＥメソッドを送信する。
【００５１】
ここで、図４、図５を参照して複数のリクエストがほぼ同時に受信された場合にリクエスト毎に音声合成処理を分散して行う動作を説明する。
ＴＴＳ装置１０では、ＩＶＲ２０からの音声合成のリクエストＡおよびリクエストＢを通信部１１が受信、つまり受け付けると（図５のステップＳ１０１）、通信部１１は受け付けたリクエストをメモリ１６に一時保持する（ステップＳ１０２）。
【００５２】
続いて、音声合成制御部１５はメモリ１６の管理テーブル１６ａを参照して、使用中フラグの状態から、処理を実施していない音声合成エンジンを検索し（ステップＳ１０３）、音声合成エンジンの空きの有無を確認する（ステップＳ１０４）。
【００５３】
この確認の結果、音声合成エンジンに空きがなければ（ステップＳ１０４のＮｏ）、処理空き待ちとし（ステップＳ１０５）、空きがあれば（ステップＳ１０４のＹｅｓ）、処理させる音声合成エンジンを決定する（ステップＳ１０６）。
【００５４】
例えば直前にリクエストがなければ、音声合成エンジン（＃１）１７，（＃２）１８などは、未使用“０”（アイドル状態）であり、アイドル状態である音声合成エンジン（＃１）１７と音声合成エンジン（＃２）１８のうちＩＤが上位の音声合成エンジン（＃１）１７にリクエストＡの処理を行わせることを決定し、音声合成エンジン（＃２）１８にリクエストＢの処理を行わせることを決定する。
【００５５】
次に、音声合成制御部１５は、管理テーブル１６ａの、処理を行わせる音声合成エンジンのエンジンＩＤに対応する使用中フラグを「使用中」“１”とし、リクエストＡ’とリクエストＢ’を、それぞれ決定した音声合成エンジンに入力する（ステップＳ１０７）。
【００５６】
なお図４において、音声合成制御部１５の前後でリクエストＡ，ＢがリクエストＡ’，Ｂ’に変っているのは、処理のためにリクエストに属性情報（ヘッダ、インデックス、識別子など）が付与されるためであり、基本的なリクエストとしての情報は変らない。
【００５７】
このようにして音声合成制御部１５はリクエストＡ’の処理を音声合成エンジン（＃１）１７に受け渡し、リクエストＢ’の処理を音声合成エンジン（＃２）１８に受け渡すことで、音声合成の処理を分散させる。
【００５８】
音声合成エンジンでの音声合成処理が完了し音声データが戻されると、音声合成制御部１５は、音声合成結果の音声データをメモリ１６に一時保持すると共に、管理テーブル１６ａの、当該エンジンの使用状態を「使用中」から「未使用」に変更する（ステップＳ１０８）。
【００５９】
具体的には、音声合成処理が完了した音声合成エンジンが、例えば音声合成エンジン（＃１）１７であれば、管理テーブル１６ａの、エンジンＩＤ＃１に対応する使用中フラグの状態を「使用中」“１”から「未使用」“０”（アイドル状態）に変更する。
【００６０】
その後、音声合成制御部１５は、音声合成結果の音声データをメモリ１６から読み出してＩＶＲ２０へ送信する（ステップＳ１０９）。
【００６１】
このように同一装置内に複数の音声合成エンジンを搭載し、各エンジンの使用状況を管理することで、音声合成システムとしては複数の音声合成リクエストを複数の音声合成エンジンに分散させることができ、これにより、音声合成システムとしての処理負荷を軽減し音声合成結果となる音声データの出力性能を向上することができる。
【００６２】
続いて、図６、図７を参照して長文のリクエストを分割し音声合成処理を分散して行う動作を説明する。
ＴＴＳ装置１０では、ＩＶＲ２０からの長文のリクエストＡを受信、つまり受け付けると、音声合成制御部１５は受け付けたリクエストＡをメモリ１６に保持する（図７のステップＳ２０１）。
【００６３】
続いて、音声合成制御部１５はメモリ１６から文章の分割条件を読み出し（ステップＳ２０２）リクエストＡの文章が分割条件に適合するか否かを判定する（ステップＳ２０３）。
【００６４】
この判定の結果、リクエストＡのテキストデータ（以下「文章」と称す）が分割条件に適合しない場合（ステップＳ２０３のＮｏ）は、通常の音声合成処理を行う（ステップＳ２０４）。
【００６５】
一方、判定の結果、リクエストＡの文章が分割条件に適合した場合（ステップＳ２０３のＹｅｓ）、音声合成制御部１５はメモリ１６の管理テーブル１６ａを参照して、使用中フラグの状態から、処理を実施していない音声合成エンジンを検索し（ステップＳ２０５）、音声合成エンジンの空きの有無を確認する（ステップＳ２０６）。
【００６６】
この確認の結果、音声合成エンジンに空きがなければ（ステップＳ２０６のＮｏ）、処理空き待ちとし（ステップＳ２０７）、空きがあれば（ステップＳ２０６のＹｅｓ）、処理させる音声合成エンジンを決定する（ステップＳ２０８）。なお音声合成エンジンの具体的な決定の仕方は上記Ｓ１０６の場合と同じである。
【００６７】
次に、音声合成制御部１５は、メモリ１６から読み出した分割条件、検索結果の空きエンジン数に従い文章を分割し、分割した文章それぞれに分割識別子（またはインデックス）を割り付ける（ステップＳ２０９）。なお分割識別子を割り付けるのは、分散して音声合成を実施させた後に音声合成結果を、再度、結合するときに正しい順番通りにするためのである。
【００６８】
より具体的には、音声合成制御部１５はメモリ１６に予め設定されている、一度に実施する音声合成のテキストデータの文量を確認し、受信したテキスト文を閾値（設定値）に従い分割する。テキストデータを分断する際、閾値（設定値）を越えて出現する句読点（“。”や“、”）に基づいて分割する。これにより、分割されたテキスト文を１文に結合する際に、前後文脈を解釈し音声合成を実施する音声合成エンジンに対してスムーズな音声合成処理を実施させることができる。
【００６９】
以下、この例ではリクエストＡの文章をリクエストＡ’−１、リクエストＡ’−２の二つに分割する場合について説明する。
【００７０】
そして、音声合成制御部１５は、管理テーブル１６ａの、処理を行わせる音声合成エンジンのエンジンＩＤに対応する使用中フラグを「使用中」“１”、その処理順情報の欄に分割識別子を設定し、分割したリクエストＡ’−１とリクエストＡ’−２を、それぞれ決定した音声合成エンジンへ入力する（ステップＳ２１０）。
【００７１】
この例では、音声合成エンジン（＃１）１７にリクエストＡ’−１の音声合成処理を行わせ、音声合成エンジン１８にリクエストＡ’−２の音声合成処理を行わせる。
【００７２】
なお図６において、音声合成制御部１５の前後でリクエストＡがリクエストＡ’−１，Ａ’−２に変っているのは、分割により一つのリクエストが２つに分けられていることと、それらを処理するために、分割したリクエストに属性情報（ヘッダ、インデックス、識別子など）が付与されるためである。
【００７３】
音声合成エンジンでの音声合成処理が完了し、音声合成処理結果の音声データが受信されると、音声合成制御部１５は、その音声データを分割識別子の順にソートしてメモリ１６に保存すると共に（ステップＳ２１１）、管理テーブル１６ａの、当該エンジンの使用状態を「使用中」から「未使用」に変更する。
【００７４】
その後、音声合成制御部１５は、音声合成結果の音声データを、分割識別子の順にメモリ１６から読み出してＩＶＲ２０へ送信する（ステップＳ２１２）。
【００７５】
このように同一装置内に複数の音声合成エンジンを搭載し、長文の音声合成リクエストが受信された場合、音声合成制御部１５が分割条件に従ってリクエストの文章を分割して、分割したそれぞれ文章を複数の音声合成エンジンに分散処理させることで、音声合成システムとしての処理負荷を軽減でき、音声合成結果となる音声データの出力性能を向上することができる。
【００７６】
このように第１実施形態によれば、顧客端末４１，４２とＰＢＸ３０、ＩＶＲ２０、ＴＴＳ装置１０とをネットワーク７０を介して接続された音声合成システムにおいて、複数の顧客から同時に着信があった場合にＩＶＲ２０が再生する音声データをＴＴＳ装置１０が生成する際に、複数の音声合成リクエストをＴＴＳ装置１０で処理することが必要になるが、ＴＴＳ装置１０に、複数の音声合成エンジン（＃１）１７，（＃２）１８とこれらにリクエストを割り当てる音声合成制御部１５を搭載することで、複数の音声合成リクエストを複数の音声合成エンジン（＃１）１７，（＃２）１８がそれぞれ分散して処理を行えるので、音声合成システムとしての処理負荷を軽減し、音声合成結果となる音声データの出力性能を向上することができる。
【００７７】
また、本実施形態によれば、１回の音声合成処理を実施する際の最適なテキスト文の長さ（分量）をＴＴＳ装置１０に予め設定しておき、顧客から着信がありＩＶＲ２０が再生する音声データをＴＴＳ装置１０が生成する際に、受信した音声合成を実施するテキスト文を適切な長さ（分量）に分けて複数のリクエストを生成し、それぞれのリクエストを複数の音声合成エンジンに分けて送信する。これにより、受信したままの長いテキスト文の音声合成を行うよりも音声合成システムとしての処理負荷を軽減し、音声合成結果となる音声データの出力性能を向上することができる。
【００７８】
続いて、図８乃至図１１を参照して第２実施形態について説明する。なお第１実施形態と同様の構成には同一の符号を付しその説明は省略する。
この第２実施形態は、音声合成制御部と音声合成エンジンとをそれぞれ別々のハードウェアに搭載し、互いの装置をネットワークで接続して構成した例である。
【００７９】
すなわち、図８、図９に示すように、第２実施形態の音声合成システムは、音声合成制御装置１０ａと、複数の音声合成装置５０，６０とを有している。
【００８０】
音声合成制御装置１０ａは、ネットワーク７０に接続されている。音声合成制御装置１０ａは、ＳＩＰ制御部１２、ＭＲＣＰ制御部１３、ＲＴＰ制御部１４、音声合成制御部１５、メモリ１６、ソケット通信制御装置９１などを有している。
【００８１】
ＳＩＰ制御部１２、ＭＲＣＰ制御部１３、ＲＴＰ制御部１４などは、プロトコル毎の通信制御部であり、ＩＶＲ２０からのリクエストを受け付ける受付部として機能する。
【００８２】
メモリ１６には、音声合成装置５０，６０毎に使用中か未使用かの使用状態が設定され、分割識別子が設定可能な管理テーブル１６ａ（図３参照）が記憶されている。
【００８３】
音声合成制御部１５は、複数のリクエストがほぼ同時に受け付けられた場合、管理テーブル１６ａを参照して未使用の音声合成装置５０，６０をリクエストの数分検索し、検索された一つの音声合成装置５０，６０に一つのリクエストを割り振る制御部として機能する。
【００８４】
また音声合成制御部１５は、受け付けられたリクエストのテキストデータのデータ量が予め設定された閾値を超える場合、管理テーブル１６ａを参照して未使用の音声合成装置５０，６０を検索し、前記未使用の音声合成装置５０，６０が二つ以上検索された場合、検索された音声合成装置５０，６０の数分または予め設定されたデータ量以下になるようテキストデータを分割し、分割した各テキストデータに分割識別子を付与してリクエストを生成し、検索された未使用の一つの音声合成装置５０，６０に、分割した一つのリクエストを割り振る制御部として機能する。
【００８５】
ソケット通信制御装置９１は音声合成制御装置と音声合成エンジン装置との通信のためのモジュールであり、通信部１１を制御して音声合成制御部１５により割り振られたリクエストを処理させる音声合成装置５０，６０へ送信する。
【００８６】
音声合成装置５０は、通信部５１、音声合成エンジン１７を有している。音声合成装置６０は、通信部６１、音声合成エンジン１８を有している。
【００８７】
通信部５１，６１は、リクエストを受信する。通信部５１，６１は、音声合成エンジン(＃１)１７，(＃２)１８により変換された音声データをリクエスト送信元へ返信する。
【００８８】
音声合成エンジン(＃１)１７，(＃２)１８は、通信部５１，６１により受信されたリクエストのテキストデータを音声データに変換し通信部５１，６１に渡す。
【００８９】
次に、この第２実施形態の動作を説明する。なおこの第２実施形態の動作は第１実施形態とハードウェア構成が異なり、音声合成制御装置１０ａと音声合成装置５０，６０との間でプロセス間通信を行うことになったものである。
【００９０】
まず、複数のリクエストがほぼ同時に音声合成制御装置１０ａに受信された場合にリクエスト毎に音声合成処理を分散して行う動作を説明する。
【００９１】
図１０に示すように、複数のリクエストＡ，Ｂがほぼ同時に音声合成制御装置１０ａに受信された場合、音声合成制御装置１０ａでは、通信部１１がこれら複数のリクエストＡ，Ｂを受け付け、メモリ１６に記憶する。
【００９２】
続いて、音声合成制御部１５はメモリ１６の管理テーブル１６ａを参照して、使用中フラグの状態から、処理を実施していない音声合成エンジンを検索し、音声合成エンジンの空きの有無を確認する。
【００９３】
この確認の結果、音声合成エンジンに空きがなければ、処理空き待ちとし、空きがあれば、処理させる音声合成エンジンを決定する。
【００９４】
次に、音声合成制御部１５は、管理テーブル１６ａの、処理を行わせる音声合成エンジンのエンジンＩＤに対応する使用中フラグを「使用中」“１”とし、リクエストＡ’とリクエストＢ’を、ソケット通信制御装置９１へ通知する。
【００９５】
ソケット通信制御装置９１は、通信部１１を制御して音声合成制御部１５により決定された音声合成エンジンが搭載されている音声合成装置５０，６０へ処理対象のリクエストＡ’，Ｂ’を、ネットワークワーク７０を通じて送信する。
【００９６】
この例では、音声合成装置５０へリクエストＡ’が送信され、音声合成装置６０へリクエストＢ’が送信される。
【００９７】
各音声合成装置５０，６０では、音声合成処理が完了すると、音声合成処理結果の音声データを音声合成制御装置１０ａへネットワークワーク７０を通じて送信する。
【００９８】
音声合成制御装置１０ａでは、音声合成装置５０，６０から音声データがソケット通信制御装置９１により受信されると、メモリ１６に記憶する。
【００９９】
音声合成制御部１５は、管理テーブル１６ａの、当該装置の音声合成エンジンの使用状態を「使用中」から「未使用」に変更する。
【０１００】
具体的には、音声合成処理が完了した音声合成エンジンが、例えば音声合成エンジン（＃１）１７であれば、管理テーブル１６ａの、エンジンＩＤ＃１に対応する使用中フラグの状態を「使用中」“１”から「未使用」“０”（アイドル状態）に変更する。
【０１０１】
その後、音声合成制御部１５は、音声合成結果の音声データをメモリ１６から読み出して通信部１１へ渡し、ＩＶＲ２０へ送信する。
【０１０２】
このように別の装置に音声合成制御部１５と複数の音声合成エンジン(＃１)１７，(＃２)１８とを分けて搭載することで、音声合成システムとしては複数の音声合成リクエストを複数の音声合成エンジンに分散させることができ、これにより、装置単位でＣＰＵ負荷を軽減し、音声合成結果となる音声データの出力性能を向上することができる。
【０１０３】
続いて、図１１を参照して、この第２実施形態において長文のリクエストを分割し音声合成処理を分散して行う動作を説明する。
音声合成制御装置１０ａでは、ＩＶＲ２０からの長文のリクエストＡを通信部１１が受信、つまり受け付けると、受け付けたリクエストＡをメモリ１６に記憶する。
【０１０４】
音声合成制御部１５はメモリ１６から文章の分割条件を読み出し、リクエストＡの文章が分割条件に適合するか否かを判定する。
【０１０５】
この判定の結果、リクエストＡの文章が分割条件に適合しない場合は、通常の音声合成処理を行う。
【０１０６】
一方、判定の結果、リクエストＡの文章が分割条件に適合した場合、音声合成制御部１５はメモリ１６の管理テーブル１６ａを参照して、使用中フラグの状態から、処理を実施していない音声合成エンジンを検索し、音声合成エンジンの空きの有無を確認する。
【０１０７】
この確認の結果、音声合成エンジンに空きがなければ、処理空き待ちとし、空きがあれば、処理させる音声合成エンジンを決定する。
【０１０８】
次に、音声合成制御部１５は、メモリ１６から読み出した分割条件、検索結果の空きエンジン数に従い文章を分割し、分割した文章それぞれに分割識別子（またはインデックス）を割り付ける。なお分割識別子を割り付けるのは、分散して音声合成を実施させた後に音声合成結果を、再度、結合するときに正しい順番通りにするためのである。
【０１０９】
より具体的には、音声合成制御部１５はメモリ１６に予め設定されている、一度に実施する音声合成のテキストデータの文量を確認し、受信したテキスト文を閾値（設定値）に従い分割する。テキストデータを分断する際、閾値（設定値）を越えて出現する句読点（“。”や“、”）に基づいて分割する。これにより、分割されたテキスト文を１文に結合する際に、前後文脈を解釈し音声合成を実施する音声合成エンジンに対してスムーズな音声合成処理を実施させることができる。
【０１１０】
以下、この例ではリクエストＡの文章をリクエストＡ’−１、リクエストＡ’−２の二つに分割する場合について説明する。
【０１１１】
そして、音声合成制御部１５は、管理テーブル１６ａの、処理を行わせる音声合成エンジンのエンジンＩＤに対応する使用中フラグを「使用中」“１”、その処理順情報の欄に分割識別子を設定し、ソケット通信制御装置９１へ通知する。
【０１１２】
ソケット通信制御装置９１は、音声合成制御部１５により決定された音声合成エンジンが搭載されている音声合成装置５０，６０へ処理対象のリクエストＡ’−１，Ａ’−２を、ネットワークワーク７０を通じて送信する。
【０１１３】
この例では、音声合成装置５０へリクエストＡ’−１が送信され、音声合成装置６０へリクエストＡ’−２が送信される。
【０１１４】
各音声合成装置５０，６０では、音声合成処理が完了すると、音声合成処理結果の音声データを、ネットワークワーク７０を通じて音声合成制御装置１０ａへ送信する。
【０１１５】
音声合成制御装置１０ａでは、音声合成装置５０，６０から音声データがソケット通信制御装置９１により受信されると、音声合成制御部１５は、その音声データを分割識別子の順にソートしてメモリ１６に記憶すると共に、管理テーブル１６ａの、当該エンジンの使用状態を「使用中」から「未使用」に変更する。
【０１１６】
その後、音声合成制御部１５は、音声合成結果の音声データを、分割識別子の順にメモリ１６から読み出して通信部１１を通じてＩＶＲへ送信する。
【０１１７】
このように別々の装置内に音声合成制御部１５と複数の音声合成エンジン(＃１)１７，(＃２)１８を搭載し、長文の音声合成リクエストが受信された場合、音声合成制御部１５が分割条件に従ってリクエストの文章を分割して、分割したそれぞれの文章を、当該音声合成エンジンが搭載された音声合成装置５０，６０へネットワークワーク７０を通じて送り、複数の音声合成装置５０，６０に分散処理させることで、装置単位でＣＰＵ負荷を軽減でき、音声合成結果となる音声データの出力性能を向上することができる。
【０１１８】
このようにこの第２実施形態によれば、音声合成の制御機能だけを持たせた音声合成制御装置１０ａと、音声合成の処理機能だけを持たせた音声合成装置５０，６０とをネットワーク７０を介して接続することで、それぞれの装置単位でのＣＰＵ負荷を軽減し、応答性能を向上することができる。
【０１１９】
説明した実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。上記実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１２０】
上記実施形態では、２基の音声合成エンジンを用いた例を示したが、音声合成エンジンの搭載数は、限定されるものではなくシステムの規模に応じて搭載するものとする。
【０１２１】
また上記実施形態に示した各構成要素を、コンピュータのハードディスク装置などのストレージにインストールしたプログラムで実現してもよく、また上記プログラムを、コンピュータ読取可能な電子媒体：electronic mediaに記憶しておき、プログラムを電子媒体からコンピュータに読み取らせることで本発明の機能をコンピュータが実現するようにしてもよい。電子媒体としては、例えばＣＤ−ＲＯＭ等の記録媒体やフラッシュメモリ、リムーバブルメディア：Removable media等が含まれる。さらに、ネットワークを介して接続した異なるコンピュータに構成要素を分散して記憶し、各構成要素を機能させたコンピュータ間で通信することで実現してもよい。
【符号の説明】
【０１２２】
１０…音声合成装置（ＴＴＳ装置）、１０ａ…音声合成制御装置、１１…通信部、１２…ＳＩＰ制御部、１３…ＭＲＣＰ制御部、１４…ＲＴＰ制御部、１５…音声合成制御部、１６…メモリ、１６ａ…管理テーブル、１７，１８…音声合成エンジン、２０…音声自動応答装置（ＩＶＲ）、３０…構内交換機（ＰＢＸ）、４１，４２…顧客端末、５０，６０…音声合成装置、５１，６１…通信部、６０…音声合成装置、６１…通信部、７０…ネットワーク、９１…ソケット通信制御装置。
【図１】
2013057734.tif 000003
【図２】
2013057734.tif 000004
【図３】
2013057734.tif 000005
【図４】
2013057734.tif 000006
【図５】
2013057734.tif 000007
【図６】
2013057734.tif 000008
【図７】
2013057734.tif 000009
【図８】
2013057734.tif 000010
【図９】
2013057734.tif 000011
【図１０】
2013057734.tif 000012
【図１１】
2013057734.tif 000013