JP2900463B2 - Musical instrument for electronic musical instruments - Google Patents
Musical instrument for electronic musical instrumentsInfo
- Publication number
- JP2900463B2 JP2900463B2 JP2008699A JP869990A JP2900463B2 JP 2900463 B2 JP2900463 B2 JP 2900463B2 JP 2008699 A JP2008699 A JP 2008699A JP 869990 A JP869990 A JP 869990A JP 2900463 B2 JP2900463 B2 JP 2900463B2
- Authority
- JP
- Japan
- Prior art keywords
- arithmetic
- calculation
- musical
- data
- channel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000005070 sampling Methods 0.000 claims description 24
- 238000000034 method Methods 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 description 11
- 230000000694 effects Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006866 deterioration Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 本発明は、外部からの同期信号に同期して楽音データ
を算出し、楽音を発生する電子楽器の楽音発生装置に関
するものである。Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a musical sound generator for an electronic musical instrument that calculates musical sound data in synchronization with an external synchronization signal and generates musical sounds.
従来の技術 近年、電子楽器の楽音発生はディジタル方式の演算に
よって行われており、また複数の楽器の音のミキシング
や楽音へのリバーブやイコライジング等のエフェクト付
加もディジタル方式の演算によって行われるようになっ
てきている。しかしながら、楽音発生装置とエフェクト
付加装置(この場合ミキシングも含む)が分離された装
置である場合には、楽音発生装置において楽音を一旦デ
ィジタル信号からアナログ信号に変換した後、エフェク
ト付加装置において再びアナログ信号からディジタル信
号に戻すという処理を行っていた。このため、楽音の音
質やS/N比(信号とノイズの比率)の劣化は避けられな
かった。この劣化を発生させないためには、ディジタル
信号のまま楽音発生装置からエフェクト付加装置へ楽音
を送ればよい。ディジタル信号のまま楽音を受け渡しす
るためには、楽音発生装置とエフェクト付加装置の演算
動作を同期させなければならない。このためには下記の
2つの方法がある。2. Description of the Related Art In recent years, musical sound generation of electronic musical instruments has been performed by digital arithmetic, and mixing of sounds of a plurality of musical instruments and addition of effects such as reverb and equalizing to musical sounds have also been performed by digital arithmetic. It has become to. However, if the tone generator and the effect adding device (including the mixing in this case) are separate devices, the tone generator once converts the tone from a digital signal to an analog signal, and then converts the analog signal again into an analog signal. The processing of returning from a signal to a digital signal has been performed. For this reason, deterioration of the tone quality and S / N ratio (ratio of signal to noise) of the musical tone was inevitable. In order to prevent this deterioration from occurring, the musical sound may be sent from the musical sound generating device to the effect adding device as a digital signal. In order to transfer musical tones as digital signals, the operation of the musical tone generator and the effect adding device must be synchronized. There are the following two methods for this.
1つは、演算動作の最小時間単位となる基本クロック
信号を一方の装置からもう一方の装置へ供給する方法で
ある。すべての演算動作は基本クロック信号の周期の整
数倍であり、2つの装置を基本クロック信号の周期に対
して同じ整数倍の周期で動作させれば、ディジタル信号
のまま楽音データを受け渡しすることができる。しかし
ながら、基本クロック信号の周波数は通常10[MHz]以
上であり、このような高い周波数の信号を2つの装置の
間で受け渡しするのは現実的でない。なぜなら、電磁波
の不要輻射が非常に多くなり他の電子機器に誤動作など
の悪影響を与えたり、信号線の負荷容量のために基本ク
ロック信号の波形がなまって装置が正常に動作しなくな
ることが起きるからである。One is a method of supplying a basic clock signal, which is a minimum time unit of an arithmetic operation, from one device to another device. All arithmetic operations are integral multiples of the period of the basic clock signal. If the two devices are operated at the same integral multiple of the period of the basic clock signal, musical tone data can be transferred as digital signals. it can. However, the frequency of the basic clock signal is usually 10 [MHz] or more, and it is not practical to pass such a high-frequency signal between two devices. This is because the unnecessary radiation of the electromagnetic wave becomes extremely large, adversely affecting other electronic devices such as malfunctions, or the waveform of the basic clock signal is distorted due to the load capacity of the signal line, and the device does not operate normally. Because.
もう1つは、前記の基本クロック信号は2つの装置で
別々に発生させておき、一方の装置からもう一方の装置
へサンプリング周期を同期させるための同期信号を供給
する方法である。同期信号の周波数はサンプリング周波
数と同じにすればよく、通常、数10[kHz]であるの
で、前者の方法で起きる問題は生じない。エフェクト付
加装置から楽音発生装置へ同期信号を送るとすると、楽
音発生装置はサンプリング周期より短い時間で楽音デー
タの算出を終了し、その後は同期信号を持ち、同期信号
が送られてくると再び楽音データの算出を続けるという
演算動作を行なう。こうして2つの装置のサンプリング
周期は一致し、ディジタル信号のまま楽音データを受け
渡しすることができる。したがって、実際には後者の方
法が用いられている。The other is a method in which the basic clock signal is separately generated in two devices, and a synchronization signal for synchronizing a sampling cycle is supplied from one device to the other device. The frequency of the synchronization signal may be the same as the sampling frequency, which is usually several tens [kHz], so that the problem that occurs in the former method does not occur. Assuming that a synchronization signal is sent from the effect adding device to the tone generator, the tone generator terminates the calculation of the tone data in a time shorter than the sampling period, and then has the synchronization signal. When the synchronization signal is sent, the tone generator returns. An arithmetic operation of continuing data calculation is performed. In this way, the sampling periods of the two devices coincide, and the musical sound data can be transferred as digital signals. Therefore, the latter method is actually used.
以下に、従来の外部からの同期信号に同期可能な楽音
発生装置について説明する。なお、ここでいう『チャン
ネル』とは、複数の楽音を発生する場合に複数の楽音を
区別するための用語で、『第0チャンネルの楽音』,
『第0チャンネルの演算期間』というように使用する。
また、『チャンネル』を『ch』と略して、0ch(第0チ
ャンネルを表す)のように表記する。Hereinafter, a description will be given of a conventional tone generator which can be synchronized with an external synchronization signal. Here, the term “channel” is a term for distinguishing a plurality of tones when a plurality of tones are generated.
It is used as “the operation period of the 0th channel”.
Further, “channel” is abbreviated as “ch” and is expressed as 0ch (representing the 0th channel).
第3図は従来の楽音発生装置のブロック図である。第
3図において、22は楽音すべき楽音の音程に基づいてア
ドレス変化幅ΔADを算出する音程演算部、23は前記アド
レス変化幅ΔADを各チャンネル別に累算してアドレスAD
を算出するアドレス演算部、24は前記アドレスADをラッ
チして波形メモリに供給するアドレスラッチ、25は波形
メモリ、26はエンベロープデータENVを算出するエンベ
ロープ演算部、27は波形メモリ25から読み出された波形
データWDと、エンベロープデータENVを乗算し楽音デー
タWとして出力する乗算部、28,29,30,31はそれぞれ第
0,1,2,3チャンネルの楽音データWをラッチする楽音デ
ータラッチ、21は楽音演算終了信号に基づいて演算の一
時停止を、同期信号に基づいて演算の再開を、上記各演
算部に対して指示する演算制御部である。FIG. 3 is a block diagram of a conventional tone generator. In FIG. 3, reference numeral 22 denotes a pitch calculator for calculating an address change width ΔAD based on a pitch of a musical tone to be played, and 23 accumulates the address change width ΔAD for each channel to obtain an address AD.
, An address latch for latching the address AD and supplying it to the waveform memory, 25 is a waveform memory, 26 is an envelope arithmetic unit for calculating envelope data ENV, and 27 is read from the waveform memory 25. The multipliers 28, 29, 30, and 31 each multiply the resulting waveform data WD by the envelope data ENV and output the result as tone data W.
The tone data latch 21 latches the tone data W of channels 0, 1, 2, and 3; 21 suspends the computation based on the tone computation end signal and resumes the computation based on the synchronization signal; This is an arithmetic control unit that gives instructions.
以上のように構成された楽音発生装置について、第4
図の動作タイミング図にしたがって以下その動作を説明
する。Regarding the musical sound generator configured as described above,
The operation will be described below with reference to the operation timing chart of FIG.
まず、外部からの同期信号(第4図(a))が「0」
から「1」になると、演算制御部21において、各演算部
が動作するための演算クロック信号((b))が発生す
るとともに音程演算開始信号((h))が演算クロック
信号1クロック分の期間だけ「1」になる。音程演算開
始信号が「1」になると、音程演算部22は第0チャンネ
ルから、第1,第2,第3チャンネルの順に、あらかじめ設
定された各チャンネルの音程に基づいて、波形メモリ25
から波形データWDを読み出すアドレスADをサンプリング
周期毎に更新するためのアドレス変化幅ΔADを算出す
る。たとえば、セント単位で表した1オクターブ内での
音の高さCENT、オクターブOCTの2つの変数で音程を表
すと、アドレス変化幅ΔADは、 ΔAD=k*2CENT/1200*2OUT として算出される。ここでkはサンプリング周期と波形
データWDの1周期のポイント数に依存した定数である。
第4図(c)における音程演算のタイミング図は、音程
演算が行われているチャンネルを表しており、第0チャ
ンネルの次に1,2,3チャンネルの音程演算が行われるこ
とを表している。第3チャンネルの音程演算が終了する
と、音程演算部22は『NOP状態』と呼ばれる状態にな
る。NOP状態とは、そのとき演算される結果は楽音デー
タに影響しないという演算状態である。NOP状態の後
は、後述する『WAIT状態』になる。First, an external synchronization signal (FIG. 4 (a)) is "0".
From “1” to “1”, the arithmetic control unit 21 generates an arithmetic clock signal ((b)) for operating each arithmetic unit and generates a pitch arithmetic start signal ((h)) for one clock of the arithmetic clock signal. It becomes "1" only for the period. When the pitch calculation start signal becomes "1", the pitch calculation unit 22 starts from the 0th channel, and proceeds to the first, second, and third channels in order from the waveform memory 25 based on the preset pitch of each channel.
, An address change width ΔAD for updating the address AD from which the waveform data WD is read every sampling period is calculated. For example, if the pitch is represented by two variables, a pitch CENT within one octave expressed in cents, and an octave OCT, the address change width ΔAD is calculated as ΔAD = k * 2 CENT / 1200 * 2 OUT You. Here, k is a constant that depends on the sampling period and the number of points in one period of the waveform data WD.
The timing chart of the pitch calculation in FIG. 4 (c) shows the channel where the pitch calculation is being performed, and shows that the pitch calculation of the 1, 2, and 3 channels is performed after the 0th channel. . When the pitch calculation of the third channel is completed, the pitch calculator 22 enters a state called “NOP state”. The NOP state is a calculation state in which the result calculated at that time does not affect the tone data. After the NOP state, the state changes to the “WAIT state” described later.
つぎに、音程演算部22から出力されたアドレス変化幅
ΔADは、アドレス演算部23において、各チャンネル別に
累算され、アドレスADとして出力((d))される。つ
まり『AD=ΣΔAD』の演算を行う。Next, the address change width ΔAD output from the pitch calculating unit 22 is accumulated for each channel in the address calculating unit 23 and output as an address AD ((d)). That is, the calculation of “AD = ΣΔAD” is performed.
つぎに、アドレスラッチ24はアドレスADをラッチし
て、波形メモリ25に対して出力する。波形メモリ25は、
ラッチされたアドレスADに対応した波形データWDを出力
する。波形メモリ25から波形データWDが読み出されてい
るときに、エンベロープ演算部26においてエンベロープ
データENVが算出される((e))。Next, the address latch 24 latches the address AD and outputs it to the waveform memory 25. The waveform memory 25
The waveform data WD corresponding to the latched address AD is output. While the waveform data WD is being read from the waveform memory 25, the envelope calculation unit 26 calculates the envelope data ENV ((e)).
つぎに、乗算部27において、波形データWDとエンベロ
ープデータENVが乗算され、楽音データWとして出力
((f))される。第0チャンネルの楽音データは楽音
データラッチ28にラッチされ、第1,第2,第3チャンネル
の楽音データはそれぞれ楽音データラッチ29,30,31にラ
ッチされる((i))。Next, in the multiplication unit 27, the waveform data WD and the envelope data ENV are multiplied and output as the musical sound data W ((f)). The tone data of the 0th channel is latched by the tone data latch 28, and the tone data of the first, second, and third channels are latched by the tone data latches 29, 30, 31 ((i)).
アドレス演算部23,アドレスラッチ24,波形メモリ25、
およびエンベロープ演算部26は、第3チャンネルの演算
動作が終了すると、次次にNOP状態になる。乗算部27に
おいて第3チャンネルの演算が終了すると、1サンプリ
ング周期内での全チャンネルの楽音演算が終了したこと
を示す楽音演算終了信号((g))が「0」から「1」
へ変わり、演算制御部21は演算クロック信号を停止す
る。演算クロック信号が停止すると、音程演算部22,ア
ドレス演算部23,アドレスラッチ24,波形メモリ25,エン
ベロープ演算部26、および乗算部27は演算動作を停止す
る。この状態を『WAIT状態』と呼び、WAIT状態の期間を
『WAIT時間』と呼ぶ。WAIT状態は次の同期信号の発生
(この場合、「0」から「1」への変化)まで続く。Address operation unit 23, address latch 24, waveform memory 25,
When the arithmetic operation of the third channel is completed, the envelope arithmetic unit 26 enters the NOP state next. When the calculation of the third channel is completed in the multiplier 27, the tone calculation end signal ((g)) indicating that the tone calculation of all channels within one sampling period has been completed is changed from "0" to "1".
The operation control unit 21 stops the operation clock signal. When the operation clock signal stops, the pitch operation unit 22, the address operation unit 23, the address latch 24, the waveform memory 25, the envelope operation unit 26, and the multiplication unit 27 stop the operation. This state is called “WAIT state”, and the period of the WAIT state is called “WAIT time”. The WAIT state continues until the next synchronization signal is generated (in this case, a change from “0” to “1”).
同期信号が「0」から「1」に変わると、演算制御部
21において、演算クロック信号が再び発生し、また音程
演算開始信号が「1」となり、楽音発生のための演算が
再開される。アドレス演算部23,アドレスラッチ24,波形
メモリ25,エンベロープ演算部26、および乗算部27は、
次の第0チャンネルの演算のためのデータが入力される
までNOP状態を続け、データが入力されしだい第0,第1,
第2,第3チャンネルの順に演算動作を行う。When the synchronization signal changes from “0” to “1”, the arithmetic control unit
At 21, an operation clock signal is generated again, and a pitch operation start signal becomes "1", and the operation for generating a musical tone is restarted. The address operation unit 23, the address latch 24, the waveform memory 25, the envelope operation unit 26, and the multiplication unit 27
The NOP state is maintained until data for the calculation of the next channel 0 is input.
The arithmetic operation is performed in the order of the second and third channels.
このようにして、外部からの同期信号に同期して計4
チャンネル分の楽音データが算出される。この場合、演
算の周期つまりサンプリング周期は(サンプリング周
期)=(演算クロック信号周期)*7+(WAIT時間)と
なる。In this way, a total of 4
Music data for the channels is calculated. In this case, the calculation cycle, that is, the sampling cycle is (sampling cycle) = (calculation clock signal cycle) * 7 + (WAIT time).
発明が解決しようとする課題 しかしながら、上記の従来の構成では、全チャンネル
の楽音データの演算の終了後に演算クロック信号を停止
させて、次に外部からの同期信号が発生するまで待つた
めに、NOP状態という無駄な状態が発生し、楽音データ
の演算に要する時間が、外部からの同期信号に同期させ
ない場合に比べて増加するという問題があった。外部か
らの同期信号に同期させない場合、動作タイミング図は
第3図のようになり、サンプリング周期は(サンプリン
グ周期)=(演算クロック信号周期)*4である。外部
からの同期信号に同期させる場合のサンプリング周期
は、上記のように、(演算クロック信号周期)*7+
(WAIT時間)であるので、同期させない場合に比べて約
2倍になっている。この結果、同期させる場合は同期さ
せない場合に比べてサンプリング周波数が約半分にな
り、高い周波数成分をもつ楽音を発生することができな
いという問題を生じていた。However, in the above-described conventional configuration, the operation clock signal is stopped after the completion of the operation of the musical tone data of all the channels, and the next operation is performed until the next synchronization signal is generated. There is a problem that a wasteful state occurs, and the time required for calculating the tone data increases as compared with a case where the sound data is not synchronized with an external synchronization signal. When not synchronizing with an external synchronization signal, the operation timing chart is as shown in FIG. 3, and the sampling period is (sampling period) = (operation clock signal period) * 4. The sampling cycle when synchronizing with an external synchronization signal is (calculation clock signal cycle) * 7 +
(WAIT time), which is about twice as long as the case without synchronization. As a result, when synchronized, the sampling frequency is reduced to about half compared with the case where synchronization is not performed, and there is a problem that a musical tone having a high frequency component cannot be generated.
本発明は、上記従来の問題点を解決するもので、外部
からの同期信号に同期しない場合とほぼ同じサンプリン
グ周期で動作し、かつ外部からの同期信号に同期可能な
楽音発生装置を提供することを目的とする。SUMMARY OF THE INVENTION The present invention is to solve the above-mentioned conventional problems, and to provide a tone generator which operates at substantially the same sampling cycle as when not synchronized with an external synchronization signal and which can be synchronized with an external synchronization signal. With the goal.
課題を解決するための手段 この目的を達成するために本発明の電子楽器の楽音発
生装置は、本願請求項1記載の発明においては、楽音デ
ータを順送りに演算処理する複数の演算部の動作を制御
する演算制御部が該複数の演算部のうち楽音データを最
後に演算処理する演算部が1サンプリング周期分の楽音
データに対する演算部を終える前に複数の演算部の演算
処理を停止させ、同期信号に同期して複数の演算部に演
算処理を再開させることを特徴としている。Means for Solving the Problems In order to achieve this object, a musical sound generating apparatus for an electronic musical instrument according to the present invention, according to the first aspect of the present invention, controls the operation of a plurality of arithmetic units for performing arithmetic processing of musical sound data in order. An arithmetic control unit that controls the arithmetic unit stops arithmetic operations of the plurality of arithmetic units before finishing the arithmetic unit for the musical sound data for one sampling period before the arithmetic unit that performs arithmetic operation on the musical tone data last among the plurality of arithmetic units is synchronized. It is characterized in that a plurality of arithmetic units restart arithmetic processing in synchronization with a signal.
作用 このように、複数の演算部のうち楽音データを最後に
演算処理する演算部が1サンプリング周期分の楽音デー
タに対する演算を終える前に複数の演算部の演算処理を
停止させ、同期信号に同期して複数の演算部に演算処理
を再開させることとしているので、従来の技術で説明し
たNOP状態という無駄な状態の発生期間を減少させるこ
とができる。In this way, the arithmetic unit that performs the arithmetic operation on the musical tone data last among the arithmetic units stops the arithmetic operations of the multiple arithmetic units before completing the arithmetic operation on the musical sound data for one sampling period, and synchronizes with the synchronization signal. Since the arithmetic processing is restarted by the plurality of arithmetic units, the occurrence period of the wasteful state such as the NOP state described in the related art can be reduced.
実施例 以下本発明の一実施例について、図面を参照しながら
説明する。An embodiment of the present invention will be described below with reference to the drawings.
第1図は、本発明の一実施例における楽音発生装置の
ブロック図である。第1図において、2は発音すべき楽
音の音程に基づいてアドレス変化幅ΔADを算出する音程
演算部、3は前記アドレス変化幅ΔADを各チャンネル別
に累算してアドレスADを算出するアドレス演算部、4は
前記アドレスADをラッチして波形メモリに供給するアド
レスラッチ、5は波形メモリ、6はエンベロープデータ
ENVを算出するエンベロープ演算部、7は波形メモリ5
から読み出された波形データWDと、エンベロープデータ
ENVを乗算し楽音データWとして出力する乗算部、8,9,1
0,11はそれぞれ第0,第1,第2,第3チャンネルの楽音デー
タWをラッチする楽音データラッチ、1は音程演算終了
信号に基づいて演算の一時停止を、同期信号に基づいて
演算の再開を、上記各演算部に対して指示する演算制御
部である。FIG. 1 is a block diagram of a tone generator according to an embodiment of the present invention. In FIG. 1, reference numeral 2 denotes a pitch calculator for calculating an address change width ΔAD based on a pitch of a musical tone to be generated, and 3 denotes an address calculator for calculating the address AD by accumulating the address change width ΔAD for each channel. 4 is an address latch for latching the address AD and supplying it to the waveform memory, 5 is a waveform memory, 6 is envelope data
Envelope calculator for calculating ENV, 7 is waveform memory 5
Waveform data WD and envelope data
Multiplying unit for multiplying ENV and outputting it as musical sound data W, 8, 9, 1
Reference numerals 0 and 11 denote musical tone data latches for latching the musical tone data W of the 0th, first, second and third channels, respectively, and 1 a temporary stop of the arithmetic operation based on a pitch operation end signal and a temporary stop of the arithmetic operation based on a synchronization signal. The operation control unit instructs each operation unit to restart.
以上のように構成された楽音発生装置について、第2
図の動作タイミング図にしたがって以下その動作を説明
する。Regarding the musical tone generator configured as described above,
The operation will be described below with reference to the operation timing chart of FIG.
まず、外部からの同期信号(第2図(a))が「0」
から「1」になると、演算制御部1において、各演算部
が動作するための演算クロック信号((b))が発生
し、また音程演算開始信号((h))が演算クロック信
号1クロック分の期間だけ「1」になる。音程演算開始
信号が「1」になると、音程演算部2は第0チャンネル
から、第1,第2,第3チャンネルの順に、あらかじめ設定
された各チャンネルの音程に基づいて、波形メモリ5か
ら波形データWDを読み出すアドレスADをサンプリング周
期毎に更新するためのアドレス変化幅ΔADを算出する
((c))。First, an external synchronization signal (FIG. 2 (a)) is "0".
From “1” to “1”, the arithmetic control unit 1 generates an arithmetic clock signal ((b)) for operating each arithmetic unit, and generates a pitch arithmetic start signal ((h)) for one arithmetic clock signal. It becomes "1" only during the period. When the pitch calculation start signal becomes “1”, the pitch calculation unit 2 reads the waveform from the waveform memory 5 based on the preset pitch of each channel in the order of channel 0, first, second, and third. An address change width ΔAD for updating the address AD for reading the data WD for each sampling cycle is calculated ((c)).
つぎに、音程演算部2から出力されたアドレス変化幅
ΔADは、アドレス演算部3において、各チャンネル別に
累算され、アドレスADとして出力される((d))。ア
ドレス演算部3においても、演算クロック信号の周期毎
に、第0チャンネルから第1,第2,第3チャンネルと順に
演算が行われる。音程演算部2が第1チャンネルの演算
を行なっているとき、アドレス演算部3は第0チャンネ
ルの演算を行なっているというように、アドレス演算は
音程演算に対して1チャンネル分だけ遅れて行なわれ
る。Next, the address change width ΔAD output from the pitch calculator 2 is accumulated for each channel in the address calculator 3 and output as an address AD ((d)). Also in the address calculation unit 3, the calculation is performed in order from the 0th channel to the first, second, and third channels for each cycle of the calculation clock signal. When the pitch calculator 2 is performing the calculation of the first channel, the address calculator 3 is performing the calculation of the 0th channel, so that the address calculation is performed one channel later than the pitch calculation. .
つぎに、アドレスラッチ4はアドレスADをラッチし
て、波形メモリ5に対して出力する。波形メモリ5は、
ラッチされたアドレスADに対応した波形データWDを出力
する。この波形メモリの読み出しと同時に、エンベロー
プ演算部6においてエンベロープデータENVが算出され
る((e))。波形メモリ読み出しとエンベロープ演算
は、アドレス演算に対して1チャンネル分、音程演算に
対して2チャンネル分だけ遅れて行なわれる。Next, the address latch 4 latches the address AD and outputs it to the waveform memory 5. The waveform memory 5
The waveform data WD corresponding to the latched address AD is output. At the same time as reading the waveform memory, the envelope calculation section 6 calculates the envelope data ENV ((e)). The reading of the waveform memory and the envelope calculation are performed one channel after the address calculation and two channels after the pitch calculation.
つぎに、乗算部7において、波形データWDとエンベロ
ープデータENVが乗算され、楽音データWとして出力さ
れる((f))。乗算は、波形メモリ読み出しおよびエ
ンベロープ演算に対して1チャンネル分、音程演算に対
して3チャンネル分だけ遅れて行なわれる。楽音データ
Wは、第0,第1,第2,第3チャンネル別にそれぞれ楽音デ
ータラッチ8,9,10,11にラッチされる((i))。Next, in the multiplication unit 7, the waveform data WD and the envelope data ENV are multiplied and output as musical sound data W ((f)). The multiplication is performed with a delay of one channel for reading the waveform memory and for the envelope calculation and three channels for the pitch calculation. The tone data W is latched by tone data latches 8, 9, 10, and 11 for the 0th, 1st, 2nd, and 3rd channels, respectively ((i)).
音程演算部2において、第3チャンネルの演算が終了
すると、全チャンネルの音程演算が終了したことを示す
音程演算終了信号((g))が「0」から「1」に変わ
り、演算制御部1は演算クロック信号を停止させる。演
算クロック信号が停止したことにより、音程演算部2は
第3チャンネル、アドレス演算部3は第2チャンネル、
アドレスラッチ4と波形メモリ5とエンベロープ演算部
6は第1チャンネル、そして乗算部7は第0チャンネル
の演算動作終了時点で、それぞれの演算動作を一時停止
する。つまり、前述したNOP状態という無駄な状態を介
することなく前述したWAIT状態となる。When the calculation of the third channel is completed in the pitch calculation section 2, the pitch calculation end signal ((g)) indicating that the pitch calculation of all channels has been completed changes from “0” to “1”, and the calculation control section 1 Stops the operation clock signal. Since the calculation clock signal is stopped, the pitch calculation unit 2 is on the third channel, the address calculation unit 3 is on the second channel,
The address latch 4, the waveform memory 5, and the envelope operation unit 6 suspend the respective operation at the time of completion of the operation of the first channel and the multiplier 7 at the end of the operation of the 0th channel. That is, the above-mentioned WAIT state is established without going through the wasteful state of the above-mentioned NOP state.
つぎに、同期信号が「0」から「1」に変わると、演
算制御部1は演算クロック信号を再び動作させ、また音
程演算開始信号を演算クロック信号1クロック分の期間
だけ「1」にする。これによって、音程演算部2は第0
チャンネルの演算を開始し、アドレス演算部3は第3チ
ャンネル、アドレスラッチ4と波形メモリ5およびエン
ベロープ演算部6は第2チャンネル、乗算部7は第1チ
ャンネルから、それぞれ演算動作を再開する。また、音
程演算部2において、音程演算終了信号は「0」にな
る。第0チャンネル以外のチャンネルの演算から再開し
た演算部においては、第3チャンネルの演算のあとは第
0チャンネルの演算を行なう。Next, when the synchronization signal changes from "0" to "1", the arithmetic control unit 1 operates the arithmetic clock signal again, and sets the pitch arithmetic start signal to "1" for a period of one arithmetic clock signal. . As a result, the pitch calculator 2 calculates the 0th
The arithmetic operation of the channel is started, the address arithmetic unit 3 restarts the arithmetic operation from the third channel, the address latch 4, the waveform memory 5, and the envelope arithmetic unit 6 restart the arithmetic operation from the second channel, and the multiplier 7 restarts the arithmetic operation from the first channel. Further, in the interval calculation section 2, the interval calculation end signal becomes “0”. In the operation section restarted from the operation of the channels other than the 0th channel, the operation of the 0th channel is performed after the operation of the 3rd channel.
このようにして、外部からの同期信号に同期して計4
チャンネルの楽音データが算出される。本実施例の演算
の周期、つまりサンプリング周期は、(サンプリング周
期)=(演算クロック信号周期)*4+(WAIT時間)と
なり、同期信号に同期させない場合に比べて、WAIT時間
つまり同期信号を持っている時間だけのみ、サンプリン
グ周期が増加するだけであり、従来例に比べて(演算ク
ロック)*3の時間だけ短くなっている。In this way, a total of 4
The tone data of the channel is calculated. The calculation cycle of the present embodiment, that is, the sampling cycle is (sampling cycle) = (calculation clock signal cycle) * 4 + (WAIT time), and has a WAIT time, that is, a synchronization signal, as compared with the case where the synchronization signal is not synchronized. Only during this period, the sampling period is increased, and the time is (operation clock) * 3 shorter than in the conventional example.
なお、演算動作を一時停止するということは停止した
状態をそのまま保持することであるので、演算動作の再
開がその停止した状態からされることにより結果として
演算動作停止による楽音発生上の不都合はない。It is to be noted that temporarily stopping the arithmetic operation means maintaining the stopped state as it is, so that the arithmetic operation is resumed from the stopped state, and as a result, there is no inconvenience in generating a musical tone due to the stop of the arithmetic operation. .
以上のように本実施例によれば、全チャンネルの楽音
データの演算が終了しなくても、演算を一時停止し、外
部からの同期信号に同期して演算を再開することによ
り、サンプリング周期をほとんど増加させることなく、
外部からの同期信号に同期した楽音データの演算が可能
になる。As described above, according to the present embodiment, even if the calculation of the tone data of all channels is not completed, the calculation is temporarily stopped, and the calculation is resumed in synchronization with an external synchronization signal, so that the sampling period can be reduced. With little increase
Calculation of musical sound data synchronized with an external synchronization signal becomes possible.
なお、本実施例では、第3チャンネルの音程演算の終
了時点でWAIT状態になり同期信号により演算を再開した
が、これを任意のある一定の時点でWAIT状態になり同期
信号により演算を再開するようにしても同じ効果が得ら
れる。In the present embodiment, the WAIT state is set at the end of the pitch calculation of the third channel, and the calculation is restarted by the synchronization signal. However, the state is changed to the WAIT state at an arbitrary fixed point, and the calculation is restarted by the synchronization signal. The same effect can be obtained by doing so.
発明の効果 以上のように本発明においては、従来の技術で説明し
たNOP状態という無駄な状態の発生を抑制できるので、
サンプリング周期をほとんど増加させることなく、外部
からの同期信号に同期して楽音データを算出し、楽音デ
ータをディジタル信号のまま同期信号を供給する外部の
装置に送ることができる。Effect of the Invention As described above, in the present invention, since the occurrence of a wasteful state such as the NOP state described in the related art can be suppressed,
It is possible to calculate tone data in synchronization with an external synchronizing signal without substantially increasing the sampling period, and to send the tone data as an digital signal to an external device that supplies the synchronizing signal.
第1図は本発明の一実施例における楽音発生装置のブロ
ック図、第2図は第1図の楽音発生装置の動作タイミン
グ図、第3図は外部からの同期信号に同期する従来の楽
音発生装置のブロック図、第4図は第3図の従来の楽音
発生装置の動作タイミング図、第5図は外部からの同期
信号に同期しない従来の楽音発生装置の動作タイミング
図である。 1……演算制御部、2……音程演算部、3……アドレス
演算部、4……アドレスラッチ、5……波形メモリ、6
……エンベロープ演算部、7……乗算部、8,9,10,11…
…楽音データラッチ。FIG. 1 is a block diagram of a tone generator according to an embodiment of the present invention, FIG. 2 is an operation timing chart of the tone generator of FIG. 1, and FIG. 3 is a conventional tone generator synchronized with an external synchronization signal. FIG. 4 is a block diagram of the device, FIG. 4 is an operation timing diagram of the conventional tone generator of FIG. 3, and FIG. 5 is an operation timing diagram of the conventional tone generator not synchronized with an external synchronization signal. 1 arithmetic control unit, 2 pitch arithmetic unit, 3 address arithmetic unit, 4 address latch, 5 waveform memory, 6
... Envelope calculation unit, 7 Multiplication unit, 8, 9, 10, 11 ...
… Tone data latch.
Claims (2)
期して楽音データを演算した後出力し、楽音を発生する
電子楽器の楽音発生装置であって、 前記楽音データを順送りに演算処理する複数の演算部
と、 前記複数の演算処理部の動作を制御する演算制御部とを
備え、 前記演算制御部は前記複数の演算部のうち前記楽音デー
タを最後に演算処理する演算部が1サンプリング周期分
の楽音データに対する演算を終える前に前記複数の演算
部の演算処理を停止させ、前記同期信号に同期して前記
複数の演算部に演算処理を再開させることを特徴とする
電子楽器の楽音発生装置。1. A musical tone generator for an electronic musical instrument for generating musical tones after calculating and outputting musical tone data in synchronization with a synchronization signal periodically inputted from the outside, wherein said musical tone data is sequentially processed. A plurality of calculation units, and a calculation control unit that controls operations of the plurality of calculation processing units, wherein the calculation control unit is one of the plurality of calculation units that performs last calculation processing on the musical tone data. The electronic musical instrument according to claim 1, wherein the arithmetic processing of the plurality of arithmetic units is stopped before the arithmetic operation on the musical sound data for the sampling period is completed, and the arithmetic processing is restarted by the plurality of arithmetic units in synchronization with the synchronization signal. Musical sound generator.
あって、 前記複数の演算部のうち前記楽音データを最初に演算処
理する演算部は1サンプリング周期分の楽音データに対
する演算を終えた時点で演算処理の終了を知らせる演算
終了信号を前記演算制御部に対して出力することを特徴
とする電子楽器の楽音発生装置。2. The musical tone generating apparatus for an electronic musical instrument according to claim 1, wherein the arithmetic unit that first processes the musical tone data among the plurality of arithmetic units finishes the arithmetic operation on the musical tone data for one sampling period. A musical tone generation device for an electronic musical instrument, which outputs an arithmetic end signal notifying the end of the arithmetic processing to the arithmetic control unit at a point in time.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008699A JP2900463B2 (en) | 1990-01-18 | 1990-01-18 | Musical instrument for electronic musical instruments |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008699A JP2900463B2 (en) | 1990-01-18 | 1990-01-18 | Musical instrument for electronic musical instruments |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH03212694A JPH03212694A (en) | 1991-09-18 |
| JP2900463B2 true JP2900463B2 (en) | 1999-06-02 |
Family
ID=11700180
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008699A Expired - Fee Related JP2900463B2 (en) | 1990-01-18 | 1990-01-18 | Musical instrument for electronic musical instruments |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2900463B2 (en) |
-
1990
- 1990-01-18 JP JP2008699A patent/JP2900463B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH03212694A (en) | 1991-09-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7612281B2 (en) | Reverberation effect adding device | |
| US4256004A (en) | Electronic musical instrument of the harmonic synthesis type | |
| JP2576647B2 (en) | Waveform generator | |
| US4680479A (en) | Method of and apparatus for providing pulse trains whose frequency is variable in small increments and whose period, at each frequency, is substantially constant from pulse to pulse | |
| EP3800630B1 (en) | Electronic musical instrument, method of generating musical sound, and storage medium | |
| JPS6233599B2 (en) | ||
| JP2900463B2 (en) | Musical instrument for electronic musical instruments | |
| KR0142008B1 (en) | Sound synthesis system having pitch adjusting function by correcting loop delay | |
| KR100236686B1 (en) | Data sample string access device | |
| JP3658826B2 (en) | Music generation method | |
| JPH07306681A (en) | Musical sound producing device | |
| JPH05273981A (en) | Electronic musical instrument | |
| JP3693045B2 (en) | Music generator | |
| JP3693046B2 (en) | Music generator | |
| JP3789358B2 (en) | Electronic sound generation method and apparatus, and portable device using the same | |
| JP2905904B2 (en) | Electronic musical instrument signal processor | |
| JPH02179695A (en) | processing equipment | |
| JP2003280650A (en) | Modulated waveform generator | |
| JP2940384B2 (en) | Electronic musical instrument | |
| CN1741125B (en) | Musical event duration time compensating apparatus | |
| JP3331656B2 (en) | Sound equipment | |
| JPH0789280B2 (en) | Music synthesizer | |
| JPH04136994A (en) | Musical sound waveform generator | |
| RU1774373C (en) | Tone generator | |
| JP5184228B2 (en) | Phase synchronizer for electronic musical sound generator |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |