JP2882464B2 - Waveform memory sound generator - Google Patents

Waveform memory sound generator

Info

Publication number
JP2882464B2
JP2882464B2 JP7322224A JP32222495A JP2882464B2 JP 2882464 B2 JP2882464 B2 JP 2882464B2 JP 7322224 A JP7322224 A JP 7322224A JP 32222495 A JP32222495 A JP 32222495A JP 2882464 B2 JP2882464 B2 JP 2882464B2
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.)
Expired - Lifetime
Application number
JP7322224A
Other languages
Japanese (ja)
Other versions
JPH09146555A (en
Inventor
哲二 市来
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)

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 sound source device in which a waveform memory is read out by a time-division plural channel so that the waveform memory can be accessed when necessary.

【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, the access to the waveform memory is a time-division channel operation, and for each channel, access is performed a predetermined 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 points. 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 address of the address is small when reading the waveform memory, the waveform data stored in the sample buffer is newly read. The interpolation is performed using the obtained waveform data.

【0004】[0004]

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

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

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

【0007】[0007]

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

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

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

【0010】請求項4に係る発明は、請求項1または2
に記載の波形メモリ音源装置において、前記波形メモリ
の波形データは、アタック部とループ部とから構成さ
れ、前記アドレス作成手段は、作成したアドレスが当該
チャンネルで読み出すべき波形データのアタック部から
ループ部に入ったときは、その波形データのループ部の
周期ごとに、進行するアドレスを逆方向に戻してループ
部内の同じアドレスを繰り返し作成し、前記アクセス回
数算出手段は、前記アドレスの戻りが実行された場合、
当該チャンネルに関しては、アドレスの進み量にかかわ
らず所定回数のアクセス回数を指定することとしたもの
である。
The invention according to claim 4 is the invention according to claim 1 or 2.
In the waveform memory sound source device described in the above, the waveform data of the waveform memory is constituted by an attack part and a loop part, and the address creating means is configured to change the created address from the attack part of the waveform data to be read in the channel to the loop part. When entering, 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 calculating means executes the return of the address. If
Regarding the channel, a predetermined number of accesses is specified regardless of the address advance amount.

【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 sound source device according to the above, further comprising a second access means for performing at least one of reading and writing of the waveform memory, the second access means,
The waveform memory is accessed using a surplus time after the first access unit accesses the waveform memory. The second access means performs, for example, refresh when the waveform memory has a DRAM configuration, or accesses the waveform memory by the CPU.

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

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

【0014】請求項8に係る発明は、請求項6に記載の
波形メモリ音源装置において、前記判定手段は、前記判
定において不可能と判定した場合、前記所定数のチャン
ネルの何れかのチャンネルについてアクセス回数を減少
させることとしたものである。
According to an eighth aspect of the present invention, in the waveform memory tone generator according to the sixth aspect, when the determination means determines that the determination is impossible, the access means accesses 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 of the sixth aspect, the apparatus further comprises a second access unit for performing at least one of reading and writing of the waveform memory, and the determination unit determines that it is possible. In this case, the second access unit accesses the waveform memory by using a portion of the total number of accesses within the access period that has not been used in the access by the first access unit. Things. The second access means performs, for example, refresh when the waveform memory has a DRAM configuration, or accesses the waveform memory by the CPU.

【0016】[0016]

【発明の実施の形態】以下、図面を用いて、この発明の
実施の形態を説明する。
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 tone generator according to the present invention is applied. FIG. 1 shows 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 ones.

【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, an overall configuration of the electronic musical instrument will be described with reference to FIG. The electronic musical instrument includes a keyboard 201, a display unit 202, a switch group (SW) 203, a central processing unit (CPU) 204, a read only memory (ROM) 20
5, random access memory (RAM) 206, tone generator 207, waveform memory 208, digital-to-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 207,
The external storage device 212 is mutually connected 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 a panel of the electronic musical instrument and displays various information. The switch group 203 is provided on a 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, an operation of the keyboard 201 is detected, and a sound generation instruction is issued to the sound source unit 207 in accordance with the operation. ROM 205 is a CPU
(A sound source control program for controlling the sound source unit 207) and various constant data are stored. The RAM 206 is used for a work register or the like. The external storage device 212 includes a DRAM (to be described later).
Waveform data to be loaded is stored in the configured waveform memory 208.

【0020】音源部207は、CPU204の指示に応
じて、波形メモリ208から波形データを読み出し、補
間、エンベロープ付与、チャンネル累算、および効果付
与などの加工を施して、楽音波形データとして出力す
る。音源部207から出力された楽音波形データは、D
AC210によりアナログ信号に変換され、サウンドシ
ステム211により放音される。
The tone generator 207 reads out waveform data from the waveform memory 208 in accordance with an instruction from the CPU 204, performs processing such as interpolation, envelope addition, channel accumulation, and effect addition, and outputs it as musical sound waveform data. The musical tone waveform data output from the sound source unit 207 is D
The signal 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 constituted by a DRAM (Dynamic RAM). Waveform memory 208
Stores waveform sample data sampled at a predetermined rate. The waveform sample data is
The tone may be read from the external storage device 212 and stored in the waveform memory 208 prior to the generation of the musical tone. However, the tone generator of this embodiment is not used when performing the tone generating operation for a plurality of channels. Since the empty time slots 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 using the vacant time slot during the tone generation operation.

【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 section 207 will be described in detail. In FIG. 1, the sound source unit 207 includes 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 controller 109, a selector 110, a selector 111, a system clock generator 112, and a channel (ch) counter 113.

【0023】制御レジスタ101は、CPU204から
送出された複数チャンネル分の指定情報(音源部207
に対する命令やパラメータ情報)を格納するための制御
レジスタである。CPU204は、各発音チャンネル別
に制御レジスタ101に所定の指定情報をセットして発
音の開始指示を出す。セットする指定情報としては、メ
モリ読み出しピッチ(周波数ナンバ)、メモリ読み出し
区間、波形データの圧縮方式、エンベロープ、およびエ
フェクト用係数などの指定情報がある。
The control register 101 stores designation information for a plurality of channels transmitted from the CPU 204 (the sound source unit 207).
This is a control register for storing instructions and parameter information for the The CPU 204 sets predetermined designation information in the control register 101 for each sounding channel and issues a sounding start instruction. The specification information to be set includes specification 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は、各チャンネルのアクセス回数に応じた波
形メモリのアドレスを、時分割チャンネルタイミングと
は異なるタイミングで、順次連続して出力するようにな
っている。
Upon receiving the sound generation start instruction, the tone generator 207 starts the operation of generating a musical 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, the sound source unit 207 includes the decoder 1
04 is provided with a sample RAM as a sample buffer, so that only a necessary number of waveform samples (waveform data) are read from the waveform memory 208 for each channel, and the number of times of access to the waveform memory in each channel can be varied. It has become. Therefore, the address generator 102 sequentially and continuously outputs the addresses of the waveform memory corresponding to the number of accesses to 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 address output from the address generator 102 is performed at a timing different from the time division channel timing, so that an empty time slot can be obtained. The refresh counter 108 and the CPU access control unit 109 perform refresh of the waveform memory 208 or CP
This is for accessing the waveform memory 208 from the U 204. The selectors 110 and 111 determine whether the refresh counter 108 or the CP
It is controlled to connect the U access control unit 109 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 sent to the waveform memory 208 via the selector 110.
, Whereby the 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 uncompression or 8-bit compression. Thus, 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, four-point interpolation is performed and two-point interpolation is performed only when waveform data for four points cannot be secured). The volume change control circuit 105 adds an envelope to the tone waveform data of each channel. Channel accumulator 106
Accumulates the tone waveform data of each channel. The effect circuit 107 applies various effects (effects) to the result of channel accumulation. The tone waveform data to which the effect has been applied is input to the DAC 210 shown in FIG. 2 and is converted into an analog signal.

【0028】この音源部207は時分割32チャンネル
で動作する。システムクロック112は、音源部207
内の各部に時分割動作を行なうための基準信号となる制
御クロック信号Φを供給する。チャンネルカウンタ11
3は、時分割チャンネル動作を行なうためのチャンネル
カウント値CHCをカウントし(具体的には0〜31を
繰り返しカウント)、音源部207内の各ブロックに供
給する。
The tone generator 207 operates on 32 time-division channels. The system clock 112 is supplied to the sound source unit 207
Are supplied with a control clock signal .PHI. As a reference signal for performing a time-division operation. Channel counter 11
3 counts a channel count value CHC for performing the time-division channel operation (specifically, repeatedly counts 0 to 31) and supplies the count 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 part in the tone generator 207 of this embodiment will be described. In FIG. 3, “process A” indicates a section in which, among the processes performed by the address generator 102, a process of creating an address of each channel is performed. “Process B” indicates an interval in which, among the processes performed by the address generator 102, a process of sending an address to the waveform memory 208 is performed. “Decode” indicates a processing section of the decoder 104, in particular, a section in which a process of receiving 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 period is divided into the first half and the second half, and the first to fifteenth channels are processed in the first half, and the sixteenth to thirty-first channels are processed in the second half.

【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” in FIG. 4 corresponds to section 3 in FIG.
1 shows the state of the channel at 01. "Process B" in FIG.
“First half channel” indicates the state of the channel in the section 302 of FIG. “First half channel of decoding” in FIG. 4 shows the state of the channel in the section 303 of FIG. “First half channel of interpolation” in FIG. 4 indicates the state of the channel in the section 304 in FIG. In FIG. 4, each channel timing is vertically aligned and described, but in actuality, the timing of each process is 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,
Address sending process B 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, under the control of a 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
The addresses of the channels 0 to 15 are sequentially created according to the time-division channel timing. In the first period 302 of the process B, the address generator 102 assigns one address of the 0th channel at a timing different from the time-division channel timing.
Addresses of the 0th to 15th channels are sent out, such as three addresses for the second channel, one address for the fifth channel, and so on. The time width of the section in which one address is sent out is half the time width of the section in which processing for one channel is performed at the time-division channel timing. The number of addresses to be sent out in each channel is different because the sample RAM in the decoder 104 holds the past waveform data and it is sufficient to read out 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 an address. Here (FIG. 4) shows a case where it is necessary to read from the waveform memory for channel 0 for 1 access, channel 2 for 3 accesses, channel 5 for 1 access, and channel 7 for 2 accesses. I have. The other channels are channels that are not sounding or that can generate musical tones only with samples that have already been read and stored in the waveform buffer 307. The non-sounding channel 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 out from the waveform memory 208 is received in accordance with the address sending timing of the first half section 302 of the processing B. Although described later in detail, the decoder 104
When the received waveform data is a compressed waveform, decoding is performed, and when the received waveform data is an uncompressed waveform, the data is directly written into an internal sample RAM. The interpolator 103 performs the interpolation process on the 0th to 15th channels using the data of the sample RAM in accordance with the time division channel timing in the section 304 of the first half of the interpolation. At the time of performing interpolation on a certain channel, waveform data of the channel required for performing interpolation is prepared in a sample RAM.

【0034】以上のようにして、第0〜第15チャンネ
ルの楽音波形データが生成される。後半の区間を用いて
処理される第16〜第31チャンネルについても同様で
ある。
As described above, the musical tone waveform data of the 0th to 15th channels is 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 because the address sending process B in the address generator 102 and the waveform data receiving process in the decoder 104 are performed at a timing different from the time division channel timing. In the sections 302 and 303 of FIG.
“ch” indicates an empty time slot that is not used for reading samples of any channel. This empty time slot section can be used arbitrarily. In the present embodiment, the refresh processing of the waveform memory 208 by the refresh counter 108 in FIG. 1 or the access processing to the waveform memory 208 by the CPU access control unit 109 is performed in the section of 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 is connected to the 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 synthesizing unit 512, an interpolation 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 numeral 503 denotes selectors for selectively outputting a predetermined input in each time slot of the time division. Adder 5
Reference numeral 04 denotes a 23-bit adder, which inputs the selected output data of the selector 501 and the selected output data of the selector 502 to execute addition. This adder 504 is described as “2D” because there is a delay of two clocks before the addition result is output. Shifter 505 includes adder 50
The result of addition 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 includes 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 including the address upper ADH and the address lower 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 address decimal part indicates a finer unit, and is information used in interpolation processing using some waveform data. The address integer part is 23 bits, and the address decimal part is 9 bits. Therefore, the address RAM 511
ADH of each channel indicates the upper 16 bits of the 23-bit address integer part, and ADL indicates 16 bits obtained by combining the lower 7 bits of the 23-bit address integer part and the 9 bits of the address decimal part. Become.

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

