JPH09146551A - Waveform memory sound source device - Google Patents

Waveform memory sound source device

Info

Publication number
JPH09146551A
JPH09146551A JP7322225A JP32222595A JPH09146551A JP H09146551 A JPH09146551 A JP H09146551A JP 7322225 A JP7322225 A JP 7322225A JP 32222595 A JP32222595 A JP 32222595A JP H09146551 A JPH09146551 A JP H09146551A
Authority
JP
Japan
Prior art keywords
channel
waveform
access
address
sound source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7322225A
Other languages
Japanese (ja)
Other versions
JP2933205B2 (en
Inventor
Tetsuji Ichiki
哲二 市来
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP7322225A priority Critical patent/JP2933205B2/en
Publication of JPH09146551A publication Critical patent/JPH09146551A/en
Application granted granted Critical
Publication of JP2933205B2 publication Critical patent/JP2933205B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

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

Description

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

【0001】[0001]

【発明の属する技術分野】この発明は、ディジタル楽音
波形データを生成出力する音源装置に関し、詳しくは、
2つの音源で1つの波形メモリを共有することができる
ような波形メモリ読み出しタイプの音源装置に関する。
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 read type sound source device in which two sound sources can share one waveform memory.

【0002】[0002]

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

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

【0004】[0004]

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

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

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

【0007】[0007]

【課題を解決するための手段】本発明の請求項1に係る
発明は、所定サンプリング周期で複数チャンネル時分割
で動作することにより、該複数チャンネルの楽音を生成
する波形メモリ音源装置において、波形サンプルを記憶
した波形メモリであって、前記所定サンプリング周期内
の1チャンネル分の処理時間内に所定回数のアクセスが
可能なものと、各チャンネルのアドレスを記憶するため
のアドレス記憶手段と、各チャンネルの波形サンプルを
記憶するための波形サンプル記憶手段と、前記波形メモ
リの読み出しに先立って、各チャンネルのアドレスを作
成し、前記アドレス記憶手段に記憶させるアドレス作成
手段と、各チャンネルのアドレスの進み量に基づいて、
各チャンネルについての前記波形メモリのアクセス回数
を算出するアクセス回数算出手段と、所定数のチャンネ
ルについて、前記アクセス回数算出手段で算出したアク
セス回数を累算し、累算回数を出力する累算手段と、前
記所定数のチャンネルに対応したアクセス期間内に、前
記累算回数分のアクセスが可能かどうかを判定する判定
手段と、前記アクセス期間の時間幅を、通常の長さまた
は短縮した長さに切り換えるアクセス期間切り換え手段
と、前記判定手段が可能と判定した場合、前記アドレス
記憶手段に記憶された各チャンネルのアドレスに基づ
き、前記アクセス回数算出手段で算出した各チャンネル
のアクセス回数ずつ、前記アクセス期間内で前記波形メ
モリを連続的にアクセスし、読み出した各チャンネルの
波形サンプルを前記波形サンプル記憶手段に記憶する第
1アクセス手段と、前記アクセス期間切り換え手段によ
り前記アクセス期間を短縮したことによって生じた空き
時間に、前記波形メモリをアクセスする第2アクセス手
段と、前記波形サンプル記憶手段に記憶された各チャン
ネルの波形サンプルに基づき、各チャンネルのサンプリ
ング周期ごとの楽音を生成する楽音生成手段とを備えた
ことを特徴とする。
The invention according to claim 1 of the present invention is a waveform memory sound source device for generating musical sounds of a plurality of channels by operating in a time-divisional manner in a plurality of channels at a predetermined sampling cycle. Of the waveform memory, which can be accessed a predetermined number of times within the processing time of one channel within the predetermined sampling period, address storage means for storing the address of each channel, and A waveform sample storage means for storing a waveform sample, an address creating means for creating an address of each channel prior to reading the waveform memory, and storing the address in the address storage means, and an advance amount of the address of each channel. On the basis of,
Access number calculating means for calculating the number of times the waveform memory is accessed for each channel; and accumulating means for accumulating the access numbers calculated by the access number calculating means for a predetermined number of channels and outputting the accumulated number. Determination means for determining whether or not access for the accumulated number of times is possible within an access period corresponding to the predetermined number of channels, and a time width of the access period is set to a normal length or a shortened length. When the access period switching means for switching and the determining means determine that it is possible, based on the address of each channel stored in the address storage means, the access period for each access frequency of each channel calculated by the access count calculating means The waveform memory of each channel that is read by continuously accessing the waveform memory in First access means for storing in the sample memory means, second access means for accessing the waveform memory during the free time generated by shortening the access period by the access period switching means, and the waveform sample storage means. And a musical tone generating means for generating a musical tone for each sampling period of each channel based on the waveform sample of each channel stored in the above.

【0008】請求項1における第2アクセス手段は、後
述する発明の実施の形態では波形メモリ音源になってい
るが、必ずしも波形メモリ音源である必要はない。例え
ば、新たな波形を波形メモリに書き込むサンプリング回
路、波形メモリに記憶された波形を編集加工するための
CPU、波形メモリに波形データを転送するDMAC
(ダイレクトメモリアクセス制御回路)、波形メモリが
DRAM構成であるときのリフレッシュなどでもよい。
The second access means in claim 1 is a waveform memory sound source in the embodiment of the invention described later, but it is not necessarily a waveform memory sound source. For example, a sampling circuit for writing a new waveform in the waveform memory, a CPU for editing and processing the waveform stored in the waveform memory, and a DMAC for transferring the waveform data to the waveform memory.
(Direct memory access control circuit), refreshing when the waveform memory has a DRAM configuration, or the like may be used.

【0009】請求項2に記載の発明は、所定サンプリン
グ周期で複数チャンネル時分割で動作することにより、
該複数チャンネルの楽音を生成する波形メモリ音源装置
であって、波形サンプルを記憶し前記所定サンプリング
周期内の1チャンネル分の処理時間内に所定回数のアク
セスが可能な波形メモリを接続したものにおいて、各チ
ャンネルのアドレスを記憶するためのアドレス記憶手段
と、各チャンネルの波形サンプルを記憶するための波形
サンプル記憶手段と、前記波形メモリの読み出しに先立
って、各チャンネルのアドレスを作成し、前記アドレス
記憶手段に記憶させるアドレス作成手段と、各チャンネ
ルのアドレスの進み量に基づいて、各チャンネルについ
ての前記波形メモリのアクセス回数を算出するアクセス
回数算出手段と、所定数のチャンネルについて、前記ア
クセス回数算出手段で算出したアクセス回数を累算し、
累算回数を出力する累算手段と、前記所定数のチャンネ
ルに対応して設定されるアクセス期間の時間幅を、前記
所定数のチャンネルについて時分割チャンネルタイミン
グで処理する場合の時間幅と同じ時間幅とするか、また
はそれより短縮した時間幅とするかを、入力した指示信
号に基づいて決定するアクセス期間切り換え手段と、前
記アクセス期間内に、前記累算回数分のアクセスが可能
かどうかを判定する判定手段と、前記判定手段が可能と
判定した場合、前記アドレス記憶手段に記憶された各チ
ャンネルのアドレスに基づき、前記アクセス回数算出手
段で算出した各チャンネルのアクセス回数ずつ、前記ア
クセス期間内で前記波形メモリを連続的にアクセスし、
読み出した各チャンネルの波形サンプルを前記波形サン
プル記憶手段に記憶する第1アクセス手段と、前記波形
サンプル記憶手段に記憶された各チャンネルの波形サン
プルに基づき、各チャンネルのサンプリング周期ごとの
楽音を生成する楽音生成手段とを備えたことを特徴とす
る。
According to a second aspect of the present invention, by operating in a time-divisional manner for a plurality of channels at a predetermined sampling period,
In a waveform memory sound source device for generating musical tones of a plurality of channels, wherein a waveform memory is connected and a waveform memory which can be accessed a predetermined number of times within a processing time of one channel within the predetermined sampling period is connected, An address storage unit for storing the address of each channel, a waveform sample storage unit for storing the waveform sample of each channel, an address of each channel is created prior to reading the waveform memory, and the address storage unit stores the address. Means for storing in the means, an access number calculating means for calculating the number of times of accessing the waveform memory for each channel based on the amount of advance of the address of each channel, and an access number calculating means for a predetermined number of channels. Accumulate the number of accesses calculated in
The accumulating means for outputting the number of times of accumulation and the time width of the access period set corresponding to the predetermined number of channels are the same as the time width when the time division channel timing is processed for the predetermined number of channels. A width, or a time width shorter than that, based on the input instruction signal, and an access period switching means, and whether or not access for the accumulated number of times is possible within the access period. When the determination means and the determination means determine that it is possible, the access count of each channel calculated by the access count calculation means is calculated based on the address of each channel stored in the address storage means within the access period. To access the waveform memory continuously,
Based on the first access means for storing the read-out waveform sample of each channel in the waveform sample storage means and the waveform sample of each channel stored in the waveform sample storage means, a musical sound for each sampling period of each channel is generated. And a musical sound generating means.

【0010】請求項3に記載の発明は、請求項2のもの
において、さらに第1のモードで動作するか、第2のモ
ードで動作するかを指定するモード指定信号を入力し、
第1のモードが指定された波形メモリ音源では、前記ア
クセス期間切り換え手段により前記アクセス期間を短縮
した時間幅とするとともに、第2のモードが指定された
別の波形メモリ音源装置に向けて同期信号を出力し、第
2のモードが指定された波形メモリ音源では、前記アク
セス期間切り換え手段により前記アクセス期間を短縮し
た時間幅とするとともに、前記第1のモードが指定され
た波形メモリ音源から出力される同期信号を入力して、
前記第1のモードが指定された波形メモリ音源における
前記アクセス期間以外の区間に、前記第2のモードが指
定された波形メモリ音源における前記アクセス期間が配
置されるように処理タイミングを調整するようにしたも
のである。
According to a third aspect of the present invention, in the second aspect, a mode designation signal for designating whether to operate in the first mode or the second mode is input,
In the waveform memory sound source in which the first mode is designated, the access period switching means sets the access period to a shortened time width, and a synchronization signal is sent to another waveform memory tone generator device in which the second mode is designated. In the waveform memory sound source in which the second mode is designated, the access period switching means shortens the access period, and the first mode is outputted from the designated waveform memory sound source. Input sync signal,
The processing timing is adjusted so that the access period in the waveform memory tone generator in which the second mode is designated is arranged in a section other than the access period in the waveform memory tone generator in which the first mode is designated. It was done.

【0011】請求項2、3に記載の発明は、後述する発
明の実施の形態における1チップの音源の構成に着目し
たものである。アクセス期間切り換え手段は、発明の実
施の形態で2チップ指示か1チップ指示かに応じて処理
Bを実行する区間の時間幅を変更している点を明らかに
したものである。また、第1のモードは発明の実施の形
態でマスター音源が指示されたことを示すモードであ
り、第1のモードはスレーブ音源が指示されたことを示
すモードである。
The invention described in claims 2 and 3 focuses on the configuration of a one-chip sound source in an embodiment of the invention described later. It is made clear that the access period switching means changes the time width of the section in which the process B is executed according to the 2-chip instruction or the 1-chip instruction in the embodiment of the invention. Further, the first mode is a mode indicating that the master sound source is instructed in the embodiment of the invention, and the first mode is a mode indicating that the slave sound source is instructed.

【0012】請求項4に記載の発明は、所定サンプリン
グ周期で複数チャンネル時分割で動作することにより、
該複数チャンネルの楽音を生成する波形メモリ音源装置
において、複数チャンネルの楽音生成を行なう第1音源
と、別の複数チャンネルの楽音生成を行なう第2音源
と、前記第1音源からの楽音と前記第2音源からの楽音
とを混合して出力する混合手段と、波形サンプルを記憶
した波形メモリであって前記所定サンプリング周期内の
1チャンネル分の処理時間内に所定回数のアクセスが可
能な波形メモリとを備え、前記第1音源は、各チャンネ
ルのアドレスを記憶するための第1アドレス記憶手段
と、各チャンネルの波形サンプルを記憶するための第1
波形サンプル記憶手段と、前記波形メモリの読み出しに
先立って、各チャンネルのアドレスを作成し、前記第1
アドレス記憶手段に記憶させる第1アドレス作成手段
と、各チャンネルのアドレスの進み量に基づいて、各チ
ャンネルについての前記波形メモリのアクセス回数を算
出する第1アクセス回数算出手段と、前記第1アドレス
記憶手段に記憶された各チャンネルのアドレスに基づ
き、前記第1アクセス回数算出手段で算出された各チャ
ンネルのアクセス回数ずつ、前記波形メモリを連続的に
アクセスし、読み出した各チャンネルの波形サンプルを
前記第1波形サンプル記憶手段に記憶する第1アクセス
手段と、前記第1波形サンプル記憶手段に記憶された各
チャンネルの波形サンプルに基づき、各チャンネルのサ
ンプリング周期ごとの楽音を生成する楽音生成手段とを
備え、前記第2音源は、各チャンネルのアドレスを記憶
するための第2アドレス記憶手段と、各チャンネルの波
形サンプルを記憶するための第2波形サンプル記憶手段
と、前記波形メモリの読み出しに先立って、各チャンネ
ルのアドレスを作成し、前記第2アドレス記憶手段に記
憶させる第2アドレス作成手段と、各チャンネルのアド
レスの進み量に基づいて、各チャンネルについての前記
波形メモリのアクセス回数を算出する第2アクセス回数
算出手段と、前記第2アドレス記憶手段に記憶された各
チャンネルのアドレスに基づき、前記第2アクセス回数
算出手段で算出された各チャンネルのアクセス回数ず
つ、前記波形メモリを連続的にアクセスし、読み出した
各チャンネルの波形サンプルを前記第2波形サンプル記
憶手段に記憶する第2アクセス手段と、前記第2波形サ
ンプル記憶手段に記憶された各チャンネルの波形サンプ
ルに基づき、各チャンネルのサンプリング周期ごとの楽
音を生成する楽音生成手段とを備え、前記第1音源の前
記第1アクセス手段による前記波形メモリのアクセスの
空き時間を利用して、前記第2音源の前記第2アクセス
手段による前記波形メモリのアクセスを行なうようにタ
イミング調整が為されていることを特徴とする。
According to the invention described in claim 4, by operating in a time-divisional manner for a plurality of channels at a predetermined sampling period,
In a waveform memory sound source device for generating musical tones of a plurality of channels, a first sound source for generating musical tones of a plurality of channels, a second sound source for generating musical tones of another plurality of channels, a musical sound from the first sound source and the Mixing means for mixing and outputting musical tones from two sound sources, and a waveform memory for storing waveform samples, the waveform memory being accessible a predetermined number of times within a processing time for one channel within the predetermined sampling period. The first sound source includes a first address storage unit for storing an address of each channel, and a first address storage unit for storing a waveform sample of each channel.
Prior to reading the waveform sample storage means and the waveform memory, the address of each channel is created, and the first
First address creating means for storing in the address storing means; first access number calculating means for calculating the number of times of accessing the waveform memory for each channel based on the advance amount of the address of each channel; and the first address storing On the basis of the address of each channel stored in the means, the waveform memory is continuously accessed by the number of access times of each channel calculated by the first access number calculating means, and the waveform sample of each channel read A first access means for storing in one waveform sample storage means, and a tone generation means for generating a tone for each sampling period of each channel based on the waveform sample of each channel stored in the first waveform sample storage means. The second sound source has a second address for storing the address of each channel. Storage means, second waveform sample storage means for storing the waveform sample of each channel, and an address for each channel is created prior to reading of the waveform memory and stored in the second address storage means Address creation means, second access count calculation means for calculating the access count of the waveform memory for each channel based on the advance amount of the address of each channel, and each of the channels stored in the second address storage means. Based on the address, the waveform memory is continuously accessed for each access count of each channel calculated by the second access count calculation means, and the read waveform samples of each channel are stored in the second waveform sample storage means. Second access means and each channel stored in the second waveform sample storage means A tone generating means for generating a tone for each sampling period of each channel based on a waveform sample, and utilizing the idle time of access of the waveform memory by the first accessing means of the first sound source, the second tone The timing is adjusted so that the waveform memory is accessed by the second access means of the sound source.

【0013】請求項4に記載の波形メモリ音源装置にお
いて、前記第1音源の第1アクセス手段は、前記所定サ
ンプリング周期をm個(mは2以上の整数)の区間に分
割した各区間ごとに、該区間において処理すべき複数チ
ャンネルについて該区間より短縮した時間幅の区間で前
記波形メモリの連続的なアクセスを行ない、前記第2音
源の第2アクセス手段は、前記所定サンプリング周期を
m個(mは2以上の整数)の区間に分割した各区間ごと
に、該区間において処理すべき複数チャンネルについて
該区間より短縮した時間幅の区間で前記波形メモリの連
続的なアクセスを行ない、前記第1音源の前記第1アク
セス手段による前記波形メモリのアクセスと前記第2音
源の前記第2アクセス手段による前記波形メモリのアク
セスとが交互に行なわれるようにタイミング調整が為さ
れているようにするとよい。サンプリング周期の分割
は、前半と後半の2つに等分割するのが望ましい。
In the waveform memory sound source device according to claim 4, the first access means of the first sound source divides the predetermined sampling period into m (m is an integer of 2 or more) intervals for each interval. , The plurality of channels to be processed in the section are continuously accessed in the waveform memory in a section having a time width shorter than that of the section, and the second access means of the second sound source sets the predetermined sampling cycle to m ( m is an integer greater than or equal to 2), the waveform memory is continuously accessed for each section divided into sections having a time width shorter than the section for a plurality of channels to be processed in the section. The waveform memory access by the first access means of the sound source and the waveform memory access by the second access means of the second sound source are alternately performed. It may be so that the timing adjustment has been made to divide. It is desirable that the sampling period be equally divided into the first half and the second half.

【0014】また、請求項4に記載の波形メモリ音源に
おいて、前記波形メモリの読み出しまたは書き込みの少
なくとも一方を行なう第3アクセス手段をさらに備え、
該第3アクセス手段は、前記第1アクセス手段による前
記波形メモリのアクセス後の余り時間を利用して、前記
波形メモリのアクセスを行なうようにしてもよい。第3
アクセス手段は、例えば、波形メモリがDRAM構成で
あるときのリフレッシュ、波形メモリに記憶された波形
を編集加工するためのCPUによるアクセス、新たな波
形を波形メモリに書き込むサンプリング回路からのアク
セス、あるいは波形メモリに波形データを転送するDM
ACからのアクセスなどを行なうものである。
The waveform memory tone generator according to claim 4, further comprising third access means for performing at least one of reading and writing of the waveform memory,
The third access means may access the waveform memory by utilizing the extra time after the access of the waveform memory by the first access means. Third
The access means is, for example, refresh when the waveform memory has a DRAM configuration, access by the CPU for editing and processing the waveform stored in the waveform memory, access from a sampling circuit for writing a new waveform in the waveform memory, or the waveform. DM for transferring waveform data to memory
Access from the AC is performed.

【0015】[0015]

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

【0016】図2(a)は、この発明の一実施形態例に
係る音源装置を適用した電子楽器の全体のブロック構成
を示す。図2(b)は、本形態例の音源部の概略構成を
示す。図1は、本形態例の音源部の詳細なブロック構成
を示す。図1および図2において、同一の番号は同一の
ものを示すものとする。
FIG. 2A shows an overall block configuration of an electronic musical instrument to which the sound source device according to the embodiment of the present invention is applied. FIG. 2B shows a schematic configuration of the sound source unit of this embodiment. FIG. 1 shows a detailed block configuration of the sound source unit of this embodiment. 1 and 2, the same numbers indicate the same things.

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

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

【0019】音源部207は、図2(b)に示すよう
に、マスター音源207M、スレーブ音源207S、お
よび混合器220からなる。マスター音源207Mおよ
びスレーブ音源207Sは同じ内部構成を持ち、1つの
波形メモリを共有する。すなわち、マスター音源207
Mおよびスレーブ音源207Sは、それぞれ、CPU2
04の指示に応じて、波形メモリ208から波形データ
を読み出し、補間、エンベロープ付与、チャンネル累
算、および効果付与などの加工を施して、楽音波形デー
タとして出力する。音源207M,207Sから出力さ
れた楽音波形データは、混合器220で混合され、DA
C210によりアナログ信号に変換され、サウンドシス
テム211により放音される。
As shown in FIG. 2B, the sound source section 207 comprises a master sound source 207M, a slave sound source 207S, and a mixer 220. The master sound source 207M and the slave sound source 207S have the same internal configuration and share one waveform memory. That is, the master sound source 207
M and the slave sound source 207S are respectively CPU2
In response to the instruction 04, the waveform data is read from the waveform memory 208, processed such as interpolation, envelope addition, channel accumulation, and effect addition, and output as tone waveform data. The musical tone waveform data output from the sound sources 207M and 207S are mixed by the mixer 220, and DA
It is converted into an analog signal by C210 and is emitted by the sound system 211.

【0020】波形メモリ208は、DRAM(ダイナミ
ックRAM)により構成されている。波形メモリ208
には、所定のレートでサンプリングされた波形サンプル
データが格納されている。1つの波形サンプルは16ビ
ット非圧縮形式であり、アドレスは波形サンプル単位に
付けられている。すなわち、1アクセスで1つの波形サ
ンプルが読み出せる。波形サンプルは、楽音の発音に先
立って外部記憶装置212から読み出して波形メモリ2
08に格納してもよいが、特にこの形態例の音源では、
複数チャンネル分の楽音発生の動作を行なう際に使用さ
れなかった空きタイムスロットを別の用途に用いること
ができるようになっているので、その空きタイムスロッ
トを用いて波形サンプルを外部記憶装置212から読み
出して波形メモリ208に格納してもよい。
The waveform memory 208 is composed of a DRAM (dynamic RAM). Waveform memory 208
Stores waveform sample data sampled at a predetermined rate. One waveform sample is in a 16-bit uncompressed format, and an address is assigned to each waveform sample. That is, one waveform sample can be read by one access. The waveform sample is read from the external storage device 212 prior to the pronunciation of the musical sound, and the waveform memory 2 is read.
08, but especially in the sound source of this embodiment,
Since it is possible to use an empty time slot that has not been used when performing the operation of generating musical tones of a plurality of channels for another purpose, the waveform sample is stored from the external storage device 212 using the empty time slot. It may be read and stored in the waveform memory 208.

【0021】次に、音源部207について詳しく説明す
る。図1において、音源部207内のマスター音源20
7Mは、制御レジスタ101、波形読み出し補間回路1
02、音量変化制御部105、チャンネル(ch)累算
器106、効果回路107、リフレッシュカウンタ10
8、CPUアクセス制御部109、セレクタ110、セ
レクタ111、システムクロック発生部112、および
チャンネル(ch)カウンタ113を備えている。
Next, the sound source unit 207 will be described in detail. In FIG. 1, the master sound source 20 in the sound source unit 207
7M is a control register 101, a waveform reading interpolation circuit 1
02, volume change control unit 105, channel (ch) accumulator 106, effect circuit 107, refresh counter 10
8, a CPU access control unit 109, a selector 110, a selector 111, a system clock generation unit 112, and a channel (ch) counter 113.

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

【0023】あるチャンネルにおける発音開始指示を受
けると、マスター音源207Mは楽音波形の発生の動作
を開始する。まず、波形読み出し補間回路102は、波
形メモリ208の読み出しアドレスを順次発生する。読
み出しアドレスは、指定された読み出し区間の先頭か
ら、指定された読み出しピッチを順次累算した値であ
る。特に、このマスター音源207Mでは、波形読み出
し補間回路102中に波形サンプルをバッファリングす
る波形バッファを備え、波形メモリ208からはチャン
ネルごとに必要な数の波形サンプル(波形データ)のみ
を読み出すようになっており、各チャンネルにおける波
形メモリアクセス回数は可変できるようになっている。
そこで、波形読み出し補間回路102は、各チャンネル
において必要なアクセス回数に応じた波形メモリのアド
レスを、時分割チャンネルタイミングとは異なるタイミ
ングで、順次連続して出力するようになっている。
Upon receiving a sound generation start instruction for a certain channel, the master sound source 207M starts the operation of generating a musical tone waveform. First, the waveform read interpolation circuit 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. Particularly, in this master sound source 207M, a waveform buffer for buffering waveform samples is provided in the waveform reading interpolation circuit 102, and only the required number of waveform samples (waveform data) is read from the waveform memory 208 for each channel. Therefore, the number of waveform memory accesses in each channel can be changed.
Therefore, the waveform read interpolation circuit 102 is designed to successively output the addresses of the waveform memory according to the number of times of access required for each channel, at a timing different from the time division channel timing.

【0024】波形読み出し補間回路102からのアドレ
ス出力が時分割チャンネルタイミングとは異なるタイミ
ングで行なわれることにより、空きタイムスロットが得
られる。リフレッシュカウンタ108およびCPUアク
セス制御部109は、この空きタイムスロットにおい
て、波形メモリ208のリフレッシュを行ない、あるい
はCPU204から波形メモリ208へのアクセスを行
なうためのものである。セレクタ110,111は、空
きタイムスロットにおいてリフレッシュカウンタ108
やCPUアクセス制御部109を波形メモリ208に接
続するように制御される。
An empty time slot is obtained by outputting the address from the waveform read interpolation circuit 102 at a timing different from the time division channel timing. The refresh counter 108 and the CPU access control unit 109 are for refreshing the waveform memory 208 or accessing the waveform memory 208 from the CPU 204 in this empty time slot. The selectors 110 and 111 have the refresh counter 108 in an empty time slot.
The CPU access control unit 109 is controlled to be connected to the waveform memory 208.

【0025】波形読み出し補間回路102で発生した読
み出しアドレスは、セレクタ110を介して波形メモリ
208に入力し、これにより波形サンプルが波形メモリ
208から読み出される。波形読み出し補間回路102
は、セレクタ111を介して波形サンプルを受け取り、
内部の波形バッファに記憶する。波形読み出し補間回路
102は、内部に補間回路を有し、その補間回路は、波
形バッファに記憶されている各チャンネルの波形サンプ
ルを読み出し、補間処理を行なう(基本的には6点補間
を行ない、各チャンネルのアクセス回数が不足し6点分
の波形データが確保できないときは4点あるいは2点補
間に補間次数を落とす)。
The read address generated by the waveform read interpolation circuit 102 is input to the waveform memory 208 via the selector 110, whereby the waveform sample is read from the waveform memory 208. Waveform readout interpolation circuit 102
Receives the waveform samples via selector 111,
Store in internal waveform buffer. The waveform read interpolation circuit 102 has an interpolation circuit therein, and the interpolation circuit reads the waveform sample of each channel stored in the waveform buffer and performs the interpolation process (basically performing 6-point interpolation, If the number of access times for each channel is insufficient and waveform data for 6 points cannot be secured, the interpolation order is reduced to 4-point or 2-point interpolation).

【0026】音量変化制御回路105は、各チャンネル
の楽音波形データにエンベロープを付与する。チャンネ
ル累算器106は、各チャンネルの楽音波形データをチ
ャンネル累算する。効果回路107は、チャンネル累算
した結果に各種のエフェクト(効果)を付与する。効果
付与された楽音波形データは、図2(b)の混合器22
0でスレーブ音源207Sからの楽音波形データと混合
される。混合器220からの楽音波形データは、DAC
210に入力してアナログ信号に変換され、サウンドシ
ステム211により放音される。
The volume change control circuit 105 adds an envelope to the tone waveform data of each channel. The channel accumulator 106 accumulates the tone waveform data of each channel. The effect circuit 107 adds various effects to the result of channel accumulation. The tone waveform data to which the effect is added is the mixer 22 shown in FIG.
At 0, the tone waveform data from the slave sound source 207S is mixed. The tone waveform data from the mixer 220 is DAC
It is input to 210, converted into an analog signal, and emitted by the sound system 211.

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

【0028】スレーブ音源207Sも上記マスター音源
207Mと全く同じ構成であり、マスター音源207M
と並行して同様に動作する。ただし、マスター音源20
7Mのシステムクロック112からの同期信号114が
スレーブ音源207Sに入力し、スレーブ音源207S
は、この同期信号にしたがいすべての処理を1/4サン
プリング周期分、マスター音源207Mより遅いタイミ
ングで実行するように制御する。このタイミングについ
ては後に詳述する。また、スレーブ音源207Sも時分
割32チャンネルで動作するが、マスター音源207M
が第0〜第31チャンネルの処理を行ない、スレーブ音
源207Sがそれと並行して第32〜第63チャンネル
の処理を行なう。音源部207全体として、64チャン
ネル分の楽音生成を行なうことができる。
The slave sound source 207S has exactly the same configuration as the master sound source 207M, and the master sound source 207M
It operates in parallel with. However, the master sound source 20
The synchronization signal 114 from the 7M system clock 112 is input to the slave sound source 207S, and the slave sound source 207S
Controls all processing according to this synchronization signal so as to be executed at a timing later than the master sound source 207M by a quarter sampling period. This timing will be described later in detail. The slave sound source 207S also operates on 32 channels in time division, but the master sound source 207M
Performs the processing of channels 0 to 31, and the slave sound source 207S performs the processing of channels 32 to 63 in parallel therewith. The tone generator 207 as a whole can generate musical tones for 64 channels.

【0029】図3は、マスター音源207M内の波形読
み出し補間回路102のブロック構成を示す。スレーブ
音源207S内の波形読み出し回路102も同じ構成で
ある。波形読み出し補間回路102は、処理A演算回路
301、アドレスRAM(ARAM)302、アキュム
レータ(ACC)303、制御RAM304、処理B演
算回路305、補間回路306、波形バッファ307、
および取り込み回路308を備えている。
FIG. 3 shows a block configuration of the waveform read interpolation circuit 102 in the master sound source 207M. The waveform reading circuit 102 in the slave sound source 207S has the same configuration. The waveform read interpolation circuit 102 includes a processing A arithmetic circuit 301, an address RAM (ARAM) 302, an accumulator (ACC) 303, a control RAM 304, a processing B arithmetic circuit 305, an interpolation circuit 306, a waveform buffer 307,
And a capture circuit 308.

【0030】波形読み出し補間回路102は、大きく
は、処理A、処理B、取り込み処理、および補間処理の
4つの処理を行なう。処理A演算回路301は、処理A
を実行する。処理Aは、時分割チャンネルタイミングに
したがって、主として各チャンネルのアドレスを作成す
る処理である。各チャンネルのアドレスは、ARAM3
02に保持される。処理B演算回路305は、処理Bを
実行する。処理Bは、時分割チャンネルタイミングとは
異なるタイミングで、アドレスWMAを波形メモリ20
8に向けて送り出す処理である。取り込み回路308
は、取り込み処理を行なう。取り込み処理は、処理Bに
より波形メモリ208に送り出されたアドレスにしたが
って読み出された波形サンプルを取り込み、各チャンネ
ル別に波形バッファ307に書き込む処理である。補間
回路306は、補間処理を行なう。補間処理は、時分割
チャンネルタイミングにしたがって、波形バッファ30
7から各チャンネルの波形サンプルを読み出し、補間を
行なって補間済みサンプルを生成出力する処理である。
これらの4つの処理については、後に詳述する。補間回
路306から出力された補間済みサンプルは、図1の音
量変化制御回路105に入力する。
The waveform read interpolation circuit 102 roughly performs four processes: process A, process B, fetching process, and interpolation process. The processing A arithmetic circuit 301
Execute The process A is a process of mainly creating the address of each channel according to the time division channel timing. The address of each channel is ARAM3
02 is held. The process B arithmetic circuit 305 executes the process B. In the process B, the address WMA is stored in the waveform memory 20 at a timing different from the time division channel timing.
This is a process for sending the data to the destination 8. Capture circuit 308
Performs import processing. The fetching process is a process of fetching the waveform sample read according to the address sent to the waveform memory 208 in the process B and writing the waveform sample in the waveform buffer 307 for each channel. The interpolation circuit 306 performs interpolation processing. The interpolation processing is performed by the waveform buffer 30 according to the time division channel timing.
In this process, the waveform samples of the respective channels are read from 7, and interpolation is performed to generate and output interpolated samples.
These four processes will be described in detail later. The interpolated sample output from the interpolation circuit 306 is input to the volume change control circuit 105 in FIG.

【0031】図4は、図3の制御RAM304の構成を
示す。詳しくは後述するが、処理Aでは、各チャンネル
のアドレス作成と並行して、各チャンネルについて読み
出すべき必要サンプル数を求めて制御RAM304に格
納する処理を行なう。そのため、制御RAM304は、
チャンネル番号とそのチャンネルにおいて読み出すべき
サンプル数を格納する領域が複数用意されて構成され
る。波形読み出し補間回路102内には書き込みポイン
タおよび読み出しポインタが備えられており、各チャン
ネルにおいて読み出すべき必要サンプル数を制御RAM
304に書き込むとき(処理A)は書き込みポインタを
すすめ、制御RAM304からチャンネル番号とサンプ
ル数を読み出して当該チャンネルに関する読み出しアド
レスを送出するとき(処理B)は読み出しポインタを進
める。制御RAM304は、リング状に使用するように
なっており、書き込みまたは読み出しポインタが制御R
AM304の一方の端に至った場合、その次のポインタ
の位置は制御RAM304の他方の端になる。また、読
み出しポインタの指す位置が書き込みポインタの指す位
置を追いかけるように書き込みおよび読み出しが行なわ
れるが、書き込みポインタが読み出しポインタを追い越
さない程度の領域の大きさが確保されているものとす
る。書き込みポインタおよび読み出しポインタは、アキ
ュムレータACCと同様に、それぞれ、前半処理用のも
のと後半処理用のものとが別々に設けられている。単
に、書き込みポインタおよび読み出しポインタと呼ぶと
きは、前半処理では前半処理用のもの、後半処理では後
半処理用のものを指すものとする。なお、図4のような
構成のほか、各チャンネルに1つずつアドレスを対応さ
せ、そこに必要サンプル数を書き込むようにしてもよ
い。
FIG. 4 shows the configuration of the control RAM 304 shown in FIG. As will be described later in detail, in the process A, in parallel with the creation of the address of each channel, a process of obtaining the required number of samples to be read for each channel and storing it in the control RAM 304 is performed. Therefore, the control RAM 304
A plurality of areas for storing the channel number and the number of samples to be read in that channel are prepared and configured. A write pointer and a read pointer are provided in the waveform read interpolation circuit 102 to control the number of required samples to be read in each channel.
When writing to 304 (process A), the write pointer is advanced, and when reading the channel number and the number of samples from the control RAM 304 and sending the read address for the channel (process B), the read pointer is advanced. The control RAM 304 is designed to be used in a ring shape, and the write or read pointer is controlled by the control R 304.
When the one end of the AM 304 is reached, the position of the next pointer becomes the other end of the control RAM 304. Further, writing and reading are performed so that the position pointed by the read pointer follows the position pointed by the write pointer, but it is assumed that the size of the area is ensured so that the write pointer does not overtake the read pointer. Similar to the accumulator ACC, the write pointer and the read pointer are provided separately for the first half processing and the second half processing. When simply referred to as the write pointer and the read pointer, the first half processing indicates the one for the first half processing, and the second half processing indicates the one for the second half processing. In addition to the configuration shown in FIG. 4, an address may correspond to each channel one by one, and the required number of samples may be written there.

【0032】図5は、図3のARAM302のメモリマ
ップを示す。ARAM302は、処理Aにおいて各チャ
ンネルのアドレスを作成するのに用いる領域である。A
RAM302は、32チャンネル分(マスター音源は第
0〜第31チャンネル、スレーブ音源は第32〜第63
チャンネル)の各チャンネルごとの領域からなり、これ
らの領域に各チャンネルの現在のアドレス値を記憶す
る。各チャンネルの領域はアドレス上位ADH、および
アドレス下位ADLからなる。ADHおよびADLの領
域の大きさはそれぞれ16ビットである。アドレス上位
ADHとアドレス下位ADLとを合わせた32ビットの
アドレス値は、アドレス整数部とアドレス小数部とに分
けられる。アドレス整数部は、波形メモリ208のアド
レスと対応している。すなわち、アドレス整数部の1つ
の値に対応して、波形メモリ208の波形サンプルが1
つ存在する。アドレス小数部は、それよりも細かい単位
を示し、何点かの波形サンプルを用いた補間処理で用い
る情報である。アドレス整数部は23ビット、アドレス
小数部は9ビットである。
FIG. 5 shows a memory map of the ARAM 302 shown in FIG. The ARAM 302 is an area used to create an address of each channel in the process A. A
The RAM 302 has 32 channels (channels 0 to 31 for the master sound source and channels 32 to 63 for the slave sound source).
Channel) for each channel, and the current address value of each channel is stored in these areas. The area of each channel is composed of an address upper ADH and an address lower ADL. The size of each of the ADH and ADL areas is 16 bits. A 32-bit address value that is a combination of the upper address ADH and the lower address ADL is divided into an address integer part and an address decimal part. The address integer part corresponds to the address of the waveform memory 208. That is, the waveform sample of the waveform memory 208 corresponds to 1 value corresponding to one value of the address integer part.
Exist. The address decimal part indicates a finer unit, and is information used in interpolation processing using some waveform samples. The address integer part has 23 bits, and the address decimal part has 9 bits.

【0033】図6は、図3の波形バッファ307の構成
を示す。波形バッファ307は、各チャンネルごとの6
つのサンプル格納領域からなる。6つのサンプル格納領
域はリング状に使用する。すなわち、各チャンネルごと
にポインタを設け、サンプルを書き込むときは、そのポ
インタで指す位置に書き込み、ポインタを1つ進める。
ポインタは、例えば図6の第iチャンネルなら、サンプ
ル1→2→3→4→5→6→1→2→…というように進
める。図6は、マスター音源207Mの波形読み出し補
間回路102の波形バッファであるので、第0〜第31
チャンネルのサンプル格納領域を図示してある。同様
に、スレーブ音源207Sの波形読み出し補間回路の波
形バッファは、第32〜第63チャンネルのサンプル格
納領域から構成される。
FIG. 6 shows the configuration of the waveform buffer 307 of FIG. The waveform buffer 307 has 6 channels for each channel.
It consists of one sample storage area. The six sample storage areas are used in a ring shape. That is, a pointer is provided for each channel, and when writing a sample, the sample is written at the position indicated by the pointer and the pointer is advanced by one.
For example, in the case of the i-th channel in FIG. 6, the pointer advances in the order of sample 1 → 2 → 3 → 4 → 5 → 6 → 1 → 2 → .... Since FIG. 6 shows the waveform buffer of the waveform reading interpolation circuit 102 of the master sound source 207M, the 0th to 31st
A sample storage area for a channel is shown. Similarly, the waveform buffer of the waveform readout interpolation circuit of the slave sound source 207S is composed of sample storage areas of the 32nd to 63rd channels.

