(57)【要約】【課題】  波形信号の切り替え指示に応じた任意のタイミングでの切り替え制御を実現しつつ音質劣化の少ない楽音を生成する。【解決手段】  複数の波形信号と共に、各波形信号に含まれる複数の各音の開始位置を示す切替位置情報を予め記憶しておく。波形信号が指定されると、該波形信号の切替位置情報に対応する波形位置の再生タイミングになるまでは、切り替え前の波形信号に基づく再生波形信号の生成を維持し、切替位置情報に対応する波形位置の再生タイミングから指定された波形信号に基づく再生波形信号の生成を行う。このように、切替位置情報に対応する波形位置に応じた再生タイミングの到来を待って切り替えることにより、切り替え指示に応じた任意のタイミングでの切り替え制御を実現しつつ音質劣化の少ない楽音を生成することができる。【選択図】        図６
2014006416.tif 000002
【特許請求の範囲】
【請求項１】
複数の波形信号と、前記各波形信号の所定の波形位置を示す複数の切替位置情報とを記憶する記憶手段と、
前記記憶した複数の波形信号のいずれかを指定する指定手段と、
前記波形信号の指定に応じて、直前に再生していた波形信号から該指定した波形信号への切り替え制御を行い、該切り替え後の波形信号を再生して再生波形信号を生成する再生手段と
を備え、
前記再生手段は、前記指定された波形信号の前記切替位置情報に対応する波形位置の再生タイミングになるまでは、切り替え前の波形信号に基づく再生波形信号の生成を維持し、前記切替位置情報に対応する波形位置の再生タイミングから前記指定された波形信号に基づく再生波形信号の生成を行うことを特徴とする自動演奏装置。
【請求項２】
前記記憶手段に記憶される波形信号は、所定の演奏パターンからなる楽音波形信号であることを特徴とする請求項１に記載の自動演奏装置。
【請求項３】
前記複数の切替位置情報は、各波形信号に含まれる複数の各音の開始位置を示すことを特徴とする請求項１又は２に記載の自動演奏装置。
【請求項４】
前記波形信号は基準となる再生タイミング情報を有してなり、
前記再生手段は、前記再生タイミング情報に従って切り替え後の波形信号の再生開始位置を決定することを特徴とする請求項１乃至３のいずれかに記載の自動演奏装置。
【請求項５】
前記再生手段は、前記波形信号の切り替え前後において再生テンポの同じ再生波形信号を生成するために、前記記憶手段から読み出した波形信号の時間軸伸縮制御を行うことを特徴とする請求項１乃至４のいずれかに記載の自動演奏装置。
【請求項６】
前記記憶手段は、所定長さからなるメイン演奏パターン及びサブ演奏パターンをそれぞれ表す複数の楽音波形信号を記憶してなり、
前記再生手段は、サブ演奏パターンが指定されたときに、前記サブ演奏パターンの切替位置情報に対応する波形位置の再生タイミングまではメイン演奏パターンの楽音波形信号を再生し続け、前記サブ演奏パターンの切替位置情報に対応する波形位置の再生タイミングからサブ演奏パターンの楽音波形信号の再生に切り替え、直前に生成していたメイン演奏パターンの楽音波形信号に基づく再生波形信号の途中に、前記指定されたサブ演奏パターンの楽音波形信号に基づく再生波形信号を挿入することを特徴とする請求項１乃至５のいずれかに記載の自動演奏装置。
【請求項７】
コンピュータに、
複数の波形信号と、前記各波形信号の所定の波形位置を示す複数の切替位置情報とを所定の記憶手段に記憶する手順と、
前記記憶した複数の波形信号のいずれかを指定する手順と、
前記波形信号の指定に応じて、直前に再生していた波形信号から該指定した波形信号への切り替え制御を行い、該切り替え後の波形信号を再生して再生波形信号を生成する手順であって、該手順は、前記指定された波形信号の前記切替位置情報に対応する波形位置の再生タイミングになるまでは、切り替え前の波形信号に基づく再生波形信号の生成を維持し、前記切替位置情報に対応する波形位置の再生タイミングから前記指定された波形信号に基づく再生波形信号の生成を行うものと
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、波形信号に基づいて楽音を再生する自動演奏装置及びプログラムに関する。特に、波形信号の切り替えタイミングを制御する技術に関する。
【背景技術】
【０００２】
従来から、例えばアルペジオパターンやベースパターンあるいはリズムパターン等を表す伴奏パターンデータを予め記憶しておき、この伴奏パターンデータに基づいて楽音の自動演奏を行う自動演奏装置が知られている。なお、この明細書において、楽音という場合、音楽的な音に限るものではなく音声あるいはその他任意の音を含んでいてもよい意味あいで用いるものとする。
【０００３】
一般的に、伴奏パターンデータは例えば数小節程度の所定長データからなっており、自動演奏装置ではこれを繰り返し再生することによって複数小節にわたる連続的な演奏を行うことのできるようになっている。ただし、このような場合、メイン伴奏パターンデータ（メインパターンと呼ぶ）は同じパターンが繰り返し再生されるだけであることから、その演奏が単調になりがちである。そこで、メインパターン以外にも、フィルインあるいはブレーク、アドリブ等と称されるメインパターンと比較すると短い所定長（例えば１小節のみ）のデータからなるサブ伴奏パターンデータ（サブパターンと呼ぶ）を別途用意しておき、人為的なスイッチ操作等による切り替え指示に応じてメインパターンに従う演奏中に任意のサブパターンに従う演奏を一時的に挿入することのできるようにしている。すなわち、切り替え指示が行われるとメインパターンに従う演奏にかえてサブパターンに従う演奏を行い、該サブパターンに従う演奏を終了するとメインパターンに従う演奏に戻るようになっている。
【０００４】
下記に示す特許文献１には、メインパターンからフィルインパターンへの切り替え指示がなされた場合に、メインパターンの再生途中であるにも関わらず直ちにメインパターンからフィルインパターンへと伴奏パターンデータを切り替える装置が記載されている。ただし、この場合における伴奏パターンデータは、所定の規格に従って定義される楽音制御信号（例えばMIDI規格により定義されたMIDIデータなど）が割り当てられている。
【０００５】
ところで、伴奏パターンデータは、上記のようにMIDIデータで割り当てられる他に、実際の楽器演奏や人の声あるいは自然音などをサンプリングした楽音波形信号（オーディオデータ又は波形データとも呼ぶ）で割り当てられることがある。伴奏パターンデータがMIDIデータで割り当てられている場合、自動演奏装置はイベントデータ（より詳しくはノートオンイベントやノートオフイベントなどの音符イベント）の読み出し速度を変えることによって、音高を変えることなく演奏テンポのみを変えて楽音を発生することができる。他方、伴奏パターンデータがオーディオデータで割り当てられている場合に、自動演奏装置はタイムストレッチ制御を行うことにより、音高（ピッチ）を変えることなく演奏テンポのみを変えて楽音を発生することが知られている。なお、本明細書において「タイムストレッチ」とは、オーディオデータを「時間軸上で圧縮」（時間軸圧縮）することと、オーディオデータを「時間軸上で伸長」（時間軸伸長）することとを意味する。
【０００６】
下記に示す特許文献２には、演奏テンポに対応した所定周期毎（例えば１小節毎）にMIDIデータの再生位置に一致させるよう、前記周期時点におけるオーディオデータの再生位置を当該周期に予め対応付けられた所定位置に変更することによって、オーディオデータに基づき発生される楽音とMIDIデータに基づき発生される楽音とを同期して出力する装置が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平10-268866号公報
【特許文献２】特開2001-312277号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記のようにしてオーディオデータとMIDIデータとを同期再生する場合、特許文献２に記載されたような従来装置では、予め決められた周期間隔で所定長のオーディオデータの制御を行うのが一般的である。それ故に、こうした周期と異なるタイミング、より具体的には小節区切り位置以外の小節の途中の任意のタイミングにおいて切り替え指示がなされたような場合には、次の小節の到来を待ってからメインパターンからフィルインパターンへの切り替え制御が行われることになる。しかし、オーディオデータであったとしても、切り替え指示に応じてできる限りはやくにメインパターンからフィルインパターンへと切り替えできないのは都合が悪い。そこで、次の周期（小節）の到来を待たずに切り替え制御を行うことが考えられるが、そうした場合には雑音が発するなどの音質劣化の生ずる恐れが大きいという問題があった。
【０００９】
本発明は上述の点に鑑みてなされたもので、波形信号に基づいて楽音を自動演奏する際に、切り替え指示に応じた任意のタイミングでの波形信号の切り替え制御と当該切り替えに伴う楽音の音質劣化の防止の両立を目的として、データの切り替えを伴いながらも聴感上不自然な印象を与えることのない楽音を再生可能な自動演奏装置及びプログラムを提供しようとするものである。
【課題を解決するための手段】
【００１０】
本発明に係る自動演奏装置は、複数の波形信号と、前記各波形信号の所定の波形位置を示す複数の切替位置情報とを記憶する記憶手段と、前記記憶した複数の波形信号のいずれかを指定する指定手段と、前記波形信号の指定に応じて、直前に再生していた波形信号から該指定した波形信号への切り替え制御を行い、該切り替え後の波形信号を再生して再生波形信号を生成する再生手段とを備え、前記再生手段は、前記指定された波形信号の前記切替位置情報に対応する波形位置の再生タイミングになるまでは、切り替え前の波形信号に基づく再生波形信号の生成を維持し、前記切替位置情報に対応する波形位置の再生タイミングから前記指定された波形信号に基づく再生波形信号の生成を行うことを特徴とする。
【００１１】
本発明によると、複数の波形信号と共に、当該波形信号の所定の波形位置を示す複数の切替位置情報を予め記憶しておく。複数の波形信号の中からいずれかの波形信号が指定されると、直前に再生していた波形信号から新たな波形信号への切り替え制御が行われ、該切り替え後の波形信号を再生して再生波形信号を生成するようになっている。このときに、前記指定された波形信号の前記切替位置情報に対応する波形位置の再生タイミングになるまでは、切り替え前の波形信号に基づく再生波形信号の生成を維持し、前記切替位置情報に対応する波形位置の再生タイミングから前記指定された波形信号に基づく再生波形信号の生成を行う。すなわち、波形信号の指定に応じて直ちに指定された波形信号に切り替えるのではなく、前記切替位置情報に対応する波形位置に応じた再生タイミングの到来を待ってから指定された波形信号に切り替えるようにした。これにより、例えば小節区切り位置以外の小節の途中の任意のタイミングにおいて切り替え指示がなされた場合であっても、次の小節区切り位置の到来を待たずにできる限りはやくに新たな波形信号への切り替え制御が行われることになる。また、この切り替え制御によれば、波形信号の切り替え時において著しい音質劣化が生じない。
【００１２】
本発明は、装置の発明として構成し、実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【発明の効果】
【００１３】
本発明によれば、波形信号の所定の波形位置を示す複数の切替位置情報に従って、指定された切り替え先の波形信号の前記切替位置情報に対応する波形位置に応じた再生タイミングの到来を待ってから指定された波形信号に切り替えるようにしたことから、切り替え指示に応じた任意のタイミングでの切り替え制御を実現しつつ音質劣化の少ない楽音を生成することが容易にできるようになる、という効果が得られる。
【図面の簡単な説明】
【００１４】
【図１】この発明に係る自動演奏装置を適用した電子楽器のハードウエア構成例を示すブロック図である。
【図２】スタイルデータのデータ構成を示す概念図である。
【図３】オーディオパート制御情報を説明するための概念図である。
【図４】自動演奏処理の一実施例を示すフローチャートである。
【図５】割り込み処理の一実施例を示すフローチャートである。
【図６】オーディオデータの切り替え制御の一実施例を説明するための概念図である。
【図７】オーディオデータの切り替え制御の別の実施例を説明するための概念図である。
【図８】オーディオデータのタイミングずれ補正を説明するための概念図である。
【発明を実施するための形態】
【００１５】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【００１６】
図１は、この発明に係る自動演奏装置を適用した電子楽器のハードウエア構成例を示すブロック図である。本実施形態に示す電子楽器は、マイクロプロセッサユニット（ＣＰＵ）１、リードオンリメモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３からなるマイクロコンピュータの制御の下に各種の処理が実行されるようになっている。ＣＰＵ１は、この電子楽器全体の動作を制御するものである。このＣＰＵ１に対して、データ及びアドレスバス１Ｄを介してＲＯＭ２、ＲＡＭ３、記憶装置４、演奏操作子５、パネル操作子６、表示部７、オーディオ再生部８、ＭＩＤＩ音源部９、楽音制御部１０、インタフェース１１がそれぞれ接続されている。
【００１７】
更に、ＣＰＵ１には、タイマ割込み処理（インタラプト処理）における割込み時間や各種時間を計時するタイマ１Ａが接続されている。例えば、タイマ１Ａは、楽音を自動演奏する際の演奏テンポや、オーディオデータのタイムストレッチ制御を行う際の周波数などを設定するためのテンポクロックパルスを発生する。タイマ１ＡからのテンポクロックパルスはＣＰＵ１に対して処理タイミング命令として与えられたり、あるいはＣＰＵ１に対してインタラプト命令として与えられたりする。ＣＰＵ１は、これらの命令に従って各種処理を実行する。
【００１８】
ＲＯＭ２は、ＣＰＵ１により実行あるいは参照される各種制御プログラムや各種データ等を格納する。ＲＡＭ３は、ＣＰＵ１が所定のプログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを一時的に記憶するメモリ等として使用される。ＲＡＭ３の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、テンポラリメモリなどとして利用される。
【００１９】
記憶装置４には、複数のセクションデータで構成されるスタイルデータ（後述する図２参照）などの各種データ等を多数記憶することが可能な内蔵データベースが構成される。また、これらの他に、ＣＰＵ１が実行する各種制御プログラム等を記憶するようにしてもよい。なお、上述したＲＯＭ２に制御プログラムが記憶されていない場合、この記憶装置４（例えばハードディスク）に制御プログラムを記憶させておき、それをＲＡＭ３に読み込むことにより、ＲＯＭ２に制御プログラムを記憶している場合と同様の動作をＣＰＵ１に実行させることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【００２０】
なお、記憶装置４はハードディスク（HD）に限られず、フレキシブルディスク（FD）、コンパクトディスク（CD‐ROM・CD‐RAM）、光磁気ディスク（MO）、あるいはDVD（Digital Versatile Disk）等の様々な形態の記憶媒体を利用する記憶装置であればどのようなものであってもよい。あるいは、フラッシュメモリなどの半導体メモリであってもよい。
【００２１】
演奏操作子５は、例えば楽音の音高を選択するための複数の鍵を備えた鍵盤等のようなものであり、各鍵に対応してキースイッチを有しており、この演奏操作子５は演奏者自身の手弾きによるマニュアル演奏のために使用できるのは勿論のこと、コードを入力する入力手段などとして使用することもできる。勿論、演奏操作子５は鍵盤等の形態に限らず、楽音の音高を選択するための弦を備えたネック等のような形態のものなど、どのようなものであってもよい。すなわち、この自動演奏装置を電子楽器に適用する場合、電子楽器は鍵盤楽器の形態に限らず、弦楽器や管楽器、あるいは打楽器等どのようなタイプの形態でもよい。
【００２２】
パネル操作子（スイッチ等）６は、例えばスタイルデータを選択する選択スイッチ、スタイルデータを構成するいずれかのセクションデータへの切り替えを指示するセクション切り替えスイッチ、演奏テンポを設定するテンポ設定スイッチ、自動演奏の開始／停止を指示する再生／停止ボタン、コードを入力する入力操作子、音色・効果などのパラメータを設定する設定スイッチ等、各種の操作子を含んで構成される。勿論、音高、音色、効果等を選択・設定・制御するための数値データ入力用のテンキーや文字データ入力用のキーボード、あるいは表示部７に表示された各種画面の位置を指定するポインタを操作するマウスなどの各種操作子を含んでいてもよい。
【００２３】
表示部７は、例えば液晶表示パネル（LCD）やCRT等から構成されるディスプレイであって、上記スイッチ操作に応じて各種画面（図示を省略したが、例えばスタイル選択画面や演奏テンポ設定画面やセクション切り替え画面など）を表示するのは勿論のこと、スタイルデータの内容などの各種情報あるいはＣＰＵ１の制御状態などを表示することもできる。演奏者は該表示部７に表示されるこれらの各種情報を参照することで、スタイルデータの選択や演奏テンポの設定さらにはセクションの切り替えなどの操作を容易に行うことができる。
【００２４】
オーディオ再生部８は、複数のトラック（パート）毎に再生波形信号の同時発生が可能であり、データ及びアドレスバス１Ｄを経由して与えられるオーディオデータに基づいて再生波形信号を生成し出力する。このとき、オーディオデータの音高を変えることなく再生時間を短くしたり長くしたりする時間軸の調整を行うことができる。このオーディオデータの時間軸の調整を行うタイムストレッチ制御の方法には種々の方法があるが、それらは公知であることからここでの詳細な説明は省略する。さらに、本実施形態において、オーディオ再生部８は、MIDIデータに基づき発生される楽音に同期した再生波形信号を生成し出力する。
【００２５】
MIDI音源部９は、複数のトラック（パート）毎に再生波形信号の同時発生が可能であり、データ及びアドレスバス１Ｄを経由して与えられるMIDIデータを入力し、このMIDIデータに含まれる各種のイベント情報に基づいて再生波形信号を生成し出力する。MIDI音源部９はコンピュータを用いて構成されており、そこにおいてMIDIデータに基づく自動演奏制御は、コンピュータが所定のアプリケーションプログラムを実行することにより実施される。
【００２６】
なお、MIDI音源部９はコンピュータプログラムの形態に限らず、DSP（ディジタル・シグナル・プロセッサ）によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウエア装置の形態で実施してもよい。さらに、MIDI音源部９の楽音合成方式は波形メモリ方式に限らず、ＦＭ方式、物理モデル方式、高調波合成方式、フォルマント合成方式等を採用してもよく、またこれらの各種楽音合成方式のいずれを単独または複数を組み合わせてもよい。
【００２７】
上記オーディオ再生部８及びMIDI音源部９は共に楽音制御部１０に接続されており、楽音制御部１０ではそれらから発生された再生波形信号に所定のディジタル信号処理を施して効果を付与するとともにこれらを混合（加算）し、スピーカなどのサウンドシステム１０Ａに出力する。すなわち、ここに示す楽音制御部１０は図示を省略したが、信号混合（加算）回路、D/A変換回路、音量制御回路などを含んで構成されてなる。
【００２８】
インタフェース１１は、当該装置と図示しない外部機器との間でスタイルデータやオーディオデータさらにはMIDIデータなどの各種データ、制御プログラムなどの各種情報を送受信するためのインタフェースである。このインタフェース１１は、例えばMIDIインタフェース，ＬＡＮ，インターネット，電話回線等であってよく、また有線あるいは無線のものいずれかでなく双方を具えていてよい。
【００２９】
なお、演奏操作子５や表示部７あるいはMIDI音源部９などを１つの装置本体に内蔵したものに限らず、それぞれが別々に構成され、MIDIインタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものであってもよいことは言うまでもない。
なお、本発明に係る自動演奏装置は電子楽器に限らず、パーソナルコンピュータ、PDA（携帯情報端末）や携帯電話等の携帯通信端末、あるいはゲーム装置など、少なくともオーディオデータに基づいて楽音の自動演奏を行うことのできるものであればどのような形態の装置・機器に適用してもよい。
【００３０】
図２は、電子楽器に構成されたデータベースに記憶されるスタイルデータのデータ構成を示す概念図である。スタイルデータは、予め電子楽器内に記憶されている(つまり電子楽器のメーカが作成した)ものに限らず、ユーザが新規に作成したものを追加記憶する、メーカやその他の利用者が新規に作成し外部機器（例えばサーバ装置など）に記憶したものを取得して、既存のデータと差し替えあるいは追加記憶することもできるようになっている。
【００３１】
スタイルデータは、複数セクション（メイン、フィルイン、イントロ、エンディング等）の各セクションにつき、複数パート（コードバッキング、べース、リズム等）毎に用意された基本となる伴奏パターンデータを有する。メインセクションは１〜数小節の決まったパターンが繰り返し再生されるセクションであり、それ以外のセクションは決まったパターンが１回のみ再生されるセクションである。自動演奏制御時において、イントロセクションやフィルインセクションを再生終了した場合には自動的にメインセクションに戻って自動演奏は続けられるが、エンディングセクションを再生終了した場合にはその時点で自動演奏は終了される。ユーザは１曲の中で、選択済みの１つのスタイルデータ内のセクションを任意に切り替えながら自動演奏を実行する。典型的には、イントロセクションから自動演奏を開始し、演奏する曲長分だけメインセクションを繰り返した後にエンディングセクションに切り替えることにより自動演奏を終了する。また、メインセクションの再生中には、曲の盛り上がりや曲調の切り替わりに合わせてフィルインセクションを挿入する。なお、伴奏パターンデータはセクションごとに異なる１〜複数小節の長さであってよい。
【００３２】
スタイルデータは、伴奏パターンデータとして複数パート（又はトラック）の全てにMIDIデータを割り当ててあるMIDIスタイルと、少なくとも１つのパート（主にリズムパート）にオーディオデータを、残りのパートにMIDIデータを割り当ててあるオーディオスタイルとに分けられる。図２に示す「スタイル１」はMIDIパートのみで構成されるMIDIスタイル、「スタイルｌ」はオーディオパート１つを含むオーディオスタイルの例である。MIDIデータは音符イベント及び発音タイミング等のMIDI形式のイベント列からなる楽音制御信号であり、オーディオデータは実際の楽器演奏や人の声あるいは自然音などをサンプリングした楽音波形信号である（図３参照）。
【００３３】
MIDIデータは所定のコードに基づいて作成されており、演奏時に指定されるコードに従ってコード変換される。例えば、所定のコードはＣメジャーであり、演奏時にユーザによってコードが指定されると、伴奏パターンデータ中のノートの音高が指定のコードに合うように変換される。MIDIパート制御情報は個々のスタイルに付随される情報であり、こうしたコード変換のルールなど、MIDIデータに基づき自動演奏を制御するための制御パラメータである。
【００３４】
オーディオパート制御情報は個々のオーディオデータ毎に付随される情報であり、例えばオーディオデータ記録時のテンポ情報（基本テンポ）、拍情報（基準位置情報）、シンクポイント情報（補正位置情報）、アタック情報、オンセット情報（切替位置情報）などを含む。これらのオーディオパート制御情報は対応するオーディオデータを解析することによって得られ、個々のオーディオデータに対応付けられて予めスタイルデータに記憶される。自動演奏時には、このオーディオパート制御情報が参照されることによりオーディオデータに基づく自動演奏の制御が行われる。このオーディオパート制御情報の詳細について、図３を参照しながら説明する。
【００３５】
図３（ａ）は、オーディオスタイルのオーディオパートである１小節分のオーディオデータ（楽音波形信号）を拍情報(sb1〜sb4)及びシンクポイント情報(ss1〜ss4)の位置で分割して、分割後の各波形に対し時系列にw1から順にw8までの記号を付したものを示している。これらの波形w1〜W8に含まれる多数のサンプリング波形には、時系列順に昇順又は降順のサンプリング波形番号が付されている。拍情報(sb1〜sb4)は、オーディオデータの１小節の中で何拍目の位置に相当するかを表す再生タイミング情報（基準タイミング）であり、MIDIデータとオーディオデータの同期の基準となる位置として参照される。具体的には、オーディオデータの１小節内において複数の音楽的な拍に対応する各位置にあるサンプリング波形を示す情報（例えばサンプリング波形番号など）である。シンクポイント情報(ss1〜ss4)は波形を補正するための補正位置を示す情報であり、より具体的には振幅の小さいあるいは自己相関性の高いサンプリング波形、言い換えればタイミングずれを補正して再生波形信号を生成するときに音質劣化の生じ難い波形接続を行い得るサンプリング波形を示す情報である。この実施例では、例えば図３(ａ)に示すように、各拍で区切られた区間ごとに最も振幅レベルの小さい波形位置をシンクポイント情報としている。また、アタック情報（At1，At4等）は、分割後の各波形（w1〜w8）において音鳴り開始からピーク位置までのうちユーザに最も音として認識されやすい波形位置、例えば振幅レベルの変化量の最も大きい波形位置を示す情報である。この実施例では、最も振幅レベルが大きくなるピーク位置をアタック情報としている。
【００３６】
図３（ｂ）では、上段にメインセクション及びフィルインセクションの各１小節分のオーディオデータ（楽音波形信号）を示し、下段にオンセット情報を示してある。オンセット情報は、メインセクションとフィルインセクションを切り替える際の切り替えタイミングを制御する際に参照される情報である。図３(ｂ)に示す例では、オーディオデータに含まれる複数の各音（各ピーク波形）の立ち上がり位置がオンセット情報として定義されている。メインセクションは６つのピーク波形を有し、フィルインセクションは９つのピーク波形を有している。したがって、メインセクションにおけるピーク波形を含む６つの各波形の立ち上がり位置にある記号Mo1〜Mo6を付した各サンプリング波形が、メインセクションの当該オーディオデータのオンセット情報とされる。一方、フィルインセクションにおけるピーク波形を含む９つの各波形の立ち上がり位置にある記号Fo1〜Fo9を付した各サンプリング波形が、フィルインセクションの当該オーディオデータのオンセット情報とされる。
【００３７】
なお、スタイルデータの構成は、上述の形態に限定されない。例えば、スタイルデータの記憶場所とオーディオデータやMIDIデータの記憶場所とが異なっており、スタイルデータ内に個々のオーディオデータやMIDIデータの記憶場所を指し示す情報が記憶されていてもよい。また、MIDIパート制御情報やオーディオパート制御情報についても、各スタイル内に含まれているのではなく、別の場所で管理されていてもよい。例えば、個々のMIDIデータ、オーディーデータ、MIDIパート制御情報、オーディオパート制御情報を記憶装置４だけでなく、ＲＯＭ２やＲＡＭ３あるいはインタフェース１１を通じて接続されたサーバ装置などの別々の場所に記憶しておき、再生時にそれぞれの記憶場所からＲＡＭ３に読み込むことで本実施例と同様の機能を実現するようにしてもよい。
【００３８】
次に、ＣＰＵ１が実行する「自動演奏処理」について説明する。図４は、自動演奏処理の一実施例を示すフローチャートである。当該処理は、多数のスタイルデータの中から任意のオーディオスタイルが選択された状態で且つユーザにより自動演奏開始指示がなされた場合に開始され、ユーザによる自動演奏終了指示がなされた場合あるいはエンディングセクションの再生を終了した場合に終了される。
【００３９】
ステップＳ１は、初期化処理を実行する。初期化処理としては、例えばユーザ操作に応じた演奏テンポの設定や、選択済みのスタイルデータをMIDIデータ及びオーディオデータと共にＲＯＭ２や記憶手段４等から読み出してＲＡＭ３に記憶する処理などがある。ステップＳ２は、選択済みのスタイルデータのうち再生用に指定された任意の１つのセクションにおいて伴奏パターンデータとしてMIDIデータが割り当てられているパート（MIDIパートと呼ぶ）について、設定した演奏テンポに応じてＲＡＭ３からのMIDIデータの読み出しを開始する。これに応じて、MIDIデータに基づく楽音が再生される。
【００４０】
ステップＳ３は、設定した演奏テンポに応じて伴奏パターンデータとしてオーディオデータが割り当てられているパート（オーディオパートと呼ぶ）の再生を開始する。このとき、設定した演奏テンポが基本テンポと異なっていれば、オーディオデータのタイムストレッチ制御を行うことによって演奏テンポにあった楽音を生成するように、ＲＡＭ３に記憶したオーディオデータに基づく自動演奏の制御が行われる。これにより、オーディオデータに基づく楽音が再生される。上記ステップＳ２及びＳ３の処理によって、MIDIパートとオーディオパートのそれぞれがユーザによって設定された演奏テンポで再生される、すなわちスタイルデータの全パートが同時に再生される。
【００４１】
ステップＳ４は、ユーザ指示の受付の有無を判定する。ユーザ指示がないと判定した場合には（ステップＳ４のＮＯ）、ステップＳ２の処理に戻ってMIDIパートとオーディオパートの再生を続けながらユーザ指示を待つ。ユーザ指示があると判定した場合には（ステップＳ４のＹＥＳ）、ユーザ指示に従う各種処理を行う（ステップＳ５，Ｓ９，Ｓ１２）。この実施例では、ユーザ指示が「メインセクションからフィルインセクションへのセクション変更指示」（ステップＳ５）、「演奏テンポの変更指示」（ステップＳ９）、自動演奏の終了指示（ステップＳ１２）である場合に分けて、各指示に対応した処理を実行する。
【００４２】
ユーザ指示が「メインセクションからフィルインセクションへのセクション変更指示」である場合には（ステップＳ５のＹＥＳ）、ステップＳ６〜Ｓ８の処理を行い、その後にステップＳ２の処理に戻る。なお、メインセクションからフィルインセクションへのセクション変更指示とは、メインセクションが再生されている状態のときにユーザがパネル操作子6などの操作によってフィルインセクションを再生するよう指定したことを指す。ステップＳ６は、切り替え先のフィルインセクションのオーディオデータやオーディオデータ制御情報をロード、つまり記憶装置４に記憶されているそれらのデータをＲＡＭ３に読み込む。ステップＳ７は、切り替え先のフィルインセクションのオーディオパート制御情報よりオンセット情報を取得する。ステップＳ８は、取得したオンセット情報のうち再生中のメインセクションのオーディオデータの現在の再生位置以降で最も近い（次の）オンセット情報を「セクション切り替えタイミング」としてセットする。
【００４３】
ユーザ指示が「演奏テンポの変更指示」である場合には（ステップＳ９のＹＥＳ）、ステップＳ１０〜Ｓ１１の処理を行い、その後にステップＳ２の処理に戻る。ステップＳ１０は、オーディオデータの基本テンポと設定された演奏テンポとの変化率を求める。ステップＳ１１は、前記求めたテンポ変化率に応じてオーディオデータのタイムストレッチ制御（時間軸伸縮制御）を実行する。この際、オーディオパート制御情報のアタック情報を参照することで、音質劣化を少なくすることができる。タイムストレッチ制御については公知であるので説明を省略する。
【００４４】
ユーザ指示が「自動演奏の終了指示」である場合には（ステップＳ１２のＹＥＳ）、指示に応じた終了制御を行って本自動演奏処理を終了する。例えば「自動演奏の終了指示」がメインセクションからエンディングセクションへのセクション切り替え指示である場合には、当該指示タイミングの次小節からメインセクションのデータ再生に変えてエンディングセクションのデータ再生を開始し、当該データを最後まで再生する制御を行った後に本自動演奏処理を終了する。一方、「自動演奏の終了指示」が再生／停止ボタン操作による自動演奏の停止指示である場合には、当該停止指示がなされた時点で強制的にデータ再生終了制御を行うことにより本自動演奏処理を終了する。
【００４５】
ユーザ指示が上記した何れの指示でもない場合には（ステップＳ５，Ｓ９，Ｓ１２のいずれもがＮＯ）、ユーザ指示に応じた「その他の処理」を実行する。その他の処理を実行するユーザ指示としては、例えばメインセクションからフィルインセクション又はエンディングセクション以外へのセクション切り替え指示、再生中のパートのうち任意のパートの再生をミュート/ミュート解除する指示、スタイルデータを変更する指示、音色変更や音量変更の指示などがある。
【００４６】
次に、「割り込み処理」について説明する。図５は、割り込み処理の一実施例を示すフローチャートである。当該割り込み処理は自動演奏の開始から終了まで、クロックに応じた所定の時間間隔毎に繰り返し起動される。ここで、演奏テンポに応じてクロックあたりの時間長は変わることから、ユーザによる演奏テンポの変更指示に応じて当該処理を繰り返し起動する時間間隔（つまり割り込み処理タイミング）は当然に変わる。
【００４７】
ステップＳ２１は、再生カウンタの値を「＋１」つまりは自動演奏の開始にあわせてカウントが開始されるクロックカウント値を、本処理を起動するたびに「１」加算する。ステップＳ２２は、再生カウンタ値がセクション切り替えタイミングに到達したか否かを判定する。ここで、再生カウンタの値がセクション切り替えタイミングに到達したと判定される場合をいくつか挙げると、再生カウンタの値が「セクション切り替えタイミング」としてセットされたタイミング（図４のステップＳ８参照）に到達したとき、自動的にメインセクションへの切り替えが行われるときつまりはイントロセクションやフィルインセクションの再生が終わったとき、メインセクションから別のメインセクション又はエンディングセクションへの切り替え指示がなされたあとに、切り替え前のメインセクションの再生位置が小節区切りの位置まで到達したときなどがある。
【００４８】
再生カウンタの値がセクション切り替えタイミングに到達したと判定した場合には（ステップＳ２２のＹＥＳ）、読み出し対象のオーディオデータを切り替え先のセクションのオーディオデータに切り替える（ステップＳ２３）。つまり、ユーザがメインからフィルインへのセクション切り替え指示を行なった際（図４のステップＳ５でＹＥＳ）には、ユーザ操作に応じてすぐに切り替え先セクションであるフィルインセクションのデータが読み出されるのではなく、ステップＳ８でセットされたセクション切り替えタイミングに到達した際にフィルインセクションのデータ読み出しが開始される。この切り替え制御には、ユーザによるセクション間の切り替えタイミングに関わらず、ノイズの発生を低減する効果がある。
【００４９】
セクション間におけるオーディオデータの切り替え制御について説明する。図６及び図７は、セクション間におけるオーディオデータの切り替え制御の一実施例を説明するための概念図である。なお、ここでは図３（ｂ）に示したメインセクションからフィルインセクションへのセクション切り替え時におけるオーディオデータの切り替え制御を例に説明する。
【００５０】
まず、図６を参照しながら、図中において点線で示す１拍目の真ん中あたりのタイミングで、ユーザがセクション切り替え指示操作を行った場合について説明する。この場合、ユーザ操作に応じて即座にメインセクションのオーディオデータからフィルインセクションのオーディオデータへの切り替え制御が行われてしまうと、図３(ｂ)に示すフィルインセクションの２つ目の波形(立ち上がり位置がFo2である波形、以下Fo2波形)の途中から再生を開始することになるが（図６上段図参照）、１つの波形途中からの再生音はノイズとなって現れるので都合が悪い。
【００５１】
上述したように、オーディオ制御データのオンセット情報には、フィルインセクションのオーディオデータに含まれる各波形の立ち上がり位置（Fo1〜Fo9)が設定されている（図３（ｂ）参照）。そこで、このケースでは、ユーザ操作タイミングにあわせてすぐにセクション間におけるオーディオデータの切り替え制御を行うのではなく、ユーザ操作タイミングの直後にある切り替え先（フィルインセクション）のオンセット情報「Fo3」に従って、再生カウンタ値が「Fo3」になるまでは切り替え前のメインセクションのMo1波形の再生を維持し、再生カウンタ値が「Fo3」になるタイミングでFo3波形の先頭からフィルインセクションのオーディオデータの再生を開始するように切り替え制御を行う（図６下段図参照）。
【００５２】
これにより、切り替え後のフィルインセクションにおいては、Fo2波形の途中からではなくFo3波形の先頭から再生が開始されるので、波形途中からの再生に伴うノイズが生ずることがない。なお、実際の装置では、セクション切り替え指示操作後に切り替え先のフィルインセクションのオーディオデータのロードが開始され、そのオーディオデータのロードには時間がかかることから、再生カウンタ値がオーディオデータのロード完了後以降にある最も近いオンセット情報になるタイミングでオーディオデータの切り替えが行われる。
【００５３】
次に、図７に示すように、図中において点線で示すFo8波形の直前のタイミングで、ユーザがセクション切り替え指示操作を行った場合について説明する。この場合、ユーザ操作に応じて即座にメインセクションのオーディオデータからフィルインセクションのオーディオデータへの切り替え制御が行われてしまうと、メインセクションのMo5波形のアタック（振幅レベルが最も高い箇所）が鳴った直後にフィルインセクションのFo8波形が鳴り始めることから（図７上段図参照）、短時間の間に２つのアタック音が発生する所謂「二度鳴り」現象が生じてしまうので都合が悪い。
【００５４】
このケースにおいて、図６に示したケースと同様に、「ユーザ操作後の最初の波形立ち上がり位置でセクション間におけるオーディオデータの切り替えを行う」場合について考える。すなわち、図７中段図に示すように、ユーザ操作タイミングの直後にある切り替え先（フィルインセクション）のオンセット情報「Fo8」に従って、再生カウンタ値が「Fo8」になるまでは切り替え前のメインセクションのMo5波形の再生を維持し、再生カウンタ値が「Fo8」になるタイミングでFo8波形の先頭からフィルインセクションのオーディオデータの再生を開始するように切り替え制御を行うようにする。しかし、このケースではにフィルインセクションの波形立ち上がり位置である「Fo8」のタイミングで、メインセクションからフィルインセクションへのオーディオデータの切り替えを行なったとしても、Mo5波形とFo8波形それぞれのアタックが短時間に再生されることにはかわりないので「二度鳴り」現象が起こってしまう。
【００５５】
したがって、このケースでは、オーディオ制御データのオンセット情報に、フィルインセクションのオーディオデータに含まれる各波形の立ち上がり位置（Fo1〜Fo9)ではなく、図７下段図に示すように、それらの立ち上がり位置よりも少し前の任意の波形位置「Fo1'〜Fo9'」を設定しておく。具体的には、メインセクションのMo5波形の立ち上がり位置とFo8'の位置とがほぼ同じになるよう、オンセット情報をFo8ではなくからFo8'に変更するように設定する。他のオンセット情報(Fo1、Fo2、・・・）についても、各セクションのオーディオデータに含まれる各波形を比較して、最適な位置(Fo1'、Fo2'、・・・)を設定するとよい。すなわち、オーディオ制御データのオンセット情報は波形の立ち上がり位置に設定されることに限らない。この設定によれば、上記したユーザ操作タイミングの直後にある切り替え先（フィルインセクション）のオンセット情報が「Fo8」ではなく「Fo9'」になるので、このオンセット情報「Fo9'」に従って、再生カウンタ値が「Fo9'」になるまでは切り替え前のメインセクションのMo5波形の再生を維持し、再生カウンタ値が「Fo9'」になるタイミングでフィルインセクションのオーディオデータの再生を開始するように切り替え制御を行う。こうすることにより、上記のような二度鳴りの問題を解決することができる。
【００５６】
図５の説明に戻って、ステップＳ２４は、再生カウンタの値が所定の計測タイミング（ここでは一例として１拍毎の拍タイミング）に達したか否かを判定する。再生カウンタの値が計測タイミングに達したと判定した場合には（ステップＳ２４のＹＥＳ）、現時点のオーディオデータの再生位置とオーディオ制御データの拍情報とに基づいて、MIDIデータの再生位置とオーディオデータの再生位置とのタイミングずれを計測する（ステップＳ２５）。すなわち、オーディオ制御情報は拍情報を含むことから、この拍情報によって「本来の拍タイミングで再生すべき波形位置はどのサンプリング波形であるか」がわかる。そこで、この実施形態では、拍タイミングをずれを計測するための基準タイミングとみなし、この拍タイミング毎に「実際に再生されている波形位置(サンプリング波形番号）」と拍情報に基づく「本来再生すべき波形位置(サンプリング波形番号)」とを比較することによって、MIDIデータの再生位置とオーディオデータの再生位置とのタイミングずれを計測するようにしている。ここで計測されたずれの量は、ＲＡＭ３に一時記憶される。
【００５７】
ステップＳ２６は、現在のオーディオデータの再生位置を取得する。ステップＳ２７は、取得したオーディオデータ再生位置がオーディオ制御データのシンクポイントのタイミングつまりはオーディオ制御データのシンクポイント情報で特定される波形位置の再生タイミングと一致するか否かを判定する。オーディオデータ再生位置がシンクポイントのタイミングであると判定した場合には（ステップＳ２７のＹＥＳ）、直前の計測タイミングで計測されたずれ量に応じてオーディオデータの再生位置を変更することにより、MIDIデータの再生位置とオーディオデータの再生位置とのタイミングずれを補正する（ステップＳ２８）。例えば、MIDIデータの再生位置よりもオーディオデータの再生位置が遅れた場合において、遅れを検出した計測タイミング以降の最初のシンクポイント情報で特定される波形位置にて、現在のオーディオデータの再生位置を遅れた分に対応するサンプリング波形の数だけずらし、ずらした以降のサンプリング波形からオーディオデータの再生を開始することによりタイミングずれを補正する（詳しくは後述する図８参照）。ステップＳ２９は、各パートの発音処理を実行する。つまり、現在のタイミングにMIDIイベントがあればそれに基づき楽音の発音や消音さらにはその他の楽音制御処理を行う。
【００５８】
ここで、MIDIデータの再生位置とオーディオデータの再生位置とのタイミングずれ補正について説明する。図８は、再生位置のタイミングずれ補正を説明するための概念図である。なお、ここでは図３（ａ）に示した１小節分のオーディオデータのタイムストレッチ制御を行って再生波形信号を生成する場合を例に説明する。したがって、図８に示したオーディオパートの各波形w1〜w8は時間軸伸縮した後の再生波形信号を表す。
【００５９】
上述したように、本実施形態では、各拍においてMIDIデータの再生位置とオーディオデータの再生位置のずれを計測し、ずれを計測した場合には次のシンクポイント情報に従う波形再生時において、計測したずれ量の分だけオーディオデータの再生位置を変更することによってMIDIデータの再生位置とオーディオデータの再生位置とのタイミングずれを補正するようにしている。つまり、MIDIデータはユーザの指定した演奏テンポで正確に読み出されて再生されるが、オーディオデータはタイムストレッチ処理による誤差の影響などを受けて必ずしも指定した演奏テンポで再生されるとは限らないために、MIDIデータの再生を基準信号として、オーディオデータの再生位置を基準としたMIDIデータの再生位置に合うよう調整することで、オーディオデータとMIDIデータの同期再生を図っている。図８に示すように、第１小節の１拍目のタイミング(MIDIデータの再生位置を基準に示し、図中では「1-1」と記す)においては、基準としたMIDIデータの再生位置と拍情報（sb1）に基づくオーディオデータの再生位置とに「ずれ」が発生していない。したがって、次のシンクポイント情報ss1において、オーディオデータの再生位置を変更してのタイミングずれ補正は行われない。
【００６０】
第１小節の２拍目(1-2)のタイミングでは、MIDIデータの再生位置とオーディオデータの再生位置とに「ずれ」が発生している。つまり、第１小節の２拍目(1-2)のタイミングでは、拍情報（sb2）に基づくオーディオデータの再生位置が本来波形w3の開始位置となるはずであるが、図示の例ではまだ時間軸伸縮された波形w2を引き続き再生中であって波形w3の開始位置に至っていない。そこで、第１小節の２拍目(1-2)のタイミングにおいては、拍情報（sb2）に基づく本来の波形w3の再生位置と現時点で再生中の波形w2の再生位置とのずれ量(Δt1と記す)を計測する（ステップＳ２４及びＳ２５参照）。このずれ量(Δt1)はサンプリング波形の数で表される（例えば690個など）。
【００６１】
第１小節の２拍目(1-2)のタイミング以降の最初のシンクポイント情報（ss2）で特定される波形w4の先頭波形の再生タイミングになると、当該波形w4に関して前記ずれ量（Δt1）だけ再生位置の変更を行う（ステップＳ２６及びＳ２７参照）。ただし、この時点における波形w4の先頭波形の再生タイミング（ss2）は既に遅れが発生しており、本来の再生タイミング（便宜的にss2´と記す）でない。そこで、波形w4の先頭波形の再生タイミング（ss2）では、波形w3に引き続き波形w4の先頭波形からフェードアウト制御しながら再生を開始する一方で、空きトラックを利用して波形w4の先頭波形から前記ずれ量（Δt1）だけずれた（ジャンプした）位置にあるサンプリング波形からフェードイン制御しながら再生を開始する。すなわち、各トラック毎に再生される波形をクロスフェード制御により接続することで（図中において斜線で記した箇所）、楽音が自然に遷移するようにしている。このようにして、別の空きトラックを利用してタイミングが遅れた分に対応する数のサンプリング波形の再生を飛ばして（図中において黒く塗りつぶした箇所）、再生を飛ばした以降のサンプリング波形から再生を開始させる。こうすることにより、再生タイミング（ss2）においてタイミングずれが解消されて、波形w4の再生位置が演奏テンポに応じた再生位置に戻る。
【００６２】
さらに、この例では第１小節の３拍目(1-3)でも再度「ずれ」が発生している。このずれ量をΔt2とする。この場合、第１小節の３拍目(1-3)のタイミング以降の最初のシンクポイント情報（ss3）にて、上記と同様にして、波形w6の先頭波形の再生タイミング（ss3）では、波形w5に引き続き波形w6の先頭波形からフェードアウト制御しながら再生を開始する一方で、別の発音チャンネルを利用して波形w6の先頭波形から前記ずれ量（Δt2）だけずれた（ジャンプした）位置にあるサンプリング波形からフェードイン制御しながら再生を開始することにより、再生タイミング（ss3）において波形w6の再生位置を本来の再生位置に戻す。以降についても同様であるので、ここでの説明を省略する。なお、この例ではオーディオ再生がMIDI再生よりも遅れる場合の補正方法について説明したが、オーディオ再生がMIDI再生よりも早くなってしまった場合でも同様に補正を行う。すなわち、シンクポイント情報で特定される波形位置に到達した際に、再生中の波形をフェードアウト再生する一方で、直前に計測されたずれの量だけ遅らせた波形を別のチャンネルにてフェードイン再生するようにするとよい。
【００６３】
なお、ここでは説明を簡単にするため、直前に計測したずれをシンクポイント情報（図２参照）に従う再生タイミングの到来にあわせて補正する方法を説明したが、補正の仕方はこれに限定されない。例えば、直前とさらにその1つ前に計測したずれの平均値を補正するようにしてもよい。また、ずれの計測頻度や計測の精度に応じて、シンクポイントにおいて補正する量を適宜変更するのが好ましい。
なお、シンクポイント情報と計測ポイントの対応は1対1でなくてもよい。つまり、拍ごとに1箇所のシンクポイント情報を設定しておく必要はない。所定の基準を満たす位置（例えば振幅レベルが所定値以下）をすべてシンクポイント情報として設定しておいてもよい。
なお、シンクポイント情報は、サンプリング波形の位置で定義するのではなく、何らかの条件で定義しておいてもよい。例えば、振幅レベルが所定値以下になっ  た時点をシンクポイント情報とみなすようにしておき、再生時に振幅レベルを随時計測し、振幅レベルが所定値以下になったことを検出すればその時点でずれを補正するようにしてもよい。
【００６４】
以上のように、本発明に係る自動演奏装置によると、異なる演奏パターンを表す複数の楽音波形信号と共に、当該楽音波形信号に含まれる複数の各音の立ち上がり波形位置又は各音の立ち上がり前の振幅レベルの小さい波形位置を示すオンセット情報（切替位置情報）を予め記憶しておく。複数の楽音波形信号の中からいずれかの楽音波形信号が指定されると、直前に再生していた楽音波形信号から新たな楽音波形信号への切り替え制御が行われ、該切り替え後の楽音波形信号を再生することによって切り替え前とは異なる演奏パターンの再生波形信号を生成するが、このときに、前記指定された楽音波形信号のオンセット情報に対応する波形位置の再生タイミングになるまでは、切り替え前の楽音波形信号に基づく再生波形信号の生成を維持して、オンセット情報に対応する波形位置の再生タイミングから前記指定された楽音波形信号に基づく再生波形信号の生成を行う。
【００６５】
すなわち、楽音波形信号の指定に応じて直ちに指定された楽音波形信号への切り替え制御を行うのではなく、オンセット情報に対応する波形位置に応じた再生タイミングの到来を待ってから指定された楽音波形信号への切り替え制御を行うようにした。これにより、例えば小節と小節の途中の任意のタイミングにおいて切り替え指示がなされた場合であっても、次の小節の到来を待たずにできる限りはやくに新たな楽音波形信号への切り替え制御が行われることになる。また、この切り替え制御を、各音の立ち上がり波形位置又は各音の立ち上がり前の振幅レベルの小さい波形位置の再生タイミングで行うようにすれば、切り替え時において雑音が発するなどの音質劣化が生じ難くなる。
【００６６】
以上、図面に基づいて実施形態の一例を説明したが、本発明はこれに限定されるものではなく、様々な実施形態が可能であることは言うまでもない。例えば、上述した実施例では、オーディオデータとMIDIデータの同期再生を例に示したが、  オーディオデータとMIDIデータの同期再生に限らず、オーディオデータ同士の同期再生にも応用できる。例えば、複数のオーディオデータを扱うDJ用途や、複数の機器間でオーディオ再生の同期を取る際にも応用できる。
なお、同期再生するデータ同士を同時に再生開始する必要はない。一方のデータ(例えばMIDIデータ)を先に再生開始しておき、後からもう一方(例えばオーディオデータ)を再生させてもよい。その際には、小節単位に同じ拍同士で同期させる（それぞれの１拍目同士を同期させる等）ことに限らず、例えば一方のデータの２拍目と他方のデータの１拍目を同期させるなど、異なる拍位置で同期させるようにしてもよい。
なお、誤差の計測は上述した拍単位に限定されず、八分音符単位や、各拍のウラ単位など、基準の楽音(MIDI)の再生位置とオーディオデータに基づく楽音の再生位置とのずれが計測できさえすればどこであってもよい。その場合、オーディオパート制御情報には、オーディオデータの１小節内において複数の八分音符や各拍のウラに対応する各位置にあるサンプリング波形を示す情報を記憶するのは勿論である。
【符号の説明】
【００６７】
１…ＣＰＵ、１Ａ…タイマ、２…ＲＯＭ、３…ＲＡＭ、４…記憶装置、５…演奏操作子（鍵盤等）、６…パネル操作子、７…表示部、８…オーディオ再生部、９…ＭＩＤＩ音源部、１０…楽音制御部、１０Ａ…サウンドシステム、１１…インタフェース、１Ｄ…データ及びアドレスバス
【図１】
2014006416.tif 000003
【図２】
2014006416.tif 000004
【図３】
2014006416.tif 000005
【図４】
2014006416.tif 000006
【図５】
2014006416.tif 000007
【図６】
2014006416.tif 000008
【図７】
2014006416.tif 000009
【図８】
2014006416.tif 000010