説明

音声合成装置、音質修正方法およびプログラム

【課題】利用者の主観に合うように合成音声を修正することが可能な音声合成装置、音質修正方法およびプログラムを提供する。
【解決手段】音声合成装置は、合成音声取得部、範囲取得部と、劣化コスト算出部、劣化種別判定部、劣化種別取得部、修正情報生成部、および音声合成部を有する。音声合成部は、合成音声を取得する。範囲取得部は、音声における修正を行う第1の範囲を取得する。劣化コスト算出部は、第1の範囲における音質劣化に応じた劣化コストを算出する。劣化種別判別部は、修正候補劣化種別を、劣化コストに基づき判定する。劣化種別取得部は、判定された修正候補劣化種別の中から修正劣化種別を取得する。修正情報生成部は、修正劣化種別に基づき音声を修正するための修正情報を生成する。音声合成部は、修正情報に基づき音声の再合成を行うことにより、上記課題の解決を図る。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声合成装置および音質修正方法に関する。
【背景技術】
【0002】
利用者が入力したテキストを解析して合成音声に変換して読み上げる、音声合成技術がある。例えば、入力されたテキストを解析して目標韻律を作成し、出力音声を組み立てるための情報を記載した波形辞書から目標韻律に応じた適切な波形を選択して接続することにより、合成音声を生成する音声合成技術が知られている。選択できる所望の波形がないときには、使用目的に合致するよう変形を施したり、新たに波形を生成するようにしたりして、自然な音声を出力することを目指している。
【0003】
合成音声の品質向上のため、合成された音声の品質を予測する予測手段を設け、予測手段により品質が設定値範囲外であると判定された音素片を、利用者に提示する手法が知られている。また、所定の評価基準を用いて複数の合成単位の候補を選択する一次選択部と、選択された複数の候補から素片接続の歪が小さくなるように素片を選び出す二次選択部により素片選択を行う例もある。この例では、さらに、合成時に一定の品質が得られないと判定されると、代替素片処理を行う。
【0004】
また、合成音声の韻律が自然であるかを、話速、イントネーションなど複数のパラメータについてそれぞれ判定し、判定結果に応じて、信号処理または再度音声素片系列探索を実施することもある。
【0005】
一方、利用者が合成音声を聞いて品質が悪い箇所を入力し、品質が悪い箇所に対応する音素片に対してペナルティを与えて再合成することにより音質修正を行う方法も知られている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平1−284898号公報
【特許文献2】特開2006−313176号公報
【特許文献3】特開平8−263095号公報
【特許文献4】特許第3423276号公報
【特許文献5】特開2008−139631号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記のような現状の合成音声の品質は、人の発声と比べると十分とは言えない。例えば、所々で合成音声の品質劣化が存在するため、利用者が簡便に品質劣化を修正したいという要望が多い。
【0008】
しかし、予測手段により品質が設定範囲値外の音素片を利用者に提示する例では、提示された音質修正位置が利用者感覚とずれている場合があり、利用者の感覚どおりに音質を修正できないことがある。合成音声の品質を向上させるために音素等を選び直す例では、選びなおした音素等を単純に再合成するだけでは、新規に選ばれた音素または音素列が、利用者の希望する音質になるとは限らず、音質が修正できないことがある。
【0009】
一方、利用者が品質の悪い箇所を指摘する例においては、利用者が音質修正箇所を的確に指定することは難しく、漠然と指定した場合に、利用者が望まない部分の音質修正を行ってしまう場合がある。
【0010】
上記課題に鑑み、本発明は、利用者の主観に合うように合成音声を修正することが可能な音声合成装置、音質修正方法およびプログラムを提供する。
【課題を解決するための手段】
【0011】
ひとつの態様である音声合成装置は、合成音声取得部、範囲取得部と、劣化コスト算出部、劣化種別判定部、劣化種別取得部、修正情報生成部、および音声合成部を有することを特徴としている。合成音声取得部は、合成された音声を取得する。範囲取得部は、前記音声における修正を行う第1の範囲を取得する。劣化コスト算出部は、前記第1の範囲における音質劣化に応じた情報である少なくとも一つの劣化コストを算出する。劣化種別判定部は、前記第1の範囲において修正を行う候補となる前記音質劣化の性質に応じた少なくとも一つの修正候補劣化種別を、少なくとも一つの前記劣化コストに基づき判定する。劣化種別取得部は、判定された前記修正候補劣化種別の中から修正を行うために選択される修正劣化種別を取得する。修正情報生成部は、前記修正劣化種別に基づき前記音声を修正するための修正情報を生成する。音声合成部は、前記修正情報に基づき前記音声の再合成を行う。
【0012】
別の態様である音声修正方法は、合成された音声を取得し、前記音声における修正を行う第1の範囲を取得し、前記第1の範囲における音質劣化に応じた情報である少なくとも一つの劣化コストを算出する。また、音声修正方法は、前記第1の範囲において修正を行う候補となる前記音質劣化の性質に応じた少なくとも一つの修正候補劣化種別を、少なくとも一つの前記劣化コストに基づき判定する。さらに、音声修正方法は、判定された前記修正候補劣化種別の中から修正を行うために選択される修正劣化種別を取得し、前記修正劣化種別に基づき前記音声を修正するための修正情報を生成し、前記修正情報に基づき前記音声の再合成を行うことを特徴としている。
【0013】
なお、上述した本発明に係る方法をコンピュータに行わせるためのプログラムであっても、このプログラムを当該コンピュータによって実行させることにより、上述した本発明に係る方法と同様の作用・効果を奏するので、前述した課題が解決される。
【発明の効果】
【0014】
上述した態様の音声合成装置、音声修正方法およびプログラムによれば、利用者の主観に合うように合成音声を修正することが可能となる。
【図面の簡単な説明】
【0015】
【図1】第1の実施の形態による音声合成装置の構成を示すブロック図である。
【図2】第1の実施の形態による音声合成装置の機能を示すブロック図である。
【図3】第1の実施の形態による素片選択ペナルティを示す図である。
【図4】第1の実施の形態による素片接続ペナルティを示す図である。
【図5】第1の実施の形態による「音素環境」について説明する図である。
【図6】第1の実施の形態による劣化コスト関数および劣化種別を示す図である。
【図7】第1の実施の形態による音声合成装置における劣化種別表示の動作を示すフローチャートである。
【図8】第1の実施の形態による表音テキストおよび連続音素列の表示例を示す図である。
【図9】第1の実施の形態による劣化種別判定の動作を示すフローチャートである。
【図10】第1の実施の形態による劣化位置の例を示す図である。
【図11】第1の実施の形態による劣化種別選択の動作を示すフローチャートである。
【図12】第1の実施の形態の変形例による劣化種別判定の動作を示すフローチャートである。
【図13】第2の実施の形態による音声合成装置の機能を示すブロック図である。
【図14】第2の実施の形態による劣化範囲指定の動作を示すフローチャートである。
【図15】第2の実施の形態による劣化種別指定の動作を示すフローチャートである。
【図16】標準的なコンピュータのハードウエア構成の一例を示すブロック図である。
【発明を実施するための形態】
【0016】
(第1の実施の形態)
以下、図面を参照しながら第1の実施の形態による音声合成装置について説明する。なお、本明細書において、音素とは、母音、撥音、促音、および子音の1つ1つに相当する文言である。モーラとは、母音、撥音、促音、または「子音+母音」のような、日本語発声の1音に相当する文言である。
【0017】
まず、図1および図2を参照しながら、第1の実施の形態による音声合成装置1の構成について説明する。図1は、第1の実施の形態による音声合成装置の構成を示すブロック図、図2は、第1の実施の形態による音声合成装置の機能を示すブロック図である。
【0018】
図1に示すように、音声合成装置1は、入力部3、記憶部5、音声合成部7、音質修正決定部9、および出力部11を有しており、互いにバス13で接続されている。入力部3は、音声合成装置1の利用者により操作されると、その操作内容に対応付けられている利用者からの各種情報の入力を取得し、取得した入力情報を音声合成部7または音質修正決定部9に送付する装置であり、キーボード装置、マウス装置、タッチパネル装置等である。
【0019】
記憶部5は、例えば、読出し可能な半導体記憶装置、随時書込み読出し可能な半導体記憶装置、および随時書込み読出し可能な可搬記憶媒体等である。記憶部5は、音声合成装置1の基本動作を制御するためのプログラムや、後述する音声合成を実行するために必要な情報を格納したり、音声合成の処理において必要に応じて作業領域として使用したりするための記憶装置である。
【0020】
音声合成部7は、例えば、利用者が入力部3を介して入力した表音テキストに従って音声合成の際の目標韻律を生成し、目標韻律に従って適切な音声素片の選択を行い、選択した音声素片を互いに接続することにより、選択接続情報を生成する。さらに音声合成部7は、生成された選択接続情報に基づいて波形処理を行い、合成音声を生成する。
【0021】
音質修正決定部9は、音声合成部7で生成された合成音声を取得し、利用者が入力した音質劣化を感じる音質劣化範囲を取得し、音質劣化範囲について、音質劣化の性質に応じた劣化種別を利用者に提示する。劣化種別としては、例えば「音(音質)が悪い」「抑揚が悪い」「滑舌が悪い」等が挙げられる。提示された劣化種別から利用者が修正すべき修正劣化種別を選択すると、音質修正決定部9は、選択された修正劣化種別を取得し、修正劣化種別に応じた修正を行うための修正情報を出力する。
【0022】
出力部11は、音声合成部7で合成される音声や音質修正決定部9から出力される修正情報に基づいて再合成される音声を出力するスピーカ、および音質修正決定部9で判定される劣化種別等を表示する表示装置等である。バス13は、上記各装置等を互いに接続し、データのやり取りを行う通信経路である。
【0023】
次に、図2を参照しながら、音声合成装置1の構成についてさらに詳細に説明する。図2に示すように、音声合成部7は、言語処理部23、韻律生成部25、素片選択接続部27、および波形処理部29の機能を有している。記憶部5は、言語辞書31、韻律辞書33、および波形辞書35を格納している。音質修正決定部9は、範囲取得部41、劣化コスト算出部43、劣化種別判定部45、劣化位置取得部47および修正手段決定部49の機能を有している。音質修正User Interface(UI)部21は、入力部3および出力部11のインタフェース機能を代表して表したものである。
【0024】
なお、音声合成部7、音質修正決定部9は、例えば不揮発性の記憶装置に予めそれぞれの機能を実現するためのプログラムを格納しておき、不図示の演算装置によりそれらのプログラムを読み込んで実行することにより実現される機能とすることができる。
【0025】
音質修正UI部21は、利用者と音声合成装置1との間で情報の入出力を行なうためのインタフェース装置であり、利用者から音声合成を行うための入力テキストを入力されるとともに、表音テキスト、合成音声波形を不図示の表示装置の画面などに提示する。また、音質修正UI部21は、合成音声を音声として出力し、利用者が合成音声に音質劣化を感じた場合、音声合成波形または表音テキストにおいて指定する、劣化していると感じた音質劣化範囲を取得する。更に、利用者が範囲指定した領域内で判定した音質の劣化種別を、ポップアップメニューなどで利用者へ提示し、利用者はその中から自分の感じた音質劣化内容と一致する劣化種別を選択できるように構成する。
【0026】
音声合成部7の言語処理部23は、音質修正UI部21を介して入力された入力テキストを、記憶部5に格納された言語辞書31を参照しながら品詞分解等の解析を行い、表音テキストを生成する。入力テキストとは、例えば「今日の天気は晴れです。」等、音声合成の対象となる文章などである。表音テキストとは、入力テキストの読みをカタカナで表現し、アクセント位置などを記号で表現したもので、例えば「キョ’ーノ/テ’ンキハ/ハレ’デス.」などの文字列である。ここで、「’」はアクセントの位置を、「/」はアクセント句の区切りを、「.」は文末(句点)を示している。アクセント句とは、1アクセントを構成する文節境界単位、またはそれより細かい単位の区切りを意味する。上述の文例は3アクセント句で構成され、各アクセント句が文節境界単位と一致した例である。また、言語辞書31とは、単語の読みや品詞、文法、更にはアクセント情報などを記録した情報である。
【0027】
韻律生成部25は、生成された表音テキストをさらに音素にし、韻律辞書33を参照しながら、音声合成の目標とする目標韻律を生成する。ここで韻律は、例えば音の長さ、高さ、大きさ等を、音声の時間に対する周波数、および振幅の変化で表した情報である。韻律辞書33には、例えばナレータやアナウンサ等の膨大な音声データから、様々な音の強弱や長短、高低によって構成されるリズムのバリエーションを抽出して統計処理した韻律情報が格納されている。目標韻律とは、入力テキストから合成音声を生成する際に目標とする韻律であり、前述の表音テキストに基づいて、韻律辞書33に格納された韻律情報から生成した、適切な音の強弱、長短、高低変化のリズムである。
【0028】
素片選択接続部27は、生成された目標韻律に従って波形辞書35の中から適切な音声素片の選択を行うとともに互いに接続するための選択接続情報を生成する。波形辞書35には、収録したナレータ音声波形と様々な音素情報(音声形に対応した音素名、音素長、ピッチ周波数など)が格納されている。以下、素片とは、素片選択によって選択された音素列(1つ以上の連続する音素)、またはモーラ列(1つ以上の連続するモーラ)の1まとまりを指していう。なお、素片は、選択次第で、1音素にも、N音素にもなりうる。
【0029】
素片選択接続部27は、韻律生成部25で生成された目標韻律になるべく近い素片を波形辞書35から選択(素片選択)し、更に、選択した各素片の中から、素片同士の接続境界が自然な韻律となる素片を選択(素片接続)する。素片を選択する際には、後述する素片選択ペナルティおよび素片接続ペナルティを算出し、それらを用いて算出した素片選択ペナルティ評価値PPおよび素片接続ペナルティ評価値PCがなるべく小さい値となるように選択を行う。
【0030】
素片選択接続部27は、選択接続情報と、算出した素片選択ペナルティおよび素片接続ペナルティを中間情報として範囲取得部41へ出力する。また、素片選択接続部27は、後述の修正手段決定部49から修正情報を受け取り、音声の再合成のための素片選択を再び行うとともに、素片接続情報を再生成する。
【0031】
波形処理部29では、素片選択接続部27で生成された選択接続情報に基づいて、波形辞書35から選択された素片波形を読出し、波形処理によって互いに接続し、合成音声を生成する。
【0032】
音質修正決定部9の範囲取得部41は、利用者が指定した音質劣化範囲と、音声合成部7の言語処理部23、韻律生成部25および素片選択接続部27で生成された中間情報に基づいて、音質修正を行う範囲を取得する。すなわち、範囲取得部41は、音質修正UI部21を介して利用者が指定した音質劣化範囲に対応する、合成音声の範囲(以下、対象音素範囲という)を取得する。このとき、範囲取得部41は、音質劣化範囲を完全に含んだ、音素単位、音素列単位、モーラ単位、およびモーラ列単位のいずれかの区切りを音声の再合成を行う再合成範囲として決定するように構成してもよい。
【0033】
劣化コスト算出部43は、音質劣化範囲に対応した対象音素範囲において、各劣化コストを算出する。劣化コストとその劣化コスト関数は、音声合成部7の中間情報の1つである素片選択ペナルティ、または素片接続ぺナルティを含む少なくとも1つの組み合わせによって定義される。劣化コスト算出部43は、劣化コスト関数から劣化コストを算出する。劣化コストは、上述の音質劣化範囲における音素毎、またはモーラ毎に算出することが好ましいが、合成音素単位(音素列単位、モーラ列単位)毎であってもよい。以下、音素単位、モーラ単位、音素列単位、モーラ列単位を総称して、素片単位という。劣化コストの詳細は後述する。
【0034】
なお、素片選択ペナルティとは、目標とする韻律(ピッチや音素長等)や、音響特徴量(音色等)に対し、波形辞書35から選択した音声素片の韻律や音響特徴量との差異を定量化して、ペナルティとして定義したものである。素片接続ペナルティとは、選択した素片同士を接続する際に、その境界前後の韻律や音響特徴量の差異を定量化してペナルティとして定義したものである。素片選択ペナルティ、素片接続ペナルティとも差異が大きい程、目標の韻律や音響特徴量から外れて音質劣化となる。各ペナルティの組み合わせを劣化コスト関数の構成要素として定義することで、劣化種別を判定するのに適した劣化コストとなり、劣化種別の判定精度を向上することが可能となる。素片選択ペナルティ、素片接続ペナルティの詳細は後述する。
【0035】
劣化種別判定部45は、算出された劣化コストに基づき、音質の劣化種別を判定する。劣化種別判定部45は、劣化種別を例えば「音(音質)、抑揚、滑舌」などの音質劣化の性質に分類する。各劣化種別は、少なくとも1つの劣化コストに基づいて分類される。劣化コストの中で、値の高い順から所定順位以上の劣化コストに対応する劣化種別、または、予め定められた所定の閾値を超えている劣化種別を、劣化種別判定部45は、音質修正候補の劣化種別と判定する。以下、音質修正候補の劣化種別を、修正候補劣化種別という。以下、劣化コストの値が、値の高い順から所定順位以上の劣化コストを、劣化コスト上位という。劣化種別判定部45は、判定された修正候補劣化種別を音質修正UI部21を介して利用者に提示する。
【0036】
このように、劣化種別判定部45は、各劣化コストのうち、少なくとも1つの劣化コスト上位を含む劣化種別を、音質修正候補の劣化種別と判定するように構成する。これは、劣化コストが高いものは音質劣化の原因である可能性が高く、このように劣化コスト上位を含む劣化種別が音質の劣化原因である可能性が高いためである。
【0037】
また、劣化種別判定部45は、音質修正候補の有無に関わらず、全ての劣化種別を、音質修正UI部21を介して利用者に提示してもよい。これは、利用者が感じた音質劣化の劣化種別が選択肢として無い場合、利用者が音質修正のための手段を失うことを回避するためである。音質修正候補でない劣化種別が利用者によって選択された場合は、例えば、その劣化種別の修正に最適な不図示の手動修正UIを起動するように構成することが好ましい。
【0038】
劣化位置取得部47は、音質修正候補と判定された修正候補劣化種別について、劣化種別の劣化コスト値と、その劣化位置を取得し、保持する。利用者は、音質修正UI部21上で、提示された修正候補劣化種別の中から、自らの感覚に合った劣化種別を選択する。利用者により選択され、音声合成装置1により取得された劣化種別を、以下、修正劣化種別という。
【0039】
ただし、劣化位置取得部47は、劣化種別が音質修正候補か否かに関わらず、全ての劣化種別の劣化コストとその劣化位置を取得、保持するように構成してもよい。これは、音質修正候補の劣化種別と判定できなくとも、利用者が音質劣化を感じる劣化種別として選択した場合に、その劣化種別と、対応する劣化コストを音質劣化修正候補とすることで、音質修正が可能となる。
【0040】
修正手段決定部49は、音質修正UI部21を介して利用者が選択した修正劣化種別を取得し、劣化位置取得部47から劣化種別に対応した劣化コストと劣化位置を取得し、範囲取得部41から、音声の再合成を行う再合成範囲を取得する。修正手段決定部49は、再合成範囲と、修正劣化種別に対応する各劣化コストとに基づいて音質劣化を改善するため、劣化コストに対応した素片選択ペナルティ、素片接続ペナルティを改善するための修正情報を生成し、素片選択接続部27へ出力する。修正情報は、後述する素片選択ペナルティ評価値PPおよび素片接続ペナルティ評価値PCを含む。
【0041】
以上の構成により、音声合成装置1は、利用者が指定した音質劣化範囲から音質劣化位置とその音質劣化種別を判定し、音質劣化種別を利用者へ提示する。利用者は提示された劣化種別の中から、自らの感覚に合った劣化種別を選択し、音声合成装置1は、劣化種別に応じた音質修正を行う。
【0042】
以下、図3、図4を参照しながら、素片選択ペナルティ、素片選択ペナルティ評価値PP、素片接続ペナルティおよび素片接続ペナルティ評価値PCについて説明する。図3は、素片選択ペナルティを示す図である。図3に示すように、素片選択ペナルティとは、合成する音声の目標韻律(ピッチ周波数、音素長、音響特徴量など)と、波形辞書35から選択する素片の韻律の差異を定量化してペナルティとして与えることで、より目標韻律に近い素片を選び、合成音声の音質劣化を抑えるための変数である。なお、ペナルティとは、音声の劣化度合いに対応した参照値を意味する。
【0043】
図3の表75に示すように、素片選択ペナルティとしては、ピッチペナルティPPaa、PPab、音素長ペナルティPPba、PPbb、音色ペナルティPPcaが例示されている。ピッチペナルティPPaa、PPabは、ピッチ周波数に関するペナルティである。ピッチペナルティPPaaは、目標韻律におけるピッチ周波数(以下、目標ピッチ周波数という。以下同様)が波形辞書35から選択した素片のピッチ周波数(以下、波形辞書素片ピッチ周波数という。以下同様)以上である場合である。音素長ペナルティPPbbは、目標ピッチ周波数が波形辞書素片ピッチ周波数未満である場合である。
【0044】
音素長ペナルティPPba、PPbbは、音素長に関するペナルティである。音素長ペナルティPPbaは、目標音素長が波形辞書素片音素長以上の場合であり、音素長ペナルティPPbbは、目標音素長が波形辞書素片音素長未満の場合である。音色ペナルティPPcaは、音色(音響特徴量)に関するペナルティである。音色ペナルティPPcaは、目標音色が、波形辞書素片音色と有意な差がある場合である。
【0045】
以下、素片選択ペナルティの定義の例を以下に示す。
ピッチペナルティPPaa=Σ(目標ピッチ周波数/波形辞書素片ピッチ周波数)・・・(式A1−1)
式A1−1において、Σは、対象音素範囲が単独音素である場合のピッチ比率の和を示す。
ピッチペナルティPPaa=Σ(Σ(目標ピッチ周波数/波形辞書素片ピッチ周波数))・・・(式B1−1)
式B1−1において、一つ目のΣは、対象音素範囲における全ての音素についての和を示し、二つ目のΣは、対象音素範囲における各音素の各ピッチ比率の和を示す。なお、式A1−1、式B1−1においては、目標ピッチ周波数≧波形辞書素片ピッチ周波数について合算する。
【0046】
ピッチペナルティPPab=Σ(波形辞書素片ピッチ周波数/目標ピッチ周波数)・・・(式A1−2)
ピッチペナルティPPab=Σ(Σ(波形辞書素片ピッチ周波数/目標ピッチ周波数))・・・(式B1−2)
ここで、Σについては、式A1−2は式A1−1と同様であり、式B1−2は、式B1−1と同様である。なお、式A1−2、式B1−2においては、目標ピッチ周波数<波形辞書素片ピッチ周波数について合算する。
【0047】
ピッチペナルティPPaaが高値であれば、「目標ピッチ周波数≧波形辞書素片ピッチ周波数」の傾向が強く、目標とする声の高さより合成音声が低い声である傾向が強いことを示す。また、ピッチペナルティPPabが高値であれば、「目標ピッチ周波数<波形辞書素片ピッチ周波数」の傾向が強く、目標の声の高さよりも合成音声が高い声である傾向が強いことを示す。このように、ピッチペナルティPPaa、PPabのいずれに関しても、値が高い場合には、抑揚やアクセントが不自然な合成音声となる傾向が強い。
【0048】
上記のように、(式A1−1)、(式A1−2)は、音素単位でピッチペナルティを積算し、1音素単位のピッチペナルティを算出する式である。(式B1−1)、(式B1−2)は、複数音素のピッチペナルティを積算し、音素列単位のピッチペナルティを算出する式である。両式のいずれも、目標と波形辞書素片の抑揚差を反映したペナルティとなり、抑揚の不自然さを知る手がかりとなる。算出された音素または音素列におけるピッチペナルティPPaa、PPabは、全て例えば記憶部5に保持され、必要に応じて読み出し可能であることが好ましい。
【0049】
また、ピッチペナルティPPaa、PPabを音素単位で算出する代わりにモーラ単位で算出するようにしてもよく、音素列単位で算出する代わりにモーラ列単位で算出するようにしてもよい。
【0050】
「音素長ペナルティ」は、目標音素長と波形辞書の音素長の差異をペナルティとして定量化したもので、例えば下式で定義される。
音素長ペナルティPPba=目標音素長/波形辞書音素長・・・(式A2−1)
音素長ペナルティPPba=Σ(目標音素長/波形辞書音素長)・・・(式B2−1)
Σは、対象音素範囲における各音素の音素長比率の和を示す。ここでは、目標音素長≧波形辞書音素長である場合について合算する。
音素長ペナルティPPbb=波形辞書音素長/目標音素長・・・(式A2−2)
音素長ペナルティPPbb=Σ(波形辞書音素長/目標音素長)・・・(式B2−2)
Σは、対象音素範囲における各音素の音素長比率の和を示す。ここでは、目標音素長≦波形辞書音素長である場合について合算する。
【0051】
ここで、音素長ペナルティPPbaが高値であれば「目標音素長≧波形辞書音素長」の傾向が強く、目標より早い(慌しい)合成音声である傾向が強いことを示す。音素長ペナルティPPbbが高値であれば「目標音素長<波形辞書音素長」の傾向が強く、目標より遅い(たどたどしい)合成音声である傾向が強いことを示す。いずれの場合も、滑舌が不自然な合成音声となる傾向が強い。
【0052】
なお、(式A2−1)、(式A2−2)は、音素単位で音素長ペナルティを積算し、1音素単位の音素長ペナルティを算出する。(式B2−2)(式B2−2)は、複数音素の音素長ペナルティを積算し、音素列単位の音素長ペナルティを算出する。両式のいずれも、目標と波形辞書素片の滑舌を反映したペナルティとなり、滑舌の不自然さを知る手がかりとなる。算出された音素または音素列における音素長ペナルティPPba、PPbbは、全て例えば記憶部5に保持され、必要に応じて読み出し可能であることが好ましい。
【0053】
また、音素長ペナルティPPba、PPbbを音素単位で算出する代わりにモーラ単位で算出するようにしてもよく、音素列単位で算出する代わりにモーラ列単位で算出するようにしてもよい。
【0054】
「音色ペナルティ」は、目標音色と波形辞書音素の音色との差異をペナルティとして定量化したもので、例えば下式で定義すればよい。
音色ペナルティPPca=sqrt(Σ(目標MFCC(n)−波形辞書MFCC(n)))・・・(式A3−1)
式A3−1において、Σは、対象音素範囲が単独音素である場合の音素音色の二乗和平均を示す。
【0055】
音色ペナルティPPca=Σ(sqrt(Σ(目標MFCC(n)−波形辞書MFCC(n))))・・・(式B3−1)
式B3−1において、一つ目のΣは、対象音素範囲における全ての音素についての和を示し、二つ目のΣは、対象音素範囲が単独音素である場合の各音素音色の二乗和平均を示す。
【0056】
音色ペナルティPPcaでは、音色を表現する音響特徴量として、メル周波数ケプストラム係数(Mel Frequency Cepstrum Coefficiency:MFCC)が利用される。式A3−1、式B3−1は、N次元のMFCCを音色として採用した例である。目標のMFCCは、予め目的別かつ音素別に平均的なMFCCを算出しておけばよく、目標MFCCと対象音素MFCCのN次の二乗和平均を音色ペナルティと定義すればよい。なお、目的別とは、例えば、通常音声合成と、感情(喜・怒・哀・楽など)を表現した感情音声合成のような目的が異なる音声合成のことをいう。例えば、通常音声合成と感情音声合成とでは、同じ音素でも音色が異なるため、その目的別に、音素別の平均的なMFCCを予め算出しておくことが好ましい。
【0057】
ここで、音色ペナルティPPcaが高値であれば、波形辞書音素と目標の音色が異なる傾向が強いため、不自然な音(音質)となる傾向が強い。なお、式A3−1は、音素単位で音色ペナルティを積算し、1音素単位の音色ペナルティを算出する。式B3−1は、複数音素の音色ペナルティを積算し、音素列単位の音色ペナルティを算出する。両式のいずれも、目標と波形辞書素片の音色を反映したペナルティとなり、音質の不自然さを知る手がかりとなる。算出された音素または音素列における音色ペナルティPPcaは、全て例えば記憶部5に保持され、必要に応じて読み出し可能であることが好ましい。また、音色ペナルティPPcaを音素単位で算出する代わりに、モーラ単位で算出してもよく、音素列単位で算出する代わりにモーラ列単位で算出することにしてもよい。
【0058】
次に、図4を参照しながら、素片接続ペナルティについて説明する。図4は、素片接続ペナルティを示す図である。素片接続ペナルティとは、素片選択ペナルティで選択した素片列(音素列)同士を接続する際に、その接続境界における音響的特徴の差異を定量化してペナルティとして与えることで、より接続境界の音響特徴量が合う接続を選び、合成音声の音質劣化を抑えるための変数である。
【0059】
「ピッチ変化ペナルティ」は、波形辞書から選択された素片列(音素列)同士を接続する場合に、接続境界前後のピッチ周波数の差異をペナルティとして定量化したもので、例えば下式で定義する。
【0060】
ピッチ変化ペナルティPCaa=境界前ピッチ周波数/境界後ピッチ周波数・・・(式A4−1)
ただし、境界前ピッチ周波数≧境界後ピッチ周波数となる場合について合算している。
【0061】
ピッチ変化ペナルティPCab=境界後ピッチ周波数/境界前ピッチ周波数・・・(式A4−2)
ただし、境界前ピッチ周波数≦境界後ピッチ周波数となる場合について合算している。
【0062】
ここで、ピッチ変化ペナルティPCaaの値が高値である程「境界前ピッチ周波数≧境界後ピッチ周波数」の傾向が強く、境界前から境界後に向かって、声の高さが急に低くなる合成音声となる。ピッチ変化ペナルティPCabの値が高値である程「境界前ピッチ周波数≦境界後ピッチ周波数」の傾向が強く、境界前から境界後に向かって、声の高さが高くなる合成音声となる。いずれの場合も、抑揚やアクセントが不自然な合成音声となる傾向が強い。
【0063】
「音素環境ペナルティ」は、波形辞書から選択された素片列(音素列)同士を接続する場合、接続境界前後の音素環境の差異をペナルティとして定量化したもので、例えば下式で定義する。
音素環境ペナルティPCba=境界前音素環境スコア・・・(式A5−1)
音素環境ペナルティPCbb=境界後音素環境スコア・・・(式A5−2)
【0064】
以下、音素環境ペナルティPCba、PCbbについて、図5を参照しながら説明する。図5は、「音素環境」について説明する図である。図5に示すように、例えば、接続境界362より前の境界前音素列350が「庵」で、表音テキスト352が「イオリ」、合成音素列354が「家」で、表音テキスト356が「イエ」、境界後音素列358が「上」で、表音テキスト362が「ウエ」であるとする。
【0065】
上記の例では、音素列「庵」の先頭音素「イ」と、音素列「上」の終端音素「エ」を素片接続して「家(イエ)」を合成するが、このような場合、音質が劣化する傾向が強い。すなわち、通常「イエ」という発声は、「イ」の発声部分と、「エ」の発声部分と、「イからエ」へ変化する“渡り”と呼ばれる発声部分に分かれる。ところが、「庵」は「イからオ」に変化する「イ」、「上」は「ウからエ」に変化する「エ」であり、いずれも渡りの部分が、合成音素「家(イエ)」の渡りと全く一致しないため、渡り部分の音色が不自然となって音質劣化となる傾向が強い。
【0066】
したがって、境界接続においては、少なくとも境界前後の2音素の一致(音素環境の一致)が重要であり、不一致の場合に音質劣化となりやすいため、不一致の場合は、音素環境スコアをペナルティとして採用する。よって、音素環境スコアは、合成音素と境界前または境界後の音素とが一致する場合はスコア0と定義し、不一致の場合は、合成音素と波形辞書音素の種類に応じて正スコアを加点するように構成する。よって、上記のように、音素環境ペナルティPCba、PCbbの値が高値である程、接続境界において不自然な音質の合成音声となる傾向が強い。
【0067】
「音色変化ペナルティ」は、波形辞書35から選択された素片列(音素列)同士を接続する場合、接続境界前後の音色の差異をペナルティとして定量化したもので、例えば下式で定義する。
音色変化ペナルティPCca=sqrt(Σ(境界前置音素MFCC(n)−境界後置音素MFCC(n)))・・・(式A6−1)
音色を表現する音響特徴量として、前述の「音色ペナルティ」で説明したメル周波数ケプストラム係数(MFCC)を利用し、境界前音素と境界後音素の音色差を音色変化ペナルティとして表現する。
【0068】
例えば、長母音「アー」を「ア」と「ア」の音素境界で接続して合成する場合には、様々な音色の「ア」があるため、音色の異なる「ア」同士を接続すると、不自然な音質の音声となる。すなわち、音色変化ペナルティPCcaの値が高値である程、接続境界において不自然な音(音質)の合成音声となる。
【0069】
また、上記合成音声が「イエ」の場合のように、前置と後置の音素が異なる素片を用いた場合は、「イ」の後半の渡り部分と「エ」の前半の渡り部分のメル周波数ケプストラムを対象にして式A6−1による音色変化ペナルティPCcaを利用すれば、異なる音素同士であっても、その渡り部分の音色差に応じてペナルティを与えることが可能となる。
【0070】
なお、上記式A6−1は、N次元のMFCCを音色として採用した例である。目標のMFCCは、予め目的別かつ音素別に平均的なMFCCを算出しておけばよく、目標MFCCと対象音素MFCCのN次の二乗和平均を音色ペナルティと定義すればよい。
上記素片接続ペナルティの各算出値は、全て例えば記憶部5に記憶され、必要に応じて読み出し可能であることが好ましい。
【0071】
素片選択接続部27は、算出された各素片選択ペナルティおよび素片接続ペナルティにより算出される、以下の素片選択ペナルティ評価値PPおよび素片接続ペナルティ評価値PCが最小になるように、素片の選択および接続を行う。
素片選択ペナルティ評価値PP=α1×PPaa+α2×PPab+α3×PPba+α4×PPbb+α5×PPca・・・式C1
素片接続ペナルティ評価値PC=β1×PCaa+β2×PCab+β3×PCba+β4×PCbb+β5×PCca・・・式C2
ここで、αl、βl(l=1、2、・・・)は、算出された各素片選択ペナルティまたは素片接続ペナルティの音声合成に対する影響度に対応する重み係数である。
【0072】
次に、図6を参照しながら、「音質の劣化種別と劣化コストの対応付け」および「劣化コスト関数」の説明を以下に示す。図6は、劣化コスト関数および劣化種別を示す図である。なお、図6における係数w10〜w67は、劣化コスト関数で構成される劣化コストを同一レンジで対比するための正規化係数であり、W00〜W27は、劣化コストで構成される各劣化種別を同一レンジで対比するための正規化係数である。
【0073】
まず、劣化種別の「音(音質)」(以下、単に「音」と記載する)について説明する。音声合成に精通しない一般利用者は、音質劣化を分類することができないケースが多く、抑揚の不自然さや、滑舌の不自然さ、誤アクセントなどを全て区別が不可能な音質の劣化と捕らえることが多い。このため、劣化種別の「音」では、素片選択ペナルイティと素片接続ペナルティの全てを含んだ劣化コスト、およびその劣化コスト関数を定義することが好ましい。
【0074】
例えば、図6に示すように、「音」が音質劣化の劣化種別であるとする場合に、劣化コストC00〜C05を以下のように定義することにより算出する。
C00=W00×(w10×PPaa+w11×PPab)・・・式(1−1)
なお、この場合、判別される劣化原因は「ピッチ差」である。
C01=W01×(w20×PPba+w21×PPbb)・・・式(2−1)
なお、この場合、判別される劣化原因は「音素長差」である。
C02=W02×(w30×PPca)・・・式(3−1)
なお、この場合、判別される劣化原因は「音素音色差」である。
C03=W03×(w40×PCaa+w41×PCab)・・・式(4−1)
なお、この場合、判別される劣化原因は「境界ピッチ差」である。
C04=W04×(w50×PCba+w51×PCbb)・・・式(5−1)
なお、この場合、判別される劣化原因は「音素環境差」である。
C05=W05×(w60×PCca)・・・式(6−1)
なお、この場合、判別される劣化原因は「境界音色差」である。
【0075】
ここで上述のように、音声合成に精通しない一般利用者は、音質劣化を分類することができないケースが多く、抑揚の不自然さや、滑舌の不自然さ、誤アクセントなどを全て区別が不可能な音質の劣化と捕らえることが多い。このため、利用者が劣化種別の「音」を選択した場合は、劣化コストC00〜C05までの各種コスト値に応じて、劣化種別を「音」以外の「抑揚」や「滑舌」に自動修正するように構成することが好ましい。このため、劣化コストC00〜C05までの各種コスト値に応じて、予め劣化種別の修正方法を指定しておくようにしてもよい。
【0076】
更に、不自然な音の1つとして、誤アクセントが存在する。誤アクセントは自動修正が困難であるため、利用者により劣化種別詳細として「誤アクセント」が選択された場合は、強制的に手動のアクセント修正UIへ遷移するように構成することが好ましい。
【0077】
次に、劣化種別82欄の「抑揚」について説明する。抑揚の音質劣化は、主に以下の2種に起因する。
抑揚例1)目標に比べて合成音声の声の高さが高すぎたり低すぎたり、またはそれらが混在している場合
抑揚例2)接続境界の音色が急激に不自然に変化する場合
【0078】
抑揚例1)は、素片選択ペナルティにおけるピッチペナルティPPaa、PPabの少なくともいずれかが大きい場合として表される。すなわち、合成音声が目標から外れた声の高さとなるため、抑揚が不自然となる。更に、素片接続ペナルティのピッチ変化ペナルティPCaaが大きい場合としても表される。すなわち、接続境界の前後でピッチが大きく変化してしまうため、抑揚が不自然となる。
【0079】
抑揚例2)は、素片接続ペナルティの音色変化ペナルティPCcaが大きい場合として現される。すなわち、境界前後の音色が不自然に変化するため、聴感上で抑揚が急激に変化したように感じる傾向となる。
【0080】
以上の理由から、素片選択ペナルティの「ピッチペナルティPPaa、PPab」、素片接続ペナルティの「ピッチ変化ペナルティPCaa」「音色変化ペナルティPCca」を用いて、図6に示すように劣化種別と、その劣化コスト、劣化コスト関数を定義する。
【0081】
まず、例えば、図6の種別詳細欄84に示すように、音質劣化の劣化種別詳細として「抑揚が大きい」と感じる場合は、目標より高い声で合成された場合であり、ピッチペナルティPPabに関係する。よって、劣化コストC10とその劣化関数は、図6の式(1−2)に示すように、ピッチペナルティPPabの関数として以下のように定義する。
C10=W10×(w12×PPab)・・・式(1−2)
なお、このとき判別される劣化原因は「ピッチ差」となる。
【0082】
更に、接続境界の前後で不自然に声の高さが変化した場合、目標よりも声が高く変化しても、逆に低く変化しても、相対的に抑揚が大きく変化したと感じる傾向にある。よって、図6の式(4−2)に示すように、ピッチ変化ペナルティPCaa、PCabの関数として、劣化コストC11とその劣化関数を定義する。
C11=W11×(w42×PCaa+w43×PCab)・・・式(4−2)
なお、このとき判別される劣化原因は、「境界ピッチ差」となる。
【0083】
また、接続境界前後の音色差が大きい場合は、抑揚が急激に変化することで、聴感上、抑揚が大きく感じる傾向にある。よって、図6の式(6−2)に示すように、音色変化ペナルティPCcaの関数として、劣化コストC12とその劣化関数を定義する。
C12=W12×(w61×PCca)・・・式(6−2)
なお、このとき判別される劣化原因は「境界音色差」となる。
【0084】
次に、音質劣化の劣化種別詳細で「抑揚が小さい」と感じる場合は、ピッチペナルティにおいて、目標より低い声で合成された場合である。よって、図5の式(1−3)に示すように、ピッチペナルティPPaaの関数として劣化コストC13とその劣化関数を定義する。
C13=W13×(w13×PPaa)・・・式(1−3)
なお、このとき判別される劣化原因は「ピッチ差」となる。
【0085】
更に、不自然な抑揚の1つとして、誤アクセントが存在する。誤アクセントは自動修正が困難であるため、利用者により劣化種別詳細として「誤アクセント」が選択された場合は、強制的に手動のアクセント修正UIへ遷移するように構成することが好ましい。
【0086】
次に、劣化種別の「滑舌」について説明する。滑舌の音質劣化は、主に以下の2種に起因する。
滑舌1)目標に比べて合成音声の声が慌しすぎたり、たどたどしすぎたり、またはそれらが混在している場合
滑舌2)接続境界の音色が不自然に変化する場合
【0087】
滑舌1)は、素片選択ペナルティにおける音素長ペナルティPPba、PPbbのいずれか少なくとも一方が大きい場合である。このような場合、合成音声が慌しくなったり、たどたどしくなったりするため、滑舌が不自然となる。
【0088】
滑舌2)は、素片接続ペナルティの音素環境ペナルティPCba、PCbbのいずれか少なくとも一方が大きい場合である。このような場合、素片同士の接続境界の音の渡りが不自然となって音色の変化に滑らかさが無くなり、滑舌が不自然となる。更に、音色変化ペナルティPCcaが大きい場合もある。このような場合、境界前後の音色が不自然に変化するため、音色の変化に滑らかさが無くなり、滑舌が不自然となる。
【0089】
よって、素片選択ペナルティの「音素長ペナルティPPba、PPbb」、素片接続ペナルティの「音素環境ペナルティPCba、PCbb」「音色変化ペナルティPCca」を用いて、図3に示すように劣化種別と、その劣化コスト、劣化コスト関数を定義する。
【0090】
まず、音質劣化の種別詳細として「滑舌が慌しい」と感じる場合は、目標より短い音素長で合成された場合である。よって、図6の式(2−2)に示すように、音素長ペナルティPPbaを用いて、劣化コストC20とその劣化関数を定義する。
C20=W20×(w22×PPba)・・・式(2−2)
なお、このとき判別される劣化原因は、「音素長差」となる。
【0091】
更に、接続境界の前後で音素環境が異なる場合、境界前後の音のつながりの滑らかさが無くなり、慌しく感じたり、たどたどしく感じたりする傾向にある。よって、図6の式(5−2)に示すように、音素環境ペナルティPCba、PCbbを用いて劣化コストC21とその劣化関数を定義する。
C21=W21×(w52×PCba+w53×PCbb)・・・式(5−2)
なお、このとき判別される劣化原因は、「音素環境差」となる。
【0092】
また、接続境界前後の音色差が大きい場合も、境界前後の音のつながりの滑らかさが無くなり、慌しく感じたり、たどたどしく感じたりする傾向にある。よって、図6の式(6−3)に示すように、音色変化ペナルティPCcaを用いて劣化コストC22とその劣化関数を定義する。
C22=W22×(w62×PCca)・・・式(6−3)
なお、このとき判別される劣化原因は、「境界音色差」となる。
【0093】
次に、音質劣化の劣化種別詳細で「滑舌がたどたどしい」と感じる場合は、目標より長い音素長で合成された場合である。よって、図6の式(2−3)に示すように、音素長ペナルティPPbbを用いて劣化コストC23とその劣化関数を定義する。
C23=W23×(w23×PPbb)・・・式(2−3)
なお、このとき判別される劣化原因は、「音素長差」である。
【0094】
更に、接続境界の前後で音素環境が異なる場合、境界前後の音のつながりの滑らかさが無くなり、たどたどしく感じたり、慌しく感じたりする傾向にある。よって、図6の式(5−3)に示すように、音素環境ペナルティPCba、PCbbを用いて劣化コストC24とその劣化関数を定義する。
C24=W24×(w54×PCba+w55×PCbb)・・・式(5−3)
なお、このとき判別される劣化原因は、「音素環境差」である。
【0095】
また、接続境界前後の音色差が大きい場合も、境界前後の音のつながりの滑らかさが無くなり、たどたどしく感じたり、慌しく感じたりする傾向にある。よって、図6の式(6−4)にしめすように、音色ペナルティPPcaを用いて劣化コストC25とその劣化関数を定義する。
C25=W25×(w63×PCca)・・・式(6−4)
なお、このとき判別される劣化原因は「境界音色差」となる。
【0096】
利用者により劣化種別詳細として「誤アクセント」が選択された場合は、「抑揚」の場合と同様に、強制的に手動のアクセント修正UIへ遷移するように構成することが好ましい。
【0097】
以上の構成により、音声合成時の中間情報に含まれる素片選択ペナルティ、素片接続ペナルティが音質劣化を量的に表す情報である点を利用し、各ペナルティの組み合わせを劣化コストおよび劣化コスト関数として定義する。これにより、劣化コストは、劣化種別を正しく判定するのに適した指標となり、劣化種別の判定精度を向上させることができる。更に、劣化種別は、劣化コストと1対1で対応するものではなく、複数の劣化コストの組み合わせとしているので、劣化種別の判定精度を向上させることが可能となる。
【0098】
以下、図7から図11を参照しながら、第1の実施の形態による音声合成装置1の動作について説明する。図7は、音声合成装置1における劣化種別表示の動作を示すフローチャート、図8は、表音テキストおよび連続音素列の表示例を示す図である。
【0099】
図7に示すように、まず、音声合成装置1では、利用者により、音質修正UI部21を介して日本語テキストが入力テキストとして入力される。音声合成部7の言語処理部23は、入力テキストを変換することにより、表音テキストを取得する(S101)。表音テキストは、日本語テキストの読みをカタカナ表記したものであり、更には音声合成に必要なアクセント情報等の付加情報が存在する場合もある。
【0100】
また、音質修正UI部21は、音声合成部7で合成された音声を取得し、利用者が、合成音声を再生して、音声が劣化していると感じる範囲を音質劣化範囲として指定するための画面を表示する(S102)。
【0101】
音声合成部7では、韻律生成部25が読みテキスト54に従って目標韻律を生成し、素片選択接続部27が、目標韻律に応じて波形辞書35から選択した音声素片および素片同士の接続に関する選択接続情報を生成する。波形処理部29では、選択接続情報に基づいて、波形辞書35から選択された音声素片に対して波形処理を行い、例えば図8の合成音声波形70を生成し、再生する。
【0102】
この際に、音質修正UI部21は、図8に示すように、入力テキスト52、読みテキスト54、合成音声波形70等を不図示の表示部に表示例50のように提示する。表示例50のように、入力テキスト52が「今日の天気は晴れです。」である場合、その読みテキスト54は「キョーノ/テンキワ/ハレデス.」等と表わされる。また、合成音声波形70は、横軸が時間、縦軸は振幅として表される。
【0103】
ここで表示例50は、合成音声を再生させるための再生ボタン62、停止させるための停止ボタン64、合成音声を保存するための保存ボタン66を表示するように構成されている。
【0104】
利用者が出力された合成音声に音質劣化を感じた場合、利用者は、表示部に提示された読みテキスト54、または合成音声波形70の中から、音質劣化範囲56を指定する。図8では、読みテキスト54上で、音質劣化範囲56を指定した例を示している。音質劣化範囲56は、「キハ/ハレ」として指定されている。
【0105】
すなわち、図7に戻って、範囲取得部41は、読みテキスト54において、利用者が指定した音質劣化範囲56を取得する(S103)。このとき例えば、音声合成装置1において、図示せぬマウス装置等により利用者が「キワ/ハレ」の部分を選択することにより、範囲取得部41は、音質修正UI部21を介して音質劣化範囲56を取得する。
【0106】
また、範囲取得部41は、利用者が指定した音質劣化範囲56と、音声合成部7からの中間情報に基づいて、利用者指定の音質劣化範囲56に一致する合成音声の対象音素の範囲を取得する。
【0107】
劣化コスト算出部43は、素片選択接続部27から中間情報を取得し(S104)、取得した中間情報と音質劣化範囲56に基づき、音質劣化範囲56に相当する対象音素範囲における劣化コストを算出する(S105)。劣化コストは、上述のように音声合成部7の中間情報の1つである素片選択ペナルティや素片接続のペナルティに基づき算出する。このとき、算出された劣化コストは、例えば、記憶部5に格納される。
【0108】
ところで、劣化コストと劣化種別については、音声合成方式によって、劣化種別と劣化コストの対応付けと、劣化コスト関数の定義方法が異なるため、以下に第1から第3の3種類の音声合成方式を簡単に説明する。
【0109】
第1の音声合成方式は、ピッチ変換や音素長変換等の波形処理によって波形辞書から選択した素片を目標韻律に合わせ、合成音声を生成する波形変換方式である。波形辞書から選択した素片に対し波形変換処理を行うので、波形辞書規模は比較的小規模で済み、目標韻律通りの合成音声が生成できる利点がある。しかし、波形処理で音質が劣化することがある。
【0110】
第2の音声合成方式は、波形変換処理を行わず、目標韻律に近い素片を波形辞書から選択し、そのままつなぎ合わせる波形無変換方式である。波形変換処理を行わないので肉声感の高い合成音声が生成できる利点があるが、必ずしも目標韻律通りとならずに韻律が破綻する欠点を持つ。また、波形辞書を大規模化することで韻律破綻を抑制しているが、完全ではない。
【0111】
第3の音声合成方式は、波形変換方式と波形無変換方式の混在方式である。波形無変換方式がベースとなるが、韻律が破綻する箇所に限って波形変換方式を利用することで、必要最小限の波形変換により、肉声感を保ちつつ韻律が安定した合成音声を生成できる利点があるが、肉声感の高い部分と肉声感を損なった部分が混在し、違和感が高くなることがある。
【0112】
第1の実施の形態においては、上記第1から第3の音声合成方式のいずれの方式においても、劣化種別と劣化コストの対応付けと、劣化コスト関数の定義方法を調整することで劣化種別に応じた音質修正が可能である。ただし、本明細書中では説明の便宜上、第2の音声合成方式である波形無変換方式に限定して、図3から図6に示した「各種ペナルティ」と、図6に示した「劣化種別と劣化コストの対応付け」と「劣化コスト関数の定義」を説明した。
【0113】
図7に戻って、劣化コスト算出部43が、音質劣化範囲に相当する対象音素範囲において、各劣化コストを算出すると、劣化種別判定部45は、対象音素範囲における音質劣化を劣化コストに基づいて「音、抑揚、滑舌」の劣化種別を判定する(S106)。
【0114】
ここで、図9を参照しながら、劣化種別判定の動作について説明する。図9は、音声合成装置1における劣化種別判定の動作を示すフローチャートである。図9に示すように、劣化種別判定部45は、所定個数M個の劣化コスト上位HC(m)(m=0〜M−1)を初期化する(S121)。なお、整数Mは、劣化種別を選択する際の修正候補劣化種別を決定するために参照する、劣化コストCnの数である。劣化コストCnとは、図6に示した劣化コストC00〜C25の総称である。ここで、n=00〜25である。
【0115】
劣化種別判定部45は、劣化コスト算出部43が算出した劣化コストCnを取得する(S122)。劣化種別判定部45は、劣化コストCn>劣化コスト上位HC(m)であるか否か判別する(S123)。劣化種別判定部45は、劣化コストCnが劣化コスト上位HC(m)を超えた場合(S123:YES)、S124に処理を進め、劣化コスト上位HC(m)=劣化コストCnとする。劣化種別判定部45は、劣化コストCn≦劣化コスト上位HCであれば(S123:NO)、S125に処理を進める。劣化種別判定部45は、S123、S124をm=0〜M−1について繰り返し実行することにより、劣化コストCnをソート処理し、例えば記憶部5に登録する。
【0116】
劣化種別判定部45は、次の劣化コストCnが存在するか否か判別し(S125)、次の劣化コストCnが存在する間(S125:YES)、劣化コストCnを劣化コストCnの値が高い順にソートを繰り返す。この結果、劣化種別判定部45は、M個のソートされた劣化コスト上位HC(m)を得る。
【0117】
劣化種別判定部45は、未処理の劣化コストCnが存在しなくなると(S125:NO)、M個以下の劣化コスト上位HC(m)に登録された劣化コストCnから、劣化種別を選定する。すなわち、劣化種別判定部45は、m=0とし(S126)、m<Mであれば(S127:YES)、0≦n≦05であるか否か判別する(S128)。0≦n≦05である場合には(S128:YES)、劣化種別判定部45は、劣化種別は「音」とし、種別詳細は表示せず(S129)、m=m+1(S130)に更新してS127に戻る。
【0118】
0≦n≦05でない場合には(S128:NO)、S131に進み、劣化種別判定部45は、10≦n≦12であるか否か判別する。10≦n≦12である場合には(S131:YES)、劣化種別判定部45は、劣化種別は「抑揚」とし、種別詳細は「大」とし(S132)、m=m+1(S130)に更新してS127に戻る。
【0119】
10≦n≦12でない場合には(S131:NO)、S133に進み、劣化種別判定部45は、n=13であるか否か判別する。n=13である場合には(S133:YES)、劣化種別判定部45は、劣化種別は「抑揚」とし、種別詳細は「小」とし(S134)、m=m+1(S130)に更新S127に戻る。
【0120】
n=13でない場合には(S133:NO)、S135に進み、劣化種別判定部45は、20≦n≦22であるか否か判別する。20≦n≦22である場合には(S135:YES)、劣化種別判定部45は、劣化種別は「滑舌」とし、種別詳細は「慌しい」とし(S136)、m=m+1(S130)に更新してS127に戻る。
【0121】
20≦n≦22でない場合には(S135:NO)、S137に進み、劣化種別判定部45は、23≦n≦25であるか否か判別する。23≦n≦25である場合には(S137:YES)、劣化種別判定部45は、劣化種別は「滑舌」とし、種別詳細は「たどたどしい」とし(S138)、m=m+1(S130)に更新してS127に戻る。
【0122】
23≦n≦25でない場合には、劣化種別判定部45は、エラーを出力する。劣化種別判定部45は、m>Mとなった場合には、図7のS106に戻る。
【0123】
上述のように、各劣化種別は、少なくとも1つの劣化コストに基づいて分類される。劣化種別判別部45は、分類された劣化種別に含まれる劣化コストの値が、他の劣化コストに比べて高値であるか否かを、本実施形態においては、劣化コスト上位HC(m)を抽出することにより判別している。劣化コストCnが高値であると判別されると、すなわち、劣化コスト上位HC(m)に対応する劣化コストCnを、劣化種別判定部45は、音質修正候補の劣化種別と判定する。
【0124】
図7に処理に戻って、劣化位置取得部47は、音質修正候補と判定された劣化種別について、劣化種別の劣化コスト値と、その劣化位置を取得および保持する(S107)。図10は、劣化位置の例を示す図である。図10に示すように、音素列160は、読みテキスト54において指定された音質劣化範囲56に対応する再合成範囲の一例である。音質劣化範囲56の中の「キワ/」は、音素列162の「K|I|W|A」に対応し、「ハレ」は、音素列163の「H|A|R|E」に対応している。ここで、「|」は音素境界を示す。
【0125】
例えば、図9の劣化種別判定処理において、劣化コスト上位HC(m)として劣化コストC20が判別されているとする。このとき、劣化位置取得部47は、劣化コストC20が音素長ペナルティPPbaの関数であることを判別し、さらに、算出された音素長ペナルティPPbaを記憶部5で参照し、値が高値の箇所を劣化位置として特定する。劣化位置は、選択された素片に対応することが好ましい。図10においては、音素列「WA」が、劣化コストC20に対応する劣化位置165と取得される。
【0126】
別の例として、劣化コスト上位HC(m)として劣化コストC05が判別されているとする。このとき、劣化位置取得部47は、劣化コストC05が音色変化ペナルティPCcaの関数であることを判別し、さらに、算出された音色変化ペナルティPCcaを記憶部5で参照し、値が高値の箇所を劣化位置として特定する。この例では、図10における音素列「WA−HA」が、劣化コストC05に対応する劣化位置167と取得される。
【0127】
音声合成装置1は、音質修正UI部21を介して、修正候補の劣化種別を利用者に提示する。図8は、「音」と「抑揚」と「滑舌」および「誤アクセント」の4種が修正候補の劣化種別58として提示された例である。図8では、さらに、劣化種別詳細60として「慌しい」と「たどたどしい」が選択肢として表示されている。以上で、劣化種別表示の処理を終了する。
【0128】
次に、図11を参照しながら、劣化種別選択の動作について説明する。図11は、劣化種別選択の動作を示すフローチャートである。利用者は、音質修正UI部21を介して、提示された劣化種別58およびその種別詳細60等の中から、自らの感覚に合った劣化種別を選択する。図11に示すように、修正手段決定部49は、音質修正UI部21を介して利用者が選択した劣化種別を取得し、劣化位置取得部47から選択された劣化種別に対応した劣化コストと劣化位置を取得する(S151)。また、修正手段決定部49は、範囲取得部41から再合成範囲を受け取り、再合成する範囲と、劣化種別の各劣化コストに基づいて音質劣化を改善するため、劣化コストに対応した素片選択ペナルティ、素片接続ペナルティを改善するための修正情報を生成し、素片選択接続部27へ出力する(S152)。
【0129】
修正情報とは、選択された劣化種別または劣化種別詳細に応じた劣化コストを表す劣化関数に含まれる各素片選択ペナルティの、式C1における係数αl(l=1、2、・・・)、または各素片接続ペナルティの式C2における係数βl(l=1、2、・・・)である。
【0130】
図8に戻って、利用者が、音質劣化範囲56において、劣化種別58として「音質が不自然」であること、「滑舌が不自然」であることを選択し、劣化種別詳細60で「慌しい」と選択したとする。修正手段決定部49は、選択された劣化種別「滑舌(慌しい)」に対応する劣化コスト劣化コストC20であり、「音」に対応する劣化コストが、劣化コストC05であると判別したとする。このとき、修正手段決定部49は、劣化コストC20に音素長ペナルティPPbaが対応していると判別する。また、劣化コストC05に音色変化ペナルティPCca対応していると判別する。
【0131】
そして、修正手段決定部49は、図10の例で、音素列162において、音素長ペナルティPPbaに対応する係数α3の重みを加重し、音素列163において、音色変化ペナルティPCcaに対応する係数β5の重みを加重した修正情報を生成する。
【0132】
素片選択接続部27は、修正情報を受け取ると、再合成範囲の素片選択および素片接続を再度行い、選択接続情報を再度生成する。ここで、再合成範囲は、図10に示すように、少なくとも音質劣化範囲56を含む再合成範囲169として設定されるようにしてもよい。すなわち、範囲取得部41は、利用者が指定した音質劣化範囲56の全てを含んだ音素単位、音素列単位、モーラ単位、モーラ列単位のいずれかの区切りを、再合成範囲として決定するように構成する。
【0133】
図10の例では、読みテキスト54「キョーノ/テンキワ/ハレデス.」に対し、利用者が「キワ/ハレ」の部分を音質劣化範囲56として選択している。このとき、利用者の指定範囲は音素列162と音素列163を足し合わせた「K|I|W|A|H|A|R|E」を再合成範囲168として、音声合成部7は再合成を行っても良い。また、利用者の指定範囲を含む音素列単位「K|I|W|A」と音素列単位「H|A|R|E|D|E|S|U」を再合成範囲169としてもよい。再合成範囲169は、2つの音素列単位がそれぞれ、合成音声の2つの素片単位と一致する例であり、再合成範囲を素片単位で区切ることで、利用者が指定した範囲外に音質劣化があった場合でも、音質改善効果を得ることが可能となる。
【0134】
図11に戻って、波形処理部29は、再生成された選択接続情報をもとに音声を再合成する。すなわち、再合成範囲168のみ、または再合成範囲169のみ、もしくは再合成範囲168または再合成範囲169を含む入力テキスト52に対応する音声全てを再合成して合成音声の音声波形を再生成する(S153)。このように、音声合成装置1は、利用者が選択した劣化種別に対応する各素片選択ペナルティまたは素片接続ペナルティに対応する重みを加重する修正情報を生成する。そして、音質劣化の原因となっている対象の素片選択ペナルティや素片接続ペナルティに加重した素片選択ペナルティPPおよび素片接続ペナルティPCが最小となるように、上記の再合成範囲について音声を再合成することにより、再合成時の音声を修正する。
【0135】
以上詳細に説明したように、音声合成装置1は、利用者が指定した音質劣化範囲56における劣化コストを算出することにより、音質劣化位置とその音質劣化種別を判定し、音質劣化種別を利用者へ提示する。利用者は提示された劣化種別の中から、自らの感覚に合った劣化種別を選択する。音声合成装置1は、選択された劣化種別を取得し、取得した劣化種別に対応した素片選択ペナルティまたは素片接続ペナルティに対応する重み係数を更新した修正情報を生成し、修正情報に基づき音声の再合成を行うことにより、音声を修正する。
【0136】
以上の構成により、音声合成装置1においては、利用者が指定した音質劣化範囲から音質劣化位置とその音質劣化種別を判定し、音質劣化種別を利用者へ提示する。よって、利用者は提示された劣化種別の中から、自らの感覚に合った劣化種別を選択することができ、劣化種別に応じた音質修正が可能となる。
【0137】
上述の音声合成技術では、波形辞書から素片を選択する際、および選択した素片を接続する際に、目標韻律に合わない素片選択にはペナルティを大きく、音質劣化しやすい素片接続にもペナルティを大きく与える。そして、素片選択ペナルティ評価値PP、素片接続ペナルティ評価値PCが最小となる素片選択、素片接続を行うことで、合成音声の音質向上を図っている。したがって、上述のように利用者が選択した劣化種別に対応した素片選択ペナルティ、または素片接続ペナルティに対するペナルティの重みに荷重して再合成することで、より目標韻律に近い音声となる素片選択と素片接続が行われる。これにより、利用者が指定した劣化種別に対応した音質劣化を改善することができる。
【0138】
また、音声合成時の中間情報の一つである素片選択ペナルティ、素片接続ペナルティは、音質劣化に関与するペナルティであり、各ペナルティを用いて劣化コストを定義する。これにより、劣化種別を判定するのに適した劣化コストとなり、劣化種別の判定精度を向上することができる。これらの劣化種別は、各劣化コストと1対1で対応するものではなく、複数の劣化コストの組み合わせに応じて劣化種別が正しく判定される。よって、劣化種別の判定精度を向上させることが可能となる。
【0139】
修正候補劣化種別は、音質劣化原因となっている可能性の高い劣化コスト上位から劣化種別を選定することで、劣化種別の判定精度を向上させることができる。すなわち、劣化コストが高いものは音質劣化原因となっている可能性が高く、このような劣化コスト上位を含む劣化種別も音質劣化原因である可能性が高いため、劣化種別の判定精度を向上させることが可能となる。
【0140】
なお、音質劣化範囲を指定する場合には、利用者は音質劣化を感じる範囲を含むおよその範囲で指定すればよく、音質劣化が生じている箇所に限定して範囲指定する必要はない。また、範囲取得部41は、利用者が指定した音質劣化範囲56を完全に含み、音素単位、またはモーラ単位を区切りとした範囲を音質劣化範囲として取得すればよい。このとき、音素単位、モーラ単位の代替として、合成音声の素片単位に一致した音素列単位、モーラ列単位としてもよい。音質劣化範囲を取得する際には、範囲取得部41は、利用者が指定した音質劣化範囲56と、音声合成部7で得られた読みテキスト54、または音声合成部7の中間情報を照合することが好ましい。
【0141】
また、音声合成は、1音素または1モーラ単位で合成するとは限らず、連続した複数音素(音素列)または複数モーラ(モーラ列)が混在して合成される。したがって、上記で取得した音質劣化範囲が、必ずしも合成音声の素片単位の境界と一致するとは限らない。よって、音質劣化範囲を完全に含んだ素片単位の区切りを再合成範囲と設定することで、音質劣化の生じていない合成音声部分の音質を保持しつつ、指定範囲外に音質劣化があった場合でも、必要最小限範囲の再合成によって音質改善を図ることができる。
【0142】
劣化種別が取得する際の方法は、上記に限定されない。例えば、劣化コストの高い順に劣化種別を利用者へ提示してもよく、更には、音質劣化の可能性の低い劣化種別を提示しない、または、提示しても再合成時に反映されない非アクティブで提示するように構成してもよい。
【0143】
(第1の実施の形態の変形例)
以下、図12を参照しながら、第1の実施の形態の変形例による音声合成装置1について説明する。本変形例は、第1の実施の形態による音声合成装置1における劣化種別判定に関する変形例である。よって本変形例において、第1の実施の形態による音声合成装置1の構成および動作と同一の部分は詳細な説明を省略し、劣化種別判定動作に関してのみ説明する。
【0144】
図12は、本変形例における劣化種別判定の動作を示すフローチャートである。本変形例では、修正候補の劣化種別を予め定められた閾値を超えたか否かにより判別する。図12に示すように、劣化種別判定部45は、劣化コスト算出部43が算出した劣化コストCnを取得する(S181)。続いて、劣化種別判定部45は、まずn=0と設定する(S182)。劣化種別判定部45は、n<26であるか否か判別し、n<26であれば、C00〜C25のそれぞれについて、予め設定されたそれぞれの閾値S00〜S25よりも値が高値であるか否か判別する(S183)。そして、S183において、閾値よりも高値であると判別された劣化コストCnについて、S184以下の判別を行う。
【0145】
S184では、劣化種別判定部45は、劣化コストCn<閾値Snであるか否か判別し、Cn<閾値Snでない場合には(S184:NO)、n=n+1とし(S185)、S183に戻る。Cn<閾値Snである場合には(S184:YES)、処理はS186に進む。
【0146】
劣化種別判定部45は、0≦n≦05であるか否か判別する(S186)。0≦n≦05である場合には(S186:YES)、劣化種別判定部45は、劣化種別は「音」とし、種別詳細は表示せず(S187)、n=n+1(S185)に更新してS127に戻る。
【0147】
0≦n≦05でない場合には(S186:NO)、S188に進み、劣化種別判定部45は、10≦n≦12であるか否か判別する。10≦n≦12である場合には(S188:YES)、劣化種別判定部45は、劣化種別は「抑揚」とし、種別詳細は「大」とし(S189)、n=n+1(S185)に更新してS183に戻る。
【0148】
10≦n≦12でない場合には(S188:NO)、S190に進み、劣化種別判定部45は、n=13であるか否か判別する。n=13である場合には(S190:YES)、劣化種別判定部45は、劣化種別を「抑揚」とし、種別詳細は「小」とし(S191)、n=n+1(S185)に更新S183に戻る。
【0149】
n=13でない場合には(S190:NO)、S192に進み、劣化種別判定部45は、20≦n≦22であるか否か判別する。20≦n≦22である場合には(S192:YES)、劣化種別判定部45は、劣化種別を「滑舌」とし、種別詳細は「慌しい」とし(S193)、n=n+1(S185)に更新してS183に戻る。
【0150】
20≦n≦22でない場合には(S192:NO)、S194に進み、劣化種別判定部45は、劣化種別を「滑舌」とし、種別詳細は「たどたどしい」とし、n=n+1(S185)に更新してS183に戻る。S183においてn<26でない場合には、劣化種別判定部45は、処理を図7のS106に戻す。
【0151】
例えば、劣化コスト算出部43が算出した劣化コストC20とC05が所定の閾値を超えた例では、劣化種別58として「音質が不自然」であること、「滑舌が不自然」であることを選択可能に表示し、劣化種別詳細60で「慌しい」を選択可能に表示することができる。
【0152】
以上説明したように、本変形例によれば、劣化種別判定部45は、劣化コスト算出部43で算出した劣化コストCnが、予め劣化コスト毎に設定された所定閾値Sn(n:00〜25)を超えた場合、修正候補劣化種別として劣化コストCnの劣化種別を選定する。
【0153】
よって、本変形例によれば、所定の閾値を設定することで、音質劣化が生じていないにも関わらず、劣化種別を判定して利用者へ誤提示してしまうリスクを回避することができる。
【0154】
さらに、本変形例において各劣化コストが所定の閾値を超えない場合、第1の実施の形態による図9に記載の動作に切り替えて、各劣化コストから所定個数の劣化コスト上位を選定し、各劣化コスト上位の劣化種別を選定するように構成するようにしてもよい。このような構成により、全ての劣化コストがそれぞれの所定の閾値を超えない場合に「劣化種別無し」となってしまい、利用者の音質劣化を修正できなくなる問題を回避し、劣化コスト上位を含む劣化種別を利用者へ提示することで、音質劣化改善が可能となる。
【0155】
また、劣化算出部43が算出した各劣化コストが所定の閾値を超えない場合、全ての劣化種別を利用者へ提示し、修正手段決定部49が、音質修正UI部21を介して、利用者が選択した劣化種別に対応した手動修正UIを起動するように構成することもできる。例えば、誤アクセントなどの自動修正が困難な劣化種別の場合も、アクセント手動修正UIを起動するように構成するようにしてもよい。
【0156】
通常、判定した音質の劣化種別が利用者の感じる劣化種別と一致しない場合があるため、音質の劣化種別は全て提示することが好ましいが、この場合には、利用者が選択した劣化種別の音質劣化を自動修正することは困難である。しかし、利用者選択の劣化種別に応じた手動修正UIを起動することで、利用者自身が起動する手動修正UIの選択を行わなくても最適な手動修正UIが自動起動し、手動操作により音質修正を可能とすることができる。
【0157】
(第2の実施の形態)
以下、図13〜図15を参照しながら、第2の実施の形態による音声合成装置について説明する。なお、第2の実施の形態において、第1の実施の形態による音声合成装置1と同一の構成および動作については、重複説明を省略する。
【0158】
図13は、第2の実施の形態による音声合成装置の機能を示すブロック図、図14は、第2の実施の形態による劣化範囲指定の動作を示すフローチャート、図15は、第2の実施の形態による劣化種別指定の動作を示すフローチャートである。第2の実施の形態による音声合成装置は、第1の実施の形態による音声合成装置1における音声修正決定部9に代えて音声修正決定部230を有する構成である。以下、第2の実施の形態による音声合成装置を、音声合成装置200ということにする。
【0159】
図13に示すように、音声合成装置200の音声修正決定部230は、音声修正決定部9の構成に加えて、修正履歴データベース232を有している。修正履歴データベース232は、利用者が選択した劣化種別を格納する記憶装置である。
【0160】
図14に示すように、まず、範囲取得部41は、利用者により指定された音質劣化範囲56を取得する(S201)。範囲取得部41は、取得した音質劣化範囲56に基づき、上述のように再合成範囲を、例えば図10の再合成範囲169などと決定するとともに、再合成回数iを初期化する(S202)。劣化コスト算出部43は、音質劣化範囲56について上述の方法で劣化コストを算出する(S203)。
【0161】
劣化種別判定部45は、算出された劣化コストに基づき、例えば、第1の実施形態またはその変形例に記載した方法で劣化種別を判定する。また、劣化位置取得部47は、判定された劣化種別に対応する劣化位置を取得する(S204)。さらに、劣化種別判定部45は、音質修正UI部21を介して劣化種別を提示する(S205)。
【0162】
図15に示すように、修正手段決定部49は、音質修正UI部21を介して、劣化種別が「誤アクセント」であると取得されたか否かを判別する(S211)。「誤アクセント」であると取得された場合は(S211:YES)、手動修正UIを起動する(S216)。
【0163】
「誤アクセント」であると取得されない場合には(S211:NO)、修正手段決定部49は、選択された劣化種別に対応する素片選択ペナルティまたは素片接続ペナルティの加重を行う修正情報を生成する(S212)。音声合成部7は、生成された修正情報に基づき音声を再合成するが、その際、修正手段決定部49は、再合成回数i=i+1とインクリメントし、対象の劣化種別と再合成回数iを修正履歴データベース232に格納する(S213)。
【0164】
劣化種別判定部45は、全劣化コストCnがそれぞれ予め定められた閾値未満であるか否かを判別する(S214)。一つでも閾値以上の劣化コストCnがある場合には(S214:NO)、修正手段決定部49は、劣化コストCnが閾値未満でない劣化種別について、再合成がN回以下であるか否か判別する(S215)。再合成がN回以下の場合には(S215:YES)、処理はS203に戻る。再合成がN回を超えた場合には(S215:NO)、手動修正UIを起動する。手動修正UIにより、再合成がN回を越えた劣化種別に対応付けて記憶された修正情報を生成し、生成された修正情報に基づき音声を修正する。このとき、修正情報は、対応する劣化種別に関連付けて例えば記憶部5に格納することが好ましい。
【0165】
S214において、全劣化コストCnがすべて閾値未満であれば(S214:YES)、修正手段決定部49は、音質修正UI部21を介して利用者に修正終了確認画面を提示し(S217)、音質修正終了か否かを判別する(S218)。音質修正終了が確認されない場合には(S218:NO)、手動修正UIを起動し、音質修正終了が確認された場合には(S218:YES)、音声合成処理を終了する。
【0166】
以上説明したように、第2の実施の形態による音声合成装置200によれば、修正履歴データベース232に同一劣化種別に関する再合成回数iを格納する。修正手段決定部49は、利用者が同一の劣化種別を所定回数選択した場合、利用者が望む音質の自動修正が困難と判断し、音質修正UI部21を介して、利用者が選択した劣化種別に対応した手動修正UIを起動するように構成する。
【0167】
このように、利用者が選択した劣化種別の音質劣化を自動修正しても、利用者希望の音質にならないケースが連続した場合、不必要に自動修正を繰り返すより最適な手動修正UIによって利用者が手動操作することで音質修正が可能となる。
【0168】
なお、第2の実施の形態において、修正劣化種別として選択された回数がいずれの劣化種別も所定のN回を超えない場合に、最も選択された回数の多い劣化種別に関連付けて記憶された修正情報により音声を修正するようにしてもよい。
【0169】
(第2の実施の形態による変形例)
以下、図13を参照しながら、第2の実施の形態の変形例による音声合成装置200について説明する。本変形例は、第2の実施の形態による音声合成装置200における再合成実行判断処理に関する変形例である。よって本変形例において、第2の実施の形態による音声合成装置200の構成および動作と同一の部分は詳細な説明を省略し、再合成実行判断に関してのみ説明する。
【0170】
本変形例において、修正手段決定部49は、利用者が音質修正を行った際の劣化種別の選択頻度を積算し、例えばその積算値が所定の閾値を超えた劣化種別を修正履歴データベース232に登録するように構成する。更に、修正手段決定部49は、通常の音声合成処理を行う際に、以下のように修正情報を生成する。すなわち、修正手段決定部49は、修正履歴データベース232の劣化種別に対応する劣化コストの劣化コスト関数を構成する素片選択ペナルティまたは素片接続ペナルティの各種ペナルティに対し、ペナルティの重みを強化する修正情報を生成する。音声合成部7の素片選択接続部27は、この修正情報に基づいて合成音声を生成する。
【0171】
以上説明したように、本変形例によれば、修正履歴データベース232に格納された修正履歴を参照することにより、利用者が選択した音質の劣化種別の頻度が高いものが、利用者の音質修正の傾向と判断される。そして、音声合成時に、予め対象の劣化種別の音質劣化を抑えるために、劣化種別の劣化コストを算出する劣化コスト関数の構成要素である素片選択ペナルティ、素片接続ペナルティを改善する音声合成処理を行う。これにより、利用者の音質劣化修正の負担を軽減することが可能となる。
【0172】
一般に、音質劣化の感じ方は個人差が強いため、利用者個人の音質修正の傾向を把握し、合成音声生成時に予め利用者嗜好の音質修正を施した合成音声を生成することで、利用者の音質劣化修正の負担を軽減することが可能となる。さらに、利用者が選択した劣化種別の音質劣化を自動修正しても、利用者希望の音質にならないケースが連続した場合、劣化種別に応じた音質自動修正のみでなく、最適な手動修正UIを起動させることで、利用者は手動操作により音質修正が可能となる。
【0173】
上記第1の実施の形態、第2の実施の形態およびそれぞれの変形例において、修正手段決定部49は、修正情報生成部、取得回数係数部の一例であり、素片選択ペナルティおよび素片接続ペナルティは、劣化情報の一例である。特に、素片選択ペナルティは、第1の劣化情報の一例であり、素片接続ペナルティは、第2の劣化情報の一例である。
【0174】
さらに、ピッチペナルティPPaa、PPabは、第1の差分情報の一例であり、音素長ペナルティPPba、PPbbは、第2の差分情報の一例であり、音色ペナルティPPcaは、第3の差分情報の一例である。また、ピッチ変化ペナルティPCaa、PCabは、第4の差分情報の一例であり、音素環境ペナルティPCba、PCbbは、第5の差分情報の一例であり、音色変化ペナルティPCcaは、第6の差分情報の一例である。第1の範囲は、音質劣化範囲56は、第1の範囲の一例であり、再合成範囲168、169は、第2の範囲の一例である。
【0175】
ここで、上記第1または第2の実施の形態およびそれぞれの変形例による音声合成装置の動作をコンピュータに行わせるために共通に適用されるコンピュータの例について説明する。図16は、標準的なコンピュータのハードウエア構成の一例を示すブロック図である。図16に示すように、コンピュータ300は、Central Processing Unit(CPU)302、メモリ304、入力装置306、出力装置308、外部記憶装置312、媒体駆動装置314、ネットワーク接続装置等がバス310を介して接続されている。
【0176】
CPU302は、コンピュータ300全体の動作を制御する演算処理装置である。メモリ304は、コンピュータ300の動作を制御するプログラムを予め記憶したり、プログラムを実行する際に必要に応じて作業領域として使用したりするための記憶部である。メモリ304は、例えばRandom Access Memory(RAM)、Read Only Memory(ROM)等である。入力装置306は、コンピュータの使用者により操作されると、その操作内容に対応付けられている使用者からの各種情報の入力を取得し、取得した入力情報をCPU302に送付する装置であり、例えばキーボード装置、マウス装置などである。出力装置308は、コンピュータ300による処理結果を出力する装置であり、表示装置などが含まれる。例えば表示装置は、CPU302により送付される表示データに応じてテキストや画像を表示する。
【0177】
外部記憶装置312は、例えば、ハードディスクなどの記憶装置であり、CPU302により実行される各種制御プログラムや、取得したデータ等を記憶しておく装置である。媒体駆動装置314は、可搬記録媒体316に書き込みおよび読み出しを行うための装置である。CPU302は、可搬型記録媒体316に記録されている所定の制御プログラムを、記録媒体駆動装置314を介して読み出して実行することによって、各種の制御処理を行うようにすることもできる。可搬記録媒体316は、例えばConpact Disc(CD)−ROM、Digital Versatile Disc(DVD)、Universal Serial Bus(USB)メモリ等である。ネットワーク接続装置318は、有線または無線により外部との間で行われる各種データの授受の管理を行うインタフェース装置である。バス310は、上記各装置等を互いに接続し、データのやり取りを行う通信経路である。
【0178】
上記第1または第2の実施の形態およびそれぞれの変形例による音声合成装置をコンピュータに実行させるプログラムは、例えば外部記憶装置312に記憶させる。CPU302は、外部記憶装置312からプログラムを読み出し、コンピュータ300に音声合成の動作を行なわせる。このとき、まず、音声合成の処理をCPU302に行わせるための制御プログラムを作成して外部記憶装置312に記憶させておく。そして、入力装置306から所定の指示をCPU302に与えて、この制御プログラムを外部記憶装置312から読み出させて実行させるようにする。また、このプログラムは、可搬記録媒体316に記憶するようにしてもよい。
【0179】
なお、本発明は、以上に述べた実施の形態および変形例に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を採ることができる。例えば、劣化位置取得部47は、修正候補劣化種別に対応する劣化位置を取得するようにしたが、少なくとも修正劣化種別に対応する劣化位置を取得すればよい。また、修正情報は、劣化種別と劣化位置とに基づき生成する例について説明したが、例えば、音質劣化範囲が非常に短く設定されている例などでは、必ずしも劣化位置に基づき生成しなくてもよい。
【符号の説明】
【0180】
1 音声合成装置
3 入力部
5 記憶部
7 音声合成部
9 音声修正決定部
11 出力部
21 音質修正UI部
23 言語処理部
25 韻律生成部
27 素片選択接続部
29 波形処理部
31 言語辞書
33 韻律辞書
35 波形辞書
41 範囲取得部
43 劣化コスト算出部
45 劣化種別判定部
47 劣化位置取得部
49 修正手段決定部

