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