(57)【要約】【課題】既存のデータを有効利用して安価であるにも拘わらず適切な音声出力を行わせる。【解決手段】アルファベットで構成される所定言語のテキストデータ、所定言語の音素データと表記を互いに関連付けた言語データテーブル、ローマ字の音素に対応する表記と所定言語の表記を互いに関連付けたローマ字データテーブル１３を記憶する記憶手段５と、所定言語のテキストデータからローマ字を検出するローマ字検出手段と、ローマ字検出手段により、所定言語のテキストデータからローマ字が検出されれば、ローマ字データテーブル１３に基づいて、所定言語の表記を抽出し、ローマ字の該当部分を置き換える表記変換手段と、表記変換手段により、テキストデータから検出されたローマ字を所定言語の表記に置き換えた後、言語データテーブルに基づいて音声出力する音声出力手段３とを備えた構成とする。【選択図】図１
2009098328.tif 000002
【特許請求の範囲】
【請求項１】
アルファベットで構成される所定言語の音素データと表記を互いに関連付けた言語データテーブル、及び、ローマ字の音素に対応する表記と前記所定言語の表記を互いに関連付けたローマ字データテーブルを記憶する記憶手段と、
前記記憶手段に記憶した、所定言語のテキストデータからローマ字を検出するローマ字検出手段と、
前記ローマ字検出手段により、前記所定言語のテキストデータからローマ字が検出されれば、前記ローマ字データテーブルに基づいて、所定言語の表記を抽出し、前記ローマ字の該当部分を置き換える表記変換手段と、
前記表記変換手段により、テキストデータから検出されたローマ字を所定言語の表記に置き換えた後、前記言語データテーブルに基づいて音声出力する音声出力手段と、
を備えたことを特徴とする音声合成装置。
【請求項２】
前記ローマ字検出手段は、先頭文字が大文字で、かつ、ローマ字表記のみで構成されている場合、ローマ字テキストであると判断することを特徴とする請求項１に記載の音声合成装置。
【請求項３】
前記記憶手段は、ローマ字テキストと属性データを互いに関連付けて記憶し、
前記ローマ字検出手段は、前記属性データに基づいて、所定言語のテキストデータに含まれるローマ字テキストを判断することを特徴とする請求項１に記載の音声合成装置。
【請求項４】
前記表記変換手段は、前記ローマ字検出手段によって、前記所定言語のテキストデータを構成する各単語のうち、ローマ字テキストであると判断された単語について、先頭文字から最も長い表記で、前記ローマ字データテーブルで合致するローマ字表記があるか否かを判断し、あると判断すれば、対応する所定言語の表記に変換し、ないと判断すれば、順次、先頭文字の次の文字から最も長い表記で、合致するローマ字表記があるか否かを判断することを特徴とする請求項１から３のいずれか１項に記載の音声合成装置。
【請求項５】
前記所定言語のテキストデータの単語を抽出する単語抽出手段と、
前記単語抽出手段によって抽出た単語の音声出力を、前記言語データテーブルに従って変更する音声出力変更手段と、
をさらに備えたことを特徴とする請求項１から４のいずれか１項に記載の音声合成装置。
【請求項６】
前記音声出力変更手段は、
音声を入力するための音声入力手段と、
前記音声入力手段によって入力された音声に基づいて、前記言語データテーブルを参照し、該当する音素を抽出して前記単語に当てはめる音素変換手段と、
からなることを特徴とする請求項５に記載の音声合成装置。
【請求項７】
アルファベットで構成される所定言語のテキストデータからローマ字を検出するローマ字検出ステップと、
前記ローマ字検出ステップにより、前記所定言語のテキストデータからローマ字が検出されれば、ローマ字の音素に対応する表記と前記所定言語の表記を互いに関連付けたローマ字データテーブルに基づいて、所定言語の表記を抽出し、前記ローマ字の該当部分を置き換える表記変換ステップと、
前記表記変換ステップにより、テキストデータから検出されたローマ字を所定言語の表記に置き換えた後、アルファベットで構成される所定言語の音素データと表記を互いに関連付けた言語データテーブルに基づいて音声出力する音声出力ステップと、
を含むことを特徴とする音声合成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声合成装置及び方法、特に、日本語以外の他言語を適切に音声出力させることのできる音声合成装置及び方法に関するものである。
【背景技術】
【０００２】
従来、音声合成装置として、読上げ目的テキストと同一の用途カテゴリの音源作成用テキストを朗読したときの収録音声データから作成された音源を用いて音声が合成される（例えば、読上げ目的テキスト（すなわち読上げ対象テキスト）がニュース文である場合には、ニューステキストを人間が読み上げたときの収録音声を基に作成した音源を用いて音声が合成される）ようにしたものが公知である（例えば、特許文献１参照）。
【０００３】
また、他の音声合成装置として、単語の語源に関わる属性である単語の語種（和語、漢語、外来語）と、単語の語種毎に異なる長音の音韻記号とを予め定義しておき、音韻記号列に長音が存在する場合、長音を単語の語種に応じて異なる音韻記号に変換して音声合成を行うようにしたものが公知である（例えば、特許文献２参照）。
【０００４】
【特許文献１】特開２０００−１８１４７６号公報
【特許文献２】特開２００５−７０６１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記いずれの音声合成装置であっても、膨大な数のデータベースを用意する必要がある。また、細分化されたデータベースを利用するために処理時間がかかるという問題がある。このため、装置自体が高価なものとなる。
【０００６】
そこで、本発明は、既存のデータを有効利用して安価であるにも拘わらず適切な音声出力を行わせることのできる音声合成装置及び方法を提供することを課題とする。
【課題を解決するための手段】
【０００７】
本発明は、前記課題を解決するための手段として、
音声合成装置を、
アルファベットで構成される所定言語の音素データと表記を互いに関連付けた言語データテーブル、及び、ローマ字の音素に対応する表記と前記所定言語の表記を互いに関連付けたローマ字データテーブルを記憶する記憶手段と、
前記記憶手段に記憶した、所定言語のテキストデータからローマ字を検出するローマ字検出手段と、
前記ローマ字検出手段により、前記所定言語のテキストデータからローマ字が検出されれば、前記ローマ字データテーブルに基づいて、所定言語の表記を抽出し、前記ローマ字の該当部分を置き換える表記変換手段と、
前記表記変換手段により、テキストデータから検出されたローマ字を所定言語の表記に置き換えた後、前記言語データテーブルに基づいて音声出力する音声出力手段と、
を備えた構成としたものである。
【０００８】
この構成により、言語データテーブルではローマ字テキストの音声出力が不適切になる場合、表記変換手段により、ローマ字データテーブルに基づいて、所定言語の表記を抽出し、予めローマ字の該当部分を置き換えておくことができる。そして、所定言語の表記に置き換えられたローマ字テキストを含めて、所定言語のテキストデータを、既存の所定言語データテーブルを利用して適切に音声出力させることが可能となる。つまり、言語データベース以外に、新たに音素データを追加する必要がなく、記憶容量を抑制することができ、複雑な処理が必要となることもない。
【０００９】
前記ローマ字検出手段は、先頭文字が大文字で、かつ、ローマ字表記のみで構成されている場合、ローマ字テキストであると判断するようにすればよい。
【００１０】
前記記憶手段は、ローマ字テキストと属性データを互いに関連付けて記憶し、
前記ローマ字検出手段は、前記属性データに基づいて、英文テキストデータに含まれるローマ字テキストを判断するようにしてもよい。
【００１１】
前記表記変換手段は、前記ローマ字検出手段によって、前記言語のテキストデータを構成する各単語のうち、ローマ字テキストであると判断された単語について、先頭文字から最も長い表記で、前記ローマ字データテーブルで合致するローマ字表記があるか否かを判断し、あると判断すれば、対応する所定言語の表記に変換し、ないと判断すれば、順次、先頭文字の次の文字から最も長い表記で、合致するローマ字表記があるか否かを判断するのが好ましい。
【００１２】
この構成により、ユーザの誤入力等で、所定言語のテキストデータに含まれるローマ字テキストに不適切な箇所がある場合であっても、音声出力させることが可能となる。
【００１３】
前記所定言語のテキストデータの単語を抽出する単語抽出手段と、
前記単語抽出手段によって抽出た単語の音声出力を、前記言語データテーブルに従って変更する音声出力変更手段と、
をさらに備えるのが好ましい。
【００１４】
この構成により、テキストデータ中に音声出力が不適切となる単語が含まれていたとしても、単語特定手段によってその単語を特定し、音声出力変更手段により適切な音声が得られるものに変更することができる。
【００１５】
前記音声出力変更手段は、
音声を入力するための音声入力手段と、
前記音声入力手段によって入力された音声に基づいて、前記言語データテーブルを参照し、該当する音素を抽出して前記単語に当てはめる音素変換手段と、
から構成するのが好ましい。
【００１６】
この構成により、単語特定手段によって単語を特定した状態で、音声入力手段により音声で入力するだけで、音素変換手段により、言語データテーブルから自動的に該当する音素を抽出して、簡単に前記単語の音声出力を適切なものとすることができる。
【００１７】
また、本発明は、前記課題を解決するための手段として、
音声合成方法を、
アルファベットで構成される所定言語のテキストデータからローマ字を検出するローマ字検出ステップと、
前記ローマ字検出ステップにより、前記所定言語のテキストデータからローマ字が検出されれば、ローマ字の音素に対応する表記と前記所定言語の表記を互いに関連付けたローマ字データテーブルに基づいて、所定言語の表記を抽出し、前記ローマ字の該当部分を置き換える表記変換ステップと、
前記表記変換ステップにより、テキストデータから検出されたローマ字を所定言語の表記に置き換えた後、アルファベットで構成される所定言語の音素データと表記を互いに関連付けた言語データテーブルに基づいて音声出力する音声出力ステップと、
を含むようにしたものである。
【発明の効果】
【００１８】
本発明によれば、所定言語のテキストデータ中にローマ字が含まれている場合、ローマ字の音素に対応する表記を、適切な音声出力が得られる所定言語の音素に対応する表記に変換しているので、既存の言語データテーブルを有効利用して安価かつ迅速に音声出力を行わせることが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明に係る実施形態を添付図面に従って説明する。
【００２０】
図１は、本実施形態に係る音声合成装置の構成を示すブロック図である。この音声合成装置は、表示部１、入力部２、音声出力部３、制御ユニット４などを備える。
【００２１】
表示部１は、液晶パネル、ＥＬ（electro-luminescence）パネルなど、種々のものが含まれる。表示部１はタッチパネルで構成するのが好ましい。
【００２２】
入力部２は、各種キーなどのほか、前記タッチパネルで構成してもよい。また、入力部２には、マイクなどの音声入力部を含めてもよい。
【００２３】
音声出力部３は、スピーカなどで構成すればよい。
【００２４】
制御ユニット４は、ＲＯＭ５（Read Only Memory）、ＲＡＭ６（Random Access Memory）、ＣＰＵ７（Central Processing Unit）などを備える。
【００２５】
ＲＯＭ５には、制御プログラム８、各種データベース９が記憶されている。制御プログラム８には、メインルーチンである音声合成プログラム１０のほか、そのサブルーチンである表記変換プログラム１１が含まれる。データベース９には、他言語の一例としての英語データテーブル１２のほか、ローマ字データテーブル１３などが含まれる。但し、英語データテーブル１２に限らず、フランス語やイタリア語など、アルファベットで構成可能であり、文中にローマ字を含めることのできる日本語以外の他のいずれの言語に関するデータテーブルを含めることができる。なお、以下の説明では、英語に関するものについてのみ言及する。
【００２６】
英語データテーブル１２では、英語の表記と、その音素とが互いに関連付けて登録されている。そして、この英語データテーブル１２を利用して従来公知のＴＴＳ（Text to Speech）エンジンにより英文を音声出力できるようになっている。また、ローマ字データテーブル１３では、図４に示すように、ローマ字の表記と、その音素に対応する英語の表記とが互いに関連付けて登録されている。但し、登録されているのは、ローマ字の表記をそのまま英語データテーブル１２に従って対応する音素に変換して音声出力した場合に不適切な発音となる場合である。例えば、「ａ」には「ａｈ」、「ｋｉ」には［ｋｅｙ」、「ｓｉ、ｓｈｉ」には「ｓｈｅ」をそれぞれ関連付けて登録することにより、音声出力させた場合、日本語として適切なものに近い発音が得られるように変換している。このように、既存の英語データテーブル１２を有効利用することにより、新たにローマ字に対する音素データを追加する必要がなく、メモリ容量を節約することができる。
【００２７】
ＲＡＭ６には、入力テキスト記憶領域１４、変換テキスト記憶領域１５、音声データ記憶領域１６などが確保されている。
【００２８】
ＣＰＵ７は、前記入力部２からの入力信号に基づいて、後述するようにして制御プログラム８を実行し、前記表示部１や前記音声出力部３を駆動制御する。
【００２９】
次に、前記音声合成装置の動作について、図２のフローチャートに従って説明する。
【００３０】
まず、ＲＡＭ６の変換テキスト記憶領域１５を初期化する（ステップＳ１）。そして、ＲＡＭ６の入力テキスト記憶領域１４に格納されている英文テキストから最初の単語を抽出する（ステップＳ２：単語抽出手段）。単語であるか否かは、例えば、英文の場合、各単語間に設けられているスペースで判断し、スペースで区切られたものを単語として抽出すればよい。入力テキスト記憶領域１４には、入力部２から入力された英文が格納される。入力部２から入力する英文テキストは、キーボード入力、音声入力、あるいは、翻訳機の場合には、和文テキストからの翻訳テキストなどが該当する。
【００３１】
ここで、入力テキスト記憶領域１４に格納されている英文テキストから単語を抽出できたか否かを判断する（ステップＳ３）。単語が抽出できれば（ステップＳ３：ＹＥＳ）、その単語がローマ字テキストであるか否かを判断する（ステップＳ４：ローマ字検出手段）。例えば、先頭のアルファベットが大文字であり、かつ、ローマ字表記である（構成するアルファベットの組合せが、例えば、ヘボン式で表記されるローマ字表記のみで構成される）場合に、ローマ字テキストであると判断する。この場合、先頭が大文字で、予めローマ字表記で登録した単語（例えば、人名、地名等の固有名詞）であれば、ローマ字テキストであると判断するようにしてもよい。また、先頭が大文字で、予め登録した辞書データ（英単語に関するもの）に含まれない単語をローマ字テキストであると判断するようにしてもよい。また、入力テキスト記憶領域１４に格納する際、ローマ字テキストで構成された単語に属性データを関連付けて登録することにより、この属性データに基づいてローマ字表記であると判断できるようにしてもよい。後者の場合、例えば、入力テキスト記憶領域１４に格納される英文テキストを表示部１に表示させ、ユーザによりローマ字表記となっている単語を指定させることにより属性データを関連付けできるようにすればよい。
【００３２】
抽出した単語がローマ字テキストでなければ（ステップＳ４：ＮＯ）、抽出した単語を変換テキスト領域に格納する（ステップＳ５）。一方、抽出した単語がローマ字テキストであれば（ステップＳ４：ＹＥＳ）、ローマ字テキストのローマ字表記を、図３のフローチャートに従って英語表記に変換する（ステップＳ６）。
【００３３】
図３では、抽出した単語を変換対象とし（ステップＳ１１）、ローマ字データテーブル１３に基づいて、変換対象の先頭文字から最も長い表記で一致するものを検索する（ステップＳ１２）。そして、一致する表記があれば（ステップＳ１３：ＹＥＳ）、そのローマ字表記に対応する英語表記が同じであれば、そのまま、変換されていれば、変換後の英語表記を変換テキスト記憶領域１５に格納する（ステップＳ１４：表記変換手段）。また、一致した表記を除いた残る表記を、新たに変換対象とする（ステップＳ１５）。残る表記がなければ（ステップＳ１６：ＮＯ）、変換対象の全ての文字についての英語表記が変換テキスト記憶領域１５に格納されたことになるので、音声合成処理のメインルーチン（ステップＳ７）に復帰する。なお、前記ステップＳ１２で、先頭文字から最も長い表記で一致するか否かを判断するようにしたのは、例えば、ローマ字表記「ｎ（ん）」の英語表記は「ｎ／ｎｎ」であるので、ローマ字表記「ｎｎａ」の場合、「んな」であるのか、あるいは、「んあ」であるのかを区別できなくなることを防止するためである。
【００３４】
一方、一致する表記がなければ（ステップＳ１３：ＮＯ）、変換対象の先頭文字を除いた部分（２文字目以降）を変換対象とする（ステップＳ１７）。これは、キーボード入力、音声入力などにより誤入力された場合を考慮したものである。先頭文字を除いて変換し、後述する音声合成処理を行うことにより、本来の音声出力は得ることはできないものの、比較的近い音声を出力させることが期待できる。但し、前記ステップＳ１３で、一致する表記がないと判断された場合、ステップＳ１７のような処理を実行することなく、エラーを報知するように構成することも可能である。
【００３５】
このようにして、図３の英語表記変換処理（ステップＳ６）で、抽出した単語について、変換処理が完了し、変換テキスト領域に格納されれば、図２のフローチャートに戻って次の単語を抽出する（ステップＳ７）。そして、次の単語が抽出できれば（ステップＳ３：ＹＥＳ）、前記ステップＳ４〜Ｓ７の処理を繰り返し、抽出できなければ（ステップＳ３：ＮＯ）、変換テキスト領域に単語が格納されているか否かを判断する（ステップＳ８）。変換テキスト領域に単語が格納されていない場合（ステップＳ８：ＮＯ）、すなわち、前記ステップＳ３で、初期状態であるにも拘わらず入力テキスト記憶領域１４から単語を抽出できない場合、処理を終了する。変換テキスト領域に単語が格納されている場合（ステップＳ８：ＹＥＳ）、前記英語データテーブル１２に基づいて、各単語を発音記号に変換する、いわゆる音声合成を行い（ステップＳ９：音声出力変更手段）、得られた音声データを音声データ記憶領域１６に格納する。そして、音声データ記憶領域１６に格納した音声データに基づいて音声出力部３より音声を出力させる（ステップＳ１０）。
【図面の簡単な説明】
【００３６】
【図１】本実施形態に係る音声合成装置のブロック図である。
【図２】図１の制御ユニットにより実行する音声合成処理を示すフローチャートである。
【図３】図２の英語表記変換処理を示すフローチャートである。
【図４】図１のローマ字データテーブルの内容を示す図表である。
【符号の説明】
【００３７】
１…表示部
２…入力部
３…音声出力部（音声出力手段）
４…制御ユニット
５…ＲＯＭ（記憶手段）
６…ＲＡＭ
７…ＣＰＵ
８…制御プログラム
９…データベース
１０…音声合成プログラム
１１…表記変換プログラム
１２…英語データテーブル
１３…ローマ字データテーブル
１４…入力テキスト記憶領域
１５…変換テキスト記憶領域
１６…音声データ記憶領域
【図１】
2009098328.tif 000003
【図２】
2009098328.tif 000004
【図３】
2009098328.tif 000005
【図４】
2009098328.tif 000006