(57)【要約】      （修正有）【課題】ノイズ発生を防ぎつつ、任意のタイミングで、波形データを切り替える。【解決手段】再生中の波形データ２０から別の波形データ２０´への切替指示に応じて、再生中の波形データの切替位置情報および別の波形データの切替位置情報を参照して、別の波形データ２０´上の１つの切替位置、又は、再生中の波形データ２０上の１つの切替位置のいずれか一方を、該再生中の波形データ２０の再生を終了する終了タイミングとして設定する。例えば、切替指示タイミングの直後に存在する別の波形データ２０´上の切替位置より前の５０ミリ秒以内に、再生中の波形データ２０上の切替位置が存在する場合、その切替位置を、終了タイミングとする一方、存在しない場合は、該別の波形データ２０´上の切替位置を、終了タイミングにする。【選択図】図１
2015075661.tif 000002
【特許請求の範囲】
【請求項１】
記憶部に記憶されている複数の波形データを使用した波形再生を、コンピュータに実行させるためのプログラムであって、
前記プログラムは、
時間経過に伴い、前記記憶部に記憶された前記複数の波形データのいずれか１つを再生するステップと、
前記再生するステップによって或る１つの波形データが再生されているときに、別の波形データを指定するステップと、
再生中の前記或る１つの波形データと前記指定された別の波形データとのそれぞれについて、その波形データ上の１以上の切替位置を特定する切替位置情報(25)を取得するステップと、
少なくとも前記指定を受け付けたタイミングに基づいて、前記取得した再生中の波形データの切替位置情報及び前記取得した別の波形データの切替位置情報を参照して、前記別の波形データ上の１つの切替位置、又は、前記再生中の波形データ上の１つの切替位置のいずれか一方を、該再生中の波形データの再生を終了する終了タイミングとして設定するステップと、
前記別の波形データの指定に応じて、前記再生するステップにより再生される波形データを前記再生中の波形データから前記別の波形データへ切り替える制御を行うステップであって、前記再生するステップによる波形データの再生タイミングが、前記設定された終了タイミングに到達することに応じて、少なくとも前記再生中の波形データの再生を終了させる制御を行うステップと
を、前記コンピュータに実行させることを特徴とするプログラム。
【請求項２】
前記設定するステップにおいて、更に、前記設定された終了タイミングを、前記指定された別の波形データの再生を開始する開始タイミングとして設定し、
前記制御を行うステップにおいて、更に、前記再生するステップによる波形データの再生タイミングが、前記設定された開始タイミングに到達することに応じて、前記別の波形データの再生を開始させることを特徴とする請求項１に記載のプログラム。
【請求項３】
前記設定するステップにおいて、
前記指定を受け付けたタイミングの直後に存在する前記別の波形データ上の潜在的切替位置より前の所定時間以内に、前記再生中の波形データ上の切替位置が存在するかどうかを判断し、
前記再生中の波形データ上の切替位置が存在する場合は、その切替位置を、前記終了タイミングとして設定する一方、前記再生中の波形データの切替位置が存在しない場合は、前記指定を受け付けたタイミングの直後に存在する前記別の波形データ上の切替位置を、前記終了タイミングとして設定することを特徴とする請求項１又は２に記載のプログラム。
【請求項４】
前記設定するステップにおいて、更に、前記指定を受け付けたタイミングの直後に存在する音楽的区切り位置を、前記指定された別の波形データの再生を開始する開始タイミングとして設定し、
前記制御を行うステップにおいて、更に、前記再生するステップによる波形データの再生タイミングが、前記設定された開始タイミングに到達することに応じて、前記別の波形データの再生を開始させることを特徴とする請求項１に記載のプログラム。
【請求項５】
前記設定するステップにおいて、
前記指定を受け付けたタイミングの直後に存在する音楽的区切り位置より前の所定時間以内に、前記再生中の波形データ上の切替位置が存在するかどうかを判断し、
前記再生中の波形データ上の切替位置が存在する場合は、その切替位置を、前記終了タイミングとして設定する一方、前記再生中の波形データの切替位置が存在しない場合は、前記指定を受け付けたタイミングの直後に存在する音楽的区切り位置を、前記終了タイミングとして設定することを特徴とする請求項１又は４に記載のプログラム。
【請求項６】
、
複数の波形データを記憶するよう構成された記憶部と、
時間経過に伴い、前記記憶部に記憶された前記複数の波形データのいずれか１つを再生するよう構成された再生部と、
前記再生部によって或る１つの波形データが再生されているときに、別の波形データを指定する指定部と、
再生中の前記或る１つの波形データと前記指定された別の波形データとのそれぞれについて、その波形データ上の１以上の切替位置を特定する切替位置情報を取得する取得部と、
少なくとも前記指定を受け付けたタイミングに基づいて、前記取得した再生中の波形データの切替位置情報及び前記取得した別の波形データの切替位置情報を参照して、前記別の波形データ上の１つの切替位置、又は、前記再生中の波形データ上の１つの切替位置のいずれか一方を、該再生中の波形データの再生を終了する終了タイミングとして設定する設定部と、
前記別の波形データの指定に応じて、前記再生部が再生する波形データを前記再生中の波形データから前記別の波形データへ切り替える制御を行うステップであって、前記再生するステップによる波形データの再生タイミングが、前記設定された終了タイミングに到達することに応じて、少なくとも前記再生中の波形データの再生を終了させる制御を行う制御部と
を備えることを特徴とする波形再生装置。
【請求項７】
記憶部に記憶されている複数の波形データを使用した波形再生を行う方法であって、
前記方法は、
時間経過に伴い、前記記憶部に記憶された前記複数の波形データのいずれか１つを再生するステップと、
前記再生するステップによって或る１つの波形データが再生されているときに、別の波形データを指定するステップと、
再生中の前記或る１つの波形データと前記指定された別の波形データとのそれぞれについて、その波形データ上の１以上の切替位置を特定する切替位置情報(25)を取得するステップと、
少なくとも前記指定を受け付けたタイミングに基づいて、前記取得した再生中の波形データの切替位置情及び前記取得した別の波形データの切替位置情報を参照して、前記別の波形データ上の１つの切替位置、又は、前記再生中の波形データ上の１つの切替位置のいずれか一方を、該再生中の波形データの再生を終了する終了タイミングとして設定するステップと、
前記別の波形データの指定に応じて、前記再生するステップにより再生される波形データを前記再生中の波形データから前記別の波形データへ切り替える制御を行うステップであって、前記再生するステップによる波形データの再生タイミングが、前記設定された終了タイミングに到達することに応じて、少なくとも前記再生中の波形データの再生を終了させる制御を行うステップと
を含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、波形データを使用して楽音を再生する波形再生技術に関する。特に、再生に使用する波形データの切り替えタイミングを制御する技術に関する。
【背景技術】
【０００２】
従来から、例えばアルペジオパターンやベースパターンあるいはリズムパターン等を表す伴奏パターンデータを予め記憶しておき、この伴奏パターンデータに基づいて楽音の自動演奏を行う自動演奏装置が知られている。なお、この明細書において、「楽音」とは、音楽的な音に限らず、音声あるいはその他任意の音を包摂する用語として用いるものとする。
【０００３】
一般的に、伴奏パターンデータは例えば数小節程度の時間長を持っている。自動演奏装置は、１つの伴奏パターンデータ（メインパターンと呼ぶ）を繰り返し再生することによって、その伴奏パターンデータに従う自動演奏を複数小節にわたり連続的に行う。また、自動演奏装置は、メインパターン以外にも、フィルインあるいはブレーク、アドリブ等と称されるメインパターンと比較すると短い時間長（例えば１小節のみ）を持つサブ伴奏パターンデータ（サブパターンと呼ぶ）を用意している。メインパターンを繰り返し再生している最中に、ユーザ操作によりメインパターンからサブパターンへの切り替え指示がなされた場合、自動演奏装置は、そのメインパターンの再生を停止して、指示されたサブパターンを末尾まで再生した後に、自動的にメインパターンの再生に戻る、という制御を行う。
【０００４】
特許文献１には、メインパターンからフィルイン等のサブパターンへの切り替え指示がなされた場合に、メインパターンの現在再生位置が小節途中であったとしても、再生位置が小節区切り位置に到達することを待たずに、直ちにメインパターンからサブパターンへと伴奏パターンデータを切り替える装置が記載されている。この特許文献１においては、伴奏パターンデータとして、所定の規格に従って定義される楽音制御データ（例えばＭＩＤＩ規格により定義されたＭＩＤＩデータなど）が使用されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−２６８８６６号公報
【０００６】
ところで、伴奏パターンデータとしては、上記のようなＭＩＤＩデータの他に、実際の楽器演奏や人の声あるいは自然音などをサンプリングしたオーディオ波形データ（以下、単に「波形データ」ともいう）が使用されることがある。
【０００７】
上記特許文献１に示された従来技術を、波形データで作成された伴奏パターンデータに適用した場合、或る波形データで作成されたメインパターンを別の波形データで作成されたサブパターンに切り替える際に、雑音が発生する、という問題があった。例えば、任意のタイミングでサブパターンの再生を開始すると、或る音の先頭（アタック部）から再生開始できるとは限らず、音の途中部分から発音を開始してしまうこともある。その場合、音の途中部分からの発音がノイズとなり得る。また、例えば、メインパターンの再生でアタック部が発音された直後にサブパターンへの切り替えを行った場合に、切り替え先のサブパターンの切替直後の位置にもアタック部が存在すれば、いわゆる２度鳴りが発生してしまい、それがノイズになる。
【発明の概要】
【０００８】
本発明は上述の点に鑑みてなされたもので、再生中の波形データを別の波形データに切り替える際のノイズ発生を防ぎつつ、任意のタイミングで、波形データを切り替えることができるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、記憶部に記憶されている複数の波形データを使用した波形再生を、コンピュータに実行させるためのプログラムであって、前記プログラムは、時間経過に伴い、前記記憶部に記憶された前記複数の波形データのいずれか１つを再生するステップと、前記再生するステップによって或る１つの波形データが再生されているときに、別の波形データを指定するステップと、再生中の前記或る１つの波形データと前記指定された別の波形データとのそれぞれについて、その波形データ上の１以上の切替位置を特定する切替位置情報を取得するステップと、少なくとも前記指定を受け付けたタイミングに基づいて、前記取得した再生中の波形データの切替位置情報及び前記取得した別の波形データの切替位置情報を参照して、前記別の波形データ上の１つの切替位置、又は、前記再生中の波形データ上の１つの切替位置のいずれか一方を、該再生中の波形データの再生を終了する終了タイミングとして設定するステップと、前記別の波形データの指定に応じて、前記再生するステップにより再生される波形データを前記再生中の波形データから前記別の波形データへ切り替える制御を行うステップであって、前記再生するステップによる波形データの再生タイミングが、前記設定された終了タイミングに到達することに応じて、少なくとも前記再生中の波形データの再生を終了させる制御を行うステップを、前記コンピュータに実行させることを特徴とするプログラムである。
【００１０】
本発明によれば、或る波形データの再生中に、別の波形データが指定された場合に、再生中の波形データと指定された別の波形データとのそれぞれについて、その波形データ上の１以上の切替位置を特定する切替位置情報を取得する。切替位置は、例えば、波形データとして録音した各音のアタック部である。そして、少なくとも指定を受け付けたタイミングに基づいて、取得した再生中の波形データの切替位置情報及び取得した別の波形データの切替位置情報を参照して、別の波形データ上の１つの切替位置、又は、再生中の波形データ上の１つの切替位置のいずれか一方を、再生中の波形データの再生を終了する終了タイミングとして設定するように構成されている。この構成により、再生中の波形データ上の切替位置が終了タイミングとして設定された場合は、切替元の再生中の波形データの終了直前での不所望な発音を確実に回避できる。したがって、波形データを切り替える際に、略同じタイミング（短時間内）に切替元と切替先との両方で音が鳴ること、いわゆる「二度鳴り」、によるノイズ発生を防止できる。一方、切替先となる別の波形データ上の切替位置が終了タイミングとして設定された場合は、切替先となる別の波形データ上の切替位置で、再生中の波形データの終了する。これにより、この終了タイミング、すなわち別の波形データ上の切替位置から、切替先の別の波形データの再生を開始し得る。それにより、切替先の別の波形データの再生開始時にノイズ（例えば波形途中から再生開始することによるノイズ）が生じない。
【００１１】
一実施形態に係る前記設定するステップにおいて、更に、前記設定された終了タイミングを、前記指定された別の波形データの再生を開始する開始タイミングとして設定するように構成することができる。
【００１２】
前記設定するステップの一具体例として、前記指定を受け付けたタイミングの直後に存在する前記別の波形データ上の切替位置より前の所定時間以内に、前記再生中の波形データ上の切替位置が存在するかどうかを判断する。前記再生中の波形データ上の切替位置が存在する場合は、その再生中の波形データ上の切替位置を、前記終了タイミングとして設定することにより、再生中の波形データの終了直前での不所望な発音を回避して二度鳴りを防ぐことができる。一方、前記再生中の波形データの切替位置が存在しない場合は、指定を受け付けたタイミングの直後に存在する前記別の波形データ上の切替位置を、前記終了タイミングに設定することにより、「２度鳴り」によるノイズも、別の波形データの再生開始時のノイズも防ぐことができる。
【００１３】
別の一実施形態に係る前記設定するステップにおいて、更に、前記指定を受け付けたタイミングの直後に存在する音楽的区切り位置を、前記指定された別の波形データの再生を開始する開始タイミングとして設定するように構成することができる。
【００１４】
前記設定するステップの別の一具体例として、前記指定を受け付けたタイミングの直後に存在する音楽的区切り位置より前の所定時間以内に、前記再生中の波形データ上の切替位置が存在するかどうかを判断する。そして、前記再生中の波形データ上の切替位置が存在する場合は、その切替位置を、前記終了タイミングとして設定することにより、再生中の波形データの終了直前での不所望な発音を回避して二度鳴りを防ぐことができる。一方、前記再生中の波形データの切替位置が存在しない場合は、前記指定を受け付けたタイミングの直後に存在する音楽的区切り位置を、前記終了タイミングとして設定するので、再生中の波形データの終了直前での2度鳴りも、該別の波形データの再生を開始時のノイズも防ぐことができる。
【００１５】
また、本発明は、複数の波形データを記憶するよう構成された記憶部と、時間経過に伴い、前記記憶部に記憶された前記複数の波形データのいずれか１つを再生するよう構成された再生部と、前記再生部によって或る１つの波形データが再生されているときに、別の波形データを指定する指定部と、再生中の前記或る１つの波形データと前記指定された別の波形データとのそれぞれについて、その波形データ上の１以上の切替位置を特定する切替位置情報を取得する取得部と、少なくとも前記指定を受け付けたタイミングに基づいて、前記取得した再生中の波形データの切替位置情報及び前記取得した別の波形データの切替位置情報を参照して、前記別の波形データ上の１つの切替位置、又は、前記再生中の波形データ上の１つの切替位置のいずれか一方を、該再生中の波形データの再生を終了する終了タイミングとして設定する設定部と、前記別の波形データの指定に応じて、前記再生部が再生する波形データを前記再生中の波形データから前記別の波形データへ切り替える制御を行うステップであって、前記再生するステップによる波形データの再生タイミングが、前記設定された終了タイミングに到達することに応じて、少なくとも前記再生中の波形データの再生を終了させる制御を行う制御部とを備えることを特徴とする波形再生装置である。
【００１６】
また、本発明は、記憶部に記憶されている複数の波形データを使用した波形再生を行う方法であって、前記方法は、時間経過に伴い、前記記憶部に記憶された前記複数の波形データのいずれか１つを再生するステップと、前記再生するステップによって或る１つの波形データが再生されているときに、別の波形データを指定するステップと、再生中の前記或る１つの波形データと前記指定された別の波形データとのそれぞれについて、その波形データ上の１以上の切替位置を特定する切替位置情報を取得するステップと、少なくとも前記指定を受け付けたタイミングに基づいて、前記取得した再生中の波形データの切替位置情報および前記取得した別の波形データの切替位置情報を参照して、前記別の波形データ上の１つの切替位置、又は、前記再生中の波形データ上の１つの切替位置のいずれか一方を、該再生中の波形データの再生を終了する終了タイミングとして設定するステップと、前記別の波形データの指定に応じて、前記再生するステップにより再生される波形データを前記再生中の波形データから前記別の波形データへ切り替える制御を行うステップであって、前記再生するステップによる波形データの再生タイミングが、前記設定された終了タイミングに到達することに応じて、少なくとも前記再生中の波形データの再生を終了させる制御を行うステップとを含むことを特徴とする方法である。
【発明の効果】
【００１７】
本発明によれば、再生中の波形データを別の波形データに切り替える際のノイズ発生を防ぎつつ、任意のタイミングで、波形データを切り替えることができるという優れた効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】本発明の特徴点である波形データの切替動作を説明する概念図。
【図２】本発明を適用した電子楽器のハードウエア構成例を示すブロック図。
【図３】伴奏パターンデータのデータ構成を説明する図。
【図４】（ａ），（ｂ）伴奏パターンデータとして用いる波形データと、その波形データに対応付けられたオンセット情報を説明するための概念図。
【図５】電子楽器で行われる自動演奏処理の一実施例を示すフローチャートである。
【図６】セクション切替タイミング設定処理の一実施例を示すフローチャート。
【図７】小節区間内でのセクション切替タイミング設定処理の一実施例を示すフローチャート。
【図８】小節区切り位置でのセクション切替タイミング設定処理の一実施例を示すフローチャート。
【図９】セクション切替処理の一実施例を示すフローチャート。
【発明を実施するための形態】
【００１９】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【００２０】
図１は、本発明の特徴点である波形データの切替動作を説明する概念図である。図１において、縦に並べた２つの帯状図形は、それぞれ波形データ２０，２０´を示している。丸付数字「１」、「２」、「３」、「４」は小節内の拍数を示しており、図面横方向が波形データ２０，２０´の再生時間軸に対応する。波形データ２０は２小節の時間長を持ち、２０´は１小節の時間長を持つものとする。図１では、２小節分の時間長を持つ波形データ２０に対応付けるために、波形データ２０´については同じ波形を２つ並べて記載してある。
【００２１】
各波形データ２０，２０´には、それぞれ波形データ上の１以上の潜在的な切替位置（以下、「潜在的切替位置」とする。「オンセット情報」とも呼ぶ）を特定する切替位置情報が対応付けられている。各潜在的切替位置は、再生中の或る波形データ２０を別の波形データ２０´に切り替える際に、その切替タイミング、すなわち、切替元の（再生中の）波形データを終了する終了タイミング、又は、切替先の波形データを開始する開始タイミング、として設定可能な、波形データ２０、２０´上の位置である。例えば、図面上側に描く波形データ２０（後述するメインセクション２００に対応付けられた波形データ）は、１０個の潜在的切替位置「Ｍｏ＿１」、「Ｍｏ＿２」・・・「Ｍｏ＿１０」を持つ。また、図面下側に描く波形データ２０´（後述するフィルインセクション２１０に対応付けられた波形データ）は、８個の潜在的切替位置「Ｆｏ＿１」、「Ｆｏ＿２」・・・「Ｆｏ＿８」を持つ。
【００２２】
本発明の特徴点は、１つの波形データ２０の再生中に、再生対象の波形データを別の波形データ２０´に切り替える指示が行われたとき、少なくともその指示を受け付けたタイミングに基づいて、再生中の波形データ２０の切替位置情報及び別の波形データ２０´の切替位置情報を参照して、指示された別の波形データ２０´上の１つの潜在的切替位置（「Ｆｏ＿１」、「Ｆｏ＿２」・・・「Ｆｏ＿８」）、又は、再生中の波形データ２０上の１つの潜在的切替位置（「Ｍｏ＿１」、「Ｍｏ＿２」・・・「Ｍｏ＿１０」）のいずれか一方で、該再生中の波形データ２０の再生を終了することにある。切り替えるタイミングを設定するための処理や、切り替える動作などの詳細は後述する。
【００２３】
図２は、この発明を適用した電子楽器１００のハードウエア構成例を示すブロック図である。電子楽器１００は、マイクロプロセッサユニット（ＣＰＵ）１、リードオンリメモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３からなるマイクロコンピュータの制御の下に各種の処理が実行されるようになっている。ＣＰＵ１は、この電子楽器１００全体の動作を制御するものである。このＣＰＵ１に対して、通信バス１２を介してＲＯＭ２、ＲＡＭ３、記憶装置４、演奏操作子５、パネル操作子６、表示部７、オーディオ再生部８、ＭＩＤＩ音源部９、楽音制御部１０、インタフェース１１がそれぞれ接続されている。
【００２４】
更に、ＣＰＵ１には、タイマ割込み処理（インタラプト処理）における割込み時間や各種時間を計時するタイマ１３が接続されている。例えば、タイマ１３は、楽音を自動演奏する際の演奏テンポや、波形データのタイムストレッチ制御を行う際の周波数などを設定するためのテンポクロックパルスを発生する。タイマ１３からのテンポクロックパルスはＣＰＵ１に対して処理タイミング命令として与えられたり、あるいはＣＰＵ１に対してインタラプト命令として与えられたりする。ＣＰＵ１は、これらの命令に従って各種処理を実行する。
【００２５】
ＲＯＭ２は、ＣＰＵ１により実行あるいは参照される各種プログラムや各種データ等を格納する。ＲＡＭ３は、ＣＰＵ１が各種プログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを一時的に記憶するメモリ等として使用される。
【００２６】
記憶装置４には、複数の伴奏パターンデータ（後述する図３参照）などの各種データ等を多数記憶することが可能な内蔵データベースが構成される。また、記憶装置４は、ＣＰＵ１が実行する各種プログラム等を記憶してもよい。上述したＲＯＭ２にプログラムが記憶されていない場合、この記憶装置４（例えばハードディスク）にプログラムを記憶させておき、それをＲＡＭ３に読み込むことにより、ＲＯＭ２にプログラムを記憶している場合と同様の動作をＣＰＵ１に実行させることができる。このようにすると、プログラムの追加やバージョンアップ等が容易に行える。
【００２７】
記憶装置４は、例えば、ハードディスク（HD）、フレキシブルディスク（FD）、コンパクトディスク（CD‐ROM・CD‐RAM）、光磁気ディスク（MO）、あるいはDVD（Digital Versatile Disk）等、どのような記憶媒体を利用する記憶装置でもよい。また、記憶装置４はフラッシュメモリなどの半導体メモリで構成されてもよい。
【００２８】
演奏操作子５は、例えば楽音の音高を選択するための複数の鍵を備えた鍵盤により構成され、各鍵に対応してキースイッチを有する。演奏者は、演奏操作子５を手弾きによるマニュアル演奏のために使用したり、自動伴奏機能に用いる和音（コード）を指定するために使用したりできる。なお、演奏操作子５の形態は、鍵盤型に限らず、例えば弦楽器型（ギター型）、管楽器型、打楽器型など、どのよう形態でもよい。
【００２９】
パネル操作子６は、電子楽器１００の操作パネルに設けられた各種操作子であり、例えば後述するセクションの切り替えを指示するセクション切り替えスイッチ、演奏テンポを設定するテンポ設定スイッチ、自動演奏の開始／停止を指示する再生／停止ボタン等、各種の操作子を含む。
【００３０】
表示部７は、例えば液晶表示パネル（ＬＣＤ）やＣＲＴ等から構成されるディスプレイであって、パネル操作子６の操作に応じた各種画面（例えば伴奏パターンデータ選択画面、演奏テンポ設定画面、或いはセクション切り替え画面など）を表示したり、あるいは、選択中の伴奏パターンデータの内容など各種情報あるいはＣＰＵ１の制御状態を表示したりする。演奏者は該表示部７に表示されるこれらの各種情報を参照することで、伴奏パターンデータ選択、演奏テンポの設定、更にはセクションの切り替えなどの各種操作を容易に行うことができる。
【００３１】
オーディオ再生部８は、通信バス１２を経由して与えられる波形データに基づいて波形信号を生成し出力する。ＭＩＤＩ音源部９は、通信バス１２を経由して与えられるＭＩＤＩデータに基づいて波形信号を生成し出力する。
【００３２】
上記オーディオ再生部８及びＭＩＤＩ音源部９は楽音制御部１０に接続されている。楽音制御部１０は、信号混合（加算）回路、D／A変換回路、音量制御回路などを含んで構成され、オーディオ再生部８及びMIDI音源部９から発生された波形信号にディジタル信号処理を施して効果を付与するとともにこれらを混合（加算）して、例えばスピーカなどのサウンドシステム１４に出力する。サウンドシステム１４は、楽音制御部１０から出力された波形信号に対応する楽音を発音する。
【００３３】
インタフェース１１は、当該電子楽器１００と図示しない外部機器との間で、各種データや制御プログラムなどの各種情報を送受信するためのインタフェースである。電子楽器１００は、例えばＭＩＤＩ規格に準拠するＭＩＤＩインタフェースや、イーサネット（登録商標）規格に準拠するネットワークインターフェース等、１又は複数種類のインタフェース１１を備えてよく、それらインタフェース１１の接続形式は有線及び無線のいずれでもよい。
【００３４】
図３は、電子楽器１００に構成されたデータベースに記憶される伴奏パターンデータのデータ構成を示す概念図である。データベースは、例えば記憶装置４に構成される。図３に示す通り、データベース内には、複数の伴奏パターンデータ２００、２１０、２２０、２３０・・・が記憶されている。これら伴奏パターンデータ２００、２１０、２２０、２３０・・・は、それぞれメインセクション、フィルインセクション、イントロセクション、エンディングセクション・・・等のセクションに対応付られている。各セクションは、それぞれ、１曲分の伴奏を構成する部分である。
【００３５】
各伴奏パターンデータ２００、２１０、２２０、２３０・・・は、それぞれ伴奏パターンデータとして用いる波形データ２０と、該波形データ２０に対応付けられた波形再生制御情報２２とからなる。波形データ２０は、実際の楽器演奏や人の声あるいは自然音などをサンプリングした楽音波形データ（オーディオ波形データ）である。各セクション２００、２１０、２２０、２３０・・・毎の波形データ２０は、それぞれ１小節分以上の時間長さを持ち、それぞれ対応するセクションに適した楽器演奏を内容として持つ。そのデータ形式は、例えばＷＡＶ，ＡＩＦＦ、ＭＰ３など、どのような形式でもよい。
【００３６】
波形再生制御情報２２は、対応する波形データ２０に対して設定された１以上の潜在的切替位置（オンセット情報）を特定する切替位置情報２５を含んでいる。波形再生制御情報２２は、その他にも、該波形データ２０の録音時のテンポを示す基本テンポ、波形データ２０の１小節内における各拍のタイミングを示す拍情報などを含んでよい。
【００３７】
切替位置情報２５は、前記図１に示す通り、対応する波形データ２０上の１以上の潜在的切替位置（オンセット情報）を特定する情報であり、後述するセクション切り替えタイミングを決定するために参照される。切替位置情報２５を含む波形再生制御情報２２中の各種情報は、それぞれ対応する波形データ２０を解析することによって得られる。自動演奏時には、ＣＰＵ１は、波形再生制御情報２２を参照することにより、波形データ２０の再生処理に用いる各種パラメータを制御する。
【００３８】
図４（ａ），（ｂ）は、前記図１に示す波形データ２０、２０´と、それらに対応付けられた切替位置情報２５とを詳細に説明する図である。一例として、波形データ２０は、メインセクションの伴奏パターンデータ２００に対応付られたもの、波形データ２０´は、フィルインセクション２１０の伴奏パターンデータ２００に対応付られたものとする。（ａ），（ｂ）において、丸付数字「１」、「２」、「３」、「４」は小節内の拍数であり、図面横方向が波形データ２０、２０´の再生時間軸に対応する。また、波形データ２０、２０´は、一例として、ドラム演奏を内容とするもの（すなわちドラムパート用の伴奏パターンデータ）を想定する。なお、本明細書では、各セクションの伴奏パターンデータ（メインセクションの伴奏パターンデータ２００、フィルインセクションの伴奏パターンデータ２１０・・・）のことを、メインセクション２００、フィルインセクション２１０という具合に、そのセクション名で表記することもある。
【００３９】
図４（ａ）は、メインセクション２００及びフィルインセクション２１０に対応付けられた各波形データ２０、２０´が持つ演奏内容を、楽譜により表す。図４（ａ）に示す通り、メインセクション２００は、２小節分の時間長を持つ。その演奏内容は、１小節内において、ハイハットを四分音符で刻みつつ、１拍目に四分音符でバスドラムを１回、２拍目に四分音符でスネアドラムを１回、３拍目から８音符でバスドラムを２回、４拍目に四分音符でスネアドラムを１回演奏する、というものである。一方、フィルインセクション２１０は、１小節分の時間長を持ち、８つの８分音符でハイタム、ミドルタム、フロアタム、バスドラム及びスネアドラムを叩く演奏（ドラムロール）を内容とする。
【００４０】
図４（ｂ）は、メインセクション２００に対応付けられた波形データ２０及びフィルインセクション２１０に対応付けられた波形データ２０´それぞれの波形形状と、それぞれに対応付けられた切替位置情報２５を説明する図である。波形データ２０、２０´それぞれの波形形状は、録音された楽器演奏音の音量変化を表す。メインセクション２００に対応付けられた波形データ２０は、（ａ）の楽譜に基づく２小節分のドラム演奏音の録音物である。伴奏パターンデータを用いた自動伴奏技術において周知のように、メインセクション２００は、２小節分の波形データ２０が繰り返し再生されることを想定して作成されている。
【００４１】
一方、フィルインセクション２１０に対応付けられた波形データ２０´は、（ａ）の楽譜に基づく１小節分のドラム演奏の録音物である。このフィルインセクション２１０は、メインセクション２００のループ再生中に、ユーザ操作に応じて、１小節分の波形データを少なくとも１回再生して、メインセクション２００の再生に戻ること（つまり、メインセクション２００のループ再生中に挿入されること）を想定して作成されている。なお、図４（及び図１）では、２小節分の時間長を持つメインセクション２００に対応付けるために、フィルインセクション２１０の波形データを時間軸に沿って２つ並べ、符号２１０ａ,２１０ｂで示している。
【００４２】
波形データ２０及び２０´のそれぞれには、その波形データとして記録された音に含まれる１以上のアタック部（図４（ｂ）に示す波形の“山”の部分）のそれぞれに対して、潜在的切替位置（オンセット情報）が設定される。具体的には、各アタック部の開始位置（波形の立ち上がり位置）が、各アタック部に対応する潜在的切替位置（オンセット情報）として設定されている。切替位置情報２５は、これら１以上のアタック部（図４（ｂ）に示す波形の“山”の部分）のそれぞれに対応する潜在的切替位置（オンセット情報）を特定する情報である。例えば、図１及び図４に示すメインセクション２００の切替位置情報２５は、波形データ２０上の１０箇所のアタック部に対応する１０個のオンセット情報「Ｍｏ＿１」、「Ｍｏ＿２」・・・「Ｍｏ＿１０」を特定するデータである。また、図１及び図４に示すフィルインセクション２１０の切替位置情報２５は、波形データ２０´上の８箇所のアタック部に対応する８個のオンセット情報「Ｆｏ＿１」、「Ｆｏ＿２」・・・「Ｆｏ＿８」を特定するデータである。
【００４３】
例えば、メインセクション２００の１小節目の１拍目には、ハイハットとバスドラムが演奏される（図４（ａ）の楽譜を参照）。この場合、ハイハットとバスドラムとが同じ拍位置で叩かれるので、波形データ上では、これら楽器の演奏音に対応するアタック部２０ａは１つである。この場合、このアタック部２０ａの先頭位置に、１つのオンセット情報「Ｍｏ＿１」が設定される。
【００４４】
ここで、波形データ２０、２０´は、それぞれ、図４（ａ）の楽譜に示す演奏内容を、人がドラムセットを用いて実際に演奏した演奏音をサンプリング（録音）したものである。人間の演奏にはある程度のばらつきがあるため、波形データ２０、２０´として記録された各音の位置は、正確な拍位置（タイミング）からわずかにずれるのが一般的である。このため、各オンセット情報の位置は、図４（ａ）の楽譜上に示された音符の拍位置からわずかに前後にずれた位置となる。。
【００４５】
例えば、メインセクション２００の２小節目の１拍目のハイハットとバスドラムに対応する演奏音２０ｂは、録音時に早めのタイミングで演奏されたため、図４（ｂ）に示す通り、波形データ２０上では１小節目の末尾に録音されている。したがって、この演奏音２０ｂに対応するオンセット情報「Ｍｏ＿６」は、２小節目の１拍目の位置ではなく、１小節目の末尾（具体的には演奏音２０ｂのアタック部の先頭位置）に設定される。
【００４６】
次に、前述した伴奏パターンデータを用いた「自動演奏処理」について説明する。ユーザは、図３に示すメインセクション２００、フィルインセクション２１０、イントロセクション２２０、エンディングセクション２３０・・・の各伴奏パターンデータを選択的に切り替えつつ、電子楽器１００に自動演奏を実行させる。図５は、電子楽器１００のＣＰＵ１が実行する自動演奏処理の一実施例を示すフローチャートである。ユーザが自動演奏の開始指示を行った場合に、ＣＰＵ１は当該処理を開始する。なお、以下の自動演奏処理においては、一具体例として、メインセクション２００に対応付られた波形データ２０をループ再生している最中に、ユーザのセクション切替指示に応じて、フィルインセクション２１０に対応付けられた波形データ２０´が挿入され、その後メインセクション２００の波形データ２０の再生に戻る、というセクション切り替えが行われることを想定する。なお、本明細書において、「セクション切り替え」とは、切替元である再生中の波形データの再生を終了して、切替先に指定された別の波形データの再生を開始することを言う。
【００４７】
ステップＳ１において、ＣＰＵ１は、初期化処理を実行する。初期化処理は、例えばユーザ操作に応じた演奏テンポの設定や、選択された伴奏パターンデータをデータベース（記憶装置４）から読み出してＲＡＭ３にロードする処理などである。本実施例では、メインセクション２００が選択されていることを想定しており、ＣＰＵ１０は、該メインセクション２００に対応付けられた波形データ２０及び波形再生制御情報２２（切替位置情報２５を含む）を記憶装置４からＲＡＭ３にロードする。
【００４８】
ステップＳ２において、ＣＰＵ１は、現在設定されている演奏テンポに従って、メインセクション２００に対応付けられた波形データ２０の再生を開始する。すなわち、ＣＰＵ１は、ＲＡＭ３から選択されているメインセクション２００に対応付けられた波形データ２０の読み出しを開始する。オーディオ再生部８は、読み出された波形データ２０に基づいて波形信号を生成し出力する。なお、ＣＰＵ１０は、当該自動演奏の開始にあわせて、再生カウンタを開始する。再生カウンタのカウント値は、演奏テンポに応じた所定の周期毎に歩進する。再生カウンタは、波形データ再生の時間経過（再生タイミング）を計時するものである。なお、現在設定されている演奏テンポと、波形データ２０に対応付けられた基本テンポとが異なる場合、ＣＰＵ１及びオーディオ再生部８は、周知のタイムストレッチ制御を行うことにより、音高変化を来すことなく任意の演奏テンポで、波形データ２０の楽音を発生することができる。
【００４９】
ステップＳ３において、ＣＰＵ１は、ユーザ指示の受付の有無を判定する。ユーザ指示がない場合（ステップＳ３のＮＯ）、ＣＰＵ１は、ステップＳ２〜ステップＳ３の処理をループする。これにより、ＣＰＵ１及びオーディオ再生部８は、１つのメインセクション２００に対応付けられた２小節分の波形データ２０全体を繰り返し再生する。ＣＰＵ１によって実行される前記ステップＳ２等の処理及びオーディオ再生部８が、時間経過に伴い、前記記憶部に記憶された前記複数の波形データのいずれか１つを再生するステップとして、或いは、時間経過に伴い、前記記憶部に記憶された前記複数の波形データのいずれか１つを再生するよう構成された再生部として、機能する。
【００５０】
前記ステップＳ２及びＳ３による波形データ２０のループ再生中に何らかユーザ指示があった場合（ステップＳ３のＹＥＳ）、ＣＰＵ１は、そのユーザ指示に従う各種処理を行う（ステップＳ４，Ｓ８）。この実施例では、ユーザ指示として、再生対象の波形データをメインセクション２００からフィルインセクション２１０に切り替える「セクション切替指示」（ステップＳ４）、自動演奏の終了指示（ステップＳ８）及び、その他の指示、を想定している。前記「セクション変更指示」のユーザ指示を受け付けるためのパネル操作子６の操作及びＣＰＵ１によって実行される前記ステップＳ４の処理は、前記再生部によって或る１つの波形データが再生されているときに、別の波形データを指定するステップ、或いは、前記再生部によって或る１つの波形データが再生されているときに、別の波形データを指定する指定部として機能する。
【００５１】
「セクション切替更指示」があった場合（ステップＳ４のＹＥＳ）、ＣＰＵ１は、切替先として指定されたフィルインセクション２１０に対応付けられた波形データ２０´及び波形再生制御情報２２をデータベース（記憶装置４）からＲＡＭ３にロードし（ステップＳ５）、ＲＡＭ３から該フィルインセクション２１０に対応付けられた切替位置情報２５（図４（ｂ）のオンセット情報「Ｆｏ_１」〜「Ｆｏ_８」）を取得するとともに、現在再生中のメインセクション２００に対応付けられた切替位置情報２５（図４（ｂ）のオンセット情報「Ｍｏ_１」〜「Ｍｏ_１０」）を取得する（ステップＳ６）。ＣＰＵ１によって実行される前記ステップＳ６の処理が、再生中の前記或る１つの波形データと前記指定された別の波形データとのそれぞれについて、その波形データ上の１以上の切替位置を特定する切替位置情報を取得するステップ、或いは、再生中の前記或る１つの波形データと前記指定された別の波形データとのそれぞれについて、その波形データ上の１以上の切替位置を特定する切替位置情報を取得する取得部として機能する。
【００５２】
ステップＳ７において、ＣＰＵ１は、セクション切替指示のタイミングと、今回変更先に指定されたフィルインセクション２１０の波形データ２０´上のオンセット情報（潜在的切替位置）と、現在再生中のメインセクション２００の波形データ２０上のオンセット情報（潜在的切替位置）との位置関係に基づいて、詳細は後述する「セクション切り替えタイミング」を設定する処理を行う。このステップＳ７で「セクション切り替えタイミング」を設定した後、処理はステップＳ２の処理に戻る。
【００５３】
一方、ユーザ指示が「自動演奏の終了指示」である場合（ステップＳ４のＮＯ、ステップＳ８のＹＥＳ）、ＣＰＵ１は指示に応じた終了制御を行って本自動演奏処理を終了する。例えば「自動演奏の終了指示」がメインセクション２００からエンディングセクション２３０へのセクション切替指示によりなされた場合、ＣＰＵ１は当該指示タイミングの次小節でメインセクション２００の再生を終了し、メインセクション２００に替えてエンディングセクション２３０の再生を開始し、そのエンディングセクション２３０を最後まで再生した後に、本自動演奏処理を終了する。また、「自動演奏の終了指示」が再生／停止ボタン操作によりなされた場合、ＣＰＵ１は、当該停止指示がなされた時点で再生終了制御を行って、本自動演奏処理を終了する。
【００５４】
また、ユーザ指示が上記の何れでもない場合には（ステップＳ４，Ｓ８のいずれもがＮＯ）、ＣＰＵ１は、ユーザ指示に応じた「その他の処理」を実行する。その他の指示は、例えば上述したメインセクション２００からフィルインセクション２１０への切り替え又はエンディングセクションへの切り替え以外のセクション切り替え、ミュートオン／オフ指示、音色変更指示、或いは、音量変更の指示などである。
【００５５】
次に、前記Ｓ７におけるセクション切替タイミングの設定処理について詳細に説明する。図６〜図８は、セクション切替タイミングの設定処理を示すフローチャートである。ＣＰＵ１は、前記図５の処理が前記ステップＳ７に進んだとき（すなわちメインセクションからフィルインセクションへの切り替え指示に応じて）、図６の処理を起動する。
【００５６】
ステップＳ１１において、ＣＰＵ１は、セクション切替指示を受け付けたタイミングが、小節区切り直前であるかどうか判断する。小節区切りは、音楽的な区切り位置の一例であり、1つの小節と後続の小節との区切り部分である。例えば、図４（ｂ）の例では、メインセクション２００に対応付けられた波形データ２０における１小節目の末尾と２小節目の先頭との接合部、及び、ループ再生時の2小節目の末尾と１小節目の先頭との接合部が小節区切りである。ＣＰＵ１は、セクション切替指示を受け付けた時点の波形データ再生位置と小節区切り位置との関係を、前述した再生カウント値に基づく拍数から特定できる。小節区切り直前かどうかの判断は、例えば、セクション切替指示タイミングが、現在再生中の小節末尾直前の所定区間（例えば５０ミリ秒）以内の範囲であるか否か、あるいは、現在再生中の小節の４拍半の位置以降であるか否かといった条件により行うことができる。
【００５７】
セクション切替指示を受け付けたタイミングが小節区切り直前以外である場合（ステップＳ１１のＮＯ）、ＣＰＵ１は図７に示す「小節内でのセクション切替タイミング設定処理」を行う（ステップＳ１２）。一方、セクション切替指示を受け付けたタイミングが、小節区切り直前である場合（ステップＳ１１のＹＥＳ）、ＣＰＵ１は図８に示す「小節区切りでのセクション切替タイミング設定処理」を行う（ステップＳ１３）。
【００５８】
次に、前述した図１の概念図と、図６、図７及び図８のフローチャートとを参照して、「ケースＡ」、「ケースＢ」及び「ケースＣ」の３つのケースを中心に、セクション切替指示タイミング別の「セクション切替タイミング設定処理」を説明する。
【００５９】
図１において矢印５０ａで示す「ケースＡ」は、ユーザが第１小節３拍目の直前で、フィルインセクション２１０への切替指示を行った場合である。この場合、ＣＰＵ１は、前記ステップＳ１１をＮＯに分岐して、ステップＳ１２の「小節内でのセクション切替タイミング設定処理」に処理を進める。また、図１において矢印５０ｂで示す「ケースＢ」は、ユーザが第１小節４拍目の直前で、フィルインセクション２１０への切替指示を行った場合であり、この場合も、ＣＰＵ１は、前記ステップＳ１１をＮＯに分岐して、ステップＳ１２の「小節内でのセクション切替タイミング設定処理」に処理を進める。
【００６０】
「小節内でのセクション切替タイミング設定処理」の場合、図７に示す通り、ＣＰＵ１は、ステップＳ１４において、前記ステップＳ６で取得したフィルインセクション２１０のオンセット情報「Ｆｏ＿１」〜「Ｆｏ＿８」のうち、セクション切替指示のタイミングの直後に存在する１つのオンセット情報「Ｆｏ＿ｘ」（なお、ｘは１〜８のいずれか１つ）を取得する。ステップＳ１５において、ＣＰＵ１は、現在再生中のメインセクション２００の全オンセット情報「Ｍｏ＿１」〜「Ｍｏ＿１０」を調べて、前記ステップＳ１４で取得したフィルインセクション２１０のオンセット情報「Ｆｏ＿ｘ」の直前の所定区間以内に、現在再生中のメインセクション２００のオンセット情報「Ｍｏ＿ｙ」（なお、「ｙ」は１〜１０のいずれか１つ）が存在するかどうか判断する。
【００６１】
前記所定区間の時間長は、例えば５０ミリ秒である。この所定区間の時間長は、セクションをメインセクション２００からフィルインセクション２１０に切り替える時に、切替直前の変更元（メインセクション２００）の発音と、切替直後の変更先（フィルインセクション２１０）の発音とが時間的に近すぎることにより生じる「２度鳴り」を防ぐために必要な長さであることが望ましい。この点、（１）２度鳴りは、波形データとして記録した各音の位置が、音符の示す拍位置からズレている場合（典型的には、記録された音が音符の示す拍位置よりも早い「前ノリ」で演奏されている場合）に生じ易いこと、（２）伴奏パターンデータとして用いる波形データとして記録した各音の位置と、音符のタイミング（拍数の示す基準タイミング）のズレ幅が概ね「５０ミリ秒」以内と想定できること、（３）５０ミリ秒以内ならば１拍分の時刻内の音とみなし得ること（言い換えれば５０ミリ秒以上離れていれば、別の拍（タイミング）の音とみなし得ること）、といった理由から、「５０ミリ秒」という時間長は、好ましい一例である。
【００６２】
例えば、ケースＡの場合、セクション切替指示のタイミング（矢印５０ａ）の直後に存在するフィルインセクション２１０のオンセット情報は、「Ｆｏ＿５」であり、「Ｆｏ＿５」よりも前には、メインセクション２００のオンセット情報は存在しない（「Ｆｏ＿５」の直前のメインセクション２００のオンセット情報は「Ｍｏ＿２」であるが、「Ｍｏ＿２」よりもあとにセクション切り替え指示が行われているため、セクション切り替え指示から「Ｆｏ＿５」までの間にはメインセクション２００のオンセット情報「Ｍｏ＿ｙ」は存在しない：ステップＳ１５のＮＯ）。その場合、ＣＰＵ１は、ステップＳ１６において、セクション切替指示のタイミングの直後に存在するフィルインセクション２１０のオンセット情報「Ｆｏ＿ｘ」（ケースＡでは、「Ｆｏ＿５」）を、現在再生中のメインセクション２００の終了タイミングとして設定し、且つ、当該フィルインセクション２１０のオンセット情報「Ｆｏ＿ｘ」（ケースＡでは、「Ｆｏ＿５」）を、今回切替指示されたフィルインセクション２１０の再生を開始する開始タイミングとしてセットする。
【００６３】
一方、ケースＢの場合、セクション切替指示のタイミング（矢印５０ｂ）の直後に存在するフィルインセクション２１０のオンセット情報は「Ｆｏ＿７」であり、この「Ｆｏ＿７」よりも前に存在するメインセクション２００のオンセット情報は「Ｍｏ＿５」である。ここで「Ｍｏ＿５」が「Ｆｏ＿７」から所定区間（例えば５０ミリ秒）以内に存在するものとする。そうすると、仮に、フィルインセクション２１０のオンセット情報「Ｆｏ＿７」の位置でセクションを切り替えたとすると、「Ｍｏ＿５」に相当するアタック部分を発音した直後（５０ミリ秒以内）に、「Ｆｏ＿７」のアタック部が発音されてしまい、いわゆる「２度鳴り」が起こってしまう。
【００６４】
そこで、ケースＢのように、セクション切替指示のタイミングの直後に存在するフィルインセクション２１０のオンセット情報「Ｆｏ＿ｘ」の直前の所定区間以内に、現在再生中のメインセクション２００のオンセット情報「Ｍｏ＿ｙ」が存在する場合（ステップＳ１５のＹＥＳ）、ＣＰＵ１は、ステップＳ１７において、セクション切替指示のタイミングの直後に存在するフィルインセクション２１０のオンセット情報「Ｆｏ＿ｘ」（ケースＢでは、「Ｆｏ＿７」）の直前の所定区間内に存在するメインセクション２００のオンセット情報「Ｍｏ＿ｙ」（ケースＢでは、「Ｍｏ＿５」）を、現在再生中のメインセクション２００の終了タイミングとして設定し、且つ、当該メインセクション２００のオンセット情報「Ｍｏ＿ｙ」（ケースＢでは、「Ｍｏ＿５」）を、切替指示されたフィルインセクション２１０の再生を開始する開始タイミングとして設定する。このように設定することで、メインセクションの「Ｍｏ＿５」が発音する前にメインセクションの再生が終わり、フィルインセクションの再生が始まるので、２度鳴りを防ぐことができる。
【００６５】
前記ステップＳ１６又はＳ１７の後、ＣＰＵ１は、図７の処理を終了する。
【００６６】
一方、矢印５０ｃで示す「ケースＣ」は、ユーザが第１小節４拍目以降に、フィルインセクション２１０への切替指示を行った場合である。この場合、ＣＰＵ１は、前記ステップＳ１１をＹＥＳに分岐して、ステップＳ１３の「小節区切りでのセクション切替タイミング設定処理」に処理を進める。
【００６７】
小節区切りでのセクション切替タイミング設定処理の場合、ＣＰＵ１は、図８に示す通り、ステップＳ１８において、現在再生中の小節末尾直前の所定区間以内に、現在再生中のメインセクション２００のオンセット情報「Ｍｏ＿ｚ」（ｚは「１」〜「１０」のいずれか）が存在するか否かを判断する。前記所定区間の時間長は、前記ステップＳ１５で説明したのと同様の趣旨で「２度鳴り」を防ぐべく、例えば５０ミリ秒に設定される。
【００６８】
ケースＣの場合、セクション切替指示のタイミング（矢印５０ｃ）は第１小節末尾の直前である。ここで第１小節末尾の直前に存在するメインセクション２００のオンセット情報は「Ｍｏ＿６」である。この「Ｍｏ＿６」が１小節末尾から所定区間（例えば５０ミリ秒）以内に存在するものとする。そうすると、仮に、第１小節末尾で、若しくは、「セクション切替指示のタイミング直後のフィルインセクション２１０のオンセット情報「Ｆｏ＿１」の位置でセクションを切り替えたとすると、「Ｍｏ＿６」のアタック部分を発音した直後（５０ミリ秒以内）に、「Ｆｏ＿１」のアタック部分が発音されてしまい、「２度鳴り」が起こってしまう。
【００６９】
そこで、ケースＣのように、小節末尾の直前にセクション切替指示がなされ、且つ、その小節末尾直前の所定区間（例えば５０ミリ秒）以内に、現在再生中のメインセクション２００のオンセット情報「Ｍｏ＿ｚ」が存在する場合（ステップＳ１８のＹＥＳ）、ＣＰＵ１は、ステップＳ１９において、小節末尾直前のメインセクション２００のオンセット情報「Ｍｏ＿ｚ」（ケースＣでは、「Ｍｏ＿６」）の位置を、現在再生中のメインセクション２００の終了タイミングとして設定するとともに、ステップＳ２０において、現在再生中の小節の区切り位置（ケースＣでは、第１小節末尾、言い換えれば、第２小節先頭）を、切替指示されたフィルインセクション２１０の再生を開始する開始タイミングとして設定する。
【００７０】
一方、小節末尾の直前にセクション切り替え指示がなされたが、その小節末尾直前の所定区間（例えば５０ミリ秒）以内に、メインセクション２００のオンセット情報「Ｍｏ＿ｚ」が存在しない場合（ステップＳ１８のＮＯ）、ＣＰＵ１は、前記ステップＳ２０において、現在再生中の小節の区切り位置を、切替指示されたフィルインセクション２１０の再生開始タイミングとして設定するとともに、該小節の区切り位置を再生中のメインセクション２００の終了タイミングとして設定する。なお、小節区切り位置でセクション切替を行うこと自体は、例えばＭＩＤＩデータを用いた伴奏パターンデータのセクション切り替え制御として一般的に行われている。
【００７１】
前記ステップＳ２０の後、ＣＰＵ１は、図８の処理を終了する。ＣＰＵ１によって実行される前記ステップＳ７,Ｓ１６,Ｓ１７,Ｓ１９の処理が、少なくとも前記指定を受け付けたタイミングに基づいて、前記取得した再生中の波形データの切替位置情報および前記取得した別の波形データの切替位置情報を参照して、前記別の波形データ上の１つの切替位置、又は、前記再生中の波形データ上の１つの切替位置のいずれか一方を、該再生中の波形データの再生を終了する終了タイミングとして設定するステップとして、或いは、少なくとも前記指定を受け付けたタイミングに基づいて、前記取得した再生中の波形データの切替位置情報および前記取得した別の波形データの切替位置情報を参照して、前記別の波形データ上の１つの切替位置、又は、前記再生中の波形データ上の１つの切替位置のいずれか一方を、該再生中の波形データの再生を終了する終了タイミングとして設定する設定部として、機能する。
【００７２】
前記図６〜図８の処理（すなわち前記ステップＳ７）によりセクション切替タイミングを設定した後、処理は、ステップＳ２に戻る。そして、ＣＰＵ１は、ステップＳ２及びＳ３によりメインセクション２００の波形データのループ再生を行いつつ、現在再生しているメインセクション２００の再生位置が、前記設定したセクション切替タイミングに到達したときに、再生対象の波形データをメインセクション２００の波形データ２０からフィルインセクション２１０の波形データ２０´に切り替える。
【００７３】
図９は、ＣＰＵ１が実行するセクション切替処理のフローチャートである。この処理は、自動演奏処理の実行中に、波形読み出しクロックに応じた所定の時間間隔毎に起動する割り込み処理である。ステップＳ２１において、ＣＰＵ１は、現在再生しているメインセクション２００の再生位置が、前記ステップＳ１６、Ｓ１７又はＳ１９で設定された終了タイミングに到達したか否かを判定する。そして、現在再生しているメインセクション２００の再生位置が前記終了タイミングに到達することに応じて（ステップＳ２１のＹＥＳ）、ＣＰＵ１は、ステップＳ２２において、メインセクション２００の波形データ２０の読み出しを終了する。これに応じて、オーディオ再生部８は、メインセクション２００の波形データ２０の再生を終了する。
【００７４】
ステップＳ２３において、ＣＰＵ１は、現在再生しているメインセクション２００の再生位置が、前記ステップＳ１６、Ｓ１７又はＳ２０で設定された開始タイミングに到達したか否かを判定する。そして現在再生しているメインセクション２００の再生位置が、前記設定された開始タイミングに到達することに応じて（ステップＳ２３のＹＥＳ）、ＣＰＵ１は、ステップＳ２４において、フィルインセクション２１０の波形データ２０´の読み出しを開始する。これに応じて、オーディオ再生部８は、フィルインセクション２１０の波形データ２０´の再生を開始する。一方、現在再生しているメインセクション２００の再生位置が、終了タイミング又は開始タイミングに到達しないうちは（ステップＳ２１，Ｓ２３のＮＯ）、そのつど、処理を終了する。そして、当該割り込み処理の起動機会毎に、ＣＰＵ１は、終了タイミング乃至開始タイミングが到達するのを待つ。
【００７５】
例えば、ケースＡのように、セクション切替指示が小節内で行われ、且つ、切替指示の直後のフィルインセクションのオンセット情報「Ｆｏ＿５」の直前の所定区間内にメインセクションのオンセット情報「Ｍｏ＿ｙ」が存在しない場合（前記ステップＳ１５のＮＯ）、現在再生しているメインセクション２００の再生位置が、「Ｆｏ＿５」に対応する位置に到達したとき（前記ステップＳ２１，Ｓ２３のＹＥＳ）、ＣＰＵ１及びオーディオ再生部８は、メインセクション２００の波形データ２０の再生を終了し、且つ、フィルインセクション２１０の波形データ２０´の再生を開始する(前記ステップＳ２２，Ｓ２４）。この場合、「Ｆｏ＿５」の直前の所定区間内にメインセクション側に不所望な音（アタック部）が存在せず、且つ、フィルインセクション２１０の波形データを、「Ｆｏ＿５」のアタック部から再生開始できるので、２度鳴りによるノイズも、１つの音（１つの波形の“山”）の途中から再生開始することにるノイズも、確実に防ぐことができる。
【００７６】
また、ケースＢのように、セクション切替指示が小節内で行われ、且つ、切替指示の直後のフィルインセクション２１０のオンセット情報「Ｆｏ＿７」直前の所定区間内にメインセクションのオンセット情報「Ｍｏ＿５」が存在する場合（前記ステップＳ１５のＹＥＳ）、現在再生しているメインセクションの再生位置が、「Ｍｏ＿５」に対応する位置に到達したとき（前記ステップＳ２１，Ｓ２３のＹＥＳ）、ＣＰＵ１及びオーディオ再生部８は、メインセクション２００の波形データ２０の再生を終了し、且つ、フィルインセクション２１０の波形データ２０´の再生を開始する (前記ステップＳ２２，Ｓ２４）。この場合、「Ｍｏ＿５」の位置でメインセクション２００の波形データの再生を終了することにより、当該「Ｍｏ＿５」のアタック部の発音を回避する。そして、「Ｍｏ＿５」からフィルインセクション２１０の波形データ２０´の再生を開始すると、フィルインセクション２１０側の発音は「Ｆｏ＿７」から始まる。したがって、この場合も、２度鳴りによるノイズ発生も、１つの音（１つの波形の“山”）の途中から再生開始することにるノイズ発生も、確実に防ぐことができる。
【００７７】
また、ケースＣのように、セクション切替指示が小節区切りで行われ、且つ、小節末尾直前の所定区間内にメインセクションのオンセット情報「Ｍｏ＿６」が存在する場合（前記ステップＳ１８のＹＥＳ）、現在再生しているメインセクションの再生位置が、「Ｍｏ＿６」に対応する位置に到達したとき（前記ステップＳ２１のＹＥＳ）、ＣＰＵ１及びオーディオ再生部８は、メインセクション２００の波形データ２０の再生を終了する（前記ステップＳ２２）。そして、現在の再生タイミングが小節区切りの位置に到達したとき（前記ステップＳ２３のＹＥＳ）、ＣＰＵ１及びオーディオ再生部８は、フィルインセクション２１０の波形データ２０´の再生を開始する(前記ステップＳＳ２４）。この場合、「Ｍｏ＿６」の位置でメインセクション２００の波形データ２０の再生を終了することにより、当該「Ｍｏ＿６」のアタック部の発音を回避できるので、「２度鳴り」によるノイズの発生を確実に防ぐことができる。
【００７８】
また、例えば、セクション切替指示が小節区切りで行われ、且つ、小節末尾直前の所定区間内にメインセクションのオンセット情報「Ｍｏ＿ｚ」が存在しない場合（前記ステップＳ１８のＮＯ）、ＣＰＵ１は、現在再生しているメインセクションの再生位置が小節区切り位置に到達したとき（前記ステップＳ２１、Ｓ２３のＹＥＳ）、ＣＰＵ１及びオーディオ再生部８は、メインセクション２００の波形データ２０の再生を終了し、且つ、フィルインセクション２１０の波形データ２０´の再生を開始する(前記ステップＳ２２，Ｓ２４）。
【００７９】
ＣＰＵ１によって実行される前記ステップＳ２２による処理が、前記別の波形データの指定に応じて、前記再生するステップにより再生される波形データを前記再生中の波形データから前記別の波形データへ切り替える制御を行うステップであって、前記再生するステップによる波形データの再生タイミングが、前記設定された終了タイミングに到達することに応じて、少なくとも前記再生中の波形データの再生を終了させる制御を行うステップ、或いは、前記別の波形データの指定に応じて、前記再生部が再生する波形データを前記再生中の波形データから前記別の波形データへ切り替える制御を行うステップであって、前記再生するステップによる波形データの再生タイミングが、前記設定された終了タイミングに到達することに応じて、少なくとも前記再生中の波形データの再生を終了させる制御を行う制御部として機能する。
【００８０】
前記図９の処理により、再生対象がフィルインセクション２１０の波形データ２０´に切り替わると、ＣＰＵ１及びオーディオ再生部８は、前記図４のステップＳ２，Ｓ３の処理により、フィルインセクション２１０の波形データ２０´を１小節末尾まで少なくとも１回再生した後、フィルインセクション２１０の波形データ２０´の再生を終了する。そして、ＣＰＵ１及びオーディオ再生部８は、再生対象をメインセクション２００に戻して、メインセクション２００に対応付けられた波形データ２０をループ再生する。
【００８１】
以上説明した通り、本実施形態の自動演奏処理によれば、再生中の波形データをメインセクション２００からフィルインセクション２１０へ切り替える際、波形途中から再生することによるノイズや「２度鳴り」によるノイズ発生を確実に防ぎつつ、任意のタイミングで、波形データを切り替えることができるという優れた効果を奏する。
【００８２】
なお、本実施例では、各アタック部の開始位置を潜在的切替位置としたが、潜在的切替位置はこれに限らない。例えば、波形データのレベルが所定値よりも小さい箇所、あるいはそのような状態が一定時間連続する箇所などを潜在的切替位置として設定するように構成してもよい。
【００８３】
また、本実施例では、前記ステップＳ６において、各波形データ２０及び２０´に対応付けられた波形再生制御情報２２に記憶された切替位置情報２５を参照することにより、各波形データ２０及び２０´についてオンセット情報「Ｍｏ_１」〜「Ｍｏ８」と「Ｆｏ１」〜「Ｆｏ８」とを取得する構成を例示したが、前記ステップＳ６で取得する切替位置情報２５は予め記憶されたものに限らず、例えば、再生中に再生中の波形データ２０と、切替先として指定されたフィルインセクション２１０に対応付けられた波形データ２０´とを、リアルタイムで解析して算出したものであってもよい。
【００８４】
なお、前記ステップＳ１１は、処理分岐の判断条件となる音楽的区切りの一例として１小節の区切り位置を用いる構成であったが、４小節あるいは８小節といった、複数小節単位の区切り位置を、処理分岐の判断条件となる音楽的区切りとして用いるように構成されてもよい。また、別の例として、前記ステップＳ１１は、例えば、拍数或いはクロック数を、処理分岐の判断条件となる音楽的区切りとして用いるように構成されてもよい。
【００８５】
なお、例えばケースＡ，Ｂのように、１箇所のオンセット情報（「Ｆｏ＿Ｘ」又は「Ｍｏ＿ｙ」）の位置でメインセクション２００の波形データ２０の再生を終了して、且つ、フィルインセクション２１０の波形データ２０´の再生を開始する場合、オーディオ再生部８は、セクション切替時に適宜の時間幅（例えば５．８ミリ秒程度）で、メインセクション２００のの波形データ２０とフィルインセクション２１０の波形データ２０´とをクロスフェード処理するとよい。また、ケースＣのように、メインセクション２００の波形データ２０の再生を「Ｍｏ＿ｚ」の位置で終了する場合、オーディオ再生部８は、「Ｍｏ＿ｚ」時点でメインセクション２００の波形データ２０が無音になるように、フェードアウト処理するとよい。
【００８６】
なお、実施例では、図９のセクション切替処理において、オーディオ再生部８が、メインセクション２００波形データ２０の再生を終了して（前記ステップＳ２２）、フィルインセクション２１０の波形データ２０´の再生を開始する（前記ステップＳ２４）ことを説明したが、前記ステップＳ２２の処理は、メインセクション２００の波形データの再生を終了（停止）するのでなく、メインセクション２００の波形データ２０に従う演奏音をミュートする処理でもよい。
【００８７】
なお、上記の実施例では、セクション切替の一例として、再生中の波形データをメインセクション２００からフィルインセクション２１０へ切り替える場合を説明したが、これに限らず、例えば、メインセクション２００からエンディングセクション２３０への切り替えや、フィルインセクション２１０からエンディングセクション２３０への切り替えなど、任意のセクションの組み合わせによるセクション切り替えに本願発明は適用できる。要するに、セクション切替処理は、或る伴奏パターンデータの波形データから別の伴奏パターンデータの波形データへ切り替える処理でさえあればよい。
【００８８】
なお、上記の実施例では、１つの演奏パート（例えばドラムパート）で用いる伴奏パターンデータ２００、２１０、２２０、２３０・・・を説明したが、データベースは、更に、図示外の複数のパート（例えば、コードバッキングパート、べースパート等）のそれぞれに対応して、セクション毎の伴奏パターンデータを用意してよい。更に、データベースには、ジャズ、ポップス、ロック、ブルースなど多彩なジャンルに対応する複数通りの伴奏パターンデータ２００、２１０、２２０、２３０・・・が用意されよい。
【００８９】
なお、電子楽器１００は、更に、ＭＩＤＩデータで作成された伴奏パターンデータをデータベース（記憶装置４）に記憶し、該ＭＩＤＩデータで作成された伴奏パターンデータを用いた自動演奏を行うことができるように構成されてもよい。自動演奏は、ＭＩＤＩデータで作成された伴奏パターンデータのパートと、波形データで作成された伴奏パターンデータのパートとが併存していてもよい。
【００９０】
なお、データベース（記憶装置４）に記憶される伴奏パターンデータ２００、２１０、２２０、２３０・・・は、例えば電子楽器１００のメーカが作成して予めデータべースに記憶したものである。それに限らず、当該電子楽器のユーザが、自身で新規に作成（録音）した伴奏パターンデータをデータベースに追加記憶できてもよいし、メーカやその他の利用者が新規に作成した伴奏パターンデータを、外部機器（例えばインターネットを経由して接続されたサーバ装置など）から取得して、データベースに既存のデータと差し替えたり、あるいは、データベースに追加記憶したり、できてもよい。また、時間経過に伴い、前記記憶部に記憶された前記複数の波形データのいずれか１つを再生するステップ乃至再生部は、当該電子楽器１００に備わる記憶装置４に記憶された伴奏パターンデータ２００、２１０、２２０、２３０・・・のいずれか１つに対応付けられた波形データを再生することに限らず、例えば、前記外部機器から波形データを取得しつつ再生することにより構成されてもよい。
【００９１】
なお、電子楽器１００は、演奏操作子５、表示部７、オーディオ再生部８、ＭＩＤＩ音源部９、楽音制御部１０など、各機能モジュールを１つの装置筺体に内蔵したものに限らず、１以上の機能モジュール毎に個別の装置を、MIDIインタフェース等の接続して構成構成されたものであってもよい。
【００９２】
なお、本発明に係る波形再生装置は電子楽器１００に限らず、パーソナルコンピュータ、ＰＤＡ（携帯情報端末）や携帯電話等の携帯通信端末、あるいはゲーム装置など、少なくとも波形データに基づいて楽音の自動演奏を行うことのできるものであればどのような形態の装置・機器に適用してもよい。
【符号の説明】
【００９３】
１  ＣＰＵ、２  ＲＯＭ、３  ＲＡＭ、４  記憶装置、５  演奏操作子、６  パネル操作子、７  表示部、８  オーディオ再生部、９  ＭＩＤＩ音源部、１０  楽音制御部、１１  インタフェース、１２  通信バス、１３  タイマ、１４  サウンドシステム、２０  波形データ、２２  形再生制御情報、２５  オンセット情報、２００  メインセクション、２１０  フィルインセクション
【図１】
2015075661.tif 000003
【図２】
2015075661.tif 000004
【図３】
2015075661.tif 000005
【図４】
2015075661.tif 000006
【図５】
2015075661.tif 000007
【図６】
2015075661.tif 000008
【図７】
2015075661.tif 000009
【図８】
2015075661.tif 000010
【図９】
2015075661.tif 000011