JP3334502B2 - Waveform memory type sound generator - Google Patents
Waveform memory type sound generatorInfo
- Publication number
- JP3334502B2 JP3334502B2 JP19459096A JP19459096A JP3334502B2 JP 3334502 B2 JP3334502 B2 JP 3334502B2 JP 19459096 A JP19459096 A JP 19459096A JP 19459096 A JP19459096 A JP 19459096A JP 3334502 B2 JP3334502 B2 JP 3334502B2
- Authority
- JP
- Japan
- Prior art keywords
- waveform
- address
- bank
- data
- pitch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 239000011295 pitch Substances 0.000 claims description 77
- 238000000034 method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 8
- 238000005070 sampling Methods 0.000 description 6
- 101100326509 Catharanthus roseus CYP76B6 gene Proteins 0.000 description 3
- 101100326510 Swertia mussotii CYP76B10 gene Proteins 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002459 sustained effect Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 230000000994 depressogenic effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【0001】[0001]
【発明の属する技術分野】本発明は、電子楽器等におい
て波形メモリに記憶した波形データを読み出して楽音を
発生する波形メモリ型音源装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a waveform memory type tone generator for reading out waveform data stored in a waveform memory and generating a musical tone in an electronic musical instrument or the like.
【0002】[0002]
【従来の技術】従来、この種の音源装置として、原音波
形の時系列なサンプリング値である波形データを波形メ
モリに記憶し、発音開始時に、発生すべき楽音信号のピ
ッチと原音波形のピッチとの比(ピッチ比)であるFナ
ンバを定め、このFナンバの累算値を読出しアドレスと
してサンプリング周波数と同じ周波数で波形データを順
次読み出して再生するものがある。2. Description of the Related Art Conventionally, as a sound source device of this type, waveform data, which is a time-series sampling value of an original sound waveform, is stored in a waveform memory. An F number which is a ratio (pitch ratio) is determined, and the accumulated value of the F number is used as a read address to sequentially read and reproduce waveform data at the same frequency as the sampling frequency.
【0003】これにより、一種類の原音波形の波形デー
タでもピッチを変えて楽音信号を生成できるので、必要
なピッチの全ての波形データを記憶する必要がなく、波
形メモリの容量を小さくすることができる。なお、Fナ
ンバを累算した読出しアドレスは一般に小数値となり、
この小数値の読出しアドレスに対応する波形データは記
憶されていないので、実際にはこの読出しアドレスの近
傍の波形データに基づく補間処理により対応する波形デ
ータを生成している。[0003] Thus, a tone signal can be generated by changing the pitch even with one kind of original waveform waveform data, so that it is not necessary to store all waveform data of a required pitch, and the capacity of the waveform memory can be reduced. it can. Note that the read address obtained by accumulating the F number is generally a decimal value,
Since the waveform data corresponding to the read address of the decimal value is not stored, the corresponding waveform data is actually generated by interpolation based on the waveform data near the read address.
【0004】また、波形データは、例えば楽音の立ち上
がりに対応するアタック部の波形データと持続音に対応
するサスティン部の一部を切り出したいわゆるループ部
の波形データとで構成されており、楽音発生時には、ア
タック部の波形データを一通り読み出した後、ループ部
の波形データを繰り返し読み出すことにより、高品質で
持続時間の長い楽音波形を容量の少ない波形メモリで発
生できるようになっている。The waveform data includes, for example, waveform data of an attack portion corresponding to the rise of a musical tone and waveform data of a so-called loop portion obtained by cutting out a part of a sustain portion corresponding to a sustained tone. In some cases, high-quality and long-duration musical sound waveforms can be generated by a small-capacity waveform memory by repeatedly reading out the waveform data of the attack part and then repeatedly reading out the waveform data of the loop part.
【0005】なお、自然楽器の楽音は同種の楽音でもピ
ッチが異なれば波形も微妙に異なるので、例えば鍵盤式
電子楽器で1音色について複数の音域すなわち鍵域に対
応する複数セットの波形データを用い、押鍵された鍵の
鍵域に応じて波形データを選択する技術もある。Since the tone of a natural musical instrument has a slightly different waveform even if the pitch is different even for the same kind of tone, for example, a keyboard-type electronic musical instrument uses a plurality of sets of waveform data corresponding to a plurality of ranges, that is, a key range for one tone. There is also a technique for selecting waveform data according to the key range of a depressed key.
【0006】[0006]
【発明が解決しようとする課題】ところで、電子楽器に
おいて、2つの音高の間でピッチを連続的に変化させる
ポルタメントや、操作子の操作に応じて楽音のピッチを
連続的に変調させるピッチベンドと称する技術がある。
この場合、ピッチベンド操作子の操作量などに応じてF
ナンバを変化させることによりピッチ変化が得られる
が、発音開始時に選択した波形データでピッチだけを変
化させると、音質が不自然になるとともに、高音域で折
り返しノイズが発生したり低音域で高調波成分が落ちて
しまうなどの問題が生じる。このため、複数の音域に対
応する複数の波形データを用いてさらにピッチに応じて
波形データのループ部を切り換える必要がある。By the way, in an electronic musical instrument, a portamento that continuously changes the pitch between two pitches, a pitch bend that continuously modulates the pitch of a musical tone in response to the operation of an operating element, and the like. There is a technology called.
In this case, F is changed according to the operation amount of the pitch bend operation element or the like.
A pitch change can be obtained by changing the number.However, if only the pitch is changed with the waveform data selected at the start of sounding, the sound quality becomes unnatural, and aliasing noise occurs in the high frequency range and harmonics occur in the low frequency range. Problems such as dropping of components occur. For this reason, it is necessary to switch the loop portion of the waveform data according to the pitch by using a plurality of waveform data corresponding to a plurality of tone ranges.
【0007】しかし、このようなループ部の切換えを行
う場合には、切換時点での位相を合わせないと、クリッ
クノイズが発生する。そこで、ループ部のスタートアド
レスとエンドアドレスを波形のゼロクロス位置に一致さ
せておき、ゼロレベルでループ部を接続することが考え
られているが、切換えのタイミングを取ったりアドレス
制御を行うのに問題があり、CPUで制御するための機
構は考えられていなかった。例えば、CPUのクロック
と独立のタイミングで動作するアドレスカウンタを、C
PUから制御するのは困難であった。また、互いにサン
プリング数の異なる複数のループ波形を、順次接続する
のは困難であった。[0007] However, when switching such a loop portion, click noise occurs unless the phases at the time of switching are matched. Therefore, it has been considered that the start address and the end address of the loop portion are made to coincide with the zero-cross position of the waveform, and the loop portion is connected at the zero level. However, there is a problem in taking the timing of switching and performing address control. Therefore, a mechanism for controlling by the CPU has not been considered. For example, an address counter that operates at a timing independent of the CPU clock is represented by C
It was difficult to control from PU. Further, it has been difficult to sequentially connect a plurality of loop waveforms having different sampling numbers.
【0008】本発明は、波形メモリ型音源装置において
楽音のピッチの変更に応じたループ部の切換制御を簡単
にすることを課題とする。SUMMARY OF THE INVENTION It is an object of the present invention to simplify switching control of a loop portion in response to a change in pitch of a musical tone in a waveform memory type tone generator.
【0009】[0009]
【課題を解決するための手段】本発明の波形メモリ型音
源装置は、複数の音域の各々に対応する複数のバンクが
設定され、該音域に応じた波形データであってループ部
を有する波形データを該音域に対応する各バンク毎にそ
れぞれ記憶するとともに、該ループ部は同一の相対アド
レスに対応する波形の位相が各バンク間で同じ位相にそ
ろえてあり、該バンクに対応する音域が高いほどループ
部のサイズを小さくして各バンク毎にループ部のサイズ
を異ならせて記憶している波形メモリと、発生すべき楽
音のピッチに対応して楽音の1発音中で時間的に変化す
るピッチデータを発生するピッチデータ発生手段と、該
ピッチデータ発生手段で発生したピッチデータの属する
バンクを判定するバンク判定手段と、前記波形メモリの
波形データを指定する絶対アドレスを保持する波形アド
レス保持手段と、前記波形アドレス保持手段に保持され
た絶対アドレスを基準として前記ピッチデータに応じた
アドレス幅でループ部の波形データを順次読み出すため
の相対アドレスを発生する相対アドレス発生手段と、ル
ープ部の発音時に前記バンク判定手段で判定されたバン
クに応じて、前記波形アドレス保持手段の絶対アドレス
を更新するとともに、前記相対アドレス発生手段が発生
する前記相対アドレスを該バンクのループ部のサイズに
合わせてスケーリングする波形切換手段と、を備え、前
記ループ部の波形の切り換え時に、前記波形切換手段に
対して、切換先のループ部に対応する絶対アドレスとス
ケーリングデータのみを設定するようにしたことを特徴
とする。According to the present invention, there is provided a waveform memory type sound source device in which a plurality of banks corresponding to each of a plurality of sound ranges are set, and the waveform data having a loop portion is waveform data corresponding to the sound ranges. Is stored for each bank corresponding to the range , and the loop section has the same relative address.
The phase of the waveform corresponding to the
The higher the range corresponding to the bank, the higher the loop
Reduce the size of the loop and the size of the loop for each bank
A waveform memory storing at different, and pitch data generating means for generating pitch data that changes temporally in 1 pronounce musical tone corresponding to the pitch of the tone to be generated, with the pitch data generating means Bank determining means for determining a bank to which the generated pitch data belongs; waveform address holding means for holding an absolute address designating the waveform data in the waveform memory; and an absolute address held in the waveform address holding means as a reference. a relative address generating means for generating a relative address for sequentially reading the waveform data of the loop portion in an address width corresponding to the pitch data in accordance with the determination bank by the bank judging means when sound of the loop portion, the waveform address The absolute address of the holding means is updated , and the relative address generating means generates
The relative address to the size of the loop part of the bank.
And a waveform switching unit that scaled, before
When switching the waveform of the loop portion, the waveform switching means
On the other hand, the absolute address and
It is characterized in that only the calling data is set .
【0010】[0010]
【作用】本発明の波形メモリ型音源装置において、波形
メモリには複数の音域の各々に対応する複数のバンクが
設定され、これらの音域に応じた波形データであってル
ープ部を有する波形データが音域に対応する各バンク毎
にそれぞれ記憶されている。このループ部は同一の相対
アドレスに対応する波形の位相が各バンク間で同じ位相
にそろえてあり、該バンクに対応する音域が高いほどル
ープ部のサイズを小さくして各バンク毎にループ部のサ
イズを異ならせて記憶されている。相対アドレス発生手
段が発生する相対アドレスは、波形アドレス保持手段に
保持された絶対アドレスを基準としてピッチデータに応
じたアドレス幅でループ部の波形データを順次読み出す
ためのものであり、この相対アドレスに基づいて波形デ
ータが読み出されてピッチに応じた波形データとなる。
また、相対アドレスはバンクのループ部のサイズに合わ
せてスケーリングされる。 In the waveform memory type tone generator according to the present invention, a plurality of banks corresponding to a plurality of sound ranges are set in the waveform memory, and waveform data having a loop portion corresponding to these sound ranges is provided. It is stored for each bank corresponding to the range. This loop is the same relative
The phase of the waveform corresponding to the address is the same for each bank
The higher the range corresponding to the bank, the higher the
Loop size to reduce the loop size for each bank.
Are stored differently. The relative address generated by the relative address generating means is for sequentially reading out the loop section waveform data with an address width corresponding to the pitch data based on the absolute address held in the waveform address holding means. The waveform data is read based on the waveform data, and becomes waveform data corresponding to the pitch.
The relative address matches the size of the loop part of the bank.
Scaled.
【0011】また、波形メモリの波形データは波形アド
レス保持手段に保持された絶対アドレスにより指定され
る。ピッチデータ発生手段により発生すべき楽音のピッ
チに対応するピッチデータが発生されると、バンク判定
手段によりこのピッチデータの属するバンクが判定さ
れ、波形切換手段は、この判定されたバンクに対応する
絶対アドレスにより波形アドレス保持手段の絶対アドレ
スを更新する。また、相対アドレス発生手段が発生する
前記相対アドレスを該バンクのループ部のサイズに合わ
せてスケーリングする。したがって、絶対アドレスとス
ケーリングデータのみを切り換えるだけでバンクを切り
換えて波形メモリの読み出し制御を行うことになる。C
PUにより、ノイズの発生を防ぎつつ、任意のタイミン
グで絶対アドレスの切り換えをすることができる。The waveform data in the waveform memory is specified by an absolute address held in the waveform address holding means. When pitch data corresponding to the pitch of the musical tone to be generated is generated by the pitch data generating means, the bank to which the pitch data belongs is determined by the bank determining means, and the waveform switching means determines the absolute value corresponding to the determined bank. The absolute address of the waveform address holding means is updated by the address. Also, a relative address generating means is generated.
Match the relative address to the size of the loop part of the bank.
And scale. Therefore, the absolute address and
By switching only the calling data , the bank is switched to perform the read control of the waveform memory. C
The PU enables the absolute address to be switched at an arbitrary timing while preventing generation of noise.
【0012】[0012]
【発明の実施の形態】本発明の波形メモリ型音源装置
は、前記波形メモリの各バンクの波形データのループ部
が、先頭から末尾にかけてバンク間で互いに同じ位相を
持つように加工されているものが好ましい。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A waveform memory type tone generator according to the present invention is such that the loop portion of the waveform data of each bank of the waveform memory is processed so as to have the same phase between the banks from the beginning to the end. Is preferred.
【0013】また、本発明の波形メモリ型音源装置は、
前記波形メモリのバンク間でループ部のサンプル数が異
なっており、前記相対アドレス発生手段が、前記バンク
判定手段で判定されたバンクに応じたスケーリングデー
タを発生するスケーリングデータ発生手段と、該スケー
リングデータ発生手段で発生したスケーリングデータに
応じてスケーリングした相対アドレスを発生するスケー
リング手段とを備えているものでもよい。Further, the waveform memory type sound source device of the present invention comprises:
The number of samples of the loop portion differs between the banks of the waveform memory, and the relative address generation unit generates scaling data according to the bank determined by the bank determination unit; And scaling means for generating a relative address scaled according to the scaling data generated by the generating means.
【0014】また、本発明の波形メモリ型音源装置は、
前記波形メモリの各バンクの波形データのループ部のサ
ンプリング数が、各バンク間で互いに等しく設定されて
いるものでもよい。Further, the waveform memory type tone generator of the present invention comprises:
The sampling number of the loop portion of the waveform data of each bank of the waveform memory may be set to be equal between the banks.
【0015】また、本発明の波形メモリ型音源装置は、
前記波形メモリの波形データが、発音開始時に前記ルー
プ部に先立って読み出されるワンショット部を有するも
のでもよい。Further, the waveform memory type sound source device of the present invention comprises:
The waveform data of the waveform memory may have a one-shot portion which is read out at the start of sound generation prior to the loop portion.
【0016】図3は本発明の波形メモリ型音源装置を適
用した鍵盤式電子楽器のブロック図である。CPU1は
ROM2に格納されている制御プログラムに基づいてR
AM3のワーキングエリアを使用して電子楽器全体の制
御を行い、鍵盤4の演奏操作に応じた通常の楽音発生を
行う鍵処理と、パネルスイッチ5の操作に応じたパネル
スイッチ処理を行う。なお、表示器6は液晶表示パネル
で構成されており、CPU1の表示制御により、現在指
定されている音色(波形データ)の種類等を表示する。FIG. 3 is a block diagram of a keyboard electronic musical instrument to which the waveform memory type tone generator of the present invention is applied. CPU 1 executes R based on a control program stored in ROM 2.
The entire electronic musical instrument is controlled using the working area of the AM 3, and key processing for generating a normal tone according to the performance operation of the keyboard 4 and panel switch processing according to the operation of the panel switch 5 are performed. The display 6 is formed of a liquid crystal display panel, and displays the type of the tone color (waveform data) currently specified by the display control of the CPU 1.
【0017】音源7は、後述詳細に説明するように、C
PU1から入力される各種データに基づいて波形メモリ
8から波形データを読み出し、この波形データに基づい
てデジタル楽音信号を発生する。そして、このデジタル
楽音信号はD/A変換器9でアナログ信号に変換されサ
ウンドシステム10で楽音が発生される。As will be described in detail later, the sound source 7
The waveform data is read from the waveform memory 8 based on various data input from the PU 1 and a digital tone signal is generated based on the waveform data. The digital tone signal is converted into an analog signal by the D / A converter 9 and a tone is generated by the sound system 10.
【0018】ピッチベンドホイール11は、ホイールと
A/D変換器で構成されており、ホイールの回転角度に
応じたアナログ信号をA/D変換器で一定のサンプリン
グ周期でデジタル信号に変換し、このデジタル信号の値
が確定する毎にCPU1にタイマ割込み信号を出力す
る。これにより、CPU1はA/D変換器の変換サイク
ルに相当する一定周期でタイマ割込イベント処理を行っ
てピッチの変調量に相当するベンド値を取り込む。The pitch bend wheel 11 is composed of a wheel and an A / D converter. The A / D converter converts an analog signal corresponding to the rotation angle of the wheel into a digital signal at a constant sampling cycle. The timer interrupt signal is output to the CPU 1 every time the signal value is determined. As a result, the CPU 1 performs the timer interrupt event processing at a constant period corresponding to the conversion cycle of the A / D converter, and fetches a bend value corresponding to the pitch modulation amount.
【0019】図2は波形メモリ8の1つの音色について
のメモリマップを示す図であり、波形メモリ8には多種
の音色に対応する波形データが図2のようなフォーマッ
トでそれぞれ記憶されている。1つの音色の波形データ
は、鍵盤4の低音側から順に割り振られた1オクターブ
の音域に対応する8つのバンク(バンク1〜バンク8)
で構成されており、各バンクの波形データは、そのバン
クに対応する音域のピッチに適した波形データが記憶さ
れている。例えば、各音域内でピッチを変化させても、
折り返しノイズや高調波落ちが生じないような波形デー
タとなっている。FIG. 2 is a diagram showing a memory map for one timbre of the waveform memory 8. The waveform memory 8 stores waveform data corresponding to various timbres in a format as shown in FIG. Waveform data of one timbre is divided into eight banks (bank 1 to bank 8) corresponding to a one-octave range allocated in order from the lower side of the keyboard 4.
The waveform data of each bank stores waveform data suitable for the pitch of the tone range corresponding to the bank. For example, even if you change the pitch within each range,
The waveform data does not cause aliasing noise or harmonic drop.
【0020】また、各バンクは、楽音の立ち上がり部に
対応するアタック波形(ワンショット部)と発音持続部
分に対応するループ波形(ループ部)とで構成されてお
り、ループ波形の先頭のアドレスは波形アドレスWA
(bn)(bnはバンク番号)として波形メモリ8の絶
対アドレスでROM2に記憶されており、アタック波形
の先頭のアドレスはスタートアドレスSA(bn)とし
て、また、ループ波形の最終のアドレスはエンドアドレ
スEA(bn)として、それぞれ波形アドレスWA(b
n)からの相対アドレスでROM2に記憶されている。
なお、この実施例では、各バンクの音域とループ波形の
容量は次表1のように設定されている。Each bank is composed of an attack waveform (one-shot portion) corresponding to the rising portion of the musical tone and a loop waveform (loop portion) corresponding to the sustained portion of the musical tone. Waveform address WA
(Bn) (bn is the bank number) is stored in the ROM 2 at the absolute address of the waveform memory 8, the start address of the attack waveform is the start address SA (bn), and the last address of the loop waveform is the end address. As EA (bn), the waveform address WA (b
The address is stored in the ROM 2 with a relative address from n).
In this embodiment, the range of each bank and the capacity of the loop waveform are set as shown in Table 1 below.
【0021】[0021]
【表1】 なお、波形データの1サンプルが、1ワードに相当す
る。[Table 1] One sample of the waveform data corresponds to one word.
【0022】図1は音源7のブロック図である。この実
施例の音源7は16チャンネルの多重時分割処理を行う
ものであり、制御レジスタ群71の各レジスタ71a〜
71hはそれぞれ16チャンネルに対応するように16
個づつ設けられており、他の回路も各チャンネルに対応
して時分割動作を行う。そして、この音源7に対して、
CPU1は、楽音を発生するとき空きチャンネルの検索
やトランケート処理により発音割当を行い、制御レジス
タ群71の割当チャンネルに対応する各レジスタ71a
〜71hにデータをセットして楽音を発生する。FIG. 1 is a block diagram of the sound source 7. The tone generator 7 of this embodiment performs multiplex time division processing of 16 channels.
71h corresponds to 16 channels so that each corresponds to 16 channels.
The other circuits also perform a time-division operation corresponding to each channel. And for this sound source 7,
The CPU 1 assigns a sound by searching for an empty channel or performing a truncation process when generating a musical tone, and registers registers 71 a corresponding to the assigned channels of the control register group 71.
Data is set in .about.71h to generate a musical tone.
【0023】レジスタ71aには鍵盤4やピッチベンド
ホイール11で決まる実際に発音すべき楽音のピッチデ
ータPITがセットされ、レジスタ71bにはアタック
波形のスタートアドレスSA(相対アドレス)がセット
され、レジスタ71cにはループ波形の最終のアドレス
EA(相対アドレス)がセットされる。また、レジスタ
71dには、後述説明するように波形データのバンクに
応じて読み出しアドレスをスケーリングするためのスケ
ーリングデータSFがセットされる。また、レジスタ7
1eには、ループ波形のスタートアドレスWA(絶対ア
ドレス)がセットされ、レジスタ71fにはノートオン
データNONがセットされる。また、レジスタ71gに
は楽音のエンベロープのレートERがセットされ、レジ
スタ71hにはエンベロープのレベルELがセットされ
る。The register 71a is set with pitch data PIT of a musical tone to be actually generated which is determined by the keyboard 4 and the pitch bend wheel 11, the register 71b is set with an attack waveform start address SA (relative address), and the register 71c is set. Is set to the final address EA (relative address) of the loop waveform. Further, scaling data SF for scaling the read address according to the bank of the waveform data is set in the register 71d as described later. Also, register 7
The start address WA (absolute address) of the loop waveform is set in 1e, and the note-on data NON is set in the register 71f. The register 71g is set with the musical tone envelope rate ER, and the register 71h is set with the envelope level EL.
【0024】Fナンバ発生器(FG)72は、レジスタ
71aのピッチデータPITと予め決められた波形ピッ
チとの比をFナンバFNとして発生する。なお、この予
め決められた波形ピッチとは例えばバンク1の波形デー
タの原音波形のピッチであり、このFナンバ発生器72
から発生されるFナンバFN自体は、バンクの切換えを
行っても一定の波形ピッチを基準として変化するもので
ある。An F number generator (FG) 72 generates a ratio between the pitch data PIT of the register 71a and a predetermined waveform pitch as an F number FN. Note that the predetermined waveform pitch is, for example, the pitch of the original waveform of the waveform data of bank 1, and this F number generator 72
The F-number FN itself generated from the above changes with reference to a constant waveform pitch even when the bank is switched.
【0025】アドレス制御回路(AC)73は内部にア
ドレスカウンタを備えており、先ずレジスタ71bにア
タック波形のスタートアドレスSAがセットされるとこ
のアドレスSAをアドレスカウンタにセットし、Fナン
バ発生器72からFナンバFNが出力されると、そのF
ナンバFNをアドレスカウンタでスタートアドレスSA
に累算し、その累算値すなわちアドレスカウント値を相
対アドレスとして出力するとともに、補間を行うための
アドレスデータを出力する。そして、アドレスカウント
値がループ波形のエンドアドレスEAに達すると(ほと
んどの場合、エンドアドレスEAを超えたとき)、現在
のカウント値からループサイズ(=EA)を減算し、そ
の値をアドレスカウンタにセットし、FナンバFNの累
算を繰り返す。また、このアドレス制御回路73から出
力されるアドレスカウント値(相対アドレス)はスケー
ラ(SC)74に供給される。The address control circuit (AC) 73 has an address counter therein. When an attack waveform start address SA is set in the register 71b, the address SA is set in the address counter, and the F number generator 72 Output the F number FN from the
Number FN is used as the start address SA by the address counter.
And outputs the accumulated value, that is, the address count value as a relative address, and also outputs address data for performing interpolation. Then, when the address count value reaches the end address EA of the loop waveform (in most cases, when the address exceeds the end address EA), the loop size (= EA) is subtracted from the current count value, and the value is stored in the address counter. Set and repeat the accumulation of F number FN. The address count value (relative address) output from the address control circuit 73 is supplied to a scaler (SC) 74.
【0026】スケーラ74は、各バンクのループ波形の
容量に応じてアドレスカウント値をスケーリングする回
路であり、この実施例では図4に示したようにシフタで
構成されている。すなわち、前記のように、Fナンバ発
生器72から発生されるFナンバFN自体はバンクの切
換えを行っても一定の波形ピッチ(バンク1の原音波形
のピッチ)を基準として変化するものであるが、前記の
ようにこの実施例では波形の容量がバンク1から順に1
/2づつ小さくなっているので、アドレス制御回路73
から出力されるアドレスカウント値をバンクの波形の容
量に合わせて1/2倍づつスケーリングする。The scaler 74 is a circuit for scaling the address count value in accordance with the loop waveform capacity of each bank. In this embodiment, the scaler 74 is constituted by a shifter as shown in FIG. That is, as described above, the F-number FN itself generated from the F-number generator 72 changes based on a constant waveform pitch (the pitch of the original sound waveform of bank 1) even when the bank is switched. As described above, in this embodiment, the capacity of the waveform
/ 2, the address control circuit 73
Is scaled by 1/2 in accordance with the capacity of the waveform of the bank.
【0027】このような1/2倍にする演算はアドレス
カウント値をシフタで1ビットシフトすることにより簡
単に実行することができ、スケーラ74にはこのシフト
量を指定するシフトデータSFが供給される。なお、シ
フトデータSFは、次表2に示したように各バンクに対
応する値であり、シフタのシフト段数を示している。こ
れにより、バンクが高音域側に1つ切り換わる毎に1/
2倍になり、波形メモリ8に出力するアドレスの間隔が
ループ波形の容量に合ったものとなる。Such an operation of halving can be easily executed by shifting the address count value by one bit with a shifter, and the scaler 74 is supplied with shift data SF designating the shift amount. You. Note that the shift data SF is a value corresponding to each bank as shown in Table 2 below, and indicates the number of shift stages of the shifter. As a result, every time the bank is switched to the higher register side, 1 /
That is, the interval between addresses output to the waveform memory 8 matches the capacity of the loop waveform.
【0028】[0028]
【表2】 [Table 2]
【0029】加算器75はレジスタ71eにセットされ
た波形アドレスWA(ループ波形のスタートアドレス)
(絶対アドレス)とスケーラ74から出力されるアドレ
カウント値の整数部とを加算し、その加算値を波形メモ
リ8の実際のアクセスアドレスとして出力する。波形メ
モリ8からは、アクセスアドレスの前後の複数点分のサ
ンプルが、補間演算用に出力される。The adder 75 has a waveform address WA (start address of the loop waveform) set in the register 71e.
(Absolute address) is added to the integer part of the address count value output from the scaler 74, and the added value is output as the actual access address of the waveform memory 8. From the waveform memory 8, samples for a plurality of points before and after the access address are output for interpolation calculation.
【0030】補間回路(IP)76は、波形メモリ8か
ら読み出された波形データとスケーラ74から出力され
るアドレスカウント値の小数部とに基づいて波形データ
を補間し、その補間済の波形データを乗算回路77に出
力する。An interpolation circuit (IP) 76 interpolates the waveform data based on the waveform data read from the waveform memory 8 and the decimal part of the address count value output from the scaler 74, and interpolates the interpolated waveform data. Is output to the multiplication circuit 77.
【0031】エンベロープジェネレータ(EG)78
は、レジスタ71gのエンベロープのレートERとレジ
スタ71hのエンベロープのレベルELとに基づいて、
ノートオンに応じた楽音の発生開始から同楽音の発音終
了にいたるまでの、楽音の音量の変化を制御するエンベ
ロープ値を発生して乗算回路77に出力する。このエン
ベロープ値が乗算回路77で補間回路76からの波形デ
ータに乗算される。The envelope generator (EG) 78
Is based on the envelope rate ER of the register 71g and the envelope level EL of the register 71h.
An envelope value for controlling a change in the volume of the musical tone from the start of generation of the musical tone according to the note-on to the end of the tone generation of the musical tone is generated and output to the multiplication circuit 77. The envelope value is multiplied by the waveform data from the interpolation circuit 76 by the multiplication circuit 77.
【0032】そして、エンベロープが付与された波形デ
ータはアキュムレータ(ACC)79に出力され、アキ
ュムレータ79は、16チャンネルの各波形データを累
算して、1サイクル毎に累算データを楽音信号として出
力する。The envelope-added waveform data is output to an accumulator (ACC) 79. The accumulator 79 accumulates the 16-channel waveform data and outputs the accumulated data as a tone signal every cycle. I do.
【0033】図5はCPU1が処理をする制御プログラ
ムのメインルーチンのフローチャート、図6はノートオ
ンイベント処理のフローチャート、図7はタイマ割込イ
ベント処理のフローチャートであり、次に、各フローチ
ャートに基づいて実施例の動作を説明する。なお、以下
の説明および各フローチャートにおいて各レジスタ等を
下記のラベルで表記し、それらの記憶内容は特に断らな
い限り同一のラベルで表す。FIG. 5 is a flowchart of a main routine of a control program processed by the CPU 1, FIG. 6 is a flowchart of a note-on event process, and FIG. 7 is a flowchart of a timer interrupt event process. The operation of the embodiment will be described. In the following description and each flowchart, each register and the like are represented by the following labels, and their storage contents are represented by the same label unless otherwise specified.
【0034】i:音源7における発音割当チャンネルの
チャンネル番号のレジスタ NN:発音指示のあったノートナンバのレジスタ NN(i) :iチャンネルのノートナンバのレジスタ PB:ピッチベンドホイールのベンド値のレジスタ PIT(i) :iチャンネルのピッチデータのレジスタ bn(i) :iチャンネルの判定されたバンクのバンク番
号のレジスタI: register of the channel number of the tone generation assigned channel in the tone generator 7 NN: register of the note number for which the tone is instructed NN (i): register of the note number of the i channel PB: register of the bend value of the pitch bend wheel PIT ( i): i-channel pitch data register bn (i): i-channel determined bank number register
【0035】電源の投入によって図5のメインルーチン
の処理を開始すると、ステップS1で各レジスタのリセ
ット等の初期設定を行い、ステップS2で鍵盤4の鍵イ
ベントの検出により図6のノートオンイベント処理など
の鍵処理を行い、ステップS3でパネルスイッチ5の操
作検出により音色設定等のパネルスイッチ処理を行い、
ステップS2に戻る。When the processing of the main routine of FIG. 5 is started by turning on the power, initialization such as resetting of each register is performed in step S1, and the note-on event processing of FIG. Key processing such as sound processing, and panel switch processing such as tone setting performed by detecting operation of the panel switch 5 in step S3.
It returns to step S2.
【0036】図6のノートオンイベント処理は1つのキ
ーオンイベントに対応する処理であり、まず、ステップ
S11でキーオンイベントの有った鍵のノートナンバを
レジスタNNに格納するとともに現在のベンド値をレジ
スタPBに格納し、ステップS12で、音源7の複数チ
ャンネルのいずれかのチャンネルを、新たな楽音の発生
チャンネルとして決定するチャンネルの発音割当を行っ
て、割当チャンネルのチャンネル番号をレジスタiに格
納する(1≦i≦16)。The note-on event process of FIG. 6 is a process corresponding to one key-on event. First, in step S11, the note number of the key having the key-on event is stored in the register NN and the current bend value is stored in the register NN. In step S12, a sound is assigned to a channel that determines one of a plurality of channels of the sound source 7 as a new tone generation channel, and the channel number of the assigned channel is stored in the register i ( 1 ≦ i ≦ 16).
【0037】次に、ステップS13でベンド値PBに基
づいてノートナンバNNのピッチ変動処理を行って、発
生すべきピッチのピッチデータをレジスタPIT(i) に
格納するとともに音源7の制御レジスタ群71のiチャ
ンネルにこのピッチデータを設定し、ステップS14で
ピッチPIT(i) に応じてバンクを判定し、判定したバ
ンクのバンク番号をレジスタbn(i) に格納する。Next, in step S13, pitch change processing of the note number NN is performed based on the bend value PB, pitch data of a pitch to be generated is stored in the register PIT (i), and the control register group 71 of the tone generator 7 is controlled. The pitch data is set in the i channel of the above, the bank is determined in step S14 according to the pitch PIT (i), and the bank number of the determined bank is stored in the register bn (i).
【0038】次に、ステップS15〜ステップS18で
音源7の制御レジスタ群71のiチャンネルに対してデ
ータを設定する。先ず、ステップS15で、iチャンネ
ルに、バンク番号bn(i) の示すバンクの波形データの
波形アドレスWA,スタートアドレスSA,エンドアド
レスEAを設定し、ステップS16でiチャンネルのス
ケーリングデータSFを設定し、ステップS17でiチ
ャンネルのその他のデータ(エンベロープデータER
等)を設定し、ステップS18でiチャンネルにノート
オンデータNONを送出して発音指示を行う。そして、
ステップS19で現在のノートナンバNNをレジスタN
N(i) に格納して処理を終了する。Next, in steps S15 to S18, data is set for the i channel of the control register group 71 of the sound source 7. First, in step S15, the waveform address WA, start address SA, and end address EA of the waveform data of the bank indicated by the bank number bn (i) are set in the i channel, and in step S16, the scaling data SF of the i channel is set. In step S17, other data of the i-channel (envelope data ER
) Is set, and in step S18, note-on data NON is transmitted to the i channel to issue a sound generation instruction. And
In step S19, the current note number NN is stored in the register N.
N (i) and the process ends.
【0039】以上の処理により、音源7にピッチデータ
PIT(i) 、波形アドレスWA、スタートアドレスS
A、エンドアドレスEA、スケーリングデータSF、ノ
ートオンデータNON、エンベロープのレートERおよ
びレベルELが設定されるとともに、レジスタbn(i)
にiチャンネルの判定されたバンクのバンク番号が保持
され、レジスタNN(i) にiチャンネルのノートナンバ
が保持される。With the above processing, the pitch data PIT (i), the waveform address WA, the start address S
A, end address EA, scaling data SF, note-on data NON, envelope rate ER and level EL are set, and register bn (i)
Holds the bank number of the bank determined to be the i-channel, and the register NN (i) holds the note number of the i-channel.
【0040】図7のタイマ割込イベント処理はピッチベ
ンドホイール11におけるA/D変換の変換サイクルで
起動され、ステップS21でピッチベンドホイール11
のベンド値を取り込んでレジスタPBに格納する。ステ
ップS22では、チャンネル管理用のチャンネル番号の
レジスタiを“1”にセットし、ステップS28での判
定処理とステップS29でのレジスタiのインクリメン
トにより、チャンネル1〜チャンネル16についてステ
ップS23〜ステップS27の処理を繰り返す。The timer interrupt event process of FIG. 7 is started in the conversion cycle of A / D conversion in the pitch bend wheel 11, and in step S21, the pitch bend wheel 11
Is stored in the register PB. In step S22, the register i of the channel number for channel management is set to "1", and the determination processing in step S28 and the increment of the register i in step S29 result in steps S23 to S27 for channels 1 to 16. Repeat the process.
【0041】ステップS23では、ベンド値PBに基づ
いてノートナンバNN(i) のピッチ変動処理を行って、
発生すべきピッチのピッチデータをレジスタPIT(i)
に格納して音源7にこのピッチデータを設定し、ステッ
プS24で現在のチャンネルiがループ部(ループ波形
の再生時)であるか否かを判定し、ループ部であればス
テップS25に進み、ループ部でなければバンク切換え
を行わないのでそのままステップS28に進む。In step S23, pitch fluctuation processing of the note number NN (i) is performed based on the bend value PB.
The pitch data of the pitch to be generated is stored in the register PIT (i).
The pitch data is set in the sound source 7 and it is determined in step S24 whether or not the current channel i is a loop portion (when a loop waveform is reproduced). If the current channel i is a loop portion, the process proceeds to step S25. If it is not the loop section, the bank switching is not performed, and the process directly proceeds to step S28.
【0042】ステップS25ではピッチPIT(i) に応
じてバンクを判定して判定結果のバンク番号をレジスタ
bn(i) に格納し、ステップS26でバンク番号bn
(i) に変化が有ったか否かを判定する。バンク番号bn
(i) に変化がなければバンクを切り換える必要がないの
でステップS28に進み、バンク番号bn(i) に変化が
あればバンクを切り換える必要があるので、ステップS
27で、音源7の制御レジスタ群71のiチャンネル
に、バンク番号bn(i) の示すバンクの波形データの波
形アドレスWAとスケーリングデータSFを設定し、ス
テップS28に進む。以上のようにして、全てのチャン
ネルについて処理を終了し、ステップS28でi=16
となると元のルーチンに復帰する。In step S25, the bank is determined according to the pitch PIT (i), and the bank number of the determination result is stored in the register bn (i). In step S26, the bank number bn is determined.
(i) It is determined whether or not there has been a change. Bank number bn
If there is no change in (i), there is no need to switch the bank, so the process proceeds to step S28. If there is a change in bank number bn (i), it is necessary to switch the bank.
At 27, the waveform address WA and the scaling data SF of the waveform data of the bank indicated by the bank number bn (i) are set in the i channel of the control register group 71 of the tone generator 7, and the process proceeds to step S28. As described above, the processing is completed for all the channels, and in step S28, i = 16
Then, the process returns to the original routine.
【0043】以上の処理により、リアルタイムに入力さ
れるベンドデータPBにより変化するピッチPIT(i)
に応じて、発音すべきピッチの音域すなわちバンクが変
化すると波形アドレスWAが書き換えられ、この波形ア
ドレスWAで指定された波形データにバンクが切り換え
られる。波形メモリ8の波形データは波形アドレスWA
を基準にした相対アドレスで読み出され、また、波形デ
ータは2つのバンクのループ部を1つの相対アドレスで
読み出した場合、各ループ部の同じ位相のサンプルが読
み出されるように、ループ部の位相が、異なるバンク間
でそろえてある。したがって、現在の読み出し位置がル
ープ波形の途中であっても、波形アドレスWAが書き換
えられた時点で、相対アドレスの現在値に関わりなく、
大きなノイズを発生することなくリアルタイムに波形の
切換えが行われる。また、アドレス制御の点では波形ア
ドレスを書き換えるだけでバンクを切り換えることがで
きる。With the above processing, the pitch PIT (i) that changes according to the bend data PB input in real time
, The waveform address WA is rewritten and the bank is switched to the waveform data specified by the waveform address WA when the range of the pitch to be sounded, that is, the bank changes. The waveform data in the waveform memory 8 is a waveform address WA
The waveform data is read out at a relative address based on the reference, and when the loop portion of the two banks is read out at one relative address, the phase of the loop portion is read out so that samples of the same phase of each loop portion are read out. However, they are aligned between different banks. Therefore, even if the current read position is in the middle of the loop waveform, when the waveform address WA is rewritten, regardless of the current value of the relative address,
Waveform switching is performed in real time without generating large noise. Further, in terms of address control, the bank can be switched only by rewriting the waveform address.
【0044】以上の実施例では、バンクの音域とループ
波形の容量を前掲の表1のように各バンクを1オクター
ブ毎に設定しているが、次表3のように1オクターブを
3つのバンクに分けて各バンクを4鍵毎に設定してもよ
い。In the above embodiment, the range of the bank and the capacity of the loop waveform are set for each octave as shown in Table 1 above. However, as shown in Table 3, one octave is divided into three banks. Each bank may be set for every four keys.
【0045】[0045]
【表3】 [Table 3]
【0046】このようにバンク分けすると、各オクター
ブにおいてAグループ、Bグループ、Cグループの各容
量の関係がA:B:C=6:5:4の関係になり、Cグ
ループの各バンクの容量は前記実施例のバンク1〜バン
ク8の容量と同じである。そこで、図1のスケーラ74
を図8のようにシフタ74a′と累算器74b′とで構
成したスケーラ74′とし、シフタ74a′を1チャン
ネル当たり2スロットのシフト動作を行うとともに、こ
のスロットの各出力を累算器74b′で累算する。ここ
で、スロット1には前記実施例におけるシフトデータS
Fと同じ値のシフトデータSFoを供給し、スロット2
にはこれにグループシフトデータSFgを加算したシフ
トデータSFo+SFgまたはリセット信号を供給す
る。When the banks are divided in this way, the relationship between the capacities of the A group, the B group, and the C group in each octave becomes A: B: C = 6: 5: 4, and the capacities of the banks of the C group. Is the same as the capacity of the banks 1 to 8 in the above embodiment. Therefore, the scaler 74 of FIG.
Is a scaler 74 'composed of a shifter 74a' and an accumulator 74b 'as shown in FIG. 8. The shifter 74a' performs a shift operation of two slots per channel, and outputs each output of this slot to an accumulator 74b. '. Here, the slot 1 stores the shift data S in the above embodiment.
The shift data SFo having the same value as that of the F
Is supplied with the shift data SFo + SFg obtained by adding the group shift data SFg thereto or a reset signal.
【0047】次表4はシフトデータSFo、グループシ
フトデータSFg、リセット信号と各オクターブとグル
ープの関係を示すものであり、SFo,SFgの“−
1”,“−2”,…はそれぞれ1/2,1/4,…のシ
フトに対応している。Table 4 below shows the relationship between the shift data SFo, the group shift data SFg, the reset signal, and each octave and group.
1 "," -2 ",... Correspond to shifts of 1/2, 1/4,.
【0048】[0048]
【表4】 [Table 4]
【0049】これらの組合せおよび図8の構成からわか
るように、スケーラ74′から出力されるアドレスカウ
ント値は次のようになる。As can be seen from these combinations and the configuration of FIG. 8, the address count value output from scaler 74 'is as follows.
【0050】先ず、ピッチに応じて判定されたバンクが
オクターブ1に属する場合は、SFo=0でシフタ74
a′のスロット1はシフトを行わない。したがって、判
定されたバンクがAグループ(バンク1)のときはSF
o+SFg=−1となり、スロット2は1ビットシフト
するので、スケーラ74′に入力されたアドレスカウン
ト値にその1/2倍を累算した値が出力される。また、
バンクがBグループ(バンク2)のときはSFo+SF
g=−2となり、スロット2は2ビットシフトするの
で、スケーラ74′に入力されたアドレスカウント値に
その1/4倍を累算した値が出力され、バンクがCグル
ープ(バンク3)ときのはスロット2はリセットされて
“0”を出力するので、スケーラ74′に入力されたア
ドレスカウント値がそのまま出力される。First, if the bank determined according to the pitch belongs to octave 1, shifter 74 is set with SFo = 0.
Slot 1 of a 'does not shift. Therefore, when the determined bank is group A (bank 1), SF
Since o + SFg = -1 and the slot 2 is shifted by one bit, a value obtained by accumulating 1/2 the address count value input to the scaler 74 'is output. Also,
SFo + SF when bank is group B (bank 2)
g = -2, and the slot 2 is shifted by 2 bits, so that a value obtained by accumulating 1/4 times the address count value input to the scaler 74 'is output. Since the slot 2 is reset and outputs "0", the address count value input to the scaler 74 'is output as it is.
【0051】判定されたバンクがオクターブ2に属する
場合は、SFo=−1でシフタ74a′のスロット1は
1ビットシフトする。したがって、判定されたバンクが
Aグループ(バンク4)のときはSFo+SFg=−2
となり、スロット2は2ビットシフトするので、スケー
ラ74′に入力されたアドレスカウント値の1/2倍と
1/4倍を累算した値が出力される。また、バンクがB
グループ(バンク5)のときはSFo+SFg=−3と
なり、スロット2は3ビットシフトするので、スケーラ
74′に入力されたアドレスカウント値の1/2倍と1
/8倍を累算した値が出力され、バンクがCグループ
(バンク6)ときのはスロット2はリセットされて
“0”を出力するので、アドレスカウント値は1/2倍
されて出力される。If the determined bank belongs to octave 2, slot 1 of shifter 74a 'is shifted by 1 bit at SFo = -1. Therefore, when the determined bank is the A group (bank 4), SFo + SFg = −2
Since the slot 2 is shifted by 2 bits, a value obtained by accumulating 1/2 times and 1/4 times the address count value input to the scaler 74 'is output. Also, if the bank is B
In the case of the group (bank 5), SFo + SFg = -3, and the slot 2 is shifted by 3 bits, so that the address count value input to the scaler 74 'is 1/2 times and 1
A value obtained by accumulating / 8 times is output, and when the bank is group C (bank 6), slot 2 is reset and outputs "0", so that the address count value is output by multiplying by 1/2. .
【0052】判定されたバンクがオクターブ3に属する
場合は、SFo=−2でシフタ74a′のスロット1は
2ビットシフトする。したがって、判定されたバンクが
Aグループ(バンク7)のときはSFo+SFg=−3
となり、スロット2は3ビットシフトするので、スケー
ラ74に入力されたアドレスカウント値の1/4倍と1
/8倍を累算した値が出力される。また、バンクがBグ
ループ(バンク8)ときのはSFo+SFg=−4とな
り、スロット2は4ビットシフトするので、アドレスカ
ウント値の1/4倍と1/16倍を累算した値が出力さ
れ、バンクがCグループ(バンク9)ときのは、スロッ
ト2はリセットされて“0”を出力するので、アドレス
カウント値は1/4倍されて出力される。If the determined bank belongs to octave 3, slot 1 of shifter 74a 'is shifted by 2 bits at SFo = -2. Therefore, when the determined bank is the A group (bank 7), SFo + SFg = -3.
Since slot 2 is shifted by 3 bits, the address count value input to the scaler 74 is 1/4 times and 1
A value obtained by accumulating / 8 times is output. When the bank is group B (bank 8), SFo + SFg = -4, and slot 2 is shifted by 4 bits, so that a value obtained by accumulating 1/4 and 1/16 times of the address count value is output. When the bank is group C (bank 9), slot 2 is reset and outputs "0", so that the address count value is multiplied by 1/4 and output.
【0053】以下同様に、スケーラ74′は判定された
バンクのオクターブとグループに応じたSFo,SFg
の値により、それぞれシフト動作と累算を行ってアドレ
スカウント値を出力する。これにより、アドレスカウン
ト値は前掲の表3に示した各バンク毎の容量に応じた値
にスケーリングされ、その整数部が加算器75に、ま
た、小数部が補間回路76に出力される。Similarly, the scaler 74 'outputs SFo and SFg according to the octave and group of the determined bank.
, A shift operation and accumulation are performed, and an address count value is output. As a result, the address count value is scaled to a value corresponding to the capacity of each bank shown in Table 3 above, and its integer part is output to the adder 75 and its decimal part is output to the interpolation circuit 76.
【0054】なお、この実施例の場合も前記実施例と同
様に、各バンク毎に波形アドレスWAが絶対アドレス
で、また、スタートアドレスSAとエンドアドレスEA
が相対アドレスでそれぞれ設定されており、発音開始時
には波形アドレスWA,スタートアドレスSA,エンド
アドレスEAを設定し、以後、波形アドレスWAを書き
換えるだけでバンクを切り換えることができる。In this embodiment, as in the previous embodiment, the waveform address WA is an absolute address for each bank, and the start address SA and end address EA are provided for each bank.
Are set as relative addresses. At the start of sound generation, the waveform address WA, start address SA, and end address EA are set, and thereafter, the bank can be switched only by rewriting the waveform address WA.
【0055】前記の実施例では、各バンク毎に波形の容
量を異ならせているが、例えば全バンクを共通に1Kワ
ードとするなど同じ容量としてもよく、この場合にはス
ケーラは必要とせず、アドレス制御回路73の出力を加
算器75および補間回路76に供給するようにすればよ
い。In the above embodiment, the waveform capacity is different for each bank. However, the same capacity may be used, for example, 1K words are commonly used for all banks. In this case, a scaler is not required. The output of the address control circuit 73 may be supplied to the adder 75 and the interpolation circuit 76.
【0056】さらに、鍵盤の中央音域は4鍵毎、端の音
域は12鍵毎にするなど、音域毎に音域幅(鍵数)を異
ならせるようにしてもよい。Further, the width of the range (the number of keys) may be different for each range, for example, the center range of the keyboard is set to every four keys, and the end range is set to every 12 keys.
【0057】また、波形データとして、アタック波形を
持つバンクとアタック波形を持たずループ波形のみのバ
ンクを用意してもよい。この場合は例えば次のように動
作させればよい。発音開始時は、必ずアタック波形を持
つバンクの中からピッチに応じたバンクを選択し、その
バンクのアタック波形から読み出しをスタートさせて、
アタック波形の読み出しを終了したら、アタック波形を
持たないバンクも含めた全バンクの内で、ピッチに応じ
た波形のバンクに切り換えてループ波形の読み出しを行
うようにすればよい。なお、このようにすると、バンク
を増やしても波形メモリの容量をあまり増やさずに済
み、バンクを増やすことによりピッチ変化時の波形のク
オリティをより高めることができる。As the waveform data, a bank having an attack waveform and a bank having no attack waveform and only a loop waveform may be prepared. In this case, for example, the following operation may be performed. At the start of sounding, be sure to select the bank corresponding to the pitch from the banks that have the attack waveform, and start reading from the attack waveform of that bank.
When the readout of the attack waveform is completed, the loop waveform may be read out by switching to the bank of the waveform corresponding to the pitch among all the banks including the bank having no attack waveform. In this case, even if the number of banks is increased, the capacity of the waveform memory does not need to be increased so much. By increasing the number of banks, the quality of a waveform at the time of a pitch change can be further improved.
【0058】なお、上記の実施例では、ピッチベンドホ
イールでピッチを変化させる場合について説明したが、
ピッチエンベロープジェネレータ等によってピッチを変
化させる場合でもよい。In the above embodiment, the case where the pitch is changed by the pitch bend wheel has been described.
The pitch may be changed by a pitch envelope generator or the like.
【0059】また、前記の実施例では、ループ波形のと
きのみバンクを切り換えるようにしているが、アタック
波形のときにバンクを切り換えるようにしてもよい。こ
の場合、例えば図7のステップS24を削除してステッ
プS23からステップS25にそのまま進むようにすれ
ばよい。In the above embodiment, the banks are switched only when the loop waveform is used. However, the banks may be switched when the attack waveform is used. In this case, for example, step S24 in FIG. 7 may be deleted, and the process may proceed from step S23 to step S25.
【0060】また、上記の実施例では、アタック波形を
持つ波形データについて説明したが、ループ波形だけで
構成された波形データの場合にも本発明を適用できるこ
とはいうまでもない。Further, in the above embodiment, the description has been given of the waveform data having the attack waveform. However, it is needless to say that the present invention can be applied to the case of the waveform data composed only of the loop waveform.
【0061】また、本実施例では、サンプリング波形を
音域バンク毎に用意しているが、それに限らず、鋸波、
矩形波等の合成波形をバンク毎に用意しても良い。Further, in this embodiment, the sampling waveform is prepared for each sound range bank.
A composite waveform such as a rectangular wave may be prepared for each bank.
【0062】[0062]
【発明の効果】以上説明したように本発明の波形メモリ
型音源装置によれば、波形メモリの複数の音域に対応す
る複数のバンクの波形データを記憶し、バンクの波形デ
ータを示す絶対アドレスを基準とする相対アドレスを発
生してループ部の波形データを順次読み出すようにする
とともに、発生すべき楽音のピッチに対応するピッチデ
ータの属するバンクを判定して、この判定されたバンク
に対応する絶対アドレスと相対アドレスをスケーリング
するスケーリングデータを書き換えるようにしたので、
絶対アドレスとスケールを切り換えるだけでバンクを切
り換えて波形メモリの読み出し制御を行うことができ、
楽音のピッチの変更に応じたループ部の切換制御を簡単
にすることができる。As described above, according to the waveform memory type tone generator of the present invention, the waveform memory of the plurality of banks corresponding to the plurality of tone ranges of the waveform memory is stored, and the absolute address indicating the waveform data of the bank is stored. A reference relative address is generated to sequentially read the waveform data of the loop portion, and a bank to which pitch data corresponding to a pitch of a musical tone to be generated belongs is determined, and an absolute value corresponding to the determined bank is determined. Address and relative address scaling
The scaling data to be rewritten,
By simply switching the absolute address and scale, you can switch the bank and control the reading of the waveform memory.
The switching control of the loop section according to the change of the pitch of the musical tone can be simplified.
【図1】本発明の実施例における音源のブロック図であ
る。FIG. 1 is a block diagram of a sound source according to an embodiment of the present invention.
【図2】実施例における波形メモリの1つの音色につい
てのメモリマップを示す図である。FIG. 2 is a diagram showing a memory map for one timbre of a waveform memory in the embodiment.
【図3】本発明の波形メモリ型音源装置を適用した鍵盤
式電子楽器のブロック図である。FIG. 3 is a block diagram of a keyboard electronic musical instrument to which the waveform memory type sound source device of the present invention is applied.
【図4】第1の実施例におけるスケーラの構成を示す図
である。FIG. 4 is a diagram illustrating a configuration of a scaler according to the first embodiment.
【図5】実施例におけるメインルーチンのフローチャー
トである。FIG. 5 is a flowchart of a main routine in the embodiment.
【図6】実施例におけるノートオンイベント処理のフロ
ーチャートである。FIG. 6 is a flowchart of a note-on event process in the embodiment.
【図7】実施例におけるタイマ割込イベント処理のフロ
ーチャートである。FIG. 7 is a flowchart of a timer interrupt event process in the embodiment.
【図8】第2の実施例におけるスケーラの構成を示す図
である。FIG. 8 is a diagram illustrating a configuration of a scaler according to a second embodiment.
1…CPU、2…ROM、3…RAM、7…音源、8…
波形メモリ、11…ピッチベンドホイール。1 CPU, 2 ROM, 3 RAM, 7 sound source, 8
Waveform memory, 11 ... pitch bend wheel.
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平8−146961(JP,A) 特開 平2−213899(JP,A) 特開 平2−300797(JP,A) 特開 平2−183298(JP,A) 特公 昭63−62758(JP,B2) (58)調査した分野(Int.Cl.7,DB名) G10H 7/02 G10H 1/053 G10H 1/043 ──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-8-144691 (JP, A) JP-A-2-213899 (JP, A) JP-A-2-300797 (JP, A) JP-A-2- 183298 (JP, A) JP-B 63-62758 (JP, B2) (58) Fields investigated (Int. Cl. 7 , DB name) G10H 7/02 G10H 1/053 G10H 1/043
Claims (2)
クが設定され、該音域に応じた波形データであってルー
プ部を有する波形データを該音域に対応する各バンク毎
にそれぞれ記憶するとともに、該ループ部は同一の相対
アドレスに対応する波形の位相が各バンク間で同じ位相
にそろえてあり、該バンクに対応する音域が高いほどル
ープ部のサイズを小さくして各バンク毎にループ部のサ
イズを異ならせて記憶している波形メモリと、 発生すべき楽音のピッチに対応して楽音の1発音中で時
間的に変化するピッチデータを発生するピッチデータ発
生手段と、 該ピッチデータ発生手段で発生したピッチデータの属す
るバンクを判定するバンク判定手段と、 前記波形メモリの波形データを指定する絶対アドレスを
保持する波形アドレス保持手段と、 前記波形アドレス保持手段に保持された絶対アドレスを
基準として前記ピッチデータに応じたアドレス幅でルー
プ部の波形データを順次読み出すための相対アドレスを
発生する相対アドレス発生手段と、 ループ部の発音時に前記バンク判定手段で判定されたバ
ンクに応じて、前記波形アドレス保持手段の絶対アドレ
スを更新するとともに、前記相対アドレス発生手段が発
生する前記相対アドレスを該バンクのループ部のサイズ
に合わせてスケーリングする波形切換手段と、 を備え、 前記ループ部の波形の切り換え時に、前記波形切換手段
に対して、切換先のループ部に対応する絶対アドレスと
スケーリングデータのみを設定するようにした ことを特
徴とする波形メモリ型音源装置。1. A plurality of banks corresponding to each of the plurality of range is set, together with a waveform data corresponding to the sound range respectively storing waveform data for each bank corresponding to the sound range having a loop portion , The loops have the same relative
The phase of the waveform corresponding to the address is the same for each bank
The higher the range corresponding to the bank, the higher the
Loop size to reduce the loop size for each bank.
Waveform memory for storing different pitches, pitch data generating means for generating time-varying pitch data in one tone of a tone corresponding to the pitch of the tone to be generated, and pitch data generating means Bank determination means for determining the bank to which the pitch data generated in step 1 belongs; waveform address holding means for holding an absolute address designating the waveform data in the waveform memory; and an absolute address held in the waveform address holding means as a reference. the relative address generating means for generating a relative address for sequentially reading the waveform data of the loop portion in an address width corresponding to the pitch data in accordance with the bank is determined by the bank judging means when sound of the loop portion, the waveform While updating the absolute address of the address holding means, the relative address generating means
The relative address to be generated is the size of the loop part of the bank.
Waveform switching means for scaling according to the waveform switching means , wherein when switching the waveform of the loop portion, the waveform switching means
With the absolute address corresponding to the loop part of the switching destination
A waveform memory type sound source device wherein only scaling data is set .
るピッチデータをCPUが取り込み、該CPUから設定
されるデータに基づいて音源が前記波形メモリの波形デ
ータを読み出すように構成した波形メモリ型音源装置で
あって、 前記波形アドレス保持手段および前記相対アドレス発生
手段を前記音源に備え、 前記CPUが、前記ピッチデータに基づいてバンクを判
定して、該判定したバンクに応じて前記音源の波形アド
レス保持手段の絶対アドレスを更新するとともに前記相
対アドレスのスケーリングを制御することを特徴とする
請求項1記載の波形メモリ型音源装置。2. A waveform memory type sound source device wherein a CPU takes in pitch data generated from said pitch data generating means, and a sound source reads out waveform data from said waveform memory based on data set from said CPU. Wherein the sound source includes the waveform address holding means and the relative address generation means, and the CPU determines a bank based on the pitch data, and holds the waveform address of the sound source in accordance with the determined bank. the phase updates the absolute address of the unit
2. The waveform memory type tone generator according to claim 1 , wherein scaling of a pair address is controlled.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19459096A JP3334502B2 (en) | 1996-07-24 | 1996-07-24 | Waveform memory type sound generator |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19459096A JP3334502B2 (en) | 1996-07-24 | 1996-07-24 | Waveform memory type sound generator |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH1039871A JPH1039871A (en) | 1998-02-13 |
| JP3334502B2 true JP3334502B2 (en) | 2002-10-15 |
Family
ID=16327082
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19459096A Expired - Fee Related JP3334502B2 (en) | 1996-07-24 | 1996-07-24 | Waveform memory type sound generator |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3334502B2 (en) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6362758B2 (en) | 2012-08-10 | 2018-07-25 | 株式会社信州セラミックス | Agent, its material, its material, its product and its equipment |
-
1996
- 1996-07-24 JP JP19459096A patent/JP3334502B2/en not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6362758B2 (en) | 2012-08-10 | 2018-07-25 | 株式会社信州セラミックス | Agent, its material, its material, its product and its equipment |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH1039871A (en) | 1998-02-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4875400A (en) | Electronic musical instrument with touch response function | |
| JPS62200399A (en) | Parameter feeder for electronic musical apparatus | |
| JPS6113758B2 (en) | ||
| US5117727A (en) | Tone pitch changing device for selecting and storing groups of pitches based on their temperament | |
| US5038661A (en) | Waveform generator for electronic musical instrument | |
| US5146834A (en) | Interpolating tone wave generator having truncated data | |
| JPH03269497A (en) | Waveform signal generating device | |
| JP3334502B2 (en) | Waveform memory type sound generator | |
| US5117725A (en) | Device for changing and controlling the rate of generating waveform data | |
| US5665931A (en) | Apparatus for and method of generating musical tones | |
| US5627334A (en) | Apparatus for and method of generating musical tones | |
| JP2950461B2 (en) | Tone generator | |
| JP2606918B2 (en) | Music information calculation method | |
| JPH0310959B2 (en) | ||
| JP3633963B2 (en) | Musical sound generating apparatus and musical sound generating method | |
| JPS6335038B2 (en) | ||
| JP2736550B2 (en) | Electronic musical instrument interpolation circuit | |
| JPS6352399B2 (en) | ||
| JP3453041B2 (en) | Music synthesizer | |
| JP3095323B2 (en) | Electronic musical instrument | |
| JP2970438B2 (en) | Waveform memory type tone generator | |
| JP3543203B2 (en) | Electronic musical instrument | |
| US5861568A (en) | Generation of wave functions by storage of parameters for piecewise linear approximations | |
| JPH02179696A (en) | processing equipment | |
| JPH02179692A (en) | processing equipment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20020702 |
|
| 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: 20070802 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080802 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090802 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100802 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100802 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110802 Year of fee payment: 9 |
|
| LAPS | Cancellation because of no payment of annual fees |