JP2004085609A - 音声データと演奏データの同期再生を行うための装置および方法 - Google Patents
音声データと演奏データの同期再生を行うための装置および方法 Download PDFInfo
- Publication number
- JP2004085609A JP2004085609A JP2002242481A JP2002242481A JP2004085609A JP 2004085609 A JP2004085609 A JP 2004085609A JP 2002242481 A JP2002242481 A JP 2002242481A JP 2002242481 A JP2002242481 A JP 2002242481A JP 2004085609 A JP2004085609 A JP 2004085609A
- Authority
- JP
- Japan
- Prior art keywords
- data
- music
- audio data
- performance
- time
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
【解決手段】コントローラ部6は、音楽CDの再生に合わせて行われる、ピアノ31を用いた演奏のMIDIデータを、SMFに記録する。その際、コントローラ部6は音楽CDの音声データの一部を用いて参照用の音声データを生成し、参照用の音声データをSMFに記録する。続いて、コントローラ部6は、音楽CDの再生に合わせて、SMFに記録されたMIDIデータの再生を行う。その際、コントローラ部6は、音楽CDの音声データを用いて判定用の音声データを生成し、SMFに記録された参照用の音声データと、判定用の音声データとを比較し、その比較結果に基づいてMIDIデータの再生開始のタイミングを決定する。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、オーディオデータの再生に同期して、楽曲の演奏制御に関する情報を含む演奏データの再生を行う装置および方法に関する。
【0002】
【従来の技術】
楽曲を再生するための手段として、音楽CD(Compact Disc)などの記憶媒体から音声データを読み出し、読み出された音声データから音声を生成して出力する装置がある。また、楽曲を再生するための他の手段として、FD(Floppy Disk)などの記憶媒体から楽曲の演奏制御に関する情報を含むデータを読み出し、読み出されたデータを用いて音源装置の発音を制御することにより自動演奏を行う装置がある。楽曲の演奏制御に関する情報を含むデータとしては、MIDI(Musical Instrument Digital Interface)規格に従って作成されたMIDIデータがある。
【0003】
最近では、音楽CDに記録される音声データの再生に対し、MIDIデータによる自動演奏を同期させる方法が提案されている。その中の1つとして、音楽CDに記録されているタイムコードを用いる方法がある(例えば、特許文献1および特許文献2参照)。以下、この方法について説明する。
【0004】
まず、音楽CD再生装置により音楽CDの音声データおよびタイムコードが再生される。そして、音声データは音として出力され、タイムコードは記録装置に供給される。ここで、タイムコードは、あるまとまった単位の音声データに対応付けられたデータであり、各タイムコードは、楽曲の開始時点から当該タイムコードに対応した音声データの再生タイミングまでの経過時間を表している。また、音楽CDの再生に合わせて、楽器の演奏が行われ、楽器から記録装置にMIDIデータが順次供給される。記録装置は、楽器からMIDIデータを受け取ると、MIDIデータをその受信のタイミングを示す時間情報とともに記録媒体に記録する。また、記録装置は、タイムコードを音楽CD再生装置から受け取ると、これをその受信タイミングを示す時間情報とともに記録媒体に記録する。その結果、記録媒体には、タイムコードとMIDIデータとが混在したファイルが作成される。このファイルにおいて、各タイムコードとMIDIデータは、楽曲再生開始時刻から各々の再生時刻までの経過時間を表す時間情報を伴っている。
【0005】
このようにしてMIDIデータおよびタイムコードが記録媒体に記録されると、以後、同一楽曲の音声データが音楽CDから再生されるとき、これに同期させて記録媒体からMIDIデータを読み出し、自動演奏を行うことができる。その動作は次の通りである。
【0006】
まず、音楽CD再生装置により音楽CDから音声データとタイムコードが再生される。そして、音声データは、音として出力され、タイムコードはMIDIデータの再生装置に供給される。それと同時に再生装置は、ファイルに記録されているMIDIデータを、ともに記録されている時間情報に従って読み出し、MIDIデータによる自動演奏が可能な楽器に順次送信する。その際、再生装置は音楽CD再生装置から受信するタイムコードと、MIDIデータとともにファイルから読み出されるタイムコードとに基づき、音楽CDの音声データの再生とMIDIデータの再生の時間的ずれを調整する。その結果、音楽CDの音声データとMIDIデータの同期再生が実現される。
【0007】
特許文献1: 特願2002−7872
特許文献2: 特願2002−7873
【0008】
【発明が解決しようとする課題】
しかしながら、同じ楽曲であっても異なるタイムコードが付された音楽CDに関しては、音楽CDのタイムコードを用いる方法により、音楽CDの音声データとMIDIデータの同期再生を実現することはできない。
【0009】
現在、同じ楽曲について、異なる版の音楽CDが数多くある。内容的には同じ楽曲であっても、音楽CDの版が異なると、各音楽CD間で楽曲の前の沈黙時間に差が生じ、実際に楽曲の演奏が開始される時点のタイムコードが大きく異なる場合がある。すなわち、従来のタイムコードを用いる技術により作成された同期演奏用のMIDIデータを、同じ楽曲の異なる版の音楽CDに対し用いると、実際に楽曲の演奏が開始される前にMIDIデータによる演奏が開始してしまうか、逆に楽曲の演奏が開始されてしばらくの間、MIDIデータによる演奏が開始されないため、MIDIデータによる演奏が全体的に音楽CDの楽曲に対しずれてしまう。
【0010】
従って、従来のタイムコードを用いる技術によれば、同じ楽曲の音声データを記録する音楽CDであっても、実際の楽曲の演奏開始時点に対応するタイムコードのバリエーションに応じて、異なる同期演奏用のMIDIデータを準備しなければならないという問題があった。
【0011】
上述した状況に鑑み、本発明は、同じ楽曲の音声データであっても、実際の楽曲の演奏開始時点が互いに異なる複数の版の音声データに対し、同期再生が可能なMIDIデータ等の演奏データの記録装置、再生装置、記録方法、再生方法、およびプログラムを提供することを目的とする。
【0012】
【課題を解決するための手段】
以上説明した課題を解決するため、本発明は、楽曲の音声波形を示す音声データを受信する第1受信手段と、演奏の制御を指示する制御データを受信する第2受信手段と、前記音声データの一部である部分データが表す音声波形を抽象化した参照用データを生成する生成手段と、前記参照用データを記録するとともに、前記部分データの再生タイミングと前記制御データの受信タイミングとの時間的関係を示す時間データとからなる演奏データを記録する記録手段とを備えることを特徴とする記録装置を提供する。
【0013】
また、本発明は、音声波形を抽象化した参照用データと、演奏の制御を指示する制御データおよび該演奏の制御の実行タイミングを指示する時間データからなる演奏データとを受信する第1受信手段と、楽曲の音声波形を示す音声データを受信する第2受信手段と、前記音声データの中から、前記参照用データが表す音声波形に類似する音声波形を示すデータを部分データとして選択する選択手段と、前記部分データの再生タイミングと前記時間データとによって決定されるタイミングで、前記制御データの送信を行う送信手段とを備えることを特徴とする再生装置を提供する。
【0014】
また、本発明は、楽曲の音声波形を示す音声データを受信する第1受信過程と、演奏の制御を指示する制御データを受信する第2受信過程と、前記音声データの一部である部分データが表す音声波形を抽象化した参照用データを生成する生成過程と、前記参照用データを記録するとともに、前記部分データの再生タイミングと前記制御データの受信タイミングとの時間的関係を示す時間データとからなる演奏データを記録する記録過程とを備えることを特徴とする記録方法を提供する。
【0015】
また、本発明は、音声波形を抽象化した参照用データと、演奏の制御を指示する制御データおよび該演奏の制御の実行タイミングを指示する時間データからなる演奏データとを受信する第1受信過程と、楽曲の音声波形を示す音声データを受信する第2受信過程と、前記音声データの中から、前記参照用データが表す音声波形に類似する音声波形を示すデータを部分データとして選択する選択過程と、前記部分データの再生タイミングと前記時間データとによって決定されるタイミングで、前記制御データの送信を行う送信過程とを備えることを特徴とする再生方法を提供する。
【0016】
また、本発明は、これらの記録方法および再生方法を用いる処理をコンピュータに実行させるプログラムを提供する。
【0017】
また、本発明は、音声波形を抽象化した参照用データと、演奏の制御を指示する制御データおよび該演奏の制御の実行タイミングを指示する時間データからなる演奏データが記録された記録媒体を提供する。
【0018】
かかる構成による装置、方法、プログラム、および記録媒体を用いると、音声データを再生する場合、音声データが表す波形の類似性により、参照用データの音声データに対する時間的な位置を決定することができ、さらに参照用データの時間的な位置に基づき、制御データの再生のタイミングを決定することができる。その結果、音声データと制御データとの同期再生が実現される。
【0019】
また、本発明にかかる記録装置は、前記音声データの再生タイミングを示すタイムコードを受信する第3受信手段を備え、前記記録手段は、前記タイムコードが示す時間情報に基づいて前記時間データを生成する構成としてもよい。
また、本発明にかかる再生装置は、前記音声データの再生タイミングを示すタイムコードを受信する第3受信手段を備え、前記送信手段は、前記タイムコードが示す時間情報に基づいて前記制御データの送信を行う構成としてもよい。
【0020】
かかる構成による記録装置および再生装置を用いると、再生速度にバイアスを持つ再生装置により再生される音声データに対しても、タイムコードに従った計時が行われるため、制御データの同期再生が正しく行われる。
【0021】
また、本発明にかかる記録装置において、前記生成手段は、入力データが表す音声波形の直流成分を取り除くためのフィルタ手段を備える構成としてもよい。また、本発明にかかる記録装置において、前記生成手段は、入力データが表す音声波形に含まれる特定の周波数帯の成分を取り出すためのフィルタ手段を備える構成としてもよい。
【0022】
また、本発明にかかる再生装置において、前記選択手段は、前記音声データの一部が表す音声波形を抽象化した判定用データを生成する生成手段を備え、前記生成手段は、入力データが示す音声波形の直流成分を取り除くためのフィルタ手段を備える構成としてもよい。
また、本発明にかかる再生装置において、前記選択手段は、前記音声データの一部が表す音声波形を抽象化した判定用データを生成する生成手段を備え、前記生成手段は、入力データが示す音声波形に含まれる特定の周波数帯の成分を取り出すためのフィルタ手段を備える構成としてもよい。
【0023】
かかる構成による記録装置および再生装置を用いると、音声データが表す音声波形の類似性により参照用データの音声データに対する時間的な位置を決定する際に、高い精度でその位置を決定することができる。
【0024】
また、本発明にかかる記録装置において、前記生成手段は、入力データをダウンサンプリングするダウンサンプリング手段を備える構成としてもよい。
また、本発明にかかる再生装置において、前記選択手段は、前記音声データの一部が表す音声波形を抽象化した判定用データを生成する生成手段を備え、前記生成手段は、入力データをダウンサンプリングするダウンサンプリング手段を備える構成としてもよい。
【0025】
かかる構成による記録装置および再生装置を用いると、参照用データのデータ量が小さくなり、データの記録や送受信が容易となる。
【0026】
また、本発明にかかる再生装置において、前記選択手段は、前記音声データの一部が表す音声波形を抽象化した判定用データを生成する生成手段を備え、前記参照用データと前記判定用データとの積和を、前記参照用データの二乗和で除して得られる指標に基づき、前記部分データを選択する構成としてもよい。
【0027】
また、本発明にかかる再生装置において、前記選択手段は、前記音声データの一部が表す音声波形を抽象化した判定用データを生成する生成手段を備え、前記参照用データと前記判定用データとの積和の二乗を、前記参照用データの二乗和と前記参照用データの二乗和との積で除して得られる指標に基づき、前記部分データを選択する構成としてもよい。
【0028】
また、本発明にかかる再生装置において、前記選択手段は、前記音声データの一部が表す音声波形を抽象化した判定用データを生成する生成手段を備え、前記参照用データと前記判定用データとの積和の変化率に基づき、前記部分データを選択する構成としてもよい。
【0029】
かかる構成による再生装置を用いると、音声データが表す音声波形の類似性により参照用データの音声データに対する時間的な位置を決定する際に、高い精度でその位置を決定することができる。
【0030】
【発明の実施の形態】
[1]第1実施形態
[1.1]構成、機能、およびデータフォーマット
[1.1.1]全体構成
図1は、本発明の第1実施形態に係る同期記録再生装置SSの構成を示す図である。同期記録再生装置SSは、音楽CDドライブ1、FDドライブ2、自動演奏ピアノ部3、発音部4、操作表示部5およびコントローラ部6により構成されている。
【0031】
音楽CDドライブ1、FDドライブ2、自動演奏ピアノ部3、発音部4および操作表示部5はそれぞれ通信線によりコントローラ部6と接続されている。また、自動演奏ピアノ部3と発音部4は、通信線により直接接続されている。
【0032】
[1.1.2]音楽CDドライブ
音楽CDに記録されているオーディオデータは、音声情報を示す音声データと、音声データの再生のタイミングを示すタイムコードを含んでいる。音楽CDドライブ1は、コントローラ部6からの指示に従って、装填された音楽CDからオーディオデータを読み出し、読み出したオーディオデータに含まれる音声データを順次出力する装置である。音楽CDドライブ1は通信線により、コントローラ部6の通信インタフェース65と接続されている。
【0033】
音楽CDドライブ1から出力される音声データは、サンプリング周波数44100Hz、量子化ビット数16の左右2チャンネルからなるデジタル音声データである。なお、音楽CDドライブ1から出力されるデータには、タイムコードは含まれていない。音楽CDドライブ1の構成は、音声データをデジタル出力可能な一般的な音楽CDドライブと同様であるため、その説明は省略する。
【0034】
[1.1.3]FDドライブ
FDドライブ2は、SMF(Standard MIDI File)をFDに記録し、またFDに記録されているSMFを読み取り、読み取ったSMFを送信する装置である。FDドライブ2は通信線により、コントローラ部6の通信インタフェース65と接続されている。なお、FDドライブ2の構成は、一般的なFDドライブと同様であるため、その説明は省略する。
【0035】
[1.1.4]MIDIイベントおよびSMF
SMFは、MIDI規格に従った演奏制御データであるMIDIイベントと、各MIDIイベントの実行タイミングを示すデータであるデルタタイムを含むファイルである。図2および図3を用いて、MIDIイベントおよびSMFのフォーマットを説明する。
【0036】
図2にはMIDIイベントの例として、ノートオンイベント、ノートオフイベント、およびシステムエクスクルーシブイベントが示されている。ノートオンイベントは楽音の発音を指示するためのMIDIイベントで、発音を示す9nH(nはチャンネル番号、Hは16進数を示す、以下同様)、音高を示すノートナンバ、および発音の強さ(もしくは打鍵の速さ)を示すベロシティから成る。同様に、ノートオフイベントは楽音の消音を指示するためのMIDIイベントで、消音を示す8nH、音高を示すノートナンバ、および消音時の強さ(もしくは鍵を離す速さ)を示すベロシティから成る。一方、システムエクスクルーシブイベントは製品やソフトウェアの製造者が自由に定めるフォーマットのデータを送受信もしくは記録するためのMIDIイベントで、システムエクスクルーシブイベントの開始を示すF0H、データ長、データ、およびシステムエクスクルーシブイベントの終了を示すF7Hから成る。このように、MIDIイベントは時間情報を持たず、リアルタイムに楽音の発音、消音、およびその他の制御を行う目的で利用される。
【0037】
図3にはSMFのフォーマットの概略が示されている。SMFはヘッダチャンクとトラックチャンクから成る。ヘッダチャンクには、トラックチャンネルに含まれるデータのフォーマットや時間単位等に関する制御データが含まれている。トラックチャンクには、MIDIイベントと、各MIDIイベントの実行タイミングを示すデルタタイムが含まれている。
【0038】
SMFにおいて、デルタタイムとしては、直前のMIDIイベントに対する相対的な時間をクロックと呼ばれる時間単位で表現する方法と、楽曲の先頭の時点からの絶対的な時間を時間、分、秒およびフレームと呼ばれる時間単位の組み合わせで表現する方法がある。以下の説明においては、説明を容易にするため、デルタタイムは、基準となる時点からの絶対的な時間とし、その単位を秒で表すこととする。
なお、本明細書においては、MIDIデータとはMIDI規格に従って作成されるデータの総称である。
【0039】
[1.1.5]自動演奏ピアノ部
自動演奏ピアノ部3は、同期記録再生装置SSのユーザによる鍵操作およびペダル操作に応じて、音響的なピアノ音および電子的な楽音合成によるピアノ音を出力する楽音発生装置である。また、自動演奏ピアノ部3はユーザによる鍵操作およびペダル操作に応じてMIDIイベントを生成し、生成したMIDIイベントを送信する。さらに、自動演奏ピアノ部3はMIDIイベントを受信して、受信したMIDIイベントに応じて、音響的なピアノ音および電子的な楽音合成によるピアノ音による自動演奏を行う。
【0040】
自動演奏ピアノ部3は、ピアノ31、キーセンサ32と、ペダルセンサ33、MIDIイベント制御回路34、音源35、および駆動部36から構成されている。
【0041】
キーセンサ32およびペダルセンサ33は、それぞれピアノ31の複数の鍵および複数のペダルの各々に配設され、それぞれ鍵およびペダルの位置を検出する。キーセンサ32およびペダルセンサ33は、検出された位置情報を、それぞれの鍵およびペダルに対応した識別番号と検出の時間情報と共に、MIDIイベント制御回路34に送信する。
【0042】
MIDIイベント制御回路34は、キーセンサ32およびペダルセンサ33から、それぞれの鍵およびペダルの位置情報を、鍵およびペダルの識別情報、および時間情報と共に受信し、これらの情報から即時にノートオンイベントやノートオフイベント等のMIDIイベントを生成し、生成したMIDIイベントをコントローラ部6および音源35に出力する回路である。さらに、MIDIイベント制御回路34は、コントローラ部6からMIDIイベントを受信し、受信したMIDIイベントを音源35もしくは駆動部36に転送する機能も持つ。なお、MIDIイベント制御回路34が、コントローラ部6から受信するMIDIイベントを音源35と駆動部36のいずれに転送するかは、コントローラ部6の指示による。
【0043】
音源35は、MIDIイベント制御回路34からMIDIイベントを受信し、受信したMIDIイベントに基づいて、各種楽器の音情報を左右2チャンネルのデジタル音声データとして出力する装置である。音源35は受信したMIDIイベントによって指示された音高のデジタル音声データを電子的に合成し、発音部4のミキサ41に送信する。
【0044】
駆動部36は、ピアノ31の各鍵および各ペダルに配設され、それらを駆動するソレノイド群およびそれらのソレノイド群を制御する制御回路から構成される。駆動部36の制御回路は、MIDIイベント制御回路からMIDIイベントを受信すると、対応する鍵もしくはペダルに配設されたソレノイドへ供給する電流量を調節し、ソレノイドが発生する磁力を制御することにより、MIDIイベントに応じた鍵もしくはペダルの動作を実現する。
【0045】
[1.1.6]発音部
発音部4は、自動演奏ピアノ部3およびコントローラ部6から音声データを受信し、受信した音声データを音に変換して出力する装置である。発音部4は、ミキサ41、D/Aコンバータ42、アンプ43、およびスピーカ44から構成されている。
【0046】
ミキサ41は左右2チャンネルからなるデジタル音声データを複数受信し、それらを左右1組のデジタル音声データに変換するデジタルステレオミキサである。ミキサ41は自動演奏ピアノ部3の音源35からデジタル音声データを受信すると同時に、音楽CDドライブ1により音楽CDから読み出されたデジタル音声データを、コントローラ部6を介して受信する。ミキサ41は受信したこれらのデジタル音声データを算術平均し、左右1組のデジタル音声データとしてD/Aコンバータ42に送信する。
【0047】
D/Aコンバータ42は、ミキサ41からデジタル音声データを受信し、受信したデジタル音声データをアナログ音声信号に変換し、アンプ43に出力する。アンプ43は、D/Aコンバータ42から入力されるアナログ音声信号を増幅し、スピーカ44に出力する。スピーカ44は、アンプ43から入力される増幅されたアナログ音声信号を音に変換する。その結果、音楽CDに記録された音声データおよび音源35が生成する音声データは、ステレオの音として発音部4から出力される。
【0048】
[1.1.7]操作表示部
操作表示部5は、同期記録再生装置SSのユーザが同期記録再生装置SSの各種操作を行う際に用いるユーザインタフェースである。
【0049】
操作表示部5はユーザが同期記録再生装置SSに指示を与える際に押下するキーパッド、ユーザが同期記録再生装置SSの状態を確認するための液晶ディスプレイ等を有している。ユーザによりキーパッドが押下されると、操作表示部5は押下されたキーパッドに対応する信号をコントローラ部6に出力する。また、操作表示部5はコントローラ部6から文字や図形の情報を含むビットマップデータを受信すると、受信したビットマップデータに基づき液晶ディスプレイに文字や図形を表示する。
【0050】
[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から構成されている。また、これらの構成要素はバスにより相互に接続されている。
【0051】
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との間のデータの中継を行う。
【0052】
[1.2]動作
続いて、同期記録再生装置SSの動作を説明する。
[1.2.1]記録動作
まず、同期記録再生装置SSのユーザが市販の音楽CDの再生に合わせてピアノを演奏し、その演奏の情報をMIDIデータとしてFDに記録する際の同期記録再生装置SSにおける動作を説明する。なお、以下に説明する記録動作において用いられる音楽CDを、後述する再生動作において用いられる音楽CDと区別するために、音楽CD−Aと呼ぶ。
【0053】
[1.2.1.1]記録の開始操作
ユーザは、音楽CD−Aを音楽CDドライブ1に、また空のFDをFDドライブ2にセットする。続いて、ユーザは演奏データの記録開始に対応する操作表示部5のキーパッドを押下する。操作表示部5は押下されたキーパッドに対応する信号をコントローラ部6に出力する。
【0054】
コントローラ部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、・・・と増加する。
【0055】
[1.2.1.2]音声データの発音部への送信
まず、CPU62はサンプル値、すなわち(R(0),L(0))、(R(1),L(1))、(R(2),L(2))、・・・を受信すると、受信したサンプル値を発音部4に送信する。発音部4はコントローラ部6からサンプル値を受信すると、これを音に変換し出力する。その結果、ユーザは音楽CD−Aに記録されている楽曲を聴くことができる。
【0056】
[1.2.1.3]参照用未加工音声データのRAMへの記録
CPU62は受信したサンプル値を発音部4に送信すると同時に、受信したサンプル値のうち、楽曲の冒頭付近の一定時間に対応するサンプル値をRAM64に記録する。
本実施形態においては、例として、CPU62は216組、すなわち65536組のサンプル値をRAM64に記録するものとする。なお、65536組のサンプル値は、約1.49秒間分のデータである。
【0057】
まず、CPU62は各サンプル値について、各サンプル値の絶対値が予め定められた閾値を超えるか否かの判定を行う。具体的には、閾値が1000であるとすると、R(n)もしくはL(n)の絶対値のいずれかが1000より大きい場合、CPU62は比較判定で肯定的な結果を得る。
【0058】
以下、説明のため例として、音楽CD−Aの音声データに関しては、第52156組のサンプル値、すなわち(R(52156),L(52156))において初めて、R(52156)もしくはL(52156)の絶対値が所定の閾値を超えるものとする。従って、CPU62は(R(0),L(0))〜(R(52155),L(52155))に対する比較判定の結果、否定的な結果を得る。その間、CPU62はこれらのサンプル値をRAM64に記録しない。その結果、楽曲の冒頭に含まれる沈黙もしくは沈黙に近い部分にあたるサンプル値はRAM64に記録されない。この場合、記録されない冒頭のサンプル値の再生時間は約1.18秒である。
【0059】
その後、CPU62は(R(52156),L(52156))を受信し、そのサンプル値に対する比較判定の結果、肯定的な結果を得る。CPU62は比較判定において肯定的な結果を得ると、それ以降に受信する65536組のサンプル値、すなわち(R(52156),L(52156))〜(R(117691),L(117691))をRAM64に記録する。以下、これら一連のサンプル値を「参照用未加工音声データ」と呼ぶ。
【0060】
[1.2.1.4]計時の開始
CPU62は、参照用未加工音声データの最後のサンプル値、すなわち(R(117691),L(117691))を受信すると、参照用未加工音声データの記録を終了すると共に、その時点を基準として計時を開始する。
【0061】
[1.2.1.5]参照用加工済音声データの生成
CPU62は、参照用未加工音声データの記録を終了すると、DSP63に、参照用未加工音声データに対して相関判定用データ生成処理を行うよう、実行命令を送信する。相関判定用データ生成処理とは、サンプリング周波数44100Hzの音声データから、相関判定処理に用いるためのサンプリング周波数約172.27Hzの音声データを生成する処理である。相関判定処理とは、2組の音声データの類似性を判定する処理であり、詳細は後述する。以下、図4を参照しながら、相関判定用データ生成処理を説明する。
【0062】
DSP63はCPU62より参照用未加工音声データに対する相関判定用データ生成処理の実行命令を受信すると、RAM64に記録されている参照用未加工音声データを読み出す(ステップS1)。続いて、DSP63は参照用未加工音声データの各サンプル値の左右の値を相加平均することにより、ステレオのデータをモノラルのデータに変換する(ステップS2)。このモノラルへの変換処理は、このステップより後の処理のDSP63への負荷を軽減するための処理である。
【0063】
続いて、DSP63はモノラルに変換された一連のサンプル値に対し、ハイパスフィルタ処理を行う(ステップS3)。このハイパスフィルタ処理により、一連のサンプル値が示す音声波形における直流成分が取り除かれ、サンプル値が正負の両側に均等に分布するようになる。相関判定処理においては2組の音声データの相互相関値を用いた比較判定が行われ、相互相関値の比較を行う際、サンプル値は正負の両側に均等に分布すると判定の精度が高い。すなわち、このステップにおける処理は、相関判定処理における判定の精度向上を目的とする処理である。
【0064】
続いて、DSP63はハイパスフィルタ処理を施された各サンプル値について、絶対値を求める(ステップS4)。このステップにおける処理は、各サンプル値のパワーの代替値を求めるための処理である。絶対値はパワーを示す二乗値よりも値が小さく処理が容易であるため、本実施形態においては、各サンプル値の二乗値の代替値として絶対値が用いられる。従って、DSP63の処理能力が高い場合、このステップにおいて各サンプル値の絶対値の代わりに二乗値を算出してもよい。
【0065】
続いて、DSP63はステップS4において絶対値に変換された一連のサンプル値に対し、くし形フィルタを用いたフィルタ処理を行う(ステップS5)。このステップにおける処理は、一連のサンプル値が示す音声波形から、波形の変化を捉えやすい低周波数成分を取り出すための処理である。低周波数成分を取り出すためには、ローパスフィルタが通常用いられるが、くし形フィルタはローパスフィルタと比較して、通常、DSP63への負荷が小さいため、本実施形態においてはローパスフィルタがくし形フィルタで代用されている。
【0066】
図5は、ステップS5において利用可能なくし形フィルタの一例について、その構成を示している。図5において、四角形で示される処理は遅延処理を示し、z−kにおけるkは、その遅延処理における遅延時間が(サンプリング周期×k)であることを意味する。前述のとおり、音楽CDのサンプリング周波数は44100Hzであるため、サンプリング周期は1/44100秒である。一方、三角形で示される処理は乗算処理を示し、三角形の中に示される値が乗算の係数を示す。図5において、Kは次の式(1)で表される。
【数1】
【0067】
このKを係数とする乗算により、このくし形フィルタは周波数fのハイパスフィルタの機能を持つ。その結果、このステップにおけるフィルタ処理によって、一連のサンプル値が示す音声波形における直流成分が再度、取り除かれる。なお、kおよびfの値は任意に変更が可能であり、相関判定処理における判定精度が高くなるよう、経験的に求められる。
【0068】
続いて、DSP63はステップS5においてフィルタ処理を施された一連のサンプル値に対し、さらにローパスフィルタを用いたフィルタ処理を行う(ステップS6)。このステップにおける処理は、次のステップS7において行われるダウンサンプリング処理の結果、折り返し雑音が発生することを防止するための処理である。ステップS7においては44100Hzのサンプリング周波数のデータを約172.27Hzのサンプリング周波数にダウンサンプリングするため、折り返し雑音の発生を防ぐには、その半分である約86.13Hz以上の周波数成分を取り除く必要がある。しかしながら、ステップS5におけるくし形フィルタを用いたフィルタ処理においては、くし形フィルタの特性により高周波数成分が十分に取り除かれない。従って、このステップにおいてローパスフィルタを用いたフィルタ処理を行うことにより、残存している約86.13Hz以上の周波数成分を取り除く。なお、DSP63の処理能力が高い場合、ステップS5とステップS6における2つのフィルタを用いたフィルタ処理の代わりに、精度の高いローパスフィルタを1つのみ用いたフィルタ処理を行ってもよい。
【0069】
続いて、DSP63はステップS6においてフィルタ処理を施された一連のサンプル値に対し、1/256のダウンサンプリング処理を行う(ステップS7)。すなわち、DSP63は、256のサンプル値ごとにサンプル値を1つ抜き取る処理を行う。その結果、一連のサンプル値のデータ数は65536から256に減少する。以下、ステップS7の処理によって得られる各サンプル値をX(m)と表す。ただし、mは0〜255の整数である。また、一連のサンプル値、すなわち、X(0)〜X(255)を以下、「参照用加工済音声データ」と呼ぶ。DSP63は、参照用加工済音声データをRAM64に記録する(ステップS8)。
【0070】
[1.2.1.6]MIDIイベントのRAMへの記録
上述したDSP63による参照用加工済音声データの生成処理が行われる一方で、ユーザはピアノ31を用いた演奏を開始する。すなわち、CPU62が参照用未加工音声データの記録を終了し、計時を開始した後、ユーザは発音部4から出力される音楽CD−Aの楽曲を聴きながら、その楽曲に合わせてピアノ31の打鍵およびペダル操作を行う。
ユーザのピアノ31を用いた演奏の情報は、キーセンサ32およびペダルセンサ33にて鍵およびペダルの動きとして検出され、MIDIイベント制御回路34にてMIDIイベントに変換された後、コントローラ部6に送信される。
【0071】
コントローラ部6において、CPU62は自動演奏ピアノ部3からMIDIイベントを受信すると、MIDIイベントの受信した時点における計時の値、すなわちCPU62が参照用未加工音声データの最後のサンプル値を受信した時点からMIDIイベントの受信時刻までの経過時間を表すデルタタイムを、MIDIイベントとともにRAM64に記録する。図6は音楽CD−Aの音声データと、MIDIイベントとの時間的関係を示す模式図である。図6によれば、音楽CD−Aの音声データの再生の開始時点から約2.67秒後にCPU62による計時が開始され、その時点を基準に、第1のMIDIイベントが1.25秒、第2のMIDIイベントが2.63秒後、第3のMIDIイベントが3.71秒後に、それぞれCPU62に受信されたことが分かる。
【0072】
[1.2.1.7]SMFのFDへの記録
音楽CD−Aの楽曲の再生が終了し、ピアノ31を用いたユーザによる演奏も終了すると、ユーザは演奏データの記録終了に対応する操作表示部5のキーパッドを押下する。操作表示部5は押下されたキーパッドに対応する信号をコントローラ部6に送信する。CPU62は、操作表示部5から演奏データの記録終了を示す信号を受信すると、音楽CDドライブ1に音楽CDの再生停止命令を送信する。この再生停止命令に応じて、音楽CDドライブ1は音楽CD−Aの再生を停止する。
【0073】
続いて、CPU62は、DSP63により生成された参照用加工済音声データと、ユーザのピアノ31を用いた演奏により生成されたMIDIイベントおよびデルタタイムをRAM64より読み出す。CPU62は読み出したこれらのデータを組み合わせ、SMFのトラックチャンクを生成する。さらに、CPU62は作成したトラックチャンクに対し、これに応じたヘッダチャンクを付加し、SMFを生成する。
【0074】
図7は、CPU62が生成するSMFの概略を示す図である。トラックチャンクのデータ部分の先頭には、参照用加工済音声データを含むシステムエクスクルーシブイベントが、そのデルタタイムと共に記録されている。このデルタタイムは0.00秒である。参照用加工済音声データを含むシステムエクスクルーシブイベントに続き、ユーザのピアノ31を用いた演奏に応じたMIDIイベントが順次記録されている。図6の例によれば、ユーザの演奏による第1のMIDIイベントはC5音のノートオンイベント、第2のMIDIイベントはE6音のノートオンイベント、第3のMIDIイベントはC5音のノートオフイベントであり、それらに対するデルタタイムは、それぞれ1.25秒、2.63秒、3.71秒である。
【0075】
CPU62は、SMFの生成を完了すると、生成したSMFを書込命令と共にFDドライブ2に送信する。FDドライブ2はCPU62から書込命令およびSMFを受信すると、SMFをセットされているFDに書き込む。
【0076】
図6を用いて、音楽CD−Aの音声データと、SMFに書き込まれるMIDIイベントの時間的関係を整理する。なお、以下の説明において、異なる2つの時間を区別するため、音楽CD−Aの再生開始時点を0秒とする時間には後に(T)を付け、一方、SMFにおけるデルタタイムには後に(D)を付ける。
【0077】
まず、約1.18秒(T)の時点で、音楽CD−Aの音声データの絶対値が閾値である1000を超えるため、参照用未加工音声データの記録が開始される。その後、約1.49秒間、すなわち、約2.67秒(T)後まで、参照用未加工音声データが記録される。
【0078】
続いて、約2.67秒(T)の時点を0秒として、デルタタイム算出のための計時が開始される。その後、第1イベントが1.25秒(D)、すなわち約3.92秒(T)の時点で発生し、そのイベントが記録される。同様に、第2イベントは2.63秒(D)、すなわち約5.30秒(T)の時点で、また第3イベントは3.71秒(D)、すなわち約6.38秒(T)の時点で発生し、それらのイベントが記録される。
【0079】
なお、図7の下段に示すように、参照用加工済音声データに対応する参照用未加工音声データの再生時間は0.00秒(D)に先行するが、SMFにおいて参照用加工済音声データは、システムエクスクルーシブデータとして0.00秒(D)の位置に記録されている。
【0080】
[1.2.2]再生動作
続いて、上述した方法によって記録されたSMFを再生し、音楽CDの音声データとSMFのMIDIデータを同期させる際の動作を説明する。以下の再生動作において用いられる音楽CDは、上述した記録動作において用いられた音楽CD−Aと同じ楽曲を含んでいるが、版が異なっており、音楽CDの再生開始の時間から楽曲が開始するまでの時間や、音声データの示す音声波形のレベルが異なっている。さらに、この音楽CDは楽曲のマスタデータからプレス用のデータが作成される際、音声データに音響効果等に関する編集が加えられているため、音楽CD−Aに含まれる同じ楽曲のデータと、その内容にわずかの差異がある。従って、以下に説明する再生動作において用いられる音楽CDを音楽CD−Aと区別するため、音楽CD−Bと呼ぶ。
【0081】
[1.2.2.1]再生の開始操作
ユーザは、音楽CD−Bを音楽CDドライブ1に、またSMFの記録されたFDをFDドライブ2にセットする。続いて、ユーザは演奏データの再生開始に対応する操作表示部5のキーパッドを押下する。操作表示部5は押下されたキーパッドに対応する信号をコントローラ部6に出力する。
【0082】
CPU62は操作表示部5から演奏データの再生開始を指示する信号を受信すると、まずFDドライブ2に対しSMFの送信命令を送信する。FDドライブ2はこのSMFの送信命令に応じて、FDからSMFを読み出し、読み出したSMFをコントローラ部6に送信する。CPU62はFDドライブ2からSMFを受信し、受信したSMFをRAM64に記録する。
【0083】
続いて、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)におけるものと同様である。
【0084】
[1.2.2.2]音声データの発音部への送信
CPU62は音楽CDドライブ1からサンプル値、すなわち(r(0),l(0))、(r(1),l(1))、(r(2),l(2))、・・・を受信すると、受信したサンプル値を発音部4に送信する。発音部4はコントローラ部6からサンプル値を受信すると、これを音に変換し出力する。その結果、ユーザは音楽CD−Bに記録されている楽曲を聴くことができる。
【0085】
[1.2.2.3]相関判定処理
CPU62は音楽CDドライブ1から受信されるサンプル値を発音部4に送信すると同時に、DSP63に対し、まず相関判定処理の実行命令を送信し、続いて受信されるサンプル値を順次DSP63に送信する。相関判定処理とは音楽CDドライブ1から受信される一連のサンプル値から生成される判定用加工済音声データと、SMFに含まれている参照用加工済音声データとの類似性を判定する処理である。以下、図8を参照しながら、相関判定処理を説明する。
【0086】
DSP63はCPU62から相関判定処理の実行命令を受信し、続いて順次サンプル値、すなわち(r(0),l(0))、(r(1),l(1))、(r(2),l(2))、・・・を受信すると、受信されるサンプル値をRAM64に記録する。以下、(r(n),l(n))から始まる一連の65536のサンプル値を「判定用未加工音声データ(n)」と呼ぶ。そして、DSP63は65536番目のサンプル値、すなわち(r(65535),l(65535))を受信してそのサンプル値をRAM64に記録すると、RAM64から(r(0),l(0))〜(r(65535),l(65535))、すなわち判定用未加工音声データ(0)を読み込む。続いて、DSP63は判定用未加工音声データ(0)に対し、既述の相関判定用データ生成処理、すなわち図4におけるステップS1〜ステップS8の処理と同様の処理を行う。その結果、DSP63は256のサンプル値を生成し、生成された256のサンプル値がRAM64に記録される(ステップS11)。以下、判定用未加工音声データ(n)に対して相関判定用データ生成処理を行った結果得られる256のサンプル値をYn(0)〜Yn(255)と表し、これら一連のデータを「判定用加工済音声データ(n)」と呼ぶ。
【0087】
続いて、DSP63はRAM64から、SMFのシステムエクスクルーシブイベントに含まれる参照用加工済音声データ、すなわちX(0)〜X(255)と、ステップS11で記録した判定用加工済音声データ(0)、すなわちY0(0)〜Y0(255)とを読み込む(ステップS12)。
【0088】
続いて、DSP63は以下の式(2)および式(3)で表される判定処理を行う(ステップS13)。
【数2】
【数3】
【0089】
式(2)の左辺はX(m)とY0(m)の値が近い程、1に近づく。そして、参照用加工済音声データと判定用加工済音声データ(0)を順に並べて同じ番号のデータを対にした時、各対のデータの値が合致すればする程、左辺の値が大きくなる。以下の説明において、この左辺の値を絶対相関指標と呼ぶ。なお、pの値は0〜1の範囲で任意に変更が可能で、楽曲の音声データの同じ部分から生成された部分参照用未加工音声データと判定用加工済音声データを用いて上記の式(2)による判定を行った場合には肯定的な結果(以下、「Yes」と呼ぶ)が得られ、たとえ類似していても楽曲の音声データの異なる部分から得られる参照用加工済音声データと判定用加工済音声データを用いて式(2)による判定を行った場合には否定的な結果(以下、「No」と呼ぶ)が得られるよう、経験的に定められる。
【0090】
式(3)の左辺は0〜1の範囲で値をとり、X(m)が示す音声波形とY0(m)が示す音声波形の形状が相似形に近いほど、1に近づく。以下の説明において、この左辺の値を相対相関指標と呼ぶ。上記の絶対相関指標は、参照用加工済音声データと判定用加工済音声データが楽曲の音声データの同じ部分から生成されていても、判定用加工済音声データが示す音声波形のレベルが、参照用加工済音声データが示す音声波形のレベルより小さいと、そのレベルに応じて1より小さい値をとる。また、逆に判定用加工済音声データが示す音声波形のレベルが大きいと、絶対相関指標はそのレベルに応じて1より大きい値をとる。それに対し、相対相関指標はいずれの場合であっても1に近い値をとるため、音楽CDの異なる版において録音レベルが違う場合であっても、式(3)による判定はYesを与える。qの値は0〜1の範囲で任意に変更が可能で、pと同様に経験的に定められる。
【0091】
ステップS13における2つの判定処理の結果のいずれか一方もしくは両方がNoである場合、DSP63は判定用加工済音声データ(0)を用いた相関判定処理を終了し、CPU62から次のサンプル値のRAM64への書込の完了通知を待つ。CPU62は音楽CDドライブ1から新しいサンプル値を受信すると(ステップS14)、これをRAM64に記録し、DSP63に対し新たなサンプル値のRAM64への書込の完了通知を送信する。DSP63はこの完了通知を受信すると、上記のステップS11の処理に戻る。ただしその際、判定用未加工音声データ(0)の代わりに、新たに記録されたサンプル値を最後のサンプル値とする判定用未加工音声データに対し相関判定用データ生成処理を行う。その結果、n回目のステップS11の処理によって、RAM64には判定用加工済音声データ(n−1)が記録される。
【0092】
一方、ステップS13における2つの判定処理の結果の両方がYesである場合、DSP63は以下の式(4)および式(5)で表される判定処理を行う(ステップS15)。
【数4】
【数5】
【0093】
式(4)の左辺はX(m)とYn(m)の積和のn=0における変化率である。以下の説明において、X(m)とYn(m)の積和を相関値と呼ぶ。相関値は、参照用加工済音声データと判定用加工済音声データ(n)を順に並べて同じ順番のデータを対にした時、各対のデータの値が近似すればする程、大きな値となる。相関値の変化率は、X(m)とY0(m)による相関値、X(m)とY1(m)による相関値、・・・と相関値を時系列的に並べた場合、相関値が極値をとる場合に0となる。従って、式(4)による判定処理は、相関値が極値であるかどうかを判定する処理である。また、式(5)によるは、その極値が極大値であることを判定する処理である。
【0094】
ところで、n=0の場合は先行する相関値が存在しないため、判定が行えない。そこで本実施形態においては、n=0の場合、ステップS15における判定結果はNoとする。その理由は、参照用未加工音声データは音楽CD−Aの先頭からではなく、音声データの示す音声波形が閾値を超えた時点から取り出された音声データであるため、そのデータに対応する音声データが音楽CD−Bの先頭に位置する可能性は極めて低いためである。
【0095】
さらに、より正確に説明すると、本実施形態においてはX(m)およびYn(m)は離散値であるため、上記の左辺が厳密に0を取ることは極めてまれである。従って、ステップS15の判定処理は、実際には次のように行われる。まず、DSP63はX(m)とYn(m)の積和と、X(m)とYn−1(m)の積和の差を取る。その値を以下、Dnと呼ぶ。続いて、DSP63はDn−1が0より大きく、かつDnが0以下であるか否かを判定する。ここでDn−1が0より大きく、かつDnが0以下である場合、相関値の変化率はDnにおいて正の値から0になるか、0をまたがって変化しているので、その時点における相関値は極大値もしくは極大値の近似値である。従って、その場合、ステップS15の判定処理の結果をYesとする。なお、上記の処理を行う場合、n=2以上である必要があるが、n=1の場合もn=0と同様の理由により、ステップS15の判定処理の結果はNoとする。
【0096】
ステップS15における判定処理の結果がNoであると、DSP63はCPU62からの新たなサンプル値の書込の完了通知を待つ。CPU62から新たなサンプル値の書込の完了通知を受信すると(ステップS14)、DSP63は上記のステップS11の処理に戻る。その結果、RAM64には新たな判定用加工済音声データが記録される。
【0097】
ステップS13における判定処理の結果、もしくはステップS15における判定処理の結果がNoとなり、その結果、ステップS14を経てステップS11に処理を戻すと、DSP63は引き続き上述したステップS12〜ステップS15の処理を行う。その結果、DSP63はステップS15における判定処理の結果がYesとなるまで、判定用加工済音声データ(0)、判定用加工済音声データ(1)、判定用加工済音声データ(2)、・・・と、判定用加工済音声データを順次更新させる。
【0098】
ここで例として、音楽CD−Bに記録されている音声データには、音楽CD−Aに記録されている音声データと比較して、再生開始時点より51600のサンプル分、時間にして約1.17秒だけ全体として遅れて楽曲が収録されているものとする。すなわち、参照用未加工音声データは、音楽CD−Aに記録された音声データの(R(52156),L(52156))〜(R(117691),L(117691))が取り出されたものであるため、音楽CD−Bにおいて参照用未加工音声データに対応する音声データは、(r(103756),l(103756))〜(r(169291),l(169291))となる。
【0099】
この場合、DSP63は判定用加工済音声データ(0)〜判定用加工済音声データ(103755)を用いて行うステップS13もしくはステップS15の判定処理の結果として、Noを得る。なぜなら、それらの判定用加工済音声データの生成に用いられる判定用未加工音声データ(0)〜判定用未加工音声データ(103755)が参照用未加工音声データと対応しておらず、十分な相関関係がないためである。
【0100】
そして、DSP63は、判定用加工済音声データ(103756)を用いて行うステップS13の判定処理の結果としてYesを得て、さらにステップS15の判定処理の結果としてYesを得る。なぜなら、判定用加工済音声データ(103756)の生成に用いられる判定用未加工音声データ(103756)が参照用未加工音声データと対応しており、十分な相関関係が得られるためである。その結果、DSP63は一連の相関判定処理を終了し、相関判定処理の成功通知をCPU62に送信する。
【0101】
図9は、実際の音声データのサンプルに対し、ステップS13およびステップS14の判定処理において用いられる計算式の値を算出し、グラフに示したものである。なお、このグラフの作成においては、図4におけるステップS3においては周波数25Hzのハイパスフィルタとして、1段のIIR(Iifinite Impluse Response)フィルタを、またステップS5におけるくし型フィルタの定数としては、k=4410およびf=1を、また、ステップS6においては周波数25Hzのローパスフィルタとして、1段のIIRフィルタを用いている。さらに、図8のステップS13における判定式の定数としては、p=0.5、q=0.8を用いている。
【0102】
図9の上段のグラフには、nに対する、式(2)の左辺の分子の値と、左辺の分母を右辺に移項した式の値が示されている。図9の中段のグラフには、nに対する、式(3)の左辺の分子の値と、左辺の分母を右辺に移項した式の値が示されている。また、図9の下段のグラフには、式(4)の左辺の値が示されている。
【0103】
図9によれば、nの値が区間Aに位置する場合において、式(2)の左辺の分子の値が、左辺の分母を右辺に移項した式の値と等しいか、それを超えるため、式(2)の条件が満たされる。さらに、区間Aのなかで、nの値が区間Bに位置する場合において、式(3)の左辺の分子の値が、左辺の分母を右辺に移項した式の値と等しいか、それを超えるため、式(3)の条件が満たされる。その結果、ステップS13の判定処理において、Yesの結果が得られる。区間Bのなかで、nの値が矢印Cで示される値をとる場合、式(4)の左辺の値が正の値から0となり、式(5)の条件も満たされるので、ステップS15の判定処理において、Yesの結果が得られる。
【0104】
[1.2.2.4]MIDIイベントの再生
CPU62は、DSP63から相関判定処理の成功通知を受信すると、その時点を0秒として、計時を開始する。同時に、CPU62はRAM64からSMFを読み込み、計時される時間とSMFに含まれるデルタタイムを順次比較し、計時される時間がデルタタイムと一致すると、そのデルタタイムに対応するMIDIイベントを自動演奏ピアノ部3に送信する。
【0105】
自動演奏ピアノ部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に記録された演奏情報による楽器音による演奏とを同時に聴くことができる。
【0106】
[1.2.2.5]音声データとMIDIイベントの時間的関係
上記のように、ユーザは音楽CDと、SMFに記録されたMIDIイベントとを同時に再生することができるが、その際、音楽CD−Aと音楽CD−Bにおける楽曲の開始時間のずれは調整され、音楽CDの再生とSMFに記録されたMIDIイベントの再生がずれることはない。以下、図10を用いて、音楽CD−Aおよび音楽CD−Bの音声データと、MIDIイベントの時間的関係を整理する。図10においては、音楽CD−Bの音声データの示す音声波形のレベルが、音楽CD−Aの音声データの示す音声波形と比較し、全体的に低い場合の状況を例として示している。なお、異なる2つの時間を区別するため、音楽CD−Bの再生開始時点を0秒とする時間には後に(T’)を付ける。
【0107】
もし、音楽CD−Aと音楽CD−Bにおける楽曲の開始時間のずれが調整されず、音楽CDの再生開始の時点を基準にMIDIイベントの再生が行われた場合、第1イベントは3.92秒(T’)、第2イベントは5.30秒(T’)、第3イベントは6.38秒(T’)に自動演奏ピアノ部3に送信される。従って、MIDIイベントによる演奏が、音楽CDの楽曲に対して早過ぎる結果となる。
【0108】
しかしながら、音楽CD−Bの再生が開始された後、約3.84秒は音楽CD−Bから取り出される判定用未加工音声データと、音楽CD−Aから事前に取り出された参照用未加工音声データが大きく異なっているため、それらから生成される判定用加工済音声データと参照用加工済音声データの間に十分な相関関係がなく、MIDIイベントの再生は開始されない。
【0109】
そして、約3.84秒(T’)にそれらの音声データの間に十分な相関関係が得られ、それぞれが音楽CD−Bと音楽CD−Aの楽曲の同じ部分から生成されたものであると判定される。この約3.84秒(T’)、すなわち音楽CD−Aにおける約2.67秒(T)に相当する時間を基準にMIDIイベントのデルタタイムが計時されるため、第1イベントは約5.09秒(T’)、第2イベントは約6.47秒(T’)、第3イベントは約7.55秒(T’)に自動演奏ピアノ部3に送信される。このように、MIDIイベントの送信タイミングは調整され、音楽CD−Bに記録された楽曲に対し、正しいタイミングでMIDIイベントによる演奏がなされる。
【0110】
[2]第2実施形態
本発明の第2実施形態においては、音楽CDに記録された音声データと、SMFに記録されたMIDIイベントの再生の同期調整に、音楽CDに記録されているタイムコードが利用される。
【0111】
[2.1]音楽CDドライブ
第2実施形態における全体構成、各構成部の機能、およびMIDIデータにおけるデータフォーマットは、音楽CDドライブ1の機能を除いて、第1実施形態におけるものと同様であるため、音楽CDドライブ1の機能についてのみ説明し、他の説明は省略する。
第2実施形態において、音楽CDドライブ1は、音楽CDに記録されている音声データと共に、タイムコードをコントローラ部6に送信する。その他の点は、第1実施形態における音楽CDドライブ1と同様である。
【0112】
[2.2]動作
第2実施形態における同期記録再生装置SSの動作については、以下の3点が第1実施形態と異なる。
(1)SMFにおいて、システムエクスクルーシブイベントに、参照用加工済音声データの生成に用いられる参照用未加工音声データの開始時点のタイムコードが記録される。
(2)SMFに記録される他のMIDIイベントのデルタタイムとして、それらのMIDIイベントの発生時点に対応するタイムコードが記録される。
(3)MIDIイベントの再生動作において、MIDIイベントは、コントローラ部6のクロックを用いた計時によらず、音楽CDドライブ1から送信されるタイムクロックに基づいて自動演奏ピアノ部3に送信される。
【0113】
第2実施形態における他の動作は、第1実施形態におけるものと同様であるので、その詳細な説明は省略する。なお、以下の説明において、第1実施形態と同様に記録動作においては音楽CD−Aが、再生動作においては音楽CD−Bが用いられるものとする。また、タイムコードの表現形式には、時間、分、秒、およびフレームが用いられるが、SMFに記録されるデルタタイムと同様に、以下の説明においては簡易化のため、タイムコードの示す時間情報を秒で表す。
【0114】
[2.2.1]記録動作
第2実施形態の同期記録再生装置SSにおいて、ユーザが操作表示部5を用いて演奏データの記録開始の指示を行うと、音楽CD−Aの音声データが、タイムコードと共に音楽CDドライブ1からコントローラ部6に順次送信される。
【0115】
コントローラ部6において、CPU62は受信した音声データを順次発音部4に送信し、音楽CD−Aの楽曲が発音部4から音として出力される。一方、CPU62は受信した音声データのサンプル値の絶対値が所定の閾値を超えると、その直前に受信されたタイムコードをデルタタイムの形式に変換し、そのデータをRAM64に記録する。すなわち、RAM64にはデルタタイムとして「1.18秒」が記録される。以下、このデルタタイムを「参照用音声データ開始タイム」と呼ぶ。
【0116】
CPU62は、参照用音声データ開始タイムを記録すると同時にサンプル値のRAM64への記録を開始し、その後、約1.49秒間分のサンプル値が参照用未加工音声データとしてRAM64に記録される。
CPU62による参照用未加工音声データの記録が終了すると、DSP63は記録された参照用未加工音声データをRAM64から読み込み、読み込まれた参照用未加工音声データに対し相関判定用データ生成処理を行う。その結果、RAM64には参照用加工済音声データが記録される。
【0117】
DSP63が相関判定用データ生成処理を行う一方で、ユーザは発音部4から聴こえる音楽CD−Aの楽曲の音に合わせて、ピアノ31による演奏を開始する。ユーザによる演奏の情報は、MIDIイベントとして自動演奏ピアノ部3からコントローラ部6に送信される。CPU62はMIDIイベントを受信すると、その直前に音楽CDドライブ1から受信されたタイムコードをデルタタイムの形式に変換し、そのデータをMIDIイベントと対応付けてRAM64に記録する。
【0118】
音楽CD−Aの楽曲の再生が終了し、ユーザによる演奏も終了すると、ユーザは操作表示部5を用いて演奏データの記録終了の指示を行う。このユーザの指示が行われると、まず、音楽CDドライブ1による音楽CD−Aの再生が停止される。続いて、CPU62は、参照用音声データ開始タイム、参照用加工済音声データ、ユーザの演奏により生成されたMIDIイベント、およびそのMIDIイベントに対応付けられたデルタタイムをRAM64より読み出す。CPU62は読み出したこれらのデータを組み合わせ、SMFを生成する。
【0119】
図11は、CPU62が生成するSMFの概略を示す図である。このSMFにおいて、システムエクスクルーシブイベントには参照用加工済音声データに加え、参照用音声データ開始タイムが格納されている。また、他のMIDIイベントに対応するデルタタイムは、MIDIイベントとほぼ同時にCPU62が受信したタイムコードと同じ時刻情報を含んでおり、例えば第1イベントに対するデルタタイムは3.92秒である。このデルタタイムは、第1イベントは音楽CD−Aの音声データの再生開始から3.92秒後に生成されたことを示す。
CPU62は、生成したSMFを書込命令と共にFDドライブ2に送信し、SMFはFDドライブ2により、FDに書き込まれる。
【0120】
[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は受信した音声データを順次発音部4に送信し、音楽CD−Bの楽曲が発音部4から音として出力される。CPU62は、音声データを順次発音部4に送信すると同時に、音声データをタイムコードと共にRAM64に記録する。
【0121】
CPU62が65536番目のサンプル値をRAM64に記録すると、DSP63はRAM64に記録された音声データに対する相関判定処理を開始する。そして、図8におけるステップS15の判定処理の結果がYesとなるまで、DSP63は順次更新される判定用未加工音声データから判定用加工済音声データを生成し、生成した判定用加工済音声データに対しステップS13およびステップS15の判定処理を繰り返す。
【0122】
DSP63は、判定用加工済音声データ(103756)を用いて行うステップS15の判定処理の結果としてYesを得て、一連の相関判定処理を終了し、相関判定処理の成功通知をCPU62に送信する。この相関判定処理の成功通知には、相関判定処理において最後に用いた判定用加工済音声データ(103756)の番号「103756」が含まれている。
【0123】
CPU62はDSP63から相関判定処理の成功通知を受信すると、受信した成功通知に含まれる番号「103756」に基づき、判定用未加工音声データ(103756)の先頭のサンプル値、すなわち(r(103756),l(103756))と共にRAM64に記録されているタイムコードを読み出す。この場合、タイムコードの示す時間は2.35秒である。続いて、CPU62は読み出したタイムコードの示す時間と、RAM64に記録されているSMFのシステムエクスクルーシブイベントに含まれる参照用音声データ開始タイムの示す時間との差を算出する。
【0124】
この場合、参照用音声データ開始タイムの示す時間は1.18秒であるので、これらの時間の差は1.17秒となる。これは、SMFに記録されているデルタタイムが、全体として1.17秒、音楽CD−Bの楽曲に対して早いことを示す。従って、CPU62はSMFにおける各デルタタイムに1.17秒を加算する。その結果、第1イベントに対するデルタタイムは3.92秒から5.09秒に、第2イベントに対するデルタタイムは5.30秒から6.47秒に、第3イベントに対するデルタタイムは6.38秒から7.55秒に、それぞれ更新される。以下、この動作を「タイミング調整処理」と呼ぶ。
【0125】
続いて、CPU62は音楽CDドライブ1から順次送信されてくる音楽CD−Bのタイムコードと、更新後のデルタタイムとを順次比較し、それらの時間情報が一致すると、そのデルタタイムに対応するMIDIイベントを自動演奏ピアノ部3に送信する。
【0126】
自動演奏ピアノ部3においては、コントローラ部6から送信されるMIDIイベントに従い、自動演奏が行われる。その結果、ユーザは音楽CD−Bに記録された楽曲と、SMFに記録された演奏情報による演奏とを同時に聴くことができる。
【0127】
[2.2.3]音声データとMIDIイベントとの時間的関係
図12は、MIDIデータの記録動作および再生動作における、音楽CD−Aおよび音楽CD−Bの音声データと、MIDIイベントの時間的関係を示す図である。
図12の上段の図は、MIDIデータの記録動作における音楽CD−Aのタイムコードが示す時間と、記録されるMIDIイベントに対応するデルタタイムが示す時間との関係を示している。この図に示されるように、デルタタイムにはMIDIイベントの発生時におけるタイムコードの示す時間情報がそのまま記録される。
【0128】
図12の中段の図は、MIDIデータの再生動作における音楽CD−Bのタイムコードが示す時間と、タイミング調整処理後のデルタタイムが示す時間との関係を示している。もし、タイミング調整処理前のデルタタイムに従い、音楽CD−Bのタイムコードに基づいてMIDIイベントの再生が行われると、MIDIイベントの再生が音楽CD−Bの楽曲に対し早くなる。しかしながら、タイミング調整処理により、その時間的ずれが調整されるため、タイミング調整処理後のデルタタイムに従い、音楽CD−Bのタイムコードに基づいてMIDIイベントの再生が行われると、MIDIイベントは音楽CD−Bの楽曲に対し正しいタイミングで再生される。
【0129】
ところで、音楽CDドライブ1は、音楽CDドライブ1が有する発振器からの基準クロック信号を分周することにより、44100Hzのクロック信号を生成し、このクロック信号に従って音楽CDに記録されている音声データを順次コントローラ部6に送信する。ここで発振器の動作が不安定な場合、全く同じ音楽CDを再生しても、その再生速度が再生するたびにわずかに異なる場合がある。
【0130】
図12の下段の図は、中段の図における音楽CD−Bの再生時における再生速度より、わずかに速い再生速度で音楽CD−Bが再生される場合の、音楽CD−Bのタイムコードが示す時間と、タイミング調整処理後のデルタタイムが示す時間との関係を示している。もし、CPU62のクロック信号に従ってMIDIイベントの再生が行われると、MIDIイベントの再生は全体として、音楽CD−Bの楽曲に対しわずかに遅れる。すなわち、図12の中段の図はCPU62のクロック信号に従った時間とし、CPU62のクロック信号およびその分周処理には誤差がないとすると、音楽CDドライブ1におけるクロック信号およびその分周処理における誤差により、第1イベントは時間t1、第2イベントは時間t2、第3イベントは時間t3だけ、音楽CD−Bに対して遅く再生される。
【0131】
しかしながら、第2実施形態においては、音楽CDドライブ1からリアルタイムにCPU62に送信されるタイムコードに従ってMIDIイベントの再生が行われるため、MIDIイベントが音楽CD−Bの楽曲に対し時間的にずれて再生されることはない。
【0132】
[3]第3実施形態
本発明の第3実施形態においては、参照用未加工音声データが、音楽CDに記録された音声データの示す楽曲の冒頭部分からではなく、楽曲の途中部分から取り出される。なお、第3実施形態においては、第2実施形態と同様に、SMFに記録されたMIDIイベントの再生の同期調整に、音楽CDに記録されているタイムコードが利用される。
第3実施形態における全体構成、各構成部の機能、およびMIDIデータにおけるデータフォーマットは第2実施形態におけるものと同様であるため、それらの説明は省略する。
【0133】
[3.1]動作
第3実施形態における同期記録再生装置SSの動作については、以下の2点が第2実施形態と異なる。
(1)MIDIイベントの記録動作において、参照用未加工音声データが、音楽CDに記録された音声データの示す楽曲の途中部分から取り出される。
(2)MIDIイベントの再生動作において、音楽CDに記録された音声データに対する相関判定処理によりMIDIイベントの再生タイミングが決定された後、再度、音楽CDに記録された音声データが先頭から再生される。
【0134】
[3.1.1]記録動作
第3実施形態におけるMIDIイベントの記録動作はおいては、音楽CDに記録された音声データの任意の部分を参照用未加工音声データとして取り出すことができる。例えば楽曲の先頭から3分の時点から、約1.49秒に相当するサンプル値を参照用未加工音声データとしてもよいし、楽曲全体の中で特徴的な音声波形を示す部分を含む約1.49秒に相当するサンプル値を参照用未加工音声データとしてもよい。以下の説明においては、例として、音楽CD−Aの楽曲の、タイムコードにおける3分、すなわち180秒の時点から約1.49秒を参照用未加工音声データとして取り出すこととする。
【0135】
ユーザにより、演奏データの記録開始の指示が行われると、まず、音楽CDドライブ1からCPU62に対し、音楽CD−Aの楽曲の先頭から180秒の時点からの65536組分のオーディオデータが送信される。CPU62は受信したオーディオデータに含まれる先頭のタイムコードをデルタタイムの形式に変換し、そのデータを参照用音声データ開始タイムとしてRAM64に記録する。また、CPU62は受信したオーディオデータに含まれる音声データのサンプル値を参照用未加工音声データとしてRAM64に記録する。CPU62は、この参照用未加工音声データに対し相関判定用データ生成処理を行い、その結果、RAM64には参照用加工済音声データが記録される。
【0136】
続いて、音楽CDドライブ1は音楽CD−Aを先頭から再生する。CPU62は音楽CDドライブ1から順次オーディオデータを受信し、受信したオーディオデータに含まれる音声データを発音部4に送信する。ユーザは発音部4から発せられる音楽CD−Aの楽曲の音に合わせてピアノ31を用いた演奏を行い、その演奏情報はMIDIイベントとして順次CPU62に送信される。CPU62はMIDIイベントを受信すると、その直前に音楽CDドライブ1から受信されたタイムコードをデルタタイムの形式に変換し、そのデータをMIDIイベントと対応付けてRAM64に記録する。
【0137】
ユーザにより、演奏データの記録終了の指示が行われると、音楽CDドライブ1は音楽CD−Aの再生を停止する。同時に、CPU62はRAM64に記録されたデータから図13に示すSMFを生成する。生成されたSMFはFDドライブ2によりFDに書き込まれる。
【0138】
[3.1.2]再生動作
続いて、上述した方法によって記録されたSMFを、音楽CD−Bに対して同期再生する場合、ユーザによる演奏データの再生開始の指示により、まずFDドライブ2からCPU62に対し、SMFが送信される。SMFはRAM64に記録される。続いて、音楽CDドライブ1から音楽CD−Bの音声データおよびタイムコードが順次、CPU62に送信される。
【0139】
CPU62は65536番目の音声データのサンプル値を受信すると、受信された一連のサンプル値に対する相関判定処理を開始する。CPU62の制御のもとで、DSP63は順次受信される音声データのサンプル値により相関判定処理に用いる参照用未加工音声データを更新し、図8におけるステップS15の判定処理の結果がYesとなるまで、相関判定処理が続けられる。音楽CD−Bの楽曲は、音楽CD−Aの楽曲に対して、全体として約1.17秒の遅れがあるので、CPU62は音楽CD−Bの楽曲の先頭から約182.35秒の時点に対応するサンプル値を受信し、そのサンプル値を最後とする参照用未加工音声データに対して相関判定処理を行う結果、ステップS15の判定処理の結果としてYesを得て、相関判定処理を終了する。CPU62は相関判定処理が成功した際に用いられた参照用未加工音声データの先頭のデータに対応するタイムコードとして、181.17秒を得る。
【0140】
続いて、CPU62はこのタイムコードの示す時間と、SMFのシステムエクスクルーシブイベントに含まれるデルタタイムの示す時間との差を算出する。この場合、これらの時間の差は1.17秒となるため、CPU62はSMFにおける各デルタタイムに1.17秒を加算する。その結果、第2実施形態と同様に、各デルタタイムは音楽CD−Bの楽曲に対し、正しいタイミングを示すよう調整される。以上がMIDIイベントの再生タイミングを決定する処理であり、この処理の間、音楽CD−Bの楽曲は発音部4に送信されず、従ってユーザに音楽CD−Bの楽曲は聴こえない。
【0141】
以上の処理が終了すると、音楽CDドライブ1は再度、音楽CD−Bの再生を楽曲の先頭から行う。音楽CD−Bの楽曲の音声データは、CPU62を介して発音部4に送信され、ユーザは発音部4から楽曲の音を聴くことができる。同時に、CPU62は音楽CDドライブ1から受信する音楽CD−Bのタイムコードと、更新後のSMFにおけるデルタタイムを順次比較し、それらの時間情報が一致すると、そのデルタタイムに対応するMIDIイベントを自動演奏ピアノ部3に送信する。その結果、自動演奏ピアノ部3による自動演奏が行われる。
【0142】
図14は第3実施形態における参照用未加工音声データ、参照用加工済音声データ、判定用未加工音声データ、および判定用加工済音声データの関係を示す模式図である。参照用未加工音声データは、音楽CD−Aの先頭から時間T1が経過した時点から約1.49秒分の音声データを取り出したものである。この参照用未加工音声データに対し、相関判定用データ生成処理が行われ、参照用加工済音声データが生成される。参照用加工済音声データはSMFの先頭に、時間T1を示す時間情報と共に格納される。
音楽CD−Bにおいて、音楽CD−Aにおける参照用未加工音声データに対応する音声データは、先頭から時間T2が経過した時点から約1.49秒分の音声データとして記録されている。
【0143】
SMFに含まれるMIDIイベントに対するデルタタイムの調整は、T1とT2の差に基づいて行われる。すなわち、T1がT2よりも小さければ、SMFにおけるデルタタイムはその差だけ加算され、T1がT2よりも大きければ、SMFにおけるデルタタイムはその差だけ減算される。
【0144】
[4]変形例
上述した第1実施形態、第2実施形態および第3実施形態は、それぞれ本発明の実施形態の例示であり、上記実施形態に対しては、本発明の趣旨から逸脱しない範囲で様々な変形を加えることができる。以下、変形例を示す。
【0145】
[4.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は、記録動作のみを行う装置と再生動作のみを行う装置とに別々に構成されていてもよい。
【0146】
これらの構成部のグループ間は、オーディオケーブル、MIDIケーブル、オーディオ用光ケーブル、USB(Universal Serial Bus)ケーブル、および専用の制御用ケーブル等で接続される。また、FDドライブ2、アンプ43、スピーカ44等は市販のものを利用してもよい。
第1変形例によれば、同期記録再生装置SSの配置の柔軟性が高まると同時に、ユーザは同期記録再生装置SSの全てを新たに準備することなく、必要な構成部のみを準備することにより、必要なコストを低減できる。
【0147】
[4.2]第2変形例
第2変形例においては、同期記録再生装置SSにおいて音楽CDドライブ1およびFDドライブ2はない。その一方で、通信インタフェースはLAN(Local Area Network)に接続可能な機能を有し、外部の通信機器とLANおよびWANを介して接続されている。さらに、コントローラ部6はHD(Hard Disk)を有している。
【0148】
コントローラ部6は、LANを介して他の通信機器から、音声データとタイムコードを含むデジタルオーディオデータを受信し、受信したオーディオデータをHDに記録する。同様に、コントローラ部6は、LANを介して他の通信機器から、オーディオデータに対応して作成されたSMFを受信し、受信したSMFをHDに記録する。
【0149】
コントローラ部6は音楽CDドライブ1から音楽CDの音声データおよびタイムコードを受信する代わりに、HDからデジタルオーディオデータを読み出す。また、コントローラ部6はFDドライブ2に対しSMFの書込および読出を行う代わりに、HDに対し同様の動作を行う。
第2変形例によれば、ユーザはデジタルオーディオデータおよびSMFを、LANを介して地理的に離れた通信機器との間で送受信することができる。なお、LANはインターネット等の広域通信網と接続されていてもよい。
【0150】
[4.3]第3変形例
上述した実施形態においては、相関判定処理のステップS13およびステップS15において、絶対相関指標による判定、相対相関指標による判定、および相関値による判定の全てが用いられているが、第3変形例においては、これらの判定の1つまたは複数の組み合わせにより相関判定処理が行われる。なお、これらの判定の1つまたは複数の組み合わせを、自由に選択可能としてもよい。
第3変形例によれば、より柔軟に必要とされる精度の判定結果を得ることができる。
【0151】
[4.4]第4変形例
上述した実施形態においては、相関判定処理のステップS15において、式(4)および式(5)で示される判定により、相関値の極大値が検出されているが、第4変形例においては、式(4)で示される判定のみが行われ、相関値の極値が検出される。
【0152】
より具体的には、ステップS15において、DSP63はDn−1とDnの積を求め、その積が0以下であるか否かを判定する。ここでその積が0以下である場合、相関値の変化率は0であるか、もしくは0をまたがって変化しているので、その時点における相関値は極値もしくは極値の近似値である。従って、Dn−1とDnの積が0以下である場合、ステップS15の判定処理の結果をYesとする。
【0153】
第4変形例によれば、極大値の近辺に極小値が現れる可能性が低い場合、上述した実施形態におけるステップS15と同様の判定結果を、より簡易な判定処理により得ることができる。
【0154】
【発明の効果】
以上説明したように、本発明によれば、同じ楽曲であっても、楽曲の開始時点が異なる音声データを記録した、異なる版の音声データのいずれに対しても、正しいタイミングで演奏データの同期再生を開始することができる。従って、同じ楽曲の異なる版に対し異なる演奏データを準備する必要がなく、データの作成および管理が簡便化される。
【0155】
なお、同じ楽曲の異なる版においては、楽曲の録音レベルが異なる場合があるが、本発明によれば、演奏データの再生開始のタイミングを決定する際に用いられる指標の一つとして、参照用の音声データの示す音声波形の形状と、実際の音声データの示す音声波形の形状との相似の度合いを示す指標を用いることが可能なため、録音レベルが異なる版のオーディオデータに対しても、正しく再生開始のタイミングを決定することができる。
【0156】
さらに、本発明において、タイムコードを用いた演奏データの再生が行われる場合、オーディオデータの再生速度が不安定な場合であっても、そのオーディオデータに対し正しいタイミングで演奏データの再生が行われる。
【図面の簡単な説明】
【図1】本発明の第1実施形態および第2実施形態に係る同期記録再生装置SSの構成を示す図である。
【図2】MIDIイベントの構成を示す図である。
【図3】SMFの構成を示す図である。
【図4】本発明の第1実施形態および第2実施形態に係る相関判定用データ生成処理のフロー図である。
【図5】本発明の第1実施形態および第2実施形態に係るくし形フィルタの構成を示す図である。
【図6】本発明の第1実施形態に係る記録動作における音声データとMIDIイベントの時間的関係を示す図である。
【図7】本発明の第1実施形態に係るSMFの概略を示す図である。
【図8】本発明の第1実施形態および第2実施形態に係る相関判定処理のフロー図である。
【図9】本発明の第1実施形態および第2実施形態に係る相関判定処理における、計算式の値の変化と判定結果との関係を示す図である。
【図10】本発明の第1実施形態に係る記録動作における音声データ、再生動作における音声データ、およびMIDIイベントの時間的関係を示す図である。
【図11】本発明の第2実施形態に係るSMFの概略を示す図である。
【図12】本発明の第2実施形態に係る記録動作における音声データ、再生動作における音声データ、およびMIDIイベントの時間的関係を示す図である。
【図13】本発明の第3実施形態に係るSMFの概略を示す図である。
【図14】本発明の第3実施形態に係る参照用未加工音声データ、参照用加工済音声データ、判定用未加工音声データ、および判定用加工済音声データの関係を示す図である。
【符号の説明】
1・・・音楽CDドライブ、2・・・FDドライブ、3・・・自動演奏ピアノ部、4・・・発音部、5・・・操作表示部、6・・・コントローラ部、31・・・ピアノ、32・・・キーセンサ、33・・・ペダルセンサ、34・・・MIDIイベント制御回路、35・・・音源、36・・・駆動部、41・・・ミキサ、42・・・D/Aコンバータ、43・・・アンプ、44・・・スピーカ、61・・・ROM、62・・・CPU、63・・・DSP、64・・・RAM、65・・・通信インタフェース。
Claims (7)
- 楽曲の音声波形を示す音声データを受信する第1受信手段と、
演奏の制御を指示する制御データを受信する第2受信手段と、
前記音声データの一部である部分データが表す音声波形を抽象化した参照用データを生成する生成手段と、
前記参照用データを記録するとともに、前記部分データの再生タイミングと前記制御データの受信タイミングとの時間的関係を示す時間データとからなる演奏データを記録する記録手段と
を備えることを特徴とする記録装置。 - 音声波形を抽象化した参照用データと、演奏の制御を指示する制御データおよび該演奏の制御の実行タイミングを指示する時間データからなる演奏データとを受信する第1受信手段と、
楽曲の音声波形を示す音声データを受信する第2受信手段と、
前記音声データの中から、前記参照用データが表す音声波形に類似する音声波形を示すデータを部分データとして選択する選択手段と、
前記部分データの再生タイミングと前記時間データとによって決定されるタイミングで、前記制御データの送信を行う送信手段と
を備えることを特徴とする再生装置。 - 楽曲の音声波形を示す音声データを受信する第1受信過程と、
演奏の制御を指示する制御データを受信する第2受信過程と、
前記音声データの一部である部分データが表す音声波形を抽象化した参照用データを生成する生成過程と、
前記参照用データを記録するとともに、前記部分データの再生タイミングと前記制御データの受信タイミングとの時間的関係を示す時間データとからなる演奏データを記録する記録過程と
を備えることを特徴とする記録方法。 - 音声波形を抽象化した参照用データと、演奏の制御を指示する制御データおよび該演奏の制御の実行タイミングを指示する時間データからなる演奏データとを受信する第1受信過程と、
楽曲の音声波形を示す音声データを受信する第2受信過程と、
前記音声データの中から、前記参照用データが表す音声波形に類似する音声波形を示すデータを部分データとして選択する選択過程と、
前記部分データの再生タイミングと前記時間データとによって決定されるタイミングで、前記制御データの送信を行う送信過程と
を備えることを特徴とする再生方法。 - 楽曲の音声波形を示す音声データを受信する第1受信処理と、
演奏の制御を指示する制御データを受信する第2受信処理と、
前記音声データの一部である部分データが表す音声波形を抽象化した参照用データを生成する生成処理と、
前記参照用データを記録するとともに、前記部分データの再生タイミングと前記制御データの受信タイミングとの時間的関係を示す時間データとからなる演奏データを記録する記録処理と
をコンピュータに実行させるプログラム。 - 音声波形を抽象化した参照用データと、演奏の制御を指示する制御データおよび該演奏の制御の実行タイミングを指示する時間データからなる演奏データとを受信する第1受信処理と、
楽曲の音声波形を示す音声データを受信する第2受信処理と、
前記音声データの中から、前記参照用データが表す音声波形に類似する音声波形を示すデータを部分データとして選択する選択処理と、
前記部分データの再生タイミングと前記時間データとによって決定されるタイミングで、前記制御データの送信を行う送信処理と
をコンピュータに実行させるプログラム。 - 音声波形を抽象化した参照用データと、演奏の制御を指示する制御データおよび該演奏の制御の実行タイミングを指示する時間データからなる演奏データ
が記録された記録媒体。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002242481A JP3925349B2 (ja) | 2002-08-22 | 2002-08-22 | 音声データと演奏データの同期再生を行うための装置および方法 |
US10/642,542 US7863513B2 (en) | 2002-08-22 | 2003-08-14 | Synchronous playback system for reproducing music in good ensemble and recorder and player for the ensemble |
EP03018938.5A EP1400948B1 (en) | 2002-08-22 | 2003-08-20 | Synchronous playback system for reproducing music in good ensemble and recorder and player for the ensemble |
KR1020030057908A KR100569774B1 (ko) | 2002-08-22 | 2003-08-21 | 좋은 앙상블로 음악을 재생하기 위한 동기 재생 시스템,및 앙상블을 위한 레코더 및 플레이어 |
CNB031272657A CN100339907C (zh) | 2002-08-22 | 2003-08-22 | 同步重放系统及其记录器和播放器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002242481A JP3925349B2 (ja) | 2002-08-22 | 2002-08-22 | 音声データと演奏データの同期再生を行うための装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004085609A true JP2004085609A (ja) | 2004-03-18 |
JP3925349B2 JP3925349B2 (ja) | 2007-06-06 |
Family
ID=32051557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002242481A Expired - Fee Related JP3925349B2 (ja) | 2002-08-22 | 2002-08-22 | 音声データと演奏データの同期再生を行うための装置および方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3925349B2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008286946A (ja) * | 2007-05-16 | 2008-11-27 | Yamaha Corp | データ再生装置、データ再生方法およびプログラム |
JP2010243615A (ja) * | 2009-04-02 | 2010-10-28 | Casio Computer Co Ltd | 操作自動実行システム、および、電子楽器 |
KR101480331B1 (ko) | 2013-12-05 | 2015-01-08 | 주식회사 씬멀티미디어 | 시간 동기화 방법 및 전자 기기 |
JP2015197941A (ja) * | 2014-04-03 | 2015-11-09 | ヤマハ株式会社 | サンプリング周波数推定装置 |
JP2016136448A (ja) * | 2016-03-10 | 2016-07-28 | パイオニア株式会社 | 記録装置、記録方法、及び記録制御用のコンピュータプログラム |
CN112133341A (zh) * | 2020-08-21 | 2020-12-25 | 上海商米科技集团股份有限公司 | 一种android平台实时监听录制声音的方法及电子设备 |
-
2002
- 2002-08-22 JP JP2002242481A patent/JP3925349B2/ja not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008286946A (ja) * | 2007-05-16 | 2008-11-27 | Yamaha Corp | データ再生装置、データ再生方法およびプログラム |
JP2010243615A (ja) * | 2009-04-02 | 2010-10-28 | Casio Computer Co Ltd | 操作自動実行システム、および、電子楽器 |
KR101480331B1 (ko) | 2013-12-05 | 2015-01-08 | 주식회사 씬멀티미디어 | 시간 동기화 방법 및 전자 기기 |
JP2015197941A (ja) * | 2014-04-03 | 2015-11-09 | ヤマハ株式会社 | サンプリング周波数推定装置 |
JP2016136448A (ja) * | 2016-03-10 | 2016-07-28 | パイオニア株式会社 | 記録装置、記録方法、及び記録制御用のコンピュータプログラム |
CN112133341A (zh) * | 2020-08-21 | 2020-12-25 | 上海商米科技集团股份有限公司 | 一种android平台实时监听录制声音的方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
JP3925349B2 (ja) | 2007-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100569774B1 (ko) | 좋은 앙상블로 음악을 재생하기 위한 동기 재생 시스템,및 앙상블을 위한 레코더 및 플레이어 | |
JP3835324B2 (ja) | 楽曲再生装置 | |
US7683251B2 (en) | Method and apparatus for playing in synchronism with a digital audio file an automated musical instrument | |
JP3885587B2 (ja) | 演奏制御装置及び演奏制御用プログラム、並びに記録媒体 | |
US6630621B1 (en) | Apparatus and method for sampling and storing music, and apparatus for outputting music | |
JP3925349B2 (ja) | 音声データと演奏データの同期再生を行うための装置および方法 | |
JP7367835B2 (ja) | 録音再生装置、録音再生装置の制御方法及び制御プログラム並びに電子楽器 | |
US7507900B2 (en) | Method and apparatus for playing in synchronism with a DVD an automated musical instrument | |
JP4063048B2 (ja) | 音声データと演奏データの同期再生を行うための装置および方法 | |
JP3969249B2 (ja) | 音声データと演奏データの同期再生を行うための装置および方法 | |
JP3867580B2 (ja) | 楽曲再生装置 | |
JP4207082B2 (ja) | 再生装置、再生方法およびプログラム | |
JP3915517B2 (ja) | マルチメディアシステム、再生装置及び再生記録装置 | |
JP4048917B2 (ja) | 音声データと演奏データの同期再生を行うための装置および方法 | |
JP5338312B2 (ja) | 自動演奏同期装置、自動演奏鍵盤楽器およびプログラム | |
JP3804536B2 (ja) | 楽音再生記録装置、記録装置及び記録方法 | |
JP2003058192A (ja) | 音楽データ再生装置 | |
JP2008518248A (ja) | Midiファイルを再生する装置及び方法 | |
JP3879684B2 (ja) | 曲データ変換装置および曲データ変換プログラム | |
JP4158443B2 (ja) | 再生制御装置とプログラム | |
JP3867579B2 (ja) | マルチメディアシステム及び再生装置 | |
EP1073055A2 (en) | Apparatus and method for reproducing audio information | |
JP4037973B2 (ja) | 波形再生装置 | |
JPH10307581A (ja) | 波形データ圧縮装置および方法 | |
JPH07287576A (ja) | 音楽再生方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050224 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070130 |
|
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: 20070206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070219 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3925349 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110309 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110309 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120309 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130309 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140309 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |