以下、この発明の実施の形態を添付図面に従って詳細に説明する。
図1は、本発明に係る演奏データセット編集プログラムを適用可能な電子機器の一実施例を示すブロック図である。この電子機器は例えばスレート型のパーソナルコンピュータやスマートフォン等であって、図1に示す以外の機能を有する場合もあるが、ここでは必要最小限の機能を有する場合について説明する。
この電子機器は、制御部Cによって全体が制御される。制御部Cは図示を省略したCPU、ROMさらにはRAM等からなる独立したコンピュータにより構成されてなり、記憶部Bに記憶された中から任意のアプリケーションソフトウェアプログラムを実行することができる。本電子機器は、制御部Cによる後述の演奏データセット編集プログラム(図3〜図9参照、以下単に編集プログラムと記す)の実行に伴い、演奏データセット編集装置として機能し得る。
タッチパネル部Aは、例えば液晶表示パネル(LCD)等で構成されるタッチパネル式の表示器である。検出部a1は、画面へのユーザタッチ操作を検出する。表示部a2は、後述する「演奏データセット編集画面」(図2参照)を表示するのは勿論のこと、例えば記憶部Bに記憶されている各種データの一覧や制御部Cの制御状態などを表示することもできる。なお、タッチパネル部Aのタッチパネル方式は公知のどのようなものであってもよく、例えば静電容量型、抵抗膜型、光センサ内蔵型などどのようなタイプのものであってもよい。
記憶部Bは、例えばMIDI形式の演奏情報(例えば、発音タイミング、音符長、音高など)が1乃至複数小節にわたって演奏進行順に配列されてなる公知の演奏データや、1乃至複数の演奏データをセットにして記録した演奏データセットであって、演奏データの他に楽音再生時に用いる各種の楽音制御パラメータに関する属性情報を少なくとも含んでなるもの、などを多数記憶する。これらは、例えば利用者自らが生成したものや、電子楽器やサーバ装置等の他の外部機器から通信インタフェースを介して取得したものなどであってよい。さらに、記憶部Bは、制御部Cが実行可能な各種アプリケーションソフトウェアプログラム等を記憶する。こうした記憶部Bはハードディスク等の外部記憶装置であってもよいし、フレキシブルディスク(FD)、コンパクトディスク(CD)、光磁気ディスク(MO)、DVD(Digital Versatile Diskの略)等の着脱自在な様々な形態の外部記憶媒体を利用する記憶装置であってもよい。若しくは、フラッシュメモリ等の不揮発の半導体メモリであってもよい。
楽音再生部Dは、図示を省略した音源/効果回路やアンプさらにはスピーカなどを含んでなり、演奏データに基づいて複数のチャンネル(パート)毎に楽音を発生することができる。各チャンネルにはパートが対応付けられ、各パート毎に楽器音(例えばピアノやギターなど)が割り当てられる。本実施形態において、楽音再生部Dは、バッファ部E(より詳しくは再生バッファe1)に保持された加工データ(属性情報に従って加工された演奏データ、後述する)に基づいて、パート別に1乃至複数小節分の楽音を所定の楽器音にて繰り返し発生することのできるようになっている(所謂ループ再生)。すなわち、楽音再生部Dは制御部Cにより、再生バッファe1に保持されている複数の加工データを並行して同期させながら繰り返し読み出すように制御されて、パート毎に割当済みの楽器音(音色)の楽音を繰り返し発生する。勿論、これに限らず、楽音再生部Dは制御部Cによる制御の元で、通信インタフェース等を通じて外部音源(図示せず)に発音指示するようにしてもよい。楽音再生部Dは制御部Cとは別タスクで動作して、後述のテンポ設定ボタンNにより設定され得る共通の演奏テンポに応じた制御部Cによる時間制御に従って、楽音の再生を進めることができる。
なお、楽音再生部Dは従来のいかなる構成を用いてもよく、例えば専用のDSP(Digital Signal Processor)等によって処理されるソフトウェアシンセサイザなどと称されるソフトウェア処理で構成してもよいし、ディスクリート回路又は集積回路若しくは大規模集積回路等を含む専用ハードウェアで構成してもよい。あるいは、演奏データ(加工データ)に基づくデジタルオーディオデータの生成を制御部Cを構成するコンピュータと同じコンピュータによって行う一方で、生成されたデジタルオーディオデータをDA変換して放音することをハードウェアで構成するといったように、ソフトウェアとハードウェアとを組み合わせた構成であってもよい。また、楽音合成方式としては、波形メモリ方式、FM方式、物理モデル方式、高調波合成方式、フォルマント合成方式等のどのような方式を採用してもよく、またこれらの各種楽音合成方式のいずれを単独または複数を組み合わせたものであってもよい。
バッファ部Eは、現在実行中のアプリケーションやそれに関連するデータを一時的に保持するメモリである。この実施形態に示す各データセットバッファは、ユーザが予め編集候補として指定した複数の演奏データセット(又は、ユーザ指定に関わらず記憶部Bに記憶されている全ての演奏データセット)を記憶部Bから取得し保持したものである(バッファe2,バッファe3参照)。また、ユーザによる新規作成指示に応じてデータの記録されていない空の演奏データセットを保持するためのデータセットバッファもある(言い換えれば既存の演奏データセット以外に、新規に演奏データセットを作成するのに必要なデータ記憶領域を確保したデータセットバッファ、バッファe4参照)。なお、記憶部Bに記憶された演奏データと区別するために、各データセットバッファに保持されるパート別の演奏データを「素材データ」と記す。演奏データが割り当てられていないパートに関しては、当然に素材データを保持しない(図中において「割り当て無し」と表記)。
再生バッファe1は、楽音再生部Dが楽音発生のために用いる加工データを保持する。再生バッファe1には各パート毎に1つの加工データが保持されており、各パートの加工データは図2に示す「演奏データセット編集画面」において所定のユーザ操作が行われることにあわせて適宜更新され得る(詳しくは後述する)。
次に、演奏データセット編集画面(以下、単に編集画面と記す)について図2を用いて説明する。この編集画面は、編集プログラムの開始に伴いその表示が開始されて、編集プログラムの終了に伴いその表示が終了される。
図2に示すように、編集画面には、トランスポート操作子群M、テンポ設定ボタンN、詳細設定ボタンOなどの仮想操作子が表示される。トランスポート操作子群Mは、例えば楽音再生の開始及び停止などを指示する操作子等を含む。テンポ設定ボタンNは演奏テンポを設定するための操作子であり、データセットバッファに保持されたデータセットのいずれか1つが編集対象として特定されている場合には当該データセットにのみ適用される演奏テンポ(属性情報の1種)を設定することができ、前記データセットのいずれもが編集対象として特定されていない場合には全てのデータセットに適用される共通の演奏テンポを設定することができるようになっている。
詳細設定ボタンOは、全てのデータセットに共通して反映させる楽音制御パラメータ、例えばチューニング設定、音量(マスターボリューム)設定、トランスポーズ設定などを行うための操作子、さらにはMIDI通信設定やそれらの設定を一括してファイルに保存する/保存済みの前記ファイルからこれらの設定を読み出すための操作子などである。詳細設定ボタンOが操作されると、図示を省略したメニュー画面が別途表示されて(例えばポップアップ画面など)、ユーザはその中から上記いずれかの処理を選択することができる。
編集画面には上記仮想操作子の他に、データセット表示P及びパート表示Q(又はチャンネル表示)が表示(提示)される。データセット表示Pは、バッファ部Eにデータセットバッファとして保持されているデータセットを表示するとともに、各データセットに記録されている1乃至複数の演奏データ(フレーズ表示R)を表示するものである。これらは、データセット名(図中ではセクションと表記)、演奏データ名(図中ではフレーズと表記)などのそれらを特定可能な固有情報などによって表示される。各データセット表示Pは、演奏データセット編集のためのユーザ操作領域を兼ねる(詳しくは後述する)。パート表示Qは、楽音再生部Dの各チャンネルに割当済みのパートを表示するものである。このパート表示Qは、パート編集のためのユーザ操作領域を兼ねていてもよい。例えば、パート表示Qへのユーザタッチ操作が検知されることにより、該パートに割り当てる楽器音の変更やチャンネルの変更などをユーザが行えるようになっていてよい。
図2から理解できるように、この編集画面において、複数のデータセットそれぞれは画面横方向に並べられるように表示される。他方、各データセットに記録されている1乃至複数の演奏データのそれぞれは1つのパートに割り当てることができるようになっているから、この割り当てに従って各演奏データはデータセット表示P内の該当するパート表示Qに対応する位置に画面縦方向に表示される。すなわち、異なるデータセットの同じパートに割り当てられている各演奏データが同一行に表示されるようにして、つまりは互いに同じパートに対応付けられた異なるデータセットの演奏データを各データセット表示P内の相対する同一位置に提示するようにして、各データセットに記録されている演奏データはマトリックス状に表示される。このとき、データセットによっては全てのパートに割り当てるだけの演奏データが記録されていない場合もあり、その場合、演奏データが割り当てられていないパートに対応する位置には演奏データが表示されないのは勿論である(図中において点線で示した四角枠参照)。なお、ここではパート数(チャンネル数)が4つの場合の表示例を示したが、パート数は4つに限られない。
上記したように、編集画面における各データセット表示Pは演奏データセット編集のためのユーザ操作領域を兼ねる。すなわち、データセット表示Pへのユーザタッチ操作が検知されると、該検知したユーザ操作に応じて演奏データセット編集に関連する各種処理が編集プログラムによって実行される。そこで、この編集プログラムについて、図3〜図9を用いて説明する。図3は、「メイン処理」の一実施例を示すフローチャートである。当該処理は、ユーザによる編集プログラムの開始指示に従い開始されて、ユーザによる編集プログラムの終了指示があるまで繰り返し実行される。
ステップS1は、初期設定処理を実行する。初期設定処理としては、例えばユーザが編集候補に指定した複数のデータセットを記憶部Bから取得する、取得した複数のデータセットを表示してなる「演奏データセット編集画面」(図2参照)をタッチパネル部Aに初期表示する、全パートをミュートオフ(ミュートの解除)する、該プログラムで用いる各種変数をクリアしたり初期値に設定したりするなどがある。なお、この時点では編集候補のうちいずれのデータセットも編集対象として未だ特定されていないことから、データセット表示Pの何れもが強調表示されていない編集画面が表示される。
ステップS2は、タッチパネル部Aに表示した編集画面(図2参照)上で行われたユーザ操作を判断して、該ユーザ操作に応じた各種処理を実行する。ユーザ操作が演奏データセットの切り替え操作であると判断した場合には、「演奏データセット特定処理」を実行する(ステップS3)。ユーザ操作が各データセットの属性情報の設定操作であると判断した場合には、「属性情報設定処理」を実行する(ステップS4)。ユーザ操作が演奏データの差し替え操作であると判断した場合には、「演奏データ差し替え処理」を実行する(ステップS5)。ユーザ操作がデータセットの新規生成操作であると判断した場合には、「演奏データセット新規生成処理」を実行する(ステップS6)。ユーザ操作が演奏データの削除操作であると判断した場合には、「演奏データ削除処理」を実行する(ステップS7)。ユーザ操作がミュートオン/オフ操作であると判断した場合には、「ミュート処理」を実行する(ステップS8)。これらの処理の詳細については後述する(図4〜図9参照)。
ユーザ操作が上記した以外のその他の操作であると判断した場合には、その他処理を実行する(ステップS9)。その他の処理としては、上述したようなトランスポート操作子群Mの各仮想操作子の操作に応じた画面スクロール指示や楽音再生開始/停止の指示、テンポ設定ボタンNの操作に応じた演奏テンポ設定、詳細設定ボタンOの操作に応じた通信設定や設定の保存/読み出しなどの処理がある。ユーザ操作が終了操作であると判断した場合には、当該メイン処理を終了する。
図4は、「演奏データセット特定処理」(図3のステップS3)の一実施例を示すフローチャートである。ステップS11は、ユーザ操作に応じて編集対象のデータセットを特定し、該特定したデータセット(詳しくはデータセットバッファ)に含まれる素材データを当該データセットの属性情報で加工する。ステップS12は、加工された素材データ(加工データ)を再生バッファe1に記録する。ステップS13は、全パート(この例では4つ)のミュートをオフすることによって全パートの楽音を発生可能状態にする。ステップS14は、編集対象に特定されたデータセットを強調表示(表示色の変更等を含んでよい)するように編集画面の表示を更新する。
例えば、図2に示すような初期表示の編集画面において、ユーザにより複数のデータセット表示Pのうち「セクションY」文字列の下半分部分がタッチ操作されると、このセクションYのデータセット1つだけを編集対象として特定する。すると、編集対象に特定したセクションYのデータセット表示Pを、他のデータセット表示Pに比べて強調表示するように編集画面の表示を更新する。また、セクションYに含まれる全ての演奏データ(フレーズ表示R)についても強調表示するように編集画面の表示は更新される。このようにして、編集対象に特定されたデータセットに関する表示のみが強調表示されて、強調表示されていない他のデータセット(つまり編集対象でないデータセット)と区別できるようにする。さらに、編集対象に特定されたセクションYに含まれる素材データがデータセットバッファe3から読み出されて、セクションYの属性情報Yにより加工されてパート別に再生バッファe1に記録される。
この後に楽音再生が指示された場合には(図3のステップS9)、図1に示す再生バッファe1に保持(記録)された加工データに基づいて1乃至複数小節長の楽音を繰り返し再生する。つまり、この場合には、編集対象に特定されたセクションYに含まれる演奏データのみに基づいて楽音が再生される。楽音再生部Dでは、1つの加工データにおいてその楽音再生位置がデータ終端に達すると当該データ先頭に楽音再生位置を戻して再生を引き続き行うことにより、1乃至複数小節長の楽音を繰り返し再生し続ける。また、再生バッファe1には複数の加工データが保持されることから、楽音再生部Dはそれらの加工データを同時に読み出して複数の楽音を同時再生する。
なお、再生バッファe1に保持された加工データに基づいて1乃至複数小節長の楽音を繰り返し再生しているときに、他のデータセットを編集対象に特定するユーザ操作が行われた場合には、再生中の加工データの再生位置がデータ終端に至ってから、新たに編集対象に特定された他のデータセットに含まれる演奏データの再生を行うようにするとよい。すなわち、再生バッファe1を用いた楽音再生は滞りなく適切なタイミングで処理される必要がある。そのために、例えば再生バッファをダブルバッファ構造(二重構造)とするとよい。こうすると、一方の再生バッファで切り替え前の加工データを再生している間に、もう一方の再生バッファに切り替え後の加工データつまり新たに編集対象に特定された他のデータセットに含まれる演奏データ(素材データ)を加工して記録しておくことができる。そして、切り替え前の加工データの再生がデータ終端に達したところで再生バッファの切り替えを行って、以降は新たに編集対象に特定されたデータセットに含まれる演奏データ(加工データ)に基づいて繰り返し楽音を再生すればよい。
図5は、属性情報設定処理(図3のステップS4)の一実施例を示すフローチャートである。ステップS21は、ユーザ操作に応じてセクション属性情報入力ダイアログ(図示せず)を編集画面上に表示する。これにより、ユーザに対して属性情報の入力を促す。ステップS22は、ユーザ入力された情報に従って編集対象に特定されているデータセットの属性情報を更新する。ステップS23は、再生バッファe1に保持されている加工データの元になっている素材データを各データセットバッファから特定する。ステップS24は、特定した素材データを前記ユーザにより更新された属性情報に従って加工する。ステップS25は、加工データを再生バッファe1に記録する。
既に説明したように、再生バッファe1に保持される加工データは、データセットバッファに記憶された素材データを属性情報に従って加工したものである。この属性情報としては、例えば小節数とコード進行などがあり、これらは両方が適用されてよいし、若しくはいずれか一方のみが適用されてもよい。ところで、属性情報として与えられる小節数は、繰り返し再生する際に用いる加工データの音楽的な長さを表す。他方、データセットバッファに記憶される素材データは任意の小節数のデータであるが故に、これらの素材データの複数をタイミングをあわせて繰り返し同時再生するには、属性情報として与えられる小節数に従って各素材データの小節数を揃える加工を行う必要がある。例えば、属性情報として与えられる小節数が3小節である一方で素材データの小節数が4小節であるような場合には、1〜3小節のみを再生するように加工された素材データが再生バッファe1に加工データとして記録される。属性情報として与えられる小節数が3小節である一方で素材データの小節数が2小節の場合には、一回半の繰り返し再生により3小節分(すなわち、素材データの1小節目、2小節目、1小節目からなる3小節分)の楽音を再生するように加工された素材データが再生バッファe1に記録される。このような小節数に基づく素材データの加工方法は従来のいかなる方法であってもよいことから、ここでの説明を省略する。
他方、属性情報として与えられるコード進行は、加工データが再生される際に従うべきコード進行を規定するものであって、例えば1小節目が「Cmaj7」、2小節目が「Am7」、3節目が「Dm7」、4小節目が「G7」のように演奏順に規定されている。そこで、このコード進行によって素材データの元の音高を適宜変更した加工データが再生バッファe1に記録される。すなわち、素材データは時間進行順に複数のノートに関する音高情報を持つが、そのノートの音高がコード進行によって適宜指定されるコードの構成音に変更、あるいはコードと矛盾しない音高に変更される。こうしたコード進行に基づく素材データの加工方法は、従来のいかなる方法であってもよい。
図6は、演奏データセット差し替え処理(図3のステップS5)の一実施例を示すフローチャートである。ステップS31は、ユーザ操作に応じて編集対象のデータセット以外の他のデータセットに含まれる素材データ(差し替え先と呼ぶ)を選択し、該選択した素材データと同じパートに割り当てられた編集対象のデータセットに含まれる素材データ(差し替え元と呼ぶ)を特定する。ステップS32は、差し替え先の素材データを編集対象に特定されているセクションの属性情報で加工する。ステップS33は、この加工データを再生バッファe1が保持する該当パートの加工データに上書きする(つまりは差し替える)。ステップS34は、差し替え先の素材データを強調表示する一方で、差し替え元の素材データの強調表示を標準表示に戻すように編集画面の表示を更新する。
例えば、図2に示すような編集画面において、既にセクションYのデータセットが編集対象に特定されている場合に、編集対象でない例えばセクションXのデータセットの「フレーズ4」文字列の下半分部分がタッチ操作されると、このセクションXのフレーズ4が差し替え先に選択される。すると、セクションXにおいて差し替え先として選択されたフレーズ4のみを強調表示すると共に、セクションXのフレーズ4と同じパートに割り当てられているセクションYのフレーズ2の強調表示を標準表示に戻すように編集画面の表示を更新する。セクションYのフレーズ2以外のフレーズの強調表示はそのまま維持される。
そして、図1に示すデータセットバッファe2からフレーズ4に対応する素材データ4を読み出し、これをセクションXの属性情報XでなくセクションYの属性情報Yによって加工し、その加工データ4(図示せず)を再生バッファe1の加工データ2に上書きする。すなわち、フレーズ4はセクションXに属するにもかかわらずセクションYの属性情報Yによって加工される。こうした再生バッファe1の更新に従い、フレーズ2のかわりにフレーズ4に基づいて楽音が再生される。このようにして、編集対象のデータセットの演奏データを他のデータセットの同じパートの演奏データと差し替えることができる。
図7は、演奏データセット新規生成処理(図3のステップS6)の一実施例を示すフローチャートである。ステップS41は、編集対象のデータセット(空のデータセットでない既存のデータセットの中から特定された、演奏データを含んでなるデータセット)の属性情報に従って新規生成先のデータセットの属性情報を生成する(例えばコピーする)。ステップS42は、再生バッファe1に保持されている加工データの元となっている素材データを特定する(ただしミュートオンされていないパートに関してのみ)。ここで特定される素材データは、編集対象のデータセットに含まれる素材データ(ただし差し替え元を除く)及び差し替え先の素材データである。ステップS43は、特定した素材データを新規生成先データセットの素材データとする。ステップS44は、新規生成先データセットを新たに編集対象に特定する。ステップS45は、新規生成先データセットに対応するデータセット表示Pに関する編集画面の表示を更新する。
例えば、図2に示すようなフレーズ表示Rが何も表示されていない空のデータセットである「セクションZ」文字列の上半分部分をタッチ操作することにより、ユーザは既存のデータセットを利用して新規のデータセットを新たに生成することができる。新規生成先データセットは、その時点で再生バッファe1に保持されていた加工データの元の素材データが、各データセットバッファ(e2,e3)からデータセットバッファe4にコピーされることにより生成される。このとき、例えば編集対象であるデータセットYのフレーズ2がデータセットXの同じパートのフレーズ4と差し替えられているような場合には、新規生成先データセットには差し替え元ではなく差し替え先の素材データを反映する。また、データセットYの属性情報Yが新規生成先データセットの属性情報としてコピーされる。したがって、この場合には、属性情報Y、素材データ1、素材データ4、素材データ3からなる「セクションZ」のデータセットが新規に生成されることになる(図1において一点鎖線で示す)。そして、編集画面においては、新規に生成したセクションZのデータセットに対応するデータセット表示Pを強調表示すると共に、該データセット表示P内に素材データ1、素材データ4、素材データ3に対応する各フレーズ表示Rを強調表示により新たに追加表示する。これによれば、ユーザは、特定した既存のデータセットに含まれる演奏データとそれ以外の既存のデータセットに含まれる任意の演奏データとからなる差し替え編集後の演奏データセットを、新規の演奏データセットとして既存の演奏データセットとは別に記憶しておくことが容易にできる。
図8は、演奏データ削除処理(図3のステップS7)の一実施例を示すフローチャートである。ステップS51は、ユーザ操作に応じて削除対象に指定された演奏データ(素材データ)をデータセットバッファから削除する。ステップS52は、削除した素材データを加工した加工データが再生バッファe1に保持されているか否かを判断する。再生バッファe1に保持されていると判断した場合は(ステップS52のYES)、再生バッファe1から当該加工データを削除する(ステップS53)。ステップS54は、削除した素材データに対応するフレーズ表示Rを削除するように編集画面の表示を更新する。
図9は、ミュート処理(図3のステップS8)の一実施例を示すフローチャートである。ステップS61は、ユーザ操作に応じて指定される演奏データに基づく楽音のミュートオン(ミュートの開始)/ミュートオフ(ミュートの解除)を実行する。ステップS62は、ミュートオンされた場合に該当のフレーズ表示Rを強調表示しないように編集画面の表示を更新する。
例えば、図2に示す編集画面においてセクションYのデータセットが編集対象であり、該当のデータセット表示P及びフレーズ表示Rが強調表示されている場合に、フレーズ3へのタッチ操作が行われるたびにフレーズ3のみをミュートオン又はミュートオフに設定し、このフレーズ3の演奏データに基づく楽音を消音する又は消音しないように切り替えることができる。ここではミュートオンに設定されたときに楽音を消音するが、再生バッファe1にあるフレーズ3の加工データは削除されずにそのまま残され、楽音再生部Dはその残されたフレーズ3の加工データを用いての楽音再生を行わないように制御部Cにより制御される。
以上のように、本発明によれば、1乃至複数の演奏データを含んでなる演奏データセットを提示する際に、各演奏データセット単位に当該演奏データセットに含まれる1乃至複数の演奏データを個別に提示する。これにより、複数の演奏データセットのうちのいずれか1つを特定すること、特定した演奏データセット以外の演奏データセットに含まれる演奏データを選択することが容易になる。また、楽音制御のための属性情報を複数の演奏データセットそれぞれに設定することができる。そして、編集対象の演奏データセットに含まれる1乃至複数の演奏データに基づいて楽音を発生する際には、それらの演奏データを前記設定した属性情報に従って制御する。しかし、編集対象以外の他の演奏データセットに含まれる演奏データが選択されている場合、該演奏データには本来ならば別の属性情報(つまりはこの演奏データが属する演奏データセットのために設定した属性情報)が適用されるにも関わらず、前記特定された演奏データセットの属性情報を適用して、これに従って制御する。すなわち、編集対象の演奏データセットに含まれる1乃至複数の演奏データと同じ属性情報に従って、他の演奏データセットに含まれる任意の演奏データについても同様に制御して楽音を発生させるようにした。これにより、ユーザは特定した演奏データセット以外の演奏データセットに含まれる演奏データを任意に選択した場合に、選択した演奏データが反映された楽音を実際に聴いて確認することができる。以上のことから、ユーザは、特定した演奏データセット以外の演奏データセットに含まれる演奏データを適宜に反映させながらの演奏データセット編集を、反映したい演奏データを随時に選択しながら(差し替えながら)かつ実際に選択した演奏データが反映された楽音を聴きながら行うことが容易にできるようになる。
以上、図面に基づいて実施形態の一例を説明したが、本発明はこれに限定されるものではなく、様々な実施形態が可能であることは言うまでもない。例えば、上述した実施例では、演奏データセットに含まれる演奏データのコピー(素材データ)をデータセットバッファ内に記憶させ、素材データを元にする加工データを再生バッファに保持させてから、この加工データに基づき楽音を繰り返し再生するようにしている。しかし、これにかえて、データセットバッファに素材データを記憶させずに、データセットバッファには記憶部に記憶された演奏データを参照する情報(例えばインデックス、ポインタ、アドレスなど)を記憶させておくようにしてもよい。この場合にはさらに、再生バッファに加工データを予め保持しておくことなしに、楽音再生時には前記参照情報に従って記憶部から該当の演奏データを適宜に読み出しながらリアルタイムに属性情報に応じた楽音制御を行って、楽音を発生させるようにしてもよい。
なお、演奏データはMIDIデータに限らず、オーディオデータであってもよい。その場合、属性情報としてセクション長を表す時間を設定できるようにするとよい。長さの異なる複数のオーディオデータが記録されている演奏データセットを用いて複数の楽音を同時に再生する場合には、それぞれのオーディオデータを時間伸長圧縮して同じ長さに揃えながら楽音を再生する必要がある。このオーディオデータの時間伸長圧縮処理を行うために、属性情報としてセクション長を表す時間を設定できるようにする。あるいは、演奏データを単なるオーディオデータのみで記録せずに、オーディオデータと共に該オーディオデータが何小節分の録音かを表すメタ情報や、該オーディオデータ中の小節区切りの時間的位置を表すメタ情報及び各拍の時間的位置を表すメタ情報などと記録しておき、この場合に属性情報として小節数を設定できるようにしてあってもよい。この場合、各オーディオデータは付随するメタ情報も参照されて、属性情報の小節数に合わせてそれぞれの繰り返し回数が決められたり、時間伸長圧縮処理する度合いなどが決められたりする。さらには、属性情報としてグルーブ情報(ノリを感じさせるために拍どおりではなく少しずらす度合いに関する情報)も設定できるようにし、各拍の時間的位置を表すメタ情報を参照しながらよりこまかな時間単位で時間伸長圧縮できるようにしてもよい。
なお、属性情報は上述した小節数やコード進行あるいはグルーブ情報などの他にも、例えばテンポ、音量、EQ、エフェクトなどであってよい。
なお、上述した実施例では、ユーザが既存のデータセットを利用して新規の演奏データセットを生成する例を示したが、ユーザが任意の演奏データを1つずつ選択しながら新規の演奏データセットを生成できてもよいことは言うまでもない。
なお、演奏データの差し替えを行った場合には、編集対象のデータセットに含まれる差し替え元の演奏データを他のデータセットに含まれる差し替え先の演奏データで上書きすることによって、編集対象のデータセットを編集(再生成)できてよい。
なお、演奏データセットは、例えば「ジャズ用ドラムキット」や「ハードロック用ドラムキット」を含み得る。この場合、各データセット(ドラムキット)には、ドラムキットを構成する楽器の音色が属性情報として含まれる。例えば「ジャズ用ドラムキット」には、ジャズに適したスネアドラムの音色やジャズに適したバスドラムの音色が含まれる。また、「ハードロック用ドラムキット」にもハードロックに適した音色が含まれる。この場合にはさらに、属性情報としてエフェクト設定が割り当てられ、「ジャズ用ドラムキット」にはジャズに適したエフェクト設定、「ハードロック用ドラムキット」にはハードロックに適したエフェクト設定が割り当てられるようになっていてよい。
なお、上述した編集画面では各演奏データセットに含まれる演奏データをパート別に並べて表示した例を示したがこれに限らない。例えば、上記のように演奏データが「ジャズ用ドラムキット」や「ハードロック用ドラムキット」などで用いられるようなパート別に割り当てられない類のデータであるような場合には、少なくとも各演奏データセット毎に分けて演奏データをランダムに表示すればよく、異なるデータセット間で演奏データの配置位置を揃えて表示する必要はない。上述のように、例えばパートなどによって各データセットに含まれている演奏データが対応付けられていたとしても、これらの演奏データの配置位置を揃えて表示しなくてもよい。
なお、上述した実施例の電子機器は表示部と検出部とを兼ねたタッチパネルを備えるものを示したが、これに代えて、ディスプレイからなる表示部とマウスからなる検出部とを備え、前記ディスプレイ上に提示された演奏データの選択や演奏データセットの特定を前記マウスの操作によって行えるようにしてもよい。あるいは、ディスプレイからなる表示部とマトリックス状にスイッチを配置したハードウェアからなる検出部とを備え、前記ディスプレイ上にマトリックス状に提示された演奏データの選択や演奏データセットの特定を、その表示位置に対応付けられた前記スイッチの操作によって行えるようにしてもよい。