JPH03639B2 - - Google Patents

Info

Publication number
JPH03639B2
JPH03639B2 JP57126413A JP12641382A JPH03639B2 JP H03639 B2 JPH03639 B2 JP H03639B2 JP 57126413 A JP57126413 A JP 57126413A JP 12641382 A JP12641382 A JP 12641382A JP H03639 B2 JPH03639 B2 JP H03639B2
Authority
JP
Japan
Prior art keywords
waveform
calculation
converter
buffer memory
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP57126413A
Other languages
Japanese (ja)
Other versions
JPS5915989A (en
Inventor
Kinji Kawamoto
Kazuhiro Murase
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP57126413A priority Critical patent/JPS5915989A/en
Priority to EP83304130A priority patent/EP0102169B1/en
Priority to DE8383304130T priority patent/DE3373737D1/en
Priority to CA000432688A priority patent/CA1211163A/en
Priority to US06/515,255 priority patent/US4528884A/en
Publication of JPS5915989A publication Critical patent/JPS5915989A/en
Publication of JPH03639B2 publication Critical patent/JPH03639B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】[Detailed description of the invention]

産業上の利用分野 本発明は、電子楽器のように、同時に異なつた
周波数の信号を複数個発生させるのに適した波形
読み出し装置に関するものである。 従来例の構成とその問題点 従来、電子楽器の分野において、複数の鍵に対
応する異なつた周波数の楽音を同時に発生させる
方法としては、独立の波形発生器を備える方法
と、1つの波形発生器を時分割的に動作させて複
数の周波数の波形を同時に発生させる方法とがあ
る。 楽音波形をデイジタル的に発生させる場合、前
者では、デイジタル信号をアナログ信号に変換す
るDA変換器が波形発生器の数だけ必要になる欠
点がある。後者の場合、1つの波形発生器を時分
割動作させるから、必然的にサンプル値を発生さ
せることになる。これらのサンプル値を出力する
ときに、DA変換器を用いる必要がある。従来複
数のサンプル値を加算してから、DA変換する方
式が使われている。この場合には、DA変換器は
1個で良いが、加算結果のダイナミツクレンジが
増加するため加算結果を正確にDA変換するため
に、DA変換器のビツト数を多く必要とする欠点
がある。また、複数のサンプル値は、DA変換器
の動作周波数でサンプリングされた値であること
が要求される。すなわち複数の楽音は、それぞ
れ、共通のサンプリング周波数を想定して計算さ
れたものでなければならない。ところが複数の楽
音の周波数は、一般に12平均律にしたがい12通り
の周波数よりなつており、これらのすべての周波
数とサンプリング周波数とが調和関係(単純には
楽音の基本周波数の整数倍がサンプリング周波数
となる関係)になるのは、サンプリング周波数が
非常に大きくなり全く実用性がなくなる。一方、
実用性のあるサンプリング周波数、たとえば、20
〜50KHz位では、いずれかの音階の楽音の基本周
波数とサンプリング周波数とが非調和関係とな
り、サンプリングによる折り返し周波数が楽音の
高調波成分の周波数からずれてしまうために、に
ごつた音になる。また、波形サンプル値を一周期
用意して、それを繰り返し読み出す波形発生方法
を使うことができず。良質の楽音を得るには、サ
ンプル数を多くするか、あるいはサンプル値の間
で補間演算する必要が出てきて、波形発生装置が
大規模になるという欠点もあつた。 発明の目的 本発明は、内部の波形発生や波形計算の速度と
楽音の基本周波数とは非同期とし、楽音の基本周
波数の整数倍の読み出し周波数にしたがつて読み
出すようにして、上記欠点のないようにしたもの
である。 発明の構成 本発明は、読み出し周波数にしたがつて周期的
に発生する読み出し周波数に対応した計算要求の
生起を計算要求フラグレジスタに書き込み、波形
発生器に、計算要求フラグレジスタを参照して計
算要求の生起がある場合に新たな波形サンプル値
を発生させて書き込み装置を介してバツフアメモ
リに書き込むとともに上記生起の記録を消去し、
上記読み出し周波数にしたがつて、上記新しい波
形サンプル値が書き込まれたバツフアメモリから
上記読み出し装置が上記新しい波形サンプル値を
読み出すようにして、上記相異なる少なくとも2
つの読み出し周波数のそれぞれに同期した波形を
同時に出力可能としたことを特徴とするものであ
る。 実施例の説明 第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, each of 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). If this happens, the sampling frequency will become very large and it will be completely impractical. on the other hand,
Practical sampling frequency, e.g. 20
At around 50KHz, the fundamental frequency of a musical tone of any scale and the sampling frequency are in an anharmonic relationship, and the aliasing frequency due to sampling deviates from the frequency of the harmonic component of the musical tone, resulting in a turbulent sound. Also, it is not possible to use a waveform generation method that prepares one cycle of waveform sample values and reads them repeatedly. In order to obtain high-quality musical tones, it became necessary to increase the number of samples or perform interpolation calculations between sample values, which also had the disadvantage of requiring a large-scale waveform generator. 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. This is what I did. Structure of the Invention The present invention writes the occurrence of a calculation request corresponding to a read frequency that occurs periodically in accordance with the read frequency into a calculation request flag register, and requests a calculation request to a waveform generator by referring to the calculation request flag register. generates a new waveform sample value when there is an occurrence of the waveform, writes it into the buffer memory via a writing device, and erases the record of the occurrence;
The readout device reads out the new waveform sample value from the buffer memory in which the new waveform sample value is written in accordance with the readout frequency, and
This device is characterized by being able to simultaneously output waveforms synchronized with each of the two readout frequencies. DESCRIPTION OF THE EMBODIMENTS FIG. 1 is a block diagram of an embodiment of the present invention.
1 is a notebook clock generator (NCG),
By dividing the master clock signal MCK, there are 12 note clocks C corresponding to 12 equal temperament scale tones,
Generate C#, D, ..., B. 2 is a timing pulse generator (TPG) that generates necessary pulse signals. 3 is the notebook clock selector (NCS)
In response to the note data specifying the scale note to be generated, the above 12 note clocks C and C
It has a function of selecting and outputting a note clock corresponding to specified note data from #, D, . . . B. In this embodiment, sound is produced even if up to eight keys on the keyboard are pressed at the same time. Since we are assuming a so-called 8-channel pronunciation, each note clock is selected for the 8 note data.
Eight note clocks NCK1 to NCK8 are output. Table 1 shows the relationship between the note names, the frequency division number of the master clock MCK in the note clock generator (NCG) 1, and the scale frequency.

