(57)【特許請求の範囲】
【請求項１】
複数の操作子と、制御レジスタと、レジストレーションメモリと、発音指示信号に応じて楽音信号を生成する楽音信号生成手段を備え、各操作子に楽音制御データの種類を割り当て、かつ、前記各操作子の操作量に対応して、前記各操作子に割り当てられた種類の楽音制御データの値が前記制御レジスタに設定され、該制御レジスタに設定された楽音制御データの値に応じて前記楽音信号を生成するとともに、前記各操作子に割り当てられた種類の楽音制御データの値がレジストデータとして予め前記レジストレーションメモリに格納されている電子楽器であって、
演奏中にレジストレーション設定指示があったとき、前記レジストレーションメモリから格納されている楽音制御データの値を読み出して前記制御レジスタに設定するレジストレーション設定手段と、
少なくとも１つの所定の楽音制御データについて、前記制御レジスタに設定されている所定の楽音制御データを前記楽音信号生成手段に出力する補間手段であって、前記制御レジスタに設定された前記所定の楽音制御データの値と前記楽音信号生成手段に出力される前記所定の楽音制御データの現在の値との差が所定値以上であるとき、前記制御レジスタに設定された前記所定の楽音制御データの値に達するまで、前記楽音信号生成手段に出力される前記所定の楽音制御データの現在の値を補間して変化させる補間手段と、
前記所定の楽音制御データが、前記レジストレーション設定手段によって前記制御レジスタに設定されるときには、前記補間手段に対して補間レートを変更させ、前記楽音信号生成手段に出力される前記所定の楽音制御データの現在の値が前記制御レジスタに設定された前記所定の楽音制御データの値に達した後の時点で、前記補間手段に対して前記補間レートを、変更させる前の補間レートにさせる補間レート制御手段、
を有することを特徴とする電子楽器。
【請求項２】
前記レジストレーション設定手段は、前記少なくとも１つの所定の楽音制御データの設定処理を優先して行い、
前記補間レート制御手段は、前記レジストレーション設定手段による全ての前記楽音制御データの設定処理が終了した後に、前記少なくとも１つの所定の楽音制御データの補間処理が終了していると推定して、前記補間手段に対して前記補間レートを、変更させる前の補間レートにさせる、
ことを特徴とする請求項１に記載の電子楽器。
【請求項３】
前記補間レート制御手段は、前記レジストレーション設定手段による前記楽音制御データの設定処理の開始時から所定時間経過した後に、前記少なくとも１つの所定の楽音制御データの補間処理が終了していると推定して、前記補間手段に対して前記補間レートを、変更させる前の補間レートにさせる、
ことを特徴とする請求項１に記載の電子楽器。
【請求項４】
複数の操作子と、制御レジスタと、レジストレーションメモリと、発音指示信号に応じて楽音信号を生成する楽音信号生成手段と、少なくとも１つの所定の楽音制御データについて、前記制御レジスタに設定されている所定の楽音制御データを前記楽音信号生成手段に出力する補間手段であって、前記制御レジスタに設定された前記所定の楽音制御データの値と前記楽音信号生成手段に出力される前記所定の楽音制御データの現在の値との差が所定値以上であるとき、前記制御レジスタに設定された前記所定の楽音制御データの値に達するまで、前記楽音信号生成手段に出力される前記所定の楽音制御データの現在の値を補間して変化させる補間手段を備え、各操作子に楽音制御データの種類を割り当て、かつ、前記各操作子の操作量に対応して、前記各操作子に割り当てられた種類の楽音制御データの値が前記制御レジスタに設定され、該制御レジスタに設定された楽音制御データの値に応じて前記楽音信号を生成するとともに、前記各操作子に割り当てられた種類の楽音制御データの値がレジストデータとして予め前記レジストレーションメモリに格納されている電子楽器に用いる電子楽器用プログラムであって、
演奏中にレジストレーション設定指示があったとき、前記レジストレーションメモリから格納されている楽音制御データの値を読み出して前記制御レジスタに設定するレジストレーション設定ステップと、
前記所定の楽音制御データが、前記レジストレーション設定ステップによって前記制御レジスタに設定されるときには、前記補間手段に対して補間レートを変更させ、前記楽音信号生成手段に出力される前記所定の楽音制御データの現在の値が前記制御レジスタに設定された前記所定の楽音制御データの値に達した後の時点で、前記補間手段に対して前記補間レートを、変更させる前の補間レートにさせる補間レート制御ステップ、
をコンピュータに実行させるための電子楽器用プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子楽器に備えられた複数の設定操作子により設定される複数の楽音制御データがレジストデータとして一括設定される機能を有した電子楽器において、楽音制御データの急激な変更時に行う補間処理に関するものである。
【０００２】
【従来の技術】
電子楽器においては、通常、鍵盤等の演奏操作子からの発音指示に応じて発生された楽音に、各種操作子の操作量に応じて、音量、音色等の楽音特性に変化を与えている。
このような電子楽器においては、各種操作子の操作量の検出結果に応じて、楽音特性を制御するための楽音制御データ（パラメータ）を発生している。しかし、この楽音制御データをそのまま用いると、急激に楽音特性を変化させる場合に不自然な楽音信号となっていた。
そこで、補間処理を施して急激な変化を防止しているが、補間処理によって新たに生じる問題点もある。
【０００３】
図１０は、従来の電子楽器における補間処理を模式的に示すグラフである。
横軸は演奏経過時間、縦軸は音量制御データ（音量値）の値である。補間処理の基本周期を粗くして、音量制御データの値が階段状に変化する様子を強調して示している。
操作子によりステップ的な操作量が与えられたとき、補間処理部では、前回検出された操作量に対応する音量制御データの値（図では０）から、所定レートで、今回検出された操作量に対応する音量制御データの値を目標値として変化するような楽音制御データを生成する。
【０００４】
演奏中の楽音の音量を制御するエクスプレッションペダルを一例に説明する。鍵盤をキーオンした後の楽音の発音持続期間中において、エクスプレッションペダルを急に踏んで音量を上げたり、下げたりする場合において、その操作量の変化に音源の補間処理部が対応できない場合には、楽音に不自然感が発生する。
第１の場合は、図中、１４１に示すように、補間レートが小さくて追従が遅い場合であって、演奏者の意に反してソフトな立ち上がり方をする。
第２の場合は、図中、１４３に示すように、音源の補間レートが大きくて追従が良すぎる場合であって、ステップ変化にどこまでも対応できる。しかし、デジタル処理の場合、補間レート、すなわち、１処理タイミング間隔における増減のステップ幅が大きくなりすぎると、「プッ、プッ」、あるいは「プチッ、プチッ」といったノイズが楽音信号に混じってしまう。
エクスプレッションペダルを人が操作する場合、ステップ的に操作量が変化することはない。従って、例えば、図中、１４２に示すように、人が操作可能な限界の増減レートを補間レートのファクトリ・セットとし、かつ、このときにもノイズが耳障りにならないように処理タイミング周期を設計している。
【０００５】
ところで、多様な種類の電子楽器の中には、レジストレーション機能を有するものがある。
演奏者は、多数の設定操作子を操作して、実演奏や自動演奏における楽曲演奏時の再生態様、例えば、音色や音量など、また、リズム選択、リバーブ、エフェクトなどをきめ細かく設定できる。例えば、楽音制御データが音量の場合、コンソール型電子楽器では、ソロ鍵盤、上鍵盤、下鍵盤、ペダル鍵盤、自動演奏用などの音群毎に、それぞれの音量制御用操作子（音量ボリューム）によって独立して設定可能になっている。
これらの複数の設定操作子による設定情報を一括してレジストレーションメモリに書き込んでおく。鍵盤を弾くとき、あるいは、楽曲を自動演奏するときに、演奏開始時や演奏の進行中において、このレジストデータを読み出せば、一度の操作で、パネル上の多数の設定操作子による設定情報に応じた演奏再生態様などを設定できる。
【０００６】
このようなレジストレーション機能を使って、現在発音中の音量から、レジストレーション設定音量へと変更する過渡期において、演奏者の意思は、レジストレーション設定音量にすぐにでも変化して欲しい。楽音に多少不自然感があってもよい。しかし、通常演奏時と変わらない補間処理をして楽音制御データをゆっくりと変化させてしまう設計のままであると、電子楽器の高機能化は演奏者の意向からかけ離れてしまうことになる。
【０００７】
【発明が解決しようとする課題】
本発明は、上述した問題点を解決するためになされたもので、楽音制御データの急激な変更時に発生するノイズを防止するための補間処理の補間レートを、レジストデータ設定に配慮して制御するようにした電子楽器および電子楽器用プログラムを提供することを目的とするものである。
【０００８】
【課題を解決するための手段】
本発明は、請求項１に記載の発明においては、複数の操作子と、制御レジスタと、レジストレーションメモリと、発音指示信号に応じて楽音信号を生成する楽音信号生成手段を備え、各操作子に楽音制御データの種類を割り当て、かつ、前記各操作子の操作量に対応して、前記各操作子に割り当てられた種類の楽音制御データの値が前記制御レジスタに設定され、該制御レジスタに設定された楽音制御データの値に応じて前記楽音信号を生成するとともに、前記各操作子に割り当てられた種類の楽音制御データの値がレジストデータとして予め前記レジストレーションメモリに格納されている電子楽器であって、演奏中にレジストレーション設定指示があったとき、前記レジストレーションメモリから格納されている楽音制御データの値を読み出して前記制御レジスタに設定するレジストレーション設定手段と、少なくとも１つの所定の楽音制御データについて、前記制御レジスタに設定されている所定の楽音制御データを前記楽音信号生成手段に出力する補間手段であって、前記制御レジスタに設定された前記所定の楽音制御データの値と前記楽音信号生成手段に出力される前記所定の楽音制御データの現在の値との差が所定値以上であるとき、前記制御レジスタに設定された前記所定の楽音制御データの値に達するまで、前記楽音信号生成手段に出力される前記所定の楽音制御データの現在の値を補間して変化させる補間手段と、前記所定の楽音制御データが、前記レジストレーション設定手段によって前記制御レジスタに設定されるときには、前記補間手段に対して補間レートを変更させ、前記楽音信号生成手段に出力される前記所定の楽音制御データの現在の値が前記制御レジスタに設定された前記所定の楽音制御データの値に達した後の時点で、前記補間手段に対して前記補間レートを、変更させる前の補間レートにさせる補間レート制御手段を有するものである。
すなわち、その急激な変化に対して補間データを作成する対象となっている所定の楽音制御データが、レジストレーション設定手段によって設定されたときに、操作子により直接的にその楽音制御データを設定する場合に比べて補間レートを変更させている。従って、演奏者がレジストレーション設定によって楽音制御データの設定変更に望んでいるレスポンスに合致した補間レートを設定することができる。
【０００９】
所定の楽音制御データが、例えば、音量制御データである場合に、これをレジストレーション設定手段によって設定するときには、補間レートを大きくするとよい。その際、無条件で補間レートを大きくしてもよいが、レジストレーション設定手段によって設定する前または設定するときの一方のみにおいて、個々の操作子の操作量に対応した音量制御データについて、あるいは、複数の操作子の操作量が総合された結果による音量制御データについて、この音量制御データが零であるという条件において、上述した補間レートを大きくすれば、聴感上好ましい楽音信号になる。
一方、所定の楽音制御データが、例えば、パン制御（音像定位）データである場合に、これをレジストレーション設定手段によって設定するときには、補間レートを大または小に変更するか、そのままにするかを条件に応じて決めた方がよい。さらには、補間レートをレジストデータの１つとしてレジストレーションメモリに記憶させるようにしてもよい。
【００１０】
請求項２に記載の発明においては、請求項１に記載の電子楽器において、前記レジストレーション設定手段は、前記少なくとも１つの所定の楽音制御データの設定処理を優先して行い、前記補間レート制御手段は、前記レジストレーション設定手段による全ての前記楽音制御データの設定処理が終了した後に、前記少なくとも１つの所定の楽音制御データの補間処理が終了していると推定して、前記補間手段に対して前記補間レートを、変更させる前の補間レートにさせるものである。
従って、補間レート制御手段が補間手段側に設けられていないなどの理由で、補間の終了を直接的に検出できない場合でも、特別な手段を設けることなく、簡単な方法で、楽音制御データの補間が終了している時点を推定して、補間レートを元に戻させることができる。
【００１１】
請求項３に記載の発明においては、請求項１に記載の電子楽器において、前記補間レート制御手段は、前記レジストレーション設定手段による前記楽音制御データの設定処理の開始時から所定時間経過した後に、前記少なくとも１つの所定の楽音制御データの補間処理が終了していると推定して、前記補間手段に対して前記補間レートを、変更させる前の補間レートにさせるものである。
従って、補間レート制御手段が補間手段側に設けられていないなどの理由で、補間の終了を直接的に検出できない場合でも、確実に楽音制御データの補間が終了している時点を推定して、補間レートを元に戻させることができる。
【００１２】
請求項４に記載の発明においては、複数の操作子と、制御レジスタと、レジストレーションメモリと、発音指示信号に応じて楽音信号を生成する楽音信号生成手段と、少なくとも１つの所定の楽音制御データについて、前記制御レジスタに設定されている所定の楽音制御データを前記楽音信号生成手段に出力する補間手段であって、前記制御レジスタに設定された前記所定の楽音制御データの値と前記楽音信号生成手段に出力される前記所定の楽音制御データの現在の値との差が所定値以上であるとき、前記制御レジスタに設定された前記所定の楽音制御データの値に達するまで、前記楽音信号生成手段に出力される前記所定の楽音制御データの現在の値を補間して変化させる補間手段を備え、各操作子に楽音制御データの種類を割り当て、かつ、前記各操作子の操作量に対応して、前記各操作子に割り当てられた種類の楽音制御データの値が前記制御レジスタに設定され、該制御レジスタに設定された楽音制御データの値に応じて前記楽音信号を生成するとともに、前記各操作子に割り当てられた種類の楽音制御データの値がレジストデータとして予め前記レジストレーションメモリに格納されている電子楽器に用いる電子楽器用プログラムであって、演奏中にレジストレーション設定指示があったとき、前記レジストレーションメモリから格納されている楽音制御データの値を読み出して前記制御レジスタに設定するレジストレーション設定ステップと、前記所定の楽音制御データが、前記レジストレーション設定ステップによって前記制御レジスタに設定されるときには、前記補間手段に対して補間レートを変更させ、前記楽音信号生成手段に出力される前記所定の楽音制御データの現在の値が前記制御レジスタに設定された前記所定の楽音制御データの値に達した後の時点で、前記補間手段に対して前記補間レートを、変更させる前の補間レートにさせる補間レート制御ステップをコンピュータに実行させるためのものである。
従って、請求項１に記載の電子楽器の、レジストレーション設定機能と補間レート制御機能をコンピュータを用いて実現することができる。
【００１３】
【発明の実施の形態】
図１は、本発明の実施の一形態を説明するための機能ブロック構成図である。図中、１は鍵盤、２は各種の設定操作子のうち、着目している１つの操作子、３はレジスト関係操作子群である。４は音源部、５はその内部にある楽音信号生成部であって、鍵盤１から出力される発音指示データを入力する。６はレジストレーション設定部であって、その内部に、レジストレーション制御部７、レジストレーションメモリ８、補間レート制御部９を有する。
【００１４】
レジストレーション制御部７は、レジスト関係操作子群３によって指示を与えられて、操作子２を含む複数の操作子によって設定された複数種類の楽音制御データを一括してレジストデータとし、レジストレーションメモリ８に登録する。また、演奏者自身が登録する場合だけではなく、ファクトリ・セットとして基本レジストデータの多数のセットが予め登録されている。
レジストレーション制御部７は、また、レジスト関係操作子群３によって指示を与えられて、レジストレーションメモリ８から複数種類の楽音制御データを一括して読み出し、補間処理部１０に出力する。
【００１５】
補間処理部１０は、操作子２から直接に、あるいは、レジストレーション制御部７から、この操作子２により設定される所定の楽音制御データを入力し、この楽音制御データの値が急激に増減したときに、補間処理を行った上で、入力した楽音制御データを楽音信号生成部５に出力する。
補間レート制御部９は、上述した操作子２により設定される所定の楽音制御データを、レジストデータとして楽音信号生成部５に設定するときには、補間処理部１０の補間レートを変更する（例えば、大きくする）制御信号を補間処理部１０に出力する。次いで、補間処理を終了したことを何らかの方法で検出あるいは推定して、元通りの補間レートに戻させるための制御信号を出力する。その際、元の補間レートを送出する必要は必ずしもなく、補間レートを初期状態に戻す指示を行うだけでもよい。
この補間レート制御部９は、レジストレーション設定部６内に設けているが、補間処理部１０のある側に設けてもよい。補間処理部１０は、通常、音源部４側に設けられるが、音源部４を制御する側に設けてもよい。
【００１６】
このように、レジストデータを音源部４に設定する過渡期においては、演奏者の意思を尊重するようにして、補間レートの値を、例えば、大きくすることで楽音制御データの目標値への設定の追従性をよくする。レジストデータの設定終了後は、十分対応でき、かつ、ノイズの発生のおそれがない、元の通常の補間レートに戻させるようにしている。操作子２に対する通常の補間レートは、操作量の最大変化時においても、ノイズが感じられないような遅い補間レートにすることにより、マニュアル演奏には支障のない値にする。
【００１７】
図２は、本発明の実施の一形態を説明するためのハードウエア構成図である。図中、２１はバスライン、２２はCPU（Central Processing Unit）、２３はRAM（Random Access Memory）、２４はROM（Read Only Memory）である。これらは、マイクロコンピュータの最小単位を構成する。CPU２２は、ROM２４に記憶された電子楽器用プログラムを、RAM２３をワーキングエリアとして実行することにより、図１に示したレジストレーション設定を含む楽音制御や発音制御等の電子楽器全体の制御を行う。RAM２３のワーキングエリアには、プログラムの実行に必要なフラグ、カウント値などの変数データ、レジスタ等を記憶する。ROM２４には、電子楽器制御用プログラムのほか、楽音制御に必要な制御データなどが記憶されている。
レジストデータを記憶するレジストレーションメモリ８は、RAM２３とは別に設けているが、RAM２３の一部を用いてもよい。
【００１８】
２５は音量操作子群であって、ソロ鍵盤，上鍵盤，下鍵盤，ペダル鍵盤、自動リズムなどの音群毎の音量ボリューム、電子楽器全体の音量を制御するマスターボリュームを含む。３４は演奏中の楽音信号の音量を制御するエクスプレションペダルである。
２６は音色を設定する音色操作子群、２７は効果関係を設定する効果関係操作子群である。これらは、図示を省略した操作子インターフェースを介してバス２１に接続されている。なお、ステレオ方式で楽音を出力する電子楽器においては、左右のスピーカから出力する音量を制御して、音像を定位または変更させるパン制御用操作子を効果関係操作子群２７内に設ける。
上述した操作子群を構成する多種類の操作子の各々の操作量に対応した楽音制御データが、レジストレーションメモリ８に格納される。
【００１９】
図示の例では、レジストレーション関係操作子群３として、R1〜R9のレジストスイッチ２８およびメモリスイッチM２９がある。
レジストレーションメモリ８には、１楽曲用に複数のレジストデータを記憶可能であり、レジストスイッチ（R1〜R9）２８の１つを押すことにより、複数のレジストデータを切り替える。レジストデータに、指示データ（nextマーク）が入っている場合は、レジストスイッチ２８を操作しなくても、引き続き、他のエリアのレジストデータを読み出す。
また、レジストスイッチ（R1〜R9）２８を操作することなく、図示しないフットスイッチを操作すれば、所定の順番でレジストデータが切り替わる。
【００２０】
図示の例では、押す毎に書き込みと読み出しとが切り替わるメモリスイッチ２９を用いている。
レジストレーションメモリ８に記憶されたレジストデータは、その他のハードウエアブロック３５に含まれる、図示しない外部記憶装置を用いて、フレキシブル磁気ディスクに記録したり、読み出したりすることができる。
また、後述する楽曲データ（ソングデータ）とともにレジストデータが記録された自動演奏用のフレキシブル磁気ディスクもある。この場合、演奏データとともに、読み出すレジストデータを指示するレジストデータ指示データが、それぞれ、イベントタイミングデータを伴って記録されている。
【００２１】
３０は自動演奏関係の操作子群であって、自動演奏関係メモリ３１に記憶された自動演奏関係データ（自動演奏、自動リズム、自動伴奏など）の選択、演奏開始、終了などの操作を行う操作子群である。自動演奏関係メモリ３１は、ROM，RAMいずれでもよい。
自動演奏関係データ中、特に、楽曲データは、ネットワーク上のサーバから、直接あるいはパーソナルコンピュータを介して、ダウンロードしたり、ストリーミング再生したりしてもよい。このような自動演奏再生についても、レジストデータを読み出して、楽音信号の再生態様を制御できる。従って、本発明でいう電子楽器は鍵盤を必須としない。
３２は、操作時に、各操作子が制御対象とする楽音制御データ名の文字表示とその設定値の数値表示を行う液晶表示器、あるいは複数セグメントの発光ダイオードなどである。レジストデータを読み出して設定するときも、楽音制御データ名とその設定値が表示される。
３３は、音源部４により生成された楽音信号を発音するアンプ、スピーカなどのサウンドシステムである。
【００２２】
３５は、その他のハードウエアブロックである。外部記憶装置、MIDI（Musical Instrument Digital Interface）インターフェース、通信インターフェースなどがある。外部記憶装置としては、半導体メモリカードへの記録再生装置があってもよい。ハード磁気ディスク駆動装置とCD-ROM駆動装置を設けて、電子楽器制御プログラムをインストールしてもよい。
MIDIインターフェースによって、外部の電子楽器やパーソナルコンピュータにケーブル接続可能である。通信インターフェースによって、LAN（Local Area Network）あるいはインターネット上のサーバ，パーソナルコンピュータに接続可能であり、自動演奏データや電子楽器制御プログラムをダウンロードできる。
【００２３】
図３は、図２に示した音源部の内部構成の簡単な一例を説明するための機能ブロック構成図である。
図３（ａ）は音源部の機能ブロック構成図である。図中、４１は制御レジスタ、４２は波形発生器、４３は乗算器、４４はエンベロープ発生器、４５は補間器、４６は合成器、４７はチャンネル累算器、４８はD/A変換器である。
CPU２２より転送された楽音制御データや制御情報等は、制御レジスタ４１に一時記憶される。波形発生器４２は制御レジスタ４１から得たノート・オン信号や楽音制御データ等に基づいて楽音波形データを発生し、乗算器４３に出力する。一方、エンベロープ発生器４４は、制御レジスタ１１から得たエンベロープ制御情報およびノート・オン信号に基づいて音量エンベロープデータを発生して合成器４６に出力する。
【００２４】
補間器４５は、発音開始時には補間処理をオフにして、その後は補間した音量制御データの値を出力する。エンベロープ発生器４４の出力と補間器４５の出力とは、合成器４６において合成されて乗算器４３に出力され、波形発生器４２が出力する楽音波形データと乗算される。
補間処理は、全ての楽音制御データに対して行うのではなく、数値的に制御がなされるもので、かつ、その急激な変化が聴感上問題となるものについて行う。補間器４５の出力は、波形発生器４２が出力する楽音波形信号の振幅を制御する。
しかし、補間処理する楽音制御データの種類によって、波形発生器４２そのものを制御したり、図示しない効果付与部を制御したりする。
【００２５】
波形発生器４２は、複数の発音チャンネルを有し、時分割処理によって複数の楽音波形データを独立して生成可能である。各発音チャンネルの楽音波形データは、ディジタル・アナログ変換器４８のサンプリングクロック毎のタイミングで出力される。波形発生器４２に対応して、エンベロープ発生器４４、補間器４５も、それぞれ複数の時分割発音チャンネルを有し、サンプリングクロック毎のタイミングでそれぞれの出力データを出す。
乗算器４３より時分割されて出力される各発音チャンネルの楽音データ信号は、チャンネル累算器４７において、全発音チャンネルにわたり累算され、ディジタル・アナログ変換器（DAC）４８において、アナログ信号に変換される。なお、ステレオ方式の場合は、チャンネル累算器４７において、全発音チャンネルがそのLチャンネル毎に累算されるとともに、全発音チャンネルがそのRチャンネル毎にも累算されて、２系統となってディジタル・アナログ変換器４８に出力される。
【００２６】
補間器４５は、異なる種類の楽音制御データを時分割で補間処理することができるが、個別に補間器を設けて並列動作させてもよい。
また、ある１種類の楽音制御データ、例えば、音量制御データであっても、異なる操作子の操作量に応じたそれぞれの音量制御データが総合されて１つの音量制御データとなって補間器４５に入力される。
ここでは、エクスプレッションペダルの操作と音群毎の音量ボリューム操作による音量制御データに補間処理をする場合を想定して説明する。
【００２７】
図３（ｂ）は、図３（ａ）に示した補間器４５の内部構成の一例を説明するための機能ブロック構成図である。図中、５１は目標値選択器、５２はレート発生器、５３は加算器、５４は比較器、５５は補間制御部、５６はセレクタ、５７はディレイ（遅延）部である。
レート発生器５２には、補間レートの値が制御レジスタ４１から発音チャンネル毎に時分割されて入力される。この補間レートの値は、補間処理の速さ（基準タイミング周期当たりのステップ幅）を決定する。
レート発生器５２は、補間レートの値に基づいて所定のステップ幅の楽音制御データを発生して、加算器５３に出力する。補間制御部５５から増減の方向を指示する信号がレート発生器５２に供給される。
【００２８】
レート発生器５２は、電源がオンとなったときに通常の小さい補間レートが初期設定される。この初期設定値を保存している場合には、補間レートを大きくされた後に小さな補間レートに戻したいときに、補間レート自体を入力する代わりに、初期値に戻す指示信号を入力してもよい。
さらに、大きな補間レートも予め記憶しているものであれば、大きな補間レートを設定するために、補間レート自体を送出する代わりに、大きな補間レートを指示する信号を入力するようにしてもよい。
【００２９】
一方、音量制御データの値は、目標値選択器５１に入力され、目標値として比較器５４およびセレクタ５６に供給される。
補間制御部５５はノート・オン・パルスが入力された時に、セレクタ５６を制御して目標値選択器５１からの楽音制御データの値をセレクタ５６から出力させる。
セレクタ５６により選択された楽音制御データの値は、複数段のレジスタなどからなるディレイ部５７に入力されて、１サンプルクロック周期遅延されて補間器４５の出力となるとともに、加算器５３および比較器５４へフィードバックされる。そして、加算器５３によりレート発生器５２よりのステップ幅データが加算されてセレクタ５６に出力される。
【００３０】
補間制御部５５は、ノート・オン・パルスが入力された時、および比較器５４が一致出力を出力した時に、セレクタ５６の入力「１」を選択し、他の場合にはセレクタ５６の入力「０」を選択するよう制御する。比較器５４は、入力データ値の差がステップ幅未満であるときには一致出力を出す。
現在の楽音制御データの値から急激に変化した値の楽音制御データが制御レジスタ４１を介して目標値選択器５１に入力された時は、比較器５４に入力される２つの入力データ値が一致しないため、補間制御部５５は、加算器５３よりの楽音制御データの値を選択する。そして、ディレイ部５７から１サンプルクロック周期遅延されて再び加算器５３に供給され、加算器５３によりステップ幅データが加算されることにより補間された楽音制御データの値が、セレクタ５６を介してディレイ部５７に再度入力される。
【００３１】
補間された楽音制御データの値が目標値選択器５１からの目標値と一致すると、比較器５４が補間制御部５５に一致信号を与えるため、補間制御部５５はセレクタ５６の入力「１」を選択し、目標値とされた楽音制御データの値がそのままディレイ部５７から出力される。
レート発生器５２に入力される補間レートの値は、CPU２２から制御レジスタ４１を介して制御される。すなわち、通常は、補間レートの値を所定の小さな値に設定しておくが、レジスト関係操作子群３を操作して、レジストデータを音源部４に設定する際は、補間レートの値を大きな値にし、レジストデータ設定後は、元の小さな値に設定しなおす。
【００３２】
なお、図３，図４を参照した説明では、補間処理は、１サンプリングタイム毎に所定のステップ幅を加算して音量制御データを補間している。加算器５３を乗算器に置き換えることにより、所定のステップ幅を乗算して補間処理してもよい。この場合、対数スケールで直線的に補間されることになる。このように、補間処理中の特性カーブは任意に決めてよい。いずれの場合でも、レジストデータを音源部４に設定する際は、補間レートの値をそれより前のレートよりも変更し、例えば、大きな値にする。
上述した音源部４は、マイクロプログラムで機能が実行される半導体チップとして実現されるほか、汎用のCPUを用いて、いわゆるソフトウエア音源として実現することも可能である。また、音源部４は、電子楽器本体に対し、MIDIインターフェース等で外付けされたものでもよい。
【００３３】
図４は、本発明の実施の一形態の動作を説明するための第１のフローチャートである。CPU２２がプログラムに従って実行するメインルーチンを示している。電子楽器の電源等が投入されると、メインルーチンが開始され、Ｓ６１において、各種レジスタやフラグのリセット等の初期化が行われる。
Ｓ６２において、全ての操作子の操作子イベントの種類が検出される。
Ｓ６３において、操作子イベントの種類が鍵盤１の鍵であるときには、Ｓ６４に処理を進めて発音処理を行い、Ｓ６２に処理を戻す。押鍵された鍵の音高とイニシアルタッチも検出されてCPU２２で処理され、音源部４にノート・オン・パルスなど発音に必要な楽音制御データを出力する。イニシアルタッチは、補間器４５の目標値に反映される。離鍵のときには、その鍵の音高を検出して、音源部４に対して発音終了を指示する。音源部４においては、発音期間中において、この鍵に設定されている音色に応じた波形およびエンベロープを生成し、各種の設定操作子に応じた楽音制御データに基づいて楽音波形データを出力することになる。
【００３４】
Ｓ６３において、操作子イベントの種類がエクスプレッションペダルや音群毎の音量ボリュームなどの音量関係であるときには、Ｓ６５に処理を進め、操作量の変化イベントを検出し、CPU２２では音量増減処理が行われ、音量制御データを音源部４に転送し、Ｓ６２に処理を戻す。
Ｓ６３において、操作子イベントの種類が音色であるときには、Ｓ６６に処理を進め、音源部４に対して音色設定処理を指示し、Ｓ６２に処理を戻す。その際、音色に応じて音量を調整する場合には、音源部５４に転送する音量制御データの値を更新する。
【００３５】
Ｓ６３において、操作子イベントの種類が効果関係であるときには、Ｓ６７に処理を進め、各種の効果制御データを音源部４に転送し、Ｓ６２に処理を戻す。効果の種類が、リバーブやコーラスの場合は、図２の音源部４とサウンドシステム３３の間にDSP（Digital Signal Processor）を設ける。ディジタル・アナログ変換器４８は、DSPの後に設ける。
Ｓ６３において、操作子イベントの種類がレジストデータ関係であるときには、Ｓ６８において、後述する図５または図６，図７で詳述するレジストデータ処理を行い、Ｓ６２に処理を戻す。
Ｓ６３において、操作子イベントの種類が自動演奏関係であるときには、Ｓ６９において、楽曲データ、自動リズム、自動伴奏などの選択や演奏開始、演奏終了などの自動演奏処理を行い、Ｓ６２に処理を戻す。
Ｓ６３において、操作子イベントの種類がその他の処理であるときには、Ｓ７０に処理を進め、その他の処理を行って、Ｓ６２に処理を戻す。
【００３６】
図５は、本発明の実施の一形態の動作を説明するための第２のフローチャートである。図４におけるレジストデータ処理ステップＳ６８の第１の具体例を示している。すなわち、いずれかのレジストレーション関係操作子にオンイベントがあったときに処理が開始される。
Ｓ８１において、レジストメモリオン中か否かを判定する。すなわち、メモリ（書き込み）モードか否かを判定する。メモリモードであるときにはＳ８２に処理を進め、読み出しモードであるときには、Ｓ８３に処理を進める。メモリモードと読み出しモードとは、図２に示した例では、メモリスイッチM２９のトグル動作を検出して行うが、このフローチャートでは、この検出処理については省略した。
Ｓ８２において、現在において、パネルに設定されているレジストすべき各種レジストデータ（楽音制御データ）を、図４のＳ６２において検出されたレジストスイッチ（R1〜R9）２８に対応したレジストレーションメモリ８のエリアに記憶して、メインルーチンに戻る。
【００３７】
一方、読み出しモードであるときには、Ｓ８３において、現在の音群毎の音量制御データが零で、かつ、今押されたレジストスイッチが指示するレジストデータ中の音量制御データを読み出して、これが零以外か否かを判定し、そうであればＳ８４に処理を進め、そうでなければＳ８５に処理を進める。
Ｓ８５においては、現在の音群毎の音量制御データが零以外で、かつ、今押されたレジストスイッチが指示するレジストデータ中の上述した音量制御データが零であるか否かを判定し、そうであればＳ８４に処理を進め、そうでなければＳ８６に処理を進める。
従って、現在または読み出された音群毎の音量制御データのいずれか一方のみが零のときには、Ｓ８４に処理を進めることになる。
【００３８】
Ｓ８４においては、補間レートの値RTを大きな値Rrにして速いレスポンスを設定する。Ｓ８７において、押されたレジストスイッチによって指定される上述した音量制御データV1を音源部４の目標値選択器５１（図３ｂ）に送出し、Ｓ８８において、補間レートの値RTを音源部４のレート発生器５２（図３ｂ）に送出する。
次いで、Ｓ８９において、押されたレジストスイッチに対応したエリアの残りのレジストデータを全て読み出し、パネルの表示器３２および音源部４に、再設定値として送出する。ただし、音量制御データV1は、既に送出済みであるから音源部４には送出しない。この例では、音量制御データV1を除いた楽音制御データに対しては補間処理を行わない。
次いで、Ｓ９０において、補間レートの値RTを小さな値Rsにして遅いレスポンスを設定する。Ｓ９１において、補間レートの値RTを音源部４のレート発生器５２（図３ｂ）に送出し、メインルーチンに戻る。
【００３９】
音量制御の場合、小さな補間レートの値Rsは、操作量の最大変化時においても、ノイズが感じられないような値にしている。具体的な数値を示すと、音量レベルの0から最大96dBまでの変化に対し、120ないし500msecであればよく、300ないし400msecであればさらによい。
レジストデータの設定による音量制御データの設定時は、音量レベルの0から最大96dBの変化に対し、30ないし100msecであればよく、50msec前後であればさらによい。
一方、現在または読み出された音量制御データの両方が零のとき、あるいは、両方が零でないときには、従来通りのＳ８６に処理が進み、押されたレジストスイッチに対応した各種レジストデータをレジストレーションメモリ８から読み出して、パネルの表示器３２および音源部４の目標値選択器５１に送出して、メインルーチンに戻る。
【００４０】
図８は、本発明の実施の一形態における補間処理を模式的に示す第１のグラフである。
図８（ａ）は、本発明の実施の一形態における補間処理の基本を模式的に示すグラフである。
図８（ｂ）は、図５に示したフローチャートにおける補間処理を模式的に示すグラフであり、楽音制御データの現在の値よりも目標値の方が大きい場合を示す。
図８（ｃ）は、図５に示したフローチャートにおける補間処理を模式的に示すグラフであり、楽音制御データの現在の値よりも目標値の方が小さい場合を示す。
従来の補間処理を説明するのに用いた図１０と同様に、横軸は演奏経過時間、縦軸は音量制御データの値である。
【００４１】
図８（ａ）において、レジスト変更中以外において、演奏中の楽音の音量を制御するエクスプレッションペダルや音群毎の音量ボリュームにより、ステップ変化に近い急激な操作量が与えられた場合については、従来と同様に、この変化に追従し、かつ、ノイズが発生しない程度の小さな補間レートの値Rsで、目標値まで補間するような音量制御データ１２１を生成する。
一方、レジストデータを読み出してレジスト処理変更中のとき、その中の音群毎の音量制御データを補間処理する場合には、ノイズが発生することをある程度まで容認して大きな補間レートの値Rrで補間された音量制御データ１２２を生成することによって、楽音に多少不自然感があっても、レジストレーション設定音量に直ちに変化して欲しいという要望を満たすことができる。
しかし、図５に示したフローチャートでは、Ｓ８３，Ｓ８５のステップを設けることによって、レジストデータの音量制御データを設定する場合でも、現在またはレジストデータ中の音量制御データのいずれか一方のみが零のときにのみ、速いレスポンスを設定している。
【００４２】
図８（ｂ）に示すように、現在の音量制御データのみが零のときには、大きな補間レートの値Rrで補間された音量制御データ１２３を生成する。これに対し、現在の音量制御データもレジストデータ中の音量制御データのいずれも零でないときには、小さな補間レートの値Rsで補間された音量制御データ１２４を生成する。
同様に、図８（ｃ）に示すように、レジストデータ中の音量制御データのみが零のときには、大きな補間レートの値Rrで補間された音量制御データ１２５を生成する。現在の音量制御データもレジストデータ中の音量制御データのいずれも零でないときには、小さな補間レートの値Rsで補間された音量制御データ１２６を生成する。
このような条件を加えたのは、音量が零から変化するとき、逆に音量が零になるときには、レスポンスの遅れが目立つが、いずれも零でなく、楽音信号が継続して出力されているキーオン状態では、レスポンスの遅れは目立たないという試聴結果に基づいている。
【００４３】
なお、現在の音量制御データもレジストデータ中の音量制御データのいずれも零であるときには、楽音信号が出力されないのであるから、レスポンスを特に速くする必要性がないので、Ｓ８６に処理を進めている。
同様に、音量制御を行う対象のキーオン状態が存在しないときにも、レスポンスを速くする必要性はないので、図５に示したフローチャートにおいて、Ｓ８１とＳ８３との間に、キーオン中であるかどうかの判断ステップを入れてもよいが、図５ではこのステップを省略した。
熟達した演奏者であれば、レジストデータの読み出しは、通常、鍵盤を押していないときに行うので、レジストデータ設定時にレスポンスの遅れは問題になりにくい。しかし、熟達した演奏者であっても、キーオフ・タイミングに気を配らない傾向があるため、キーオフがまだ完了していない楽音信号持続中にレジストスイッチを操作する可能性が少なからずあるので、レジストデータの読み出しの補間レートに配慮している。
【００４４】
図９は、本発明の実施の一形態における補間処理を模式的に示す第２のグラフである。
図９（ａ）はレジストレーションデータの設定前後の補間処理を模式的に示すグラフである。図１０，図８と同様に、横軸は演奏経過時間、縦軸は音量制御データの値である。
図９（ｂ）は補間レートを変更する第１の方法を示すグラフであり、図９（ｃ）は補間レートを変更する第２の方法を示すグラフである。いずれも、横軸は演奏経過時間、縦軸は、補間レートの値RTである。
【００４５】
まず、図９（ａ）を参照して説明する。CPU２２（図２）は、レジストレーションメモリ８から読み出した音量制御データおよび大きな補間レートの値Rrを音源部４に出力する。その結果、補間処理された音量制御データ１３１は、図示のようなものとなる。
その後、音量制御データ１３１が目標値に達して補間処理が完了すれば、操作子が設定量を零にしたときに、補間処理された音量制御データ１３２を図示のようなものとするため、CPU２２は、補間レートの値Rを再び通常の遅いレートRsに戻す必要がある。
従って、CPU２２は、音量制御データが目標値に達して補間処理が完了したことを知る必要がある。しかし、既成の音源半導体チップは、音源部４から目標値に達したことをCPU２２に知らせる手段を有していない。
【００４６】
そこで、補間レートの値を図９（ｂ）の１３３に示すようなものとするため、図５に示したフローチャートでは、CPU２２がレジストレーションメモリ８からレジストデータを読み出し、レジストデータ中の各種の楽音制御データをパネルの表示器３２に表示させたり、音源部４に送出したりするために要するレジストデータ処理時間を利用している。
そのため、図５に示したように、補間処理すべき音量制御データの設定処理を優先して行う。例えば、最初にレジストレーションメモリ８から、補間処理すべき音群毎の音量制御データを読み出し、大きな補間レートの値Rrとともに、最初に音源部４に送出している。その他の補間処理しない楽音制御データについては、後から読み出すとともに、後で音源部４に送出する。また、表示器３２の表示制御も後で行う。
その結果、補間処理が終了して音量制御データが目標値に達した後に、CPU２２のレジストレーション処理が終了し、その後のＳ９１において、小さな補間レートの値Rsを音源部に送出する。
【００４７】
しかし、レジストデータ処理に要する時間は、その時々によって変化するので必ずしも一定ではない。また、CPU２２の処理速度に左右されるので、CPU２２が高速のものに変更された場合には、レジストデータ処理に要する時間が短くなって、補間処理が終了していない場合が起こりうる。
そのため、補間レートの値を、図９（ｃ）の１３４に示すように、所定クロックあるいは時間を計数するタイマを用いて、所定時間後に補間レートの値を元に戻させる第２の方法が考えられる。
図６は、本発明の実施の一形態の動作を説明するための第３のフローチャートである。図９（ｃ）に示した第２の方法に従ったものであり、図４におけるレジストデータ処理ステップＳ６８の第２の具体例を示している。
図７は、本発明の実施の一形態の動作を説明するための第４のフローチャートである。図６に示した処理ステップとともに用いられるタイマ割込の処理ステップを示している。
【００４８】
図６中、図５と同様なステップには同じステップ番号を付して説明を省略する。Ｓ８４において、大きな補間レートの値Rrを設定し、レジストデータの音量制御データV1を音源部４に送出した後にＳ１０１において所定時間長のタイマを起動させ、Ｓ８８において補間レートの値Rrを音源部４に送出してメインルーチンに戻る。
図７において、タイマインタラプトは、例えば1msec毎に起動される。Ｓ１１１において、タイマ・オン指示があるか否かを判定する。すなわち、図６のＳ１０１において、タイマ・オンとなるが、これを何らかのフラグをたてることによって識別できるようにしておく。タイマ・オンであれば、Ｓ１１２に処理を進め、そうでなければ割り込み処理を終了してメインルーチンに戻る。
Ｓ１１２においては、時間変数Tを＋1し、Ｓ１１３において、Tは、（所定時間）＋1になったか否かを判定し、そうであればＳ１１３に処理を進め、そうでなければメインルーチンに戻る。Ｓ１１４においては、補間レートの値Rに小さな値Rsを設定して、音源部４のレート発生器５２（図３ｂ）に送出する。一方、時間変数を0にして、タイマ・オフモードにする。
【００４９】
上述した説明では、補間を行う楽音制御データを音量制御データのみとした。音群毎の音量制御データは、音群毎の音量ボリュームのほか、エクスプレッションペダル、マスターボリュームなどの他の音量設定操作子および他の楽音制御データ、例えば、音色等に連動して制御される場合が多い。これら多数の音量設定操作子等の総合された結果による音量制御データが、音源部４内の補間器４５において補間制御される。
なお、エクスプレッションペダルの操作量に対応した音量制御データをレジストデータとして登録し、それを読み出すようにしてもよい。
また、図５，図６に示したフローチャート中のＳ８３，Ｓ８５の判断ステップを採用する場合は、音量を制御する個々の操作子の操作量に対応した音量制御データについて音群毎に判断して、それらの操作子の少なくとも１つが条件を満足する場合に、Ｓ８４に処理を進めてもよい。あるいは、総合された結果による音群毎の音量制御データの値について判断してもよい。
【００５０】
上述した説明では、音量制御データに限って説明した。しかし、他の楽音制御データについても、操作量の急激な変化に対して補間処理を行っている場合に、レジストデータを読み出すときに、補間レートの値を変更することにより、補間処理によるレスポンスの低下を防止することができる。
しかし、レジストデータを読み出すときに、必ずしも補間レートの値を大きくするとは限らない。
その具体例を、ステレオ出力の電子楽器において、左右の２スピーカに対する音量比を制御することによりパン効果を得る場合を例にして説明する。
音群毎に２個のパンスイッチが設けられ、パンスイッチを操作すると、音像の定位位置が設定される。その操作量に応じた音量制御データの値が制御レジスタ４１に転送される。
パン制御をする場合は、各発音チャンネルに割り当てられた処理時間は、さらに時分割されてＬ，Ｒチャンネルが時分割処理される。これに伴い、エンベロープ発生器４４もＬ，Ｒチャンネルを時分割処理させる。補間器４５は、Ｌ，Ｒチャンネルを時分割処理させてもよいし、Ｌ，Ｒチャンネル別に異なる補間器を並列動作させてもよい。
【００５１】
レジストデータ読み出し時のパン制御データの補間レートは、上述した音量制御の場合と同様に，常に大きくするようにしても意味がない。定位位置が急に変化しても違和感はない。従って、通常時のままにしておいたり、逆に小さくしたりしてもよい。言い換えれば、演奏者の演奏意図に応じて「大」、「小」を決定すればよい。
第1楽章が終わって第2楽章に移るときや、楽曲構成が、Ａ，Ａ’，Ｂ，Ａ’のＢ（サビ）に移る時、あるいは、短調から長調に転調する時などには、すぐに演奏シーンが変わってほしいので、このような切り替わり時に、レジストスイッチをオンにしたときには、即座にパン変更が望ましいので、補間レートの値を大きくする意義がある。
しかし、短調に転調するときは、わざと徐々に、１音符分や１小節に見合う遅いレートでパンが変わった方が、楽曲シーンのリアリティが出る場合がある。このような切り替わり時に、レジストスイッチをオンにしたときには、補間レートの値を小さくする意義がある。
【００５２】
上述したどちらの場合とも言えない場合もあるが，レジストデータを読み出して楽音制御データを音源部４に設定する際に、補間レートの値を、レジストデータを読み出してレジスト変更する期間の前後における補間レートの値から変更することには、楽曲シーンをよりよく表現する上で有意義であり、楽曲の解釈に対する演奏者のパーソナリティを出すことができる。
従って、パン制御において、レジストデータ読み出し時に、補間レートの値そのものをいくらにするかを指定できるようにしたり、補間レートの値を大，小，通常値通り、の中から、演奏者が任意に選択できるようにしたりしてもよい。
さらに、その演奏者が設定した結果を、レジストデータの１つとしてレジストレーションメモリ８に記憶してもよい。レジストスイッチ２８でレジストデータを読み出したときに、読み出された補間レートの指示によって、補間レートを制御すればよい。
【００５３】
【発明の効果】
本発明は、上述した説明から明らかなように、レジストデータ読み出しによる楽音制御データの設定時のレスポンスを演奏者の意向に合致したものにすることができるという効果がある。
特に、音量制御に関しては、通常時はノイズの発生を極力防止する一方、レジストデータの読み出し時には、楽音制御データの設定のレスポンスを速くすることができるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の一形態を説明するための機能ブロック構成図である。
【図２】本発明の実施の一形態を説明するためのハードウエア構成図である。
【図３】図２に示した音源部の内部構成の簡単な一例を説明するための機能ブロック構成図である。
【図４】本発明の実施の一形態の動作を説明するための第１のフローチャートである。
【図５】本発明の実施の一形態の動作を説明するための第２のフローチャートである。
【図６】本発明の実施の一形態の動作を説明するための第３のフローチャートである。
【図７】本発明の実施の一形態の動作を説明するための第４のフローチャートである。
【図８】本発明の実施の一形態における補間処理を模式的に示す第１のグラフである。
【図９】本発明の実施の一形態における補間処理を模式的に示す第２のグラフである。
【図１０】従来の電子楽器における補間処理を模式的に示すグラフである。
【符号の説明】
１…鍵盤、２…操作子、３…レジスト関係操作子群、４…音源部、５…楽音信号生成部、６…レジストレーション設定部、７…レジストレーション制御部、８…レジストレーションメモリ、９…補間レート制御部
【図１】
0003864784.tif 000002
【図２】
0003864784.tif 000003
【図３】
0003864784.tif 000004
【図４】
0003864784.tif 000005
【図５】
0003864784.tif 000006
【図６】
0003864784.tif 000007
【図７】
0003864784.tif 000008
【図８】
0003864784.tif 000009
【図９】
0003864784.tif 000010
【図１０】
0003864784.tif 000011