JP2014062970A - 音声合成方法、装置、及びプログラム - Google Patents

音声合成方法、装置、及びプログラム Download PDF

Info

Publication number
JP2014062970A
JP2014062970A JP2012206980A JP2012206980A JP2014062970A JP 2014062970 A JP2014062970 A JP 2014062970A JP 2012206980 A JP2012206980 A JP 2012206980A JP 2012206980 A JP2012206980 A JP 2012206980A JP 2014062970 A JP2014062970 A JP 2014062970A
Authority
JP
Japan
Prior art keywords
voice
quality information
voice quality
quasi
speech
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.)
Granted
Application number
JP2012206980A
Other languages
English (en)
Other versions
JP6013104B2 (ja
Inventor
Kenji Nagamatsu
健司 永松
Takeo Mori
竹雄 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Solutions Technology Ltd
Original Assignee
Hitachi ULSI Systems Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi ULSI Systems Co Ltd filed Critical Hitachi ULSI Systems Co Ltd
Priority to JP2012206980A priority Critical patent/JP6013104B2/ja
Publication of JP2014062970A publication Critical patent/JP2014062970A/ja
Application granted granted Critical
Publication of JP6013104B2 publication Critical patent/JP6013104B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)

Abstract

【課題】口語調音声を始めとする韻律や声質の変化が大きい発話スタイルの合成音声を生成する音声合成処理において、口語調音声の特徴的な部分(口語表現部分)の音質(肉声感)を高くする。
【解決手段】(準)肉声音声選択部103は、(準)肉声音声ID114で指定に基づき、口語調音声の特徴的部分に肉声もしくは肉声に準ずる音声を選択し、声質情報抽出部105でその音声の韻律と声質を分析した結果に基づき、声質考慮波形合成部110において、それ以外の合成音声部分の韻律を調整し、分析された声質を考慮した合成音声波形生成処理を実施する。これにより、肉声音声部分と合成音声部分とで韻律・声質が大きくずれることのない合成音声を生成できる。
【選択図】図1A

Description

