(57)【要約】【課題】タグ構造を有するテキストを読み上げる際に声質を切り替える音声合成装置及び音声合成プログラムを提供する。【解決手段】ブラウザに表示した（Ｓ１）文書の読み上げが要求されたら（Ｓ５：ＹＥＳ）、ＸＭＬパーサから解析木を取得する（Ｓ１０）。解析木に従って、ノード毎にタグの構造をチェックし、パラメータ変更テーブルに条件が指定されていれば、その変更値を取得し、変更後のパラメータとともに読み上げ文字列をバッファにセットする（Ｓ３５）。さらに、タグの種類をチェックし、そのタグ種類についてパラメータ変更テーブルに条件が指定されていれば、その変更値を取得し、変更後のパラメータとともに読み上げ文字列をバッファにセットする（Ｓ４０）。セットされた読み上げ文字列を指定のパラメータを用いて音声合成し（Ｓ４５）、出力する（Ｓ５０）。【選択図】図３
2009186498.tif 000002
【特許請求の範囲】
【請求項１】
タグ付テキストから合成音声を生成する音声合成装置であって、
前記テキストを言語解析して読み文字列を付与する読み文字列付与手段と、
前記読み文字列付与手段により付与された読み文字列に対応する音韻データ及び音韻パラメータを生成する音韻生成手段と、
前記タグ付テキストを当該タグに従って構文解析した結果を取得する取得手段と、
前記取得手段により取得した構文解析結果に基づき、所定のタグが付されたテキストについて、前記音韻生成手段により生成されたパラメータを変更する変更手段と、
前記変更手段により変更されたパラメータ、及び、前記音韻生成手段により生成された音韻データから合成音声を生成する音声合成手段とを備えたことを特徴とする音声合成装置。
【請求項２】
前記変更手段は、所定の名前のタグが付されたテキストについて前記パラメータを変更することを特徴とする請求項１に記載の音声合成装置。
【請求項３】
前記変更手段によりパラメータが変更されるタグの名前を指定する指定手段を備えたことを特徴とする請求項２に記載の音声合成装置。
【請求項４】
前記変更手段は、所定の属性を有するタグが付されたテキストについて前記パラメータを変更することを特徴とする請求項１乃至３のいずれかに記載の音声合成装置。
【請求項５】
前記変更手段は、所定のタグ構造を有するテキストについて前記パラメータを変更することを特徴とする請求項１乃至４のいずれかに記載の音声合成装置。
【請求項６】
前記変更手段は、表示形式を指定するタグが付されたテキストについて前記パラメータを変更することを特徴とする請求項１乃至５のいずれかに記載の音声合成装置。
【請求項７】
請求項１乃至６のいずれかに記載の音声合成装置の各種処理手段としてコンピュータを機能させるための音声合成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声合成装置及び音声合成プログラムに関するものであり、より具体的には、テキストに付されたタグに応じて合成音声の声質を切り替える音声合成装置及び音声合成プログラムに関する。
【背景技術】
【０００２】
一般に、テキストから合成音声を生成する場合、まず、テキストの形態素解析が行われ、その解析結果を用いて、音韻データ及びパラメータ（音韻継続時間、ピッチパターン、パワー）が生成される。そして、生成された音韻データが音韻データベースから引き出され、その音韻データとパラメータに従って合成音声が生成される。生成された合成音声の声質は、主にパラメータによって決定される。このため、複数の声質を用いたい場合には、パラメータを切り替えて生成する。
【０００３】
このようなパラメータの切り替えは、ユーザが好みに応じて切り替えてもよいが、テキストの属性（フォント、種類、内容、重要性、発生源など）や表示形態に従って異なる声質を出力するようにする方法も提案されている(特許文献１参照)。
【特許文献１】特開平１０−２６０８１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、テキストに付される属性の種類はそれほど多くない。一方、マークアップ言語では、表示のために各種のタグを用いて記載がなされている。読み上げにおいても表示に近い効果を得るために、タグに応じて声質を変えてテキストを読み上げたいという要望があった。
【０００５】
本発明は上記問題を解決するためになされたものであり、タグ構造を有するテキストを読み上げる際に声質を切り替える音声合成装置及び音声合成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の請求項１に記載の音声合成装置は、タグ付テキストから合成音声を生成する音声合成装置であって、前記テキストを言語解析して読み文字列を付与する読み文字列付与手段と、前記読み文字列付与手段により付与された読み文字列に対応する音韻データ及び音韻パラメータを生成する音韻生成手段と、前記タグ付テキストを当該タグに従って構文解析した結果を取得する取得手段と、前記取得手段により取得した構文解析結果に基づき、所定のタグが付されたテキストについて、前記音韻生成手段により生成されたパラメータを変更する変更手段と、前記変更手段により変更されたパラメータ、及び、前記音韻生成手段により生成された音韻データから合成音声を生成する音声合成手段とを備えたことを特徴とする。
【０００７】
また、本発明の請求項２に記載の音声合成装置は、請求項１に記載の発明の構成に加え、前記変更手段が、所定の名前のタグが付されたテキストについて前記パラメータを変更することを特徴とする。
【０００８】
また、本発明の請求項３に記載の音声合成装置は、請求項２に記載の発明の構成に加え、前記変更手段によりパラメータが変更されるタグの名前を指定する指定手段を備えたことを特徴とする。
【０００９】
また、本発明の請求項４に記載の音声合成装置は、請求項１乃至３のいずれかに記載の発明の構成に加え、前記変更手段が、所定の属性を有するタグが付されたテキストについて前記パラメータを変更することを特徴とする。
【００１０】
また、本発明の請求項５に記載の音声合成装置は、請求項１乃至４のいずれかに記載の発明の構成に加え、前記変更手段が、所定のタグ構造を有するテキストについて前記パラメータを変更することを特徴とする。
【００１１】
また、本発明の請求項６に記載の音声合成装置は、請求項１乃至５のいずれかに記載の発明の構成に加え、前記変更手段が、表示形式を指定するタグが付されたテキストについて前記パラメータを変更することを特徴とする。
【００１２】
また、本発明の請求項７に記載の音声合成プログラムは、請求項１乃至６のいずれかに記載の発明の各種処理手段としてコンピュータを機能させる。
【発明の効果】
【００１３】
本発明の請求項１に記載の音声合成装置は、テキストに付されたタグに従って構文解析した結果を取得し、付されたタグに応じて、テキストから生成される合成音声のパラメータを変更する。従って、タグに応じて合成音声の声質を切り替えることができ、タグ構成による表示の特徴を音声の違いで伝えることができる。
【００１４】
また、本発明の請求項２に記載の音声合成装置は、請求項１に記載の発明の効果に加え、タグの名前によりパラメータを変更できるので、タグの名前に声質を対応づけることができる。例えば、表中の特定の列だけ特徴づけて聞くことができる。
【００１５】
また、本発明の請求項３に記載の音声合成装置は、請求項２に記載の発明の効果に加え、パラメータを変更したいタグの名前を指定できるので、作成者の所望の声質で指定の箇所を読み上げさせるようにタグ付テキストを作成することができる。
【００１６】
また、本発明の請求項４に記載の音声合成装置は、請求項１乃至３のいずれかに記載の発明の効果に加え、タグの属性によりパラメータを変更できるので、例えば、リンク、イメージ、フォント等の場合に声質を変えるようにすることができる。
【００１７】
また、本発明の請求項５に記載の音声合成装置は、請求項１乃至４のいずれかに記載の発明の効果に加え、タグ構造によってパラメータを変更できるので、タグの階層、タグの繰り返し等によって表現される表示の特性を読み上げられる声質に対応させることができる。
【００１８】
また、本発明の請求項６に記載の音声合成装置は、請求項１乃至５のいずれかに記載の発明の効果に加え、表示形式を指定するタグによってパラメータを変更できるので、例えば、スタイルシートが指定されている場合は声質を変えるようにでき、表示の特徴を音声の違いでより明確に伝えることができる。
【００１９】
また、本発明の請求項７に記載の音声合成プログラムは、コンピュータに実行させることにより、請求項１乃至６のいずれかに記載の発明の作用効果を奏することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態を図面を参照して説明する。図１は、音声合成装置１００のハードウェアブロック図である。音声合成装置１００は、所謂パーソナルコンピュータである。図１に示すように、音声合成装置１００には、音声合成装置１００の制御を司るＣＰＵ１０が設けられ、ＣＰＵ１０には、各種のデータを一時的に記憶するＲＡＭ１１と、ＢＩＯＳ等を記憶したＲＯＭ１２とが接続している。ＣＰＵ１０には、バスを介して、ハードディスク装置１３、出力制御部１４、入力制御部１５、音声出力制御部１６が接続されている。出力制御部１４には、出力機器２４が接続され、入力制御部１５には入力機器２５が接続されている。出力機器２４とは、例えばディスプレイであり、入力機器２５とは、例えばマウスやキーボードである。音声出力制御部１６にはスピーカ２６が接続されている。
【００２１】
ハードディスク装置（ＨＤＤ）１３には、変更パラメータ記憶エリア１３１，音響モデル記憶エリア１３３，プログラム記憶エリア１３４，その他の情報記憶エリア１３５が少なくとも設けられている。変更パラメータ記憶エリア１３１には、読み上げの対象となる文章内に所定の条件を満たすタグが存在するときに音声パラメータを変更するための情報であるパラメータ変更テーブルが記憶されている。音響モデル記憶エリア１３３には、音声をスピーカ２６から出力するための複数の音響モデルが記憶されている。プログラム記憶エリア１３４には、ＣＰＵ１０で実行される各種のプログラムが記憶されている。その他の情報記憶エリア１３５には、音声合成装置１００で使用されるその他の情報が記憶されている。
【００２２】
次に、図２を参照して、ＨＤＤ１３の変更パラメータ記憶エリアに設けられているパラメータ変更テーブルについて説明する。図２は、パラメータ変更テーブルの構成を示す模式図である。パラメータ変更テーブルには、対象文中に指定されているタグや構造に応じて音声パラメータを変更するための情報が記憶されている。図２に示すように、パラメータ変更テーブルには、データ項目として「条件」、「パラメータ」、「補足文字列」が設けられている。「パラメータ」には、「音響モデル」，「パワー」，「ピッチ」，「スピード」，「音質」が設けられている。音声パラメータを変更するための条件としては、本実施形態では、「ユーザ指定」、「ＤＴＤ指定」、「スタイルシート指定」、「属性指定」、「補足指定」、「条件指定」、「タグ間の相対位置」、「タグ間の関係性」、「タグの深さ」を規定している。これらのうち、「ユーザ指定」、「ＤＴＤ指定」、「スタイルシート指定」、「属性指定」、「補足指定」、及び「条件指定」はタグの種類による条件である。「タグ間の相対位置」、「タグ間の関係性」、「タグの深さ」は、タグの構造による条件である。本実施形態では、読み上げ対象とされたＸＭＬ文書の解析結果を、タグ構造、タグ種類の順に調査し、該当する条件に合致した場合には、対応するパラメータに変更して、読み上げ文字列とともにパラメータをＲＡＭ１１にセットする。
【００２３】
以下、各条件について説明する。まず、「ユーザ指定」は、ユーザから任意に指定された読み上げ条件文字列である。文字列で指定を受け付け、その入力文を解析した結果に基づいてタグ名を取得し、そのタグに該当すれば、音響モデルを変更する。
【００２４】
「ＤＴＤ指定」は、ＤＴＤ宣言の中で指定されたタグかどうかの条件である。ＤＴＤ（Document Type Definition）は、「文書型定義」であり、ＸＭＬのようなマークアップ言語で文書を記述する際、その文書中でどのようなタグや属性が使われているかを定義したものである。例えば、ある要素直下での登場回数が必ず一回の要素、ある要素直下での登場は任意（？か＊）、ある要素直下で一回以上登場（＋）、ある要素直下での登場順序が任意の要素（｜）、ある要素の配下に子要素があるか等が定義できる。そこで、本実施形態では、図２に示すように、登場任意要素、１回以上登場要素、登場順序任意要素の３つをＤＴＤ指定対応タグとして、これらの要素がタグとして登場したときに、パラメータを変更することとしている。
【００２５】
「スタイルシート指定」は、スタイルシート内で指定されたタグかどうかの条件である。スタイルシートは、文書の見栄えに関する情報をひとまとめにした雛形である。スタイルシートを適用することで、複数の文書についての見栄えを統一したり、ＸＭＬ文書からレイアウトについての情報を分離して文書の構造のみを記述することができる。代表的なスタイルシートの言語としては、ＣＳＳ（Cascading Style Sheets）やＸＳＬ（Extensible Stylesheet Language）がある。尚、図７に示すスタイルシートは、ＸＳＬの例である。本実施形態では、図２に示すように、＜th＞タグ、＜td＞タグ、及び＜span＞タグの３つをスタイルシート指定タグとして、対象ノードがこれらのタグであった場合に、パラメータを変更することとしている。
【００２６】
「属性指定」は、特定の属性を有するタグかどうかの条件である。タグの属性としては、例えば、リンクタグ属性、イメージタグ属性、フォント指定属性などがある。図２に示すように、本実施形態では、リンクタグとイメージタグについて属性指定タグとし、対象ノードのタグがこれらの属性を有する場合には、パラメータ変更テーブルを参照して、パワーのパラメータを０．６とするように指定している。
【００２７】
「補足指定」は、読み上げる際にタグの種類を補足して読み上げた方が好ましいとして指定されているタグかどうかの条件である。例えば、リンクタグであれば、そのまま読み上げるよりも、「〜のリンクです」と補足した方が分かりやすくなる。図２に示すように、本実施形態では、＜a＞タグと＜img＞タグについて、補足指定タグとしている。＜a＞タグの場合には、パワーのパラメータを０．６とし、かつ、「のリンクです」の文字列を補足する。＜img＞タグの場合には、パワーのパラメータを０．６とし、かつ、「のイメージです」の文字列を補足する。
【００２８】
「条件指定」は、その他のタグで予め指定されているタグかどうかの条件である。例えば、＜rank＞タグで囲まれる数値が指定の値、例えば「３」より小さければ変更する等の設定ができる。本実施形態では、条件として、タグで囲まれた文字列の中に数値が含まれる場合に、その数値が正の値であるか負の値であるかによってパラメータを変更することにしている。図２に示すように、プラスの数値を囲むタグであれば、ピッチを１．２倍とし、マイナスの数値を囲むタグであれば、ピッチを０．８倍とする。
【００２９】
「タグ間の相対位置」は、タグの深さによる条件である。ＸＭＬ文書は、タグによって階層化して記載することができる。このタグの深さによる階層化は、表示の場合はインデントをつけたり、表形式にする等の表現により実現できるが、読み上げの場合は階層がわかりにくいので、タグの深さによって声質を変化させる。図２に示すように、タグの深さに応じて、パワー、ピッチ、スピード、音質の各パラメータは、タグの深さが「１」であれば１．１倍に、タグの深さが「２」であれば１．２倍に、タグの深さが「３」であれば１．３倍になる。
【００３０】
「タグ間の関係性」は、表構造のタグのように、同じタグが隣にあったり、同じ階層に違う名称のタグがあったり、といったタグの関係を規定する条件である。例えば、表構造の行の場合、隣同士が同じタグとなる。表構造の列の場合、同じ階層で違う名称のタグとなる。このように、表の場合に、読み上げによって列や行の変化がわかるように、ピッチのパラメータを変更する。
【００３１】
「タグの深さ」は、タグの相対的位置による条件である。相対的位置を指定するタグの場合、最上位がデフォルト値となり、最上位から２つ下ではパワーが０．９となる。また、最深部のタグでは、パワーは０．６となる。
【００３２】
次に、図３〜図９を参照して、音声合成装置１００における動作について説明する。図３は、音声合成処理のメイン処理のフローチャートである。図４は、音声合成処理の中で実行されるタグ構造チェック処理のフローチャートである。図５は、音声合成処理の中で実行されるタグ種類チェック処理のフローチャートである。図６は、ブラウザの表示画面の例を示す模式図である。図７は、ＸＭＬ文書の例を示す説明図である。図８は、スタイルシートの例を示す説明図である。図９は、解析木の例を示す模式図である。
【００３３】
本実施形態では、ＸＭＬ言語で記載された文書をブラウザに表示させ、それを読み上げる指示がユーザからなされたときにＸＭＬパーサから構文解析結果を取得し、取得した解析結果に従って、音声パラメータを適宜変更して音声を合成し、読み上げを行う。
【００３４】
メイン処理が開始されると、図３に示すように、まず、指定されたＸＭＬ文書をブラウザに表示させる（Ｓ１）。例えば、図７に示すＸＭＬ文書を表示させると、図８に示すスタイルシートが参照されて、図６のような画面となる。
【００３５】
次に、使用者から読み上げ要求が入力されたか否かを判断する（Ｓ５）。使用者からの入力は、画面上にボタンやメニューを設けて受け付けるようにすればよい。読み上げ要求が入力されなければ（Ｓ５：ＮＯ）、そのままの画面表示の状態で待機する。読み上げ要求が入力されれば（Ｓ５：ＹＥＳ）、ＸＭＬパーサから解析木を取得する（Ｓ１０）。
【００３６】
ＸＭＬパーサ（ＸＭＬプロセッサとも呼ばれる。）は、ＸＭＬ形式の文書やファイルから、テキストデータの部分だけを抜き出して、プログラムやアプリケーションソフトが利用しやすい形に変換するためのソフトウェアである。ＸＭＬの文書はＸＭＬで独自に定義されたタグを利用して記述されているが、ＸＭＬパーサはこれを特定の形式に変換して出力することができる。ＸＭＬパーサは、変換の過程で構文解析を行い、ＸＭＬの仕様に適合していない場合にはエラーを出力する。また、ＸＭＬパーサによっては、解析結果をツリー構造（解析木）で出力することができる。本実施形態では、このようにしてＸＭＬパーサから出力される解析木を取得して利用する。例えば、本実施形態では、図９のような解析木が取得されたとする。
【００３７】
次に、ユーザからの読み上げに関する指定があるか否かを判断する（Ｓ１５）。ユーザの指定としては、例えば、図６の表示画面中、「『個数』の列を強調して」というように、文字列で指定を受け付けることができる。このような指定がなされた場合には（Ｓ１５：ＹＥＳ）、入力文を解析し（Ｓ２０）、解析された結果に基づいて対応するタグ名を取得する（Ｓ２５）。例えば、上記例では、『個数』の列に対応するタグである「pieces」タグが取得される。ユーザ指定がなければ（Ｓ１５：ＮＯ）、そのままＳ３０に進む。
【００３８】
次に、変更パラメータ記憶エリア１３１に記憶されているパラメータ変更テーブルを取得してＲＡＭ１１内のワークエリアに置く（Ｓ３０）。次に、Ｓ１０で取得した解析木に従い、対象ＸＭＬ文書のタグ構造をチェックする（Ｓ３５）。
【００３９】
ここで、タグ構造チェック処理の詳細について、図４を参照して説明する。図４に示すように、まず、解析木のノード数ｉを０として初期化する（Ｓ１０１）。次に、ｉの値が全ノード数よりも小さいか否かを判断する（Ｓ１０５）。ｉの値が全ノード数よりも小さければ（Ｓ１０５：ＹＥＳ）、対象ノードのタグの深さに対応するパラメータ変更値をパラメータ変更テーブルから取得する（Ｓ１１０）。図２に示すように、タグの深さに応じて、パワー、ピッチ、スピード、音質の各パラメータは、タグの深さが「１」であれば１．１倍に、タグの深さが「２」であれば１．２倍に、タグの深さが「３」であれば１．３倍になる。
【００４０】
次に、対象ノードのタグが相対的位置を指定している（階層状に構成されている）ものかどうかを判断する（Ｓ１１５）。階層になっているタグであれば（Ｓ１１５：ＹＥＳ）、その階層に従って、対応するパラメータ変更値をパラメータ変更テーブルから取得する（Ｓ１２０）。図２に示すように、相対的位置を指定するタグの場合、最上位がデフォルト値となり、最上位から２つ下ではパワーが０．９となる。また、最深部のタグでは、パワーは０．６となる。
【００４１】
パラメータ変更値の取得後、もしくは、相対的位置を指定するタグでない場合には（Ｓ１１５：ＮＯ）、同じタグが隣にあるかどうかを判断する（Ｓ１２５）。例えば、図９の解析木では、「ｐａｎ」タグは隣同士が同じタグになっている。このような構造は、表構造の行の場合に発生する。このため、行であることが読み上げの場合にも表現されるように、パラメータを変更する。同じタグが隣にあれば（Ｓ１２５：ＹＥＳ）、対応するパラメータ変更値をパラメータ変更テーブルから取得する（Ｓ１３０）。すなわち、図２に示すように、行の変更とみなしてピッチを１．２倍する。
【００４２】
パラメータ変更値の取得後、もしくは、同じタグが隣にない場合には（Ｓ１２５：ＹＥＳ）、兄弟タグがあるかどうかを判断する（Ｓ１３５）。兄弟タグ、すなわち、図９の解析木の「name」タグ、「pieces」タグ、「size」タグ、「cc」タグ、「rank」タグ、「memo」タグのように、同じ階層で違う名称のタグがある場合には（Ｓ１３５：ＹＥＳ）、表構造の列となるので、これが読み上げの場合にも表現されるように、パラメータを変更する（Ｓ１４０）。すなわち、対応するパラメータ変更値をパラメータ変更テーブルから取得し、図２に示すように、ピッチを０．９倍とする。
【００４３】
パラメータ変更値の取得後、もしくは、兄弟タグがない場合には（Ｓ１３５：ＮＯ）、対象ノードのタグに子タグがあるかどうかを判断する（Ｓ１４５）。例えば、図９の解析木の「memo」タグには、子タグとして「keyword」タグ、「ref」タグがある。子タグがある場合には（Ｓ１４５：ＹＥＳ）、対応するパラメータ変更値をパラメータ変更テーブルから取得する（Ｓ１５０）。すなわち、図２に示すように、音質を０．３倍とする。
【００４４】
パラメータ変更値の取得後、もしくは、子タグがない場合には（Ｓ１４５：ＮＯ）、Ｓ１２０，Ｓ１３０，Ｓ１４０，Ｓ１５０で取得したパラメータ変更値を、読み上げ対象の文字列と対応させてＲＡＭ１１の読み上げ用バッファにセットする（Ｓ１５５）。
【００４５】
そして、ｉに１を加算して（Ｓ１６０）に戻り、ｉの値が全ノード数に達するまで上記の処理を繰り返し、全ノードの処理が終了したら（Ｓ１０５：ＮＯ）、音声合成処理（図３）に戻る。
【００４６】
タグ構造チェック処理（Ｓ３５）の終了後、次に、Ｓ１０で取得した解析木に従い、対象ＸＭＬ文書に含まれる各タグの種類をチェックする（Ｓ４０）。
【００４７】
ここで、タグ種類チェック処理の詳細について、図５を参照して説明する。図５に示すように、まず、解析木のノード数ｉを０として初期化する（Ｓ２０１）。次に、ｉの値が全ノード数よりも小さいか否かを判断する（Ｓ２０５）。ｉの値が全ノード数よりも小さければ（Ｓ２０５：ＹＥＳ）、対象ノードのタグがユーザに指定された種類のタグかどうかを判断する。ユーザ指定タグであれば（Ｓ２１０：ＹＥＳ）、パラメータ変更テーブルを参照して、ユーザ指定に対応するパラメータ変更値を取得する（Ｓ２１５）。図２に示すように、ユーザ指定タグの場合は、音響モデルを初期値の「model A」から「model B」に変更する。例えば、ユーザが、「『個数』の列を強調して」と指定した場合、図３のＳ２５で、『個数』の列に対応するタグである「pieces」タグがユーザ指定タグとして取得されている。そこで、対象ノードのタグが「pieces」タグの場合には、音響モデルが「model B」に変更される。
【００４８】
パラメータ変更値取得後、もしくは、対象ノードのタグがユーザ指定タグでなければ（Ｓ２１０：ＮＯ）、次に、ＤＴＤ指定対応タグかどうかを判断する（Ｓ２２０）。本実施形態では、上述のように、登場任意要素、１回以上登場要素、登場順序任意要素の３つをＤＴＤ指定対応タグとして、これらの要素がタグとして登場したときに（Ｓ２２０：ＹＥＳ）、パラメータを変更する（Ｓ２２５）（図２参照）。
【００４９】
例えば、図７のＸＭＬ文書の冒頭にあるＤＴＤ宣言では、＜!ELEMENT pans (pan+)＞となっているから、「pans」要素の中に、「pan」要素は１回以上登場するとされている。従って、対象ノードが「pan」タグの場合には、パラメータ変更テーブルを参照すると、ピッチが１．２倍となる。また、＜!ELEMENT pan (name,pieces,size,cc,rank,memo?)＞とあるから、「pans」要素の中に、「name」、「pieces」、「size」、「cc」、「rank」、「memo」の各要素は任意に登場する。従って、対象ノードがこれらのタグの場合には、パラメータ変更テーブルを参照すると、音質が０．５となる。
【００５０】
パラメータ変更値取得後、もしくは、対象ノードのタグがＤＴＤ指定対応タグでない場合には（Ｓ２２０：ＮＯ）、次に、スタイルシート指定対応タグかどうかを判断する（Ｓ２３０）。本実施形態では、上述の通り、また、図２に示すように、＜th＞タグ、＜td＞タグ、及び＜span＞タグの３つをスタイルシート指定タグとして、対象ノードがこれらのタグであった場合に（Ｓ２３０：ＹＥＳ）、パラメータを変更する（Ｓ２３５）。
【００５１】
例えば、図７のＸＭＬ文書では、ＤＴＤ宣言の後、＜?xml-stylesheet type="text/xsl" href="pans.xsl" ?＞とあり、「pans.xsl」というスタイルシート（図８参照）が指定されている。また、図８に示すように、スタイルシートでは、＜td＞タグに「name」、「pieces」、「size」、「cc」、「rank」、「memo」の各タグが適用されているので、対象ノードがこれらのタグの場合には、パラメータ変更テーブルを参照すると、ピッチが１．２倍となる。
【００５２】
パラメータ変更値取得後、もしくは、対象ノードのタグがスタイルシート指定タグでない場合には（Ｓ２３０：ＮＯ）、次に、属性指定タグかどうかを判断する（Ｓ２４０）。本実施形態では、上述のように、また、図２に示すように、リンクタグとイメージタグについて属性指定タグとし、対象ノードのタグがこれらの属性を有する場合には（Ｓ２４０：ＹＥＳ）、パラメータ変更テーブルを参照して、パワーのパラメータを０．６とする（Ｓ２４５）。
【００５３】
パラメータ変更値取得後、もしくは、対象ノードのタグが属性指定タグでない場合には（Ｓ２４０：ＮＯ）、次に、補足指定タグかどうかを判断する（Ｓ２５０）。補足指定タグは、読み上げる際にタグの種類を細くして読み上げた方が好ましいものである。本実施形態では、＜a＞タグと＜img＞タグについて、補足指定タグとしている。対象ノードのタグがこれらのタグの場合には（Ｓ２５０：ＹＥＳ）、パラメータ変更テーブル（図２）を参照して変更値を取得する。図２に示すように、＜a＞タグの場合には、パワーのパラメータを０．６とし、かつ、「のリンクです」の文字列を補足する。＜img＞タグの場合には、パワーのパラメータを０．６とし、かつ、「のイメージです」の文字列を補足する。
【００５４】
パラメータ変更値取得後、もしくは、対象ノードのタグが補足指定タグでない場合には（Ｓ２５０：ＮＯ）、次に、条件指定タグかどうかを判断する（Ｓ２６０）。条件指定タグは、本実施形態では、条件として、タグで囲まれた文字列の中に数値が含まれる場合に、その数値が正の値であるか負の値であるかによってパラメータを変更することにしている。このような条件指定に合致するタグの場合には（Ｓ２６０：ＹＥＳ）、パラメータ変更テーブルを参照して変更値を取得する（Ｓ２６５）。図２に示すように、プラスの数値を囲むタグであれば、ピッチを１．２倍とし、マイナスの数値を囲むタグであれば、ピッチを０．８倍とする。
【００５５】
パラメータ変更値取得後、もしくは、対象ノードのタグが条件指定タグでない場合には（Ｓ２６０：ＮＯ）、次に、タグで挟まれた中にテキストが含まれているかどうかを判断する（Ｓ２７０）。テキストが含まれていなければ（Ｓ２７０：ＮＯ）、代替文字列として「なし」を用意し（Ｓ２７５）、これを読み上げ文字列に加える。テキストが含まれている場合には（Ｓ２７０：ＹＥＳ）、そのままＳ２８０に進む。
【００５６】
以上でタグの種類に関するパラメータ変更値が取得されたので、これを各文字列と対応させて読み上げ用バッファにセットする（Ｓ２８０）。
【００５７】
そして、ｉに１を加算して（Ｓ２８５）に戻り、ｉの値が全ノード数に達するまで上記の処理を繰り返し、全ノードの処理が終了したら（Ｓ２０５：ＮＯ）、音声合成処理（図３）に戻る。
【００５８】
タグ種類チェック処理（Ｓ４０）の終了後、読み上げ用バッファに記憶されている読み上げ文字列、音声パラメータに従って、音響モデル記憶エリア１３３に記憶されている音響モデルを使用し、周知の方法で音声合成を行う（Ｓ４５）。そして、合成された音声をスピーカ２６から出力する（Ｓ５０）。以上でブラウザに表示されたＸＭＬ文書の読み上げが終了する。
【００５９】
以上説明したように、本実施形態の音声合成装置１００によれば、タグ付のＸＭＬ文書が表示されており、その読み上げが指示されたときに、そのタグの構造やタグの種類に応じて音声パラメータを変更し、変更された音声パラメータに従って音声合成を行って読み上げを行う。従って、表示に比べて表現が乏しくなりがちな音声による読み上げにおいても、メリハリをつけ、表示状態がわかるような工夫のなされた読み上げを行うことができる。従って、目の不自由なユーザや、今表示画面を注視することができないユーザに便宜を供することができる。
【００６０】
尚、上記実施形態において、Ｓ１０で解析木を取得するＣＰＵ１０が本発明の取得手段に相当する。また、Ｓ３５及びＳ４０でタグ構造チェック処理及びタグ種類チェック処理を実行するＣＰＵ１０が本発明の変更手段に相当する。また、Ｓ４５で音声合成処理を実行するＣＰＵ１０が本発明の音声合成手段に相当する。
【図面の簡単な説明】
【００６１】
【図１】音声合成装置１００のハードウェアブロック図である。
【図２】パラメータ変更テーブルの構成を示す模式図である。
【図３】音声合成処理のメイン処理のフローチャートである。
【図４】音声合成処理の中で実行されるタグ構造チェック処理のフローチャートである。
【図５】音声合成処理の中で実行されるタグ種類チェック処理のフローチャートである。
【図６】ブラウザの表示画面の例を示す模式図である。
【図７】ＸＭＬ文書の例を示す説明図である。
【図８】スタイルシートの例を示す説明図である。
【図９】解析木の例を示す模式図である。
【符号の説明】
【００６２】
１０      ＣＰＵ
１１      ＲＡＭ
１３      ハードディスク装置
１４      出力制御部
１００      音声合成装置
１３１      変更パラメータ記憶エリア
１３３      音響モデル記憶エリア
１３４      プログラム記憶エリア
【図１】
2009186498.tif 000003
【図２】
2009186498.tif 000004
【図３】
2009186498.tif 000005
【図４】
2009186498.tif 000006
【図５】
2009186498.tif 000007
【図６】
2009186498.tif 000008
【図７】
2009186498.tif 000009
【図８】
2009186498.tif 000010
【図９】
2009186498.tif 000011