(57)【特許請求の範囲】
【請求項１】
楽曲を表すオーディオデータに楽曲の開始からの経過時間を表す一連のタイムコードを離散的に挿入してなる第１の楽曲データを第１の記憶媒体から読み出す第１のデータ再生部と、
クロックをカウントすることにより計時を行う計時手段と、
前記第１の楽曲データが表す楽曲に対応する楽曲の演奏制御を指示する複数のイベントと各イベントの実行タイミングを指定するタイミングデータとを含む第２の楽曲データを第２の記憶媒体から読み出し、前記計時手段による計時結果に基づき、前記タイミングデータによって定まる時刻に前記イベントを出力する第２のデータ再生部と、
前記第１のデータ再生部によって読み出された第１の楽曲データ中のタイムコードに対応した時刻と前記計時手段の計時結果に対応した時刻との時間差に基づいて、前記第２のデータ再生部が前記イベントを出力するタイミングを調整するタイミング調整部と、
前記第１のデータ再生部によって読み出された第１の楽曲データ中のオーディオデータを音として出力するための制御を行うとともに、前記第２のデータ再生部によって読み出された第２の楽曲データ中のイベントを前記タイミング調整部により調整されたタイミングで自動演奏手段に供給するコントローラと、
を具備し、
前記第２のデータ再生部は、前記タイミングデータに相当する時間を計時して、出力待ちのイベントの出力を行い、
前記タイミング調整部は、前記第１のデータ再生部によってタイムコードが読み出されたときに、前記計時手段の計時結果に対応した時刻と前記タイムコードに対応した時刻との時間差に相当する分だけ、その時点において出力待ちのイベントが出力されるまでの待機時間を調整する
ことを特徴とする楽曲再生装置。
【請求項２】
前記第２の記憶媒体に記憶された前記第２の楽曲データは、前記第１の記憶媒体からのデータ読み出しの開始を指示する再生開始イベントを含み、前記コントローラは前記再生開始イベントが前記第２の記憶媒体から読み出されたときに、前記第１のデータ再生部による第１の楽曲データの読み出しを開始させることを特徴とする請求項１に記載の楽曲再生装置。
【請求項３】
前記第１のデータ再生部によって読み出される第１の楽曲データ中のタイムコードは、前記記憶媒体の種類に固有のタイムコードであり、当該楽曲再生装置は、前記固有のタイムコードを前記タイミング調整部において解釈可能なタイムコードに変換するタイムコード変換手段をさらに具備し、前記タイミング調整部は、前記イベントが前記第２のデータ再生部から前記コントローラに供給されるタイミングを、前記タイムコード変換手段によって変換された後のタイムコードに対応した時刻と前記計時手段の計時結果に対応した時刻との時間差に基づいて調整することを特徴とする請求項１に記載の楽曲再生装置。
【請求項４】
クロックをカウントすることにより計時を行う計時手段と、
楽曲の演奏制御を指示する複数のイベントと各イベントの実行タイミングを指定するタイミングデータとを含む第１の楽曲データを記憶媒体から読み出し、前記計時手段による計時結果に基づき、前記タイミングデータによって定まる時刻に前記イベントを出力するデータ再生部と、
前記データ再生部による第１の楽曲データの読み出し開始以後、当該第１の楽曲データと異なる第２の楽曲データに含まれるタイムコードであって、前記第１の楽曲データが表す楽曲に対応する楽曲の開始からの経過時間を表すタイムコードを受け取り、前記データ再生部によってイベントが出力される時刻を、当該タイムコードに対応した時刻と前記計時手段の計時結果に対応した時刻との時間差に基づいて調整するタイミング調整部と、
を具備し、
前記データ再生部は、前記タイミングデータに相当する時間を計時して、出力待ちのイベントの出力を行い、
前記タイミング調整部は、前記タイムコードを受け取ったときに、前記計時手段の計時結果に対応した時刻と前記タイムコードに対応した時刻との時間差に相当する分だけ、その時点において出力待ちのイベントが出力されるまでの待機時間を調整する
ことを特徴とする楽曲再生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の記憶媒体に記憶された同一楽曲の楽曲データを同期再生するための装置に関する。
【０００２】
【従来の技術】
楽曲を再生するための手段として、コンパクトディスク（ＣＤ）などの記憶媒体から楽曲データである時系列オーディオデータを読み出し、音として出力する装置がある。また、別の形態の楽曲再生手段として、楽曲データの一種であるＭＩＤＩ（Musical Instrument Digital Interface）データを記憶媒体から読み出し、このＭＩＤＩデータに従って音源を駆動し、自動演奏を行う装置がある。そして、最近では、これらの複合形態、すなわち、ある記憶媒体から楽曲のオーディオデータを再生して音として出力するとともに、同一楽曲のＭＩＤＩデータを別の記憶媒体から読み出し、自動演奏をする技術が提案されるに至っている。
【０００３】
【発明が解決しようとする課題】
ところで、オーディオデータとＭＩＤＩデータとを別々の記憶媒体、例えばＣＤとＦＤから読み出して１つのまとまった楽曲を再生するためには、オーディオデータをＣＤから読み出して音として出力する動作と、ＭＩＤＩデータをＦＤから読み出して自動演奏を行う動作とが同期していなくてはならない。しかしながら、両者を同期させることは一般に困難であった。まず、例えばＣＤに記憶されているオーディオデータは４４．１ｋＨｚのサンプリングクロックによりサンプリングされた時系列サンプルデータである。このため、ＣＤからオーディオデータを読み出す動作は４４．１ｋＨｚのクロックに同期したタイミングで行われる。ところが、ＭＩＤＩデータを再生する系では、このＣＤ再生用のクロックとは別個独立のクロックによりＭＩＤＩデータの再生タイミングの制御が行われる。ここで、オーディオデータの再生に用いられるクロックの周波数が４４．１ｋＨｚであれば、ＣＤに記録された３分の楽曲は３分を要して再生される。また、ＦＤに収録された３分間の演奏に対応したＭＩＤＩデータは３分間の自動演奏として再生される。しかし、クロックの生成に用いられる水晶振動子には個体差があるから、オーディオデータ再生用のクロックとＭＩＤＩデータ再生用のクロックの周波数を厳密に理想値に一致させることは困難である。このため、たとえオーディオデータの再生とＭＩＤＩデータの再生が同時に開始されたとしても、ＣＤからオーディオデータを読み出すことによって再生される楽曲中の時間的位置と、ＦＤからＭＩＤＩデータを読み出すことにより再生される楽曲中の時間的位置とが時間経過に伴って次第にずれてゆくという問題が生じる。
【０００４】
本発明は以上のような事情を鑑みてなされたものであり、複数の記憶媒体に記憶された楽曲データを同期再生することができる楽曲再生装置を提供することを目的としている。
【０００５】
【課題を解決するための手段】
この発明は、楽曲を表すオーディオデータに楽曲の開始からの経過時間を表す一連のタイムコードを離散的に挿入してなる第１の楽曲データを第１の記憶媒体から読み出す第１のデータ再生部と、クロックをカウントすることにより計時を行う計時手段と、前記第１の楽曲データが表す楽曲に対応する楽曲の演奏制御を指示する複数のイベントと各イベントの実行タイミングを指定するタイミングデータとを含む第２の楽曲データを第２の記憶媒体から読み出し、前記計時手段による計時結果に基づき、前記タイミングデータによって定まる時刻に前記イベントを出力する第２のデータ再生部と、前記第１のデータ再生部によって読み出された第１の楽曲データ中のタイムコードに対応した時刻と前記計時手段の計時結果に対応した時刻との時間差に基づいて、前記第２のデータ再生部が前記イベントを出力するタイミングを調整するタイミング調整部と、前記第１のデータ再生部によって読み出された第１の楽曲データ中のオーディオデータを音として出力するための制御を行うとともに、前記第２のデータ再生部によって読み出された第２の楽曲データ中のイベントを前記タイミング調整部により調整されたタイミングで自動演奏手段に供給するコントローラと、を具備し、前記第２のデータ再生部は、前記タイミングデータに相当する時間を計時して、出力待ちのイベントの出力を行い、前記タイミング調整部は、前記第１のデータ再生部によってタイムコードが読み出されたときに、前記計時手段の計時結果に対応した時刻と前記タイムコードに対応した時刻との時間差に相当する分だけ、その時点において出力待ちのイベントが出力されるまでの待機時間を調整することを特徴とする楽曲再生装置を提供する。
かかる楽曲再生装置によれば、第２の記憶媒体から読み出されたイベントが自動演奏に用いられるタイミングが、第１の記憶媒体から読み出されたタイムコードに対応した時刻と計時手段の計時結果に対応した時刻との時間差に基づいて調整される。この調整により、第１の楽曲データの読み出しによる楽曲の再生と第２の楽曲データの読み出しによる楽曲の再生の時間的ずれが抑えられる。
また、好ましい態様において、前記第２の記憶媒体に記憶された前記第２の楽曲データは、前記第１の記憶媒体からのデータ読み出しの開始を指示する再生開始イベントを含み、前記コントローラは前記再生開始イベントが前記第２の記憶媒体から読み出されたときに、前記第１のデータ再生部による第１の楽曲データの読み出しを開始させる。
また、以上のものとは別の観点から、この発明は、一般的にシーケンサあるいは自動演奏装置と呼ばれている楽曲再生装置の改良された形態を提供するものである。すなわち、この発明は、クロックをカウントすることにより計時を行う計時手段と、楽曲の演奏制御を指示する複数のイベントと各イベントの実行タイミングを指定するタイミングデータとを含む第１の楽曲データを記憶媒体から読み出し、前記計時手段による計時結果に基づき、前記タイミングデータによって定まる時刻に前記イベントを出力するデータ再生部と、前記データ再生部による第１の楽曲データの読み出し開始以後、当該第１の楽曲データと異なる第２の楽曲データに含まれるタイムコードであって、前記第１の楽曲データが表す楽曲に対応する楽曲の開始からの経過時間を表すタイムコードを受け取り、前記データ再生部によってイベントが出力される時刻を、当該タイムコードに対応した時刻と前記計時手段の計時結果に対応した時刻との時間差に基づいて調整するタイミング調整部と、を具備し、前記データ再生部は、前記タイミングデータに相当する時間を計時して、出力待ちのイベントの出力を行い、前記タイミング調整部は、前記タイムコードを受け取ったときに、前記計時手段の計時結果に対応した時刻と前記タイムコードに対応した時刻との時間差に相当する分だけ、その時点において出力待ちのイベントが出力されるまでの待機時間を調整することを特徴とする楽曲再生装置を提供するものである。
この楽曲再生装置によれば、楽曲の開始からの経過時間を表すタイムコードを受け取ったときに、そのタイムコードを利用してイベントの出力時刻の調整が行われる。従って、そのようなタイムコードを出力する他の楽曲再生装置と協働して同一楽曲の同期再生を行うことができる。
【０００６】
【発明の実施の形態】
Ａ．第１実施形態
図１はこの発明の第１実施形態である楽曲再生装置の構成を示すブロック図である。図１において、ＣＤ駆動装置１は、コントローラ４からの指令に従い、装着されたＣＤから記録データを読み出して出力する装置である。ＣＤ駆動装置１には、様々なＣＤが装着され得る。これらのＣＤのうち本発明と最も関連性の強いのは楽曲データを主要な記録データとするＣＤである。図２に示すように、楽曲データは、ある楽曲の楽器演奏や歌唱に伴って発生したオーディオ信号の符号化データ列（以下、オーディオデータという）を含んでいる。また、この楽曲データにはタイムコードが離散的に挿入されている。これらのタイムコードは、楽曲の開始からの経過時間を示すコードである。このようなデータとは種類の異なったデータが記録されたＣＤもＣＤ駆動装置１に装着され得る。例えば、Ｌチャネルデータとして時系列オーディオデータが記録され、Ｒチャネルとして自動演奏制御のためのＭＩＤＩデータが記録されたＣＤがＣＤ駆動装置１に装着され得る。また、逆にＲチャネルデータとして時系列オーディオデータが記録され、Ｌチャネルとして自動演奏制御のためのＭＩＤＩデータが記録されたＣＤがＣＤ駆動装置１に装着されることもある。
【０００７】
ＦＤ駆動装置２は、コントローラ４からの指令に従い、自動演奏の制御のためのＭＩＤＩデータをＦＤから順次読み出してコントローラ４に供給するシーケンサ機能を有している。ここで、ＭＩＤＩデータは、図３に示すように、特定の音の発音あるいは消音といった演奏制御を指示するイベントと、先行するイベントと後発のイベントとの発生時間間隔を示すデルタタイムとからなる時系列の楽曲データである。ＦＤ駆動装置２は、あるイベントをＦＤから読み出してコントローラ４に送った後は、そのイベントの後のデルタタイムによって示される時間だけ待機し、後続のイベントの読み出しを行う、という処理を繰り返す。これがシーケンサ機能の基本的な動作である。本実施形態において、１曲分のＭＩＤＩデータの中には、演奏制御用のイベントの他、ＣＤ再生開始を指示するイベントが含まれている。このイベントは、ＭＩＤＩデータ中において曲の初めから２５０ｍｓｅｃが経過した時点に対応する位置に挿入されている。ＦＤ駆動装置２は、以上説明したＭＩＤＩデータをＦＤから読み出すシーケンサとしての機能の他に、このシーケンサとしての動作をＣＤ駆動装置１による時系列オーディオデータの再生に同期させるタイミング調整機能を有している。なお、このタイミング調整機能の詳細については後述する。
【０００８】
ＤＳＰ３は、ＣＤ駆動装置１から読み出された楽曲データを２５０ｍｓｅｃだけ遅延させ、楽曲データをコントローラ４に送るとともに、楽曲データ中のオーディオデータからアナログオーディオ信号を生成してミキサ１３に送る。また、ＤＳＰ３は、ＣＤ駆動装置１から受け取った楽曲データの種類を判定し、楽曲データの種類を示す情報をコントローラ４に送る。
【０００９】
コントローラ４は、操作部５を介して与えられる指示に従い、この楽曲再生装置全体の制御を行う。コントローラ４によって行われる各種の制御のうち本発明と最も関連の深いのはＣＤおよびＦＤの同期再生のための制御である。この同期再生の指示が操作部５から与えられた場合、コントローラ４は、この指示に従って、ＭＩＤＩデータの再生指示をＦＤ駆動装置２に送る。コントローラ４は、ＦＤ駆動装置２から供給されるイベントを自動演奏を行うための手段に送る。なお、これらの手段については後述する。また、コントローラ４は、ＦＤ駆動装置２によってＣＤの再生開始を指示するイベントが読み出されたとき、再生指示をＣＤ駆動装置１に送る。また、コントローラ４は、ＣＤ駆動装置１によってタイムコードが読み出され、読み出されたタイムコードがＤＳＰ３を介して供給される都度、そのタイムコードをＦＤ駆動装置２に送る。
【００１０】
本実施形態に係る楽曲再生装置は、自動演奏を行うための手段として、アンサンブル音源８と、ピアノ音源１０と、駆動ソレノイド群１１およびピアノ１２からなる自動ピアノとを有している。アンサンブル音源８により自動演奏を行う場合、コントローラ４は、ＦＤ駆動装置２から受け取ったイベントをアンサンブル音源８に送る。また、ピアノ音源１０または自動ピアノにより自動演奏を行う場合、コントローラ４は、ＦＤ駆動装置２から受け取ったイベントをピアノ自動演奏用電子回路９に送る。いずれの手段により自動演奏を行うかは、操作部５からの指示に従って決定される。
【００１１】
アンサンブル音源８は、コントローラ４からイベントを受け取り、そのイベントに従ってデジタル楽音信号を生成する装置である。このアンサンブル音源８により生成されたデジタル楽音信号はコントローラ４によってアナログ楽音信号に変換され、ミキサ１３に送られる。ここで、ミキサ１３は、アナログ信号を受け取るアナログ入力ポートとデジタル信号を受け取るデジタル入力ポートの両方を有しており、これらのポートを介して入力される全ての信号をミキシングして出力することができる。従って、アンサンブル音源８から出力されるデジタル楽音信号をコントローラ４を経由することなくミキサ１３に直接供給してもよい。
【００１２】
ピアノ自動演奏用電子回路９は、コントローラ４からイベントを受け取り、自動演奏のための制御を行う回路である。このピアノ自動演奏用電子回路９は、２通りの方法のうちいずれかにより自動演奏の制御を行う。まず、第１の方法では、コントローラ４から受け取ったイベントをピアノ音源１０に送る。このピアノ音源１０は、イベントにより指示されたピアノ音のアナログオーディオ信号を電子的に生成する装置である。このピアノ音源１０により生成されたアナログオーディオ信号は、ミキサ１３に出力される。第２の方法では、ピアノ自動演奏用電子回路９は、コントローラ４から受け取ったイベントに従って駆動ソレノイド群１１に対する通電制御を行う。この駆動ソレノイド群１１は、ピアノ１２に設けられた複数の鍵に各々対応した複数のソレノイドと、複数のペダルに各々対応した複数のソレノイドとからなる。ピアノ自動演奏用電子回路９は、ある鍵の押下を指示するイベントをコントローラ４から受け取った場合、その鍵に対応したソレノイドに駆動電流を流し、鍵を押下させるのに必要な磁力をソレノイドにより発生する。離鍵を指示するイベントを受け取った場合も同様である。第１の方法、第２の方法のいずれによりイベントを取り扱うかの指示は、操作部５からコントローラ４に与えられ、コントローラ４はこの指示をピアノ自動演奏用電子回路９に送る。ピアノ自動演奏用電子回路９は、受け取った指示に従う。
【００１３】
コントローラ４によってイベントが出力されてから自動演奏音が発生されるまでには遅延があり、その遅延時間はいずれの手段により自動演奏を行うかにより異なる。自動ピアノにより自動演奏を行う場合、コントローラ４がイベントを出力してから自動演奏音が発生するまでに例えば５００ｍｓｅｃの時間を要する。そこで、本実施形態では、同期再生の指示が操作部５から与えられ、かつ、自動演奏のための手段として自動ピアノが選択されている場合には、次のようにしてＣＤおよびＦＤの同期再生を行っている。まず、ＭＩＤＩデータの再生指示がコントローラ４からＦＤ駆動装置２に送られる。そして、上述したことから明らかなように、この時点から２５０ｍｓｅｃだけ経過したときに、ＣＤの再生開示を指示するイベントがＦＤから読み出される。そして、コントローラ４は、このイベントを受け取ることにより、再生指示をＣＤ駆動装置１に送るのである。このようにＦＤとＣＤの再生開始のタイミングに２５０ｍｓｅｃの時間差をもたせることにより、ＦＤ内のＭＩＤＩデータによる曲の再生と、ＣＤ内のオーディオデータによる曲の再生とが同時に開始される。
【００１４】
ミキサ１３は、ＤＳＰ３、コントローラ４およびピアノ音源１０から出力される各アナログ信号を混合して出力する装置である。このミキサ１３の出力信号は、アンプ６によって増幅され、スピーカ７から音として出力される。
【００１５】
図４は、ＦＤ駆動装置２に設けられた制御回路の構成を説明するためのブロック図である。この図４に示された制御回路は、上述したシーケンサとしての機能とタイミング調整機能とを営むものである。クロック生成部２０１は、コントローラ４内に設けられ、水晶振動子とアンプとにより構成された発振回路（図示略）を備えている。このコントローラ４内に設けられたクロック生成部２０１は、発振回路から得られる発振信号を分周してタイミング制御用の各種のクロックを発生する。これらのクロックのうち本発明に関連の深いものとしてテンポクロックＣＴがある。
イベントバッファ２０２は、ＦＤから読み出されたイベントを格納するバッファである。図３から理解されるように、１つのデルタタイムの後に２以上の連続したイベントが続くことがあり得る。そのような場合、連続した全てのイベントがＦＤから読み出され、イベントバッファ２０２に格納される。レジスタ２０３は、ＦＤから読み出されたデルタタイムを格納するレジスタである。既に説明したように、このデルタタイムは、相前後した２つのイベント間の経過時間を指定するものである。
【００１６】
加算器２１１およびレジスタ２１２は、累算器を構成している。この累算器は、ＦＤから順次読み出されてレジスタ２０３に格納される一連のデルタタイムの累算値を求めるものである。さらに詳述すると、現時点におけるデルタタイムの累算値は、レジスタ２１２によって保持されるようになっている。また、加算器２１１は、このレジスタ２１２に格納された累算値とレジスタ２０３に格納されているデルタタイムとを加算して、加算結果Ｍを出力する。このＭは、イベントバッファ２０２に格納された１または複数のイベントをコントローラ４に転送する目標時刻に相当する数値である。従って、以下ではこのＭを目標時刻データと呼ぶ。この目標時刻データＭにより指定された時刻になると、イベント転送制御部２３０からレジスタ２０３および２１２に書き込みクロックが供給される。この結果、加算器２１１の出力データ、すなわち、それまでレジスタ２１２に格納されていた累算値とレジスタ２０３に格納されていたデルタタイムとを加えた値が新たな累算値としてレジスタ２１２に格納される。また、このときＦＤから読み出された新たなデルタタイムがレジスタ２０３に格納されるのである。なお、イベント転送制御部２３０については後述する。
【００１７】
加算器２２１およびレジスタ２２２は、テンポクロックＣＴが与えられる度に「＋１」の累算を行う累算器を構成している。加算器２２１は、レジスタ２２２の格納データと固定値「＋１」とを加算して出力する。レジスタ２２２は、ＦＤからのＭＩＤＩデータの再生が開始されるとき、初期値「０」が書き込まれる。以後、レジスタ２２２には、テンポクロックＣＴが与えられる度に、加算器２２１の出力データ、すなわち、その時点におけるレジスタ２２２の格納データと「＋１」との加算結果が書き込まれる。このレジスタ２２２の出力データＮは、ＭＩＤＩデータの再生開始以後の経過時間を表す経過時間データとして利用される。
イベント転送制御部２３０は、経過時間データＮが目標時刻データＭに到達したとき、イベントバッファ２０２内の１または複数のイベントを読み出して取り込むべき旨の転送指示をコントローラ４に送る。また、このときイベント転送制御部２３０は、上述したように書き込みクロックをレジスタ２０３および２１２に供給する。
【００１８】
タイミング調整部２４１は、ＭＩＤＩデータのイベントのコントローラ４への出力動作をＣＤからの時系列オーディオデータの再生に同期化させるためのタイミング調整を行う回路である。さらに詳述すると、タイミング調整部２４１は、コントローラ４から「０」より大きなタイムコードが与えられたとき、その時点における経過時間データＮにテンポクロックＣＴの周期τを乗算し、その乗算結果から５００ｍｓｅｃを差し引き、第１の再生時間データＴＦＤ＝Ｎ・τ−５００ｍｓｅｃを求める。この第１の再生時間データＴＦＤは、自動ピアノが楽曲の演奏を開始してから現在に至るまでの経過時間、すなわち、現在の演奏箇所が楽曲の先頭から何秒後の箇所であるかを表している。また、タイミング調整部２４１は、コントローラ４から受け取ったタイムコードを第２の再生時間データＴＣＤとする。そして、タイミング調整部２４１は、これらの再生時間データＴＦＤおよびＴＣＤを比較し、比較結果に基づいて次の処理を行う。
【００１９】
ａ．ＴＦＤとＴＣＤとの差が所定の許容範囲内に収まっている場合
この場合、タイミング調整部２４１は、何もしない。
【００２０】
ｂ．ＴＦＤ＞ＴＣＤであり、両者の差が許容範囲を越えている場合
この場合、ＦＤから読み出されたイベントによって現在演奏されている楽曲中の箇所は、ＣＤからの再生により歌唱または演奏されている箇所よりも時間差ＴＦＤ−ＴＣＤだけ進んだ箇所であるといえる。そこで、タイミング調整部２４１は、時間差ＴＦＤ−ＴＣＤをテンポクロックＣＴの周期τによって除算し、この除算結果（ＴＦＤ−ＴＣＤ）／τをレジスタ２０３内のデルタタイムに加算し、加算後のデルタタイムをレジスタ２０３に書き込む。これにより以後暫くの間、ＦＤからのイベント読み出しによる自動演奏とＣＤからのデータ読み出しによる歌唱または演奏とが同期状態を保つこととなる。
【００２１】
ｃ．ＴＦＤ＜ＴＣＤであり、両者の差が許容範囲を越えている場合
この場合、ＦＤから読み出されたイベントによって現在演奏されている楽曲中の箇所は、ＣＤからの再生により歌唱または演奏されている箇所よりも時間差ＴＣＤ−ＴＦＤだけ遅れた箇所であるといえる。そこで、タイミング調整部２４１は、時間差ＴＣＤ−ＴＦＤをテンポクロックＣＴの周期τによって除算し、この除算結果（ＴＣＤ−ＴＦＤ）／τをレジスタ２０３内のデルタタイムから減算し、減算後のデルタタイムをレジスタ２０３に書き込む。なお、この減算後のデルタタイムは、常に正の値をとるように制御される。すなわち、除算結果（ＴＣＤ−ＴＦＤ）／τが大きい場合、レジスタ２０３内のデルタタイムから除算結果（ＴＣＤ−ＴＦＤ）／τをそのまま減算したのでは、減算後のデルタタイムは負の値になってしまう。そこで、レジスタ２０３内のデルタタイムから該除算結果（ＴＣＤ−ＴＦＤ）／τを減算した結果（すなわち、減算後のデルタタイム）が負の値をとる場合には、該デルタタイムが正の値をとり得るよう、例えば除算結果（ＴＣＤ−ＴＦＤ）／τを２分割し、分割した一方の除算結果（ＴＣＤ−ＴＦＤ）／（τ＊２）を当該時点においてレジスタ２０３に格納されているデルタタイムから減算し、さらに、残りの除算結果（ＴＣＤ−ＴＦＤ）／（τ＊２）をその後にレジスタ２０３に格納される後続のデルタタイムから減算するように制御する。かかる処理を実行することで、デルタタイムの値は常に正の値となる。このように、除算結果（ＴＣＤ−ＴＦＤ）／τが大きく、レジスタ２０３内のデルタタイムから除算結果（ＴＣＤ−ＴＦＤ）／τをそのまま減算したのでは、減算後のデルタタイムは負の値になってしまう場合には、複数回に分けて（すなわち、連続する複数のデルタタイムの値を適宜変更することで）生じたずれを吸収するようにすれば良い。
以上が本実施形態に係る楽曲再生装置の詳細である。
【００２２】
図５および図６は本実施形態に係る楽曲再生装置の動作を示すタイムチャートである。さらに詳述すると、図５には、ある楽曲の先頭からＣＤおよびＦＤの同期再生を行う場合を例に、ＣＤから読み出されるタイムコード、ＣＤから読み出される符号化データ、ＤＳＰ３から出力される符号化データ、ＦＤから読み出されるＭＩＤＩデータおよびピアノ１２から発生される音が時系列的に示されている。図６には、ある楽曲の途中からＣＤおよびＭＤの同期再生を行う場合を例に、同様な情報が時系列的に示されている。これらの図において、ａ［ｋ］（ｋ＝０、０．２５、０．５、〜）は、楽曲の開始時刻を０秒とした場合に、ｋ秒からｋ＋１秒の区間内の部分の符号化データである。また、ｍ［ｋ］（ｋ＝０、０．２５、０．５、〜）は、楽曲の開始時刻を０秒とした場合に、ｋ秒からｋ＋１秒の区間内の部分の演奏制御に用いられるＭＩＤＩデータである。また、図５および図６に示す例では、２５０ｍｓｅｃ毎にタイムコードがＣＤから再生される。
【００２３】
まず、図５を参照して、楽曲の先頭からＣＤおよびＦＤの同期再生を行う場合の本実施形態の動作を説明する。既に述べたように、駆動ソレノイド群１１およびピアノ１２からなる自動ピアノにより自動演奏を行う場合、コントローラ４は、ＦＤ駆動装置２にＭＩＤＩデータの再生指示を送る。
【００２４】
ＦＤ駆動装置２は、コントローラ４から再生指示を受け取ると、直ちにＦＤからＭＩＤＩデータを読み出す動作を開始する。この結果、ＭＩＤＩデータｍ［０］、ｍ［１］、〜がＦＤから順次読み出され、ＭＩＤＩデータ中のイベントがコントローラ４に転送される。この動作においては、ＭＩＤＩデータ中のデルタタイムに基づいて、ＭＩＤＩデータ中のイベントの転送タイミングの制御が行われる。なお、このデルタタイムに基づく転送タイミングの制御は既に説明した通りである。
【００２５】
ここで、ＭＩＤＩデータの再生が開始された当初は、ＣＤからのオーディオデータの再生が開始されていないので、タイムコードがＦＤ駆動装置２に供給されない。従って、ＦＤ駆動装置２では、タイミング調整部２４１によるレジスタ２０３内のデルタタイムの調整は行われない。
【００２６】
ＭＩＤＩデータの再生開始後、２５０ｍｓｅｃが経過すると、ＣＤの再生開始を指示するイベントがＦＤから読み出される。コントローラ４は、このイベントに応答し、再生指示をＣＤ駆動装置１に送る。この結果、楽曲の先頭部分のオーディオデータａ［０］とタイムコード「０」がＣＤから読み出される。そして、さらに２５０ｍｓｅｃが経過すると、このオーディオデータａ［０］およびタイムコード「０」がＤＳＰ３からコントローラ４に出力される。ＤＳＰ３は、このオーディオデータａ［０］を遅延させている２５０ｍｓｅｃの時間を利用して、ＣＤから再生されているデータの種類を判別し、その判別結果をコントローラ４に通知する。この例の場合、コントローラ４は、ＣＤから再生されているデータが時系列のオーディオデータであり、ＭＩＤＩデータを含まない旨の通知を受けることになる。
【００２７】
ＤＳＰ３からオーディオデータａ［０］とともに出力されたタイムコード「０」は、コントローラ４を介してＦＤ駆動装置２に送られる。しかし、ＦＤ駆動装置２内のタイミング調整部２４１では、このタイムコード「０」を利用したデルタタイムの調整は行われない。
【００２８】
その後、さらに２５０ｍｓｅｃが経過すると、ＤＳＰ３からタイムコード「０．２５」が出力される。このときタイミング調整部２４１では、「０」より大きなタイムコードが供給されたことから、上述したデルタタイムの調整が行われる。そして、以後は、タイムコードがＤＳＰ３から供給される度に、上述したデルタタイムの調整が行われる。
【００２９】
ＣＤの再生指示が発生してから２５０ｍｓｅｃが経過したとき、オーディオデータに対応した歌唱または演奏と、ＭＩＤＩデータに対応した自動演奏とが同時に開始される。そして、さらに２５０ｍｓｅｃが経過すると、タイミング調整部２４１によるタイミング調整が開始される。従って、オーディオデータａ［ｋ］およびＭＩＤＩデータｍ［ｋ］のうち同期を保った状態で音として再生されるのは、楽曲の先頭から２５０ｍｓｅｃだけ経過した時点以降のもの、すなわち、ａ［０．２５］以降のオーディオデータとｍ［０．２５］以降のＭＩＤＩデータである。
【００３０】
次に、図６を参照して、楽曲の途中からＣＤおよびＦＤの同期再生を行う場合について説明する。楽曲の再生途中において一時停止の指示が操作部５を介して入力されると、コントローラ４は、その直前にＣＤ駆動装置１から受け取ったタイムコードを保持して、ＣＤ駆動装置１およびＦＤ駆動装置２に再生停止の指示を送る。図６に示す例では、タイムコード「９９．０」がＣＤ駆動装置１から出力されてから０．１秒後に一時停止の指示が入力されている。このため、コントローラ４はタイムコード「９９．０」を保持する。
【００３１】
その後、再生再開の指示が操作部５を介して入力されると、コントローラ４は、保持しているタイムコードに所定値（図６に示す例では１秒）を加算して演奏再開位置を示す再開位置データＰＲＥＰ（図６に示す例では１００．０）を求め、この再開位置データＰＲＥＰと再生再開の指示をＦＤ駆動装置２に送る。
【００３２】
この結果、ＦＤ駆動装置２では、イベント転送制御部２３０による制御の下、目標時刻データＭが再開位置データＰＲＥＰに対応した値を僅かに越えるまでイベントおよびデルタタイムの読み出しと、デルタタイムの累算とが繰り返される。次にタイミング調整部２４１は、目標時刻データＭによって表される時刻と再開位置データＰＲＥＰに相当する時刻との時間差を求め、この時間差に相当するカウント値をレジスタ２２２に設定する。
【００３３】
以後、ＦＤ駆動装置２では、既に説明した通常の動作、すなわち、テンポクロックＣＴを用いた計時動作と、デルタタイムに相当する時間が計時される度にコントローラ４へイベントを転送し、新たなイベントとデルタタイムをＦＤから読み出す動作が再開される。
【００３４】
以上の動作が行われる結果、図６に示す例では、時刻１００秒に対応したＭＩＤＩデータのイベントから順にＦＤ駆動装置２からコントローラ４への転送が再開される。そして、コントローラ４にイベントが転送されると、その時点から５００ｍｓｅｃが経過したときにそのイベントに対応した自動演奏音がピアノ１２から発生される。図６に示す例ではＭＩＤＩデータｍ［１００］に対応した自動演奏音が再生再開後において最初に発生される自動演奏音である。
【００３５】
コントローラ４は、再生再開指示をＦＤ駆動装置２に送ってから２５０ｍｓｅｃ経過したときに、再生再開指示と再開位置データＰＲＥＰ（図６に示す例では１００．０）をＣＤ駆動装置１に送る。
【００３６】
ＣＤ駆動装置１では、この再開位置データＰＲＥＰに相当するタイムコードが読み出されるまで楽曲データの空読みが行われ、再開位置データＰＲＥＰに対応したもの（図６に示す例ではａ［１００］）から順に楽曲データの読み出しおよびＤＳＰ３への出力が行われる。そして、楽曲データ中のオーディオデータはＤＳＰ３によって２５０ｍｓｅｃだけ遅延され、スピーカ７から音として出力される。
【００３７】
以上の動作の結果、図６に示すように、再開位置データＰＲＥＰに対応したオーディオデータａ［１００］に対応した音がスピーカ７から出力されると同時に、これと同時刻のＭＩＤＩデータｍ［１００］に対応した自動演奏音がピアノ１２により発音される。
【００３８】
このとき再開位置データＰＲＥＰに対応したタイムコード「１００」がＣＤ駆動装置１から出力されると、このタイムコード「１００」はさらに２５０ｍｓｅｃが経過したときにコントローラ４を介してＦＤ駆動装置２に送られる。ＦＤ駆動装置２ではこのタイムコード「１００」に基づきデルタタイムの調整が行われる。この調整の動作は既に説明した通りである。また、以後の動作は既に説明した楽曲の最初から同期再生を行う場合の動作と同様である。
なお、上述した第１実施形態では、自動演奏手段として、ピアノ１１等を備える自動ピアノを例に説明したが、例えば音源等を備えた電子バイオリン、電子トランペット等のあらゆる電子楽器に適用可能である。また、これら電子楽器等のほか、自動演奏手段として、音源等を備えると共に音楽製作ソフト等がインストールされているＰＣ（Personal Computer）など、様々な電子機器に適用可能である。
また、上述した第１実施形態では、時系列オーディオデータを記憶する記憶媒体としてＣＤを例に説明したが、例えばＦＤ、ＭＯ（Magneto Optical disk）、メモリースティック等あらゆる記憶媒体に適用可能である。また、ＭＩＤＩデータを記録する記憶媒体についても同様、ＭＯ等あらゆる記憶媒体に適用可能である。
ここで、本発明は、例えばＣＤ駆動装置、ＦＤ駆動装置、コントローラなど、図１に示す全ての構成要素を含んだ自動ピアノを製造し販売するという態様でも実施され得る。このような自動ピアノによれば、ユーザは、ＣＤに記録されたオーディオデータの再生に同期してＦＤに記録された演奏データ（例えば、ユーザがピアノ１１を演奏することにより得られる演奏データ等）を再生することができる。
【００３９】
Ｂ．第２実施形態
上記第１実施形態では、ＣＤから再生されるタイムコードに基づいてデルタタイムの調整を行った。これに対し、本実施形態では、図４に破線によって示すように、ＣＤから再生されるタイムコードに基づいてレジスタ２２２内の経過時間データＮが調整される。具体的には次の通りである。すなわち、タイミング調整部２４１は、コントローラ４から「０」より大きなタイムコードが与えられたとき、その時点における経過時間データＮから第１の再生時間データＴＦＤを求め、コントローラ４からのタイムコードを第２の再生時間データＴＣＤとする。そして、タイミング調整部２４１は、これらの再生時間データＴＦＤおよびＴＣＤを比較し、比較結果に基づいて次の処理を行う。
【００４０】
ａ．ＴＦＤとＴＣＤとの差が所定の許容範囲内に収まっている場合
この場合、タイミング調整部２４１は、何もしない。
【００４１】
ｂ．ＴＦＤ＞ＴＣＤであり、両者の差が許容範囲を越えている場合
この場合、ＦＤから読み出されたイベントによって現在演奏されている楽曲中の箇所は、ＣＤからの再生により歌唱または演奏されている箇所よりも時間差ＴＦＤ−ＴＣＤだけ進んだ箇所であるといえる。そこで、タイミング調整部２４１は、時間差ＴＦＤ−ＴＣＤをテンポクロックＣＴの周期τによって除算し、この除算結果（ＴＦＤ−ＴＣＤ）／τをレジスタ２２２内の経過時間データＮから減算し、減算後の経過時間データＮをレジスタ２０３に書き込む。これにより以後暫くの間、ＦＤからのイベント読み出しによる自動演奏とＣＤからのデータ読み出しによる歌唱または演奏とが同期状態を保つこととなる。
【００４２】
ｃ．ＴＦＤ＜ＴＣＤであり、両者の差が許容範囲を越えている場合
この場合、ＦＤから読み出されたイベントによって現在演奏されている楽曲中の箇所は、ＣＤからの再生により歌唱または演奏されている箇所よりも時間差ＴＣＤ−ＴＦＤだけ遅れた箇所であるといえる。そこで、タイミング調整部２４１は、時間差ＴＣＤ−ＴＦＤをテンポクロックＣＴの周期τによって除算し、この除算結果（ＴＣＤ−ＴＦＤ）／τをレジスタ２２２内の経過時間データＮに加算し、加算後の経過時間データをレジスタ２２２に書き込む。
本実施形態においても上記第１実施形態と同様の効果が得られる。
【００４３】
＜変形例１＞
上述した各実施形態では、オーディオデータを含む楽曲データを記憶する記憶媒体及び該記憶媒体からオーディオデータを読み出す装置として、ＣＤ及びＣＤ駆動装置を例示したが、これらの代わりに例えばＭＤ及びＭＤ駆動装置を採用することも可能である。
図７は、変形例１に係る楽曲再生装置の構成を示すブロック図である。
本変形例に係る楽曲再生装置には、ＣＤ、ＣＤ駆動装置１、ＤＳＰ３（図１参照）の代わりにＭＤ（MiniDisc）、ＭＤ駆動装置１００が設けられている。
ＭＤ駆動装置１００は、ＭＤに記憶されたオーディオデータを含む楽曲データを読み出して出力する装置であり、ＭＤ再生手段１０１とタイムコード変換手段１０２とを有している。
【００４４】
ＭＤ再生手段１０１は、前述したＣＤ駆動装置１及びＤＳＰ３に対応する手段であり、ＭＤに格納されている楽曲データを読み出し、読み出した楽曲データを２５０ｍｓｅｃだけ遅延させてコントローラ４に送ると共に、該楽曲データ中のオーディオデータからアナログオーディオ信号を生成してミキサ１３に出力する。
タイムコード変換手段１０２は、ＭＤに格納されている楽曲データ中のタイムコード（ＭＤ用にタイムコード）をＭＩＤＩ用のタイムコード（ＭＴＣ；MIDI Time Code）に変換し、これを２５０ｍｓｅｃだけ遅延させてコントローラ４に出力する。
コントローラ４は、ＭＤ駆動装置１００から出力されるＭＴＣをＦＤ駆動装置２に供給し、ＭＤ駆動装置１００によるＭＤの再生を制御する。なお、コントローラ４の制御に関する詳細は、上述した各実施形態とほぼ同様に説明することができるため、説明を割愛する。
【００４５】
以上説明したように、ＭＤなど種々の記憶媒体にオーディオデータと共に記録されている固有のタイムコード（すなわち、記憶媒体の種類に固有のタイムコード）を、ＭＩＤＩ用のタイムコード（ＭＴＣ）に変換し、変換したＭＴＣに基づいてＦＤに格納されたＭＩＤＩデータの読み出しタイミングを制御するようにしても良い。なお、本変形例を上述した本実施形態に適用（例えば、ＣＤ駆動装置とＤＳＰとの間に、ＣＤ用のタイムコードをＭＩＤＩ用のタイムコードに変換する手段を介挿する等）できるのは、もちろんである。
【００４３】
【発明の効果】
以上説明したように本発明によれば、簡単な構成により複数の記憶媒体を用いた楽曲の同期再生を行うことができる。
【図面の簡単な説明】
【図１】  この発明の実施形態である楽曲再生装置の構成を示すブロック図である。
【図２】  同実施形態においてＣＤから読み出される楽曲データを示す図である。
【図３】  同実施形態においてＦＤから読み出されるＭＩＤＩデータを示す図である。
【図４】  同実施形態におけるＦＤ駆動装置の制御回路の構成を説明するためのブロック図である。
【図５】  同実施形態の動作を示すタイムチャートである。
【図６】  同実施形態の動作を示すタイムチャートである。
【図７】  変形例１における楽曲再生装置の構成を示すブロック図である。
【符号の説明】
１……ＣＤ駆動装置、２……ＦＤ駆動装置、３……ＤＳＰ、４……コントローラ、５……操作部、６……アンプ、７……スピーカ、８……アンサンブル音源、９……ピアノ自動演奏用電子回路、１０……ピアノ音源、１１……駆動ソレノイド群、１２……ピアノ、２０１……クロック生成部、２４１……タイミング調整部、１００……ＭＤ駆動装置、１０１……ＭＤ再生手段、１０２……タイムコード変換手段。
【図１】
0003867580.tif 000002
【図２】
0003867580.tif 000003
【図３】
0003867580.tif 000004
【図４】
0003867580.tif 000005
【図５】
0003867580.tif 000006
【図６】
0003867580.tif 000007
【図７】
0003867580.tif 000008