本発明は、音声合成装置に関し、発話スタイルの合成音声を生成する音声合成技術に係る。
テキストを音声に変換して読み上げるテキスト音声合成技術、およびそれを利用したテキスト音声合成システムがある。このような技術、システムの応用先として、例えば、カーナビゲーションでのガイド音声、携帯電話・スマートフォンでのメール読み上げや音声対話インタフェース、視覚障碍者向けのスクリーンリーダー、電子書籍の読み上げ機能などが存在する。
音声合成技術は近年、その重要性が拡大している。カーナビゲーションや携帯電話・スマートフォンの普及に加えて障碍者や高齢者を対象としたユニバーサルデザインの志向によって音声を使ったユーザインタフェースが今まで以上に使われるようになってきている。さらに、近年では電子書籍端末の普及が始まり、音声読上げに必須な音声合成技術のニーズが拡大している。
音声合成技術に対する最近のニーズでは、カーナビや携帯電話などの音声対話処理で用いる事例が多くなってきている。加えて、そのような応用では、ユーザが会話を自然に進められるように、話し言葉・口語調での音声を合成したいというニーズが増えてきている。従来の音声合成技術であっても、合成音声の韻律(抑揚やリズム、強さなど)を工夫することで口語調の音声を生成できるものは存在している(特許文献1参照)。
特開2011−28131号公報 特開2008−107454号公報 特開2009−020264号公報
しかし、口語調の実際の音声では、口語調ならではの特徴的表現(例えば文末の「かなぁ」等)の部分の韻律や声質の変化が大きいが、従来手法の音声合成技術では、口語調韻律の再現を重視するあまり、声質という点では実際の口語調音声を十分に再現することは実現できていない。
本発明の目的は、上記の課題を解決し、口語調音声を始めとする韻律や声質の変化が大きい発話スタイルの合成音声を生成する音声合成処理において、口語調音声の特徴的な部分(口語表現部分)の音質(肉声感)を高くすることが可能な音声合成方法、装置、及びプログラムを提供することにある。
更に、本発明の目的は、その口語表現部分に肉声音声を差し込む場合に、肉声音声部分と合成音声部分との間で韻律・声質に大きな違いが生ずることの無い音声合成方法、装置、及びプログラムを提供することにある。
上記目的を達成するため、本発明においては、合成音声を出力する処理部における音声合成方法であって、処理部は、入力テキスト内から発話スタイルの特徴的な箇所に対応する肉声音声データ、もしくは韻律や声質面で肉声に準じる準肉声音声データ(以下(準)肉声音声データと称する)を選択し、選択した(準)肉声音声データから韻律情報、及び声質情報を抽出し、抽出した韻律情報に基づいて、入力テキストに対応する合成音声の韻律情報を調整し、抽出した声質情報を考慮して、入力テキストに対応する合成音声波形データを生成し、生成した合成音声波形データ、及び選択した(準)肉声音声データを接続端点で接合する音声合成方法を提供する。
また、上記の目的を達成するため、本発明においては、音声合成装置であって、処理部と記憶部を備え、処理部は、入力テキスト内から発話スタイルの特徴的な箇所に対応する(準)肉声音声データを選択し、選択した(準)肉声音声データから韻律情報、及び声質情報を抽出し、抽出した韻律情報に基づいて、入力テキストに対応する合成音声の韻律情報を調整し、抽出した声質情報を考慮して、入力テキストに対応する合成音声波形データを生成し、生成した合成音声波形データ、及び選択した(準)肉声音声データを接続端点で接合して出力する構成の音声合成装置を提供する。
更に、上記の目的を達成するため、本発明においては、音声合成装置の処理部で実行される音声合成プログラムであって、処理部を、入力テキスト内から発話スタイルの特徴的な箇所に対応する(準)肉声音声データを選択し、選択した(準)肉声音声データから韻律情報、及び声質情報を抽出し、抽出した韻律情報に基づいて、入力テキストに対応する合成音声の韻律情報を調整し、抽出した声質情報を考慮して、入力テキストに対応する合成音声波形データを生成し、生成した合成音声波形データ、及び選択した(準)肉声音声データを接続端点で接合するよう動作させる音声合成プログラムを提供する。
本発明によれば、口語調音声を始めとする韻律や声質の変化が大きい発話スタイルの合成音声を生成する音声合成処理において、発話スタイルに特徴的な部分(口語表現部分)に肉声や肉声に準じる品質の音声データを用いることで全体の音質(肉声感)を向上させることができる。さらに、その(準)肉声音声とその他の合成音声部分との韻律や声質の違いをできるだけ小さくすることができ、従来技術で感じられた合成音声の違和感を軽減することが可能となる。
実施例1の音声合成装置の全体機能構成の一例を説明する図である。 実施例1の音声合成装置のハードウェア構成の一例を説明する図である。 実施例1に係る、(準)肉声音声格納部に格納されているデータ例を示す図である。 実施例1に係る、入力解析部の出力データ例を示す図である。 実施例1に係る、韻律生成部の出力データ例を示す図である。 実施例1に係る、(準)肉声音声格納部に格納されているデータ例を示す図である。 実施例1に係る、韻律情報抽出部の出力データ例を示す図である。 実施例1に係る、韻律生成部の全体処理フローチャートを示す図である。 実施例1に係る、韻律生成部の韻律情報生成処理のフローチャートを示す図である。 実施例1に係る、韻律生成部における韻律調整処理の模式図である。 実施例1に係る、韻律生成部の出力データ例を示す図である。 実施例1に係る、声質抽出部の処理フローチャートを示す図である。 実施例1に係る、(準)肉声音声格納部に格納されているデータ例を示す図である。 実施例1に係る、声質考慮波形合成部の処理フローチャートを示す図である。 実施例2に係る、音声合成装置の全体機能構成を説明する図である。 実施例2に係る、読み上げシナリオ格納部のデータ例を示す図である。 実施例2に係る、全域声質情報格納部のデータ例を示す図である。 実施例2に係る、声質考慮波形合成部の処理フローチャートを示す図である。 実施例3に係る、音声合成装置の全体機能構成を説明する図である。 実施例3に係る、コンテンツデータの構成の一例を示す図である。 実施例3に係る、コンテンツデータの構成の一例を示す図である。 実施例1に係る、全域声質情報の構成の一例を示す図である。
以下、各種の実施例を、図面に従い順次説明する。なお、本明細書において、「肉声音声」とは、通常の意味における肉声音声を、「準肉声音声」とは、韻律や声質面で肉声に準じる合成肉声音声を、「(準)肉声音声」とは、通常の意味における肉声音声と、韻律や声質面で肉声に準じる合成肉声音声の両者を意味することとする。例えば、「肉声音声データ」とは、通常の意味における肉声音声データを意味し、「準肉声音声データ」とは、韻律や声質面で肉声に準じる合成肉声音声データを意味し、「(準)肉声音声データ」とは、肉声音声データと準肉声音声データの両者を意味している。
第1の実施例は、音声合成装置、システムに係るものである。本実施例の音声合成装置、システムの構成により、ユーザが入力した読み上げテキストを、合成音声に変換する基本機能を実現する。以下では、「部」という表現で、音声合成装置、システムの内部処理の各単位を呼称するが、ハードウェアとしての装置で実現しなくても、ソフトウェアプログラムとして実現されたシステム、またはプログラムという形態で、その機能を実現することも可能である。
図1Aは、本実施例の音声合成装置、システムの全体機能を説明する図である。本実施例の音声合成装置では、読み上げ対象となる、入力テキスト(漢字かな文)112に加えて、(準)肉声音声ID114を入力として与えると、音声合成処理が実施されて、合成音声113が出力される。この音声合成処理を実現するために、入力解析部106、韻律生成部107、声質考慮波形合成部110、接続合成部111、韻律モデル108、素片データベース(DB)109という通常の音声合成装置が持つ処理単位、機能処理部を備える。これに加えて、本実施例の構成に特徴的な、(準)肉声音声格納部101、韻律や声質面で肉声に準じる合成肉声音声を生成する準肉声音声生成部102、(準)肉声音声を選択する(準)肉声音声選択部103、韻律情報抽出部104、声質情報抽出部105を備え、さらに声質考慮波形合成部110は、声質情報抽出部105で抽出された声質情報に基づいて特別な波形合成処理を行う機能処理部であることを特徴とする。これらの図1Aの装置、システム中の処理単位、機能処理部は、例えば、次に説明する処理部でのプログラム実行で実現可能である。
以下ではまず本実施例を構成する各機能処理部で行われる処理について説明するが、それに先立ち、この全体機能構成を実現する、音声合成装置、システムのハードウェア構成の一具体例を図1Bに示す。なお、このハードウェア構成は、第1の実施例のみならず、後で説明する他の実施例の音声合成装置、システムのハードウェア構成としても利用できるものである。
図1Bの構成において、120はパーソナルコンピュータなどの通常のコンピュータであり、その内部に、内部バス128で相互接続された、処理部である中央処理部(CPU)121、記憶部であるメモリ(MM)122、ネットワーク124に接続されるネットワークインターフェース123、入出力部(I/O)126を備える。また、その外部には、記憶部であるハードディスクドライブ(HDD)125、入出力部126に接続されたスピーカ127を有する。外部記憶部であるHDD125には、動作時にMM122にロードされ、処理部であるCPU121で実行される各種の音声合成用の機能プログラムや、素片データベース(DB)等の各種のデータベースなどが記憶される。入出力部126に接続されたスピーカ127からは、音声合成装置、システムによる音声合成の結果である合成音声が出力される。
さて、図1Aの実施例1の機能構成図に戻り、漢字かな文である入力テキスト112は、「よろしくお願いします」や「今日の天気は晴れかなぁ」などの読み上げ対象テキストである。上記の例は文の数がそれぞれ1であるが、もちろん、複数の文を結合した長いテキストを入力することも可能である。また、図1Aでは漢字かな文としているが、もちろん、英語や中国語などの外国語でも構わない。その場合は、内部の音声合成処理もその外国語に対応したプログラム・データを用いなければならない。
(準)肉声音声ID114は、入力テキスト112の中でどの文字列部分に対してどの(準)肉声音声を使用するかを指定する情報である。図2にIDと対応する文字列、対応する(準)肉声音声を格納した(準)肉声音声格納部101中のデータベース200の一例を示す。ここで、(準)肉声音声とは、上述の通り、通常の肉声音声、或いは韻律や声質面で肉声に準じる合成肉声音声を意味する。本音声合成装置の利用者は、入力テキスト112「今日の天気は晴れかなぁ」とあわせて、(準)肉声音声ID114として例えば「2」という情報を入力する。利用者は図2に示す(準)肉声音声データベース200を参照して、入力テキストの一部分として使用すべき(準)肉声音声を指定するIDを決定する。例えば、「かなぁ」などの口語調表現に対しては、さまざまな韻律(抑揚)で発声した「かなぁ」がありえる。音声合成装置の利用者は、自分が求める韻律を持つ(準)肉声音声を選択し、対応する(準)肉声音声IDとして、「1」又は「2」を指定する必要がある。
入力解析部106は、入力テキスト112と(準)肉声音声ID114を受け取り、その解析処理を実施する。入力テキスト112に対しては、テキストに含まれる単語の発音やアクセントなどを決定する言語解析処理を実施し、解析結果を韻律生成部107に渡す。
一方、(準)肉声音声ID114は、そのまま(準)肉声音声選択部103に受け渡す。後述する別の実施例では、(準)肉声音声ID114が単純なIDで指定されない場合、または(準)肉声音声ID自体が指定されない場合を説明する。その場合は、入力解析部106では、入力テキスト112を解析した結果の中から(準)肉声音声の選択に必要な情報を、(準)肉声音声選択部103に受け渡すことになる。
入力解析部106で実施する言語解析処理はすでにさまざまな音声合成装置で実施されている入力解析部106から出力される情報は、例えば図3に示す情報300のようなものとなる。もちろん、図3の情報300は最小限必要なものであり、さらに多様な情報を付加して出力する場合も考えられる。
韻律生成部107では、入力された解析結果(図3)を用いて、合成音声が持つべき韻律情報を決定する。決定される韻律情報には、例えば、入力テキストを構成する各音素の長さ(ms)・高さ(Hz)・強さ(dB)などがある。韻律生成部107では、この韻律情報を決定するために韻律モデル108を使用する。
図4に韻律生成部107から出力される韻律情報の例を情報400として示す。ただし、本実施例の韻律生成部107は、韻律情報抽出部104から出力された(準)肉声音声の韻律情報をもとに、上記生成された入力テキストの韻律情報400を調整する。この処理については後述する。
声質考慮波形合成部110では、韻律生成部107から出力された図4の韻律情報400をもとに、合成音声データの生成を行う。ここで行われる基本処理は従来の音声合成処理で行われる波形合成処理を用いることができる。波形合成処理では通常、素片DB109と呼ばれる音声データを参照して合成音声を生成する。ここで用いられる技術は、例えば音素単位、音節単位の音声波形データ(素片)を多数、素片DBに格納しておき、それらの中から入力テキストを構成するために最適な素片の系列(並び)を選択し、その後、波形接続処理、または波形重畳処理を施して合成音声を生成するという技術を用いることができる。波形接続処理にはクロスフェードによる重ね合わせ処理などの、波形重畳処理には時間領域ピッチ同期オーバーラッピング処理(TD−PSOLA)などのアルゴリズムを用いることができる。また、この技術以外にも、音素単位、音節単位で音声分析パラメータをDBに格納しておき、入力テキストを構成する音素に対応する音声分析パラメータを取り出して、それを逆フィルタ処理に通すことで音声波形に変換するパラメータ合成技術というものを用いることもできる。近年では、音声分析パラメータをHMM(隠れマルコフモデル)という確率モデルでモデル化し、より滑らかなパラメータ変化を実現する手法なども存在している。
以上で説明した波形合成処理は、声質考慮波形合成部110で行われる波形合成処理の基本処理を説明したものである。本実施例の声質考慮波形合成部110は、声質情報抽出部105から出力された(準)肉声音声の声質情報をあわせて用いて、上記説明した素片選択処理、または音声分析パラメータの調整処理を実施する。これにより、(準)肉声音声に声質が近い合成音声の生成が可能となる。この処理については後述する。
接続合成部111では、波形合成部110から出力された合成音声と、(準)肉声音声選択部103から出力された(準)肉声音声データとの結合処理を行う。入力テキスト112「今日は晴れかなぁ」、(準)肉声音声ID114「2」に対して、声質考慮波形合成部110からは「今日は晴れかなぁ」に対応する合成音声が出力され、同時に(準)肉声音声選択部103からはID「2」に対応する準肉声音声データが出力される。接続合成部111では声質考慮波形合成部110から出力された「今日は晴れかなぁ」の合成音声のうち、「かなぁ」に対応する部分を(準)肉声音声選択部103から出力された「かなぁ」の(準)肉声音声データで置換する処理を実施する。この置換処理は例えば、クロスフェード重ね合わせ処理を用いることができる。また、この置換処理には、本発明者等による特許文献2や、特許文献3で開示されている肉声音声と合成音声の接続処理を用いることもできる。この結果、指定された(準)肉声音声を使用することでより音質を向上させた合成音声113が出力される。
以上は、入力テキスト112を合成音声113に変換するためのメインの音声合成処理の流れについて説明した。以下では、本実施例の音声合成装置に特徴的な機能処理部について説明する。
(準)肉声音声格納部101には、さまざまな表現(日本語文字列)に対応する(準)肉声音声波形データが格納されている。例えば、図5に示すリスト500がこの(準)肉声音声格納部101に格納されているデータの例である。この例では、口語調(話し言葉)音声の文末として使われる表現に対して、対応する(準)肉声音声の断片データが格納されている。もちろん、文末表現に限る必要はなく、肉声音声の品質を必要とするような表現に対してこのように(準)肉声音声データを対応付けて格納しておくことができる。ここで格納されている音声波形には、後の接続合成部111で使用するための付加情報として音声の長さ(ms)と両方の端点での音の高さ(Hz)が格納されている。
準肉声音声生成部102は、肉声音声の品質に準じる合成音声データである準肉声音声を生成するための処理部である。この処理部は、使用できる肉声音声の種類を(準)肉声音声格納部101に格納されているもの以外にも増やせることを目的としている。ただし、(準)肉声音声格納部101に格納されている(準)肉声音声データだけで必要な音質を確保できると判断されれば、この準肉声音声生成部102は必要ない。そこで、準肉声音声生成部102での処理は実施例2において説明する。この本実施例の説明では、この準肉声音声生成部102が動作しないとして説明を続けるが、本実施例の変形として、(準)肉声音声格納部101に格納されている(準)肉声音声データだけで必要な音質を確保できないと判断される場合は、準肉声音声生成部102において、必要とされる、準肉声音声、すなわち韻律や声質面で肉声に準じる合成肉声音声を生成することができる。
続いて、(準)肉声音声選択部103では、入力解析部を通して受け渡された(準)肉声音声ID114をもとに、対応する(準)肉声音声データを(準)肉声音声格納部101、または準肉声音声生成部102から取得する。上述の例、(準)肉声音声ID114として「2」が指定された場合は、図5に示される(準)肉声音声格納部101に格納されたデータの中からID=2に対応する(準)肉声音声データ、およびその付加情報が選択される。ここで選択されたデータ類は韻律情報抽出部104、声質情報抽出部105、および接続合成部111に渡される。
韻律情報抽出部104では、(準)肉声音声選択部103から出力された肉声音声データに対して韻律情報の抽出処理を行う。韻律情報とは音声データを構成する各音素の長さ(ms)、高さ(Hz)、強さ(dB)などの情報であり、従来から幅広く利用されているさまざまな音声信号処理アルゴリズムを用いることで分析することができる。例えば、音の高さ(Hz)の分析には、自己相関関数のピーク検出によるピッチ抽出アルゴリズムや、LPC残差波形の自己相関関数のピーク検出アルゴリズムなどを用いることができる。音の強さに関しても二乗平均値などのパワー分析アルゴリズムなどが存在する。
しかし、音声を構成する音素系列の決定やその時間位置の分析は容易ではない。さまざまな文献で開示されている音声認識アルゴリズムを用いることで、肉声音声データを音素列に変換(書き起こし)して、各音素の時間位置を決定することはできる。しかし、現状の音声認識アルゴリズムでは書き起こしの認識精度はあまり高くない。そこで、(準)肉声音声選択部103から(準)肉声音声データとともに受け渡される文字列表現を音素列に変換し、その時間位置のみを音声認識アルゴリズムで決定する手法をとることができる。現状の音声認識アルゴリズムでも、音素列が確定してさえいればある程度は精度も高く各音素の時間位置の決定は可能である。このようなさまざまな音声信号処理アルゴリズムを用いることで、韻律情報抽出部104は図6に示すような韻律情報を肉声音声データに対して生成する。もちろん、(準)肉声音声格納部101に格納されている音声データリスト500に対して、事前にこの韻律情報の抽出(さらには人手による修正)を行っておき、音声データとともに(準)肉声音声格納部101に格納しておく構成も可能である。
韻律情報抽出部104から出力された図6に示す韻律情報600は韻律生成部107に受け渡される。韻律生成部107は、入力解析部106から渡された入力テキストの解析結果300をもとに合成音声の韻律情報400を生成するが、本実施例の音声合成装置においては、この韻律情報抽出部104から受け渡された肉声音声データの韻律情報600を用いて、合成音声の韻律情報400の調整を行うことを特徴としている。この調整処理により、入力テキスト112をそのまま音声合成した場合の韻律(抑揚やリズムなど)が、指定された(準)肉声音声ID114と組み合わせられた場合にどう変化するかが解析され、最初に生成された韻律情報にその変化を施した調整結果を最終的な韻律情報400として出力する。これにより、上記選択された肉声音声データとスムーズにつながるように韻律情報が調整されることになる。この韻律生成部107での韻律情報調整処理の詳細については後述する。
声質情報抽出部105では、(準)肉声音声選択部103から出力された肉声音声データに対して声質情報の抽出処理を行う。声質情報とは音声データがどのような声色であるかを示す情報であり、例えばケプストラム係数やFFTなどによる周波数分析係数などが該当する。この声質情報の構成に関してはさまざまな形態が考えられ、後述する別の実施例などでいくつかの実施形態について詳細に説明を行う。また、この声質情報抽出部105で抽出される声質情報には少なくとも、肉声音声データの両端付近の声質を示す短時間声質情報(両端それぞれに対して)と、肉声音声データ全域に対する声質を示す全域声質情報の2種類が存在する。前者の短時間声質情報としては、肉声音声データの両端それぞれに対して、ある時間長(例えば20ms)の短時間音声データ(フレームと呼ぶ)を切り出し、その音声に対して上述の声質分析処理を施すことができる。一方、後者の全域声質情報の構成方法にはさまざまなものが考えられる。例えば、最も単純には肉声音声データ全体に対して上述の声質分析処理を施す方法がある。後述する別の実施例ではこの他の構成についても説明する。ここの説明では、この声質情報抽出部105から、短時間声質情報として肉声音声データ両端の短時間フレームケプストラム係数ベクトルが、全域声質情報として肉声音声データ全体に対するケプストラム係数ベクトルが出力されるとして説明を続ける。
声質考慮波形合成部110では、声質情報抽出部105から出力される声質情報(短時間および全域)を受け取り、それを用いた上で合成音声の波形合成処理を行う。すでに上述したように、この波形合成処理では、入力テキストを構成する各音素(音節)に対応する素片データを素片DB109から取り出し、接続コストと呼ばれる素片データ間の音の近さを示す値が素片系列全体で最小となるような素片系列(最適素片系列)を探索する。この接続コストの計算において、前記声質情報(短時間および全域)を勘案することで、指定された(準)肉声音声データと声質がスムーズにつながるような合成音声を生成できるようになる。ここでの処理の詳細は後述する。
以上で、図1Aに示す本実施例による音声合成装置の各機能処理の概要を説明した。この処理の結果、指定された入力テキスト112を音声合成した合成音声を、同じく指定された(準)肉声音声IDに対応する肉声音声データと置換・接続して生成することが可能となり、その合成音声は肉声音声データ部分の声質や韻律をもとに調整されることで、声質や韻律がスムーズに肉声音声データとつながるような合成音声にすることが可能となる。具体例で示すと、「今日は晴れかなぁ」という入力テキスト、および「かなぁ」に対応する肉声音声データとして図5のID=2の音声を指定した場合、出力される合成音声は「かなぁ」の部分に図5の(準)肉声音声データを使用し、その前の部分の「今日は晴れ」に相当する合成音声は、末尾の「かなぁ」の肉声音声データの声質や韻律に合うように調整されたものとなる。結果、末尾の肉声「かなぁ」と韻律や声質が合った(近い)「今日は晴れかなぁ」の合成音声が出力されることとなる。
続いて、本実施例の音声合成装置で特徴的な部分についてその処理フローも含めてより詳細に説明する。
図7、図8に示すフローチャートを用いて、韻律生成部107の詳細な処理の流れの一例を説明する。
韻律生成処理がスタートするとまず、入力解析部106から出力された言語解析結果300を受け取り、その言語解析結果をもとに入力テキストを構成する各音素(音節)の韻律情報(長さ、高さ、強さ)を生成する。この韻律情報生成処理703は、現在利用されているさまざまな音声合成プログラムで実施されている韻律情報生成処理をそのまま利用することができる。そこでは例えば図8のフローチャートに示す処理が実施されている。
図8において、言語解析結果300が入力されると各単語の発音を音素列(または音節列)へと分解する(ステップ802)。この結果、図4の「音素」列に示すような音素記号の系列へと変換される。
つづいて、各音素に対して環境情報ベクトルを生成する(ステップ803)。環境情報ベクトルとは、言語解析によって解析された情報300をもとに、それぞれの位置の音素が持っているさまざまな言語環境情報をベクトル形式で抽出したものである。そのベクトルに含まれる言語環境情報には例えば、その音素が子音であるか/母音であるか(0または1)、その音素が含まれる単語(アクセント句)の音節数(モーラ数)、その音素が含まれる単語の品詞、その音素の直前の音素が子音であるか/母音であるか(0または1)、その音素の直後の音素が子音であるか/母音であるか(0または1)、その音素の直前に単語(アクセント句)の境界が存在するか/しないか(0または1)、その音素の直後に単語(アクセント句)の境界が存在するか/しないか(0または1)などがありえる。
つづいて、上記生成された環境情報ベクトルを参照して、入力テキストを構成する各音素の継続長の決定処理が行われる(ステップ804)。この決定アルゴリズムには、例えば決定木を用いる手法、数量化I類や重回帰分析による回帰直線で予測する手法などさまざまな実施例が存在する。決定木による継続長決定手法を用いる場合は、事前に大量の音声データを用いて機械学習された決定木データを参照する。決定木データには、木のルートノード(始点)から出発して、木の各ノードに設定されている質問(環境情報ベクトルの第N要素が値kよりも大きいか/小さいか等)を、前記抽出された環境情報ベクトルを用いて分岐していき、最終的に到達した葉ノードに設定されている継続長値(ms)を、その環境情報ベクトルを持つ音素の継続長として出力する。数量化I類や重回帰直線による予測の場合も同様に、各音素の環境情報ベクトルと、ある重み係数ベクトルとの間で内積計算することでその音素の継続長を決定する。このような音素ごとの継続長決定処理を、入力テキストを構成するすべての音素に対して実行することで、入力テキスト全体の継続長値(ms)が決定される。
つづいて、各音素の音高(Hz)の決定処理を実施する(ステップ805)。こちらも同様に、決定木や重回帰予測などの手法を用いて、前記抽出された環境情報ベクトルから各音素の音の高さ(Hz)を決定する。最後に、ステップ806で音素ごとの強さ(dB)を決定する。ここの処理も上記と同様の手法を用いることができる。
上記の説明では、継続長の決定処理(ステップ804)を行ってから音高の決定処理(ステップ805)、強さの決定処理(ステップ806)を実施する形態で説明したが、環境情報ベクトルに含まれる情報の種類によっては、先に音高の決定を行ってから継続長を決定するという実施形態や、継続長と音高・強さとを同時に決定する実施形態も考えられる。この順番は本実施例の実施に対しては重要ではない。
以上の図8の処理の流れにより、図7のフローチャートの韻律情報生成処理(ステップ703)は実現できる。この結果、韻律情報生成処理(ステップ703)から図4に示すような音素ごとの韻律情報列が出力される。
韻律情報生成処理(ステップ703)につづいて、韻律情報抽出部104で抽出された(準)肉声音声データの韻律情報600を受け取り、その情報をもとに、前記ステップ703の韻律情報生成処理で生成された韻律情報400の調整処理が実施される。この調整処理は、(準)肉声音声データが持つ韻律(全体的な話速、音の高さ、強さなど)に合うように、前記生成された入力テキストの韻律情報400を調整する処理である。
図7に示すフローチャートでは、まず継続長の調整処理(ステップ705)を実行する。調整の仕方にはさまざまな方法が考えられるが、もっとも簡単には文全体(または息継ぎフレーズ単位など)での平均継続長が、図6に示す(準)肉声音声データの韻律情報600の平均継続長と近くなるように個々の音素の継続長値を増減させる手法がありえる。ここでの増減は、日本語音声においては話速の違いが母音音素に大きく影響するという知見から母音音素の継続長に対してのみ増減処理を行うという方法を採りえる。もちろん、話速変化が子音音素に及ぼす影響と母音音素に及ぼす影響とをそれぞれ定量化して、各々切り替えて増減処理を施すという手法も考えられる。さらには、その(準)肉声音声データを切り出した元となる文音声の対応区間(例えば、「かなぁ」に対応する(準)肉声音声データが元々、「そろそろ終わりかなぁ」という肉声音声から切り出されたものであった場合、「かなぁ」の直前の部分「そろそろ終わり」に相当する部分)の平均継続長を図5に示す(準)肉声音声格納部101に付加情報として格納しておき、その値を用いて調整処理を行うという手法もありえる。
つづいて、全体ピッチの調整処理(ステップ706)を実行する。このピッチ(音高)の調整処理でも同様に、文全体(または息継ぎフレーズ単位など)での音高値が、当該(準)肉声音声データの始点の音高とスムーズにつながるように調整処理が行われる。この調整処理もさまざまな実施形態が考えられるが、(準)肉声音声データと接続される端点に対応する音素箇所にて音高が一致するような調整が必要である(図9a)。これを一致させるには、図9bにあるように、ステップ703で生成された入力テキスト全体に対する音高曲線を上下に平行移動して、接続端点の音素箇所にて音高が一致するようにすれば良い。この平行移動によって、先頭音素などの音高がある一定値よりも低くなった場合には、さらに図9cのように接続端点を回転の中心点として音高曲線を回転させて音高が低くなりすぎない/高くなりすぎないようにすることができる。さらに、より適切には図9dのように音高曲線の始点位置と接続端点位置の高さを固定した上で曲線の上下の幅を拡大・縮小することで音高変化を調整することもできる。この場合の拡大・縮小割合は、(準)肉声音声データ部分の音高変化幅の値をもとに適切な予測手法(回帰予測、決定木等による予測など)を用いて決定する。また、前述のように、この肉声音声データが切り出された元の文音声の対応区間の音高変化幅の値をもとに予測する手法も考えられる。
最後に、上記のようにして継続長や音高(さらには図7のフローチャートでは示さなかったが音の強さ)を調整した結果として、図10に示した韻律情報1000を出力する。
このように図7に示すフローチャートの処理を実行することで、韻律生成部107は、指定された(準)肉声音声IDの(準)肉声音声データとスムーズに韻律がつながる合成音声の韻律情報を生成することが可能となる。
本実施例の音声合成装置で特徴的な部分として、次に声質情報抽出部105の処理についてのフローチャートを示す図11を用いて説明する。
図11に示すフローチャートによる声質情報抽出処理は、上記で既に説明した声質情報抽出部の処理内容とはまた違った実施形態となっている。この声質情報抽出処理では、(準)肉声音声選択部103から出力された(準)肉声音声データに対して、その始端と終端における短時間声質情報を計算するのに加えて、その(準)肉声音声データ全体での全域声質情報の計算を行う。ここでの説明では声質情報の具体的な計算アルゴリズムとしてケプストラム係数ベクトル(例えば16次元)を用いることとする。さらに全域声質情報の構成方法としては、その(準)肉声音声データにおいて声色が特徴的な(全体の声質印象に対して支配的な)時刻位置を事前に複数設定しておき、それぞれの時刻位置での短時間声質情報(ケプストラム係数ベクトル)に指定された重み係数をかけ合わせて、すべての時刻位置での短時間声質情報を加重加算した結果の声質情報(ケプストラム係数ベクトル)を全域声質情報として出力する。
以下、フローチャート図11を用いて、声質情報抽出部105の処理について説明する。
まず処理がスタートすると、ステップ1102にて(準)肉声音声選択部103から出力された(準)肉声音声データを受け取る。つづいて、ステップ1103では、その(準)肉声音声データに対して短時間声質情報を計算する。短時間声質情報はその(準)肉声音声データの始端位置と終端位置の2点において計算される。具体的には始端位置と終端位置(実際にはそれぞれ、無音部をとばして音声パワーがある閾値以上となった箇所)での短時間音声フレーム(例えば20ms)を切り出し、その音声フレームに対してケプストラム分析を実施する。この結果、短時間声質情報として、始端・終端に対応する2個の声質情報(ケプストラム係数ベクトル)が出力される。
つづいて、全域声質情報の計算処理ステップを実施する。
まず、ステップ1106にて出力される全域声質情報ベクトルVを初期化し、つづいてステップ1107にて、当該(準)肉声音声データに対する声質特徴点の数を取得する。ここで、声質特徴点とはその(準)肉声音声データにおいて声質(音色)が特徴的な時刻位置をあらわす。(準)肉声音声格納部101に格納されている(準)肉声音声データそれぞれに対して、図12の情報1200に示すように特徴点の個数、および各特徴点位置の時刻と重みを追加して格納しておく。ステップ1107では、(準)肉声音声選択部103から(準)肉声音声データとあわせて対応する特徴点の関連情報が受け渡されてあり、そこから特徴点の個数を取得することとなる。
ステップ1108もステップ1107と同様に、すでに受け渡されている特徴点関連情報(各特徴点の時刻Tiと重みWi(1≦i≦N))を取得する。
つづくステップ1110からステップ1113までは、変数iを1からNまで増加させながら繰り返して実行される。ステップ1110は、(準)肉声音声データからi番目の特徴点時刻における短時間音声フレーム(例えば20ms)の切り出し処理を実施する。つづくステップ1111でその短時間声質情報(ケプストラム係数ベクトル)を計算し、その値をこの特徴点に対する重みWiをかけあわせた上で出力変数Vに加算していく。
これらのステップを繰り返すことで、当該(準)肉声音声データに指定されている特徴点すべてにおける短時間声質情報を重み加算した結果となる全域声質情報を計算することができる。
そして、最後にステップ1104で、前記計算された始端・終端の短時間声質情報、および全域声質情報(それぞれ16次元のケプストラム係数ベクトル)が声質抽出部105から出力される。
また、図21に示すように、本実施例の全域声質情報の計算方法の別の構成を採ることもできる。図21の例は、(準)肉声音声データに対して、同図に示すように、分割なし(=分割1)、2分割、3分割、…、k分割と音声データ区間の分割を増やしていきながら、それぞれの分割区間で短時間声質情報を計算する。分割数iではi個の短時間声質情報が出力されるが、この中から全体を代表する代表声質情報を決定する。代表点の算出方法には、統計手法である平均値を用いる方法、メディアン(中央値)を用いる方法、さらにはクラスタリング手法による中心クラスタ(セントロイド)を用いる方法などが考えられる。こうして、k個の代表声質情報が計算されると、それら各分割の代表声質情報を纏めて全域声質情報ベクトルであるk次元全域声質情報として出力する。
次に、図13のフローチャートを用いて、本実施例の音声合成装置で特徴的な部分として、声質考慮波形合成部110の処理について説明する。
本フローチャートは素片選択型音声合成(Unit Selection Speech Synthesis)技術の基本的な構成に対して、本実施例に特徴的ないくつかの処理を加えたものとなっている。まず、素片選択型音声合成技術の基本構成を図13により説明したのち、本実施例の音声合成装置に特徴的なステップについてさらに追加して説明を行う。
図13の左側のフローチャートは素片選択手法による波形合成処理の流れを示す。まずステップ1302では、読み上げ文を構成する音素(音節、または特別な単位)ごとに、その素片候補をすべて列挙する。波形合成部110には韻律生成部107から図10に示すような韻律情報1000が渡されている。この韻律情報の音素欄で指定された「KY」や「O」などの音素それぞれに対して、素片DB109の中には複数個の素片候補が存在している。ステップ1302では、この「KY」に対する素片候補集合、「O」に対する素片候補集合というように、読み上げ文を構成する素片単位ごとに素片候補集合を探索・列挙する。つづいて、ステップ1303では列挙された素片候補すべてに対して、ターゲットコストと呼ばれるコスト値を計算する。
図13の中央のフローチャートで、このコスト値の計算処理の詳細を説明している。ターゲットコストの計算では、韻律情報1000で指定されている各音素の長さ・高さ・強さに対して、素片候補それぞれの長さ・高さ・強さがどの程度離れているかに基づいてコスト値を計算する。ここでの計算式はさまざまな実施例がありえるが、本実施例の装置の骨子には大きく影響しないため、ここでは詳細は省く。こうして、韻律情報に設定された値と素片の値との間で長さ・高さ・強さに対するコスト値を計算した後、本実施例に特徴的なステップとして、全域声質に対するコスト計算処理1315を実施する。ここでは声質抽出部105から出力された(準)肉声音声データの全域声質情報と、計算対象の素片が持つ全域声質情報との間でコスト値の計算を行う。(準)肉声音声データの全域声質情報は前記説明したような実施形態のデータである。一方、当該素片が持つ全域声質情報の計算方法については、いくつか実施形態が考えられる。もっとも単純には、素片データを一つの(準)肉声音声データとみなして、声質情報抽出部105での全域声質情報の抽出手法として前記説明した手法を用いることで、素片データに対する全域声質情報を取得することができる。すると、二つの全域声質情報(例えば、16次LPCケプストラム係数ベクトル)の間で距離計算(ユークリッド距離など)を行うことができる。
さらに、その素片データ内の子音音素区間と母音音素区間を区別して、母音音素区間のみに対して前記の全域声質情報の抽出方法を適用するという手法も実現できる。母音音素区間の方が子音音素区間と比較してより多く、話者の声質やそこの音声区間の声質を決定する情報を有しているためである。一般には、素片データを構成する音素の種別に応じて重み値を設定しておき、素片データ全体の全域声質情報に対する寄与を設定するという方法を採ることができる。
また、素片データに対する別の全域声質情報の計算方法として、その素片データが切り出された元々の収録音声において、その素片データが位置するある一定長の音声区間(例えばアクセント句)に対して、声質情報抽出部105ですでに説明した全域声質情報を抽出しておき、素片DB109にその素片データと対応づけて全域声質情報を格納しておくという方法も考えられる。この場合は、ステップ1302で素片候補を探索・列挙する際に、素片に対応づけられている全域声質情報も併せて取り出しておく必要がある。
また、図21に相当する全域声質情報を採用している場合は、ここで計算される素片データに対する全域声質情報もそれに対応した構成にしなければならない。単純に、各素片データに対して前述のk分割によるk次元全域声質情報を算出して、(準)肉声音声データのそれとの間で距離計算を行うという手法もある。しかし、素片データの場合は音声長が(準)肉声音声データの音声長と比べて短い場合が多く、単純に同じ分割数kを用いてしまうと、各分割の分析時間長が短くなりすぎるという問題が生じる。これに対しては、その素片データが切り出された元の収録音声に対して、k分割の全域声質情報の計算を行った上で、分割後の音声長が当該素片データの長さ以下となった時点で、分割範囲を素片データの中だけに限定するという手法を採ることもできる。つまり、分割単位が素片データ長よりも短い場合は素片データ内を短時間声質情報の計算範囲とし、素片データ長よりも分割単位が長い場合は素片データが切り出された元の収録音声を対象として声質情報を計算するという方法である。
また、ここで説明した方法では(準)肉声音声データと、素片データが切り出された元の収録音声の長さの違いは無視していたため、同じk分割でも分割単位の長さが対応しないという問題も生じる。これに対しては、分割数を増やしていくのではなく、分割単位の時間長を例えば、1000ミリ秒、500ミリ秒、250ミリ秒と小さくしていくという方法を採ることができる。これによって、各分割単位での分析時間長が異なるという問題は解決できる。
ターゲットコストの計算ステップ1303の説明に戻ると、上記のように、素片と韻律情報(ターゲット)との間で計算された長さ・高さ・強さに対するコスト値、およびステップ1315で本実施例独自に計算された全域声質情報に対するコスト値を最終的に重み加算して、その素片に対するターゲットコストを決定(ステップ1316)する。以上の処理を、すべての素片候補に対して繰り返す(ステップ1317)ことで、ターゲットコスト計算処理(ステップ1303)は実施される。
つづいて、接続コストの計算処理(ステップ1304)が実施される。このステップの詳細は、図13の右側にフローチャートとして示されている。ここのフローチャートも本実施例の実施によって、素片選択型音声合成における基本構成から変更された部分が存在する。
図13の右側のフローチャートにおける接続コストの計算では、まず読み上げ文の中で隣接する素片候補xとyを一つ取り出す(ステップ1322)。つまり、素片xの直後に素片yが結合されて合成音声が生成されるような素片の組である。読み上げ文を構成する素片単位(例えば音素)ごとに、複数の素片候補が探索・列挙されているため、この組合せの数は膨大なものとなる。この組合せの数を減らす手法にはさまざまなものが開示・実施されているが、本実施例の骨子とは関連しないため、説明は省略する。
ステップ1323では、左側の素片xに対して、その終端位置での短時間声質情報を抽出する。短時間声質情報の構成方法はすでに述べた。この接続コスト計算処理では、前記説明した(準)肉声音声データに対して抽出する短時間声質情報と、ここで抽出する素片の短時間声質情報との間で距離計算する必要があるため、この2種類の短時間声質情報は同じ手法で分析された情報であることが望ましい。
次に、素片yが(準)肉声音声データの先頭箇所に相当する音素(素片単位)であるかどうかにより、処理を切り分ける。まず、判定結果がNOの場合、すなわち、(準)肉声音声データとの接合点ではない場合は、通常の音声合成処理と同一であり、ステップ1325で素片yの先頭位置での短時間声質情報を計算し、ステップ1326で上記計算した素片xとyの短時間声質情報の間での距離を計算する。
一方、素片yの位置が(準)肉声音声データの先頭箇所に相当するものである場合、素片x終端の短時間声質情報と、前記声質抽出部105で計算された(準)肉声音声データの始点の短時間声質情報との間で、距離計算する必要がある。ステップ1327で(準)肉声音声データ始点の短時間声質情報を取り出し、ステップ1328で素片xの短時間声質情報との間での距離を計算する。
最後に、ステップ1329では、計算された短時間声質情報間の距離に対して、ある重み値をかけることで最終的な接続コスト値として出力する。この重み値は一定ではなく、接続コスト計算のフローチャートで左右どちらの経路で計算された値かによって重み値を変更する場合は考えられ、また素片xやyの音素の種類などで重みを変更する実施形態もありえる。
以上の処理を、すべての素片組合せに対して実施する。これにより、すべての素片の組合せに対して、その間での接続コストが設定される(ステップ1304)。
つぎに、最小コストとなる素片系列の探索処理を実施する(ステップ1305)。読み上げ文を構成する音素(音節)ごとに複数の素片候補が列挙されているが、その中から一つを決定する処理がこの処理である。決定処理においては、素片の持つターゲットコスト、および左右の音素(音節)に対応する素片との間での接続コストを足し合わせて、最もコスト和が小さな素片の組合せを決定する。この探索処理は、音声合成技術では広く用いられているビタビアルゴリズムなどを用いて実現することができる。
最後に、ステップ1306では、決定された素片の組合せを用いて、最終的な合成音声の生成処理を行う。ここでは、素片ごと、または素片間で波形重畳処理や波形接続処理と呼ばれる音声信号処理手法を用いることで実現できる。これらの手法にもさまざまな実施形態がありえるが、本実施例の骨子とは関連しないため、説明は省略する。
以上の処理によって、本実施例の音声合成手法および装置では、口語調音声を始めとする韻律や声質の変化が大きい発話スタイルの合成音声を生成する音声合成処理において、発話スタイルに特徴的な部分(口語表現部分)に肉声や肉声に準じる品質の音声データを用いることで全体の音質(肉声感)を向上させることができる。さらには、その(準)肉声音声とその他の合成音声部分との韻律や声質の違いをできるだけ小さくすることができ、従来技術で感じられた合成音声の違和感を軽減することが可能となる。
本実施例では、実施例1で説明した音声合成装置の基本構成を用いて、対話システムなどのように複数の文章を連続して音声合成するシステムの実施例を説明する。
本実施例では、シナリオ等に基づいて、またはユーザの応答に応じてシステムの次の読み上げ文章を決定する仕組み等を介して、複数の文章を連続して、またはユーザの応答と交互に音声合成するシステムを実現する。
図14は、本実施例の音声合成システム全体を説明する図である。この構成では、実施例1の基本構成(図1A、図1B)に加えて、読み上げシナリオ格納部1401、読み上げ文生成部1402、全域声質情報格納部1403を持つ。
以下、図14で新たに追加された機能処理部を中心に処理の流れを説明する。
本実施例では、音声合成システムへの入力(テキストおよび(準)肉声音声ID)はその都度都度の単独の入力ではなく、複数の文章から構成されるシナリオに沿ってその中から順次、音声合成すべき文章が決定される。
読み上げシナリオ格納部1401は、そのようなシナリオデータ(読み上げ文章の流れを指定するデータ)を格納している。この読み上げシナリオ格納部1401は、記憶部の一部に形成可能である。シナリオデータの構成方法にはさまざまな手法が考えられるが、もっとも単純には読み上げ文章および対応する(準)肉声音声IDの組を、シナリオの流れに沿って順番に記入したリストの形態で格納する手法である。この場合、読み上げシナリオ格納部1401には、例えば、図15に示すようなシナリオデータ1500が格納されている。
読み上げ文生成部1402は、読み上げシナリオ格納部1401から順番に読み上げ文と対応する(準)肉声音声IDを取り出し、本実施例の音声合成装置に入力する処理を行う。この読み上げ文生成部1402は、例えば、処理部であるCPUにおけるプログラム実行で実現できることはいうまでもない。
図15に示すようなシナリオデータ1500が格納されている場合であれば、次に音声合成する文と(準)肉声音声IDを取り出して、直前の音声合成処理が終了したタイミングで入力すれば良い。もちろん、もっと複雑な形式でシナリオデータを保存することもできる。例えば、VoiceXML、SSML(Speech Synthesis Markup Language)などの標準化された規格にもとづいたシナリオデータを用いることも考えられる。この場合、それらの規格データの中では読み上げ文のテキストしか指定できないため、その文に対応する(準)肉声音声IDを決定するために、別の対応表(図15もその例)を持つことになる。本実施例の好適な態様にあっては入力テキストを解析し、この図15の対応表を用いて、(準)肉声音声データを決定する。
本実施例のシステムでもう一つ追加された全域声質情報格納部1403は、声質情報抽出部105で抽出された全域声質情報を、毎回、追加・格納していく。ここで格納される全域声質情報の構成方法は特に限定しない。この格納部1403には、少なくとも直前に音声合成された数回分の全域声質情報を格納しておくことが必要である。例えば、図16に全域声質情報格納部1403に格納されている情報の例1600を示す。この情報1600では、現在の読み上げ文を履歴0として過去3回までの読み上げ文に関する全域声質情報が保存されている。また、読み上げ文や対応する(準)肉声音声IDも格納してある。ここに格納しておく必要がある情報も、先の履歴の長さと同じように、声質考慮波形合成処理において、過去の読み上げ文の全域声質情報をどのような処理方法で利用するかに依存する。
声質考慮波形合成部110では、声質情報抽出部105から出力された、今回の読み上げ文に関する声質情報に加えて、全域声質情報格納部1403に格納されている過去の読み上げ文に対する全域声質情報も参照して、今回の読み上げ文に対する合成音声を生成する。図17を用いて説明する。
図17は本実施例における声質考慮波形合成部110の処理フローチャートの一例である。
図17の処理フローチャートは、実施例1の声質考慮波形合成部110の処理フローチャート図13中と、全域声質に対するコスト計算処理の箇所が異なる。図17では、全域声質情報に対するコスト計算処理をさらに詳細ないくつかの処理ステップとして実現する。
ステップ1701では全域声質情報格納部1403に格納されている情報から、直前に音声合成した文に対する全域声質情報(以下、C1と呼ぶ)を取得し、続く1702では声質抽出部105から出力された今回の読み上げ文((準)肉声音声データ)に対する全域声質情報(以下、C0)を取得する。
つづいて、ステップ1703では、現在、ターゲットコストを計算している素片が読み上げ文の中でどこにあるかを示す位置情報Pを計算する。この位置Pとは、直前の読み上げ文における(準)肉声音声データの全域声質情報が、今回の文のどの位置まで影響を及ぼすかを評価するための情報として利用される。この位置Pの計算方法には、例えば、読み上げ文を構成する音素の系列の中で何番目に位置するかを示す値を使用することもでき、また読み上げ文の先頭から何秒目に位置するかを示す値を韻律情報1000から計算して使用することもできる。また、読み上げ文中で先頭からこの素片の占める位置までの間に息継ぎポーズが含まれた場合には位置Pに大きな値を加算するなどする実装形態も考えられる。息継ぎポーズが出現すると、そこで声質に関して大きく変化(またはリセット)することが想定されるため、位置Pの値にもこのような非線形な変化を行うことで、上記の現象を考慮することが可能となる。また別の実施形態では、位置Pとして当該素片が含まれる息継ぎフレーズ、またはアクセント句が先頭から何番目のものであるかを示す値を使用することもできる。全域声質情報の影響は、意味的にまとまった音声単位であるアクセント句、またはフレーズごとに段階的に変わっていくことも考えられる。
ステップ1704では、この位置情報Pに基づいて、全域声質情報C1とC0に対する重み値を計算する。これらの重み値は、直前の文の(準)肉声音声データの影響と、今回の文の(準)肉声音声データの影響のどちらが強いかを決定するための情報であり、上述の位置Pの値をもとに計算される。ここで、重み値の計算方法にもさまざまなものが考えられるが、もっとも単純には、W1=(1−P/Pmax)、W0=(1−W1)という計算手法が考えられる。ここでPmaxは読み上げ文を構成する最後の音素(音節)に対応する素片に対して計算される位置情報Pのことである。この計算式では、読み上げ文の先頭に位置する素片ほど、直前文の(準)肉声音声データの全域声質情報の影響が大きくなり、位置Pが増えるにつれて比例してその影響力が小さくなる、つまり、今回の文の(準)肉声音声データの全域声質情報の影響が大きくなる効果を持つ。この計算式は一例であり、もっとも単純な場合である。より実際的な実施形態では、位置Pの値ごとに(または値の幅ごとに)あらかじめ重み値W1、W0を設定したテーブルを参照する方法がありえる。上記のように、直前文の(準)肉声音声データの全域声質と、今回の文のそれの影響が線形に変化していくことは考えづらい。実際の音声を模擬するためには、あらかじめ調整された重みテーブルを設定しておくことが望ましい。
ステップ1705では、この素片に対する全域声質情報の距離計算で使用する、(準)肉声音声データ側の全域声質情報を修正する。今回の文の全域声質情報はC0であるが、前述の通り、読み上げ文中での位置によって、直前文の全域声質情報の影響が必要な場合がある。そこで、C=W0・C0+W1・C1という式により、距離計算で使用する全域声質情報を計算する。
最後に、ステップ1706では上記計算された全域声質情報Cと、この素片の全域声質情報(構成方法は実施例1にて説明)との間で距離を計算し、それを全域声質に対するコスト値とする。
以上の流れにより、全域声質格納部1403に格納されている、直前の文、さらにはそれより以前の文の全域声質情報を参照して、今回の文に対する合成音声の声質を補正することが可能となる。
この実施例2によれば、複数の文を連続して音声合成するような場合において、直前に音声合成した文の(準)肉声音声データの全域声質と合うように、今回の合成音声の先頭箇所の声質を調整できるようになる。この結果、声質がスムーズにつながる合成音声を生成することが可能となる。
本実施例では、実施例2の構成を応用して、読み上げコンテンツをサーバからパーソナルコンピュータや、電子書籍端末などの端末側に配信し、その読み上げコンテンツを音声合成システムで読み上げるシステムの実施形態を説明する。
本実施例では、たとえば電子書籍などで読み上げテキストに(準)肉声音声データ群を付加したデータ全体を配信し、端末側の電子書籍端末では、コンテンツ内に記録されている(準)肉声音声データを使用しつつ、本実施例による音声合成処理を実施する。また、電子書籍以外でも、スマートフォンなどでの音声対話インタフェースにおいて、対話データ(シナリオ)をサーバ側で生成する場合に、対話シナリオ全体、または対話の流れに従って生成された一部分のシナリオをサーバ側から端末側に配信する仕組みにも使用することができる。
図18は、本実施例の音声合成システム全体を説明する図である。サーバ1800は、通常のコンピュータ構成を備え、その記憶部にコンテンツ格納部1801を備え、その処理部であるCPUや、ネットワークインターフェースによってコンテンツ送信部1802を構成可能である。
一方、端末側のコンピュータ120では、実施例2の構成(図14)に加えて、コンテンツ受信部1803、コンテンツ格納部1804、コンテンツ選択部1806、入力生成部1805を持つ。これらはコンテンツ格納部1804が記憶部である他、先に説明したネットワークインターフェースや、処理部であるCPUのプログラム実行により、実現可能な機能処理部である。一方で、肉声音声格納部、準肉声音声生成部、(準)肉声音声選択部は持たず、入力生成部1805がそれらの処理の一部を実施する。また、以上の端末側の装置に、ネットワーク124を介して、サーバ側のコンテンツ送信部1802、コンテンツ格納部1801に繋がっている。
以下の説明では、端末側の処理部についてのみ説明する。
コンテンツ受信部1803は、ネットワークを介して、コンテンツデータをサーバから受け取り、コンテンツ格納部1804に格納しておく。ここで想定するコンテンツデータとは、電子書籍や音声対話シナリオデータにおいて、読み上げテキストに加えて(準)肉声音声データ群、および読み上げ文と(準)肉声音声データとの対応を示すリストを含んだデータである。図19にその一例としてコンテンツデータ1900を示す。図19の(a)は読み上げ文そのもののリストであり、電子書籍データでは書籍内容のテキストそのものに相当する。図19の(c)は(準)肉声音声データの一覧である。ここに示すように、コンテンツそのものに(準)肉声音声データが埋め込まれて配信される。図19の(b)は、読み上げ文とそこで使用すべき(準)肉声音声データの対応を示すデータである。
図20に、さらに別の実施形態でのコンテンツデータの例2000を示す。この形態のコンテンツデータ2000では、読み上げ文中に特別な表現(※N※)で(準)肉声音声IDを指定しておく。このように、必要なデータをまとめて一つのコンテンツデータ内に格納しておくことで、コンテンツの内容に合わせて合成音声の話し方の調子を変えたりすることが可能となる。
コンテンツ選択部1806は、コンテンツ格納部1804に格納されている複数のコンテンツデータ2000の中からユーザが使用したいデータを選択するための仕組みである。電子書籍端末として実施する場合は、端末に格納されている電子書籍の中からユーザが読みたい(聞きたい)電子書籍コンテンツを選択する仕組み(タッチパネル等)がこれにあたる。また、音声対話インタフェースで使用される対話コンテンツなどでは、このコンテンツ選択処理は、ユーザ自らによる選択作業ではなく、音声対話システムによって、自動的に決定される仕組みとなる場合もある。
こうして選択されたコンテンツデータは入力生成部1805に渡される。入力生成部1806の処理は、実施例2の図14における読み上げ文生成部1402と入力解析部106と(準)肉声音声選択部103とをあわせたものとなる。図19に示すようなコンテンツデータを使用する場合、この入力生成部1806では、図19の(a)に示すコンテンツデータの中の読み上げ文リストから順番に読み上げ文を取り出し、その文IDに対応する(準)肉声音声データ(および付随情報)を、図19の(b)の対応表と、図19(c)の音声データ一覧をもとに決定し、取り出された読み上げ文と(準)肉声音声データ(付随情報)を韻律生成部、韻律情報抽出部、声質情報抽出部、接続合成部にそれぞれ受け渡す。
このような構成を用いることで、コンテンツごとに設定されている(準)肉声音声データを使用して、そのコンテンツをより高品質な合成音声で読み上げることが可能となる。
以上、本発明の種々の実施例を説明したが、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明のより良い理解のために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
更に、上述した各構成、機能、処理部等は、それらの一部又は全部を実現するための処理部で実行されるプログラムを作成する例を中心に説明したが、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現しても良いことは言うまでもない。
101 (準)肉声音声格納部
102 準肉声音声生成部
103 (準)肉声音声選択部
104 韻律情報抽出部
105 声質情報抽出部
106 入力解析部
107 韻律生成部
108 韻律モデル
109 素片データベース(DB)
110 声質考慮波形合成部
111 接続合成部
112 入力テキスト(漢字かな文)
113 合成音声
114 (準)肉声音声ID
120 コンピュータ
121 中央処理部(CPU)
122 メモリ(MM)
123 インタフェース(I/F)
124 ネットワーク
125 ハードディスクコントローラ(HDD)
126 入出力部(I/O)
127 スピーカ
128 バス
200 (準)肉声音声データベース
901、903 曲線
902 接続端点
1401 読み上げシナリオ格納部
1402 読み上げ文生成部
1403 全域声質情報格納部
1800 サーバ
1801 コンテンツ格納部
1802 コンテンツ送信部
1803 コンテンツ受信部
1804 コンテンツ格納部
1805 入力生成部
1806 コンテンツ選択部