【表】 選択されたノートクロツクNCK1〜8は、そ
れぞれ計算要求フラグレジスタ4に印加される。
計算要求フラグレジスタ4は、8個のSRフリツ
プフロツプFG1〜8で構成される。ノートクロ
ツクNCK1〜8はそれぞれSRフリツプフロツプ
FG1〜8のセツト端子Sに印加される。そして、
ノートクロツクNCK1〜8が出力される。そし
て、ノートクロツク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〜Q8には読み出し信
号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フリツプフロツプFG1をリセツトする。した
がつて計算サイクル信号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フリツプフロツプG1に到達する
と、読み出し回路5を介して、読出信号TRS1
が“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)が
計算タイムスロツトを表わす。各タイムスロツト
の最初の計算クロツク信号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フリツプフロツプFG
1のリセツト端子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は
選択された歩進数とエンベロープアドレスデータ
EADとを加算する加算器である。加算器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には、加算作用だけでなく積
分作用がある。すなわち、オペアンプ11とキヤ
パシタCFはホールド回路であり、このホールド
回路はキヤパシタC1〜C8の各々が独立に保持し
ていた電荷を所定のタイミングでトランジスタス
イツチQ11〜Q18を介して受け入れる。電荷を受
け入れたあとは、リーク電流を無視すればCF
C1,CF/C2,……,C/C8に応じた電圧を保持
し続ける。このように、キヤパシタCFの端子間
電圧は、そのまま保持される。積分の代りにホー
ルド作用と云つてもよい。云いかえると、読み出
された前回のサンプル電圧は、そのまま保持され
ることになる。したがつて、第1図におけるバツ
フアメモリ10への書き込み電圧は、波形の差分
値である必要がある。波形の差分値を得るには、
波形計算器7の出力する波形サンプルデータの前
回値WD(nT−T)と今回値WD(nT)の差 WD(nT)−WD(nT−T) を計算して出力するようにすればよい。なぜな
ら、第13図aに示すように方形波を差分形式で
波形サンプリングした場合には、オペアンプ11
の出力は積算または積分されて第13図bに示す
ような波形となる。したがつて、逆にある所望の
波形を端子12に得ようとすると、DA変換器9
の出力すべき波形は差分形式(または微分)のデ
ータにしておく必要がある。これらの演算はデイ
ジタル的に行なうことができる。 第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は波形サン
プルデータとエンベロープデータの積である楽音
サンプルデータの差分電圧をつくり出す。 第11図は、バツフアメモリ10の他の実施例
である。第11図AにおいてQ1,Q11,Q21はト
ランジスタスイツチ、C1はキヤパシタ、R1は加
算用抵抗、オペアンプ11と抵抗RFは加算増幅
器を構成するものである。R2はチヤンネル2用
の加算用抵抗である。第11図Bは第11図Aの
各点の信号の波形を示す。入力端子110には
DA変換器の出力が電流I1Nの形で入力される。ト
ランジスタQ1は信号S1によりTS1の間オンになり
キヤパシタC1を充電する。TS1の前縁で信号S2
よりトランジスタQ21がオンになりキヤパシタC1
は放電されているので、時間TS1の間に、 VCAP=I1N・TS1/C が充電され保持される。トランジスタQ11
TRS1が来ると、キヤパシタC1の抵抗R1に対する
放電電流に応じて、抵抗RFに電圧が発生し、端
子12に放電々流に応じた電圧波形が読み出され
る。TS1はチヤンネル1のノート周波数に反比例
した時間幅を持つようにする。ノート周波数
NOTEが高いとサンプルの発生頻度が高いから、
各サンプルのエネルギー、すなわちキヤパシタ
C1の電荷量がノート周波数に関して同じ場合、
ノート周波数NOTEに比例して出力波形のレベル
が大きくなる。このようになると1オクターブ内
の半音階にしたがつて、ノートが高くなるにつれ
て音量が21/12=0.5dBずつ大きくなり不都合であ
る。そこで、第11図ではノート周波数NOTE
反比例してVCAPの保持電圧を制御しているから、
どの音階でも、レベルの差がほぼ一定にできる。 TS1をノート周波数NOTEに反比例させるには、
単安定マルチバイブレータにより12通りのパルス
幅をつくり、これで選択するようにしたり、カウ
ンタによつて、パルス幅の異なるS1信号をつくる
ようにすればよい。 第12図はバツフアメモリ10の他の実施例を
示すものであり、第12図Aはその回路例、第1
2図Bはその波形を示す。第11図に比較する
と、トランジスタスイツチQ21がなく、トランジ
スタスイツチQ1とQ11に印加されるパルスが異な
る。入力端子110には、波形サンプル値の電圧
が印加される。サンプル信号SMP1でキヤパシ
タC1は充電される。トランジスタスイツチQ11
は、TRS1信号と同じタイミングでパルス幅TM1
の信号MTRS1が印加される。トランジスタス
イツチQ11がオンになると、キヤパシタC1の放電
電流IR1が抵抗R1を介して抵抗RFに流れ込む。パ
ルス幅TM1は、ノート周波数NOTEに、ほぼ反比例
するようにしておく。このようにすれば、ノート
周波数NOTEが高いほど、電流IR1の流れる時間が
短かく、エネルギーは小さくなる。一方、第11
図において説明したように、出力の発生頻度はノ
ート周波数に比例するから、両者が相殺し合つ
て、ノートによらず、出力レベルはほぼ一定にな
る。 第11図と第12図の実施例では、出力の加算
増幅器としてホールド機能がないから、入力とし
ては、差分サンプル値である必要がない。 上記第1図、第4図の説明では、計算要求の生
起を並列に記録し、あらかじめ順序をもつた計算
タイムスロツトにおいて計算するようにした。別
の実施例としてつぎのようにしてもよい。 すなわち、計算要求が生起すると、そのチヤン
ネル番号を8個のレジスタに生起の順に記録す
る。8個のレジスタはFIFO(フアーストインフア
ーストアウト)メモリで良い。計算要求がいくつ
かのチヤンネルで同時に生起することもあるが、
このときは、チヤンネル番号の順に優先順序をつ
けることにする。このためには、マイコンなどの
周辺ICとしてデイジーチエーン型の割込制御回
路と同様の回路を使えばよい。波形発生器は、
FIFOメモリを読み出し、計算すべきチヤンネル
番号を知り、そのチヤンネルに対応するノート、
オクターブの波形サンプル値を計算し、書き込み
必要を介してバツフアメモリの対応するチヤンネ
ルに計算結果を書き込む。書き込みが終ると、再
びFIFOメモリを読み出し、つぎの波形計算を実
行する。一方、計算結果の読み出しは、FIFOメ
モリへの計算要求の生起の記録時に行なわれる。 本実施例では、FIFOメモリに計算要求チヤン
ネル番号があれば、連続的にいずれかのチヤンネ
ルの波形計算を行なうが、FIFOメモリに計算要
求の記録がなくなると、波形計算は停止する。ま
た、波形計算の順序は、要求生起の順序になる。 上記説明では、第1図、第4図において、ノー
トクロツクをノートデータにより選択した。した
がつてオクターブについては、波形の基本周期内
のサンプル数を、倍や半分にすることによりオク
ターブ異なる波形をつくつている。しかし、これ
に限定されることなく、ノートクロツクを分周す
ることにより、オクターブ情報も含んだ読み出し
信号をつくることもできる。 また、ノートクロツクとしてC,C# ,D,D
# ,E,Fのみとし、F# ,G,G# ,A,A
# ,Bについてはサンプル数を変えることによ
り、全12半音階をつくることもできる。要する
に、ノートセレクタ3で行ない、オクターブ制御
を波形計算器7で行なうよう完全に分離する方法
に限られることはない。 発明の効果 以上説明したように、本発明の波形読み出し装
置は、読み出し周波数にしたがつて周期的に発生
する読み出し周波数に対応した計算要求の生起を
計算要求フラグレジスタに書き込み、波形発生器
に、計算要求フラグレジスタを参照して計算要求
の生起がある場合に新たな波形サンプル値を発生
させ、書き込み装置を介して上記バツフアメモリ
に書き込むとともに上記生起の記録を消去し、上
記読み出し周波数にしたがつて、上記新しい波形
サンプル値が書き込まれたバツフアメモリから、
上記読み出し装置が上記新しい波形サンプル値を
読み出すようにして、上記相異なる少なくとも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,
Note clocks NCK1-8 are output. Then, each time the note clocks NCK1 to NCK8 are output, the SR flip-flops FG1 to FG8 are set, and their output is the calculation request flag 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~
Generates 8. 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 the AND gates 20 and 21 are the set terminal S of the 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 applied as a sample signal SMP1 to a gate G1 of a writing device 8 and a switch Q1 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 a musical sound waveform having a predetermined scale and octave according to note data, octave data, and key-on/off data according to a calculation clock signal CCK. is calculated and output to gates G1 to G8 . With a given number of clocks,
Any method that calculates sample values of a new waveform 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 G1 to G8 becomes high impedance, so that it 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 Q 1 -Q 8 , voltage holding capacitors C 1 -C 8 , and reading transistor switches Q 11 -Q 18 . 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 - Q8 , 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 CF , and an output voltage −V 1 C 1 / CF appears at the output terminal 12 and is held. 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 an unrelated 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 FG1. 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. SR flip-flop FG1 of calculation request flag register 4 is the next note 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 C 1 has been sufficiently accurately charged to voltage V 1 , an end-of-sample signal SEN 1 is generated and 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 G1, the readout signal TRS1 is sent via the readout circuit 5.
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
Wait until calculation time slot 1 is reached, and when calculation time slot 1 of channel CH1 is reached, waveform calculation for channel CH1 is executed, and in the next time slot 2, DA conversion of the calculation result and writing to buffer memory are performed. ing.
The frequency of note 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,
In calculation time slot 2, calculations are actually executed only slightly more than 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 example, 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 the calculation time slot. The first calculation clock signal CCK of each time slot is the calculation start signal.
CST and the last calculation clock signal CCK become 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-flop 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
Since {TS}=(111) is input, the reset signal RESET is sent to channel CH1 of calculation request flag register 4, that is, SR flip-flop FG.
The calculation request flag is applied to the reset terminal R of 1.
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 holds 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 aon-off data are data based on the determination of which channel of channels CH1 to CH8 is assigned the pitch and octave of the pressed key 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, it is no longer necessary 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 256 addresses (8 bits per word); It stores the minutes. The address register 50 contains the calculation time slot code {TS}
and read/write signal R/W are applied,
The wave address data WAD stored in the register specified by {TS} is read out with R/W="1", is incremented by 1 by the adder 51, and is read out as R/W.
= “0” and is written to the same register again. Therefore, address data WAD advances by +1. In the calculation time slot, if the calculation cycle signal CLC = “0”, there is no need for calculation.
The +1 data is blocked by the AND gate 60, and the wave address data WAD remains as it was. The 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. Reference numeral 54 denotes a register for storing envelope address data EAD for eight channels, and any register can be read or written using the calculation time slot code {TS} and the read/write signal R/W. 56 is a step data generator that holds different step data for each note data, and for each calculation time slot,
Outputs the step number corresponding to that note. 55 is the selected step number and envelope address data
This is an adder that adds EAD. 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 contents of the register of a predetermined channel among the registers 54
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 so, the calculation cycle signal
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. In other words, the operational amplifier 11 and the capacitor C F are a hold circuit, and this hold circuit accepts the charge independently held by each of the capacitors C 1 to C 8 via the transistor switches Q 11 to Q 18 at a predetermined timing. . After accepting the charge, if we ignore the leakage current, C F /
The voltage corresponding to C 1 , C F /C 2 , ..., C/C 8 is maintained. In this way, the voltage across the terminals of capacitor C F is maintained as it is. It can 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,
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), should be calculated and output. . This is because when the square wave is waveform sampled in the differential format as shown in FIG. 13a, the operational amplifier 11
The outputs of are accumulated or integrated to form a waveform as shown in FIG. 13b. Therefore, if you try to obtain a certain desired waveform at the terminal 12, the DA converter 9
The waveform to be output must be in differential format (or differential) data. 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 differential 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 the difference voltage between the musical tone sample data, which is the product of the waveform sample data and the envelope data. FIG. 11 shows another embodiment of the buffer memory 10. In FIG. 11A, Q 1 , Q 11 , and Q 21 are transistor switches, C 1 is a capacitor, R 1 is a summing resistor, and the operational amplifier 11 and resistor RF constitute a summing amplifier. R 2 is a summing resistor for channel 2. FIG. 11B shows the waveform of the signal at each point in FIG. 11A. The input terminal 110 has
The output of the DA converter is input in the form of current I 1N . Transistor Q 1 is turned on for T S1 by signal S 1 and charges capacitor C 1 . At the leading edge of T S1 the signal S 2 turns on transistor Q 21 and capacitor C 1
has been discharged, so V CAP =I 1N ·T S1 /C is charged and held during time T S1 . Transistor Q 11
When TRS 1 comes, a voltage is generated in the resistor RF according to the discharge current of the capacitor C 1 to the resistor R 1 , and a voltage waveform corresponding to the discharge current is read out at the terminal 12 . T S1 is set to have a time width inversely proportional to the note frequency of channel 1. note frequency
If NOTE is high, the frequency of sample occurrence is high,
The energy of each sample, i.e. the capacitance
If the amount of charge on C 1 is the same with respect to the note frequency, then
The level of the output waveform increases in proportion to the note frequency NOTE . In this case, according to the chromatic scale within one octave, the volume increases by 2 1/12 = 0.5 dB as the note gets higher, which is inconvenient. Therefore, in Figure 11, since the V CAP holding voltage is controlled in inverse proportion to the note frequency NOTE ,
The difference in level can be kept almost constant for any scale. To make T S1 inversely proportional to note frequency NOTE ,
You can create 12 different pulse widths using a monostable multivibrator and select from these, or you can create S1 signals with different pulse widths using a counter. FIG. 12 shows another embodiment of the buffer memory 10, and FIG. 12A shows an example of its circuit, the first
Figure 2B shows the waveform. Compared to FIG. 11, there is no transistor switch Q 21 and the pulses applied to transistor switches Q 1 and Q 11 are different. A voltage of a waveform sample value is applied to the input terminal 110 . The capacitor C1 is charged by the sample signal SMP1. Transistor switch Q11 receives a pulse width T M1 at the same timing as the TRS1 signal.
A signal MTRS1 is applied. When the transistor switch Q11 is turned on, the discharge current I R1 of the capacitor C1 flows into the resistor R F via the resistor R1. The pulse width T M1 is set to be approximately inversely proportional to the note frequency NOTE . In this way, the higher the note frequency NOTE , the shorter the time for the current I R1 to flow, and the smaller the energy. On the other hand, the 11th
As explained in the figure, since the output frequency is proportional to the note frequency, the two cancel each other out, and the output level becomes approximately constant regardless of the note. In the embodiments of FIGS. 11 and 12, the output summing amplifier does not have a hold function, so the input need not be a differential sample value. In the explanation of FIGS. 1 and 4 above, the occurrence of calculation requests is recorded in parallel and calculations are performed in pre-ordered calculation time slots. Another example may be as follows. That is, when a calculation request occurs, its channel number is recorded in eight registers in the order of occurrence. The eight registers can be FIFO (first-in-first-out) memory. Although computational requests may occur simultaneously on several channels,
In this case, priority will be given in order of channel number. For this purpose, a circuit similar to a daisy chain type interrupt control circuit can be used as a peripheral IC such as a microcomputer. The waveform generator is
Read the FIFO memory, know the channel number to be calculated, and write the note corresponding to that channel.
Calculate the waveform sample value of the octave and write the calculation result to the corresponding channel of the buffer memory via the write need. When the writing is completed, the FIFO memory is read again and the next waveform calculation is executed. On the other hand, the calculation results are read out when recording the occurrence of a calculation request in the FIFO memory. In this embodiment, if there is a calculation request channel number in the FIFO memory, the waveform calculation for any channel is continuously performed, but when there is no record of calculation requests in the FIFO memory, the waveform calculation is stopped. Additionally, the order of waveform calculations is the order of request occurrence. In the above explanation, the note clock in FIGS. 1 and 4 was selected based on note data. Therefore, regarding octaves, waveforms that differ by an octave are created by doubling or halving the number of samples within the fundamental period of the waveform. However, the present invention is not limited to this, and by dividing the frequency of the note clock, a readout signal that also includes octave information can be created. Also, C, C#, D, D can be used as a notebook clock.
#, E, F only, F#, G, G#, A, A
For # and B, a total of 12 chromatic scales can be created by changing the number of samples. In short, the method is not limited to a completely separate method in which note selector 3 performs octave control and waveform calculator 7 performs octave control. Effects of the Invention As explained above, the waveform readout device of the present invention writes the occurrence of a calculation request corresponding to the readout frequency that occurs periodically according to the readout frequency into the calculation request flag register, Generates a new waveform sample value when a calculation request occurs by referring to the calculation request flag register, writes it to the buffer memory via the writing device, erases the record of the occurrence, and generates a new waveform sample value according to the read frequency. , from the buffer memory where the above new waveform sample values are written,
said readout device reads said new waveform sample value, said at least two different waveform sample values are read out;
This makes it possible to simultaneously output waveforms synchronized with each of the two readout frequencies. Therefore, even if the note clock frequency is set independently of the master clock frequency, normal operation can be achieved because the internal calculation and readout can be asynchronous. Therefore, it is possible to independently apply vibrato, glide, portamento, etc. to each note clock frequency. In addition, not only is it sufficient to use only one DA converter in the writing device, but they also 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 be used. Furthermore, since the sampling frequency can be made an integral multiple of the fundamental frequency of the waveform, all aliasing components generated and harmonic components of the sample 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.

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

