JPS6325679B2 - - Google Patents
Info
- Publication number
- JPS6325679B2 JPS6325679B2 JP56208814A JP20881481A JPS6325679B2 JP S6325679 B2 JPS6325679 B2 JP S6325679B2 JP 56208814 A JP56208814 A JP 56208814A JP 20881481 A JP20881481 A JP 20881481A JP S6325679 B2 JPS6325679 B2 JP S6325679B2
- Authority
- JP
- Japan
- Prior art keywords
- output
- data
- gate
- full adder
- waveform
- 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
Links
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000001228 spectrum Methods 0.000 claims description 4
- 230000001186 cumulative effect Effects 0.000 description 20
- 238000000034 method Methods 0.000 description 14
- 230000007423 decrease Effects 0.000 description 10
- 238000005070 sampling Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000013139 quantization Methods 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012887 quadratic function Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 101150065817 ROM2 gene Proteins 0.000 description 1
- 101100524644 Toxoplasma gondii ROM4 gene Proteins 0.000 description 1
- 238000012888 cubic function Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】
この発明は、各種基本波(BASIC WAVE)
を得る電子楽器のウエーブジエネレータに関す
る。[Detailed Description of the Invention] This invention provides various fundamental waves (BASIC WAVE).
This invention relates to a wave generator for an electronic musical instrument.
電子楽器の1つにミユージツクシンセサイザが
あるが、この種の電子楽器は、ほとんどアナログ
回路によるものであり、デイジタル的手法により
実現したものはほとんど無い。 One type of electronic musical instrument is the music synthesizer, but most of this type of electronic musical instrument is based on analog circuits, and there are almost no such electronic musical instruments that have been realized using digital methods.
しかし、電子オルガン等においてデイジタル的
に楽音波形を得る方法としては、従来より種々研
究がなされ、一部実用化されているものと思われ
る。しかして、このような楽音波形を得る方法、
特にROMに予め楽音波形をデイジタル記憶して
おき、それを音階周波数により読出す方法として
は、次の3種に大別されよう。 However, various researches have been conducted on methods for digitally obtaining musical sound waveforms in electronic organs and the like, and some of them appear to have been put to practical use. However, how to obtain such a musical sound waveform,
In particular, methods for digitally storing musical sound waveforms in advance in ROM and reading them out based on scale frequencies can be broadly classified into the following three types.
即ち、その第1の方式は、一定値を累積加算す
るアドレスカウンタの出力によつてROMをアド
レス指定するものである。この方式のものは、周
波数に関係なく同一波形をサンプリングするた
め、高音域の楽音においてはサンプリング定理に
よる折り返し歪(エリアシング)が発生しないよ
うにするため帯域制限された波形とする必要があ
り、このように帯域制限した波形では、低周波数
の波形の場合高次倍音の少い音色となる欠点があ
る。またこの第1の方法ではアドレスステツプ数
が少い関係から同一アドレスを複数回連続して指
定することになり、所謂ジツタが発生する欠点も
ある。またジツタの発生を防止するためにアドレ
スステツプ数を増加し、更に量子化ノイズを減ら
すために量子化ビツト数も増加させた場合、当
然、ROMの記憶容量が極めて大きくなる問題点
がある。なお、この第1の方式を改良したものと
して、特開昭51−119913号公報に開示の技術があ
る。これによれば、波形の形状をアドレス信号の
与え方及び補間の仕方で切換えるようになつてお
り、同一メモリに入つている波形をもとに発生す
る楽音の音色を発音開始時から経時的に変化させ
るようにしている。 That is, in the first method, the ROM is addressed by the output of an address counter that cumulatively adds a constant value. This method samples the same waveform regardless of frequency, so it is necessary to use a band-limited waveform to prevent aliasing (aliasing) from occurring due to the sampling theorem for high-frequency musical tones. Waveforms that are band-limited in this manner have the disadvantage that low-frequency waveforms produce timbres with few high-order harmonics. In addition, in this first method, since the number of address steps is small, the same address is specified several times in succession, which has the disadvantage of causing so-called jitter. Furthermore, when the number of address steps is increased to prevent the occurrence of jitter, and the number of quantization bits is also increased to further reduce quantization noise, there is of course the problem that the storage capacity of the ROM becomes extremely large. As an improvement on the first method, there is a technique disclosed in Japanese Patent Application Laid-Open No. 119913/1983. According to this, the shape of the waveform is changed depending on how the address signal is given and how it is interpolated, and the timbre of the musical tone generated based on the waveform stored in the same memory is changed over time from the start of sound generation. I'm trying to change it.
しかしながら、この公報の開示技術によつて
も、発生すべき楽音の音高に従つて高調波成分の
含まれ方は変化してしまい、低音域になれば当然
高次倍音が少くなり、ミユージツクシンセサイザ
の音源とするには適切でなく、サンプリング周波
数fsの1/2の周波数で帯域制限したようなスペク
トルをもつ波形を全音域で得るようにすることは
不可能である。 However, even with the technology disclosed in this publication, the amount of harmonic components included changes depending on the pitch of the musical sound to be generated, and naturally the higher harmonics decrease in the lower range, making music It is not suitable as a sound source for a synthesizer, and it is impossible to obtain a waveform with a spectrum band-limited at 1/2 of the sampling frequency fs over the entire range.
第2の方式のものはROMの読出しの1周期を
基本クロツクの出力周期の整数倍とするものであ
る。この方式のものでは発音すべき楽音の周波数
が基本クロツクの整数倍であるためジツタや量子
化ノイズは発生しない反面、最高音の周波数を高
くし且つ音階の精度を高くするためには基本クロ
ツクの周波数を最高音の周波数の数百倍とせねば
ならず、しかもビプラートやポルタメント等の効
果をデイジタル制御により実現するためには基本
クロツクの周波数を更に高くせねばならず、ハー
ドの構成が大となる欠点がある。また上述したよ
うに読出し波形の周期が基本クロツクの整数個分
としたために一般に、アドレスステツプの間隔が
等間隔とならず、音階ごとに音色が若干変化する
欠点もある。 In the second method, one cycle of reading from the ROM is an integral multiple of the output cycle of the basic clock. With this method, the frequency of the musical tone to be sounded is an integral multiple of the basic clock, so no jitter or quantization noise occurs. The frequency must be several hundred times higher than the frequency of the highest note, and in order to achieve effects such as biprato and portamento through digital control, the frequency of the basic clock must be raised even higher, which requires a large hardware configuration. There are drawbacks. Furthermore, as mentioned above, since the period of the readout waveform is set to an integer number of basic clocks, the intervals between address steps are generally not equal, and there is also a drawback that the timbre changes slightly for each scale.
第3の方式のものはROMを可変クロツクによ
り読出すものである。この方式のものはアナログ
発振器から上記可変クロツクを出力するため、上
述した折り返し歪、ジツタ、量子化ノイズの発生
がなく、また低周波数の波形の場合に高次倍音の
含有率が減少することもなく、更に音階ごとの音
色の変化も発生しない反面、周波数発生部を多重
化処理できないからポリフオニツクの楽音を1つ
の波形合成器から得られず、ハードの構成が大と
なる欠点がある。 The third method is to read out the ROM using a variable clock. Since this type of clock outputs the variable clock from an analog oscillator, it does not generate the above-mentioned aliasing distortion, jitter, or quantization noise, and also reduces the content of high-order overtones in the case of low-frequency waveforms. Furthermore, while there is no change in timbre for each scale, the disadvantage is that the frequency generating section cannot be multiplexed, so polyphonic musical tones cannot be obtained from a single waveform synthesizer, and the hardware configuration is large.
この発明は上述した事情の下になされたもの
で、その目的とするところは、波形ROMを用い
ることなくデイジタル回路による演算処理によつ
て矩形波等の基本波を生成可能とし、しかもスペ
クトルが帯域制限された波形を発生するために、
楽音波形の振幅レベルが急変する部分で、かつ指
定音高に関係なく一定期間の波形を関数曲線で補
間するようにした電子楽器のウエーブジエネレー
タを提供することである。 This invention was made under the above-mentioned circumstances, and its purpose is to make it possible to generate fundamental waves such as rectangular waves through arithmetic processing by digital circuits without using a waveform ROM, and to make it possible to generate fundamental waves such as rectangular waves without using a waveform ROM. To generate a limited waveform,
To provide a wave generator for an electronic musical instrument, which interpolates a waveform of a fixed period in a part where the amplitude level of a musical sound waveform suddenly changes, regardless of a specified pitch, using a function curve.
以下、図面を参照してこの発明をミユージツク
シンセサイザに適用した一実施例を説明する。第
1図は上記実施例によるミユージツクシンセサイ
ザのシステム構成図を示す。図において、キーボ
ード1には複数のキーが備えられ、各キーからは
キー操作信号が出力する。スイツチ部2には、矩
形波、PWM波(非対称方形波)、鋸歯状波等の
各種音源波形(基本波)を選択するスイツチ、後
述するデイジタルフイルタ6、エンベロープジエ
ネレータ7等を夫々制御するスイツチ等、各種ス
イツチが設けられている。そしてキーボード1お
よびスイツチ部2からの各出力は共にCPU(中央
処理装置)3に供給される。 An embodiment in which the present invention is applied to a music synthesizer will be described below with reference to the drawings. FIG. 1 shows a system configuration diagram of a music synthesizer according to the above embodiment. In the figure, a keyboard 1 is equipped with a plurality of keys, and each key outputs a key operation signal. The switch section 2 includes switches for selecting various sound source waveforms (fundamental waves) such as a rectangular wave, PWM wave (asymmetric square wave), and sawtooth wave, and switches for controlling a digital filter 6, an envelope generator 7, etc., which will be described later. Various switches are provided. The respective outputs from the keyboard 1 and the switch section 2 are both supplied to a CPU (central processing unit) 3.
CPU3はこのミユージツクシンセサイザのす
べての動作を制御する装置であり、マイクロプロ
セツサ等から成るがその詳細については省略す
る。 The CPU 3 is a device that controls all operations of this music synthesizer, and is composed of a microprocessor, etc., but its details will be omitted.
ROM(リードオンリメモリ)4は音階周波数
コードβを記憶するメモリである。そしてキーボ
ード1上の操作キーに応じた音階周波数コードβ
を読出すアドレスデータがCPU3から出力し、
ROM4へ供給される。また読出された音階周波
数コードβはウエイブジエネレータ5に供給され
る。 A ROM (read only memory) 4 is a memory that stores the scale frequency code β. And the scale frequency code β corresponding to the operation key on keyboard 1
The address data to read is output from CPU3,
Supplied to ROM4. Further, the read scale frequency code β is supplied to the wave generator 5.
ウエイブジエネレータ5は上記音階周波数コー
ドβと、CPU3から供給されるデータα,γ、
Kにもとづき上記音源波形をデイジタル演算によ
り作成する回路であり、作成された波形データは
デイジタルフイルタ6に供給される。デイジタル
フイルタ6はCPU3からの制御信号にもとづき
上記波形データ中の倍音成分の一部を除去し、そ
の出力をエンベロープジエネレータ7に供給す
る。またエンベロープジエネレータ7はCPU3
からの制御信号にもとづき上記デイジタルフイル
タ6の出力に対しエンベロープを付与して楽音信
号とし、デイジタル/アナログ変換器8へ供給す
る。デイジタル/アナログ変換器8は入力したデ
イジタル量の楽音信号をアナログ量の楽音信号に
変換する回路であり、このアナログ量の楽音信号
はデイジタル/アナログ変換器8の出力側に接続
されるアンプ9、スピーカ10を介し楽音として
放音される。なお、このデイジタルフイルタ6に
は特願昭55−53179号「デイジタルフイルタ装
置」、エンベロープジエネレータ7には、特願昭
56−74244号「電子楽器のエンベロープ制御方式」
が適用し得る。 The wave generator 5 receives the above-mentioned scale frequency code β and the data α, γ, supplied from the CPU 3.
This circuit creates the above-mentioned sound source waveform by digital calculation based on K, and the created waveform data is supplied to the digital filter 6. The digital filter 6 removes a part of the harmonic components in the waveform data based on the control signal from the CPU 3, and supplies the output to the envelope generator 7. Also, envelope generator 7 is CPU3
Based on the control signal from the digital filter 6, an envelope is applied to the output of the digital filter 6 to produce a musical tone signal, which is then supplied to the digital/analog converter 8. The digital/analog converter 8 is a circuit that converts the inputted digital musical tone signal into an analog musical tone signal, and this analog musical tone signal is sent to an amplifier 9 connected to the output side of the digital/analog converter 8. A musical tone is emitted through the speaker 10. This digital filter 6 is based on Japanese Patent Application No. 55-53179 ``Digital Filter Device,'' and the envelope generator 7 is based on Japanese Patent Application No. 53179.
No. 56-74244 “Envelope control method for electronic musical instruments”
can be applied.
次に第2図を参照してウエーブジエネレータ5
の具体的構成を説明する。フルアダー15のA入
力端A15〜A0にはシフトレジスタ17が出力し循
環される。16ビツトデータが印加される。またB
入力端B15〜B0にはCPU3からの16ビツトの一定
値のデータα(X15〜X0)が印加される。そして
端子Cinにはハイレベル信号“H”が常に印加さ
れている。したがつてフルアダー15はA入力端
の入力データからB入力端への入力データαを減
算し、その結果データをS出力端S15〜S0から出
力し、フルアダー15の出力側に接続されるフル
アダー16のA入力端A15〜A0へ印加する。この
フルアダー16のB入力端B15〜B0には、ゲート
回路G1から出力する音階周波数コードβ(矩形波
または鋸歯状波の作成の場合)またはゲート回路
G2から出力するデータβ±(β−K)γ(PWM波
作成の場合)が夫々、アンドゲート1815〜18
0を介しブリセツトされる。なお、アンドゲート
1815〜180の各制御入力端には共に、フルア
ダー15の端子Coutから出力するキヤリー出力
がインバータ19を介し印加される。 Next, referring to FIG. 2, the wave generator 5
The specific configuration will be explained. A shift register 17 outputs signals to the A input terminals A 15 to A 0 of the full adder 15 and circulates them. 16 bit data is applied. Also B
16-bit constant value data α (X 15 -X 0 ) from the CPU 3 is applied to the input terminals B 15 -B 0 . A high level signal "H" is always applied to the terminal Cin. Therefore, the full adder 15 subtracts the input data α to the B input terminal from the input data at the A input terminal, and outputs the resultant data from the S output terminals S15 to S0 , which are connected to the output side of the full adder 15. It is applied to the A input terminals A 15 to A 0 of the full adder 16. The B input terminals B 15 to B 0 of this full adder 16 are connected to the scale frequency code β (in the case of creating a rectangular wave or sawtooth wave) output from the gate circuit G 1 or to the gate circuit
The data β±(β-K)γ (in the case of PWM wave creation) output from G 2 are outputted from AND gates 18 15 to 18, respectively.
Preset through 0 . Note that the carry output output from the terminal Cout of the full adder 15 is applied to each control input terminal of the AND gates 18 15 to 18 0 via the inverter 19.
フルアダー16の結果データはS出力端S15〜
S0から出力し、フルアダー16の出力側に接続さ
れる上記シフトレジスタ17に印加される。茲
で、いまこのミユージツクシンセサイザが例えば
8音のポリフオニツクシンセサイザであるとすれ
ば、シフトレジスタ17は容量16ビツトのシフト
レジスタを8段カスケード接続されて成る。そし
て第2図の回路はCPU3の制御下に時分割処理
動作を実行する。 The result data of full adder 16 is S output terminal S 15 ~
It is output from S0 and applied to the shift register 17 connected to the output side of the full adder 16. For example, if this music synthesizer is an 8-tone polyphonic synthesizer, the shift register 17 is composed of 8 stages of 16-bit capacity shift registers connected in cascade. The circuit shown in FIG. 2 executes time-sharing processing operations under the control of the CPU 3.
シフトレジスタ17の出力データのうち下位9
ビツトのデータは排他的オアゲート208〜200
に印加される。また上記出力データの10〜15ビツ
トの各データはインバータ21−1〜21−6を
夫々介しアンドゲート22−1〜22−6の各制
御入力端に印加される。更に上記出力データのう
ち最上位ビツトのデータはインバータ21−7を
介してアンドゲート22−6の他方入力端に印加
される。アンドゲート22−1〜22−6は図示
の如く直列接続されており、したがつてアンドゲ
ート22−6の出力はアンドゲート22−5の他
方入力端に印加され、以下、同様にアンドゲート
22−5〜22−2の各出力は後段の各アンドゲ
ート22−4〜22−1の各他方入力端に印加さ
れる。そしてアンドゲート22−1の出力は排他
的オアゲート208〜200に印加される。 The lower 9 of the output data of the shift register 17
Bit data is exclusive or gate 20 8 ~ 20 0
is applied to Further, each of the 10 to 15 bits of the output data is applied to each control input terminal of AND gates 22-1 to 22-6 via inverters 21-1 to 21-6, respectively. Furthermore, the most significant bit of the output data is applied to the other input terminal of AND gate 22-6 via inverter 21-7. AND gates 22-1 to 22-6 are connected in series as shown, so the output of AND gate 22-6 is applied to the other input terminal of AND gate 22-5, and the output of AND gate 22-6 is applied to the other input terminal of AND gate 22-5. The outputs -5 to 22-2 are applied to the other input terminals of the AND gates 22-4 to 22-1 at the subsequent stage. The output of AND gate 22-1 is then applied to exclusive OR gates 20 8 to 20 0 .
排他的オアゲート208〜200の出力はROM
(リードオンリメモリ)23のA入力端A8〜A0へ
アドレスデータとして印加される。ROM23は
第3図に示す1/4波形の正弦波のデータを記憶し
ている。この波形データはウエイブジエネレータ
5が生成する矩形波等の振幅レベルが急変する個
所を補間するために使用されるもので、ROM2
3の出力端O6〜O0から読出される7ビツトの波
形データはオアゲート246〜240に印加され
る。 The output of exclusive OR gates 20 8 to 20 0 is ROM
(Read-only memory) 23 is applied to A input terminals A 8 to A 0 as address data. The ROM 23 stores 1/4 waveform sine wave data shown in FIG. This waveform data is used to interpolate points where the amplitude level of the rectangular wave generated by the wave generator 5 suddenly changes.
The 7-bit waveform data read from output terminals O 6 -O 0 of 3 is applied to OR gates 24 6 -24 0 .
オアゲート246〜240にはまたアンドゲート
22−2の出力がインバータ25およびトランス
フアーゲート26を介し印加されている。そして
オアゲート246〜240の出力は排他的オアゲー
ト276〜270の各一端に印加される。排他的オ
アゲート276〜270の各他端には、アンドゲー
ト22−1の出力がインバータ28およびトラン
スフアゲート29を介し印加されている。そして
排他的オアゲート276〜270の出力は、極性反
転回路を構成するフルアダー30のA入力端A6
〜A0へ印加される。またフルアダー30のA入
力端A7には上記アンドゲート22−1の出力が
インバータ28、トランスフアーゲート29、イ
ンバータ31を介し印加される。更にフルアダー
30の入力端Cinには同様にアンドゲート22−
1の出力がインバータ28、トランスフアゲート
29を介し印加されるほか、後述する極性反転回
路32の出力がトランスフアーゲート33を介し
印加される。そして、フルアダー30の出力端S7
〜S0から出力するデータはトランスフアーゲート
347〜340を介しデイジタルフイルタ6へ送出
される。 The output of the AND gate 22-2 is also applied to the OR gates 24 6 to 24 0 via an inverter 25 and a transfer gate 26. The outputs of the OR gates 24 6 -24 0 are applied to one end of each of the exclusive OR gates 27 6 -27 0 . The output of the AND gate 22-1 is applied to the other ends of the exclusive OR gates 27 6 to 27 0 via an inverter 28 and a transfer gate 29. The outputs of the exclusive OR gates 27 6 to 27 0 are sent to the A input terminal A 6 of the full adder 30 configuring the polarity inversion circuit.
~A applied to 0 . Further, the output of the AND gate 22-1 is applied to the A input terminal A7 of the full adder 30 via the inverter 28, transfer gate 29, and inverter 31. Furthermore, an AND gate 22- is connected to the input terminal Cin of the full adder 30.
1 is applied via an inverter 28 and a transfer gate 29, and the output of a polarity inversion circuit 32, which will be described later, is applied via a transfer gate 33. And the output end S 7 of the full adder 30
The data output from ~ S0 is sent to the digital filter 6 via transfer gates 347 ~ 340 .
なお、上記トランスフアーゲート26は矩形波
およびPWM波を夫々指定するスイツチの操作時
にCPU3から出力する制御信号をゲートに印加
され開閉制御される。またトランスフアーゲート
29,35は鋸歯状波を指定するスイツチの操作
時にCPU3から出力する制御信号を夫々ゲート
に直接印加され、またトランスフアゲート33は
インバータ36を介し印加され、開閉制御され
る。更にトランスフアーゲート347〜340は上
記アンドゲート22−2の出力をインバータ2
5、トランスフアゲート35、インバータ37を
介しゲートに夫々印加され、開閉制御される。 The transfer gate 26 is controlled to open or close by applying a control signal output from the CPU 3 to the gate when a switch is operated to designate a rectangular wave or a PWM wave, respectively. Further, the control signals output from the CPU 3 are directly applied to the transfer gates 29 and 35 when the switch for specifying the sawtooth wave is operated, and the control signals are applied to the transfer gate 33 via the inverter 36 to control opening and closing. Further, transfer gates 34 7 to 34 0 connect the output of the AND gate 22-2 to the inverter 2.
5. The voltage is applied to the gates via the transfer gate 35 and the inverter 37 to control opening and closing.
減算回路41には音階周波数コードβおよびデ
ータK(一定値)が夫々印加される。そしてその
結果データβ−Kは乗算回路42および除算回路
44に夫々印加される。乗算回路42にはまたデ
ータγ(このデータγは0≦γ≦1の値をとり、
デユーテイ比を決定するデータである)が印加さ
れ、その結果データ(β−K)γは加減算回路4
3に印加される。この加減算回路43の他端には
音階周波数コードβが印加され、また制御入力±
には上記極性反転回路32の出力が印加される。
そして加減算回路32の結果データβ±(β−K)
γはゲート回路G2に印加される。なお、ゲート
回路G1は矩形波および鋸歯状波を夫々指定する
スイツチの操作時にCPU33から出力する制御
信号により開閉制御され、またゲート回路G2は
PWM波を指定するスイツチの操作時にCPU3か
ら出力する制御信号により開閉制御される。 A scale frequency code β and data K (constant value) are applied to the subtraction circuit 41, respectively. The resulting data β-K is then applied to a multiplication circuit 42 and a division circuit 44, respectively. The multiplication circuit 42 also receives data γ (this data γ takes a value of 0≦γ≦1,
) is applied to determine the duty ratio, and the resulting data (β-K)γ is added to the adder/subtractor circuit 4.
3 is applied. A scale frequency code β is applied to the other end of this addition/subtraction circuit 43, and a control input ±
The output of the polarity inverting circuit 32 is applied to.
Then, the result data β±(β−K) of the addition/subtraction circuit 32
γ is applied to gate circuit G2 . Note that the gate circuit G 1 is controlled to open and close by a control signal output from the CPU 33 when a switch that specifies a rectangular wave and a sawtooth wave is operated, and the gate circuit G 2 is
Opening/closing is controlled by a control signal output from the CPU 3 when operating a switch specifying a PWM wave.
減算回路45にはシフトレジスタ17の出力デ
ータMおよびデータKが入力する。そしてその結
果データM−Kは除算回路44に印加される。そ
して除算回路4の結果データ(M−K)/(β−
K)はトランスフアーゲート467〜460を介し
デイジタルフイルタ6へ鋸歯状波のデータとして
送出される。トランスフアーゲート467〜460
の各ゲートにはアンドゲート22−2の出力がイ
ンバータ25、トランスフアーゲート35、イン
バータ37,47を介し印加され、開閉制御され
る。 Output data M and data K of the shift register 17 are input to the subtraction circuit 45 . The resulting data M-K is then applied to the division circuit 44. Then, the result data of the division circuit 4 (M-K)/(β-
K) is sent to the digital filter 6 as sawtooth wave data via transfer gates 467 to 460 . Transfer Gate 46 7 ~ 46 0
The output of the AND gate 22-2 is applied to each gate via the inverter 25, transfer gate 35, and inverters 37 and 47, and opening/closing is controlled.
極性反転回路32はシフトレジスタ48と、こ
のシフトレジスタ48の出力側に接続される排他
的オアゲート49とにより構成されている。そし
て排他的オアゲート49の他の入力端にはフルア
ダー15の出力端C′からの出力がインバータ50
を介し印加される。また排他的オアゲート49の
出力はシフトレジスタ48の入力側に帰還され
る。シフトレジスタ48は、上述した8音のポリ
フオニツクシンセサイザの場合、容量1ビツトの
シフトレジスタを8段カスケード接続して成る。
またフルアダー15の上記出力端C′からは、フル
アダー15の結果データが「512」になつたとき
“H”レベルの信号(キヤリー)が出力する。 The polarity inversion circuit 32 includes a shift register 48 and an exclusive OR gate 49 connected to the output side of the shift register 48. The other input terminal of the exclusive OR gate 49 receives the output from the output terminal C' of the full adder 15.
applied via. Further, the output of the exclusive OR gate 49 is fed back to the input side of the shift register 48. In the case of the above-mentioned 8-tone polyphonic synthesizer, the shift register 48 is formed by cascading 8 stages of shift registers each having a capacity of 1 bit.
Further, the output terminal C' of the full adder 15 outputs an "H" level signal (carry) when the result data of the full adder 15 reaches "512".
次に第4図ないし第14図を参照して上記実施
例の動作を説明する。先ず、第4図のタイムチヤ
ートを参照して矩形波をウエーブジエネレータ5
により生成する場合の動作を説明する。この場合
先ず、スイツチ部2上の矩形波を指定するスイツ
チをオンし、またその他の必要なスイツチを夫々
操作しておく。したがつて矩形波の指定スイツチ
のオン操作によりCPU3はウエーブジエネレー
タ5のゲート回路G1,G2に対し夫々、“H”(即
ち、“1”)レベルまたは“L”(即ち、“0”)レ
ベルの信号を出力する。このため以後、ゲート回
路G1が開成し、且つゲート回路G2が閉成する。
またCPU3はトランスフアーゲート26に対し
“1”レベル信号を出力し、且つトランスフアー
ゲート29,35に対し“0”レベル信号を出力
する。このため以後、トランスフアーゲート26
が開成し、且つトランスフアーゲート29,35
が閉成する。また上記トランスフアーゲート2
9,35が閉成する結果、トランスフアーゲート
33およびトランスフアーゲート347〜340が
開成し、且つトランスフアーゲート467〜460
が閉成する。 Next, the operation of the above embodiment will be explained with reference to FIGS. 4 to 14. First, referring to the time chart in FIG.
The operation when generating is explained below. In this case, first, turn on the switch for specifying the rectangular wave on the switch section 2, and operate the other necessary switches. Therefore, by turning on the square wave designation switch, the CPU 3 sets the gate circuits G 1 and G 2 of the wave generator 5 to the "H" (i.e., "1") level or "L" (i.e., "0") level, respectively. ”) outputs a level signal. Therefore, from then on, gate circuit G 1 is opened and gate circuit G 2 is closed.
Further, the CPU 3 outputs a "1" level signal to the transfer gate 26, and outputs a "0" level signal to the transfer gates 29 and 35. Therefore, from now on, transfer gate 26
is opened, and transfer gates 29 and 35
is closed. In addition, the transfer gate 2
As a result, transfer gates 33 and 34 7 to 34 0 are opened, and transfer gates 46 7 to 46 0 are closed.
is closed.
上記状態においてキーボード1のある上キーを
例えば1個オンした場合につき以下説明する。こ
の場合、上記の1個のキーのオン時にCPU3は
ROM4に対し、操作キーに応じた音階周波数コー
ドβをROM4から読出すための所定のアドレスデ
ータを出力する。この結果、ROM4から上記音階
周波数コードβが読出され、ウエイブジエネレー
タ5に供給される。そしてこの音階周波数コード
βは開成中のゲート回路G1を介してアンドゲー
ト1815〜180に印加される。而していまフル
アダー15の出力端子Coutの出力は“0”であ
り、したがつてインバータ19の出力“1”によ
り上記アンドゲート1815〜180は開成中であ
る。したがつて上記音階周波数コードβがアンド
ゲート1815〜180を介してフルアダー16の
B入力端B15〜B0に印加される。一方、このとき
フルアダー15のS出力端S15〜S0からフルアダ
ー16のA入力端A15〜A0へ16ビツトオール
“0”データが印加される。したがつてそのとき
のフルアダー16の結果データは設定された上記
音階周波数コードβと同一値のデータとなり、S
出力端子S15〜S0から出力するとシフトレジスタ
17へ入力する。そしてこのデータはシフトされ
たのちシフトレジスタ17から出力するとフルア
ダー15のA入力端A15〜A0へ循環入力されると
共に、排他的オアゲート208〜200、インバー
タ217〜211へ入力する。 A case in which, for example, one upper key on the keyboard 1 is turned on in the above state will be described below. In this case, when the above one key is turned on, CPU 3
Predetermined address data for reading out the scale frequency code β corresponding to the operation key from the ROM 4 is output to the ROM 4 . As a result, the scale frequency code β is read from the ROM 4 and supplied to the wave generator 5. Then, this scale frequency code β is applied to the AND gates 18 15 to 18 0 via the gate circuit G 1 which is being opened. Now, the output of the output terminal Cout of the full adder 15 is "0", so the AND gates 18 15 to 18 0 are being opened due to the output "1" of the inverter 19. Therefore, the scale frequency code β is applied to the B input ends B 15 to B 0 of the full adder 16 via the AND gates 18 15 to 18 0 . On the other hand, at this time, 16-bit all "0" data is applied from the S output terminals S 15 to S 0 of the full adder 15 to the A input terminals A 15 to A 0 of the full adder 16. Therefore, the result data of the full adder 16 at that time will be data with the same value as the set scale frequency code β, and S
When output from the output terminals S 15 to S 0 , the signals are input to the shift register 17 . After being shifted, this data is outputted from the shift register 17 and is input cyclically to the A input terminals A 15 to A 0 of the full adder 15, as well as to exclusive OR gates 20 8 to 20 0 and inverters 21 7 to 21 1. .
ところでこの実施例の場合、各音階の周波数コ
ードβの値はすべて「1024」より大きい値として
出力される。即ち、16ビツトデータのうち上位11
〜16ビツトの何れかのビツトには“1”のデータ
が必ず含まれている。したがつて上記1個のキー
オン時に上記音階周波数コードβが設定され、次
いでシフトレジスタ17が同一値のデータを出力
したとき、アンドゲート22−2の出力は第4図
eに示すように必ず“0”レベルとなつている。
したがつてアンドゲート22−1の出力も上記ア
ンドゲート22−2の出力が“0”の間は第4図
bに示すように“0”レベルとなつている。更に
このとき、インバータ50の出力は第4図bに示
すように“1”レベル、したがつて極性反転回路
32の出力は第4図dに示すように“0”レベル
である。この結果、アンドゲート22−1の
“0”レベルの信号が排他的オアゲート208〜2
00に供給され、シフトレジスタ17の出力の下
位9ビツトのデータがそのままROM23のA入
力端A8〜A0へ印加される。またアンドゲート2
2−2の“0”レベルの信号をインバータ25に
より反転した“1”レベルの信号がオアゲート2
46〜240へ印加され、したがつてオアゲート2
46〜240から夫々“1”レベルの信号が出力
し、排他的オアゲート276〜270の各一端へ印
加される。而して排他的オアゲート276〜270
の各他端には極性反転回路32の“0”レベルの
出力が印加されている。したがつて排他的オアゲ
ート276〜270の各出力はすべて“1”レベル
の信号となる。またインバータ31の出力も
“1”レベルである。この結果、フルアダー30
のA入力端A7〜A0にはオール“1”データが入
力する。またフルアダー30のキヤリー入力端
Cinには極性反転回路32の出力(“0”信号)
が入力している。したがつてフルアダー30のこ
のときの結果データは8ビツトオール“1”デー
タとしてS出力端子S7〜S0から出力し、開成中の
トランスフアーゲート347〜340を介しデイジ
タルフイルタ6へ送出される。第4図aの波形図
はこのデイジタルフイルタ6へ送出される矩形波
を示している。したがつてデイジタルフイルタ6
ではCPU3の制御下に指定された倍音成分が除
去され、またその出力に対しエンベロープジエネ
レータ7はエンベロープを付与し、操作キーの音
階の楽音の生成放音が開始される。 By the way, in the case of this embodiment, the values of the frequency code β of each scale are all output as values larger than "1024". In other words, the top 11 of the 16-bit data
~16 bits always contain data of "1". Therefore, when the scale frequency code β is set when one key is turned on, and the shift register 17 outputs data of the same value, the output of the AND gate 22-2 is always "" as shown in FIG. 4e. 0” level.
Therefore, the output of the AND gate 22-1 is also at the "0" level while the output of the AND gate 22-2 is "0" as shown in FIG. 4B. Furthermore, at this time, the output of the inverter 50 is at the "1" level as shown in FIG. 4b, and therefore the output of the polarity inverting circuit 32 is at the "0" level as shown in FIG. 4d. As a result, the “0” level signal of the AND gate 22-1 is transmitted to the exclusive OR gates 20 8 to 2
00 , and the data of the lower 9 bits of the output of the shift register 17 is applied as is to the A input terminals A8 to A0 of the ROM 23. Also and gate 2
The “1” level signal obtained by inverting the “0” level signal of 2-2 by the inverter 25 is output to the OR gate 2.
applied to 4 6 to 24 0 , therefore OR gate 2
Signals of "1" level are outputted from the gates 4 6 to 24 0 , respectively, and applied to one end of each of the exclusive OR gates 27 6 to 27 0 . Therefore, exclusive or gate 27 6 ~ 27 0
The "0" level output of the polarity inversion circuit 32 is applied to each other end of the polarity inversion circuit 32. Therefore, all outputs of the exclusive OR gates 27 6 to 27 0 become "1" level signals. Further, the output of the inverter 31 is also at the "1" level. As a result, full adder 30
All "1" data is input to the A input terminals A7 to A0 . Also, the carry input terminal of Full Adder 30
Cin is the output of the polarity inversion circuit 32 (“0” signal)
is inputting. Therefore, the result data of the full adder 30 at this time is output as 8-bit all "1" data from the S output terminals S7 to S0 , and is sent to the digital filter 6 via the transfer gates 347 to 340 , which are being opened. Ru. The waveform diagram in FIG. 4a shows a rectangular wave sent to this digital filter 6. Therefore, digital filter 6
Then, the specified overtone component is removed under the control of the CPU 3, and the envelope generator 7 applies an envelope to the output thereof, and starts generating and emitting musical tones of the scale of the operation keys.
設定された音階周波数コードβと同一値のデー
タがフルアダー15のA入力端A15〜A0へ循還入
力したとき、そのB入力端B15〜B0へはCPU3か
ら出力する一定値のデータαが16ビツトデータと
して入力している。またキヤリー入力端Cinは常
時“H”レベルに設定されているから、フルアダ
ー15はこのときβ−αの1回目の減算動作を実
行し、その結果データをS出力端から出力し、フ
ルアダー16のA入力端へ印加する。なお、上式
「β−α」の「−α」は第2図のα0,α1,……α15
の値から「−1」したものに相当する。而してこ
の減算動作実行時にはフルアダー15のキヤリー
出力端Coutの出力は“1”レベルとなり、した
がつてインバータ19の出力が“0”となり、ア
ンドゲート1815〜180が閉成する。このため
フルアダー16のB入力端への音階周波数コード
βの入力が阻止される。したがつてこのときのフ
ルアダー16の結果データはフルアダー15の上
記1回目の結果データと同一であり、シフトレジ
スタ17へ与える。そしてこの1回目の結果デー
タがシフトレジスタ17から出力されるとフルア
ダー15のA入力端へ循環入力する一方、排他的
オアゲート208〜200、インバータ21−7〜
21−1へ入力する。而してこの1回目の演算後
におけるフルアダー30のA入力端、キヤリー入
力端Cinのデータ入力状態は前回と変化なく、し
たがつてデイジタルフイルタ6へは8ビツトオー
ル“1”データが送出される。フルアダー15、
アンドゲート1815〜180、フルアダー16、
シフトレジスタ17では以後、上述した1回目の
減算動作と全く同様な累積減算動作がその結果デ
ータ、即ち、シフトレジスタ17の出力が
「1024」(第4図f参照)となるまで繰返される。
そしてこの間、フルアダー30のA入力端、キヤ
リー入力端Cinへの入力状態も変化がなく、した
がつてこの間、引き続きデイジタルフイルタ6へ
は8ビツトオール“1”データが送出される。そ
して次の減算動作によつてシフトレジスタ17の
出力が「1024」より小となると、該シフトレジス
タ17のビツトの上位11〜16ビツト目のデータが
オール“0”となつたことになり、したがつてア
ンドゲート22−2の出力が第4図eに示すよう
に“1”レベルへ反転する。したがつて以後、イ
ンバータ25の出力が“0”レベルとなり、オア
ゲート246〜240へ入力する。 When data with the same value as the set scale frequency code β is circulated and input to the A input terminals A 15 to A 0 of the full adder 15, the constant value data output from the CPU 3 is output to the B input terminals B 15 to B 0 . α is input as 16-bit data. In addition, since the carry input terminal Cin is always set to the "H" level, the full adder 15 executes the first subtraction operation of β - α at this time, outputs the resulting data from the S output terminal, and the full adder 16 Apply to the A input terminal. In addition, "-α" in the above formula "β-α" is α 0 , α 1 , ... α 15 in Figure 2.
It corresponds to the value obtained by subtracting "-1" from the value of . When this subtraction operation is executed, the output of the carry output terminal Cout of the full adder 15 becomes "1" level, so the output of the inverter 19 becomes "0", and the AND gates 18 15 to 18 0 are closed. Therefore, input of the scale frequency code β to the B input terminal of the full adder 16 is blocked. Therefore, the result data of the full adder 16 at this time is the same as the result data of the first time of the full adder 15, and is applied to the shift register 17. When this first result data is output from the shift register 17, it is circulated to the A input terminal of the full adder 15, while exclusive OR gates 20 8 to 20 0 and inverters 21-7 to
21-1. After this first calculation, the data input states of the A input terminal and the carry input terminal Cin of the full adder 30 are unchanged from the previous time, so that 8-bit all "1" data is sent to the digital filter 6. full adder 15,
ANDGATE 18 15 ~ 18 0 , FULL ADDER 16,
Thereafter, the shift register 17 repeats the same cumulative subtraction operation as the first subtraction operation described above until the resulting data, ie, the output of the shift register 17, becomes "1024" (see FIG. 4f).
During this time, the input states to the A input terminal and the carry input terminal Cin of the full adder 30 do not change either, so during this time, 8-bit all "1" data is continuously sent to the digital filter 6. When the output of the shift register 17 becomes smaller than "1024" by the next subtraction operation, it means that the data in the upper 11th to 16th bits of the shift register 17 are all "0". Eventually, the output of the AND gate 22-2 is inverted to the "1" level as shown in FIG. 4e. Therefore, from now on, the output of the inverter 25 becomes "0" level and is input to the OR gates 24 6 to 24 0 .
一方、シフトレジスタ17の出力が上述した
「1024」から「512」までの累積減算動作の間は該
シフトレジスタ17の出力の10ビツト目のデータ
は“1”を保持し、したがつてこの間、第4図b
に示すように引き続きアンドゲート22−1の出
力は“0”であり、排他的オアゲート208〜2
00へ供給される。このため上記「1024」〜
「512」の間はROM23のA入力端へはシフトレ
ジスタ17の出力の下位9ビツトデータがそのま
ま印加されつづける。また上記間は第4図dに示
すように極性反転回路32の出力は引き続き
“0”レベルである。 On the other hand, during the cumulative subtraction operation in which the output of the shift register 17 is from "1024" to "512", the 10th bit data of the output of the shift register 17 holds "1", so during this period, Figure 4b
As shown in , the output of the AND gate 22-1 continues to be “0” and the exclusive OR gates 20
0 0 is supplied. For this reason, the above "1024" ~
During "512", the lower 9 bit data of the output of the shift register 17 continues to be applied to the A input terminal of the ROM 23 as it is. During the above period, the output of the polarity inversion circuit 32 continues to be at the "0" level as shown in FIG. 4d.
したがつてシフトレジスタ17の出力が
「1024」以下になつた時点、例えば「1023」にな
つた時点を想定すると、そのとき該シフトレジス
タ17の出力の下位9ビツトはオール“1”であ
り、ROM23のA入力端へ印加される。したが
つてROM23はこの9ビツトオール“1”のア
ドレスデータにアドレス指定されて、第3図に示
すように7ビツトオール“1”データを読出され
る。この7ビツトオール“1”データはオアゲー
ト246〜240を介し排他的オアゲート276〜
270へ入力する。而して上述したように、排他
的オアゲート276〜270およびフルアダー30
のキヤリー入力端Cinにはまだ“0”レベルの信
号が入力中であり、したがつてフルアダー30の
A入力端には8ビツトオール“1”データが入力
し、その結果データも8ビツトオール“1”デー
タとして出力し、デイジタルフイルタ6へ送出さ
れる。 Therefore, assuming that the output of the shift register 17 becomes "1024" or less, for example "1023", then the lower 9 bits of the output of the shift register 17 are all "1", It is applied to the A input terminal of the ROM23. Therefore, the ROM 23 is addressed by this 9-bit all "1" address data, and 7-bit all "1" data is read out as shown in FIG. This 7-bit all "1" data is passed through exclusive OR gates 276 to 240 through OR gates 246 to 240.
27 Enter 0 . As mentioned above, exclusive or gates 27 6 to 27 0 and full adder 30
A "0" level signal is still being input to the carry input terminal Cin of the full adder 30, so 8-bit all "1" data is input to the A input terminal of the full adder 30, and as a result, the data is also 8-bit all "1". It is output as data and sent to the digital filter 6.
次に、次の累積減算動作によりシフトレジスタ
17の出力が「1023」より更にデータαだけ小さ
い値となると、ROM23は上述した9ビツトオ
ール“1”データ(即ち、「511」)よりαだけ小
さいアドレスデータによつてアドレス指定され
る。したがつて第3図からも分かるようにROM
23からは上述した7ビツトオール“1”データ
より所定値小さいデータ、即ち、前回よりやや小
さい振幅値のデータが読出され、またその振幅値
のデータがフルアダー30により極性を反転され
ずそのまま出力してデイジタルフイルタ6へ送出
される。 Next, when the output of the shift register 17 becomes a value smaller than "1023" by data α due to the next cumulative subtraction operation, the ROM 23 is stored at an address smaller by α than the above-mentioned 9-bit all "1" data (i.e., "511"). Addressed by data. Therefore, as can be seen from Figure 3, the ROM
23, data smaller by a predetermined value than the above-mentioned 7-bit all "1" data, that is, data with an amplitude value slightly smaller than the previous one, is read out, and the data with the amplitude value is output as is without having its polarity inverted by the full adder 30. The signal is sent to the digital filter 6.
以下、同様にしてシフトレジスタ17の出力が
各累積減算動作によりαずつ小さくなつてゆき、
その値が「512」となるまでの間はROM23は
そのデイジタルデータが順次、αずつ小さくなる
方向へアドレス指定されてゆき、これに応じてそ
の都度、前回より小さい値の振幅値データが読出
される。そしてこの間、フルアダー30のA入力
端およびキヤリー入力端Cinへのデータの入力状
態は上述したことと同様であり、これに応じてデ
イジタルフイルタ6へは上述した順次小さくなる
振幅値データが送出される。そしてシフトレジス
タ17の出力が「512」のときには、ROM23
は9ビツトオール“0”のアドレスデータによつ
てアドレス指定されることになる。 Thereafter, in the same way, the output of the shift register 17 decreases by α by each cumulative subtraction operation,
Until the value reaches "512", the digital data in the ROM 23 is sequentially addressed in the direction of decreasing by α, and accordingly, each time, amplitude value data with a smaller value than the previous one is read out. Ru. During this time, the input state of data to the A input terminal and the carry input terminal Cin of the full adder 30 is the same as described above, and accordingly, the above-mentioned sequentially decreasing amplitude value data is sent to the digital filter 6. . When the output of the shift register 17 is "512", the ROM 23
will be addressed by address data of 9 bits all "0".
次に累積減算動作の結果データがフルアダー1
5において「512」から「511」以下の値に変化す
るとき、フルアダー15の出力端子C1から“1”
信号が出力し、それに応じて第4図cに示すよう
にインバータ50から1発のパルス信号が出力す
る。その結果、第4図dに示すように以後、極性
反転回路32の出力が“1”レベルに反転し、排
他的オアゲート276〜270、インバータ31、
フルアダー30のキヤリー入力端Cinに夫々印加
される。 Next, the result data of cumulative subtraction operation is full adder 1
5, when the value changes from “512” to “511” or less, the output terminal C1 of full adder 15 changes to “1”.
A signal is output, and in response, one pulse signal is output from the inverter 50 as shown in FIG. 4c. As a result, as shown in FIG. 4d, the output of the polarity inversion circuit 32 is subsequently inverted to the "1" level, and the exclusive OR gates 27 6 to 27 0 , the inverter 31,
The signals are applied to the carry input terminals Cin of the full adder 30, respectively.
したがつてこの「511」以下のデータが第4図
fに示す如くシフトレジスタ17から出力したと
き、その出力の上位10〜16ビツトはオール“0”
データとなり、このためアンドゲート22−1の
出力が第4図bに示すように“1”レベルに変化
し、排他的オアゲート208〜200の他端には再
び9ビツトオール“1”データが印加され、而し
てその出力は9ビツトオール“0”に反転されて
ROM23のA入力端へ印加される。このため累
積減算の結果データが「511」〜「0」に順次、
αづつ小さくなる間はROM23はアドレスデー
タがオール“0”からオール“1”へ大きくなる
方向に向つて順次アドレス指定されることにな
る。またその結果読出される振幅値データは第3
図に示すように順次大きくなるが、その振幅値デ
ータは排他的オアゲート276〜270を介しフル
アダーのA入力端A6〜A0に入力し、またA入力
端A7には“0”信号が入力し、更にキヤリー入
力端子Cinには“1”信号が入力するから、この
間にフルアダー30から出力するデータはROM
23から読出される振幅値データの極性を反転し
たものに等しくなり、そのデータがデイジタルフ
イルタ6に送出される。 Therefore, when data below "511" is output from the shift register 17 as shown in Figure 4f, the upper 10 to 16 bits of the output are all "0".
Therefore, the output of the AND gate 22-1 changes to the " 1 " level as shown in FIG. is applied, and its output is inverted to 9 bits all “0”.
It is applied to the A input terminal of the ROM23. Therefore, the cumulative subtraction result data is sequentially from "511" to "0".
While the address data is decreasing by α, the ROM 23 is sequentially addressed in the direction in which the address data increases from all "0" to all "1". The amplitude value data read as a result is the third
As shown in the figure, the amplitude value data increases sequentially, and is input to the A input terminals A 6 to A 0 of the full adder via exclusive OR gates 27 6 to 27 0 , and “0” is input to the A input terminal A 7 . signal is input, and a “1” signal is also input to the carry input terminal Cin, so the data output from the full adder 30 during this period is ROM
It becomes equal to the amplitude value data read out from 23 with the polarity inverted, and the data is sent to the digital filter 6.
第4図fに示すようにシフトレジスタ17出力
が「1024」から「0」の間では、第4図aの矩形
波の振幅は、ROM23から読出した1/4周期の
正弦波の波形データによつて補間される。 As shown in FIG. 4 f, when the output of the shift register 17 is between "1024" and "0", the amplitude of the rectangular wave in FIG. interpolated accordingly.
上述のようにして累積減算結果が「0」以下に
なると次の減算動作時にフルアダー15のキヤリ
ー出力端子Coutから“0”信号が出力し、この
結果、アンドゲート1815〜180が一時開成し
て音階周波数コードβがフルアダー16のB入力
端B15〜B0へ印加される。そしてフルアダー16
のA入力端子に与えられるデータと、この音階周
波数コードβが加算され、その結果データがシフ
トレジスタ17から出力したとき、上述したよう
に上記データ、即ち、音階周波数コードβは
「1024」より大きい値であるから、上述した理由
によつてこの時点から第4図b,eに示す如く、
アンドゲート22−1、22−2の各出力が
“0”レベルへ反転する。 When the cumulative subtraction result becomes "0" or less as described above, a "0" signal is output from the carry output terminal Cout of the full adder 15 during the next subtraction operation, and as a result, the AND gates 18 15 to 18 0 are temporarily opened. The scale frequency code β is applied to the B input terminals B 15 to B 0 of the full adder 16. and full adder 16
When the data given to the A input terminal of 1 and this scale frequency code β are added, and the resulting data is output from the shift register 17, the above data, that is, the scale frequency code β is greater than "1024" as described above. Therefore, for the reason mentioned above, from this point on, as shown in Fig. 4 b and e,
Each output of AND gates 22-1 and 22-2 is inverted to "0" level.
上述のようにして音階周波数コードβが再び設
定されたのちは、既に説明したようにして以後、
αづつの累積減算動作が実行され、シフトレジス
タ17の出力はβからαずつ小さくなり「1024」
まで減少する。而してこの間においては、フルア
ダー30のA入力端子A7〜A0へは8ビツトオー
ル“0”データが入力し、またキヤリー入力端子
Cinへは“1”信号が入力しているから、この間
においてデイジタルフイルタ6へは8ビツトオー
ル“0”データが送出される。 After the scale frequency code β is set again as described above,
The cumulative subtraction operation by α is executed, and the output of the shift register 17 decreases from β by α to “1024”.
decreases to During this period, 8-bit all "0" data is input to the A input terminals A7 to A0 of the full adder 30, and the carry input terminal
Since a "1" signal is input to Cin, 8-bit all "0" data is sent to the digital filter 6 during this period.
累積減算結果が「1024」以下となり、更に
「512」まで減少する間は、先ず、第4図fに示す
「1024」より小、即ち「1023」以下となつた時点
よりアンドゲート22−2の出力が“1”レベル
に反転する。したがつて「1023」〜「512」の間
は、フルアダー30の出力は、ROM23をその
最大アドレス(9ビツトオール“1”データ)か
ら最小アドレス(9ビツトオール“0”データ)
へ向けて順次アドレス指定し読出される振幅値デ
ータの極性を反転したものと等しくなつている。 While the cumulative subtraction result becomes ``1024'' or less and further decreases to ``512,'' the AND gate 22-2 is first activated from the point at which it becomes smaller than ``1024'', that is, ``1023'' or less, as shown in Figure 4 f. The output is inverted to "1" level. Therefore, between "1023" and "512", the output of the full adder 30 moves the ROM 23 from its maximum address (9 bits all "1" data) to its minimum address (9 bits all "0" data).
It is equal to the inverted polarity of the amplitude value data that is sequentially addressed and read out.
更に、累積減算結果が「512」になると上述し
たようにフルアダー15の出力端子C′から“1”
信号が出力し、それに応じて第4図dに示すよう
に極性反転回路32の出力が“0”レベルへ反転
する。また次いで累積減算結果が「511」以下に
なるとアンドゲート22−1の出力が“1”レベ
ルへ反転する。この結果、既に述べたように、上
記累積減算結果が「511」〜「0」の間において
は、フルアダー30の出力は、ROM23をその
最小アドレスから最大アドレスへ向けて順次アド
レス指定し読出される振幅値データと一致したデ
ータとなり、デイジタルフイルタ6へ送出され
る。 Furthermore, when the cumulative subtraction result becomes "512", "1" is output from the output terminal C' of the full adder 15 as described above.
The signal is output, and in response, the output of the polarity inversion circuit 32 is inverted to the "0" level as shown in FIG. 4d. Next, when the cumulative subtraction result becomes "511" or less, the output of the AND gate 22-1 is inverted to the "1" level. As a result, as mentioned above, when the cumulative subtraction result is between "511" and "0", the output of the full adder 30 is read out by sequentially addressing the ROM 23 from the minimum address to the maximum address. The data matches the amplitude value data and is sent to the digital filter 6.
第4図fに示すように、シフトレジスタ17出
力が「1024」から「0」の間では第4図aの矩形
波の振幅はROM23からの波形データによつて
補間される。そして累積減算結果が「0」以下に
なると次の演算時にフルアダー15のキヤリー出
力端子Coutから“0”信号が出力し、フルアダ
ー16に再び音階周波数コードβが設定されると
共に、次の一周期の矩形波の演算処理が開始され
る。 As shown in FIG. 4f, when the output of the shift register 17 is between "1024" and "0", the amplitude of the rectangular wave shown in FIG. 4a is interpolated by the waveform data from the ROM 23. When the cumulative subtraction result becomes "0" or less, a "0" signal is output from the carry output terminal Cout of the full adder 15 during the next calculation, and the scale frequency code β is set in the full adder 16 again. Rectangular wave calculation processing is started.
以上により、一周期分の矩形波を生成するため
の演算処理動作が終了する。而して第4図に示し
た、例えばシフトレジスタ17出力が「0」から
「0」まで変化する演算周期(即ち、前回と今回
の各音階周波数コードβが夫々設定される間)を
T′サンプリング周期をTsとすると、上記演算周
期T′は次式(1)により表わされる。 With the above, the arithmetic processing operation for generating a rectangular wave for one cycle is completed. For example, the calculation period in which the output of the shift register 17 changes from "0" to "0" (that is, the period during which each scale frequency code β of the previous and current scales is set) shown in FIG.
When the T' sampling period is Ts, the calculation period T' is expressed by the following equation (1).
T′=Ts・β/α …(1)
また上述の如くして生成した矩形波の周波数0
はサンプリング周波数sとしたとき、次式(2)によ
り表わされる。 T′=Ts・β/α …(1) Also, the frequency of the rectangular wave generated as described above is 0
is expressed by the following equation (2) when the sampling frequency is s .
0=1/2T′
=s/2・α/β …(2)
次に第5図を参照してPWM波の生成の場合の
動作を説明する。先ず、スイツチ部2上のPWM
波の指定スイツチをオンする。この結果、ゲート
回路G1が閉成し、且つゲート回路G2が開成する。
また、トランスフアーゲート26,33,347
〜340が開成し、且つトランスフアゲート29,
35,467〜460が閉成する。そして上記状態
においてキーボード1上の1個のキーをオンする
とPWM波の演算生成処理が開始される。 0 = 1/2T' = s /2·α/β (2) Next, the operation in the case of generating a PWM wave will be explained with reference to FIG. First, PWM on switch section 2
Turn on the wave designation switch. As a result, gate circuit G1 is closed and gate circuit G2 is opened.
Also, transfer gates 26, 33, 34 7
~34 0 is opened, and transfer gate 29,
35, 46 7 to 46 0 are closed. In the above state, when one key on the keyboard 1 is turned on, the calculation and generation process of the PWM wave is started.
いま、第5図fに示すシフトレジスタ出力が
「0」(同図の左端にある「0」)のタイミングか
ら説明を行う。即ち、この時点では、極性反転回
路32の出力は第5図dに示すように“1”レベ
ルであり、したがつて加減算回路43には加算指
令が与えられ、また排他的オアゲート276〜2
70、インバータ31、フルアダー30のキヤリ
ー入力端子Cinに夫々、“1”信号が印加される。 An explanation will now be given starting from the timing when the shift register output shown in FIG. 5f is "0"("0" at the left end of the figure). That is, at this point, the output of the polarity inversion circuit 32 is at the "1" level as shown in FIG .
7 0 , a “1” signal is applied to the carry input terminal Cin of the inverter 31 and the full adder 30, respectively.
一方、減算回路41は結果データβ−Kを出力
して乗算回路42に与え、また乗算回路42は結
果データ(β−K)γを出力して加減算回路43
に与えている。更に加減算回路43は結果データ
β+(β−K)γを出力し、ゲート回路G2に与え
ている。茲で、上記データKは例えば「1024」で
あり、またデユーテイ比を決定するデータγは、
0≦γ≦1の値をとる。 On the other hand, the subtraction circuit 41 outputs the result data β-K and gives it to the multiplication circuit 42, and the multiplication circuit 42 outputs the result data (β-K)γ to the addition and subtraction circuit 43.
is giving to Furthermore, the addition/subtraction circuit 43 outputs result data β+(β-K)γ, which is applied to the gate circuit G2 . For example, the data K is "1024", and the data γ that determines the duty ratio is
It takes a value of 0≦γ≦1.
したがつて上記1個のキーのオン時に、矩形波
の生成動作時に述べたことと同様な動作にしたが
つてフルアダー16には演算処理開始時にデータ
β+(β−K)γが設定される。そしてこの設定
データβ+(β−K)γからデータα(一定値)を
減算する累積減算動作が実行される。そしてその
結果データ、即ち、シフトレジスタ17の出力が
「1024」までαづつ減少するまでの間は、第5図
b,c,d,eに夫々示す如く、アンドゲート2
2−1、インバータ50、極性反転回路32、ア
ンドゲート22−2の各出力は夫々“0”,“1”,
“1”,“0”の各レベルを保持している。このた
めこの期間はROM23からの読出し波形は無効
とされ、フルアダー30から出力されデイジタル
フイルタ6へ送出されるデータは8ビツトオール
“0”データとなる。 Therefore, when the above-mentioned one key is turned on, data β+(β-K)γ is set in the full adder 16 at the start of arithmetic processing in accordance with an operation similar to that described for the rectangular wave generation operation. Then, a cumulative subtraction operation is performed to subtract data α (a constant value) from this setting data β+(β−K)γ. Until the resulting data, that is, the output of the shift register 17, decreases by α to "1024", the AND gate 2
2-1, the inverter 50, the polarity inverting circuit 32, and the AND gate 22-2 each output “0”, “1”,
Each level of "1" and "0" is held. Therefore, during this period, the read waveform from the ROM 23 is invalidated, and the data output from the full adder 30 and sent to the digital filter 6 becomes 8-bit all "0" data.
累積減算の結果データ即ちシフトレジスタ17
出力が「1024」より小となるとアンドゲート22
−2の出力が“1”レベルに反転する。このため
上記結果データが「1024」から「512」まべ変化
する間は、ROM23を最大アドレスから最小ア
ドレス方向へ順次アドレス指定して読出される振
幅値データの極性を反転したデータがフルアダー
30から出力し、デイジタルフイルタ6へ送出さ
れる。 Cumulative subtraction result data, ie shift register 17
When the output is less than "1024", AND gate 22
-2 output is inverted to "1" level. Therefore, while the above result data changes from "1024" to "512", the polarity of the amplitude value data read out by sequentially addressing the ROM 23 from the maximum address to the minimum address is read from the full adder 30. The signal is output and sent to the digital filter 6.
結果データが「512」になると、極性反転回路
32の出力が第5図dに示す如く“0”レベルへ
反転し、加減算回路43へ減算指令が与えられ、
また排他的オアゲート276〜270、インバータ
31、フルアダー30のキヤリー入力端子Cinに
“0”信号が印加される。また上記結果データが
「511」以下になると第5図bに示す如く、アンド
ゲート22−1の出力“1”レベルに反転する。
このため結果データが「511」から「0」まで変
化するまでの間は、フルアダー30の出力は、
ROM23をその最小アドレスから最大アドレス
方向へ向けてアドレス指定して読出される振幅値
データがそのまま出力し、デイジタルフイルタ6
へ送出される。 When the resultant data becomes "512", the output of the polarity inversion circuit 32 is inverted to the "0" level as shown in FIG. 5d, and a subtraction command is given to the addition/subtraction circuit 43.
Further, a “0” signal is applied to the carry input terminals Cin of the exclusive OR gates 27 6 to 27 0 , the inverter 31 and the full adder 30 . Further, when the resultant data becomes less than "511", the output of the AND gate 22-1 is inverted to the "1" level as shown in FIG. 5B.
Therefore, until the result data changes from "511" to "0", the output of the full adder 30 is
The amplitude value data read out by addressing the ROM 23 from the minimum address to the maximum address is output as is, and the data is output directly to the digital filter 6.
sent to.
そして、第5図fに示すように結果データが
「0」以下となると、次の減算動作時にフルアダ
ー16に対し、データβ−(β−K)γが設定さ
れる。なお、第5図b,cに夫々示すように、結
果データが「0」以下となるときアンドゲート2
2−1,22−2の各出力が“0”レベルへ反転
する。上記データβ−(β−K)γがフルアダー
16に設定されると再びαづつの減算動作が開始
される。そしてその結果データが「1024」に減少
するまでの間はフルアダー30の出力は8ビツト
オール“1”データを保持される。そして、第5
図fに示すように結果データが「1024」より小と
なるとアンドゲート22−2の出力が第5図eに
示すように“1”レベルに反転する。したがつて
結果データが「512」まで減少する間は、フルア
ダー30の出力はROM23を最大アドレスから
最小アドレスへ向けてアドレスして読出される振
幅値データと同一データとなり、デイジタルフイ
ルタ6へ送出する。 When the resultant data becomes "0" or less as shown in FIG. In addition, as shown in FIGS. 5b and 5c, when the result data is "0" or less, the AND gate 2
Each output of 2-1 and 22-2 is inverted to "0" level. When the data β-(β-K)γ is set in the full adder 16, the subtraction operation by α is started again. As a result, the output of the full adder 30 is held as 8-bit all "1" data until the data is reduced to "1024". And the fifth
When the resultant data becomes smaller than "1024" as shown in FIG. 5F, the output of the AND gate 22-2 is inverted to the "1" level as shown in FIG. 5E. Therefore, while the result data decreases to "512", the output of the full adder 30 becomes the same data as the amplitude value data read out by addressing the ROM 23 from the maximum address to the minimum address, and sends it to the digital filter 6. .
次に結果データが「512」より小となり、更に
「0」まで減少する間は、アンドゲート22−1、
極性反転回路32の各出力が共に“1”レベルに
反転して保持される。したがつてこの間のフルア
ダー30の出力は、ROMは、ROM23を最小
アドレスから最大アドレスへ向けてアドレスし読
出される振幅値データの極性を反転したデータと
なり、デイジタルフイルタ6へ送出される。 Next, while the result data becomes smaller than "512" and further decreases to "0", the AND gate 22-1,
Each output of the polarity inversion circuit 32 is both inverted and held at the "1" level. Therefore, the output of the full adder 30 during this period is data obtained by inverting the polarity of the amplitude value data read out by addressing the ROM 23 from the minimum address to the maximum address, and is sent to the digital filter 6.
以上でPWM波の1周期の演算処理作を終り、
以下は上述したことの繰返しである。そしてその
周波数0は矩形波の場合と同一であり、式(2)によ
り表わされる。 This completes the calculation process for one cycle of the PWM wave,
The following is a repetition of what has been described above. The frequency 0 is the same as in the case of a rectangular wave, and is expressed by equation (2).
次に第6図を参照して鋸歯状波の場合につき説
明する。先ず、スイツチ部2上の鋸歯状波の指定
スイツチをオンする。この結果、ゲート回路G1
が開成し、且つゲート回路G2が閉成する。また
トランスフアーゲート29,35が開成し、且つ
トランスフアーゲート26,33が閉成する。そ
して上記状態においてキーボード1上の1個のキ
ーをオンすると鋸歯状波生成のための演算処理が
開始する。 Next, the case of a sawtooth wave will be explained with reference to FIG. First, the sawtooth wave designation switch on the switch section 2 is turned on. As a result, gate circuit G 1
is opened, and gate circuit G2 is closed. Further, transfer gates 29 and 35 are opened, and transfer gates 26 and 33 are closed. In the above state, when one key on the keyboard 1 is turned on, arithmetic processing for generating a sawtooth wave starts.
いま、第6図dに示すシフトレジスタ17出力
が「0」(同図の左端にある「0」のタイミング
から説明を行う。この時点で音階周波数コードβ
がフルアダー16に設定される。したがつてこの
音階周波数コードβがシフトレジスタ17から次
いで出力すると、該コードβは「1024」より大き
いデータであるから、第6図b,cに夫々示すよ
うに、アンドゲート22−1,22−2の各出力
は共に“0”レベルへ反転する。そしてアンドゲ
ート22−2の出力が“0”となつたためにイン
バータ37の出力が“0”、インバータ47の出
力が“1”となり、これに応じてトランスフアー
ゲート347〜340が閉成し、且つトランスフア
ーゲート467〜460が開成する。またフルアダ
ー15,16、シフトレジスタ17、アンドゲー
ト1815〜180では上記音階周波数コードβか
らデータα(一定値)を減算する累積減算動作が
開始する。そしてその累積減算動作の結果データ
が「1024」の値に減少するまでの間は上記アンド
ゲート22−2の出力状態は変化しないため、デ
イジタルフイルタ6への除算回路44の出力が開
成中のトランスフアーゲート467〜460を介し
送出される。而して除算回路44の入力端子Aに
は減算回路45の出力データM−Kが入力し、ま
た入力端子Bには減算回路41の出力データβ−
Kが夫々印加されている。したがつて除算回路の
出力データH′は次式(3)により表わされる。 Now, the output of the shift register 17 shown in FIG.
is set in the full adder 16. Therefore, when this scale frequency code β is then output from the shift register 17, since the code β is data larger than "1024", the AND gates 22-1 and 22 are output as shown in FIGS. 6b and 6c, respectively. -2 outputs are both inverted to "0" level. Since the output of the AND gate 22-2 becomes "0", the output of the inverter 37 becomes "0" and the output of the inverter 47 becomes "1", and accordingly, the transfer gates 34 7 to 34 0 are closed. Then, the transfer gates 46 7 to 46 0 are opened. Further, in the full adders 15 and 16, the shift register 17, and the AND gates 18 15 to 18 0 , an cumulative subtraction operation for subtracting data α (constant value) from the scale frequency code β starts. Since the output state of the AND gate 22-2 does not change until the data as a result of the cumulative subtraction operation decreases to the value "1024", the output of the division circuit 44 to the digital filter 6 is applied to the open transformer. It is sent out via argates 46 7 to 46 0 . The output data M-K of the subtraction circuit 45 is input to the input terminal A of the division circuit 44, and the output data β- of the subtraction circuit 41 is input to the input terminal B.
K is applied to each. Therefore, the output data H' of the division circuit is expressed by the following equation (3).
H′=M−K/β−K×H …(3)
茲で、Mはシフトレジスタ17の出力、Kは一
定値であり、この実施例では「1024」、Hは最大
振幅値であり、この実施例では「256」である。
したがつて式(3)は次式(4)に書きかけることができ
る。 H'=M-K/β-K×H...(3) where M is the output of the shift register 17, K is a constant value, "1024" in this example, and H is the maximum amplitude value, In this example, it is "256".
Therefore, equation (3) can be written into the following equation (4).
H′=M−1024/β−1024×256 …(4)
式(4)からも分かるように、シフトレジスタ17
の出力M、即ち、累積減算の結果データが
「1024」となると、デイジタルフイルタ6へ送出
されるデータは「0」となる。そして第6図dに
示すように結果データが「1024」以下となるとア
ンドゲート22−2の出力が第6図cに示すよう
に“1”レベルに反転する。したがつてトランス
フアーゲート347〜340が開成し、且つトラン
スフアーゲート467〜460が閉成する。そして
上記結果データが「512」に減少するまでの間は
アンドゲート22−1の出力は“0”レベルを保
持されるためインバータ28の出力“1”が開成
中のトランスフアーゲート29を介し排他的オア
ゲート276〜270、インバータ31、フルアダ
ー30のキヤリー入力端子Cinに夫々印加され
る。即ち、結果データが「1023」〜「512」の間
は、ROM23を最高アドレスから最小アドレス
へ向けて順次アドレス指定し読出される振幅値デ
ータの極性を反転したデータがフルアダー30か
ら出力し、トランスフアーゲート347〜340を
介しデイジタルフイルタ6へ送出される。 H'=M-1024/β-1024×256...(4) As can be seen from equation (4), shift register 17
When the output M of , that is, the data as a result of cumulative subtraction becomes "1024", the data sent to the digital filter 6 becomes "0". When the resultant data becomes "1024" or less as shown in FIG. 6(d), the output of the AND gate 22-2 is inverted to the "1" level as shown in FIG. 6(c). Therefore, transfer gates 34 7 to 34 0 are opened, and transfer gates 46 7 to 46 0 are closed. Until the above result data decreases to "512", the output of the AND gate 22-1 is held at the "0" level, so the output "1" of the inverter 28 is excluded via the open transfer gate 29. The signals are applied to the carry input terminals Cin of the target OR gates 27 6 to 27 0 , the inverter 31 and the full adder 30, respectively. In other words, when the result data is between "1023" and "512", the full adder 30 outputs data in which the polarity of the amplitude value data read out by addressing the ROM 23 sequentially from the highest address to the lowest address is output, and the transfer data is outputted from the full adder 30. The signal is sent to the digital filter 6 via the argates 347 to 340 .
結果データが「512」より小さくなると第6図
bに示すようにアンドゲート22−1の出力も
“1”レベルに反転する。したがつてその“1”
信号が排他的オアゲート228〜220に印加され
て以後、ROM23が最小アドレスから最大アド
レスへ向けてアドレス指定される一方、インバー
タ28の出力“0”が排他的オアゲート276〜
270、インバータ31、フルアダー30のキヤ
リー入力端子Cinに夫々印加される。そのため
「511」〜「0」の間は、デイジタルフイルタ6へ
はROM23から読出される振幅値データがその
まま送出される。そして次に再びフルアダー16
に音階周波数コードβが設定される。 When the resultant data becomes smaller than "512", the output of the AND gate 22-1 is also inverted to the "1" level, as shown in FIG. 6b. Therefore, “1”
After the signal is applied to the exclusive OR gates 22 8 to 22 0 , the ROM 23 is addressed from the lowest address to the highest address, while the output “0” of the inverter 28 is applied to the exclusive OR gates 27 6 to 27 6 .
27 0 is applied to the carry input terminal Cin of the inverter 31 and the full adder 30, respectively. Therefore, between "511" and "0", the amplitude value data read from the ROM 23 is sent to the digital filter 6 as is. And then again full adder 16
A scale frequency code β is set to .
以上で鋸歯状波生成の一周期の動作を終る。そ
してその周波数0は次式(5)により表わされる。 This completes one cycle of sawtooth wave generation. The frequency 0 is expressed by the following equation (5).
0=s・α/β …(5)
即ち、(5)式から理解されるように、鋸歯状波の
場合は、矩形波あるいはPWM波の場合と異なり
音階周波数コードβを2倍とする必要がある。 0 = s・α/β …(5) That is, as can be understood from equation (5), in the case of a sawtooth wave, unlike the case of a rectangular wave or PWM wave, it is necessary to double the scale frequency code β. There is.
以上説明した矩形波、PWM波、鋸歯状波の生
成動作においては、キーボード1上のキーが1個
だけオンされた場合につき説明したが、この実施
例ではミユージツクシンセサイザを8音のポリフ
オニツク用としたから、最大8個までのキーが同
時にオンされた場合においても、第1図および第
2図の各回路は8チヤンネルの時分割処理動作に
よつて各キーに対する上記基本波を同時生成する
ことができるが、その詳細説明は省略する。 The operations for generating square waves, PWM waves, and sawtooth waves explained above are based on the case where only one key on the keyboard 1 is turned on, but in this example, the music synthesizer is used for eight-note polyphonic. Therefore, even if up to eight keys are turned on at the same time, each circuit in FIGS. 1 and 2 can simultaneously generate the fundamental wave for each key by time-sharing processing operation of 8 channels. can be done, but detailed explanation thereof will be omitted.
第7図ないし第9図は、上記実施例によつて生
成された鋸歯状波の倍音成分の構成を実験データ
にもとづき3つの周波数について示したものであ
る。而して何れの場合もサンプリング周波数sは
64KHzである。 FIGS. 7 to 9 show the structure of overtone components of the sawtooth wave generated by the above embodiment at three frequencies based on experimental data. Therefore, in either case, the sampling frequency s is
It is 64KHz.
第7図において、この鋸歯状波の基音の周波数
は、同図aに示すようにα=831、β=240640、
s=64KHzを上記式(5)に代入して得られる221.011
Hzである。第7図bから分かるように、サンプリ
ング定理による折り返し歪(エリアシング)が発
生する周波数(s/2=32KHz)は145次の倍音
成分に対応している。そして1次〜144次までの
基音、倍音の各レベルは共に145次以上の各倍音
のレベルより高く、良好なものとなつている。な
お、このs/2以上の高次倍音は聴感上全く問題
がないことが実験的に確認されている。また図示
の如く、176次付近と293次付近とに各倍音成分が
発生しないテイツプが生じている。 In Figure 7, the frequencies of the fundamental tone of this sawtooth wave are α=831, β=240640, as shown in figure a.
221.011 obtained by substituting s = 64KHz into the above equation (5)
It is Hz. As can be seen from FIG. 7b, the frequency ( s /2=32 KHz) at which aliasing distortion occurs according to the sampling theorem corresponds to the 145th harmonic component. The levels of the fundamental tone and overtones from the 1st to the 144th order are both higher than the levels of the overtones of the 145th order and above, making them good. It has been experimentally confirmed that these high-order overtones of s /2 or higher pose no problem in terms of hearing. Furthermore, as shown in the figure, there are taps in which each overtone component does not occur near the 176th order and near the 293rd order.
第8図は第7図と異なる周波数の鋸歯状波の倍
音構成の場合を示すもので、同図aに示すように
α=831、β=120320、s=64KHzを式(5)に代入
して得られる周波数442.02Hzの鋸歯状波を示す、
示す。同図bから分かるように73次の倍音の周波
数が上記32KHzに相当している。そしてこの場合
も1次〜72次の基音、倍音のレベルは73次以上の
倍音のレベルより大である。また88次、146次付
近の2個所にデイツプが生じている。 Figure 8 shows the harmonic structure of a sawtooth wave with a frequency different from that in Figure 7. As shown in Figure a, α = 831, β = 120320, and s = 64KHz are substituted into equation (5). shows a sawtooth wave with a frequency of 442.02Hz obtained by
show. As can be seen from figure b, the frequency of the 73rd harmonic corresponds to the above-mentioned 32KHz. In this case as well, the levels of the fundamental tones and overtones of the 1st to 72nd orders are higher than the levels of overtones of the 73rd order and above. There are also two dips near the 88th and 146th orders.
第9図は、第7図、第8図と異なる周波数の鋸
歯状波の倍音構成を示す。その周波数は、同図a
に示すようにα=831、β=60160、s=64KHzを
式(5)に代入して得られる884.04Hzである。そして
同図bに示すように37次の倍音の周波数が32KHz
に略相当している。また1次〜36次の基音、倍音
の各レベルはこの場合も37次以上の各倍音のレベ
ルより大である。また同様に44次、72次に夫々デ
イツプが発生する。 FIG. 9 shows the overtone structure of the sawtooth wave at a different frequency from FIGS. 7 and 8. The frequency is a in the same figure.
As shown in , it is 884.04Hz obtained by substituting α = 831, β = 60160, and s = 64KHz into equation (5). As shown in figure b, the frequency of the 37th harmonic is 32KHz.
roughly equivalent to. In addition, the levels of the fundamental tone and overtones of the 1st to 36th orders are also higher than the levels of the overtones of the 37th order and above. Similarly, dips occur at the 44th and 72nd positions.
第7図〜第9図は倍音関係にある3種類の周波
数を示したが、各周波数の鋸歯状波ともROM2
3により補間した期間(演算期間)を「1024」の
一定値としたために周波数が異つても倍音構成
(スペクトル)の特性が一定であり、各周波数に
おいて2個所づつ発生するデイツプの発生周波数
は周波数に関係なくほぼ一定となつている(即
ち、38897.9Hzと64.5KHz付近)。而してこのこと
は上述した周波数以外の周波数についても同様で
ある。 Figures 7 to 9 show three types of frequencies that are related to overtones, but the sawtooth wave of each frequency also has a ROM2
Since the interpolated period (calculation period) in step 3 is set to a constant value of 1024, the characteristics of the harmonic composition (spectrum) are constant even if the frequency is different, and the frequency at which dips occur at two locations at each frequency is equal to the frequency. It remains almost constant regardless of (i.e. around 38897.9Hz and 64.5KHz). This also applies to frequencies other than those mentioned above.
第10図ないし第12図は、上述の鋸歯状波で
示した3種類の周波数221.011Hz、442.021Hz、
884.042Hzの矩形波の各倍音構成を示している。
したがつてこの場合も同図aに示すようにα=
831,β=240640またはβ=120320またはβ=
60160、s=64KHz、更に補間の演算期間は
「1024」である。而して図から自明な如く、この
矩形波についても上述した鋸歯状波と全く同様な
特性が得られる。またPWM波については矩形波
と同様であることは勿論である。 Figures 10 to 12 show three types of frequencies, 221.011Hz, 442.021Hz, and
It shows the overtone composition of the 884.042Hz square wave.
Therefore, in this case as well, α=
831, β=240640 or β=120320 or β=
60160, s = 64KHz, and the interpolation calculation period is "1024". As is obvious from the figure, this rectangular wave has exactly the same characteristics as the sawtooth wave described above. Furthermore, it goes without saying that the PWM wave is similar to the rectangular wave.
以上から分かるように、補間部分の巾(演算期
間)を音階周波数に関係なく一定とすれば全ての
音階周波数において一定の周波数での帯域制限さ
れた波形が簡単に得られる。 As can be seen from the above, if the width of the interpolation portion (calculation period) is constant regardless of the scale frequency, a band-limited waveform at a constant frequency can be easily obtained at all scale frequencies.
第13図および第14図は同一周波数の2つの
鋸歯状波において、上述した補間の演算期間を異
らせた場合の倍音構成の変化について説明するも
のである。即ち、第13図は、同図aに示す如く
α=543、β=78592、s=64KHzを式(5)に代入し
てその周波数を442.2Hzとし、また補間の演算期
間を「1024」としたものであり、他方、第14図
は、同図aに示す如くα、β、sは同一であり、
且つ補間の演算期間を2倍の「2048」としたもの
である。即ち、CPU3からデータKの値を変更
して与えることによつて実現出来る。而して第1
3図bと第14図bとを比較してみると、倍音成
分のレベルが両者では異ることが明白である。即
ち、補間の演算期間を単に異らせるだけで同一発
音周波数の楽音の音色が異るフイルタ効果を得る
ことができることになる。なお、第8図と第13
図の共に周波数が442Hzの鋸歯状波の倍音構成を
比較すると、サンプリング周波数sおよび補間の
演算期間が同一であつても、設定するα,βの各
値が相違されば倍音構成が変化することが分か
る。 FIGS. 13 and 14 illustrate changes in overtone structure when the above-mentioned interpolation calculation periods are made different for two sawtooth waves having the same frequency. That is, in Figure 13, as shown in Figure 13a, α = 543, β = 78592, s = 64KHz are substituted into equation (5) to make the frequency 442.2Hz, and the interpolation calculation period is ``1024''. On the other hand, in Fig. 14, α, β, and s are the same as shown in a of the same figure,
In addition, the interpolation calculation period is doubled to "2048". That is, this can be realized by changing the value of data K from the CPU 3. Therefore, the first
Comparing Figure 3b and Figure 14b, it is clear that the levels of overtone components are different between the two. That is, by simply varying the calculation period of interpolation, it is possible to obtain a filter effect in which the tones of musical tones having the same sound generation frequency differ. Furthermore, Figures 8 and 13
Comparing the harmonic composition of the sawtooth wave shown in the figure, both of which have a frequency of 442 Hz, it can be seen that even if the sampling frequency s and the interpolation calculation period are the same, the harmonic composition will change if the α and β values are different. I understand.
なお、上記実施例では基本波を矩形波、PWM
波、鋸歯状波の3種類としたが、三角波、傾斜波
等、他の基本波を利用することができる。また基
本波の振幅レベルが急変する個所の補間を正弦波
により行つたが、2次関数、3次関数、指数関
数、三角関数等の他の関数曲線を利用してもよ
い。また上記実施例ではROM23に1/4周期の
正弦波を記憶したが、1周期あるいは1/2周期の
正弦波であつてもよい。更に上記実施例では初期
値βをフルアダーに設定後、一定値αを順次減算
する累積減算動作を行つたが、初期値βの設定後
一定値αを順次加算する累積加算動作を実行し、
上記実施例同様な基本波を得る演算処理を行つて
もよく、基本波の音階を決定する演算回路は種々
変更出来る。またこの発明はミユージツクシンセ
サイザに限らず、その他の電子楽器にも利用でき
ることは勿論であり、本発明の主旨を逸脱しない
範囲内で種々変形応用可能である。 In addition, in the above example, the fundamental wave is a rectangular wave, PWM
Although the three types of fundamental waves are waves and sawtooth waves, other fundamental waves such as triangular waves and slope waves can be used. Further, although the interpolation at the point where the amplitude level of the fundamental wave suddenly changes is performed using a sine wave, other function curves such as a quadratic function, a cubic function, an exponential function, a trigonometric function, etc. may be used. Further, in the above embodiment, a 1/4 period sine wave is stored in the ROM 23, but it may be a 1 period or 1/2 period sine wave. Further, in the above embodiment, after setting the initial value β to the full adder, a cumulative subtraction operation was performed in which a constant value α was sequentially subtracted, but after setting the initial value β, a cumulative addition operation was performed in which a constant value α was sequentially added,
The same arithmetic processing for obtaining the fundamental wave as in the above embodiment may be performed, and the arithmetic circuit for determining the scale of the fundamental wave may be modified in various ways. Furthermore, it goes without saying that the present invention can be used not only for music synthesizers but also for other electronic musical instruments, and can be modified and applied in various ways without departing from the spirit of the present invention.
この発明は以上説明したように、デイジタル回
路を用いた演算処理によつて矩形波等の各種基本
波の生成を行うようにした電子楽器のウエーブジ
エネレータを提供したから、波形の記憶した
ROMを用いる必要がなく、このため低周波数に
おいても充分な高次倍音を含む基本波を生成で
き、またそのためにハードの構成が厖大となるこ
とが全くなく、しかもデイジタル回路の時分割処
理を利用すればポリフオニツクの電子楽器を容易
に実現できる利点がある。また基本波の振幅レベ
ルが急変する個所の波形生成を2次関数等の関数
曲線を用いて補間するようにし、しかもその補間
の期間を指定音高に関係なく一定とすることによ
り、全ての音高に対し、一定周波数でスペクトル
が帯域制限された波形をもつ楽音信号を得ること
ができるようになり、サンプリング定理にもとづ
く折り返し歪を実用上問題のないところまで低減
でき、しかも低音域の楽音についても高次倍音を
豊富に含んだものとすることが可能となるという
利点もある。 As explained above, the present invention provides a wave generator for an electronic musical instrument that generates various fundamental waves such as rectangular waves through arithmetic processing using a digital circuit.
There is no need to use ROM, and therefore a fundamental wave containing sufficient high-order harmonics can be generated even at low frequencies.Therefore, the hardware configuration does not have to become huge at all, and moreover, it uses time-sharing processing of digital circuits. This has the advantage that a polyphonic electronic musical instrument can be easily realized. In addition, by interpolating waveform generation at points where the amplitude level of the fundamental wave suddenly changes using a function curve such as a quadratic function, and by making the period of interpolation constant regardless of the specified pitch, it is possible to It is now possible to obtain a musical sound signal with a waveform whose spectrum is band-limited at a constant frequency for high frequency sounds, and the aliasing distortion based on the sampling theorem can be reduced to a point where there is no practical problem. It also has the advantage that it can be made to contain abundant high-order overtones.
第1図はこの発明の一実施例によるミユージツ
クシンセサイザのシステム図、第2図はウエーブ
ジエネレータ5の具体的回路図、第3図はROM
23の記憶波形図、第4図は矩形波の生成動作を
説明するタイムチヤート、第5図はPWM波の生
成動作を説明するタイムチヤート、第6図は鋸歯
状波の生成動作を説明するタイムチヤート、第7
図ないし第9図は3つの周波数の鋸歯状波におけ
る倍音構成を示す図、第10図ないし第12図は
3つの周波数の矩形波における倍音構成を示す
図、第13図および第14図は補間部分の演算期
間を相異させた場合の同一音階周波数における鋸
歯状波の各倍音構成を示す図である。
1……キーボード、2……スイツチ部、3……
CPU、4……ROM、5……ウエイブジエネレー
タ、6……デイジタルフイルタ、7……エンベロ
ープジエネレータ、8……デイジタル/アナログ
変換器、15,16,30……フルアダー、17
……シフトレジスタ、1815〜180……アンド
ゲート、208〜200,276〜270……排他的
オアゲート、21−7〜21−1……インバー
タ、22−6〜22−1……アンドゲート、23
……ROM、246〜240……オアゲート、26,
29,33,35,347〜340,467〜460
……トランスフアーゲート、31……インバー
タ、32……極性反転回路、41,45……減算
回路、42……乗算回路、43……加減算回路、
44……除算回路、G1,G2……ゲート回路。
FIG. 1 is a system diagram of a music synthesizer according to an embodiment of the present invention, FIG. 2 is a specific circuit diagram of the wave generator 5, and FIG. 3 is a ROM
Figure 4 is a time chart explaining the rectangular wave generation operation, Figure 5 is a time chart explaining the PWM wave generation operation, and Figure 6 is a time chart explaining the sawtooth wave generation operation. Chaat, 7th
Figures 9 to 9 are diagrams showing the harmonic composition of sawtooth waves of three frequencies, Figures 10 to 12 are diagrams showing the harmonic composition of rectangular waves of three frequencies, and Figures 13 and 14 are interpolation. It is a figure which shows each overtone structure of the sawtooth wave in the same scale frequency when the calculation period of a part is made to differ. 1...Keyboard, 2...Switch part, 3...
CPU, 4...ROM, 5...Wave generator, 6...Digital filter, 7...Envelope generator, 8...Digital/analog converter, 15, 16, 30...Full adder, 17
...Shift register, 1815 to 180 ...And gate, 208 to 200 , 276 to 270 ...Exclusive OR gate, 21-7 to 21-1...Inverter, 22-6 to 22-1 ...And Gate, 23
...ROM, 24 6 ~ 24 0 ...Or Gate, 26,
29,33,35,34 7 ~34 0 ,46 7 ~46 0
... Transfer gate, 31 ... Inverter, 32 ... Polarity inversion circuit, 41, 45 ... Subtraction circuit, 42 ... Multiplication circuit, 43 ... Addition and subtraction circuit,
44...Division circuit, G1 , G2 ...Gate circuit.
Claims (1)
憶する記憶手段と、 音高指定に応じて上記記憶手段から所望の周波
数情報を読出す読出手段と、 この読出手段にて読み出された周波数情報をも
とに所定の演算を行つて指定音高に応じたレート
で変化する複数ビツトの信号を出力する演算手段
と、 この演算手段から出力する上記複数ビツトの信
号から所定の波形を持つ楽音信号を形成する制御
手段と、 この制御手段から発生する上記楽音信号の振幅
レベルが急変する部分で、かつ指定音高に関係な
く一定期間の波形を関数曲線で補間することによ
りスペクトルが帯域制限された波形をもつ楽音信
号を得るようにした補間手段と、 を具備してなる電子楽器のウエーブジエネレー
タ。 2 上記補間手段は、正弦波を記憶したROMを
有し、上記補間を正弦波により行うことを特徴と
する特許請求の範囲第1項記載の電子楽器のウエ
ーブジエネレータ。 3 上記補間手段は、上記関数曲線により補間す
る期間を可変制御可能とする可変制御手段を具備
したことを特徴とする特許請求の範囲第1項記載
の電子楽器のウエーブジエネレータ。[Scope of Claims] 1. Storage means for storing frequency information corresponding to a plurality of musical tone frequencies; Reading means for reading out desired frequency information from the storage means in accordance with pitch specification; A calculation means that performs a predetermined calculation based on the output frequency information and outputs a multi-bit signal that changes at a rate according to the specified pitch; A control means for forming a musical tone signal having a waveform; and a control means for forming a musical tone signal having a waveform; and a control means for generating a spectrum by interpolating the waveform for a certain period of time irrespective of the specified pitch at a portion where the amplitude level of the musical tone signal generated from the control means suddenly changes, using a function curve. A wave generator for an electronic musical instrument, comprising: interpolation means for obtaining a musical tone signal having a band-limited waveform; 2. The wave generator for an electronic musical instrument according to claim 1, wherein the interpolation means has a ROM that stores sine waves, and performs the interpolation using sine waves. 3. The wave generator for an electronic musical instrument according to claim 1, wherein the interpolation means includes variable control means for variably controlling the interpolation period based on the function curve.
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56208814A JPS58108585A (en) | 1981-12-22 | 1981-12-22 | Wave generator for electronic musical instruments |
| GB08235445A GB2113447B (en) | 1981-12-22 | 1982-12-13 | Tone signal generating apparatus of electronic musical instruments |
| US06/450,082 US4479411A (en) | 1981-12-22 | 1982-12-15 | Tone signal generating apparatus of electronic musical instruments |
| DE3247599A DE3247599C2 (en) | 1981-12-22 | 1982-12-22 | Sound signal generating device for electronic musical instruments |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56208814A JPS58108585A (en) | 1981-12-22 | 1981-12-22 | Wave generator for electronic musical instruments |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58108585A JPS58108585A (en) | 1983-06-28 |
| JPS6325679B2 true JPS6325679B2 (en) | 1988-05-26 |
Family
ID=16562561
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP56208814A Granted JPS58108585A (en) | 1981-12-22 | 1981-12-22 | Wave generator for electronic musical instruments |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS58108585A (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2550448Y2 (en) * | 1991-05-17 | 1997-10-15 | ヤンマー農機株式会社 | Vertical transfer device for seedlings on seedling table |
-
1981
- 1981-12-22 JP JP56208814A patent/JPS58108585A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS58108585A (en) | 1983-06-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR940005988B1 (en) | Musical sound waveform generator | |
| CN101149916B (en) | Filter device and electronic musical instrument using filter device | |
| JPH0230033B2 (en) | ||
| US4479411A (en) | Tone signal generating apparatus of electronic musical instruments | |
| US5254805A (en) | Electronic musical instrument capable of adding musical effect to musical tones | |
| JPS6325679B2 (en) | ||
| JPH0422519B2 (en) | ||
| JPH0225515B2 (en) | ||
| JPH0318197B2 (en) | ||
| JPS6322312B2 (en) | ||
| JPS6229794B2 (en) | ||
| JPH04116598A (en) | Musical sound signal generation device | |
| JPH0263237B2 (en) | ||
| JP2608938B2 (en) | Waveform interpolation device | |
| JPS6320358B2 (en) | ||
| JPH0740191B2 (en) | Envelope generator | |
| JP2510090Y2 (en) | Music signal generator | |
| JPS61204697A (en) | Tone signal generator | |
| JP3095323B2 (en) | Electronic musical instrument | |
| JP2679314B2 (en) | Music synthesizer | |
| JPS6352399B2 (en) | ||
| JPH0239795B2 (en) | ||
| JP2897680B2 (en) | Music signal generator | |
| JP2678970B2 (en) | Tone generator | |
| JPH0643863A (en) | Effector |