(57)【特許請求の範囲】
【請求項１】
入力されたテキスト情報に対応する合成音を生成する音声合成装置であって、
前記テキスト情報のうち、文字列の欠落による言語的に不完全な部分である不完全部分を検出する不完全部分検出手段と、
前記不完全部分検出手段によって検出された不完全部分に対応する合成音の聴覚的明瞭度を下げる不完全部分不明瞭化手段と、
前記検出された不完全部分において欠落している文字列を補完する補完手段と、
前記補完手段によって補完された後のテキスト情報に基づいて合成音を生成する音声合成手段とを備える
ことを特徴とする音声合成装置。
【請求項２】
前記不完全部分不明瞭化手段は、
（１）前記合成音の音量を下げる、（２）前記合成音に所定の効果音を被せる、（３）前記合成音の声質を変更する、の少なくとも１つの音響効果を前記合成音に加えることによって、前記合成音の聴覚的明瞭度を下げる
ことを特徴とする請求項１記載の音声合成装置。
【請求項３】
前記不完全部分不明瞭化手段は、前記聴覚的明瞭度を下げる方法として前記合成音に加える音響効果の度合いを経時的に変化させる
ことを特徴とする請求項１記載の音声合成装置。
【請求項４】
前記テキスト情報は、通信内容であり、
前記音声合成装置は、さらに、
過去の通信内容を蓄積するための記憶領域を有するログ蓄積手段を備え、
前記不完全部分検出手段は、前記テキスト情報と、前記ログ蓄積手段に蓄積されている過去の通信内容とを対比して、前記テキスト情報の不完全部分を検出し、
前記補完手段は、前記不完全部分検出手段の検出結果に基づいて、前記検出された不完全部分において欠落している文字列を、前記ログ蓄積手段に蓄積されている過去の通信内容を用いて補完する
ことを特徴とする請求項１記載の音声合成装置。
【請求項５】
前記不完全部分検出手段は、さらに、前記テキスト情報において欠落している文字列を含む所定の言語単位の言語構造を解析し、当該欠落している文字列のみ、または、当該欠落している文字列を含む所定の言語単位を前記不完全部分として検出する
ことを特徴とする請求項４記載の音声合成装置。
【請求項６】
前記通信内容は、電子メールテキスト、チャットメッセージテキスト、ネットニュース投稿メッセージテキスト、および、掲示板投稿メッセージテキストのいずれかである
ことを特徴とする請求項４記載の音声合成装置。
【請求項７】
入力されたテキスト情報に対応する合成音を生成する音声合成方法であって、
前記テキスト情報のうち、文字列の欠落による言語的に不完全な部分である不完全部分を検出する不完全部分検出ステップと、
前記不完全部分検出ステップで検出された不完全部分に対応する合成音の聴覚的明瞭度を下げる不完全部分不明瞭化ステップと、
前記検出された不完全部分において欠落している文字列を補完する補完ステップと、
前記補完手段によって補完された後のテキスト情報に基づいて合成音を生成する音声合成ステップとを含む
ことを特徴とする音声合成方法。
【請求項８】
入力されたテキスト情報に対応する合成音を生成する音声合成装置のためのプログラムであって、
前記テキスト情報のうち、文字列の欠落による言語的に不完全な部分である不完全部分を検出する不完全部分検出ステップと、
前記不完全部分検出ステップで検出された不完全部分に対応する合成音の聴覚的明瞭度を下げる不完全部分不明瞭化ステップと、
前記検出された不完全部分において欠落している文字列を補完する補完ステップと、
前記補完手段によって補完された後のテキスト情報に基づいて合成音を生成する音声合成ステップとをコンピュータに実行させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テキストに対応する音声を合成して出力する音声合成装置に関し、特に、不完全な文章をも自然に読み上げるための音声合成装置に関する。
【背景技術】
【０００２】
従来、所望のテキストに対する合成音を生成して出力する音声合成装置が提供されている。その中でも、応用分野として電子メールを読み上げるという用途があり、テキストで書かれた電子メールそのものを読む代わりに、電子メールの内容を合成音として聞き取るようにすることができる。
【０００３】
しかし、電子メールのテキストには、小説や新聞記事などのテキストと違い、例えば引用記号などのように、通常通りに読み上げることができない記号が、引用部分やシグネチャ部分などに含まれるため、このような部分を適切に処理して読み上げ可能な状態に修正する必要がある。このための技術として、例えば特許文献１及び特許文献２がある。
【０００４】
特許文献１の方式によれば、読み上げる必要が無い引用記号を除去することによって引用文の中身だけを読み上げたり、引用部分を全て削除したりすることによって引用部分の読み上げの困難さを回避することができる。
【０００５】
また、特許文献２の方式によれば、引用文の中身を蓄積済みの既読メールに含まれる文字列と照合し、引用文の中身が既読メールに含まれる場合のみ引用部分の削除を行うといった、より適切な処理を行うことができる。
【特許文献１】特開平９−１７９７１９号公報（明細書第７頁〜第８頁）
【特許文献２】特開２００３−８５０９９号公報（明細書第２２頁〜第２４頁）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、電子メールのテキストは、しばしば行単位で引用され、そのために引用部分の冒頭が引用元の電子メールにおけるある文の途中から始まっていたり、末尾が文の途中で終わっていたりすることが少なくない。このような引用の例を図２２に示す。
【０００７】
図２２において、メール文８００〜８０２は、２人の人物間における一連のメールのやりとりを表している。最初のメール文８００から、文章の途中の一部分である「どのような資料を用意すれば」の部分だけが引用されて、返信メール文８０１が書かれ、さらに返信メール文８０１の先頭から３行目、７行目、８行目、１１行目を引用して、再返信メール文８０２が書かれている。それぞれの引用部分は、完全な文章にはなっておらず、引用元のメールから単純に行単位の引用を行っている。このような引用を行うと、引用文は、しばしば元の文章から文頭や文末の部分が欠落したものになる。
【０００８】
しかしながら、上記した従来技術では、このような不完全な文章の読み上げを考慮しておらず、不完全な文章を完全なものとして読み上げることによって、ユーザの混乱を招いてしまうという問題がある。
【０００９】
また、文章が不完全であることによって言語的解析処理が失敗するため、不自然な韻律が付与されて合成音の品質を低下させてしまうという問題もある。
【００１０】
一方、このような文頭もしくは文末の意味をなさない不完全な部分は、元々読み上げの重要性が低い部分であると考えられるため、必ずしも全ての文字が聞き取れるように読み上げる必要は無いといえる。
【００１１】
そこで、本発明は、かかる問題点および事情に鑑みてなされたものであり、読み上げ対象の文章が不完全であることに起因するユーザの混乱や合成音の品質劣化を防止し、ユーザにとって理解しやすい読み上げ音声を提示可能な音声合成装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本発明に係る音声合成装置は、入力されたテキスト情報に対応する合成音を生成する音声合成装置であって、前記テキスト情報のうち、文字列の欠落による言語的に不完全な部分である不完全部分を検出する不完全部分検出手段と、前記検出された不完全部分において欠落している文字列を補完する補完手段と、前記補完された後のテキスト情報に基づいて、合成音を生成する音声合成手段とを備えることを特徴とする。
【００１３】
これによって、文章を構成する文字列の一部に欠落が生じているために、言語的に不完全となっている文章であっても、その欠落を補完して合成音を生成するので、生成される合成音には、自然な韻律が付与されることとなり、ユーザの混乱や合成音の品質劣化を防止することができる。
【００１４】
ここで、前記音声合成装置は、さらに、前記不完全部分検出手段において検出された不完全部分に対応する合成音に、所定の音響効果を加える音響効果付加手段を備え、前記音響効果付加手段は、前記不完全部分検出手段において検出された不完全部分に対応する合成音の聴覚的明瞭度を下げる不完全部分不明瞭化部を備える。
【００１５】
この構成によれば、言語的に不完全な部分の読み上げ音声を不明瞭にするので、ユーザに、読み上げの重要性が低い部分を容易に理解させることができる音声合成装置が実現される。
【００１６】
なお、本発明は、このような音声合成装置として実現することができるだけでなく、このような音声合成装置が備える特徴的な手段をステップとする音声合成方法として実現してもよく、それらのステップをパソコンなどのコンピュータで実現させるためのプログラムとして実現してもよい。また、そのようなプログラムをＣＤ−ＲＯＭなどの記録媒体や、インターネットに代表される通信媒体を通じて配信できることは言うまでもない。
【発明の効果】
【００１７】
以上説明したように、本発明に係る音声合成装置によれば、文章を構成する文字列の一部に欠落が生じているために、言語的に不完全となっている文章に対して、その欠落を解消することによって音声合成処理を失敗させないようにしたり、その欠落によって音声合成処理が失敗する部分をあえて不明瞭に再生したりすることで、ユーザにとって理解しやすい読み上げ音声を提示することができる。
【００１８】
また、本来読み上げの重要性が低いと考えられる部分、すなわち、引用部分の冒頭にある文の先頭、もしくは末尾にある文の最後が不完全であれば、その部分の聴覚的明瞭度を下げて、読み上げ音声を出力するので、これらの部分が比較的無意味であることをユーザに示し、誤った韻律や不完全な単語の読み上げにユーザの注意が引き付けられるのを防ぎつつ、その位置に何らかの無意味語があったという情報を削除することなく提示することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００２０】
（実施の形態１）
図１は、本発明の実施の形態１に係る音声合成装置の機能的な構成を示すブロック図である。
【００２１】
本実施の形態１に係る音声合成装置１０は、電子メールによる通信内容であるテキストを取得し、そのテキストに対応する合成音を生成して出力する装置であり、電子メールのテキストに含まれる引用部分に現れる不完全な文を自然に読み上げるものである。この音声合成装置１０は、前記テキストの不完全部分に対応して、聴覚的明瞭度を下げた合成音を出力することによって、聴覚的明瞭度を下げない場合に比べてより自然な聴感を利用者に与えることを最大の特徴とする。
【００２２】
図１に示すように、音声合成装置１０は、入力される電子メールテキスト１００の引用部分の構造を解析する引用構造解析部１０１と、解析された引用部分の構造を考慮した上で電子メールテキストを文単位に整形する電子メールテキスト整形部１０２と、過去に送受信した電子メールテキストを蓄積するための記憶領域を有するメールボックス１０７と、メールボックス１０７から、過去に送受信した電子メールテキストを参照して電子メールテキスト１００内の不完全な文を検出し、その不完全な部分を特定する不完全部分検出部１０３と、テキストを入力として受け取り合成音を出力する音声合成部１０４と、音声合成部１０４が出力する合成音の中で不完全部分検出部１０３が検出した不完全な部分に対応する部分だけを聴覚的に不明瞭化させる処理を施す不完全部分不明瞭化部１０５と、生成された合成音を再生し出力するスピーカ装置１０６とを備えている。
【００２３】
ここで、音声合成部１０４は、さらに細かい機能ブロックに分割することができ、テキストを入力として、その言語解析結果を出力する言語処理部１７００と、テキストの言語解析結果に基づいて韻律情報を生成する韻律生成部１７０４と、音声素片を格納する音声素片データベース（ＤＢ）１７０２と、韻律情報を含む言語解析結果を用いて、音声素片ＤＢ１７０２から適切な音声素片を選択する素片選択部１７０１と、素片選択部１７０１の選び出した音声素片をあらかじめ生成された韻律に合致するよう変形しつつ、前後の音声素片となめらかにつながるような変形も加えて連結し、入力されたテキストに対応する合成音声データを出力する素片結合部１７０３とを備えている。
【００２４】
引用構造解析部１０１は、電子メールテキスト１００を簡単に解析して、引用の深さや段落の切れ目などに応じて整形を行う。
【００２５】
ここで、引用の深さとは、各文章の引用された回数を意味し、具体的には各行頭から連続する引用記号の数によって、引用構造解析部１０１は、各文章の引用の深さを識別する。
【００２６】
また、段落の切れ目とは、各文章の意味のつながりが途切れている箇所を意味し、同じ引用の深さの文章の中で、空行が存在したり他の行とインデントの量が違っている部分によって、引用構造解析部１０１は、段落の切れ目を識別する。なお、「（中略）」や「（略）」のように途中の文章が省略されていることを示唆する文字列や、縦方向の「…」を模した「：」のみの行など、空行やインデントの違い以外に段落の切れ目を示唆する文字列によって、引用構造解析部１０１は段落の切れ目を識別するとしてもよい。
【００２７】
電子メールテキスト整形部１０２は、引用構造解析部１０１による解析結果を元に、電子メールテキスト１００を文単位に切り分けて整形する。この電子メールテキスト整形部１０２は、さらに、メールヘッダやシグネチャの要約も行う。
【００２８】
図２は、引用構造解析部１０１及び電子メールテキスト整形部１０２の動作を説明するための図である。
【００２９】
図２において、引用構造解析部１０１は、以下のように電子メールテキスト１００を解析し、解析結果を表すタグを付加して引用構造解析済みテキスト２００を生成する。
【００３０】
１）まず、電子メールテキスト１００の先頭から、半角のマイナス記号２つで構成される行までをヘッダと識別して、その部分を＜ｈｅａｄｅｒ＞のタグで囲む。
２）電子メールテキスト１００の終端から、２つ以上連続した記号文字のみで構成される行が最初に現れる場所を探し、検出された行が１）で識別したヘッダの終端でなく、さらにその検出された行から電子メールテキスト１００の終端までの行数が１０行以下であればこれをシグネチャ部分と識別して、＜ｓｉｇｎａｔｕｒｅ＞のタグで囲む。
３）ヘッダ部分とシグネチャ部分の間にあるテキストの全てをメールの本文と識別して、＜ｂｏｄｙ＞のタグで囲む。
４）＜ｂｏｄｙ＞タグで囲まれたメールの本文を先頭から見て、終端の行を処理し終わるまで以下の５）〜１０）の処理を繰り返す。
５）現在の行の先頭にある引用記号の数を数え、引用記号の数のタグで置換する。例えば、引用記号が１つある場合は＜１＞、２つある場合は＜２＞、引用記号が無い（引用部分でない）場合は＜０＞を引用記号の代わりに付与する。ただし、この時点では、まだタグを閉じない。以下、この引用記号の数のタグを「引用タグ」と記述し、引用記号の数を引用レベルと記述する。
６）現在の行が電子メールテキスト最後の行であるか、次の行以降がシグネチャ部分であれば、引用タグを閉じて終了する。例えば、現在の行が引用部分でなければ、行末に＜／０＞を追加してこのアルゴリズムを終了する。
７）次の行へと読み進める。
８）直前の行と現在の行の引用記号の数が違うか、現在の行が空行であるか、現在の行が「（中略）」や「：」などの元の文の省略を意味する文字列であるか、現在の行と直前の行のインデントの数が違う場合、１０）へ進む。
９）行頭の引用記号を削除して、６）へ進む。
１０）直前の行を引用タグで閉じて、５）へ進む。
【００３１】
以上、１）〜１０）の手順によって生成される引用構造解析済みテキスト２００は、次のようなものである。
・＜ｈｅａｄｅｒ＞タグで囲まれた部分に、元の電子メールテキスト１００のヘッダ部分が入っている。
・＜ｓｉｇｎａｔｕｒｅ＞タグで囲まれた部分に、元の電子メールテキスト１００のシグネチャ部分が入っている。
・＜ｂｏｄｙ＞タグで囲まれた部分に、元の電子メールテキスト１００の本文部分が入っている。
・本文部分は、段落ごとに引用タグで囲まれている。また、引用タグによって引用の深さが分かる。
【００３２】
さらに、図２において、電子メールテキスト整形部１０２は、以下に説明するように引用構造解析済みテキスト２００を処理し、整形済みテキスト２０１を生成する。
【００３３】
１）＜ｈｅａｄｅｒ＞タグで囲まれた部分を要約し、読み上げやすい文章にする。例えば、メールの差出人を表すＦｒｏｍフィールドと表題を表すＳｕｂｊｅｃｔフィールドのみを取り出して、「○○さんより、××というメールです」という文章に変換する。ただし、この段階では、後の不完全部分検出部１０３における処理に備えて、電子メールのスレッド構造を表すＩｎ−Ｒｅｐｌｙ−ＴｏフィールドやＲｅｆｅｒｅｎｃｅｓフィールドの内容は、削除せずに残しておくことが望ましい。
２）＜ｓｉｇｎａｔｕｒｅ＞タグで囲まれた部分を要約し、読み上げやすい文章にする。もしくは、単純に削除してしまっても良い。
３）＜ｂｏｄｙ＞タグで囲まれた部分に関して、各引用タグ内の文章から改行や空白文字を削除して一行のテキストにした上、句点で文を切り分ける。
【００３４】
不完全部分検出部１０３は、電子メールテキスト整形部１０２によって生成された整形済みテキスト２０１を受け取り、メールボックス１０７に蓄積されている、過去に送受信した電子メールと照合を行って、引用レベルが１以上の各引用タグ内の先頭及び末尾の文が最初に現れる電子メールを探し、引用文が完全であったかどうか、即ち各引用文が引用元の文に対して文字列の欠落が無いかどうかを文字列マッチングにより判定する。さらに、引用文が不完全であった場合には、元の完全な文で置換を行った上で、元の完全な文のうち、どの部分が引用文に含まれているかを識別可能にする。
【００３５】
図３は、不完全部分検出部１０３が行う処理の概要を説明するための図である。図３において、不完全部分検出部１０３は、以下に説明するような処理を行う。
【００３６】
１）ヘッダ部分のＩｎ−Ｒｅｐｌｙ−ＴｏフィールドやＲｅｆｅｒｅｎｃｅｓフィールドに書かれたメッセージＩＤを参照して、メッセージＩＤの一致する過去の電子メールテキスト３０１をメールボックス１０７から全て取得する。さらに、それらの電子メールテキスト３０１のＩｎ−Ｒｅｐｌｙ−ＴｏフィールドやＲｅｆｅｒｅｎｃｅｓフィールドを参照し、同一スレッドの過去の電子メールテキスト３０１を再帰的に全て取得する。
２）取得した過去の電子メールテキスト３０１から、ヘッダ部分、シグネチャ部分、引用部分を全て取り除く。さらに、本文部分からも改行や空白文字を全て取り除いて文字列マッチングに備える。
３）本文部分の各引用タグ内の先頭及び末尾の文について、それが引用レベル０で現れる最初の電子メールテキスト３０１を、文字列マッチングによって検索する。
４）３）でマッチした文字列が文の一部であれば、過去の電子メールテキスト３０１に含まれる元の完全な文で整形済みテキスト２０１の不完全な文を置換する。さらに、整形済みテキスト２０１に含まれていなかった部分、即ち過去の電子メールテキスト３０１から補完された部分を＜ｃ＞というタグで囲んで区別できるようにしておく。
５）本文部分の全ての引用タグについて、３）〜４）の処理を繰り返す。
６）ヘッダ部分からＩｎ−Ｒｅｐｌｙ−ＴｏフィールドとＲｅｆｅｒｅｎｃｅｓフィールドを削除する。
【００３７】
以上、１）〜５）の手順によって生成される不完全部分検出済みテキスト３００は次のようなものである。
【００３８】
・＜ｈｅａｄｅｒ＞タグで囲まれた部分に、元の電子メールテキスト１００のヘッダ部分が要約されて入っている。
・＜ｓｉｇｎａｔｕｒｅ＞タグで囲まれた部分に、元の電子メールテキスト１００のシグネチャ部分が要約されて入っている。
・＜ｂｏｄｙ＞タグで囲まれた部分に、元の電子メールテキスト１００の本文部分が入っている。
・本文部分は、段落ごとに引用タグで囲まれており、引用タグによって引用の深さが分かる。さらに、
・本文部分の文は、全て引用による文字列の欠落が無い完全な文であり、元の電子メールテキスト１００に含まれる引用文が不完全な文であった場合は、過去の送受信メールから補完された部分だけが＜ｃ＞タグで囲まれて区別されている。
【００３９】
音声合成部１０４は、このようにして生成された不完全部分検出済みテキスト３００を先頭から一文ずつ処理して、合成音を生成し出力する。このとき、各文において＜ｃ＞タグで囲まれている部分があれば、それがどの部分か判別可能な形式で出力を行う。
【００４０】
音声合成部１０４の内部では、次のような処理が行われる。
まず、図４に示されるように、不完全部分検出部の生成した不完全部分検出済みテキスト３００は言語処理部１７００によって処理され、音素表記テキスト１８００が生成される。この音素表記テキスト１８００は、不完全部分検出済みテキスト３００の漢字仮名混じり文を音素表記に変換したものであり、言語解析の結果として得られるアクセント情報や構文情報も含めておくことによって合成音の品質を向上させることも可能であるが、図４では、簡単のため音素表記のみを示している。
【００４１】
次に、図５に示されるように、韻律生成部１７０４は、生成された音素表記テキスト１８００に基づいて、各音素の継続時間、時間的中心位置における基本周波数、および、パワー値を計算して、韻律付き音素表記テキスト１９００を素片選択部１７０１に出力する。図４と同じく、図５でも簡単のため言語解析の結果として得られる構文情報等が音素表記テキスト１８００及び韻律付き音素表記テキスト１９００の説明図から省略されているが、実際にはそのようなデータを含めておくことで、素片選択部１７０１による音声素片選択処理をより高い精度で行うことができるようになるため望ましい。
【００４２】
次に、図６に示されるように、素片選択部１７０１は、韻律生成部１７０４から取得した韻律付き音素表記テキスト１９００の情報に基づいて、最適な音声素片データを音声素片ＤＢ１７０２より取得する。典型的な構成としては、音声素片ＤＢ１７０２は、１音素単位で分割された音声波形データを各音声素片として格納しており、これらの音声素片にはあらかじめ分析された継続時間、基本周波数、パワー値、および、当該音声素片の録音時に用いられた文章における構文情報等が付加されていて、素片選択部１７０１は、それらの情報を元に、言語処理部１７００及び韻律生成部１７０４の出力内容に最も近い音声素片を選択するようにする。
【００４３】
素片結合部１７０３は、素片選択部１７０１から出力される音声素片を順番に受け取り、各音声素片の継続時間、基本周波数、および、パワー値を変形することで、あらかじめ計算された韻律への合わせ込みを行い、さらに各音声素片が前後の音声素片と滑らかに繋がるように変形を行い、音声合成部１０４の処理結果として不完全部分不明瞭化部１０５に出力する。
【００４４】
図７は、音声合成部１０４が、不完全部分検出済みテキスト３００から生成する合成音レコード列４００の例を説明するための図である。
【００４５】
音声合成部１０４は、不完全部分検出済みテキスト３００の各文について、全てのタグを取り去った上で音声合成を行い、生成された合成音データを＜ｃ＞タグの位置で分割して、レコード４０１のリストとして出力する。レコード４０１は、各々が構造体の形式になっており、引用レベルを表すｉｎｔ値（引用レベル）と、当該レコードの音声データが＜ｃ＞タグで囲まれた文字列に相当する部分であるかどうかを表すｂｏｏｌ値（補完部分）と、当該レコードに含まれる合成音データ長を表すｉｎｔ値（音声データ長）と、当該レコードに含まれる合成音データ本体である、ｉｎｔ値（音声データ）の配列より構成される。これらレコード４０１のリストの先頭には、後続文が幾つのレコードによって構成されるかを表すｉｎｔ値（文内レコード数）を持つレコードヘッダ４０２がある。
【００４６】
ここで、音声合成部１０４は、ヘッダ部分・本文部分・シグネチャ部分に対し、それぞれ別々の声質で音声合成処理を行ってもよい。
【００４７】
また、音声合成部１０４は本文部分の各文の引用レベルによって合成音の声質を変えるようにしてもよい。例えば引用レベルが偶数の文は声質Ａで音声合成を行い、引用レベルが奇数の文は声質Ｂで音声合成を行うことによって、それぞれの文が誰の発言であったのか分かりやすくなる。また、不完全部分検出部１０３によって引用元となる過去の電子メールテキスト３０１を検索する際に、差出人を表すＦｒｏｍフィールドの内容を引用タグに埋め込んでおき、引用タグに埋め込まれた差出人によって合成音の声質を変えるようにすることで、さらに分かりやすい読み上げを行うことができる。
【００４８】
続いて、不完全部分不明瞭化部１０５は、以上のように構成される合成音レコード列４００を受け取り、次のような処理を行う。
【００４９】
１）レコードヘッダ４０２を読み、文内レコード数を得る。
２）１）で取得した文内レコード数の分だけ、以下の３）〜６）を繰り返す。
３）レコードを１つ読み込む。このレコードが不完全部分検出部１０３によって補完された部分でなければ、このレコードの音声データをそのまま出力して再度３）に戻る。一方、補完された部分であれば４）へ進む。
４）このレコードが文内の最初のレコードであれば、音声データの長さが２秒より長い場合、音声データを末尾の２秒分のみに短縮する。さらに短縮された音声データの音量を始端で０％、終端で１００％のフェードインになるように変形する。一方、このレコードが文内の最後のレコードである場合は、音声データを先頭の２秒分のみに短縮し、同様にして短縮された音声データの音量を始端で１００％、終端で０％のフェードアウトになるように変形する。
５）変形された音声データを出力し、３）へ進む。
【００５０】
以上、１）〜５）の手順で不完全部分不明瞭化部１０５によって出力される音声データは、次のような特徴を持つ。
【００５１】
・整形済みテキスト２０１に含まれる文章が、不足無く音声化されて含まれている。
・不完全部分検出部１０３によって整形済みテキスト２０１に追加された部分を利用して、整形済みテキスト２０１における不完全なテキストの先頭の欠落部分は最大２秒間のフェードインと共に再生を開始し、末尾の欠落部分では最大２秒間のフェードアウトを経て次の文章の再生に移行する。
【００５２】
以上のように本実施の形態１に係る音声合成装置１０によれば、引用構造解析部１０１で電子メールテキスト１００の構造を解析し、その結果を元に電子メールテキスト整形部１０２が読み上げに適した整形済みテキスト２０１を生成し、さらに、不完全部分検出部１０３によって不完全部分の検出と、不完全部分の補完処理が行われる。その結果、音声合成部１０４で、補完された元の完全な文に対して音声合成処理を行うことができるため、不自然な韻律によって聴取者であるユーザを混乱させてしまうことを避けることができる。また、補完された部分の音声に、不完全部分不明瞭化部１０５でフェードイン・フェードアウト処理を施すことで、実際に電子メールテキスト１００に引用されていた部分の読み上げを不足無く行いつつ、引用時に削られた部分があることを聴覚的にユーザに提示することができる。
【００５３】
なお、合成音レコード列４００は少なくとも＜ｃ＞タグで囲まれていない部分の音声を完全に含み、＜ｃ＞タグで囲まれた部分の音声があれば、その合成音レコード列４００内の位置が分かるような不完全部分ポインタ情報を含んでいれば、これと同等の処理を行うことが可能である。
【００５４】
また、不完全部分検出部１０３が、さらに高度な言語解析を行うことができ、引用文の先頭もしくは末尾にある形態素や文節が不完全になってしまっていることが検出できる場合、不完全になった形態素や文節を完全にする分だけの文字を補完して音声合成を行い、当該形態素や文節の部分の音声をフェードイン・フェードアウト等の手段によって不明瞭化するようにしてもよい。
【００５５】
また、テキストの不完全部分に対応して聴覚的明瞭度を下げた合成音を出力するという本発明の最大の特徴が単独で発揮されるよう、不完全になった形態素や文節の補完は行わず、不完全な形態素や文節の部分の音声のみを不明瞭化するに留めてもよい。この場合、不完全部分検出部１０３は、例えば引用部分の先頭にある文ではｒｉｇｈｔ−ｔｏ−ｌｅｆｔの形態素解析を行った上で文頭に現れた未知語を不完全部分とし、引用部分の末尾にある文ではｌｅｆｔ−ｔｏ−ｒｉｇｈｔの形態素解析を行った上で文末に現れた未知語を不完全部分とすればよい。
【００５６】
図８に、不完全部分検出部１０３が整形済みテキスト２０１の補完を行わずに文節単位で不完全部分の検出のみを行った場合に得られる結果の一例を示す。図８に示される不完全部分検出済みテキスト３００ａは、不完全部分検出済みテキスト３００（図３参照）と対比して、次のような特徴を持つ。
【００５７】
・文の先頭及び末尾における不完全部分が補完されていない。
・文の先頭及び末尾にもともと存在していて、かつ完全な文節をなしていないと判断された部分が＜ｃ＞タグで囲まれて区別されている。
【００５８】
補完を行わずに不完全部分を検出するこのような構成は、不完全部分の補完に用いられるテキストが容易に取得できない場合（引用元のメールがメールボックス１０７に蓄積されていない場合はもちろん、例えば、ウェブページ、電子書籍、電子番組情報等のメール以外の種々の引用元から切り取られたテキストを読み上げる場合）に、特に好適である。
【００５９】
なお、ここまでの説明には、メールの引用部分の先頭及び末尾にテキストの不完全部分が生じる状況を一例として用いたが、利用者から指定されたテキストの一部分を読み上げる状況においても、テキストの不完全部分が生じることが考えられる。
【００６０】
そのような状況に対応するために、音声合成装置１０に、さらに、テキストの一部分の指定を受け付ける部分指定受付部（不図示）を設け、前記不完全部分検出部１０３は、前記指定された部分の先頭及び終端の少なくとも一方において不完全部分を検出することが好ましい。この部分指定受付部は、情報端末装置にごく一般的に備えられるカーソルキーや入力ペンを用いて実現され、指定された部分は、従来広く行われているように、反転、点滅などによって表示されるとしてもよい。
【００６１】
また、不完全部分不明瞭化部１０５は、補完された部分の音声の代わりに、後続する音声が元の文章の途中から始まっていたり、先行する音声が文章の途中で終わっていたりすることを示唆する効果音を用いることにしてもよい。例えば、文の先頭の不完全部分に当たる音声を、ラジオのチューニング音（“キュイー”という音）と入れ替え、文の終端の不完全部分に当たる音声を、ホワイトノイズ（“ザー”という音）と入れ替えることによって、「（キュイー）は、１０部ずつコピーを用意して（ザー）」というような音を作ることができる。
【００６２】
また、不完全部分不明瞭化部１０５は、ＴＶやラジオのインタビュー音声などで、音声を途中から引用する場合によく行われるように、不明瞭化された不完全部分を先行文・後続文に重ねて再生するような音声を出力してもよい。図９に示されるような合成音レコード列４００が不完全部分不明瞭化部１０５に与えられた場合を例に挙げて、図１０を参照しながら不完全部分不明瞭化部１０５における処理を以下説明する。
【００６３】
１）補完部分である「資料」の合成音６００ｂの音量を、不完全部分不明瞭化部１０５が備えるフェーダ部６０１を用いて元の音量の１０％に下げる。
２）同じくフェーダ部６０１を用いて、補完部分に後続する「は、１０部ずつコピーを用意して」の合成音６００ｃの先頭部分に対し、元の音量の１０％から元の音量の１００％まで１秒で変化するようなフェードイン処理を加える。
３）不完全部分不明瞭化部１０５が備えるミキサ部６０２を用いて、補完部分である「資料」の合成音６００ｂが、先行文である「第三チームの齋藤です」の合成音６００ａの終端に重なり、連続して「は、１０部ずつコピーを用意して」の合成音６００ｃが流れるようなミキシング処理及び連結処理を行い、出力音声６０３を生成する。本図では、合成音６００ａの処理結果は、出力音声６０３のａの区間に、合成音６００ｂの処理結果は、ａの区間と重なるｂの区間に、合成音６００ｃの処理結果は、ａ及びｂに後続するｃの区間に含まれる様子が示されている。
【００６４】
以上のような方法を用いることで、ユーザが既にＴＶやラジオのインタビュー音声などで馴染みのある手法での引用文読み上げが可能となる。
【００６５】
なお、不完全部分不明瞭化部１０５は、入力される音声の音量を操作するだけでなく、適切な割合でノイズ音をミキシングしてもよい。例えば上に挙げた処理の例において、あらかじめ所定の音量のホワイトノイズ音データを用意しておき、それを合成音６００ｂに対し元の音量の９０％で、合成音６００ｃの先頭１秒部分に対して元の音量の９０％から０％まで減少するようなミキシングを行なう。このような処理により、合成音６００ａの末尾に合成音６００ｂが小さな音量かつ大きな割合のノイズと共にミキシングされ始め、合成音６００ａ部分の再生が終了すると共に後続する合成音６００ｃの音が段々大きくなり、ミキシングされたノイズの割合も小さくなっていくような音声を作成することができる。
【００６６】
また、不完全部分不明瞭化部１０５は、検出された不完全部分の音声を削除するようにしてもよい。不完全部分を削除することによって、引用元の文から不完全な引用がされていたということはユーザに伝わらなくなるが、ユーザは引用文の中から言語的に完全な部分だけを聞くことができるようになるため、理解しやすくなる。
【００６７】
また、不完全部分を削除する場合は、不完全部分の文字を不完全部分検出部１０３によって削除した上で、音声合成部１０４に合成音を生成させるようにしてもよい。このようにすると、元の完全な文の音声を生成した後に一部を削除するのと違い、あらかじめ一部を削除済みの文を完全な文として音声を生成するため、違う韻律になることが考えられる。しかし、音声合成部１０４の出力結果をそのままスピーカ装置１０６に再生させればよくなるため、不完全部分不明瞭化部１０５が不要となり、音声合成装置の構成を単純化することができるという利点を有する。
【００６８】
また、不完全部分の補完を行って完全な文にした後、不完全部分の不明瞭化処理を全く行わないようにしてもよい。この場合、ユーザの聞く音声は冗長なものとなるものの、ユーザが聞く文章は、常に欠落の無い完全なものであることが保証されるという利点を有する。
【００６９】
（実施の形態２）
次に、本発明の実施の形態２に係る音声合成装置について説明する。
【００７０】
本実施の形態２に係る音声合成装置は、前記実施の形態１に係る音声合成装置１０における、音声合成部１０４及び不完全部分不明瞭化部１０５に関する変形例である。
【００７１】
図１１は、本実施の形態２に係る音声合成装置の機能的な構成を示すブロック図である。なお、実施の形態１と同じ構成は、同一の符号を用いて示し、その説明を省略する。
【００７２】
音声合成装置２０における音声合成部１０４ａは、音声波形データではなく音響特徴パラメータ列の形で音声素片を格納する音声素片パラメータデータベース（ＤＢ）７０２を備え、素片選択部１７０１が、この音声素片パラメータＤＢ７０２に格納されている音声素片を選択し、素片結合部１７０３が、音声データの形式ではなく音声特徴パラメータの形式で合成音の出力を行う点で、上記実施の形態１と異なる。
【００７３】
また、この出力を音声の形式に変換するために、本実施の形態２に係る音声合成装置２０は、音声特徴パラメータから音声波形を生成する波形生成部７００を備える。波形生成部７００の構成は、本装置が採用する音声特徴パラメータセットによって異なるが、例えば、ＡＲＸ音声分析モデルに基づく方法（「大塚，粕谷，"音源パルス列を考慮した頑健なＡＲＸ音声分析法"，日本音響学会誌，ｖｏｌ．５８，ｎｏ．７，３８６−３９７（２００２）」参照。）を用いることができる。この場合、音声素片パラメータＤＢ７０２内の各音声素片の音響特徴パラメータは、ＡＲＸ音声分析モデルの音源・声道パラメータとなる。
【００７４】
この本実施の形態２に係る音声合成装置２０によれば、不完全部分不明瞭化部１０５において、音声波形データではなく音声特徴パラメータ値に変更を加えることができるため、より柔軟に聴覚的明瞭度を下げる処理を行なうことができるという効果を奏する。例えば、音声合成部１０４ａが出力する音声特徴パラメータに音声のフォルマント強度を表すパラメータがある場合、フォルマント強度を下げることによって音韻性のはっきりしない、くぐもった声色に変形することができる。また、ここで、さらに高度な声質変換の技術を使用可能な場合は、ささやき声や、かすれ声に変換する等してもよい。
【００７５】
（実施の形態３）
続いて、本発明の実施の形態３に係る音声合成装置について説明する。
【００７６】
本実施の形態３に係る音声合成装置と前記実施の形態１との差異は、本実施の形態３では、音声の声質を通常の喋り方からささやき声にすることによって不完全部分の不明瞭化を行う点にある。
【００７７】
また、本実施の形態３に係る音声合成装置と前記実施の形態２との差異は、前記実施の形態２では音声合成部１０４ａの出力した音響特徴パラメータ列を変形することによって音声をささやき声にする等の不明瞭化処理を行うとしたが、本実施の形態３では、音声合成部が複数の音声素片データベース（ＤＢ）を備え、それらを切り替えて使うことによって通常の喋り方の声と、ささやき声とを使い分ける点にある。
【００７８】
図１２は、本実施の形態３に係る音声合成装置の機能的な構成を示すブロック図である。なお、上記実施の形態１および２と同一の構成は、同一の符号を用いて示し、その説明を省略する。
【００７９】
まず、電子メールテキスト１００、メールボックス１０７の役割と、引用構造解析部１０１、電子メールテキスト整形部１０２、不完全部分検出部１０３の動作は前記実施の形態１と同様である。
【００８０】
音声合成部１０４ｂは、不完全部分検出部１０３の処理結果を受け取り、合成音を生成してスピーカ装置１０６に再生出力させる。この構成では、不完全部分不明瞭化部１０５が音声合成部１０４の一部として働く点が前記実施の形態１と異なる。
【００８１】
ここで、図１３を用いて、本実施の形態３の音声合成部１０４ｂにおける素片選択部１７０１、不完全部分不明瞭化部１０５等の処理を説明する。
【００８２】
素片選択部１７０１は、韻律生成部１７０４から出力される韻律付き音素表記テキスト１９００の情報を元に、最適な音声素片データを音声素片ＤＢ１７０２ａまたは音声素片ＤＢ１７０２ｂより取得する。音声素片ＤＢ１７０２ａは、通常の声質の音声素片を格納し、音声素片ＤＢ１７０２ｂは、ささやき声の音声素片を格納している。このように、音声素片を格納するデータベースは、少なくとも２種類が用意されており、素片選択部１７０１は、不完全部分不明瞭化部１０５を通して、これら複数の音声素片ＤＢ１７０２ａおよび１７０２ｂから最適な音声素片データを取得する。
【００８３】
不完全部分不明瞭化部１０５は、選択しようとしている音素が不完全部分に含まれるものであれば、ささやき声の音声素片ＤＢ１７０２ｂから、それ以外の場合は通常の声質の音声素片ＤＢ１７０２ａから素片選択部１７０１の要求に該当する音声素片データを読み出して素片選択部１７０１に渡す。
【００８４】
なお、不完全部分不明瞭化部１０５は、音声素片をいずれかの音声素片ＤＢ１７０２ａおよび１７０２ｂから１つずつ選び出すだけでなく、複数の音声素片ＤＢ１７０２ａおよび１７０２ｂから最適な音声素片データを１つずつ選択して、ミキシングを行うことによって選択した音声素片データの中間的な声質を持つ音声素片データを新たに生成することもできる。
【００８５】
さらに、前記実施の形態１において音量を制御してフェードイン・フェードアウト処理を行ったように、ミキシングの比率を制御することで音声の明瞭さを連続的に変化させるようにしてもよい。
【００８６】
また、音声素片データを単純にミキシングするだけではなく、音声モーフィングと呼ばれる手法を用いることによってさらに良好な結果を得ることができる。なお、音声モーフィングの手法を用いた音声の声質制御手法は、例えば、特開平９−５０２９５号公報や、「阿部，"基本周波数とスペクトルの漸次変形による音声モーフィング"，日本音響学会平成７年度秋季研究発表会講演論文集Ｉ，２１３−２１４（１９９５）」に開示されている。
【００８７】
以上の方法で音声素片の選択を行った後、前記実施の形態１と同様にして生成される音声データをスピーカ装置１０６で再生出力することにより、不完全部分の不明瞭化を、ささやき声に声質を変更することによって行う音声合成装置が実現できる。
【００８８】
（実施の形態４）
さらに、本発明の実施の形態４に係る音声合成装置について、図１４〜１７を参照しながら説明する。
【００８９】
上記実施の形態１〜３では、テキスト情報として、電子メールによる通信内容であるテキストを扱う場合を説明したが、本実施の形態４では、テキスト情報として、チャットによる通信内容であるメッセージを扱う場合の音声合成装置について説明する。
【００９０】
図１４は、本実施の形態４に係る音声合成装置の機能的な構成を示すブロック図である。なお、実施の形態１〜３と同じ構成は、同一の符号を用いて説明を省略する。
【００９１】
図１４に示すように、本実施の形態４に係る音声合成装置４０では、電子メールテキスト１００の代わりにチャットのメッセージテキスト９００を読み上げの対象とする。チャットメッセージテキスト９００は、一般に電子メールテキストよりも単純な形式をしている。
【００９２】
例えば、図１５に示されるように、チャットメッセージテキスト９００としては、受信時刻とメッセージの送信者名に続いて、メッセージの内容が平文で書かれているような構成が考えられる。
【００９３】
そして、受信・送信したチャットメッセージテキスト９００は、メッセージログ９０３に蓄積され、不完全部分検出部１０３から参照可能となっている。
【００９４】
引用構造解析部１０１は、前記実施の形態１と類似の方法を用いてチャットメッセージテキスト９００の引用構造を解析する。図１６を用いて、引用構造解析部１０１の処理動作を説明する。引用構造解析部１０１の処理動作は、例えば、以下のようにすればよい。
【００９５】
１）チャットメッセージの先頭から文字列を読み、［］（角括弧）で囲まれた受信時刻と送信者名を得て、受信時刻を＜ｔｉｍｅ＞タグで、送信者名を＜ｓｅｎｄｅｒ＞タグで囲って切り離す。
２）現在の行の先頭にある引用記号の数を数え、引用記号の数のタグで置換する。例えば、引用記号が１つある場合は＜１＞、２つある場合は＜２＞、引用記号が無い（引用部分でない）場合は＜０＞を引用記号の代わりに付与する。ただし、この時点ではまだタグを閉じない。以下、この引用記号の数のタグを「引用タグ」と記述し、引用記号の数を引用レベルと記述する。
３）現在の行がチャットメッセージテキスト９００の最後の行であれば、引用タグを閉じて終了する。例えば、現在の行が引用部分でなければ、行末に＜／０＞を追加してこのアルゴリズムを終了する。
４）次の行へと読み進める。
５）直前の行と現在の行の引用記号の数が違うか、現在の行が空行であるか、現在の行が「（中略）」や「：」などの元の文の省略を意味する文字列であるか、現在の行と直前の行のインデントの数が違う場合、７）へ進む。
６）行頭の引用記号を削り、３）へ進む。
７）直前の行を引用タグで閉じ、２）へ進む。
【００９６】
以上、１）〜７）の手順によって生成される引用構造解析済みテキスト１１００は次のようなものである。
【００９７】
・メッセージテキストの頭に、＜ｔｉｍｅ＞タグで囲まれた受信時刻情報と＜ｓｅｎｄｅｒ＞タグで囲まれた送信者名が存在し、その後に元のチャットメッセージテキスト９００の本文部分が存在する。
・本文部分は、段落ごとに引用タグで囲まれている。また、引用タグによって引用の深さが分かる。
【００９８】
さらに、メッセージテキスト整形部９０２は、引用構造解析済みテキスト１１００を処理し、整形済みテキスト１１０１を生成する。メッセージテキスト整形部９０２は、以下のようにして、整形済みテキスト１１０１を生成する。
【００９９】
１）＜ｔｉｍｅ＞タグを破棄する。なお、受信時刻の読み上げを行う場合には残しておいてもよい。
２）本文部分に関して、各引用タグ内の文章から改行や空白文字を削って一行のテキストにした上、句点で文を切り分ける。
【０１００】
不完全部分検出部１０３は、メッセージテキスト整形部９０２によって生成された整形済みテキスト１１０１を受け取り、メッセージログ９０３に蓄積されている過去のチャットメッセージテキストの本文と照合を行って、引用レベルが１以上の各引用タグ内の先頭及び末尾の文が最初に現れるチャットメッセージを探し、引用文が完全であったかどうか、即ち各引用文が引用元の文に対して文字列の欠落が無いかどうかを文字列マッチングにより判定する。さらに、引用文が不完全であった場合には元の完全な文で置換を行った上で、元の完全な文のうち、どの部分が引用文に含まれているか識別可能にする。
【０１０１】
本実施の形態４に係る音声合成装置４０で、不完全部分検出部１０３が行う処理は、前記実施の形態１に記載の処理を簡略化したものである。本実施の形態４における、前記実施の形態１に記載の処理との相違点を以下に列挙する。
【０１０２】
・本実施の形態４では、メッセージログ９０３に蓄積された過去のチャットメッセージテキストは単純なリスト構造をしているため、前記実施の形態１で行っていたスレッド構造の解析は不要である。最新のメッセージから遡って１０個程度のチャットメッセージテキストに対して、本文部分の引用部分以外のテキストについて文字列マッチングにより引用元の文を検索すればよい。
【０１０３】
・チャットメッセージの読み上げにおいては、電子メールよりも各メッセージの内容が短くかつメッセージの交換が頻繁であるため、「○○さんよりメッセージです」というような報知メッセージは冗長である。代わりに、各メッセージが誰からのものであるかを送信者ごとに合成音の声色を変えることで表現する。これは、例えばあらかじめ音声合成用の素片データベースを複数の声色用に作っておき、話者ごとに別の素片データベースを使用することによって実現できる。さらに、引用部分の声色も元の送信者の声色で読み上げを行うために、＜ｃ＞タグの中に「ｓｅｎｄｅｒ＝送信者」というプロパティを設けておき、元の不完全部分検出部がメッセージログ９０３から発見した、引用文の元のチャットメッセージテキストの送信者名を書き込んでおくようにすればよい。
【０１０４】
音声合成部１０４は、このようにして生成された不完全部分検出済みテキスト１２００を先頭から一文ずつ処理して、合成音を生成し、不完全部分不明瞭化部１０５に出力する。合成音の声色はメッセージの送信者に特有に割り当てられたものを使用し、＜ｃ＞タグの中にｓｅｎｄｅｒプロパティがある場合はその送信者の声色を用いる。ｓｅｎｄｅｒプロパティが無い場合、即ち引用元が見付からなかった場合は、今読み上げようとしているメッセージの送信者以外で、最後にメッセージを送信した送信者の声色を用いるとすればよい。
【０１０５】
図１７では、今読み上げようとしているメッセージの送信者がｓｕｚｕｋｉで、ｓｕｚｕｋｉ以外の送信したメッセージで最新のものはｓａｉｔｏのものなので、もし不完全部分検出済みテキスト１２００の＜ｃ＞タグにｓｅｎｄｅｒプロパティが無かったとすると、＜ｃ＞タグに囲まれた部分の合成音はｓａｉｔｏに割り当てられた声色を用いることになる。
【０１０６】
不完全部分不明瞭化部１０５は、前記実施の形態１と同様の処理を行えばよいので説明を省略する。
【０１０７】
以上のような方法を用いることによって、ユーザにとって聞きやすく、かつ会話の流れを阻害しないようなチャットメッセージテキストの読み上げを行うことが可能な音声合成装置を実現することができる。
【０１０８】
（実施の形態５）
続いて、本発明の実施の形態５に係る音声合成装置について説明する。
【０１０９】
上記実施の形態１〜３では、テキスト情報として、電子メールテキストを扱う場合を説明し、上記実施の形態４では、テキスト情報として、チャットメッセージを扱う場合を説明したが、本実施の形態５では、テキスト情報として、ネットニュースによる通信内容である投稿メッセージを扱う場合の音声合成装置について説明する。
【０１１０】
本実施の形態５に係る音声合成装置は、前記実施の形態１と、ほぼ同一の処理を行うものであるが、図１８に示されるように、本実施の形態５に係る音声合成装置５０と前記実施の形態１との構成上の差異は、入力の電子メールテキスト１００がニューステキスト１３００になっている点、電子メールテキスト整形部１０２がニューステキスト整形部１３０１になっている点、メールボックス１０７が既読ニュースログ１３０２になっている点、そして、不完全部分検出部１０３が既読ニュースログ１３０２に加え、ニュースクライアント１３０３及びネットワーク１３０４を通して接続できるニュースサーバ１３０５から全ニュースログ１３０６にもアクセスして、不完全部分の検出を行うことができる点にある。以下、本実施の形態５に係る音声合成装置５０の、前記実施の形態１との動作上の差異について説明する。
【０１１１】
ニューステキスト１３００は、電子メールテキスト１００と同じく、Ｆｒｏｍフィールド・Ｓｕｂｊｅｃｔフィールド・Ｉｎ−Ｒｅｐｌｙ−Ｔｏフィールド・Ｒｅｆｅｒｅｎｃｅｓフィールド等によって構成され、「−−」（半角マイナス記号２つ）という行によって本文と分けられるヘッダ部分と、それに続く本文部分から成る。引用構造解析部１０１及びニューステキスト整形部１３０１は、前記実施の形態１における引用構造解析部１０１及び電子メールテキスト整形部１０２と同様の処理を行えばよい。
【０１１２】
不完全部分検出部１０３は、既読ニュースログ１３０２からニューステキスト１３００と同一スレッドの過去のニューステキストを取得して、前記実施の形態１と同様の処理によって引用文の引用元の文を検索する。ただし、ニューステキスト１３００のヘッダ部分のＲｅｆｅｒｅｎｃｅｓフィールドに現れるニューステキストが既読ニュースログ１３０２内に存在しない場合は、ニュースクライアント１３０３を利用して、ネットワーク１３０４で接続されたニュースサーバ１３０５の持つ全ニュースログ１３０６から、該当するニューステキストを取得するようにしてもよい。ニューステキストの取得は、既存のニュースクライアントの動作と同様の手順によって行われる。
【０１１３】
音声合成部１０４及び不完全部分不明瞭化部１０５の動作は、前記実施の形態１と同様である。
【０１１４】
以上の処理によって、前記実施の形態１と同様の効果を、ネットニューステキストの読み上げに際しても得ることができる。
【０１１５】
（実施の形態６）
さらに続いて、本発明の実施の形態６に係る音声合成装置について説明する。
【０１１６】
本実施の形態６では、テキスト情報として、ネットワーク上の掲示板への投稿メッセージを扱う場合の音声合成装置について説明する。
【０１１７】
図１９は、本実施の形態６に係る音声合成装置の機能的な構成を示すブロック図である。
【０１１８】
前記実施の形態１〜５の場合と異なり、掲示板メッセージテキストは、それぞれのメッセージが分割された独立の構成を有していない。そのため、本実施の形態６に係る音声合成装置６０では、読み上げ対象となる掲示板メッセージテキスト１４００や、不完全部分検出部１０３が参照するための過去の各掲示板メッセージテキストを、その都度、掲示板メッセージテキストを格納する掲示板メッセージログ１４０１から抽出する必要がある。掲示板メッセージテキスト抽出部１４０２が、この抽出処理を行なう。以下では、掲示板メッセージテキスト抽出部１４０２の抽出処理の動作を、図２０を用いて説明する。
【０１１９】
図２０の例に示されるように、掲示板メッセージログ１４０１は、ＷＷＷブラウザで閲覧可能なようにＨＴＭＬ(HyperText Markup Language)で記述されており、次のような形式をしている。
【０１２０】
・全体が＜ｈｔｍｌ＞タグで、ヘッダ部分が＜ｈｅａｄ＞タグで、本文部分が＜ｂｏｄｙ＞タグで囲まれている。
・ヘッダ部分内の＜ｔｉｔｌｅ＞タグで囲まれた中に、掲示板のタイトルが書かれている。
・本文部分内には＜ｕｌ＞タグがあり、各々の投稿が＜ｌｉ＞タグによって列挙されている。
・各々の投稿は一行目に固定フォーマットで記事の連番、投稿者名、投稿時刻が記入されており、＜ｂｒ＞タグによって改行された後、残りの部分にはこの投稿の本文が記述されている。
【０１２１】
このような形式のＨＴＭＬドキュメントを、掲示板メッセージテキスト抽出部１４０２は次のように処理する。
【０１２２】
１）＜ｂｏｄｙ＞タグで囲まれた中の、さらに＜ｕｌ＞タグで囲まれた中のテキストを切り出す。
２）１）で切り出した範囲のテキストを、＜ｌｉ＞タグの位置でそれぞれの投稿に分割する。
【０１２３】
このようにして分割したそれぞれの投稿のテキストを、分割済み掲示板メッセージテキスト１５００とする。この掲示板の最新メッセージを読み上げるときは、例えば次のようにすればよい。
【０１２４】
１）掲示板メッセージテキスト抽出部１４０２が、読み上げ対象の掲示板メッセージテキスト１４００として、分割済み掲示板メッセージテキスト１５００から最新のメッセージを抽出し、引用構造解析部１０１に渡す。
２）引用構造解析部１０１は、掲示板メッセージテキスト１４００の＜ｂｏｄｙ＞タグで囲まれた部分を、前記実施の形態１と同様の方法で処理して引用タグを付与する。
３）掲示板メッセージテキスト整形部１４０３は、図２１に示すように、２）で処理された結果として生成される引用構造解析済みテキスト１６００の１行目から記事の連番と投稿者名を読み上げる文章を生成して＜ｈｅａｄｅｒ＞タグで囲み、２行目以降を＜ｂｏｄｙ＞タグで囲んで整形済みテキスト１６０１とする。
４）不完全部分検出部１０３は、整形済みテキスト１６０１に含まれる引用文を分割済み掲示板メッセージテキスト１５００の中の読み上げ対象の掲示板メッセージテキスト１４００以前のものから前記実施の形態１と同様の方法で検索し、欠落した文字列の補完を行う。
５）音声合成部１０４及び不完全部分不明瞭化部１０５は、前記実施の形態１と同様の処理を行い、合成音の生成と再生を行う。
【０１２５】
以上の処理によって、前記実施の形態１と同様の効果を、ＨＴＭＬ形式で書かれた、ＷＷＷ上の掲示板の読み上げに際しても得ることができる。
【０１２６】
以上、本発明に係る音声合成装置について各実施の形態に基づいて説明した。
このように、本発明に係る音声合成装置は、テキストの入力を元に合成音声データを生成する音声合成部に加え、文章の不完全部分を検出することができる不完全部分検出部と、前記音声合成部の生成する音声データにおいて、前記不完全部分検出部が検出した不完全部分に対応する部分の聴覚的明瞭度を下げる不完全部分不明瞭化部を備えることを特徴とする。
【０１２７】
すなわち、まず前記不完全部分検出部が、音声合成の元となる入力テキストのうち、言語的な不完全部分を解析して、その解析結果を前記音声合成部に送る。このとき、不完全部分検出部は、構文解析結果をも送るようにすれば、前記音声合成部が再度構文解析を行わずとも合成音の生成を行えるため望ましい。音声合成部は、前記入力テキストの言語的な解析結果を元にして合成音を生成し、もし不完全部分が存在する場合は、生成した合成音のどの部分が前記不完全部分に対応するかという不完全部分ポインタ情報をも出力して前記不完全部不明瞭化部に送る。不完全部分不明瞭化部は、合成音の中で前記不完全部分ポインタ情報の示す部分の聴覚的明瞭度を下げる処理を行い、前記入力テキストの読み上げ音声データとして出力する。
【０１２８】
これによって、言語的に意味のある部分を通常どおりに読み上げつつ、意味をなさない部分の音声の聴覚的明瞭度を下げるので、ユーザの混乱を招くことを防止することができる。
【０１２９】
ここで、前記音声合成部は、合成音そのものではなく、合成音を生成するために必要十分な音声特徴パラメータを出力するようにしてもよい。そのような音声特徴パラメータとは、例えばソース・フィルタ型音声生成モデルにおけるモデルパラメータや、ＬＰＣケプストラム係数と音源モデルパラメータのことである。このようにして、合成音データではなく、合成音データを生成する手前の音声特徴パラメータを前記不完全部分不明瞭化部による調整を可能にすることで、より柔軟に不完全部分の不明瞭化処理を行うことができるようになる。
【０１３０】
また、前記不完全部分検出部による言語解析処理の内容が、前記音声合成部が合成音を生成するために必要とする言語解析処理の内容を含む場合、前記音声合成部は、前記入力テキストと前記不完全部分検出部による言語解析結果を入力とするのではなく、前記不完全部分検出部が前記入力テキストを解析した結果得られる言語解析結果のみを入力としてもよい。
【０１３１】
また、前記不完全部分検出部が前記音声合成部に言語解析結果を渡さない場合でも、前記音声合成部は、前記入力テキストに前記不完全部分の検出結果を埋め込んで音声合成部に渡すようにすることができる。例えば、入力テキスト内の不完全部分を全てタグで囲んだ上で音声合成部に渡すことで、音声合成部は入力テキストの情報と不完全部分の検出結果の両方を不完全部分検出部から得ることができる。これによって、音声合成部が別々に与えられる２種類の入力の同期を取る必要が無くなる。
【０１３２】
また、前記不完全部分不明瞭化部は、不完全部分の音声にノイズを重畳したり、不完全部分の音声の音量を小さくしたりといった音響効果を加えることによって不完全部分の音声の明瞭度を下げることができる。これにより、言語的に不完全であるために正確な読み上げが不可能な不完全部分が読み上げ対象のテキスト内に存在することをユーザに明示することができる。
【０１３３】
また、前記不完全部分不明瞭化部は、音声の不明瞭化の度合いを時系列的に変化させるようにしてもよい。行頭の不完全部分については、音声の先頭で不明瞭化の度合いを最大にしておき、不完全部分の終端で不明瞭化の度合いが最小になるように、不明瞭化の度合いを時系列的に減少させる。行末の不完全部分については、逆に不明瞭化の度合いを時系列的に増加させる。これによって、ユーザに、より自然に合成音を聞こえさせることができるようになる。
【０１３４】
また、音声の不明瞭化を行うのは必ずしも不完全部分だけでなくても良く、ある時定数を設けて、その時定数の間だけ音声を不明瞭化するようにしてもよいし、不完全部分を含めて少なくともその時定数の間は音声を不明瞭化するような処理を行ってもよい。不明瞭化の度合いを時系列的に変化させる場合、このような処理を行うことによって不完全部分の長さが短い場合でも不明瞭化の度合いの変化が急激すぎないようにすることができ、聴感上の自然性をさらに高めることができる。
【０１３５】
また、読み上げ対象のテキストがメール文である場合には、メール文の引用構造を解析して引用されたテキストを文単位で切り分ける引用構造解析部を用意しておき、さらに過去に送受信したメール文を蓄積したメールボックスと、メールボックスにアクセスして過去のメール文の中からある不完全な文を含む元の完全な文を検索することができる完全文検索部を用意することで、不完全な文を一旦元の完全な文で置き換えて正しく言語解析し、本来の正しい韻律で読み上げることができるようになる。
【０１３６】
ここで、前記音声合成部は、前記完全文検索部が発見した元の完全な文を全て音声合成して出力しても良いし、元の完全な文の音声合成結果から、引用されたテキストの部分のみを出力するようにしても良い。また、あらかじめ所定の時定数を設けて、引用された文の不明瞭化処理を受ける部分が最大でその時定数の長さになるように、元の完全な文の音声合成結果から切り出して出力するようにしても良い。
【０１３７】
また、読み上げの対象があるテキストの一部であり、読み上げ対象のテキストを含む元の完全なテキストを取得することが可能な場合は、元の完全なテキストを取得する完全文取得部を用意することによって同様の効果を得られる。
【０１３８】
なお、本発明は、これらの実施の形態に限定されるものではなく、その範囲を逸脱することなく本発明の趣旨に沿って様々の変形または修正が可能であることはいうまでもない。
【産業上の利用可能性】
【０１３９】
本発明は、音声合成技術を用いて電子メール等のテキストデータを読み上げるテキスト読み上げアプリケーション等や、このようなアプリケーションを備えたパーソナルコンピュータ等に適用することができ、特に、読み上げの対象となる文章中に不完全な文が現れる可能性が高いテキストデータの読み上げ用途に対して有用である。
【図面の簡単な説明】
【０１４０】
【図１】図１は、実施の形態１に係る音声合成装置の機能的な構成を示すブロック図である。
【図２】図２は、引用構造解析部および電子メールテキスト整形部の動作を説明するための図である。
【図３】図３は、不完全部分検出部が行う処理の概要を説明するための図である。
【図４】図４は、言語解析部の動作例を説明するための図である。
【図５】図５は、韻律生成部の動作例を説明するための図である。
【図６】図６は、素片選択部、素片結合部および不完全部分不明瞭化部の動作例を説明するための図である。
【図７】図７は、合成音レコード列の概略図である。
【図８】図８は、不完全部分検出部が補完を行わない場合に得られる検出結果の一例を示す図である。
【図９】図９は、不完全部分不明瞭化部に入力される合成音レコード列の例を示す図である。
【図１０】図１０は、不完全部分不明瞭化部によるフェードイン処理の例を示す概略図である。
【図１１】図１１は、実施の形態２に係る音声合成装置の機能的な構成を示すブロック図である。
【図１２】図１２は、実施の形態３に係る音声合成装置の機能的な構成を示すブロック図である。
【図１３】図１３は、素片選択部、不完全部分不明瞭化部および素片結合部の動作例を説明するための図である。
【図１４】図１４は、実施の形態４に示される音声合成装置の構成を示すブロック図である。
【図１５】図１５は、メッセージテキストおよびメッセージログの例を示す概略図である。
【図１６】図１６は、引用構造解析部およびメッセージテキスト整形部の動作を示す概略図である。
【図１７】図１７は、不完全部分検出部の動作を示す概略図である。
【図１８】図１８は、実施の形態５に係る音声合成装置の機能的な構成を示すブロック図である。
【図１９】図１９は、実施の形態６に係る音声合成装置の機能的な構成を示すブロック図である。
【図２０】図２０は、掲示板メッセージテキスト抽出部の動作例を説明するための図である。
【図２１】図２１は、掲示板メッセージテキスト整形部の動作例を説明するための図である。
【図２２】図２２は、本発明の解決課題に示される、本発明が対象とするテキストの例を示す図である。
【符号の説明】
【０１４１】
１０、２０、３０、４０、５０、６０  音声合成装置
１００                              電子メールテキスト
１０１                              引用構造解析部
１０２                              電子メールテキスト整形部
１０３                              不完全部分検出部
１０４、１０４ａ、１０４ｂ          音声合成部
１０５                              不完全部分不明瞭化部
１０６                              スピーカ装置
１０７                              メールボックス
２００、１１００、１６００          引用構造解析済みテキスト
２０１、１１０１、１６０１          整形済みテキスト
３００                              不完全部分抽出済みテキスト
３０１                              過去の電子メールテキスト
４００                              合成音レコード列
４０１                              合成音レコード
４０２                              合成音レコードヘッダ
６００ａ                            引用レベル０の合成音
６００ｂ                            ６００ｃに対する補完部分の合成音
６００ｃ                            引用レベル１の合成音
６０１                              フェーダ部
６０２                              ミキサ部
６０３                              出力音声
７００                              波形生成部
７０２                              音声素片パラメータデータベース
８００                              メール文
８０１                              返信メール文
８０２                              再返信メール文
９００                              チャットメッセージテキスト
９０２                              メッセージテキスト整形部
９０３                              メッセージログ
１２００                            不完全部分検出済みテキスト
１３００                            ニューステキスト
１３０１                            ニューステキスト整形部
１３０２                            既読ニュースログ
１３０３                            ニュースクライアント
１３０４                            ネットワーク
１３０５                            ニュースサーバ
１３０６                            全ニュースログ
１４００                            掲示板メッセージテキスト
１４０１                            掲示板メッセージログ
１４０２                            掲示板メッセージテキスト抽出部
１４０３                            掲示板メッセージテキスト整形部
１５００                            分割済み掲示板メッセージテキスト
１７００                            言語処理部
１７０１                            素片選択部
１７０２、１７０２ａ、１７０２ｂ    音声素片データベース
１７０３                            素片結合部
１７０４                            韻律生成部
１８００                            音素表記テキスト
１９００                            韻律付き音素表記テキスト
【図１】
0003895766.tif 000002
【図２】
0003895766.tif 000003
【図３】
0003895766.tif 000004
【図４】
0003895766.tif 000005
【図５】
0003895766.tif 000006
【図６】
0003895766.tif 000007
【図７】
0003895766.tif 000008
【図８】
0003895766.tif 000009
【図９】
0003895766.tif 000010
【図１０】
0003895766.tif 000011
【図１１】
0003895766.tif 000012
【図１２】
0003895766.tif 000013
【図１３】
0003895766.tif 000014
【図１４】
0003895766.tif 000015
【図１５】
0003895766.tif 000016
【図１６】
0003895766.tif 000017
【図１７】
0003895766.tif 000018
【図１８】
0003895766.tif 000019
【図１９】
0003895766.tif 000020
【図２０】
0003895766.tif 000021
【図２１】
0003895766.tif 000022
【図２２】
0003895766.tif 000023