【0034】次に、波形読み出し補間回路102で実行
する4つの処理について詳しく説明する。始めにこれら
の処理を実行するタイミングについて説明し、その後、
各処理の詳細を説明する。
Next, the four processes executed by the waveform read interpolation circuit 102 will be described in detail. First, we explain the timing of executing these processes, and then
Details of each process will be described.

【0035】図7は、マスター音源207Mおよびスレ
ーブ音源207Sのそれぞれの波形読み出し補間回路1
02で行なう処理A、処理B、取り込み処理、および補
間処理の処理タイミングを示す。マスター音源207M
における各処理の区間は、前半と後半に分けられてお
り、前半で第0〜第15チャンネルの処理を行ない、後
半で第16〜第31チャンネルの処理を行なうようにな
っている。同様に、スレーブ音源207Sにおける各処
理の区間は、前半と後半に分けられており、前半で第3
2〜第47チャンネルの処理を行ない、後半で第48〜
第63チャンネルの処理を行なうようになっている。ま
た、スレーブ音源207Sの処理タイミングは、マスタ
ー音源207Mの処理タイミングに比べて1/4サンプ
リング周期だけ遅れている。
FIG. 7 shows the waveform read interpolation circuit 1 for each of the master sound source 207M and the slave sound source 207S.
The processing timings of processing A, processing B, capture processing, and interpolation processing performed in 02 are shown. Master sound source 207M
Each processing section is divided into the first half and the latter half, and the first half performs the processing of channels 0 to 15, and the latter half performs the processing of channels 16 to 31. Similarly, the interval of each process in the slave sound source 207S is divided into the first half and the second half, and the third half is divided in the first half.
2 to 47 channels are processed, and in the latter half, the 48th to
The 63rd channel is processed. Further, the processing timing of the slave sound source 207S is delayed by 1/4 sampling cycle as compared with the processing timing of the master sound source 207M.

【0036】マスター音源の第0〜第15チャンネルの
処理Bを行なう処理B前半区間702は、当該チャンネ
ルの処理Aを行なう処理A前半区間701が終了した直
後から開始される。また、マスター音源の第16〜第3
1チャンネルの処理Bを行なう処理B後半区間706
は、当該チャンネルの処理Aを行なう処理A後半区間7
05が終了した直後から開始される。スレーブ音源の処
理Bの前半および後半の区間712,716と処理Aの
前半および後半の区間711,715とのタイミングの
関係も同様である。処理B前半および後半の区間70
2,706,712,716は、何れも1サンプリング
周期の1/4の時間幅を持つ。したがって、処理Bにつ
いては、マスター音源の第0〜第15チャンネルの処理
B前半処理→スレーブ音源の第32〜第47チャンネル
の処理B前半処理→マスター音源の第16〜第31チャ
ンネルの処理B後半処理→スレーブ音源の第48〜第6
3チャンネルの処理B後半処理→…の順で、マスター音
源とスレーブ音源の処理Bが交互に実行されることにな
る。
The process B first half section 702 for performing the process B of the 0th to 15th channels of the master sound source is started immediately after the end of the process A first half section 701 for performing the process A of the channel. The 16th to 3rd master sound sources
Processing B second half section 706 for performing processing B of one channel
Is the latter half section 7 of the process A for performing the process A of the channel.
It will start immediately after the end of 05. The timing relationship between the first half and second half sections 712 and 716 of the slave sound source process B and the first half and second half sections 711 and 715 of the process A is the same. Processing B first half and second half section 70
2, 706, 712 and 716 each have a time width of 1/4 of one sampling cycle. Therefore, as for the process B, the first half process B process of the 0th to 15th channels of the master sound source → the first half process B process of the 32nd to 47th channels of the slave sound source → the second half process B of the 16th to 31st channels of the master sound source Process → Slave sound source 48th to 6th
Process B of the third channel, process B of the second half, and ... Process B of the master sound source and the slave sound source are alternately executed in this order.