【特許請求の範囲】
【請求項1】
合成された音声を取得する合成音声取得部と、
前記音声における修正を行う第1の範囲を取得する範囲取得部と、
前記第1の範囲における音質劣化に応じた情報である少なくとも一つの劣化コストを算出する劣化コスト算出部と、
前記第1の範囲において修正を行う候補となる前記音質劣化の性質に応じた少なくとも一つの修正候補劣化種別を、少なくとも一つの前記劣化コストに基づき判定する劣化種別判定部と、
判定された前記修正候補劣化種別の中から修正を行うために選択される修正劣化種別を取得する劣化種別取得部と、
前記修正劣化種別に基づき前記音声を修正するための修正情報を生成する修正情報生成部と、
前記修正情報に基づき前記音声の再合成を行う音声合成部と、
を有することを特徴とする音声合成装置。
【請求項2】
前記劣化コスト算出部は、
前記第1の範囲における音声の音素、音素列、モーラおよびモーラ列のいずれか毎に算出される前記音質劣化に応じた劣化情報に基づき前記劣化コストを算出することを特徴とする請求項1に記載の音声合成装置。
【請求項3】
取得された前記修正劣化種別と対応する劣化位置を取得する劣化位置取得部、
をさらに有し、
前記修正情報生成部は、
前記修正劣化種別および前記劣化位置に基づき前記音声を修正するための修正情報を生成することを特徴とする請求項2に記載の音声合成装置。
【請求項4】
前記劣化位置取得部は、
前記劣化位置を前記劣化情報に基づき取得することを特徴とする請求項3に記載の音声合成装置。
【請求項5】
前記音声合成部は、
前記音声を合成する際の目標となる目標韻律を生成する韻律生成部と、
前記目標韻律に基づき前記音声を合成するための素片を選択し、選択した前記素片を互いに接続する素片選択接続部と、
を有し、
前記劣化情報は、
選択された一つの前記素片と対応する前記目標韻律との差に応じた第1の劣化情報、および前記素片同士を接続する際の接続部分における前記素片と対応する前記目標韻律との差に応じた第2の劣化情報の少なくとも一方を含むことを特徴とする請求項2から請求項4のいずれかに記載の音声合成装置。
【請求項6】
前記第1の劣化情報は、
前記目標韻律と選択された前記素片とのピッチ周波数比率に応じた第1の比率情報、
前記目標韻律と選択された前記素片との音素長比率に応じた第2の比率情報、および前記目標韻律と選択された前記素片との音色の差に応じた第1の差分情報のいずれか少なくとも一つを含むことを特徴とする請求項5に記載の音声合成装置。
【請求項7】
前記第2の劣化情報は、
前記接続部分前後のピッチ周波数比率に応じた第3の比率情報、前記接続部分前後の前記素片の音素環境差に応じた第2の差分情報、および前記接続部分前後の音色差に応じた第3の差分情報のいずれか少なくとも一つを含むことを特徴とする請求項5または請求項6に記載の音声合成装置。
【請求項8】
前記劣化種別判定部は、
前記少なくとも一つの劣化コストのうち、値が高い順の所定順位以上である、少なくとも一つの前記劣化コストに応じた劣化種別を前記修正候補劣化種別と判定する
ことを特徴とする請求項1から請求項7のいずれかに記載の音声合成装置。
【請求項9】
前記劣化種別判定部は、
前記劣化コストに応じて予め定められた第1の閾値を超えた前記劣化コストに応じた劣化種別を前記修正候補劣化種別と判定することを特徴とする請求項1から請求項7のいずれかに記載の音声合成装置。
【請求項10】
前記音声合成部は、
前記第1の範囲を含み、前記第1の範囲以上の範囲である前記第2の範囲について前記音声の再合成を実行することを特徴とする請求項1から請求項9に記載の音声合成装置。
【請求項11】
前記劣化種別取得部が、取得した前記修正劣化種別に対応する前記劣化コストの少なくとも一つが、前記劣化コストに応じて予め定められた前記第2の閾値を超えないと判別した場合に、
前記修正情報生成部は、
前記第2の閾値を超えない前記劣化コストに対応する前記劣化種別に関連付けて記憶された修正情報を、前記音声を修正するための前記修正情報として生成することを特徴とする請求項1から請求項10に記載の音声合成装置。
【請求項12】
前記劣化種別取得部が取得した各修正劣化種別が取得された回数をそれぞれ計数する取得回数計数部、
をさらに有し、
前記修正情報生成部は、
前記回数のいずれかが所定回数を超えると、前記所定回数を超えて取得された前記修正劣化種別に関連付けて記憶された修正情報を、前記音声を修正するための修正情報として生成することを特徴とする請求項1から請求項10に記載の音声合成装置。
【請求項13】
前記劣化種別取得部が取得した各修正劣化種別が取得された回数を計数する取得回数計数部、
をさらに有し、
前記修正情報生成部は、
前記回数を解析し、前記回数が他の修正劣化種別よりも大きい修正劣化種別に関連付けて記憶された修正情報を、前記音声を修正するための修正情報として生成する、
ことを特徴とする請求項1から請求項10のいずれかに記載の音声合成装置。
【請求項14】
合成された音声を取得し、
前記音声における修正を行う第1の範囲を取得し、
前記第1の範囲における音質劣化に応じた情報である少なくとも一つの劣化コストを算出し、
前記第1の範囲において修正を行う候補となる前記音質劣化の性質に応じた少なくとも一つの修正候補劣化種別を、少なくとも一つの前記劣化コストに基づき判定し、
判定された前記修正候補劣化種別の中から修正を行うために選択される修正劣化種別を取得し、
前記修正劣化種別に基づき前記音声を修正するための修正情報を生成し、
前記修正情報に基づき前記音声の再合成を行う、
ことを特徴とする音声修正方法。
【請求項15】
合成された音声を取得し、
前記音声における修正を行う第1の範囲を取得し、
前記第1の範囲における音質劣化に応じた情報である少なくとも一つの劣化コストを算出し、
前記第1の範囲において修正を行う候補となる前記音質劣化の性質に応じた少なくとも一つの修正候補劣化種別を、少なくとも一つの前記劣化コストに基づき判定し、
判定された前記修正候補劣化種別の中から修正を行うために選択される修正劣化種別を取得し、
前記修正劣化種別に基づき前記音声を修正するための修正情報を生成し、
前記修正情報に基づき前記音声の再合成を行う、
処理をコンピュータに実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図9】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図8】
image rotate

【図10】
image rotate


【公開番号】特開2013−11828(P2013−11828A)
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願番号】特願2011−146033(P2011−146033)
【出願日】平成23年6月30日(2011.6.30)
【出願人】(000005223)富士通株式会社 (25,993)