Claims (15)

  1. 合成音声を出力する処理部における音声合成方法であって、
    前記処理部は、
    入力テキスト内から発話スタイルの特徴的な箇所に対応する肉声音声データ、もしくは韻律や声質面で肉声に準じる準肉声音声データ(以下(準)肉声音声データと称する)を選択し、
    選択した前記(準)肉声音声データから韻律情報、及び声質情報を抽出し、
    抽出した前記韻律情報に基づいて、前記入力テキストに対応する合成音声の韻律情報を調整し、抽出した前記声質情報を考慮して、前記入力テキストに対応する合成音声波形データを生成し、
    生成した前記合成音声波形データ、及び選択した前記(準)肉声音声データを接続端点で接合する
    ことを特徴とする音声合成方法。
  2. 請求項1に記載の音声合成方法であって、
    前記処理部は、
    前記(準)肉声音声データを選択するため、前記入力テキストを解析することにより、選択される前記(準)肉声音声データを決定する
    ことを特徴とする音声合成方法。
  3. 請求項1に記載の音声合成方法であって、
    前記処理部は、
    前記声質情報を抽出するため、前記(準)肉声音声データに対して、その両端の短時間区間に対応する短時間声質情報と、前記(準)肉声音声データ全体に対応する全域声質情報とを抽出する
    ことを特徴とする音声合成方法。
  4. 請求項3に記載の音声合成方法であって、
    前記処理部は、
    前記全域声質情報として、前記(準)肉声音声データ全体を対象とした周波数分析手法によって得られた周波数領域係数情報を用いる
    ことを特徴とする音声合成方法。
  5. 請求項3に記載の音声合成方法であって、
    前記処理部は、
    前記全域声質情報として、あらかじめ前記(準)肉声音声データに付加されている声質特徴点の時刻および重み情報を用いて、各時刻位置の短時間声質情報を指定された重みで加重加算した情報を用いる
    ことを特徴とする音声合成方法。
  6. 請求項3に記載の音声合成方法であって、
    前記処理部は、
    前記全域声質情報として、前記(準)肉声音声データをk分割したk個の音声区間でそれぞれ全域声質情報、または特定位置での短時間声質情報を抽出し、抽出されたk個の声質情報から代表声質情報を決定するという処理を、k=1からNまで変化させることで得られたN個の代表声質情報を用いる
    ことを特徴とする音声合成方法。
  7. 請求項3に記載の音声合成方法であって、
    前記処理部は、
    抽出した前記全域声質情報を保存しておき、抽出した前記声質情報を考慮して、前記合成音声波形データを生成する際に、保存した直近数個の前記全域声質情報も考慮して波形合成処理を行う
    ことを特徴とする音声合成方法。
  8. 請求項2に記載の音声合成方法であって、
    前記処理部は、
    前記声質情報を抽出するため、前記(準)肉声音声データ全体に対応する全域声質情報とを抽出し、抽出した前記全域声質情報を保存しておき、
    抽出した前記声質情報を考慮して、前記合成音声波形データを生成する際に、保存した直近数個の前記全域声質情報も考慮して波形合成処理を行う
    ことを特徴とする音声合成方法。
  9. 音声合成装置であって、
    処理部と記憶部を備え、
    前記処理部は、
    入力テキスト内から発話スタイルの特徴的な箇所に対応する(準)肉声音声データを選択し、
    選択した前記(準)肉声音声データから韻律情報、及び声質情報を抽出し、
    抽出した前記韻律情報に基づいて、前記入力テキストに対応する合成音声の韻律情報を調整し、抽出した前記声質情報を考慮して、前記入力テキストに対応する合成音声波形データを生成し、
    生成した前記合成音声波形データ、及び選択した前記(準)肉声音声データを接続端点で接合して出力する
    ことを特徴とする音声合成装置。
  10. 請求項9に記載の音声合成装置であって、
    前記処理部は、
    前記(準)肉声音声データを選択するため、前記入力テキストを解析することにより、選択する前記(準)肉声音声データを決定する
    ことを特徴とする音声合成装置。
  11. 請求項9に記載の音声合成装置であって、
    前記処理部は、
    前記声質情報を抽出するため、前記(準)肉声音声データに対して、その両端の短時間区間に対応する短時間声質情報と、前記(準)肉声音声データ全体に対応する全域声質情報とを抽出する
    ことを特徴とする音声合成装置。
  12. 請求項11に記載の音声合成装置であって、
    前記処理部は、
    抽出した前記全域声質情報を前記記憶部に記憶し、
    抽出した前記声質情報を考慮して、前記合成音声波形データを生成する際に、前記記憶部に記憶した直近数個の前記全域声質情報も併せて考慮して波形合成処理を行う
    ことを特徴とする音声合成装置。
  13. 請求項10に記載の音声合成装置であって、
    前記処理部は、
    前記声質情報を抽出するため、前記(準)肉声音声データ全体に対応する全域声質情報を抽出し、
    抽出した前記全域声質情報を前記記憶部に記憶し、
    抽出した前記声質情報を考慮して、前記合成音声波形データを生成する際に、記憶した直近数個の前記全域声質情報も考慮して波形合成処理を行う
    ことを特徴とする音声合成装置。
  14. 音声合成装置の処理部で実行される音声合成プログラムであって、
    前記処理部を、
    入力テキスト内から発話スタイルの特徴的な箇所に対応する(準)肉声音声データを選択し、
    選択した前記(準)肉声音声データから韻律情報、及び声質情報を抽出し、
    抽出した前記韻律情報に基づいて、前記入力テキストに対応する合成音声の韻律情報を調整し、抽出した前記声質情報を考慮して、前記入力テキストに対応する合成音声波形データを生成し、
    生成した前記合成音声波形データ、及び選択した前記(準)肉声音声データを接続端点で接合する
    よう動作させる
    ことを特徴とする音声合成プログラム。
  15. 請求項14に記載の音声合成プログラムであって、
    前記処理部を、
    前記(準)肉声音声データを選択するため、前記入力テキストを解析することにより、選択する前記(準)肉声音声データを決定する
    よう動作させる
    ことを特徴とする音声合成プログラム。
