まず、本発明の実施形態を理解し易くするために、音声合成技術について説明する。
音声合成技術における処理は、例えば、言語解析処理、韻律情報生成処理、および波形生成処理を含む。言語解析処理は、辞書等を用いて入力テキストを言語的に解析することにより、例えば読み情報を含む、発声情報を生成する。韻律情報生成処理は、上記発声情報に基づき、例えばルール及び統計的モデル等を用いて、音素継続長及びF0パタン等の韻律情報を生成する。波形生成処理は、発声情報及び韻律情報に基づいて、例えば、短時間波形である素片波形、及び、モデル化された特徴量ベクトル等を用いて、音声波形を生成する。
次に、以下、本発明の実施形態について図面を参照して説明する。尚、各実施形態について、同様な構成要素には同じ符号を付し、適宜説明を省略する。なお、以下に挙げる各実施形態はそれぞれ例示であり、本発明は以下の各実施形態の内容に限定されない。
<第1の実施形態>
以下、第1の実施形態に係る音声処理装置であるF0判定装置100について、図面を参照して詳細に説明する。図1は、本発明の第1の実施形態に係るF0パタン判定装置100の処理構成例を示すブロック図である。図1を参照すると、本実施形態におけるF0パタン判定装置100は、元発話F0パタン保存部104(第1の保存部)と、元発話F0パタン判定部105(第1の判定部)とを備える。なお、図1に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明に対するなんらの限定を意図するものではない。
また、図1及び本発明の他の実施形態に係る音声処理装置の構成を表す他のブロック図において、データが送信される方向は、矢印の方向に限られない。
元発話F0パタン保存部104は、複数の元発話F0パタンを保存する。元発話F0パタンの各々には、元発話F0パタン判定情報が付与されている。元発話F0パタン保存部104は、複数の元発話F0パタンと、元発話F0パタンの各々に関連付けられた元発話F0パタン判定情報を保存していればよい。
元発話F0パタン判定部105は、元発話F0パタン保存部104に保存されている元発話F0パタン判定情報に基づいて、元発話F0パタンを適用するか否かを判定する。
図2を用いて、本実施形態の動作について説明する。図2は、本発明の第1の実施形態におけるF0パタン判定装置100の動作例を示すフローチャートである。
元発話F0パタン判定部105は、元発話F0パタン保存部104に保存された元発話F0パタン判定情報に基づいて、音声データのF0パタンに関連する元発話F0パタンを適用するか否かを判定する(ステップS101)。言い換えると、元発話F0パタン判定部105は、元発話F0パタンに付与されている元発話F0パタン判定情報に基づいて、音声合成において合成される音声データのF0パタンとして、その元発話F0パタンを使用するか否かを判定する。
以上のように、本実施形態によれば、予め決められた元発話F0パタン判定情報に基づいて適用可否を判定するので、韻律の自然性を劣化させる要因となる元発話F0パタンの再現を防ぐことが可能となる。言い換えると、元発話F0パタンのうち、韻律の自然性を劣化させる元発話F0パタンを使用せずに、音声合成を行うことができる。すなわち、本実施形態によれば、肉声に近くかつ安定性の高い合成音声を生成するので、適切なF0パタンを再現できる。
また、本実施形態におけるF0判定装置100を用いた音声合成装置は、適切なF0パタンを再現できるので、肉声に近くかつ安定性の高い合成音声を生成することができる。
<第2の実施形態>
本発明の第2の実施形態について説明する。図3は、本発明の第2の実施形態に係る音声処理装置である元発話波形判定装置200の処理構成例を示すブロック図である。図3を参照すると、本実施形態に係る元発話波形判定装置200は、元発話波形保存部202と、元発話波形判定部203とを備える。
元発話波形保存部202は、収録音声から抽出された元発話波形情報を保存する。各元発話波形情報には、元発話波形判定情報が付与されている。元発話波形情報とは、抽出元である収録音声波形をほぼ忠実に再現可能である情報である。元発話波形情報は、例えば、収録音声波形から切り出した短時間単位素片波形、又は、高速フーリエ変換(FFT)等で生成したスペクトル情報等である。また、元発話波形情報は、例えば、PCM(Pulse Code Modulation)又はATC(Adaptive Transform Coding)等の音声符号化により生成された情報、又は、ボコーダ等の分析合成系により生成された情報であってもよい。
元発話波形判定部203は、元発話波形保存部202に保存された元発話波形情報に付随する(すなわち、付与されている)元発話波形判定情報に基づいて、元発話波形情報を用いて元の収録音声波形を再現するか否かの判定を行う(ステップS201)。言い換えると、元発話波形判定部203は、元発話波形情報に付与されている元発話波形判定情報に基づいて、音声波形の再現(すなわち音声合成)に、その元発話波形情報を使用するか否かを判定する。
図4を用いて、本実施形態の動作について説明する。図4は、本発明の第2の実施形態における元発話波形判定装置200の動作例を示すフローチャートである。
元発話波形判定部203は、元発話波形判定情報に基づいて、収録音声の波形を再現するか否かの判定を行う(ステップS201)。具体的には、元発話波形判定部203は、元発話波形情報に付与されている元発話波形判定情報に基づいて、音声波形の再現(すなわち音声合成)に、その元発話波形情報を使用するか否かを判定する。
以上のように、本実施形態によれば、予め決められた元発話判定情報に基づいて収録音声の波形への適用可否を判定するため、音質劣化の要因となる元発話波形の再現を防ぐことが可能となる。言い換えると、元発話波形情報によって表される元発話波形のうち、音質劣化の要因となる元発話波形を使用せずに、音声波形の再現を行うことができる。従って、元発話波形情報のうち、音質劣化の要因となる元発話波形情報によって表される音声波形(すなわち、元発話波形)を含まない、音声波形を再現することができる。すなわち、元発話波形のうち、音質劣化の要因となる元発話波形が、再現された音声波形に含まれることを防ぐことができる。
本実施形態の効果を具体的に述べる。一般に、膨大な量の収録音声データを使用して、音声合成用データベースが作成される。そのため、素片波形に関するデータは、プログラムによって制御される計算機によって自動的に作成される。素片波形に関するデータを作成する際、使用される音声データにおける音声の質はチェックされないため、生成された素片波形には、収録時の雑音や発声の怠けによって曖昧になった音声から生成された、品質の低い素片波形が混入する恐れがある。例えば上述の特許文献1や特許文献2の技術では、波形を再現するのに使用される素片波形に、そのような品質の低い素片波形が含まれている場合、再現された音声の品質は著しく劣化してしまう。本実施形態では、予め決められた元発話判定情報に基づいて収録音声の波形への適用可否を判定するので、音質劣化の要因となる元発話波形の再現を防ぐことが可能となる。
すなわち、本実施形態によれば、肉声に近くかつ安定性の高い合成音声を生成するために、適切な素片波形である元発話波形を再現できる。
また、本実施形態における元発話波形判定装置200を用いた音声合成装置は、適切な元発話波形を再現できるので、肉声に近くかつ安定性の高い合成音声を生成することができる。
<第3の実施形態>
以下、第3の実施形態に係る音声処理装置である韻律生成装置について説明する。図5は、本発明の第3の実施形態に係る韻律生成装置300の処理構成例を示すブロック図である。図5を参照すると、本実施形態に係る韻律生成装置300は、第1の実施形態の構成に加え、標準F0パタン選択部101と、標準F0パタン保存部102と、元発話F0パタン選択部103と、を備える。韻律生成装置300は、さらに、F0パタン接続部106と、元発話発声情報保存部107と、適用区間探索部108と、を備える。
元発話発声情報保存部107は、元発話F0パタンおよび素片波形に関連付けられた、収録音声の発声内容を表現する元発話発声情報を保存する。元発話発声情報保存部107は、例えば、元発話発声情報と、その元発話発声情報に関連付けられている元発話F0パタンの識別子および素片波形の識別子とを保存していればよい。
適用区間探索部108は、元発話発声情報保存部107が保存する元発話発声情報と入力された発声情報とを照合することによって、元発話適用対象区間を探索する。言い換えると、適用区間探索部108は、入力された発声情報において、元発話発声情報保存部107が保存する元発話発声情報のいずれかの少なくとも一部と一致する部分を、元発話適用対象区間として検出する。具体的には、適用区間探索部108は、例えば、入力された発声情報を複数の区間に分割すればよい。適用区間探索部108は、入力された発声情報を分割した区間の、元発話発声情報のいずれかの少なくとも一部と一致する部分を、元発話適用対象区間として検出すればよい。
標準F0パタン保存部102は、複数の標準F0パタンを保存する。各標準F0パタンには、属性情報が付与されている。標準F0パタン保存部102は、複数の標準F0パタンと、それらの標準F0パタンの各々に付与されている属性情報とを記憶していればよい。
標準F0パタン選択部101は、入力された発声情報と、標準F0パタン保存部102に保存されている属性情報とに基づいて、標準F0パタンデータの中から、入力された発声情報が分割された区間の各々について1つずつの標準F0パタンを選択する。具体的には、標準F0パタン選択部101は、例えば、入力された発声情報が分割された区間の各々から、属性情報を抽出すればよい。属性情報については後述される。標準F0パタン選択部101は、入力された発声情報の区間について、その区間の属性情報と同じ属性情報が付与されている標準F0パタンを選択すればよい。
元発話F0パタン選択部103は、適用区間探索部108によって探索された(言い換えると検出された)元発話適用対象区間に関連する元発話F0パタンを選択する。後述されるように、元発話適用対象区間を検出する際、その元発話適用対象区間に一致する部分を含む元発話発声情報も特定される。そして、その元発話発声情報に関連付けられている元発話F0パタン(すなわち、その元発話発声情報のF0値の推移を表すF0パタン)も定まる。元発話発声情報における、元発話適用対象区間に一致する部分の場所も特定されるので、元発話発声情報に関連付けられている元発話F0パタンの、元発話適用対象区間におけるF0値の推移を表す部分(同様に元発話F0パタンと表記)も定まる。元発話F0パタン選択部103は、そのような、検出された元発話適用対象区間に対して定まる元発話F0パタンを選択すればよい。
F0パタン接続部106は、選択された標準F0パタンと元発話F0パタンを接続することによって、合成音声の韻律情報を生成する。
図6を用いて、本実施形態の動作について説明する。図6は、本発明の第3の実施形態における韻律生成装置300の動作例を示すフローチャートである。
適用区間探索部108は、元発話発声情報保存部107が保存する元発話発声情報と入力された発声情報とを照合することによって、元発話適用対象区間を探索する。言い換えると、適用区間探索部108は、入力された発声情報と元発話発声情報に基づいて、収録音声のF0パタンを合成音声の韻律情報として再現する区間(すなわち元発話適用対象区間)を、入力された発声情報において探索する(ステップS301)。
元発話F0パタン選択部103は、適用区間探索部108によって探索され、そして検出された、元発話適用対象区間に関連する元発話F0パタンを、元発話F0パタン保存部に格納されている元発話F0パタンから選択する(ステップS302)。
元発話F0パタン判定部105は、元発話F0パタン保存部104に保存されている元発話F0パタン判定情報に基づいて、その選択された元発話F0パタンを、合成音声の韻律情報として再現するか否かを判定する(ステップS303)。具体的には、元発話F0パタン判定部105は、選択された元発話F0パタンに関連付けられている元発話F0パタン判定情報に基づいて、その選択された元発話F0パタンを、合成音声の韻律情報として再現するか否かを判定する。ステップS302において選択された、元発話適用対象区間に関連する元発話F0パタンは、音声合成によって合成される音声データ(すなわち合成音声)の、その元発話適用対象区間に相当する区間におけるF0パタンとして選択された元発話F0パタンである。従って、言い換えると、元発話F0パタン判定部105は、音声合成によって合成される音声データのF0パタンとして選択された元発話F0パタンに関連付けられている元発話F0パタン判定情報に基づいて、その元発話F0パタンをその音声合成に適用するか否かを判定する。
標準F0パタン選択部101は、入力された発声情報と標準F0パタン保存部102が保存する属性情報とに基づいて、標準F0パタンの中から、入力された発声情報が分割された区間の各々について1つの標準F0パタンを選択する(ステップS304)。
F0パタン接続部106は、標準F0パタン選択部101によって選択された標準F0パタンと元発話F0パタンを接続することによって、合成音声のF0パタン(すなわち韻律情報)を生成する(ステップS305)。
なお、標準F0パタン選択部101は、適用区間探索部108によって、元発話適用対象区間と判定されなかった区間のみについて、標準F0パタンを選択しても良い。
以上のように、本実施形態によれば、予め決められた元発話F0パタン判定情報に基づいて適用可否を判定し、非適用区間や適用しない区間は標準的なF0パタンを使用する。そのため、韻律の自然性を劣化させる要因となる元発話F0パタンの再現を防ぎつつ、安定性の高い韻律を生成することが可能である。
<第4の実施形態>
以下、本発明の第4の実施形態を説明する。図7は、本発明の第4の実施形態に係る音声処理装置である音声合成装置400の概要を示す図である。
本実施形態に係る音声合成装置400は、標準F0パタン選択部101(第2の選択部)と、標準F0パタン保存部102(第3の保存部)と、元発話F0パタン選択部103(第1の選択部)と、を備える。音声合成装置400は、さらに、元発話F0パタン保存部104(第1の保存部)と、元発話F0パタン判定部105(第1の判定部)と、F0パタン接続部106(接続部)と、を備える。音声合成装置400は、さらに、元発話発声情報保存部107(第2の保存部)と、適用区間探索部108(探索部)と、素片波形選択部201(第3の選択部)と、を備える。音声合成装置400は、さらに、素片波形保存部205(第4の保存部)と、元発話波形判定部203(第3の判定部)と、波形生成部204とを備える。
本発明の各実施形態では、「保存部」は、例えば記憶装置によって実装されている。本発明の各実施形態の説明では、「保存部が情報を保存する」は、その情報がその保存部に記録されていることを表す。本実施形態では、保存部は、例えば、標準F0パタン保存部102、元発話F0パタン保存部104、元発話発声情報保存部107、及び、素片波形保存部205等である。本発明の他の実施形態では、他の名前が付与されている保存部も存在する。
元発話発声情報保存部107は、収録音声の発声内容を表現する元発話発声情報を保存する。元発話発声情報は、後述する、元発話F0パタンおよび素片波形に関連付けられている。元発話発声情報は、例えば、収録音声の音素列情報、アクセント情報、およびポーズ情報を含む。元発話発声情報は、さらに、例えば、単語区切り情報、品詞情報、文節情報、アクセント句情報、および感情表現情報等の付加情報を含んでいても良い。元発話発声情報保存部107は、例えば、少量の元発話発声情報を保存していても良い。本実施形態では、元発話発声情報保存部107は、例えば数百以上の文の発声内容の元発話発声情報を保存していることを想定する。
本実施形態の説明では、収録音声は、例えば、音声の合成に使用する音声として収録された音声である。音素列情報は、収録音声の音素の時系列(すなわち音素列)を表す。アクセント情報は、例えば、音素列において音の高さが急激に下降する位置を表す。ポーズ情報は、例えば、音素列におけるポーズの位置を示す。単語区切り情報は、例えば、音素列における単語の境界を示す。品詞情報は、例えば、単語区切り情報によって区切られる単語の各々の品詞を表す。文節情報は、例えば、音素列における文節の区切りを表す。アクセント句情報は、例えば、音素列におけるアクセント句の区切りを表す。アクセント句は、例えば、ひとまとまりのアクセントとして表現される音声フレーズを指す。感情表現情報は、例えば、収録音声における話者の感情を示す情報である。
元発話発声情報保存部107は、例えば、元発話発声情報と、その元発話発声情報に関連付けられている元発話F0パタンの節点番号(後述される)と、その元発話情報に関連付けられている素片波形の識別子とを記憶していればよい。元発話F0パタンの節点番号は、元発話F0パタンの識別子である。
後述されるように、元発話F0パタンは、収録音声から抽出されたF0の値(F0値とも表記)の推移を表す。元発話発声情報に関連付けられる元発話F0パタンは、その元発話発声情報が発声内容を表す収録音声から抽出されたF0値の推移を表す。元発話F0パタンは、例えば、収録音声から抽出された、所定時間毎の連続するF0値の組である。本実施形態では、例えば収録音声における、F0値が抽出された位置を、節点とも表記する。元発話F0パタンに含まれるF0値の各々には、例えば、節点の順番を表す節点番号が付与される。節点番号は、節点について一意に付与されていればよい。節点番号は、その節点番号が示す節点におけるF0値に関連付けられる。元発話F0パタンは、例えば、その元発話F0パタンに含まれる最初のF0値に関連付けられている節点番号と、その元発話F0パタンに含まれる最後のF0値に関連付けられている節点番号とによって特定される。元発話発声情報と元発話F0パタンは、元発話発声情報の連続する一部分(以下区間とも表記)における元発話F0パタンの部分を特定できるように関連付けられていればよい。例えば、元発話発声情報の音素の各々が、元発話F0パタンの1つ以上の節点番号(例えば、その音素に関連付けられる区間に含まれる最初のF0値及び最後のF0値)と関連付けられていればよい。
元発話発声情報と素片波形は、素片波形を接続することによって元発話発声情報の区間における波形を再現できるように関連付けられていればよい。後述されるように、素片波形は、例えば収録音声を分割することによって生成される。元発話発声情報は、例えば、その元発話発声情報が発声内容を表す収録音声を分割することによって生成された素片波形の識別子を、分割される前の順番で並べた素片波形の識別子の列に関連付けられていればよい。そして、音素の区切りが、例えば、素片波形の識別子の列における区切りに関連付けられていてもよい。
まず、発声情報が適用区間探索部108に入力される。発声情報は、合成する音声を表現する音素列情報、アクセント情報及びポーズ情報を含む。発声情報は、さらに、例えば、単語区切り情報、品詞情報、文節情報、アクセント句情報、及び感情表現情報等の付加情報を含んでいても良い。また、発声情報は、例えば発声情報を生成するよう構成された情報処理装置などによって、自律的に生成されてもよい。発声情報は、例えばオペレータによって、手動で生成されてもよい。発声情報は、どのような方法で生成されてもよい。適用区間探索部108は、入力された発声情報と、元発話発声情報保存部107に保存されている元発話発声情報とを照合することによって、元発話発声情報において、入力された発声情報に一致する区間(以下、元発話適用対象区間と表記)を選択する。適用区間探索部108は、例えば、単語、文節、又は、アクセント句などの、あらかじめ定められた種類の区分ごとに、元発話適用対象区間を抽出すればよい。適用区間探索部108は、例えば、音素列が一致しているか否かに加えて、アクセント情報や音素の前後環境等が一致しているか否かを判定することによって、入力された発声情報と元発話発声情報の区間との一致を判定する。本実施形態では、発声情報は、日本語による発声を表す。適用区間探索部108は、日本語を対象として、アクセント句ごとに適用区間を探索する。
具体的には、例えば、適用区間探索部108は、入力された発声情報をアクセント句に分割すればよい。元発話発声情報は、あらかじめアクセント句に分割されていてもよい。適用区間探索部108が、さらに、元発話発声情報をアクセント句に分割してもよい。適用区間探索部108は、例えば、入力された発声情報及び元発話発声情報の、音素列情報が表す音素列に形態素解析を行い、その結果を使用してアクセント句境界を推定してもよい。そして、適用区間探索部108は、推定したアクセント句境界において、入力された発声情報及び元発話発声情報の音素列を分割することによって、入力された発声情報及び元発話発声情報をアクセント句に分割してもよい。発声情報がアクセント句情報を含む場合、適用区間探索部108は、アクセント句情報が示すアクセント句境界において、その発声情報の音素列情報が示す音素列を分割することによって、発声情報をアクセント句に分割してもよい。適用区間探索部108は、入力された発声情報が分割されたアクセント句(以下、入力アクセント句と表記)と、元発話発声情報が分割されたアクセント句(以下、元発話アクセント句と表記)とを比較すればよい。そして、適用区間探索部108は、入力アクセント句と類似する(例えば部分的に一致する)元発話アクセント句を、入力アクセント句に関連する元発話アクセント句として選択すればよい。適用区間探索部108は、入力アクセント句に関連する元発話アクセント句において、その入力アクセント句の少なくとも一部に一致する区間を検出する。以下の説明では、元発話発声情報は、あらかじめアクセント句に分割されている。言い換えると、上述の元発話アクセント句が、元発話発声情報として、元発話発声情報保存部107に保存されている。
以下では、入力される発声情報の具体例として「あなたの/つくった/し@すてむは/PAUSE/せいじょーに/さどーしな@かった(あなたの作ったシステムは、正常に作動しなかった。)」という日本語の発声情報が入力された場合について説明する。ここで、「/」はアクセント句の区切りを意味し、「@」はアクセント位置を意味し、「PAUSE」は無音区間(ポーズ)を意味している。この場合の適用区間探索部108による処理の結果を図9に示す。図9に示す例では、「No.」は、入力アクセント句の番号を表す。「アクセント句」は、入力アクセント句を表す。「関連する元発話発声情報」は、入力アクセント句に関連する元発話発声情報として選択された、元発話発声情報を表す。「関連する元発話発声情報」が「×」である場合、入力アクセント句に類似する元発話発声情報が検出されなかったことを表す。「元発話適用区間」は、適用区間探索部108によって選択された、上述の元発話適用区間を表す。図9に示す通り、第1アクセント句は「あなたの」であり、関連する元発話発声情報は「あなたに」である。適用区間探索部108は「あなた」の区間を、第1アクセント句の元発話適用対象区間として選択する。同様にして、適用区間探索部108は、第2アクセント句の元発話適用対象区間として、元発話適用対象区間が存在しないことを示す「無し」を選択する。適用区間探索部108は、第3アクセント句の元発話適用対象区間として「し@すてむは」の区間を選択する。適用区間探索部108は、第4アクセント句の元発話適用対象区間として「せーじょー」の区間を選択する。適用区間探索部108は、第5アクセント句の元発話適用対象区間として「どーしな@」の区間を選択する。
標準F0パタン保存部102は、複数の標準F0パタンを保存する。標準F0パタンの各々には、属性情報が付与されている。標準F0パタンは、例えば、単語、アクセント句、又は、呼気段落などの、あらかじめ定められた区切りにおいて分割された区間におけるF0パタンの形状を、数点から数十点程度の制御点によって近似的に表すデータである。標準F0パタン保存部102は、日本語の発声における標準F0パタンの制御点として、例えば、アクセント句ごとの標準F0パタンとして、標準F0パタンの波形を近似するスプライン曲線の節点を保存していても良い。標準F0パタンの属性情報は、F0パタンの形状に関連する言語的情報である。標準F0パタンの属性情報は、例えば、その標準F0パタンが日本語の発声における標準F0パタンである場合、アクセント句の属性を表す、「5モーラ4型/文末/平叙文」などの情報である。このように、アクセント句の属性は、例えば、そのアクセント句のモーラ数及びアクセント位置を示す音韻情報、そのアクセント句が含まれる文におけるそのアクセント句の位置、及び、そのアクセント句が含まれる文の種類などの組み合わせであってもよい。このような属性情報が、標準F0パタンの各々に付与されている。
標準F0パタン選択部101は、入力された発声情報と標準F0パタン保存部102に保存されている属性情報とに基づいて、入力された発声情報が分割された区間の各々について、いずれかの標準F0パタンを選択する。標準F0パタン選択部101は、まず、標準F0パタンの区切りと同じ種類の区切りにおいて、入力された発声情報を分割すればよい。標準F0パタン選択部101は、入力された発声情報を分割することによって得られた区間(以下、分割された区間と表記)の各々の属性情報を導出すればよい。標準F0パタン選択部101は、分割された区間の各々の属性情報と同じ属性情報に関連付けられた標準F0パタンを、標準F0パタン保存部102に保存されている標準F0パタンから選択すればよい。入力された発声情報が日本語の発声を表す場合、標準F0パタン選択部101は、例えば、入力された発声情報を、アクセント句の境界において分割することによって、入力された発声情報をアクセント句に分割すればよい。
具体例を用いて説明する。入力された発声情報における各アクセント句の属性情報を図10に示す。上述の発声情報の例では、標準F0パタン選択部101は、入力された発声情報を、例えば図10に示すアクセント句に分割する。そして、標準F0パタン選択部101は、分割によって生成したアクセント句ごとに、例えば図10の「属性情報の例」に例示する属性を抽出する。標準F0パタン選択部101は、アクセント句の各々について、属性情報が一致する標準F0パタンを選択する。
例えば、図10に示す例では、アクセント句「あなたの」の属性情報は、「4モーラ平板型、文頭、平叙」である。標準F0パタン選択部101は、アクセント句「あなたの」について、関連付けられている属性情報が「4モーラ平板型、文頭、平叙」であるである標準F0パタンを選択する。図10に示す属性情報では、「平叙」は「平叙文」を表す。
元発話F0パタン保存部104は、複数の元発話F0パタンを保存する。元発話F0パタンの各々には、元発話F0パタン判定情報が付与される。元発話F0パタンは、収録音声から抽出されたF0パタンである。元発話F0パタンは、例えば、一定の間隔(例えば5msec程度)で抽出されたF0の値(すなわちF0値)の組(例えば列)を含む。元発話F0パタンは、さらに、F0値に関連付けられた、そのF0値が導出された収録音声における、音素を表す音素ラベル情報を含む。また、F0値は、収録音源における、そのF0値が抽出された位置の順番を表す節点番号と関連付けられる。元発話F0パタンを折れ線によって表した場合、抽出されたF0値は、折れ線の節点として表される。本実施形態では、標準F0パタンが近似的に形状を表現するのに対し、元発話F0パタンは詳細に元の収録音声を再現することが可能な情報を含む。
また、元発話F0パタンは、標準F0パタンが保存されている区間と同じ区間ごとに保存されていればよい。元発話F0パタンは、その元発話F0パタンの区間と同じ区間の、元発話発声情報保存部107に保存されている元発話発声情報と関連付けられていればよい。
元発話F0パタン判定情報は、その元発話F0パタン判定情報が関連付けられている元発話F0パタンを、音声合成に使用するか否かを示す情報である。元発話F0パタン判定情報は、音声合成に元発話F0パタンを適用するか否かを判定するのに用いられる。元発話F0パタンの保存形式の例を、図11に示す。図11には、元発話適用対象区間のうち「あな(たに)」の箇所を示してある。元発話F0パタン保存部104は、例えば図11のように、節点番号、F0値、音素情報、および元発話F0パタン判定情報を、節点の各々について保存する。さらに、上述のように、元発話発声情報の元発話F0パタンを表す節点番号の各々は、その元発話発声情報と関連付けられている。
元発話適用対象区間を範囲に含む元発話発声情報の元発話F0パタンの節点ごとの音素情報と、その元発話適用対象区間における音素情報とを比較することによって、元発話適用対象区間におけるF0値の節点番号の範囲を特定できる。従って、元発話適用対象区間が特定された場合、その元発話適用対象区間に関連する元発話F0パタン(すなわち、その元発話適用対象区間におけるF0値の推移を表すF0パタン)も特定できる。
元発話F0パタン選択部103は、適用区間探索部108によって選択された元発話適用対象区間に関連する、元発話F0パタンを選択する。1つの元発話適用対象区間に対して、複数の、関連する元発話発声情報が選択された場合、元発話F0パタン選択部103は、それらの元発話発声情報に関連する元発話F0パタンの各々を選択してもよい。すなわち、1つの元発話適用対象区間において、発声情報が一致する元発話発声情報に関連する、複数の元発話F0パタンが存在する場合、元発話F0パタン選択部103は、それらの、複数の元発話F0パタンを選択してもよい。
元発話F0パタン判定部105は、元発話F0パタン保存部104に保存された元発話F0パタン判定情報に基づいて、選択された元発話F0パタンを音声合成に使用するか否かを判定する。本実施形態では、図11のように、元発話F0パタン判定情報として、0又は1によって表される適用可否フラグが、予め定められている区間(例えば、節点)ごとに、元発話F0パタンに付与されている。図11に示す例では、節点毎に元発話F0パタンに付与された適用可否フラグは、元発話F0パタン判定情報として、適用可否フラグが付与された節点におけるF0値に関連付けられている。本実施形態の説明では、元発話F0パタンに含まれる全てのF0値に関連付けられている適用可否フラグが「1」である場合、適用可否フラグは、その元発話F0パタンが使用されることを表す。
元発話F0パタンに含まれるいずれかのF0値に関連付けられている適用可否フラグが「0」である場合、適用可否フラグは、その元発話F0パタンが使用されないことを表す。例えば、節点番号が「151」である節点において、F0値は「220.323」であり、音素は「a」であり、そして、元発話F0パタン判定情報は「1」である。すなわち、元発話F0パタン判定情報である適用可否フラグが1である。元発話F0パタンが、節点番号が「151」であるF0値のように、適用可否フラグが1であるF0値によって表される場合、適用可否フラグが1であるため、元発話F0パタン判定部105は、その元発話F0パタンを使用すると判定する。図11に示すように、節点番号が「151」である節点における元発話F0パタンは、F0値「220.323」である。また、例えば、節点番号が「201」である節点においては、F0値は「20.003」であり、音素は「n」であり、そして、元発話F0パタン判定情報は「0」である。すなわち、元発話F0パタン判定情報である適用可否フラグは、「0」である。元発話F0パタン判定部105は、節点番号が「201」である節点における元発話F0パタンが選択された場合、適用可否フラグが0であるため、節点番号が「201」である節点における元発話F0パタンを使用しないと判定する。図11に示すように、節点番号が「201」である節点における元発話F0パタンは、F0値「20.003」である。
複数の元発話F0パタンが選択されている場合、元発話F0パタン判定部105は、元発話F0パタンを表すF0値に関連付けられている適用可否フラグに基づいて、元発話F0パタンを使用するか否かを、元発話F0パタン毎に判定する。例えば、元発話F0パタン判定部105は、元発話F0パタンを表すF0値に関連付けられている全ての適用可否フラグが1である場合、その元発話F0パタンを使用すると判定する。元発話F0パタン判定部105は、元発話F0パタンを表すF0値に関連付けられているいずれかの適用可否フラグが1でない場合、その元発話F0パタンを使用しないと判定する。元発話F0パタン判定部105は、2つ以上の元発話F0パタンを使用すると判定してもよい。
図11に示す、例えば節点番号が「151」から「204」までのF0値のうち、節点番号が「201」から「204」までのF0値の、適用可否フラグである元発話F0パタン判定情報は「0」である。すなわち、図11に示す例では、適用可否フラグは、音素が「n」であるF0値について「0」である。図9に示す例では、第1アクセント句である「あなたの」に関連する元発話発声情報として、「あなたに」が選択されている。そして、「あなた」の区間が元発話適用区間として選択されている。例えば、図9に示す元発話適用対象区間のうち「あな(たに)」の箇所の元発話F0パタンが、図11に示す元発話F0パタンである場合、その元発話F0パタンは、適用可否フラグが「0」であるF0値を含む。具体的には、上述のように、図11に示す元発話F0パタンのうち、音素が「n」であるF0値の適用可否フラグはで「0」である。そのため、元発話F0パタン判定部105は、第1アクセント句である「あなたの」については、図11に示す元発話F0パタンを音声合成に使用しないと判定する。
適用可否フラグは、例えば、収録音声のデータからF0を抽出する際(すなわち、例えば所定間隔で収録音声のデータからF0値を抽出する際)に、あらかじめ定められた方法(又は規則)に従って付与されればよい。付与する適用可否フラグを決定する方法は、音声合成に適さない元発話F0パタンに適用可否フラグとして「0」が付与され、音声合成に適する元発話F0パタンに適用可否フラグとして「1」が付与されるように、あらかじめ定められていればよい。音声合成に適さない元発話F0パタンは、その元発話F0パタンを音声合成に使用した場合、自然な合成音声が得られにくいF0パタンである。
具体的には、付与される適用可否フラグを決定する方法として、例えば、抽出されたF0の周波数に基づく方法がある。例えば、抽出されたF0の周波数が、人間の音声から一般的に抽出されるF0の周波数の範囲(例えば50〜500Hz程度)に含まれない場合、抽出されたF0を表す元発話F0パタンに、適用可否フラグとして、「0」が付与されればよい。以下、人間の音声から一般的に抽出されるF0の周波数の範囲を、「F0想定範囲」と表記する。抽出されたF0の周波数(すなわちF0値)が、F0想定範囲に含まれる場合、そのF0値に、適用可否フラグとして、「1」が付与されればよい。また、適用可否フラグを付与する方法として、例えば、音素ラベル情報に基づく方法がある。例えば、音素ラベル情報によって示される無声音区間において抽出されたF0を表すF0値に、適用可否フラグとして、「0」が付与されればよい。音素ラベル情報によって示される有声音区間において抽出されたF0値に、適用可否フラグとして、「1」が付与されればよい。音素ラベル情報によって示される有声音区間においてF0が抽出されていない(例えば、F0値が0である、又は、F0値が上述のF0想定範囲に含まれない)場合に、そのF0値に、適用可否フラグとして「0」が付与されてもよい。例えばオペレータが、あらかじめ定められた方法に基づいて、手動で適用可否フラグを付与してもよい。例えばコンピュータが、あらかじめ定められた方法に従って適用可否フラグを付与するように構成されたプログラムによる制御によって、適用可否フラグを付与してもよい。オペレータが、コンピュータによって付与された適用可否フラグを、手動で修正してもよい。適用可否フラグを付与する方法は、以上の例に制限されない。
F0パタン接続部106は、選択された標準F0パタンと元発話F0パタンとを接続することによって、合成音声の韻律情報を生成する。F0パタン接続部106は、例えば、選択された標準F0パタン及び元発話F0パタンの端点ピッチ周波数が一致するように、標準F0パタン又は元発話F0パタンをF0周波数軸方向に平行移動させても良い。複数の元発話F0パタンが候補として選択されている場合、F0パタン接続部106は、そのうちの1つを選択した上で、選択された標準F0パタンと元発話F0パタンとを接続する。F0パタン接続部106は、例えば、標準F0パタンのピーク値と元発話F0パタンのピーク値との比率及び差分の少なくともいずれかに基づいて、選択された複数の元発話F0パタンから1つの元発話F0パタンを選択してもよい。F0パタン接続部106は、例えば、その比率が最も小さい元発話F0パタンを選択しても良い。F0パタン接続部106は、その差分が最も小さい元発話F0パタンを選択しても良い。
以上のように、韻律情報が生成される。本実施形態では、生成された韻律情報は、音素に関連付けられた、F0の一定時間毎の推移を表す、複数のF0値を含むF0パタンである。F0パタンは、音素に関連付けられた、一定時間毎のF0値を含むので、各音素の継続時間長を特定できる形で表されている。しかし、韻律情報は、各音素の継続時間の情報を含まない形で表されていてもよい。例えばF0パタン接続部106は、各音素の継続時間長を、韻律情報とは別の情報として生成してもよい。また、韻律情報は、音声波形のパワーを含んでいてもよい。
素片波形保存部205は、収録音声から作成された、例えば多数の、素片波形を保存する。素片波形の各々には、属性情報と元発話波形判定情報が付与されている。素片波形保存部205は、素片波形に加えて、その素片波形に付与され、その素片波形に関連付けられた、属性情報及び元発話波形判定情報を保存していればよい。素片波形とは、元の音声(例えば収録音声など)から、特定のルールに基づいて、特定の長さの、波形の単位として切り出された、短時間波形である。素片波形は、特定のルールに基づいて、元の音声を分割することによって生成されてもよい。素片波形は、例えば、日本語では、C(Consonant)V(Vowel)、VC、CVC、VCV等の単位素片波形である。素片波形は、収録音声波形から切り出された波形である。そのため、例えば素片波形が元の音声を分割することによって生成された場合、分割前のそれらの素片波形の順番で、それらの素片波形を接続することによって、元の音声波形を再現できる。なお、以上の説明において、「波形」は、音声の波形を表すデータを示す。
本実施形態における、各素片波形の属性情報は、一般的な単位選択型音声合成において用いられる属性情報であればよい。各素片波形の属性情報は、例えば、音素情報と、ケプストラム等に代表されるスペクトル情報、及び、元のF0情報等の少なくともいずれかとを含んでいればよい。元のF0情報は、例えば、素片波形が切り出された音声の、その素片波形の部分において抽出されたF0値、及び、音素を表していればよい。また、元発話波形判定情報は、その元発話波形判定情報が関連付けられている元発話の素片波形を、音声合成に使用するか否かを示す情報である。元発話波形判定情報は、例えば元発話波形判定部203によって、その元発話判定情報が関連付けられている元発話の素片情報を、音声合成に使用するか否かを判定するのに使用される。
素片波形選択部201は、例えば、入力された発声情報、生成された韻律情報、および、素片波形保存部205に保存されている素片波形の属性情報に基づいて、波形生成に使用する素片波形を選択する。
具体的には、素片波形選択部201は、例えば、抽出された元発話適用対象区間の発声情報に含まれる音素列情報及び韻律情報と、素片波形の属性情報に含まれる音素情報及び韻律情報(例えばスペクトル情報又は元のF0情報)とを比較する。そして、素片波形選択部201は、元発話適用対象区間の音素列と一致する音素列を示し、そして、元発話適用対象区間の韻律情報と類似する韻律情報を含む、属性情報が付与されている素片波形を抽出する。素片波形選択部201は、例えば、元発話適用対象区間の韻律情報との距離が閾値より小さい韻律情報を、元発話適用対象区間の韻律情報と類似する韻律情報と判定すればよい。素片波形選択部201は、例えば、元発話適用対象区間の韻律情報及び素片波形の属性情報に含まれる韻律情報(すなわち素片波形の韻律情報)において、一定時間毎のF0値(すなわちF0値の列)を特定すればよい。素片波形選択部201は、上述の韻律情報の距離として、特定したF0値の列の距離を算出すればよい。素片波形選択部201は、元発話適用対象区間の韻律情報において特定したF0値の列から順に1つのF0値を選択し、素片波形の韻律情報にF0値の列から順に1つのF0値を選択すればよい。素片波形選択部201は、2つのF0値の列の間の距離として、それらの列から選択した2つのF0値の、例えば、差の絶対値の累積和、又は、差の2乗の累積和の平方根などを算出すればよい。素片波形選択部201による、素片波形を選択する方法は、以上の例に限られない。
元発話波形判定部203は、元発話適用対象区間において素片波形を使用して元の収録音声波形を再現するか否かの判定を、素片波形保存部205に保存されたその素片波形に関連付けられている元発話波形判定情報に基づいて行う。本実施形態では、元発話波形判定情報として、0又は1によって表される適用可否フラグが、予め単位素片波形ごとに付与されている。元発話適用対象区間において、元発話波形判定情報である適用可否フラグが1である場合、元発話波形判定部203は、音声合成に、その元発話波形判定情報に関連付けられている素片波形を使用すると判定する。選択された元発話F0パタンの適用可否フラグの値が1である場合、元発話波形判定部203は、選択された元発話F0パタンに、その元発話波形判定情報に関連付けられている素片波形を適用する。元発話適用対象区間において、元発話波形判定情報である適用可否フラグが0である場合、元発話波形判定部203は、音声合成に、その元発話波形判定情報に関連付けられている素片波形を使用しないと判定する。元発話波形判定部203は、以上の処理を、選択された元発話F0パタンの適用可否フラグの値に関わらず実行する。従って、音声合成装置400は、F0パタンと素片波形のどちらか一方のみを使用して、元発話の音声を再現することも可能である。
以上の例では、元発話波形判定情報である適用可否フラグの値が1である場合、その元発話波形判定情報は、その元発話波形判定情報が関連付けられている素片波形を使用することを表す。元発話波形判定情報である適用可否フラグの値が0である場合、その元発話波形判定情報は、その元発話波形判定情報が関連付けられている素片波形を使用しないことを表す。適用可否フラグの値は、以上の例における値と異なっていていてもよい。
素片波形に付与される適用可否フラグは、例えば、予め各素片波形を分析した結果を用いて、音声合成に使用した場合、自然な合成音声が得られない素片波形に「0」が、そうではない素片波形には「1」が付与されるように決定されればよい。素片波形に付与される適用可否フラグは、適用可否フラグの値を付与するように実装されたコンピュータ等によって、又は、オペレータ等によって手動で、付与されていればよい。素片波形の分析では、例えば、同じ属性情報を持つ素片波形のスペクトル情報に基づく分布が生成されればよい。そして、生成された分布のセントロイドから大きく外れている素片波形が特定され、特定された素片波形に適用可否フラグとして0が付与されても良い。素片波形に付与された適用可否フラグは、例えば、手動により修正されても良い。または、素片波形に付与された適用可否フラグは、所定の方法に従って適用可否フラグを修正するよう実装されたコンピュータ等により、他の方法で自動的に修正されても良い。
波形生成部204は、生成された韻律情報に基づいて、選択された素片波形を編集すること、及び、それらの素片波形を接続することによって、合成音声を生成する。合成音声を生成する方法として、韻律情報と素片波形とに基づいて合成音声を生成する、さまざまな方法を適用できる。
素片波形保存部205には、元発話F0パタン保存部104に保存されている全ての元発話F0パタンに関連する素片波形が保存されていればよい。しかし、素片波形保存部205に、必ずしも全ての元発話F0パタンに関連する素片波形が保存されていなくてもよい。その場合において、元発話波形判定部203が選択された元発話F0パタンに関連する素片波形がないことを判定した場合、波形生成部204は、素片波形による元発話の再現を行わなくても良い。
図8を用いて、本実施形態の音声合成装置400の動作について説明する。図8は、本発明の第4の実施形態における音声合成装置400の動作例を示すフローチャートである。
音声合成装置400に発声情報が入力される(ステップS401)。
適用区間探索部108は、元発話発声情報保存部107が保存する元発話発声情報と、入力された発声情報とを照合することによって、元発話適用対象区間を抽出する(ステップS402)。言い換えると、適用区間探索部108は、元発話発声情報保存部107が保存する元発話発声情報と、入力された発声情報とを照合する。そして、適用区間探索部108は、入力された発声情報において、元発話発声情報保存部107が保存する元発話発声情報の少なくとも一部に一致する部分を、元発話適用対象区間として抽出する。適用区間探索部108は、例えば、まず、入力された発声情報を、例えばアクセント句などの複数の区間に分割すればよい。適用区間探索部108は、分割によって生成されたそれら区間の各々において、元発話適用対象区間の探索を行えばよい。元発話適用対象区間が抽出されない区間が存在してもよい。
元発話F0パタン選択部103は、抽出された元発話適用対象区間に関連する元発話F0パタンを選択する(ステップS403)。すなわち、元発話F0パタン選択部103は、抽出された元発話適用対象区間におけるF0値の推移を表す元発話F0パタンを選択する。言い換えると、元発話F0パタン選択部103は、抽出された元発話適用対象区間におけるF0値の推移を表す元発話F0パタンを、その元発話適用対象区間を範囲に含む元発話発声情報の元発話F0パタンにおいて特定する。
元発話F0パタン判定部105は、選択された元発話F0パタンを、再現される音声データのF0パタンとして使用するか否かを、その元発話F0パタンに関連付けられた元発話F0パタン判定情報に基づいて判定する(ステップS404)。言い換えると、元発話F0パタン判定部105は、選択された発話F0パタンに関連付けられている元発話F0パタン判定情報に基づいて、入力された発声情報を音声として再現する音声合成に、その元発話F0パタンを使用するか否かを判定する。すなわち、元発話F0パタン判定部105は、選択された発話F0パタンに関連付けられている元発話F0パタン判定情報に基づいて、その元発話F0パタンを、再現される音声におけるF0パタンとして使用するか否かを判定する。なお、前述のように、元発話F0パタンは、及び、その元発話F0パタンに関連付けられている元発話F0パタン判定情報は、元発話F0パタン保存部104に保存されている。
標準F0パタン選択部101は、入力された発声情報と標準F0パタン保存部102が保存する属性情報とに基づいて、入力された発声情報を分割することによって生成された区間毎に1つの標準F0パタンを選択する(ステップ405)。標準F0パタン選択部101は、標準F0パタン保存部102が保存する標準F0パタンから、標準F0パタンを選択すればよい。
以上により、入力された発声情報に含まれる区間の各々に、標準F0パタンが選択されている。また、それらの区間は、さらに元発話F0パタンが選択されている、元発話適用対象区間が選択された区間を含みうる。
F0パタン接続部106は、標準F0パタン選択部101によって選択された標準F0パタンと元発話F0パタンを接続することによって、合成音声のF0パタン(すなわち韻律情報)を生成する(ステップS406)。
具体的には、F0パタン接続部106は、例えば、入力された発声情報が分割された区間のうち、元発話適用対象区間を含まない区間の接続用F0パタンとして、その区間について選択された標準F0パタンを選択する。そして、F0パタン接続部106は、元発話適用対象区間を含む区間の接続用F0パタンの、元発話適用対象区間に応じた部分は選択された元発話F0パタンに、他の部分は選択された標準F0パタンになるように、その接続用F0パタンを生成する。F0パタン接続部106は、入力された発声情報が分割された区間の接続用F0パタンを、元の発声情報におけるそれらの区間の順番と同じ順番で並ぶように接続することによって、合成音声のF0パタンを生成する。
素片波形選択部201は、入力された発声情報、生成された韻律情報、および、素片波形保存部205に保存されている素片波形の属性情報に基づいて、音声合成(特に波形生成)に使用する素片波形を選択する(ステップS407)。
元発話波形判定部203は、素片波形保存部205に保存された素片波形に関連付けられている元発話波形判定情報に基づいて、元発話適用対象区間において選択された素片波形を用いて元の収録音声波形を再現するか否かを判定する(ステップS408)。すなわち、元発話波形判定部203は、元発話適用対象区間において、選択された素片波形を使用して元の収録音声波形を再現するか否かを判定する。言い換えると、元発話波形判定部203は、元発話適用対象区間における音声合成に、その元発話適用対象区間において選択された素片波形を使用するか否かを、素片波形に関連付けられている元発話波形判定情報に基づいて判定する。
波形生成部204は、生成された韻律情報に基づいて、選択された素片波形を、編集し、接続することにより、合成音声を生成する(ステップS409)。
以上のように、本実施形態によれば、予め決められた元発話F0パタン判定情報に基づいて適用可否を判定し、非適用区間や適用しない区間は標準的なF0パタンが使用される。そのため、韻律の自然性を劣化させる要因となる元発話F0パタンが使用されるのを防ぐことができる。また、安定性の高い韻律を生成することが可能である。
さらに、本実施形態によれば、予め決められた元発話判定情報に基づいて、素片波形の収録音声の波形への使用の可否を判定する。そのため、音質劣化の要因となる元発話波形の使用を防ぐことが可能となる。すなわち、本実施形態によれば、肉声に近くかつ安定性の高い合成音声を生成できる。
また、以上で説明した本実施形態では、元発話適用区間に関連する元発話F0パタンの中に、元発話F0パタン判定情報が「0」であるF0値が存在する場合、その元発話F0パタンを音声合成に使用しない。しかし、元発話F0パタンが、元発話F0パタン判定情報が「0」であるF0値を含む場合、元発話F0パタン判定情報が「0」であるF0値以外のF0値を、音声合成に使用してもよい。
<第4の実施形態の第1の変形例>
以下、発明の第4の実施形態の第1の変形例を説明する。本変形例は、本発明の第4の実施形態と同様の構成を備えている。
本変形例においては、元発話F0パタン保存部104に保存されているF0値には、元発話F0パタン判定情報として、予め特定の単位ごとに、例えば0以上の、連続的なスカラー値が付与されている。
上述の特定の単位は、特定の規則に従って区切られたF0値の列である。その特定の単位は、例えば、日本語では、同一のアクセント句のF0パタンを表すF0値の列であってもよい。そのスカラー値は、例えば、そのスカラー値が付与されているF0値の列が表すF0パタンを音声合成に使用した場合に、生成される合成音声の自然さの程度を表す数値であってもよい。本変形例では、そのスカラー値が大きいほど、そのスカラー値が付与されているF0パタンを使用して生成される合成音声の自然さの程度が高い。そのスカラー値は、あらかじめ実験的に決められていればよい。
元発話F0パタン判定部105は、元発話F0パタン保存部104に保存された元発話F0パタン判定情報に基づいて、選択された元発話F0パタンを音声合成に使用するか否かを判定する。元発話F0パタン判定部105は、例えば、予め設定した閾値に基づいて判定を行ってもよい。元発話F0パタン判定部105は、例えば、スカラー値である元発話F0パタン判定情報と閾値とを比較し、比較の結果、スカラー値が閾値よりも大きい場合、選択された元発話F0パタンを音声合成に使用すると判定すればよい。元発話F0パタン判定部105は、スカラー値が、閾値より小さい場合、選択された元発話F0パタンを音声合成に使用しないと判定する。複数の元発話F0パタンが、上述の「一致する発声情報」を持つ元発話F0パタンとして選択された場合、元発話F0パタン判定部105は、元発話F0パタン判定情報を使用して、1つの元発話F0パタンを選択しても良い。その場合、元発話F0パタン判定部105は、例えば、それらの複数の元発話F0パタンの中から、最も大きい元発話F0パタン判定情報が関連付けられている元発話F0パタンを選択しても良い。また、元発話F0パタン判定部105は、例えば、入力された発声情報の同じ区間について選択された元発話F0パタンの数を制限するのに、元発話F0パタン判定情報の値を使用してもよい。元発話F0パタン判定部105は、例えば、入力された発声情報の同じ区間について選択された元発話F0パタンの数が閾値を超えている場合、例えば、関連付けられている元発話F0パタン判定情報の値が最も小さい元発話F0パタンを、その区間について選択されている元発話F0パタンから除外してもよい。
元発話F0パタン判定情報の値は、元の収録音声のデータからF0を抽出する際に、例えばコンピュータなどによって自動的に付与されても、オペレータなどによって手動で付与されても良い。元発話F0パタン判定情報の値は、例えば、元発話のF0平均値からの乖離の程度を数値化した値であっても良い。
以上の本変形例の説明では、元発話F0パタン判定情報は連続値であるが、元発話F0パタン判定情報は離散値であってもよい。
<第4の実施形態の第2の変形例>
以下、本発明の第4の実施形態の第2の変形例を説明する。本変形例は、本発明の第4の実施形態と同様の構成を備えている。
本変形例においては、元発話F0パタン保存部104に保存されている元発話F0パタン判定情報として、予め特定の単位ごと(例えば、日本語ではアクセント句ごと)に、ベクトルによって表される複数の値が付与されている。
元発話F0パタン判定部105は、元発話F0パタン保存部104に保存されている元発話F0パタン判定情報に基づいて、選択された元発話F0パタンを音声合成に適用するか否かを判定する。元発話F0パタン判定部105は、判定の方法として、例えば、予め設定した閾値に基づく方法を用いても良い。元発話F0パタン判定部105は、ベクトルである元発話F0パタン判定情報の重み付き線形和と閾値とを比較し、重み付き線形和が閾値より大きい場合、選択された元発話F0パタンを使用すると判定しても良い。元発話F0パタン判定部105は、重み付き線形和が閾値より小さい場合、選択された元発話F0パタンを使用しないと判定しても良い。複数の元発話F0パタンが、上述の「一致する発声情報」を持つ元発話F0パタンとして選択された場合に、元発話F0パタン判定部105は、元発話F0パタン判定情報を使用して、1つの元発話F0パタンを選択しても良い。その場合、元発話F0パタン判定部105は、例えば、それらの複数の元発話F0パタンの中から、最も大きい元発話F0パタン判定情報が関連付けられている元発話F0パタンを選択しても良い。また、元発話F0パタン判定部105は、例えば、入力された発声情報の同じ区間について選択された元発話F0パタンの数を制限するのに、元発話F0パタン判定情報の値を使用してもよい。元発話F0パタン判定部105は、例えば、入力された発声情報の同じ区間について選択された元発話F0パタンの数が閾値を超えている場合、例えば、関連付けられている元発話F0パタン判定情報の値が最も小さい元発話F0パタンを、その区間について選択されている元発話F0パタンから除外してもよい。
元発話F0パタン判定情報の値は、元の収録音声のデータからF0を抽出する際に、例えばコンピュータなどによって自動的に付与されても、オペレータなどによって手動で付与されても良い。元発話F0パタン判定情報の値は、例えば、第1の変形例における元発話のF0平均値からの乖離の程度を表す値と、喜怒哀楽等の感情の強さの度合いを表す値との組み合わせであっても良い。
<第5の実施形態>
以下、本発明の第5の実施形態を説明する。図12は、本発明の第5の実施形態に係る音声処理装置である音声合成装置500の概要を示す図である。
本実施形態では、図12に示す通り、音声合成装置500は、第4の実施形態における標準F0パタン選択部101と、標準F0パタン保存部102に代えて、F0パタン生成部301と、F0生成モデル保存部302とを備える。また、音声合成装置500は、さらに、第4の実施形態における素片波形選択部201と、素片波形保存部205に代えて、波形パラメータ生成部401と、波形生成モデル保存部402と、波形特徴量保存部403とを備える。
F0生成モデル保存部302は、F0パタンを生成するためのモデルであるF0生成モデルを保存する。F0生成モデルは、例えば、隠れマルコフモデル(HMM;Hidden Markov Model)等を使用して、大量の収録音声から抽出されたF0を、統計的に学習することによってモデル化したモデルである。
F0パタン生成部301は、F0生成モデルを用いて、入力された発声情報に適したF0パタンを生成する。本実施形態では、第4の実施形態における標準F0パタンと同様の方法で生成されたF0パタンを使用する。すなわち、F0パタン接続部106では、元発話F0パタン判定部105で適用すると判定された元発話F0パタンと、生成されたF0パタンを接続する。
波形生成モデル保存部402は、波形生成パラメータを生成するためのモデルである波形生成モデルを保存する。波形生成モデルは、例えば、F0生成モデルと同様に、HMM等を使用し、大量の収録音声から抽出された波形生成パラメータを、統計的に学習することによってモデル化したモデルである。
波形パラメータ生成部401は、波形生成モデルを用いて、入力された発声情報と生成された韻律情報とに基づいて、波形生成パラメータを生成する。
波形特徴量保存部403には、元発話波形情報として、元発話発声情報と関連付けられている、波形生成パラメータと同じ形式の特徴量が、元発話波形情報として保存されている。本実施形態では、波形特徴量保存部403に保存されている元発話波形情報は、収録音声のデータを所定時間(例えば、5msec)の長さで分割することによって生成されるフレームから、フレーム毎に抽出された特徴量のベクトルである特徴量ベクトルである。
元発話波形判定部203は、元発話適用対象区間において、第4の実施形態及び第4の実施形態の変形例の各々と同様の方法によって、特徴量ベクトルの適用可否を判定する。特徴量ベクトルを適用すると判定された場合、元発話波形判定部203は、波形特徴量保存部403に保存されている特徴量ベクトルを、該当する区間の生成された波形生成パラメータを、波形特徴量保存部403に保存されている特徴量ベクトルと置き換える。すなわち、元発話波形判定部203は、特徴量ベクトルを適用すると判定された区間の、生成された波形生成パラメータを、波形特徴量保存部403に保存されている特徴量ベクトルと置き換えればよい。
波形生成部204は、特徴量ベクトルを適用すると判定された区間においては元発話波形情報である特徴量ベクトルで置換された生成された波形生成パラメータを用いて波形を生成する。
その波形生成パラメータは、例えば、メルケプストラムである。その波形生成パラメータは、元発話をほぼ再現可能である性能を持つ、他のパラメータであってもよい。すなわち、波形生成パラメータは、例えば、分析合成系として優れた性能を持つ「STRAIGHT」(非特許文献1に記載)パラメータ等であってもよい。
<非特許文献1>
H.Kawahara, et al., “Restructuring speech representations using a pitch−adaptive time−frequency smoothing and an instantaneous−frequency−based F0 extraction,” Speech Communication, vol.27, no.3−4, pp.187−207, (1999).
<他の実施形態>
上述の実施形態の各々に係る音声処理装置は、例えば、回路機構(Circuitry)によって実現される。その回路機構(Circuitry)は、例えば、メモリとそのメモリにロードされたプログラムを実行するプロセッサを備えるコンピュータであってもよい。その回路機構(Circuitry)は、例えば、メモリとそのメモリにロードされたプログラムを実行するプロセッサを備え、互いに通信可能に接続されている2つ以上のコンピュータであってもよい。その回路機構は、専用の回路(Circuit)であってもよい。その回路機構は、互いに通信可能に接続されている2つ以上の専用の回路(Circuit)であってもよい。その回路機構は、上述のコンピュータと上述の専用の回路との組み合わせであってもよい。
図13は、本発明の各実施形態に係る音声処理装置を実現できるコンピュータ1000の構成の例を表すブロック図である。
図13を参照すると、コンピュータ1000は、プロセッサ1001と、メモリ1002と、記憶装置1003と、I/O(Input/Output)インタフェース1004とを含む。また、コンピュータ1000は、記録媒体1005にアクセスすることができる。メモリ1002と記憶装置1003は、例えば、RAM(Random Access Memory)、ハードディスクなどの記憶装置である。記録媒体1005は、例えば、RAM、ハードディスクなどの記憶装置、ROM(Read Only Memory)、可搬記録媒体である。記憶装置1003が記録媒体1005であってもよい。プロセッサ1001は、メモリ1002と、記憶装置1003に対して、データやプログラムの読み出しと書き込みを行うことができる。プロセッサ1001は、I/Oインタフェース1004を介して、例えば、端末装置及び出力装置(図示されない)にアクセスすることができる。プロセッサ1001は、記録媒体1005にアクセスすることができる。記録媒体1005には、コンピュータ1000を、音声処理装置として動作させるプログラムが格納されている。
プロセッサ1001は、記録媒体1005に格納されている、コンピュータ1000を、音声処理装置として動作させるプログラムを、メモリ1002にロードする。そして、プロセッサ1001が、メモリ1002にロードされたプログラムを実行することにより、コンピュータ1000は、音声処理装置として動作する。
以下に示す第1グループに含まれる各部は、例えば、記録媒体1005から各部の機能を実現することができる専用のプログラムがロードされたメモリ1002と、そのプログラムを実行するプロセッサ1001により実現することができる。第1グループは、標準F0パタン選択部101、元発話F0パタン選択部103、元発話F0パタン判定部105、F0パタン接続部106、適用区間探索部108、素片波形選択部201、元発話波形判定部203、及び、波形生成部204を含む。第1グループは、さらに、F0パタン生成部301、及び、波形パラメータ生成部401を含む。
また、以下に示す第2グループに含まれる各部は、コンピュータ1000が含むメモリ1002やハードディスク装置等の記憶装置1003により実現することができる。第2グループは、標準F0パタン保存部102、元発話F0パタン保存部104、元発話発声情報保存部107、元発話波形保存部202、素片波形保存部205、F0生成モデル保存部302、波形生成モデル保存部402、及び、波形特徴量保存部403を含む。
さらに、第1グループ及び第2グループに含まれる部の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
図14は、専用の回路によって実装された、本発明の第1の実施形態に係る音声処理装置であるF0パタン判定装置100の構成の例を表すブロック図である。図14に示す例では、F0パタン判定装置100は、元発話F0パタン保存装置1104と、元発話F0パタン判定回路1105とを含む。元発話F0パタン保存装置1104は、メモリによって実装されていてもよい。
図15は、専用の回路によって実装された、本発明の第2の実施形態に係る音声処理装置である元発話波形判定装置200の構成の例を表すブロック図である。図15に示す例では、元発話波形判定装置200は、元発話波形保存装置1202と、元発話波形判定回路1203とを含む。元発話波形保存装置1202は、メモリによって実装されていてもよい。元発話波形保存装置1202は、ハードディスク等の記憶装置によって実装されていてもよい。
図16は、専用の回路によって実装された、本発明の第3の実施形態に係る音声処理装置である韻律生成装置300の構成の例を表すブロック図である。図16に示す例では、韻律生成装置300は、標準F0パタン選択回路1101と、標準F0パタン保存装置1102と、F0パタン接続回路1106とを含む。韻律生成装置300は、さらに、元発話F0パタン選択回路1103と、元発話F0パタン保存装置1104と、元発話F0パタン判定回路1105と、元発話発声情報保存装置1107と、適用区間探索回路1108とを含む。元発話発声情報保存装置1107は、メモリによって実装されていてもよい。元発話発声情報保存装置1107は、ハードディスク等の記憶装置によって実装されていてもよい。
図17は、専用の回路によって実装された、本発明の第4の実施形態に係る音声処理装置である音声合成装置400の構成の例を表すブロック図である。図17に示す例では、音声合成装置400は、標準F0パタン選択回路1101と、標準F0パタン保存装置1102と、F0パタン接続回路1106とを含む。音声合成装置400は、さらに、元発話F0パタン選択回路1103と、元発話F0パタン保存装置1104と、元発話F0パタン判定回路1105と、元発話発声情報保存装置1107と、適用区間探索回路1108とを含む。音声合成装置400は、さらに、素片波形選択回路1201と、元発話波形判定回路1203と、波形生成回路1204と、素片波形保存装置1205とを含む。素片波形保存装置1205は、メモリによって実装されていてもよい。素片波形保存装置1205は、ハードディスク等の記憶装置によって実装されていてもよい。
図18は、専用の回路によって実装された、本発明の第5の実施形態に係る音声処理装置である音声合成装置500の構成の例を表すブロック図である。図18に示す例では、音声合成装置500は、F0パタン生成回路1301と、F0生成モデル保存装置1302と、F0パタン接続回路1106とを含む。音声合成装置500は、さらに、元発話F0パタン選択回路1103と、元発話F0パタン保存装置1104と、元発話F0パタン判定回路1105と、元発話発声情報保存装置1107と、適用区間探索回路1108とを含む。音声合成装置500は、さらに、元発話波形判定回路1203と、波形生成回路1204と、波形パラメータ生成回路1401と、波形生成モデル保存装置1402と、波形特徴量保存装置1403とを含む。F0生成モデル保存装置1302、波形生成モデル保存装置1402、波形特徴量保存装置1403は、メモリによって実装されていてもよい。F0生成モデル保存装置1302、波形生成モデル保存装置1402、波形特徴量保存装置1403は、ハードディスク等の記憶装置によって実装されていてもよい。
標準F0パタン選択回路1101は、標準F0パタン選択部101として動作する。標準F0パタン保存装置1102は、標準F0パタン保存部102として動作する。元発話F0パタン選択回路1103は、元発話F0パタン選択部103として動作する。元発話F0パタン保存装置1104は、元発話F0パタン保存部104として動作する。元発話F0パタン判定回路1105は、元発話F0パタン判定部105として動作する。F0パタン接続回路1106は、F0パタン接続部106として動作する。元発話発声情報保存装置1107は、元発話発声情報保存部107として動作する。適用区間探索回路1108は、適用区間探索部108として動作する。素片波形選択回路1201は、素片波形選択部201として動作する。元発話波形保存装置1202は、元発話波形保存部202として動作する。元発話波形判定回路1203は、元発話波形判定部203として動作する。波形生成回路1204は、波形生成部204として動作する。素片波形保存装置1205は、素片波形保存部205として動作する。F0パタン生成回路1301は、F0パタン生成部301として動作する。F0生成モデル保存装置1302は、F0生成モデル保存部302として動作する。波形パラメータ生成回路1401は、波形パラメータ生成部401として動作する。波形生成モデル保存装置1402は、波形生成モデル保存部402として動作する。波形特徴量保存装置1403は、波形特徴量保存部403として動作する。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、例えば近似曲線の導出方法、韻律情報生成方式および音声合成方式等に関して、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2014年12月24日に出願された日本出願特願2014−260168を基礎とする優先権を主張し、その開示の全てをここに取り込む。