第1図は、本発明の実施形態の音声編集合成装置を示すブロック図である。
本実施形態の音声編集合成装置は、図示のとおり、テキスト入力装置100、言語置換装置110、音声合成装置120及び音声出力装置130を備えている。
テキスト入力装置100はテキストを取得する。例えば、テキスト入力装置100は、キーボードを用いて入力されたテキスト又はニュース配信サービスによって提供されたテキストなどを取得する。
言語置換装置110は、言語判別部111、言語特徴解析部112、特徴変換部113、検索部114及び置換部115によって構成される。
言語判別部111は、テキスト入力装置100から入力される多言語混在テキストを言語ごとにユニットに分割し、分割されたユニットに言語情報を付与し、一次言語及び二次言語を決定する。言語特徴解析部112は、言語判別部111から入力されたユニット列に含まれるすべての二次言語のユニットについて、二次言語のユニット特徴及び一次言語の環境特徴を分析する。特徴変換部113は、分析された二次言語のユニット特徴を一次言語のユニット特徴に、一次言語の環境特徴を二次言語の環境特徴に変換する。検索部114は、特徴変換部113から入力されたユニット特徴及び環境特徴を用いて、一次言語のユニット及び二次言語の文書を検索する。置換部115は、検索部114及び言語判別部111から入力されたユニット及び文書を置換し、単一言語のみを含む文書を作成する。
音声合成部装置120は、一次言語音声合成部121、二次言語音声合成部122及び音声編集部123によって構成される。一次言語音声合成部121は、言語置換装置110から入力された一次言語のみを含む文書から音声を合成する。二次言語音声合成部122は、一次言語音声合成部121から入力された音声を解析し、その解析の結果として得られた韻律特徴量及び音韻特徴量を用いて、入力された単一の二次言語のみを含む文書を合成する。音声編集部123は、合成した音声を編集し、音声出力装置130に出力する。
音声出力装置130は電気信号を音声に変換する装置であり、一般的に電気信号の増幅回路及びスピーカなどで構成されている。
第6図は、本発明の実施形態の音声編集合成装置のハードウェア構成を示すブロック図である。
本実施形態の音声編集合成装置は、相互に通信可能に接続された制御装置610、記憶装置620、テキスト入力装置100及び音声出力装置130を備える。
制御装置610は、本実施形態の音声編集合成装置の動作を制御する。制御装置610は、CPU611及びメモリ612を備える。CPU611は、メモリ612に格納されたプログラムを実行するプロセッサである。メモリ612は、例えば半導体記憶装置であり、CPU611によって実行されるプログラム及びCPU611によって参照されるデータを格納する。それらのプログラム及びデータは、記憶装置620に格納され、必要に応じて記憶装置620からメモリ612にコピーされてもよい。CPU611は、メモリ612に格納されたプログラムを実行することによって、記憶装置620、テキスト入力装置100及び音声出力装置130におけるデータの入出力、及び、本実施形態の音声合成等の処理を制御する。
記憶装置620は、CPU611によって実行されるプログラム及びCPU611によって参照されるデータを格納する。記憶装置620は、例えば、ハードディスクドライブ(HDD)のようなディスク装置又はフラッシュメモリのような半導体メモリであってもよい。本実施形態の記憶装置620には、言語判別部111、言語特徴解析部112、特徴変換部113、検索部114、置換部115、一次言語音声合成部121、二次言語音声合成部122及び音声編集部123が格納される。これらは、CPU611によって実行されるプログラムである。したがって、第1図に示す音声編集合成装置の各部の機能は、CPU611が上記のプログラムを実行することによって実現される。
なお、第6図には、第1図に示す言語置換装置110及び音声合成装置120が単一のハードウェアによって実現される例を示すが、これらの装置はそれぞれ独立した二つのハードウェアによって実現されてもよい。
さらに、記憶装置620には、テキストデータベース224及び言語間特徴対応表225が格納される。テキストデータベース224及び言語間特徴対応表225に格納されるデータの詳細については後述する(第3図及び第4図参照)。
テキスト入力装置100は、テキストの入力を受け付ける少なくとも一つのインターフェースを備える。例えば、第6図に示すテキスト入力装置は、キーボード631及び通信装置632を備える。キーボード631は、操作者によるテキストの入力を受け付け、入力されたテキストを制御装置610に送信する。通信装置632は、ネットワーク(図示省略)に接続され、ネットワークを介してテキスト(例えば、ニュース配信サービスによって提供されたテキストなど)の入力を受け付け、入力されたテキストを制御装置610に送信する。テキスト入力装置100は、テキストの入力を受け付ける上記以外の任意のインターフェースを備えてもよい。
音声出力装置130は、増幅回路642及びスピーカ641を備える。増幅回路642は、D/A変換器(図示省略)によってアナログ電気信号に変換された音声信号を増幅する。スピーカ641は、増幅回路642によって増幅されたアナログ電気信号を音声に変換する。
次に、第2図A、第2図B、第3図及び第4図を参照して、言語置換装置110の動作について説明する。
第2図A及び第2図Bは、本発明の実施形態の言語置換装置110の動作を示すフローチャートである。
まず、テキスト入力装置100からターゲットとする多言語混在テキスト200が言語判別部201に入力される。第2図Aに示す言語判別部201及びターゲット二次言語ユニット指定部210は、言語判別部111の一部(例えばサブプログラム)である。テキストは、Unicodeなど、事前に定義された言語情報を含むフォーマットによって記述される。本実施形態では、一例として、文字列「我在Google工作」が入力される。このテキストは中国語及び英語で構成され、「私はグーグルで仕事をしている」を意味する。なお、「Google」は登録商標である。この文字列を発音記号列に変換すると、{wo3 zai4/gu:gl/gong1 zuo4}のように表現できる。言語判別部201は、入力された文字列に含まれる各文字について、言語の種類を特定し、最も多くの連続した単一言語の文字が一つのユニットを構成するように、文字列をユニット列に分割する。そして、言語判別部201は、すべてのユニットに言語種類をラベリングし、最も多いユニットを有する言語を一次言語と判定する。ただし、最も多いユニットを有する言語が複数存在する場合、テキストの先頭から最初に現れた言語を一次言語と判定する。そして、一次言語以外の言語をすべて二次言語と判定する。二次言語は必ず一つ以上存在する。あるいは、一次言語及び二次言語は、ユーザによる指定に基づいて判定されてもよい。
なお、言語判別部201は、種々の基準に基づいて文字列をユニットに分割することができる。例えば、言語判別部201は、一つの単語が一つのユニットとなるように分割してもよいし、一つの韻律語が一つのユニットとなるように分割してもよいし、一つの韻律フレーズが一つのユニットとなるように分割してもよい。
例えば、「我在Google工作」が入力された場合、二つのユニットを有する中国語は一次言語と判定され、一つのユニットを有する英語は二次言語と判定される。そして、“「我在」(中国語)(一次言語)、「Google」(英語)(二次言語)、「工作」(中国語)(一次言語)”のようなフォーマットの言語ラベル付きユニット列202が生成され、ターゲット二次言語ユニット指定部210に入力される。
次に、ターゲット二次言語ユニット指定部210は、入力された言語ラベル付きユニット列202の先頭に最も近い二次言語ユニットをターゲットユニットと指定し、それぞれ所定のフォーマットで、ターゲットユニット及びユニット列をユニット特徴分析部211及び環境特徴解析部213に出力する。
例えば、ターゲット二次言語ユニット指定部210は、入力された“「我在」(中国語)(一次言語)、「Google」(英語)(二次言語)、「工作」(中国語)(一次言語)”から、“「Google」(英語)(二次言語)”をターゲットに指定し、“「Google」(英語)(二次言語)(ターゲット)”の形式で、ターゲットユニットをユニット特徴分析部211に出力し、さらに、“「我在」(中国語)(一次言語)、「Google」(英語)(二次言語)(ターゲット)、「工作」(中国語)(一次言語)”の形式で、ユニット列を環境特徴解析部213に出力する。
第2図Aに示すユニット特徴分析部211及び環境特徴解析部213は、第1図に示す言語特徴解析部112の一部(例えばサブプログラム)である。
ユニット特徴分析部211は、ターゲット二次言語ユニット指定部210から出力されたターゲットユニットのユニット特徴を分析し、その結果をユニット特徴ベクトル212として、ユニット特徴変換部に出力する。このとき、ユニット特徴分析手法として、一般的に使われているテキスト解析手法が用いられる。すなわち、ユニット特徴分析部211は、得られたターゲットユニットに関する読み情報及びコンテキスト情報から、事前に作成されたユニット特徴項目リスト215に基づいてユニット特徴項目を指定し、事前に決められたフォーマットのユニット特徴ベクトルを出力する。
ユニット特徴項目リスト215は、ユニット特徴ベクトルに含まれるべき項目を指定する情報を含む。具体的には、ユニット特徴項目リスト215は、テキスト解析で得られる情報のうち、韻律及び音韻特徴と高い相関を持っている、ターゲットユニット自身の特徴、例えば、ターゲットユニットの開始音素、終了音素及び長さなどを指定する情報を含んでいるのが一般的である。ここで、ユニット長さの単位は、英語の場合は母音の数、中国語の場合は音節の数、日本語の場合はモーラの数など、事前に言語ごとに定義されている。
以下、ユニット特徴項目リスト215がターゲットユニットの開始音素、終了音素及び長さを指定する情報を含む場合を例として説明する。しかし、ユニット特徴項目リスト215は、上記以外の特徴項目を指定する情報、例えば、ターゲットユニットの品詞を指定する情報、ターゲットユニットのアクセントの位置を指定する情報、ターゲットユニットのストレスの位置を指定する情報、及び、ターゲットユニットの声調を指定する情報の少なくとも一つを含んでもよい。
一般的に使われているテキスト解析手法としては、辞書参照、決定木など、ルールベース手法とデータベース手法とを統合した手法が使われている。簡単な例では、発音辞書からターゲットユニットの発音記号列を作成し、簡単なルールで発音記号の先頭の音素(すなわち開始音素)、終了音素及び母音の数を調べることで、ユニット特徴ベクトルを得られる。
例えば、ユニット特徴項目リスト215がターゲットユニットの開始音素、終了音素及び長さを指定する情報を含む場合、ユニット特徴分析部211は、入力された“「Google」(英語)(二次言語)(ターゲット)”を、発音記号列“/gu:gl/”に変換したあと、先頭の音素、終了音素及び母音の数を調べ、“「開始音素=g、終了音素=l、ユニット長さ=2母音」(英語)”のようなフォーマットのユニット特徴ベクトルを出力する。ただし、()の中はベクトルの属性を示している。例のベクトル属性は“英語”である。
以下、ユニット特徴項目リスト215がユニットの開始音素、終了音素及び長さを指定する情報を含む場合を例として説明する。しかし、ユニット特徴項目リスト215は、前述のように、上記以外の特徴項目を指定する情報を含んでもよい。例えばユニット特徴項目リスト215がターゲットユニットの品詞を指定する情報を含む場合、出力されるユニット特徴ベクトルは、さらに、「Google」の品詞を示す情報(例えば「名詞」又は「固有名詞」)を含む。
一方、ターゲット二次言語ユニット指定部210から出力されたユニット列は、環境特徴分析部213に入力され、環境特徴ベクトル214として出力される。この環境特徴分析部213は、ユニット特徴分析部211と同じく、一般的に使われているテキスト解析手法を用いて、得られたターゲットユニットに関する読み情報及びコンテキスト情報から、事前に作成された環境特徴項目リスト216に基づいて環境特徴項目を指定し、事前に決められたフォーマットの環境特徴ベクトルを出力する。
環境特徴項目リスト216は、環境特徴ベクトルに含まれるべき項目を指定する情報を含む。具体的には、環境特徴項目リスト216は、テキスト解析で得られる情報のうち、韻律及び音韻特徴と高い相関を持っている、ターゲット自身を含まない、周囲に関する特徴、例えば、先行音素、後続音素などを指定する情報を含んでいるのが一般的である。ここで、先行音素とは、ターゲットユニットの前に現れる音素(例えば、ターゲットユニットの直前の音素)を、後続音素とは、ターゲットユニットの後に現れる音素(例えば、ターゲットユニットの直後の音素)を意味する。
一般的に使われているテキスト解析手法としては、辞書参照、決定木など、ルールベース手法とデータベース手法とを統合した手法が使われている。簡単な例では、発音辞書からターゲットユニットの周囲の発音記号列を作成し、簡単なルールでターゲットユニットの直前音素及びターゲットユニットの直後音素などを調べることで、環境特徴ベクトルを得られる。
以下、環境特徴項目リスト216が先行音素及び後続音素を指定する情報を含む場合を例として説明する。しかし、環境特徴項目リスト216は、上記以外の特徴項目を指定する情報、例えば、ターゲットユニットを含む文においてターゲットユニットが占める位置を指定する情報、ターゲットユニットを含む文において、ターゲットユニットを含むフレーズが占める位置を指定する情報、ターゲットユニットにおいて、ターゲットユニットを含む韻律語が占める位置を指定する情報、ターゲットユニットを含む文の長さを指定する情報、及び、ターゲットユニットの品詞を指定する情報の少なくとも一つを含んでもよい。
例えば、環境特徴項目リスト216が先行音素及び後続音素を指定する情報を含む場合、環境特徴分析部213は、入力された“「我在」(中国語)(一次言語)、「Google」(英語)(二次言語)(ターゲット)、「工作」(中国語)(一次言語)”を、音素列/wo3zai4***gong1zuo4/に変換し(***はターゲットユニットを意味する)、簡単なルールでターゲットユニットの直前音素及びターゲットユニットの直後音素などを調べ、“「先行音素=ai、後続音素=g」(中国語)”のようなフォーマットの環境特徴ベクトルを出力する。ただし、()の中はベクトルの属性を示している。上記の例のベクトル属性は“中国語”である。
そして、言語間特徴変換部220は、ユニット特徴及び環境特徴(これらを合わせて言語的特徴と記載する)について、言語間特徴対応表225を定義し、変換するステップを実行する。第2図Bに示す言語間特徴変換部220は、第1図に示す特徴変換部113の一部(例えばサブプログラム)である。ユニット特徴分析部211から出力された二次言語ユニット特徴ベクトル212は、言語間特徴変換部220に入力され、一次言語のユニット特徴ベクトル221に変換される。一方、環境特徴分析部213から出力された一次言語環境特徴ベクトル214も、同じく、言語間特徴変換部220に入力され、二次言語の環境特徴ベクトル223に変換される。
言語間特徴対応表225は、音声合成のターゲットとなるすべての言語について、言語的特徴を、自分自身以外の言語に変換するために用いられる、言語間の対応関係を定義する情報を含む。
第3図は、本発明の実施形態の言語間特徴対応表225の説明図である。
具体的には、第3図は、言語間特徴対応表225の一部の例であり、言語的特徴を英語から日本語に変換するときの対応関係を示している。すなわち、第3図に示す“A言語”は英語を、“B言語”は日本語を示す。典型的な例として、英語の音素/l/は日本語の音素/r/に対応している。前記の言語間特徴対応表225は、観測した音声の基本周波数、パワー、音素継続長又はスペクトルなどの音韻特徴量を用いた統計的な手法(例えばクラスタリング等)、又は、専門家の知識に基づく発見的な手法などを用いて、作成することができる。
第3図には英語の言語的特徴を日本語の言語的特徴に変換するための対応関係を示すが、言語間特徴対応表225は、さらに他の言語に関する対応関係を含んでもよい。例えば、言語間特徴対応表225は、日本語の言語的特徴を英語の言語的特徴に変換するための対応関係、英語の言語的特徴を中国語の言語的特徴に変換するための対応関係、及び、中国語の言語的特徴を英語の言語的特徴に変換するための対応関係を含んでもよい。例えば、第3図では省略されているが、言語間特徴対応表225は、英語の音素/l/を中国語の音素/ou/に対応づける情報を含んでもよい。
例えば、ユニット特徴分析部211から入力された二次言語ユニット特徴ベクトル“「開始音素=g、終了音素=l、ユニット長さ=2母音」(英語)”は、言語間特徴変換部220によって、一次言語ユニット特徴ベクトル“「開始音素=g、終了音素=ou、ユニット長さ=2音節」(中国語)”に変換される。環境特徴分析部213から入力された“「先行音素=ai、後続音素=g」(中国語)”は、言語間特徴変換部220によって、二次言語環境特徴ベクトル“「先行音素=ai、後続音素=g」(英語)”に変換される。
次に、ユニット検索部230は、入力された一次言語のユニット特徴ベクトル221を検索キーとして、テキストデータベース224を検索する。具体的には、ユニット検索部230は、入力された一次言語のユニット特徴ベクトル221と、一次言語テキストデータベースに含まれるすべてのユニットのユニット特徴ベクトルとの距離を計算し、最も距離の小さいユニットを検索し、検索されたユニットの文字列を出力する。ただし、一番小さい距離を有するユニットが複数存在するとき、それらの中から一つが任意に選択される。なお、第2図Bに示すユニット検索部230及び文検索部232は、第1図に示す検索部114の一部(例えばサブプログラム)である。
第4図は、本発明の実施形態のテキストデータベース224の説明図である。
テキストデータベース224は、第4図に示すように、すべてのユニットについて、文字列411、所在文(すなわち、ユニットの文字列を含む文)の文字列412、ユニット特徴ベクトル413及び環境特徴ベクトル414などを含む。
第4図には、例として、ユニット1についてテキストデータベース224に格納されている情報を示す。ユニット1に関する文字列411及び所在文の文字列412として、それぞれ、“「google」”及び“「It’s supported by ** groups」”が格納されている。これらは、ユニット1が文字列「google」からなること、及び、この文字列が「It’s supported by google groups」という文の中に現れることを示す。
さらに、ユニット1に関するユニット特徴ベクトル413として、“「開始音素=g、終了音素=l、ユニット長さ=2音節」(英語)”が格納されている。これらは、文字列「google」の開始音素、終了音素及びユニット長さが、それぞれ、「g」、「l」及び「2音節」であることを示す。
ユニット特徴ベクトル413は、さらに、ユニットの文字列の品詞を示す情報、ユニットの文字列のアクセント(又はストレス)の位置を示す情報、及び、ユニットの文字列の声調を示す情報等を含んでもよい。
さらに、ユニット1に関する環境特徴ベクトル414として、“「先行音素=ai、後続音素=g」(英語)”が格納されている。これらは、文「It’s supported by google groups」における文字列「google」の先行音素(この例では、文字列「google」に先行する単語「by」の最後の音素)及び後続音素(この例では、文字列「google」の後に続く単語「groups」の先頭の音素)が、それぞれ、「ai」及び「g」であることを示す。
環境特徴ベクトル414は、さらに、所在文においてユニットの文字列が占める位置を示す情報、所在文においてユニットを含むフレーズが占める位置を示す情報、所在文においてユニットの文字列を含む韻律語が占める位置を示す情報、及び、所在文の長さを示す情報等を含んでもよい。
なお、実際には文字列「google」は種々の文に含まれ得る。このため、テキストデータベース224は、文字列411として「google」を、それに対応する所在文の文字列412として「It’s supported by ** groups」以外の文を含む情報をさらに含んでもよい。すなわち、第4図には、“google”を含む一つの文のみを例示したが、実際には、テキストデータベース224には、“google”を含む複数の文が格納される。後述する文検索部232は、それらの複数の文から、検索条件を満たす文を検索する。
さらに、第4図では省略されているが、テキストデータベース224には、“google”以外の英語のユニットに関する情報、及び、英語以外の言語のユニットに関する情報が格納されている。例えば、テキストデータベース224には、中国語のユニット“孤狗”に関する文字列411、ユニット特徴ベクトル413及び環境特徴ベクトル414として、それぞれ、“「孤狗」”、“「開始音素=g、終了音素=ou、ユニット長さ=2音節」(中国語)”及び“「先行音素=ai、後続音素=g」(中国語)”が格納されている。
二つのユニット特徴ベクトルの距離は、定義された計算式に基づいて計算される。一番簡単な計算は、二つのベクトルのすべてのファクターを比較し、比較結果を加算することである。ただし、ファクターが一致する場合は0、一致しない場合は1が加算される。
例えば、検索キーとして一次言語ユニット特徴ベクトル“「開始音素=g、終了音素=ou、ユニット長さ=2音節」(中国語)”が入力された場合、一次言語データベースから最もベクトル距離の近いユニット“孤狗”が選択され、文字列“孤狗”が出力される。“孤狗”の持つユニット特徴ベクトルは“「開始音素=g、終了音素=ou、ユニット長さ=2音節」(中国語)”である。この場合、二つのベクトルの開始音素、終了音素及びユニット長さのいずれも一致するため、計算された距離は0である。
検索キーとして入力される一次言語ユニット特徴ベクトルは、さらに多くのファクターを含んでもよい。例えば、検索キーとして“「開始音素=g、終了音素=ou、ユニット長さ=2音節、品詞=名詞」(中国語)”が入力された場合、それに含まれる各ファクターがテキストデータベースのユニット特徴ベクトル413の対応するファクターと比較され、距離が計算される。
なお、各ファクターに重要度が設定され、その重要度に基づいてベクトル間の距離が計算されてもよい。例えば、開始音素、終了音素及び品詞の各ファクターに高い重要度が設定され、その他のファクター(例えば品詞等)にはより低い重要度が設定されてもよい。具体的には、例えば、ベクトル間の距離を計算する際に、対応するファクターが一致するか否かを判定し、ファクターが一致する場合には(重要度にかかわらず)0、重要度が低いファクターが一致しない場合には1、重要度が高いファクターが一致しない場合には1より大きい数(例えば2)が加算されてもよい。その結果、例えば開始音素のみが一致する二つのベクトル間の距離は、品詞のみが一致する二つのベクトル間の距離より小さくなる。
なお、上記のような計算方法は一例に過ぎず、上記以外の方法によってベクトル間の距離が計算されてもよい。
一方、文検索部232は、入力された二次言語の環境特徴ベクトル223を検索キーとしてテキストデータベース224を検索する。具体的には、文検索部232は、入力された二次言語の環境特徴ベクトル223と、二次言語テキストデータベースに含まれるすべてのユニットの環境特徴ベクトルとの距離を計算し、最も距離の小さいユニットを検索し、そのユニットの所在文の文字列を出力する。ただし、一番小さい距離を有するユニットが複数存在する場合、それらの中から一つが任意に選択される。前記のテキストデータベースは、第4図で示した構造を持っていて、すべてのユニットに対して、文字列411、所在文の文字列412、ユニット特徴413及び環境特徴414などが記述されている。前記の環境特徴ベクトルの距離は、定義された計算式に基づいて計算される。一番簡単な計算は、二つのベクトルのすべてのファクターを比較し、比較結果を加算することである。ただし、ファクターが一致する場合は0、一致しない場合は1が加算される。
例えば、二次言語環境特徴ベクトル“「先行音素=ai、後続音素=g」(英語)”が入力された場合、文検索部232は、二次言語データベースから最もベクトル距離の近いユニット“google”を選択し、所在文の文字列“It’s supported by ** groups.”を出力する。ただし、**はユニットの文中に占める位置を示す。第4図の例において、“google”に関する環境特徴ベクトルは“「先行音素=ai、後続音素=g」(英語)”である。ターゲットユニットの文字列と選択されたユニットの文字列が同じであることが好ましいが、必須ではない。
検索キーとして入力される二次言語環境特徴ベクトルは、さらに多くのファクターを含んでもよい。例えば、検索キーとして“「先行音素=ai、後続音素=g、所在文の長さ=5」(英語)”が入力された場合、その検索キーに含まれる各ファクターがテキストデータベースの環境特徴ベクトル414の対応するファクターと比較され、距離が計算される。
なお、ユニット特徴ベクトルの検索の場合と同様、各ファクターに重要度が設定され、その重要度に基づいてベクトル間の距離が計算されてもよい。例えば、先行音素及び後続音素の各ファクターに高い重要度が設定され、その他のファクター(例えば所在文の長さ等)にはより低い重要度が設定されてもよい。
なお、上記のような計算方法は一例に過ぎず、上記以外の方法によってベクトル間の距離が計算されてもよい。
言語間特徴変換部220による変換は、上記のようなユニット検索部230及び文検索部232による適切な検索を可能にするために実行される。例えば、上記のようなユニット特徴ベクトルの変換が実行されない場合、「終了音素=l」というファクターを含むベクトルが検索キーとして入力される可能性がある。しかし、中国語に音素「l」が存在しない場合、「終了音素=l」と一致するファクターを含むユニット特徴ベクトルを検索によって発見することはできない。一方、音素「l」に対応する中国語の音素「ou」が検索キーとして入力されれば、その音素を終了音素として含む中国語のユニット「孤狗」を取得することができる。
ユニット置換部240は、入力されたテキストユニット列202のターゲット二次言語ユニットを、入力された一次言語ユニット231で置換し、置換された文字列を出力する。なお、第2図Bに示すユニット置換部240及び文置換部242は、第1図に示す置換部115の一部(例えばサブプログラム)である。
例えば、ユニット置換部240は、入力されたテキストユニット列の“「我在」(中国語)(一次言語)、「Google」(英語)(二次言語)(ターゲット)、「工作」(中国語)(一次言語)”にあるターゲット二次言語ユニット“Google”を、入力された“孤狗”で置き換え、文字列“我在孤狗工作”を出力する。
文置換部242は、入力されたテキストユニット列202のターゲット二次言語ユニット以外の部分を、入力された二次言語文233で置換し、置換された文字列を出力する。ただし、文置換部242は、ターゲット二次言語ユニットに一次言語のユニット情報231を付ける。
例えば、文置換部242は、入力されたテキストユニット列の“「我在」(中国語)(一次言語)、「Google」(英語)(二次言語)(ターゲット)、「工作」(中国語)(一次言語)”を、入力された“It’s supported by ** groups.”で置き換え、文字列“It’s supported by(google)(孤狗)groups.”を出力する。
最後に、置換部115は、ユニット置換によって得られた文字列(すなわちテキスト241)に二次言語がまだ存在するか否かをチェックし(ステップ244)、存在する場合は、上記の言語判別部111、言語特徴解析部112、特徴変換部113、検索部114及び置換部115の処理を順次実行する。具体的には、テキスト241に含まれる一つ以上の二次言語ユニットのうち先頭のユニットがターゲット二次言語ユニットに指定され、その文字列がテキストユニット列203として言語特徴解析部112に入力される。
上記の処理は、文字列から二次言語がなくなるまで繰り返される。すなわち、ステップ244において、テキスト241に二次言語が存在しないと判定された場合、そのテキスト241が出力され、第2図A及び第2図Bに示す言語置換プロセスが終了する。したがって、第2図A及び第2図Bに示す言語置換プロセスが終了するとき、二次言語ユニットの数と同じ数の第二言語の文書(すなわち二次言語のテキスト243)及び一文の一次言語の文書(すなわちテキスト241)が出力される。
例えば、ユニット置換部240から出力されたテキスト241が「我在孤狗工作」である場合、このテキスト241に一次言語しか存在しないので、言語置換が終了し、「我在孤狗工作」(テキスト241)及び「It’s supported by (google)(孤狗)groups.」(二次言語のテキスト243)が出力される。出力されたテキストは、音声合成装置120に入力される。
次に、第5図A及び第5図Bを参照して、音声合成の動作について説明する。
第5図A及び第5図Bは、本発明の実施形態の音声合成装置120の動作を示すフローチャートである。
まず、言語置換装置110から出力された一次言語テキスト501が一次言語合成部121に入力され、一次言語合成部121が一次言語テキスト501を読み上げる音声を合成する。一次言語テキスト501は、第2図Bにおいて出力されたテキスト241に相当する、一文の一次言語しか含まないテキストである。一次言語音声合成部121は、テキスト解析部510、言語韻律予測部511、単位選択部512、波形接続部513及び音声出力部514を含み、これらが現存の音声合成システムと同様の音声合成を実行する。すなわち、テキスト解析部510が言語モデル540を参照して言語解析し、言語韻律予測部511が韻律モデル541を参照して韻律予測し、単位選択部512が音声データベース542から音声素片を選択し、波形接続部513が音声素片を結合し、音声出力部514が合成した音声波形を一次言語の音声520として出力する。上記の処理は従来の技術によって実現できるため、詳細な説明は省略する。
例えば、テキスト「我在孤狗工作」が入力されると、一次言語音声合成部121は、「我在孤狗工作」の音声波形を合成して出力する。
なお、上記のテキスト解析部510から音声出力部514の各部は、一次言語音声合成部121の一部(例えばサブプログラム)である。言語モデル540、韻律モデル541及び音声データベース542は、記憶装置620に格納され、それらの少なくとも一部は必要に応じてメモリ612にコピーされてもよい。
一方、二次言語音声合成部122は、言語置換装置110から出力された二次言語テキスト502に含まれる複数文から、任意の一文を選択し、選択した一文を、それと同じ言語の二次言語のテキスト解析部522に入力する。なお、二次言語テキスト502は、第2図Bの処理において出力された二次言語のテキスト243に相当する。
さらに、二次言語音声合成部122の音声特徴解析部521は、一次言語合成部121から出力された音声520のうち、入力文に記述されたターゲット二次言語ユニットに対応する部分から、音響特徴量、具体的には、韻律特徴528及び音韻特徴529を抽出する。韻律特徴528は、少なくとも、ターゲット二次言語ユニットの音声開始点及び終了点の基本周波数を含む。音韻特徴529は、少なくとも、ターゲット二次言語ユニットの音声開始点及び終了点のスペクトルを含む。なお、音声開始点及び終了点のスペクトルとは、開始時刻及び終了時刻を含むフレーム(ある時間帯)にある波形を使って計算されたものである。
例えば、二次言語のテキスト243として「It’s supported by(google)(孤狗)groups.」が出力された場合、「It’s supported by google groups.」がテキスト解析部522に入力される。一方、合成された「我在孤狗工作」の音声波形のうち、「孤狗」の部分の開始点及び終了点の韻律特徴528及び音韻特徴529が抽出される。
なお、上記の音声特徴解析部521から音声出力部526の各部は、二次言語音声合成部122の一部(例えばサブプログラム)である。言語モデル530、韻律モデル531及び音声データベース532は、記憶装置620に格納され、それらの少なくとも一部は必要に応じてメモリ612にコピーされてもよい。
二次言語のテキスト解析部522は、二次言語の言語モデル530を参照して、テキストを合成最小単位に分割し、読み情報、コンテキスト情報、韻律構造情報などを分析し、分析の結果を二次言語の韻律予測部523に出力する。
二次言語の韻律予測部523は、二次言語の韻律モデル531を参照して、二次言語テキスト解析部522から入力された情報に基づいて、合成最小単位ごとに、韻律を予測する。ここで、韻律予測部523は、ターゲットユニットの最初の合成最小単位について予測された開始時周波数を、求められた韻律特徴528に含まれる開始点の基本周波数で置き換える。同様に、韻律予測部523は、ターゲットユニットの最後の合成最小単位について予測された終了時周波数を、求められた韻律特徴528に含まれる終了点の基本周波数で置き換える。このステップを実行した結果、合成された二次言語音声のターゲットユニットの開始点及び終了点の韻律特徴は、すでに合成した一次言語音声のターゲットユニットの、対応する部分の開始点及び終了点の韻律特徴に近づく。このため、一次言語のターゲットユニットの音声を二次言語のターゲットユニットの音声で置き換えるときに発生する韻律の不自然さが軽減される。
例えば、二次言語テキスト502として“It’s supported by google groups”が入力された場合、韻律予測部523は、そのテキストの韻律予測をした後、予測されたgoogleの開始音素/g/の開始基本周波数を、音声特徴解析部521から得られた“孤狗”部分の開始音素の開始基本周波数で置き換え、同様に、予測されたgoogleの終了音素/l/の終了基本周波数を、音声特徴解析部521から得られた“孤狗”部分の終了音素の終了基本周波数で置き換える。
二次言語の単位選択部524は、二次言語の音声データベース532に含まれる、テキスト解析部で得られた最小合成単位の、時系列に構成可能な音声素片系列のすべての組み合わせに対して、韻律予測部532で出力された韻律特徴との距離を表すターゲットコスト、及び、素片間不連続を表す接続コストの総和を計算し、それが最小になるような音声素片系列を出力する。ただし、単位選択部524は、ターゲットユニットとそれに接する音素との接続コストを計算するとき、ターゲットユニットに接する音素から抽出した音韻特徴量ではなく、音声特徴解析部521によって得られた音韻特徴529を用いる。このステップを実行した結果、合成された二次言語音声のターゲットユニットの開始点及び終了点の音韻特徴は、すでに合成した一次言語音声のターゲットユニットの、対応する部分の開始点及び終了点の音韻特徴に近づく。このため、一次言語のターゲットユニットの音声を二次言語のターゲットユニットの音声に入れ替えるときに発生する音韻の不自然さが軽減される。
例えば、二次言語テキスト502として“It’s supported by google groups”が入力された場合、単位選択部524は、“google”に隣接する“by”の終了音素/i/(すなわち“google”の先行音素)の終了点の音韻特徴として、実際に素片から観測したスペクトルではなく、音声特徴解析部521から得られた“孤狗”部分の開始点のスペクトルを用いる。同様に、単位選択部524は、“google”に隣接する“groups”の開始音素/g/(すなわち“google”の後続音素)の開始点の音韻特徴として、実際素片から観測したスペクトルではなく、音声特徴解析部521から得られた“孤狗”部分の終了点のスペクトルを用いる。
さらに、二次言語の波形合成部525は、単位選択部524から出力された音声素片系列を結合することによって音声波形を合成する。二次言語の音声出力部526は、合成された音声波形を音声編集部123に出力する。
音声編集部123は、二次言語の音声出力部526から入力された二次言語音声からターゲットユニット部分の音声波形を切り出し、一次言語の音声出力部514から入力された一次言語音声のターゲットユニットに対応する部分の音声波形と入れ替えることによって音声波形を再合成する。
例えば、音声編集部123は、二次言語音声の“It’s supported by google groups”からターゲットユニットである“google”部分の音声を切り出し、一次言語音声の“我在孤狗工作”の“孤狗”の部分と入れ替える。これによって再合成された音声は、“我在google工作”を読み上げる音声である。
二次言語合成部122及び音声編集部123の処理は、二次言語テキスト502に含まれるすべての二次言語文についての実行が終了するまで繰り返される。具体的には、音声編集部123の処理が終了した後、二次言語テキスト502に含まれるすべての二次言語文について二次言語合成部122及び音声編集部123の処理が終了したか否かが判定される(ステップ550)。全ての二次言語文について処理が終了していないと判定された場合、まだ処理されていない二次言語文の一つが選択され、それが二次言語のテキスト解析部522に入力される。ステップ550において全ての二次言語文について処理が終了したと判定された場合、音声編集部123から出力された音声波形は、音声出力装置130に入力される。
上記の“我在google工作”の例では、二次言語テキスト502に含まれるすべての二次言語文は一文のみであるため、音声編集部123で得られる“我在google工作”の音声波形が、最終結果として音声出力装置130に出力される。
音声出力装置130は、音声編集部123から出力された音声波形を増幅して、音声として出力する。
以上に説明した本発明の代表的な実施形態をまとめると、次の通りである。
本発明では、混合言語テキスト音声合成のための方法が提供される。この方法は、
少なくとも二つの言語の混合言語テキスト列を受信する手順と、
前記テキスト列内のテキストの言語構成を分析し、すべての二次言語のユニットを検出するテキスト解析手順と、
すべての二次言語のユニットを一次言語のユニットで置換する手順と、
二次言語のユニットごとに、そのユニット以外の部分を二次言語で置換する手順と、
得られた一次言語のみを含む文書及び二次言語のみを含む文書に基づいて、音声を合成する手順と、
合成した音声から、音声セグメントを切り出し、繋げ合わせる手順と、を含むことを特徴とする。
この構成によれば、二次言語と一次言語とが混在するテキストについて、それぞれの言語の本来の発音に一致する自然な連続発話音声を合成できる。
また、本発明のテキスト解析手順は、
言語の種類を特定し、単一言語のユニットに分割する手順と、
一次言語及び二次言語を決定する手順と、を含むことを特徴とする。
この構成によれば、使用するメインの言語(すなわち一次言語)が決定され、分割されたユニットは単一の言語のみを含む。
また、本発明の二次言語のユニットを一次言語のユニットで置換する手順は、二次言語のユニット特徴を解析する手順と、
二次言語のユニット特徴を、一次言語のユニット特徴に変換する手順と、
一次言語のテキストデータベースから、変換されたユニット特徴と最も近い特徴を持つユニットを検索する手順と、
検索された一次言語のユニットによって原文に対応する二次言語のユニットを置換する手順と、を含むことを特徴とする。
この構成によれば、すべての二次言語のユニットを一次言語のユニットで置換することで、一次言語のみを含む文書が得られる。
また、前記ユニット特徴は、ユニット開始音素、ユニット終了音素、ユニット長さ、ユニット品詞情報など、多くの言語的特徴を含むのが好ましい。
この構成によれば、最もユニットの特徴を適切に表現できる。
また、前記二次言語のユニット特徴を、一次言語のユニット特徴に変換する手順は、ユニット特徴の種類ごとに、対応テーブルを用意し、その対応テーブルに基づいて変換を実行することが好ましい。対応テーブルは、スペクトルなどの音声特徴量を用いたクラスタリングによる統計的手法、又は、専門家による経験を用いた発見的手法によって作成される。
この構成によれば、異なる言語間の特徴を変換することができる。
また、前記のユニットを検索する手順は、データベースに格納されたすべてのユニット(例えば単語、韻律語、韻律フレーズ、短文又は文など)に対して、事前に定義したベクトル距離計算式を用いて、最もターゲットユニットに近いユニットを得る手順を含むことを特徴とする。
この構成によれば、二次言語ユニットに最も近い韻律的特徴及び音韻的特徴を持つ一次言語のユニットが得られる。
また、前記の距離計算式において、すべての特徴量について、重要度が定義され、ユニット開始音素、ユニット終了音素及びユニットの長さに高い重要度が設定されることが好ましい。
この構成によれば、調音環境及び韻律特徴を再現できる。
また、前記二次言語のユニットごとに、そのユニット以外の部分を二次言語で置換する手順は、
二次言語の単語の前後の一次言語の環境特徴を解析する手順と、
一次言語の環境特徴を、二次言語の環境特徴に変換する手順と、
二次言語のテキストデータベースから、変換された文章特徴と最も近い特徴を持つ文書を検索する手順と、
検索された二次言語の文書によって原文に対応する一次言語の文書を置換する手順と、を含むことを特徴とする。
この構成によれば、すべての二次言語のユニットについて、元の文書と韻律及び音韻環境が最も近い二次言語のみを含む文書が得られる。
また、前記環境特徴は、すでに定義したユニット特徴に加えて、ユニット先行音素、ユニット後続音素、ユニットが文において占める位置、フレーズが文において占める位置、先行ポーズの有無、後続ポーズの有無、先行韻律境界の種類、後続韻律境界の種類など、多くの言語的特徴を含むのが好ましい。
この構成によれば、最もユニットの環境特徴を適切に表現できる。
また、前記二次言語の環境特徴を、一次言語の環境特徴に変換する手順は、ユニット特徴の種類ごとに、対応テーブルを用意し、その対応テーブルに基づいて変換を実行することが好ましい。対応テーブルは、スペクトルなどの音声特徴量を用いたクラスタリングによる統計的手法、又は、専門家による経験を用いた発見的手法によって作成できる。
この構成によれば、異なる言語間の環境特徴を変換することができる。
また、前記のユニットを検索する手法は、データベースにあるすべてのユニット(例えば単語、韻律語、韻律フレーズ、短文又は文など)に対して、事前に定義した環境距離計算式を用いて、最もターゲットユニットの環境特徴に近い文書を得る手順を含むことを特徴とする。
この構成によれば、二次言語ユニットの環境特徴に最も近い特徴を持つ一次言語の文書が得られる。
また、前記の距離計算式において、すべての特徴量について、重要度が定義され、ユニット特徴、ユニット先行音素及びユニット後続音素に高い重要度が設定されることが好ましい。
この構成によれば、調音環境及び韻律特徴を再現できる。
また、前記の二次言語の文書から、音声を合成する手順は、合成した一次言語の音声から、置換されたユニットの韻律特徴量及び音韻特徴量を抽出し、それらを対応する二次言語のユニットの目標特徴として音声を合成する手順を含むことを特徴とする。
この構成によれば、合成された二次言語のユニット韻律特徴量及び音韻特徴量は、置換された一次言語のユニットの韻律特徴量及び音韻特徴量と近くなる。
以上の構成によれば、複数の言語が混在するテキストの自然な読み上げ音声を合成することができる。FIG. 1 is a block diagram showing a speech editing / synthesizing apparatus according to an embodiment of the present invention.
The speech editing / synthesizing device of this embodiment includes atext input device 100, alanguage replacement device 110, aspeech synthesizer 120, and aspeech output device 130, as shown.
Thetext input device 100 acquires text. For example, thetext input device 100 acquires text input using a keyboard or text provided by a news distribution service.
Thelanguage replacement device 110 includes alanguage determination unit 111, a languagefeature analysis unit 112, afeature conversion unit 113, asearch unit 114, and areplacement unit 115.
Thelanguage determination unit 111 divides multilingual mixed text input from thetext input device 100 into units for each language, assigns language information to the divided units, and determines a primary language and a secondary language. The languagefeature analysis unit 112 analyzes the unit features of the secondary language and the environment features of the primary language for all the units of the secondary language included in the unit sequence input from thelanguage determination unit 111. Thefeature converter 113 converts the analyzed secondary language unit features into primary language unit features, and converts the primary language environment features into secondary language environment features. Thesearch unit 114 uses the unit feature and the environment feature input from thefeature conversion unit 113 to search for a primary language unit and a secondary language document. Thereplacement unit 115 replaces the unit and the document input from thesearch unit 114 and thelanguage determination unit 111, and creates a document including only a single language.
Thespeech synthesizer device 120 includes a primarylanguage speech synthesizer 121, a secondarylanguage speech synthesizer 122, and aspeech editor 123. The primarylanguage speech synthesizer 121 synthesizes speech from a document including only the primary language input from thelanguage replacement device 110. The secondarylanguage speech synthesizer 122 analyzes the speech input from the primarylanguage speech synthesizer 121, and uses the prosodic feature value and the phoneme feature value obtained as a result of the analysis to input a single input Synthesize a document that contains only the next language. Thevoice editing unit 123 edits the synthesized voice and outputs it to thevoice output device 130.
Theaudio output device 130 is a device that converts an electric signal into sound, and generally includes an electric signal amplifier circuit and a speaker.
FIG. 6 is a block diagram showing a hardware configuration of the speech editing / synthesis apparatus according to the embodiment of the present invention.
The speech editing / synthesizing apparatus according to the present embodiment includes acontrol device 610, a storage device 620, atext input device 100, and aspeech output device 130 that are communicably connected to each other.
Thecontrol device 610 controls the operation of the speech editing / synthesis device of this embodiment. Thecontrol device 610 includes aCPU 611 and amemory 612. TheCPU 611 is a processor that executes a program stored in thememory 612. Thememory 612 is, for example, a semiconductor storage device, and stores a program executed by theCPU 611 and data referred to by theCPU 611. Those programs and data may be stored in the storage device 620 and copied from the storage device 620 to thememory 612 as necessary. TheCPU 611 controls the input / output of data in the storage device 620, thetext input device 100, and thespeech output device 130, and processing such as speech synthesis of the present embodiment by executing a program stored in thememory 612.
The storage device 620 stores programs executed by theCPU 611 and data referred to by theCPU 611. The storage device 620 may be, for example, a disk device such as a hard disk drive (HDD) or a semiconductor memory such as a flash memory. The storage device 620 of this embodiment includes alanguage determination unit 111, a languagefeature analysis unit 112, afeature conversion unit 113, asearch unit 114, areplacement unit 115, a primary languagespeech synthesis unit 121, a secondary languagespeech synthesis unit 122, and a speech. Theediting unit 123 is stored. These are programs executed by theCPU 611. Therefore, the function of each unit of the speech editing / synthesizing apparatus shown in FIG. 1 is realized by theCPU 611 executing the above-described program.
FIG. 6 shows an example in which thelanguage replacement device 110 and thespeech synthesis device 120 shown in FIG. 1 are realized by a single piece of hardware, but these devices are realized by two pieces of independent hardware. May be.
Further, the storage device 620 stores atext database 224 and an inter-language feature correspondence table 225. Details of data stored in thetext database 224 and the inter-language feature correspondence table 225 will be described later (see FIGS. 3 and 4).
Thetext input device 100 includes at least one interface that accepts text input. For example, the text input device shown in FIG. 6 includes akeyboard 631 and acommunication device 632. Thekeyboard 631 accepts input of text by the operator and transmits the input text to thecontrol device 610. Thecommunication device 632 is connected to a network (not shown), receives input of text (for example, text provided by a news distribution service) via the network, and transmits the input text to thecontrol device 610. Thetext input device 100 may include an arbitrary interface other than the above for receiving text input.
Theaudio output device 130 includes anamplifier circuit 642 and aspeaker 641. Theamplifier circuit 642 amplifies the audio signal converted into an analog electric signal by a D / A converter (not shown). Thespeaker 641 converts the analog electric signal amplified by theamplifier circuit 642 into sound.
Next, the operation of thelanguage replacement device 110 will be described with reference to FIG. 2A, FIG. 2B, FIG. 3 and FIG.
2A and 2B are flowcharts showing the operation of thelanguage replacement device 110 according to the embodiment of the present invention.
First, the target multilingualmixed text 200 is input from thetext input device 100 to thelanguage determination unit 201. Thelanguage discriminating unit 201 and the target secondary languageunit specifying unit 210 shown in FIG. 2A are a part (for example, a subprogram) of thelanguage discriminating unit 111. The text is described in a format including pre-defined language information such as Unicode. In the present embodiment, as an example, a character string “My Google Work” is input. This text is composed of Chinese and English and means "I work on Google". “Google” is a registered trademark. When this character string is converted into a phonetic symbol string, it can be expressed as {wo3 zai4 / gu: gl / gong1 zuo4}. Thelanguage discriminating unit 201 identifies the language type for each character included in the input character string, and converts the character string into a unit string so that the largest number of continuous single language characters constitute one unit. Divide into Thelanguage discriminating unit 201 labels the language types on all the units, and determines the language having the most units as the primary language. However, when there are a plurality of languages having the largest number of units, the language that appears first from the beginning of the text is determined as the primary language. All languages other than the primary language are determined as secondary languages. There is always at least one secondary language. Alternatively, the primary language and the secondary language may be determined based on designation by the user.
Thelanguage discriminating unit 201 can divide the character string into units based on various criteria. For example, thelanguage discriminating unit 201 may divide one word into one unit, divide one prosodic word into one unit, or one prosodic phrase. You may divide | segment so that it may become one unit.
For example, when “My Google Work” is input, Chinese having two units is determined as a primary language, and English having one unit is determined as a secondary language. A unit string with a language label in a format such as ““ I am ”(Chinese) (primary language),“ Google ”(English) (secondary language),“ craft ”(Chinese) (primary language)” 202 is generated and input to the target secondary languageunit specifying unit 210.
Next, the target secondary languageunit designating unit 210 designates the secondary language unit closest to the top of the input language-labeledunit string 202 as the target unit, and sets the target unit and the unit string in a predetermined format. The data is output to the unitfeature analysis unit 211 and the environmentfeature analysis unit 213.
For example, the target secondary languageunit designating unit 210 inputs ““ I am ”(Chinese) (primary language),“ Google ”(English) (secondary language),“ work ”(Chinese) (primary "Language"), specify "Google" (English) (secondary language) as the target and analyze the target unit in the form of "" Google "(English) (secondary language) (target)" In addition, the data is output to thesection 211, and "" I am "(Chinese) (primary language)," Google "(English) (secondary language) (target)," craft "(Chinese) (primary language)" The unit sequence is output to the environmentalfeature analysis unit 213 in the form.
A unitfeature analysis unit 211 and an environmentfeature analysis unit 213 shown in FIG. 2A are a part (for example, a subprogram) of the languagefeature analysis unit 112 shown in FIG.
The unitfeature analysis unit 211 analyzes the unit feature of the target unit output from the target secondary languageunit designation unit 210 and outputs the result as aunit feature vector 212 to the unit feature conversion unit. At this time, a commonly used text analysis method is used as the unit feature analysis method. That is, the unitfeature analysis unit 211 designates a unit feature item based on the unitfeature item list 215 created in advance from the obtained reading information and context information about the target unit, and unit of a predetermined format Output a feature vector.
The unitfeature item list 215 includes information specifying items to be included in the unit feature vector. Specifically, the unitfeature item list 215 includes the characteristics of the target unit itself that have a high correlation with the prosody and phoneme features of the information obtained by text analysis, for example, the start phoneme, the end phoneme of the target unit, It generally contains information that specifies the length and the like. Here, the unit of unit length is defined in advance for each language, such as the number of vowels in English, the number of syllables in Chinese, and the number of mora in Japanese.
Hereinafter, a case where the unitfeature item list 215 includes information specifying the start phoneme, the end phoneme, and the length of the target unit will be described as an example. However, the unitfeature item list 215 specifies information specifying feature items other than the above, for example, information specifying the part of speech of the target unit, information specifying the accent position of the target unit, and the stress position of the target unit. Information and at least one of the information which designates the tone of a target unit may be included.
As a commonly used text analysis method, a method in which a rule-based method and a database method are integrated, such as dictionary reference and decision tree, is used. In a simple example, the phonetic symbol string of the target unit is created from the phonetic dictionary, and the unit feature vector is obtained by examining the number of the first phoneme (ie, the start phoneme), the end phoneme, and the vowel of the phonetic symbol using simple rules. It is done.
For example, when the unitfeature item list 215 includes information specifying the start phoneme, end phoneme, and length of the target unit, the unitfeature analysis unit 211 receives the input ““ Google ”(English) (secondary language) ( Target) ”is converted into the phonetic symbol string“ / gu: gl / ”, and the numbers of the first phoneme, the end phoneme, and the vowel are checked.“ “Start phoneme = g, end phoneme = 1, unit length = 2” A unit feature vector in a format such as “vowel” (English) ”is output, where () indicates a vector attribute. The vector attribute in the example is“ English ”.
Hereinafter, a case where the unitfeature item list 215 includes information specifying the start phoneme, the end phoneme, and the length of the unit will be described as an example. However, the unitfeature item list 215 may include information for designating feature items other than those described above, as described above. For example, when the unitfeature item list 215 includes information specifying the part of speech of the target unit, the output unit feature vector further includes information indicating the part of speech of “Google” (for example, “noun” or “proper noun”). .
On the other hand, the unit sequence output from the target secondary languageunit specifying unit 210 is input to the environmentalfeature analysis unit 213 and output as the environmental feature vector 214. Similar to the unitfeature analysis unit 211, the environmentfeature analysis unit 213 uses a commonly used text analysis method to create an environment feature created in advance from reading information and context information about the target unit obtained. An environmental feature item is designated based on theitem list 216, and an environmental feature vector in a predetermined format is output.
The environmentalfeature item list 216 includes information specifying items to be included in the environmental feature vector. Specifically, the environmentalfeature item list 216 has a high correlation with the prosodic and phonological features among the information obtained by text analysis, does not include the target itself, and features related to the surroundings such as the preceding phoneme and the subsequent phoneme. It is common to include information specifying such as. Here, the preceding phoneme means the phoneme that appears before the target unit (for example, the phoneme immediately before the target unit), and the subsequent phoneme means the phoneme that appears after the target unit (for example, the phoneme immediately after the target unit). To do.
As a commonly used text analysis method, a method in which a rule-based method and a database method are integrated, such as dictionary reference and decision tree, is used. In a simple example, an environmental feature vector can be obtained by creating a phonetic symbol string around the target unit from the pronunciation dictionary and examining the phonemes immediately before and after the target unit by simple rules.
Hereinafter, a case where the environmentalfeature item list 216 includes information specifying the preceding phoneme and the subsequent phoneme will be described as an example. However, the environmentalfeature item list 216 includes information specifying feature items other than those described above, for example, information specifying a position occupied by the target unit in a sentence including the target unit, and a phrase including the target unit in a sentence including the target unit. Information specifying the occupied position, information specifying the position occupied by the prosodic word including the target unit in the target unit, information specifying the length of the sentence including the target unit, and information specifying the part of speech of the target unit One may be included.
For example, when the environmentalfeature item list 216 includes information specifying the preceding phoneme and the subsequent phoneme, the environmentalfeature analysis unit 213 inputs the input ““ I am ”(Chinese) (primary language),“ Google ”(English) ) (Secondary language) (target), "craft" (Chinese) (primary language) "is converted to phoneme sequence / wo3zai4 *** gong1zuo4 / (*** means target unit), simple The rule examines the phoneme immediately before the target unit and the phoneme immediately after the target unit, and outputs an environmental feature vector in a format such as ““ preceding phoneme = ai, subsequent phoneme = g ”(Chinese). Indicates the vector attribute, and the vector attribute in the above example is “Chinese”.
Then, the inter-languagefeature conversion unit 220 executes a step of defining and converting the inter-language feature correspondence table 225 for the unit feature and the environment feature (which are collectively described as a linguistic feature). The inter-languagefeature conversion unit 220 shown in FIG. 2B is a part (for example, a subprogram) of thefeature conversion unit 113 shown in FIG. The secondary languageunit feature vector 212 output from the unitfeature analysis unit 211 is input to the inter-languagefeature conversion unit 220 and converted into aunit feature vector 221 of the primary language. On the other hand, the primary language environment feature vector 214 output from the environmentfeature analysis unit 213 is also input to the inter-languagefeature conversion unit 220 and converted to theenvironment feature vector 223 of the secondary language.
The inter-language feature correspondence table 225 includes information defining the correspondence relationship between languages used for converting linguistic features into a language other than itself for all languages targeted for speech synthesis.
FIG. 3 is an explanatory diagram of the inter-language feature correspondence table 225 according to the embodiment of this invention.
Specifically, FIG. 3 is an example of a part of the inter-language feature correspondence table 225, and shows the correspondence when the linguistic feature is converted from English to Japanese. That is, “A language” shown in FIG. 3 indicates English, and “B language” indicates Japanese. As a typical example, English phoneme / l / corresponds to Japanese phoneme / r /. The inter-language feature correspondence table 225 is based on a statistical method (for example, clustering or the like) using phoneme feature quantities such as observed fundamental frequency, power, phoneme duration or spectrum of speech, or based on expert knowledge. It can be created using heuristic techniques.
FIG. 3 shows a correspondence relationship for converting English linguistic features into Japanese linguistic features, but the inter-language feature correspondence table 225 may further include correspondence relationships for other languages. For example, the inter-language feature correspondence table 225 includes a correspondence relationship for converting Japanese linguistic features into English linguistic features, a correspondence relationship for converting English linguistic features into Chinese linguistic features, A correspondence relationship for converting the linguistic feature of Chinese into the linguistic feature of English may be included. For example, although not shown in FIG. 3, the inter-language feature correspondence table 225 may include information for associating English phonemes / l / with Chinese phonemes / ou /.
For example, the secondary language unit feature vector ““ start phoneme = g, end phoneme = l, unit length = 2 vowels ”(English)” input from the unitfeature analysis unit 211 is converted by the inter-languagefeature conversion unit 220. Primary language unit feature vector ““ start phoneme = g, end phoneme = ou, unit length = 2 syllable ”(Chinese)”. ““ Preceding phoneme = ai, input from environmentalfeature analysis unit 213 ” Subsequent phoneme = g ”(Chinese)” is converted into a secondary language environment feature vector ““ preceding phoneme = ai, subsequent phoneme = g ”(English)” by the inter-languagefeature conversion unit 220.
Next, theunit search unit 230 searches thetext database 224 using the input primary languageunit feature vector 221 as a search key. Specifically, theunit search unit 230 calculates the distance between the input primary languageunit feature vector 221 and the unit feature vectors of all units included in the primary language text database, and selects the unit with the smallest distance. Search and output the string of the searched unit. However, when there are a plurality of units having the smallest distance, one of them is arbitrarily selected. Theunit search unit 230 and thesentence search unit 232 shown in FIG. 2B are a part (for example, a subprogram) of thesearch unit 114 shown in FIG.
FIG. 4 is an explanatory diagram of thetext database 224 according to the embodiment of this invention.
As shown in FIG. 4, thetext database 224 includes acharacter string 411, acharacter string 412 of a location sentence (that is, a sentence including the character string of the unit), aunit feature vector 413, anenvironment feature vector 414, etc. including.
FIG. 4 shows information stored in thetext database 224 for theunit 1 as an example. ““ Google ”” and ““ It's supported by ** groups ”” are stored as thecharacter string 411 and thecharacter string 412 of the location sentence, respectively. “Google” and that this character string appears in the sentence “It's supported by Google groups”.
Furthermore, ““ start phoneme = g, end phoneme = 1, unit length = 2 syllables ”(English)” is stored as theunit feature vector 413 related tounit 1. These are the start of the character string “google”. The phoneme, the end phoneme, and the unit length are “g”, “l”, and “2 syllables”, respectively.
Theunit feature vector 413 may further include information indicating the part of speech of the unit character string, information indicating the position of the accent (or stress) of the unit character string, information indicating the tone of the unit character string, and the like. .
Furthermore, ““ preceding phoneme = ai, subsequent phoneme = g ”(English)” is stored as theenvironmental feature vector 414 relating to theunit 1. These are the character string “It's supported by Google groups” in the sentence “It's supported by Google groups”. google "(in this example, the last phoneme of the word" by "preceding the string" google ") and the subsequent phoneme (in this example, the first" phoneps "of the word" groups "following the string" google ") Phonemes) are “ai” and “g”, respectively.
Theenvironment feature vector 414 further includes information indicating the position occupied by the character string of the unit in the located sentence, information indicating the position occupied by the phrase including the unit in the located sentence, and the position occupied by the prosodic word including the character string of the unit in the located sentence. And information indicating the length of the located sentence may be included.
In practice, the character string “google” can be included in various sentences. Therefore, thetext database 224 may further include information including “google” as thecharacter string 411 and information including a sentence other than “It's supported by ** groups” as thecorresponding character string 412 of the location sentence. That is, FIG. 4 illustrates only one sentence including “google”, but actually, thetext database 224 stores a plurality of sentences including “google”. Asentence search unit 232 to be described later searches for a sentence satisfying the search condition from the plurality of sentences.
Further, although omitted in FIG. 4, thetext database 224 stores information on English units other than “google” and information on units of languages other than English. For example, in thetext database 224, acharacter string 411, aunit feature vector 413, and anenvironment feature vector 414 related to the Chinese unit “solitude” are respectively ““ solitude ””, ““ start phoneme = g, end phoneme ”. = Ou, unit length = 2 syllables "(Chinese)" and "" preceding phoneme = ai, subsequent phoneme = g "(Chinese)" are stored.
The distance between the two unit feature vectors is calculated based on a defined calculation formula. The simplest calculation is to compare all the factors of the two vectors and add the comparison results. However, 0 is added when the factors match, and 1 is added when the factors do not match.
For example, when the primary language unit feature vector ““ start phoneme = g, end phoneme = ou, unit length = 2 syllable ”(Chinese)” is input as a search key, the unit having the closest vector distance from the primary language database “Isolation” is selected and the character string “Isolation” is output.The unit feature vector of “Isolation” is “Start phoneme = g, End phoneme = ou, Unit length = 2 syllable” (China) In this case, since the start phoneme, the end phoneme, and the unit length of the two vectors coincide with each other, the calculated distance is zero.
The primary language unit feature vector input as a search key may include many more factors. For example, when ““ start phoneme = g, end phoneme = ou, unit length = 2 syllable, part of speech = noun ”(Chinese)” is input as a search key, each factor included therein is a unit characteristic of the text database. Compared with the corresponding factor ofvector 413, the distance is calculated.
Note that importance may be set for each factor, and the distance between vectors may be calculated based on the importance. For example, high importance may be set for each factor of the start phoneme, end phoneme, and part of speech, and a lower importance may be set for other factors (for example, part of speech). Specifically, for example, when calculating the distance between vectors, it is determined whether or not the corresponding factors match, and if the factors match (0 regardless of importance), the importance is low. A number greater than 1 (for example, 2) may be added when the factors do not match, and when factors with high importance do not match. As a result, for example, the distance between two vectors that match only the start phoneme is smaller than the distance between two vectors that match only the part of speech.
The calculation method as described above is merely an example, and the distance between vectors may be calculated by a method other than the above.
On the other hand, thesentence search unit 232 searches thetext database 224 using the input secondary languageenvironment feature vector 223 as a search key. Specifically, thesentence search unit 232 calculates the distance between the inputenvironmental feature vector 223 of the secondary language and the environmental feature vectors of all units included in the secondary language text database, and has the smallest distance. Search for a unit and output the text of the unit's location. However, when there are a plurality of units having the smallest distance, one of them is arbitrarily selected. The text database has the structure shown in FIG. 4. Acharacter string 411, acharacter string 412, aunit feature 413, anenvironment feature 414, and the like are described for all units. The distance between the environmental feature vectors is calculated based on a defined calculation formula. The simplest calculation is to compare all the factors of the two vectors and add the comparison results. However, 0 is added when the factors match, and 1 is added when the factors do not match.
For example, when the secondary language environment feature vector ““ preceding phoneme = ai, subsequent phoneme = g ”(English)” is input, thesentence search unit 232 has the unit “google” having the closest vector distance from the secondary language database. And select the character string “It's supported by ** groups. ** indicates the position occupied in the sentence of the unit. In the example of FIG. 4, the environmental feature vector related to “google” is “preceding phoneme = ai, subsequent phoneme = g” (English) ”. The character string of the target unit and the character string of the selected unit are preferably the same, but are not essential.
The secondary language environment feature vector input as the search key may include more factors. For example, when ““ preceding phoneme = ai, subsequent phoneme = g, location sentence length = 5 ”(English)” is input as a search key, each factor included in the search key is the environmental feature vector of the text database. Compared to the corresponding factor of 414, the distance is calculated.
As in the case of the unit feature vector search, importance may be set for each factor, and the distance between the vectors may be calculated based on the importance. For example, a high importance may be set for each factor of the preceding phoneme and the subsequent phoneme, and a lower importance may be set for other factors (for example, the length of the located sentence).
The calculation method as described above is merely an example, and the distance between vectors may be calculated by a method other than the above.
The conversion by the inter-languagefeature conversion unit 220 is executed to enable an appropriate search by theunit search unit 230 and thesentence search unit 232 as described above. For example, when the unit feature vector conversion as described above is not executed, a vector including the factor “end phoneme = 1” may be input as a search key. However, if the phoneme “l” does not exist in Chinese, a unit feature vector including a factor that matches “end phoneme = l” cannot be found by searching. On the other hand, if the Chinese phoneme “ou” corresponding to the phoneme “l” is input as a search key, the Chinese unit “solitude” including that phoneme as the end phoneme can be acquired.
Theunit replacement unit 240 replaces the target secondary language unit of the inputtext unit string 202 with the inputprimary language unit 231 and outputs the replaced character string. Theunit replacement unit 240 andsentence replacement unit 242 shown in FIG. 2B are a part (for example, a subprogram) of thereplacement unit 115 shown in FIG.
For example, theunit replacement unit 240 may include ““ I am ”(Chinese) (primary language),“ Google ”(English) (secondary language) (target),“ work ”(Chinese) of the input text unit string. ) (Primary language) ”, the target secondary language unit“ Google ”is replaced with the inputted“ solitude ”, and the character string“ I am solitary ”is output.
Thesentence replacement unit 242 replaces the part other than the target secondary language unit of the inputtext unit string 202 with the inputsecondary language sentence 233, and outputs the replaced character string. However, thesentence replacement unit 242 attaches the primarylanguage unit information 231 to the target secondary language unit.
For example, thesentence replacement unit 242 may include ““ I am ”(Chinese) (primary language),“ Google ”(English) (secondary language) (target),“ work ”(Chinese) of the input text unit string. ) (Primary language) "is input to"It's supported by ** groups. ”And the character string“ It's supported by (google) (lonely) groups. "Is output.
Finally, thereplacement unit 115 checks whether or not a secondary language still exists in the character string (that is, the text 241) obtained by the unit replacement (step 244). 111, the languagefeature analysis unit 112, thefeature conversion unit 113, thesearch unit 114, and thereplacement unit 115 are sequentially executed. Specifically, the head unit of one or more secondary language units included in thetext 241 is designated as the target secondary language unit, and the character string is input to the languagefeature analysis unit 112 as thetext unit sequence 203. The
The above process is repeated until there is no secondary language in the character string. That is, if it is determined instep 244 that there is no secondary language in thetext 241, thetext 241 is output, and the language replacement process shown in FIGS. 2A and 2B ends. Thus, when the language replacement process shown in FIGS. 2A and 2B is completed, the same number of secondary language documents as the number of secondary language units (ie, secondary language text 243) and a single sentence primary language. (Ie, text 241) is output.
For example, when thetext 241 output from theunit replacement unit 240 is “I am isolated,” the language replacement is completed because only the primary language exists in thetext 241, and “I am isolated” (text 241) and “It's supported by (google) (lonely) groups” (secondary language text 243). The output text is input to thespeech synthesizer 120.
Next, the speech synthesis operation will be described with reference to FIGS. 5A and 5B.
5A and 5B are flowcharts showing the operation of thespeech synthesizer 120 according to the embodiment of the present invention.
First, theprimary language text 501 output from thelanguage replacement device 110 is input to the primarylanguage synthesis unit 121, and the primarylanguage synthesis unit 121 synthesizes speech that reads theprimary language text 501. Theprimary language text 501 is a text including only the primary language corresponding to thetext 241 output in FIG. 2B. The primary languagespeech synthesis unit 121 includes atext analysis unit 510, a languageprosody prediction unit 511, aunit selection unit 512, awaveform connection unit 513, and aspeech output unit 514, which perform speech synthesis similar to that of an existing speech synthesis system. To do. That is, thetext analysis unit 510 performs language analysis with reference to thelanguage model 540, the languageprosody prediction unit 511 performs prosody prediction with reference to theprosody model 541, and theunit selection unit 512 selects a speech unit from thespeech database 542. Thewaveform connecting unit 513 combines the speech segments, and the speech waveform synthesized by thespeech output unit 514 is output asspeech 520 in the primary language. Since the above processing can be realized by a conventional technique, detailed description is omitted.
For example, when the text “I am solitary work” is input, the primarylanguage speech synthesizer 121 synthesizes and outputs the speech waveform of “I am solitary work”.
Each unit from thetext analysis unit 510 to thespeech output unit 514 is a part (for example, a subprogram) of the primary languagespeech synthesis unit 121. Thelanguage model 540, theprosody model 541, and thespeech database 542 are stored in the storage device 620, and at least a part of them may be copied to thememory 612 as necessary.
On the other hand, the secondarylanguage speech synthesizer 122 selects an arbitrary sentence from a plurality of sentences included in thesecondary language text 502 output from thelanguage replacement device 110, and selects the selected sentence as a secondary language of the same language. To thetext analysis unit 522. Thesecondary language text 502 corresponds to thesecondary language text 243 output in the process of FIG. 2B.
Further, the speechfeature analysis unit 521 of the secondarylanguage speech synthesizer 122 generates an acoustic feature from the part corresponding to the target secondary language unit described in the input sentence in thespeech 520 output from theprimary language synthesizer 121. The quantity, specifically, theprosodic feature 528 and thephoneme feature 529 are extracted. Theprosodic feature 528 includes at least the fundamental frequency of the speech start point and end point of the target secondary language unit. Thephoneme feature 529 includes at least the spectrum of the speech start point and end point of the target secondary language unit. The spectrum of the voice start point and end point is calculated using a waveform in a frame (a certain time zone) including the start time and the end time.
For example, when “It's supported by (google) (lonely) groups.” Is output as thetext 243 in the secondary language, “It's supported by Google groups.” Is input to thetext analysis unit 522. . On the other hand, theprosody feature 528 andphoneme feature 529 at the start point and end point of the “solitude” portion are extracted from the synthesized speech waveform of “I am solitary work”.
Note that the components from the speechfeature analysis unit 521 to thespeech output unit 526 are part of the secondary language speech synthesis unit 122 (for example, a subprogram). Thelanguage model 530, theprosody model 531 and thespeech database 532 are stored in the storage device 620, and at least a part of them may be copied to thememory 612 as necessary.
The secondary languagetext analysis unit 522 refers to thesecondary language model 530, divides the text into synthetic minimum units, analyzes reading information, context information, prosodic structure information, etc. The result is output to theprosodic prediction unit 523 of the next language.
The secondary languageprosody prediction unit 523 refers to the secondarylanguage prosody model 531, and predicts the prosody for each synthesis minimum unit based on the information input from the secondary languagetext analysis unit 522. Here, theprosodic prediction unit 523 replaces the start frequency predicted for the first synthesized minimum unit of the target unit with the basic frequency of the start point included in the obtainedprosodic feature 528. Similarly, theprosodic prediction unit 523 replaces the end frequency predicted for the last combined minimum unit of the target unit with the fundamental frequency of the end point included in the obtainedprosodic feature 528. As a result of executing this step, the prosodic features of the start point and the end point of the target unit of the synthesized secondary language speech are the prosody of the corresponding portion of the target unit of the primary language speech already synthesized. Get closer to the feature. For this reason, the unnaturalness of the prosody generated when the speech of the target unit of the primary language is replaced with the speech of the target unit of the secondary language is reduced.
For example, when “It's supported by Google groups” is input as thesecondary language text 502, theprosody prediction unit 523 performs the prosody prediction of the text, and then starts the start phoneme / g / of the predicted google The fundamental frequency is replaced with the starting fundamental frequency of the starting phoneme of the “lonely” portion obtained from the speechfeature analysis unit 521. Similarly, the predicted ending fundamental frequency of Google's ending phoneme / l / is used as the speech feature analysis. The end fundamental frequency of the end phoneme of the “solitude” part obtained from thepart 521 is replaced.
Theunit selection unit 524 of the secondary language is provided for all combinations of speech unit sequences that can be configured in time series of the minimum synthesis unit obtained by the text analysis unit included in thespeech database 532 of the secondary language. Then, the sum of the target cost representing the distance from the prosodic feature output by theprosody prediction unit 532 and the connection cost representing the discontinuity between the segments is calculated, and a speech segment sequence that minimizes the target cost is output. . However, when theunit selection unit 524 calculates the connection cost between the target unit and the phoneme adjacent to the target unit, theunit selection unit 524 uses thephoneme feature 529 obtained by the speechfeature analysis unit 521 instead of the phoneme feature amount extracted from the phoneme in contact with the target unit. Use. As a result of executing this step, the phoneme characteristics of the start point and end point of the target unit of the synthesized secondary language speech are the phoneme features of the corresponding portion of the target unit of the primary language speech already synthesized. Get closer to the feature. For this reason, the unnaturalness of the phoneme generated when the speech of the target unit of the primary language is replaced with the speech of the target unit of the secondary language is reduced.
For example, when “It's supported by Google groups” is input as thesecondary language text 502, theunit selection unit 524 may determine that the end phoneme / i / of “by” adjacent to “google” is “i.e.,“ Google ”. As the phoneme feature of the end point of the preceding phoneme), the spectrum of the start point of the “solitude” portion obtained from the speechfeature analysis unit 521 is used instead of the spectrum actually observed from the segment. Similarly, theunit selection unit 524 does not use the spectrum observed from the actual segment as the phoneme feature of the start point of “groups” adjacent to “google” / g / (that is, the subsequent phoneme of “google”). The spectrum of the end point of the “solitude” portion obtained from the speechfeature analysis unit 521 is used.
Further, the secondarylanguage waveform synthesizer 525 synthesizes a speech waveform by combining the speech element sequences output from theunit selector 524. The secondary languagespeech output unit 526 outputs the synthesized speech waveform to thespeech editing unit 123.
Thespeech editing unit 123 cuts out the speech waveform of the target unit portion from the secondary language speech input from the secondary languagespeech output unit 526, and uses it as the target unit of the primary language speech input from the primary languagespeech output unit 514. The speech waveform is re-synthesized by replacing the speech waveform of the corresponding part.
For example, thevoice editing unit 123 cuts out the voice of the “google” portion that is the target unit from the “It's supported by Google groups” of the secondary language voice, and performs the “isolation” of the “local craft” of the primary language voice. Replace with “狗”. The voice re-synthesized in this way is a voice that reads out “our Google work”.
The processes of the secondarylanguage synthesis unit 122 and thespeech editing unit 123 are repeated until execution of all secondary language sentences included in thesecondary language text 502 is completed. Specifically, whether or not the processing of the secondarylanguage synthesis unit 122 and thespeech editing unit 123 is completed for all secondary language sentences included in thesecondary language text 502 after the processing of thespeech editing unit 123 is completed. Is determined (step 550). If it is determined that the processing has not been completed for all the secondary language sentences, one of the secondary language sentences not yet processed is selected and input to thetext analysis unit 522 of the secondary language. If it is determined instep 550 that the processing has been completed for all secondary language sentences, the speech waveform output from thespeech editing unit 123 is input to thespeech output device 130.
In the above-mentioned example of “our Google craft”, since all the secondary language sentences included in thesecondary language text 502 are only one sentence, the voice waveform of “our Google craft” obtained by thevoice editing unit 123 is The final result is output to theaudio output device 130.
Theaudio output device 130 amplifies the audio waveform output from theaudio editing unit 123 and outputs it as audio.
The representative embodiments of the present invention described above are summarized as follows.
In the present invention, a method for mixed language text speech synthesis is provided. This method
Receiving a mixed language text string of at least two languages;
A text analysis procedure for analyzing the language composition of the text in the text string and detecting all secondary language units;
Replacing all secondary language units with primary language units;
For each secondary language unit, replace the non-unit part with the secondary language,
A procedure for synthesizing speech based on the obtained document including only the primary language and the document including only the secondary language;
And a procedure for cutting out and joining speech segments from the synthesized speech.
According to this configuration, it is possible to synthesize natural continuous uttered speech that matches the original pronunciation of each language for text in which a secondary language and a primary language are mixed.
In addition, the text analysis procedure of the present invention includes:
Procedures for identifying language types and dividing them into single language units,
And a procedure for determining a primary language and a secondary language.
According to this configuration, the main language to be used (ie, the primary language) is determined, and the divided units include only a single language.
Further, the procedure for replacing the unit of the secondary language of the present invention with the unit of the primary language includes the procedure of analyzing the unit characteristics of the secondary language,
Converting secondary language unit features to primary language unit features;
Searching the primary language text database for the unit with the closest feature to the converted unit feature;
And a step of replacing the secondary language unit corresponding to the original text by the retrieved primary language unit.
According to this configuration, a document including only the primary language can be obtained by replacing all secondary language units with primary language units.
The unit features preferably include many linguistic features such as unit start phonemes, unit end phonemes, unit lengths, and unit part of speech information.
According to this configuration, the characteristics of the unit can be most appropriately expressed.
The procedure for converting the unit feature of the secondary language into the unit feature of the primary language is preferably performed by preparing a correspondence table for each type of unit feature and performing the conversion based on the correspondence table. The correspondence table is created by a statistical method based on clustering using a speech feature such as a spectrum, or a heuristic method using experience by an expert.
According to this configuration, features between different languages can be converted.
In addition, the procedure for searching for the unit described above uses a vector distance calculation formula defined in advance for all the units stored in the database (for example, words, prosodic words, prosodic phrases, short sentences or sentences), It includes a procedure for obtaining a unit closest to the target unit.
According to this configuration, a primary language unit having prosodic features and phonological features closest to the secondary language unit can be obtained.
In the distance calculation formula, it is preferable that importance is defined for all feature quantities, and high importance is set for the unit start phoneme, the unit end phoneme, and the unit length.
According to this configuration, the articulation environment and prosodic features can be reproduced.
In addition, for each unit of the secondary language, the procedure for replacing the part other than the unit with the secondary language is as follows:
A procedure for analyzing the environmental features of the primary language before and after the secondary language word;
Converting the primary language environmental features into secondary language environmental features;
A procedure for searching a document having the closest feature to the converted sentence feature from the secondary language text database;
Replacing the primary language document corresponding to the original text by the retrieved secondary language document.
According to this configuration, for all secondary language units, a document including only the secondary language having the closest prosodic and phonological environment to the original document is obtained.
In addition to the unit features already defined, the environmental features include unit preceding phonemes, unit succeeding phonemes, positions occupied by units in sentences, positions occupied by phrases in sentences, presence / absence of preceding poses, presence / absence of following poses, preceding prosody Preferably, it includes many linguistic features, such as boundary types and subsequent prosodic boundary types.
According to this configuration, the environmental characteristics of the unit can be most appropriately expressed.
The procedure for converting the environmental features of the secondary language into the environmental features of the primary language preferably includes preparing a correspondence table for each type of unit feature and performing the conversion based on the correspondence table. The correspondence table can be created by a statistical method using clustering using speech feature amounts such as a spectrum, or a heuristic method using experience by an expert.
According to this configuration, environmental features between different languages can be converted.
In addition, the method of searching for the unit described above is the most targeted method using the environmental distance calculation formula defined in advance for all the units in the database (for example, words, prosodic words, prosodic phrases, short sentences or sentences). It includes a procedure for obtaining a document close to the environmental characteristics of the unit.
According to this configuration, it is possible to obtain a primary language document having a feature closest to the environmental feature of the secondary language unit.
In the distance calculation formula, it is preferable that importance is defined for all feature quantities, and high importance is set for the unit feature, the unit preceding phoneme, and the unit succeeding phoneme.
According to this configuration, the articulation environment and prosodic features can be reproduced.
Further, the procedure for synthesizing speech from the secondary language document is to extract the prosodic feature value and phoneme feature value of the replaced unit from the synthesized primary language speech, and to extract them from the corresponding secondary language. The unit includes a procedure for synthesizing speech as a target feature.
According to this configuration, the unit prosodic feature value and phoneme feature value of the synthesized secondary language are close to the prosodic feature value and phoneme feature value of the replaced primary language unit.
According to the above configuration, it is possible to synthesize a natural reading speech of text in which a plurality of languages are mixed.