JP2004085610A - Device and method for synchronously reproducing speech data and musical performance data - Google Patents

Device and method for synchronously reproducing speech data and musical performance data Download PDF

Info

Publication number
JP2004085610A
JP2004085610A JP2002242482A JP2002242482A JP2004085610A JP 2004085610 A JP2004085610 A JP 2004085610A JP 2002242482 A JP2002242482 A JP 2002242482A JP 2002242482 A JP2002242482 A JP 2002242482A JP 2004085610 A JP2004085610 A JP 2004085610A
Authority
JP
Japan
Prior art keywords
data
music
time
audio data
indicating
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.)
Granted
Application number
JP2002242482A
Other languages
Japanese (ja)
Other versions
JP3969249B2 (en
Inventor
Jun Ishii
石井 潤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2002242482A priority Critical patent/JP3969249B2/en
Priority to US10/642,542 priority patent/US7863513B2/en
Priority to EP03018938.5A priority patent/EP1400948B1/en
Priority to KR1020030057908A priority patent/KR100569774B1/en
Priority to CNB031272657A priority patent/CN100339907C/en
Publication of JP2004085610A publication Critical patent/JP2004085610A/en
Application granted granted Critical
Publication of JP3969249B2 publication Critical patent/JP3969249B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a recording device, a reproducing device, a recording method, a reproducing method, and a program capable of reproducing musical performance data in correct timing synchronously with vocal data of the same musical piece recorded at a different speed. <P>SOLUTION: A controller part 6 records MIDI data of a musical performance in which a piano 31 is played in matching with reproduction of a music CD in an SMF. In that case, the controller part 6 compares values shown by components of ≤100 Hz and ≤1 Hz of vocal data of the music CD and records an event for management generated as a result in the SMF. Then the controller part 6 reproduces the MIDI data recorded in the SMF in matching with the reproduction of the music CD. At this point, the controller part 6 generates an event for management from the vocal data of the music CD and compares the timing of the event for management recorded in the SMF with the timing of the generated event for management to adjust the timing of the reproduction of the MIDI data. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、オーディオデータの再生に同期して、楽曲の演奏制御に関する情報を含む演奏データの再生を行う装置および方法に関する。
【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受信手段と、演奏の制御を指示する制御データを受信する第2受信手段と、前記音声データの所定期間の変化傾向を示す第1指標を生成する第1生成手段と、前記音声データの前記所定期間より長い期間の変化傾向を示す第2指標を生成する第2生成手段と、前記制御データと前記制御データの受信タイミングを示す第1時間データとからなる演奏データを記録するとともに、前記第1指標と前記第2指標とを比較して、前記音声データの急激な変化を検出し、前記急激な変化のタイミングを示す第2時間データを記録する記録手段と、を備えることを特徴とする記録装置を提供する。
【0013】
また、本発明は、演奏の制御を指示する制御データおよび該演奏の制御の実行タイミングを指示する第1時間データからなる演奏データと、音声波形の急激な変化のタイミングを示す第2時間データとを受信する第1受信手段と、楽曲の音声波形を示す音声データを受信する第2受信手段と、前記音声データの所定期間の変化傾向を示す第1指標を生成する第1生成手段と、前記音声データの前記所定期間より長い期間の変化傾向を示す第2指標を生成する第2生成手段と、前記第1指標と前記第2指標とを比較して、前記音声データの急激な変化を検出し、前記急激な変化のタイミングを示す第3時間データを生成する第3生成手段と、前記第2時間データおよび前記第3時間データの示す時間情報に基づき、前記第1時間データを調整する調整手段と、前記調整手段により調整された前記第1時間データに従うタイミングで、前記制御データの送信を行う送信手段とを備えることを特徴とする再生装置を提供する。
【0014】
また、本発明は、楽曲の音声波形を示す音声データを受信する第1受信過程と、演奏の制御を指示する制御データを受信する第2受信過程と、前記音声データの所定期間の変化傾向を示す第1指標を生成する第1生成過程と、前記音声データの前記所定期間より長い期間の変化傾向を示す第2指標を生成する第2生成過程と、前記制御データと前記制御データの受信タイミングを示す第1時間データとからなる演奏データを記録するとともに、前記第1指標と前記第2指標とを比較して、前記音声データの急激な変化を検出し、前記急激な変化のタイミングを示す第2時間データを記録する記録過程とを備えることを特徴とする記録方法を提供する。
【0015】
また、本発明は、演奏の制御を指示する制御データおよび該演奏の制御の実行タイミングを指示する第1時間データからなる演奏データと、音声波形の急激な変化のタイミングを示す第2時間データとを受信する第1受信過程と、楽曲の音声波形を示す音声データを受信する第2受信過程と、前記音声データの所定期間の変化傾向を示す第1指標を生成する第1生成過程と、前記音声データの前記所定期間より長い期間の変化傾向を示す第2指標を生成する第2生成過程と、前記第1指標と前記第2指標とを比較して、前記音声データの急激な変化を検出し、前記急激な変化のタイミングを示す第3時間データを生成する第3生成過程と、前記第2時間データおよび前記第3時間データの示す時間情報に基づき、前記第1時間データを調整する調整過程と、前記調整手段により調整された前記第1時間データに従うタイミングで、前記制御データの送信を行う送信過程とを備えることを特徴とする再生方法を提供する。
【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・・・通信インタフェース。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an apparatus and a method for reproducing performance data including information related to music performance control in synchronization with reproduction of audio data.
[0002]
[Prior art]
As a means for reproducing music, there is a device for reading audio data from a storage medium such as a music CD (Compact Disc) and generating and outputting audio from the read audio data. Further, as another means for reproducing the music, data including information relating to performance control of the music is read from a storage medium such as a floppy disk (FD), and the sound generation of the sound source device is controlled using the read data. There are devices that perform automatic performances. As data including information relating to music performance control, there is MIDI data created in accordance with the MIDI (Musical Instrument Digital Interface) standard.
[0003]
Recently, there has been proposed a method of synchronizing automatic performance by MIDI data with reproduction of audio data recorded on a music CD. As one of the methods, there is a method using a time code recorded on a music CD (for example, see Patent Literature 1 and Patent Literature 2). Hereinafter, this method will be described.
[0004]
First, the audio data and the time code of the music CD are reproduced by the music CD reproducing device. Then, the audio data is output as sound, and the time code is supplied to the recording device. Here, the time code is data associated with a certain unit of audio data, and each time code represents an elapsed time from the start of the music to the reproduction timing of the audio data corresponding to the time code. ing. In addition, a musical instrument is played along with the reproduction of the music CD, and MIDI data is sequentially supplied from the musical instrument to the recording device. Upon receiving the MIDI data from the musical instrument, the recording device records the MIDI data on a recording medium together with time information indicating the reception timing. When the recording device receives the time code from the music CD reproducing device, the recording device records the time code together with time information indicating the reception timing on the recording medium. As a result, a file in which the time code and the MIDI data are mixed is created on the recording medium. In this file, each time code and MIDI data are accompanied by time information indicating an elapsed time from the music reproduction start time to each reproduction time.
[0005]
When the MIDI data and the time code are recorded on the recording medium in this way, when the audio data of the same music is reproduced from the music CD, the MIDI data is read from the recording medium in synchronization with the reproduction, and the automatic performance is performed. It can be carried out. The operation is as follows.
[0006]
First, audio data and time code are reproduced from a music CD by a music CD reproducing device. The audio data is output as a sound, and the time code is supplied to a MIDI data reproducing device. At the same time, the playback device reads the MIDI data recorded in the file in accordance with the recorded time information, and sequentially transmits the MIDI data to a musical instrument capable of performing automatically according to the MIDI data. At this time, the playback device adjusts the time lag between the playback of the audio data of the music CD and the playback of the MIDI data based on the time code received from the music CD playback device and the time code read from the file together with the MIDI data. As a result, synchronous reproduction of the audio data of the music CD and the MIDI data is realized.
[0007]
Patent Document 1: Japanese Patent Application No. 2002-7872
Patent Document 2: Japanese Patent Application No. 2002-7873
[0008]
[Problems to be solved by the invention]
However, even for the same music piece, a music CD to which a different time code is added cannot achieve synchronous playback of audio data and MIDI data of the music CD by a method using the time code of the music CD.
[0009]
Currently, there are many different versions of music CDs for the same song. A music CD usually records audio data that has been edited, such as adding a sound effect such as reverb, to master data of a music piece. Such different versions of the music CD may have different offset times until the start of the music. Further, the speed of the clock used when recording the edited audio data may not exactly match the speed of the clock used when the master data is recorded. As a result, different versions of music CDs that record audio data with different edits may have time codes with slightly different time intervals. In such a case, if MIDI data for synchronous performance created by a conventional technique using a time code is used for a music CD of a different version of the same music, the music of the music CD and the MIDI data are used at the beginning of the music. Even if the performance is shifted or the performance of the music on the music CD is synchronized with the performance of the MIDI data at the beginning of the music, the performance of the music on the music CD and the performance of the MIDI data are gradually shifted over time.
[0010]
Therefore, according to the conventional technology using the time code, even if the music CD records the audio data of the same music, the variation of the time interval of the time code attached to the version of each music CD depends on the variation. Therefore, there is a problem that MIDI data for different synchronous performances must be prepared.
[0011]
In view of the above-described situation, the present invention is applicable to a plurality of versions of audio data recorded at different time intervals, for example, because the speed of the clock used at the time of recording is different even for the audio data of the same music piece. On the other hand, an object of the present invention is to provide a recording device, a reproducing device, a recording method, a reproducing method, and a program of performance data such as MIDI data that can be synchronously reproduced.
[0012]
[Means for Solving the Problems]
In order to solve the problems described above, the present invention provides a first receiving unit for receiving audio data indicating an audio waveform of a music, a second receiving unit for receiving control data for instructing performance control, First generating means for generating a first index indicating a changing tendency of the audio data for a predetermined period, second generating means for generating a second index indicating a changing tendency of the audio data for a period longer than the predetermined period, and the control data And performance data including first time data indicating the reception timing of the control data, and comparing the first index with the second index to detect a sudden change in the audio data, Recording means for recording second time data indicating the timing of a rapid change.
[0013]
The present invention also provides performance data consisting of control data for instructing performance control and first time data for instructing execution timing of the performance control, and second time data indicating the timing of a rapid change in the sound waveform. First receiving means for receiving the audio data, a second receiving means for receiving audio data indicating an audio waveform of the music, a first generating means for generating a first index indicating a change tendency of the audio data in a predetermined period, A second generation unit that generates a second index indicating a change tendency of the audio data for a period longer than the predetermined period; and comparing the first index and the second index to detect a rapid change in the audio data. And adjusting the first time data based on third time generating means for generating third time data indicating the timing of the rapid change, and time information indicated by the second time data and the third time data. And adjusting means, at a timing according to the first hour data adjusted by said adjustment means, to provide a reproducing apparatus, characterized in that it comprises a transmission unit that transmits the control data.
[0014]
The present invention also provides a first receiving step of receiving audio data indicating an audio waveform of a music piece, a second receiving step of receiving control data for instructing performance control, and a change tendency of the audio data in a predetermined period. A first generation step of generating a first index to indicate the change, a second generation step of generating a second index indicating a change tendency of the audio data for a period longer than the predetermined period, and a reception timing of the control data and the control data The performance data including the first time data indicating the time is recorded, and the first index and the second index are compared to detect a sudden change in the audio data and indicate a timing of the sudden change. A recording step of recording second time data.
[0015]
The present invention also provides performance data consisting of control data for instructing performance control and first time data for instructing execution timing of the performance control, and second time data indicating the timing of a rapid change in the sound waveform. A first receiving step of receiving an audio data representing an audio waveform of the music, a first generating step of generating a first index indicating a change tendency of the audio data in a predetermined period, Detecting a rapid change in the voice data by comparing a second generation step of generating a second index indicating a change tendency of the voice data for a period longer than the predetermined period and the first index and the second index; And adjusting the first time data based on a third generation step of generating third time data indicating the timing of the rapid change, and time information indicated by the second time data and the third time data. And adjustment process, the timing according to the adjusted first hour data by adjusting means, to provide a reproducing method characterized by comprising a transmission process for transmitting the control data.
[0016]
The present invention also provides a program for causing a computer to execute a process using the recording method and the reproducing method.
[0017]
Further, according to the present invention, performance data consisting of control data for instructing performance control and first time data for instructing execution timing of the performance, and second time data indicating the timing of a rapid change in the sound waveform are included in the performance data. A recorded recording medium is provided.
[0018]
By using the apparatus, method, program, and recording medium having such a configuration, time data for time adjustment is generated at the timing when the audio waveform of the music changes abruptly at the time of recording and at the time of playing the performance data, respectively. The transmission timing of the control data is adjusted by comparing the time data generated at the time and the time data generated at the time of reproduction. As a result, synchronous reproduction of audio data and control data is realized.
[0019]
Further, the recording device according to the present invention includes a third receiving unit that receives a time code indicating a reproduction timing of the audio data, and the recording unit performs the first time based on time information indicated by the time code. The data and the second time data may be generated.
Also, the reproducing apparatus according to the present invention includes a third receiving unit that receives a time code indicating a reproduction timing of the audio data, and the third generating unit performs the third generation based on the time information indicated by the time code. A configuration may be employed in which time data is generated, and the transmission unit transmits the control data based on time information indicated by the time code.
[0020]
When the recording device and the reproducing device having such a configuration are used, the audio data reproduced by the reproducing device having a bias in the reproducing speed is also timed according to the time code, so that the synchronous reproduction of the control data can be correctly performed. Is
[0021]
Further, in the recording device according to the present invention, the first generation unit performs a filtering process for extracting a component of a frequency band equal to or lower than a first frequency on an audio waveform represented by the audio data, so that the first index is obtained. The second generation means generates the second index by performing a filtering process for extracting a component of a frequency band equal to or lower than a second frequency lower than the first frequency on the audio waveform represented by the audio data. It is good also as composition which generates.
Further, in the reproducing apparatus according to the present invention, the first generation unit generates the first index by performing a filtering process for extracting a component of a frequency band equal to or lower than a first frequency on an audio waveform represented by the audio data. Then, the second generation unit generates the second index by performing a filtering process for extracting a component of a frequency band equal to or lower than a second frequency lower than the first frequency on the audio waveform represented by the audio data. It may be configured.
[0022]
By using the recording device and the reproducing device having such a configuration, time data for time adjustment having a suitable time interval and accuracy can be obtained.
[0023]
Further, in the recording apparatus according to the present invention, the recording unit may be configured to execute the second time data only when a rapid change in the audio data has not been detected in a predetermined past period from the timing at which the rapid change is detected. May be recorded.
Further, in the playback device according to the present invention, the third generation means may execute the third generation only when a rapid change in the audio data has not been detected in a past fixed period from the timing at which the rapid change is detected. It may be configured to generate time data.
[0024]
When the recording apparatus and the reproducing apparatus having such a configuration are used, even when the audio waveform frequently shows a sudden change, the time interval of the time data for time adjustment is appropriately maintained, and confusion between adjacent time data is obtained. Does not occur.
[0025]
Further, in the reproducing apparatus according to the present invention, the adjusting means performs the replay analysis based on the regression line or the regression curve obtained by performing regression analysis on the second time data and the third time data. A configuration for adjusting the data reproduction timing may be adopted.
[0026]
When the reproducing apparatus having such a configuration is used, the error in the time data for time adjustment is adjusted as a whole, so that the accuracy of the transmission timing of the control data in the synchronous reproduction is improved.
[0027]
BEST MODE FOR CARRYING OUT THE INVENTION
[1] First Embodiment
[1.1] Configuration, function, and data format
[1.1.1] Overall configuration
FIG. 1 is a diagram showing a configuration of the synchronous recording / reproducing apparatus SS according to the first embodiment of the present invention. The synchronous recording / reproducing apparatus SS includes a music CD drive 1, an FD drive 2, an automatic performance piano unit 3, a sound generation unit 4, an operation display unit 5, and a controller unit 6.
[0028]
The music CD drive 1, FD drive 2, automatic performance piano section 3, sounding section 4, and operation display section 5 are connected to the controller section 6 by communication lines. Further, the automatic performance piano section 3 and the sound generation section 4 are directly connected by a communication line.
[0029]
[1.1.2] Music CD drive
The audio data recorded on the music CD includes audio data indicating audio information and a time code indicating reproduction timing of the audio data. The music CD drive 1 is a device that reads audio data from a loaded music CD according to an instruction from the controller unit 6 and sequentially outputs audio data included in the read audio data. The music CD drive 1 is connected to a communication interface 65 of the controller 6 via a communication line.
[0030]
The audio data output from the music CD drive 1 is digital audio data having a sampling frequency of 44100 Hz and two quantization channels of 16 left and right. The data output from the music CD drive 1 does not include a time code. The configuration of the music CD drive 1 is the same as that of a general music CD drive capable of digitally outputting audio data, and a description thereof will be omitted.
[0031]
[1.1.3] FD drive
The FD drive 2 is a device that records an SMF (Standard MIDI File) on the FD, reads the SMF recorded on the FD, and transmits the read SMF. The FD drive 2 is connected to a communication interface 65 of the controller 6 via a communication line. The configuration of the FD drive 2 is the same as that of a general FD drive, and a description thereof will be omitted.
[0032]
[1.1.4] MIDI events and SMF
The SMF is a file including MIDI events, which are performance control data according to the MIDI standard, and delta times, which are data indicating the execution timing of each MIDI event. The formats of the MIDI event and the SMF will be described with reference to FIGS.
[0033]
FIG. 2 shows note-on events, note-off events, and system exclusive events as examples of MIDI events. The note-on event is a MIDI event for instructing the generation of a musical tone. The note-on event is 9nH (n is a channel number, H is a hexadecimal number, the same applies hereinafter) indicating a sound, a note number indicating a pitch, and a sound intensity ( Or the velocity of the keystroke). Similarly, the note-off event is a MIDI event for instructing to silence a musical tone, and is composed of 8 nH indicating silence, a note number indicating a pitch, and a velocity indicating a strength at the time of silence (or a key release speed). . On the other hand, a system exclusive event is a MIDI event for transmitting / receiving or recording data in a format freely determined by a product or software manufacturer. F0H indicating the start of the system exclusive event, data length, data, and end of the system exclusive event And F7H. As described above, the MIDI event does not have time information, and is used for real-time tone generation, silencing, and other control.
[0034]
FIG. 3 shows the outline of the format of the SMF. The SMF consists of a header chunk and a track chunk. The header chunk contains control data relating to the format and time unit of the data contained in the track channel. The track chunk includes a MIDI event and a delta time indicating the execution timing of each MIDI event.
[0035]
In the SMF, as the delta time, a method of expressing a relative time with respect to the immediately preceding MIDI event in a unit of time called a clock, and an absolute time from the beginning of the music are called hours, minutes, seconds and frames. There is a method of expressing by a combination of time units. In the following description, for the sake of simplicity, the delta time is an absolute time from a reference time point, and its unit is expressed in seconds.
In this specification, MIDI data is a general term for data created according to the MIDI standard.
[0036]
[1.1.5] Automatic performance piano section
The automatic performance piano unit 3 is a musical sound generating device that outputs an acoustic piano sound and a piano sound by electronic musical sound synthesis according to a key operation and a pedal operation by a user of the synchronous recording / reproducing apparatus SS. Further, the automatic performance piano unit 3 generates a MIDI event in accordance with a key operation and a pedal operation by the user, and transmits the generated MIDI event. Further, the automatic performance piano section 3 receives the MIDI event, and performs an automatic performance using an acoustic piano sound and a piano sound based on electronic musical sound synthesis according to the received MIDI event.
[0037]
The automatic performance piano unit 3 includes a piano 31, a key sensor 32, a pedal sensor 33, a MIDI event control circuit 34, a sound source 35, and a drive unit 36.
[0038]
The key sensor 32 and the pedal sensor 33 are respectively provided on the plurality of keys and the plurality of pedals of the piano 31, and detect the positions of the keys and the pedal, respectively. The key sensor 32 and the pedal sensor 33 transmit the detected position information to the MIDI event control circuit 34 together with the identification numbers and the detection time information corresponding to the respective keys and pedals.
[0039]
The MIDI event control circuit 34 receives the key and pedal position information together with the key and pedal identification information and the time information from the key sensor 32 and the pedal sensor 33, and immediately executes a note-on event or a note from the information. This is a circuit that generates a MIDI event such as an OFF event and outputs the generated MIDI event to the controller unit 6 and the sound source 35. Further, the MIDI event control circuit 34 has a function of receiving a MIDI event from the controller unit 6 and transferring the received MIDI event to the sound source 35 or the driving unit 36. Whether the MIDI event control circuit 34 transfers the MIDI event received from the controller unit 6 to the sound source 35 or the drive unit 36 depends on an instruction from the controller unit 6.
[0040]
The sound source 35 is a device that receives a MIDI event from the MIDI event control circuit 34 and outputs sound information of various musical instruments as digital audio data of left and right two channels based on the received MIDI event. The sound source 35 electronically synthesizes digital sound data of the pitch indicated by the received MIDI event, and transmits the digital sound data to the mixer 41 of the sound generator 4.
[0041]
The drive unit 36 is disposed on each key and each pedal of the piano 31 and includes a group of solenoids for driving them and a control circuit for controlling the group of solenoids. Upon receiving the MIDI event from the MIDI event control circuit, the control circuit of the drive unit 36 adjusts the amount of current supplied to the solenoid disposed on the corresponding key or pedal, and controls the magnetic force generated by the solenoid. The operation of the key or the pedal according to the MIDI event is realized.
[0042]
[1.1.6] Sound generation unit
The sound generation unit 4 is a device that receives audio data from the automatic performance piano unit 3 and the controller unit 6, converts the received audio data into sound, and outputs the sound. The sound generator 4 includes a mixer 41, a D / A converter 42, an amplifier 43, and a speaker 44.
[0043]
The mixer 41 is a digital stereo mixer that receives a plurality of digital audio data of two channels on the left and right and converts them into a set of digital audio data on the left and right. The mixer 41 receives digital audio data from the sound source 35 of the automatic performance piano section 3 and, at the same time, receives digital audio data read from a music CD by the music CD drive 1 via the controller section 6. The mixer 41 arithmetically averages the received digital audio data, and sends the result to the D / A converter 42 as a set of left and right digital audio data.
[0044]
The D / A converter 42 receives digital audio data from the mixer 41, converts the received digital audio data into an analog audio signal, and outputs the analog audio signal to the amplifier 43. The amplifier 43 amplifies the analog audio signal input from the D / A converter 42 and outputs it to the speaker 44. The speaker 44 converts the amplified analog audio signal input from the amplifier 43 into a sound. As a result, the sound data recorded on the music CD and the sound data generated by the sound source 35 are output from the sound generator 4 as stereo sound.
[0045]
[1.1.7] Operation display unit
The operation display unit 5 is a user interface used when a user of the synchronous recording / reproducing apparatus SS performs various operations of the synchronous recording / reproducing apparatus SS.
The operation display unit 5 has a keypad which is pressed when the user gives an instruction to the synchronous recording / reproducing apparatus SS, a liquid crystal display for the user to check the state of the synchronous recording / reproducing apparatus SS, and the like. When the keypad is pressed by the user, the operation display unit 5 outputs a signal corresponding to the pressed keypad to the controller unit 6. When the operation display unit 5 receives bitmap data including character and graphic information from the controller unit 6, the operation display unit 5 displays characters and graphics on the liquid crystal display based on the received bitmap data.
[0046]
[1.1.8] Controller unit
The controller unit 6 is a device that controls the entire synchronous recording / reproducing device SS. The controller unit 6 includes a ROM (Read Only Memory) 61, a CPU (Central Processing Unit) 62, a DSP (Digital Signal Processor) 63, a RAM (Random Access Memory) 64, and a communication interface 65. These components are interconnected by a bus.
[0047]
The ROM 61 is a non-volatile memory that stores various control programs. The control program stored in the ROM 61 includes, in addition to a program for performing general control processing, a program for causing the CPU 62 to execute processing in a recording operation and a reproducing operation of the SMF described later. The CPU 62 is a microprocessor capable of executing general-purpose processing, reads a control program from the ROM 61, and performs control processing according to the read control program. The DSP 63 is a microprocessor capable of processing digital audio data at high speed. Under the control of the CPU 62, the DSP 63 applies digital audio data received by the controller unit 6 from the music CD drive 1 or the FD drive 2 in a management event generation process described later. A necessary process such as a filter process is performed, and data obtained as a result is transmitted to the CPU 62. The RAM 64 is a volatile memory, and temporarily stores data used by the CPU 62 and the DSP 63. The communication interface 65 is an interface capable of transmitting and receiving digital data in various formats. The digital data transmitted and received between the music CD drive 1, the FD drive 2, the automatic performance piano unit 3, the sound generation unit 4, and the operation display unit 5. Performs the necessary format conversion, and relays data between the respective devices and the controller unit 6.
[0048]
[1.2] Operation
Next, the operation of the synchronous recording / reproducing apparatus SS will be described.
[1.2.1] Recording operation
First, the operation of the synchronous recording / reproducing apparatus SS when the user of the synchronous recording / reproducing apparatus SS plays a piano in accordance with the reproduction of a commercially available music CD and records the performance information on the FD as MIDI data will be described. Note that a music CD used in a recording operation described below is referred to as a music CD-A to distinguish it from a music CD used in a reproduction operation described later.
[0049]
[1.2.1.1] Recording start operation
The user sets the music CD-A in the music CD drive 1 and sets an empty FD in the FD drive 2. Subsequently, the user presses the keypad of the operation display unit 5 corresponding to the start of recording of the performance data. The operation display unit 5 outputs a signal corresponding to the pressed keypad to the controller unit 6.
[0050]
When receiving a signal corresponding to the start of recording of performance data from the operation display unit 5, the CPU 62 of the controller unit 6 transmits a music CD playback command to the music CD drive 1. In response to the reproduction command, the music CD drive 1 sequentially transmits the audio data recorded on the music CD-A to the controller 6. The controller unit 6 receives a set of left and right audio data from the music CD drive 1 every 1/44100 seconds. Hereinafter, the value of one set of data on the left and right is represented as (R (n), L (n)), and is generated from this one set of data or this one set of data in a management event generation process described later. The value of each data is called a “sample value”. R (n) and L (n) indicate the values of the right channel data and left channel data, respectively, and are any integers from -32768 to 32767. n is an integer indicating the order of the audio data, and increases from 0, 1, 2,...
[0051]
[1.2.1.2] Transmission of audio data to sound generator
When the CPU 62 receives the sample value from the music CD drive 1, the CPU 62 starts counting the time as 0 second. At the same time, the CPU 62 sequentially transmits the received sample values to the sound generator 4. When receiving the sample values from the controller 6, the sound generator 4 sequentially converts the sample values into sounds and outputs the sounds. As a result, the user can listen to the music recorded on the music CD-A.
[0052]
[1.2.1.3] Generation of management event
The CPU 62 transmits the received sample values to the sound generator 4 and simultaneously records the received sample values in the RAM 64. When the CPU 62 records a predetermined number of sample values in the RAM 64, the CPU 62 sends the DSP 63 an execution instruction for performing a management event generation process described below. The number of sample values recorded in the RAM 64 until the CPU 62 transmits the execution instruction of the management event generation processing to the DSP 63 depends on the characteristics of a filter used in the processing described below. The longer the delay time of the delay device used in the filter, the greater the number. In the following description, as an example, it is assumed that the CPU 62 transmits an execution instruction of the management event generation processing when a sample value for one second, that is, 44100 sample values is recorded in the RAM 64.
[0053]
The management event generation process includes a filter process of extracting a component of a frequency band lower than a certain frequency from a sound waveform indicated by the audio data recorded in the RAM 64, and a filter process of extracting a component of a frequency band lower than the lower frequency than the frequency. And a process of generating a management event by comparing and determining values obtained by the two filter processes. The management event is a flag for creating time information used in a timing adjustment process described later.
Hereinafter, the management event generation process will be described with reference to FIG.
[0054]
When the DSP 63 receives the execution instruction of the management event generation processing from the CPU 62, the DSP 100 starts from the top of the sample values recorded in the RAM 64, that is, (R (0), L (0)) to (R (44099), L (44099)) (step S1). Hereinafter, a series of 44100 sample values will be referred to as “raw audio data”, and if it is necessary to distinguish the raw audio data, the raw audio data ending with (R (n), L (n)) The audio data is represented as “raw audio data (n)”. That is, the raw audio data read first by the DSP 63 in step S1 is the raw audio data (44099).
[0055]
Subsequently, the DSP 63 converts stereo data into monaural data by arithmetically averaging the left and right values of each sample value of the read raw audio data (step S2). This monaural conversion process is a process for reducing the load on the DSP 63 in the process after this step.
[0056]
Subsequently, the DSP 63 obtains an absolute value for a series of monaural converted sample values (step S3). The process in this step is a process for obtaining an alternative value of the power of each sample value. Since the absolute value is smaller than the square value indicating the power and can be easily processed, in the present embodiment, the absolute value is used as a substitute value of the square value of each sample value. Therefore, when the processing capability of the DSP 63 is high, a square value may be calculated in this step instead of the absolute value of each sample value.
[0057]
Subsequently, the DSP 63 further performs a filtering process using a low-pass filter on the series of sample values converted into the absolute values in step S3 (step S4). The value obtained as a result of the processing in steps S1 to S4 is hereinafter referred to as a “medium term index”, and the medium term index corresponding to (R (n), L (n)) is referred to as a “medium term index (n)”. Hereinafter, as an example, the frequency of the low-pass filter used in step S4 is 100 Hz. The medium-term index (n) indicates a tendency of a medium-term change in n of the speech waveform indicated by the series of sample values. That is, the sound waveform indicated by the series of sample values changes up and down in a short period of time, but the change in the values of the series of sample values filtered by the low-pass filter is suppressed by a plurality of preceding sample values. As a result, the short-term fluctuation element is removed from the speech waveform indicated by the series of medium-term indexes, and only the medium-term and long-term fluctuation elements remain. By the process of step S4, a series of medium-term indexes ending with the medium-term index (n), that is,... The medium-term index (n-2), the medium-term index (n-1), and the medium-term index (n) are created. The DSP 63 records these medium-term indicators in the RAM 64 (step S5).
[0058]
Subsequently, the DSP 63 performs a filtering process using a comb filter on the series of medium-term indexes obtained in step S4 (step S6). The process in this step is a process for further extracting components in a low frequency band below a certain frequency from the audio waveform indicated by the series of medium-term indexes. This step is the same as the processing using a low-pass filter having a lower frequency than the frequency of the low-pass filter used in step S4. However, since the comb filter usually has a smaller load on the DSP 63 than the low-pass filter, this step is performed. In embodiments, a low pass filter is substituted for a comb filter.
[0059]
FIG. 5 shows the configuration of an example of the comb filter usable in step S6. In FIG. 5, processing indicated by a square indicates delay processing, and z -K K in the above means that the delay time in the delay processing is (sampling period × k). As described above, since the sampling frequency of a music CD is 44100 Hz, the sampling cycle is 1/44100 seconds. On the other hand, a process indicated by a triangle indicates a multiplication process, and a value indicated in the triangle indicates a coefficient of the multiplication. Hereinafter, as an example, k is set to 22050. As a result, components in a frequency band higher than 1 Hz are roughly removed by the filtering process in step S6. That is, the speech waveform indicated by the series of values obtained as a result of the processing in step S6 is obtained by removing the medium-term fluctuation elements from the speech waveform indicated by the series of medium-term indexes and extracting only the long-term fluctuation elements.
[0060]
Subsequently, the DSP 63 multiplies each of the series of values obtained by the filter processing in step S6 by a positive constant h (step S7). The multiplication process by h is a process of adjusting the frequency at which a positive result is obtained in the comparison determination process in the next step S8. Generally, a smaller value of h results in a positive result in the comparison determination process. The time interval between the two is reduced. If this time interval is too wide, the time interval of generation of the management event in the following step S11 becomes wide, and as a result, the accuracy in the timing adjustment processing described later decreases. On the other hand, if the time interval at which a positive result is obtained in the comparison determination process is too narrow, those positive results are successively canceled by the process of step S10 described below. The interval is widened, and as a result, accuracy in the timing adjustment processing is reduced. Therefore, as a value of h, a value at which a management event is generated at an appropriate frequency is empirically used.
[0061]
The value obtained as a result of the processing in step S7 is hereinafter referred to as a “long-term index”, and the long-term index corresponding to (R (n), L (n)) is referred to as a “long-term index (n)”. By the processing in step S7, a series of long-term indexes ending with the long-term index (n), that is,... A long-term index (n-2), a long-term index (n-1), and a long-term index (n) are created. The DSP 63 records these long-term indexes in the RAM 64 (step S8).
[0062]
Subsequently, the DSP 63 reads the medium-term index (n) and the long-term index (n) from the RAM 64, and performs a comparison determination as to whether the medium-term index (n) is equal to or greater than the long-term index (n) (step S9). The medium-term index and the long-term index read first by the DSP 63 in step S9 are a medium-term index (44099) and a long-term index (44099). This comparison determination processing indicates that the audio waveform indicated by the unprocessed audio data has changed significantly in the medium term at the time corresponding to the sample value of (R (n), L (n)). That is, when the volume of the sound included in the frequency band of 1 Hz to 100 Hz in the audio waveform of the music rapidly increases, the value of the medium-term index exceeds the value of the long-term index, and a positive result is obtained from the comparison determination processing in step S9. (Hereinafter, referred to as “Yes”).
[0063]
If Yes is obtained by the comparison determination processing in step S9, the DSP 63 records the time at that time in the RAM 64. At the same time, the DSP 63 reads from the RAM 64 the record of the time at which Yes was obtained in the comparison determination process performed in the past in step S9, and determines whether there is a record at which Yes was obtained in the past period τ (step S10). The determination process in this step is a process for preventing the management event from being generated in the same short time interval in the next step S11 when the result of the comparison determination process in step S9 is short in a short time interval. . If the management event is generated at a short time interval, it is possible to correctly associate the recorded management event with the management event generated by newly obtained audio data in the timing adjustment processing described later. It will be difficult. By the processing in step S10, it is possible to avoid generation of the management event in close proximity at time intervals equal to or shorter than the period τ. As a value of τ, a value at which a generated management event has an appropriate time interval is empirically used. In addition, in the first determination process in step S10, since there is no preceding step S9, the determination result is No.
[0064]
If a negative result (hereinafter, referred to as “No”) is obtained by the determination processing in step S10, the DSP 63 changes the audio waveform indicated by the raw audio data to (R (n)) as a result of the above series of processing. , L (n)), a management event indicating that a predetermined condition is satisfied is transmitted to the CPU 62 (step S11).
[0065]
If the result of the comparison determination in step S9 is No, if the result of determination in step S10 is Yes, and if the process of step S11 has been completed, the DSP 63 causes the CPU 62 to send a new sample value from the music CD drive 1. , That is, (R (n + 1), L (n + 1)), and waits until the sample value is recorded in the RAM 64. When a new sample value is recorded in the RAM 64 (step S12), the DSP 63 returns the process to step S1, and a series of sample values ending with the sample value newly recorded in the RAM 64, that is, the raw audio data (n + 1) ), The above-described processing of step S1 and subsequent steps is performed.
[0066]
The above processing of steps S1 to S12 is continued while increasing the value of n by 1 until the user gives an instruction to end the recording of the performance data. The above is the description of the management event generation process. FIG. 6 is a diagram illustrating a state of generation of a management event when a management event generation process is performed on actual audio data. In the creation of this drawing, a one-stage IIR (Infinite Impulse Response) filter is used as the low filter in step S4. In addition, 4 is used as the constant h in step S7, and 0.55 seconds is used as the period τ in step S10.
[0067]
In FIG. 6, immediately after the time point A at which the first management event is generated, there are B and C at which the medium-term index exceeds the long-term index, but the management event is generated only at A. This is because B and C have not passed the predetermined period from A, that is, 0.55 seconds, so the result of the determination in step S10 is Yes, and the process in step S11 is not performed.
[0068]
[1.2.1.4] Generation of MIDI events
While the management event generation processing by the DSP 63 is performed, the user starts playing using the piano 31. That is, while listening to the music on the music CD-A output from the sound generator 4, the user performs the keying and pedal operation of the piano 31 in accordance with the music.
[0069]
Information on the performance of the user using the piano 31 is detected as key and pedal movements by a key sensor 32 and a pedal sensor 33, and is converted into a MIDI event by a MIDI event control circuit 34. Sent.
[0070]
[1.2.1.5] Recording of events in SMF
As described above, the CPU 62 receives the management event from the DSP 63 and the MIDI event from the MIDI event control circuit 34 of the automatic performance piano unit 3 during the reproduction of the music CD-A. FIG. 7 is a schematic diagram showing a temporal relationship between generation of a management event and generation of a MIDI event. The CPU 62 manages the time from the start of the time measurement, that is, the time when 0.13 seconds, 0.81 seconds, 1.45 seconds... Elapse from the time when the first sample value is received from the music CD drive 1. Receive the event. Also, the CPU 62 receives the MIDI event when the time of 0.49 seconds, 1.23 seconds, 2.18 seconds... Has elapsed since the start of the timing.
[0071]
Upon receiving the management event, the CPU 62 generates a system exclusive event indicating the management event, attaches the generated system exclusive event to the RAM 64 with a delta time indicating the elapsed time at the time of reception of the management event, and records the generated system exclusive event in the RAM 64. I do. Similarly, when receiving the MIDI event, the CPU 62 adds the delta time indicating the elapsed time at the time of receiving the MIDI event to the received MIDI event, and records the delta time in the RAM 64.
[0072]
When the reproduction of the music on the music CD-A ends and the performance of the user using the piano 31 ends, the user presses the keypad of the operation display unit 5 corresponding to the end of the recording of the performance data. The operation display unit 5 transmits a signal corresponding to the pressed keypad to the controller unit 6. When receiving the signal indicating the end of the recording of the performance data from the operation display unit 5, the CPU 62 transmits a music CD playback stop command to the music CD drive 1. In response to the playback stop command, the music CD drive 1 stops playing the music CD-A.
[0073]
Subsequently, the CPU 62 reads the system exclusive event and the MIDI event indicating the management event recorded in the RAM 64 together with the corresponding delta time, combines these data, and generates the SMF track chunk. Further, the CPU 62 adds an appropriate header chunk to the created track chunk to generate an SMF. FIG. 8 is a diagram schematically illustrating an SMF generated by the CPU 62. When completing the generation of the SMF, the CPU 62 transmits the generated SMF to the FD drive 2 together with the write command. Upon receiving the write command and the SMF from the CPU 62, the FD drive 2 writes the SMF into the set FD.
[0074]
[1.2.2] Reproduction operation
Next, the operation of reproducing the SMF recorded by the above-described method and synchronizing the audio data of the music CD with the MIDI data of the SMF will be described. The music CD used in the following reproduction operation includes the same music as the music CD-A used in the above-described recording operation, but the version is different, and the performance speed of the music included in the music CD is slightly lower. Is different. Since the audio data included in the music CD has been edited with the sound effect and the like to the master data, there is a slight difference between the audio data included in the music CD-A and the content thereof. The levels of the audio waveforms shown are also different. Therefore, the music CD used in the reproduction operation described below is referred to as music CD-B to distinguish it from music CD-A.
[0075]
[1.2.2.1] Playback start operation
The user sets the music CD-B in the music CD drive 1 and sets the FD in which the SMF is recorded on the FD drive 2. Subsequently, the user presses the keypad of the operation display unit 5 corresponding to the start of the reproduction of the performance data. The operation display unit 5 outputs a signal corresponding to the pressed keypad to the controller unit 6.
[0076]
When the CPU 62 receives a signal instructing the start of the reproduction of the performance data from the operation display unit 5, the CPU 62 first transmits an SMF transmission command to the FD drive 2. The FD drive 2 reads the SMF from the FD in accordance with the SMF transmission command, and transmits the read SMF to the controller unit 6. The CPU 62 receives the SMF from the FD drive 2 and records the received SMF in the RAM 64.
[0077]
Subsequently, the CPU 62 transmits a music CD playback command to the music CD drive 1. In response to the reproduction command, the music CD drive 1 sequentially transmits the audio data recorded on the music CD-B to the controller 6. The controller unit 6 receives a set of left and right data from the music CD drive 1 every 1/44100 seconds. Here, the value of the data received by the CPU 62 from the music CD drive 1 is represented as (r (n), l (n)). Note that the ranges of the values of r (n) and l (n), and the definitions of “sample value” used below are the same as those for R (n) and L (n).
[0078]
[1.2.2.2] Transmission of voice data to sound generator
The CPU 62 samples values from the music CD drive 1, that is, (r (0), l (0)), (r (1), l (1)), (r (2), l (2)),. Is received, the received sample value is transmitted to the sound generator 4. When receiving the sample value from the controller 6, the sound generator 4 converts the sample value into a sound and outputs the sound. As a result, the user can listen to the music recorded on the music CD-B.
[0079]
[1.2.2.3] Generation of management event
The CPU 62 transmits the received sample values to the sound generator 4 and simultaneously records the received sample values in the RAM 64. After recording the predetermined number of sample values in the RAM 64, the CPU 62 sends the DSP 63 an instruction to execute the management event generation process. Upon receiving this execution instruction, the DSP 63 performs the management event generation process described with reference to FIG. 4 on a series of sample values of the music CD-B sequentially recorded in the RAM 64. As a result, the DSP 63 sequentially transmits the management event to the CPU 62 at the timing when the determination result of step S10 in FIG.
[0080]
[1.2.2.4] Playback of MIDI event
On the other hand, when receiving the first sample value, that is, (r (0), l (0)) from the music CD drive 1, the CPU 62 sets the time to 0 seconds and starts timekeeping. The elapsed time based on the timing is referred to as “time T”. At the same time, the CPU 62 reads the SMF from the RAM 64, and sequentially compares the time T at that time with the delta time included in the SMF. If the time T matches the delta time, and if the event corresponding to the delta time is a MIDI event, the CPU 62 transmits the MIDI event to the automatic performance piano unit 3.
[0081]
In the automatic performance piano section 3, when the MIDI event control circuit 34 receives a MIDI event from the CPU 62, the MIDI event control circuit 34 transmits the received MIDI event to the sound source 35 or the drive section 36. When the MIDI event is transmitted to the sound source 35, the sound source 35 sequentially transmits the sound data indicating the sound of the musical instrument to the sound generator 4 according to the received MIDI event. The sounding unit 4 outputs, from the speaker 44, the performance of the musical instrument sound received from the sound source 35 together with the sound of the music piece of the music CD-B that has been reproduced. On the other hand, when the MIDI event is transmitted to the driving unit 36, the driving unit 36 moves the keys and the pedal of the piano 31 according to the received MIDI event. In any case, the user can simultaneously listen to the music recorded on the music CD-B and the performance of the musical instrument sound based on the performance information recorded in the SMF.
[0082]
However, as described above, the music recorded on the music CD-B is recorded at a slightly different speed from that of the music recorded on the music CD-A. The performance and the music deviate. FIG. 9 shows a temporal relationship between the MIDI event and the management event recorded in the SMF, the management event generated when the music CD-B is reproduced, and the MIDI event after the timing adjustment processing is performed. FIG. In the example of this figure, the clock frequency used when the audio data was recorded on the music CD-B was slightly higher than the clock frequency used when the audio data was recorded on the music CD-A. As a result, when reproduced by the same music CD drive 1, the music recorded on the music CD-B is performed faster than the music recorded on the music CD-A. Therefore, when a MIDI event is transmitted to the automatic performance piano unit 3 according to the delta time recorded in the SMF, the automatic performance by the automatic performance piano unit 3 is delayed with respect to the music on the music CD-B. In order to adjust the time lag between the performance by the MIDI event and the reproduction of the music CD, the CPU 62 performs a timing adjustment process described below on the MIDI event recorded in the SMF.
[0083]
The timing adjustment process is to use the timing of generation of the management event generated based on the audio data of the music CD-B and the delta time of the management event recorded in the SMF to calculate the delta time of the MIDI event. This is an adjustment process. Hereinafter, the management event recorded in the SMF is referred to as “management event A”, and the management event generated based on the audio data of the music CD-B is referred to as “management event B”.
[0084]
When receiving the management event B from the DSP 63, the CPU 62 records the reception timing in the RAM 64. On the other hand, if the time T matches the delta time and the event corresponding to the delta time is a management event, the CPU 62 determines whether the management event B is received for a certain period before and after the time indicated by the delta time. It monitors whether or not it is. In the following description, as an example, it is assumed that the CPU 62 monitors the reception of the management event B for 0.2 seconds before and 0.2 seconds after the delta time of the management event A. That is, the CPU 62 checks whether or not there is a record of reception of the management event B in the RAM 64 within 0.2 seconds before the time indicated by the delta time of the management event A. Subsequently, the CPU 62 monitors whether the management event B is received until 0.2 seconds elapse from the time indicated by the delta time of the management event A. When the management event B is received before or after the time indicated by the delta time of the management event A, the CPU 62 determines that the management event A and the management event B are the audio data of the music CD-A and the music CD-B. It is determined that the event is a management event generated from the corresponding part. Then, the CPU 62 multiplies (the reception time of the management event B / the delta time of the management event A) by the delta time of the MIDI event and the management event of the SMF that have not been executed yet. This is a process for adjusting the delta time in the SMF based on the reception time of the management event B. The CPU 62 repeats the delta time adjustment processing until the end of the music.
[0085]
FIG. 10 is a data example showing the state of the timing adjustment processing. According to this data example, first, at 0.13 seconds, the delta time of the first management event A matches the time T. Therefore, the CPU 62 confirms whether the management event B has been received for 0.2 seconds before the time. In this case, since the first management event B has been received at the time of 0.11 second, the CPU 62 determines that these management events correspond to each other.
[0086]
Subsequently, the CPU 62 uses the delta time of the management event A of 0.13 seconds and the reception timing of the management event B of 0.11 seconds to determine the delta of the MIDI event and the management event A that have not been processed. Multiply the time by (0.11 / 0.13). As a result, the delta time after the first adjustment is 0.41 seconds for the first MIDI event, 0.69 seconds for the second management event, 1.04 seconds for the second MIDI event, and so on.
Thereafter, at time 0.41 seconds, the delta time of the first MIDI event matches the time T, so that the CPU 62 transmits the first MIDI event to the automatic performance piano section 3.
[0087]
Thereafter, at 0.69 seconds, the delta time of the second management event A matches the time T, so that the CPU 62 determines whether the management event B has been received 0.2 seconds before the time. Confirm. In this case, since the second management event B has been received at 0.75 seconds, the CPU 62 determines that these management events correspond. As a result, as in the case of the first management event A, the CPU 62 multiplies the delta time of the MIDI event and the management event A that have not been processed by (0.75 / 0.69). As a result, the delta time after the second adjustment is 1.14 seconds for the second MIDI event, 1.34 seconds for the third management event, 2.02 seconds for the third MIDI event, and so on. .
Thereafter, at 1.14 seconds, the delta time of the second MIDI event matches the time T, so that the CPU 62 transmits the second MIDI event to the automatic performance piano section 3.
[0088]
Hereinafter, the same processing is repeated until the end of the music. In the case of the data example of FIG. 10, the fourth management event A is generated for 0.2 seconds before and 0.2 seconds after the timing indicated by the delta time. , Is ignored because there is no management event B. Similarly, the eighth management event B is ignored since there is no management event A between 0.2 seconds before and 0.2 seconds after the generation timing.
[0089]
As a result of the MIDI event being transmitted to the automatic performance piano unit 3 in accordance with the delta time subjected to the timing adjustment processing as described above, as shown in the lower part of FIG. The reproduction of the MIDI event is performed at the correct timing.
[0090]
Contrary to the above-described example, even when the music recorded on the music CD-B is performed later than the music recorded on the music CD-A, the timing of the reproduction of the MIDI event can be reduced by the same processing. Adjusted. Therefore, the description is omitted.
[0091]
[2] Second embodiment
In the second embodiment of the present invention, the time code recorded on the music CD is used for synchronizing the reproduction of the audio data recorded on the music CD and the reproduction of the MIDI event recorded on the SMF. Further, in performing the timing adjustment processing, first, the management event generation processing for the audio data of the music CD is completed to the end of the music, and then the timing adjustment processing is performed based on the value obtained by using the regression analysis.
[0092]
[2.1] Music CD drive
The overall configuration, the function of each component, and the data format of the MIDI data in the second embodiment are the same as those in the first embodiment, except for the function of the music CD drive 1. Will be described, and the other description will be omitted.
In the second embodiment, the music CD drive 1 transmits a time code to the controller 6 together with audio data recorded on a music CD. Other points are the same as those of the music CD drive 1 in the first embodiment.
[0093]
[2.2] Operation
Regarding the operation of the synchronous recording / reproducing apparatus SS in the second embodiment, the following three points are different from the first embodiment.
(1) In the performance data recording operation, the time code corresponding to the reception time of the management event and the MIDI event recorded in the SMF is recorded as the delta time of the event.
(2) In the reproduction operation of the performance data, the audio data of the music CD is reproduced to the end first, and a management event generation process is performed on the audio data. A regression line is determined for the management event obtained as a result and the time information of the management event recorded in the SMF, and the delta time corresponding to the MIDI event is adjusted based on the regression line. After the timing adjustment processing is completed, the music CD is reproduced again, and the MIDI event is reproduced synchronously with the reproduction.
(3) In the performance data reproducing operation, the MIDI event is transmitted to the automatic performance piano unit 3 based on the time clock transmitted from the music CD drive 1.
[0094]
Other operations in the second embodiment are the same as those in the first embodiment, and thus detailed description is omitted. In the following description, it is assumed that the music CD-A is used in the recording operation and the music CD-B is used in the reproducing operation, as in the first embodiment. In addition, time, minute, second, and frame are used as the expression format of the time code. However, like the delta time recorded in the SMF, in the following description, the time information indicated by the time code is used for simplification. In seconds.
[0095]
[2.2.1] Recording operation
In the synchronous recording / reproducing apparatus SS of the second embodiment, when the user gives an instruction to start recording performance data using the operation display unit 5, the audio data of the music CD-A is transmitted from the music CD drive 1 together with the time code to the controller. The data is sequentially transmitted to the unit 6.
[0096]
In the controller 6, the CPU 62 sequentially transmits the sample values of the received audio data to the sound generator 4. As a result, the music of the music CD-A is output from the sounding unit 4 as a sound. On the other hand, the CPU 62 sequentially records the received sample values in the RAM 64 together with the time code.
[0097]
After recording the predetermined number of sample values in the RAM 64, the CPU 62 sends the DSP 63 an instruction to execute the management event generation process. Upon receiving this execution instruction, the DSP 63 performs a management event generation process on a series of sample values of the music CD-A sequentially recorded in the RAM 64. The management event generation process in the second embodiment is the same as the management event generation process in the first embodiment described with reference to FIG. As a result, the DSP 63 sequentially transmits the management event to the CPU 62 at the timing when the determination result of step S10 in FIG. Upon receiving the management event, the CPU 62 generates a system exclusive event indicating the management event. Then, immediately before receiving the management event, the CPU 62 converts the time indicated by the time code received from the music CD drive 1 into a delta time format, and converts the delta time into a system exclusive event indicating the management event. The information is recorded in the RAM 64 in association with each other.
[0098]
On the other hand, the user performs a performance using the piano 31 while listening to the music on the music CD-A output as a sound from the sound generator 4. Information on the performance of the user is transmitted from the MIDI event control circuit 34 to the CPU 62 as a MIDI event. Upon receiving the MIDI event from the MIDI event control circuit 34, the CPU 62 converts the time indicated by the time code received immediately before from the music CD drive 1 into a delta time format, and associates the delta time with the MIDI event, The data is recorded in the RAM 64.
[0099]
Thereafter, when the user instructs to end the recording of the performance data, the music CD drive 1 stops playing the music CD-A. Further, the CPU 62 reads the system exclusive event and the MIDI event indicating the management event recorded in the RAM 64 together with the corresponding delta time, combines these data, and generates the same SMF as that shown in FIG. However, the delta time of the SMF in the second embodiment is based on the time code of the music CD-A, and is not based on the time measured by the CPU 62. The SMF generated in this way is transmitted to the FD drive 2 and written to the FD set by the FD drive 2.
[0100]
[2.2.2] Reproduction operation
Next, the operation of reproducing the SMF recorded by the above-described method and synchronizing the audio data of the music CD-B with the MIDI data of the SMF will be described.
When the user gives an instruction to start playing the performance data using the operation display unit 5, first, the SMF recorded in the FD is transmitted from the FD drive 2 to the CPU 62, and the CPU 62 records the received SMF in the RAM 64. Subsequently, the music CD drive 1 starts playing the music CD-B, and the audio data and the time code recorded on the music CD-B are sequentially transmitted to the controller 6. The CPU 62 records the audio data in the RAM 64 together with the time code. However, the CPU 62 does not transmit the received audio data to the sound generator 4, and therefore, the user cannot hear the music on the music CD-B.
[0101]
After recording the predetermined number of sample values in the RAM 64, the CPU 62 sends the DSP 63 an instruction to execute the management event generation process. Upon receiving this execution instruction, the DSP 63 performs a management event generation process on a series of sample values of the music CD-B sequentially recorded in the RAM 64. As a result, the DSP 63 sequentially transmits the management event to the CPU 62 at the timing when the determination result of step S10 in FIG. Upon receiving the management event, the CPU 62 converts the time indicated by the time code received immediately before the time into a delta time format, and records the delta time in the RAM 64. Hereinafter, the management event recorded in the SMF is referred to as “management event A”, the delta time recorded in the SMF is referred to as “delta time A”, and the management event generated by the audio data of the music CD-B is referred to as “management event A”. The delta time recorded for the reception of the management event B according to the time code of the management event B and the music CD-B is referred to as "delta time B".
[0102]
When the reproduction of the music CD-B reaches the end of the music, the music CD drive 1 ends the reproduction of the music CD-B. Subsequently, the CPU 62 reads the delta time A and the delta time B from the RAM 64, and performs the same delta time adjustment processing as the timing adjustment processing in the first embodiment. FIG. 11 is a data example showing how the delta time is adjusted in the second embodiment. In FIG. 11, the delta time and the reception timing of the management event B are different from the first embodiment in that they are based on the time code of the music CD-B. Adjustment of the delta time for the MIDI event is not performed at this stage. Other points are the same as those in the timing adjustment processing in the first embodiment, and the description thereof is omitted. By this delta time adjustment processing, the delta time A and the delta time B are associated with each other. Hereinafter, the value of the delta time A of the nth set is represented as A (n), and the value of the delta time B is represented as B (n). In addition, those sets are represented as (A (n), B (n)). Therefore, (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]
Subsequently, the CPU 62 obtains a regression line for these (A (n), B (n)) by the least square method. Note that a regression curve or another approximate curve may be obtained instead of the regression line. Actually, a regression line is obtained for (A (n), B (n)) obtained for the audio data of the whole music. For the sake of explanation, the regression line will be described below using nine sets of data obtained from FIG. A straight line is determined.
[0104]
FIG. 12 is a graph showing nine sets of (A (n), B (n)) and their regression lines. The equation indicating the regression line is B = 0.9414A-0.006. In this formula, when the time code of the music CD-B is used as a reference, the start time of the performance data of the SMF is delayed by 0.006 seconds from the start time of the audio data of the music CD-B, and the performance speed is 5.86% slower. Therefore, the CPU 62 adjusts the timing for each delta time by substituting the value of the delta time of the MIDI event recorded in the SMF into A of the calculated regression line equation. FIG. 13 shows the delta time before the timing adjustment and the delta time after the adjustment. The timing adjustment of the CPU 62 means that the delta time of each event of the SMF is reduced by 5.86% as a whole and is further advanced by 0.006 seconds. The CPU 62 updates the delta time for the MIDI event of the SMF with the delta time after the timing adjustment.
[0105]
After completing the timing adjustment process, the CPU 62 transmits a music CD-B reproduction command to the music CD drive 1 again. In response to the playback command, the music CD drive 1 starts playing the music CD-B, and the audio data and the time code recorded on the music CD-B are sequentially transmitted to the controller 6. The CPU 62 sequentially transmits the received voice data to the sound generator 4, and the sound of the music CD-B is output from the sound generator 4 as a sound.
[0106]
The CPU 62 sequentially transmits the received audio data to the tone generator 4 and simultaneously compares the time information indicating the delta time of the MIDI event with the time information indicating the time code of the music CD-B transmitted from the music CD drive 1. When they match, a MIDI event corresponding to the matched delta time is transmitted to the automatic performance piano section 3. Upon receiving the MIDI event, the automatic performance piano section 3 transmits the sound data of the musical tone electronically synthesized from the sound source 35 to the sound generation section 4 or moves the keys and pedals of the piano 31 by the drive section 36 to thereby transmit the MIDI data. Perform an automatic performance according to the event. As a result, the user can simultaneously listen to the music recorded on the music CD-B and the performance based on the performance information recorded in the SMF.
[0107]
[3] Modified example
The first embodiment and the second embodiment described above are each examples of the embodiment of the present invention, and various modifications can be made to the above embodiment without departing from the spirit of the present invention. Hereinafter, modified examples will be described.
[0108]
[3.1] First Modification
In the first modification, the components of the synchronous recording / reproducing device SS are not arranged in the same device but are arranged separately for each group.
For example, they can be separately arranged in the following groups.
(1) Music CD drive 1
(2) FD drive 2
(3) Automatic performance piano part 3
(4) Mixer 41 and D / A converter 42
(5) Amplifier 43
(6) Speaker 44
(7) Operation display unit 5 and controller unit 6
Further, the controller unit 6 may be separately configured as a device that performs only a recording operation and a device that performs only a reproducing operation.
[0109]
The groups of these components are connected by an audio cable, a MIDI cable, an optical optical cable, a USB (Universal Serial Bus) cable, a dedicated control cable, and the like. The FD drive 2, the amplifier 43, the speaker 44, and the like may use commercially available ones.
According to the first modification, at the same time that the flexibility of the arrangement of the synchronous recording / reproducing apparatus SS is increased, the user can prepare only necessary components without newly preparing all of the synchronous recording / reproducing apparatus SS. Required costs can be reduced.
[0110]
[3.2] Second Modification
In the second modified example, there is no music CD drive 1 and FD drive 2 in the synchronous recording / reproducing apparatus SS. On the other hand, the communication interface has a function connectable to a LAN (Local Area Network), and is connected to an external communication device via the LAN and the WAN. Further, the controller unit 6 has an HD (Hard Disk).
[0111]
The controller unit 6 receives digital audio data including audio data and time code from another communication device via the LAN, and records the received audio data on the HD. Similarly, the controller unit 6 receives the SMF created corresponding to the audio data from another communication device via the LAN, and records the received SMF on the HD.
[0112]
The controller unit 6 reads digital audio data from the HD instead of receiving the audio data and the time code of the music CD from the music CD drive 1. The controller 6 performs the same operation on the HD instead of writing and reading the SMF on the FD drive 2.
According to the second modification, the user can transmit / receive digital audio data and SMF to / from a communication device geographically distant via the LAN. The LAN may be connected to a wide area communication network such as the Internet.
[0113]
【The invention's effect】
As described above, according to the present invention, the same music piece is reproduced at a slightly different speed even if recorded on the basis of a clock having a different frequency. Even in this case, the performance data can be synchronously reproduced at the correct timing. Therefore, it is not necessary to prepare different performance data for different versions of the same music, and data creation and management are simplified.
[0114]
Note that, in different versions of the same song, the recording level of the song may be different. Is done. This is because the two indices used to generate the management event change in proportion to the recording level, and the magnitude relationship does not change. Therefore, according to the technology of the present invention, synchronous reproduction of performance data can be realized at a correct timing even with respect to audio data having different recording levels.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a synchronous recording / reproducing apparatus SS according to a first embodiment and a second embodiment of the present invention.
FIG. 2 is a diagram showing a configuration of a MIDI event.
FIG. 3 is a diagram showing a configuration of an SMF.
FIG. 4 is a flowchart of management event generation processing according to the first embodiment and the second embodiment of the present invention.
FIG. 5 is a diagram showing a configuration of a comb filter according to the first and second embodiments of the present invention.
FIG. 6 is a diagram illustrating a temporal relationship among a medium-term index, a long-term index, and a management event according to the first embodiment and the second embodiment of the present invention.
FIG. 7 is a schematic diagram showing a temporal relationship between generation of a management event and generation of a MIDI event according to the first embodiment and the second embodiment of the present invention.
FIG. 8 is a diagram schematically showing an SMF according to the first embodiment and the second embodiment of the present invention.
FIG. 9 is a diagram illustrating a temporal relationship among a MIDI event before timing adjustment, a MIDI event after timing adjustment, and a management event according to the first embodiment of the present invention.
FIG. 10 is a data example showing a state of a timing adjustment process according to the first embodiment of the present invention.
FIG. 11 is a data example showing a state of a timing adjustment process according to the second embodiment of the present invention.
FIG. 12 is a diagram illustrating a regression line for a delta time of a management event according to the second embodiment of the present invention.
FIG. 13 is a data example showing a state of a delta time adjustment process according to the second embodiment of the present invention.
FIG. 14 is a diagram illustrating a temporal relationship between a MIDI event before timing adjustment, a MIDI event after timing adjustment, and a management event according to the second embodiment of the present invention.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Music CD drive, 2 ... FD drive, 3 ... Automatic performance piano part, 4 ... Sound generation part, 5 ... Operation display part, 6 ... Controller part, 31 ... Piano, 32 key sensor, 33 pedal sensor, 34 MIDI event control circuit, 35 sound source, 36 drive unit, 41 mixer, 42 D / A Converter, 43 ... Amplifier, 44 ... Speaker, 61 ... ROM, 62 ... CPU, 63 ... DSP, 64 ... RAM, 65 ... Communication interface.

Claims (6)

楽曲の音声波形を示す音声データを受信する第1受信手段と、
演奏の制御を指示する制御データを受信する第2受信手段と、
前記音声データの所定期間の変化傾向を示す第1指標を生成する第1生成手段と、
前記音声データの前記所定期間より長い期間の変化傾向を示す第2指標を生成する第2生成手段と、
前記制御データと前記制御データの受信タイミングを示す第1時間データとからなる演奏データを記録するとともに、前記第1指標と前記第2指標とを比較して、前記音声データの急激な変化を検出し、前記急激な変化のタイミングを示す第2時間データを記録する記録手段と、
を備えることを特徴とする記録装置。
First receiving means for receiving audio data indicating an audio waveform of the music,
Second receiving means for receiving control data for instructing performance control;
First generating means for generating a first index indicating a change tendency of the audio data during a predetermined period;
A second generation unit that generates a second index indicating a change tendency of the audio data for a period longer than the predetermined period,
A performance data consisting of the control data and first time data indicating the reception timing of the control data is recorded, and the first index and the second index are compared to detect a rapid change in the audio data. Recording means for recording second time data indicating the timing of the rapid change;
A recording device comprising:
演奏の制御を指示する制御データおよび該演奏の制御の実行タイミングを指示する第1時間データからなる演奏データと、音声波形の急激な変化のタイミングを示す第2時間データとを受信する第1受信手段と、
楽曲の音声波形を示す音声データを受信する第2受信手段と、
前記音声データの所定期間の変化傾向を示す第1指標を生成する第1生成手段と、
前記音声データの前記所定期間より長い期間の変化傾向を示す第2指標を生成する第2生成手段と、
前記第1指標と前記第2指標とを比較して、前記音声データの急激な変化を検出し、前記急激な変化のタイミングを示す第3時間データを生成する第3生成手段と、
前記第2時間データおよび前記第3時間データの示す時間情報に基づき、前記第1時間データを調整する調整手段と、
前記調整手段により調整された前記第1時間データに従うタイミングで、前記制御データの送信を行う送信手段と
を備えることを特徴とする再生装置。
A first reception for receiving performance data including control data for instructing performance control and first time data for instructing execution timing of the performance control, and second time data indicating a timing of a rapid change in a voice waveform. Means,
Second receiving means for receiving audio data indicating an audio waveform of the music,
First generating means for generating a first index indicating a change tendency of the audio data during a predetermined period;
A second generation unit that generates a second index indicating a change tendency of the audio data for a period longer than the predetermined period,
A third generation unit that compares the first index with the second index, detects a rapid change in the audio data, and generates third time data indicating a timing of the rapid change;
Adjusting means for adjusting the first time data based on time information indicated by the second time data and the third time data;
A reproducing unit for transmitting the control data at a timing according to the first time data adjusted by the adjusting unit.
楽曲の音声波形を示す音声データを受信する第1受信過程と、
演奏の制御を指示する制御データを受信する第2受信過程と、
前記音声データの所定期間の変化傾向を示す第1指標を生成する第1生成過程と、
前記音声データの前記所定期間より長い期間の変化傾向を示す第2指標を生成する第2生成過程と、
前記制御データと前記制御データの受信タイミングを示す第1時間データとからなる演奏データを記録するとともに、前記第1指標と前記第2指標とを比較して、前記音声データの急激な変化を検出し、前記急激な変化のタイミングを示す第2時間データを記録する記録過程と、
を備えることを特徴とする記録方法。
A first receiving step of receiving audio data indicating an audio waveform of the music;
A second receiving step of receiving control data for instructing performance control;
A first generation step of generating a first index indicating a change tendency of the audio data during a predetermined period;
A second generation step of generating a second index indicating a change tendency of the audio data for a period longer than the predetermined period;
A performance data consisting of the control data and first time data indicating the reception timing of the control data is recorded, and the first index and the second index are compared to detect a rapid change in the audio data. Recording a second time data indicating the timing of the rapid change;
A recording method comprising:
演奏の制御を指示する制御データおよび該演奏の制御の実行タイミングを指示する第1時間データからなる演奏データと、音声波形の急激な変化のタイミングを示す第2時間データとを受信する第1受信過程と、
楽曲の音声波形を示す音声データを受信する第2受信過程と、
前記音声データの所定期間の変化傾向を示す第1指標を生成する第1生成過程と、
前記音声データの前記所定期間より長い期間の変化傾向を示す第2指標を生成する第2生成過程と、
前記第1指標と前記第2指標とを比較して、前記音声データの急激な変化を検出し、前記急激な変化のタイミングを示す第3時間データを生成する第3生成過程と、
前記第2時間データおよび前記第3時間データの示す時間情報に基づき、前記第1時間データを調整する調整過程と、
前記調整手段により調整された前記第1時間データに従うタイミングで、前記制御データの送信を行う送信過程と
を備えることを特徴とする再生方法。
A first reception for receiving performance data including control data for instructing performance control and first time data for instructing execution timing of the performance control, and second time data indicating a timing of a rapid change in a voice waveform. Process
A second receiving step of receiving audio data indicating an audio waveform of the music;
A first generation step of generating a first index indicating a change tendency of the audio data during a predetermined period;
A second generation step of generating a second index indicating a change tendency of the audio data for a period longer than the predetermined period;
A third generation step of comparing the first index with the second index to detect a rapid change in the audio data and generate third time data indicating a timing of the rapid change;
An adjusting step of adjusting the first time data based on time information indicated by the second time data and the third time data;
A transmitting step of transmitting the control data at a timing according to the first time data adjusted by the adjusting unit.
楽曲の音声波形を示す音声データを受信する第1受信処理と、
演奏の制御を指示する制御データを受信する第2受信処理と、
前記音声データの所定期間の変化傾向を示す第1指標を生成する第1生成処理と、
前記音声データの前記所定期間より長い期間の変化傾向を示す第2指標を生成する第2生成処理と、
前記制御データと前記制御データの受信タイミングを示す第1時間データとからなる演奏データを記録するとともに、前記第1指標と前記第2指標とを比較して、前記音声データの急激な変化を検出し、前記急激な変化のタイミングを示す第2時間データを記録する記録処理と、
をコンピュータに実行させるプログラム。
A first reception process of receiving audio data indicating an audio waveform of the music,
A second reception process for receiving control data for instructing performance control;
A first generation process of generating a first index indicating a change tendency of the audio data during a predetermined period;
A second generation process of generating a second index indicating a change tendency of the audio data for a period longer than the predetermined period;
A performance data consisting of the control data and first time data indicating the reception timing of the control data is recorded, and the first index and the second index are compared to detect a rapid change in the audio data. Recording processing for recording second time data indicating the timing of the rapid change;
A program that causes a computer to execute.
演奏の制御を指示する制御データおよび該演奏の制御の実行タイミングを指示する第1時間データからなる演奏データと、音声波形の急激な変化のタイミングを示す第2時間データとを受信する第1受信処理と、
楽曲の音声波形を示す音声データを受信する第2受信処理と、
前記音声データの所定期間の変化傾向を示す第1指標を生成する第1生成処理と、
前記音声データの前記所定期間より長い期間の変化傾向を示す第2指標を生成する第2生成処理と、
前記第1指標と前記第2指標とを比較して、前記音声データの急激な変化を検出し、前記急激な変化のタイミングを示す第3時間データを生成する第3生成処理と、
前記第2時間データおよび前記第3時間データの示す時間情報に基づき、前記第1時間データを調整する調整処理と、
前記調整手段により調整された前記第1時間データに従うタイミングで、前記制御データの送信を行う送信処理と
をコンピュータに実行させるプログラム。
A first reception for receiving performance data including control data for instructing performance control and first time data for instructing execution timing of the performance control, and second time data indicating a timing of a rapid change in a voice waveform. Processing,
A second reception process of receiving audio data indicating an audio waveform of the music,
A first generation process of generating a first index indicating a change tendency of the audio data during a predetermined period;
A second generation process of generating a second index indicating a change tendency of the audio data for a period longer than the predetermined period;
A third generation process of comparing the first index and the second index to detect a rapid change in the audio data and generate third time data indicating a timing of the rapid change;
Adjusting processing for adjusting the first time data based on time information indicated by the second time data and the third time data;
A program for causing a computer to execute a transmission process of transmitting the control data at a timing according to the first time data adjusted by the adjustment unit.
JP2002242482A 2002-08-22 2002-08-22 Apparatus and method for synchronous reproduction of audio data and performance data Expired - Fee Related JP3969249B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2002242482A JP3969249B2 (en) 2002-08-22 2002-08-22 Apparatus and method for synchronous reproduction of audio data and performance data
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 (en) 2002-08-22 2003-08-21 Synchronous playback system for reproducing music in good ensemble and recorder and player for the ensemble
CNB031272657A CN100339907C (en) 2002-08-22 2003-08-22 Sunchronous playback system and recorder and player with good intrumental ensemble reproducing music

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002242482A JP3969249B2 (en) 2002-08-22 2002-08-22 Apparatus and method for synchronous reproduction of audio data and performance data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007031101A Division JP4207082B2 (en) 2007-02-09 2007-02-09 REPRODUCTION DEVICE, REPRODUCTION METHOD, AND PROGRAM

Publications (2)

Publication Number Publication Date
JP2004085610A true JP2004085610A (en) 2004-03-18
JP3969249B2 JP3969249B2 (en) 2007-09-05

Family

ID=32051558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002242482A Expired - Fee Related JP3969249B2 (en) 2002-08-22 2002-08-22 Apparatus and method for synchronous reproduction of audio data and performance data

Country Status (1)

Country Link
JP (1) JP3969249B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008209586A (en) * 2007-02-26 2008-09-11 Yamaha Corp Automatic playing device, reproduction system, distribution system and program
KR100917358B1 (en) 2007-03-28 2009-09-16 야마하 가부시키가이샤 Audio system, signal producing apparatus and sound producing apparatus
US10573284B2 (en) 2018-03-30 2020-02-25 Casio Computer Co., Ltd. Electronic musical instrument, method, and non-transitory computer-readable storage medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008209586A (en) * 2007-02-26 2008-09-11 Yamaha Corp Automatic playing device, reproduction system, distribution system and program
KR100917358B1 (en) 2007-03-28 2009-09-16 야마하 가부시키가이샤 Audio system, signal producing apparatus and sound producing apparatus
US10573284B2 (en) 2018-03-30 2020-02-25 Casio Computer Co., Ltd. Electronic musical instrument, method, and non-transitory computer-readable storage medium

Also Published As

Publication number Publication date
JP3969249B2 (en) 2007-09-05

Similar Documents

Publication Publication Date Title
JP3835324B2 (en) Music playback device
JP3885587B2 (en) Performance control apparatus, performance control program, and recording medium
US7683251B2 (en) Method and apparatus for playing in synchronism with a digital audio file an automated musical instrument
US7612277B2 (en) Method and apparatus for playing in synchronism with a CD an automated musical instrument
US6630621B1 (en) Apparatus and method for sampling and storing music, and apparatus for outputting music
JP3925349B2 (en) Apparatus and method for synchronous reproduction of audio data and performance data
JP7367835B2 (en) Recording/playback device, control method and control program for the recording/playback device, and electronic musical instrument
JP3969249B2 (en) Apparatus and method for synchronous reproduction of audio data and performance data
US7507900B2 (en) Method and apparatus for playing in synchronism with a DVD an automated musical instrument
JP4207082B2 (en) REPRODUCTION DEVICE, REPRODUCTION METHOD, AND PROGRAM
JP3867580B2 (en) Music playback device
JP4063048B2 (en) Apparatus and method for synchronous reproduction of audio data and performance data
JP4542805B2 (en) Variable speed reproduction method and apparatus, and program
JP3915517B2 (en) Multimedia system, playback apparatus and playback recording apparatus
JP2000047677A (en) Karaoke device
JP3804536B2 (en) Musical sound reproduction recording apparatus, recording apparatus and recording method
JP4048917B2 (en) Apparatus and method for synchronous reproduction of audio data and performance data
JP3867579B2 (en) Multimedia system and playback apparatus
JP3879684B2 (en) Song data conversion apparatus and song data conversion program
JP3407625B2 (en) Automatic performance apparatus, automatic performance method, and medium recording program
JPH10307581A (en) Waveform data compressing device and method
JPH02192259A (en) Output device for digital music information
JP2010160289A (en) Midi (r) karaoke system which automatically corrects interval
JP2002023744A (en) Method for playing musical piece
WO2011125203A1 (en) Information processing device, method, and computer program

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