JPH09146555A - Waveform memory sound source device - Google Patents

Waveform memory sound source device

Info

Publication number
JPH09146555A
JPH09146555A JP7322224A JP32222495A JPH09146555A JP H09146555 A JPH09146555 A JP H09146555A JP 7322224 A JP7322224 A JP 7322224A JP 32222495 A JP32222495 A JP 32222495A JP H09146555 A JPH09146555 A JP H09146555A
Authority
JP
Japan
Prior art keywords
address
channel
waveform
access
waveform 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.)
Granted
Application number
JP7322224A
Other languages
Japanese (ja)
Other versions
JP2882464B2 (en
Inventor
Tetsuji Ichiki
哲二 市来
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP7322224A priority Critical patent/JP2882464B2/en
Publication of JPH09146555A publication Critical patent/JPH09146555A/en
Application granted granted Critical
Publication of JP2882464B2 publication Critical patent/JP2882464B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

PROBLEM TO BE SOLVED: To enable accessing a waveform memory efficiently for every channel by required quantity when required by buffering an address and a waveform sample to an address storage means and a sample storage means. SOLUTION: A waveform read-out interpolation circuit 102 generates successively read-out addresses of a waveform memory 208. Read-out addresses are values that specified read-out pitches are successively totaled from the start of a specified read-out section. Especially, in this sound source section 207, a sample RAM being a sample buffer is provided in a decoder 104, only a required number of waveform samples (waveform data) are read out from the waveform memory 208 for every channel, and the number of times of accessing waveform memories in each channel are variable. Read-out timing of a waveform sample can be adjusted properly, and continuous access can be performed corresponding to the speed of a waveform memory.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】この発明は、ディジタル楽音
波形データを生成出力する音源装置に関し、詳しくは、
時分割複数チャンネルで波形メモリを読み出すタイプの
音源装置において波形メモリを必要なときに必要な分だ
けアクセスできるようにした波形メモリ音源装置に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a tone generator for generating and outputting digital tone waveform data.
The present invention relates to a waveform memory tone generator that allows a waveform memory to be accessed only when necessary in a tone generator that reads the waveform memory on multiple time-division channels.

【0002】[0002]

【従来の技術】従来より、時分割チャンネル動作で複数
チャンネル分の楽音を同時に発生する波形メモリ音源が
知られている。このような音源では、1サンプリング周
期を均等に分割した各チャンネルのタイムスロットにお
いてそれぞれのチャンネルの楽音生成動作を行なってい
る。波形メモリのアクセスについても同様に、時分割チ
ャンネル動作であり、各チャンネルごとに、そのチャン
ネルに対応するタイムスロットで一定の決められた回数
のアクセスを行なうようになっている。
2. Description of the Related Art Conventionally, there has been known a waveform memory sound source which simultaneously generates musical tones for a plurality of channels by time division channel operation. In such a sound source, a tone generation operation of each channel is performed in a time slot of each channel obtained by equally dividing one sampling period. Similarly, access to the waveform memory is a time-division channel operation, and for each channel, access is performed a fixed number of times in a time slot corresponding to the channel.

【0003】さらに、波形メモリ読み出し方式の音源で
は、補間回路を備え、各チャンネルについて連続する何
点かのサンプル(波形データ)を用いて補間演算して1
点分の楽音波形データを得るものがある。また、補間回
路にサンプルバッファを有し、少ないアクセス回数で、
高次の補間演算を可能にした波形メモリ音源がある。こ
れは、波形メモリから読み出した波形データをサンプル
バッファに記憶しておき、波形メモリを読み出していく
際に、アドレスの進みが少ない場合には、サンプルバッ
ファに記憶されている波形データと新たに読み出した波
形データを用いて補間を行なうものである。
Further, the sound source of the waveform memory reading system is provided with an interpolation circuit, and performs an interpolation calculation using several consecutive samples (waveform data) for each channel.
There is one that obtains musical tone waveform data for a point. In addition, the interpolation circuit has a sample buffer,
There is a waveform memory sound source that enables high-order interpolation calculation. This is because the waveform data read from the waveform memory is stored in the sample buffer, and when the waveform memory is being read, if there is little advance in the address, the waveform data stored in the sample buffer and the newly read The interpolation is performed by using the waveform data.

【0004】[0004]

【発明が解決しようとする課題】上述したように、時分
割チャンネル動作で複数チャンネル分の楽音を同時に発
生する波形メモリ音源では、波形メモリのアクセスが各
チャンネルごとに一定の決められた回数に定められてい
る。一般に、各チャンネルの波形読み出し速度(Fナン
バ)などに応じて、しかも各サンプリング周期ごとに、
必要な波形メモリアクセス回数は異なるが、従来技術で
はそれに対応するようなことは行なっておらず、波形メ
モリの限られた動作速度(アクセス可能回数)を有効に
利用できていなかった。
As described above, in the waveform memory sound source which simultaneously generates musical tones for a plurality of channels in the time-division channel operation, the waveform memory access is fixed at a fixed number of times for each channel. Has been. In general, according to the waveform read speed (F number) of each channel, etc., and for each sampling cycle,
Although the required number of times of accessing the waveform memory is different, the conventional technique has not done so, and the limited operation speed (accessible number) of the waveform memory has not been effectively utilized.

【0005】また、サンプルバッファを用いる方式で
は、アドレスの進みが少ない場合にはサンプルバッファ
のデータを有効に使って補間が可能だが、アドレスの進
みが大きい場合には必要な波形データをすべて読み出す
ことができずに補間次数を下げる(例えば、4点補間を
2点補間にする)こともあった。
In the method using the sample buffer, the data in the sample buffer can be effectively used for interpolation when the advance of the address is small, but when the advance of the address is large, all necessary waveform data must be read out. However, the interpolation order may be lowered (for example, 4-point interpolation is changed to 2-point interpolation).

【0006】この発明は、時分割チャンネル動作で複数
チャンネル分の楽音を同時に発生する波形メモリ読み出
し方式の音源において、チャンネルごとに必要なときに
必要な分だけ効率よく波形メモリをアクセスすることが
できるようにすることを目的とする。
According to the present invention, in a sound source of a waveform memory reading system which simultaneously generates musical tones for a plurality of channels by time division channel operation, the waveform memory can be efficiently accessed by each channel when needed. The purpose is to do so.

【0007】[0007]

【課題を解決するための手段】本発明の請求項1に係る
発明は、所定サンプリング周期で複数チャンネル時分割
で動作することにより、該複数チャンネルの楽音を生成
する波形メモリ音源装置において、波形サンプルを記憶
した波形メモリであって、前記所定サンプリング周期内
に所定回数のアクセスが可能なものと、各チャンネルの
アドレスを記憶するためのアドレス記憶手段と、各チャ
ンネルの波形サンプルを記憶するための波形サンプル記
憶手段と、前記波形メモリの読み出しに先立って、各チ
ャンネルのアドレスを作成し、前記アドレス記憶手段に
記憶させるアドレス作成手段と、各チャンネルのアドレ
スの進み量に基づいて、各チャンネルについての前記波
形メモリのアクセス回数を算出するアクセス回数算出手
段と、前記アドレス記憶手段に記憶された各チャンネル
のアドレスに基づき、前記アクセス回数算出手段で算出
された各チャンネルのアクセス回数ずつ、前記波形メモ
リを連続的にアクセスし、読み出した各チャンネルの波
形サンプルを前記波形サンプル記憶手段に記憶する第1
アクセス手段と、前記波形サンプル記憶手段に記憶され
た各チャンネルの波形サンプルに基づき、各チャンネル
のサンプリング周期ごとの楽音を生成する楽音生成手段
とを備えたことを特徴とする。
The invention according to claim 1 of the present invention is a waveform memory sound source device for generating musical sounds of a plurality of channels by operating in a time-divisional manner in a plurality of channels at a predetermined sampling period. A waveform memory that stores a waveform sample of each channel, a waveform memory that can be accessed a predetermined number of times within the predetermined sampling period, an address storage unit that stores an address of each channel, and a waveform that stores a waveform sample of each channel. Based on the sample storage means, the address creation means for creating the address of each channel prior to the reading of the waveform memory, and storing the address in the address storage means, and the advance amount of the address of each channel, An access count calculating means for calculating the access count of the waveform memory; Based on the address of each channel stored in the storage means, the waveform memory is continuously accessed for each access count of each channel calculated by the access count calculation means, and the read waveform sample of each channel is the waveform sample. First stored in storage means
It is characterized by further comprising access means and tone generation means for generating a tone for each sampling period of each channel based on the waveform sample of each channel stored in the waveform sample storage means.

【0008】請求項2に係る発明は、所定サンプリング
周期で複数チャンネル時分割で動作することにより、該
複数チャンネルの楽音を生成する波形メモリ音源装置に
おいて、波形サンプルを記憶した波形メモリであって、
前記所定サンプリング周期内に所定回数のアクセスが可
能なものと、各チャンネルのアドレスを記憶するための
アドレス記憶手段と、各チャンネルごとにn個(nは2
以上の整数)の波形サンプルを記憶するための波形サン
プル記憶手段と、前記波形メモリの読み出しに先立っ
て、各チャンネルのアドレスを作成し、前記アドレス記
憶手段に記憶させるアドレス作成手段と、各チャンネル
のアドレスの進み量に基づいて、各チャンネルについて
の前記波形メモリへの必要なアクセス回数を算出するア
クセス回数算出手段と、前記アドレス記憶手段に記憶さ
れた各チャンネルのアドレスに基づき、前記アクセス回
数算出手段で算出された各チャンネルのアクセス回数ず
つ、前記波形メモリを連続的にアクセスし、前記波形サ
ンプル記憶手段に既に記憶されている各チャンネルのn
個の波形サンプルのうちアドレスが小さい波形サンプル
から順に、前記連続的なアクセスにより読み出した各チ
ャンネルの波形サンプルに置き換える第1アクセス手段
と、前記波形サンプル記憶手段に記憶された各チャンネ
ルのn個の波形サンプルを用いて補間処理を行なうこと
により、各チャンネルのサンプリング周期ごとの楽音を
生成する楽音生成手段とを備えたことを特徴とする。
According to a second aspect of the present invention, there is provided a waveform memory sound source device for generating musical tones of a plurality of channels by operating in a time-divisional manner in a plurality of channels at a predetermined sampling cycle.
One that can be accessed a predetermined number of times within the predetermined sampling period, address storage means for storing the address of each channel, and n (n is 2) for each channel.
(The above integer) waveform sample storage means for storing waveform samples, address creating means for creating addresses for each channel prior to reading the waveform memory, and storing the addresses in the address storage means, and An access number calculating means for calculating a required number of times of access to the waveform memory for each channel based on the amount of advance of the address, and the access number calculating means for calculating the number of times of access to the waveform memory on the basis of the address of each channel stored in the address storage means. The waveform memory is continuously accessed by the number of times of access of each channel calculated in step 1, and n of each channel already stored in the waveform sample storage means is accessed.
The first access means for replacing the waveform samples with the smallest addresses in the plurality of waveform samples with the waveform samples of the respective channels read by the continuous access, and the n number of n-number of the respective channels stored in the waveform sample storage means. And a tone generation means for generating a tone for each channel sampling period by performing an interpolation process using the waveform sample.

【0009】請求項3に係る発明は、請求項1または2
に記載の波形メモリ音源装置において、前記サンプリン
グ周期をm個(mは2以上の整数)の区間に分割し、前
記第1アクセス手段は、該分割した各区間ごとに、該区
間において処理すべき複数チャンネルについて前記波形
メモリの連続的なアクセスを行なうこととしたものであ
る。サンプリング周期の分割は、前半と後半の2つに等
分割するのが望ましい。
The invention according to claim 3 is the invention according to claim 1 or 2.
In the waveform memory sound source device according to the above paragraph, the sampling cycle is divided into m (m is an integer of 2 or more) sections, and the first access means should process in each of the divided sections. The waveform memory is continuously accessed for a plurality of channels. It is desirable that the sampling period be equally divided into the first half and the second half.

【0010】請求項4に係る発明は、請求項1または2
に記載の波形メモリ音源装置において、前記波形メモリ
の波形データは、アタック部とループ部とから構成さ
れ、前記アドレス作成手段は、作成したアドレスが当該
チャンネルで読み出すべき波形データのアタック部から
ループ部に入ったときは、その波形データのループ部の
周期ごとに、進行するアドレスを逆方向に戻してループ
部内の同じアドレスを繰り返し作成し、前記アクセス回
数算出手段は、前記アドレスの戻りが実行された場合、
当該チャンネルに関しては、アドレスの進み量にかかわ
らず所定回数のアクセス回数を指定することとしたもの
である。
[0010] The invention according to claim 4 is the invention according to claim 1 or 2.
In the waveform memory tone generator according to claim 1, the waveform data of the waveform memory is composed of an attack section and a loop section, and the address creating means includes a loop section from an attack section of the waveform data whose created address is to be read on the channel. When it enters, the advancing address is returned in the opposite direction to repeatedly create the same address in the loop portion for each cycle of the loop portion of the waveform data, and the access count calculation means executes the return of the address. If
With respect to the channel, a predetermined number of times of access is designated regardless of the amount of advance of the address.

【0011】請求項5に係る発明は、請求項1または2
に記載の波形メモリ音源装置において、前記波形メモリ
の読み出しまたは書き込みの少なくとも一方を行なう第
2アクセス手段をさらに備え、該第2アクセス手段は、
前記第1アクセス手段による前記波形メモリのアクセス
後の余り時間を利用して、前記波形メモリのアクセスを
行なうこととしたものである。第2アクセス手段は、例
えば、波形メモリがDRAM構成であるときのリフレッ
シュ、あるいはCPUによる波形メモリのアクセスを行
なうものである。
[0011] The invention according to claim 5 is the invention according to claim 1 or 2.
The waveform memory tone generator according to claim 1, further comprising second access means for performing at least one of reading and writing of the waveform memory, the second access means comprising:
The remaining time after the waveform memory is accessed by the first access means is used to access the waveform memory. The second access means is, for example, for refreshing when the waveform memory has a DRAM structure or for accessing the waveform memory by the CPU.

【0012】請求項6に係る発明は、所定サンプリング
周期で複数チャンネル時分割で動作することにより、該
複数チャンネルの楽音を生成する波形メモリ音源装置に
おいて、波形サンプルを記憶した波形メモリであって、
前記所定サンプリング周期内に所定回数のアクセスが可
能なものと、各チャンネルのアドレスを記憶するための
アドレス記憶手段と、各チャンネルの波形サンプルを記
憶するための波形サンプル記憶手段と、前記波形メモリ
の読み出しに先立って、各チャンネルのアドレスを作成
し、前記アドレス記憶手段に記憶させるアドレス作成手
段と、各チャンネルのアドレスの進み量に基づいて、各
チャンネルについての前記波形メモリのアクセス回数を
算出するアクセス回数算出手段と、所定数のチャンネル
について、前記アクセス回数算出手段で算出したアクセ
ス回数を累算し、累算回数を出力する累算手段と、前記
所定数のチャンネルに対応したアクセス期間内に、前記
累算回数分のアクセスが可能かどうかを判定する判定手
段と、前記判定手段が可能と判定した場合、前記アドレ
ス記憶手段に記憶された各チャンネルのアドレスに基づ
き、前記アクセス回数算出手段で算出した各チャンネル
のアクセス回数ずつ、前記波形メモリを連続的にアクセ
スし、読み出した各チャンネルの波形サンプルを前記波
形サンプル記憶手段に記憶する第1アクセス手段と、前
記波形サンプル記憶手段に記憶された各チャンネルの波
形サンプルに基づき、各チャンネルのサンプリング周期
ごとの楽音を生成する楽音生成手段とを備えたことを特
徴とする。
According to a sixth aspect of the present invention, there is provided a waveform memory sound source device for generating musical tones of a plurality of channels by operating in a time-divisional manner on a plurality of channels at a predetermined sampling cycle.
A unit that can be accessed a predetermined number of times within the predetermined sampling period, an address storage unit that stores the address of each channel, a waveform sample storage unit that stores the waveform sample of each channel, and the waveform memory An access for creating an address of each channel prior to reading and storing the address in the address storage means, and an access for calculating the number of times the waveform memory is accessed for each channel based on the advance amount of the address of each channel. A number-of-times calculating means, an accumulating means for accumulating the number of times of access calculated by the number-of-accesses calculating means for a predetermined number of channels, and outputting the accumulated number of times, and within an access period corresponding to the predetermined number of channels, Determining means for determining whether or not access for the accumulated number of times is possible; Is determined to be possible, the waveform memory is continuously accessed and read for each access count of each channel calculated by the access count calculation unit based on the address of each channel stored in the address storage unit. First access means for storing the waveform sample of the channel in the waveform sample storage means, and tone generation means for generating a tone for each channel sampling period based on the waveform sample of each channel stored in the waveform sample storage means. It is characterized by having and.

【0013】請求項7に係る発明は、請求項6に記載の
波形メモリ音源装置において、前記サンプリング周期を
m個(mは2以上の整数)の区間に分割し、前記累算手
段は、該分割した各区間ごとに、該区間において処理す
べき複数チャンネルについてアクセス回数の累算を行な
い、前記判定手段は、該分割した各区間ごとに、該区間
を前記アクセス期間として前記判定を行ない、前記第1
アクセス手段は、該分割した各区間ごとに、該区間にお
いて処理すべき複数チャンネルについて前記波形メモリ
の連続的なアクセスを行なうこととしたものである。サ
ンプリング周期の分割は、前半と後半の2つに等分割す
るのが望ましい。
According to a seventh aspect of the present invention, in the waveform memory sound source device according to the sixth aspect, the sampling period is divided into m (m is an integer of 2 or more) intervals, and the accumulating means is For each divided section, the access count is accumulated for a plurality of channels to be processed in the section, and the determination means makes the determination for each divided section as the access period. First
The access means is configured to continuously access the waveform memory for each of the divided sections with respect to a plurality of channels to be processed in the section. It is desirable that the sampling period be equally divided into the first half and the second half.

【0014】請求項8に係る発明は、請求項6に記載の
波形メモリ音源装置において、前記判定手段は、前記判
定において不可能と判定した場合、前記所定数のチャン
ネルの何れかのチャンネルについてアクセス回数を減少
させることとしたものである。
According to an eighth aspect of the present invention, in the waveform memory sound source device according to the sixth aspect, when the determination means determines that the determination is impossible, access is made to any one of the predetermined number of channels. This is to reduce the number of times.

【0015】請求項9に係る発明は、請求項6に記載の
波形メモリ音源装置において、前記波形メモリの読み出
しまたは書き込みの少なくとも一方を行なう第2アクセ
ス手段をさらに備え、前記判定手段により可能と判定さ
れた場合、該第2アクセス手段は、前記アクセス期間内
の全アクセス回数のうち、前記第1アクセス手段による
アクセスで使用されなかった分を利用して、前記波形メ
モリのアクセスを行なうこととしたものである。第2ア
クセス手段は、例えば、波形メモリがDRAM構成であ
るときのリフレッシュ、あるいはCPUによる波形メモ
リのアクセスを行なうものである。
According to a ninth aspect of the present invention, in the waveform memory tone generator according to the sixth aspect, the waveform memory tone generator further comprises second access means for performing at least one of reading and writing of the waveform memory, and the determining means determines that the waveform memory sound source is possible. If so, the second access means uses the portion of the total number of accesses within the access period that has not been used in the access by the first access means to access the waveform memory. It is a thing. The second access means is, for example, for refreshing when the waveform memory has a DRAM structure or for accessing the waveform memory by the CPU.

【0016】[0016]

【発明の実施の形態】以下、図面を用いて、この発明の
実施の形態を説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings.

【0017】図2は、この発明に係る音源装置を適用し
た電子楽器の全体のブロック構成を示す。図1は、図2
の電子楽器の音源部のブロック構成を示す。図1および
図2において、同一の番号は同一のものを示すものとす
る。
FIG. 2 shows the overall block configuration of an electronic musical instrument to which the sound source device according to the present invention is applied. 1 is shown in FIG.
2 shows a block configuration of a sound source section of the electronic musical instrument of FIG. 1 and 2, the same numbers indicate the same things.

【0018】まず、図2を参照して、この電子楽器の全
体構成を説明する。この電子楽器は、鍵盤201、表示
部202、スイッチ群(SW)203、中央処理装置
(CPU)204、リードオンリメモリ(ROM)20
5、ランダムアクセスメモリ(RAM)206、音源部
207、波形メモリ208、ディジタルアナログ変換器
(DAC)210、サウンドシステム(SS)211、
外部記憶装置212、およびバス213を備えている。
鍵盤201、表示部202、スイッチ群203、CPU
204、ROM205、RAM206、音源部207、
および外部記憶装置212は、バス213により相互に
接続されている。
First, the overall configuration of this electronic musical instrument will be described with reference to FIG. This electronic musical instrument includes a keyboard 201, a display unit 202, a switch group (SW) 203, a central processing unit (CPU) 204, and a read only memory (ROM) 20.
5, random access memory (RAM) 206, tone generator 207, waveform memory 208, digital-analog converter (DAC) 210, sound system (SS) 211,
An external storage device 212 and a bus 213 are provided.
Keyboard 201, display unit 202, switch group 203, CPU
204, ROM 205, RAM 206, sound source unit 207,
The external storage device 212 and the external storage device 212 are connected to each other by a bus 213.

【0019】鍵盤201は、ユーザが演奏操作するため
の複数の鍵を備えた鍵盤である。表示部202は、電子
楽器のパネル上に設けられており、各種の情報を表示す
る。スイッチ群203は、パネル上に設けられており、
ユーザはこれを操作することにより電子楽器に対して各
種の指示を与えることができる。CPU204は、この
電子楽器全体の動作を制御する。特に、通常の演奏時に
は、鍵盤201の操作を検出し、その操作に応じて音源
部207に発音の指示を出す。ROM205は、CPU
が実行するプログラム(音源部207を制御するための
音源コントロールプログラムなど)や各種の定数データ
などを格納する。RAM206は、ワークレジスタなど
に用いる。外部記憶装置212には、後述するDRAM
構成の波形メモリ208にロードする波形データなどが
格納されている。
The keyboard 201 is a keyboard provided with a plurality of keys for a user to perform a performance operation. The display unit 202 is provided on the panel of the electronic musical instrument and displays various kinds of information. The switch group 203 is provided on the panel,
By operating this, the user can give various instructions to the electronic musical instrument. The CPU 204 controls the operation of the entire electronic musical instrument. In particular, during a normal performance, the operation of the keyboard 201 is detected, and the sound source unit 207 is instructed to sound according to the operation. ROM 205 is a CPU
Stores programs executed by the sound generator (such as a sound source control program for controlling the sound source unit 207) and various constant data. The RAM 206 is used as a work register or the like. The external storage device 212 includes a DRAM, which will be described later.
Waveform data and the like to be loaded into the configured waveform memory 208 are stored.

【0020】音源部207は、CPU204の指示に応
じて、波形メモリ208から波形データを読み出し、補
間、エンベロープ付与、チャンネル累算、および効果付
与などの加工を施して、楽音波形データとして出力す
る。音源部207から出力された楽音波形データは、D
AC210によりアナログ信号に変換され、サウンドシ
ステム211により放音される。
In response to an instruction from the CPU 204, the sound source unit 207 reads out waveform data from the waveform memory 208, performs processing such as interpolation, envelope addition, channel accumulation, and effect addition, and outputs it as tone waveform data. The musical tone waveform data output from the sound source unit 207 is D
It is converted into an analog signal by the AC 210 and is emitted by the sound system 211.

【0021】波形メモリ208は、DRAM(ダイナミ
ックRAM)により構成されている。波形メモリ208
には、所定のレートでサンプリングされた波形サンプル
データが格納されている。その波形サンプルデータは、
楽音の発音に先立って外部記憶装置212から読み出し
て波形メモリ208に格納してもよいが、特にこの実施
の形態例の音源では、複数チャンネル分の楽音発生の動
作を行なう際に使用されなかった空きタイムスロットを
別の用途に用いることができるようになっているので、
楽音発生の動作中にその空きタイムスロットを用いて波
形データを外部記憶装置212から読み出して波形メモ
リ208に格納してもよい。
The waveform memory 208 is composed of a DRAM (dynamic RAM). Waveform memory 208
Stores waveform sample data sampled at a predetermined rate. The waveform sample data is
Although it may be read from the external storage device 212 and stored in the waveform memory 208 prior to the generation of musical tones, it is not particularly used in the tone generator of this embodiment when performing the musical tone generating operation for a plurality of channels. Since the empty time slot can be used for other purposes,
The waveform data may be read from the external storage device 212 and stored in the waveform memory 208 by using the empty time slot during the operation of generating a tone.

【0022】次に、音源部207について詳しく説明す
る。図1において、音源部207は、制御レジスタ10
1、アドレス発生器102、補間器103、デコーダ1
04、音量変化制御部105、チャンネル(ch)累算
器106、効果回路107、リフレッシュカウンタ10
8、CPUアクセス制御部109、セレクタ110、セ
レクタ111、システムクロック発生部112、および
チャンネル(ch)カウンタ113を備えている。
Next, the sound source unit 207 will be described in detail. In FIG. 1, the sound source unit 207 is a control register 10
1, address generator 102, interpolator 103, decoder 1
04, volume change control unit 105, channel (ch) accumulator 106, effect circuit 107, refresh counter 10
8, a CPU access control unit 109, a selector 110, a selector 111, a system clock generation unit 112, and a channel (ch) counter 113.

【0023】制御レジスタ101は、CPU204から
送出された複数チャンネル分の指定情報(音源部207
に対する命令やパラメータ情報)を格納するための制御
レジスタである。CPU204は、各発音チャンネル別
に制御レジスタ101に所定の指定情報をセットして発
音の開始指示を出す。セットする指定情報としては、メ
モリ読み出しピッチ(周波数ナンバ)、メモリ読み出し
区間、波形データの圧縮方式、エンベロープ、およびエ
フェクト用係数などの指定情報がある。
The control register 101 includes designation information (sound source section 207) for a plurality of channels sent from the CPU 204.
Is a control register for storing an instruction and parameter information). The CPU 204 sets predetermined designation information in the control register 101 for each sounding channel and issues a sounding start instruction. The designation information to be set includes designation information such as a memory read pitch (frequency number), a memory read section, a waveform data compression method, an envelope, and an effect coefficient.

