JP2011075870A - 音声合成システム、音声合成装置及び音声合成プログラム - Google Patents
音声合成システム、音声合成装置及び音声合成プログラム Download PDFInfo
- Publication number
- JP2011075870A JP2011075870A JP2009227836A JP2009227836A JP2011075870A JP 2011075870 A JP2011075870 A JP 2011075870A JP 2009227836 A JP2009227836 A JP 2009227836A JP 2009227836 A JP2009227836 A JP 2009227836A JP 2011075870 A JP2011075870 A JP 2011075870A
- Authority
- JP
- Japan
- Prior art keywords
- sentence
- voice
- sound
- speech
- waveform data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
【課題】1文の全ての音声合成処理が終わるまで待つことなく、合成音声の再生途中であっても、音声が途切れることなく合成音声を出力することができるようにする。
【解決手段】本発明の音声合成システムは、入力文の入力を行う入力手段と、入力文を、1又は複数の合成単位の分割文に分割する文分割手段と、文分割手段により分割された分割文毎に各音波形データを生成する1又は複数の音合成手段と、音合成手段からの各音波形データを組み合わせて合成音声を出力する音声再生手段と、音合成手段による音波形データ生成処理の応答性と、音声再生手段による合成音声の形成処理の応答性とに基づき、合成音声出力処理のスケジューリングを行う再生制御手段とを備え、音声再生手段が、再生制御手段による合成音声出力処理のスケジューリングに従って、上記合成音声を出力することを特徴とする。
【選択図】 図1
【解決手段】本発明の音声合成システムは、入力文の入力を行う入力手段と、入力文を、1又は複数の合成単位の分割文に分割する文分割手段と、文分割手段により分割された分割文毎に各音波形データを生成する1又は複数の音合成手段と、音合成手段からの各音波形データを組み合わせて合成音声を出力する音声再生手段と、音合成手段による音波形データ生成処理の応答性と、音声再生手段による合成音声の形成処理の応答性とに基づき、合成音声出力処理のスケジューリングを行う再生制御手段とを備え、音声再生手段が、再生制御手段による合成音声出力処理のスケジューリングに従って、上記合成音声を出力することを特徴とする。
【選択図】 図1
Description
本発明は、音声合成システム、音声合成装置及び音声合成プログラムに関し、例えば、入力されたテキストデータに対応する合成音声を出力する音声合成システム、音声合成装置及び音声合成プログラムに適用し得るものである。
従来、人間らしい自然な合成音声を生成してスピーカ出力するコーパスベース音声合成方法が提案されている。このような音声合成技術として、例えば特許文献1に記載の技術がある。
特許文献1には、音声合成の生成の際に、合成単位である音素片を合成した音素系列に対してコスト関数を用いて数値化し、その総和に基にして、よりよい値となる状態の音声を自動的に生成する技術が記載されている。これにより、特定の声質・口調を再現することができ、より自然な人間らしい合成音声を形成することができる。
従来、コーパスベース音声合成処理における応答時間特性は、素片選択処理の複雑さにより決定される。この素片選択処理は、組み合わせ最適化問題であり、一般にNP困難である。
これに対して、特許文献1の記載技術は、枝刈りなどの方法により多項式時間にて完了する方法が提案されている。
しかしながら、コーパスベース音声合成処理は、大量のコンピュータ処理を前提に最適化された音声合成処理方法であり、テキストが入力され、その入力に対応する音声波形が生成するまでに大きな処理を要し、音声出力の際の処理遅延が発生する。
このため、リアルタイムな応答が要求される音声対話システムにおいては、この処理遅延が、例えば、妥当な間(ま)を制御できない、などの現象として現れ、スムーズな対話を阻害する大きな要因となっている。
この課題の解決策として、ある1文を音声合成するに際し、枝刈り(プルーニング)により処理範囲を限定することで合成音声の一部波形を先頭から順に確定する方法等が提案されている(特許文献2参照)。枝刈りによる処理は、コーパスから合成単位である音素片を選択する際に、所定の選択アルゴリズムにより検索空間を動的に小さくなるようにする処理である。
これにより、膨大なコーパスからの検索負担を軽減し、1文の全ての波形生成処理を待たずにして、確定部分の波形をその都度スピーカ出力することができ、コーパスベース音声合成部の応答性能を高めることができる。
しかし、上記の枝刈りによる処理は、音声合成処理の大きな割合を占める素片選択処理において実施するものであるため、音声品質(音質)を劣化させる要因となる。
また、スピーカ出力するマシン(クライアント)から制御できない環境に音声合成部が配置される場合、例えばネットワーク上に置かれたアプリケーションサーバとして音声合成サービスを提供する場合、ネットワークの遅延やパケットロス、サーバにおける同時処理による音声合成処理へのリソース割り当ての減少などが発生するなど、クライアントにおける応答性能はネットワーク各ノードのリソース状況に依存するため、クライアントでの応答性能を保証することができない。
そのため、1文の全ての音声合成処理が終わるまで待つことなく、合成音声の再生途中であっても、音声が途切れることなく合成音声を出力することができ、更に複数台のサーバを利用する等の分散処理システムにおいても、システムの可用性とスケーラビリティを向上できる音声合成システム、音声合成装置及び音声合成プログラムが求められている。
かかる課題を解決するために、第1の本発明の音声合成システムは、(1)入力文の入力を行う入力手段と、(2)入力文を、1又は複数の合成単位の分割文に分割する文分割手段と、(3)文分割手段により分割された分割文毎に各音波形データを生成する1又は複数の音合成手段と、(4)音合成手段からの各音波形データを組み合わせて合成音声を出力する音声再生手段と、(5)音合成手段による音波形データ生成処理の応答性と、音声再生手段による合成音声の形成処理の応答性とに基づき、合成音声出力処理のスケジューリングを行う再生制御手段とを備え、音声再生手段が、再生制御手段による合成音声出力処理のスケジューリングに従って、上記合成音声を出力することを特徴とする。
第2の本発明の音声合成装置は、音波形データを生成する音合成手段を備えるサーバからの音波形データに基づいて合成音声を生成する音声合成装置において、(1)入力文の入力を行う入力手段と、(2)入力文を、1又は複数の合成単位の分割文に分割してサーバに与える文分割手段と、(3)サーバの音合成手段からの分割文毎の各音波形データを組み合わせて合成音声を出力する音声再生手段と、(4)音合成手段による音波形データ生成処理の応答性と、音声再生手段による合成音声の形成処理の応答性とに基づき、合成音声出力処理のスケジューリングを行う再生制御手段とを備え、音声再生手段が、再生制御手段による合成音声出力処理のスケジューリングに従って、合成音声を出力することを特徴とする。
第3の本発明の音声合成プログラムは、コンピュータを、(1)入力文の入力を行う入力手段、(2)入力文を、1又は複数の合成単位の分割文に分割する文分割手段、(3)文分割手段により分割された分割文毎に各音波形データを生成する1又は複数の音合成手段、(4)音合成手段からの各音波形データを組み合わせて合成音声を出力する音声再生手段、(5)音合成手段による音波形データ生成処理の応答性と、音声再生手段による合成音声の形成処理の応答性とに基づき、合成音声出力処理のスケジューリングを行う再生制御手段とし、音声再生手段が、再生制御手段による合成音声出力処理のスケジューリングに従って、合成音声を出力するように機能させることを特徴とする。
本発明によれば、1文の全ての音声合成処理が終わるまで待つことなく、合成音声の再生途中であっても、音声が途切れることなく合成音声を出力することができる。また、本発明によれば、複数台のサーバを利用する等の分散処理システムにおいても、システムの可用性とスケーラビリティを向上できる。
(A)主たる実施形態
以下では、本発明の音声合成システム、音声合成装置及び音声合成プログラムの主たる実施形態について図面を参照しながら説明する。
以下では、本発明の音声合成システム、音声合成装置及び音声合成プログラムの主たる実施形態について図面を参照しながら説明する。
この実施形態は、例えば、利用者のクライアント端末とサーバ装置との間で、サーバ装置がクライアント端末から受け取った入力文(例えばテキスト文等)に対する音波形データを生成し、クライアント端末が音波形データに基づいて音声を出力する対話システムの音声合成システムに本発明を利用した場合の実施形態を例示する。
従来は、入力文に対応する音声波形が形成されるまで待ってから音声出力(再生)を行っていた。
これに対して、この実施形態は、入力文を、単独で音声合成できる短い処理単位の文(以下、「短文」又は「分割文」ともいう)に分割し、さらに後続文の合成音声の再生完了時刻を予測することにより、入力文に対して音声波形が形成される前に、合成音声の再生をすることが可能となり、音声合成処理の待ち時間を短縮することができる。
また、低能力のコンピュータやネットワークサーバに音声合成処理部が配置された場合などにおいても、システムとして安定した音声合成サービスを提供できるアーキテクチャである。
(A−1)実施形態の構成
図1は、実施形態の音声合成システムの構成を示す構成図である。図1において、実施形態の音声合成システム1は、クライアント端末100と、サーバ装置110とを有して構成される。
図1は、実施形態の音声合成システムの構成を示す構成図である。図1において、実施形態の音声合成システム1は、クライアント端末100と、サーバ装置110とを有して構成される。
図1において、クライアント端末100とサーバ装置110との間で情報を授受して、入力文に対する音声を出力する対話システムの場合を例示する。図1の場合、クライアント端末100とサーバ装置110とは、ネットワーク(例えば、インターネットや専用網等)を通じて接続されているものとする。
なお、図1では、対話システムの場合を例示するが、後述するクライアント端末100とサーバ装置との機能を、物理的に同一の情報処理装置(例えばパーソナルコンピュータ等)が実現するようにしてもよい。
クライアント端末100は、利用者が利用する端末であり、サーバ装置110との間で情報の授受を行い入力文に対する合成音声を出力する音声合成処理機能を有するものである。
ここで、クライアント端末100の音声合成処理機能としての主な機能構成は、図1に示すように、入力部101、文分割部102、データ格納部103、再生制御部104、出力部105、通信部106を少なくとも有する。
なお、クライアント端末100の音声合成処理機能は、ソフトウェア処理により実現されるものであり、例えば、クライアント端末100は、通常の情報処理装置と同様に、CPU、ROM、RAM、EEPROM等を有して構成される。そして、CPUが、ROMに格納される処理プログラムを必要なデータを用いて実行することにより後述する各種処理を実現する。
入力部101は、入力文の入力を受け付ける処理部又は装置である。入力部101は、例えば、クライアント端末100のキーボード等の入力装置から入力されたテキスト文字列(以下では、入力テキストともいう)を入力する。
文分割部102は、入力部101からの入力テキストを、単独で音声合成することができる1又は複数の合成単位に分割するものである。文分割部102による文分割処理は、1文の入力テキストを合成単位に分割することができれば、種々の方法を適用することができ、その一例については、後述する動作説明の欄で詳細に説明する。なお、文分割部102により分割されたテキスト文を「短文」又は「分割文」という。
データ格納部103は、入力テキストを分割した各短文に関する情報を示すテキスト分割情報テーブルを格納するメモリ上の記憶領域である。
図2は、テキスト分割情報テーブルの構成例を説明する説明図である。図2に示すように、テキスト分割情報テーブルは、「短文」、「無音長」、「生産予測時間長」、「消費予測時間長」を項目とし、これらを一連のデータを対応付けて格納する。なお、テキスト分割情報テーブルは、上記の項目に限定されるものではなく、他の対応データを保持するようにしてもよい。
「短文」は、文分割部102が分割した各短文を格納するものであり、「無音長」は、短文とその後に続く後続文との間に挿入される無音時間を格納する。「無音長」には、文分割部102により文分割処理の際に、挿入すべき無音時間が求められて、この無音時間が「無音長」に入力される。なお、「無音長」には、例えばbit/s等のCPU時間を挿入しても良いし、秒などの時間をそのまま格納しても良い。
「生産予測時間長」は、サーバ装置110による各短文の音波形データの生成予測時間長を格納する。「生産予測時間長」には、後述するサーバ装置110のヘッダ生成部111が予測した時間長を受け取り格納される。なお、「生産予測時間長」には、例えばbit/s等のCPU時間を挿入しても良いし、秒などの時間をそのまま格納しても良い。
「消費予測時間長」は、クライアント端末100による各短文の音波形データを組み合わせて音声波形を形成して出力するまでに要する予測時間長を格納する。「消費予測時間長」には、文分割部102による分割処理結果から導かれた、各短文のモーラ位置及びモーラ数に応じて得られた消費予測時間長を格納する。なお、「消費予測時間長」には、例えばbit/s等のCPU時間を挿入しても良いし、秒などの時間をそのまま格納しても良い。
再生制御部104は、サーバ装置110から受け取った各短文に対する音波形データを組み合わせて、入力文に対する音声波形を形成して合成音声を出力させるものである。
図1に示すように、再生制御部104は、その機能構成として、無音時間算出部21、無音時間挿入部22、音声データ再生部23を少なくとも有する。
無音時間算出部21は、入力文に対する合成音声を出力する際、テキスト分割情報テーブルを参照して、各短文の音波形データの生成処理の応答性と音声合成の形成処理の応答性とを元に、滞りのない合成音声を出力するスケジューリングを行い、そのための無音時間を算出するものである。なお、無音時間算出部21による無音時間の算出方法は、テキスト分割情報テーブルから、各短文の生産予測時間長の総和と、(各短文の消費予測時間長+無音長)の総和との比較結果に応じて求めるが、その詳細な説明は後述する動作の項で説明する。
無音時間挿入部22は、無音時間算出部21が算出した無音時間を先頭無音時間として音声データ再生部23に挿入するものである。また、無音時間挿入部22は、テキスト分割情報テーブルに格納されている無音長に基づく無音時間を、短文と短文との間の無音時間として音声データ再生部23に挿入するものである。
音声データ再生部23は、無音時間挿入部22に挿入された無音時間経過後に、各短文の音波形データを接続して合成した音声の出力を行うものである。音声データ再生部23は、短文と短文との無音時間については、テキスト分割情報テーブルに格納されている無音長だけ無音時間を挿入した後、後続する短文の音波形データを組み合わせる。
出力部105は、再生制御部104の制御を受けて、合成された音声を出力する処理部及び装置である。出力部105は、例えば、スピーカ等の音声出力装置が該当する。
通信部106は、通信回線を介して、サーバ装置110との間で情報授受を行うものである。通信部106は、有線回線又は無線回線のいずれかを適用することができ、通信プロトコルは特に限定されることなく、広く適用することができる。
次に、サーバ装置110の内部構成を図1を参照しながら説明する。
サーバ装置110は、クライアント端末100から受け取った短文に対応する音波形データを生成し、この音波形データをクライアント端末100に与える音声合成処理機能を有するものである。
ここで、サーバ装置110の音声合成処理機能の主な機能として、図1に示すように、ヘッダ生成部111、音声合成部113及び状態保持部114を有するデータ処理部112、音素片記憶部115、通信部116とを有するものである。
なお、サーバ装置110の音声合成処理機能も、ソフトウェア処理により実現可能なものであり、例えば、サーバ装置110も通常の情報処理装置と同様に、CPU、ROM、RAM、EEPROM等を備え、CPUが、ROMに格納される処理プログラムを必要なデータを用いて実行することにより各種処理を実現する。
ヘッダ生成部111は、クライアント端末100との間でデータの授受を行うために必要な情報(以下、これをヘッダ情報ともいう)の生成を行うものである。
生成予測部111aは、後述するデータ処理部112の音声合成部113による各短文の音波形データの生成処理に係る予測時間(以下、生産予測時間長)を予測するものである。生成予測部111aによる生産予測時間長の求める方法は、種々の方法を適用することができる。一般に、音波形データの生成時間は、CPUの処理能力や、メモリ容量や、コーパスの大きさなどのリソース応答によって異なる。そこで、生産予測時間長の求める方法の一例として、サーバ装置110のデータ処理能力に応じて、合成音声処理に係る応答性を統計的に求めておき、その統計的な応答性に応じて予測する方法を用いた。
データ処理部112は、各短文に対する音波形データを生成するデータ処理部又は装置であり、音声合成部113と状態保持部114とを有する。
音声合成部113は、各短文に対する音波形データの生成を実行する処理部である。音声合成部113の音声合成方法は、種々の方法を広く適用することができる。例えば、音声合成部113は、各短文を受け取ると、各短文(テキスト文)に対して、形態素解析や係り受け解析を行い、又各短文(テキスト文)に対する音素記号やアクセント記号等への変換を行う。そして、音声合成部113は、音素片記憶部115から対応する音素片を選択して音波形データを生成するものである。
状態保持部114は、音声合成部113の音声合成に係る作業状態のモニタリングし、その作業状態を保持するものである。
音素片記憶部115は、音素片データを記憶する記憶領域である。
通信部116は、通信回線を介してクライアント端末100と情報の授受を行うものであり、通信部106に対応するものである。
(A−2)実施形態の動作
次に、実施形態に係る音声合成システム1の音声合成処理の動作を図面を参照しながら説明する。
次に、実施形態に係る音声合成システム1の音声合成処理の動作を図面を参照しながら説明する。
図3は、実施形態に係る音声合成システム1の音声合成処理を示すフローチャートである。
まず、利用者は、クライアント端末100を用いて所望の入力文を入力する(ステップS201)。
クライアント端末100において、文分割部102は、入力テキストを、1つ以上の単独で音声合成できる短い単位に分割する(ステップS202)。
図4は、文分割部102による入力テキストを1又は複数の短文に分割する処理を説明するフローチャートである。この実施形態では、1文の入力テキストに対して呼気段落を推定し、各呼気段落毎に分割する場合を例示する。
図4において、まず、入力テキストに対して、予め設定した文区切り文字にて文を分割し、ここで分割した文を1文として1文単位にデータ格納部103のテキスト分割情報テーブルに格納する(ステップS301)。ここで、文区切り文字とは、入力テキストから1文を抜き出すための文字であり、例えば句点「。」や「.」等をいう。
次に、文分割部102は、ステップS301により文区切りされた各文に対して、形態素解析を行い、呼気段落区切り位置を求める(ステップS302)。なお、文分割部102は、必要に応じて、係り受け解析処理、音素記号やアクセント記号等に変換する処理を行うようにしてもよい。
ここで、呼気段落位置の検出方法としては、人間が発声する際の自然な区切りを検出することができれば、種々の方法を適用することができるが、例えば、この実施形態では統計モデルによる呼気段落の推定方法を用いることとする。
上記呼気段落の推定方法としては、例えば、文献A(Naive Markov Modelによるポーズ予測アルゴリズム Pause Prediction Algorithm Based On Markov Model 、日本音響学会2005年秋季研究発表会講演論文集、pp.349−350,2005)に記載の技術を適用することができる。この文献Aの記載技術によれば、ポーズ付きアクセント句を予測することができる。
そこで、文分割部102は、1文の入力テキストに対して、形態素解析を行い、文献Aの記載技術を利用してポーズ付きアクセント句の位置を予測し、その位置を呼気段落位置と推定し、そのポーズが出現する個々の文のモーラ位置を呼気段落区切り位置とする。これにより、1文の入力テキストを呼気段落単位で分割することができる。
また、文分割部102は、入力テキストの全ての文に対して呼気段落単位に分割し(ステップS303)、全てのテキスト文に対して完了すると、各入力テキストについて呼気段落単位のテキスト(短文)及び後続する無音長をテキスト分割情報テーブルに格納する(ステップS304)。
ステップS203では、文分割部102により分割された入力テキストの各短文が、通信部106を介してサーバ装置110に送信される。なお、全ての入力テキストの各短文がサーバ装置110に送信される。
サーバ装置110では、ヘッダ生成部111の生成予測部111aにより、各短文に対する音声合成処理に係る生産予測時間長が算出される。また、生成予測部111aにより生成された各短文の生産予測時間長は、ヘッダ情報としてクライアント端末100に送信される。
一方、クライアント端末100では、文分割部102により分割された各短文に対する音声波形の形成に係る消費予測時間長が算出される。そして、再生制御部104は、各短文の生産予測時間長及び消費予測時間長をテキスト分割情報テーブルに格納する。
ここで、各短文の生産予測時間長の算出方法を説明する。各短文の生産予測時間長の算出時間の求め方は、種々の方法を適用することができ、例えば、サーバ装置100のデータ処理能力に応じて統計的に求めた応答特性を利用することができる。
例えば、生成予測部111aは、文分割部102が文献Aの記載技術を利用して検出した各短文のモーラ数を元に、サーバ装置100のデータ処理部112の性能に応じた生成予測時間を算出する。
つまり、生成予測部111aは、入力モーラ数に対して、サーバ装置110のデータ処理部112の音声合成処理性能を示す応答時間特性を予め実験的に保持する。そして、生成予測部111aは、入力モーラ数に対する応答時間特性を参照して、各短文のモーラ数に応じた生成応答予測時間長を求めて、これをクライアント端末100に送信する。
例えば、図5は、入力モーラ数に対する応答時間特性を説明する説明図である。図5(A)は、サーバ装置100のデータ処理部112の入力モーラ数(横軸)と音声合成処理に係る予測処理時間(縦軸)との関係を示す図である。なお、図5(B)は、図5(A)の関係を得るための条件である。
図5(A)の場合、例えば、入力モーラ数のデータサンプル数を104個とした場合の結果であり、入力モーラ数の最小値を「1.000」、最大値を「36.000」とした場合の結果である。
このような条件において、入力モーラ数に対する音声合成処理に係る応答時間特性を示す回帰式として、Y=-17.609532+25.357287Xが得られるので、生成予測部111aは、各短文の入力モーラ数を上記回帰式に代入することで、予測処理時間を算出する。
なお、上記回帰式は、サーバ装置110のデータ処理能力により異なる。つまり、サーバ装置110ハードウェア仕様及びコーパスサイズ等により決まる特性であり、算出する生成予測時間は上記回帰式から得られた時間長に信頼区間の時間長を加えたもの、この実施形態では回帰式から得られた時間長に、例えば3σを加えた時間長を生産予測時間長とする。
また、クライアント端末100で生成する各短文の消費予測時間長の算出方法も、生産予測時間長の算出方法と同様に、クライアント端末100のデータ処理能力を実験的に求めた応答特性(回帰式)を用いて求めることができる。
例えば、消費予測時間長を算出する回帰式は、収録音声の発声速度により概ね定まる特性であり、算出する予測時間長はこの回帰式から得られた時間長から信頼区間の時間長を引いたもの、本実施例では回帰式から得られた時間長から2σを引いた時間長を予測音声時間長とする。
ステップS204では、クライアント端末100が、ステップS202で分割した各短文(テキスト)を、短文毎にサーバ装置120に送信し、音声合成開始の指令をサーバ装置110に対して行う。
サーバ装置110では、クライアント端末100から短文を受け取ると、データ処理部112は各短文に対して音声合成処理を開始する(ステップS222)。
ステップS222において、データ処理部112は、全ての短文に対する音声合成処理が完了するまで(ステップS223)、各短文の音声合成処理を行い、クライアント端末100に対して波形データを送信する。
これに対して、クライアント端末100は波形データをメモリ上に格納する(ステップS211)。なお、サーバ装置110は、各短文に対する音声合成処理を行い、生成の都度、各短文の波形データをクライアント端末100に送信する。
ステップS205では、再生制御部104が、データ格納部103のテキスト分割情報テーブルを参照しながら、再生途中で音声が途切れないように、再生先頭の待ち時間(先頭無音時間)を算出し、音声生成処理のスケジューリングを行う。
ここで、先頭無音時間の算出は、生成予測時間と消費予測時間とを用いて、滞りなく音声を再生するために先頭に挿入すべき音声時間長を算出する。
図6は、再生制御部104における先頭無音時間の算出処理の示すフローチャートである。
図6において、再生制御部104は、テキスト分割情報テーブルを参照して、各文毎に、呼気段落の生産予測時間長の総和と、呼気段落の(消費予測時間長+無音長)の総和との比較を行う(ステップS401)。
そして、各文において、生産予測時間長の総和が(消費予測時間長+無音長)の総和以下の場合、再生制御部104は、サーバ装置110からの音波形データが到着するまでの期間を先頭無音時間とする。すなわち、音波形データの生成完了のタイミングが先頭無音時間となる(ステップS402)。
図7は、生産予測時間長の総和が(消費予測時間長+無音長)の総和以下の場合の先頭無音時間を説明する説明図である。
図7の場合、生産予測時間長の総和が(消費予測時間長+無音長)の総和以下の場合とは、サーバ装置110での波形生成処理の時間が、クライアント端末110での音声再生処理の時間よりも速い場合を示す。この場合、サーバ装置110が生成した音波形データは、クライアント端末100に蓄積されていくことになる。
そこで、この場合、再生制御部104は、呼気段落の音波形データの生成完了のタイミング(音波形データの到着するまでの時間)を先頭無音時間とする。これにより、クライアント端末100は、サーバ装置110から音波形データが到着すると直ぐに出力することができるので、全ての入力テキストの音声合成処理を待たずに、合成音声の再生を行うことができる。
例えば、図7(A)はサーバ装置110における各短文の音波形データの生成時間長を示し、図7(B)はクライアント端末100における音声波形の形成時間長を示す。図7に示すように、サーバ装置110の音波形データの生成処理が速い場合、生成した音波形データが蓄積するので、この場合、再生制御部104は、先頭に来る短文「むかしむかしのこと。。。」の音波形データの生成完了タイミングまでを先頭無音時間とする。
なお、クライアント端末100とサーバ装置110とがネットワーク接続している場合には、先頭に来る短文の音波形データの到着タイミングまでを先頭無音時間とする。
ステップS401において、生産予測時間長の総和が(消費予測時間長+無音長)の総和より大きい場合、再生制御部104は、音波形データの生成待ち時間の期待値を先頭無音時間とする。
例えば、再生制御部104は、最終短文の生成終了時刻を、最終短文の再生時刻とし(ステップS403)、最終短文の再生時刻を基点として、その前に来る各短文の消費予測時間長及び無音長を正しい順序で接続させる(ステップS404)。その結果、音声合成指令時刻から、先頭短文の再生開始時刻までの時間を先頭無音時間とする。
図8は、生産予測時間長の総和が(消費予測時間長+無音長)の総和より大きい場合の先頭無音時間を説明する説明図である。
図8の場合、生産予測時間長の総和が(消費予測時間長+無音長)の総和より大きいの場合とは、サーバ装置110での波形生成処理の時間が、クライアント端末110での音声再生処理の時間よりも遅い場合を示す。
このような状況は、例えば、サーバ装置110のCPUが遅い場合や、メモリが少なくページングが発生する場合等、サーバ装置110のコンピュータリソースが相対的に不足する場合に発生する。
この場合、サーバ装置110による呼気段落毎の音波形データの生成処理が遅れ、クライアント端末100では、サーバ装置110の音波形データの生成待ちの状態となる。この場合、再生制御部104は、サーバ装置110からの音波形データの生成待ち時間の期待値を、先頭無音時間とする。
図8に示すように、音波形データの生成波形が遅い場合、クライアント端末100で音波形データの蓄積がなされない。この場合、図7のように逐次合成音声を再生すると、短文(音波形データ)及び無音長と、後続の短文との間に無音期間が生じてしまい、テンポ(間)の悪い音声を出力することになる。そこで、この場合、入力テキストの最後の短文「暮らしていました。」の音波形データの生成タイミングを短文「暮らしていまいた。」の再生開始時刻とする。そして、この短文「暮らしていました。」の再生開始時刻を基準に各短文と各短文の無音長を正しい順序で接続する。その結果、音声合成開始指令から先頭の短文「むかしむかしのこと。。。」の再生開始時刻までを先頭無音時間とする。
図9は、生産予側時間長の総和が(消費予側時間長+無音長)の総和よりも大きい場合に、複数台(2台)のサーバ装置110が音波形データを生成するときの先頭無音時間の算出を説明する説明図である。
図9の例の場合、サーバ1が「むかしむかしのこと。。。」と「鬼の住む丘に、」の音波形データを生成し、サーバ2が「おじいさんとおばあさんが、」と「暮らしていました。」の音波形データを生成するものとする。
なお、図9では、2台のサーバ装置110による処理を示すが、例えば、マルチスレッドやマルチプロセスで行う場合にも適用することができる。このとき、マルチスレッドやマルチプロセス、すなわち1つのCPUリソースにて複数の処理を同時に並行に行う場合、生産予測時間は、その並行処理の最大数での予測値を適用する必要がある。
図9の場合、1文のうち、最後の短文(呼気段落)である「暮らしていました」のフレーズの生成終了時刻を基点として、先行するそれぞれの短文(呼気段落)の再生予測時間及び呼気段落間の無音長を、先頭の短文(呼気段落)まで逆算していくことで、先頭に挿入する無音時間が算出する。この算出にあたっては、個々の短文(呼気段落)をどのサーバで処理するかの作業スケジューリングにより、算出される先頭無音時間が左右されることになる。
上記のようにして、再生制御部104が先頭無音時間を算出すると、再生制御部104は、算出した先頭無音時間を挿入し(ステップS206)、ステップ221に音波形データがデータ格納部103に格納されているか否かの確認を行う(ステップS207)。
このとき、当該短文に対応する音波形データが格納できていない場合には、再生制御部104はサーバ装置110のデータ処理部112の状態保持部114に対して状態の確認を行うと共に、その間無音を挿入しながら、音波形データの格納を待つ(ステップS212)。例えば、この実施形態では、待ち時間を100ミリ秒とする。
一方、当該短文に対応する音波形データが格納できている場合には、再生制御部104は、短文に対する音波形データを組み合わせて合成音声を再生し、スピーカ等の出力部105から合成音声を出力する(ステップS208)。
なお、ステップS209では、ステップS206からステップS208までの処理を、全ての短文について完了したことを確認し、この実施形態の音声合成処理を終了する。
(A−3)実施形態の効果
上記のように、この実施形態によれば、全ての音声合成が終わるまで待つことなく、また仮にサーバが非力なマシン仕様であっても再生途中に音声が途切れることを防止できるため、サービス品質を保持することができる。
上記のように、この実施形態によれば、全ての音声合成が終わるまで待つことなく、また仮にサーバが非力なマシン仕様であっても再生途中に音声が途切れることを防止できるため、サービス品質を保持することができる。
さらに、実施形態によれば、サーバを複数台利用するなどの分散処理を行うことが可能で、システムの可用性とスケーラビリティを向上させることができる。
(B)他の実施形態
上述した実施形態において、クライアント端末の入力部が、例えばキーボード等の入力部の場合を例示した。しかし、入力部は、例えば、音声認識処理により得られた音声認識結果(入力テキスト)を入力する処理部であってもよい。また、入力部は、対話文自動生成システムの出力を入力する処理部であってもよい。
上述した実施形態において、クライアント端末の入力部が、例えばキーボード等の入力部の場合を例示した。しかし、入力部は、例えば、音声認識処理により得られた音声認識結果(入力テキスト)を入力する処理部であってもよい。また、入力部は、対話文自動生成システムの出力を入力する処理部であってもよい。
また、上述した実施形態では、生産予測時間長及び消費予測時長の算出方法として、線形単回帰分析を用いたが、非線形特性の応答特性の場合にも、例えば予め特性値のロジット変換などを施すなど、線形応答特性に変換することにより、本実施例と同様の処理にて予測時間を算出することができる。
上述した実施形態では、1台のサーバ装置又は複数台のサーバ装置が、音声合成処理を行う場合を例示したが、サーバ装置が、マルチスレッド又はマルチプロセスにより、音声合成処理を行う場合にも同様に適用することができる。
上述した実施形態では、日本語テキスト文の場合を例示したが、言語は日本語に限定されるものではなく他の言語を広く適用することができる。
1…音声合成ステム、100…クライアント端末、110…サーバ装置、
101…入力部、102…文分割部、103…データ格納部、104…再生制御部、
105…出力部、106…通信部、
21…無音時間算出部、22…無音時間挿入部、23…音声データ再生部、
111…ヘッダ生成部、111a…生成予測部、112…データ処理部、
113…音声合成部、114…状態保持部、115…音素片記憶部、116…通信部。
101…入力部、102…文分割部、103…データ格納部、104…再生制御部、
105…出力部、106…通信部、
21…無音時間算出部、22…無音時間挿入部、23…音声データ再生部、
111…ヘッダ生成部、111a…生成予測部、112…データ処理部、
113…音声合成部、114…状態保持部、115…音素片記憶部、116…通信部。
Claims (5)
- 入力文の入力を行う入力手段と、
上記入力文を、1又は複数の合成単位の分割文に分割する文分割手段と、
上記文分割手段により分割された上記分割文毎に上記各音波形データを生成する1又は複数の音合成手段と、
上記音合成手段からの上記各音波形データを組み合わせて合成音声を出力する音声再生手段と、
上記音合成手段による上記音波形データ生成処理の応答性と、上記音声再生手段による合成音声の形成処理の応答性とに基づき、合成音声出力処理のスケジューリングを行う再生制御手段と
を備え、
上記音声再生手段が、上記再生制御手段による上記合成音声出力処理のスケジューリングに従って、上記合成音声を出力することを特徴とする音声合成システム。 - 上記再生制御手段は、上記音波形データの生成処理の応答性が、上記合成音声の形成処理の応答性よりも良い場合、上記音合成手段による先頭の上記分割文の音波形データの生成タイミングで、当該分割文の合成音声を出力させることを特徴とする請求項1に記載の音声合成システム。
- 上記再生制御手段は、上記合成音声の形成処理の応答性が、上記音波形データの生成処理の応答性よりも良い場合、最後の上記分割文の音波形データを基点として逆算して得られたタイミングで、合成音声を出力させることを特徴とする請求項1又は2に記載の音声合成システム。
- 音波形データを生成する音合成手段を備えるサーバからの音波形データに基づいて合成音声を生成する音声合成装置において、
入力文の入力を行う入力手段と、
上記入力文を、1又は複数の合成単位の分割文に分割して上記サーバに与える文分割手段と、
上記サーバの上記音合成手段からの上記分割文毎の上記各音波形データを組み合わせて合成音声を出力する音声再生手段と、
上記音合成手段による上記音波形データ生成処理の応答性と、上記音声再生手段による合成音声の形成処理の応答性とに基づき、合成音声出力処理のスケジューリングを行う再生制御手段と
を備え、
上記音声再生手段が、上記再生制御手段による上記合成音声出力処理のスケジューリングに従って、上記合成音声を出力することを特徴とする音声合成装置。 - コンピュータを、
入力文の入力を行う入力手段、
上記入力文を、1又は複数の合成単位の分割文に分割する文分割手段、
上記文分割手段により分割された上記分割文毎に上記各音波形データを生成する1又は複数の音合成手段、
上記音合成手段からの上記各音波形データを組み合わせて合成音声を出力する音声再生手段、
上記音合成手段による上記音波形データ生成処理の応答性と、上記音声再生手段による合成音声の形成処理の応答性とに基づき、合成音声出力処理のスケジューリングを行う再生制御手段
とし、
上記音声再生手段が、上記再生制御手段による上記合成音声出力処理のスケジューリングに従って、上記合成音声を出力するように機能させることを特徴とする音声合成プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009227836A JP2011075870A (ja) | 2009-09-30 | 2009-09-30 | 音声合成システム、音声合成装置及び音声合成プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009227836A JP2011075870A (ja) | 2009-09-30 | 2009-09-30 | 音声合成システム、音声合成装置及び音声合成プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011075870A true JP2011075870A (ja) | 2011-04-14 |
Family
ID=44019920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009227836A Pending JP2011075870A (ja) | 2009-09-30 | 2009-09-30 | 音声合成システム、音声合成装置及び音声合成プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011075870A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9190048B2 (en) | 2012-03-26 | 2015-11-17 | Fujitsu Limited | Speech dialogue system, terminal apparatus, and data center apparatus |
CN113160794A (zh) * | 2021-04-30 | 2021-07-23 | 京东数字科技控股股份有限公司 | 基于音色克隆的语音合成方法、装置及相关设备 |
-
2009
- 2009-09-30 JP JP2009227836A patent/JP2011075870A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9190048B2 (en) | 2012-03-26 | 2015-11-17 | Fujitsu Limited | Speech dialogue system, terminal apparatus, and data center apparatus |
CN113160794A (zh) * | 2021-04-30 | 2021-07-23 | 京东数字科技控股股份有限公司 | 基于音色克隆的语音合成方法、装置及相关设备 |
CN113160794B (zh) * | 2021-04-30 | 2022-12-27 | 京东科技控股股份有限公司 | 基于音色克隆的语音合成方法、装置及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7395792B2 (ja) | 2レベル音声韻律転写 | |
KR102239650B1 (ko) | 음성 변환 방법, 컴퓨터 장치 및 저장 매체 | |
JP4478939B2 (ja) | 音声処理装置およびそのためのコンピュータプログラム | |
JP5381988B2 (ja) | 対話音声認識システム、対話音声認識方法および対話音声認識用プログラム | |
JP6078964B2 (ja) | 音声対話システム及びプログラム | |
US20120101817A1 (en) | System and method for generating models for use in automatic speech recognition | |
EP3065130B1 (en) | Voice synthesis | |
US20130066632A1 (en) | System and method for enriching text-to-speech synthesis with automatic dialog act tags | |
WO2017006766A1 (ja) | 音声対話方法および音声対話装置 | |
Yamagishi et al. | Robustness of HMM-based speech synthesis | |
JP2014240940A (ja) | 書き起こし支援装置、方法、及びプログラム | |
JP2011504624A (ja) | 自動同時通訳システム | |
US20230169953A1 (en) | Phrase-based end-to-end text-to-speech (tts) synthesis | |
JP2007140200A (ja) | 語学学習装置およびプログラム | |
JP2013003559A (ja) | 音声合成装置、ナビゲーション装置および音声合成方法 | |
Ling et al. | Minimum Kullback–Leibler divergence parameter generation for HMM-based speech synthesis | |
JP2011075870A (ja) | 音声合成システム、音声合成装置及び音声合成プログラム | |
KR102072627B1 (ko) | 음성 합성 장치 및 상기 음성 합성 장치에서의 음성 합성 방법 | |
JP6070809B1 (ja) | 自然言語処理装置及び自然言語処理方法 | |
JP2003202895A (ja) | 対話装置及び対話制御方法、記憶媒体、並びにコンピュータ・プログラム | |
JP2014048443A (ja) | 音声合成システム、音声合成方法及び音声合成プログラム | |
JP5164041B2 (ja) | 音声合成装置、音声合成方法、及びプログラム | |
JP2022081790A (ja) | 音声合成装置、音声合成方法、および音声合成プログラム | |
Takaki et al. | Contextual additive structure for HMM-based speech synthesis | |
JP5387410B2 (ja) | 音声合成装置、音声合成方法および音声合成プログラム |