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