【0024】発音開始指示を受けると、音源部207は
楽音波形の発生の動作を開始する。まず、アドレス発生
器102は、波形メモリ208の読み出しアドレスを順
次発生する。読み出しアドレスは、指定された読み出し
区間の先頭から、指定された読み出しピッチを順次累算
した値である。特に、この音源部207は、デコーダ1
04中にサンプルバッファであるサンプルRAMを備
え、波形メモリ208からはチャンネルごとに必要な数
の波形サンプル(波形データ)のみを読み出すようにな
っており、各チャンネルにおける波形メモリアクセス回
数は可変できるようになっている。そこで、アドレス発
生器102は、各チャンネルのアクセス回数に応じた波
形メモリのアドレスを、時分割チャンネルタイミングと
は異なるタイミングで、順次連続して出力するようにな
っている。
When the tone generation start instruction is received, the tone generator section 207 starts the operation of generating a tone waveform. First, the address generator 102 sequentially generates read addresses of the waveform memory 208. The read address is a value obtained by sequentially accumulating the designated read pitch from the beginning of the designated read section. In particular, this sound source unit 207 is the decoder 1
04, a sample RAM as a sample buffer is provided, and only the required number of waveform samples (waveform data) are read from the waveform memory 208 for each channel, so that the number of waveform memory accesses for each channel can be changed. It has become. Therefore, the address generator 102 is configured to sequentially output the addresses of the waveform memory according to the number of times of access of each channel at a timing different from the time division channel timing.

【0025】アドレス発生器102からのアドレス出力
が時分割チャンネルタイミングとは異なるタイミングで
行なわれることにより、空きタイムスロットが得られ
る。リフレッシュカウンタ108およびCPUアクセス
制御部109は、この空きタイムスロットにおいて、波
形メモリ208のリフレッシュを行ない、あるいはCP
U204から波形メモリ208へのアクセスを行なうた
めのものである。セレクタ110,111は、空きタイ
ムスロットにおいてリフレッシュカウンタ108やCP
Uアクセス制御部109を波形メモリ208に接続する
ように制御される。
An empty time slot is obtained by outputting the address from the address generator 102 at a timing different from the time division channel timing. The refresh counter 108 and the CPU access control unit 109 refresh the waveform memory 208 in this empty time slot, or the CP
It is for accessing the waveform memory 208 from U204. The selectors 110 and 111 use the refresh counter 108 and the CP in empty time slots.
The U access control unit 109 is controlled to connect to the waveform memory 208.

【0026】アドレス発生器102で発生した読み出し
アドレスは、セレクタ110を介して波形メモリ208
に入力し、これにより波形データが波形メモリ208か
ら読み出される。デコーダ104は、セレクタ111を
介して、アドレス発生器102がアドレスを送り出すタ
イミングで、波形データを受け取る。この実施の形態例
では、波形データの圧縮方式は、16ビット非圧縮、8
ビット非圧縮、または8ビット圧縮の何れかである。そ
こで、デコーダ104は、非圧縮波形の場合はそのま
ま、圧縮波形の場合はデコードして、サンプルRAMに
記憶しておく。
The read address generated by the address generator 102 is passed through the selector 110 to the waveform memory 208.
Waveform data is read from the waveform memory 208. The decoder 104 receives the waveform data via the selector 111 at the timing when the address generator 102 sends out the address. In this embodiment, the compression method of waveform data is 16-bit uncompressed, 8
Either bit uncompressed or 8-bit compressed. Therefore, the decoder 104 decodes the uncompressed waveform as it is, and decodes the compressed waveform and stores it in the sample RAM.

【0027】補間器103は、デコーダ104内のサン
プルRAMから各チャンネルの波形データを読み出し、
補間処理(基本的には4点補間を行ない、4点分の波形
データが確保できないときのみ2点補間)を行なう。音
量変化制御回路105は、各チャンネルの楽音波形デー
タにエンベロープを付与する。チャンネル累算器106
は、各チャンネルの楽音波形データをチャンネル累算す
る。効果回路107は、チャンネル累算した結果に各種
のエフェクト(効果)を付与する。効果付与された楽音
波形データは、図2のDAC210に入力してアナログ
信号に変換され、サウンドシステム211により放音さ
れる。
The interpolator 103 reads the waveform data of each channel from the sample RAM in the decoder 104,
Interpolation processing (basically, 4-point interpolation is performed, and 2-point interpolation is performed only when waveform data for 4 points cannot be secured). The volume change control circuit 105 adds an envelope to the tone waveform data of each channel. Channel accumulator 106
Is for accumulating the tone waveform data of each channel. The effect circuit 107 adds various effects to the result of channel accumulation. The musical tone waveform data to which the effect is applied is input to the DAC 210 of FIG. 2 to be converted into an analog signal, which is then emitted by the sound system 211.

【0028】この音源部207は時分割32チャンネル
で動作する。システムクロック112は、音源部207
内の各部に時分割動作を行なうための基準信号となる制
御クロック信号Φを供給する。チャンネルカウンタ11
3は、時分割チャンネル動作を行なうためのチャンネル
カウント値CHCをカウントし(具体的には0〜31を
繰り返しカウント)、音源部207内の各ブロックに供
給する。
The sound source section 207 operates on 32 channels in time division. The system clock 112 is a sound source unit 207.
A control clock signal Φ serving as a reference signal for performing a time-division operation is supplied to each section therein. Channel counter 11
3 counts the channel count value CHC for performing the time-division channel operation (specifically, repeats 0 to 31) and supplies it to each block in the sound source unit 207.

【0029】次に、図3および図4を参照して、本形態
例の音源部207内の要部のタイミングの概要について
説明する。図3において、「処理A」は、アドレス発生
器102で行なう処理のうち、各チャンネルのアドレス
を作成する処理を行なう区間を示す。「処理B」は、ア
ドレス発生器102で行なう処理のうち、アドレスを波
形メモリ208に向けて送り出す処理を行なう区間を示
す。「デコード」は、デコーダ104の処理区間、特に
波形メモリ208から出力される波形データを受け取る
処理を行なう区間を示す。「補間」は、補間器103の
処理区間を示す。各処理区間は、1サンプリング周期を
前半と後半に分け、前半で第0〜第15チャンネルの処
理を行ない、後半で第16〜第31チャンネルの処理を
行なうようになっている。
Next, with reference to FIGS. 3 and 4, an outline of the timing of the main parts in the sound source unit 207 of this embodiment will be described. In FIG. 3, “Processing A” indicates a section of the process performed by the address generator 102, in which the process of creating the address of each channel is performed. “Processing B” indicates a section of the processing performed by the address generator 102, in which the processing for sending the address to the waveform memory 208 is performed. “Decode” indicates a processing section of the decoder 104, particularly a section in which processing for receiving the waveform data output from the waveform memory 208 is performed. “Interpolation” indicates a processing section of the interpolator 103. In each processing section, one sampling cycle is divided into the first half and the latter half, and the first half performs the processing of channels 0 to 15, and the latter half performs the processing of channels 16 to 31.

【0030】図4は、図3の各処理中のチャンネルの様
子を示す。図4の「処理A前半ch」は、図3の区間3
01におけるチャンネルの様子を示す。図4の「処理B
前半ch」は、図3の区間302におけるチャンネルの
様子を示す。図4の「デコード前半ch」は、図3の区
間303におけるチャンネルの様子を示す。図4の「補
間前半ch」は、図3の区間304におけるチャンネル
の様子を示す。なお、図4では各チャンネルタイミング
を縦に並べて揃えて記載しているが、実際には各処理の
タイミングは図3に示すようにずれている。
FIG. 4 shows the state of the channel during each processing of FIG. "Processing A first half ch" of FIG. 4 is the section 3 of FIG.
The state of the channel in 01 is shown. “Processing B” in FIG.
The “first half ch” indicates the state of channels in the section 302 of FIG. The “first half channel of decoding” in FIG. 4 shows the state of channels in the section 303 of FIG. The “first half channel of interpolation” in FIG. 4 shows the state of channels in the section 304 of FIG. In FIG. 4, the timings of the respective channels are vertically arranged and aligned, but the timings of the respective processes are actually shifted as shown in FIG.

【0031】本形態例では、図4からも分かるように、
アドレス発生器102によるアドレス作成の処理Aと補
間器103による補間の処理は、それぞれ、音源内の時
分割チャンネルタイミングに同期して動作する。一方、
アドレス発生器102からのアドレス送り出しの処理B
とデコーダ104による波形データの受け取りの処理
は、時分割チャンネルタイミングとは独立したタイミン
グ(具体的には、後述する図5の中の処理B制御部の制
御による)で動作する。
In this embodiment, as can be seen from FIG.
The address generation process A by the address generator 102 and the interpolation process by the interpolator 103 operate in synchronization with the time-division channel timing in the sound source. on the other hand,
Process B of sending address from address generator 102
The processing of receiving the waveform data by the decoder 104 operates at a timing independent of the time division channel timing (specifically, by the control of the processing B control unit in FIG. 5 described later).

【0032】例えば、図3および図4において、処理A
前半の区間301では、アドレス発生器102により、
第0〜第15チャンネルについて時分割チャンネルタイ
ミングにしたがって順番に各チャンネルのアドレスを作
成している。処理B前半の区間302では、アドレス発
生器102により、時分割チャンネルタイミングとは異
なるタイミングで、第0チャンネルのアドレスを1つ、
第2チャンネルのアドレスを3つ、第5チャンネルのア
ドレスを1つ、…というように、第0〜第15チャンネ
ルのアドレスの送り出しを行なっている。1アドレス送
り出しを行なう区間の時間幅は、時分割チャンネルタイ
ミングで1チャンネル分の処理を行なう区間の時間幅の
半分である。各チャンネルで送り出すアドレスの個数が
区々であるのは、デコーダ104内のサンプルRAMに
過去の波形データが保持されており各チャンネルごとに
必要な個数の波形データのみ読み出せば充分なため、あ
るいは発音する必要がなくアドレスの送り出しが不要な
チャンネルがあるためである。ここ(図4)では、それ
ぞれ、第0チャンネルは1アクセス、第2チャンネルは
3アクセス、第5チャンネルは1アクセス、第7チャン
ネルは2アクセス分の波形メモリからの読み出しが必要
な場合を示している。その他のチャンネルは、発音して
いないか、既に読み出して波形バッファ307に記憶さ
れたサンプルのみで楽音が生成できるチャンネルであ
る。なお、発音していないチャンネルとは、EG等、音
量レベルの下げられたチャンネルであり、そのチャンネ
ルに関しては処理Bにおける波形メモリのアクセスタイ
ミングを使用しないように、制御がなされている。
For example, in FIG. 3 and FIG.
In the first half section 301, the address generator 102
Addresses of the respective channels are created in order according to the time division channel timing for the 0th to 15th channels. In the section 302 in the first half of the process B, the address generator 102 causes one address of the 0th channel to be output at a timing different from the time division channel timing.
The addresses of the 0th to 15th channels are sent out in such a manner that three addresses of the second channel, one address of the fifth channel, and so on. The time width of the section for sending out one address is half the time width of the section for processing one channel at the time division channel timing. The number of addresses to be sent out in each channel is different because the past waveform data is held in the sample RAM in the decoder 104 and it is sufficient to read only the required number of waveform data for each channel, or This is because there is a channel that does not need to be pronounced and does not need to send out an address. In this case (FIG. 4), the 0th channel requires 1 access, the 2nd channel requires 3 accesses, the 5th channel requires 1 access, and the 7th channel requires 2 accesses. There is. The other channels are channels that are not sounding or that can generate musical tones only with the samples that have already been read and stored in the waveform buffer 307. Note that a channel not sounding is a channel whose volume level is lowered, such as EG, and the channel is controlled so that the access timing of the waveform memory in the process B is not used.

【0033】デコード前半の区間303では、処理B前
半の区間302のアドレス送り出しのタイミングにした
がって波形メモリ208から読み出された波形データを
受け取っている。詳しくは後述するが、デコーダ104
は、受け取った波形データが圧縮波形であるときはデコ
ードを行ない、非圧縮波形であるときはそのまま、内部
のサンプルRAMに書き込む。補間器103は、補間前
半の区間304で時分割チャンネルタイミングにしたが
って、サンプルRAMのデータを用いて第0〜第15チ
ャンネルに関する補間処理を行なう。あるチャンネルに
ついて補間を行なう時点で、補間を行なうために必要な
当該チャンネルの波形データはサンプルRAMに用意さ
れているようになっている。
In the first half section 303 of the decoding, the waveform data read from the waveform memory 208 is received in accordance with the address sending timing of the first section 302 of the process B. The decoder 104 will be described in detail later.
When the received waveform data is a compressed waveform, it decodes it, and when it is an uncompressed waveform, it writes it to the internal sample RAM as it is. The interpolator 103 performs interpolation processing on the 0th to 15th channels using the data of the sample RAM in accordance with the time division channel timing in the first half section 304 of the interpolation. At the time of performing the interpolation for a certain channel, the waveform data of the channel required for performing the interpolation is prepared in the sample RAM.

【0034】以上のようにして、第0〜第15チャンネ
ルの楽音波形データが生成される。後半の区間を用いて
処理される第16〜第31チャンネルについても同様で
ある。
As described above, musical tone waveform data of channels 0 to 15 are generated. The same applies to the 16th to 31st channels processed using the latter half section.

【0035】アドレス発生器102におけるアドレス送
り出しの処理Bおよびデコーダ104における波形デー
タ受け取りの処理が時分割チャンネルタイミングとは異
なるタイミングで行なわれることにより、空きタイムス
ロットが出現する。図4の区間302,303中、「−
ch」は何れのチャンネルのサンプル読み出しにも使用
されていない空きタイムスロットを示す。この空きタイ
ムスロットの区間は、任意に使用可能である。本形態例
では、この空きタイムスロットの区間で、図1のリフレ
ッシュカウンタ108による波形メモリ208のリフレ
ッシュ処理、またはCPUアクセス制御部109による
波形メモリ208へのアクセス処理を行なうようになっ
ている。
An empty time slot appears by performing the address sending process B in the address generator 102 and the waveform data receiving process in the decoder 104 at a timing different from the time division channel timing. In the sections 302 and 303 of FIG. 4, “-
“Ch” indicates an empty time slot that is not used for sample reading of any channel. This empty time slot section can be used arbitrarily. In the present embodiment, the refresh counter 108 of FIG. 1 refreshes the waveform memory 208 or the CPU access control unit 109 accesses the waveform memory 208 during the empty time slot.

【0036】次に、アドレス発生器102について詳し
く説明する。図5は、アドレス発生器102のブロック
構成を示す。アドレス発生器102は、セレクタ50
1,502,503、加算器504、シフタ505、ビ
ブラート変調器506、オクターブ(OCT)シフタ5
07、読み出し用整数部ラッチ508、整数部ラッチ
(ILAT)509、小数部ラッチ(FLAT)51
0、アドレスRAM511、整数部合成部512、補間
用小数部ラッチ513、制御部A514、処理B制御部
515、および制御RAM517を備えている。処理B
制御部515の内部にはアキュムレータ(ACC)51
6が備えられている。
Next, the address generator 102 will be described in detail. FIG. 5 shows a block configuration of the address generator 102. The address generator 102 has a selector 50.
1, 502, 503, adder 504, shifter 505, vibrato modulator 506, octave (OCT) shifter 5
07, read integer part latch 508, integer part latch (ILAT) 509, decimal part latch (FLAT) 51
0, an address RAM 511, an integer part combining unit 512, an interpolating decimal part latch 513, a control unit A 514, a processing B control unit 515, and a control RAM 517. Processing B
An accumulator (ACC) 51 is provided inside the control unit 515.
6 are provided.

【0037】図5において、セレクタ501,502,
503は、それぞれ、時分割の各タイムスロットで所定
の入力を選択出力するためのセレクタである。加算器5
04は、23ビットの加算器であり、セレクタ501の
選択出力データとセレクタ502の選択出力データとを
入力して加算を実行する。この加算器504では、加算
結果が出力されるまでに2クロック分の遅延があるので
「2D」と表記してある。シフタ505は、加算器50
4の加算結果または小数部ラッチ510の小数部データ
をシフトして出力する。シフタ505のシフト量は可変
である。整数部ラッチ(ILAT)509は23ビット
のラッチ、小数部ラッチ(FLAT)510は9ビット
のラッチである。
In FIG. 5, selectors 501, 502,
Reference numerals 503 are selectors for selecting and outputting a predetermined input in each time division time slot. Adder 5
Reference numeral 04 denotes a 23-bit adder that inputs the selection output data of the selector 501 and the selection output data of the selector 502 and executes addition. In this adder 504, there is a delay of 2 clocks before the addition result is output, and therefore it is described as “2D”. The shifter 505 is an adder 50
The addition result of 4 or the decimal part data of the decimal part latch 510 is shifted and output. The shift amount of the shifter 505 is variable. The integer part latch (ILAT) 509 is a 23-bit latch, and the decimal part latch (FLAT) 510 is a 9-bit latch.

【0038】図6は、図5のアドレスRAM511のメ
モリマップを示す。アドレスRAM511は、第0〜第
31チャンネルの各チャンネルごとの領域からなり、こ
れらの領域に各チャンネルの現在のアドレス値を記憶す
る。各チャンネルの領域はアドレス上位ADH、および
アドレス下位ADLからなる。ADHおよびADLの領
域の大きさはそれぞれ16ビットである。アドレス上位
ADHとアドレス下位ADLとを合わせた32ビットの
アドレス値は、整数部と小数部とに分けられる。アドレ
ス整数部は、波形メモリ208のアドレスと対応してい
る。すなわち、アドレス整数部の1つの値に対応して、
波形メモリ208のサンプル(波形データ)が1つ存在
する。アドレス小数部は、それよりも細かい単位を示
し、何点かの波形データを用いた補間処理で用いる情報
である。アドレス整数部は23ビット、アドレス小数部
は9ビットである。したがって、アドレスRAM511
の各チャンネルのADHは23ビットのアドレス整数部
のうち上位の16ビットを示し、ADLは23ビットの
アドレス整数部の下位7ビットとアドレス小数部の9ビ
ットとを合わせた16ビットを示すこととなる。
FIG. 6 shows a memory map of the address RAM 511 of FIG. The address RAM 511 is composed of areas for each of the 0th to 31st channels and stores the current address value of each channel in these areas. The area of each channel is composed of an address upper ADH and an address lower ADL. The size of each of the ADH and ADL areas is 16 bits. A 32-bit address value that is a combination of the upper address ADH and the lower address ADL is divided into an integer part and a decimal part. The address integer part corresponds to the address of the waveform memory 208. That is, corresponding to one value of the address integer part,
There is one sample (waveform data) in the waveform memory 208. The fractional address part indicates a unit smaller than that, and is information used in the interpolation process using waveform data of some points. The address integer part has 23 bits, and the address decimal part has 9 bits. Therefore, the address RAM 511
The ADH of each channel indicates the upper 16 bits of the 23-bit address integer part, and the ADL indicates 16 bits that are the lower 7 bits of the 23-bit address integer part and the 9 bits of the address fraction part. Become.

【0039】なお、領域に付した記号はその領域そのも
のを示すとともに、その領域に格納されたデータをも示
すものとする。例えばアドレス下位ADLと言うとき
は、現在のアドレス値の下位16ビットを格納する領域
そのものを示すとともに、その領域に格納されているア
ドレス値の下位データをも示すものとする。以下、各領
域に付した記号も同様である。
The symbol attached to the area indicates the area itself and also the data stored in the area. For example, the address lower ADL indicates the area itself for storing the lower 16 bits of the current address value and also indicates the lower data of the address value stored in the area. The same applies to the symbols attached to the respective areas.

【0040】図5において、整数部合成部512は、ア
ドレスRAM511の任意のチャンネルのアドレス値を
読み出してその小数部または整数部を出力する。具体的
には、アドレス小数部を出力する場合は、アドレスRA
M511の下位ADLを読み出し、その下位9ビットを
アドレス小数部として出力する。アドレス整数部を出力
する場合は、先にADLの上位7ビットすなわちアドレ
ス整数部の下位7ビットを取り込み、その後ADHのア
ドレス整数部上位16ビットを取り込み、それらを合成
して完全な23ビットのアドレス整数部を生成し出力す
る。
In FIG. 5, the integer part synthesis unit 512 reads out the address value of an arbitrary channel of the address RAM 511 and outputs the decimal part or the integer part. Specifically, when the fractional part of the address is output, the address RA
The lower ADL of M511 is read and the lower 9 bits are output as the address fractional part. When outputting the address integer part, the upper 7 bits of ADL, that is, the lower 7 bits of the address integer part, are first fetched, then the upper 16 bits of the address integer part of ADH are fetched, and they are combined to form a complete 23-bit address. Generates and outputs the integer part.

【0041】制御部A514は、クロックΦおよびチャ
ンネルカウント値CHCを入力して、処理Aの全動作と
処理Bの基本動作(図8で後述)を制御するための制御
信号を作成し、各ブロックへ供給する。処理B制御部5
15は、図3,4で説明した処理Bを行なうために各ブ
ロックの制御を行なう。特に、処理B制御部515は、
処理B前半の区間(図3の302)で第0〜第15の1
6チャンネル分のアクセス回数を累算し、処理B後半の
区間(図3の306)で第16〜第31の16チャンネ
ル分のアクセス回数を累算する処理を行なうが、アキュ
ムレータ516はそのアクセス回数累算値を記憶するた
めのものである。処理B制御部515の動作およびアキ
ュムレータ516については、後に詳述する。
The control unit A 514 inputs the clock Φ and the channel count value CHC, creates control signals for controlling all the operations of the processing A and the basic operations of the processing B (described later in FIG. 8), and each block Supply to. Process B control unit 5
Reference numeral 15 controls each block in order to perform the process B described in FIGS. In particular, the process B control unit 515
In the first half of the process B (302 in FIG. 3), the 0th to 15th 1
Accumulator 516 accumulates the access counts for 6 channels and accumulates the access counts for 16th to 31st channels in the latter half of the process B (306 in FIG. 3). It is for storing the accumulated value. The operation of the process B control unit 515 and the accumulator 516 will be described in detail later.

【0042】図8は、図5のアドレス発生器102のタ
イミングチャートを示す。縦に引かれた点線により区切
られた各区間が1クロックのタイムスロットを示す。図
8は、1DAC周期384クロック(12クロック×時
分割32チャンネル分)動作のうちの2チャンネル時間
分を取りだした図である。1チャンネル分の12クロッ
クの各区間には順にスロット番号(0〜11)をつけ
る。図8では、一連のスロット番号0〜11を四角で囲
んだ区間が1チャンネル分の区間である。
FIG. 8 shows a timing chart of the address generator 102 of FIG. Each section separated by a vertically drawn dotted line represents a time slot of 1 clock. FIG. 8 is a diagram in which 2 channel times of the operation of 1 DAC cycle of 384 clocks (12 clocks × time-division 32 channels) are taken out. Slot numbers (0 to 11) are sequentially assigned to each section of 12 clocks for one channel. In FIG. 8, a section in which a series of slot numbers 0 to 11 is surrounded by a square is a section for one channel.

【0043】「処理A」と記載された行の1〜6の数字
は下記の処理番号に対応しており、その処理番号が記載
されたタイムスロットで当該処理番号の処理が行なわれ
る。例えば、処理Aに関してスロット番号0の位置には
「1」と記載されており、スロット番号2の位置には
「2」と記載されているが、これはスロット番号0のス
ロットで下記の処理番号1の処理を行ない、スロット番
号2のスロットで下記の処理番号2の処理を行なうとい
うことを示している。処理Aに関しては、6クロックで
1チャンネル分のアドレス作成を行なうことになる。以
下、図8および図5,6を参照して、アドレス発生器1
02におけるアドレスを作成する処理Aの処理番号1〜
6の処理を説明する。
The numbers 1 to 6 in the line labeled "Process A" correspond to the process numbers below, and the process of the process number is performed in the time slot in which the process number is described. For example, regarding process A, the position of slot number 0 is described as "1", and the position of slot number 2 is described as "2". It indicates that the process of No. 1 is performed and the process of the following process number 2 is performed in the slot of slot number 2. Regarding the process A, an address for one channel is created in 6 clocks. Hereinafter, referring to FIG. 8 and FIGS. 5 and 6, the address generator 1
Process number 1 of process A for creating address in 02
The process of 6 will be described.

【0044】1.処理番号1では、セレクタ501はP
ITCHを選択出力し、セレクタ502はLTUNEを
選択出力する。PITCHはオクターブ内のピッチを示
し、CPU204が制御レジスタ101を介して指定す
る。LTUNEは、ループチューンを示す。波形メモリ
208に格納されている波形データはアタック部とルー
プ部に分けられるが、アタック部を読み出している間は
LTUNEは0である。アタック部からループ部に入っ
たとき、アタック部とループ部とでピッチの値が異なる
場合があるため、オフセットとしてのループチューンL
TUNEをピッチPITCHに加算してピッチの調整を
行なう。LTUNEは、CPU204が制御レジスタ1
01を介して指定する。
1. In the process number 1, the selector 501 is P
ITCH is selectively output, and the selector 502 selectively outputs LTUNE. PITCH indicates the pitch within the octave, and is designated by the CPU 204 via the control register 101. LTUNE indicates loop tune. The waveform data stored in the waveform memory 208 is divided into an attack portion and a loop portion, and LTUNE is 0 while the attack portion is being read. When entering the loop section from the attack section, the pitch value may differ between the attack section and the loop section, so loop tune L as an offset
The pitch is adjusted by adding TUNE to the pitch PITCH. In LTUNE, the CPU 204 controls the control register 1
Specify via 01.

【0045】加算器504は、PITCH+LTUNE
を計算する。加算結果VIBMは、2クロック後に出力
され、ビブラート変調器506に入力する。ビブラート
変調器506は、楽音にゆっくりした時間的な周波数の
揺れをつけるためにその揺れ分を加算する処理を行な
う。ビブラート変調された結果は、オクターブシフタ5
07に入力し、オクターブ分のシフトを行なう。オクタ
ーブシフタ507に入力するOCTは、オクターブ分の
シフト量を示し、CPU204が制御レジスタ101を
介して指定する。
The adder 504 uses PITCH + LTUNE
Is calculated. The addition result VIBM is output after two clocks and input to the vibrato modulator 506. The vibrato modulator 506 performs a process of adding the fluctuation amount in order to add a slow temporal frequency fluctuation to the musical sound. The result of vibrato modulation is the octave shifter 5.
Input to 07 and shift by octave. The OCT input to the octave shifter 507 indicates a shift amount for an octave, and is designated by the CPU 204 via the control register 101.

【0046】オクターブシフタ507の出力は、ピッチ
PITXとしてセレクタ501に入力する。このピッチ
PITXが、当該チャンネルにおけるアドレスの進み値
(周波数ナンバ)である。なお実際には、前のチャンネ
ルタイミングの処理番号1のスロットで算出された加算
結果VIBMがビブラート変調器506およびオクター
ブシフタ507で加工され、当該チャンネルタイミング
の処理番号2のピッチPITXとして用いられる。
The output of the octave shifter 507 is input to the selector 501 as the pitch PITX. The pitch PITX is the advance value (frequency number) of the address on the channel. Actually, the addition result VIBM calculated in the slot of the processing number 1 of the previous channel timing is processed by the vibrato modulator 506 and the octave shifter 507 and used as the pitch PITX of the processing number 2 of the channel timing.

【0047】2.処理番号2では、セレクタ501はオ
クターブシフタ507から出力されるピッチPITXを
選択出力し、セレクタ502はアドレスRAM511か
ら当該チャンネルのアドレス小数部ARAM(ADF)
を選択出力する。ARAM(ADF)は、整数部合成部
512が用意する。すなわち、整数部合成部512は、
アドレスRAM511の当該チャンネルに関するADL
を読み出し、その下位9ビットのアドレス小数部のみを
取り出し、アドレス小数部ARAM(ADF)としてセ
レクタ502に入力する。同時に、整数部合成部512
は、該ADLに含まれるアドレス整数部ARAM(AD
I)の下位ビットを内部レジスタに取得する。
2. In the process number 2, the selector 501 selects and outputs the pitch PITX output from the octave shifter 507, and the selector 502 outputs the address fractional part ARAM (ADF) of the channel from the address RAM 511.
Is selected and output. The integer part synthesis unit 512 prepares the ARAM (ADF). That is, the integer part combining unit 512
ADL related to the channel of the address RAM 511
Is read out, and only the fractional part of the address of the lower 9 bits is taken out and input to the selector 502 as the fractional part of the address ARAM (ADF). At the same time, the integer part combining unit 512
Is the address integer part ARAM (AD
The lower bit of I) is acquired in the internal register.

【0048】加算器504は、ARAM(ADF)+P
ITXを計算し出力する。加算結果UDは、2クロック
後に出力され、シフタ505を介して次の処理番号3で
使われる。さらにこの加算結果は、小数部ラッチ(FL
AT)510に入力し、下位9ビットがラッチされる。
これが新たなアドレス小数部のデータである。小数部ラ
ッチ510のアドレス小数部のデータは、後にセレクタ
503を介して、アドレスRAM511の当該アドレス
のADL下位9ビットに書き込まれる。また、このとき
のUDの整数部(溢れ値)は、新たなアドレスに応じて
読み出すべきサンプル数として処理B制御部515に取
り込まれる。
The adder 504 uses ARAM (ADF) + P
Calculate and output ITX. The addition result UD is output after 2 clocks and used in the next processing number 3 via the shifter 505. Furthermore, the result of this addition is the fractional part latch (FL
AT) 510, and the lower 9 bits are latched.
This is the new data for the fractional part of the address. The data of the address decimal part of the decimal part latch 510 is later written to the lower 9 bits of the ADL of the address of the address RAM 511 via the selector 503. Further, the integer part (overflow value) of the UD at this time is taken into the process B control unit 515 as the number of samples to be read according to the new address.

【0049】3.処理番号3では、上記処理番号2の加
算結果UDがシフタ505で9ビットダウンシフトされ
たデータUD↓9(*ビットダウンシフトされたデータ
をUD↓*と表記するものとする)がセレクタ501に
入力し、セレクタ501はこのデータUD↓9を選択出
力する。セレクタ502は、アドレスRAM511の当
該チャンネルのアドレス整数部ARAM(ADI)を選
択出力する。ARAM(ADI)は、整数部合成部51
2が用意する。すなわち、整数部合成部512は、先に
処理番号2でアドレスRAM511の当該チャンネルの
ADLを読み出して上位7ビットを取り出しておき、次
に処理番号3で当該チャンネルのADHを読み出し、A
DHの16ビットと先に取り出しておいたADL上位7
ビットとを合成して、アドレス整数部ARAM(AD
I)を得る。整数部合成部512は、前もってアドレス
整数部を合成する処理を行ない、本処理番号3のタイミ
ングでARAM(ADI)を出力する。
3. In the process number 3, data UD ↓ 9 (* bit downshifted data is represented as UD ↓ *) in which the addition result UD of the process number 2 is downshifted by 9 bits in the shifter 505 is input to the selector 501. Upon inputting, the selector 501 selects and outputs this data UD ↓ 9. The selector 502 selects and outputs the address integer part ARAM (ADI) of the channel of the address RAM 511. The ARAM (ADI) is an integer part synthesis unit 51.
2 prepared. That is, the integer part synthesizing unit 512 first reads the ADL of the channel of the address RAM 511 by processing number 2 and extracts the high-order 7 bits, then reads the ADH of the channel by processing number 3, and sets A
16 bits of DH and ADL upper 7 extracted earlier
Bit integer and ARAM (AD
Obtain I). The integer part combining unit 512 performs a process of combining the address integer parts in advance, and outputs ARAM (ADI) at the timing of this process number 3.

