JPS646480B2 - - Google Patents
Info
- Publication number
- JPS646480B2 JPS646480B2 JP57220945A JP22094582A JPS646480B2 JP S646480 B2 JPS646480 B2 JP S646480B2 JP 57220945 A JP57220945 A JP 57220945A JP 22094582 A JP22094582 A JP 22094582A JP S646480 B2 JPS646480 B2 JP S646480B2
- Authority
- JP
- Japan
- Prior art keywords
- waveform
- calculation
- output
- buffer memory
- converter
- 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 139
- 230000015654 memory Effects 0.000 claims description 49
- 230000001360 synchronised effect Effects 0.000 claims description 7
- 239000003990 capacitor Substances 0.000 description 20
- 238000010586 diagram Methods 0.000 description 15
- 102100036943 Cytoplasmic protein NCK1 Human genes 0.000 description 13
- 101001024707 Homo sapiens Cytoplasmic protein NCK1 Proteins 0.000 description 13
- 102100038018 Corticotropin-releasing factor receptor 1 Human genes 0.000 description 12
- 101000878678 Homo sapiens Corticotropin-releasing factor receptor 1 Proteins 0.000 description 12
- 101000948733 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) Probable phospholipid translocase non-catalytic subunit CRF1 Proteins 0.000 description 12
- 238000005070 sampling Methods 0.000 description 9
- 238000000034 method Methods 0.000 description 8
- 101000648528 Homo sapiens Transmembrane protein 50A Proteins 0.000 description 6
- 102100028770 Transmembrane protein 50A Human genes 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 102100037620 Centrin-1 Human genes 0.000 description 5
- 102100023457 Chloride channel protein 1 Human genes 0.000 description 5
- 102100038387 Cystatin-SN Human genes 0.000 description 5
- 101000880499 Homo sapiens Centrin-1 Proteins 0.000 description 5
- 101000906651 Homo sapiens Chloride channel protein 1 Proteins 0.000 description 5
- 101000884768 Homo sapiens Cystatin-SN Proteins 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 101000836337 Homo sapiens Probable helicase senataxin Proteins 0.000 description 4
- 102100027178 Probable helicase senataxin Human genes 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 101150075071 TRS1 gene Proteins 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 102100038019 Corticotropin-releasing factor receptor 2 Human genes 0.000 description 2
- 101000878664 Homo sapiens Corticotropin-releasing factor receptor 2 Proteins 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 101100441077 Arabidopsis thaliana CRF3 gene Proteins 0.000 description 1
- 101100421188 Caenorhabditis elegans smp-1 gene Proteins 0.000 description 1
- 101100535994 Caenorhabditis elegans tars-1 gene Proteins 0.000 description 1
- 101000957724 Catostomus commersonii Corticoliberin-1 Proteins 0.000 description 1
- 102100031699 Choline transporter-like protein 1 Human genes 0.000 description 1
- 101000940912 Homo sapiens Choline transporter-like protein 1 Proteins 0.000 description 1
- 239000002253 acid Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
産業上の利用分野
本発明は、電子楽器のように、同時に異なつた
周波数の信号を複数個発生させるのに適した波形
読み出し装置に関するものである。
従来例の構成とその問題点
従来、電子楽器の分野において、複数の鍵に対
応する異なつた周波数の楽音を同時に発生させる
方法としては、独立の波形発生器を備える方法
と、1つの波形発生器を時分割的に動作させて複
数の周波数の波形を同時に発生させる方法とがあ
る。
楽音波形をデイジタル的に発生させる場合、前
者では、デイジタル信号をアナログ信号に変換す
るDA変換器が波形発生器の数だけ必要になる欠
点がある。後者の場合、1つの波形発生器を時分
割動作させるから、必然的にサンプル値を発生さ
せることになる。これらのサンプル値を出力する
ときに、DA変換器を用いる必要がある。従来複
数のサンプル値を加算してから、DA変換する方
式が使われている。この場合には、DA変換器は
1個で良いが、加算結果のダイナミツクレンジが
増加するため加算結果を正確にDA変換するため
に、DA変換器のビツト数を多く必要とする欠点
がある。また、複数のサンプル値は、DA変換器
の動作周波数でサンプリングされた値であること
が要求される。すなわち複数の楽音は、それぞれ
共通のサンプリング周波数を想定して計算された
ものでなければならない。ところが複数の楽音の
周波数は、一般に12平均律にしたがい12通りの周
波数よりなつており、これらのすべての周波数と
サンプリング周波数とが調和関係(単純には楽音
の基本周波数の整数倍がサンプリング周波数とな
る関係)になるには、サンプリング周波数が非常
に大きくなり全く実用性がなくなる。一方、実用
性のあるサンプリング周波数、たとえば、20〜
50KHz位では、いずれかの音階の楽音の基本周波
数とサンプリング周波数とが非調和関係となり、
サンプリングによる折り返し周波数が楽音の高調
波成分の周波数からずれてしまうために、にごつ
た音になる。また、波形サンプル値を一周期分用
意して、それを繰り返し読み出す波形発生方法を
使うことができず、良質の楽音を得るには、サン
プル数を多くするか、あるいはサンプル値の間で
補間演算する必要が出てきて、波形発生装置が大
規模になるという欠点もあつた。
発明の目的
本発明は、内部の波形発生や波形計算の速度と
楽音の基本周波数とは非同期とし、楽音の基本周
波数の整数倍の読み出し周波数にしたがつて読み
出すようにして、上記欠点のないようにすると共
に使用者の好みに応じた各種のモードに使用でき
るようにしたものである。
発明の構成
本発明は複数の波形を発生する波形発生器と、
上記波形の読み出し周波数を発生する読み出し周
波数発生器と、上記読み出し周波数にしたがつて
上記波形を読み出すとともに、指定されたモード
にしたがつて異なる出力端子に上記波形発生器の
発生する波形サンプルを出力する読み出し装置と
を設け、読み出し周波数のそれぞれに同期した波
形のサンプルを読み出すように構成するととも
に、得られた波形サンプルを指定されたモードに
したがつて複数個の出力端子に任意にふり分けて
供給するようにしたものである。
実施例の説明
第1図は本発明の基本動作を説明するためのブ
ロツク図である。
1はノートクロツクジエネレータ(NCG)で、
マスタクロツク信号MCKを分周して、12平均律
の音階音に対応する12通りのノートクロツク
(C,C#
,D,…,B)を発生する。2はタイ
ミングパルス発生器(TPG)で、必要なパルス
信号を発生する。3はノートクロツクセレクタ
(NCS)であつて、発生すべき音階音を指定する
ノートデータを受けて、上記12のノートクロツク
(C,C#
,D,…,B)から指定のノートデー
タに対応するノートクロツクを選択して出力する
機能をもつ。本実施例では、鍵盤の鍵を同時に8
つまで押さえても音が出る、いわゆる、8チヤン
ネルの発音数を想定しているので、8個のノート
データに対して、それぞれのノートクロツクが選
択され、NCK1〜NCK8の8個のノートクロツ
クが出力される。音名および、ノートクロツクジ
エネレータ(NCG)1におけるマスタクロツク
MCKの分周数、音階周波数の関係を第1表に示
す。
INDUSTRIAL APPLICATION FIELD The present invention relates to a waveform reading device suitable for simultaneously generating a plurality of signals of different frequencies, such as in an electronic musical instrument. Conventional configurations and their problems Conventionally, in the field of electronic musical instruments, there are two methods for simultaneously generating musical tones of different frequencies corresponding to multiple keys: a method with independent waveform generators, and a method with a single waveform generator. There is a method in which waveforms of multiple frequencies are generated simultaneously by operating in a time-divisional manner. When generating musical sound waveforms digitally, the former method has the disadvantage that it requires as many DA converters as there are waveform generators to convert digital signals into analog signals. In the latter case, since one waveform generator is operated in a time-division manner, sample values are inevitably generated. It is necessary to use a DA converter when outputting these sample values. Conventionally, a method has been used that adds multiple sample values and then performs DA conversion. In this case, only one DA converter is required, but since the dynamic range of the addition result increases, the disadvantage is that a large number of bits is required in the DA converter in order to accurately DA convert the addition result. . Further, the plurality of sample values are required to be values sampled at the operating frequency of the DA converter. That is, the plurality of musical tones must be calculated assuming a common sampling frequency. However, the frequencies of multiple musical tones generally consist of 12 different frequencies according to 12 equal temperament, and all these frequencies and the sampling frequency have a harmonic relationship (simply put, the sampling frequency is an integral multiple of the fundamental frequency of the musical tone). In order to obtain the following relationship, the sampling frequency would become extremely large and would be completely impractical. On the other hand, a practical sampling frequency, e.g.
At around 50KHz, the fundamental frequency of a musical tone of any scale and the sampling frequency have an anharmonic relationship,
The aliasing frequency due to sampling deviates from the frequency of the harmonic components of the musical tone, resulting in a muddy sound. In addition, it is not possible to use a waveform generation method in which one cycle of waveform sample values is prepared and read out repeatedly.In order to obtain a high-quality musical tone, it is necessary to increase the number of samples or perform interpolation between sample values. However, there was also the disadvantage that the waveform generator became large-scale. Purpose of the Invention The present invention eliminates the above-mentioned drawbacks by making the speed of internal waveform generation and waveform calculation asynchronous with the fundamental frequency of musical tones, and reading out according to a readout frequency that is an integral multiple of the fundamental frequency of musical tones. In addition, it can be used in various modes according to the user's preference. Configuration of the Invention The present invention includes a waveform generator that generates a plurality of waveforms;
A readout frequency generator that generates a readout frequency of the above waveform, reads out the above waveform according to the above readout frequency, and outputs waveform samples generated by the above waveform generator to different output terminals according to a specified mode. A readout device is provided to read out waveform samples synchronized with each readout frequency, and the obtained waveform samples are arbitrarily distributed to a plurality of output terminals according to a specified mode. It was designed to be supplied. DESCRIPTION OF THE EMBODIMENTS FIG. 1 is a block diagram for explaining the basic operation of the present invention. 1 is a notebook clock generator (NCG),
Master clock signal MCK is frequency-divided to generate 12 note clocks (C, C#, D, . . . , B) corresponding to 12 equal temperament scale tones. 2 is a timing pulse generator (TPG) that generates necessary pulse signals. 3 is a note clock selector (NCS) which receives note data specifying the scale note to be generated and corresponds to the specified note data from the above 12 note clocks (C, C#, D,..., B). It has a function to select and output the note clock to be used. In this example, 8 keys on the keyboard are played at the same time.
Since we are assuming a so-called 8-channel pronunciation, in which a sound will be produced even if you hold down all the keys, each note clock will be selected for each of the 8 note data, and 8 note clocks from NCK1 to NCK8 will be output. Ru. Note name and master clock in note clock generator (NCG) 1
Table 1 shows the relationship between the MCK frequency division number and scale frequency.
【表】
選択されたノートクロツクNCK1〜8は、そ
れぞれ計算要求フラグレジスタ4に印加される。
計算要求フラグレジスタ4は、8個のSRフリツ
プフロツプFG1〜8で構成される。ノートクロ
ツクNCK1〜8はそれぞれSRフリツプフロツプ
FG1〜8のセツト端子Sに印加される。そして、
ノートクロツクNCK1〜8が出力されるたびに
SRフリツプフロツプFG1〜8はそれぞれセツト
され、それらの出力である計算要求フラグ1〜8
(CRF1〜8)が“1”となる。SRフリツプフロ
ツプFG1〜8のリセツト端子Rには、後述する
計算終了信号CEN1〜8が印加され、この計算
終了信号CEN1〜8が“1”になるたびに計算
要求フラグCRF1〜8は“0”になる。
5は読み出し装置で、読み出し信号TRS1〜
8を発出生する。読み出し信号は計算要求フラグ
CRF1〜8の立上りから始まる所定の幅を持つ
たパルス信号であつて、ノートクロツクNCK1
〜8の周波数で繰り返す。読み出し装置5は、マ
スタクロツクMCKによりシフト動作するシフト
レジスタSR1〜8と一方にインバータのついた
アンドゲートとにより構成され、8つの各チヤン
ネルに対応して設けられている。
6は計算要求検出制御器、7は波形計算器で、
これらの6と7で波形発生器を構成する。計算要
求検出制御器6には、8チヤンネルのそれぞれに
対応してCTL1〜8の8個が設けられている。
チヤンネル1について説明する。タイミングパル
ス発生器TPG2は、計算開始信号CST1と計算
終了信号CEN1とサンプル終了信号SEN1およ
び計算クロツク信号CCKをCTL1に供給してい
る。アンドゲート20と21の一方の入力端子に
計算要求フラグCRF1が印加され、他方に、計
算開始信号CST1と計算終了信号CEN1がそれ
ぞれ印加されている。アンドゲート20,21の
出力はSRフリツプフロツプ22のセツト端子S
とリセツト端子Rとにそれぞれ印加される。アン
ドゲート21の出力はさらにSRフリツプフロツ
プ23のセツト端子Sと、計算要求フラグレジス
タ4の中のSRフリツプフロツプFG1のリセツト
端子Rにも印加されている。SRフリツプフロツ
プ23のリセツト端子Rにはサンプル終了信号
SEN1が印加されている。SRフリツプフロツプ
22の出力Qは計算サイクル信号CLC1として
アンドゲート24に加わり、計算クロツク信号
CCKの波形計算器7のチヤンネルCH1への印加
をコントロールしている。SRフリツプフロツプ
23の出力Qは、サンプル信号SMP1として、
後述する書き込み装置8のゲートG1と、バツフ
アメモリ10のスイツチQ1に印加されている。
波形計算器7はチヤンネルCH1〜8の8チヤ
ンネル分あり、ノートデータ、オクターブデー
タ、キーオンオフデータにしたがつて、所定の音
階とオクターブを持つた楽音波形のサンプル値
を、計算クロツクCCKに従つて計算し、ゲート
G1〜G8へ出力する。所定のロツク数で、新たな
波形のサンプル値を計算するものであれば良い。
書き込み装置8は、ラツチまたはゲートG1〜
G8とDA変換器9とより成る。波形計算器7が計
算を終了して正しい出力を出している間、サンプ
ル信号SMP1〜8に対応して、サンプル値を次
段のDA変換器9に供給する。サンプル信号SMP
1〜8が“0”のときには、各ゲートG1〜G8の
出力は高インピーダスになり、他のゲートへ影響
しないようになつている。DA変換器9の出力
は、バツフアメモリ10に印加される。
バツフアメモリ10は書き込み用のトランジス
タスイツチQ1〜Q8と、電圧を保持するキヤパシ
タC1〜C8、および読み出し用のトランジスタス
イツチQ11〜Q18とより成る。書き込み用のトラ
ンジスタスイツチQ1〜Q8のゲートにはサンプル
信号SMP1〜8がそれぞれ印加され、読み出し
用トランジスタスイツチQ1〜Q18には読み出し信
号TRS1〜8がそれぞれ印加されている。サン
プル信号SMP1が“1”になりトランジスタス
イツチQ1に加わるとトランジスタスイツチQ1は
ONになり、DA変換器9の出力電圧V1がトラン
ジスタスイツチQ1を介してキヤパシタC1に充電
され、その後サンプル信号SMP1が“0”にな
ると、電圧V1は保持される。読み出し信号TRS
1が“1”になるとスイツチQ11がオンになり、
キヤパシタC1上に電荷は、オペアンプ11とキ
ヤパシタCFより成る加算ホールド回路に流れ込
み、出力端子12に出力電圧
−V1C1/CF
が現われ、保持される。なお、本発明に用いるバ
ツフアメモリについては後述する。
第2図は、第1図の実施例の主要部分の動作タ
イミングを示している。第2図において、計算タ
イムスロツトが1〜8まで用意されている。計算
タイムスロツト1の初めに計算開始信号CST1
が発生する。計算タイムスロツト1の終りに計算
終了信号CEN1が発生する。計算タイムスロツ
ト2の終りにサンプル終了信号SEN1が発生す
る。これらのパルスは計算タイムスロツト1〜8
を周期として繰返し発生している。この周期と無
関係の周期でかつノートデータに対応したノート
クロツクNCK1がチヤンネル1に対して発生す
ると、第2図のNCK1により計算要求フラグレ
ジスタ5のFG1がセツトされ、計算要求フラグ
CRF1が“1”になる。計算要求フラグCRF1
は計算タイムスロツト1つの幅より少し小さい時
間だけシフトレジスタSR1により遅延されゲー
トされて読み出し信号TRS1が発生する。計算
要求フラグCRF1が“1”のまま、計算タイム
スロツト1になつて、計算開始信号CST1が発
生すると、この計算開始信号CST1はゲート2
0を通過し、SRフリツプフロツプ22をセツト
するので、計算サイクル信号CLC1が“1”に
なる。計算サイクル信号CLC1はアンドゲート
24を開いて計算クロツク信号CCKが波形計算
器7のチヤンネルCH1に加わり、新しい波形サ
ンプル計算が実行される。計算は計算タイムスロ
ツト内で完了し、計算終了信号CEN1が到来す
ると、このときアンドゲート21には計算要求フ
ラグCRF1が“1”のまま加わつているから、
計算終了信号CEN1はSRフリツプフロツプ22
をリセツト、SRフリツプフロツプ23をセツト、
SRフリツプフロツプEG1をリセツトする。した
がつて計算サイクル信号CLC1は“0”となり、
ゲート24は閉じて計算クロツク信号CCKの供
給は終る。SRフリツプフロツプFG1の出力であ
る計算要求フラグCRF1は“0”となり、計算
要求の生起に対応した計算の実行が終了したこと
を示す。計算要求フラグレジスタ4のSRフリツ
プフロツプFG1はつぎのノートクロツクNCK1
の到来に備える。SRフリツプフロツプ23がセ
ツトされたのでサンプル信号SMP1が“1”に
なり、ゲートG1を開き、計算結果である波形サ
ンプルをDA変換器9に供給する。そしてトラン
ジスタスイツチQ1もオンになり、DA変換器9の
出力電圧V1がキヤパシタC1に印加される。キヤ
パシタC1の電圧が充分正確に電圧V1になるまで
充電されたあと、サンプル終了信号SEN1が発
生し、SRフリツプフロツプ23をリセツトし、
サンプル信号SMP1が“0”になる。サンプル
信号SMP1が“0”になるとゲートG1が閉じて
出力は高インピーダンスになり、同時にトランジ
スタスイツチQ1もオフになり、キヤパシタC1は
電圧V1を保持する。つぎに、ノートクロツク信
号NCK1がSRフリツプフロツプFG1に到達す
ると、読み出し回路5を介して、読出信号TRS
1が“1”になり、上記の電圧V1がトランジス
タスイツチQ11を通してキヤパシタCFに転送され
る。
以上のように、ノートクロツク信号NCK1が
発生すると、前回の波形サンプル値を読み出すと
共に、計算要求フラグを立てて、チヤンネルCH
1の計算タイムスロツトになるまで待ち、チヤン
ネルCH1の計算タイムスロツト1になるとチヤ
ンネルCH1の波形計算を実行し、そのつぎのタ
イムスロツト2で、計算結果のDA変換とバツフ
アメモリへの書き込みを行なうようにしている。
チヤンネルCH1に供給されるトートクロツク信
号NCK1の周波数はノートデータにより異なり、
一般にCからBまでのほぼ2倍弱の範囲に存在し
ている。したがつて、ノートクロツクNCK1の
周波数が低いと、計算要求フラグCRF1が“1”
になつていないのに計算タイムスロツト1になる
ことがあるが、この場合はまだ波形サンプルを計
算しなくてもよいから、計算サイクル信号CLC
1は“0”を保つようにしている。逆にノートク
ロツクNCK1の周波数が高くなりすぎると、計
算タイムスロツト1の到来が間に合わないおそれ
も考えられる。計算タイムスロツト8+2個分の
周期より大きい場合には、その心配はない。
チヤンネルCH2〜8についても同様の動作を
行なう。第3図は、チヤンネルCH1〜4に種々
の周期のノートクロツク信号NCK1〜4が到来
したときの、計算要求フラグCRF1〜4、計算
サイクル信号CLC1〜4、DA変換サイクル
(DAC1〜4)、出力サイクル(OTC1〜4)を
示している。DA変換サイクルDAC1〜4は、サ
ンプル信号SMP1〜4に対応する。出力サイク
ルOTC1〜4は、読み出し信号TRS1〜4に対
応する。計算要求フラグCRF1〜4の立上りの
太い部分は、ノートクロツク信号NCK1〜4の
発生を示している。計算タイムスロツト1〜4で
はそれぞれ、チヤンネルCH1〜4の波形計算を
行なつている。チヤンネルCH2には、周期の大
きいノートクロツク信号が印加されているので、
計算タイムスロツト2は1回おき強しか実際に計
酸が実行されない。点線部分では計算要求フラグ
CRF2が0であるから、計算休止状態である。
チヤンネルCH3はノートクロツクNCK3の周期
が小さい場合で、つぎの計算タイムスロツトのつ
ぎのDA変換サイクルにノートクロツクNCK3が
発生したため、計算実行が1回遅れているが、出
力サイクルは正常に動作する例である。チヤンネ
ルCH4は、計算タイムスロツトにノートクロツ
クNCK4が発生したために計算実行を遅らせた
が、出力サイクルは正常に動作する例である。
以上のように、内部の計算のサイクルと、外部
の読み出しのサイクルとが、同期できず、かつ、
読み出し周期が複数個あり、読み出しタイミング
が複数のチヤンネル間で一致してしまう場合が発
生するようなシステムにおいても、本実施例のよ
うにすることにより、書き込みとDA変換を内部
に同期させておいて、なおかつ、読み出しは、各
チヤンネル独立に行なうことが可能になる。
第1図の実施例では、波形計算器7とゲート8
をチヤンネルごとに独立に設けたが、第3図のタ
イミング図では計算タイムスロツトが完全に独立
であり、書き込みも同様に独立であるから、それ
ぞれ1チヤンネル分だけ持ちTDM(時分割多重
化)動作をさせても良い。
第4図は、さらに計算要求検出制御回路6も
TDM動作させるようにした本発明の別の実施例
である。
第5図に第4図の各部のタイミングと信号波形
を示す。
第4図において、第1図の実施例と同様の機能
を有するものには同番号をつけ説明を省く。
タイミングパルスジエネレータTPG2は、第
5図に示すように、計算クロツク信号CCK、計
算開始信号CST、計算終了信号CENを発生する。
{TS}は計算タイムスロツト1〜8を指定する3
ビツトコードA,B,Cより成る信号である。こ
れらの信号群は、計算要求検出制御回路6に供給
される。計算要求検出制御回路6は、アンドゲー
ト20,21,24,SRフリツプフロツプ22,
シフトレジスタ25,マルチプレクサ27,デマ
ルチプレクサ26と28とにより構成される。7
はTDM化された波形計算器、8はラツチ、9は
DA変換器である。その他は第1図の実施例と同
様である。
第5図において、マスタクロツクMCKは1回
分周され計算クロツク信号CCKとなる。計算ク
ロツク信号CCKが10個で1つの計算タイムスロ
ツトと形成する。各計算タイムスロツトは{TS}
で指示される。{A,B,C}={1,1,1}が
計算タイムスロツト1を表わす。各タイムスロツ
トの最初の計算クロツク信号CCKが計算開始信
号CST、最後の計算クロツク信号CCKが計算終
了信号CENになる。
第1図の実施例と同様に計算要求フラグCRF
1〜8が計算要求フラグレジスタ4に立つ。これ
らの計算要求フラグCRF1〜8はマルチプレク
サ27で順にスキヤンされる。{TS}=(111)の
とき、計算要求フラグCRF1が選択されアンド
ゲート20,21に印加される。計算要求フラゲ
CRF1=“1”ならSRフリツプ22がセツトさ
れ、計算サイクル信号CLCが“1”になり、計
算クロツク信号CCKが波形計算器7に供給され
る。{TS}が波形計算器に供給されているから、
計算タイムスロツト1で行なうべきノートデー
タ、オクターブデータに対応する波形計算が実行
できる。計算クロツク信号CCK10個の最後のク
ロツク信号で計算が完了し、計算結果はそのクロ
ツク信号の立下りでラツチ8にラツチされる。ラ
ツチクロツクはアンドゲート21より出力される
リセツト信号RESETが用いられる。リセツト信
号RESETは、SRフリツプフロツプ22をリセツ
トし、計算サイクル信号CLCを“0”にする。
このときデマルチプレクサ26には、{TS}=
(111)が入力されているから、リセツト信号
RESETは、計算要求フラグレジスタ4のチヤン
ネルCH1すなわちSRフリツプフロツプFG1の
リセツト端子Rに印加され、計算要求フラグ
CRF1を“0”にする。SRフリツプフロツプ2
2の出力である計算サイクル信号CLCは、計算
クロツク信号CCK9個分のパルス幅をもつが、こ
の信号は、シフトレジスタ25で、マスタークロ
ツク信号MCK20個分すなわち1計算タイムスロ
ツト分の遅延をされてサンプル信号SMPとして
デマルチプレクサ28に印加される。サンプル信
号SMPが出力されるときは、{TS}=(011)にな
つている。この{011}に対して、チヤンネル
CH1に対応するバツフアメモリが選択されるよ
うにトランジスタスイツチQ1にサンプル信号
SMPが導かれるので、ラツチ8の計算結果はDA
変換器9を介してチヤンルCH1のバツフアメモ
リに記憶保持される。
{TS}=(011)となりチヤンネルCH2になつ
たときに、計算要求フラグCRF2が“1”であ
ればチヤンネルCH1と同様の動作を行なう。
{TS}=(101)すなわちチヤンネルCH3の計算タ
イムスロツト3になつたときに計算要求フラグ
CRF3が“0”であれば、SRフリツプフロツプ
22はセツトされない。したがつて計算サイクル
信号CLCは“0”のままであり、チヤンネルCH
3の波形計算は行なわれない。サンプル信号
SMPも“0”であるからサンプルも行なわれず、
バツフアメモリのチヤンネルCH3は、それ以前
の計算結果をそのまま保持する。
一方、各チヤンネルにノートクロツク信号
NCK1〜8が発生すると、第1図の場合と同様、
読出信号TRS1〜8が発生し、バツフアメモリ
10の各チヤンネルに対応するキヤパシタC1〜
C8の保持電圧V1〜V8を読み出す。
第1図において、ノートデータ、オクターブデ
ータ、キーオンオフデータは、いわゆるジエネレ
ータアサイナによつて、チヤンネルCH1〜8の
どのチヤンネルに押鍵された鍵の音高、オクター
ブを割り当てるが決定にもとづくデータとして供
給されている。ジエネレータアサイナについては
公知の技術であり、その構成は本発明の本質と直
接関係がないので説明を省く。
波形計算器7は、第4図で10クロツクで新しい
サンプル値を算出するものとしたが、これは10ク
ロツクに限定されない。たとえば、あらかじめ読
み出すサンプル値がメモリに書き込まれているよ
うな場合、前回のメモリアドレスのつぎのアドレ
スを読み出せば良いから、10クロツクの必要はな
く、アドレスの歩進とメモリ読出しの時間があれ
ば十分である。
波形計算器7は、デイジタルサンプルを計算す
るものでなく、アナログサンプル値を算出するも
のでもよい。この場合、電圧制御によるミユージ
ツクシンセサイザのようなアナログコンピユータ
を活用してもよい。
第1図と第4図のバツフアメモリ10では、各
チヤンネル1〜8の出力を加算するようにした
が、各チヤンネルのキヤパシタC1〜C8の電荷を
独立に読み出しても良い。第6図は、その一例で
ある。第6図においてバツフアメモリ10の出力
は各トランジスタスイツチQ11〜Q18について、
独立に出力させている。31〜38はアナログ乗
算器である。13は各チヤンネルの鍵の押鍵・離
鍵に対応するキーオンオフデータを受けて、楽音
の包絡線信号、いわゆるエンベロープ信号を発生
するエンベロープ信号発生器である。この実施例
では、エンベロープをバツフアメモリ10の出力
段でかけるので、波形計算器7では第1図や第4
図の実施例と異なり、エンベロープ計算が不用で
ある。したがつて波形計算器7には、キーオンオ
フデータをとくに加える必要がなくなる。
第7図は、波形計算器7の他の例である。第7
図において、50は楽音波形の記憶された読み出
し専用メモリ(ROM)53のウエーブアドレス
データWADを記憶するアドレスレジスタで、1
ワード8ビツトで構成され、8チヤンネルに対応
して設けられている。51はアドレスに1を加算
する加算器、52は加算されたアドレスデータを
オクターブデータにしたがつてビツトシフトする
シフター、53は1ワード8ビツト256アドレ
スからなる読み出し専用メモリROMで、楽音波
形の1周期分を格納したものである。アドレスレ
ジスタ50には、計算タイムスロツトコード
{TS}と読み出し書き込み信号R/Wが印加さ
れ、{TS}で指定されるレジスタの格納している
ウエーブアドレスデータWADがまずR/W=
“1”により読み出された加算器51で+1され
て、R/W=“0”で再び同じレジスタに書き込
まれる。したがつてアドレスデータWADは+1
ずつ進んでゆく。計算タイムスロツトにおいて、
計算サイクル信号CLC=“0”なら計算の必要が
ないから、アンドゲート60により+1データが
阻止されて、ウエーブアドレスデータWADは、
もとのままになる。ウエーブアドレスデータ
WADはシフト52により、オクターブの高さに
対応してシフトされる。。1ビツト高位にシフト
されると読み出し専用メモリROM53のアドレ
スとしては、増分が2倍になるからROMアドレ
スの歩進が速くなり、発生する波形の基本周波数
が2倍になる。読み出し専用メモリROM53の
出力である波形サンプルデータWDは掛算DA変
換器58のデータ入力端子に印加される。54は
エンベロープアドレスデータEADを格納するレ
ジスタで、8チヤンネル分あり、計算タイムスロ
ツトコード{TS}と読み出し書き込み信号R/
Wとにより任意のレジスタの読み書きができる。
56は歩進データ発生器で、ノートデータごとに
異なつた歩進データを保有し、各計算タイムスロ
ツトごとに、そのノートに対応する歩進数を出力
する。55は選択された歩進数とエンベロープア
ドレスデータWADとを加算する加算器である。
加算器55の出力はレジスタ54とROM57に
供給される。57は楽音のエンベロープの立上り
から立下りまでの波形データを記憶しているメモ
リである。
鍵が押されるとキーオンデータが“1”になり
レジスタ54のうちの所定のチヤンネルのレジス
タの内容であるエンベロープアドレスデータ
EADが初期化され0になる。そして、エンベロ
ープアドレスデータEAD=0に12の歩進数のう
ち、押鍵されたノートに対応する歩進数ΔEAD
が加えられ、再びもとのレジスタに格納されると
共に、EAD+ΔEADのアドレスのエンベロープ
データEDが読み出し専用メモリROM57から読
み出される。もし、そのときの計算サイクル信号
CLCが“0”ならエンベロープアドレスデータ
EADは歩進しない。このようにして、押鍵され
ると、音の立上りから立下りまでのエンベロープ
データEDが読み出され、DA変換器59により、
アナログ電圧のエンベロープ信号VENVが得られ
る。以上の動作は計算タイムスロツト単位で
TDM化されているから、エンベロープ信号VENV
もTDM化されて出力される。エンベロープ信号
VENVは、掛算DA変換器58の基準電圧になつて
いる。
掛算DA変換器58は、基準電圧Vref=VENVと、
波形データ入力WDとの掛算結果を出力電圧とし
て出力する機能をもつ。したがつて掛算DA変換
器58の出力は、読み出し専用メモリROM53
の格納している音源波形サンプルと読み出し専用
メモリROM57の格納しているエンベロープ波
形サンプルとの掛算を半デイジタル的に行なつた
ものとなり、かつ、そのタイミングは内部の計算
タイムスロツト1〜8に同期して出力される。し
たがつて、第4図と同様のバツフアメモリ10に
印加すれば、所望のノートクロツクの生起タイミ
ングに、エンベロープ付の音源サンプル値として
読み出せる。
第7図の実施例の特徴は、DA変換器58と5
9の2つを用いることにより、デイジタル掛算を
用いずに、エンベロープの乗算ができる点にあ
る。DA変換器58と59の間、またはDA変換
器58の出力に、さらに掛算DA変換器を追加し
て、そのデイジタル入力に全体の振幅に相当する
データを入力することにより、各チヤンネルの楽
音信号のレベルを独立に設定することもできる。
キーオンオフデータとエンベロープ曲線の関係
については、上記実施例はもつとも簡単な場合に
ついて述べている。キーオフ後にエンベロープが
急速に減衰するダンパーなどの機能をもたせても
よい。
つぎに、バツフアメモリ10について説明す
る。第1図におけるバツフアメモリ10の出力に
は、オペアンプ11と帰還用キヤパシタCFとが
設けられ、バツフアメモリ10の各チヤンネルの
出力を加算するようにしているが、オペアンプ1
1とキヤパシタCFには、加算作用だけでなく積
分作用がある。すなわち、キヤパシタCFの端子
間電圧は、そのまま保持される。積分の代りにホ
ールド作用と伝つてもよい。云いかえると、読み
出された前回のサンプル電圧は、そのまま保持さ
れることになる。したがつて、第1図におけるバ
ツフアメモリ10への書き込み電圧は、波形の差
分値である必要がある。波形の差分値を得るに
は、波形計算器7の出力する波形サンプルデータ
の前回値WD(nT−T)と今回値WD(nT)の差
WD(nT)−WD(nT−T)
を計算して出力するようにすればよい。これらの
演算はデイジタル的に行なうことができる。
第4図のバツフアメモリ10とオペアンプ1
1、キヤパシタCFを用いる場合にも同様に、差
分サンプルデータをラツチ8に書き込むことが必
要である。第6図においても、読み出し用のトラ
ンジスタスイツチQ11〜Q18の出力にホールド回
路が設けられるときには、ラツチ8には差分サン
プルデータを書き込むことが必要である。
第7図ではバツフアメモリ10の出力にホール
ド回路が設けられているので、バツフアメモリ1
0への入力電圧は差分サンプル値でなければなら
ない。60は差分サンプル値演算器である。第8
図は、この部分の図、第9図は差分サンプル値演
算器の例、第10図はそのタイミング図である。
第8図において、掛算DA変換器58とDA変換
器59には、それぞれ波形サンプルデータWD
(nT−T),WD(nT)とエンベロープデータED
(nT−T),ED(nT)が供給される。1回前のデ
ータWD(nT−T)とED(nT−T)は第10図
φAにおいて供給され、φBにおいては波形サンプ
ルデータWD(nT)とエンベロープデータED
(nT)、すなわち今回のデータが供給される。第
9図において、スイツチQ100、キヤパシタCA、
オペアンプ70は、1回前のデータWD(nT−
T)×ED(nT−T)に相当する電圧V(nT−T)
を保持するサンプルホールド回路である。今回の
データWD(nT)×ED(nT)に相当する電圧V
(nT)はスイツチQ101がオンになるφBにおいてキ
ヤパシタCBの一端に印加されるが、このときそ
の他端には、スイツチQ102がオンになつて前回の
V(nT−T)が印加される。したがつてキヤパシ
タCBの端子間電圧は
ΔV(nT)=V(nT)−V(nT−T)
となる。φCにおいてスイツチQ103がオンになるの
で、ΔV(nT)はバツフアアンプ80を介して出
力され、バツフアメモリ10に供給される。以上
のようにして、差分サンプル値演算器60は波形
サンプルデータとエンベロープデータの積である
楽音サンプルデータの差分電圧をつくり出す。
以上の各実施例において、バツフアメモリ10
としては、最も基本的な動作を説明するために、
一部分のみを示したが、実際には本発明において
は、第11図に示すように複数個の出力線を備え
たものを用いる。
第11図において、トランジスタよりなるスイ
ツチQ1〜Q8、キヤパシタC1〜C8は、第1図に示
したものと同じである。トランジスタQ1〜Q8の
一方の端子には、マトリツクスの列線j=1〜8
が設けられており、マトリツクスの行線i=1〜
4との各交点には、スイツチQij(i=1,2,
3,4,j=1,2,3,…,8)が設けられて
いる。スイツチQ1〜Q8の各ゲートG1〜G8には第
1図の実施例において説明したサンプル信号
SMP1〜8がそれぞれ印加される。スイツチQij
のゲーとGijには、後述する読み出し信号が印加
される。マトリツクスの行線は、出力端子CO1
〜CO4を介して積分器に接続される。積分器は
演算増幅器A1〜A4とキヤパシタCF1〜CF4により
構成される。第1図で述べた読み出し信号TRSj
は、スイツチQ1j,Q2j,Q3j,Q4jのうちの1つに
供給されるので、キヤパシタCjの電荷は、4つの
積分器のいずれか1つに供給される。
第12図は、読み出し信号TRSjを選択的に各
トランジスタのゲートに供給する選択回路であ
る。106は、デコーダ・ラツチで、外部たとえ
ばマイクロコンピユータから供給される2ビツト
のモードコードを、ラツチ信号によりラツチし、
4本の信号にデコードする。デコードされた信号
をモードに対応してM1,M2,M3,M4とする。
アンドゲート100,101,102,103の
一方の入力には、M1,M2,M3,M4が、他方の
入力には、第13図に示した信号が加えられる。
アンドゲート100〜103の出力は、オアゲー
ト104を介し、アンドゲート105に供給さ
れ、読み出し信号TRSjを選択して出力する。ア
ンドゲート100,101,102,103の上
記他方の入力に対する信号をSij1,Sij2,Sij3,Sij4
とすると、(i,j)の組み合わせに対して第1
3図のような表をつくることができる。またGij
は
Gij=TRSj・(Sij1・M1
+Sij2・M2+Sij3・M3+Sij4・M4)
と表わせる。
モードがM1=1のときは、第13図aに従い、
Gij=TRSj・Sij1
となる。このとき、第1行(i=1)のみが有効
になり、すべての信号は、出力端子VO1に現われ
る。これは、第1図の場合と等価である。
モードがM2=1となると、第13図bが有効
になる。
Gij=TRSj・Sij2
その結果、チヤンネル1,2は、出力端子VO1
へ結合され、チヤンネル2,3は、出力端子VO2
へ結合され、チヤンネル5,6,7は出力端子
VO3へ結合され、チヤンネル8は出力端子VO4に
結合される。したがつて、チヤンネル1,2を単
音楽器にチヤンネル3と4を2声のパートに、チ
ヤンネル5,6,7を、伴奏パートに、チヤンネ
ル8をベースパートに使うようにすれば、各パー
トが別々の出力端子に分かれているから、特定の
パートの音量レベルを調整したり、歩調器により
変調効果を与えたりすることが可能になる。
モードがM3=1のときは、第13図cのよう
になる。このときは、チヤンネル1〜4を上鍵盤
に、チヤンネル5〜8を下鍵盤に使用することが
できる。
モードM4=1のときは、第13図dのように
なる。第13図dにおいて、Oijは、オクターブ
データを表わしている。オクターブデータは第1
図において述べたように楽音のオクターブを指定
するものである。オクターブデータとオクターブ
の関係が、たとえば
C2〜B〜2……O1j
C3〜B3……O2j
C4〜B5……O3j
C5〜B5……O4j
とする。ここで、jは列番号であると共にチヤン
ネル番号でもある。このようにすれば、発生する
楽音のオクターブデータにしたがつて、出力端子
VO1〜VO4が選択されることになる。そして
VO1……C2〜B2
VO2……C3〜B3
VO3……C4〜B4
VO4……C5〜B5
の対応が出来る。すなわち、各端子には1オクタ
ーブ内の楽音が混合されて出力されることにな
る。
したがつて、オクターブごとに別々の処理、た
とえば、サンプリング雑音の波や、オクターブ
ごとのレベル補正などが可能になる。
モードM2,M3では、各グループごとに、音色
が異なるように、異なつた波形サンプルが発生さ
れるようにするのが好ましいことは言うまでもな
い。このためには、波形計算器の各チヤンネルに
対して音色指定のコードまたはメモリのアドレス
などを送出してやれば良い。
なお、波形発生器、読み出し周波数発生器は、
実施例に限らず、他の方式のものでも、本発明の
ように、指定されたモードにしたがつて、出力端
子への結合のパターンを選択変更するようにして
本発明の効果を実現できることは云うまでもな
い。
発明の効果
以上のように、本発明は複数の波形を発生する
波形発生器と、上記波形の読み出し周波数を発生
する読み出し周波数発生器と、上記読み出し周波
数にしたがつて上記波形を読み出すとともに、指
定されたモードにしたがつて異なる出力端子に上
記波形発生器の発生する波形サンプルを出力する
読み出し装置とを設け、読み出し周波数のそれぞ
れに同期した波形のサンプルを読み出すように構
成するとともに、得られた波形サンプルを指定さ
れたモードにしたがつて複数個の出力端子に任意
にふり分けて供給するようにしたものであるから
電子楽器の使用目的に応じた種々の形式に対して
柔軟に対応できるという優れた効果が得られる。
また読み出し周波数にしたがつて周期的に発生
する読み出し周波数に対応した計算要求の生起を
計算要求フラグレジスタに書き込み、波形発生器
に、計算要求フラグレジスタを参照して計算要求
の生起がある場合に新たな波形サンプル値を発生
させ、書き込み装置を介して上記バツフアメモリ
に書き込むとともに上記生起の記録を消去し、上
記読み出し周波数にしたがつて、上記新しい波形
サンプル値が書き込まれたバツフアメモリから、
上記読み出し装置が上記新しい波形サンプル値を
読み出すようにして、上記相異なる少なくとも2
つの読み出し周波数のそれぞれに同期した波形を
同時に出力可能とすれば、ノートクロツク周波数
を、マスタクロツク周波数と独立に設定しても、
内部計算と読み出しとが非同期で良いから正常な
動作が実現でき、したがつて、各ノートクロツク
周波数にビブラートや、グライド、ポルタメント
などを独立にかけてもさしつかえないという効果
も得られる。
また書き込み装置のうち、とくにDA変換器は
1個でよいだけでなく、それらが、チヤンネルご
とに独立に動作するから、2つのチヤンネルの音
を同時に鳴らしても、量子化ひずみによる混変調
ひずみの発生がない。したがつて、8ビツト程度
の安価なDA変換器を使うこともできる。
さらに波形の基本周波数に対してサンプリンゲ
グ周波数を整数倍にすることができるから、発生
する折り返し成分や、量子化により生じるサンプ
ル波形の高調波成分を、すべて、基本周波数の高
調波成分を、すべて、基本周波数の高調波に一致
させることができ、したがつてにごりのない音を
つくることができる。[Table] The selected note clocks NCK1 to NCK8 are applied to the calculation request flag register 4, respectively.
The calculation request flag register 4 is composed of eight SR flip-flops FG1 to FG8. Note clock NCK1~8 are each SR flip-flop
It is applied to the set terminals S of FG1 to FG8. and,
Every time note clock NCK1~8 is output
SR flip-flops FG1-8 are set respectively, and their outputs are calculation request flags 1-8.
(CRF1-8) become "1". Calculation end signals CEN1-8, which will be described later, are applied to the reset terminals R of the SR flip-flops FG1-8, and each time the calculation end signals CEN1-8 become "1", the calculation request flags CRF1-8 are set to "0". Become. 5 is a readout device, which receives readout signals TRS1~
8 occurs. Read signal is calculation request flag
A pulse signal with a predetermined width starting from the rising edge of CRF1 to CRF8, which is a note clock NCK1.
Repeat at a frequency of ~8. The reading device 5 is composed of shift registers SR1 to SR8 which are shifted by a master clock MCK and an AND gate with an inverter on one side, and is provided corresponding to each of the eight channels. 6 is a calculation request detection controller, 7 is a waveform calculator,
These 6 and 7 constitute a waveform generator. The calculation request detection controller 6 is provided with eight CTLs 1 to 8 corresponding to each of the eight channels.
Channel 1 will be explained. The timing pulse generator TPG2 supplies a calculation start signal CST1, a calculation end signal CEN1, a sample end signal SEN1, and a calculation clock signal CCK to CTL1. A calculation request flag CRF1 is applied to one input terminal of the AND gates 20 and 21, and a calculation start signal CST1 and a calculation end signal CEN1 are applied to the other input terminals, respectively. The outputs of AND gates 20 and 21 are set terminal S of SR flip-flop 22.
and reset terminal R, respectively. The output of the AND gate 21 is also applied to the set terminal S of the SR flip-flop 23 and the reset terminal R of the SR flip-flop FG1 in the calculation request flag register 4. A sample end signal is sent to the reset terminal R of the SR flip-flop 23.
SEN1 is applied. The output Q of the SR flip-flop 22 is applied to the AND gate 24 as the computation cycle signal CLC1, which outputs the computation clock signal CLC1.
It controls the application of CCK to the channel CH1 of the waveform calculator 7. The output Q of the SR flip-flop 23 is the sample signal SMP1,
The voltage is applied to a gate G 1 of a writing device 8 and a switch Q 1 of a buffer memory 10, which will be described later. The waveform calculator 7 has 8 channels CH1 to CH8, and calculates sample values of musical waveforms with a predetermined scale and octave according to note data, octave data, and key on/off data according to a calculation clock CCK. calculate and gate
Output to G 1 to G 8 . Any method that calculates a new waveform sample value using a predetermined number of locks may be used. The writing device 8 is a latch or gate G 1 .
It consists of G8 and DA converter 9. While the waveform calculator 7 completes the calculation and outputs a correct output, sample values are supplied to the next-stage DA converter 9 in correspondence with the sample signals SMP1 to SMP8. sample signal SMP
When 1 to 8 are "0", the output of each gate G 1 to G 8 becomes high impedance and does not affect other gates. The output of the DA converter 9 is applied to a buffer memory 10. The buffer memory 10 is composed of writing transistor switches Q1 to Q8 , voltage holding capacitors C1 to C8 , and reading transistor switches Q11 to Q18 . Sample signals SMP1-8 are applied to the gates of write transistor switches Q1 - Q8 , respectively, and read signals TRS1-TRS8 are applied to read transistor switches Q1 - Q18 , respectively. When sample signal SMP1 becomes “1” and is applied to transistor switch Q1 , transistor switch Q1
When turned on, the output voltage V 1 of the DA converter 9 is charged to the capacitor C 1 via the transistor switch Q 1 , and when the sample signal SMP 1 becomes “0” thereafter, the voltage V 1 is held. Read signal TRS
When 1 becomes “1”, switch Q 11 is turned on,
The charge on the capacitor C 1 flows into an addition hold circuit consisting of an operational amplifier 11 and a capacitor C F , and an output voltage −V 1 C 1 /C F appears at the output terminal 12 and is held. Note that the buffer memory used in the present invention will be described later. FIG. 2 shows the operation timing of the main parts of the embodiment of FIG. In FIG. 2, calculation time slots 1 to 8 are prepared. Calculation start signal CST1 at the beginning of calculation time slot 1
occurs. At the end of calculation time slot 1, a calculation end signal CEN1 is generated. At the end of calculation time slot 2, an end-of-sample signal SEN1 is generated. These pulses correspond to calculation time slots 1-8.
It occurs repeatedly as a cycle. When note clock NCK1 corresponding to note data is generated for channel 1 at a period unrelated to this period, FG1 of calculation request flag register 5 is set by NCK1 in FIG. 2, and calculation request flag
CRF1 becomes “1”. Calculation request flag CRF1
is delayed and gated by shift register SR1 by a time slightly smaller than the width of one calculation time slot to generate read signal TRS1. When calculation time slot 1 is reached and calculation start signal CST1 is generated while calculation request flag CRF1 remains "1", calculation start signal CST1 is output to gate 2.
0 and sets the SR flip-flop 22, so the calculation cycle signal CLC1 becomes "1". Calculation cycle signal CLC1 opens AND gate 24 and calculation clock signal CCK is added to channel CH1 of waveform calculator 7 to perform a new waveform sample calculation. The calculation is completed within the calculation time slot, and when the calculation end signal CEN1 arrives, the calculation request flag CRF1 is still applied to the AND gate 21 at this time, so
Calculation end signal CEN1 is sent to SR flip-flop 22
, set SR flip-flop 23,
Reset SR flip-flop EG1. Therefore, the calculation cycle signal CLC1 becomes "0",
Gate 24 closes and the supply of calculation clock signal CCK ends. The calculation request flag CRF1, which is the output of the SR flip-flop FG1, becomes "0", indicating that the execution of the calculation corresponding to the occurrence of the calculation request has been completed. The SR flip-flop FG1 of the calculation request flag register 4 is the next notebook clock NCK1.
Prepare for the arrival of Since the SR flip-flop 23 is set, the sample signal SMP1 becomes "1", the gate G1 is opened, and the waveform sample which is the calculation result is supplied to the DA converter 9. Then, the transistor switch Q1 is also turned on, and the output voltage V1 of the DA converter 9 is applied to the capacitor C1 . After the voltage on capacitor C1 has been sufficiently accurately charged to voltage V1 , an end-of-sample signal SEN1 is generated, which resets the SR flip-flop 23.
Sample signal SMP1 becomes "0". When the sample signal SMP1 becomes "0", the gate G1 is closed and the output becomes high impedance, and at the same time, the transistor switch Q1 is also turned off, and the capacitor C1 holds the voltage V1 . Next, when the note clock signal NCK1 reaches the SR flip-flop FG1, the readout signal TRS
1 becomes "1", and the above voltage V1 is transferred to the capacitor C F through the transistor switch Q11 . As described above, when the note clock signal NCK1 is generated, the previous waveform sample value is read out, the calculation request flag is set, and the channel CH
1, and when channel CH1 calculation time slot 1 arrives, the waveform calculation for channel CH1 is executed, and in the next time slot 2, the calculation result is DA converted and written to the buffer memory. ing.
The frequency of the tote clock signal NCK1 supplied to channel CH1 varies depending on the note data.
In general, it exists in a range slightly less than twice that from C to B. Therefore, when the frequency of the notebook clock NCK1 is low, the calculation request flag CRF1 becomes "1".
Calculation time slot 1 may be reached even though the calculation time slot has not yet reached CLC.In this case, there is no need to calculate the waveform sample yet, so the calculation cycle signal
1 is kept at "0". Conversely, if the frequency of note clock NCK1 becomes too high, there is a possibility that calculation time slot 1 will not arrive in time. If the period is greater than 8+2 calculation time slots, there is no need to worry about this. Similar operations are performed for channels CH2 to CH8. Figure 3 shows calculation request flags CRF1-4, calculation cycle signals CLC1-4, DA conversion cycles (DAC1-4), and output cycles when note clock signals NCK1-4 of various cycles arrive at channels CH1-4. (OTC1-4) are shown. DA conversion cycles DAC1-4 correspond to sample signals SMP1-4. Output cycles OTC1-4 correspond to read signals TRS1-4. The thick rising edges of calculation request flags CRF1-CRF4 indicate generation of note clock signals NCK1-4. In calculation time slots 1-4, waveform calculations for channels CH1-4 are performed, respectively. Since a note clock signal with a large period is applied to channel CH2,
Calculation time slot 2 actually performs acid measurement only every other time. The dotted line indicates the calculation request flag.
Since CRF2 is 0, the calculation is in a suspended state.
Channel CH3 is an example where the period of note clock NCK3 is small, and note clock NCK3 occurs in the next DA conversion cycle of the next calculation time slot, so calculation execution is delayed by one time, but the output cycle operates normally. . Channel CH4 is an example in which calculation execution is delayed because note clock NCK4 occurs in the calculation time slot, but the output cycle operates normally. As described above, the internal calculation cycle and the external read cycle cannot be synchronized, and
Even in a system where there are multiple read cycles and read timings may match between multiple channels, by doing as in this embodiment, writing and DA conversion can be internally synchronized. Moreover, reading can be performed independently for each channel. In the embodiment of FIG. 1, the waveform calculator 7 and the gate 8
are provided independently for each channel, but in the timing diagram shown in Figure 3, the calculation time slots are completely independent, and the writing is similarly independent, so each channel has one channel and TDM (time division multiplexing) operation is performed. You can let them do that. FIG. 4 also shows a calculation request detection control circuit 6.
This is another embodiment of the present invention in which TDM operation is performed. FIG. 5 shows the timing and signal waveforms of each part in FIG. 4. In FIG. 4, parts having the same functions as those in the embodiment of FIG. 1 are designated by the same numbers and their explanations will be omitted. The timing pulse generator TPG2 generates a calculation clock signal CCK, a calculation start signal CST, and a calculation end signal CEN, as shown in FIG.
{TS} specifies calculation time slots 1 to 83
This is a signal consisting of bit codes A, B, and C. These signal groups are supplied to the calculation request detection control circuit 6. The calculation request detection control circuit 6 includes AND gates 20, 21, 24, an SR flip-flop 22,
It is composed of a shift register 25, a multiplexer 27, and demultiplexers 26 and 28. 7
is a TDM waveform calculator, 8 is a latch, and 9 is a TDM waveform calculator.
It is a DA converter. The rest is the same as the embodiment shown in FIG. In FIG. 5, master clock MCK is frequency-divided once to become calculation clock signal CCK. Ten calculation clock signals CCK form one calculation time slot. Each calculation time slot is {TS}
will be instructed. {A, B, C}={1, 1, 1} represents calculation time slot 1. The first calculation clock signal CCK of each time slot becomes the calculation start signal CST, and the last calculation clock signal CCK becomes the calculation end signal CEN. Similar to the embodiment in Figure 1, the calculation request flag CRF
1 to 8 are set in the calculation request flag register 4. These calculation request flags CRF1 to CRF8 are sequentially scanned by the multiplexer 27. When {TS}=(111), calculation request flag CRF1 is selected and applied to AND gates 20 and 21. calculation request flag
If CRF1="1", the SR flip 22 is set, the calculation cycle signal CLC becomes "1", and the calculation clock signal CCK is supplied to the waveform calculator 7. Since {TS} is supplied to the waveform calculator,
Waveform calculations corresponding to note data and octave data to be performed in calculation time slot 1 can be executed. The calculation is completed with the last of the 10 calculation clock signals CCK, and the calculation result is latched into latch 8 at the falling edge of that clock signal. The reset signal RESET output from the AND gate 21 is used as the latch clock. The reset signal RESET resets the SR flip-flop 22 and sets the calculation cycle signal CLC to "0".
At this time, the demultiplexer 26 has {TS}=
(111) is input, so the reset signal
RESET is applied to channel CH1 of calculation request flag register 4, that is, reset terminal R of SR flip-flop FG1, and resets the calculation request flag.
Set CRF1 to “0”. SR flipflop 2
The calculation cycle signal CLC, which is the output of 2, has a pulse width equivalent to 9 calculation clock signals CCK, but this signal is delayed by 20 master clock signals MCK, that is, 1 calculation time slot, in the shift register 25. and is applied to the demultiplexer 28 as a sample signal SMP. When the sample signal SMP is output, {TS}=(011). For this {011}, the channel
A sample signal is sent to transistor switch Q1 so that the buffer memory corresponding to CH1 is selected.
Since SMP is derived, the calculation result of latch 8 is DA
It is stored and held in the buffer memory of channel CH1 via converter 9. When {TS}=(011) and becomes channel CH2, if calculation request flag CRF2 is "1", the same operation as channel CH1 is performed.
{TS} = (101), that is, the calculation request flag when the calculation time slot 3 of channel CH3 is reached.
If CRF3 is "0", SR flip-flop 22 is not set. Therefore, the calculation cycle signal CLC remains “0” and the channel CH
Waveform calculation in step 3 is not performed. sample signal
Since SMP is also “0”, no sample is performed,
Buffer memory channel CH3 retains the previous calculation results as they are. Meanwhile, each channel has a note clock signal.
When NCK1-8 occurs, as in the case of Figure 1,
The read signals TRS1 to TRS8 are generated, and the capacitors C1 to C1 corresponding to each channel of the buffer memory 10
Read the holding voltages V1 to V8 of C8 . In Fig. 1, note data, octave data, and key-on-off data are data based on the determination of which channel of channels CH1 to CH8 the pitch and octave of the pressed key are assigned by a so-called generator assigner. It is supplied as. The generator assigner is a well-known technology, and its configuration is not directly related to the essence of the present invention, so a description thereof will be omitted. Although the waveform calculator 7 calculates a new sample value every 10 clocks in FIG. 4, this is not limited to 10 clocks. For example, if the sample value to be read is written in memory in advance, all you need to do is read the address following the previous memory address, so there is no need for 10 clocks, and the time for incrementing the address and reading the memory is sufficient. It is sufficient. The waveform calculator 7 may be one that calculates analog sample values instead of digital samples. In this case, an analog computer such as a voltage-controlled music synthesizer may be utilized. In the buffer memory 10 of FIGS. 1 and 4, the outputs of the channels 1 to 8 are added together, but the charges of the capacitors C 1 to C 8 of each channel may be read out independently. FIG. 6 is an example. In FIG. 6, the output of the buffer memory 10 is as follows for each transistor switch Q11 to Q18 .
It is output independently. 31 to 38 are analog multipliers. Reference numeral 13 denotes an envelope signal generator that receives key on/off data corresponding to key presses and key releases of each channel and generates an envelope signal of a musical tone, a so-called envelope signal. In this embodiment, since the envelope is applied at the output stage of the buffer memory 10, the waveform calculator 7
Unlike the illustrated embodiment, no envelope calculation is required. Therefore, there is no need to add key on/off data to the waveform calculator 7. FIG. 7 shows another example of the waveform calculator 7. 7th
In the figure, 50 is an address register that stores wave address data WAD of a read-only memory (ROM) 53 in which musical waveforms are stored;
Each word consists of 8 bits and is provided corresponding to 8 channels. 51 is an adder that adds 1 to the address; 52 is a shifter that bit-shifts the added address data into octave data; 53 is a read-only memory ROM consisting of 1 word, 8 bits, 256 addresses; It stores the minutes. The calculation time slot code {TS} and the read/write signal R/W are applied to the address register 50, and the wave address data WAD stored in the register specified by {TS} is first read as R/W=
The adder 51 reads out "1" and increments it by 1, and writes it into the same register again with R/W="0". Therefore, address data WAD is +1
Proceed step by step. In the calculation time slot,
If the calculation cycle signal CLC="0", there is no need for calculation, so the +1 data is blocked by the AND gate 60, and the wave address data WAD is
It remains as it was. Wave address data
WAD is shifted by shift 52 in accordance with the height of the octave. . When shifted one bit higher, the increment is doubled for the address of the read-only memory ROM 53, so the ROM address advances faster and the fundamental frequency of the generated waveform is doubled. Waveform sample data WD, which is the output of the read-only memory ROM 53, is applied to the data input terminal of the multiplication DA converter 58. 54 is a register for storing envelope address data EAD, which has 8 channels, and is used to store calculation time slot code {TS} and read/write signal R/
W allows you to read and write any register.
Reference numeral 56 denotes a step data generator which holds different step data for each note data and outputs a step number corresponding to the note for each calculation time slot. 55 is an adder that adds the selected step number and envelope address data WAD.
The output of adder 55 is supplied to register 54 and ROM 57. A memory 57 stores waveform data from the rise to the fall of the musical tone envelope. When the key is pressed, the key-on data becomes "1" and the envelope address data, which is the content of the register of a predetermined channel among the registers 54, is
EAD is initialized to 0. Then, among the 12 step numbers, the step number ΔEAD corresponding to the pressed note is set to envelope address data EAD=0.
is added and stored in the original register again, and the envelope data ED at the address of EAD+ΔEAD is read from the read-only memory ROM 57. If the calculation cycle signal at that time
If CLC is “0”, envelope address data
EAD does not advance. In this way, when a key is pressed, the envelope data ED from the rise to the fall of the sound is read out, and the DA converter 59 reads out the envelope data ED from the rise to the fall of the sound.
An analog voltage envelope signal V ENV is obtained. The above operation is performed in units of calculation time slots.
Since it is TDM, the envelope signal V ENV
It is also converted into TDM and output. envelope signal
V ENV serves as a reference voltage for the multiplication DA converter 58. The multiplication DA converter 58 has a reference voltage V ref =V ENV ,
It has the function of outputting the result of multiplication with the waveform data input WD as an output voltage. Therefore, the output of the multiplication DA converter 58 is stored in the read-only memory ROM 53.
The sound source waveform sample stored in the ROM 57 is multiplied by the envelope waveform sample stored in the read-only memory ROM 57 in a semi-digital manner, and the timing is synchronized with the internal calculation time slots 1 to 8. is output. Therefore, by applying the signal to the buffer memory 10 similar to that shown in FIG. 4, it can be read out as a sound source sample value with an envelope at the desired note clock occurrence timing. The embodiment of FIG. 7 is characterized by the DA converters 58 and 5.
By using two of 9, envelope multiplication can be performed without using digital multiplication. By adding a multiplication DA converter between DA converters 58 and 59 or to the output of DA converter 58, and inputting data corresponding to the overall amplitude to its digital input, the musical tone signal of each channel can be adjusted. It is also possible to set the level independently. Regarding the relationship between the key-on-off data and the envelope curve, the above embodiment describes a simple case. It may also have a function such as a damper that rapidly attenuates the envelope after key-off. Next, the buffer memory 10 will be explained. The output of the buffer memory 10 in FIG. 1 is provided with an operational amplifier 11 and a feedback capacitor C F to add the outputs of each channel of the buffer memory 10.
1 and the capacitor C F have not only an additive effect but also an integral effect. That is, the voltage between the terminals of capacitor C F is maintained as it is. It may also be called a hold action instead of an integral. In other words, the previous sample voltage that was read is held as is. Therefore, the write voltage to the buffer memory 10 in FIG. 1 needs to be a waveform difference value. To obtain the waveform difference value, calculate the difference between the previous value WD (nT - T) and the current value WD (nT) of the waveform sample data output by the waveform calculator 7, WD (nT) - WD (nT - T). All you have to do is output it. These operations can be performed digitally. Buffer memory 10 and operational amplifier 1 in Figure 4
1. When using the capacitor C F , it is also necessary to write differential sample data to the latch 8. Also in FIG. 6, when a hold circuit is provided at the output of the read transistor switches Q11 to Q18 , it is necessary to write differential sample data to the latch 8. In FIG. 7, since a hold circuit is provided at the output of the buffer memory 10, the buffer memory 10
The input voltage to 0 must be a differential sample value. 60 is a difference sample value calculator. 8th
The figure is a diagram of this part, FIG. 9 is an example of the difference sample value calculator, and FIG. 10 is its timing diagram.
In FIG. 8, the multiplication DA converter 58 and the DA converter 59 each contain waveform sample data WD.
(nT-T), WD (nT) and envelope data ED
(nT−T) and ED(nT) are supplied. The previous data WD (nT-T) and ED (nT-T) are supplied at φA in Fig. 10, and the waveform sample data WD (nT) and envelope data ED are supplied at φB.
(nT), that is, the current data is supplied. In FIG. 9, switch Q 100 , capacitor C A ,
The operational amplifier 70 outputs the previous data WD (nT−
Voltage V(nT-T) corresponding to T) x ED(nT-T)
This is a sample and hold circuit that holds . Voltage V corresponding to the current data WD (nT) × ED (nT)
(nT) is applied to one end of capacitor C B at φ B when switch Q 101 is turned on, but at this time, the previous V (nT - T) is applied to the other end when switch Q 102 is turned on. be done. Therefore, the voltage between the terminals of capacitor C B is ΔV (nT) = V (nT) - V (nT - T). Since the switch Q 103 is turned on at φ C , ΔV(nT) is outputted via the buffer amplifier 80 and supplied to the buffer memory 10. As described above, the difference sample value calculator 60 generates a difference voltage between musical tone sample data, which is the product of waveform sample data and envelope data. In each of the above embodiments, the buffer memory 10
To explain the most basic operation,
Although only a portion is shown, the present invention actually uses one having a plurality of output lines as shown in FIG. In FIG. 11, switches Q 1 to Q 8 formed of transistors and capacitors C 1 to C 8 are the same as those shown in FIG. 1. One terminal of the transistors Q 1 to Q 8 is connected to the column line j=1 to 8 of the matrix.
are provided, and the row lines of the matrix i=1~
At each intersection with 4, there is a switch Q ij (i=1, 2,
3, 4, j=1, 2, 3,..., 8) are provided. Each gate G 1 to G 8 of the switches Q 1 to Q 8 receives the sample signal explained in the embodiment of FIG.
SMP1-8 are applied respectively. switch Q ij
A readout signal, which will be described later, is applied to Gij and Gij . The row line of the matrix is the output terminal CO1
~ Connected to the integrator via CO4. The integrator is composed of operational amplifiers A 1 -A 4 and capacitors CF 1 -CF 4 . Readout signal TRS j mentioned in Figure 1
is supplied to one of the switches Q 1j , Q 2j , Q 3j , Q 4j , so the charge on capacitor C j is supplied to one of the four integrators. FIG. 12 shows a selection circuit that selectively supplies the read signal TRS j to the gate of each transistor. A decoder latch 106 latches a 2-bit mode code supplied from an external device, for example, a microcomputer, using a latch signal.
Decode into 4 signals. The decoded signals are designated as M 1 , M 2 , M 3 , and M 4 depending on the mode.
M 1 , M 2 , M 3 , M 4 are applied to one input of the AND gates 100, 101, 102, 103, and the signal shown in FIG. 13 is applied to the other input.
The outputs of the AND gates 100 to 103 are supplied to an AND gate 105 via an OR gate 104, which selects and outputs a read signal TRSj . The signals for the other inputs of the AND gates 100, 101, 102, 103 are S ij1 , S ij2 , S ij3 , S ij4
Then, for the combination (i, j), the first
You can create a table like the one shown in Figure 3. Also G ij
can be expressed as G ij = TRS j・(S ij1・M 1 +S ij2・M 2 +S ij3・M 3 +S ij4・M 4 ). When the mode is M 1 =1, G ij =TRS j ·S ij1 according to FIG. 13a. At this time, only the first row (i=1) is enabled and all signals appear at the output terminal VO 1 . This is equivalent to the case in FIG. When the mode becomes M 2 =1, FIG. 13b becomes valid. G ij = TRS j・S ij2 As a result, channels 1 and 2 are connected to the output terminal VO 1
channels 2 and 3 are coupled to the output terminal VO 2
channels 5, 6, and 7 are output terminals.
Channel 8 is coupled to output terminal VO 4 . Therefore, if you use channels 1 and 2 for monophonic instruments, channels 3 and 4 for two-voice parts, channels 5, 6, and 7 for accompaniment parts, and channel 8 for bass parts, each part will be Since it is divided into separate output terminals, it is possible to adjust the volume level of a specific part, or to apply a modulation effect with a stepper. When the mode is M 3 =1, the result is as shown in FIG. 13c. At this time, channels 1 to 4 can be used for the upper keyboard, and channels 5 to 8 can be used for the lower keyboard. When mode M 4 =1, the result is as shown in FIG. 13d. In FIG. 13d, O ij represents octave data. Octave data is the first
As mentioned in the figure, this specifies the octave of the musical tone. Assume that the relationship between octave data and octaves is, for example, C2 - B- 2 ... O1j C3 - B3 ... O2j C4 - B5 ... O3j C5 - B5 ... O4j . Here, j is both a column number and a channel number. By doing this, the output terminals will respond according to the octave data of the generated musical tone.
VO 1 to VO 4 will be selected. Then, it is possible to correspond to VO 1 ...C 2 -B 2 VO 2 ...C 3 -B 3 VO 3 ...C 4 -B 4 VO 4 ...C 5 -B 5 . That is, musical tones within one octave are mixed and output to each terminal. Therefore, separate processing for each octave, such as sampling noise waves and level correction for each octave, becomes possible. It goes without saying that in modes M 2 and M 3 , it is preferable to generate different waveform samples so that each group has a different tone color. To do this, it is sufficient to send a timbre designation code or memory address to each channel of the waveform calculator. The waveform generator and readout frequency generator are
It is possible to realize the effects of the present invention not only in the embodiments but also in other systems by selectively changing the coupling pattern to the output terminal according to the specified mode, as in the present invention. Needless to say. Effects of the Invention As described above, the present invention provides a waveform generator that generates a plurality of waveforms, a readout frequency generator that generates a readout frequency of the waveform, a readout frequency generator that reads out the waveform according to the readout frequency, and a A readout device is provided for outputting waveform samples generated by the waveform generator to different output terminals according to the readout mode, and is configured to read out waveform samples synchronized with each of the readout frequencies. Since waveform samples are arbitrarily distributed and supplied to multiple output terminals according to the specified mode, it can be flexibly applied to various formats depending on the intended use of the electronic musical instrument. Excellent effects can be obtained. In addition, the occurrence of a calculation request corresponding to the read frequency, which occurs periodically according to the read frequency, is written to the calculation request flag register, and the waveform generator refers to the calculation request flag register to indicate when a calculation request has occurred. Generate a new waveform sample value, write it to the buffer memory via a writing device, erase the record of the occurrence, and read from the buffer memory in which the new waveform sample value has been written according to the read frequency;
said readout device reads said new waveform sample value, said at least two different waveform sample values are read out;
If it is possible to simultaneously output waveforms synchronized with each of the two readout frequencies, even if the note clock frequency is set independently of the master clock frequency,
Since the internal calculation and readout can be asynchronous, normal operation can be achieved, and therefore, it is also possible to independently apply vibrato, glide, portamento, etc. to each note clock frequency. In addition, not only one DA converter is required among the writing devices, but also they operate independently for each channel, so even if two channels of sound are played simultaneously, there is no cross-modulation distortion due to quantization distortion. No outbreak. Therefore, an inexpensive DA converter of about 8 bits can also be used. Furthermore, since the sampling frequency can be made an integer multiple of the fundamental frequency of the waveform, all aliasing components generated and harmonic components of the sampled waveform caused by quantization can be removed, and all harmonic components of the fundamental frequency can be removed. It is possible to match the harmonics of the fundamental frequency, thus creating a clear sound.
第1図は本発明の一実施例のブロツク図、第2
図はそのタイミング図、第3図はその動作の概念
を示すタイミング図、第4図は本発明の第2の実
施例のブロツク図、第5図はその動作タイミング
図、第6図は本発明に用いるバツフアメモリ部の
一実施例のブロツク図、第7図は本発明に用いる
波形計算器と書き込み装置およびバツフアメモリ
部の実施例のブロツク図、第8図,第9図は差分
サンプル値演算器の実施例のブロツク図、第10
図は第8図、第9図のタイミング図、第11図、
第12図は、バツフアメモリと読み出し装置の実
施例のブロツク図、第13図は、バツフアメモリ
と読み出し装置の動作説明図である。
1……ノートクロツクジエネレータ、2……タ
イミングパルスジエネレータ、3……ノートクロ
ツクセレクト、4……計算要求フラグレジスタ、
5……読み出し装置、6……計算要求検出制御
器、7……波形計算器、8……ゲートまたはラツ
チ、9……DA変換器、10……バツフアメモ
リ。
FIG. 1 is a block diagram of one embodiment of the present invention, and FIG.
3 is a timing diagram showing the concept of its operation, FIG. 4 is a block diagram of the second embodiment of the present invention, FIG. 5 is an operation timing diagram thereof, and FIG. 6 is a timing diagram of the present invention. FIG. 7 is a block diagram of an embodiment of the buffer memory section used in the present invention, and FIG. 7 is a block diagram of an embodiment of the waveform calculator, writing device, and buffer memory section used in the present invention. FIGS. Block diagram of the embodiment, No. 10
The figures are the timing diagram of Fig. 8, Fig. 9, Fig. 11,
FIG. 12 is a block diagram of an embodiment of the buffer memory and reading device, and FIG. 13 is an explanatory diagram of the operation of the buffer memory and reading device. 1... Note clock generator, 2... Timing pulse generator, 3... Note clock select, 4... Calculation request flag register,
5... Readout device, 6... Calculation request detection controller, 7... Waveform calculator, 8... Gate or latch, 9... DA converter, 10... Buffer memory.
Claims (1)
る少なくとも2つの読み出し周波数を発生する複
数の読み出し周波数発生器と、計算要求フラグレ
ジスタと、書き込み装置と、複数のバツフアメモ
リと、複数の読み出し装置とを備え、上記読み出
し周波数にしたがつて周期的に発生する読み出し
周波数に対応した計算要求の生起を上記計算要求
フラグレジスタに書き込み、上記波形発生器に、
上記計算要求フラグレジスタを参照して計算要求
の生起がある場合に新たな波形サンプル値を発生
させ、上記書き込み装置を介して上記バツフアメ
モリに書き込むとともに上記生起の記録を消去
し、上記読み出し周波数にしたがつて、上記新し
い波形サンプル値が書き込まれたバツフアメモリ
から、上記読み出し装置が上記新しい波形サンプ
ル値を読み出すようにして、上記相異なる少なく
とも2つの読み出し周波数のそれぞれに同期した
波形を同時に出力可能とし、かつ上記読み出し装
置は、指定されたモードに従い複数個の出力線の
うち指定された出力線に上記波形サンプル値と供
給するようにしたことを特徴とする波形読み出し
装置。 2 波形発生器が時分割多重化で動作し、あらか
じめチヤンネルごとに設けられた計算タイムスロ
ツトにおいて順次指定されたチヤネルの波形を発
生するようにした特許請求の範囲第1項記載の波
形読み出し装置。 3 波形発生器の出力が書き込み装置においてア
ナログ信号に変換されてバツフアメモリにアナロ
グ信号として記憶され、読み出し装置により読み
出し周波数にしたがつて上記アナログ信号が読み
出されるようにしたことを特徴とする特許請求の
範囲第1項記載の波形読み出し装置。 4 書き込み装置の出力するアナログ信号が音楽
サンプル値の差分であつて、上記差分をバツフア
メモリに書き込み、上記バツフアメモリより読み
出された差分をホールド回路により累積するよう
にしたことを特徴とする特許請求の範囲第2項記
載の波形読み出し装置。 5 波形発生器は、音源波形発生器とエンベロー
プ発生器とを備え、書き込み装置はDA変換器と
掛算DA変換器とを備え、上記波形発生器の出力
する音源波形とエンベロープデータの一方を上記
DA変換器に、他方を上記掛算DA変換器に加え、
上記DA変換器の出力を上記掛算DA変換器に加
えて乗算し、その出力をバツフアメモリに書き込
むようにしたことを特徴とする特許請求の範囲第
1項記載の波形読み出し装置。 6 掛算DA変換器の出力を差分演算してバツフ
アメモリに書き込むようにしたことを特徴とする
特許請求の範囲第4項記載の波形読み出し装置。[Claims] 1. A waveform generator that generates a plurality of waveforms, a plurality of read frequency generators that generate at least two different read frequencies, a calculation request flag register, a writing device, and a plurality of buffer memories. , a plurality of reading devices, writes the occurrence of a calculation request corresponding to the read frequency that occurs periodically according to the read frequency to the calculation request flag register,
When a calculation request occurs by referring to the calculation request flag register, a new waveform sample value is generated, and written to the buffer memory via the writing device, the record of the occurrence is erased, and the read frequency is set to the above. Therefore, the readout device reads the new waveform sample value from the buffer memory in which the new waveform sample value is written, so that waveforms synchronized with each of the at least two different readout frequencies can be simultaneously output, The waveform reading device is characterized in that the reading device supplies the waveform sample value to a specified output line among a plurality of output lines according to a specified mode. 2. The waveform reading device according to claim 1, wherein the waveform generator operates by time division multiplexing and sequentially generates the waveform of a designated channel in calculation time slots provided for each channel in advance. 3. The output of the waveform generator is converted into an analog signal by a writing device and stored as an analog signal in a buffer memory, and the analog signal is read out by a reading device according to a reading frequency. The waveform readout device according to scope 1. 4. The analog signal output by the writing device is a difference between music sample values, the difference is written into a buffer memory, and the difference read from the buffer memory is accumulated by a hold circuit. The waveform readout device according to scope 2. 5. The waveform generator includes a sound source waveform generator and an envelope generator, and the writing device includes a DA converter and a multiplication DA converter, and converts one of the sound source waveform and envelope data output from the waveform generator into the above
DA converter, add the other to the above multiplication DA converter,
2. The waveform reading device according to claim 1, wherein the output of the DA converter is added to the multiplication DA converter and multiplied, and the output is written into a buffer memory. 6. The waveform reading device according to claim 4, wherein the output of the multiplication DA converter is subjected to a differential calculation and written into a buffer memory.
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57220945A JPS59111198A (en) | 1982-12-15 | 1982-12-15 | Waveform readout device |
| EP83304130A EP0102169B1 (en) | 1982-07-19 | 1983-07-15 | Wave reading apparatus |
| DE8383304130T DE3373737D1 (en) | 1982-07-19 | 1983-07-15 | Wave reading apparatus |
| CA000432688A CA1211163A (en) | 1982-07-19 | 1983-07-19 | Wave reading apparatus |
| US06/515,255 US4528884A (en) | 1982-07-19 | 1983-07-19 | Wave reading apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57220945A JPS59111198A (en) | 1982-12-15 | 1982-12-15 | Waveform readout device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS59111198A JPS59111198A (en) | 1984-06-27 |
| JPS646480B2 true JPS646480B2 (en) | 1989-02-03 |
Family
ID=16759009
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57220945A Granted JPS59111198A (en) | 1982-07-19 | 1982-12-15 | Waveform readout device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS59111198A (en) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS525515A (en) * | 1975-07-03 | 1977-01-17 | Nippon Gakki Seizo Kk | Electronic musical instrument |
| JPS55144296A (en) * | 1979-04-27 | 1980-11-11 | Nippon Musical Instruments Mfg | Electronic musical instrument |
-
1982
- 1982-12-15 JP JP57220945A patent/JPS59111198A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS59111198A (en) | 1984-06-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4184403A (en) | Method and apparatus for introducing dynamic transient voices in an electronic musical instrument | |
| US4696214A (en) | Electronic musical instrument | |
| US4602545A (en) | Digital signal generator for musical notes | |
| CA1076400A (en) | Digital generator for musical notes | |
| US4528884A (en) | Wave reading apparatus | |
| JPH0254559B2 (en) | ||
| JPS646480B2 (en) | ||
| EP0201998B1 (en) | Electronic musical instrument | |
| JP2900082B2 (en) | Music generator | |
| JP2625669B2 (en) | Musical sound wave generator | |
| JPH03639B2 (en) | ||
| JPS58137898A (en) | Electronic musical instrument | |
| JPH0468632B2 (en) | ||
| JPS61248096A (en) | Electronic musical instrument | |
| JP2586443B2 (en) | Waveform generator | |
| JP2642092B2 (en) | Digital effect device | |
| JP3543203B2 (en) | Electronic musical instrument | |
| JP2625670B2 (en) | Musical sound wave generator | |
| JPH0468633B2 (en) | ||
| JP2560276B2 (en) | Digital effect device | |
| JPS60495A (en) | Waveform readout device | |
| JPS6223873B2 (en) | ||
| JPH0340396B2 (en) | ||
| JPS6262395A (en) | Effect apparatus | |
| JPH0754431B2 (en) | Effect device |