【0040】図5において、整数部合成部512は、ア
ドレスRAM511の任意のチャンネルのアドレス値を
読み出してその小数部または整数部を出力する。具体的
には、アドレス小数部を出力する場合は、アドレスRA
M511の下位ADLを読み出し、その下位9ビットを
アドレス小数部として出力する。アドレス整数部を出力
する場合は、先にADLの上位7ビットすなわちアドレ
ス整数部の下位7ビットを取り込み、その後ADHのア
ドレス整数部上位16ビットを取り込み、それらを合成
して完全な23ビットのアドレス整数部を生成し出力す
る。
In FIG. 5, an integer part synthesizing unit 512 reads an address value of an arbitrary channel in the address RAM 511 and outputs the decimal part or the integer part. Specifically, when outputting the decimal part of the address, the address RA
The lower ADL of M511 is read, and the lower 9 bits are output as an address decimal part. When outputting the address integer part, the upper 7 bits of the ADL, that is, the lower 7 bits of the address integer part, are first taken in, then the upper 16 bits of the address integer part of the ADH are taken in, 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 receives the clock Φ and the channel count value CHC, generates control signals for controlling the entire operation of the process A and the basic operation of the process B (described later in FIG. 8), Supply to Processing B control unit 5
Reference numeral 15 controls each block in order to perform the processing B described with reference to FIGS. In particular, the processing B control unit 515
In the first half of the processing B (302 in FIG. 3), the 0th to 15th 1
The accumulator 516 accumulates the number of accesses for the sixteen channels and accumulates the number of accesses for the sixteenth to thirty-first channels in the latter half of the process B (306 in FIG. 3). This is for storing the accumulated value. The operation of the processing B control unit 515 and the accumulator 516 will be described later in detail.

【0042】図8は、図5のアドレス発生器102のタ
イミングチャートを示す。縦に引かれた点線により区切
られた各区間が1クロックのタイムスロットを示す。図
8は、1DAC周期384クロック(12クロック×時
分割32チャンネル分)動作のうちの2チャンネル時間
分を取りだした図である。1チャンネル分の12クロッ
クの各区間には順にスロット番号(0〜11)をつけ
る。図8では、一連のスロット番号0〜11を四角で囲
んだ区間が1チャンネル分の区間である。
FIG. 8 is a timing chart of the address generator 102 shown in FIG. Each section demarcated by a vertically drawn dotted line indicates a time slot of one clock. FIG. 8 is a diagram in which two channel times out of the operation of 384 clocks (12 clocks × 32 channels in time division) of one DAC cycle are extracted. 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 are enclosed 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 row described as "Process A" correspond to the following process numbers, and the process of the process number is performed in the time slot in which the process number is described. For example, regarding the process A, “1” is described at the position of the slot number 0 and “2” is described at the position of the slot number 2, which is the slot of the slot number 0 and the following process number 1 indicates that the processing of the following processing number 2 is performed in the slot of the slot number 2. As for the process A, an address for one channel is created in six clocks. Hereinafter, with reference to FIG. 8 and FIGS.
02, the process number 1 of process A for creating an address
Step 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 processing number 1, the selector 501
ITCH is selected and output, and the selector 502 selects and outputs LTUNE. PITCH indicates a pitch within an 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 portion from the attack portion, the pitch value may be different between the attack portion and the loop portion.
The pitch is adjusted by adding TUNE to the pitch PITCH. LTUNE is controlled by the CPU 204 in the control register 1
Specify via 01.

【0045】加算器504は、PITCH+LTUNE
を計算する。加算結果VIBMは、2クロック後に出力
され、ビブラート変調器506に入力する。ビブラート
変調器506は、楽音にゆっくりした時間的な周波数の
揺れをつけるためにその揺れ分を加算する処理を行な
う。ビブラート変調された結果は、オクターブシフタ5
07に入力し、オクターブ分のシフトを行なう。オクタ
ーブシフタ507に入力するOCTは、オクターブ分の
シフト量を示し、CPU204が制御レジスタ101を
介して指定する。
The adder 504 is provided as 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 amount of the fluctuation in order to make the musical sound have a slow temporal fluctuation. The result of the vibrato modulation is an octave shifter 5
07 to perform an octave shift. 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 a pitch PITX. This pitch PITX is the advance value (frequency number) of the address in 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 is 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 reads the address decimal part ARAM (ADF) of the channel from the address RAM 511.
Is selected and output. The ARAM (ADF) is prepared by the integer part synthesizing unit 512. That is, the integer part combining unit 512 calculates
ADL for the channel in address RAM 511
Is read out, and only the lower 9 bits of the address decimal part are extracted and input to the selector 502 as the address decimal part ARAM (ADF). At the same time, the integer part synthesizing unit 512
Is an address integer part ARAM (AD
The lower bits of I) are obtained in an 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 is composed of ARAM (ADF) + P
Calculate and output ITX. The addition result UD is output after two clocks, and is used in the next processing number 3 via the shifter 505. Further, the result of this addition is represented by a decimal part latch (FL).
AT) 510, and the lower 9 bits are latched.
This is the data of the new address decimal part. The data of the decimal part of the address of the decimal part latch 510 is later written into the lower 9 bits of the ADL of the address in the address RAM 511 via the selector 503. Further, the integer part (overflow value) of the UD at this time is taken into the processing 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 process number 3, data UD ↓ 9 (* bit-downshifted data is denoted as UD ↓ *) in which the addition result UD of process number 2 is shifted down 9 bits by shifter 505 is supplied to selector 501. Then, the selector 501 selects and outputs the data UD ↓ 9. The selector 502 selects and outputs the address integer part ARAM (ADI) of the corresponding channel of the address RAM 511. The ARAM (ADI) includes an integer part synthesis unit 51
2 prepares. That is, the integer part synthesizing unit 512 first reads out the ADL of the channel in the address RAM 511 with the processing number 2 and fetches the upper 7 bits, then reads out the ADH of the channel with the processing number 3, and
16 bits of DH and upper 7 ADL extracted earlier
And an address integer part ARAM (AD
Obtain I). The integer part synthesizing unit 512 performs processing for synthesizing the address integer part in advance, and outputs an ARAM (ADI) at the timing of this processing 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 composed of ARAM (ADI) + U
Calculate D ↓ 9. UD ↓ 9 (the above-mentioned integer part = overflow value) is the pitch PITX in the address decimal part with the processing number 2.
ARAM (ADI) + UD ↓ 9 adds the overflow to the address integer part, because the result of addition of the (advance value of the address) corresponds to the overflow of 9 bits of the address decimal part. It is a calculation. This addition result UD
Are output two clocks later, and are used in the next processing number 4 via the shifter 505. Further, the addition result is input to an integer part latch (ILAT) 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 later provided to the selector 5
03, the ADH and the upper 7 bits of the ADL of the address in the address RAM 511 are written.

