(57)【特許請求の範囲】
【請求項１】
操作子の操作により発生する電圧をディジタル化して操作量データとして取り込み、その操作量データに基づいて、上記操作子に割り当てられている機能を制御するようになされた電子楽器であって、
前回取り込まれた操作量データと今回取り込まれた操作量データから操作量の変化を検出する検出手段と、
上記検出手段の検出結果に応じて確認回数を可変して設定する設定手段と、
上記設定手段で設定された確認回数分、今回取り込まれた操作量データの確認を行う確認手段と、
上記確認手段で確認された操作量データに基づいて、上記操作子に割り当てられている機能を制御するための制御データを生成する生成手段とを備え、
上記検出手段は、前回取り込まれた操作量データと今回取り込まれた操作量データから操作量の変化の方向を検出し、
上記設定手段は、上記検出手段の検出結果に応じて確認回数を可変して設定することを特徴とする電子楽器。
【請求項２】
上記設定手段は、上記検出手段の検出結果により、操作量の変化の方向が前回と同じときには確認回数を少なくすることを特徴とする請求項１記載の電子楽器。
【請求項３】
上記設定手段は、上記検出手段の検出結果により、操作量の変化が大きいときには確認回数を少なくして設定することを特徴とする請求項１又は２記載の電子楽器。
【請求項４】
操作子の操作により発生する電圧をディジタル化して操作量データとして取り込み、その操作量データに基づいて、上記操作子に割り当てられている機能を制御するための制御処理ステップをコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体であって、
上記制御処理ステップは、前回取り込まれた操作量データと今回取り込まれた操作量データから操作量の変化を検出する検出ステップと、上記検出ステップの検出結果に応じて確認回数を可変して設定する設定ステップと、上記設定ステップで設定された確認回数分、今回取り込まれた操作量データの確認を行う確認ステップと、上記確認ステップで確認された操作量データに基づいて、上記操作子に割り当てられている機能を制御するための制御データを生成する生成ステップとを含み、
上記検出ステップは、前回取り込まれた操作量データと今回取り込まれた操作量データから操作量の変化の方向を検出するステップを含み、
上記設定ステップは、上記検出ステップの検出結果に応じて確認回数を可変して設定するステップを含むコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体。
【請求項５】
上記設定ステップは、上記検出ステップの検出結果により、操作量の変化の方向が前回と同じときには確認回数を少なくするステップを含む請求項４記載の記憶媒体。
【請求項６】
上記設定ステップは、上記検出ステップの検出結果により、操作量の変化が大きいときには確認回数を少なくして設定するステップを含む請求項４又は５記載の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、音量等を設定するための操作子が設けられた電子楽器、及び機器に設けられた操作子の操作に従った動作を行うための処理ステップをコンピュータが読み出し可能に格納した記憶媒体に関するものである。
【０００２】
【従来の技術】
例えば、電子楽器の操作パネルには、リズム、音色、音量、効果等の各種機能が割り当てられた複数の操作子が設けられており、各操作子を操作することで、リズム、音色、音量、効果等を自在に変化させることができる。
すなわち、電子楽器では、ある操作子が操作されると、その操作子の電圧をディジタル化して操作量データとして取り込み、その操作量データに基づいた制御データ（ベンドデータやボリュームコントロールデータ等）を生成することで、上記操作子の操作に従ったリズム、音色、音量、効果等の制御を行うようになされている。
【０００３】
ここで、上述のような電子楽器では、操作子が操作されたとき以外の電圧の変化で制御データを変化させないために、例えば、取り込んだ操作量データが所定値に満たない場合には、制御データを変化させない不感帯を設ける方式、或いは、操作量データを読み取った後再度操作量データを読み取って確認し、操作量データに変化がなければその操作量データを確定して制御データを生成する方式が採用されている。
【０００４】
【発明が解決しようとする課題】
しかしながら、不感帯を設ける方式を採用した従来の電子楽器等では、リズム、音色、音量、効果等を少しだけ微妙に変化させるために、操作子を少しだけ操作した場合、反応しないことがあった。
【０００５】
一方、複数回操作量データを読み取って確認する方式では、まず、操作量データを確認する回数は、操作量データの変化に関係なく一定であった。
また、操作量データを確認する時間は、その確認回数と、データ取り込みの時間間隔、すなわち電子楽器全体の動作制御を行うためのメインルーチンにて操作量データを取り込む場合にはメインルーチン一周にかかる時間、割り込みタイマによる割り込み処理により操作量データを取り込む場合には割り込みタイマの割り込み時間間隔とで決定する。このため、絶対的な時間という意味では、操作量が大きくても小さくても変わりはないが、操作量データをある目標値まで変化させるのに、急激に変化させる場合と、時間をかけて変化させる場合とでは、操作子の操作にかかる時間が異なるため、操作に対して処理が追いついていくか、追いついていかないか、という面で差が出ていた。
さらに、操作量データが急激に変化した場合、その操作量データを一度読み取って、次の確認のために再度読み取ったときには、操作量データの値が異なっているため、操作量データを決定することができない、ということがあった。このため、例えば、操作子の操作を開始したときと、その操作を終了したときの２つの操作量データしか確定することができず、この結果、リズム、音色、音量、効果等を制御するための制御データも、２つの値しかとらないことになり、操作の滑らかさ、すなわちリズム、音色、音量、効果等の変化の滑らかさを得ることができなかった。
したがって、この方式を採用した従来の電子楽器等では、リズム、音色、音量、効果等を急激に大きく変化させるために、操作子を急激に大きく操作した場合等、その操作の速さに処理が追いついていかなかったり、反応が遅くなる場合があった。
【０００６】
そこで、本発明は、上記の欠点を除去するために成されたもので、操作子のあらゆる操作にも即座に且つ正確に反応することで、良好な楽音を得る電子楽器を提供することを目的とする。
また、本発明は、操作子のあらゆる操作にも即座に且つ正確に反応することができる処理ステップをコンピュータが読み出し可能に格納した記憶媒体を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明の電子楽器は、操作子の操作により発生する電圧をディジタル化して操作量データとして取り込み、その操作量データに基づいて、上記操作子に割り当てられている機能を制御するようになされた電子楽器であって、前回取り込まれた操作量データと今回取り込まれた操作量データから操作量の変化を検出する検出手段と、上記検出手段の検出結果に応じて確認回数を可変して設定する設定手段と、上記設定手段で設定された確認回数分、今回取り込まれた操作量データの確認を行う確認手段と、上記確認手段で確認された操作量データに基づいて、上記操作子に割り当てられている機能を制御するための制御データを生成する生成手段とを備え、上記検出手段は、前回取り込まれた操作量データと今回取り込まれた操作量データから操作量の変化の方向を検出し、上記設定手段は、上記検出手段の検出結果に応じて確認回数を可変して設定することを特徴とする。
【０００８】
また、本発明の記憶媒体は、操作子の操作により発生する電圧をディジタル化して操作量データとして取り込み、その操作量データに基づいて、上記操作子に割り当てられている機能を制御するための制御処理ステップをコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体であって、上記制御処理ステップは、前回取り込まれた操作量データと今回取り込まれた操作量データから操作量の変化を検出する検出ステップと、上記検出ステップの検出結果に応じて確認回数を可変して設定する設定ステップと、上記設定ステップで設定された確認回数分、今回取り込まれた操作量データの確認を行う確認ステップと、上記確認ステップで確認された操作量データに基づいて、上記操作子に割り当てられている機能を制御するための制御データを生成する生成ステップとを含み、上記検出ステップは、前回取り込まれた操作量データと今回取り込まれた操作量データから操作量の変化の方向を検出するステップを含み、上記設定ステップは、上記検出ステップの検出結果に応じて確認回数を可変して設定するステップを含むコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体である。
【００１７】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
【００１８】
まず、第１の実施の形態について説明する。
【００１９】
本発明に係る電子楽器は、例えば、図１に示すような電子楽器１００に適用される。
【００２０】
この電子楽器１００は、上記図１に示すように、ＭＩＤＩ（Musical Instrument Digital Interface）インターフェース回路１０９が接続されたＣＰＵ（Central Processing Unit ）１０１、ＲＯＭ（Read Only Memory）等からなるプログラムメモリ１０２、楽音波形メモリ１０３、ＲＡＭ（Random Access Memory）１０４、操作パネル１１３が接続されたパネルインターフェース回路１０５、鍵盤装置１１４が接続された鍵盤インターフェース回路１０６、自動演奏メモリ１０７、及びディジタル／アナログ（Ｄ／Ａ）変換器１１０が接続された音源回路１０８がバス１１５に接続され、互いにデータ授受するように構成されている。
また、Ｄ／Ａ変換器１１０には、増幅器１１１が接続され、増幅器１１１にはスピーカ１１２が接続されており、音源回路１０８の出力が、Ｄ／Ａ変換器１１０及び増幅器１１１を順次介してスピーカ１１２から出力されるようになされている。
【００２１】
まず、鍵盤装置１１４は、複数の鍵と、その鍵の各々に対応して設けられた鍵スイッチを含む１つ又は複数の鍵盤からなり、上記鍵スイッチにより、押鍵及び離鍵が検出されると共に、鍵の動作スピード等も検出される。
【００２２】
操作パネル１１３には、リズム、音色、音量、効果等の機能が各々に割り当てられた複数の操作子や、プリセットされている自動演奏データに基づく自動演奏を指示するためのデモスイッチ等の操作子が配置されている。
【００２３】
楽音波形メモリ１０３には、楽音波形データが格納され、自動演奏データメモリ１０７には、自動演奏データが格納されている。
【００２４】
ＲＡＭ１０４は、後述するＣＰＵ１０１の各種処理の実行過程において、各種情報を一時的に記憶したり、各種処理の結果得られた情報を記憶したりする記憶領域等を有している。
【００２５】
プログラムメモリ１０２には、電子楽器１００全体の動作制御を行うための後述する各種の処理プログラムやデータが予め格納されており、ＣＰＵ１０１は、プログラムメモリ１０２に格納されている各種の処理プログラムを読み出して実行することで、鍵盤装置１１４の各鍵の操作状態（押鍵、離鍵、操作された鍵のキーナンバ、鍵の動作スピードに関するベロシティ等）、及び操作パネル１１３の各操作子の操作状態に従った動作を行うように、電子楽器１００全体の動作制御を行う。
【００２６】
ＭＩＤＩインターフェース回路１０９は、電子楽器１００と図示していない外部装置の接続規格であるＭＩＤＩ規格により、データの授受を行う。これにより、ＣＰＵ１０１で自動演奏データメモリ１０７に格納されている自動演奏データを外部出力して、外部装置で自動演奏を行うようにすることも可能である。
【００２７】
音源回路１０８は、複数の楽音発生チャンネルを備え、同時に複数の楽音を発生可能なように構成されている。そして、この音源回路１０８は、ＣＰＵ１０１からバス１１５を介して送られてくる各操作子の操作により得られた自動演奏データや後述する制御データに基づいて、楽音波形メモリ１０３に格納されている楽音波形データを読み出して加工して、ディジタル方式の楽音データを形成する。
【００２８】
この音源回路１０８で形成された楽音データは、Ｄ／Ａ変換器１１０でアナログ化され、増幅器１１１で増幅されて、スピーカ１１２から楽音として放音（発音）される。
【００２９】
上述のような電子楽器１００は、例えば、図２に示すフローチャートに従ったメイン処理（メインルーチン）プログラムにより動作制御される。
【００３０】
すなわち、プログラムメモリ１０２には、上記図２のメインルーチンプログラムが予め格納されており、電子楽器１００が電源ＯＮ状態となると、このメインルーチンプログラムがＣＰＵ１０１により読み出されて実行される。
【００３１】
したがって、ＣＰＵ１０１は、電子楽器１００が電源ＯＮ状態となると、先ず、初期化処理を行って（ステップＳ２０１）、音源（トーンジェネレータ）の初期化や、ＲＡＭ１０４のクリア等を行った後、操作パネル１１３に設けられている各操作子の操作状態を順次調べるスイッチイベント（パネルスキャン）処理（ステップＳ２０２）、鍵盤装置１１４に設けられている各鍵の操作状態を順次調べる鍵盤イベント（キースキャン）処理（ステップＳ２０３）、ＭＩＤＩ処理（ステップＳ２０４）、自動演奏処理（ステップＳ２０５）、及びその他の処理（ステップＳ２０６）を順次行って、スイッチイベント処理（ステップＳ２０２）に戻る。
【００３２】
ここで、例えば、ステップＳ２０２のスイッチイベント処理には、操作パネル１１３の操作子が操作されることで発生した電圧をＡ／Ｄ変換して操作量データとして取り込み、その操作量データに基づいて、操作された操作子に割り当てられている機能、すなわちリズム、音色、音量、効果等の機能を制御するための制御データ（ベンドデータやボリュームコントロールデータ等）を設定する処理（Ａ／Ｄ変換処理）も含まれている。
このＡ／Ｄ変換処理では、操作子が操作されたとき以外の電圧変化で制御データを変化させないために、操作量データを取り込んだ後、再度操作量データを取り込んで確認する方式が採用されており、特に、操作量データの変化に応じて、操作量データを確認する回数を変えるようになされている。
【００３３】
具体的には、ステップＳ２０２のスイッチイベント処理は、図３に示すフローチャートに従ったＡ／Ｄ変換処理を含んでおり、このＡ／Ｄ変換処理プログラムは、プログラムメモリ１０２に予め格納されている。
したがって、ＣＰＵ１０１は、ステップＳ２０２のスイッチイベント処理において、プログラムメモリ１０２からＡ／Ｄ変換処理プログラムを読み出して実行する。
【００３４】
尚、上記図３のＡ／Ｄ変換処理プログラムが予め格納されたプログラムメモリ１０２は、本発明に係る記憶媒体を適用したものである。
【００３５】
このため、ＣＰＵ１０１は、例えば、図４に示すように、パネルインターフェース回路１０５の出力がバス１１５（上記図１）を介して供給されるデータ取込回路４０１と、データ取込回路４０１の出力が供給される変化量検出回路４０２と、変化量検出回路４０２の出力が供給される確認回数設定回路４０３と、操作確認処理回路４０４と、操作確認処理回路４０４の出力が供給される制御データ設定回路４０５とを備えており、制御データ設定回路４０５の出力が、バス１１５を介して音源回路１０８（上記図１）に供給されるようになされている。
【００３６】
また、ＣＰＵ１０１は、内部メモリ４０６を備えており、この内部メモリ４０は、データ保存エリア４０６ａと、確認回数保存エリア４０６ｂと、確認カウンタ４０６ｃと、テーブル４０６ｄとを有している。
データ保存エリア４０６ａは、変化量検出回路４０２及び操作確認処理回路４０４から各々アクセスされ、確認回数保存エリア４０６ｂは、確認回数設定回路４０３及び操作確認処理回路４０４から各々アクセスされ、確認カウンタ４０６ｃも、確認回数設定回路４０３及び操作確認処理回路４０４から各々アクセスされるようになされている。
テーブル４０６ｄは、詳細は後述するが、操作量データの変化量と確認回数の対応表からなり、確認回数設定回路４０３からアクセスされるようになされている。
【００３７】
そこで、上記図２のメインルーチンにおいて、ステップＳ２０２のスイッチイベント処理に入ると、ＣＰＵ１０１は、上記図３のＡ／Ｄ変換処理プログラムをプログラムメモリ１０２から読み出して実行する。これにより、ＣＰＵ１０１内部の各回路は、以下のように動作する。
【００３８】
先ず、操作パネル１１３の任意の操作子、例えば、音量を設定するための操作子が操作されると、この操作により発生した電圧が、パネルインターフェース回路１０５からバス１１５を介して、データ取込回路４０１に供給される。
データ取込回路４０１は、パネルインターフェース回路１０５からの電圧を取り込んでディジタル化し、操作量データとして変化量検出回路４０２に供給する（ステップＳ３０１）。
【００３９】
次に、変化量検出回路４０２は、データ取込回路４０１からの今回の操作量データ（取込データ）と、データ保存バッファ４０６ａに前回保存したデータ取込回路４０１からの操作量データ（データ保存値）とを比較し（ステップＳ３０２）、その比較結果を確認回数設定回路４０３に供給する。
また、変化量検出回路４０２は、ステップＳ３０２の比較の結果、今回の操作量データが前回の操作量データと異なった場合、今回の操作量データと前回の操作量データの差分を変化量として算出して、確認回数設定回路４０３に供給すると共に、今回の操作量データを新しい前回の操作量データとしてデータ保存バッファ４０６ａに保存する（ステップＳ３０３）。
【００４０】
次に、確認回数設定回路４０３は、変化量検出回路４０２からの比較結果が、「今回の操作量データ≠前回の操作量データ」であったときのみ、その比較結果と共に供給された操作量データの変化量に対応する確認回数をテーブル４０６ｃから読み出し、確認回数保存エリア４０６ｂに保存（設定）すると共に、操作子が操作されたことを確認するための確認カウンタ４０６ｃをクリアする（ステップＳ３０４）。
【００４１】
ここで、テーブル４０６ｃには、操作量データの変化量ｘ1 ，ｘ2 ，・・・，ｘn ，・・・に対応して、確認回数ｙ1 ，ｙ2 ，・・・，ｙn ，・・・が予め設定されている。例えば、変化量が小さい確認回数は多く、変化量が大きい確認回数は少なく設定されている。
すなわち、変化量が、
ｘ1 ＜ｘ2 ＜・・・＜ｘn ＜・・・
なる関係であった場合、確認回数が、
ｙ1 ≧ｙ2 ≧・・・≧ｙn ≧・・・
なる関係となるように設定されている。
【００４２】
次に、操作確認処理回路４０４は、確認回数保存エリア４０６ｂに現在保存（設定）されている確認回数と、現在の確認カウンタ４０６ｃとの値を比較する（ステップＳ３０５）。
【００４３】
ステップＳ３０５の比較の結果、「確認回数＝確認カウンタ値」であった場合、操作確認処理回路４０４は、制御データ設定回路４０５に対する出力は行わない。したがって、この場合には、そのまま上記図２のメインルーチンにリターンすることになる。
【００４４】
一方、ステップＳ３０５の比較の結果、「確認回数＝確認カウンタ値」でなかった場合、操作確認処理回路４０４は、先ず、確認カウンタ４０６ｃの値を「１」加算（カウントアップ）する（ステップＳ３０６）。
【００４５】
次に、操作確認処理回路４０４は、確認回数保存エリア４０６ｂに現在保存（設定）されている確認回数と、現在の確認カウンタ４０６ｃとの値を比較する（ステップＳ３０７）。
【００４６】
そして、ステップＳ３０７の比較の結果、「確認回数＝確認カウンタ値」であった場合、操作確認処理回路４０４は、データ保存エリア４０６ａに現在保存されている操作量データを読み出して制御データ設定回路４０５に供給する。
制御データ設定回路４０５は、操作確認処理回路４０４から操作量データが供給されることにより、操作量データの確定が行われたことを認識して、その供給された操作量データに基づいて、操作された操作子に割り当てられている機能（ここでは音量）が、その操作子の操作に従って制御されるような制御データを生成して、音源回路１０８に供給する（ステップＳ３０８）。
この後、上記図２のメインルーチンにリターンし、自動演奏処理（ステップＳ２０５）等において、音源回路１０８は、制御データ設定回路４０５からの制御データに基づいて、楽音波形メモリ１０３に格納されている楽音波形データを読み出して加工（ここでは、音量データの加工）して、楽音データを形成することになる。
【００４７】
また、ステップＳ３０７の比較の結果、「確認回数＝確認カウンタ値」でなかった場合、操作確認処理回路４０４は、制御データ設定回路４０５に対する出力は行わない。したがって、この場合には、ステップＳ３０８の処理は行わずに、そのまま上記図２のメインルーチンにリターンすることになる。
【００４８】
上述のように、この第１の実施の形態では、操作パネル１１３で操作された操作子の操作量の変化に応じて、その操作量を読み取る回数を可変させるように構成したことにより、従来のように、操作子を急激に大きく操作した場合に、その操作の速さに処理が追いついていかなかったり反応が遅くなる、ということはなく、操作子がどのように操作された場合であっても、その操作に即座に且つ正確に反応することができる。
【００４９】
例えば、操作子が急激に大きく操作された場合には、確認する回数を少なくすることで、従来のように、操作子の操作を開始したときと、その操作を終了したときの２つの操作量データしか確定することができない、ということはない。これにより、この場合には、制御データが、その操作子の操作量の変化に伴って多く更新されることになるため、操作子の操作に従った滑らかな変化を得ることができる。また、操作子が少しだけ操作された場合にも、確認する回数を多くすることで、その操作に従った滑らかな変化を得ることができる。
【００５０】
つぎに、第２の実施の形態について説明する。
【００５１】
この第２の実施の形態では、上述した第１の実施の形態におけるＡ／Ｄ変換処理（上記図３）を、例えば、図５に示すフローチャートに従ったＡ／Ｄ変換処理とする。
このＡ／Ｄ変換処理のプログラムは、上記第１の実施の形態と同様に、プログラムメモリ１０２に予め格納されており、ＣＰＵ１０１により、ステップＳ２０２のスイッチイベント処理において、プログラムメモリ１０２から読み出されて実行されるようになされている。
【００５２】
また、この第２の実施の形態では、上記図４に示したＣＰＵ１０１の内部構成を、例えば、図６に示すような構成としている。
すなわち、内部メモリ４０６には、さらに最終設定値エリア４０６ｅが設けられており、この最終設定値エリア４０６ｅは、操作確認処理回路４０４からアクセスされるようになされている。
【００５３】
以下、上記図５のＡ／Ｄ変換処理プログラムの実行による上記図６のＣＰＵ１０１内部の動作について説明する。
【００５４】
尚、上記図５のＡ／Ｄ変換処理プログラムによる動作以外については、上記第１の実施の形態と同様であるため、ここでは、上記第１の実施の形態と異なる箇所についてのみ具体的に説明する。
また、上記図５のＡ／Ｄ変換処理プログラムにおいて、上記図３のＡ／Ｄ変換処理プログラムの処理ステップと同様の処理ステップには同じ符号を付し、その詳細な説明は省略する。
さらに、上記図６のＣＰＵ１０１の内部構成において、上記図４のＣＰＵ１０１の内部構成と同様に動作する箇所には同じ符号を付し、その詳細な説明は省略する。
また、上記図５のＡ／Ｄ変換処理プログラムを予め格納したプログラムメモリ１０２は、本発明に係る記憶媒体を適用したものである。
【００５５】
先ず、操作パネル１１３の任意の操作子が操作されると、この操作により発生した電圧が、パネルインターフェース回路１０５からバス１１５を介して、データ取込回路４０１に供給される。
データ取込回路４０１は、パネルインターフェース回路１０５からの電圧を取り込んでディジタル化し、操作量データとして変化量検出回路４０２に供給する（ステップＳ３０１）。
【００５６】
次に、変化量検出回路４０２は、データ取込回路４０１からの今回の操作量データ（取込データ）と、データ保存バッファ４０６ａに前回保存したデータ取込回路４０１からの操作量データ（データ保存値）とを比較し（ステップＳ３０２）、その比較結果を確認回数設定回路４０３に供給する。
また、変化量検出回路４０２は、ステップＳ３０２の比較の結果、今回の操作量データが前回の操作量データと異なった場合、今回の操作量データと前回の操作量データの差分を変化量として算出して、確認回数設定回路４０３に供給すると共に、今回の操作量データを新しい前回の操作量データとしてデータ保存バッファ４０７に保存する（ステップＳ３０３）。
【００５７】
次に、確認回数設定回路４０３は、変化量検出回路４０２からの比較結果が、「今回の操作量データ≠前回の操作量データ」であったときのみ、その比較結果と共に供給された操作量データの変化量に対応する確認回数をテーブル４０６ｃから読み出し、確認回数保存エリア４０６ｂに保存（設定）する（ステップＳ５０１）。
尚、ここでは、確認カウンタ４０６ｃのクリアは行わない。
【００５８】
次に、操作確認処理回路４０４は、データ保存エリア４０６ａに現在保存されている操作量データ（取込データ）と、最終設定値エリア４０６ｅに現在設定されている最終設定値とを比較する（ステップＳ５０２）。
ここで、最終設定値エリア４０６ｅに設定される「最終設定値」とは、制御データ設定回路４０５で制御データを生成する際に元になる操作量データのことである。すなわち、最終設定値エリア４０６ｅには、操作確認処理回路４０４が制御データ設定回路４０５に対して前回出力した操作量データが設定されている。
【００５９】
ステップＳ５０２の比較の結果、「操作量データ＝最終設定値」であった場合、操作確認処理回路４０４は、制御データ設定回路４０５に対する出力は行わない。したがって、この場合には、そのまま上記図２のメインルーチンにリターンすることになる。
【００６０】
一方、ステップＳ５０２の比較の結果、「操作量データ＝最終設定値」でなかった場合、操作確認処理回路４０４は、先ず、確認カウンタ４０６ｃの値を「１」加算（カウントアップ）する（ステップＳ３０６）。
【００６１】
次に、操作確認処理回路４０４は、現在の確認カウンタ４０６ｃの値が、確認回数保存エリア４０６ｂに現在保存（設定）されている確認回数以上であるか否かを判別する（ステップＳ５０３）。
【００６２】
そして、ステップＳ５０３の判別の結果、「確認カウンタ値≧確認回数」であった場合、操作確認処理回路４０４は、データ保存エリア４０６ａに現在保存されている操作量データを読み出して制御データ設定回路４０５に供給する。
制御データ設定回路４０５は、操作確認処理回路４０４から操作量データが供給されることにより、操作量データの確定が行われたことを認識して、その供給された操作量データに基づいて、操作された操作子に割り当てられている機能（ここでは音量）が、その操作に従って制御されるような制御データを生成して、音源回路１０８に供給する。
また、操作確認処理回路４０４は、データ保存エリア４０６ａから読み出した操作量データを最終設定値として最終設定値エリア４０６ｅに設定すると共に、確認カウンタ４０６ｃをクリアする（ステップＳ５０４）。
この後、上記図２のメインルーチンにリターンし、自動演奏処理（ステップＳ２０５）等において、音源回路１０８は、制御データ設定回路４０５からの制御データに基づいて、楽音波形メモリ１０３に格納されている楽音波形データを読み出して加工して、楽音データを形成することになる。
【００６３】
また、ステップＳ５０３の比較の結果、「確認カウンタ値≧確認回数」でなかった場合、操作確認処理回路４０４は、制御データ設定回路４０５に対する出力は行わない。したがって、この場合には、ステップＳ５０４の処理は行わずに、そのまま上記図２のメインルーチンにリターンすることになる。
【００６４】
上述のように、この第２の実施の形態では、確認回数分確認し、操作量データを確定して制御データを生成した後に、確認回数をカウントするための確認カウンタ４０６ｃをクリアするように構成したことにより、操作量データの変化に応じて得た確認回数分の確認を確実に行うことができるため、操作子の操作により即座に且つ正確に反応することができる。
【００６５】
尚、上述した第１及び第２の実施の形態では、上記図２のメインルーチンにおいて、スイッチイベント処理（ステップＳ２０２）で上記図３又は図５のＡ／Ｄ変換処理を行うようにしたが、これに限らず、例えば、その他の処理（ステップＳ２０６）で行うようにしてもよい。
或いは、上記図３又は図５のＡ／Ｄ変換処理を、割り込みタイマによる割り込み処理として行うようにしてもよい。
【００６６】
また、上述した第１及び第２の実施の形態では、操作量データを取り込んだ後、再度操作量データを取り込んで確認する方式を採用したが、制御データを変化させない不感帯を設ける方式に本発明を適用することもできる。例えば、操作量データが不感帯に存在する場合であっても、操作量データの変化量が大きい場合には、その変化量に応じた確認回数で操作量の確認を行って、制御データを生成するようにする。
或いは、再度操作量データを取り込んで確認する方式と、制御データを変化させない不感帯を設ける方式との両方式にも、本発明を適用することもできる。例えば、不感帯以外の帯域では、上述した第１及び第２の実施の形態と同様に、操作量データの変化に応じた確認回数で確認を行い、不帯感では、操作量データの変化量が大きい場合に、その変化量に応じた確認回数で操作量の確認を行うようにする。
【００６７】
さらに、操作量データの変化の方向に応じて確認回数を可変するようにしてもよい。例えば、操作量データの変化の方向を記憶しておき、その変化の方向が前回と同じ場合には、確認回数を減らし、変化の方向が変わった場合には、確認回数を増やすようにする。これにより、ノイズ等により操作量の変化の方向が逆方向になる場合にも対応することができ、また、全体としての確認回数を減らすこともできる。
【００６８】
また、上述した第１及び第２の実施の形態では、操作量データの変化量と確認回数の対応表からなるテーブル４０６ｄにより、確認回数を可変して設定するようにしたが、これに限らず、例えば、変化幅が一定値以上、又は、一定値以下、又は、一定範囲毎に設けられた固定の確認回数を設定するようにしてもよい。
【００６９】
また、本発明の目的は、上述した第１及び第２の実施の形態での電子楽器１００に限らず、そのＣＰＵ１０１の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読みだして実行することによっても、達成されることは言うまでもない。プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、上述したプログラムメモリ１０２のようなＲＯＭ等を用いることができる。
【００７０】
【発明の効果】
以上説明したように本発明によれば、音量等を設定するために、その機能が割り当てられた操作子が操作された際、操作量の変化に応じて設定された確認回数分、今回の操作による操作量データの確認を行ってその操作量データを確定するように構成したことにより、操作子の操作に応じた間隔で制御データの値を取ることができる。このため、操作子がどのように操作された場合であっても、その操作に確実に従った音量等を設定するための制御データを得ることができる。したがって、操作子のあらゆる操作にも即座に且つ正確に反応することができるため、操作子の操作に従った良好な楽音を得ることができる。
また、操作量の変化の方向にも応じて確認回数を可変して設定するように構成したことにより、ノイズ等により操作量の変化の方向が逆方向になる場合にも対応することができる。
【００７１】
また、操作量の変化の方向が前回と同じ方向のときには、ノイズ等による操作量の変化は生じていないと見なして、制御データの値が多く取られるように構成したことにより、操作子のあらゆる操作にもより正確に反応することができると共に、全体的な確認回数を減少させることができる。
【００７２】
また、操作量の変化が大きいときには制御データの値が多く取られるように構成したことにより、操作子が急激に大きく操作された場合でも、制御データが操作子の操作を開始した時と操作を終了した時の２値しか取らない、ということはない。これにより、操作子の操作に従った滑らかな楽音の制御を得ることができる。
【図面の簡単な説明】
【図１】第１の実施の形態において、本発明に係る電子楽器を適用した電子楽器の構成を示すブロック図である。
【図２】上記電子楽器におけるメインルーチンを説明するためのフローチャートである。
【図３】上記メインルーチンのスイッチイベント処理に含まれるＡ／Ｄ変換処理を説明するためのフローチャートである。
【図４】上記Ａ／Ｄ変換処理を実行するＣＰＵ内部を示すブロック図である。
【図５】第２の実施の形態におけるＡ／Ｄ変換処理を説明するためのフローチャートである。
【図６】上記Ａ／Ｄ変換処理を実行するＣＰＵ内部を示すブロック図である。
【符号の説明】
４０１  データ取込回路
４０２  変化量検出回路
４０３  確認回数設定回路
４０４  操作確認処理回路
４０５  制御データ設定回路
４０６  内部メモリ
４０６ａ  データ保存エリア
４０６ｂ  確認回数保存エリア
４０６ｃ  確認カウンタ
４０６ｄ  テーブル
【図１】
0003670448.tif 000002
【図２】
0003670448.tif 000003
【図３】
0003670448.tif 000004
【図４】
0003670448.tif 000005
【図５】
0003670448.tif 000006
【図６】
0003670448.tif 000007