説明

音声合成装置、ナビゲーション装置および音声合成方法

【課題】合成音声の重要な言葉を聞き取りやすくする。
【解決手段】音声合成装置10は、言語解析部210において、テキスト入力部100から入力されたテキストデータを複数の部分(具体的には単語)に分割する。そして、重要度推定部220は、聴者が合成音声を聞き取る際の、部分ごとの理解への寄与の大きさに基づいて、それぞれの部分の重要度を推定する。次に、音声合成装置10は、合成処理を実行するときのデバイス状態および重要度に基づいて、処理負荷を決定する。そして、音声合成装置10の合成処理管理部300および波形生成部400は、重要度の低い音素に対しては処理負荷を低く抑える(音質を相対的に低くする)ことによって処理時間を低減し、その処理時間を低減した分を重要度の高い音素の処理時間に振り分けて、重要な言葉を聞き取りやすい合成音声を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力テキストから音声合成信号を生成する技術に関する。
【背景技術】
【0002】
音声合成技術の進展にともなって、合成音声の品質が改善してきており、近年、生活の多くの場面で、音声合成処理された音声を耳にする機会が増加している。例えば、音声合成技術は、車載用ナビゲーション装置、公共施設における自動放送装置、メール読み上げ装置、自動通訳システム等、合成音声を用いて自動的に情報を提供するサービスに広く用いられてきている。
【0003】
一方、現在実用化されている音声合成システムの多くにおいては、システムリソースの負荷(例えば、CPU(Central Processing Unit)およびメモリの占有率、ディスクアクセス頻度、ネットワーク通信量等)と合成音声の品質(音質ともいう)とは、高い相関を有している。すなわち、高品質の合成音声を得るためには、音声合成処理に多くのリソースを充てる必要がある。逆に、音声合成処理に充てるリソースを削減すると合成音声の品質が低下してしまう。
【0004】
カーナビゲーション装置等の低性能デバイスに音声合成機能を搭載した場合、音声合成処理に充てるリソースには限りがあるため、得られる合成音声の品質が低くなる場合がある。ただし、前記した低性能とは、音声合成処理に充てることが可能なリソースが少ないという意味である。つまり、音声合成処理ではリアルタイム性(最初の合成音声が出力されてから途切れることなく後続の合成音声が出力されること)が要求されるため、音質を犠牲にして、音声合成処理に充てるリソースを低性能デバイスに合わせざるを得なくなる。現在、多くの音声合成システムは、リアルタイム性を維持するように音声合成を確実に行うために、音声合成のために占有できるリソース(主にCPUおよびメモリ)を規定した上で、音声合成の処理負荷がそれを超えないように制御している。
【0005】
例えば、下記特許文献1では、ハードウェアの性能または状態を検出し、その検出結果に応じて、合成処理に用いる辞書情報の量を調整することによって、リソースの処理負荷を調節する技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第3563756号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1に開示されている技術では、ハードウェアの性能または状態に応じて、リソースの処理負荷を調節しているため、処理負荷を低減させると、合成音声の品質は低下してしまう。このような音質の低下が、文章の内容理解にとって重要な部分(例えば、文中におけるキーワード)で生じると、合成音声の聴者に対して、合成音声の内容が正確に伝達できないという虞がある。例えば、文脈上重要な単語の合成中に、CPUが他のアプリケーションに使用され、高い処理負荷を確保できなくなった場合、重要な単語が低品質の合成音声として出力されることになる。この結果、合成音声の聴者は、文全体の内容を理解するのが困難になるという問題がある。
【0008】
そこで、本発明は、合成音声の重要な言葉を聞き取りやすくすることを課題とする。
【課題を解決するための手段】
【0009】
前記した課題を解決するため、本発明に係る音声合成装置は、入力テキストを複数の部分(具体的には単語)に分割し、聴者が合成音声を聞き取る際の、文章の内容理解への寄与の大きさを部分(単語)ごとに求め、それぞれの部分の重要度を推定する。次に、音声合成装置は、合成処理を実行するときのデバイス状態および重要度に基づいて、処理負荷を決定する。そして、音声合成装置は、重要度の低い部分に対しては処理負荷を低く抑える(相対的に音質を低くする)ことによって処理時間を低減し、その処理時間を低減した分を重要度の高い部分の処理時間に振り分けて、重要な言葉を聞き取りやすい合成音声を生成する。
【発明の効果】
【0010】
本発明によれば、合成音声の重要な言葉を聞き取りやすくすることができる。
【図面の簡単な説明】
【0011】
【図1】第1実施の形態に係る音声合成装置のハードウェア構成を示すブロック図である。
【図2】第1実施の形態に係る音声合成装置の機能を示すブロック図である。
【図3】テキスト解析部の動作を示す説明図である。
【図4】合成用ターゲットの一例を示す説明図である。
【図5】合成処理管理部の動作を示す説明図である。
【図6】音素決定ルールの一例を示す説明図である。
【図7】波形生成部の動作を示す説明図である。
【図8】次回合成音素の決定処理および目標終了時刻の設定処理を説明するための説明図である。
【図9】次回合成音素の決定処理および目標終了時刻の設定処理を説明するための説明図である。
【図10】次回合成音素の決定処理および目標終了時刻の設定処理を説明するための説明図である。
【図11】次回合成音素の決定処理および目標終了時刻の設定処理を説明するための説明図である。
【図12】次回合成音素の決定処理および目標終了時刻の設定処理を説明するための説明図である。
【図13】次回合成音素の決定処理および目標終了時刻の設定処理を説明するための説明図である。
【図14】次回合成音素の決定処理および目標終了時刻の設定処理を説明するための説明図である。
【図15】音声合成装置による音声合成処理のタイミングを模式的に示す図であり、(a)は、従来技術による音声合成処理の場合を表し、(b)は、本実施の形態による音声合成処理の場合を表す。
【図16】第2実施の形態に係る音声合成装置の機能的構成を示すブロック図である。
【図17】第3実施の形態に係る音声合成装置の機能的構成を示すブロック図である。
【図18】テキスト変更ルールの一例を示す説明図である。
【図19】テキスト解析部の動作を示す説明図である。
【発明を実施するための形態】
【0012】
以下に添付図面を参照して、この発明に係る音声合成装置および音声合成方法の好適な実施の形態を詳細に説明する。
【0013】
(フレームワーク)
本実施の形態に係る音声合成装置および音声合成方法は、音声合成するテキストの文脈に従って、テキスト中の各部分(具体的には、各単語)の重要度を、テキスト全体の内容理解への寄与の大きさによって推定する。そして、音声合成装置および音声合成方法は、重要度の高い部分(単語)は大きなリソースを充てて高音質で合成し、重要度の低い部分(単語)を合成する際には音質を犠牲にしてリソースを削減し、リアルタイム性を維持する。
【0014】
本発明において、このように内容理解への寄与の大きさによって各単語の重要度を推定する理由は、人間の会話においては、単語の重要度を考慮した発話を行うことによって、発話の内容の理解度を高めていると考えられるためである。具体的には、人間の会話において、話し手は、自分の発話意図に沿って、単語の強調度(重要度)を細かく制御していると推測される。また、聞き手は、話し手によって単語の強調度(重要度)が制御された発話を聞いて、キーワードと思われる単語を拾ってつなげることで、内容の理解を行っていると推測される。
【0015】
このような発話の態様を、カーナビゲーション装置等の合成音声の発話に置き換えて説明する。例えば、カーナビゲーションで頻繁に使用されるフレーズの例として、「前方300メートル先、右に曲がります。」では、そのフレーズ中の単語「300」および「右」は重要な情報を有しているが、他の単語は特に聞き取れなくても支障がないと考えられる。そのため、合成音声の内容の理解を高めるためには、「300」および「右」の2つのキーワードは、他の単語より高品質に合成する。一方で、他の単語を合成する際には、処理負荷を抑えるために、低品質で合成する。
【0016】
したがって、本実施の形態に係る音声合成装置および音声合成方法は、単語の重要度に応じて処理負荷を変化させることによって、リアルタイム性を維持しながら、重要な言葉を聞き取りやすい合成音声を生成することができる。なお、処理負荷とは、例えば、CPU、メモリ、通信装置等のリソースの使用量である。また、処理負荷の変化とは、例えば、音声合成処理時の量子化精度の変更、周波数の帯域制限の変更、言語辞書のサイズ変更、音声データのサイズ変更、処理アルゴリズムの変更、合成対象とするテキストの長さの変更等によってもたらされる。また、テキスト中の部分の単位としては、段落、文、フレーズ、単語、音素等が考えられるが、本実施の形態では、単語(形態素)で区切られているものとして説明する。
【0017】
(概要)
はじめに、本実施の形態の概要について、図15を用いて説明する。図15(a)は、比較例として、従来技術による音声合成処理の場合を表し、図15(b)は、本実施の形態による音声合成処理の場合を表している。図15は、「前方300メートル先、右に曲がります」というテキストデータの単語の合成音声を処理するときの順番を模式的に表したものである。なお、横軸は時刻(t)、縦軸は音声合成処理に割り当て可能なリソースとしてCPU占有率で表している。重要度は、数値が大きいほど、高品質の合成音声を生成するために、その処理に大きなリソースを充てる必要があることを表している。CPU占有率欄において記載されたハッチングおよびドットの表記は、凡例欄に記載の表記に対応する単語について合成処理が実行されたことを表している。また、単語を区切る縦線は、リアルタイム性を維持するために、合成処理が終了しなければならない時刻を示す目標終了時刻を表している。例えば、単語「ぜんぽう」と単語「さんびゃく」との間の縦線は、単語「ぜんぽう」の合成処理が終了しなければならない時刻を示す目標終了時刻を表している。なお、滑らかな曲線は、CPU占有率の変化を表している。したがって、図15では、処理負荷は、CPU占有率を時刻方向に積分した面積に相当するとみなせる。すなわち、図15中のハッチングおよびドットを付した領域は、各単語の合成処理に費やされた負荷量を表している。
【0018】
図15(a)に示すように、従来の合成処理は、テキストデータの単語の並び順に実行されていた。そのため、重要度4の「みぎ」に対する処理負荷(面積)は、重要度2の「ぜんぽう」や重要度1の「まがります」に対する処理負荷(面積)の方より小さくなってしまう。すなわち、重要度の高い単語であるにも拘わらず、大きなリソースを充てることができずに、低品質で合成することになってしまうといったリスクが生じていた。
【0019】
それに対して、図15(b)に示す本実施の形態における合成処理は、重要度の低い単語は、相対的に低品質で合成音声を生成するので小さなリソースで処理可能であり、短時間で処理が終了する。そのため、その単語の処理が早く終わった場合には、余った時間において、相対的に重要度の大きい単語の処理を実行する。したがって、重要度の高い単語には、大きなリソースを充てることができる。
【0020】
図15(b)では、具体的には、最初の単語「ぜんぽう」は重要度がやや低い(重要度2)ので短時間で合成処理が終了する。そのため、単語「ぜんぽう」の目標終了時刻までの余った時間を、重要度がやや高い単語(重要度3)「さんびゃく」の合成処理に充てることができる。さらに、単語「さんびゃく」の合成処理が目標終了時刻より早く終わった場合には、重要度が高い単語(重要度4)「みぎ」の合成処理を実行してしまう。また、単語「めーとる」の合成処理が目標終了時刻より早く終わった場合にも、重要度が高い単語(重要度4)「みぎ」の合成処理を実行してしまう。このように、本実施の形態における合成処理は、重要度の低い単語に対しては処理負荷を低く抑える(相対的に音質を低くする)ことによって処理時間を低減し、その処理時間を低減した分を重要度の高い音素の処理時間に振り分けて、重要な単語を聞き取りやすい合成音声を生成することができる。
【0021】
(第1実施の形態)
第1実施の形態に係る音声合成装置のハードウェア構成について、図1を用いて説明する。また、第1実施の形態に係る音声合成装置の機能について、図2を用いて説明する。
【0022】
(音声合成装置10のハードウェア構成)
図1に示すように、音声合成装置10は、CPU611、主記憶装置であるメモリ612、記憶装置620、入力I/F(インタフェース)631、ネットワークに接続する通信I/F632、スピーカに接続する音声出力I/F641によって構成され、これらの構成部はバス650によって相互に接続されている。音声合成装置10は、例えば、カーナビゲーション装置、携帯電話機、パーソナルコンピュータ等のデバイスに、音声合成処理ユニットとして組み込まれている。そのため、図1に示した各ハードウェアは、音声合成装置10が組み込まれたデバイスの構成を用いて実現しても良いし、音声合成装置10が組み込まれたデバイスとは別個に設けられていても良い。
【0023】
CPU611は、音声合成装置10の全体の制御を司る。メモリ612は、CPU611のワークエリアとして使用される。記憶装置620は、不揮発性の記憶媒体であり、具体的には、例えば、HDD(ハードディスク)、FD(フレキシブルディスク)、フラッシュメモリ等を用いることができる。記憶装置620には、例えば、後記する音声合成処理に用いられる言語解析プログラムや単語の重要度推定プログラム等の各種プログラム、言語解析モデルや重要度解析モデル等の各種データが記録される。
【0024】
入力I/F631は、キーボードやマウス等の入力装置(不図示)を接続するインタフェースであり、入力装置からテキストデータの入力を受け付ける。通信I/F632は、有線または無線を介してネットワークに接続するインタフェースである。音声出力I/F641は、スピーカを接続するインタフェースであり、合成した音声信号を出力する。
【0025】
(音声合成装置10の機能的構成)
次に、音声合成装置10の機能について、図2を用いて説明する。図2に示すように、音声合成装置10は、テキスト入力部100、テキスト解析部200、合成処理管理部300、波形生成部400、デバイス状態取得部500、音声出力部600によって構成される。
【0026】
テキスト入力部100は、テキストデータの入力を受け付けるインタフェースであり、例えば、キーボードやネットワークを接続するインタフェース等である。テキスト入力部100がキーボードを接続するインタフェースである場合、テキストデータは、例えばユーザによってキーボードのキーが押下されることによって受信される。また、テキスト入力部100がネットワークを接続するインタフェースである場合、テキストデータは、例えばニュース配信サービスによって配信される情報データとして受信される。
【0027】
テキスト解析部200は、言語解析部210、重要度推定部220、ターゲット付与部230によって構成される。言語解析部210は、公知の言語解析モデルを用いて、テキスト入力部100から入力されるテキストデータを分析し、形態素情報や韻律境界情報等の言語情報を含む中間言語(合成用記号列)を生成する。重要度推定部220は、公知の単語の重要度解析モデルを用いて、文脈から発話意図を推定し、単語(日本語では、形態素を指す)ごとに文の理解に寄与する大きさに応じて重要度を推定し、重要度付き中間言語を生成する。ターゲット付与部230は、公知のターゲット付与モデルを用いて、重要度推定部220において生成された重要度付き中間言語を分析し、コンテキスト環境情報から韻律情報を予測する。この予測処理によって、同じ音素であっても、韻律に関する音響的な特徴量を、コンテキスト(文脈的な要因)に依存して変化させることができる。
【0028】
合成処理管理部300は、音素決定部310および終了時刻決定部320によって構成される。音素決定部310は、次に合成する最小単位(一般的に音素および音節となるが、以下の説明では音素とする)を決定する。終了時刻決定部320は、音素ごとに合成処理が終了すべき時刻(以下、目標終了時刻という)を決定する。なお、時刻とは、日本標準時等の絶対時刻で表現しても構わないが、以降の説明では、テキスト入力部100が一連のテキストの先頭を受信した時刻を基準にした相対時刻で表現するものとする。
【0029】
波形生成部400は、合成処理部410および負荷制御部420によって構成される。合成処理部410は、合成処理管理部300から出力された音素(以降、単に音素と言った場合でも、音素とその付属情報を指す)の音声波形信号(音声合成信号)を生成する。ここで、付属情報とは、図4に示す韻律特徴、音韻特徴量、コンテキスト特徴等である。負荷制御部420は、後記するデバイス状態取得部500から取得したデバイス状態を分析し、合成処理部410の処理に充てるリソース(CPU占有率、メモリ使用量、ディスクアクセス頻度等)を制御する。
【0030】
デバイス状態取得部500は、音声合成装置10を搭載したデバイスについて、所定の時刻における負荷等の状態(デバイス状態)に関する情報を獲得する。デバイス状態とは、例えば、CPU使用率、メモリ使用率、ディスクアクセス頻度、ネットワーク通信速度、同時実行している他のアプリケーションの稼働状況等である。
【0031】
音声出力部600では、波形生成部400で生成された音声波形信号を出力する装置であり、例えば、スピーカやヘッドフォンを接続するインタフェース、ネットワークを接続するインタフェース等が挙げられる。音声出力部600は、波形生成部400から受信した音声波形信号を一旦出力バッファに記憶し、音声波形信号の出力順を調整する。音声出力部600がスピーカやヘッドフォンを接続するインタフェースである場合、音声波形信号は、スピーカやヘッドフォンにおいて音波に変換され合成音声として出力される。また、音声出力部600がネットワークを接続するインタフェースである場合、音声波形信号は、例えばネットワークワークを介して、他の情報端末に配信される。
【0032】
図2に示した音声合成装置10の各構成部は、図1における記憶装置620に記録されたプログラムやデータを用いて、CPU611が所定のプログラムを実行することによってその機能を実現する。
【0033】
(各構成部の動作)
音声合成装置10の各構成部の動作の詳細について以下に説明する。
まず、テキスト解析部200の動作について、図3を用いて説明する。図3において、まず、テキスト解析部200の言語解析部210は、テキスト入力部100(図1参照)からテキストデータ101を受信する。
言語解析部210は、事前に作成された言語解析モデル212を用いて、テキストデータ101を中間言語211に変換する。ここで、中間言語211には、少なくとも、テキストの読みを示す発音記号が含まれる。この他、中間言語211には、品詞情報、韻律境界情報、構文情報、アクセント型等の中間言語情報が含まれていることが望ましい。なお、言語解析部210は、テキストデータ101の一部に既に中間言語情報が付加されている場合は、付加されている中間言語情報をそのまま用いることができるものとする。つまり、中間言語は、予め設定されていても構わない。
【0034】
例えば、テキストデータ101が「これは合成音声です」である場合、言語解析部210は、このテキストデータ101を、中間言語211として「(k%o)(r%e)/(w%a)#(g%oo)(s%ee)/(o%N)(s%ee)/(d%e)(s%u)」に変換する。ただし、%は音素境界、()に囲まれた範囲はモーラ、/は単語境界、#はアクセント句境界をそれぞれ表している。
【0035】
重要度推定部220は、言語解析部210で生成された中間言語211を取得して、事前に作成された重要度解析モデル222を用いて、中間言語211に含まれるすべての単語の重要度を推定する。ただし、テキストデータ101の一部または全部の単語に、重要度情報が付加されている場合、重要度推定部220は、付加されている重要度情報をそのまま用いることができるものとする。つまり、単語の重要度は、予め指定されていても構わない。そして、重要度推定部220は、推定した重要度の情報を中間言語211に付加して、重要度付き中間言語221としてターゲット付与部230に出力する。
【0036】
重要度解析モデル222は、カーナビゲーション装置のように合成する音声の文型が決まっている場合には、専門家が経験に基づいて手作業で作成する手法が有効であると考えられる。また、合成音声をニュースの読み上げ等に用いる場合は、重要度解析モデル222は、統計的手法で作成する規則群を用いて、文脈やトピック等から、単語の重要度を推定可能なモデルであることが好ましい。
【0037】
例えば、前記した「これは合成音声です」というテキストデータ101の場合、その発話意図によって、単語の重要度が異なることがある。以下に、その具体例として、ケース1A,1Bについて説明する。
【0038】
ケース1A:テキストデータ101が、“現在再生されている音声は人間の発した肉声ではなく、機械で合成した音声である”という意図を持っている場合、「合成」がキーワードであり、「{2}(k%o)(r%e)/{1}(w%a)#{4}(g%oo)(s%ee)/{3}(o%N)(s%ee)/{1}(d%e)(s%u)」のようになる。ただし、{ }に囲まれる数字は単語の重要度を表しており、数字が大きくなるにつれ重要度が高くなることを表している。以下、単語の重要度は、数字が大きいほど高いものとして説明する。
【0039】
ケース1B:テキストデータ101が、“いくつかのある音声の中で、ほかの音声ではなく、現在再生されている音声が合成音声である。”という意図を持っている場合、「これ」がキーワードであり、「{4}(k%o)(r%e)/{1}(w%a)#{2}(g%oo)(s%ee)/{2}(o%N)(s%ee)/{1}(d%e)(s%u)」のようになる。
【0040】
ターゲット付与部230は、重要度付き中間言語221を取得し、事前に学習したターゲット付与モデル232を用いて、単語の重要度やコンテキスト情報等を考慮し、音素ごとに合成用ターゲット231を生成する。ターゲット付与部230は、生成した合成用ターゲット231を、図3中Aの先の合成処理管理部300(図5参照)に出力する。なお、ターゲット付与モデル232は、音韻モデル、パワーモデル、F0(基本周波数)モデル、継続長モデル等を備えている。
【0041】
ここでの合成用ターゲット231とは、合成の目標となる特徴量のことである。一般的に、合成用ターゲット231には、基本周波数(F0)、パワー、継続長、音韻特徴(スペクトル)、コンテキスト特徴等が含まれる。ただし、入力された中間言語の一部に合成用ターゲット231の情報が付加されている場合、ターゲット付与部230は、付加されている合成用ターゲット231の情報をそのまま用いて合成用ターゲット231を生成することができるものとする。つまり、合成用ターゲット231は、予め設定されていても構わない。
【0042】
ターゲット付与部230は、例えば、前記したケース1Aの中間言語「{2}(k%o)(r%e)/{1}(w%a)#{4}(g%oo)(s%ee)/{3}(o%N)(s%ee)/{1}(d%e)(s%u)」を、図4に示すような合成用ターゲット231に変換する。
【0043】
図4において、合成用ターゲット231は、音素情報2311、韻律特徴情報2312(F0情報2313、継続長情報2314、パワー情報2315)、音韻特徴量情報2316、コンテキスト特徴情報2317、重要度情報2318を含んでいる。
【0044】
例えば、1行目の音素kに対しては、F0情報2313として出力開始時100Hz、出力終了時120Hz、継続長情報2314として20ms、パワー情報2315として50、音韻特徴量情報2316として2.5,0.7,1.8,・・、コンテキスト特徴情報2317として、×−k−o−2−4−6−1・・、重要度情報2318として2、という情報が付与されている。なお、図4において、音韻特徴量情報2316は周波数スペクトルを、コンテキスト情報2317は前後の音素(ただし、×印は音韻kの前に音素が無いことを表している)および品詞情報を、それぞれ示している。
【0045】
次に、合成処理管理部300の動作について、図5を用いて説明する(適宜、図2,3参照)。合成処理管理部300は、音素決定部310と終了時刻決定部320とを備えている。図5において、音素決定部310は、ターゲット付与部230から出力された合成用ターゲット231を取得する(図5中Aの入力)。そして、音素決定部310は、後記する音素決定ルール312a(図6参照)に基づいて、後記する波形生成部400の合成処理部410(図7参照)において、次に合成(波形生成)する音素(以下、次回合成音素という)を決定する。
【0046】
音素決定部310は、次回合成音素として、(1)取得した合成用ターゲット231の先頭音素(先頭の音素)315、(2)既に合成(波形生成)終了している音素の次に再生される後続音素314、(3)テキストデータ101中のまだ合成(波形生成)終了していない音素のうち、より重要度が高い重要音素313、のいずれかを決定する。具体的には、音素決定部310は、以下のように次回音声音素を決定する。
【0047】
ケース2A(図5中Aの入力):音素決定部310は、テキスト解析部200から新たに合成用ターゲット231を取得した場合、取得した合成用ターゲット231の先頭音素315を次回合成音素として決定する。
【0048】
ケース2B(図5中Dの入力):音素決定部310は、後記する合成処理部410(図7参照)における処理の途中で、次回合成音素のための合成開始時刻が来てしまった場合等の理由によって処理が戻された場合(図7中Dの出力)、既に合成終了している音素の次に後続する後続音素314(次に再生される音素であって、重要音素313も含まれる)を次回合成音素として決定する。
【0049】
ケース2C(図5中Bの入力):音素決定部310は、後記する合成処理部410(図7参照)において、ある音素の合成用ターゲット231の処理が完了し、次の音素の処理のために処理が戻された場合(図7中Bの出力)、時間判定部311において、目標終了時刻から現在時刻を減算した値を示す残留時間が事前に設定した閾値より大きいか否かを判定する。残留時間が閾値以下の場合(判定部311でNo)、後続音素314を次回合成音素として決定する。一方、残留時間が閾値より大きい場合(判定部311でYes)、音素決定ルール参照部312が音素決定ルール312a(図6参照)に基づいて決定した重要音素313を次回合成音素として決定する。
【0050】
ここで、重要音素313とは、音素決定ルール参照部312が記憶している、音素決定ルール312a(図6参照)に従って決定された音素である。音素決定ルール312aは、例えば、図6に示す第1〜第3ルールとして示される。第1ルールは、「合成処理が終了していない音素のうち、重要度が最も高い音素かつ再生順が一番早い音素」を重要音素313とすることを規定している。第2ルールは、「合成処理が終了していない音素のうち、重要度が3よりも大きくかつ再生順が一番早い音素」を重要音素313とすることを規定している。第3ルールは、「合成処理が終了していない音素のうち、重要度が3よりも大きくかつ合成しにくい音素」を重要音素313とすることを規定している。合成しにくい音素とは、例えば、母音同士が隣り合って音韻が変化する場合等、合成処理に際して通常とは異なる処理を必要とする音素である。音素決定ルール参照部312は、例えば、第1〜第3ルールを番号が小さい順に適用し、ルールに該当する音素を重要音素313として次回合成音素を決定する。
【0051】
従来のリアルタイム音声合成システムでは、テキストの先頭から順番に音素を合成処理していた。それに対して、本実施の形態における音声合成装置10では、テキストの先頭から順番通りでなく、重要音素を先行して合成する場合がある。これは、処理負荷の変動の影響を受けにくくするようにして、重要な単語を高品質に合成するためである。前記したように、重要音素が処理される時間は、他の音素が目標終了時刻より早く合成終了した場合にも設定される。言い換えると、音声合成装置10では、重要度が高くない単語を合成する際には、もともと処理負荷を低減させているため、目標終了時刻よりも早い時刻に合成終了する場合がある。このような場合に、余った処理時間を用いて重要音素を合成処理することによって、音声合成装置10は、リソースの処理能力の変動の影響を受けにくくするようにして、重要な単語を高品質に合成することができる。
【0052】
図5の説明に戻り、終了時刻決定部320は、音素決定部310で決定された次回合成音素の種類に応じて、当該音素の合成処理を終了すべき時刻を示す目標終了時刻を決定する。
【0053】
具体的には、次回合成音素が先頭音素315である場合、終了時刻決定部320は、時刻設定部321において、事前に決められている音声出力応答時間(テキストが入力されてから、最初の音声が出力されるまでの時間)を目標終了時刻として設定する。なお、音声出力応答時間はユーザの指定、またはテキストの重要度によって決められる。時刻設定部321は、設定した目標終了時刻を終了時刻記憶部322に格納する。
【0054】
また、次回合成音素が後続音素314である場合、終了時刻決定部320は、時刻設定部321において、この音素の合成音声の再生が始まるべき時刻(この音素の音声波形501(図7参照)が音声出力部600から出力される時刻)を目標終了時刻として設定する。時刻設定部321は、設定した目標終了時刻を終了時刻記憶部322に格納する。
【0055】
また、次回合成音素が音素決定ルール参照部312によって決められた重要音素313である場合、終了時刻決定部320は、時刻設定部321における目標終了時刻の設定処理を行わず、現在終了時刻記憶部322に格納されている時刻を目標終了時刻とする。この理由は、当該重要音素313の合成処理は、他の音素が目標終了時刻(現在終了時刻記憶部322に格納されている時刻)よりも早く合成終了した場合の残り時間を用いて行われるためである。当該重要音素313の合成処理は、早く合成終了した他の音素の目標終了時刻(現在終了時刻記憶部322に記憶されている時刻)になったとき、またはその重要音素313の合成処理が完了したときに終了する。
【0056】
終了時刻決定部320で決定された目標終了時刻の情報(目標終了時刻情報)、および音素決定部310で決定された次回合成音素の情報(次回合成音素情報)は、合成用ターゲット231(図3参照)とともに、波形生成部400(図7参照)に出力される(図5中Cの出力)。
【0057】
次に、波形生成部400の動作について、図7を用いて説明する。図7に示すように、波形生成部400は、合成処理部410および負荷制御部420を備える。
合成処理部410は、合成処理管理部300から合成用ターゲット231、次回合成音素情報、および終了時刻情報を取得する(図7中Cの入力)。
そして、合成処理部410は、最終的に、音素の音声波形501を生成する。具体的には、合成処理部410は、次回合成音素情報に基づいて、次回合成音素として指定された音素の音声波形501を、複数のステップ(図7では、第1ステップから第NステップまでのN個のステップ)を実行することによって生成する。ここで、各ステップは、例えば、音声波形の候補を取捨選択する処理を段階的に表したものであって、第1ステップから第Nステップへ移るに従って、候補数を絞り込むような処理を表している。また、合成処理部410は、各ステップの処理負荷を変更できるようになっている。詳細は後記するが、合成処理部410は、各ステップを実行する前に、負荷制御部420にアクセスし、重要度およびデバイスの負荷状態に基づいて決定される負荷制御変数を取得し、この負荷制御変数に基づいて、各ステップの処理を実行する。
【0058】
負荷制御部420は、合成処理部410が実行する各ステップに対する負荷制御変数を決定する。負荷制御部420は、合成処理部410から負荷制御変数の要求を示すアクセスがあった場合、まず、負荷制御変数計算部421において、合成対象の音素の重要度に基づいて、負荷制御変数を計算する。例えば、負荷制御部420は、重要度が高い音素ほど高品質になる(リソースが大きくなる)ように負荷制御変数を設定する。また、負荷制御部420は、重要度が低い音素は、音質よりも合成処理に費やす処理負荷を低くすることを優先して負荷制御変数を設定する。
【0059】
次に、負荷制御部420の負荷制御変数修正部423は、デバイス状態取得部500から、現在時刻におけるデバイス情報を取得する(S422)。デバイス情報とは、例えば、その処理に割り当て可能なリソースの上限値である。そして、負荷制御変数修正部423は、デバイス情報に基づいて、負荷制御変数計算部421で算出した負荷制御変数を修正して、最終的な負荷制御変数を合成処理部410に出力する。
【0060】
なお、負荷制御部420は、合成対象の音素が先頭音素315または後続音素314の場合には、目標終了時刻内に合成終了する必要があるため、デバイス情報と残留時刻(目標終了時刻と現在時刻の差分)とを考慮して、目標終了時刻内に合成終了するように、負荷制御変数を設定する。
【0061】
図7において、合成処理部410は、1つの音素に対して、第1ステップ〜第NステップのN個のステップを順番に処理して、音声波形501を生成する。このとき、合成処理部410は、第1ステップを実行する前に、負荷制御部420にアクセスし(S411)、第1ステップに対する負荷制御変数を取得する(S412)。合成処理部410は、負荷制御変数に基づいて第1ステップの処理を実行し、第1ステップの処理が終了すると、処理した音素が重要音素313であるか否かを判断する(S413)。処理した音素が重要音素313でない場合(S413でNo)、すなわち、処理した音素が先頭音素315か後続音素314である場合、合成処理部410は、第2ステップへと処理を進める。
【0062】
次に、合成処理部410は、第2ステップの開始前に負荷制御部420にアクセスし(S414)、第2ステップに対する負荷制御変数を取得して(S415)、その負荷制御変数に基づいて第2ステップの処理を実行する。
【0063】
S413において、処理した音素が重要音素313である場合(S413でYes)、合成処理部410は、残留時間が閾値より大きいか否かを判定する(S416)。そして、残留時間が閾値より大きいと判定した場合(S416でYes)、処理は第2ステップに進む。また、残留時間が閾値以下と判定した場合(S416でNo)、合成処理部410は、合成処理管理部300(図5参照)に処理を戻す(図7中Dの出力)。この図7中Dの出力を設ける理由は、重要音素313の合成処理を、目標終了時刻より前に合成終了した他の音素の残り時間においても実行しているので、残り時間がほとんど無くなった(閾値以下となった)場合には、処理を中断する必要があるためである。このとき、合成処理部410は、処理途中の音素について、既に実行した実行済みのステップの処理内容を記憶しておく。そして、合成処理部410は、処理途中の音素の合成処理を再開する際には、実行済みのステップの次のステップから実行する。
【0064】
合成処理部410は、前記したような第1ステップから第2ステップに至るまでの処理と同様の処理を第Nステップまで繰り返し、1つの音素に対して、N個のステップを順番に実行して当該音素の音声波形501を生成する。また、合成処理部410は、テキストデータ101(図3参照)について、未処理の音素があるか否かを判定する(S417)。未処理の音素があると判定した場合(S417でNo)、合成処理部410は、音素決定部310に処理を戻し(図7中Bの出力)、音声波形の合成処理を継続する。また、未処理の音素がないと判定した場合(S417でYes)、合成処理部410は、合成処理を終了する。
【0065】
合成処理部410によって生成された音声波形501は、音声出力部600(図2参照)に出力され、音声出力部600において、図示しない出力バッファに格納され、リアルタイム性を維持するように、所定のタイミングでスピーカ等に出力される。
【0066】
ここで、図5に示した合成処理管理部300および図7に示した波形生成部400における処理の具体例について、図8〜14を用いて説明する(適宜、図5,7参照)。
図8の合成用ターゲット810は、音素決定部310に入力される合成用ターゲット231(図3参照)の一例である。合成用ターゲット810は、「前方300メートル先、右に曲がります」というテキスト中の「前」および「3」について示し、その他は記載を省略している。なお、以降の説明においては、音素決定部310の時間判定部311において用いられる閾値は20ms、音声出力応答時間(テキストが入力されてから、最初の音声が出力されるまでの時間)は200msであるものとする。
【0067】
まず、図5中Aの入力として、新たに合成用ターゲット810が入力された場合、音素決定部310は、先頭音素315である“z”を次回合成音素として決定する。図9は、次回合成音素として決定されたzの合成用ターゲット900を表している。そして、終了時刻決定部320は、音声出力応答時間である200msを目標終了時刻として設定する。図10は、目標終了時刻情報が付加されたzの合成用ターゲット1000を表している。合成処理部410は、合成用ターゲット1000を図7中Cの入力として用いてzの合成処理を行う。
【0068】
次に、合成処理部410において、先頭音素zの合成処理が終了すると、まだ未処理の音素が残っているため、図7中Bを経由して、音素決定部310に処理が返される(図5中Bの入力)。音素決定部310の時間判定部311は、このときの残留時間と閾値とを比較して、次回合成音素を決定する。
【0069】
例えば、残留時間が5msであった場合、閾値の20msより小さいため、音素決定部310は、zの後続音素314である“e”を次回合成音素として決定する。図11は、次回合成音素として抽出されたeの合成用ターゲット1100を表している。また、終了時刻決定部320は、前記したzの目標終了時刻(=200ms)にzの音声継続長の20msを足して、目標終了時刻を220msに設定する。図12は、目標終了時刻情報が付加されたeの合成用ターゲット1200を表している。
【0070】
また、別のケースとして、例えば、残留時間が50msであった場合、閾値の20msより大きいため、音素決定部310の音素決定ルール参照部312は、音素決定ルール312a(図6参照)を参照して、次回合成音素を決定する。具体的には、音素決定部310は、合成終了していない音素(図8中z以降の音素)のうち、最も重要度が高い音素(図8では重要度3の音素)、かつ再生順が一番早い音素であるsを重要音素313として、次回合成音素に決定する。図13は、次回合成音素として抽出されたsの合成用ターゲット1300を表している。また、終了時刻決定部320は、音素決定ルール参照部312によって決められた重要音素313については新たに目標終了時刻の設定を行わないため、zの目標終了時刻である200msを、そのままsの目標終了時刻として設定する。図14は、目標終了時刻情報が付加されたsの合成用ターゲット1400を表している。
【0071】
ただし、合成処理部410のS416等において残留時間が閾値以下と判定されて、重要音素313であるsの合成処理中に、合成処理部410の処理を図7中のDを経由して音素決定部310に戻した場合(図5中Dの入力)、既に合成終了しているzの後続音素314であるeを次回合成音素とする。
【0072】
前記したように、音声合成装置10は、ある音素の合成処理が目標終了時刻よりも早い時刻に終了した場合に、余った処理時間を用いて重要音素313の合成処理を行う。これにより、音声合成装置10は、処理負荷の変動の影響を受けにくくすることができ、重要な単語を高品質に合成することができる。
【0073】
次に、音声合成装置10による音声合成処理のタイミングについて、図15を用いて説明する。図15において、横軸は時刻(t)、縦軸は音声合成処理10のリソース例としてCPU占有率を表している。CPU占有率は、CPUが音声合成処理に割り当て可能なリソースの上限を示し、CPUが実行する他の処理との関係に基づいて決められるものである。CPU占有率欄において記載されたハッチングおよびドットの表記は、凡例欄に記載の表記に対応する単語について合成処理が実行されたことを表している。また、各単語を区切る縦線は、各単語の合成処理の目標終了時刻を示す。図15(a)は、従来技術による音声合成処理を表し、図15(b)は、本実施の形態に係る音声合成装置10による音声合成処理を表している。なお、図15中のハッチング等を付した領域は、各単語の合成処理に費やされた負荷量を表している。
【0074】
また、図15は、「前方300メートル先、右に曲がります」というテキストを音声合成する場合の例を示している。テキスト中の各単語の重要度は、「ぜんぽう」、「さんびゃく」、「めーとる」、「さき」、「みぎ」、「に」、「まがります」に対して、それぞれ2,3,2,1,4,1,1となっている。
【0075】
図15(a)に示す従来技術による音声合成処理の場合には、テキストに含まれる単語を、重要度によらず先頭から合成処理している。したがって、従来技術による音声合成処理では、リアルタイム性を維持するために、CPU占有率に応じて合成音声の品質を調節していた。すなわち、従来技術による音声合成処理では、CPU占有率が低く、音声合成処理に充てるリソースが少ない場合、合成音声の品質は低くされていた。図15(a)では、重要度が最も高い単語「みぎ」を合成するタイミングで、CPU占有率が相対的に低くなっているために、重要単語である「みぎ」の音質が相対的に悪くなり、重要な言葉を聞き取りにくくしている虞があった。
【0076】
それに対して、図15(b)に示す本実施の形態による音声合成処理の場合には、単語の重要度に応じて合成処理のリソースを設定し、重要度が低い単語は短時間で合成処理する。そして、本実施の形態による音声合成処理では、余った処理時間で重要な単語を優先的に合成処理する。これにより、本実施の形態に係る音声合成処理は、CPU占有率の変動の影響を受けにくくしつつ、重要な単語の品質を高く保つことができ、重要な言葉を聞き取りやすくすることができる。
【0077】
具体的には、図15(b)では、先頭の単語「ぜんぽう」は重要度がやや低い(重要度2)ので短時間で合成処理を終了し、余った時間(「ぜんぽう」の目標終了時刻までの間)すなわち、残留時間において、重要度がやや高い単語(重要度3)「さんびゃく」の合成処理を開始している。また、単語「さんびゃく」の合成処理が終了した際、単語「さんびゃく」の目標終了時刻まで時間が残っているので、重要度が高い単語(重要度4)「みぎ」の合成処理を開始している。このように、本実施の形態に係る音声合成装置10では、余った処理時間を用いて、重要な単語を先行して合成処理する。これにより、音声合成装置10では、リアルタイム性を確保しながら処理負荷の変動の影響を受けにくくしつつ、重要な単語を高品質に合成処理することができ、重要な言葉を聞き取りやすくすることができる。
【0078】
以上説明したように、第1実施の形態に係る音声合成装置10は、入力されたテキストデータ101を複数の部分(具体的には単語)に分割し、聴者が合成音声を聞き取る際の、部分ごとの理解への寄与の大きさに基づいて、それぞれの部分の重要度を推定する。次に、音声合成装置10は、合成処理を実行するときのデバイス状態および重要度に基づいて、処理負荷を決定する。そして、音声合成装置10は、重要度の低い音素に対しては処理負荷を低く抑える(音質を相対的に低くする)ことによって処理時間を低減し、その処理時間を低減した分を重要度の高い音素の処理時間に振り分けて、重要な言葉を聞き取りやすい合成音声を生成する。そのため、音声合成装置10は、リアルタイム性を確保しながらリソースの変動の影響を受けにくくしつつ、重要な単語を高品質に合成処理することができ、重要な言葉を聞き取りやすくすることができる。
【0079】
(第2実施の形態)
第2実施の形態に係る音声合成装置1600の機能的構成について、図16を用いて説明する。なお、図16中で、図2と同じ構成については、同じ符号を付し、説明を省略する。
音声合成装置1600は、通信部800を備え、音声合成するテキスト中の重要な部分を音声合成サーバ1610に送信して、その重要な部分の音声合成処理を音声合成サーバ1610に行わせる構成となっている。なお、音声合成サーバ1610は、合成処理のために潤沢なリソースを備えているものとする。そして、音声合成装置1600は、音声合成サーバ1610において高品質に合成された重要な部分の合成音声を、通信部800を経由して受信する。一方、音声合成装置1600は、音声合成するテキスト中の重要でない部分の音声合成処理は自装置内で実行する。これにより、音声合成装置1600は、リアルタイム性を確保しながら、重要な言葉を聞き取りやすい合成音声を生成することができる。
【0080】
音声合成装置1600は、第1実施の形態に係る音声合成装置10と同様、入力部100、テキスト解析部200、合成処理管理部300、波形生成部400a、デバイス状態取得部500、音声出力部600を備える。また、音声合成装置1600は、通信状態取得装置700および通信部800をさらに備える。
【0081】
通信状態取得装置700は、通信部800が置かれている通信状態に関する情報を取得する。また、通信部800は、有線および無線を問わず、音声合成サーバ1610と通信する。音声合成サーバ1610は、受信したテキスト中の重要な部分について音声波形を生成して、生成した音声波形を音声合成装置1600に送信する。音声合成サーバ1610で生成された音声波形は、音声合成装置1600で合成した音声よりも高音質であることが期待できる。なお、音声出力部600は、通信部800を経由して受信した重要な部分の音声波形と、自装置内で生成した音声波形とを、出力バッファ(不図示)に記憶し、正しい順番で出力する。
【0082】
また、音声合成装置1600の波形生成部400aは、第1実施の形態に係る音声合成装置10の波形生成部400(図2参照)と同様、合成処理部410および負荷制御部420を備える他、通信制御部430および合成手法決定部440を備える。通信制御部430は、通信部800の動作を制御する。
【0083】
合成手法決定部440は、通信状態取得装置700によって取得された通信状態に関する情報に基づいて、音声合成の手法を判断する。具体的には、合成手法決定部440は、例えば、テキスト内に含まれる単語単位で、自装置内または音声合成サーバ1610のどちらで音声波形を生成するかを判断する。
【0084】
合成手法決定部440は、例えば、通信状態が良いときは、重要度の低い音素でも音声合成サーバ1610で合成するように判断する。一方、通信状態が悪いときは、合成手法決定部440は、重要度の高い音素(重要度が所定値以上の音素)のみを、音声合成サーバ1610で処理すると判断する。また、極端な例として、通信措置800で全く通信ができない場合、合成手法決定部440は、すべての音素を音声合成装置1600内部で合成すると判断する。
【0085】
さらに、合成手法決定部440は、通信部800の通信状態に基づいて、音声合成サーバ1610との間でデータを送受信するタイミングや、データの送受信順序を決定するようにしても良い。例えば、合成手法決定部440は、重要な音素の送信するタイミングを時間軸上に分散させることによって、通信環境の変化に影響されにくくする。このような処理は、通信環境が不安定で、その変動が予測できないようなデバイス(例えば、カーナビゲーション装置等)に対して有効である。
【0086】
ここで、波形生成部400aの動作について、図16を用いて説明する。
図16において、波形生成部400aの合成手法決定部440は、合成処理管理部300の出力を取得し、通信状態取得装置700によって取得された通信状態に関する情報に基づいて、合成用ターゲット810(図8参照)内に含まれる単語を、音声合成サーバ1610で合成処理する単語と、自装置内で合成処理する単語とに分ける。
【0087】
自装置内で合成処理すると判断された単語は、合成処理部410において、第1実施の形態の場合と同様に処理され、音声波形501(図7参照)として音声出力部600に出力される。一方、音声合成サーバ1610で合成処理すると判断された単語は、通信制御部430によって、通信部800を介して音声合成サーバ1610に送信される。このとき、通信制御部430は、単語の送信タイミングや音声合成サーバ1610で生成された音声波形の受信タイミングを制御する。また、音声合成サーバ1610において合成処理された単語は、通信装置800を介して、音声波形501として音声出力部600に出力される。
【0088】
このように、第2実施の形態に係る音声合成装置1600(図16参照)は、通信状態取得装置700によって取得した通信状態に基づいて、入力されたテキストデータ101中の単語を、音声合成サーバ1610で合成処理する単語と、自装置内で合成処理する単語とに分ける。例えば、テキストデータ101中の重要な部分(単語)を音声合成サーバ1610に送信して高品質に処理し、音声合成サーバ1610から処理された音声波形501を取得する一方で、重要でない部分は自装置内で音声波形501を生成する。これにより、音声合成装置1600は、リアルタイム性を確保しながら、重要な言葉を聞き取りやすい合成音声を生成することができる。
【0089】
(第3実施の形態)
第3実施の形態に係る音声合成装置1700の機能的構成について、図17を用いて説明する。第3実施の形態に係る音声合成装置1700は、第1実施の形態の音声合成装置10の場合と同様、入力テキストの内容理解への寄与の大きさに基づいて各単語の重要度を推定する。そして、音声合成装置1700は、重要な単語については、そのまま合成処理するが、重要でない部分については、より短時間で合成処理できるようテキストの文言を変更してから合成処理する。この理由は、合成処理に充てるリソースが限られている場合においても、重要な単語の合成処理に充てるリソースを確保するためである。このような処理により、音声合成装置1700では、リアルタイム性を確保しながら重要な単語を高品質に合成することができるので、重要な言葉を聞き取りやすい合成音声を生成することができる。なお、図17では、図2に示した第1実施の形態に係る音声合成装置10と同様の構成部には同じ符号を付し、詳細な説明を省略する。
【0090】
図17に示すように、音声合成装置1700は、第1実施の形態に係る音声合成装置10(図2参照)と同様、入力部100、テキスト解析部200a、合成処理管理部300、波形生成部400、デバイス状態取得部500、音声出力部600を備える。
【0091】
ここで、音声合成装置1700のテキスト解析部200aは、第1実施の形態のテキスト解析部200と同様の構成である言語解析部210、重要度推定部220、ターゲット付与部230の他、合成時間評価部240、テキスト変更部250をさらに備えている。
【0092】
合成時間評価部240は、デバイス状態取得部500と接続されており、デバイス状態取得部500から取得したデバイスの状態情報に基づいて、単語の合成処理にかかる時間を予測し、その単語の合成処理が終了すると予測される時刻を示す予測時刻を算出する。そして、合成時間評価部240は、予測時刻と目標終了時刻とを比較して、予測時刻が目標終了時刻を越えるか否かを判定する。合成時間評価部240は、予測時刻が目標終了時刻を越えないと判定した場合、テキストデータをテキスト変更部250に出力する。
【0093】
また、テキスト変更部250は、後記するテキスト変更ルール1800(図18参照)に基づいて、テキストの内容理解に影響が小さい部分(すなわち、重要度が相対的に低い部分)の単語を、より短い時間で合成終了できるように変更する。
【0094】
ここで、テキスト変更ルール1800の一例について、図18を用いて説明する。図18に示すように、テキスト変更ルール1800は、ルール1として「丁寧語を普通形に変換」、ルール2として「助詞を削除」、ルール3として「副詞を削除」、ルール4として「長い単語を短い同意語略語に変換」、ルール5として「有声接続単語を無声接続単語に変換」等が挙げられる。これらのルールは、音声合成処理の処理負荷を相対的に低減させることができるものとして、統計的手法によって学習されたもの等を用いることができる。音声合成装置1700は、予測時刻が目標終了時刻以前となるまで、ルール1から順番にテキルト変更ルール1800を適用し、テキストの文言を変更する。
【0095】
テキスト解析部200aの動作について、図19を用いて説明する。なお、第3実施の形態において、テキスト解析部200a以外の構成部の動作は、第1実施の形態の場合と同様であるので詳細な説明を省略する。図19において、まず、テキスト解析部200aの言語解析部210は、入力部100(図2参照)からテキストデータ101を取得する。言語解析部210は、事前に作成された言語解析モデル212を用いて、テキストデータ101を中間言語211に変換する。
【0096】
重要度推定部220は、重要度解析モデル222を用いて、中間言語211に含まれるすべての単語の重要度を推定する。そして、重要度推定部220は、推定した重要度の情報を中間言語211に付加して、重要度付き中間言語221として合成時間評価部240に出力する。
【0097】
合成時間評価部240は、デバイス状態取得部500によって取得されたデバイス状態情報および合成時間評価モデル242に基づいて、単語の合成処理にかかる時間を予測し、その単語の予測時刻241を算出する。そして、合成時間評価部240は、予測時刻と目標終了時刻とを比較して、予測時刻が目標終了時刻を越えるか否かを判定する(S1901)。合成時間評価部240は、予測時刻が目標終了時刻を越えないと判定した場合(合成時間評価部240でYes)、テキストデータ101をテキスト変更部250に出力する。また、合成時間評価部240は、予測時刻が目標終了時刻を越えないと判定した場合(合成時間評価部240でNo)、第1実施の形態の場合と同様に、重要度付き中間言語221を、ターゲット付与部230に出力する。
【0098】
テキスト変更部250は、テキスト変更モデル252に記憶されているテキスト変更ルール1800(図18参照)に基づいてテキストデータ101を変更し、テキストデータ251を生成する。このとき、テキスト変更部250は、テキストに含まれる単語の重要度に基づいて、変更する部分(単語)を決定する。すなわち、テキスト変更部250は、重要度が高く、テキストの内容理解への寄与の大きさが大きい単語については変更せず、相対的に重要度が低い単語を優先的に変更して、テキストの内容理解が影響されないようにする。変更後のテキストデータ251は、再度、言語解析部210に入力され、単語の予測時刻241が目標終了時刻以前となるまで、テキスト変更の処理を繰り返す。
【0099】
このように、第3実施の形態に係る音声合成装置1700(図17参照)は、音声合成処理が終了する予測時刻が目標終了時刻を越えると判定した場合、デバイスの処理負荷が低くなるようにテキストデータ101(図19)を変更し、目標終了時間内に合成処理が終了するようにする。これにより、音声合成装置1700では、合成処理に充てるリソースが限られている場合においても、重要な単語の合成処理に充てるリソースを確保して高音質で合成処理することができ、リアルタイム性を確保しながら重要な言葉を聞き取りやすい合成音声を生成することができる。
【産業上の利用可能性】
【0100】
以上説明したように、本発明に係る音声合成装置および音声合成方法は、リアルタイム性が要求される音声合成処理を実行する情報処理端末に有効であり、特に、複数の処理が同時におこなわれ、リソースの処理能力の変動が予測でないようなデバイス(例えば、音声合成装置を音声案内の用途に用いるカーナビゲーション装置やナビゲーション装置等)に有効である。
【符号の説明】
【0101】
10,1600,1700 音声合成装置
100 入力部
200,200a テキスト解析部
210 言語解析部
220 重要度推定部
230 ターゲット付与部
240 合成時間評価部
250 テキスト変更部
300 合成処理管理部
310 音素決定部
320 終了時刻決定部
400,400a 波形生成部
410 合成処理部
420 負荷制御部
430 通信制御部
440 合成手法決定部
500 デバイス状態取得部(負荷状態取得部)
600 音声出力部
700 通信状態取得部
800 通信部
1610 音声合成サーバ(他の音声合成装置)

【特許請求の範囲】
【請求項1】
入力されたテキストを合成音声信号に変換する音声合成処理を実行する音声合成装置であって、
前記入力されたテキストを分割して複数の部分に分け、前記テキストの内容理解への寄与の大きさに応じて、前記部分の重要度を推定する重要度推定部と、
前記音声合成装置の処理負荷の状態を取得する負荷状態取得部と、
前記部分の合成音声信号を生成する処理を実行する際に、そのときの前記音声合成装置の処理負荷の状態および前記重要度に基づいて、前記部分の処理に充てる処理負荷を決定する負荷制御部と、
前記負荷制御部によって決定された前記処理負荷に基づいて、前記部分の合成音声信号を生成する処理を実行する合成処理部と
を備えることを特徴とする音声合成装置。
【請求項2】
前記重要度推定部は、前記寄与の大きさが大きいほど、前記重要度が高いと推定することを特徴とする請求項1に記載の音声合成装置。
【請求項3】
前記部分の合成音声信号を生成する処理を終了すべき時刻を示す目標終了時刻を、前記部分の韻律特徴から決定する終了時刻決定部と、
前記目標終了時刻から前記部分の合成音声信号を生成する処理が終了した時刻を減算した差分を示す残留時間と、所定の閾値とを比較する時間判定部と、
前記残留時間が前記閾値より大きい場合、未処理の前記部分の中で前記重要度の高い前記部分を選択し、前記残留時間が前記閾値以下の場合、前記テキスト中の前記合成音声信号を生成する処理が終了した部分に後続する前記部分を選択する音素決定部と、
をさらに備え、
前記合成処理部は、前記音素決定部によって選択された前記部分の合成音声信号を生成する処理を実行する
ことを特徴とする請求項2に記載の音声合成装置。
【請求項4】
前記音声合成装置の処理負荷の状態に基づいて、前記部分の処理が終了すると予測される時刻を示す予測時刻を算出し、前記予測時刻が前記目標終了時刻を越えるか否かを判定する合成時間評価部と、
前記予測時刻が前記目標終了時刻を越えると判定した場合、その部分の処理に充てる処理負荷を低減するように、前記テキストを変更するテキスト変更部と
をさらに備えることを特徴とする請求項3に記載の音声合成装置。
【請求項5】
前記負荷制御部は、前記部分の重要度が高いほど、当該部分の処理に充てる処理負荷を大きくする
ことを特徴とする請求項2ないし請求項4のいずれか一項に記載の音声合成装置。
【請求項6】
入力されたテキストを合成音声信号に変換する音声合成処理を実行する他の音声合成装置と通信する通信部と、
前記通信部の通信状態を取得する通信状態取得部と、
前記通信状態および前記重要度に基づいて、前記部分の合成音声信号を生成する処理を、前記合成処理部と前記他の音声合成装置のいずれで実行するかを決定する合成手法決定部と
をさらに備えることを特徴とする請求項1ないし請求項5のいずれか一項に記載の音声合成装置。
【請求項7】
請求項1ないし請求項6のいずれか一項に記載の音声合成装置を、音声案内の用途のために備えることを特徴とするナビゲーション装置。
【請求項8】
入力されたテキストを合成音声信号に変換する音声合成処理を実行する音声合成装置の音声合成方法であって、
前記音声合成装置は、
前記入力されたテキストを分割して複数の部分に分け、前記テキストの内容理解への寄与の大きさに応じて、前記部分の重要度を推定する重要度推定ステップと、
前記音声合成装置の処理負荷の状態を取得する負荷状態取得ステップと、
前記部分の合成音声信号を生成する処理を実行する際に、そのときの前記音声合成装置の処理負荷の状態および前記重要度に基づいて、前記部分の処理に充てる処理負荷を決定する負荷制御ステップと、
前記負荷制御ステップによって決定された前記処理負荷に基づいて、前記部分の合成音声信号を生成する処理を実行する合成処理ステップと
を備えることを特徴とする音声合成方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2013−3559(P2013−3559A)
【公開日】平成25年1月7日(2013.1.7)
【国際特許分類】
【出願番号】特願2011−138104(P2011−138104)
【出願日】平成23年6月22日(2011.6.22)
【出願人】(000005108)株式会社日立製作所 (27,607)