第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 its operation timing diagram, and FIG. 13 is a waveform diagram for explaining the operation. 1... Note clock generator, 2... Timing generator, 3... Note clock selector, 4... Calculation request flag register, 5...
Reading device, 6... Calculation request detection controller, 7...
...Waveform calculator, 8...Gate or latch, 9...
...DA converter, 10...buffer memory.

Claims (1)

【特許請求の範囲】 1 複数の波形を発生する波形発生器と、相異な
る少なくとも2つの読み出し周波数を発生する複
数の読み出し周波数発生部と、波形要求を制御す
る装置と、書き込み装置と、キヤパシタを有する
複数のバツフアメモリと、複数の読み出し装置と
を備え、上記読み出し周波数にしたがつて周期的
に発生する読み出し周波数に対応した波形要求の
生起を上記波形発生器に知らせて新たな波形サン
プル値を発生させ、上記書き込み装置を介して上
記バツフアメモリに書き込み、上記読み出し周波
数にしたがつて、上記新しい波形サンプル値が書
き込まれたバツフアメモリから、上記読み出し装
置が上記新しい波形サンプル値を読み出すように
して、上記相異なる少なくとも2つの読み出し周
波数のそれぞれに同期した波形を同時に出力可能
とし、さらに上記書き込み装置は、デイジタルア
ナログ変換器により波形サンプル値をアナログ信
号に変換し、上記バツフアメモリはアナログ信号
を記憶するものであり、上記デイジタルアナログ
変換器は、上記少なくとも2つの読み出し周波数
に対応した多重の時分割動作を行なうようにした
ことを特徴とする波形読み出し装置。 2 波形発生器が時分割多重化で動作し、あらか
じめチヤンネルごとに設けられた計算タイムスロ
ツトにおいて順次指定されたチヤンネルの波形を
発生するようにした特許請求の範囲第1項記載の
波形読み出し装置。 3 書き込み装置の出力するアナログ信号が楽音
サンプル値の差分であつて、上記差分をバツフア
メモリに書き込み、上記バツフアメモリより読み
出された差分をホールド回路により累積するよう
にしたことを特徴とする特許請求の範囲第1項記
載の波形読み出し装置。 4 波形発生器は、音源波形発生器とエンベロー
プ発生器とを備え、書き込み装置はDA変換器と
掛算DA変換器とを備え、上記波形発生器の出力
する音源波形とエンベロープデータの一方を上記
DA変換器に、他方を上記掛算DA変換器に加え、
上記DA変換器の出力を上記掛算DA変換器に加
えて乗算し、その出力をバツフアメモリに書き込
むようにしたことを特徴とする特許請求の範囲第
1項記載の波形読み出し装置。 5 掛算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 device that controls a waveform request, a writing device, and a capacitor. a plurality of buffer memories and a plurality of readout devices, and generates a new waveform sample value by notifying the waveform generator of the occurrence of a waveform request corresponding to the readout frequency that occurs periodically in accordance with the readout frequency. the new waveform sample value is written in the buffer memory via the writing device, and the readout device reads out the new waveform sample value from the buffer memory to which the new waveform sample value has been written according to the readout frequency. It is possible to simultaneously output waveforms synchronized with each of at least two different readout frequencies, and further, the writing device converts the waveform sample value into an analog signal using a digital-to-analog converter, and the buffer memory stores the analog signal. . A waveform readout device, wherein the digital-to-analog converter performs multiple time-division operations corresponding to the at least two readout frequencies. 2. The waveform reading device according to claim 1, wherein the waveform generator operates by time division multiplexing and sequentially generates waveforms of designated channels in calculation time slots provided for each channel in advance. 3. The analog signal output by the writing device is a difference between musical tone 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 1. 4. 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 writes one of the sound source waveform and envelope data output from the waveform generator to 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. 5. The waveform reading device according to claim 4, wherein the output of the multiplication DA converter is subjected to a differential calculation and written to the buffer memory.
JP57126413A 1982-07-19 1982-07-19 Waveform reader Granted JPS5915989A (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP57126413A JPS5915989A (en) 1982-07-19 1982-07-19 Waveform reader
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
JP57126413A JPS5915989A (en) 1982-07-19 1982-07-19 Waveform reader

Publications (2)

Publication Number Publication Date
JPS5915989A JPS5915989A (en) 1984-01-27
JPH03639B2 true JPH03639B2 (en) 1991-01-08

Family

ID=14934545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57126413A Granted JPS5915989A (en) 1982-07-19 1982-07-19 Waveform reader

Country Status (1)

Country Link
JP (1) JPS5915989A (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS523421A (en) * 1975-06-26 1977-01-11 Kawai Musical Instr Mfg Co Ltd Sound source appliance of electronic musical instrument
JPS55144296A (en) * 1979-04-27 1980-11-11 Nippon Musical Instruments Mfg Electronic musical instrument

Also Published As

Publication number Publication date
JPS5915989A (en) 1984-01-27

Similar Documents

Publication Publication Date Title
CA1172475A (en) Electronic musical instrument
US4133241A (en) Electronic musical instrument utilizing recursive algorithm
JPS5833297A (en) Electronic musical instrument
GB2047999A (en) Digital waveform generating apparatus
US4114497A (en) Electronic musical instrument having a coupler effect
CA1076400A (en) Digital generator for musical notes
US4528884A (en) Wave reading apparatus
US4562763A (en) Waveform information generating system
JPH03639B2 (en)
JPH0423277B2 (en)
US4338844A (en) Tone source circuit for electronic musical instruments
JPS646480B2 (en)
JPS60495A (en) Waveform readout device
JP3561939B2 (en) Waveform memory sound source
US4936179A (en) Electronic musical instrument
JPS6153696A (en) Electronic musical instrument
JPS583238B2 (en) electronic musical instruments
JPS6352399B2 (en)
JPS5846036B2 (en) electronic musical instruments
JPS61209496A (en) Electronic musical instrument
JPH0567957B2 (en)
JPS63261397A (en) electronic musical instruments
JPS61283098A (en) Waveform information reader
JPH04125694A (en) musical tone generator
JPS6240494A (en) Distributor for d/a converter