JP2003271150A - マルチトラック再生装置、マルチトラック録音装置およびマルチトラック録音再生装置 - Google Patents
マルチトラック再生装置、マルチトラック録音装置およびマルチトラック録音再生装置Info
- Publication number
- JP2003271150A JP2003271150A JP2002077045A JP2002077045A JP2003271150A JP 2003271150 A JP2003271150 A JP 2003271150A JP 2002077045 A JP2002077045 A JP 2002077045A JP 2002077045 A JP2002077045 A JP 2002077045A JP 2003271150 A JP2003271150 A JP 2003271150A
- Authority
- JP
- Japan
- Prior art keywords
- waveform data
- track
- buffer
- data
- tracks
- 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.)
- Granted
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
いようにする。 【解決手段】 マルチトラックの録音や再生を行う際に
使用するバッファメモリを波形メモリ上に形成する。各
バッファメモリのサイズは、記憶されるストリーム波形
データのサンプリング周波数とサンプルあたりのビット
数で定める。これにより、ダブルバッファ構成とされる
各バッファメモリにおいては、サンプリング周期に対応
する書込/読出を行った際の書込/読出終了のタイミン
グが一致するようになる。従って、複数のバッファメモ
リにおけるデータ転送の割込要求を、それぞれ送出する
必要をなくすことができる。また、割込要求の送出タイ
ミングが所定周期となる。
Description
再生や録音を行うことのできるマルチトラック再生装
置、マルチトラック録音装置およびマルチトラック録音
再生装置に関するものである。
じて波形メモリから読み出した波形データに基づいて楽
音を生成するようにした波形メモリ音源が知られてい
る。このような波形メモリ音源において、1チャンネル
の波形データを波形メモリに書き込み可能とした発明が
提案されている(特開平10−49170号参照)。ま
た、ハードディスク等の大容量の記憶装置にストリーム
波形データ等の2トラックの楽音データを記録し、再生
できるようにした楽音データ録音再生装置が提案されて
いる。従来提案されている楽音データ録音再生装置の概
略構成を図9に示す。図9に示す楽音データ録音再生装
置においては、2トラックの波形データの録音再生が可
能とされている。
において、外部回路122から供給された2トラックの
波形データは、転送および録音/再生制御部131の制
御の基で、例えばハードディスク(HD)からなる大容
量メモリ121に録音されるようになる。この場合、入
力された2トラックの波形データは、それぞれ2分され
ている録音バッファメモリ132a,132bに一次記
憶されて大容量メモリ121に転送されて録音されるよ
うになされている。録音バッファメモリ132a,13
2bは、それぞれ2分されてダブルバッファ構成とされ
ている。すなわち、第1トラックの波形データが一次記
憶される録音バッファメモリ132aは第1バッファRB
UF1Aと第2バッファRBUF1Bとに分割されており、第2ト
ラックの波形データが一次記憶される録音バッファメモ
リ132bも同様に第1バッファRBUF2Aと第2バッファ
RBUF2Bとに分割されている。
合は、転送および録音/再生制御部131の制御の基
で、録音バッファメモリ132aの第1バッファRBUF1A
に順次書き込まれていく。第1バッファRBUF1Aへの書き
込みが終了すると、引き続いて第2バッファRBUF1Bに波
形データが書き込まれていくが、この際に第1バッファ
RBUF1Aの波形データが大容量メモリ121へ転送され
る。そして、第2バッファRBUF1Bへの書き込みが終了す
ると、引き続いて既に波形データが転送されている第1
バッファRBUF1Aに波形データが書き込まれる。この際
に、第2バッファRBUF1Bの波形データが大容量メモリ1
21へ転送される。第2トラックの波形データの録音に
ついても録音バッファメモリ132bを使用して同様に
行われ、このような動作が繰り返し行われることによ
り、2トラックの波形データを大容量メモリ121に録
音することができるようになる。
形データを再生する際には、ダブルバッファ構成とされ
た2トラック分の読出バッファ133a,133bと、
この読出バッファ133a,133bから波形データが
転送されるダブルバッファ構成とされた2トラック分の
再生バッファ134a,134bとが使用される。そし
て、最終的に大容量メモリ121から読み出された波形
データが再生音発生部135に供給されて、再生された
楽音データがDAC136においてアナログ楽音信号に
変換されてサウンドシステムから放音されるようにな
る。
のように転送および録音/再生制御部131により制御
されて再生が行われる。すなわち、図10に示すよう
に、再生に当たって再生準備スタートがタイミングt0で
スタートされると、大容量メモリ121から読出バッフ
ァ133aの第1バッファXBuf1Aに第1トラック(T
r.1)の波形データS10が書き込まれ、続いて大容
量メモリ121から読出バッファ133aの第2バッフ
ァXBuf1Bに第1トラックの次の波形データS11が書き
込まれる。そして、転送後のタイミングt2において読出
バッファ133aの第1バッファXBuf1Aおよび第2バッ
ファXBuf1Bに書き込まれた第1トラックの波形データS
10,S11の所定量が、再生バッファ134aの第1
バッファPBuf1Aおよび第2バッファPBuf1Bにそれぞれ転
送される。ここで、第1のトラックについては、バッフ
ァXBuf1A,BのサイズとバッファPBuf1A,Bのサイズは同じ
になっている。
121から読出バッファ133bの第1バッファXBuf2A
に第2トラック(Tr.2)の波形データS20が書き
込まれる。そして、転送後のタイミングt3において読
出バッファ133bの第1バッファXBuf2Aに書き込まれ
た第2トラックの波形データS20の所定量ずつが、再
生バッファ134bの第1バッファPBuf2Aおよび第2バ
ッファPBuf2Bにそれぞれ転送される。このタイミングt3
において、書き込まれた波形データS10の全てが転送
された読出バッファ133aの第1バッファXBuf1Aに大
容量メモリ121から第1トラックの次の波形データS
12が書き込まれ、続くタイミングt4において、大容量
メモリ121から読出バッファ133bの第2バッファ
XBuf2Bに第2トラックの続く波形データS21が書き込
まれる。これにより、再生の準備が完了する。ここで、
第2のトラックについては、バッファXBuf1A,Bのサイズ
がバッファPBuf1A,Bのサイズの4倍となっている。
4a,134bにおける第1バッファPBuf1A,PBuf2Aか
ら第1トラックおよび第2トラックの波形データが読み
出されて再生音発生部135に供給され、再生音発生部
135において再生音が再生されていく。この場合、例
えば第1トラックの波形データは48kHzのサンプリ
ング周波数とされ、第2トラックの波形データは36k
Hzのサンプリング周波数とされているものとする。こ
のため、再生バッファ134bにおける第1バッファPB
uf2Aからの読み出しがタイミングt5で終了し、続いて再
生バッファ134bにおける第2バッファPBuf2Bから連
続して次の第2トラックの波形データが読み出される。
同時に、再生バッファ134bにおける第1バッファPB
uf2Aへのデータ転送要求が発生し、タイミングt5におい
て次の波形データが読出バッファ133bの第1バッフ
ァXBuf2Aから再生バッファ134bにおける第1バッフ
ァPBuf2Aに転送される。
134aにおける第1バッファPBuf1Aからの読み出しが
終了し、続いて再生バッファ134aにおける第2バッ
ファPBuf1Bから連続して次の第1トラックの波形データ
が読み出される。同時に、再生バッファ134aにおけ
る第1バッファPBuf1Aへのデータ転送要求が発生し、タ
イミングt6において次の波形データが読出バッファ13
3aの第2バッファXBuf1Bから再生バッファ134aに
おける第1バッファPBuf1Aに転送される。この際に、読
出バッファ133aにおける第2バッファXBuf1Bの波形
データが全て転送されて第2バッファXBuf1Bへのデータ
書込要求が発生する。そこで、続く第1トラックの波形
データS13が大容量メモリ121から読み出されて、
読出バッファ133aにおける第2バッファXBuf1Bに書
き込まれるようになる。
ァ134bにおける第2バッファPBuf2Bからの読み出し
が終了し、続いて再生バッファ134bにおける第1バ
ッファPBuf2Aから連続して次の第2トラックの波形デー
タが読み出される。同時に、再生バッファ134bおけ
る第2バッファPBuf2Bへのデータ転送要求が発生し、タ
イミングt7において次の波形データが読出バッファ13
3bの第1バッファXBuf2Aから再生バッファ134bに
おける第2バッファPBuf2Bに転送される。この際に、読
出バッファ133bにおける第1バッファXBuf2Aの波形
データ(バッファPBuf2A,PBuf2Bの4つ分に相当)が全
て転送され第1バッファXBuf2Aへのデータ書込要求が発
生する。そこで、この第1バッファXBuf2Aに続く第2ト
ラックの波形データS22が大容量メモリ121から読
み出されて書き込まれるようになる。このような動作が
図10に示すように繰り返し行われて、大容量メモリ1
21から読み出された波形データが再生音発生部135
に供給されて、再生された楽音データがDAC136に
おいてアナログ楽音信号に変換されてサウンドシステム
から放音されるようになる。
装置120において再生されるトラックの内の一方のト
ラックが途中から再生される場合もある。この場合の、
動作タイミング図を図11に示す。図11に示すタイミ
ングは、第2トラックが再生中に第1トラックが再生ス
タートされる場合を示している。第2トラックは既に再
生されている。第1トラックが再生スタートされる前に
第1トラックにおける再生準備スタートが開始され、タ
イミングt25近傍において大容量メモリ121から読出
バッファ133aの第1バッファXBuf1Aに第1トラック
の波形データS10が書き込まれる。この時、再生中の
第2トラックにおいて読出バッファ133bの第1バッ
ファXBuf2Aへのデータ書込要求が発生し、第1バッファ
XBuf2Aに大容量メモリ121から読み出された第2トラ
ックの次の波形データS21が書き込まれる。続いて、
大容量メモリ121から読出バッファ133aの第2バ
ッファXBuf1Bに第1トラックの次の波形データS11が
書き込まれる。そして、タイミングt28において読出
バッファ133aの第1バッファXBuf1Aおよび第2バッ
ファXBuf1Bに書き込まれた第1トラックの波形データS
10,S11の所定量が、再生バッファ134aの第1
バッファPBuf1Aおよび第2バッファPBuf1Bにそれぞれ転
送される。
し、タイミングt31のタイミングにて第1トラックの再
生がスタートされる。再生スタートされると、再生バッ
ファ134aにおける第1バッファPBuf1Aから第1トラ
ックの波形データが読み出されて再生音発生部135に
供給され、再生音発生部135において再生音が再生さ
れていくようになる。そして、タイミングt32で再生バ
ッファ134bにおける第2バッファPBuf2Bからの読み
出しが終了すると、続いて再生バッファ134bにおけ
る第1バッファPBuf2Aから連続して次の第2トラックの
波形データが読み出される。同時に、再生バッファ13
4bにおける第2バッファPBuf2Bへのデータ転送要求が
発生し、タイミングt32において次の波形データが読出
バッファ133bの第2バッファXBuf2Bから再生バッフ
ァ134bにおける第2バッファPBuf2Bに転送される。
2Bへのデータ書込要求が発生して、続く第2トラックの
波形データS22が大容量メモリ121から読み出され
て、読出バッファ133bにおける第2バッファXBuf2B
に書き込まれるようになる。さらに、タイミングt33に
おいて再生バッファ134aにおける第1バッファPBuf
1Aからの読み出しが終了し、続いて再生バッファ134
aにおける第2バッファPBuf1Bから連続して次の第1ト
ラックの波形データが読み出される。同時に、再生バッ
ファ134aにおける第1バッファPBuf1Aへのデータ転
送要求が発生し、タイミングt33において次の波形デー
タが読出バッファ133aの第2バッファXBuf1Bから再
生バッファ134aにおける第1バッファPBuf1Aに転送
される。この際に、読出バッファ133aにおける第2
バッファXBuf1Bの波形データが全て転送されて第2バッ
ファXBuf1Bへのデータ書込要求が発生する。そこで、続
く第1トラックの波形データS13が大容量メモリ12
1から読み出されて、読出バッファ133aにおける第
2バッファXBuf1Bに書き込まれるようになる。このよう
な動作が図11に示すように繰り返し行われて、大容量
メモリ121から読み出された波形データが再生音発生
部135に供給されて、再生された楽音データがDAC
136においてアナログ楽音信号に変換されてサウンド
システムから放音されるようになる。
音データ録音再生装置120においては、2トラックの
波形データの録音/再生を行うことができる。しかしな
がら、2つのトラックにおいて再生する際に、各トラッ
クにおけるデータ書込要求やデータ転送要求の割込要求
タイミングは、バッファメモリのサイズや読出レートに
より応じたタイミングとなっていた。すなわち、図10
に示すようにトラック間における割込要求のタイミング
が非同期となり、あるタイミングにおいて割込要求タイ
ミングが集中するおそれが生じる。また、再生中に他の
トラックの再生がスタートされる場合は、既に再生中の
トラックとの同期をとる手段がなく、この場合において
も、あるタイミングにおいて割込要求タイミングが集中
するおそれが生じるようになる。このように割込要求の
頻度が高く且つ変動的になると、割込要求を受けて動作
する制御手段の動作が不安定になるおそれがあるという
問題点があった。また、従来はトラック毎の割込要求で
あるので、単位時間あたりの割込要求の回数が多くなっ
てしまう。すると、制御手段では1回の割込処理ごとに
どうしても所定量のオーバーヘッドが生じてしまうこと
から、全体として処理速度が遅くなったり動作が不安定
になるという問題があった。
再生を行っても制御手段への割込頻度が高く変動的にな
らないようにしたマルチトラック再生装置、マルチトラ
ック録音装置およびマルチトラック録音再生装置を提供
することを目的としている。
め、本発明の第1のマルチトラック再生装置は、波形デ
ータが記憶される読み書き可能な波形メモリと、該波形
メモリから波形データを読み出して楽音を再生する再生
手段と、該再生手段における所定の周期毎における楽音
再生用の波形データの読出処理と重複しない時分割化さ
れたタイミングにおいて、制御手段の制御の基で、前記
波形メモリへのアクセスを行うことができるアクセス手
段とを備え、録音された複数トラックの波形データを前
記波形メモリ上に形成された複数のバッファに、前記ア
クセス手段がそれぞれ所定量ずつ波形データを転送し、
前記再生手段が、前記複数のバッファから複数トラック
の波形データを読み出して複数トラックの楽音を再生す
るようにされており、前記複数の各バッファは、バッフ
ァに記憶された波形データの再生時間が相互に同じにな
るようなバッファサイズとされて、前記複数のバッファ
への転送処理が一括して行われるようにしている。
再生装置において、前記再生手段は基準サンプリング周
期毎に、前記複数のバッファから複数トラックの波形デ
ータを読み出して複数トラックの楽音を再生するように
されており、該基準サンプリング周期をカウントするサ
ンプリングカウンタの計数値が所定値となった際に、前
記複数のバッファへのデータ転送要求が発行され、該要
求により、前記アクセス手段が前記複数バッファの各々
への所定量の波形データの転送を行うようにしてもよ
い。
発明の第2のマルチトラック再生装置は、トラック毎に
波形データの再生開始タイミングと再生終了タイミング
とが独立して制御可能な複数トラックの波形データを再
生するマルチトラック再生装置であって、前記複数トラ
ックの各々に対応している複数のバッファと、前記複数
トラックにおいて再生される波形データを記憶する記憶
手段と、サンプリング周期毎に、複数のトラックに対応
している前記複数のバッファから、それぞれ所定サンプ
ル数の波形データを1サンプルずつ読み出し、読み出し
た波形データに基づいて前記複数トラックの楽音を再生
する再生手段と、該再生手段により所定時間分あるいは
所定サンプル数の波形データが再生されたことを検出
し、データ要求を発行する要求手段と、該要求手段が発
行するデータ要求に応じて、複数のトラックのそれぞれ
について、既にバッファに転送した波形データに続く所
定量の波形データを、前記記憶手段から対応する前記バ
ッファに順次転送する転送手段とを備えている。
発明の第3のマルチトラック再生装置は、トラック毎に
波形データの再生開始タイミングと再生終了タイミング
とが独立して制御可能な複数トラックの波形データを再
生するマルチトラック再生装置であって、前記複数トラ
ックの各々に対応している複数のバッファと、前記複数
トラックにおいて再生される波形データを記憶する記憶
手段と、サンプリング周期毎に、複数のトラックに対応
している前記複数のバッファから、それぞれ所定サンプ
ル数の波形データを1サンプルずつ読み出し、読み出し
た波形データに基づいて前記複数トラックの楽音を再生
する再生手段と、該再生手段により所定時間分あるいは
所定サンプル数の波形データが再生されたことを検出
し、データ要求を発行する要求手段と、該要求手段が発
行するデータ要求に応じて、複数のトラックのそれぞれ
について、既にバッファに転送した波形データに続く所
定量の波形データを、前記記憶手段から対応するバッフ
ァに順次転送する転送手段とを備えており、前記データ
要求の発行時、前記転送手段は、前記複数トラックのう
ち対応するタイミングで波形データを再生しないトラッ
クについては波形データの転送を省略するようにしてい
る。
チトラック再生装置において、前記複数トラックの再生
開始時に、前記複数トラックのうち他のトラックに遅れ
て再生が開始されるトラックについても、前記再生手段
による再生を同時に開始するとともに、前記転送手段は
当該トラックの波形データの転送を、前記再生開始タイ
ミングの直前のデータ要求より前のデータ要求に応じて
開始するようにしてもよい。
発明のマルチトラック録音装置は、複数トラックの波形
データを録音するマルチトラック録音装置であって、前
記複数トラックの各々に対応している複数のバッファ
と、波形データが録音される記憶手段と、複数の波形デ
ータを入力する入力手段と、サンプリング周期毎に、複
数のトラックに対応している前記複数のバッファに、前
記入力手段から入力される複数の波形データを、それぞ
れ1サンプルずつ書き込む書込手段と、該書込手段によ
り所定時間分あるいは所定サンプル数の波形データが書
き込まれたことを検出し、データ要求を発行する要求手
段と、該要求手段が発行するデータ要求に応じて、複数
のトラックの各トラックに対応している前記複数のバッ
ファから、当該バッファに記憶されている波形データを
順次読み出して、前記記憶手段に転送書込する転送手段
とを備えている。
第1のマルチトラック録音再生装置は、波形データが記
憶される読み書き可能な波形メモリと、該波形メモリか
ら波形データを読み出して楽音を再生すると共に、複数
トラックの波形データを録音可能な録音再生手段と、該
録音再生手段における所定の周期毎における楽音再生用
の波形データの読出処理及び楽音録音用の波形データの
書込処理と重複しない時分割化されたタイミングにおい
て、制御手段の制御の基で、前記波形メモリへのアクセ
スを行うことができるアクセス手段とを備え、前記録音
再生手段は波形データを録音する際に、前記複数トラッ
クの波形データを前記波形メモリ上に形成された複数の
バッファに基準サンプリング周期に従ってそれぞれ書き
込み、該複数のバッファに所定量の波形データが書き込
まれた際に、前記アクセス手段が前記複数のバッファに
書き込まれた所定量の波形データを録音用記憶手段に転
送するようにされており、前記複数の各バッファは、波
形データのバッファへの録音時間が相互に同じになるよ
うなバッファサイズとされて、前記複数のバッファから
の転送処理が一括して行われるようにしている。
録音再生装置において、前記基準サンプリング周期をカ
ウントするサンプリングカウンタの計数値が所定値とな
った際に、前記複数のバッファからのデータ転送要求が
発行され、該要求により、前記アクセス手段が前記複数
のバッファの各々からの所定量の波形データの転送を行
うようにしてもよい。
発明の第2のマルチトラック録音再生装置は、少なくと
も1つの録音トラックの波形データを録音すると同時
に、複数の再生トラックの波形データを再生することが
できるマルチトラック録音再生装置であって、前記複数
トラックの各々に対応している複数のバッファと、波形
データを読み出しおよび書き込みすることができる記憶
手段と、波形データを入力する入力手段と、サンプリン
グ周期毎に、録音用とされたトラックに対応している前
記バッファに、前記入力手段から入力される複数の波形
データを、1サンプルずつ書き込むとともに、複数の再
生用とされたトラックに対応している前記バッファから
所定サンプル数の波形データを1サンプルずつ読み出
し、読み出した波形データに基づいて前記複数再生トラ
ックの楽音を再生する書込読出手段と、該書込読出手段
により所定時間分あるいは所定サンプル数の波形データ
が処理されたことを検出し、データ要求を発行する要求
手段と、該要求手段が発行するデータ要求に応じて、録
音用とされたトラックに対応している前記バッファか
ら、当該バッファに記憶されている波形データを順次読
み出して前記記憶手段に転送書込するとともに、複数の
再生用とされたトラックのそれぞれについて、既にバッ
ファに転送した波形データに続く所定量の波形データ
を、前記記憶手段から対応する前記バッファに順次転送
する転送手段とを備えている。
順次転送される複数のバッファから複数トラックの波形
データを読み出して複数トラックの楽音を再生する際
に、複数の各バッファは、転送される波形データのサン
プリング周波数とサンプルあたりのビット数に対応する
バッファサイズとされて、複数のバッファへの転送処理
が一括して行うことができるようにしている。これによ
り、各トラック毎の割込要求をそれぞれ送出する必要を
なくすことができ、制御手段への割込頻度を低減するこ
とができる。さらに、割込要求の送出タイミングが所定
周期となることから、割込要求の発生タイミングが変動
することを防止することができる。従って、制御手段の
動作を安定化することができる。また、一括して転送処
理を行えることから、複数のバッファの書込/読出の管
理を行いやすくなる。さらに、データ転送要求の発生タ
イミングが複数のバッファにおいて同期していることか
ら、基準サンプリング周期をカウントするサンプリング
カウンタの計数値が所定値となった際に、複数のバッフ
ァへのデータ転送の割込要求を送出することができるよ
うになり、それぞれのバッファにデータ転送要求の検出
および割込要求を送出するハードを設ける必要がなくす
ことができるようになる。
音再生装置の機能を備えている本発明の実施の形態にか
かる楽音生成装置の構成例を示すブロック図を図1に示
す。図1に示す楽音生成装置1おいて、CPU10は各
種プログラムを実行することにより楽音生成装置1にお
ける楽音再生や録音の動作を制御する中央処理装置(Ce
ntral Processing Unit)であり、タイマ11は動作時
の経過時間を示したり、特定の間隔でタイマ割込を発生
するタイマであり、自動演奏の時間管理等に使用され
る。ROM12は、CPU10が実行する録音処理や楽
音生成処理のプログラムや、各種データが格納されてい
るROM(Read Only Memory)である。RAM13は楽
音生成装置1におけるシステムメモリであり、CPU1
0のワークエリア等が設定されるRAM(Random Acces
s Memory)である。
レキシブルディスク、リムーバブルディスク等の記録媒
体であり、波形メモリ21にロードする波形データや録
音されたストリーム波形データなどが格納されている。
ドライブ15はセットされたディスク14の読出/書込
を行うディスクドライブである。MIDIインタフェー
ス16は、楽音生成装置1内部で作成したMIDIメッ
セージを外部へ送出したり、外部からのMIDIメッセ
ージを受信するMIDIインターフェースである。ネッ
トワークインタフェース17は、LAN(Local Area N
etwork )やインターネット、電話回線等の通信ネット
ワークを介してサーバコンピュータに接続するためのネ
ットワークインターフェースである。パネルスイッチ
(パネルSW)18は、楽音生成装置1のパネルに設け
られている各種スイッチであり、これを操作することに
より楽音生成装置1に各種指示を与えることができる。
パネル表示器19は、楽音生成時に各種情報が表示され
るディスプレイである。
指示に基づいて、波形メモリ21から波形データ(波形
サンプル)を読み出し、補間、エンベロープ付与、チャ
ンネル累算(ミキシング)、および効果(エフェクト)
付与などの処理を行って、楽音波形データとして出力し
ている。音源部20から出力された楽音波形データは、
DAC23によりアナログ信号に変換され、サウンドシ
ステム24により放音される。波形メモリ21は、SD
RAM等の高速のメモリにより構成されており、所定の
レートでサンプリングされた多数の波形サンプルデータ
が格納されている。波形サンプルは、例えば16ビット
あるいは32ビットで表され、アドレスは波形サンプル
単位に付けられている。すなわち、1アクセスで1つの
波形サンプルを読み出すようにしている。波形メモリ2
1には、楽音の生成に先立ってディスク14等から読み
出された波形データが格納されている。
オーディオデータを取り込むためのアナログ・ディジタ
ル変換器(ADC)、効果(エフェクト)付与処理を行
なう外部DSP、あるいはディジタルフィルタなどで構
成されている。音源部20から外部回路22へ供給され
た波形データには、外部回路22においてエフェクト付
与処理やディジタルフィルタ処理が施されて、音源部2
0へ戻される。音源部20においては、戻された波形デ
ータが他のチャンネルの波形データにミキシングされて
出力されるようになる。なお、外部回路22は楽音生成
装置1に内蔵してもよいし、楽音生成装置1の外部に設
けてもよい。ディジタル・アナログ変換器(DAC)2
3は、音源部20から最終的に出力されるステレオの楽
音データをディジタルの楽音信号に変換してサウンドシ
ステムから放音している。また、バス25はアドレスバ
ス、コントロールバス、データバスの各バスを備える前
記した各部を相互接続しているCPUバスである。
成装置1の音源部20の詳細構成を図2に示し、図3に
音源部20における動作タイミングを示す。この音源部
20において発音チャンネル数が128チャンネルとさ
れている場合は、音源部20は時分割128チャンネル
で動作する。このため、音源部20内の各部には、時分
割を行なうための基準信号となる制御クロック信号やチ
ャンネルカウント値などの制御信号が供給されている。
図2において、波形メモリ21は読み書き可能な、例え
ばSDRAM(Synchronous DRAM)により構成されてお
り、音源部20において楽音を生成する際には予めディ
スク14等から読み出した複数の比較的短期間のサンプ
リング波形が記憶されている。音源部20では、この波
形メモリ21からチャンネル毎に時分割で読み出された
波形データに基づいて各チャンネルの楽音を生成してい
る。
けるCPU10は音源制御レジスタ30に各種音源パラ
メータ情報を供給して、発音の開始指示を出す。この音
源制御レジスタ30にはCPU10からアドレスバス
(AD4)を介してアドレスが供給されると共に、データ
バス(DATA4)を介して各種データの授受が行われる。
図2においては、データバス(DATA4)が複数本示され
ているが、説明の便宜上複数本として示しているだけで
あり、実際には1本のバスとされている。上記した音源
パラメータ情報はCPU10からデータバス(DATA4)
を介して音源制御レジスタ30に供給され、音源制御レ
ジスタ30においてCPU10からアドレスバス(AD
4)を介して与えられるレジスタアドレスで示されるレ
ジスタに格納される。
に供給される音源パラメータ情報は、波形メモリ読み出
し速度(楽音ピッチに対応)、波形メモリ読み出し区
間、エンベロープパラメータ、ミキサ33に対する設定
情報、およびエフェクト用係数等とされる。この内の波
形メモリ読み出し区間パラメータは、読み出す波形デー
タの開始アドレスASおよびそのデータ長LPAとされ
る。この場合、アドレスバス(AD4)上のレジスタアド
レスで示される音源制御レジスタ30内の特定のレジス
タに、データバス(DATA4)を介して供給される音源パ
ラメータが格納される。これにより、複数のそれぞれの
レジスタに対応する音源パラメータがそれぞれ格納され
ていくようになる。
31は、処理A、処理B、取り込み処理、および補間処
理、Xアクセス処理の5つの処理を行なう。各処理の概
要および処理タイミングは次の通りである。処理Aは、
音源制御レジスタ30から供給される波形データの開始
アドレスASおよびそのデータ長LPAやピッチPIT
CH等の情報に基づいて、楽音生成のために時分割チャ
ンネルタイミングにしたがって各発音チャンネルの波形
データ読出アドレスを作成する処理である。各チャンネ
ルのアドレスは、読出書込回路31内の図示しないレジ
スタに保持される。発音チャンネル数が128チャンネ
ルとされている場合は、処理AはDAC23における1
DAC周期内において128チャンネル分の波形データ
読出アドレスを作成する。なお、128チャンネルのう
ちの任意のチャンネルは波形メモリ21に波形データを
書き込むための書込チャンネルとして動作可能であり、
書込チャンネルとして動作しているチャンネルについて
は、処理Aにおいて波形データ書込アドレスが生成され
る。
は前半と後半とに2分割されて、前半の期間では1ch
〜64chの波形データ読出アドレスが作成され(処理
A前半ch)、後半の期間では65ch〜128chの
波形データ読出アドレスが作成される(処理A後半c
h)。処理Aでは、全チャンネルについて読出アドレス
の生成を行ない、かつ、各チャンネルの読出アドレスの
整数部の進行量に応じて波形データを読み出すべきチャ
ンネルを決定し、決定されたチャンネルのチャンネル番
号とそのチャンネルでの読み出すべきサンプル数(前記
進行量に対応)を制御RAMに格納する。なお、補間処
理における4点補間では連続する4サンプルの波形デー
タが必要になるが、そのうちの過去に波形メモリ21か
ら読み出された波形データは波形バッファに既に保存さ
れている。なお、1ch〜128chの各チャンネルの
処理を行うタイムスロットは1DAC周期を等分割して
与えられる。すなわち、処理Aにおける各チャネルに割
り当てられるタイムスロットは1DAC周期をTとする
とT/128とされ、このタイムスロットにおいて図示
するようにチャンネル順に処理される。
Aよりほぼ1/2DAC周期だけ遅れて実行される処理
であり、後述するタイミングで処理Aが終了したチャン
ネルについて行われる。処理Bは、制御RAMに読み出
すべきチャンネルとして記憶されているチャンネルにつ
いて、当該チャンネルの読出アドレスに基づいて制御R
AMに記憶されているアクセス回数だけ波形メモリをア
クセスし、該回数分の波形サンプルを読み出している。
この場合、図3に示すように1DAC周期の前半の期間
では1ch〜64chについての波形メモリ21からの
読み出しが実行され(処理B前半ch)、後半の期間で
は65ch〜128chについての波形メモリ21から
の読み出しが実行される(処理B後半ch)。この場
合、処理Aにおいて、波形データを読み出すべきチャン
ネルとしてチャンネル番号が制御RAMに格納されなか
ったチャンネルについては、処理Bの処理は行われな
い。処理Bが行われるタイムスロットは処理Aの1タイ
ムスロットの1/4とされ、1DAC周期をTとすると
T/512とされる。1DAC周期ごとに512回とい
うことは、音源の1チャンネル当たり4サンプルの波形
データを読み出すことができることを意味している。
ス回数が複数であったチャンネル(すなわち、読出アド
レスの整数部が複数進行したチャンネル)については、
それぞれの波形データ読出アドレスに対する処理Bが該
アクセス回数に対応したタイムスロット数ずつ順次実行
されるようになる。例えば、図3の処理Bに示すように
1chについては処理Bが1タイムスロットで行われ、
2chについては処理Bは行われず、3chについては
処理Bが3タイムスロットで行われ、4chについては
処理Bは行われず、5chについては処理Bが1タイム
スロットで行われ、6chについては処理Bは行われ
ず、7chについては処理Bが2タイムスロットで行わ
れ、発音されていない8ch〜64chについては処理
Bは行われないようになる。なお、書込チャンネルとし
て設定されたチャンネルについては、処理Bにおいて、
波形データ書込アドレスが生成される。この書込チャン
ネルのアクセス回数は、それぞれ、常に1回とされる。
ルがあることから処理Bの前半期間においては7chの
処理が終了してから後半期間が始まるまでのタイムスロ
ットが空くようになると共に、後半期間においても後に
は次の前半期間が始まるまでにタイムスロットに空きが
生じるようになる。そこで、この空いたタイムスロット
を使用してXアクセス回路40によるXアクセス処理が
行われるようになる。なお、処理Bにおいてタイムスロ
ットが空くまでは読出書込回路31がセレクタ制御信号
(CONT1)をセレクタ35に与えて、セレクタ35を読
出書込回路31側へ切り換えている。これにより、読出
書込回路31からアドレスバス(AD2)を介して波形デ
ータ読出アドレスを波形メモリ21へ供給することがで
きるようになる。また、処理Bにおいてタイムスロット
に空きが生じるようになると、読出書込回路31がセレ
クタ制御信号(CONT1)によりセレクタ35をXアクセ
ス回路40側へ切り換える。さらに、読出書込回路31
はセレクタ制御信号(CONT2)をXアクセス回路40へ
与えて後述するXアクセス処理を実行できるようにす
る。
により実行される処理であり、処理Bにより波形メモリ
21に供給された波形データ読出アドレスにしたがって
読み出された波形データをデータバス(DATA1)を介し
て取り込み、各チャンネル別に内蔵する波形バッファに
書き込む処理である。この波形バッファは、サンプル間
補間用の波形データを記憶するバッファであり、各チャ
ンネルごとに波形メモリ21から読み出された最新の波
形データを4サンプル分記憶する。処理Bにおいて波形
データ読出アドレスが波形メモリ21に供給されると、
波形メモリ21から直ちに波形データが読み出されるこ
とから、取り込み処理は、図3に示すように処理Bから
わずか遅れて開始されるようになる。この場合、1つの
波形データ読出アドレスで1つの波形サンプルが読み出
されることから、図3の取り込み処理に示すように1c
hについては波形データが1サンプル分取り込まれ、2
chについては波形データは取り込まれず、3chにつ
いては波形データが3サンプル分取り込まれ、4chに
ついては波形データは取り込まれず、5chについては
波形データが1サンプル分取り込まれ、6chについて
は波形データは取り込まれず、7chについて波形デー
タが2サンプル分取り込まれ、8ch〜64chについ
ては波形データは取り込まれないようになる。なお、書
込チャンネルとして設定されたチャンネルについては、
この取り込み処理の代わりに、前記波形メモリ書込アド
レスに対し、ミキサ33から1DAC周期ごとに1サン
プルずつ供給される波形データを書き込む書込処理が行
われる。
チャンネルがあることから取り込み処理の前半期間にお
いては7chの処理が終了してから後半期間が始まるま
でのタイムスロットが空くようになると共に、後半期間
においても後には次の前半期間が始まるまでのタイムス
ロットに空きが生じるようになる。そこで、この空いた
タイムスロットを後述するXアクセス処理を行うXアク
セス回路40が波形メモリ21にアクセスする際のタイ
ムスロットとして割り当てるようにする。なお、取り込
み処理における1タイムスロットは処理Bの1タイムス
ロットと同様とされ、1DAC周期をTとするとT/5
12とされる。なお、取り込み処理においてタイムスロ
ットが空くまでは読出書込回路31がセレクタ制御信号
(CONT1)をセレクタ35に与えて、セレクタ35を読
出書込回路31側へ切り換えている。これにより、波形
メモリ21から読み出した波形データをデータバス(DA
TA1)、セレクタ35およびデータバス(DATA2)を介し
て読出書込回路31の波形バッファに取り込むことがで
きるようになる。また、取り込み処理においてタイムス
ロットに空きが生じるようになると、読出書込回路31
がセレクタ制御信号(CONT1)によりセレクタ35をX
アクセス回路40側へ切り換える。さらに、読出書込回
路31はセレクタ制御信号(CONT2)をXアクセス回路
40へ与えて後述するXアクセス処理を実行できるよう
にする。
示しない補間回路により実行される処理であり、時分割
チャンネルタイミングにしたがって、波形バッファから
各チャンネルの必要とする波形サンプルを読み出し、2
点補間や4点補間を行なった波形データを出力する処理
である。この場合、波形バッファには取り込み処理によ
り取り込まれた波形データが格納されていることから、
補間処理は取り込み処理より若干遅れて開始されるよう
になる。補間された波形データは、読出書込回路31か
らEG付与回路32に供給される。この場合、図3に示
すように1DAC周期の前半の期間では1ch〜64c
hの補間処理が行われ(補間前半ch)、後半の期間で
は65ch〜128chの補間処理が行われる(補間後
半ch)。なお、1ch〜128chの各チャンネルの
補間処理時間は1DAC周期を等分割して与えられる。
すなわち、補間処理における各チャネルに割り当てられ
るタイムスロットは1DAC周期をTとするとT/12
8とされ、このタイムスロットにおいて図示するように
チャンネル順に処理される。
内に設けられているXアクセス回路40の制御の基で実
行される処理である。このXアクセス処理では、録音処
理や再生処理における転送処理が行われるようになる。
具体的には、前述した処理Bや取り込み処理において処
理を行うタイムスロットが空いた際に、Xアクセス処理
により、そのタイムスロットを使用してXアクセス回路
40の制御の基で転送処理が行われる。例えば、外部回
路22に入力されたオーディオデータをディジタル変換
したストリーム波形データをハードディスク等の大容量
の記憶容量を有するディスク14に録音することができ
る。この際には、ストリーム波形データを一時記憶する
バッファメモリが波形メモリ21上に設けられるように
なる。すなわち、波形メモリ21の一部によりバッファ
メモリが構成される。この場合、録音するストリーム波
形データを複数トラックの複数のストリーム波形データ
とすることができ、トラックを構成するチャンネル数に
対応するバッファメモリが波形メモリ21上に形成され
る。
モリの一構成例を図5に示す。この例では、チャンネル
1(ch.1)ないしチャンネル6(ch.6)の6チャンネル
に対応するバッファメモリが波形メモリ21上に構成さ
れている。この場合の各バッファメモリのサイズは、記
憶されるストリーム波形データのサンプリング周波数と
1サンプルあたりのビット数に応じて、各バッファに記
憶される波形データの再生時間が相互に同じ時間長にな
るように定められている。すなわち、サンプリング周波
数が44.1kHzで16ビットのサンプルとされてい
るストリーム波形データを一時記憶するチャンネル1,
チャンネル3,チャンネル5,チャンネル6におけるバ
ッファメモリのサイズは、図5に示すように全体で2k
W(ワード)とされ、それぞれ1kWのバッファAとバ
ッファBとに分割されてダブルバッファ構成とされてい
る。また、サンプリング周波数が22.05kHzで1
6ビットのサンプルとされているストリーム波形データ
を一時記憶するチャンネル2におけるバッファメモリの
サイズは、全体で1kW(ワード)とされそれぞれ0.
5kWのバッファAとバッファBとに分割されてダブル
バッファ構成とされている。さらに、サンプリング周波
数が44.1kHzで32ビットのサンプルとされてい
るストリーム波形データを一時記憶するチャンネル4に
おけるバッファメモリのサイズは、全体で4kW(ワー
ド)とされそれぞれ2kWのバッファAとバッファBと
に分割されてダブルバッファ構成とされている。
と、全体で2kW(ワード)、分割されて1kWとされ
ているバッファAあるいはバッファBにおいて、44.
1kHzのサンプリング周波数でストリーム波形データ
を読出/書込した際に要する時間は、1024Word×1
/44.1≒23.2msecとなる。また、全体で1kW
(ワード)とされ分割されて0.5kWとされているバ
ッファAあるいはバッファBにおいて、22.05kH
zのサンプリング周波数でストリーム波形データを読出
/書込した際に要する時間は、512Word×1/22.
05≒23.2msecとなる。さらに、全体で4kW(ワ
ード)とされ分割されて2kWとされているバッファA
あるいはバッファBにおいて、44.1kHzのサンプ
リング周波数で32ビット(2ワード)のストリーム波
形データを読出/書込した際に要する時間は、2048
Word×1/(44.1×2)≒23.2msecとなる。こ
のように、チャンネル1ないしチャンネル6において各
バッファメモリに記憶された波形データを再生する際の
再生時間が相互に等しくなると共に、波形データを各バ
ッファメモリに録音する際の録音時間が相互に等しくな
るサイズとされている。
数が44.1kHzで16ビットのサンプルのチャンネ
ル1からなり、第2トラックがサンプリング周波数が2
2.05kHzで16ビットのサンプルのチャンネル2
からなり、第1トラックと第2トラックとのストリーム
波形データを録音する場合は、使用していない2つの発
音チャンネルを録音用に転用するよう選択する。転用で
きる発音チャンネルは、例えば最大128チャンネルと
されている場合に最後の16チャンネルとされている。
ここで、第1トラックに第127チャンネルを第2トラ
ックに第128チャンネルを選択して割り当てたとす
る。すると、処理Aの後半の期間における第127チャ
ンネルおよび第128チャンネルのタイムスロットにお
いて、第1トラックおよび第2トラックにおけるストリ
ーム波形データを書き込む波形メモリ21上のバッファ
メモリのアドレスが、それぞれ読出書込回路31におい
て作成される。このアドレスは、サンプリング周波数に
応じてDAC周期毎にインクリメントされていく。ま
た、第1トラックにおけるバッファメモリはそれぞれ1
024ワードサイズの第1バッファメモリBuf1Aと第2
バッファメモリBuf1Bからなり、第2トラックにおける
バッファメモリはそれぞれ512ワードサイズの第1バ
ッファメモリBuf2Aと第2バッファメモリBuf2Bからなる
ものとする。そして、処理Bの後半期間における第12
7チャンネルおよび第128チャンネルのタイムスロッ
トにおいて、絶対アドレスに変換されたアドレスがセレ
クタ35を介して波形メモリ21へ供給され、第1バッ
ファメモリBuf1Aと第2バッファメモリBuf2Aとの先頭
に、第1トラックおよび第2トラックのストリーム波形
データが1サンプルずつ書き込まれる。
間における第127チャンネルおよび第128チャンネ
ルのタイムスロットにおいて、第1バッファメモリBuf1
Aに、第1トラックのストリーム波形データが1サンプ
ル書き込まれるが、第2トラックのストリーム波形デー
タは22.05kHzのサンプリング周波数とされてい
るためアドレスがインクリメントされず第1バッファメ
モリBuf2Aに波形サンプルが書き込まれないことと等価
となる。このように、第1トラックのストリーム波形デ
ータは1DAC毎に1サンプル書き込まれ、第2トラッ
クのストリーム波形データは2DAC毎に1サンプル書
き込まれることになる。すると、第1バッファメモリBu
f1Aに第1トラックのストリーム波形データが1024
サンプル書き込まれてFull状態となりデータ転送の割込
要求がCPU10に送出される時には、バッファメモリ
Buf2Aに第2トラックのストリーム波形データが512
サンプル書き込まれてFull状態となっており、データ転
送の割込要求が送出されるタイミングとなっている。そ
こで、この際にデータ転送の割込要求を送出し、これを
受けたCPU10が、第1バッファメモリBuf1Aおよび
第1バッファメモリBuf2Aに書き込まれた第1トラック
および第2トラックのストリーム波形データを、一括処
理により順次ディスク14へ転送するようにする。これ
により、複数トラックの録音をする際においても割込要
求をトラック毎に送出する必要がないので、割込要求回
数を低減することができる。
ントするアドレスを作成する場合に、DACサイクル毎
にインクリメントするアドレスカウンタのカウント値を
1ビットシフトダウンしたカウント値を用いることがで
きる。また、上述したようにデータ転送の割込要求は第
1トラックおよび第2トラックにおいて同一のタイミン
グで所定周期毎に発生するので、いずれか一つのアドレ
スカウンタのカウント値を見ることにより一つの割込要
求を送出すればよい。あるいは、基準とされる2048
サンプル(1DACサイクルで1サンプル)をカウント
するサンプルカウンタが、その半分までカウントした際
およびカウントアップした際にデータ転送の割込要求を
送出するようにしても良い。
ァメモリからの転送は、Xアクセス処理により行われ
る。Xアクセス処理に先立ってCPU10は、まず、第
1バッファメモリBuf1Aの先頭アドレスをXAレジスタ
42に設定し、Xアクセス回路40に対し転送処理の開
始を指示する。そして、タイムスロットが空いてXアク
セス処理が実行可能なタイミングになると、読出書込回
路31から制御信号(CONT2)がXアクセス回路40に
供給されるようになる。さらに、セレクタ35が制御信
号(CONT1)によりXアクセス回路40側に切り換えら
れて、第1バッファメモリBuf1Aに書き込まれた第1ト
ラックのストリーム波形データがデータバス(DATA3)
を介してFIFO41に順次読み込まれる。ここで、1
DAC周期の空きタイムスロットで転送できるデータ量
は転送するデータ量及びバッファメモリのサイズと比べ
て少ないので、上記読み込みは複数のDAC周期にわた
り継続的に行われる。そして、FIFO41に所定量の
波形データが書き込まれたことがCPU10に通知され
ると、CPU10はFIFO41からストリーム波形デ
ータを読み出してRAM13に書き込む。ここで、FI
FO41のサイズは、通常、転送するデータ量より小さ
いので、以上の波形メモリ21に形成されている第1バ
ッファメモリBuf1AからFIFO41への読み込み、お
よび、FIFO41からRAM13への転送も複数回繰
り返して実行されることにより、第1バッファメモリBu
f1Aに記憶された第1トラックのストリーム波形データ
(1024サンプル)が全てRAM13へ転送される。
0の転送処理を一旦停止し、第2バッファメモリBuf2A
の先頭アドレスをXAレジスタ42に設定した後、Xア
クセス回路40に対し転送処理の開始を指示する。そし
て、第1トラックの場合と同様にして、第2バッファメ
モリBuf2Aに記憶された第2トラックのストリーム波形
データ(512サンプル)が全て波形メモリ21に形成
されている第2バッファメモリBuf2AからRAM13へ
転送される。各トラックについて、RAM13にストリ
ーム波形データが、ディスク14の記憶単位(1クラス
タ、例えば32kバイト)以上蓄積されたとき、該記憶
単位分のストリーム波形データが、ディスク14へ転送
書込される。なお、Xアクセス処理により転送する波形
データの量がFIFO41のサイズより小さい場合に
は、CPU10によるFIFO41からRAM13への
転送処理が1回で終了する。以上に説明したように、本
発明にかかる楽音生成装置1では複数トラックの録音を
する際においても、割込要求をトラック毎に送出しない
ので、多数の割込によりCPU10の動作が遅くなるこ
とを防止することができる。なお、波形データのFIF
O41からRAM13への転送を、CPU10自身が行
わず、CPU10により制御された図示しないDMAコ
ントローラが行うようにしてもよい。
び第1バッファメモリBuf2Aへの書込が終了すると、続
くサンプルは、第2バッファメモリBuf1Bおよび第2バ
ッファメモリBuf2Bに書き込まれるようになる。そし
て、第2バッファメモリBuf1Bおよび第2バッファメモ
リBuf2Bへの書込が終了すると、続くサンプルは、転送
が終了した第1バッファメモリBuf1Aおよび第1バッフ
ァメモリBuf2Aに書き込まれるようになると共に、デー
タ転送の割込要求の発生に応じてXアクセス処理による
第2バッファメモリBuf1Bおよび第2バッファメモリBuf
2Bに書き込まれているストリーム波形データの転送が開
始されるようになる。このような動作を繰り返し行うこ
とにより、エンドレス録音をディスク14に対して行う
ことができるようになる。
に対応するバッファメモリの先頭アドレスを収納するこ
とができる。波形メモリ21上に複数のバッファメモリ
が形成されて複数トラックの同時録音を行う場合も、上
述した2トラック録音の例のように、XAレジスタ42
に複数バッファの先頭アドレスを順番に設定して、各バ
ッファごとにストリーム波形データをRAM13に転送
するようにすればよい。また、1トラックのストリーム
波形データがステレオとされている場合には、ステレオ
用に形成されているバッファメモリのそれぞれの先頭ア
ドレスをXAレジスタ42に格納できるようにしてもよ
い。この場合の先頭アドレスは、CPU10から供給さ
れる。例えば、Xアクセス処理により波形メモリ21に
形成されているバッファメモリからステレオのストリー
ム波形データをFIFO41に転送する場合は、XAレ
ジスタ42に格納されたLチャンネル用のアドレスとR
チャンネル用のアドレスとが時分割されて交互に波形メ
モリ21に供給される。これにより、波形メモリ21か
らステレオのLデータとRデータとが交互に読み出され
るようになる。このLデータとRデータとが、FIFO
41にインターリーブされて交互に書き込まれるように
なる。CPU10はFIFO41に書き込まれたインタ
ーリーブされて格納されているLデータとRデータとを
読み出してRAM13上にLデータとRデータとに分離
して取り込めばよい。エンドレス録音の動作と同様にし
てエンドレス再生を行うこともできるが、この説明は後
述する。
される各チャンネルの波形データは、EG付与回路32
においてエンベロープが付与される。付与されるエンベ
ロープは、CPU10から与えられて音源制御レジスタ
30のレジスタに格納されている各チャンネルのエンベ
ロープパラメータに基づいて決定される。エンベロープ
が付与された、例えば128チャンネル分の波形データ
はミキサ33に供給される。さらに、ミキサ33には信
号処理回路(DSP)34から出力されるエフェクト処
理等がされた、例えば8チャンネル分の波形データ、お
よび外部回路22から入力された、あるいはフィルタ処
理やエフェクト処理等がされた、例えば8チャンネル分
の波形データが供給されている。ミキサ33は、これら
の供給された各チャンネルの波形データにそれぞれ係数
値を乗算してミキシングする。係数値はCPU10から
音源制御レジスタ30に与えられて、内蔵するレジスタ
に格納されている。ミキサ33においてミキシングされ
た波形データは、8チャンネル分がDSP34に、8チ
ャンネル分が外部回路22に、音源部20の最終的な出
力となる2チャンネル(LおよびR出力)分がDAC2
3に、それぞれ出力されるようになされている。そし
て、DAC23によりアナログ信号に変換された楽音信
号はサウンドシステム24から放音されるようになる。
このように、ミキサ33はCPU10から指定されたチ
ャンネルの波形データに指定された係数値を乗算してミ
キシングし、そのミキシング結果をCPU10の指定に
基づく出力部へ指定されたチャンネルで送出するように
している。
から書込ポインタと読出ポインタとが指示されており、
読出ポインタが書込ポインタを追い越さないようにFI
FO41は制御される。このような制御のため、FIF
O制御レジスタ44に通知制御情報が格納されている。
この通知制御情報は、FIFO41に書き込んだデータ
を転送する際の書き込んだデータ量の閾値情報や、FI
FO41に転送したデータを読み出す際の残存するデー
タ量の閾値情報とされており、これらの閾値を超えた際
にデータ読出/書込を実行するようにされている。ま
た、FIFO制御レジスタ44にステレオ指示情報が供
給されると、FIFO制御レジスタ44はLデータとR
データとをFIFO41に交互に書き込むインターリー
ブ処理を行って波形データを書き込むように制御する。
さらに、FIFO制御レジスタ44にクリア情報が供給
されると、FIFO制御レジスタ44はFIFO41を
クリアする。さらにまた、FIFO制御レジスタ44に
ビット数情報が供給されると、FIFO制御レジスタ4
4は波形データを16ビットあるいは32ビットとして
扱う。FIFO41は512ワード×16ビットとされ
ているので、指示されたビット数に応じてFIFO41
を制御するようにする。すなわち、ビット数情報により
32ビットと指示されると、FIFO制御レジスタ44
は1つの波形データを読出/書込する際に2ワードをF
IFO41から読出/書込するように制御する。
るデータ流れ図を図4に、その動作タイミングを図7に
示し、これらの図を参照しながら、録音処理および再生
処理におけるデータの流れを説明する。図4において、
制御手段5はCPU10とシステムRAM(図1に示す
RAM13)と図2には示していないDMA(Direct M
emory Access)コントローラからなり、波形メモリ21
に形成されているバッファメモリにおけるストリーム波
形データの転送制御を行っている。書込手段52は読出
書込回路31の一機能であり、楽音生成用のチャンネル
の内の上述した特定のチャンネルを使用して波形メモリ
21に形成されているバッファメモリへストリーム波形
データを書き込む手段である。音源手段51は、内蔵す
る読出書込回路31により読み出された波形データにE
G付与部32により音量の時間変化を付与することによ
り楽音データを生成する音源手段である。この音源手段
51が、波形メモリ21に形成されているバッファメモ
リからループ再生することにより、後述するようにエン
ドレス再生することが可能となる。
4の機能を備え時分割で生成された各チャンネルの楽音
データをミキシングして最終的な楽音データを作成して
DAC23に供給したり、外部回路22に波形データを
供給してエフェクト処理された波形データを受け取って
ミキシングしたりしている。外部回路22,DAC2
3,音源手段51,書込手段52,ミキサ手段53は、
1DAC周期を基準とするサンプリング周波数Fsに同期
して動作している。これに対して、波形メモリ21に形
成されているバッファメモリとFIFO41間ではサン
プリング周波数Fsに同期してデータの授受が行われる
が、FIFO41と制御手段5間ではサンプリング周波
数Fsとは直接関係しないCPU10の動作タイミングで
読み出される。
路40を使用した複数トラックのエンドレス録音につい
て説明する。例えば、トラック1ないしトラック5の録
音を音源手段のチャンネル1ないしチャンネル5に割当
てる。書込手段52により実行される書込処理では、前
述した処理Aによりストリーム波形データを書き込む波
形メモリ21上のバッファメモリのアドレスが作成さ
れ、処理Bにより作成されたアドレスに基づいて上記バ
ッファメモリにストリーム波形データが書き込まれる。
あるトラックにおいて、このストリーム波形データが4
4.1kHzのサンプリング周波数で16ビットのサン
プルとされている場合は、サンプリング周波数Fs毎に1
サンプルずつ上記バッファメモリに書き込まれていく。
そして、サンプリング周波数44.1kHzのサンプル
が1024ワード上記バッファメモリに書き込まれたタ
イミングt2において、図7に示すようにデータ転送の割
込要求が発生する。また、サンプリング周波数が22.
05kHzであれば、タイミングt2でのサンプル数は5
12ワードである。この割込要求を受けたCPU10
は、Xアクセス処理を利用して、波形メモリ21上に設
定された複数トラックのバッファメモリから、当該バッ
ファメモリに記憶されたストリーム波形データを1トラ
ック分ずつ順次RAM13に転送する。
回路を用いた転送処理を実行することにより、チャンネ
ル1の第2バッファBuf1B、チャンネル2の第2バッフ
ァBuf2B、チャンネル4の第2バッファBuf4B、チャンネ
ル5の第2バッファBuf5Bに記憶されているストリーム
波形データがXアクセス処理によりFIFO41へ順次
転送されるとともに、CPU10によりFIFO41か
らシステムRAM(RAM13)へ順次転送される。こ
こで、Xアクセス処理による転送は前述した空きタイム
スロットで行われ、CPU10による転送はCPU10
の動作タイミングで行われる。すなわち、CPU10の
動作タイミングでFIFO41からシステムRAM(R
AM13)にストリーム波形データが転送され、システ
ムRAMの何れかのトラックのバッファで、ディスク1
4の記憶単位に相当する量のストリーム波形データが蓄
積されたら、当該トラックの該記憶単位分のストリーム
波形データがディスク14へ転送記憶される。このFI
FO41からシステムRAMへの転送、および、システ
ムRAMからディスク14への転送は、CPU10によ
り制御されたDMAコントローラが、DMAコントロー
ラの動作タイミングで行うことができる。
zのサンプルが1024ワード(サンプリング周波数2
2.05kHzではサンプルが512ワード)上記バッ
ファメモリに書き込まれた際に、データ転送の割込要求
がタイミングt3において発生する。この割込要求を受け
たCPU10は、Xアクセス処理により波形メモリ21
に記憶されているストリーム波形データがXアクセス処
理によりFIFO41へ順次転送するとともに、CPU
10によりFIFO41からシステムRAM(RAM1
3)へ順次転送する。図示する例では、Xアクセス処理
によりチャンネル1の第1バッファBuf1A、チャンネル
2の第1バッファBuf2A、チャンネル4の第1バッファB
uf4A、チャンネル5の第1バッファBuf5Aに記憶されて
いるストリーム波形データがFIFO41へ順次転送さ
れるとともに、CPU10によりFIFO41からシス
テムRAM(RAM13)へ順次転送される。ここで、
Xアクセス処理による転送は前述した空きタイムスロッ
トで行われ、CPU10による転送はCPU10の動作
タイミングで行われる。すなわち、CPU10の動作タ
イミングでFIFO41からシステムRAM(RAM1
3)にストリーム波形データが転送され、システムRA
Mにおいてまとめられたストリーム波形データがディス
ク14へ転送されるようになる。このような動作が繰り
返し行われることにより、エンドレス録音をディスク1
4に対して行うことができるようになる。なお、データ
転送の割込要求は所定周期毎に発生している。
リーム波形データをエンドレス再生する説明を行う。図
8に5トラック同時再生タイミングを示し、この図を参
照して5トラック同時再生の説明を行う。ここでは、第
1トラック(Tr.1)はチャンネル1からなり、第2トラ
ック(Tr.2)はチャンネル2からなり、第3トラック
(Tr.3)はチャンネル3からなり、第4トラック(Tr.
4)はチャンネル4からなり、第5トラック(Tr.5)は
チャンネル5からなっているものとする。そして、第1
トラックおよび第2トラックはタイミングt0の再生スタ
ート時から発音されるが、第3トラックは図示する範囲
の時間以上経過したタイミングtn3で再生スタートさ
れ、第4トラックはタイミングt34で再生スタートさ
れ、第5トラックはタイミングt15で再生スタートされ
るものとされている。また、第2トラックはタイミング
t42で再生が終了するものとされている。なお、図8に
示される各トラックにおいて、上段の短いボックスは、
CPU10の制御の基でストリーム波形データをXアク
セス処理により波形メモリへ書き込んでいる期間および
書込先のバッファ(AないしB)を示し、また、下段の
長いボックスの連鎖は、音源部手段51による波形メモ
リ21に記憶されているストリーム波形データの再生が
行われている期間および再生元のバッファ(Aないし
B)を示す。また、それらのボックスのうち、ハッチン
グの付与されたボックスはそのデータに録音されたスト
リーム波形データが含まれていることを示し、空白のボ
ックスはそのデータが全てゼロデータであることを示
す。
再生される場合は、波形メモリ21に再生されるトラッ
ク分のダブルバッファ構成のバッファメモリが形成さ
れ、それぞれのバッファメモリ領域がループ再生される
ことによりエンドレス再生されるようになる。この場合
の各バッファメモリのサイズは、各バッファメモリにお
ける読出/書込に要する時間が等しくなるサイズとされ
ている。すなわち、前述したように記憶されるストリー
ム波形データのサンプリング周波数と1サンプルあたり
のビット数に応じて各バッファメモリのサイズが定めら
れている。ここでは、図5に示すサンプリング周波数と
1サンプルあたりのビット数とされたチャンネル1ない
しチャンネル5とされ、図5に示すサイズのバッファメ
モリが第1トラックないし第5トラック用のバッファメ
モリとして波形メモリ21上に形成されたとする。そし
て、タイミングt0の再生スタートに先立って、第1トラ
ックのバッファメモリBuf1A,Buf1Bに第1トラックのス
トリーム波形データが順次転送され、続いて第2トラッ
クのバッファメモリBuf2A,Buf2Bに第2トラックのスト
リーム波形データが転送される。また、同時に、第5ト
ラックの第1バッファメモリBuf5Aには全てのサンプル
値がゼロである無音のストリーム波形データが転送さ
れ、第2バッファメモリBuf5Bには途中のタイミングt15
に対応する位置までが無音で、それ以降に録音された波
形データが始まる第5トラックのストリーム波形データ
が転送される。さらに、同時に、第3トラックおよび第
4トラックのバッファメモリBuf3A,Buf3B,Buf4A,Buf4B
には無音のストリーム波形データが転送される。
したXアクセス処理により実行される。すなわち、CP
U10は再生する第1トラックないし第5トラックのス
トリーム波形データの所定量をディスク14からRAM
13に読み出しておく。そして、第1トラックのストリ
ーム波形データを所定量ずつFIFO41に転送する。
ここで、タイムスロットが空いてXアクセス処理が実行
可能なタイミングになると、読出書込回路31から制御
信号(CONT2)がXアクセス回路40に供給されるよう
になる。さらに、セレクタ35が制御信号(CONT1)に
よりXアクセス回路40側へ切り換えられて、FIFO
41上の第1トラックのストリーム波形データが波形メ
モリ21上に形成されている第1バッファメモリBuf1A
および第2バッファメモリBuf2Aに順次転送されるよう
になる。バッファメモリBuf1A,Buf1Bへの第1トラック
のストリーム波形データの転送が終了すると、同様にし
て第2トラックのバッファメモリBuf2A,Buf2Bに第2ト
ラックのストリーム波形データが順次転送される。さら
に、バッファメモリBuf2A,Buf2Bへの第2トラックのス
トリーム波形データの転送が終了すると、同様にして、
第3トラック、第4トラックおよび第5トラックのバッ
ファメモリBuf3A,Buf3B,Buf4A,Buf4B,Buf5Aに無音のス
トリーム波形データが転送され、さらに、第5トラック
の第2バッファメモリBuf5Bに第5トラックのストリー
ム波形データが転送される。ここで、第2バッファメモ
リBuf5Bに転送されるストリーム波形データは以下の手
順でCPU10により作成される。CPU10は、ま
ず、第2バッファメモリBuf5Bと同じサイズの記憶領域
をRAM13上に確保し、その先頭よりタイミングt15
に相当する途中の位置までゼロを書き込む。次に、CP
U10は、ディスク14ないしRAM13からトラック
5のタイミングt15で再生開始すべきストリーム波形デ
ータを読み出し、その先頭部を第2バッファメモリBuf5
Bの該途中の位置以降に書き込む。このストリーム波形
データを音源手段51が読み出すことにより、タイミン
グt15までが無音であり、それ以降に録音された波形が
スタートするようなトラック5の楽音を再生することが
できる。
ートされるが、それぞれのトラックにおける再生スター
トでそれぞれのトラックを再生スタートさせると、途中
で再生スタートされるトラックは既にスタートされてい
るトラックに同期させるためには、既にスタートされて
いるトラックの再生位置を検出して後のトラックの再生
をスタートさせる同期化回路が必要であり、構成が複雑
になってしまう。そこで、途中で再生されるトラックも
含めて複数トラックを同期して再生する複数トラックの
同時再生を行う場合は、その複数トラックの再生のため
に使用するチャンネル(トラック再生チャンネル)のす
べてにキーオントリガを同時に与え、同じサンプリング
周期においてその複数チャンネルの読出再生動作を開始
させる。すなわち、再生開始に先立って複数のトラック
再生チャンネルに、それぞれ対応するトラックの2バッ
ファ領域の先頭アドレスと終了アドレス、サンプリング
周波数、データビット数を設定するとともに、再生を開
始するタイミングt0において、そのトラック再生チャン
ネルのすべてにキーオントリガを同時に与えることによ
り、例えば、図8に示す5トラックに対応する5チャン
ネルが同時に再生動作を開始する。
ている第1トラックないし第5トラックのバッファメモ
リの先頭アドレスからDAC周期毎に1サンプルずつ波
形データが読み出され、少なくとも5トラックのストリ
ーム波形データが音源手段51において再生されていく
ようになる。この場合、トラック再生チャンネルとし
て、読出書込回路31の書込チャンネルに設定されてい
ない何れのチャンネルを使用してもよい。例えば、チャ
ンネル1ないしチャンネル5が第1トラックないし第5
トラックにそれぞれ割り当てられたものとする。書込チ
ャンネルに設定されておらず、かつ、トラック再生チャ
ンネルでもないチャンネルは、MIDI信号等の演奏デ
ータに応じ、波形メモリから波形データを読み出して楽
音を生成する楽音形成チャンネルとして使用することが
できる。
ンネル1ないしチャンネル5のタイムスロットにおいて
第1トラックないし第5トラックにおけるストリーム波
形データを読み出す波形メモリ21上のバッファメモリ
Buf1,Buf2,Buf3,Buf4,Buf5のアドレスがそれぞれ読出書
込回路31において作成される。このアドレスは、各チ
ャンネルに設定された各トラックの先頭アドレスを初期
値として、各バッファメモリに格納されているストリー
ム波形データのサンプリング周波数に応じてDAC周期
毎にインクリメントされていく。そして、処理Bの前半
期間におけるチャンネル1ないしチャンネル5の各タイ
ムスロットにおいて絶対アドレスに変換されたアドレス
がセレクタ35を介して波形メモリ21へ供給され、第
1バッファメモリBuf1A、第1バッファメモリBuf2A、第
1バッファメモリBuf3A、第1バッファメモリBuf4A、第
1バッファメモリBuf5Aの先頭の1サンプルのストリー
ム波形データがそれぞれ読み出される。そして、第1バ
ッファメモリBuf1Aおよび第2バッファメモリBuf2Aから
読み出されたストリーム波形データに基づいて、前述し
たように音源手段51において第1トラックおよび第2
トラックの楽音が生成される。しかし、図8に示すよう
に第3トラックないし第5トラックは未だ再生スタート
のタイミングに達しておらず、第1バッファメモリBuf3
A,Buf4A,Buf5Aからは無音のストリーム波形データが読
み出される。このため、第3トラックないし第5トラッ
クでは音源手段51により無音の楽音が再生されるよう
になる。
ファメモリBuf1Aおよび第1バッファメモリBuf2Aに転送
されていたストリーム波形データの読み出しが同時に終
了し、続いて第2バッファメモリBuf1Bおよび第2バッ
ファメモリBuf2Bに転送されていたストリーム波形デー
タの読み出しが開始される。この場合、第1バッファメ
モリBuf3A,Buf4A,Buf5Aの読み出しも同時に終了し、
続いて第2バッファメモリBuf3B,Buf4B,Buf5Bの読み
出しが開始される。この際にデータ転送の割込要求が送
出される。この割込要求は、基準とされる2048サン
プル(1DACサイクルで1サンプル)をカウントする
サンプルカウンタが、その半分までカウントした際およ
びカウントアップした際に送出される。ここで、何れか
のトラック再生チャンネルのアドレスカウンタをこのサ
ンプリングカウンタとして動作させるようにしてもよ
い。これを受けたCPU10は、FIFO41にRAM
13から第1トラックの次のストリーム波形データを転
送しつつ、Xアクセス処理によりFIFO41上の第1
トラックの次のストリーム波形データを波形メモリ21
上に形成されている第1バッファメモリBuf1Aに転送す
る。次いで、FIFO41にRAM13から第2トラッ
クの次のストリーム波形データを転送しつつ、Xアクセ
ス処理によりFIFO41上の第2トラックの次のスト
リーム波形データを波形メモリ21上に形成されている
第1バッファメモリBuf2Aに転送する。さらに、FIF
O41にRAM13から第5トラックの次のストリーム
波形データを転送しつつ、Xアクセス処理によりFIF
O41上の第5トラックの次のストリーム波形データを
波形メモリ21上に形成されている第1バッファメモリ
Buf5Aに転送する。さらにまた、第3トラックおよび第
4トラックでは、当該期間t2-t3にかけて無音の再生が
継続し、かつ、対応するバッファメモリには既に無音の
ストリーム波形データが記憶されているので、さらなる
データ転送の必要はない。
Buf1B,Buf2Bに転送されていたストリーム波形データ
が、DAC周期毎に1サンプルずつ読み出されて、読み
出されたストリーム波形データに基づいて、前述したよ
うに音源手段51において楽音が生成されていく。ま
た、第2バッファメモリBuf3B,Buf4B,Buf5BからもD
AC周期毎に1サンプルずつ読み出されるが、第3トラ
ックないし第5トラックは未だ再生スタートのタイミン
グに達しておらず、無音のデータが読み出される。この
ため、第3トラックないし第5トラックでは音源手段5
1により無音の楽音が再生され続けるようになる。ここ
で、タイミングt15に達すると第5トラックの再生スタ
ートタイミングとなり、このタイミングからは第2バッ
ファメモリBuf5BからDAC周期毎に読み出されたデー
タは有意なストリーム波形データとなり、読み出された
ストリーム波形データに基づいて、前述したように音源
手段51において第5トラックの楽音も生成されていく
ようになる。
ファメモリBuf1B,Buf2B,Buf5Bに転送されていたスト
リーム波形データの読み出しが同時に終了し、続いて第
1バッファメモリBuf1A,Buf2A,Buf5Aに転送されてい
たストリーム波形データの読み出しが開始される。さら
に、第2バッファメモリBuf3B,Buf4Bの読み出しも同時
に終了し、続いて第1バッファメモリBuf3A,Buf4Aの読
み出しが開始される。この際、チャンネル1ないしチャ
ンネル5のタイムスロットにおいてDAC周期毎にイン
クリメントされているバッファメモリBuf1,Buf2,Buf3,B
uf4,Buf5の読出アドレスは、各チャンネルに設定されて
いる各バッファの終了アドレス(バッファBの最後)に
同時に達した後、各バッファの先頭アドレス(バッファ
Aの先頭)に戻されDAC周期毎のインクリメントを継
続する。このリターン時にデータ転送の割込要求が送出
される。この割込要求は、前述したようにサンプルカウ
ンタが、その半分までカウントした際およびカウントア
ップした際に送出される。これを受けたCPU10は、
FIFO41にRAM13から第1トラックの次のスト
リーム波形データを転送しつつ、Xアクセス処理により
FIFO41上の第1トラックの次のストリーム波形デ
ータを波形メモリ21上に形成されている第2バッファ
メモリBuf1Bに転送する。
2トラックの次のストリーム波形データを転送しつつ、
Xアクセス処理によりFIFO41上の第2トラックの
次のストリーム波形データを波形メモリ21上に形成さ
れている第2バッファメモリBuf2Bに転送する。さら
に、FIFO41にRAM13から第5トラックの次の
ストリーム波形データを転送しつつ、Xアクセス処理に
よりFIFO41上の第5トラックの次のストリーム波
形データを波形メモリ21上に形成されている第2バッ
ファメモリBuf5Bに転送する。さらにまた、第4トラッ
クの再生スタートタイミングがt34とされていることか
ら、それに先立って、CPU10は、RAM13上にお
いて先頭からタイミングt34に相当する位置までが無音
でそれ以降に有意な楽音が始まるトラック4のストリー
ム波形データ(第2バッファメモリBuf4Bと同サイズ)
を作成し、FIFO41にRAM13から該ストリーム
波形データを転送しつつ、Xアクセス処理によりFIF
O41上の第4トラックの先頭のストリーム波形データ
を波形メモリ21上に形成されている第2バッファメモ
リBuf4Bに転送する。さらにまた、第3トラックでは期
間t3-t4にかけて無音の再生が継続し、かつ、バッファ
メモリに既に無音のストリーム波形データが記憶されて
いるので、更なるデータ転送の必要はない。
なわち、タイミングt2において割込要求が発生し、これ
を受けたCPU10はXアクセス処理によりFIFO4
1を介して波形メモリ21に形成されている所定のチャ
ンネルのバッファメモリに、続くストリーム波形データ
を図7に示すように転送している。この転送はCPUア
クセスによる転送となり、その転送時間は転送するデー
タ量(=バッファのサイズ=データビット数×サンプル
数)にほぼ比例する時間となる。すなわち、サンプリン
グ周波数が44.1kHzでサンプルのビット数が16
ビットとされているトラック1およびトラック5の転送
時間に対して、サンプリング周波数が22.05kHz
でサンプルのビット数が16ビットとされているトラッ
ク2の転送時間は1/2となり、サンプリング周波数が
44.1kHzでサンプルのビット数が32ビットとさ
れているトラック4の転送時間は2倍となる。この各バ
ッファメモリへの転送処理は、図7に示すように一括し
て行われている。なお、図7では各1つのトラックの転
送が連続的に行われているように見えるが、それを更に
拡大して見れば、図3に示されるようにDAC周期毎の
空きタイムスロットを利用したXアクセス処理によっ
て、断続的に徐々に行われていることが判る。
Buf1A,Buf2A,Buf5Aに転送されていたストリーム波形
データが、DAC周期毎に1サンプルずつ読み出され
て、読み出されたストリーム波形データに基づいて、前
述したように音源手段51において第1トラック、第2
トラックおよび第5トラックの楽音が生成されていく。
また、第1バッファメモリBuf3A,Buf4AからもDAC周
期毎に1サンプルずつ読み出されが、第3トラックおよ
び第4トラックは未だ再生スタートのタイミングに達し
ておらず、無音のデータが読み出される。このため、第
3トラックおよび第4トラックでは音源手段51により
無音の楽音が再生され続けるようになる。
ファメモリBuf1A,Buf2A,Buf5Aに転送されていたスト
リーム波形データの読み出しが同時に終了し、続いて第
2バッファメモリBuf1B,Buf2B,Buf5Bに転送されてい
たストリーム波形データの読み出しが開始される。さら
に、第1バッファメモリBuf3A,Buf4Aの読み出しも同時
に終了し、続いて第2バッファメモリBuf3B,Buf4Bの読
み出しが開始される。この際にデータ転送の割込要求が
送出される。この割込要求は、前述したようにサンプル
カウンタが、その半分までカウントした際およびカウン
トアップした際に送出される。これを受けたCPU10
は、FIFO41にRAM13から第1トラックの次の
ストリーム波形データを転送しつつ、Xアクセス処理に
よりFIFO41上の第1トラックの次のストリーム波
形データを波形メモリ21上に形成されている第1バッ
ファメモリBuf1Aに転送する。さらに、第2トラックの
再生エンドタイミングがt42とされていることから、そ
れに先立って、CPU10は、RAM13上において先
頭からタイミングt42に相当する位置までが録音された
有意な楽音となり以降が無音となるようなトラック2の
ストリーム波形データを作成し、FIFO41にRAM
13から該ストリーム波形データを転送しつつ、Xアク
セス処理によりFIFO41上の第2トラックの次のス
トリーム波形データを波形メモリ21上に形成されてい
る第1バッファメモリBuf2Aに転送する。
5トラックの次のストリーム波形データを転送しつつ、
Xアクセス処理によりFIFO41上の第5トラックの
次のストリーム波形データを波形メモリ21上に形成さ
れている第1バッファメモリBuf5Aに転送する。さらに
また、FIFO41にRAM13から第4トラックの次
のストリーム波形データを転送しつつ、Xアクセス処理
によりFIFO41上の第4トラックの先頭のストリー
ム波形データを波形メモリ21上に形成されている第1
バッファメモリBuf4Aに転送する。さらにまた、第3ト
ラックでは期間t4-t5にかけて無音の再生が継続し、か
つ、バッファメモリに既に無音のストリーム波形データ
が記憶されているので、更なるデータ転送の必要はな
い。このタイミングt3における転送の様子も図7に示さ
れている。すなわち、タイミングt3において割込要求が
発生し、これを受けたCPU10はXアクセス処理によ
りFIFO41を介して波形メモリ21に形成されてい
る所定のチャンネルのバッファメモリに、続くストリー
ム波形データを図7に示すように転送している。
Buf1B,Buf2B,Buf5Bに転送されていたストリーム波形
データが、DAC周期毎に1サンプルずつ読み出され
て、読み出されたストリーム波形データに基づいて、前
述したように音源手段51において第1トラック、第2
トラックおよび第5トラックの楽音が生成されていく。
また、第2バッファメモリBuf3B,Buf4BからもDAC周
期毎に1サンプルずつ読み出されが、第3トラックおよ
び第4トラックは未だ再生スタートのタイミングに達し
ておらず、無音のデータが読み出される。このため、第
3トラックおよび第4トラックでは音源手段51により
無音の楽音が再生され続けるようになる。ここで、タイ
ミングt34に達すると第4トラックの再生スタートタイ
ミングとなり、このタイミングからは第2バッファメモ
リBuf4BからDAC周期毎に読み出されたデータは有意
なストリーム波形データとなり、読み出されたストリー
ム波形データに基づいて、前述したように音源手段51
において第4トラックの楽音も生成されていくようにな
る。
ファメモリBuf1B,Buf2B,Buf4B,Buf5Bに転送されてい
たストリーム波形データの読み出しが同時に終了し、続
いて第1バッファメモリBuf1A,Buf2A,Buf4A,Buf5Aに
転送されていたストリーム波形データの読み出しが開始
される。さらに、第2バッファメモリBuf3Bの読み出し
も同時に終了し、続いて第1バッファメモリBuf3Aの読
み出しが開始される。この際にデータ転送の割込要求が
送出される。この割込要求は、前述したようにサンプル
カウンタが、その半分までカウントした際およびカウン
トアップした際に送出される。これを受けたCPU10
は、FIFO41にRAM13から第1トラックの次の
ストリーム波形データを転送しつつ、Xアクセス処理に
よりFIFO41上の第1トラックの次のストリーム波
形データを波形メモリ21上に形成されている第2バッ
ファメモリBuf1Bに転送する。次いで、FIFO41に
RAM13から第2トラックの次のストリーム波形デー
タを転送しつつ、Xアクセス処理によりFIFO41上
の第2トラックの次のストリーム波形データを波形メモ
リ21上に形成されている第2バッファメモリBuf2Bに
転送する。しかし、第2トラックは既にタイミングt42
において終了しており当該区間t5-t6にかけて無音の再
生が継続するが、バッファメモリには未だ無音のストリ
ームデータが記憶されていないので、Buf2Bには無音の
ストリーム波形データが転送されるようになる。
4トラックの次のストリーム波形データを転送しつつ、
Xアクセス処理によりFIFO41上の第4トラックの
次のストリーム波形データを波形メモリ21上に形成さ
れている第2バッファメモリBuf4Bに転送する。さらに
また、FIFO41にRAM13から第5トラックの次
のストリーム波形データを転送しつつ、Xアクセス処理
によりFIFO41上の第5トラックの次のストリーム
波形データを波形メモリ21上に形成されている第2バ
ッファメモリBuf5Bに転送する。さらにまた、第3トラ
ックでは期間t5-t6にかけて無音の再生が継続し、か
つ、バッファメモリに既に無音のストリーム波形データ
が記憶されているので、更なるデータ転送の必要はな
い。
Buf1A,Buf2A,Buf4A,Buf5Aに転送されていたストリー
ム波形データが、DAC周期毎に1サンプルずつ読み出
されて、読み出されたストリーム波形データに基づい
て、前述したように音源手段51において第1トラッ
ク、第2トラック、第4トラックおよび第5トラックの
楽音が生成されていく。また、第1バッファメモリBuf3
AからもDAC周期毎に1サンプルずつ読み出されが、
第3トラックは未だ再生スタートのタイミングに達して
おらず、無音のデータが読み出される。このため、第3
トラックでは音源手段51により無音の楽音が再生され
続けるようになる。ここで、タイミングt42に達すると
第2トラックの終了タイミングとなり、このタイミング
からは第1バッファメモリBuf2AからDAC周期毎に読
み出されたデータは無音のデータとなり、トラック2で
は無音の楽音が生成されるようになる。
ファメモリBuf1A,Buf2A,Buf4A,Buf5Aに転送されてい
たストリーム波形データの読み出しが同時に終了し、続
いて第2バッファメモリBuf1B,Buf2B,Buf4B,Buf5Bに
転送されていたストリーム波形データの読み出しが開始
される。さらに、第1バッファメモリBuf3Aの読み出し
も同時に終了し、続いて第2バッファメモリBuf3Bの読
み出しが開始される。この際にデータ転送の割込要求が
送出される。この割込要求は、前述したようにサンプル
カウンタが、その半分までカウントした際およびカウン
トアップした際に送出される。これを受けたCPU10
は、FIFO41にRAM13から第1トラックの次の
ストリーム波形データを転送しつつ、Xアクセス処理に
よりFIFO41上の第1トラックの次のストリーム波
形データを波形メモリ21上に形成されている第1バッ
ファメモリBuf1Aに転送する。次いで、FIFO41に
RAM13から第2トラックの次のストリーム波形デー
タを転送しつつ、Xアクセス処理によりFIFO41上
の第2トラックの次のストリーム波形データを波形メモ
リ21上に形成されている第1バッファメモリBuf2Aに
転送する。しかし、第2トラックでは、当該区間t5-t6
にかけて無音の再生が継続し、かつ、バッファメモリに
は未だ無音のストリームデータが記憶されていないの
で、Buf2Aには無音のストリーム波形データが転送され
るようになる。
4トラックの次のストリーム波形データを転送しつつ、
Xアクセス処理によりFIFO41上の第4トラックの
次のストリーム波形データを波形メモリ21上に形成さ
れている第1バッファメモリBuf4Aに転送する。さらに
また、FIFO41にRAM13から第5トラックの次
のストリーム波形データを転送しつつ、Xアクセス処理
によりFIFO41上の第5トラックの次のストリーム
波形データを波形メモリ21上に形成されている第1バ
ッファメモリBuf5Aに転送する。さらにまた、第3トラ
ックでは期間t5-t6にかけて無音の再生が継続し、か
つ、バッファメモリに既に無音のストリーム波形データ
が記憶されているので、更なるデータ転送の必要はな
い。タイミングt5からは、第2バッファメモリBuf1B,B
uf2B,Buf4B,Buf5Bに転送されていたストリーム波形デ
ータが、DAC周期毎に1サンプルずつ読み出されて、
読み出されたストリーム波形データに基づいて、前述し
たように音源手段51において第1トラック、第4トラ
ックおよび第5トラックの楽音が生成されていく。ただ
し、第2トラックでは、前述したように無音の楽音が生
成される。また、第2バッファメモリBuf3BからもDA
C周期毎に1サンプルずつ読み出されるが、第3トラッ
クは未だ再生スタートのタイミングに達しておらず、無
音のデータが読み出される。このため、第3トラックで
は音源手段51により無音の楽音が再生され続けるよう
になる。
波形データを再生していくことにより、エンドレスの5
トラック同時再生を実行することができるようになる。
この場合、上述した5トラック同時再生において、途中
から再生スタートされるトラック3においては、再生ス
タートの一つ前の区間のタイミングまでは、そのトラッ
クのバッファメモリにはストリーム波形データの転送を
行わないようにしている。例えば、区間tn-t(n+1)の何
れかのタイミングtn3から再生されるトラック3におい
ては、再生スタートの一つ前の区間t(n-1)-tnのタイミ
ングt(n-1)までは、トラック3のバッファメモリBuf3
A、Buf3Bにはストリーム波形データの転送は行われな
い。すなわち、無音区間におけるデータの転送は行わな
い。これにより、転送処理の負荷を軽減することができ
るようになる。これは、再生処理ばかりではなく録音処
理においても同様とされている。なお、データ転送の割
込要求は図8に示すように所定周期毎に発生している。
タを再生する際に、再生するストリーム波形データの範
囲を予め定めて再生することができる。この場合は、図
6に示すようにディスク14に録音されているストリー
ム波形データ上に、再生開始アドレスと再生終了アドレ
スを指定するようにすればよい。この再生開始アドレス
は絶対アドレスとされ、再生終了アドレスは再生開始ア
ドレスに対する差分で表されている。このようにして、
再生終了アドレスまで再生してトラック2のように途中
で再生が終了したトラックについては、バッファメモリ
に無音のストリーム波形データ(全てデータ0)を転送
してバッファメモリ内のデータをゼロクリアするように
している。そして、該トラックにおいて2区間以上、無
音の再生が継続する場合には、最初の2区間のために2
つのバッファがゼロクリアされたら、それ以降の無音区
間についてはストリーム波形データの転送を行う必要は
なくなる。例えば、トラック2においてはタイミングt4
において第2バッファBuf4Bにデータ0が転送され、タ
イミングt5において第1バッファBuf4Aにデータ0が転
送されてバッファメモリBuf2上の全てのデータがゼロク
リアされる。そこで、タイミングt5よりスタートする無
音区間が2区間以上継続する場合には、タイミングt6以
降のそれに対応するデータ転送の割込要求に応じたデー
タ転送を行わないようにしている。これによっても、転
送処理の負荷を軽減することができるようになる。
成装置1では、音源手段51と書込手段52がそれぞれ
読出書込回路31の異なるチャンネルにより同時に動作
可能であるので、以上に説明した複数トラックの同時録
音と複数トラックの同時再生も平行して同時に行うこと
ができる。例えば、読出書込回路31のチャンネル1、
2を2つのトラックの録音に、チャンネル3、4、5を
3つのトラックの再生に割当て、それらの録音再生を全
部同時に実行することができる。図5に示すように波形
メモリ21に録音用のバッファメモリBuf1,Buf2と再生
用のバッファメモリBuf3,Buf4,Buf5を用意し、読出書込
回路31のチャンネル1、2を書込チャンネルに設定し
て、トラック録音チャンネルであるチャンネル1、2と
トラック再生チャンネルであるチャンネル3、4、5に
同時にキーオントリガを与え、既に説明したのと同様の
処理により、ストリーム波形データのエンドレス録音と
エンドレス再生を実行する。録音と再生のチャンネルに
同時にキーオンを掛けるため、録音と再生でデータ転送
の要求割込が共通化できるし、録音後に、新たに録音さ
れたストリーム波形データのタイミングを、同時に再生
したストリーム波形データに容易に同期させることがで
きる。
楽音生成装置1では、ディスク14への記憶単位と波形
メモリ21のバッファサイズが異なっており、ディスク
14と波形メモリ21の転送の途中に介在されるRAM
13において、CPU10がサイズ変換をおこなってい
る。そのため、ディスク14側と録音再生側で異なるそ
れぞれにとって都合のよい記憶単位を使用することがで
きる。すなわち、ディスク14側ではクラスタを単位の
効率のよい記憶を行い、録音再生側では複数トラックで
共通の区間単位の管理を行なえるようになる。これによ
り、複数トラック間において区間が共通のため、途中か
ら再生開始する場合のトラック間の同期がとりやすくな
る。また、本発明にかかるマルチトラック録音再生装置
であれば、一般に波形メモリより大きい容量とされるC
PU10のシステムRAMの一部を、ディスクキャッシ
ュとして使用することができる。
ラック録音再生装置の機能を備えた楽音生成装置として
説明したが、単にマルチトラック録音再生装置であって
もよい。さらに、本発明において述べている一括処理に
よる転送とは、共通のデータ転送の要求割込に応じて複
数トラックの波形データを時分割で転送することを意味
しており、複数トラック分の転送法は上述した方法に限
らずいろいろなバリエーションが考えられる。例えば、
複数トラック分の波形データを1、ないし、複数サンプ
ルごとに時分割化して転送してもよい。あるいは、波形
メモリの波形データの転送元ないし転送先の準備状態に
応じて、波形データを準備できたサンプル数ずつ送るよ
うにしてもよい。または、複数トラック分の複数バッフ
ァの転送すべき波形データの量が均一化されるように制
御してもよい。
態にかかる楽音生成装置1では、各トラックの録音され
た波形データの存在しない期間(無音期間)では、その
期間の最初に無音のストリーム波形データをバッファに
転送することにより、その期間の無音の再生が行なわれ
るようになっていた。しかしながら、この無音のストリ
ーム波形データの転送は、以下に説明する第1の態様あ
るいは第2の態様を採用することにより省略することが
可能であり、省略した際に制御手段5の負荷を軽減する
ことができる。
上に形成されたバッファメモリにおいて、複数トラック
に共通の(予め何れのトラックにも属さない)バッファ
BufZ(図示しない)を確保し、そのバッファに無音のス
トリーム波形データを記憶しておく方法である。ここ
で、このバッファBufZのサイズは、同時に再生する複数
トラックに対応した複数バッファのうちの一番大きいバ
ッファと同じサイズ(2kワード)にする。各トラック
の再生において無音期間の再生を開始する場合は、制御
手段5の制御の基で、読出書込回路31のそのトラック
のトラック再生チャンネルで作成している波形データ読
出アドレスを、そのチャンネルに対応したバッファ(第
1バッファメモリないし第2バッファメモリ)のアドレ
スから共通のバッファBufZのアドレスにジャンプさせ
る。すなわち、その無音期間の間はバッファBufZからの
無音の波形データの読み出しを行なわせる。無音期間中
に、制御手段5は、無音期間後に再生するストリーム波
形データをそのチャンネルに対応したバッファに転送
し、さらに、無音期間が終了したら、同読出アドレスを
その転送されたバッファに再ジャンプさせ、そのチャン
ネルに対応したバッファによる通常再生に復帰させる。
うに設定されているので、無音期間の開始時と終了時の
ジャンプでは、その前後で各トラック再生チャンネルの
読出アドレスのバッファ先頭位置からの相対位置、同読
出アドレスの進行速度、および、バッファのサイズを同
じにすることができる。そのため、各バッファ内での読
出アドレスの相対位置はジャンプにより影響を受けず、
ジャンプしても読出アドレスにおけるトラック間の同期
が保たれたままとなる。この場合、読出書込回路31に
読出アドレスのジャンプ機能が必要となるが、これは従
来のサンプラ等で実現されている簡単な構成で実現可能
である。また、バッファBufZは、複数のトラックに共通
であり、トラック数分のバッファは必要ない。さらに、
各トラックの第1バッファと第2バッファに共通のバッ
ファとすることにより、バッファBufZの容量を更に削減
している。このように、少ないハードウェアの追加で、
無音のストリーム波形データの転送を省略することがで
きる。
リ21から読出書込回路31への読み出し経路のいずれ
かの任意の場所に、読み出される波形データの全ビット
をマスクしてゼロにしてしまうマスク回路(図示しな
い)を設ける方法である。すなわち、各トラックの再生
において無音期間の再生を開始する場合は、そのタイミ
ングで、制御手段5(ないしCPU10)は、マスク回
路に対して読出書込回路31のそのトラックのトラック
再生チャンネルで読み出し中の波形データをマスクする
開始を指示する。マスクの開始されたチャンネルでは、
波形メモリ21から読み出される波形データはマスクさ
れ、ゼロの波形データに基づく無音の再生が行なわれ
る。そして、制御手段5は、無音期間中に無音期間後に
再生するストリーム波形データをそのチャンネルに対応
したバッファに転送し、無音期間の終了タイミングで、
マスク回路に対してマスクの停止を指示する。マスクの
停止されたチャンネルは、波形メモリ21から読み出さ
れた波形データに基づく通常のトラック再生に復帰す
る。
波形データをバッファに記録すること自体が不要とな
り、第1の態様と比べても、バッファBufZが不要となる
点が優れている。マスク回路は簡単なアンドゲートを使
用して実現できる。このため、さらに少ないハードウェ
アの追加で、無音のストリーム波形データの転送を省略
することができる。この第2の態様において、さらに制
御手段5がマスクの開始ないし停止とともにその実行タ
イミングを指示するようにすると、マスクタイミングの
精度を向上させることもできる。なお、ストリーム波形
データをマスクすることに代えて、無音期間においてエ
ンベロープ乗算器の乗算係数をゼロにしてミュートする
ようにしてもよい。これによっても無音のストリーム波
形データの転送を省略することができる。
形態にかかる楽音生成装置1におけるバッファメモリは
ダブルバッファとしたが、バッファメモリは必ずしもダ
ブルバッファにしなくてもよい。例えば、トラックごと
に3以上のバッファにして、それに順次書き込むように
してもよい。あるいは、1トラックごとに1つのバッフ
ァにして、サンプルカウンタで所定量の空きが生じるの
を検出して波形データの転送を要求するようにしてもよ
い。このようにすると、途中から再生を開始するトラッ
クについて、再生開始タイミングが含まれる区間の直前
のデータ転送の割込要求の一つ前のデータ転送の割込要
求でストリーム波形データのバッファへの転送を開始す
る代わりに、当該割込要求以前の他のタイミングのデー
タ転送の割込要求で転送を開始するようにすることがで
きるようになる。さらに、バッファとしてFIFOを使
用したり、デュアルポートメモリを使用してもよい。本
発明では、独立した複数トラックについて転送の要求を
共用するとともに、それに応じた波形データの転送を一
括して行うところに特徴がある。本発明の実施の形態に
おいては、具体的なバッファの構成の仕方は自在に変更
することができる。
いて、波形データをFIFOに書き込む処理、ないし、
波形データをFIFOから読み出す処理を、CPUの代
わりに、そのCPUにより制御されたDMAC(ダイレ
クトメモリアクセス・コントローラ)が行うようにして
もよい。DMACが代わりに行うようにすれば、CPU
の割り込み処理の起動に伴うオーバーヘッド増加を防ぐ
ことができる。さらにまた、上記の説明において述べた
ストリーム波形データとは、連続した複数サンプリング
周期分の複数サンプルデータからなる波形データを意味
している。さらにまた、有意のストリーム波形データと
は、マイク等から入力音や電子楽器の演奏音を録音する
ことに得られたストリーム波形データや、CD、レコー
ド、ダウンロードした音楽コンテンツからリッピングさ
れたストリーム波形データなどの何らかの録音された音
の含まれるデータであり、無音のストリーム波形データ
とは、録音ではなく値が0のサンプルを並べることによ
り作られたデータのことである。
タが順次転送される複数のバッファから複数トラックの
波形データを読み出して複数トラックの楽音を再生する
際に、複数の各バッファは、転送される波形データのサ
ンプリング周波数とサンプルあたりのビット数に対応す
るバッファサイズとされて、複数のバッファへの転送処
理を一括して行うことができるようにしている。これに
より、各トラック毎の割込要求をそれぞれ送出する必要
をなくすことができ、制御手段への割込頻度を低減する
ことができる。さらに、割込要求の送出タイミングが所
定周期となることから、割込要求の発生タイミングが変
動することを防止することができる。従って、制御手段
の動作を安定化することができる。また、一括して転送
処理を行えることから、複数のバッファの書込/読出の
管理を行いやすくなる。さらに、データ転送要求の発生
タイミングが複数のバッファにおいて同期していること
から、基準サンプリング周期をカウントするサンプリン
グカウンタの計数値が所定値となった際に、複数のバッ
ファへのデータ転送の割込要求を送出することができる
ようになり、それぞれのバッファにデータ転送要求の検
出および割込要求を送出するハードを設ける必要がなく
すことができるようになる。
の機能を備えている本発明の実施の形態にかかる楽音生
成装置の構成例を示すブロック図である。
おける音源部の詳細構成を示す図である。
おける音源部の動作タイミングを示す図である。
おける音源部のデータの流れを説明するための機能ブロ
ック図である。
おける波形メモリ上におけるバッファの配置構成を示す
図である。
囲を説明するための図である。
おけるマルチトラック録音/再生処理時の転送タイミン
グを示す図である。
おけるマルチトラック再生処理時の再生タイミングを示
す図である。
示すブロック図である。
生タイミングを示す図である。
の再生タイミングを示す図である。
タイマ、12 ROM、13 RAM、14 ディス
ク、15 ドライブ、16 MIDIインタフェース、
17 ネットワークインタフェース、18 パネルS
W、19 パネル表示器、20 音源部、21 波形メ
モリ、22 外部回路、23 DAC、24サウンドシ
ステム、25 バス、30 音源制御レジスタ、31
読出書込回路、32 EG付与回路、33 ミキサ、3
4 DSP、35 セレクタ、40Xアクセス回路、4
1 FIFO、42 XAレジスタ、43 ポインタレ
ジスタ、44 FIFO制御レジスタ、51 音源手
段、52 書込手段、53ミキサ手段、120 楽音デ
ータ録音再生装置、121 大容量メモリ、122外部
回路、131 再生制御部、132a,132b 録音
バッファメモリ、133a,133b 読出バッファ、
134a,134b 再生バッファ、135 再生音発
生部
Claims (9)
- 【請求項1】 波形データが記憶される読み書き可能な
波形メモリと、 該波形メモリから波形データを読み出して楽音を再生す
る再生手段と、 該再生手段における所定の周期毎における楽音再生用の
波形データの読出処理と重複しない時分割化されたタイ
ミングにおいて、制御手段の制御の基で、前記波形メモ
リへのアクセスを行うことができるアクセス手段とを備
え、 録音された複数トラックの波形データを前記波形メモリ
上に形成された複数のバッファに、前記アクセス手段が
それぞれ所定量ずつ波形データを転送し、前記再生手段
が、前記複数のバッファから複数トラックの波形データ
を読み出して複数トラックの楽音を再生するようにされ
ており、前記複数の各バッファは、バッファに記憶され
た波形データの再生時間が相互に同じになるようなバッ
ファサイズとされて、前記複数のバッファへの転送処理
が一括して行われるようにしたことを特徴とするマルチ
トラック再生装置。 - 【請求項2】 前記再生手段は基準サンプリング周期毎
に、前記複数のバッファから複数トラックの波形データ
を読み出して複数トラックの楽音を再生するようにされ
ており、該基準サンプリング周期をカウントするサンプ
リングカウンタの計数値が所定値となった際に、前記複
数のバッファへのデータ転送要求が発行され、該要求に
より、前記アクセス手段が前記複数バッファの各々への
所定量の波形データの転送を行うようにしたことを特徴
とする請求項1記載のマルチトラック再生装置。 - 【請求項3】 トラック毎に波形データの再生開始タイ
ミングと再生終了タイミングとが独立して制御可能な複
数トラックの波形データを再生するマルチトラック再生
装置であって、 前記複数トラックの各々に対応している複数のバッファ
と、 前記複数トラックにおいて再生される波形データを記憶
する記憶手段と、 サンプリング周期毎に、複数のトラックに対応している
前記複数のバッファから、それぞれ所定サンプル数の波
形データを1サンプルずつ読み出し、読み出した波形デ
ータに基づいて前記複数トラックの楽音を再生する再生
手段と、 該再生手段により所定時間分あるいは所定サンプル数の
波形データが再生されたことを検出し、データ要求を発
行する要求手段と、 該要求手段が発行するデータ要求に応じて、複数のトラ
ックのそれぞれについて、既にバッファに転送した波形
データに続く所定量の波形データを、前記記憶手段から
対応する前記バッファに順次転送する転送手段と、 を備えたことを特徴とするマルチトラック再生装置。 - 【請求項4】 トラック毎に波形データの再生開始タイ
ミングと再生終了タイミングとが独立して制御可能な複
数トラックの波形データを再生するマルチトラック再生
装置であって、 前記複数トラックの各々に対応している複数のバッファ
と、 前記複数トラックにおいて再生される波形データを記憶
する記憶手段と、 サンプリング周期毎に、複数のトラックに対応している
前記複数のバッファから、それぞれ所定サンプル数の波
形データを1サンプルずつ読み出し、読み出した波形デ
ータに基づいて前記複数トラックの楽音を再生する再生
手段と、 該再生手段により所定時間分あるいは所定サンプル数の
波形データが再生されたことを検出し、データ要求を発
行する要求手段と、 該要求手段が発行するデータ要求に応じて、複数のトラ
ックのそれぞれについて、既にバッファに転送した波形
データに続く所定量の波形データを、前記記憶手段から
対応するバッファに順次転送する転送手段とを備えてお
り、 前記データ要求の発行時、前記転送手段は、前記複数ト
ラックのうち対応するタイミングで波形データを再生し
ないトラックについては波形データの転送を省略するよ
うにしたことを特徴とするマルチトラック再生装置。 - 【請求項5】 前記複数トラックの再生開始時に、前記
複数トラックのうち他のトラックに遅れて再生が開始さ
れるトラックについても、前記再生手段による再生を同
時に開始するとともに、前記転送手段は当該トラックの
波形データの転送を、前記再生開始タイミングの直前の
データ要求より前のデータ要求に応じて開始するように
したことを特徴とする請求項3または4記載のマルチト
ラック再生装置。 - 【請求項6】 複数トラックの波形データを録音するマ
ルチトラック録音装置であって、 前記複数トラックの各々に対応している複数のバッファ
と、 波形データが録音される記憶手段と、 複数の波形データを入力する入力手段と、 サンプリング周期毎に、複数のトラックに対応している
前記複数のバッファに、前記入力手段から入力される複
数の波形データを、それぞれ1サンプルずつ書き込む書
込手段と、 該書込手段により所定時間分あるいは所定サンプル数の
波形データが書き込まれたことを検出し、データ要求を
発行する要求手段と、 該要求手段が発行するデータ要求に応じて、複数のトラ
ックの各トラックに対応している前記複数のバッファか
ら、当該バッファに記憶されている波形データを順次読
み出して、前記記憶手段に転送書込する転送手段と、 を備えたことを特徴とするマルチトラック録音装置。 - 【請求項7】 波形データが記憶される読み書き可能な
波形メモリと、 該波形メモリから波形データを読み出して楽音を再生す
ると共に、複数トラックの波形データを録音可能な録音
再生手段と、 該録音再生手段における所定の周期毎における楽音再生
用の波形データの読出処理及び楽音録音用の波形データ
の書込処理と重複しない時分割化されたタイミングにお
いて、制御手段の制御の基で、前記波形メモリへのアク
セスを行うことができるアクセス手段とを備え、 前記録音再生手段は波形データを録音する際に、前記複
数トラックの波形データを前記波形メモリ上に形成され
た複数のバッファに基準サンプリング周期に従ってそれ
ぞれ書き込み、該複数のバッファに所定量の波形データ
が書き込まれた際に、前記アクセス手段が前記複数のバ
ッファに書き込まれた所定量の波形データを録音用記憶
手段に転送するようにされており、前記複数の各バッフ
ァは、波形データのバッファへの録音時間が相互に同じ
になるようなバッファサイズとされて、前記複数のバッ
ファからの転送処理が一括して行われるようにしたこと
を特徴とするマルチトラック録音再生装置。 - 【請求項8】 前記基準サンプリング周期をカウントす
るサンプリングカウンタの計数値が所定値となった際
に、前記複数のバッファからのデータ転送要求が発行さ
れ、該要求により、前記アクセス手段が前記複数のバッ
ファの各々からの所定量の波形データの転送を行うよう
にしたことを特徴とする請求項7記載のマルチトラック
録音再生装置。 - 【請求項9】 少なくとも1つの録音トラックの波形デ
ータを録音すると同時に、複数の再生トラックの波形デ
ータを再生することができるマルチトラック録音再生装
置であって、 前記複数トラックの各々に対応している複数のバッファ
と、 波形データを読み出しおよび書き込みすることができる
記憶手段と、 波形データを入力する入力手段と、 サンプリング周期毎に、録音用とされたトラックに対応
している前記バッファに、前記入力手段から入力される
複数の波形データを、1サンプルずつ書き込むととも
に、複数の再生用とされたトラックに対応している前記
バッファから所定サンプル数の波形データを1サンプル
ずつ読み出し、読み出した波形データに基づいて前記複
数再生トラックの楽音を再生する書込読出手段と、 該書込読出手段により所定時間分あるいは所定サンプル
数の波形データが処理されたことを検出し、データ要求
を発行する要求手段と、 該要求手段が発行するデータ要求に応じて、録音用とさ
れたトラックに対応している前記バッファから、当該バ
ッファに記憶されている波形データを順次読み出して前
記記憶手段に転送書込するとともに、複数の再生用とさ
れたトラックのそれぞれについて、既にバッファに転送
した波形データに続く所定量の波形データを、前記記憶
手段から対応する前記バッファに順次転送する転送手段
と、 を備えたことを特徴とするマルチトラック録音再生装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002077045A JP3815353B2 (ja) | 2002-03-19 | 2002-03-19 | マルチトラック再生装置、マルチトラック録音装置およびマルチトラック録音再生装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002077045A JP3815353B2 (ja) | 2002-03-19 | 2002-03-19 | マルチトラック再生装置、マルチトラック録音装置およびマルチトラック録音再生装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003271150A true JP2003271150A (ja) | 2003-09-25 |
JP3815353B2 JP3815353B2 (ja) | 2006-08-30 |
Family
ID=29205577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002077045A Expired - Fee Related JP3815353B2 (ja) | 2002-03-19 | 2002-03-19 | マルチトラック再生装置、マルチトラック録音装置およびマルチトラック録音再生装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3815353B2 (ja) |
-
2002
- 2002-03-19 JP JP2002077045A patent/JP3815353B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3815353B2 (ja) | 2006-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3149093B2 (ja) | 自動演奏装置 | |
US6665409B1 (en) | Methods for surround sound simulation and circuits and systems using the same | |
JP5614420B2 (ja) | 楽音発生装置、電子楽器、プログラム及び楽音発生方法 | |
JPH06308964A (ja) | 楽音形成装置 | |
EP1580729B1 (en) | Sound waveform synthesizer | |
JPH1020860A (ja) | 楽音発生装置 | |
KR101120968B1 (ko) | 악기 디지털 인터페이스 하드웨어 명령 세트 | |
JPH0922287A (ja) | 楽音波形生成方法 | |
JP5915420B2 (ja) | 楽音発生装置、楽音発生方法、電子楽器及びプログラム | |
US20030171933A1 (en) | Method and device for recording in cyclic loops several sound sequences | |
KR100302030B1 (ko) | 음성정보처리장치 | |
EP1024475B1 (en) | Musical sound generating device and method, providing medium, and data recording medium | |
JP3855711B2 (ja) | 音波形データ用ディジタル信号処理装置 | |
JP3815353B2 (ja) | マルチトラック再生装置、マルチトラック録音装置およびマルチトラック録音再生装置 | |
JP2000276172A (ja) | 楽音生成装置および記憶媒体 | |
JP3791162B2 (ja) | 信号処理装置 | |
JP2914265B2 (ja) | 音源装置 | |
JP3695405B2 (ja) | 音源装置 | |
JP3922289B2 (ja) | 音源装置 | |
JP3695404B2 (ja) | 波形処理デバイス | |
US11418883B2 (en) | Audio interface apparatus and recording system | |
JP4120979B2 (ja) | 波形再生装置 | |
JP3952916B2 (ja) | 波形データ処理装置 | |
JP2765433B2 (ja) | 記憶再生装置 | |
JP3855710B2 (ja) | 音波形データ用ディジタル信号処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040421 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060221 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060419 |
|
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: 20060516 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060529 |
|
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: 20100616 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100616 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110616 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120616 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120616 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130616 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140616 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |