JP3969249B2 - 音声データと演奏データの同期再生を行うための装置および方法 - Google Patents
音声データと演奏データの同期再生を行うための装置および方法 Download PDFInfo
- Publication number
- JP3969249B2 JP3969249B2 JP2002242482A JP2002242482A JP3969249B2 JP 3969249 B2 JP3969249 B2 JP 3969249B2 JP 2002242482 A JP2002242482 A JP 2002242482A JP 2002242482 A JP2002242482 A JP 2002242482A JP 3969249 B2 JP3969249 B2 JP 3969249B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- music
- audio data
- time
- event
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、オーディオデータの再生に同期して、楽曲の演奏制御に関する情報を含む演奏データの再生を行う装置および方法に関する。
【0002】
【従来の技術】
楽曲を再生するための手段として、音楽CD(Compact Disc)などの記憶媒体から音声データを読み出し、読み出された音声データから音声を生成して出力する装置がある。また、楽曲を再生するための他の手段として、FD(Floppy disk)などの記憶媒体から楽曲の演奏制御に関する情報を含むデータを読み出し、読み出されたデータを用いて音源装置の発音を制御することにより自動演奏を行う装置がある。楽曲の演奏制御に関する情報を含むデータとしては、MIDI(Musical Instrument Digital Interface)規格に従って作成されたMIDIデータがある。
【0003】
最近では、音楽CDに記録される音声データの再生に対し、MIDIデータによる自動演奏を同期させる方法が提案されている。その中の1つとして、音楽CDに記録されているタイムコードを用いる方法がある(例えば、特許文献1および特許文献2参照)。以下、この方法について説明する。
【0004】
まず、音楽CD再生装置により音楽CDの音声データおよびタイムコードが再生される。そして、音声データは音として出力され、タイムコードは記録装置に供給される。ここで、タイムコードは、あるまとまった単位の音声データに対応付けられたデータであり、各タイムコードは、楽曲の開始時点から当該タイムコードに対応した音声データの再生タイミングまでの経過時間を表している。また、音楽CDの再生に合わせて、楽器の演奏が行われ、楽器から記録装置にMIDIデータが順次供給される。記録装置は、楽器からMIDIデータを受け取ると、MIDIデータをその受信のタイミングを示す時間情報とともに記録媒体に記録する。また、記録装置は、タイムコードを音楽CD再生装置から受け取ると、これをその受信タイミングを示す時間情報とともに記録媒体に記録する。その結果、記録媒体には、タイムコードとMIDIデータとが混在したファイルが作成される。このファイルにおいて、各タイムコードとMIDIデータは、楽曲再生開始時刻から各々の再生時刻までの経過時間を表す時間情報を伴っている。
【0005】
このようにしてMIDIデータおよびタイムコードが記録媒体に記録されると、以後、同一楽曲の音声データが音楽CDから再生されるとき、これに同期させて記録媒体からMIDIデータを読み出し、自動演奏を行うことができる。その動作は次の通りである。
【0006】
まず、音楽CD再生装置により音楽CDから音声データとタイムコードが再生される。そして、音声データは、音として出力され、タイムコードはMIDIデータの再生装置に供給される。それと同時に再生装置は、ファイルに記録されているMIDIデータを、ともに記録されている時間情報に従って読み出し、MIDIデータによる自動演奏が可能な楽器に順次送信する。その際、再生装置は音楽CD再生装置から受信するタイムコードと、MIDIデータとともにファイルから読み出されるタイムコードとに基づき、音楽CDの音声データの再生とMIDIデータの再生の時間的ずれを調整する。その結果、音楽CDの音声データとMIDIデータの同期再生が実現される。
【0007】
特許文献1: 特願2002−7872
特許文献2: 特願2002−7873
【0008】
【発明が解決しようとする課題】
しかしながら、同じ楽曲であっても異なるタイムコードが付された音楽CDに関しては、音楽CDのタイムコードを用いる方法により、音楽CDの音声データとMIDIデータの同期再生を実現することはできない。
【0009】
現在、同じ楽曲について、異なる版の音楽CDが数多くある。音楽CDには通常、楽曲のマスタデータに対しリバーブ等の音響効果を加えるなどの編集が施された音声データが記録されている。そのような異なる版の音楽CDにおいては、楽曲の開始までのオフセット時間が異なる場合がある。また、編集後の音声データを記録する際に用いられるクロックの速度はマスタデータが記録された際に用いられたクロックの速度と厳密に一致しない場合がある。その結果、異なる編集の施された音声データを記録する、異なる版の音楽CDには、わずかに時間間隔の異なるタイムコードが付されている場合がある。そのような場合において、従来のタイムコードを用いる技術により作成された同期演奏用のMIDIデータを、同じ楽曲の異なる版の音楽CDに対し用いると、楽曲の先頭において音楽CDの楽曲とMIDIデータによる演奏がずれたり、楽曲の先頭では音楽CDの楽曲とMIDIデータによる演奏の同期がとれていても、時間の経過に伴い、徐々に音楽CDの楽曲とMIDIデータによる演奏がずれてきたりする。
【0010】
従って、従来のタイムコードを用いる技術によれば、同じ楽曲の音声データを記録する音楽CDであっても、それぞれの音楽CDの版に対して付されているタイムコードの時間間隔のバリエーションに応じて、異なる同期演奏用のMIDIデータを準備しなければならないという問題があった。
【0011】
上述した状況に鑑み、本発明は、同じ楽曲の音声データであっても、記録時に用いられたクロックの速度が互いに異なる等の理由により互いに異なる時間間隔で記録された複数の版の音声データに対し、同期再生が可能なMIDIデータ等の演奏データの記録装置、再生装置、記録方法、再生方法、およびプログラムを提供することを目的とする。
【0012】
【課題を解決するための手段】
以上説明した課題を解決するため、本発明は、楽曲の音声波形を示す音声データを受信する第1受信手段と、前記第1受信手段による前記音声データの受信と同時並行して楽音発音の制御を指示する制御データを受信する第2受信手段と、前記音声データの中期的な変動要素を示す第1指標を生成する第1生成手段と、前記音声データの前記中期より長い期間となる長期的な変動要素を示す第2指標を生成する第2生成手段と、前記第1指標と前記第2指標とを比較することにより前記音声データの急激な変化を検出し、前記急激な変化を示すイベントデータを生成する第3生成手段と、前記制御データと該制御データを前記第2受信手段が受信したタイミングを示す第1時間データとを対応付けて記録するとともに、前記イベントデータと該イベントデータにより示される前記急激な変化のタイミングを示す第2時間データとを対応付けて記録する記録手段とを備えることを特徴とする記録装置を提供する。
また、本発明にかかる記録装置において、前記第1生成手段は、前記音声データが示す波形が有する周波数成分のうち一の周波数より低い周波数成分のみを含む波形を示すデータを前記第1指標として生成し、前記第2生成手段は、前記音声データが示す波形が有する周波数成分のうち前記一の周波数より低い周波数である他の周波数より低い周波数成分のみを含む波形を示すデータを前記第2指標として生成する構成としてもよい。
【0014】
また、本発明は、楽曲の音声波形を示す音声データを受信する第1受信過程と、前記第1受信過程による前記音声データの受信と同時並行して楽音発音の制御を指示する制御データを受信する第2受信過程と、前記音声データの中期的な変動要素を示す第1指標を生成する第1生成過程と、前記音声データの前記中期より長い期間となる長期的な変動要素を示す第2指標を生成する第2生成過程と、前記第1指標と前記第2指標とを比較することにより前記音声データの急激な変化を検出し、前記急激な変化を示すイベントデータを生成する第3生成過程と、前記制御データと該制御データを前記第2受信過程によって受信したタイミングを示す第1時間データとを対応付けて記録するとともに、前記イベントデータと該イベントデータにより示される前記急激な変化のタイミングを示す第2時間データとを対応付けて記録する記録過程とを備えることを特徴とする記録方法を提供する。
また、本発明にかかる記録方法において、前記第1生成過程において、前記音声データが示す波形が有する周波数成分のうち一の周波数より低い周波数成分のみを含む波形を示すデータを前記第1指標として生成し、前記第2生成過程において、前記音声データが示す波形が有する周波数成分のうち前記一の周波数より低い周波数である他の周波数より低い周波数成分のみを含む波形を示すデータを前記第2指標として生成する構成としてもよい。
【0016】
また、本発明は、これらの記録方法および再生方法を用いる処理をコンピュータに実行させるプログラムを提供する。
【0017】
また、本発明は、演奏の制御を指示する制御データおよび該演奏の制御の実行タイミングを指示する第1時間データからなる演奏データと、音声波形の急激な変化のタイミングを示す第2時間データが記録された記録媒体を提供する。
【0018】
かかる構成による装置、方法、プログラム、および記録媒体を用いると、演奏データの記録時と再生時のそれぞれにおいて、楽曲の音声波形が急激に変化するタイミングで時間調整用の時間データが生成され、記録時に生成された時間データと、再生時に生成される時間データとの比較により、制御データの送信タイミングが調整される。その結果、音声データと制御データとの同期再生が実現される。
【0019】
また、本発明にかかる記録装置は、前記音声データの再生タイミングを示すタイムコードを受信する第3受信手段を備え、前記記録手段は、前記タイムコードが示す時間情報に基づいて、前記第1時間データおよび前記第2時間データを生成する構成としてもよい。
また、本発明にかかる再生装置は、前記音声データの再生タイミングを示すタイムコードを受信する第3受信手段を備え、前記第3生成手段は、前記タイムコードが示す時間情報に基づいて前記第3時間データを生成し、前記送信手段は、前記タイムコードが示す時間情報に基づいて前記制御データの送信を行う構成としてもよい。
【0020】
かかる構成による記録装置および再生装置を用いると、再生速度にバイアスを持つ再生装置により再生される音声データに対しても、タイムコードに従った計時が行われるため、制御データの同期再生が正しく行われる。
【0021】
また、本発明にかかる記録装置において、前記第1生成手段は、前記音声データが表す音声波形に対し、第1周波数以下の周波数帯の成分を取り出すフィルタ処理を施すことにより、前記第1指標を生成し、前記第2生成手段は、前記音声データが表す音声波形に対し、前記第1周波数よりも低い第2周波数以下の周波数帯の成分を取り出すフィルタ処理を施すことにより、前記第2指標を生成する構成としてもよい。
また、本発明にかかる再生装置において、前記第1生成手段は前記音声データが表す音声波形に対し、第1周波数以下の周波数帯の成分を取り出すフィルタ処理を施すことにより、前記第1指標を生成し、前記第2生成手段は前記音声データが表す音声波形に対し、前記第1周波数よりも低い第2周波数以下の周波数帯の成分を取り出すフィルタ処理を施すことにより、前記第2指標を生成する構成としてもよい。
【0022】
かかる構成による記録装置および再生装置を用いると、好適な時間間隔および精度を有する時間調整用の時間データが得られる。
【0023】
また、本発明にかかる記録装置において、前記記録手段は、前記急激な変化を検出したタイミングから前記音声データにおける過去の一定期間に急激な変化が検出されていない場合にのみ、前記第2時間データを記録する構成としてもよい。
また、本発明にかかる再生装置において、前記第3生成手段は、前記急激な変化を検出したタイミングから前記音声データにおける過去の一定期間に急激な変化が検出されていない場合にのみ、前記第3時間データを生成する構成としてもよい。
【0024】
かかる構成による記録装置および再生装置を用いると、音声波形が頻繁に急激な変化を示す場合であっても、時間調整用の時間データの時間間隔が適度に保たれ、隣接する時間データ間における混同を生じない。
【0025】
また、本発明にかかる再生装置において、前記調整手段は、前記第2時間データと前記第3時間データとに対し回帰分析を行うことにより得られる回帰直線もしくは回帰曲線が示す値に基づき、前記演奏データの再生タイミングを調整する構成としてもよい。
【0026】
かかる構成による再生装置を用いると、時間調整用の時間データにおける誤差が全体として調整されるため、同期再生における制御データの送信タイミングの精度が高まる。
【0027】
【発明の実施の形態】
[1]第1実施形態
[1.1]構成、機能、およびデータフォーマット
[1.1.1]全体構成
図1は、本発明の第1実施形態に係る同期記録再生装置SSの構成を示す図である。同期記録再生装置SSは、音楽CDドライブ1、FDドライブ2、自動演奏ピアノ部3、発音部4、操作表示部5およびコントローラ部6により構成されている。
【0028】
音楽CDドライブ1、FDドライブ2、自動演奏ピアノ部3、発音部4および操作表示部5はそれぞれ通信線によりコントローラ部6と接続されている。また、自動演奏ピアノ部3と発音部4は、通信線により直接接続されている。
【0029】
[1.1.2]音楽CDドライブ
音楽CDに記録されているオーディオデータは、音声情報を示す音声データと、音声データの再生のタイミングを示すタイムコードを含んでいる。音楽CDドライブ1は、コントローラ部6からの指示に従って、装填された音楽CDからオーディオデータを読み出し、読み出したオーディオデータに含まれる音声データを順次出力する装置である。音楽CDドライブ1は通信線により、コントローラ部6の通信インタフェース65と接続されている。
【0030】
音楽CDドライブ1から出力される音声データは、サンプリング周波数44100Hz、量子化ビット数16の左右2チャンネルからなるデジタル音声データである。なお、音楽CDドライブ1から出力されるデータには、タイムコードは含まれていない。音楽CDドライブ1の構成は、音声データをデジタル出力可能な一般的な音楽CDドライブと同様であるため、その説明は省略する。
【0031】
[1.1.3]FDドライブ
FDドライブ2は、SMF(Standard MIDI File)をFDに記録し、またFDに記録されているSMFを読み取り、読み取ったSMFを送信する装置である。FDドライブ2は通信線により、コントローラ部6の通信インタフェース65と接続されている。なお、FDドライブ2の構成は、一般的なFDドライブと同様であるため、その説明は省略する。
【0032】
[1.1.4]MIDIイベントおよびSMF
SMFは、MIDI規格に従った演奏制御データであるMIDIイベントと、各MIDIイベントの実行タイミングを示すデータであるデルタタイムを含むファイルである。図2および図3を用いて、MIDIイベントおよびSMFのフォーマットを説明する。
【0033】
図2にはMIDIイベントの例として、ノートオンイベント、ノートオフイベント、およびシステムエクスクルーシブイベントが示されている。ノートオンイベントは楽音の発音を指示するためのMIDIイベントで、発音を示す9nH(nはチャンネル番号、Hは16進数を示す、以下同様)、音高を示すノートナンバ、および発音の強さ(もしくは打鍵の速さ)を示すベロシティから成る。同様に、ノートオフイベントは楽音の消音を指示するためのMIDIイベントで、消音を示す8nH、音高を示すノートナンバ、および消音時の強さ(もしくは鍵を離す速さ)を示すベロシティから成る。一方、システムエクスクルーシブイベントは製品やソフトウェアの製造者が自由に定めるフォーマットのデータを送受信もしくは記録するためのMIDIイベントで、システムエクスクルーシブイベントの開始を示すF0H、データ長、データ、およびシステムエクスクルーシブイベントの終了を示すF7Hから成る。このように、MIDIイベントは時間情報を持たず、リアルタイムに楽音の発音、消音、およびその他の制御を行う目的で利用される。
【0034】
図3にはSMFのフォーマットの概略が示されている。SMFはヘッダチャンクとトラックチャンクから成る。ヘッダチャンクには、トラックチャンクに含まれるデータのフォーマットや時間単位等に関する制御データが含まれている。トラックチャンクには、MIDIイベントと、各MIDIイベントの実行タイミングを示すデルタタイムが含まれている。
【0035】
SMFにおいて、デルタタイムとしては、直前のMIDIイベントに対する相対的な時間をクロックと呼ばれる時間単位で表現する方法と、楽曲の先頭の時点からの絶対的な時間を時間、分、秒およびフレームと呼ばれる時間単位の組み合わせで表現する方法がある。以下の説明においては、説明を容易にするため、デルタタイムは、基準となる時点からの絶対的な時間とし、その単位を秒で表すこととする。
なお、本明細書においては、MIDIデータとはMIDI規格に従って作成されるデータの総称である。
【0036】
[1.1.5]自動演奏ピアノ部
自動演奏ピアノ部3は、同期記録再生装置SSのユーザによる鍵操作およびペダル操作に応じて、音響的なピアノ音および電子的な楽音合成によるピアノ音を出力する楽音発生装置である。また、自動演奏ピアノ部3はユーザによる鍵操作およびペダル操作に応じてMIDIイベントを生成し、生成したMIDIイベントを送信する。さらに、自動演奏ピアノ部3はMIDIイベントを受信して、受信したMIDIイベントに応じて、音響的なピアノ音および電子的な楽音合成によるピアノ音による自動演奏を行う。
【0037】
自動演奏ピアノ部3は、ピアノ31、キーセンサ32と、ペダルセンサ33、MIDIイベント制御回路34、音源35、および駆動部36から構成されている。
【0038】
キーセンサ32およびペダルセンサ33は、それぞれピアノ31の複数の鍵および複数のペダルの各々に配設され、それぞれ鍵およびペダルの位置を検出する。キーセンサ32およびペダルセンサ33は、検出された位置情報を、それぞれの鍵およびペダルに対応した識別番号と検出の時間情報と共に、MIDIイベント制御回路34に送信する。
【0039】
MIDIイベント制御回路34は、キーセンサ32およびペダルセンサ33から、それぞれの鍵およびペダルの位置情報を、鍵およびペダルの識別情報、および時間情報と共に受信し、これらの情報から即時にノートオンイベントやノートオフイベント等のMIDIイベントを生成し、生成したMIDIイベントをコントローラ部6および音源35に出力する回路である。さらに、MIDIイベント制御回路34は、コントローラ部6からMIDIイベントを受信し、受信したMIDIイベントを音源35もしくは駆動部36に転送する機能も持つ。なお、MIDIイベント制御回路34が、コントローラ部6から受信するMIDIイベントを音源35と駆動部36のいずれに転送するかは、コントローラ部6の指示による。
【0040】
音源35は、MIDIイベント制御回路34からMIDIイベントを受信し、受信したMIDIイベントに基づいて、各種楽器の音情報を左右2チャンネルのデジタル音声データとして出力する装置である。音源35は受信したMIDIイベントによって指示された音高のデジタル音声データを電子的に合成し、発音部4のミキサ41に送信する。
【0041】
駆動部36は、ピアノ31の各鍵および各ペダルに配設され、それらを駆動するソレノイド群およびそれらのソレノイド群を制御する制御回路から構成される。駆動部36の制御回路は、MIDIイベント制御回路からMIDIイベントを受信すると、対応する鍵もしくはペダルに配設されたソレノイドへ供給する電流量を調節し、ソレノイドが発生する磁力を制御することにより、MIDIイベントに応じた鍵もしくはペダルの動作を実現する。
【0042】
[1.1.6]発音部
発音部4は、自動演奏ピアノ部3およびコントローラ部6から音声データを受信し、受信した音声データを音に変換して出力する装置である。発音部4は、ミキサ41、D/Aコンバータ42、アンプ43、およびスピーカ44から構成されている。
【0043】
ミキサ41は左右2チャンネルからなるデジタル音声データを複数受信し、それらを左右1組のデジタル音声データに変換するデジタルステレオミキサである。ミキサ41は自動演奏ピアノ部3の音源35からデジタル音声データを受信すると同時に、音楽CDドライブ1により音楽CDから読み出されたデジタル音声データを、コントローラ部6を介して受信する。ミキサ41は受信したこれらのデジタル音声データを算術平均し、左右1組のデジタル音声データとしてD/Aコンバータ42に送信する。
【0044】
D/Aコンバータ42は、ミキサ41からデジタル音声データを受信し、受信したデジタル音声データをアナログ音声信号に変換し、アンプ43に出力する。アンプ43は、D/Aコンバータ42から入力されるアナログ音声信号を増幅し、スピーカ44に出力する。スピーカ44は、アンプ43から入力される増幅されたアナログ音声信号を音に変換する。その結果、音楽CDに記録された音声データおよび音源35が生成する音声データは、ステレオの音として発音部4から出力される。
【0045】
[1.1.7]操作表示部
操作表示部5は、同期記録再生装置SSのユーザが同期記録再生装置SSの各種操作を行う際に用いるユーザインタフェースである。
操作表示部5はユーザが同期記録再生装置SSに指示を与える際に押下するキーパッド、ユーザが同期記録再生装置SSの状態を確認するための液晶ディスプレイ等を有している。ユーザによりキーパッドが押下されると、操作表示部5は押下されたキーパッドに対応する信号をコントローラ部6に出力する。また、操作表示部5はコントローラ部6から文字や図形の情報を含むビットマップデータを受信すると、受信したビットマップデータに基づき液晶ディスプレイに文字や図形を表示する。
【0046】
[1.1.8]コントローラ部
コントローラ部6は、同期記録再生装置SSの全体を制御する装置である。コントローラ部6はROM(Read Only Memory)61、CPU(Central Processing Unit)62、DSP(Digital Signal Processor)63、RAM(Random Access Memory)64、および通信インタフェース65から構成されている。また、これらの構成要素はバスにより相互に接続されている。
【0047】
ROM61は各種の制御用プログラムを格納する不揮発性のメモリである。ROM61が格納する制御用プログラムには、一般的な制御処理を行うプログラムに加え、後述するSMFの記録動作および再生動作における処理をCPU62に実行させるプログラムが含まれている。CPU62は汎用的な処理を実行可能なマイクロプロセッサであり、ROM61から制御用プログラムを読み込み、読み込んだ制御用プログラムに従った制御処理を行う。DSP63はデジタル音声データを高速に処理可能なマイクロプロセッサであり、CPU62の制御に従い、音楽CDドライブ1やFDドライブ2からコントローラ部6が受信するデジタル音声データに対し、後述する管理用イベント生成処理において必要とされるフィルタ処理等の処理を施し、その結果得られるデータをCPU62に送信する。RAM64は揮発性メモリであり、CPU62およびDSP63が利用するデータを一時的に格納する。通信インタフェース65は各種フォーマットのデジタルデータを送受信可能なインタフェースであり、音楽CDドライブ1、FDドライブ2、自動演奏ピアノ部3、発音部4、および操作表示部5との間で送受信されるデジタルデータに対し必要なフォーマット変換を行い、それらの各装置とコントローラ部6との間のデータの中継を行う。
【0048】
[1.2]動作
続いて、同期記録再生装置SSの動作を説明する。
[1.2.1]記録動作
まず、同期記録再生装置SSのユーザが市販の音楽CDの再生に合わせてピアノを演奏し、その演奏の情報をMIDIデータとしてFDに記録する際の同期記録再生装置SSにおける動作を説明する。なお、以下に説明する記録動作において用いられる音楽CDを、後述する再生動作において用いられる音楽CDと区別するために、音楽CD−Aと呼ぶ。
【0049】
[1.2.1.1]記録の開始操作
ユーザは、音楽CD−Aを音楽CDドライブ1に、また空のFDをFDドライブ2にセットする。続いて、ユーザは演奏データの記録開始に対応する操作表示部5のキーパッドを押下する。操作表示部5は押下されたキーパッドに対応する信号をコントローラ部6に出力する。
【0050】
コントローラ部6のCPU62は操作表示部5から演奏データの記録開始に対応する信号を受信すると、音楽CDドライブ1に音楽CDの再生命令を送信する。この再生命令に応じて、音楽CDドライブ1は音楽CD−Aに記録されている音声データをコントローラ部6に順次送信する。コントローラ部6は音楽CDドライブ1から、1/44100秒ごとに左右1組の音声データを受信する。以下、左右1組のデータの値を(R(n),L(n))と表し、この1組のデータの値、もしくは後述する管理用イベント生成処理においてこの1組のデータから生成される各データの値を「サンプル値」と呼ぶ。R(n)およびL(n)はそれぞれ右チャンネルのデータおよび左チャンネルのデータの値を示し、−32768〜32767のいずれかの整数である。nは音声データの順序を表す整数で、先頭のデータから順に0、1、2、・・・と増加する。
【0051】
[1.2.1.2]音声データの発音部への送信
CPU62は音楽CDドライブ1からサンプル値を受信すると、その時点を0秒として計時を開始する。それと同時に、CPU62は受信したサンプル値を順次、発音部4に送信する。発音部4はコントローラ部6からサンプル値を受信すると、これを順次、音に変換し出力する。その結果、ユーザは音楽CD−Aに記録されている楽曲を聴くことができる。
【0052】
[1.2.1.3]管理用イベントの生成
CPU62は受信したサンプル値を発音部4に送信すると同時に、受信したサンプル値を順次、RAM64に記録する。CPU62は所定数のサンプル値をRAM64に記録すると、DSP63に対し、以下に説明する管理用イベント生成処理を行う、実行命令を送信する。CPU62がDSP63に対し管理用イベント生成処理の実行命令を送信するまでにRAM64に記録されるサンプル値の数は、以下に説明する処理において用いられるフィルタの特性に依存する。フィルタにおいて用いられる遅延器の遅延時間が長ければ、その数は大きくなる。以下の説明においては、例として、1秒間分のサンプル値、すなわち44100個のサンプル値がRAM64に記録された時点で、CPU62は管理用イベント生成処理の実行命令を送信するものとする。
【0053】
管理用イベント生成処理とは、RAM64に記録される音声データの示す音声波形に対し、ある周波数以下の周波数帯の成分を取り出すフィルタ処理と、その周波数より低い周波数以下の周波数帯の成分を取り出すフィルタ処理とを行い、それら2つのフィルタ処理により得られる値の比較判定を行うことにより、管理用イベントを生成する処理である。なお管理用イベントとは、後述するタイミング調整処理において用いられる時間情報を作成するためのフラグである。
以下、図4を参照しながら、管理用イベント生成処理を説明する。
【0054】
DSP63はCPU62より管理用イベント生成処理の実行命令を受信すると、RAM64に記録されているサンプル値の先頭から44100個、すなわち(R(0),L(0))〜(R(44099)、L(44099))を読み出す(ステップS1)。以下、44100個の一連のサンプル値を「未加工音声データ」と呼び、未加工音声データを区別する必要がある場合には、(R(n),L(n))を末尾とする未加工音声データを「未加工音声データ(n)」のように表す。すなわち、ステップS1において最初にDSP63により読み出される未加工音声データは、未加工音声データ(44099)である。
【0055】
続いて、DSP63は読み出した未加工音声データの各サンプル値の左右の値を相加平均することにより、ステレオのデータをモノラルのデータに変換する(ステップS2)。このモノラルへの変換処理は、このステップより後の処理のDSP63への負荷を軽減するための処理である。
【0056】
続いて、DSP63はモノラルに変換された一連のサンプル値について、絶対値を求める(ステップS3)。このステップにおける処理は、各サンプル値のパワーの代替値を求めるための処理である。絶対値はパワーを示す二乗値よりも値が小さく処理が容易であるため、本実施形態においては、各サンプル値の二乗値の代替値として絶対値が用いられる。従って、DSP63の処理能力が高い場合、このステップにおいて各サンプル値の絶対値の代わりに二乗値を算出してもよい。
【0057】
続いて、DSP63はステップS3において絶対値に変換された一連のサンプル値に対し、さらにローパスフィルタを用いたフィルタ処理を行う(ステップS4)。ステップS1〜ステップS4の処理の結果得られる値を以下、「中期指標」と呼び、(R(n),L(n))に対応する中期指標を「中期指標(n)」と呼ぶ。以下、例として、ステップS4において用いられるローパスフィルタの周波数は100Hzとする。中期指標(n)は、一連のサンプル値が示す音声波形のnにおける中期的な変化の傾向を示す。すなわち、一連のサンプル値が示す音声波形は短期的に上下に変化するが、ローパスフィルタによるフィルタ処理を施された一連のサンプル値は、先行する複数のサンプル値により値の変化が抑制される。その結果、一連の中期指標が示す音声波形からは短期的な変動要素が取り除かれ、中期的および長期的な変動要素のみが残る。ステップS4の処理により、中期指標(n)を末尾とする一連の中期指標、すなわち・・・中期指標(n−2)、中期指標(n−1)、中期指標(n)が作成される。DSP63はこれらの中期指標をRAM64に記録する(ステップS5)。
【0058】
続いて、DSP63はステップS4において得られる一連の中期指標に対し、くし形フィルタを用いたフィルタ処理を行う(ステップS6)。このステップにおける処理は、一連の中期指標が示す音声波形から、さらに、一定周波数以下の低周波数帯の成分を取り出すための処理である。このステップはステップS4で用いるローパスフィルタの周波数よりも低い周波数のローパスフィルタを用いる処理と同様であるが、くし形フィルタはローパスフィルタと比較して、通常、DSP63への負荷が小さいため、本実施形態においてはローパスフィルタがくし形フィルタで代用されている。
【0059】
図5は、ステップS6において利用可能なくし形フィルタの一例について、その構成を示している。図5において、四角形で示される処理は遅延処理を示し、z-kにおけるkは、その遅延処理における遅延時間が(サンプリング周期×k)であることを意味する。前述のとおり、音楽CDのサンプリング周波数は44100Hzであるため、サンプリング周期は1/44100秒である。一方、三角形で示される処理は乗算処理を示し、三角形の中に示される値が乗算の係数を示す。以下、例として、k=22050とし、その結果、ステップS6のフィルタ処理により、1Hzより高い周波数帯の成分がおおよそ取り除かれる。すなわち、ステップS6の処理の結果得られる一連の値が示す音声波形は、一連の中期指標が示す音声波形から中期的な変動要素を取り除き、長期的な変動要素のみを取り出したものとなる。
【0060】
続いて、DSP63は、ステップS6のフィルタ処理により得られる一連の値のそれぞれに対し、正の定数hを乗ずる(ステップS7)。このhによる乗算処理は、次のステップS8における比較判定処理において肯定的な結果が得られる頻度を調整する処理であり、一般的にhの値が小さいと比較判定処理における肯定的な結果が得られる時間間隔が狭くなる。この時間間隔は、広すぎると以下のステップS11における管理用イベントの生成の時間間隔が広くなり、その結果、後述するタイミング調整処理における精度が低くなる。一方、比較判定処理における肯定的な結果が得られる時間間隔が狭すぎると、以下のステップS10の処理により次々とそれらの肯定的な結果がキャンセルされてしまうため、やはり管理用イベントの生成の時間間隔が広くなり、その結果、タイミング調整処理における精度が低くなる。従って、hの値としては、適度の頻度で管理用イベントが生成される値が経験的に用いられる。
【0061】
ステップS7の処理の結果得られる値を以下、「長期指標」と呼び、(R(n),L(n))に対応する長期指標を「長期指標(n)」と呼ぶ。ステップS7の処理により、長期指標(n)を末尾とする一連の長期指標、すなわち・・・長期指標(n−2)、長期指標(n−1)、長期指標(n)が作成される。DSP63はこれらの長期指標をRAM64に記録する(ステップS8)。
【0062】
続いて、DSP63は、RAM64から、中期指標(n)と長期指標(n)を読み出し、中期指標(n)が長期指標(n)以上であるか否かの比較判定を行う(ステップS9)。ステップS9において最初にDSP63により読み出される中期指標および長期指標は、中期指標(44099)および長期指標(44099)である。この比較判定処理は、未加工音声データが示す音声波形が、(R(n),L(n))のサンプル値に対応する時点において、中期的に大きく変動したことを示す。すなわち、楽曲の音声波形において、1Hz〜100Hzの周波数帯に含まれる音のボリュームが急速に大きくなると、中期指標の値が長期指標の値を上回り、ステップS9における比較判定処理からは肯定的な結果(以下、「Yes」と呼ぶ)が得られる。
【0063】
ステップS9の比較判定処理によりYesが得られると、DSP63はその時点の時刻をRAM64に記録する。同時にDSP63はRAM64から、過去に行われたステップS9における比較判定処理でYesが得られた時刻の記録を読み出し、過去の期間τにYesが得られた記録があるか否かを判定する(ステップS10)。このステップにおける判定処理は、短い時間間隔でステップS9における比較判定処理の結果がYesとなる場合、次のステップS11において、同じく短い時間間隔で管理用イベントを生成することを防ぐための処理である。もし短い時間間隔で管理用イベントが生成されると、後述するタイミング調整処理において、記録されている管理用イベントと、新たに得られる音声データにより生成される管理用イベントとを正しく対応づけることが困難となる。ステップS10の処理により、期間τ以下の時間間隔で近接して管理用イベントが生成されることが回避される。τの値としては、生成される管理用イベントが適度の時間間隔となる値が経験的に用いられる。なお、ステップS10における最初の判定処理においては、先行するステップS9がないため、判定結果はNoとなる。
【0064】
ステップS10における判定処理により否定的な結果(以下、「No」と呼ぶ)が得られた場合、DSP63は上記の一連の処理の結果、未加工音声データの示す音声波形が、(R(n),L(n))に対応する時点で所定の条件を満たしたことを示す管理用イベントをCPU62に送信する(ステップS11)。
【0065】
ステップS9における比較判定の結果がNoであった場合、ステップS10における判定の結果がYesであった場合、およびステップS11の処理を終了した場合、DSP63はCPU62が音楽CDドライブ1から新たなサンプル値、すなわち(R(n+1),L(n+1))を受信し、そのサンプル値をRAM64に記録するまで待機する。新たなサンプル値がRAM64に記録されると(ステップS12)、DSP63は処理をステップS1に戻し、新たにRAM64に記録されたサンプル値を末尾とする一連のサンプル値、すなわち未加工音声データ(n+1)に対し、上述したステップS1以下の処理を行う。
【0066】
以上のステップS1〜ステップS12の処理は、nの値を1ずつ増加させながら、ユーザが演奏データの記録終了の指示を行うまで続けられる。以上が管理用イベント生成処理の説明である。図6は、実際の音声データに対し、管理用イベント生成処理を行った場合の管理用イベント生成の様子を示す図である。なお、この図の作成においては、ステップS4のローフィルタとして、1段のIIR(Infinite Impluse Response)フィルタが用いられている。また、ステップS7における定数hとしては4を、またステップS10における期間τとしては0.55秒が用いられている。
【0067】
図6において、第1の管理用イベントが生成される時点Aのすぐ後に、中期指標が長期指標を上回る時点としてBおよびCがあるが、管理用イベントはAにおいてのみ生成される。なぜなら、BおよびCはAから所定の期間、すなわち0.55秒を経過していないため、ステップS10の判定の結果がYesとなり、ステップS11の処理が行われないためである。
【0068】
[1.2.1.4]MIDIイベントの生成
上述したDSP63による管理用イベント生成処理が行われる一方で、ユーザはピアノ31を用いた演奏を開始する。すなわち、ユーザは発音部4から出力される音楽CD−Aの楽曲を聴きながら、その楽曲に合わせてピアノ31の打鍵およびペダル操作を行う。
【0069】
ユーザのピアノ31を用いた演奏の情報は、キーセンサ32およびペダルセンサ33にて鍵およびペダルの動きとして検出され、MIDIイベント制御回路34にてMIDIイベントに変換された後、コントローラ部6のCPU62に送信される。
【0070】
[1.2.1.5]イベントのSMFへの記録
上述したように、CPU62は音楽CD−Aの再生の間、DSP63から管理用イベントを、自動演奏ピアノ部3のMIDIイベント制御回路34からMIDIイベントを受信する。図7は、管理用イベントの生成とMIDIイベントの生成の時間的な関係を示す模式図である。CPU62は計時を開始してから、すなわち音楽CDドライブ1から最初のサンプル値を受信した時点から、0.13秒、0.81秒、1.45秒・・・の時間が経過した時点で管理用イベントを受信する。また、CPU62は計時を開始してから、0.49秒、1.23秒、2.18秒・・・の時間が経過した時点でMIDIイベントを受信する。
【0071】
CPU62は管理用イベントを受信すると、管理用イベントを示すシステムエクスクルーシブイベントを生成し、生成したシステムエクスクルーシブイベントに対し、管理用イベントの受信時点における経過時間を示すデルタタイムを付して、RAM64に記録する。同様に、CPU62はMIDIイベントを受信すると、受信したMIDIイベントに対し、MIDIイベントの受信時点における経過時間を示すデルタタイムを付して、RAM64に記録する。
【0072】
音楽CD−Aの楽曲の再生が終了し、ピアノ31を用いたユーザによる演奏も終了すると、ユーザは演奏データの記録終了に対応する操作表示部5のキーパッドを押下する。操作表示部5は押下されたキーパッドに対応する信号をコントローラ部6に送信する。CPU62は、操作表示部5から演奏データの記録終了を示す信号を受信すると、音楽CDドライブ1に音楽CDの再生停止命令を送信する。この再生停止命令に応じて、音楽CDドライブ1は音楽CD−Aの再生を停止する。
【0073】
続いて、CPU62は、RAM64に記録した管理用イベントを示すシステムエクスクルーシブイベントおよびMIDIイベントを、対応するデルタタイムと共に読み出し、それらのデータを組み合わせ、SMFのトラックチャンクを生成する。さらに、CPU62は作成したトラックチャンクに対し、これに応じたヘッダチャンクを付加し、SMFを生成する。図8は、CPU62が生成するSMFの概略を示す図である。CPU62は、SMFの生成を完了すると、生成したSMFを書込命令と共にFDドライブ2に送信する。FDドライブ2はCPU62から書込命令およびSMFを受信すると、SMFをセットされているFDに書き込む。
【0074】
[1.2.2]再生動作
続いて、上述した方法によって記録されたSMFを再生し、音楽CDの音声データとSMFのMIDIデータを同期させる際の動作を説明する。以下の再生動作において用いられる音楽CDは、上述した記録動作において用いられた音楽CD−Aと同じ楽曲を含んでいるが、版が異なっており、音楽CDに含まれる楽曲の演奏速度がわずかに異なっている。また、この音楽CDに含まれる音声データは、マスタデータに対する音響効果等の編集が加えられているため、音楽CD−Aに含まれる音声データと、その内容にわずかの差異があり、音声データの示す音声波形のレベルも異なっている。従って、以下に説明する再生動作において用いられる音楽CDを音楽CD−Aと区別するため、音楽CD−Bと呼ぶ。
【0075】
[1.2.2.1]再生の開始操作
ユーザは、音楽CD−Bを音楽CDドライブ1に、またSMFの記録されたFDをFDドライブ2にセットする。続いて、ユーザは演奏データの再生開始に対応する操作表示部5のキーパッドを押下する。操作表示部5は押下されたキーパッドに対応する信号をコントローラ部6に出力する。
【0076】
CPU62は操作表示部5から演奏データの再生開始を指示する信号を受信すると、まずFDドライブ2に対しSMFの送信命令を送信する。FDドライブ2はこのSMFの送信命令に応じて、FDからSMFを読み出し、読み出したSMFをコントローラ部6に送信する。CPU62はFDドライブ2からSMFを受信し、受信したSMFをRAM64に記録する。
【0077】
続いて、CPU62は音楽CDドライブ1に音楽CDの再生命令を送信する。この再生命令に応じて、音楽CDドライブ1は音楽CD−Bに記録されている音声データをコントローラ部6に順次送信する。コントローラ部6は音楽CDドライブ1から、1/44100秒ごとに左右1組のデータを受信する。ここでCPU62が音楽CDドライブ1から受信するデータの値を(r(n),l(n))と表す。なお、r(n)およびl(n)の値の範囲、nおよび以下で用いる「サンプル値」の定義は、R(n)およびL(n)におけるものと同様である。
【0078】
[1.2.2.2]音声データの発音部への送信
CPU62は音楽CDドライブ1からサンプル値、すなわち(r(0),l(0))、(r(1),l(1))、(r(2),l(2))、・・・を受信すると、受信したサンプル値を発音部4に送信する。発音部4はコントローラ部6からサンプル値を受信すると、これを音に変換し出力する。その結果、ユーザは音楽CD−Bに記録されている楽曲を聴くことができる。
【0079】
[1.2.2.3]管理用イベントの生成
CPU62は受信したサンプル値を発音部4に送信すると同時に、受信したサンプル値を順次、RAM64に記録する。CPU62は所定数のサンプル値をRAM64に記録すると、DSP63に対し、管理用イベント生成処理の実行命令を送信する。DSP63はこの実行命令を受信すると、RAM64に順次記録される音楽CD−Bの一連のサンプル値に対し、図4を用いて説明した管理用イベント生成処理を行う。その結果、DSP63は図4のステップS10の判定結果がNoとなるタイミングで、順次、CPU62に対し管理用イベントを送信する。
【0080】
[1.2.2.4]MIDIイベントの再生
一方、CPU62は音楽CDドライブ1から最初のサンプル値、すなわち(r(0),l(0))を受信すると、その時点を0秒とし計時を開始する。この計時による経過時間を「時間T」と呼ぶ。同時に、CPU62はRAM64からSMFを読み出し、その時点の時間Tと、SMFに含まれるデルタタイムを順次比較する。時間Tとデルタタイムが一致した場合、もしそのデルタタイムに対応するイベントがMIDIイベントである場合、CPU62はそのMIDIイベントを自動演奏ピアノ部3に送信する。
【0081】
自動演奏ピアノ部3において、MIDIイベント制御回路34はMIDIイベントをCPU62から受信すると、受信したMIDIイベントを音源35もしくは駆動部36に送信する。音源35にMIDIイベントが送信される場合、音源35は受信されるMIDIイベントに従い、楽器の音を示す音声データを順次、発音部4に送信する。発音部4は、既に再生されている音楽CD−Bの楽曲の音と共に、音源35から受信される楽器音による演奏をスピーカ44から出力する。一方、駆動部36にMIDIイベントが送信される場合、駆動部36は受信されるMIDIイベントに従い、ピアノ31の鍵およびペダルを動かす。いずれの場合においても、ユーザは音楽CD−Bに記録された楽曲と、SMFに記録された演奏情報による楽器音による演奏とを同時に聴くことができる。
【0082】
しかしながら、既述のとおり、音楽CD−Bに記録されている楽曲は、音楽CD−Aに記録されている楽曲とわずかに異なる速度で録音されているため楽曲の再生が進むに従い、MIDIイベントによる演奏と楽曲はずれていく。図9はSMFに記録されているMIDIイベントおよび管理用イベントと、音楽CD−Bが再生される際に生成される管理用イベントおよびタイミング調整処理を施した後のMIDIイベントの時間的関係を示す図である。この図の例では、音楽CD−Bに音声データが記録された際に用いられたクロック周波数が、音楽CD−Aに音声データが記録された際に用いられたクロック周波数よりもやや大きかったため、その結果、同じ音楽CDドライブ1により再生した場合、音楽CD−Bに記録された楽曲が音楽CD−Aに記録された楽曲よりも速く演奏されている。従って、SMFに記録されているデルタタイムに従いMIDIイベントを自動演奏ピアノ部3に送信すると、自動演奏ピアノ部3による自動演奏は音楽CD−Bの楽曲に対し遅れてしまう。そのようなMIDIイベントによる演奏と音楽CDの再生における時間的ずれを調整するため、CPU62はSMFに記録されているMIDIイベントに対し、以下に説明するタイミング調整処理を行う。
【0083】
タイミング調整処理の根拠。音楽CD−Bの音声データに基づき生成される管理用イベントの生成のタイミングと、SMFに記録されている管理用イベントのデルタタイムとを用いて、MIDIイベントのデルタタイムを調整する処理である。以下、SMFに記録されている管理用イベントを「管理用イベントA」、音楽CD−Bの音声データに基づき生成される管理用イベントを「管理用イベントB」と呼ぶ。
【0084】
CPU62はDSP63から管理用イベントBを受信すると、その受信のタイミングをRAM64に記録する。一方、CPU62は、時間Tとデルタタイムが一致し、そのデルタタイムに対応するイベントが管理用イベントである場合、そのデルタタイムの示す時間の前後一定の期間に管理用イベントBが受信されるか否かの監視を行う。以下の説明では例として、CPU62は管理用イベントAのデルタタイムの前0.2秒および後0.2秒の間、管理用イベントBの受信を監視するものとする。すなわち、CPU62は管理用イベントAのデルタタイムの示す時間の前0.2秒の間にRAM64に管理用イベントBの受信の記録があるか否かを確認する。続いて、CPU62は管理用イベントAのデルタタイムの示す時間から0.2秒が経過するまで、管理用イベントBが受信されないか、監視する。管理用イベントAのデルタタイムの示す時間の前後に管理用イベントBが受信された場合、CPU62はそれらの管理用イベントAと管理用イベントBは音楽CD−Aおよび音楽CD−Bの音声データの対応する部分から生成された管理用イベントであると判断する。そして、CPU62は、SMFのまだ実行されていないMIDIイベントおよび管理用イベントのデルタタイムに対し、(管理用イベントBの受信時間/管理用イベントAのデルタタイム)を乗ずる。これは管理用イベントBの受信時間を基準とし、SMFにおけるデルタタイムを調整する処理である。CPU62はこのデルタタイムの調整処理を楽曲の終わりまで繰り返す。
【0085】
図10はタイミング調整処理の様子を示すデータ例である。このデータ例によれば、まず0.13秒の時点で第1の管理用イベントAのデルタタイムと時間Tが一致する。従ってCPU62はその時間より前の0.2秒間に管理用イベントBが受信されているかを確認する。この場合、0.11秒の時点で第1の管理用イベントBが受信されているので、CPU62はこれらの管理用イベントが対応したものであると判断する。
【0086】
続いて、CPU62は管理用イベントAのデルタタイム0.13秒と、管理用イベントBの受信タイミングである0.11秒を用いて、まだ処理のされていないMIDIイベントおよび管理用イベントAのデルタタイムに(0.11/0.13)を乗ずる。その結果、1回目の調整後のデルタタイムは第1のMIDIイベント:0.41秒、第2の管理イベント:0.69秒、第2のMIDIイベント:1.04秒・・・となる。
その後、0.41秒の時点で第1のMIDIイベントのデルタタイムと時間Tが一致するので、CPU62はこの第1のMIDIイベントを自動演奏ピアノ部3に送信する。
【0087】
その後、0.69秒の時点で、第2の管理用イベントAのデルタタイムと時間Tが一致するので、CPU62はその時間より前の0.2秒間に管理用イベントBが受信されているかを確認する。この場合、0.75秒の時点で第2の管理用イベントBが受信されているので、CPU62はこれらの管理用イベントが対応したものであると判断する。その結果、第1の管理用イベントAの場合と同様に、CPU62はまだ処理のされていないMIDIイベントおよび管理用イベントAのデルタタイムに(0.75/0.69)を乗ずる。その結果、2回目の調整後のデルタタイムは、第2のMIDIイベント:1.14秒、第3の管理イベント:1.34秒、第3のMIDIイベント:2.02秒・・・となる。
その後、1.14秒の時点で第2のMIDIイベントのデルタタイムと時間Tが一致するので、CPU62はこの第2のMIDIイベントを自動演奏ピアノ部3に送信する。
【0088】
以下、同様の処理が楽曲の最後まで繰り返されるが、図10のデータ例の場合、第4の管理用イベントAは、デルタタイムの示すタイミングの前0.2秒および後0.2秒の間に管理用イベントBがないため、無視される。同様に、第8の管理用イベントBは生成のタイミングの前0.2秒および後0.2秒の間に管理用イベントAがないため、無視される。
【0089】
以上のようにタイミング調整処理が施されたデルタタイムに従い、MIDIイベントが自動演奏ピアノ部3に送信される結果、図9の下段に示すように、音楽CD−Bの楽曲の再生に対し、ほぼ正しいタイミングでMIDIイベントの再生が行われる。
【0090】
なお、上述した例とは逆に、音楽CD−Bに記録された楽曲が音楽CD−Aに記録された楽曲よりも遅く演奏される場合においても、同様の処理によりMIDIイベントの再生のタイミングが調整される。従って、その説明は省略する。
【0091】
[2]第2実施形態
本発明の第2実施形態おいては、音楽CDに記録された音声データと、SMFに記録されたMIDIイベントの再生の同期調整に、音楽CDに記録されているタイムコードが利用される。また、タイミング調整処理を行うにあたり、まず音楽CDの音声データに対する管理用イベント生成処理を楽曲の最後まで終えた後、回帰分析を用いて求められる値により、タイミング調整処理が行われる。
【0092】
[2.1]音楽CDドライブ
第2実施形態における全体構成、各構成部の機能、およびMIDIデータにおけるデータフォーマットは、音楽CDドライブ1の機能を除いて、第1実施形態におけるものと同様であるため、音楽CDドライブ1の機能についてのみ説明し、他の説明は省略する。
第2実施形態において、音楽CDドライブ1は、音楽CDに記録されている音声データと共に、タイムコードをコントローラ部6に送信する。その他の点は、第1実施形態における音楽CDドライブ1と同様である。
【0093】
[2.2]動作
第2実施形態における同期記録再生装置SSの動作については、以下の3点が第1実施形態と異なる。
(1)演奏データの記録動作において、SMFに記録される管理用イベントおよびMIDIイベントのデルタタイムとして、それらのイベントの受信時点に対応するタイムコードが記録される。
(2)演奏データの再生動作において、音楽CDの音声データがまず最後まで再生され、その音声データに対する管理用イベント生成処理が行われる。その結果得られる管理用イベントと、SMFに記録されている管理用イベントの時間情報に関し、回帰直線が求められ、その回帰直線に基づきMIDIイベントに対応するデルタタイムが調整される。このタイミング調整処理が終了した後、再度音楽CDの再生が行われ、その再生に対し、MIDIイベントが同期再生される。
(3)演奏データの再生動作において、MIDIイベントは音楽CDドライブ1から送信されるタイムクロックに基づいて自動演奏ピアノ部3に送信される。
【0094】
第2実施形態における他の動作は、第1実施形態におけるものと同様であるので、その詳細な説明は省略する。なお、以下の説明において、第1実施形態と同様に記録動作においては音楽CD−Aが、再生動作においては音楽CD−Bが用いられるものとする。また、タイムコードの表現形式には、時間、分、秒、およびフレームが用いられるが、SMFに記録されるデルタタイムと同様に、以下の説明においては簡易化のため、タイムコードの示す時間情報を秒で表す。
【0095】
[2.2.1]記録動作
第2実施形態の同期記録再生装置SSにおいて、ユーザが操作表示部5を用いて演奏データの記録開始の指示を行うと、音楽CD−Aの音声データが、タイムコードと共に音楽CDドライブ1からコントローラ部6に順次送信される。
【0096】
コントローラ部6において、CPU62は受信した音声データのサンプル値を順次発音部4に送信する。その結果、発音部4からは音楽CD−Aの楽曲が音として出力される。その一方で、CPU62は受信したサンプル値をタイムコードとともに順次RAM64に記録する。
【0097】
CPU62は所定数のサンプル値をRAM64に記録すると、DSP63に対し、管理用イベント生成処理の実行命令を送信する。DSP63はこの実行命令を受信すると、RAM64に順次記録される音楽CD−Aの一連のサンプル値に対し、管理用イベント生成処理を行う。第2実施形態における管理用イベント生成処理は、図4を用いて説明した第1実施形態における管理用イベント生成処理と同じである。その結果、DSP63は図4のステップS10の判定結果がNoとなるタイミングで、順次、CPU62に対し管理用イベントを送信する。CPU62は管理用イベントを受信すると、管理用イベントを示すシステムエクスクルーシブイベントを生成する。続いて、CPU62は管理用イベントの受信の直前にし、音楽CDドライブ1から受信したタイムコードの示す時間をデルタタイムの形式に変換した後、そのデルタタイムを、管理用イベントを示すシステムエクスクルーシブイベントに対応付けて、RAM64に記録する。
【0098】
一方、ユーザは発音部4から音として出力される音楽CD−Aの楽曲を聴きながら、ピアノ31を用いた演奏を行う。ユーザの演奏の情報は、MIDIイベントとしてMIDIイベント制御回路34からCPU62に送信される。CPU62は、MIDIイベント制御回路34からMIDIイベントを受信すると、その直前に音楽CDドライブ1から受信したタイムコードの示す時間をデルタタイムの形式に変換し、そのデルタタイムをMIDIイベントと対応付けて、RAM64に記録する。
【0099】
その後、ユーザにより演奏データの記録終了の指示がなされると、音楽CDドライブ1は音楽CD−Aの再生を停止する。また、CPU62はRAM64に記録した管理用イベントを示すシステムエクスクルーシブイベントおよびMIDIイベントを、対応するデルタタイムと共に読み出し、それらのデータを組み合わせ、図9に示したものと同様のSMFを生成する。ただし、第2実施形態におけるSMFのデルタタイムは音楽CD−Aのタイムコードに基づいており、CPU62の計時によるものではない。このように生成されたSMFはFDドライブ2に送信され、FDドライブ2によりセットされているFDに書き込まれる。
【0100】
[2.2.2]再生動作
続いて、上述した方法によって記録されたSMFを再生し、音楽CD−Bの音声データとSMFのMIDIデータを同期させる際の動作を説明する。
ユーザが操作表示部5を用いて演奏データの再生開始の指示を行うと、まずFDドライブ2からFDに記録されているSMFがCPU62に送信され、CPU62は受信したSMFをRAM64に記録する。続いて、音楽CDドライブ1は音楽CD−Bの再生を開始し、音楽CD−Bに記録されている音声データとタイムコードがコントローラ部6に順次送信される。CPU62は、音声データをタイムコードと共にRAM64に記録する。ただし、CPU62は受信した音声データを発音部4には送信せず、従ってユーザには音楽CD−Bの楽曲は聴こえない。
【0101】
CPU62は所定数のサンプル値をRAM64に記録すると、DSP63に対し、管理用イベント生成処理の実行命令を送信する。DSP63はこの実行命令を受信すると、RAM64に順次記録される音楽CD−Bの一連のサンプル値に対し、管理用イベント生成処理を行う。その結果、DSP63は図4のステップS10の判定結果がNoとなるタイミングで、順次、CPU62に対し管理用イベントを送信する。CPU62は管理用イベントを受信すると、その直前に受信したタイムコードの示す時間をデルタタイムの形式に変換した後、そのデルタタイムをRAM64に記録する。以下、SMFに記録されている管理用イベントを「管理用イベントA」、SMFに記録されているデルタタイムを「デルタタイムA」、音楽CD−Bの音声データにより生成される管理用イベントを「管理用イベントB」、音楽CD−Bのタイムコードに従い、管理用イベントBの受信に対し記録されるデルタタイムを「デルタタイムB」と呼ぶ。
【0102】
音楽CD−Bの再生が楽曲の最後に至ると、音楽CDドライブ1は音楽CD−Bの再生を終了する。続いて、CPU62はデルタタイムAとデルタタイムBをRAM64から読み出し、第1実施形態におけるタイミング調整処理と同様のデルタタイムの調整処理を行う。図11は第2実施形態におけるデルタタイムの調整の様子を示すデータ例である。図11において、デルタタイムおよび管理用イベントBの受信のタイミングは音楽CD−Bのタイムコードに基づいている点が第1実施形態と異なる。また、MIDIイベントに対するデルタタイムの調整はこの段階では行われない。他の点は第1実施形態におけるタイミング調整処理と同様であるため、その説明は省略する。このデルタタイムの調整処理により、デルタタイムAとデルタタイムBの対応付けがなされる。以下、第n組目のデルタタイムAの値をA(n)、デルタタイムBの値をB(n)と表す。また、それらの組を(A(n),B(n))のように表す。従って、(A(1),B(1))=(0.13,0.11)、(A(2),B(2))=(0.81,0.75)、(A(3),B(3))=(1.45,1.36)・・・、となる。
【0103】
続いて、CPU62はこれらの(A(n),B(n))に対し、最小二乗法による回帰直線を求める。なお、回帰直線の代わりに回帰曲線や、その他の近似曲線を求めてもよい。実際には楽曲全体の音声データについて得られる(A(n),B(n))に対し回帰直線が求められるが、以下、説明のため、図11から得られる9組のデータを用いて回帰直線を求めることとする。
【0104】
図12は9組の(A(n),B(n))と、それに対する回帰直線をグラフで表したものである。回帰直線を示す式は、B=0.9414A−0.006となる。この式は、音楽CD−Bのタイムコードを基準とした場合、音楽CD−Bの音声データの開始時点に対しSMFの演奏データの開始時点が0.006秒遅れており、また演奏の速度が5.86%遅いことを示す。従って、CPU62は、算出したこの回帰直線の式のAに対し、SMFに記録されているMIDIイベントのデルタタイムの値を代入することにより、各デルタタイムに対するタイミング調整を行う。図13にこのタイミング調整を行う前のデルタタイムと、調整を行った後のデルタタイムを示す。このCPU62のタイミング調整は、SMFの各イベントのデルタタイムを全体として5.86%だけ減少させ、さらに0.006秒だけ前倒しにすることを意味する。CPU62はタイミング調整を終えたデルタタイムで、SMFのMIDIイベントに対するデルタタイムを更新する。
【0105】
CPU62は、このタイミングの調整処理を終えると、音楽CDドライブ1に対し、再度、音楽CD−Bの再生命令を送信する。この再生命令に応じ、音楽CDドライブ1は音楽CD−Bの再生を開始し、音楽CD−Bに記録されている音声データとタイムコードがコントローラ部6に順次送信される。CPU62は受信した音声データを順次発音部4に送信し、発音部4からは音楽CD−Bの楽曲が音として出力される。
【0106】
CPU62は受信した音声データを順次発音部4に送信すると同時に、MIDIイベントのデルタタイムの示す時間情報と、音楽CDドライブ1から送信されてくる音楽CD−Bのタイムコードの示す時間情報を順次比較し、それらが一致すると、一致したデルタタイムに対応するMIDIイベントを自動演奏ピアノ部3に送信する。自動演奏ピアノ部3はMIDIイベントを受信すると、音源35から電子的に合成した楽音の音声データを発音部4に送信するか、もしくは駆動部36によりピアノ31の鍵およびペダルを動かすことにより、MIDIイベントに応じた自動演奏を行う。その結果、ユーザは音楽CD−Bに記録された楽曲と、SMFに記録された演奏情報による演奏とを同時に聴くことができる。
【0107】
[3]変形例
上述した第1実施形態および第2実施形態は、それぞれ本発明の実施形態の例示であり、上記実施形態に対しては、本発明の趣旨から逸脱しない範囲で様々な変形を加えることができる。以下、変形例を示す。
【0108】
[3.1]第1変形例
第1変形例においては、同期記録再生装置SSの各構成部は同じ装置の中に配置されておらず、グループごとに分離して配置されている。
例えば、以下のそれぞれのグループに分離配置することが可能である。
(1)音楽CDドライブ1
(2)FDドライブ2
(3)自動演奏ピアノ部3
(4)ミキサ41およびD/Aコンバータ42
(5)アンプ43
(6)スピーカ44
(7)操作表示部5およびコントローラ部6
さらに、コントローラ部6は、記録動作のみを行う装置と再生動作のみを行う装置とに別々に構成されていてもよい。
【0109】
これらの構成部のグループ間は、オーディオケーブル、MIDIケーブル、オーディオ用光ケーブル、USB(Universal Serial Bus)ケーブル、および専用の制御用ケーブル等で接続される。また、FDドライブ2、アンプ43、スピーカ44等は市販のものを利用してもよい。
第1変形例によれば、同期記録再生装置SSの配置の柔軟性が高まると同時に、ユーザは同期記録再生装置SSの全てを新たに準備することなく、必要な構成部のみを準備することにより、必要なコストを低減できる。
【0110】
[3.2]第2変形例
第2変形例においては、同期記録再生装置SSにおいて音楽CDドライブ1およびFDドライブ2はない。その一方で、通信インタフェースはLAN(Local Area Network)に接続可能な機能を有し、外部の通信機器とLANおよびWANを介して接続されている。さらに、コントローラ部6はHD(Hard Disk)を有している。
【0111】
コントローラ部6は、LANを介して他の通信機器から、音声データとタイムコードを含むデジタルオーディオデータを受信し、受信したオーディオデータをHDに記録する。同様に、コントローラ部6は、LANを介して他の通信機器から、オーディオデータに対応して作成されたSMFを受信し、受信したSMFをHDに記録する。
【0112】
コントローラ部6は音楽CDドライブ1から音楽CDの音声データおよびタイムコードを受信する代わりに、HDからデジタルオーディオデータを読み出す。また、コントローラ部6はFDドライブ2に対しSMFの書込および読出を行う代わりに、HDに対し同様の動作を行う。
第2変形例によれば、ユーザはデジタルオーディオデータおよびSMFを、LANを介して地理的に離れた通信機器との間で送受信することができる。なお、LANはインターネット等の広域通信網と接続されていてもよい。
【0113】
【発明の効果】
以上示したように、本発明によれば、異なる周波数のクロックに基づいて記録された等の理由により、同じ楽曲であってもわずかに異なる速度で再生される、異なる版の音声データのいずれに対しても、正しいタイミングで演奏データの同期再生を行うことができる。従って、同じ楽曲の異なる版に対し異なる演奏データを準備する必要がなく、データの作成および管理が簡便化される。
【0114】
なお、同じ楽曲の異なる版においては、楽曲の録音レベルが異なる場合があるが、本発明において演奏データの再生タイミングの調整に用いられる管理用イベントは、楽曲の録音レベルに関わりなく同じタイミングで生成される。なぜなら、管理用イベントの生成に用いられる2つの指標は録音レベルに対し共に比例して変化するため、その大小関係は変わらないためである。従って、録音レベルが異なる版の音声データに対しても、本発明の技術によれば、正しいタイミングで演奏データの同期再生が実現される。
【図面の簡単な説明】
【図1】 本発明の第1実施形態および第2実施形態に係る同期記録再生装置SSの構成を示す図である。
【図2】 MIDIイベントの構成を示す図である。
【図3】 SMFの構成を示す図である。
【図4】 本発明の第1実施形態および第2実施形態に係る管理用イベント生成処理のフロー図である。
【図5】 本発明の第1実施形態および第2実施形態に係るくし形フィルタの構成を示す図である。
【図6】 本発明の第1実施形態および第2実施形態に係る中期指標、長期指標および管理用イベントの時間的関係を示す図である。
【図7】 本発明の第1実施形態および第2実施形態に係る管理用イベントの生成とMIDIイベントの生成の時間的な関係を示す模式図である。
【図8】 本発明の第1実施形態および第2実施形態に係るSMFの概略を示す図である。
【図9】 本発明の第1実施形態に係るタイミング調整前のMIDIイベント、タイミング調整後のMIDIイベント、および管理用イベントの時間的関係を示す図である。
【図10】 本発明の第1実施形態に係るタイミング調整処理の様子を示すデータ例である。
【図11】 本発明の第2実施形態に係るタイミング調整処理の様子を示すデータ例である。
【図12】 本発明の第2実施形態に係る管理用イベントのデルタタイムに対する回帰直線を示す図である。
【図13】 本発明の第2実施形態に係るデルタタイムの調整処理の様子を示すデータ例である。
【図14】 本発明の第2実施形態に係るタイミング調整前のMIDIイベント、タイミング調整後のMIDIイベント、および管理用イベントの時間的関係を示す図である。
【符号の説明】
1・・・音楽CDドライブ、2・・・FDドライブ、3・・・自動演奏ピアノ部、4・・・発音部、5・・・操作表示部、6・・・コントローラ部、31・・・ピアノ、32・・・キーセンサ、33・・・ペダルセンサ、34・・・MIDIイベント制御回路、35・・・音源、36・・・駆動部、41・・・ミキサ、42・・・D/Aコンバータ、43・・・アンプ、44・・・スピーカ、61・・・ROM、62・・・CPU、63・・・DSP、64・・・RAM、65・・・通信インタフェース。
Claims (6)
- 楽曲の音声波形を示す音声データを受信する第1受信手段と、
前記第1受信手段による前記音声データの受信と同時並行して楽音発音の制御を指示する制御データを受信する第2受信手段と、
前記音声データの中期的な変動要素を示す第1指標を生成する第1生成手段と、
前記音声データの前記中期より長い期間となる長期的な変動要素を示す第2指標を生成する第2生成手段と、
前記第1指標と前記第2指標とを比較することにより前記音声データの急激な変化を検出し、前記急激な変化を示すイベントデータを生成する第3生成手段と、
前記制御データと該制御データを前記第2受信手段が受信したタイミングを示す第1時間データとを対応付けて記録するとともに、前記イベントデータと該イベントデータにより示される前記急激な変化のタイミングを示す第2時間データとを対応付けて記録する記録手段と
を備えることを特徴とする記録装置。 - 前記第1生成手段は、前記音声データが示す波形が有する周波数成分のうち一の周波数より低い周波数成分のみを含む波形を示すデータを前記第1指標として生成し、
前記第2生成手段は、前記音声データが示す波形が有する周波数成分のうち前記一の周波数より低い周波数である他の周波数より低い周波数成分のみを含む波形を示すデータを前記第2指標として生成する請求項1に記載の記録装置。 - 楽曲の音声波形を示す音声データを受信する第1受信過程と、
前記第1受信過程による前記音声データの受信と同時並行して楽音発音の制御を指示する制御データを受信する第2受信過程と、
前記音声データの中期的な変動要素を示す第1指標を生成する第1生成過程と、
前記音声データの前記中期より長い期間となる長期的な変動要素を示す第2指標を生成する第2生成過程と、
前記第1指標と前記第2指標とを比較することにより前記音声データの急激な変化を検出し、前記急激な変化を示すイベントデータを生成する第3生成過程と、
前記制御データと該制御データを前記第2受信過程によって受信したタイミングを示す第1時間データとを対応付けて記録するとともに、前記イベントデータと該イベントデータにより示される前記急激な変化のタイミングを示す第2時間データとを対応付けて記録する記録過程と、
を備えることを特徴とする記録方法。 - 前記第1生成過程において、前記音声データが示す波形が有する周波数成分のうち一の周波数より低い周波数成分のみを含む波形を示すデータを前記第1指標として生成し、
前記第2生成過程において、前記音声データが示す波形が有する周波数成分のうち前記一の周波数より低い周波数である他の周波数より低い周波数成分のみを含む波形を示すデータを前記第2指標として生成する請求項3に記載の記録方法。 - 楽曲の音声波形を示す音声データを受信する第1受信処理と、
前記第1受信処理による前記音声データの受信と同時並行して楽音発音の制御を指示する制御データを受信する第2受信処理と、
前記音声データの中期的な変動要素を示す第1指標を生成する第1生成処理と、
前記音声データの前記中期より長い期間となる長期的な変動要素を示す第2指標を生成する第2生成処理と、
前記第1指標と前記第2指標とを比較することにより前記音声データの急激な変化を検出し、前記急激な変化を示すイベントデータを生成する第3生成処理と、
前記制御データと該制御データを前記第2受信処理によって受信したタイミングを示す第1時間データとを対応付けて記録するとともに、前記イベントデータと該イベントデータにより示される前記急激な変化のタイミングを示す第2時間データとを対応付けて記録する記録処理と
をコンピュータに実行させるプログラム。 - 前記第1生成処理において、前記音声データが示す波形が有する周波数成分のうち一の周波数より低い周波数成分のみを含む波形を示すデータを前記第1指標として生成し、
前記第2生成処理において、前記音声データが示す波形が有する周波数成分のうち前記一の周波数より低い周波数である他の周波数より低い周波数成分のみを含む波形を示すデータを前記第2指標として生成する請求項5に記載のプログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002242482A JP3969249B2 (ja) | 2002-08-22 | 2002-08-22 | 音声データと演奏データの同期再生を行うための装置および方法 |
US10/642,542 US7863513B2 (en) | 2002-08-22 | 2003-08-14 | Synchronous playback system for reproducing music in good ensemble and recorder and player for the ensemble |
EP03018938.5A EP1400948B1 (en) | 2002-08-22 | 2003-08-20 | Synchronous playback system for reproducing music in good ensemble and recorder and player for the ensemble |
KR1020030057908A KR100569774B1 (ko) | 2002-08-22 | 2003-08-21 | 좋은 앙상블로 음악을 재생하기 위한 동기 재생 시스템,및 앙상블을 위한 레코더 및 플레이어 |
CNB031272657A CN100339907C (zh) | 2002-08-22 | 2003-08-22 | 同步重放系统及其记录器和播放器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002242482A JP3969249B2 (ja) | 2002-08-22 | 2002-08-22 | 音声データと演奏データの同期再生を行うための装置および方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007031101A Division JP4207082B2 (ja) | 2007-02-09 | 2007-02-09 | 再生装置、再生方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004085610A JP2004085610A (ja) | 2004-03-18 |
JP3969249B2 true JP3969249B2 (ja) | 2007-09-05 |
Family
ID=32051558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002242482A Expired - Fee Related JP3969249B2 (ja) | 2002-08-22 | 2002-08-22 | 音声データと演奏データの同期再生を行うための装置および方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3969249B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5040356B2 (ja) * | 2007-02-26 | 2012-10-03 | ヤマハ株式会社 | 自動演奏装置、再生システム、配信システム及びプログラム |
JP5103980B2 (ja) | 2007-03-28 | 2012-12-19 | ヤマハ株式会社 | 処理システム、音声再生装置及びプログラム |
JP6743843B2 (ja) | 2018-03-30 | 2020-08-19 | カシオ計算機株式会社 | 電子楽器、演奏情報記憶方法、及びプログラム |
-
2002
- 2002-08-22 JP JP2002242482A patent/JP3969249B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004085610A (ja) | 2004-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3915585B2 (ja) | データ生成方法、プログラム、記録媒体およびデータ生成装置 | |
US7683251B2 (en) | Method and apparatus for playing in synchronism with a digital audio file an automated musical instrument | |
JP3835324B2 (ja) | 楽曲再生装置 | |
JP2007133035A (ja) | デジタル録音装置,デジタル録音方法,そのプログラムおよび記憶媒体 | |
WO2007086417A1 (ja) | ビート抽出装置及びビート抽出方法 | |
US7612277B2 (en) | Method and apparatus for playing in synchronism with a CD an automated musical instrument | |
EP1073056A2 (en) | Apparatus and method for sampling and storing audio information and apparatus for outputting audio information | |
JP3925349B2 (ja) | 音声データと演奏データの同期再生を行うための装置および方法 | |
JP3969249B2 (ja) | 音声データと演奏データの同期再生を行うための装置および方法 | |
JP7367835B2 (ja) | 録音再生装置、録音再生装置の制御方法及び制御プログラム並びに電子楽器 | |
JP4207082B2 (ja) | 再生装置、再生方法およびプログラム | |
US7507900B2 (en) | Method and apparatus for playing in synchronism with a DVD an automated musical instrument | |
JP4063048B2 (ja) | 音声データと演奏データの同期再生を行うための装置および方法 | |
JP3915517B2 (ja) | マルチメディアシステム、再生装置及び再生記録装置 | |
JP4048917B2 (ja) | 音声データと演奏データの同期再生を行うための装置および方法 | |
JP3804536B2 (ja) | 楽音再生記録装置、記録装置及び記録方法 | |
JP2002050943A (ja) | スタジオ録音装置、スタジオ録音方法 | |
JP3879684B2 (ja) | 曲データ変換装置および曲データ変換プログラム | |
JP3867579B2 (ja) | マルチメディアシステム及び再生装置 | |
JP3407625B2 (ja) | 自動演奏装置、自動演奏方法及びプログラムを記録した媒体 | |
JPH07287576A (ja) | 音楽再生方法 | |
JPH02192259A (ja) | デジタル音楽情報の出力装置 | |
Dofat | Introduction to Digital Audio | |
JP3610732B2 (ja) | 反響音発生装置 | |
JPH10307581A (ja) | 波形データ圧縮装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050224 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060914 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060926 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070116 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070209 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070515 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070528 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100615 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110615 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120615 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120615 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130615 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140615 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |