(57)【要約】【課題】音声合成を行うために必要なデータベースが分散して存在している場合に、これを統合的に扱うことのできる音声合成用分散データベースシステムを得る。【解決手段】話者と口調により特徴付けられる音声を合成するために必要なデータを格納した１ないし複数の音声サーバと、各音声サーバが格納しているデータの管理インデックス１２を保持する管理サーバ１０と、を有し、管理サーバ１０は、管理インデックス１２により特定されるデータを生成する基となった音声ファイルの話者と口調を、その特徴を現すキーワードにより表現した音声ファイル特徴テーブル１２ｂを管理インデックス１２内に保持しており、音声合成を行うために必要なデータをキーワードにより指定したリクエストを受け取ると、管理インデックス１２を検索し、該当するデータの所在を表す情報を返信することを特徴とする。【選択図】図１
2008158029.tif 000002
【特許請求の範囲】
【請求項１】
話者と口調により特徴付けられる音声を合成するために必要なデータを格納した１ないし複数の音声サーバと、
前記各音声サーバが格納しているデータのインデックスを保持する管理サーバと、
を有し、
前記管理サーバは、
前記インデックスにより特定されるデータを生成する基となった音声ファイルの話者と口調を、その特徴を現すキーワードにより表現したリストをさらに保持しており、
音声合成を行うために必要な前記データを前記キーワードにより指定したリクエストを受け取ると、
前記インデックスと前記リストを検索し、該当するデータの所在を表す情報を返信する
ことを特徴とする音声合成用分散データベースシステム。
【請求項２】
前記各音声サーバは、
音声合成を行うために必要な前記データとして、韻律モデルデータベース、音響モデルデータベース、又は音声ファイルデータベースのいずれか１ないし複数を格納しており、
前記管理サーバは、
前記各音声サーバが、前記韻律モデルデータベース、前記音響モデルデータベース、又は前記音声ファイルデータベースのいずれを格納しているかを表す情報を、前記インデックス中に保持し、
前記音声サーバが格納している前記データベースの所在を表す情報を返信する際に、
その音声サーバが前記データベースのいずれを格納しているかを表す情報を合わせて返信する
ことを特徴とする請求項１に記載の音声合成用分散データベースシステム。
【請求項３】
前記管理サーバは、
前記韻律モデルデータベース、前記音響モデルデータベース、前記音声ファイルデータベースが、それぞれいずれの音声サーバ上の音声ファイルを基に生成されたかを表す情報を、前記インデックス中に保持しており、
前記音声サーバが格納している前記データベースの所在を表す情報を返信する際に、
その音声サーバが格納している前記データベースが、いずれの音声サーバ上の音声ファイルを基に生成されたかを表す情報を合わせて返信する
ことを特徴とする請求項２に記載の音声合成用分散データベースシステム。
【請求項４】
前記管理サーバは、
音声合成を行うために必要な前記データベースを前記キーワードにより指定するリクエストを受け取った際に、
前記インデックス及び前記リストを検索しても該当するデータベースが存在しない場合には、
そのデータベースを生成するために必要な音声ファイルを前記リストにより検索し、該当する音声ファイルを用いて、リクエストを受けたデータベースを生成する
ことを特徴とする請求項３に記載の音声合成用分散データベースシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声合成を行うために必要なデータを分散して格納する、音声合成用分散データベースシステムに関するものである。
【背景技術】
【０００２】
従来、音声合成を行うための一方式として、コーパスベース音声合成方式がある（非特許文献１）。
また、『テキストから音声を合成するテキスト音声合成技術おいて、最適素片選択型音声合成を、比較的計算パワーの小さい端末装置にて行えるようにする。』ことを目的とした技術として、『テキストから音声を合成するテキスト音声合成において、コンテンツ生成、出力に関して、素片選択処理の結果を二次コンテンツとして出力することで、負荷の高い素片選択処理と、負荷の軽い音声波形合成処理とに分離して処理可能とした。これにより、素片選択処理をサーバ側で実施し、使用素片情報を端末に送信し合成用のデータとする。』というものがある（特許文献１）。
【特許文献１】特開２００６−１８１３３号公報（要約）
【非特許文献１】電子情報通信学会、信学技報、ＳＰ２００５−１８、ｐｐ．３７−４１（２００５．５）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述のような音声合成装置等においては、音声合成を行うために必要なデータは、合成処理を実行する装置内、もしくは音声合成装置に直接接続された記憶装置内に格納されているのが通常である。
しかし、種々の制約や管理上の都合など様々な事情により、音声合成を行うために必要なデータは、必ずしも全てのデータが一箇所に統合されているとは限らず、複数の記憶装置ないしサーバ等に分散して格納されている場合がある。さらには、それら分散して格納されているデータは、個々の格納場所においてそのままデータ量を増し、独立したデータベースとして成長することもあり得る。
上述の特許文献１に記載の従来技術は、素片選択処理と波形合成処理を機能的に分散するものであるが、データの分散化に対応するものではない。また、従来の音声合成装置等がこのような分散化されたデータを考慮するものではないことは言うまでもない。
そのため、音声合成を行うために必要なデータベースが分散して存在している場合に、これを統合的に扱うことのできる音声合成用分散データベースシステムが望まれていた。
【課題を解決するための手段】
【０００４】
本発明に係る音声合成用分散データベースシステムは、
話者と口調により特徴付けられる音声を合成するために必要なデータを格納した１ないし複数の音声サーバと、
前記各音声サーバが格納しているデータのインデックスを保持する管理サーバと、
を有し、
前記管理サーバは、
前記インデックスにより特定されるデータを生成する基となった音声ファイルの話者と口調を、その特徴を現すキーワードにより表現したリストをさらに保持しており、
音声合成を行うために必要なデータを前記キーワードにより指定したリクエストを受け取ると、
前記インデックスと前記リストを検索し、該当するデータの所在を表す情報を返信する
ことを特徴とするものである。
【発明の効果】
【０００５】
本発明に係る音声合成用分散データベースシステムによれば、音声サーバが格納している各音声データ等の所在を管理サーバで管理するので、音声データ等が分散して構成されていても、それらを自在に検索し、あるいは組み合わせて、新たな音声データ等を生成することが可能となる。
【発明を実施するための最良の形態】
【０００６】
実施の形態１．
図１は、本発明の実施の形態１に係る音声合成用分散データベースシステムの概略構成を示すものである。
本実施の形態１に係る音声合成用分散データベースシステムは、音声合成を行うために必要なデータを格納した音声サーバ２０、２１、・・・（以下記載を省略）と、これら各音声サーバが格納しているデータのインデックスを保持する管理サーバ１０を有している。
管理サーバ１０と、音声サーバ２０及び２１とは、ネットワーク３０を介して接続されている。
また、ネットワーク４０を介して、管理サーバ１０とクライアント装置１が接続されている。クライアント装置１は、管理サーバ１０に対して検索リクエストや生成リクエストを発行する。各リクエストの詳細は後述の図５〜図７で説明する。
【０００７】
音声サーバ２０、２１等は、コーパスベース音声合成方式を用いて音声合成を行うために必要なデータを格納している。ここでいうデータには、韻律モデルデータ、音響モデルデータ、音声ファイルがある。それぞれの内容を下記に説明する。
（１）韻律モデルデータ
ピッチや音長といった、話者の言い回しに関する韻律的な特徴を、所定のラベル単位で統計モデル化したデータである。
（２）音響モデルデータ
話者の声道の形などに起因する、その話者の声の音響的な特徴を、所定のラベル単位で統計モデル化したデータである。
（３）音声ファイル
話者が実際に発声した音声を格納したファイルであり、所定のラベル単位で１つの音声ファイルを構成している。また、ラベル単位ではなく、ある文章を音読した音声ファイルでもよい。
（４）パラメータ
音声サーバの実装上、上記音声ファイルに関連した種々の計算済みパラメータを音声ファイルとともに格納している場合がある。このパラメータは、上記（３）音声ファイルを用いて音声合成を行う場合に用いられる。
（５）素片選択データ
コーパスベース音声合成方式で素片波形を選択する際に必要なデータである。音声ファイルに関連した種々の計算済みパラメータを格納している。
【０００８】
上記に言う「統計モデル化」とは、例えば隠れマルコフモデルのような手法により、音声合成処理時に必要な統計モデルを作成することをいうが、モデル化手法はこれに限るものではなく、統一された手法で統計モデル化されていればよい。
【０００９】
これらのファイルは、１つの音声サーバが（１）〜（５）全ての種類のデータを格納している場合もあるし、一部の種類のファイルのみ格納している場合もある。また、それぞれ単独のデータファイルとして構成されたものもあるし、複数のデータによりデータベースとして構成されている場合もある。
本実施の形態１においては、それぞれデータベース化されているものとして以下の説明を行う。また、単に「音声データベース」と呼ぶときは、上記（１）〜（５）を総称的に指すものとする。
また、本実施の形態１において、「韻律モデルデータベース」「音響モデルデータベース」は上述の（１）〜（２）のことを指し、「音声ファイルデータベース」は上述の（３）と（５）を指す。また、説明の簡単のため、（３）音声ファイルと（４）パラメータは特段の区別をせず、「音声ファイル」というときは両者をともに指すものとする。
【００１０】
管理サーバ１０は、話者検索部１１、管理インデックス１２、及びＤＢ生成部１４を有する。
管理インデックス１２は、後述の図２〜図４で説明するテーブル上に、音声サーバ２０、２１等が格納しているデータのインデックスを保持している。このインデックスを参照することにより、各音声サーバが格納しているデータの所在を知ることができる。
管理インデックス１２は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の記憶装置に格納されたデータファイルなどにより構成することができる。
話者検索部１１は、ネットワーク４０を介して、音声合成を行うために必要なデータの所在を検索するリクエストを受け付け、管理インデックス１２が格納している後述のテーブルを検索して、検索結果をリクエスト発行元に返信する。詳細は後述の図２〜図５で説明する。
ＤＢ生成部１４は、ネットワーク４０を介して、音声サーバ２０、２１等が格納している音声ファイルを用いて韻律モデルデータ、音響モデルデータ、又は素片選択データを生成すべき旨のリクエストを受け付け、生成処理を実行する。生成完了後は、生成後のデータの所在を表すインデックスを、管理インデックス１２が保持するテーブルに格納する。
【００１１】
クライアント装置１は、話者選択部２とＤＢ生成依頼部３を有する。
話者選択部２は、ネットワーク４０を介して、話者検索部１１に対し、音声合成を行うために必要なデータの所在を検索するリクエストを発行する。
ＤＢ生成依頼部３は、ネットワーク４０を介して、ＤＢ生成部１４に対し、音声サーバ２０、２１等が格納している音声ファイルを用いて韻律モデルデータ、音響モデルデータ、又は素片選択データを生成すべき旨のリクエストを発行する。
【００１２】
次に、管理インデックス１２が格納している各テーブルについて説明する。
【００１３】
図２は、管理インデックス１２が格納しているデータベース所在テーブル１２ａの構成とデータ例を示すものである。
データベース所在テーブル１２ａは、「データベース番号」列、「サーバ」列、「ＤＢ種類」列、「データベース名」列、を有する。
「データベース番号」列には、音声サーバ２０、２１等が格納している音声データベースを識別するための一意の番号が格納される。本列の値は、音声合成用分散データベースシステム中で一意に採番されたものである。
「サーバ」列には、「データベース番号」列の値で特定される音声データベースを格納しているサーバのアドレスが格納される。本列の値は、サーバのＩＰアドレス、サーバ名など、サーバの所在を特定できる情報であれば、値の形式は問わない。
「ＤＢ種類」列には、「データベース番号」列の値で特定される音声データベースの種類が、上述の（１）韻律モデルデータ〜（３）音声ファイル、若しくは（５）素片選択データのいずれであるかを表す情報が格納される。
「データベース名」列には、「データベース番号」列の値で特定される音声データベースの名称が格納される。本列の値は一意でなくともよい。
【００１４】
次に、図２のデータ例が表す意味について説明する。
１行目〜４行目のデータは、図１の音声サーバ２０が格納しているデータを表す。例えば１行目のデータは、サーバ「ＳＶ２０」が、「２０Ａ」という名称の「韻律モデル」データベースを格納しており、そのデータベースの番号は「１００１」であることを表す。
５行目〜７行目のデータは、図１の音声サーバ２１が格納しているデータを表す。
８行目〜９行目のデータは、図１には示していないが、サーバ「ＳＶ２２」が格納しているデータを表す。これによれば、サーバ「ＳＶ２２」は、「韻律モデル２２Ａ」と「音声ファイル２２Ｃ」を格納していることが分かる。
１０行目のデータは、、図１には示していないが、サーバ「ＳＶ２３」が格納しているデータを表す。これによれば、サーバ「ＳＶ２３」は、「音声ファイル２３Ｃ」を格納していることが分かる。
【００１５】
図３は、管理インデックス１２が格納している音声ファイル特徴テーブル１２ｂの構成とデータ例を示すものである。
音声ファイル特徴テーブル１２ｂは、「音声ファイル番号」列、「話者・口調」列、「特徴キーワード」列、を有する。
「音声ファイル番号」列には、データベース所在テーブル１２ａの「データベース番号」のうち、「ＤＢ種類」列の値が「音声ファイル」であるものの値が格納される。
「話者・口調」列には、「音声ファイル番号」列の値で特定される音声ファイルの話者・口調に関する情報が格納される。図３のデータ例では、「音声ファイル番号＝１００３」で特定される音声ファイルは、「話者Ａ・口調Ａ」で発声した音声ファイルであることが分かる。
「特徴キーワード」列には、「音声ファイル番号」列の値で特定される音声ファイルの特徴を表すキーワードが格納される。図３のデータ例では、「音声ファイル番号＝１００３」で特定される音声ファイルは、「男性、おじいさん」で特徴付けられる内容で発声された音声ファイルであることが分かる。実際に年配の男性が発声したかどうかは、別の問題であるものとする。
【００１６】
図４は、管理インデックス１２が格納しているデータベース生成元テーブル１２ｃの構成とデータ例を示すものである。
データベース生成元テーブル１２ｃは、「データベース番号」列、「音声ファイル番号」列、を有する。
「データベース番号」列には、データベース所在テーブル１２ａの「データベース番号」のうち、「ＤＢ種類」列の値が「音声ファイル」以外のものに対応する値が格納される。
「音声ファイル番号」列には、音声ファイル特徴テーブル１２ｂの「音声ファイル番号」列の値に対応するものが格納される。
【００１７】
次に、図４のデータ例が表す意味について説明する。
データベース生成元テーブル１２ｃは、「データベース番号」列で特定される音声データベースが、「音声ファイル番号」列で特定される音声ファイルを用いて生成されたことを意味する。
例えば１行目のデータは、「データベース番号＝１００１」で特定される音声データベース（ＳＶ２０上の韻律モデル２０Ａ）は、「音声ファイル番号＝１００３」で特定される音声ファイル（ＳＶ２０条の音声ファイル２０Ｃ）を用いて作成されたことが分かる。
このように、音声データベースの作成元に関する情報が必要なのは、音声データベースがいずれの音声ファイルを用いて作成されたかにより、その音声データベースの品質が異なるからである。
【００１８】
音声合成を行う際に、一般ユーザであれば「韻律モデル２０Ａがどの音声ファイルから作成されたか」といった事には関心がないものと思われる一方で、音声合成に詳しいユーザであれば、より高品質の合成音声を得るなどの目的で、各音声データベースがどの程度の品質を有しているかを予め把握したい場合があり得る。また、音声合成の研究・開発を行っている者にとっても、やはり各音声データベースの出自を把握しておくことは、業務上有用なことである。
こうしたニーズに答えるべく、本発明においては、単に各音声データベースの所在を表す情報をインデックスにより管理するのではなく、その出自に関しても管理し、音声合成を行う際にどの音声データベースを用いて合成処理を行うかを選択可能とした。
【００１９】
次に、本実施の形態１に係る音声合成用分散データベースシステムの動作について説明する。
図２〜図４で説明した各テーブルが保持するデータを用いることにより、様々な検索や新規音声データベースの生成が可能である。以下、いくつかの処理を例にとり、具体的な動作を説明する。
【００２０】
図５は、クライアント端末１から音声ファイルの特徴を表すキーワードを送信して、該当する音声ファイルを検索する際のシーケンス図である。各テーブルが保持しているデータは、図２〜図４に示されている通りとする。
以下、各ステップについて説明する。なお、図５には記載の都合からステップ番号を示していないが、上から下に向かって時系列が流れているものとする。次の図６、図７も同様である。
【００２１】
（１）ユーザがクライアント端末１を操作し、キーワード「女性」を入力して、検索リクエストを実行する。
（２）話者選択部２は、キーワード「女性」を含む検索リクエストを管理サーバ１０に向けて発行する。検索リクエストは、ネットワーク４０を介して管理サーバ１０に到達する。
（３）管理サーバ１０に到達した検索リクエストは、話者検索部１１により処理される。話者検索部１１は、「女性」をキーにして、音声ファイル特徴テーブル１２ｂを検索する。
（４）検索の結果、「特徴キーワード」列の値に「女性」を含むデータがヒットする。図３のデータ例では、３行目と４行目のデータが該当する。
（５）話者検索部１１は、検索結果として、３行目と４行目のデータの「音声ファイル番号」列、「話者・口調」列の値を取得する。
（６）話者検索部１１は、取得した「音声ファイル番号」列、「話者・口調」列の値を、話者選択部２に返信する。
【００２２】
図６は、図５の検索結果を得た後、その検索結果による話者・口調を指定して音声データベース生成依頼をする際のシーケンス図である。以下、各ステップについて説明する。
【００２３】
（１）ユーザがクライアント端末１を操作し、図５のステップ（６）で得られた検索結果のうち「話者Ｂ・口調Ｂ」を指定して、「話者Ｂ・口調Ｂで発声した際の音響モデルデータベース」の生成リクエストを実行する。
なお、ここで「話者・口調」の組をユーザに選択させるのは、単にその「話者・口調」のセットをユーザが欲するという理由の他、上述の図４で説明した通り、検索結果のうちいずれの音声ファイルを用いるかにより、生成する音響モデルデータベースの品質が異なるからである。
（２）ＤＢ生成依頼部３は、「話者Ｂ・口調Ｂ」「音響モデル」「音声ファイル番号＝１００８」をキーにして、管理サーバ１０に向けてＤＢ生成リクエストを発行する。ＤＢ生成リクエストは、ネットワーク４０を介して管理サーバ１０に到達する。
（３）管理サーバ１０に到達した検索リクエストは、ＤＢ生成部１４により処理される。ＤＢ生成部１４は、「音声ファイル番号＝１００８」をキーにして、データベース生成元テーブル１２ｃを検索し、生成済みデータベースの有無を確認する。
（４）検索の結果、「音声ファイル番号」列の値が「１００８」であるデータがヒットする。図４のデータ例では、６行目のデータが該当する。
（５）ＤＢ生成部１４は、検索結果として、６行目のデータの「データベース番号」列の値「１００７」を取得する。
（６）ＤＢ生成部１４は、「データベース番号＝１００７」をキーにして、データベース所在テーブル１２ａを検索し、その音声データベースの種類を取得する。
（７）検索の結果、「データベース番号＝１００７」で特定される音声データベースは、「韻律モデル」データベースであることが分かる。即ち、「音声ファイル番号＝１００８」で特定される音声ファイルを用いて生成した音響モデルデータベースは存在しないことが分かる。
（８）ＤＢ生成部１４は、上記のように、「音声ファイル番号＝１００８」で特定される音声ファイルを用いて生成した音響モデルデータベースは存在しないため、生成処理を行う旨をＤＢ生成依頼部３に返信する。音響モデルデータベースの作成は時間のかかる処理であるため、クライアント端末１はそれ以上返信を待つことなく、処理を終了する。
（９）ＤＢ生成部１４は、「音声ファイル番号＝１００８」で特定される音声ファイルを用いて、音響モデルデータベースの生成処理を開始する。ここでは、音声ファイル「１００８」が存在するサーバ「ＳＶ２２」上に生成するものとする。
（１０）ＤＢ生成部１４は、音響モデルデータベースの生成が完了すると、その所在を表す情報などを、次のステップ（１１）（１２）で登録する。
（１１）ＤＢ生成部１４は、データベース所在テーブル１２ａに、生成した音響モデルデータベースを表す新たなエントリを登録する。この場合は、各列の値は「データベース番号＝１０１０」「サーバ＝ＳＶ２２」「ＤＢ種類＝音響モデル」「データベース名＝２２Ｂ」となる。
（１２）ＤＢ生成部１４は、データベース生成元テーブル１２ｃに、生成した音響モデルデータベースの生成元を表す新たなエントリを登録する。この場合は、各列の値は「データベース番号＝１０１０」「音声ファイル番号＝１００８」となる。
【００２４】
なお、生成リクエストを発行した対象の音声データベースが既に作成済みであれば、ステップ（８）にてその旨をＤＢ生成依頼部３に返信し、以後のステップは省略する。次の図７についても同様である。
【００２５】
図７は、図５と図６のリクエストを一括で実行する際のシーケンス図である。以下、各ステップについて説明する。
【００２６】
（１）ユーザがクライアント端末１を操作し、キーワード「女性、喜び」を入力して、音響モデルデータベースの生成リクエストを実行する。
（２）ＤＢ生成依頼部３は、「女性、喜び」「韻律モデル」をキーにして、管理サーバ１０に向けてＤＢ生成リクエストを発行する。ＤＢ生成リクエストは、ネットワーク４０を介して管理サーバ１０に到達する。
（３）管理サーバ１０に到達した検索リクエストは、ＤＢ生成部１４により処理される。ＤＢ生成部１４は、「女性、喜び」をキーにして、音声ファイル特徴テーブル１２ｂを検索する。
（４）検索の結果、「特徴キーワード」列の値に「女性、喜び」を含むデータがヒットする。図３のデータ例では、４行目のデータが該当する。
（５）ＤＢ生成部１４は、検索結果として、４行目のデータの「音声ファイル番号」列、「話者・口調」列の値を取得する。
（６）ＤＢ生成部１４は、「音声ファイル番号＝１００９」をキーにして、データベース生成元テーブル１２ｃを検索し、生成済みデータベースの有無を確認する。
（７）検索の結果、「音声ファイル番号」列の値が「１００９」であるデータがヒットする。図４のデータ例では、該当するデータが存在しない。
（８）ＤＢ生成部１４は、検索結果として、該当データが存在しない旨を表す「ｎｕｌｌ」値を取得する。
（９）以下の処理は、図６のステップ（８）〜（１２）と同様であるため、図７にて処理の概要シーケンスを示し、説明を省略する。
【００２７】
以上の説明では、音声ファイルから韻律モデルや音響モデルを生成する例を説明したが、音声ファイルから新たな音声ファイルを生成することも可能である。この場合の処理も上記の説明と同様である。
【００２８】
本実施の形態１では、図３において音声ファイルの話者・口調と特徴キーワードを対応付けたテーブル構成を説明したが、これは音声ファイルから韻律モデルや音響モデルを生成することを説明するための、便宜上のものである。
韻律モデルや音響モデルについても、同様に特徴を表す情報を保持するテーブルを構成して、検索の便宜を図ってもよい。
【００２９】
また、図２〜図４で説明したテーブル構成は、ある程度正規化したものを示したが、列構成はこれに限られるものではなく、音声合成用分散データベースシステムへ向けて発行されるリクエストの内容や検索効率に応じて、適宜列構成を変更し、若しくは正規化を崩してもよい。
【００３０】
また、本発明は音声合成を行うために必要なデータを分散格納するデータベースシステムに関するものであるため、音声合成の実行については言及していないが、音声合成を行う機能は、音声サーバ２０、２１等が備えていてもよいし、管理サーバ１０やクライアント端末１が備えていてもよい。
【００３１】
また、図２において、「サーバ」列の値により音声サーバのアドレス等の所在を示したが、音声サーバ内における音声データベースのファイルパス等については何ら示していない。
各音声サーバ内のファイルパス等については、各音声サーバ自身が自らの責任で管理することとしてもよいし、管理サーバ１０にてさらに詳細なインデックスを設けてもよい。いずれを選択するかは適宜設計すればよい。
一般的には、音声サーバ内のファイルパス等は、その音声サーバ自身が管理し、音声サーバ外から隠蔽することが望ましいと思われる。
【００３２】
以上のように、本実施の形態１によれば、音声サーバ２０、２１等が格納している各音声データベースの所在を表す管理インデックス１２で管理しているので、音声データベースが分散して構成されていても、それらを自在に検索し、あるいは組み合わせて、新たな音声データベースを生成することが可能となる。
また、各音声データベースがいずれの音声ファイルから生成されたかを管理しているので、これら音声データベースの品質をある程度推し量ることができ、ユーザにとって、いずれの音声データベースを用いて音声合成を行うかを選択可能とした。
【００３３】
実施の形態２．
実施の形態１では、主にクライアント端末１から音声データベースの生成を依頼する際の処理について説明した。
本発明の実施の形態２では、クライアント端末１に音声合成部４を備え、音声サーバ２０、２１等から取得した音声データベースを用いて音声合成を行う例について説明する。
【００３４】
図８は、本実施の形態２に係る音声合成用分散データベースシステムの概略構成を示すものである。
音声合成用分散データベースシステム自体の構成は、実施の形態１で説明した図１と変更はないが、クライアント端末１に新たに音声合成部４を備えた。
クライアント端末１は、管理サーバ１０に音声データベースの所在を問い合わせ、存在しなければ生成リクエストを発行し、取得した音声データベースを用いて、音声合成部４により音声合成を行う。
【００３５】
図９は、クライアント端末１から音声ファイルの特徴を表すキーワードを送信し、該当する音声ファイルを用いて生成された韻律モデルデータベースを取得する際のシーケンス図である。各テーブルが保持しているデータは、図２〜図４に示されている通りとする。
以下、各ステップについて説明する。
【００３６】
（１）ユーザがクライアント端末１を操作し、キーワード「女性」を入力して、韻律モデルデータベースの取得リクエストを実行する。
（２）話者選択部２は、キーワード「女性」を含む、韻律モデルデータベースの取得リクエストを管理サーバ１０に向けて発行する。取得リクエストは、ネットワーク４０を介して管理サーバ１０に到達する。
（３）管理サーバ１０に到達した検索リクエストは、話者検索部１１により処理される。話者検索部１１は、「女性」をキーにして、音声ファイル特徴テーブル１２ｂを検索する。
（４）検索の結果、「特徴キーワード」列の値に「女性」を含むデータがヒットする。図３のデータ例では、３行目と４行目のデータが該当する。
（５）話者検索部１１は、「音声ファイル番号＝１００８ｏｒ１００９」をキーにして、データベース生成元テーブル１２ｃを検索し、生成済みデータベースの有無を確認する。
（６）検索の結果、「音声ファイル番号」列の値が「１００８」又は「１００９」であるデータがヒットする。図４のデータ例では、６行目のデータが該当する。
（７）話者検索部１１は、検索結果として、６行目のデータの「データベース番号」列の値「１００７」を取得する。
（８）話者検索部１１は、「データベース番号＝１００７」をキーにして、データベース所在テーブル１２ａを検索し、その音声データベースの種類を取得する。
（９）検索の結果、「データベース番号＝１００７」で特定される音声データベースは、「韻律モデル」データベースであることが分かる。
（１０）話者検索部１１は、「データベース番号＝１００７」で特定される音声データベースの「サーバ」列の値「ＳＶ２２」と、その生成元である音声ファイル番号「１００８」を、話者選択部２に返信する。
（１１）音声合成部４は、サーバ「ＳＶ２２」にアクセスし、韻律モデル２２Ａを取得する。
【００３７】
なお、キーワード「女性」に該当する韻律モデルが見つからなければ、実施の形態１の図７で説明したものと同様の処理手順により、新たに生成すればよい。
また、韻律モデル２２Ａが音声ファイル「１００８」を用いて生成されたことがステップ（１０）で判明するが、それ以外の音声ファイルを用いて生成すべきときは、別のキーワードを用いて検索を再実行すればよい。
実際に音声合成を行う際には、韻律モデル、音響モデル、音声ファイル、素片選択データを全て取得する必要がある。
【００３８】
以上の実施の形態１〜２では説明しなかったが、各テーブルの内容を単純にブラウズするのみのリクエストもあり得る。例えば、「サーバＳＶ２２が格納している音声データベースの一覧を得る」といったリクエストも可能である。
【００３９】
以上のように、本実施の形態２によれば、クライアント端末１は音声合成部４を備えたので、クライアント端末１が各種類の音声データベースを取得し、音声合成を行うことができる。
これは、クライアント側に音声合成処理を分散させたい場合に、有効な実装となる。
【００４０】
なお、以上の実施の形態１〜２において、各テーブルの初期データは、管理者等により適宜セットしておけばよい。その後のデータセットは、ＤＢ生成部１４が自動的に行うので、以後の管理は不要である。
【図面の簡単な説明】
【００４１】
【図１】実施の形態１に係る音声合成用分散データベースシステムの概略構成を示すものである。
【図２】管理インデックス１２が格納しているデータベース所在テーブル１２ａの構成とデータ例を示すものである。
【図３】管理インデックス１２が格納している音声ファイル特徴テーブル１２ｂの構成とデータ例を示すものである。
【図４】管理インデックス１２が格納しているデータベース生成元テーブル１２ｃの構成とデータ例を示すものである。
【図５】クライアント端末１から音声ファイルの特徴を表すキーワードを送信して、該当する音声ファイルを検索する際のシーケンス図である。
【図６】図５の検索結果を得た後、その検索結果による話者・口調を指定して音声データベース生成依頼をする際のシーケンス図である。
【図７】図５と図６のリクエストを一括で実行する際のシーケンス図である。以下、各ステップについて説明する。
【図８】実施の形態２に係る音声合成用分散データベースシステムの概略構成を示すものである。
【図９】音声ファイルの特徴を表すキーワードを送信し、該当する音声ファイルを用いて生成された韻律モデルデータベースを取得する際のシーケンス図である。
【符号の説明】
【００４２】
１  クライアント装置、２  話者選択部、３  ＤＢ生成依頼部、４  音声合成部、１０  管理サーバ、１１  話者検索部、１２  管理インデックス、１２ａ  データベース所在テーブル、１２ｂ  音声ファイル特徴テーブル、１２ｃ  データベース生成元テーブル、１４  ＤＢ生成部、２０  音声サーバ、２１  音声サーバ、３０  ネットワーク、４０  ネットワーク。
【図１】
2008158029.tif 000003
【図２】
2008158029.tif 000004
【図３】
2008158029.tif 000005
【図４】
2008158029.tif 000006
【図５】
2008158029.tif 000007
【図６】
2008158029.tif 000008
【図７】
2008158029.tif 000009
【図８】
2008158029.tif 000010
【図９】
2008158029.tif 000011