以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
<第1の実施の形態>
図1を参照して、本発明の第1の実施の形態に係る音声合成装置100について説明する。図1は、音声合成装置100により実現される機能の構成を表わすブロック図である。音声合成装置100は、テキストデータ取得部190に接続される。音声合成装置100は、テキスト解析部101と、韻律生成部102と、音声素片選択部103と、音声素片格納部104と、合成部105と、周波数フィルタ部106と、増幅部107とを備える。音声合成装置100の出力は、増幅装置110に接続される。増幅装置110は、出力部112に接続される。
テキストデータ取得部190は、外部からの入力に基づいてテキストデータを取得する。ある局面においては、テキストデータ取得部190は、文字の入力を受け付けるための操作部として機能する。また他の局面においては、テキストデータ取得部190は、文字情報が含まれる電波を受信するアンテナと、当該アンテナによって受信された電波からその文字情報を抽出する抽出回路と、その抽出された文字情報をテキストデータとして格納するメモリとによって実現される。さらに他の局面においては、テキストデータ取得部190は、着脱可能な記録媒体の装着を受け付ける駆動装置と、その記録媒体から格納されているデータ(具体的には、出力される音声に対応するテキストデータと当該音声の出力に合わせて映像を表示するための画像データ)を読み出すための再生回路と、その画像データに基づいて映像を表示するディスプレイとによって実現される。
音声合成装置100において、テキスト解析部101は、テキストデータ取得部190からの出力に基づいて作動可能なようにテキストデータ取得部190に接続される。テキスト解析部101は、テキストデータ取得部190によって取得されたテキストデータを解析し、各単語の読みとアクセント情報とを出力する。テキスト解析部101は、他の局面においては品詞情報を出力する。当該テキストデータ(以下、入力テキスト)が漢字仮名混じり文である場合には、テキスト解析部101は、言語辞書(図示しない)を用いて、上記の各情報を生成する。あるいは、入力テキストが仮名入力またはアルファベットのような発音記号の入力である場合、テキスト解析部101は、仮名と同時に入力されるアクセント情報を用いて上記の各情報を生成する。たとえば「ホ’ンジツハ/セーテンナ’リ」のように、アクセント位置とアクセント句の境界を指定するテキストとが、同時に入力される。
韻律生成部102は、テキスト解析部101からの出力に基づいて作動可能なように、テキスト解析部101に接続される。韻律生成部102は、アクセント情報あるいは文の境界に基づいて、韻律情報を生成して出力する。韻律情報は、たとえば時間長、ピッチ、エネルギ(パワー)情報などを含む。一般的には、韻律情報は、音素単位に求められ、その後、内挿により各フレーム単位の情報として生成される。
音声素片格納部104は、予め生成された音声素片データを格納する。音声素片データは、たとえば音声素片生成部120によって生成される。音声合成装置100は、それが有するデータ入力インターフェイス(図示しない)を介して入力される音声素片データあるいは音声合成装置100を製造する際に音声素片データを予め音声素片格納部104に書き込むことにより、その音声素片データを音声素片格納部104に格納させることができる。
音声素片選択部103は、テキスト解析部101からの出力と、音声素片格納部104に格納されているデータとに基づいて作動可能なように、テキスト解析部101と音声素片格納部104とに接続される。音声素片選択部103は、各単語の読みから設定される発音記号列に従って、音声素片格納部104から各発音記号についての条件に合致する素片データを選択する。音声素片選択部103は、その選択した音声素片データから各フレーム毎の波形情報を取得し、合成部105に出力する。
合成部105は、韻律生成部102からの出力と、音声素片選択部103からの出力とに基づいて作動可能なように、韻律生成部102と音声素片選択部103とに接続される。合成部105は、韻律生成部102によって生成された韻律情報と、音声素片選択部103によって選択された音声素片データ(より詳しくは、その音声素片データから取得された波形情報)とに基づいて音声を合成する。合成部105は、その合成により生成された合成音声データを周波数フィルタ部106に送出する。
周波数フィルタ部106は、合成部105からの出力に基づいて作動可能なように合成部105に接続される。周波数フィルタ部106は、予め生成されたフィルタ情報を含む。このフィルタ情報は、たとえばスピーカ特性フィルタ生成部200によって生成される。スピーカ特性フィルタ生成部200は、音声合成装置100からの出力に基づいて音声を出力する出力部112における周波数特性に応じて合成音声を表わすデータのフィルタ処理のためのフィルタを生成する。このフィルタは、音声合成装置100のデータ記憶領域に保持される。保持される領域は、たとえば、周波数フィルタ部106の内部メモリ、周波数フィルタ部106によるアクセスが可能な他のメモリ等である。スピーカ特性フィルタ生成部200の構成の詳細は、後述する。
周波数フィルタ部106は、そのフィルタを用いて合成部105から出力される音声データの各周波数(特に低周波数帯域)に対応するエネルギーを変更するためのフィルタ処理を行なう。また他の局面においては、周波数フィルタ部106は、人間に聴取される音域のうち低音域(より好ましくは、約500Hz以下の音域)をフィルタ処理する。
周波数フィルタ部106は、そのようにしてフィルタ処理を行なったデータを増幅部107に送出する。増幅部107は、周波数フィルタ部106からの出力に基づいて作動するように周波数フィルタ部106に接続される。増幅部107は、周波数フィルタ部106によるフィルタ処理後のデータの振幅を増幅する。たとえば、増幅部107が16ビットの範囲で作動するように構成されている場合、増幅部107は、周波数フィルタ部106から出力されたデータに対して当該振幅の絶対値の最大値が16ビットで規定される最大値(たとえば、1ビットを符号に割り当てる場合、215)となる程度に各データを増幅する。増幅部107によって増幅されたデータは、音声合成装置100に接続される増幅装置110に送出される。
増幅装置110は、ある局面においては、具体的には、いわゆるアンプとして実現される。このアンプには、アナログ式のアンプおよびデジタル式のアンプのいずれでも適用可能である。増幅装置110からの出力は出力部112に入力される。出力部112は、その入力に基づく音声を出力する。出力部112は、たとえばスピーカ、ヘッドフォンが接続される端子などとして実現される。
次に、図2を参照して、本実施の形態に係るスピーカ特性フィルタ生成部200について説明する。図2は、スピーカ特性フィルタ生成部200のハードウェア構成を表わすブロック図である。スピーカ特性フィルタ生成部200は、主たる構成要素として、CPU(Central Processing Unit)210と、スピーカ特性フィルタ生成部200の使用者による指示の入力を受け付けるマウス220,キーボード230と、CPU210によるプログラムの実行により生成されるデータ、またはマウス220もしくはキーボード230を介して入力されるデータを一時的に(揮発的に)格納するためのRAM(Random Access Memory)240と、データを不揮発的に格納するハードディスク250と、発話を受け付けて当該発話に応じた電気信号を出力するマイク260と、マイク260に接続されてアナログ信号をデジタル信号に変換するA/D(Analog to Digital)コンバータ262と、デジタルの音声データから音声信号を生成して出力するサウンドカード270と、サウンドカード270から出力される信号に基づいて音声を出力するスピーカ272と、モニタ280と、通信I/F(Interface)290とを備える。各構成要素は、相互にデータバスによって接続されている。
スピーカ特性フィルタ生成部200は、たとえば一般的なコンピュータシステムにより実現される。スピーカ特性フィルタ生成部200における情報処理は、ハードウェアおよびCPU210により実行されるソフトウェアによって実現される。このようなソフトウェアは、ハードディスク250に予め格納されている場合がある。また、当該ソフトウェアは、CD−ROMその他の記録媒体に格納されて、プログラム製品として流通している場合もある。あるいは、当該ソフトウェアは、いわゆるインターネットに接続されている情報的事業者によってダウンロード可能なプログラム製品として提供される場合もある。このようなソフトウェアは、CD−ROM駆動装置その他の読取装置によってその記録媒体から読み取られて、あるいは通信I/F290を介してダウンロードされた後、ハードディスク250に一旦格納される。そのソフトウェアは、CPU210によってハードディスク250から読み出され、RAM240に実行可能なプログラムの形式で格納される。CPU210は、スピーカ特性フィルタ生成部200の外部から入力される実行指令に基づいてそのプログラムを実行する。
図2に示されるスピーカ特性フィルタ生成部200を構成するコンピュータシステムのハードウェアは、一般的なものである。したがって、周波数フィルタ部106が使用するフィルタを生成するために使用される方法の最も本質的な部分は、RAM240、ハードディスク250、CD−ROMその他の記録媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるとも言える。なお、コンピュータシステムのハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
ここで、音声素片データの作成方法の一例について説明する。音声素片データは、音声素片生成部120において生成される。ある局面においては、音声素片生成部120は、音声合成装置100とは別個に構成される。また、別の局面においては、音声素片生成部120は音声合成装置100に含まれていてもよい。
音声素片データを作成するために、まず、予め収録された発話データを格納している音声データベースに対して、手作業または周知の音声認識技術などを用いて、音素のラベリング(すなわち、波形区間と音素との対応付け)が行なわれる。また、当該音声データベースに対して、周知のピッチ分析手法を用いて、予めピッチマークを付与する。ピッチマークの付与は、たとえば、特開2001−109500号公報に開示されている。
次に、前述の音素ラベルに従い、各音素を代表する波形データが選択される。選択された波形データに関して、無声音(たとえば、k、s、tなど)では波形データをフレーム単位(たとえば5[msec]単位)に区切って保持される。一方、有声音(たとえば、母音a、i、u、e、o、有声子音b、d、gなど)では、各フレーム毎に、ピッチマークに従って代表ピッチ波形が抽出されて保持され、音声素片データとする。
また、他の方法に従う音声素片データの作成も可能である。たとえば、素片波形を生成するためのパラメータを用いても作成できる。
まず、上述の素片波形を作成する場合と同様に、無声音ならびに有声音について、フレーム単位の波形系列が求められる。無声音および有声音について、各フレーム毎に、波形データに対して周知の符号化処理技術を施すことにより、LPC(Linear Predictive Cepstrum:線形予測ケプストラム)、またはLSP(Linear Spectrum Pair:線スペクトル対)、またはPARCOR(PARtial auto-CORrelation:偏自己相関)などのスペクトルパラメータを抽出する。更に、必要に応じて、スペクトルパラメータ抽出時に残差信号を算出する。
次に、図3を参照して、本実施の形態に係る音声合成装置100のデータ構造について説明する。図3は、音声合成装置100が備える音声素片格納部104におけるデータの格納の一態様を概念的に表わす図である。音声素片格納部104は、データを格納するための複数の領域を有する。
具体的には、「a」についての音声素片データは、領域310に格納されている。「i」についての音声素片データは、領域320に格納されている。同様に、「u」、「b」、「d」、「k」、「s」についての各音声素片データは、領域330〜370に格納されている。その他の音声素片データも、音声素片格納部104に格納されている。
図4を参照して、音声合成装置100のデータ構造についてさらに説明する。図4は、音声素片格納部104におけるデータの格納の一態様を概念的に表わす図である。音声素片格納部104において、領域310は、データを格納するための領域311,312を含む。領域340は、データを格納するための領域341,342を含む。領域360は、データを格納するための領域361,362を含む。
領域311,341,361は、フレーム番号を表わすインデックスを格納する。たとえば、領域311は、1〜Aのフレーム番号を含む。
領域312,342,362は、各インデックスに対応付けられた波形情報を格納する。したがって、領域310は、A個の波形情報を有している。領域340は、B個の波形情報を有している。領域360は、K個の波形情報を有している。
図5を参照して、スピーカ特性フィルタ生成部200について説明する。図5は、スピーカ特性フィルタ生成部200の構成を概念的に表わす図である。スピーカ特性フィルタ生成部200は、マイク520と、A/D変換部530と、フーリエ変換部540と、振幅絶対値算出部550と、逆フーリエ変換部560と、窓掛け部570とを含む。スピーカ特性フィルタ生成部200は、マイク520を介して、出力部112から出力される音声の入力を受ける。
A/D変換部530は、たとえばA/Dコンバータとして実現される。フーリエ変換部540と、振幅絶対値算出部550と、逆フーリエ変換部560と、窓掛け部570とは、マイクロプロセッサ等の演算処理装置によって実現される。
なお、出力部112とスピーカ特性フィルタ生成部200とは、たとえば周囲のノイズによる影響を受けない場所、たとえば吸音機能を有する部屋、無響音室などにおいて使用されるのが好ましい。出力部112とスピーカ特性フィルタ生成部200との位置関係は、たとえば、音声合成装置100と音声合成装置100の使用者との位置関係に応じて規定されるのが好ましい。たとえば、音声合成装置100が携帯電話、携帯型ゲーム装置その他の携帯情報端末において実現される場合、音声合成装置100の使用者は、その装置を把持した状態で音声を聴くこととなる。そこで、出力部112とスピーカ特性フィルタ生成部200との距離も、そのような状態に対応する距離であることが好ましい。これにより、音声合成装置100が実際に使用される局面に対応したフィルタを生成することが可能となる。
出力部112は、スピーカ510を含む。また、他の局面においては、出力部112は、アンプとスピーカ510との組み合わせとしても実現され得る。出力部112には、音信号500が入力される。音信号500は、予め規定された信号特性(たとえば、音域の幅、音の強弱等)を有し、音の出力特性が異なる複数の出力部112の各々に共通に使用可能である。より具体的には、音信号500は、たとえば、ホワイトノイズのように全帯域が同じエネルギーを有する信号が好ましい。
音信号500が出力部112に与えられると、スピーカ510は、音信号500に応じた音声を出力する。スピーカ特性フィルタ生成部200において、マイク520は、その音声を集音すると、当該音声に応じたアナログの電気信号を出力する。アナログの電気信号は、A/D変換部530に入力される。
A/D変換部530は、アナログの電気信号をデジタル信号に変換する。変換後の信号は、たとえば、グラフ532に示される。デジタル信号は、フーリエ変換部540に入力される。
フーリエ変換部540は、デジタル信号を用いてフーリエ変換処理を実行する。処理後の結果は、たとえばグラフ542に示される。グラフ542は、フーリエ変換後のデータとして実部に対応するグラフ542Rと、虚部を表わすグラフ542Iとを含む。
振幅絶対値算出部550は、フーリエ変換部540による変換後の結果を用いて、周波数振幅の絶対値を算出する(グラフ552)。絶対値は、たとえばグラフ552Nとして表わされる。振幅絶対値算出部550による算出の結果は、逆フーリエ変換部560に入力される。
逆フーリエ変換部560は、振幅の絶対値を用いて逆フーリエ変換を行なう。変換の結果は、グラフ562として表わされる。この結果は、たとえばスピーカ特性フィルタ生成部200として機能するコンピュータシステムのディスプレイ装置に表示される。スピーカ特性フィルタ生成部200の使用者が、その表示内容に対して、窓掛けを行なうための閾値の入力を行なうと、窓掛け部570は、その閾値に基づいて窓掛け処理を行なう。処理後の結果は、フィルタデータ580として出力される。
図6を参照して、スピーカ特性フィルタ生成部200の制御構造についてさらに説明する。図6は、スピーカ特性フィルタ生成部200が実行する一連の動作を表わすフローチャートである。
ステップS610にて、スピーカ特性フィルタ生成部200は、出力部112から出力される音情報(s(t))の入力をマイク520を介して受け付ける。ここで、tは時間を表す変数である。音情報は、たとえばホワイトノイズである。
より具体的には、まず、出力部112に対して、周波数スペクトルの全帯域が同じエネルギーを有するホワイトノイズが入力される。このとき、出力部112から出力される音情報は、入力された「周波数スペクトルの全帯域が同じエネルギーを有するホワイトノイズ」であることが理想である。実際には、出力部112を構成する要素(たとえば、スピーカ、アンプ、D/Aコンバータなど)の性能等の影響により、帯域によってエネルギーの異なる音情報となる。また、マイクで得られる音情報は、必要に応じてA/D(アナログ−デジタル)コンバータでデジタル信号に変換される。
ステップS620にて、スピーカ特性フィルタ生成部200は、入力された音情報s(t)に対して、予め規定された第1の窓掛け処理Aを行なう。ここで、窓掛け処理Aに用いられる窓関数をHA(t)(tは時間を表す変数)として表わすと、窓掛け処理Aの後に得られる音情報s’(t)は、算式「s’(t)=HA(t)・s(t)」によって求められる。窓関数HA(t)は、たとえば、ハミング窓、ハニング窓など、周知の窓関数を用いればよい。また、窓関数HA(t)で定義される窓のサイズ、すなわち窓掛けによって切り出される時間領域の長さは、たとえば、「256」として設定されるが、その他の長さであってもよい。この長さは、たとえば、スピーカ特性フィルタ生成部200が備えるプロセッサの処理速度その他のハードウェアの制約に応じて規定され得る。
ステップS630にて、スピーカ特性フィルタ生成部200は、音情報s’(t)のフーリエ変換を行なう。フーリエ変換後の音情報S(ω)は、たとえば、算式「S(ω)=F(s’(t))」として求められる。ここで、ωは周波数を表す変数であり、Fはフーリエ変換を表す記号である。
ステップS640にて、スピーカ特性フィルタ生成部200は、音情報S(ω)から、振幅絶対値を算出する。音情報S(ω)の振幅絶対値S’(ω)は、たとえば、算式「S’(ω)=|S(ω)|」として求められる。ここで、記号||は、各周波数成分の振幅絶対値を算出することを表す。
ステップS650にて、スピーカ特性フィルタ生成部200は、振幅絶対値S’(ω)を正規化することにより、出力部112の周波数特性をゲインで表現する。出力部112の周波数特性G(ω)は、たとえば、算式「G(ω)=S’(ω)/max(S’(ω))」によって求められる。
ステップS660にて、スピーカ特性フィルタ生成部200は、出力部112の周波数特性G(ω)を、逆フーリエ変換することにより、時系列のフィルタ係数を算出する。時系列のフィルタ係数f(t)は、たとえば、算式「f(t)=F−1(S’(ω))」によって求められる。なお、F−1は逆フーリエ変換を表す記号である。
ステップS670にて、スピーカ特性フィルタ生成部200は、ステップS660にて求められた時系列のフィルタ係数f(t)に対して、予め規定された第2の窓掛け処理Bを行なうことにより、予め規定された要素数で構成されるフィルタ係数を算出する。
具体的には、窓掛け処理Bに用いる窓関数をHB(t)(tは時間を表す変数)として表わすと、窓掛け処理Bの後に得られるフィルタ係数f’(t)は、たとえば、算式「f’(t)=HB(t)・f(t)」によって求められる。窓関数HB(t)としては、たとえば、ハミング窓、またはハニング窓など、周知の窓関数が用いられる。また、窓関数HB(t)で定義する窓のサイズ、すなわち、窓掛けによって切り出される時間領域の長さは、たとえば、「64」等として設定されるが、その他の値が使用されてもよい。この値も、たとえば、スピーカ特性フィルタ生成部200が備えるプロセッサの処理速度その他のハードウェアの制約に応じて規定され得る。
ステップS680にて、スピーカ特性フィルタ生成部200は、フィルタ係数f’(t)を出力する。なお、精度をさらに高めるためには、ステップS620からステップS650までの処理を繰り返して複数回行ない、各処理の平均を算出すればよい。
上記では、フィルタ係数を全て数式に従って自動的に算出する場合について説明した。本発明の特徴の一つは、音声を出力する出力部112の周波数特性に基づくフィルタを生成することであり、出力部112の周波数特性は、ステップS650における振幅絶対値を正規化する処理にて求めることができる。したがって、ステップS660およびステップS670の処理は、ステップS650において求められる出力部112の周波数特性を表現するフィルタを生成する一例として説明されているが、上述の手順以外の手順により、出力部112の周波数特性を表現するフィルタが生成されてもよい。たとえば、予め作成された複数のフィルタ係数の候補から、ステップS650にて得られる出力部112の周波数特性に最も近い周波数特性を有するフィルタ係数を選択するようにしてもよい。
また、上記では、ステップS620乃至ステップS670にて、フーリエ変換を用いてFIR(Finite Impulse Response)フィルタを生成している。このような処理に代えて、ステップS630のフーリエ変換からステップS670の窓掛け処理Bまでの部分を線形予測分析に置き換えることにより、LPC(Liniear Predictive Coding)係数を求め、ステップS680でフィルタ係数としてLPC係数を出力することで、フィルタの生成を実現することも可能である。この場合、音声合成装置内の周波数フィルタ部での周波数特性の変換にIIR(Infinite Impulse Response)フィルタを用いればよい。
また、上記では、ステップS610にてホワイトノイズが入力される場合について説明したが、各周波数におけるエネルギーが異なる信号が入力される場合においても、音声を出力する出力部112の周波数特性に基づくフィルタを生成することが可能である。たとえば、ステップS650にて正規化して得られたゲインG(ω)と、別途ステップS620乃至ステップS650と同様の処理手順にて算出した元信号(出力部112に出力させるための信号)のゲインZ(ω)とを比較して、算式「R(ω)=G(ω)/Z(ω)」によって求められる各周波数成分における比率R(ω)をステップS660にて逆フーリエ変換し、ステップS670以降の処理を行えばよい。上記の図6に示す処理手順は、Z(ω)の各周波数におけるゲインが全て1の場合に相当するものであるといえる。
図7を参照して、本実施の形態に係る音声合成装置100の制御構造について説明する。図7は、音声合成装置100が実行する一連の処理を表わすフローチャートである。図7に示される動作は、音声合成装置100に対する実行指令が外部から与えられたとき、あるいはテキストデータ取得部190によって取得されたデータの中に当該動作を実行するための命令が含まれており、その命令が音声合成装置100に与えられた場合に実現される。
ステップS710にて、テキスト解析部101は、テキストデータ取得部190によって取得された入力テキストに基づいて音韻記号列を生成する。
ステップS720にて、テキスト解析部101は、入力テキストに基づいて言語属性情報を生成する。
ステップS730にて、韻律生成部102は、テキスト解析部101による解析の結果に基づいて韻律情報を生成する。
ステップS740にて、音声素片選択部103は、テキスト解析部101による解析の結果と音声素片格納部104に格納されている音声素片データとに基づいて、解析された入力テキストに合う音声素片データを選択する。
ステップS750にて、合成部105は、韻律生成部102によって生成された韻律情報と、音声素片選択部103によって選択された音声素片データとに基づいて音声信号を構成する。
ステップS760にて、周波数フィルタ部106は、予め格納しているフィルタを用いて、合成部105によって合成された音声信号に対する周波数フィルタリング(以下、フィルタ処理ともいう。)を実行する。この処理が実行されると、出力部112による周波数特性に応じて低音域の周波数がカットされる。なお、当該フィルタは、たとえば、周波数フィルタ部106を実現できるプロセッサが内蔵するメモリに格納される。
ステップS770にて、増幅部107は、周波数フィルタ部106によってフィルタ処理が実行された後の音声信号を増幅し、その増幅した信号を増幅装置110に送出する。
これにより、ひずみの生じないように増幅された信号に基づく音声が、音声合成装置100から出力される。なお、音声合成装置100は、具体的な構成としては、音声の出力機能を有する情報通信端末として実現される。当該情報通信端末は、たとえば携帯電話、PDA(Personal Digital Assistant)等である。
そこで、図8を参照して、実施の形態に係る音声合成装置100として機能する携帯電話800について説明する。図8は、携帯電話800のハードウェア構成を表わすブロック図である。
携帯電話800は、アンテナ802と、通信回路804と、操作ボタン806と、カメラ808と、CPU810と、フラッシュメモリ812と、RAM814と、データ用ROM816と、A/Dコンバータ822と、マイク820と、D/A(Digital to Analog)コンバータ824とスピーカ826と、ディスプレイ830と、LED(Light Emitting Diode)832と、データ通信I/F834と、バイブレータ836と、メモリカード駆動装置840とを備える。メモリカード駆動装置840には、メモリカード842が装着可能である。
アンテナ802と通信回路804とは、電気的に接続されている。CPU810は、通信回路804と、操作ボタン806と、カメラ808と、フラッシュメモリ812と、RAM814と、データ用ROM816と、メモリカード840と、A/Dコンバータ822と、D/Aコンバータ824と、ディスプレイ830と、LED832と、データ通信I/F834と、バイブレータ836とに対してそれぞれ電気的に接続されている。
アンテナ802によって受信された電波は、通信回路804によって予め規定された処理が実行された後、デジタル信号としてCPU810に伝送される。当該電波は、通話のための電波およびデータ送信のための電波を含む。当該電波に含まれる情報は、電子メール、ウエブページなどのテキスト情報も含む。CPU810は、そのようなデジタル信号を内部処理し、処理後の信号をD/Aコンバータ824あるいはディスプレイ830に伝送する。
D/Aコンバータ824は、CPU810から出力されるデジタル信号をアナログ信号に変換し、スピーカ826に送出する。スピーカ826は、そのアナログ信号に基づいて音声(すなわち着信を受けた電話)を出力する。
マイク820は、携帯電話800に対する発話を受け付けて、その発話に応じた電気信号を出力する。A/Dコンバータ822は、マイク820によって出力された信号をデジタル変換処理し、CPU810に送出する。CPU810は、その信号を送信用の信号に変換し、通信回路804に送出する。通信回路804は、アンテナ802を介してその信号を無線送信する。このようにして、携帯電話800の使用者は他の相手と通話することができる。
操作ボタン806は、たとえば文字あるいは数字の入力操作を受け付けるためのボタンとして実現される。また、他の局面においては当該入力を受け付ける構成として操作ボタン806の変わりに、ジョグダイヤル、タッチパネルその他の操作部として実現されてもよい。操作ボタン806は、携帯電話800に対する操作を受け付けて、その操作に応じた信号をCPU810に送出する。操作ボタン806に対する操作は、携帯電話800の使用者が文字を入力するための操作、受信された電子メールを表示するための操作、フラッシュメモリ812その他のメモリに格納されている音声データを再生するための操作などを含む。
カメラ808は、操作ボタン806に対する操作に基づいて被写体を撮影し、その撮影により取得された信号をCPU810に送出する。カメラ808は、当該被写体を静止画としてあるいは動画として撮影することができる。CPU810は、そのような信号を一時的に保持し、操作ボタン806に対する保存の指示に基づいてフラッシュメモリ812に確保された領域に書き込みを行なう。
RAM814は、操作ボタン806に対して行なわれた操作に基づいてCPU810によって生成されたデータを一時的に保持する。あるいは、RAM814は、アンテナ802によって受信された電波に含まれるデータを一時的に保持する。データ用ROM816は、携帯電話800によって予め規定された動作を実行させるためのデータあるいはアプリケーションプログラムなどを格納する。CPU810は、データ用ROM816から当該データあるいはアプリケーションプログラムを読み出し、携帯電話800について予め規定された処理あるいは携帯電話800の動作を制御するための処理等を実行する。
ここで、アプリケーションプログラムには、テキストを読み上げる再生プログラム、フラッシュメモリ812に格納されている音声データを再生するためのプログラムなどが含まれる。
ディスプレイ830は、CPU810から出力されるデータに基づいてそのデータによって規定される画像あるいは映像を表示する。たとえば、CPU810がフラッシュメモリ812に格納されている動画データを読み出すと、ディスプレイ830はそのデータに応じた映像を表示する。
LED832は、CPU810から出力される信号に基づいて予め規定された発光動作を実現する。たとえば、LED832が複数の色を表示可能な場合には、LED832は、CPU810から出力される信号に含まれるデータに基づいてそのデータによって規定される色で発光する。
データ通信I/F834は、外部から通信用のケーブルの装着を受け付ける。データ通信I/F834は、CPU810から出力される信号を当該ケーブルに対して送出する。あるいは、データ通信I/F834は、ケーブルを介して受信される信号をCPU810に対して送出する。
バイブレータ836は、CPU810から出力される信号に基づいて予め規定された周波数で振動動作を実行する。
メモリカード駆動装置840は、メモリカード842の装着を受け付ける。メモリカード842がメモリカード駆動装置840に装着されている場合、CPU810がメモリカード駆動装置840に対してデータの読出命令を送出すると、メモリカード駆動装置840は、その命令に応答してメモリカード842に格納されているデータを読み出す。メモリカード駆動装置840は、逆に、CPU810によって出力される書込命令に応答して、RAM814に格納されているデータをメモリカード842に格納する。メモリカード842は、たとえばフラッシュメモリにより実現されるが、その他の媒体によって実現されてもよい。
このような構成において、CPU810は、図1に示される音声合成装置100として機能し得る。また、通信回路804およびCPU810は、テキストデータ取得部190としても機能する。テキストデータ取得部190は、また他の局面においては操作ボタン806によって実現される。あるいはテキストデータ取得部190は、メモリカード842が装着されたメモリカード駆動装置840とCPU810とによっても実現される。
そこで、図9を参照して、音声合成装置100として機能するCPU810について説明する。図9は、CPU810によって実現される機能の構成を表わすブロック図である。CPU810は、テキスト解析部910と、韻律生成部920と、音声素片選択部930と、合成部940と、周波数フィルタ部950と、増幅部960とを備える。
テキスト解析部910は、取得されたテキストを解析し、当該テキストに含まれている各単語の読みとアクセント情報とを出力する。テキスト解析部910は、図1に示されるテキスト解析部101に実現される機能を実現する。
韻律生成部920は、テキスト解析部910からの出力に基づいて作動するようにテキスト解析部910に接続される。韻律生成部920は、図1に示される韻律生成部102によって実現される機能を同様に実現する。
音声素片選択部930は、テキスト解析部910からの出力と、フラッシュメモリ812その他のメモリに格納されているデータとに基づいて作動するように、テキスト解析部910とフラッシュメモリ812とに接続される。音声素片選択部930は、図1に示される音声素片選択部103によって実現される機能を同様に実現する。
合成部940は、韻律生成部920からの出力と音声素片選択部930からの出力とに基づいて作動するように、韻律生成部920と音声素片選択部930とにそれぞれ接続される。合成部940は、図1に示される合成部105によって実現される機能と同様の機能を実現する。
周波数フィルタ部950は、合成部940からの出力と、スピーカ826の周波数特性に応じて予め作成されたフィルタであって、フラッシュメモリ812に格納されているフィルタとに基づいて作動するように、合成部940とフラッシュメモリ812とに接続される。周波数フィルタ部950は、図1に示される周波数フィルタ部106によって実現される機能と同様の機能を実現する。
増幅部960は、周波数フィルタ部950からの出力に基づいて作動するように周波数フィルタ部950に接続される。増幅部960は、図1に示される増幅部107によって実現される機能と同様の機能を実現する。増幅部960からの出力は、D/Aコンバータ824に入力される。
次に、図10を参照して、本実施の形態に係る音声合成装置100として機能するゲーム装置1000について説明する。図10は、ゲーム装置1000のハードウェア構成を表わすブロック図である。ゲーム装置1000は、操作ボタン1002と、データROM1004と、プログラム用ROM1006と、RAM1008と、CPU1010と、D/Aコンバータ1030と、アンプ1040と、スピーカ1050と、液晶ディスプレイ1060と、カードコネクタ1070とを備える。カードコネクタ1070には、ゲームカートリッジ1080が装着可能である。操作ボタン1002は、ゲーム装置1000に対する操作を受け付けて、当該操作に応じた信号をCPU1010に送出する。データROM1004は、ゲーム装置1000を実現するために予め作成された制御データを格納する。プログラム用ROM1006は、予め規定された処理をゲーム装置1000に実行させるためのプログラム(たとえばオペレーティングシステム)を格納する。RAM1008は、ゲーム装置1000の動作中に生成されるデータ、あるいはカードコネクタ1070を介してゲームカートリッジ1080から読み取られたデータを一時的に保持する。
CPU1010は、操作ボタン1002とデータROM1004とプログラム用ROM1006とRAM1008とカードコネクタ1070からの各出力信号に基づいて作動可能なように、操作ボタン1002とデータROM1004とプログラム用ROM1006とRAM1008とカードコネクタ1070とにそれぞれ接続される。
CPU1010は、ゲームカートリッジ1080に格納されている映像データ1082および音声データ1084を用いて、ゲームカートリッジ1080に応じた機器としてゲーム装置1000を作動させるための処理を実行する。具体的には、CPU1010は、カードコネクタ1070を介して映像データ1082を読み出し、そのデータに基づく映像を液晶ディスプレイ1060に表示させる。また、CPU1010は、カードコネクタ1070を介して音声データ1084を読み出し、そのデータに基づく音声をスピーカ1050に出力させる。
ここで、スピーカ1050は、ゲーム装置1000の携帯性の観点からサイズおよび出力が制限されている。
CPU1010は、音声データ1084に基づく音声をスピーカ1050に出力させる場合、スピーカ1050による出力特性を超えない程度に音声データを加工し、D/Aコンバータ1030に送出する。ここで、スピーカ1050の出力特性は、より特定的には周波数特性をいう。
具体的には、CPU1010は、図1に示される音声合成装置100によって実現される機能を実現する。すなわち、CPU1010は、テキスト解析部101と韻律生成部102と音声素片選択部103と合成部105と周波数フィルタ部106と増幅部107として機能する。また、図1に示される音声素片格納部104は、たとえばデータROM1004によって実現される。
なお、本実施の形態に係る音声合成装置100は、音声出力機能を有するコンピュータシステムによっても実現可能である。そこで、図11を参照して、音声合成装置100として機能するコンピュータシステム1100について説明する。図11は、コンピュータシステム1100のハードウェア構成を表わすブロック図である。
コンピュータシステム1100は、主たる構成要素として、演算制御処理を実行するCPU1110と、コンピュータシステム1100の使用者による指示の入力を受け付けるマウス1120およびキーボード1130と、CPU1110によるプログラムの実行により生成されたデータまたはマウス1120もしくはキーボード1130を介して入力されたデータを揮発的に格納するためのRAM1140と、データを不揮発的に格納するハードディスク1150と、CD−ROM駆動装置1160と、音声データから音声信号を生成して出力するサウンドカード1170と、サウンドカード1170から出力される信号に基づいて音声を出力するためのスピーカ1172と、映像を表示するモニタ1180と、通信回線(図示しない)を介して外部と通信するための通信I/F1190とを備える。各構成要素は、相互にデータバスによって接続されている。CD−ROM駆動装置1160には、CD−ROM1162その他の記録媒体が装着可能である。
コンピュータシステム1100における情報処理は、ハードウェアおよびCPU1110により実行されるソフトウェアの協働によって実現される。このようなソフトウェアは、ハードディスク1150に予め格納されている場合がある。また、ソフトウェアは、CD−ROM1162その他の記録媒体に格納されて、プログラム製品として流通している場合もある。あるいは、当該ソフトウェアは、いわゆるインターネットその他の通信回線に接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。このようなソフトウェアは、CD−ROM駆動装置1160その他の読取装置によってその記録媒体から読み取られて、あるいは、通信I/F1190を介してダウンロードされた後、ハードディスク1150に一旦格納される。そのソフトウェアは、CPU1110によってハードディスク1150から読み出され、RAM1140に実行可能なプログラムの形式で格納される。CPU1110は、そのプログラムの実行指令に基づいて当該プログラムを実行する。
図11に示されるコンピュータシステム1100を構成するハードウェアは、一般的なものである。したがって、本発明の最も本質的な部分は、RAM1140、ハードディスク1150、CD−ROM1162その他の記録媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、コンピュータシステム1100の各構成要素の動作は周知であるので、詳細な説明は繰り返さない。
なお、記録媒体としては図11に示されるようなCD−ROM1162、ハードディスク1150などに限られず、その他の媒体(たとえば磁気テープ、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、IC(Integrated Circuit)カード、(メモリカードを含む)、光カード、マスクROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electronically Erasable Programmable Read Only Memory)、フラッシュROMなどの半導体メモリなどの固定的にプログラムを担持する媒体でもよい。
また、上記のプログラム製品には、CPU1110によって直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラムなどをも含む。
以上のようにして、本発明の第1の実施の形態に係る音声合成装置100は、周波数フィルタ部106と出力部112とを有する。周波数フィルタ部106は、出力部112の周波数特性に応じて予め作成されたフィルタに基づいてフィルタ処理を実行する。
このようにすると、出力部で再生できない周波数帯域のエネルギーが波形データ上で削減され、波形データの振幅が小さくなる。これにより、当該フィルタ処理が実行された後の音声波形を増幅することができる。その結果、当該フィルタ処理を施されない場合に比べて、より高い増幅を施すことができるため、より大きな音量の音声を出力することができる。
上記の本実施の形態においては、入力されたテキストから、テキスト解析部101、韻律生成部102、音声素片選択部103、合成部105を介して合成音声が生成される場合が説明された。しかしながら、音声の合成は、当該実施の形態に示される態様に限られない。
本発明の特徴の一つは、出力部112の周波数特性に基づくフィルタを、音声信号に施した後に増幅することである。したがって、スピーカ特性フィルタ生成部200で生成された出力部112の周波数特性に基づくフィルタを用いて、入力音声信号にフィルタ処理を施す周波数フィルタ部106と、周波数フィルタ部106でフィルタ処理を施された音声信号を増幅する増幅部107と、出力部112とを少なくとも備えることにより、音声合成装置を構成してもよい。
すなわち、たとえば、ハードディスクまたはRAMその他の記憶装置に格納されている音声波形データを、周波数フィルタ部106に入力することにより、いわゆる音声再生機能を有する装置として、音声合成装置を構成してもよい。その結果、テキスト音声合成に限らず、録音された音声の再生や、ROMまたはハードディスクその他の記憶装置あるいは記録媒体に予め記録された音声波形データや、ネットワークなどを介して取得された音声波形データなどを再生する場合においても、当該フィルタ処理を施されない場合に比べて、より高い増幅を施すことができるため、より大きな音量の音声を出力することができる。
<第2の実施の形態>
以下、本発明の第2の実施の形態について説明する。本実施の形態に係る音声合成装置は、音声素片データのフィルタ処理を行なう機能を有する点で、第1の実施の形態に係る音声合成装置100と異なる。
そこで、図12を参照して、音声合成装置1200について説明する。図12は、音声合成装置1200によって実現される機能の構成を表わすブロック図である。音声合成装置1200は、図1に示される音声合成装置100の構成に対して、合成部105に代えて合成部1205、および周波数フィルタ部106に代えて周波数フィルタ部1206を有する点で異なる。
周波数フィルタ部1206は、音声素片選択部103からの出力に基づいて作動可能なように、音声素片選択部103に接続されている。周波数フィルタ部1206は、音声素片選択部103によって選択された素片データに対して予め作成されたフィルタを用いてフィルタ処理を実行する。このフィルタは、スピーカ特性フィルタ生成部200によって生成された出力部112の周波数特性に応じたフィルタである。
合成部1205は、韻律生成部102からの出力と、周波数フィルタ部1206からの出力とに基づいて作動可能なように、韻律生成部102と周波数フィルタ部1206とに接続される。合成部1205は、韻律生成部102によって生成された韻律情報と、周波数フィルタ部1206によってフィルタ処理が実行された後の音声素片データとを用いて音声データを合成する。合成部1205は、合成したデータを増幅部107に送出する。
図13を参照して、本実施の形態に係る音声合成装置1200の制御構造について説明する。図13は、音声合成装置1200が実行する一連の動作を表わすフローチャートである。なお、第1の実施の形態における処理と同一の処理には同一のステップ番号を付し、ここではそれらについての説明は繰り返さない。
ステップS1350にて、周波数フィルタ部1206は、音声素片選択部103によって選択された素片データによって規定される音声が有声音であるか否かを判断する。周波数フィルタ部1206がその音声は有声音であると判断すると(ステップS1350にてYES)、制御はステップS1360に移される。そうでない場合には(ステップS1350にてNO)、制御はステップS1370に移される。
ステップS1360にて、周波数フィルタ部1206は、予め生成されたフィルタを用いて、有声音を表わす素片データに対して周波数フィルタリング(フィルタ処理)を実行する。
ステップS1370にて、合成部1205は、韻律生成部102によって生成された韻律情報と周波数フィルタ部1206から出力される音声素片データとに基づいて音声信号を合成する。合成された信号は、増幅部107に送出される。
ステップS1380にて、増幅部107は、予め規定されたビットを上限として当該音声信号を増幅する。増幅部107は、その増幅したデータを増幅装置110に送出する。
以上のようにして、本発明の第2の実施の形態に係る音声合成装置1200によると、出力部の周波数特性に応じたフィルタを用いて音声素片データにフィルタ処理を実行する。その結果、スピーカのような出力部で再生できない周波数帯域のエネルギーが波形データ上で削減され、音声素片波形データの振幅が小さくなる。そこで、当該フィルタ処理が施された音声波形を増幅することにより、当該フィルタ処理が施されない場合に比べて、より高い増幅を施すことができ、より大きな音量の音声を出力することができる。
また、音声素片にフィルタ処理を施すことにより、音韻種別に応じたフィルタ処理の有無、あるいは、フィルタの種類を変更することができる。その結果、より明瞭な音声をより大きな音量で出力することができる。また、上述の説明では、ステップS1350にて有声音であるか否かを判断する場合について説明したが、たとえば、母音であるか否かを判断するように構成してもよい。
<第3の実施の形態>
以下、本発明の第3の実施の形態について説明する。本実施の形態に係る音声合成装置は、予めフィルタ処理が実行された素片データを用いて音声を合成する機能を有する点で、前述の各実施の形態に係る音声合成装置と異なる。
そこで、図14を参照して、本実施の形態に係る音声合成装置1400について説明する。図14は、音声合成装置1400によって実現される機能の構成を表わすブロック図である。音声合成装置1400は、テキスト解析部101と、韻律生成部102と、音声素片選択部103と、音声素片格納部104と、合成部105と、増幅部107とを備える。
テキスト解析部101は、音声合成装置1400に対して入力されるテキストデータ(たとえばテキストデータ取得部190から出力されるテキストデータ)に基づいて作動するように構成される。韻律生成部102は、テキスト解析部101からの出力に基づいて作動可能なようにテキスト解析部101に接続される。音声素片選択部103は、テキスト解析部101からの出力と、音声素片格納部104に格納されているデータとに基づいて作動可能なようにテキスト解析部101および音声素片格納部104に接続される。
合成部105は、韻律生成部102からの出力と音声素片選択部103からの出力とに基づいて作動可能なように韻律生成部102および音声素片選択部103に接続される。
増幅部107は、合成部105からの出力に基づいて作動可能なように合成部105に接続される。
なお、音声合成装置1400に含まれる各構成は、図1に示される音声合成装置100によって実現される構成と同様の機能を有する。したがって、ここではそれらについての説明は繰り返さない。
図15を参照して、本実施の形態に係る音声合成装置1400の制御構造について説明する。図15は、音声合成装置1400が実行する一連の処理を表わすフローチャートである。
ステップS1540にて、音声素片選択部103は、テキスト解析部101からの出力に基づいて音声素片格納部104に格納されているフィルタ処理が実行された音声素片データを選択する。ステップS1550にて、合成部105は、韻律生成部102によって生成された韻律情報と音声素片選択部103によって選択された音声素片データとに基づいて音声信号を合成する。ステップS1560にて、増幅部107は、合成された音声信号を予め規定されたビット数に対応する上限値に応じて増幅する。
以上のようにして、本発明の第3の実施の形態に係る音声合成装置1400は、スピーカのような出力部の周波数特性に応じたフィルタを用いて周波数フィルタリングを予め施された音声素片データを格納している。音声合成装置1400は、そのような音声素片データを用いて音声合成を行なうことにより、音声素片波形データの振幅を小さくすることができる。その結果、音声合成装置1400は、音声素片または音声素片を用いて合成した音声の波形を増幅することにより、当該周波数フィルタリングが施されない場合に比べてより高い増幅を施すことができる。音声合成装置1400は、より大きな音量の音声を出力することができる。
また、音声合成装置1400は、当該フィルタを用いて周波数フィルタリングが予め施された音声素片を格納している。このため、音声合成装置1400は、音声合成時に、リアルタイムのフィルタ処理を行なう必要がない。その結果、精度のより高い周波数特性を有するフィルタを用いることができる。
<第4の実施の形態>
以下、本発明の第4の実施の形態について説明する。本実施の形態に係る音声合成装置は、音声出力装置の出力特性に応じて予め生成された音源を用いて音声を合成する機能を有する点で、前述の各実施の形態に係る音声合成装置と異なる。
そこで図16を参照して、本実施の形態に係る音声合成装置1600の構成について説明する。図16は、音声合成装置1600によって実現される各機能の構成を表わすブロック図である。音声合成装置1600は、図14に示される音声合成装置1400の構成に対して、音声素片選択部103の代わりに音声素片選択部1603を備える。さらに、音声合成装置1600は、音声素片格納部104に代えて音源格納部1601と素片情報格納部1602とを備える。
音声素片選択部1603は、テキスト解析部101からの出力と、音源格納部1601に格納されているデータと、素片情報格納部1602に格納されているデータとに基づいて作動可能なようにテキスト解析部101と音源格納部1601と素片情報格納部1602とにそれぞれ接続される。
音源格納部1601は、音源生成部1610によって予め作成された音源データを格納する。素片情報格納部1602は、素片情報生成部1620によって予め生成された素片情報を格納する。ここで、音源生成部1610は、音源データを生成する際に、スピーカ特性フィルタ生成部200によって生成された出力部112の周波数特性に応じたフィルタを用いる。
図17を参照して、本実施の形態に係る音声合成装置1600の制御構造について説明する。図17は、音声合成装置1600が実行する一連の処理を表わすフローチャートである。
ステップS1740にて、音声素片選択部1603は、テキスト解析部101による解析の結果に基づいて、素片情報格納部1602から音声素片スペクトル情報データ等の素片情報を選択する。
ステップS1750にて、音声素片選択部1603は、テキスト解析部101による解析の結果に基づいて、その音声が有声音であるか否かを判断する。音声素片選択部1603がその音声は有声音であると判断すると(ステップS1750にてYES)、制御はステップS1760に移される。そうでない場合には(ステップS1750にてNO)、制御はステップS1770に移される。
ステップS1760にて、音声素片選択部1603は、音源格納部1601から有声音用の音源を選択する。ステップS1770にて、音声素片選択部1603は、音源格納部1601から無声音用の音源を選択する。
ステップS1780にて、合成部105は、韻律生成部102によって生成された韻律情報と音声素片選択部1603によって選択された音源および素片情報格納部1602から読み出された素片データとに基づいて音声信号を合成する。ステップS1790にて、増幅部107は、合成部105によって合成された音声信号を予め規定されたビットの上限値まで増幅する。
以上のようにして、本発明の第4の実施の形態に係る音声合成装置1600は、周波数フィルタリングが予め施された音源信号を格納している。音声合成装置1600は、音声素片波形データの振幅を小さくできる音源を使用することができる。その結果、音声合成装置1600は、当該音源信号、または当該音源信号を用いて合成した音声波形を増幅することにより、当該周波数フィルタリングが施されない場合に比べてより高い増幅を施すことができる。音声合成装置1600は、より大きな音量の音声を出力することができる。
また、音声合成装置1600は、当該フィルタを用いて周波数フィルタリングが予め施された音源信号を格納している。そのため、音声合成時におけるリアルタイムのフィルタ処理が不要となり、音声合成装置1600は、精度のより高い周波数特性を有するフィルタを用いることができる。
また、上述の説明では、ステップS1750にて有声音であるか否かを判断する場合について説明したが、このような構成に限られない。たとえば、母音であるか否かを判断するように構成し、ステップS1760では母音用音源を選択し、ステップS1770では子音用音源を選択するようにしてもよい。
図18および図19を参照して、本発明の第4の実施の形態に係る音声合成装置1600のデータ構造について説明する。図18および図19は、音声合成装置1600が備える素片情報格納部1602におけるデータの格納の一態様を概念的に表わす図である。音声素片格納部1602は、データを格納するための複数の領域を有する。
図18に示されるように、具体的には、「a」についての音声素片スペクトル情報データは、領域1810に格納されている。「i」についての音声素片スペクトル情報データは、領域1820に格納されている。同様に、「u」、「b」、「d」、「k」、「s」についての各音声素片スペクトル情報データは、領域1830〜1870に格納されている。その他の音声素片スペクトル情報データも、音声素片格納部1602に格納されている。
図19を参照して、領域1810は、データを格納するための領域1811,1812,1813を含む。領域1840は、データを格納するための領域1841,1842,1843を含む。領域1860は、データを格納するための領域1861,1862,1863を含む。
領域1811、1841,1861は、フレーム番号を表わすインデックスを格納する。たとえば、領域1811は、1〜Aのフレーム番号を含む。
領域1812,1842,1862は、各インデックスに対応付けられたLSPを格納する。したがって、領域1810は、A個のLSPを有している。領域1840は、B個のLSPを有している。領域1860は、K個のLSPを有している。
ここで、一般に、1つのフレームに対応するLSPは、複数個のパラメータから構成される。すなわち、1つのフレームを構成するLSPパラメータ群を1セットとすると、上述の「A個のLSP」は、「セット数AのLSP」という意味を表す。
領域1813,1843,1863は、各インデックスに対応付けられた音素が有声音であるか無声音であるかを表わすデータを格納する。たとえば、領域1810が母音「a」についてのデータを格納する領域である場合、領域1813には、母音「a」が有声音であることを表わすデータがそれぞれ格納される。領域1840に格納されるデータが「b」である場合にも、同様のデータが領域1843に格納される。
一方、領域1860が「k」についてのデータを格納している場合、当該「k」が無声音であることを表わすデータが領域1863に格納される。
図20および図21を参照して、本発明の第4の実施の形態に係る音声合成装置1600におけるデータ構造についてさらに説明する。図20および図21は、音声合成装置1600が備える音源格納部1601におけるデータの格納の一態様を概念的に表わす図である。
図20に示されるように、音源格納部1601は、データを格納するための領域2010,2020を含む。領域2010は、有声音の音源データを格納している。領域2020は、無声音の音源データを格納している。
より具体的には、図21に示されるように、領域2010は、インパルスに周波数フィルタを施した情報2011を格納している。領域2020は、ランダムノイズ情報2012を格納している。
そこで、図22を参照して、本発明の実施の形態の他の局面におけるスピーカ特性フィルタ生成部2230について説明する。図22は、スピーカ特性フィルタ生成部2230の構成を概念的に表わす図である。
スピーカ特性フィルタ生成部2230は、マイク2240と、A/D変換部2250と、平均部2260と、窓掛け部2270と、データを保持するためのメモリ(図示しない)を備える。平均部2260と窓掛け部2270とは、たとえばプロセッサによって実現される。
スピーカ特性フィルタ生成部2230は、マイク2240を介して、出力部2220のような外部の音源から音情報の入力を受け付ける。出力部2220とスピーカ特性フィルタ生成部2230とは、前述のように、音声合成装置100が実際に使用される局面に応じて規定される距離だけ離されている。
出力部2220は、信号の入力を受け付ける入力インターフェイス(図示しない)に加えて、スピーカ2222を備える。出力部2220には、インパルス信号2210が与えられる。
出力部2220は、入力インターフェイスを介してインパルス信号2210の入力を受け付けると、その信号に応じた音をスピーカ2222を介して出力する。
スピーカ特性フィルタ生成部2230において、マイク2240は、その音声の入力を受けると、当該音声に応じたアナログの電気信号を出力する。アナログの電気信号は、A/D変換部2250に入力される。A/D変換部2250は、アナログの電気信号をデジタルの電気信号に変換して、出力する。この出力は、たとえば、メモリに蓄積される。
平均部2260は、当該メモリに蓄積された少なくとも1つ以上の出力を用いて、デジタル信号の平均値を算出する。平均値を算出することにより、スピーカ特性フィルタ生成部2230に与えられる音情報のばらつきの影響が抑制される。平均部2260によって算出された平均値は、窓掛け部2270に送出される。窓掛け部2270は、前述したように、ハニング窓、ハミング窓のような窓関数を用いて、窓掛け処理を行なう。その結果、スピーカ特性フィルタ2272が導出される。
図23を参照して、スピーカ特性フィルタを用いた場合における音声信号の波形の変化について説明する。図23は、スピーカ特性フィルタ580を用いる音声合成装置100における波形の変化を表わす図である。
音声信号の処理が行なわれる前の波形として、たとえばグラフ2310において示されるような波形(グラフ2320に示されるような振幅スペクトル)を有する信号が処理の対象となる。周波数フィルタ部106は、スピーカ特性フィルタとして、グラフ2330に示されるような振幅スペクトルを有するフィルタ(グラフ2330)を使用する。
周波数フィルタ部106が、当該フィルタを用いてグラフ2310に示されるような信号にフィルタ処理を行なうと、グラフ2350に示されるように、うなりの成分が除去された信号が出力される。この信号の振幅スペクトルについてみると、グラフ2360に示されるように、フィルタ処理前においては、点線部分として示されていた周波数成分が削り取られ、実線部分のような特性を有する信号に変わる。
増幅部107が、周波数フィルタ部106によってフィルタ処理された信号の入力を受けて、増幅処理を行なうと、グラフ2370に示されるような信号(処理後波形)が生成される。振幅スペクトルでみると、グラフ2380に示されるように、フィルタ処理前の信号を表わす点線部分に対して、低周波(たとえば約500Hz以下)の領域のピーク値が低下している。そのため、高周波領域のピークを、音声合成装置100における出力部112で表現可能な振幅の限界に相当するレベルまで引き上げることができる。その結果、従来よりも大きな音で、かつ、低音の割れのような歪みのない音声の出力が可能になる。
以上のようにして、本発明の実施の形態に係る音声合成装置によると、音声波形に対する周波数フィルタリング処理は、スピーカを含む出力部の周波数特性に応じて生成されたフィルタを用いて行なわれる。その結果、出力部で再生できない周波数帯域のエネルギーが波形データ上で削減され、波形データの振幅が小さくなる(たとえば、図23、グラフ2350における周波数フィルタリング後の音声波形参照)。
そこで、当該周波数フィルタリングを施された音声波形を増幅することにより、当該周波数フィルタリングを施されない場合に比べてより高い増幅を施すことができる。その結果、より大きな音量の音声を出力することができる(図23におけるグラフ2370参照)。
また、出力部の周波数特性に応じたフィルタを用いて音声素片に周波数フィルタリングを施すことにより、スピーカのような出力部で再生できない周波数帯域のエネルギーが波形データ上で削減され、音声素片波形データの振幅が小さくなる。そこで、当該周波数フィルタリングを施された音声波形を増幅することにより、当該周波数フィルタリングを施されない場合に比べてより高い増幅を施すことができる。その結果、より大きな音量の音声を出力することができる。
また、音声素片に周波数フィルタリングを施すことにより、音韻種別に応じたフィルタ処理の有無、あるいは、フィルタの種類を変更することができる。その結果、より明瞭な音声をより大きな音量で出力することができる。
また、他の局面において、音声合成装置は、スピーカのような出力部の特性に応じたフィルタを用いて周波数フィルタリングを予め施された音声素片を格納している。当該音声装置は、そのような音声素片データを用いて音声合成を行なうことにより、音声素片波形データの振幅を小さくすることができる。その結果、音声合成装置は、音声素片または音声素片を用いて合成した音声の波形を増幅することにより、当該周波数フィルタリングを施されない場合に比べてより高い増幅を施すことができる。その結果、音声合成装置は、より大きな音量の音声を出力することができる。
また、音声合成装置は、当該フィルタを用いて、周波数フィルタリングを予め施された音声素片を格納している。その結果、音声合成装置においては、音声合成時における実時間のフィルタ処理が不要となり、精度のより高い周波数特性を有するフィルタを用いることができる。
また、他の局面における音声合成装置は、当該フィルタを用いて周波数フィルタリングが予め施された音源信号を格納している。このような音声合成装置においては、音声素片波形データの振幅を小さくすることができる。その結果、当該音源信号または当該音源信号を用いて合成した音声波形を増幅することにより、当該周波数フィルタリングが施されない場合に比べてより高い増幅を施すことができる。その結果、音声合成装置は、より大きな音量の音声を出力することができる。
また、音声合成装置は、当該フィルタを用いて周波数フィルタリングが予め施された音源信号を格納している。そのため、音声合成時におけるリアルタイムのフィルタ処理が不要となり、当該フィルタとして、精度のより高い周波数特性を有するフィルタを用いることができる。
さらに、他の局面に従う音声合成装置は、当該フィルタを用いて、周波数フィルタリングが予め施されたスペクトルパラメータを格納している。その結果、音声合成時における音声素片波形データの振幅が小さくなる。そこで、音声合成装置は、当該スペクトルパラメータ、または当該スペクトルパラメータを用いて合成した音声波形を増幅することにより、当該周波数フィルタリングが施されない場合に比べてより高い増幅を施すことができる。その結果、音声合成装置は、より大きな音量を出力することができる。
また、音声合成装置は、当該フィルタを用いて周波数フィルタリングが予め施されたスペクトルパラメータを格納している。そのため、音声合成時におけるリアルタイムのフィルタ処理が不要となり、音声合成装置は、当該フィルタとして、精度のより高い周波数特性を有するフィルタを用いることができる。その結果、音声合成装置は、より明瞭な音声を出力することができる。
また、上記の実施の形態は、スピーカ特性フィルタ生成部200と音声合成装置100とが独立した装置であることを前提に説明しており、音声合成装置100で用いられる出力部112の周波数特性に基づくフィルタを予め作成しておく場合について説明した。
ここで、他の局面に従う音声合成装置として、次のように構成することも可能である。すなわち、スピーカ特性フィルタ生成部200を備えた音声合成装置という構成である。この場合、出力部112の周波数特性に基づくフィルタを、音声合成装置が使用される環境(たとえば、温度、スピーカの経年変化など)に応じて、動的に生成することが可能となり、使用環境に応じた最適なフィルタを用いて、より精度の高い周波数特性を有するフィルタを用いることができる。その結果、音声合成装置は、より明瞭で大きな音声を出力することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
100,1200,1400,1600 音声合成装置、802 アンテナ、842 メモリカード、1000 ゲーム装置、1100 コンピュータシステム、1162 CD−ROM。