電子楽器、及びプログラム
【課題】 鍵域分割数、分割位置の変更を、より人間の感覚にあった操作で行えるようにする。
【解決手段】 鍵域指定モードにおいて、鍵盤5上にある所定の鍵を単一で押鍵すれば、その鍵を分割位置として鍵域を上鍵域及び下鍵域に2分割される。また、3分割しようとすれば、鍵盤5上の2つの鍵を同時に押鍵すれば、その押鍵位置夫々が上鍵域、中鍵域及び下鍵域の分割位置として指定される。そして、通常モードにおいて押鍵がなされると、押鍵により指定された音高でかつ押鍵された鍵が属する鍵域に割当てられた音色の楽音が生成される。
【解決手段】 鍵域指定モードにおいて、鍵盤5上にある所定の鍵を単一で押鍵すれば、その鍵を分割位置として鍵域を上鍵域及び下鍵域に2分割される。また、3分割しようとすれば、鍵盤5上の2つの鍵を同時に押鍵すれば、その押鍵位置夫々が上鍵域、中鍵域及び下鍵域の分割位置として指定される。そして、通常モードにおいて押鍵がなされると、押鍵により指定された音高でかつ押鍵された鍵が属する鍵域に割当てられた音色の楽音が生成される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子楽器、及びプログラムに関する。
【背景技術】
【0002】
鍵盤を有する電子楽器においては、当該鍵盤を上下2つの鍵域に分割し、鍵域夫々に異なる音色を割当てることにより、押鍵された鍵が属する鍵域に応じて異なる音色の楽音を発生可能とする構成が従来から知られている。こうした構成とすることにより、より多彩な演奏が可能となる。
近年になっては、この鍵域分割を上下2分割にするだけでなく、上鍵域、中鍵域及び下鍵域の3分割をも可能とする電子楽器も提案されている(特許文献1参照)
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平8−234747公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に示す構成であれば、演奏する内容あるいは環境に応じて、鍵盤を2分割、3分割あるいは分割なしの状態に、というように自由に分割数を変更できるとともに、その分割位置もユーザが自由に設定することが可能となる。
この鍵域の分割数、各分割位置を設定する操作は、例えば特許文献1の場合では、ロータリーエンコーダ等の特別な操作子を用いて行なうことが一般的である。しかしながら、このような操作子を用い、かつ表示部に表示された鍵盤画像を見ながら、分割数、複数の分割位置をひとつひとつ設定することは操作が煩雑に感じることがある。
特に、鍵域を2分割した状態から、3分割した状態に変更する場合や、逆に3分割した状態から2分割した状態に変更する場合などは、ユーザの目から見れば鍵盤上に分割位置が1個増えるか、あるいは減少するかの違いであるとしか受け取れない。しかしながら、従来この変更操作は、ロータリーエンコーダや表示部という、分割すべき鍵盤とは全く別のものを用いて行なわねばならず、ひとつひとつの操作自体が何のためのものか、ユーザには感覚的にわかりにくいことがある。
これが鍵域分割を設定する操作が煩雑に感じる原因のひとつである、と認められる。
【0005】
本発明は、上記従来の課題に鑑みなされたものであり、鍵域分割数、分割位置の変更を、より人間の感覚にあった操作で行えるようにすることを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明に係る電子楽器は、鍵盤と、この鍵盤上でいずれかの鍵が押鍵されたか否か判別する押鍵検出手段と、第1及び第2のいずれかを指定するモード指定スイッチと、このモード指定スイッチにより第1のモードが指定されている場合に、前記押鍵検出手段にて押鍵が検出された場合、当該押鍵が単一かあるいは複数同時かを判別する押鍵判別手段と、この押鍵判別手段により、単一の鍵の押鍵と判別された場合に、当該押鍵された鍵の位置に基づいて前記鍵盤を2つの鍵域に分割する第1の鍵域分割手段と、前記押鍵判別手段により、複数の鍵の同時押鍵と判別された場合に、当該同時押鍵された複数の鍵の位置に基づいて前記鍵盤を3つの鍵域に分割する第2の鍵域分割手段と、前記第2のモードが指定されている場合に、前記押鍵判別手段により判別された鍵が前記鍵盤のいずれかの鍵域に属するのかを判別する鍵域判別手段と、前記押鍵された鍵に対応する音高でかつ、この鍵域判別手段にて検出された鍵域に対応した形態で楽音の発音を指示する発音指示手段と、を有することを特徴とする。
ここにおいて、前記鍵盤の各鍵域に対応して音色が割り当てられ、前記発音指示手段は、前期鍵域分割手段にて検出された鍵域に割り当てられた音色で楽音の発音を指示する、ことが望ましい。
また、本発明に係るプログラムは、鍵盤と、第1及び第2のいずれかを指定するモード指定スイッチとを有する電子楽器に用いられるコンピュータに、前記鍵盤上でいずれかの鍵が押鍵されたか否か判別する押鍵検出ステップと、前記モード指定スイッチにより第1のモードが指定されている場合に、前記押鍵検出ステップにて押鍵が検出された場合、当該押鍵が単一かあるいは複数同時かを判別する押鍵判別ステップと、この押鍵判別ステップにより、単一の鍵の押鍵と判別された場合に、当該押鍵された鍵の位置に基づいて前記鍵盤を2つの鍵域に分割する第1の鍵域分割ステップと、前記押鍵判別ステップにより、複数の鍵の同時押鍵と判別された場合に、当該同時押鍵された複数の鍵の位置に基づいて前記鍵盤を3つの鍵域に分割する第2の鍵域分割ステップと、前記第2のモードが指定されている場合に、前記押鍵検出ステップにより検出された鍵が前記鍵盤のいずれかの鍵域に属するのかを判別する鍵域判別ステップと、前記押鍵された鍵に対応する音高でかつ、この鍵域判別ステップにて検出された鍵域に対応した形態で楽音の発音を指示する発音指示ステップと、を実行させることを特徴とする。
【発明の効果】
【0007】
本発明は、鍵盤を2分割しようとすればそのひとつの分割位置に対応する位置にある鍵を押鍵し、3分割しようとすればその2つの分割位置に対応する位置にある鍵を押鍵するだけで行なえる。このような操作は感覚的に非常にわかり易い操作であり、誰もが煩雑さを感じることなく操作を行なうことが可能になる。
【図面の簡単な説明】
【0008】
【図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)。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について、図面を用いて説明する。図1は、本実施形態を適用した電子楽器の全体ブロック図である。CPU1は、プログラムROM2に記憶されたプログラムの処理手順に従って、この電子楽器全体の動作を制御するものである。また、このプログラムROM2には、本実施形態においては、複数種の音色データも記憶されている。ワークRAM3は、このCPU1で処理を行なう際に生成されるデータを一時的に記憶するエリアを有する。そして表示部4は、この電子楽器の操作に必要なデータを表示するものである。鍵盤5は、演奏操作に用いるものであり、本実施形態においては、この鍵盤5上を2又は3個の鍵域に分割し、この分割された各鍵域に夫々異なる音色が割当て可能な構成になっている。SW部6は、本実施形態においては、モードスイッチ、音色スイッチ及び鍵域指定スイッチからなる。このうち、モードスイッチは、通常演奏を行うモードと鍵域を設定するモードのいずれかのモードを指定するスイッチである。音色スイッチは鍵盤5上の各鍵域に割当てられるべき音色を指定するスイッチである。そして鍵域指定スイッチは、音色スイッチで指定された音色を割当てるべき鍵域を指定するスイッチである。また、これ以外に、鍵盤5を鍵域分割なしの状態に戻すクリアスイッチ等を設けてもよい。
音源7は、鍵盤5の健の押鍵により指定された音高と、押鍵された健が含まれる鍵域に割当てられた音色とに基づいた楽音信号を生成するものであり、発音部8は、アンプ、スピーカ等からなり、この生成された楽音信号を発音するものである。
【0010】
図2は、図1のワークRAM3の記憶形態を示す図である。図に示すように、各エリアにはCPU1の処理動作に必要なデータが記憶される。MODEFは、通常演奏モードのときは「0」、鍵域指定モードのときは「1」となるフラグをストアするエリアである。TONEF1、TONEF2及びTONEF3は夫々、鍵盤5の下鍵域、中鍵域及び上鍵域のいずれに指定された音色を割当てるべきかを示すフラグをストアするエリアである。SPLITFは、鍵盤5の分割形態を示すデータをストアするエリアであり、「0」の場合は分割なし、「1」の場合は上下鍵域の2分割、「2」の場合は上中下鍵域の3分割となることを示す。TONEは、音色スイッチにて指定された音色番号をストアするエリアである。
TONE(1)は、鍵域が分割されていない場合の音色番号、鍵域が分割されている場合は下鍵域に割当てられる音色の音色番号をストアするエリアである。TONE(2)は、鍵盤5が2分割されている場合は上鍵域、3分割されている場合は中鍵域に割当てられる音色の音色番号をストアするエリアである。TONE(3)は鍵盤5が3分割されている場合に、上鍵域に音色を割当てられた音色を示す音色番号をストアするエリアである。NOTEは、通常演奏モードのときに鍵盤5上の健の押鍵により指定される音高(鍵盤号)をストアするエリアである。SPLIT(1)及びSPLIT(2)は、鍵盤5上の分割位置を示す鍵盤号をストアするエリアである。NOTE(1)及びNOTE(2)は、鍵域指定モードのときに鍵盤5上の健の押鍵により指定される音高(鍵盤号)をストアするエリアである。N及びnは、インデックスをストアするエリアである。
【0011】
図3〜図13は、CPU1の処理動作を示すフローチャートである。
図3は、メインフローである。まず、電源がオンされると、CPU1の内部レジスタ及びワークRAM3の記憶内容をクリアするイニシャライズ処理を行なう(ステップS1)。続いてスイッチ処理(ステップS2)、鍵盤処理(ステップS3)、その他の処理(ステップS4)の順番で処理を行なう。ステップS2〜S4の処理は、電源がオフされるまで繰り返し、行なわれる。
【0012】
図4は、図3のスイッチ処理(ステップS2)の詳細なフローチャートである。まず、モードスイッチ処理(ステップS5)を行い、続いて音色スイッチ処理(ステップS6)、鍵域指定スイッチ処理(ステップS7)の順で処理を行なう。
図5は、図4のモードスイッチ処理(ステップS5)の詳細なフローチャートである。
まず、モードスイッチがオン操作されたか否か判別し(ステップS8)、オン操作されたと判別されたなら、MODEFを反転させて(ステップS8)、この処理を終了させる。オン操作されていなければ、何もせずにこの処理を終了する。
このように、モードスイッチが操作される毎にMODEFは反転し、通常演奏モードと鍵域設定モードが交互に設定されることになる。
【0013】
図6は、図4の音色スイッチ処理(ステップS6)の詳細なフローチャートである。
まず、音色スイッチがオン操作されたか否か判別する(ステップS10)。ここでオン操作が判別されなければこの処理を終了する。
オン操作されているならば、この音色スイッチにて指定された音色番号をTONEにストアする(ステップS10)。続いて、TONEF1、TONEF2及びTONEF3にストアされているフラグのいずれかが「1」となっているか判別する(ステップS12〜S14)。ここでもしTONEF1にストアされたフラグが「1」であるなら、ステップS15に進み、TONEにストアされた音色番号をTONE(1)にストアし、TONEF1を「0」に戻して(ステップS16)、この処理を終了する。また、TONEF2にストアされたフラグが「1」であるなら、ステップS17に進み、TONEにストアされた音色番号をTONE(2)にストアし、TONEF2を「0」に戻して(ステップS18)、この処理を終了する。また、TONEF3にストアされたフラグが「1」であるなら、ステップS19に進み、TONEにストアされた音色番号をTONE(3)にストアし、TONEF3を「0」に戻して(ステップS20)、この処理を終了する。
このように、音色スイッチにより音色が指定されると、この指定された音色の音色番号が、TONEF1〜3にストアされたフラグの状態に応じて、TONE(1)〜(3)のいずれかにストアされる。
【0014】
図7は、図4の鍵域指定スイッチ処理(ステップS7)の詳細なフローチャートである。
まず、MODEFにストアされたフラグが「0」、つまり通常演奏モードであるか否か判別する(ステップS21)。ここで「0」でないと判別されたなら、この処理を終了する。「0」と判別されたなら、ステップS22に進み、鍵域指定スイッチがオン操作されたか否か判別する。もしオン操作されていないと判別された場合も、この処理を終了する。スイッチがオンされていると判別されたなら、続いてSPLITFに記憶されたデータの値が「0」、「1」及び「2」のいずれであるか判別する(ステップS23〜S25)。ここで、「0」と判別されたなら、つまり鍵盤5上を鍵域分割しないならば、TONEF1にストアされたフラグを「1」として(ステップS26)、この処理を終了する。
また、「1」と判別されたなら、つまり鍵盤5上を上鍵域と下鍵域の2分割にしている場合は、まずステップS27に進み、上下いずれの鍵域を鍵域指定スイッチにて指定したのかを判別する。ここで上鍵域が指定されていた場合はステップS28に進んでTONEF2にストアされたフラグを「1」とし、下鍵域が指定されていた場合はステップS26に進んでTONEF1にストアされたフラグを「1」とし、この処理を終了する。
【0015】
一方、「2」と判別されたなら、つまり鍵盤5上を上鍵域、中鍵域及び下鍵域の3分割にしている場合は、まずステップS29に進み、上中下いずれの鍵域を鍵域指定スイッチにて指定したのかを判別する。
そして上鍵域が指定されていた場合はステップS28に進んでTONEF2にストアされたフラグを「1」とし、下鍵域が指定されていた場合はステップS26に進んでTONEF1にストアされたフラグを「1」とし、中鍵域が指定されていた場合はステップS30に進んでTONEF3にストアされたフラグを「1」としこの処理を終了する。
このように、通常演奏モードにおいて、鍵域指定スイッチによりいずれかの鍵域が指定されると、それに対応してTONEF1〜TONEF3にストアされたフラグのいずれかが「1」となる。
【0016】
図8〜図13は、図3の鍵盤処理(ステップS3)の詳細なフローチャートである。
まず、図8において、MODEFにストアされたフラグが「0」、つまり通常演奏モードであるか否か判別する(ステップS31)。ここで「0」と判別されると、ステップS32に進み、鍵盤5上の鍵を所定方向から順に走査し、鍵毎に変化があったか否かを判別する(ステップS33)。もし、鍵の変化なしと判別されたなら、この処理を終了する。鍵がオフ操作、つまり離鍵されたと判別されたなら、離鍵された鍵の鍵番号をNOTEにストアし(ステップS34)、このNOTEにストアされた鍵番号に基づいてノートオフイベントを作成する(ステップS35)。そしてこの作成されたノートオフイベントを音源7に送付して(ステップS36)、この処理を終了する。
このように、いずれかの鍵が離鍵されると、この離鍵された鍵に対応するノートオフイベントが音源7に送付されて消音処理が行なわれる。
【0017】
一方、ステップS33にて押鍵されたと判別されると、ステップS37に進み、押鍵された鍵の鍵番号をNOTEにストアする。そしてこのNOTEにストアされた鍵番号に基づいてノートオンイベントを作成する(ステップS38)。この後、SPLITFにストアされたフラグが「0」、つまり鍵域分割がなされていない状態か否か判別する(ステップS39)。
ここで、「0」と判別されたなら、TONE(1)にストアされた音色番号に基づき、発音すべき楽音の音色を指定する音色イベントを作成する(ステップS40)。そしてこの音色イベントと先に作成したノートオンイベントの両方を音源7に送付して(ステップS41)この処理を終了する。
このように、いずれかの鍵が押鍵され、かつ鍵域分割の状態でない場合は、鍵盤5上のいずれの鍵を押鍵しても、TONE(1)にストアされた音色番号で指定される音色の楽音が発音される。
【0018】
一方、ステップS39において、SPLITFにストアされたフラグが「0」でないと判別された場合、図9のステップS42に進み、SPLITFにストアされたフラグが「1」、つまり鍵盤5が上下鍵域に分割された状態かを判別する。
ここで、「1」と判別されたなら、SPLIT(1)にストアされている分割位置を表わす鍵盤号が、NOTEにストアされている押鍵された鍵の鍵番号より大きいか否かを判別する(ステップS43)。もし、鍵分割位置を表わす鍵盤号の方が大きいと判別されたなら、これは押鍵が下鍵域でなされたことを意味するので、TONE(1)にストアされた音色番号に基づき、発音すべき楽音の音色を指定する音色イベントを作成する(ステップS44)。逆の場合であれば、これは押鍵が上鍵域でなされたことを意味するので、TONE(2)にストアされた音色番号に基づき、発音すべき楽音の音色を指定する音色イベントを作成する(ステップS45)。このステップS44あるいはS45の処理の後ステップS41に進む。
このように、いずれかの鍵が押鍵され、かつ鍵盤5が上下鍵域に分割されている状態では、上鍵域に含まれる鍵を押鍵した場合は、TONE(2)にストアされた音色番号で指定される音色の楽音が発音されるが、下鍵域に含まれる鍵を押鍵した場合は、TONE(1)にストアされた音色番号で指定される音色の楽音が発音される。
【0019】
さらに、ステップS42にて、SPLITFにストアされたフラグが「1」でないと判別された場合、ステップS46に進み、SPLITFにストアされたフラグが「2」、つまり鍵盤5が上、中及び下鍵域に分割された状態かを判別する。ここで「2」でないと判別されたなら、この処理を終了する。
もし「2」と判別されたなら、ステップS48に進む。これはSPLIT(2)にストアされた鍵盤号が上鍵域と中鍵域との分割位置を表わし、SPLIT(1)にストアされた鍵盤号が中鍵域と下鍵域との分割位置を表わすことを意味する。従って、ステップS48にて、SPLIT(2)とNOTEにストアされた鍵盤号との関係がSPLIT(2)≧NOTEであるか否か判別し、これがYESであれば、ステップS49に進んで、SPLIT(1)とNOTEの関係が、SPLIT(1)≧NOTEであるか否か判別する。
ここで、ステップS48においてNOと判別された場合は、上鍵域にて押鍵がなされたことを意味し、TONE(3)にストアされた音色番号に基づいて音色イベントを作成して(ステップS50)、ステップS41に進む。
【0020】
また、ステップS49にてNOと判別された場合は、中鍵域にて押鍵がなされたことを意味し、TONE(2)にストアされた音色番号に基づいて音色イベントを作成して(ステップS51)、ステップS41に進む。
さらに、ステップS49にてNOと判別された場合は、中鍵域にて押鍵がなされたことを意味し、TONE(2)にストアされた音色番号に基づいて音色イベントを作成して(ステップS52)、ステップS41に進む。
このように、鍵盤5が3分割されている場合は、押鍵された鍵が上鍵域に属するならTONE(3)にストアされた音色番号で示される音色の楽音が、中鍵域に属するならTONE(2)にストアされた音色番号で示される音色の楽音が、下鍵域に属するならTONE(1)にストアされた音色番号で示される音色の楽音が、発音されることになる。
【0021】
再び図8に戻り、ステップS31において、MODEFにストアされたフラグが「0」でなく「1」と判別された場合、つまり鍵域指定モードである場合は、図10のステップS55に進み、Nにストアされる鍵盤号を「0」、nにストアされた押鍵数を「0」に設定する。続いてNOTE(1)(2)に「−1」という鍵盤号としてはありえない数値をストアする(ステップS56)。
そして鍵盤号Nの鍵が押鍵されているか否かを判別する(ステップS57)。ここで押鍵されていると判別されると、nにストアされた押鍵数をインクリメントし(ステップS58)、このnにストアされた押鍵数が「3」であるか判別して(ステップS59)、「3」であるならnにストアされた押鍵数を「2」に戻すとともに、NOTE(2)にストアされた鍵盤号をNOTE(1)に移す(ステップS60)。
そして、このnを引数としたNOTE(n)に、Nの鍵盤号がストアされる(ステップS61)。この後、Nにストアされた値をインクリメントし(ステップS62)、このNの値が鍵盤5にある鍵数を越えたか否か判別する(ステップS63)。ここでこの鍵数を越えていないと判別されたなら、再びステップS57に戻る。
【0022】
このように図10においては、鍵域指定モードにおいて、鍵盤5上で押鍵された鍵の鍵番号を2個、NOTE(1)、NOTE(2)にストアする処理を行なっている。
一方、ステップS63においてNにストアされている数値が鍵盤5の鍵数を越えた場合、この図10の処理は鍵盤5の鍵全てにおいて処理をし終えたと判断され、図11のステップS64に進む。ここにおいて、SPLITFにストアされたフラグが「0」であるか、つまり鍵盤5で鍵域分割が行なわれていない状態であるかどうか判別する。
ここで「0」であると判別されると、続いてnにストアされた値、つまり鍵盤5での押鍵数が「1」であるか、または「2」であるかを判別する(ステップS65、S66)。ここで「1」と判別されると、NOTE(1)にストアされている押鍵された鍵の鍵番号を、SPLIT(1)に分割位置を示す鍵番号としてストアする(ステップS67)。
そしてSPLITFに、鍵盤5を上下鍵域に分割することを示す「1」の数値をストアするとともに(ステップS68)、TONEF2にストアされているフラグを「1」としてこの処理を終了する(ステップS69)。
このように、鍵域指定モードにおいて、鍵盤5が鍵域分割されていない状態でいずれかひとつの鍵が押鍵されると、その押鍵位置を分割位置とし、上鍵域に割当てられるべき音色が指定可能となる。
【0023】
またステップS66において、nにストアされた押鍵数が「2」と判別されると、NOTE(1)及びNOTE(2)に夫々ストアされている押鍵された鍵の鍵番号を、SPLIT(1)及びSPLIT(2)の夫々に分割位置を示す鍵番号としてストアする(ステップS70、S71)。そしてSPLITFに、鍵盤5を上、中及び下鍵域に分割することを示す「2」の数値をストアするとともに(ステップS72)、TONEF2及びTONEF3にストアされているフラグを「1」としてこの処理を終了する(ステップS73)。
このように、鍵域指定モードにおいて、鍵盤5が鍵域分割されていない状態でいずれかふたつの鍵が同時に押鍵されると、その押鍵位置を分割位置として鍵盤5は上鍵域、中鍵域及び下鍵域に分割され、中鍵域及び上鍵域に割当てられるべき音色が指定可能となる。
一方、ステップS64でSPLITFにストアされた値が「0」でないと判別されると、図12のステップS74に進み、今度は「1」であるか、つまり鍵盤5が上下鍵域に分割されている状態であるかを判別する。
【0024】
ここで「1」であると判別されると、続いてnにストアされた鍵盤5での押鍵数が「1」であるか、あるいは「2」であるかを判別する(ステップS75、S76)。そしてステップS75で押鍵数が「1」と判別されると、NOTE(1)にストアされている押鍵された鍵の鍵番号を、分割位置を示す鍵番号としてSPLIT(1)にストアし(ステップS77)、この処理を終了する。
このように、鍵盤5が上下鍵域に2分割されている状態で、いずれかひとつの鍵が押鍵されると、その押鍵位置に分割位置が変更する。
【0025】
一方、ステップS76にて、押鍵数が「2」と判別されると、まず、SPLIT(1)にストアされている、分割位置を示す鍵盤号が、NOTE(1)及びNOTE(2)にストアされている押鍵された鍵の鍵番号のいずれかと同一、もしくはこの押鍵された2つの鍵の間に存在する鍵の鍵番号であるか否かを判別する(ステップS78)。
ここで、YESと判別されると、NOTE(1)にストアされている押鍵された鍵の鍵番号を、下鍵域と中鍵域との分割位置を示す鍵盤号としてSPLIT(1)にストアするとともに(ステップS79)、NOTE(2)にストアされている押鍵された鍵の鍵番号を、中鍵域と上鍵域との分割位置を示す鍵盤号としてSPLIT(2)にストアする(ステップS80)。そして、3つの鍵域に分割されたことを示す「2」をSPLITFにストアする(ステップS81)。
【0026】
このあと、2分割の状態で上鍵域に割当てられていた音色を、3分割された場合の上鍵域の音色として割り当て、新たに発生した中鍵域に音色を割当て可能な状態にしなければならない。このため、まずTONE(2)にストアされたていた音色番号を、TONE(3)にストアし(ステップS82)、続いてTONEF2にストアされていたフラグを「1」として(ステップS83)、この処理を終了する。
このように、鍵域が2分割されている状態において、この分割位置となる鍵を囲むように2つの鍵を同時押鍵した場合、あるいは同時押鍵された鍵の一方が、この分割位置を表わす鍵であった場合は、新たに押鍵された2つの鍵が分割位置となる。
【0027】
もし、このような押鍵の形態でない場合、つまりステップS78においてNOと判別された場合は、ステップS84に進み、NOTE(2)にストアされた鍵番号がSPLIT(1)にストアされた分割位置を表わす鍵盤号より大きいかどうか、つまり、押鍵が上鍵域で行なわれたのかどうか判別する。ここでYESと判別されると、NOTE(1)及びNOTE(2)に夫々ストアされた鍵盤号に対応する2つの鍵の中間に位置する鍵の鍵番号をSPLIT(2)にストアして(ステップS85)ステップS81に進む。
これにより、今までの分割位置(SPLIT(1))は、下鍵域と中鍵域の分割位置となり、上鍵域で同時押鍵された2つの鍵の中間に位置する鍵盤号(SPLIT(2))は、中鍵域と上鍵域との分割位置となる。
【0028】
一方、ステップS84にてNOと判別された場合は、押鍵が下鍵域にて行なわれたことを意味する。このため、まずSPLIT(1)にストアされた分割位置を示す鍵盤号をSPLIT(2)にストアし(ステップS86)、SPLIT(1)には、NOTE(1)及びNOTE(2)に夫々ストアされた鍵盤号に対応する2つの鍵の中間に位置する鍵の鍵番号をストアして(ステップS87)ステップS81に進む。
これにより、今までの分割位置(SPLIT(2))は、上鍵域と中鍵域の分割位置となり、下鍵域で同時押鍵された2つの鍵の中間に位置する鍵盤号(SPLIT(1))は、中鍵域と下鍵域との分割位置となる。
【0029】
以上のように、鍵域指定モードにおいて、鍵盤5が2分割されている状態でいずれかひとつの鍵が押鍵された場合は、この押鍵位置に分割位置が変更され、2つの鍵が同時押鍵された場合は、鍵域が2分割から3分割に変更される。この場合に今までの分割位置を囲むような形で押鍵がなされた場合、あるいは一方の押鍵位置が今までの分割位置である場合、はこの2つの押鍵位置が新たな分割位置となる。
また、2つの押鍵両方が分割されたひとつの鍵域で行なわれた場合は、今までの分割位置のほかに、この2つの押鍵位置に基づいて定まる位置、例えば2つの押鍵位置の中間位置を新たな分割位置として指定する。
【0030】
さらに、ステップS74でSPLITFにストアされた値が「1」でない、と判別された場合は、図13のステップS88に進み、SPLITFが「2」であるか、つまり鍵盤5を3つの鍵域に分割している状態であるか否か判別する。ここでNOである場合はこの処理を終了する。YESであれば、nにストアされた押鍵数が「1」であるか、あるいは「2」であるかを判別する(ステップS89、S90)。ここでnが「1」と判別された場合は、NOTE(1)にストアされた押鍵された鍵の鍵番号と、SPLIT(1)あるいはSPLIT(2)にストアされている鍵域の分割位置を示す鍵盤号とが一致しているか否か、つまり2つある分割位置にある鍵のいずれか押鍵したのかを判別する(ステップS91、S92)。
【0031】
下鍵域と中鍵域との分割位置を示す鍵を押鍵した場合は、ステップS91においてYESと判断され、SPLIT(1)にストアされた値をインクリメントする(ステップS93)。つまり下鍵域と中鍵域との分割位置を高音域に1鍵分ずらす。
また、中鍵域と上鍵域との分割位置を示す鍵を押鍵した場合は、ステップS92においてYESと判断され、SPLIT(2)にストアされた値をインクリメントする(ステップS94)。つまり中鍵域と上鍵域との分割位置を低音域に1鍵分ずらす。この後、分割位置にある鍵を押鍵する操作を続けると、2つの分割位置は次第に近づいてくることになる。そしてこの2つの分割位置が重なると、SPLIT(1)及びSPLIT(2)にストアされた値が一致するので、ステップS95においてYESと判断される。ここでYESと判断されるとSPLITFにストアされた値を、2つの鍵域に分割された状態を示す「1」とする(ステップS96)。
【0032】
また、今まで上鍵域に割当てられていた音色を示す音色番号がストアされていたTONE(3)の内容をTONE(2)にストアして(ステップS97)してこの処理を終了する。このように、分割位置にある鍵を押鍵する、そうすると分割位置が他の分割位置に近づいてくる、その分割位置にある鍵をさらに押鍵する、という操作を続けていくと2つある押鍵位置は重なり、中鍵域は消滅して上下鍵域の2分割状態に変化する。
【0033】
一方、ステップS91あるいはS92において、いずれもNOと判断された場合、つまり2つの分割位置を示す鍵以外の鍵が押鍵された場合は、ステップS98に進み、NOTE(1)にストアされた押鍵された鍵盤号を新たな分割位置を示す鍵盤号としてSPLIT(1)にストアして、ステップS96の処理に進む。
この結果、鍵域が3分割されている状態で、分割位置を示す鍵以外のいずれかひとつを押鍵した場合、この押鍵位置を上下鍵域の2分割位置とした状態に変更される。
【0034】
一方、ステップS90にてYES、つまり2つの鍵が同時押鍵された場合は、この2つの押鍵位置を新たな押鍵位置とすべく、NOTE(1)にストアされている押鍵された鍵の鍵番号をSPLIT(1)にストアし(ステップS99)、さらにNOTE(2)にストアされている押鍵された鍵の鍵番号をSPLIT(2)にストアして(ステップS100)、この処理を終了する。
【0035】
このように、鍵域指定モードでかつ、鍵域が3分割されている状態において、いずれかひとつの鍵のみが押鍵された場合、しかもその押鍵位置が分割位置でない場合はその押鍵位置を唯一の分割位置とした鍵域2分割の状態に直ちに移行する。もし押鍵位置が分割位置であった場合はその分割位置は、もう一方の分割位置に近づくように変更する。つまり中鍵域が狭まる方向に変化する。そして、一方の分割位置にある鍵を押鍵する操作を続けていくと他方の分割位置と重なりあい、中鍵域が消滅して鍵域2分割の状態となる。また、2つの鍵を同時に押鍵した場合は、その2つの押鍵位置を夫々の新たな分割位置とした状態となる。
【符号の説明】
【0036】
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分割した状態から、3分割した状態に変更する場合や、逆に3分割した状態から2分割した状態に変更する場合などは、ユーザの目から見れば鍵盤上に分割位置が1個増えるか、あるいは減少するかの違いであるとしか受け取れない。しかしながら、従来この変更操作は、ロータリーエンコーダや表示部という、分割すべき鍵盤とは全く別のものを用いて行なわねばならず、ひとつひとつの操作自体が何のためのものか、ユーザには感覚的にわかりにくいことがある。
これが鍵域分割を設定する操作が煩雑に感じる原因のひとつである、と認められる。
【0005】
本発明は、上記従来の課題に鑑みなされたものであり、鍵域分割数、分割位置の変更を、より人間の感覚にあった操作で行えるようにすることを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明に係る電子楽器は、鍵盤と、この鍵盤上でいずれかの鍵が押鍵されたか否か判別する押鍵検出手段と、第1及び第2のいずれかを指定するモード指定スイッチと、このモード指定スイッチにより第1のモードが指定されている場合に、前記押鍵検出手段にて押鍵が検出された場合、当該押鍵が単一かあるいは複数同時かを判別する押鍵判別手段と、この押鍵判別手段により、単一の鍵の押鍵と判別された場合に、当該押鍵された鍵の位置に基づいて前記鍵盤を2つの鍵域に分割する第1の鍵域分割手段と、前記押鍵判別手段により、複数の鍵の同時押鍵と判別された場合に、当該同時押鍵された複数の鍵の位置に基づいて前記鍵盤を3つの鍵域に分割する第2の鍵域分割手段と、前記第2のモードが指定されている場合に、前記押鍵判別手段により判別された鍵が前記鍵盤のいずれかの鍵域に属するのかを判別する鍵域判別手段と、前記押鍵された鍵に対応する音高でかつ、この鍵域判別手段にて検出された鍵域に対応した形態で楽音の発音を指示する発音指示手段と、を有することを特徴とする。
ここにおいて、前記鍵盤の各鍵域に対応して音色が割り当てられ、前記発音指示手段は、前期鍵域分割手段にて検出された鍵域に割り当てられた音色で楽音の発音を指示する、ことが望ましい。
また、本発明に係るプログラムは、鍵盤と、第1及び第2のいずれかを指定するモード指定スイッチとを有する電子楽器に用いられるコンピュータに、前記鍵盤上でいずれかの鍵が押鍵されたか否か判別する押鍵検出ステップと、前記モード指定スイッチにより第1のモードが指定されている場合に、前記押鍵検出ステップにて押鍵が検出された場合、当該押鍵が単一かあるいは複数同時かを判別する押鍵判別ステップと、この押鍵判別ステップにより、単一の鍵の押鍵と判別された場合に、当該押鍵された鍵の位置に基づいて前記鍵盤を2つの鍵域に分割する第1の鍵域分割ステップと、前記押鍵判別ステップにより、複数の鍵の同時押鍵と判別された場合に、当該同時押鍵された複数の鍵の位置に基づいて前記鍵盤を3つの鍵域に分割する第2の鍵域分割ステップと、前記第2のモードが指定されている場合に、前記押鍵検出ステップにより検出された鍵が前記鍵盤のいずれかの鍵域に属するのかを判別する鍵域判別ステップと、前記押鍵された鍵に対応する音高でかつ、この鍵域判別ステップにて検出された鍵域に対応した形態で楽音の発音を指示する発音指示ステップと、を実行させることを特徴とする。
【発明の効果】
【0007】
本発明は、鍵盤を2分割しようとすればそのひとつの分割位置に対応する位置にある鍵を押鍵し、3分割しようとすればその2つの分割位置に対応する位置にある鍵を押鍵するだけで行なえる。このような操作は感覚的に非常にわかり易い操作であり、誰もが煩雑さを感じることなく操作を行なうことが可能になる。
【図面の簡単な説明】
【0008】
【図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)。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について、図面を用いて説明する。図1は、本実施形態を適用した電子楽器の全体ブロック図である。CPU1は、プログラムROM2に記憶されたプログラムの処理手順に従って、この電子楽器全体の動作を制御するものである。また、このプログラムROM2には、本実施形態においては、複数種の音色データも記憶されている。ワークRAM3は、このCPU1で処理を行なう際に生成されるデータを一時的に記憶するエリアを有する。そして表示部4は、この電子楽器の操作に必要なデータを表示するものである。鍵盤5は、演奏操作に用いるものであり、本実施形態においては、この鍵盤5上を2又は3個の鍵域に分割し、この分割された各鍵域に夫々異なる音色が割当て可能な構成になっている。SW部6は、本実施形態においては、モードスイッチ、音色スイッチ及び鍵域指定スイッチからなる。このうち、モードスイッチは、通常演奏を行うモードと鍵域を設定するモードのいずれかのモードを指定するスイッチである。音色スイッチは鍵盤5上の各鍵域に割当てられるべき音色を指定するスイッチである。そして鍵域指定スイッチは、音色スイッチで指定された音色を割当てるべき鍵域を指定するスイッチである。また、これ以外に、鍵盤5を鍵域分割なしの状態に戻すクリアスイッチ等を設けてもよい。
音源7は、鍵盤5の健の押鍵により指定された音高と、押鍵された健が含まれる鍵域に割当てられた音色とに基づいた楽音信号を生成するものであり、発音部8は、アンプ、スピーカ等からなり、この生成された楽音信号を発音するものである。
【0010】
図2は、図1のワークRAM3の記憶形態を示す図である。図に示すように、各エリアにはCPU1の処理動作に必要なデータが記憶される。MODEFは、通常演奏モードのときは「0」、鍵域指定モードのときは「1」となるフラグをストアするエリアである。TONEF1、TONEF2及びTONEF3は夫々、鍵盤5の下鍵域、中鍵域及び上鍵域のいずれに指定された音色を割当てるべきかを示すフラグをストアするエリアである。SPLITFは、鍵盤5の分割形態を示すデータをストアするエリアであり、「0」の場合は分割なし、「1」の場合は上下鍵域の2分割、「2」の場合は上中下鍵域の3分割となることを示す。TONEは、音色スイッチにて指定された音色番号をストアするエリアである。
TONE(1)は、鍵域が分割されていない場合の音色番号、鍵域が分割されている場合は下鍵域に割当てられる音色の音色番号をストアするエリアである。TONE(2)は、鍵盤5が2分割されている場合は上鍵域、3分割されている場合は中鍵域に割当てられる音色の音色番号をストアするエリアである。TONE(3)は鍵盤5が3分割されている場合に、上鍵域に音色を割当てられた音色を示す音色番号をストアするエリアである。NOTEは、通常演奏モードのときに鍵盤5上の健の押鍵により指定される音高(鍵盤号)をストアするエリアである。SPLIT(1)及びSPLIT(2)は、鍵盤5上の分割位置を示す鍵盤号をストアするエリアである。NOTE(1)及びNOTE(2)は、鍵域指定モードのときに鍵盤5上の健の押鍵により指定される音高(鍵盤号)をストアするエリアである。N及びnは、インデックスをストアするエリアである。
【0011】
図3〜図13は、CPU1の処理動作を示すフローチャートである。
図3は、メインフローである。まず、電源がオンされると、CPU1の内部レジスタ及びワークRAM3の記憶内容をクリアするイニシャライズ処理を行なう(ステップS1)。続いてスイッチ処理(ステップS2)、鍵盤処理(ステップS3)、その他の処理(ステップS4)の順番で処理を行なう。ステップS2〜S4の処理は、電源がオフされるまで繰り返し、行なわれる。
【0012】
図4は、図3のスイッチ処理(ステップS2)の詳細なフローチャートである。まず、モードスイッチ処理(ステップS5)を行い、続いて音色スイッチ処理(ステップS6)、鍵域指定スイッチ処理(ステップS7)の順で処理を行なう。
図5は、図4のモードスイッチ処理(ステップS5)の詳細なフローチャートである。
まず、モードスイッチがオン操作されたか否か判別し(ステップS8)、オン操作されたと判別されたなら、MODEFを反転させて(ステップS8)、この処理を終了させる。オン操作されていなければ、何もせずにこの処理を終了する。
このように、モードスイッチが操作される毎にMODEFは反転し、通常演奏モードと鍵域設定モードが交互に設定されることになる。
【0013】
図6は、図4の音色スイッチ処理(ステップS6)の詳細なフローチャートである。
まず、音色スイッチがオン操作されたか否か判別する(ステップS10)。ここでオン操作が判別されなければこの処理を終了する。
オン操作されているならば、この音色スイッチにて指定された音色番号をTONEにストアする(ステップS10)。続いて、TONEF1、TONEF2及びTONEF3にストアされているフラグのいずれかが「1」となっているか判別する(ステップS12〜S14)。ここでもしTONEF1にストアされたフラグが「1」であるなら、ステップS15に進み、TONEにストアされた音色番号をTONE(1)にストアし、TONEF1を「0」に戻して(ステップS16)、この処理を終了する。また、TONEF2にストアされたフラグが「1」であるなら、ステップS17に進み、TONEにストアされた音色番号をTONE(2)にストアし、TONEF2を「0」に戻して(ステップS18)、この処理を終了する。また、TONEF3にストアされたフラグが「1」であるなら、ステップS19に進み、TONEにストアされた音色番号をTONE(3)にストアし、TONEF3を「0」に戻して(ステップS20)、この処理を終了する。
このように、音色スイッチにより音色が指定されると、この指定された音色の音色番号が、TONEF1〜3にストアされたフラグの状態に応じて、TONE(1)〜(3)のいずれかにストアされる。
【0014】
図7は、図4の鍵域指定スイッチ処理(ステップS7)の詳細なフローチャートである。
まず、MODEFにストアされたフラグが「0」、つまり通常演奏モードであるか否か判別する(ステップS21)。ここで「0」でないと判別されたなら、この処理を終了する。「0」と判別されたなら、ステップS22に進み、鍵域指定スイッチがオン操作されたか否か判別する。もしオン操作されていないと判別された場合も、この処理を終了する。スイッチがオンされていると判別されたなら、続いてSPLITFに記憶されたデータの値が「0」、「1」及び「2」のいずれであるか判別する(ステップS23〜S25)。ここで、「0」と判別されたなら、つまり鍵盤5上を鍵域分割しないならば、TONEF1にストアされたフラグを「1」として(ステップS26)、この処理を終了する。
また、「1」と判別されたなら、つまり鍵盤5上を上鍵域と下鍵域の2分割にしている場合は、まずステップS27に進み、上下いずれの鍵域を鍵域指定スイッチにて指定したのかを判別する。ここで上鍵域が指定されていた場合はステップS28に進んでTONEF2にストアされたフラグを「1」とし、下鍵域が指定されていた場合はステップS26に進んでTONEF1にストアされたフラグを「1」とし、この処理を終了する。
【0015】
一方、「2」と判別されたなら、つまり鍵盤5上を上鍵域、中鍵域及び下鍵域の3分割にしている場合は、まずステップS29に進み、上中下いずれの鍵域を鍵域指定スイッチにて指定したのかを判別する。
そして上鍵域が指定されていた場合はステップS28に進んでTONEF2にストアされたフラグを「1」とし、下鍵域が指定されていた場合はステップS26に進んでTONEF1にストアされたフラグを「1」とし、中鍵域が指定されていた場合はステップS30に進んでTONEF3にストアされたフラグを「1」としこの処理を終了する。
このように、通常演奏モードにおいて、鍵域指定スイッチによりいずれかの鍵域が指定されると、それに対応してTONEF1〜TONEF3にストアされたフラグのいずれかが「1」となる。
【0016】
図8〜図13は、図3の鍵盤処理(ステップS3)の詳細なフローチャートである。
まず、図8において、MODEFにストアされたフラグが「0」、つまり通常演奏モードであるか否か判別する(ステップS31)。ここで「0」と判別されると、ステップS32に進み、鍵盤5上の鍵を所定方向から順に走査し、鍵毎に変化があったか否かを判別する(ステップS33)。もし、鍵の変化なしと判別されたなら、この処理を終了する。鍵がオフ操作、つまり離鍵されたと判別されたなら、離鍵された鍵の鍵番号をNOTEにストアし(ステップS34)、このNOTEにストアされた鍵番号に基づいてノートオフイベントを作成する(ステップS35)。そしてこの作成されたノートオフイベントを音源7に送付して(ステップS36)、この処理を終了する。
このように、いずれかの鍵が離鍵されると、この離鍵された鍵に対応するノートオフイベントが音源7に送付されて消音処理が行なわれる。
【0017】
一方、ステップS33にて押鍵されたと判別されると、ステップS37に進み、押鍵された鍵の鍵番号をNOTEにストアする。そしてこのNOTEにストアされた鍵番号に基づいてノートオンイベントを作成する(ステップS38)。この後、SPLITFにストアされたフラグが「0」、つまり鍵域分割がなされていない状態か否か判別する(ステップS39)。
ここで、「0」と判別されたなら、TONE(1)にストアされた音色番号に基づき、発音すべき楽音の音色を指定する音色イベントを作成する(ステップS40)。そしてこの音色イベントと先に作成したノートオンイベントの両方を音源7に送付して(ステップS41)この処理を終了する。
このように、いずれかの鍵が押鍵され、かつ鍵域分割の状態でない場合は、鍵盤5上のいずれの鍵を押鍵しても、TONE(1)にストアされた音色番号で指定される音色の楽音が発音される。
【0018】
一方、ステップS39において、SPLITFにストアされたフラグが「0」でないと判別された場合、図9のステップS42に進み、SPLITFにストアされたフラグが「1」、つまり鍵盤5が上下鍵域に分割された状態かを判別する。
ここで、「1」と判別されたなら、SPLIT(1)にストアされている分割位置を表わす鍵盤号が、NOTEにストアされている押鍵された鍵の鍵番号より大きいか否かを判別する(ステップS43)。もし、鍵分割位置を表わす鍵盤号の方が大きいと判別されたなら、これは押鍵が下鍵域でなされたことを意味するので、TONE(1)にストアされた音色番号に基づき、発音すべき楽音の音色を指定する音色イベントを作成する(ステップS44)。逆の場合であれば、これは押鍵が上鍵域でなされたことを意味するので、TONE(2)にストアされた音色番号に基づき、発音すべき楽音の音色を指定する音色イベントを作成する(ステップS45)。このステップS44あるいはS45の処理の後ステップS41に進む。
このように、いずれかの鍵が押鍵され、かつ鍵盤5が上下鍵域に分割されている状態では、上鍵域に含まれる鍵を押鍵した場合は、TONE(2)にストアされた音色番号で指定される音色の楽音が発音されるが、下鍵域に含まれる鍵を押鍵した場合は、TONE(1)にストアされた音色番号で指定される音色の楽音が発音される。
【0019】
さらに、ステップS42にて、SPLITFにストアされたフラグが「1」でないと判別された場合、ステップS46に進み、SPLITFにストアされたフラグが「2」、つまり鍵盤5が上、中及び下鍵域に分割された状態かを判別する。ここで「2」でないと判別されたなら、この処理を終了する。
もし「2」と判別されたなら、ステップS48に進む。これはSPLIT(2)にストアされた鍵盤号が上鍵域と中鍵域との分割位置を表わし、SPLIT(1)にストアされた鍵盤号が中鍵域と下鍵域との分割位置を表わすことを意味する。従って、ステップS48にて、SPLIT(2)とNOTEにストアされた鍵盤号との関係がSPLIT(2)≧NOTEであるか否か判別し、これがYESであれば、ステップS49に進んで、SPLIT(1)とNOTEの関係が、SPLIT(1)≧NOTEであるか否か判別する。
ここで、ステップS48においてNOと判別された場合は、上鍵域にて押鍵がなされたことを意味し、TONE(3)にストアされた音色番号に基づいて音色イベントを作成して(ステップS50)、ステップS41に進む。
【0020】
また、ステップS49にてNOと判別された場合は、中鍵域にて押鍵がなされたことを意味し、TONE(2)にストアされた音色番号に基づいて音色イベントを作成して(ステップS51)、ステップS41に進む。
さらに、ステップS49にてNOと判別された場合は、中鍵域にて押鍵がなされたことを意味し、TONE(2)にストアされた音色番号に基づいて音色イベントを作成して(ステップS52)、ステップS41に進む。
このように、鍵盤5が3分割されている場合は、押鍵された鍵が上鍵域に属するならTONE(3)にストアされた音色番号で示される音色の楽音が、中鍵域に属するならTONE(2)にストアされた音色番号で示される音色の楽音が、下鍵域に属するならTONE(1)にストアされた音色番号で示される音色の楽音が、発音されることになる。
【0021】
再び図8に戻り、ステップS31において、MODEFにストアされたフラグが「0」でなく「1」と判別された場合、つまり鍵域指定モードである場合は、図10のステップS55に進み、Nにストアされる鍵盤号を「0」、nにストアされた押鍵数を「0」に設定する。続いてNOTE(1)(2)に「−1」という鍵盤号としてはありえない数値をストアする(ステップS56)。
そして鍵盤号Nの鍵が押鍵されているか否かを判別する(ステップS57)。ここで押鍵されていると判別されると、nにストアされた押鍵数をインクリメントし(ステップS58)、このnにストアされた押鍵数が「3」であるか判別して(ステップS59)、「3」であるならnにストアされた押鍵数を「2」に戻すとともに、NOTE(2)にストアされた鍵盤号をNOTE(1)に移す(ステップS60)。
そして、このnを引数としたNOTE(n)に、Nの鍵盤号がストアされる(ステップS61)。この後、Nにストアされた値をインクリメントし(ステップS62)、このNの値が鍵盤5にある鍵数を越えたか否か判別する(ステップS63)。ここでこの鍵数を越えていないと判別されたなら、再びステップS57に戻る。
【0022】
このように図10においては、鍵域指定モードにおいて、鍵盤5上で押鍵された鍵の鍵番号を2個、NOTE(1)、NOTE(2)にストアする処理を行なっている。
一方、ステップS63においてNにストアされている数値が鍵盤5の鍵数を越えた場合、この図10の処理は鍵盤5の鍵全てにおいて処理をし終えたと判断され、図11のステップS64に進む。ここにおいて、SPLITFにストアされたフラグが「0」であるか、つまり鍵盤5で鍵域分割が行なわれていない状態であるかどうか判別する。
ここで「0」であると判別されると、続いてnにストアされた値、つまり鍵盤5での押鍵数が「1」であるか、または「2」であるかを判別する(ステップS65、S66)。ここで「1」と判別されると、NOTE(1)にストアされている押鍵された鍵の鍵番号を、SPLIT(1)に分割位置を示す鍵番号としてストアする(ステップS67)。
そしてSPLITFに、鍵盤5を上下鍵域に分割することを示す「1」の数値をストアするとともに(ステップS68)、TONEF2にストアされているフラグを「1」としてこの処理を終了する(ステップS69)。
このように、鍵域指定モードにおいて、鍵盤5が鍵域分割されていない状態でいずれかひとつの鍵が押鍵されると、その押鍵位置を分割位置とし、上鍵域に割当てられるべき音色が指定可能となる。
【0023】
またステップS66において、nにストアされた押鍵数が「2」と判別されると、NOTE(1)及びNOTE(2)に夫々ストアされている押鍵された鍵の鍵番号を、SPLIT(1)及びSPLIT(2)の夫々に分割位置を示す鍵番号としてストアする(ステップS70、S71)。そしてSPLITFに、鍵盤5を上、中及び下鍵域に分割することを示す「2」の数値をストアするとともに(ステップS72)、TONEF2及びTONEF3にストアされているフラグを「1」としてこの処理を終了する(ステップS73)。
このように、鍵域指定モードにおいて、鍵盤5が鍵域分割されていない状態でいずれかふたつの鍵が同時に押鍵されると、その押鍵位置を分割位置として鍵盤5は上鍵域、中鍵域及び下鍵域に分割され、中鍵域及び上鍵域に割当てられるべき音色が指定可能となる。
一方、ステップS64でSPLITFにストアされた値が「0」でないと判別されると、図12のステップS74に進み、今度は「1」であるか、つまり鍵盤5が上下鍵域に分割されている状態であるかを判別する。
【0024】
ここで「1」であると判別されると、続いてnにストアされた鍵盤5での押鍵数が「1」であるか、あるいは「2」であるかを判別する(ステップS75、S76)。そしてステップS75で押鍵数が「1」と判別されると、NOTE(1)にストアされている押鍵された鍵の鍵番号を、分割位置を示す鍵番号としてSPLIT(1)にストアし(ステップS77)、この処理を終了する。
このように、鍵盤5が上下鍵域に2分割されている状態で、いずれかひとつの鍵が押鍵されると、その押鍵位置に分割位置が変更する。
【0025】
一方、ステップS76にて、押鍵数が「2」と判別されると、まず、SPLIT(1)にストアされている、分割位置を示す鍵盤号が、NOTE(1)及びNOTE(2)にストアされている押鍵された鍵の鍵番号のいずれかと同一、もしくはこの押鍵された2つの鍵の間に存在する鍵の鍵番号であるか否かを判別する(ステップS78)。
ここで、YESと判別されると、NOTE(1)にストアされている押鍵された鍵の鍵番号を、下鍵域と中鍵域との分割位置を示す鍵盤号としてSPLIT(1)にストアするとともに(ステップS79)、NOTE(2)にストアされている押鍵された鍵の鍵番号を、中鍵域と上鍵域との分割位置を示す鍵盤号としてSPLIT(2)にストアする(ステップS80)。そして、3つの鍵域に分割されたことを示す「2」をSPLITFにストアする(ステップS81)。
【0026】
このあと、2分割の状態で上鍵域に割当てられていた音色を、3分割された場合の上鍵域の音色として割り当て、新たに発生した中鍵域に音色を割当て可能な状態にしなければならない。このため、まずTONE(2)にストアされたていた音色番号を、TONE(3)にストアし(ステップS82)、続いてTONEF2にストアされていたフラグを「1」として(ステップS83)、この処理を終了する。
このように、鍵域が2分割されている状態において、この分割位置となる鍵を囲むように2つの鍵を同時押鍵した場合、あるいは同時押鍵された鍵の一方が、この分割位置を表わす鍵であった場合は、新たに押鍵された2つの鍵が分割位置となる。
【0027】
もし、このような押鍵の形態でない場合、つまりステップS78においてNOと判別された場合は、ステップS84に進み、NOTE(2)にストアされた鍵番号がSPLIT(1)にストアされた分割位置を表わす鍵盤号より大きいかどうか、つまり、押鍵が上鍵域で行なわれたのかどうか判別する。ここでYESと判別されると、NOTE(1)及びNOTE(2)に夫々ストアされた鍵盤号に対応する2つの鍵の中間に位置する鍵の鍵番号をSPLIT(2)にストアして(ステップS85)ステップS81に進む。
これにより、今までの分割位置(SPLIT(1))は、下鍵域と中鍵域の分割位置となり、上鍵域で同時押鍵された2つの鍵の中間に位置する鍵盤号(SPLIT(2))は、中鍵域と上鍵域との分割位置となる。
【0028】
一方、ステップS84にてNOと判別された場合は、押鍵が下鍵域にて行なわれたことを意味する。このため、まずSPLIT(1)にストアされた分割位置を示す鍵盤号をSPLIT(2)にストアし(ステップS86)、SPLIT(1)には、NOTE(1)及びNOTE(2)に夫々ストアされた鍵盤号に対応する2つの鍵の中間に位置する鍵の鍵番号をストアして(ステップS87)ステップS81に進む。
これにより、今までの分割位置(SPLIT(2))は、上鍵域と中鍵域の分割位置となり、下鍵域で同時押鍵された2つの鍵の中間に位置する鍵盤号(SPLIT(1))は、中鍵域と下鍵域との分割位置となる。
【0029】
以上のように、鍵域指定モードにおいて、鍵盤5が2分割されている状態でいずれかひとつの鍵が押鍵された場合は、この押鍵位置に分割位置が変更され、2つの鍵が同時押鍵された場合は、鍵域が2分割から3分割に変更される。この場合に今までの分割位置を囲むような形で押鍵がなされた場合、あるいは一方の押鍵位置が今までの分割位置である場合、はこの2つの押鍵位置が新たな分割位置となる。
また、2つの押鍵両方が分割されたひとつの鍵域で行なわれた場合は、今までの分割位置のほかに、この2つの押鍵位置に基づいて定まる位置、例えば2つの押鍵位置の中間位置を新たな分割位置として指定する。
【0030】
さらに、ステップS74でSPLITFにストアされた値が「1」でない、と判別された場合は、図13のステップS88に進み、SPLITFが「2」であるか、つまり鍵盤5を3つの鍵域に分割している状態であるか否か判別する。ここでNOである場合はこの処理を終了する。YESであれば、nにストアされた押鍵数が「1」であるか、あるいは「2」であるかを判別する(ステップS89、S90)。ここでnが「1」と判別された場合は、NOTE(1)にストアされた押鍵された鍵の鍵番号と、SPLIT(1)あるいはSPLIT(2)にストアされている鍵域の分割位置を示す鍵盤号とが一致しているか否か、つまり2つある分割位置にある鍵のいずれか押鍵したのかを判別する(ステップS91、S92)。
【0031】
下鍵域と中鍵域との分割位置を示す鍵を押鍵した場合は、ステップS91においてYESと判断され、SPLIT(1)にストアされた値をインクリメントする(ステップS93)。つまり下鍵域と中鍵域との分割位置を高音域に1鍵分ずらす。
また、中鍵域と上鍵域との分割位置を示す鍵を押鍵した場合は、ステップS92においてYESと判断され、SPLIT(2)にストアされた値をインクリメントする(ステップS94)。つまり中鍵域と上鍵域との分割位置を低音域に1鍵分ずらす。この後、分割位置にある鍵を押鍵する操作を続けると、2つの分割位置は次第に近づいてくることになる。そしてこの2つの分割位置が重なると、SPLIT(1)及びSPLIT(2)にストアされた値が一致するので、ステップS95においてYESと判断される。ここでYESと判断されるとSPLITFにストアされた値を、2つの鍵域に分割された状態を示す「1」とする(ステップS96)。
【0032】
また、今まで上鍵域に割当てられていた音色を示す音色番号がストアされていたTONE(3)の内容をTONE(2)にストアして(ステップS97)してこの処理を終了する。このように、分割位置にある鍵を押鍵する、そうすると分割位置が他の分割位置に近づいてくる、その分割位置にある鍵をさらに押鍵する、という操作を続けていくと2つある押鍵位置は重なり、中鍵域は消滅して上下鍵域の2分割状態に変化する。
【0033】
一方、ステップS91あるいはS92において、いずれもNOと判断された場合、つまり2つの分割位置を示す鍵以外の鍵が押鍵された場合は、ステップS98に進み、NOTE(1)にストアされた押鍵された鍵盤号を新たな分割位置を示す鍵盤号としてSPLIT(1)にストアして、ステップS96の処理に進む。
この結果、鍵域が3分割されている状態で、分割位置を示す鍵以外のいずれかひとつを押鍵した場合、この押鍵位置を上下鍵域の2分割位置とした状態に変更される。
【0034】
一方、ステップS90にてYES、つまり2つの鍵が同時押鍵された場合は、この2つの押鍵位置を新たな押鍵位置とすべく、NOTE(1)にストアされている押鍵された鍵の鍵番号をSPLIT(1)にストアし(ステップS99)、さらにNOTE(2)にストアされている押鍵された鍵の鍵番号をSPLIT(2)にストアして(ステップS100)、この処理を終了する。
【0035】
このように、鍵域指定モードでかつ、鍵域が3分割されている状態において、いずれかひとつの鍵のみが押鍵された場合、しかもその押鍵位置が分割位置でない場合はその押鍵位置を唯一の分割位置とした鍵域2分割の状態に直ちに移行する。もし押鍵位置が分割位置であった場合はその分割位置は、もう一方の分割位置に近づくように変更する。つまり中鍵域が狭まる方向に変化する。そして、一方の分割位置にある鍵を押鍵する操作を続けていくと他方の分割位置と重なりあい、中鍵域が消滅して鍵域2分割の状態となる。また、2つの鍵を同時に押鍵した場合は、その2つの押鍵位置を夫々の新たな分割位置とした状態となる。
【符号の説明】
【0036】
1 CPU
2 プログラムROM
3 ワークRAM
4 表示部
5 鍵盤
6 スイッチ部
7 音源
8 発音部
【特許請求の範囲】
【請求項1】
鍵盤と、
この鍵盤上でいずれかの鍵が押鍵されたか否か判別する押鍵検出手段と、
第1及び第2のいずれかを指定するモード指定スイッチと、
このモード指定スイッチにより第1のモードが指定されている場合に、前記押鍵検出手段にて押鍵が検出された場合、当該押鍵が単一かあるいは複数同時かを判別する押鍵判別手段と、
この押鍵判別手段により、単一の鍵の押鍵と判別された場合に、当該押鍵された鍵の位置に基づいて前記鍵盤を2つの鍵域に分割する第1の鍵域分割手段と、
前記押鍵判別手段により、複数の鍵の同時押鍵と判別された場合に、当該同時押鍵された複数の鍵の位置に基づいて前記鍵盤を3つの鍵域に分割する第2の鍵域分割手段と、
前記第2のモードが指定されている場合に、前記押鍵判別手段により判別された鍵が前記鍵盤のいずれかの鍵域に属するのかを判別する鍵域判別手段と、
前記押鍵された鍵に対応する音高でかつ、この鍵域判別手段にて検出された鍵域に対応した形態で楽音の発音を指示する発音指示手段と、
を有する電子楽器。
【請求項2】
前記鍵盤の各鍵域に対応して音色が割り当てられ、前記発音指示手段は、前期鍵域分割手段にて検出された鍵域に割り当てられた音色で楽音の発音を指示する請求項1記載の電子楽器。
【請求項3】
鍵盤と、第1及び第2のいずれかを指定するモード指定スイッチとを有する電子楽器に用いられるコンピュータに、
前記鍵盤上でいずれかの鍵が押鍵されたか否か判別する押鍵検出ステップと、
前記モード指定スイッチにより第1のモードが指定されている場合に、前記押鍵検出ステップにて押鍵が検出された場合、当該押鍵が単一かあるいは複数同時かを判別する押鍵判別ステップと、
この押鍵判別ステップにより、単一の鍵の押鍵と判別された場合に、当該押鍵された鍵の位置に基づいて前記鍵盤を2つの鍵域に分割する第1の鍵域分割ステップと、
前記押鍵判別ステップにより、複数の鍵の同時押鍵と判別された場合に、当該同時押鍵された複数の鍵の位置に基づいて前記鍵盤を3つの鍵域に分割する第2の鍵域分割ステップと、
前記第2のモードが指定されている場合に、前記押鍵検出ステップにより検出された鍵が前記鍵盤のいずれかの鍵域に属するのかを判別する鍵域判別ステップと、
前記押鍵された鍵に対応する音高でかつ、この鍵域判別ステップにて検出された鍵域に対応した形態で楽音の発音を指示する発音指示ステップと、
を実行させるプログラム。
【請求項1】
鍵盤と、
この鍵盤上でいずれかの鍵が押鍵されたか否か判別する押鍵検出手段と、
第1及び第2のいずれかを指定するモード指定スイッチと、
このモード指定スイッチにより第1のモードが指定されている場合に、前記押鍵検出手段にて押鍵が検出された場合、当該押鍵が単一かあるいは複数同時かを判別する押鍵判別手段と、
この押鍵判別手段により、単一の鍵の押鍵と判別された場合に、当該押鍵された鍵の位置に基づいて前記鍵盤を2つの鍵域に分割する第1の鍵域分割手段と、
前記押鍵判別手段により、複数の鍵の同時押鍵と判別された場合に、当該同時押鍵された複数の鍵の位置に基づいて前記鍵盤を3つの鍵域に分割する第2の鍵域分割手段と、
前記第2のモードが指定されている場合に、前記押鍵判別手段により判別された鍵が前記鍵盤のいずれかの鍵域に属するのかを判別する鍵域判別手段と、
前記押鍵された鍵に対応する音高でかつ、この鍵域判別手段にて検出された鍵域に対応した形態で楽音の発音を指示する発音指示手段と、
を有する電子楽器。
【請求項2】
前記鍵盤の各鍵域に対応して音色が割り当てられ、前記発音指示手段は、前期鍵域分割手段にて検出された鍵域に割り当てられた音色で楽音の発音を指示する請求項1記載の電子楽器。
【請求項3】
鍵盤と、第1及び第2のいずれかを指定するモード指定スイッチとを有する電子楽器に用いられるコンピュータに、
前記鍵盤上でいずれかの鍵が押鍵されたか否か判別する押鍵検出ステップと、
前記モード指定スイッチにより第1のモードが指定されている場合に、前記押鍵検出ステップにて押鍵が検出された場合、当該押鍵が単一かあるいは複数同時かを判別する押鍵判別ステップと、
この押鍵判別ステップにより、単一の鍵の押鍵と判別された場合に、当該押鍵された鍵の位置に基づいて前記鍵盤を2つの鍵域に分割する第1の鍵域分割ステップと、
前記押鍵判別ステップにより、複数の鍵の同時押鍵と判別された場合に、当該同時押鍵された複数の鍵の位置に基づいて前記鍵盤を3つの鍵域に分割する第2の鍵域分割ステップと、
前記第2のモードが指定されている場合に、前記押鍵検出ステップにより検出された鍵が前記鍵盤のいずれかの鍵域に属するのかを判別する鍵域判別ステップと、
前記押鍵された鍵に対応する音高でかつ、この鍵域判別ステップにて検出された鍵域に対応した形態で楽音の発音を指示する発音指示ステップと、
を実行させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2010−197888(P2010−197888A)
【公開日】平成22年9月9日(2010.9.9)
【国際特許分類】
【出願番号】特願2009−45001(P2009−45001)
【出願日】平成21年2月27日(2009.2.27)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
【公開日】平成22年9月9日(2010.9.9)
【国際特許分類】
【出願日】平成21年2月27日(2009.2.27)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
[ Back to top ]