【0037】取り込み処理は、処理Bのアドレス送り出
しのタイミングにしたがって行なわれるから、取り込み
処理についても同様に、マスター音源の第0〜第15チ
ャンネルの取り込み前半処理→スレーブ音源の第32〜
第47チャンネルの取り込み前半処理→マスター音源の
第16〜第31チャンネルの取り込み後半処理→スレー
ブ音源の第48〜第63チャンネルの取り込み後半処理
→…の順で、マスター音源とスレーブ音源の取り込み処
理が交互に実行される。
Since the fetching process is performed in accordance with the address sending timing of the process B, the fetching process is similarly performed in the first half of the fetching of the master tone generator on the 0th to 15th channels → the 32nd of the slave tone generators.
The first half of the process of capturing the 47th channel → the latter half of the process of capturing the 16th to 31st channels of the master sound source → the latter half of the capturing of the 48th to 63rd channels of the slave sound source → ... in this order It is executed alternately.

【0038】図8は、図7のマスター音源207Mの各
前半処理中のチャンネルの様子を示す。図8の「処理A
前半ch」は、図7の処理A前半処理を行なう区間70
1におけるチャンネルの様子を示す。図8の「処理B前
半ch」は、図7の処理B前半処理を行なう区間702
におけるチャンネルの様子を示す。図8の「取り込み前
半ch」は、図7の取り込み前半処理を行なう区間70
3におけるチャンネルの様子を示す。図8の「補間前半
ch」は、図7の補間前半処理を行なう区間704にお
けるチャンネルの様子を示す。図8はマスター音源20
7Mの前半処理におけるチャンネルの様子を示している
が、マスター音源207Mの後半処理、スレーブ音源2
07Sの前半および後半処理についても同様である。な
お、図8では各チャンネルタイミングを縦に並べて揃え
て記載しているが、実際には各処理のタイミングは図7
に示すようにずれている。
FIG. 8 shows the state of the channel during the first half processing of the master sound source 207M of FIG. “Processing A” in FIG.
The first half ch ”is a section 70 in which the first half processing of the process A in FIG.
The state of the channel in 1 is shown. The “process B first half channel” of FIG. 8 is a section 702 in which the process B first half process of FIG. 7 is performed.
Shows the state of the channel in. The “first half channel for fetching” in FIG. 8 is a section 70 in which the first half channel for fetching in FIG. 7 is performed.
The state of the channel in 3 is shown. “First half channel of interpolation” in FIG. 8 shows the state of the channel in the section 704 in which the first half process of interpolation in FIG. 7 is performed. FIG. 8 shows the master sound source 20.
The channel state in the first half processing of 7M is shown, but the second half processing of the master sound source 207M, slave sound source 2
The same applies to the first half and second half of 07S. Note that, in FIG. 8, the timings of the respective channels are vertically aligned and aligned, but in reality, the timing of each process is shown in FIG.
It is misaligned as shown in.

【0039】図7および図8から分かるように、処理A
および補間処理は、1サンプリング周期を等分割した時
分割チャンネルタイミングにしたがって、順番にチャン
ネルごとの処理が行なわれる。一方、処理Bおよび取り
込み処理は、時分割チャンネルタイミングとは独立した
タイミングで行なわれる。具体的には、処理Bおよび取
り込み処理は、時分割チャンネルタイミングで1チャン
ネル分の処理を行なう時間幅で4アクセス分の処理Bお
よび取り込み処理ができるようになっている。さらに、
処理Bおよび取り込み処理は、時分割チャンネルタイミ
ングとは無関係に、アクセスが必要なチャンネルについ
て前詰めで連続して処理するようになっている。
As can be seen from FIG. 7 and FIG.
The interpolation processing is performed for each channel in order according to the time division channel timing obtained by equally dividing one sampling period. On the other hand, the process B and the fetching process are performed at a timing independent of the time division channel timing. Specifically, the process B and the fetching process can perform the process B and the fetching process for four accesses in a time width of performing the process for one channel at the time division channel timing. further,
The process B and the fetching process are designed so that the channels that need to be accessed are continuously processed in a left-justified manner regardless of the time division channel timing.

【0040】例えば、図7および図8において、処理A
前半の区間701では、処理A演算回路301により、
第0〜第15チャンネルについて時分割チャンネルタイ
ミングにしたがって順番に各チャンネルのアドレスを作
成している。この区間701の終了時点では、第0〜第
15チャンネルに関するアドレスがARAM302に設
定済みである。
For example, in FIG. 7 and FIG.
In the first half section 701, the processing A arithmetic circuit 301
Addresses of the respective channels are created in order according to the time division channel timing for the 0th to 15th channels. At the end of this section 701, addresses related to channels 0 to 15 have already been set in the ARAM 302.

【0041】次に、処理B前半の区間702では、処理
B演算回路305により、時分割チャンネルタイミング
とは異なるタイミング(図8)で、第0チャンネルのア
ドレスを1つ、第2チャンネルのアドレスを3つ、第5
チャンネルのアドレスを1つ、…というように、第0〜
第15チャンネルのアドレスの送り出しを行なってい
る。1アドレス送り出しを行なう区間の時間幅は、時分
割チャンネルタイミングで1チャンネル分の処理を行な
う区間の時間幅の1/4である。各チャンネルで送り出
すアドレスの個数が区々であるのは、波形バッファ30
7に過去の波形サンプルが保持されており各チャンネル
ごとに必要な個数の波形サンプルのみ読み出せば充分な
ため、あるいは発音する必要がなくアドレスの送り出し
が不要なチャンネルがあるためである。
Next, in the first half 702 of the process B, the process B arithmetic circuit 305 sets one address of the 0th channel and the address of the second channel at a timing different from the time division channel timing (FIG. 8). Three, fifth
0 to 0 for one channel address, etc.
The 15th channel address is being sent out. The time width of the section for sending out one address is ¼ of the time width of the section for processing one channel at the time division channel timing. The number of addresses sent on each channel is different because the waveform buffer 30
This is because the past waveform samples are held in 7 and it is sufficient to read only the required number of waveform samples for each channel, or there is a channel that does not need to sound and does not need to send out an address.

【0042】ここ(図8)では、それぞれ、第0チャン
ネルは1サンプル、第2チャンネルは3サンプル、第5
チャンネルは1サンプル、第7チャンネルは2サンプル
の波形メモリからの読み出しが必要な場合を示してい
る。その他のチャンネルは、発音していないか、既に読
み出して波形バッファ307に記憶されたサンプルのみ
で楽音が生成できるチャンネルである。なお、発音して
いないチャンネルとは、EG等、音量レベルの下げられ
たチャンネルであり、そのチャンネルに関しては処理B
における波形メモリのアクセスタイミングを使用しない
ように、制御がなされている。
Here (FIG. 8), the 0th channel has 1 sample, the 2nd channel has 3 samples, and the 5th channel has 5 samples.
Channel 1 shows the case where it is necessary to read from the waveform memory of 1 sample and channel 7 shows the case where it is necessary to read from the waveform memory. The other channels are channels that are not sounding or that can generate musical tones only with the samples that have already been read and stored in the waveform buffer 307. Note that a channel that is not sounding is a channel whose volume level has been lowered, such as EG.
The control is performed so as not to use the access timing of the waveform memory in.

【0043】取り込み前半の区間703では、処理B前
半の区間702のアドレス送り出しのタイミングにした
がって、波形メモリ208から読み出された波形サンプ
ルを取り込み回路308により取り込む。取り込んだ波
形サンプルは波形バッファ307に書き込む。
In the first half section 703 of the acquisition, the acquisition circuit 308 acquires the waveform sample read from the waveform memory 208 in accordance with the address sending timing of the first section 702 of the process B. The fetched waveform sample is written in the waveform buffer 307.

【0044】補間前半の区間704では、時分割チャン
ネルタイミングにしたがって、補間回路306によりサ
ンプルRAMのデータを用いて第0〜第15チャンネル
に関する補間処理を行なう。あるチャンネルについて補
間を行なう時点で、補間を行なうために必要な当該チャ
ンネルの波形サンプルはサンプルRAMに用意されてい
るようになっている。
In the first half section 704 of the interpolation, the interpolation circuit 306 performs the interpolation processing on the 0th to 15th channels by using the data of the sample RAM by the time division channel timing. At the time of performing interpolation for a certain channel, the waveform sample of the channel required for performing the interpolation is prepared in the sample RAM.

【0045】以上のようにして、第0〜第15チャンネ
ルの楽音波形データが生成される。後半の区間を用いて
処理される第16〜第31チャンネルについても同様で
ある。また、スレーブ音源の前半および後半における処
理タイミングも同様である。特に、マスター音源とスレ
ーブ音源で波形メモリ208を共有するため、処理B
(波形メモリへのアドレスの送り出し)と取り込み処理
(波形メモリからの波形サンプルの取り込み)は、図7
のようにマスター音源とスレーブ音源とで交互に行なう
ようにタイミングが調整されている。
As described above, the musical tone waveform data of the 0th to 15th channels are generated. The same applies to the 16th to 31st channels processed using the latter half section. The same applies to the processing timing in the first half and the second half of the slave sound source. Particularly, since the waveform memory 208 is shared by the master sound source and the slave sound source, the process B
(Address sending to waveform memory) and acquisition processing (acquisition of waveform sample from waveform memory) are shown in FIG.
The timing is adjusted so that the master sound source and the slave sound source are alternately performed as shown in.

【0046】処理B演算回路305における処理Bおよ
び取り込み処理が時分割チャンネルタイミングとは異な
るタイミングで行なわれることにより、空きタイムスロ
ットが出現する。図8の区間702,703中、「−c
h」は何れのチャンネルのサンプル読み出しにも使用さ
れていない空きタイムスロットを示す。この空きタイム
スロットの区間は、任意に使用可能である。本形態例で
は、この空きタイムスロットの区間で、図1のリフレッ
シュカウンタ108による波形メモリ208のリフレッ
シュ処理、またはCPUアクセス制御部109による波
形メモリ208へのアクセス処理を行なうようになって
いる。
The process B and the fetch process in the process B arithmetic circuit 305 are performed at a timing different from the time division channel timing, so that an empty time slot appears. In the sections 702 and 703 of FIG. 8, “-c
"h" indicates an empty time slot that is not used for sample reading of any channel. This empty time slot section can be used arbitrarily. In the present embodiment, the refresh counter 108 of FIG. 1 refreshes the waveform memory 208 or the CPU access control unit 109 accesses the waveform memory 208 during the empty time slot.

【0047】次に、図3の波形読み出し補間回路102
による4つの処理について、以下の(1)〜(4)で詳
細に説明する。
Next, the waveform read interpolation circuit 102 of FIG.
The four processes according to will be described in detail in (1) to (4) below.

【0048】(1)処理A演算回路301で実行する処
理Aについて詳しく説明する。あるチャンネルで楽音の
発音開始が指示されると、当該チャンネルに関する処理
Aが処理A演算回路301で実行開始される。処理A
は、図7,8で説明したように時分割チャンネルタイミ
ングで実行される。まず、1番始めの当該チャンネルの
タイムスロット(ノートオン立上がり直後)で、処理A
演算回路301は、当該チャンネルに対応するARAM
302(図5)のアドレス格納領域(ADHとADL)
を初期化する。初期値は、読み出すべき波形データの先
頭アドレスであり、CPU204が制御レジスタ101
を介して指定する。次回以降の当該チャンネルのタイム
スロットで、処理A演算回路301は、当該チャンネル
に対応するARAM302のアドレス格納領域の現アド
レス値に、当該チャンネルにおけるアドレスの進み値
(周波数ナンバ)であるピッチPITCHを加算する。
加算結果は、元のARAM302のアドレス格納領域に
格納される。ピッチPITCHは、CPU204が制御
レジスタ101を介して指定する。
(1) Process A Process A executed by the arithmetic circuit 301 will be described in detail. When an instruction to start the generation of a musical sound is given to a certain channel, the processing A arithmetic circuit 301 starts execution of processing A relating to that channel. Processing A
Is executed at time division channel timing as described in FIGS. First, in the first time slot of the relevant channel (immediately after the rise of note-on), the processing A
The arithmetic circuit 301 is an ARAM corresponding to the channel.
Address storage area of 302 (FIG. 5) (ADH and ADL)
Is initialized. The initial value is the start address of the waveform data to be read, and the CPU 204 controls the control register 101.
Specify via. In subsequent time slots of the channel, the processing A arithmetic circuit 301 adds the pitch PITCH, which is the advance value (frequency number) of the address of the channel, to the current address value of the address storage area of the ARAM 302 corresponding to the channel. To do.
The addition result is stored in the address storage area of the original ARAM 302. The pitch PITCH is designated by the CPU 204 via the control register 101.

【0049】この加算は、具体的には、当該チャンネル
の現アドレス値のアドレス小数部にピッチPITCHを
加算し、加算結果のうちアドレス小数部のビット数より
上位に溢れた値を現アドレス値のアドレス整数部に加算
することにより行なう。この溢れ値は、新たに読み出す
べき波形サンプルの数になっている。波形読み出し補間
回路102では波形バッファ307にそれまでに読み出
した波形サンプルが保持されており、上記溢れ値が波形
メモリ上での読み出しアドレスの進み量になっているか
らである。
In this addition, specifically, the pitch PITCH is added to the address fraction part of the current address value of the channel, and the value overflowing higher than the number of bits of the address fraction part of the addition result is added to the current address value. This is done by adding to the integer part of the address. This overflow value is the number of waveform samples to be newly read. This is because the waveform read interpolation circuit 102 holds the waveform samples read up to that time in the waveform buffer 307, and the overflow value is the advance amount of the read address on the waveform memory.

