楽曲を構成する楽音の音高および発音タイミングを示す時間情報を含む曲データ、および、前記曲データにかかる楽曲の伴奏データであるオーディオデータを格納した記憶手段と、並列に配置され演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成手段と、前記曲データに含まれる時間情報に基づく経過時間にしたがって、前記オーディオデータを読み出すオーディオデータ再生手段と、を備えた楽音生成装置であって、前記演奏操作子の操作にかかる曲データにおける正規の発音タイミングに基づき、当該正規の発音タイミングから時系列的に一方向にある直近の第1のゼロクロスポイントを、前記オーディオデータから検出するジャンプ先検出手段と、前記曲データに示す発音タイミング経過までに、当該発音タイミングに対応する音高の楽音を発生させる前記演奏操作子が操作されたか否かを判断する操作判断手段と、この操作判断手段にて前記演奏操作子が操作されていないと判断された場合に、前記第1のゼロクロスポイントを始点として、当該ゼロクロスポイントより以前のゼロクロスポイントのうち、発音されている楽音の音高に整合した周期に比例する区間の終点に対応した位置に存在する第2のゼロクロスポイントを検出するループ先検出手段と、この第2ゼロクロスポイントと前記第1のゼロクロスポイントとの間の区間をループ区間として前記オーディオデータを繰り返し読み出すループ読み出し手段と、このループ読み出し手段により読み出しが開始された後に前記操作判断手段により前記演奏操作子が操作されたと判断された場合に、当該演奏操作子の操作タイミングから時系列的に一方向にある直近の第3のゼロクロスポイントを、前記オーディオデータから検出するジャンプ元検出手段と、前記検出された第3のゼロクロスポイントから前記検出された第1のゼロクロスポイントに、オーディオデータの読み出しをジャンプさせ、それ以降、通常のオーディオデータの読み出しを継続するように、前記オーディオデータ再生手段を制御する制御手段と、を有する楽音生成装置。前記オーディオデータ再生手段が、前記第3のゼロクロスポイントから、前記第1のゼロクロスポイントにオーディオデータの読み出しをジャンプさせるときに、前記正規の発音タイミングに基づく経過時間に更新し、前記更新された経過時間にしたがって、前記オーディオデータを読み出す請求項1に記載の楽音生成装置。前記ジャンプ元検出手段が、前記演奏操作子の操作タイミングから時系列的に未来でかつ直近の第3のゼロクロスポイントを見出すように構成され、前記ジャンプ先検出手段が、前記正規の発音タイミングに基づき、当該正規の発音タイミングから時系列的に未来でかつ直近の第1のゼロクロスポイントを検出する請求項1に記載の楽音生成装置。前記オーディオデータにおいて、前記楽音の発音タイミングに対応するタイミングにおいて、所定の位相のゼロクロスポイントが位置し、前記ジャンプ先検出手段が、前記正規の発音タイミングに対応する所定の位相の第1のゼロクロスポイントを検出する請求項1に記載の楽音生成装置。楽曲を構成する楽音の音高および発音タイミングを示す時間情報を含む曲データ、および、前記曲データにかかる楽曲の伴奏データであるオーディオデータを格納した記憶手段と、並列に配置され演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成手段と、前記曲データに含まれる時間情報に基づく経過時間にしたがって、前記オーディオデータを読み出すオーディオデータ再生手段と、を備えたコンピュータに、前記演奏操作子の操作にかかる曲データにおける正規の発音タイミングに基づき、当該正規の発音タイミングから時系列的に一方向にある直近の第1のゼロクロスポイントを、前記オーディオデータから検出するジャンプ先検出ステップと、前記曲データに示す発音タイミング経過までに、当該発音タイミングに対応する音高の楽音を発生させる前記演奏操作子が操作されたか否かを判断する操作判断ステップと、前記演奏操作子が操作されていないと判断された場合に、前記第1のゼロクロスポイントを始点として、当該ゼロクロスポイントより以前のゼロクロスポイントのうち、発音されている楽音の音高に整合した周期に比例する区間の終点に対応した位置に存在する第2のゼロクロスポイントを検出するループ先検出ステップと、この第2ゼロクロスポイントと前記第1のゼロクロスポイントとの間の区間をループ区間として前記オーディオデータを繰り返し読み出すループ読み出しステップと、このループ読み出しステップにより読み出しが開始された後、前記演奏操作子が操作されたと判断された場合に、当該演奏操作子の操作タイミングから時系列的に一方向にある直近の第3のゼロクロスポイントを、前記オーディオデータから検出するジャンプ元検出ステップと、前記検出された第3のゼロクロスポイントから前記検出された第1のゼロクロスポイントに、オーディオデータの読み出しをジャンプさせ、それ以降、通常のオーディオデータの読み出しを継続するように、前記オーディオデータ再生手段を制御する制御ステップと、を実行させる楽音生成プログラム。一方、オーディオプレーヤなど他の音響機器からのオーディオデータを受け入れ、或いは、マイクなどからの音響信号をサンプリングしたオーディオデータを受け入れ、そのようなオーディオデータと、音源部から発せられた楽音波形データの双方の再生が可能な電子楽器が提案されている。たとえば、オーディオデータを自動伴奏として再生して、メロディ音を演奏者の鍵操作に基づき音源部により生成された楽音波形データとする装置を考えることができる。この場合に、オーディオデータは、所定のサンプリング周波数で読み出されるため、演奏者が正規の押鍵タイミングで押鍵出来なかった場合にも、オーディオデータの読み出しを演奏者の演奏に合わせて制御するのが困難であるという問題点があった。本発明は、オーディオデータを自動伴奏として再生する際に、演奏者の鍵操作に応じて適切なオーディオデータの読み出しを実現できる楽音生成装置および楽音生成プログラムを提供することを目的とする。本発明の目的は、楽曲を構成する楽音の音高および発音タイミングを示す時間情報を含む曲データ、および、前記曲データにかかる楽曲の伴奏データであるオーディオデータを格納した記憶手段と、並列に配置され演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成手段と、前記曲データに含まれる時間情報に基づく経過時間にしたがって、前記オーディオデータを読み出すオーディオデータ再生手段と、を備えた楽音生成装置であって、前記演奏操作子の操作にかかる曲データにおける正規の発音タイミングに基づき、当該正規の発音タイミングから時系列的に一方向にある直近の第1のゼロクロスポイントを、前記オーディオデータから検出するジャンプ先検出手段と、前記曲データに示す発音タイミング経過までに、当該発音タイミングに対応する音高の楽音を発生させる前記演奏操作子が操作されたか否かを判断する操作判断手段と、この操作判断手段にて前記演奏操作子が操作されていないと判断された場合に、前記第1のゼロクロスポイントを始点として、当該ゼロクロスポイントより以前のゼロクロスポイントのうち、発音されている楽音の音高に整合した周期に比例する区間の終点に対応した位置に存在する第2のゼロクロスポイントを検出するループ先検出手段と、この第2ゼロクロスポイントと前記第1のゼロクロスポイントとの間の区間をループ区間として前記オーディオデータを繰り返し読み出すループ読み出し手段と、このループ読み出し手段により読み出しが開始された後に前記操作判断手段により前記演奏操作子が操作されたと判断された場合に、当該演奏操作子の操作タイミングから時系列的に一方向にある直近の第3のゼロクロスポイントを、前記オーディオデータから検出するジャンプ元検出手段と、前記検出された第3のゼロクロスポイントから前記検出された第1のゼロクロスポイントに、オーディオデータの読み出しをジャンプさせ、それ以降、通常のオーディオデータの読み出しを継続するように、前記オーディオデータ再生手段を制御する制御手段と、を有する楽音生成装置により達成される。本発明によれば、オーディオデータを自動伴奏として再生する際に、演奏者の鍵操作に応じて適切なオーディオデータの読み出しを実現できる楽音生成装置および楽音生成プログラムを提供することが可能となる。以下、添付図面を参照して、本発明の実施の形態について説明する。図1は、本実施の形態にかかる電子楽器の外観を示す図である。図1に示すように、本実施の形態にかかる電子楽器10は、鍵盤11を有する。また、鍵盤11の上部には、音色の指定、後述するオーディオデータにしたがったソング伴奏の開始終了などを行なうためのスイッチ符号12、13参照や、演奏される楽曲に関する種々の情報、たとえば、音色、楽譜などを表示する表示部15を有する。本実施の形態にかかる電子楽器10は、たとえば、61個の鍵C2~C7を有する。図2は、本発明の実施の形態にかかる電子楽器の構成を示すブロックダイヤグラムである。図2に示すように、本実施の形態にかかる電子楽器10は、CPU21、ROM22、RAM23、サウンドシステム24、鍵盤11、入力インタフェースI/F14、表示部15、および、上記スイッチ11、12を有するスイッチ群16を備える。CPU21は、電子楽器10全体の制御、鍵盤11の鍵の押鍵やスイッチ群16を構成するスイッチたとえば、図1の符号12、13参照の操作の検出、鍵やスイッチの操作にしたがったサウンドシステム24の制御、オーディオデータにしたがったソング伴奏など、種々の処理を実行する。ROM22は、CPU21に実行させる種々の処理、たとえば、スイッチの操作、鍵盤の何れかの鍵の押鍵、押鍵に応じた楽音の発音、オーディオデータにしたがったソング伴奏などのプログラムを記憶する。また、ROM22は、ピアノ、ギター、ヴァイオリン、ギター、トランペット、クラリネットなど種々の音色の楽音を生成するための波形データを格納した波形データエリア、押鍵すべき鍵およびその押鍵タイミングを含む曲データを格納した曲データエリア、並びに、オーディオデータを格納したオーディオデータエリアを有する。RAM23は、ROM22から読み出されたプログラムや、処理の過程で生じたデータを記憶する。なお、RAM23にも、入力I/F14を介して他の音響機器30から受け入れたオーディオデータを格納するオーディオデータエリアを有する。オーディオデータは、所定のサンプリング周波数でサンプリングされた、たとえば、PCMデータであり、オーディオデータエリアの開始アドレスからデータ値が順次格納されている。入力I/F14は、他の音響機器30と接続可能であり、他の音響機器30からのオーディオデータを受け入れることができる。オーディオデータは、CPU21によりRAM23のオーディオデータエリアに格納される。また、オーディオデータは、先頭アドレスのデータからの経過時間と対応付けられている。サウンドシステム24は、音源部26、オーディオ回路27、スピーカ28およびオーディオデータ再生部29を有する。音源部26は、たとえば、押鍵された鍵についての情報或いは自動伴奏パターンについての情報をCPU21から受信すると、ROM22の波形データエリアから所定の波形データを読み出して、所定の音高の楽音データを生成して出力する。また、音源部26は、波形データ、特に、スネアドラム、バスドラム、シンバルなど打楽器の音色の波形データを、そのまま楽音データとして出力することもできる。また、オーディオデータ再生部29は、オーディオデータエリアに格納されたオーディオデータを、サンプリング周波数にしたがって、また、曲データに含まれる時間情報に基づく経過時間にしたがって読み出す。また、オーディオデータ再生部29は、後述するように、2つのループポイントループ元時刻およびループ先時刻を受け入れて、ループポイント間のオーディオデータのループ再生ができる。オーディオ回路27は、楽音データおよびオーディオデータを合成し、合成されたデータをD/A変換して増幅する。これによりスピーカ28から音響信号が出力される。図3~図5は、本実施の形態において、ソング伴奏が行われているときの曲データおよびその押鍵タイミングの例を示す図である。図3において、正規タイミングの曲データでは、最初の休符時間t0の後、押鍵キーオンがされ、時間t11の後に離鍵し、さらに、時間t21の後、次の押鍵押鍵時間t12がなされることになっている。実際の押鍵動作符号320においては、最初の押鍵および離鍵は適切になされている。しかしながら、離鍵後にt21だけ経過して時刻T符号322参照にて次の鍵を押鍵すべきところ、t2’<t21だけ経過して符号310参照時刻T’符号321参照にて次の押鍵が行われている。すなわち、T-T’=t21-t2’だけ押鍵が早まっている。したがって、それ以降、曲データの読み込みは、T-T’だけ早める必要がある符号311参照。図4においても、実際の押鍵動作符号420においては、最初の押鍵および離鍵は適切になされている。しかしながら、図4の例では、最初の鍵の離鍵後、t21が経過した後も次の鍵の押鍵がなされない符号410参照。たとえば、図5に示すように、最初の鍵の離鍵後、時間t>t21だけ経過した後、時刻T符号521参照において押鍵がなされたと考える。この場合には、t-t21だけ押鍵が遅れている。したがって、曲データの読み込みは、t-t21だけ遅らせる必要がある符号512参照。また、符号511に示す時間においては、オーディオデータの新たなアドレスのデータを読み出すことができない。本実施の形態においては、後述するように、押鍵による楽音の発生は音源部26により生成される楽音であるが、ソング伴奏は、オーディオデータの再生により実現されるため、図3や図5に示すように、押鍵が早まり、或いは、遅くなった場合に、オーディオデータの読み出しを適切化する必要がある。本実施の形態では、後述するような手法で読み出しの適切化を実現している。図6aは、本実施の形態にかかる曲データのデータ構成例を示す図、図6bは、処理の過程で設定されるデータを格納したレジスタ群の例を示す図である。図6aに示すように、曲データ600は、時間間隔を示すタイムのレコード符号601、603、605参照、押鍵すべき鍵の音高を含むノートオンイベントのレコード符号602参照および離鍵すべき鍵の音高を含むノートオフイベントのレコード符号604参照を含む。最初のタイムのレコードは、最初の押鍵までの間の時間t0を格納している。この時間t0は、楽曲のイントロの時間に相当する。また、ノートオンイベントのレコードと、ノートオフイベントのレコードとの間のタイムのレコードに格納された時間t1は、押鍵時間を示している。また、ノートオフイベントのレコードと、ノートオンイベントのレコードとの間のタイムのレコードに格納された時間t2は、ある鍵が離鍵されてから次の鍵を押鍵するまでの時間間隔を示している。図6bに示すように、RAM23中のレジスタ群610は、経過時間レジスタ、時間情報レジスタ、今回音高情報レジスタ、次回音高情報レジスタ、ソング経過時間レジスタ、正解フラグ、スタータスレジスタ、ループ再生フラグを有する。経過時間レジスタには、ソング処理間で経過する時間が格納される。時間情報レジスタには、ノートオンイベント間の時間間隔Δt=t1t2が格納される。今回音高情報レジスタおよび次回音高レジスタには、ノートオンイベントのレコードに含まれる音高情報が格納される。また、ソング経過時間レジスタは、ソングが開始されてからの経過時間が格納される。ステータスレジスタには、電子楽器10の演奏ステータスが格納される。以下、本実施の形態にかかる電子楽器10において実行される処理について説明する。図7aは、本実施の形態にかかる電子楽器において実行されるメインフローの例を示すフローチャートである。また、図7bは、本実施の形態にかかるタイマ割り込み処理の例を示すフローチャートである。タイマ割り込み処理においては、図7aに示すメインフローが実行されているときに、所定の時間間隔で、割込カウンタである経過時間カウンタおよびソング経過時間カウンタのカウンタ値が、それぞれインクリメントされるステップ711、712。なお、タイマ割り込み処理は、CPU21の指示によりカウンタの停止が可能である。図7aに示すように、電子楽器10のCPU21は、電子楽器10の電源が投入されると、RAM23中のデータや、表示部15の画像のクリアクリアを含むイニシャル処理初期化処理を実行するステップ701。イニシャル処理ステップ701が終了すると、CPU21は、スイッチ群16を構成するスイッチのそれぞれの操作を検出し、検出された操作にしたがった処理を実行するスイッチ処理を実行するステップ702。たとえば、スイッチ処理ステップ702においては、音色指定スイッチや、ソング伴奏のための曲データの指定スイッチ、ソング再生スイッチの操作が検出される。たとえば、ソング再生スイッチがオンになると、CPU21は、レジスタ群610中のステータスレジスタに所定の値を格納する。また、ソング再生スイッチがオフとなると、ステータスレジスタに、ソング再生オフ状態を示す値を格納する。スイッチ処理ステップ702が終了すると、CPU21は、鍵盤処理を実行するステップ703。図8は、本実施の形態にかかる鍵盤処理の例をより詳細に示すフローチャートである。鍵盤処理において、CPU21は、鍵盤11の鍵を走査するステップ801。鍵の走査結果であるイベントノートオン或いはノートオフは、RAM23に一時的に記憶される。CPU21は、RAM23に記憶された鍵の走査結果を参照して、ある鍵について新規なイベントが有るか否かを判断するステップ802。ステップ802でYesと判断された場合には、CPU21はステータスレジスタを参照して、演奏ステータスが、ソング再生中であるかを判断するステップ803。ステップ803でYesと判断された場合には、レッスン鍵盤処理が実行されるステップ804。その一方、ステップ803でNoと判断された場合には、通常の鍵盤処理が実行されるステップ805。ステップ805においては、CPU21は、鍵イベントがノートオン押鍵であるかノートオフ離鍵であるかを判断する。ノートオンであれば、CPU21は、押鍵された鍵の音高の情報を含むノートオンイベントを生成して音源部26に出力する。ノートオフであれば、離鍵された鍵の音高の情報を含むノートオフイベントを生成して音源部26に出力する。次に、レッスン鍵盤処理ステップ804について説明する。図9は本実施の形態にかかるレッスン鍵盤処理の例を示すフローチャートである。図9に示すように、CPU21は、鍵イベントが新規のノートオンであるかを判断するステップ901。ステップ901でYesと判断された場合には、CPU21は、押鍵された鍵の音高の情報を含むノートオンイベントを生成して音源部26に出力するステップ902。また、ステップ901でNoと判断された場合には、離鍵された鍵の音高の情報を含むノートオフイベントを生成して音源部26に出力するステップ903。ステップ903の後、レッスン鍵盤処理は終了する。ステップ902が実行された後、CPU21は、新規なノートオンにかかる鍵の音高が、次回音高情報レジスタ中に格納されたものと一致するかを判断するステップ904。ステップ904でNoと判断された場合には、レッスン鍵盤処理を終了する。ステップ904でYesと判断された場合には、ステップ904でYesと判断された場合には、CPU21は、レジスタ群中の正解フラグを1にセットするステップ905。この正解フラグは、演奏者による押鍵が、次に押鍵すべき鍵と一致した場合に1にセットされるものである。次いで、CPU21は、現在、ソング伴奏データであるオーディオデータがループ再生中であるかを判断するステップ906。ループ再生中であるかは、レジスタ群中のループ再生フラグが1であるかを判断すればよい。ステップ906でNoと判断された場合には、CPU21は、早押し対応のジャンプ元時刻をサーチしステップ907、ステップ906でYesと判断された場合には、CPU21は、遅押し対応のジャンプ元時刻をサーチするステップ908。ジャンプ元時刻は、押鍵タイミングから時系列的に未来でかつ直近の所定の位相たとえば、データ値が負から正に移行するのゼロクロスポイントである。鍵盤処理ステップ703が終了すると、CPU21はソング処理を実行するステップ704。図10は本実施の形態にかかるソング処理の例を示すフローチャートである。図10に示すように、CPU21は、ステータスレジスタを参照して、演奏ステータスがソング再生中を示しているかを判断するステップ1001。ステップ1004でNoと判断された場合には、CPU21は、ステータスレジスタを参照して、演奏スタータスがソング開始を示しているかを判断するステップ1002。ステップ1002でNoと判断された場合には、ソング処理を終了する。ステップ1002でYesと判断された場合には、CPU21は、ソング開始処理を実行するステップ1003。図11は、本実施の形態にかかるソング開始処理の例を示すフローチャートである。図11に示すように、CPU21は、ROM22に格納された曲データの先頭のレコードから、タイムt0を取得するステップ1101。このタイムt0は、初期的な時間情報Δtとして、レジスタ群中、時間情報レジスタに格納される。CPU21は、次のアドレスのレコードからノートオンイベントを取得して、ノートオンイベントに含まれる音高情報を、今回音高情報レジスタに格納するステップ1102。また、CPU21は、次のノートオンイベントのレコードを取得して、当該次のノートオンイベントに含まれる音高情報を、時間音高情報レジスタに格納するステップ1103。また、CPU21は、タイマ割り込み処理によるソング経過時間カウンタの動作を許可し、ソング経過時間の計測を開始するステップ1104とともに、オーディオデータ再生の開始をオーディオデータ再生部29に指示するステップ1105。また、CPU21は、ステータスレジスタに、演奏ステータスとしてソング再生中を示す情報を格納するステップ1106。ステップ1001でYesと判断された場合には、CPU21は、ソング楽音再生処理を実行するステップ1004。図12は、本実施の形態にかかるソング楽音再生処理の例を示すフローチャートである。図12に示すように、CPU21は、経過時間レジスタのレジスタ値を取得するステップ1201。次いで、CPU2は、時間情報Δtを算出すべきであるかを判断するステップ1202。ステップ1202でYesと判断された場合には、今回押鍵された鍵についてのノートオンイベントのレコードの次のレコード中のタイムt1と、ノートオフイベントのレコードの次のレコード中のタイムt2とを加算して、加算値t1t2を、時間情報Δtとして時間情報レジスタに格納するステップ1203。なお、ステップ1202において時間情報Δtを算出すべき場合とは、今回音高情報レジスタおよび次回音高情報レジスタの値が変更された場合である。次いで、CPU21は、Δt-経過時間を算出するステップ1204。ステップ1201~1204において、前回の押鍵ノートオンの時刻からの経過時間が、Δtだけ経過して、次の押鍵ノートオンの時刻に達しているかを判断している。ステップ1205で、ステップ1204での結果を参照して、前回の押鍵の時刻からΔtだけ経過している場合にはステップ1205でYes、次の押鍵をすべき時刻に達しているのに、押鍵がまだされていないことを示している。したがって、ステップ1205でYesと判断された場合には、CPU21は、ループポイントサーチ処理を実行するステップ1206。図13は、本実施の形態にかかるループポイントサーチ処理の例を示すフローチャートである。図13に示すように、CPU21は、今回音高レジスタ中の今回音高情報に基づき、当該音高の周期であるループ周期を算出するステップ1301。このループ周期が、オーディオデータのループの基本周期となる。CPU21は、オーディオデータにおいて現在再生中のアドレスから過去に遡ってゼロクロスポイントをサーチするステップ1302。CPU21は、ゼロクロスポイント間の平均周期を算出するステップ1303。なお、ここで、サーチされるゼロクロスポイントは、すべて同じ位相のゼロクロスポイントである。すなわち、最初に見出されたゼロクロスポイントが、立ち上がりデータ値が負から正に移行するゼロクロスポイントであれば、他の見出されるゼロクロスポイントも、すべて立ち上がりのゼロクロスポイントとなる。CPU21は、ループ周期と平均周期との差異の絶対値が、許容範囲内つまり、所定の閾値より小さいか、を判断するステップ1304。ステップ1304でNoと判断された場合には、CPU21は、さらにオーディオデータの時系列を遡って次のゼロクロスポイントをサーチするステップ1302。その一方、ステップ1304でYesと判断された場合には、CPU21は、上記差異の絶対値が許容範囲となったゼロクロスポイントを、オーディオデータのループポイントのうち、ループ先のポイントとしてRAM23に格納するステップ1305。なお、ループポイントはループ先のポイントおよびループ元のポイントがある。本実施の形態においては、ループ先のポイントを示す情報として、上記ゼロクロスポイントに対応する時刻ループ先時刻が格納される。また、後述するように、本実施の形態においては、正規の押鍵タイミングは、所定の位相立ち上がり、つまりデータ値が負から正に移行するのゼロクロスポイントと一致している。したがって、ループ元のポイントは、正規の押鍵タイミングに対応するポイントである。そこで、本実施の形態においては、ループ元のポイントを示す情報として、正規の押鍵タイミングに対応する時刻ループ元時刻が格納される。その後、CPU21は、レジスタ群中のループ再生フラグを2にセットするステップ1306。なお、ループ再生フラグは、オーディオデータのループ再生状態を示すものであり、フラグが2であることはループ再生開始状態であることを示す。また、フラグが1であることは、ループ再生状態、フラグが0であることは、ループ再生がされていない状態を、それぞれ示す。図14は、本実施の形態にかかるループポイントの検出の例を説明する図である。図14において、ノートオフ離鍵のタイミングは符号1401で示し、本来の次のノートオン押鍵のタイミングが符号1402で示されている。ある鍵のノートオンから次のノートオンまでの時間はΔtである符号1400参照。また、ソング伴奏としてのオーディオデータは符号1400で示されている。なお、上記既に押鍵および離鍵符号1401された件の音高はA4=440Hzであり、ループ周期は約2.27msecである。図14において、本来の次のノートオンで実際の押鍵がなされなかった場合には、CPU21は、オーディオデータのゼロクロスポイント同位相のゼロクロスポイント間の周期を計測する。最初の処理では、本来のノートオンのタイミングから時系列に遡って、1組のゼロクロスポイントが特定され、その間の波形符号1411参照の平均周期は2.22msecである。たとえば、本実施の形態において、A4の音高に関する閾値を0.01msecとすると、|2.27-2.22|≧閾値であるため、図13のステップ1304でNoと判断され、次のステップ1302では、さらに時系列に遡って、2組のゼロクロスポイントが特定される。それぞれの間の2つの波形符号1411、1412の平均周期2.245msecが算出される。ここでも、|2.27-2.245|≧閾値であるため、再度、ステップ1302に戻る。ステップ1302では、さらに時系列を遡って、3組のゼロクロスポイントが特定される。それぞれの間の3つの波形符号1411~1413参照の平均周期2.263msecが算出される。ここでも、|2.27-2.263|≧閾値であるため、再度、ステップ1302に戻る。ステップ1302では、さらに時系列を遡って、4組のゼロクロスポイントが特定される。それぞれの間の4つの波形符号1411~1414参照の平均周期2.27msecが算出される。ここでは、|2.27-2.27|<閾値であるため、ステップ1304においてYesと判断され、4つの波形1411~1414からなる区間符号1420参照がループ区間となり、その始点および終点符号1422、1421参照がループポイントとなる。本実施の形態おいては、上記始点が、ループ先時刻に対応し、終点がループ元時刻に対応する。このようにして、現在発音中の楽音の音高に整合した周期の波形の区間が得られ、当該区間の波形が繰り返し読み出されることで、演奏者にとって違和感のないソング伴奏音を出力することが可能となる。ソング楽音再生処理ステップ1004が終了すると、CPU21は、ソングオーディオ再生処理を実行するステップ1005。図15および図16は、本実施の形態にかかるソングオーディオ再生処理の例を示すフローチャートである。図15に示すように、CPU21は、ループ再生フラグが2であるかを判断するステップ1501。ループ再生フラグが2であることは、ループ再生開始状態であることを示している。ステップ1501でYesと判断された場合には、図16bのステップ1611に進む。ステップ1501でNoと判断された場合には、CPU21は、ループ再生フラグが1であるかを判断するステップ1502。ループ再生フラグが1であることはループ再生状態であることを示している。ステップ1502でYesと判断された場合には、CPU21は、図16aのステップ1601に進む。ステップ1502でNoと判断された場合、すなわち、再生フラグが0である場合ループ再生がされていない場合には、CPU21は、正解フラグが1であるかを判断するステップ1503。ステップ1503でNoと判断された場合には、ソングオーディオ再生処理を終了する。ステップ1503でYesと判断された場合は、演奏者が次に押鍵すべき鍵を、正規の押鍵タイミングより早く押鍵したこと早押しを示している。この場合には、CPU21は、経過時間カウンタを参照して、ジャンプ元時刻に到達しているかを判断するステップ1504。ステップ1504でNoと判断された場合には、ソングオーディオ処理を終了する。ジャンプ元時刻は、押鍵された鍵の押鍵タイミングから、時系列的に未来でかつ直近のゼロクロスポイントである。したがって、本実施例においては、ゼロクロスポイントを検出して、オーディオデータの継ぎ目を平滑にすることを可能にしている。ステップ1504でYesと判断された場合には、CPU21は、正解フラグを0にリセットするステップ1505。また、CPU21は、ソング経過時間を、ジャンプ元時刻に基づき更新するステップ1506。すなわち、ジャンプ元時刻と、本実施の形態におけるジャンプ先時刻に対応する、次の押鍵すべき鍵の正規の押鍵タイミングとを一致させることで、継ぎ目が円滑でかつ演奏者の早押しに対応したオーディオデータの再生が実現される。その後、CPU21は、曲データを参照して、今回音高情報、時間情報Δtおよび次回音高情報をそれぞれ更新するステップ1507~1509。次に、ステップ1502でYesと判断された場合について説明する。ステップ1502でYesと判断された場合には、ループ再生が既に行われている状態である。この場合には、CPU21は、正解フラグが1であるかを判断するステップ1601。ステップ1602でNoと判断された場合には、ソングオーディオ再生処理を終了する。ステップ1601でYesと判断された場合には、演奏者が次に押鍵すべき鍵を、正規の押鍵タイミングより遅く押鍵したこと遅押しを示している。ステップ1601でYesと判断された場合には、CPU21は、経過時間カウンタを参照して、ジャンプ元時刻に到達しているかを判断するステップ1602。ステップ1602でNoと判断された場合には、ソングオーディオ処理を終了する。ステップ1602でYesと判断された場合には、CPU21は、スープ再生フラグを0にリセットするステップ1603。その後、ステップ1505~1509の処理が実行される。次に、ステップ1501でNoと判断された場合について説明する。ステップ1501でYesと判断された場合には、CPU21は、図13のステップ1305で設定された2つのループポイントループ元時刻およびループ先時刻をオーディオデータ再生部29に出力するステップ1611。また、CPU21は、タイマ割り込み処理によるソング経過時間カウンタのカウントを停止するステップ1612とともに、経過時間カウンタのカウントも停止するステップ1613。これは、ループ再生中では、ループ元時刻とループ先時刻との間でオーディオデータがループ再生され、曲データ自体の進行は伴わないからである。また、CPU21はループ再生フラグを1にセットするステップ1614。その後、ソングオーディオ再生処理は終了する。ソング処理ステップ704が終了すると、CPU21は、音源発音処理を実行するステップ705。図17は、本実施の形態にかかる音源発音処理の例を示すフローチャートである。図17の音源発音処理において、ステップ1701~1712は、CPU21からの指示および受け入れた情報に基づいてオーディオデータ再生部29が実行する。また、ステップ1713は、音源部26が実行する。図17に示すように、オーディオデータ再生部29は、ループ再生フラグが1であるかを判断するステップ1701。ステップ1701でNoと判断された場合には、通常のオーディオデータの読み出しがなされる。すなわち、オーディオデータ再生部29は、サンプリングレートにしたがったデータ読み出し時刻に到達したかを判断するステップ1702。ステップ1702でYesと判断された場合には、オーディオデータ再生部29は、オーディオデータのデータ読み出しアドレスに基づいてオーディオデータを読み出しステップ1703、オーディオ回路27に出力するステップ1704。次いで、オーディオデータ再生部29は、オーディオデータエリアのデータ読み出しアドレスを歩進するステップ1705。ステップ1701でYesと判断された場合には、オーディオデータ再生部29は、オーディオデータのデータ読み出しアドレスが、ループ元時刻に対応する値に到達しているかを判断するステップ1706。ステップ1706でYesと判断された場合には、オーディオデータ再生部29は、データ読み出しアドレスをジャンプ時刻に応答する値に変更するステップ1707。なお、ジャンプ先時刻は、押鍵された鍵の正規の押鍵タイミングに相当する時刻である。次いで、オーディオデータ再生部29は、サンプリングレートにしたがったデータ読み出し時刻に到達したかを判断するステップ1708。ステップ1708でYesと判断された場合には、オーディオデータ再生部29は、オーディオデータのデータ読み出しアドレスに基づいてオーディオデータを読み出しステップ1709、時間の経過とともに減衰するエンベロープと乗算するステップ1710。その後、オーディオデータ再生部29は、乗算されたオーディオデータをオーディオ回路27に出力するステップ1711。また、オーディオデータ再生部29は、オーディオデータエリアのデータ読み出しアドレスを歩進するステップ1712。このようにして、通常のオーディオデータの再生或いはオーディオデータのループ再生が行われると、音源部26による楽音データ発音処理が実行されるステップ1703。無論、ステップ1701~1712と、ステップ1713とは並列的に実行されても良い。楽音データ発音処理において、音源部26は、CPU21からノートオンイベントを受け入れていれば、ノートオンイベントにしたがった音色の波形データをROM22から、音高にしたがった速度で読み出し、読み出された波形データに所定のエンベロープを乗算して、乗算されたデータをオーディオ回路27に出力する。また、CPU21からノートオフイベントを受け入れていれば、ノートオフイベントにしたがった音高のデータの消音を実行する。音源発音処理ステップ705が終了すると、CPU21は、その他の処理たとえば、表示部15への画像表示など:ステップ706を実行して、ステップ702に戻る。図18は、本実施の形態において、楽曲における押鍵ノートオンおよび離鍵ノートオフのタイミングとオーディオデータの例、図19は、演奏者による早押しがあった場合のオーディオデータの例を示す図である。図18に示すように、本実施の形態においては、予め曲データ1800の押鍵タイミングが、オーディオデータ1810の所定の位相この例ではデータ値が負から正に移行するのゼロクロスポイントと一致するようになっている符合1811、1812参照。この例では、最初の正規の押鍵タイミングでの押鍵符号1811参照と次の正規の押鍵タイミングでの押鍵との間の波形は、同位相のゼロクロスポイントにて画定されている符号1821。同様に次の正規の押鍵タイミングでの押鍵とその次の正規の押鍵タイミングとの間の波形も、同位相のゼロクロスポイントにより画定されている。なお、本実施の形態においては正規の押鍵タイミングが、オーディオデータの所定の位相のゼロクロスポイントと一致するように構成されているがこれに限定されるものではない。図19において、演奏者が、最初の押鍵を、正規タイミングより早いタイミングで行っている符合1911参照。この場合には、オーディオデータにおいて、演奏者による押鍵タイミングから、時系列的に未来でかつ直近のゼロクロスポイントが見出される符号1931参照。そこで、上記ゼロクロスポイントで、最初の正規の押鍵タイミングでの押鍵符号1811参照と次の正規の押鍵タイミングでの押鍵との間の波形符号1941がつなぎ合わされる。なお、図19において、タイミング1931と1912との間の波形1941は、図18の波形1821と一致し、タイミング1912と1913との間の波形1942は、図18の波形1822と一致する。このように本実施の形態においては、演奏者による早押しがあった場合に、オーディオデータにおいて、時系列的に未来でかつ直近のゼロクロスポイントが見出され、そこから、データ値がゼロから開始する、正規の押鍵タイミングに対応するオーディオデータが継ぎ合わされて、再生される。したがって、正規の押鍵タイミングより早い押鍵があっても、当該早い押鍵にしたがったオーディオデータの読み出しがなされ、かつ、その継ぎ目も滑らかであり、不快なノイズが生ずることがない。また、演奏者により正規のタイミングで押鍵が無かった場合には、押鍵の無い間、図14を参照して説明したように、ループ先時刻符号1422とループ元時刻符号1421との間でオーディオデータのループ再生が行われる。その後、ユーザによる押鍵すべき鍵の押鍵が行われると、押鍵タイミングから時系列的に未来でかつ直近のゼロクロスポイントに対応するジャンプ元時刻から、押鍵された鍵の正規の押鍵タイミングに相当する時刻であるジャンプ先時刻に、オーディオデータの読み出しアドレスが切り換えられる。したがって、早押しのときと同様に、遅い押鍵にしたがったオーディオデータの読み出しがなされ、かつ、その継ぎ目も滑らかであり、不快なノイズが生ずることがない。なお、本実施の形態においては、鍵の正規の押鍵タイミングが、オーディオデータの所定の位相のゼロクロスポイントとが一致するようにオーディオデータが構成されていたが、これに限定されるものではない。この場合には、上記ジャンプ先時刻として、鍵の正規の押鍵タイミングに対応するオーディオデータから時系列的に未来でかつ直近の、所定の位相のゼロクロスポイントを用いればよい。本実施の形態においては、CPU21は、鍵の押鍵タイミングが、曲データに規定される発音タイミングより早かったと判断された場合に、オーディオデータにおいて、鍵の押鍵タイミングから時系列的に一方向にある直近でかつ所定の位相の第1のゼロクロスポイントを見出す。また、上記押鍵操作にかかる曲データにおける正規の発音タイミングに基づき、正規の発音タイミングから時系列的に一方向にある直近でかつ所定の位相の第2のゼロクロスポイントを見出す。CPU21は、上記第1のゼロクロスポイントの情報および第2のゼロクロスポイントの情報をオーディオデータ再生部29に出力する。オーディオデータ再生部29は、第1のゼロクロスポイントから第2のゼロクロスポイントに、オーディオデータの読み出しをジャンプさせ、それ以降、通常のオーディオデータの読み出しを継続する。これにより、早押しの押鍵があった場合であっても、その押鍵の正規の発音タイミング押鍵タイミングに対応するオーディオデータの再生が可能であり、演奏者による押鍵と、オーディオデータの再生との間にずれが生じることを防止できる。また、同位相のゼロクロスポイントを連結させたオーディオデータの読み出しを実現することにより、オーディオデータの継ぎ目においてノイズが発生することを防止できる。また、本実施の形態においては、第1のゼロクロスポイントから、第2のゼロクロスポイントにオーディオデータの読み出しをジャンプさせるときに、CPU21は、正規の発音タイミングに基づく経過時間に更新し、更新された経過時間にしたがって、オーディオデータ再生部39は、オーディオデータを読み出す。したがって、演奏者による早押しがあった場合にも、経過時間を適切化することが可能である。また、本実施の形態においては、CPUは、鍵の押鍵タイミングから時系列的に未来でかつ直近の第1のゼロクロスポイントを見出すとともに、正規の発音タイミング押鍵タイミングに基づき、当該正規の発音タイミングから時系列的に未来でかつ直近の第2のゼロクロスポイントを見出す。第1のゼロクロスポイントとして、押鍵タイミングから時系列的に未来でかつ直近のものを見出すことで、処理時間を考慮しつつ、適切に第1のゼロクロスポイントから第2のゼロクロスポイントへの移行が実現できる。特に、本実施の形態においては、オーディオデータにおいて、楽音の発音タイミング押鍵タイミングに対応するタイミングにおいて、所定の位相のゼロクロスポイントが位置する。CPU21は、正規の発音タイミング押鍵タイミングに対応する所定の位相の第2のゼロクロスポイントを検出する。これにより、第2の押鍵タイミングの検出を容易にすることが可能となる。本発明は以上の実施の形態に限定されるものではない。たとえば、前記実施の形態において、現在発音中の楽音の音高情報今回音高情報に基づいたループ周期に、その平均周期が近似する複数のループ波形を特定している。しかしながらこれに限定されるものではない。たとえば、曲データにコード名が付加されていれば、現在発音中の楽音に関連付けられたコード名に基づき、その根音に基づくループ周期と、オーディオデータのループ波形の周期とを比較しても良い。図20は、本発明の他の実施の形態にかかる曲データのデータ構成例を示す図である。図20に示すように、他の実施の形態においては、曲データ2000のノートオンイベント符号2001、2011参照のそれぞれに関連付けられて、コード情報符号2002、2012参照のレコードが設けられる。コード情報は、たとえば、CM7、Cm7、Am7、D7など、根音を示す情報を含む。図21は、図13は、本実施の形態にかかるループポイントサーチ処理の例を示すフローチャートである。図21に示すように、CPU21は、今回音高レジスタ中の今回音高情報に関連付けられた、曲データ中のコード情報を取得するステップ2101。次いで、CPU21は、コード情報に含まれる根音に基づき、根音の周期であるループ周期を算出するステップ2102。たとえば、コード情報が、AM7、Am7など、根音がAであれば、例示的にA3220KHzに基づくループ周期4.5454msecが算出される。ここでは、オクターブを考慮して、根音は比較的低めの音高が採用される。引き続くステップ2103、2104は、図13のステップ1302、1303と同様である。次いで、CPU21は、ループ周期と平均周期のn倍n=1、2、4との差異の絶対値が、許容範囲内つまり、所定の閾値より小さいか、を判断するステップ2105。ステップ2105では、オーディオデータが、上記根音の1オクターブ、2オクターブ高い楽音である可能性を考慮している。ステップ2105でNoと判断された場合には、CPU21は、さらにオーディオデータの時系列を遡って次のゼロクロスポイントをサーチするステップ2103。ステップ2105でYesと判断された場合には、CPU21は、上記差異の絶対値が許容範囲となったゼロクロスポイントを、オーディオデータのループポイントのうち、ループ先のポイントとしてRAM23に格納するステップ2106とともに、ループ再生フラグを2にセットするステップ2107。以上、本発明の実施の形態について詳細に説明したが、本発明の範囲は上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明およびその均等の範囲が、本発明の範囲内に包含される。以下、本出願の願書に最初に添付した特許請求の範囲に記載された発明を付記する。なお、付記に記載した請求項の項番は、本出願の願書に最初に添付した特許請求の範囲の項番に相当する。[付記]請求項1に記載された発明は、楽曲を構成する楽音の音高および発音タイミングを示す時間情報を含む曲データ、および、前記曲データにかかる楽曲の伴奏データであるオーディオデータを格納した記憶手段と、並列に配置され演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成手段と、前記曲データに含まれる時間情報に基づく経過時間にしたがって、前記オーディオデータを読み出すオーディオデータ再生手段と、を備えた楽音生成装置であって、前記演奏操作子の操作にかかる曲データにおける正規の発音タイミングに基づき、当該正規の発音タイミングから時系列的に一方向にある直近の第1のゼロクロスポイントを、前記オーディオデータから検出するジャンプ先検出手段と、前記曲データに示す発音タイミング経過までに、当該発音タイミングに対応する音高の楽音を発生させる前記演奏操作子が操作されたか否かを判断する操作判断手段と、この操作判断手段にて前記演奏操作子が操作されていないと判断された場合に、前記第1のゼロクロスポイントを始点として、当該ゼロクロスポイントより以前のゼロクロスポイントのうち、発音されている楽音の音高に整合した周期に比例する区間の終点に対応した位置に存在する第2のゼロクロスポイントを検出するループ先検出手段と、この第2ゼロクロスポイントと前記第1のゼロクロスポイントとの間の区間をループ区間として前記オーディオデータを繰り返し読み出すループ読み出し手段と、このループ読み出し手段により読み出しが開始された後に前記操作判断手段により前記演奏操作子が操作されたと判断された場合に、当該演奏操作子の操作タイミングから時系列的に一方向にある直近の第3のゼロクロスポイントを、前記オーディオデータから検出するジャンプ元検出手段と、前記検出された第3のゼロクロスポイントから前記検出された第1のゼロクロスポイントに、オーディオデータの読み出しをジャンプさせ、それ以降、通常のオーディオデータの読み出しを継続するように、前記オーディオデータ再生手段を制御する制御手段と、を有する楽音生成装置である。請求項2に記載された発明は、前記オーディオデータ再生手段が、前記第3のゼロクロスポイントから、前記第1のゼロクロスポイントにオーディオデータの読み出しをジャンプさせるときに、前記正規の発音タイミングに基づく経過時間に更新し、前記更新された経過時間にしたがって、前記オーディオデータを読み出すように構成されたことを特徴とする請求項1に記載の楽音生成装置である。請求項3に記載された発明は、前記ジャンプ元検出手段が、前記演奏操作子の操作タイミングから時系列的に未来でかつ直近の第3のゼロクロスポイントを見出すように構成され、前記ジャンプ先検出手段が、前記正規の発音タイミングに基づき、当該正規の発音タイミングから時系列的に未来でかつ直近の第1のゼロクロスポイントを検出するように構成された楽音生成装置である。請求項4に記載された発明は、前記オーディオデータにおいて、前記楽音の発音タイミングに対応するタイミングにおいて、所定の位相のゼロクロスポイントが位置し、前記ジャンプ先検出手段が、前記正規の発音タイミングに対応する所定の位相の第1のゼロクロスポイントを検出する請求項1に記載の楽音生成装置である。請求項5に記載された発明は、楽曲を構成する楽音の音高および発音タイミングを示す時間情報を含む曲データ、および、前記曲データにかかる楽曲の伴奏データであるオーディオデータを格納した記憶手段と、並列に配置され演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成手段と、前記曲データに含まれる時間情報に基づく経過時間にしたがって、前記オーディオデータを読み出すオーディオデータ再生手段と、を備えたコンピュータに、前記演奏操作子の操作にかかる曲データにおける正規の発音タイミングに基づき、当該正規の発音タイミングから時系列的に一方向にある直近の第1のゼロクロスポイントを、前記オーディオデータから検出するジャンプ先検出ステップと、前記曲データに示す発音タイミング経過までに、当該発音タイミングに対応する音高の楽音を発生させる前記演奏操作子が操作されたか否かを判断する操作判断ステップと、前記演奏操作子が操作されていないと判断された場合に、前記第1のゼロクロスポイントを始点として、当該ゼロクロスポイントより以前のゼロクロスポイントのうち、発音されている楽音の音高に整合した周期に比例する区間の終点に対応した位置に存在する第2のゼロクロスポイントを検出するループ先検出ステップと、この第2ゼロクロスポイントと前記第1のゼロクロスポイントとの間の区間をループ区間として前記オーディオデータを繰り返し読み出すループ読み出しステップと、このループ読み出しステップにより読み出しが開始された後、前記演奏操作子が操作されたと判断された場合に、当該演奏操作子の操作タイミングから時系列的に一方向にある直近の第3のゼロクロスポイントを、前記オーディオデータから検出するジャンプ元検出ステップと、前記検出された第3のゼロクロスポイントから前記検出された第1のゼロクロスポイントに、オーディオデータの読み出しをジャンプさせ、それ以降、通常のオーディオデータの読み出しを継続するように、前記オーディオデータ再生手段を制御する制御ステップと、を実行させる楽音生成プログラムである。