【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 processing number 4, the addition result UD of the processing number 3 is directly input to the selector 502 (the shift amount of the shifter 505 is 0), and the selector 502 selectively outputs the data UD. The selector 501 is -LPLEN
Is selected and output. -LPLEN is a value obtained by adding a minus to the data length LPLEN of the loop portion of the waveform data to be read to make it a negative number. -LPLEN is the CPU 20
4 is designated via the control register 101. Adder 20
8 calculates -LPLEN + UD and outputs the addition result two clocks later.

【0052】波形メモリ208上の波形データはアタッ
ク部とそれに引き続くループ部とから構成されるが、波
形データをアクセスする際には、ループ部の先頭位置
(すなわちアタック部の最終位置)をアドレス0の基準
としている。したがって、−LPLEN+UDが正(キ
ャリー非発生時)になったとき、アドレス値がループ部
最終位置を超えたことになり、この場合、アドレスをル
ープ部の先頭に戻す必要がある。そこで、処理番号4の
加算でキャリーが発生したときは以下の処理番号5,6
の処理は行なわず、キャリーが発生しなかったときはル
ープ部の先頭付近のアドレスに戻るために以下の処理番
号5,6の処理を行なう。
The waveform data on the waveform memory 208 is composed of an attack portion and a loop portion following the attack portion. When accessing the waveform data, the start position of the loop portion (that is, the end position of the attack portion) is set to the address 0. It is the standard. Therefore, when -LPLEN + UD becomes positive (when no carry occurs), the address value has exceeded the final position of the loop portion, and in this case, it is necessary to return the address to the beginning of the loop portion. Therefore, when a carry occurs due to the addition of the processing number 4, the following processing numbers 5, 6
When no carry occurs, the following process 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 the processing number 5, 32 is obtained by combining the addition result UD (new address integer part) of the processing number 4 and the address decimal part of the decimal part latch (FLAT) 510.
A bit address value UD (I & FLAT) is generated (this data generation is performed by shifter 505), and selector 50
2 selectively outputs the data UD (I & FLAT). The selector 501 selects and outputs the loop decimal 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 two clocks later.

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

【0055】本処理番号5の加算結果は、小数部ラッチ
(FLAT)510に入力し、下位9ビットがラッチさ
れる。これが新たなアドレス小数部のデータである。小
数部ラッチ510のアドレス小数部のデータは、セレク
タ503を介して、アドレスRAM511の当該アドレ
スのADL下位9ビットに書き込まれる。
The result of addition of the processing number 5 is input to a decimal part latch (FLAT) 510, and the lower 9 bits are latched. This is the data of the new address decimal part. The data of the decimal part of the address of the decimal part latch 510 is written into the lower 9 bits of the ADL of the address in 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 processing number 6, data UD ↓ 9 obtained by shifting down the addition result UD of processing number 5 by 9 bits with shifter 505 is input to selector 502, and selector 502 selects and outputs this data UD ↓ 9. The selector 501 selectively outputs -AS. -AS is the initial value of the address integer part at the time of note-on rise, and indicates data which becomes 0 in other cases. -AS is the CPU 20
4 is designated via the control register 101. Adder 50
4 calculates −AS + UD ↓ 9, and outputs the addition result two clocks later. The result of this addition is an 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 via the selector 503 to the ADH and ADL of the address in the address RAM 511.
Written to upper 7 bits.

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

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

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

【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. 1. PITCH + (LTUNE) → VIBM ARAM (ADF) + PITX → UD, FLAT →
ARAM 3. ARAM (ADI) + UD ↓ 9 → UD, ILAT →
ARAM 4. -LPLEN + UD → UD (I & FLAT) (UD (I & FLAT) + LPFR → UD, FLA
T → ARAM) ((-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 indicate that it is 0 except for the loop portion (attack portion). Similarly, -AS of process number 6 is parenthesized to indicate that it is 0 except at the time of note-on startup. The processing numbers 5 and 6 are executed only when no carry occurs in the processing number 4, so that the processing numbers 5 and 6 are parenthesized as a 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 operation of sending addresses in the process B will be described. Before actually performing the process of sending an address from the address generator 102 of FIG. 5 at the timing shown in process B of FIG. 8, the process B control unit 515 performs pre-processing of address sending. FIG. 10 is a flowchart showing the operation of the pre-processing. Address generator 1
02 is executing the process A for the first half of the first to fifteenth channels (section 301 in FIG. 3), the process B control unit 515 executes the process A of FIG. Is performed. Further, when the address generator 102 is executing the processing A for the 16th to 31st channels in the latter half (section 30 in FIG. 3).
5), the process B control unit 515 performs the operation of FIG. 10 as a pre-process for sending out the addresses of the 16th to 31st channels. Hereinafter, the processing for the 0th to 15th channels is referred to as the first half processing, and the processing for the 16th to 31st channels is 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 processing B control unit 515 is initialized (cleared to zero). As the accumulator (ACC) 516, the 0th to 0th
The first half accumulator for accumulating the number of waveform memory accesses for the fifteenth channel and the second half accumulator for accumulating the number of waveform memory accesses for the sixteenth to thirty-first channels are provided independently.
If the process A being executed in parallel is performing the process of creating the addresses of the first half of the 0th to 15th channels, the first half of the accumulator is initialized, and the addresses of the second half of the 16th to 31st channels are set. If the process of creating is performed, the second half accumulator is initialized. In the following description of FIG. 10, the term “accumulator ACC” simply refers to the first half accumulator in the first half processing and the second half accumulator in the second half processing.

【0064】ステップ1002は、特に何かの処理を行
なうものではないが、次のステップ1003〜1008
を行なう対象のチャンネル(以下、対象チャンネルとい
う)として最初のチャンネルに着目するということであ
る。最初のチャンネルというのは、前半処理では第0チ
ャンネル、後半処理では第16チャンネルである。
Step 1002 does not perform any processing, but the next steps 1003 to 1008
Focus on the first channel as a target channel (hereinafter referred to as a target channel). 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, the compression method, the number of samples, and the least significant bit of the address 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 a compression method of the waveform data of the target channel to be read, and is any one of 16-bit non-compression, 8-bit non-compression, and 8-bit compression. The compression method may be different for each channel. The compression method for each channel can be understood by referring to 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.
This shows the format of bit uncompressed waveform data. 90
1 to 906 each represent one sample of 16-bit uncompressed waveform data. Since the addresses are assigned in sample units, if the sample 901 is set as the reference position of the address 0, the addresses of the samples 902, 903, 904,... Are 1, 2, 3,. In FIG. 9B,
8 shows the format of 8-bit uncompressed or 8-bit compressed waveform data in the waveform memory 208. 911-922
Indicates one sample of 8-bit uncompressed or compressed waveform data, respectively. Since the addresses are assigned in sample units, if 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 access to the waveform data of
It is performed in units of 16 bits. Therefore, in the 16-bit uncompressed system, the number of samples to be read and the number of accesses to the waveform memory match. In the 8-bit non-compression or compression method, the number of samples to be read and the number of accesses to 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. The number of samples is the processing number 2 of the processing A described above.
Is obtained by taking into the processing B control unit 515 from the adder 504 an overflow amount (overflow value) of the addition result of the upper part of the 9 bits of the address decimal part. In addition, when the carry does not occur by the addition of the process number 4 of the process A,
Returning to the address near the beginning of the loop section, in this case, past samples in the sample RAM 1205 (FIG. 13) cannot be used. Therefore, the processing B control unit 515 performs processing A
Is detected, the number of samples to be read is forcibly designated as 4 so as to read all 4 samples for interpolation.

【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. The least significant bit of the address is obtained by adding the result of addition of process number 3 or process number 6 of process A (particularly, the least significant bit) from adder 504 to process B controller 5.
15 to understand.

【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 out a new sample from the waveform memory 208 for this target channel, so the process 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 for 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 configuration of the control RAM 517.
The control RAM 517 includes a plurality of areas for storing a channel number and the number of samples to be read in the channel. The processing B control unit 515 includes a write pointer and a read pointer. When the number of samples to be read in each channel is written in the control RAM 517, the write pointer is recommended (step 1005 described above). When the number is read and the read address for the channel is transmitted, the read pointer is advanced (step 110 in FIG. 11 described later).
2). The control RAM 517 is used in a ring shape, and the write or read pointer is controlled by the control R.
When the pointer reaches one end of the AM 517, the position of the next pointer is the other end of the control RAM 517. Writing and reading are performed so that the position indicated by the read pointer follows the position indicated by the write pointer, but it is assumed that the size of the area is secured such that the write pointer does not overtake the read pointer. As with the accumulator ACC, the write pointer and the read pointer are separately provided for the first half and for the second half, respectively. 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 as shown in FIG. 7, an address may correspond to each channel one by one, and the required number of samples may be written there.

【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, in step 1007, the number of necessary waveform memory accesses 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 least significant bit of the address obtained in step 1003. 16
In the bit uncompressed method, "access count = sample count"
It is. In the 8-bit uncompressed or compressed system, FIG.
When the reading of the 8-bit sample is started from the position of the 16-bit boundary as shown in FIG. 9C, the number of accesses = the number of samples / 2, and the position of the 8-bit boundary which is not the 16-bit boundary as shown in FIG. From 8
When the reading of the bit sample is started, “the number of accesses = the number of samples / 2 + 1” is obtained (however, the number of samples / 2 is truncated below the decimal point). 9 (c) and 9 (d) show an example in which four samples are read in the order of 0, 1, 2, and 3. In the case of FIG. 9 (c),
9D can be determined by the least significant bit of the address. 9 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(すなわち、波形メモリから
のサンプル読み出しが不要な)のチャンネルである。
FIG. 4 shows that the number of required waveform memory accesses is 1 for the 0th channel, 3 for the second 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 whose overflow value is 0 (that is, it is not necessary to read samples from the waveform memory).

【0074】ステップ1008では、アキュムレータA
CCにアクセス回数ATを累算する。ステップ1009
では、対象チャンネルが最終のチャンネル(前半処理で
は第15チャンネルが最終、後半処理では第31チャン
ネルが最終)であるか否かを判定し、最終チャンネルで
ないときは、ステップ1010で対象チャンネルを次の
チャンネル(チャンネル数を+1)にしてステップ10
03に戻る。
In step 1008, the accumulator A
The number of accesses 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). Step 10 by setting the channel (the number of channels is +1)
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に書き込んだ各チャンネルの
サンプル数をすべてアクセスすることはできないので、
何れかのチャンネルのアクセス回数を削減し補間次数を
落とす。アクセス回数を削減するチャンネルの決定方法
としては、例えば下記の〜のような方法がある。
If the last channel has been reached in step 1009, in step 1011 the accumulator ACC
Is determined not to exceed the maximum accessible number in the first half or the second half of the processing B for actually executing the access, and the number of accesses and the interpolation order for each channel are determined. In the present embodiment, the maximum accessible number is 32. As described with reference to FIG. 4, the time width of the section where one address is sent out in the processing B is half the time width of the section where the processing for one channel is performed at the time-division channel timing, and the first half of the processing B and the second half of the processing B In this case, 32 accesses are possible. Therefore, if the accumulative 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 second half written in 7 can be accessed, the number of accesses and the interpolation order of each channel are determined according to the number of samples. In this case, four-point interpolation is possible for all 16 channels in the first half or the second half. On the other hand, if the accumulative 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 number of accesses to any one of the channels is reduced to lower the interpolation order. As a method of determining a channel for reducing the number of times of access, for example, the following methods are available.

【0076】チャンネル順に片端からアクセス回数を
削減する。 16ビット波形を再生しているチャンネルからアクセ
ス回数を削減する。16ビット波形なので、削減効果が
大きい。 その時点で音量レベルの小さいチャンネルからアクセ
ス回数を削減する。このようにすると楽音への影響が小
さい。各チャンネルの音量レベルは、エンベロープ値か
ら分かる。
The number of accesses is reduced from one end in channel order. The number of accesses is reduced from the channel reproducing the 16-bit waveform. Since the waveform is a 16-bit waveform, the reduction effect is large. 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点補間ができなくなるほ
どのアクセス回数削減は行なわない。また、圧縮波形の
場合は、途中のサンプルを読み飛ばすと再生ができなく
なるので、アクセス回数削減の対象から外す。
In this embodiment, four-point interpolation is basically performed for each channel. However, when the number of accesses is reduced, the number of samples must be ensured so that at least two-point interpolation can be performed. Therefore, the number of accesses is not reduced so that two-point interpolation cannot be performed. Also, in the case of a compressed waveform, reproduction cannot be performed if a sample in the middle is skipped.

【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 accesses 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. The downward arrow ↓ indicates a convenient reference position for indicating the address advance amount (the position where reading was completed in the previous process B of the same channel). ×, ○, and ●
One sample of waveform data is shown. ● already sample RA
M indicates a sample existing in M, and ○ indicates a sample to be read from now on.

【0079】図14(a)は、アドレスの進み量が0の
場合を示す。4点補間に必要な4点分のサンプルはサン
プルRAM内に存在するので、新たな読み出しは不要で
ありアクセス回数は0である。当然、アクセス回数の削
減は行なわれない。
FIG. 14A shows a case where the amount of advance of the address is 0. Since the samples for the four points required for the four-point interpolation exist in the sample RAM, new reading is unnecessary and the number of accesses 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 address advance amount is one. Since three of the necessary four samples already exist in the sample RAM, only one sample is read. Therefore, one access is required regardless of the compression format. 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 necessary four samples already exist in the sample RAM, only two samples are read. In the case of the 16-bit uncompressed format, the number of accesses is two, and in the case of the 8-bit compressed or uncompressed format, the number of accesses is one or two. 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 a case where the advance amount of the address is 3. Since one of the necessary four samples already exists in the sample RAM, only three samples are read. In the case of the 16-bit uncompressed format, the number of accesses is three, and in the case of the 8-bit compressed or uncompressed format, the number of accesses is two. In this case, when the number of accesses is reduced (limited to the uncompressed format), FIG.
(D) As described below, the number of accesses is reduced by newly reading out two samples necessary for two-point interpolation.

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

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

【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.
02 will be described. As can be seen from FIG. 8, in the process B, one address is sent out by performing the processes of the following process numbers 1, 2, and 3 with the slot numbers 1, 3, and 5. Thereby, the waveform memory 20
8 is accessed once. The same processing is performed for slot numbers 7, 9, and 11, and one access is executed. Therefore, processing for one access is possible with three clocks, and two accesses are possible within the time per channel of the time division channel timing. It is. The access processing of the waveform memory in the processing B is not related to the processing according to the time-division channel timing of the processing 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 in the above-described preprocessing of FIG. As described with reference to FIG. 3, when the process B is performed on a certain channel, the process A on the channel has already been executed.
Is executed, the address value of the channel is already set in the address RAM 511. Hereinafter, FIG.
The processing of the processing numbers 1 to 3 of the processing 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 process number 1, the selector 501
FS, and the selector 502 selects the ARAM (AD
Selectively output I). The ARAM (ADI) is an address integer part of a channel to be processed in the address RAM 511 (the order of channels for sending out an address is determined based on the control of the processing B control unit 515, which will be described later in detail with reference to FIG. 12). Yes, process number 3 of process A
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 a required number of samples (16-bit data including necessary samples in the case of the 8-bit sample format). is there. FIG.
The offset OFS of each access timing in is
For example, 0 in the 0th channel, and the first time of the second channel is -2 (in the case of an 8-bit sample, -4 ← 1/2 later)
The second time is -1 (same as -2), the third time is 0, the fifth
The first time of the channel is -1 (the same as -2), the second time is 0, and the like, and as a result, the samples corresponding to the previously described の in FIG. 14 are controlled so as to be sequentially read. Since the compression system, the number of samples to be read out, and the least significant bit of the address have been obtained in step 1003, the process B control unit 515 can sequentially create and output the OFS. The adder 504 has an ARAM (AD
I) Calculate and output + OFS. The addition result UD is output after two clocks, and is used in the next process 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 processing number 2, data UD ↓ 1 obtained by shifting down the addition result UD of processing number 1 by 1 bit by shifter 505 is input to selector 501, and selector 501 selects and outputs this data UD ↓ 1. The selector 502 selects and outputs the same UD ↓ 1 as the selector 501 when the waveform data is in the form of 16-bit samples, and outputs 0 when the waveform data is in the form of 8-bit samples. Adder 50
No. 4 adds these data and outputs an addition result two clocks later.

【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 form of 16-bit samples, the result is the same as when the addition result of process number 1 is passed without performing addition, and the waveform data becomes 8 bits.
In the case of the bit sample format, the addition result of the process number 1 is halved and output. Since the addresses of the samples are assigned in sample units, in the case of the 8-bit sample format, if the address is halved, the position of the waveform data of the 16-bit boundary including the sample is calculated. In the case of the 16-bit sample format, it appears that the least significant bit of the addition result of processing number 1 is discarded.
UD ↓ 1, which is input to 1,502, is data including one bit after the decimal point. Since the adder 504 performs addition including the one bit after the decimal point, the least significant bit is not discarded. This processing number 2 indicates that the waveform data address to be accessed has been calculated.

【0090】3.処理番号3では、セレクタ501はア
ドレス基準値WADと選択出力し、セレクタ502は処
理番号2の加算結果UDを選択出力する。加算器504
は、これらのデータを加算し、2クロック後に加算結果
MALATを出力する。処理番号2で求めたアドレスは
ループ部の先頭位置をアドレス0の基準としたアドレス
である。一方、実際には、波形データは波形メモリ20
8内の所定のアドレスに格納されている。そこで、波形
データのアドレス基準値WAD(当該波形データのルー
プ部先頭位置の波形メモリ208上でのアドレス)を加
算して、読み出しアドレスを波形メモリ208上のアド
レスに変換するものである。
3. In the processing number 3, the selector 501 selectively outputs the address reference value WAD, and the selector 502 selectively outputs the addition result UD of the processing number 2. Adder 504
Adds these data and outputs an addition result MALAT two clocks later. The address obtained by the processing number 2 is an address using the head position of the loop portion as a reference of the address 0. On the other hand, actually, the waveform data is stored in the waveform memory 20.
8 is stored at a predetermined address. Therefore, the read address is converted to an address on the waveform memory 208 by adding the address reference value WAD of the waveform data (the address of the beginning of the loop portion of the waveform data 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 part latch 508, whereby the waveform data at 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 is performed by the process B control unit 51
5 is performed. Hereinafter, the processing B control unit 51
Operation 5 will be described. FIG. 11 shows an address generator 102.
9 is a flowchart showing the operation of the process B control unit 515 when performing the above-described process B address sending operation. The operation in FIG. 11 is performed in parallel with the operation of the pre-processing in FIG. For example, when the address generator 102 is performing the process A for the first half to the fifteenth channel, the process B control unit 515 performs the operation of FIG. In parallel with this, the process B control unit 515 performs the address sending 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 indicating the control RAM 517 shown in FIG. 7 matches the value of the write pointer. The value of the write pointer refers to the value of the write pointer updated in the process of FIG. 10 executed immediately before. If the value of the read pointer is different from the value of the write pointer in step 1101, step 11
In step 023, the read pointer is incremented, and in step 1103, the channel number and the number of samples indicated 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 of the channel of the read channel number are received. These may be obtained in the same manner as in step 1003 of FIG. 10, but the values obtained in FIG. Step 110
Reference numeral 5 indicates that the address sending processing to be performed in the next step 1106 is the first access, although no particular processing is performed. Step 1106
Instructs each block of the address generator 102 to create a read address for the first access. Thus, the operations of the process numbers 1 to 3 of the process B described above are executed, and the address is sent out at the first access.

【0095】さらに、ステップ1107で当該チャンネ
ルのアクセス回数が完了したか否か判定する。アクセス
回数が完了していないときは、ステップ1108を経て
(ステップ1108は特に何かの処理を行なうものでは
ないが、ステップ1106で次のアクセスを行なうこと
を示す)、ステップ1106で次のアドレス送り出しを
行なう。ステップ1107で当該チャンネルのアクセス
回数が完了したなら、ステップ1101に戻る。
Further, in step 1107, it is determined whether or not the number of accesses to the channel has been completed. If the number of accesses has not been completed, the process proceeds to step 1108 (step 1108 does not perform any processing, but indicates that the next access will be performed in step 1106). Perform When the number of times of access to 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 matches the value of the write pointer in step 1101, it means that there is no more address to be sent to the waveform memory 208, and the flow advances to step 1109. Step 1
At 109, it is determined whether or not there is an extra access time.
If there is extra access time, refreshing of the waveform memory 208 and access processing of the waveform memory 208 from the CPU 204 are executed in step 1110 using the empty time slot, and the process returns to step 1109. When the extra access time runs out, 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
3 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 configuration of the sample RAM 1205. The sample RAM 1205 includes 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, writing is performed at the position indicated by the pointer and the pointer is advanced by one. For example, if 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 described as “1D” and “2D” are terminals for reading the sample one before and two 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. The waveform data read from the waveform memory 208 based on the address sent out in the process B is input to the selector 1201 and the delay circuit 1203. The size of this waveform data is 16 bits, and the format is 16 bits uncompressed, 8 bits.
Either bit uncompression or 8-bit compression. If the data is 8-bit compressed or uncompressed data,
Since only one of the input upper 8 bits and lower 8 bits of the 16 bits is a desired sample, the selector 1
At 201, a desired sample of either the upper 8 bits or the lower 8 bits is selected.

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

【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 an adder 1202. Further, the adder 1202 includes the sample RA.
The samples one and two before the current pointer position are read from M1205, and the multipliers 1207 and 1208 input the multiplication results obtained by multiplying them by the expansion coefficient from the expansion coefficient generator 1206, respectively. The adder 1202 is connected to the selector 1
Current sample from 201 and multipliers 1207,12
08 is added, and the addition result is added 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 generation 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 an expansion coefficient, and an 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 a predetermined time delay by the delay circuit 1203. The delay is performed by the delay circuit 1203 because the 8-bit sample is input to the selector 1204 via the adder 1202, so that the timing is adjusted.

【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 a 16-bit sample, based on the selection control signal from the control unit D 1209,
In the case of a bit sample, the sample from the adder 1202 is selectively output. The sample output from the selector 1204 is written into the sample RAM 1209 at the position indicated by the pointer of the channel, 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 decoding in FIG. 3, the above operation is performed for the 0th to 15th channels, thereby
A sample is set in the sample storage area of the 0th to 15th channels of the AM 1205. The same applies to the 16th to 31st channels in the latter half. Basically, since four-point interpolation is performed, four samples (including samples already stored) are prepared in the sample RAM 1205 for each channel. However, the number of channels for which the interpolation order is reduced from four to two due to the reduction in the number of accesses to the waveform memory is two samples.

【0105】次に、図1の補間器103について詳しく
説明する。図12において、補間器103は、乗算器1
210、補間係数発生部1211、補間用累算器121
2、および制御部I1213を備えている。
Next, the interpolator 103 shown in FIG. 1 will be described in detail. In FIG. 12, an interpolator 103 includes a multiplier 1
210, interpolation coefficient generation unit 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 second half in accordance with the time division channel timing. The control unit I1213 receives the control clock Φ, the channel count value CHC, and the interpolation order (output by the processing B control unit 515 corresponding to each channel), and performs processing in accordance with 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 synchronization with the input of the four samples, interpolation coefficients to be multiplied to each sample are sequentially input from the interpolation coefficient generation unit 1211 to the multiplier 1210. The interpolation coefficient generation unit 1211 generates and outputs an interpolation coefficient corresponding to each sample based on the address decimal part of the channel output from the address generator 102. This address decimal part corresponds to the address R of the address generator 102 in FIG.
This is output from the AM 511 via the interpolation decimal part latch 513. The multiplier 1210 multiplies each sample by the corresponding interpolation coefficient, and accumulates the multiplication result in the interpolation accumulator 1212. Thus, interpolated musical tone waveform data is generated and output. For channels whose interpolation order is reduced from four to two due to the reduction in the number of accesses to the waveform memory, two-point interpolation is performed using two samples instead of four 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 or not the accumulative number of accesses of the accumulator ACC does not exceed the maximum accessible number of 32. The number, the number of accesses, and the interpolation order are determined.
The maximum accessible number may be determined with priority given to performing other processing. For example, if it is known in advance that the waveform memory will be refreshed or accessed by the CPU, the number of accesses for such processing is secured in advance, and the remaining number is set as the maximum accessible number and the determination in step 1011 is performed. May be performed.

【0109】特に、波形メモリとしてDRAMを用いた
場合は、必ずリフレッシュが必要であるので、リフレッ
シュの分のアクセス回数は優先して確保するとよい。ま
た、CPUからの波形メモリの読み出し/書き込みは、
その緊急度に応じて対応するとよい。例えば、CPUか
らの波形メモリアクセスの緊急度が低いときは、音源チ
ャンネルで使用されなかった空きタイムスロットを用い
てアクセスを行なう。また、緊急度が高いときは、始め
にCPUからの波形メモリアクセスの分を確保し、残り
を音源チャンネルで使用する。
In particular, when a DRAM is used as a waveform memory, refreshing is always required, and therefore, the number of accesses for the refreshing should be preferentially secured. 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の
補間処理が始まるようにする必要がある(後半処理も同
様)。そのため、補間を行なう区間をずらす必要がある
(デコード前半処理が終了した後に補間前半処理を開始
し、デコード後半処理が終了した後に補間後半処理を開
始すれば十分)。
Further, in the above embodiment, as shown in FIG. 4, continuous waveform memory access is performed in the front slot of the first half and the second half in which the processing B and the decoding are performed. You may. For example, for the above-mentioned refresh or access from the CPU, the processing is performed in the front slot in the section, and continuous waveform memory access for each channel is performed in the rear slot. It may be. In this case, however, it is necessary to start the interpolation process 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. Processing is the same). Therefore, it is necessary to shift the section in which interpolation is performed (it suffices to start the first half of the interpolation process after the first half of the decode process is completed, and to start the second half of the interpolation process after the second half of the decode process is completed).

【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 half (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 processing may be performed in units of those sections. Instead of equal division, irregular sections may be divided (for example, 0th to 1st
4 channels and 15th to 31st channels).
Further, one sampling period may be used as a unit without dividing the section. However, before the address is sent in the process B and the waveform memory is accessed, the rewriting of the address RAM by the process A is not performed.
Need to guarantee. For this purpose, for example, when the sections are not divided, two sets of address RAMs are prepared and the processing A
It is necessary to employ a method of alternately using two sets of address RAMs for rewriting the address by the above and sending the address by the processing B. If one sampling cycle is divided into the first half and the second half, processing A and processing B can be performed alternately with one set of address RAM, so that the circuit configuration can be simplified and rationalized. .

【0112】[0112]

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

【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 to accumulate the number of times of access for a predetermined number of channels, and to make an access corresponding to the predetermined number of channels. Since it is determined whether access is possible for the accumulated number of times during the period,
In addition to the effects of the invention described above, it is possible to know beforehand whether necessary access to the predetermined number of channels is possible before starting the waveform memory access, and to cope with it. In particular, in the invention according to claim 8,
If the determination unit determines that the number of accesses is not possible, the number of accesses to any one of the predetermined number of channels is reduced (the order of interpolation is reduced). The case of reduction can be minimized.

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

【0115】請求項4に係る発明によれば、ループ部の
先頭付近に戻る場合でも適正な波形サンプルの再生が可
能である。請求項5または9に係る発明によれば、第1
アクセス手段によるアクセスの余り時間を利用して、第
2アクセス手段による他の処理(例えば、DRAM構成
の波形メモリのリフレッシュ処理やCPUによる波形メ
モリのアクセス)が可能である。
According to the fourth aspect of the present invention, it is possible to properly reproduce a waveform sample even when returning to the vicinity of the head of the loop portion. According to the invention according to claim 5 or 9, the first
Utilizing the extra time of the access by the access means, 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) is possible.

【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 by the time-division channel operation, the waveforms can be efficiently generated by the necessary amount for each channel. The memory can be accessed.

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

【図1】この発明に係る音源装置を適用した音源部のブ
ロック構成図
FIG. 1 is a block diagram of a sound source unit 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 tone generator of the embodiment is applied.

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

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

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

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

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

【図8】アドレス発生器におけるタイミングチャート図FIG. 8 is a timing chart of an 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 a process B control unit during process A;

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

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

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

【図14】本実施形態例におけるアクセス回数削減の具
体例を示す図
FIG. 14 is a diagram showing a specific example of access frequency reduction according to the 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 channels (ch)
Counter, 204 central processing unit (CPU), 207
Sound source unit, 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: decimal latch (FLAT), 511: address RAM, 51
2 ... integer part synthesizing part, 513 ... interpolation decimal part latch, 51
4 ... Control unit A, 515 ... Processing B control unit, 517 ... Control R
AM, 516: Accumulator (ACC).

Claims (9)

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

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5789993B2 (en) 2011-01-20 2015-10-07 ヤマハ株式会社 Music signal generator
JP6090204B2 (en) 2014-02-21 2017-03-08 ヤマハ株式会社 Acoustic signal generator

Also Published As

Publication number Publication date
JPH09146555A (en) 1997-06-06

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
US5138927A (en) Formant tone generating apparatus for an electronic musical instrument employing plural format tone generation
JP2882464B2 (en) Waveform memory sound generator
US5254805A (en) Electronic musical instrument capable of adding musical effect to musical tones
US5522010A (en) Pitch control apparatus for setting coefficients for cross-fading operation in accordance with intervals between write address and a number of read addresses in a sampling cycle
JPH07121181A (en) Sound information processor
JPH08160961A (en) Sound source device
JP2933205B2 (en) Waveform memory sound generator
JPH0310959B2 (en)
JP3000894B2 (en) Musical tone generation method
JP3137043B2 (en) Waveform memory tone generator and tone generator
JP3016470B2 (en) Sound source device
EP0947979B1 (en) Tone signal generator having a sound effect function
US5817964A (en) Electronic musical instrument and method for storing a plurality of waveform sampling data at a single address
JPS6352399B2 (en)
JP3104873B2 (en) Sound source device
JP3148803B2 (en) Sound source device
JP3094759B2 (en) Music signal distribution processor
JP3552265B2 (en) Sound source device and audio signal forming method
JP2003280650A (en) Modulated waveform generator
JPH0125079B2 (en)
JP2910632B2 (en) Waveform memory sound generator
JP2833485B2 (en) Tone generator

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