電子楽器、及びプログラム
【課題】 鍵域分割数の変更を、より人間の感覚にあった操作で行えるようにする。
【解決手段】 鍵盤の分割数を増やそうとした場合、鍵盤の最高鍵から最低鍵に向かって、あるいは最低鍵から最高鍵に向かって連続的に押鍵する、つまり必要とする鍵域は「ここからここまで」と指定するような操作を行なうと、この連続押鍵の最後の押鍵位置が新たな分割位置となり、この新たな分割位置と鍵盤の最高鍵あるいは最低鍵とで指定される新たな鍵域が生まれる。
また、本発明は鍵域が新たに作成されると、その鍵域を指定する操作を行なうことなく、音色を指定するだけで、この指定された音色は新たに作成された鍵域に割当てられる。このため、鍵域を作成する度に音色指定のための鍵域指定操作が必要なくなる。
【解決手段】 鍵盤の分割数を増やそうとした場合、鍵盤の最高鍵から最低鍵に向かって、あるいは最低鍵から最高鍵に向かって連続的に押鍵する、つまり必要とする鍵域は「ここからここまで」と指定するような操作を行なうと、この連続押鍵の最後の押鍵位置が新たな分割位置となり、この新たな分割位置と鍵盤の最高鍵あるいは最低鍵とで指定される新たな鍵域が生まれる。
また、本発明は鍵域が新たに作成されると、その鍵域を指定する操作を行なうことなく、音色を指定するだけで、この指定された音色は新たに作成された鍵域に割当てられる。このため、鍵域を作成する度に音色指定のための鍵域指定操作が必要なくなる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子楽器、及びプログラムに関する。
【背景技術】
【0002】
鍵盤を有する電子楽器においては、当該鍵盤を上下2つの鍵域に分割し、鍵域夫々に異なる音色を割当てることにより、押鍵された鍵が属する鍵域に応じて異なる音色の楽音を発生可能とする構成が従来から知られている。こうした構成とすることにより、より多彩な演奏が可能となる。
近年になっては、この鍵域分割を上下2分割にするだけでなく、上鍵域、中鍵域及び下鍵域の3分割をも可能とする電子楽器も提案されている(特許文献1参照)
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平8−234747公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に示す構成であれば、演奏する内容あるいは環境に応じて、鍵盤を2分割、3分割あるいは分割なしの状態に、というように自由に分割数を変更できるとともに、その分割位置もユーザが自由に設定することが可能となる。
この鍵域の分割数、各分割位置を設定する操作は、例えば特許文献1の場合では、ロータリーエンコーダ等の特別な操作子を用いて行なうことが一般的である。
このような操作子を用い、かつ表示部に表示された鍵盤画像を見ながら、分割数、複数の分割位置、さらには分割された各鍵域への音色割当てなどをひとつひとつ設定することは操作が煩雑に感じることがある。
特に、鍵盤の分割形態を変更、つまり分割なしから2分割へ、さらには2分割から3分割へ、と変更しようとする場合、分割位置を1個加えて鍵域を1個増やすだけであるにも係らず、鍵盤以外の表示部を見ながら、鍵盤以外の操作子を操作して行わねばならない。
【0005】
これは、鍵盤に関係するにも係らず鍵盤以外を用いなければならないこと、その操作自体が、何らかのものを生じさせる操作として人間の感覚にマッチしていないため、非常に煩雑に感じさせる要因となっていた。
さらに、鍵域増加に応じて各鍵域に割当てられた音色を変更することが必要となる。このためには、まず変更が必要な鍵域を指定し、さらにこの指定された鍵域に割当てるべき音色を指定しなければならず、全ての鍵域についてこれをもれなく行なうとなると大変な手間がかかる。
【0006】
しかしながら、各鍵域全てについて割当てられるべき音色を指定し直す操作が全ての場合において必要であるかどうかは甚だ疑問である。
特に、鍵域を上下2分割した状態から上中下3分割した状態に変更する場合、新たにできた鍵域が上鍵域であるときは下鍵域の音色はそのまま継続して使用する場合が多い。逆に新たにできた鍵域が下鍵域であるときも上鍵域の音色はそのまま使用する指定する場合が多い。
【0007】
一方、3分割した状態から2分割した状態に変更する場合も、消滅する鍵域がいずれであっても、残る鍵域に割当てられる音色は変更しない場合が多い。
このような場合は、新たに指定される音色を割当てる鍵域はほぼ決まっており、わざわざ鍵域を指定する操作は不要となるが、従来の方式では、このようなことは考慮されず、新たに音色を指定する前に、必ずその音色を割当てるべき鍵域を指定する操作が必要となる。こうしたことが操作を煩雑に感じさせる原因となっていることは間違いない。
本発明は、上記従来の課題に鑑みなされたものであり、鍵域分割数の変更を、より人間の感覚にあった操作で行えるようにすることを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明に係る電子楽器は、鍵盤と、前記鍵盤を複数の鍵域に分割するための分割位置を記憶する分割位置記憶手段と、前記鍵盤の分割状態を記憶する分割状態記憶手段と、前記複数の鍵域毎に音色データを記憶可能な音色記憶手段と、外部より音色を指定する音色指定手段と、第1及び第2のいずれかを指定するモード指定スイッチと、前記鍵盤上でいずれかの鍵が押鍵されたか否か判別する押鍵検出手段と、前記モード指定スイッチにより第1のモードが指定された状態において、前記押鍵検出手段により前記鍵盤の一方の端部にある鍵から他方の端部に向かって連続的に押鍵されたことを検出した場合に、当該連続的な押鍵の最後の押鍵位置を新たな分割位置として前記分割位置記憶手段に記憶するとともに、前記分割状態記憶手段に記憶されている分割状態を当該新たな分割位置を追加した分割状態に変更する記憶制御手段と、この記憶制御手段により、前記分割状態が変更された後、前記音色指定手段により指定された音色に対応する音色データを、前記鍵盤の一方の端部から前記新たな分割位置までの鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる音色指定制御手段と、前記第2のモードが指定されている場合に、前記押鍵検出手段により検出された鍵が、前記分割状態記憶手段に記憶された分割状態により定められた鍵域のいずれに属するのかを判別する鍵域判別手段と、前記押鍵された鍵に対応する音高でかつ、この鍵域判別手段にて検出された鍵域に対応した形態で楽音の発音を指示する発音指示手段と、を有することを特徴とする。
【0009】
前記記憶制御手段は、前記分割状態記憶手段が前記鍵盤の分割がなされていない状態を記憶しているときに、前記押鍵検出手段により前記鍵盤の最低鍵から最高鍵に向かって、あるいは最高鍵から最低鍵に向かって連続的に押鍵されたことを検出した場合に、当該連続的な押鍵の最後の押鍵位置を新たな分割位置として前記分割位置記憶手段に記憶するとともに、前記分割状態記憶手段に記憶されている分割状態を、当該新たな分割位置により前記鍵盤を上下鍵域に分割する分割状態に変更する、請求項1記載の電子楽器。
【0010】
また、前記音色制御手段は、前記鍵盤の最低鍵から最高鍵に向かって連続的に押鍵されたことを検出したことにより前記鍵盤を上下鍵域に分割する分割状態に変更された場合は、前記音色指定手段により指定された音色に対応する音色データを、前記鍵盤の下鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる一方、前記最高鍵から最低鍵に向かって連続的に押鍵されたことを検出したことにより前記鍵盤を上下鍵域に分割する分割状態に変更された場合は、前記指定された音色に対応する音色データを、前記上鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる、ことが望ましい。
【0011】
また、前記記憶制御手段は、前記分割状態記憶手段が前記分割位置記憶手段に予め記憶されていた分割位置により前記鍵盤を上下鍵域に分割がなされている状態を記憶しているときに、前記押鍵検出手段により前記鍵盤の最低鍵から最高鍵に向かって、あるいは最高鍵から最低鍵に向かって連続的に押鍵されたことを検出した場合に、当該連続的な押鍵の最後の押鍵位置を新たな分割位置として前記分割位置記憶手段に記憶するとともに、前記分割状態記憶手段に記憶されている分割状態を、当該新たな分割位置及び前記予め記憶されていた分割位置により前記鍵盤を上中下鍵域に分割する分割状態に変更する、ことが望ましい。
【0012】
また、前記音色制御手段は、前記鍵盤の最低鍵から最高鍵に向かって連続的に押鍵されたことを検出したことにより前記鍵盤を上中下鍵域に分割する分割状態に変更された場合は、前記最低鍵から前記予め記憶されていた分割位置により指定される下鍵域に割当てられる音色として前記音色指定手段に記憶されていた音色データを、前記鍵盤の中鍵域に割当てられる音色データとして前記音色記憶手段に記憶させる一方、前記音色指定手段により指定された音色に対応する音色データを、前記下鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させることが望ましい。
【0013】
さらに、前記音色制御手段は、前記鍵盤の最高鍵から最低鍵に向かって連続的に押鍵されたことを検出したことにより前記鍵盤を上中下鍵域に分割する分割状態に変更された場合は、前記最高鍵から前記予め記憶されていた分割位置により指定される上鍵域に割当てられる音色として前記音色指定手段に記憶されていた音色データを、前記鍵盤の中鍵域に割当てられる音色データとして前記音色記憶手段に記憶させる一方、前記音色指定手段により指定された音色に対応する音色データを、前記上鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる、ことが望ましい。
【0014】
本発明に係るプログラムは、鍵盤と、前記鍵盤を複数の鍵域に分割するための分割位置を記憶する分割位置記憶手段と、前記鍵盤の分割状態を記憶する分割状態記憶手段と、前記複数の鍵域毎に音色データを記憶可能な音色記憶手段と、外部より音色を指定する音色指定手段と、第1及び第2のいずれかを指定するモード指定スイッチと、を有する電子楽器に用いられるコンピュータに、前記鍵盤上でいずれかの鍵が押鍵されたか否か判別する押鍵検出ステップと、前記モード指定スイッチにより第1のモードが指定された状態において、前記押鍵検出ステップにより前記鍵盤の一方の端部にある鍵から他方の端部に向かって連続的に押鍵されたことを検出した場合に、当該連続的な押鍵の最後の押鍵位置を新たな分割位置として前記分割位置記憶手段に記憶するとともに、前記分割状態記憶手段に記憶されている分割状態を当該新たな分割位置を追加した分割状態に変更する記憶制御ステップと、この記憶制御ステップにより、前記分割状態が変更された後、前記音色指定手段により指定された音色に対応する音色データを、前記鍵盤の一方の端部から前記新たな分割位置までの鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる音色指定制御ステップと、前記第2のモードが指定されている場合に、前記押鍵検出ステップにより検出された鍵が、前記分割状態記憶手段に記憶された分割状態により定められた鍵域のいずれに属するのかを判別する鍵域判別ステップと、前記押鍵された鍵に対応する音高でかつ、この鍵域判別ステップにて検出された鍵域に対応した形態で楽音の発音を指示する発音指示ステップと、を実行させることを特徴とする。
【発明の効果】
【0015】
本発明は、鍵盤の分割数を増やそうとした場合、鍵盤の最高鍵から最低鍵に向かって、あるいは最低鍵から最高鍵に向かって連続的に押鍵すると、この連続押鍵の最後の押鍵位置が新たな分割位置となり、この新たな分割位置と鍵盤の最高鍵あるいは最低鍵とで指定される新たな鍵域が生まれる。
このように、鍵盤上で新たな上下鍵域を作成しようとする場合、この作成したい鍵域の部分に含まれる鍵を連続して押鍵する、つまり対応する鍵域は「ここからここまで」と指定するような操作を行なえばよい。
このような操作は鍵域を増やすための操作として人間の感覚によりマッチするものであるため、煩雑さを感じることなく操作を行なうことが可能になる。
また、本発明は鍵域が新たに作成されると、その鍵域を指定する操作を行なうことなく、音色を指定するだけで、この指定された音色は新たに作成された鍵域に割当てられる。このため、鍵域を作成する度に音色指定のための鍵域指定操作が必要なくなる。
【図面の簡単な説明】
【0016】
【図1】図1は、本実施形態を適用した電子楽器の全体ブロック図である。
【図2】図2は、図1のワークRAMの記憶形態を示す図である。
【図3】図3は、メインフローである。
【図4】図4は、図3のスイッチ処理の詳細なフローチャートである。
【図5】図5は、図4のモードスイッチ処理の詳細なフローチャートである。
【図6】図6は、図4の音色スイッチ処理の詳細なフローチャートである。
【図7】図7は、図4の鍵域指定スイッチ処理の詳細なフローチャートである。
【図8】図8は、図3の鍵盤処理のフローチャート(その1)。
【図9】図9は、図3の鍵盤処理のフローチャート(その2)。
【図10】図10は、図3の鍵盤処理のフローチャート(その3)。
【図11】図11は、図3の鍵盤処理のフローチャート(その4)。
【図12】図12は、図3の鍵盤処理のフローチャート(その5)。
【図13】図13は、図3の鍵盤処理のフローチャート(その6)。
【図14】図14は、図3の鍵盤処理のフローチャート(その7)。
【図15】図15は、図3の鍵盤処理のフローチャート(その8)。
【図16】図16は、図3の鍵盤処理のフローチャート(その9)。
【図17】図17は、図3の表示処理のフローチャート。
【図18】図18は、タイマインタラプト処理のフローチャート(その1)。
【図19】図19は、タイマインタラプト処理のフローチャート(その2)。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態について、図面を用いて説明する。
図1は、本実施形態を適用した電子楽器の全体ブロック図である。
CPU1は、プログラムROM2に記憶されたプログラムの処理手順に従って、この電子楽器全体の動作を制御するものである。また、このプログラムROM2には、本実施形態においては、複数種の音色データも記憶されている。
ワークRAM3は、このCPU1で処理を行なう際に生成されるデータを一時的に記憶するエリアを有する。そして表示部4は、この電子楽器の操作に必要なデータを表示するものであり、特に本実施形態においては、鍵盤5を2分割あるいは3分割した場合に、その分割位置を表示するように構成されている。そのために、例えばこの表示部4は、鍵盤の各鍵の近傍に夫々設けられたLED等の発光素子群を含む。
【0018】
鍵盤5は、演奏操作に用いるものであり、本実施形態においては、この鍵盤5上を2又は3個の鍵域に分割し、この分割された各鍵域に夫々異なる音色が割当て可能な構成になっている。
SW部6は、本実施形態においては、モードスイッチ、音色スイッチ及び鍵域指定スイッチからなる。このうち、モードスイッチは、通常演奏を行うモードと鍵域を設定するモードのいずれかのモードを指定するスイッチである。音色スイッチは鍵盤5上の各鍵域に割当てられるべき音色を指定するスイッチである。そして鍵域指定スイッチは、音色スイッチで指定された音色を割当てるべき鍵域を指定するスイッチである。
また、これ以外に、鍵盤5を鍵域分割なしの状態に戻すクリアスイッチ等を設けてもよい。
【0019】
音源7は、鍵盤5の健の押鍵により指定された音高と、押鍵された健が含まれる鍵域に割当てられた音色とに基づいた楽音信号を生成するものであり、発音部8は、アンプ、スピーカ等からなり、この生成された楽音信号を発音するものである。
図2は、図1のワークRAM3の記憶形態を示す図である。図に示すように、各エリアにはCPU1の処理動作に必要なデータが記憶される。
MODEFは、通常演奏モードのときは「0」、鍵域指定モードのときは「1」となるフラグをストアするエリアである。
TONEは音色指定スイッチにより指定された音色を示す音色番号を一時的にストアするエリアである。
【0020】
TONE(1)は、鍵域が分割されていない場合に鍵盤5全域に割当てられる音色番号、あるいは鍵域が分割されている場合は下鍵域に割当てられる音色の音色番号をストアするエリアである。
TONE(2)は、鍵盤5が2分割されている場合は上鍵域、3分割されている場合は中鍵域に割当てられる音色の音色番号をストアするエリアである。
TONE(3)は鍵盤5が3分割されている場合に、上鍵域に音色を割当てられた音色を示す音色番号をストアするエリアである。
TONEF1、TONEF2及びTONEF3は夫々、鍵盤5の下鍵域、中鍵域及び上鍵域のいずれに指定された音色を割当てるべきかを示すフラグをストアするエリアである。
【0021】
SPFは、鍵盤5の分割形態を示すデータをストアするエリアであり、「0」の場合は分割なし、「1」の場合は上下鍵域の2分割、「2」の場合は上中下鍵域の3分割となることを示す。
SP(1)及びSP(2)は、鍵盤5上の分割位置を示す鍵盤号をストアするエリアである。
NOTEは、鍵盤5上の健の押鍵により指定される音高(鍵盤号)をストアするエリアである。
FNOTEは、前述のNOTEにストアされた音高より前に指定された音高をストアエリアである。
STF1は、鍵域指定モード(MODE=1)でかつ鍵盤5が分割されていない状態(SPF=0)においてなされた押鍵の状態を示すデータをストアするエリアである。
STF2は、鍵域指定モード(MODE=1)でかつ鍵盤5が2分割されている状態(SPF=1)においてなされた押鍵の状態を示すデータをストアするエリアである。
STF3は、鍵域指定モード(MODE=1)でかつ鍵盤5が3分割されている状態(SPF=2)においてなされた押鍵の状態を示すデータをストアするエリアである。
タイマー値は、鍵域指定モード(MODEF=1)において、押鍵により鍵域分割の指定がなされてから、それが確定するまでの時間を計測するタイマー(図示せず)のカウント値をストアするエリアである。
【0022】
図3〜図20は、CPU1の処理動作を示すフローチャートである。
図3は、メインフローである。まず、電源がオンされると、CPU1の内部レジスタ及びワークRAM3の記憶内容をクリアするイニシャライズ処理を行なう(ステップS1)。続いてスイッチ処理(ステップS2)、鍵盤処理(ステップS3)、表示処理(ステップS4)、そしてその他の処理(ステップS5)の順番で処理を行なう。ステップS2〜S5の処理は、電源がオフされるまで繰り返し、行なわれる。
図4は、図3のスイッチ処理(ステップS2)の詳細なフローチャートである。
まず、モードスイッチ処理(ステップS20)を行い、続いて音色スイッチ処理(ステップS21)、鍵域指定スイッチ処理(ステップS22)の順で処理を行なう。
【0023】
図5は、図4のモードスイッチ処理(ステップS20)の詳細なフローチャートである。
まず、モードスイッチがオン操作されたか否か判別し(ステップS200)、オン操作されたと判別されたなら、MODEFを反転させて(ステップS201)、この処理を終了させる。オン操作されていなければ、何もせずにこの処理を終了する。
このように、モードスイッチが操作される毎にMODEFは反転し、通常演奏モード(MODEF=0)と鍵域設定モード(MODEF=1)が交互に設定されることになる。
図6は、図4の音色スイッチ処理(ステップS21)の詳細なフローチャートである。
【0024】
まず、音色スイッチがオン操作されたか否か判別する(ステップS202)。ここでオン操作が判別されなければこの処理を終了する。
オン操作されているならば、この音色スイッチにて指定された音色番号をTONEにストアする(ステップS203)。続いて、TONEF1、TONEF2及びTONEF3にストアされているフラグのいずれかが「1」となっているか判別する(ステップS204〜S206)。
ここでもしTONEF1にストアされたフラグが「1」であるなら、ステップS207に進み、TONEにストアされた音色番号をTONE(1)にストアし、TONEF1を「0」に戻して(ステップS208)、この処理を終了する。
【0025】
また、TONEF2にストアされたフラグが「1」であるなら、ステップS209に進み、TONEにストアされた音色番号をTONE(2)にストアし、TONEF2を「0」に戻して(ステップS210)、この処理を終了する。
また、TONEF3にストアされたフラグが「1」であるなら、ステップS211に進み、TONEにストアされた音色番号をTONE(3)にストアし、TONEF3を「0」に戻して(ステップS212)、この処理を終了する。
このように、音色スイッチにより音色が指定されると、この指定された音色の音色番号が、TONEF1〜3にストアされたフラグの状態に応じて、TONE(1)〜(3)のいずれかにストアされる。
【0026】
図7は、図4の鍵域指定スイッチ処理(ステップS22)の詳細なフローチャートである。
まず、MODEFにストアされたフラグが「0」、つまり通常演奏モードであるか否か判別する(ステップS213)。ここで「0」でないと判別されたなら、この処理を終了する。
「0」と判別されたなら、ステップS214に進み、SPFに記憶されたデータが「0」より大きいか否か、つまり鍵域が2分割あるいは3分割されている状態か否かを判別する。もし「0」であるなら鍵盤5は分割されている状態にないため、ステップS215に進みTONEF1にストアされたフラグを「1」とし、この処理を終了する。
【0027】
「0」より大きいと判別されたなら、続いて鍵域指定スイッチがオン操作されたか否か判別する(ステップS216)。もしオン操作されていないと判別された場合も、この処理を終了する。
スイッチがオンされていると判別されたなら、続いてSPFに記憶されたデータの値が「1」及び「2」のいずれであるか判別する(ステップS217、S218)。
ここで「1」と判別されたなら、つまり鍵盤5上を上鍵域と下鍵域の2分割にしている場合は、まずステップS219に進み、上下いずれの鍵域を鍵域指定スイッチにて指定したのかを判別する。ここで上鍵域が指定されていた場合はステップS220に進んでTONEF2にストアされたフラグを「1」とし、下鍵域が指定されていた場合はステップS215に進んでTONEF1にストアされたフラグを「1」とし、この処理を終了する。
【0028】
一方、「2」と判別されたなら、つまり鍵盤5上を上鍵域、中鍵域及び下鍵域の3分割にしている場合は、まずステップS221に進み、上中下いずれの鍵域を鍵域指定スイッチにて指定したのかを判別する。
そして上鍵域が指定されていた場合はステップS220に進んでTONEF3にストアされたフラグを「1」とし、下鍵域が指定されていた場合はステップS215に進んでTONEF1にストアされたフラグを「1」とし、中鍵域が指定されていた場合はステップS222に進んでTONEF2にストアされたフラグを「1」としこの処理を終了する。
【0029】
このように、通常演奏モードにおいて、鍵域指定スイッチによりいずれかの鍵域が指定されると、それに対応してTONEF1〜TONEF3にストアされたフラグのいずれかが「1」となる。
図8〜図16は、図3の鍵盤処理(ステップS3)の詳細なフローチャートである。
まず、図8において、MODEFにストアされたフラグが「0」、つまり通常演奏モードであるか否か判別する(ステップS300)。
ここで「0」と判別されると、ステップS301に進み、鍵盤5上の鍵を所定方向から順に走査し、鍵毎に変化があったか否かを判別する(ステップS302)。もし、鍵の変化なしと判別されたなら、この処理を終了する。
鍵がオフ操作、つまり離鍵されたと判別されたなら、離鍵された鍵の鍵番号をNOTEにストアし(ステップS303)、このNOTEにストアされた鍵番号に対応する音高の楽音の消音を、音源7に指示する(ステップS304)。そしてこの処理を終了する。
【0030】
一方、ステップS302にて押鍵されたと判別されると、ステップS305に進み、押鍵された鍵の鍵番号をNOTEにストアする。そして、SPFにストアされたデータが「0(分割なし)」、「1(2分割)」あるいは「2(3分割)」のいずれかであるかを判別する(ステップS306)。
ここで、「0」と判別されたなら、NOTEにストアされた鍵番号に対応する音高でかつTONE(1)にストアされた音色番号に対応する音色の楽音の発生を、音源7に対して指示して(ステップS307)この処理を終了する。
このように、鍵域分割の状態でない場合は、鍵盤5上のいずれの鍵を押鍵しても、TONE(1)にストアされた音色番号で指定される音色の楽音が発音される。
一方、ステップS306において、SPFにストアされたフラグが「1」、つまり鍵盤5が上下鍵域に分割された状態と判別されたなら、NOTEにストアされている押鍵された鍵の鍵番号が、SP(1)にストアされている分割位置を表わす鍵盤号より大きいか否かを判別する(ステップS308)。
【0031】
もし、SP(1)にストアされた鍵盤号の方が大きいと判別されたなら、これは押鍵が下鍵域でなされたことを意味するので、ステップS307に進み、NOTEにストアされた鍵番号に対応する音高でかつTONE(1)にストアされた音色番号に対応する音色の楽音の発生を、音源7に対して指示してこの処理を終了する。逆の場合であれば、これは押鍵が上鍵域でなされたことを意味するので、TONE(2)にストアされた音色番号に対応する音色でかつNOTEにストアされた鍵盤号対応する音高の楽音の発生を、音源7に対して指示してこの処理を終了する(ステップS309)。
このように、いずれかの鍵が押鍵され、かつ鍵盤5が上下鍵域に分割されている状態では、上鍵域に含まれる鍵を押鍵した場合は、TONE(2)にストアされた音色番号で指定される音色の楽音が発音されるが、下鍵域に含まれる鍵を押鍵した場合は、TONE(1)にストアされた音色番号で指定される音色の楽音が発音される。
【0032】
さらに、ステップS306にて、SPFにストアされたフラグが「2」、つまり鍵盤5が上、中及び下鍵域に分割された状態であると判別されたなら、ステップS310、S311に進む。ここにおいて、SP(2)にストアされた鍵盤号は上鍵域と中鍵域との分割位置を表わし、SP(1)にストアされた鍵盤号が中鍵域と下鍵域との分割位置を表わしている。
従って、NOTEにストアされている鍵盤号がSP(1)より小さいと判別されたなら、下鍵域での押鍵と判断され、ステップS307に進み、TONE(1)にストアされた音色番号で指定される音色の楽音の発生が指示される。
また、NOTEにストアされた鍵盤号がSP(2)とSP(1)との間に存在するなら、中鍵域での押鍵と判断され、ステップS312に進み、TONE(2)にストアされた音色番号で指定される音色の楽音の発生が指示される。
さらに、NOTEにストアされている鍵盤号がSP(2)より大きいと判別されたなら、上鍵域での押鍵と判断され、ステップS309に進み、TONE(3)にストアされた音色番号で指定される音色の楽音の発生が指示される。
【0033】
このように、鍵盤5が3分割されている場合は、押鍵された鍵が上鍵域に属するならTONE(3)にストアされた音色番号で示される音色の楽音が、中鍵域に属するならTONE(2)にストアされた音色番号で示される音色の楽音が、下鍵域に属するならTONE(1)にストアされた音色番号で示される音色の楽音が、発音されることになる。
再びステップS300に戻り、MODEFにストアされたフラグが「0」でなく「1」と判別された場合、つまり鍵域指定モードである場合は、図9のステップS313に進み、鍵盤5を走査する。これにより鍵盤5上で押鍵があったか否か判別する(ステップS314)。もし押鍵がなければこの処理を終了する。
【0034】
ここで押鍵ありと判別されたなら、この押鍵された鍵の鍵番号をNOTEにストアし(ステップS315)、タイマーによりカウントされたタイマー値をクリアする(ステップS316)。
そして、SPFにストアされたデータが「0」、つまり鍵盤5が分割されていない状態であるか否か判別する(ステップS317)。もし、「0」であるなら、NOTEに記憶されている押鍵された鍵番号が最低鍵、最高鍵あるいはそれ以外の鍵の鍵番号であるか判別する(ステップS318、S319)。ここで最低鍵であると判別されたなら、STFに「1」を、最高鍵であると判別されたならSTFに「2」をストアする(ステップS320、S321)。続いて、NOTEに記憶されている鍵番号をFNOTEにストアするとともに(ステップS322)、タイマーのカウントをスタートさせて(ステップS323)、この処理を終了する。
【0035】
一方、最高鍵及び最低鍵のいずれでもない場合は、図10に進み、STFにストアされた値が「1」、あるいは「2」であるか否か判別する(ステップS324、S325)。そして「1」、「2」いずれでもない場合は、この処理を終了する。
このように、鍵域設定モードで鍵盤5が分割されていない状態で、最初に最低鍵を押鍵すればSTFは「1」、最高鍵を押鍵すればSTFは「2」となり、それ以外の鍵が押鍵されれば、処理が終了する。
そして最低鍵が押鍵された後、それ以外の鍵が押鍵されると、ステップS324を介してステップS326に進み、NOTEにストアされた鍵番号と、FNOTEにストアされた鍵番号に1加算された値とが同一か否か、つまり現在押鍵された鍵は、先に押鍵された鍵と高域側で隣接する鍵であるか否か判別する。ここでYESと判別されると、続いてNOTEにストアされ鍵番号が最高鍵か否か判別する(ステップS327)。そして最高鍵でないと判別されると、NOTEにストアされた鍵番号をFNOTEにストアし(ステップS328)、TONE(1)にストアされた音色番号をTONE(3)にストアし(ステップS329)、TONEF1を「1」にセットする(ステップS330)。
【0036】
このように鍵盤5が分割されていない状態で、まず最低鍵を押鍵してからそれに高域側に隣接する鍵を順次押鍵しているかを判別し、これがYESであるならば、この状態で鍵盤5に割り当てられていた音色(TONE(1))を高鍵域に割り当てられる音色(TONE(3))とし、低音域に新たな音色を割り当て可能とする(TONEF1が「1」)。
ここでもし、高域側に隣接する鍵を押鍵しなかった場合はステップS326でNOとなり、ステップS331に進んでSTFにストアされていた値を「0」にするとともにTONEF1も「0」にする(ステップS332)。そしてタイマーを停止させて(ステップS333)この処理を終了する。また、ステップS327で最高鍵が押鍵されたと判別された場合も同様である。
【0037】
このように、最低鍵を押鍵した後、その隣接する鍵から高域方向に順次押鍵せずに別の鍵を押鍵した場合、あるいは順次押鍵して最高鍵まで到達した場合、ステップS328〜S330にて設定した状態をクリアする。
一方、ステップS325に戻って、最初に押鍵された鍵が最高鍵と判別された場合、ステップS334に進み、NOTEにストアされた鍵番号と、FNOTEにストアされた鍵番号に1減算された値とが同一か否か、つまり現在押鍵された鍵は、先に押鍵された鍵と低域側で隣接する鍵であるか否か判別する。ここでYESと判別されると、続いてNOTEにストアされ鍵番号が最低鍵か否か判別する(ステップS335)。ここで最低鍵でないと判別されると、つまり、最高鍵を押鍵してからその低域側に隣接する鍵を順次押鍵した場合、しかもその押鍵が最低鍵でない場合はステップS336に進み、TONEF3にストアされたフラグを「1」とする。
【0038】
もし最高鍵から隣接する鍵から低域方向に順次押鍵せずに別の鍵を押鍵した場合、あるいは順次押鍵して最低鍵まで到達した場合、ステップS331〜S333の処理に進む。
このように鍵盤5が分割されていない状態で、まず最高鍵を押鍵してからそれに低域側に隣接する鍵を順次押鍵している場合は、高鍵域に音色を割り当て可能とする(TONEF3が「1」)。
鍵盤5が分割されていない状態(SPF=0)での処理は前述のとおりであるが、図9のステップS317においてNOと判別されると、図11のS337に進み、SPFが「1」であるか否か判別される。ここで「1」と判別されると、つまり鍵盤5が上下2分割されている状態である場合は、続いてSTF2にストアされた値が「0」であるか否かを判別する(ステップS338)。ここで「0」である、つまり鍵域設定モードになってから最初の押鍵であると判別されると、続いてNOTEにストアされた押鍵された鍵の鍵番号がSP(1)、最低鍵あるいは最高鍵の鍵番号と一致するか否か判別する(ステップS339〜S341)。
【0039】
SP(1)にストアされた鍵番号、つまり分割位置に対応する鍵番号を押鍵したと判別されたならSTF2を「1」に、最低鍵を押鍵したと判別されたならSTF2を「2」に、最高鍵を押鍵したと判別されたならSTF2を「3」にする(ステップS342〜S344)。この後NOTEにストアされた鍵番号をFNOTEにストアし(ステップS345)、タイマーのカウントをスタートさせて(ステップS346)、この処理を終了させる。一方、ステップS342〜S344において、上述のいずれの鍵の押鍵でもない場合は直ちにこの処理を終了する。
このように、鍵盤5が2分割されている状態で鍵域設定モードに移行した後、最初にいずれの鍵が押鍵されたかを判別し、タイマーをスタートさせる。
【0040】
この後さらに別の押鍵がなされた場合は、ステップS347に進みSTF2が「1」、つまり最初の押鍵が分割位置であるSP(1)にストアされた鍵番号の鍵であったかどうか判別される。ここでYESと判別されると、NOTEにストアされた鍵番号の鍵、つまり現在押鍵された鍵が、先に押鍵された鍵に隣接した鍵であるか否か判別される(ステップS348、S349)。この判別結果がYESでかつ高域側に隣接している場合は、ステップS348からステップS350に進み、現在押鍵された鍵が最高鍵であるか否かを判別する。そしてここで最高鍵でないと判別された場合は、NOTEにストアされている現在押鍵された鍵の鍵番号をFNOTEにストアして(ステップS351)この処理を終了する。
ステップS350において、最高鍵であると判別された場合はステップS352に進み、SPFにストアされている値を「0」とする。続いてSTF2にストアされた値を「0」に戻し(ステップS353)、タイマーを停止して(ステップS354)この処理を終了する。
【0041】
一方、ステップS349において現在押鍵された鍵が、先に押鍵された鍵に隣接した鍵でかつ低域側に隣接していると判別されると、ステップS355に進み、現在押鍵された鍵が最低鍵であるか否かを判別する。そしてここで最低鍵でないと判別された場合は、NOTEにストアされている現在押鍵された鍵の鍵番号をFNOTEにストアして(ステップS351)この処理を終了する。
ステップS355において、最低鍵であると判別された場合はステップS356に進み、TONE(3)にストアされている音色番号をTONE(1)にストアしたのち、ステップS352〜S354の処理を行う。
【0042】
また、ステップS348及びS349の判別結果がいずれもNOである場合、つまり先に押鍵された鍵に隣接した鍵でない鍵を押鍵してしまった場合は、FNOTEにストアされている鍵番号をSP(1)にストアする(ステップS357)。
このように、鍵盤5が2分割されている状態において鍵域設定モードに移行して、まず分割位置(SP(1))に対応する鍵を押鍵した後、これに隣接する鍵を高域方向あるいは低域方向に順次押鍵していった場合、その最後に押鍵した鍵の位置が新たな分割位置となる。もし、この押鍵を最高鍵あるいは最低鍵に到達するまで続けた場合は、SPFを「0」にすることで、鍵盤5を分割なしの状態に変更する。
【0043】
一方、最初に最低鍵を押鍵している場合は(STF2=「2」)、図12のステップS358にてYESと判別され、続いてNOTEの鍵番号と、FNOTEの鍵番号に1加算した鍵番号とが一致するか否か判別する(ステップS359)。ここでYESと判別された場合、つまり最初に押鍵した最低鍵に隣接する鍵を押鍵した場合、ステップS360に進む。そしてNOTEの鍵番号がSP(1)にストアされた鍵番号と一致するか否か、つまり押鍵された鍵が分割位置にある鍵であるか否かが判別される。ここでNOと判別されると、NOTEにストアされていた鍵番号をFNOTEにストアして(ステップS361)この処理を終了する。
【0044】
このように先に押鍵された鍵の高域側に隣接する鍵を押鍵する操作を続けていれば、このステップS358〜S361の処理を繰り返す。
そして、もし先に押鍵された鍵の高域側に隣接する鍵ではなく、別の鍵を押鍵した場合(ステップS359においてNOと判断された場合)、あるいは高域側で隣接する鍵を押鍵する操作を続けた結果、NOTEの鍵番号がSP(1)にストアされた鍵番号と一致した場合(ステップS360においてYESと判断された場合)には、STF2を「0」に戻し(ステップS363)、タイマーを停止して(ステップS364)この処理を終了する。この場合は元の状態に戻り、分割状態は変更されない。
再びステップS358に戻って、STF2が「2」でないと判別された場合、図13のステップS369に進み、STF2が「3」、つまり最初の押鍵が最高鍵であったか否かが判別される。ここでYESと判別されると、今度はNOTEの鍵番号と、FNOTEの鍵番号に1加算した鍵番号とが一致するか否か判別する(ステップS370)。ここでYESと判別された場合、つまり最初に押鍵した最高鍵に隣接する鍵を押鍵した場合、ステップS371に進む。そしてNOTEの鍵番号がSP(1)にストアされた鍵番号と一致するか否か、つまり押鍵された鍵が分割位置にある鍵であるか否かが判別される。
【0045】
ここでNOと判別されると、NOTEにストアされていた鍵番号をFNOTEにストアして(ステップS372)この処理を終了する。
このように先に押鍵された鍵の低域側に隣接する鍵を押鍵する操作を続けていれば、このステップS369〜S372の処理を繰り返す。
そして、もし先に押鍵された鍵の低域側に隣接する鍵ではなく、別の鍵を押鍵した場合(ステップS370においてNOと判断された場合)、あるいは低域側で隣接する鍵を押鍵する操作を続けた結果、NOTEの鍵番号がSP(1)にストアされた鍵番号と一致した場合(ステップS371においてYESと判断された場合)には、STF2を「0」に戻し(ステップS373)、タイマーを停止して(ステップS374)この処理を終了する。この場合は元の状態に戻り、分割状態は変更されない。
【0046】
以上が、鍵盤5が2分割されている状態で鍵域設定モードにした場合の処理である。
再び図11に戻り、ステップS337において、SPFが「1」、つまり鍵盤5が2分割状態でないと判別された場合は、図14のステップS378に進み、SPFが「2」、つまり鍵盤5が3分割状態にあるか否か判別する。ここでもしNOと判別されたなら、この処理を終了する。
一方、YESと判別されたなら、続いてSTF3にストアされた値が「0」、つまり鍵域設定モードに移行してから、最初の押鍵であるか否か判別される(ステップS379)。ここで「0」と判別されると、さらにステップS380に進み、NOTE及びSP(1)夫々にストアされた値が同一か否か判別される。NOTEには現時点で押鍵された鍵の鍵番号がストアされ、SP(1)には、下鍵域と中鍵域との分割位置にある鍵の鍵番号がストアされている。ここでYESと判断されることは、下鍵域と中鍵域の分割位置にある鍵を押鍵したことを意味する。このS380でYESと判別された場合はSTF3にストアされた値を「1」に変更する(ステップS381)。
【0047】
このステップS380においてNOと判別されると、今度は、NOTE及びSP(2)夫々にストアされたていた値が同一か否か判別される(ステップS382)。ここでSP(2)は上鍵域と中鍵域との分割位置にある鍵の鍵番号がストアされており、このステップS382でYESと判別されることは、上鍵域と中鍵域との分割位置にある鍵を押鍵したことを意味する。
このS380でYESと判別された場合はSTF3にストアされた値を「1」に変更する(ステップS383)。
【0048】
このS380、S382のいずれでもNOと判別された場合は、分割位置以外の鍵を押鍵したことを意味し、ここでは何もせずにこの処理を終了する。
そしてS381、S383の処理の後、NOTEにストアされた鍵番号をFNOTEにストアし(ステップS384)、タイマーのカウントをスタートさせて(ステップS385)、この処理を終了する。
このように図14の処理においては、鍵域設定モードに移行してから、分割位置にある鍵を最初に押鍵したか否かを判別するとともに、いずれの分割位置を押鍵したかにより、STF3の状態を変更する。
ステップS379において、STF3が「0」でないと判別された場合、図15のステップS386に進み、SPF3にストアされた値が「1」、つまり最初に下鍵域と中鍵域の分割位置にある鍵を押鍵したか否かを判別する。
ここでYESと判別されると、続いてNOTEにストアされた鍵番号と、FNOTEにストアされた鍵番号に1加算した鍵番号とが一致しているか否か判別する(ステップS387)。FNOTEにはその直前に押鍵された鍵の鍵番号がストアされているので、もし、直前に押鍵した鍵の高域側に隣接する鍵を今回押鍵していたなら、ここではYESと判別されてステップS388に進む。そしてここで、押鍵された鍵番号(NOTE)がもうひとつの分割位置にある鍵の鍵番号(SP(2))と一致するか否か判別する。もし、一致しなければNOTEにストアされた鍵番号をFNOTEにストアして(ステップS389)この処理をいったん終了する。
【0049】
このように、最初に下鍵域と中鍵域との分割位置にある鍵を押鍵した後、その高域側に隣接する鍵を順番に押鍵していく操作を続けていくと、S386〜S389の処理が繰り返される。
そしてこの操作を繰り返していくうちに、より高域側にある中鍵域と上鍵域の分割位置にある鍵を押鍵することになる。このとき、ステップS388においてYESと判別され、ステップS390に進み、SPFにストアされた値を「1」に変更する。そしてSP(2)にストアされている分割位置を表わす鍵番号をSP(1)にストアする(ステップS391)。これは、2つある鍵盤の分割位置がひとつとなり、鍵盤5が3分割された状態から、2分割された状態になったことを意味する。
続いて、STF3にストアされた値を「0」とし(ステップS392)、タイマーを停止する(ステップS393)。
【0050】
このように、下鍵域と中鍵域との分割位置にある鍵を最初に押鍵し、続いて高域側に隣接する鍵を順次押鍵していき、この押鍵が上鍵域と中鍵域との分割位置まで到達すると鍵盤5は2分割された状態に変更する。
一方、ステップS387でNO、つまり高域側に隣接する鍵を押鍵していないと判別された場合は、ステップS394に進み、NOTEにストアされた鍵番号と、FNOTEにストアされた鍵番号に1減算した鍵番号とが一致しているか否か判別する。これは、直前に押鍵した鍵の低域側に隣接する鍵を今回押鍵したか否かを判別していることを意味し、ここではYESと判別されると、ステップS395に進み、押鍵された鍵番号(NOTE)が最低鍵の鍵番号と一致するか否か判別する。もし、一致しなければNOTEにストアされた鍵番号をFNOTEにストアして(ステップS389)この処理をいったん終了する。
【0051】
このように、低域側に隣接する鍵を順番に押鍵していく操作を続けていくと、S394、S395、続いてS389の処理が繰り返される。
そしてこの操作を繰り返していくうちに、最低鍵を押鍵することになる。このとき、ステップS395においてYESと判別され、ステップS396に進み、TONE(2)にストアされた音色番号をTONE(1)にストアする。つまり、中鍵域に割当てられている音色を下鍵域に割当てる。この処理の後、ステップS390〜S394の処理を行なう。
このように、下鍵域と中鍵域との分割位置にある鍵から順に低域側に押鍵していき、これが最低鍵に到達すると鍵盤5は2分割された状態になり、今まで中鍵域に割当てられた音色が下鍵域の音色となる。
さらに、ステップS394にてNOと判別された場合、つまりその前に押鍵された鍵に隣接する鍵でなく、全く別の鍵を押鍵した場合は、ステップS397に進み、FNOTEの直前に押鍵された鍵の鍵番号を、下鍵域と中鍵域との分割位置を表わす鍵盤号としてSP(1)にストアする。
このように、直前に押鍵した鍵に隣接する鍵を押鍵するという操作をやめて、別の鍵を押鍵した場合、この別な押鍵の直前に押鍵された鍵の位置が、下鍵域と中鍵域との新たな分割位置となる。
【0052】
以上のように、まず下鍵域と中鍵域との分割位置にある鍵を始めに順次高域側に押鍵してこの押鍵が他の分割位置に到達した場合、あるいは逆に低域側に隣接する鍵を順次押鍵して最低鍵まで到達した場合は、鍵盤5が3分割から2分割状態に変更される。しかも高域側に順次押鍵してもうひとつの分割位置に到達した場合は、3分割時での上下鍵域夫々に割当てられた音色が2分割時の上下鍵域夫々に割当てられた音色と一致するため、ユーザーはあたかも中鍵域が消滅したような感覚を受ける。
【0053】
逆に最低鍵に向かって順次押鍵していって2分割状態に変更した場合は、今まで中鍵域の音色が下鍵域の音色となるため、ユーザーあたかも今までの下鍵域が払いのけたような感じを受ける。
さらに、隣接する鍵を順次押鍵する操作をやめれば、この操作で最後に押鍵した鍵の鍵位置に分割位置が移動する。このような操作をすることにより分割位置の移動も自由にできる。
一方、ステップS386において、STF3が「1」でないと判別された場合、図16のステップS3に進み、SPF3にストアされた値が「2」、つまり最初に上鍵域と中鍵域の分割位置にある鍵を押鍵したか否かを判別する。ここで、NOと判断されれば、この処理は終了する。
YESと判別されると、続いてNOTEにストアされた鍵番号と、FNOTEにストアされた鍵番号に1減算した鍵番号とが一致しているか否か判別する(ステップS399)。FNOTEにはその直前に押鍵された鍵の鍵番号がストアされているので、もし、直前に押鍵した鍵の低域側に隣接する鍵を今回押鍵していたなら、ここではYESと判別されてステップS400に進む。そしてここで、押鍵された鍵番号(NOTE)がもうひとつの分割位置にある鍵の鍵番号(SP(1))と一致するか否か判別する。もし、一致しなければNOTEにストアされた鍵番号をFNOTEにストアして(ステップS401)この処理をいったん終了する。
【0054】
このように、最初に上鍵域と中鍵域との分割位置にある鍵を押鍵した後、その低域側に隣接する鍵を順番に押鍵していく操作を続けていくと、S398〜S401の処理が繰り返される。
そしてこの操作を繰り返していくうちに、より低域側にある中鍵域と下鍵域の分割位置にある鍵を押鍵することになる。このとき、ステップS400においてYESと判別され、ステップS402に進み、SPFにストアされた値を「1」に変更する。そしてSP(1)にストアされている分割位置を表わす鍵番号をSP(2)にストアする(ステップS403)。これは、2つある鍵盤の分割位置がひとつとなり、鍵盤5が3分割された状態から、2分割された状態になったことを意味する。
続いて、STF3にストアされた値を「0」とし(ステップS404)、タイマーを停止する(ステップS405)。
【0055】
このように、上鍵域と中鍵域との分割位置にある鍵を最初に押鍵し、続いて低域側に隣接する鍵を順次押鍵していき、この押鍵が下鍵域と中鍵域との分割位置まで到達すると鍵盤5は2分割された状態に変更する。
一方、ステップS399でNO、つまり低域側に隣接する鍵を押鍵していないと判別された場合は、ステップS406に進み、NOTEにストアされた鍵番号と、FNOTEにストアされた鍵番号に1加算した鍵番号とが一致しているか否か判別する。これは、直前に押鍵した鍵の高域側に隣接する鍵を今回押鍵したか否かを判別していることを意味し、ここではYESと判別されると、ステップS407に進み、押鍵された鍵番号(NOTE)が最高鍵の鍵番号と一致するか否か判別する。もし、一致しなければNOTEにストアされた鍵番号をFNOTEにストアして(ステップS401)この処理をいったん終了する。
【0056】
このように、低域側に隣接する鍵を順番に押鍵していく操作を続けていくと、S398、S399、S406、S407の処理が繰り返される。
そしてこの操作を繰り返していくうちに、最高鍵を押鍵することになる。このとき、ステップS407においてYESと判別され、ステップS408に進み、TONE(2)にストアされた音色番号をTONE(3)にストアする。つまり、中鍵域に割当てられている音色を上鍵域に割当てる。この処理の後、ステップS402〜S405の処理を行なう。
このように、上鍵域と中鍵域との分割位置にある鍵から順に高域側に押鍵していき、これが最高鍵に到達すると鍵盤5は2分割された状態になり、今まで中鍵域に割当てられた音色が上鍵域の音色となる。
さらに、ステップS406にてNOと判別された場合、つまりその前に押鍵された鍵に隣接する鍵でなく、全く別の鍵を押鍵した場合は、ステップS409に進み、FNOTEの直前に押鍵された鍵の鍵番号を、下鍵域と中鍵域との分割位置を表わす鍵盤号としてSP(2)にストアする。
【0057】
このように、直前に押鍵した鍵に隣接する鍵を押鍵するという操作をやめて、別の鍵を押鍵した場合、この別な押鍵の直前に押鍵された鍵の位置が、下鍵域と中鍵域との新たな分割位置となる。
以上のように、まず上鍵域と中鍵域との分割位置にある鍵を始めに順次低域側に押鍵してこの押鍵が他の分割位置に到達した場合、あるいは逆に高域側に隣接する鍵を順次押鍵して最高鍵まで到達した場合は、鍵盤5が3分割から2分割状態に変更される。しかも低域側に順次押鍵してもうひとつの分割位置に到達した場合は、3分割時での上下鍵域夫々に割当てられた音色が2分割時の上下鍵域夫々に割当てられた音色と一致するため、ユーザーはあたかも中鍵域が消滅したような感覚を受ける。
【0058】
逆に最高鍵に向かって順次押鍵していって2分割状態に変更した場合は、今まで中鍵域の音色が上鍵域の音色となるため、ユーザーあたかも今までの上鍵域が払いのけたような感じを受ける。
さらに、隣接する鍵を順次押鍵する操作をやめれば、この操作で最後に押鍵した鍵の鍵位置に分割位置が移動する。このような操作をすることにより分割位置の移動も自由にできる。
図17は、図3の表示処理(ステップS4)の詳細な処理を示すフローチャートである。
まず、ステップS410及びS411において、SPFにストアされていた値が「1」、「2」あるいはその他の値を判別する。
SPFの値が「1」、つまり鍵盤5が2分割されている状態においては、ステップS412に進んで、SP(1)にストアされた鍵番号の鍵の位置を表示部4により表示する。これにより上下鍵域の分割位置が明示される。
SPFの値が「2」、つまり鍵盤5が3分割されている状態においては、ステップS413に進んで、SP(1)、SP(2)にストアされた鍵番号の鍵の位置を表示部4により表示する。これにより上中下鍵域夫々を分ける2つの分割位置が明示される。
【0059】
SPFが「1」「2」のいずれでもない場合は、ステップS414に進み、これら分割位置の表示を消灯してこの処理を終了する。
図18及び図19は、タイマインタラプト処理を示すフローチャートである。この処理は、図3のメインルーチン処理中に、一定時間間隔で処理が行なわれるものである。
まず、タイマーがカウント中でかつ所定値までカウントしたか否か判別する(ステップS500)。このタイマーは、鍵域設定モードに移行してから最初の押鍵によりカウントが開始され、その後押鍵がある度にそのカウント値がクリアされるように構成されている。従って、押鍵か頻繁になされている状態であれば、タイマーはカウントアップせずに、このステップS500の処理は終了する。
【0060】
しかしながら、先に押鍵した鍵と高域側あるいは低域側に隣接する鍵を順次押鍵する操作を鍵盤5の分割位置、最高鍵あるいは最低鍵まで続けずに途中でやめてしまい、そのまま何も押鍵しなかった場合、この何も押鍵しない場合が所定時間続くとタイマーはカウントアップする。これは、ユーザーが現在の分割位置を最後に押鍵した鍵のある位置まで移動させることを欲する場合に行なう操作である。
この場合ステップS500においてYESと判別され、続いてSTF1にストアされた値が「0」を越えているか、つまり鍵盤が分割なしの状態で最低鍵あるいは最高鍵がまず押鍵されたか否かが判別される(ステップS501)。ここでYESと判別されると、NOTEにストアされた鍵番号を、上下鍵域の分割位置を示す鍵番号としてSP(1)にストアし(ステップS502)、続いてSPFの値を「1」にして鍵盤5を2分割の状態に変更するとともに、STF1を「0」にして(ステップS503)、この処理を終了する。
【0061】
このように鍵盤5が分割なしの状態で、先に押鍵した鍵に隣接する鍵を順次押鍵する操作を鍵盤5の途中でやめ、一定時間経過すれば最後に押鍵した鍵の位置で鍵盤5は2分割された状態に変更する。
次に、ステップS501でNOと判別された場合は、ステップS504、S505、さらには図19のステップS506において、STF2の値がいずれであるか判別される。ここでSTF2の値が「1」であるなら、つまり最初に分割位置にある鍵を押鍵したと判別された場合は、ステップS507に進み、NOTEにストアされた鍵盤号を、新たな分割位置に対応する鍵番号としてSP(1)にストアする。そして、STF2を「0」にしてタイマーを停止する(ステップS508)。このように、分割位置から順次それに隣接する鍵を押鍵していき、ある時点でその操作をやめて一定時間経過すると、その最後に押鍵した鍵の位置に分割位置が変更される。
【0062】
また、STF2の値が「3」、つまり最初に最高鍵を押鍵したと判別された場合は、ステップS509に進み、NOTEにストアされた鍵盤号を、上鍵域と中鍵域を分割する分割位置に対応する鍵番号としてSP(2)にストアする。そして、SPFにストアされた値を「2」とし(ステップS510)、TONE(3)にストアされた上鍵域用の音色番号を、中鍵域用の音色番号としてTONE(2)にストアする(ステップS511)。続いてTONEF3にストアされているフラグを「1」にして上鍵域に音色を割り当て可能とし(ステップS512)、STF2を「0」にしてタイマーを停止する(ステップS508)。
【0063】
さらに、STF2の値が「2」、つまり最初に最低鍵を押鍵したと判別された場合は、ステップS513に進み、SP(1)にストアされている分割位置をSP(2)にストアする。続いてNOTEにストアされた鍵盤号を、SP(2)にストアする(ステップS514)。そして、SPFにストアされた値を「2」とし(ステップS515)、TONE(3)にストアされた上鍵域用の音色番号を、中鍵域用の音色番号としてTONE(2)にストアする(ステップS516)。
これにより、2分割状態における分割位置を、3分割状態に変更した場合の上鍵域と中鍵域との分割位置とし、最後に押鍵された鍵位置を中鍵域と下鍵域の分割位置としている。さらに2分割状態での下鍵域の音色を、3分割状態での中鍵域の音色とする。
続いてTONEF1にストアされているフラグを「1」にして上鍵域に音色を割り当て可能とし(ステップS517)、STF2を「0」にしてタイマーを停止する(ステップS518)。
【0064】
このように、鍵盤5が2分割されている状態でまず最高鍵あるいは最低鍵を押鍵し、それから隣接する鍵を順次押鍵する操作を続け、それをある時点でやめて一定時間経過すれば、最後に押鍵した鍵位置が先にある分割位置とは別の新たな分割位置となり、鍵盤5は2分割から3分割された状態に変更する。
そして、再びステップS506に戻り、そこにおいてNOと判別されると、ステップS519、S520に進み、STF3の状態を判別する。
STF3が「1」、つまり鍵盤5が3分割されている状態で、最初に下鍵域と中鍵域とを分割する分割位置に対応する鍵を押鍵した後、それに隣接する鍵を順次押鍵する操作を行い、ある時点でその操作をやめて一定時間経過した場合であり、この場合はステップS521に進み、NOTEにストアされている鍵番号をSP(1)にストアする。これにより、下鍵域と中鍵域との分割位置を、最後に押鍵された鍵位置に移動させることができる。そしてSTF3を「0」に戻し、タイマーを停止してこの処理を終了させる(ステップS522)。
【0065】
一方、STF3が「2」、つまり最初に上鍵域と中鍵域とを分割する分割位置に対応する鍵を押鍵した後、それに隣接する鍵を順次押鍵する操作を行い、ある時点でその操作をやめて一定時間経過した場合であり、この場合はステップS523に進み、NOTEにストアされている鍵番号をSP(2)にストアする。これにより、上鍵域と中鍵域との分割位置を、最後に押鍵された鍵位置に移動させることができる。そしてこの後ステップS523に進む。
【0066】
このように、鍵盤5が3分割されている状態では、先に押鍵された鍵に隣接する鍵を押鍵する操作をやめると、その最後に押鍵された鍵の位置に分割位置が移動する。
以上のように本実施形態においては、鍵盤5が分割なしの状態あるいは上下2分割の状態において、鍵盤の一方の端にある鍵(最高鍵あるいは最低鍵)をまず押鍵し、続いてそれに隣接する鍵を、鍵盤5の他方の端に向かって順次押鍵していって所望の鍵までその操作を続ければ、その所望の鍵が新たな分割位置となる。これによって鍵盤5は分割なしの状態から2分割の状態へ、2分割の状態から3分割り状態となる。
この操作は、ユーザーがあたかも必要とする鍵域は「ここからここまで」というように指定しているに等しく、この操作は人間の感覚によくマッチするため、非常に簡単で誰にもわかりやすい。
【0067】
しかもこの新たに増加した鍵域に割当てるべき音色の指定操作は、上述の操作により鍵域が生成された後、直ちに割当てるべき音色を指定するだけでよく、従来のように鍵域を指定する操作が省ける。
また、鍵盤5が2分割あるいは3分割されている状態において、いずれかの分割位置にある鍵をまず最初に押鍵し、そこから鍵盤5の端部にある鍵(最高鍵又は最低鍵)あるいは他の分割位置にある鍵までの間にある鍵を順次押鍵していくと、この分割位置は消滅し、3分割から2分割の状態へ、2分割から分割なしの状態に移行する。これは、あたかも分割位置を鍵盤5の外に払いのける、あるいは別の分割位置と一緒にさせる操作をしているに等しく、人間の感覚によくマッチするため、非常に簡単で誰にもわかりやすい。
従って、従来と比べて非常に操作が簡単になり、煩わしさを感じなくてすむ。
【符号の説明】
【0068】
1 CPU
2 プログラムROM
3 ワークRAM
4 表示部
5 鍵盤
6 スイッチ部
7 音源
8 発音部
【技術分野】
【0001】
本発明は、電子楽器、及びプログラムに関する。
【背景技術】
【0002】
鍵盤を有する電子楽器においては、当該鍵盤を上下2つの鍵域に分割し、鍵域夫々に異なる音色を割当てることにより、押鍵された鍵が属する鍵域に応じて異なる音色の楽音を発生可能とする構成が従来から知られている。こうした構成とすることにより、より多彩な演奏が可能となる。
近年になっては、この鍵域分割を上下2分割にするだけでなく、上鍵域、中鍵域及び下鍵域の3分割をも可能とする電子楽器も提案されている(特許文献1参照)
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平8−234747公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に示す構成であれば、演奏する内容あるいは環境に応じて、鍵盤を2分割、3分割あるいは分割なしの状態に、というように自由に分割数を変更できるとともに、その分割位置もユーザが自由に設定することが可能となる。
この鍵域の分割数、各分割位置を設定する操作は、例えば特許文献1の場合では、ロータリーエンコーダ等の特別な操作子を用いて行なうことが一般的である。
このような操作子を用い、かつ表示部に表示された鍵盤画像を見ながら、分割数、複数の分割位置、さらには分割された各鍵域への音色割当てなどをひとつひとつ設定することは操作が煩雑に感じることがある。
特に、鍵盤の分割形態を変更、つまり分割なしから2分割へ、さらには2分割から3分割へ、と変更しようとする場合、分割位置を1個加えて鍵域を1個増やすだけであるにも係らず、鍵盤以外の表示部を見ながら、鍵盤以外の操作子を操作して行わねばならない。
【0005】
これは、鍵盤に関係するにも係らず鍵盤以外を用いなければならないこと、その操作自体が、何らかのものを生じさせる操作として人間の感覚にマッチしていないため、非常に煩雑に感じさせる要因となっていた。
さらに、鍵域増加に応じて各鍵域に割当てられた音色を変更することが必要となる。このためには、まず変更が必要な鍵域を指定し、さらにこの指定された鍵域に割当てるべき音色を指定しなければならず、全ての鍵域についてこれをもれなく行なうとなると大変な手間がかかる。
【0006】
しかしながら、各鍵域全てについて割当てられるべき音色を指定し直す操作が全ての場合において必要であるかどうかは甚だ疑問である。
特に、鍵域を上下2分割した状態から上中下3分割した状態に変更する場合、新たにできた鍵域が上鍵域であるときは下鍵域の音色はそのまま継続して使用する場合が多い。逆に新たにできた鍵域が下鍵域であるときも上鍵域の音色はそのまま使用する指定する場合が多い。
【0007】
一方、3分割した状態から2分割した状態に変更する場合も、消滅する鍵域がいずれであっても、残る鍵域に割当てられる音色は変更しない場合が多い。
このような場合は、新たに指定される音色を割当てる鍵域はほぼ決まっており、わざわざ鍵域を指定する操作は不要となるが、従来の方式では、このようなことは考慮されず、新たに音色を指定する前に、必ずその音色を割当てるべき鍵域を指定する操作が必要となる。こうしたことが操作を煩雑に感じさせる原因となっていることは間違いない。
本発明は、上記従来の課題に鑑みなされたものであり、鍵域分割数の変更を、より人間の感覚にあった操作で行えるようにすることを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明に係る電子楽器は、鍵盤と、前記鍵盤を複数の鍵域に分割するための分割位置を記憶する分割位置記憶手段と、前記鍵盤の分割状態を記憶する分割状態記憶手段と、前記複数の鍵域毎に音色データを記憶可能な音色記憶手段と、外部より音色を指定する音色指定手段と、第1及び第2のいずれかを指定するモード指定スイッチと、前記鍵盤上でいずれかの鍵が押鍵されたか否か判別する押鍵検出手段と、前記モード指定スイッチにより第1のモードが指定された状態において、前記押鍵検出手段により前記鍵盤の一方の端部にある鍵から他方の端部に向かって連続的に押鍵されたことを検出した場合に、当該連続的な押鍵の最後の押鍵位置を新たな分割位置として前記分割位置記憶手段に記憶するとともに、前記分割状態記憶手段に記憶されている分割状態を当該新たな分割位置を追加した分割状態に変更する記憶制御手段と、この記憶制御手段により、前記分割状態が変更された後、前記音色指定手段により指定された音色に対応する音色データを、前記鍵盤の一方の端部から前記新たな分割位置までの鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる音色指定制御手段と、前記第2のモードが指定されている場合に、前記押鍵検出手段により検出された鍵が、前記分割状態記憶手段に記憶された分割状態により定められた鍵域のいずれに属するのかを判別する鍵域判別手段と、前記押鍵された鍵に対応する音高でかつ、この鍵域判別手段にて検出された鍵域に対応した形態で楽音の発音を指示する発音指示手段と、を有することを特徴とする。
【0009】
前記記憶制御手段は、前記分割状態記憶手段が前記鍵盤の分割がなされていない状態を記憶しているときに、前記押鍵検出手段により前記鍵盤の最低鍵から最高鍵に向かって、あるいは最高鍵から最低鍵に向かって連続的に押鍵されたことを検出した場合に、当該連続的な押鍵の最後の押鍵位置を新たな分割位置として前記分割位置記憶手段に記憶するとともに、前記分割状態記憶手段に記憶されている分割状態を、当該新たな分割位置により前記鍵盤を上下鍵域に分割する分割状態に変更する、請求項1記載の電子楽器。
【0010】
また、前記音色制御手段は、前記鍵盤の最低鍵から最高鍵に向かって連続的に押鍵されたことを検出したことにより前記鍵盤を上下鍵域に分割する分割状態に変更された場合は、前記音色指定手段により指定された音色に対応する音色データを、前記鍵盤の下鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる一方、前記最高鍵から最低鍵に向かって連続的に押鍵されたことを検出したことにより前記鍵盤を上下鍵域に分割する分割状態に変更された場合は、前記指定された音色に対応する音色データを、前記上鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる、ことが望ましい。
【0011】
また、前記記憶制御手段は、前記分割状態記憶手段が前記分割位置記憶手段に予め記憶されていた分割位置により前記鍵盤を上下鍵域に分割がなされている状態を記憶しているときに、前記押鍵検出手段により前記鍵盤の最低鍵から最高鍵に向かって、あるいは最高鍵から最低鍵に向かって連続的に押鍵されたことを検出した場合に、当該連続的な押鍵の最後の押鍵位置を新たな分割位置として前記分割位置記憶手段に記憶するとともに、前記分割状態記憶手段に記憶されている分割状態を、当該新たな分割位置及び前記予め記憶されていた分割位置により前記鍵盤を上中下鍵域に分割する分割状態に変更する、ことが望ましい。
【0012】
また、前記音色制御手段は、前記鍵盤の最低鍵から最高鍵に向かって連続的に押鍵されたことを検出したことにより前記鍵盤を上中下鍵域に分割する分割状態に変更された場合は、前記最低鍵から前記予め記憶されていた分割位置により指定される下鍵域に割当てられる音色として前記音色指定手段に記憶されていた音色データを、前記鍵盤の中鍵域に割当てられる音色データとして前記音色記憶手段に記憶させる一方、前記音色指定手段により指定された音色に対応する音色データを、前記下鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させることが望ましい。
【0013】
さらに、前記音色制御手段は、前記鍵盤の最高鍵から最低鍵に向かって連続的に押鍵されたことを検出したことにより前記鍵盤を上中下鍵域に分割する分割状態に変更された場合は、前記最高鍵から前記予め記憶されていた分割位置により指定される上鍵域に割当てられる音色として前記音色指定手段に記憶されていた音色データを、前記鍵盤の中鍵域に割当てられる音色データとして前記音色記憶手段に記憶させる一方、前記音色指定手段により指定された音色に対応する音色データを、前記上鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる、ことが望ましい。
【0014】
本発明に係るプログラムは、鍵盤と、前記鍵盤を複数の鍵域に分割するための分割位置を記憶する分割位置記憶手段と、前記鍵盤の分割状態を記憶する分割状態記憶手段と、前記複数の鍵域毎に音色データを記憶可能な音色記憶手段と、外部より音色を指定する音色指定手段と、第1及び第2のいずれかを指定するモード指定スイッチと、を有する電子楽器に用いられるコンピュータに、前記鍵盤上でいずれかの鍵が押鍵されたか否か判別する押鍵検出ステップと、前記モード指定スイッチにより第1のモードが指定された状態において、前記押鍵検出ステップにより前記鍵盤の一方の端部にある鍵から他方の端部に向かって連続的に押鍵されたことを検出した場合に、当該連続的な押鍵の最後の押鍵位置を新たな分割位置として前記分割位置記憶手段に記憶するとともに、前記分割状態記憶手段に記憶されている分割状態を当該新たな分割位置を追加した分割状態に変更する記憶制御ステップと、この記憶制御ステップにより、前記分割状態が変更された後、前記音色指定手段により指定された音色に対応する音色データを、前記鍵盤の一方の端部から前記新たな分割位置までの鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる音色指定制御ステップと、前記第2のモードが指定されている場合に、前記押鍵検出ステップにより検出された鍵が、前記分割状態記憶手段に記憶された分割状態により定められた鍵域のいずれに属するのかを判別する鍵域判別ステップと、前記押鍵された鍵に対応する音高でかつ、この鍵域判別ステップにて検出された鍵域に対応した形態で楽音の発音を指示する発音指示ステップと、を実行させることを特徴とする。
【発明の効果】
【0015】
本発明は、鍵盤の分割数を増やそうとした場合、鍵盤の最高鍵から最低鍵に向かって、あるいは最低鍵から最高鍵に向かって連続的に押鍵すると、この連続押鍵の最後の押鍵位置が新たな分割位置となり、この新たな分割位置と鍵盤の最高鍵あるいは最低鍵とで指定される新たな鍵域が生まれる。
このように、鍵盤上で新たな上下鍵域を作成しようとする場合、この作成したい鍵域の部分に含まれる鍵を連続して押鍵する、つまり対応する鍵域は「ここからここまで」と指定するような操作を行なえばよい。
このような操作は鍵域を増やすための操作として人間の感覚によりマッチするものであるため、煩雑さを感じることなく操作を行なうことが可能になる。
また、本発明は鍵域が新たに作成されると、その鍵域を指定する操作を行なうことなく、音色を指定するだけで、この指定された音色は新たに作成された鍵域に割当てられる。このため、鍵域を作成する度に音色指定のための鍵域指定操作が必要なくなる。
【図面の簡単な説明】
【0016】
【図1】図1は、本実施形態を適用した電子楽器の全体ブロック図である。
【図2】図2は、図1のワークRAMの記憶形態を示す図である。
【図3】図3は、メインフローである。
【図4】図4は、図3のスイッチ処理の詳細なフローチャートである。
【図5】図5は、図4のモードスイッチ処理の詳細なフローチャートである。
【図6】図6は、図4の音色スイッチ処理の詳細なフローチャートである。
【図7】図7は、図4の鍵域指定スイッチ処理の詳細なフローチャートである。
【図8】図8は、図3の鍵盤処理のフローチャート(その1)。
【図9】図9は、図3の鍵盤処理のフローチャート(その2)。
【図10】図10は、図3の鍵盤処理のフローチャート(その3)。
【図11】図11は、図3の鍵盤処理のフローチャート(その4)。
【図12】図12は、図3の鍵盤処理のフローチャート(その5)。
【図13】図13は、図3の鍵盤処理のフローチャート(その6)。
【図14】図14は、図3の鍵盤処理のフローチャート(その7)。
【図15】図15は、図3の鍵盤処理のフローチャート(その8)。
【図16】図16は、図3の鍵盤処理のフローチャート(その9)。
【図17】図17は、図3の表示処理のフローチャート。
【図18】図18は、タイマインタラプト処理のフローチャート(その1)。
【図19】図19は、タイマインタラプト処理のフローチャート(その2)。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態について、図面を用いて説明する。
図1は、本実施形態を適用した電子楽器の全体ブロック図である。
CPU1は、プログラムROM2に記憶されたプログラムの処理手順に従って、この電子楽器全体の動作を制御するものである。また、このプログラムROM2には、本実施形態においては、複数種の音色データも記憶されている。
ワークRAM3は、このCPU1で処理を行なう際に生成されるデータを一時的に記憶するエリアを有する。そして表示部4は、この電子楽器の操作に必要なデータを表示するものであり、特に本実施形態においては、鍵盤5を2分割あるいは3分割した場合に、その分割位置を表示するように構成されている。そのために、例えばこの表示部4は、鍵盤の各鍵の近傍に夫々設けられたLED等の発光素子群を含む。
【0018】
鍵盤5は、演奏操作に用いるものであり、本実施形態においては、この鍵盤5上を2又は3個の鍵域に分割し、この分割された各鍵域に夫々異なる音色が割当て可能な構成になっている。
SW部6は、本実施形態においては、モードスイッチ、音色スイッチ及び鍵域指定スイッチからなる。このうち、モードスイッチは、通常演奏を行うモードと鍵域を設定するモードのいずれかのモードを指定するスイッチである。音色スイッチは鍵盤5上の各鍵域に割当てられるべき音色を指定するスイッチである。そして鍵域指定スイッチは、音色スイッチで指定された音色を割当てるべき鍵域を指定するスイッチである。
また、これ以外に、鍵盤5を鍵域分割なしの状態に戻すクリアスイッチ等を設けてもよい。
【0019】
音源7は、鍵盤5の健の押鍵により指定された音高と、押鍵された健が含まれる鍵域に割当てられた音色とに基づいた楽音信号を生成するものであり、発音部8は、アンプ、スピーカ等からなり、この生成された楽音信号を発音するものである。
図2は、図1のワークRAM3の記憶形態を示す図である。図に示すように、各エリアにはCPU1の処理動作に必要なデータが記憶される。
MODEFは、通常演奏モードのときは「0」、鍵域指定モードのときは「1」となるフラグをストアするエリアである。
TONEは音色指定スイッチにより指定された音色を示す音色番号を一時的にストアするエリアである。
【0020】
TONE(1)は、鍵域が分割されていない場合に鍵盤5全域に割当てられる音色番号、あるいは鍵域が分割されている場合は下鍵域に割当てられる音色の音色番号をストアするエリアである。
TONE(2)は、鍵盤5が2分割されている場合は上鍵域、3分割されている場合は中鍵域に割当てられる音色の音色番号をストアするエリアである。
TONE(3)は鍵盤5が3分割されている場合に、上鍵域に音色を割当てられた音色を示す音色番号をストアするエリアである。
TONEF1、TONEF2及びTONEF3は夫々、鍵盤5の下鍵域、中鍵域及び上鍵域のいずれに指定された音色を割当てるべきかを示すフラグをストアするエリアである。
【0021】
SPFは、鍵盤5の分割形態を示すデータをストアするエリアであり、「0」の場合は分割なし、「1」の場合は上下鍵域の2分割、「2」の場合は上中下鍵域の3分割となることを示す。
SP(1)及びSP(2)は、鍵盤5上の分割位置を示す鍵盤号をストアするエリアである。
NOTEは、鍵盤5上の健の押鍵により指定される音高(鍵盤号)をストアするエリアである。
FNOTEは、前述のNOTEにストアされた音高より前に指定された音高をストアエリアである。
STF1は、鍵域指定モード(MODE=1)でかつ鍵盤5が分割されていない状態(SPF=0)においてなされた押鍵の状態を示すデータをストアするエリアである。
STF2は、鍵域指定モード(MODE=1)でかつ鍵盤5が2分割されている状態(SPF=1)においてなされた押鍵の状態を示すデータをストアするエリアである。
STF3は、鍵域指定モード(MODE=1)でかつ鍵盤5が3分割されている状態(SPF=2)においてなされた押鍵の状態を示すデータをストアするエリアである。
タイマー値は、鍵域指定モード(MODEF=1)において、押鍵により鍵域分割の指定がなされてから、それが確定するまでの時間を計測するタイマー(図示せず)のカウント値をストアするエリアである。
【0022】
図3〜図20は、CPU1の処理動作を示すフローチャートである。
図3は、メインフローである。まず、電源がオンされると、CPU1の内部レジスタ及びワークRAM3の記憶内容をクリアするイニシャライズ処理を行なう(ステップS1)。続いてスイッチ処理(ステップS2)、鍵盤処理(ステップS3)、表示処理(ステップS4)、そしてその他の処理(ステップS5)の順番で処理を行なう。ステップS2〜S5の処理は、電源がオフされるまで繰り返し、行なわれる。
図4は、図3のスイッチ処理(ステップS2)の詳細なフローチャートである。
まず、モードスイッチ処理(ステップS20)を行い、続いて音色スイッチ処理(ステップS21)、鍵域指定スイッチ処理(ステップS22)の順で処理を行なう。
【0023】
図5は、図4のモードスイッチ処理(ステップS20)の詳細なフローチャートである。
まず、モードスイッチがオン操作されたか否か判別し(ステップS200)、オン操作されたと判別されたなら、MODEFを反転させて(ステップS201)、この処理を終了させる。オン操作されていなければ、何もせずにこの処理を終了する。
このように、モードスイッチが操作される毎にMODEFは反転し、通常演奏モード(MODEF=0)と鍵域設定モード(MODEF=1)が交互に設定されることになる。
図6は、図4の音色スイッチ処理(ステップS21)の詳細なフローチャートである。
【0024】
まず、音色スイッチがオン操作されたか否か判別する(ステップS202)。ここでオン操作が判別されなければこの処理を終了する。
オン操作されているならば、この音色スイッチにて指定された音色番号をTONEにストアする(ステップS203)。続いて、TONEF1、TONEF2及びTONEF3にストアされているフラグのいずれかが「1」となっているか判別する(ステップS204〜S206)。
ここでもしTONEF1にストアされたフラグが「1」であるなら、ステップS207に進み、TONEにストアされた音色番号をTONE(1)にストアし、TONEF1を「0」に戻して(ステップS208)、この処理を終了する。
【0025】
また、TONEF2にストアされたフラグが「1」であるなら、ステップS209に進み、TONEにストアされた音色番号をTONE(2)にストアし、TONEF2を「0」に戻して(ステップS210)、この処理を終了する。
また、TONEF3にストアされたフラグが「1」であるなら、ステップS211に進み、TONEにストアされた音色番号をTONE(3)にストアし、TONEF3を「0」に戻して(ステップS212)、この処理を終了する。
このように、音色スイッチにより音色が指定されると、この指定された音色の音色番号が、TONEF1〜3にストアされたフラグの状態に応じて、TONE(1)〜(3)のいずれかにストアされる。
【0026】
図7は、図4の鍵域指定スイッチ処理(ステップS22)の詳細なフローチャートである。
まず、MODEFにストアされたフラグが「0」、つまり通常演奏モードであるか否か判別する(ステップS213)。ここで「0」でないと判別されたなら、この処理を終了する。
「0」と判別されたなら、ステップS214に進み、SPFに記憶されたデータが「0」より大きいか否か、つまり鍵域が2分割あるいは3分割されている状態か否かを判別する。もし「0」であるなら鍵盤5は分割されている状態にないため、ステップS215に進みTONEF1にストアされたフラグを「1」とし、この処理を終了する。
【0027】
「0」より大きいと判別されたなら、続いて鍵域指定スイッチがオン操作されたか否か判別する(ステップS216)。もしオン操作されていないと判別された場合も、この処理を終了する。
スイッチがオンされていると判別されたなら、続いてSPFに記憶されたデータの値が「1」及び「2」のいずれであるか判別する(ステップS217、S218)。
ここで「1」と判別されたなら、つまり鍵盤5上を上鍵域と下鍵域の2分割にしている場合は、まずステップS219に進み、上下いずれの鍵域を鍵域指定スイッチにて指定したのかを判別する。ここで上鍵域が指定されていた場合はステップS220に進んでTONEF2にストアされたフラグを「1」とし、下鍵域が指定されていた場合はステップS215に進んでTONEF1にストアされたフラグを「1」とし、この処理を終了する。
【0028】
一方、「2」と判別されたなら、つまり鍵盤5上を上鍵域、中鍵域及び下鍵域の3分割にしている場合は、まずステップS221に進み、上中下いずれの鍵域を鍵域指定スイッチにて指定したのかを判別する。
そして上鍵域が指定されていた場合はステップS220に進んでTONEF3にストアされたフラグを「1」とし、下鍵域が指定されていた場合はステップS215に進んでTONEF1にストアされたフラグを「1」とし、中鍵域が指定されていた場合はステップS222に進んでTONEF2にストアされたフラグを「1」としこの処理を終了する。
【0029】
このように、通常演奏モードにおいて、鍵域指定スイッチによりいずれかの鍵域が指定されると、それに対応してTONEF1〜TONEF3にストアされたフラグのいずれかが「1」となる。
図8〜図16は、図3の鍵盤処理(ステップS3)の詳細なフローチャートである。
まず、図8において、MODEFにストアされたフラグが「0」、つまり通常演奏モードであるか否か判別する(ステップS300)。
ここで「0」と判別されると、ステップS301に進み、鍵盤5上の鍵を所定方向から順に走査し、鍵毎に変化があったか否かを判別する(ステップS302)。もし、鍵の変化なしと判別されたなら、この処理を終了する。
鍵がオフ操作、つまり離鍵されたと判別されたなら、離鍵された鍵の鍵番号をNOTEにストアし(ステップS303)、このNOTEにストアされた鍵番号に対応する音高の楽音の消音を、音源7に指示する(ステップS304)。そしてこの処理を終了する。
【0030】
一方、ステップS302にて押鍵されたと判別されると、ステップS305に進み、押鍵された鍵の鍵番号をNOTEにストアする。そして、SPFにストアされたデータが「0(分割なし)」、「1(2分割)」あるいは「2(3分割)」のいずれかであるかを判別する(ステップS306)。
ここで、「0」と判別されたなら、NOTEにストアされた鍵番号に対応する音高でかつTONE(1)にストアされた音色番号に対応する音色の楽音の発生を、音源7に対して指示して(ステップS307)この処理を終了する。
このように、鍵域分割の状態でない場合は、鍵盤5上のいずれの鍵を押鍵しても、TONE(1)にストアされた音色番号で指定される音色の楽音が発音される。
一方、ステップS306において、SPFにストアされたフラグが「1」、つまり鍵盤5が上下鍵域に分割された状態と判別されたなら、NOTEにストアされている押鍵された鍵の鍵番号が、SP(1)にストアされている分割位置を表わす鍵盤号より大きいか否かを判別する(ステップS308)。
【0031】
もし、SP(1)にストアされた鍵盤号の方が大きいと判別されたなら、これは押鍵が下鍵域でなされたことを意味するので、ステップS307に進み、NOTEにストアされた鍵番号に対応する音高でかつTONE(1)にストアされた音色番号に対応する音色の楽音の発生を、音源7に対して指示してこの処理を終了する。逆の場合であれば、これは押鍵が上鍵域でなされたことを意味するので、TONE(2)にストアされた音色番号に対応する音色でかつNOTEにストアされた鍵盤号対応する音高の楽音の発生を、音源7に対して指示してこの処理を終了する(ステップS309)。
このように、いずれかの鍵が押鍵され、かつ鍵盤5が上下鍵域に分割されている状態では、上鍵域に含まれる鍵を押鍵した場合は、TONE(2)にストアされた音色番号で指定される音色の楽音が発音されるが、下鍵域に含まれる鍵を押鍵した場合は、TONE(1)にストアされた音色番号で指定される音色の楽音が発音される。
【0032】
さらに、ステップS306にて、SPFにストアされたフラグが「2」、つまり鍵盤5が上、中及び下鍵域に分割された状態であると判別されたなら、ステップS310、S311に進む。ここにおいて、SP(2)にストアされた鍵盤号は上鍵域と中鍵域との分割位置を表わし、SP(1)にストアされた鍵盤号が中鍵域と下鍵域との分割位置を表わしている。
従って、NOTEにストアされている鍵盤号がSP(1)より小さいと判別されたなら、下鍵域での押鍵と判断され、ステップS307に進み、TONE(1)にストアされた音色番号で指定される音色の楽音の発生が指示される。
また、NOTEにストアされた鍵盤号がSP(2)とSP(1)との間に存在するなら、中鍵域での押鍵と判断され、ステップS312に進み、TONE(2)にストアされた音色番号で指定される音色の楽音の発生が指示される。
さらに、NOTEにストアされている鍵盤号がSP(2)より大きいと判別されたなら、上鍵域での押鍵と判断され、ステップS309に進み、TONE(3)にストアされた音色番号で指定される音色の楽音の発生が指示される。
【0033】
このように、鍵盤5が3分割されている場合は、押鍵された鍵が上鍵域に属するならTONE(3)にストアされた音色番号で示される音色の楽音が、中鍵域に属するならTONE(2)にストアされた音色番号で示される音色の楽音が、下鍵域に属するならTONE(1)にストアされた音色番号で示される音色の楽音が、発音されることになる。
再びステップS300に戻り、MODEFにストアされたフラグが「0」でなく「1」と判別された場合、つまり鍵域指定モードである場合は、図9のステップS313に進み、鍵盤5を走査する。これにより鍵盤5上で押鍵があったか否か判別する(ステップS314)。もし押鍵がなければこの処理を終了する。
【0034】
ここで押鍵ありと判別されたなら、この押鍵された鍵の鍵番号をNOTEにストアし(ステップS315)、タイマーによりカウントされたタイマー値をクリアする(ステップS316)。
そして、SPFにストアされたデータが「0」、つまり鍵盤5が分割されていない状態であるか否か判別する(ステップS317)。もし、「0」であるなら、NOTEに記憶されている押鍵された鍵番号が最低鍵、最高鍵あるいはそれ以外の鍵の鍵番号であるか判別する(ステップS318、S319)。ここで最低鍵であると判別されたなら、STFに「1」を、最高鍵であると判別されたならSTFに「2」をストアする(ステップS320、S321)。続いて、NOTEに記憶されている鍵番号をFNOTEにストアするとともに(ステップS322)、タイマーのカウントをスタートさせて(ステップS323)、この処理を終了する。
【0035】
一方、最高鍵及び最低鍵のいずれでもない場合は、図10に進み、STFにストアされた値が「1」、あるいは「2」であるか否か判別する(ステップS324、S325)。そして「1」、「2」いずれでもない場合は、この処理を終了する。
このように、鍵域設定モードで鍵盤5が分割されていない状態で、最初に最低鍵を押鍵すればSTFは「1」、最高鍵を押鍵すればSTFは「2」となり、それ以外の鍵が押鍵されれば、処理が終了する。
そして最低鍵が押鍵された後、それ以外の鍵が押鍵されると、ステップS324を介してステップS326に進み、NOTEにストアされた鍵番号と、FNOTEにストアされた鍵番号に1加算された値とが同一か否か、つまり現在押鍵された鍵は、先に押鍵された鍵と高域側で隣接する鍵であるか否か判別する。ここでYESと判別されると、続いてNOTEにストアされ鍵番号が最高鍵か否か判別する(ステップS327)。そして最高鍵でないと判別されると、NOTEにストアされた鍵番号をFNOTEにストアし(ステップS328)、TONE(1)にストアされた音色番号をTONE(3)にストアし(ステップS329)、TONEF1を「1」にセットする(ステップS330)。
【0036】
このように鍵盤5が分割されていない状態で、まず最低鍵を押鍵してからそれに高域側に隣接する鍵を順次押鍵しているかを判別し、これがYESであるならば、この状態で鍵盤5に割り当てられていた音色(TONE(1))を高鍵域に割り当てられる音色(TONE(3))とし、低音域に新たな音色を割り当て可能とする(TONEF1が「1」)。
ここでもし、高域側に隣接する鍵を押鍵しなかった場合はステップS326でNOとなり、ステップS331に進んでSTFにストアされていた値を「0」にするとともにTONEF1も「0」にする(ステップS332)。そしてタイマーを停止させて(ステップS333)この処理を終了する。また、ステップS327で最高鍵が押鍵されたと判別された場合も同様である。
【0037】
このように、最低鍵を押鍵した後、その隣接する鍵から高域方向に順次押鍵せずに別の鍵を押鍵した場合、あるいは順次押鍵して最高鍵まで到達した場合、ステップS328〜S330にて設定した状態をクリアする。
一方、ステップS325に戻って、最初に押鍵された鍵が最高鍵と判別された場合、ステップS334に進み、NOTEにストアされた鍵番号と、FNOTEにストアされた鍵番号に1減算された値とが同一か否か、つまり現在押鍵された鍵は、先に押鍵された鍵と低域側で隣接する鍵であるか否か判別する。ここでYESと判別されると、続いてNOTEにストアされ鍵番号が最低鍵か否か判別する(ステップS335)。ここで最低鍵でないと判別されると、つまり、最高鍵を押鍵してからその低域側に隣接する鍵を順次押鍵した場合、しかもその押鍵が最低鍵でない場合はステップS336に進み、TONEF3にストアされたフラグを「1」とする。
【0038】
もし最高鍵から隣接する鍵から低域方向に順次押鍵せずに別の鍵を押鍵した場合、あるいは順次押鍵して最低鍵まで到達した場合、ステップS331〜S333の処理に進む。
このように鍵盤5が分割されていない状態で、まず最高鍵を押鍵してからそれに低域側に隣接する鍵を順次押鍵している場合は、高鍵域に音色を割り当て可能とする(TONEF3が「1」)。
鍵盤5が分割されていない状態(SPF=0)での処理は前述のとおりであるが、図9のステップS317においてNOと判別されると、図11のS337に進み、SPFが「1」であるか否か判別される。ここで「1」と判別されると、つまり鍵盤5が上下2分割されている状態である場合は、続いてSTF2にストアされた値が「0」であるか否かを判別する(ステップS338)。ここで「0」である、つまり鍵域設定モードになってから最初の押鍵であると判別されると、続いてNOTEにストアされた押鍵された鍵の鍵番号がSP(1)、最低鍵あるいは最高鍵の鍵番号と一致するか否か判別する(ステップS339〜S341)。
【0039】
SP(1)にストアされた鍵番号、つまり分割位置に対応する鍵番号を押鍵したと判別されたならSTF2を「1」に、最低鍵を押鍵したと判別されたならSTF2を「2」に、最高鍵を押鍵したと判別されたならSTF2を「3」にする(ステップS342〜S344)。この後NOTEにストアされた鍵番号をFNOTEにストアし(ステップS345)、タイマーのカウントをスタートさせて(ステップS346)、この処理を終了させる。一方、ステップS342〜S344において、上述のいずれの鍵の押鍵でもない場合は直ちにこの処理を終了する。
このように、鍵盤5が2分割されている状態で鍵域設定モードに移行した後、最初にいずれの鍵が押鍵されたかを判別し、タイマーをスタートさせる。
【0040】
この後さらに別の押鍵がなされた場合は、ステップS347に進みSTF2が「1」、つまり最初の押鍵が分割位置であるSP(1)にストアされた鍵番号の鍵であったかどうか判別される。ここでYESと判別されると、NOTEにストアされた鍵番号の鍵、つまり現在押鍵された鍵が、先に押鍵された鍵に隣接した鍵であるか否か判別される(ステップS348、S349)。この判別結果がYESでかつ高域側に隣接している場合は、ステップS348からステップS350に進み、現在押鍵された鍵が最高鍵であるか否かを判別する。そしてここで最高鍵でないと判別された場合は、NOTEにストアされている現在押鍵された鍵の鍵番号をFNOTEにストアして(ステップS351)この処理を終了する。
ステップS350において、最高鍵であると判別された場合はステップS352に進み、SPFにストアされている値を「0」とする。続いてSTF2にストアされた値を「0」に戻し(ステップS353)、タイマーを停止して(ステップS354)この処理を終了する。
【0041】
一方、ステップS349において現在押鍵された鍵が、先に押鍵された鍵に隣接した鍵でかつ低域側に隣接していると判別されると、ステップS355に進み、現在押鍵された鍵が最低鍵であるか否かを判別する。そしてここで最低鍵でないと判別された場合は、NOTEにストアされている現在押鍵された鍵の鍵番号をFNOTEにストアして(ステップS351)この処理を終了する。
ステップS355において、最低鍵であると判別された場合はステップS356に進み、TONE(3)にストアされている音色番号をTONE(1)にストアしたのち、ステップS352〜S354の処理を行う。
【0042】
また、ステップS348及びS349の判別結果がいずれもNOである場合、つまり先に押鍵された鍵に隣接した鍵でない鍵を押鍵してしまった場合は、FNOTEにストアされている鍵番号をSP(1)にストアする(ステップS357)。
このように、鍵盤5が2分割されている状態において鍵域設定モードに移行して、まず分割位置(SP(1))に対応する鍵を押鍵した後、これに隣接する鍵を高域方向あるいは低域方向に順次押鍵していった場合、その最後に押鍵した鍵の位置が新たな分割位置となる。もし、この押鍵を最高鍵あるいは最低鍵に到達するまで続けた場合は、SPFを「0」にすることで、鍵盤5を分割なしの状態に変更する。
【0043】
一方、最初に最低鍵を押鍵している場合は(STF2=「2」)、図12のステップS358にてYESと判別され、続いてNOTEの鍵番号と、FNOTEの鍵番号に1加算した鍵番号とが一致するか否か判別する(ステップS359)。ここでYESと判別された場合、つまり最初に押鍵した最低鍵に隣接する鍵を押鍵した場合、ステップS360に進む。そしてNOTEの鍵番号がSP(1)にストアされた鍵番号と一致するか否か、つまり押鍵された鍵が分割位置にある鍵であるか否かが判別される。ここでNOと判別されると、NOTEにストアされていた鍵番号をFNOTEにストアして(ステップS361)この処理を終了する。
【0044】
このように先に押鍵された鍵の高域側に隣接する鍵を押鍵する操作を続けていれば、このステップS358〜S361の処理を繰り返す。
そして、もし先に押鍵された鍵の高域側に隣接する鍵ではなく、別の鍵を押鍵した場合(ステップS359においてNOと判断された場合)、あるいは高域側で隣接する鍵を押鍵する操作を続けた結果、NOTEの鍵番号がSP(1)にストアされた鍵番号と一致した場合(ステップS360においてYESと判断された場合)には、STF2を「0」に戻し(ステップS363)、タイマーを停止して(ステップS364)この処理を終了する。この場合は元の状態に戻り、分割状態は変更されない。
再びステップS358に戻って、STF2が「2」でないと判別された場合、図13のステップS369に進み、STF2が「3」、つまり最初の押鍵が最高鍵であったか否かが判別される。ここでYESと判別されると、今度はNOTEの鍵番号と、FNOTEの鍵番号に1加算した鍵番号とが一致するか否か判別する(ステップS370)。ここでYESと判別された場合、つまり最初に押鍵した最高鍵に隣接する鍵を押鍵した場合、ステップS371に進む。そしてNOTEの鍵番号がSP(1)にストアされた鍵番号と一致するか否か、つまり押鍵された鍵が分割位置にある鍵であるか否かが判別される。
【0045】
ここでNOと判別されると、NOTEにストアされていた鍵番号をFNOTEにストアして(ステップS372)この処理を終了する。
このように先に押鍵された鍵の低域側に隣接する鍵を押鍵する操作を続けていれば、このステップS369〜S372の処理を繰り返す。
そして、もし先に押鍵された鍵の低域側に隣接する鍵ではなく、別の鍵を押鍵した場合(ステップS370においてNOと判断された場合)、あるいは低域側で隣接する鍵を押鍵する操作を続けた結果、NOTEの鍵番号がSP(1)にストアされた鍵番号と一致した場合(ステップS371においてYESと判断された場合)には、STF2を「0」に戻し(ステップS373)、タイマーを停止して(ステップS374)この処理を終了する。この場合は元の状態に戻り、分割状態は変更されない。
【0046】
以上が、鍵盤5が2分割されている状態で鍵域設定モードにした場合の処理である。
再び図11に戻り、ステップS337において、SPFが「1」、つまり鍵盤5が2分割状態でないと判別された場合は、図14のステップS378に進み、SPFが「2」、つまり鍵盤5が3分割状態にあるか否か判別する。ここでもしNOと判別されたなら、この処理を終了する。
一方、YESと判別されたなら、続いてSTF3にストアされた値が「0」、つまり鍵域設定モードに移行してから、最初の押鍵であるか否か判別される(ステップS379)。ここで「0」と判別されると、さらにステップS380に進み、NOTE及びSP(1)夫々にストアされた値が同一か否か判別される。NOTEには現時点で押鍵された鍵の鍵番号がストアされ、SP(1)には、下鍵域と中鍵域との分割位置にある鍵の鍵番号がストアされている。ここでYESと判断されることは、下鍵域と中鍵域の分割位置にある鍵を押鍵したことを意味する。このS380でYESと判別された場合はSTF3にストアされた値を「1」に変更する(ステップS381)。
【0047】
このステップS380においてNOと判別されると、今度は、NOTE及びSP(2)夫々にストアされたていた値が同一か否か判別される(ステップS382)。ここでSP(2)は上鍵域と中鍵域との分割位置にある鍵の鍵番号がストアされており、このステップS382でYESと判別されることは、上鍵域と中鍵域との分割位置にある鍵を押鍵したことを意味する。
このS380でYESと判別された場合はSTF3にストアされた値を「1」に変更する(ステップS383)。
【0048】
このS380、S382のいずれでもNOと判別された場合は、分割位置以外の鍵を押鍵したことを意味し、ここでは何もせずにこの処理を終了する。
そしてS381、S383の処理の後、NOTEにストアされた鍵番号をFNOTEにストアし(ステップS384)、タイマーのカウントをスタートさせて(ステップS385)、この処理を終了する。
このように図14の処理においては、鍵域設定モードに移行してから、分割位置にある鍵を最初に押鍵したか否かを判別するとともに、いずれの分割位置を押鍵したかにより、STF3の状態を変更する。
ステップS379において、STF3が「0」でないと判別された場合、図15のステップS386に進み、SPF3にストアされた値が「1」、つまり最初に下鍵域と中鍵域の分割位置にある鍵を押鍵したか否かを判別する。
ここでYESと判別されると、続いてNOTEにストアされた鍵番号と、FNOTEにストアされた鍵番号に1加算した鍵番号とが一致しているか否か判別する(ステップS387)。FNOTEにはその直前に押鍵された鍵の鍵番号がストアされているので、もし、直前に押鍵した鍵の高域側に隣接する鍵を今回押鍵していたなら、ここではYESと判別されてステップS388に進む。そしてここで、押鍵された鍵番号(NOTE)がもうひとつの分割位置にある鍵の鍵番号(SP(2))と一致するか否か判別する。もし、一致しなければNOTEにストアされた鍵番号をFNOTEにストアして(ステップS389)この処理をいったん終了する。
【0049】
このように、最初に下鍵域と中鍵域との分割位置にある鍵を押鍵した後、その高域側に隣接する鍵を順番に押鍵していく操作を続けていくと、S386〜S389の処理が繰り返される。
そしてこの操作を繰り返していくうちに、より高域側にある中鍵域と上鍵域の分割位置にある鍵を押鍵することになる。このとき、ステップS388においてYESと判別され、ステップS390に進み、SPFにストアされた値を「1」に変更する。そしてSP(2)にストアされている分割位置を表わす鍵番号をSP(1)にストアする(ステップS391)。これは、2つある鍵盤の分割位置がひとつとなり、鍵盤5が3分割された状態から、2分割された状態になったことを意味する。
続いて、STF3にストアされた値を「0」とし(ステップS392)、タイマーを停止する(ステップS393)。
【0050】
このように、下鍵域と中鍵域との分割位置にある鍵を最初に押鍵し、続いて高域側に隣接する鍵を順次押鍵していき、この押鍵が上鍵域と中鍵域との分割位置まで到達すると鍵盤5は2分割された状態に変更する。
一方、ステップS387でNO、つまり高域側に隣接する鍵を押鍵していないと判別された場合は、ステップS394に進み、NOTEにストアされた鍵番号と、FNOTEにストアされた鍵番号に1減算した鍵番号とが一致しているか否か判別する。これは、直前に押鍵した鍵の低域側に隣接する鍵を今回押鍵したか否かを判別していることを意味し、ここではYESと判別されると、ステップS395に進み、押鍵された鍵番号(NOTE)が最低鍵の鍵番号と一致するか否か判別する。もし、一致しなければNOTEにストアされた鍵番号をFNOTEにストアして(ステップS389)この処理をいったん終了する。
【0051】
このように、低域側に隣接する鍵を順番に押鍵していく操作を続けていくと、S394、S395、続いてS389の処理が繰り返される。
そしてこの操作を繰り返していくうちに、最低鍵を押鍵することになる。このとき、ステップS395においてYESと判別され、ステップS396に進み、TONE(2)にストアされた音色番号をTONE(1)にストアする。つまり、中鍵域に割当てられている音色を下鍵域に割当てる。この処理の後、ステップS390〜S394の処理を行なう。
このように、下鍵域と中鍵域との分割位置にある鍵から順に低域側に押鍵していき、これが最低鍵に到達すると鍵盤5は2分割された状態になり、今まで中鍵域に割当てられた音色が下鍵域の音色となる。
さらに、ステップS394にてNOと判別された場合、つまりその前に押鍵された鍵に隣接する鍵でなく、全く別の鍵を押鍵した場合は、ステップS397に進み、FNOTEの直前に押鍵された鍵の鍵番号を、下鍵域と中鍵域との分割位置を表わす鍵盤号としてSP(1)にストアする。
このように、直前に押鍵した鍵に隣接する鍵を押鍵するという操作をやめて、別の鍵を押鍵した場合、この別な押鍵の直前に押鍵された鍵の位置が、下鍵域と中鍵域との新たな分割位置となる。
【0052】
以上のように、まず下鍵域と中鍵域との分割位置にある鍵を始めに順次高域側に押鍵してこの押鍵が他の分割位置に到達した場合、あるいは逆に低域側に隣接する鍵を順次押鍵して最低鍵まで到達した場合は、鍵盤5が3分割から2分割状態に変更される。しかも高域側に順次押鍵してもうひとつの分割位置に到達した場合は、3分割時での上下鍵域夫々に割当てられた音色が2分割時の上下鍵域夫々に割当てられた音色と一致するため、ユーザーはあたかも中鍵域が消滅したような感覚を受ける。
【0053】
逆に最低鍵に向かって順次押鍵していって2分割状態に変更した場合は、今まで中鍵域の音色が下鍵域の音色となるため、ユーザーあたかも今までの下鍵域が払いのけたような感じを受ける。
さらに、隣接する鍵を順次押鍵する操作をやめれば、この操作で最後に押鍵した鍵の鍵位置に分割位置が移動する。このような操作をすることにより分割位置の移動も自由にできる。
一方、ステップS386において、STF3が「1」でないと判別された場合、図16のステップS3に進み、SPF3にストアされた値が「2」、つまり最初に上鍵域と中鍵域の分割位置にある鍵を押鍵したか否かを判別する。ここで、NOと判断されれば、この処理は終了する。
YESと判別されると、続いてNOTEにストアされた鍵番号と、FNOTEにストアされた鍵番号に1減算した鍵番号とが一致しているか否か判別する(ステップS399)。FNOTEにはその直前に押鍵された鍵の鍵番号がストアされているので、もし、直前に押鍵した鍵の低域側に隣接する鍵を今回押鍵していたなら、ここではYESと判別されてステップS400に進む。そしてここで、押鍵された鍵番号(NOTE)がもうひとつの分割位置にある鍵の鍵番号(SP(1))と一致するか否か判別する。もし、一致しなければNOTEにストアされた鍵番号をFNOTEにストアして(ステップS401)この処理をいったん終了する。
【0054】
このように、最初に上鍵域と中鍵域との分割位置にある鍵を押鍵した後、その低域側に隣接する鍵を順番に押鍵していく操作を続けていくと、S398〜S401の処理が繰り返される。
そしてこの操作を繰り返していくうちに、より低域側にある中鍵域と下鍵域の分割位置にある鍵を押鍵することになる。このとき、ステップS400においてYESと判別され、ステップS402に進み、SPFにストアされた値を「1」に変更する。そしてSP(1)にストアされている分割位置を表わす鍵番号をSP(2)にストアする(ステップS403)。これは、2つある鍵盤の分割位置がひとつとなり、鍵盤5が3分割された状態から、2分割された状態になったことを意味する。
続いて、STF3にストアされた値を「0」とし(ステップS404)、タイマーを停止する(ステップS405)。
【0055】
このように、上鍵域と中鍵域との分割位置にある鍵を最初に押鍵し、続いて低域側に隣接する鍵を順次押鍵していき、この押鍵が下鍵域と中鍵域との分割位置まで到達すると鍵盤5は2分割された状態に変更する。
一方、ステップS399でNO、つまり低域側に隣接する鍵を押鍵していないと判別された場合は、ステップS406に進み、NOTEにストアされた鍵番号と、FNOTEにストアされた鍵番号に1加算した鍵番号とが一致しているか否か判別する。これは、直前に押鍵した鍵の高域側に隣接する鍵を今回押鍵したか否かを判別していることを意味し、ここではYESと判別されると、ステップS407に進み、押鍵された鍵番号(NOTE)が最高鍵の鍵番号と一致するか否か判別する。もし、一致しなければNOTEにストアされた鍵番号をFNOTEにストアして(ステップS401)この処理をいったん終了する。
【0056】
このように、低域側に隣接する鍵を順番に押鍵していく操作を続けていくと、S398、S399、S406、S407の処理が繰り返される。
そしてこの操作を繰り返していくうちに、最高鍵を押鍵することになる。このとき、ステップS407においてYESと判別され、ステップS408に進み、TONE(2)にストアされた音色番号をTONE(3)にストアする。つまり、中鍵域に割当てられている音色を上鍵域に割当てる。この処理の後、ステップS402〜S405の処理を行なう。
このように、上鍵域と中鍵域との分割位置にある鍵から順に高域側に押鍵していき、これが最高鍵に到達すると鍵盤5は2分割された状態になり、今まで中鍵域に割当てられた音色が上鍵域の音色となる。
さらに、ステップS406にてNOと判別された場合、つまりその前に押鍵された鍵に隣接する鍵でなく、全く別の鍵を押鍵した場合は、ステップS409に進み、FNOTEの直前に押鍵された鍵の鍵番号を、下鍵域と中鍵域との分割位置を表わす鍵盤号としてSP(2)にストアする。
【0057】
このように、直前に押鍵した鍵に隣接する鍵を押鍵するという操作をやめて、別の鍵を押鍵した場合、この別な押鍵の直前に押鍵された鍵の位置が、下鍵域と中鍵域との新たな分割位置となる。
以上のように、まず上鍵域と中鍵域との分割位置にある鍵を始めに順次低域側に押鍵してこの押鍵が他の分割位置に到達した場合、あるいは逆に高域側に隣接する鍵を順次押鍵して最高鍵まで到達した場合は、鍵盤5が3分割から2分割状態に変更される。しかも低域側に順次押鍵してもうひとつの分割位置に到達した場合は、3分割時での上下鍵域夫々に割当てられた音色が2分割時の上下鍵域夫々に割当てられた音色と一致するため、ユーザーはあたかも中鍵域が消滅したような感覚を受ける。
【0058】
逆に最高鍵に向かって順次押鍵していって2分割状態に変更した場合は、今まで中鍵域の音色が上鍵域の音色となるため、ユーザーあたかも今までの上鍵域が払いのけたような感じを受ける。
さらに、隣接する鍵を順次押鍵する操作をやめれば、この操作で最後に押鍵した鍵の鍵位置に分割位置が移動する。このような操作をすることにより分割位置の移動も自由にできる。
図17は、図3の表示処理(ステップS4)の詳細な処理を示すフローチャートである。
まず、ステップS410及びS411において、SPFにストアされていた値が「1」、「2」あるいはその他の値を判別する。
SPFの値が「1」、つまり鍵盤5が2分割されている状態においては、ステップS412に進んで、SP(1)にストアされた鍵番号の鍵の位置を表示部4により表示する。これにより上下鍵域の分割位置が明示される。
SPFの値が「2」、つまり鍵盤5が3分割されている状態においては、ステップS413に進んで、SP(1)、SP(2)にストアされた鍵番号の鍵の位置を表示部4により表示する。これにより上中下鍵域夫々を分ける2つの分割位置が明示される。
【0059】
SPFが「1」「2」のいずれでもない場合は、ステップS414に進み、これら分割位置の表示を消灯してこの処理を終了する。
図18及び図19は、タイマインタラプト処理を示すフローチャートである。この処理は、図3のメインルーチン処理中に、一定時間間隔で処理が行なわれるものである。
まず、タイマーがカウント中でかつ所定値までカウントしたか否か判別する(ステップS500)。このタイマーは、鍵域設定モードに移行してから最初の押鍵によりカウントが開始され、その後押鍵がある度にそのカウント値がクリアされるように構成されている。従って、押鍵か頻繁になされている状態であれば、タイマーはカウントアップせずに、このステップS500の処理は終了する。
【0060】
しかしながら、先に押鍵した鍵と高域側あるいは低域側に隣接する鍵を順次押鍵する操作を鍵盤5の分割位置、最高鍵あるいは最低鍵まで続けずに途中でやめてしまい、そのまま何も押鍵しなかった場合、この何も押鍵しない場合が所定時間続くとタイマーはカウントアップする。これは、ユーザーが現在の分割位置を最後に押鍵した鍵のある位置まで移動させることを欲する場合に行なう操作である。
この場合ステップS500においてYESと判別され、続いてSTF1にストアされた値が「0」を越えているか、つまり鍵盤が分割なしの状態で最低鍵あるいは最高鍵がまず押鍵されたか否かが判別される(ステップS501)。ここでYESと判別されると、NOTEにストアされた鍵番号を、上下鍵域の分割位置を示す鍵番号としてSP(1)にストアし(ステップS502)、続いてSPFの値を「1」にして鍵盤5を2分割の状態に変更するとともに、STF1を「0」にして(ステップS503)、この処理を終了する。
【0061】
このように鍵盤5が分割なしの状態で、先に押鍵した鍵に隣接する鍵を順次押鍵する操作を鍵盤5の途中でやめ、一定時間経過すれば最後に押鍵した鍵の位置で鍵盤5は2分割された状態に変更する。
次に、ステップS501でNOと判別された場合は、ステップS504、S505、さらには図19のステップS506において、STF2の値がいずれであるか判別される。ここでSTF2の値が「1」であるなら、つまり最初に分割位置にある鍵を押鍵したと判別された場合は、ステップS507に進み、NOTEにストアされた鍵盤号を、新たな分割位置に対応する鍵番号としてSP(1)にストアする。そして、STF2を「0」にしてタイマーを停止する(ステップS508)。このように、分割位置から順次それに隣接する鍵を押鍵していき、ある時点でその操作をやめて一定時間経過すると、その最後に押鍵した鍵の位置に分割位置が変更される。
【0062】
また、STF2の値が「3」、つまり最初に最高鍵を押鍵したと判別された場合は、ステップS509に進み、NOTEにストアされた鍵盤号を、上鍵域と中鍵域を分割する分割位置に対応する鍵番号としてSP(2)にストアする。そして、SPFにストアされた値を「2」とし(ステップS510)、TONE(3)にストアされた上鍵域用の音色番号を、中鍵域用の音色番号としてTONE(2)にストアする(ステップS511)。続いてTONEF3にストアされているフラグを「1」にして上鍵域に音色を割り当て可能とし(ステップS512)、STF2を「0」にしてタイマーを停止する(ステップS508)。
【0063】
さらに、STF2の値が「2」、つまり最初に最低鍵を押鍵したと判別された場合は、ステップS513に進み、SP(1)にストアされている分割位置をSP(2)にストアする。続いてNOTEにストアされた鍵盤号を、SP(2)にストアする(ステップS514)。そして、SPFにストアされた値を「2」とし(ステップS515)、TONE(3)にストアされた上鍵域用の音色番号を、中鍵域用の音色番号としてTONE(2)にストアする(ステップS516)。
これにより、2分割状態における分割位置を、3分割状態に変更した場合の上鍵域と中鍵域との分割位置とし、最後に押鍵された鍵位置を中鍵域と下鍵域の分割位置としている。さらに2分割状態での下鍵域の音色を、3分割状態での中鍵域の音色とする。
続いてTONEF1にストアされているフラグを「1」にして上鍵域に音色を割り当て可能とし(ステップS517)、STF2を「0」にしてタイマーを停止する(ステップS518)。
【0064】
このように、鍵盤5が2分割されている状態でまず最高鍵あるいは最低鍵を押鍵し、それから隣接する鍵を順次押鍵する操作を続け、それをある時点でやめて一定時間経過すれば、最後に押鍵した鍵位置が先にある分割位置とは別の新たな分割位置となり、鍵盤5は2分割から3分割された状態に変更する。
そして、再びステップS506に戻り、そこにおいてNOと判別されると、ステップS519、S520に進み、STF3の状態を判別する。
STF3が「1」、つまり鍵盤5が3分割されている状態で、最初に下鍵域と中鍵域とを分割する分割位置に対応する鍵を押鍵した後、それに隣接する鍵を順次押鍵する操作を行い、ある時点でその操作をやめて一定時間経過した場合であり、この場合はステップS521に進み、NOTEにストアされている鍵番号をSP(1)にストアする。これにより、下鍵域と中鍵域との分割位置を、最後に押鍵された鍵位置に移動させることができる。そしてSTF3を「0」に戻し、タイマーを停止してこの処理を終了させる(ステップS522)。
【0065】
一方、STF3が「2」、つまり最初に上鍵域と中鍵域とを分割する分割位置に対応する鍵を押鍵した後、それに隣接する鍵を順次押鍵する操作を行い、ある時点でその操作をやめて一定時間経過した場合であり、この場合はステップS523に進み、NOTEにストアされている鍵番号をSP(2)にストアする。これにより、上鍵域と中鍵域との分割位置を、最後に押鍵された鍵位置に移動させることができる。そしてこの後ステップS523に進む。
【0066】
このように、鍵盤5が3分割されている状態では、先に押鍵された鍵に隣接する鍵を押鍵する操作をやめると、その最後に押鍵された鍵の位置に分割位置が移動する。
以上のように本実施形態においては、鍵盤5が分割なしの状態あるいは上下2分割の状態において、鍵盤の一方の端にある鍵(最高鍵あるいは最低鍵)をまず押鍵し、続いてそれに隣接する鍵を、鍵盤5の他方の端に向かって順次押鍵していって所望の鍵までその操作を続ければ、その所望の鍵が新たな分割位置となる。これによって鍵盤5は分割なしの状態から2分割の状態へ、2分割の状態から3分割り状態となる。
この操作は、ユーザーがあたかも必要とする鍵域は「ここからここまで」というように指定しているに等しく、この操作は人間の感覚によくマッチするため、非常に簡単で誰にもわかりやすい。
【0067】
しかもこの新たに増加した鍵域に割当てるべき音色の指定操作は、上述の操作により鍵域が生成された後、直ちに割当てるべき音色を指定するだけでよく、従来のように鍵域を指定する操作が省ける。
また、鍵盤5が2分割あるいは3分割されている状態において、いずれかの分割位置にある鍵をまず最初に押鍵し、そこから鍵盤5の端部にある鍵(最高鍵又は最低鍵)あるいは他の分割位置にある鍵までの間にある鍵を順次押鍵していくと、この分割位置は消滅し、3分割から2分割の状態へ、2分割から分割なしの状態に移行する。これは、あたかも分割位置を鍵盤5の外に払いのける、あるいは別の分割位置と一緒にさせる操作をしているに等しく、人間の感覚によくマッチするため、非常に簡単で誰にもわかりやすい。
従って、従来と比べて非常に操作が簡単になり、煩わしさを感じなくてすむ。
【符号の説明】
【0068】
1 CPU
2 プログラムROM
3 ワークRAM
4 表示部
5 鍵盤
6 スイッチ部
7 音源
8 発音部
【特許請求の範囲】
【請求項1】
鍵盤と、
前記鍵盤を複数の鍵域に分割するための分割位置を記憶する分割位置記憶手段と、
前記鍵盤の分割状態を記憶する分割状態記憶手段と、
前記複数の鍵域毎に音色データを記憶可能な音色記憶手段と、
外部より音色を指定する音色指定手段と、
第1及び第2のいずれかを指定するモード指定スイッチと、
前記鍵盤上でいずれかの鍵が押鍵されたか否か判別する押鍵検出手段と、
前記モード指定スイッチにより第1のモードが指定された状態において、前記押鍵検出手段により前記鍵盤の一方の端部にある鍵から他方の端部に向かって連続的に押鍵されたことを検出した場合に、当該連続的な押鍵の最後の押鍵位置を新たな分割位置として前記分割位置記憶手段に記憶するとともに、前記分割状態記憶手段に記憶されている分割状態を当該新たな分割位置を追加した分割状態に変更する記憶制御手段と、
この記憶制御手段により、前記分割状態が変更された後、前記音色指定手段により指定された音色に対応する音色データを、前記鍵盤の一方の端部から前記新たな分割位置までの鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる音色指定制御手段と、
前記第2のモードが指定されている場合に、前記押鍵検出手段により検出された鍵が、前記分割状態記憶手段に記憶された分割状態により定められた鍵域のいずれに属するのかを判別する鍵域判別手段と、
前記押鍵された鍵に対応する音高でかつ、この鍵域判別手段にて検出された鍵域に対応した形態で楽音の発音を指示する発音指示手段と、
を有する電子楽器。
【請求項2】
前記記憶制御手段は、前記分割状態記憶手段が前記鍵盤の分割がなされていない状態を記憶しているときに、前記押鍵検出手段により前記鍵盤の最低鍵から最高鍵に向かって、あるいは最高鍵から最低鍵に向かって連続的に押鍵されたことを検出した場合に、当該連続的な押鍵の最後の押鍵位置を新たな分割位置として前記分割位置記憶手段に記憶するとともに、前記分割状態記憶手段に記憶されている分割状態を、当該新たな分割位置により前記鍵盤を上下鍵域に分割する分割状態に変更する、請求項1記載の電子楽器。
【請求項3】
前記音色制御手段は、前記鍵盤の最低鍵から最高鍵に向かって連続的に押鍵されたことを検出したことにより前記鍵盤を上下鍵域に分割する分割状態に変更された場合は、前記音色指定手段により指定された音色に対応する音色データを、前記鍵盤の下鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる一方、前記最高鍵から最低鍵に向かって連続的に押鍵されたことを検出したことにより前記鍵盤を上下鍵域に分割する分割状態に変更された場合は、前記指定された音色に対応する音色データを、前記上鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる、請求項2記載の電子楽器。
【請求項4】
前記記憶制御手段は、前記分割状態記憶手段が前記分割位置記憶手段に予め記憶されていた分割位置により前記鍵盤を上下鍵域に分割がなされている状態を記憶しているときに、前記押鍵検出手段により前記鍵盤の最低鍵から最高鍵に向かって、あるいは最高鍵から最低鍵に向かって連続的に押鍵されたことを検出した場合に、当該連続的な押鍵の最後の押鍵位置を新たな分割位置として前記分割位置記憶手段に記憶するとともに、前記分割状態記憶手段に記憶されている分割状態を、当該新たな分割位置及び前記予め記憶されていた分割位置により前記鍵盤を上中下鍵域に分割する分割状態に変更する、請求項1記載の電子楽器。
【請求項5】
前記音色制御手段は、前記鍵盤の最低鍵から最高鍵に向かって連続的に押鍵されたことを検出したことにより前記鍵盤を上中下鍵域に分割する分割状態に変更された場合は、前記最低鍵から前記予め記憶されていた分割位置により指定される下鍵域に割当てられる音色として前記音色指定手段に記憶されていた音色データを、前記鍵盤の中鍵域に割当てられる音色データとして前記音色記憶手段に記憶させる一方、前記音色指定手段により指定された音色に対応する音色データを、前記下鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる、請求項4記載の電子楽器。
【請求項6】
前記音色制御手段は、前記鍵盤の最高鍵から最低鍵に向かって連続的に押鍵されたことを検出したことにより前記鍵盤を上中下鍵域に分割する分割状態に変更された場合は、前記最高鍵から前記予め記憶されていた分割位置により指定される上鍵域に割当てられる音色として前記音色指定手段に記憶されていた音色データを、前記鍵盤の中鍵域に割当てられる音色データとして前記音色記憶手段に記憶させる一方、前記音色指定手段により指定された音色に対応する音色データを、前記上鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる、請求項4記載の電子楽器。
【請求項7】
鍵盤と、前記鍵盤を複数の鍵域に分割するための分割位置を記憶する分割位置記憶手段と、前記鍵盤の分割状態を記憶する分割状態記憶手段と、前記複数の鍵域毎に音色データを記憶可能な音色記憶手段と、外部より音色を指定する音色指定手段と、第1及び第2のいずれかを指定するモード指定スイッチと、を有する電子楽器に用いられるコンピュータに、
前記鍵盤上でいずれかの鍵が押鍵されたか否か判別する押鍵検出ステップと、
前記モード指定スイッチにより第1のモードが指定された状態において、前記押鍵検出ステップにより前記鍵盤の一方の端部にある鍵から他方の端部に向かって連続的に押鍵されたことを検出した場合に、当該連続的な押鍵の最後の押鍵位置を新たな分割位置として前記分割位置記憶手段に記憶するとともに、前記分割状態記憶手段に記憶されている分割状態を当該新たな分割位置を追加した分割状態に変更する記憶制御ステップと、
この記憶制御ステップにより、前記分割状態が変更された後、前記音色指定手段により指定された音色に対応する音色データを、前記鍵盤の一方の端部から前記新たな分割位置までの鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる音色指定制御ステップと、
前記第2のモードが指定されている場合に、前記押鍵検出ステップにより検出された鍵が、前記分割状態記憶手段に記憶された分割状態により定められた鍵域のいずれに属するのかを判別する鍵域判別ステップと、
前記押鍵された鍵に対応する音高でかつ、この鍵域判別ステップにて検出された鍵域に対応した形態で楽音の発音を指示する発音指示ステップと、
を実行させるプログラム。
【請求項1】
鍵盤と、
前記鍵盤を複数の鍵域に分割するための分割位置を記憶する分割位置記憶手段と、
前記鍵盤の分割状態を記憶する分割状態記憶手段と、
前記複数の鍵域毎に音色データを記憶可能な音色記憶手段と、
外部より音色を指定する音色指定手段と、
第1及び第2のいずれかを指定するモード指定スイッチと、
前記鍵盤上でいずれかの鍵が押鍵されたか否か判別する押鍵検出手段と、
前記モード指定スイッチにより第1のモードが指定された状態において、前記押鍵検出手段により前記鍵盤の一方の端部にある鍵から他方の端部に向かって連続的に押鍵されたことを検出した場合に、当該連続的な押鍵の最後の押鍵位置を新たな分割位置として前記分割位置記憶手段に記憶するとともに、前記分割状態記憶手段に記憶されている分割状態を当該新たな分割位置を追加した分割状態に変更する記憶制御手段と、
この記憶制御手段により、前記分割状態が変更された後、前記音色指定手段により指定された音色に対応する音色データを、前記鍵盤の一方の端部から前記新たな分割位置までの鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる音色指定制御手段と、
前記第2のモードが指定されている場合に、前記押鍵検出手段により検出された鍵が、前記分割状態記憶手段に記憶された分割状態により定められた鍵域のいずれに属するのかを判別する鍵域判別手段と、
前記押鍵された鍵に対応する音高でかつ、この鍵域判別手段にて検出された鍵域に対応した形態で楽音の発音を指示する発音指示手段と、
を有する電子楽器。
【請求項2】
前記記憶制御手段は、前記分割状態記憶手段が前記鍵盤の分割がなされていない状態を記憶しているときに、前記押鍵検出手段により前記鍵盤の最低鍵から最高鍵に向かって、あるいは最高鍵から最低鍵に向かって連続的に押鍵されたことを検出した場合に、当該連続的な押鍵の最後の押鍵位置を新たな分割位置として前記分割位置記憶手段に記憶するとともに、前記分割状態記憶手段に記憶されている分割状態を、当該新たな分割位置により前記鍵盤を上下鍵域に分割する分割状態に変更する、請求項1記載の電子楽器。
【請求項3】
前記音色制御手段は、前記鍵盤の最低鍵から最高鍵に向かって連続的に押鍵されたことを検出したことにより前記鍵盤を上下鍵域に分割する分割状態に変更された場合は、前記音色指定手段により指定された音色に対応する音色データを、前記鍵盤の下鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる一方、前記最高鍵から最低鍵に向かって連続的に押鍵されたことを検出したことにより前記鍵盤を上下鍵域に分割する分割状態に変更された場合は、前記指定された音色に対応する音色データを、前記上鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる、請求項2記載の電子楽器。
【請求項4】
前記記憶制御手段は、前記分割状態記憶手段が前記分割位置記憶手段に予め記憶されていた分割位置により前記鍵盤を上下鍵域に分割がなされている状態を記憶しているときに、前記押鍵検出手段により前記鍵盤の最低鍵から最高鍵に向かって、あるいは最高鍵から最低鍵に向かって連続的に押鍵されたことを検出した場合に、当該連続的な押鍵の最後の押鍵位置を新たな分割位置として前記分割位置記憶手段に記憶するとともに、前記分割状態記憶手段に記憶されている分割状態を、当該新たな分割位置及び前記予め記憶されていた分割位置により前記鍵盤を上中下鍵域に分割する分割状態に変更する、請求項1記載の電子楽器。
【請求項5】
前記音色制御手段は、前記鍵盤の最低鍵から最高鍵に向かって連続的に押鍵されたことを検出したことにより前記鍵盤を上中下鍵域に分割する分割状態に変更された場合は、前記最低鍵から前記予め記憶されていた分割位置により指定される下鍵域に割当てられる音色として前記音色指定手段に記憶されていた音色データを、前記鍵盤の中鍵域に割当てられる音色データとして前記音色記憶手段に記憶させる一方、前記音色指定手段により指定された音色に対応する音色データを、前記下鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる、請求項4記載の電子楽器。
【請求項6】
前記音色制御手段は、前記鍵盤の最高鍵から最低鍵に向かって連続的に押鍵されたことを検出したことにより前記鍵盤を上中下鍵域に分割する分割状態に変更された場合は、前記最高鍵から前記予め記憶されていた分割位置により指定される上鍵域に割当てられる音色として前記音色指定手段に記憶されていた音色データを、前記鍵盤の中鍵域に割当てられる音色データとして前記音色記憶手段に記憶させる一方、前記音色指定手段により指定された音色に対応する音色データを、前記上鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる、請求項4記載の電子楽器。
【請求項7】
鍵盤と、前記鍵盤を複数の鍵域に分割するための分割位置を記憶する分割位置記憶手段と、前記鍵盤の分割状態を記憶する分割状態記憶手段と、前記複数の鍵域毎に音色データを記憶可能な音色記憶手段と、外部より音色を指定する音色指定手段と、第1及び第2のいずれかを指定するモード指定スイッチと、を有する電子楽器に用いられるコンピュータに、
前記鍵盤上でいずれかの鍵が押鍵されたか否か判別する押鍵検出ステップと、
前記モード指定スイッチにより第1のモードが指定された状態において、前記押鍵検出ステップにより前記鍵盤の一方の端部にある鍵から他方の端部に向かって連続的に押鍵されたことを検出した場合に、当該連続的な押鍵の最後の押鍵位置を新たな分割位置として前記分割位置記憶手段に記憶するとともに、前記分割状態記憶手段に記憶されている分割状態を当該新たな分割位置を追加した分割状態に変更する記憶制御ステップと、
この記憶制御ステップにより、前記分割状態が変更された後、前記音色指定手段により指定された音色に対応する音色データを、前記鍵盤の一方の端部から前記新たな分割位置までの鍵域に割当てられる音色データとして、前記音色記憶手段に記憶させる音色指定制御ステップと、
前記第2のモードが指定されている場合に、前記押鍵検出ステップにより検出された鍵が、前記分割状態記憶手段に記憶された分割状態により定められた鍵域のいずれに属するのかを判別する鍵域判別ステップと、
前記押鍵された鍵に対応する音高でかつ、この鍵域判別ステップにて検出された鍵域に対応した形態で楽音の発音を指示する発音指示ステップと、
を実行させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2010−217801(P2010−217801A)
【公開日】平成22年9月30日(2010.9.30)
【国際特許分類】
【出願番号】特願2009−67205(P2009−67205)
【出願日】平成21年3月19日(2009.3.19)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
【公開日】平成22年9月30日(2010.9.30)
【国際特許分類】
【出願日】平成21年3月19日(2009.3.19)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
[ Back to top ]