(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-14
(45)【発行日】2022-11-22
(54)【発明の名称】電子楽器、電子楽器の発音方法、及びプログラム
(51)【国際特許分類】
G10H 1/28 20060101AFI20221115BHJP
G10H 1/38 20060101ALI20221115BHJP
【FI】
G10H1/28
G10H1/38 Z
(21)【出願番号】P 2020109144
(22)【出願日】2020-06-24
【審査請求日】2021-04-07
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100121083
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【氏名又は名称】大菅 義之
(74)【代理人】
【識別番号】100182936
【氏名又は名称】矢野 直樹
(72)【発明者】
【氏名】佐藤 博毅
(72)【発明者】
【氏名】川島 肇
【審査官】中村 天真
(56)【参考文献】
【文献】特開平03-172896(JP,A)
【文献】特開2001-022356(JP,A)
【文献】特開平09-244660(JP,A)
【文献】特開平06-274170(JP,A)
【文献】特開平03-089398(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10H 1/00-7/12
(57)【特許請求の範囲】
【請求項1】
音高データを指定するための複数の演奏操作子と、
楽音を発生する音源と、
プロセッサと、を備え、前記プロセッサは、
設定された時間内に和音の演奏操作を検出した際にアルペジオ演奏音の発音中でない場合に、前記演奏操作に応じて指定された各音高データに対応するアルペジオ演奏音の発音を前記音源に指示し、
設定された時間内に和音の演奏操作を検出しない場合、又は、前記アルペジオ演奏音の発音中に演奏操作を検出した場合に、前記演奏操作に応じて指定された音高データに対応する演奏音の発音を前記音源に指示し、前記アルペジオ演奏音の発音は前記音源に指示しない、
電子楽器。
【請求項2】
前記プロセッサは、
前記アルペジオ演奏音が発音中であるか否かについて、アルペジオ有効状態が設定されているか、或いは解除されているかに基づいて判断する、
請求項1に記載の電子楽器。
【請求項3】
前記プロセッサは、
前記和音の演奏操作の判定として、前記アルペジオ演奏音の発音中でない場合に検出される初めての前記演奏操作子に対する第1押鍵操作に応じた押鍵検出タイミングから設定された時間内に、設定された数以上の前記演奏操作子に対する新たな第2押鍵操作を検出したか否かを判定し、
前記判定の結果が肯定的であった場合に、指定された各音高データに対応する前記アルペジオ演奏音の発音を前記音源に指示し、
前記判定の結果が否定的であった場合に、前記アルペジオ演奏音の発音は前記音源には指示せずに、前記演奏操作に応じて指定された音高データに対応する前記演奏音の発音を前記音源に指示する、
請求項
1又は2に記載の電子楽器。
【請求項4】
前記プロセッサは、
前記判定の結果が肯定的であった場合に、アルペジオ有効状態を設定し、
前記アルペジオ有効状態が設定されている場合において前記演奏操作子への新たな押鍵操作が検出された場合に、前記新たな押鍵操作に応じたアルペジオ演奏音の発音は前記音源には指示せずに、前記新たな押鍵操作に応じて指定された音高データに対応する前記演奏音の発音を前記音源に指示する、
請求項3に記載の電子楽器。
【請求項5】
前記プロセッサは、
前記アルペジオ有効状態が設定されている場合において発音されている前記アルペジオ演奏音を構成する全ての音高データに対応する全ての前記演奏操作子の離鍵が検出されるまで、前記アルペジオ演奏音の発音中止を前記音源に指示せず、前記アルペジオ演奏音を構成する全ての音高データに対応する全ての前記演奏操作子の離鍵の検出に応じて、前記アルペジオ演奏音の発音中止を前記音源に指示し、
前記アルペジオ有効状態を解除する、
請求項4に記載の電子楽器。
【請求項6】
前記設定された時間及び、前記設定された数は、それぞれ使用シーンに応じて異なるように設定されている、
請求項3乃至5のいずれかに記載の電子楽器。
【請求項7】
電子楽器に、
設定された時間内に和音の演奏操作を検出した際にアルペジオ演奏音の発音中でない場合に、前記演奏操作に応じて指定された各音高データに対応するアルペジオ演奏音を発音させ、
設定された時間内に和音の演奏操作を検出しない場合、又は、前記アルペジオ演奏音の発音中に演奏操作を検出した場合に、前記演奏操作に応じて指定された音高データに対応する演奏音を発音させ、前記アルペジオ演奏音の発音はさせない、
電子楽器の発音方法。
【請求項8】
電子楽器に、
設定された時間内に和音の演奏操作を検出した際にアルペジオ演奏音の発音中でない場合に、前記演奏操作に応じて指定された各音高データに対応するアルペジオ演奏音を発音させ、
設定された時間内に和音の演奏操作を検出しない場合、又は、前記アルペジオ演奏音の発音中に演奏操作を検出した場合に、前記演奏操作に応じて指定された音高データに対応する演奏音を発音させ、前記アルペジオ演奏音の発音はさせない、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子楽器、電子楽器の発音方法、及びプログラムに関する。
【背景技術】
【0002】
電子楽器には、演奏者が押鍵した全楽音を同時に発音させるのではなく、所定のテンポとパターンに応じて、分散した和音としてアルペジオ演奏音を発生するオートアルペジオ機能が搭載されているものがある(例えば特許文献1に記載のもの)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで一般に、鍵盤楽器では、左手で分散和音を演奏しながら右手で旋律を演奏するというケースは珍しくない。しかしながら、従来の電子楽器でオートアルペジオ機能を使用する際、鍵盤全域に渡って押鍵を検出し、全ての押鍵に対してアルペジオ演奏音が発音されることになってしまうため、旋律が演奏できなくなってしまう。この問題を解決するために、鍵盤をスプリットして、一方の鍵域のみでオートアルペジオを使用可能な楽器も存在するが、これではアルペジオの鍵域と、旋律の鍵域が狭くなってしまうという問題が発生する。
【0005】
そこで、本発明は、良好なアルペジオ演奏が可能な電子楽器を提供することを目的とする。
【課題を解決するための手段】
【0006】
態様の一例の電子楽器は、音高データを指定するための複数の演奏操作子と、楽音を発生する音源と、プロセッサと、を備え、プロセッサは、設定された時間内に和音の演奏操作を検出した際にアルペジオ演奏音の発音中でない場合に、演奏操作に応じて指定された各音高データに対応するアルペジオ演奏音の発音を音源に指示し、設定された時間内に和音の演奏操作を検出しない場合、又は、アルペジオ演奏音の発音中に演奏操作を検出した場合に、演奏操作に応じて指定された音高データに対応する演奏音の発音を音源に指示し、アルペジオ演奏音の発音は音源に指示しない。
【発明の効果】
【0007】
本発明によれば、良好なアルペジオ演奏が可能な電子楽器を提供することが可能となる。
【図面の簡単な説明】
【0008】
【
図1】電子鍵盤楽器の一実施形態の外観例を示す図である。
【
図2】電子鍵盤楽器の本体内の制御システムの一実施形態のハードウェア構成例を示すブロック図である。
【
図4】鍵盤イベント処理の例を示すフローチャートである。
【
図5】経過時間監視処理の例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
図1は、電子鍵盤楽器の一実施形態100の外観例を示す図である。電子鍵盤楽器100は、複数(例えば61)の演奏操作子である鍵からなる鍵盤101と、アルペジオON/OFFボタン102と、TEMPOつまみ103と、TYPEボタン群104と、各種設定情報を表示するLCD(Liquid Crystal Display:液晶ディスプレイ)105を備える。その他、特には図示しないが、電子鍵盤楽器100は、ボリュームつまみや、ピッチベンドや各種変調を行うためのベンダー/モジュレーション・ホイールなどを備える。また、特には図示しないが、電子鍵盤楽器100は、演奏により生成された楽音を放音するスピーカを裏面部、側面部、又は背面部等に備える。
【0010】
演奏者は、電子鍵盤楽器100の例えば右上パネル上のArpeggioセクションに配置されたアルペジオON/OFFボタン102によってアルペジオの有効又は無効を選択することができる。
【0011】
また演奏者は、同じくArpeggioセクションに配置された下記のTYPEボタン群104によってアルペジオの以下の3タイプのうち1つを選択できる。
1.Upボタン:押鍵されたノートを上昇させるためのボタン。例えば、同じオクターブ内のノートC、E、Gがアルペジオの対象となったら、C、E、G、C、E、G、・・・というように、アルペジオ演奏が繰り返される。
2.Downボタン:押鍵されたノートを下降させるためのボタン。例えば、同じオクターブ内のC、E、Gがアルペジオの対象となったら、G、E、C、G、E、C・・・というように、アルペジオ演奏が繰り返される。
3.Up/Downボタン:押鍵されたノートの上昇と下降を繰り返すためのボタン。例えば、同じオクターブ内のC、E、Gがアルペジオの対象となったら、C、E、G、E、C、E、G、E、C・・・というように、アルペジオ演奏が繰り返される。
【0012】
更に演奏者は、同じくArpeggioセクションに配置されたTEMPOつまみ103の位置によって、アルペジオ演奏の速度を調整できる。TEMPOつまみ103は、それを右に回すほど1音ごとの間隔が短くなり、左に回すほど長くなる。
【0013】
演奏者がアルペジオON/OFFボタン102を押下すると、アルペジオモードが設定され、アルペジオON/OFFボタン102のLED(Light Emitting Diode:発光ダイオード)が点灯する。この状態で、演奏者がもう一度アルペジオON/OFFボタン102を押下すると、アルペジオモードが解除され、アルペジオON/OFFボタン102のLEDが消灯する。
【0014】
図2は、
図1の電子鍵盤楽器100の本体内の制御システム200の一実施形態のハードウェア構成例を示す図である。
図2において、制御システム200は、プロセッサであるCPU(中央演算処理装置)201、ROM(リードオンリーメモリ)202、及びRAM(ランダムアクセスメモリ)203と、音源である音源LSI(大規模集積回路)204と、ネットワークインタフェース205と、
図1の鍵盤101が接続されるキースキャナ206と、
図1のアルペジオON/OFFボタン102及びTYPEボタン群104が接続されるI/Oインターフェース207と、
図1のTEMPOつまみ103が接続されるA/D(アナログ/デジタル)コンバータ215と、
図1のLCD104が接続されるLCDコントローラ208が、それぞれシステムバス209に接続されている。音源LSI204から出力される楽音出力データ214は、D/Aコンバータ212によりアナログ楽音出力信号に変換される。アナログ楽音出力信号は、アンプ213で増幅された後に、特には図示しないスピーカ又は出力端子から出力される。
【0015】
CPU201は、RAM203をワークメモリとして使用しながらROM202に記憶された制御プログラムを実行することにより、
図1の電子鍵盤楽器100の制御動作を実行する。
【0016】
キースキャナ206は、
図1の鍵盤101の押鍵/離鍵状態を定常的に走査し、
図4の鍵盤イベントの割込みを発生させて、鍵盤101上の鍵の押鍵状態の変化をCPU201に伝える。この割込みが発生すると、CPU201は、
図4のフローチャートを用いて後述する鍵盤イベント処理を実行する。この鍵盤イベント処理においてCPU201は、押鍵の鍵盤イベントが発生した場合に、アルペジオ演奏に移行するための制御処理を実行する。
【0017】
I/Oインターフェース207は、
図1のアルペジオON/OFFボタン102及びTYPEボタン群104の操作状態を検出し、CPU201に伝える。
【0018】
A/Dコンバータ215は、
図1のボリュームであるTEMPOつまみ103の操作位置を示すアナログデータをデジタルデータに変換し、CPU201に伝える。
【0019】
CPU201には、タイマ210が接続される。タイマ210は、一定時間(例えば1ミリ秒)毎に割込みを発生させる。この割込みが発生すると、CPU201は、
図5のフローチャートを用いて後述する経過時間監視処理を実行する。この経過時間監視処理においてCPU201は、
図1の鍵盤101上で演奏者により所定の演奏操作が実行されたか否かを判定する。例えば、経過時間監視処理においてCPU201は、演奏者による鍵盤101上の複数の鍵を用いた和音の演奏操作を判定する、より具体的には、経過時間監視処理においてCPU201は、アルペジオ演奏音の発音中でない場合にキースキャナ206で検出される
図1の鍵盤101上のいずれかの鍵に対する初めての第1押鍵操作の押鍵検出タイミングからの経過時間を計測し、予め設定された同時に押鍵されたとみなされる経過時間内において、キースキャナ206で
図1の鍵盤101上の他の鍵に対する予め設定された数以上の新たな第2押鍵操作が検出されたか否かを判定する。そして、CPU201は、その判定の結果が肯定的である場合に、上記経過時間内に押鍵された鍵の音高データ群に対応する、第1押鍵操作及び第2押鍵操作に応じて指定された各音高データに対応するアルペジオ演奏音の発音を音源LSI204に指示する。この動作と共に、CPU201は、アルペジオ有効状態を設定する。CPU201は、上記判定の結果が否定的である場合に、アルペジオ演奏音の発音は音源LSI204には指示せずに、第1押鍵操作又は第2押鍵操作に応じて指定された音高データに対応する通常演奏音の発音を音源LSI204に指示する。
【0020】
前述した鍵盤イベント処理においてCPU201は、離鍵の鍵盤イベントが発生した場合に、前述したアルペジオ有効状態アルペジオ有効状態・オンが設定されている場合において、アルペジオ演奏音を構成する全ての音高データに対応する全ての離鍵が検出されるまで、アルペジオ演奏音の発音中止を音源LSI204に指示せず、アルペジオ演奏音を構成する全ての音高データに対応する全ての離鍵の検出に応じて、アルペジオ演奏音の発音中止を音源LSI204に指示する。これと共に、CPU201は、アルペジオ有効状態を解除する。CPU201は、前述した経過時間監視処理における、同時に押鍵されたとみなされる経過時間内において押鍵数が和音演奏の成立音数に達したか否かを判定する処理を、アルペジオ有効状態が解除されている場合に実行する。CPU201は、アルペジオ演奏の発音対象でない鍵の離鍵の鍵盤イベントが発生した場合には、その鍵に対応する通常演奏音の発音中止を音源LSI204に指示する。
【0021】
音源LSI204には、波形ROM211が接続されている。音源LSI204は、CPU201からの発音指示に従って、波形ROM211から楽音波形データ214の読出しを発音指示に含まれる音高データに対応する速度で開始し、D/Aコンバータ212に出力する。音源LSI204は、例えば、時分割処理によって同時に最大256ボイスを発音させる能力を有してよい。音源LSI204は、CPU201からの消音指示に従って、波形ROM211からの消音指示に対応する楽音波形データ214の読出しを中止し、消音指示に対応する楽音の発音を終了する。
【0022】
LCDコントローラ208は、
図1のLCD105の表示状態を制御する集積回路である。
【0023】
ネットワークインタフェース205は、例えばLocal Area Network(LAN)等の通信ネットワークに接続され、CPU201が使用する制御プログラム(後述する鍵盤イベント処理及び経過時間監視処理のフローチャートを参照)又はデータを外部の装置から受信し、それらをRAM203等にロードして使用することができる。
【0024】
図1及び
図2に示される実施形態の動作例について説明する。アルペジオ演奏の発音を開始させるための和音演奏の判定条件は、ほぼ同時(T秒以内)にN音以上の押鍵によるコード演奏が発生することである。その条件の成立が判定されると、その判定がなされた押鍵に対応する鍵が全て離鍵されるまでアルペジオ有効状態となり、その判定がなされた時点の和音を成立させた鍵に対してのみ、アルペジオ演奏音の発音指示が音源LSI204に対して発行され、アルペジオ演奏による楽音波形データ214が音源LSI204から出力される。
【0025】
上記アルペジオ有効状態において、自然なアルペジオ演奏の状態を維持するために、上記判定がなされた鍵のうちのいくつかが離鍵されてN音未満になっても、アルペジオ有効状態は維持される。上記判定がなされた鍵の全てが離鍵されると、アルペジオ有効状態は解除される。
【0026】
また、一旦アルペジオ有効状態・オン状態になると、その状態が維持されている間は、演奏者がどのような演奏を行っても、新規の押鍵に対応する音高の楽音は通常演奏音で発音され、アルペジオ演奏による発音は行われない。例えば、左手で3音押さえてアルペジオ演奏を発生させている状態で、右手で3音同時に押さえて更に6音のアルペジオ演奏に移行することは、アルペジオ演奏が不自然になってしまうためである。
【0027】
和音演奏の成立音数Nや、同時に押鍵されたとみなされる経過時間Tは、例えば演奏シーンごとに、例えば特には図示しないレジストレーションメモリなどに記憶するなどして設定されてよい。
【0028】
例えば、同時に押鍵されたとみなされる経過時間Tについては、アルペジオ演奏音に弱打を使用しない使用シーンの場合には、T=10ミリ秒程度とすることができる。これは例えば、アルペジオに含めたいノート(アルペジオ演奏音)と含めたくないノート(通常演奏音)を短時間間隔で演奏する場合である。より具体的には、左手でアルペジオの和音を演奏し、右手では僅かにタイミングをずらすことでソロ音(アルペジオに含めないノート)として認識させたいというケースに対応することができる。或いは、アルペジオ演奏音に弱打を使用する使用シーンの場合には、T=50ミリ秒程度とすることができる。これは例えば、ソロ演奏音(通常演奏音)とアルペジオ演奏音の分離にはある程度時間を要するものの、弱音演奏時は鍵盤の速度が遅いため、アルペジオ有効状態の検出のタイミングのばらつきが大きくなり、これを吸収するために長めの時間間隔を設定するような場合である。
【0029】
また例えば、和音演奏の成立音数Nについては、アルペジオを片手で演奏し、他方の手でソロ演奏を行う場合であって、例えば左手でアルペジオ、右手でメロディーライン、あるいは右手でアルペジオ、左手でベースラインなどを演奏する使用シーンの場合には、N=3としてもよい。これは例えば、3音でアルペジオがスタートできるのでアルペジオ無しの和音は2音までしか演奏できないが、片手だけでアルペジオをコントロールし、他方の手でソロ演奏やベース演奏を行うという使用シーンに適している。或いは、アルペジオを適用しない和音演奏と、アルペジオを適用する和音演奏を織り交ぜて演奏したいような使用シーンの場合には、N=5としてもよい。これは例えば、アルペジオ無しの4音以下のコード演奏をアルペジオ演奏に織り交ぜることが可能とするために、4音演奏時はアルペジオをスタートさせず、5音以上(基本両手)の和音演奏を行ったときにアルペジオを開始させたいような場合であり、そのため、アルペジオは5音以上の構成音となるが、基本はアルペジオを使用しない和音を多く演奏するシーンに適している。
【0030】
このようにNの値は任意に設定できる。
【0031】
図3は、本実施形態の動作例を示す説明図である。縦軸は演奏された音高(ノートナンバ)を鍵盤101で表し、横軸は時間経過(単位はミリ秒)を表す。黒丸の位置は押鍵が発生した鍵のノートナンバと時刻を表し、白丸の位置は離鍵が発生した鍵のノートナンバと時刻を表す。
図3中、押鍵イベントの順番に番号t1~t14が付与されている。黒丸に続く濃いグレー帯線は押鍵中であることを示している。
図3の例では、同時に押鍵が行われたとみなす経過時間Tは例えば10msec(ミリ秒)、和音演奏の成立音数Nは例えば3音以上と設定されている。
【0032】
まず、アルペジオ有効状態が解除されている状態で押鍵イベントt1が発生すると、その押鍵イベントt1の音高C2の楽音の発音が開始されると共に(t1のグレー帯線期間)、経過時間の計測が開始される。続いて、押鍵イベントt1の発生から同時に押鍵したとみなされる経過時間T=10ミリ秒以内に押鍵イベントt2が発生するが、和音演奏の成立が判定するまでの間は、その判定期間中の押鍵イベントに対応する楽音の発音の開始は保留され、従って押鍵イベントt2の音高E2に対応する発音の開始は保留される(t2の黒丸からグレー帯線の開始までの隙間期間)。その後、押鍵イベントt1から同時に押鍵したとみなされる経過時間T=10ミリ秒(和音演奏の判定期間)が経過した時点における押鍵数は、2であり和音演奏の成立音数N=3未満である(=指定条件を満たさない)。この場合には、和音演奏はされなかったと判定されて、保留されていた押鍵イベントt2に対応する通常演奏音の発音が開始される(t2のグレー帯線期間)。その直後、押鍵イベントt3が発生するが、同時に押鍵したとみなされる経過時間T=10ミリ秒の経過時間以後に発生した押鍵イベントt3は同時に押鍵したとみなされず、アルペジオ演奏音は発音されずに、押鍵イベントt3に対応する通常演奏音の発音が開始される(t3のグレー帯線期間)。
【0033】
その後、アルペジオ有効状態が解除されている状態で押鍵イベントt4が発生すると、その押鍵イベントt1の音高C4の楽音の発音が開始されると共に(t4の短いグレー帯線期間)、再び経過時間の計測が開始される。続いて、押鍵イベントt5(音高E4)とt6(音高G4)が、押鍵イベントt4の発生から同時に押鍵したとみなされる経過時間T=10ミリ秒以内にそれぞれ発生する(t5、t6の各黒帯線期間)。これらの押鍵イベントt5、t6の発生時点では、上記経過時間Tが経過して和音演奏の判定結果が判明するまで、発音指示が保留される(
図3のt5、t6の各黒丸の直後の期間)。その後、押鍵イベントt4の発生からT=10ミリ秒(和音判定期間)が経過した時点における楽音数は、3となって和音演奏の成立数N=3以上を満たす(=指定条件を満たす)。この場合には、押鍵イベントt4の発生からT=10ミリ秒(和音判定期間)が経過した時点(
図3の302のタイミング)から、押鍵イベントt4、t5、t6のそれぞれに応じて指定された各音高データC4、E4、G4に対応するアルペジオ演奏音の発音が開始される。
【0034】
この際、押鍵イベントt4は、既に発音が開始されているため(t4の短いグレー帯期間)、アルペジオ演奏音としては再発音せずにそのままアルペジオ演奏音の第1音として解釈される。
【0035】
押鍵イベントt4、t5、t6の各音高データC4、E4、G4に対応するアルペジオ演奏音の発音タイミング(
図3のt4、t5、t6の各グレー帯線期間の先頭のタイミング)間の発音間隔は、
図3の301として示されるように、
図1のTEMPOつまみ103を用いて演奏者により指定されるテンポ値に対応する時間間隔が設定される。この時間間隔は、テンポ値によって決定される拍のタイミングに対応し、一般的には数十から数百ミリ秒である。
【0036】
また、押鍵イベントt4、t5、t6の各音高データC4、E4、G4に対応するアルペジオ演奏音の発音タイプは、
図1のTYPEボタン群104によって指定されたタイプが設定される。
図3の例では、
図1のTYPEボタン群104のうちのUp/Downボタンが押下されることにより、押鍵イベントt4の音高データC4の持続音(t4の1番目のグレー帯期間)の発音に続いて、押鍵イベントt5の音高データE4のアルペジオ演奏音(t5の1番目のグレー帯線期間)、押鍵イベントt6の音高データG4のアルペジオ演奏音(t6のグレー帯線期間)というように、アルペジオ演奏音の音高がアップしてゆき、その後、押鍵イベントt5の音高データE4のアルペジオ演奏音(t5の2番目のグレー帯線期間)、押鍵イベントt4の音高データC4のアルペジオ演奏音(t4の2番目のグレー帯線期間)というように、アルペジオ演奏音の音高がダウンしてゆく。
【0037】
また、押鍵イベントt4の発生からT=10ミリ秒(和音判定期間)が経過した時点で、アルペジオ有効状態が設定される(
図3の302)。
【0038】
アルペジオ有効状態が設定された後その設定が解除されるまでの期間において、CPU201は、上述したように、
図1のTEMPOつまみ103を用いて演奏者により指定されるテンポ値に対応する発音間隔(
図3の301)で、
図1のTYPEボタン群104のいずれかにより指定された発音タイプで、
図3の305として示される押鍵イベントt4、t5、t6の各音高データC4、E4、G4に対応する3和音のアルペジオ演奏音の発音/消音指示を、音源LSI204に対して自動的に発行する。これにより、音源LSI204からは、所望のアルペジオ演奏音が発音されることになる。
【0039】
アルペジオ有効状態が維持されている間に、押鍵イベントt7が発生するが、押鍵イベントt4、t5、t6の発生に基づくアルペジオ有効状態が設定されている(=指定条件を満たさない)。この場合には、押鍵イベントt7に対しては、アルペジオ演奏音ではなく、指定された音高B4♭の通常演奏音の発音が行われる(t7のグレー帯線期間)。
【0040】
更に、押鍵イベントt8、t9、t10が、同時に押鍵されたとみなされる経過時間T=10ミリ秒以内に発生するが、この期間においても押鍵イベントt4、t5、t6の発生に基づくアルペジオ有効状態が設定されているため(=指定条件を満たさない)、押鍵イベントt8、t9、t10に対しては、アルペジオ演奏音ではなく、それぞれ指定された音高C3、E3、G3の各通常演奏音の発音が行われる(t8、t9、t10の各グレー帯線期間)。
【0041】
その後、押鍵イベントt4に対応する離鍵イベントがt4の白丸のタイミングで発生するが、アルペジオ演奏音を構成する他の押鍵イベントt5、t6に対応する各離鍵イベントはまだ発生していないため、押鍵イベントt4、t5、t6に対応するアルペジオ有効状態は維持される。続いて、押鍵イベントt5に対応する離鍵イベントがt5の白丸のタイミングで発生するが、アルペジオ演奏音を構成する残りの押鍵イベントt6に対応する離鍵イベントはまだ発生していないため、押鍵イベントt4、t5、t6に対応するアルペジオ有効状態は依然として維持される。最後に、押鍵イベントt6に対応する離鍵イベントがt6の白丸のタイミングで発生すると、アルペジオ演奏音を構成する全ての押鍵イベントt4、t5、t6に対応する離鍵イベントが発生したため、押鍵イベントt4、t5、t6に対応するアルペジオ有効状態が解除される(
図3の303)。
【0042】
アルペジオ有効状態が解除された後に、押鍵イベントt11が発生すると、その押鍵イベントt11の音高C2の楽音の発音が開始されると共に(t11の短いグレー帯線期間)、再び経過時間の計測が開始される。続いて、押鍵イベントt12、t13、t14が、押鍵イベントt11の発生から同時に押鍵したとみなされる経過時間T=10ミリ秒以内にそれぞれ発生する。これらの押鍵イベントt12、t13、t14の発生時点では、上記経過時間Tが経過して和音演奏の判定結果が判明するまで、発音指示が保留される(
図3のt12、t13、t14の各黒丸の直後の期間)。その後、押鍵イベントt11の発生からT=10ミリ秒(和音判定期間)が経過した時点における楽音数は、4となって和音演奏の成立数N=3以上を満たす(=指定条件を満たす)。従って、押鍵イベントt11の発生からT=10ミリ秒(和音判定期間)が経過した時点から、
図3の306として示される押鍵イベントt11、t12、t13、t14のそれぞれに応じて指定された各音高データC2、E2、G2、C3に対応する4和音のアルペジオ演奏音の発音が開始される。そして再び、アルペジオ有効状態が設定される(
図3の304)。
【0043】
図4は、
図2のCPU201が実行する鍵盤イベント処理の例を示すフローチャートである。この鍵盤イベント処理は、前述したように、
図2のキースキャナ206が
図1の鍵盤101の押鍵/離鍵状態の変化を検出したときに発生する割込みに基づいて実行される。この鍵盤イベント処理は例えば、CPU201がROM202に記憶されている鍵盤イベント処理プログラムをRAM203にロードして実行する処理である。なお、このプログラムは、電子鍵盤楽器100が電源オンされたときに、ROM202からRAM203にロードされて常駐してよい。
【0044】
図4のフローチャートで例示される鍵盤イベント処理において、CPU201はまず、キースキャナ206からの割込み通知が、押鍵イベント又は離鍵イベントのどちらを示しているかを判定する(ステップS401)。
【0045】
ステップS401で割込み通知が押鍵イベントを示していると判定された場合、次にCPU201は、現在のアルペジオ有効状態を判定する(ステップS402)。この処理は、例えば
図2のRAM203に記憶される所定の変数(以下この変数を「アルペジオ有効状態変数」と呼ぶ)の論理値がオンであるかオフであるかによって、アルペジオ有効状態が設定されているか解除されているかを判定する処理である。
【0046】
ステップS402において、アルペジオ有効状態が設定されていると判定された場合には、CPU201は、後述するステップS407に移行して、音源LSI204に対して通常演奏音の発音指示を行う。この状態は、前述した
図3の動作説明図における押鍵イベントt7~t10が各黒丸のタイミングで発生した場合の鍵盤イベント処理に対応する。その後、CPU201は、
図4のフローチャートで示される今回の鍵盤イベント処理を終了し、特には図示しないメインのプログラム処理にリターンする。
【0047】
ステップS402において、アルペジオ有効状態が解除されていると判定された場合には、CPU201は、今回の押鍵イベントにおいて発音が指示された音高データを、アルペジオ演奏音の発音対象として、例えばRAM203に記憶する(ステップS403)。
【0048】
次に、CPU201は、同時に押鍵されたとみなされる現在の音数をカウントするための例えばRAM203上の変数(以下この変数を「現在の音数変数」と呼ぶ)の値に今回の押鍵増加分1を加算し、新たな現在の音数変数の値とする(ステップS404)。この現在の音数変数の値は、後述する
図5のフローチャートで示される経過時間監視処理において、同時に押鍵されたとみなされる経過時間Tの経過時にアルペジオ有効状態に移行するための和音演奏の成立音数Nと比較するためにカウントされる。
【0049】
その後、CPU201は、ステップS404で設定された現在の音数変数の値が1であるか否か、即ちアルペジオ有効状態が解除されている状態において初めての押鍵であるか否かを判定する(ステップS405)。
【0050】
ステップS405の判定がYESの場合には、CPU201は、タイマ210による割込み処理をスタートさせて経過時間の計測を開始し、また、アルペジオ有効状態に移行するための経過時間を示す例えば
図2のRAM203上の所定の変数(以下この変数を「経過時間変数」と呼ぶ)の値を0にリセットする。(ステップS406)。この状態は、前述した
図3の動作説明図における押鍵イベントt1、t4、又はt11が各黒丸のタイミングで発生したタイミングに対応する。
【0051】
その後、CPU201は、音源LSI204に対して通常演奏音による発音指示を発行する(ステップS407)。この状態は、
図3のt1、t4、又はt11の各押鍵イベントの発生タイミング(各黒丸のタイミング)で、それぞれの音高データC2、C4、C2による通常演奏音による発音指示が行われたタイミング(
図3のt1、t4、t11の黒丸に続く各グレー帯線の開始タイミング)に対応する。その後、CPU201は、
図4のフローチャートで示される今回の鍵盤イベント処理を終了し、特には図示しないメインのプログラム処理にリターンする。
【0052】
ステップS405の判定がNOの場合には、既にアルペジオ有効状態に移行するための経過時間の計測が開始されているため、CPU201は、ステップS406の経過時間の計測の開始処理は実行せず、また同時に押鍵したとみなされる経過時間Tが経過して和音演奏の判定結果が判明するまで、現在の押鍵イベントに対応する発音指示を保留する(ステップS408)。具体的には、CPU201は、
図2のRAM203上の所定の変数(以下この変数を「発音保留変数」と呼ぶ)に、現在の押鍵イベントに対応する音高データを記憶する。その後、CPU201は、
図4のフローチャートで示される今回の鍵盤イベント処理を終了し、特には図示しないメインのプログラム処理にリターンする。この状態は、
図3の押鍵イベントt2、t5とt6、t12とt13とt14の各発生タイミング直後の期間(各黒丸の直後の期間)に対応している。
【0053】
上述の鍵盤イベント処理毎のステップS403からS408の一連の処理の繰返しにより、例えば
図3の動作例において、アルペジオ有効状態への移行準備として、それぞれ押鍵イベントt1、t4、又はt11の発生タイミングから同時に押鍵されたとみなされる経過時間T内で発生する新たな押鍵イベントt1とt2、t4からt6、又はt11からt14の発生に対応する音高データの記憶と現在の音数変数値のカウントアップが行われる。
【0054】
前述したステップS401で割込み通知が離鍵イベントを示していると判定された場合、CPU201は、離鍵された鍵が、アルペジオ発音対象の鍵であるか否かを判定する(ステップS409)。具体的には、CPU201は、離鍵された鍵の音高データが、RAM203に記憶されているアルペジオ発音対象の音高データ群(ステップS403参照)に含まれるか否かを判定する。
【0055】
ステップS409の判定がNOならば、CPU201は、離鍵イベントを示す割込み通知に含まれる音高データ(ノートナンバ)で音源LSI204にて発音中(ステップS407参照)であった通常演奏音の消音指示を、音源LSI204に対して発行する(ステップS410)。この処理により、前述した
図3の動作例では、各押鍵イベントt1~t3、t7からt10の発生に基づいて対応する各黒帯線期間で音源LSI204にて発音中であった通常演奏音が、それぞれ各グレー帯線期間が終了する各白丸のタイミングで消音される。
【0056】
ステップS409の判定がYESならば、CPU201は、RAM203に記憶されているアルペジオ発音対象の音高データ群(ステップS403参照)から、離鍵された鍵の音高データの記憶を削除する(ステップS411)。
【0057】
その後、CPU201は、アルペジオ発音対象となった鍵が全て離鍵されたか否かを判定する(ステップS412)。具体的には、CPU201は、RAM203に記憶されていたアルペジオ発音対象の音高データ群が全て削除されたか否かを判定する。
【0058】
ステップS412の判定がNOならば、CPU201は、アルペジオ有効状態は維持したまま、
図4のフローチャートで示される現在の鍵盤イベント処理を終了し、特には図示しないメインのプログラム処理にリターンする。この状態は、
図3の押鍵イベントt4又はt5に対応する離鍵イベントが発生したタイミング(
図3のt4、t5の各白丸のタイミング)に対応しており、この時点ではアルペジオ演奏(t4、t5の2重破線期間)は終了しない。
【0059】
ステップS412の判定がYESになったら、CPU201は、音源LSI204に対するアルペジオ演奏の発音指示を停止する(ステップS413)。
【0060】
そして、CPU201は、アルペジオ有効状態変数の値を論理状態オフを示す値に設定することにより、アルペジオ有効状態を解除する(ステップS414)。
【0061】
上述のステップS413とS414の処理は、
図3の303のアルペジオ有効状態の解除タイミング(
図3の303)に対応する。
【0062】
その後、CPU201は、
図4のフローチャートで示される現在の鍵盤イベント処理を終了し、特には図示しないメインのプログラム処理にリターンする。
【0063】
図5は、
図2のCPU201が実行する経過時間監視処理の例を示すフローチャートである。この経過時間監視処理は、
図2のタイマ210において例えば1ミリ秒毎に発生するタイマ割込みに基づいて実行される。この経過時間監視処理は例えば、CPU201がROM202に記憶されている経過時間監視処理プログラムをRAM203にロードして実行する処理である。なお、このプログラムは、電子鍵盤楽器100が電源オンされたときに、ROM202からRAM203にロードされて常駐してよい。
【0064】
図5のフローチャートで例示される経過時間監視処理において、CPU201はまず、RAM203に記憶されている経過時間変数の値をインクリメント(+1)する(ステップS501)。この経過時間変数の値は、前述したステップS405又は後述するステップS506において、値0にクリアされる。この結果、経過時間変数の値は、そのクリア時点からのミリ秒単位の経過時間を示していることになる。前述したように、
図3の動作説明図では、押鍵イベントt1、t3、t4、又はt11の各押鍵イベントの発生タイミング(各黒丸のタイミング)で経過時間が0にクリアされ、その後アルペジオ有効状態に移行するための経過時間の計測が開始される。
【0065】
次に、CPU201は、上記経過時間変数の値が同時に押鍵されたとみなされる経過時間T以上となったか否かを判定する(ステップS502)。
【0066】
ステップS502の判定がNOの場合、即ち上記経過時間変数の値が同時に押鍵されたとみなされる経過時間T未満である場合には、CPU201は、
図4のフローチャートで説明した更なる押鍵イベントの発生を受け入れるべく、
図5のフローチャートで示される今回の経過時間監視処理を終了し、特には図示しないメインのプログラム処理にリターンする。
【0067】
ステップS502の判定がYES、即ち経過時間変数の値が同時に押鍵されたとみなされる経過時間T以上になった場合には、CPU201は、RAM203に記憶されている現在の音数変数の値(
図4のステップS404参照)が和音演奏の成立音数N音(例えば3音)以上であるか否かを判定する(ステップS503)。
【0068】
ステップS503の判定がYESならば、CPU201は、RAM203に記憶されている現在の音数変数の値が示す音数分の音高データ(
図4のステップS403参照)での音源LSI204に対するアルペジオ演奏音の発音指示の制御を開始する(ステップS504)。アルペジオ演奏音の発音指示の制御は、特には図示しないアルペジオ演奏の制御プログラムにより実行される。
【0069】
続いて、CPU201は、RAM203に記憶されているアルペジオ有効状態変数の値を論理値オンを示す値に設定することにより、アルペジオ有効状態を設定する(ステップS505)。
【0070】
上記ステップS504及びS505により、前述した
図3の動作例では、押鍵イベントt6の発生の直後に、押鍵イベントt4、t5、及びt6に対応する3音分の音高データ(
図3の305)でのアルペジオ演奏音の楽音波形データ214が、
図3のt4、t5、t6の各グレー帯線期間の開始タイミングで、音源LSI204から出力される。同様に、押鍵イベントt14の発生の直後に、押鍵イベントt11、t12、t13、及びt14に対応する4音分の音高データ(
図3の306)でのアルペジオ演奏音の楽音波形データ214が、
図3のt11、t12、t13の各グレー帯線期間の開始タイミングで、音源LSI204から出力される。
【0071】
ステップS503の判定がNOならば、CPU201は、
図4のステップS408で保留にしていた押鍵に対応する発音指示を、音源LSI204に発行する(ステップS506)。具体的には、CPU201は、RAM203上の発音保留変数に記憶されている各音高データに対する通常演奏音の発音指示を、音源LSI204に発行する。この状態は、
図3の押鍵イベントt2の発生時(t2の黒丸のタイミング)に保留されていた音高データE2の発音が、音源LSI204にて開始された状態(t2のグレー帯線期間)に対応する。
【0072】
その後、CPU201は、
図4のステップS403でRAM203に記憶していたアルペジオ発音対象の音高データを削除する(ステップS507)。
【0073】
ステップS505又はS507の処理の後、CPU201は、RAM203に記憶されている現在の音数変数の値を0にクリアする(ステップS508)。
【0074】
その後、CPU201は、
図5のフローチャートで示される経過時間監視処理を終了し、特には図示しないメインのプログラム処理にリターンする。
【0075】
前述した
図3の動作説明図において、押鍵イベントt1、t2に続いて押鍵イベントt3が発生した場合においては、上記経過時間監視処理において、押鍵イベントt1の発生タイミングからの経過時間が同時とみなされる経過時間T以上と判定された時点(ステップS502の判定がYESとなった時点)で、現在の音数変数の値=2(押鍵イベントt1、t2に対応)が和音演奏の成立音数N=3に達していない(ステップS503の判定がNO)と判定される。この結果、アルペジオ演奏音の発音指示処理(ステップS504)及びアルペジオ有効状態の設定処理(ステップS505)は実行されることなく、ステップS508で現在の音数変数の値が0にクリアされる。この結果、前述した
図4のフローチャートの処理において、ステップS402の判定がアルペジオ有効状態解除、ステップS404で現在の音数変数の値が1、ステップS405の判定がYESとなってステップS406が実行されることにより、押鍵イベントt6の発生時点から再度、アルペジオ有効状態に移行するための経過時間の計測処理がスタートする。即ち、同時に押鍵したとみなされる経過時間Tの経過時に和音演奏の成立音数Nが満たされていなければ、その直後に発生する押鍵イベント(=t6)を起点として、再度アルペジオ有効状態への移行要件が判定される。
【0076】
以上説明したように、本実施形態は、演奏者により演奏された鍵盤101の押鍵数、複数押鍵の時間間隔に応じて、和音演奏が行われたか否かを判定し、和音演奏であると判定された押鍵に対応するノート群に対してのみ、アルペジオ有効状態を設定してアルペジオ演奏音の発音を行うようにし、それ以外の押鍵に対しては通常演奏音による即時発音を行うようにしたものである。
【0077】
上記実施形態により、演奏者が一つの鍵盤101をスプリットさせるなどの特別な操作を行うことなく、任意の音域で分散和音(アルペジオ演奏)と旋律演奏(通常演奏)を織り交ぜて、自然な演奏をするだけで、自動的に必要な楽音にのみアルペジオ演奏の効果を付加することができるようになる。このため、演奏或いは楽音に妥協することなく、演奏に集中することができるようになる。
【0078】
他の実施形態として、鍵盤101に対して固定的な左右のスプリットポイントを設定しておき、左右の鍵域ごとに独立したアルペジオ演奏の判定がなされるようにして、両手の演奏に対応してアルペジオ演奏が自動的に行われるようにしてもよい。
【0079】
上述の実施形態では、電子鍵盤楽器100にアルペジオ演奏機能を実装した例について説明したが、そのほかに例えば、ギターシンセサイザ又はギターコントローラなどの電子弦楽器に対しても、本機能を実装することができる。
【0080】
以上、開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができる。
【0081】
その他、本発明は上述した実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上述した実施形態で実行される機能は可能な限り適宜組み合わせて実施しても良い。上述した実施形態には種々の段階が含まれており、開示される複数の構成要件による適宜の組み合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、効果が得られるのであれば、この構成要件が削除された構成が発明として抽出され得る。
【0082】
以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
音高データを指定するための複数の演奏操作子と、
楽音を発生する音源と、
プロセッサと、を備え、前記プロセッサは、
ユーザによる演奏操作が指示条件を満たす場合に、前記演奏操作に応じて指定された各音高データに対応するアルペジオ演奏音の発音を前記音源に指示し、
前記指示条件を満たさない場合に、前記演奏操作に応じて指定された音高データに対応する演奏音の発音を前記音源に指示し、前記アルペジオ演奏音の発音は前記音源に指示しない、
電子楽器。
(付記2)
前記指示条件を満たす場合は、設定された時間内に和音の演奏操作を検出する場合を含む、付記1に記載の電子楽器。
(付記3)
前記プロセッサは、
前記和音の演奏操作の判定として、前記アルペジオ演奏音の発音中でない場合に検出される初めての前記演奏操作子に対する第1押鍵操作に応じた押鍵検出タイミングから設定された時間内に、設定された数以上の前記演奏操作子に対する新たな第2押鍵操作を検出したか否かを判定し、
前記判定の結果が肯定的であった場合に、指定された各音高データに対応する前記アルペジオ演奏音の発音を前記音源に指示し、
前記判定の結果が否定的であった場合に、前記アルペジオ演奏音の発音は前記音源には指示せずに、前記演奏操作に応じて指定された音高データに対応する前記演奏音の発音を前記音源に指示する、
付記2に記載の電子楽器。
(付記4)
前記プロセッサは、
前記判定の結果が肯定的であった場合に、アルペジオ有効状態を設定し、
前記アルペジオ有効状態が設定されている場合において前記演奏操作子への新たな押鍵操作が検出された場合に、前記新たな押鍵操作に応じたアルペジオ演奏音の発音は前記音源には指示せずに、前記新たな押鍵操作に応じて指定された音高データに対応する前記演奏音の発音を前記音源に指示する、
付記3に記載の電子楽器。
(付記5)
前記プロセッサは、
前記アルペジオ有効状態が設定されている場合において発音されている前記アルペジオ演奏音を構成する全ての音高データに対応する全ての前記演奏操作子の離鍵が検出されるまで、前記アルペジオ演奏音の発音中止を前記音源に指示せず、前記アルペジオ演奏音を構成する全ての音高データに対応する全ての前記演奏操作子の離鍵の検出に応じて、前記アルペジオ演奏音の発音中止を前記音源に指示し、
前記アルペジオ有効状態を解除する、
付記4に記載の電子楽器。
(付記6)
前記設定された時間及び、前記設定された数は、それぞれ使用シーンに応じて異なるように設定されている、
付記3乃至5のいずれかに記載の電子楽器。
(付記7)
電子楽器に、
ユーザによる演奏操作が指示条件を満たす場合に、前記演奏操作に応じて指定された各音高データに対応するアルペジオ演奏音を発音させ、
前記指示条件を満たさない場合に、前記演奏操作に応じて指定された音高データに対応する演奏音を発音させ、前記アルペジオ演奏音の発音はさせない、
電子楽器の発音方法。
(付記8)
電子楽器に、
ユーザによる演奏操作が指示条件を満たす場合に、前記演奏操作に応じて指定された各音高データに対応するアルペジオ演奏音を発音させ、
前記指示条件を満たさない場合に、前記演奏操作に応じて指定された音高データに対応する演奏音を発音させ、前記アルペジオ演奏音の発音はさせない、
処理を実行させるプログラム。
【符号の説明】
【0083】
100 電子鍵盤楽器
101 鍵盤
102 アルペジオON/OFFボタン
103 TEMPつまみ
104 TYPEボタン群
105 LCD
200 制御システム
201 CPU
202 ROM
203 RAM
204 音源LSI
205 ネットワークインタフェース
206 キースキャナ
207 I/Oインターフェース
208 LCDコントローラ
209 システムバス
210 タイマ
211 波形ROM
212 D/Aコンバータ
213 アンプ
214 楽音出力データ
215 A/Dコンバータ