本発明の一実施形態に係る演奏装置10について説明する。演奏装置10は、以下説明するように、楽曲の演奏音の音響波形を表わす音響波形データ(例えば、wavフォーマットのデジタル音響信号)を取り込んで、その音響波形データから、複数の伴奏波形データ、複数のリズム波形データ及び複数のブリッジ波形データを抽出して、前記抽出した波形データからなるオーディオ音楽要素データセットを生成する。以下、オーディオ音楽要素データセットを生成するために用いる楽曲を原曲と呼ぶ。伴奏波形データは、原曲の主旋律パート(例えば、ボーカルパート及びメロディパート)を除く伴奏パート(例えば、ドラムパート、ベースパート、及びピアノ(コード)パートの合奏)から切り出されて抽出された演奏パターンの音響波形を表す。伴奏波形データは、MIDI伴奏スタイルのデータと同様に、通常数小節分の演奏を表わしており、原曲の導入部、中間部、終端部などの場面(セクション)ごとに選択されて生成される。また、リズム波形データは、原曲のリズムパート(ドラムパート)から切り出されて抽出された演奏パターンの音響波形を表す。リズム波形データは、原曲の区間(例えば2小節)ごとに構成されている。さらに、ブリッジ波形データは、原曲の進行方向の中で特徴的なメロディラインなどを含むブリッジ(サビ)部分の演奏の音響波形を表す。なお、演奏装置10は、複数の楽曲のオーディオ音楽要素データセットを記憶しておくことができる。演奏者は、演奏しようとする楽曲に適合する1つのオーディオ音楽要素データセットを選択し、前記選択したオーディオ音楽要素データセットの中から所望の音楽要素の波形データを、楽曲演奏の進行に沿って、操作子を使って選択し、その波形データに基づいた演奏パターンを再生させることができる。例えば、演奏者は、右手でメロディパートを実際に演奏しつつ、左手で操作子を選択することにより、所望の伴奏、リズム、ブリッジ(サビ)の演奏パターンを指定する。これにより、予め抽出し記憶しておいた所望の楽曲の演奏パターンをメロディパートの演奏に対する伴奏や補助演奏として利用できる。
また、演奏装置10は、従来の演奏装置のように、MIDIデータから構成された複数の伴奏スタイルのデータセット(以下、MIDI伴奏スタイルデータセットと呼ぶ)も備えている。演奏者は、1つのMIDI伴奏スタイルデータセットを選択し、前記選択したMIDI伴奏スタイルデータセットを用いて演奏することもできる。
演奏装置10は、図1乃至図3に示すように、入力操作子11、コンピュータ部12、表示器13、記憶装置14、外部インターフェース回路15、音源回路16及びサウンドシステム17を備えており、これらがバスBUSを介して接続されている。
入力操作子11は、オン・オフ操作に対応したスイッチ、回転操作に対応したボリューム又はロータリーエンコーダ、スライド操作に対応したボリューム又はリニアエンコーダ、マウス、タッチパネルなどから構成される。さらに、入力操作子11には、楽曲を演奏する際に使用される鍵盤装置KYも含まれる。これらの操作子は、演奏者の手によって操作されて、各種パラメータを設定する際、楽曲を演奏する際などに用いられる。また、入力操作子11には、例えば、電子オルガンの足鍵盤が含まれても良い。演奏者が入力操作子11を操作すると、その操作内容を表す操作情報がバスBUSを介して、後述するコンピュータ部12に供給される。
例えば、図2に示すように、入力操作子11には、音楽要素スイッチPSが含まれる。音楽要素スイッチPSには、セクション選択スイッチSSが含まれる。セクション選択スイッチSSには、イントロスイッチIS、メインスイッチMS1、メインスイッチMS2、メインスイッチMS3、フィルインスイッチFS、エンディングスイッチESが含まれる。これらのスイッチは、伴奏スタイル(MIDI及び波形データ)を再生させる際に所望のセクションを選択する際に用いられる。したがって、イントロスイッチIS、メインスイッチMS1、メインスイッチMS2、メインスイッチMS3、フィルインスイッチFS及びエンディングスイッチESのうちの2つ以上のスイッチが同時にオン状態に設定されることは無く、1つのスイッチのみがオン状態に設定される。
また、前記音楽要素スイッチPSには、リズムスイッチRS及びブリッジスイッチBSが含まれる。リズムスイッチRSは、リズム波形データを用いて演奏する際に用いられる。また、ブリッジスイッチBSは、ブリッジ波形データを用いて演奏する際に用いられる。セクション選択スイッチSSのうちの1つのスイッチ、リズムスイッチRS及びブリッジスイッチBSは同時にオン状態に設定可能である。つまり、演奏者は、伴奏波形データ、リズム波形データ及びブリッジ波形データを単独で再生して演奏することもできるし、これらを組み合わせて再生して演奏することができる。
また、演奏装置10は、複数の動作モードを備えており、それらの動作モードを切り替える際に入力操作子11が用いられる。動作モードには、既存の楽曲の音響波形データに基づいてオーディオ音楽要素データセットを生成するオーディオ音楽要素データセット生成モード、予め生成し記憶してあるオーディオ音楽要素データセットを用いて演奏するオーディオ音楽要素演奏モードが含まれる。
コンピュータ部12は、バスBUSにそれぞれ接続されたCPU12a、ROM12b及びRAM12cからなる。CPU12aは、詳しくは後述するオーディオ音楽要素データセット生成プログラム、オーディオ音楽要素演奏プログラムなどをROM12bから読み出して実行する。ROM12bには、オーディオ音楽要素データセット生成プログラム(後述する第1乃至第3アルゴリズムを含む)、オーディオ音楽要素演奏プログラム、その他のプログラムに加えて、初期設定パラメータ、表示器13に表示される画像を表わす表示データを生成するための図形データ、文字データなどが記憶されている。RAM12cには、各種プログラムの実行時に、楽曲データを含む各種データが一時的に記憶される。
表示器13は、液晶ディスプレイ(LCD)によって構成される。コンピュータ部12は、図形データ、文字データなどを用いて表示すべき内容を表わす表示データを生成して表示器13に供給する。表示器13は、コンピュータ部12から供給された表示データに基づいて画像を表示する。例えば、現在選択されているオーディオ音楽要素データセットの名称が表示される。
また、記憶装置14は、HDD、CD、DVDなどの大容量の不揮発性記録媒体と、各記録媒体に対応するドライブユニットから構成されている。記憶装置14には、複数の楽曲の音響波形をそれぞれ表わす複数の音響波形データが記憶されている。音響波形データは、楽曲を所定のサンプリング周期(例えば1/44100秒)でサンプリングして得られた複数のサンプル値からなり、各サンプル値が記憶装置14における連続するアドレスに順に記録されている。楽曲のタイトルを表わすタイトル情報、音響波形データの容量を表わすデータサイズ情報なども音響波形データに含まれている。音響波形データは予め記憶装置14に記憶されていてもよいし、後述する外部インターフェース回路15を介して外部機器から取り込んでもよい。
外部インターフェース回路15は、演奏装置10を他の電子楽器、パーソナルコンピュータなどの外部機器に接続可能とする接続端子を備えている。演奏装置10は、外部インターフェース回路15を介して、LAN(Local Area Network)、インターネットなどの通信ネットワークにも接続可能である。
音源回路16には、ピアノ、オルガン、バイオリン、トランペットなどの複数の楽器音の音響波形を表す音色波形データを記憶した波形メモリWMが接続されている。音源回路16は、CPU12aによって指定された音色波形データを波形メモリWMから読み出して、CPU12aから供給されるMIDIデータの音符情報に基づいて楽音の音響波形データを生成し、サウンドシステム17に供給する。例えば、MIDI伴奏スタイルデータセットを用いて演奏する際、音源回路16は、各セクションに対応する演奏パターンの音響波形を表す演奏パターンデータを生成し、サウンドシステム17に供給する。また、演奏装置10は、音源回路16にて生成された演奏パターンデータを記憶装置14に記憶可能に構成されている。なお、演奏音にコーラス効果、残響効果などの各種効果を付加するエフェクタ回路も、音源回路16に含まれている。
サウンドシステム17には、演奏者が演奏操作のための入力操作子11(鍵盤装置KY)を用いて演奏することにより発生させたMIDI演奏データに基ついて音源回路16が順次楽音合成したメロディパートなどの演奏音データも供給される。また、詳しくは後述するように、サウンドシステム17には、CPU12aからもオーディオ音楽要素データセットに基づいて生成された演奏パターンデータが供給される。サウンドシステム17は、前記演奏音データ及び演奏パターンデータを重畳加算するとともにアナログオーディオ信号に変換するD/A変換器、変換したアナログオーディオ信号を増幅するアンプ、及び増幅されたアナログオーディオ信号を音響信号に変換して放音する左右一対のスピーカを備えている。なお、音源回路16及びサウンドシステム17の機能の全体又は一部の機能を、専用のハードウェアではなく、CPU12aが実行するプログラムによって実現しても良い。
つぎに、オーディオ音楽要素データセットを生成する手順について説明する。演奏者が入力操作子11を用いて、演奏装置10の動作モードをオーディオ音楽要素データセット生成モードに設定すると、CPU12aは、図4に示す、オーディオ音楽要素データセット生成プログラムをROM12bから読み込んで実行する。CPU12aは、ステップS10にて、オーディオ音楽要素データセット生成処理を開始する。つぎに、CPU12aは、ステップS11にて、記憶装置14に記憶されている楽曲のタイトルを表示器13に表示させる。演奏者は、入力操作子11を用いて、所望の楽曲(本実施形態では「Song01」とする)を選択する。CPU12aは、ステップS12にて、前記選択された楽曲の音響波形を表す音響波形データを記憶装置14(例えば、オーディオCD)から読み込む。
演奏装置10は、前記読み込んだ音響波形データに第1アルゴリズム、第2アルゴリズム及び第3アルゴリズムをそれぞれ適用することにより、伴奏、リズム、ブリッジの音楽要素についてそれぞれ複数の伴奏波形データ、リズム波形データ及びブリッジ波形データを生成可能である。演奏装置10は、第1アルゴリズム、第2アルゴリズム及び第3アルゴリズムのうち、前記読み込んだ音響波形データに適用するアルゴリズムを選択可能に構成されている。すなわち、CPU12aは、ステップS13にて、前記読み込んだ音響波形データに適用するアルゴリズムを演奏者に選択させる。例えば、CPU12aは、第1アルゴリズム、第2アルゴリズム及び第3アルゴリズムにそれぞれ対応するアイコン(図示なし)を表示器13に表示する。演奏者は、入力操作子11を用いて、第1アルゴリズム、第2アルゴリズム及び第3アルゴリズムのうちの1つ又は複数のアルゴリズムを選択し、オーディオ音楽要素データセットの生成開始を指示する。
つぎに、CPU12aは、ステップS14にて、前記選択された1つ又は複数のアルゴリズムを、前記読み込んだ音響波形データに適用する。これにより、複数の伴奏波形データ、複数のリズム波形データ及び複数のブリッジ波形データのうち、前記選択されたアルゴリズムに対応する波形データを生成するとともに、前記生成した波形データを入力操作子11に割り当てる。
第1アルゴリズムは、オーディオの楽曲データから伴奏の演奏パターンを表す音響波形データを抽出する技法であり、例えば、特開2014−029425号公報に記載されているアルゴリズムを利用することにより実現される。つまり、CPU12aは、まず、各MIDI伴奏スタイルデータセットを用いて音源回路16に各演奏パターンを表す演奏パターンデータを生成させ、基準波形データ(本発明の基準データ)として記憶装置14に記憶させる。なお、基準波形データは、伴奏セクションごとに生成される。さらに、1つの伴奏セクションに関し、各コード(つまり、全てのルート音及びコードタイプ)の基準波形データが生成される。すなわち、基準波形データは、1つのMIDI伴奏スタイルデータセットが選択され、且つ1つの伴奏セクションが選択された状態において1つのコードが指定されて生成された所定の長さ(例えば2小節)のフレーズの音響波形を表す。基準波形データの名称は、各MIDI伴奏スタイルデータセットの名称と、セクション名と、コード名とを「_」で連結した名称に設定される。例えば、図5に示すように、基準波形データの名称は、「StyleM1_Intro_Am」に設定される。
つぎに、CPU12aは、周知のアルゴリズム(例えば、特開平11−38980号公報)を原曲の音響波形データに適用し、原曲からボーカルパート及びメロディパートを除いた伴奏パートの音響波形データを生成する。つぎに、CPU12aは、前記生成した伴奏パートの音響波形データを複数の区間t1,t2,・・・に分割する。つぎに、CPU12aは、前記分割して得られた各区間の音響波形データと各基準波形データとを比較することにより、前記区間ごとに、最も類似度が大きい基準波形データを検出する。そして、前記検出した基準波形データの区間に対応する区間の音響波形データを前記原曲の音響波形データから切り出し(抽出し)、前記切り出した音響波形データを、前記検出した基準波形データのセクション名及びコード名に関連づけて、伴奏波形データとして記憶する。例えば、図5に示すように、原曲のタイトル、前記検出した基準波形データのセクション名及びコード名を含む名称を、伴奏波形データの名称として設定し、その伴奏波形データを記憶装置14に記憶する。図5に示す例においては、原曲のタイトルは、「Song01」である。そして、区間t1の音響波形データと最も類似する基準波形データのセクション名は「Intro」であり、コード名は「Am」である。よって、この場合、CPU12aは、区間t1の音響波形データの名称を「Song01_Intro_Am.wav」に設定し、伴奏波形データとして記憶装置14に記憶する。つまり、各伴奏波形データの名称は、楽曲のタイトルと、前記検出した基準波形データのセクション名と、コード名とを「_」を介して連結した名称に設定される。これによれば、伴奏波形データの名称によって、その伴奏波形データのセクション及びコードを判別できる。他の区間に関しても、区間t1と同様のルールに従って、伴奏波形データの名称が設定され、それらの伴奏波形データが記憶装置14に記憶される。なお、本実施形態では、基準波形データは、2小節分の演奏パターンを表している。したがって、その演奏パターンに類似する伴奏波形データも2小節分の演奏パターンを表している。
第2アルゴリズムは、例えば、「K.Miyamoto et al.、“Separation of harmonic and non−harmonic sounds based on anisotropy in spectrogram”、Proc. of ASJ Spring Meeting 2008、p.903−904」に記載されているアルゴリズムと同様のアルゴリズムを含む。つまり、CPU12aは、まず、前記読み込んだ音響波形データを用いて原曲のスペクトログラムを計算する。一般に、打楽器の演奏音(単音)のエネルギーは、スペクトログラムにおいて、周波数軸方向には広く分布し、且つ時間軸方向には狭い範囲に分布する傾向にある。一方、ピアノ、ギターなどの演奏音(単音)のエネルギーは、周波数軸方向に間隔をおいて分布し、且つ時間軸方向に広い範囲に分布する傾向にある。上記のような各楽器の演奏音の性質に着目し、原曲のリズムパートとその他の演奏パートとを分離する。すなわち、CPU12aは、前記計算したスペクトログラムに基づいて、原曲のリズムパートのみの演奏を表わす音響波形データを生成する。そして、CPU12aは、前記生成したリズムパートのみの演奏を表わす音響波形データを複数の区間に分割する。なお、本実施形態においては、説明を簡単にするために、これらの区間の長さは、伴奏波形データの長さと同一(つまり、本実施形態では2小節分の長さ)とする。
つぎに、CPU12aは、前記分割して形成された複数の音響波形データのうち、類似度の低い12個の音響波形データを選択する。そして、前記選択した12個の音響波形データの名称を、楽曲の先頭側に位置する音響波形データから末尾側に位置する音響波形データに向かって順に「Song01_Rhythm1.wav」、「Song01_Rhythm2.wav」、・・・、「Song01_Rhythm12.wav」に設定し、リズム波形データとして記憶装置14に記憶する。
第3アルゴリズムは、例えば、特開2004−233965号公報に記載されているアルゴリズムと同様のアルゴリズムを含む。つまり、CPU12aは、前記読み込んだ音響波形データを複数の区間に分割し、各区間のクロマベクトルを計算する。そして、各区間のクロマベクトル同士の類似度を計算し、前記計算した類似度に基づいて、反復的に出現する区間をブリッジ区間として抽出する。本実施形態では、12個のブリッジ区間を抽出する。例えば、出現回数の多い順に12個のブリッジ区間を抽出する。なお、本実施形態においては、説明を簡単にするために、各ブリッジ区間の長さは、伴奏波形データの長さと同一(つまり、本実施形態では2小節分の長さ)とする。つぎに、CPU12aは、前記抽出された12個のブリッジ区間の音響波形データの名称を、原曲の先頭側のブリッジ区間から末尾側のブリッジ区間に向かって順に、「Song01_Bridge1.wav」、「Song01_Bridge2.wav」、・・・、「Song01_Bridge12.wav」に設定し、ブリッジ波形データとして記憶装置14に記憶する。
つぎに、CPU12aは、ステップS15にて、図6に示すように、前記生成した伴奏波形データ、リズム波形データ及びブリッジ波形データを所定の入力操作子11に割り当てる。例えば、セクション選択スイッチSSのうち、前記記憶した各伴奏波形データのセクション名と同一の名称を含むスイッチに、前記各伴奏波形データを割り当てるとともに、コードを指定するために用いられる鍵盤装置KYを構成する1つの鍵又は複数の鍵の組み合わせに割り当てる(以下、単に、伴奏波形データをコードに割り当てるという)。つまり、CPU12aは、伴奏波形データと各スイッチ及び鍵との対応関係を表わすテーブルを生成して記憶装置14に記憶する。なお、演奏者は、伴奏波形データを用いて演奏する際、鍵盤装置KYの所定の第1鍵域(例えば、「C2」〜「B2」)に属する1つ又は複数の鍵を用いてコードを入力する。
図6に示すように、例えば、「Song01_Intro_Am.wav」は、イントロスイッチISに割り当てられる。この例では、1つの伴奏波形データのみがイントロスイッチISに割り当てられている。この場合、「Song01_Intro_Am.wav」は全てのコードに割り当てられる。つまり、このオーディオ音楽要素データセットを用いた演奏の際、イントロスイッチISがオン状態に設定され、且ついずれかのコードが入力されたとき、「Song01_Intro_Am.wav」が、演奏パターンを表す演奏パターンデータを生成するためのデータとして選択されるように設定される。
また、図6に示すように、例えば、「Song01_Main1_FM.wav」は、メインスイッチMS1に割り当てられる。この例では、セクション名が「Main1」であって、且つコード名が「FM」とは異なる複数の伴奏波形データが存在する。これらの伴奏波形データもメインスイッチMS1に割り当てられる。このように複数の伴奏波形データが同一のスイッチに割り当てられる場合、各伴奏波形データは、まず、各伴奏波形データの名称に含まれるコード名と同一のコードに割り当てられる。例えば、「Song01_Main1_FM.wav」は、「FM」に割り当てられる。さらに、いずれの伴奏波形データのコードとも異なるコードには、そのコードに最も近似するコード名を含む名称が付された伴奏波形データが割り当てられる。例えば、「Fm」がいずれの伴奏波形データにも割り当てられていない場合は、「Song01_Main1_FM.wav」が「Fm」にも割り当てられる。この場合、このオーディオ音楽要素データセットを用いた演奏の際、メインスイッチMS1がオン状態に設定され、「FM」又は「Fm」がコードとして入力されたとき、「Song01_Main_FM.wav」が、演奏パターンを表す演奏パターンデータを生成するためのデータとして選択されるように設定される。
また、CPU12aは、各リズム波形データを、リズムスイッチRSに割り当てるとともに、鍵盤装置KYを構成する複数の鍵のうちの所定の第2鍵域(例えば、「C3」〜「B3」)に属する鍵に互いに重複しないように割り当てる。つまり、CPU12aは、各リズム波形データと、リズムスイッチRS及び鍵の組み合わせとの対応関係を表わすテーブルを生成して記憶装置14に記憶する。なお、演奏者は、リズム波形データを用いて演奏する際、鍵盤装置KYの所定の第2鍵域(例えば、「C3」〜「B3」)に属する1つの鍵を押鍵してリズム波形データを選択する。図6に示すように、オーディオ音楽要素データセットを用いた演奏の際、例えば、リズムスイッチRSがオン状態に設定されるとともに、鍵盤装置KYの「C3」が押鍵されたとき、「Song01_Rhythm1.wav」が、演奏パターンを表す演奏パターンデータを生成するためのデータとして選択されるように設定される。
また、CPU12aは、各ブリッジ波形データを、ブリッジスイッチBSに割り当てるとともに、鍵盤装置KYの所定の第3鍵域(例えば、「C4」〜「B4」)に属する鍵に互いに重複しないように割り当てる。つまり、CPU12aは、各ブリッジ波形データと、ブリッジスイッチBS及び鍵の組み合わせとの対応関係を表わすテーブルを生成して記憶装置14に記憶する。図6に示すように、オーディオ音楽要素データセットを用いた演奏の際、例えば、ブリッジスイッチBSがオン状態に設定されるとともに、鍵盤装置KYの「C4」が押鍵されたとき、「Song01_Bridge1.wav」が、演奏パターンを表す演奏パターンデータを生成するためのデータとして選択されるように設定される。
なお、前記生成された複数の伴奏波形データ、複数のリズム波形データ及び複数のブリッジ波形データのうちの1つの波形データが本発明の音楽要素の音響波形を表わしている。また、前記生成された複数の伴奏波形データ、複数のリズム波形データ及び複数のブリッジ波形データのうちの1つの波形データが割り当てられた、音楽要素スイッチPSのうちの1つのスイッチと、1つ又は複数の鍵から構成された操作子群が、本発明の操作子グループに相当する。
上記のようにして生成された複数の伴奏波形データ、複数のリズム波形データ、及び複数のブリッジ波形データからなるオーディオ音楽要素データセットの名称は、その生成元の楽曲のタイトルである「Song01」に関連付けて、「Song01_Component」に設定される。つまり、オーディオ音楽要素データセットの名称は、楽曲のタイトルと「Component」とが「_」で結合された名称に設定される。
再び、図4の説明に戻る。CPU12aは、上記のようにしてオーディオ音楽要素データセットを生成すると、ステップS16にて、オーディオ音楽要素データセット生成処理を終了する。
つぎに、オーディオ音楽要素データセットを用いて、伴奏スタイル、リズム、ブリッジなどの演奏パターンを表す演奏パターンデータを生成して、サウンドシステム17に供給する手順について説明する。演奏者が入力操作子11を用いて、演奏装置10の動作モードをオーディオ音楽要素演奏モードに設定すると、CPU12aは、オーディオ音楽要素演奏プログラムをROM12bから読み込んで実行する。オーディオスタイル演奏プログラムは、図7A及び図7Bに示す演奏パターンデータ生成プログラムと、図8に示す演奏パターンデータ供給プログラムからなる。
まず、演奏パターンデータ生成プログラムについて説明する。CPU12aは、ステップS100にて、演奏パターンデータ生成処理を開始する。つぎに、CPU12aは、ステップS101にて、初期化処理を実行する。例えば、本プログラムにおいて使用するRAM12bの領域(例えば、後述する第1乃至第4領域)に所定の値(例えば、「0」)を書き込む。
つぎに、CPU12aは、ステップS102にて、記憶装置14に記憶されているオーディオ音楽要素データセットの名称をリスト形式で表示器13に表示する。演奏者は、演奏操作に先立って、入力操作子11を用いて、1つのオーディオ音楽要素データセット(例えば、「Song01_Component」)を選択する。つぎに、CPU12aは、ステップS103にて、セクション選択スイッチSSのうちのいずれかのスイッチがオン状態に設定されているか否かを検出する。全てのスイッチがオフ状態である場合には、CPU12aは、「No」と判定し、ステップS109に処理を進める。一方、セクション選択スイッチSSのうちのいずれかのスイッチがオン状態である場合には、CPU12aは、ステップS104にて、第1鍵域に属する鍵のうちの少なくともいずれか1つの鍵が押鍵されているか否かを検出する。いずれの鍵も押鍵されていない場合には、CPU12aは、「No」と判定して、ステップS109に処理を進める。一方、少なくともいずれか1つの鍵が押鍵されている場合には、CPU12aは、ステップS105にて、現在押鍵されている鍵の音高を検出し、現在入力されているコードを検出する。
つぎに、CPU12aは、ステップS106にて、セクション選択スイッチSSのうちの現在オン状態に設定されているスイッチ及び前記検出したコードに割り当てられている伴奏波形データを、RAM12bにおける所定の第1領域に読み込む。つぎに、CPU12aは、ステップS107にて、前記読み込んだ伴奏波形データのコードと前記検出したコードとが同一であるか否かを判定する。前記読み込んだ伴奏波形データのコードと前記検出したコードとが同一である場合には、CPU12aは、「Yes」と判定して、ステップS109に処理を進める。一方、前記読み込んだ伴奏波形データのコードと前記検出したコードとが異なる場合には、CPU12aは、「No」と判定して、ステップS108にて、前記読み込んだ伴奏波形データを前記検出したコードに修正する。
上記のように、図6の第1アルゴリズムによって抽出された伴奏波形データは、MIDI伴奏スタイルのセクション及びコードを指定する操作と同様の操作によって読み出される。
例えば、イントロスイッチISがオン状態に設定され、且つ第1鍵域の「A」キーと「G#」キーとが押鍵され(簡単なコード指定方法)、又は「A」キーと「C」キーと「E」キーが押鍵される(通常のコード指定方法)ことにより、「Am」コードが入力(指定)されているとする。本実施形態では、図6に示すように、「Song01_Intro_Am.wav」がイントロスイッチIS及び全てのコードに割り当てられている。したがって、「Song01_Intro_Am.wav」が第1領域に読み込まれる。この例では、入力されたコードと伴奏波形データのコードが同一であるので、CPU12aは、「Song01_Intro_Am.wav」を第1領域に保持したまま、ステップS109に処理を進める。一方、イントロスイッチISがオン状態に設定され、且つコードとして「AM」が入力されているとする。上記のように、「Song01_Intro_Am.wav」は全てのコードに割り当てられているので、この場合も「Song01_Intro_Am.wav」が選択される。この例では、入力されているコードと伴奏波形データのコードが異なる。そこで、CPU12aは、「Song01_Intro_Am.wav」に、周知のアルゴリズム(例えば、特開2012−203219)を適用する。すなわち、「Song01_Intro_Am.wav」を構成する楽音のうち、鍵音高が「C」である楽音を分離し、前記分離した楽音をピッチチェンジして「C#」に変更した後、再合成する。このようにして、「Song01_Intro_Am.wav」のコードが「AM」に修正される。
つぎに、CPU12aは、ステップS109にて、リズムスイッチRSがオン状態に設定されているか否かを検出する。リズムスイッチRSがオフ状態である場合には、CPU12aは、「No」と判定し、ステップS112に処理を進める。一方、リズムスイッチRSがオン状態である場合には、CPU12aは、ステップS110にて、第2鍵域に属する鍵のうちの少なくともいずれか1つの鍵が押鍵されているか否かを検出する。いずれの鍵も押鍵されていない場合には、CPU12aは、「No」と判定して、ステップS113に処理を進める。一方、少なくともいずれか1つの鍵が押鍵されている場合には、CPU12aは、ステップS111にて、第2鍵域に属する鍵であって現在押鍵されている鍵のうち、最後に押鍵された鍵の鍵音高を検出する。つぎに、CPU12aは、ステップS112にて、前記検出した鍵音高に割り当てられているリズム波形データを、RAM12bにおける所定の第2領域に読み込む。
つぎに、CPU12aは、ステップS113にて、ブリッジスイッチBSがオン状態に設定されているか否かを検出する。ブリッジスイッチBSがオフ状態である場合には、CPU12aは、「No」と判定し、ステップS117に処理を進める。一方、ブリッジスイッチBSがオン状態である場合には、CPU12aは、ステップS114にて、第3鍵域に属する鍵のうちの少なくともいずれか1つの鍵が押鍵されているか否かを検出する。いずれの鍵も押鍵されていない場合には、CPU12aは、「No」と判定して、ステップS117に処理を進める。一方、少なくともいずれか1つの鍵が押鍵されている場合には、CPU12aは、ステップS115にて、第3鍵域に属する鍵であって現在押鍵されている鍵のうち、最後に押鍵された鍵の鍵音高を検出する。つぎに、CPU12aは、ステップS116にて、前記検出した鍵音高に割り当てられているブリッジ波形データを、RAM12bにおける所定の第3領域に読み込む。
つぎに、CPU12aは、ステップS117にて、第1領域、第2領域及び第3領域にそれぞれ記憶されている伴奏波形データ、リズム波形データ及びブリッジ波形データを重畳加算することにより1つの演奏パターンの音響波形を表わす演奏パターンデータを生成し、RAM12bのうちの所定の第4領域に書き込む。そして、以降、CPU12aは、ステップS103〜S117からなる処理を繰り返し実行する。なお、前記演奏パターンデータは、複数のサンプル値からなる。その複数のサンプル値が、再生(D/A変換)される順に第4領域に記憶されている。つまり、第4記憶領域の先頭アドレスから末尾アドレスに向かって順に各サンプル値を読み出してサウンドシステム17に供給することにより、前記演奏パターンデータが表わす演奏パターンを再生することができるように構成されている。
つぎに、演奏パターンデータ供給プログラムについて説明する。CPU12aは、上記の演奏パターンデータ生成プログラムと平行して、演奏パターンデータ供給プログラムを実行する。
CPU12aは、ステップS200にて、演奏パターンデータ供給処理を開始する。つぎに、CPU12aは、ステップS201にて、初期化処理を実行する。例えば、第4領域の1つのアドレスであって、前記演奏パターンデータを構成する1つのサンプル値を記憶しているアドレスを指し示すポインタの値を、前記第4領域の先頭のアドレスに設定する。つぎに、CPU12aは、ステップS202にて、ポインタによって指し示されたアドレスに記憶されているサンプル値をサウンドシステム17に供給する。つぎに、CPU12aは、ステップS203にて、前記ポインタを1つ進める。つまり、ポインタの値を、現在のアドレスから見て1つ後のアドレスに設定する。ただし、現在のアドレスが前記演奏パターンデータの末尾である場合には、前記ポインタの値を第4領域の先頭アドレスに設定する。つぎに、CPU12aは、ステップS204にて、次のサンプリング期間が到来するまで待機した後、ステップS201に処理を進める。これにより、CPU12aは、所定のサンプリング期間(本実施形態では1/44100秒)ごとに、1つのサンプル値をサウンドシステム17に供給する。
したがって、オーディオ音楽要素データセットの伴奏波形データを用いた演奏においては、現在選択されているセクションの演奏パターンが繰り返し演奏される。また、例えば、セクションの演奏途中で現在選択されているセクションとは異なるセクションのスイッチがオン状態に設定された場合であっても途切れることなく演奏が継続される。なお、現在の小節の末尾に到達するまで現在の演奏パターンの演奏を継続し、その後、次のセクションの先頭から演奏が開始されるように構成されている。つまり、CPU12aは、現在の小節の末尾に到達したとき、ステップS117を実行する。また、次のセクションのスイッチがオン状態に設定された時点において、前記次のセクションの途中の位置であって、現在のセクションにおける演奏進行位置に対応する位置から演奏が継続されてもよい。また、小節の途中で新たにコードが入力されたとき、その小節の末尾に到達したとき、前記新たに入力されたコードに変更され、演奏が継続される。なお、エンディングスイッチESに対応するエンディングセクションの末尾に到達すると、CPU12aは、オーディオ音楽要素データセットを用いた演奏を終了し、音楽要素スイッチPSに属する全ての音楽要素スイッチPSをオフ状態に設定する。また、演奏者が入力操作子11を用いて演奏を中止することを選択した場合にも、CPU12aは、オーディオ音楽要素データセットを用いた演奏を終了し、音楽要素スイッチPSに属する全てのスイッチをオフ状態に設定する。
上記のように構成された演奏装置10においては、演奏装置10に伴奏波形データ、リズム波形データ及びブリッジ波形データが予め記憶されているのではなく、所望の楽曲の音響波形データから抽出される。そして、伴奏スタイル、リズム、ブリッジの各演奏パターンを表す演奏パターンデータは、MIDIデータに基づいて音源回路16にて生成されるのではなく、原曲の音響波形データから切り出された波形データに基づいて生成される。したがって、演奏装置10によれば、生演奏のような魅力的な演奏パターンを再生できる。また、演奏装置10においては、伴奏波形データ、リズム波形データ及びブリッジ波形データがそれぞれ割り当てられる操作子群は互いに重複しない。したがって、演奏装置10によれば、既存の楽曲の音響波形データから抽出した各波形データをリアルタイムに択一的又は重畳的に選択(指定)し、前記選択(指定)した波形データを用いて演奏パターンを再生することができる。つまり、伴奏波形データ、リズム波形データ及びブリッジ波形データのうちの1つのみを用いて演奏パターンを再生することもできるし、それらの2つ又は全てを重畳した演奏パターンを再生することもできる。しかも、伴奏波形データに関しては、演奏者が選択(指定)する伴奏スタイルのセクション及びコードに対応する伴奏波形データが無くても、同じセクションの伴奏波形データの構成音を修正することにより、前記伴奏波形データのコードを前記指定したコードに修正できる(S107、S108参照)。よって、従来よりも演奏パターンのバリエーションを増やすことができる。また、既存の楽曲を簡単にアレンジすることができる。なお、伴奏波形データ、リズム波形データ及びブリッジ波形データのうち、2つ又は全ての波形データによってそれぞれ表わされる音響波形を重畳する場合、一部の楽器の演奏が重なる場合がある。この場合、伴奏波形データ、リズム波形データ及びブリッジ波形データのうち、重畳するデータのいずれかの波形データにフィルタを適用して、前記一部の楽器の演奏音の音量を小さくしてもよい。
また、音響波形データに適用するアルゴリズムを選択することができるので、必要な波形データのみを生成することができる。例えば、ブリッジ波形データが不要な場合には、伴奏波形データ及びリズム波形データのみを生成することができる。これによれば、記憶装置14の記憶容量が無駄に消費されることを抑制できる。
さらに、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
上記実施形態においては、3種類のアルゴリズムを楽曲の音響波形データに適用可能であるが、これらのアルゴリズムは、上記実施形態に限られず、他のアルゴリズムであってもよい。例えば、上記実施形態では、伴奏波形データには、ドラムパートが含まれているが、伴奏パートのうちドラムパートを除く演奏パートの演奏が含まれるようなデータを生成するアルゴリズムを適用しても良い。また、上記実施形態では、ブリッジ波形データには、全ての演奏パートが含まれているが、ボーカルパート及びメロディパートのみが含まれるようなデータを生成するアルゴリズムを適用しても良い。上記のように、同時に(並行して)用いる波形データ間において、楽器の種類が重複しないように構成すれば、同時に用いる波形データの組み合わせを自由に変更することができる。例えば、原曲の導入部における伴奏波形データに対し、原曲の中間部のリズム波形データを組み合わせることができる。これによれば、演奏パターンのバリエーションが飛躍的に増える。
また、上記実施形態では、原曲全体を用いてオーディオ音楽要素データセットを生成しているが、原曲の一部を用いてもよい。この場合、取り込んだ原曲の音響波形データのうち、オーディオ音楽要素データセットを生成するために用いる部分を選択可能に構成するとよい。
また、オーディオ音楽要素データセットの各波形データに対し、ピッチを変更することなくテンポを変更する周知のアルゴリズムを適用しても良い。また、原曲の音響波形データ及びオーディオ音響波形データセットがネットワークを介してCPU12aに接続されたサーバーに記憶されていても良い。さらに、そのサーバーがオーディオ音楽要素データセットを生成するプログラムを実行し、その結果をCPU12aは利用できるようにしても良い。また、上記実施形態においては、コードを指定する際に鍵盤装置KYを用いているが、外部機器から受信したコードを表す情報を用いてもよい。