JP2012206980A 2012-09-20 2012-09-20 音声合成方法、装置、及びプログラム Active JP6013104B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012206980A JP6013104B2 (ja) 2012-09-20 2012-09-20 音声合成方法、装置、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012206980A JP6013104B2 (ja) 2012-09-20 2012-09-20 音声合成方法、装置、及びプログラム

Publications (2)

Publication Number Publication Date
JP2014062970A true JP2014062970A (ja) 2014-04-10
JP6013104B2 JP6013104B2 (ja) 2016-10-25

Family

ID=50618288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012206980A Active JP6013104B2 (ja) 2012-09-20 2012-09-20 音声合成方法、装置、及びプログラム

Country Status (1)

Country Link
JP (1) JP6013104B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016142936A (ja) * 2015-02-03 2016-08-08 株式会社日立超エル・エス・アイ・システムズ 音声合成用データ作成方法、及び音声合成用データ作成装置
CN111028824A (zh) * 2019-12-13 2020-04-17 厦门大学 一种用于闽南语的合成方法及其装置
CN112562637A (zh) * 2019-09-25 2021-03-26 北京中关村科金技术有限公司 拼接语音音频的方法、装置以及存储介质
CN113129899A (zh) * 2021-04-16 2021-07-16 广东电网有限责任公司 一种安全作业监管方法、设备和存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110097894B (zh) * 2019-05-21 2021-06-11 焦点科技股份有限公司 一种端到端的语音情感识别的方法和***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009133890A (ja) * 2007-11-28 2009-06-18 Toshiba Corp 音声合成装置及びその方法
JP2012042974A (ja) * 2011-10-26 2012-03-01 Hitachi Ltd 音声合成装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009133890A (ja) * 2007-11-28 2009-06-18 Toshiba Corp 音声合成装置及びその方法
JP2012042974A (ja) * 2011-10-26 2012-03-01 Hitachi Ltd 音声合成装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016142936A (ja) * 2015-02-03 2016-08-08 株式会社日立超エル・エス・アイ・システムズ 音声合成用データ作成方法、及び音声合成用データ作成装置
CN112562637A (zh) * 2019-09-25 2021-03-26 北京中关村科金技术有限公司 拼接语音音频的方法、装置以及存储介质
CN112562637B (zh) * 2019-09-25 2024-02-06 北京中关村科金技术有限公司 拼接语音音频的方法、装置以及存储介质
CN111028824A (zh) * 2019-12-13 2020-04-17 厦门大学 一种用于闽南语的合成方法及其装置
CN113129899A (zh) * 2021-04-16 2021-07-16 广东电网有限责任公司 一种安全作业监管方法、设备和存储介质