【0050】加算器504は、ARAM(ADI)+U
D↓9を計算する。UD↓9(先述した整数部=溢れ
値)は、処理番号2でアドレス小数部にピッチPITX
(アドレスの進み値)を加算した加算結果のうち、アド
レス小数部の9ビットよりも上位に溢れた分に相当する
から、ARAM(ADI)+UD↓9はアドレス整数部
にその溢れ分を加算する計算である。この加算結果UD
は、2クロック後に出力され、シフタ505を介して次
の処理番号4で使われる。さらにこの加算結果は、整数
部ラッチ(ILAT)509に入力しラッチされる。こ
れが新たなアドレス整数部のデータである。整数部ラッ
チ509のアドレス整数部のデータは、後にセレクタ5
03を介して、アドレスRAM511の当該アドレスの
ADHおよびADL上位7ビットに書き込まれる。
The adder 504 is ARAM (ADI) + U
Calculate D ↓ 9. UD ↓ 9 (integer part = overflow value described above) is processed number 2 and pitch PITX is added to the address decimal part.
In the addition result obtained by adding (advance value of address), this corresponds to the overflow above 9 bits of the address fractional part, so ARAM (ADI) + UD ↓ 9 adds the overflow to the address integer part. It is a calculation. This addition result UD
Is output after 2 clocks and is used in the next processing number 4 via the shifter 505. Further, the addition result is input to and latched in the integer part latch (ILAT) 509. This is the data of the new address integer part. The data of the address integer part of the integer part latch 509 will be stored in the selector 5 later.
It is written in ADH and ADL upper 7 bits of the address of the address RAM 511 via 03.

【0051】4.処理番号4では、上記処理番号3の加
算結果UDがそのままセレクタ502に入力し(シフタ
505のシフト量は0)、セレクタ502はこのデータ
UDを選択出力する。セレクタ501は、−LPLEN
を選択出力する。−LPLENは、読み出すべき波形デ
ータのループ部のデータ長LPLENにマイナスを付け
て負数にしたものである。−LPLENは、CPU20
4が制御レジスタ101を介して指定する。加算器20
8は、−LPLEN+UDを計算し、2クロック後に加
算結果を出力する。
4. In the process number 4, the addition result UD of the process number 3 is directly input to the selector 502 (the shift amount of the shifter 505 is 0), and the selector 502 selectively outputs this data UD. Selector 501 is -LPLEN
Is selected and output. -LPLEN is a data length LPLEN of the loop portion of the waveform data to be read, which is negatively added. -LPLEN is CPU20
4 designates via the control register 101. Adder 20
8 calculates -LPLEN + UD and outputs the addition result after 2 clocks.

【0052】波形メモリ208上の波形データはアタッ
ク部とそれに引き続くループ部とから構成されるが、波
形データをアクセスする際には、ループ部の先頭位置
(すなわちアタック部の最終位置)をアドレス0の基準
としている。したがって、−LPLEN+UDが正(キ
ャリー非発生時)になったとき、アドレス値がループ部
最終位置を超えたことになり、この場合、アドレスをル
ープ部の先頭に戻す必要がある。そこで、処理番号4の
加算でキャリーが発生したときは以下の処理番号5,6
の処理は行なわず、キャリーが発生しなかったときはル
ープ部の先頭付近のアドレスに戻るために以下の処理番
号5,6の処理を行なう。
The waveform data in the waveform memory 208 is composed of an attack portion and a loop portion that follows it. When accessing the waveform data, the beginning position of the loop portion (that is, the final position of the attack portion) is set to the address 0. The standard of. Therefore, when -LPLEN + UD becomes positive (when a carry is not generated), the address value has exceeded the loop unit final position, and in this case, the address must be returned to the beginning of the loop unit. Therefore, when a carry occurs when the process number 4 is added, the following process numbers 5 and 6 are performed.
If the carry does not occur, the following processing numbers 5 and 6 are performed to return to the address near the beginning of the loop portion.

【0053】5.処理番号5では、上記処理番号4の加
算結果UD(新たなアドレス整数部)と小数部ラッチ
(FLAT)510のアドレス小数部とを合成した32
ビットのアドレス値UD(I&FLAT)を生成し(こ
のデータ生成はシフタ505で行なう)、セレクタ50
2はこのデータUD(I&FLAT)を選択出力するよ
うにする。また、セレクタ501はループ小数部データ
LPFRを選択出力する。LPFRは、CPU204が
制御レジスタ101を介して指定する。加算器208
は、UD(I&FLAT)+LPFRを計算し、2クロ
ック後に加算結果を出力する。
5. In process number 5, the addition result UD (new address integer part) of process number 4 and the address fraction part of the fraction part latch (FLAT) 510 are combined 32.
A bit address value UD (I & FLAT) is generated (this data is generated by the shifter 505), and the selector 50
2 selects and outputs this data UD (I & FLAT). Further, the selector 501 selects and outputs the loop fraction part data LPFR. The LPFR is designated by the CPU 204 via the control register 101. Adder 208
Calculates UD (I & FLAT) + LPFR and outputs the addition result after 2 clocks.

【0054】ループ小数部データLPFRは、ループ部
先頭付近に戻る場合の補正用オフセットデータである。
処理番号4でアドレス整数部に−LPLENを加算して
整数部については戻りアドレスが算出されたが、ループ
部先頭付近に戻る場合は小数部の調整も必要であるの
で、整数部と小数部とを合成したアドレス値UD(I&
FLAT)にループ小数部データLPFRを加算して、
微妙な戻りアドレスの調整を行なっている。
The loop fraction part data LPFR is offset data for correction when returning to the vicinity of the beginning of the loop part.
In processing number 4, -LPLEN was added to the address integer part to calculate the return address for the integer part. However, when returning to the vicinity of the beginning of the loop part, it is necessary to adjust the decimal part. Address value UD (I &
Loop fractional part data LPFR is added to (FLAT),
Subtle return address adjustments are made.

【0055】本処理番号5の加算結果は、小数部ラッチ
(FLAT)510に入力し、下位9ビットがラッチさ
れる。これが新たなアドレス小数部のデータである。小
数部ラッチ510のアドレス小数部のデータは、セレク
タ503を介して、アドレスRAM511の当該アドレ
スのADL下位9ビットに書き込まれる。
The addition result of the process number 5 is input to the fractional part latch (FLAT) 510, and the lower 9 bits are latched. This is the new data for the fractional part of the address. The data of the address decimal part of the decimal part latch 510 is written to the lower 9 bits of the ADL of the address of the address RAM 511 via the selector 503.

【0056】6.処理番号6では、上記処理番号5の加
算結果UDがシフタ505で9ビットダウンシフトされ
たデータUD↓9がセレクタ502に入力し、セレクタ
502はこのデータUD↓9を選択出力する。セレクタ
501は、−ASを選択出力する。−ASは、ノートオ
ン立ち上がり時はアドレス整数部の初期値であり、それ
以外では0となるデータを示す。−ASは、CPU20
4が制御レジスタ101を介して指定する。加算器50
4は、−AS+UD↓9を計算し、2クロック後に加算
結果を出力する。この加算結果は、整数部ラッチ(IL
AT)509に入力しラッチされる。これが新たなアド
レス整数部のデータである。整数部ラッチ509のアド
レス整数部のデータは、セレクタ503を介して、アド
レスRAM511の当該アドレスのADHおよびADL
上位7ビットに書き込まれる。
6. In the process number 6, the data UD ↓ 9 obtained by downshifting the addition result UD of the process number 5 by 9 bits by the shifter 505 is input to the selector 502, and the selector 502 selectively outputs the data UD ↓ 9. The selector 501 selectively outputs -AS. -AS indicates data that is the initial value of the address integer part at the time of note-on rising and is 0 at other times. -AS is the CPU 20
4 designates via the control register 101. Adder 50
4 calculates -AS + UD ↓ 9 and outputs the addition result after 2 clocks. The result of this addition is the integer part latch (IL
AT) 509 and latched. This is the data of the new address integer part. The data of the address integer part of the integer part latch 509 is transferred to the ADH and ADL of the address of the address RAM 511 via the selector 503.
It is written in the upper 7 bits.

【0057】要するに処理番号6では、ノートオン立ち
上がり時以外の場合は、処理番号5の加算結果UD(新
たなアドレス値)を9ビットダウンシフトしたアドレス
整数部を整数部ラッチ509およびアドレスRAM51
1に書き込む。そして、ノートオン立ち上がり時に処理
番号6を実行した場合(このときUDは0)は、整数部
ラッチ509を介してアドレスRAM511にアドレス
整数部の初期値を書き込む。上述したように、波形デー
タはループ部の先頭を基準のアドレス0としているか
ら、アタック部の先頭アドレスは負数−ASになる。そ
こで、ノートオン立ち上がり時にこの初期値をアドレス
RAM511に書き込む必要がある。
In summary, in the process number 6, the address integer part obtained by downshifting the addition result UD (new address value) of the process number 5 by 9 bits is used in the integer part latch 509 and the address RAM 51 except when the note-on is started.
Write to 1. Then, when the process number 6 is executed at the rising of the note-on (UD is 0 at this time), the initial value of the address integer part is written to the address RAM 511 via the integer part latch 509. As described above, since the waveform data has the reference address 0 at the beginning of the loop portion, the beginning address of the attack portion is a negative number -AS. Therefore, it is necessary to write this initial value in the address RAM 511 when the note-on rises.

【0058】その後、サンプリング周期で上述した処理
番号1〜処理番号6が実行されることにより、RAM5
11に書き込まれるアドレスはアタック部先頭アドレス
からループ部の先頭アドレスに徐々に変化した後、ルー
プ部の先頭アドレスからループ部の終了アドレスへかけ
ての変化を繰り返し行なう。
After that, the processing number 1 to the processing number 6 described above are executed in the sampling cycle, so that the RAM 5
The address written in 11 is gradually changed from the attack part start address to the loop part start address, and then repeatedly changed from the loop part start address to the loop part end address.

【0059】以上のようにして、図8の処理Aに示すタ
イミングで処理番号1〜6を実行し、各チャンネルのア
ドレス値をアドレスRAM511上で作成する。上述の
処理Aの概要を下記に式のみで処理番号別に示す。
As described above, the process numbers 1 to 6 are executed at the timing shown in the process A of FIG. 8 to create the address value of each channel on the address RAM 511. An outline of the above-mentioned processing A is shown below for each processing number only by the formula.

【0060】 1.PITCH+(LTUNE)→VIBM 2.ARAM(ADF)+PITX→UD,FLAT→
ARAM 3.ARAM(ADI)+UD↓9→UD,ILAT→
ARAM 4.−LPLEN+UD→UD(I&FLAT) 5.(UD(I&FLAT)+LPFR→UD,FLA
T→ARAM) 6.((−AS)+UD↓9→ILAT→ARAM)
1. PITCH + (LTUNE) → VIBM 2. ARAM (ADF) + PITX → UD, FLAT →
ARAM 3. ARAM (ADI) + UD ↓ 9 → UD, ILAT →
ARAM 4. -LPLEN + UD → UD (I & FLAT) 5. (UD (I & FLAT) + LPFR → UD, FLA
T → ARAM) 6. ((-AS) + UD ↓ 9 → ILAT → ARAM)

【0061】ただし、処理番号1のLTUNEは、ルー
プ部以外(アタック部)では0であることを示すため括
弧を付けてある。同様に、処理番号6の−ASは、ノー
トオン立ち上がり時以外は0であることを示すため括弧
を付けてある。処理番号5,6は、処理番号4でキャリ
ー非発生時のみ実行されるので全体に括弧を付けてあ
る。
However, the LTUNE of the process number 1 is parenthesized to show that it is 0 except the loop part (attack part). Similarly, -AS of process number 6 is parenthesized to indicate that it is 0 except when the note-on is rising. Since the process numbers 5 and 6 are executed only when the carry number is not generated in the process number 4, parentheses are attached to the whole.

【0062】次に、処理Bのアドレス送り出しの動作に
ついて説明する。実際に図5のアドレス発生器102か
ら図8の処理Bに示すタイミングでアドレスを送り出す
処理を行なう前に、処理B制御部515は、アドレス送
り出しの前処理を行なっている。図10は、その前処理
の動作を示すフローチャートである。アドレス発生器1
02が前半の第0〜第15チャンネルに関する処理Aを
実行しているとき(図3の区間301)、処理B制御部
515は、当該第0〜第15チャンネルのアドレスを送
り出す前処理として図10の動作を行なう。また、アド
レス発生器102が後半の第16〜第31チャンネルに
関する処理Aを実行しているとき(図3の区間30
5)、処理B制御部515は、当該第16〜第31チャ
ンネルのアドレスを送り出す前処理として図10の動作
を行なう。以下では、第0〜第15チャンネルに係る処
理を前半処理、第16〜第31チャンネルに係る処理を
後半処理と呼ぶ。
Next, the address sending operation of the process B will be described. Before actually performing the processing for sending out the address from the address generator 102 in FIG. 5 at the timing shown in processing B in FIG. 8, the processing B control unit 515 performs the preprocessing for sending out the address. FIG. 10 is a flowchart showing the operation of the preprocessing. Address generator 1
02 is performing the process A for the first half of channels 0 to 15 (section 301 in FIG. 3), the process B control unit 515 performs the process A shown in FIG. Perform the operation of. Further, when the address generator 102 is executing the process A regarding the 16th to 31st channels of the latter half (section 30 in FIG. 3).
5), the process B control unit 515 performs the operation of FIG. 10 as a preprocess for sending out the addresses of the 16th to 31st channels. Hereinafter, the processing related to the 0th to 15th channels will be referred to as the first half processing, and the processing related to the 16th to 31st channels will be referred to as the second half processing.

【0063】図10において、ステップ1001では、
処理B制御部515の内部にある前半/後半のアキュム
レータ(ACC)516を初期設定(ゼロクリア)す
る。アキュムレータ(ACC)516としては、第0〜
第15チャンネルに関する波形メモリアクセス回数を累
算するための前半アキュムレータと、第16〜第31チ
ャンネルに関する波形メモリアクセス回数を累算するた
めの後半アキュムレータとが、独立に設けられている。
いま並行して実行されている処理Aが、前半の第0〜第
15チャンネルのアドレスを作成する処理を行なってい
るのであれば前半アキュムレータを初期設定し、後半の
第16〜第31チャンネルのアドレスを作成する処理を
行なっているのであれば後半アキュムレータを初期設定
する。以下の図10の説明では、単に「アキュムレータ
ACC」というときは、前半処理では前半アキュムレー
タ、後半処理では後半アキュムレータのことを指すもの
とする。
In FIG. 10, in step 1001,
The first half / second half accumulator (ACC) 516 inside the process B control unit 515 is initialized (cleared to zero). As the accumulator (ACC) 516, the 0th
A first half accumulator for accumulating the waveform memory access count for the 15th channel and a second half accumulator for accumulating the waveform memory access count for the 16th to 31st channels are independently provided.
If the process A which is being executed in parallel is the process of creating the addresses of the first half channels 0 to 15, the first half accumulator is initialized and the addresses of the latter half channels 16 to 31 are set. If the process of creating is done, the latter half accumulator is initialized. In the following description of FIG. 10, when simply referring to “accumulator ACC”, it is assumed that the first half processing refers to the first half accumulator, and the second half processing refers to the second half accumulator.

【0064】ステップ1002は、特に何かの処理を行
なうものではないが、次のステップ1003〜1008
を行なう対象のチャンネル(以下、対象チャンネルとい
う)として最初のチャンネルに着目するということであ
る。最初のチャンネルというのは、前半処理では第0チ
ャンネル、後半処理では第16チャンネルである。
The step 1002 does not perform any processing, but the following steps 1003 to 1008 are performed.
This means focusing on the first channel as the target channel (hereinafter referred to as the target channel) for performing. The first channel is the 0th channel in the first half processing and the 16th channel in the second half processing.

【0065】次に、ステップ1003では、対象チャン
ネルについて、そのチャンネル番号、圧縮方式、サンプ
ル数、およびアドレス最下位ビットを受け取る。チャン
ネル番号は、チャンネルカウンタ113からのカウント
値CHCから分かる。
Next, in step 1003, for the target channel, the channel number, compression method, number of samples, and address least significant bit are received. The channel number can be known from the count value CHC from the channel counter 113.

【0066】ステップ1003で受け取る圧縮方式と
は、読み出すべき対象チャンネルの波形データの圧縮方
式であり、16ビット非圧縮、8ビット非圧縮、または
8ビット圧縮の何れかである。圧縮方式は、チャンネル
ごとに異なっていてもかまわない。チャンネルごとの圧
縮方式は、CPU204が制御レジスタ101に設定し
た情報を参照することで分かる。
The compression method received in step 1003 is the compression method of the waveform data of the target channel to be read, and is either 16-bit uncompressed, 8-bit uncompressed, or 8-bit compressed. The compression method may be different for each channel. The compression method for each channel can be known by referring to the information set in the control register 101 by the CPU 204.

【0067】図9(a)に、波形メモリ208内の16
ビット非圧縮の波形データのフォーマットを示す。90
1〜906は、それぞれ、16ビットの非圧縮の波形デ
ータの1サンプルを示す。アドレスはサンプル単位に付
けられるので、サンプル901をアドレス0の基準位置
とすると、サンプル902,903,904,…のアド
レスはそれぞれ1,2,3,…である。図9(b)に、
波形メモリ208内の8ビット非圧縮または8ビット圧
縮の波形データのフォーマットを示す。911〜922
は、それぞれ、8ビットの非圧縮または圧縮の波形デー
タの1サンプルを示す。アドレスはサンプル単位に付け
られるので、サンプル911をアドレス0の基準位置と
すると、サンプル912,913,914,…のアドレ
スはそれぞれ1,2,3,…である。波形メモリ208
の波形データのアクセスは、圧縮方式にかかわりなく、
16ビット単位で行なわれる。したがって、16ビット
非圧縮の方式では、読み出すサンプル数と波形メモリへ
のアクセス回数とは一致する。8ビット非圧縮または圧
縮の方式では、読み出すサンプル数と波形メモリへのア
クセス回数とが一致するとは限らない。
FIG. 9A shows 16 waveforms in the waveform memory 208.
The format of the bit uncompressed waveform data is shown. 90
Reference numerals 1 to 906 each represent one sample of 16-bit uncompressed waveform data. Since the addresses are assigned in sample units, assuming that the sample 901 is the reference position of the address 0, the addresses of the samples 902, 903, 904, ... Are 1, 2, 3 ,. In FIG. 9 (b),
8 shows a format of 8-bit uncompressed or 8-bit compressed waveform data in the waveform memory 208. 911-922
Indicate one sample of 8-bit uncompressed or compressed waveform data, respectively. Since the addresses are assigned in sample units, assuming that the sample 911 is the reference position of the address 0, the addresses of the samples 912, 913, 914, ... Are 1, 2, 3 ,. Waveform memory 208
The waveform data can be accessed regardless of the compression method.
It is performed in units of 16 bits. Therefore, in the 16-bit non-compression method, the number of samples to be read and the number of times of accessing the waveform memory match. In the 8-bit non-compression or compression method, the number of samples to be read out and the number of times of accessing the waveform memory do not always match.

【0068】ステップ1003で受け取るサンプル数
は、対象チャンネルにおいて読み出すべきサンプルの数
である。このサンプル数は、上述の処理Aの処理番号2
の加算結果のうちアドレス小数部の9ビットよりも上位
に溢れた分(溢れ値)を、加算器504から処理B制御
部515に取り込むことにより分かる。なお、処理Aの
処理番号4の加算でキャリーが発生しなかったときは、
ループ部の先頭付近のアドレスに戻るが、この場合、サ
ンプルRAM1205(図13)中の過去のサンプルは
使用できない。そこで、処理B制御部515は、処理A
の処理番号4におけるキャリー非発生を検出したとき
は、補間用の全4サンプルを読み出すように、読み出す
べきサンプル数を強制的に4と指定するものとする。
The number of samples received in step 1003 is the number of samples to be read in the target channel. This sample number is the processing number 2 of the processing A described above.
It can be understood by fetching an overflow amount (overflow value) higher than 9 bits of the fractional address part of the addition result of (1) from the adder 504 into the processing B control unit 515. If a carry does not occur due to the addition of the process number 4 of the process A,
Returning to the address near the beginning of the loop part, in this case, the past sample in the sample RAM 1205 (FIG. 13) cannot be used. Therefore, the process B control unit 515 determines that the process A
When the carry non-occurrence in the processing number 4 is detected, the number of samples to be read is forcibly designated as 4 so that all 4 samples for interpolation are read.

【0069】ステップ1003で受け取るアドレス最下
位ビットは、対象チャンネルのアドレス整数部の最下位
ビットである。このアドレス最下位ビットは、上述の処
理Aの処理番号3または処理番号6の加算結果(特にそ
の最下位ビット)を、加算器504から処理B制御部5
15に取り込むことにより分かる。
The least significant bit of the address received in step 1003 is the least significant bit of the address integer part of the target channel. As the least significant bit of the address, the addition result (in particular, the least significant bit) of the processing number 3 or the processing number 6 of the above-described processing A is added from the adder 504 to the processing B control unit 5.
It can be understood by taking in 15.

【0070】次に、ステップ1004で、サンプル数が
0であるか否か判定する。サンプル数が0なら、この対
象チャンネルでは波形メモリ208から新たなサンプル
を読み出す必要が無いから、ステップ1009に進む。
サンプル数が0でないなら、ステップ1005で書き込
みポインタをインクリメントし、ステップ1006で対
象チャンネルに関するチャンネル番号とサンプル数とを
制御RAM517に書き込む。
Next, in step 1004, it is determined whether or not the number of samples is zero. If the number of samples is 0, there is no need to read a new sample from the waveform memory 208 in this target channel, so the flow proceeds to step 1009.
If the number of samples is not 0, the write pointer is incremented in step 1005, and the channel number and the number of samples regarding the target channel are written in the control RAM 517 in step 1006.

【0071】図7は、制御RAM517の構成を示す。
制御RAM517は、チャンネル番号とそのチャンネル
において読み出すべきサンプル数を格納する領域が複数
用意されて構成される。処理B制御部515内には書き
込みポインタおよび読み出しポインタが備えられてお
り、各チャンネルにおいて読み出すべきサンプル数を制
御RAM517に書き込むときは書き込みポインタをす
すめ(上記ステップ1005)、制御RAM517から
チャンネル番号とサンプル数を読み出して当該チャンネ
ルに関する読み出しアドレスを送出するときは読み出し
ポインタを進める(後述する図11のステップ110
2)。制御RAM517は、リング状に使用するように
なっており、書き込みまたは読み出しポインタが制御R
AM517の一方の端に至った場合、その次のポインタ
の位置は制御RAM517の他方の端になる。また、読
み出しポインタの指す位置が書き込みポインタの指す位
置を追いかけるように書き込みおよび読み出しが行なわ
れるが、書き込みポインタが読み出しポインタを追い越
さない程度の領域の大きさが確保されているものとす
る。書き込みポインタおよび読み出しポインタは、アキ
ュムレータACCと同様に、それぞれ、前半処理用のも
のと後半処理用のものとが別々に設けられている。単
に、書き込みポインタおよび読み出しポインタと呼ぶと
きは、前半処理では前半処理用のもの、後半処理では後
半処理用のものを指すものとする。なお、図7のような
構成のほか、各チャンネルに1つずつアドレスを対応さ
せ、そこに必要サンプル数を書き込むようにしてもよ
い。
FIG. 7 shows the structure of the control RAM 517.
The control RAM 517 is configured by preparing a plurality of areas for storing the channel number and the number of samples to be read in that channel. The process B control unit 515 is provided with a write pointer and a read pointer. When writing the number of samples to be read in each channel to the control RAM 517, the write pointer is recommended (step 1005 described above), and the channel number and the sample are read from the control RAM 517. When reading the number and sending the read address for the channel, the read pointer is advanced (step 110 in FIG. 11 described later).
2). The control RAM 517 is designed to be used in a ring shape, and the write or read pointer is controlled by the control R.
When the one end of the AM 517 is reached, the position of the next pointer becomes the other end of the control RAM 517. Further, writing and reading are performed so that the position pointed by the read pointer follows the position pointed by the write pointer, but it is assumed that the size of the area is ensured so that the write pointer does not overtake the read pointer. Similar to the accumulator ACC, the write pointer and the read pointer are provided separately for the first half processing and the second half processing. When simply referred to as the write pointer and the read pointer, the first half processing indicates the one for the first half processing, and the second half processing indicates the one for the second half processing. In addition to the configuration shown in FIG. 7, one address may be associated with each channel and the required number of samples may be written therein.

【0072】再び図10に戻って、ステップ1007で
は、対象チャンネルに関して必要な波形メモリアクセス
回数を計算し、ワークレジスタATに格納する。このア
クセス回数は、ステップ1003で得た圧縮方式、サン
プル数、およびアドレス最下位ビットから求める。16
ビット非圧縮方式では、「アクセス回数=サンプル数」
である。8ビット非圧縮または圧縮方式では、図9
(c)のような16ビットバウンダリの位置から8ビッ
トサンプルの読み出しを開始する場合は「アクセス回数
=サンプル数/2」となり、図9(d)のような16ビ
ットバウンダリでない8ビットバウンダリの位置から8
ビットサンプルの読み出しを開始する場合は「アクセス
回数=サンプル数/2+1」となる(ただし、サンプル
数/2は小数点以下切り捨て)。なお、図9(c)およ
び図9(d)では、0,1,2,3と記載した順に4サ
ンプルを読み出す例を記載した。図9(c)の場合か、
図9(d)の場合かは、アドレス最下位ビットにより判
別できる。アドレス最下位ビットが、0のときは図9
(c)の場合、1のときは図9(d)の場合である。
Returning to FIG. 10 again, in step 1007, the number of times of waveform memory access required for the target channel is calculated and stored in the work register AT. The number of accesses is obtained from the compression method, the number of samples, and the address least significant bit obtained in step 1003. 16
In the bit uncompressed method, "access count = sample count"
It is. In the case of 8-bit uncompressed or compressed system, FIG.
When reading 8-bit samples from the 16-bit boundary position as shown in (c), “access count = number of samples / 2” is satisfied, and the 8-bit boundary position is not the 16-bit boundary as shown in FIG. 9D. To 8
When the reading of the bit sample is started, “access count = sample number / 2 + 1” is set (however, sample number / 2 is rounded down to the right of the decimal point). In addition, in FIGS. 9C and 9D, an example in which four samples are read in the order of 0, 1, 2, and 3 is described. In the case of FIG. 9C,
The case of FIG. 9D can be determined by the least significant bit of the address. When the least significant bit of the address is 0,
In the case of (c), the case of 1 is the case of FIG. 9 (d).

【0073】先述した図4は、必要な波形メモリアクセ
ス回数が、第0チャンネルで1、第2チャンネルで3、
第5チャンネルで1、第7チャンネルで2の場合であ
る。なお、その他のチャンネルは、発音していない、ま
たは、前述した溢れ値が0(すなわち、波形メモリから
のサンプル読み出しが不要な)のチャンネルである。
In FIG. 4 described above, the required number of waveform memory accesses is 1 for the 0th channel and 3 for the 2nd channel.
This is the case of 1 for the fifth channel and 2 for the seventh channel. The other channels are channels that are not sounding or have the overflow value of 0 (that is, it is not necessary to read the sample from the waveform memory).

【0074】ステップ1008では、アキュムレータA
CCにアクセス回数ATを累算する。ステップ1009
では、対象チャンネルが最終のチャンネル(前半処理で
は第15チャンネルが最終、後半処理では第31チャン
ネルが最終)であるか否かを判定し、最終チャンネルで
ないときは、ステップ1010で対象チャンネルを次の
チャンネル(チャンネル数を+1)にしてステップ10
03に戻る。
In step 1008, the accumulator A
The access count AT is accumulated in CC. Step 1009
Then, it is determined whether or not the target channel is the last channel (the fifteenth channel is the last in the first half processing, and the thirty-first channel is the last in the second half processing). If it is not the last channel, the next target channel is selected in step 1010. Channel 10 (the number of channels is +1) Step 10
Return to 03.

【0075】ステップ1009で最終チャンネルに至っ
たときは、ステップ1011で、アキュムレータACC
のアクセス回数累算値が、実際にアクセスを実行する処
理B前半区間または後半区間における最大アクセス可能
数を超えていないか判定し、各チャンネルごとのアクセ
ス回数および補間次数を決定する。本形態例では、この
最大アクセス可能数は32である。図4で述べたように
処理Bで1アドレス送り出しを行なう区間の時間幅は時
分割チャンネルタイミングで1チャンネル分の処理を行
なう区間の時間幅の半分であり、処理B前半区間および
処理B後半区間ではそれぞれ32アクセスが可能だから
である。したがって、アキュムレータACCのアクセス
回数累算値が32を超えていないなら、制御RAM51
7に書き込んだ前半または後半の各チャンネルのサンプ
ル数はすべてアクセスできるから、そのサンプル数に応
じて各チャンネルのアクセス数および補間次数を決定す
る。この場合は、前半または後半の全16チャンネルで
4点補間が可能であるということである。一方、アキュ
ムレータACCのアクセス回数累算値が32を超えてい
たなら、制御RAM517に書き込んだ各チャンネルの
サンプル数をすべてアクセスすることはできないので、
何れかのチャンネルのアクセス回数を削減し補間次数を
落とす。アクセス回数を削減するチャンネルの決定方法
としては、例えば下記の〜のような方法がある。
When the final channel is reached in step 1009, in step 1011 the accumulator ACC
It is determined whether or not the accumulated access count value exceeds the maximum accessible number in the first half section or the second half section of the process B in which the access is actually executed, and the access count and the interpolation order for each channel are determined. In this embodiment, the maximum accessible number is 32. As described with reference to FIG. 4, the time width of the section in which one address is sent out in the process B is half the time width of the section in which the process for one channel is performed at the time division channel timing, and the first half section of the process B and the second half section of the process B This is because 32 access is possible for each. Therefore, if the accumulated access count value of the accumulator ACC does not exceed 32, the control RAM 51
Since the number of samples of each channel in the first half or the latter half written in 7 can be accessed, the access number of each channel and the interpolation order are determined according to the number of samples. In this case, 4-point interpolation is possible on all 16 channels in the first half or the second half. On the other hand, if the accumulated access count value of the accumulator ACC exceeds 32, it is not possible to access all the sample numbers of each channel written in the control RAM 517.
The access frequency of any channel is reduced and the interpolation order is reduced. As a method of deciding a channel that reduces the number of accesses, for example, there are the following methods.

【0076】チャンネル順に片端からアクセス回数を
削減する。 16ビット波形を再生しているチャンネルからアクセ
ス回数を削減する。16ビット波形なので、削減効果が
大きい。 その時点で音量レベルの小さいチャンネルからアクセ
ス回数を削減する。このようにすると楽音への影響が小
さい。各チャンネルの音量レベルは、エンベロープ値か
ら分かる。
The number of accesses is reduced from one end in the order of channels. The number of accesses is reduced from the channel reproducing the 16-bit waveform. The 16-bit waveform has a great reduction effect. At that time, the number of accesses is reduced from the channel having the lower volume level. In this way, the influence on the musical sound is small. The volume level of each channel is known from the envelope value.

【0077】なお、本形態例では各チャンネルで基本的
に4点補間を行なうが、アクセス回数を削減する際に
は、最低限2点補間ができるようにサンプル数を確保す
るものとする。したがって、2点補間ができなくなるほ
どのアクセス回数削減は行なわない。また、圧縮波形の
場合は、途中のサンプルを読み飛ばすと再生ができなく
なるので、アクセス回数削減の対象から外す。
Although four-point interpolation is basically performed for each channel in the present embodiment, the number of samples should be secured so that at least two-point interpolation can be performed when the number of accesses is reduced. Therefore, the number of accesses is not reduced so much that two-point interpolation cannot be performed. Also, in the case of a compressed waveform, it cannot be reproduced if the sample in the middle is skipped, so it is excluded from the target of the access count reduction.

【0078】図14に、本形態例におけるアクセス回数
削減の具体例(削減しない例も含む)を示す。図14
(a)〜(g)において、進み量とは、波形メモリサン
プルアドレス(詳しくはアドレスRAM511に記録さ
れた個々のサンプルを指すサンプルアドレス整数部)の
進み量であり、ステップ1003で得たサンプル数のこ
とである。下向きの矢印↓は、アドレス進み量を示すた
めの便宜的な基準位置(前回の同チャンネルの処理Bで
読み込み完了した位置)を示す。×、○、および●は、
波形データの1サンプルを示す。●は既にサンプルRA
M内に存在するサンプルを示し、○はこれから読み出す
べきサンプルを示す。
FIG. 14 shows a specific example (including an example in which the number of times of access is not reduced) in this embodiment. FIG.
In (a) to (g), the advance amount is the advance amount of the waveform memory sample address (specifically, the sample address integer part indicating each sample recorded in the address RAM 511), and the number of samples obtained in step 1003. That is. A downward arrow ↓ indicates a convenient reference position (a position where reading has been completed in the previous process B of the same channel) for indicating the address advance amount. ×, ○, and ● are
One sample of waveform data is shown. ● is already a sample RA
A sample existing in M is shown, and a circle shows a sample to be read.

【0079】図14(a)は、アドレスの進み量が0の
場合を示す。4点補間に必要な4点分のサンプルはサン
プルRAM内に存在するので、新たな読み出しは不要で
ありアクセス回数は0である。当然、アクセス回数の削
減は行なわれない。
FIG. 14A shows the case where the advance amount of the address is 0. Since four samples required for four-point interpolation exist in the sample RAM, new reading is unnecessary and the access count is zero. Naturally, the number of accesses is not reduced.

【0080】図14(b)は、アドレスの進み量が1の
場合を示す。必要な4点分のサンプルのうち3点は既に
サンプルRAM内に存在するから、1サンプルのみ読み
出す。そのため、圧縮形式にかかわらずアクセス回数は
1回必要である。この場合、アクセス回数の削減は行な
わない。
FIG. 14B shows the case where the advance amount of the address is 1. Since three of the required four samples are already in the sample RAM, only one sample is read. Therefore, regardless of the compression format, one access is required. In this case, the number of accesses is not reduced.

【0081】図14(c)は、アドレスの進み量が2の
場合を示す。必要な4点分のサンプルのうち2点は既に
サンプルRAM内に存在するから、2サンプルのみ読み
出す。16ビット非圧縮の形式のときはアクセス回数が
2回、8ビット圧縮または非圧縮の形式のときはアクセ
ス回数が1または2回必要である。この場合、アクセス
回数の削減は行なわない。
FIG. 14C shows the case where the address advance amount is 2. Since two of the required four samples are already present in the sample RAM, only two samples are read out. The 16-bit uncompressed format requires two access times, and the 8-bit compressed or uncompressed format requires one or two access times. In this case, the number of accesses is not reduced.

【0082】図14(d)は、アドレスの進み量が3の
場合を示す。必要な4点分のサンプルのうち1点は既に
サンプルRAM内に存在するから、3サンプルのみ読み
出す。16ビット非圧縮の形式のときはアクセス回数が
3回、8ビット圧縮または非圧縮の形式のときはアクセ
ス回数が2回必要である。この場合にアクセス回数の削
減を行なうときは(非圧縮の形式に限る)、図14
(d)の下側に記載したように、2点補間に必要な2サ
ンプルを新たに読み出すこととしてアクセス回数を削減
する。
FIG. 14D shows the case where the address advance amount is 3. Since one point out of the required four point samples already exists in the sample RAM, only three samples are read out. The 16-bit uncompressed format requires three access times, and the 8-bit compressed or uncompressed format requires two access times. In this case, when reducing the number of accesses (limited to the non-compressed format), FIG.
As described in the lower part of (d), the number of accesses is reduced by newly reading out two samples required for two-point interpolation.

【0083】図14(e)は、アドレスの進み量が4の
場合を示す。必要な4点分のサンプルはサンプルRAM
内に存在しないから、4サンプルをすべて読み出す。1
6ビット非圧縮の形式のときはアクセス回数が4回、8
ビット圧縮または非圧縮の形式のときはアクセス回数が
2または3回必要である。この場合にアクセス回数の削
減を行なうときは(非圧縮の形式に限る)、図14
(e)の下側に記載したように、2点補間に必要な2サ
ンプルを新たに読み出すこととしてアクセス回数を削減
する。
FIG. 14E shows the case where the amount of advance of the address is 4. Sample RAM for required 4 points
All 4 samples are read because they do not exist. 1
In the 6-bit uncompressed format, the access count is 4 times, 8 times
In the case of the bit compression or non-compression format, the access frequency is required to be 2 or 3 times. In this case, when reducing the number of accesses (limited to the non-compressed format), FIG.
As described in the lower part of (e), the number of accesses is reduced by newly reading out two samples required for two-point interpolation.

【0084】図14(f)は、波形データが非圧縮の形
式で、アドレスの進み量が5の場合(5以上の場合も同
じ)を示す。必要な4点分のサンプルはサンプルRAM
内に存在しないから、4サンプルをすべて読み出す。1
6ビット非圧縮の形式のときはアクセス回数が4回、8
ビット非圧縮の形式のときはアクセス回数が2または3
回必要である。この場合にアクセス回数の削減を行なう
ときは、図14(f)の下側に記載したように、2点補
間に必要な2サンプルを新たに読み出すこととしてアク
セス回数を削減する。
FIG. 14 (f) shows a case where the waveform data is in an uncompressed format and the amount of advance of the address is 5 (the same applies when the amount of advance is 5 or more). Sample RAM for required 4 points
All 4 samples are read because they do not exist. 1
In the 6-bit uncompressed format, the access count is 4 times, 8 times
The number of accesses is 2 or 3 in the bit uncompressed format
Need to be repeated. In this case, when the access count is reduced, the access count is reduced by newly reading out two samples required for two-point interpolation, as described in the lower part of FIG.

【0085】図14(g)は、波形データが8ビット圧
縮形式で、アドレスの進み量が5の場合を示す。必要な
4点分のサンプルはサンプルRAM内に存在しないか
ら、4点補間に必要な4サンプルをすべて読み出すが、
圧縮形式であるので途中のサンプルを読み飛ばすことが
できないため、合せて5サンプルを読み出す。アクセス
回数は3回必要である。なお、圧縮波形の場合は、進み
量を制限して図14(g)のような場合が起こらないよ
うにしてもよい。
FIG. 14G shows the case where the waveform data is in the 8-bit compression format and the address advance amount is 5. The required 4 samples are not in the sample RAM, so all 4 required for 4 point interpolation are read out.
Since this is a compressed format, it is not possible to skip intermediate samples, so a total of 5 samples are read. The number of accesses is 3 times. In the case of a compressed waveform, the advance amount may be limited so that the case shown in FIG. 14 (g) does not occur.

【0086】次に、図8を参照して、アドレス発生器1
02による処理Bの動作について説明する。図8から分
かるように、処理Bでは、スロット番号1,3,5で下
記の処理番号1,2,3の処理を行なうことによりアド
レスが1つ送り出される。これにより、波形メモリ20
8が1回アクセスされる。スロット番号7,9,11で
も同じ処理が為され1アクセスが実行されるので、3ク
ロックで1アクセス分の処理が可能であり、時分割チャ
ンネルタイミングの1チャンネル当りの時間内で2アク
セスが可能である。処理Bの波形メモリのアクセス処理
は、処理Aの時分割チャンネルタイミングにしたがった
処理とは関係がなく、読み出しが必要な各チャンネルに
ついて順次行なわれる。読み出しが必要なチャンネルと
サンプル数は、上述の図10の前処理で決定されてい
る。また、図3で説明したように、あるチャンネルにつ
いて処理Bを行なうときには既に当該チャンネルに関す
る処理Aは実行済みであるから、下記の処理番号1〜3
を実行するときには既に当該チャンネルのアドレス値が
アドレスRAM511にセットされている。以下、図8
および図5,6を参照して処理Bの処理番号1〜3の処
理を説明する。
Next, referring to FIG. 8, the address generator 1
The operation of the process B by 02 will be described. As can be seen from FIG. 8, in process B, one address is sent out by performing the processes of process numbers 1, 2, and 3 below in slot numbers 1, 3, and 5. As a result, the waveform memory 20
8 is accessed once. The same processing is performed for slot numbers 7, 9 and 11 so that 1 access is performed, so processing for 1 access can be performed in 3 clocks, and 2 accesses can be performed within the time per channel of time division channel timing. Is. The waveform memory access process of the process B has no relation to the process according to the time division channel timing of the process A, and is sequentially performed for each channel that needs to be read. The channels and the number of samples that need to be read have been determined by the above-described preprocessing in FIG. Further, as described with reference to FIG. 3, when the process B is performed for a certain channel, the process A for the channel has already been performed, and therefore the process numbers 1 to 3 below are performed.
When executing, the address value of the channel is already set in the address RAM 511. Hereinafter, FIG.
The processes of process numbers 1 to 3 of process B will be described with reference to FIGS.

【0087】1.処理番号1では、セレクタ501はO
FSを選択出力し、セレクタ502はARAM(AD
I)を選択出力する。ARAM(ADI)は、アドレス
RAM511内の処理対象のチャンネル(アドレス送り
出しを行なうチャンネルの順番は処理B制御部515の
制御に基づいて決められるが、詳しくは図12で後述す
る)のアドレス整数部であり、上記処理Aの処理番号3
で説明したのと同様に整数部合成部512が用意する。
OFSは、処理B制御部515が生成出力するオフセッ
トであり、必要なサンプル数のサンプル(8ビットサン
プルの形式のときは必要なサンプルを含む16ビットの
データ)を順次アクセスするための加算値である。図4
における各アクセスタイミングのオフセットOFSは、
例えば、第0チャンネルでは0、第2チャンネルの1回
目が−2(8ビットサンプルの場合は−4←後で1/2
される)、2回目が−1(同−2)、3回目が0、第5
チャンネルの1回目が−1(同−2)、2回目が0等
で、結果として先に説明した図14の○に対応するサン
プルが、順次読み出されるように制御される。処理B制
御部515は、ステップ1003で各チャンネルに関す
る圧縮方式、読み出すべきサンプル数、およびアドレス
最下位ビットを取得済みであるので、順次、OFSを作
成して出力できる。加算器504は、ARAM(AD
I)+OFSを計算し出力する。加算結果UDは、2ク
ロック後に出力され、シフタ505を介して次の処理番
号2で使われる。
1. In the processing number 1, the selector 501 is O
The FS is selectively output and the selector 502 outputs the ARAM (AD
I) is selectively output. The ARAM (ADI) is an address integer part of the channel to be processed in the address RAM 511 (the order of the channels for sending out the address is determined based on the control of the process B controller 515, which will be described in detail later with reference to FIG. 12). Yes, process number 3 of process A above
The integer part synthesizing unit 512 prepares in the same manner as described above.
OFS is an offset generated and output by the processing B control unit 515, and is an added value for sequentially accessing samples of the required number of samples (16-bit data including the required samples in the case of the 8-bit sample format). is there. FIG.
The offset OFS of each access timing in
For example, 0 for channel 0, -2 for the first time on channel 2 (-4 for 8-bit samples ←← 1/2 later)
The second time is -1 (the same as -2), the third time is 0, and the fifth time.
The first time of the channel is -1 (same as -2), the second time is 0, etc. As a result, the samples corresponding to the circles in FIG. 14 described above are controlled to be sequentially read. Since the processing B control unit 515 has already acquired the compression method, the number of samples to be read, and the address least significant bit for each channel in step 1003, the OFS can be sequentially generated and output. The adder 504 is an ARAM (AD
I) + OFS is calculated and output. The addition result UD is output after 2 clocks and is used in the next processing number 2 via the shifter 505.

【0088】2.処理番号2では、上記処理番号1の加
算結果UDがシフタ505で1ビットダウンシフトされ
たデータUD↓1がセレクタ501に入力し、セレクタ
501はこのデータUD↓1を選択出力する。セレクタ
502は、波形データが16ビットサンプルの形式のと
きはセレクタ501と同じUD↓1を選択出力し、8ビ
ットサンプルの形式のときは0を出力する。加算器50
4は、これらのデータを加算し、2クロック後に加算結
果を出力する。
2. In the processing number 2, the data UD ↓ 1 obtained by shifting the addition result UD of the processing number 1 by 1 bit by the shifter 505 is input to the selector 501, and the selector 501 selectively outputs the data UD ↓ 1. The selector 502 selects and outputs the same UD ↓ 1 as the selector 501 when the waveform data is in the 16-bit sample format, and outputs 0 when it is in the 8-bit sample format. Adder 50
4 adds these data and outputs the addition result after 2 clocks.

【0089】要するに、波形データが16ビットサンプ
ルの形式のときは加算を行なわないで処理番号1の加算
結果をスルーしたのと同じことになり、波形データが8
ビットサンプルの形式のときは処理番号1の加算結果を
1/2にして出力することになる。サンプルのアドレス
はサンプル単位で付けられているので、8ビットサンプ
ルの形式のときは、アドレスを1/2すると当該サンプ
ルが含まれる16ビットバウンダリの波形データの位置
が算出されることになる。なお、16ビットサンプルの
形式のときは、処理番号1の加算結果の最下位ビットが
捨てられるように見えるが、処理番号2でセレクタ50
1,502に入力するUD↓1は小数点以下1ビットを
含むデータであり、加算器504はこの小数点以下1ビ
ットも含めて加算を行なうので、最下位ビットが捨てら
れることにはならない。本処理番号2により、アクセス
する波形データアドレスが算出できたことになる。
In short, when the waveform data is in the 16-bit sample format, it is the same as passing through the addition result of the processing number 1 without performing the addition, and the waveform data is 8
In the case of the bit sample format, the addition result of the process number 1 is halved and output. Since the address of the sample is attached in sample units, in the case of the 8-bit sample format, if the address is halved, the position of the 16-bit boundary waveform data including the sample is calculated. In the case of the 16-bit sample format, it seems that the least significant bit of the addition result of the processing number 1 is discarded.
UD ↓ 1 input to 1, 502 is data including one bit below the decimal point, and the adder 504 performs addition including one bit below the decimal point, so the least significant bit is not discarded. This processing number 2 means that the waveform data address to be accessed can be calculated.

【0090】3.処理番号3では、セレクタ501はア
ドレス基準値WADと選択出力し、セレクタ502は処
理番号2の加算結果UDを選択出力する。加算器504
は、これらのデータを加算し、2クロック後に加算結果
MALATを出力する。処理番号2で求めたアドレスは
ループ部の先頭位置をアドレス0の基準としたアドレス
である。一方、実際には、波形データは波形メモリ20
8内の所定のアドレスに格納されている。そこで、波形
データのアドレス基準値WAD(当該波形データのルー
プ部先頭位置の波形メモリ208上でのアドレス)を加
算して、読み出しアドレスを波形メモリ208上のアド
レスに変換するものである。
3. In the process number 3, the selector 501 selects and outputs the address reference value WAD, and the selector 502 selects and outputs the addition result UD of the process number 2. Adder 504
Adds these data and outputs the addition result MALAT after two clocks. The address obtained by the process number 2 is an address with the head position of the loop part as the reference of the address 0. On the other hand, in reality, the waveform data is stored in the waveform memory 20.
8 is stored at a predetermined address. Therefore, the address reference value WAD of the waveform data (the address on the waveform memory 208 at the loop portion head position of the waveform data) is added to convert the read address into the address on the waveform memory 208.

【0091】加算結果MALATは、読み出し用整数部
ラッチ508を介して波形メモリ208のアドレス端子
に供給され、これにより当該アドレスの波形データが読
み出される。
The addition result MALAT is supplied to the address terminal of the waveform memory 208 via the read integer latch 508, whereby the waveform data of the address is read.

【0092】以上の処理Bの動作は、処理B制御部51
5の制御のもとで行なわれる。以下、処理B制御部51
5の動作を説明する。図11は、アドレス発生器102
が上述の処理Bのアドレス送り出しの動作を行なう際の
処理B制御部515の動作を示すフローチャートであ
る。なお、図11の動作は図10の前処理の動作と並行
して実行される。例えば、アドレス発生器102が前半
の第0〜第15チャンネルに関する処理Aを実行してい
るとき、処理B制御部515は当該第0〜第15チャン
ネルのアドレスを送り出す前処理として図10の動作を
行なうが、それと並行して、処理B制御部515は既に
前処理が終わっている第16〜第31チャンネルに関す
る図11のアドレス送り出し処理を行なう。
The operation of the process B described above is performed by the process B control unit 51.
It is performed under the control of 5. Hereinafter, the process B control unit 51
The operation of No. 5 will be described. FIG. 11 shows the address generator 102.
6 is a flowchart showing the operation of the process B control unit 515 when performing the address sending operation of process B described above. The operation of FIG. 11 is executed in parallel with the operation of the preprocessing of FIG. For example, when the address generator 102 is executing the process A for the first half of the 0th to 15th channels, the process B control unit 515 performs the operation of FIG. 10 as a preprocess for sending out the addresses of the 0th to 15th channels. In parallel with this, the process B control unit 515 performs the address sending-out process of FIG. 11 for the 16th to 31st channels for which the preprocessing has already been completed.

【0093】図11において、ステップ1101では、
図7に示す制御RAM517を指す読み出しポインタの
値と書き込みポインタの値とが一致しているか否か判定
する。この書き込みポインタの値とは、直前に実行され
た図10の処理で更新された書き込みポインタの値のこ
とを言う。ステップ1101で読み出しポインタの値と
書き込みポインタの値とが異なるときは、ステップ11
02で読み出しポインタをインクリメントし、ステップ
1103で読み出しポインタが指すチャンネル番号とサ
ンプル数を制御RAM517から読み出す。
In FIG. 11, in step 1101,
It is determined whether the value of the read pointer that points to the control RAM 517 shown in FIG. 7 and the value of the write pointer match. The value of the write pointer means the value of the write pointer updated by the process of FIG. 10 executed immediately before. If the value of the read pointer and the value of the write pointer are different in step 1101, step 11
In 02, the read pointer is incremented, and in step 1103, the channel number and sample number pointed to by the read pointer are read from the control RAM 517.

【0094】次に、ステップ1104で、読み出したチ
ャンネル番号のチャンネルに関する圧縮方式、およびア
ドレス最下位ビットを受け取る。これらは、図10のス
テップ1003と同様に取得すればよいが、図10で求
めたものを処理B制御部515内のワークレジスタに保
持しておき使用するようにしてもよい。ステップ110
5は、特に何かの処理を行なうものではないが、次のス
テップ1106で行なうアドレス送り出し処理が1アク
セス目であることを示すものである。ステップ1106
で、1アクセス目の読み出しアドレス作成をアドレス発
生器102の各ブロックに指示する。これにより、上述
した処理Bの処理番号1〜3の動作が実行され、1アク
セス目のアドレス送り出しが行なわれる。
Next, in step 1104, the compression method and the least significant bit of the address for the channel of the read channel number are received. These may be acquired in the same manner as step 1003 in FIG. 10, but the values obtained in FIG. 10 may be held in a work register in the process B control unit 515 and used. Step 110
Although 5 does not particularly perform any processing, it indicates that the address sending processing performed in the next step 1106 is the first access. Step 1106
Then, each block of the address generator 102 is instructed to create a read address for the first access. As a result, the operations of the processing numbers 1 to 3 of the processing B described above are executed, and the address transmission of the first access is performed.

【0095】さらに、ステップ1107で当該チャンネ
ルのアクセス回数が完了したか否か判定する。アクセス
回数が完了していないときは、ステップ1108を経て
(ステップ1108は特に何かの処理を行なうものでは
ないが、ステップ1106で次のアクセスを行なうこと
を示す)、ステップ1106で次のアドレス送り出しを
行なう。ステップ1107で当該チャンネルのアクセス
回数が完了したなら、ステップ1101に戻る。
Further, in step 1107, it is determined whether or not the access count of the channel is completed. If the access count has not been completed, the process goes through step 1108 (step 1108 does not perform any particular processing, but indicates that the next access is performed in step 1106), and the next address is sent out in step 1106. Do. When the access count of the channel is completed in step 1107, the process returns to step 1101.

【0096】ステップ1101で読み出しポインタの値
と書き込みポインタの値とが一致していたなら、波形メ
モリ208に向けて送り出すアドレスはもう無いという
ことであるから、ステップ1109に進む。ステップ1
109では、アクセス余り時間があるか否か判定する。
アクセス余り時間があれば、その空きタイムスロットを
使用して、ステップ1110で波形メモリ208のリフ
レッシュやCPU204からの波形メモリ208のアク
セス処理などを実行し、ステップ1109に戻る。アク
セス余り時間が無くなったら、処理を終了する。
If the value of the read pointer and the value of the write pointer match in step 1101, it means that there is no more address to be sent to the waveform memory 208, so the flow advances to step 1109. Step 1
At 109, it is determined whether or not there is access time left.
If there is an access surplus time, the free time slot is used to execute the refresh of the waveform memory 208 or the access processing of the waveform memory 208 from the CPU 204 in step 1110, and the process returns to step 1109. When there is no more time to access, the process ends.

【0097】次に、図1のデコーダ104について詳し
く説明する。図12は、デコーダ104および補間器1
03のブロック構成を示す。デコーダ104は、セレク
タ1201、加算器1202、遅延回路1203、セレ
クタ1204、サンプルRAM1205、伸張係数発生
部1206、乗算器1207,1208、および制御部
D1209を備えている。
Next, the decoder 104 of FIG. 1 will be described in detail. FIG. 12 shows the decoder 104 and the interpolator 1.
03 shows a block configuration of No. 03. The decoder 104 includes a selector 1201, an adder 1202, a delay circuit 1203, a selector 1204, a sample RAM 1205, an expansion coefficient generator 1206, multipliers 1207 and 1208, and a controller D1209.

【0098】図13は、サンプルRAM1205の構成
を示す。サンプルRAM1205は、各チャンネルごと
の4つのサンプル格納領域からなる。4つのサンプル格
納領域はリング状に使用する。すなわち、各チャンネル
ごとにポインタを設け、サンプルを書き込むときは、そ
のポインタで指す位置に書き込み、ポインタを1つ進め
る。ポインタは、例えば図13の第iチャンネルなら、
サンプル1→2→3→4→1→2→…というように進め
る。図12のサンプルRAM1205で、「1D」およ
び「2D」と記載された端子は、それぞれ現ポインタ位
置から1つ前のサンプルおよび2つ前のサンプルを読み
出すための端子である。
FIG. 13 shows the structure of the sample RAM 1205. The sample RAM 1205 is composed of four sample storage areas for each channel. The four sample storage areas are used in a ring shape. That is, a pointer is provided for each channel, and when writing a sample, the sample is written at the position indicated by the pointer and the pointer is advanced by one. For example, the pointer is the i-th channel in FIG.
Sample 1 → 2 → 3 → 4 → 1 → 2 → ... In the sample RAM 1205 of FIG. 12, the terminals labeled “1D” and “2D” are the terminals for reading the sample one sample before and the sample two samples before from the current pointer position, respectively.

【0099】図12および図13を参照して、デコーダ
104の動作について詳しく説明する。上述の処理Bに
より送り出されたアドレスにより波形メモリ208から
読み出された波形データは、セレクタ1201および遅
延回路1203に入力する。この波形データの大きさは
16ビットであり、その形式は、16ビット非圧縮、8
ビット非圧縮、または8ビット圧縮の何れかである。ま
た、8ビット圧縮または非圧縮のデータである場合は、
入力した16ビットの上位8ビットか下位8ビットの何
れか一方のみが所望のサンプルであるので、セレクタ1
201で上位8ビットまたは下位8ビットの何れか所望
のサンプルを選択する。
The operation of the decoder 104 will be described in detail with reference to FIGS. 12 and 13. The waveform data read from the waveform memory 208 by the address sent by the above process B is input to the selector 1201 and the delay circuit 1203. The size of this waveform data is 16 bits, and its format is 16 bits uncompressed, 8 bits.
Either bit uncompressed or 8-bit compressed. If the data is 8-bit compressed or uncompressed,
Since only one of the upper 8 bits or the lower 8 bits of the input 16 bits is the desired sample, the selector 1
In 201, a desired sample of upper 8 bits or lower 8 bits is selected.

【0100】セレクタ1201の選択制御信号は、制御
部D1209が出力する。制御部D1209は、処理B
制御部515がアドレス送り出しと同期して出力するデ
コーダ制御データ(アドレス送り出しを行っているチャ
ンネルに係るチャンネル番号、圧縮形式、8ビットサン
プルの場合に所望のサンプルが上位8ビットか下位8ビ
ットかを示す情報など)により、入力した波形データの
上位8ビットまたは下位8ビットの何れかを選択すべき
か決定する。
The control control signal of the selector 1201 is output by the control unit D1209. The control unit D1209 performs the process B.
Decoder control data output by the control unit 515 in synchronization with the address sending (channel number related to the channel sending the address, compression format, whether the desired sample is upper 8 bits or lower 8 bits in the case of 8 bit sample It is determined whether the upper 8 bits or the lower 8 bits of the input waveform data should be selected according to the information shown).

【0101】セレクタ1201から出力された非圧縮ま
たは圧縮形式の8ビットサンプルは、加算器1202に
入力する。さらに、加算器1202には、サンプルRA
M1205から現ポインタ位置より1つ前および2つ前
のサンプルを読み出し乗算器1207,1208でそれ
ぞれに伸張係数発生部1206からの伸張係数を乗算し
た乗算結果が入力する。加算器1202は、セレクタ1
201からの現サンプル、および乗算器1207,12
08からの乗算結果を加算し、加算結果をセレクタ12
04に入力する。現在処理中の波形データが8ビット圧
縮波形であるときは、伸張係数発生部1206から所定
の伸張係数が出力され、圧縮されたサンプルから1サン
プルが再生され加算器1202から出力される。現在処
理中の波形データが8ビット非圧縮波形であるときは、
伸張係数発生部1206から伸張係数として0が出力さ
れ、非圧縮のサンプルが加算器1202をスルーして出
力される。
The uncompressed or compressed 8-bit sample output from the selector 1201 is input to the adder 1202. Further, the adder 1202 has a sample RA
Samples one and two before the current pointer position are read from M1205, and the multiplication results obtained by multiplying the samples by the expansion coefficient generator 1206 by the multipliers 1207 and 1208 are input. The adder 1202 is the selector 1
The current sample from 201 and the multipliers 1207, 12
08 adds the multiplication results and adds the addition results to the selector 12
Enter in 04. When the waveform data currently being processed is an 8-bit compressed waveform, a predetermined expansion coefficient is output from the expansion coefficient generating unit 1206, one sample is reproduced from the compressed sample, and output from the adder 1202. If the waveform data currently being processed is an 8-bit uncompressed waveform,
The expansion coefficient generator 1206 outputs 0 as the expansion coefficient, and the uncompressed sample is output through the adder 1202.

【0102】一方、波形メモリ208から読み出したサ
ンプルが16ビット非圧縮データであるときは、遅延回
路1203で所定時間遅延した後、当該サンプルをセレ
クタ1204に入力する。遅延回路1203で遅延させ
るのは、8ビットサンプルが加算器1202を介してセ
レクタ1204に入力するので、そのタイミングと合せ
るためである。
On the other hand, when the sample read from the waveform memory 208 is 16-bit uncompressed data, the sample is input to the selector 1204 after being delayed by the delay circuit 1203 for a predetermined time. The reason why the delay circuit 1203 delays is that the 8-bit sample is input to the selector 1204 via the adder 1202, so that it matches the timing.

【0103】セレクタ1204は、制御部D1209か
らの選択制御信号に基づいて、16ビットサンプルのと
きは遅延回路1203からのサンプルを選択出力し、8
ビットサンプルのときは加算器1202からのサンプル
を選択出力する。セレクタ1204から出力されたサン
プルは、サンプルRAM1209の当該チャンネルのポ
インタが指す位置に書き込まれ、ポインタが1つ進めら
れる。
The selector 1204 selects and outputs the sample from the delay circuit 1203 in the case of 16-bit sample based on the selection control signal from the control unit D1209,
When it is a bit sample, the sample from the adder 1202 is selected and output. The sample output from the selector 1204 is written in the position pointed to by the pointer of the channel of the sample RAM 1209, and the pointer is advanced by one.

【0104】上記の動作を、アドレス発生器102が処
理Bでアドレスを送り出すタイミングに同期して各チャ
ンネルの各サンプルについて行なう。図3のデコード前
半チャンネルの区間303では、第0〜第15チャンネ
ルについて上記の動作を行ない、これによりサンプルR
AM1205の第0〜第15チャンネルのサンプル格納
領域にサンプルが設定される。後半の第16〜第31チ
ャンネルも同様である。基本的には4点補間であるの
で、各チャンネルについて(既に保持されていたサンプ
ルも含めて)4サンプルがサンプルRAM1205内に
用意されたことになる。ただし、上述した波形メモリの
アクセス回数削減により補間次数を4点から2点に落と
したチャンネルは、2サンプルになる。
The above operation is performed for each sample of each channel in synchronization with the timing at which the address generator 102 sends out the address in the process B. In the section 303 of the first half channel of FIG. 3, the above operation is performed for the 0th to 15th channels.
Samples are set in the sample storage areas of the 0th to 15th channels of the AM 1205. The same applies to the 16th to 31st channels in the latter half. Since it is basically 4-point interpolation, 4 samples (including already held samples) for each channel are prepared in the sample RAM 1205. However, the number of channels for which the interpolation order is reduced from 4 points to 2 points by the reduction of the number of times the waveform memory is accessed becomes 2 samples.

【0105】次に、図1の補間器103について詳しく
説明する。図12において、補間器103は、乗算器1
210、補間係数発生部1211、補間用累算器121
2、および制御部I1213を備えている。
Next, the interpolator 103 of FIG. 1 will be described in detail. In FIG. 12, the interpolator 103 is a multiplier 1
210, interpolation coefficient generator 1211, interpolation accumulator 121
2 and a control unit I1213.

【0106】補間器103が前半処理すなわち第0〜第
15チャンネルに関する各チャンネルの補間を開始する
ときには、補間に用いるそれら各チャンネルの4サンプ
ルはすべてサンプルRAM1209内に設定されてい
る。後半の第16〜第31チャンネルも同様である。補
間器103では、時分割チャンネルタイミングにしたが
って、前半なら第0〜第15チャンネルについて、後半
なら第16〜第31チャンネルについて、順に補間処理
を行なう。制御部I1213は、制御クロックΦ、チャ
ンネルカウント値CHC、および補間次数(処理B制御
部515が各チャンネルに対応して出力する)を入力
し、時分割チャンネルタイミングにしたがった処理を行
なうように各ブロックを制御する。1つのチャンネルに
関する補間処理は以下のとおりである。
When the interpolator 103 starts the first half processing, that is, the interpolation of each channel for the 0th to 15th channels, all four samples of each channel used for the interpolation are set in the sample RAM 1209. The same applies to the 16th to 31st channels in the latter half. The interpolator 103 sequentially performs interpolation processing on the 0th to 15th channels in the first half and on the 16th to 31st channels in the latter half according to the time division channel timing. The control unit I1213 inputs the control clock Φ, the channel count value CHC, and the interpolation order (which the process B control unit 515 outputs corresponding to each channel), and performs each process according to the time division channel timing. Control the block. The interpolation process for one channel is as follows.

【0107】まず、制御部I1213の制御のもとで、
サンプルRAM1205から当該チャンネルの4サンプ
ルを順次読み出す。読み出したサンプルは、順次、乗算
器1210に入力する。4サンプルが入力するのに同期
して、補間係数発生部1211から各サンプルに乗算す
べき補間係数が乗算器1210に順次入力する。補間係
数発生部1211は、アドレス発生器102から出力さ
れた当該チャンネルのアドレス小数部に基づいて、各サ
ンプルに対応する補間係数を生成出力する。このアドレ
ス小数部は、図5のアドレス発生器102のアドレスR
AM511から、補間用小数部ラッチ513を介して出
力されたものである。乗算器1210は、上記各サンプ
ルとそれに対応する補間係数とを乗算し、乗算結果を補
間用累算器1212で累算する。これにより、補間済み
の楽音波形データが生成出力される。なお、上述した波
形メモリのアクセス回数削減により補間次数を4点から
2点に落としたチャンネルについては、4サンプルでな
く2サンプルを用いて2点補間を行ない補間済みの楽音
波形データを得る。
First, under the control of the control unit I1213,
Four samples of the channel are sequentially read from the sample RAM 1205. The read samples are sequentially input to the multiplier 1210. In synchronism with the input of four samples, the interpolation coefficient generator 1211 sequentially inputs the interpolation coefficients to be multiplied by each sample to the multiplier 1210. The interpolation coefficient generator 1211 generates and outputs an interpolation coefficient corresponding to each sample based on the address fractional part of the channel output from the address generator 102. This fractional part of the address is the address R of the address generator 102 of FIG.
It is output from the AM 511 via the interpolating decimal part latch 513. The multiplier 1210 multiplies each of the above samples by the corresponding interpolation coefficient, and the interpolation accumulator 1212 accumulates the multiplication result. As a result, the interpolated tone waveform data is generated and output. For the channel whose interpolation order is reduced from 4 points to 2 points by reducing the number of times the waveform memory is accessed, 2-point interpolation is performed using 2 samples instead of 4 samples to obtain interpolated tone waveform data.

【0108】なお、上記実施の形態例では、図10のス
テップ1011でアキュムレータACCのアクセス回数
累算値が最大アクセス可能数である32を超えていない
かどうかを判定して、各チャンネルの読み出しサンプル
数、アクセス回数、および補間次数を決定しているが、
他の処理を行なう分を優先して最大アクセス可能数を決
めてもよい。例えば、あらかじめ波形メモリのリフレッ
シュやCPUによるアクセスを行なうことが分かってい
る場合は、それらの処理のためのアクセス回数はあらか
じめ確保しておき、その残りの分を最大アクセス可能数
としてステップ1011の判定を行なうようにしてもよ
い。
In the above embodiment, it is determined in step 1011 of FIG. 10 whether the accumulated access count value of the accumulator ACC exceeds 32, which is the maximum accessible number, and the read sample of each channel is read. Number, number of accesses, and interpolation order are determined,
The maximum accessible number may be determined by giving priority to the amount of other processing. For example, when it is known in advance that the waveform memory is refreshed or accessed by the CPU, the number of times of access for those processes is secured in advance, and the remaining number is set as the maximum accessible number, and the determination in step 1011 is made. May be performed.

【0109】特に、波形メモリとしてDRAMを用いた
場合は、必ずリフレッシュが必要であるので、リフレッ
シュの分のアクセス回数は優先して確保するとよい。ま
た、CPUからの波形メモリの読み出し/書き込みは、
その緊急度に応じて対応するとよい。例えば、CPUか
らの波形メモリアクセスの緊急度が低いときは、音源チ
ャンネルで使用されなかった空きタイムスロットを用い
てアクセスを行なう。また、緊急度が高いときは、始め
にCPUからの波形メモリアクセスの分を確保し、残り
を音源チャンネルで使用する。
In particular, when a DRAM is used as the waveform memory, refreshing is always necessary, so the access count for refreshing should be secured with priority. Also, reading / writing of the waveform memory from the CPU is as follows.
It is advisable to respond according to the degree of urgency. For example, when the urgency of the waveform memory access from the CPU is low, the access is performed using an empty time slot not used in the sound source channel. When the degree of urgency is high, a portion for waveform memory access from the CPU is secured first, and the rest is used for the sound source channel.

【0110】また、上記実施の形態例では、図4に示し
たように処理Bおよびデコードを行なう前半および後半
の区間の前側のスロットで連続した波形メモリのアクセ
スを行なっているが、前側でなくてもよい。例えば、上
述の優先して確保されたリフレッシュあるいはCPUか
らのアクセスについては、区間内の前側のスロットでそ
れらの処理を行ない、後側のスロットで各チャンネルに
ついての連続した波形メモリのアクセスを行なうように
してもよい。ただしその場合、図3のデコード前半区間
303の処理が終了して、サンプルRAMに補間に必要
な全サンプルが用意された後に、補間前半区間304の
補間処理が始まるようにする必要がある(後半処理も同
様)。そのため、補間を行なう区間をずらす必要がある
(デコード前半処理が終了した後に補間前半処理を開始
し、デコード後半処理が終了した後に補間後半処理を開
始すれば十分)。
In the above-described embodiment, the waveform memory is continuously accessed in the front slots in the first half and the second half of the process B and the decoding as shown in FIG. 4, but not in the front side. May be. For example, with respect to the above-mentioned preferentially secured refresh or access from the CPU, those processes are performed in the front slot in the section, and continuous waveform memory access for each channel is performed in the rear slot. You may However, in that case, it is necessary to start the interpolation processing of the first half section 304 after the processing of the first half section 303 of FIG. 3 is completed and all the samples necessary for interpolation are prepared in the sample RAM (second half). Processing is the same). Therefore, it is necessary to shift the interval in which the interpolation is performed (it is sufficient to start the first half of the interpolation process after the first half of the decoding process and start the second half process of the interpolation after the second half process of the decoding).

【0111】さらに、上記実施の形態例では、1サンプ
リング周期を1/2(前半と後半)に分割し、前半処理
と後半処理とを交互に行なうようにしているが、区間の
分け方はこれに限らない。例えば、1サンプリング周期
を1/3,1/4,…に分割し、それらの区間を単位に
して処理を行なってもよい。また、等分割でなく、変則
的な区間の分割を行なってもよい(例えば、第0〜第1
4チャンネルと、第15〜第31チャンネルに分割)。
さらに、区間を分けずに、1サンプリング周期を単位と
してもよい。ただし、処理Bでアドレス送り出しを行な
って波形メモリをアクセスする前に、処理Aによるアド
レスRAMの書き換えが行なわれることがないことを、
保証する必要がある。そのためには、例えば区間を分け
ない場合は、アドレスRAMを2セット用意し、処理A
によるアドレスの書き換えと処理Bによるアドレスの送
り出しとで、2セットのアドレスRAMを交互に使用す
るなどの方法を採る必要がある。なお、1サンプリング
周期を前半と後半に分けて処理するようにすれば、1セ
ットのアドレスRAMで処理Aと処理Bとを交互に行な
うことができるので、回路構成が簡易にでき合理的とい
える。
Further, in the above embodiment, one sampling period is divided into ½ (first half and second half) and the first half processing and the second half processing are alternately performed. Not limited to For example, one sampling cycle may be divided into 1/3, 1/4, ... And the processing may be performed in units of these sections. Further, irregular division may be performed instead of equal division (for example, 0th to 1st divisions).
4 channels and divided into 15th to 31st channels).
Further, one sampling period may be used as a unit without dividing the section. However, note that the address RAM is not rewritten by the process A before the address is sent out by the process B to access the waveform memory.
Need to guarantee. For that purpose, for example, when the sections are not divided, two sets of address RAMs are prepared, and the process A
It is necessary to adopt a method of alternately using two sets of address RAMs for the address rewriting by the process B and the address sending by the process B. If one sampling cycle is divided into the first half and the latter half, the process A and the process B can be alternately performed in one set of address RAMs, and the circuit configuration can be simplified and rational. .

【0112】[0112]

【発明の効果】請求項1または2に係る発明によれば、
波形メモリの読み出しに先立って、各チャンネルのアド
レスを作成してアドレス記憶手段に一旦格納しておき、
さらに各チャンネルのアドレスの進み量に基づいてアク
セス回数を算出し、そのアクセス回数ずつ波形メモリを
連続的にアクセスする。また、波形メモリから読み出し
た波形サンプルは、一旦波形サンプル記憶手段に記憶さ
れ、楽音生成手段は、波形サンプル記憶手段に記憶され
た各チャンネルの波形サンプルに基づき、各チャンネル
のサンプリング周期ごとの楽音を生成する。アドレスお
よび波形サンプルがアドレス記憶手段およびサンプル記
憶手段にバッファリングされるので、波形サンプルの読
み出しのタイミングを適宜調整することができ、波形メ
モリのスピードに合せた連続したアクセスが可能にな
る。したがって、あるチャンネルで波形サンプルを読み
出さなくても済む場合、あるいはあるチャンネルでバッ
ファリングされている波形サンプルを使用することがで
きるために少ない数の波形サンプルのみ読み出せばよい
場合などにおいて、余りのタイムスロットを、他の処理
に回すことができる。また、余りのタイムスロットを他
のチャンネルにおけるアクセスに回せることになるの
で、そのようなチャンネル間の関係から、補間次数を下
げなければならない場合が減少する。
According to the first or second aspect of the present invention,
Prior to reading the waveform memory, the address of each channel is created and temporarily stored in the address storage means.
Further, the number of times of access is calculated based on the amount of advance of the address of each channel, and the waveform memory is continuously accessed by the number of times of access. Further, the waveform sample read from the waveform memory is temporarily stored in the waveform sample storage means, and the musical sound generation means produces the musical sound for each sampling period of each channel based on the waveform sample of each channel stored in the waveform sample storage means. To generate. Since the address and the waveform sample are buffered in the address storage means and the sample storage means, the timing of reading the waveform sample can be adjusted appropriately, and continuous access matching the speed of the waveform memory becomes possible. Therefore, when it is not necessary to read a waveform sample on a certain channel, or when only a small number of waveform samples need to be read because a waveform sample buffered on a certain channel can be used, the remainder The time slot can be devoted to other processing. Further, since the surplus time slots can be used for access to other channels, the number of cases in which the interpolation order needs to be reduced due to the relationship between channels decreases.

【0113】請求項6に係る発明によれば、請求項1の
構成にさらに累算手段と判定手段を加え、所定数のチャ
ンネルについてアクセス回数を累算し、その所定数のチ
ャンネルに対応したアクセス期間にその累算回数分のア
クセスが可能かどうかを判定するようにしているので、
上述の発明の効果に加え、あらかじめ波形メモリアクセ
スを開始する前に、前記所定数のチャンネルについての
必要なアクセスが可能かどうかを知ることができ、それ
対処することができる。特に請求項8に係る発明では、
判定手段で不可能と判定された場合、前記所定数のチャ
ンネルの何れかのチャンネルについてアクセス回数を減
少させる(補間次数を減少させることになる)ようにし
ているので、結果的にはアクセス回数を減少させる場合
を最小限にすることができる。
According to the invention of claim 6, an accumulating means and a judging means are further added to the structure of claim 1, the access frequency is accumulated for a predetermined number of channels, and the access corresponding to the predetermined number of channels is performed. Since it is determined whether access for the accumulated number of times is possible during the period,
In addition to the effects of the invention described above, before starting the waveform memory access, it is possible to know whether or not the required access to the predetermined number of channels is possible, and it is possible to deal with it. Particularly, in the invention according to claim 8,
If the determination means determines that it is impossible, the number of accesses for any one of the predetermined number of channels is decreased (the interpolation order is decreased). The case of reduction can be minimized.

【0114】請求項3または7に係る発明によれば、サ
ンプリング周期を複数の区間に分割し、区間単位で処理
を行なうので、アドレス記憶手段などの回路構成を簡単
にすることができる。特に、サンプリング周期を1/2
に分割し、前半処理と後半処理に分ければ、アドレス記
憶手段は1セットで済む。
According to the invention of claim 3 or 7, since the sampling cycle is divided into a plurality of sections and the processing is carried out for each section, the circuit configuration such as the address storage means can be simplified. Especially, the sampling period is 1/2
If the first half processing and the second half processing are performed, the address storage means may be one set.

【0115】請求項4に係る発明によれば、ループ部の
先頭付近に戻る場合でも適正な波形サンプルの再生が可
能である。請求項5または9に係る発明によれば、第1
アクセス手段によるアクセスの余り時間を利用して、第
2アクセス手段による他の処理(例えば、DRAM構成
の波形メモリのリフレッシュ処理やCPUによる波形メ
モリのアクセス)が可能である。
According to the invention of claim 4, proper waveform samples can be reproduced even when returning to the vicinity of the beginning of the loop portion. According to the invention of claim 5 or 9,
The remaining time of the access by the access means can be used to perform other processing by the second access means (for example, refresh processing of the waveform memory of the DRAM configuration or access of the waveform memory by the CPU).

【0116】以上のように、本発明によれば、時分割チ
ャンネル動作で複数チャンネル分の楽音を同時に発生す
る波形メモリ読み出し方式の音源において、チャンネル
ごとに必要なときに必要な分だけ効率よく波形メモリを
アクセスすることができるようになる。
As described above, according to the present invention, in the sound source of the waveform memory reading system which simultaneously generates musical tones for a plurality of channels in the time-division channel operation, the waveform can be efficiently generated by each channel when necessary. You will be able to access the memory.

【図面の簡単な説明】[Brief description of the drawings]

【図1】この発明に係る音源装置を適用した音源部のブ
ロック構成図
FIG. 1 is a block configuration diagram of a sound source section to which a sound source device according to the present invention is applied.

【図2】実施形態例の音源装置を適用した電子楽器の全
体のブロック構成図
FIG. 2 is an overall block configuration diagram of an electronic musical instrument to which the sound source device of the embodiment is applied.

【図3】本実施形態例の音源部内の要部のタイミングを
示す図
FIG. 3 is a diagram showing a timing of a main part in the sound source unit of the embodiment.

【図4】図3の各処理中のチャンネルの様子を示す図FIG. 4 is a diagram showing a state of a channel during each processing of FIG.

【図5】アドレス発生器のブロック構成図FIG. 5 is a block diagram of an address generator.

【図6】図5のアドレスRAMのメモリマップを示す図FIG. 6 is a diagram showing a memory map of the address RAM shown in FIG.

【図7】制御RAMの構成図FIG. 7 is a block diagram of a control RAM

【図8】アドレス発生器におけるタイミングチャート図FIG. 8 is a timing chart of the address generator.

【図9】波形データの圧縮方式を示す図FIG. 9 is a diagram showing a compression method of waveform data.

【図10】処理A中の処理B制御部の動作を示すフロー
チャート図
FIG. 10 is a flowchart showing the operation of the processing B control unit during processing A.

【図11】処理B中の処理B制御部の動作を示すフロー
チャート図
FIG. 11 is a flowchart showing the operation of the processing B control unit during processing B.

【図12】デコーダの構成図FIG. 12 is a block diagram of a decoder

【図13】サンプルRAMの構成図FIG. 13 is a block diagram of a sample RAM

【図14】本実施形態例におけるアクセス回数削減の具
体例を示す図
FIG. 14 is a diagram showing a specific example of reducing the number of accesses in the present embodiment.

【符号の説明】[Explanation of symbols]

101…制御レジスタ、102…アドレス発生器、10
3…補間器、104…デコーダ、105…音量変化制御
部、106…チャンネル(ch)累算器、107…効果
回路、108…リフレッシュカウンタ、109…CPU
アクセス制御部、110,111…セレクタ、112…
システムクロック発生部、113…チャンネル(ch)
カウンタ、204…中央処理装置(CPU)、207…
音源部、208…波形メモリ、210…ディジタルアナ
ログ変換器(DAC)、211…サウンドシステム(S
S)、212…外部記憶装置、213…バス、501,
502,503…セレクタ、504…加算器、505…
シフタ、506…ビブラート変調器、507…オクター
ブ(OCT)シフタ、508…読み出し用整数部ラッ
チ、509…整数部ラッチ(ILAT)、510…小数
部ラッチ(FLAT)、511…アドレスRAM、51
2…整数部合成部、513…補間用小数部ラッチ、51
4…制御部A、515…処理B制御部、517…制御R
AM、516…アキュムレータ(ACC)。
101 ... Control register, 102 ... Address generator, 10
3 ... Interpolator, 104 ... Decoder, 105 ... Volume change control unit, 106 ... Channel (ch) accumulator, 107 ... Effect circuit, 108 ... Refresh counter, 109 ... CPU
Access control unit, 110, 111 ... Selector, 112 ...
System clock generator, 113 ... Channel (ch)
Counter, 204 ... Central processing unit (CPU), 207 ...
Sound source section, 208 ... Waveform memory, 210 ... Digital-to-analog converter (DAC), 211 ... Sound system (S
S), 212 ... External storage device, 213 ... Bus, 501,
502, 503 ... Selector, 504 ... Adder, 505 ...
Shifter, 506 ... Vibrato modulator, 507 ... Octave (OCT) shifter, 508 ... Read integer latch, 509 ... Integer latch (ILAT), 510 ... Fractional latch (FLAT), 511 ... Address RAM, 51
2 ... Integer part combining part, 513 ... Interpolation decimal part latch, 51
4 ... Control unit A, 515 ... Process B control unit, 517 ... Control R
AM, 516 ... Accumulator (ACC).

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】所定サンプリング周期で複数チャンネル時
分割で動作することにより、該複数チャンネルの楽音を
生成する波形メモリ音源装置において、 波形サンプルを記憶した波形メモリであって、前記所定
サンプリング周期内に所定回数のアクセスが可能なもの
と、 各チャンネルのアドレスを記憶するためのアドレス記憶
手段と、 各チャンネルの波形サンプルを記憶するための波形サン
プル記憶手段と、 前記波形メモリの読み出しに先立って、各チャンネルの
アドレスを作成し、前記アドレス記憶手段に記憶させる
アドレス作成手段と、 各チャンネルのアドレスの進み量に基づいて、各チャン
ネルについての前記波形メモリのアクセス回数を算出す
るアクセス回数算出手段と、 前記アドレス記憶手段に記憶された各チャンネルのアド
レスに基づき、前記アクセス回数算出手段で算出された
各チャンネルのアクセス回数ずつ、前記波形メモリを連
続的にアクセスし、読み出した各チャンネルの波形サン
プルを前記波形サンプル記憶手段に記憶する第1アクセ
ス手段と、 前記波形サンプル記憶手段に記憶された各チャンネルの
波形サンプルに基づき、各チャンネルのサンプリング周
期ごとの楽音を生成する楽音生成手段とを備えたことを
特徴とする波形メモリ音源装置。
1. A waveform memory sound source device for generating musical tones of a plurality of channels by operating in time division on a plurality of channels at a predetermined sampling period, the waveform memory storing waveform samples, wherein A device that can be accessed a predetermined number of times, an address storage unit that stores the address of each channel, a waveform sample storage unit that stores the waveform sample of each channel, and Address creating means for creating a channel address and storing it in the address storing means; access count calculating means for calculating an access count of the waveform memory for each channel based on an advance amount of the address of each channel; Address of each channel stored in the address storage means A first access unit for continuously accessing the waveform memory for each access count of each channel calculated by the access count calculation unit and storing the read waveform sample of each channel in the waveform sample storage unit. A waveform memory sound source device, comprising: a tone generation unit that generates a tone for each sampling period of each channel based on the waveform sample of each channel stored in the waveform sample storage unit.
【請求項2】所定サンプリング周期で複数チャンネル時
分割で動作することにより、該複数チャンネルの楽音を
生成する波形メモリ音源装置において、 波形サンプルを記憶した波形メモリであって、前記所定
サンプリング周期内に所定回数のアクセスが可能なもの
と、 各チャンネルのアドレスを記憶するためのアドレス記憶
手段と、 各チャンネルごとにn個(nは2以上の整数)の波形サ
ンプルを記憶するための波形サンプル記憶手段と、 前記波形メモリの読み出しに先立って、各チャンネルの
アドレスを作成し、前記アドレス記憶手段に記憶させる
アドレス作成手段と、 各チャンネルのアドレスの進み量に基づいて、各チャン
ネルについての前記波形メモリへの必要なアクセス回数
を算出するアクセス回数算出手段と、 前記アドレス記憶手段に記憶された各チャンネルのアド
レスに基づき、前記アクセス回数算出手段で算出された
各チャンネルのアクセス回数ずつ、前記波形メモリを連
続的にアクセスし、前記波形サンプル記憶手段に既に記
憶されている各チャンネルのn個の波形サンプルのうち
アドレスが小さい波形サンプルから順に、前記連続的な
アクセスにより読み出した各チャンネルの波形サンプル
に置き換える第1アクセス手段と、 前記波形サンプル記憶手段に記憶された各チャンネルの
n個の波形サンプルを用いて補間処理を行なうことによ
り、各チャンネルのサンプリング周期ごとの楽音を生成
する楽音生成手段とを備えたことを特徴とする波形メモ
リ音源装置。
2. A waveform memory sound source device for generating musical sounds of a plurality of channels by operating in time division on a plurality of channels at a predetermined sampling period, wherein the waveform memory stores waveform samples, A unit that can be accessed a predetermined number of times, an address storage unit that stores the address of each channel, and a waveform sample storage unit that stores n (n is an integer of 2 or more) waveform samples for each channel. An address creating means for creating an address of each channel and storing it in the address storing means prior to reading the waveform memory, and to the waveform memory for each channel based on the advance amount of the address of each channel. Access number calculation means for calculating the required number of accesses of Based on the address of each channel stored in the means, the waveform memory is continuously accessed by the number of access times of each channel calculated by the access number calculating means, and each of the waveform samples is already stored in the waveform sample storage means. A first access unit for replacing the waveform samples of the smallest number of the n waveform samples of the channel with the waveform samples of the respective channels read by the continuous access, and for each channel stored in the waveform sample storage unit. A waveform memory tone generator device comprising: a tone generation unit that generates a tone for each channel sampling period by performing an interpolation process using n waveform samples.
【請求項3】前記サンプリング周期をm個(mは2以上
の整数)の区間に分割し、前記第1アクセス手段は、該
分割した各区間ごとに、該区間において処理すべき複数
チャンネルについて前記波形メモリの連続的なアクセス
を行なう請求項1または2に記載の波形メモリ音源装
置。
3. The sampling cycle is divided into m (m is an integer of 2 or more) intervals, and the first access unit is configured to perform, for each of the divided intervals, the plurality of channels to be processed in the interval. The waveform memory sound source device according to claim 1, wherein the waveform memory is continuously accessed.
【請求項4】前記波形メモリの波形データは、アタック
部とループ部とから構成され、 前記アドレス作成手段は、作成したアドレスが当該チャ
ンネルで読み出すべき波形データのアタック部からルー
プ部に入ったときは、その波形データのループ部の周期
ごとに、進行するアドレスを逆方向に戻してループ部内
の同じアドレスを繰り返し作成し、 前記アクセス回数算出手段は、前記アドレスの戻りが実
行された場合、当該チャンネルに関しては、アドレスの
進み量にかかわらず所定回数のアクセス回数を指定する
請求項1または2に記載の波形メモリ音源装置。
4. The waveform data of the waveform memory is composed of an attack section and a loop section, and the address creating means is provided when the created address enters the loop section from the attack section of the waveform data to be read on the channel. For each cycle of the loop portion of the waveform data, the advancing address is returned in the reverse direction to repeatedly create the same address in the loop portion, and the access count calculation means, when the return of the address is executed, The waveform memory tone generator according to claim 1 or 2, wherein a predetermined number of times of access is designated for a channel regardless of the amount of advance of the address.
【請求項5】前記波形メモリの読み出しまたは書き込み
の少なくとも一方を行なう第2アクセス手段をさらに備
え、該第2アクセス手段は、前記第1アクセス手段によ
る前記波形メモリのアクセス後の余り時間を利用して、
前記波形メモリのアクセスを行なう請求項1または2に
記載の波形メモリ音源装置。
5. A second access means for performing at least one of reading and writing of the waveform memory is further provided, wherein the second access means uses a surplus time after the waveform memory is accessed by the first access means. hand,
The waveform memory sound source device according to claim 1, wherein the waveform memory is accessed.
【請求項6】所定サンプリング周期で複数チャンネル時
分割で動作することにより、該複数チャンネルの楽音を
生成する波形メモリ音源装置において、 波形サンプルを記憶した波形メモリであって、前記所定
サンプリング周期内に所定回数のアクセスが可能なもの
と、 各チャンネルのアドレスを記憶するためのアドレス記憶
手段と、 各チャンネルの波形サンプルを記憶するための波形サン
プル記憶手段と、 前記波形メモリの読み出しに先立って、各チャンネルの
アドレスを作成し、前記アドレス記憶手段に記憶させる
アドレス作成手段と、 各チャンネルのアドレスの進み量に基づいて、各チャン
ネルについての前記波形メモリのアクセス回数を算出す
るアクセス回数算出手段と、 所定数のチャンネルについて、前記アクセス回数算出手
段で算出したアクセス回数を累算し、累算回数を出力す
る累算手段と、 前記所定数のチャンネルに対応したアクセス期間内に、
前記累算回数分のアクセスが可能かどうかを判定する判
定手段と、 前記判定手段が可能と判定した場合、前記アドレス記憶
手段に記憶された各チャンネルのアドレスに基づき、前
記アクセス回数算出手段で算出した各チャンネルのアク
セス回数ずつ、前記波形メモリを連続的にアクセスし、
読み出した各チャンネルの波形サンプルを前記波形サン
プル記憶手段に記憶する第1アクセス手段と、 前記波形サンプル記憶手段に記憶された各チャンネルの
波形サンプルに基づき、各チャンネルのサンプリング周
期ごとの楽音を生成する楽音生成手段とを備えたことを
特徴とする波形メモリ音源装置。
6. A waveform memory sound source device for generating musical sounds of a plurality of channels by operating in a time-divisional manner in a plurality of channels at a predetermined sampling period, wherein the waveform memory stores waveform samples within the predetermined sampling period. A device that can be accessed a predetermined number of times, an address storage unit for storing the address of each channel, a waveform sample storage unit for storing the waveform sample of each channel, and each of them before reading the waveform memory. An address creating means for creating a channel address and storing it in the address storing means; an access count calculating means for calculating an access count of the waveform memory for each channel based on an advance amount of the address of each channel; Number of channels, the access count calculation means Accumulating the calculated number of accesses, and accumulating means for outputting the accumulated number of times, within the access period corresponding to said predetermined number of channels,
When the determination means determines that the accumulated number of times of access is possible, and when the determination means determines that the access is possible, the access number calculation means calculates based on the address of each channel stored in the address storage means. The number of times each channel is accessed, the waveform memory is continuously accessed,
First access means for storing the read-out waveform sample of each channel in the waveform sample storage means, and based on the waveform sample of each channel stored in the waveform sample storage means, tones are generated for each sampling period of each channel. A waveform memory sound source device comprising a musical sound generating means.
【請求項7】前記サンプリング周期をm個(mは2以上
の整数)の区間に分割し、 前記累算手段は、該分割した各区間ごとに、該区間にお
いて処理すべき複数チャンネルについてアクセス回数の
累算を行ない、 前記判定手段は、該分割した各区間ごとに、該区間を前
記アクセス期間として前記判定を行ない、 前記第1アクセス手段は、該分割した各区間ごとに、該
区間において処理すべき複数チャンネルについて前記波
形メモリの連続的なアクセスを行なう請求項6に記載の
波形メモリ音源装置。
7. The sampling cycle is divided into m (m is an integer of 2 or more) sections, and the accumulating means makes access counts for a plurality of channels to be processed in each of the divided sections. The determination unit makes the determination for each of the divided sections using the section as the access period, and the first access unit performs processing for each of the divided sections in the section. 7. The waveform memory tone generator according to claim 6, wherein the waveform memory is continuously accessed for a plurality of channels to be processed.
【請求項8】前記判定手段は、前記判定において不可能
と判定した場合、前記所定数のチャンネルの何れかのチ
ャンネルについてアクセス回数を減少させる請求項6に
記載の波形メモリ音源装置。
8. The waveform memory tone generator apparatus according to claim 6, wherein said judging means reduces the number of accesses to any one of said predetermined number of channels when it is judged impossible in said judgment.
【請求項9】前記波形メモリの読み出しまたは書き込み
の少なくとも一方を行なう第2アクセス手段をさらに備
え、前記判定手段により可能と判定された場合、該第2
アクセス手段は、前記アクセス期間内の全アクセス回数
のうち、前記第1アクセス手段によるアクセスで使用さ
れなかった分を利用して、前記波形メモリのアクセスを
行なう請求項6に記載の波形メモリ音源装置。
9. A second access means for performing at least one of reading and writing of the waveform memory, further comprising: a second access means if the determination means determines that the second access is possible.
7. The waveform memory sound source device according to claim 6, wherein the access means utilizes the portion of the total number of accesses within the access period that has not been used in the access by the first access means to access the waveform memory. .
JP7322224A 1995-11-16 1995-11-16 Waveform memory sound generator Expired - Lifetime JP2882464B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7322224A JP2882464B2 (en) 1995-11-16 1995-11-16 Waveform memory sound generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7322224A JP2882464B2 (en) 1995-11-16 1995-11-16 Waveform memory sound generator

Publications (2)

Publication Number Publication Date
JPH09146555A true JPH09146555A (en) 1997-06-06
JP2882464B2 JP2882464B2 (en) 1999-04-12

Family

ID=18141330

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7322224A Expired - Lifetime JP2882464B2 (en) 1995-11-16 1995-11-16 Waveform memory sound generator

Country Status (1)

Country Link
JP (1) JP2882464B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9040800B2 (en) 2011-01-20 2015-05-26 Yamaha Corporation Musical tone signal generating apparatus
EP2911147A1 (en) 2014-02-21 2015-08-26 Yamaha Corporation Multifunctional audio signal generation apparatus

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9040800B2 (en) 2011-01-20 2015-05-26 Yamaha Corporation Musical tone signal generating apparatus
EP2911147A1 (en) 2014-02-21 2015-08-26 Yamaha Corporation Multifunctional audio signal generation apparatus
US9792916B2 (en) 2014-02-21 2017-10-17 Yamaha Corporation Multifunctional audio signal generation apparatus
EP3261086A1 (en) 2014-02-21 2017-12-27 Yamaha Corporation Multifunctional audio signal generation apparatus
US10388290B2 (en) 2014-02-21 2019-08-20 Yamaha Corporation Multifunctional audio signal generation apparatus

Also Published As

Publication number Publication date
JP2882464B2 (en) 1999-04-12

Similar Documents

Publication Publication Date Title
US5831193A (en) Method and device for forming a tone waveform by combined use of different waveform sample forming resolutions
US6326537B1 (en) Method and apparatus for generating musical tone waveforms by user input of sample waveform frequency
JP5789993B2 (en) Music signal generator
JP2882464B2 (en) Waveform memory sound generator
JPH08160961A (en) Sound source device
JP2933205B2 (en) Waveform memory sound generator
US6207885B1 (en) System and method for rendition control
JPH0310959B2 (en)
JP3137043B2 (en) Waveform memory tone generator and tone generator
JP3016470B2 (en) Sound source device
JPS6352399B2 (en)
JP3094759B2 (en) Music signal distribution processor
JPH07325581A (en) Musical sound generation device
JP3104873B2 (en) Sound source device
JP3148803B2 (en) Sound source device
US5817964A (en) Electronic musical instrument and method for storing a plurality of waveform sampling data at a single address
JPH0125079B2 (en)
JP2910632B2 (en) Waveform memory sound generator
JP2003280650A (en) Modulated waveform generator
JP3651675B2 (en) Electronic musical instruments
JPH02179698A (en) Processor for electronic musical instrument
JP3095323B2 (en) Electronic musical instrument
JP2970372B2 (en) Sound source parameter supply device
JP2833485B2 (en) Tone generator
JP3201553B2 (en) Electronic musical instrument

Legal Events

Date Code Title Description
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: 20080205

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090205

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090205

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100205

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110205

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120205

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130205

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140205

Year of fee payment: 15

EXPY Cancellation because of completion of term