(57)【特許請求の範囲】
【請求項１】
時系列に標本化された音声信号を分析フレーム毎に分析して特徴パラメータを抽出する音声分析手段と、
この音声分析手段が抽出した特徴パラメータと、オンおよびオフのいずれかの状態をとるストップフラグを、分析フレーム毎に記憶するパラメータ記憶手段と、
演奏情報に応じた前記パラメータ記憶手段からの特徴パラメータの読み出しを前記ストップフラグがオン状態である分析フレームで一時停止するとともに、次の演奏情報の発生に応じて一時停止の分析フレームから特徴パラメータの読み出しを再開する一方、当該演奏情報に対応した励振信号を発生する楽音制御手段と、
前記パラメータ記憶手段から読み出される特徴パラメータと前記励振信号とに応じて音声合成する音声合成手段と
を具備することを特徴とする楽音発生装置。
【請求項２】
パラメータ記憶手段に記憶された分析フレーム毎のストップフラグの内、指定された分析フレームのストップフラグの状態を変更するフラグ変更手段をさらに具備することを特徴とする請求項１記載の楽音発生装置。
【請求項３】
パラメータ記憶手段に記憶された分析フレーム毎の特徴パラメータの内、指定された分析フレームの特徴パラメータを削除するパラメータ削除手段をさらに具備することを特徴とする請求項１記載の楽音発生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、音声合成する装置に関し、特に、自然な歌声を発生することができる楽音発生装置に関する。
【０００２】
【従来の技術】
従来より、音声分析して抽出した特徴パラメータに基づき人声音を合成する手法として、チャネルボコーダや、線形予測、ＰＡＲＣＯＲ（パーコール）と呼ばれる技術が知られている。これら音声合成技術は、分析した音声を如何に少ない情報量に変換するか、つまり音声を分析して特徴パラメータの形に変換して言葉の意味内容に関係の無い冗長成分を除いて情報量を圧縮することに着目したものであって、高音質で音声合成したり、合成した人声音を楽音形成に応用することを考えたものではなかった。
そうした中にあって、チャネルボコーダは構成が単純でリアルタイムの分析合成に向いているため、フィルタバンクにより抽出される音声のパワースペクトル包絡に基づき楽音合成する楽音発生装置に適用されていた。しかしながら、チャネルボコーダでは、フィルタバンクを構成するバンドパスフィルタ段数の限界や、子音を合成できない等の問題により高音質の音声合成が叶わず、やがて淘汰されて行った。
【０００３】
【発明が解決しようとする課題】
一方、従来の波形メモリ読み出し方式による楽音発生装置では、サンプリングした人声音を波形メモリに記憶しておき、これをサンプリング時のピッチで読み出し再生すれば、最も単純な形で高品位な人声音を発生させることが可能になるものの、サンプリング時のピッチとは異なるピッチで読み出し再生しようとすると、人声音のフォルマント周波数が変換ピッチ量に応じて変化してしまう為、自然な歌声を発生することができないという問題がある。
そこで、本発明は、音声合成された人声音を自然な歌声として楽音形成することができる楽音発生装置を提供することを目的としている。
【０００４】
【課題を解決するための手段】
上記目的を達成するため、請求項１に記載の発明では、時系列に標本化された音声信号を分析フレーム毎に分析して特徴パラメータを抽出する音声分析手段と、この音声分析手段が抽出した特徴パラメータと、オンおよびオフのいずれかの状態をとるストップフラグを、分析フレーム毎に記憶するパラメータ記憶手段と、演奏情報に応じた前記パラメータ記憶手段からの特徴パラメータの読み出しを前記ストップフラグがオン状態である分析フレームで一時停止するとともに、次の演奏情報の発生に応じて一時停止の分析フレームから特徴パラメータの読み出しを再開する一方、当該演奏情報に対応した励振信号を発生する楽音制御手段と、前記パラメータ記憶手段から読み出される特徴パラメータと前記励振信号とに応じて音声合成する音声合成手段とを具備することを特徴としている。
【０００５】
上記請求項１に従属する請求項２に記載の発明によれば、パラメータ記憶手段に記憶された分析フレーム毎のストップフラグの内、指定された分析フレームのストップフラグの状態を変更するフラグ変更手段をさらに具備することを特徴とする。
【０００６】
請求項１に従属する請求項３に記載の発明では、パラメータ記憶手段に記憶された分析フレーム毎の特徴パラメータの内、指定された分析フレームの特徴パラメータを削除するパラメータ削除手段をさらに具備することを特徴とする。
【０００７】
本発明では、音声分析手段が時系列に標本化された音声信号を分析して特徴パラメータを抽出し、これをパラメータ記憶手段に記憶しておき、楽音制御手段が演奏情報に応じて前記パラメータ記憶手段から特徴パラメータを読み出す一方、当該演奏情報に対応した励振信号を発生すると、音声合成手段がパラメータ記憶手段から読み出される特徴パラメータと前記励振信号とに応じて音声合成する。これにより、音声合成された人声音を自然な歌声として楽音形成することが可能となる。
【０００８】
【発明の実施の形態】
本発明による楽音発生装置は、電子楽器の他、人声音で音声案内する装置などに適用され得る。以下では、本発明の実施の形態である電子楽器を実施例として図面を参照して説明する。
Ａ．実施例の概略
図１は、本発明の一実施例による電子楽器の概略構成を示す機能ブロック図である。この電子楽器は、周知のパーコール（ＰＡＲＣＯＲ）ボコーダの原理に基づきサンプリングした音声を分析して特徴パラメータ（後述する）を抽出し、抽出した特徴パラメータに応じて音声合成するものである。音声合成の際には、励振信号（後述する）を演奏データに応じて制御することによって、音声合成される人声音を自然な歌声として楽音形成するようになっている。以下、こうした実施例の概略について説明する。
【０００９】
図１において、１はＡ／Ｄ変換器であり、マイクロフォンおよびプリアンプを介して電気信号に変換された音声信号を所定のサンプリング周波数Ｆｓで標本化してなる離散的な音声データｘｉ（ｉ＝１〜Ｎ：サンプリング数）を出力する。２はパーコール（ＰＡＲＣＯＲ）分析系である。パーコール分析系２では、サンプリングされた音声データｘｉ間の線形予測誤差の自己相関を逐次算出してパーコール係数Ｋ１〜Ｋｎおよび残差波パワーＡｆを発生する。
残差波は、分析窓中の音声データが無声音／有声音のいずれであるかを表わすものであって、無声音である時にはホワイトノイズとなり、一方、有声音である時にはピッチ周期を形成するパルス列となる。なお、残差波パワーＡｆとはそれらを分析窓にわたって積分したものである。
【００１０】
３は特徴パラメータ記憶部であり、パーコール分析系２から出力されるパーコール係数Ｋ１〜Ｋｎおよび残差波パワーＡｆを分析フレーム毎に順次記憶する。ここで言う分析フレームとは、後述する窓関数にて規定される音声分析期間に相当する。４は演奏データに応じて特徴パラメータ記憶部３に記憶されるパーコール係数Ｋ１〜Ｋｎおよび残差波パワーＡｆの読み出しを制御したり、後述する励振部５に励振信号の発生を指示する制御部である。
励振部５は、演奏データに対応したピッチで複数の波形信号を発生する波形発生器５−１と、これら波形発生器５−１からそれぞれ出力される波形信号を加算して信号ＯＳＣを出力する加算器５−２と、ホワイトノイズＷＮを発生するホワイトノイズ発生器５−３とから構成され、制御部４の指示に応じて信号ＯＳＣあるいはホワイトノイズＷＮを後述のパーコール合成系６の端子ＩＮ１，ＩＮ２に供給する。すなわち、パーコール合成系６が有声音を合成する時には信号ＯＳＣを端子ＩＮ１へ供給し、一方、無声音を合成する時にはホワイトノイズＷＮを端子ＩＮ２へ供給する。
【００１１】
ところで、パーコール合成では、有声音に対してパルス波形を励振波形とするが、上記波形発生器５−１では、これに限定される必要はなく、様々な波形形状の信号を発生させることで合成音の音色の幅を広げることが可能になる。特に、三角波や異なるパルス幅を持った波形等、倍音成分を多く含んだものが効果的であり、例えば、ノートオンに対してディチューンを施した複数の波形信号を同時発生させることで、後述のパーコール合成系６ではコーラスのような音声合成が実現可能になる。
パーコール合成系６は、上述したパーコール分析系２とは逆の過程で音声を合成するものであり、制御部４の指示に応じて特徴パラメータ記憶部３から読み出されるパーコール係数Ｋ１〜Ｋｎおよび残差波パワーＡｆと、励振部５から与えられる励振信号とにより音声データｘｉを合成する。７はＤ／Ａ変換器であり、パーコール合成系６から出力される音声データｘｉをアナログ信号に変換して合成音声信号を出力する。
【００１２】
Ｂ．要部構成
次に、上述したパーコール分析系２、特徴パラメータ記憶部３およびパーコール合成系６の各構成について図２〜図５を参照して説明する。
（１）パーコール分析系２の構成
図２はパーコール分析系２の構成を示すブロック図である。この図において、２ａは入力される信号を少なくとも１サンプリング周期遅延して出力する遅延回路である。なお、この遅延回路２ａは、１サンプル遅延に限定されず、系のサンプリング周波数Ｆｓが３０ＫＨｚを越える時には、２サンプル遅延が適当である。２ｂはサンプル（音声データ）ｘｉ（Ｎ個）に対して窓関数Ｗ（ｎ）を乗算して重み付けをした後に、自己相関値を算出する相関器である。
【００１３】
相関器２ｂにおいて重み付けされる窓関数Ｗ（ｎ）としては、次式に示すハニング窓関数が用いられている。
【００１４】
【数１】
0003567587.tif 000002
【００１５】
このハニング窓関数Ｗ（ｎ）は、図３に図示するように、約３０ｍｓ幅の分析フレームを持ち、２０ｍｓのフレーム周期で分析を進めるようになっている。また、相関器２ｂでは、次式に示す自己相関関数に基づきパーコール係数Ｋ１〜Ｋｎが算出される。なお、この関数ではパーコール係数Ｋ１〜Ｋｎがサンプルの振幅の影響を受けないよう正規化している。また、パーコール係数Ｋ１〜Ｋｎは、完全に相関がある時には「１」、相関が無い時には「０」、完全に逆位相の関係にある時には「−１」となる。
【００１６】
【数２】
0003567587.tif 000003
【００１７】
２ｃは１サンプル遅延された音声データにパーコール係数Ｋ１を乗算して出力する係数乗算器であり、２ｄは現サンプリングされた音声データにパーコール係数Ｋ１を乗算して出力する係数乗算器である。２ｅは現サンプリングされた音声データから係数乗算器２ｃの出力を減算する減算器、２ｆは１サンプル遅延された音声データに係数乗算器２ｄの出力を減算する減算器である。
以上の構成要素２ａ〜２ｆは、格子型フィルタ２−１を構成し、これがｎ段縦続接続された格子型フィルタ２−１〜２−ｎによって、サンプル（音声データ）ｘｉ間の線形予測誤差の相関を表わすパーコール係数Ｋ１〜Ｋｎを発生するパーコール分析系２が形成されている。
なお、最終段の格子型フィルタ２−ｎから出力される残差波は、積分回路２ｇに供給され、分析窓にわたって積分してなる残差波パワーＡｆを発生する。
【００１８】
（２）特徴パラメータ記憶部３の構成
パーコール分析系２から出力されるパーコール係数Ｋ１〜Ｋｎおよび残差波パワーＡｆは、制御部４の指示に基づき、特徴パラメータ記憶部３に逐次フレーム記憶される。
ここで、図４を参照して特徴パラメータ記憶部３におけるフレーム記憶態様について説明しておく。本実施例の場合、分析されたパーコール係数Ｋ１〜Ｋｎおよび残差波パワーＡｆは、前述した分析フレーム毎にマトリクス状に記憶される。ここで、特徴的な点は、特徴パラメータの最上位ビットＭＳＢにストップビットＳＴＢを設けたことにある。
【００１９】
日本語の場合、母音部分ではパーコール係数Ｋ１〜Ｋｎが殆ど変化しないのに対し、子音部分では倍音の変化が大きい為、これに対応してパーコール係数Ｋ１〜Ｋｎの変化も大きい。そこで、母音部分では、図４に図示するように、上記ストップビットＳＴＢにストップフラグ「１」を立て、前後の似通った特徴パラメータを持つ分析フレームを削除することによって大幅にデータ量を削減し得るようになっている。また、このようにすることで演奏データに応じた歌声を合成することが可能になる。
つまり、演奏データとしてノートオンが与えられた時、ストップフラグが「１」となっているフレーム迄、順次特徴パラメータを読み出してパーコール合成系６に入力し、ストップフラグが「１」となっているフレームが読み出し対象となった時点でフレームの更新読み出しを一時停止する。そして、次のノートオンが発生した時に、再びストップフラグが立っているフレームまで順次特徴パラメータを読み出してパーコール合成系６に与えて音声合成させる。
【００２０】
（３）パーコール合成系６の構成
次に、特徴パラメータ記憶部３から読み出されるパーコール係数Ｋ１〜Ｋｎおよび残差波パワーＡｆに基づき音声合成するパーコール合成系６の構成について図５を参照して説明する。図５において、６ａはパーコール係数Ｋ１を所定の定数（約０．２〜０．３）に対して大小比較することによって有声音あるいは無声音のいずれかを判断し、その結果に応じた信号Ｗ１，Ｗ２を発生する比較器である。
すなわち、この比較器６ａは、合成すべき特徴パラメータが「有声音」である時には、信号Ｗ１を正規化レベル「１」として出力し、信号Ｗ２を「０」とする。一方、これとは逆に合成すべき特徴パラメータが「無声音」である時には、信号Ｗ２を正規化レベル「１」として出力し、信号Ｗ１を「０」とする。
【００２１】
６ｂ，６ｃはそれぞれ係数乗算器であり、係数乗算器６ｂは端子ＩＮ１に供給される信号ＯＳＣに対して信号Ｗ１を乗算して出力し、係数乗算器６ｃは端子ＩＮ２に供給されるホワイトノイズＷＮに対して信号Ｗ２を乗算して出力する。６ｄは上記係数乗算器６ｂ，６ｃの各出力を加算して出力する加算器である。
したがって、この加算器６ｄでは、有声音を合成する時に信号ＯＳＣを出力し、無声音を合成する時にホワイトノイズＷＮを励振源として発生することになる。
なお、上述した比較器６ａにあっては、有声音・無声音に応じて励振波形を信号ＯＳＣあるいはホワイトノイズＷＮに切換えるよう信号Ｗ１，Ｗ２を発生するようにしたが、これに限らず、有声音・無声音に応じて信号Ｗ１，Ｗ２をクロスフェードさせるようにしても良い。その場合、有声音から無声音への変化、あるいは無声音から有声音への変化がより自然なものとなる。
【００２２】
６ｅは係数乗算器であり、上記加算器６ｄの出力に残差パワーＡｆを乗算して出力する。６−１〜６−ｎは、それぞれパーコール係数Ｋ１〜Ｋｎに基づき前述したパーコール分析過程の逆過程で音声合成する格子型フィルターである。これら縦続接続される格子型フィルターは、遅延回路６ｆ、係数乗算器６ｇ，６ｈ、加算器６ｉおよび減算器６ｊから構成される。
遅延回路６ｆは、パーコール分析系２と同じサンプリング遅延とすれば、分析した音声信号と同じフォルマントとなる。したがって、音声合成時の特殊効果として故意にフォルマントを異ならせるには、分析時とは異なるサンプリング遅延量とすれば良い。
【００２３】
Ｃ．具体的構成
次に、本実施例による電子楽器の具体的構成について図６を参照して説明する。なお、この図において、図１に示す各部と共通する要素には同一の番号を付し、その説明を省略する。
図６において、１０は楽器各部を制御すると共に、上述したパーコール分析系２および制御部４の機能を担うＣＰＵであり、その動作については後述する。１１はＣＰＵ１０にロードされる各種の制御プログラムや制御データが記憶されるＲＯＭである。１２はＣＰＵ１０のワークエリアとして各種レジスタあるいはフラグデータが一時記憶されるＲＡＭである。また、このＲＡＭ１２は、上述の特徴パラメータ記憶部３として用いられるものであり、その所定記憶エリアには分析されたパーコール係数Ｋ１〜Ｋｎおよび残差波パワーＡｆが分析フレーム毎に配列状（図４参照）に記憶される。
【００２４】
１３は各種操作スイッチが配設され、各スイッチ操作に応じた操作信号を発生する操作パネルである。この操作パネル１３には、音声サンプリングする際に操作されるサンプリングスイッチＳＳ、サンプリング開始時に操作されるスタートスイッチＳＴＳ、サンプリングした音声データを編集加工する際に操作されるエディットスイッチＥＳや、パーコール分析する際に操作される分析スイッチＡＳが配設されている。
また、エディットに関するスイッチ類としては、分析フレームをインクリメントさせるスイッチＩＮＣ、分析フレームをデクリメントさせるスイッチＤＥＣ、分析フレームをデリートするスイッチＤＥＬ、分析フレームをセットするスイッチＳＰＳおよびリセットするスイッチＳＲＳがある。なお、これらスイッチの意図するところについは追って説明する。
【００２５】
１４はＬＣＤ表示パネルやＬＣＤ駆動回路等から構成される表示部であり、バスを介してＣＰＵ１０から供給される表示制御信号に応じて、例えば、サンプリングした音声データを時系列にＬＣＤ表示する。１５は前述したパーコール合成系６の処理をシミュレートするディジタルシグナルプロセッサ（以下、ＤＳＰと記す）である。このＤＳＰ１５は、演奏データに応じてＣＰＵ１０の制御の下に、ＲＡＭ１２から転送されて来るパーコール係数Ｋ１〜Ｋｎおよび残差波パワーＡｆに基づき音声合成する。
ＤＳＰ１５にて合成された音声データは、次段のＤ／Ａ変換器７を介してアナログの音声信号に変換され、図示されていないサウンドシステムにてノイズ除去等のフィルタリングが施された後、スピーカより自然な歌声として放音される。
【００２６】
Ｄ．実施例の動作
次に、上記構成による実施例の動作について図７〜図１６を参照して説明して行く。以下では、最初に全体動作としてメインルーチンの処理を説明した後、このメインルーチンにおいてコールされる各種ルーチンや割込みルーチンの処理内容について順次述べる。
（１）メインルーチンの動作
まず、本実施例による電子楽器に電源が投入されると、ＣＰＵ１０がＲＯＭ１１より所定の制御プログラムを読み出して自身にロードした後、図７に示すメインルーチンを実行してステップＳＡ１に処理を進め、各種レジスタをゼロリセットしたり、初期値セットする等のイニシャライズを行う。
すなわち、ステップＳＡ１では、プログラムカウンタ値がセットされる３種のレジスタｉ，ｊ，ｋをそれぞれゼロリセットする一方、レジスタｆｌａｍｅ＿ｅｎｄ，ｗｉｎ＿ｅｎｄ，ａｎａ＿ｓｔｅｐ，ｋ＿ｅｎｄおよびｆｌａｍｅにそれぞれ初期値をセットする。
【００２７】
ここで、レジスタｆｌａｍｅ＿ｅｎｄは、分析フレーム（窓）の数が格納されるレジスタであり、この例では「３０」フレームが初期セットされる。レジスタｗｉｎ＿ｅｎｄは、１フレームを構成するサンプリング数が格納されるレジスタであり、この例では「１４４０」がセットされる。
また、レジスタａｎａ＿ｓｔｅｐは、分析するフレーム間のサンプリング数が格納されるレジスタであり、この例では「９６０」がセットされる。レジスタｋ＿ｅｎｄは、分析するパーコール係数の次数が格納され、この例では「２０」がセットされる。レジスタｆｌａｍｅは、現在処理中にあるフレーム番号が格納されるレジスタであり、この場合、ゼロリセットされる。
【００２８】
こうして初期化がなされると、ＣＰＵ１０は次のステップＳＡ２に処理を進め、操作パネル１３に配設される各種スイッチの内、サンプリングスイッチＳＳがオン操作されているか否かを判断する。ここで、演奏に先立って音声サンプリングする時には、スイッチＳＳがオン操作されるので、判断結果が「ＹＥＳ」となり、ステップＳＡ３に進み、後述するサンプリング処理ルーチンを実行する。
一方、サンプリングスイッチＳＳがオン操作されない時には、判断結果が「ＮＯ」となり、次のステップＳＡ４へ処理を進める。
ステップＳＡ４では、操作パネル１３に配設される各種スイッチの内、エディットスイッチＥＳがオン操作されているか否かを判断する。ここで、スイッチＥＳがオン操作された時には、判断結果が「ＹＥＳ」となり、ステップＳＡ５に進み、後述するエディット処理ルーチンを実行し、オン操作されない時には、判断結果が「ＮＯ」となり、ステップＳＡ６へ処理を進める。
【００２９】
ステップＳＡ６では、分析スイッチＡＳがオン操作されたかどうかを判断する。ここで、サンプリングした音声データに対してパーコール分析を施すべくスイッチＡＳをオン操作した時には、判断結果が「ＹＥＳ」となり、ステップＳＡ７に進み、後述する分析処理ルーチンを実行する。これに対し、当該スイッチＡＳがオン操作されない時には、判断結果が「ＮＯ」となり、ステップＳＡ８へ処理を進める。
なお、上述したステップＳＡ３，ＳＡ５およびＳＡ７を介して実行される”サンプリング処理ルーチン”、”エディット処理ルーチン”および”分析処理ルーチン”が完了した場合も、ステップＳＡ８に処理を進め、後述する演奏処理ルーチンを実行する。そして、この後、ＣＰＵ１０は再びステップＳＡ２に処理を戻し、以後、上述した過程を繰り返す。
【００３０】
このように、メインルーチンでは、初期化後に発生するスイッチイベントに応じて”サンプリング処理ルーチン”、”エディット処理ルーチン”および”分析処理ルーチン”を実行し、これら処理に基づき得られる特徴パラメータ（パーコール係数および残差波パワー）に従ってなされるパーコール音声合成を演奏データに応じて制御する演奏処理が行われるようになっている。
通常、最初に”サンプリング処理ルーチン”により音声信号をサンプリングしておき、次に”分析処理ルーチン”により各分析フレーム毎の特徴パラメータ（パーコール係数および残差波パワー）を抽出する。続いて、必要に応じてこの抽出した特徴パラメータを”エディット処理ルーチン”により編集し、演奏処理ルーチンにて音声合成されるべき歌声を調整するというプロセスを辿る。以下、こうしたプロセスに沿って各ルーチンの動作について説明して行く。
【００３１】
（２）タイマ割込み処理ルーチンの動作
ＣＰＵ１０では、分析フレームを更新させるべく一定周期毎にタイマ割込み処理を実行しており、例えば、２０ｍｓｅｃ毎に割込みマスクを解除して図８に示すタイマ割込み処理ルーチンを実行してステップＳＢ１に処理を進め、レジスタｔｉｍｅにタイマフラグ「１」をセットする。
なお、このレジスタｔｉｍｅにセットされるタイマフラグは、分析フレームが更新された後にゼロリセットされる。
【００３２】
（３）サンプリング処理ルーチンの動作
音声信号をサンプリングする為、操作パネル１３に配設されるサンプリングスイッチＳＳがオン操作されると、上述したステップＳＡ３を介してサンプリング処理ルーチンが実行され、ＣＰＵ１０は図９に示すステップＳＣ１に処理を進める。
ステップＳＣ１では、サンプリング開始を指示するスタートスイッチＳＴＳがオン操作される迄待機状態となり、当該スイッチＳＴＳがオンされると、判断結果が「ＹＥＳ」となり、次のステップＳＣ２に進み、レジスタｉをゼロリセットする。
【００３３】
次いで、ステップＳＣ３に進むと、レジスタｉの値が、ｆｌａｍｅ＿ｅｎｄ×ａｎａ＿ｓｔｅｐに達したか、つまり、規定数分のサプリングが完了したかどうかを判断する。ここで、完了していない時には、判断結果が「ＮＯ」となり、次のステップＳＣ４に処理を進める。ステップＳＣ４では、レジスタｉの値に対応させてサンプリングした音声データｘｉをＲＡＭ１２に格納する。この後、再びステップＳＣ３に処理を戻し、規定数分の音声データｘｉをサプリングする迄、ステップＳＣ３，ＳＣ４を繰り返す。そして、サンプリングが完了した時点で上記ステップＳＣ３の判断結果が「ＹＥＳ」となり、本ルーチンを終了してメインルーチンへ復帰する。
【００３４】
（４）分析処理ルーチンの動作
以上のようにして、サンプリング処理によりＲＡＭ１２にサンプリングした音声データｘｉが格納された場合、操作者はこれら音声データｘｉにパーコール分析を施して特徴パラメータ（パーコール係数および残差波パワー）を抽出すべく操作パネル１３上の分析スイッチをオン操作する。
すると、ＣＰＵ１０は前述したメインルーチン（図７参照）のステップＳＡ７を介して図１０に示す分析処理ルーチンを実行し、ステップＳＤ１に処理を進める。
【００３５】
ステップＳＤ１では、レジスタｉの値が、レジスタｆｌａｍｅ＿ｅｎｄに格納される最終フレーム値に達したか、つまり、パーコール分析が完了したかどうかを判断する。分析が完了した時には、判断結果が「ＹＥＳ」となって本ルーチンを終了するが、そうでない場合には、判断結果が「ＮＯ」となり、次のステップＳＤ２に処理を進める。
ステップＳＤ２では、レジスタｊの値が、レジスタｗｉｎ＿ｅｎｄの値に達したか否かを判断する。ここで、１フレーム分の音声データｘｉについてパーコール分析が済んでいない場合には、判断結果が「ＮＯ」となり、次のステップＳＤ３に進む。
【００３６】
ステップＳＤ３では、レジスタｉ，レジスタａｎａ＿ｓｔｅｐおよびレジスタｊの値に応じて順次ＲＡＭ１２から読み出される音声データｘｉに対して前述したハニング窓関数Ｗ（ｎ）を乗算し、これを窓掛けされた分析データとしてレジスタｗａｖｅ１［ｊ］にストアする。そして、１フレーム分の音声データｘｉに対して窓掛けが完了すると、上記ステップＳＤ２の判断結果が「ＹＥＳ」となり、次のステップＳＤ４に処理を進める。
ステップＳＤ４では、レジスタｊ，Ｚを一旦、それぞれゼロリセットし、続く、ステップＳＤ５では、上記ステップＳＤ３において窓掛けされた分析データを１フレーム分にわたって自乗和を求めたか否かを判断する。１フレーム分の分析データについて自乗和を算出し終えていない時には、判断結果が「ＮＯ」となり、ステップＳＤ６に進み、レジスタｗａｖｅ１［ｊ］に格納される分析データを自乗して累算して行く。
【００３７】
そして、自乗和を算出し終えた時に、上記ステップＳＤ５の判断結果が「ＹＥＳ」となり、次のステップＳＤ７に処理を進め、レジスタｊの値をゼロリセットする。
次いで、ＣＰＵ１０は、図１１に示すステップＳＤ８に処理を進め、レジスタｊの値がレジスタｗｉｎ＿ｅｎｄの値に達したかどうか、つまり、１フレーム中の最終データに達したか否かを判断する。ここで、最終データに達していない時には、判断結果が「ＮＯ」となり、次のステップＳＤ９に進む。ステップＳＤ９では、レジスタｊの値に対応してレジスタｗａｖｅ１に格納されている分析データを逐次レジスタｗａｖｅ２へストアする。
【００３８】
こうして、レジスタｗａｖｅ１の値をレジスタｗａｖｅ２にコピーし終えると、ステップＳＤ８の判断結果が「ＹＥＳ」となり、次のステップＳＤ１０に処理を進める。ステップＳＤ１０では、レジスタｊおよびレジスタｋをゼロリセットする。
続いて、ステップＳＤ１１に進むと、ＣＰＵ１０は、自己相関値であるパーコール係数Ｋ１〜Ｋｎがストアされるレジスタｋ［ｆｌａｍｅ］［０］〜ｋ［ｆｌａｍｅ］［ｋ＿ｅｎｄ］と、残差波パワーＡｆがストアされるレジスタａｆ［ｆｌａｍｅ］とをゼロリセットする。
なお、レジスタｋ［ｆｌａｍｅ］［０］〜ｋ［ｆｌａｍｅ］［ｋ＿ｅｎｄ］とは、レジスタｆｌａｍｅの値とレジスタｋ＿ｅｎｄの値とで要素が定まる２次元配列要素となっている。
【００３９】
次に、ステップＳＤ１２では、レジスタｋの値がレジスタｋ＿ｅｎｄの値に達したかどうか、つまり、１フレーム分の特徴パラメータを抽出し終えたか否かを判断する。ここで、特徴パラメータの抽出が完了したならば、次のフレームについて分析を進めるべく判断結果を「ＹＥＳ」とし、その処理を上述のステップＳＤ１（図１０参照）に戻す。
一方、特徴パラメータの抽出が完了していないと、判断結果が「ＮＯ」となり、この場合、レジスタｋの値に応じてステップＳＤ１３〜ＳＤ１７を実行して１フレーム中における分析データ間の線形予測誤差の相関係数（パーコール係数）を逐次抽出するパーコール分析を行い、抽出したパーコール係数をレジスタｋ［ｆｌａｍｅ］［０］〜ｋ［ｆｌａｍｅ］［ｋ＿ｅｎｄ］に順次ストアする。
そして、相関係数（パーコール係数）を算出する過程が完了すると、ステップＳＤ１６の判断結果が「ＹＥＳ」となり、ステップＳＤ１８に処理を進めて残差波パワー算出処理ルーチン（後述する）を実行した後、ステップＳＤ１２に処理を戻す。
【００４０】
（５）残差波パワー算出処理ルーチンの動作
上述したステップＳＤ１８を介して残差波パワー算出処理ルーチンが実行されると、ＣＰＵ１０は、図１２に示すステップＳＥ１に処理を進め、レジスタｊおよびレジスタａｆ［ｆｌａｍｅ］をゼロリセットする。次いで、ステップＳＥ２に進むと、現在の処理が１フレーム中の最終データに達したか否かを判断する。ここで、最終データに達していない時には、判断結果が「ＮＯ」となり、次のステップＳＥ３に進む。ステップＳＥ３では、レジスタｗａｖｅ１［ｊ］の値を自乗して累算してなる残差波パワーａｆを算出してレジスタａｆ［ｆｌａｍｅ］にストアする。
【００４１】
そして、分析フレーム当りの残差波パワーａｆが算出されると、上記ステップＳＥ２の判断結果が「ＹＥＳ」となり、次のステップＳＥ４に処理を進める。ステップＳＥ４に進むと、ＣＰＵ１０は算出した残差波パワーａｆが所定値より大であるか否かを判断する。
この所定値とは、パーコール分析された音声が「有声音」あるいは「無声音」のいずれに対応するものであるかを判別する為の閾値である。ここで、残差波パワーａｆが所定値より大の時はパーコール分析された音声が「有声音」であると見做して本ルーチンを終了するが、所定値より小の時には判断結果が「ＮＯ」となり、この場合、ステップＳＥ５に進み、残差波パワーａｆを「０」にセットする。
【００４２】
（６）エディット処理ルーチンの動作
分析処理ルーチンおよび残差波パワー算出処理ルーチンによりＲＡＭ１２に格納された特徴パラメータ（パーコール係数および残差波パワー）を編集する場合、つまり、母音部分の特徴パラメータに対してその最上位ビットにストップビットＳＴＢを付与したり、特徴パラメータの変化が少ない分析フレームを削除する等のデータ加工を施す時には、操作パネル１３に配設される各種スイッチの内、エディットスイッチＥＳがオン操作される。
当該スイッチＥＳがオン操作されると、ＣＰＵ１０は前述したメインルーチンのステップＳＡ５を介して図１３に示すエディット処理ルーチンを実行する。エディット処理ルーチンでは、発生するスイッチイベントに応じて対応する処理を行うようになっており、以下、各スイッチ操作毎の動作について述べる。
【００４３】
▲１▼フレームインクリメントスイッチＩＮＣが操作された時の動作
エディット対象とする分析フレームを進める場合、フレームインクリメントスイッチＩＮＣが操作される。当該スイッチＩＮＣがオン操作されると、ステップＳＦ１の判断結果が「ＹＥＳ」となり、ステップＳＦ２に処理を進める。ステップＳＦ２では、レジスタｆｌａｍｅの値を１インクリメントして歩進させ、続くステップＳＦ３では、更新されたレジスタｆｌａｍｅの値に応じて対応するフレームの特徴パラメータ（パーコール係数および残差波パワー）をＲＡＭ１２から読み出す。この後、読み出した特徴パラメータをディスプレイ上に数値表示あるいはグラフ表示させ、上記ステップＳＦ１へ処理を戻す。
【００４４】
▲２▼フレームデクリメントスイッチＤＥＣが操作された時の動作
エディット対象とする分析フレームを後退させる場合、フレームデクリメントスイッチＤＥＣが操作される。当該スイッチＤＥＣがオン操作された時には、ステップＳＦ１を介してステップＳＦ４に進み、ここでの判断結果が「ＹＥＳ」となってステップＳＦ５に処理を進める。
ステップＳＦ５では、レジスタｆｌａｍｅの値を１デクリメントして上記ステップＳＦ３に進み、更新されたレジスタｆｌａｍｅの値に応じて対応するフレームの特徴パラメータ（パーコール係数および残差波パワー）をＲＡＭ１２から読み出す。この場合も読み出した特徴パラメータをディスプレイ上に数値表示あるいはグラフ表示させ、上記ステップＳＦ１へ処理を戻す。
【００４５】
▲３▼フレームデリートスイッチＤＥＬが操作された時の動作
変化の少ない分析フレームを削除してデータ量を削減するには、フレームデリートスイッチＤＥＬが操作される。当該スイッチＤＥＬがオン操作されると、上述のステップＳＦ１，ＳＦ４を介してステップＳＦ６に進み、ここでの判断結果が「ＹＥＳ」となってステップＳＦ７に処理を進める。
そして、ステップＳＦ７では、レジスタｆｌａｍｅの値をレジスタｉにストアし、続く、ステップＳＦ８では、レジスタｉの値が最終フレームであるか否かを判断する。ここで、最終フレームであれば、最終フレームの特徴パラメータを削除してステップＳＦ１に処理を戻す。
一方、最終フレームでなければ、判断結果が「ＮＯ」となり、ステップＳＦ９に処理を進め、レジスタｉの値に対応する分析フレームを削除すると共に、これ以降のフレーム番号を１インクリメントする。
【００４６】
▲４▼ストップセットスイッチＳＥＴが操作された時の動作
パーコール係数Ｋ１〜Ｋｎの変化が少ない母音部分に対応する分析フレームを見つけた時には、特徴パラメータの最上位ビットＭＳＢに設けられるストップビットＳＴＢにストップフラグを立てるべくストップセットスイッチＳＥＴをオン操作する。
このスイッチＳＥＴがオン操作されると、ＣＰＵ１０はそのスイッチイベントに基づき図１４に示すステップＳＦ１０の判断結果が「ＹＥＳ」となり、ステップＳＦ１１に処理を進める。ステップＳＦ１１では、レジスタａｆ［ｆｌａｍｅ］に格納される残差波パワーａｆの最上位ビットＭＳＢにストップフラグ「１」をセットする。
【００４７】
▲５▼ストップリセットスイッチＲＥＳＥＴが操作された時の動作
一方、上記ストップセットスイッチＳＥＴの操作に応じて付与されたストップフラグをリセットする際には、ストップリセットスイッチＲＥＳＥＴが操作される。当該スイッチＲＥＳＥＴがオン操作されると、ステップＳＦ１２の判断結果が「ＹＥＳ」となり、次のステップＳＦ１３に処理を進め、レジスタａｆ［ｆｌａｍｅ］の最上位ビットＭＳＢのストップフラグをゼロリセットする。
▲６▼イグジットスイッチＥＸＩＴが操作された時の動作
エディット処理を終了すべくイグジットスイッチＥＸＩＴがオン操作されると、ステップＳＦ１４の判断結果が「ＹＥＳ」となり、本ルーチンを完了してその処理をメインルーチンへ復帰させる。
【００４８】
（７）演奏処理ルーチンの動作
前述したメインルーチンのステップＳＡ８（図７参照）を介して図１５〜図１６に示す演奏処理ルーチンが起動されると、ＣＰＵ１０は先ずステップＳＧ１に処理を進め、レジスタａｆ［ｆｌａｍｅ］に格納される残差波パワーａｆを読み出し、その最上位ビットＭＳＢに格納されるストップビットが「０」であるか否かを判断する。
ここで、ストップビットが「０」であると、判断結果が「ＹＥＳ」となり、次のステップＳＧ２に処理を進める。ステップＳＧ２では、レジスタｔｉｍｅの値が「１」、すなわち、特徴パラメータをＤＳＰ１５（図６参照）へ転送するタイミング下にあるかどうかを判断する。
【００４９】
前述したタイマー割込み処理ルーチンの動作によって、レジスタｔｉｍｅの値が「１」にセットされているとする。そうすると、特徴パラメータをＤＳＰ１５へ転送するタイミング下にあるから、判断結果が「ＹＥＳ」となり、ステップＳＧ３に処理を進める。
ステップＳＧ３では、レジスタａｆ［ｆｌａｍｅ］から読み出した残差波パワーａｆと、レジスタｋ［ｆｌａｍｅ］［０］〜ｋ［ｆｌａｍｅ］［ｋ＿ｅｎｄ−１］から読み出したパーコール係数Ｋ１〜ＫｎをそれぞれＤＳＰ１５に転送する。そして、特徴パラメータの転送が完了したならば、レジスタｆｌａｍｅを１インクリメントして歩進する一方、レジスタｔｉｍｅをゼロリセットした後、パーコール係数Ｋ１の値に応じて入力ボリュームをＤＳＰ１５に指示する。この後、ＣＰＵ１０は後述するステップＳＧ７へ処理を進める。
なお、上記ステップＳＧ２において、レジスタｔｉｍｅの値が「０」の時には、特徴パラメータをＤＳＰ１５へ転送するタイミングでないので、この場合も後述するステップＳＧ７へ処理を進める。
【００５０】
一方、ストップフラグが「１」の場合には、上記ステップＳＧ１の判断結果が「ＮＯ」となり、ステップＳＧ４に処理を進める。ステップＳＧ４では、ノートオン指示が来たか否かを判断する。ここで、ノートオンとなった時には、判断結果が「ＹＥＳ」となり、次のステップＳＧ５に進む。
ステップＳＧ５では、特徴パラメータをＤＳＰ１５（図６参照）へ転送するタイミング下にあるかどうかを判断する。転送タイミングでない時には、判断結果が「ＮＯ」となり、後述のステップＳＧ７に進む。
これに対し、転送タイミング下にあると、判断結果が「ＹＥＳ」となり、ステップＳＧ６に進む。
【００５１】
ステップＳＧ６に進むと、ＣＰＵ１０は、レジスタａｆ［ｆｌａｍｅ］から読み出した残差波パワーａｆと、レジスタｋ［ｆｌａｍｅ］［０］〜ｋ［ｆｌａｍｅ］［ｋ＿ｅｎｄ−１］から読み出したパーコール係数Ｋ１〜ＫｎをそれぞれＤＳＰ１５に転送する。そして、転送完了後に、レジスタｆｌａｍｅを１インクリメントして歩進すると共に、レジスタｔｉｍｅをゼロリセットする。さらに、パーコール係数Ｋ１の値に応じて入力ボリュームをＤＳＰ１５に指示し、ノートオンフラグをゼロリセットする。この後、ＣＰＵ１０は後述するステップＳＧ７へ処理を進める。
【００５２】
次いで、図１６に示すステップＳＧ７では、最終フレームに達したか否かを判断する。ここで、最終フレームに達している時には、判断結果が「ＹＥＳ」となり、次のステップＳＧ８に進み、レジスタｆｌａｍｅの値をゼロリセットし、その後、ステップＳＧ９へ処理を進める。一方、最終フレームに達していない時には、何も処理せずにステップＳＧ９へ進む。
ステップＳＧ９に進むと、ＣＰＵ１０は演奏イベントが発生したかどうかを判断する。ここで、演奏イベントが無い時には、判断結果が「ＮＯ」となり、一旦、本ルーチンを完了してメインルーチンに復帰する。
【００５３】
一方、演奏イベントが発生した時には、判断結果が「ＹＥＳ」となり、次のステップＳＧ１０に処理を進める。ステップＳＧ１０では、そのイベントがノートオンであるか否かを判断する。ノートオンであれば、判断結果が「ＹＥＳ」となり、ステップＳＧ１１に進み、励振部５（図６参照）をオン制御する。すなわち、現分析フレームのパーコール係数が「有声音」に対応するものである時には、励振部５から演奏データに対応したピッチの複数の波形信号を加算してなる信号ＯＳＣを生成させ、これをパーコール合成系６（すなわち、ＤＳＰ１５）の端子ＩＮ１へ供給するよう指示する。あるいは、現分析フレームのパーコール係数が「無声音」に対応するものである時には、励振部５からホワイトノイズＷＮを出力させ、これをパーコール合成系６（ＤＳＰ１５）の端子ＩＮ２へ供給するよう指示する。そして、この後にＣＰＵ１０は、ステップＳＧ１２に進み、ノートオンフラグｎｏｔｅｏｎを「１」にセットして本ルーチンを完了する。
これに対し、発生したイベントがノートオンでない場合には、上記ステップＳＧ１０の判断結果が「ＮＯ」となり、ステップＳＧ１３に進み、励振部５に対して信号ＯＳＣあるいはホワイトノイズＷＮの出力をオフするよう指示する。
【００５４】
このように、演奏処理ルーチンでは、演奏データとしてノートオンが与えられた時、ストップフラグが「１」となっているフレーム迄、順次特徴パラメータを読み出してＤＳＰ１５に入力し、ストップフラグが「１」となっているフレームが読み出し対象となった時点でフレームの更新読み出しを一時停止する。そして、次のノートオンが発生した時に、再びストップフラグが立っているフレームまで順次特徴パラメータを読み出してＤＳＰ１５に与えて音声合成させる。
なお、ＤＳＰ１５では、ＣＰＵ１０の指示に応じてＲＡＭ１２から転送されるパーコール係数Ｋ１〜Ｋｎおよび残差波パワーＡｆと、励振部５から与えられる励振信号とに基づきパーコール合成する。これにより、音声合成される人声音が自然な歌声として楽音形成される訳である。
【００５５】
以上説明したように、本実施例では、サンプリングした音声をパーコール分析して特徴パラメータを抽出し、抽出した特徴パラメータを演奏データに応じてパーコール合成するから、音声合成される人声音を自然な歌声として楽音形成することが可能となっている。
また、本実施例では、特徴パラメータの最上位ビットＭＳＢにストップビットＳＴＢを設けておき、特徴パラメータの変化が少ない母音部分では、当該ストップビットにＳＴＢにストップフラグ「１」を立て、前後の似通った特徴パラメータを持つ分析フレームを削除することによって大幅にデータ量を削減し得るようになっている。また、このようにすることで演奏データに応じた歌声が合成し易くなっている。
【００５６】
Ｅ．変形例
次に、本発明による楽音発生装置１００を用いて音声合成される人声音を楽音として形成する変形例について説明する。
図１７は、パーコール分析に用いる音声信号を外部音源１０１から供給する形態である。この場合、ＭＩＤＩ信号（演奏データ）を発生するＭＩＤＩ楽器１０２から外部音源１０１と本発明による楽音発生装置１００とに同一のＭＩＤＩ信号を供給してボコーダ処理（パーコール分析・合成）を行う。この際、楽音発生装置１００に入力される音声信号は、母音入力として用いられる。装置１００内部には、子音用のノイズ音源を具備し、パーコール係数に応じて母音入力および子音入力を重み付けする態様となる。
【００５７】
また、図１８に示す形態の場合、ＭＩＤＩ楽器から出力されるＭＩＤＩ信号を楽音発生装置１００が受け、受けたＭＩＤＩ信号をさらにマルチティンバー駆動可能な外部音源１０１に供給する。外部音源１０１は、マルチティンバーで音声信号を発生し、その中には母音用ティンバー、子音用ティンバーを設定する。装置１００では、これら各ティンバー（音色）の音量レベルをパーコール係数で重み付けした後にパーコール合成する。これにより、母音、子音の発音が実現する。
【００５８】
なお、上述した実施例では、ノートオンに応じて音声合成すべき分析フレームを更新しているが、これに限定されず、例えば、ノートオフやベロシティに応じて分析フレームを更新して逐次パーコール合成する態様としても良い。
【００５９】
【発明の効果】
本発明によれば、音声分析手段が時系列に標本化された音声信号を分析して特徴パラメータを抽出し、これをパラメータ記憶手段に記憶しておき、楽音制御手段が演奏情報に応じて前記パラメータ記憶手段から特徴パラメータを読み出す一方、当該演奏情報に対応した励振信号を発生すると、音声合成手段がパラメータ記憶手段から読み出される特徴パラメータと前記励振信号とに応じて音声合成するので、音声合成された人声音を自然な歌声として楽音形成することができる。
【図面の簡単な説明】
【図１】本発明による一実施例の概略構成を示すブロック図である。
【図２】同実施例におけるパーコール分析系２の構成を示すブロック図である。
【図３】同実施例における分析フレームを説明するための図である。
【図４】同実施例における特徴パラメータ記憶３の特徴パラメータ記憶形態を説明するための図である。
【図５】同実施例におけるパーコール合成系６の構成を示すブロック図である。
【図６】同実施例の具体的構成を示すブロック図である。
【図７】同実施例におけるメインルーチンの動作を示すフローチャートである。
【図８】同実施例におけるタイマ割り込み処理ルーチンの動作を示すフローチャートである。
【図９】同実施例におけるサンプリング処理ルーチンの動作を示すフローチャートである。
【図１０】同実施例における分析処理ルーチンの動作を示すフローチャートである。
【図１１】同実施例における分析処理ルーチンの動作を示すフローチャートである。
【図１２】同実施例における残差波パワー算出処理ルーチンの動作を示すフローチャートである。
【図１３】同実施例におけるエディット処理ルーチンの動作を示すフローチャートである。
【図１４】同実施例におけるエディット処理ルーチンの動作を示すフローチャートである。
【図１５】同実施例における演奏処理ルーチンの動作を示すフローチャートである。
【図１６】同実施例における演奏処理ルーチンの動作を示すフローチャートである。
【図１７】変形例を説明するための図である。
【図１８】変形例を説明するための図である。
【符号の説明】
２  パーコール分析系（音声分析手段）
３  特徴パラメータ記憶部（パラメータ記憶手段）
４  制御部（楽音制御手段）
５  励振部（楽音制御手段）
６  パーコール合成系（音声合成手段）
【図１】
0003567587.tif 000004
【図２】
0003567587.tif 000005
【図３】
0003567587.tif 000006
【図４】
0003567587.tif 000007
【図５】
0003567587.tif 000008
【図６】
0003567587.tif 000009
【図７】
0003567587.tif 000010
【図８】
0003567587.tif 000011
【図９】
0003567587.tif 000012
【図１０】
0003567587.tif 000013
【図１１】
0003567587.tif 000014
【図１２】
0003567587.tif 000015
【図１３】
0003567587.tif 000016
【図１４】
0003567587.tif 000017
【図１５】
0003567587.tif 000018
【図１６】
0003567587.tif 000019
【図１７】
0003567587.tif 000020
【図１８】
0003567587.tif 000021