(57)【要約】【課題】不自然な音声出力を抑制することのできる音声合成装置を提供する。【解決手段】文書データを音声データに変換して出力する音声合成装置であって、文書データにおける文書中の一文を抽出するとともに、文書データにおける文書中の段落の切れ目を検出する文書データ解析部１と、文書データ解析部１によって抽出された一文の文書データを音声データに変換してメモリ部３に蓄積する音声変換部２と、文書データ解析部１によって段落の切れ目が検出されたとき、音声変換部２によって蓄積された音声データを段落ごと連続的にメモリ部３から読み出して出力する出力制御部５とを備える。【選択図】　図１
2004021169.tif 000002
【特許請求の範囲】
【請求項１】
文書データを音声データに変換して出力する音声合成装置であって、
文書データにおける文書中の文字列から所定単位の単位文字列を抽出する単位文字列抽出手段と、
上記単位文字列抽出手段によって抽出された単位文字列の文書データを音声データに変換して順次、記憶手段に蓄積する変換蓄積手段と、
文書データにおける文書中の上記単位文字列よりも長い文字列からなるブロック間の所定の切れ目を検出する切れ目検出手段と、
上記切れ目検出手段によって所定の切れ目が検出されたとき、上記変換蓄積手段によって蓄積された音声データを上記切れ目で区切られたブロックごと連続的に上記記憶手段から読み出して出力する出力制御手段と、を備えることを特徴とする音声合成装置。
【請求項２】
上記記憶手段の蓄積容量がフルになるか否かを検出する容量検出手段と、
上記容量検出手段によって上記蓄積容量がフルになったことが検出された際に、上記記憶手段に所定単位の単位文字列に対応する音声データの途中までしか蓄積されなかったとき、当該文字列に対応する音声データを上記記憶手段から削除する削除手段とを備え、
上記出力制御手段は、上記切れ目検出手段によって所定の切れ目が検出されたとき、または上記削除手段によって音声データが削除されたとき、上記変換蓄積手段によって蓄積された音声データを上記切れ目で区切られたブロックごと連続的に上記記憶手段から読み出して出力する、請求項１に記載の音声合成装置。
【請求項３】
上記単位文字列抽出手段は、
上記削除手段によって音声データが削除され、かつ上記出力制御手段によって上記記憶手段に蓄積された音声データが出力された後、上記削除された音声データに対応する文字列から新たに抽出する、請求項２に記載音声合成装置。
【請求項４】
上記出力制御手段は、
上記文書中の所定の切れ目で区切られた音声データを出力し終えた後、少なくとも所定時間経過後に、次の区間における音声データを出力する、請求項１ないし３のいずれかに記載の音声合成装置。
【請求項５】
上記出力制御手段は、
直前の区間が上記削除手段によって音声データが削除された際の音声データ出力であった場合、上記所定時間経過を待たずに次の区間における音声データを出力する、請求項４に記載の音声合成装置。
【請求項６】
上記出力制御手段は、
上記文書データがＨＴＭＬ文書の場合、ＨＴＭＬ文書中のタグの種類に応じて上記所定時間を設定する、請求項４に記載の音声合成装置。
【請求項７】
上記切れ目検出手段は、文書データにおける文書中の段落を検出し、所定の切れ目と判別する、請求項１ないし６のいずれかに記載の音声合成装置。
【請求項８】
上記切れ目検出手段は、
上記文書データがテキスト文書の場合、一文の終端を示す文字の次に改行を示す文字が続き、かつ改行を示す文字の次に空白を示す文字が続くとき、段落の切れ目と判別する、請求項７に記載の音声合成装置。
【請求項９】
上記切れ目検出手段は、
上記文書データがテキスト文書の場合、一文の終端を示す文字の次に改行を示す文字が続き、かつ改行を示す文字の次にさらに改行を示す文字が続くとき、段落の切れ目と判別する、請求項７に記載の音声合成装置。
【請求項１０】
上記切れ目検出手段は、
上記文書データがＨＴＭＬ文書の場合、文書中において段落の終端を示すタグを検出したとき、段落の切れ目と判別する、請求項７に記載の音声合成装置。
【請求項１１】
文書データを音声データに変換して出力する音声合成装置を制御するためのコンピュータプログラムであって、
文書データにおける文書中の文字列から所定単位の単位文字列を抽出する単位文字列抽出プログラムと、
上記単位文字列抽出プログラムによって抽出された単位文字列の文書データを音声データに変換して順次、記憶手段に蓄積する変換蓄積プログラムと、
文書データにおける文書中の上記単位文字列よりも長い文字列からなるブロック間の所定の切れ目を検出する切れ目検出プログラムと、
上記切れ目検出プログラムによって所定の切れ目が検出されたとき、上記変換蓄積プログラムによって蓄積された音声データを上記切れ目で区切られたブロックごと連続的に上記記憶手段から読み出して出力する出力制御プログラムと、を含むことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子化された文書の内容を音声に変換して出力する音声合成装置、およびそれを制御するためのコンピュータプログラムに関する。
【０００２】
【従来の技術】
従来より、電子化された文書の内容を音声に変換して出力する音声合成装置が提案されている（たとえば、特開平８−３２８５８９号公報、特開平１１−２８８２９２号公報、特開２００１−１４１３７号公報参照）。このような音声合成装置の中には、たとえばファクシミリ装置に付加され、受信したファクシミリデータ（文書データ）を音声データに変換して音声として出力するものもある。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記ファクシミリ装置において、たとえば実際に文書データを文書中の一文ずつ音声データに変換して音声出力しているときに、ファクシミリデータを受信すると、そのファクシミリ装置に内蔵されたＣＰＵの処理能力によっては、ファクシミリデータの受信処理に負荷がかかりすぎて、音声出力の処理を中断してしまうことがある。そのため、音声が途中で途切れるといった不自然な音声出力になってしまうことがある。なお、処理能力の高いＣＰＵを用い、文書データの変換処理と、他の処理（たとえばファクシミリデータの受信処理）とを並列動作させることも可能であるが、処理能力の高いＣＰＵは、一般に高価であり、コスト的に問題が生じる。
【０００４】
本発明は、上記の点に鑑みて提案されたものであって、不自然な音声出力を抑制することのできる音声合成装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成するために、請求項１に記載した発明の音声合成装置は、文書データを音声データに変換して出力する音声合成装置であって、文書データにおける文書中の文字列から所定単位の単位文字列を抽出する単位文字列抽出手段と、上記単位文字列抽出手段によって抽出された単位文字列の文書データを音声データに変換して順次、記憶手段に蓄積する変換蓄積手段と、文書データにおける文書中の上記単位文字列よりも長い文字列からなるブロック間の所定の切れ目を検出する切れ目検出手段と、上記切れ目検出手段によって所定の切れ目が検出されたとき、上記変換蓄積手段によって蓄積された音声データを上記切れ目で区切られたブロックごと連続的に上記記憶手段から読み出して出力する出力制御手段と、を備えることを特徴としている。なお、文字列から所定単位の単位文字列としては、たとえば文節、一文、または二文等が挙げられる。
【０００６】
従来のように、文書中の文字列から所定単位の単位文字列ごと抽出し即座に音声データに変換して音声出力していた場合、特に音声データに変換する処理において他の処理が割り込んだとき、他の処理に負荷がかかりすぎると音声出力が途切れることがあった。しかしながら、本願発明では、文書中のたとえば一文を抽出して、それを音声データに変換してから蓄積し、文書中の上記単位文字列よりも長い文字列からなるブロック（たとえば、段落）を検出したときに蓄積した音声データを段落ごとに連続して音声出力する。すなわち、一般に負荷がかかる、音声データに変換する処理を行うものの、段落の切れ目になるまで変換した音声データを蓄積していくので、他の処理によって負荷がかかっても、その後に行われる音声出力には影響を及ぼさない。そのため、音声は途切れることなく出力することが可能になり、不自然な音声出力を抑制し、円滑な音声再生を行うことのできる音声再生装置を提供することができる。
【０００７】
また、請求項２に記載した発明の音声合成装置は、請求項１に記載の音声合成装置であって、上記記憶手段の蓄積容量がフルになるか否かを検出する容量検出手段と、上記容量検出手段によって上記蓄積容量がフルになったことが検出された際に、上記記憶手段に所定単位の単位文字列に対応する音声データの途中までしか蓄積されなかったとき、当該文字列に対応する音声データを上記記憶手段から削除する削除手段とを備え、上記出力制御手段は、上記切れ目検出手段によって所定の切れ目が検出されたとき、または上記削除手段によって音声データが削除されたとき、上記変換蓄積手段によって蓄積された音声データを上記切れ目で区切られたブロックごと連続的に上記記憶手段から読み出して出力する。
【０００８】
このような音声合成装置によれば、請求項１に記載の音声合成装置による効果に加え、記憶手段の蓄積容量がフルに達した際に、所定単位の単位文字列に対応する音声データの途中までしか蓄積されなかったときには、当該所定単位の単位文字列を削除するので、途中までしか音声データのない所定単位の単位文字列を音声出力してしまうことを防止することができる。
【０００９】
また、請求項３に記載した発明の音声合成装置は、請求項２に記載の音声合成装置であって、上記単位文字列抽出手段は、上記削除手段によって音声データが削除され、かつ上記出力制御手段によって上記記憶手段に蓄積された音声データが出力された後、上記削除された音声データに対応する文字列から新たに抽出する。
【００１０】
このような音声合成装置によれば、請求項２に記載の音声合成装置による効果に加え、削除手段によって削除された音声データを新たに抽出することができるので、文書の内容が省かれることなく確実に音声出力される。
【００１１】
また、請求項４に記載した発明の音声合成装置は、請求項１ないし３のいずれかに記載の音声合成装置であって、上記出力制御手段は、上記文書中の所定の切れ目で区切られた音声データを出力し終えた後、少なくとも所定時間経過後に、次の区間における音声データを出力する。
【００１２】
このような音声合成装置によれば、請求項１ないし３のいずれかに記載の音声合成装置による効果に加え、文書中の所定の切れ目で適宜休止されつつ音声出力されるので、文書の内容がより聞き取りやすくなる。
【００１３】
また、請求項５に記載した発明の音声合成装置は、請求項４に記載の音声合成装置であって、上記出力制御手段は、直前の区間が上記削除手段によって音声データが削除された際の音声データ出力であった場合、上記所定時間経過を待たずに次の区間における音声データを出力する。
【００１４】
このような音声合成装置によれば、請求項４に記載の音声合成装置による効果に加え、切れ目なく音声出力することができる。
【００１５】
また、請求項６に記載した発明の音声合成装置は、請求項４に記載の音声合成装置であって、上記出力制御手段は、上記文書データがＨＴＭＬ文書の場合、ＨＴＭＬ文書中のタグの種類に応じて上記所定時間を設定する。
【００１６】
このような音声合成装置によれば、請求項４に記載の音声合成装置による効果に加え、ＨＴＭＬ文書の意味内容によって休止される時間が制御されるので、ＨＴＭＬ文書の内容がより聞き取りやすくなる。
【００１７】
また、請求項７に記載した発明の音声合成装置は、請求項１ないし６のいずれかに記載の音声合成装置であって、上記切れ目検出手段は、文書データにおける文書中の段落を検出し、所定の切れ目と判別する。
【００１８】
このような音声合成装置によれば、請求項１ないし６のいずれかに記載の音声合成装置による効果に加え、切れのよい段落ごとに音声出力されるので、文書の内容が聞き取りやすくなる。
【００１９】
また、請求項８に記載した発明の音声合成装置は、請求項７に記載の音声合成装置であって、上記切れ目検出手段は、上記文書データがテキスト文書の場合、一文の終端を示す文字の次に改行を示す文字が続き、かつ改行を示す文字の次に空白を示す文字が続くとき、段落の切れ目と判別する。
【００２０】
このような音声合成装置によれば、請求項７に記載の音声合成装置による効果に加え、テキスト文書において段落の切れ目を確実に検出することができる。
【００２１】
また、請求項９に記載した発明の音声合成装置は、請求項７に記載の音声合成装置であって、上記切れ目検出手段は、上記文書データがテキスト文書の場合、一文の終端を示す文字の次に改行を示す文字が続き、かつ改行を示す文字の次にさらに改行を示す文字が続くとき、段落の切れ目と判別する。
【００２２】
このような音声合成装置によれば、請求項７に記載の音声合成装置による効果に加え、請求項６に記載の発明と同様に、テキスト文書において段落の切れ目を確実に検出することができる。
【００２３】
また、請求項１０に記載した発明の音声合成装置は、請求項７に記載の音声合成装置であって、上記切れ目検出手段は、上記文書データがＨＴＭＬ文書の場合、文書中において段落の終端を示すタグを検出したとき、段落の切れ目と判別する。
【００２４】
このような音声合成装置によれば、請求項７に記載の音声合成装置による効果に加え、ＨＴＭＬ文書において段落の切れ目を確実に検出することができる。
【００２５】
また、請求項１１に記載した発明のコンピュータプログラムは、文書データを音声データに変換して出力する音声合成装置を制御するためのコンピュータプログラムであって、文書データにおける文書中の文字列から所定単位の単位文字列を抽出する単位文字列抽出プログラムと、上記単位文字列抽出プログラムによって抽出された単位文字列の文書データを音声データに変換して順次、記憶手段に蓄積する変換蓄積プログラムと、文書データにおける文書中の上記単位文字列よりも長い文字列からなるブロック間の所定の切れ目を検出する切れ目検出プログラムと、上記切れ目検出プログラムによって所定の切れ目が検出されたとき、上記変換蓄積プログラムによって蓄積された音声データを上記切れ目で区切られたブロックごと連続的に上記記憶手段から読み出して出力する出力制御プログラムと、を含むことを特徴としている。
【００２６】
このようなコンピュータプログラムによれば、その内容に基づいてＣＰＵを動作させることにより、請求項１に記載の音声合成装置としての動作を実現することができる。
【００２７】
【発明の実施の形態】
以下、本発明の好ましい実施の形態について添付図面を参照して説明する。
【００２８】
図１は、本発明に係る音声合成装置を示す概略ブロック構成図である。この音声合成装置は、電子化された文書の内容を音声に変換して出力するものであり、文書データ解析部１と、音声変換部２と、メモリ部３と、メモリ監視部４、出力制御部５と、音声出力部６と、スピーカ７とによって構成されている。なお、本実施形態では、この音声合成装置がファクシミリデータを送り先に転送したり、受信したファクシミリデータを印字したりするファクシミリ装置に含まれるものとして説明する。
【００２９】
文書データ解析部１は、外部から送られる文書データの内容を読み取るためのものであり、文書データを一時的に保持するバッファ１１を備えている。文書データ解析部１は、文書データのうち文書中の一文を抽出したり、文書中の段落の切れ目を検出したりする。なお、文書データ解析部１は、文書中の一文を抽出することに代えて、文書中の文節を抽出したり、文書中の二文を抽出したりしてもよい。
【００３０】
音声変換部２は、文書データ解析部１によって読み取られた文書中の一文ずつ音声データに変換するものであり、変換した音声データは、メモリ部３に送られる。
【００３１】
メモリ部３は、音声変換部２から送られた音声データを記憶するためのものである。
【００３２】
メモリ監視部４は、メモリ部３における記憶容量がフルになるか否かを検知するものであり、また、記憶容量がフルになった際に、メモリ部３に記憶されている音声データがたとえば一文の途中までしか記憶されていなかったとき、その途切れた一文の音声データを削除するものである。
【００３３】
出力制御部５は、文書データ解析部１によって文書中の段落の切れ目が検出されたとき、その旨の検出信号に基づいてメモリ部３に記憶された音声データを読み出して音声出力部６に転送するものである。出力制御部５は、タイマ１２を備えており、このタイマ１２によって一つの段落における音声データを音声出力部６に転送した後、次の段落における音声データを転送するまでの休止時間が経時される。
【００３４】
文書データ解析部１、音声変換部２、メモリ部３、メモリ監視部４および出力制御部５は、図１には示していないが、ＣＰＵ、ＲＯＭ、ＲＡＭ等を有するマイクロコンピュータ（いずれも図示略）によって構成されている。
【００３５】
音声出力部６は、音声データを音声に変換して出力するためのものであり、スピーカ７を接続している。なお、音声出力部６およびスピーカ７は、このファクシミリ装置の外部に接続が可能な音声再生装置としてこのファクシミリ装置に接続されていてもよい。
【００３６】
なお、このファクシミリ装置は、図示されていないが、たとえばインクジェット方式の印刷機能、画像読取機能（スキャナ機能）、および画像の通信機能等の各機能を複合的に備えたものである。このファクシミリ装置は、たとえばファクシミリデータを送信するときには、画像読取機能を用いて原稿（文書）を読み取り、読み取った文書データを通信機能によって送り先に送信する。さらに、通信機能によってファクシミリデータとしての文書データを受信したときには、印刷機能を用いて文書データの内容を所定の記録用紙に印字する。また、このファクシミリ装置は、たとえばパーソナルコンピュータに接続された状態で独立した形で印刷装置やスキャナとして利用することもできる。さらに、印刷機能と画像読取機能とを連動させることで、コピー機として利用することもできる。
【００３７】
また、このファクシミリ装置は、図示しないが、公衆電話回線からＮＣＵを介して送られるファクシミリデータとしての文書データを読み取るための読取部、文字や図形等の画像を印刷するための記録部、ユーザのキー操作による入力信号を出力制御部５等に伝えるための操作部、および動作状態や操作ガイダンス等を表示するための表示部等が接続されている。
【００３８】
上記の構成によれば、文書データ解析部１によって文書中の一文ずつが抽出され、抽出された一文の文書データが音声データに変換され、メモリ部３に蓄積される。そして、文書データ解析部１によって文書中の段落の切れ目が検出されたとき、メモリ部３に蓄積されていた音声データが段落ごと一度にかつ連続的に音声出力部６に転送され、スピーカ７から出力される。
【００３９】
従来のように、たとえば文書中の一文ずつを即座に音声データに変換して音声出力するように制御すれば、文書データを音声データに変換している際、他の処理が割り込んだとき、音声が文書の途中で途切れるといったことがあったが、本実施形態によれば、一文ごとの文書データが音声データに変換されて蓄積されるので、他の処理によって負荷がかかっても、その後に行われる音声出力には影響を及ぼさない。そのため、音声が文書の途中で途切れるといったことを防止することができる。
【００４０】
以下、上記制御の具体的な形態として、このファクシミリ装置の制御動作を、図２に示すフローチャートを参照して説明する。まず、文書データがテキスト文書の場合について説明する。
【００４１】
まず、出力制御部５は、タイマ１２によって計時される休止時間の初期値を「０」にする（Ｓ１）。次いで、たとえばファクシミリ機能によって受信したファクシミリデータとしての文書データが、文書データ解析部１に送られると、文書データにおける文書中の一文を抽出する処理を行う（Ｓ２）。
【００４２】
具体的には、図３に示すように、文書データ解析部１は、文書中における一文字を読み出し（Ｓ２１）、読み出した文字を一旦バッファ１１に蓄積し（Ｓ２２）、当該文字が「。」、「．」、「？」、「！」または「）」等の一文の終わりを示す文字（以下、「文終端文字」という。）であるか否かを判別する（Ｓ２３）。当該文字が文終端文字でない場合（Ｓ２３：ＮＯ）、ステップＳ２１の処理に戻る。一方、当該文字が文終端文字である場合（Ｓ２３：ＹＥＳ）、バッファ１１に蓄積した文終端文字の前にある文字列を一文として認識し、一文抽出処理を終了する。
【００４３】
文書データ解析部１は、このようにして文書データ中の一文を抽出すると、一文中の文終端文字を除く文字列としての文書データを音声変換部２に送る。
【００４４】
音声変換部２では、文書データ解析部１から送られた文書データを音声データに変換する（Ｓ３）。
【００４５】
音声変換部２において音声データに変換された音声データは、メモリ部３に送られ記憶される（Ｓ４）。
【００４６】
ここで、メモリ監視部４は、常時、メモリ部３の容量を監視しており、メモリ部３の容量がフルになったか否かを判別する（Ｓ５）。この場合、メモリ監視部４は、容量検出手段として機能する。メモリ部３に音声データを記憶できた場合（Ｓ５：ＮＯ）、文書データ解析部１は、文書データにおける文書中の段落を検出する処理を行う（Ｓ６）。
【００４７】
具体的には、図４に示すように、まず、判別結果を「偽（段落の終端でない）」として設定する（Ｓ３１）。次いで、文終端文字を検出したとき、それに続く文字を読み出して、その文字が改行を表す文字（以下、単に「改行文字」という。）であるか否かを判別する（Ｓ３２）。当該文字が改行文字でない場合（Ｓ３２：ＮＯ）、ステップＳ３１の処理どおり、判別結果を「偽（段落の終端でない）」とする。
【００４８】
一方、当該文字が改行文字である場合（Ｓ３２：ＹＥＳ）、改行文字の次の文字が空白であるか否かを判別する（Ｓ３３）。すなわち、通常、段落の場合には、改行した後の、次の行の最初の文字は、一文字空白にされるため、次の文字が空白であると判別した場合（Ｓ３３：ＹＥＳ）、判別結果を「真（段落の終端である）」と設定する（Ｓ３４）。
【００４９】
また、改行文字の次の文字が空白でないと判別した場合（Ｓ３３：ＮＯ）、次の文字が改行文字であるか否かを判別する（Ｓ３５）。すなわち、改行文字の次の文字がさらに改行文字であれば、次の行が空白行であると判別する。次の文字が改行文字である場合（Ｓ３５：ＹＥＳ）、次の行が空白行であるとして、判別結果を「真（段落の終端である）」と設定する（Ｓ３４）。このように、改行文字とそれに続く文字とを検出することにより、段落の切れ目を容易にかつ確実に判別することができる。
【００５０】
また、次の文字が改行文字でない場合（Ｓ３５：ＮＯ）、ステップＳ３１の処理どおり、判別結果を「偽（段落の終端でない）」とする。すなわち、この実施形態では、文書中に改行文字が存在していても、次の行の最初の文字が空白の場合または次の行が空白行の場合のみ、段落であると判別する。なお、このような判別方法に代わり、文書中に改行文字が存在すれば、その時点で段落であるとみなしてもよい。
【００５１】
図４に示す判別処理によって段落の終端と判別しなかった場合（図２のＳ７：ＮＯ）、ステップＳ２の一文抽出処理に戻る。その後、文書中の次の一文が調べられ、同様にして次の一文の音声データがメモリ部３に記憶される。そのため、段落の終端が検出されるまで、一文ごとにメモリ部３に蓄積されることになる。
【００５２】
ステップＳ７において、段落の終端と判別した場合（Ｓ７：ＹＥＳ）、出力制御部５は、休止時間経過したか否かを判別する（Ｓ８）。休止時間経過したと判別した場合（Ｓ８：ＹＥＳ）、音声出力部６に音声データの出力準備が完了した旨の通知を行うとともに、メモリ部３から音声データを途切れることなく連続的に読み出し、音声出力部６に転送する（Ｓ９）。音声出力部６では、送られた音声データを音声に変換した後、スピーカ７から出力させる（Ｓ１０）。
【００５３】
また、ステップＳ５のメモリ部３がフル容量になるか否かを判別する処理において、メモリ部３に音声データを記憶する際、一文の途中で容量がフルに達した場合（Ｓ５：ＹＥＳ）、メモリ監視部４は、途切れた一文の音声データをメモリ部３から削除する（Ｓ１１）。この場合、メモリ監視部４は、削除手段として機能する。その後、休止時間経過したか否かの判別処理に進む（Ｓ８）。このような途中の一文の音声データを削除することにより、途中までしか音声データのない一文を音声出力してしまうことを防止することができる。
【００５４】
なお、文書データ解析部１は、次回、音声データをメモリ部３に記憶させる際、今回、削除した音声データから新たに抽出してメモリ部３に記憶させる。このように、メモリ監視部４によって削除された文書も文書データ解析部１によって新たに抽出することができるので、文書の内容が省かれることなく確実に音声として出力ささせることができる。
【００５５】
ステップＳ１０の音声出力処理が終了すると、出力制御部５は、全ての文書の音声出力が完了したか否かの判別を行い（Ｓ１２）、全ての文書の音声出力が完了した場合（Ｓ１２：ＹＥＳ）、本処理を終了する。一方、全ての文書の音声出力が完了していない場合（Ｓ１２：ＮＯ）、音声出力してから次の段落を音声出力するまでの休止時間を設定する処理を行う（Ｓ１３）。
【００５６】
具体的には、図５に示すように、休止時間をたとえば２秒に設定する（Ｓ４１）。次いで、図２のステップＳ１１に示した、メモリ部３がフルになった場合に、途絶えた一文の音声データを削除する処理を実施したか否かを判別し（Ｓ４２）、その処理を実施した場合（Ｓ４２：ＹＥＳ）、段落の切れ目であるとして休止時間を、たとえば０秒に設定する（Ｓ４３）。このように設定すれば、次回に音声データが出力される際、段落内の途中で音声出力が休止されることがなくなる。なお、タイマ１２による計時は、休止時間が設定された時点で開始される。
【００５７】
一方、図２のステップＳ１１における音声データを削除する処理を実施しなかった場合（Ｓ４２：ＮＯ）、この休止時間設定処理を終了する。したがって、この場合、ステップＳ４１において設定した休止時間が反映されることになる。すなわち、段落と次の段落との間で適当な時間休止されつつ音声出力されるので、文書の内容がより聞き取りやすくなる。
【００５８】
このように、文書データが段落の切れ目があるまで音声データに一文ずつ変換されて蓄積された後、その音声データとしての段落内の全文書が連続的に出力されるので、文書の音声出力中に文書が途切ることはない。そのため、ユーザにとって不自然さなく音声出力され、円滑な音声再生が可能となる。
【００５９】
次に、文書データがＨＴＭＬ（Ｈｙｐｅｒ　Ｔｅｘｔ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）文書の場合について説明する。ＨＴＭＬ文書の場合の処理は、基本的に図２に示したフローチャートに示す制御処理と同様である。異なる点について主に述べると、図２のステップＳ２に示す一文を抽出する処理では、図６に示すように、まず、タグモードをオフにする（Ｓ５１）。
【００６０】
次いで、文書データ解析部１は、文書データにおける文書中の一文字を読み出し（Ｓ５２）、タグモードがオンであるか否かを判別する（Ｓ５３）。タグモードがオンでない場合（Ｓ５３：ＮＯ）、読み出した文字が「＜」といったタグの開始文字であるか否かを判別する（Ｓ５４）。読み出した文字がタグの開始文字である場合（Ｓ５４：ＹＥＳ）、タグモードをオンにする（Ｓ５５）。一方、読み出した文字がタグの開始文字でない場合（Ｓ５４：ＮＯ）、読み出した文字をバッファ１１に蓄積する（Ｓ５６）。
【００６１】
また、ステップＳ５３において、タグモードがオンのとき（Ｓ５３：ＹＥＳ）、読み出した文字が「＞」といったタグの終了文字であるか否かを判別する（Ｓ５７）。読み出した文字がタグの終了文字である場合（Ｓ５７：ＹＥＳ）、タグモードをオフにする（Ｓ５８）。一方、読み出した文字がタグの終了文字でない場合（Ｓ５７：ＮＯ）、読み出した文字をタグの文字としてバッファ（図示せず）に蓄積する（Ｓ５９）。なお、この場合のバッファとしては、タグ以外の文字を蓄積するバッファ１１と異なるバッファであることが望ましい。
【００６２】
ステップＳ５５においてタグモードをオンにした後、ステップＳ５６においてタグ以外の文字をバッファ１１に蓄積した後、ステップＳ５８においてタグモードをオフにした後、あるいはステップＳ５９においてタグの文字をバッファに蓄積した後、当該文字が文の終端であるか、段落の終端であるか、あるいはテキストの終端であるかを判別し（Ｓ６０）、いずれかの終端である場合（Ｓ６０：ＹＥＳ）、この一文抽出処理を終了する。一方、いずれの終端でもない場合（Ｓ６０：ＮＯ）、ステップＳ５２の一文字読出処理に戻る。
【００６３】
また、図２のステップＳ６に示す段落の終端を判別する処理では、図７に示すように、まず、判別結果を「偽（段落の終端でない）」として設定する（Ｓ６１）。
【００６４】
次いで、タグが段落の終端を示すタグ（たとえば「／Ｐ」）であるか否かを判別する（Ｓ６２）。タグが段落終端タグでない場合（Ｓ６２：ＮＯ）、検出結果を「偽（段落の終端でない）」とする。一方、タグが段落終端タグである場合（Ｓ６２：ＹＥＳ）、検出結果を「真（段落の終端である）」とし（Ｓ６３）、段落の終点を判別する処理を終了する。このように、文書がＨＴＭＬ文書の場合でも、文書中において段落の終端を示すタグを検出することにより、段落の切れ目を確実に検出することができる。
【００６５】
また、図２のステップＳ１３に示す休止時間の設定処理では、図８に示すように、休止時間をたとえば２秒に設定する（Ｓ７１）。次いで、図２のステップＳ１１における、メモリ部３の容量がフルになった場合に文の音声データを削除する処理を実施したか否かを判別し（Ｓ７２）、本処理を実施した場合（Ｓ７２：ＹＥＳ）、段落の切れ目であるとして休止時間を、たとえば０秒に設定する（Ｓ７３）。
【００６６】
一方、図２のステップＳ１１における音声データを削除する処理を実施しなかった場合（Ｓ７２：ＮＯ）、段落の終端を示すタグが第１のカテゴリに含まれるものか否かが判別される（Ｓ７４）。すなわち、ＨＴＭＬ文書のタグは、図９に示すように、休止時間をカテゴリ別に設定するために、第１のカテゴリおよび第２のカテゴリに分類されている。
【００６７】
すなわち、当該タグが第１のカテゴリに含まれるタグである場合（Ｓ７４：ＹＥＳ）、休止時間をたとえば１秒に設定する（Ｓ７５）。一方、当該タグが第１のカテゴリに含まれるタグでない場合（Ｓ７４：ＮＯ）、当該タグが第２のカテゴリに含まれるものか否かが判別される（Ｓ７６）。当該タグが第２のカテゴリに含まれるタグである場合（Ｓ７６：ＹＥＳ）、休止時間をたとえば３秒に設定する（Ｓ７７）。すなわち、第２のカテゴリに含まれるタグが第１のカテゴリに含まれるタグより、休止時間は長くとられるようにされている。
【００６８】
当該タグが第１のカテゴリおよび第２のカテゴリのいずれにも含まれない場合（Ｓ７６：ＮＯ）、ステップＳ７１において設定した休止時間（たとえば２秒）が設定されることになる。
【００６９】
このように、ＨＴＭＬ文書においてもタグを検出することにより、段落の切れ目を判別することができ、段落ごとに蓄積した音声データを連続的に音声出力することができる。したがって、この場合も、音声を途切れることなく、出力させることができる。
【００７０】
なお、本発明は、上記実施形態に限定されるものではない。たとえば、ファクシミリ装置の構成は、同じ機能を備えるものであれば、図１に示す構成に限ることはない。また、上記実施形態では、音声合成装置としてファクシミリ装置を例示して説明したが、これに限らず、たとえば音声合成装置単体で実現されてもよい。また、音声合成する文書は、上記したテキスト文書やＨＴＭＬ文書に限るものではない。また、上記実施形態で示した休止時間の値は、上記した値に限るものではない。
【００７１】
【発明の効果】
以上説明したように、請求項１に記載した発明の音声合成装置によれば、文書中の文字列から所定単位の単位文字列（たとえば一文）を抽出して、それを音声データに変換してから蓄積し、文書中の上記単位文字列よりも長い文字列からなるブロック（たとえば、段落）を検出したときに蓄積した音声データを段落ごとに連続して音声出力する。すなわち、一般に負荷がかかる、音声データに変換する処理を行うものの、段落の切れ目になるまで変換した音声データを蓄積していくので、他の処理によって負荷がかかっても、その後に行われる音声出力には影響を及ぼさない。そのため、音声は途切れることなく出力することが可能になり、不自然な音声出力を抑制し、円滑な音声再生を行うことのできる音声再生装置を提供することができる。
【００７２】
また、請求項２に記載した発明の音声合成装置によれば、請求項１に記載の音声合成装置による効果に加え、記憶手段の蓄積容量がフルに達した際に、所定単位の単位文字列に対応する音声データの途中までしか蓄積されなかったときには、当該所定単位の単位文字列を削除するので、途中までしか音声データのない所定単位の単位文字列を音声出力してしまうことを防止することができる。
【００７３】
さらに、請求項３に記載した発明の音声合成装置によれば、請求項２に記載の音声合成装置による効果に加え、削除手段によって削除された音声データを新たに抽出することができるので、文書の内容が省かれることなく確実に音声出力される。
【００７４】
さらに、請求項４に記載した発明の音声合成装置によれば、請求項１ないし３のいずれかに記載の音声合成装置による効果に加え、文書中の所定の切れ目で適宜休止されつつ音声出力されるので、文書の内容がより聞き取りやすくなる。
【００７５】
さらに、請求項５に記載した発明の音声合成装置によれば、請求項４に記載の音声合成装置による効果に加え、切れ目なく音声出力することができる。
【００７６】
さらに、請求項６に記載した発明の音声合成装置によれば、請求項４に記載の音声合成装置による効果に加え、ＨＴＭＬ文書の意味内容によって休止される時間が制御されるので、ＨＴＭＬ文書の内容がより聞き取りやすくなる。
【００７７】
さらに、請求項７に記載した発明の音声合成装置によれば、請求項１ないし６のいずれかに記載の音声合成装置による効果に加え、切れのよい段落ごとに音声出力されるので、文書の内容が聞き取りやすくなる。
【００７８】
さらに、請求項８に記載した発明の音声合成装置によれば、請求項７に記載の音声合成装置による効果に加え、テキスト文書において段落の切れ目を確実に検出することができる。
【００７９】
さらに、請求項９に記載した発明の音声合成装置によれば、請求項７に記載の音声合成装置による効果に加え、請求項６に記載の発明と同様に、テキスト文書において段落の切れ目を確実に検出することができる。
【００８０】
さらに、請求項１０に記載した発明の音声合成装置によれば、請求項７に記載の音声合成装置による効果に加え、ＨＴＭＬ文書において段落の切れ目を確実に検出することができる。
【００８１】
また、請求項１１に記載した発明のコンピュータプログラムによれば、その内容に基づいてＣＰＵを動作させることにより、請求項１に記載の音声合成装置としての動作を実現することができる。
【図面の簡単な説明】
【図１】本発明に係る音声合成装置が適用されたファクシミリ装置の概略ブロック構成図である。
【図２】ファクシミリ装置の制御動作を示すフローチャートである。
【図３】ファクシミリ装置の制御動作を示すフローチャートである。
【図４】ファクシミリ装置の制御動作を示すフローチャートである。
【図５】ファクシミリ装置の他の制御動作を示すフローチャートである。
【図６】ファクシミリ装置の制御動作を示すフローチャートである。
【図７】ファクシミリ装置の他の制御動作を示すフローチャートである。
【図８】ファクシミリ装置の制御動作を示すフローチャートである。
【図９】タグの種類を示す図である。
【符号の説明】
１　文書データ解析部
２　音声変換部
３　メモリ部
４　メモリ監視部
５　出力制御部
６　音声出力部
１１　バッファ
１２　タイマ
【図１】
2004021169.tif 000003
【図２】
2004021169.tif 000004
【図３】
2004021169.tif 000005
【図４】
2004021169.tif 000006
【図５】
2004021169.tif 000007
【図６】
2004021169.tif 000008
【図７】
2004021169.tif 000009
【図８】
2004021169.tif 000010
【図９】
2004021169.tif 000011