Also Published As

Publication number Publication date
JP6013104B2 (ja) 2016-10-25

Similar Documents

Publication Publication Date Title
US10347238B2 (en) Text-based insertion and replacement in audio narration
US10140973B1 (en) Text-to-speech processing using previously speech processed data
US7739113B2 (en) Voice synthesizer, voice synthesizing method, and computer program
US20200410981A1 (en) Text-to-speech (tts) processing
JP6266372B2 (ja) 音声合成辞書生成装置、音声合成辞書生成方法およびプログラム
US9978359B1 (en) Iterative text-to-speech with user feedback
US8352270B2 (en) Interactive TTS optimization tool
US11763797B2 (en) Text-to-speech (TTS) processing
US9508338B1 (en) Inserting breath sounds into text-to-speech output
JP4829477B2 (ja) 声質変換装置および声質変換方法ならびに声質変換プログラム
JPWO2006134736A1 (ja) 音声合成装置、音声合成方法およびプログラム
JP4586615B2 (ja) 音声合成装置,音声合成方法およびコンピュータプログラム
JP6013104B2 (ja) 音声合成方法、装置、及びプログラム
JP2020034883A (ja) 音声合成装置及びプログラム
Ramani et al. A multi-level GMM-based cross-lingual voice conversion using language-specific mixture weights for polyglot synthesis
US9484014B1 (en) Hybrid unit selection / parametric TTS system
JP2011186143A (ja) ユーザ挙動を学習する音声合成装置、音声合成方法およびそのためのプログラム
Bettayeb et al. Speech synthesis system for the holy quran recitation.
JP2016151736A (ja) 音声加工装置、及びプログラム
JP6170384B2 (ja) 音声データベース生成システム、音声データベース生成方法、及びプログラム
JP4648878B2 (ja) 様式指定型音声合成方法、及び様式指定型音声合成装置とそのプログラムと、その記憶媒体
JP5874639B2 (ja) 音声合成装置、音声合成方法及び音声合成プログラム
WO2008056604A1 (fr) Système de collecte de son, procédé de collecte de son et programme de traitement de collecte
JP2009020264A (ja) 音声合成装置及び音声合成方法並びにプログラム
JPH08335096A (ja) テキスト音声合成装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20141030

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160304

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160830

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160921

R150 Certificate of patent or registration of utility model

Ref document number: 6013104

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250