(57)【要約】【課題】  種々の可変域を持つ複数のパラメータを可及的に適切に変更することができるようにする。【解決手段】  単位時間当たりにダイアル１９ｂから発生したパルスの数が２である場合と、３以上５以下である場合には、ダイアル１９ｂの単位操作量当たりのパラメータの変化量を、そのパラメータの可変量に所定の倍率を乗算した値とすることにより（ステップＳ３３〜Ｓ３６）、ダイアル１９ｂの単位操作量当たりのパラメータの変化量を、パラメータの可変域に応じて定めるようにして、種々の可変域を持つ複数のパラメータを可及的に適切に変更することができるようにする。【選択図】  図６
2006308920.tif 000002
【特許請求の範囲】
【請求項１】
パラメータの設定値を変更するための操作子と、
前記パラメータの上限値と下限値とを記憶媒体に記憶する記憶手段と、
前記記憶手段により記憶された前記パラメータの上限値と下限値とを用いて、前記操作子の単位操作量当たりの前記パラメータの変化量を決定するパラメータ変化量決定手段とを有することを特徴とするパラメータ設定装置。
【請求項２】
前記操作子の操作量を検出する検出手段と、
前記パラメータ変化量決定手段により決定された前記操作子の単位操作量当たりの前記パラメータの変化量と、前記検出手段により検出された前記操作子の操作量とを用いて、前記パラメータの変更量を決定する変更量決定手段と、
前記変更量決定手段により決定された前記パラメータの変更量と、前記パラメータの現在値とを用いて、前記パラメータの新たな値を決定するパラメータ値決定手段とを有することを特徴とする請求項１に記載のパラメータ設定装置。
【請求項３】
前記パラメータ変化量決定手段は、前記検出手段により検出された前記操作子の操作量が所定の値又は所定の範囲内にある場合に、前記記憶手段により記憶された前記パラメータの上限値と下限値とを用いて、前記操作子の単位操作量当たりの前記パラメータの変化量を決定することを特徴とする請求項２に記載のパラメータ設定装置。
【請求項４】
前記操作子は、操作量に応じてパルスを発生し、
前記操作子の操作量は、単位時間当たりに発生したパルスの数、又は発生したパルスの間隔であることを特徴とする請求項２又は３に記載のパラメータ設定装置。
【請求項５】
前記パラメータ値決定手段は、前記変更量決定手段により決定された前記パラメータの変更量と、前記パラメータの現在値との加算値が、前記パラメータの下限値から上限値までの範囲内である場合には、その加算値を前記パラメータの新たな値とすることを特徴とする請求項２〜４の何れか１項に記載のパラメータ設定装置。
【請求項６】
前記パラメータ値決定手段は、前記変更量決定手段により決定された前記パラメータの変更量と、前記パラメータの現在値との加算値が、前記パラメータの上限値よりも大きい場合には、その上限値を前記パラメータの新たな値とし、前記変更量決定手段により決定された前記パラメータの変更量と、前記パラメータの現在値との加算値が、前記パラメータの下限値よりも小さい場合には、その下限値を前記パラメータの新たな値とすることを特徴とする請求項５に記載のパラメータ設定装置。
【請求項７】
前記請求項１〜６の何れか１項に記載のパラメータ設定装置と、
前記パラメータ設定装置で設定されたパラメータに基づく楽音を生成する楽音生成手段とを有することを特徴とする電子楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パラメータ設定装置及び電子楽器に関し、特に、パラメータを設定するために用いて好適なものである。
【背景技術】
【０００２】
従来から、ダイアル等の操作子を用いて、電子楽器における種々のパラメータを設定することが行われている。特許文献１には、操作子の操作速度に応じてパラメータの変化量を異ならせるようにする技術が提案されている。具体的に説明すると、操作子の操作速度が速いほど、操作子の操作量に対するパラメータの変化量が大きくなるようにして、パラメータの設定可能な範囲（以下、可変域と称する）が広い場合であっても、可及的に容易にパラメータを設定することが可能になるようにしている。
【０００３】
【特許文献１】特開平６−５９６７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、電子楽器におけるパラメータは、可変域が広いものもあれば、狭いものもある。しかしながら、前述した従来の技術のように、操作子の操作速度が速いほど、操作子の操作量に対するパラメータの変化量が大きくなるようにすると、種々の可変域を持つ複数のパラメータを適切に変更することが困難であるという問題点がある。
【０００５】
例えば、可変域が０〜１１の第１のパラメータの可変域の範囲（以下、可変量と称する）と、可変域が０〜１６３８３の第２のパラメータの可変量との差は、１６３７２（＝１６３７２−１２）となり、大きい。このため、従来の技術では、操作子の単位操作量に対するパラメータの変化量を、第２のパラメータに合わせて決定すると、操作子の単位操作量に対するパラメータの変化量が大きくなりすぎ、第１のパラメータの設定ができなくなる虞がある。
【０００６】
一方、操作子の単位操作量に対するパラメータの変化量を、第１のパラメータに合わせて決定すると、操作子の単位操作量に対するパラメータの変化量が小さくなりすぎ、第２のパラメータの設定を迅速に行うことが困難になる虞がある。
【０００７】
以上のように従来の技術では、種々の可変域を持つ複数のパラメータを適切に変更することが困難であるという問題点があった。
本発明は、このような問題点に鑑みてなされたものであり、種々の可変域を持つ複数のパラメータを可及的に適切に変更することができるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明のパラメータ設定装置は、パラメータの設定値を変更するための操作子と、前記パラメータの上限値と下限値とを記憶媒体に記憶する記憶手段と、前記記憶手段により記憶された前記パラメータの上限値と下限値とを用いて、前記操作子の単位操作量当たりの前記パラメータの変化量を決定するパラメータ変化量決定手段とを有することを特徴とする。
本発明の電子楽器は、前記パラメータ設定装置と、前記パラメータ設定装置で設定されたパラメータに基づく楽音を生成する楽音生成手段とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、パラメータの上限値と下限値とを用いて、操作子の単位操作量当たりの前記パラメータの変化量を決定するようにしたので、種々の可変域を持つ複数のパラメータを可及的に適切に変更することができる。
【発明を実施するための最良の形態】
【００１０】
次に、図面を参照しながら、本発明の一実施形態について説明する。
図１は、本実施形態の電子楽器の概略構成の一例を示したブロック図である。
図１において、電子楽器は、中央処理装置（以下、ＣＰＵと称する）１と、フラッシュメモリ２と、ランダムアクセスメモリ（以下、ＲＡＭと称する）３と、外部記憶媒体４と、外部入出力用インターフェース部５と、信号バス６と、キースキャン回路７と、鍵盤８と、パネルスキャン回路９と、操作パネル１０と、楽音発生部１１と、波形フラッシュメモリ１２と、デジタル／アナログ変換部（以下、Ｄ／Ａ変換部と称する）１３と、アナログ信号処理部１４と、パワーアンプ１５と、スピーカ部１６とを有している。
【００１１】
図１に示すように、ＣＰＵ１、フラッシュメモリ２、ＲＡＭ３、キースキャン回路７、パネルスキャン回路９、楽音発生部１１、外部記憶媒体４、及び外部入出力用インターフェース部５は、それぞれ信号バス６に接続され、相互に通信することが可能である。
【００１２】
（鍵盤）
鍵盤８は、複数の鍵と、それら複数の鍵の各々に対応して設けられた複数の鍵スイッチとを有している。ユーザは、前記複数の鍵を押鍵及び離鍵して所望の演奏を行う。
（キースキャン回路）
キースキャン回路７は、鍵盤８の各鍵スイッチのスキャン処理を行うためのものである。
【００１３】
（操作パネル）
操作パネル１０は、各種操作子や表示装置を有している。本実施形態の電子楽器では、表示装置として、図３に示すようなＬＣＤ（Liquid Crystal Display；液晶ディスプレイ）１０ａが設けられている。このＬＣＤ１０ａは、各種操作子の選択状態や設定状態等を表示する。
また、前記操作子として、ＬＣＤ１０ａの左端に表示された項目に対応する操作子Ｌ１〜Ｌ５と、ＬＣＤ１０ａの右端に表示された項目に対応する操作子Ｒ１〜Ｒ５と、ＬＣＤ１０ａの下端に表示された項目に対応する操作子Ｆ１〜Ｆ７とが設けられている。
【００１４】
この他、前記操作子として、図２に示すようなダイアル１０ｂが設けられている。このダイアル１０ｂは、音量やテンポの設定の他に、後述するようにしてイベントの設定等を行うためにユーザにより操作される操作子である。図２に示すように、ダイアル１０ｂは、時計方向（右回り）及び反時計方向（左回り）の双方に回すことが可能である。本実施形態では、時計方向に回すと、設定対象の値が増大し、反時計方向に回すと設定対象の値が減少するようになっている。また、ダイアル１０ｂを単位操作量（所謂１クリック）回す度に、パルス信号が１つ発生する。
【００１５】
例えば、図２（ａ）に示すように、ダイアル１０ｂに形成されている角部が所定の領域を通ると発生するパルス信号ＣＬＫ１及びＣＬＫ２が、それぞれＣＰＵ１の割り込み端子ＩＮＴ、及び入力ポートＰＲＴにそれぞれ入力される。具体的に、パルス信号ＣＬＫ１、ＣＬＫ２は、図２（ｂ）に示すようになる。このように本実施形態では、パルス信号ＣＬＫ１が入力されると、ＣＰＵ１は、割り込み処理を行って、ダイアル１０ｂの操作量を判別するための処理を実行する。
【００１６】
具体的には、ＣＰＵ１への割り込みは、例えば割り込み端子ＩＮＴの立下り時に発生し、ＣＰＵ１の処理は割り込み処理ルーチンに自動的に移行する。割り込み処理ルーチンでは、ＣＰＵ１の入力ポートＰＲＴを用いてパルス信号ＣＬＫ２を観察し、このパルス信号ＣＬＫ２のレベルがハイレベルであった場合には、ダイアル１０ｂが右回りに操作されたと判定し、パルス計数値であるカウント値Ｃｔに１を加える。
【００１７】
一方、パルス信号ＣＬＫ２のレベルがロウレベルであった場合には、ダイアル１０ｂが左回りに操作されたと判定し、パルス計数値であるカウント値Ｃｔから１を減ずる。このような加算もしくは減算を行った後、ＣＰＵ１の処理は、割り込みがかかった際に処理した命令の次の命令の位置に復帰する。
なお、前述したものの他に種々の操作子が電子楽器に設けられているということは言うまでもない。
【００１８】
（パネルスキャン回路）
パネルスキャン回路９は、操作パネル１０に設けられている各種操作子のスキャン処理を行うためのものである。
【００１９】
（ＣＰＵ）
ＣＰＵ１は、本実施形態の電子楽器の全体を統括制御するためのものであり、フラッシュメモリ２に格納されている制御プログラムに従って、ＲＡＭ３をワークメモリとして利用しながら、例えば次のような処理を行う。
【００２０】
ＣＰＵ１は、パネルスキャン回路９によりスキャン処理された結果を入力し、操作パネル１０の操作内容を識別する。
また、ＣＰＵ１は、キースキャン回路７によりスキャン処理された結果を入力して、鍵の操作内容（押鍵及び離鍵）を識別する。
そして、その鍵の操作内容（鍵の押鍵及び離鍵）に基づく演奏データや、操作パネル１０の操作内容に基づくデータを楽音発生部１１に割り当てる処理を行う。
【００２１】
この演奏データは、前記各鍵の操作が押鍵（キーオン）であるか離鍵（キーオフ）であるかを示すキーオン／オフ信号や、音高データである音高や、音量制御データであるベロシティデータや、演奏のテンポの絶対値を示すテンポ情報（以下、必要に応じて単にテンポ情報と称する）や、各鍵の動作スピードに関するキータッチレスポンス信号などから構成される。
【００２２】
また、ＣＰＵ１は、フラッシュメモリ２に記憶されている自動伴奏データを読み出して、楽音発生部１１に割り当てること等も行う。これにより、自動伴奏データに基づく自動伴奏の楽音が発音されるようになる。
【００２３】
さらに、ＣＰＵ１は、ユーザの操作パネル１０の操作に基づき、図３に示すようなイベント編集画面３０をＬＣＤ１０ａに表示する。ここで、図３を参照しながら、本実施形態におけるイベントの設定方法について説明する。なお、以下に説明するイベント編集画面３０の表示処理は、ＣＰＵ１が、フラッシュメモリ２に記憶されている表示用データを用いた処理を行うこと等によって実現される。
【００２４】
図３に示すイベント編集画面３０において、「ＢＡＲ」は小節番号を示す。この「ＢＡＲ」の可変域は、１曲に含まれる小節数に応じて定められる。図３に示すイベント３１の「ＢＡＲ」の値は１なので、イベント３１は、１小節目のイベントということになる。
「ＢＥＡＴ」は、イベントが何拍目にあるのかを示す。この「ＢＥＡＴ」の可変域は、１〜４である。図３に示すイベント３１の「ＢＥＡＴ」の値は１なので、イベント３１は（１小節目の）２拍目のイベントということになる。
【００２５】
「ＣＬＯＣＫ」は、１拍の中のどのタイミングでイベントを発生させるかを示す。この「ＣＬＯＣＫ」の可変域は、０〜９５である。図３に示すイベント３１の「ＣＬＯＣＫ」の値は９４なので、イベント３１は、２拍目の中の９５番目のタイミングで発生させるイベントということになる。
「ＥＶＥＮＴ」は、イベントのノート（音符）を示す。この「ＥＶＥＮＴ」の可変域は、０〜１２７である。図３に示すイベント３１の「ＥＶＥＮＴ」の値はＥ２なので、イベント３１ではノートナンバーがＥ２の音を発音させることになる。
【００２６】
「ＶＡＬＵＥ」は、イベントで発音させる音のベロシティを示す。ここで、ベロシティとは、鍵盤８を弾く強さ（又は速度）を表す。この「ＶＡＬＵＥ」の可変域は、０〜１２７である。図３に示すイベント３１の「ＶＡＬＵＥ」の値は８６なので、イベント３１で発音させる音のベロシティは、８７番目に大きなものということになる。
「ＬＥＮＧＴＨ」は、イベントで発音させる音のゲートタイムを示す。ここで、ゲートタイムとは、キーオンからキーオフまでの時間を表す。この「ＬＥＮＧＴＨ」の可変域は、０〜１６３８３である。なお、「ＬＥＮＧＴＨ」を、ピッチベンドの幅としてもよい。ここで、ピッチベンドとは、音高（ピッチ）を連続的に上下させることを表す。この場合、「ＬＥＮＧＴＨ」の可変域は、−８１９２〜８１９１となる。
なお、以上のようなパラメータの値は、例えば、フラッシュメモリ２に記憶される。
【００２７】
以上のように、本実施形態では、種々の可変域を有する複数のパラメータを設定することにより、イベント３１が設定される。
イベント３１の具体的な設定方法は、まず、操作子Ｌ２〜Ｌ５を操作して、設定を希望するイベントを選択する。選択されたイベントの周囲が、強調表示される。図３では、イベント３１の周囲が強調表示されている。
【００２８】
なお、操作子Ｌ２は、下方向にあるイベントを、前記強調表示される位置に小節単位で移動させる際に操作されるものである。操作子Ｌ３は、下方向にあるイベントを、前記強調表示される位置にイベント単位で移動させる際に操作されるものである。操作子Ｌ５は、上方向にあるイベントを、前記強調表示される位置に小節単位で移動させる際に操作されるものである。操作子Ｌ３は、上方向にあるイベントを、前記強調表示される位置にイベント単位で移動させる際に操作されるものである。
【００２９】
こうして操作子Ｌ２〜Ｌ５を操作して設定を希望するイベント３１が選択されると、操作子Ｒ２〜Ｒ４の何れかを押す。操作子Ｒ２は、選択したイベント３１を削除する際に操作されるものである。操作子Ｒ３は、選択したイベント３１の上にイベントを挿入する際に操作されるものである。操作子Ｒ４は、選択したイベント３１のパラメータを変更する際に操作されるものである。図３では、操作子Ｒ４が操作されたとする。
【００３０】
こうして、操作子Ｒ４が操作され、イベント３１に含まれるパラメータを変更することが選択されると、強調表示されたイベント３１のパラメータの１つを囲むようにカーソル３２が表示される。その後、操作子Ｆ５、Ｆ６を操作して、カーソル３２を移動させて、設定の変更を希望するパラメータを選択する。操作子Ｆ５は、カーソル３２を右方向に移動させる際に操作されるものである。操作子Ｆ６は、カーソル３２を左方向に移動させる際に操作されるものである。図３では、イベント３１の「ＶＡＬＵＥ」が設定の変更を希望するパラメータとして選択されている。
【００３１】
その後、図２に示したダイアル１０ｂを操作すると、「ＶＡＬＵＥ」の値を変更し、変更した値をイベント編集画面３０のカーソル３２が表示されている部分に表示する。このパラメータの値の変更方法は、図８及び図９のフローチャートを用いて後述する。
なお、ＣＰＵ１は、前述したものの他に種々の処理を行うということは言うまでもない。
【００３２】
（フラッシュメモリ）
フラッシュメモリ２は、読み出し可能なメモリであり、ＣＰＵ１の制御プログラムの他、レジストレーション情報や、自動伴奏データ等、種々のデータを格納する。
【００３３】
（ＲＡＭ）
ＲＡＭ３は読み書きが可能なメモリであり、ＣＰＵ１のプログラム実行過程において各種の必要なデータを一時的に記憶したり、編集可能なパラメータデータを記憶したりする記憶領域を有している。このＲＡＭ３の一部あるいは全部はバッテリーバックアップされており、必要なデータを、電子楽器の電源がオフにされても保持しておくことができるようにしている。
【００３４】
（波形メモリ）
波形メモリ１２は、音色や音域に応じた種々の楽音波形データを記憶している。
（楽音発生部）
楽音発生部１１は、前述したようにしてＣＰＵ１により割り当てられた演奏データや自動伴奏データと、操作パネル１０の操作内容に基づくデータとに基づいて、波形メモリ１２から必要な楽音波形データを読み出し、所望のデジタル楽音信号を発生させる。
【００３５】
（Ｄ／Ａ変換部）
Ｄ／Ａ変換部１３は、楽音発生部１１で発生されたデジタル楽音信号をアナログ楽音信号に変換する機能を有する。
（アナログ信号処理部）
アナログ信号処理部１４は、Ｄ／Ａ変換部１３でＤ／Ａ変換されたアナログ楽音信号に対し、フィルタ処理（ノイズ除去処理）や音質調整、信号レベル（ゲイン）調整等を施す機能を有する。
【００３６】
（パワーアンプ）
パワーアンプ１５は、アナログ信号処理部１４でノイズ除去処理が施されたアナログ楽音信号に対し、増幅処理を施して適当なレベルに増幅する。
（スピーカ部）
スピーカ部１６は、パワーアンプ１５で増幅されたアナログ楽音信号を可聴信号として放音するためのものであり、１個あるいは複数個で構成されている。
【００３７】
（外部記憶装置）
外部記憶媒体４は、例えば、ＣＤ−ＲＷドライブである。そして、ＣＰＵ１は、ＣＤ−ＲＷドライブに装着されたＣＤ−ＲＯＭに記憶されている制御プログラムや各種データを読み出して必要な処理を行う。なお、外部記憶媒体４は、ＣＤ−ＲＷドライブに限定されず、フレキシブルディスク（ＦＤ）装置や、光磁気ディスク（ＭＯ）装置などであってもよいということは言うまでもない。
【００３８】
（外部入出力用インターフェース部）
外部入出力用インターフェース部５は、外部装置との間で、演奏情報などのデータのやり取りを行うためのものである。具体的に、この外部入出力用インターフェース部５は、例えばＭＩＤＩ（Musical Instrument Digital Interface）である。
【００３９】
次に、図４〜図９を参照しながら、本実施形態の電子楽器に配設されたＣＰＵ１により実行される処理の一例を説明する。
【００４０】
図４は、ＣＰＵ１により実行されるメインルーチンの処理の一例を説明するフローチャートである。
まず、ステップＳ１において、初期化処理を実行する。
次に、ステップＳ２において、イベントが発生したか否かを判定する。この判定の結果、イベントが発生した場合には、ステップＳ３に進み、イベント処理を実行する。このイベント処理の詳細については後述する。一方、イベントが発生していない場合には、このステップＳ３を省略してステップＳ４に進む。
そして、ステップＳ４において、その他の処理を実行する。
【００４１】
図５は、割り込み端子ＩＮＴにパルス信号ＣＬＫ１が入力された後にＣＰＵ１が行う前記割り込み処理の一例を説明するフローチャートである。
まず、ステップＳ５１において、ＣＰＵ１は、割り込み端子ＩＮＴに入力されたパルス信号ＣＬＫ１が立ち下がったとき（すなわち、割り込みが発生したとき）に、入力ポートＰＲＴに入力されたパルス信号ＣＬＫ２がハイレベルであるか否かを判定する。この判定の結果、入力ポートＰＲＴに入力されたパルス信号ＣＬＫ２がハイレベルである場合には、ダイアル１０ｂが右回りに操作されたと判定し、ＲＡＭ３に記憶されているカウント値Ｃｔに１を加算する。
【００４２】
一方、入力ポートＰＲＴに入力されたパルス信号ＣＬＫ２がハイレベルでない場合（ロウレベルである場合）には、ダイアル１０ｂが左回りに操作されたと判定し、ＲＡＭ３に記憶されているカウント値Ｃｔに１を減算する（「−１」を加算する）。
【００４３】
図６は、図４のステップＳ３におけるイベント処理の詳細の一例を説明するフローチャートである。
まず、ステップＳ６１において、発生したイベントが操作パネル１０に関するイベントか否かを判定する。この判定の結果、操作パネル１０に関するイベントでない場合には、ステップＳ６２に進み、発生したイベントが鍵盤８に関するイベントか否かを判定する。この判定の結果、鍵盤８に関するイベントでない場合には、ステップＳ６３に進み、その他の処理を行って図４に示したメインフローチャートに戻る。
【００４４】
前記ステップＳ６１において、発生したイベントが操作パネル１０に関するイベントであると判定した場合には、ステップＳ６４に進み、パネル処理を実行する。このパネル処理の詳細については後述する。
また、前記ステップＳ６２において、発生したイベントが鍵盤８に関するイベントである場合には、ステップＳ６５に進み、鍵盤処理を実行する。鍵盤処理は、例えば、鍵盤８の押鍵及び離鍵に基づく発音処理等である。
【００４５】
図７は、図６のステップＳ６４におけるパネル処理の詳細の一例を説明するフローチャートである。
まず、ステップＳ７１において、ダイアル１０ｂが操作されたか否かを判定する。この判定の結果、ダイアル１０ｂが操作されていない場合には、ステップＳ７４に進み、その他の処理を行って、図４に示したメインフローチャートに戻る。
【００４６】
一方、ダイアル１０ｂが操作された場合には、ステップＳ７２に進み、パラメータ変更処理を実行する。このパラメータ変更処理の詳細については後述する。
次に、ＲＡＭ３に記憶されているカウント値Ｃｔを「ゼロ（０）」にリセットする。
【００４７】
図８は、図７のステップＳ７２におけるパネル処理の詳細の一例を説明するフローチャートである。
まず、ステップＳ１１において、前述したように、図３に示したイベント編集画面３０を用いて指定されたパラメータの現在値を取得してＲＡＭ３に一旦記憶する。図３に示した例では、「ＶＡＬＵＥ」の現在値である８６を取得することになる。
次に、ステップＳ１２において、指定されたパラメータの可変域を取得してＲＡＭ３に一旦記憶する。図３に示した例では、「ＶＡＬＵＥ」の可変域である０〜１２７を取得することになる。
【００４８】
次に、ステップＳ１３において、ステップＳ１１で取得したパラメータの現在値と、ステップＳ１２で取得したパラメータの可変域とに基づいて、ダイアル１０ｂの単位操作量に対するパラメータの変化量を決定し、決定した変化量と、ダイアル１０ｂの操作量とに基づいて、パラメータの変更量を決定する変更量決定処理を行う。この変更量決定処理の詳細については、図９を用いて後述する。
【００４９】
パラメータの変更量を決定すると、ステップＳ１４に進み、ステップＳ１１でＲＡＭ３に記憶したパラメータの現在値に、ステップＳ１３で決定したパラメータの変更量を加算する。
次に、ステップＳ１５において、ステップＳ１４で加算した値が、ステップＳ１２でＲＡＭ３に記憶したパラメータの可変域の上限値よりも大きいか否かを判定する。「ＶＡＬＵＥ」の可変域は、０〜１２７なので、図３に示した例では、１２７が上限値となる。
【００５０】
この判定の結果、ステップＳ１４で加算した値が、ステップＳ１２でＲＡＭ３に記憶したパラメータの可変域の上限値よりも大きい場合には、ステップＳ１６に進む。そして、ステップＳ１６において、ステップＳ１２でＲＡＭ３に記憶したパラメータの可変域の上限値を、パラメータの変更値として、フラッシュメモリ２に記憶されているパラメータの値に上書きした後、イベント編集画面３０におけるパラメータの値の表示内容を変更する。そして、図７に示したフローチャートに戻る。
【００５１】
一方、ステップＳ１４で加算した値が、ステップＳ１２でＲＡＭ３に記憶したパラメータの可変域の上限値よりも大きくない場合には、ステップＳ１７に進み、ステップＳ１４で加算した値が、ステップＳ１２でＲＡＭ３に記憶したパラメータの可変域の下限値よりも小さいか否かを判定する。「ＶＡＬＵＥ」の可変域は、０〜１２７なので、図３に示した例では、０が下限値となる。
【００５２】
この判定の結果、ステップＳ１４で加算した値が、ステップＳ１２でＲＡＭ３に記憶したパラメータの可変域の下限値よりも小さい場合には、ステップＳ１８に進む。そして、ステップＳ１８において、ステップＳ１２でＲＡＭ３に記憶したパラメータの可変域の下限値を、パラメータの変更値として、フラッシュメモリ２に記憶されているパラメータの値に上書きした後、イベント編集画面３０におけるパラメータの値の表示内容を変更する。そして、図７に示したフローチャートに戻る。
【００５３】
一方、ステップＳ１４で加算した値が、ステップＳ１４でＲＡＭ３に記憶したパラメータの可変域の下限値よりも小さくない場合、すなわち、ステップＳ１４で加算した値が、ステップＳ１２でＲＡＭ３に記憶したパラメータの可変域の下限値以上、上限値以下である場合には、ステップＳ１９に進む。そして、ステップＳ１９において、ステップＳ１４で加算した値を、パラメータの変更値として、フラッシュメモリ２に記憶されているパラメータの値に上書きした後、イベント編集画面３０におけるパラメータの値の表示内容を変更する。そして、図７に示したフローチャートに戻る。
【００５４】
図９は、図８のステップＳ１３における変更量決定処理の一例を説明するフローチャートである。
まず、ステップＳ３１において、ダイアル１０ｂから単位時間（又は所定時間）に発生したパルスの数（すなわち、カウント値Ｃｔ）が１であるか否かを判定する。この判定の結果、ダイアル１０ｂから単位時間に発生したパルスの数が１である場合には、ステップＳ３２に進み、ダイアル１０ｂの単位操作量当たりのパラメータの変化量を１として、ＲＡＭ３に一時的に記憶する。そして、ＲＡＭ３に記憶されているカウント値Ｃｔをパラメータの変更量として、ＲＡＭ３に一時的に記憶する。そして、図８のフローチャートに戻る。
【００５５】
前記ステップＳ３１において、ダイアル１０ｂから単位時間に発生したパルスの数が１でないと判定した場合には、ステップＳ３３に進み、ダイアル１０ｂから単位時間（又は所定時間）に発生したパルスの数（すなわち、カウント値Ｃｔ）が２であるか否かを判定する。この判定の結果、ダイアル１０ｂから単位時間に発生したパルスの数が２である場合には、ステップＳ３４に進み、ダイアル１０ｂの単位操作量当たりのパラメータの変化量を、可変量の１００分の１として、ＲＡＭ３に一時的に記憶する。「ＶＡＬＵＥ」の可変域は、０〜１２７なので、図３に示した例では、小数点以下を切り上げて、ダイアル１０ｂの単位操作量当たりのパラメータの変化量は２（１２８×（１／１００）＝１．２８≒２）となる。そして、ＲＡＭ３に記憶されているカウント値Ｃｔに２を掛け合わせた値（＝Ｃｔ×２）をパラメータの変更量として、ＲＡＭ３に一時的に記憶する。そして、図８のフローチャートに戻る。
【００５６】
前記ステップＳ３３において、ダイアル１０ｂから単位時間に発生したパルスの数が２でないと判定した場合には、ステップＳ３７に進み、ダイアル１０ｂから単位時間（又は所定時間）に発生したパルスの数（すなわち、カウント値Ｃｔ）が３以上５以下であるか否かを判定する。この判定の結果、ダイアル１０ｂから単位時間に発生したパルスの数が３以上５以下である場合には、ステップＳ３５に進み、ダイアル１０ｂの単位操作量当たりのパラメータの変化量を、可変量の１００分の２として、ＲＡＭ３に一時的に記憶する。「ＶＡＬＵＥ」の可変域は、０〜１２７なので、図３に示した例では、小数点以下を切り上げて、ダイアル１０ｂの単位操作量当たりのパラメータの変化量は３（１２８×（２／１００）＝２．５６≒３）となる。そして、ＲＡＭ３に記憶されているカウント値Ｃｔに３を掛け合わせた値（＝Ｃｔ×３）をパラメータの変更量として、ＲＡＭ３に一時的に記憶する。そして、図８のフローチャートに戻る。
【００５７】
前記ステップＳ３５において、ダイアル１０ｂから単位時間に発生したパルスの数が３以上５以下でない場合には、ステップＳ３７に進み、ダイアル１０ｂの単位操作量当たりのパラメータの変化量を１として、ＲＡＭ３に一時的に記憶する。そして、ＲＡＭ３に記憶されているカウント値Ｃｔをパラメータの変更量として、ＲＡＭ３に一時的に記憶する。そして、図８のフローチャートに戻る。
なお、図９のステップＳ３２、Ｓ３４、Ｓ３６、Ｓ３７で決定される単位操作量当たりの変化量は、前述したものに限定されないということは言うまでもない。
【００５８】
以上のように本実施形態では、単位時間（又は所定時間）当たりにダイアル１９ｂから発生したパルスの数が２である場合と、３以上５以下である場合には、ダイアル１９ｂの単位操作量当たりのパラメータの変化量を、そのパラメータの可変量に所定の倍率を乗算した値としたので（ステップＳ３３〜Ｓ３６）、ダイアル１９ｂの単位操作量当たりのパラメータの変化量を、パラメータの可変域に応じて定めることができる。これにより、種々の可変域を持つ複数のパラメータを可及的に適切に変更することができる。
【００５９】
なお、本実施形態では、単位時間当たりにダイアル１０ｂから発生したパルスの数に応じて、ダイアル１０ｂの単位操作量当たりのパラメータの変化量を異ならせるようにしたが（図６のステップＳ３１〜Ｓ３７）、必ずしもこのようにする必要はない。例えば、ダイアル１０ｂから発生したパルスの間隔や、パルスの周期等に応じて、ダイアル１０ｂの単位操作量当たりのパラメータの変化量を異ならせるようにしてもよい。すなわち、ダイアル１０ｂの単位時間（又は所定時間）当たりの操作量を求めることができる情報に応じて、ダイアル１０ｂの単位操作量当たりのパラメータの変化量を異ならせるようにしていればよい。
【００６０】
また、本実施形態では、パラメータの現在値に、図９に示したようにして決定したパラメータの変更量を加算した値が、パラメータの可変域の上限値（下限値）よりも大きい（小さい）場合には、その上限値（下限値）をパラメータの変更値としたが、必ずしもこのようにする必要はない。例えば、パラメータの現在値にパラメータの変更量を加算した値が、パラメータの可変域の上限値を上回った場合には、上回った分をパラメータの可変域の下限値から割り当て、割り当てた値をパラメータの変更量としてもよい。
【００６１】
具体例を説明すると、図３では、「ＶＡＬＵＥ」の現在値が８６であり、「ＶＡＬＵＥ」の可変域が０〜１２７であるので、パラメータの変更量が４５の場合、パラメータの現在値にパラメータの変更量を加算した値は、１３１（＝８６＋４５）となる。したがって、「ＶＡＬＵＥ」の可変域の上限値１２７を上回っている。よって、「ＶＡＬＵＥ」の可変域の上限値を上回った分（４（＝１３１−１２７））を、「ＶＡＬＵＥ」の可変域の下限値から割り当て、割り当てた値（＝３）をパラメータの変更量とする。
【００６２】
一方、パラメータの現在値にパラメータの変更量を加算した値が、パラメータの可変域の下限値を下回った場合には、下回った分をパラメータの可変域の上限値から割り当て、割り当てた値をパラメータの変更量としてもよい。具体例を説明すると、図３では、「ＶＡＬＵＥ」の現在値が８６であり、「ＶＡＬＵＥ」の可変域である０〜１２７であるので、パラメータの変更量が−９０の場合、パラメータの現在値にパラメータの変更量を加算した値は、−４（＝８６＋（−９０））となる。したがって、「ＶＡＬＵＥ」の可変域の下限値０を下回っている。よって、「ＶＡＬＵＥ」の可変域の下限値を下回った分（４（＝０−（−４））を、「ＶＡＬＵＥ」の可変域の上限値から割り当て、割り当てた値（＝１２４）をパラメータの変更量とする。
【００６３】
また、本実施形態では、図８において、ステップＳ１１で、そのパラメータの現在値を取得するようにしたが、図８のステップＳ１１の処理は、ステップＳ１４よりも前に行っていれば、必ずしも図８に示したタイミングで行う必要はない。
また、本実施形態では、図９のステップＳ３２、Ｓ３４、Ｓ３６、Ｓ３７で決定される単位操作量当たりの変化量を、固定値としたが、これら単位操作量当たりの変化量をユーザの操作等に基づいて、変更することができるようにしてもよい。
【００６４】
さらに、本実施形態では、パラメータを操作する操作子として、ダイアル１０ｂを用いたが、操作子は、ダイアル１０ｂに限定されるものではない。例えば、押す度に値が変更すると共に、押し続けることにより値が変更する方式の押しボタン等であってもよい。
【００６５】
（本発明の他の実施形態）
前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
また、前述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【００６６】
また、この場合、前記ソフトウェアのプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−フラッシュメモリ、磁気テープ、不揮発性のメモリカード、フラッシュメモリ等を用いることができる。
【００６７】
また、コンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【００６８】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【図面の簡単な説明】
【００６９】
【図１】本発明の実施形態を示し、電子楽器の概略構成の一例を示したブロック図である。
【図２】本発明の実施形態を示し、ダイアルからパルス信号が出力される様子を概念的に示した図である。
【図３】本発明の実施形態を示し、イベント編集画面の一例を示す図である。
【図４】本発明の実施形態を示し、メインルーチンの処理の一例を説明するフローチャートである。
【図５】本発明の実施形態を示し、割り込み処理の一例を説明するフローチャートである。
【図６】本発明の実施形態を示し、イベント処理の詳細の一例を説明するフローチャートである。
【図７】本発明の実施形態を示し、パネル処理の詳細の一例を説明するフローチャートである。
【図８】本発明の実施形態を示し、パネル処理の詳細の一例を説明するフローチャートである。
【図９】本発明の実施形態を示し、変更量決定処理の一例を説明するフローチャートである。
【符号の説明】
【００７０】
１  ＣＰＵ
２  フラッシュメモリ
３  ＲＡＭ
４  外部記憶媒体
５  外部入出力用インターフェース部
６  信号バス
７  キースキャン回路
８  鍵盤
９  パネルスキャン回路
１０  操作パネル
１０ａ  ＬＣＤ
１０ｂ  ダイアル
１１  楽音発生部
１２  波形メモリ
１３  Ｄ／Ａ変換部
１４  アナログ信号処理部
１５  パワーアンプ
１６  スピーカ部
３０  イベント編集画面
３１  イベント
【図１】
2006308920.tif 000003
【図２】
2006308920.tif 000004
【図３】
2006308920.tif 000005
【図４】
2006308920.tif 000006
【図５】
2006308920.tif 000007
【図６】
2006308920.tif 000008
【図７】
2006308920.tif 000009
【図８】
2006308920.tif 000010
【図９】
2006308920.tif 000011