【0050】先述した図8は、溢れ値が、第0チャンネ
ルで1、第2チャンネルで3、第5チャンネルで1、第
7チャンネルで2の場合である。なお、その他のチャン
ネルは、発音していない、または、溢れ値が0のチャン
ネルである。
FIG. 8 described above shows a case where the overflow value is 1 for the 0th channel, 3 for the 2nd channel, 1 for the 5th channel, and 2 for the 7th channel. The other channels are channels that are not sounding or have an overflow value of 0.

【0051】なお、波形メモリ208上の波形データは
アタック部とそれに引き続くループ部とから構成され、
波形サンプルのアクセスはアタック部の先頭から開始さ
れ、アタック部の読み出しが終わるとループ部に入る。
以後は必要に応じてループ部の波形サンプルを繰り返し
読み出す。そのため、現アドレス値がループ部最終位置
に至ったときは、ループ部の先頭付近に戻す必要があ
る。処理A演算回路301は、上述のアドレスを作成す
る処理中で、このようなアドレスをループ部先頭付近に
戻す処理も行なっている。
The waveform data on the waveform memory 208 is composed of an attack section and a loop section that follows it.
The access of the waveform sample is started from the beginning of the attack portion, and when the reading of the attack portion is completed, the loop portion is entered.
Thereafter, the waveform samples of the loop section are repeatedly read as necessary. Therefore, when the current address value reaches the end position of the loop section, it is necessary to return the current address value to the vicinity of the beginning of the loop section. The process A arithmetic circuit 301 is also performing a process of returning such an address to the vicinity of the beginning of the loop part during the process of creating the above-mentioned address.

【0052】以上のように、当該チャンネルのタイムス
ロットで、ARAM302上の現アドレスにピッチ(周
波数ナンバ)を累算していき、当該チャンネルに関する
順次アドレスを得る。
As described above, the pitch (frequency number) is accumulated in the current address on the ARAM 302 in the time slot of the channel to obtain the sequential address of the channel.

【0053】処理Aでは、上述した各チャンネルのアド
レスを作成する処理の他、制御RAM304内の書き込
み位置を指す書き込みポインタを1つ進め、各チャンネ
ルごとの必要サンプル数を、制御RAM304(図4)
の書き込みポインタで指す位置に格納する処理を行な
う。各チャンネルごとの必要サンプル数は、上述の現ア
ドレス値のアドレス小数部にピッチPITCHを加算し
た加算結果のうちアドレス小数部のビット数より上位に
溢れた値に一致しているから、この溢れ値を得てチャン
ネル番号とともに制御RAM304に格納する。
In the process A, in addition to the process of creating the address of each channel described above, the write pointer pointing to the write position in the control RAM 304 is advanced by 1 to determine the required number of samples for each channel to the control RAM 304 (FIG. 4).
Is stored at the position indicated by the write pointer. The required number of samples for each channel is equal to the overflow value above the number of bits of the address fractional part in the addition result obtained by adding the pitch fraction PITCH to the address fractional part of the current address value. Is obtained and stored in the control RAM 304 together with the channel number.

【0054】さらに、処理Aでは、上述の各チャンネル
のアドレス作成、および各チャンネルに関する必要サン
プル数の格納の処理の他、所定の複数のチャンネルごと
に必要な波形メモリアクセス数(本形態例ではサンプル
数とアクセス数とは一致する)を累算する処理をも行な
う。具体的には、マスター音源207M内の波形読み出
し補間回路102の処理A演算回路301では、第0〜
第15チャンネルのアドレス作成(前半処理)と並行し
てこれらのチャンネルについて読み出すべき必要なサン
プル数を累算し、さらに第16〜第31チャンネルのア
ドレス作成(後半処理)と並行してこれらのチャンネル
について読み出すべき必要なサンプル数を累算する。ま
た、スレーブ音源207S内の波形読み出し補間回路1
02の処理A演算回路301では、第32〜第47チャ
ンネルのアドレス作成(前半処理)と並行してこれらの
チャンネルについて読み出すべき必要なサンプル数を累
算し、さらに第48〜第63チャンネルのアドレス作成
(後半処理)と並行してこれらのチャンネルについて読
み出すべき必要なサンプル数を累算する。
Further, in the process A, in addition to the process of creating the address of each channel and storing the required number of samples for each channel, the number of waveform memory accesses required for each predetermined plurality of channels (in this embodiment, the number of samples is sampled). The number and the number of accesses are the same). Specifically, in the process A arithmetic circuit 301 of the waveform reading interpolation circuit 102 in the master sound source 207M,
The number of necessary samples to be read for these channels is accumulated in parallel with the address creation of the 15th channel (first half processing), and these channels are created in parallel with the address creation of the 16th to 31st channels (second half processing). Accumulate the required number of samples to read for. In addition, the waveform read interpolation circuit 1 in the slave sound source 207S
In the processing A arithmetic circuit 301 of 02, the number of necessary samples to be read for these channels is accumulated in parallel with the address creation (first half processing) of channels 32 to 47, and the addresses of channels 48 to 63 are added. In parallel with the creation (second half processing), the required number of samples to be read for these channels is accumulated.

【0055】アキュムレータ(ACC)303は、この
累算を行なうためのアキュムレータである。マスターお
よびスレーブの音源207M,207Sのそれぞれにお
いて、前半処理と後半処理に分けて累算を行なうため、
アキュムレータ(ACC)303は実際には前半アキュ
ムレータと後半アキュムレータとの2つのアキュムレー
タからなる。単に、アキュムレータ(ACC)303と
いうときは、前半処理では前半アキュムレータ、後半処
理では後半アキュムレータのことを指すものとする。
An accumulator (ACC) 303 is an accumulator for performing this accumulation. In each of the master and slave sound sources 207M and 207S, since the first half processing and the second half processing are separately performed for accumulation,
The accumulator (ACC) 303 is actually composed of two accumulators, a first half accumulator and a second half accumulator. The accumulator (ACC) 303 simply refers to the first half accumulator in the first half processing and the second half accumulator in the second half processing.

【0056】具体的に累算の処理は、以下のように行な
う。まず、前半処理および後半処理の開始時点でアキュ
ムレータ(ACC)303を初期設定(ゼロクリア)す
る。以後は、前半処理および後半処理の最後のチャンネ
ルまで、必要なサンプル数(すなわち、アクセス数)を
アキュムレータ(ACC)303に累算していく。各チ
ャンネルについて読み出すべき必要なサンプル数は、上
記制御RAM304に書き込む際に分かる。
Specifically, the accumulation process is performed as follows. First, the accumulator (ACC) 303 is initialized (cleared to zero) at the start of the first half process and the second half process. After that, the required number of samples (that is, the number of accesses) is accumulated in the accumulator (ACC) 303 until the last channel of the first half processing and the last half processing. The required number of samples to read for each channel is known when writing to the control RAM 304.

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

【0058】チャンネル順に片端からアクセス回数を
削減する。 その時点で音量レベルの小さいチャンネルからアクセ
ス回数を削減する。このようにすると楽音への影響が小
さい。各チャンネルの音量レベルは、エンベロープ値か
ら分かる。
The number of accesses is reduced from one end in the order of channels. 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.

【0059】なお、本形態例では各チャンネルで基本的
に6点補間を行なうが、アクセス回数を削減する際に
は、4点または2点補間に落とし、さらに最低限2点補
間ができるようにサンプル数を確保するものとする。し
たがって、2点補間ができなくなるほどのアクセス回数
削減は行なわない(最悪でも各チャンネル2回のアクセ
スが確保される。そのため、各処理Bでは16チャンネ
ル×2=32回のアクセススロットがある)。
In this embodiment, basically, 6-point interpolation is performed on each channel, but when reducing the number of accesses, it is reduced to 4-point or 2-point interpolation so that at least 2-point interpolation can be performed. The number of samples shall be secured. Therefore, the number of times of access is not reduced to such an extent that two-point interpolation cannot be performed (in the worst case, access to each channel is secured twice. Therefore, in each processing B, there are 16 channels × 2 = 32 access slots).

【0060】図10に、本形態例におけるアクセス回数
削減の具体例(削減しない例も含む)を示す。図10
(a)〜(h)において、進み量とは、波形メモリアド
レス(詳しくはARAM302のアドレス整数部)の進
み量(先述した溢れ値と同じ値)であり、各チャンネル
において読み出すべき必要なサンプル数のことである。
下向きの矢印↓は、アドレス進み量を示すための便宜的
な基準位置(前回の同チャンネルの処理Bで読み込みの
完了しているサンプル位置)を示す。×、○、および●
は、波形データの1サンプルを示す。●は既に波形バッ
ファ307内に存在するサンプルを示し、○はこれから
読み出すべきサンプルを示す。
FIG. 10 shows a specific example (including an example where the number of times of access is not reduced) in the present embodiment. FIG.
In (a) to (h), the advance amount is the advance amount (the same value as the overflow value described above) of the waveform memory address (specifically, the address integer part of the ARAM 302), and the number of samples required to be read in each channel. That is.
A downward arrow ↓ indicates a convenient reference position (a sample position where reading has been completed in the previous processing B of the same channel) for indicating the address advance amount. ×, ○, and ●
Indicates one sample of waveform data. The  indicates a sample already existing in the waveform buffer 307, and the ◯ indicates a sample to be read.

【0061】図10(a)は、アドレスの進み量が0の
場合を示す。6点補間に必要な6点分のサンプルは波形
バッファ307内に存在するので、新たな読み出しは不
要でありアクセス回数は0である。当然、アクセス回数
の削減は行なわれない。
FIG. 10A shows the case where the address advance amount is 0. Since the samples for 6 points necessary for the 6-point interpolation exist in the waveform buffer 307, new reading is unnecessary and the number of accesses is 0. Naturally, the number of accesses is not reduced.

【0062】図10(b)は、アドレスの進み量が1の
場合を示す。必要な6点分のサンプルのうち5点は既に
波形バッファ307内に存在するから、1サンプルのみ
新たに読み出す。そのため、アクセス回数は1回必要で
ある。この場合、アクセス回数の削減は行なわない。
FIG. 10B shows the case where the advance amount of the address is 1. Five of the required six samples are already present in the waveform buffer 307, so only one sample is newly read. Therefore, it is necessary to access once. In this case, the number of accesses is not reduced.

【0063】図10(c)は、アドレスの進み量が2の
場合を示す。必要な6点分のサンプルのうち4点は既に
波形バッファ307内に存在するから、2サンプルを新
たに読み出す。アクセス回数は2回必要である。この場
合にアクセス回数の削減を行なうときは、図10(c)
の下側に記載したように補間次数を6点から4点に落と
し、4点補間に必要な1サンプルを新たに読み出すこと
としてアクセス回数を削減する。
FIG. 10C shows the case where the address advance amount is 2. Since four of the required six samples are already present in the waveform buffer 307, two new samples are read out. It is necessary to access twice. In this case, when the number of accesses is reduced, FIG.
As described on the lower side, the interpolation order is reduced from 6 points to 4 points, and the number of accesses is reduced by newly reading out one sample required for 4-point interpolation.

【0064】図10(d)は、アドレスの進み量が3の
場合を示す。必要な6点分のサンプルのうち3点は既に
波形バッファ307内に存在するから、3サンプルを新
たに読み出す。アクセス回数は3回必要である。この場
合にアクセス回数の削減を行なうときは、図10(d)
の下側に記載したように、補間次数を6点から4点また
は2点に落とし、4点または2点補間に必要な2または
1サンプルを新たに読み出すこととしてアクセス回数を
削減する。
FIG. 10D shows the case where the advance amount of the address is 3. Since 3 of the required 6 samples are already present in the waveform buffer 307, 3 samples are newly read. The number of accesses is 3 times. In this case, when reducing the number of accesses, FIG.
As described below, the interpolation order is reduced from 6 points to 4 points or 2 points, and the number of accesses is reduced by newly reading 2 or 1 sample required for 4 point or 2 point interpolation.

【0065】図10(e)は、アドレスの進み量が4の
場合を示す。必要な6点分のサンプルのうち2点は既に
波形バッファ307内に存在するから、4サンプルを新
たに読み出す。アクセス回数は4回必要である。この場
合にアクセス回数の削減を行なうときは、図10(e)
の下側に記載したように、補間次数を6点から4点また
は2点に落とし、4点または2点補間に必要な3または
2サンプルを新たに読み出すこととしてアクセス回数を
削減する。
FIG. 10E shows the case where the advance amount of the address is 4. Since two of the required six samples are already present in the waveform buffer 307, four samples are newly read. The number of times of access is 4 times. In this case, when the number of accesses is reduced, FIG.
As described below, the interpolation order is reduced from 6 points to 4 points or 2 points, and the number of accesses is reduced by newly reading out 3 or 2 samples required for 4-point or 2-point interpolation.

【0066】図10(f)は、アドレスの進み量が5の
場合を示す。必要な6点分のサンプルのうち1点は既に
波形バッファ307内に存在するから、5サンプルを新
たに読み出す。アクセス回数は5回必要である。この場
合にアクセス回数の削減を行なうときは、図10(f)
の下側に記載したように、補間次数を6点から4点また
は2点に落とし、4点または2点補間に必要な4または
2サンプルを新たに読み出すこととしてアクセス回数を
削減する。
FIG. 10 (f) shows a case in which the address advance amount is 5. Since one point out of the required six points of samples already exists in the waveform buffer 307, five samples are newly read. The number of times of access is 5 times. In this case, when the number of accesses is reduced, FIG.
As described below, the interpolation order is reduced from 6 points to 4 points or 2 points, and 4 or 2 samples required for 4 point or 2 point interpolation are newly read to reduce the number of accesses.

【0067】図10(g)は、アドレスの進み量が6の
場合を示す。必要な6点分のサンプルは波形バッファ3
07内に存在しないから、6サンプルをすべて読み出
す。アクセス回数は6回必要である。この場合にアクセ
ス回数の削減を行なうときは、図10(g)の下側に記
載したように、補間次数を6点から4点または2点に落
とし、4点または2点補間に必要な4または2サンプル
を新たに読み出すこととしてアクセス回数を削減する。
図10(h)の進み量が7の場合も、図10(g)と同
様である。
FIG. 10G shows the case where the amount of advance of the address is 6. Required 6 samples are waveform buffer 3
Since it does not exist in 07, all 6 samples are read out. It is necessary to access 6 times. In this case, when the number of accesses is reduced, the interpolation order is reduced from 6 points to 4 points or 2 points as described in the lower part of FIG. Alternatively, the number of accesses is reduced by newly reading two samples.
The case where the amount of advance in FIG. 10 (h) is 7 is also the same as in FIG. 10 (g).

【0068】(2)次に、処理B演算回路305で実行
する処理Bについて詳しく説明する。処理B演算回路3
05は、時分割チャンネルタイミングとは異なるタイミ
ングで、処理B、すなわちアドレスを波形メモリ208
に向けて送り出す処理を行なう。図8で説明したよう
に、時分割チャンネルタイミングの1チャンネル当りの
時間内で4アクセス(4サンプルの読み出し)が可能で
ある。処理Bの波形メモリアクセス処理は、処理Aの時
分割チャンネルタイミングにしたがった処理とは関係が
なく、読み出しが必要な各チャンネルについて順次連続
して行なわれる。読み出しが必要なチャンネルとサンプ
ル数は、上述の処理Aで決定されている。また、図7で
説明したように、あるチャンネルについて処理Bを行な
うときには既に当該チャンネルに関する処理Aは実行済
みであり、当該チャンネルのアドレス値がARAM30
2にセットされている。
(2) Next, the process B executed by the process B arithmetic circuit 305 will be described in detail. Processing B operation circuit 3
Reference numeral 05 designates a process B, that is, an address, in the waveform memory 208 at a timing different from the time division channel timing.
The process of sending out to is performed. As described with reference to FIG. 8, four accesses (reading of four samples) are possible within the time per channel of the time division channel timing. The waveform memory access process of the process B has no relation to the process of the process A according to the time-division channel timing, and is sequentially and continuously 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-mentioned processing A. Further, as described with reference to FIG. 7, when the process B is performed for a certain channel, the process A for the relevant channel has already been executed, and the address value of the relevant channel is ARAM30.
It is set to 2.

【0069】アドレス送り出しの処理を説明する。ま
ず、図4に示す制御RAM304内の読み出し位置を指
す読み出しポインタの値が、当該チャンネルに関する処
理A前半または後半処理の終了時点の書き込みポインタ
の値と一致しているか否か判定する。例えば、当該チャ
ンネルの処理Bが図7の処理B前半区間702内の処理
である場合は、読み出しポインタの値を、処理A前半区
間701の終了時点の書き込みポインタの値と比較する
ということである。これが一致すれば、その処理Bの区
間で読み出すべきサンプルはもう無いということだか
ら、後述するアクセス余り時間の処理を行なう。
The address sending process will be described. First, it is determined whether or not the value of the read pointer that indicates the read position in the control RAM 304 shown in FIG. 4 matches the value of the write pointer at the end of the first half or the second half of the process A for the channel. For example, when the process B of the channel is a process in the first half section 702 of the process B in FIG. 7, the value of the read pointer is compared with the value of the write pointer at the end of the first half section 701 of the process A. . If they match, it means that there are no more samples to be read in the section of the process B, so the process of the access surplus time described later is performed.

【0070】読み出しポインタの値が上記書き込みポイ
ンタの値に一致していないときは、読み出しポインタを
1つ進めて、読み出しポインタが指すチャンネル番号と
サンプル数を制御RAM304から読み出す。そして、
そのサンプル数分の当該チャンネル番号に関するアドレ
スを波形メモリ208に送り出す。具体的には、ARA
M302から当該チャンネルの現アドレス整数部を読み
出し、必要なサンプル数のサンプルを順次アクセスする
ための複数のオフセットを加算し、さらにアドレス基準
値WAを加算して(処理Aで作成したアドレスは相対ア
ドレスであるので、絶対アドレスに変換するためアドレ
ス基準値を加算する)、最終的な読み出しアドレスWM
Aとして波形メモリ208に送り出す。アドレス送り出
しのタイミングについては、図7,8で説明した。図8
における各アクセスタイミングのオフセットは、例え
ば、第0チャンネルでは0、第2チャンネルの1回目が
−2、2回目が−1、3回目が0、第5チャンネルの1
回目が−1、2回目が0等で、先に説明した図10の○
に対応するサンプルが確実に読み出されるようになって
いる。以上のようにして読み出しポインタを進めながら
アドレスを連続的に送り出していく。読み出しポインタ
の値が上記書き込みポインタの値に一致したときは、ア
ドレス送り出しの処理を終了する。
When the value of the read pointer does not match the value of the write pointer, the read pointer is advanced by 1 and the channel number and the sample number pointed to by the read pointer are read from the control RAM 304. And
Addresses related to the channel number corresponding to the number of samples are sent to the waveform memory 208. Specifically, ARA
The integer part of the current address of the channel is read from M302, a plurality of offsets for sequentially accessing the required number of samples are added, and the address reference value WA is further added (the address created in the process A is a relative address). Therefore, the address reference value is added to convert to an absolute address), and the final read address WM
A is sent to the waveform memory 208. The address sending timing has been described with reference to FIGS. FIG.
The offset of each access timing is 0 for the 0th channel, -2 for the first time of the second channel, -2 for the second time, 0 for the third time, and 1 for the fifth channel.
The first time is -1, the second time is 0, etc.
The sample corresponding to is surely read out. As described above, the addresses are continuously sent out while advancing the read pointer. When the value of the read pointer matches the value of the write pointer, the address sending process ends.

【0071】図7,8でも説明したように、上記アドレ
ス送り出しの処理は時分割チャンネルタイミングとは異
なるタイミングで行なわれるので、アクセス余り時間と
しての空きタイムスロットが出現する。そこで、アドレ
ス送り出しの処理の後、処理B演算回路305の制御の
もとで、この余り時間を利用して図1のリフレッシュカ
ウンタ108による波形メモリ208のリフレッシュ処
理、またはCPUアクセス制御部109による波形メモ
リ208へのアクセス処理を行なう。アクセス余り時間
が無くなったら、処理を終了する。
As described with reference to FIGS. 7 and 8, since the address sending processing is performed at a timing different from the time division channel timing, an empty time slot appears as an access extra time. Therefore, after the address sending processing, under the control of the processing B arithmetic circuit 305, the remaining time is used to refresh the waveform memory 208 by the refresh counter 108 in FIG. 1 or the waveform by the CPU access control unit 109. Access processing to the memory 208 is performed. When there is no more time to access, the process ends.

【0072】(3)次に、取り込み回路308で実行す
る取り込み処理について説明する。取り込み回路308
は、処理B演算回路305から送り出されたアドレスW
MAにより読み出された波形サンプルを取り込み、波形
バッファ307に書き込む。取り込みの結果、波形バッ
ファ307には、基本的に各チャンネル6サンプルが用
意されることになる。ただし、処理Aで補間次数を4点
または2点補間に落としたチャンネルがある場合、当該
チャンネルについては、それらの補間で必要なサンプル
が波形バッファ307に用意される。
(3) Next, the capture processing executed by the capture circuit 308 will be described. Capture circuit 308
Is the address W sent from the processing B arithmetic circuit 305.
The waveform sample read by the MA is fetched and written in the waveform buffer 307. As a result of the acquisition, basically, 6 samples for each channel are prepared in the waveform buffer 307. However, if there is a channel in which the interpolation order is reduced to 4-point or 2-point interpolation in the process A, the samples necessary for the interpolation are prepared in the waveform buffer 307 for the channel.

【0073】(4)次に、補間回路306で実行する補
間処理について詳しく説明する。補間回路306は、時
分割チャンネルタイミングにしたがって、チャンネルご
とに順に補間処理を行なう。1つのチャンネルに関する
補間処理は、以下のとおりである。
(4) Next, the interpolation processing executed by the interpolation circuit 306 will be described in detail. The interpolation circuit 306 performs interpolation processing for each channel in order according to the time division channel timing. The interpolation process for one channel is as follows.

【0074】まず、波形バッファ307から当該チャン
ネルの6サンプルを順次読み出す。そして、各サンプル
に所定の補間係数を乗算して累算する。各サンプルに乗
算する補間係数は、当該チャンネルのアドレス小数部F
RACに基づいて決定する。アドレス小数部FRAC
は、ARAM302から処理B演算回路305経由で入
力する。以上により、補間済みの楽音波形データが生成
出力される。なお、上述した波形メモリのアクセス回数
削減により補間次数を6点から4点あるいは2点に落と
したチャンネルについては、6サンプルでなく4または
2サンプルを用いて4点または2点補間を行ない補間済
みの楽音波形データを得る。
First, 6 samples of the channel are sequentially read from the waveform buffer 307. Then, each sample is multiplied by a predetermined interpolation coefficient and accumulated. The interpolation coefficient by which each sample is multiplied is the address fractional part F of the channel.
Determine based on RAC. Address decimal part FRAC
Is input from the ARAM 302 via the processing B arithmetic circuit 305. As described above, the interpolated musical tone waveform data is generated and output. For the channels whose interpolation order is reduced from 6 points to 4 points or 2 points by reducing the number of times of accessing the waveform memory as described above, 4 points or 2 points are used to interpolate 4 points or 2 points instead of 6 samples, and interpolation is completed. To obtain musical tone waveform data of.

【0075】なお、上記形態例において、マスター音源
207Mとスレーブ音源207Sは、同じ構成のLSI
チップを用いている。マスター音源207Mとスレーブ
音源207Sとを区別するのは、CPU204が制御レ
ジスタ101を介して指定する2チップ指定情報および
マスター/スレーブ(M/S)指定情報に基づく。すな
わち、各音源チップは、2チップ指定情報で2チップが
指定され、マスター/スレーブ指定情報でマスターが指
定されていれば、上述のマスター音源207Mとして動
作する。また、2チップ指定情報で2チップが指定さ
れ、マスター/スレーブ指定情報でスレーブが指定され
ていれば、上述のスレーブ音源207Sとして動作す
る。逆に、2チップ指定情報で1チップが指定されてい
たときは、その音源チップは1チップ指定時の動作をす
る。マスター/スレーブ指定情報でマスターまたはスレ
ーブが指定されていたときは、2チップ指定情報で2チ
ップが指定されたものとみなしてもよい。
In the above embodiment, the master sound source 207M and the slave sound source 207S are LSIs having the same configuration.
It uses a chip. The distinction between the master sound source 207M and the slave sound source 207S is based on the 2-chip designation information and the master / slave (M / S) designation information designated by the CPU 204 via the control register 101. That is, each sound source chip operates as the above-mentioned master sound source 207M if two chips are designated by the two-chip designation information and a master is designated by the master / slave designation information. If two chips are designated by the two-chip designation information and a slave is designated by the master / slave designation information, the slave sound source 207S operates as described above. On the contrary, when one chip is designated by the two-chip designation information, the sound source chip operates when one chip is designated. When the master or slave is designated by the master / slave designation information, it may be considered that two chips are designated by the two-chip designation information.

【0076】図9は、1チップ指定時の各処理のタイミ
ングを示す図である。図7の2チップ指定時のタイミン
グと比較すると、処理Aおよび補間処理のタイミングは
1チップ指定時および2チップ指定時ともに時分割チャ
ンネルタイミングで同じである。処理Bおよび取り込み
処理については、図7では区間702,703,70
6,707が1サンプリング周期の1/4になっている
のに対し、図9では区間902,903,906,90
7が1サンプリング周期の1/2になっている点が異な
る。区間902,903,906,907で処理Bおよ
び取り込み処理が行なわれる際のチャンネルの様子は、
図8で説明したのと同じである。すなわち、時分割チャ
ンネルタイミングで1チャンネル分の処理を行なうタイ
ムスロットの1/4の区間で1アクセスが可能であり、
制御RAM304に記憶されている各チャンネルの必要
サンプル数にしたがって順次連続的に波形メモリをアク
セスする。2チップ指定時は、前半処理の区間702,
703および後半処理の区間706,707のそれぞれ
において、32アクセスが可能であった。1チップ指定
時は、前半処理の区間902,903および後半処理の
区間906,907のそれぞれにおいて、64アクセス
が可能となる。アクセス区間の長さが2倍になったから
である。
FIG. 9 is a diagram showing the timing of each process when one chip is designated. Compared to the timing when two chips are designated in FIG. 7, the timings of the process A and the interpolation processing are the same in time division channel timing when one chip is designated and when two chips are designated. Regarding the process B and the fetching process, the sections 702, 703, and 70 in FIG.
6, 707 is 1/4 of one sampling cycle, whereas in FIG. 9, sections 902, 903, 906, 90
The difference is that 7 is 1/2 of one sampling period. The state of the channel when processing B and import processing are performed in sections 902, 903, 906, and 907 are as follows.
This is the same as described with reference to FIG. That is, one access is possible in a 1/4 section of a time slot for processing one channel at time division channel timing,
The waveform memory is sequentially and continuously accessed according to the required number of samples of each channel stored in the control RAM 304. When 2 chips are specified, the first half processing section 702
32 accesses were possible in each of the sections 703 and 707 of the latter half processing. When one chip is designated, 64 accesses are possible in each of the first half processing sections 902 and 903 and the second half processing sections 906 and 907. This is because the length of the access section has doubled.

【0077】以上のように、本形態例の音源チップは、
1チップか2チップかを示す指定情報を入力し、2チッ
プのときはアクセス期間(処理Bおよび取り込み処理の
区間)を1チップのときの半分に短縮して、それにより
生じた空き時間にもう一方の音源チップによるアクセス
を行なうようにすることができるものである。
As described above, the sound source chip of this embodiment is
By inputting designation information indicating 1 chip or 2 chips, the access period (section of processing B and fetch processing) is shortened to half when it is 2 chips, and the free time caused by it is reduced. One of the sound source chips can be used for access.

【0078】上記形態例では、図3の波形読み出し補間
回路102において処理A演算回路301と処理B演算
回路305とを独立した構成としたが、処理A演算回路
301と処理B演算回路305とをひとまとめにして、
1つの演算回路を時分割で共用することにより処理Aと
処理Bとを行なうようにしてもよい。
In the above embodiment, the process A arithmetic circuit 301 and the process B arithmetic circuit 305 are independent of each other in the waveform read interpolation circuit 102 of FIG. 3, but the process A arithmetic circuit 301 and the process B arithmetic circuit 305 are formed separately. In summary,
The processing A and the processing B may be performed by sharing one arithmetic circuit in a time division manner.

【0079】上記形態例では、波形メモリの波形サンプ
ルを16ビット非圧縮の形式としたが、他の形式でもよ
い。例えば、1アクセスで16ビットを読み出せること
はそのままにして、8ビット非圧縮または8ビット圧縮
形式にしてもよい。ただし、この場合、サンプル数とア
クセス数とが異なるので、その調整が必要である。ま
た、圧縮形式の場合は、連続してサンプルを読み出して
いかないと再生できなくなるため、飛ばし読みの際に対
処が必要である。
In the above embodiment, the waveform samples in the waveform memory are in the 16-bit uncompressed format, but other formats may be used. For example, an 8-bit uncompressed format or an 8-bit compressed format may be used while 16 bits can be read with one access. However, in this case, since the number of samples and the number of accesses are different, it is necessary to adjust them. In the case of the compression format, reproduction cannot be performed unless samples are continuously read out, so that it is necessary to take measures in skipping reading.

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

【0081】特に、波形メモリとしてDRAMを用いた
場合は、必ずリフレッシュが必要であるので、リフレッ
シュの分のアクセス回数は優先して確保するとよい。ま
た、CPUからの波形メモリの読み出し/書き込みは、
その緊急度に応じて対応するとよい。例えば、CPUか
らの波形メモリアクセスの緊急度が低いときは、音源チ
ャンネルで使用されなかった空きタイムスロットを用い
てアクセスを行なう。また、緊急度が高いときは、始め
にCPUからの波形メモリアクセスの分を確保し、残り
を音源チャンネルで使用する。
In particular, when a DRAM is used as the waveform memory, refreshing is always necessary, so it is preferable to prioritize the number of accesses for refreshing. 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.

【0082】また、上記形態例では、図8に示したよう
に処理Bおよび取り込みを行なう前半および後半の区間
の前側のスロットで連続した波形メモリのアクセスを行
なっているが、前側でなくてもよい。例えば、上述の優
先して確保されたリフレッシュあるいはCPUからのア
クセスについては、区間内の前側のスロットでそれらの
処理を行ない、後側のスロットで各チャンネルについて
の連続した波形メモリのアクセスを行なうようにしても
よい。ただしその場合、例えば図7の取り込み処理前半
区間703の処理が終了して、波形バッファに補間に必
要な全サンプルが用意された後に、補間前半区間704
の補間処理が始まるようにする必要がある(後半処理も
同様)。そのため、補間を行なう区間をずらす必要があ
る(取り込み前半処理が終了した後に補間前半処理を開
始し、取り込み後半処理が終了した後に補間後半処理を
開始すれば十分)。
Further, in the above embodiment, as shown in FIG. 8, the waveform memory is continuously accessed in the slots on the front side of the first half and the second half of the processing B and the fetching, but it is not limited to the front side. Good. For example, with respect to the above-mentioned preferentially secured refresh or access from the CPU, those processes are performed in the front slot in the section, and continuous waveform memory access for each channel is performed in the rear slot. You may However, in that case, for example, after the processing of the first half section 703 of the capture processing of FIG. 7 is completed and all the samples necessary for interpolation are prepared in the waveform buffer, the first half section 704 of the interpolation process is performed.
It is necessary to start the interpolation processing of (the same applies to the latter half processing). Therefore, it is necessary to shift the section in which interpolation is performed (it suffices to start the interpolation first-half process after the capture first-half process ends and start the interpolation second-half process after the capture second-half process ends).

【0083】さらに、上記形態例では、処理Aと補間処
理は1サンプリング周期を1/2(前半と後半)に分割
した区間を単位として前半処理と後半処理とを交互に行
ない、処理Bと取り込み処理はさらにその1/2(すな
わち、1サンプリング周期の1/4)の区間を単位とし
て前半処理と後半処理とを交互に行なうようにしている
が、区間の分け方はこれに限らない。例えば、1サンプ
リング周期を1/3,1/4,…に分割し、それらの区
間を単位にして処理Aと補間処理を行ない、さらにその
1/2の区間で処理Bと取り込み処理を行なうようにし
てもよい。処理Aと補間処理を行なう区間の1/2の時
間幅の区間で処理Bと取り込み処理を行なうようにする
とともに、スレーブ音源の処理タイミングを当該時間幅
だけマスター音源の処理タイミングより遅れるようにタ
イミングの調整を行なえば、マスター音源とスレーブ音
源とで交互に波形メモリをアクセスするようにできる。
また、等分割でなく、変則的な区間の分割を行なっても
よい。例えば、第0〜第14チャンネルと第15〜第3
1チャンネルに分割して、それぞれの区間で処理Aと補
間処理を行ない、処理Bと取り込み処理はマスターとス
レーブとで交互に行えるように時間幅の調整を行なって
もよい。さらに、区間を分けずに、1サンプリング周期
を単位としてもよい。ただし、処理Bでアドレス送り出
しを行なって波形メモリをアクセスする前に、処理Aに
よるARAMの書き換えが行なわれることがないこと
を、保証する必要がある。そのためには、例えば区間を
分けない場合は、アドレスRAMを2セット用意し、処
理Aによるアドレスの書き換えと処理Bによるアドレス
の送り出しとで、2セットのアドレスRAMを交互に使
用するなどの方法を採る必要がある。なお、1サンプリ
ング周期を前半と後半に分けて処理する方式によれば、
1セットのアドレスRAMで処理Aと処理Bとを交互に
行なうことができるので、回路構成が簡易にでき合理的
といえる。
Further, in the above embodiment, the process A and the interpolation process are performed by alternately performing the first half process and the second half process in units of the interval obtained by dividing one sampling cycle into 1/2 (the first half and the second half), and fetching the process B and the process. In the processing, the first half processing and the second half processing are alternately performed with a unit of ½ thereof (that is, ¼ of one sampling cycle) as a unit, but the division of the interval is not limited to this. For example, one sampling cycle is divided into ⅓, ¼, ..., Process A and interpolation are performed in units of these intervals, and process B and import processing are performed in ½ of these intervals. You may The processing B and the fetching processing are performed in a section having a time width that is ½ of the processing A and the interpolation processing, and the processing timing of the slave sound source is delayed by that time width from the processing timing of the master sound source. If the adjustment is performed, the waveform memory can be alternately accessed by the master sound source and the slave sound source.
Further, irregular division may be performed instead of equal division. For example, channels 0 to 14 and 15 to 3
It may be divided into one channel, the process A and the interpolation process are performed in each section, and the time width may be adjusted so that the process B and the fetch process can be alternately performed by the master and the slave. Further, one sampling period may be used as a unit without dividing the section. However, it is necessary to ensure that the ARAM is not rewritten by the process A before the address is sent in the process B and the waveform memory is accessed. For that purpose, for example, when the sections are not divided, two sets of address RAMs are prepared, and two sets of address RAMs are alternately used for rewriting addresses by the process A and sending addresses by the process B. Need to collect. According to the method in which one sampling period is divided into the first half and the second half,
Since the processing A and the processing B can be alternately performed by one set of the address RAMs, it can be said that the circuit configuration is simple and rational.

【0084】さらに、上記形態例では、マスター音源と
スレーブ音源との2チップで1つの波形メモリを共有し
ているが、さらに多くの音源チップで1つの波形メモリ
を共有するようにもできる。そのためには、処理Bおよ
び取り込み処理の区間を複数の音源チップで分けあうよ
うにして、それぞれの波形メモリアクセスを行なえばよ
い。
Further, in the above-described embodiment, one waveform memory is shared by the two chips of the master tone generator and the slave tone generator, but one waveform memory can be shared by more tone generator chips. For that purpose, the waveform memory access may be performed by dividing the sections of the process B and the acquisition process by a plurality of sound source chips.

【0085】なお、あるチャンネルに関してアクセス回
数が足りずに補間点数を落とした後に、元の補間点数に
戻す場合は、その時点で一時的に同チャンネルのアクセ
ス回数を通常より増やすように動作するようにしてもよ
い。
When the number of access points for a certain channel is insufficient and the number of interpolation points is reduced and then the original number of interpolation points is restored, at that time, the number of access times of the same channel is temporarily increased to be larger than usual. You may

【0086】また本実施形態例では、音源の波形メモリ
アクセスの制限を、2つの音源で1つの波形メモリを共
有するために行なっていたが、それ以外の目的でアクセ
ス制限を行なうようにもできる。例えば、波形メモリに
1つの音源が接続されている場合において、その音源の
波形メモリアクセス期間を制限し、生じたアクセス期間
を波形サンプリング回路やCPU、DMAC、その他の
データ転送回路、等が利用するようにしても良い。ま
た、アクセス期間の制限の仕方は、全期間の1/2に限
る必要はなく、2/3や2/5等々任意でよい。さら
に、演奏者やCPUが時間長でアクセス期間の長さを指
定できるようにしても良い。
In the present embodiment, the access to the waveform memory of the sound source is limited in order to share one waveform memory between the two sound sources. However, the access can be limited for other purposes. . For example, when one sound source is connected to the waveform memory, the waveform memory access period of the sound source is limited, and the generated access period is used by the waveform sampling circuit, the CPU, the DMAC, and other data transfer circuits. You may do it. Further, the method of limiting the access period does not have to be limited to 1/2 of the entire period, and may be 2/3, 2/5, or the like. Further, the player or the CPU may be allowed to specify the length of the access period by the time length.

【0087】[0087]

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

【0088】特に、本発明では、複数の音源の波形メモ
リアクセス期間を互いに競合しないようにタイミング調
整しているので、複数の音源で1つの波形メモリを共有
することができる。
In particular, in the present invention, since the waveform memory access periods of a plurality of sound sources are adjusted so that they do not conflict with each other, a plurality of sound sources can share one waveform memory.

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

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

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

【図2】本形態例の音源装置を適用した電子楽器の全体
のブロック構成図および音源部の概略構成図
FIG. 2 is an overall block configuration diagram of an electronic musical instrument to which the tone generator device of the present embodiment is applied and a schematic configuration diagram of a tone generator section.

【図3】波形読み出し補間回路のブロック構成図FIG. 3 is a block configuration diagram of a waveform readout interpolation circuit.

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

【図5】ARAMのメモリマップを示す図FIG. 5 is a diagram showing a memory map of ARAM.

【図6】波形バッファの構成図FIG. 6 is a configuration diagram of a waveform buffer;

【図7】マスター音源およびスレーブ音源のそれぞれの
波形読み出し補間回路における処理タイミング図
FIG. 7 is a processing timing chart in the waveform reading interpolation circuit of each of the master sound source and the slave sound source.

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

【図9】1チップ指定時の各処理のタイミングを示す図FIG. 9 is a diagram showing the timing of each process when one chip is designated.

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

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

