(58)【調査した分野】(Int.Cl.,DB名)
複数のノードと各ノード間の接続を表すエッジとで構成され、前記ノードのそれぞれに置換可能なテキストデータと対応する複数の音声が割り当てられて全体として文章を形成することができる有向グラフを使用して、入力された入力文に対応した音声を合成する音声合成装置であって、
複数の前記有向グラフを蓄積するグラフ群蓄積手段と、
前記入力文と、前記グラフ群蓄積手段に蓄積されている有向グラフとを比較することで、前記入力文と前記グラフ群蓄積手段に蓄積されているいずれかの有向グラフのノードにおけるテキストデータとの対応関係を得る入力文グラフ比較手段と、
前記有向グラフのノードに含まれるテキストデータを全て集めて一つのノードとし、開始ノードからのエッジと、終了ノードへのエッジを加えることで、前記開始ノード、前記一つのノード、前記終了ノードおよびこれらのノード間のエッジから構成される新たな有向グラフを生成するグラフ追加手段と、
前記入力文グラフ比較手段において一致する有向グラフがなかった場合に、前記入力文と、前記グラフ追加手段で生成された新たな有向グラフとを比較することで、前記入力文と前記新たな有向グラフのノードにおけるテキストデータとの対応関係を得る入力文追加グラフ比較手段と、
前記入力文グラフ比較手段または前記入力文追加グラフ比較手段において得られた前記対応関係を用いて、前記ノードにおけるテキストデータと対応付けられている音声について、当該音声と接続する前後の音声の接続部分における類似度が最大となる組み合わせを選択する音声選択手段と、
前記音声選択手段によって選択された音声の組み合わせを、前記入力文の構成順に接続する音声接続手段と、
を備えることを特徴とする音声合成装置。
複数のノードと各ノード間の接続を表すエッジとで構成され、前記ノードのそれぞれに置換可能なテキストデータと対応する複数の音声が割り当てられて全体として文章を形成することができる有向グラフを使用して、入力された入力文に対応した音声を合成するために、複数の前記有向グラフを蓄積するグラフ群蓄積手段を備える音声合成装置のコンピュータを、
前記入力文と、前記グラフ群蓄積手段に蓄積されている有向グラフとを比較することで、前記入力文と前記グラフ群蓄積手段に蓄積されているいずれかの有向グラフのノードにおけるテキストデータとの対応関係を得る入力文グラフ比較手段、
前記有向グラフのノードに含まれるテキストデータを全て集めて一つのノードとし、開始ノードからのエッジと、終了ノードへのエッジを加えることで、前記開始ノード、前記一つのノード、前記終了ノードおよびこれらのノード間のエッジから構成される新たな有向グラフを生成するグラフ追加手段、
前記入力文グラフ比較手段において一致する有向グラフがなかった場合に、前記入力文と、前記グラフ追加手段で生成された新たな有向グラフとを比較することで、前記入力文と前記新たな有向グラフのノードにおけるテキストデータとの対応関係を得る入力文追加グラフ比較手段、
前記入力文グラフ比較手段または前記入力文追加グラフ比較手段において得られた前記対応関係を用いて、前記ノードにおけるテキストデータと対応付けられている音声について、当該音声と接続する前後の音声の接続部分における類似度が最大となる組み合わせを選択する音声選択手段、
前記音声選択手段によって選択された音声の組み合わせを、前記入力文の構成順に接続する音声接続手段、
として機能させるための音声合成プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1で提案された音声合成方法は、入力文と一致する有向グラフがない場合は、合成音声を作成することができなかった。また、特許文献1で提案された音声合成方法は、入力文に一致する有向グラフが存在することが必ず保証されている状況では利用できたが、例えば人為的なミスなどによって有向グラフと一致しない入力文が入力された場合は、合成音声を作成することができなかった。
【0005】
本発明はかかる点に鑑みてなされたものであって、入力文と一致する有向グラフを予め備えていない場合であっても合成音声を作成することができる音声合成装置およびそのプログラムを提供する。
【課題を解決するための手段】
【0006】
前記課題を解決するために請求項1に係る音声合成装置は、複数のノードと各ノード間の接続を表すエッジとで構成され、ノードのそれぞれに置換可能なテキストデータと、当該テキストデータに対応する複数の音声が割り当てられて全体として文章を形成することができる有向グラフを使用して、入力された入力文に対応した音声を合成する音声合成装置であって、グラフ群蓄積手段と、入力文グラフ比較手段と、グラフ追加手段と、入力文追加グラフ比較手段と、音声選択手段と、音声接続手段と、を備える構成とした。
【0007】
このような構成を備える音声合成装置は、グラフ群蓄積手段によって、複数の有向グラフを蓄積し、入力文グラフ比較手段によって、入力文と、グラフ群蓄積手段に蓄積されている有向グラフとを比較することで、入力文とグラフ群蓄積手段に蓄積されているいずれかの有向グラフのノードにおけるテキストデータとの対応関係を得る。また、音声合成装置は、グラフ追加手段によって、有向グラフのノードに含まれるテキストデータを全て集めて一つのノードとし、開始ノードからのエッジと、終了ノードへのエッジを加えることで、開始ノード、一つのノード、終了ノードおよびこれらのノード間のエッジから構成される新たな有向グラフを生成する。すなわち、グラフ追加手段は、グラフ群蓄積手段に予め蓄積されている複数の有限グラフから、これら複数の有向グラフとは異なる新たな有向グラフを生成する。
【0008】
また、音声合成装置は、入力文追加グラフ比較手段によって、入力文グラフ比較手段において一致する有向グラフがなかった場合に、入力文と、グラフ追加手段で生成された新たな有向グラフとを比較することで、入力文と新たな有向グラフのノードにおけるテキストデータとの対応関係を得る。また、音声合成装置は、音声選択手段によって、入力文グラフ比較手段または入力文追加グラフ比較手段において得られた対応関係を用いて、ノードにおけるテキストデータと対応付けられている音声について、当該音声と接続する前後の音声の接続部分における類似度が最大となる組み合わせを選択する。そして、音声合成装置は、音声接続手段によって、音声選択手段において選択された音声の組み合わせを、入力文の構成順に接続する。
【0009】
なお、前記した「有向グラフ」とは、テキストデータである文章および単語などのリストを含み、かつ前記したテキストデータに対応する複数の音声が割り当てられた複数のノードと、各ノード間の接続を表すエッジとで構成されたものであり、グラフ理論において、文章および単語の繋がり方に着目した「点(ノード)とそれを結ぶ線(エッジ)」の概念のことを示している。
【0010】
請求項2に係る音声合成装置は、請求項1に係る音声合成装置において、音声蓄積手段と、音声発話内容蓄積手段と、アラインメント手段と、グラフ音声登録手段と、をさらに備える構成とした。
【0011】
このような構成を備える音声合成装置は、音声蓄積手段によって、音声の発話内容を示すテキストデータと対応付けられている複数の音声を蓄積し、音声合成装置は、音声発話内容蓄積手段によって、予め入力された音声の発話内容を示すテキストデータを蓄積する。また、音声合成装置は、アラインメント手段によって、音声発話内容蓄積手段に蓄積された音声の発話内容を示すテキストデータと、当該音声の音声波形の対応する区間とを比較して対応付け、この対応付けた対応関係を音声蓄積手段に蓄積する。また、音声合成装置は、グラフ音声登録手段によって、例えば有向グラフのノードのそれぞれにテキストデータのみが割り当てられている場合に、予め入力された複数の有向グラフのいずれかと音声発話内容蓄積手段に蓄積された発話内容を示すテキストデータとを比較する。そして、グラフ音声登録手段は、当該比較処理の結果、発話内容を示すテキストデータが有向グラフをどのように通るか決定し、当該テキストデータと当該有向グラフとを対応づけて、その対応付けたテキストデータに対応する区間の音声を音声蓄積手段から取得してグラフ群蓄積手段に蓄積する。
【0012】
請求項3に係る音声合成装置は、請求項1または請求項2に係る音声合成装置において、音声補正手段をさらに備え、音声接続手段が、音声補正手段で補正された音声の組み合わせを接続する構成とした。
【0013】
このような構成を備える音声合成装置は、音声補正手段によって、音声選択手段で選択された音声において、当該音声の音声波形同士の接続部分における音の高低差を少なくするように補正することで、複数の音声間のギャップを調整することができる。
【0014】
なお、前記した「高低差を少なくするように」とは、接続する音声波形の周波数または特徴量の平均値になるように調整する方法や、接続する音声波形の前方(または後方)の周波数または特徴量に近づける方法(同じ値にしてもよいし、差が所定範囲内に収まるようにしてもよい)などが挙げられる。
【0015】
前記課題を解決するために請求項4に係る音声合成プログラムは、複数のノードと各ノード間の接続を表すエッジとで構成され、ノードのそれぞれに置換可能なテキストデータと、当該テキストデータに対応する複数の音声が割り当てられて全体として文章を形成することができる有向グラフを使用して、入力された入力文に対応した音声を合成するために、複数の有向グラフを蓄積する蓄積グラフ群蓄積手段を備える音声合成装置のコンピュータを、入力文グラフ比較手段、グラフ追加手段、入力文追加グラフ比較手段、音声選択手段、音声接続手段、として機能させることとした。
【0016】
このような構成を備える音声合成プログラムは、入力文グラフ比較手段によって、入力文と、グラフ群蓄積手段に蓄積されている有向グラフとを比較することで、入力文とグラフ群蓄積手段に蓄積されているいずれかの有向グラフのノードにおけるテキストデータとの対応関係を得る。また、音声合成プログラムは、グラフ追加手段によって、有向グラフのノードに含まれるテキストデータを全て集めて一つのノードとし、開始ノードからのエッジと、終了ノードへのエッジを加えることで、開始ノード、一つのノード、終了ノードおよびこれらのノード間のエッジから構成される新たな有向グラフを生成する。すなわち、グラフ追加手段は、グラフ群蓄積手段に予め蓄積されている複数の有限グラフから、これら複数の有向グラフとは異なる新たな有向グラフを生成する。
【0017】
また、音声合成プログラムは、入力文追加グラフ比較手段によって、入力文グラフ比較手段において一致する有向グラフがなかった場合に、入力文と、グラフ追加手段で生成された新たな有向グラフとを比較することで、入力文と新たな有向グラフのノードにおけるテキストデータとの対応関係を得る。また、音声合成プログラムは、音声選択手段によって、入力文グラフ比較手段または入力文追加グラフ比較手段において得られた対応関係を用いて、ノードにおけるテキストデータと対応付けられている音声について、当該音声と接続する前後の音声の接続部分における類似度が最大となる組み合わせを選択する。そして、音声合成プログラムは、音声接続手段によって、音声選択手段において選択された音声の組み合わせを、入力文の構成順に接続する。
【発明の効果】
【0018】
請求項1および請求項4に係る発明によれば、入力文と一致する有向グラフがなかった場合に、既存の有向グラフから新たな有向グラフを生成し、当該新たな有向グラフを用いて音声合成を行うため、入力文と一致する有向グラフを予め備えていない場合であっても合成音声を作成することができる。
【0019】
請求項2に係る発明によれば、音声の音声波形と音声の発話内容を示すテキストデータから有向グラフに音声を割り当てることができる。
【0020】
請求項3に係る発明によれば、合成する音声について、聴覚上の違和感の生じるおそれを是正することができる。
【発明を実施するための形態】
【0022】
本発明の実施形態に係る音声合成装置およびそのプログラムについて、図面を参照しながら説明する。なお、以下の説明において、同一の構成については同一の名称及び符号を付し、詳細説明を省略する。
【0023】
<第1実施形態>
[音声合成装置の構成]
本発明に係る音声合成装置の構成について、
図1を参照しながら説明する。音声合成装置1は、入力文に対応する音声を合成するものであり、具体的には
図1に示すように、有向グラフを利用して外部から入力される入力文(テキスト)に対応する音声を合成して出力するものである。この音声合成装置1は、例えばラジオ放送における気象通報などにおいて、合成音声によって気象情報を放送する場合などに用いられる。
【0024】
音声合成装置1は、ここでは
図1に示すように、グラフ群蓄積手段10と、入力文グラフ比較手段20と、グラフ追加手段30と、入力文追加グラフ比較手段40と、音声選択手段50と、音声接続手段60と、を備えている。
【0025】
グラフ群蓄積手段10は、有向グラフを蓄積するものである。グラフ群蓄積手段10は、予め外部から入力された複数の有向グラフを蓄積し、
図1に示すように、後記する入力文グラフ比較手段20およびグラフ追加手段30の求めに応じて、当該有向グラフを出力する。また、グラフ群蓄積手段10は、具体的にはデータを記憶することができるハードディスクまたはフラッシュメモリなどで構成される。なお、グラフ群蓄積手段10は、
図1に示すように、ここでは音声合成装置1の内部に設けられているが、当該音声合成装置1の外部に設けられた構成としても構わない。
【0026】
ここで、グラフ群蓄積手段10に蓄積されている有向グラフは、複数のノードと各ノード間の接続を表すエッジとで構成され、前記したノードのそれぞれに置換可能なテキストデータと、当該テキストデータに対応する複数の音声が割り当てられて全体として文章を形成することができるものを意味している。以下、
図2および
図3を参照しながら本発明で用いられる有向グラフの具体例を説明する。
【0027】
有向グラフは、例えば
図2に示すように、「START」で示された開始ノードと、「[場所]の」という変数を含むノードA1と、「[緯度]」という変数からなるノードA2と、「[経度]付近には」という変数を含むノードA3と、「[気圧]の」という変数を含むノードA4と、「[番号]から変わった+(擾乱・・・)」、「(・・・変わった)−[擾乱種類]があって」、「[擾乱種類]があって」という変数を含むノードA5と、「ほとんど停滞しています」からなるノードA6と、「[方角]へ」という変数を含むノードA7と、「毎時[時速]で進んでいます」という変数を含むノードA8と、「END」で示された終了ノードと、各ノード間に矢印で示されたエッジと、から構成されている。なお、
図2に示す有向グラフにおいて、「[]」は変数を表している。
【0028】
また、ノードA1〜A8における各変数には、
図3に示すように、複数のテキストデータのリストが割り当てられている。例えば[場所]のリストには、「日本のはるか東、ルソン島、東シナ海、オホーツク海、・・・」などが含まれており、[緯度]のリストには、北緯0度から南緯0度までの度数が含まれており、[経度]には、東経1度から西経180度までの度数が含まれている。また、[気圧]のリストには、700ヘクトパスカルから1200ヘクトパスカルまでの数値が含まれており、[番号]のリストには、台風第1号から台風第200号までの号数が含まれている。そして、[擾乱種類]のリストには、「熱帯低気圧があって、低気圧があって、・・・」などが含まれており、[方角]のリストには、東西南北を表す16方位が含まれており、[時速]のリストには、1キロから500キロまでの速度が含まれている。
【0029】
そして、これらのリスト(置換可能なテキストデータ)は、有向グラフのノードのそれぞれに関連づけて、グラフ群蓄積手段10に蓄積されており、有向グラフを比較する際にノードに対応したリストを参照できるようになっている。また、グラフ群蓄積手段10には、
図3に示すリスト(置換可能なテキストデータ)のそれぞれに対応する音声が予め割り当てられて蓄積されている。
【0030】
入力文グラフ比較手段20は、入力文と有向グラフとを比較するものである。入力文グラフ比較手段20は、
図1に示すように、外部から入力された入力文と、グラフ群蓄積手段10に蓄積されている複数の有向グラフとを比較することで、入力文と、グラフ群蓄積手段10に蓄積されているいずれかの有向グラフのノードにおけるテキストデータとの対応関係を得る。そして、入力文グラフ比較手段20は、
図1に示すように、入力文に対応するテキストデータと、当該テキストデータに割り当てられた音声とを音声選択手段50に対して出力する。
【0031】
一方、入力文グラフ比較手段20は、入力文と、グラフ群蓄積手段10に蓄積されている複数の有向グラフとを比較した結果、一致する有向グラフがない場合は、
図1に示すように、グラフ追加手段30に対して、グラフ追加指示を出力する。これにより、後記するように、グラフ追加手段30によって新たな有向グラフが生成され、入力文追加グラフ比較手段40において再度入力文との比較処理が行われることになる。なお、
図1において、グラフ群蓄積手段10から入力文グラフ比較手段20およびグラフ追加手段30に向かう矢印に付されている符号「G1,G2」は、グラフ群蓄積手段10に元々蓄積されていた有向グラフのことを示しており、グラフ追加手段30から入力文追加グラフ比較手段40に向かう矢印に付されている符号「AG」は、グラフ追加手段30によって新たに生成された有向グラフのことを示している。
【0032】
ここで、例えば入力文グラフ比較手段20における処理の一例として、「ルソン島の、北緯16度、東経122度付近には、950ヘクトパスカルの、台風第3号から変わった熱帯低気圧があって、南へ、毎時10kmで進んでいます。」という入力文が入力された場合を考える。この場合、入力文グラフ比較手段20は、
図2に示すように、有向グラフおよび
図3のリストから、[場所]=「ルソン島」、[緯度]=「北緯16度」、[経度]=「東経122度」、[気圧]=「950ヘクトパスカル」、〈分岐1〉=「1」、[番号]=「台風第3号」、[擾乱種類]=「熱帯低気圧」、〈分岐2〉=「2」、[方角]=「南」、[時速]=「10km」という対応関係を得る。そして、入力文グラフ比較手段20は、これらのテキストデータと、当該テキストデータに割り当てられた音声とを音声選択手段50に対して出力する。
【0033】
グラフ追加手段30は、一定条件下で新たな有向グラフを生成するものである。グラフ追加手段30には、
図1に示すように、グラフ群蓄積手段10内に入力文と一致する有向グラフがない場合にグラフ追加指示が入力される。そして、グラフ追加手段30は、当該グラフ追加指示を受けて、グラフ群蓄積手段10に蓄積されている複数の有向グラフから新たな有向グラフを生成する。すなわち、グラフ追加手段30は、グラフ群蓄積手段10内の有向グラフのノードに含まれるテキストデータを全て集めて一つのノードとし、開始ノードからのエッジと、終了ノードへのエッジを加えることで、開始ノード、一つのノード、終了ノードおよびこれらのノード間のエッジから構成される新たな有向グラフを生成し(後記する
図4(c)参照)、
図1に示すように、当該有向グラフを入力文追加グラフ比較手段40に対して出力する。このように、グラフ追加手段30は、予めグラフ群蓄積手段10に蓄積されている有向グラフが入力文と一致しない場合に、当該蓄積されている有向グラフから新たな有向グラフを生成する。なお、グラフ追加手段30によって生成される新たな有向グラフの詳細については後記する具体例で説明する。
【0034】
入力文追加グラフ比較手段40は、入力文と新たに生成された有向グラフ(追加グラフ)とを比較するものである。入力文追加グラフ比較手段40は、
図1に示すように、外部から入力された入力文と、グラフ追加手段30から入力された新たな有向グラフとを比較することで、入力文と当該新たな有向グラフのノードにおけるテキストデータとの対応関係を得る。そして、入力文追加グラフ比較手段40は、
図1に示すように、入力文と対応するテキストデータと、当該テキストデータに割り当てられた音声とを音声選択手段50に対して出力する。このように、入力文追加グラフ比較手段40は、予めグラフ群蓄積手段10に蓄積されている有向グラフが入力文と一致しない場合に、グラフ追加手段30によって生成された新たな有向グラフを用いて入力文との比較処理を行う。
【0035】
音声選択手段50は、音声の組み合わせを選択するものである。音声選択手段50は、
図1に示すように、入力文グラフ比較手段20または入力文追加グラフ比較手段40において得られた対応関係を用いて、有向グラフのノードにおけるテキストデータと対応付けられている音声について、当該音声と接続する前後の音声の接続部分における類似度が最大となる組み合わせを選択する。すなわち、音声選択手段50は、前記した対応関係に基づいて、音声の組み合わせを、例えば動的計画法(ビタビアルゴリズム(Viterbi algorithm))により探索し、探索した結果(音声の組み合わせ)の中で、各音声の接続部分の類似度が最も高くなる組み合わせを選択する。なお、前記した類似度は、連結コストおよび音韻韻律コストが最小になるものを選択することができ、例えば特開2004−139033号公報(特許第4532862号公報)、あるいは特開2007−114236号公報(特許第4839058号公報)などに記載されている手段を用いて行うことができる。そして、音声選択手段50は、
図1に示すように、選択した音声の組み合わせを音声接続手段60に対して出力する。
【0036】
音声接続手段60は、音声選択手段50で選択された音声を接続するものである。音声接続手段60は、
図1に示すように、音声選択手段50によって選択された音声の組み合わせを入力文の構成順に接続し、合成音声として出力する。ここで、音声接続手段60は、例えば接続する前後の音声において、前の音声波形が100msであれば、110ms(後端側を10ms余計に取得する)取得し、110msの後側から20ms遡った部分をフェードアウトし、かつ、後の音声の音声波形が100msであれば、110ms(前端側を10ms余計に取得する)取得し、110msの前側から20ms先の部分をフェードインし、足し合わせることで音声を接続する。つまり、音声接続手段60は、前の音声の音声波形の終端と、後の音声の音声波形の先端とをフェードして足し合わせる処理を行う。
【0037】
(音声合成の具体例)
以下、本発明に係る音声合成装置1による音声合成の具体例について、
図4を参照しながら説明する。
【0038】
ここでは、例えば
図4(a)に示すように、前記した入力文グラフ比較手段20に対して、「中心から半径10キロの円内では15から20メートルの強い風が吹いています」という入力文が入力された場合を考える。そして、ここでは
図4(b)に示すように、グラフ群蓄積手段10に、「中心付近では、[風速]から、[風速]メートルの、強い風が吹いています」という有向グラフ1と、「中心から半径[距離]円内では、[風速]メートルの、強い風が吹く見込みです」という有向グラフ2とが蓄積されているものとする。
【0039】
この場合、入力文グラフ比較手段20は、まず入力文と有向グラフ1との比較を行う。なお、入力文グラフ比較手段20は、グラフ内の読点はスキップして1字ずつ比較を行うこととする。入力文と有向グラフ1とを比較すると、ノードA1−1の「中心」までは一致するが、3文字目で一致しなくなる。そのため、入力文グラフ比較手段20は、その時点で入力文と有向グラフ1との比較を終了し、入力文と有向グラフ2との比較を開始する。次に、入力文と有向グラフ2とを比較すると、ノードに対応したリスト(前記した
図3参照)に[距離]=10キロ、[風速]=15、が含まれていると仮定した場合、ノードA2−1の「中心から半径10キロの円内では15」までは一致するが、以降は一致しなくなる。そのため、入力文グラフ比較手段20は、その時点で入力文と有向グラフ2との比較を終了する。
【0040】
ここで、従来はこの時点でグラフ群蓄積手段10内の全ての有向グラフと入力文とが一致しなくなるため、音声合成が不可能となる。しかしながら、本発明に係る音声合成装置1は、グラフ追加手段30によって、有向グラフ1,2から
図4(c)に示すような新たな有向グラフを生成することで、音声合成を可能とする。
【0041】
すなわち、グラフ追加手段30は、
図4(c)に示すように、それぞれ所定の順序で並べられた有向グラフ1のノードA1−1,A1−2,A1−3,A1−4および有向グラフ2のノードA2−1,A2−2,A2−3を全て含むようなノードA3を生成し、当該ノードA−3に開始ノードと終了ノードを加えて新たな有向グラフ(追加グラフ)を生成する。
【0042】
この新たな有向グラフは、
図4(c)に示すように、[START]で示された開始ノードから、「中心付近では」、「[風速]から」、「[風速]メートルの」、「強い風が吹いています」、「中心から半径[距離]円内では」、「[風速]メートルの」、「強い風が吹く見込みです」、のいずれかへのエッジ(経路)E
Sと、これらの中でループするエッジ(経路)E
Lと、[END]で示された終了ノードへのエッジ(経路)E
Eと、を有している。そして、グラフ追加手段30は、
図1に示すように、生成した新たな有向グラフを入力文追加グラフ比較手段40に対して出力する。
【0043】
ここで、この新たな有向グラフは、
図4(c)に示すように、各ノードとテキストデータとが1対1で対応した有向グラフ1および有向グラフ2(
図4(b)参照)と異なり、一つのノードA3に複数のテキストデータ(すなわちA1−1,A1−2,A1−3,A1−4,A2−1,A2−2,A2−3で示されたテキストデータ)が割り当てられている。また、新たな有向グラフは、
図4(c)に示すように、ノードA3を構成するテキストデータ間に順序が定められていない。
【0044】
すなわち、前記した有向グラフ1では、「開始ノード→中心付近では→・・・→強い風が吹いています→終了ノード」までの順序は変えることができず、有向グラフ2では、「開始ノード→中心から半径[距離]円内では→・・・→強い風が吹く見込みです→終了ノード」までの順序は変えることができないが、
図4(c)に示す新たな有向グラフは、ノードA3に割り当てられた複数のテキストデータを任意の順序で並べることができる。従って、グラフ追加手段30によって生成される新たな有向グラフは、グラフ群蓄積手段10に予め蓄積されている有向グラフよりも条件が緩く、入力文と対応しやすくなっている。
【0045】
入力文追加グラフ比較手段40は、入力文と新たな有向グラフとの比較を行う。入力文と新たな有向グラフとを比較すると、テキストデータA2−1の「中心から半径[距離]円内では」が語尾まで一致し、テキストデータA1−2の「[風速]から」が語尾まで一致し、テキストデータA1−3の「[風速]メートルの」およびテキストデータA2−2の「[風速]メートルの」が語尾まで一致し、テキストデータA1−4の「強い風が吹いています」が語尾まで一致する。そのため、入力文追加グラフ比較手段40は、開始ノード→「中心から半径10キロの円内では」→「15から」→「20メートルの」→「強い風が吹いています」という経路を選択する。
【0046】
そして、音声選択手段50は、各ノードに属する音声の組み合わせを動的計画法により探索し、探索した音声の組み合わせの中で、各音声の接続部分の連結コストおよび音韻韻律コストが最も高くなる組み合わせを選択する。最後に、音声接続手段60は、音声選択手段50によって各音声の接続部分の類似度が最大となる音声の組み合わせが得られた場合、前の音声の音声波形の終端と、後の音声の音声波形の先端とを20ms程度フェードして足し合わせ、合成音声として出力する。
【0047】
以上のような構成を備える音声合成装置1は、予めグラフ群蓄積手段10に蓄積されている有限の有向グラフのみを用いて音声合成を行うのではなく、グラフ追加手段30によって、グラフ群蓄積手段10に蓄積されている有向グラフから新たな有向グラフを生成し、当該新たな有向グラフも利用して音声合成を行う。
【0048】
従って、音声合成装置1によれば、入力文と一致する有向グラフがなかった場合に、既存の有向グラフから新たな有向グラフを生成し、当該新たな有向グラフを用いて音声合成を行うため、入力文と一致する有向グラフを予め備えていない場合であっても合成音声を作成することができる。
【0049】
[音声合成装置の処理手順]
本発明に係る音声合成装置1の処理手順について、
図5を参照(適宜
図1を参照)しながら説明する。
【0050】
音声合成装置1は、まず入力文グラフ比較手段20によって、入力文とグラフ群蓄積手段10に蓄積されている有向グラフとを比較する(ステップS1)。次に、音声合成装置1は、グラフ群蓄積手段10内に入力文と一致する有向グラフがある場合(ステップS2においてYes)、音声選択手段50によって、入力文グラフ比較手段20において得られた対応関係を用いて、有向グラフのノードにおけるテキストデータと対応付けられている音声について、当該音声と接続する前後の音声の接続部分における類似度が最大となる組み合わせを選択する(ステップS3)。次に、音声合成装置1は、音声接続手段60によって、音声選択手段50において選択された音声の組み合わせを、入力文の構成順に接続して合成音声として出力し(ステップS4)、処理を終了する。
【0051】
一方、音声合成装置1は、グラフ群蓄積手段10内に入力文と一致する有向グラフがない場合(ステップS2においてNo)、グラフ追加手段30によって、グラフ群蓄積手段10に蓄積されている複数の有向グラフから新たな有向グラフを生成する(ステップS5)。そして、音声合成装置1は、入力文追加グラフ比較手段40によって、入力文と新たな有向グラフとを比較し(ステップS6)、ステップS3に戻る。音声合成装置1は、以上のような手順を経て音声を合成する。
【0052】
<第1実施形態の第1変形例>
音声合成装置1は、例えば
図6に示すような構成であっても構わない。すなわち、
図6に示す音声合成装置1Aは、音声合成装置1とは異なり、入力文グラフ比較手段20Aにおける処理の前に予めグラフ追加手段30Aによって新たな有向グラフが生成され、グラフ群蓄積手段10Aに蓄積されている。そして、入力文グラフ比較手段20Aは、
図6に示すように、入力文と、グラフ群蓄積手段10Aに蓄積されている複数の有向グラフのうち、グラフ追加手段30Aによって生成された新たな有向グラフ以外の有向グラフとを比較する。
【0053】
入力文グラフ比較手段20Aは、比較の結果、一致する有向グラフがない場合、
図6に示すように、入力文追加グラフ比較手段40Aに対して、グラフ比較指示を出力する。このグラフ比較指示を受けて、入力文追加グラフ比較手段40Aは、
図6に示すように、外部から入力された入力文と、グラフ群蓄積手段10Aに蓄積されている新たな有向グラフ(追加グラフ)とを比較することで、入力文と当該新たな有向グラフのノードにおけるテキストデータとの対応関係を得る。そして、入力文追加グラフ比較手段40Aは、
図6に示すように、入力文と対応するテキストデータと、当該テキストデータに割り当てられた音声とを音声選択手段50に対して出力する。
【0054】
このような構成を備える音声合成装置1Aは、グラフ追加手段30Aによって予め新たな有向グラフを生成しておけるため、音声合成時における処理速度を早めることができる。なお、
図6において、グラフ群蓄積手段10Aから入力文グラフ比較手段20Aおよびグラフ追加手段30Aに向かう矢印に付されている符号「G1,G2」は、グラフ群蓄積手段10Aに元々蓄積されていた有向グラフのことを示しており、グラフ追加手段30Aからグラフ群蓄積手段10Aに向かう矢印と、グラフ群蓄積手段10Aから入力文追加グラフ比較手段40Aに向かう矢印とに付されている符号「AG」は、グラフ追加手段30Aによって新たに生成された有向グラフのことを示している。
【0055】
<第1実施形態の第2変形例>
音声合成装置1は、例えば
図7に示すような構成であっても構わない。すなわち、
図7に示す音声合成装置1Bは、音声合成装置1とは異なり、入力文グラフ比較手段20Aにおける処理の前に予めグラフ追加手段30Bによって新たな有向グラフが生成され、追加グラフ群蓄積手段70に蓄積されている。そして、入力文グラフ比較手段20Aは、
図7に示すように、まず入力文と、グラフ群蓄積手段10に蓄積されている複数の有向グラフとを比較する。
【0056】
入力文グラフ比較手段20Aは、比較の結果、一致する有向グラフがない場合、
図7に示すように、入力文追加グラフ比較手段40Bに対して、グラフ比較指示を出力する。このグラフ比較指示を受けて、入力文追加グラフ比較手段40Bは、
図7に示すように、外部から入力された入力文と、追加グラフ群蓄積手段70に蓄積されている新たな有向グラフ(追加グラフ)とを比較することで、入力文と当該新たな有向グラフのノードにおけるテキストデータとの対応関係を得る。そして、入力文追加グラフ比較手段40Bは、
図7に示すように、入力文と対応するテキストデータと、当該テキストデータに割り当てられた音声とを音声選択手段50に対して出力する。
【0057】
このような構成を備える音声合成装置1Bは、グラフ追加手段30Bによって予め新たな有向グラフを生成しておけるため、音声合成時における処理速度を早めることができる。なお、
図7において、グラフ群蓄積手段10から入力文グラフ比較手段20Aおよびグラフ追加手段30Bに向かう矢印に付されている符号「G1,G2」は、グラフ群蓄積手段10に元々蓄積されていた有向グラフのことを示しており、グラフ追加手段30Bから追加グラフ群蓄積手段70に向かう矢印と、追加グラフ群蓄積手段70から入力文追加グラフ比較手段40Bに向かう矢印とに付されている符号「AG」は、グラフ追加手段30Bによって新たに生成された有向グラフのことを示している。
【0058】
<第2実施形態>
[音声合成装置の構成]
本発明の第2実施形態に係る音声合成装置1Cの構成について、
図8を参照しながら説明する。ここで、音声合成装置1Cは、
図8に示すように、アラインメント手段80と、音声蓄積手段90と、音声発話内容蓄積手段100と、グラフ音声登録手段110と、を新たに備えること以外は、前記した第1実施形態に係る音声合成装置1と同様の構成を備えている。従って、以下では音声合成装置1と重複する構成については同じ符号を付して説明を省略し、処理手順についても説明を省略する。
【0059】
アラインメント手段80は、音声とテキストデータとを対応付けるものである。アラインメント手段80は、
図8に示すように、音声発話内容蓄積手段100に蓄積された音声の発話内容を示すテキストデータと、当該音声の音声波形の対応する区間とを比較して対応付け、この対応付けた対応関係を音声蓄積手段90に対して蓄積する。
【0060】
アラインメント手段80には、より具体的には
図8に示すように、音声蓄積手段90に蓄積されている音声と、音声発話内容蓄積手段100に蓄積されている音声の発話内容を示すテキストデータとが入力される。そして、アラインメント手段80は、音声の音声波形の区間と当該音声の発話内容を示すテキストデータとの時間的な対応付けを行ったものを音声蓄積手段90に対して出力する。なお、前記した「アラインメント」とは、動的計画法(Dynamic Programming)を利用したマッチングを行い、音声の音声波形と、発話内容の音声区間との時間的な対応付けをとることを意味している。また、前記した「動的計画法」とは、マッチング手法の一つであり、ビタビアルゴリズムを適用するものである。以下、アラインメント手段80によりアラインメントされた一例を示す。
【0061】
(アラインメントの例)
0ms〜1470ms 「日本のはるか東の」
1470ms〜2000ms <無音>
2000ms〜2350ms 「北緯」
2350ms〜2910ms 「22度」
2910ms〜3200ms 「東経」
3200ms〜4200ms 「145度付近には」
4200ms〜5000ms <無音>
5000ms〜7520ms 「930ヘクトパスカルの」
7520ms〜10500ms「熱帯低気圧があって」
10500ms〜13900ms「ほとんど停滞しています。」
【0062】
なお、音声蓄積手段90に蓄積されている音声と、音声発話内容蓄積手段100に蓄積されている音声の発話内容とは対応しており、例えば音声蓄積手段90に蓄積されている音声が「今日の天気は晴れです。」であれば、音声発話内容蓄積手段100に蓄積されている音声の発話内容も「今日の天気は晴れです。」である。
【0063】
音声蓄積手段90は、音声を蓄積するものである。音声蓄積手段90は、予め入力された、音声の発話内容を示すテキストデータと対応付けられている複数の音声を蓄積し、
図8に示すように、アラインメント手段80およびグラフ音声登録手段110の求めに応じて、当該音声を出力する。また、音声蓄積手段90は、前記したアラインメント手段80によって音声の発話内容を示すテキストデータとの時間的な対応付けが行われた複数の音声(例えば前記したように、0ms〜1470ms 「日本のはるか東の」)を蓄積し、
図8に示すように、グラフ音声登録手段110の求めに応じて、対応関係とともに当該音声を出力する。
【0064】
音声蓄積手段90は、具体的にはデータを記憶することができるハードディスクまたはフラッシュメモリなどで構成される。なお、音声蓄積手段90は、
図8に示すように、ここでは音声合成装置1Cの内部に設けられているが、当該音声合成装置1Cの外部に設けられた構成としても構わない。
【0065】
音声発話内容蓄積手段100は、音声の発話内容を蓄積するものである。音声発話内容蓄積手段100は、予め入力された、音声の発話内容を示すテキストデータを蓄積し、
図8に示すように、アラインメント手段80の求めに応じて、当該テキストデータを出力する。また、音声発話内容蓄積手段100は、
図8に示すように、グラフ音声登録手段110の求めに応じて、音声の発話内容を示すテキストデータを出力する。
【0066】
音声発話内容蓄積手段100は、具体的にはデータを記憶することができるハードディスクまたはフラッシュメモリなどで構成される。なお、音声発話内容蓄積手段100は、
図8に示すように、ここでは音声合成装置1Cの内部に設けられているが、当該音声合成装置1Cの外部に設けられた構成としても構わない。
【0067】
グラフ音声登録手段110は、有向グラフのノードに置換可能なテキストデータに対応する音声を登録するものである。グラフ音声登録手段110は、
図8に示すように、グラフ群蓄積手段10に蓄積された、予め入力された複数の有向グラフのいずれかと、音声発話内容蓄積手段100に蓄積された発話内容を示すテキストデータとを比較する。また、グラフ音声登録手段110は、発話内容を示すテキストデータが有向グラフをどのように通るかを決定し、当該テキストデータと当該有向グラフとを対応づける。そして、グラフ音声登録手段110は、
図8に示すように、その対応付けたテキストデータに対応する区間の音声を音声蓄積手段90から取得し、グラフ群蓄積手段10に対して蓄積する。
【0068】
以上のような構成を備える音声合成装置1Cは、例えば有向グラフのノードのそれぞれにテキストデータのみが割り当てられている場合に、グラフ音声登録手段110によって、有向グラフに対応付けられたテキストデータに対して、当該テキストデータに対応する音声を割り当てることができ、音声合成を行う前の準備を行うことができる。従って、音声合成装置1Cによれば、音声の音声波形と音声の発話内容を示すテキストデータから有向グラフに音声を割り当てることができる。
【0069】
なお、
図8において、グラフ群蓄積手段10から入力文グラフ比較手段20およびグラフ追加手段30に向かう矢印に付されている符号「G1,G2」は、グラフ群蓄積手段10に元々蓄積されていた有向グラフのことを示しており、グラフ追加手段30から入力文追加グラフ比較手段40に向かう矢印に付されている符号「AG」は、グラフ追加手段30によって新たに生成された有向グラフのことを示している。
【0070】
[音声合成プログラム]
ここで、前記した音声合成装置1A,1B,1Cは、一般的なコンピュータを、前記した各手段および各部として機能させるプログラムにより動作させることで実現することができる。このプログラムは、通信回線を介して配布することも可能であるし、CD−ROM等の記録媒体に書き込んで配布することも可能である。
【0071】
具体的には、音声再生プログラムは、複数のノードと各ノード間の接続を表すエッジとで構成され、ノードのそれぞれに置換可能なテキストデータと対応する複数の音声が割り当てられて全体として文章を形成することができる有向グラフを使用して、入力された入力文に対応した音声を合成するために、複数の前記有向グラフを蓄積するグラフ群蓄積手段10,10Aを備える音声合成装置1A,1Bのコンピュータを、前記した入力文グラフ比較手段20,20A、前記したグラフ追加手段30,30A,30B、前記した入力文追加グラフ比較手段40,40A,40B、前記した音声選択手段50、前記した音声接続手段60、前記した追加グラフ群蓄積手段70、として機能させることができる。
【0072】
また、音声再生プログラムは、複数の前記有向グラフを蓄積するグラフ群蓄積手段10と、音声の発話内容を示すテキストデータと対応付けられている複数の音声を蓄積する音声蓄積手段90と、予め入力された音声の発話内容を示すテキストデータを蓄積する音声発話内容蓄積手段100と、を備える音声合成装置1Cのコンピュータを、前記した入力文グラフ比較手段20、前記したグラフ追加手段30、前記した入力文追加グラフ比較手段40、前記した音声選択手段50、前記した音声接続手段60、前記したアラインメント手段80、前記したグラフ音声登録手段110、として機能させることができる。
【0073】
以上、本発明に係る音声合成装置およびそのプログラムについて、発明を実施するための形態により具体的に説明したが、本発明の趣旨はこれらの記載に限定されるものではなく、特許請求の範囲の記載に基づいて広く解釈されなければならない。また、これらの記載に基づいて種々変更、改変等したものも本発明の趣旨に含まれることはいうまでもない。
【0074】
例えば、音声合成装置1,1A,1B,1Cは、前記したように、音声選択手段50で選択された音声を音声接続手段60によってそのまま接続していたが、例えば音声波形を調整して接続しても構わない。すなわち、音声合成装置1,1A,1B,1Cは、
図9に示すように、音声補正手段120を設け、音声選択手段50で選択された音声について、当該音声の音声波形同士の接続部分における音の高低差を少なくするように補正し、音声接続手段60によって、音声補正手段120で補正された音声の組み合わせを接続することとしても構わない。これにより、音声合成装置1,1A,1B,1Cは、音声補正手段120によって複数の音声間のギャップを調整することができるため、合成する音声について、聴覚上の違和感の生じるおそれを是正することができる。
【0075】
また、前記した音声合成装置1Cは、第1実施形態に係る音声合成装置1にアラインメント手段80、音声蓄積手段90、音声発話内容蓄積手段100、グラフ音声登録手段110を追加した構成としたが、例えば第1実施形態の変形例に係る音声合成装置1A,1B(
図6および
図7)にアラインメント手段80、音声蓄積手段90、音声発話内容蓄積手段100、グラフ音声登録手段110を追加した構成としても構わない。このような構成であっても、前記した音声合成装置1Cと同様の効果を奏する。