(57)【要約】【目的】  記憶手段に記憶されている波形データを複数トラック分読み出して再生する場合において、必要なバッファの容量を比較的小さくしながら、波形データの再生を安定して行えるようにする。【構成】  クラスタ単位でＨＤＤに記憶されている波形データを、複数トラック分読み出して再生するマルチトラック再生装置において、波形データの再生を行う場合、各トラックについて、再生するブロック毎に使用されていないバッファレジスタを割り当てて再生準備を行い、割り当てられたバッファレジスタに記憶しているパラメータに従って、有音又は無音の再生を行う。そして、対応する再生処理が完了したバッファレジスタは解放して次の割り当てに供し、バッファレジスタの割り当ては、準備済みの再生の完了予定時刻が最も早いトラックに対して行うようにした。【選択図】        図１２
2006277829.tif 000002
【特許請求の範囲】
【請求項１】
記憶手段に所定サイズ単位で記憶されている波形データを、複数のトラックの各トラック毎の制御データに従って、複数トラック分読み出して再生するマルチトラック再生装置であって、
波形データを記憶する複数のバッファ領域と、
該バッファ領域からの波形データの読み出し制御に使用するパラメータを記憶する複数のバッファ情報記憶部と、
前記再生を行う際に、前記制御データが有音区間であることを示す部分については、使用されていないバッファ情報記憶部とバッファ領域とを前記トラックに割り当て、その割り当てたバッファ領域に、割当先のトラックの波形データを前記所定サイズ分前記記録媒体から読み出して記憶させると共に、割り当てたバッファ情報記憶部に有音読出設定を行い、前記制御データが無音区間であることを示す部分については、使用されていないバッファ情報記憶部を前記トラックに割り当てると共にそのバッファ情報記憶部に無音読出設定を行うことにより、前記各トラックの再生準備を行う再生準備手段と、
前記各トラックについて、前記再生準備手段が割り当てを行った順に、割り当てられた前記バッファ情報記憶部に記憶しているパラメータに従って、前記有音読出設定が行われている部分では、前記割り当てたバッファ領域に記憶させた波形データを読み出して再生し、前記無音読出設定が行われている部分では、無音の波形データを再生する再生手段と、
前記再生手段による、対応する再生処理が完了したバッファ情報記憶部及びバッファ領域を解放する解放手段と、
前記再生準備手段が行う再生準備の順番を、各トラックにおいて準備済みの再生の完了予定時刻に基づいて制御する順番制御手段とを設けたことを特徴とするマルチトラック再生装置。
【請求項２】
請求項１記載のマルチトラック再生装置であって、
前記複数のバッファ情報記憶部のうち少なくとも一部が、各々１つの前記バッファ領域と予め対応付けられていることを特徴とするマルチトラック再生装置。
【請求項３】
請求項１又は２記載のマルチトラック再生装置であって、
前記複数のトラックの中から再生を行うトラックの指定を受け付ける手段を設け、
前記再生準備手段が、その指定されたトラックについてのみ前記再生準備を行うようにしたことを特徴とするマルチトラック再生装置。
【請求項４】
請求項１乃至３のいずれか一項記載のマルチトラック再生装置であって、
前記無音区間については、前記バッファ情報記憶部に、前記所定サイズの波形データと対応する時間より長い時間の再生を設定できるようにしたことを特徴とするマルチトラック再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、記憶手段に記憶されている波形データを、複数トラック分読み出して再生するマルチトラック再生装置に関する。
【背景技術】
【０００２】
近年、マイク等で集めた音をデジタルの波形データとしてＨＤＤ等の記憶手段に記録して録音することが広く行われるようになっている。そしてこのような録音を行う際、複数のトラックを同時再生しながら、複数のトラックへ同時に録音できるようにすることが行われている。
また、各トラックに録音を行う際には、時間軸の全体について波形データを記録するのではなく、その一部のリージョンと呼ばれる期間についてのみ、波形データを記録するようにすることが行われている。
【０００３】
そして、各トラックの再生や録音の際の波形データの転送方式としては、例えば、トラック毎に２つのバッファを用意し、これを用いてＨＤＤと波形データ入出力部との間で波形データの転送を行う方式が提案されている。そしてこの場合、ＨＤＤとバッファの間の波形データの転送はＨＤＤでの記憶ブロック（例えばクラスタ）単位で、バッファと波形データ入出力部との間での波形データの転送はサンプル単位で行うことが提案されている。
このような転送方式については、例えば特許文献１に記載されている。
【特許文献１】特開２００３−３２３１７４号公報
【０００４】
この文献に記載の方式は、波形データの再生に注目すると、より具体的には、以下のような処理を行うものである。
（１）各トラックについて、再生するリージョンの再生開始時刻より前に、ＨＤＤからそのリージョンの先頭２ブロック分の波形データを読み出し、トラックと対応させて用意した２つのバッファにそれぞれ書き込む。
（２）再生開始時刻になったら、バッファに書き込んだ先頭ブロック中の再生開始位置から、各サンプリング周期毎に１サンプルずつ波形データを順次読み出し、波形データ出力部に供給して再生を行う。
（３）上記（２）の再生動作により、いずれかのバッファにおいて全サンプルの読み出しが終了すると、ＨＤＤから次のブロックの波形データを読み出して、そのバッファに書き込む一方、もう１つのバッファに書き込んである波形データを順次読み出して再生する。
（４）上記（２），（３）の動作を、リージョンの再生終了時刻まで継続する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上記特許文献１に記載の方式では、１つのバッファの波形データの再生が終わったら、もう１つのバッファの波形データの再生を行うが、再生の終了したバッファへの次のブロックの波形データの書き込みは、そのもう１つのバッファの波形データの再生が完了するまでに完了しなければならない。また、ＨＤＤからの波形データの読み出しはブロック毎に行われ、前のブロックの読み出しが終了するまで、次のブロックの読み出しを開始できない。
【０００６】
複数のトラックを同時に再生している場合には、複数のトラックについてバッファ内の波形データの再生が近接したタイミングで相次いで終了することも考えられ、その場合、再生を終了した各トラックのバッファに、それぞれ対応する次のブロックの波形データをＨＤＤから読み出して補充しなければならないが、このような場合には、各ブロックのデータを順次読み出していくことになる。一方で、波形データをバッファに書き込むための時間的な猶予は、１つのバッファ分の波形データの再生に要する時間しかない。従って、上記のような場合には、次のブロックの再生開始時までに、必要なデータをバッファに書き込めなくなってしまうこともあった。そして、このような場合には、再生に不具合が生じてしまうという問題があった。
【０００７】
また、リージョンに関する波形データの編集操作を行うと、編集されたリージョンの先頭や末尾に、波形データのうち一部しか再生されないようなブロックが生じる場合がある。そして、このようなブロックは、再生時間が通常のブロックより短いため、このようなブロックの次のブロックの波形データをバッファに書き込むための時間の猶予は、通常のブロックの場合よりも短くなってしまい、書き込みが間に合わない危険性が高くなってしまう。
【０００８】
ここで、各トラックについて３以上のバッファを用意するようにすれば、バッファに書き込みを行うための時間的猶予を、（用意したバッファ数−１）だけのバッファの波形データの再生に要する時間とすることができ、書き込みが間に合わない危険性を下げることができる。しかし、再生時間が極めて短いブロックが続くような場合には十分な時間の猶予を確保できない場合も生じ得るし、全トラックについて一律に多数のバッファを用意するとすると、必要なメモリ容量が大きくなり、装置のコストアップにつながるという問題もある。
この発明は、このような問題を解決し、記憶手段に記憶されている波形データを複数トラック分読み出して再生する場合において、必要なバッファの容量を比較的小さくしながら、波形データの再生を安定して行えるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するため、この発明は、記憶手段に所定サイズ単位で記憶されている波形データを、複数のトラックの各トラック毎の制御データに従って、複数トラック分読み出して再生するマルチトラック再生装置において、波形データを記憶する複数のバッファ領域と、そのバッファ領域からの波形データの読み出し制御に使用するパラメータを記憶する複数のバッファ情報記憶部と、上記再生を行う際に、上記制御データが有音区間であることを示す部分については、使用されていないバッファ情報記憶部とバッファ領域とを上記トラックに割り当て、その割り当てたバッファ領域に、割当先のトラックの波形データを上記所定サイズ分上記記録媒体から読み出して記憶させると共に、割り当てたバッファ情報記憶部に有音読出設定を行い、上記制御データが無音区間であることを示す部分については、使用されていないバッファ情報記憶部を上記トラックに割り当てると共にそのバッファ情報記憶部に無音読出設定を行うことにより、上記各トラックの再生準備を行う再生準備手段と、上記各トラックについて、上記再生準備手段が割り当てを行った順に、割り当てられた上記バッファ情報記憶部に記憶しているパラメータに従って、上記有音読出設定が行われている部分では、上記割り当てたバッファ領域に記憶させた波形データを読み出して再生し、上記無音読出設定が行われている部分では、無音の波形データを再生する再生手段と、上記再生手段による、対応する再生処理が完了したバッファ情報記憶部及びバッファ領域を解放する解放手段と、上記再生準備手段が行う再生準備の順番を、各トラックにおいて準備済みの再生の完了予定時刻に基づいて制御する順番制御手段とを設けたものである。
【００１０】
このようなマルチトラック再生装置において、上記複数のバッファ情報記憶部のうち少なくとも一部を、各々１つの上記バッファ領域と予め対応付けておくようにするおくとよい。
さらに、上記複数のトラックの中から再生を行うトラックの指定を受け付ける手段を設け、上記再生準備手段が、その指定されたトラックについてのみ上記再生準備を行うようにするとよい。
さらにまた、上記無音区間については、上記バッファ情報記憶部に、上記所定サイズの波形データと対応する時間より長い時間の再生を設定できるようにするとよい。
【発明の効果】
【００１１】
以上のようなこの発明のマルチトラック再生装置によれば、記憶手段に記憶されている波形データを複数トラック分読み出して再生する場合において、必要なバッファの容量を比較的小さくしながら、波形データの再生を安定して行えるようにすることができる。
【発明を実施するための最良の形態】
【００１２】
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
まず、この発明のマルチトラック再生装置の実施形態であるマルチトラックレコーダ（ハードディスクレコーダ）の構成について、図１を用いて説明する。図１は、そのマルチトラックレコーダの概略構成を示すブロック図である。
このマルチトラックレコーダ１は、複数のチャンネルの信号経路を有し、最大１６トラックの同時録音，１６トラックの同時再生，１６トラックの同時再生をしながら８トラックの同時録音が可能な装置である。
【００１３】
そして、録音は、アナログ又はデジタルの入力波形をデジタルの波形データとして記録することによって行い、再生は、この波形データを順次読み出して出力処理することによって行う。また、再生した波形データに対して、ミキシングやイコライジング等の合成，変換処理等を行うこともでき、さらにこの処理後の波形データを録音（記録）することもできる。
なお、上述したチャンネルとは、個々のトラックの波形データについて信号処理を行う信号経路（各チャンネル毎に物理的に分割された信号経路のみならず、各チャンネルの波形データが時分割処理される物理的には共通の信号経路を含む）またはその信号経路を流れる波形データ自体をいう。
【００１４】
このようなマルチトラックレコーダ１は、表示器１１，フェーダ１２，操作子１３，ＣＰＵ１４，フラッシュメモリ１５，ＲＡＭ１６，パーソナルコンピュータインタフェース（ＰＣＩ／Ｆ）１７，ミキサ１８，データ転送ユニット１９，ＩＤＥ（Integrated Drive Electronics）Ｉ／Ｆ２０を備えており、これらが互いにシステムバス２３で接続されている。また、ＨＤＤ２１及びＣＤ−ＲＷ（Compact Disk - Rewritable）ドライブ２２も備え、これらはＩＤＥＩ／Ｆ２０を介してデータ転送ユニット１９及びシステムバス２３に接続されている。
【００１５】
表示器１１は表示手段であり、液晶表示器（ＬＣＤ）や蛍光（ＥＬ）表示器等によって構成することができる。そして、マルチトラックレコーダ１の動作状態や設定状態及び、録音，再生を行っている波形データの内容等を表示するユニットである。
フェーダ１２は、各チャンネルにおける入出力の音量（波形データの波高値）を調整するためのユニットである。
操作子１３は、マルチトラックレコーダ１の操作を行うための各種キーやスイッチであり、キーボードとスライドスイッチやダイアルスイッチ、ボタンスイッチ等によって構成することができる。なお、表示器１１にグラフィカル・ユーザ・インタフェース（ＧＵＩ）を表示して、そのＧＵＩ上のスイッチをこれらのスイッチ等の一部としてあるいは一部に代えて用いるようにしてもよい。
【００１６】
ＣＰＵ１４は、マルチトラックレコーダ１の動作を統括制御する制御部であり、フラッシュメモリ１５に記憶された各種制御プログラムを実行することによって、各部の動作や波形データの処理等の制御を行う。
フラッシュメモリ１５は、書き換え可能な不揮発性記憶手段であり、各種制御プログラムや設定等の、マルチトラックレコーダ１の動作に必要な情報を記憶するユニットである。このフラッシュメモリ１５に記憶しているプログラムは、例えば新しいプログラムの記録されたＣＤ−ＲＯＭディスクをＣＤ−ＲＷドライブ２２にセットして内容を読み込む等することにより、必要に応じて書き換えてバージョンアップを行うことができる。設定の変更も、操作子１３からの操作等によって行うことができる。
【００１７】
ＲＡＭ１６は、ＣＰＵ１４のワークエリアとして使用したり、一時的に必要なデータを記憶したりするための揮発性の記憶手段である。
ＰＣＩ／Ｆ１７は、マルチトラックレコーダ１をＰＣ等のコンピュータと接続するためのインタフェースである。マルチトラックレコーダ１をＰＣに接続することにより、ＰＣ側からマルチトラックレコーダ１の動作を制御することが可能になる。
【００１８】
ミキサ１８は、波形処理手段であり、サンプリング周期毎に、入力される波形データに対して合成，変換，出力等の処理を行うことのできるデジタルシグナルプロセッサ（ＤＳＰ）である。ここで、合成処理としては例えばミキシング、変換処理としては例えばイコライジングが考えられる。また、このミキサ１８は波形データ入力端子４１及び波形データ出力端子４２を備えている。
【００１９】
波形データ入力端子４１は、マイクその他のオーディオ機器からの波形データの入力を受け付ける端子であるが、これらの波形データは、必要な場合にはＡ／Ｄ変換回路によってデジタルデータに変換してから入力される。波形データ出力端子４２は、ミキサ１８による編集後の波形データを出力する端子であり、例えばその波形データを外部のスピーカを備えたオーディオ機器に出力して発音を行わせることができる。この出力は、必要な場合にはＤ／Ａ変換回路によってアナログデータに変換して行うことができ、また、光デジタル出力器によって行ってもよい。
【００２０】
さらに、ミキサ１８はデータ転送ユニット１９と接続されており、記録すべき波形データをデータ転送ユニット１９に転送したり、データ転送ユニット１９から処理すべき波形データの転送を受けたりすることもできる。例えば、波形データ入力端子４１から入力された波形データの録音（記録）を行う場合には、ここから入力された波形データに必要な場合にはミキシング等の処理を行ってからデータ転送ユニット１９に転送する。また、ＨＤＤ２１に記録されている波形データに基づいて外部のオーディオ機器に発音させる場合には、データ転送ユニット１９から転送されてくる波形データに必要な場合にはミキシング等の処理を行ってから波形データ出力端子４２から出力する。
【００２１】
このマルチトラックレコーダ１は、前述したように再生と同時に録音が可能であるので、ＨＤＤ２１から読み出されてデータ転送ユニット１９を経由してミキサ１８に入力された１６トラックの波形データをミックスダウンして２トラックの波形データを作成し、これを再びデータ転送ユニット１９に出力し、ＣＤ−ＲＷドライブ２２に格納されているＣＤ−ＲＷディスクに記録して音楽ＣＤを作成すること等も行うことができる。
【００２２】
データ転送ユニット１９は、バッファ領域を設けるためのバッファメモリ３０を備え、ミキサ１８及びＩＤＥＩ／Ｆ２０と直接データの授受が可能なように接続されている。そして、ＩＤＥＩ／Ｆ２０を介してＨＤＤ２１及びＣＤ−ＲＷドライブ２２から読み出した波形データをバッファメモリ３０に一旦書き込み、サンプリング周期毎に１サンプルずつ読み出してミキサ１８に転送するユニットである。また、ミキサ１８から出力された、ＨＤＤ２１あるいはＣＤ−ＲＷドライブ２２に書き込むべき波形データも、バッファメモリ３０に一旦蓄積し、所定のデータサイズ単位分あるいはサンプル数単位分まとめてＩＤＥＩ／Ｆ２０に出力して書き込みを行う。この実施形態の主な特徴は、このデータ転送ユニット１９からミキサ１８への波形データ転送の制御を行う手段であるが、この点については後に詳述する。
【００２３】
ＩＤＥＩ／Ｆ２０は、ＨＤＤ２１及びＣＤ−ＲＷドライブ２２に対するデータの入出力を行うためのインタフェースであり、データ転送ユニット１９や他の各部から転送されてくるデータをＨＤＤ２１やＣＤ−ＲＷドライブ２２に書き込んだり、ＨＤＤ２１やＣＤ−ＲＷドライブ２２から読み出したデータをデータ転送ユニット１９や他の各部に転送したりするユニットである。ここで、ＨＤＤ２１へは最大で再生２４トラック分（１６トラック再生と同時に８トラック録音を実行時）の波形データを時分割で入出力でき、ＣＤ−ＲＷドライブ２２へは２チャンネル分の波形データを時分割で入出力できる。
【００２４】
なお、このＩＤＥＩ／Ｆ２０は、ここではＩＤＥとしているが、ＨＤＤ２１やＣＤ−ＲＷドライブ２２へのデータ入出力を行うインタフェースであれば特にこれに限定されるものではなく、これに代えてＳＣＳＩ(Small Computer System Interface)，ＵＳＢ２(Universal Serial Bus 2)，ＩＥＥＥ１３９４(Institute of Electrical and Electronic Engineers 1394)等の他のインタフェースを用いてもよい。
【００２５】
ＨＤＤ２１とＣＤ−ＲＷドライブ２２とは、このマルチトラックレコーダで録音した波形データや合成，変換，再生等の処理を行う波形データの記憶を行うための記憶手段である。またその他にも、ＣＤ−ＲＷドライブ２２は、ＣＤ−ＲＯＭメディア等に記録された各種のデータやアプリケーションプログラム等を読み取ってフラッシュメモリ１５に記憶されたプログラムを更新する際にも用いることができる。
以上がこのマルチトラックレコーダ１の概略構成である。
以後の説明においては、特に断らない限り、ＨＤＤ２１を記憶媒体として用いて波形データの録音及び再生を行う場合を例にしてこのマルチトラックレコーダの動作について説明する。
【００２６】
上記のマルチトラックレコーダ１において、波形データの録音や再生を行う場合には、ＣＰＵ１４からの指示に応じて、ＨＤＤ２１とバッファメモリ３０の間のデータ転送と、バッファメモリ３０とミキサ１８との間のデータ転送とが行われる。
このうち前者の転送は、ここではＨＤＤ２１の１クラスタ分を１単位として行うようにしている。また、この装置においては、録音・再生を安定して行うため、通常のＨＤＤよりもクラスタサイズを大きくしており、１クラスタは６４キロワードである。そして、これは４２ｋＨｚのサンプリング周期で１秒間分程度の波形データに相当する。
また後者の転送は、サンプリング周期毎に、各サンプリング周期分（１サンプル）の波形データについて行う。
【００２７】
ここで、図２に、バッファメモリ３０における記憶領域の構成を示す。
この図に示すように、バッファメモリ３０には、ｎ個のバッファ領域を設けており、それぞれのバッファ領域に１クラスタ分の波形データを記憶できるようにしている。そして、後述するように、この各バッファ領域を再生や録音を行うトラックに動的に割り当て、そのトラックの波形データの再生や録音を行うために使用するようにしている。
なおｎの値は、少なくともトラック数の２倍とするようにし、コストの許す限り大きい値とすることが好ましい。また、再生トラック１つにつき平均して４つ程度のバッファ領域を割り当てることができれば、後述するバッファ領域の割り当て制御による効果を十分に得ることができる。
【００２８】
そして、マルチトラックレコーダ１においては、録音を行う場合には、まずＣＰＵ１４が、録音を行う各トラックにバッファメモリ３０のバッファ領域を２つずつ割り当てる。その後、ミキサ１８はサンプリング周期毎にそのサンプリング周期分の波形データを各トラックについてデータ転送ユニット１９に転送し、データ転送ユニット１９はこれをバッファメモリ３０のうち各トラックに割り当てられたバッファ領域の一方（Ａ領域とする）に記憶させる。そして、１クラスタ分の波形データが記憶されると、そのデータをＨＤＤ２１上のそのデータを記憶すべきクラスタに転送して記憶させる。
【００２９】
また、この転送中もミキサ１８からデータ転送ユニット１９へのデータ転送は継続され、転送ユニット１９はこのデータを今度はバッファメモリ３０のうち各トラックに割り当てられたバッファ領域のもう一方（Ｂ領域とする）に記憶させる。そして、再び１クラスタ分の波形データが記憶されると、そのデータをＨＤＤ１１１上のそのデータを記憶すべきクラスタに転送して記憶させる。
この間にミキサ１８からデータ転送ユニット１９へ転送されてくる波形データは、今度はＡ領域に記憶され、ＨＤＤ２１への転送を終えたＡ領域のデータを逐次新たなデータに更新する。このように、転送ユニット１９は、バッファメモリ３０上に設けた各トラックについての２つの記憶領域を交互に用いながら、ミキサ１８から連続的に転送されてくる波形データを、クラスタ単位でＨＤＤ２１に転送して記憶させる。
【００３０】
一方、再生を行う場合にも、まずＣＰＵ１４が、再生を行う各トラックにバッファメモリ３０のバッファ領域を２つずつ割り当てる。そしてその後、転送ユニット１９は、再生する各トラックについて、再生すべき波形データのうち、先頭から２クラスタ分の波形データを読み出して、バッファメモリ３０のうちそのトラックに割り当てた２つのバッファ領域に、割り当て順に記憶させる。
また、その後、残ったバッファ領域もいずれかのトラックに割り当て、割り当て先のトラック次の波形データを、１クラスタ分ずつ順次読み出して、割り当てたバッファ領域に記憶させる。
【００３１】
そして再生を開始すると、転送ユニット１９はサンプリング周期毎に各トラックについて、最初に割り当てられたバッファ領域に記憶させたものから順に、波形データを１サンプルずつ読み出してミキサ１８に転送する。そして、ミキサ１８はこれらの各波形データについて処理を行う。
１つのバッファ領域のデータを全て転送し終わると、続けて次に割り当てられたバッファ領域のデータの転送を行うが、同時に転送の終わったバッファ領域を解放して新たにいずれかのトラックに割り当て、ＨＤＤ２１からそのトラックの次のクラスタの波形データを読み出し、これをその新たに割り当てられたバッファ領域に記憶させ、そのバッファ領域の波形データを更新する。
【００３２】
このような処理を行うことにより、記憶手段に記憶されている波形データを所定のデータサイズ単位あるいはサンプル数単位で順次読み出してバッファ領域に書き込み、サンプリング周期毎に該バッファ領域から波形データを１サンプルずつ読み出して再生し、バッファ領域中の読み出しを終了したアドレスのデータを記憶手段から読み出される新たな期間の波形データで順次更新して、波形データを連続的に処理することができる。
なお、上記のバッファ領域の割り当てや波形データの記憶については、実際にはもう少し複雑な処理を行うが、その詳細については、後述する。
また、録音と再生を同時に行う場合には、それぞれについての転送を並行して行うものとする。
【００３３】
次に、ＨＤＤ２１における波形データの記憶方式について説明する。
まず図３に、このマルチトラックレコーダ１のＨＤＤ２１のアドレス領域におけるデータの配置を示す。
ＨＤＤ２１のアドレス領域は先頭から、固定容量のシステム管理データ用アドレス領域５１と、それに続く最後尾までの共用アドレス領域５２に分割されている。そして、共用アドレス領域５２には、前方側の端部から波形データがテイク（録音の単位で、１テイク＝１回分の録音）順にトラック毎にクラスタ単位で分散して記憶されて蓄積され、その蓄積された領域が波形データ領域５３となり、一度録音された波形データは操作者による明示の、該当するテイクの消去指令が与えられない限り消去されない。そして、後方側の端部から、このクラスタ単位で分散記憶された波形データを管理するためのソング管理データが複数ソング分順次記憶されて、ソング管理データ領域５４−１，５４−２，……（以下、総称する場合には符号５４で示す）が順次形成される。
【００３４】
また、各ソング管理データ領域５４は固定容量（例えば、１ソングあたり１．５メガバイト）であり、操作者により新規にソングファイルの作成が指示されるごとに、そのソングについてのソング管理データ領域５４が新たに初期化されて確保され、そのソングについて波形データの追加や編集がなされるごとにそれに対応してソング管理データが更新される。各ソング管理データ領域５４は一度定められると固定であり、操作者による明示のソングの消去指令が与えられない限り消去されない。
【００３５】
システム管理データ用アドレス領域５１には、ソングごとのソング管理データの記憶位置を知るためのデータを含むシステム管理データが記憶されている。ソング管理データ領域５４は、ソング単位でＨＤＤ２１の全アドレス領域の後方側の端部から順次作成され、しかも個々のソング管理データ領域５４の容量は固定であるので、システム管理データ用アドレス領域５１にＨＤＤ２１の全アドレス領域の最後尾のアドレスを記憶しておくことにより、各ソング管理データ領域５４の開始位置を演算で求めることができる。
【００３６】
例えば、ソング１のソング管理データ領域５４−１の開始位置は、〔ＨＤＤ２１の全アドレス領域の最後尾のアドレス〕−〔１つのソング管理データ領域５４の容量〕の演算で求められる。
ここで、個々のソング管理データ領域５４内では、データは通常どおり前方側から正方向（アドレスが増加する方向）に記憶されることを注記しておく。
なお、演算で求める代わりに、システム管理データ用アドレス領域５１に、各ソングのソング管理データ領域５４の開始位置のアドレスを記憶しておくこともできる。また、上記の例では、共用アドレス領域の最後尾のアドレスがＨＤＤ２１の全アドレス領域の最後尾のアドレスに一致する例を示したが、一致しないようにしてもよい。
【００３７】
次に、図４に、上述したソングデータの構成を示す。
この図に示すように、各ソングのソング管理データの内部は、階層構造を有する。すなわち、１つのソングは１６のトラックによって構成される。また、録音及び再生を行う場合には、どのトラックについて録音や再生、又はその両方を行うかを指定して行う。そして、録音の場合には、ミキサ１８からデータ転送ユニット１９を通して転送されてくる波形データは、指定されたトラックの波形データとして波形データ領域５３に記憶され、再生の場合には、指定されたトラックの波形データが波形データ領域５３から読み出されてデータ転送ユニット１９を介してミキサ１８へ転送される。
そして、例えば複数トラックを同時に録音する場合、各トラックの波形データはそれらが記憶される時点での共用アドレス領域５２における波形データ記憶済み領域の最後尾に続けて記憶されるので、各トラックの波形データは、波形データ領域５３内にクラスタ単位で分散して記憶されることになる。
【００３８】
このマルチトラックレコーダ１において新規の録音を行う場合、まず新規のソングを作成するが、この状態では、作成されたソングを構成する各仮想トラックは全て無音区間になっている。なお、この明細書において、「無音」は、実質的に音が聞こえなくなる状態のことをいうものとし、完全な無音と、多少音が残っていても耳に聞こえない実質的な無音の両方を含むものとする。
そして、トラックを選択して録音を行うことにより、そのトラックに波形データの存在する有音区間（リージョン）が形成され、波形データが波形データ領域５３に記憶される。
従って、例えば、初めて録音の行われたトラックには、その録音の終了時にはリージョンが１つだけ存在することになる。そして、そのリージョンの再生開始時刻は、ソングの時間軸においてそのリージョンの録音が開始された位置であり、再生時間は、録音開始から録音終了までの時間である。
【００３９】
また、同じトラックの異なる時間範囲について順次録音を行えば、１つのトラックに複数のリージョンが形成されることになる。そして、通常、曲をレコーディングする際には、複数のトラックに対して録音が行われる。
さらに、このマルチトラックレコーダにおいては、このように録音した各トラックの各リージョンを編集することもできる。例えば、各リージョンについて、波形データ領域５３に記憶されたそのリージョンに対応する波形データの読み出し開始位置や終了位置を変更したり、再生開始時刻や再生時間を変更したりすることができる。
【００４０】
図５に、このように形成した複数のリージョンを含むトラックのデータ構成の例を示す。
まず、各トラックの波形データは、上述したようにクラスタ単位で分散して記憶されるので、これを連結するため、１クラスタ分の波形データをブロックとし、各ブロックについて、波形データ領域５３におけるそのブロックの波形データを記憶したクラスタのアドレス（後述するクラスタ番号）と、次のブロックを連結するための連結情報（後述する後のブロックのブロック番号）とを含む情報を記憶するようにしている。そして、各ブロックの連結情報に基づいてブロックを辿り、各ブロックの波形データを記憶したクラスタから波形データを順次読み出すことにより、録音した波形データを再現することができる。なお、図５において、各ブロックに付した数字はそのブロックのブロック番号を示す。
【００４１】
そして、各リージョンについて、そのリージョンで再生する波形データの先頭を示す再生開始位置（後述する先頭ブロックのブロック番号と再生開始ポイント）と、再生開始時刻と、再生時間と、次のリージョンを連結するための連結情報（後述する後のリージョンのリージョン番号）とを含む情報を記憶している。図５では、ブロックの下側に付した上向きの矢印が各リージョンにおける再生開始位置を、下向きの矢印が再生終了位置を示す。
これに加えて、トラックの情報として先頭のリージョンを示す先頭情報（後述する先頭リージョンのリージョン番号）を含む情報を記憶しておき、再生時に、先頭情報の示すリージョンから連結情報に基づいてリージョンを辿り、各リージョンについて記憶している再生開始時刻から再生時間だけ、再生開始位置から波形データを順次再生することにより、仮想トラックの波形データを再生することができる。
【００４２】
ここで、各トラックにおいて、ソングの開始時刻からそのトラックの最初のリージョンの再生開始時刻までの区間や、あるリージョンの再生終了時刻（再生終了時刻の再生時間だけ後）からその次のリージョンの再生開始時刻までの区間等は、対応する波形データの存在しない区間となる。この実施例においては、この区間を無音区間と呼んでいる。また、無音区間については、リージョンとリージョンに挟まれた１つの区間全体、あるいはその部分を所定時間毎に区切った各々の区間を、１つのブロックとしている。また、ここでいう所定時間は、後述するように、バッファメモリ１２０に設けたバッファ領域の大きさや、波形データの読み出し制御に使用するレジスタの桁数に応じて定めればよい。
なお、トラックの時間軸上でリージョンとリージョンが隙間なくつながっており、リージョン間の無音区間が存在しない場合もある。
このマルチトラックレコーダにおいては、上述した各トラック，リージョン，ブロックについての情報をソング管理データ領域５４に記憶し、これらの情報に基づいて波形データの再生順序及び再生タイミングを決定して再生している。その意味で、これらの情報をシーケンスデータと呼ぶ。また、このシーケンスデータが制御データに該当する。
【００４３】
各ソングのソング管理データ領域５４には、そのソング全体にわたる情報を記憶するヘッダ領域、そのソングの各トラックの情報を記憶するトラック領域、そのソングの各リージョンの情報を記憶するリージョン領域、そのソングの各ブロックの情報を記憶するブロック領域が互いに混在する状態で含まれている。
このうちヘッダ領域には、そのソングのソング名及び作成日の情報が記憶される。
トラック領域には、各トラックの名前と、先頭リージョンのリージョン番号（又は先頭リージョンのリージョン情報へのポインタ）が記憶される。このうち、先頭リージョンのリージョン番号については、例えば図５に示した例の場合では、トラック５について１１９が記憶されることになる。
【００４４】
そして、リージョン領域には、各リージョンについてのリージョン情報として、前のリージョンのリージョン番号，後のリージョンのリージョン番号，再生開始時刻，そのリージョンで最初に再生する先頭ブロックのブロック番号，先頭ブロック内の再生開始ポイント，再生時間が記憶される。ここで、前のリージョンや後のリージョンのリージョン番号については、該当するリージョンがない場合にはＮＵＬＬ（空白）となる。また、該当するリージョンのリージョン情報の記憶位置を示すポインタとして記憶してもよい。ブロック番号についても、同様にブロック情報の記憶位置を示すポインタとして記憶してもよい。再生開始時刻は、そのリージョンの波形データの再生を開始する時刻をソングの再生開始からの相対時刻で指定する。再生時間は、そのリージョンで再生するブロック数及び最終ブロック内の再生終了ポイントによって指定する。
【００４５】
例えば、図５に示したリージョン１１９の場合には、前のリージョンのリージョン番号としてＮＵＬＬ，後のリージョンのリージョン番号として１２２，先頭ブロックのブロック番号として５０１１，再生開始時刻として何らかの値，再生開始ポイントとして図中のブロック５０１１の下側に示した上矢印に相当する位置、再生時間として再生ブロック数３とブロック５０２３の下側に示した下矢印に相当する位置が記憶されることになる。
ここで、再生開始時刻から再生時間だけ経過した時刻が再生終了時刻であるので、実質的に再生終了時刻の情報もリージョン情報として記憶されていることになる。
【００４６】
ブロック領域には、各ブロックについてのブロック情報として、前のブロックのブロック番号，後のブロックのブロック番号，ＨＤＤ２１中のそのブロックの波形データを記憶したアドレス（クラスタ番号）が記憶される。ここで、前のブロックや後のブロックのブロック番号については、該当するブロックがない場合にはＮＵＬＬ（空白）となる。また、該当するブロックのブロック情報の記憶位置を示すポインタとして記憶してもよい。
例えば、図５に示したブロック５０１９の場合には、前のブロックのブロック番号として５０１１，後のブロックのブロック番号として５０２３，そして適切なクラスタ番号を記憶することになる。
【００４７】
ＣＰＵ１４は、これらのシーケンスデータを参照して、各仮想トラックの波形データの記憶位置と再生タイミングとを認識し、再生時における波形データのＨＤＤ２１からバッファメモリ３０への転送と、バッファメモリ３０からミキサ１８への転送とを制御することができる。
なお、このマルチトラックレコーダにおいては、波形データを録音する際には、１つのリージョンの波形データは連鎖するブロックの波形データとして記憶する。この連鎖を示すのが、図５でブロック間を繋ぐ矢印であり、連鎖の先頭のブロックにおいては常にその先頭から波形データが記憶される。最終ブロックにおいては、録音の中止された時点までしか波形データが存在しないが、それ以降にも無音状態を示す波形データを書き込み、大きさはやはり１クラスタ分としている。
【００４８】
そして、一度録音した波形データに対して再録音を伴わない切り貼りの編集を行う場合には、もとの波形データ、すなわち初めに録音した各ブロックの波形データに変更を加えることなく、シーケンスデータを変更して編集結果を作成する。すなわち、あるリージョンの先頭部を削除する場合には先頭ブロックを後ろのブロックにずらしたり再生開始ポイントにオフセットを設けたりし、位置をずらす場合には再生開始時刻を変更する等している。
このようにしても、ＣＰＵ１４が編集後のシーケンスデータを参照して波形データの転送タイミングを制御すれば、各ブロックの波形データ自体を切り貼り編集して得た波形データを再生する場合と同様の再生を行うことができる。
【００４９】
次に、このようにＨＤＤ２１に記憶されている波形データを再生する際のデータ転送の制御について説明する。
図６に、図１に示したデータ転送ユニット１９の構成をより詳しく示す。
このマルチトラックレコーダ１において、ＨＤＤ２１に記憶されている波形データを再生する際には、ソング管理データに従ってＨＤＤ２１からクラスタ単位で波形データを順次読み出してデータ転送ユニット１９のバッファメモリ３０に記憶させ、ここからサンプリング周期毎に１サンプルずつ読み出してミキサ１８に転送することは既に述べた。
【００５０】
この転送の中継を行うデータ転送ユニット１９は、図６に示す構成である。すなわち、ＨＤＤ２１からＩＤＥＩ／Ｆ２０を介して読み込む波形データのバッファメモリ３０への書き込みアドレスを制御するための転送カウンタ３３及び比較回路３４と、ミキサ１８とバッファメモリ３０との間で波形データを転送する際（録音ないし再生時）のバッファメモリ３０からの波形データの読み出しアドレスとバッファメモリ３０への波形データの書き込みアドレスとミュート回路３２の動作とを制御するための録再カウンタ３５及び比較回路３６とを備え、マルチプレクサ３１によって転送カウンタ３３と録再カウンタ３５との出力の一方を時分割に選択してバッファメモリ３０における書き込み及び読み出しアドレスを制御している。この時分割の態様としては、例えば、ミキサ１８とバッファメモリ３０との間の転送を行うための録再カウンタ３５の出力をその転送タイミングで優先的に選択し、その残りの時間に転送カウンタ３３の出力を選択するようにすればよい。
さらに、ミュートの指示があったミュート期間はバッファメモリ３０から読み出された波形データをミュートしてミキサ１８に転送するミュート手段としてミュート回路３２を設けている。
【００５１】
また、このデータ転送ユニット１９はレジスタ群３７，バッファレジスタ群３８及びトラックレジスタ群３９も備えており、転送カウンタ３３の動作は比較回路３４とレジスタ群３７によって、録再カウンタ３５の動作は比較回路３６とバッファレジスタ群３８とトラックレジスタ群３９によって制御される。
そして、録再カウンタ３５，比較回路３６，トラックレジスタ群３９は、録音及び再生を行うトラック毎に同じものを１組ずつ設けている。すなわち、このマルチトラックレコーダは、最大で１６トラックの再生と８トラックの録音を同時に行うので、録再カウンタ３５，比較回路３６，トラックレジスタ群３９の組を２４組備えている。
そして、最大でこれら２４組の録再カウンタが並列してマルチプレクサ３１及びミュート回路３２に信号を出力することになる。どの録再カウンタをどのトラックに対応させるかは、録音／再生の開始時にＣＰＵ１４が決定するものとする。
【００５２】
また、１６トラックの再生と８トラックの録音を同時に行うため、データ転送ユニット１９は、２４組の録再カウンタ３５を用いて録音と再生のための波形データの転送を時分割化されたタイミングで行う。すなわち、録再カウンタ３５の出力する読出アドレスに従って、データ転送ユニット１９とミキサ１８の間では、各サンプリング周期毎に、最大１６トラックの再生のための波形データがデータ転送ユニット１９からミキサ１８に転送され、また、最大８トラックの録音のための波形データがミキサ１８から転送ユニット１９に転送される。従って、波形データはミュート回路３２を時分割で通過することになる。
【００５３】
また、２４組の録再カウンタ３５はそれぞれ、ミュート回路３２にミュートを指示する場合、その録再カウンタ３５の出力する読出アドレスから波形データを読み出して転送を行うタイミング、すなわち、その録再カウンタ３５に対応付けられたトラックの波形データがミュート回路３２を通過するタイミングでミュートを指示する。
このマルチトラックレコーダ１では、データ転送ユニット１９による波形データの転送タイミングに同期してミュートを行うようにしているので、時分割化され転送される複数のトラックの波形データのうちの任意のトラックの波形データをミュートするための構成が簡単である。
【００５４】
また、レジスタ群３７には、開始アドレスレジスタであるＳＡＤレジスタ，終了アドレスレジスタであるＥＡＤレジスタ，トリガフラグとして用いるＴｒｉｇｅｒレジスタが含まれる。そして、ＨＤＤ２１から波形データを読み出してバッファメモリ３０に書き込む場合には、ＣＰＵ１４がＳＡＤレジスタとＥＡＤレジスタにそれぞれ書き込み領域の開始アドレスと終了アドレスを設定し、ＩＤＥＩ／Ｆ２０にＨＤＤ２１からの読み出しを行う旨と対象のクラスタの番号を設定する。
【００５５】
その後、ＣＰＵ１４がＴｒｉｇｅｒレジスタに１を書き込むと、ＩＤＥＩ／Ｆ２０はＨＤＤ２１を制御して、指定したクラスタの頭出し、すなわち、ヘッドの移動及びディスクの回転待ちを行い、頭出しが完了したらそのクラスタのデータをＩＤＥＩ／Ｆ２０内の図示しないデータバッファに順次読み込む。ＩＤＥＩ／Ｆ２０は、データバッファに読み込まれたデータがあることを、データ転送ユニットに通知する。このようにして、指定したクラスタの１クラスタ分すなわち有音区間の１ブロック分の波形データが読み出しが開始される。
【００５６】
転送カウンタ３３は、ＳＡＤレジスタの値からカウントを開始し、そのカウント値を書き込みアドレスとしてマルチプレクサ３１に出力する。そして、前述したようにバッファメモリ３０への書き込みとバッファメモリからの読み出しは並行して行うので、マルチプレクサ３１はこのタイミングを調整する。ＩＤＥＩ／Ｆ２０から「データ有り」が通知されているとき、マルチプレクサ３１がタイミングを計ってそのアドレスをバッファメモリ３０に出力すると、そのアドレスへの書き込みが実行される。すると、転送カウンタ３３はカウント値をカウントアップし、次の書き込みアドレスとしてマルチプレクサ３１に出力する。一方、転送カウンタ３３のカウント値は比較回路３４にも入力され、比較回路３４はこの値をＥＡＤレジスタの値と比較する。
【００５７】
このような手順で転送カウンタ３３がＥＡＤレジスタの値までカウントアップすると、比較回路３４での比較が一致するので、この時点で比較回路３４が転送カウンタ３３にカウント動作の中止を指示すると共に、ＣＰＵ１４の処理に割り込みを発生させて１クラスタ分の波形データの読み込みが終了した旨を伝達する。ここで、この割り込みは、複数トラック分の波形データの記憶が同時に必要になった場合に、これらの記憶を順番に効率よく実行するための制御に用いるものである。
【００５８】
このような処理により、ＨＤＤ２１上の指定したクラスタに記憶された波形データを読み出して、バッファメモリ３０上のＳＡＤレジスタとＥＡＤレジスタとで指定した領域に書き込むことができる。ここで、読み出しは常に１クラスタ単位で行われるので、ＥＡＤレジスタは設けず、終了アドレスはＳＡＤレジスタの値から演算で求めるようにしてもよい。
なお、録音時にＨＤＤ２１への波形データの書き込みを行う場合も、ＩＤＥＩ／Ｆ２０に書き込みを行う旨を設定することにより、同様の動作で、バッファメモリ３０上のＳＡＤレジスタとＥＡＤレジスタとで指定した領域に記憶された波形データをＨＤＤ２１上の指定したクラスタに書き込むことができる。
【００５９】
一方、バッファレジスタ群３８には、図２に示したバッファメモリ３０中の各バッファ領域と対応させて、それぞれＤｅｓｔレジスタとＴａｒレジスタとＭｕｔｅレジスタを有する１番目からｎ番目のバッファレジスタを設けている。この各バッファレジスタが、バッファ情報記憶部である。
そしてこのうち、Ｄｅｓｔレジスタは、対応するバッファ領域に記憶させた波形データの読み出し開始アドレスを指定するためのレジスタであり、Ｔａｒレジスタは、同じく波形データの読み出し終了アドレスを指定するためのレジスタである。そして、バッファメモリ３０中のバッファ領域から波形データを読み出してミキサ１８に転送する場合には、ＣＰＵ１４は、そのバッファ領域と対応するバッファレジスタ中のＤｅｓｔレジスタ及びＴａｒレジスタにそれぞれ適切な値を設定することによって、バッファメモリ３０上の波形データを読み出すべきアドレスを指定する。
【００６０】
なお、Ｄｅｓｔレジスタ及びＴａｒレジスタに設定する値は、基本的にはバッファメモリ３０中の対応するバッファ領域の開始あるいは終了アドレスと一致するが、前述したシーケンスデータによって再生開始ポイントや再生終了ポイントが設定され、その領域に記憶される波形データの一部しか再生しない場合には、これに応じて領域の途中のアドレスが設定されることになる。
また、Ｍｕｔｅレジスタは、ＤｅｓｔレジスタとＴａｒレジスタの設定内容に従って波形データを読み出して再生する場合に、ミュートを行うか否かを指定するためのレジスタである。
【００６１】
また、トラックレジスタ群３９には、バッファナンバＦＩＦＯ（Buf_No FIFO）、バッファナンバ（Buf_No）レジスタ、開始／終了（Start/Stop）フラグ、カレント位置（C_Position）レジスタを設けている。
そして、バッファナンバＦＩＦＯは、対応するトラックに割り当てたバッファレジスタの番号をファーストイン・ファーストアウト（ＦＩＦＯ）で記憶及び出力するレジスタである。また、バッファナンバレジスタは、対応するトラックの再生又は録音に使用するバッファレジスタの番号を指定するためのレジスタであり、ここには、バッファナンバＦＩＦＯの出力が設定される。
開始／終了フラグは、対応するトラックの再生又は録音の開始及び終了を指示するためのトリガフラグである。また、カレント位置レジスタは、ソングを再生する場合に、対応するトラックではブロック内のどの部分から再生を開始するかを指定するためのレジスタである。
【００６２】
そして、ＨＤＤ２１に記録された波形データの再生を行う場合、再生はソング毎に行うが、ＣＰＵ１４はＨＤＤ２１から再生するソングについての前述したシーケンスデータを読み出して参照し、再生すべきトラック、リージョン及びブロックの構成や再生タイミング、そして無音区間の配置を認識する。
そして、再生開始準備として、上述したように、再生を行う各トラックにバッファメモリ３０中のバッファ領域を割り当て、その割り当て順に、ソング中の再生開始位置と対応するブロックから始めて、割り当てたバッファ領域１つ当たり１ブロック分の波形データをＨＤＤ２１から読み出させて記憶させ、対応するバッファレジスタのＤｅｓｔ，Ｔａｒ，Ｍｕｔｅの各レジスタに、適切な値を設定する。
【００６３】
なお、再生開始位置がソングの開始位置と異なる場合には、最初のブロックについては、シーケンスデータに基づいて定めるＤｅｓｔレジスタの値とは異なる位置から再生を開始するべき場合もある。そこで、最初のブロック中での再生開始位置を示す値を各トラックのカレント位置レジスタに設定し、最初のブロックの再生には、Ｄｅｓｔレジスタの値に代えてこのカレント位置レジスタの値を使用するようにする。また、ブロックの切れ目はトラック毎に異なってよいため、特定の再生開始位置と対応するカレント位置レジスタの値は、トラック毎に異なってよい。
【００６４】
また、無音区間のブロックの場合は、波形データとしてどのような値が記憶されていても、結局はミュート回路３２により無音を示すデータをミキサ部１８に出力することになるので、ＨＤＤ２１からの波形データの読み出し及びバッファ領域への書き込みを行う必要はない。さらに言えば、バッファ領域自体を割り当てることも必須ではなく、バッファレジスタのＤｅｓｔ，Ｔａｒ，Ｍｕｔｅの各レジスタの値に適切な値を設定しさえすればよい。そしてこのことにより、Ｔａｒレジスタの値からＤｅｓｔレジスタの値を引いた数のサンプル数分の期間の無音再生を指示することができる。すなわち、バッファ領域のサイズとは無関係に、レジスタの容量（桁数）に応じて指定可能な範囲内の期間の無音再生を指示することができる。
【００６５】
ここでは、バッファ領域とバッファレジスタとを対応させて設けているため、いずれか一方をトラックに割り当てた場合には他方も同時に割り当てることになる。しかし実際には、上記のように、バッファ領域を割り当てる必要がない場合もあるため、以後の説明においては、各トラックへはバッファレジスタを割り当て、それに伴って対応するバッファ領域の割り当ても行われるものとして説明を行う。
【００６６】
なお、ＣＰＵ１４は、各トラックについて上記のような再生開始準備を行う場合、各トラックと対応するバッファナンバＦＩＦＯに、割り当てたバッファレジスタの番号を、再生に使用する順番で記憶させるようにしている。
そしてその後、ユーザが操作子１３のプレイボタンを押下する等して再生開始を指示すると、ＣＰＵ１４は再生を行うトラックの開始／終了フラグに１を書き込み、転送開始のトリガをかける。すると、そのトラックではバッファナンバＦＩＦＯから最初のバッファレジスタの番号が読み出されてバッファナンバレジスタに設定され、その番号のバッファレジスタをそのトラックの再生に使用する旨が設定される。
そして、各トラックの録再カウンタ３５は、再生に使用するバッファレジスタ中のＤｅｓｔレジスタの値からカウントを開始し、そのカウント値を読み出しアドレスとしてマルチプレクサ３１に出力する。そして、前述したようにバッファメモリ３０への書き込みとバッファメモリ３０からの読み出しは並行して行うので、マルチプレクサ３１はこのタイミングを調整する。
【００６７】
そしてマルチプレクサ３１がタイミングを計ってそのアドレスをバッファメモリ３０に出力すると、そのアドレスから１サンプルの波形データが読み出され、ミュート回路３２を通してミキサ１８に転送される。ここでは、マルチプレクサ３１が読出手段として機能する。
このとき、再生に使用するバッファレジスタ中のＭｕｔｅフラグが「１」であれば、すなわち再生中のブロックが無音区間のブロックであれば、録再カウンタ３５がミュート回路３２にミュートを指示する。そしてこの場合、ミュート回路３２は、波形データをミュートし、無音状態を示すデータに変更してからミキサ１８に対して出力する。このミュートは、例えばミュート回路３２をアンドゲートによって構成し、入力端子の一方に波形データを入力するようにし、ミュート指示を行う場合には入力端子のもう一方に０を入力するようにして行うことができる。
【００６８】
１サンプルの読み出しが完了し、次のサンプリング周期になると、録再カウンタ３５はカウント値をカウントアップし、次の読み出しアドレスとしてマルチプレクサ３１に出力する。一方、録再カウンタ３５のカウント値は比較回路３６に入力され、比較回路３６はこの値を再生に使用するバッファレジスタ中のＴａｒレジスタの値と比較する。
このような手順でサンプリング周期毎にバッファメモリ３０から１サンプルずつ波形データを読み出してミキサ１８に転送し、録再カウンタ３５がＴａｒレジスタの値までカウントアップすると、比較回路３６での比較が一致する。この時点で、有音区間の場合には、最初に割り当てられたバッファ領域の終わりまで読み出しが終了したことになるので、比較回路３６は、そのトラックのバッファナンバＦＩＦＯから次のバッファレジスタの番号を読み出してバッファナンバレジスタに入力し、次にその番号のバッファレジスタを再生に使用させるとともに、ＣＰＵ１４の処理に割り込みを発生させ、その旨を伝達する。
【００６９】
またこのとき、該当するトラックの次のサンプリング周期までに、次に使用するバッファレジスタ中のＤｅｓｔレジスタの値を、そのトラックの録再カウンタ３５に設定する。また、もしＦＩＦＯに次のバッファレジスタの番号が登録されていなければ、そのトラックをミュートするようにする。
無音区間の場合には、バッファ領域とは必ずしも関係ないが、ブロックの末尾まで再生が終了したことになるので、同様に割り込みを発生させる。
【００７０】
また、ＣＰＵ１４は、上記の割り込みを認識すると、割り込みが発生したトラックの再生に使用していたバッファレジスタの割り当てを解消する。
割り当てを解消したバッファレジスタは、改めていずれかのトラックに割り当て、そのトラックにおいてバッファレジスタへのパラメータの設定や波形データのバッファ領域への書き込みが完了しているブロックの次のブロックの再生に使用させるようにする。そして、そのブロックが有音であれば、そのブロックの波形データを、ＨＤＤ２１から読み出して割り当てたバッファレジスタと対応するバッファ領域に書き込む指示を行う。また、そのブロックの有音／無音及び、有音の場合にはブロック中の再生すべき部分、無音の場合にはブロックの長さに応じて、Ｄｅｓｔ，Ｔａｒ，Ｍｕｔｅの各レジスタの内容を更新すると共に、バッファレジスタを割り当てたトラックのバッファナンバＦＩＦＯに、その割り当てたバッファレジスタの番号を登録する。
以上の割り当てに関する処理は、割り当てを解消したバッファレジスタの内容や、そのバッファレジスタと対応するバッファ領域に記憶されている波形データの内容とは無関係に行うものである。
【００７１】
以後このような処理を繰り返すことにより、再生する各トラックの波形データを、予めＨＤＤ２１から読み出してバッファメモリ３０に記憶させた上で、再生に必要なタイミングでミキサ１８に転送することができ、各トラックの波形データを連続的に再生することができる。
【００７２】
以上のうち、ＨＤＤ２１からバッファメモリ３０への波形データの転送の処理においては、ＣＰＵ１４とマルチプレクサ３１と転送カウンタ３３とが再生準備手段として機能する。また、バッファメモリ３０からミキサ１８への波形データの転送の処理においては、ＣＰＵ１４とマルチプレクサ３１とミュート回路３２と録再カウンタ３５とが再生手段として機能する。
なお、波形データの再生中にユーザから再生中止の指示があると、ＣＰＵ１４は開始／終了フラグに１を書き込み、その時点で録再カウンタ３５のカウントアップ動作が停止される。
【００７３】
次に、図７乃至図１１のフローチャートを用いて、複数トラックの同時再生を行う場合の、データ転送ユニット１０９における上述したバッファレジスタ及びバッファ領域の割り当てや、ＨＤＤ２１からのバッファメモリ３０への波形データの読み出しの制御のための処理について説明する。これらのフローチャートに示す処理は、全てＣＰＵ１４が所要の制御プログラムを実行することにより行うものである。
【００７４】
まず、図７に、ユーザによるソングの再生開始位置の指定があった場合の処理のフローチャートを示す。
ＣＰＵ１４は、ユーザが再生すべきソング及び再生開始位置を指定すると、図７のフローチャートに示す処理を開始し、ユーザの再生指示に応じてすぐにソングの再生を開始できるよう、再生準備を行う。なお、再生準備の完了後、あるいは準備中であっても、再生を開始する前であれば、再生開始位置が変更された場合には、それまでの準備内容を無効にし、再度図７のフローチャートに示す処理を開始する。
【００７５】
そして、この処理においてはまず、バッファレジスタ群３８の全バッファレジスタを割り当て状態から開放して新たに割り当てを行うことができるようにする（Ｓ１１）と共に、指定されたソング中で再生するトラック及び再生開始位置の指定を検出する（Ｓ１２）。なお、この指定は、操作子１３等により受け付けることができる。
そしてその後、再生する各トラックについて、指定された再生開始位置と対応するブロック及びそのブロック中での位置を特定する（Ｓ１３）と共に、再生する各トラックに、バッファレジスタを２つずつ割り当てる（Ｓ１４）。
【００７６】
その後、再生する各トラックについて、再生開始位置を含むブロックとその次のブロックについて、有音区間であれば、そのブロックに係る１クラスタ分の波形データをＨＤＤ２１から読み出し、そのトラックに割り当てたバッファレジスタと対応するバッファ領域に記憶させる（Ｓ１５）。このとき、再生開始位置を含むブロックの波形データは最初に割り当てた方、次のブロックの波形データは２番目に割り当てた方のバッファレジスタと対応するバッファ領域に記憶させる。
【００７７】
そして、再生するソングのシーケンスデータに基づき、再生する各トラックに割り当てたバッファレジスタ中のＤｅｓｔ，Ｔａｒ，Ｍｕｔｅの各レジスタの値を設定する（Ｓ１６）と共に、そのバッファレジスタの番号を、割り当て先のトラックと対応するバッファナンバＦＩＦＯに、割り当て順に登録する（Ｓ１７）。そしてさらに、再生開始位置に応じて、再生する各トラックのカレント位置レジスタの値を設定する（Ｓ１８）。
【００７８】
以上により、少なくとも再生する各トラックについて、最初の２ブロック分の再生に使用するデータはバッファメモリ３０及び各レジスタに準備される。
そこで、次に、残っているバッファレジスタも各トラックに割り当て、さらに再生準備を進めるべく、図８に示す転送制御処理に進む（Ｓ１９）。なお、転送制御処理からこの図７の処理に戻ってくる必要はなく、そのまま処理を終了してしまってよい。
以上の処理において、ステップＳ１５乃至Ｓ１８の処理は、一応再生準備に係る処理であり、ＣＰＵ１４が再生準備手段として機能するが、最初の部分の特殊な処理であり、順番の制御は、以下の処理の場合とは異なる。
【００７９】
次に、図８に、上述の転送制御処理のフローチャートを示す。この処理は、後述のように、図７のステップＳ１９以外でも随時呼び出されるものであるが、終了後に元の処理に戻る必要はない。
そして、この転送制御処理においては、ＣＰＵ１４は、まずトラックに割り当てられていない空きのバッファレジスタがあるか否か判断する（Ｓ２１）。どのバッファレジスタが割り当て済みかは、ＣＰＵ１４が図示しないフラグ等により管理しておくようにするとよい。
【００８０】
そして、空きのものがなければそのまま処理を終了するが、あれば、ＦＵＬＬフラグが「０」かつ再生を行うトラックのうち、波形データをバッファメモリ３０に読み出し済み又は無音読出設定済みの部分、すなわち既に再生準備が完了している部分の再生終了予定時刻が最も早いトラックを検出する（Ｓ２２）。
ここで、ＦＵＬＬフラグは、対応するトラックのバッファナンバＦＩＦＯに、容量一杯までバッファレジスタの番号が登録されている場合、すなわち、対応するトラックに所定の限度数までバッファレジスタが割り当てられている場合に「１」とし、それ以外の場合に「０」とするフラグである。このフラグは、図６には示していないが、ＣＰＵ１４が別途管理するものである。
【００８１】
そして、ステップＳ２２の後、ここで検出したトラックの再生終了時刻が現在時刻より所定時間以上後であれば（Ｓ２３）、次のブロックのデータが必要になるまで十分に時間的余裕があり、ここで更なる再生準備を行う必要はないと考えられるため、そのまま処理を終了する。
【００８２】
一方、所定時間以上の余裕がなければ、ステップＳ２２で検出したトラックに、空きのバッファレジスタのいずれかを割り当てる（Ｓ２４）。どのバッファレジスタを割り当てるかは、適宜定めればよく、ランダムな順番でよい。その後、シーケンスデータに基づいて、割り当て先のトラックの次のブロックが無音区間であるか否か判断し（Ｓ２５）、無音区間であれば、割り当てたバッファレジスタ中のＭｕｔｅレジスタに無音区間を示す「１」を設定する（Ｓ２６）。また、割り当てたバッファレジスタ中のＤｅｓｔレジスタとＴａｒレジスタに、次のブロックの長さを示す値を設定する（Ｓ２７）。
【００８３】
そしてその後、そのバッファレジスタの番号を割り当て先のトラックのバッファナンバＦＩＦＯに登録する（Ｓ２８）。このとき、登録したＦＩＦＯに空き領域がなくなった場合に、割当先トラックのＦＵＬＬフラグを「１」に設定する（Ｓ２９，Ｓ３０）。その後、ステップＳ２１に戻って処理を繰り返す。
【００８４】
一方、ステップＳ２５で次のブロックが有音区間であった場合には、データ転送ユニット１９及びＩＤＥＩ／Ｆ２０に対し、割り当て先トラックの次のブロックの波形データをＨＤＤ２１から読み出し、ステップＳ２４で割り当てたバッファレジスタと対応するバッファ領域に書き込む指示を行う（Ｓ３１）。そしてこの場合、処理を一旦ここで終了し、書き込み終了の割り込みがあった場合に続きの処理を行う。
【００８５】
以上の処理を行うことにより、空きのバッファレジスタを、次のブロックの再生準備を行うための猶予時間が短いトラックに優先的に割り当て、そのトラックの再生準備を行うことができる。
また、以上の処理において、ステップＳ２２の処理がバッファレジスタの割り当て先を決定する処理であり、この処理においてはＣＰＵ１４が順番制御手段として機能する。また、ステップＳ２４乃至Ｓ２８及びＳ３１の処理においては、ＣＰＵ１４が再生準備手段として機能する。そして、ステップＳ２６乃至Ｓ２８の処理が、無音読出設定の処理である。
【００８６】
なお、ステップＳ２２の判断でＦＵＬＬフラグの内容を用いること、またＦＵＬＬフラグを設けること自体も必須ではない。このようなフラグを設けると、１つのトラックに過剰な数のバッファレジスタが割り当てられ、他のトラックに割り当てる数が減ってしまうような事態が防止できるし、バッファナンバＦＩＦＯの容量を一定量に抑えることができるが、バッファナンバＦＩＦＯに、想定される最大割り当て数分のバッファレジスタの番号を記憶できるだけの容量を設けておけば、動作上は特に問題ない。
また、再生終了予定時刻についても、必ずしも最も遅いトラックに限らず、割り当て済みのバッファレジスタ数等、他の条件も加味して判断するようにしてもよい。
【００８７】
次に、図９に、１ブロック分の波形データのＨＤＤ２１からバッファメモリ３０への転送終了を示す割り込みがあった場合の処理のフローチャートを示す。この割り込みは、図６に示した比較回路３４が発生させるものである。
ＣＰＵ１４は、比較回路３４が割り込みを発生させると、図９のフローチャートに示す処理を開始し、まず、データ転送が終了したバッファ領域と対応するバッファレジスタ中のＭｕｔｅレジスタに、有音区間を示す「０」を設定する（Ｓ４１）。また、そのバッファレジスタ中のＤｅｓｔレジスタとＴａｒレジスタの値を、シーケンスデータに基づき、ソングの再生時に再生すべき区間を示す値に設定する（Ｓ４２）。このとき、再生開始位置の情報は考慮しなくてよい。
【００８８】
そしてその後、そのバッファレジスタの番号を割り当て先のトラックのバッファナンバＦＩＦＯに登録する（Ｓ４３）。このとき、登録したＦＩＦＯに空き領域がなくなった場合に、割当先トラックのＦＵＬＬフラグを「１」に設定する（Ｓ４４，Ｓ４５）。
その後、ステップＳ４６で再度図８に示した転送制御処理を起動し、他のバッファレジスタに関する再生準備を試みる。
【００８９】
以上の処理により、対応するバッファ領域への波形データの書き込みが終了したバッファレジスタについて、各レジスタに必要な情報を設定して再生処理に使用できる状態にすることができる。また、以上の処理において、ステップＳ４１乃至Ｓ４３の処理が、有音読出設定の処理に該当し、これらの処理においてもＣＰＵ１４が再生準備手段として機能する。
なお、図７に示した処理の範囲で生じる転送終了の割り込みについては、これに応じて行うステップＳ４１乃至Ｓ４３の処理は、図７の処理に含めて記載している。また、図７の時点ではまだ、ステップＳ４４乃至Ｓ４６の処理を行う必要はない。
【００９０】
次に、図１０に、ユーザからの再生開始指示があった場合の処理のフローチャートを示す。
ＣＰＵ１４は、操作子１３の操作等により再生開始の指示を受け付けると、図１０のフローチャートに示す処理を開始する。そして、再生する各トラックについて２ブロック分の再生準備が完了していれば（Ｓ５１）、再生する各トラックの開始／終了レジスタに「１」を書き込んで再生開始を指示し（Ｓ５２）、処理を終了する。また、ステップＳ５１で完了していなければ、２ブロック分の再生準備が完了するまで待機してから（Ｓ５３）、再生開始の指示を行う。その後の再生処理は、図６を用いて説明した手順により、別途制御する。
【００９１】
このように、少なくとも２ブロック分の再生準備が完了してから再生を開始すれば、通常は、そのブロックに係る再生中に以後のブロックの再生準備のための時間を確保できるので、全てのバッファレジスタがいずれかのトラックに割り当てられ、必要なデータがバッファメモリ３０に読み出されるまで待つ必要はない。
【００９２】
次に、図１１に、１ブロック分の再生終了を示す割り込みがあった場合の処理のフローチャートを示す。この割り込みは、図６に示した比較回路３６が発生させるものである。
ＣＰＵ１４は、いずれかのトラックと対応する比較回路３６が割り込みを発生させると、図１１のフローチャートに示す処理を開始し、まず、割り込みを発生させた比較回路３６と対応するトラックで再生に使用中のバッファレジスタの番号を取得して（Ｓ６１）、その番号のバッファレジスタを空きバッファレジスタとして登録する（Ｓ６２）。
このことにより、再生の終了したブロックと対応するバッファレジスタを解放して他のトラックに割り当てられるようにすることができる。
【００９３】
そしてその後、そのトラックのＦＵＬＬフラグを０に設定する（Ｓ６３）。上述のように、１ブロック分の再生終了割り込みが発生した場合には、データ転送ユニット１９のハードウェアの機能により、該当トラックのバッファナンバＦＩＦＯから次のバッファレジスタの番号を読み出してバッファナンバレジスタに設定するようにしているので、この処理により、そのトラックのバッファナンバＦＩＦＯには必ず空きができるためである。
【００９４】
そして、ＨＤＤ２１からの波形データの読み出しを実行中であれば（Ｓ６４）、そのまま処理を終了するが、実行中でなければ、図８に示した転送制御処理を起動する（Ｓ６５）。ここまでの処理で、少なくとも１つはバッファレジスタに空きができているので、それを新たにいずれかのトラックに割り当て、次のブロックについて再生準備を行うためである。ステップＳ６４でＹＥＳの場合には、次の転送制御処理は図９のステップＳ４６で起動されることになる。
以上の処理により、再生の終了したブロックと対応するバッファレジスタを解放し、他のブロックの再生準備に使用できる状態とすることができる。そして、ステップＳ６１及びＳ６２の処理において、ＣＰＵ１４が解放手段として機能する。
【００９５】
次に、図１２を用いて、以上の図７乃至図１１に示した処理による、バッファレジスタ及びバッファ領域の割り当て例について説明する。この図には、具体例として、図の上側に示したトラックＡとトラックＢを再生するために、６つ用意したバッファレジスタを各トラックに割り当てる場合の例を示している。そして、各トラックについて、枠を示した部分が有音区間、線で示した部分が無音区間である。図中の数字は、ブロック番号を示す。また、ａの矢印で示す位置が、再生開始位置である。
【００９６】
また、（ａ）から（ｊ）で示すのは、図の上側のトラックにおいて、再生が対応するアルファベットを付した矢印の位置まで進んだ時点でのバッファレジスタの各トラックへの割り当て状態である。また、枠１つがバッファレジスタ１つを示し、その内部の数字は、各バッファレジスタにどのブロックと対応するデータを設定するかを示すものである。この数字は同時に、対応するバッファ領域にどのブロックの波形データを記憶させるかを示すものである。無音区間については、「（ｍｕｔｅ）」で示しており、この部分は対応するバッファ領域に波形データを記憶させる必要はない。
なお、何番のバッファレジスタをどのトラックに割り当てるかということはあまり重要ではないので、この図には示していない。
【００９７】
この図に示す例において、ユーザがａの矢印で示す再生開始位置を指定すると、ＣＰＵ１４は、図７に示した処理を行い、（ａ）に実線で示すように、まずトラックＡとトラックＢにそれぞれ２つずつバッファレジスタを割り当て、最初の２ブロックは双方のトラックで有音区間であるから、これらの部分の波形データを対応するバッファ領域に記憶させる。このとき、先頭ブロックにおいて再生開始位置と対応する位置を、カレント位置レジスタにより示すが、この位置は、（ａ）に矢印で示す位置となる。
また、各トラックに２つずつ割り当てた後で、あと２つのバッファレジスタが残るため、再生準備が完了している部分の再生終了予定時刻が早いほうから順に１つずつ割り当てると、トラックＡとトラックＢの双方に１つずつ割り当て、それぞれブロック１１３とブロック１２３のデータを記憶させることになる。
【００９８】
その後、ユーザが再生開始を指示し、再生がｂの位置まで進むと、ブロック１１１の再生が終了するため、ＣＰＵは、図１１に示した処理を行い、（ｂ）に破線とバツ印で示すように、対応するバッファレジスタを解放する。その後、図８に示した処理によりそのバッファレジスタの割り当てを行うが、その時点で再生準備が完了している部分（トラックＡはブロック１１３まで、トラックＢはブロック１２３まで）の再生終了予定時刻を比べると、トラックＡの方が早いため、こちらに割り当てる。そして、破線で示すように、次のブロック１１４の波形データを、ＨＤＤ２１から読み出して対応するバッファ領域に記憶させる。また、この読み出し中も、継続して続きの再生処理を行う。
以後、ｃ→ｄ→ｅと再生が進むにつれ、それぞれ図に示すような割り当て解除と再割り当てが発生する。この部分までは、トラックＡとトラックＢに均等にバッファレジスタが割り当てられる。
【００９９】
しかし、ｆの時点では、その時点で再生準備が完了している部分（トラックＡはブロック１１５まで、トラックＢはブロック１２５まで）の再生終了予定時刻を比べると、再生が終了したブロック１１３の属するトラックＡではなく、トラックＢの方が早い。従って、ブロック１１３の再生に使用していたバッファレジスタは、トラックＢに割り当てられ、次のブロック１２６のデータを記憶させることになる。
図からわかるように、この部分ではトラックＢの方が１ブロック当たりの時間が短いが、トラックＢに優先的にバッファレジスタ（及び対応するバッファ領域）を割り当てて、再生準備のための時間を十分に確保することができる。
【０１００】
そして、次のｇの時点でも、バッファレジスタはトラックＢに割り当てられることになるが、ｈの時点では、ブロック１２７よりもブロック１１５の再生終了予定時刻が早いため、バッファレジスタはトラックＡに割り当てられる。
さらに、次のｉの時点でも、バッファレジスタはトラックＡに割り当てられ、再度トラックＡとトラックＢに均等にバッファレジスタが割り当てられる状態になる。
【０１０１】
マルチトラックレコーダ１においては、ＣＰＵ１４が以上説明してきたような処理を行うことにより、バッファレジスタ（及びバッファ領域）を、再生及び録音しようとしているトラックに動的に割り当て、限られた数のバッファ領域を有効に活用して波形データの再生及び録音を行うことができる。
特に、再生の場合には、１ブロック当たりの再生時間が極めて短い部分が存在する場合があるが、再生準備が完了している部分の再生終了予定時刻に基づいてバッファレジスタの割り当てを定めるようにすれば、このような部分のあるトラックにバッファレジスタを集中的に割り当てることができる。従って、再生準備済みのブロックの再生が終了するまでに、次のブロックの再生準備が間に合わないような事態を効果的に防止でき、安定した再生を行うことができる。
【０１０２】
また、再生を行うトラックの指定を受け付け、実際に再生を行うトラックのみにバッファレジスタの割り当てを行うようにすれば、１トラック当たりに割り当て可能なバッファレジスタの数を増やすことができ、より一層安定した再生を行うことができる。このような柔軟な対応が可能であるのも、バッファレジスタの割り当てを動的に行うようにしたためである。
また、無音区間については、波形データの読み出しを行わなくてよいので、バッファレジスタに、波形データの記録単位と対応する時間より長い時間の再生を設定できるようにすれば、少ない数のバッファレジスタを用いて長い時間の再生を準備することができ、バッファレジスタの数（対応してバッファ領域を設けるのであればその数も）を節約することができる。また、割り当て処理の回数も減るため、そのためのＣＰＵの負荷も低減することができる。
【０１０３】
以上で実施形態の説明を終了するが、装置の構成、具体的な処理内容やデータの形式等が上述の各実施形態で説明したものに限られないことはもちろんである。
例えば、バッファレジスタとバッファ領域は、必ずしも対応して設ける必要はなく、これらの割り当てを独立して行うことができるようにしてもよい。この場合、１ブロックの再生を準備するために、トラックに対して１つのバッファレジスタと１つのバッファ領域とを割り当てることになる。そして、バッファレジスタに、使用するバッファ領域の番号を記憶させる等して対応関係を把握できるようにするとよい。
【０１０４】
また、このような独立の割り当てを可能にした場合、再生するブロックが無音区間である場合にはバッファ領域を全く割り当てなくてよい。従って、バッファレジスタをバッファ領域の数より多く用意し、実際よりも多くのバッファ領域が存在するかのような割り当て制御を行うようにすることも考えられる。
また、バッファレジスタをバッファ領域と対応させて設け、さらにそれに加えて対応するバッファ領域のないバッファレジスタも設け、前者を有音区間の再生に、後者を無音区間の再生に使用するように、トラックへの割り当てを行えば、バッファレジスタとバッファ領域の対応関係を静的なものにして、対応関係を別途管理する必要をなくしつつ、実際よりも多くのバッファ領域が存在するかのような割り当て制御を行うことも考えられる。この場合において、有音区間用のバッファレジスタを無音区間用として流用してもよい。
【０１０５】
また、上述した割り当て処理においては、録音を行うトラックにおいて使用するバッファレジスタやバッファ領域を考慮していなかったが、いつでも録音を開始できるよう、再生と同時に使用可能な各録音用トラックについて２つずつは、割り当てを行わずに常に確保しておくようにしてもよい。
また、録音を行うトラックについては、常に２つのバッファレジスタ（及び対応するバッファ領域）を割り当てておけばよいので、録音トラックに対する割り当ては固定で行うようにしてもよい。
また、各再生トラックについて、再生中に再生準備が完了しているブロックが１つだけにならないよう監視を行い、万一１つだけになってしまうトラックがあった場合に、そのトラックに対して優先的にバッファレジスタを割り当てるようにするとよい。
【０１０６】
また、ここではこの発明をＨＤＤを用いたマルチトラックレコーダに適用した例について説明したが、この発明は波形データを再生する際の制御手段に特徴を有するので、録音機能は必須ではない。また、波形データの記録についても、ＨＤＤに限らず、光ディスクや光磁気ディスクを用いてもよいことは言うまでもない。これらの記憶手段も、装置に内蔵したものであっても、ＳＣＳＩ（Small Computer System Interface）等によるインタフェースを介して接続して外部に設けたものでもよい。
これ以外にも、この発明の要旨を逸脱しない範囲で種々の変更を行うことができることも、いうまでもない。また、各変形の内容を、矛盾しない範囲で組み合わせて適用できることも、もちろんである。
【産業上の利用可能性】
【０１０７】
以上の説明から明らかなように、この発明のマルチトラック再生装置によれば、記憶手段に記憶されている波形データを複数トラック分読み出して再生する場合において、必要なバッファの容量を比較的小さくしながら、波形データの再生を安定して行えるようにすることことができる。
従って、再生時の安定性が高いマルチトラック再生装置を提供することができる。
【図面の簡単な説明】
【０１０８】
【図１】この発明のマルチトラック再生装置の実施形態であるマルチトラックレコーダの概略構成を示すブロック図である。
【図２】図１に示したバッファメモリにおける記憶領域の構成を示す図である。
【図３】図１に示したマルチトラックレコーダのＨＤＤのアドレス領域におけるデータの配置を示す図である。
【図４】同じくソングデータの構成を示す図である。
【図５】同じく複数のリージョンを含むトラックのデータ構成の例を示す図である。
【０１０９】
【図６】図１に示したデータ転送ユニットの構成をより詳しく示す図である。
【図７】図１に示したマルチトラックレコーダのＣＰＵが実行する、ユーザによるソングの再生開始位置の指定があった場合の処理のフローチャートである。
【図８】同じく転送制御処理のフローチャートである。
【図９】同じく１ブロック分の波形データのＨＤＤからバッファメモリへの転送終了を示す割り込みがあった場合の処理のフローチャートである。
【図１０】同じくユーザからの再生開始指示があった場合の処理のフローチャートである。
【図１１】同じく１ブロック分の再生終了を示す割り込みがあった場合の処理のフローチャートである。
【図１２】図７乃至図１１に示した処理による、バッファレジスタ及びバッファ領域の割り当て例について説明するための図である。
【符号の説明】
【０１１０】
１…マルチトラックレコーダ、１１…表示器、１２…フェーダ、１３…操作子、１４…ＣＰＵ、１５…フラッシュメモリ、１６…ＲＡＭ、１７…ＰＣＩ／Ｆ、１８…ミキサ、１９…データ転送ユニット、２０…ＩＤＥＩ／Ｆ、２１…ＨＤＤ、２２…ＣＤ−ＲＷドライブ、２３…システムバス、３０…バッファメモリ、３１…マルチプレクサ、３２…ミュート回路、３３…転送カウンタ、３４，３６…比較回路、３５…録再カウンタ、３７…レジスタ群、３８…バッファレジスタ群、３９…トラックレジスタ群、４１…波形データ入力端子、４２…波形データ出力端子、５１…システム管理データ用アドレス領域、５２…共用アドレス領域、５３…波形データ領域、５４…ソング管理データ領域
【図１】
2006277829.tif 000003
【図２】
2006277829.tif 000004
【図３】
2006277829.tif 000005
【図４】
2006277829.tif 000006
【図５】
2006277829.tif 000007
【図６】
2006277829.tif 000008
【図７】
2006277829.tif 000009
【図８】
2006277829.tif 000010
【図９】
2006277829.tif 000011
【図１０】
2006277829.tif 000012
【図１１】
2006277829.tif 000013
【図１２】
2006277829.tif 000014