(57)【特許請求の範囲】
【請求項１】
音の波形を表現するサンプル値データの時系列からなる波形データと、その波形データにおける時間軸上の任意の複数の位置をそれぞれ示す複数のマークのデータと、その波形データにおける時間軸上の任意の１以上のループ区間をそれぞれ示す１以上のループ区間データとを記憶することができる記憶手段と、
上記波形データの時系列に関する音楽的なタイミングを逐次に発生するタイミング発生手段と、
ループ再生を指示するループ指示手段と、
上記記憶手段の波形データを逐次に再生する再生手段と、
上記ループ指示手段でループ再生が指示されたら、その指示に基づく所定のループ区間をループ再生し、上記ループ再生の指示が解除されたら、その解除後に上記タイミング発生手段による音楽的なタイミングが発生した時に、そのループ再生をしていたループ区間に基づき定まるマークが示す位置の波形データから再生を行うよう上記再生手段を制御する制御手段とを備えた波形再生装置。
【請求項２】
上記複数のマークのうちから任意のマークを選択するマーク選択手段を備え、上記制御手段は、上記マーク選択手段により任意のマークが選択されたら、その選択後に上記タイミング発生手段による音楽的なタイミングが発生した時に、上記ループ再生指示の解除時の処理に優先させて、その選択されたマークが示す位置の波形データから上記再生手段で再生を行うよう制御するように構成した請求項１記載の波形再生装置。
【請求項３】
コンピュータを、請求項１または２に記載の波形再生装置における各手段として機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、音の波形を表現する波形データを予め記憶しておいてその波形データに基づいて音を再生する波形再生装置とその波形再生装置をコンピュータで実現するための記録媒体に関するものである。
【０００２】
【従来の技術】
従来、単音としての楽音信号ではなく、楽曲の一部分、人間が歌ったフレーズ、擬音による効果音などの楽音をサンプリングしてその波形データを予め記憶しておき、これを再生して音楽演奏する電子楽器がある。
【０００３】
このような電子楽器では、連続する楽音を音楽的に意味のあるいくつかの区間、たとえば音節（シラブル）毎の区間に区切り、各シラブル毎にそれぞれ異なる演奏操作子（スイッチボタンなど）を割り当てておき、これらの演奏操作子を操作することにより、現在再生している楽音を、その操作された演奏操作子に対応するシラブルへと直ちに移行させる演奏手法が考えられる。
【０００４】
また、かかる電子楽器では、波形データのフレーズ中にループ区間を予め定めておき、ループ指示を行うことでそのループ区間を繰り返して再生するループ再生機能を備えたものもある。
【０００５】
【発明が解決しようとする課題】
上記の場合、演奏操作子を操作するタイミングは、再生中の楽音の拍や小節などの音楽的に意味のあるタイミングに合わせないと、再生される楽音のリズムが切替え操作の前後で乱れてしまい、リズム感が損なわれることになる。このため、演奏操作子の操作は、その適切なタイミングを選ぶことにおいて非常に高度な演奏技術が要求される。
また同様なことはループ再生状態から抜け出る時もいえ、適切なタイミングでループ再生から抜け出ないと、再生音のリズム感を損なってしまう。
【０００６】
本発明はかかる問題点に鑑みてなされたものであり、簡単な操作で、リズム感を損なうことなく波形再生位置の切替えを行うことを目的とする。
【０００７】
【課題を解決するための手段および作用】
図１は本発明にかかる原理説明図である。
上述の課題を解決するために、本発明に係る波形再生装置は、第１の形態として、音を表現するサンプル値データの時系列からなる波形データと、その波形データにおける時間軸上の任意の複数の位置をそれぞれ示す複数のマークのデータとを記憶することができる記憶手段と、上記複数のマークのうちから任意のマークを選択するマーク選択手段と、上記波形データに関する音楽的なタイミングを逐次に発生するタイミング発生手段と、上記記憶手段の波形データを逐次に再生する再生手段と、上記マーク選択手段により任意のマークが選択されたら、その選択後に上記タイミング発生手段による音楽的なタイミングが発生した時に、その選択されたマークが示す位置の波形データから再生を行うよう上記再生手段を制御する制御手段とを備えている。
上記の音を表現するサンプルデータ値の時系列からなる波形データとは、音をサンプリング録音した得たデータであってもよいし、録音した後に編集されたデータであってもよいし、またシンセサイザなどで人工的に作り出したデータであってもよい。
上記のマークの位置としては、例えば歌唱のフレーズにおける各シラブル（音節）の位置や、楽器の各音符毎の位置などとすることができるし、またシラブルや音符に係わりない任意の位置とすることもできる。
また、音楽的なタイミングとしては、例えば楽曲の拍のタイミングあるいは小節の開始タイミングなどとすることができる。
この波形再生装置では、図１に示すように、例えば再生手段により記憶手段の波形データを逐次に再生しているときに、マーク選択手段で上記複数のマークのうちから任意のマークを選択すると、制御手段は、その選択後に上記タイミング発生手段による音楽的なタイミングが発生した時に、その選択されたマークが示す位置の波形データから上記再生手段で再生を行うよう制御する。
例えば、図１は再生手段により記憶手段の波形データを逐次に再生している場合に、マーク選択手段で任意のマークが選択されたときの処理を示すものである。図１に示すように、タイミング発生手段によるタイミングが発生される前は、マーク１に対応する波形データを再生しており、タイミング発生手段によるタイミングが発生されたときにマーク３が示す位置の波形データから再生を行う。よって、波形データの再生、再生位置の切替え（ジャンプ等）を音楽的なタイミングに乗って行うことができるので、再生音のリズムが損なわれることがない。
なお、この波形再生装置では、マーク選択手段によるマーク選択指示がなかった場合には、記憶手段の波形データが再生手段によって順次に再生されていく。
【０００８】
また、本発明にかかる波形再生装置は、第２の形態として、上記第１の形態の波形再生装置において、上記タイミング発生手段で発生する音楽的なタイミングを、上記波形データに関する音楽的なタイミングにかえて、外部機器で演奏される演奏に関する音楽的なタイミングとしたものである。
波形再生装置において、例えば、再生手段によって記憶手段の波形データを再生していない状態（すなわち、まだ再生開始していない状態）で、外部機器で演奏が行われているときに、この外部機器による演奏の音楽的なタイミングに合わせて波形データを任意の位置から再生させたいことがある。このような場合、例えば外部機器での演奏の開始などを契機としてタイミング発生手段でタイミングを発生させておき、マーク選択手段で上記複数のマークのうちから任意のマークを選択すると、制御手段は、その選択後に上記タイミング発生手段による音楽的なタイミング（外部機器の演奏の音楽的なタイミング）が発生した時に、その選択されたマークが示す位置の波形データから上記再生手段で再生を開始するよう制御する。よって、波形データの再生開始を、外部機器による演奏の音楽的なタイミングに乗って行うことができる。
【０００９】
また、本発明に係る波形再生装置は、第３の形態として、音を表現するサンプル値データの時系列からなる波形データと、その波形データにおける時間軸上の任意の複数の位置をそれぞれ示す複数のマークのデータと、その波形データにおける時間軸上の任意の１以上のループ区間をそれぞれ示す１以上のループ区間データとを記憶することができる記憶手段と、上記波形データの時系列に関する音楽的なタイミングを逐次に発生するタイミング発生手段と、ループ再生を指示するループ指示手段と、上記記憶手段の波形データの時系列を逐次に再生する再生手段と、上記ループ指示手段でループ再生が指示されたら、その指示に基づく所定のループ区間をループ再生し、上記ループ再生の指示が解除されたら、その解除後に上記タイミング発生手段による音楽的なタイミングが発生した時に、そのループ再生をしていたループ区間に基づき定まるマークが示す位置の波形データから再生を行うよう上記再生手段を制御する制御手段とを備えている。
この波形再生装置においても、マークの位置や音楽的なタイミングは上記同様とすることができる。
この波形再生装置では、再生手段により記憶手段の波形データを逐次に再生しているときに、ループ指示手段でループ再生が指示されたら、その指示に基づく所定のループ区間（例えばその指定した時点に時間的に最も近いループ区間）をループ再生する。次いで、そのループ再生の指示が解除されたら、制御手段は、その解除後に上記タイミング発生手段による音楽的なタイミングが発生した時に、そのループ再生をしていたループ区間に基づき定まるマーク（例えばそのループ区間の後の時間的に最も近いマーク）が示す位置の波形データから上記再生手段で再生を行うよう制御する。よって、ループ再生から抜け出るにあたり、その抜け出るタイミングを音楽的なタイミングに乗って行うことができるので、再生音のリズム感が損なわれることがない。
【００１０】
また、本発明に係る波形再生装置は、第４の形態として、上記第３の形態の波形再生装置において、上記複数のマークのうちから任意のマークを選択するマーク選択手段を備え、上記制御手段は、上記マーク選択手段により任意のマークが選択されたら、その選択後に上記タイミング発生手段による音楽的なタイミングが発生した時に、上記ループ再生指示の解除時の処理に優先させて、その選択されたマークが示す位置の波形データから上記再生手段で再生を行うよう制御するように構成できる。
かかる構成によれば、操作者がマーク選択手段により任意のマークを選択すれば、ループ再生の終了の有無にかかわりなく、そのマークの位置に再生位置が移行することになり、操作者の演奏意図を的確に反映させて演奏を行うことができる。
【００１１】
また、本発明に係る波形再生装置は、第５の形態として、上記第１または第４の形態の波形再生装置において、上記マーク選択手段によるマークの選択は、一つのマークの選択後に上記タイミング発生手段による音楽的なタイミングが発生するまでの間にマークの選択が複数行われた時には、最後に選択したマークに基づいて処理を行うように構成できる。
かかる構成によれば、操作者がマーク選択手段により任意のマークを続けざまに選択すれば、最後に選択したマークの位置に再生位置が移行することになる。このようにマークを連続して選択するのは、操作者が最初にマークを選択してから直ぐに思いなおして他のマークを選択した場合であるので、上記処理により操作者の演奏意図を的確に反映させて演奏を行うことができる。
【００１２】
また、本発明に係る記録媒体は、コンピュータを、上記第１〜第５のいずれかの形態の波形再生装置における各手段として機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体からなる。
【００１３】
【発明の実施の形態】
以下、図面を参照して、本発明の実施形態を説明する。
図２には本発明の一実施例としての波形再生装置の機能を搭載した電子楽器が示される。図２において、１は装置全体の制御を司るＣＰＵ（中央処理装置）である。２は制御用のプログラムや各種のテーブル等を記憶しているＲＯＭ（リード・オンリー・メモリ）である。３はＣＰＵ１による作業等に用いられる作業領域を提供するワーキングＲＡＭ（ランダム・アクセス・メモリ）である。４はフレーズデータを複数記憶しているフレーズデータＲＯＭである。
【００１４】
図３にはフレーズデータＲＯＭ４に記憶されているフレーズデータのデータ構造が示される。この実施例では、人の歌唱をフレーズデータの対象としており、人の歌唱を１フレーズ分にわたりサンプリングして得た波形データと共に、その歌声をシラブル（音節）毎に区切ってそれらに関する情報をフレーズデータとしている。具体的には、フレーズデータは、フレーズ名（識別番号）、その歌唱の拍子（例えば４／４拍子など）、フレーズ全体の拍数、フレーズ全体のサンプル数、フレーズ先頭アドレス、フレーズ終了アドレス、マーク数（ｎ）、マーク１〜マークｎの各々についてのマークアドレス、マーク１〜マークｎの各々についてのループ先頭アドレスとループ終了アドレス、録音時のテンポ、波形データからなる。
【００１５】
ここで、「波形データ」は歌唱音をサンプリング周波数４４．１ｋHzでサンプリングしたサンプル値データ（振幅値データ）の時系列からなり、それらのサンプル値データの時系列は、１アドレス当たりに１振幅値データの割合で、シーケンシャルなアドレス領域に順次に記憶される。「拍子」とはこの歌唱の拍子のことであり、「フレーズ全体の拍数」とはサンプリングした１フレーズ中に存在する拍の総数である。「フレーズ全体のサンプル数」とはこの波形データ（サンプル値データの時系列）におけるサンプル値データの総数である。「フレーズ先頭アドレス」とはこの波形データにおける先頭のサンプル値データが格納されているアドレスであり、「フレーズ終了アドレス」とはこの波形データにおける最後尾のサンプル値データが格納されているアドレスである。「録音時のテンポ」とはサンプリングした歌唱の元々のテンポのことである。
【００１６】
「マーク数（ｎ）」とは、このフレーズをシラブル単位で区切ったときのシラブルの先頭に付けるマーク（シラブルマーク）の数であり、そのフレーズを区切ったシラブルの数に相当する。図４には、かかるフレーズを区切った例としてフレーズをシラブル１、シラブル２、シラブル３・・・のように区切った様子が示される。この図４に示されるように、「マーク１アドレス」とは最初のシラブル１の先頭位置に付けられたマーク１に対応する波形データ（シラブル１の先頭のサンプル値データ）アドレス、・・・「マークｎアドレス」とはｎ番目のシラブルｎの先頭位置に付けられたマークｎに対応する波形データ（シラブルｎの先頭のサンプル値データ）のアドレスである。また、例えばマーク１の「ループ先頭アドレス」と「ループ終了アドレス」は、マーク１に相当するシラブル１の区間内に設けられたループ区間の先頭位置が「ループ先頭アドレス」に、また同ループ区間の終了位置が「ループ終了アドレス」に相当する。他のマークについても同様である。ループ区間は例えばシラブル１のようなシラブル区間の終わりの位置に揃えて設けたり、シラブル２のようにシラブル区間の途中の位置に設けたりするなど、それぞれシラブル区間中の任意の位置に設けることができ、またループ区間を設けないシラブルを設定することも可能である。
【００１７】
５は操作子群であり、この操作子群５はフレーズ選択ボタン５１、シラブルジャンプボタン５２、ループ再生指示ボタン５３等を含む各種操作子の群である。ここで、フレーズ選択ボタン５１はＡ、Ｂ、Ｃ、Ｄと表記された４つのスイッチボタンからなり、上記フレーズデータの形でフレーズデータＲＯＭ４に予め記憶されたＡ、Ｂ、Ｃ、Ｄの４種類のフレーズデータのうちから一つを選択するために用いる。シラブルジャンプボタン（以下、単にジャンプボタンという）５２は１つのフレーズをシラブル毎に区切った各シラブル区間を、後述の再生位置のジャンプ先として選択するためのものであり、「１」〜「８」の番号が表記された８つのスイッチボタンからなる。この番号「１」〜「８」はフレーズ中の第１番目から第８番目までのシラブル区間がそれぞれ対応している。ループ再生指示ボタン（以下、単にループボタンという）５３はループ再生を指示するためのスイッチボタンである。
【００１８】
６はＭＩＤＩインタフェースであり、外部からのＭＩＤＩデータを受信したり、本装置からＭＩＤＩデータを外部へ送信する際に用いられ、このＭＩＤＩインタフェース６を通してＭＩＤＩ鍵盤を接続することができる。このＭＩＤＩ鍵盤は複数の鍵からなり、通常の実演奏を行うために用いるほか、この実施例装置で上記フレーズデータを再生する「フレーズ再生モード」で使用する際には、鍵盤中の押鍵した鍵の音高（キーナンバー）により、再生するフレーズのピッチを指定するとともに、その鍵を押すことで波形再生を開始し、その鍵を押し続けている間にわたり波形再生を継続し、その鍵を離すことで波形再生を停止することを指示する。
【００１９】
７はＤ／Ａ（ディジタル／アナログ）変換器であり、再生したフレーズ波形データをディジタル／アナログ変換してオーディオ・システムに供給し、オーディオ・システムから放音する。
【００２０】
以下、この実施例装置の動作を説明する。まず、「通常演奏」「ジャンプ演奏」「ループ演奏」「ループジャンプ演奏」の各演奏による波形再生の態様について図５〜図８を参照して説明する。
【００２１】
〔通常演奏〕
まず、通常演奏による波形再生について図５を参照して以下に説明する。
フレーズデータＲＯＭ４に記憶されているフレーズデータのうちから一つをフレーズ選択ボタン５１を用いて選択する。ＭＩＤＩインタフェース６に接続されたＭＩＤＩ鍵盤からノートオン情報を受けると、図５（１）に示すように、その選択したフレーズの先頭（先頭のシラブル１）から再生を開始し、押鍵（ノートオン）を続けている間はフレーズを再生し続け、離鍵によりノートオフ情報を受けると、直ちに再生を停止する。図５（１）の例では、フレーズ中のシラブル３の中途で離鍵されたため、シラブル３を全て再生し終わらないうちに再生停止となっている。
【００２２】
一方、１フレーズ分以上の時間にわたり押鍵を続けた場合には、図５（２）に示すように、フレーズの最後（フレーズエンド）まで再生し終わると、再びフレーズの先頭に戻ってその先頭のシラブルから再生を繰り返す。この図５（２）の例では、フレーズはシラブル１〜４からなり、シラブル４まで再生し終わると、シラブル１に戻って再生を続けることが示されている。
【００２３】
〔ジャンプ演奏〕
次に、ジャンプ演奏について図６を参照して以下に説明する。
このジャンプ演奏は、フレーズの再生途中において、現在再生中のシラブルから別のシラブル（現シラブルより前側のシラブルでも後側のシラブルでもよい）にジャンプする必要が生じた場合に、操作子群５中のジャンプボタン５２を用いてジャンプ先のシラブルを選択してジャンプ指示することで、現に再生しているフレーズの拍のリズムに乗って、つまり次の拍がきた時に、そのジャンプ先のシラブルにジャンプするものである。
この場合、ジャンプするタイミングは、ジャンプ指示直後の拍のタイミングの他、複数の拍（小節単位など）の後のタイミングなどであってもよい。
【００２４】
図６（１）には、ジャンプボタン５２が押されなかった場合の再生態様が示されており、この場合はフレーズのシラブル１、シラブル２、シラブル３が順次に再生されていく。
【００２５】
図６（２）には、フレーズ中のシラブル１の区間を再生中に、ジャンプボタン５２によってシラブル３へのジャンブが選択・ジャンプ指示された場合の再生態様が示されている。フレーズの再生を開始するにあたっては、拍カウンタ（ビートカウンタ）がフレーズの再生開始と同期してスタートしており、この拍カウンタは各拍の到来タイミングでビートクロックを発生し出力している。番号「３」のジャンプボタン５２を押すと、番号「３」のジャンプ指示パルスが発生され、これにより拍待ちの状態となり、次のビートクロックのタイミングが到来すると、シラブル２を飛び越えてシラブル３にジャンプする。
【００２６】
図６（３）には、フレーズ中のシラブル１の区間を再生中に、ジャンプボタン５２によってシラブル３へのジャンプが選択・指示され、その直後にそれに続いてシラブル４へのジャンプが選択・指示された場合の再生態様が示されている。このように、先着のジャンプ指示（シラブル３へのジャンプ指示）によるジャンプ動作が行われる前（つまり次のビートクロックが発生される前）に後着のジャンプ指示（シラブル４へのジャンプ指示）が行われた場合には、ジャンプ指示は後着優先となり、よって、番号「４」のジャンプ指示パルスが発生された後の最初のビートクロックのタイミングが到来すると、シラブル２、３を飛び越えてシラブル４にジャンプする。
【００２７】
〔ループ演奏〕
次に、ループ演奏について図７を参照して以下に説明する。
このループ演奏は、フレーズの再生中において、操作子群５中のループ再生指示のためのループボタン５３を押すことによりループ再生指示があると、ループボタンが押された時点以降の最短にあるループ区間まで再生した後に、そのループ区間を、ループボタンが押されている間にわたり繰り返し再生し続け（ループ再生）、ループボタン５３が離される（ＯＦＦになる）と、ループ再生を中止し、現在のシラブルのループ区間から次に続くシラブルの先頭に、フレーズのリズムに乗って（次の拍がきた時に）ジャンプするものである。
【００２８】
図７（１）には、ループボタン５３もジャンプボタン５２も押されなかった場合の再生態様が示される。図示のように、フレーズ中のシラブルにループ区間が含まれていても、そのループ区間をループ再生することなく、シラブルを順次に再生していく。
【００２９】
図７（２）には、フレーズ中のシラブル１の区間を再生中に、ループボタン５３が押されることによってループ演奏が指示された場合の再生態様が示されている。この例では、ループボタン５３が押されたタイミングは、シラブル１のループ区間の前であるので、シラブル１のループ区間がその押した時点以降の最短にあり、よって、当該ループ区間まで再生した後に、ループボタン５３が押されている間にわたり、そのループ区間を繰り返して再生する。
【００３０】
図７（３）には上記図７（２）の状態から、ループボタン５３が離された場合（すなわちＯＦＦ）の再生態様が示される。ループボタン５３がＯＦＦされたタイミングから拍待ちとなり、最初のビートクロックのタイミングが到来すると、次に続くシラブル（すなわちシラブル２）の先頭にジャンプする。これにより、ループ再生状態からフレーズのリズムに乗って、演奏位置を次のシラブルの先頭に移行することができる。
【００３１】
〔ループジャンプ演奏〕
次に、ループジャンプ演奏について図８を参照して以下に説明する。
ループジャンプ演奏は、ループボタン５３でループ指示することによりループ区間をループ再生中に、ジャンプボタン５２によって選択したシラブルへのジャンプ指示がなされた場合に、ループ再生中のループ区間からフレーズの拍のリズムに乗って（次の拍がきた時に）当該選択したシラブルにジャンプするものである。この場合も、ループ再生を抜けるタイミングは、ジャンプ指示直後の拍のタイミングの他、複数の拍（小節単位など）の後などであってもよい。
【００３２】
図８（１）には、ループボタン５３もジャンプボタン５２も押されなかった場合の再生態様が示される。図示のように、フレーズ中のシラブルにループ区間が含まれていても、そのループ区間をループ再生することなく、シラブルを順次に再生していく。
【００３３】
図８（２）には、ループボタン５３でのループ指示によってフレーズ中のシラブル１のループ区間をループ再生中に、表記番号「３」のジャンプボタン５２でシラブル３へのジャンプ指示がされた場合の再生態様が示されている。図示するように、ジャンプボタン５２が押されてから拍待ちが行われ、ジャンプボタン５２が押された以降の最初のビートクロックのタイミングで、シラブル３にジャンプしている。この図示の例では、そのジャンプ後、ループボタン５３が離されてＯＦＦとなったので、シラブル３についてはループ再生は行われていない。
【００３４】
一方、図８（３）では、上述の図８（２）と同じ条件でシラブル３にジャンプした後もループボタン５３が押され続けた場合の例が示される。この場合には、ジャンプ先のシラブル３においてそのループ区間をループ再生する。その後、ループボタン５３がＯＦＦにされると、前述の図７で説明したと同様に、フレーズの拍のリズムに乗って（次にくる拍のタイミングで）、ループ区間を抜け出して、次に続くシラブル４の先頭にジャンプする。
【００３５】
次に、上述の各演奏による再生態様を実現するためのＣＰＵ１の処理手順を図９〜図１６のフローチャートを参照して説明する。
図９には、ＣＰＵ１により実行されるメインルーチンのフローチャートが示される。
【００３６】
実施例装置の電源がＯＮにされてメインルーチンがスタートすると、まず、各種のレジスタ等の初期化を行う（ステップＳ０）。その後、フレーズ選択ボタン５１が操作されたか否かを判定する（ステップＳ１）。フレーズ選択ボタン５１が操作された場合には、「フレーズ選択処理」を行う（ステップＳ２）。操作されていない場合、すなわちフレーズ選択ボタン５１がまだ操作されていない場合と既に操作されていたのでそれに対応した「フレーズ選択処理」が既に実行されていた場合には、「フレーズ選択処理」は飛び越す。
【００３７】
ここで、「フレーズ選択処理」は、フレーズ選択ボタン５１が操作された場合に、そのフレーズ選択ボタン５１の番号Ａ、Ｂ、Ｃ、Ｄのボタンのうちのいずれのボタンが操作されたかを調べて、その操作された番号に対応するフレーズデータの所要のデータをフレーズデータＲＯＭ４から読み出す処理である。
【００３８】
図１０はこの「フレーズ選択処理」の詳細な手順を示すフローチャートである。図示するように、フレーズ選択ボタン５１で選択したフレーズのフレーズデータ中の所要のデータをフレーズデータＲＯＭ４から読み出してワーキングＲＡＭ３の作業領域にロードする。この所要のデータとしては、選択したフレーズの拍子とフレーズ全体の拍数とサンプル数、フレーズ先頭アドレス／フレーズ終了アドレス、各シラブルのマークアドレス、各シラブル（各マーク）のループ先頭アドレス／ループ終了アドレスなどであり、このうちのフレーズの拍子とフレーズ全体の拍数とサンプル数を用いて１拍の時間間隔を計算してビートカウンタで計数すべき設定値とする（ステップＳ１１）。
【００３９】
次に、ＭＩＤＩ鍵盤からノートオン情報を受けてノートオフからノートオンへの状態遷移があったか否かを判定する（ステップＳ３）。ノートオンへの遷移があった場合には、「押鍵処理」を行う（ステップＳ４）。ノートオンへの遷移がなかった場合、すなわち既にノートオン状態になっている、またはノートオフ状態である場合には、「押鍵処理」は飛び越す。
【００４０】
図１１は上述の「押鍵処理」の詳細な手順を示すフローチャートである。この「押鍵処理」は、割込みタイマＡと割込みタイマＢとを初期設定してスタートさせる処理である。このうち、割込みタイマＡは、フレーズ波形データのサンプリング周波数の周期で繰り返し計時を行って、サンプリング周期の間隔でタイマ割込み信号Ａを生成してＣＰＵ１に割込みをかけて割込み処理Ａ（図１４に示す波形読出し処理）を実行させるためのものである。また、割込みタイマＢは、選択したフレーズの拍の周期で繰り返し計時を行って、拍の間隔でタイマ割込み信号Ｂ（すなわちビートクロック）を生成してＣＰＵ１に割込みをかけて図１７に示すタイマ割込み処理Ｂを実行させるためのものである。
【００４１】
図１１において、「押鍵処理」が開始されると（ステップＳ２０）、まず、割込みタイマＡを初期化、すなわちカウント値を「０」にしてから、そのカウントを開始させる（ステップＳ２１）。この割込みタイマＡがサンプリング周期を計時する度にタイマ割込み信号Ａが発生して図１４に示すタイマ割込み処理Ａを実行するが、その詳細は後述する。
【００４２】
次いで、割込みタイマＢに、先に図１０で説明した「フレーズ選択処理」で計算したビートカウンタの設定値（拍の間隔）をセットして（ステップＳ２２）、この設定値分のカウントがされる都度、ビートクロックがタイマ割込み信号Ｂとして生成されるようにし、その後に割込みタイマＢをスタートさせる（ステップＳ２３）。この割込みタイマＢが拍の周期を計時する度に、タイマ割込み信号Ｂが発生して図１７に示すタイマ割込み処理Ｂを実行する。このタイマ割込み処理Ｂでは、タイマ割込み信号Ｂが発生する度に「ビート」フラグをＯＮにする（ステップＳ８１）。
【００４３】
割込みタイマＢのスタートを終えたら（ステップＳ２３）、次に上記「フレーズ選択処理」で読み出したフレーズ先頭アドレスを、次に再生する波形データのアドレス（以下、次アドレスという）として次アドレス・レジスタに設定し（ステップＳ２４）、メインルーチンにリターンする。
【００４４】
図９のメインルーチンでは、次には、ＭＩＤＩ鍵盤からノートオフ情報を受けてノートオンからノートオフへの状態遷移があったか否かを判定する（ステップＳ５）。ノートオフへの遷移があった場合には、「離鍵処理」を行う（ステップＳ６）。ノートオフへの遷移がなかった場合、すなわち既にノートオフ状態になっている，またはノートオン状態である場合には、「離鍵処理」は飛び越す。
【００４５】
図１２にはこの「離鍵処理」のフローチャートが示される。この「離鍵処理」では、図１１で説明した「押鍵処理」で設定しカウントスタートさせた割込みタイマＡと割込みタイマＢのカウントを停止させて（ステップＳ３１、Ｓ３２）、メインルーチンにリターンする。これにより、フレーズの再生は停止する。
【００４６】
図９のメインルーチンでは、次には「ボタン読込み処理」を行う（ステップＳ７）。この「ボタン読込み処理」では、ジャンプボタン５２とループボタン５３のＯＮ／ＯＦＦ状態に応じて「ジャンプ準備中」「ループ中」「ループジャンプ中」の各フラグのＯＮ／ＯＦＦを設定する。ここで、「ジャンプ準備中」フラグがＯＮとは、ジャンプ演奏またはループジャンプ演奏においてジャンプボタン５２が選択操作されたので、次の拍のタイミングでジャンプ先のシラブルへジャンプすることを示すものであり、「ループ中」フラグがＯＮとは、ループ区間をループ再生中であることを示すものであり、「ループジャンプ」フラグがＯＮとは、ループボタン５３がＯＦＦ操作されたので、次の拍のタイミングでループ再生を抜け出て次に続くシラブルの先頭にジャンプすることを示すものである。
【００４７】
図１３はこの「ボタン読込み処理」の詳細な手順を示すフローチャートである。ジャンプボタン５２の状態がＯＮかＯＦＦかを判定し（ステップＳ４１）、ジャンプボタンＯＮである場合には、「ジャンプ準備中」フラグをＯＮにするとともに（ステップＳ４２）、そのジャンプボタン５２で選択指定したジャンプ先のシラブルの先頭位置を示すマークアドレスをジャンプ先アドレスとしてジャンプ先アドレス・レジスタにセットする。
【００４８】
次いで、ループボタン５３がＯＮかＯＦＦかを判定し（ステップＳ４３）、ループボタンＯＮである場合には、「ループ中」フラグをＯＮにする（ステップＳ４４）。これにより、この「ループ中」フラグがＯＮの間は、ループ演奏が行われることになる。
【００４９】
次に、「ループ中」フラグがＯＮであるか否かを判定し（ステップＳ４５）、「ループ中」フラグがＯＮであれば、さらにループボタン５３がＯＦＦか否かを判定する（ステップＳ４６）。ここで、「ループ中」フラグがＯＮであり且つループボタン５３がＯＮである状態は、現在がループ再生中であることを意味し、「ループ中」フラグがＯＮであり且つループボタン５３がＯＦＦである状態は、ループ再生中からループボタン５３のＯＦＦ操作によりループ再生の停止が指示されたことを意味する。後者の場合には、ループ再生を抜け出して次に続くシラブルの先頭にジャンプすることになるので、このための準備として「ループジャンプ」フラグをＯＮにして（ステップＳ４７）、メインルーチンにリターンする。
【００５０】
メインルーチンでは、「その他の処理を実行した後、ステップＳ１に戻り、同じ処理を繰り返して実行する。
【００５１】
次に、「波形読出し処理」を図１４を参照して説明する。この「波形読出し処理」は割込みタイマＡによりサンプリング周期毎の間隔でタイマ割込み信号Ａが発生される毎に実行される。タイマ割込みの発生により「波形読出し処理」が開始されると（ステップＳ５０）、次アドレス・レジスタに格納されている次アドレス（当初はステップＳ２４で設定されたフレーズ先頭アドレス）を用いて、フレーズデータＲＯＭ４からサンプル値データが読み出されて、Ｄ／Ａ変換器７を経てオーディオ出力される。
【００５２】
次いで、「ビート」フラグがＯＮか否かを判定し（ステップＳ５２）、「ビート」フラグがＯＦＦの場合には、まだ拍のタイミングが到来していないことを意味するので、その場合には「次アドレス設定処理」を行う（ステップＳ５３）。この「次アドレス設定処理」はフレーズの波形データを順次に再生していく時の次アドレスを次アドレス・レジスタに設定する処理である。
【００５３】
図１５はこの「次アドレス設定処理」の詳細を示すフローチャートである。「次アドレス設定処理」が開始されると（ステップＳ６０）、「ループ中」フラグの状態を判定し、現在がループ区間のループ再生中（「ループ中」フラグＯＮ）であれば、そのループ区間のループエンド（すなわちループ終了アドレスの位置）に達しているか否かを判定し（ステップＳ６４）、達していれば、再生位置をループ区間の先頭に戻すために「ループ先頭アドレス」を次アドレス・レジスタに次アドレスとしてセットする（ステップＳ６５）。ループエンドに達していなければ（ステップＳ６４）、次には、再生位置がフレーズエンド（すなわちフレーズ終了アドレスの位置）に達しているか否かを判定し（ステップＳ６２）、達していれば、再生位置をフレーズの先頭に戻すために「フレーズ先頭アドレス」を次アドレス・レジスタに次アドレスとしてセットする（ステップＳ６３）。これらの処理の後に、「波形読出し処理」にリターンする。
【００５４】
「波形読出し処理」における「ビート」フラグの状態判定で「ビート」フラグがＯＮであれば（ステップＳ５２）、拍のタイミングが到来していることを意味するので、次には「ビートＯＮ処理」を行う（ステップＳ５４）。この「ビートＯＮ処理」は、「ジャンプ演奏」「ループ演奏」「ループジャンプ演奏」の各演奏におけるジャンプ先のアドレスを次アドレス・レジスタに次アドレスとして設定する処理である。
【００５５】
図１６はこの「ビートＯＮ処理」の詳細を示すフローチャートである。「ビートＯＮ処理」が開始されると（ステップＳ７０）、まず「ビート」フラグをＯＦＦにリセットする。次いで、「ジャンプ準備中」フラグがＯＮか否かを判定する（ステップＳ７１）。「ジャンプ準備中」フラグがＯＮの場合には、ジャンプ演奏またはループジャンプ演奏においてジャンプボタン５２で選択指定したシラブルの先頭に、この拍のタイミングでジャンプすることになるので、ジャンプ先アドレス・レジスタにセットしてあったジャンプ先アドレス（ジャンプボタン５２で選択したシラブルのマークアドレス）を次アドレス・レジスタに次アドレスとしてセットする（ステップＳ７５）。この後、「ループジャンプ」「ループ中」「ジャンプ準備中」の各フラグをＯＦＦにして、「波形読出し処理」にリターンする。
【００５６】
一方、「ジャンプ準備中」フラグがＯＦＦの場合には（ステップＳ７２）、ジャンプボタン５２は操作されていないことを意味し、この場合には、ジャンプ動作としては、ループボタン５３がＯＦＦとされることによる次シラブルへのジャンプ動作のみが行われ得る。よって、「ループジャンブ」フラグがＯＮか否か、つまりループボタン５３がＯＦＦにされたか否かを判定し（ステップＳ７３）、「ループジャンプ」フラグがＯＮであれば、現在再生中のシラブルの次に続くシラブルの先頭アドレス（マークアドレス）をジャンプ先アドレスとして次アドレス・レジスタにセットする（ステップＳ７６）。この後、「ループジャンプ」「ループ中」「ジャンプ準備中」の各フラグをＯＦＦにして、「波形読出し処理」にリターンする。
【００５７】
一方、「ジャンプ準備中」フラグも「ループジャンプ」フラグもＯＦＦの時は、ジャンプボタン５２もループボタン５３も操作されていない、またはループボタン５３は押されたがまだその押されたままの状態であり且つジャンプボタン５２は操作されていないことを示しており、この場合には、拍のタイミングが到来しても特定のシラブルへのジャンプ動作は行わずに単に次アドレスの波形データを再生する。よって、この場合には、図１５で説明した「次アドレス設定処理」を実行し（ステップＳ７４）、その後に「波形読出し処理」にリターンする。
【００５８】
本発明の実施にあたっては上述したものの他にも種々の変形形態が可能である。例えば、以上に説明してきた実施例では、波形データを逐次に再生している最中にジャンプボタン５２の操作があった場合の動作を示すものであった。つまり拍のタイミングでジャンプボタン５２に対応するシラブルの先頭アドレスに、波形データの読出し位置をジャンプさせることで、再生位置の切替え（ジャンプ等）を音楽的なタイミングに乗って行うことができるようにしたものである。しかしながら、本願発明はこれに限られるものではなく、波形データを逐次に再生していない場合（つまり波形データの再生をまだ開始していない場合）に、ジャンプボタン５２の操作があったときに対しても、本願発明を適用することができる。
【００５９】
すなわち、上述の実施例では、押鍵のあった場合に割込みタイマＡおよび割込みタイマＢを初期化スタートしていたが、これに代えて、例えば外部ＭＩＤＩインタフェースにシーケンサを接続して、このシーケンサにおいてＭＩＤＩによるバッキング演奏を行えるようにしておき、このシーケンサで演奏の再生スタートする際に発生する再生スタート信号によって、波形再生装置の割込みタイマＢを初期化スタートさせて、波形再生装置で波形データを再生開始する前からビートクロックを発生させておく。この場合、このビートクロックはシーケンサによるバッキング演奏の拍（または小節）のタイミングで発生するようにしておく。ついで、ジャンプボタン５２を操作し、その操作の後の初めてのビートクロックが発生した時点で割込みタイマＡを初期化スタートさせるようにする。このようにすれば、バッキングでシーケンサが行っているＭＩＤＩによる演奏の拍（または小節）のタイミングで、波形データをジャンプボタン５２で指定されたマークの位置から再生開始することができ、シーケンサによる演奏と波形再生装置による波形再生開始の音楽的なタイミングを合わせることができる。
なお、フレーズ選択が行われた際に、割込みタイマＢを初期化スタートさせておいてもよい。
【００６０】
また、上述の実施例では、波形データを音をサンプリング録音した得たサンプル値データの時系列としたが、本発明はこれに限られるものではなく、例えば、録音した後に編集されたデータであってもよいし、またシンセサイザなどで人工的に作り出したデータであってもよい。
【００６１】
以上の実施例では、本発明を電子楽器という専用のハードウェア装置で実現した場合について述べたが、本発明はこれに限られるものではなく、一般のパーソナルコンピュータ等を上記の各フローチャートに対応する各機能実現手段として機能させるためのプログラムを、パーソナルコンピュータ等にインストールし、このパーソナルコンピュータ等にＭＩＤＩ鍵盤やオーディオ・システムを接続することによっても実現可能であり、この場合、このプログラムはコンピュータ読取り可能な各種の記録媒体、例えばコンパクトディスク（ＣＤ）、フロッピィディスク、磁気テープ、光ディスクなどの記録媒体に格納して販売することができる。
【００６２】
【発明の効果】
以上に説明したように、本発明によれば、簡単な操作で、リズム感を損なうことなく、任意に指定した位置へのジャンプやループ区間からの抜け出る際の特定位置へのジャンプなどの波形再生位置の切替えを行うことができる。
【図面の簡単な説明】
【図１】本発明にかかる原理説明図である。
【図２】本発明の一実施例としての波形再生装置を搭載した電子楽器を示すブロック図である。
【図３】実施例装置におけるフレーズデータのデータ構成を示す図である。
【図４】実施例装置におけるフレーズデータのシラブルとループ区間の関係を説明するための図である。
【図５】実施例装置における通常演奏（ジャンプボタン操作がない場合）を説明するための図である。
【図６】実施例装置におけるジャンプ演奏（ジャンプボタンのみの操作の場合）を説明するための図である。
【図７】実施例装置におけるループ演奏（ループボタンのみの操作の場合）を説明するための図である。
【図８】実施例装置におけるループジャンプ演奏（ループ再生中にジャンプボタンが押された場合）を説明するための図である。
【図９】実施例装置で行われるメインルーチンの実施例を示すフローチャートである。
【図１０】実施例のメインルーチン中のフレーズ選択処理のサブルーチンを示すフローチャートである。
【図１１】実施例のメインルーチン中における押鍵処理のサブルーチンを示すフローチャートである。
【図１２】実施例のメインルーチン中における離鍵処理のサブルーチンを示すフローチャートである。
【図１３】実施例のメインルーチン中におけるボタン読込み処理のサブルーチンを示すフローチャートである。
【図１４】実施例としての波形読出し処理（タイマ割込み処理Ａ）のサブルーチンを示すフローチャートである。
【図１５】実施例の波形読出し処理サブルーチン中における次アドレス設定処理のサブルーチンを示すフローチャートである。
【図１６】実施例の波形読出し処理サブルーチン中におけるビートＯＮ処理のサブルーチンを示すフローチャートである。
【図１７】実施例としてのタイマ割込み処理Ｂのサブルーチンを示すフローチャートである。
【符号の説明】
１  ＣＰＵ（中央処理装置）
２  ブログラムＲＯＭ（リード・オンリー・メモリ）
３  ワーキングＲＡＭ（ランダム・アクセス・メモリ）
４  フレーズデータＲＯＭ
５  操作子群
５１  フレーズ選択ボタン
５２  シラブルジャンプボタン
５３  ループ再生指示ボタン
６  ＭＩＤＩインタフェース
７  Ｄ／Ａ変換器
【図１】
0004025446.tif 000002
【図２】
0004025446.tif 000003
【図３】
0004025446.tif 000004
【図４】
0004025446.tif 000005
【図５】
0004025446.tif 000006
【図６】
0004025446.tif 000007
【図７】
0004025446.tif 000008
【図８】
0004025446.tif 000009
【図９】
0004025446.tif 000010
【図１０】
0004025446.tif 000011
【図１１】
0004025446.tif 000012
【図１２】
0004025446.tif 000013
【図１３】
0004025446.tif 000014
【図１４】
0004025446.tif 000015
【図１５】
0004025446.tif 000016
【図１６】
0004025446.tif 000017
【図１７】
0004025446.tif 000018