(57)【特許請求の範囲】
【請求項１】
第１の楽音及び第２の楽音の発生開始をそれぞれ表す第１の開始信号及び第２の開始信号に従って第１の楽音信号及び第２の楽音信号の発生をそれぞれ開始し、前記第１の楽音及び前記第２の楽音の発生停止をそれぞれ表す第１の停止信号及び第２の停止信号に従って前記第１の楽音信号及び前記第２の楽音信号の発生をそれぞれ停止する発音部と、
前記発音部が前記第１の楽音信号の発生を途中で停止するとともに前記第２の楽音信号の発生を開始するとき、前記発音部によって発生された前記第１の楽音信号に基づいて計算された複数の線形予測係数によって規定される線形予測フィルタを用いて、前記第１の楽音信号が減衰する状態を表す減衰信号を生成する線形予測部と、を備えた、音源装置。
【請求項２】
請求項１に記載の音源装置において、
複数の前記発音部、及び複数の前記線形予測部を備え、
所定のルールに従って、前記複数の発音部から１つ又は複数の発音部を選択し、前記選択した発音部に対して、１つ又は複数の線形予測部を割り当てる割り当て部を備えた、音源装置。
【請求項３】
請求項１又は２に記載の音源装置において、
前記線形予測部は、前記第１の楽音信号をダウンサンプリングし、前記ダウンサンプリングした信号に基づいて前記複数の線形予測係数を計算し、前記複数の線形予測係数によって規定される線形予測フィルタを用いて生成された減衰信号をアップサンプリングして出力する、音源装置。
【請求項４】
請求項１乃至３のうちのいずれか１つに記載の音源装置において、
前記線形予測部は、所定の適応アルゴリズムに基づいて、前記複数の線形予測係数を計算する、音源装置。
【請求項５】
第１の楽音及び第２の楽音の発生開始をそれぞれ表す第１の開始信号及び第２の開始信号に従って第１の楽音信号及び第２の楽音信号の発生をそれぞれ開始する発音ステップと、
前記第１の楽音及び前記第２の楽音の発生停止をそれぞれ表す第１の停止信号及び第２の停止信号に従って前記第１の楽音信号及び前記第２の楽音信号の発生をそれぞれ停止する発音停止ステップと、を含む発音方法であって、
前記第１の楽音信号の発生を途中で停止するとともに前記第２の楽音信号の発生を開始するとき、前記発音ステップにて発生された前記第１の楽音信号に基づいて計算された複数の線形予測係数によって規定される線形予測フィルタを用いて、前記第１の楽音信号が減衰する状態を表す減衰信号を生成する線形予測ステップを含む、発音方法。
【請求項６】
コンピューターに、
第１の楽音及び第２の楽音の発生開始をそれぞれ表す第１の開始信号及び第２の開始信号に従って第１の楽音信号及び第２の楽音信号の発生をそれぞれ開始する発音ステップと、
前記第１の楽音及び前記第２の楽音の発生停止をそれぞれ表す第１の停止信号及び第２の停止信号に従って前記第１の楽音信号及び第２の楽音信号の発生をそれぞれ停止する発音停止ステップと、を実行させる発音プログラムであって、
前記第１の楽音信号の発生を途中で停止するとともに前記第２の楽音信号の発生を開始するとき、前記発音ステップにて発生された前記第１の楽音信号に基づいて計算された複数の線形予測係数によって規定される線形予測フィルタを用いて、前記第１の楽音信号が減衰する状態を表す減衰信号を生成する線形予測ステップを含む、発音プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子楽器に適用される音源装置に関する。
【背景技術】
【０００２】
例えば、下記特許文献１に記載されているように、電子楽器に適用される音源装置は知られている。この音源装置は、制御部からの指示に従って楽音信号を生成する発音チャンネルを備える。音源装置には、複数の楽音の音響波形をそれぞれ表す複数の波形データを記憶した波形メモリが接続されている。発音チャンネルは、制御部からの指示にしたがって、波形メモリから波形データを読み出して楽音信号を生成する。この音源装置は、複数の発音チャンネルを備えており、発音チャンネルの総数と同数の楽音信号を同時に生成することが出来る。例えば、この音源装置が６４個の発音チャンネルを有していれば、６４個の楽音信号を同時に生成することが出来る。音源装置が発音チャンネルの総数と同数の楽音信号を生成している最中に新たな楽音信号を生成する必要が生じた場合において、いずれか１つ又は複数の発音チャンネルによる楽音信号の生成を急に停止させると、大きなノイズが生じる虞がある。そこで、制御部は、所定のルールに従って１つ又は複数の発音チャンネルを選択し、前記選択した発音チャンネルにて生成している楽音信号を徐々に減衰させるよう、音源装置に指示する。その後、制御部は、前記発音チャンネルの楽音信号の音量（振幅）を逐次検出する。前記選択した発音チャンネルの楽音信号の音量が所定の閾値よりも小さくなったとき、制御部は、前記選択した発音チャンネルに、前記新たな楽音信号を発生させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２６５３４３号公報
【発明の概要】
【０００４】
上記のように、従来の音源装置においては、前記選択した発音チャンネルの楽音信号の音量が所定の閾値よりも小さくなるまで、前記新たな楽音信号の生成を開始することができない。よって、従来の音源装置が適用された電子楽器において多くの楽音を同時に発生させようとした場合、いくつかの楽音の発生開始タイミングが遅れる虞がある。
【０００５】
本発明は上記問題に対処するためになされたもので、その目的は、楽音の発生開始タイミングの遅延を短縮できる音源装置を提供することにある。なお、下記本発明の各構成要件の記載においては、本発明の理解を容易にするために、実施形態の対応箇所の符号を括弧内に記載しているが、本発明の各構成要件は、実施形態の符号によって示された対応箇所の構成に限定解釈されるべきものではない。
【０００６】
上記目的を達成するために、本発明の特徴は、第１の楽音及び第２の楽音の発生開始をそれぞれ表す第１の開始信号及び第２の開始信号に従って第１の楽音信号及び第２の楽音信号の発生をそれぞれ開始し、前記第１の楽音及び前記第２の楽音の発生停止をそれぞれ表す第１の停止信号及び第２の停止信号に従って前記第１の楽音信号及び前記第２の楽音信号の発生をそれぞれ停止する発音部と、前記発音部が前記第１の楽音信号の発生を途中で停止するとともに前記第２の楽音信号の発生を開始するとき、前記発音部によって発生された前記第１の楽音信号に基づいて計算された複数の線形予測係数によって規定される線形予測フィルタを用いて、前記第１の楽音信号が減衰する状態を表す減衰信号を生成する線形予測部と、を備えた、音源装置としたことにある。
【０００７】
この場合、前記線形予測部は、所定の適応アルゴリズムに基づいて、前記複数の線形予測係数を計算するとよい。
【０００８】
上記のように構成した本発明に係る音源装置によれば、発音部において第１の楽音信号の生成を強制的に終了したとき、線形予測部から前記第１の楽音信号が減衰する様子を表す減衰信号が出力される。したがって、発音部は、第１の楽音信号の生成を停止した直後に第２の楽音信号の生成を開始できる。つまり、本発明によれば、発音開始タイミングの遅延を短縮できる。
【０００９】
また、この音源装置が適用された電子楽器の制御部は、従来の音源装置のように、前記第１の楽音信号を減衰させることを音源装置に指示した後、その音量を逐次検出する必要がない。したがって、制御部の負荷を軽減できる。
【００１０】
また、本発明の他の特徴は、複数の前記発音部、及び複数の前記線形予測部を備え、所定のルールに従って、前記複数の発音部から１つ又は複数の発音部を選択し、前記選択した発音部に対して、１つ又は複数の線形予測部を割り当てる割り当て部を備えた、音源装置としたことにある。なお、この場合、１つの発音部に対して１つの線形予測部を割り当ててもよいし、複数の発音部に対して１つの線形予測部を割り当ててもよい。
【００１１】
本発明のように、必要最小限の線形予測部を備えるようにすれば、音源装置の構成を簡略化できる。
【００１２】
また、本発明の他の特徴は、前記線形予測部は、前記第１の楽音信号をダウンサンプリングし、前記ダウンサンプリングした信号に基づいて前記複数の線形予測係数を計算し、前記複数の線形予測係数によって規定される線形予測フィルタを用いて生成された減衰信号をアップサンプリングして出力する、音源装置としたことにある。
【００１３】
これによれば、線形予測部の動作周波数が低いので、音源装置の設計が容易になる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係る音源装置が適用された電子楽器の構成を示すブロック図である。
【図２】本発明の第1実施形態に係る音源装置の構成を示すブロック図である。
【図３】発音部の出力波形の一例を示すグラフである。
【図４】図２の線形予測フィルタ部の構成を示すブロック図である。
【図５】図２の係数計算部の構成を示すブロック図である。
【図６】図２の線形予測フィルタ部の出力波形の一例を示すグラフである。
【図７】図２の減衰部が生成する係数の遷移を示すグラフである。
【図８】図２の減衰部の出力波形の一例を示すグラフである。
【図９】図２のミキシング部への入力波形の一例を示すグラフである。
【図１０】発音処理のフローチャートである。
【図１１】状態遷移処理のフローチャートである。
【図１２】本発明の第２実施形態に係る音源装置の構成を示すブロック図である。
【図１３】本発明の変形例に係る音源装置の構成を示すブロック図である。
【図１４】本発明の他の変形例に係る音源装置の構成を示すブロック図である。
【図１５】本発明のさらに他の変形例に係る音源装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
（第１実施形態）
本発明の第１実施形態に係る音源装置１０について説明する。まず、音源装置１０が適用された電子楽器ＤＭの概略について説明する。電子楽器ＤＭは、図１に示すように音源装置１０に加え、入力操作子ＩＮ、制御部ＣＰ、表示器ＤＰ、記憶装置ＤＤ、外部インターフェース回路ＩＦ及びサウンドシステムＳＳを備え、サウンドシステムＳＳを除く各部が、バスＢＳを介して接続されている。
【００１６】
入力操作子ＩＮは、演奏操作子及び設定操作子を含む。演奏操作子は、鍵盤装置、ペダル装置などを含む。設定操作子は、オン・オフ操作に対応したスイッチ（例えば数値を入力するためのテンキー）、回転操作に対応したボリューム又はロータリーエンコーダ、スライド操作に対応したボリューム又はリニアエンコーダ、マウス、タッチパネルなどを含む。入力操作子ＩＮが操作されると、その操作内容を表す操作情報が、バスＢＳを介して、後述する制御部ＣＰに供給される。
【００１７】
制御部ＣＰは、バスＢＳにそれぞれ接続された演算装置ＣＰＵ、メモリＲＯ及びメモリＲＡを含む。演算装置ＣＰＵは、例えば、演奏操作子の操作内容、設定操作子の操作内容などに応じて、発生させる楽音を規定する楽音パラメータＳＰを生成して音源装置１０に供給する。また、演算装置ＣＰＵは、例えば、後述する発音チャンネル２０の動作モードを表すモード信号ＭＤを音源装置１０に供給する。
【００１８】
メモリＲＯには、電子楽器ＤＭの動作を規定する各種プログラムに加えて、初期設定パラメータ、表示器ＤＰに表示される画像を表わす表示データを生成するための図形データ及び文字データなどの各種データが記憶されている。メモリＲＡには、各種プログラムの実行時に必要なデータが一時的に記憶される。
【００１９】
表示器ＤＰは、例えば、液晶ディスプレイ（ＬＣＤ）によって構成される。表示器ＤＰには、制御部ＣＰから、表示すべき内容を表わす表示データが供給される。表示器ＤＰは、表示データに基づいて画像を表示する。
【００２０】
また、記憶装置ＤＤは、ＨＤＤ、ＦＤＤ、ＣＤ、ＤＶＤなどの大容量の不揮発性記録媒体と、各記録媒体に対応するドライブユニットから構成されている。外部インターフェース回路ＩＦは、電子楽器ＤＭを他の電子音楽装置、パーソナルコンピュータなどの外部機器に接続可能とする接続端子を備えている。電子楽器ＤＭは、外部インターフェース回路ＩＦを介して、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどの通信ネットワークにも接続可能である。
【００２１】
音源装置１０は、演算装置ＣＰＵから供給された楽音パラメータＳＰに従って、ディジタル楽音信号を生成する。音源装置１０には、複数の楽音の音響波形を表す波形データを記憶した波形メモリＷＭが接続されている。本実施形態においては、楽器（ピアノ、ギター、ドラムなど）の音（単音）を所定のサンプリング期間（１／４４１００秒）ごとにサンプリングして得られた各サンプル値が波形データとして波形メモリＷＭに記憶されている。音源装置１０は、演算装置ＣＰＵから供給された演奏操作情報及び演奏音設定情報に従って、波形データを波形メモリＷＭから読み出してディジタル楽音信号を生成し、サウンドシステムＳＳに供給する。つまり、サンプリング期間ごとに１つのサンプル値がサウンドシステムＳＳに供給される。
【００２２】
サウンドシステムＳＳは、音源装置１０から供給されたディジタル楽音音信号をアナログ楽音信号に変換するＤ／Ａ変換器、前記変換したアナログ楽音信号を増幅するアンプ、及び増幅されたアナログ楽音信号を音響信号に変換して出力する左右一対のスピーカを備えている。
【００２３】
つぎに、音源装置１０の構成について説明する。音源装置１０は、図２に示すように、複数（例えば６４個）の発音チャンネル２０とミキシング部３０を備える。各発音チャンネル２０の構成は同一である。発音チャンネル２０は、３つの動作モード（第１動作モード、第２動作モード及び停止モード）を有する。これらの動作モードは、演算装置ＣＰＵから供給されたモード信号ＭＤに従って切り替えられる。発音チャンネル２０は、第１動作モード及び第２動作モードにおいて楽音信号を生成する。停止モードにおいては、発音チャンネル２０は、ディジタル楽音信号を生成しない。この停止モードである発音チャンネル２０を空きチャンネルと呼ぶ。
【００２４】
以下、発音チャンネル２０の具体的構成について説明する。発音チャンネル２０は、発音部２１及び線形予測部２２を有する。
【００２５】
発音部２１は、公知の音源装置と同様に、波形メモリＷＭから波形データを読み出す読み出し部、音色を変化させるフィルタ部、音量を変化させる音量制御部、音量制御部に時間経過とともに変動する制御信号を供給するエンベロープ信号供給部などを備える。発音部２１は、第１動作モード及び第２動作モードにおいて、演算装置ＣＰＵから供給された楽音パラメータＳＰに基づいてディジタル楽音信号を生成する。すなわち、発音部２１は、図３に示すように、各時刻ｔ（ｔ番目のサンプリング期間）に、楽音パラメータＳＰに基づいてサンプル値ｘｔを決定して出力する。全ての発音チャンネル２０がディジタル楽音信号を生成中であるときに新たなディジタル楽音信号を生成開始させる必要が生じたとき、演算装置ＣＰＵは、所定のルールに従って、１つ又は複数の発音チャンネルを選択する。例えば、発音部２１によって生成されているディジタル楽音信号（第１のディジタル楽音信号）の音量（振幅）が最も小さい発音チャンネルを選択する。あるいは、ディジタル楽音信号（第１のディジタル楽音信号）を生成している時間が最も長い発音チャンネル、すなわち生成開始から経過した時間が最も長い発音チャンネルを選択する。そして、前記選択した発音チャンネルによる第１のディジタル楽音信号の生成を停止させ、新たなディジタル楽音信号（第２のディジタル楽音信号）の生成を開始させる。
【００２６】
つぎに、線形予測部２２の概略について説明する。線形予測部２２は、第１動作モードにおいて、発音部２１から順次出力された前記第１のディジタル楽音信号を構成するサンプル値ｘｔを用いて、線形予測係数（後述する線形予測係数ａ１，ａ２，・・・，ａＫ、及び線形予測係数ｂ１，ｂ２，・・・，ｂＬ）を計算する。また、線形予測部２２は、第２動作モードにおいて、前記線形予測係数を用いて、前記第１の楽音信号が減衰する様子を表すディジタル楽音信号（減衰信号）を生成して出力する。なお、第１動作モード及び停止モードにおいて、線形予測部２２は、ディジタル楽音信号を出力しない。
【００２７】
つぎに、線形予測部２２の具体的構成について説明する。線形予測部２２は、スイッチ部２２１、線形予測フィルタ部２２２、予測誤差計算部２２３、係数計算部２２４及び減衰部２２５を備える。
【００２８】
スイッチ部２２１は、演算装置ＣＰＵから供給されたモード信号ＭＤに応じて、後述する線形予測フィルタ部２２２の入力端子の接続先を切り替える。モード信号ＭＤが第１動作モードを表すとき、スイッチ部２２１は、線形予測フィルタ部２２２の入力端子を発音部２１の出力端子に接続する。一方、モード信号ＭＤが第２動作モードを表すとき、スイッチ部２２１は、線形予測フィルタ部２２２の入力端子を線形予測フィルタ部２２２の出力端子に接続する。また、モード信号ＭＤが停止モードを表すとき、スイッチ部２２１は、線形予測フィルタ部２２２の入力端子を、いずれの出力端子にも接続せず、線形予測フィルタ部２２２の入力端子に所定値（例えば「０」）が入力される状態に設定する。
【００２９】
線形予測フィルタ部２２２は、図４に示すように、遅延回路ＤＡ、乗算回路ＭＡ、遅延回路ＤＢ、乗算回路ＭＢ及び加算回路ＳＵを備える。
【００３０】
遅延回路ＤＡは、Ｋ個（例えば、Ｋ＝１２８）の遅延素子ＤＡ１，ＤＡ２，・・・，ＤＡＫからなる。遅延素子ＤＡ１，ＤＡ２，・・・，ＤＡＫは、この順に直列に接続されている。第１動作モードにおいては、遅延素子ＤＡ１に現時刻ｎのサンプル値ｘｎが供給される。第１動作モードにおいては、遅延素子ＤＡ１，ＤＡ２，・・・，ＤＡＫは、過去のサンプル値ｘｎ−１，ｘｎ−２，・・・，ｘｎ−Ｋをそれぞれ保持している。一方、第２動作モードにおいては、遅延素子ＤＡ１に、線形予測フィルタ部２２２の出力としての予測値Ｘｎが供給される。第２動作モードにおいては、遅延素子ＤＡ１，ＤＡ２，・・・，ＤＡＫは、過去の予測値Ｘｎ−１，Ｘｎ−２，・・・，Ｘｎ−Ｋをそれぞれ保持している。ただし、第１動作モードから第２動作モードに切り替えられた直後のＫ個のサンプリング期間においては、遅延素子ＤＡ１，ＤＡ２，・・・，ＤＡＫのうちの末尾側の１つ又は複数の遅延素子が過去のサンプル値を保持している。遅延素子ＤＡ１，ＤＡ２，・・・，ＤＡＫが保持している各値は、乗算回路ＭＡ及び係数計算部２２４に供給される。なお、図４は、第１動作モード時において、遅延素子ＤＡ１，ＤＡ２，・・・，ＤＡＫが、過去のサンプル値ｘｎ−１，ｘｎ−２，・・・，ｘｎ−Ｋをそれぞれ保持している状態を示している。
【００３１】
乗算回路ＭＡは、Ｋ個の乗算素子ＭＡ１，ＭＡ２，・・・，ＭＡＫからなる。乗算素子ＭＡ１，ＭＡ２，・・・，ＭＡＫの線形予測係数ａ１，ａ２，・・・，ａＫは、後述する係数計算部２２４によって決定される。乗算素子ＭＡ１，ＭＡ２，・・・，ＭＡＫは、遅延素子ＤＡ１，ＤＡ２，・・・，ＤＡＫが保持している各値に、線形予測係数ａ１，ａ２，・・・，ａＫをそれぞれ乗算する。
【００３２】
遅延回路ＤＢは、Ｌ個（例えば、Ｌ＝６４）の遅延素子ＤＢ１，ＤＢ２，・・・，ＤＢＬからなる。遅延素子ＤＢ１，ＤＢ２，・・・，ＤＢＬは、この順に直列に接続されている。第１動作モード及び第２動作モードにおいて、遅延素子ＤＢ１に現時刻の予測値Ｘｎが供給される。両動作モードにおいて、遅延素子ＤＢ１，ＤＢ２，・・・，ＤＢＬは、過去の予測値Ｘｎ−１，Ｘｎ−２，・・・，Ｘｎ−Ｌをそれぞれ保持している。遅延素子ＤＢ１，ＤＢ２，・・・，ＤＢＬが保持している各値は、乗算回路ＭＢ及び係数計算部２２４に供給される。
【００３３】
乗算回路ＭＢは、Ｌ個の乗算素子ＭＢ１，ＭＢ２，・・・，ＭＢＬからなる。乗算素子ＭＢ１，ＭＢ２，・・・，ＭＢＬの線形予測係数ｂ１，ｂ２，・・・，ｂＬは、後述する係数計算部２２４によって決定される。乗算素子ＭＢ１，ＭＢ２，・・・，ＭＢＬは、遅延素子ＤＢ１，ＤＢ２，・・・，ＤＢＬが保持している各値に、線形予測係数ｂ１，ｂ２，・・・，ｂＬをそれぞれ乗算する。
【００３４】
加算回路ＳＵは、乗算素子ＭＡ１，ＭＡ２，・・・，ＭＡＫ，ＭＢ１，ＭＢ２，・・・，ＭＢＬの各乗算結果を加算して、予測値Ｘｎとして出力する。
【００３５】
予測誤差計算部２２３は、現時刻ｎにおいて線形予測フィルタ部２２２へ供給された値と線形予測フィルタ部２２２から出力された値の差を予測誤差εｎとして、係数計算部２２４に供給する。第１動作モードにおいては、サンプル値ｘｎと予測値Ｘｎの差が予測誤差εｎである。一方、第２動作モードにおいては、線形予測フィルタ部２２２の入力端子と出力端子が接続されているので、予測誤差εｎは「０」である。
【００３６】
係数計算部２２４は、公知のＬＭＳ法（Ｌｅａｓｔ−Ｍｅａｎ−Ｓｑｕａｒｅ法）を用いて、線形予測係数ａ１，ａ２，・・・，ａＫ及び線形予測係数ｂ１，ｂ２，・・・，ｂＬを計算する。以下、係数計算部２２４の具体的構成について説明する。図５に示すように、係数計算部２２４は、定数乗算回路ＭＵ、係数計算回路ＣＡ１，ＣＡ２，・・・，ＣＡＫ、及び係数計算回路ＣＢ１，ＣＢ２，・・・，ＣＢＬを有する。
【００３７】
定数乗算回路ＭＵは、所定の定数である「２μ」を予測誤差εｎに乗算して、定数乗算回路ＭＵ、係数計算回路ＣＡ１，ＣＡ２，・・・，ＣＡＫ、及び係数計算回路ＣＢ１，ＣＢ２，・・・，ＣＢＬに供給する。なお、「μ」の値は、例えば、「０．０００５」である。
【００３８】
係数計算回路ＣＡｉ＝１，２，・・・，Ｋは、乗算素子ＭＣＡｉ、遅延素子ＤＣＡｉ及び加算素子ＳＣＡｉを備える。乗算素子ＭＣＡｉは、線形予測フィルタ部２２２の遅延素子ＤＡｉに保持されている値と、定数乗算回路ＭＵの乗算結果とを乗算する。遅延素子ＤＣＡｉは、現時刻ｎの１つ前のサンプリング期間における線形予測係数ａｉを保持している。加算素子ＳＣＡｉは、乗算素子ＭＣＡｉの乗算結果と、遅延素子ＤＣＡｉに保持されている線形予測係数ａｉ（つまり、１つ前のサンプリング期間の線形予測係数ａｉ）を加算して、その演算結果を現時刻ｎの線形予測係数ａｉとして、線形予測フィルタ部２２２に供給する。
【００３９】
係数計算回路ＣＢｊ＝１，２，・・・，Ｌは、乗算素子ＭＣＢｊ、遅延素子ＤＣＢｊ及び加算素子ＳＣＢｊを備える。乗算素子ＭＣＢｊは、線形予測フィルタ部２２２の遅延素子ＤＢｊに保持されている値と、定数乗算回路ＭＵの乗算結果を乗算する。遅延素子ＤＣＢｊは、現時刻ｎの１つ前のサンプリング期間における線形予測係数ｂｊを保持している。加算素子ＳＣＢｊは、乗算素子ＭＣＢｊの乗算結果と、遅延素子ＤＣＢｊに保持されている線形予測係数ｂｊ（つまり、１つ前のサンプリング期間の線形予測係数ｂｊ）を加算して、その演算結果を現時刻ｎの線形予測係数ｂｊとして、線形予測フィルタ部２２２に供給する。
【００４０】
第１動作モードにおいては、線形予測係数ａｉ及び線形予測係数ｂｊが逐次更新され、予測誤差εｎが「０」に近づいていく。すなわち、図６に示すように、線形予測フィルタ部２２２から出力される信号波形が発音部２１から出力される信号波形に近似していく。一方、第２動作モードにおいては、予測誤差εｎが「０」であるので、線形予測係数ａｉ及び線形予測係数ｂｊは更新されない。
【００４１】
減衰部２２５は、線形予測フィルタ部２２２から出力された予測値Ｘｎに係数ｃを乗算して出力する。図７に示すように、係数ｃは、第１動作モードにおいては、「０」である。また、第２動作モードに切り替えられたタイミングｔ０にて、係数ｃが「１」に設定される。そして、その後、係数ｃは、時間経過とともに指数関数的に減少する。例えば、係数ｃが「１」に設定されてから数十ミリ秒後に係数ｃが「０」になる。したがって、図８に示すように、減衰部２２５は、第２動作モードにおいて、第１のディジタル楽音信号が減衰する様子を表す減衰信号を出力する。
【００４２】
ミキシング部３０は、各発音チャンネル２０の発音部２１から出力されたサンプル値ｘｔ（図９参照）及び減衰部２２５から出力された予測値Ｘｔ（同図参照）を加算してサウンドシステムＳＳに供給する。
【００４３】
つぎに、電子楽器ＤＭの動作について説明する。ユーザが電子楽器ＤＭの電源を投入すると、演算装置ＣＰＵは、メモリＲＯから各種プログラムを読み出して実行する。例えば、演奏操作子が操作されたとき、前記操作に応じた楽音を発生させる発音処理、音色を設定する音色設定処理などを実行する。ここで、発音処理について説明する。図１０に示すように、演算装置ＣＰＵは、ステップＳ１００にて発音処理を開始し、ステップＳ１０１にて、空きチャンネル（停止モードの発音チャンネル）が存在するか否かを判定する。なお、演算装置ＣＰＵは、後述する状態遷移処理において、空きチャンネルの認定を実施する。つまり、演算装置ＣＰＵは、各発音チャンネルの動作モードの遷移を制御している。各発音チャンネル２０の動作モードが遷移すると、演算装置ＣＰＵは、各発音チャンネル２０の現在の動作モードを表す情報をメモリＲＡに書き込む。演算装置ＣＰＵは、前記動作モードを表す情報を用いて、空きチャンネルを検出できる。空きチャンネルが存在する場合、演算装置ＣＰＵは、「Ｙｅｓ」と判定して、ステップＳ１０２にて、空きチャンネルのうちの１つの発音チャンネル２０を選択する。なお、新たに発生させようとするディジタル楽音信号が複数の楽音信号から構成される場合、複数の発音チャンネル２０を選択する。つぎに、演算装置ＣＰＵは、ステップＳ１０３にて、演奏操作子の操作内容、設定操作子の操作内容などに応じて楽音パラメータＳＰを生成して、前記選択した発音チャンネル２０の発音部２１に供給する。この楽音パラメータＳＰには、読み出し部、フィルタ部及び音量制御部の動作に関する情報が含まれる。
【００４４】
つぎに、演算装置ＣＰＵは、ステップＳ１０４にて、前記選択した発音チャンネルに新たなディジタル楽音信号の発生を開始させる（開始信号）。つぎに、演算装置ＣＰＵは、ステップＳ１０５にて、前記選択した発音チャンネル２０の動作モードを第１動作モードに設定することを表すモード信号ＭＤを供給する。これにより、前記選択した発音チャンネル２０のスイッチ部２２１は、線形予測フィルタ部２２２の入力端子を発音部２１の出力端子に接続する。そして、演算装置ＣＰＵは、後述のステップＳ１１１に処理を進める。
【００４５】
一方、ステップＳ１０１において、空きチャンネルが存在しない場合には、演算装置ＣＰＵは「Ｎｏ」と判定して、ステップＳ１０６にて、所定のルールに従って、ディジタル楽音信号の発生を強制的に終了させる１つの発音チャンネル２０を選択する。なお、新たに発生させようとするディジタル楽音信号が複数の楽音信号から構成される場合、複数の発音チャンネル２０を選択する。例えば、発生しているディジタル楽音信号の音量が最も小さい発音チャンネル２０を選択する。また、発音開始からの経過時間が最も長い発音チャンネル２０を選択してもよい。つぎに、演算装置ＣＰＵは、ステップＳ１０７にて、第２動作モードを表すモード信号ＭＤを前記選択した発音チャンネル２０に供給する。つぎに、ステップＳ１０８にて、前記選択した発音チャンネル２０にディジタル楽音信号（第１のディジタル楽音信号）の生成を停止させる（停止信号）。つぎに、ステップＳ１０９にて、演奏操作子の操作内容、設定操作子の操作内容などに応じて楽音パラメータＳＰを生成して、前記選択した発音チャンネル２０の発音部２１に供給する。つぎに、演算装置ＣＰＵは、ステップＳ１１０にて、前記選択した発音チャンネルに新たなディジタル楽音信号（第２のディジタル楽音信号）の生成を開始させる（開始信号）。そして、演算装置ＣＰＵは、ステップＳ１１１にて、発音処理を終了する。
【００４６】
発音開始後、演奏操作子などが操作されることにより、発音態様を変化させるようなイベントが発生すると、演算装置ＣＰＵは、発音チャンネル２０の発音部２１に対して、前記操作に応じた楽音パラメータＳＰを供給する。特に、鍵盤装置の鍵が解放された場合、演算装置ＣＰＵは、発音部２１のエンベロープ信号供給部に、時間経過とともに減衰する制御信号を生成することを表す楽音パラメータＳＰを供給する。これにより、発音部２１の出力信号が徐々に減衰する。
【００４７】
また、演算装置ＣＰＵは、周期的（例えば１ミリ秒ごと）に、図１１に示す、発音チャンネルの状態（動作モード）を遷移させる状態遷移処理を実行する。演算装置ＣＰＵは、ステップＳ２００にて、状態遷移処理を開始する。つぎに、演算装置ＣＰＵは、ステップＳ２０１にて、発音チャンネルを１つ選択する。つぎに、演算装置ＣＰＵは、ステップＳ２０２にて、前記選択した発音チャンネルの状態を検出する。そして、その検出結果に応じて、次の処理を決定する。
【００４８】
ステップＳ２０２において、前記選択した発音チャンネルの動作モードが第１動作モードである場合、演算装置ＣＰＵは、ステップＳ２０３にて、前記選択した発音チャンネルの発音部２１の出力が十分減衰したか否かを判定する。つまり、発音部２１にて生成されているディジタル楽音信号の音量が所定の閾値（例えば、−９６ｄＢ（基準値は最大音量））以下であるか否かを判定する。前記ディジタル楽音信号の音量が前記所定の閾値以下で有る場合には、演算装置ＣＰＵは、「Ｙｅｓ」と判定して、ステップＳ２０４にて、前記選択した発音チャンネルを空きチャンネルと認定し、前記選択した発音チャンネルを停止モードに設定して、ステップＳ２０７に処理を進める。一方、前記ディジタル楽音信号の音量が所定の閾値より大きい場合、演算装置ＣＰＵは、前記選択した発音チャンネルの状態を変更することなく、ステップＳ２０７に処理を進める。すなわち、前記選択した発音チャンネルの動作モードが第１動作モードである状態において、発音部２１は離鍵操作に応じて、出力信号を減衰させる。そして、前記選択した発音チャンネルの楽音が無音と看做せる程度に減衰したとき、その発音チャンネルの動作モードは、第１動作モードから停止モードに遷移する。
【００４９】
ステップＳ２０２において、前記選択した発音チャンネルの動作モードが第２動作モードである場合、演算装置ＣＰＵは、ステップＳ２０５にて、前記選択した発音チャンネルの線形予測部２２の出力が十分に減衰したか否かを判定する。つまり、線形予測部２２から出力されている減衰信号の音量が所定の閾値（例えば、−９６ｄＢ（基準値は最大音量））以下であるか否かを判定する。前記減衰信号の音量が前記所定の閾値以下である場合、演算装置ＣＰＵは、ステップＳ２０６にて、前記選択した発音チャンネルの動作モードを第１動作モードに設定し、ステップＳ２０７に処理を進める。すなわち、前記選択した発音チャンネルの発音部２１が新たな楽音信号（第２のディジタル楽音信号）を生成し、線形予測部２２が過去の楽音信号（第１のディジタル楽音信号）に基づいて減衰信号を生成する第２動作モードから、発音部２１が引き続き第２のディジタル楽音信号を生成し、線形予測部２２が第２のディジタル楽音信号に基づいて線形予測係数ａ１，ａ２，・・・，ａＫ及び線形予測係数ｂ１，ｂ２，・・・，ｂＬを計算する第１動作モードに設定される。一方、ステップＳ２０５において、前記減衰信号の音量が所定の閾値より大きい場合、演算装置ＣＰＵは、前記選択した発音チャンネルの状態を遷移させることなく、ステップＳ２０７に処理を進める。すなわち、発音部２１は、第２のディジタル楽音信号を生成し続け、線形予測部２２は、第１のディジタル楽音信号に基づいて減衰信号を生成し続ける。
【００５０】
また、ステップＳ２０２において、前記選択した発音チャンネルの動作モードが停止モードである場合（つまり、空きチャンネルである場合）には、演算装置ＣＰＵは、前記選択した発音チャンネルの状態を遷移させることなく、ステップＳ２０７に処理を進める。
【００５１】
演算装置ＣＰＵは、ステップＳ２０７にて、全ての発音チャンネルの処理が終了したか否かを判定する。未処理の発音チャンネルが存在する場合、演算装置ＣＰＵは、「Ｎｏ」と判定して、ステップＳ２０１に処理を進める。一方、全ての発音チャンネルが処理済である場合、演算装置ＣＰＵは、ステップＳ２０８にて、状態遷移処理を終了する。
【００５２】
上記のように構成した音源装置１０によれば、発音チャンネル２０の発音部２１において第１のディジタル楽音信号の生成を強制的に終了すると、その発音チャンネルの線形予測部２２から前記第１のディジタル楽音信号が減衰する様子を表す減衰信号が出力される。したがって、前記発音部２１は、第１のディジタル楽音信号の生成を停止した直後に第２のディジタル楽音信号の生成を開始できる。つまり、楽音の発生開始タイミングの遅延を短縮できる。
【００５３】
また、演算装置ＣＰＵは、従来の音源装置のように、前記第１の楽音信号を減衰させることを音源装置に指示した後、その音量を逐次検出する必要がない。したがって、演算装置ＣＰＵの負荷を軽減できる。
【００５４】
なお、発音チャンネルの総数を増やすことにより、楽音の発生タイミングの遅延を回避するという手法もあるが、この場合、波形メモリＷＭから単位時間あたりに読み出すデータ量が増加する。すなわち、波形メモリＷＭからの波形データの読み出し速度を大きくする必要がある。したがって、音源装置１０及び波形メモリＷＭのコストが高くなる。これに対し、本実施形態によれば、発音チャンネルの総数を増やす必要はなく、波形メモリＷＭの読み出し速度も従来と同等でよい。したがって、追加費用を最小限に抑えることができる。
【００５５】
（第２実施形態）
つぎに、本発明の第２実施形態に係る音源装置１０Ａについて説明する。上記の第１実施形態においては、各発音チャンネル２０が係数計算部２２４を備えているが、本実施形態においては、演算装置ＣＰＵが線形予測フィルタ部２２２の線形予測係数を計算する。具体的には、音源装置１０Ａは、図１２に示すように、複数の発音チャンネル２０Ａと、第１実施形態と同様のミキシング部３０とを有する。発音チャンネル２０Ａは、第１実施形態と同様の発音部２１を有するが、線形予測部２２とは異なる線形予測部２２Ａを有する。線形予測部２２Ａは、第１実施形態と同様のスイッチ部２２１、線形予測フィルタ部２２２及び減衰部２２５を有する。さらに、線形予測部２２Ａは、複数のサンプル値ｘｔを保持するバッファ部２２６を有する。なお、本実施形態においては、線形予測フィルタ部２２２は、遅延回路ＤＡ、乗算回路ＭＡ及び加算回路ＳＵを備える。つまり、図４における遅延回路ＤＢ及び乗算回路ＭＢが省略されている。
【００５６】
バッファ部２２６には、第１動作モードにおいて、サンプル値ｘｔが供給される。バッファ部２２６は、供給されたサンプル値ｘｔを複数のサンプリング期間（例えば、１０００個のサンプリング期間）に亘って保持する。演算装置ＣＰＵは、所定のタイミング（例えば、１００ミリ秒ごと）において、バッファ部２２６に保持されている複数のサンプル値ｘｔを取得する。演算装置ＣＰＵは、前記取得した複数のサンプル値ｘｔを用いて線形予測係数ａｉを計算する。第１実施形態においては、ＬＭＳ法を用いて線形予測係数を計算しているが、本実施形態においては、公知の自己相関法を用いる。すなわち、演算装置ＣＰＵは、前記取得した複数のサンプル値ｘｔに基づいて、自己相関関数を計算する。そして、Ｙｕｌｅ‐Ｗａｌｋｅｒ方程式をＬｅｖiｎｓｏｎ‐Ｄｕｒｂｉｎの再帰的解法を用いて解くことにより、線形予測係数ａｉを計算する。演算装置ＣＰＵは、前記計算した線形予測係数ａｉを線形予測フィルタ部２２２に供給する。
【００５７】
楽音の立ち上がり部分のサンプル値を用いて線形予測係数を計算することは好ましくなく、楽音が安定している部分（各周波数成分の強度の変化が少ない部分）のサンプル値を用いて線形予測係数を計算することが好ましい。また、できるだけ第２動作モードへ切り替えるタイミングの直前の部分のサンプル値を用いて線形予測係数を計算することが好ましい。線形予測係数を計算して線形予測フィルタ部２２２へ供給した後、新たなサンプル値を用いて線形予測係数を再度計算して線形予測フィルタ部２２２へ再度供給してもよい。
【００５８】
この第２実施形態によれば、第１実施形態よりも演算装置ＣＰＵの負荷が多少増大するが、第１実施形態に比べて、音源装置１０の回路構成を簡略化できる。
【００５９】
さらに、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
【００６０】
例えば、上記実施形態及においては、各発音チャンネル２０（２０Ａ）が線形予測部２２（２２Ａ）を備えている。しかし、これに代えて、図１３に示すように、各発音チャンネル２０（２０Ａ）は発音部２１のみを備え、線形予測部２２（２２Ａ）が発音チャンネルとは別に設けられてもよい。この変形例においては、発音チャンネルの総数よりも、線形予測部の総数を少なくしている。そこで、この例においては、発音チャンネル２０（２０Ａ）に対して、必要に応じて線形予測部２２（２２Ａ）を割り当てる割り当て部ＡＳを備えている。例えば、割り当て部ＡＳは、発音開始からの経過時間が所定の閾値を超えた発音チャンネルに対して線形予測部２２（２２Ａ）を割り当てる。なお、割り当て部ＡＳの動作を、演算装置ＣＰＵが制御してもよい。
【００６１】
全ての発音チャンネルが第２動作モードで動作するという状況はほとんど発生しない。したがって、上記のように、必要最小限の線形予測部２２（２２Ａ）を備えるようにすれば、音源装置１０（１０Ａ）の構成を簡略化できる。
【００６２】
また、複数の発音チャンネルをほぼ同時に第２動作モードに切り替える場合、図１４に示すように、それら複数の発音チャンネルに対して、１つの線形予測部２２（２２Ａ）を割り当ててもよい。この場合、割り当て部ＡＳは、前記複数の発音チャンネルにおいて発生されている楽音信号（第１の楽音信号）を重畳加算する加算部ＳＵＭを備えるとよい。そして、前記頂上加算した楽音信号を前記割り当てた線形予測部２２（２２Ａ）に供給して線形予測係数を計算させればよい。前記複数の発音チャンネルが第２動作モードに切り替えられたとき、線形予測部２２（２２Ａ）から、前記重畳加算した楽音信号が減衰する様子を表す減衰信号が出力される。これによれば、音源装置１０（１０Ａ）の構成をさらに簡略化できる。
【００６３】
また、上記のように、発音処理のステップＳ１０６において、所定のルールに従って、第１の楽音信号の生成を強制的に停止させるとともに第２の楽音信号の生成を開始させる発音チャンネルが選択される。すなわち、ステップＳ１０６において、楽音信号の生成を停止させても聴感上あまり影響がないと考えられる発音チャンネルが選択される。また、減衰信号が生成される期間が短いので、減衰信号はあまり高品位でなくてもよい。そこで、図１５に示すように、線形予測部２２は、ダウンサンプリング部ＤＷ及びアップサンプリング部ＵＰを備えていてもよい。例えば、ダウンサンプリング部ＤＷは、発音部２１から１／４４１００秒ごとに供給されるサンプル値ｘｔを１つおきに線形予測フィルタ部２２２に供給する。また、アップサンプリング部ＵＰは、減衰部２２５から１／２２０５０秒ごとに出力される予測値Ｘｔを１／４４１００ごとに２回ずつ出力する。つまり、発音部２１におけるサンプリング周波数は４４．１ｋＨｚであるが、線形予測部２２におけるサンプリング周波数は２２．０５ｋＨｚである。なお、発音部２１のサンプリング周波数と線形予測部２２のサンプリング周波数との比は２：１である必要はない。例えば、複数のサンプル値を用いて補間演算したサンプル値を用いれば、サンプリング周波数の比を任意に設定できる。これによれば、線形予測部２２の動作周波数が低いので、音源装置１０の設計が容易になる。音源装置１０Ａにおいても、同様のダウンサンプリング部ＤＷ及びアップサンプリング部ＵＰを設けてもよい。
【００６４】
また、上記第１実施形態においては、線形予測フィルタ部２２２は、遅延回路ＤＡ、乗算回路ＭＡ、遅延回路ＤＢ及び乗算回路ＭＢを備えているが、遅延回路ＤＡ及び乗算回路ＭＡを省略して、遅延回路ＤＢ及び乗算回路ＭＢからなる線形予測フィルタ部としてもよい。逆に、遅延回路ＤＢ及び乗算回路ＭＢを省略して、遅延回路ＤＡ及び乗算回路ＭＡからなる線形予測フィルタ部としてもよい。
【００６５】
また、第１実施形態においては、公知のＬＭＳ法を用いて計算した係数を線形予測フィルタに適用した。しかし、これに限られず、係数を変更可能なフィルタであって、その出力が目的とする信号に近づく（収束する）ように、係数を繰り返し更新していく適応アルゴリズム（ＮＬＭＳ，ＲＬＳなど）を用いる適応フィルタを用いてもよい。また、第２実施形態においては、Ｙｕｌｅ‐Ｗａｌｋｅｒ方程式をＬｅｖiｎｓｏｎ‐Ｄｕｒｂｉｎの再帰的解法を用いて解くことにより、線形予測係数ａｉを計算している。しかし、他の解法を用いてもよい。例えば、ガウスの消去法を用いた解法、分割レビンソン再帰法などを用いてもよい。
【００６６】
また、第１実施形態においては、音源装置１０の内部に設けられた係数計算部２２４が適応的に線形予測フィルタ部２２２の係数を計算している。しかし、係数計算部２２４が音源装置１０の外部に設けられていてもよい。例えば、第２実施形態と同様に、演算装置ＣＰＵが係数を計算してもよい。また、第２実施形態においては、演算装置ＣＰが、解析的な方法で線形予測フィルタ部２２２の係数を計算しているが、上記のような解析的な計算を実行する係数計算部２２４を音源装置１０内に設けてもよい。
【符号の説明】
【００６７】
１０，１０Ａ・・・音源装置、２０，２０Ａ・・・発音チャンネル、２１・・・発音部、２２，２２Ａ・・・線形予測部、３０・・・ミキシング部、２２１・・・スイッチ部、２２２・・・線形予測フィルタ部、２２３・・・予測誤差計算部、２２４・・・係数計算部、２２５・・・減衰部、２２６・・・バッファ部、ａｉ，ｂｊ・・・線形予測係数、ＡＳ・・・割り当て部、ＣＡｉ，ＣＢｊ・・・係数計算回路、ＣＭ・・・定数乗算回路、ＣＰ・・・制御部、ＣＰＵ・・・演算装置、ＤＤ・・・記憶装置、ＤＭ・・・電子楽器、ＤＰ・・・表示器、ＤＷ・・・ダウンサンプリング部、ＩＮ・・・入力操作子、ＭＤ・・・モード信号、ＭＵ・・・定数乗算回路、ＳＰ・・・楽音パラメータ、ＳＳ・・・サウンドシステム、ＳＵ・・・加算回路、ＳＵＭ・・・加算部、ＵＰ・・・アップサンプリング部、ＷＭ・・・波形メモリ、ｘｔ・・・サンプル値、Ｘｔ・・・予測値、εｎ・・・予測誤差
【図１】
0006728594.tif 000002
【図２】
0006728594.tif 000003
【図３】
0006728594.tif 000004
【図４】
0006728594.tif 000005
【図５】
0006728594.tif 000006
【図６】
0006728594.tif 000007
【図７】
0006728594.tif 000008
【図８】
0006728594.tif 000009
【図９】
0006728594.tif 000010
【図１０】
0006728594.tif 000011
【図１１】
0006728594.tif 000012
【図１２】
0006728594.tif 000013
【図１３】
0006728594.tif 000014
【図１４】
0006728594.tif 000015
【図１５】
0006728594.tif 000016