JP3867580B2 - 楽曲再生装置 - Google Patents
楽曲再生装置 Download PDFInfo
- Publication number
- JP3867580B2 JP3867580B2 JP2002007873A JP2002007873A JP3867580B2 JP 3867580 B2 JP3867580 B2 JP 3867580B2 JP 2002007873 A JP2002007873 A JP 2002007873A JP 2002007873 A JP2002007873 A JP 2002007873A JP 3867580 B2 JP3867580 B2 JP 3867580B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- data
- music
- event
- timing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、複数の記憶媒体に記憶された同一楽曲の楽曲データを同期再生するための装置に関する。
【0002】
【従来の技術】
楽曲を再生するための手段として、コンパクトディスク(CD)などの記憶媒体から楽曲データである時系列オーディオデータを読み出し、音として出力する装置がある。また、別の形態の楽曲再生手段として、楽曲データの一種であるMIDI(Musical Instrument Digital Interface)データを記憶媒体から読み出し、このMIDIデータに従って音源を駆動し、自動演奏を行う装置がある。そして、最近では、これらの複合形態、すなわち、ある記憶媒体から楽曲のオーディオデータを再生して音として出力するとともに、同一楽曲のMIDIデータを別の記憶媒体から読み出し、自動演奏をする技術が提案されるに至っている。
【0003】
【発明が解決しようとする課題】
ところで、オーディオデータとMIDIデータとを別々の記憶媒体、例えばCDとFDから読み出して1つのまとまった楽曲を再生するためには、オーディオデータをCDから読み出して音として出力する動作と、MIDIデータをFDから読み出して自動演奏を行う動作とが同期していなくてはならない。しかしながら、両者を同期させることは一般に困難であった。まず、例えばCDに記憶されているオーディオデータは44.1kHzのサンプリングクロックによりサンプリングされた時系列サンプルデータである。このため、CDからオーディオデータを読み出す動作は44.1kHzのクロックに同期したタイミングで行われる。ところが、MIDIデータを再生する系では、このCD再生用のクロックとは別個独立のクロックによりMIDIデータの再生タイミングの制御が行われる。ここで、オーディオデータの再生に用いられるクロックの周波数が44.1kHzであれば、CDに記録された3分の楽曲は3分を要して再生される。また、FDに収録された3分間の演奏に対応したMIDIデータは3分間の自動演奏として再生される。しかし、クロックの生成に用いられる水晶振動子には個体差があるから、オーディオデータ再生用のクロックとMIDIデータ再生用のクロックの周波数を厳密に理想値に一致させることは困難である。このため、たとえオーディオデータの再生とMIDIデータの再生が同時に開始されたとしても、CDからオーディオデータを読み出すことによって再生される楽曲中の時間的位置と、FDからMIDIデータを読み出すことにより再生される楽曲中の時間的位置とが時間経過に伴って次第にずれてゆくという問題が生じる。
【0004】
本発明は以上のような事情を鑑みてなされたものであり、複数の記憶媒体に記憶された楽曲データを同期再生することができる楽曲再生装置を提供することを目的としている。
【0005】
【課題を解決するための手段】
この発明は、楽曲を表すオーディオデータに楽曲の開始からの経過時間を表す一連のタイムコードを離散的に挿入してなる第1の楽曲データを第1の記憶媒体から読み出す第1のデータ再生部と、クロックをカウントすることにより計時を行う計時手段と、前記第1の楽曲データが表す楽曲に対応する楽曲の演奏制御を指示する複数のイベントと各イベントの実行タイミングを指定するタイミングデータとを含む第2の楽曲データを第2の記憶媒体から読み出し、前記計時手段による計時結果に基づき、前記タイミングデータによって定まる時刻に前記イベントを出力する第2のデータ再生部と、前記第1のデータ再生部によって読み出された第1の楽曲データ中のタイムコードに対応した時刻と前記計時手段の計時結果に対応した時刻との時間差に基づいて、前記第2のデータ再生部が前記イベントを出力するタイミングを調整するタイミング調整部と、前記第1のデータ再生部によって読み出された第1の楽曲データ中のオーディオデータを音として出力するための制御を行うとともに、前記第2のデータ再生部によって読み出された第2の楽曲データ中のイベントを前記タイミング調整部により調整されたタイミングで自動演奏手段に供給するコントローラと、を具備し、前記第2のデータ再生部は、前記タイミングデータに相当する時間を計時して、出力待ちのイベントの出力を行い、前記タイミング調整部は、前記第1のデータ再生部によってタイムコードが読み出されたときに、前記計時手段の計時結果に対応した時刻と前記タイムコードに対応した時刻との時間差に相当する分だけ、その時点において出力待ちのイベントが出力されるまでの待機時間を調整することを特徴とする楽曲再生装置を提供する。
かかる楽曲再生装置によれば、第2の記憶媒体から読み出されたイベントが自動演奏に用いられるタイミングが、第1の記憶媒体から読み出されたタイムコードに対応した時刻と計時手段の計時結果に対応した時刻との時間差に基づいて調整される。この調整により、第1の楽曲データの読み出しによる楽曲の再生と第2の楽曲データの読み出しによる楽曲の再生の時間的ずれが抑えられる。
また、好ましい態様において、前記第2の記憶媒体に記憶された前記第2の楽曲データは、前記第1の記憶媒体からのデータ読み出しの開始を指示する再生開始イベントを含み、前記コントローラは前記再生開始イベントが前記第2の記憶媒体から読み出されたときに、前記第1のデータ再生部による第1の楽曲データの読み出しを開始させる。
また、以上のものとは別の観点から、この発明は、一般的にシーケンサあるいは自動演奏装置と呼ばれている楽曲再生装置の改良された形態を提供するものである。すなわち、この発明は、クロックをカウントすることにより計時を行う計時手段と、楽曲の演奏制御を指示する複数のイベントと各イベントの実行タイミングを指定するタイミングデータとを含む第1の楽曲データを記憶媒体から読み出し、前記計時手段による計時結果に基づき、前記タイミングデータによって定まる時刻に前記イベントを出力するデータ再生部と、前記データ再生部による第1の楽曲データの読み出し開始以後、当該第1の楽曲データと異なる第2の楽曲データに含まれるタイムコードであって、前記第1の楽曲データが表す楽曲に対応する楽曲の開始からの経過時間を表すタイムコードを受け取り、前記データ再生部によってイベントが出力される時刻を、当該タイムコードに対応した時刻と前記計時手段の計時結果に対応した時刻との時間差に基づいて調整するタイミング調整部と、を具備し、前記データ再生部は、前記タイミングデータに相当する時間を計時して、出力待ちのイベントの出力を行い、前記タイミング調整部は、前記タイムコードを受け取ったときに、前記計時手段の計時結果に対応した時刻と前記タイムコードに対応した時刻との時間差に相当する分だけ、その時点において出力待ちのイベントが出力されるまでの待機時間を調整することを特徴とする楽曲再生装置を提供するものである。
この楽曲再生装置によれば、楽曲の開始からの経過時間を表すタイムコードを受け取ったときに、そのタイムコードを利用してイベントの出力時刻の調整が行われる。従って、そのようなタイムコードを出力する他の楽曲再生装置と協働して同一楽曲の同期再生を行うことができる。
【0006】
【発明の実施の形態】
A.第1実施形態
図1はこの発明の第1実施形態である楽曲再生装置の構成を示すブロック図である。図1において、CD駆動装置1は、コントローラ4からの指令に従い、装着されたCDから記録データを読み出して出力する装置である。CD駆動装置1には、様々なCDが装着され得る。これらのCDのうち本発明と最も関連性の強いのは楽曲データを主要な記録データとするCDである。図2に示すように、楽曲データは、ある楽曲の楽器演奏や歌唱に伴って発生したオーディオ信号の符号化データ列(以下、オーディオデータという)を含んでいる。また、この楽曲データにはタイムコードが離散的に挿入されている。これらのタイムコードは、楽曲の開始からの経過時間を示すコードである。このようなデータとは種類の異なったデータが記録されたCDもCD駆動装置1に装着され得る。例えば、Lチャネルデータとして時系列オーディオデータが記録され、Rチャネルとして自動演奏制御のためのMIDIデータが記録されたCDがCD駆動装置1に装着され得る。また、逆にRチャネルデータとして時系列オーディオデータが記録され、Lチャネルとして自動演奏制御のためのMIDIデータが記録されたCDがCD駆動装置1に装着されることもある。
【0007】
FD駆動装置2は、コントローラ4からの指令に従い、自動演奏の制御のためのMIDIデータをFDから順次読み出してコントローラ4に供給するシーケンサ機能を有している。ここで、MIDIデータは、図3に示すように、特定の音の発音あるいは消音といった演奏制御を指示するイベントと、先行するイベントと後発のイベントとの発生時間間隔を示すデルタタイムとからなる時系列の楽曲データである。FD駆動装置2は、あるイベントをFDから読み出してコントローラ4に送った後は、そのイベントの後のデルタタイムによって示される時間だけ待機し、後続のイベントの読み出しを行う、という処理を繰り返す。これがシーケンサ機能の基本的な動作である。本実施形態において、1曲分のMIDIデータの中には、演奏制御用のイベントの他、CD再生開始を指示するイベントが含まれている。このイベントは、MIDIデータ中において曲の初めから250msecが経過した時点に対応する位置に挿入されている。FD駆動装置2は、以上説明したMIDIデータをFDから読み出すシーケンサとしての機能の他に、このシーケンサとしての動作をCD駆動装置1による時系列オーディオデータの再生に同期させるタイミング調整機能を有している。なお、このタイミング調整機能の詳細については後述する。
【0008】
DSP3は、CD駆動装置1から読み出された楽曲データを250msecだけ遅延させ、楽曲データをコントローラ4に送るとともに、楽曲データ中のオーディオデータからアナログオーディオ信号を生成してミキサ13に送る。また、DSP3は、CD駆動装置1から受け取った楽曲データの種類を判定し、楽曲データの種類を示す情報をコントローラ4に送る。
【0009】
コントローラ4は、操作部5を介して与えられる指示に従い、この楽曲再生装置全体の制御を行う。コントローラ4によって行われる各種の制御のうち本発明と最も関連の深いのはCDおよびFDの同期再生のための制御である。この同期再生の指示が操作部5から与えられた場合、コントローラ4は、この指示に従って、MIDIデータの再生指示をFD駆動装置2に送る。コントローラ4は、FD駆動装置2から供給されるイベントを自動演奏を行うための手段に送る。なお、これらの手段については後述する。また、コントローラ4は、FD駆動装置2によってCDの再生開始を指示するイベントが読み出されたとき、再生指示をCD駆動装置1に送る。また、コントローラ4は、CD駆動装置1によってタイムコードが読み出され、読み出されたタイムコードがDSP3を介して供給される都度、そのタイムコードをFD駆動装置2に送る。
【0010】
本実施形態に係る楽曲再生装置は、自動演奏を行うための手段として、アンサンブル音源8と、ピアノ音源10と、駆動ソレノイド群11およびピアノ12からなる自動ピアノとを有している。アンサンブル音源8により自動演奏を行う場合、コントローラ4は、FD駆動装置2から受け取ったイベントをアンサンブル音源8に送る。また、ピアノ音源10または自動ピアノにより自動演奏を行う場合、コントローラ4は、FD駆動装置2から受け取ったイベントをピアノ自動演奏用電子回路9に送る。いずれの手段により自動演奏を行うかは、操作部5からの指示に従って決定される。
【0011】
アンサンブル音源8は、コントローラ4からイベントを受け取り、そのイベントに従ってデジタル楽音信号を生成する装置である。このアンサンブル音源8により生成されたデジタル楽音信号はコントローラ4によってアナログ楽音信号に変換され、ミキサ13に送られる。ここで、ミキサ13は、アナログ信号を受け取るアナログ入力ポートとデジタル信号を受け取るデジタル入力ポートの両方を有しており、これらのポートを介して入力される全ての信号をミキシングして出力することができる。従って、アンサンブル音源8から出力されるデジタル楽音信号をコントローラ4を経由することなくミキサ13に直接供給してもよい。
【0012】
ピアノ自動演奏用電子回路9は、コントローラ4からイベントを受け取り、自動演奏のための制御を行う回路である。このピアノ自動演奏用電子回路9は、2通りの方法のうちいずれかにより自動演奏の制御を行う。まず、第1の方法では、コントローラ4から受け取ったイベントをピアノ音源10に送る。このピアノ音源10は、イベントにより指示されたピアノ音のアナログオーディオ信号を電子的に生成する装置である。このピアノ音源10により生成されたアナログオーディオ信号は、ミキサ13に出力される。第2の方法では、ピアノ自動演奏用電子回路9は、コントローラ4から受け取ったイベントに従って駆動ソレノイド群11に対する通電制御を行う。この駆動ソレノイド群11は、ピアノ12に設けられた複数の鍵に各々対応した複数のソレノイドと、複数のペダルに各々対応した複数のソレノイドとからなる。ピアノ自動演奏用電子回路9は、ある鍵の押下を指示するイベントをコントローラ4から受け取った場合、その鍵に対応したソレノイドに駆動電流を流し、鍵を押下させるのに必要な磁力をソレノイドにより発生する。離鍵を指示するイベントを受け取った場合も同様である。第1の方法、第2の方法のいずれによりイベントを取り扱うかの指示は、操作部5からコントローラ4に与えられ、コントローラ4はこの指示をピアノ自動演奏用電子回路9に送る。ピアノ自動演奏用電子回路9は、受け取った指示に従う。
【0013】
コントローラ4によってイベントが出力されてから自動演奏音が発生されるまでには遅延があり、その遅延時間はいずれの手段により自動演奏を行うかにより異なる。自動ピアノにより自動演奏を行う場合、コントローラ4がイベントを出力してから自動演奏音が発生するまでに例えば500msecの時間を要する。そこで、本実施形態では、同期再生の指示が操作部5から与えられ、かつ、自動演奏のための手段として自動ピアノが選択されている場合には、次のようにしてCDおよびFDの同期再生を行っている。まず、MIDIデータの再生指示がコントローラ4からFD駆動装置2に送られる。そして、上述したことから明らかなように、この時点から250msecだけ経過したときに、CDの再生開示を指示するイベントがFDから読み出される。そして、コントローラ4は、このイベントを受け取ることにより、再生指示をCD駆動装置1に送るのである。このようにFDとCDの再生開始のタイミングに250msecの時間差をもたせることにより、FD内のMIDIデータによる曲の再生と、CD内のオーディオデータによる曲の再生とが同時に開始される。
【0014】
ミキサ13は、DSP3、コントローラ4およびピアノ音源10から出力される各アナログ信号を混合して出力する装置である。このミキサ13の出力信号は、アンプ6によって増幅され、スピーカ7から音として出力される。
【0015】
図4は、FD駆動装置2に設けられた制御回路の構成を説明するためのブロック図である。この図4に示された制御回路は、上述したシーケンサとしての機能とタイミング調整機能とを営むものである。クロック生成部201は、コントローラ4内に設けられ、水晶振動子とアンプとにより構成された発振回路(図示略)を備えている。このコントローラ4内に設けられたクロック生成部201は、発振回路から得られる発振信号を分周してタイミング制御用の各種のクロックを発生する。これらのクロックのうち本発明に関連の深いものとしてテンポクロックCTがある。
イベントバッファ202は、FDから読み出されたイベントを格納するバッファである。図3から理解されるように、1つのデルタタイムの後に2以上の連続したイベントが続くことがあり得る。そのような場合、連続した全てのイベントがFDから読み出され、イベントバッファ202に格納される。レジスタ203は、FDから読み出されたデルタタイムを格納するレジスタである。既に説明したように、このデルタタイムは、相前後した2つのイベント間の経過時間を指定するものである。
【0016】
加算器211およびレジスタ212は、累算器を構成している。この累算器は、FDから順次読み出されてレジスタ203に格納される一連のデルタタイムの累算値を求めるものである。さらに詳述すると、現時点におけるデルタタイムの累算値は、レジスタ212によって保持されるようになっている。また、加算器211は、このレジスタ212に格納された累算値とレジスタ203に格納されているデルタタイムとを加算して、加算結果Mを出力する。このMは、イベントバッファ202に格納された1または複数のイベントをコントローラ4に転送する目標時刻に相当する数値である。従って、以下ではこのMを目標時刻データと呼ぶ。この目標時刻データMにより指定された時刻になると、イベント転送制御部230からレジスタ203および212に書き込みクロックが供給される。この結果、加算器211の出力データ、すなわち、それまでレジスタ212に格納されていた累算値とレジスタ203に格納されていたデルタタイムとを加えた値が新たな累算値としてレジスタ212に格納される。また、このときFDから読み出された新たなデルタタイムがレジスタ203に格納されるのである。なお、イベント転送制御部230については後述する。
【0017】
加算器221およびレジスタ222は、テンポクロックCTが与えられる度に「+1」の累算を行う累算器を構成している。加算器221は、レジスタ222の格納データと固定値「+1」とを加算して出力する。レジスタ222は、FDからのMIDIデータの再生が開始されるとき、初期値「0」が書き込まれる。以後、レジスタ222には、テンポクロックCTが与えられる度に、加算器221の出力データ、すなわち、その時点におけるレジスタ222の格納データと「+1」との加算結果が書き込まれる。このレジスタ222の出力データNは、MIDIデータの再生開始以後の経過時間を表す経過時間データとして利用される。
イベント転送制御部230は、経過時間データNが目標時刻データMに到達したとき、イベントバッファ202内の1または複数のイベントを読み出して取り込むべき旨の転送指示をコントローラ4に送る。また、このときイベント転送制御部230は、上述したように書き込みクロックをレジスタ203および212に供給する。
【0018】
タイミング調整部241は、MIDIデータのイベントのコントローラ4への出力動作をCDからの時系列オーディオデータの再生に同期化させるためのタイミング調整を行う回路である。さらに詳述すると、タイミング調整部241は、コントローラ4から「0」より大きなタイムコードが与えられたとき、その時点における経過時間データNにテンポクロックCTの周期τを乗算し、その乗算結果から500msecを差し引き、第1の再生時間データTFD=N・τ−500msecを求める。この第1の再生時間データTFDは、自動ピアノが楽曲の演奏を開始してから現在に至るまでの経過時間、すなわち、現在の演奏箇所が楽曲の先頭から何秒後の箇所であるかを表している。また、タイミング調整部241は、コントローラ4から受け取ったタイムコードを第2の再生時間データTCDとする。そして、タイミング調整部241は、これらの再生時間データTFDおよびTCDを比較し、比較結果に基づいて次の処理を行う。
【0019】
a.TFDとTCDとの差が所定の許容範囲内に収まっている場合
この場合、タイミング調整部241は、何もしない。
【0020】
b.TFD>TCDであり、両者の差が許容範囲を越えている場合
この場合、FDから読み出されたイベントによって現在演奏されている楽曲中の箇所は、CDからの再生により歌唱または演奏されている箇所よりも時間差TFD−TCDだけ進んだ箇所であるといえる。そこで、タイミング調整部241は、時間差TFD−TCDをテンポクロックCTの周期τによって除算し、この除算結果(TFD−TCD)/τをレジスタ203内のデルタタイムに加算し、加算後のデルタタイムをレジスタ203に書き込む。これにより以後暫くの間、FDからのイベント読み出しによる自動演奏とCDからのデータ読み出しによる歌唱または演奏とが同期状態を保つこととなる。
【0021】
c.TFD<TCDであり、両者の差が許容範囲を越えている場合
この場合、FDから読み出されたイベントによって現在演奏されている楽曲中の箇所は、CDからの再生により歌唱または演奏されている箇所よりも時間差TCD−TFDだけ遅れた箇所であるといえる。そこで、タイミング調整部241は、時間差TCD−TFDをテンポクロックCTの周期τによって除算し、この除算結果(TCD−TFD)/τをレジスタ203内のデルタタイムから減算し、減算後のデルタタイムをレジスタ203に書き込む。なお、この減算後のデルタタイムは、常に正の値をとるように制御される。すなわち、除算結果(TCD−TFD)/τが大きい場合、レジスタ203内のデルタタイムから除算結果(TCD−TFD)/τをそのまま減算したのでは、減算後のデルタタイムは負の値になってしまう。そこで、レジスタ203内のデルタタイムから該除算結果(TCD−TFD)/τを減算した結果(すなわち、減算後のデルタタイム)が負の値をとる場合には、該デルタタイムが正の値をとり得るよう、例えば除算結果(TCD−TFD)/τを2分割し、分割した一方の除算結果(TCD−TFD)/(τ*2)を当該時点においてレジスタ203に格納されているデルタタイムから減算し、さらに、残りの除算結果(TCD−TFD)/(τ*2)をその後にレジスタ203に格納される後続のデルタタイムから減算するように制御する。かかる処理を実行することで、デルタタイムの値は常に正の値となる。このように、除算結果(TCD−TFD)/τが大きく、レジスタ203内のデルタタイムから除算結果(TCD−TFD)/τをそのまま減算したのでは、減算後のデルタタイムは負の値になってしまう場合には、複数回に分けて(すなわち、連続する複数のデルタタイムの値を適宜変更することで)生じたずれを吸収するようにすれば良い。
以上が本実施形態に係る楽曲再生装置の詳細である。
【0022】
図5および図6は本実施形態に係る楽曲再生装置の動作を示すタイムチャートである。さらに詳述すると、図5には、ある楽曲の先頭からCDおよびFDの同期再生を行う場合を例に、CDから読み出されるタイムコード、CDから読み出される符号化データ、DSP3から出力される符号化データ、FDから読み出されるMIDIデータおよびピアノ12から発生される音が時系列的に示されている。図6には、ある楽曲の途中からCDおよびMDの同期再生を行う場合を例に、同様な情報が時系列的に示されている。これらの図において、a[k](k=0、0.25、0.5、〜)は、楽曲の開始時刻を0秒とした場合に、k秒からk+1秒の区間内の部分の符号化データである。また、m[k](k=0、0.25、0.5、〜)は、楽曲の開始時刻を0秒とした場合に、k秒からk+1秒の区間内の部分の演奏制御に用いられるMIDIデータである。また、図5および図6に示す例では、250msec毎にタイムコードがCDから再生される。
【0023】
まず、図5を参照して、楽曲の先頭からCDおよびFDの同期再生を行う場合の本実施形態の動作を説明する。既に述べたように、駆動ソレノイド群11およびピアノ12からなる自動ピアノにより自動演奏を行う場合、コントローラ4は、FD駆動装置2にMIDIデータの再生指示を送る。
【0024】
FD駆動装置2は、コントローラ4から再生指示を受け取ると、直ちにFDからMIDIデータを読み出す動作を開始する。この結果、MIDIデータm[0]、m[1]、〜がFDから順次読み出され、MIDIデータ中のイベントがコントローラ4に転送される。この動作においては、MIDIデータ中のデルタタイムに基づいて、MIDIデータ中のイベントの転送タイミングの制御が行われる。なお、このデルタタイムに基づく転送タイミングの制御は既に説明した通りである。
【0025】
ここで、MIDIデータの再生が開始された当初は、CDからのオーディオデータの再生が開始されていないので、タイムコードがFD駆動装置2に供給されない。従って、FD駆動装置2では、タイミング調整部241によるレジスタ203内のデルタタイムの調整は行われない。
【0026】
MIDIデータの再生開始後、250msecが経過すると、CDの再生開始を指示するイベントがFDから読み出される。コントローラ4は、このイベントに応答し、再生指示をCD駆動装置1に送る。この結果、楽曲の先頭部分のオーディオデータa[0]とタイムコード「0」がCDから読み出される。そして、さらに250msecが経過すると、このオーディオデータa[0]およびタイムコード「0」がDSP3からコントローラ4に出力される。DSP3は、このオーディオデータa[0]を遅延させている250msecの時間を利用して、CDから再生されているデータの種類を判別し、その判別結果をコントローラ4に通知する。この例の場合、コントローラ4は、CDから再生されているデータが時系列のオーディオデータであり、MIDIデータを含まない旨の通知を受けることになる。
【0027】
DSP3からオーディオデータa[0]とともに出力されたタイムコード「0」は、コントローラ4を介してFD駆動装置2に送られる。しかし、FD駆動装置2内のタイミング調整部241では、このタイムコード「0」を利用したデルタタイムの調整は行われない。
【0028】
その後、さらに250msecが経過すると、DSP3からタイムコード「0.25」が出力される。このときタイミング調整部241では、「0」より大きなタイムコードが供給されたことから、上述したデルタタイムの調整が行われる。そして、以後は、タイムコードがDSP3から供給される度に、上述したデルタタイムの調整が行われる。
【0029】
CDの再生指示が発生してから250msecが経過したとき、オーディオデータに対応した歌唱または演奏と、MIDIデータに対応した自動演奏とが同時に開始される。そして、さらに250msecが経過すると、タイミング調整部241によるタイミング調整が開始される。従って、オーディオデータa[k]およびMIDIデータm[k]のうち同期を保った状態で音として再生されるのは、楽曲の先頭から250msecだけ経過した時点以降のもの、すなわち、a[0.25]以降のオーディオデータとm[0.25]以降のMIDIデータである。
【0030】
次に、図6を参照して、楽曲の途中からCDおよびFDの同期再生を行う場合について説明する。楽曲の再生途中において一時停止の指示が操作部5を介して入力されると、コントローラ4は、その直前にCD駆動装置1から受け取ったタイムコードを保持して、CD駆動装置1およびFD駆動装置2に再生停止の指示を送る。図6に示す例では、タイムコード「99.0」がCD駆動装置1から出力されてから0.1秒後に一時停止の指示が入力されている。このため、コントローラ4はタイムコード「99.0」を保持する。
【0031】
その後、再生再開の指示が操作部5を介して入力されると、コントローラ4は、保持しているタイムコードに所定値(図6に示す例では1秒)を加算して演奏再開位置を示す再開位置データPREP(図6に示す例では100.0)を求め、この再開位置データPREPと再生再開の指示をFD駆動装置2に送る。
【0032】
この結果、FD駆動装置2では、イベント転送制御部230による制御の下、目標時刻データMが再開位置データPREPに対応した値を僅かに越えるまでイベントおよびデルタタイムの読み出しと、デルタタイムの累算とが繰り返される。次にタイミング調整部241は、目標時刻データMによって表される時刻と再開位置データPREPに相当する時刻との時間差を求め、この時間差に相当するカウント値をレジスタ222に設定する。
【0033】
以後、FD駆動装置2では、既に説明した通常の動作、すなわち、テンポクロックCTを用いた計時動作と、デルタタイムに相当する時間が計時される度にコントローラ4へイベントを転送し、新たなイベントとデルタタイムをFDから読み出す動作が再開される。
【0034】
以上の動作が行われる結果、図6に示す例では、時刻100秒に対応したMIDIデータのイベントから順にFD駆動装置2からコントローラ4への転送が再開される。そして、コントローラ4にイベントが転送されると、その時点から500msecが経過したときにそのイベントに対応した自動演奏音がピアノ12から発生される。図6に示す例ではMIDIデータm[100]に対応した自動演奏音が再生再開後において最初に発生される自動演奏音である。
【0035】
コントローラ4は、再生再開指示をFD駆動装置2に送ってから250msec経過したときに、再生再開指示と再開位置データPREP(図6に示す例では100.0)をCD駆動装置1に送る。
【0036】
CD駆動装置1では、この再開位置データPREPに相当するタイムコードが読み出されるまで楽曲データの空読みが行われ、再開位置データPREPに対応したもの(図6に示す例ではa[100])から順に楽曲データの読み出しおよびDSP3への出力が行われる。そして、楽曲データ中のオーディオデータはDSP3によって250msecだけ遅延され、スピーカ7から音として出力される。
【0037】
以上の動作の結果、図6に示すように、再開位置データPREPに対応したオーディオデータa[100]に対応した音がスピーカ7から出力されると同時に、これと同時刻のMIDIデータm[100]に対応した自動演奏音がピアノ12により発音される。
【0038】
このとき再開位置データPREPに対応したタイムコード「100」がCD駆動装置1から出力されると、このタイムコード「100」はさらに250msecが経過したときにコントローラ4を介してFD駆動装置2に送られる。FD駆動装置2ではこのタイムコード「100」に基づきデルタタイムの調整が行われる。この調整の動作は既に説明した通りである。また、以後の動作は既に説明した楽曲の最初から同期再生を行う場合の動作と同様である。
なお、上述した第1実施形態では、自動演奏手段として、ピアノ11等を備える自動ピアノを例に説明したが、例えば音源等を備えた電子バイオリン、電子トランペット等のあらゆる電子楽器に適用可能である。また、これら電子楽器等のほか、自動演奏手段として、音源等を備えると共に音楽製作ソフト等がインストールされているPC(Personal Computer)など、様々な電子機器に適用可能である。
また、上述した第1実施形態では、時系列オーディオデータを記憶する記憶媒体としてCDを例に説明したが、例えばFD、MO(Magneto Optical disk)、メモリースティック等あらゆる記憶媒体に適用可能である。また、MIDIデータを記録する記憶媒体についても同様、MO等あらゆる記憶媒体に適用可能である。
ここで、本発明は、例えばCD駆動装置、FD駆動装置、コントローラなど、図1に示す全ての構成要素を含んだ自動ピアノを製造し販売するという態様でも実施され得る。このような自動ピアノによれば、ユーザは、CDに記録されたオーディオデータの再生に同期してFDに記録された演奏データ(例えば、ユーザがピアノ11を演奏することにより得られる演奏データ等)を再生することができる。
【0039】
B.第2実施形態
上記第1実施形態では、CDから再生されるタイムコードに基づいてデルタタイムの調整を行った。これに対し、本実施形態では、図4に破線によって示すように、CDから再生されるタイムコードに基づいてレジスタ222内の経過時間データNが調整される。具体的には次の通りである。すなわち、タイミング調整部241は、コントローラ4から「0」より大きなタイムコードが与えられたとき、その時点における経過時間データNから第1の再生時間データTFDを求め、コントローラ4からのタイムコードを第2の再生時間データTCDとする。そして、タイミング調整部241は、これらの再生時間データTFDおよびTCDを比較し、比較結果に基づいて次の処理を行う。
【0040】
a.TFDとTCDとの差が所定の許容範囲内に収まっている場合
この場合、タイミング調整部241は、何もしない。
【0041】
b.TFD>TCDであり、両者の差が許容範囲を越えている場合
この場合、FDから読み出されたイベントによって現在演奏されている楽曲中の箇所は、CDからの再生により歌唱または演奏されている箇所よりも時間差TFD−TCDだけ進んだ箇所であるといえる。そこで、タイミング調整部241は、時間差TFD−TCDをテンポクロックCTの周期τによって除算し、この除算結果(TFD−TCD)/τをレジスタ222内の経過時間データNから減算し、減算後の経過時間データNをレジスタ203に書き込む。これにより以後暫くの間、FDからのイベント読み出しによる自動演奏とCDからのデータ読み出しによる歌唱または演奏とが同期状態を保つこととなる。
【0042】
c.TFD<TCDであり、両者の差が許容範囲を越えている場合
この場合、FDから読み出されたイベントによって現在演奏されている楽曲中の箇所は、CDからの再生により歌唱または演奏されている箇所よりも時間差TCD−TFDだけ遅れた箇所であるといえる。そこで、タイミング調整部241は、時間差TCD−TFDをテンポクロックCTの周期τによって除算し、この除算結果(TCD−TFD)/τをレジスタ222内の経過時間データNに加算し、加算後の経過時間データをレジスタ222に書き込む。
本実施形態においても上記第1実施形態と同様の効果が得られる。
【0043】
<変形例1>
上述した各実施形態では、オーディオデータを含む楽曲データを記憶する記憶媒体及び該記憶媒体からオーディオデータを読み出す装置として、CD及びCD駆動装置を例示したが、これらの代わりに例えばMD及びMD駆動装置を採用することも可能である。
図7は、変形例1に係る楽曲再生装置の構成を示すブロック図である。
本変形例に係る楽曲再生装置には、CD、CD駆動装置1、DSP3(図1参照)の代わりにMD(MiniDisc)、MD駆動装置100が設けられている。
MD駆動装置100は、MDに記憶されたオーディオデータを含む楽曲データを読み出して出力する装置であり、MD再生手段101とタイムコード変換手段102とを有している。
【0044】
MD再生手段101は、前述したCD駆動装置1及びDSP3に対応する手段であり、MDに格納されている楽曲データを読み出し、読み出した楽曲データを250msecだけ遅延させてコントローラ4に送ると共に、該楽曲データ中のオーディオデータからアナログオーディオ信号を生成してミキサ13に出力する。
タイムコード変換手段102は、MDに格納されている楽曲データ中のタイムコード(MD用にタイムコード)をMIDI用のタイムコード(MTC;MIDI Time Code)に変換し、これを250msecだけ遅延させてコントローラ4に出力する。
コントローラ4は、MD駆動装置100から出力されるMTCをFD駆動装置2に供給し、MD駆動装置100によるMDの再生を制御する。なお、コントローラ4の制御に関する詳細は、上述した各実施形態とほぼ同様に説明することができるため、説明を割愛する。
【0045】
以上説明したように、MDなど種々の記憶媒体にオーディオデータと共に記録されている固有のタイムコード(すなわち、記憶媒体の種類に固有のタイムコード)を、MIDI用のタイムコード(MTC)に変換し、変換したMTCに基づいてFDに格納されたMIDIデータの読み出しタイミングを制御するようにしても良い。なお、本変形例を上述した本実施形態に適用(例えば、CD駆動装置とDSPとの間に、CD用のタイムコードをMIDI用のタイムコードに変換する手段を介挿する等)できるのは、もちろんである。
【0043】
【発明の効果】
以上説明したように本発明によれば、簡単な構成により複数の記憶媒体を用いた楽曲の同期再生を行うことができる。
【図面の簡単な説明】
【図1】 この発明の実施形態である楽曲再生装置の構成を示すブロック図である。
【図2】 同実施形態においてCDから読み出される楽曲データを示す図である。
【図3】 同実施形態においてFDから読み出されるMIDIデータを示す図である。
【図4】 同実施形態におけるFD駆動装置の制御回路の構成を説明するためのブロック図である。
【図5】 同実施形態の動作を示すタイムチャートである。
【図6】 同実施形態の動作を示すタイムチャートである。
【図7】 変形例1における楽曲再生装置の構成を示すブロック図である。
【符号の説明】
1……CD駆動装置、2……FD駆動装置、3……DSP、4……コントローラ、5……操作部、6……アンプ、7……スピーカ、8……アンサンブル音源、9……ピアノ自動演奏用電子回路、10……ピアノ音源、11……駆動ソレノイド群、12……ピアノ、201……クロック生成部、241……タイミング調整部、100……MD駆動装置、101……MD再生手段、102……タイムコード変換手段。
Claims (4)
- 楽曲を表すオーディオデータに楽曲の開始からの経過時間を表す一連のタイムコードを離散的に挿入してなる第1の楽曲データを第1の記憶媒体から読み出す第1のデータ再生部と、
クロックをカウントすることにより計時を行う計時手段と、
前記第1の楽曲データが表す楽曲に対応する楽曲の演奏制御を指示する複数のイベントと各イベントの実行タイミングを指定するタイミングデータとを含む第2の楽曲データを第2の記憶媒体から読み出し、前記計時手段による計時結果に基づき、前記タイミングデータによって定まる時刻に前記イベントを出力する第2のデータ再生部と、
前記第1のデータ再生部によって読み出された第1の楽曲データ中のタイムコードに対応した時刻と前記計時手段の計時結果に対応した時刻との時間差に基づいて、前記第2のデータ再生部が前記イベントを出力するタイミングを調整するタイミング調整部と、
前記第1のデータ再生部によって読み出された第1の楽曲データ中のオーディオデータを音として出力するための制御を行うとともに、前記第2のデータ再生部によって読み出された第2の楽曲データ中のイベントを前記タイミング調整部により調整されたタイミングで自動演奏手段に供給するコントローラと、
を具備し、
前記第2のデータ再生部は、前記タイミングデータに相当する時間を計時して、出力待ちのイベントの出力を行い、
前記タイミング調整部は、前記第1のデータ再生部によってタイムコードが読み出されたときに、前記計時手段の計時結果に対応した時刻と前記タイムコードに対応した時刻との時間差に相当する分だけ、その時点において出力待ちのイベントが出力されるまでの待機時間を調整する
ことを特徴とする楽曲再生装置。 - 前記第2の記憶媒体に記憶された前記第2の楽曲データは、前記第1の記憶媒体からのデータ読み出しの開始を指示する再生開始イベントを含み、前記コントローラは前記再生開始イベントが前記第2の記憶媒体から読み出されたときに、前記第1のデータ再生部による第1の楽曲データの読み出しを開始させることを特徴とする請求項1に記載の楽曲再生装置。
- 前記第1のデータ再生部によって読み出される第1の楽曲データ中のタイムコードは、前記記憶媒体の種類に固有のタイムコードであり、当該楽曲再生装置は、前記固有のタイムコードを前記タイミング調整部において解釈可能なタイムコードに変換するタイムコード変換手段をさらに具備し、前記タイミング調整部は、前記イベントが前記第2のデータ再生部から前記コントローラに供給されるタイミングを、前記タイムコード変換手段によって変換された後のタイムコードに対応した時刻と前記計時手段の計時結果に対応した時刻との時間差に基づいて調整することを特徴とする請求項1に記載の楽曲再生装置。
- クロックをカウントすることにより計時を行う計時手段と、
楽曲の演奏制御を指示する複数のイベントと各イベントの実行タイミングを指定するタイミングデータとを含む第1の楽曲データを記憶媒体から読み出し、前記計時手段による計時結果に基づき、前記タイミングデータによって定まる時刻に前記イベントを出力するデータ再生部と、
前記データ再生部による第1の楽曲データの読み出し開始以後、当該第1の楽曲データと異なる第2の楽曲データに含まれるタイムコードであって、前記第1の楽曲データが表す楽曲に対応する楽曲の開始からの経過時間を表すタイムコードを受け取り、前記データ再生部によってイベントが出力される時刻を、当該タイムコードに対応した時刻と前記計時手段の計時結果に対応した時刻との時間差に基づいて調整するタイミング調整部と、
を具備し、
前記データ再生部は、前記タイミングデータに相当する時間を計時して、出力待ちのイベントの出力を行い、
前記タイミング調整部は、前記タイムコードを受け取ったときに、前記計時手段の計時結果に対応した時刻と前記タイムコードに対応した時刻との時間差に相当する分だけ、その時点において出力待ちのイベントが出力されるまでの待機時間を調整する
ことを特徴とする楽曲再生装置。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002007873A JP3867580B2 (ja) | 2001-11-30 | 2002-01-16 | 楽曲再生装置 |
US10/304,034 US6737571B2 (en) | 2001-11-30 | 2002-11-25 | Music recorder and music player for ensemble on the basis of different sorts of music data |
EP02026592A EP1324311B1 (en) | 2001-11-30 | 2002-11-28 | Music recorder and music player for ensemble on the basis of different sorts of music data |
DE60220876T DE60220876T2 (de) | 2001-11-30 | 2002-11-28 | Musikaufnahmegerät und Musikwiedergabegerät auf Basis von verschiedenen Musikdatensorten |
CN2005100649501A CN1670818B (zh) | 2001-11-30 | 2002-11-30 | 基于不同种类音乐数据的合奏的音乐记录器 |
CNB02139959XA CN1249663C (zh) | 2001-11-30 | 2002-11-30 | 基于不同种类音乐数据的合奏的音乐播放器 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001-367316 | 2001-11-30 | ||
JP2001367316 | 2001-11-30 | ||
JP2002007873A JP3867580B2 (ja) | 2001-11-30 | 2002-01-16 | 楽曲再生装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003228368A JP2003228368A (ja) | 2003-08-15 |
JP3867580B2 true JP3867580B2 (ja) | 2007-01-10 |
Family
ID=27759579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002007873A Expired - Fee Related JP3867580B2 (ja) | 2001-11-30 | 2002-01-16 | 楽曲再生装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3867580B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7863513B2 (en) | 2002-08-22 | 2011-01-04 | Yamaha Corporation | Synchronous playback system for reproducing music in good ensemble and recorder and player for the ensemble |
JP4872734B2 (ja) * | 2007-03-16 | 2012-02-08 | ヤマハ株式会社 | 配信装置及びプログラム |
JP4905207B2 (ja) * | 2007-03-23 | 2012-03-28 | ヤマハ株式会社 | 再生装置及びプログラム |
JP5012097B2 (ja) * | 2007-03-08 | 2012-08-29 | ヤマハ株式会社 | 電子音楽装置、放送コンテンツ制作装置、電子音楽装置連動システム、及びそれらに用いるプログラム |
JP4910815B2 (ja) * | 2007-03-23 | 2012-04-04 | ヤマハ株式会社 | 鍵駆動装置付き電子鍵盤楽器 |
JP5168968B2 (ja) * | 2007-03-23 | 2013-03-27 | ヤマハ株式会社 | 鍵駆動装置付き電子鍵盤楽器 |
JP6743843B2 (ja) | 2018-03-30 | 2020-08-19 | カシオ計算機株式会社 | 電子楽器、演奏情報記憶方法、及びプログラム |
-
2002
- 2002-01-16 JP JP2002007873A patent/JP3867580B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003228368A (ja) | 2003-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3835324B2 (ja) | 楽曲再生装置 | |
US6737571B2 (en) | Music recorder and music player for ensemble on the basis of different sorts of music data | |
JP4403658B2 (ja) | 楽曲データ出力装置及び楽曲データ出力方法 | |
JP5733321B2 (ja) | 自動演奏装置 | |
US7897865B2 (en) | Multimedia platform for recording and/or reproducing music synchronously with visual images | |
KR100569774B1 (ko) | 좋은 앙상블로 음악을 재생하기 위한 동기 재생 시스템,및 앙상블을 위한 레코더 및 플레이어 | |
JP5103980B2 (ja) | 処理システム、音声再生装置及びプログラム | |
JP3823855B2 (ja) | 記録装置、再生装置、記録方法、再生方法及び同期再生システム | |
JP3885587B2 (ja) | 演奏制御装置及び演奏制御用プログラム、並びに記録媒体 | |
WO2012095949A1 (ja) | 演奏システム | |
JP3867580B2 (ja) | 楽曲再生装置 | |
JP4539594B2 (ja) | 再生録音装置 | |
JP4110807B2 (ja) | 同期調整装置および同期調整方法を実現するためのプログラム | |
JP3915517B2 (ja) | マルチメディアシステム、再生装置及び再生記録装置 | |
JP3804536B2 (ja) | 楽音再生記録装置、記録装置及び記録方法 | |
JP2005274851A (ja) | 電子音楽装置および同装置に適用されるコンピュータプログラム | |
JPH0652662A (ja) | ディジタルオーディオ機器 | |
JP2004085609A (ja) | 音声データと演奏データの同期再生を行うための装置および方法 | |
JP3867579B2 (ja) | マルチメディアシステム及び再生装置 | |
JP3969249B2 (ja) | 音声データと演奏データの同期再生を行うための装置および方法 | |
JPH08202357A (ja) | 電子楽器 | |
JP4084858B2 (ja) | 波形再生装置 | |
JP2002023744A (ja) | 楽曲演奏方法 | |
JP4259423B2 (ja) | 同期演奏制御システム、方法及びプログラム | |
JP2002221971A (ja) | カラオケ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040805 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060421 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060516 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060718 |
|
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: 20060919 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061002 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3867580 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: 20101020 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101020 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111020 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111020 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121020 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121020 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131020 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |