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