ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)パラメータ受付装置の構成:
(2)パラメータ受付処理:
(2−1)出力処理:
(3)他の実施形態:
(1)パラメータ受付装置の構成:
図1Aは本発明の一実施形態にかかるパラメータ受付装置を備える電子楽器10の主要部を示すブロック図である。同図1Aに示す電子楽器10は、演奏操作子50を操作することによって演奏を行うことが可能な電子楽器であり、CPU20と不揮発性メモリ30とRAM40と演奏操作子50と入出力部60と音出力部70とを備える。本実施形態において演奏操作子50は鍵であり、利用者が演奏操作子50を操作することによって出力すべき音を指定する。
入出力部60は、利用者からの指示等を入力する入力部と利用者に各種の情報(画像情報や音声情報)を出力する出力部とを含んでいる。ここでは、入出力部60として、タッチパネル(入力部)を備えたディスプレイ(出力部)を想定する。本実施形態においては、パラメータの入力モードにおいて、当該タッチパネルを備えたディスプレイにパラメータ入力部60aが表示される。パラメータ入力部60aには、パラメータを入力するための操作子が含まれる。そして、利用者が当該パラメータ入力部60aに対する操作を行うと、後述の処理によってCPU20が当該タッチ操作に応じたパラメータを受け付ける。
音出力部70は、演奏操作子50の操作に応じた音を出力するための回路およびスピーカーを備える。CPU20は、RAM40を一時記憶領域として利用して不揮発性メモリ30に記録された各種のプログラムを実行可能である。本実施形態においてCPU20は、当該プログラムの一つを実行することにより、電子楽器10を鍵盤楽器として機能させる。すなわち、CPU20は、当該プログラムにより、演奏操作子50の操作内容を特定し、不揮発性メモリ30に記録されたパラメータデータ30cを参照し、当該パラメータデータ30cが示すパラメータに基づいて演奏中の音の出力態様(音源、エフェクト等)を特定する。そして、CPU20は、パラメータデータ30cが示すパラメータによって特定された出力態様で演奏操作子50の操作に応じた音を出力するための信号を音出力部70に対して出力する。この結果、音出力部70は、指示された音を出力するための楽音信号を生成し、増幅してスピーカーから楽音を出力する。
なお、本実施形態において不揮発性メモリ30には音を示す情報(MIDI情報等)から構成された時系列データ30bを記録することが可能であり、CPU20は当該時系列データ30bに基づいて楽音を出力することが可能である。すなわち、CPU20は、不揮発性メモリ30に記録された時系列データ30bから出力対象となる楽音を示す時系列データ30bを取得してRAM40に記録し、RAM40に記録された時系列データ30bを参照して音高、音の出力開始および終了タイミング等を時系列で特定し、特定された音を順次音出力部70に出力させることでMIDI情報に基づく楽音の出力を行うことが可能である。
なお、本実施形態においてCPU20は、当該時系列データ30bに基づく音声の出力に際して、パラメータデータ30cが示すパラメータに基づいて出力態様を決定することが可能であるとともに、利用者がパラメータ入力部60aで入力したパラメータに基づいて出力態様を決定することも可能である。また、時系列データ30bは、通常のMIDI情報のフォーマットであれば良く、イベントの発生タイミングを示す情報、音の出力開始タイミングおよび出力終了タイミング、音高等を示す情報によって構成される。
本実施形態において、パラメータデータ30cは利用者の入力に基づいて作成される。このために、パラメータ受付プログラム30aが不揮発性メモリ30に記録されている。CPU20は、当該パラメータ受付プログラム30aを実行することにより、利用者が入力するパラメータを受け付け、演奏操作子50による演奏の際のパラメータを示すパラメータデータ30cとして設定することができる。
パラメータ受付プログラム30aは、時系列データ取得部20aとパラメータ受付部20bと出力部20cとをプログラムモジュールとして備えている(図1Aにおいては、CPU20を示すブロック内に時系列データ取得部20aとパラメータ受付部20bと出力部20cとを記入してある)。CPU20は、パラメータ受付プログラム30aの各プログラムモジュールを実行することにより、CPU20は、時系列データ取得手段、パラメータ受付手段、出力手段として機能する。
具体的には、時系列データ取得部20aは、出力対象である音を時系列に示す時系列データを取得する機能をCPU20に実行させるプログラムモジュールである。本実施形態においてCPU20は、時系列データ取得部20aの処理により、パラメータの入力モードにおいて利用者が演奏操作子50を操作して演奏した演奏内容を特定し、当該演奏内容の音を時系列に示す時系列データ30bとして生成する。時系列データ30bが生成されると、CPU20は、時系列データ取得部20aの処理により、生成された時系列データ30bを不揮発性メモリ30に記録する。このように、時系列データ30bが不揮発性メモリ30に記録された状態において、CPU20は、任意のタイミングで不揮発性メモリ30を参照して時系列データ30bを取得し、RAM40に記録することができる。従って、CPU20は、時系列データ取得手段として機能する。
パラメータ受付部20bは、音の出力態様を示すパラメータの入力を受け付ける機能をCPU20に実行させるプログラムモジュールである。本実施形態において、CPU20は、パラメータ受付部20bの処理により、入出力部60に制御信号を出力し、ディスプレイにパラメータ入力部60aを表示させる。当該パラメータ入力部60aにおいては、入力対象のパラメータの種類と入力内容に対応するパラメータが予め決められている。例えば、スライダを模した操作子のアイコンに特定の種類のエフェクタが対応づけられており、当該スライダの操作範囲にエフェクトの程度を示す値域が対応づけられる。なお、音の出力態様は、音の波形を変化させ得る各種の要素によって規定することが可能であり、パラメータ入力部60aにおいては、各種の要素、例えば、音量、音源(人の声や楽器の種類等)、エフェクトやコントロール等についてのパラメータを入力可能に構成される。
利用者がパラメータ入力部60aを操作すると、入出力部60から当該操作内容を示す信号が出力される。CPU20は、パラメータ受付部20bの処理により、当該信号に基づいてパラメータの種類とパラメータ(数値や状態等)を受け付け、受け付けた情報を、現在のパラメータを示す情報としてRAM40に記録する。なお、パラメータの入力モードを実行中に受け付けたパラメータは、当該RAM40に記録されるが、パラメータの入力モードが終了される際には、RAM40に記録されたパラメータを示す情報が不揮発性メモリ30に記録され、パラメータデータ30cとなる。従って、パラメータデータ30cが不揮発性メモリ30に記録された後においては、パラメータデータ30cのパラメータが示す出力態様で利用者が演奏操作子50で演奏する音を出力させることが可能になる。
出力部20cは、利用者が設定したパラメータが示す出力態様で時系列の出力対象としての音を出力する機能をCPU20に実行させるプログラムモジュールである。すなわち、CPU20は、出力部20cの処理により、演奏操作子50の操作内容または時系列データ30bを取得して、出力対象としての音を時系列に特定する。さらに、CPU20は、出力部20cの処理により、現在のパラメータまたは確定済みのパラメータ(パラメータデータ30cが示すパラメータ)を参照し、音の出力態様(音源、エフェクト等)を特定する。そして、CPU20は、当該出力態様で音が示す音を出力するための信号を音出力部70に対して出力する。この結果、音出力部70は、パラメータが示す出力態様の音を出力するための信号を生成し、増幅してスピーカーから音を出力する。
さらに、出力部20cは、パラメータの入力モードにおいて、変更後のパラメータが示す出力態様で音の出力を開始するか否かをパラメータの変更量に基づいて決定する機能をCPU20に実行させる。具体的には、CPU20は、出力部20cの処理により、RAM40を参照して現在のパラメータを特定し、利用者がパラメータを変更する前のパラメータと現在のパラメータとを比較することによってパラメータの変更量を特定する。なお、本実施形態において、利用者がパラメータを変更する前のパラメータは、出力中の音に適用されたパラメータまたは直前に出力が終了した音に適用されたパラメータである。当該変更前のパラメータの取得法についての詳細は後述する。
パラメータの変更量が特定されると、CPU20は、出力部20cの処理により、パラメータの変更量が所定量以上であるか否かを判定する。パラメータの変更量が所定量以上である場合、CPU20は、出力部20cの処理により、変更後のパラメータが示す出力態様で音の出力を開始すると決定する。この場合、変更前のパラメータが示す出力態様で音が出力中であれば、CPU20は、当該出力中の音を停止させる。さらに、CPU20は、出力部20cの処理により、RAM40を参照し、現在のパラメータ(パラメータ入力部60aによる変更後のパラメータ)を取得し、音の出力態様を特定する。そして、CPU20は、当該出力態様で時系列データ30bが示す音を出力するための信号を音出力部70に対して出力する。この結果、音出力部70は、現在のパラメータが示す出力態様で時系列データ30bが示す音の出力を開始する。
なお、時系列データ30bは、上述のように、利用者が演奏操作子50を操作することによって生成されたデータである。従って、本実施形態においては、パラメータの入力者である利用者が、変更後のパラメータで演奏する楽曲を演奏してパラメータ調整の際に出力される音を示す時系列データ30bを生成することができる。このため、本実施形態においては、パラメータ調整後に利用者が演奏する予定である楽曲を利用してパラメータを調整することが可能であり、他の楽曲を利用してパラメータの調整を行う場合と比較して、より直接的にパラメータ変更による効果を確認することが可能である。従って、利用者は、容易にパラメータ調整を行うことが可能である。
一方、パラメータの変更量が所定量より小さい場合、CPU20は、出力部20cの処理により、パラメータの変更後にパラメータの入力が受け付けられることなく所定時間(例えば、2秒等)経過したか否か判定する。すなわち、CPU20は、利用者が最後にパラメータ入力部60aによる入力を行った時点からの経過時間を特定し、当該経過時間が所定時間以上である場合に、パラメータの変更後にパラメータの入力が受け付けられることなく所定時間経過したと判定する。
パラメータの変更後にパラメータの入力が受け付けられることなく所定時間経過したと判定された場合、CPU20は、出力部20cの処理により、RAM40を参照して現在のパラメータを取得し、当該パラメータに基づいて音の出力態様を特定する。そして、CPU20は、当該出力態様で時系列データ30bが示す音を出力するための信号を音出力部70に対して出力する。この結果、音出力部70は、現在のパラメータが示す出力態様で時系列データ30bが示す音の出力を開始する。
以上の構成によれば、パラメータの変更量が所定量以上である場合に変更後のパラメータが示す出力態様で音の出力が自動で開始されるため、利用者は、変更後のパラメータを反映させた状態で出力を行うために、演奏操作子50など、パラメータ入力部60a以外の操作子を操作する必要はない。従って、利用者は、パラメータの調整を完了するためにパラメータの変更を繰り返す場合であっても、パラメータ入力部60a以外の操作子を操作する必要がない。このため、利用者は、パラメータの調整操作のみで所望の出力態様にするための操作を完了させることができ、簡易な操作でパラメータの調整を完了させることが可能である。
また、パラメータに対してどのような変更量で変更が行われた場合であっても、常にパラメータが示す出力態様で音の出力が開始されるように構成されていると、パラメータの変更が行われるたびにパラメータが示す出力態様で音の出力が開始される。従って、パラメータの調整を完了するまでの間に、利用者は、何度も音の出力を聴くことになり、利用者にとって煩わしい。
特に、パラメータの変更が行われた時点で音が出力中である場合に出力を停止し、時系列データ30bが示す時系列の音の先頭からパラメータの変更を反映した出力を開始する構成においては、パラメータに対してどのような変更量で変更が行われた場合であっても、常にパラメータが示す出力態様で音の出力が開始されるように構成されていると、極めて煩わしい仕様になってしまう。
図1Bは、このような仕様における音の出力動作を示す模式図であり、横軸は時間、縦軸はパラメータである。なお、この例においては、パラメータの値域の最小値は1であり、1毎に値を変化させることができる例が想定されている。図1Bにおいては、一点鎖線によって利用者がパラメータを変更させる様子を例示している。すなわち、この例においては、時刻t1〜時刻t3の間において時間の経過とともにパラメータの値が1から順に1ずつ増大されている。また、図1Bに示す例においては横方向の矢印によって時系列データ30bに基づいて出力される音を示している。ここで、矢印の長さは時系列データ30bに基づいて出力される音の全時間長であり、実線部分が実際に出力されている時間の長さ、破線部分はデータが存在するが音は出力されていない時間の長さに相当する。
この例においてパラメータの変化ピッチは1であるため、パラメータに対してどのような変更量で変更が行われた場合であっても、出力中の音が停止され、変更後のパラメータが示す出力態様で音の出力が開始される構成では、パラメータが1変化するたびに出力が開始される。例えば、時刻t1においてパラメータ1が示す出力態様で音の出力が開始した後、時刻t2においてパラメータが2になると、パラメータ1が示す出力態様で出力中の音が停止され、改めてパラメータ2が示す出力態様で時系列データ30bの先頭から音の出力が開始される。
一方、図1Cは、本実施形態における音の出力動作を示す模式図であり、横軸は時間、縦軸はパラメータである。図1Cにおいて、パラメータのピッチや利用者によるパラメータの変更操作例は図1Bと同様である。なお、ここでは、パラメータの変更量が3以上である場合に変更後のパラメータが示す出力態様で音の出力が開始される例を想定している。従って、図1Cに示す例においても、時間の経過とともにパラメータの値が1から順に1ずつ増大されているが、図1Cに示す例においては、時刻t1においてパラメータ1が示す出力態様で音の出力が開始した後、時刻t2においてパラメータが2になってもパラメータ1が示す出力態様での音の出力が継続される。そして、時刻t4において、パラメータが4になると、パラメータ1が示す出力態様で出力中の音が停止され、改めてパラメータ4が示す出力態様で時系列データ30bの先頭から音の出力が開始される。
以上のような図1Bにおける動作と図1Cにおける動作とを比較すると、図1Bにおける動作のように、パラメータの変更のたびに出力中の音の停止と先頭からの出力の開始とが繰り返されると、パラメータの調整を完了するまでの間に何度も先頭からの出力が繰り返され、利用者にとって極めて煩わしい状態となってしまう。また、各タイミングで出力が開始される音のそれぞれにおいてはパラメータが異なるものの、その差異は微少であるため、各タイミングで出力が開始される音同士の差異がわかりづらく、利用者がパラメータを調整しづらい。
しかし、図1Cにおける動作のように、パラメータの変更量が所定量以上になるまで、出力中の音の停止と先頭からの出力の開始とが行われない場合、利用者が煩わしさを感じる状況が発生することを抑制することができる。また、出力中の音が停止されて新たなパラメータが示す出力態様で先頭から音の出力が開始された場合、停止前後の音の出力態様を示すパラメータに所定量以上の差異があるため、両者の差異がわかりやすい。従って、利用者はパラメータを調整しやすい。
さらに、本実施形態においてCPU20は、パラメータの変更後にパラメータの入力が受け付けられることなく所定時間経過した場合、変更後のパラメータが示す出力態様で音の出力を開始する。図1Cに示す例においては、時刻t5におけるパラメータが示す出力態様で音の出力が開始された後、利用者は、時刻t3でパラメータの入力を終了している。また、利用者は、時刻t3以後の所定時間T内にパラメータ入力部60aによるパラメータの変更を行っていない。この場合、時刻t3の時点では、t5での出力態様からのパラメータの変更量が所定量である3に満たないため、音の出力は開始されない。しかし、時刻t3から所定時間Tが経過した場合に、CPU20は、パラメータ9が示す出力態様で音の出力を開始する。従って、この構成によれば、パラメータを微少量変化させた場合であっても、利用者がパラメータの入力以外の操作を行うことなく音を出力することができる。この結果、利用者は、簡易な操作でパラメータの調整を完了させることが可能である。
(2)パラメータ受付処理:
次に、パラメータ受付プログラム30aによってCPU20が実行するパラメータ受付処理を詳細に説明する。図2Aは、当該パラメータ受付処理を示すフローチャートである。当該パラメータ受付処理は、利用者が入出力部60における図示しない操作部を利用して入力モードの開始を指示した場合に実行される。パラメータ受付処理において、CPU20は、まず、初期設定処理を実行する(ステップS100)。
当該初期設定処理は、処理過程で利用される変数やデータの初期化やUIの初期化等を行うための処理を含む。例えば、CPU20は、入出力部60に制御信号を出力し、パラメータ入力部60aを表示させる。また、CPU20は、パラメータ入力部60aに表示された操作子と、各操作子で入力されるパラメータの種類とを対応付け、各操作子での入力内容とパラメータ(パラメータの値や状態)とを対応づける。さらに、CPU20は、パラメータの初期値や時系列データ30bの初期データ(例えば、特定の音高の音のロングトーンなど)をRAM40に記録する。
次に、CPU20は、時系列データ取得部20aの処理により、演奏操作子50が操作されたか否かを判定する(ステップS105)。すなわち、演奏操作子50から任意の演奏操作子50が操作されたことを示す信号が出力された場合、CPU20は、当該信号に基づいて演奏操作子50が操作されたと判定する。ステップS105において、演奏操作子50が操作されたと判定された場合、CPU20は、時系列データ取得部20aの処理により、操作内容を時系列データとして記録する(ステップS110)。
すなわち、CPU20は、操作された操作子を示す情報(音高を示す情報)、各操作子が操作された期間を示す情報(ノートオンおよびノートオフを示す情報)、操作子が操作された強度を示す情報(ベロシティを示す情報)等に基づいて、音出力部70から音を出力すると同時に、時系列の出力対象としての音を示す時系列データ30bを生成し、RAM40に記録する。CPU20は、演奏操作子50が操作されない状態が既定の期間(例えば2秒等)継続するまで時系列データ30bの生成を続け、演奏操作子50が操作されない状態が既定の期間経過した場合に、RAM40に記録された時系列データ30bを取得し、不揮発性メモリ30に記録する。
一方、ステップS105において、演奏操作子50が操作されたと判定されない場合、CPU20は、ステップS110をスキップする。ステップS110が実行された場合、または、ステップS105において演奏操作子50が操作されたと判定されない場合、CPU20は、出力部20cの処理により、出力処理を実行する(ステップS115)。出力処理は、時系列データ30bが示す音を出力するための処理である。
(2−1)出力処理:
図2Bは、出力処理を示すフローチャートである。出力処理において、CPU20は、パラメータ受付部20bの処理により、パラメータの入力を受け付けたか否か判定する(ステップS200)。すなわち、利用者がパラメータ入力部60aによってパラメータを入力する操作を行うと、入力されたパラメータおよびその種類を示す信号が入出力部60から出力される。CPU20が当該信号を取得すると、パラメータの入力を受け付けたと判定する。
ステップS200において、パラメータの入力を受け付けたと判定された場合、CPU20は、パラメータ受付部20bの処理により、受け付けたパラメータ(種類および値や状態)とパラメータを受け付けた時刻とを示す情報をRAM40に記録する(ステップS205)。すなわち、CPU20は、入出力部60から出力された信号に基づいて、利用者が入力したパラメータを特定し、当該パラメータを示す情報を、現在のパラメータを示す情報としてRAM40に記録する。また、CPU20は、図示しない計時回路に基づいて現在の時刻を特定し、現在の時刻を、パラメータを受け付けた時刻を示す情報としてRAM40に記録する。
次に、CPU20は、出力部20cの処理により、音が出力中であるか否かを判定する(ステップS210)。本実施形態において、CPU20は、後述するステップS225において時系列データ30bが示す音の出力を開始する処理を行うため、ステップS210においては、当該ステップS225によって音の出力が開始され、かつ、その後のループの過程で時系列データ30bの最後まで達していない場合に、音が出力中であると判定する。
ステップS210において、音が出力中であると判定された場合、CPU20は、出力部20cの処理により、パラメータの変化量が所定量以上であるか否かを判定する(ステップS215)。この処理を行うため、CPU20は、後述するステップS225において、時系列データ30bが示す音の出力を開始する際に、当該音に対して適用したパラメータを、変更する前のパラメータとしてRAM40に保持しておく。ステップ215においてCPU20は、RAM40を参照し、ステップS200で入力を受け付けたパラメータの種類を特定し、当該種類のパラメータについて、出力中の音(または直前に出力が終了した音)に適用されたパラメータと、現在のパラメータとを特定する。そして、CPU20は、両者の差分が所定量以上であるか否かを判定する。
ステップS215において、パラメータの変化量が所定量以上であると判定された場合、CPU20は、出力部20cの処理により、出力中の音を停止する(ステップS220)。すなわち、CPU20は、以前のループの過程で出力が開始された音を停止させる。そして、CPU20は、出力部20cの処理により、時系列データ30bの先頭の音から現在のパラメータでの出力を開始する(ステップS225)。すなわち、CPU20は、RAM40を参照して現在のパラメータを取得し、音の出力態様を特定する。また、CPU20は、時系列データ30bが示す音を先頭から時系列の順序で処理対象とし、各処理対象を現在のパラメータが示す出力態様で出力するための信号を生成する。さらに、CPU20は、生成された信号を時系列の順序で音出力部70に対して出力する。
この結果、音出力部70は、現在のパラメータが示す出力態様で時系列データ30bが示す音の出力を先頭から開始する。CPU20は、当該時系列データ30bが示す音の出力を、ステップS220が実行されるまで、または、時系列データ30bが示す最後の音が出力されるまで継続する。以上の処理により、CPU20は、パラメータの変更量が所定量以上である場合に、時系列データ30bが示す音に変更後のパラメータを適用し、先頭から出力を開始する。
ステップS215においてパラメータの変化量が所定量以上であると判定されない場合、CPU20は、出力処理を終了する。従って、この場合、時系列データ30bが示す音を先頭から出力する処理は行われない。一方、ステップS200においてパラメータの入力を受け付けたと判定されない場合、CPU20は、出力部20cの処理により、パラメータ入力されることなく所定時間が経過したか否かを判定する(ステップS230)。すなわち、CPU20は、図示しない計時回路に基づいて現在時刻を特定する。また、CPU20は、RAM40を参照し、ステップS205において、パラメータを受け付けた時刻として記録された時刻の中から最も遅い時刻を特定する。そして、CPU20は、パラメータを受け付けた時刻の中の最も遅い時刻と現在の時刻との差分が所定時間以上である場合に、パラメータ入力されることなく所定時間が経過したと判定する。
ステップS230において、パラメータ入力されることなく所定時間が経過したと判定された場合、CPU20は、ステップS220以降の処理を実行する(音を出力中でなければステップS220はスキップされる)。従って、パラメータの変化量が微少量(所定量より小さい量)であっても、変更後にパラメータ入力されることなく所定時間経過すると、CPU20は、時系列データ30bが示す音に変更後のパラメータを適用し、先頭から出力を開始する。なお、ステップS230において、パラメータ入力されることなく所定時間が経過したと判定された場合であっても、最後に時系列データが出力されたときから現在までにパラメータの状態が変更されていなければ、ステップS220,S225をスキップし、時系列データを出力しないようにしてもよい。
一方、ステップS230において、パラメータ入力されることなく所定時間が経過したと判定されない場合、CPU20は、ステップS220,S225をスキップして出力処理を終了する。従って、この場合、時系列データ30bが示す音を先頭から出力する処理は行われない。
図2Bに示す出力処理が終了すると、CPU20は、図2Aに示すパラメータ受付処理に復帰し、パラメータ入力の終了指示があったか否かを判定する(ステップS120)。すなわち、CPU20は、利用者が入出力部60における図示しない操作部を利用して入力モードの終了を指示した場合に、パラメータ入力の終了指示があったと判定する。ステップS120において、パラメータ入力の終了指示があったと判定されない場合、CPU20は、ステップS105以降の処理を繰り返す。
一方、ステップS120において、パラメータ入力の終了指示があったと判定された場合、CPU20は、パラメータ受付部20bの処理により、現在のパラメータを不揮発性メモリ30に記録する(ステップS125)。すなわち、CPU20は、RAM40を参照して現在のパラメータを示す情報を取得し、パラメータデータ30cとして不揮発性メモリ30に記録する。この結果、利用者が入力したパラメータが、パラメータデータ30cとして不揮発性メモリ30に記録され、以後、パラメータデータ30cが示すパラメータを演奏操作子50による演奏音に適用することが可能になる。
次に、以上のパラメータ受付処理を実行している過程におけるパラメータ入力操作の流れを説明する。利用者がパラメータの入力モードを開始した直後において利用者は時系列データ30bを作成していない。このため、所望の楽曲を出力しながらパラメータの入力を行いたい利用者は、まず、演奏操作子50を操作する。この結果、CPU20は、ステップS105,S110にて当該演奏操作子50の操作内容を示す時系列データ30bを不揮発性メモリ30に記録する。
この後、CPU20は出力処理を実行するが、この段階では時系列データ30bが示す音の出力は開始されていない。このため、利用者がパラメータ入力部60aによってパラメータを入力すると、CPU20は、ステップS210において音が出力中ではないと判定し、ステップS225を実行する。従って、本実施形態においては、音が出力中ではない状態でパラメータ入力が受け付けられると、パラメータの変更量がどのような量であっても、時系列データ30bが示す音の出力が開始される。
一方、一旦、ステップS225が実行された後においてCPU20は、ステップS120でパラメータ入力の終了指示あったと判定されるまでステップS105〜S115の処理を繰り返す。従って、利用者が演奏操作子50を操作すれば、そのたびに、新たに演奏内容が時系列データ30bとして不揮発性メモリ30に記録されることになる。
さらに、ステップS105〜S115の処理過程で、パラメータ入力が受け付けられた場合、ステップS225で出力が開始された音が最後まで出力されていなければ、CPU20は、ステップS210において音が出力中であると判定する。従って、この場合、パラメータの変化量が所定量以上であれば、CPU20は、ステップS215の判別を経て、ステップS220で出力中の音を停止し、ステップS225において変更後のパラメータで時系列データ30bが示す音の先頭からの出力を開始する。パラメータの変化量が所定量より小さければ、CPU20は、ステップS215の判別を経てパラメータ受付処理に復帰する。この場合において、パラメータ入力の終了指示がなく、演奏操作子50が操作されず、入力されたパラメータの変化量が所定量より小さい状態が維持される限り、CPU20は、ステップS215の判別を経てパラメータ受付処理に復帰し、その過程でステップS115の出力処理を行う処理を繰り返す。
一方、パラメータ入力の終了指示がなく、演奏操作子50が操作されない状態で、利用者がパラメータ入力を停止すると、CPU20は、S200の判定を経てステップS230の判定を行う。この場合、パラメータ入力されることなく所定時間が経過していなければCPU20は、ステップS220、S225をスキップする。従って、この場合、ステップS105〜S115のループが繰り返されるのみで音は出力されない。しかし、この場合においてパラメータ入力されることなく所定時間が経過すると、CPU20はステップS220、S225を実行する。従って、CPU20は、現在のパラメータが示す出力態様で時系列データ30bの初期データが示す音情報を出力する。なお、パラメータ受付処理において、利用者が演奏操作子50を全く操作しておらず、パラメータも全く入力していない状態で所定時間が経過すると、CPU20はステップS230の判定を経てステップS220,S225を実行する。しかし、この場合、利用者は自らの演奏操作によって時系列データ30bを生成しておらず、パラメータも入力していないため、CPU20は、パラメータの初期値が示す出力態様で時系列データ30bの初期データが示す音情報を出力する。なお、利用者が時系列データ30bを生成していない場合や、パラメータを入力していない場合には、CPU20がステップS225をスキップする構成であっても良い。
(3)他の実施形態:
以上の実施形態は本発明を実施するための一例であり、他にも種々の実施形態を採用可能である。例えば、電子楽器10の構成は上述の構成に限定されず、着脱可能な記録媒体に記録された時系列データ30b等が取得される構成であっても良いし、通信I/Fを介して他の装置から時系列データ30b等が取得される構成であっても良い。さらに、不揮発性メモリ30は、各種の情報を保持することができる記録媒体であれば良く、フラッシュメモリ等によって構成可能であるが、他のメモリが利用されても良いし、記録媒体がハードディスクドライブなどの他の媒体で構成されても良い。さらに、時系列データ30bが示す音の出力を利用者の指示によって停止できるように構成されていても良いし、自動的にリピートできるように構成されていても良い。
さらに、パラメータの変化量は、上述のように、出力中の音のパラメータと現在のパラメータとに基づいて特定されても良いが、他の構成が採用されていても良い。例えば、パラメータの変化量は、基準期間内のパラメータの変化等によって定義されてもよい。この定義の場合、CPU20は、パラメータの入力が行われた場合に、RAM40にパラメータの変更履歴を記録する。さらに、CPU20は、ステップS215において、現在より基準期間前の時点でのパラメータと現在のパラメータとの差分をパラメータの変更量として取得し、所定量以上であるか否かを判定する。なお、基準期間は予め決められた期間であり、ステップS230における判定の要素となる所定時間以下の期間である。