JP3714087B2 - Sample data reproducing apparatus and sample data recording / reproducing apparatus - Google Patents
Sample data reproducing apparatus and sample data recording / reproducing apparatus Download PDFInfo
- Publication number
- JP3714087B2 JP3714087B2 JP2000024637A JP2000024637A JP3714087B2 JP 3714087 B2 JP3714087 B2 JP 3714087B2 JP 2000024637 A JP2000024637 A JP 2000024637A JP 2000024637 A JP2000024637 A JP 2000024637A JP 3714087 B2 JP3714087 B2 JP 3714087B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- sample data
- data
- read
- buffer memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、外部記憶装置に記録されたサンプルデータ(適宜のサンプリング周波数でサンプリングされたデータをいう。)を再生する装置および記録再生する装置に関し、サンプルデータの効率よい読み出しを可能にしたものである。
【0002】
【従来の技術】
ハードディスク装置(以下「HDD」)を外部記憶装置として用いたディジタルミキシングレコーダ(ハードディスクレコーダ)においては、音データを所定単位区間ごと(例えば1クラスタ分のデータごと)に適宜のアドレスに分散して記録しており、再生時には、別途記録されている管理データに含まれる、音データの記録位置の連鎖情報に基づき、該記録位置に順次アクセスして一連の音データを取得し、該取得した音データをバッファメモリに順次格納し、サンプリング周期ごとに該バッファメモリからサンプルデータを1サンプルずつ順次読み出すことにより再生を行う。
【0003】
【発明が解決しようとする課題】
従来のハードディスクレコーダは、パンチイン、パンチアウト等を行うために、操作者が任意の区間を指定してリピート再生(指定した区間を自動的に繰り返し再生する動作)を行う場合には、該指定された区間に含まれる各単位区間の音データが記録されているHDD上の記録位置に順次繰り返しアクセスして該各単位区間の音データを繰り返し取得する必要があるが、リピート区間として例えば図2に示すように、ある単位区間1の終了間近の時刻から別の単位区間5の開始直後の時刻までの区間が指定された場合には、単位区間4の再生を終了してから単位区間5の開始部分および単位区間1の終了部分の共に短い部分を再生して単位区間2に移行するまでの短い時間内に単位区間5,1,2に順次アクセスする必要があり、アクセスが間に合わず曲の途中で再生音が途切れることがあった。特にトラック数が多い場合にはその発生の可能性が高かった。曲の途中で再生音が途切れるのを防ぐには、単位区間5の再生を終了後充分待ってから(単位区間1,2の音データがバッファメモリに格納されてから)単位区間1の再生を開始するように時間調整する必要があり、トラック数が多い場合には待ち時間が長くかかっていた。
この発明は、上述の点に鑑みてなされたもので、サンプルデータの効率よい読み出しを可能にしたサンプルデータ再生装置およびサンプルデータ記録再生装置を提供しようとするものである。
【0007】
【課題を解決するための手段】
この発明のサンプルデータ再生装置は、外部記憶装置に記憶されているサンプルデータを所定の単位区間ずつ順次読み出してバッファメモリに書き込み、サンプリング周期ごとに該バッファメモリから該サンプルデータを1サンプルずつ読み出して再生し、該バッファメモリの読み出しを終了したサンプルデータを前記外部記憶装置から読み出される新たなサンプルデータで前記単位区間ずつ順次更新して、サンプルデータを連続的に再生するサンプルデータ再生装置において、複数の単位区間に跨る任意の区間のサンプルデータを繰り返し再生する場合に、予め少なくとも繰り返し区間の先頭部分が含まれる単位区間と該繰り返し区間の後尾部分が含まれる単位区間の各サンプルデータを前記外部記憶装置から読み出して前記バッファメモリの所定領域に格納し、再生中にその中間部分の単位区間のサンプルデータを前記外部記憶装置から順次読み出して前記バッファメモリの別の領域に順次更新して格納し、該バッファメモリからサンプルデータを1サンプルずつ読み出している最中の適宜の時点で、該繰り返し区間を連続してかつ繰り返し再生するために必要なアドレスジャンプのジャンプ元アドレスとジャンプ先アドレスを順次設定し、該バッファメモリの読み出しアドレスが該設定されたジャンプ元アドレスに到達したことを検出して、読み出しアドレスを前記ジャンプ先アドレスにジャンプして、該ジャンプ先アドレスからサンプルデータの読み出しを続行するバッファメモリ制御回路を具備してなるものである。これによれば、予め少なくとも繰り返し区間の先頭部分が含まれる単位区間と該繰り返し区間の後尾部分が含まれる単位区間の各サンプルデータを前記外部記憶装置から読み出してバッファメモリの所定領域に格納し、リピート再生中にその中間部分の単位区間のサンプルデータを前記外部記憶装置から順次読み出して再生するようにしたので、リピート再生中は少なくとも先頭部分が含まれる単位区間と後尾部分が含まれる単位区間を外部記憶装置から読み出さなくてすみ、先頭部分が含まれる単位区間の該先頭部分と、後尾部分が含まれる単位区間の該後尾部分が短い場合であっても、外部記憶装置のアクセスが間に合わなくことがなくなり、曲の途中で再生音が途切れるのを防止することができる。また、リピート区間の再生を終了してから該リピート区間の再生を再開するまでの待ち時間をなくしあるいは任意の短い時間に設定することができる。
【0008】
この発明のサンプルデータ記録再生装置は、外部記憶装置に記憶されているサンプルデータを所定の単位区間ずつ順次読み出してバッファメモリに書き込み、サンプリング周期ごとに該バッファメモリから該サンプルデータを1サンプルずつ読み出して再生し、該バッファメモリの読み出しを終了したサンプルデータを前記外部記憶装置から読み出される新たなサンプルデータで前記単位区間ずつ順次更新して、サンプルデータを連続的に再生し、該再生と並行して時分割で、別途入力されるサンプルデータをサンプリング周期ごとにバッファメモリに1サンプルずつ書き込み、該バッファメモリに書き込まれたサンプルデータを所定の単位区間ずつ該バッファメモリから読み出して前記外部記憶装置に書き込み、該バッファメモリの読み出しを終了したサンプルデータを新たに入力されるサンプルデータで順次更新して、サンプルデータを連続的に記録するサンプルデータ記録再生装置において、複数の単位区間に跨る任意の区間のサンプルデータを繰り返し再生しながら、該繰り返し区間内の適宜指示された区間で、別途入力されるサンプルデータを記録する場合に、予め少なくとも繰り返し区間の先頭部分が含まれる単位区間と該繰り返し区間の後尾部分が含まれる単位区間の各サンプルデータを前記外部記憶装置から読み出して前記バッファメモリの所定領域に格納し、再生中にその中間部分の単位区間のサンプルデータを前記外部記憶装置から順次読み出して前記バッファメモリの別の領域に順次更新して格納し、該バッファメモリからサンプルデータを1サンプルずつ読み出している最中の適宜の時点で、該繰り返し区間を連続してかつ繰り返し再生するために必要なアドレスジャンプのジャンプ元アドレスとジャンプ先アドレスを順次設定し、該バッファメモリの読み出しアドレスが該設定されたジャンプ元アドレスに到達したことを検出して、読み出しアドレスを前記ジャンプ先アドレスにジャンプして、該ジャンプ先アドレスからサンプルデータの読み出しを続行し、該再生中に前記記録を指示された区間で該再生動作と時分割で、別途入力されるサンプルデータをサンプリング周期ごとにバッファメモリに1サンプルずつ書き込み、該バッファメモリに書き込まれたサンプルデータを所定の単位区間ずつ該バッファメモリから読み出して前記外部記憶装置に書き込み、該バッファメモリの読み出しを終了したサンプルデータを新たに入力されるサンプルデータで順次更新するバッファメモリ制御回路を具備してなるものである。これによれば、例えばリピート再生しながらパンチイン、パンチアウトをする際に、予め少なくとも繰り返し区間の先頭部分が含まれる単位区間と該繰り返し区間の後尾部分が含まれる単位区間の各サンプルデータを前記外部記憶装置から読み出してバッファメモリの所定領域に格納し、リピート再生中にその中間部分の単位区間のサンプルデータを前記外部記憶装置から順次読み出して再生するようにしたので、リピート再生中は少なくとも先頭部分が含まれる単位区間と後尾部分が含まれる単位区間を外部記憶装置から読み出さなくてすみ、先頭部分が含まれる単位区間の該先頭部分と、後尾部分が含まれる単位区間の該後尾部分が短い場合であっても、外部記憶装置のアクセスが間に合わなくことがなくなり、曲の途中で再生音が途切れるのを防止することができ、しかもリピート区間の再生を終了してから該リピート区間の再生を再開するまでの待ち時間をなくしあるいは任意の短い時間に設定することができ、パンチイン、パンチアウト作業を円滑に行うことができる。
【0009】
【発明の実施の形態】
この発明を、HDDを外部記憶装置として用いたディジタルミキシングレコーダ(ハードディスクレコーダ)に適用した場合の実施の形態を説明する。図3はハードディスクレコーダ全体の主要部のシステム構成を示す。このハードディスクレコーダ10は複数のチャンネル{個々のトラックの音データについて信号処理を行う信号経路(各チャンネルごとに物理的に分割された信号経路のみならず、各チャンネルの音データが時分割処理される物理的には共通の信号経路を含む)または該信号経路を流れる音データ自体をいう。}の信号経路を有し、複数トラックの同時録音(例えば、最大16トラック同時録音)もしくは複数トラックの同時再生(例えば最大16トラック同時再生)または複数トラックの同時録音および同時再生(例えば最大16トラック同時再生しながら最大8トラック同時録音)が可能に構成されている。各チャンネルの1サンプルの音データは、ミックスダウンした信号が24ビット(3バイト)で構成されている以外は、すべて16ビット(2バイト)で構成されている。
【0010】
ハードディスクレコーダ10は、メインCPU12、レコーダCPU14、サブCPU16の合計3個のワンチップCPU(マイコン){例えば日立製SH7042(シングルチップRISCマイコン)}を具えている。各CPU12,14,16は個別に用意された相互に非同期の動作クロックでそれぞれ独立に駆動される。メインCPU12は主にミキシング制御を行う。レコーダCPU14はメインCPU12からの指令に基づきHDD60の記録および再生制御、波形編集制御等を行う。サブCPU16は操作者による各種操作情報をメインCPU12に伝達する制御、メインCPU12からの指令に基づく各フェーダ操作子のモータ駆動制御等を行う。
【0011】
サブCPU16のバス18には、スイッチ、回転式つまみ、マウス、ジョグ、シャトル等で構成される各種操作子20と、サブCPU16のプログラムを格納したフラッシュROM22と、モータドライバインタフェース24等が接続されている。モータドライバインタフェース24には、モータドライバ28を介して複数本のモータドライブ式フェーダ操作子26が接続されている。各モータドライブ式フェーダ操作子26の操作位置情報はサブCPU16に伝達される。各種操作子20では、操作者の操作により、ミキシングパラメータ{ルーティング(各入力チャンネルをどの信号経路チャンネルを経由してどのトラックに録音するか、および各トラック再生信号をどの信号経路チャンネルを経由してどの出力チャンネルから出力するかの割り付け)、イコライザ特性、エフェクト特性、定位(PAN)等}の設定、録音/再生/停止/一時停止/スロー再生/早送り/巻戻し等のレコーダ機能の各種動作指示、ソング(録音、再生を行う曲の単位で、例えば1ソング=音楽の1曲)の選択、録音・再生モード/編集モード等の動作モードの切換え、波形編集等の操作が行われる。録音・再生モードには、各パートについて通常の録音、再生を行うモード{録音のみ(ALL REC)、再生のみ、再生と同時に録音(SYNC DUBBING)のいずれかを行うモード}のほか、パンチイン、パンチアウトを行うモード、ミックスダウンを行うモード等がある。各種操作子20の操作情報はサブCPU16に伝達され、信号ライン30を介してメインCPU12に伝達される。各フェーダ操作子26は操作者の操作により各入力チャンネルおよび各出力チャンネルごとのレベル調整、ステレオ出力のレベル調整等を行うもので、その操作情報はサブCPU16に伝達され、信号ライン30を介してメインCPU12に伝達される。また、録音・再生モードでは、各再生トラックのフェーダレベル調整に関して、ソングの進行に従ってメインCPU12から各フェーダ操作子26の操作位置指令が信号ライン30を介してサブCPU16に順次伝達され、モータドライバインタフェース24およびモータドライバ28を介して各フェーダ操作子26がそれぞれ指令された操作位置に自動的に移動制御される。これにより、録音時に設定された各フェーダ操作子26の操作位置が再現されて、各トラックの再生レベルが録音時に設定した状態に自動調整されて再生が行われる。
【0012】
メインCPU12のバス32には、メインCPU12のプログラムを格納したフラッシュROM34と、録音、再生、編集等を行うために現在指定しているソングについてのミキシング機能(ルーティング、イコライジング、エフェクト付与、フェーダレベル調整、定位調整等)に関するソング管理データとして、時間の進行に応じたこれら各パラメータの設定値に関するシーケンスデータを格納し、またメインCPU12の作業領域として機能するDRAM36と、ミキシング機能を実現するDSP38と、LCD制御回路41を介してLCD(液晶表示器)43と、インタフェース45を介してFL(蛍光)表示器47等が接続されている。LCD43には、動作モードに応じた情報が表示される。例えば、録音・再生モード時には、ルーティング、チャンネルのオン・オフ、バーチャルトラックの選択等をするための表示がなされ、波形編集モード時には、波形編集をする部分の波形がグラフィック表示される。FL表示器47には数値による時間情報(タイムコード)およびバーグラフによる各チャンネルの入力信号または再生信号のレベル等が表示される。なおバーチャルトラックとは、トラック(リアルトラック)についてそれぞれ割り当てられる仮想のトラックで、再生時あるいは同時録音再生時には、再生を行う各トラック(リアルトラック)について、それぞれ割り当てられた複数のバーチャルトラックの中から1つずつバーチャルトラックを選択して再生することができる。例えば、トラック数が16で、バーチャルトラック数が各トラックについてそれぞれ8であれば、合計128のバーチャルトラックを作成することができる。
【0013】
DSP38は、複数チャンネルのミキシング処理部を構成し、操作者による各種操作子20およびフェーダ操作子26の操作に基づき、あるいはDRAM36に格納されているミキシング機能に関するシーケンスデータに応じて、メインCPU12の指令により、録音入力および再生出力に対してルーティング、イコライジング、エフェクト付与、フェーダレベル調整、定位調整等のミキシング機能について、それぞれ指示された内容を実現するための処理(ミキシング処理)を実行する。
【0014】
アナログ入力端子40から入力される複数チャンネル(例えば最大16チャンネル)のアナログ音声信号(録音入力)は、ゲインコントロール(図示せず)で、A/D変換の際の適正な信号レベルにゲイン調整された後、A/D変換器42でディジタル信号に変換されてDSP38に入力されて、ミキシング処理が施される。また、ディジタル入力端子44から入力される複数チャンネル(例えば最大16チャンネル)のディジタル音声信号(録音入力)はインタフェース46を介してDSP38に入力されて、ミキシング処理が施される。ミキシング処理が施された録音入力は、後述するHDD60に録音される。また、HDD60から再生される複数チャンネル(例えば最大16チャンネル)のディジタル音声信号(再生出力)は、DSP38でミキシング処理されて、インタフェース52を介してディジタル出力端子54から出力される。また、該ディジタル音声信号をDSP38で2チャンネルステレオ信号にミキシングした信号は、D/A変換器48でアナログ信号に変換されて、アナログ出力端子50からモニタ用信号等として出力される。
【0015】
レコーダCPU14のバス56には、レコーダCPU14のプログラムを格納したフラッシュROM58と、DRAM62と、この発明の外部記憶装置に相当するHDD60と、この発明のバッファメモリに相当するSDRAM(シンクロナスDRAM)64,66に対する音データの書き込みおよび読み出し制御を行うDRAMコントローラ(以下「DRC」)68と、インタフェース70を介してCD−RW等の光ディスク装置72と、パラレルインタフェース74を介して現在の日時のデータを生成するリアルタイムクロック76等が接続されている。HDD60はIDE等のインタフェースでバス56に接続されている。光ディスク装置72はHDD60に録音したソングをCD−RディスクやCD−RWディスクにバックアップしたり、バージョンアップ用プログラムを格納したCD−ROM等を再生して、フラッシュROM22,34,58のプログラムを更新するのに利用される。
【0016】
HDD60のアドレス領域の分割例を図4に示す。HDD60のアドレス領域は、先頭から固定容量のシステム管理データ用アドレス領域84と、それに続く最後尾までの共用アドレス領域86に分割されている。共用アドレス領域86には、前方側の端部からチャンネルごとの音データがテイク(録音の単位で、1テイク=1回分の録音)順にディジタル信号で順次記録されて蓄積されて音データ領域86−0が順次拡大して形成され、後方側の端部から各ソングのソング管理データが順次記録されてソング管理データ領域86−1,86−2,……が順次形成される。音データはクラスタ(128Kバイト)単位で記録される。一度録音された音データは操作者による明示の、該当するテイクの消去指令が与えられない限り消去されない。複数トラックを同時に録音する場合、各トラックの音データは順次入れ替わって共用アドレス領域86に記録され、またパンチイン、パンチアウト等で後から追加される音データ、波形編集された音データ等は、そのトラックの初期録音の音データが記録されているアドレスとは離れて、それらが記録される時点での共用アドレス領域86の記録済み音データの最後尾に続けて記録されるので、各バーチャルトラックの音データは、共用アドレス領域86内にクラスタ単位で分散して記録されている。録音中の演奏パートに曲の途中で長い休止期間があった場合等には、操作者が該当チャンネルについて無音区間の指示操作をすることにより、その時点で該当チャンネルの録音が休止され、その休止前の音データが含まれている1クラスタ分のデータが共用アドレス領域86に記録された後は、そのチャンネルについての音データの記録は行われない。操作者が該当チャンネルについて無音区間終了の指示操作をすると、該当チャンネルについて録音が再開され、該当チャンネルの音データがクラスタ単位で共用アドレス領域86に順次記録される。
【0017】
各ソングのソング管理データ領域86−1,86−2,……には、このように分散して記録された、該ソングに含まれる各バーチャルトラックの音データを連続した音楽として再生するために必要な、該各バーチャルトラックごとの音データの記録アドレスの連鎖を示すシーケンスデータが記録されている。無音区間が指示されたバーチャルトラックについては、無音区間の開始時間および終了時間の情報も併せて記録される。また、各ソングのソング管理データ領域86−1,86−2,……には、そのソングに含まれるバーチャルトラックごとのミキシング機能に関するシーケンスデータも記録されている。各ソングのソング管理データ領域86−1,86−2,……は固定容量(例えば、1ソングあたり1.5Mバイト)であり、操作者により新規にソングのファイルの作成が指示されるごとに、そのソングについてのソング管理データ領域が新たに初期化されて確保され、そのソングについて録音等音データの追加がなされるごとにそれに対応してソング管理データが更新される。各ソングのソング管理データ領域86−1,86−2,……は一度定められると固定であり、操作者による明示のソングの消去指令が与えられない限り消去されない。システム管理データ用アドレス領域84には、ソングごとのソング管理データの記録位置を知るためのデータを含むシステム管理データが記録されている。
【0018】
ソング管理データはソング単位で、HDD60の全アドレス領域の後方側の端部から順次記録され{ただし、個々のソング管理データ領域86−1,86−2,……内では、データは通常どおり前方側から正方向(アドレスが増加する方向)に記録される。}、しかも個々のソング管理データ領域86−1,86−2,……の容量は固定であるので、システム管理データ用アドレス領域84にHDD60の全アドレス領域の最後尾のアドレス情報を記録しておくことにより、各ソング管理データ領域86−1,86−2,……の開始位置を演算で求めることができる。例えば、最初のソングのソング管理データ領域86−1の開始位置は、〔HDD60の全アドレス領域の最後尾のアドレス〕−〔1つのソング管理データ領域の容量〕の演算で求められる。なお、演算で求める代わりに、システム管理データ用アドレス領域84に、各ソングのソング管理データ領域86−1,86−2,……の開始位置のアドレス情報を記録しておくこともできる。なお、上記の例では、共用アドレス領域の最後尾のアドレスをHDD60の全アドレス領域の最後尾のアドレスに一致させたがこれに限るものではない。
【0019】
以上のようなファイル構成によれば、ハードディスクレコーダ10の電源をオンした際に、自動的にHDD60の先頭のアドレスにアクセスしてシステム管理データを読み取り、ソングが指定されたときに、該システム管理データに基づき、該指定されたソングのソング管理データが記録されているアドレス領域(ソング管理データ領域)にアクセスして該ソング管理データを読み取り、該ソングの再生が指示されたときに、該ソング管理データに基づき、該ソングの現在選択されている各バーチャルトラックについて音データが記録されているアドレスに順次アクセスして読み取ることにより、該バーチャルトラックの音データを再生することができる。
【0020】
図3において、DRAM62には、HDD60から読み出されたシステム管理データ、および録音、再生、編集等を行うために現在指定しているソングに関するソング管理データのうちHDD60における記録位置の連鎖を示すシーケンスデータが格納される。また、DRAM62はレコーダCPU14の作業領域として機能する。なお、音データはDSP38とDRC68間では、バス32,56を経由しない信号ライン69を介して相互に伝送される。
メインCPU12のバス32とレコーダCPU14のバス56はデュアルポートRAM78(以下「DPRAM」)を介して相互に接続され、メインCPU12とレコーダCPU14間で授受すべき各種指令やソング管理データ等の情報が伝送される。サンプリングクロック発振器80からはサンプリング周期のクロックが発振されてアンド回路82に入力される。レコーダCPU14からは録音あるいは再生の開始に同期して立上がり、その終了に同期して立下がる動作区間指示信号が出力され、アンド回路82に入力される。これにより、アンド回路82からは録音あるいは再生の開始から終了までの区間サンプリングクロックが出力される。このサンプリングクロックはメインCPU12およびレコーダCPU14の外部クロック入力端子に入力される。両CPU12,14内には該外部クロック入力端子から入力されるクロックをカウントするカウンタがそれぞれ配置されている。両カウンタは録音あるいは再生の開始に同期してリセットされて、その後入力されるサンプリングクロックをカウントする。メインCPU12は該カウント値に応じてサンプリングクロック単位でミキシング処理を実行する。また、レコーダCPU14は該カウント値に応じてサンプリングクロック単位でHDD60およびSDRAM64,66の書込みあるいは読出し制御を実行する。これにより、メインCPU12およびレコーダCPU14は、それぞれ個別の動作クロック(例えば28MHz)で動作しながら、サンプリング周期(48kHz、44.1kHz等)単位では互いに同期して動作して、録音あるいは再生のための制御を独立にかつ並行して実行することができる。
【0021】
図3のハードディスクレコーダ10における録音・再生モード時のデータ(音データ、システム管理データ、ソング管理データ)の授受について図5を参照して説明する。ハードディスクレコーダ10の電源を投入すると、HDD60のシステム管理データ用アドレス領域からシステム管理データが読み出されて、バス56を介してDRAM62に保持される。ソングを指定すると、レコーダCPU14はDRAM62に保持されているシステム管理データを参照して、HDD60の指定されたソングのソング管理データが記録されているソング管理データ領域にアクセスして、該当するソング管理データを読み出す。読み出されたソング管理データのうち該ソングのミキシング機能に関するシーケンスデータは、バス56、DPRAM78およびバス32を介してDRAM36に転送される。また、読み出されたソング管理データのうち、HDD60における該ソングの一連の音データの記録位置の連鎖を示すシーケンスデータは、バス56を介してDRAM62に転送される。これにより、前記指定されたソングについて、操作者の指示により、録音、再生、波形編集等の各作業が可能となる。なお、初めて録音するソングについては、操作者の操作により、予め新規にソングのファイルが作られ(HDD60にソング管理データ領域が新たに1つ初期化されて確保される。)、そのソング管理データがDRAM36,62に保持されて、録音可能な状態となる。
【0022】
録音・再生モードでは、録音を指示されたトラック{録音(記録)チャンネル}について、次のように処理が行われる。アナログ入力端子40またはディジタル入力端子44から入力される該トラックの録音信号(音データ)は、A/D変換器42またはインタフェース46を介してDSP38に入力され、操作者による各種操作子20およびフェーダ操作子26の操作に応じてDSP38でミキシング処理が施され、バス56を経由しない信号ライン69を介して、DRC68からバッファメモリを構成するSDRAM64,66に順次格納される。SDRAM64,66に格納された音データは、定期的にバス56を介してHDD60にDMA転送されて録音される。また、このとき新たに生成されるシステム管理データおよびソング管理データのうち再生位置の連鎖を示すシーケンスデータはDRAM62に順次蓄積され、ソング管理データのうちミキシング機能に関するシーケンスデータはDRAM36に順次蓄積される。録音を終了して保存操作をすると、DRAM36に蓄積されたミキシング機能に関するシーケンスデータはDPRAM78を介してバス56に伝送され、DRAM62に蓄積されたHDD60における音データの記録位置の連鎖を示すデータとともに、HDD60の該ソングのソング管理データを保存するソング管理データ領域に上書き保存される。また、DRAM62に格納されているシステム管理データもHDD60のシステム管理データ用アドレス領域に上書き保存される。
【0023】
録音・再生モードでは、再生を指示されたトラック(再生チャンネル)について、次のように処理が行われる。レコーダCPU14はDRAM62に格納されている該トラックの再生位置の連鎖を示すシーケンスデータを参照して、HDD60から該当するトラックの音データを順次読み出す。該読み出された音データは、バス56およびDRC68を介してSDRAM64,66にDMA転送して格納される。DRC68は該SDRAM64,66に格納された音データをサンプリング周期で順次読み出す。SDRAM64,66から読み出された音データは、バス56を経由しない信号ラインを介してDRC68からDSP38に転送される。メインCPU12はDRAM36に格納されているミキシング機能に関するシーケンスデータを参照してDSP38のパラメータを設定し、該転送される音データに対してミキシング処理を施す。ミキシング処理を施された音データは、インタフェース52を介してディジタル出力端子54から出力される。また、DSP38内で2チャンネルステレオ信号にミキシングされた信号は、D/A変換器48でアナログ信号に変換されて、アナログ出力端子50から出力される。なお、録音・再生モードでは、録音、再生を行う各トラックの信号が順番に時分割処理され、その際SDRAM64,66は録音トラックか再生トラックかに応じて動作(書き込み/読み出し)が時分割で切り換えられる。
【0024】
録音・再生モード時におけるバス56の使用権(バス権)制御とサンプルデータの転送制御(SDRAM64,66の書き込み読み出し制御)の具体例について説明する。録音・再生モード時には、図6に示すように、サンプリング周期1/fs(fs=48kHz、44.1kHz等)ごとに、所定の区間A(第1の時間)、B(第2の時間)に分割される。区間A,Bの長さは、A<Bである。バス56の使用権は、区間AではレコーダCPU14に割り当てられ、区間BではSDRAM64,66とHDD60間のDMA転送に割り当てられる。レコーダCPU14は区間A内で、バス56を介して、フラッシュROM58に格納されているプログラムやDRAM62に格納されているソング管理データにアクセスして、該プログラムを実行する。サンプルデータの転送制御は、次のようにして行われる。録音チャンネル(入力チャンネル)については、区間Aでバス56を経由しない信号ライン69を介してSDRAM64または66に対し1サンプルずつ時分割で音データの書き込みが行われ、区間Bで該録音チャンネルの複数サンプルの音データがSDRAM64または66から読み出され、バス56を介してHDD60へDMA転送して書き込まれる。再生チャンネル(出力チャンネル)については、区間AでSDRAM64または66から1サンプルずつ時分割で音データの読み出しが行われ、バス56を経由しない信号ライン69を介して出力され、区間Bで該再生チャンネルの複数サンプルの音データがHDD60から読み出され、バス56を介してSDRAM64または66へDMA転送して書き込まれる。
【0025】
なお、SDRAM64,66からHDD60へのDMA転送は、チャンネルごとに、1クラスタ分のサンプルデータがSDRAM64,66に新たに蓄積された時点で、該新たに蓄積された(あるいはそれよりも前に蓄積された)1クラスタ分のサンプルデータをまとめて毎サンプリング周期の区間Bごとに区切ってDMA転送し、1つのチャンネルについて1クラスタ分のサンプルデータのDMA転送が終了したら、1クラスタ分のサンプルデータがSDRAM64,66に新たに蓄積された別のチャンネルについて同様に1クラスタ分まとめてDMA転送するようにして、各チャンネル1クラスタ分ずつでかつ各チャンネル相互に時分割で行われる。また、HDD60からSDRAM64,66へのDMA転送は、チャンネルごとに、1クラスタ分のサンプルデータがSDRAM64,66から新たに読み出された時点で、該チャンネルについて1クラスタ分のサンプルデータをまとめて毎サンプリング周期の区間Bごとに区切ってDMA転送し、1つのチャンネルについて1クラスタ分のサンプルデータのDMA転送が終了したら、1クラスタ分のサンプルデータがSDRAM64,66から新たに読み出された別のチャンネルについて同様に1クラスタ分まとめてDMA転送するようにして、各チャンネル1クラスタ分ずつでかつ各チャンネル相互に時分割で行われる。なお、いずれのチャンネルについても、DMA転送によるデータ移動の必要がない場合、すなわち入出力信号ライン69からの入力データがSDRAM64,66に1クラスタ分新たに書き込まれてもいなければ、入出力信号ライン69への出力データがSDRAM64,66から1クラスタ分新たに読み出されてもいない場合には、DMA転送は休止され、各サンプリング周期内全体にわたりレコーダCPU14に使用権が割り当てられる。なお、SDRAM64,66はアドレス領域が各チャンネルごとに分割され、各チャンネルのアドレス領域は少なくとも2クラスタ分のサンプルデータを記憶できる容量を有している。ある1つのチャンネルに着目すると、DRC68のアドレス制御により、少なくとも2つ使用できるうちの1つのクラスタ分のアドレス領域を使って1クラスタ分のサンプルデータのDMA転送を行っている間に、別の1クラスタ分のアドレス領域を使って同チャンネルの新たな録音入力または再生出力のサンプルデータがサンプリング周期ごとに1サンプルずつ書き込まれまたは読み出される。DMA転送を行うアドレス領域と、録音入力または再生出力のサンプルデータを1サンプルずつ書き込みまたは読み出すアドレス領域とを、1クラスタごとに交互に切り換えることにより、同一チャンネルについてDMA転送と録音入力または再生出力のサンプルデータの書き込みまたは読み出しを並行して行うことができる。
【0026】
録音・再生モード時におけるバス56の使用権の時分割制御の具体例について説明する。図7はバス56の使用権の時分割制御の制御系統を示し、図8は録音・再生モード時における該制御系統のDRC68の動作を示す。図8において、(A)〜(F)は、図7においてそれぞれ同符号で示した箇所の信号波形である。ここでは、レコーダCPU14として日立製SH7042を使用するものとし、また1サンプリング周期を512分割したクロックで制御するものとする。SH7042はDMA転送を制御するDMAコントローラを内蔵しているが、ここではこのレコーダCPU14内のDMAコントローラを使用せずに、HDD60に内蔵されているIDEインタフェース61に設けられているDMAコントローラ63を使用してDMA転送を制御するものとする。
【0027】
図7において、レコーダCPU14は、録音・再生モード時に、いずれかの録音チャンネルあるいは再生チャンネルについて、SDRAM64,66に1クラスタ分の録音入力のサンプルデータが蓄積されるごとに(またはSDRAM64,66から1クラスタ分の再生出力のサンプルデータが読み出されるごとに)、DRC68およびHDD60にDMA動作開始の指令を出す。HDD60はこの指令を受けて、DMA要求信号DMARQ=“H”{図8(A)}を発行する。DRC68は該信号DMARQをインバータ88で反転してDフリップフロップ回路90に入力する。カウンタ92は、サンプリング周期の開始タイミングごとにリセットされ、図3のサンプリングクロック発振器80で発振されるサンプリングクロック(48kHz、44.1kHz等)の1周期(1/fs)を512分割したクロック(以下「512分割クロック」)をカウントする。タイミング生成器94はカウンタ92のカウント値に応じて、該カウント値が0〜127の区間(サンプリング周期の開始から1/4の区間)で“H”レベルとなり、同128〜521の区間(サンプリング周期の残りの3/4区間)で“L”レベルとなるバス権分割信号{図8(D)}を出力する。また、タイミング生成器94は該カウント値が0〜255の区間(サンプリング周期の前半1/2の区間)で“H”レベルとなり、同256〜521の区間(サンプリング周期の後半1/2の区間)で“L”レベルとなるクロック信号{図8(B)}を併せて出力する。Dフリップフロップ回路90は入力されるDMA要求信号DMARQ(HDD60内のクロックに同期した信号)の反転信号をDRC68のクロック信号で取り込んで、DMA要求信号IDMARQ=“L”{図8(C)}を出力する。オア回路96はDMA要求信号IDMARQとバス権分割信号を入力し、DMA要求信号IDMARQ=“L”の区間についてバス権分割信号を出力する。オア回路98はオア回路96の出力信号とDMA要求信号DMARQの反転信号を入力して、DMA要求信号DMARQ=“H”の終了に同期してバス権分割信号の出力を停止する信号を、バス権要求信号BREQ{図8(E)}として出力する。レコーダCPU14は、バス権要求信号BREQ=“L”を受信すると、バス権を解放して、バス権要求受付信号BACK=“L”{図8(F)}を出力する。DRC68はバス権要求受付信号BACKを受信すると、これをそのままDMA受付信号DMACKとしてHDD60に送信する。HDD60とDRC68はBACK(DMACK)=“L”の区間でバス56を専有してDMA転送を行う。また、DRC68は、DMA動作期間中に、毎サンプリング周期ごとに、該サンプリング周期の開始から1/4の区間でバス権要求信号BREQを“H”にしてバス権を返上する。これにより、レコーダCPU14は、その区間だけバス権を取得し、バス56を専有してDRAM62およびフラッシュROM58にアクセスして、録音、再生に必要なプログラムを実行する。
【0028】
レコーダCPU14がバス56を専有している間は、HDD60とDRC68間のDMA転送は休止され、DRC68はバス56を介さない信号ライン69を経由して、各サンプリング周期ごとに、各録音チャンネルについてSDRAM64,66への入力サンプルデータ(各チャンネル1サンプルずつ)の書き込みあるいはSDRAM64,66からの出力サンプルデータ(各チャンネル1サンプルずつ)の読み出しを行う。以上のようにして、サンプリング周期の開始から1/4の区間ではレコーダCPU14がバスマスタとして、図7に符号Iで示すように、レコーダCPU14がバス56を介してDRAM62およびフラッシュROM58にアクセスしてプログラムを実行し、サンプリング周期の残り3/4の区間ではHDD60(IDE)がバスマスタとして、図7に符号IIで示すように、HDD60とDRC68がバス56を介してDMA転送を実行するように、バス権が分割される。
【0029】
図7の制御系統による1つの再生チャンネルについてのDMA転送の手順(プロトコル)を図9を参照して説明する。録音・再生モード時に、SDRAM64,66から1クラスタ分の再生出力サンプルデータの読み出しが終了すると、レコーダCPU14からの指令で、DRC68はDMA転送を行う動作モードに設定される(S1)。また、レコーダCPU14からHDD60(IDE)にDMA読み出しの開始を要求する指令が与えられる(S2)。HDD60はこれを受けて、DMA要求信号DMARQ=“H”を発行し、DRC68に転送する(S3)。DRC68はこれを受けて、バス権要求信号BREQ=“L”を発行し、レコーダCPU14に転送する(S4)。レコーダCPU14はバス権要求信号BREQ=“L”を受信すると、ストローブ端子を“H”レベル出力にするとともに、該ストローブ端子、アドレス端子、データ端子をそれぞれハイインピーダンスに設定して、バス権要求受付信号BACK=“L”を発行する(S5)。DRC68はこれを受けてDMA受付信号DMACK=“L”を発行し、HDD60へ転送する(S6)。DRC68はデータ送出を促す信号DIORをHDD60に送出する(S7)。DRC68はこれを受けて、該DMA転送に割り当てられた区間ごとにデータ送出(DMA転送)を行う(DMARQ=“H”の間、DIORが立ち下がるごとに新しいデータがHDD60から送出される。)。送出されたデータはDRC68に受け取られて(S8)、SDRAM64,66に転送される。1クラスタ分のデータのDMA転送が終了したら、HDD60はDMA要求信号DMARQを立ち下げる。これとともに、HDD60は割り込み要求信号IDEIRQを発行する(S9)。該割り込み要求信号IDEIRQはDRC68を介してレコーダCPU14に転送される。レコーダCPU14はこれによりDMA転送の終了を認識し、DMA転送終了処理を行う。DMA転送終了処理が終わると、該処理の終了がDRC68を介してHDD60に通知され(S10)、HDD60は割り込み要求信号IDEIRQの発行を解除する。また、レコーダCPU14は、バス受付信号BACKを“H”レベルに戻し、DRC68に転送する(S11)。DRC68はこれを受けてDMA受付信号DMACKを“H”レベルに戻し、HDD60に転送する(S12)。以上でDMA転送は終了し、次にいずれかのチャンネルについてDMA転送が要求されるまでバス56はレコーダCPU14に専有される。
【0030】
なお、SDRAM64,66のアドレス領域をチャンネル単位に分割し、各チャンネルのアドレス領域をそれぞれ単一のバンクに割り当て、サンプリング周期の開始から1/4の区間内で、バンクが異なるチャンネルを交互に指定して各チャンネルのデータを1サンプルずつ時分割でSDRAM64,66に書き込みまたはSDRAM64,66から読み出すことにより、512分割クロックの8クロックごとに3〜4サンプル程度のデータをSDRAM64,66に書き込みまたはSDRAM64,66から読み出すことができ、24トラック(16トラック同時再生しながら8トラック同時録音)程度の入出力チャンネル数であれば、該サンプリング周期の開始から1/4の区間内(128クロック分の時間)で十分な余裕をもって各チャンネル1サンプルずつのサンプルデータをSDRAM64,66に書き込みまたはSDRAM64,66から読み出すことができる。また、1サンプル分のサンプルデータのDMA転送は512分割クロックの4クロックで行うことができるので、1サンプリング周期の残りの3/4の区間内(384クロック分の時間)では90サンプル程度のサンプルデータをDMA転送することができる。したがって、CDフォーマットのデータ(16ビット、44.1kHz)を扱う場合には、1つのチャンネルの1クラスタ(128Kバイト、)分のサンプルデータ(64Kサンプル。CDフォーマットの場合、64Kサンプル/44.1kHzにより、約1.45秒分のデータ)のDMA転送は、64000/90により約800サンプリング周期(約20msec程度)程度の時間内で十分に行うことができる。
【0031】
DRC68内におけるサンプルデータの信号経路構成およびSDRAM64,66のアドレス情報の信号経路構成の具体例を図10に示す。トラックアドレスジェネレータ100は、録音・再生モード時に、毎サンプリング周期の開始から1/4の区間で、各チャンネルの入力1サンプルデータの書き込みまたは出力1サンプルデータの読み出しを行うためのSDRAM64,66のアドレス情報を生成する。また、残りの3/4の区間で、次のサンプリング周期での各チャンネルのSDRAM64,66の書き込みまたは読み出しアドレスの計算を行う。DMAアドレスジェネレータ102は、録音・再生モード時に、DMA転送を行っている区間の毎サンプリング周期の残り3/4の区間で各チャンネルのDMA転送データの書き込みまたは読み出しを行うSDRAM64,66のアドレス情報を生成する。このアドレス情報は、DMA転送で書き込みまたは読み出しを行うSDRAM64,66の開始アドレスの情報がレコーダCPU14から与えられ、以後DMAアドレスジェネレータ102内で該開始アドレスからアドレス値を所定の周期で順次インクリメントしていくことにより生成される。マルチプレクサ104は、例えば前記バス受付信号BACK{図8(F)}を切換信号として用いて、DMA転送を行っている期間の毎サンプリング周期の開始から1/4の区間はトラックアドレスジェネレータ100で生成されるアドレス情報を選択出力し、DMA転送を行っている期間の毎サンプリング周期の残り3/4の区間はDMAアドレスジェネレータ102で生成されるアドレス情報を選択出力する。マルチプレクサ104から出力されるアドレス情報はSDRAMアドレスコンバータ105でロー(行)アドレスとコラム(列)アドレスに時分割されて、SDRAM64,66のアドレス入力端子に供給される。
【0032】
DSP38(図5、図3)から供給される各入力チャンネルのサンプルデータは、シリアル/パラレル変換器103で並列データに変換され、ラッチ回路106に各チャンネル1サンプルずつラッチされて、マルチプレクサ112を介してSDRAM64,66に書き込まれる。また、SDRAM64,66から読み出される各出力チャンネルのサンプルデータは、マルチプレクサ112を介してラッチ回路108に各チャンネル1サンプルずつラッチされ、パラレル/シリアル変換器110で直列データに変換されてDSP38に出力される。ラッチ回路106,108のサンプルデータは毎サンプリング周期ごとに書き換えられる。DMA転送データは、マルチプレクサ112、信号ライン114、バス56を介してSDRAM64,66とHDD60間でDMA転送される。マルチプレクサ112は、例えば前記バス受付信号BACKを切換信号として用いて、DMA転送を行っている期間の毎サンプリング周期の開始から1/4の区間は信号ライン69を選択して各入出力チャンネル1サンプルずつ入出力を行い、DMA転送を行っている期間の毎サンプリング周期の残り3/4の区間は信号ライン114を選択してDMA転送データの入出力を行う。書き込み/読み出し制御回路116はSDRAM64,66にデータを書き込むタイミングでは該SDRAM64,66を書き込みモードに設定し、SDRAM64,66からデータを読み出すタイミングでは読み出しモードに設定する制御を行う。
【0033】
バッファメモリを構成するSDRAM64,66の、録音・再生モードの通常の録音、再生時における各バンクに対する各チャンネルの割り当て例を表1に示す。
【0034】
チップ0(SDRAM64,66の一方)、1(SDRAM64,66の他方)はそれぞれ0〜3の4バンクに構成されている。チップ0には演奏音用に0〜23のチャンネルが均等の容量の領域に割り当てられている。隣接するチャンネル番号どうしは別々のバンクに割り当てられている。チップ1のバンク0には、小節の1発目のメトロノーム音の波形全体、サンプラーの領域が割り当てられている。バンク2,3全体にはサンプラーの領域が割り当てられている。バンク4には、サンプラー、小節の2発目以降に共用されるメトロノーム音の波形全体の領域が割り当てられている。録音・再生モード時に演奏音用の0〜23チャンネルの領域内の音データは演奏の進行に応じて順次更新されるが、メトロノーム音およびサンプラー音は繰り返し読み出して用られるので(メトロノーム音は操作者によりメトロノーム音再生がオンに設定されているときに、操作者によって指示されたテンポで自動的に繰り返し読み出され、サンプラー音は操作者の操作に基づきレコーダCPU14から発音が指令されるごとに繰り返し読み出される。)、1つのソング中では特に必要のない限り更新されない。つまり、メトロノーム音およびサンプラー音については、SDRAM64または66に、再生する波形データ全体が保存されているので、再生中にSDRAM64または66への書き込みは必要なく、SDRAM64または66からの読み出しのみ行われる。SDRAM64または66からのメトロノーム音およびサンプラー音の読み出しは、サンプリング周期1/fsごとに1サンプルずつ(複数種類のサンプラーが指定されている場合は、その種類ごとに1サンプルずつ)、演奏音の再生チャンネルの音データの読み出し処理および録音チャンネルの音データの書き込み処理と時分割で行われる。なお、サンプラー音は、操作者が予め任意のサンプラー音を任意の数だけ録音しておき、録音・再生モードでソングを指定して録音をするに先立ち、操作者が録音されているサンプラー音の中から任意のサンプラー音を選択して(最大8種類まで選択可能)、HDD60から該当するサンプラー音の音データを読み出して、SDRAM64,66の任意のチャンネル(サンプラー0〜7)に書き込んでおく。そして、録音開始後の任意のタイミングで任意のチャンネルのサンプラーの発音をボタン操作等で指示することにより該当するサンプラー音が発音され、その発音タイミングおよび発音チャンネルがソング管理データに記録される。録音が終了してそのソングの再生を行うと、ソング管理データに基づき、該当するタイミングで該当するサンプラー音がSDRAM64,66から読み出されて発音される。
【0035】
表1のチャンネル割り当てをする際の、SDRAM64,66(一方がチップ0,他方がチップ1)のアドレスマップ例を図11に示す。チップ0には各演奏チャンネル0〜23にそれぞれA領域(1クラスタ)、B領域(1クラスタ)の合計2クラスタ分の連続したアドレス領域が割り当てられている。チップ0のバンク2の後尾にはバンク0,2に割り当てられたチャンネル用の無音領域が、またバンク3の後尾にはバンク1,3に割り当てられたチャンネル用の無音領域が、それぞれ適宜の大きさ(1〜2クラスタ程度)で割り当てられ、録音・再生モードの投入とともに、無音データがそれぞれ書き込まれて保持される。チップ1の先頭にはメトロノーム(1発目)に適宜の大きさ(1クラスタ程度)の領域が割り当てられている。チップ1の後尾にはメトロノーム(2発目以降)に適宜の大きさ(1クラスタ程度)の領域が割り当てられている。メトロノーム(1発目)、メトロノーム(2発目以降)の領域には、録音・再生モードの投入とともに、フラッシュROM58(図3)から読み出されたメトロノーム(1発目)、メトロノーム(2発目以降)の音データがそれぞれ保持される。チップ1の先頭および後尾の領域に挟まれた連続した中間の領域にサンプラーの領域が割り当てられている。サンプラーの領域に割り当てるサンプラーの数は操作者が任意に設定することができる(ただし、最大で0〜7の8種類、合計約80秒)。
【0036】
SDRAM64,66を日立製HM5264165−B60で構成し、該SDRAM64,66の各バンクに図11のようにチャンネルを割り当て、1サンプリング周期(全512タイムスロット)の開始から1/4の期間(0〜127タイムスロット)(すなわち、図6の区間A)で各チャンネルのデータを1サンプルずつSDRAM64,66に書き込みあるいはSDRAM64,66から読み出す場合の、通常の録音、再生時におけるDRC68によるSDRAM64,66の書き込み、読み出し制御シーケンスの一例を表2に示す。表2において,各記号はそれぞれ次を表す。
ACT:選択したバンクを活性化させるコマンド。このとき、ロー(行)アドレスが指定される。
RDwAP:Read with auto pre-charge(読み出しを行い、それが終了後自動的にプリチャージするコマンド)。このとき、コラム(列)アドレスが指定される。)
WTwAP:Write with auto pre-charge(書き込みを行い、それが終了後自動的にプリチャージするコマンド)。このとき、コラム(列)アドレスが指定される。
R/WwAP:Read or write with auto pre-charge(読み出しまたは書き込みを行い、それが終了後自動的にプリチャージするコマンド)。このとき、コラム(列)アドレスが指定される。
R:読み出しモード
W:書き込みモード
【0037】
【0038】
表2の例では、演奏音用の0〜23チャンネルのうちチャンネル0〜7を再生専用チャンネル、チャンネル8〜15を録音再生兼用チャンネル、チャンネル16〜23を録音専用チャンネルに設定している。ただし、チャンネル8〜15は録音のみ(ALL REC)のモードでのみ録音用チャンネルとして使用できるもので、再生同時録音(SYNC DUBBING)のモードでは再生用チャンネルとしてのみ使用することができる。表2ではチャンネル8〜15を読み出しモードに設定した場合のこれら各チャンネル8〜15のサンプルデータの出力タイミングをそれぞれカッコ書きで示している。また、表2において、タイムスロット127で読み出しを指令されたサンプラー7のデータは、区間Aが終了後(つまり、メインCPU14がバス権を明け渡した後)のタイムスロット129で出力されるが、このデータの出力にはメインCPU14は関与しないので、該データの出力は支障なく行うことができる。なお、ミックスダウンを行うときは、チャンネル0〜15を再生チャンネルとしてミックスダウン元のパートのトラックを割り当て、チャンネル16,17をミックスダウン先の録音チャンネルMIXL,MIXR(左右2チャンネル)として割り当てて、チャンネル0〜15で再生した音をDSP38で左右2チャンネルにミックスダウンして、チャンネル16,17を経てHDD60に録音する。HDD60に録音されたミックスダウン信号を再生するときは、左右2チャンネルのミックスダウン信号を再生専用チャンネル0〜15のうちの任意のチャンネルに割り当てて再生する。ミックスダウン信号MIXL,MIXRは24ビットで構成されるので、それぞれ上位ワード、下位ワードに分けて伝送する。表2のシーケンスを実行する際のSDRAM64,66の制御信号のタイムチャートの一部を図12に示す。
【0039】
バッファメモリを構成するSDRAM64,66の、録音・再生モードのパンチイン、パンチアウト時における各バンクに対する各チャンネルの割り当て例を表3に示す。
【0040】
表3のチャンネル割り当てをする際の、SDRAM64,66のアドレスマップ例を図13に示す。パンチイン、パンチアウト時は、操作者がパンチイン、パンチアウト区間を含むように適当に設定したリピート区間を自動的にリピート再生するため、演奏チャンネル0〜23には通常の録音、再生時の倍のA〜D(それぞれ1クラスタずつ)の連続した4クラスタ分の領域が割り当てられている。また、チップ0のバンク2の後尾にはチップ0のバンク0,2に割り当てられたチャンネル用の無音領域が、チップ0のバンク3の後尾にはチップ0のバンク1,3に割り当てられたチャンネル用の無音領域が、チップ1のバンク0の後尾にはチップ1のバンク0,2に割り当てられたチャンネル用の無音領域が、チップ1のバンク1の後尾にはチップ1のバンク1,3に割り当てられたチャンネル用の無音領域がそれぞれ適宜の大きさ(1〜2クラス程度)で割り当てられ、パンチイン、パンチアウトモードの投入とともに無音データがそれぞれ書き込まれて保持される。また、チップ1のバンク2の後尾には、メトロノーム(1発目)に適宜の大きさ(1クラスタ程度)の領域が割り当てられ、チップ1のバンク3の後尾にはメトロノーム(2発目以降)に適宜の大きさ(1クラスタ程度)の領域が割り当てられている。メトロノーム(1発目)、メトロノーム(2発目以降)の領域には、パンチイン、パンチアウトの投入とともに、フラッシュROM58(図3)から読み出されたメトロノーム(1発目)、メトロノーム(2発目以降)の音データがそれぞれ保持される。なお、パンチイン、パンチアウト時はサンプラーは使用しないものとし、サンプラーは割り当てられない。SDRAM64,66の各バンクに図13のようにチャンネルを割り当てた場合の、パンチイン、パンチアウト時におけるDRC68によるSDRAM64,66の制御シーケンスは、前記表2からサンプラーおよびミックスダウンに関するシーケンスを除いたものとすることができる。
【0041】
SDRAM64,66のチャンネル割り当てを、通常の録音、再生時は図11のように設定し、パンチイン、パンチアウト時は図13のように設定した場合の、該SDRAM64,66のアドレス制御について説明する。図10のトラックアドレスジェネレータ100の構成例を図1に示す。トラックアドレスRAM118は、各チャンネルについて、現在のサンプリング周期で読み出しあるいは書き込みを行うSDRAM64,66のアドレス情報(現アドレス)を記憶するとともに、次のサンプリング周期で読み出しあるいは書き込みを行うSDRAM64,66のアドレスを計算するために必要な、SDRAM64,66の各種アドレス情報を順次更新しながら記憶するものである(トラックアドレスRAM118に記憶されるSDRAM64,66のアドレス情報を以下まとめて「アドレスパラメータ」という。)。トラックアドレスRAM118のアドレスマップ例を図14に示す。トラックアドレスRAM118には演奏チャンネル0〜23、サンプラー0〜7、メトロノーム(1発目)、メトロノーム(2発目以降)用の領域がそれぞれ設けられている。演奏チャンネル0〜23用の領域にはそれぞれ次の8つの領域内アドレスが割り当てられて、それぞれ1ワードずつ該当するアドレスパラメータデータを保持する。
【0042】
▲1▼領域内アドレス0{領域始端アドレス(TS)保持用アドレス}:当該チャンネルに割り当てられたSDRAM64,66のアドレス領域の始端アドレス。すなわち、図11、図13のアドレスマップの領域Aの先頭のアドレス。
▲2▼領域内アドレス1{領域終端アドレス(TE)保持用アドレス}:当該チャンネルに割り当てられたSDRAM64,66のアドレス領域の終端アドレス。すなわち、通常の録音、再生時あるいはミックスダウン時は図11の領域Bの後尾のアドレス、パンチイン、パンチアウト時は図13の領域Dの後尾のアドレス。▲3▼領域内アドレス2{読み出し開始アドレス(RS)保持用アドレス}:当該チャンネルに割り当てられたSDRAM64,66のアドレス領域の読み出しを開始するアドレス。再生開始当初にHDD60から読み出される最初のクラスタの音データは領域Aに格納されるので、通常は領域Aの先頭のアドレス(領域始端アドレスTS)を読み出し開始アドレスRSに設定してそこから読み出しを開始すればよいが、特殊なファイルでは曲の最初の部分に音楽データでない例えばサンプリング周波数等が記入されている場合があり、この部分を再生したくない場合は音楽データが開始されるアドレスを読み出し開始アドレスRSに設定することができる。
▲4▼領域内アドレス3{割り込み要求発生アドレス(RT)保持用アドレス}:当該チャンネルについて音データのDMA転送のための割り込み要求をレコーダCPU14に向けて発生するSDRAM64,66のアドレス。SDRAM64,66の書き込みまたは読み出しアドレスが割り込み要求発生アドレスに達するごとに該割り込み要求が発せられる。通常の録音、再生時は割り込み要求発生アドレスは各演奏チャンネル0〜23のアドレス領域の領域A,B(図11)の各後尾のアドレスに設定され、1クラスタ分の音データが書き込まれまたは読み出されるごとに割り込み要求が発生される。無音領域を再生する場合やパンチイン、パンチアウト等のために適宜設定された区間をリピート再生する場合はこれ以外のアドレスにも割り込み要求発生アドレスRTが設定される。これについては後述する。
▲5▼領域内アドレス4{現アドレス(CR)保持用アドレス}:当該チャンネルについて現在のサンプリング周期で書き込みまたは読み出しを行うSDRAM64,66のアドレス。通常はサンプリング周期ごとに1アドレスずつインクリメントされていく。
▲6▼領域内アドレス5{ジャンプ元アドレス(JT)保持用アドレス}:当該チャンネルについて読み出し中にアドレスジャンプを行うSDRAM64,66のジャンプ元のアドレス。ソング管理データにより指示されるジャンプ開始時刻または操作者により指示されるジャンプ開始時刻にアドレスポインタが到達するSDRAM64,66のアドレスを、レコーダCPU14が現アドレス(CR)を参照して演算で求めて設定する。
▲7▼領域内アドレス6{ジャンプ先アドレス(JD)保持用アドレス}:当該チャンネルについて読み出し中にアドレスジャンプを行うSDRAM64,66のジャンプ先のアドレス。ジャンプ先のサンプルデータが格納されるSDRAM64,66のアドレスをレコーダCPU14が演算で求めて設定する。現アドレスCRの1つ先のアドレスがジャンプ元アドレスJTに到達すると、現アドレスについて書き込みまたは読み出しを行った後、アドレスジャンプを行い、次のサンプリング周期からはジャンプ先アドレスJDから読み出しが続行される。
▲8▼領域内アドレス7:未使用
【0043】
また、トラックアドレスRAM118のサンプラー0〜7、メトロノーム(1発目)、メトロノーム(2発目以降)用の領域には、それぞれ次の4つの領域内アドレスが割り当てられて、それぞれ1ワードずつ該当するアドレスパラメータデータを保持する。
▲1▼領域内アドレス0{読み出し開始アドレス(RS)保持用アドレス}:当該チャンネルの読み出しを開始するSDRAM64,66のアドレス。
▲2▼領域内アドレス1{読み出し終了アドレス(RE)保持用アドレス}:当該チャンネルの読み出しを終了するSDRAM64,66のアドレス
▲3▼領域内アドレス2{現アドレス(CR)保持用アドレス}:当該チャンネルについて現在のサンプリング周期で書き込みまたは読み出しを行うSDRAM64,66のアドレス。サンプリング周期ごとに1アドレスずつインクリメントされていく。
▲4▼領域内アドレス4:未使用
【0044】
なお、サンプラー0〜7およびメトロノーム(1発目)、メトロノーム(2発目以降)については、読み出し開始アドレスRSで指定されるSDRAM64,66のアドレスに無音データが格納され、その次のアドレスから有効な音データが格納される。そして、SDRAM64,66のアドレスポインタは、発音開始が指示されるまで、該読み出し開始アドレスRSに停まっている。発音開始の指示(サンプラーの場合は操作者による発音指示操作またはソング管理データに基づくレコーダCPU14からの発音指令、メトロノーム音については指定されたテンポに対応した周期ごとにレコーダCPU14から発せられる発音指令)があると、アドレスポインタがサンプリング周期ごとに1ずつ進められていき、サンプラー音あるいはメトロノーム音が発音される。アドレスポインタが読み出し終了アドレスREに到達すると発音を終了し、次に発音開始の指示が与えられるまで、アドレスポインタは読み出し開始アドレスRSに停まる。
【0045】
本ハードディスクレコーダ10において録音・再生モードが選択されると、レコーダCPU14からは、ソング指定前にわかっていて予めトラックアドレスRAM118に格納できるアドレスパラメータのデータとして、演奏チャンネル0〜23の領域始端アドレスTS、領域終端アドレスTE、メトロノーム(1発目)、メトロノーム(2発目以降)の読み出し開始アドレスRS、読み出し終了アドレスRE等の各データが、それらを格納するトラックアドレスRAM118のアドレス情報とともに送出される。レコーダCPU14は、送出したアドレスパラメータのデータおよびトラックアドレスRAM118のアドレス情報を、自身のクロックで図1のレジスタ120,122にそれぞれ書き込む。レジスタ120,122に書き込まれた情報は、DRC68が自身のクロックで読み出して、セレクタ124,126を介してトラックアドレスRAM118に転送される。これにより、各演奏チャンネル0〜23の領域始端アドレスTS、領域終端アドレスTEおよびメトロノーム(1発目)、メトロノーム(2発目以降)の読み出し開始アドレスRS、読み出し終了アドレスRE等の情報がトラックアドレスRAM118のそれぞれ割り当てられたアドレスに書き込まれる。
【0046】
続いてソングが指定されると、HDD60から読み出されるソング管理データに基づき、レコーダCPU14からは演奏チャンネル0〜23のうち再生が指示されたチャンネルの読み出し開始アドレスRS、最初の割り込み要求発生アドレスRT、各サンプラーの読み出し開始アドレスRS、読み出し終了アドレスRE等のデータが、それらを格納するトラックアドレスRAM118のアドレス情報とともに送出され、レジスタ120,122およびセレクタ124,126を介してトラックアドレスRAM118に入力され、これら各アドレスパラメータデータがトラックアドレスRAM118のアドレス情報で指示されたアドレスにそれぞれ書き込まれる。ジャンプ元アドレスJTおよびジャンプ先アドレスJDのデータは、ソング管理データに基づき、アドレスジャンプを発生させる時刻の直前にレコーダCPU14からそれらを格納するトラックアドレスRAM118のアドレス情報とともに送出され、レジスタ120,122およびセレクタ124,126を介してトラックアドレスRAM118の該当するアドレスに保持される。なお、録音・再生モードにおいてパンチイン、パンチアウトが指示されると、演奏チャンネル0〜23およびメトロノーム(1発目)、メトロノーム(2発目以降)に割り当てられるSDRAM64,66のアドレス領域を前記図13に示すように変更する必要があるので、レコーダCPU14からは各演奏チャンネル0〜23の領域始端アドレスTSおよび領域終端アドレスTEのデータがそれらを格納するトラックアドレスRAM118のアドレス情報とともに送出され、レジスタ120,122およびセレクタ124,126を介してトラックアドレスRAM118に送られ、トラックアドレスRAM118の該当するアドレスに書き込まれて、該アドレス内のデータが更新される。
【0047】
録音、再生が行われている際には、レコーダCPU14からは演奏チャンネル0〜23のうち再生が指示されたチャンネルについて、割り込み要求発生アドレスRT、ジャンプ元アドレスJT、ジャンプ先アドレスJDが、それらを格納するトラックアドレスRAM118の情報とともに、該割り込みあるいは該アドレスジャンプを発生させる直前の適宜の時点で送出され(録音が指示されたチャンネルについては、割り込み要求発生アドレスRTに関する情報のみ送出される。)、レジスタ120,122にそれぞれ書き込まれる。セレクタ124,126は、毎サンプリング周期で、512分割クロックの8n+4/0〜511(n=0,1,2,…,63)のタイミング(すなわち8クロックに1回のタイミング)ごとに入力A側を選択し、該レジスタ120,122に書き込まれているデータを読み出す。トラックアドレスRAM118はこの読み出しタイミングごとに書き込みモードに切り換えられる。その結果、レジスタ120に保持されたアドレスパラメータデータは、レジスタ122に保持されたデータで指示されるトラックアドレスRAM118のアドレスに格納される。このようにして、録音、再生が行われている際に、トラックアドレスRAM118内の割り込み要求発生アドレスRT、ジャンプ元アドレスJT、ジャンプ先アドレスJDの各アドレスパラメータデータがその都度必要な内容に更新される。なお、ジャンプ終了後は、次のジャンプをすぐに発生させる必要がない限り、レコーダCPU14からはジャンプ元アドレスJT、ジャンプ先アドレスJDのアドレスパラメータデータとして、当該チャンネルの領域外のアドレス情報が送出されて、トラックアドレスRAM118の該当するアドレスに格納される。当該チャンネルの領域外のアドレスであるので、アドレスポインタのインクリメント動作でそのアドレスに到達することはなく、したがってアドレスジャンプは発生しない。次のジャンプが近づくと、レコーダCPU14からそのジャンプを行わせるための有効なジャンプ元アドレスJT、ジャンプ先アドレスJDのパラメータデータが送出されて、トラックアドレスRAM118の該当するアドレスに格納される。なお、DMA転送が行われている間は、レコーダCPU14がバス権を取得するサンプリング周期の開始から1/4の区間でのみレジスタ120,122に対するデータの書き込みが行われることになるが、レコーダCPU14はその区間だけ使っても、更新が必要なトラックアドレスRAM118のアドレスパラメータデータおよび該データを格納するトラックアドレスRAM118のアドレス情報を、その都度遅滞なくレジスタ120,122に書き込むことができる。なお、トラックアドレスRAM118の各チャンネルの現アドレスCR保持用アドレスには、後述するように、図1のアドレス演算回路134において演算で求められた値が格納される。
【0048】
図1において、SDRAM読み書き用アドレス発生回路128は、録音・再生モードにおいて、毎サンプリング周期の開始から1/4の区間で各チャンネルの1サンプルの音データをSDRAM64,66から時分割で読み出しあるいはSDRAM64,66に書き込むために、トラックアドレスRAM118の現アドレスCRが記憶されているアドレスの情報を前記表2のタイムスロットで規定されるタイミングに従って、録音あるいは再生を指示されたチャンネルごとに発生する。計算用アドレスパラメータ読み出し用アドレス発生回路130は、録音・再生モードにおいて、毎サンプリング周期の残り3/4の区間で、各チャンネルの次のサンプルのデータの読み出しあるいは書き込みを行うSDRAM64,66のアドレスを各チャンネルごとに時分割で計算するために、トラックアドレスRAM118から各チャンネルのアドレスパラメータを読み出すための該トラックアドレスRAM118のアドレス情報を、512分割クロックに同期して、予め規定されたタイミングに従って時分割で発生する。両アドレス発生回路128,130から発生されるトラックアドレスRAM118のアドレス情報はセレクタ132に入力され、毎サンプリング周期の開始から1/4の区間ではSDRAM読み書き用アドレス発生回路128の出力アドレス情報が選択され、残りの3/4の区間では計算用アドレスパラメータ読み出し用アドレス発生回路130の出力アドレスが選択される。
【0049】
セレクタ132で選択されたアドレス情報は、レジスタ120,122のデータをトラックアドレスRAM118に書き込む512分割クロックの8クロックごとのタイミング{8n+4/0〜511(n=0,1,2,…,63)のタイミング}を除いた区間でセレクタ124から出力され、トラックアドレスRAM118のアドレス端子に入力され、トラックアドレスRAM118の該当するアドレスから該当するパラメータデータが読み出される。なお、レジスタ120,122のデータをトラックアドレスRAM118に書き込むタイミングでは、アドレス発生回路128,130から有効なデータが発生されないように、512分割クロックに同期した該アドレス発生回路128,130のデータ発生シーケンスが設定されている。毎サンプリング周期の開始から1/4の区間でトラックアドレスRAM118から読み出される各チャンネルの現アドレスCRは、SDRAM64,66に送られ、その書き込みまたは読み出しアドレスとして用いられる。また、該現アドレスCRは、レコーダCPU14に送られ、レコーダCPU14に各チャンネルの現アドレスCRが通知される。
【0050】
アドレス演算回路134は、トラックアドレスRAM118に格納されているアドレスパラメータに基づき、毎サンプリング周期の残り3/4の区間で、各チャンネルの次のサンプルのデータの読み出しあるいは書き込みを行うSDRAM64,66のアドレス(次のサンプリング周期の現アドレスCR)を、512分割を動作クロックとして用いて時分割で計算する。該演算を行うために、各チャンネルに割り当てられたアドレス演算回路134の使用時間の分割例を図15に示す。各演算チャンネル0〜23,サンプラー0〜7,メトロノーム(1発目)、メトロノーム(2発目以降)は、それぞれに割り当てられた時間内でアドレス演算回路134を専有して、次のサンプリング周期の現アドレスCRを計算し、トラックアドレスRAM118の該当するアドレスに格納する。演算するチャンネルの順序は、例えば前記図14に示されたトラックアドレスRAM118のアドレス配列と同じ順序とすることができる。
【0051】
図1のアドレス演算回路134内の構成について説明する。セレクタ136はトラックアドレスRAM118の書き込みタイミング(512分割クロックの8クロックごとに1クロック分)を除いたタイミングで該トラックアドレスRAM118から時分割で読み出される現在演算を行っているチャンネルの各アドレスパラメータまたはレジスタ138(レジスタB)のデータを選択する。選択されたデータはレジスタ140(レジスタA)に書き込まれる。レジスタAに書き込まれたデータはセレクタ126およびALU(演算部)142に送出される。ALU142はレジスタAのデータおよびレジスタBのデータを用いて適宜の演算を行い、その結果に応じてレジスタAのデータ書き込み、計算用アドレスパラメータ読み出し用アドレス発生回路130からのアドレス情報の発生、DMA転送のための割り込み要求発生の各制御を行う。ALU142の計算は必要に応じてACC(アキュムレータ)144に保持される。
【0052】
アドレス演算回路134における1つの演奏チャンネル(再生チャンネル)のアドレス計算手順を説明する。図16は、再生操作(または再生同時録音操作)がされて再生が起動した時の最初のサンプリング周期で行われる計算である。再生操作がされると(S1)、トラックアドレスRAM118から、当該再生チャンネルの読み出し開始アドレスRSが読み出され(S2)、セレクタ136、レジスタA、セレクタ126を介して、トラックアドレスRAM118の当該再生チャンネルの現アドレスCR保持用アドレスに格納される(S3)。図17は、その次のサンプリング周期から停止操作がされるまでの間にサンプリング周期ごとに繰り返される計算である。トラックアドレスRAM118から現アドレスCRを読み出して、レジスタAに書き込む(S10)。ALU142でレジスタAのデータ(現アドレスCR)+1を計算して、計算結果をACC144に格納する(S11)。トラックアドレスRAM118から割り込み要求発生アドレスRTを読み出して、レジスタAへ書き込む。これを並行してACC144のデータ(現アドレスCR+1)をレジスタBへ書き込む。これと並行して、ALU142で{レジスタAのデータ(割り込み要求アドレスRT)}−{レジスタBのデータ(現アドレスCR+1)}を計算する。レジスタAのデータ=レジスタBのデータであれば、DMA転送のための割り込みを発生する(S12)。トラックアドレスRAM118からジャンプ元アドレスJTを読み出して、レジスタAへ書き込む。これと並行して、ALU142で{レジスタAのデータ(ジャンプ元アドレスJT)}−{レジスタBのデータ(現アドレスCR+1)}を計算する(S13)。トラックアドレスRAM118から領域終端アドレスTEを読み出して、レジスタAへ書き込む。これと並行して、ALU142で{レジスタAのデータ(領域終端アドレスTE)}−{レジスタBのデータ(現アドレスCR+1)}を計算する(S14)。
【0053】
ステップS13の計算結果が{レジスタAのデータ(ジャンプ元アドレスJT)}={レジスタBのデータ(現アドレスCR+1)}の場合は、トラックアドレスRAM118からジャンプ先アドレスJDを読み出して、レジスタAへ書き込む。ステップS14の計算結果が{レジスタAのデータ(領域終端アドレスTE)}<{レジスタBのデータ(現アドレスCR+1)}の場合は、トラックアドレスRAM118から領域始端アドレスTSを読み出してレジスタAに書き込む。計算結果がそれ以外の場合はレジスタBのデータ(現アドレスCR+1)をレジスタAに書き込む(S15)。そして、これら計算結果に応じてレジスタAに書き込まれたデータをトラックアドレスRAM118の該当チャンネルの現アドレスCR保持用アドレスに書き込む(S16)。その結果、次のサンプリング周期では、この現アドレスCR保持用アドレスに書き込まれたSDRAM64,66のアドレスについてサンプルデータの書き込みまたはサンプルデータの読み出しが行われる。
【0054】
録音チャンネルについても、アドレス演算回路134で同様の計算が行われる。すなわち、録音操作(または再生同時録音操作)がされて、録音が起動した時の最初のサンプリング周期でトラックアドレスRAM118から領域始端アドレスTSが読み出されて、該トラックアドレスRAM118の現アドレスCR保持用アドレスに格納され、次のサンプリング周期で該現アドレスCRで指示されるSDRAM64,66のアドレスにサンプルデータの書き込みが行なわれ、以後サンプリング周期ごとに現アドレスCRが1ずつインクリメントされていく。その途中で割り込み要求アドレスに一致すると、DMA転送のための割り込み要求が発生される。現アドレスCRが領域終端アドレスTEに到達すると、次のサンプリング周期では領域始端アドレスTSが現アドレスCRとして設定され、以後アドレス循環が繰り返される。録音チャンネルについてはアドレスジャンプは行われない。
【0055】
また、サンプラー0〜7については、再生操作(または再生同期録音操作)がされて再生が起動されると、最初のサンプリング周期でトラックアドレスRAM118のサンプラー0〜7の読み出し開始アドレスRSが読み出されて、該トラックアドレスRAM118の該当チャンネルの現アドレスCR保持用アドレスに格納され、操作者によりサンプラー発音操作がされるまでまたはソング管理データに基づきレコーダCPU14から発音指令が発せられるまでその状態が保持される。SDRAM64,66のサンプラー0〜7の読み出し開始アドレスRSには無音データが格納されているので、この状態では発音されない。操作者が任意のサンプラーについて発音操作をするとまたはソング管理データに基づきレコーダCPU14から発音指令が発せられると、該当するサンプラーについてサンプリング周期ごとに現アドレスCRが1ずつインクリメントされて、該当するサンプラー音が発音される。現アドレスCRが読み出し終了アドレスREに到達すると、次のサンプリング周期以降トラックアドレスRAM118の現アドレスCR保持用アドレスには読み出し開始アドレスRSが保持されて、次にそのサンプラーについて発音操作がされるまでまたはソング管理データに基づきレコーダCPU14から発音指令が発せられるまで、そのサンプラー音は発音されない。
また、メトロノーム(1発目)、メトロノーム(2発目以降)については、録音・再生モードの投入によってトラックアドレスRAM118からメトロノーム(1発目)、メトロノーム(2発目以降)の読み出し開始アドレスRSが読み出されて、該トラックアドレスRAM118のメトロノーム(1発目)、メトロノーム(2発目以降)の現アドレスCR保持用アドレスに格納されて、操作者によりメトロノーム音の発音指示操作がされるまで、その状態が保持される。SDRAM64,66のメトロノーム(1発目)、メトロノーム(2発目以降)の読み出し開始アドレスRSには無音データが格納されているので、この状態では発音されない。操作者がメトロノーム音の発音指示操作をすると、レコーダCPU14からメトロノーム(1発目)の発音が指令され、メトロノーム(1発目)についてサンプリング周期ごとに現アドレスCRが1ずつインクリメントされて、小節の1拍目のメトロノーム音が発音される。現アドレスCRが読み出し終了アドレスREに到達すると、次のサンプリング周期以降トラックアドレスRAM118の現アドレスCR保持用アドレスには読み出し開始アドレスRSが保持されて発音が停止される。小節の2拍目のタイミングに達すると、レコーダCPU14からメトロノーム(2発目以降)の発音が指令され、メトロノーム(2発目以降)についてサンプリング周期ごとに現アドレスが1ずつインクリメントされて、小節の2拍目のメトロノーム音が発音される。現アドレスCRが読み出し終了アドレスREに到達すると、次のサンプリング周期以降トラックアドレスRAM118の現アドレスCR保持用アドレスには読み出し開始アドレスRSが保持されて発音が停止される。メトロノーム(2発目以降)は該小節内で、曲の拍子に応じて必要な数だけ発音が繰り返し指令されて、発音が繰り返される。次の小節以降もメトロノーム音(1発目)、メトロノーム(2発目以降)、…が繰り返し発音される。
【0056】
なお、チャンネル数が多くアドレス演算回路134で1サンプリング周期内に全チャンネルのアドレス計算ができない場合には、トラックアドレスRAM118およびアドレス演算回路134を複数組並列に設けて、チャンネルを振り分けて計算するかあるいはアドレス演算回路134の動作クロック周波数を上げて計算速度を速めるようにすればよい。
【0057】
トラックアドレスジェネレータ100によるSDRAM64,66のアドレス制御例について説明する。図18は通常の録音、再生時の1つの演奏チャンネル(再生チャンネル)についてのSDRAM64または66のアドレスポインタの移動を示したものである。この例ではアドレスジャンプは含まれていない。当該チャンネルには、SDRAM64または66のA領域、B領域の連続した2クラスタ分の音データを格納するメモリ空間(アドレス領域)が割り当てられ、現アドレスCRに相当する読み出しアドレスポインタがサンプリング周期ごとに1アドレスずつインクリメントされていく。A領域の先頭に領域始端アドレスTSが設定され、B領域の後尾に領域終端アドレスTEが設定されている。また、この例では、読み出し開始アドレスRSが領域始端アドレスTSとは別のアドレスに設定されている。割り込み要求発生アドレスRTはA領域、B領域のうちアドレスポインタが存在する領域の後尾のアドレスに交互に設定される。
【0058】
選択されたソングについて再生(または録音同時再生)が指示されると、HDD60から各再生チャンネルの最初のクラスタの音データが読み出されて、DMA転送でSDRAM64,66の各再生チャンネルに割り当てられた領域のA領域に格納され、読み出し開始アドレスRSからサンプリング周期ごとにアドレスポインタが1アドレスずつ進められて、該当する音データが読み出されて再生が行われる。アドレスポインタがA領域を移動している間に次のクラスタの音データがHDD60から読み出されて、B領域に格納される。アドレスポインタがA領域を移動している際には、割り込み要求発生アドレスRTはA領域の後尾のアドレスに設定される。アドレスポインタがA領域を移動中に、B領域のDMA転送による音データの書き込みは終了する。アドレスポインタがA領域の後尾のアドレスに到達すると、割り込み要求が発生される。この割り込み要求はレコーダCPU14に通知され、DMA転送が起動されてHDD60からさらに次のクラスタの音データが読み出され、A領域にDMA転送で書き込まれる。アドレスポインタはA領域の後尾に達した後も引き続きB領域の先頭アドレスからサンプリング周期ごとに1アドレスずつ進められて、音データは途切れることなく再生される。アドレスポインタがB領域に入ると、割り込み要求発生アドレスRTはB領域の後尾のアドレスに変更される。アドレスポインタが該B領域を移動中に、A領域のDMA転送による音データの書き込みは終了する。アドレスポインタは、B領域の後尾のアドレスに到達すると、次のサンプリング周期ではA領域の先頭のアドレスに戻され、さらにサンプリング周期ごとに1アドレスずつインクリメントされていき、音データは途切れることなく再生される。アドレスポインタがA領域を移動中にB領域のDMA転送による音データの書き込みが行われる。アドレスポインタがA領域を移動中は割り込み要求発生アドレスRTはA領域の後尾のアドレスに設定される。以上のようにして、再生が停止されるまでアドレスポインタはA領域の先頭からB領域の後尾までの区間を繰り返し移動する。
【0059】
なお、録音が指示された演奏チャンネルについては、録音(または録音同時再生)の開始が指示されると、書き込みアドレスポインタが領域始端アドレスTSからサンプリング周期ごとに1アドレスずつ進められ、入力されるサンプリングデータが1サンプルずつA領域に格納されていく。このとき、割り込み要求発生アドレスRTはA領域の後尾に設定される。アドレスポインタが該割り込み要求発生アドレスRTに到達すると、割り込み要求が発生され、DMA転送が起動されて、A領域に蓄積された1クラスタ分の音データがHDD60にDMA転送されて記録される。アドレスポインタはA領域の後尾に達した後も引き続きB領域の先頭アドレスからサンプリング周期ごとに1アドレスずつ進められて、入力される音データはB領域に格納されていく。このとき、割り込み要求発生アドレスRTはB領域の後尾に設定される。アドレスポインタが該割り込み要求発生アドレスRTに到達すると、割り込み要求が発生され、DMA転送が起動されて、B領域に蓄積された1クラスタ分の音データがHDD60に転送されて記録される。アドレスポインタはA領域の先頭に戻されて、サンプリング周期ごとに1アドレスずつ進められる。録音または再生同時録音が停止されるまで以上の動作が繰り返されて、入力される音データは1クラスタずつHDD60に記録される。
【0060】
次に、無音区間を設定して録音した場合のアドレス制御例について説明する。ここでは、図19に示すように、ある演奏チャンネルについて時刻t1〜t2(t1,t2は録音開始からの経過時間)の区間に無音区間が設定されているものとする。m1〜m6はHDD60に記録されているそれぞれ1クラスタ分の音データである。録音中に時刻t1で無音区間の開始が指示されると、その時点で録音は休止され、その直前に作成されていた音データm3のクラスタ(そのクラスタの時刻t1以降には無効な音データが作成される)のデータがHDD60に記録された後は、そのチャンネルについてのHDD60への音データの記録は休止される。時刻t2に無音区間の終了が指示されると録音が再開され、音データm4,m5,…が1クラスタずつ作成されてHDD60に記録される。録音を終了して保存操作をすると、ソング管理データにそのパートの演奏の時刻t1〜t2が無音区間であることが記録される。
【0061】
図19のように無音区間を含んで録音されたパートを再生するときのアドレスジェネレータ100によるSDRAM64,66のアドレス制御例を図20の手順図に従って説明する。(i)はSDRAM64または66の領域Aに格納された音データm1を読み出している状態、(ii)はそれに続いて領域Bに格納された音データm2を読み出している状態である。音データm2を読み出している間に領域Aが音データm3に書き換えられ、時刻t1に相当するアドレスがジャンプ元アドレスJTとして設定され、無音領域の先頭のアドレスがジャンプ先アドレスJDとして設定される。アドレスポインタAPが領域Bの後尾のアドレスに達すると、(iii) のようにアドレスポインタAPが領域Aに戻されて、その先頭のアドレスから再び移動していく。また、割り込み要求発生アドレスRTがジャンプ元アドレスJTと同じアドレスに設定される。アドレスポインタAPはジャンプ元アドレスJTに到達すると、ジャンプ先アドレスJDにジャンプし、(iv)に示すようにジャンプ先アドレスJDからサンプリング周期ごとに1アドレスずつ移動していく。これにより当該チャンネルについて無音が再生される。また、アドレスポインタAPがジャンプ元アドレスJTで割り込み要求発生アドレスRTに到達することにより、割り込み要求が発生され、無音再生されている間に領域Bが音データm4に書き換えられ、領域Aが音データm5に書き換えられる。無音区間の終了時刻t2の直前まで、無音区間の後尾のアドレスがシャンプ元アドレスJT、該無音区間の先頭のアドレスがジャンプ先アドレスJDに設定され、アドレスポインタAPは無音領域を循環して、無音が再生される。この間HDD60からの当該チャンネルの音データの読み出しは休止される。無音区間の終了時刻t2の直前に達すると、(v)に示すように、無音区間の終了時刻t2に相当する無音領域のアドレスがジャンプ元アドレスJTとして設定され、領域Bの先頭のアドレスがジャンプ先アドレスJDとして設定される。アドレスポインタAPは無音領域のジャンプ元アドレスJTに到達すると、(vi)に示すようにジャンプ先アドレスJDにジャンプし、領域Bの先頭から音データm4の読み出しを再開する。これにより、無音区間は終了し、当該チャンネルの演奏音が再生される。また、領域Bの後尾の領域終端アドレスTEが割り込み要求発生アドレスRTとして設定される。アドレスポインタAPは領域終端アドレスTEに到達すると、(vii) に示すように領域Aに戻されて、その先頭のアドレスから再び移動していき、音データm5が読み出されて再生される。また、割り込み要求が発生されて、領域Bが音データm6に書き替えられ、音データm5の読み出し終了後に音データm6が読み出されて再生される。
【0062】
次に、リピート再生する場合のアドレス制御例について説明する。ここでは、図21に示すように、録音されているソングのt3〜t4の区間をリピート再生し、この区間内の時刻t5〜t6でパンチイン、パンチアウトを行うものとする。m1〜m6はそれぞれ1クラスタずつの音データである。リピート再生の開始時刻t3は音データm1の途中の時刻であり、リピート再生の終了時刻t4は音データm6の途中の時刻である。図21のようにリピート再生する場合のアドレスジェネレータ100によるSDRAM64,66のアドレス制御例を図22の手順図に従って説明する。録音・再生モードにおいてパンチイン、パンチアウトモードが選択されると、前記図13で示したように、各演奏チャンネル0〜23にSDRAM64,66の4クラスタ分の領域A〜Dが割り当てられる。操作者の操作によりリピート区間t3〜t4およびパンチイン、パンチアウト区間t5〜t6が指示されると、HDD60が読み出されて、図22の(i)に示すように、時刻t3が含まれるクラスタの音データm1が領域Aに格納され、時刻t4が含まれるクラスタの音データm6が領域Dに格納される。これらリピート区間の両端の音データm1,m6はリピート再生を行っている間書き換えられない。領域B,Cには、最初に(i)に示すように、音データm2,m3がそれぞれ格納される。領域Aの先頭アドレスに領域始端アドレスTS、領域Aの時刻t3に相当するアドレスに読み出し開始アドレスRS、領域Aの後尾にジャンプ先アドレスJD、領域Bの後尾に割り込み要求発生アドレスRT、領域Cの後尾にジャンプ元アドレスJT、領域Dの後尾に領域終端アドレスTEがそれぞれ設定される。
【0063】
リピート再生開始が指示されると、(ii)に示すように、アドレスポインタAPが読み出し開始アドレスRSからサンプリング周期ごとに1アドレスずつ進行していき、音データm1のうち時刻t3以降の音データが読み出されて再生される。アドレスポインタAPが領域Aの後尾アドレスに到達すると、(iii) に示すように、領域Bの音データm2がそのまま続けて再生される。音データm2を再生している途中の時刻t5に到達すると、パンチイン、パンチアウトが指示されたチャンネルが録音モードに切り換えられて、パンチインが実行される。アドレスポインタAPが領域Bの後尾アドレスに到達すると、割り込み要求が発生し、HDD60から音データm4が読み出され、(iv)に示すように、領域Bが該音データm4で書き換えられる。アドレスポインタAPはそのまま領域Bを移動して音データm3の再生および入力音の録音が続行される。割り込み要求発生アドレスRTは領域Cの後尾アドレスに変更される。アドレスポインタAPが領域Cの後尾アドレスに到達すると、ジャンプが発生し、(v)に示すようにアドレスポインタAPが領域Bの先頭アドレスに戻されて、音データm4の読み出しが行われる。また、割り込み要求が発生されて、HDD60から音データm5が読み出され、領域Cが該音データm5で書き換えられる。割り込み要求発生アドレスRTは、領域Bの後尾アドレスに設定される。アドレスポインタAPが領域Bの後尾アドレスに到達すると、割り込み要求が発生され、(vi)に示すように、領域Bが音データm2で書き換えられる。アドレスポインタAPはそのまま領域Cを移動し、音データm5の再生が行われる。割り込み要求発生アドレスRTは領域Cの後尾アドレスに変更される。また、領域Dの時刻t4に相当するアドレスがジャンプ元アドレスJT、領域Aの時刻t3に相当するアドレスがジャンプ先アドレスJDとして設定される。音データm5を再生している途中の時刻t6に到達すると、パンチイン、パンチアウトが指示されたチャンネルが再生モードに戻されて、パンチアウトが実行される。アドレスポインタAPが領域Cの後尾アドレスに到達すると、割り込み要求が発生し、(vii) に示すように、領域Cが音データm3で書き換えられる。アドレスポインタAPはそのまま領域Dを移動し、音データm6の再生が行われる。割り込み要求発生アドレスRTは領域Bの後尾アドレスに変更される。アドレスポインタAPがリピート区間の終了時刻t4に相当するアドレスに到達すると、ジャンプが発生し、(viii)に示すように、アドレスポインタAPが領域Aのリピート区間の開始時刻t3に相当するアドレスに戻され、そこから再び再生が行われて、以上のリピート再生およびパンチイン、パンチアウト動作が繰り返される。なお、時刻t3に相当するアドレスから再生を再開する前にわずかな無音時間を形成して、リピート区間の開始位置に戻ったことが容易に認識されるようにしてもよい。
【0064】
最後に、図10のDMAアドレスジェネレータ102による、DMA転送におけるSDRAM64,66の書き込み、読み出しアドレス制御について説明する。1つのチャンネルについてのDMAアドレスジェネレータ102の構成例を図23に示す。DMAアドレスジェネレータ102はカウンタ146で構成される。DMA転送のための割り込み要求が発生されると、レコーダCPU14はSDRAM64,66の該当チャンネルの領域A,B(リピート再生の場合は領域B,C)のうち、今回DMA転送を行う側の領域の先頭アドレスをカウンタ146に設定する。カウンタ146のインクリメント入力INCには、図7のオア回路96から出力されるサンプリング周期の残り3/4の区間(すなわちDMA転送を行う区間)を示す信号が入力され、クロック入力CKには、512分割クロックを1/4に分周したクロックが入力される。これによりカウンタ146はDMA転送を行う区間で512分割クロックの4クロックごとにカウントアップされ、そのカウント値がSDRAM64,66にアドレス情報として入力されて該当するアドレスからサンプルデータが読み出されてHDD60にDMA転送され、あるいはHDD60からDMA転送されたサンプルデータがそのアドレスに書き込まれる。
【0065】
なお、上記実施の形態ではバッファメモリをSDRAMで構成した場合について説明したが、他の形式のメモリを用いることもできる。また、上記実施の形態では外部記憶装置をHDDとしたが、光ディスク装置、光磁気ディスク装置、その他の外部記憶装置を使用することもできる。また、上記実施の形態では外部記憶装置が内蔵されている記録再生装置にこの発明を適用した場合について説明したが、外部記憶装置をSCSI等のインタフェースボードを介して外付けして使用する記録再生装置にもこの発明を適用することができる。また、上記実施の形態ではディジタルミキシングレコーダ(ハードディスクレコーダ)にこの発明を適用した場合について説明したが、ミキシング機能を具えていないディジタルレコーダ、その他各種のサンプルデータ再生装置にこの発明を適用することができる。
【図面の簡単な説明】
【図1】 この発明の実施の形態を示す図で、図10のトラックアドレスジェネレータの構成例を示すブロック図である。
【図2】 ハードディスクレコーダにおけるリピート再生の説明図である。
【図3】 この発明を適用したハードディスクレコーダ全体の主要部のシステム構成を示すブロック図である。
【図4】 図3のHDD60のアドレス領域の分割例を示す図である。
【図5】 図3のハードディスクレコーダ全体のシステム構成のうち、音データ、システム管理データ、ソング管理データの授受に関与する主な部分を抽出して示したブロック図である。
【図6】 図3のハードディスクレコーダにおけるバス56の使用権の分割例および録音・再生モード時のサンプリング周期内のSDRAMの書き込み、読み出し処理の分割例を示すタイムチャートである。
【図7】 図3のハードディスクレコーダにおけるバス56の使用権の時分割制御の制御系統ブロック図である。
【図8】 図7の制御系統の動作を示すタイムチャートである。
【図9】 図7の制御系統による1つの再生チャンネルについてのDMA転送の手順(プロトコル)を示す図である。
【図10】 図3のDRC68内におけるサンプルデータの信号経路構成およびSDRAM64,66のアドレス情報の信号経路構成の具体例を示すブロック図である。
【図11】 通常の録音、再生時におけるSDRAM64,66のアドレスマップ例を示す図である。
【図12】 表2のシーケンスを実行する際のSDRAM64,66の制御信号の一部を示すタイムチャートである。
【図13】 パンチイン、パンチアウト時におけるSDRAM64,66のアドレスマップ例を示す図である。
【図14】 図1のトラックアドレスRAM118のアドレスマップを示す図である。
【図15】 各チャンネルに割り当てられたアドレス演算回路134の使用時間の分割例を示すタイムチャートである。
【図16】 再生が起動した時の最初のサンプリング周期におけるアドレス演算回路134よる1つの演奏チャンネル(再生チャンネル)のアドレス計算手順を示すフローチャートである。
【図17】 再生が起動した時の最初のサンプリング周期の次のサンプリング周期から停止操作がされるまでの間にサンプリング周期ごとに繰り返されるアドレス演算回路134よる1つの演奏チャンネル(再生チャンネル)のアドレス計算手順を示すフローチャートである。
【図18】 通常の録音、再生時の1つの演奏チャンネル(再生チャンネル)についてのSDRAM64または66のアドレスポインタの移動例を示す図である。
【図19】 無音区間が設定された演奏例を示すタイムチャートおよび該演奏音を録音したHDDの記録データを示す図である。
【図20】 図19の無音区間を含んで録音されたパートを再生するときのアドレスジェネレータ100によるSDRAM64,66のアドレス制御例を示す手順図図である。
【図21】 パンチイン、パンチアウトにおけるリピート再生区間の設定例を示すタイムチャートである。
【図22】 図21のリピート再生するときのアドレスジェネレータ100によるSDRAM64,66のアドレス制御例を示す手順図である。
【図23】 図10のDMAアドレスジェネレータ102の構成例を示すブロック図である。
【符号の説明】
10…ハードディスクレコーダ(サンプルデータ再生装置)、64,66…SDRAM(バッファメモリ)、60…HDD(外部記憶装置)、100…トラックアドレスジェネレータ(バッファメモリ制御回路)118…トラックアドレスRAM(ジャンプアドレス設定回路、アドレスメモリ)、134…アドレス演算回路(読み出しアドレス演算回路)。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an apparatus for reproducing sample data recorded on an external storage device (referred to as data sampled at an appropriate sampling frequency) and an apparatus for recording / reproduction, which enable efficient reading of sample data. is there.
[0002]
[Prior art]
In a digital mixing recorder (hard disk recorder) using a hard disk device (hereinafter referred to as “HDD”) as an external storage device, sound data is distributed and recorded at appropriate addresses for each predetermined unit section (for example, for each cluster of data). During playback, based on the chain information of the recording positions of the sound data included in the separately recorded management data, the recording positions are sequentially accessed to obtain a series of sound data, and the acquired sound data Are sequentially stored in the buffer memory, and reproduction is performed by sequentially reading out one sample of sample data from the buffer memory at each sampling period.
[0003]
[Problems to be solved by the invention]
Conventional hard disk recorders , Pa In order to perform repeat playback (an operation that automatically repeats playback of a specified section) by specifying an arbitrary section in order to perform punch-in, punch-out, etc., each of the sections included in the specified section It is necessary to repeatedly access the recording position on the HDD where the sound data of the unit section is recorded in order and repeatedly acquire the sound data of each unit section. As shown in FIG. When a section from the time close to the end of
The present invention has been made in view of the above points, and an object of the present invention is to provide a sample data reproducing apparatus and a sample data recording / reproducing apparatus that enable efficient reading of sample data.
[0007]
[Means for Solving the Problems]
This The sample data reproducing apparatus of the invention reads sample data stored in an external storage device sequentially in predetermined unit intervals and writes them to a buffer memory, and reads the sample data from the buffer memory sample by sample for each sampling period. In a sample data reproducing apparatus that reproduces sample data that has been read from the buffer memory and sequentially updates the unit data with new sample data that is read from the external storage device, and continuously reproduces the sample data. In the case of repeatedly reproducing sample data of an arbitrary section spanning the unit section, at least the unit section including at least the head portion of the repeat section and the sample data of the unit section including the tail portion of the repeat section are stored in the external storage. The buffer memory read from the device Stored in a predetermined area, during reproduction, the sample data of the unit section of the intermediate portion is sequentially read out from the external storage device, sequentially updated and stored in another area of the buffer memory, and the sample data from the buffer memory is 1 At an appropriate time during the reading of each sample, the jump source address and the jump destination address of the address jump necessary for continuous and repeated playback of the repeat section are sequentially set, and the read address of the buffer memory is set. A buffer memory control circuit that detects that the set jump source address has been reached, jumps a read address to the jump destination address, and continues reading sample data from the jump destination address It is. According to this, each sample data of the unit interval including at least the beginning portion of the repetition interval and the unit interval including the tail portion of the repetition interval is read from the external storage device and stored in a predetermined area of the buffer memory, During repeat playback, the sample data of the unit section of the intermediate portion is sequentially read out from the external storage device and played back. Therefore, during repeat playback, at least the unit section including the head portion and the unit section including the tail portion are included. There is no need to read from the external storage device, and even when the head portion of the unit section including the head portion and the tail portion of the unit section including the tail portion are short, the access of the external storage device cannot be made in time. It is possible to prevent the playback sound from being interrupted in the middle of the song. Further, it is possible to eliminate the waiting time from the end of the reproduction of the repeat section to the restart of the reproduction of the repeat section, or to set an arbitrarily short time.
[0008]
This The sample data recording / reproducing apparatus of the present invention sequentially reads sample data stored in an external storage device by a predetermined unit interval and writes the sample data to a buffer memory, and reads the sample data from the buffer memory sample by sample at every sampling period. The sample data that has been read and reproduced from the buffer memory is updated sequentially for each unit interval with new sample data that is read from the external storage device, and the sample data is continuously reproduced, in parallel with the reproduction. In this way, sample data that is separately input is written into the buffer memory one sample at a time in a time-sharing manner, and the sample data written in the buffer memory is read out from the buffer memory in predetermined unit intervals to the external storage device. Write, read from the buffer memory In a sample data recording / reproducing apparatus that sequentially updates sample data that has been completed with newly input sample data and continuously records the sample data, while repeatedly reproducing the sample data in an arbitrary interval across a plurality of unit intervals , When recording separately input sample data in a section designated as appropriate in the repetition section, a unit section including at least a head portion of the repetition section and a unit section including a tail portion of the repetition section in advance. Each sample data is read from the external storage device and stored in a predetermined area of the buffer memory, and during reproduction, the sample data of the unit section of the intermediate portion is sequentially read from the external storage device to another area of the buffer memory. Sequentially update and store, and read sample data from the buffer memory one sample at a time The jump source address and the jump destination address of the address jump necessary to continuously and repeatedly reproduce the repeated section are set in order at an appropriate time during the output, and the read address of the buffer memory is set to the set Detecting that the jump source address has been reached, jumping the read address to the jump destination address, continuing to read sample data from the jump destination address, and instructing the recording during the playback In the reproduction operation and time division, sample data input separately is written into the buffer memory one sample at each sampling period, and the sample data written in the buffer memory is read out from the buffer memory in predetermined unit intervals. Write to external storage device and finish reading buffer memory A buffer memory control circuit for sequentially updating the sample data with newly inputted sample data. According to this, for example, when performing punch-in and punch-out while repeat playback, each sample data of the unit section including at least the beginning portion of the repeated section and the unit section including the tail portion of the repeated section is stored in the external section. Since it is read from the storage device, stored in a predetermined area of the buffer memory, and the sample data of the unit section of the intermediate portion is sequentially read out from the external storage device during the repeat reproduction, it is reproduced at least at the head portion during the repeat reproduction. When the unit section including the tail part and the unit part including the tail part are not read from the external storage device, the head part of the unit section including the head part and the tail part of the unit section including the tail part are short. However, access to the external storage device will not be in time, and the playback sound will be interrupted in the middle of the song. Punch-in and punch-out operations can be performed, or the waiting time from the end of playback of a repeat section to the restart of playback of the repeat section can be eliminated or set to any short time. Can be performed smoothly.
[0009]
DETAILED DESCRIPTION OF THE INVENTION
An embodiment in which the present invention is applied to a digital mixing recorder (hard disk recorder) using an HDD as an external storage device will be described. FIG. 3 shows the system configuration of the main part of the entire hard disk recorder. This
[0010]
The
[0011]
Connected to the
[0012]
The
[0013]
The
[0014]
A plurality of channels (for example, a maximum of 16 channels) of analog audio signals (recording inputs) input from the
[0015]
The
[0016]
An example of division of the address area of the
[0017]
In the song management data areas 86-1, 86-2,... Of each song, in order to reproduce the sound data of each virtual track included in the song recorded in a distributed manner as continuous music. Necessary sequence data indicating a chain of recording addresses of sound data for each virtual track is recorded. For a virtual track in which a silent section is designated, information on the start time and end time of the silent section is also recorded. In addition, sequence data relating to the mixing function for each virtual track included in the song is also recorded in the song management data areas 86-1, 86-2,. The song management data areas 86-1, 86-2,... Of each song have a fixed capacity (for example, 1.5 Mbytes per song), and every time the operator instructs to create a new song file. The song management data area for the song is newly initialized and secured, and each time recording sound data is added for the song, the song management data is updated accordingly. The song management data areas 86-1, 86-2,... Of each song are fixed once determined, and are not erased unless an explicit song erase command is given by the operator. In the system management data address area 84, system management data including data for knowing the recording position of the song management data for each song is recorded.
[0018]
Song management data is recorded in units of songs in order from the rear end of all address areas of the
[0019]
According to the file structure as described above, when the power of the
[0020]
In FIG. 3, the
The
[0021]
Transfer of data (sound data, system management data, song management data) in the recording / playback mode in the
[0022]
In the recording / playback mode, processing is performed as follows for the track {recording (recording) channel} instructed to record. The recording signal (sound data) of the track input from the
[0023]
In the recording / playback mode, the following processing is performed for the track (playback channel) for which playback has been instructed. The
[0024]
A specific example of the right to use (bus right) control of the
[0025]
The DMA transfer from the
[0026]
A specific example of time-sharing control of the right to use the
[0027]
In FIG. 7, in the recording / reproducing mode, the
[0028]
While the
[0029]
A DMA transfer procedure (protocol) for one reproduction channel by the control system of FIG. 7 will be described with reference to FIG. When reading of reproduction output sample data for one cluster from the
[0030]
Note that the address areas of the
[0031]
A specific example of the signal path configuration of the sample data in the
[0032]
The sample data of each input channel supplied from the DSP 38 (FIGS. 5 and 3) is converted into parallel data by the serial /
[0033]
Table 1 shows an example of assignment of each channel to each bank at the time of normal recording and reproduction in the recording / reproducing mode of the
[0034]
Chips 0 (one of the
[0035]
FIG. 11 shows an example of an address map of
[0036]
The
ACT: A command for activating the selected bank. At this time, a row (row) address is designated.
RDwAP: Read with auto pre-charge (command to read and automatically precharge after completion). At this time, a column address is designated. )
WTwAP: Write with auto pre-charge (command to write and automatically precharge after completion). At this time, a column address is designated.
R / WwAP: Read or write with auto pre-charge (command to read or write and automatically precharge after completion). At this time, a column address is designated.
R: Read mode
W: Write mode
[0037]
[0038]
In the example of Table 2, among the 0 to 23 channels for performance sound,
[0039]
Table 3 shows an example of assigning each channel to each bank at the time of punch-in / punch-out in the recording / reproducing mode of the
[0040]
An example of an address map of the
[0041]
Address control of the
[0042]
(1) In-area address 0 {area start address (TS) holding address}: start address of the address area of the
{Circle around (2)} Intra-area address 1 {area end address (TE) holding address}: end address of the address area of the
(4) In-area address 3 {address for holding interrupt request generation address (RT)}: Address of
(5) In-area address 4 {Address for holding current address (CR)}: Address of
(6) In-area address 5 {Jump source address (JT) holding address}: Jump source address of
(7) In-area address 6 {Jump destination address (JD) holding address}: Jump destination address of
(8) Area address 7: Not used
[0043]
In addition, the following four addresses in the area are assigned to the areas for the
(1) In-area address 0 {Read start address (RS) holding address}: Address of
{Circle around (2)} In-area address 1 {reading end address (RE) holding address}: address of
{Circle around (3)} In-area address 2 {Address for holding current address (CR)}: Address of
(4) Area address 4: Unused
[0044]
For
[0045]
When the recording / playback mode is selected in the
[0046]
Subsequently, when a song is designated, based on the song management data read from the
[0047]
When recording and playback are being performed, the interrupt request generation address RT, jump source address JT, and jump destination address JD for the channels for which playback is instructed from the
[0048]
In FIG. 1, the SDRAM read / write
[0049]
The address information selected by the selector 132 is the timing of every eight divided 512 clocks for writing the data of the
[0050]
The address calculation circuit 134 is based on the address parameter stored in the track address RAM 118, and addresses of the
[0051]
A configuration in the address arithmetic circuit 134 of FIG. 1 will be described. The selector 136 reads each address parameter or register of the channel that is currently being read from the track address RAM 118 in a time division manner at a timing excluding the write timing of the track address RAM 118 (one clock for every 8 divided 512 clocks). The data of 138 (register B) is selected. The selected data is written to the register 140 (register A). The data written in the register A is sent to the
[0052]
An address calculation procedure for one performance channel (playback channel) in the address calculation circuit 134 will be described. FIG. 16 shows calculations performed in the first sampling cycle when playback is started after playback operation (or playback simultaneous recording operation) is performed. When a reproduction operation is performed (S1), the read start address RS of the reproduction channel is read from the track address RAM 118 (S2), and the reproduction channel of the track address RAM 118 is transmitted via the selector 136, the register A, and the
[0053]
If the calculation result of step S13 is {register A data (jump source address JT)} = {register B data (current address CR + 1)}, the jump destination address JD is read from the track address RAM 118 and written to the register A. . If the calculation result in step S14 is {register A data (region end address TE)} <{register B data (current address CR + 1)}, the region start end address TS is read from the track address RAM 118 and written to the register A. Otherwise, the data in register B (current address CR + 1) is written into register A (S15). Then, the data written in the register A according to these calculation results is written in the current address CR holding address of the corresponding channel in the track address RAM 118 (S16). As a result, in the next sampling period, sample data is written or sample data is read from the addresses of the
[0054]
For the recording channel, the address calculation circuit 134 performs the same calculation. That is, when the recording operation (or simultaneous reproduction recording operation) is performed and the recording is started, the area start end address TS is read from the track address RAM 118 at the first sampling period, and the current address CR in the track address RAM 118 is held. Sample data is written to the addresses of the
[0055]
For the
For the metronome (first shot) and metronome (second shot and later), the read start address RS of the metronome (first shot) and metronome (second shot and later) is read from the track address RAM 118 when the recording / playback mode is turned on. Until it is read and stored in the address for holding the current address CR of the metronome (first one) and metronome (second and later) in the track address RAM 118, and the metronome sound is instructed to be operated by the operator. That state is maintained. Since silence data is stored in the read start address RS of the metronome (first one) and the metronome (second and later) of the
[0056]
If there are a large number of channels and the address calculation circuit 134 cannot calculate addresses for all channels within one sampling period, a plurality of sets of track address RAM 118 and address calculation circuits 134 are provided in parallel, and the channels are distributed and calculated. Alternatively, the operation speed of the address arithmetic circuit 134 may be increased to increase the calculation speed.
[0057]
An example of address control of the
[0058]
When playback (or simultaneous recording / playback) is instructed for the selected song, the sound data of the first cluster of each playback channel is read from the
[0059]
For the performance channel for which recording has been instructed, when the start of recording (or simultaneous playback of recording) is instructed, the write address pointer is advanced by one address for each sampling period from the area start end address TS, and the input sampling is performed. Data is stored in the A area sample by sample. At this time, the interrupt request generation address RT is set at the end of the A area. When the address pointer reaches the interrupt request generation address RT, an interrupt request is generated, DMA transfer is started, and the sound data for one cluster stored in the A area is DMA transferred to the
[0060]
Next, an example of address control when recording is performed with a silent section set. Here, as shown in FIG. 19, it is assumed that a silent section is set in a section between times t1 and t2 (t1 and t2 are elapsed times from the start of recording) for a certain performance channel. m1 to m6 are sound data for one cluster recorded in the
[0061]
An example of address control of the
[0062]
Next, an example of address control in the case of repeat reproduction will be described. Here, as shown in FIG. 21, it is assumed that a section of t3 to t4 of a recorded song is repeatedly reproduced, and punch-in and punch-out are performed at times t5 to t6 in this section. m1 to m6 are sound data of one cluster each. The repeat reproduction start time t3 is a time in the middle of the sound data m1, and the repeat reproduction end time t4 is a time in the middle of the sound data m6. An example of address control of the
[0063]
When the repeat reproduction start is instructed, as shown in (ii), the address pointer AP advances one address at every sampling period from the read start address RS, and the sound data after the time t3 in the sound data m1. It is read and played. When the address pointer AP reaches the tail address of the area A, as shown in (iii), the sound data m2 of the area B is continuously reproduced as it is. When the time t5 in the middle of reproducing the sound data m2 is reached, the channel instructed to punch-in and punch-out is switched to the recording mode, and punch-in is executed. When the address pointer AP reaches the tail address of the area B, an interrupt request is generated, the sound data m4 is read from the
[0064]
Finally, write and read address control of the
[0065]
In the above embodiment, the case where the buffer memory is configured by SDRAM has been described. However, other types of memories can be used. In the above embodiment, the external storage device is an HDD. However, an optical disk device, a magneto-optical disk device, and other external storage devices can also be used. In the above-described embodiment, the case where the present invention is applied to a recording / reproducing apparatus incorporating an external storage device has been described. However, the recording / reproduction using the external storage device externally via an interface board such as SCSI is used. The present invention can also be applied to an apparatus. In the above embodiment, the case where the present invention is applied to a digital mixing recorder (hard disk recorder) has been described. However, the present invention can be applied to a digital recorder that does not have a mixing function and other various sample data reproduction apparatuses. it can.
[Brief description of the drawings]
1 is a diagram showing an embodiment of the present invention, and is a block diagram showing a configuration example of a track address generator of FIG.
FIG. 2 is an explanatory diagram of repeat reproduction in a hard disk recorder.
FIG. 3 is a block diagram showing a system configuration of a main part of the entire hard disk recorder to which the present invention is applied.
4 is a diagram illustrating an example of division of an address area of the
5 is a block diagram showing extracted main parts involved in the exchange of sound data, system management data, and song management data in the entire system configuration of the hard disk recorder of FIG. 3;
6 is a time chart showing an example of dividing the right to use
7 is a control system block diagram of time-sharing control of the right to use
8 is a time chart showing the operation of the control system of FIG.
9 is a diagram showing a DMA transfer procedure (protocol) for one playback channel by the control system of FIG. 7; FIG.
10 is a block diagram showing a specific example of the signal path configuration of sample data and the signal path configuration of address information of
FIG. 11 is a diagram showing an example of an address map of
12 is a time chart showing a part of control signals of
FIG. 13 is a diagram showing an example of an address map of
14 is a diagram showing an address map of the track address RAM 118 of FIG. 1. FIG.
FIG. 15 is a time chart showing an example of dividing the usage time of the address calculation circuit 134 assigned to each channel;
FIG. 16 is a flowchart showing the address calculation procedure of one performance channel (reproduction channel) by the address calculation circuit 134 in the first sampling period when reproduction is started.
FIG. 17 shows the address of one performance channel (playback channel) by the address calculation circuit 134 that is repeated every sampling cycle from the sampling cycle next to the first sampling cycle when playback is started until the stop operation is performed. It is a flowchart which shows a calculation procedure.
FIG. 18 is a diagram showing an example of movement of the address pointer of the
FIG. 19 is a diagram showing a time chart showing an example of performance in which a silent section is set, and recording data of an HDD that records the performance sound.
20 is a procedure diagram showing an example of address control of the
FIG. 21 is a time chart showing an example of setting a repeat playback section in punch-in and punch-out.
22 is a procedure diagram showing an example of address control of the
23 is a block diagram illustrating a configuration example of the
[Explanation of symbols]
DESCRIPTION OF
Claims (2)
複数の単位区間に跨る任意の区間のサンプルデータを繰り返し再生する場合に、予め少なくとも繰り返し区間の先頭部分が含まれる単位区間と該繰り返し区間の後尾部分が含まれる単位区間の各サンプルデータを前記外部記憶装置から読み出して前記バッファメモリの所定領域に格納し、再生中にその中間部分の単位区間のサンプルデータを前記外部記憶装置から順次読み出して前記バッファメモリの別の領域に順次更新して格納し、該バッファメモリからサンプルデータを1サンプルずつ読み出している最中の適宜の時点で、該繰り返し区間を連続してかつ繰り返し再生するために必要なアドレスジャンプのジャンプ元アドレスとジャンプ先アドレスを順次設定し、該バッファメモリの読み出しアドレスが該設定されたジャンプ元アドレスに到達したことを検出して、読み出しアドレスを前記ジャンプ先アドレスにジャンプして、該ジャンプ先アドレスからサンプルデータの読み出しを続行するバッファメモリ制御回路を具備してなるサンプルデータ再生装置。The sample data stored in the external storage device is sequentially read out in predetermined unit intervals and written into the buffer memory. The sample data is read out from the buffer memory one sample at a time for each sampling period and reproduced. In the sample data reproduction device for sequentially updating the sample data by successively updating the unit data with the new sample data read out from the external storage device for each unit interval,
When repeatedly reproducing sample data of an arbitrary section spanning a plurality of unit sections, each sample data of a unit section including at least a head portion of the repeated section and a unit section including the tail portion of the repeated section is stored in the external Read from the storage device and store it in a predetermined area of the buffer memory. During playback, the sample data of the unit section of the intermediate part is sequentially read from the external storage device and sequentially updated and stored in another area of the buffer memory. The jump source address and the jump destination address of the address jump necessary to continuously and repeatedly reproduce the repeated section are sequentially set at an appropriate time when sample data is read from the buffer memory one sample at a time. And the read address of the buffer memory is the set jump source address And detecting the arrival, to jump the read address to the jump destination address, sample data reproducing apparatus comprising comprises a buffer memory control circuit to continue the reading of sample data from the jump destination address.
複数の単位区間に跨る任意の区間のサンプルデータを繰り返し再生しながら、該繰り返し区間内の適宜指示された区間で、別途入力されるサンプルデータを記録する場合に、予め少なくとも繰り返し区間の先頭部分が含まれる単位区間と該繰り返し区間の後尾部分が含まれる単位区間の各サンプルデータを前記外部記憶装置から読み出して前記バッファメモリの所定領域に格納し、再生中にその中間部分の単位区間のサンプルデータを前記外部記憶装置から順次読み出して前記バッファメモリの別の領域に順次更新して格納し、該バッファメモリからサンプルデータを1サンプルずつ読み出している最中の適宜の時点で、該繰り返し区間を連続してかつ繰り返し再生するために必要なアドレスジャンプのジャンプ元アドレスとジャンプ先アドレスを順次設定し、該バッファメモリの読み出しアドレスが該設定されたジャンプ元アドレスに到達したことを検出して、読み出しアドレスを前記ジャンプ先アドレスにジャンプして、該ジャンプ先アドレスからサンプルデータの読み出しを続行し、該再生中に前記記録を指示された区間で該再生動作と時分割で、別途入力されるサンプルデータをサンプリング周期ごとにバッファメモリに1サンプルずつ書き込み、該バッファメモリに書き込まれたサンプルデータを所定の単位区間ずつ該バッファメモリから読み出して前記外部記憶装置に書き込み、該バッファメモリの読み出しを終了したサンプルデータを新たに入力されるサンプルデータで順次更新するバッファメモリ制御回路を具備してなるサンプルデータ記録再生装置。The sample data stored in the external storage device is sequentially read out in predetermined unit intervals and written into the buffer memory. The sample data is read out from the buffer memory one sample at a time for each sampling period and reproduced. The sample data that has been completed is updated sequentially for each unit interval with new sample data that is read from the external storage device, the sample data is reproduced continuously, and the sample is input separately in a time-sharing manner in parallel with the reproduction. Data is written to the buffer memory one sample at each sampling period, the sample data written to the buffer memory is read from the buffer memory in predetermined unit intervals, written to the external storage device, and the reading of the buffer memory is completed. New sample data entered That the sample data are sequentially updated, the sample data recording and reproducing apparatus for continuously recording the sample data,
When repetitively reproducing sample data of an arbitrary section across a plurality of unit sections and recording separately input sample data in an appropriately designated section within the repeated section, at least a head portion of the repeated section is previously stored. Each sample data of the unit interval including the unit interval included and the tail portion of the repetition interval is read from the external storage device and stored in a predetermined area of the buffer memory, and the sample data of the unit interval of the intermediate portion during reproduction Are sequentially read from the external storage device, sequentially updated and stored in another area of the buffer memory, and the repetition interval is continuously performed at an appropriate time during reading of sample data sample by sample from the buffer memory. And the jump source address and jump destination address of the address jump necessary for repeated playback The buffer memory read address reaches the set jump source address, jumps the read address to the jump destination address, and reads the sample data from the jump destination address. In the interval instructed to record during the playback, the sampled data, which is input separately, is written into the buffer memory for each sampling period by the playback operation and time division, and written to the buffer memory. A buffer memory control circuit for reading sample data from the buffer memory in predetermined unit intervals and writing them to the external storage device and sequentially updating the sample data that has been read from the buffer memory with newly input sample data; A sample data recording / reproducing apparatus.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000024637A JP3714087B2 (en) | 2000-02-02 | 2000-02-02 | Sample data reproducing apparatus and sample data recording / reproducing apparatus |
US09/772,635 US6441290B2 (en) | 2000-02-01 | 2001-01-30 | Apparatus and method for reproducing or recording, via buffer memory, sample data supplied from storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000024637A JP3714087B2 (en) | 2000-02-02 | 2000-02-02 | Sample data reproducing apparatus and sample data recording / reproducing apparatus |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005185728A Division JP4135002B2 (en) | 2005-06-24 | 2005-06-24 | Sample data reproducing apparatus and sample data recording / reproducing apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001216736A JP2001216736A (en) | 2001-08-10 |
JP3714087B2 true JP3714087B2 (en) | 2005-11-09 |
Family
ID=18550590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000024637A Expired - Fee Related JP3714087B2 (en) | 2000-02-01 | 2000-02-02 | Sample data reproducing apparatus and sample data recording / reproducing apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3714087B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100621631B1 (en) * | 2005-01-11 | 2006-09-13 | 삼성전자주식회사 | Semiconductor disk controller |
-
2000
- 2000-02-02 JP JP2000024637A patent/JP3714087B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001216736A (en) | 2001-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6441290B2 (en) | Apparatus and method for reproducing or recording, via buffer memory, sample data supplied from storage device | |
US5300725A (en) | Automatic playing apparatus | |
US6437228B2 (en) | Method and apparatus for storing audio data | |
JP3055220B2 (en) | Digital recorder | |
JP2002124022A (en) | Audio data recording and reproducing device | |
JPH0922287A (en) | Musical sound waveform generating method | |
JP3714087B2 (en) | Sample data reproducing apparatus and sample data recording / reproducing apparatus | |
JP4135002B2 (en) | Sample data reproducing apparatus and sample data recording / reproducing apparatus | |
JP3509683B2 (en) | Recording device for multiple channel sample data, reproducing device, buffer circuit of recording and reproducing device | |
US5559779A (en) | Digital audio recorder using external memory medium and leading portion audio data memory | |
JP3770030B2 (en) | Recording / playback device | |
JP3573043B2 (en) | Synchronous circuit of multiple microcomputers of recording and playback device | |
JP3664027B2 (en) | Recording / playback device | |
JP2916533B2 (en) | Digital multi-track recorder | |
JP2001216722A (en) | Sample data recording/reproducing device | |
JP3230756B2 (en) | Digital recorder | |
JP4151726B2 (en) | Waveform data processor | |
JP2650382B2 (en) | Digital signal processing method and circuit | |
JP4055784B2 (en) | Multitrack playback device | |
JP3925294B2 (en) | Waveform data processor | |
JP3656906B2 (en) | Waveform data playback device with variable time axis | |
JP4207914B2 (en) | Waveform data processor | |
JP4102931B2 (en) | Sound waveform synthesizer | |
JP2505589Y2 (en) | Sound field configuration device | |
JP2765469B2 (en) | Music signal playback device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050426 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050624 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050802 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050815 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090902 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100902 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100902 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110902 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120902 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130902 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |