(57)【要約】【課題】異なる速度で記録された同じ楽曲の音声データに対し、正しいタイミングで演奏データの同期再生が可能な記録装置、再生装置、記録方法、再生方法、およびプログラムを提供する。【解決手段】コントローラ部６は、音楽ＣＤの再生に合わせて行われる、ピアノ３１を用いた演奏のＭＩＤＩデータを、ＳＭＦに記録する。その際、コントローラ部６は音楽ＣＤの音声データの１００Ｈｚ以下および１Ｈｚ以下の成分が示す値を比較し、その結果生成される管理用イベントをＳＭＦに記録する。続いて、コントローラ部６は、音楽ＣＤの再生に合わせて、ＳＭＦに記録されたＭＩＤＩデータの再生を行う。その際、コントローラ部６は、音楽ＣＤの音声データから管理用イベントを生成し、ＳＭＦに記録された管理用イベントのタイミングと、生成される管理用イベントのタイミングとを比較することにより、ＭＩＤＩデータの再生のタイミングを調整する。【選択図】　　　図１
2004085610.tif 000002
【特許請求の範囲】
【請求項１】
楽曲の音声波形を示す音声データを受信する第１受信手段と、
演奏の制御を指示する制御データを受信する第２受信手段と、
前記音声データの所定期間の変化傾向を示す第１指標を生成する第１生成手段と、
前記音声データの前記所定期間より長い期間の変化傾向を示す第２指標を生成する第２生成手段と、
前記制御データと前記制御データの受信タイミングを示す第１時間データとからなる演奏データを記録するとともに、前記第１指標と前記第２指標とを比較して、前記音声データの急激な変化を検出し、前記急激な変化のタイミングを示す第２時間データを記録する記録手段と、
を備えることを特徴とする記録装置。
【請求項２】
演奏の制御を指示する制御データおよび該演奏の制御の実行タイミングを指示する第１時間データからなる演奏データと、音声波形の急激な変化のタイミングを示す第２時間データとを受信する第１受信手段と、
楽曲の音声波形を示す音声データを受信する第２受信手段と、
前記音声データの所定期間の変化傾向を示す第１指標を生成する第１生成手段と、
前記音声データの前記所定期間より長い期間の変化傾向を示す第２指標を生成する第２生成手段と、
前記第１指標と前記第２指標とを比較して、前記音声データの急激な変化を検出し、前記急激な変化のタイミングを示す第３時間データを生成する第３生成手段と、
前記第２時間データおよび前記第３時間データの示す時間情報に基づき、前記第１時間データを調整する調整手段と、
前記調整手段により調整された前記第１時間データに従うタイミングで、前記制御データの送信を行う送信手段と
を備えることを特徴とする再生装置。
【請求項３】
楽曲の音声波形を示す音声データを受信する第１受信過程と、
演奏の制御を指示する制御データを受信する第２受信過程と、
前記音声データの所定期間の変化傾向を示す第１指標を生成する第１生成過程と、
前記音声データの前記所定期間より長い期間の変化傾向を示す第２指標を生成する第２生成過程と、
前記制御データと前記制御データの受信タイミングを示す第１時間データとからなる演奏データを記録するとともに、前記第１指標と前記第２指標とを比較して、前記音声データの急激な変化を検出し、前記急激な変化のタイミングを示す第２時間データを記録する記録過程と、
を備えることを特徴とする記録方法。
【請求項４】
演奏の制御を指示する制御データおよび該演奏の制御の実行タイミングを指示する第１時間データからなる演奏データと、音声波形の急激な変化のタイミングを示す第２時間データとを受信する第１受信過程と、
楽曲の音声波形を示す音声データを受信する第２受信過程と、
前記音声データの所定期間の変化傾向を示す第１指標を生成する第１生成過程と、
前記音声データの前記所定期間より長い期間の変化傾向を示す第２指標を生成する第２生成過程と、
前記第１指標と前記第２指標とを比較して、前記音声データの急激な変化を検出し、前記急激な変化のタイミングを示す第３時間データを生成する第３生成過程と、
前記第２時間データおよび前記第３時間データの示す時間情報に基づき、前記第１時間データを調整する調整過程と、
前記調整手段により調整された前記第１時間データに従うタイミングで、前記制御データの送信を行う送信過程と
を備えることを特徴とする再生方法。
【請求項５】
楽曲の音声波形を示す音声データを受信する第１受信処理と、
演奏の制御を指示する制御データを受信する第２受信処理と、
前記音声データの所定期間の変化傾向を示す第１指標を生成する第１生成処理と、
前記音声データの前記所定期間より長い期間の変化傾向を示す第２指標を生成する第２生成処理と、
前記制御データと前記制御データの受信タイミングを示す第１時間データとからなる演奏データを記録するとともに、前記第１指標と前記第２指標とを比較して、前記音声データの急激な変化を検出し、前記急激な変化のタイミングを示す第２時間データを記録する記録処理と、
をコンピュータに実行させるプログラム。
【請求項６】
演奏の制御を指示する制御データおよび該演奏の制御の実行タイミングを指示する第１時間データからなる演奏データと、音声波形の急激な変化のタイミングを示す第２時間データとを受信する第１受信処理と、
楽曲の音声波形を示す音声データを受信する第２受信処理と、
前記音声データの所定期間の変化傾向を示す第１指標を生成する第１生成処理と、
前記音声データの前記所定期間より長い期間の変化傾向を示す第２指標を生成する第２生成処理と、
前記第１指標と前記第２指標とを比較して、前記音声データの急激な変化を検出し、前記急激な変化のタイミングを示す第３時間データを生成する第３生成処理と、
前記第２時間データおよび前記第３時間データの示す時間情報に基づき、前記第１時間データを調整する調整処理と、
前記調整手段により調整された前記第１時間データに従うタイミングで、前記制御データの送信を行う送信処理と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オーディオデータの再生に同期して、楽曲の演奏制御に関する情報を含む演奏データの再生を行う装置および方法に関する。
【０００２】
【従来の技術】
楽曲を再生するための手段として、音楽ＣＤ（Ｃｏｍｐａｃｔ　Ｄｉｓｃ）などの記憶媒体から音声データを読み出し、読み出された音声データから音声を生成して出力する装置がある。また、楽曲を再生するための他の手段として、ＦＤ（Ｆｌｏｐｐｙ　ｄｉｓｋ）などの記憶媒体から楽曲の演奏制御に関する情報を含むデータを読み出し、読み出されたデータを用いて音源装置の発音を制御することにより自動演奏を行う装置がある。楽曲の演奏制御に関する情報を含むデータとしては、ＭＩＤＩ（Ｍｕｓｉｃａｌ　Ｉｎｓｔｒｕｍｅｎｔ　Ｄｉｇｉｔａｌ　Ｉｎｔｅｒｆａｃｅ）規格に従って作成されたＭＩＤＩデータがある。
【０００３】
最近では、音楽ＣＤに記録される音声データの再生に対し、ＭＩＤＩデータによる自動演奏を同期させる方法が提案されている。その中の１つとして、音楽ＣＤに記録されているタイムコードを用いる方法がある（例えば、特許文献１および特許文献２参照）。以下、この方法について説明する。
【０００４】
まず、音楽ＣＤ再生装置により音楽ＣＤの音声データおよびタイムコードが再生される。そして、音声データは音として出力され、タイムコードは記録装置に供給される。ここで、タイムコードは、あるまとまった単位の音声データに対応付けられたデータであり、各タイムコードは、楽曲の開始時点から当該タイムコードに対応した音声データの再生タイミングまでの経過時間を表している。また、音楽ＣＤの再生に合わせて、楽器の演奏が行われ、楽器から記録装置にＭＩＤＩデータが順次供給される。記録装置は、楽器からＭＩＤＩデータを受け取ると、ＭＩＤＩデータをその受信のタイミングを示す時間情報とともに記録媒体に記録する。また、記録装置は、タイムコードを音楽ＣＤ再生装置から受け取ると、これをその受信タイミングを示す時間情報とともに記録媒体に記録する。その結果、記録媒体には、タイムコードとＭＩＤＩデータとが混在したファイルが作成される。このファイルにおいて、各タイムコードとＭＩＤＩデータは、楽曲再生開始時刻から各々の再生時刻までの経過時間を表す時間情報を伴っている。
【０００５】
このようにしてＭＩＤＩデータおよびタイムコードが記録媒体に記録されると、以後、同一楽曲の音声データが音楽ＣＤから再生されるとき、これに同期させて記録媒体からＭＩＤＩデータを読み出し、自動演奏を行うことができる。その動作は次の通りである。
【０００６】
まず、音楽ＣＤ再生装置により音楽ＣＤから音声データとタイムコードが再生される。そして、音声データは、音として出力され、タイムコードはＭＩＤＩデータの再生装置に供給される。それと同時に再生装置は、ファイルに記録されているＭＩＤＩデータを、ともに記録されている時間情報に従って読み出し、ＭＩＤＩデータによる自動演奏が可能な楽器に順次送信する。その際、再生装置は音楽ＣＤ再生装置から受信するタイムコードと、ＭＩＤＩデータとともにファイルから読み出されるタイムコードとに基づき、音楽ＣＤの音声データの再生とＭＩＤＩデータの再生の時間的ずれを調整する。その結果、音楽ＣＤの音声データとＭＩＤＩデータの同期再生が実現される。
【０００７】
特許文献１：　特願２００２−７８７２
特許文献２：　特願２００２−７８７３
【０００８】
【発明が解決しようとする課題】
しかしながら、同じ楽曲であっても異なるタイムコードが付された音楽ＣＤに関しては、音楽ＣＤのタイムコードを用いる方法により、音楽ＣＤの音声データとＭＩＤＩデータの同期再生を実現することはできない。
【０００９】
現在、同じ楽曲について、異なる版の音楽ＣＤが数多くある。音楽ＣＤには通常、楽曲のマスタデータに対しリバーブ等の音響効果を加えるなどの編集が施された音声データが記録されている。そのような異なる版の音楽ＣＤにおいては、楽曲の開始までのオフセット時間が異なる場合がある。また、編集後の音声データを記録する際に用いられるクロックの速度はマスタデータが記録された際に用いられたクロックの速度と厳密に一致しない場合がある。その結果、異なる編集の施された音声データを記録する、異なる版の音楽ＣＤには、わずかに時間間隔の異なるタイムコードが付されている場合がある。そのような場合において、従来のタイムコードを用いる技術により作成された同期演奏用のＭＩＤＩデータを、同じ楽曲の異なる版の音楽ＣＤに対し用いると、楽曲の先頭において音楽ＣＤの楽曲とＭＩＤＩデータによる演奏がずれたり、楽曲の先頭では音楽ＣＤの楽曲とＭＩＤＩデータによる演奏の同期がとれていても、時間の経過に伴い、徐々に音楽ＣＤの楽曲とＭＩＤＩデータによる演奏がずれてきたりする。
【００１０】
従って、従来のタイムコードを用いる技術によれば、同じ楽曲の音声データを記録する音楽ＣＤであっても、それぞれの音楽ＣＤの版に対して付されているタイムコードの時間間隔のバリエーションに応じて、異なる同期演奏用のＭＩＤＩデータを準備しなければならないという問題があった。
【００１１】
上述した状況に鑑み、本発明は、同じ楽曲の音声データであっても、記録時に用いられたクロックの速度が互いに異なる等の理由により互いに異なる時間間隔で記録された複数の版の音声データに対し、同期再生が可能なＭＩＤＩデータ等の演奏データの記録装置、再生装置、記録方法、再生方法、およびプログラムを提供することを目的とする。
【００１２】
【課題を解決するための手段】
以上説明した課題を解決するため、本発明は、楽曲の音声波形を示す音声データを受信する第１受信手段と、演奏の制御を指示する制御データを受信する第２受信手段と、前記音声データの所定期間の変化傾向を示す第１指標を生成する第１生成手段と、前記音声データの前記所定期間より長い期間の変化傾向を示す第２指標を生成する第２生成手段と、前記制御データと前記制御データの受信タイミングを示す第１時間データとからなる演奏データを記録するとともに、前記第１指標と前記第２指標とを比較して、前記音声データの急激な変化を検出し、前記急激な変化のタイミングを示す第２時間データを記録する記録手段と、を備えることを特徴とする記録装置を提供する。
【００１３】
また、本発明は、演奏の制御を指示する制御データおよび該演奏の制御の実行タイミングを指示する第１時間データからなる演奏データと、音声波形の急激な変化のタイミングを示す第２時間データとを受信する第１受信手段と、楽曲の音声波形を示す音声データを受信する第２受信手段と、前記音声データの所定期間の変化傾向を示す第１指標を生成する第１生成手段と、前記音声データの前記所定期間より長い期間の変化傾向を示す第２指標を生成する第２生成手段と、前記第１指標と前記第２指標とを比較して、前記音声データの急激な変化を検出し、前記急激な変化のタイミングを示す第３時間データを生成する第３生成手段と、前記第２時間データおよび前記第３時間データの示す時間情報に基づき、前記第１時間データを調整する調整手段と、前記調整手段により調整された前記第１時間データに従うタイミングで、前記制御データの送信を行う送信手段とを備えることを特徴とする再生装置を提供する。
【００１４】
また、本発明は、楽曲の音声波形を示す音声データを受信する第１受信過程と、演奏の制御を指示する制御データを受信する第２受信過程と、前記音声データの所定期間の変化傾向を示す第１指標を生成する第１生成過程と、前記音声データの前記所定期間より長い期間の変化傾向を示す第２指標を生成する第２生成過程と、前記制御データと前記制御データの受信タイミングを示す第１時間データとからなる演奏データを記録するとともに、前記第１指標と前記第２指標とを比較して、前記音声データの急激な変化を検出し、前記急激な変化のタイミングを示す第２時間データを記録する記録過程とを備えることを特徴とする記録方法を提供する。
【００１５】
また、本発明は、演奏の制御を指示する制御データおよび該演奏の制御の実行タイミングを指示する第１時間データからなる演奏データと、音声波形の急激な変化のタイミングを示す第２時間データとを受信する第１受信過程と、楽曲の音声波形を示す音声データを受信する第２受信過程と、前記音声データの所定期間の変化傾向を示す第１指標を生成する第１生成過程と、前記音声データの前記所定期間より長い期間の変化傾向を示す第２指標を生成する第２生成過程と、前記第１指標と前記第２指標とを比較して、前記音声データの急激な変化を検出し、前記急激な変化のタイミングを示す第３時間データを生成する第３生成過程と、前記第２時間データおよび前記第３時間データの示す時間情報に基づき、前記第１時間データを調整する調整過程と、前記調整手段により調整された前記第１時間データに従うタイミングで、前記制御データの送信を行う送信過程とを備えることを特徴とする再生方法を提供する。
【００１６】
また、本発明は、これらの記録方法および再生方法を用いる処理をコンピュータに実行させるプログラムを提供する。
【００１７】
また、本発明は、演奏の制御を指示する制御データおよび該演奏の制御の実行タイミングを指示する第１時間データからなる演奏データと、音声波形の急激な変化のタイミングを示す第２時間データが記録された記録媒体を提供する。
【００１８】
かかる構成による装置、方法、プログラム、および記録媒体を用いると、演奏データの記録時と再生時のそれぞれにおいて、楽曲の音声波形が急激に変化するタイミングで時間調整用の時間データが生成され、記録時に生成された時間データと、再生時に生成される時間データとの比較により、制御データの送信タイミングが調整される。その結果、音声データと制御データとの同期再生が実現される。
【００１９】
また、本発明にかかる記録装置は、前記音声データの再生タイミングを示すタイムコードを受信する第３受信手段を備え、前記記録手段は、前記タイムコードが示す時間情報に基づいて、前記第１時間データおよび前記第２時間データを生成する構成としてもよい。
また、本発明にかかる再生装置は、前記音声データの再生タイミングを示すタイムコードを受信する第３受信手段を備え、前記第３生成手段は、前記タイムコードが示す時間情報に基づいて前記第３時間データを生成し、前記送信手段は、前記タイムコードが示す時間情報に基づいて前記制御データの送信を行う構成としてもよい。
【００２０】
かかる構成による記録装置および再生装置を用いると、再生速度にバイアスを持つ再生装置により再生される音声データに対しても、タイムコードに従った計時が行われるため、制御データの同期再生が正しく行われる。
【００２１】
また、本発明にかかる記録装置において、前記第１生成手段は、前記音声データが表す音声波形に対し、第１周波数以下の周波数帯の成分を取り出すフィルタ処理を施すことにより、前記第１指標を生成し、前記第２生成手段は、前記音声データが表す音声波形に対し、前記第１周波数よりも低い第２周波数以下の周波数帯の成分を取り出すフィルタ処理を施すことにより、前記第２指標を生成する構成としてもよい。
また、本発明にかかる再生装置において、前記第１生成手段は前記音声データが表す音声波形に対し、第１周波数以下の周波数帯の成分を取り出すフィルタ処理を施すことにより、前記第１指標を生成し、前記第２生成手段は前記音声データが表す音声波形に対し、前記第１周波数よりも低い第２周波数以下の周波数帯の成分を取り出すフィルタ処理を施すことにより、前記第２指標を生成する構成としてもよい。
【００２２】
かかる構成による記録装置および再生装置を用いると、好適な時間間隔および精度を有する時間調整用の時間データが得られる。
【００２３】
また、本発明にかかる記録装置において、前記記録手段は、前記急激な変化を検出したタイミングから前記音声データにおける過去の一定期間に急激な変化が検出されていない場合にのみ、前記第２時間データを記録する構成としてもよい。
また、本発明にかかる再生装置において、前記第３生成手段は、前記急激な変化を検出したタイミングから前記音声データにおける過去の一定期間に急激な変化が検出されていない場合にのみ、前記第３時間データを生成する構成としてもよい。
【００２４】
かかる構成による記録装置および再生装置を用いると、音声波形が頻繁に急激な変化を示す場合であっても、時間調整用の時間データの時間間隔が適度に保たれ、隣接する時間データ間における混同を生じない。
【００２５】
また、本発明にかかる再生装置において、前記調整手段は、前記第２時間データと前記第３時間データとに対し回帰分析を行うことにより得られる回帰直線もしくは回帰曲線が示す値に基づき、前記演奏データの再生タイミングを調整する構成としてもよい。
【００２６】
かかる構成による再生装置を用いると、時間調整用の時間データにおける誤差が全体として調整されるため、同期再生における制御データの送信タイミングの精度が高まる。
【００２７】
【発明の実施の形態】
［１］第１実施形態
［１．１］構成、機能、およびデータフォーマット
［１．１．１］全体構成
図１は、本発明の第１実施形態に係る同期記録再生装置ＳＳの構成を示す図である。同期記録再生装置ＳＳは、音楽ＣＤドライブ１、ＦＤドライブ２、自動演奏ピアノ部３、発音部４、操作表示部５およびコントローラ部６により構成されている。
【００２８】
音楽ＣＤドライブ１、ＦＤドライブ２、自動演奏ピアノ部３、発音部４および操作表示部５はそれぞれ通信線によりコントローラ部６と接続されている。また、自動演奏ピアノ部３と発音部４は、通信線により直接接続されている。
【００２９】
［１．１．２］音楽ＣＤドライブ
音楽ＣＤに記録されているオーディオデータは、音声情報を示す音声データと、音声データの再生のタイミングを示すタイムコードを含んでいる。音楽ＣＤドライブ１は、コントローラ部６からの指示に従って、装填された音楽ＣＤからオーディオデータを読み出し、読み出したオーディオデータに含まれる音声データを順次出力する装置である。音楽ＣＤドライブ１は通信線により、コントローラ部６の通信インタフェース６５と接続されている。
【００３０】
音楽ＣＤドライブ１から出力される音声データは、サンプリング周波数４４１００Ｈｚ、量子化ビット数１６の左右２チャンネルからなるデジタル音声データである。なお、音楽ＣＤドライブ１から出力されるデータには、タイムコードは含まれていない。音楽ＣＤドライブ１の構成は、音声データをデジタル出力可能な一般的な音楽ＣＤドライブと同様であるため、その説明は省略する。
【００３１】
［１．１．３］ＦＤドライブ
ＦＤドライブ２は、ＳＭＦ（Ｓｔａｎｄａｒｄ　ＭＩＤＩ　Ｆｉｌｅ）をＦＤに記録し、またＦＤに記録されているＳＭＦを読み取り、読み取ったＳＭＦを送信する装置である。ＦＤドライブ２は通信線により、コントローラ部６の通信インタフェース６５と接続されている。なお、ＦＤドライブ２の構成は、一般的なＦＤドライブと同様であるため、その説明は省略する。
【００３２】
［１．１．４］ＭＩＤＩイベントおよびＳＭＦ
ＳＭＦは、ＭＩＤＩ規格に従った演奏制御データであるＭＩＤＩイベントと、各ＭＩＤＩイベントの実行タイミングを示すデータであるデルタタイムを含むファイルである。図２および図３を用いて、ＭＩＤＩイベントおよびＳＭＦのフォーマットを説明する。
【００３３】
図２にはＭＩＤＩイベントの例として、ノートオンイベント、ノートオフイベント、およびシステムエクスクルーシブイベントが示されている。ノートオンイベントは楽音の発音を指示するためのＭＩＤＩイベントで、発音を示す９ｎＨ（ｎはチャンネル番号、Ｈは１６進数を示す、以下同様）、音高を示すノートナンバ、および発音の強さ（もしくは打鍵の速さ）を示すベロシティから成る。同様に、ノートオフイベントは楽音の消音を指示するためのＭＩＤＩイベントで、消音を示す８ｎＨ、音高を示すノートナンバ、および消音時の強さ（もしくは鍵を離す速さ）を示すベロシティから成る。一方、システムエクスクルーシブイベントは製品やソフトウェアの製造者が自由に定めるフォーマットのデータを送受信もしくは記録するためのＭＩＤＩイベントで、システムエクスクルーシブイベントの開始を示すＦ０Ｈ、データ長、データ、およびシステムエクスクルーシブイベントの終了を示すＦ７Ｈから成る。このように、ＭＩＤＩイベントは時間情報を持たず、リアルタイムに楽音の発音、消音、およびその他の制御を行う目的で利用される。
【００３４】
図３にはＳＭＦのフォーマットの概略が示されている。ＳＭＦはヘッダチャンクとトラックチャンクから成る。ヘッダチャンクには、トラックチャンネルに含まれるデータのフォーマットや時間単位等に関する制御データが含まれている。トラックチャンクには、ＭＩＤＩイベントと、各ＭＩＤＩイベントの実行タイミングを示すデルタタイムが含まれている。
【００３５】
ＳＭＦにおいて、デルタタイムとしては、直前のＭＩＤＩイベントに対する相対的な時間をクロックと呼ばれる時間単位で表現する方法と、楽曲の先頭の時点からの絶対的な時間を時間、分、秒およびフレームと呼ばれる時間単位の組み合わせで表現する方法がある。以下の説明においては、説明を容易にするため、デルタタイムは、基準となる時点からの絶対的な時間とし、その単位を秒で表すこととする。
なお、本明細書においては、ＭＩＤＩデータとはＭＩＤＩ規格に従って作成されるデータの総称である。
【００３６】
［１．１．５］自動演奏ピアノ部
自動演奏ピアノ部３は、同期記録再生装置ＳＳのユーザによる鍵操作およびペダル操作に応じて、音響的なピアノ音および電子的な楽音合成によるピアノ音を出力する楽音発生装置である。また、自動演奏ピアノ部３はユーザによる鍵操作およびペダル操作に応じてＭＩＤＩイベントを生成し、生成したＭＩＤＩイベントを送信する。さらに、自動演奏ピアノ部３はＭＩＤＩイベントを受信して、受信したＭＩＤＩイベントに応じて、音響的なピアノ音および電子的な楽音合成によるピアノ音による自動演奏を行う。
【００３７】
自動演奏ピアノ部３は、ピアノ３１、キーセンサ３２と、ペダルセンサ３３、ＭＩＤＩイベント制御回路３４、音源３５、および駆動部３６から構成されている。
【００３８】
キーセンサ３２およびペダルセンサ３３は、それぞれピアノ３１の複数の鍵および複数のペダルの各々に配設され、それぞれ鍵およびペダルの位置を検出する。キーセンサ３２およびペダルセンサ３３は、検出された位置情報を、それぞれの鍵およびペダルに対応した識別番号と検出の時間情報と共に、ＭＩＤＩイベント制御回路３４に送信する。
【００３９】
ＭＩＤＩイベント制御回路３４は、キーセンサ３２およびペダルセンサ３３から、それぞれの鍵およびペダルの位置情報を、鍵およびペダルの識別情報、および時間情報と共に受信し、これらの情報から即時にノートオンイベントやノートオフイベント等のＭＩＤＩイベントを生成し、生成したＭＩＤＩイベントをコントローラ部６および音源３５に出力する回路である。さらに、ＭＩＤＩイベント制御回路３４は、コントローラ部６からＭＩＤＩイベントを受信し、受信したＭＩＤＩイベントを音源３５もしくは駆動部３６に転送する機能も持つ。なお、ＭＩＤＩイベント制御回路３４が、コントローラ部６から受信するＭＩＤＩイベントを音源３５と駆動部３６のいずれに転送するかは、コントローラ部６の指示による。
【００４０】
音源３５は、ＭＩＤＩイベント制御回路３４からＭＩＤＩイベントを受信し、受信したＭＩＤＩイベントに基づいて、各種楽器の音情報を左右２チャンネルのデジタル音声データとして出力する装置である。音源３５は受信したＭＩＤＩイベントによって指示された音高のデジタル音声データを電子的に合成し、発音部４のミキサ４１に送信する。
【００４１】
駆動部３６は、ピアノ３１の各鍵および各ペダルに配設され、それらを駆動するソレノイド群およびそれらのソレノイド群を制御する制御回路から構成される。駆動部３６の制御回路は、ＭＩＤＩイベント制御回路からＭＩＤＩイベントを受信すると、対応する鍵もしくはペダルに配設されたソレノイドへ供給する電流量を調節し、ソレノイドが発生する磁力を制御することにより、ＭＩＤＩイベントに応じた鍵もしくはペダルの動作を実現する。
【００４２】
［１．１．６］発音部
発音部４は、自動演奏ピアノ部３およびコントローラ部６から音声データを受信し、受信した音声データを音に変換して出力する装置である。発音部４は、ミキサ４１、Ｄ／Ａコンバータ４２、アンプ４３、およびスピーカ４４から構成されている。
【００４３】
ミキサ４１は左右２チャンネルからなるデジタル音声データを複数受信し、それらを左右１組のデジタル音声データに変換するデジタルステレオミキサである。ミキサ４１は自動演奏ピアノ部３の音源３５からデジタル音声データを受信すると同時に、音楽ＣＤドライブ１により音楽ＣＤから読み出されたデジタル音声データを、コントローラ部６を介して受信する。ミキサ４１は受信したこれらのデジタル音声データを算術平均し、左右１組のデジタル音声データとしてＤ／Ａコンバータ４２に送信する。
【００４４】
Ｄ／Ａコンバータ４２は、ミキサ４１からデジタル音声データを受信し、受信したデジタル音声データをアナログ音声信号に変換し、アンプ４３に出力する。アンプ４３は、Ｄ／Ａコンバータ４２から入力されるアナログ音声信号を増幅し、スピーカ４４に出力する。スピーカ４４は、アンプ４３から入力される増幅されたアナログ音声信号を音に変換する。その結果、音楽ＣＤに記録された音声データおよび音源３５が生成する音声データは、ステレオの音として発音部４から出力される。
【００４５】
［１．１．７］操作表示部
操作表示部５は、同期記録再生装置ＳＳのユーザが同期記録再生装置ＳＳの各種操作を行う際に用いるユーザインタフェースである。
操作表示部５はユーザが同期記録再生装置ＳＳに指示を与える際に押下するキーパッド、ユーザが同期記録再生装置ＳＳの状態を確認するための液晶ディスプレイ等を有している。ユーザによりキーパッドが押下されると、操作表示部５は押下されたキーパッドに対応する信号をコントローラ部６に出力する。また、操作表示部５はコントローラ部６から文字や図形の情報を含むビットマップデータを受信すると、受信したビットマップデータに基づき液晶ディスプレイに文字や図形を表示する。
【００４６】
［１．１．８］コントローラ部
コントローラ部６は、同期記録再生装置ＳＳの全体を制御する装置である。コントローラ部６はＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）６１、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）６２、ＤＳＰ（Ｄｉｇｉｔａｌ　Ｓｉｇｎａｌ　Ｐｒｏｃｅｓｓｏｒ）６３、ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）６４、および通信インタフェース６５から構成されている。また、これらの構成要素はバスにより相互に接続されている。
【００４７】
ＲＯＭ６１は各種の制御用プログラムを格納する不揮発性のメモリである。ＲＯＭ６１が格納する制御用プログラムには、一般的な制御処理を行うプログラムに加え、後述するＳＭＦの記録動作および再生動作における処理をＣＰＵ６２に実行させるプログラムが含まれている。ＣＰＵ６２は汎用的な処理を実行可能なマイクロプロセッサであり、ＲＯＭ６１から制御用プログラムを読み込み、読み込んだ制御用プログラムに従った制御処理を行う。ＤＳＰ６３はデジタル音声データを高速に処理可能なマイクロプロセッサであり、ＣＰＵ６２の制御に従い、音楽ＣＤドライブ１やＦＤドライブ２からコントローラ部６が受信するデジタル音声データに対し、後述する管理用イベント生成処理において必要とされるフィルタ処理等の処理を施し、その結果得られるデータをＣＰＵ６２に送信する。ＲＡＭ６４は揮発性メモリであり、ＣＰＵ６２およびＤＳＰ６３が利用するデータを一時的に格納する。通信インタフェース６５は各種フォーマットのデジタルデータを送受信可能なインタフェースであり、音楽ＣＤドライブ１、ＦＤドライブ２、自動演奏ピアノ部３、発音部４、および操作表示部５との間で送受信されるデジタルデータに対し必要なフォーマット変換を行い、それらの各装置とコントローラ部６との間のデータの中継を行う。
【００４８】
［１．２］動作
続いて、同期記録再生装置ＳＳの動作を説明する。
［１．２．１］記録動作
まず、同期記録再生装置ＳＳのユーザが市販の音楽ＣＤの再生に合わせてピアノを演奏し、その演奏の情報をＭＩＤＩデータとしてＦＤに記録する際の同期記録再生装置ＳＳにおける動作を説明する。なお、以下に説明する記録動作において用いられる音楽ＣＤを、後述する再生動作において用いられる音楽ＣＤと区別するために、音楽ＣＤ−Ａと呼ぶ。
【００４９】
［１．２．１．１］記録の開始操作
ユーザは、音楽ＣＤ−Ａを音楽ＣＤドライブ１に、また空のＦＤをＦＤドライブ２にセットする。続いて、ユーザは演奏データの記録開始に対応する操作表示部５のキーパッドを押下する。操作表示部５は押下されたキーパッドに対応する信号をコントローラ部６に出力する。
【００５０】
コントローラ部６のＣＰＵ６２は操作表示部５から演奏データの記録開始に対応する信号を受信すると、音楽ＣＤドライブ１に音楽ＣＤの再生命令を送信する。この再生命令に応じて、音楽ＣＤドライブ１は音楽ＣＤ−Ａに記録されている音声データをコントローラ部６に順次送信する。コントローラ部６は音楽ＣＤドライブ１から、１／４４１００秒ごとに左右１組の音声データを受信する。以下、左右１組のデータの値を（Ｒ（ｎ），Ｌ（ｎ））と表し、この１組のデータの値、もしくは後述する管理用イベント生成処理においてこの１組のデータから生成される各データの値を「サンプル値」と呼ぶ。Ｒ（ｎ）およびＬ（ｎ）はそれぞれ右チャンネルのデータおよび左チャンネルのデータの値を示し、−３２７６８〜３２７６７のいずれかの整数である。ｎは音声データの順序を表す整数で、先頭のデータから順に０、１、２、・・・と増加する。
【００５１】
［１．２．１．２］音声データの発音部への送信
ＣＰＵ６２は音楽ＣＤドライブ１からサンプル値を受信すると、その時点を０秒として計時を開始する。それと同時に、ＣＰＵ６２は受信したサンプル値を順次、発音部４に送信する。発音部４はコントローラ部６からサンプル値を受信すると、これを順次、音に変換し出力する。その結果、ユーザは音楽ＣＤ−Ａに記録されている楽曲を聴くことができる。
【００５２】
［１．２．１．３］管理用イベントの生成
ＣＰＵ６２は受信したサンプル値を発音部４に送信すると同時に、受信したサンプル値を順次、ＲＡＭ６４に記録する。ＣＰＵ６２は所定数のサンプル値をＲＡＭ６４に記録すると、ＤＳＰ６３に対し、以下に説明する管理用イベント生成処理を行う、実行命令を送信する。ＣＰＵ６２がＤＳＰ６３に対し管理用イベント生成処理の実行命令を送信するまでにＲＡＭ６４に記録されるサンプル値の数は、以下に説明する処理において用いられるフィルタの特性に依存する。フィルタにおいて用いられる遅延器の遅延時間が長ければ、その数は大きくなる。以下の説明においては、例として、１秒間分のサンプル値、すなわち４４１００個のサンプル値がＲＡＭ６４に記録された時点で、ＣＰＵ６２は管理用イベント生成処理の実行命令を送信するものとする。
【００５３】
管理用イベント生成処理とは、ＲＡＭ６４に記録される音声データの示す音声波形に対し、ある周波数以下の周波数帯の成分を取り出すフィルタ処理と、その周波数より低い周波数以下の周波数帯の成分を取り出すフィルタ処理とを行い、それら２つのフィルタ処理により得られる値の比較判定を行うことにより、管理用イベントを生成する処理である。なお管理用イベントとは、後述するタイミング調整処理において用いられる時間情報を作成するためのフラグである。
以下、図４を参照しながら、管理用イベント生成処理を説明する。
【００５４】
ＤＳＰ６３はＣＰＵ６２より管理用イベント生成処理の実行命令を受信すると、ＲＡＭ６４に記録されているサンプル値の先頭から４４１００個、すなわち（Ｒ（０），Ｌ（０））〜（Ｒ（４４０９９）、Ｌ（４４０９９））を読み出す（ステップＳ１）。以下、４４１００個の一連のサンプル値を「未加工音声データ」と呼び、未加工音声データを区別する必要がある場合には、（Ｒ（ｎ），Ｌ（ｎ））を末尾とする未加工音声データを「未加工音声データ（ｎ）」のように表す。すなわち、ステップＳ１において最初にＤＳＰ６３により読み出される未加工音声データは、未加工音声データ（４４０９９）である。
【００５５】
続いて、ＤＳＰ６３は読み出した未加工音声データの各サンプル値の左右の値を相加平均することにより、ステレオのデータをモノラルのデータに変換する（ステップＳ２）。このモノラルへの変換処理は、このステップより後の処理のＤＳＰ６３への負荷を軽減するための処理である。
【００５６】
続いて、ＤＳＰ６３はモノラルに変換された一連のサンプル値について、絶対値を求める（ステップＳ３）。このステップにおける処理は、各サンプル値のパワーの代替値を求めるための処理である。絶対値はパワーを示す二乗値よりも値が小さく処理が容易であるため、本実施形態においては、各サンプル値の二乗値の代替値として絶対値が用いられる。従って、ＤＳＰ６３の処理能力が高い場合、このステップにおいて各サンプル値の絶対値の代わりに二乗値を算出してもよい。
【００５７】
続いて、ＤＳＰ６３はステップＳ３において絶対値に変換された一連のサンプル値に対し、さらにローパスフィルタを用いたフィルタ処理を行う（ステップＳ４）。ステップＳ１〜ステップＳ４の処理の結果得られる値を以下、「中期指標」と呼び、（Ｒ（ｎ），Ｌ（ｎ））に対応する中期指標を「中期指標（ｎ）」と呼ぶ。以下、例として、ステップＳ４において用いられるローパスフィルタの周波数は１００Ｈｚとする。中期指標（ｎ）は、一連のサンプル値が示す音声波形のｎにおける中期的な変化の傾向を示す。すなわち、一連のサンプル値が示す音声波形は短期的に上下に変化するが、ローパスフィルタによるフィルタ処理を施された一連のサンプル値は、先行する複数のサンプル値により値の変化が抑制される。その結果、一連の中期指標が示す音声波形からは短期的な変動要素が取り除かれ、中期的および長期的な変動要素のみが残る。ステップＳ４の処理により、中期指標（ｎ）を末尾とする一連の中期指標、すなわち・・・中期指標（ｎ−２）、中期指標（ｎ−１）、中期指標（ｎ）が作成される。ＤＳＰ６３はこれらの中期指標をＲＡＭ６４に記録する（ステップＳ５）。
【００５８】
続いて、ＤＳＰ６３はステップＳ４において得られる一連の中期指標に対し、くし形フィルタを用いたフィルタ処理を行う（ステップＳ６）。このステップにおける処理は、一連の中期指標が示す音声波形から、さらに、一定周波数以下の低周波数帯の成分を取り出すための処理である。このステップはステップＳ４で用いるローパスフィルタの周波数よりも低い周波数のローパスフィルタを用いる処理と同様であるが、くし形フィルタはローパスフィルタと比較して、通常、ＤＳＰ６３への負荷が小さいため、本実施形態においてはローパスフィルタがくし形フィルタで代用されている。
【００５９】
図５は、ステップＳ６において利用可能なくし形フィルタの一例について、その構成を示している。図５において、四角形で示される処理は遅延処理を示し、ｚ−ｋにおけるｋは、その遅延処理における遅延時間が（サンプリング周期×ｋ）であることを意味する。前述のとおり、音楽ＣＤのサンプリング周波数は４４１００Ｈｚであるため、サンプリング周期は１／４４１００秒である。一方、三角形で示される処理は乗算処理を示し、三角形の中に示される値が乗算の係数を示す。以下、例として、ｋ＝２２０５０とし、その結果、ステップＳ６のフィルタ処理により、１Ｈｚより高い周波数帯の成分がおおよそ取り除かれる。すなわち、ステップＳ６の処理の結果得られる一連の値が示す音声波形は、一連の中期指標が示す音声波形から中期的な変動要素を取り除き、長期的な変動要素のみを取り出したものとなる。
【００６０】
続いて、ＤＳＰ６３は、ステップＳ６のフィルタ処理により得られる一連の値のそれぞれに対し、正の定数ｈを乗ずる（ステップＳ７）。このｈによる乗算処理は、次のステップＳ８における比較判定処理において肯定的な結果が得られる頻度を調整する処理であり、一般的にｈの値が小さいと比較判定処理における肯定的な結果が得られる時間間隔が狭くなる。この時間間隔は、広すぎると以下のステップＳ１１における管理用イベントの生成の時間間隔が広くなり、その結果、後述するタイミング調整処理における精度が低くなる。一方、比較判定処理における肯定的な結果が得られる時間間隔が狭すぎると、以下のステップＳ１０の処理により次々とそれらの肯定的な結果がキャンセルされてしまうため、やはり管理用イベントの生成の時間間隔が広くなり、その結果、タイミング調整処理における精度が低くなる。従って、ｈの値としては、適度の頻度で管理用イベントが生成される値が経験的に用いられる。
【００６１】
ステップＳ７の処理の結果得られる値を以下、「長期指標」と呼び、（Ｒ（ｎ），Ｌ（ｎ））に対応する長期指標を「長期指標（ｎ）」と呼ぶ。ステップＳ７の処理により、長期指標（ｎ）を末尾とする一連の長期指標、すなわち・・・長期指標（ｎ−２）、長期指標（ｎ−１）、長期指標（ｎ）が作成される。ＤＳＰ６３はこれらの長期指標をＲＡＭ６４に記録する（ステップＳ８）。
【００６２】
続いて、ＤＳＰ６３は、ＲＡＭ６４から、中期指標（ｎ）と長期指標（ｎ）を読み出し、中期指標（ｎ）が長期指標（ｎ）以上であるか否かの比較判定を行う（ステップＳ９）。ステップＳ９において最初にＤＳＰ６３により読み出される中期指標および長期指標は、中期指標（４４０９９）および長期指標（４４０９９）である。この比較判定処理は、未加工音声データが示す音声波形が、（Ｒ（ｎ），Ｌ（ｎ））のサンプル値に対応する時点において、中期的に大きく変動したことを示す。すなわち、楽曲の音声波形において、１Ｈｚ〜１００Ｈｚの周波数帯に含まれる音のボリュームが急速に大きくなると、中期指標の値が長期指標の値を上回り、ステップＳ９における比較判定処理からは肯定的な結果（以下、「Ｙｅｓ」と呼ぶ）が得られる。
【００６３】
ステップＳ９の比較判定処理によりＹｅｓが得られると、ＤＳＰ６３はその時点の時刻をＲＡＭ６４に記録する。同時にＤＳＰ６３はＲＡＭ６４から、過去に行われたステップＳ９における比較判定処理でＹｅｓが得られた時刻の記録を読み出し、過去の期間τにＹｅｓが得られた記録があるか否かを判定する（ステップＳ１０）。このステップにおける判定処理は、短い時間間隔でステップＳ９における比較判定処理の結果がＹｅｓとなる場合、次のステップＳ１１において、同じく短い時間間隔で管理用イベントを生成することを防ぐための処理である。もし短い時間間隔で管理用イベントが生成されると、後述するタイミング調整処理において、記録されている管理用イベントと、新たに得られる音声データにより生成される管理用イベントとを正しく対応づけることが困難となる。ステップＳ１０の処理により、期間τ以下の時間間隔で近接して管理用イベントが生成されることが回避される。τの値としては、生成される管理用イベントが適度の時間間隔となる値が経験的に用いられる。なお、ステップＳ１０における最初の判定処理においては、先行するステップＳ９がないため、判定結果はＮｏとなる。
【００６４】
ステップＳ１０における判定処理により否定的な結果（以下、「Ｎｏ」と呼ぶ）が得られた場合、ＤＳＰ６３は上記の一連の処理の結果、未加工音声データの示す音声波形が、（Ｒ（ｎ），Ｌ（ｎ））に対応する時点で所定の条件を満たしたことを示す管理用イベントをＣＰＵ６２に送信する（ステップＳ１１）。
【００６５】
ステップＳ９における比較判定の結果がＮｏであった場合、ステップＳ１０における判定の結果がＹｅｓであった場合、およびステップＳ１１の処理を終了した場合、ＤＳＰ６３はＣＰＵ６２が音楽ＣＤドライブ１から新たなサンプル値、すなわち（Ｒ（ｎ＋１），Ｌ（ｎ＋１））を受信し、そのサンプル値をＲＡＭ６４に記録するまで待機する。新たなサンプル値がＲＡＭ６４に記録されると（ステップＳ１２）、ＤＳＰ６３は処理をステップＳ１に戻し、新たにＲＡＭ６４に記録されたサンプル値を末尾とする一連のサンプル値、すなわち未加工音声データ（ｎ＋１）に対し、上述したステップＳ１以下の処理を行う。
【００６６】
以上のステップＳ１〜ステップＳ１２の処理は、ｎの値を１ずつ増加させながら、ユーザが演奏データの記録終了の指示を行うまで続けられる。以上が管理用イベント生成処理の説明である。図６は、実際の音声データに対し、管理用イベント生成処理を行った場合の管理用イベント生成の様子を示す図である。なお、この図の作成においては、ステップＳ４のローフィルタとして、１段のＩＩＲ（Ｉｎｆｉｎｉｔｅ　Ｉｍｐｌｕｓｅ　Ｒｅｓｐｏｎｓｅ）フィルタが用いられている。また、ステップＳ７における定数ｈとしては４を、またステップＳ１０における期間τとしては０．５５秒が用いられている。
【００６７】
図６において、第１の管理用イベントが生成される時点Ａのすぐ後に、中期指標が長期指標を上回る時点としてＢおよびＣがあるが、管理用イベントはＡにおいてのみ生成される。なぜなら、ＢおよびＣはＡから所定の期間、すなわち０．５５秒を経過していないため、ステップＳ１０の判定の結果がＹｅｓとなり、ステップＳ１１の処理が行われないためである。
【００６８】
［１．２．１．４］ＭＩＤＩイベントの生成
上述したＤＳＰ６３による管理用イベント生成処理が行われる一方で、ユーザはピアノ３１を用いた演奏を開始する。すなわち、ユーザは発音部４から出力される音楽ＣＤ−Ａの楽曲を聴きながら、その楽曲に合わせてピアノ３１の打鍵およびペダル操作を行う。
【００６９】
ユーザのピアノ３１を用いた演奏の情報は、キーセンサ３２およびペダルセンサ３３にて鍵およびペダルの動きとして検出され、ＭＩＤＩイベント制御回路３４にてＭＩＤＩイベントに変換された後、コントローラ部６のＣＰＵ６２に送信される。
【００７０】
［１．２．１．５］イベントのＳＭＦへの記録
上述したように、ＣＰＵ６２は音楽ＣＤ−Ａの再生の間、ＤＳＰ６３から管理用イベントを、自動演奏ピアノ部３のＭＩＤＩイベント制御回路３４からＭＩＤＩイベントを受信する。図７は、管理用イベントの生成とＭＩＤＩイベントの生成の時間的な関係を示す模式図である。ＣＰＵ６２は計時を開始してから、すなわち音楽ＣＤドライブ１から最初のサンプル値を受信した時点から、０．１３秒、０．８１秒、１．４５秒・・・の時間が経過した時点で管理用イベントを受信する。また、ＣＰＵ６２は計時を開始してから、０．４９秒、１．２３秒、２．１８秒・・・の時間が経過した時点でＭＩＤＩイベントを受信する。
【００７１】
ＣＰＵ６２は管理用イベントを受信すると、管理用イベントを示すシステムエクスクルーシブイベントを生成し、生成したシステムエクスクルーシブイベントに対し、管理用イベントの受信時点における経過時間を示すデルタタイムを付して、ＲＡＭ６４に記録する。同様に、ＣＰＵ６２はＭＩＤＩイベントを受信すると、受信したＭＩＤＩイベントに対し、ＭＩＤＩイベントの受信時点における経過時間を示すデルタタイムを付して、ＲＡＭ６４に記録する。
【００７２】
音楽ＣＤ−Ａの楽曲の再生が終了し、ピアノ３１を用いたユーザによる演奏も終了すると、ユーザは演奏データの記録終了に対応する操作表示部５のキーパッドを押下する。操作表示部５は押下されたキーパッドに対応する信号をコントローラ部６に送信する。ＣＰＵ６２は、操作表示部５から演奏データの記録終了を示す信号を受信すると、音楽ＣＤドライブ１に音楽ＣＤの再生停止命令を送信する。この再生停止命令に応じて、音楽ＣＤドライブ１は音楽ＣＤ−Ａの再生を停止する。
【００７３】
続いて、ＣＰＵ６２は、ＲＡＭ６４に記録した管理用イベントを示すシステムエクスクルーシブイベントおよびＭＩＤＩイベントを、対応するデルタタイムと共に読み出し、それらのデータを組み合わせ、ＳＭＦのトラックチャンクを生成する。さらに、ＣＰＵ６２は作成したトラックチャンクに対し、これに応じたヘッダチャンクを付加し、ＳＭＦを生成する。図８は、ＣＰＵ６２が生成するＳＭＦの概略を示す図である。ＣＰＵ６２は、ＳＭＦの生成を完了すると、生成したＳＭＦを書込命令と共にＦＤドライブ２に送信する。ＦＤドライブ２はＣＰＵ６２から書込命令およびＳＭＦを受信すると、ＳＭＦをセットされているＦＤに書き込む。
【００７４】
［１．２．２］再生動作
続いて、上述した方法によって記録されたＳＭＦを再生し、音楽ＣＤの音声データとＳＭＦのＭＩＤＩデータを同期させる際の動作を説明する。以下の再生動作において用いられる音楽ＣＤは、上述した記録動作において用いられた音楽ＣＤ−Ａと同じ楽曲を含んでいるが、版が異なっており、音楽ＣＤに含まれる楽曲の演奏速度がわずかに異なっている。また、この音楽ＣＤに含まれる音声データは、マスタデータに対する音響効果等の編集が加えられているため、音楽ＣＤ−Ａに含まれる音声データと、その内容にわずかの差異があり、音声データの示す音声波形のレベルも異なっている。従って、以下に説明する再生動作において用いられる音楽ＣＤを音楽ＣＤ−Ａと区別するため、音楽ＣＤ−Ｂと呼ぶ。
【００７５】
［１．２．２．１］再生の開始操作
ユーザは、音楽ＣＤ−Ｂを音楽ＣＤドライブ１に、またＳＭＦの記録されたＦＤをＦＤドライブ２にセットする。続いて、ユーザは演奏データの再生開始に対応する操作表示部５のキーパッドを押下する。操作表示部５は押下されたキーパッドに対応する信号をコントローラ部６に出力する。
【００７６】
ＣＰＵ６２は操作表示部５から演奏データの再生開始を指示する信号を受信すると、まずＦＤドライブ２に対しＳＭＦの送信命令を送信する。ＦＤドライブ２はこのＳＭＦの送信命令に応じて、ＦＤからＳＭＦを読み出し、読み出したＳＭＦをコントローラ部６に送信する。ＣＰＵ６２はＦＤドライブ２からＳＭＦを受信し、受信したＳＭＦをＲＡＭ６４に記録する。
【００７７】
続いて、ＣＰＵ６２は音楽ＣＤドライブ１に音楽ＣＤの再生命令を送信する。この再生命令に応じて、音楽ＣＤドライブ１は音楽ＣＤ−Ｂに記録されている音声データをコントローラ部６に順次送信する。コントローラ部６は音楽ＣＤドライブ１から、１／４４１００秒ごとに左右１組のデータを受信する。ここでＣＰＵ６２が音楽ＣＤドライブ１から受信するデータの値を（ｒ（ｎ），ｌ（ｎ））と表す。なお、ｒ（ｎ）およびｌ（ｎ）の値の範囲、ｎおよび以下で用いる「サンプル値」の定義は、Ｒ（ｎ）およびＬ（ｎ）におけるものと同様である。
【００７８】
［１．２．２．２］音声データの発音部への送信
ＣＰＵ６２は音楽ＣＤドライブ１からサンプル値、すなわち（ｒ（０），ｌ（０））、（ｒ（１），ｌ（１））、（ｒ（２），ｌ（２））、・・・を受信すると、受信したサンプル値を発音部４に送信する。発音部４はコントローラ部６からサンプル値を受信すると、これを音に変換し出力する。その結果、ユーザは音楽ＣＤ−Ｂに記録されている楽曲を聴くことができる。
【００７９】
［１．２．２．３］管理用イベントの生成
ＣＰＵ６２は受信したサンプル値を発音部４に送信すると同時に、受信したサンプル値を順次、ＲＡＭ６４に記録する。ＣＰＵ６２は所定数のサンプル値をＲＡＭ６４に記録すると、ＤＳＰ６３に対し、管理用イベント生成処理の実行命令を送信する。ＤＳＰ６３はこの実行命令を受信すると、ＲＡＭ６４に順次記録される音楽ＣＤ−Ｂの一連のサンプル値に対し、図４を用いて説明した管理用イベント生成処理を行う。その結果、ＤＳＰ６３は図４のステップＳ１０の判定結果がＮｏとなるタイミングで、順次、ＣＰＵ６２に対し管理用イベントを送信する。
【００８０】
［１．２．２．４］ＭＩＤＩイベントの再生
一方、ＣＰＵ６２は音楽ＣＤドライブ１から最初のサンプル値、すなわち（ｒ（０），ｌ（０））を受信すると、その時点を０秒とし計時を開始する。この計時による経過時間を「時間Ｔ」と呼ぶ。同時に、ＣＰＵ６２はＲＡＭ６４からＳＭＦを読み出し、その時点の時間Ｔと、ＳＭＦに含まれるデルタタイムを順次比較する。時間Ｔとデルタタイムが一致した場合、もしそのデルタタイムに対応するイベントがＭＩＤＩイベントである場合、ＣＰＵ６２はそのＭＩＤＩイベントを自動演奏ピアノ部３に送信する。
【００８１】
自動演奏ピアノ部３において、ＭＩＤＩイベント制御回路３４はＭＩＤＩイベントをＣＰＵ６２から受信すると、受信したＭＩＤＩイベントを音源３５もしくは駆動部３６に送信する。音源３５にＭＩＤＩイベントが送信される場合、音源３５は受信されるＭＩＤＩイベントに従い、楽器の音を示す音声データを順次、発音部４に送信する。発音部４は、既に再生されている音楽ＣＤ−Ｂの楽曲の音と共に、音源３５から受信される楽器音による演奏をスピーカ４４から出力する。一方、駆動部３６にＭＩＤＩイベントが送信される場合、駆動部３６は受信されるＭＩＤＩイベントに従い、ピアノ３１の鍵およびペダルを動かす。いずれの場合においても、ユーザは音楽ＣＤ−Ｂに記録された楽曲と、ＳＭＦに記録された演奏情報による楽器音による演奏とを同時に聴くことができる。
【００８２】
しかしながら、既述のとおり、音楽ＣＤ−Ｂに記録されている楽曲は、音楽ＣＤ−Ａに記録されている楽曲とわずかに異なる速度で録音されているため楽曲の再生が進むに従い、ＭＩＤＩイベントによる演奏と楽曲はずれていく。図９はＳＭＦに記録されているＭＩＤＩイベントおよび管理用イベントと、音楽ＣＤ−Ｂが再生される際に生成される管理用イベントおよびタイミング調整処理を施した後のＭＩＤＩイベントの時間的関係を示す図である。この図の例では、音楽ＣＤ−Ｂに音声データが記録された際に用いられたクロック周波数が、音楽ＣＤ−Ａに音声データが記録された際に用いられたクロック周波数よりもやや大きかったため、その結果、同じ音楽ＣＤドライブ１により再生した場合、音楽ＣＤ−Ｂに記録された楽曲が音楽ＣＤ−Ａに記録された楽曲よりも速く演奏されている。従って、ＳＭＦに記録されているデルタタイムに従いＭＩＤＩイベントを自動演奏ピアノ部３に送信すると、自動演奏ピアノ部３による自動演奏は音楽ＣＤ−Ｂの楽曲に対し遅れてしまう。そのようなＭＩＤＩイベントによる演奏と音楽ＣＤの再生における時間的ずれを調整するため、ＣＰＵ６２はＳＭＦに記録されているＭＩＤＩイベントに対し、以下に説明するタイミング調整処理を行う。
【００８３】
タイミング調整処理とは、音楽ＣＤ−Ｂの音声データに基づき生成される管理用イベントの生成のタイミングと、ＳＭＦに記録されている管理用イベントのデルタタイムとを用いて、ＭＩＤＩイベントのデルタタイムを調整する処理である。以下、ＳＭＦに記録されている管理用イベントを「管理イベントＡ」、音楽ＣＤ−Ｂの音声データに基づき生成される管理用イベントを「管理イベントＢ」と呼ぶ。
【００８４】
ＣＰＵ６２はＤＳＰ６３から管理用イベントＢを受信すると、その受信のタイミングをＲＡＭ６４に記録する。一方、ＣＰＵ６２は、時間Ｔとデルタタイムが一致し、そのデルタタイムに対応するイベントが管理用イベントである場合、そのデルタタイムの示す時間の前後一定の期間に管理用イベントＢが受信されるか否かの監視を行う。以下の説明では例として、ＣＰＵ６２は管理用イベントＡのデルタタイムの前０．２秒および後０．２秒の間、管理用イベントＢの受信を監視するものとする。すなわち、ＣＰＵ６２は管理用イベントＡのデルタタイムの示す時間の前０．２秒の間にＲＡＭ６４に管理用イベントＢの受信の記録があるか否かを確認する。続いて、ＣＰＵ６２は管理用イベントＡのデルタタイムの示す時間から０．２秒が経過するまで、管理用イベントＢが受信されないか、監視する。管理用イベントＡのデルタタイムの示す時間の前後に管理用イベントＢが受信された場合、ＣＰＵ６２はそれらの管理用イベントＡと管理用イベントＢは音楽ＣＤ−Ａおよび音楽ＣＤ−Ｂの音声データの対応する部分から生成された管理用イベントであると判断する。そして、ＣＰＵ６２は、ＳＭＦのまだ実行されていないＭＩＤＩイベントおよび管理用イベントのデルタタイムに対し、（管理用イベントＢの受信時間／管理用イベントＡのデルタタイム）を乗ずる。これは管理用イベントＢの受信時間を基準とし、ＳＭＦにおけるデルタタイムを調整する処理である。ＣＰＵ６２はこのデルタタイムの調整処理を楽曲の終わりまで繰り返す。
【００８５】
図１０はタイミング調整処理の様子を示すデータ例である。このデータ例によれば、まず０．１３秒の時点で第１の管理用イベントＡのデルタタイムと時間Ｔが一致する。従ってＣＰＵ６２はその時間より前の０．２秒間に管理用イベントＢが受信されているかを確認する。この場合、０．１１秒の時点で第１の管理用イベントＢが受信されているので、ＣＰＵ６２はこれらの管理用イベントが対応したものであると判断する。
【００８６】
続いて、ＣＰＵ６２は管理用イベントＡのデルタタイム０．１３秒と、管理用イベントＢの受信タイミングである０．１１秒を用いて、まだ処理のされていないＭＩＤＩイベントおよび管理用イベントＡのデルタタイムに（０．１１／０．１３）を乗ずる。その結果、１回目の調整後のデルタタイムは第１のＭＩＤＩイベント：０．４１秒、第２の管理イベント：０．６９秒、第２のＭＩＤＩイベント：１．０４秒・・・となる。
その後、０．４１秒の時点で第１のＭＩＤＩイベントのデルタタイムと時間Ｔが一致するので、ＣＰＵ６２はこの第１のＭＩＤＩイベントを自動演奏ピアノ部３に送信する。
【００８７】
その後、０．６９秒の時点で、第２の管理用イベントＡのデルタタイムと時間Ｔが一致するので、ＣＰＵ６２はその時間より前の０．２秒間に管理用イベントＢが受信されているかを確認する。この場合、０．７５秒の時点で第２の管理用イベントＢが受信されているので、ＣＰＵ６２はこれらの管理用イベントが対応したものであると判断する。その結果、第１の管理用イベントＡの場合と同様に、ＣＰＵ６２はまだ処理のされていないＭＩＤＩイベントおよび管理用イベントＡのデルタタイムに（０．７５／０．６９）を乗ずる。その結果、２回目の調整後のデルタタイムは、第２のＭＩＤＩイベント：１．１４秒、第３の管理イベント：１．３４秒、第３のＭＩＤＩイベント：２．０２秒・・・となる。
その後、１．１４秒の時点で第２のＭＩＤＩイベントのデルタタイムと時間Ｔが一致するので、ＣＰＵ６２はこの第２のＭＩＤＩイベントを自動演奏ピアノ部３に送信する。
【００８８】
以下、同様の処理が楽曲の最後まで繰り返されるが、図１０のデータ例の場合、第４の管理用イベントＡは、デルタタイムの示すタイミングの前０．２秒および後０．２秒の間に管理用イベントＢがないため、無視される。同様に、第８の管理用イベントＢは生成のタイミングの前０．２秒および後０．２秒の間に管理用イベントＡがないため、無視される。
【００８９】
以上のようにタイミング調整処理が施されたデルタタイムに従い、ＭＩＤＩイベントが自動演奏ピアノ部３に送信される結果、図９の下段に示すように、音楽ＣＤ−Ｂの楽曲の再生に対し、ほぼ正しいタイミングでＭＩＤＩイベントの再生が行われる。
【００９０】
なお、上述した例とは逆に、音楽ＣＤ−Ｂに記録された楽曲が音楽ＣＤ−Ａに記録された楽曲よりも遅く演奏される場合においても、同様の処理によりＭＩＤＩイベントの再生のタイミングが調整される。従って、その説明は省略する。
【００９１】
［２］第２実施形態
本発明の第２実施形態おいては、音楽ＣＤに記録された音声データと、ＳＭＦに記録されたＭＩＤＩイベントの再生の同期調整に、音楽ＣＤに記録されているタイムコードが利用される。また、タイミング調整処理を行うにあたり、まず音楽ＣＤの音声データに対する管理用イベント生成処理を楽曲の最後まで終えた後、回帰分析を用いて求められる値により、タイミング調整処理が行われる。
【００９２】
［２．１］音楽ＣＤドライブ
第２実施形態における全体構成、各構成部の機能、およびＭＩＤＩデータにおけるデータフォーマットは、音楽ＣＤドライブ１の機能を除いて、第１実施形態におけるものと同様であるため、音楽ＣＤドライブ１の機能についてのみ説明し、他の説明は省略する。
第２実施形態において、音楽ＣＤドライブ１は、音楽ＣＤに記録されている音声データと共に、タイムコードをコントローラ部６に送信する。その他の点は、第１実施形態における音楽ＣＤドライブ１と同様である。
【００９３】
［２．２］動作
第２実施形態における同期記録再生装置ＳＳの動作については、以下の３点が第１実施形態と異なる。
（１）演奏データの記録動作において、ＳＭＦに記録される管理用イベントおよびＭＩＤＩイベントのデルタタイムとして、それらのイベントの受信時点に対応するタイムコードが記録される。
（２）演奏データの再生動作において、音楽ＣＤの音声データがまず最後まで再生され、その音声データに対する管理用イベント生成処理が行われる。その結果得られる管理用イベントと、ＳＭＦに記録されている管理用イベントの時間情報に関し、回帰直線が求められ、その回帰直線に基づきＭＩＤＩイベントに対応するデルタタイムが調整される。このタイミング調整処理が終了した後、再度音楽ＣＤの再生が行われ、その再生に対し、ＭＩＤＩイベントが同期再生される。
（３）演奏データの再生動作において、ＭＩＤＩイベントは音楽ＣＤドライブ１から送信されるタイムクロックに基づいて自動演奏ピアノ部３に送信される。
【００９４】
第２実施形態における他の動作は、第１実施形態におけるものと同様であるので、その詳細な説明は省略する。なお、以下の説明において、第１実施形態と同様に記録動作においては音楽ＣＤ−Ａが、再生動作においては音楽ＣＤ−Ｂが用いられるものとする。また、タイムコードの表現形式には、時間、分、秒、およびフレームが用いられるが、ＳＭＦに記録されるデルタタイムと同様に、以下の説明においては簡易化のため、タイムコードの示す時間情報を秒で表す。
【００９５】
［２．２．１］記録動作
第２実施形態の同期記録再生装置ＳＳにおいて、ユーザが操作表示部５を用いて演奏データの記録開始の指示を行うと、音楽ＣＤ−Ａの音声データが、タイムコードと共に音楽ＣＤドライブ１からコントローラ部６に順次送信される。
【００９６】
コントローラ部６において、ＣＰＵ６２は受信した音声データのサンプル値を順次発音部４に送信する。その結果、発音部４からは音楽ＣＤ−Ａの楽曲が音として出力される。その一方で、ＣＰＵ６２は受信したサンプル値をタイムコードとともに順次ＲＡＭ６４に記録する。
【００９７】
ＣＰＵ６２は所定数のサンプル値をＲＡＭ６４に記録すると、ＤＳＰ６３に対し、管理用イベント生成処理の実行命令を送信する。ＤＳＰ６３はこの実行命令を受信すると、ＲＡＭ６４に順次記録される音楽ＣＤ−Ａの一連のサンプル値に対し、管理用イベント生成処理を行う。第２実施形態における管理用イベント生成処理は、図４を用いて説明した第１実施形態における管理用イベント生成処理と同じである。その結果、ＤＳＰ６３は図４のステップＳ１０の判定結果がＮｏとなるタイミングで、順次、ＣＰＵ６２に対し管理用イベントを送信する。ＣＰＵ６２は管理用イベントを受信すると、管理用イベントを示すシステムエクスクルーシブイベントを生成する。続いて、ＣＰＵ６２は管理用イベントの受信の直前にし、音楽ＣＤドライブ１から受信したタイムコードの示す時間をデルタタイムの形式に変換した後、そのデルタタイムを、管理用イベントを示すシステムエクスクルーシブイベントに対応付けて、ＲＡＭ６４に記録する。
【００９８】
一方、ユーザは発音部４から音として出力される音楽ＣＤ−Ａの楽曲を聴きながら、ピアノ３１を用いた演奏を行う。ユーザの演奏の情報は、ＭＩＤＩイベントとしてＭＩＤＩイベント制御回路３４からＣＰＵ６２に送信される。ＣＰＵ６２は、ＭＩＤＩイベント制御回路３４からＭＩＤＩイベントを受信すると、その直前に音楽ＣＤドライブ１から受信したタイムコードの示す時間をデルタタイムの形式に変換し、そのデルタタイムをＭＩＤＩイベントと対応付けて、ＲＡＭ６４に記録する。
【００９９】
その後、ユーザにより演奏データの記録終了の指示がなされると、音楽ＣＤドライブ１は音楽ＣＤ−Ａの再生を停止する。また、ＣＰＵ６２はＲＡＭ６４に記録した管理用イベントを示すシステムエクスクルーシブイベントおよびＭＩＤＩイベントを、対応するデルタタイムと共に読み出し、それらのデータを組み合わせ、図９に示したものと同様のＳＭＦを生成する。ただし、第２実施形態におけるＳＭＦのデルタタイムは音楽ＣＤ−Ａのタイムコードに基づいており、ＣＰＵ６２の計時によるものではない。このように生成されたＳＭＦはＦＤドライブ２に送信され、ＦＤドライブ２によりセットされているＦＤに書き込まれる。
【０１００】
［２．２．２］再生動作
続いて、上述した方法によって記録されたＳＭＦを再生し、音楽ＣＤ−Ｂの音声データとＳＭＦのＭＩＤＩデータを同期させる際の動作を説明する。
ユーザが操作表示部５を用いて演奏データの再生開始の指示を行うと、まずＦＤドライブ２からＦＤに記録されているＳＭＦがＣＰＵ６２に送信され、ＣＰＵ６２は受信したＳＭＦをＲＡＭ６４に記録する。続いて、音楽ＣＤドライブ１は音楽ＣＤ−Ｂの再生を開始し、音楽ＣＤ−Ｂに記録されている音声データとタイムコードがコントローラ部６に順次送信される。ＣＰＵ６２は、音声データをタイムコードと共にＲＡＭ６４に記録する。ただし、ＣＰＵ６２は受信した音声データを発音部４には送信せず、従ってユーザには音楽ＣＤ−Ｂの楽曲は聴こえない。
【０１０１】
ＣＰＵ６２は所定数のサンプル値をＲＡＭ６４に記録すると、ＤＳＰ６３に対し、管理用イベント生成処理の実行命令を送信する。ＤＳＰ６３はこの実行命令を受信すると、ＲＡＭ６４に順次記録される音楽ＣＤ−Ｂの一連のサンプル値に対し、管理用イベント生成処理を行う。その結果、ＤＳＰ６３は図４のステップＳ１０の判定結果がＮｏとなるタイミングで、順次、ＣＰＵ６２に対し管理用イベントを送信する。ＣＰＵ６２は管理用イベントを受信すると、その直前に受信したタイムコードの示す時間をデルタタイムの形式に変換した後、そのデルタタイムをＲＡＭ６４に記録する。以下、ＳＭＦに記録されている管理用イベントを「管理用イベントＡ」、ＳＭＦに記録されているデルタタイムを「デルタタイムＡ」、音楽ＣＤ−Ｂの音声データにより生成される管理用イベントを「管理用イベントＢ」、音楽ＣＤ−Ｂのタイムコードに従い、管理用イベントＢの受信に対し記録されるデルタタイムを「デルタタイムＢ」と呼ぶ。
【０１０２】
音楽ＣＤ−Ｂの再生が楽曲の最後に至ると、音楽ＣＤドライブ１は音楽ＣＤ−Ｂの再生を終了する。続いて、ＣＰＵ６２はデルタタイムＡとデルタタイムＢをＲＡＭ６４から読み出し、第１実施形態におけるタイミング調整処理と同様のデルタタイムの調整処理を行う。図１１は第２実施形態におけるデルタタイムの調整の様子を示すデータ例である。図１１において、デルタタイムおよび管理用イベントＢの受信のタイミングは音楽ＣＤ−Ｂのタイムコードに基づいている点が第１実施形態と異なる。また、ＭＩＤＩイベントに対するデルタタイムの調整はこの段階では行われない。他の点は第１実施形態におけるタイミング調整処理と同様であるため、その説明は省略する。このデルタタイムの調整処理により、デルタタイムＡとデルタタイムＢの対応付けがなされる。以下、第ｎ組目のデルタタイムＡの値をＡ（ｎ）、デルタタイムＢの値をＢ（ｎ）と表す。また、それらの組を（Ａ（ｎ），Ｂ（ｎ））のように表す。従って、（Ａ（１），Ｂ（１））＝（０．１３，０．１１）、（Ａ（２），Ｂ（２））＝（０．８１，０．７５）、（Ａ（３），Ｂ（３））＝（１．４５，１．３６）・・・、となる。
【０１０３】
続いて、ＣＰＵ６２はこれらの（Ａ（ｎ），Ｂ（ｎ））に対し、最小二乗法による回帰直線を求める。なお、回帰直線の代わりに回帰曲線や、その他の近似曲線を求めてもよい。実際には楽曲全体の音声データについて得られる（Ａ（ｎ），Ｂ（ｎ））に対し回帰直線が求められるが、以下、説明のため、図１１から得られる９組のデータを用いて回帰直線を求めることとする。
【０１０４】
図１２は９組の（Ａ（ｎ），Ｂ（ｎ））と、それに対する回帰直線をグラフで表したものである。回帰直線を示す式は、Ｂ＝０．９４１４Ａ−０．００６となる。この式は、音楽ＣＤ−Ｂのタイムコードを基準とした場合、音楽ＣＤ−Ｂの音声データの開始時点に対しＳＭＦの演奏データの開始時点が０．００６秒遅れており、また演奏の速度が５．８６％遅いことを示す。従って、ＣＰＵ６２は、算出したこの回帰直線の式のＡに対し、ＳＭＦに記録されているＭＩＤＩイベントのデルタタイムの値を代入することにより、各デルタタイムに対するタイミング調整を行う。図１３にこのタイミング調整を行う前のデルタタイムと、調整を行った後のデルタタイムを示す。このＣＰＵ６２のタイミング調整は、ＳＭＦの各イベントのデルタタイムを全体として５．８６％だけ減少させ、さらに０．００６秒だけ前倒しにすることを意味する。ＣＰＵ６２はタイミング調整を終えたデルタタイムで、ＳＭＦのＭＩＤＩイベントに対するデルタタイムを更新する。
【０１０５】
ＣＰＵ６２は、このタイミングの調整処理を終えると、音楽ＣＤドライブ１に対し、再度、音楽ＣＤ−Ｂの再生命令を送信する。この再生命令に応じ、音楽ＣＤドライブ１は音楽ＣＤ−Ｂの再生を開始し、音楽ＣＤ−Ｂに記録されている音声データとタイムコードがコントローラ部６に順次送信される。ＣＰＵ６２は受信した音声データを順次発音部４に送信し、発音部４からは音楽ＣＤ−Ｂの楽曲が音として出力される。
【０１０６】
ＣＰＵ６２は受信した音声データを順次発音部４に送信すると同時に、ＭＩＤＩイベントのデルタタイムの示す時間情報と、音楽ＣＤドライブ１から送信されてくる音楽ＣＤ−Ｂのタイムコードの示す時間情報を順次比較し、それらが一致すると、一致したデルタタイムに対応するＭＩＤＩイベントを自動演奏ピアノ部３に送信する。自動演奏ピアノ部３はＭＩＤＩイベントを受信すると、音源３５から電子的に合成した楽音の音声データを発音部４に送信するか、もしくは駆動部３６によりピアノ３１の鍵およびペダルを動かすことにより、ＭＩＤＩイベントに応じた自動演奏を行う。その結果、ユーザは音楽ＣＤ−Ｂに記録された楽曲と、ＳＭＦに記録された演奏情報による演奏とを同時に聴くことができる。
【０１０７】
［３］変形例
上述した第１実施形態および第２実施形態は、それぞれ本発明の実施形態の例示であり、上記実施形態に対しては、本発明の趣旨から逸脱しない範囲で様々な変形を加えることができる。以下、変形例を示す。
【０１０８】
［３．１］第１変形例
第１変形例においては、同期記録再生装置ＳＳの各構成部は同じ装置の中に配置されておらず、グループごとに分離して配置されている。
例えば、以下のそれぞれのグループに分離配置することが可能である。
（１）音楽ＣＤドライブ１
（２）ＦＤドライブ２
（３）自動演奏ピアノ部３
（４）ミキサ４１およびＤ／Ａコンバータ４２
（５）アンプ４３
（６）スピーカ４４
（７）操作表示部５およびコントローラ部６
さらに、コントローラ部６は、記録動作のみを行う装置と再生動作のみを行う装置とに別々に構成されていてもよい。
【０１０９】
これらの構成部のグループ間は、オーディオケーブル、ＭＩＤＩケーブル、オーディオ用光ケーブル、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）ケーブル、および専用の制御用ケーブル等で接続される。また、ＦＤドライブ２、アンプ４３、スピーカ４４等は市販のものを利用してもよい。
第１変形例によれば、同期記録再生装置ＳＳの配置の柔軟性が高まると同時に、ユーザは同期記録再生装置ＳＳの全てを新たに準備することなく、必要な構成部のみを準備することにより、必要なコストを低減できる。
【０１１０】
［３．２］第２変形例
第２変形例においては、同期記録再生装置ＳＳにおいて音楽ＣＤドライブ１およびＦＤドライブ２はない。その一方で、通信インタフェースはＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）に接続可能な機能を有し、外部の通信機器とＬＡＮおよびＷＡＮを介して接続されている。さらに、コントローラ部６はＨＤ（Ｈａｒｄ　Ｄｉｓｋ）を有している。
【０１１１】
コントローラ部６は、ＬＡＮを介して他の通信機器から、音声データとタイムコードを含むデジタルオーディオデータを受信し、受信したオーディオデータをＨＤに記録する。同様に、コントローラ部６は、ＬＡＮを介して他の通信機器から、オーディオデータに対応して作成されたＳＭＦを受信し、受信したＳＭＦをＨＤに記録する。
【０１１２】
コントローラ部６は音楽ＣＤドライブ１から音楽ＣＤの音声データおよびタイムコードを受信する代わりに、ＨＤからデジタルオーディオデータを読み出す。また、コントローラ部６はＦＤドライブ２に対しＳＭＦの書込および読出を行う代わりに、ＨＤに対し同様の動作を行う。
第２変形例によれば、ユーザはデジタルオーディオデータおよびＳＭＦを、ＬＡＮを介して地理的に離れた通信機器との間で送受信することができる。なお、ＬＡＮはインターネット等の広域通信網と接続されていてもよい。
【０１１３】
【発明の効果】
以上示したように、本発明によれば、異なる周波数のクロックに基づいて記録された等の理由により、同じ楽曲であってもわずかに異なる速度で再生される、異なる版の音声データのいずれに対しても、正しいタイミングで演奏データの同期再生を行うことができる。従って、同じ楽曲の異なる版に対し異なる演奏データを準備する必要がなく、データの作成および管理が簡便化される。
【０１１４】
なお、同じ楽曲の異なる版においては、楽曲の録音レベルが異なる場合があるが、本発明において演奏データの再生タイミングの調整に用いられる管理用イベントは、楽曲の録音レベルに関わりなく同じタイミングで生成される。なぜなら、管理用イベントの生成に用いられる２つの指標は録音レベルに対し共に比例して変化するため、その大小関係は変わらないためである。従って、録音レベルが異なる版の音声データに対しても、本発明の技術によれば、正しいタイミングで演奏データの同期再生が実現される。
【図面の簡単な説明】
【図１】本発明の第１実施形態および第２実施形態に係る同期記録再生装置ＳＳの構成を示す図である。
【図２】ＭＩＤＩイベントの構成を示す図である。
【図３】ＳＭＦの構成を示す図である。
【図４】本発明の第１実施形態および第２実施形態に係る管理用イベント生成処理のフロー図である。
【図５】本発明の第１実施形態および第２実施形態に係るくし形フィルタの構成を示す図である。
【図６】本発明の第１実施形態および第２実施形態に係る中期指標、長期指標および管理用イベントの時間的関係を示す図である。
【図７】本発明の第１実施形態および第２実施形態に係る管理用イベントの生成とＭＩＤＩイベントの生成の時間的な関係を示す模式図である。
【図８】本発明の第１実施形態および第２実施形態に係るＳＭＦの概略を示す図である。
【図９】本発明の第１実施形態に係るタイミング調整前のＭＩＤＩイベント、タイミング調整後のＭＩＤＩイベント、および管理用イベントの時間的関係を示す図である。
【図１０】本発明の第１実施形態に係るタイミング調整処理の様子を示すデータ例である。
【図１１】本発明の第２実施形態に係るタイミング調整処理の様子を示すデータ例である。
【図１２】本発明の第２実施形態に係る管理用イベントのデルタタイムに対する回帰直線を示す図である。
【図１３】本発明の第２実施形態に係るデルタタイムの調整処理の様子を示すデータ例である。
【図１４】本発明の第２実施形態に係るタイミング調整前のＭＩＤＩイベント、タイミング調整後のＭＩＤＩイベント、および管理用イベントの時間的関係を示す図である。
【符号の説明】
１・・・音楽ＣＤドライブ、２・・・ＦＤドライブ、３・・・自動演奏ピアノ部、４・・・発音部、５・・・操作表示部、６・・・コントローラ部、３１・・・ピアノ、３２・・・キーセンサ、３３・・・ペダルセンサ、３４・・・ＭＩＤＩイベント制御回路、３５・・・音源、３６・・・駆動部、４１・・・ミキサ、４２・・・Ｄ／Ａコンバータ、４３・・・アンプ、４４・・・スピーカ、６１・・・ＲＯＭ、６２・・・ＣＰＵ、６３・・・ＤＳＰ、６４・・・ＲＡＭ、６５・・・通信インタフェース。
【図１】
2004085610.tif 000003
【図２】
2004085610.tif 000004
【図３】
2004085610.tif 000005
【図４】
2004085610.tif 000006
【図５】
2004085610.tif 000007
【図６】
2004085610.tif 000008
【図７】
2004085610.tif 000009
【図８】
2004085610.tif 000010
【図９】
2004085610.tif 000011
【図１０】
2004085610.tif 000012
【図１１】
2004085610.tif 000013
【図１２】
2004085610.tif 000014
【図１３】
2004085610.tif 000015
【図１４】
2004085610.tif 000016