(57)【特許請求の範囲】
【請求項１】
現在の楽音発生形態を特定する複数のパラメータを含むカレント情報と前記複数のパラメータそれぞれに対応付けられたパラメータの変更時刻とを記憶するカレント記憶領域と、過去に登録された楽音発生形態を特定する複数のパラメータを含むレジストレーション情報を記憶するレジストレーション記憶領域と、を有する記憶部と、
前記カレント情報の前記パラメータを変更する変更操作と前記レジストレーション情報を指定して呼び出す操作である呼出操作とを受け付ける操作部と、
前記操作部が受け付けた前記変更操作に応答して前記カレント記憶領域に記録された前記カレント情報の前記パラメータを変更するとともに、変更した時刻をこの変更したパラメータに対応付けて前記カレント記憶領域に前記変更時刻として記録するパラメータ変更手段と、
前記操作部が受け付けた前記呼出操作に応答して、前記カレント記憶領域に記録された前記カレント情報が含む前記複数のパラメータのうち、現在の時刻から遡って所定の範囲内にある変更時刻に対応付けられているパラメータ以外のパラメータを、前記呼出操作で指定された前記レジストレーション情報に含まれるパラメータに更新する更新手段と、
前記カレント記憶領域に現在記録されている前記カレント情報が含む複数のパラメータに従って、発音部によって楽音を発生させる楽音発生手段と、
を備えることを特徴とする電子楽器。
【請求項２】
現在の楽音発生形態を特定する複数のパラメータを含むカレント情報と前記複数のパラメータそれぞれに対応付けられたパラメータの変更時刻とを記憶するカレント記憶領域と、過去に登録された楽音発生形態を特定する複数のパラメータを含むレジストレーション情報を記憶するレジストレーション記憶領域と、を有する記憶部と、
前記カレント情報の前記パラメータを変更する変更操作と前記レジストレーション情報を指定して呼び出す操作である呼出操作とを受け付ける操作部と、を制御するコンピュータを、
前記操作部が受け付けた前記変更操作に応答して前記カレント記憶領域に記録された前記カレント情報の前記パラメータを変更するとともに、変更した時刻をこの変更したパラメータに対応付けて前記カレント記憶領域に前記変更時刻として記録するパラメータ変更手段、
前記操作部が受け付けた前記呼出操作に応答して、前記カレント記憶領域に記録された前記カレント情報が含む前記複数のパラメータのうち、現在の時刻から遡って所定の範囲内にある変更時刻に対応付けられているパラメータ以外のパラメータを、前記呼出操作で指定された前記レジストレーション情報に含まれるパラメータに更新する更新手段、
前記カレント記憶領域に現在記録されている前記カレント情報が含む複数のパラメータに従って、発音部によって楽音を発生させる楽音発生手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子楽器及びプログラムに関する。
【背景技術】
【０００２】
従来から、発生させる楽音の、音色、音量、付加するエフェクト（効果）の種類等を含む楽音発生形態を特定する各種パラメータをひとまとめにして含むレジストレーション情報をメモリに登録しておき、ユーザが後に前記メモリに登録されたレジストレーション情報を選択すると、選択したレジストレーション情報、つまり、パラメータに基づき楽音形成する、所謂、レジストレーション機能を備えた電子楽器が知られている。
【０００３】
この種の電子楽器によれば、所定の操作によって、所望のレジストレーション情報を呼び出して電子楽器各部の動作態様を設定し得る為、例えば演奏中にワンタッチで楽音発生形態を切り替える等、操作性を向上することが可能になっている。
【０００４】
上述した従来の電子楽器では、レジストレーション情報の呼び出しに応じて、現在の各パラメータが、呼び出されるレジストレーション情報の全パラメータに全て更新される結果、ユーザが意図しない楽音発生形態に変更されるという弊害が生じる。その為、近年ではこのような弊害を回避する為、最後に変更したパラメータのみをそのまま維持し、それ以外のパラメータについては、呼び出したレジストレーション情報のパラメータに更新させ、楽音発生形態を変更する方式も提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２３７５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、最後に設定したパラメータのみが、ユーザが現状のまま維持したいものである可能性はあるが、それが絶対とは限らない。最後に変更したパラメータも含めて複数のパラメータを残したい場合のほうが多い。このため、従来の方式は必ずしもユーザの意図を反映したものでない場合が多い。
【０００７】
本発明は、上述した事情に鑑みてなされたもので、ユーザの意図に沿って楽音発生形態を変更することができる電子楽器及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の第１の観点に係る電子楽器は、
現在の楽音発生形態を特定する複数のパラメータを含むカレント情報と前記複数のパラメータそれぞれに対応付けられたパラメータの変更時刻とを記憶するカレント記憶領域と、過去に登録された楽音発生形態を特定する複数のパラメータを含むレジストレーション情報を記憶するレジストレーション記憶領域と、を有する記憶部と、
前記カレント情報の前記パラメータを変更する変更操作と前記レジストレーション情報を指定して呼び出す操作である呼出操作とを受け付ける操作部と、
前記操作部が受け付けた前記変更操作に応答して前記カレント記憶領域に記録された前記カレント情報の前記パラメータを変更するとともに、変更した時刻をこの変更したパラメータに対応付けて前記カレント記憶領域に前記変更時刻として記録するパラメータ変更手段と、
前記操作部が受け付けた前記呼出操作に応答して、前記カレント記憶領域に記録された前記カレント情報が含む前記複数のパラメータのうち、現在の時刻から遡って所定の範囲内にある変更時刻に対応付けられているパラメータ以外のパラメータを、前記呼出操作で指定された前記レジストレーション情報に含まれるパラメータに更新する更新手段と、
前記カレント記憶領域に現在記録されている前記カレント情報が含む複数のパラメータに従って、発音部によって楽音を発生させる楽音発生手段と、
を備える。
【０００９】
上記目的を達成するため、本発明の第２の観点に係るプログラムは、
現在の楽音発生形態を特定する複数のパラメータを含むカレント情報と前記複数のパラメータそれぞれに対応付けられたパラメータの変更時刻とを記憶するカレント記憶領域と、過去に登録された楽音発生形態を特定する複数のパラメータを含むレジストレーション情報を記憶するレジストレーション記憶領域と、を有する記憶部と、
前記カレント情報の前記パラメータを変更する変更操作と前記レジストレーション情報を指定して呼び出す操作である呼出操作とを受け付ける操作部と、を制御するコンピュータを、
前記操作部が受け付けた前記変更操作に応答して前記カレント記憶領域に記録された前記カレント情報の前記パラメータを変更するとともに、変更した時刻をこの変更したパラメータに対応付けて前記カレント記憶領域に前記変更時刻として記録するパラメータ変更手段、
前記操作部が受け付けた前記呼出操作に応答して、前記カレント記憶領域に記録された前記カレント情報が含む前記複数のパラメータのうち、現在の時刻から遡って所定の範囲内にある変更時刻に対応付けられているパラメータ以外のパラメータを、前記呼出操作で指定された前記レジストレーション情報に含まれるパラメータに更新する更新手段、
前記カレント記憶領域に現在記録されている前記カレント情報が含む複数のパラメータに従って、発音部によって楽音を発生させる楽音発生手段、
として機能させる。
【発明の効果】
【００１０】
本発明によれば、ユーザの意図に沿って楽音発生形態を変更することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る電子楽器の構成を示す図である。
【図２】本発明の一実施形態に係る電子楽器のハードウェア構成を示す図である。
【図３】本発明の一実施形態に係る電子楽器の概略外観図である。
【図４】本発明の一実施形態に係る電子楽器の記憶部の記憶領域の一例を示す図である。
【図５】カレント情報及び変更時刻のデータ内容及び対応関係の一例を示す図である。
【図６】レジストレーション情報のデータ内容の一例を示す図である。
【図７】ＲＯＭが記憶する伴奏パターンについてのデータ内容の一例を示す図である。
【図８】本発明の一実施形態に係る電子楽器が行う楽音発生形態の設定処理のフローチャートである。
【図９】本発明の一実施形態に係る電子楽器が行う楽音発生形態の設定処理における、保存操作に応じた処理の内容を説明するための図である。
【図１０】本発明の一実施形態に係る電子楽器が行う楽音発生形態の設定処理における、呼出操作に応じた処理の内容を説明するための図である。
【図１１】本発明の一実施形態に係る電子楽器が行う楽音発生形態の設定処理における、呼出操作に応じた処理の内容（パラメータの更新）を説明するための図である。
【図１２】図１１での処理後の更新後のカレント情報及び変更時刻のデータ内容の一例を示す図である。
【図１３】カレント情報のパラメータを変更する処理を説明するための図である。
【図１４】本発明の一実施形態に係る電子楽器が行う演奏処理のフローチャートである。
【発明を実施するための形態】
【００１２】
本発明に係る一実施形態について図面を参照して説明する。なお、本発明は下記の実施形態及び図面によって限定されるものではない。下記の実施形態及び図面に変更（構成要素の削除も含む）を加えることができるのはもちろんである。また、以下の説明では、本発明の理解を容易にするために、公知の技術的事項の説明を適宜省略する。
【００１３】
本実施形態における電子楽器は、キーボードであり、プログラムに従って動作するコンピュータであるとして説明するが、本発明に係る電子楽器は、他の電子楽器（例えば、電子オルガン、エレクトリックギター）であってもよい。本発明に係る電子楽器がどのようなものであるかによって、下記で説明される構成は適宜変更される。
【００１４】
本実施形態に係る電子楽器１００は、発生させる楽音の形態である楽音発生形態を特定する複数のパラメータを設定するための操作パネルを有する。そして、電子楽器１００は、ユーザがこの操作パネルを操作して設定されたパラメータを扱う。楽音発生形態は、本実施形態においては、音色、テンポ、伴奏パターン等の複数の要素からなり、各パラメータは、それぞれ、各要素の内容を特定するためのものである。各パラメータは、それぞれ、音色の種類を識別するための番号、テンポ値、伴奏パターンの種類を識別するための番号である。そしてこれらの番号又は値、つまりパラメータは、操作パネルを操作することによって変更される。本実施形態では、このパラメータは、操作パネルが含むスイッチの設定状態ともいえる。電子楽器１００は、現在設定されているパラメータ（現在のスイッチの設定状態）に従って楽音を発生させることで、このパラメータが特定する楽音発生形態で楽音を発生させる。
【００１５】
なお、本実施形態において電子楽器１００が扱う各パラメータは、それぞれ、音色の種類、テンポ値、伴奏パターンの各要素についてのものであるが、もちろんこれに限るものではない。パラメータは、発生すべき楽音のエンベロープ、付与されるべき効果などについてのものであってもよい。
【００１６】
次に、本実施形態に係る電子楽器１００の構成を図１及び図２を参照して説明する。
【００１７】
電子楽器１００は、制御部１１０と、記憶部１２０と、操作部１３０と、発音部１４０と、表示部１５０と、計時部１６０と、を備える。
【００１８】
制御部１１０は、本実施形態では、ＣＰＵ１１１とＲＯＭ（Read Only Memory）１１２とによって構成される。ＣＰＵ１１１は、ＲＯＭ１１２が記憶する制御プログラムに従い、電子楽器１００の各構成要素の制御等を行う。このとき、ＣＰＵ１１１は、適宜ＲＯＭ１１２が記憶する各種データを読み出して使用する。ＲＯＭ１１２が記憶する制御プログラム、各種データ等は、一度、記憶部１２０（後述のＲＡＭ（Random Access Memory）１２１）に読み出されて使用されても良い。
【００１９】
ＣＰＵ１１１の機能の少なくとも一部は、各種専用回路によって実現されてもよい。つまり、制御部１１０の少なくとも一部を各種専用回路によって構成してもよい。
【００２０】
ＲＯＭ１１２には、制御プログラム、及び、ＣＰＵ１１１が使用する各種データ等が記憶されている。
【００２１】
上記のような構成によって、制御部１１０は、電子楽器１００全体を制御するとともに、後述の処理を行う。
【００２２】
記憶部１２０は、本実施形態では、ＲＡＭ１２１によって構成される。ＲＡＭ１２１は、ＣＰＵ１１１が使用するデータ等を記憶する他、ＣＰＵ１１１が生成したデータ等を記憶する。なお、本実施形態では、ＲＡＭ１２１は、電子楽器１００の外部からの電力の供給が無くても、記憶内容（データ）を失わない不揮発性メモリ（フラッシュメモリ等）によって構成される。また、ＲＡＭ１２１は、電力の供給が無くても記憶内容を失わないような、バッテリとＳＲＡＭ（Static Random Access Memory）との組み合わせ等によって構成されてもよい。
【００２３】
本実施形態では、上記のような構成によって、記憶部１２０は、制御部１１０によって使用されるデータ、制御部１１０によって生成されるデータ等を記憶（保持）する。
【００２４】
操作部１３０は、本実施形態では、鍵盤１３１と、ＳＷ（スイッチ）部（操作パネル）１３２とによって構成され、ユーザからの操作を受け付ける。
【００２５】
鍵盤１３１は、演奏者（ユーザ）による押鍵又は離鍵操作に応じた信号、つまり押鍵された鍵の番号である鍵番号（音高）、押鍵操作（ノートオン）か離鍵操作（ノートオフ）か、及び操作速度（ベロシティ）を表わす信号（押鍵信号）を、制御部１１０に出力する。
【００２６】
ＳＷ部１３２は、各種の複数のスイッチによって構成される。これらのスイッチは、楽音の発生形態を特定するパラメータの設定変更、及び、パラメータの保存、そして保存されたパラメータの呼び出しを行うためのスイッチである。各スイッチは、制御部１１０の制御のもと、ユーザによって操作されたことを示す操作信号（以下、スイッチ操作信号）を生成し、生成したスイッチ操作信号を制御部１１０に供給する。ＳＷ部１３２は、例えば、所定の操作信号を制御部に供給する他の入力装置（例えば、タッチパネルのセンサ部）によって構成されてもよい。
【００２７】
制御部１１０は、後述の処理において供給された押鍵信号又はスイッチ操作信号に応じた処理を行う。
【００２８】
発音部１４０は、音源部１４１とスピーカ１４２とによって構成される。
【００２９】
制御部１１０は、鍵盤からの押鍵あるいは離鍵に基づく押鍵信号、及び操作パネル上にある楽音の音色切換を行うスイッチからのスイッチ操作信号を受けて、ＭＩＤＩ（Musical Instrument Digital Interface）規格に基づいたイベントデータ（ＭＩＤＩメッセージ）を音源部１４１に供給する。音源部１４１は、供給されたイベントデータに応じて楽音の発音、消音あるいは現在設定されている楽音の音色の変更を行う。音源部１４１は、供給されたイベントデータ及び現在設定されている音色に応じて発音する楽音を表す楽音信号を生成してスピーカ１４２に供給する。スピーカ１４２は、音源部１４１にて生成され、音源部１４１から供給された楽音信号の発音を行う。音源部１４１は、消音指示用（ノートオフ）のイベントデータが供給された場合には、消音動作を行う。本実施形態ではこのようにして、制御部１００は、イベントデータを発音部１４０に供給することで、発音部１４０を制御し、発音部１４０によって楽音を発生させる。なお、発音部１４０の少なくとも一部（スピーカ１４２等）は、電子楽器１００の外部にあってもよい。つまり、電子楽器１００は、発音部１４０の少なくとも一部を備えなくても良い。
【００３０】
表示部１５０は、液晶ディスプレイ等の適宜の表示装置によって構成される。表示部１５０は、制御部１１０の制御のもと、所定の画面（例えば、操作パネル上のスイッチにより設定された音色の種類、テンポ値、伴奏パターンの種類などを表示した画面）を表示する。
【００３１】
計時部１６０は、例えば、水晶振動子や発振回路等を含むＲＴＣ（Real Time Clock）等によって構成され、時刻（年月日を含む）の特定等に用いられる。制御部１１０は、計時部１６０を参照して現在の時刻の特定等を行う。
【００３２】
ここで、上記構成を有する電子楽器１００の概略外観を図３に示す。電子楽器１００は、鍵盤１３１を備え、さらに、スピーカ１４２を備える。また、電子楽器１００は、所定の複数のスイッチからなるＳＷ部１３２が設けられた操作パネルや表示部１５０を備える。これによりユーザは、表示部１５０に表示された画面を見ながらＳＷ部１３２を操作することができる。
【００３３】
次に、記憶部１２０（ここでは、ＲＡＭ１２１）の記憶領域、及びこの記憶領域に記憶されるデータ内容を、図４乃至図７を参照して説明する。
【００３４】
図４のように、記憶部１２０の記憶領域は、カレント記憶領域と、レジストレーション記憶領域と、その他の記憶領域とから構成される。カレント記憶領域は、カレント情報及び変更時刻を記憶する記憶領域である。カレント情報は、現在の楽音発生形態を特定する複数のパラメータ、つまり、現在電子楽器１００に設定されている複数のパラメータからなる情報である。変更時刻は、各パラメータを変更した時刻であり、各パラメータそれぞれについての最新の変更時刻である。レジストレーション記憶領域は複数あり、それぞれは、１つのレジストレーション情報を記憶する記憶領域である。レジストレーション情報は、過去に登録された楽音発生形態を特定する複数のパラメータからなる情報である。また、その他の記憶領域には、その他のデータ（電子楽器１００の動作に必要なデータ）が記録される。
【００３５】
電子楽器１００は、カレント記憶領域に記憶されたカレント情報の複数のパラメータに従って楽音、つまり、操作パネル上のスイッチの設定状態によって特定される発生形態にて楽音を発生する。また、ユーザが操作パネル上のスイッチの設定状態を変更すれば、これに伴いカレント記憶領域に記憶されたカレント情報のデータ内容（パラメータの値等）が変更される。つまり、カレント情報の複数のパラメータは、現在の電子楽器１００における操作パネル上のスイッチの設定状態を直接に表わしているものであり、電子楽器１００は、この設定状態に対応する発生形態で楽音を発生する。
【００３６】
レジストレーション記憶領域に記録されるレジストレーション情報は、カレント情報と同一の形態を有する。レジストレーション情報の、過去に登録された楽音発生形態を特定する複数のパラメータは、過去にユーザが設定した、または、電子楽器１００に最初から設定されていたパラメータ（スイッチの設定状態）である。レジストレーション情報は、カレント情報として呼び出されない限り、楽音発生には使用されない。
【００３７】
カレント情報は、それぞれ、図５に示すように、例えば、音色の種類を指定する番号であるパラメータ、テンポの値であるパラメータ、伴奏パターンを指定する番号であるパラメータ等の楽音発生形態の各要素の内容を指定する各パラメータのデータからなる。さらに、本実施形態では、各パラメータについて、変更時刻のデータが対応付けられてカレント記憶領域に記録されている。変更時刻は、パラメータの内容を変更した時刻である。レジストレーション情報もカレント情報と同様に、図６に示すように、例えば、音色の種類を指定する番号であるパラメータ、テンポの値であるパラメータ、伴奏パターンを指定する番号であるパラメータ等の楽音発生形態の各要素の内容を指定する各パラメータのデータからなる。
【００３８】
また本実施形態においては、発生すべき楽音の音色を実際に表すデータ（音色データ）、あるいは伴奏パターンを実際に表すデータ（伴奏パターンデータ）は、前述の各番号に対応付けて、ＲＯＭ１１２（記憶部１２０等における、その他の記憶領域であってもよい。）が記憶している。
【００３９】
音色データは、ＭＩＤＩ規格に基づいたイベントデータであり、伴奏パターンデータは、基本的に、ＭＩＤＩ規格に基づいたイベントデータと、このイベントデータを音源部１４１に供給するタイミングを示すタイムデータと、からなる。
【００４０】
図７に、伴奏パターンデータがＲＯＭ１１２にどのように記憶されているかを示す。
【００４１】
図７のように、各番号（１〜５）に対応付けて伴奏パターンデータ（伴奏１〜伴奏５）がＲＯＭ１１２に記録されている（他のデータについても略同じである。）。また、伴奏パターンデータは、タイムデータとイベントデータとを一組とした組を複数組含む。
【００４２】
制御部１１０は、カレント記憶領域に記憶されたカレント情報の音色の種類を指定する番号（パラメータ）の変更がなされた場合、この変更された番号に対応する音色変更のイベントデータを、ＲＯＭ１１２から取得し、取得したイベントデータを音源部１４１に供給する。これによって音源部１４１から発音される楽音の発生形態のひとつの要素である音色は変更される。変更後の音色が音源部１４１（電子楽器１００）に設定されたことになる。
【００４３】
また、カレント記憶領域に記憶されたカレント情報の伴奏パターンの種類を指定する番号（パラメータ）の変更がなされた場合、ＲＯＭ１１２内においてこの変更された番号に対応する伴奏パターンデータが記憶されている領域を示すアドレスを指定する。これによって変更後の伴奏パターンが電子楽器１００に設定されたことになる。
【００４４】
なお、カレント記憶領域に記憶されたカレント情報内のテンポ値（パラメータ）の変更がなされた場合は、カレント情報内のテンポ値が変更するだけである。これによって変更後のテンポが電子楽器１００に設定されたことになる。
【００４５】
この後、ユーザが電子楽器１００を演奏した際に、カレント情報のパラメータにて指定されている種類の音色の楽音が発生し、演奏に合わせて伴奏を開始した場合には、カレント情報のパラメータにて指定される種類の伴奏パターンを、カレント情報のパラメータにて指定されるテンポに基づく速度で読み出して伴奏音を発生させることになる。このようにして、電子楽器１００（制御部１１０）は、操作パネルによって設定される、カレント情報（パラメータ）によって特定される現在の設定状態で楽音を発音部１４０から発生させることになる。
【００４６】
次に電子楽器１００の動作を説明する。
【００４７】
まず、電子楽器１００によって行われる楽音発生形態の設定処理（現在設定されているパラメータの変更、保存、呼出等を行う処理）を図８のフローチャート等を参照して説明する。この処理は、例えば、ユーザが操作部１３０のＳＷ部１３２を操作することによって、楽音の発生形態の設定モードが選択されている場合に行われる。また、この処理は、ユーザが操作部１３０のＳＷ部１３２を操作して他のモード（例えば、演奏モード）を選択することによって、終了する。
【００４８】
また、前記の設定モードが選択されたときに、カレント記憶領域には、ＳＷ部１３２のスイッチの設定状態に対応するカレント情報が記録されている。またカレント情報は、過去にユーザが変更等したものであって、そのままカレント記憶領域に記録されたものであってもよいし、制御部１１０が適宜のタイミングで初期データとして、ＲＯＭ１１２から読み出してカレント記憶領域に記録したものであってもよい。
【００４９】
さらに、電子楽器１００（制御部１１０）は、楽音の発生形態を設定するための画面を表示部１５０に表示し、ユーザはこの画面を見て操作部１３０を操作する。
【００５０】
さらに、この処理中、ユーザが操作部１３０の鍵盤１３１を押鍵操作した場合、電子楽器１００は、この押鍵に応じた音高で、かつ、その時点でのカレント情報のパラメータで特定される音色の楽音を発音する。これによって、ユーザは、その時点で設定されている楽音の発生形態を確認できる。
【００５１】
楽音の発生形態の設定処理において、まず、制御部１１０は、保存操作が行われたかを判別する（ステップＳ１０１）。
【００５２】
例えば、ＳＷ部１３２は、複数のレジストレーション記憶領域それぞれに対応した複数の保存用スイッチを有する。複数のレジストレーション記憶領域と複数の保存用スイッチとはそれぞれ一対一で対応している。
【００５３】
ユーザがこの複数の保存用スイッチのうちのいずれかを操作すると、ユーザはカレント情報の保存を指示し、保存先を指定することになる。操作された保存用スイッチに対応するレジストレーション記憶領域が保存先の記憶領域になる。ＳＷ部１３２は、操作された保存用スイッチ（つまり、保存先のレジストレーション記憶領域）を特定するスイッチ操作信号（保存指示信号）を制御部１１０に供給する。
【００５４】
制御部１１０は、この保存指示信号が供給された場合に、保存操作が行われたと判別する（ステップＳ１０１；ＹＥＳ）。この場合、制御部１１０は、保存指示信号に基づいて、カレント情報をレジストレーション情報として、保存指示信号が特定する保存先のレジストレーション記憶領域に記録する（ステップＳ１０５）。
【００５５】
図９のように、上から２番目のレジストレーション記憶領域が保存先だとすると、制御部１１０は、カレント情報をそのレジストレーション記憶領域に記録する。このようにして、制御部１１０は、カレント情報を、保存操作で指定される保存先に保存する。このようにして、ＳＷ部１３２の設定状態、つまり楽音発生形態を特定する設定状態が登録されることになる。保存されたカレント情報は、以降、レジストレーション情報として取り扱われる。なお、カレント情報がレジストレーション情報として保存されたとしても、カレント記憶領域に記録されていたカレント情報はそのままとする。
【００５６】
そして、このカレント情報の保存先のレジストレーション記憶領域に事前にレジストレーション情報が記憶されていた場合、カレント情報が上書きされるため、事前に記録されていたレジストレーション情報は消去される。
【００５７】
制御部１１０は、例えば、保存指示信号が供給されていない場合に、保存操作が行われていないと判別する（ステップＳ１０１；ＮＯ）。この場合、制御部１１０は、呼出操作（コール操作）が行われたかを判別する（ステップＳ１０２）。
【００５８】
ＳＷ部１３２は、複数のレジストレーション記憶領域それぞれに対応した複数の呼出用スイッチを有する。複数のレジストレーション記憶領域と複数の保存用スイッチとはそれぞれ一対一で対応している。
【００５９】
ユーザが複数の呼出用スイッチのいずれかを操作すると、ＳＷ部１３２は、操作された呼出用スイッチ（つまり、呼び出したいレジストレーション情報が記録されているレジストレーション記憶領域）を特定するスイッチ操作信号（呼出指示信号）を制御部１１０に供給する。これにより、操作された呼出用スイッチボタンに対応するレジストレーション記憶領域に記録されたレジストレーション情報が呼び出し対象のデータとして指定されたことになる。以下では、この指定されたレジストレーション情報を指定レジストレーション情報という。
【００６０】
制御部１１０は、例えば、この呼出指示信号が供給された場合に、呼出操作が行われたと判別する（ステップＳ１０２；ＹＥＳ）。
【００６１】
この場合、制御部１１０は、計時部１６０を参照し、現在の時刻を特定する（ステップＳ１０６）。
【００６２】
次に、制御部１１０は、ステップＳ１０６の処理で特定した現在の時刻に基づいて、カレント記憶領域が記憶するカレント情報における複数のパラメータのうちの変更時刻が古いパラメータを、指定レジストレーション情報の、前記古いパラメータに対応するパラメータ（同じ要素についてのパラメータ）に上書き（更新）する（ステップＳ１０７）。
【００６３】
制御部１１０は、例えば、カレント情報の各パラメータに対応する各変更時刻のデータのうち、ステップＳ１０６の処理で特定した現在の時刻と所定の範囲内にある変更時刻のデータを特定し、特定した変更時刻のデータに対応付けられているパラメータ以外のパラメータを、指定レジストレーション情報に含まれるパラメータに更新する。これによって、変更時刻が古いパラメータは、楽音発音形態の要素毎に、指定レジストレーション情報のパラメータに更新される。なお、制御部１１０は、このとき、更新したパラメータに対応付けられた変更時刻を現在日時に更新する。つまり、更新したパラメータに対応付けられた変更時刻は、前記で特定した現在時刻に更新される。
【００６４】
図１０のように、上から２番目のレジストレーション記憶領域が指定されたとすると、制御部１１０は、呼出指示信号に基づいて、上から２番目のレジストレーション記憶領域に記録された指定レジストレーション情報をカレント記憶領域に呼び出す。
【００６５】
このとき、図１１に示すように、ステップＳ１０６の処理において特定された現在時刻が２００９年１月１１日の１１時１６分であったとすると、制御部１１０は、この現在時刻と所定範囲内（ここでは、例えば、過去２０分以内）にある変更時刻に対応するパラメータを特定する。
【００６６】
変更時刻とカレント情報のパラメータとが、図１１に示すデータ内容であるとき、制御部１１０は、現在時刻の２００９年１月１１日の１１時１６分から遡って２０分以内の変更時刻に対応している、音色についてのパラメータ及びテンポ値についてのパラメータを特定する。そして、制御部１１０は、これらパラメータ以外のパラメータ（伴奏パターンについてのパラメータ）をレジストレーション情報における伴奏パターンのパラメータに更新する（図１１参照）。
【００６７】
図１２に、図１１の場合における更新後のカレント情報のデータ内容の一例を示す。図１２のように、カレント情報のうち、伴奏パターンのパラメータが更新されており、この更新によって、伴奏パターンの番号が３番から４番へ変更されている。また、伴奏パターンについてのパラメータに対応する変更時刻は、前記の現在の時刻である２００９年１月１１日の１１時１６分を表すデータに更新される。なお、変更時刻は、更新されなくてもよい。この場合には、ユーザが複数種のレジストレーション情報を連続的に呼び出したとしても、１回前に呼び出したレジストレーション情報のパラメータは、新たに呼び出したレジストレーション情報のパラメータに更新されるので、ユーザは、複数種のレジストレーション情報を呼び出して、最近変更されたパラメータはそのままにして、複数種の楽音発生態様を比較できる。
【００６８】
なお、この更新では、レジストレーション記憶領域に記録されていたレジストレーション情報（指定レジストレーション情報）はそのままとする。
【００６９】
制御部１１０は、例えば、呼出指示信号が供給されていない場合に、呼出操作が行われていないと判別する（ステップＳ１０２；ＮＯ）。この場合、制御部１１０は、変更操作が行われたかを判別する（ステップＳ１０３）。変更操作とは、ＳＷ部１３２の現在の設定状態、つまり、カレント情報のパラメータを変更する操作である。
【００７０】
例えば、ＳＷ部１３２は、カレント情報のパラメータを変更するための１以上の変更用スイッチを有し、ユーザは、変更したいパラメータに応じて、所望の変更用スイッチを操作する。
【００７１】
ＳＷ部１３２は、操作された変更用スイッチ（つまり、パラメータの変更内容）を特定するスイッチ操作信号（変更指示信号）を生成して制御部１１０に供給する。制御部１１０は、この変更指示信号が供給された場合に、変更操作が行われたと判別し（ステップＳ１０４；ＹＥＳ）、ＳＷ部１３２から供給されたスイッチ操作信号に基づいて、このスイッチ操作信号が特定する変更内容で、カレント記憶領域に記録したカレント情報の内容、つまり、パラメータを変更する（ステップＳ１０５）。これによって、現在の楽音発生形態が変更される。
【００７２】
カレント情報が図１３に示す内容であった場合、例えば、ユーザが伴奏パターンを指定する番号をインクリメントする変更操作を行った場合、ＳＷ部１３２は、この操作に対応する変更指示信号を制御部１１０へ供給する。制御部１１０は、この変更指示信号を受け取ると、この変更指示信号に従って、カレント情報の伴奏パターンを指定する番号を３から４に変更する。これによって、指定される伴奏パターンは番号３に対応する伴奏パターンからから番号４に対応する伴奏パターンに変更される。そして、制御部１１０は、この変更とともに、現在（変更時）の時刻を、変更時刻として、このパラメータに対応付けて記録（更新）する（図１３参照）。
【００７３】
制御部１１０は、変更指示信号が供給されていない場合（ステップＳ１０３；ＮＯ）には、また、ステップＳ１０５又はＳ１０７の処理を行った後、再びステップＳ１０１の処理に戻る。
【００７４】
本実施形態では、上記処理によって、制御部１１０は、操作部１３０が受け付けた変更操作に応答してカレント記憶領域に記録されたカレント情報のパラメータを変更するとともに、変更した時刻をこの変更したパラメータに対応付けてカレント記憶領域に変更時刻として記録する。また、制御部１１０は、操作部１３０が受け付けた呼出操作に応答して、カレント記憶領域に記録されたカレント情報が含む複数のパラメータのうち、現在の時刻から遡って所定の範囲内にある変更時刻に対応付けられているパラメータ以外のパラメータを、呼出操作で指定されたレジストレーション情報に含まれるパラメータに更新する（つまり、最近変更されたパラメータを維持する）。
【００７５】
なお、電子楽器１００の操作部１３０は、呼出操作として、最近変更されたパラメータを維持する前記呼出操作と、最近変更されたパラメータを維持しないでカレント情報のパラメータをレジストレーション情報のパラメータに全て更新する呼出操作とを分けて受け付けても良い。この場合、制御部１１０は、二種類の呼出操作それぞれに応じて、レジストレーション情報を呼び出す。つまり、制御部１１０は、二種類の呼出操作それぞれに応じて、最近変更されたパラメータを維持しながら他のパラメータをレジストレーション情報のパラメータに更新するか、最近変更されたパラメータを維持しないでカレント情報のパラメータをレジストレーション情報のパラメータに全て更新してもよい。
【００７６】
現在の時刻（レジストレーション情報を呼び出した時刻）と所定の範囲内にある時刻（変更時刻）のパラメータは、ユーザが最近変更したパラメータであるので、レジストレーション情報を呼び出す場合でもユーザはこのパラメータを維持したい可能性が高い。本実施形態では、上記の構成によって、レジストレーション情報が呼び出されたときに、最近更新したパラメータ（特に、最後に変更したパラメータも含めて複数のパラメータ）が維持される。これによって、ユーザが維持したいパラメータを精度良く維持しながら、楽音の発音形態を他の楽音の発音形態に切り替えられる。このため、本実施形態によれば、ユーザの意図に沿った楽音発生形態の変更が可能になっている。
【００７７】
次に、ユーザが電子楽器１００を演奏するときに、電子楽器１００が行う演奏処理を図１４のフローチャートを参照して説明する。
【００７８】
この処理は、例えば、ユーザが操作部１３０のＳＷ部１３２を操作することによって、演奏モードを選択している場合に行われる。またこの処理は、例えば、ユーザが操作部１３０のＳＷ部１３２を操作して他のモード（例えば、楽音の発生形態の設定モード）を選択することによって、終了する。
【００７９】
本実施形態においては、図３に示すように、操作部１３０の鍵盤１３１は伴奏鍵域と、メロディ鍵域に分割されている。
【００８０】
また、制御部１１０は、制御部１１０で使用される動作クロック（例えば、ＣＰＵ１１１内の図示しないクロック発生部が生成する動作クロック）から、伴奏パターンの読み出しの基本となるクロックを生成する。この読み出しクロックは、１／９６音符の長さを最小周期単位として、演奏経過時間を計時する。制御部１１０は、この１／９６音符の長さを、カレント情報によって特定されるテンポ値に応じて調整する。
【００８１】
伴奏パターンデータは、上述のように、複数組のイベントデータ及びタイムデータを含む（図７の説明参照）。ここで、イベントデータは、各コード（和音）構成音、ドラム音、ベース音の発音・消音を音源部１４１に指示するデータである。また、タイムデータは、イベントデータを読み出すタイミング（つまり、発音するタイミング）を指定するデータである。この両データが、一組毎に互いに対応付けられる。
【００８２】
また、イベントデータ及びタイムデータの組は、ＲＯＭ１１２の記憶領域において、発音のタイミングの早いほうから遅い方へ、時系列順に記録されており、制御部１１０は演奏処理において、イベントデータと、タイミングデータと、を、時系列順に、一組ずつ順次読み出して、記憶部１２０に保持する。
【００８３】
まず制御部１１０は、伴奏のスタートの指示がユーザによってなされたかを判別する（ステップＳ２０１）。例えば、ＳＷ部１３２は、伴奏をスタートさせるスタートスイッチを有し、ユーザは、伴奏をスタートさせたいタイミングで、スタートスイッチを操作する。この操作によって、ＳＷ部１３２は、操作されたスタートスイッチを特定するスイッチ操作信号（伴奏開始指示信号）を制御部１１０に供給する。制御部１１０は、例えば、この伴奏開始指示信号が供給された場合に、伴奏のスタートの指示が行われたと判別する（ステップＳ２０１；ＹＥＳ）。この場合、制御部１１０は、演奏経過時間の計時を開始するとともに、ステップＳ２０２の処理を行う。
【００８４】
一方、制御部１１０は、例えば、ユーザがスタートボタンを押さないで伴奏開始指示信号が供給されていない場合に、伴奏のスタートの指示が行われていないと判別し（ステップＳ２０１；ＮＯ）、再度ステップＳ２０１の処理を行う。このように、制御部１１０は、伴奏の処理のスタートの指示があるまで、後の処理を行うことを待機する。
【００８５】
次に、制御部１１０は、鍵盤１３１の伴奏鍵域での押鍵操作がコード演奏であるか否か判別する（ステップＳ２０２）。つまり、制御部１１０は、この押鍵により指定された音高がコードを構成しているかを判別する。
【００８６】
制御部１１０は、鍵盤１３１から供給される押鍵信号に基づいて、伴奏鍵域において押鍵された鍵を特定する。押鍵された鍵は押鍵信号に含まれる鍵番号によって特定でき、この特定によって、押鍵された鍵の音高も特定される（以下同じ）。ここで、押鍵された鍵が複数かつ夫々の音高の組み合わせがコードを構成している場合に、この押鍵操作がコードを弾いたものであると判別する（ステップＳ２０２；ＹＥＳ）。一方、押鍵信号が供給されない、又は、供給された押鍵信号に基づいて特定した前記押鍵された鍵がコードを構成していない場合には、この押鍵操作がコードを弾いたものでないと判別する（ステップＳ２０２；ＮＯ）。
【００８７】
制御部１１０は、ＲＯＭ１１２等が記憶する、音高の組み合わせとコード（コードの種別とルート音とから成る）とを対応付けたコード表を参照して、押鍵された複数の鍵夫々の音高の組み合わせと一致するコードが存在するか否かによって、押鍵操作がコードを構成するか判別する。
【００８８】
制御部１１０は、押鍵操作がコードを弾いたものでないと判別した場合（ステップＳ２０２；ＮＯ）、伴奏パターン内のイベントデータの記憶部１２０からの読み出しタイミングであるか否かを判別する（ステップＳ２０３）。これは、制御部１１０が現在記憶部１２０に読み出している伴奏パターンのタイムデータが示す時間が、制御部１１０が計時している現在の演奏経過時間と同じ時間であるか否かによって判別される。両者が同じである場合には、制御部１１０は、このタイムデータと組になるイベントの読み出しタイミングであると判別する（ステップＳ２０３；ＹＥＳ）。両者が異なる場合には、制御部１１０は、イベントの読み出しタイミングでないと判別する（ステップＳ２０３；ＮＯ）。
【００８９】
制御部１１０は、イベントの読み出しタイミングであると判別した場合（ステップＳ２０３；ＹＥＳ）、現在制御部１１０がこのタイムデータと組になっているイベントデータを記憶部１２０から発音部１４０へ供給する（ステップＳ２０４）。発音部１４０は、このイベントデータの内容に基づき、伴奏音（楽音）の発音・消音を制御する。なお、イベントデータの発音部１４０への供給後、制御部１１０は、時系列順のその次の組のタイムデータとイベントデータとをＲＯＭ１１２から記憶部１２０に読み出し、この前に記憶部１２０に記録されていたタイムデータとイベントデータとの代わりに、すでに記憶部１２０に読み出しているタイムデータとイベントデータとを記憶部１２０に保持させる。
【００９０】
制御部１１０は、押鍵操作がコードを弾いたものであると判別した場合（ステップＳ２０２；ＹＥＳ）、伴奏パターン内のイベントデータの読み出しタイミングであるかを判別する（ステップＳ２０５）。この処理は、ステップＳ２０３の処理と同じである。
【００９１】
制御部１１０は、読み出しタイミングであると判別した場合（ステップＳ２０５；ＹＥＳ）、制御部１１０は現在記憶部１２０に読み出されているタイムデータと組になっているイベントデータを読み出す。そしてこの読み出されたイベントデータ内の鍵番号が示す音高（イベントデータのデータ内容）を、押鍵操作によって弾かれたコードのコード種及びルート音に基づいて変更する（ステップＳ２０６）。制御部１１０は、変更後のイベントデータを発音部１４０へ供給し（ステップＳ２０７）、発音部１４０は、この供給されたイベントデータの内容に基づいて伴奏音の発音・消音を制御する。なお、ステップＳ２０４と同様に、変更後のイベントデータの発音部１４０への供給後、制御部１１０は、時系列順のその次の組のタイムデータとイベントデータとをＲＯＭ１１２から記憶部１２０に読み出し、この前に記憶部１２０に記録されていたタイムデータとイベントデータとの代わりに、すでに記憶部１２０に読み出しているタイムデータとイベントデータとを記憶部１２０に保持させる。
【００９２】
制御部１１０は、ステップＳ２０４又はステップＳ２０７の処理後、又は、ステップＳ２０３及びステップＳ２０５の処理で読み出しタイミングでないと判別した場合（各ステップのＮＯ）、鍵盤１３１のメロディ鍵域に属する鍵に対して鍵操作（押鍵又は離鍵）がなされたか否かを判別する（ステップＳ２０８）。
【００９３】
制御部１１０は、鍵盤１３１から、上記のような、ユーザによる押鍵操作（ノートオン）又は離鍵操作（ノートオフ）に応じた信号である押鍵信号が供給されたか否かに基づき、鍵操作があったかを判別する（ステップＳ２０８）。前記押鍵信号が供給されていれば、鍵操作がなされたと判別する（ステップＳ２０８；ＹＥＳ）。また、制御部１１０は、前記のような押鍵信号が供給されていなければ、鍵操作がなされなかったと判別する（ステップＳ２０８；ＮＯ）。
【００９４】
制御部１１０は、押鍵又は離鍵操作がなされたと判別した場合（ステップＳ２０８；ＹＥＳ）、押鍵信号に含まれる鍵番号、ノートオン又はノートオフの識別、及びベロシティ信号に基づいて、イベントデータを生成する（生成に必要なデータはＲＯＭ１１２に記録されている）。そして制御部１１０は、この生成されたイベントデータを発音部１４０に供給し、発音部１４０は、供給されたイベントデータの内容に基づいて楽音の発生・消音を制御する。発音部１４０は、イベントデータがノートオフを示す場合には、イベントデータが示す音高の楽音を消音する。一方、イベントデータがノートオンを示す場合には、このイベントデータによって特定される音高の楽音を、イベントデータのベロシティに対応する音量で発音する。なお、このとき、発音部１４０は、楽音をカレント記憶領域に記憶されているカレント情報内の音色の種類を指定する番号によって特定される音色、つまり、現在音源部１４１に設定されている音色で発音する。もし、押鍵された鍵が複数の場合には、制御部１１０は、各鍵について同様の処理を並行して行う。
【００９５】
制御部１１０は、ステップＳ２０９の処理の後、又は、鍵盤１３１から押鍵信号が供給されておらず、押鍵操作がなされていない、と判別した場合（ステップＳ２０８；ＮＯ）に再度ステップＳ２０２の処理に戻る。
【００９６】
上記のような処理によって、制御部１１０は、カレント情報のパラメータによって特定されるテンポ値、伴奏パターンに基づいて伴奏音を発生させるとともに、押鍵がなされた場合には、当該カレント情報のパラメータによって特定される音色の楽音を発生させることができる。このようにして、制御部１１０は、カレント記憶領域に現在記録されているカレント情報が含む複数のパラメータに従って、発音部によって楽音を発生させる。
【００９７】
なお、制御プログラムは、ネットワークを介して電子楽器１００に供給されてもよい。また、制御プログラムは、持ち運び可能な記憶媒体（例えば、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory））に記録され、電子楽器１００に供給（インストール）されてもよい。これらの場合には、ＲＯＭ１１２は、データ等の書き込みが可能な記憶装置（例えば、フラッシュメモリ）に変更される。また、制御プログラムは、ＯＳ（Operation System）と協働してＣＰＵ１１１に後述の処理を行わせるものであってもよい。この場合、ＯＳもＲＯＭ１１２等に記録されるものとする。
【００９８】
制御プログラムが記録された、ＲＯＭ１１２、フラッシュメモリ、又は、持ち運び可能な記憶媒体等は、プログラムを記憶した電子楽器１００（コンピュータ）が読み取り可能な記憶媒体になる。なお、制御プログラムは、機能の少なくとも一部が専用回路によって実現された電子楽器１００を動作させるものであってもよい。つまり、電子楽器１００は、全体として、後述の処理を行うものであればよく、制御プログラムは、そのようなコンピュータを動作させるものであればよい。
【符号の説明】
【００９９】
１００・・・電子楽器、１１０・・・制御部、１２０・・・記憶部、１３０・・・操作部、１４０・・・発音部、１５０・・・表示部、１６０・・・計時部
【図１】
0005578003.tif 000002
【図２】
0005578003.tif 000003
【図３】
0005578003.tif 000004
【図４】
0005578003.tif 000005
【図５】
0005578003.tif 000006
【図６】
0005578003.tif 000007
【図７】
0005578003.tif 000008
【図８】
0005578003.tif 000009
【図９】
0005578003.tif 000010
【図１０】
0005578003.tif 000011
【図１１】
0005578003.tif 000012
【図１２】
0005578003.tif 000013
【図１３】
0005578003.tif 000014
【図１４】
0005578003.tif 000015