101…制御レジスタ、102…波形読み出し補間回
路、105…音量変化制御部、106…チャンネル(c
h)累算器、107…効果回路、108…リフレッシュ
カウンタ、109…CPUアクセス制御部、110,1
11…セレクタ、112…システムクロック発生部、1
13…チャンネル(ch)カウンタ、204…中央処理
装置(CPU)、207…音源部、207M…マスター
音源、207S…スレーブ音源、208…波形メモリ、
210…ディジタルアナログ変換器(DAC)、211
…サウンドシステム(SS)、212…外部記憶装置、
213…バス、220…混合器、301…処理A演算回
路、302…アドレスRAM(ARAM)、303…ア
キュムレータ(ACC)、304…制御RAM、305
…処理B演算回路、306…補間回路、307…波形バ
ッファ、308…取り込み回路。
101 ... Control register, 102 ... Waveform reading interpolation circuit, 105 ... Volume change control unit, 106 ... Channel (c
h) Accumulator, 107 ... Effect circuit, 108 ... Refresh counter, 109 ... CPU access control unit, 110, 1
11 ... Selector, 112 ... System clock generator, 1
13 ... Channel (ch) counter, 204 ... Central processing unit (CPU), 207 ... Sound source section, 207M ... Master sound source, 207S ... Slave sound source, 208 ... Waveform memory,
210 ... Digital-to-analog converter (DAC), 211
… Sound system (SS), 212… External storage,
213 ... Bus, 220 ... Mixer, 301 ... Process A arithmetic circuit, 302 ... Address RAM (ARAM), 303 ... Accumulator (ACC), 304 ... Control RAM, 305
... Process B arithmetic circuit, 306 ... Interpolation circuit, 307 ... Waveform buffer, 308 ... Acquisition circuit.

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】所定サンプリング周期で複数チャンネル時
分割で動作することにより、該複数チャンネルの楽音を
生成する波形メモリ音源装置において、 波形サンプルを記憶した波形メモリであって、前記所定
サンプリング周期内の1チャンネル分の処理時間内に所
定回数のアクセスが可能なものと、 各チャンネルのアドレスを記憶するためのアドレス記憶
手段と、 各チャンネルの波形サンプルを記憶するための波形サン
プル記憶手段と、 前記波形メモリの読み出しに先立って、各チャンネルの
アドレスを作成し、前記アドレス記憶手段に記憶させる
アドレス作成手段と、 各チャンネルのアドレスの進み量に基づいて、各チャン
ネルについての前記波形メモリのアクセス回数を算出す
るアクセス回数算出手段と、 所定数のチャンネルについて、前記アクセス回数算出手
段で算出したアクセス回数を累算し、累算回数を出力す
る累算手段と、 前記所定数のチャンネルに対応したアクセス期間内に、
前記累算回数分のアクセスが可能かどうかを判定する判
定手段と、 前記アクセス期間の時間幅を、通常の長さまたは短縮し
た長さに切り換えるアクセス期間切り換え手段と、 前記判定手段が可能と判定した場合、前記アドレス記憶
手段に記憶された各チャンネルのアドレスに基づき、前
記アクセス回数算出手段で算出した各チャンネルのアク
セス回数ずつ、前記アクセス期間内で前記波形メモリを
連続的にアクセスし、読み出した各チャンネルの波形サ
ンプルを前記波形サンプル記憶手段に記憶する第1アク
セス手段と、 前記アクセス期間切り換え手段により前記アクセス期間
を短縮したことによって生じた空き時間に、前記波形メ
モリをアクセスする第2アクセス手段と、 前記波形サンプル記憶手段に記憶された各チャンネルの
波形サンプルに基づき、各チャンネルのサンプリング周
期ごとの楽音を生成する楽音生成手段とを備えたことを
特徴とする波形メモリ音源装置。
1. A waveform memory sound source device for generating musical tones of a plurality of channels by operating in time division on a plurality of channels at a predetermined sampling period, the waveform memory storing waveform samples, One that can be accessed a predetermined number of times within the processing time for one channel, address storage means for storing the address of each channel, waveform sample storage means for storing the waveform sample of each channel, said waveform Prior to reading the memory, the address of each channel is created and stored in the address storage means, and the number of times the waveform memory is accessed for each channel is calculated based on the advance amount of the address of each channel. Access count calculation means and the number of channels , Accumulates the number of accesses is calculated by the access number calculation unit, and accumulating means for outputting the accumulated number of times, within the access period corresponding to said predetermined number of channels,
Determination means for determining whether or not access for the accumulated number of times is possible, access period switching means for switching the time width of the access period to a normal length or a shortened length, and the determination means determines that the access is possible In this case, based on the address of each channel stored in the address storage means, the waveform memory is continuously accessed and read for each access count of each channel calculated by the access count calculation means, within the access period. First access means for storing the waveform sample of each channel in the waveform sample storage means, and second access means for accessing the waveform memory in a free time generated by shortening the access period by the access period switching means. And the waveform sample of each channel stored in the waveform sample storage means. A waveform memory sound source device, comprising: a tone generation means for generating a tone for each channel sampling period based on pulling.
【請求項2】所定サンプリング周期で複数チャンネル時
分割で動作することにより、該複数チャンネルの楽音を
生成する波形メモリ音源装置であって、波形サンプルを
記憶し前記所定サンプリング周期内の1チャンネル分の
処理時間内に所定回数のアクセスが可能な波形メモリを
接続したものにおいて、 各チャンネルのアドレスを記憶するためのアドレス記憶
手段と、 各チャンネルの波形サンプルを記憶するための波形サン
プル記憶手段と、 前記波形メモリの読み出しに先立って、各チャンネルの
アドレスを作成し、前記アドレス記憶手段に記憶させる
アドレス作成手段と、 各チャンネルのアドレスの進み量に基づいて、各チャン
ネルについての前記波形メモリのアクセス回数を算出す
るアクセス回数算出手段と、 所定数のチャンネルについて、前記アクセス回数算出手
段で算出したアクセス回数を累算し、累算回数を出力す
る累算手段と、 前記所定数のチャンネルに対応して設定されるアクセス
期間の時間幅を、前記所定数のチャンネルについて時分
割チャンネルタイミングで処理する場合の時間幅と同じ
時間幅とするか、またはそれより短縮した時間幅とする
かを、入力した指示信号に基づいて決定するアクセス期
間切り換え手段と、 前記アクセス期間内に、前記累算回数分のアクセスが可
能かどうかを判定する判定手段と、 前記判定手段が可能と判定した場合、前記アドレス記憶
手段に記憶された各チャンネルのアドレスに基づき、前
記アクセス回数算出手段で算出した各チャンネルのアク
セス回数ずつ、前記アクセス期間内で前記波形メモリを
連続的にアクセスし、読み出した各チャンネルの波形サ
ンプルを前記波形サンプル記憶手段に記憶する第1アク
セス手段と、 前記波形サンプル記憶手段に記憶された各チャンネルの
波形サンプルに基づき、各チャンネルのサンプリング周
期ごとの楽音を生成する楽音生成手段とを備えたことを
特徴とする波形メモリ音源装置。
2. A waveform memory sound source device for generating musical sounds of a plurality of channels by operating in a time-divisional manner on a plurality of channels at a predetermined sampling period, wherein waveform samples are stored and one channel within the predetermined sampling period is stored. An address storage unit for storing an address of each channel, a waveform sample storage unit for storing a waveform sample of each channel, in which a waveform memory that can be accessed a predetermined number of times within a processing time is connected, Prior to reading the waveform memory, an address of each channel is created and stored in the address storage means, and the number of times the waveform memory is accessed for each channel is calculated based on the advance amount of the address of each channel. A method of calculating the number of accesses and a predetermined number of channels The accumulating means for accumulating the access times calculated by the access frequency calculating means and outputting the accumulated times, and the time width of the access period set corresponding to the predetermined number of channels are set to the predetermined number. Access period switching means for determining, on the basis of an input instruction signal, whether to set the same time width as the time width in the case of processing at time division channel timing for the channel A determining means for determining whether or not it is possible to access the accumulated number of times within an access period; and when the determining means determines that the access is possible, the access is performed based on the address of each channel stored in the address storage means. The waveform memory is continuously accessed and read by the number of times of access of each channel calculated by the number-of-times calculating means within the access period. First access means for storing the projected waveform sample of each channel in the waveform sample storage means, and a tone for each sampling period of each channel based on the waveform sample of each channel stored in the waveform sample storage means A waveform memory sound source device comprising:
【請求項3】さらに第1のモードで動作するか、第2の
モードで動作するかを指定するモード指定信号を入力
し、 第1のモードが指定された波形メモリ音源では、前記ア
クセス期間切り換え手段により前記アクセス期間を短縮
した時間幅とするとともに、第2のモードが指定された
別の波形メモリ音源装置に向けて同期信号を出力し、 第2のモードが指定された波形メモリ音源では、前記ア
クセス期間切り換え手段により前記アクセス期間を短縮
した時間幅とするとともに、前記第1のモードが指定さ
れた波形メモリ音源から出力される同期信号を入力し
て、前記第1のモードが指定された波形メモリ音源にお
ける前記アクセス期間以外の区間に、前記第2のモード
が指定された波形メモリ音源における前記アクセス期間
が配置されるように処理タイミングを調整する請求項2
に記載の波形メモリ音源装置。
3. A waveform memory sound source in which a mode specifying signal for specifying whether to operate in the first mode or the second mode is input, and the access period is switched in the waveform memory sound source in which the first mode is specified. With the time width shortened by the means, the synchronizing signal is output to another waveform memory sound source device in which the second mode is designated, and in the waveform memory sound source in which the second mode is designated, The access period switching means sets the access period to a shortened time width, and the synchronization signal output from the waveform memory sound source in which the first mode is designated is input to designate the first mode. The access period of the waveform memory tone generator in which the second mode is specified is arranged in a section other than the access period of the waveform memory tone generator. Claim 2 to adjust the processing timing
Waveform memory sound source device described in.
【請求項4】所定サンプリング周期で複数チャンネル時
分割で動作することにより、該複数チャンネルの楽音を
生成する波形メモリ音源装置において、 複数チャンネルの楽音生成を行なう第1音源と、別の複
数チャンネルの楽音生成を行なう第2音源と、前記第1
音源からの楽音と前記第2音源からの楽音とを混合して
出力する混合手段と、波形サンプルを記憶した波形メモ
リであって前記所定サンプリング周期内の1チャンネル
分の処理時間内に所定回数のアクセスが可能な波形メモ
リとを備え、 前記第1音源は、 各チャンネルのアドレスを記憶するための第1アドレス
記憶手段と、 各チャンネルの波形サンプルを記憶するための第1波形
サンプル記憶手段と、 前記波形メモリの読み出しに先立って、各チャンネルの
アドレスを作成し、前記第1アドレス記憶手段に記憶さ
せる第1アドレス作成手段と、 各チャンネルのアドレスの進み量に基づいて、各チャン
ネルについての前記波形メモリのアクセス回数を算出す
る第1アクセス回数算出手段と、 前記第1アドレス記憶手段に記憶された各チャンネルの
アドレスに基づき、前記第1アクセス回数算出手段で算
出された各チャンネルのアクセス回数ずつ、前記波形メ
モリを連続的にアクセスし、読み出した各チャンネルの
波形サンプルを前記第1波形サンプル記憶手段に記憶す
る第1アクセス手段と、 前記第1波形サンプル記憶手段に記憶された各チャンネ
ルの波形サンプルに基づき、各チャンネルのサンプリン
グ周期ごとの楽音を生成する楽音生成手段とを備え、 前記第2音源は、 各チャンネルのアドレスを記憶するための第2アドレス
記憶手段と、 各チャンネルの波形サンプルを記憶するための第2波形
サンプル記憶手段と、 前記波形メモリの読み出しに先立って、各チャンネルの
アドレスを作成し、前記第2アドレス記憶手段に記憶さ
せる第2アドレス作成手段と、 各チャンネルのアドレスの進み量に基づいて、各チャン
ネルについての前記波形メモリのアクセス回数を算出す
る第2アクセス回数算出手段と、 前記第2アドレス記憶手段に記憶された各チャンネルの
アドレスに基づき、前記第2アクセス回数算出手段で算
出された各チャンネルのアクセス回数ずつ、前記波形メ
モリを連続的にアクセスし、読み出した各チャンネルの
波形サンプルを前記第2波形サンプル記憶手段に記憶す
る第2アクセス手段と、 前記第2波形サンプル記憶手段に記憶された各チャンネ
ルの波形サンプルに基づき、各チャンネルのサンプリン
グ周期ごとの楽音を生成する楽音生成手段とを備え、 前記第1音源の前記第1アクセス手段による前記波形メ
モリのアクセスの空き時間を利用して、前記第2音源の
前記第2アクセス手段による前記波形メモリのアクセス
を行なうようにタイミング調整が為されていることを特
徴とする波形メモリ音源装置。
4. A waveform memory sound source device for generating musical tones of a plurality of channels by operating in a time-divisional manner on a plurality of channels at a predetermined sampling period, and a first tone generator for generating musical tones of a plurality of channels and another plurality of channels. A second sound source for generating a musical sound;
Mixing means for mixing and outputting the musical sound from the sound source and the musical sound from the second sound source, and a waveform memory storing a waveform sample, which is stored a predetermined number of times within the processing time for one channel within the predetermined sampling period. An accessible waveform memory, wherein the first sound source has first address storage means for storing an address of each channel, first waveform sample storage means for storing a waveform sample of each channel, Prior to the reading of the waveform memory, an address of each channel is created and stored in the first address storage means, first address creating means, and the waveform of each channel based on the advance amount of the address of each channel. First access count calculating means for calculating the memory access count; and each channel stored in the first address storing means. Based on the address of the channel, the waveform memory is continuously accessed by the number of times of access of each channel calculated by the first number of accesses calculation means, and the read waveform sample of each channel is stored in the first waveform sample storage means. The second sound source includes: a first access unit that stores the tone; 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 first waveform sample storage unit. A second address storage means for storing an address of each channel, a second waveform sample storage means for storing a waveform sample of each channel, and an address of each channel created prior to reading the waveform memory. The second address creating means to be stored in the second address storing means, and each channel. Second access number calculation means for calculating the number of times of access to the waveform memory for each channel based on the amount of advance of the address of the channel, and the second access number calculation means based on the address of each channel stored in the second address storage means. Second access means for continuously accessing the waveform memory for each access count of each channel calculated by the access count calculation means and storing the read waveform sample of each channel in the second waveform sample storage means; A tone generating means for generating a tone for each sampling period of each channel based on the waveform sample of each channel stored in the second waveform sample storage means, the waveform memory by the first access means of the first sound source. By using the free time of access of the second sound source by the second access means. A waveform memory sound source device, wherein timing adjustment is performed so as to access the waveform memory.
JP7322225A 1995-11-16 1995-11-16 Waveform memory sound generator Expired - Fee Related JP2933205B2 (en)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPH09146551A true JPH09146551A (en) 1997-06-06
JP2933205B2 JP2933205B2 (en) 1999-08-09

Family

ID=18141341

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7322225A Expired - Fee Related JP2933205B2 (en) 1995-11-16 1995-11-16 Waveform memory sound generator

Country Status (1)

Country Link
JP (1) JP2933205B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005057547A1 (en) * 2003-12-08 2005-06-23 Kabushiki Kaisha Kawai Gakki Seisakusho Musical sound generation device
JP2005172875A (en) * 2003-12-08 2005-06-30 Kawai Musical Instr Mfg Co Ltd Waveform reproducing device
US7544879B2 (en) 2004-07-15 2009-06-09 Yamaha Corporation Tone generation processing apparatus and tone generation assignment method therefor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005057547A1 (en) * 2003-12-08 2005-06-23 Kabushiki Kaisha Kawai Gakki Seisakusho Musical sound generation device
JP2005172875A (en) * 2003-12-08 2005-06-30 Kawai Musical Instr Mfg Co Ltd Waveform reproducing device
US7329811B2 (en) 2003-12-08 2008-02-12 Kabushiki Kaisha Kawai Gakki Seisakusho Musical sound generation device capable of effectively utilizing the access timing for an unused slave sound source
US7544879B2 (en) 2004-07-15 2009-06-09 Yamaha Corporation Tone generation processing apparatus and tone generation assignment method therefor

Also Published As

Publication number Publication date
JP2933205B2 (en) 1999-08-09

Similar Documents

Publication Publication Date Title
JP5534388B2 (en) Music generator
JPS62200399A (en) Parameter feeder for electronic musical apparatus
JP3637578B2 (en) Music generation method
US5892170A (en) Musical tone generation apparatus using high-speed bus for data transfer in waveform memory
US5559994A (en) Memory control apparatus permitting concurrent access by compressing addressing time window and multiplexing
JP2008249756A (en) Musical sound generating device
JP2933205B2 (en) Waveform memory sound generator
JP3541718B2 (en) Music generator
US5710386A (en) Method and apparatus for efficiently controlling access to stored operation control data and tone forming data
JP2882464B2 (en) Waveform memory sound generator
US6085309A (en) Signal processing apparatus
JP2002533804A (en) Method and arrangement for generating and executing a compressed program for a VLIW processor
JP4070347B2 (en) Music signal generator
JP3137043B2 (en) Waveform memory tone generator and tone generator
JP3148803B2 (en) Sound source device
JP3723973B2 (en) Sound generator
JP3152197B2 (en) Musical tone generation method
JPH09116851A (en) Memory device for digital video signal processing
JP2922519B2 (en) Video synthesizer
JP2956552B2 (en) Musical sound generating method and apparatus
JP3495746B2 (en) Audio playback device
JP2907051B2 (en) Apparatus and method for generating waveform
JPH02179698A (en) Processor for electronic musical instrument
JPH07271752A (en) Dsp device
JP2011197552A (en) Tone generation apparatus

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: 20090528

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100528

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110528

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees