JP2958778B2 - Tone generator - Google Patents
Tone generatorInfo
- Publication number
- JP2958778B2 JP2958778B2 JP1208643A JP20864389A JP2958778B2 JP 2958778 B2 JP2958778 B2 JP 2958778B2 JP 1208643 A JP1208643 A JP 1208643A JP 20864389 A JP20864389 A JP 20864389A JP 2958778 B2 JP2958778 B2 JP 2958778B2
- Authority
- JP
- Japan
- Prior art keywords
- envelope
- tone
- peak value
- value
- signal
- 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
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、電子ギター等の電子弦楽器をはじめとする
シンセサイザータイプの電子楽器等に適用した楽音発生
装置に係り、特に発音される楽音のエンベロープ制御技
術に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a musical sound generator applied to a synthesizer type electronic musical instrument such as an electronic stringed musical instrument such as an electronic guitar, and more particularly to an envelope of a musical sound to be produced. Related to control technology.
ギター等を演奏操作することにより弦の振動等を電気
信号として検出し、その入力波形信号に従ってデジタル
回路等で構成された楽音発生回路を制御して、楽音を合
成し放音させるようにした電子楽器が開発されている。An electronic device that detects string vibrations and the like as electric signals by playing a guitar or the like and controls a tone generation circuit composed of a digital circuit or the like in accordance with the input waveform signal to synthesize and emit a tone. Musical instruments are being developed.
上記のような電子楽器においては、入力波形信号から
例えばピッチ周期を抽出し、楽音発生回路がそのピッチ
周期に対応した音高の楽音を発生すさせている。In such an electronic musical instrument, for example, a pitch cycle is extracted from an input waveform signal, and a tone generation circuit generates a tone having a pitch corresponding to the pitch cycle.
一方、楽音に付加する音量等のエンベロープ制御につ
いては、第1の従来例として、入力波形信号の立ち上が
り時、すなわち、例えばギターにおいては弦をピッキン
グした時点における信号強度を検出し、楽音発生回路が
その信号強度に対応して音量及び音色等を変化させた楽
音を発生するものがある。すなわち、発音される楽音の
例えば音量エンベロープは楽音発生回路において楽音の
種類(音色)毎に予め設定されており、入力波形信号の
立ち上がり時の振幅の大小によりエンベロープ全体のレ
ベルが変化する以外は、入力波形信号のエンベロープと
は無関係である。On the other hand, with regard to envelope control such as volume added to a musical tone, as a first conventional example, at the time of rising of an input waveform signal, that is, for example, in a guitar, a signal intensity at the time of picking a string is detected, and a musical tone generating circuit is used. There are some which generate musical tones whose volume, timbre, etc. are changed according to the signal strength. That is, for example, the volume envelope of the tones to be generated is preset for each type of tone (tone color) in the tone generation circuit, and the level of the entire envelope changes depending on the amplitude of the rising edge of the input waveform signal. It is independent of the envelope of the input waveform signal.
エンベロープ制御の第2の従来例として、エンベロー
プ抽出手段によって抽出される入力波形信号のエンベロ
ープに基づいて、楽音発生手段から出力される楽音のエ
ンベロープを制御することにより、予め定まっている楽
音独自のエンベロープの効果に、入力波形信号のエンベ
ロープの効果を付加するものがある。As a second conventional example of the envelope control, the envelope of the tone output from the tone generator is controlled on the basis of the envelope of the input waveform signal extracted by the envelope extractor, so that the envelope of the tone unique to the predetermined tone is determined. The effect of (1) adds an effect of an envelope of an input waveform signal.
この従来例では、例えば電子ギターにおいて、演奏者
が弦のピッキング操作をした後に弦振動を強制的に停止
させるミュート奏法を行って、入力波形信号の全体的な
エンベロープの変化が第21図のEに示すような減衰の速
い特性になる。そして、楽音発生回路から出力される楽
音のエンベロープの変化は第21図のFに示す特性であっ
たとしても、この特性に同図Eの特性が乗算されるた
め、楽音発生回路から発音される楽音のエンベロープの
変化を第21図のGに示すように急激に減衰する特性にす
ることができる。従って、ミュート奏法等による演奏効
果を容易に付加することができ、演奏者は楽音のエンベ
ロープを奏法に応じて期待した通りに変化させることが
可能となる。In this conventional example, for example, in an electronic guitar, a mute playing method of forcibly stopping a string vibration after a player performs a picking operation of a string is performed, and a change in an entire envelope of an input waveform signal is indicated by E in FIG. As shown in FIG. Even if the envelope of the musical tone output from the musical tone generating circuit has the characteristic shown in F of FIG. 21, this characteristic is multiplied by the characteristic of FIG. A change in the envelope of the musical tone can be made to have a characteristic of rapidly attenuating as shown in G of FIG. Therefore, it is possible to easily add a playing effect by a mute playing technique or the like, and the player can change the envelope of the musical tone as expected according to the playing style.
しかし、第1の従来例の場合、例えば電子ギター等に
おいて弦振動のエンベロープの急激な変化を伴うような
ギター奏法を行っても、それとは無関係に楽音発生回路
において楽音のエンベロープが定まってしまうため、演
奏者の期待した演奏効果が得られないだけではなく、非
常に耳障りに聞こえる場合が生ずるという問題点を有し
ている。However, in the case of the first conventional example, even if a guitar playing method involving an abrupt change in the envelope of the string vibration is performed on an electronic guitar or the like, the musical tone envelope is determined independently of the musical tone generation circuit. In addition, not only the performance effect expected by the player is not obtained, but also the sound may be very unpleasant.
例えば、演奏者が通常に弦をピッキングした状態で、
弦振動のエンベロープは例えば第20図(a)のAに示す
ような特性を有し、一方、発音される楽音のエンベロー
プは同図(a)のBに示すような特性を有するとする。
なお、図中の記号ONは、同図Aの弦振動のレベルが所定
値以上になることにより楽音の発音が開始されるタイミ
ングを示し、同じく記号OFFは、同図Aの弦振動のレベ
ルが所定値以下になることにより発音の終了指示がなさ
れるタイミングを示す。すなわち、発音される楽音のエ
ンベロープはOFFタイミングの後は徐々に減衰する。こ
のような場合に、演奏者が弦をピッキングした後、弦振
動が充分に減衰しきらないうちに弦を手のひら等で抑
え、弦振動を強制的に停止させるミュート奏法を行う
と、弦振動のエンベロープは同図(b)のCに示すよう
に、強いアタックの直後に急激に減衰する特性となる。
この一方、発音される楽音のエンベロープは同図(b)
のDに示すように、OFFタイミングの後も減衰音が大き
な音量で長く残り、聴感上も音のはぎれが悪く、ミュー
ト奏法特有のニュアンスが失われてしまうという問題点
を有している。For example, with the player picking strings normally,
It is assumed that the envelope of the string vibration has, for example, the characteristic shown in A of FIG. 20 (a), while the envelope of the musical tone to be produced has the characteristic shown in B of FIG. 20 (a).
The symbol ON in the figure indicates the timing at which the tone generation starts when the string vibration level in FIG. A becomes equal to or higher than a predetermined value. Similarly, the symbol OFF indicates that the string vibration level in FIG. The timing at which the end of sound generation is instructed when the value becomes equal to or less than the predetermined value is shown. That is, the envelope of the musical tone to be produced gradually decreases after the OFF timing. In such a case, if the player picks a string and then performs a mute playing method in which the string is suppressed with a palm or the like before the string vibration is not sufficiently attenuated and the string vibration is forcibly stopped, the string vibration is reduced. The envelope has a characteristic of rapidly attenuating immediately after a strong attack as shown by C in FIG.
On the other hand, the envelope of the musical tone to be pronounced is shown in FIG.
As shown in D, there is a problem that the decay sound remains at a large volume for a long time even after the OFF timing, the sound is hardly separated from the audibility, and the nuance peculiar to the mute playing method is lost.
これに対して、第2の従来例の場合、第21図のG等と
して示したように、入力波形信号のエンベロープを楽音
のエンベロープに反映させることができる。しかし、第
21図Fのアタック部分にも同図Eの入力波形信号のエン
ベロープが乗算されてしまう。一般に、楽音のアタック
部分の特性はその楽音の音色等の重要な要素を含んでい
るため、上記乗算の結果得られる同図Gのエンベロープ
特性においてはアタック部分の特性も変化してしまって
おり、これにより楽音発生回路から元々得られる電子楽
器特有の楽音の音質自体が変化してしまうという問題点
を有している。On the other hand, in the case of the second conventional example, the envelope of the input waveform signal can be reflected on the envelope of the musical tone, as shown as G in FIG. But the second
21 The attack portion in FIG. F is also multiplied by the envelope of the input waveform signal in FIG. In general, since the characteristics of the attack portion of a musical tone include important factors such as the tone color of the musical tone, the characteristics of the attack portion also change in the envelope characteristics of FIG. As a result, there is a problem in that the tone quality itself of the tone unique to the electronic musical instrument originally obtained from the tone generator is changed.
本発明の課題は、電子楽器特有の音の特性はあまり壊
さずに、発音される楽音のエンベロープを入力波形のエ
ンベロープに応じて制御可能とすることにより、演奏者
が期待した通りの演奏効果を得られるようにすることに
ある。An object of the present invention is to make it possible to control the envelope of a musical tone to be produced in accordance with the envelope of an input waveform without significantly deteriorating the sound characteristics peculiar to an electronic musical instrument, thereby achieving a performance effect expected by a player. To get it.
本発明は、例えば弦振動をピックアップによって入力
波形信号として検出し、これにより楽音を制御するタイ
プの電子ギター等として実現される楽音発生装置であ
る。The present invention is a musical sound generating device that is realized as an electronic guitar or the like of a type in which, for example, a string vibration is detected as an input waveform signal by a pickup and thereby the musical sound is controlled.
そして、まず、入力波形信号のエンベロープ信号を抽
出するエンベロープ抽出手段を有する。同手段は例え
ば、入力波形信号をデジタル化することにより得られる
デジタル波形信号の立ち上がり後の有効なピーク値を順
次検出する有効ピーク値検出手段と、該手段から順次検
出される有効なピーク値と前回の有効なピーク値との平
均値を順次演算しエンベロープ信号として順次出力する
エンベロープ信号演算手段とによって実現される。Then, first, there is an envelope extracting means for extracting an envelope signal of the input waveform signal. The means includes, for example, an effective peak value detecting means for sequentially detecting an effective peak value after a rise of a digital waveform signal obtained by digitizing an input waveform signal, and an effective peak value sequentially detected from the means. And an envelope signal calculating means for sequentially calculating an average value with a previous effective peak value and sequentially outputting the average value as an envelope signal.
次に、楽音は楽音発生手段から発音される。同手段は
デジタル音源手段、アナログ音源手段等各種方式のもの
が採用できる。例えば、デジタル回路による場合、デジ
タル楽音波形を記憶するメモリと、特には図示しない制
御手段からの発音開始の指示及び音高制御に基づいて、
該音高に対応するアドレス間隔で前記メモリからデジタ
ル楽音波形を読み出す波形読み出し手段と、読み出され
たデジタル楽音波形をアナログ波形に変換し増幅した後
放音する手段等によって実現される。このほか、各種演
算により、例えば正弦波合成、周波数変調、位相変調な
どによって波形生成を行ってもよい。Next, the musical sound is generated by the musical sound generating means. As the means, various types such as digital sound source means and analog sound source means can be adopted. For example, in the case of a digital circuit, based on a memory for storing a digital musical tone waveform, and in particular, a sound generation start instruction and a pitch control from control means (not shown),
This is realized by waveform reading means for reading a digital tone waveform from the memory at an address interval corresponding to the pitch, means for converting the read digital tone waveform into an analog waveform, amplifying the waveform, and then emitting sound. In addition, a waveform may be generated by various operations, for example, by sine wave synthesis, frequency modulation, phase modulation, or the like.
そして、楽音信号の発音開始後、所定タイミングを経
過した以後に、エンベロープ抽出手段により抽出された
エンベロープ信号に対応するように楽音発生手段から発
生される楽音信号のエンベロープを制御するエンベロー
プ抽出手段を有する。And, after a predetermined timing has elapsed after the start of tone generation of the musical tone signal, there is provided an envelope extracting means for controlling the envelope of the musical tone signal generated from the musical tone generating means so as to correspond to the envelope signal extracted by the envelope extracting means. .
同手段は、例えば前記所定タイミング経過時にエンベ
ロープ抽出手段により抽出されたエンベロープ信号の値
を基準エンベロープ値として、それ以後に順次抽出され
たエンベロープ信号の値と、前記基準エンベロープ値と
の比を、前記楽音信号に乗算する乗算手段によって実現
される。この場合、所定タイミングを経過するまでは、
上記乗算手段では例えば値1.0が乗算され、楽音信号は
変更を受けない。The means, for example, the value of the envelope signal extracted by the envelope extraction means at the elapse of the predetermined timing as the reference envelope value, and thereafter, the ratio of the value of the envelope signal sequentially extracted and the reference envelope value, This is realized by multiplication means for multiplying the tone signal. In this case, until the predetermined timing elapses,
In the multiplication means, for example, the value 1.0 is multiplied, and the tone signal is not changed.
上記構成において、楽音発生手段に、該手段から発生
される楽音信号に、アタック、サスティーン、ディケ
イ、リリース等のエンベロープ特性を付加するエンベロ
ープ発生手段を設け、前述の所定タイミングは、上記エ
ンベロープ発生手段で付加されるエンベロープ特性が、
サスティーン特性すなわち持続特性になるタイミングと
なるように設定することができる。In the above configuration, the musical sound generating means is provided with an envelope generating means for adding envelope characteristics such as attack, sustain, decay, and release to a musical sound signal generated from the musical sound signal. The envelope characteristic added by
The timing can be set so as to be the sustain characteristic, that is, the sustain characteristic.
本発明の作用は次の通りである。 The operation of the present invention is as follows.
楽音信号が楽音発生手段から発音開始されると、所定
タイミング(例えばサスティーンポイント)に達するま
でのアタック部分では、楽音発生回路から出力される楽
音がそのまま出力され、その楽音の音色等の特性が良く
保存された楽音が発音される。一般に楽音の発音開始部
分(アタック部分)の特性は、その楽音の音色等の重要
な要素を含んでいるため、その部分のみ楽音発生回路か
らの楽音信号をそのまま出力することにより、その特徴
を良く保存させることが可能となる。When a tone signal is started to be emitted from the tone generating means, in the attack portion until a predetermined timing (for example, a sustain point) is reached, the tone output from the tone generating circuit is output as it is, and the characteristics such as the tone color of the tone are changed. A well-preserved musical tone is pronounced. In general, the characteristics of the tone start portion (attack portion) of a musical tone include important elements such as the tone color of the musical tone. Therefore, by outputting the tone signal from the tone generating circuit as it is, only the portion of the characteristic is improved. It can be saved.
そして、上記所定タイミング以後は、エンベロープ制
御手段において、入力波形信号のエンベロープ信号に対
応するように楽音発生手段からの楽音信号のエンベロー
プが制御される。After the predetermined timing, the envelope of the tone signal from the tone generating means is controlled by the envelope control means so as to correspond to the envelope signal of the input waveform signal.
従って、例えば電子ギターにおいて、演奏者が弦のピ
ッキング操作をした後に弦振動を強制的に停止させるミ
ュート奏法を行うような場合にも、発音開始直後のアタ
ック部分では楽音発生手段からの楽音信号(シンセ音)
の音色が良く保存され、その後、ミュート奏法に基づい
て入力波形信号のエンベロープが急激に減衰するのに伴
って、所定タイミングの通過後、入力波形信号のエンベ
ロープ特性がエンベロープ制御手段において楽音信号に
良く反映され、ミュート奏法等による演奏効果が容易に
付加される。Therefore, for example, in an electronic guitar, even when the player performs a mute playing method for forcibly stopping the string vibration after performing the picking operation of the strings, the tone signal from the tone generating means (at the attack portion immediately after the start of sounding). Synth sound)
The tone of the input waveform signal is well preserved, and thereafter, the envelope characteristics of the input waveform signal are well reduced to the tone signal by the envelope control means after the passage of a predetermined timing, as the envelope of the input waveform signal is rapidly attenuated based on the mute playing technique. This is reflected, and a performance effect by a mute playing technique or the like is easily added.
以下、本発明の実施例につき詳細に説明を行う。な
お、以下の説明においては、記号{ }、( )、
《 》で囲まれ、アンダーラインを付した見出しの順
に、順次項目分けを行う。Hereinafter, embodiments of the present invention will be described in detail. In the following description, symbols {}, (),
Items are sequentially sorted in the order of the heading surrounded by << and underlined.
{本発明の実施例の構成} 本実施例は、ボディー上に6本の金属弦が張られ、該
金属弦の下部に設けられたフレット(指板)を指で押え
ながら、所望の弦をピッキングすることにより演奏を行
う電子ギターとして実現されている。なお、その外見は
省略する。<< Configuration of Embodiment of the Present Invention >> In this embodiment, six metal strings are stretched on a body, and a desired string is pressed while pressing a fret (fingerboard) provided below the metal string with a finger. It is realized as an electronic guitar that performs by picking. The appearance is omitted.
第1図は、本実施例の全体の構成図である。 FIG. 1 is an overall configuration diagram of the present embodiment.
まず、ピッチ抽出アナログ回路1は、特には図示しな
い前記6本の弦毎にそれぞれ設けられ、各弦の振動を電
気信号に変換するヘキサピックアップからの各出力を、
特には図示しないローパスフィルタに通して高調波成分
を除去することにより、6種類の各波形信号Wi(i=1
〜6)を得る。更に、各波形信号Wiの振幅の符号が正又
は負に変化する毎に、ハイレベル又はローレベルとなる
パルス状のゼロクロス信号Zi(i=1〜6)を発生す
る。そして、これら6種類の波形信号Wi及びゼロクロス
信号Ziを、各々特には図示しないA/D変換器等により、
時分割のシリアルゼロクロス信号ZCR及びデジタル出力
(時分割波形信号)D1に変換し、出力する。First, the pitch extraction analog circuit 1 is provided for each of the six strings (not shown), and outputs each output from a hexapickup for converting the vibration of each string into an electric signal.
In particular, by removing harmonic components through a low-pass filter (not shown), each of the six types of waveform signals Wi (i = 1
To 6). Further, each time the sign of the amplitude of each waveform signal Wi changes to positive or negative, a pulse-like zero-cross signal Zi (i = 1 to 6) which becomes high level or low level is generated. Then, these six types of waveform signals Wi and zero cross signals Zi are respectively converted by an A / D converter (not shown) and the like.
The signal is converted into a time-division serial zero-cross signal ZCR and a digital output (time-division waveform signal) D1 and output.
ピッチ抽出デジタル回路2は、第2図に示すようにピ
ーク検出回路201、時定数変換制御回路202、波高値取込
み回路203、ゼロクロス時刻取込回路204からなる。これ
ら第2図の各回路は、前記ピッチ抽出アナログ回路1
(第1図)からの、6弦分を時分割したシリアルゼロク
ロス信号ZCR及びデジタル出力D1に基づいて、6弦分を
時分割処理する。以下の説明では説明を容易にするため
1弦分の処理について説明し、シリアルゼロクロス信号
ZCR及びデジタル出力D1は1弦分の信号のイメージで説
明するが、特に言及しないときは6弦分について時分割
処理が行われているものとする。As shown in FIG. 2, the pitch extraction digital circuit 2 includes a peak detection circuit 201, a time constant conversion control circuit 202, a peak value capturing circuit 203, and a zero cross time capturing circuit 204. Each of the circuits shown in FIG.
Based on the serial zero cross signal ZCR obtained by time-dividing the six strings from FIG. 1 and the digital output D1, the six strings are time-divided. In the following description, processing for one string will be described for ease of description, and a serial zero-cross signal will be described.
The ZCR and the digital output D1 will be described using an image of a signal for one string. Unless otherwise specified, it is assumed that time division processing is performed for six strings.
第2図において、まず、ピーク検出回路201は、前記
シリアルゼロクロス信号ZCR及びデジタル出力D1に基づ
いて、デジタル出力D1の最大ピーク点及び最小ピーク点
を検出する。そのために、同回路201の内部に、特には
図示しないが、過去のピーク値の絶対値を減算し(減衰
させ)ながらホールドするピークホールド回路を有して
いる。そして、ピーク検出回路201は前回のピーク値検
出後、上記ピークホールド回路から出力されるピークホ
ールド信号をしきい値として、次のシリアルゼロクロス
信号ZCRが発生した後にデジタル出力D1の絶対値がこの
しきい値を越えた時点でピーク値のタイミングを検出す
る。なお、ピーク値のタイミング検出は、デジタル出力
D1が正符号の場合と負符号の場合の各々について行われ
る。そして、上記ピーク値の検出タイミングで、正符号
の場合は最大ピーク値検出信号MAX、負符号の場合は最
小ピーク値検出信号MINを出力する。なお、これらの各
信号も実際には当然6弦分の時分割信号である。In FIG. 2, first, a peak detection circuit 201 detects a maximum peak point and a minimum peak point of the digital output D1 based on the serial zero cross signal ZCR and the digital output D1. For this purpose, the circuit 201 includes a peak hold circuit (not shown) for holding while subtracting (attenuating) the absolute value of the past peak value, although not particularly shown. After detecting the previous peak value, the peak detection circuit 201 sets the absolute value of the digital output D1 after the next serial zero-cross signal ZCR is generated, using the peak hold signal output from the peak hold circuit as a threshold. When the threshold value is exceeded, the timing of the peak value is detected. The peak value timing is detected by digital output.
This is performed for each of the case where D1 is a positive sign and the case where D1 is a negative sign. Then, at the peak value detection timing, a maximum peak value detection signal MAX is output for a positive sign, and a minimum peak value detection signal MIN is output for a negative sign. Note that these signals are also, of course, actually time-division signals for six strings.
次に、時定数変換制御回路202は、上記ピーク検出回
路201内のピークホールド回路の減衰率を変更する回路
であり、ピーク検出回路201からの最大・最小ピーク値
検出信号MAX、MIN、及び第1図の中央制御装置(MCP、
以下同じ)3からの制御により動作する。これについて
は後述する。Next, the time constant conversion control circuit 202 is a circuit for changing the attenuation rate of the peak hold circuit in the peak detection circuit 201, and detects the maximum / minimum peak value detection signals MAX, MIN from the peak detection circuit 201, and the The central control unit (MCP,
The same applies to the following. This will be described later.
続いて、第2図における波高値取込回路203は、前記
ピーク抽出アナログ回路1より時分割的に送出されてく
るデジタル出力D1を、各弦毎の波高値にデマルチプレク
ス(分解)処理し、前記ピーク検出回路201からのピー
ク値検出信号MAX、MINに従って、ピーク値をホールドす
る。そして、MCP3(第1図)がアドレスデコーダ4(第
1図)を介してアクセスしてきた弦についての最大ピー
ク値、もしくは最小ピーク値をバスBUSを介してMCP3へ
順次出力する。また、この波高値取込回路203からは、
上記ピーク値の他、各弦毎の振動の瞬時値も出力可能に
なっている。Subsequently, the peak value capturing circuit 203 in FIG. 2 performs a demultiplexing (decomposition) process on the digital output D1 sent from the peak extraction analog circuit 1 in a time-sharing manner to a peak value for each string. The peak value is held in accordance with the peak value detection signals MAX and MIN from the peak detection circuit 201. Then, the MCP3 (FIG. 1) sequentially outputs the maximum peak value or the minimum peak value of the string accessed through the address decoder 4 (FIG. 1) to the MCP3 via the bus BUS. Also, from the peak value capturing circuit 203,
In addition to the peak value, an instantaneous value of vibration of each string can be output.
ゼロクロス時刻取込回路204は、前記ピッチ抽出アナ
ログ回路1(第1図)からのシリアルゼロクロス信号ZC
Rに従って、各弦共通のタイムベースカウンタ2041の出
力を、各弦のゼロクロス時点、厳密には、ピーク検出回
路201から出力される最大・最小ピーク値検出信号MAX、
MINで決定される最大ピーク点及び最小ピーク点の通過
タイミング直後のゼロクロス時点でラッチする。このラ
ッチ動作が行われると、ゼロクロス時刻取込回路204は
続いて、第1図のMCP3に割り込み信号INTを出力する。
これにより、MCP3からアドレスデコーダ4(第1図)を
介して出力される制御信号(後述する)に従って、ゼロ
クロスが発生した弦番号、ラッチした当該弦に対応する
ゼロクロス時刻及び正負情報(後述する)を、バスBUS
を介してMCP3へ順次出力する。The zero-cross time acquisition circuit 204 is provided with a serial zero-cross signal ZC from the pitch extraction analog circuit 1 (FIG. 1).
According to R, the output of the time base counter 2041 common to each string is converted to the zero crossing point of each string, more precisely, the maximum / minimum peak value detection signal MAX output from the peak detection circuit 201,
Latch is performed at the zero crossing point immediately after the passage timing of the maximum peak point and the minimum peak point determined by MIN. When this latch operation is performed, the zero-cross time acquisition circuit 204 subsequently outputs an interrupt signal INT to the MCP3 in FIG.
Thus, in accordance with a control signal (described later) output from the MCP 3 via the address decoder 4 (FIG. 1), the string number at which the zero-cross occurred, the zero-cross time corresponding to the latched string, and positive / negative information (described later) The bus BUS
Are sequentially output to MCP3 via.
また、第2図のタイミングジェネレータ205からは、
第1図及び第2図に示す各回路の処理動作のためのタイ
ミング信号が出力される。Also, from the timing generator 205 in FIG.
Timing signals for processing operations of the respective circuits shown in FIGS. 1 and 2 are output.
次に、第1図に戻って、MCP3は、メモリ例えばROM301
及びRAM302を有するとともに、タイマ303を有する。ROM
301は後述する各種楽音制御用のプログラムを記憶して
いる不揮発メモリであり、RAM302は該制御時の各種変数
・データ用のワーク領域として用いられる書き替え可能
なメモリである。また、タイマ303は、後述するノート
オフ(消音)処理のために用いられる。Next, returning to FIG. 1, the MCP 3 is
And a RAM 302, and a timer 303. ROM
Reference numeral 301 denotes a non-volatile memory that stores programs for controlling various musical sounds, which will be described later, and a RAM 302 is a rewritable memory used as a work area for various variables and data during the control. The timer 303 is used for a note-off (silence) process described later.
第1図のアドレスデコーダ4は、前述したゼロクロス
時刻取込回路204(第2図)からの割り込み信号INTの発
生の後、MCP3(第1図)から発生するアドレス読み出し
信号ARに従って、ゼロクロス時刻取込回路204に、弦番
号読込み信号▲▼、続いて、時刻読込み信号
▲▼(i=1〜6)を供給する。また、同
様に、波高値取込み回路203(第2図)に波形読込み信
号▲▼(j=1〜18)を出力する。これらの動
作の詳細については後述する。After the generation of the interrupt signal INT from the above-described zero-cross time acquisition circuit 204 (FIG. 2), the address decoder 4 shown in FIG. 1 acquires the zero-cross time according to the address read signal AR generated from the MCP3 (FIG. 1). The reading circuit 204 is supplied with a string number reading signal ▼ and a time reading signal ▼ (i = 1 to 6). Similarly, it outputs a waveform reading signal ▲ ▼ (j = 1 to 18) to the peak value capturing circuit 203 (FIG. 2). Details of these operations will be described later.
楽音発生回路5(#1〜#n)は、各入力側にインタ
ーフェース(Musical Instrument Digital Interface)
MIDIが設けられており、楽音制御情報伝送用の専用バス
MIDI−BUSを介してMCP3と接続され、各々1種類、全体
でn種類の楽音を同時に発音可能である。各回路の内部
には発音される楽音の音量又は音色エンベロープを制御
するエンベロープ発生回路ENVが設けられており、ここ
で発生されるエンベロープがサスティーンポイントを通
過すると、各ENVからMCP3に割り込み信号INT′が出力さ
れる。これについては後述する。The tone generator 5 (# 1 to #n) has an interface (Musical Instrument Digital Interface) on each input side.
MIDI is provided and a dedicated bus for transmitting sound control information
It is connected to MCP3 via MIDI-BUS, and can simultaneously generate one type of musical tone and n types of musical tones in total. Inside each circuit, there is provided an envelope generation circuit ENV for controlling the volume or tone color envelope of the musical tone to be generated, and when the generated envelope passes the sustain point, an interrupt signal INT is sent from each ENV to the MCP3. 'Is output. This will be described later.
乗算器6(#1〜#n)は、上記MIDI−BUSを介してM
CP3から各ラッチ11(#1〜#n)にラッチされた上記
n種類の各楽音対応のエンベロープ信号を、各楽音発生
回路5(#1〜#n)から出力される各楽音信号に乗算
する回路である。The multipliers 6 (# 1 to #n) transmit M
Each of the tone signals output from each of the tone generators 5 (# 1 to #n) is multiplied by the envelope signal corresponding to each of the n types of musical tones latched by the respective latches 11 (# 1 to #n) from the CP3. Circuit.
加算器7は、上記各乗算器6(#1〜#n)から出力
されるn種類の楽音信号をデジタル的に加算し、1種類
のデジタル信号に変換する回路である。The adder 7 is a circuit that digitally adds n types of tone signals output from the multipliers 6 (# 1 to #n) and converts them into one type of digital signal.
そして上記加算器7の出力は、D/A変換器8において
アナログ楽音信号に変換され、アンプ9で増幅された
後、スピーカ10から放音される。The output of the adder 7 is converted into an analog tone signal by a D / A converter 8, amplified by an amplifier 9, and then emitted from a speaker 10.
なお、上記n種類の楽音発生回路5(#1〜#n)、
乗算器6(#1〜#n)、及びラッチ11(#1〜#n)
の代わりに、1種類の楽音発生回路及び乗算器をn時分
割処理によって動作させ、n種類の楽音を出力させるよ
うに構成してもよい。Note that the n types of tone generation circuits 5 (# 1 to #n),
Multiplier 6 (# 1 to #n) and latch 11 (# 1 to #n)
Instead of this, one kind of tone generating circuit and multiplier may be operated by n time division processing to output n kinds of tone.
{本実施例の概略動作} 以上の構成の実施例の動作につき、以下に説明を行
う。<< Schematic Operation of the Embodiment >> The operation of the embodiment having the above configuration will be described below.
まず、楽音発生までの本実施例の概略動作について説
明を行う。First, a schematic operation of this embodiment up to generation of a musical tone will be described.
第10図のD1は、第1図のピッチ抽出アナログ回路1か
ら出力されるデジタル出力D1の1弦分についてアナログ
的に示したものである。この波形は、特には図示しない
ギターの6弦のうち1弦をピッキングすることにより、
対応するピックアップから検出される電気信号をデジタ
ル信号として出力したものであり、当該弦を特には図示
しないフレット(指板)上で押さえる位置に従って、第
10図T0〜T5等に示すようなピッチ周期を有する波形が発
生する。D1 in FIG. 10 is an analog representation of one string of the digital output D1 output from the pitch extraction analog circuit 1 in FIG. This waveform is obtained by picking one of the six strings of the guitar (not shown).
An electric signal detected from a corresponding pickup is output as a digital signal, and the electric signal is output in accordance with a position where the string is pressed on a fret (fingerboard) (not shown).
Waveform is generated with the pitch period, as shown in FIG. 10 T 0 through T 5, and the like.
本実施例では、このピッチ周期T0〜T5等をリアルタイ
ムで抽出することにより、第1図のMCP3がそれに対応す
る音高情報を生成し、第1図の楽音発生回路501でその
音高の楽音を発音させる。従って、特には図示しないト
レモロアームによって、演奏中に演奏者が弦の張力を変
化させたような場合、それに従ってデジタル出力D1のピ
ッチ周期が変化するため、音高情報もそれに従ってリア
ルタイムで変化し、楽音に豊かな表現を付加することが
できる。In this embodiment, the pitch periods T 0 to T 5 and the like are extracted in real time, so that the MCP 3 in FIG. 1 generates pitch information corresponding to the pitch periods, and the pitch generation circuit 501 in FIG. To produce the musical tone of Therefore, especially when the performer changes the string tension during the performance by a tremolo arm (not shown), the pitch period of the digital output D1 changes accordingly, and the pitch information also changes in real time accordingly. , Rich expressions can be added to musical sounds.
また、本実施例では、第10図のデジタル出力D1のピー
ク値a0〜a3又はb0〜b3等を検出しており、特に、第1図
のMCP3が立ち上がり時(弦のピッキング時)の最大ピー
ク値a0に基づいて音量情報を作成して楽音発生回路5に
転送することにより、弦をピッキングした強さに応じた
音量の楽音を発音させることができる。Further, in this embodiment, the peak value of the digital output D1 of FIG. 10 has detected the a 0 ~a 3 or b 0 ~b 3, etc., in particular, when picking time (chord MCP3 of Figure 1 rises By generating volume information based on the maximum peak value a0 of ( 1 ) and transferring it to the tone generation circuit 5, a tone having a volume corresponding to the strength of picking a string can be generated.
一方、本発明に最も関連するが、発音される楽音のエ
ンベロープについてみると、第1図の各楽音発生回路5
(#1〜#n)から発生される各楽音信号には、同回路
内のエンベロープ発生回路ENVによって、例えば第11図
(a)のようなエンベロープが付加されている(横軸は
時間、縦軸は振幅である)。以下、このエンベロープを
シンセ・エンベロープと呼ぶ。ここで、SPはエンベロー
プ特性が持続特性になるサスティーンポイント、OFFは
楽音の発音の停止指示が出されるノートオフのタイミン
グである。On the other hand, regarding the envelope of the musical tone to be produced, which is most relevant to the present invention, each musical tone generating circuit 5 shown in FIG.
Each tone signal generated from (# 1 to #n) has an envelope, for example, as shown in FIG. 11 (a) added by an envelope generating circuit ENV in the same circuit (the horizontal axis is time, vertical). The axis is amplitude). Hereinafter, this envelope is called a synth envelope. Here, SP is a sustain point at which the envelope characteristic becomes a sustaining characteristic, and OFF is a note-off timing at which an instruction to stop musical sound generation is issued.
これに対して、第1図のギターヘキサピックアップを
介して入力するデジタル出力D1のエンベロープは、第11
図(b)のような特性を有している。以下、このエンベ
ロープを弦エンベロープと呼ぶ。On the other hand, the envelope of the digital output D1 input via the guitar hexa pickup of FIG.
It has characteristics as shown in FIG. Hereinafter, this envelope is referred to as a string envelope.
そして今、各楽音の発音開始時において、第1図の対
応するラッチ11には、MCP3からMIDI−BUSを介して値1.0
がセットされ、対応する乗算器6の入力も第11図(c)
のように値1.0である。従って、発音開始時のアタック
部分では、第1図の対応する乗算器6から出力される各
楽音信号のエンベロープ特性としては、第11図(d)の
前半部分で示されるように、同図(a)のシンセ・エン
ベロープがそのまま保存される。At the start of each tone, the corresponding latch 11 shown in FIG. 1 has a value of 1.0 from MCP3 via MIDI-BUS.
Is set, and the input of the corresponding multiplier 6 is also shown in FIG. 11 (c).
Is the value 1.0. Therefore, in the attack portion at the start of sound generation, the envelope characteristics of each tone signal output from the corresponding multiplier 6 in FIG. 1 are shown in the first half of FIG. The synth envelope of a) is preserved as is.
続いて、第1図の楽音発生回路5から出力される楽音
信号のエンベロープが、第11図(a)の如くサスティー
ンポイントSPで持続状態になると、対応するエンベロー
プ発生回路ENVからMCP3に割り込み信号INT′が出力され
る。なお、この割り込み信号INT′には、#1〜#nの
楽音発生回路5のうちどの楽音発生回路5内のエンベロ
ープ発生回路ENVから出力されたかを示す情報が含まれ
ているとする。Subsequently, when the envelope of the tone signal output from the tone generating circuit 5 of FIG. 1 is maintained at the sustain point SP as shown in FIG. 11 (a), an interrupt signal is sent from the corresponding envelope generating circuit ENV to the MCP3. INT 'is output. It is assumed that the interrupt signal INT 'includes information indicating which of the tone generation circuits 5 of # 1 to #n has been output from the envelope generation circuit ENV.
上記割り込み信号INT′に基づいて、第1図のMCP3は
対応するラッチ11に対して、サスティーンポイントSPの
時点での値を1.0として、第11図(b)の弦エンベロー
プに対応して変化する値を順次ラッチしてゆく。従っ
て、サスティーンポイントSP以後、対応する乗算器6の
入力は、第11図(c)のように変化する。なお、弦エン
ベロープは、例えば第1図のピッチ抽出デジタル回路2
から検出される。デジタル出力D1の現在のピーク値と1
つ前の同極性のピーク値との平均値として検出される。Based on the interrupt signal INT ', the MCP3 of FIG. 1 changes the value of the corresponding latch 11 at the time of the sustain point SP to 1.0, corresponding to the string envelope of FIG. 11 (b). Values are sequentially latched. Therefore, after the sustain point SP, the input of the corresponding multiplier 6 changes as shown in FIG. 11 (c). The string envelope is, for example, a pitch extraction digital circuit 2 shown in FIG.
Is detected from. Digital output D1 current peak value and 1
It is detected as the average value of the previous peak value of the same polarity.
これにより、第1図の対応する乗算器6から出力され
る楽音信号のエンベロープ特性は、第11図(d)の後半
部分で示されるように、同図(b)の弦エンベロープの
特性が付加されたものとなる。Thereby, the envelope characteristic of the tone signal output from the corresponding multiplier 6 in FIG. 1 is added to the chord envelope characteristic in FIG. 11B, as shown in the latter half of FIG. 11D. It was done.
以上の動作により、乗算器6から発音される楽音につ
いて、発音開始時付近のアタック部分では、楽音発生回
路5から出力される楽音のエンベロープ特性が保存され
ているため、いわゆるシンセ音の特徴が良く保存された
音質の楽音が発音される。すなわち、一般に楽音のアタ
ック部分の特性はその楽音の音色等の重要な要素を含ん
でいるため、アタック部分のみ元のシンセ音のエンベロ
ープを用いることにより、その特徴を良く保存させるこ
とが可能となる。そして、サスティーンポイントSP以後
は、逆にデジタル出力D1の弦エンベロープの特性が付加
される。従って、例えば演奏者が弦をピッキングした後
弦振動が充分に減衰しきらないうちに弦を手のひら等で
おさえ、弦振動を強制的に停止させるミュート奏法を行
ってデジタル出力D1の振動を急激に減衰させると、その
エンベロープ特性が対応する乗算器6から発音される楽
音信号に良く反映され、楽音信号にミュート奏法等によ
る演奏効果を容易に付加できる。With the above operation, the envelope characteristic of the tone output from the tone generating circuit 5 is preserved in the attack portion near the start of tone generation of the tone generated by the multiplier 6, so that the characteristics of the so-called synth sound are good. A tone of the stored tone quality is generated. That is, in general, the characteristics of the attack portion of a musical tone include important elements such as the tone color of the musical tone. Therefore, by using the envelope of the original synth sound only in the attack portion, the characteristics can be well preserved. . After the sustain point SP, on the contrary, the characteristics of the string envelope of the digital output D1 are added. Therefore, for example, after the player picks a string, the string is held down with the palm of the hand before the string vibration is sufficiently attenuated, and the vibration of the digital output D1 is sharply reduced by performing a mute playing method of forcibly stopping the string vibration. When attenuated, the envelope characteristic is well reflected on the tone signal generated from the corresponding multiplier 6, and a performance effect such as a mute playing technique can be easily added to the tone signal.
更に、MCP3においてデジタル出力D1のノートオフのタ
イミングOFFが検出されると、第1図の対応するラッチ1
1にはノートオフの直前に書き込まれた値がラッチされ
たままになり、対応する乗算器6の入力は第11図(c)
の最後部分の如く一定値となる。Further, when the MCP3 detects the note-off timing OFF of the digital output D1, the corresponding latch 1 shown in FIG.
At 1 the value written immediately before the note-off remains latched, and the corresponding input of the multiplier 6 is shown in FIG. 11 (c).
Becomes a constant value as in the last part of.
これにより、対応する乗算器6から出力される楽音信
号のエンベロープ特性は、対応する楽音発生回路5から
出力される楽音信号のエンベロープが縮小されたものと
なる。As a result, the envelope characteristic of the tone signal output from the corresponding multiplier 6 is reduced from the envelope of the tone signal output from the corresponding tone generating circuit 5.
なお、上記動作は、ギターの6弦分の時分割デジタル
出力D1について時分割処理され、複数のエンベロープ発
生回路ENV(#1〜#n)からの各割り込み信号INT′に
基づいて、複数のラッチ11(#1〜#n)及び乗算器6
(#1〜#n)を並列に制御するため、第1図のスピー
カ10からは6弦分の楽音を聴覚的に同時に発音させるこ
とができる。そして、これらの楽音は、自由な音量・音
色に設定でき、電子的に各種の効果を付加できるため、
極めて大きな演奏効果が得られる。The above operation is time-division-processed with respect to the time-sharing digital output D1 for the six strings of the guitar, and based on the interrupt signals INT 'from the plurality of envelope generating circuits ENV (# 1 to #n), a plurality of latches are performed. 11 (# 1 to #n) and multiplier 6
Since (# 1 to #n) are controlled in parallel, it is possible to simultaneously generate six strings of musical sounds from the speaker 10 shown in FIG. And since these musical tones can be set to any volume and tone, and various effects can be added electronically,
An extremely large performance effect can be obtained.
{ピッチ抽出デジタル回路の動作} 上記動作を実現するための本実施例の動作につき、以
下に詳細に説明を行ってゆく。<< Operation of Pitch Extraction Digital Circuit >> The operation of the present embodiment for realizing the above operation will be described in detail below.
(概略動作) まず、第1図又は第2図のピッチ抽出デジタル回路2
の動作について説明を行う。なお、以下の説明において
は1弦分についてのみ説明し、シリアルゼロクロス信号
ZCR、デジタル出力D1、最大・最小ピーク値検出信号MA
X、MINは1弦分のイメージで説明するが、実際には6弦
分について時分割処理されている。(Schematic Operation) First, the pitch extraction digital circuit 2 shown in FIG. 1 or FIG.
The operation of will be described. In the following description, only one string is described, and the serial zero-cross signal is used.
ZCR, digital output D1, maximum / minimum peak value detection signal MA
Although X and MIN will be described using the image of one string, time division processing is actually performed on six strings.
同回路2では、各弦毎に第10図のデジタル出力D1か
ら、ピーク値a0〜a3又はb0〜b3等を抽出し、同時に各ピ
ーク値の直後のゼロクロス時刻t0〜t7等を抽出し、更
に、各ゼロクロス時刻の直前のピーク値が正か負かによ
って1又は0を示す情報を抽出して、第1図のMCP3に供
給する。これに基づいて、MCP3は前記ゼロクロス時刻の
間隔から第10図の各ピッチ周期T0〜T5等を抽出して、ま
た、その他前記各種楽音情報を生成し、更に、後述する
ように必要に応じて、エラー処理、ノートオフ(消音)
処理、リラティブオン・オフの処理等を行う。In the circuit 2, the digital output D1 of FIG. 10 for each chord, the peak value a 0 ~a 3 or b 0 extracts ~b 3, etc., ~t 7 zero-crossing time t 0 immediately following the peak value at the same time And the like, and information indicating 1 or 0 depending on whether the peak value immediately before each zero crossing time is positive or negative is extracted and supplied to the MCP3 in FIG. Based on this, the MCP 3 extracts the pitch periods T 0 to T 5 and the like in FIG. 10 from the interval of the zero-crossing time, generates other various tone information, and further, as described later. Depending on the error handling, note off (silence)
Processing, relative on / off processing, etc. are performed.
(詳細動作) そのために、第2図のピーク検出回路201では、第10
図のように入力してくるデジタル出力D1に対して、ま
ず、その値が負となる部分で、その絶対値が0を越えた
タイミングx0で、第10図に示すような最小ピーク値検出
信号MINがハイレベルになる。(Detailed Operation) To this end, the peak detection circuit 201 shown in FIG.
The digital output D1 which enter come as shown in the figure, first, the value at the portion is negative, its absolute value is a timing x 0 beyond the 0, 10th minimum peak value detection as shown in FIG. The signal MIN goes high.
これにより、第2図の波高値取込回路203は、上記最
小ピーク値検出信号MINがハイレベルとなった直後のタ
イミングx1で、別に入力するデジタル出力D1から最小ピ
ーク値(負側の波高値)b0(絶対値)を検出して特には
図示しないラッチにホールドし、これと共に最小ピーク
値検出信号MINをローレベルに戻す。Thus, the peak value acquisition circuit 203 of FIG. 2 is a timing x 1 immediately after the minimum peak value detection signal MIN is at high level, the wave of the minimum peak value (negative digital output D1 to enter separately The high value b0 (absolute value) is detected and held in a latch (not shown), and the minimum peak value detection signal MIN is returned to a low level.
一方、第1図のピッチ抽出アナログ回路1から第2図
のゼロクロス時刻取込回路204には、第10図に示すよう
なシリアルゼロクロス信号ZCRが入力している。この信
号は、ピッチ抽出アナログ回路1内の特には図示しない
コンパレータがデジタル出力D1の正負を判定し、それに
従って同コンパレータからハイレベル又はローレベルの
2値ディジタル信号として出力される信号である。On the other hand, a serial zero-cross signal ZCR as shown in FIG. 10 is input from the pitch extraction analog circuit 1 in FIG. 1 to the zero-cross time acquisition circuit 204 in FIG. This signal is a signal which is output as a high-level or low-level binary digital signal from a comparator (not shown) in the pitch extraction analog circuit 1 which determines whether the digital output D1 is positive or negative.
そして、ゼロクロス時刻取込回路204では、前記ピー
ク検出回路201から出力される最小ピーク値検出信号MIN
がタイミングx0でハイレベルとなった直後に、シリアル
ゼロクロス信号ZCRが変化するエッジタイミング、すな
わち、デジタル出力D1のゼロクロス時点で、第2図のタ
イムベースカウンタ2041で計時されている時刻t0(第10
図)をラッチする。なお、このラッチデータの最上位ビ
ットに、直前のピーク値が正であるか負であるかを示す
1または0の正負フラグ(最小ピーク値b0に対しては0
となる)が付加される。Then, the zero-crossing time acquisition circuit 204 outputs the minimum peak value detection signal MIN output from the peak detection circuit 201.
Immediately but that the high level at timing x 0, the edge timing of the serial zero-crossing signal ZCR is varied, i.e., at the zero crossing point of the digital output D1, time is counted by the time base counter 2041 of FIG. 2 t 0 ( Tenth
Latch). A 1 or 0 positive / negative flag indicating whether the immediately preceding peak value is positive or negative ( 0 for the minimum peak value b 0) is set in the most significant bit of the latch data.
Is added.
更に、ゼロクロス時刻取込回路204は上記動作に連続
して、第1図のMCP3に割り込み信号INTを出力する。こ
れにより、割り込み信号INTが発生した時点において、
第2図の波高値取込回路203には最小ピーク値b0(絶対
値)がホールドされ、ゼロクロス時刻取込回路204には
最小ピーク値b0の発生直後の前記正負フラグを含むゼロ
クロス時刻がラッチされている。Further, the zero-cross time acquisition circuit 204 outputs an interrupt signal INT to the MCP3 in FIG. As a result, when the interrupt signal INT is generated,
The peak value capturing circuit 203 shown in FIG. 2 holds the minimum peak value b 0 (absolute value), and the zero-cross time capturing circuit 204 stores the zero-cross time including the positive / negative flag immediately after the generation of the minimum peak value b 0. Latched.
そして、割り込み信号INTの出力の後、第1図のMCP3
からアドレスデコーダ4を介して行われるアクセス(後
述する)により、上記正負フラグを含むゼロクロス時刻
及び最小ピーク値b0が、バスBUSを介してMCP3に転送さ
れる。なお、以上の処理は6弦分について時分割処理さ
れているため、後述するように、上記各情報の出力の前
に、どの弦番号について上記割り込みが発生したのかを
示す情報を、ゼロクロス時刻取込回路204からMCP3に出
力する。Then, after outputting the interrupt signal INT, MCP3 in FIG.
From the accesses made through the address decoder 4 (described later), the zero-crossing time and a minimum peak value b 0 containing the negative flag is transferred to MCP3 through the bus BUS. Since the above processing is time-division-processed for six strings, as described later, before the output of the above-mentioned information, information indicating which string number the interrupt has occurred is taken as a zero-crossing time. Output from the embedding circuit 204 to the MCP3.
次に、第2図のピーク検出回路201では、内部の特に
は図示しないピークホールド回路が、第10図の最小ピー
ク値b0(絶対値)をピークホールドし、第10図のピーク
ホールド信号q0を出力する。これにより、ピーク検出回
路201は上記ピークホールド信号(絶対値)をしきい値
として、デジタル出力D1の負側についてその絶対値が上
記しきい値を越えたタイミングx2で、再び最小ピーク値
検出信号MINをハイレベルにする。Next, in the peak detection circuit 201 of FIG. 2, an internal peak hold circuit (not shown) peak-holds the minimum peak value b 0 (absolute value) of FIG. Outputs 0 . Thus, the peak detection circuit 201 as a threshold for the peak hold signal (absolute value), the timing x 2 whose absolute value for the negative side exceeds the threshold value of the digital output D1, minimum peak value detected again Set signal MIN to high level.
これにより、前記と全く同様にして、第2図の波高値
取込回路203で、最小ピーク値検出信号MINがハイレベル
となった直後のタイミングx3で次の最小ピーク値b1(絶
対値)がホールドされ、第2図のゼロクロス時刻取込回
路204で、上述の最小ピーク値b1の発生直後の正負フラ
グ(この場合も0)を含むゼロクロス時刻t2がラッチさ
れ、割り込み信号INTの送出後、MCP3に転送される。Thus, in the same manner as the second in peak value acquisition circuit 203 of Figure, the minimum peak value detection signal MIN following minimum peak value b 1 at a timing x 3 immediately after the high level (absolute value ) is held in a second view of the zero-crossing time acquisition circuit 204, the zero-crossing time t 2 comprising positive and negative flag immediately after the occurrence of the minimum peak value b 1 of the above (0 Again) is latched, the interrupt signal INT After transmission, it is transferred to MCP3.
上記に基づく、第10図のデジタル出力D1の負側に対す
る最小ピーク値b0〜b3(絶対値)、ゼロクロス時刻t0、
t2、t4、t6等の検出、及びピークホールド信号q0〜q3等
の出力動作と全く同様にして、デジタル出力D1の正側に
対して最大ピーク値a0〜a3等の検出、ゼロクロス時刻
t1、t3、t5、t7等の検出、及びピークホールド信号p0〜
p3等の出力動作が並列して行われる。なお、この場合
は、ピーク検出回路201から最大ピーク値検出信号MAXが
第10図に示すように出力され、第2図の波高値取込回路
203及びゼロクロス時刻取込回路204においては、この信
号MAXに基づいて最大ピーク値a0〜a3等、及び正負フラ
グ(この場合、正ピークであるから1)を含むゼロクロ
ス時刻t1、t3、t5、t7等がラッチされる。Based on the above, the minimum peak value b 0 to b 3 (absolute value) for the negative side of the digital output D1 in FIG. 10, the zero cross time t 0 ,
t 2, t 4, t 6 detects such, and in exactly the same manner as the output operation of such a peak hold signal q 0 to q 3, such as the maximum peak value a 0 ~a 3 with respect to the positive side of the digital output D1 Detection, zero cross time
Detection of t 1 , t 3 , t 5 , t 7 etc., and peak hold signal p 0 ~
Output operations such as p 3 are performed in parallel. In this case, the maximum peak value detection signal MAX is output from the peak detection circuit 201 as shown in FIG. 10, and the peak value capturing circuit shown in FIG.
In the 203 and the zero-cross time acquisition circuit 204, the zero-cross times t 1 and t 3 including the maximum peak values a 0 to a 3 and the positive and negative flags (in this case, 1 because they are positive peaks) based on the signal MAX. , T 5 , t 7, etc. are latched.
以上に示した動作により、第2図のゼロクロス時刻取
込回路204からは、第10図のゼロクロス時刻t0〜t7の各
時刻毎に割り込み信号INTが第1図のMCP3に出力され、
これに基づいて各時刻毎に、最小又は最大ピーク値(絶
対値)とゼロクロス時刻の組として、b0とt0、a0とt1、
b1とt2、a1とt3、・・・等が順次MCP3へ出力される。こ
こでMCP3において、最小ピーク値(負側のピーク値)で
あるのか最大ピーク値(正側のピーク値)であるのかの
判定は、ゼロクロス時刻の最上位ビットに付加されてい
る前記正負フラグにより可能である。The operation shown above, from the second view of the zero-crossing time acquisition circuit 204, an interrupt signal INT for each time of a 10 view of the zero-crossing time t 0 ~t 7 is output to MCP3 of Figure 1,
Based on this, at each time, as a set of a minimum or maximum peak value (absolute value) and a zero crossing time, b 0 and t 0 , a 0 and t 1 ,
b 1 and t 2, a 1 and t 3, · · · and the like are sequentially output to MCP3. Here, in MCP3, the determination as to whether the peak value is the minimum peak value (negative peak value) or the maximum peak value (positive peak value) is made by the positive / negative flag added to the most significant bit of the zero crossing time. It is possible.
なお、上記動作の他に、第2図の波高値取込回路203
はMCP3からのアクセスによりデジタル出力D1の瞬時値を
任意に出力できる。これについては後述する。In addition to the above operation, the peak value capturing circuit 203 shown in FIG.
Can arbitrarily output the instantaneous value of the digital output D1 by accessing from the MCP3. This will be described later.
また、第2図のピーク検出回路201内のピークホール
ド回路で発生される第10図のピークホールド信号p0〜
p3、q0〜q3等の各減衰率(時定数)は、MCP3の制御下で
第2図の時定数変換制御回路202によって随時変更され
る。Further, the peak hold signals p 0 to p 0 of FIG. 10 generated by the peak hold circuit in the peak detection circuit 201 of FIG.
Each of the decay rates (time constants) such as p 3 , q 0 to q 3 and the like is changed as needed by the time constant conversion control circuit 202 in FIG. 2 under the control of the MCP 3 .
基本的には、デジタル出力D1の例えば1ピッチ周期時
間が経過した後に、上記ピークホールド信号が急速に減
衰するようにその時定数を変更する。そして、このとき
のピッチ周期情報の設定は、第1図のMCP3が後述する動
作により、各ピッチ周期の抽出を行った後にバスBUSを
介して、時定数変換制御回路202内の時定数変換レジス
タCHTRR(後述する)にピッチ周期情報をセットして行
う。これにより、時定数変換制御回路202は、内部に設
けられた特には図示しない各弦独立のカウンタと、MCP3
から時定数変換レジスタCHTRRに設定されたピッチ周期
情報との一致比較を行い、ピッチ周期時間が経過して一
致出力が発生した時点で、時定数チェンジ信号を前記ピ
ーク検出回路201へ送出する。この動作により、ピーク
ホールド信号は1ピッチ周期の時間が経過すると、急速
に減衰し、これにより次のピッチ周期のピークが適切に
検出される。Basically, the time constant is changed so that the peak hold signal is rapidly attenuated after, for example, one pitch cycle time of the digital output D1 has elapsed. The pitch period information at this time is set in the time constant conversion register in the time constant conversion control circuit 202 via the bus BUS after the MCP 3 in FIG. This is performed by setting pitch cycle information in CHTRR (described later). As a result, the time constant conversion control circuit 202 includes a string-independent counter (not shown) provided inside, and an MCP3
, A match comparison with the pitch cycle information set in the time constant conversion register CHTRR is performed, and a time constant change signal is sent to the peak detection circuit 201 when a match output occurs after the pitch cycle time has elapsed. With this operation, the peak hold signal rapidly attenuates after the elapse of one pitch period, whereby the peak of the next pitch period is appropriately detected.
なお、1ピッチ周期が経過する前に、ピーク検出回路
201において次の最大又は最小ピーク値検出信号MAX又は
MINが検出された場合は、これらの信号の立ち下がりの
タイミングで上記カウンタをリセットし、次のピークホ
ールド信号を生成するようにしている。Before the elapse of one pitch period, the peak detection circuit
At 201, the next maximum or minimum peak value detection signal MAX or
When MIN is detected, the counter is reset at the timing of the fall of these signals to generate the next peak hold signal.
また、各弦の振動周期は、演奏者がフレット上で当該
弦を押さえる位置によって幅広く変化するため、デジタ
ル出力D1の各弦に対応する波形の立ち上がり時には、そ
の波形の振動を速やかに検知すべく、各弦の最高音周期
時間経過にてピークホールド信号が急速減衰し、その直
後は、各ピッチ周期の倍音を拾わないように、各弦の開
放弦周期(最低音周期)時間経過にて急速減衰するよう
に設定が行われる。そして、ピッチ周期が有効に抽出さ
れた後は、当該ピッチ周期時間経過にて急速減衰するよ
うに設定が行われ、演奏操作によるデジタル出力D1の各
弦のピッチ周期の変化に追従する。In addition, since the vibration cycle of each string varies widely depending on the position where the player presses the string on the fret, when the waveform corresponding to each string of the digital output D1 rises, it is necessary to quickly detect the vibration of the waveform. The peak hold signal rapidly attenuates when the maximum sound period of each string elapses. Immediately after that, the open hold period (minimum sound period) of each string rapidly elapses so as not to pick up harmonics of each pitch period. The setting is made to attenuate. Then, after the pitch cycle is effectively extracted, a setting is made so as to rapidly attenuate as the pitch cycle time elapses, and follows the change in the pitch cycle of each string of the digital output D1 due to the performance operation.
更に、ピッチ検出回路201において、正負どちらのピ
ーク値に対して上記ピークホールドの制御を行うかは、
シリアルゼロクロス信号ZCRがハイレベルであるかロー
レベルであるかによって判定するようにしている(第10
図参照)。Further, in the pitch detection circuit 201, which of the positive and negative peak values is to be controlled for the peak hold is determined by
The determination is made based on whether the serial zero-cross signal ZCR is at a high level or a low level.
See figure).
{中央制御装置(MCP)の動作} 以上の動作により、第1図のピッチ抽出回路2から供
給される最大又は最小ピーク値、ゼロクロス時刻、およ
びピーク値の正負を示す正負フラグに基づいて、第1図
のMCP3が、ピッチ抽出及び音量・音色に関するパラメー
タの抽出を行うことにより、楽音発生回路5(#1〜#
n)を制御するための楽音制御情報を発生する。なお、
MCP3はROM301に記憶されたプログラムに従って、以下に
詳細に説明するように第3図〜第9図に示す動作フロー
チャートを実行する。<< Operation of Central Control Unit (MCP) >> By the above operation, the maximum or minimum peak value, the zero crossing time, and the positive / negative flag indicating the positive / negative of the peak value are supplied from the pitch extracting circuit 2 in FIG. The MCP 3 shown in FIG. 1 performs pitch extraction and extraction of parameters relating to volume and timbre, thereby generating the tone generation circuit 5 (# 1 to # 1).
Generate tone control information for controlling n). In addition,
The MCP 3 executes the operation flowcharts shown in FIGS. 3 to 9 in accordance with the program stored in the ROM 301 as described in detail below.
(変数の説明) はじめに、後述する第3図〜第9C図の動作フローチャ
ートで示される制御プログラムにおいて用いられる各変
数について、以下に列挙しておく。(Explanation of Variables) First, the variables used in the control program shown in the operation flowcharts of FIGS. 3 to 9C to be described later are listed below.
AD・・・第1図のピッチ抽出デジタル回路2への入力波
形D1を直接読んだ入力波高値(瞬時値) AMP(0、1)・・・正又は負の前回(old)の波高値
(ピーク値) AMRL1・・・振幅レジスタで記憶されているリラティブ
(relative)オフ(off)のチェックのための前回の振
幅値(ピーク値)である。ここで、前記リラティブオフ
とは波高値が急激に減衰してきたことに基づき消音する
ことで、フレット操作をやめて開放弦へ移ったときの消
音処理に相当する。AD: input peak value (instantaneous value) directly reading the input waveform D1 to the pitch extraction digital circuit 2 in FIG. 1 AMP (0, 1): positive or negative previous (old) peak value ( AMRL1... It is the previous amplitude value (peak value) for checking relative (off) off stored in the amplitude register. Here, the relative off is equivalent to a silencing process when the fret operation is stopped and the sound is shifted to an open string by canceling the sound based on a sudden decrease in the peak value.
AMRL2・・・振幅レジスタで記憶されている前記リラテ
ィブオフのための前々回の振幅値(ピーク値)で、これ
にはAMRL1の値が入力される。AMRL2... The amplitude value (peak value) of the last two times for the relative-off stored in the amplitude register, to which the value of AMRL1 is input.
CHTIM・・・最高音フレット(22フレット目)に対応す
る周期 CHTIO・・・開放弦フレットに対応する周期 CHTRR・・・時定数変換レジスタで、上述の時定数変換
制御回路202(第2図)の内部に設けられている。CHTIM: The cycle corresponding to the highest tone fret (22nd fret) CHTIO: The cycle corresponding to the open string fret CHTRR: A time constant conversion register, and the above-mentioned time constant conversion control circuit 202 (FIG. 2) It is provided inside.
DUB・・・波形が続けて同一方向にきたことを示すフラ
グ、 FOFR・・・リラティブオフカウンタ、 GENV0・・・サスティーンポイントでのエンベロープデ
ータ GENV・・・エンベロープデータ HNC・・・波形ナンバーカウンタ MT・・・これからピッチ抽出を行う側のフラグ(正=
1、負=0) NCHLV・・・ノーチェンジレベル(定数) OFTIM・・・オフタイム(例えば当該弦の開放弦周期に
相当) OFPT・・・通常オフチェック開始フラグ ONF・・・ノートオンフラグ RIV・・・後述のステップ(STEP)4での処理ルートの
切替を行うためのフラグ ROFCT・・・リラティブオフのチェック回数を定める定
数 S・・・サスティーンポイント以前か(S=0)、以後
か(S=1)を示すフラグ STEP・・・MCP3のフロー動作を指定するレジスタ(1〜
5の値をとる) TF・・・有効となった前回のゼロクロス時刻データ TFN(0、1)・・・正または負のピーク値直後の前回
のゼロクロス時刻データ TFR・・・時刻記憶レジスタ THLIM・・・周波数上限(定数) TLLIM・・・周波数下限(定数) TP(0、1)・・・正または負の前回の周期データ TRLAB(0、1)・・・正または負の絶対トリガレベル
(ノートオンしきい値) TRLRL・・・リラティブオン(再発音開始)のしきい値 TRLRS・・・共振除去しきい値 TTLIM・・・トリガ時の周波数下限 TTP・・・前回抽出された周期データ TTR・・・周期レジスタ、 TTU・・・定数(17/32と今回の周期情報ttの積) TTW・・・定数(31/16と今回の周期情報ttの積) VEL・・・速度(ベロシティ)を定める情報で、発音開
始時の波形の最大ピーク値にて定まる。DUB: A flag that indicates that the waveform has continued in the same direction, FOFR: Relative off counter, GENV0: Envelope data at the sustain point GENV: Envelope data HNC: Waveform number counter MT・ ・ ・ Flag for pitch extraction (positive =
1, negative = 0) NCHLV: No change level (constant) OFTIM: Off time (e.g., corresponding to the open string cycle of the string) OFPT: Normal off check start flag ONF: Note on flag RIV ... Flag for switching the processing route in step (STEP) 4 to be described later ROFCT ... Constant that determines the number of relative off checks S ... Before the sustain point (S = 0) or after Flag indicating (S = 1) STEP: Registers (1 to 1) that specify the flow operation of MCP3
5) TF: Previous zero-cross time data that became valid TFN (0, 1): Previous zero-cross time data immediately after the positive or negative peak value TFR: Time storage register THLIM ··· Frequency upper limit (constant) TLLIM ··· Frequency lower limit (constant) TP (0,1) ··· Positive or negative previous period data TRLAB (0,1) ··· Positive or negative absolute trigger level ( Note-on threshold value) TRLRL: Relativistic on (re-start) threshold TRLRS: Resonance removal threshold TTLIM: Lower frequency limit at trigger TTP: Previously extracted period data TTR・ ・ ・ Period register, TTU ・ ・ ・ Constant (product of 17/32 and current cycle information tt) TTW ・ ・ ・ Constant (product of 31/16 and current cycle information tt) VEL ・ ・ ・ Speed (velocity) Is determined by the maximum peak value of the waveform at the start of sound generation.
X・・・異常または正常状態を示すフラグ b・・・ワーキングレジスタBに記憶されている今回正
負フラグ(正ピークの次のゼロ点のとき1、負ピークの
次のゼロ点のとき0) c・・・ワーキングレジスタCに記憶されている今回波
高値(ピーク値) e・・・ワーキングレジスタEに記憶されている前々回
波高値(ピーク値) h・・・ワーキングレジスタHに記憶されている前々回
抽出された周期データ t・・・ワーキングレジスタT0に記憶されている今回の
ゼロクロス時刻 tt・・・ワーキングレジスタTOTOに記憶されている今回
の周期情報 (ピッチ割り込み処理ルーチンの動作) 次に、第3図は、MCP3へピッチ抽出デジタル回路2内
のゼロクロス時刻取込回路204(第2図)から、割り込
み信号INTによりピッチ割り込みがかけられたときの処
理を示す割り込み処理ルーチンの動作フローチャートを
示した図である。X: Flag indicating abnormal or normal state b: Current positive / negative flag stored in working register B (1 at the next zero point after the positive peak, 0 at the next zero point after the negative peak) c ······························································································································································ Extracted cycle data t... Current zero-crossing time stored in working register T0 tt... Current cycle information stored in working register TOTO (operation of pitch interrupt processing routine) The figure shows a case where a pitch interrupt is applied to the MCP 3 by the interrupt signal INT from the zero-cross time acquisition circuit 204 (FIG. 2) in the pitch extraction digital circuit 2. It is a diagram showing a flowchart of the interrupt processing routine shown a sense.
前記したように、ゼロクロス時刻取込回路204から割
り込み信号INTが出力される時点においては、第2図の
波高値取込回路203には最大又は最小ピーク値(絶対
値)がホールドされ、ゼロクロス時刻取込回路204には
当該ピーク値発生直後のゼロクロス時刻、及び直前のピ
ーク値が最大(正の)ピーク値である場合1、最小(負
の)ピーク値である場合0を示す正負フラグがラッチさ
れている。As described above, at the time when the interrupt signal INT is output from the zero-crossing time capturing circuit 204, the maximum or minimum peak value (absolute value) is held in the peak value capturing circuit 203 in FIG. The acquisition circuit 204 latches a zero-crossing time immediately after the occurrence of the peak value, and a positive / negative flag indicating 1 when the immediately preceding peak value is the maximum (positive) peak value and 0 when the immediately preceding peak value is the minimum (negative) peak value. Have been.
そこで、MCP3は、まず、第3図のI1において、アドレ
スデコーダ4に所定のアドレス読み出し信号ARをセット
し、第2図のゼロクロス時刻取込回路204に対して、弦
番号読み込み信号▲▼を出力させる。これに
より同回路204からは、まずどの弦番号について上記割
り込みが発生したのかを示す弦番号が、バスBUSを介し
てMCP3に出力される。続いて、MCP3はアドレスデコーダ
4に別のアドレス読み出し信号ARをセットし、ゼロクロ
ス時刻取込回路204に対して、時刻読み込み信号▲
▼〜▲▼のうち上記弦番号に対応
する信号を出力させる。これにより同回路204からは、
上記時刻読み込み信号▲▼(i=1〜6の
うちいずれか)で指定される弦番号対応のラッチにセッ
トされているゼロクロス時刻情報が、バスBUSを介してM
CP3に出力される。これを第3図I1に示すように今回の
ゼロクロス時刻tとする。Therefore, the MCP 3 first sets a predetermined address read signal AR in the address decoder 4 at I1 in FIG. 3 and outputs a string number read signal ▲ ▼ to the zero-cross time capturing circuit 204 in FIG. Let it. As a result, the circuit 204 first outputs a string number indicating the string number at which the interrupt has occurred to the MCP 3 via the bus BUS. Subsequently, the MCP 3 sets another address read signal AR in the address decoder 4 and sends the time read signal
A signal corresponding to the string number among ▼ to ▲ ▼ is output. Thereby, from the same circuit 204,
The zero-crossing time information set in the latch corresponding to the string number specified by the time reading signal ▲ ▼ (i = 1 to 6) is transmitted to the M via the bus BUS.
Output to CP3. This is defined as the current zero-cross time t as shown in FIG. 3 I1.
続いて、第3図のI2において、前記「ピッチ抽出デジ
タル回路の動作」の項で説明したように、ゼロクロス時
刻情報の最上位ビットに付加されている正負フラグを取
り出しこれを今回正負フラグbとする。Subsequently, at I2 in FIG. 3, the positive / negative flag added to the most significant bit of the zero-crossing time information is extracted as described in the section "Operation of the pitch extraction digital circuit", and this is referred to as the current positive / negative flag b. I do.
その後、第3図のI3において、MCP3は前記と同様にア
ドレスデコーダ4を介して、第2図の波高値取込回路20
3に対して、ピーク値読み込み信号▲▼(j=
1〜12のうちいずれか)を出力させる。ここで、同回路
203内には、特には図示しないが、6弦分の最大ピーク
値及び最小ピーク値をホールドする12個のラッチがある
ため、MCP3は前記弦番号及び正負フラグbに基づいて、
上記ピーク値読み込み信号▲▼を選択して出力
させる。これにより同回路203からは、当該ピーク値読
み込み信号▲▼で指定されるラッチにセットさ
れている最大ピーク値または最小ピーク値(絶対値)
が、バスBUSを介してMCP3に出力される。これを第3図I
3に示すように、今回ピーク値cとする。Thereafter, at I3 in FIG. 3, the MCP 3 is transmitted via the address decoder 4 in the same manner as described above to the peak value capturing circuit 20 in FIG.
For 3, the peak value read signal ▲ ▼ (j =
1 to 12) is output. Here, the same circuit
Although not shown, there are 12 latches in the 203 that hold the maximum peak value and the minimum peak value for 6 strings, so that the MCP3 determines the string number and the positive / negative flag b based on the string number and the positive / negative flag b.
Select and output the peak value read signal ▲ ▼. As a result, from the circuit 203, the maximum peak value or the minimum peak value (absolute value) set in the latch designated by the peak value read signal ▲ ▼
Is output to the MCP3 via the bus BUS. This is shown in Fig. 3 I
As shown in FIG. 3, the current peak value is c.
以上の動作の後、第3図のI4において、上記のように
して得たt、c、bの値をMCP3内の特には図示しないレ
ジスタT0、C、Bにセットする。このレジスタには、上
記割込み処理がなされる都度、このようなゼロクロス時
刻情報、ピーク値情報(絶対値)、ピークの種類を示す
正負フラグの情報がワンセットとして書込まれていき、
後述するメインルーチンで、各弦毎にかかる情報に対す
る処理がなされる。After the above operation, at I4 in FIG. 3, the values of t, c, and b obtained as described above are set in registers T0, C, and B (not shown) in MCP3. Each time the above-described interrupt processing is performed, such zero-crossing time information, peak value information (absolute value), and positive / negative flag information indicating the type of peak are written into this register as one set.
In a main routine to be described later, processing for such information is performed for each string.
なお、上記レジスタT0、C、Bは、6弦に対応して6
個ずつあり、第1図のMCP3は、#1から#nの各楽音発
生回路5及び各乗算器6がどの弦に対応して発音動作及
びエンベロープ制御動作(後述する)を行っているかと
いう情報を、RAM302に保持しており、以下第4図〜第9
図で説明する楽音制御及びエンベロープ制御の処理は、
6弦分について全て時分割処理で行われ、前記レジスタ
のうちどの弦に対応するものに割込みがかかったかによ
って、対応する楽音発生回路5及び乗算器6に対する処
理を行う。以下、特に言及しない限り上記動作を行って
いるものとする。The registers T0, C, and B correspond to 6 strings.
The MCP3 in FIG. 1 includes information indicating to which string each tone generating circuit 5 and each multiplier 6 of # 1 to #n perform a tone generation operation and an envelope control operation (described later). 4 to 9 are stored in the RAM 302.
The processing of musical tone control and envelope control explained in the figure
All of the six strings are time-divisionally processed, and the corresponding tone generation circuit 5 and multiplier 6 are processed according to which of the registers corresponds to which string. Hereinafter, it is assumed that the above operation is performed unless otherwise specified.
(メインルーチンの動作) 第4図は、メインルーチンの処理を示す動作フローチ
ャートである。ここでは、パワーON後の初期化(イニシ
ャライズ)、楽音のノートオフ(消音)処理、及びSTEP
0〜STEP4(又は5)の各処理の選択の処理を行う。本実
施例では、楽音制御の処理を後述するようにステップと
いう処理概念で行っており、後述するように、STEP0→S
TEP1→STEP2→STEP3→STEP4(→STEP5)→STEP0という
順で楽音制御を行ってゆく。(Operation of Main Routine) FIG. 4 is an operation flowchart showing processing of the main routine. Here, initialization after power-on (initialization), note-off (silence) processing of music, and STEP
A process of selecting each process from 0 to STEP 4 (or 5) is performed. In the present embodiment, the processing of the musical tone control is performed by a processing concept of a step as described later, and as described later, STEP0 → S
Tone control is performed in the order of TEP1, STEP2, STEP3, STEP4 (→ STEP5), and STEP0.
《基本動作》 第4図において、まず、パワーオン(電源投入)する
ことにより、M1において各種レジスタやフラグがイニシ
ャライズされ、レジスタSTEPが0とされる。またこの場
合、前記「ピッチ抽出デジタル回路の動作」の項の時定
数変換制御回路202(第2図)の説明において述べたよ
うに、初期状態において、ピーク検出回路201(第2
図)がデジタル出力D1の波形の立ち上がり時の振動を速
やかに検知できるように、MCP3がバスBUSを介して時定
数変換制御回路202内の時定数変換レジスタCHTRRに最高
音フレット周期CHTIMをセットし、ピーク検出回路201内
のピークホールド回路から出力されるピークホールド信
号(第10図p0またはq0等)が、最高音周期時間経過にて
急速減衰するように制御される。<< Basic Operation >> In FIG. 4, first, when power is turned on (power is turned on), various registers and flags are initialized in M1, and the register STEP is set to 0. In this case, as described in the description of the time constant conversion control circuit 202 (FIG. 2) in the section “Operation of the pitch extraction digital circuit”, the peak detection circuit 201 (the second
MCP3 sets the highest note fret cycle CHTIM in the time constant conversion register CHTRR in the time constant conversion control circuit 202 via the bus BUS so that the waveform at the rising edge of the waveform of the digital output D1 can be quickly detected. peak hold signal outputted from the peak hold circuit in the peak detection circuit 201 (FIG. 10 p 0 or q 0, etc.) is controlled to rapidly attenuated at the highest sound period time.
続いて、第4図のM2で、前記「ピッチ割り込み処理ル
ーチンの動作」の項で説明したレジスタが空かどうかが
判断され、ノー(以下、NOと称す)の場合にはM3に進
み、各レジスタB、C、T0の内容が読まれる。続いて、
M4において、レジスタSTEPの値はいくつかが判断され、
M5ではSTEP0、M6ではSTEP1、M7ではSTEP2、M8ではSTEP
3、M9ではSTEP4の処理が順次実行される。なお、次のス
テップへの更新は、後述するように各STEP0〜STEP4の処
理において行われる。Subsequently, in M2 of FIG. 4, it is determined whether or not the register described in the section "Operation of the pitch interrupt processing routine" is empty. If NO (hereinafter referred to as "NO"), the process proceeds to M3. The contents of registers B, C and T0 are read. continue,
In M4, some values of the register STEP are determined,
STEP0 for M5, STEP1 for M6, STEP2 for M7, STEP for M8
3. In M9, the processing of STEP4 is sequentially executed. The update to the next step is performed in the processing of STEP0 to STEP4 as described later.
《ノートオフ動作》 前記M2でバッファが空の場合、すなわちイエス(以
下、YESと称する)の場合、M10〜M16への処理に進み、
ここで通常のノートオフのアルゴリズムの処理が行われ
る。このノートオフのアルゴリズムは、デジタル出力D1
(第1図)において、その波高値がオフ(OFF)レベル
以下の状態が所定のオフタイム時間続いたら、ノートオ
フするアルゴリズムである。<< Note-off operation >> When the buffer is empty in M2, that is, in the case of YES (hereinafter, referred to as YES), the process proceeds to M10 to M16.
Here, a normal note-off algorithm process is performed. This note-off algorithm uses digital output D1
In FIG. 1, the algorithm is to turn off the note when the state where the peak value is equal to or less than the off (OFF) level continues for a predetermined off-time period.
まず、M10でSTEP=0かどうかが判断され、YESの場合
には、楽音を発生していない初期状態のため、ノートオ
フはする必要がなく、M2に戻る。一方、NOの場合には、
M11に進む。First, it is determined in M10 whether or not STEP = 0, and in the case of YES, note-off does not need to be performed because the tone is in an initial state, and the process returns to M2. On the other hand, in the case of NO,
Proceed to M11.
M11では、その時点のデジタル出力D1の入力波高値
(瞬時値)ADが直接読まれる。これは、MCP3がアドレス
デコーダ4を介して、波高値取込み回路203(第2図)
へピーク値読み込み信号▲▼〜▲
▼のいずれかを与えることにより、同回路203がデジタ
ル出力D1の現在の瞬時値を、バスBUSを介してMCP3に出
力することで達成できる。そして、この値ADが、予め設
定したオフレベル以下かどうかが判断され、NOの場合は
ノートオフする必要がないためM2に戻り、YESの場合に
はM12に進む。In M11, the input peak value (instantaneous value) AD of the digital output D1 at that time is directly read. This is because the MCP 3 receives the peak value capturing circuit 203 via the address decoder 4 (FIG. 2).
To read peak value ▲ ▼ ~ ▲
By providing any of the above, the circuit 203 can achieve this by outputting the current instantaneous value of the digital output D1 to the MCP3 via the bus BUS. Then, it is determined whether or not this value AD is equal to or less than a preset off level. If NO, the process returns to M2 because there is no need to perform note-off, and if YES, the process proceeds to M12.
M12では、前回の入力波高値ADがオフレベル以下かど
うかが判断され、NOの場合には、M17に進みMCP3内のタ
イマ303をスタートし、M2に戻る。そして、次に再びこ
の処理にきたときに、M12はYESとなるため、M13に進
み、ここでタイマ303の値がオフタイムOFTIMかどうかが
判断される。オフタイムOFTIMとしては例えば処理をし
ている弦の開放弦フレット周期CHTIOがセットされてお
り、M13でONの場合にはM2に戻って処理が繰り返され、Y
ESとなるとM14に進み、レジスタSTEPに0を書き込み、
時定数変換レジスタCHTRRへ最高音フレット周期CHTIMを
セットした後、M15を介して(後述する)、M16に進む。
すなわち、デジタル出力D1のレベルが減衰してきた場
合、オフレベル以下の入力波高値ADがオフタイムOFTIM
に相当する時間続くと、デジタル出力D1が入力せず弦が
弾かれなくなったと判断できるため、M16に進んでノー
トオフの処理がされる。In M12, it is determined whether or not the previous input peak value AD is equal to or less than the off level. If NO, the process proceeds to M17, starts the timer 303 in the MCP3, and returns to M2. Then, the next time the process comes again, since M12 becomes YES, the process proceeds to M13, where it is determined whether the value of the timer 303 is the off-time OFTIM. As the OFF time OFTIM, for example, the open string fret cycle CHTIO of the string being processed is set, and if ON at M13, the process returns to M2 and the processing is repeated, and Y
When it reaches ES, the process proceeds to M14, where 0 is written to the register STEP,
After setting the highest tone fret period CHTIM in the time constant conversion register CHTRR, the process proceeds to M16 via M15 (described later).
That is, when the level of the digital output D1 is attenuated, the input peak value AD that is equal to or less than the off-level becomes the off-time OFTIM
Since the digital output D1 is not input and it can be determined that the string is no longer played, the process proceeds to M16 and the note-off process is performed.
M16では、MCP3が楽音発生回路5(#1〜#nのうち
いずれか)(第1図)に対して、ノートオフの指示を送
出し、これにより楽音の発音が停止される。このように
ノートオフされた場合には、必ずSTEP0に戻る。In M16, the MCP 3 sends a note-off instruction to the tone generator 5 (any one of # 1 to #n) (FIG. 1), thereby stopping the tone generation. When the note-off is performed in this way, the process always returns to STEP0.
なお、ステップM15において、通常の状態ではYESの判
断がなされるが、後述するような処理によって、楽音の
発音を指示していない場合でもレジスタSTEPは0以外の
値をとっていることがあり(例えばノイズの入力によ
る)、そのようなときには、M14、M15の処理後M2へ戻る
ことで、STEP0へ初期設定される。In step M15, a determination of YES is made in a normal state. However, the register STEP may take a value other than 0 even when the tone generation is not instructed by the processing described later ( In such a case, for example, due to the input of noise), in such a case, the process returns to M2 after the processes of M14 and M15, thereby being initialized to STEP0.
(STEP0の処理動作) 次に、第4図のメインルーチンにおいて分岐して対応
する処理を行う各ルーチンの詳細について説明を行う。(Processing Operation of STEP 0) Next, details of each routine that branches and performs corresponding processing in the main routine of FIG. 4 will be described.
まず、第5図は、第4図のメインルーチンのM5として
示すステップ0(STEP0)の処理の動作フローチャート
である。この処理においては、ピッチ抽出処理等のため
の初期設定、及び次のSTEP1への移行処理を行う。以下
第12図の基本動作説明図を用いて説明を行う。なお、第
12図は第10図と同一の波形である。First, FIG. 5 is an operation flowchart of the process of step 0 (STEP0) shown as M5 in the main routine of FIG. In this processing, initialization for pitch extraction processing and the like, and processing for transition to the next STEP 1 are performed. Hereinafter, description will be made with reference to the basic operation explanatory diagram of FIG. In addition,
FIG. 12 shows the same waveform as FIG.
《基本動作》 今、第4図のメインルーチンは、M2とM10のループの
繰り返しにより、前記「ピッチ割り込み処理ルーチンの
動作」の項において説明したように、ピッチ抽出デジタ
ル回路2(第1図)から割り込みが掛かって、レジスタ
T0、C、Bにデータが入力するのを待っている。<< Basic Operation >> Now, the main routine of FIG. 4 is executed by repeating the loop of M2 and M10, and as described in the above-mentioned "Operation of Pitch Interrupt Processing Routine", the pitch extraction digital circuit 2 (FIG. 1). Interrupt from the register
Waiting for data to be input to T0, C, and B.
そして、データが入力し、第4図のM2からM3を経て上
記各レジスタの内容が読み込まれると、M4を介してM5、
即ち第5図のSTEP0に移る。この状態においては、例え
ば第12図に示すように、今回のゼロクロス時刻t=t0、
今回正負フラグb=0、今回ピーク値cはb=0より最
小ピーク値でc=b0(絶対値)である。なお、第12図で
bとb0〜b3等は異なる記号である。Then, when data is input and the contents of the above registers are read from M2 to M3 in FIG. 4, M5, M5,
That is, the process proceeds to STEP0 in FIG. In this state, for example, as shown in FIG. 12, the current zero-cross time t = t 0 ,
The current positive / negative flag b = 0 and the current peak value c are the minimum peak value c = b 0 (absolute value) from b = 0. In FIG. 12, b and b 0 to b 3 are different symbols.
まず、第5図のS01において、今回ピーク値cの値
が、絶対トリガレベル(ノートオンのための正の閾値)
TRLAB(b)より大きいか否かが判定される。なお、こ
の判定は、今回正負フラグbの値に基づいて正と負の各
極性(最大ピーク値又は最小ピーク値)の各々について
実行され、正側の絶対トリガレベルTRLAB(1)と負側
の絶対トリガレベルTRLAB(0)は、デジタル出力D1
(第1図)にオフセットが重畳された場合等を考慮し
て、経験的に別々の値に設定することができる。理想的
なシステムでは同じ値でよい。第12図の例では、今回最
小ピーク値c=b0(絶対値)とTRLAB(b)=TRLAB
(0)とが比較され、c=b0>TRLAB(0)、即ち判定
はYESとなる。First, in S01 of FIG. 5, the value of the current peak value c is the absolute trigger level (positive threshold value for note-on).
It is determined whether it is larger than TRLAB (b). This determination is executed for each of the positive and negative polarities (maximum peak value or minimum peak value) based on the value of the positive / negative flag b, and the absolute trigger level TRLAB (1) on the positive side and the negative side The absolute trigger level TRLAB (0) is the digital output D1
Different values can be empirically set in consideration of the case where an offset is superimposed on (FIG. 1). The same value may be used in an ideal system. In the example of FIG. 12, the current minimum peak value c = b 0 (absolute value) and TRLAB (b) = TRLAB
(0) and c = b 0 > TRLAB (0), that is, the determination is YES.
次に、S02を経た後(後述する)、S03の処理が実行さ
れる。ここでは、まず、今回正負フラグbがフラグMTに
書き込まれ、レジスタSTEPに1が書き込まれて次のステ
ップへの移行準備がなされ、更に、今回のゼロクロス時
刻tが以降の処理のために前回のゼロクロス時刻データ
TFN(b)として設定される。第12図の例では、同図に
示すようにMT=b=0、TFN(b)=TFN(0)=t=t0
となる。Next, after S02 (described later), the process of S03 is executed. Here, first, the current positive / negative flag b is written into the flag MT, 1 is written into the register STEP, and preparations are made for the transition to the next step. Zero cross time data
Set as TFN (b). In the example of FIG. 12, as shown in FIG. 12, MT = b = 0, TFN (b) = TFN (0) = t = t 0
Becomes
続いて、S04において、「変数の説明」の項に示した
上記フラグ以外のその他フラグ類(定数値を除く)が初
期化される。特に、本発明に関連する後述するサスティ
ーンポイント以後であるか否かを示すフラグSはここで
0に初期化される。Subsequently, in S04, other flags (except for the constant value) other than the above-described flags described in the section of “variable description” are initialized. In particular, a flag S indicating whether or not after a sustain point, which will be described later, relating to the present invention is initialized to 0 here.
更に、S05においては、今回ピーク値cが以降の処理
のために前回のピーク値AMP(b)(絶対値)としてセ
ットされ、第4図のメインルーチンのM2の処理に戻る。
第12図の例では、同図に示すようにAMP(b)=AMP
(0)=c=b0となる。Further, in S05, the current peak value c is set as the previous peak value AMP (b) (absolute value) for the subsequent processing, and the process returns to the main routine M2 in FIG.
In the example of FIG. 12, AMP (b) = AMP as shown in FIG.
(0) = a c = b 0.
以上の処理により、第12図の例では、同図(STEP0→
1の間)に示すようにフラグMTにレジスタBの今回正負
フラグb=0が書き込まれ、負側に前回のゼロクロス時
刻のデータTFN(0)にレジスタT0の今回のゼロクロス
時刻データt=t0が書き込まれ、負側の前回のピーク値
AMP(0)にレジスタCの今回最小ピーク値c=b0が書
き込まれる。By the above processing, in the example of FIG.
As shown in (1), the current positive / negative flag b = 0 of the register B is written to the flag MT, and the current zero-cross time data t = t 0 of the register T0 is written to the previous zero-cross time data TFN (0) on the negative side. Is written and the previous negative peak value
AMP (0) to the minimum peak value c = b 0 This register C is written.
《共振除去動作》 なお、第5図のS01において、今回ピーク値cの値が
絶対トリガレベルTRLAB(b)以下の場合は、発音(ノ
ートオン)の処理へは移行せず、S05において前回のピ
ーク値AMP(b)に今回のピーク値cの値をセットする
だけで、第4図のメインルーチンへ戻る。ところが、1
本の弦をピッキングすることにより、他の弦が共振を起
こすような場合、当該他の弦については振動のレベルが
徐々に大きくなり、やがて第5図のS01の判定結果がYES
となり、S02の処理に移る。しかし、このような場合、
正規のピッキングを行った訳ではないので、発音(ノー
トオン)の動作に移行するのは妥当ではない。そこで、
S02の処理において上記共振の除去を行う。即ち、上記
のような場合、今回ピーク値cは前回のピーク値AMP
(b)に比べてほとんど大きくなっていないため、その
差c−AMP(b)が共振除去しきい値TRLRSより大きくな
い場合には、上記共振状態が発生したと判定して、発音
処理へは移行せず、S05において前回のピーク値AMP
(b)に今回ピーク値cの値をセットするだけで、第4
図のメインルーチンに戻る。一方、第12図のような正常
なピッキングを行った場合に、波形が急激に立上ること
になり、前記ピーク値の差c−AMP(b)は共振除去閾
値TRLRSを越え、前記したようにS02からS03の処理へ移
行する。<< Resonance Elimination Operation >> When the value of the current peak value c is equal to or lower than the absolute trigger level TRLAB (b) in S01 of FIG. 5, the process does not shift to the sound generation (note-on) process. Simply setting the current peak value c to the peak value AMP (b) returns to the main routine of FIG. However, 1
When the picking of a string causes resonance of another string, the vibration level of the other string gradually increases, and the determination result of S01 in FIG. 5 eventually becomes YES.
Then, the process proceeds to S02. But in such a case,
Since it is not the case that regular picking is performed, it is not appropriate to shift to the operation of sound generation (note-on). Therefore,
In the process of S02, the above-described resonance is removed. That is, in the above case, the current peak value c is equal to the previous peak value AMP.
Since the difference c-AMP (b) is not larger than the resonance elimination threshold value TLRRS, it is determined that the resonance state has occurred, and the sound generation process is not started. Without shifting, the previous peak value AMP in S05
By setting the value of the current peak value c in (b), the fourth
It returns to the main routine of the figure. On the other hand, when the normal picking as shown in FIG. 12 is performed, the waveform suddenly rises, and the difference c-AMP (b) between the peak values exceeds the resonance removal threshold value TRLRS. The process moves from S02 to S03.
《リラティブオンのエントリ動作》 第5図において、Aは後述するリラティブオン(再発
音開始)のエントリであり、後述するSTEP4のフローか
らこのS06へジャンプしてくる。そして、S06では今まで
出力している楽音を一度消去(ノートオフ)し、再発音
開始のためにS03へ進行する。この再発音開始のための
処理は、通常の発音開始のときと同様であり、前記した
とおりである。ここでS06のノートオフの処理は、第4
図の前記M16での処理と同じである。<< Relative-On Entry Operation >> In FIG. 5, A is a relative-on (reproduction start) entry to be described later, and jumps to S06 from a flow of STEP 4 to be described later. Then, in S06, the musical tone output so far is once erased (note off), and the process proceeds to S03 to start re-sounding. The process for starting re-sound generation is the same as that for starting normal sound generation, and is as described above. Here, note-off processing in S06 is the fourth
This is the same as the processing in M16 in the figure.
(STEP1の処理動作) 次に、第6図は、第4図のメインルーチンのM6として
示すステップ1(STEP1)の処理の動作フローチャート
である。この処理においては、前記STEP0に続くピッチ
抽出処理等のための初期設定とそれに続くSTEP2への移
行処理、又はおかしな波形が入力したときのダブリ処理
(エラー処理)等を行う。(Processing Operation of STEP1) Next, FIG. 6 is an operation flowchart of the processing of Step 1 (STEP1) shown as M6 of the main routine of FIG. In this processing, initialization such as pitch extraction processing subsequent to STEP 0 and transition processing to STEP 2 subsequent thereto, or double processing (error processing) when a strange waveform is input is performed.
《基本動作》 まず、前記STEP0により、最初のデータに対する初期
設定が行われた後、第4図のメインルーチンでは、M2→
M10→M11→M2のループの繰り返しにより、前記ピッチ抽
出デジタル回路2(第1図)から再び割り込みがかかっ
て、レジスタT0、C、Bに次のデータが入力するのを待
っている。<< Basic Operation >> First, after the initial setting for the first data is performed in STEP0, in the main routine of FIG.
Due to the repetition of the loop of M10 → M11 → M2, the pitch extraction digital circuit 2 (FIG. 1) interrupts again and waits for the next data to be input to the registers T0, C and B.
そして、データが入力し、第4図のM2からM3を経て上
記各レジスタの内容が読み込まれると、M4を介してM6、
即ち第6図のSTEP1に移る。この状態においては、例え
ば第12図に示すように、今回のゼロクロス時刻t=t1、
今回正負フラグb=1、今回ピーク値はb=1より最大
ピーク値でc=a0である。Then, when data is input and the contents of the above registers are read via M2 to M3 in FIG. 4, M6, M6,
That is, the process proceeds to STEP 1 in FIG. In this state, for example, as shown in FIG. 12, the current zero-crossing time t = t 1 ,
The current positive / negative flag b = 1, and the current peak value is the maximum peak value c = a 0 from b = 1.
まず、第6図のS11を介して(後述する)、S12におい
て前記「STEP0の処理動作」の項における第5図のS01の
説明で述べたのと全く同様に、今回ピーク値cの値が、
絶対トリガレベルTRLAB(b)より大きいか否かが判定
される。第12図の例では、今回最大ピーク値c=a0とTR
LAB(b)=TRLAB(1)とが比較され、c=a0>TRLAB
(1)、即ち判定はYESとなる。First, through S11 in FIG. 6 (described later), in S12, the value of the current peak value c is set to be exactly the same as described in the description of S01 in FIG. ,
It is determined whether or not the level is higher than the absolute trigger level TRLAB (b). In the example of FIG. 12, the current maximum peak value c = a 0 and TR
LAB (b) = TRLAB (1) is compared and c = a 0 > TRLAB
(1), that is, the determination is YES.
次に、S13において、レジスタSTEPに2が書き込まれ
て次のステップへの移行準備がなされ、また、S14にお
いて、レジスタT0の今回のゼロクロス時刻tが以降の処
理のために前回のゼロクロス時刻データTFN(b)とし
て設定される。更に、S15において、レジスタCの今回
ピーク値cが以降の処理のために前回のピーク値AMP
(b)としてセットされ、第4図のメインルーチンのM2
の処理に戻る。第12図の例では、同図に示すようにTFN
(1)=t=t1、AMP(1)=c=a0となる。なお、MT
の内容は書き替えられず0のままである。Next, in S13, 2 is written in the register STEP to prepare for shifting to the next step. In S14, the current zero-cross time t of the register T0 is set to the previous zero-cross time data TFN for the subsequent processing. (B) is set. Further, in S15, the current peak value c of the register C is changed to the previous peak value AMP for the subsequent processing.
Set as (b), M2 of the main routine of FIG.
Return to the processing of. In the example of FIG. 12, as shown in FIG.
(1) = t = t 1 , AMP (1) = c = a 0 Note that MT
Are not rewritten and remain at 0.
《ダブリ処理の動作》 第12図のような正常なデジタル出力D1が入力している
場合には、前記STEP0において負(正)側の最小(大)
ピーク値(絶対値)が抽出された後は、STEP1において
反対に正(負)側の最大(小)ピーク値が抽出される。
従って、第6図のS11においては、今回正負フラグb=
1(0)はSTEP0でセットされたフラグMT=0(1)と
異なるため、前記したようにS12に進む。<< Operation of Dubble Processing >> When a normal digital output D1 as shown in FIG. 12 is being input, the minimum (large) on the negative (positive) side in STEP0 described above.
After the peak value (absolute value) is extracted, the maximum (small) peak value on the positive (negative) side is extracted in STEP1.
Therefore, in S11 of FIG. 6, the positive / negative flag b =
Since 1 (0) is different from the flag MT = 0 (1) set in STEP0, the process proceeds to S12 as described above.
ところが、場合により、STEP0の後にSTEP1で第13図
(a)又は(b)に示すような波形が入力することがあ
る。この場合、STEP0で負側の最小ピーク値b0が抽出さ
れた後、STEP1で再び負側の最小ピーク値b1がダブって
抽出される。従って、第6図のS11においては、今回正
負フラグはb=0となり、STEP0でセットされたフラグM
T=0と一致する。この場合は、第6図のS16に進み、ダ
ブリ処理(エラー処理)を行う。However, in some cases, a waveform as shown in FIG. 13 (a) or (b) may be input in STEP1 after STEP0. In this case, after the minimum peak value b 0 of the negative side it is extracted with STEP0, the minimum peak value b 1 again negative in STEP1 is extracted I dub. Therefore, in S11 of FIG. 6, the positive / negative flag this time becomes b = 0, and the flag M set in STEP0 is set.
Matches T = 0. In this case, the process proceeds to S16 of FIG. 6, and the double processing (error processing) is performed.
S16では、ピーク値cの値が同じ符号の前回のピーク
値AMP(b)より大きいか否かが判定される。In S16, it is determined whether the value of the peak value c is larger than the previous peak value AMP (b) of the same sign.
今、第13図(a)のような場合、c=b1>AMP(b)
=AMP(0)=b0は成立しない。このような場合は、今
回の最小ピーク値b1はおかしな波形として無視し(斜線
部)、STEPは更新せずに、第4図のメインルーチンのM2
の処理に戻り、次の正常なピークが入力されるのを待
つ。Now, in the case as shown in FIG. 13 (a), c = b 1 > AMP (b)
= AMP (0) = b 0 does not hold. In such a case, the minimum peak value b 1 of this ignores a funny waveform (hatched portion), STEP is not updated, the main routine of FIG. 4 M2
Return to the process of and wait for the next normal peak to be input.
一方、第13図(b)のような場合、c=b1>APM
(b)=AMP(0)=b0は成立する。このような場合
は、前回のSTEP0で抽出した最小ピーク値b0の方をおか
しな波形として無視し(斜線部)、STEP0においてセッ
トされた負側の前回のゼロクロス時刻データTFN
(0)、及び負側の前回のピーク値AMP(0)の内容
を、第6図のS14、S15により今回のゼロクロス時刻t及
び今回ピーク値cと入れ替えて変更する。On the other hand, in the case of FIG. 13 (b), c = b 1 > APM
(B) = AMP (0) = b 0 holds. In such cases, ignoring the direction of the minimum peak value b 0 extracted with previous STEP0 as strange waveform (hatched portion), the previous zero-crossing time data of negative side is set in STEP0 TFN
The contents of (0) and the previous peak value AMP (0) on the negative side are changed by replacing the current zero crossing time t and the current peak value c with S14 and S15 in FIG.
即ち、第13図(b)の例では、TFN(0)=t=t1、A
MP(0)=c=b1となる。このダブリ処理の後、STEPは
更新せずに(第6図のS13を通らない)、第4図のメイ
ンルーチンのM2の処理に戻り、次の正常なピークが入力
されるのを待つ。That is, in the example of FIG. 13B, TFN (0) = t = t 1 , A
The MP (0) = c = b 1. After this doubling process, the STEP is not updated (the process does not pass through S13 in FIG. 6), and the process returns to the process of M2 in the main routine in FIG. 4, and waits for the next normal peak to be input.
上記動作の後、正常なピーク値が入力すると、第6図
のS11→S12→S13→S14→S15により前記した処理が行わ
れ、例えば第12図に示すようにt=t1で、次のSTEP2の
処理への移行が行われる。After the above operation, when the normal peak value is inputted, the sixth processing the by S11 → S12 → S13 → S14 → S15 in Figure is made, for example, t = t 1 as shown in FIG. 12, the following The transition to the processing of STEP2 is performed.
(STEP2の処理動作) 次に、第7図は、第4図のメインルーチンのM7として
示すステップ2(STEP2)の処理の動作フローチャート
である。この処理においては、ピッチ抽出のための第1
回目のピッチ周期の検出、ベロシティーの設定、及びST
EP3への移行処理、又はおかしな波形が入力したときの
エラー処理(ダブリ処理)等を行う。(Processing Operation of STEP 2) Next, FIG. 7 is an operation flowchart of the processing of Step 2 (STEP 2) shown as M7 in the main routine of FIG. In this process, the first for the pitch extraction
Detection of the second pitch period, velocity setting, and ST
Performs transition to EP3 or error processing (doubble processing) when a strange waveform is input.
《基本動作》 まず、前記STEP1による処理が行われた後、第4図の
メインルーチンでは、M2→M10→M11→M2のループの繰り
返しにより、前記ピッチ抽出デジタル回路2(第1図)
から再び割り込みがかかって、レジスタT0、C、Bに次
のデータが入力するのを待っている。<< Basic Operation >> First, after the processing in STEP 1 described above, in the main routine of FIG. 4, the pitch extraction digital circuit 2 (FIG. 1) is repeated by repeating a loop of M2 → M10 → M11 → M2.
Again, and waits for the next data to be input to the registers T0, C, and B.
そして、データが入力し、第4図のM2からM3を経て上
記各レジスタの内容が読み込まれると、M4を介してM7、
即ち第7図のSTEP2に移る。この状態においては、例え
ば第12図に示すように、今回のゼロクロス時刻t=t2、
今回正負フラグb=0、今回ピーク値はb=0より最小
ピーク値でc=b1である。Then, when data is input and the contents of the above registers are read through M2 to M3 in FIG. 4, M7, M7,
That is, the process proceeds to STEP 2 in FIG. In this state, for example, as shown in FIG. 12, the current zero-cross time t = t 2 ,
This negative flag b = 0, the current peak value is c = b 1 at the minimum peak value than b = 0.
まず、第7図のS20を経た後(後述する)のS21におい
ては、MCP3がバスBUSを介して第2図の時定数変換制御
回路202内の時定数変換レジスタCHTRRに現在処理をして
いる弦の開放弦フレット周期CHTIOをセットする。これ
は、前記「ピッチ抽出デジタル回路の動作」の項の時定
数変換制御回路202の説明において述べたように、ピー
ク検出回路201(第2図)がデジタル出力D1の波形の立
ち上がり時の振動を検知した後は、各ピッチ周期の倍音
を拾わないように、ピーク検出回路201内のピークホー
ルド回路から出力されるピークホールド信号(第10図
p1、q2等)が各弦の開放弦周期、即ち最低音周期CHTIO
の時間経過にて急速減衰するようにしたものである。First, in S21 after S20 in FIG. 7 (described later), the MCP 3 is currently processing the time constant conversion register CHTRR in the time constant conversion control circuit 202 in FIG. 2 via the bus BUS. Set the open string fret cycle CHTIO of the string. This is because, as described in the description of the time constant conversion control circuit 202 in the section "Operation of the pitch extraction digital circuit", the peak detection circuit 201 (FIG. 2) detects the oscillation at the rising of the waveform of the digital output D1. After the detection, the peak hold signal (FIG. 10) output from the peak hold circuit in the peak detection circuit 201 so as not to pick up the overtone of each pitch cycle.
p 1 , q 2 etc.) is the open string period of each string, that is, the lowest sound period CHTIO
Rapidly attenuates as time elapses.
次に、S22において、今回ピーク値cの値が同じ符号
の前回のピーク値AMP(b)の7/8倍より大きいか否かが
判定される。この処理については後に詳述するが、通常
は弦をピッキングした波形はなめらかに自然減衰するた
めこの判定はYESとなり、次のS23を経て(後述する)S2
4に進む。Next, in S22, it is determined whether or not the value of the current peak value c is greater than 7/8 times the previous peak value AMP (b) of the same sign. Although this processing will be described in detail later, usually, the waveform obtained by picking the strings smoothly attenuates smoothly, so this determination is YES, and the processing proceeds to S2 (described later) through the next S23.
Proceed to 4.
S24では、{(今回のゼロクロス時刻t)−(同じ符
号の前回のゼロクロス時刻データTFN(b))}を演算
することにより、第1回目のピッチ周期を検出する。そ
してこの結果を、後述するSTEP3でのノートオン(発音
開始)の条件として使用するために、前回周期データTP
(b)として設定する。第12図の例では、同図に示すよ
うにTP(0)=t−TFN(0)=t2−t0となる。In S24, the first pitch period is detected by calculating {(current zero-cross time t)-(previous zero-cross time data TFN (b) of the same sign)}. Then, in order to use this result as a condition for note-on (start of sound generation) in STEP 3 described later, the previous cycle data TP
Set as (b). In the example of Figure 12, the TP (0) = t-TFN (0) = t 2 -t 0 as shown in FIG.
また、S24では、今回のゼロクロス時刻tが以降の処
理のために前回のゼロクロス時刻データTFN(b)とし
て設定される。第12図の例では、同図に示すようにTFN
(0)=t=t2となる。なお、STEP0で設定されたTFN
(0)=t0は、上記前回周期データTP(b)=TP(0)
が演算できたため必要なくなり消去される。In S24, the current zero-cross time t is set as the previous zero-cross time data TFN (b) for the subsequent processing. In the example of FIG. 12, as shown in FIG.
(0) = t = t 2 . The TFN set in STEP0
(0) = t 0 is the previous cycle data TP (b) = TP (0)
Is no longer needed because it can be calculated and is deleted.
同じく、S24では、レジスタSTEPに3が書き込まれて
次のステップへの移行準備がなされる。Similarly, in S24, 3 is written in the register STEP, and preparation for shifting to the next step is made.
更に、S24では、以降の処理のために、今回ピーク値
cと、前回のピーク値AMP(0)、AMP(1)のうち、最
も大きい値をベロシティVELとして設定する。なお、ベ
ロシティVELは、STEP3で後述するように楽音の音量を決
定するための値として用いられる。同様に、今回ピーク
値cを前回のピーク値AMP(b)として設定し、第4図
のメインルーチンのM2の処理に戻る。第12図の例では、
VEL=max{c、AMP(0)、AMP(1)}=max{b1、
b0、a0}となり、AMP(0)=c=b1となる。なお、STE
P0で設定されたAMP(0)=b0は、上記ベロシティVELが
演算できたため必要なくなり消去される。Further, in S24, the largest value among the current peak value c and the previous peak values AMP (0) and AMP (1) is set as the velocity VEL for the subsequent processing. It should be noted that the velocity VEL is used as a value for determining the volume of a musical tone as described later in STEP3. Similarly, the current peak value c is set as the previous peak value AMP (b), and the process returns to the process of M2 in the main routine of FIG. In the example of Fig. 12,
VEL = max {c, AMP (0), AMP (1)} = max {b 1 ,
b 0 , a 0 }, and AMP (0) = c = b 1 . In addition, STE
AMP (0) = b 0 set in P0 is unnecessary and is deleted because the velocity VEL can be calculated.
《ダブリ処理の動作》 第12図のような正常なデジタル出力D1が入力している
場合には、前記STEP1において正(負)側の最大(小)
ピーク値が抽出された後は、STEP2において反対に負
(正)側の最小(大)ピーク値が抽出される。従って、
この場合のSTEP2におけるピーク値の符号はSTEP1のとき
と逆であり、更に、STEP0のときと同じとなり、第7図
のS20においては、今回正負フラグb=0(1)はSTEP0
でセットされたフラグMT=0(1)と一致し、前記した
ようにS21に進む。<< Operation of Dubble Processing >> When the normal digital output D1 as shown in FIG. 12 is being input, the maximum (small) on the positive (negative) side in STEP1 described above.
After the peak value is extracted, the minimum (large) peak value on the negative (positive) side is extracted in STEP2. Therefore,
In this case, the sign of the peak value in STEP2 is opposite to that in STEP1, and is the same as that in STEP0. In S20 in FIG. 7, the positive / negative flag b = 0 (1) is set to STEP0 in this case.
Coincides with the flag MT = 0 (1) set in the step (1), and proceeds to S21 as described above.
ところが、前記「STEP1の処理動作」の「ダブリ処理
の動作」の項の説明において述べたのと同様に、場合に
より波形がダブって、STEP1の後に第14A図又は第14B図
に示すような波形が入力することがある。この場合、ST
EP1で正側の最大ピーク値a0が抽出された後、STEP2で再
び正側の最大ピーク値a1がダブって抽出される。従っ
て、第7図のS20においては、今回正負フラグはb=1
となり、STEP0でセットされたフラグMT=0と一致す
る。この場合は、第7図のS25に進み、ダブリ処理(エ
ラー処理)を行う。なお、第14A図、第14B図において単
純斜線のハッチを施したピークは、第2図のピーク検出
回路201内のピークホールド回路から発生される第14A図
又は第14B図のピークホールド信号p0、p1、q0等にひっ
かからなかったため、ピークとして検出されなかった部
分である。However, in the same manner as described in the description of the “operation of the dub processing” in the “processing operation of STEP 1”, the waveform sometimes doubles, and after STEP 1, the waveform as shown in FIG. 14A or FIG. 14B is obtained. May be entered. In this case, ST
After the maximum peak value a 0 on the positive side is extracted with EP1, the maximum peak value a 1 again positive in STEP2 is extracted I dub. Therefore, in S20 of FIG. 7, the current positive / negative flag is b = 1.
And matches the flag MT = 0 set in STEP0. In this case, the process proceeds to S25 in FIG. 7, and the double processing (error processing) is performed. 14A and 14B, the peak hatched with a simple hatching is the peak hold signal p 0 in FIG. 14A or 14B generated from the peak hold circuit in the peak detection circuit 201 in FIG. , P 1 , q 0, etc., and were not detected as peaks.
S25では、まず、ダブリフラグDUBを1に設定した後
(後述する)、S26に進み、今回ピーク値cの値が同じ
符号の前回のピーク値AMP(b)より大きいか否かが判
定される。In S25, first, the doubling flag DUB is set to 1 (described later), and the process proceeds to S26, where it is determined whether or not the value of the current peak value c is larger than the previous peak value AMP (b) of the same sign.
今、第14A図において、STEP0(t=t0)、STEP1(t
=t1)の処理の後、t=t2においてSTEP2が実行された
場合、c=a1>AMP(b)=AMP(1)=a0は成立しな
い。即ち、第7図のS26の判定結果はNOとなる。このよ
うな場合は、今回の最大ピーク値a1はおかしな波形とし
て無視し(同図のクロス斜線のハッチを施した部分)、
STEPは更新せずに、第4図のメインルーチンのM2の処理
に戻り、次の正常なピークが入力されるのを待つ。そし
て、t=t3において、最小ピーク値c=b1が入力するこ
とにより、第7図のS20がYESとなって、第12図の場合と
同様に、前記S21→S22→S23→S24の処理が行われ、第14
A図のt=t3で次のSTEP3の処理に進む。なお、第7図の
S24において設定される前回周期データTP(0)は、第1
4A図に示すように、今回のゼロクロス時刻t3と、STEP0
において設定された前回のゼロクロス時刻t0の差にな
る。また、後述するSTEP3において演算されるその次の
周期データTxの起点は、同図に示すようにクロス斜線の
ハッチを施したピーク(c=a1)が無視されるため、ST
EP1において設定された前回のゼロクロス時刻TFN(1)
=t1である。Now, in the FIG. 14A, STEP0 (t = t 0) , STEP1 (t
= T 1 ), when STEP 2 is executed at t = t 2 , c = a 1 > AMP (b) = AMP (1) = a 0 does not hold. That is, the determination result of S26 in FIG. 7 is NO. In such cases, the maximum peak value a 1 of this ignores a funny waveform (areas in a cross hatched hatch in the figure),
The STEP returns to the processing of M2 in the main routine of FIG. 4 without updating, and waits for the next normal peak to be input. At t = t 3, by the minimum peak value c = b 1 is inputted, S20 of FIG. 7 becomes YES, and as in the case of Figure 12, the S21 → S22 → S23 → S24 Processing is performed and the 14th
In t = t 3 A Figure proceeds to the process in next STEP3. In addition, in FIG.
The previous cycle data TP (0) set in S24 is
As shown in Figure 4A, the current zero-crossing time t 3, STEP0
Made to the difference between the previous zero-crossing time t 0, which is set in. The starting point of the next periodic data Tx calculated in STEP 3 to be described later is a cross hatched peak (c = a 1 ) as shown in FIG.
Previous zero crossing time TFN set in EP1 (1)
= Is t 1.
一方、第14B図の場合、上記とは逆にc=a1>AMP
(b)=AMP(1)=a0は成立する。即ち、第7図のS26
の判定結果はYESとなる。このような場合は、前回のSTE
P1で抽出した最大ピーク値a0の方をおかしな波形として
無視し(同図のクロス斜線のハッチを施した部分)、ST
EP1においてセットされた前回のゼロクロス時刻データT
FN(1)、及び正側の前回のピーク値AMP(1)の内容
を、第7図のS29により今回のゼロクロス時刻t及び今
回のピーク値cと入れ替えて変更する。即ち、第14B図
の例では、同図に示すようにTFN(1)=t=t2、AMP
(1)=c=a0となる。このダブリ処理の後、STEPは更
新せずに第4図のメインルーチンのM2の処理に戻り、次
の正常なピーク値が入力するのを待つ。以下、t=t3に
おいて最小ピーク値c=b1が入力した後の処理は、前記
第14A図の場合と同じである。ただし、STEP1において抽
出されたピーク(第14B図のクロス斜線のハッチを施し
たピークc=a0)が無視され、c=a1のピークに変更さ
れているため、後述するSTEP3において演算されるTP
(0)の次の周期データTyの起点は、STEP2の前記ダブ
リ処理において設定された前回のゼロクロス時刻TFN
(1)=t2となり、第14A図の場合と異なる。On the other hand, in the case of FIG. 14B, c = a 1 > AMP
(B) = AMP (1) = a 0 holds. That is, S26 in FIG.
Is YES. In such a case, the last STE
Towards the maximum peak value a 0 extracted with P1 ignored as strange waveform (areas in a cross hatched hatch in the figure), ST
Previous zero-cross time data T set in EP1
The contents of FN (1) and the previous peak value AMP (1) on the positive side are changed by replacing the current zero-cross time t and the current peak value c with S29 in FIG. That is, in the example of FIG. 14B, TFN (1) = t = t 2 , AMP
(1) = c = a 0 After the dubbing process, the STEP returns to the process of M2 in the main routine of FIG. 4 without updating, and waits for the next normal peak value to be input. Hereinafter, processing after minimum peak value c = b 1 is inputted in t = t 3 is the same as that of the first 14A FIG. However, the peak extracted in STEP 1 (the peak c = a 0 hatched by the cross hatching in FIG. 14B) is ignored, and the peak is changed to c = a 1 , so that it is calculated in STEP 3 described later. TP
(0) of the origin of the next period data T y is the last zero crossing time TFN set in the doubling process STEP2
(1) = t 2 , which is different from the case of FIG. 14A.
以上、第14A図又は第14B図に示すように波形がダブっ
た場合は、ピーク値の小さい方のピークがおかしな波形
として無視され、エラー処理される。As described above, when the waveform is doubled as shown in FIG. 14A or FIG. 14B, the peak having the smaller peak value is ignored as a strange waveform, and error processing is performed.
次に、ダブリ処理の他の場合の処理のための、第7図
のS22の分岐について説明を行う。Next, a description will be given of the branch of S22 in FIG. 7 for the other case of the doubling processing.
今、第7図のSTEP2の処理が実行される場合、弦をピ
ッキングした正常な波形はなめらかに自然減衰するた
め、S22において今回ピーク値の値は同じ符号の前回の
ピーク値AMP(b)の7/8倍より大きい値となり、S22の
判定はYESとなって次のS23に進む。Now, when the processing of STEP 2 in FIG. 7 is executed, the normal waveform obtained by picking the strings attenuates smoothly and naturally, so that the value of the current peak value is equal to the value of the previous peak value AMP (b) of the same sign in S22. The value becomes greater than 7/8, the determination in S22 is YES, and the process proceeds to the next S23.
ところが、場合によりc>(7/8)×AMP(b)が成立
しないことがある。第1の場合として、例えば弦をブリ
ッジに近いところでピッキングすることにより、立ち上
がり時直後のピークとその次のピークの振幅が極端に変
わる場合がある。このような場合には、波形は正常だが
なめらかな減衰波形とならず、S22の判定結果がNOとな
ることがおこりうる。しかし、このような場合において
も、前記第7図のS24の処理を正常に行う必要がある。
そして、この場合、波形が正常であるため、前記したよ
うなダブリは発生しておらず、それ以前に第7図のS20
からS25へ分岐していないため、ダブリフラグDUBの値は
0のままである。そこで、第7図のS27において、DUB=
1が成立しない場合は、S22の判定結果にかかわらず、
再びS24の処理に戻り、前記「基本動作」の項で述べた
処理を行う。なお、ダブリフラグDUBは、前記第5図のS
TEP0のS04の処理において、その値が0に初期化されて
いる。However, in some cases, c> (7/8) × AMP (b) may not be satisfied. In the first case, for example, when a string is picked near a bridge, the amplitude of the peak immediately after the rise and the amplitude of the next peak may be extremely changed. In such a case, the waveform may not be a normal but smooth attenuation waveform, and the determination result in S22 may be NO. However, even in such a case, the processing of S24 in FIG. 7 needs to be performed normally.
In this case, since the waveform is normal, the above-mentioned double does not occur, and before that, S20 in FIG.
, The value of the double flag DUB remains 0. Therefore, in S27 of FIG. 7, DUB =
If 1 is not established, regardless of the determination result of S22,
Returning again to the processing of S24, the processing described in the section of “Basic operation” is performed. In addition, the double flag DUB is the same as S in FIG.
In the process of S04 of TEP0, the value is initialized to 0.
一方、第7図のS22が成立しない第2の場合として、
波形に前記したようなダブリが発生した場合がある。こ
の場合について、第14C図を用いて以下に説明を行う。On the other hand, as a second case where S22 in FIG. 7 is not satisfied,
The above-mentioned doubles may occur in the waveform. This case will be described below with reference to FIG. 14C.
今、第14B図で説明したのと同様に、第14C図に示すよ
うに、STEP0(t=t0)、STEP1(t=t1)の処理の後
に、t=t2において前記ダブリ処理が行われ、c=a0の
ピーク(同図のクロス斜線のハッチを施したピーク)が
除去され、c=a1のピーク(同図の縦線のハッチを施し
たピーク)が残されたとする。なお、単純な斜線のハッ
チを施したピーク(c=a1)は、第14A図又は第14B図と
同様、元々検出されないピークである。Now, in the same manner as described in Section 14B view, as shown in 14C view, STEP0 (t = t 0) , after treatment STEP1 (t = t 1), said doubling processing at t = t 2 is performed, the peak of c = a 0 (peak subjected to cross-hatched hatch in the figure) is removed, and c = a 1 peak (peak hatched vertical bars in the figure) is left . It should be noted that the peak (c = a 1 ) hatched by a simple oblique line is a peak that is not originally detected, as in FIG. 14A or FIG. 14B.
上記のようにダブリが発生すると、次のt=t3におい
ては第14C図に示すように正負フラグはb=0となるた
め、STEP0でセットされたフラグMT=0と一致する。従
って、第7図のS20からS21を介してS22の処理に進む。
ところが、t=t3において検出される今回の最小ピーク
値c=b1は、波形がダブったために同じ符号の前回の最
小ピーク値AMP(0)=b0からかなり離れており、減衰
も大きい。従って、第14C図に示すように第7図のS22の
判定結果がNOとなる場合がある。When doubling as described above occurs, the positive and negative flags as in the next t = t 3 shown in 14C diagram for the b = 0, coincides with the flag MT = 0 which is set in STEP0. Therefore, the process proceeds from S20 to S22 through S21 in FIG.
However, the minimum peak value c = b 1 of this detected at t = t 3, the waveform is considerably away from the previous minimum peak value AMP (0) of = b 0 with the same sign for the mapped twice, greater attenuation . Therefore, as shown in FIG. 14C, the determination result in S22 in FIG. 7 may be NO.
上記のような場合は、それ以前のt=t2においてダブ
リ処理を行っているため、ダブリフラグDUBの値は1で
ある。従って、第7図のS27の判定結果はNOとなり、S28
を介して(後述する)S29に進む。If as described above, because a duplication process in earlier t = t 2, the value of Daburifuragu DUB is 1. Therefore, the determination result of S27 in FIG. 7 is NO, and S28
Then, the process proceeds to S29 (to be described later).
S29においては、第14C図のt=t3以後に正常な波形を
獲得して新たに処理をやり直すために、STEP0において
セットされた前回のゼロクロス時刻データTFN(0)、
及び負側の前回のピーク値AMP(0)の内容を、第7図
のS29により今回のゼロクロス時刻t及び今回のピーク
値cと入れ替えて変更する。即ち、第14C図の例では、
同図に示すようにTFN(0)=t=t3、AMP(0)=c=
b1となり、結局、同図の横線のハッチを施したピーク
(c=b0)が無視される。なお、以降の処理のために、
第7図のS28でダブリフラグDUBは0にリセットされる。
これらの動作の後、STEPの値は更新せずに第4図のメイ
ンルーチンのM2の処理に戻り、次のピークの入力を待
つ。In S29, the 14C view of t = to redo the acquired newly processed normal waveform t 3 after, set in STEP0 the previous zero-crossing time data TFN (0),
Then, the content of the previous peak value AMP (0) on the negative side is changed by replacing the current zero crossing time t and the current peak value c with S29 in FIG. That is, in the example of FIG. 14C,
As shown in the figure, TFN (0) = t = t 3 , AMP (0) = c =
b 1, and the end, the peak subjected to horizontal hatch in FIG (c = b 0) are ignored. In addition, for the following processing,
The double flag DUB is reset to 0 in S28 of FIG.
After these operations, the process returns to M2 of the main routine in FIG. 4 without updating the value of STEP, and waits for the input of the next peak.
そして、上記の場合、第14C図に示すようにt=t4、
t=t5において、第7図のSTEP2が繰り返された後、STE
P3に移行する。このようなSTEP2の繰り返し動作につい
ては様々なパターンがあるため、その詳細な説明は省略
するが、全体の流れとしては正常な波形を獲得できるよ
うになって、次のSTEP3において用いるためのデータTFN
(0)、AMP(0)、及びTFN(1)、AMP(1)が有効
に決定されるように動作した後に、STEP3に移行する。
なお、第14C図のケースでは、TP(0)=t5−t3、後述
するSTEP3において演算されるその次の周期データT2の
起点は、TFN(1)=t4となる。Then, in the above case, t = t 4 , as shown in FIG. 14C,
In t = t 5, after the STEP2 of Figure 7 was repeated, STE
Move to P3. Since there are various patterns for such a repetition operation of STEP2, a detailed description thereof will be omitted, but a normal waveform can be obtained as a whole flow, and data TFN to be used in the next STEP3 is obtained.
After operating such that (0), AMP (0), TFN (1), and AMP (1) are effectively determined, the process proceeds to STEP3.
In the first 14C view of a case, TP (0) = t 5 -t 3, the next starting point of the period data T 2 calculated in the later-described STEP3 becomes TFN (1) = t 4.
(STEP3の処理動作) 次に、第8図は、第4図のメインルーチンのM8として
示すステップ3(STEP3)の処理の動作フローチャート
である。この処理においては、ノートオン(発音開始)
処理、ノートオン時の音高設定のためのピッチ周期の抽
出、ベロシティの演算、STEP4への移行処理、及びおか
しな波形が入力したときのエラー処理等を行う。なお、
本発明に特に関連する処理として、S301において、第1
図のラッチ11に値1.0をセットする処理が行われる。(Processing Operation of STEP3) Next, FIG. 8 is an operation flowchart of the processing of Step 3 (STEP3) shown as M8 in the main routine of FIG. In this process, note-on (start of sound generation)
Processing, extraction of a pitch cycle for setting a pitch at the time of note-on, calculation of velocity, transition processing to STEP 4, error processing when a strange waveform is input, and the like are performed. In addition,
As a process particularly related to the present invention, in S301, the first
The processing of setting the value 1.0 to the latch 11 in the figure is performed.
《基本動作》 まず、前記STEP3による処理が行われた後、第4図の
メインルーチンでは、M2→M10→M11→M2のループの繰り
返しにより、前記ピッチ抽出デジタル回路2(第1図)
から再び割り込みがかかって、レジスタT0、C、Bに次
のデータが入力するのを待っている。<< Basic Operation >> First, after the processing in STEP3 is performed, in the main routine of FIG. 4, the pitch extraction digital circuit 2 (FIG. 1) is repeated by repeating a loop of M2 → M10 → M11 → M2.
Again, and waits for the next data to be input to the registers T0, C, and B.
そして、データが入力し、第4図のM2からM3を経て上
記各レジスタの内容が読み込まれると、M4を介してM8、
即ち第8図のSTEP3に移る。この状態においては、例え
ば第12図に示すように、今回のゼロクロス時刻t=t3、
今回正負フラグb=1、今回ピーク値はb=1より最大
ピーク値でc=a1である。Then, when data is input and the contents of the above registers are read via M2 to M3 in FIG. 4, M8, M8,
That is, the process proceeds to STEP 3 in FIG. In this state, for example, as shown in FIG. 12, the current zero-cross time t = t 3 ,
This negative flag b = 1, this peak value is c = a 1 a maximum peak value from b = 1.
まず、第8図のS30、S31、S32を経た後(後述す
る)、S33において音量パラメータVELを演算する。今、
前記「STEP2の処理動作」の「基本動作」の項で説明し
たように、第7図のS24において、過去3回のピーク
値、第12図の例では、b0、a0、b1の各値(絶対値)のう
ち最大のものがベロシティVELに格納されている。そこ
で、第8図のS33において、ベロシティVELと今回ピーク
値cのうち大きい方を判定し、それを楽音発生回路5
(#1〜#nのうちいずれか)(第1図)で楽音を発生
するときの新たな音量パラメータVELとする。第12図の
例では、VEL=a0、c=a1より、VEL=max〔a0、a1〕=a
0となる。First, after going through S30, S31 and S32 in FIG. 8 (described later), a volume parameter VEL is calculated in S33. now,
As described in the “Basic operation” section of the “processing operation of STEP2”, in S24 of FIG. 7, the past three peak values, in the example of FIG. 12, b 0 , a 0 , and b 1 The largest value among the values (absolute values) is stored in the velocity VEL. Therefore, in S33 of FIG. 8, the larger one of the velocity VEL and the current peak value c is determined, and this is determined.
(Any one of # 1 to #n) (FIG. 1) is a new volume parameter VEL for generating a musical tone. In the example of FIG. 12, VEL = max [a 0 , a 1 ] = a from VEL = a 0 and c = a 1
It becomes 0 .
上記動作の後、第8図の同じくS33において、MT←b
とした後(後述する)、S34において、{(今回のゼロ
クロス時刻t)−(同じ符号の前回のゼロクロス時刻デ
ータTFN(b))}を演算することにより、ピッチ周期
を検出し、前回周期データTP(b)として設定する。第
12図の例では、同図に示すようにTP(1)=t3−t1とな
る。After the above operation, at S33 in FIG.
Then, in S34, the pitch cycle is detected by calculating {(current zero-cross time t)-(previous zero-cross time data TFN (b)) of the same sign}, and the previous cycle data is calculated. Set as TP (b). No.
In the example of Figure 12, as shown in FIG TP (1) = t 3 becomes -t 1.
続いて、第8図のS35〜S38を経た後(後述する)、S3
9において、上記S34で求まった前回周期データTP(b)
と、前記第7図のS24において設定された、上記TP
(b)とは異極性の前回周期データTP()とが、ほぼ
同一であるか否かを判定する。そして、その判定結果が
YESである場合には、ピッチ周期が安定に抽出され始め
たとして、S301を経た後(後述する)、S302においてノ
ートオンの処理を行う。第12図の例では、負側の前回周
期データTP(1)=t3−t1と正側の前回周期データTP
(0)=t2−t0が、ほぼ同一であると判定され、ノート
オンの処理に移る。なお、判定結果がNOの場合について
は後述する。Subsequently, after S35 to S38 in FIG. 8 (described later), S3
In 9, the previous cycle data TP (b) obtained in S34 above
And the TP set in S24 of FIG.
It is determined whether or not the previous cycle data TP () having a different polarity from (b) is substantially the same. And the judgment result is
If YES, it is determined that the pitch cycle has started to be stably extracted, and after S301 (described later), a note-on process is performed in S302. In the example of Figure 12, the previous period data TP (1) of the negative side = t 3 -t 1 and the positive of the previous period data TP
It is determined that (0) = t 2 −t 0 is substantially the same, and the processing shifts to note-on processing. The case where the determination result is NO will be described later.
S302においては、第8図のS33で演算された音量パラ
メータVEL及びS34で抽出された前回ピッチ周期TP(b)
とに基づいて、対応する音量情報及び音高情報が生成さ
れ、第1図のMIDI−BUS及びインタフェースMIDIを介し
て楽音発生回路5(#1〜#nのうち対応するもの)に
出力される。そして、同回路5では上記各情報に応じた
音量及び音高の楽音がリアルタイムで発生される。この
ように、本実施例では第12図のt=t3に示すように波形
が立ち上がってから約1.5周期程度でノートオンするた
め、弦の振動波形に良く追従した楽音の発音を行わせる
ことができる。In S302, the volume parameter VEL calculated in S33 of FIG. 8 and the previous pitch cycle TP (b) extracted in S34
, Corresponding volume information and pitch information are generated and output to the tone generator 5 (corresponding one of # 1 to #n) via the MIDI-BUS and the interface MIDI in FIG. . Then, in the circuit 5, a musical tone having a volume and a pitch corresponding to each of the information is generated in real time. As described above, in the present embodiment, note-on is performed in about 1.5 cycles after the rise of the waveform as shown at t = t 3 in FIG. 12, so that the musical tone that closely follows the vibration waveform of the string is produced. Can be.
上記ノートオンの処理と共に、S301においては、本発
明に特に関連する処理として、第1図のラッチ11に値1.
0をセットする処理が行われる。この処理により、「本
実施例の概略動作」の項で第11図を用いて説明したよう
に、上記ノートオン時のアタック部分では、第1図の乗
算器6から出力される楽音信号のエンベロープ特性とし
て、楽音発生回路5のエンベロープ発生回路ENVで付加
されたシンセ・エンベロープの特性がそのまま保存さ
れ、楽音発生回路5からのシンセ音の特徴が良く保存さ
れた特性の楽音が発音される。Along with the above note-on process, in S301, as a process particularly related to the present invention, the value 1.
A process of setting 0 is performed. As a result of this processing, as described with reference to FIG. 11 in the section entitled “Schematic Operation of the Embodiment”, the envelope portion of the tone signal output from the multiplier 6 in FIG. As the characteristic, the characteristic of the synth envelope added by the envelope generating circuit ENV of the musical sound generating circuit 5 is preserved as it is, and a musical tone having the characteristic that the characteristic of the synth sound from the musical sound generating circuit 5 is well preserved is generated.
更に、第8図のS38及びS301において、次のSTEP4にお
いて用いられるパラメータの設定を行なった後、S306を
経て第4図のメインルーチンのM2の処理に戻り、次のST
EP4に移行する。即ち、S38においてS34で抽出された前
回の周期データTP(b)が前回抽出された周期データTT
Pとしてセットされ、S301において第7図のSTEP2のS24
で設定された前回のゼロクロス時刻データTFN()が
時刻記憶レジスタTFRにセットされ、今回のゼロクロス
時刻データtが有効となった前回のゼロクロス時刻デー
タTFとしてセットされ、波形ナンバーカウンタHNCが0
にクリアされ、レジスタSTEPの値が4に更新され、ノー
トオンフラグONFが2(発音状態)にセットされ、定数T
TUが0(最低MIN)にセットされ、定数TTWが最高MAXに
セットされ、リラティブオフチェックのための前回の振
幅値AMRL1が0にクリアされる。これらの各パラメータ
については、STEP4で後述する。Further, in S38 and S301 of FIG. 8, after setting the parameters used in the next STEP 4, the process returns to M2 of the main routine of FIG.
Move to EP4. That is, in S38, the previous cycle data TP (b) extracted in S34 is replaced with the cycle data TT extracted last time.
It is set as P, and in S301, S24 of STEP2 of FIG.
Is set in the time storage register TFR, and the current zero-cross time data t is set as the previous zero-cross time data TF that has become valid, and the waveform number counter HNC is set to 0.
Is cleared, the value of the register STEP is updated to 4, the note-on flag ONF is set to 2 (sound generation state), and the constant T
TU is set to 0 (minimum MIN), constant TTW is set to maximum MAX, and the previous amplitude value AMRL1 for the relative off check is cleared to 0. Each of these parameters will be described later in STEP4.
《周期不適切の場合の動作》 前記第8図のS34において、前回周期データTP(b)
が検出された場合、このピッチ周期は、対応する弦を最
高フレットで演奏したときの周期より大きい値を有し、
その弦の開放弦周期より小さい値を有するはずである。<< Operation when cycle is inappropriate >> In S34 of FIG. 8, the previous cycle data TP (b)
Is detected, this pitch period has a value greater than the period when the corresponding string is played at the highest fret,
It should have a value less than the open string period of the string.
そこで、周波数上限THLIMという定数として、現在処
理をしている弦の最高音フレットで定まる音高の2〜3
半音上の音高周期を設定し、周波数下限TTLIMという定
数として、同じ弦の開放弦状態で定まる音高の5半音程
度下の音高周期を設定し、第8図のS36、S37において、
S34で求まった前回周期データTP(b)がTHLIMより大き
く、かつ、TTLIMより小さいか否かが判定される。そし
て、上記判定結果が共にYESであれば、S39に進んで前記
した周期判定処理を行う。Therefore, as a constant called the frequency upper limit THLIM, the pitch determined by the highest note fret of the string currently being processed is 2-3.
Set a pitch period on a semitone, and as a constant called frequency lower limit TTLIM, set a pitch period about 5 semitones lower than the pitch determined in the open string state of the same string, and in S36 and S37 in FIG.
It is determined whether the previous cycle data TP (b) obtained in S34 is larger than THLIM and smaller than TTLIM. If both the determination results are YES, the process proceeds to S39 and performs the above-described cycle determination process.
ここでS36、S37の判定結果がNOの場合、S34で抽出さ
れた前回周期データTP(b)は適切な値でないことにな
る。従って、このような場合は、S36又はS37から第4図
のメインルーチンのM2の処理に戻りSTEP3を繰り返す。Here, if the determination results in S36 and S37 are NO, the previous cycle data TP (b) extracted in S34 is not an appropriate value. Therefore, in such a case, the process returns from S36 or S37 to the process of M2 in the main routine of FIG. 4, and STEP3 is repeated.
次に、第8図のS39において、S34で求まった前回周期
データTP(b)と、これと異極性の前回周期データTP
()とが離れた値である場合には、倍音等を抽出して
しまって正確なピッチ周期の抽出を誤った可能性が高
く、ピッチ周期が安定に抽出されていないことになる。
従って、このような場合は、S39の判定結果がNOとな
り、第4図のメインルーチンのM2の処理に戻りSTEP3を
繰り返す。Next, in S39 of FIG. 8, the previous cycle data TP (b) obtained in S34 and the previous cycle data TP
If () is a value apart from (), there is a high possibility that an overtone or the like has been extracted and a correct pitch cycle has been erroneously extracted, and the pitch cycle has not been stably extracted.
Accordingly, in such a case, the determination result in S39 is NO, and the process returns to the process of M2 in the main routine of FIG. 4 and repeats STEP3.
ここで、上記動作によりSTEP3を繰り返す場合、通常
の波形においては、第4図のM2、M3を介して新たに検出
されるピークは、その極性が交互に切り替わってbの値
が0と1で交互に反転し、また、第8図のS33において
フラグMTの値が交互に変更され、同じくS34においてTP
(b)が新たに演算され、TFN(b)の内容も書き替え
られる。従って、S36、S37の判定は、最も新しく求まっ
たピッチ周期に対して行われ、更に、S39における判定
は、最も新しく求まったピッチ周期と、その1つ前(約
半周期前)の異極性側のピッチ周期とに対して行われ、
ピッチ周期が安定に抽出できた時点で前記ノートオンの
処理へ移行することになる。Here, when STEP3 is repeated by the above operation, in a normal waveform, a peak newly detected via M2 and M3 in FIG. 4 has its polarity switched alternately and the value of b is 0 and 1, Alternatingly, the value of the flag MT is alternately changed in S33 of FIG.
(B) is newly calculated, and the contents of TFN (b) are also rewritten. Therefore, the determinations in S36 and S37 are made for the most recently obtained pitch cycle, and the determination in S39 is made for the most recently obtained pitch cycle and the immediately preceding (about half cycle) opposite polarity side. And the pitch period of
When the pitch period can be stably extracted, the processing shifts to the note-on processing.
また、その都度、第8図のS33において、ベロシティV
ELが新しく検出されたピークに対応するように更新され
る。Each time, at S33 in FIG. 8, the velocity V
The EL is updated to correspond to the newly detected peak.
《ノイズ除去処理の動作》 第8図のS31の処理は、波形の立ち上がり部分にノイ
ズが発生した場合に対処するための処理である。今、例
えば第15図に示すように、STEP0、1、2においてノイ
ズによるピークa0、b0、a1等が検出されてしまった場
合、これらのノイズの周期を検出して発音開始を指示す
ると、全くおかしな楽音を発音してしまう。<< Operation of Noise Removal Process >> The process of S31 in FIG. 8 is a process for coping with a case where noise occurs at the rising portion of the waveform. Now, as shown in FIG. 15, for example, when peaks a 0 , b 0 , a 1, and the like due to noise are detected in STEPs 0 , 1 , and 2 , the periods of these noises are detected and the start of sound generation is instructed. Then, a strange sound is produced.
そこで、第8図のS31においては、連続するピーク値
が大きく変化した場合には、ノイズが発生していると判
断して異常検知フラグXを1にセットし、S35においてN
Oの判定をさせることにより、ノイズ部分に基づいてノ
ートオンしないようにしている。Therefore, in S31 of FIG. 8, when the continuous peak value greatly changes, it is determined that noise has occurred, the abnormality detection flag X is set to 1, and in S35, N
By making O determination, note-on is prevented from being performed based on the noise portion.
具体的には、今回ピーク値cを1/8した値が、それと
同符号の前回ピーク値AMP(b)より小さければ正常で
あると判断してX=0とし、そうでなければX=1とす
る。そして、S35においてX=0でないと判定された場
合には、第4図のメインルーチンのM2の処理に戻りSTEP
3を繰り返す。この場合、第8図のS32において前回ピー
ク値AMP(b)が順次更新されるため、S31における処理
は、最も新しく検出されたピーク値とその直前の同符号
のピーク値とに対して行われ、連続するピーク値が大き
く変化しなくなった時点で前記ノートオンの処理へ移行
することになる。第15図の例では、t=t3、t=t4共に
S31でX=1となってまうためノートオンせず、t=t5
において初めて正常なピークが入力したと判断されるた
めX=0となり、t=t5でノートオンする。そして、こ
の場合は、連続するピッチ周期TP(b)とTP()は正
常な値となっている。Specifically, if the value obtained by dividing the current peak value c by 1/8 is smaller than the previous peak value AMP (b) of the same sign, it is determined that the value is normal and X = 0, otherwise, X = 1 And If it is determined in step S35 that X is not 0, the process returns to step M2 of the main routine in FIG.
Repeat 3. In this case, since the previous peak value AMP (b) is sequentially updated in S32 of FIG. 8, the process in S31 is performed on the most recently detected peak value and the immediately preceding peak value of the same sign. When the continuous peak value does not change significantly, the processing shifts to the note-on processing. In the example of FIG. 15, both t = t 3 and t = t 4
Since X = 1 at S31, note-on is not performed, and t = t 5
X = 0 becomes for the first time the normal peak is determined to have entered in, the note-on at t = t 5. In this case, the continuous pitch periods TP (b) and TP () have normal values.
《ダブリ処理の動作》 第8図のS30の判定処理は、ダブリ処理のための判定
である。今、第12図のような正常な波形D1が入力してい
る場合には、t=t3における今回正負フラグb=1は、
フラグMT=0と一致せず、前記したようにS31へ進む。<< Operation of Double Duty Processing >> The determination processing of S30 in FIG. 8 is a determination for double doubling processing. Now, when a normal waveform D1 such as Figure 12 is entered, the positive and negative flag b = 1 this at t = t 3, the
The flag MT does not match, and the process proceeds to S31 as described above.
ところが、前記「STEP1の処理動作」又は「STEP2の処
理動作」の「ダブリ処理の動作」の項の説明において述
べたのと同様に、波形がダブった場合、第8図のS30の
判定結果はNOとなる。However, as described in the description of the “processing operation of STEP 1” or “processing operation of STEP 2” in the section “Operation of double processing”, when the waveform is doubled, the determination result of S30 in FIG. NO.
そして、ダブったピークのピーク値cの方が、それと
同符号の直前のピーク値AMP(b)より小さい場合は、
第8図のS303の判定結果がNOとなることによりそのダブ
ったピークを無視し、第4図のM2の処理に戻った後STEP
3を繰り返す。これは、第14A図の場合等と同様の考え方
による。If the peak value c of the doubled peak is smaller than the peak value AMP (b) immediately before the same sign,
When the determination result of S303 in FIG. 8 is NO, the double peak is ignored, and after returning to the process of M2 in FIG.
Repeat 3. This is based on the same concept as in FIG. 14A and the like.
これに対して、ダブったピークのピーク値cの方が大
きかった場合は、S303の判定結果はYESとなり、S304の
処理へ進む。そして、S304では直前のピークの方を無視
して、AMP(b)の内容を今回のピーク値cに設定し直
し、ベロシティVELをその値を使って計算し直した後、
第4図のM2に戻ってSTEP3を繰り返す。これは、第14B図
の場合等と同様の考え方による。On the other hand, when the peak value c of the doubled peak is larger, the determination result in S303 is YES, and the process proceeds to S304. Then, in S304, ignoring the immediately preceding peak, the content of AMP (b) is reset to the current peak value c, and the velocity VEL is recalculated using that value.
Returning to M2 in FIG. 4, STEP3 is repeated. This is based on the same concept as in FIG. 14B and the like.
以上の処理の後、正常なピークが入力することによ
り、S30の判定結果がYESとなり、更に、S35、S36、S37
及びS39等の各判定結果がYESとなることにより、前記ノ
ートオンの処理が行われ、楽音の発音が開始されること
になる。After the above processing, when a normal peak is input, the determination result of S30 becomes YES, and further, S35, S36, S37
When the determination results in steps S39 and S39 are YES, the note-on process is performed, and the tone generation starts.
(STEP4の処理動作) 次に、第9A図は、第4図のメインルーチンのM9として
示すステップ4(STEP4)の処理の動作フローチャート
である。この処理においては、ピッチ抽出・変更処理、
本発明に直接関連するエンベロープ制御処理、リラティ
ブオン・リラティブオフの処理、ピッチ周期不適時の処
理、及びダブリ処理等を行う。まず、ピッチ抽出・変更
処理及びエンベロープデータの抽出処理においては、ピ
ッチ抽出のみを行うルート、実際にピッチ変更を行う
と共にエンベロープデータの抽出を行うルートがあ
り、通常は新たなピークが入力する毎に交互に繰り返
す。(Processing Operation of STEP 4) Next, FIG. 9A is an operation flowchart of the processing of Step 4 (STEP 4) shown as M9 in the main routine of FIG. In this processing, pitch extraction / change processing,
Envelope control processing, relative-on / relative-off processing, processing when the pitch period is inappropriate, and double processing, etc., directly related to the present invention are performed. First, in the pitch extraction / change process and the envelope data extraction process, there is a route for performing only pitch extraction, and a route for actually changing the pitch and extracting the envelope data. Usually, each time a new peak is input, Repeat alternately.
《ルートの動作》 先ず、S40、S41、S42、S63〜S67に示すルートにつ
いて説明する。S40において、波形ナンバーカウンタHNC
>3が判断され、YESの場合にはS41に進む。S41では、
リラティブオンしきい値TRLRL<(今回ピーク値c−同
じ符号の前回のピーク値AMP(b))かどうかが判断が
行われ、NOの場合にはS42に進む(YESの場合は後述す
る)。<< Route Operation >> First, the routes shown in S40, S41, S42, and S63 to S67 will be described. In S40, the waveform number counter HNC
> 3, and in the case of YES, the process proceeds to S41. In S41,
It is determined whether or not the relative-on threshold value TRLRL <(current peak value c−previous peak value AMP (b) of the same sign). If NO, the process proceeds to S42 (if YES, the process will be described later).
S42では今回正負フラグb=フラグMTつまりピッチ変
更側かどうかが判断され、YESの場合にはS43に進む。In S42, it is determined whether this time the positive / negative flag b = flag MT, that is, the pitch change side, and if YES, the process proceeds to S43.
ところで、初期状態では、前記波形ナンバーカウンタ
HNCは0である(第8図のS301参照)ので、S40ではNOの
判断をしてS42へ進む。そして、例えば第12図のような
波形入力の場合は、t=t4においてb=0でMT=1(第
8図のSTEP3のS33で書き替えられている)であるから、
S42からS63へ進む。By the way, in the initial state, the waveform number counter
Since HNC is 0 (see S301 in FIG. 8), NO is determined in S40 and the process proceeds to S42. For example, in the case of the waveform input as shown in FIG. 12, since b = 0 at t = t 4 and MT = 1 (rewritten in S33 of STEP 3 in FIG. 8),
Proceed from S42 to S63.
S63においては、同じ極性のピークが続けて入力され
てきているか(ダブリであるか)、否かチェックするた
めに、レジスタRIV=1かどうかが判断され、YESの場合
(ピークがダブった場合)にはS68に進んでダブリ処理
を行い(後述する)、また、NOの場合(ダブリでない場
合)にはS64に進み、ここで以下の処理が行われる。In S63, it is determined whether or not the register RIV = 1 to check whether or not a peak having the same polarity is continuously inputted (whether the peak is doubled). If YES (if the peak is doubled) In step S68, the doubling process is performed (to be described later). In the case of NO (non-doubling), the process proceeds to S64, where the following process is performed.
即ち、S64では今回ピーク値cが前回のピーク値AMP
(b)に入力され、リラティブオフ処理(後述する)の
ために前回の振幅値AMRL1が前々回の振幅値AMRL2に入力
される。なお、始めはAMRL1の内容は0である。(第8
図のSTEP3のS301参照)。That is, in S64, the current peak value c is changed to the previous peak value AMP.
(B), and the previous amplitude value AMRL1 is input to the amplitude value AMRL2 two times before for the purpose of the relative-off process (described later). At first, the content of AMRL1 is 0. (Eighth
(See S301 of STEP3 in the figure).
更に、S64において、異符号の前回のピーク値AMP
()と今回ピーク値cのうちいずれか大きい値が前回
振幅値AMRL1に入力される。つまり、周期の中で2つあ
る正、負のピーク値について大きい値のピーク値が振幅
値AMRL1にセットされる。Further, in S64, the previous peak value AMP of the opposite sign
The larger value between () and the current peak value c is input to the previous amplitude value AMRL1. That is, the peak value of the larger value of the two positive and negative peak values in the cycle is set to the amplitude value AMRL1.
そして、S65で波形ナンバン−カウンタHNC>8かどう
かが判断され、ここで波形ナンバーカウンタ(ピッチ変
更側でないゼロクロスカウンタ)HNCが+1され、カン
ウトアップされる。従って、波形ナンバーカウンタHNC
は、上限が9となる。そして、S65もしくはS66の処理の
後S67へ進行する。Then, in S65, it is determined whether or not the waveform Nanban-counter HNC> 8. Here, the waveform number counter (zero cross counter not on the pitch change side) HNC is incremented by one, and the count is increased. Therefore, the waveform number counter HNC
Has an upper limit of 9. Then, the process proceeds to S67 after the process of S65 or S66.
S67では、レジスタRIVを1とし、今回のゼロクロス時
刻tから時刻記憶レジスタTFRの内容を引算して、周期
レジスタTTRへ入力する。この周期レジスタTTRは、第12
図の例では周期情報TTR=t−TFR=t4−t2を示す。そし
て、今回のゼロクロス時刻tは、時刻記憶レジスタTFR
へセーブされ、この後、第4図のメインルーチンのM2の
処理に戻る。In S67, the register RIV is set to 1, the content of the time storage register TFR is subtracted from the current zero crossing time t, and the result is input to the period register TTR. This cycle register TTR
In the example of the figure, the period information TTR = t−TFR = t 4 −t 2 is shown. The current zero-crossing time t is stored in the time storage register TFR.
Then, the process returns to the process of M2 in the main routine of FIG.
以上述べたようにルートは、第12図の例によれば以
下のような処理がなされる。即ち、MT=1≠b、RIV=
0、AMP(0)←c=b2、AMRL2←AMRL1=0、AMRL1←ma
x{AMP(1)=a1、c=b2(のいずれか大きい方)}、
HNC←{HNC+1}=1、RIV←1、TTR←{t−TFR}=
{t4−t2}、TFR←t=t4となる。従って、周期レジス
タTTRに前回の同極性のゼロクロス点t=t2(STEP2→3
の変化時点)から今回のゼロクロス点t=t4までの時刻
情報の差つまり、周期情報が求まったことになる。そし
て、第4図のメインルーチンのM2の処理へ戻り、次のピ
ークが入力するのを待つ。As described above, the route is subjected to the following processing according to the example of FIG. That is, MT = 1 ≠ b, RIV =
0, AMP (0) ← c = b 2 , AMRL2 ← AMRL1 = 0, AMRL1 ← ma
x {AMP (1) = a 1 , c = b 2 (whichever is greater)},
HNC ← {HNC + 1} = 1, RIV ← 1, TTR ← {t-TFR} =
{T 4 −t 2 }, and TFR ← t = t 4 . Therefore, the previous zero-cross point of the same polarity t = t 2 (STEP 2 → 3
The difference that is the variation time) of time information to the current zero cross point t = t 4, so that the cycle information is Motoma'. Then, the process returns to the process of M2 in the main routine of FIG. 4, and waits for the input of the next peak.
《ルートの動作》 次に、S40〜S62に示すルートへ進んだ場合の説明を
行なう。いま、波形ナンバーカウンタHNC=1なので(S
66参照)、S40からS42へ進む(S40については後述す
る)。<< Route Operation >> Next, a description will be given of a case where the vehicle has proceeded to the route shown in S40 to S62. Now, since the waveform number counter HNC is 1, (S
66, and proceeds from S40 to S42 (S40 will be described later).
S42では、例えば第12図のような場合、MT=1、b=
1なのでYESとなり、S43へ進む。In S42, for example, in the case of FIG. 12, MT = 1, b =
Since it is 1, it becomes YES and proceeds to S43.
S43では、レジスタRIV=1かどうかが判断される。既
にルートにおいて、レジストRIVは1とされている(S
67参照)ので、S43の判断はYESとなり、S44へ進む。な
お、S43の判定結果がNOとなる場合のダブリ処理につい
ては後述する。In S43, it is determined whether or not the register RIV = 1. Already on the route, the resist RIV is set to 1 (S
67)), so the determination in S43 is YES, and the process proceeds to S44. It should be noted that the dubbing process performed when the determination result of S43 is NO will be described later.
S44では、レジスタSTEP=4かどうかが判断され、YES
の場合にはS45に進む(NOの場合については後述す
る)。S45では、今回ピーク値c<60H(Hは16進法表現
を示す)かどうかが判断され、値の大きなピーク値が入
力した場合は、この判定結果はNOとなり、S47に進む。
これに対して、値が60Hより小さい場合は、YESとなりS4
6に進む。In S44, it is determined whether or not the register STEP = 4, and YES
In the case of, the process proceeds to S45 (the case of NO will be described later). In S45, it is determined whether or not the current peak value is c <60H (H indicates a hexadecimal notation). If a peak value having a large value is input, the determination result is NO, and the process proceeds to S47.
On the other hand, if the value is smaller than 60H, the result is YES and S4
Proceed to 6.
S46では、前々回の振幅値(ピーク値)AMRL2−前回の
振幅値(ピーク値)AMRL1≦(1/32)×前々回の振幅値
(ピーク値)AMRL2かどうかが判断され、YESの場合には
S47に進み、リラティブオフカウンタFOFRが0にセット
される。NOの場合には、S74に進みリラティブオフの処
理が行われる。このリラティブオフの処理については後
述する。In S46, it is determined whether or not the amplitude value (peak value) AMRL2 of the previous time AMRL2−the previous amplitude value (peak value) AMRL1 ≦ (1/32) × the amplitude value (peak value) of the previous time AMRL2 (in the case of YES).
Proceeding to S47, the relative off counter FOFR is set to 0. In the case of NO, the process proceeds to S74 and the relative off process is performed. The relative off processing will be described later.
S48では周期計算が行われる。具体的には、(今回の
ゼロクロス時刻t−前回のゼロクロス時刻データTF)が
今回の周期情報ttとしてレジスタTOTOにセットされる。
そして、S49に進む。In S48, a cycle calculation is performed. Specifically, (the current zero-cross time t-the previous zero-cross time data TF) is set in the register TOTO as the current cycle information tt.
Then, the process proceeds to S49.
S49では、今回の周期情報tt>周波数上限THLIM(発音
開始後の上限)かどうかが判断され、YESの場合はS50に
進む(NOの場合は後述する)。S49の周波数上限THLIM
は、第8図のSTEP3のS36で使用したトリガ時(発音開始
時)の周波数の許容範囲の上限(従って周期として最小
で、最高音フレットの2〜3半音上の音高周期に相当す
る)と同一のものである。In S49, it is determined whether or not this cycle information tt> frequency upper limit THLIM (upper limit after the start of sound generation). If YES, the process proceeds to S50 (if NO, it will be described later). S49 frequency upper limit THLIM
Is the upper limit of the allowable frequency range at the time of triggering (at the start of sound generation) used in S36 of STEP 3 in FIG. 8 (therefore, the period is the minimum and corresponds to the pitch period two to three semitones above the highest note fret) Is the same as
次に、S50では以下の処理が行われる。即ち、レジス
タRIVを0にし、今回のゼロクロス時刻tが前回のゼロ
クロス時刻データTFとして入力され、また前回のピーク
値AMP(b)が前々回ピーク値eに入力され、さらに今
回ピーク値cが前回のピーク値AMP(b)入力される。Next, the following processing is performed in S50. That is, the register RIV is set to 0, the current zero-cross time t is input as the previous zero-cross time data TF, the previous peak value AMP (b) is input as the peak value e twice before, and the current peak value c is set as the previous peak value c. The peak value AMP (b) is input.
そして、S50の処理の後S51に進み、S51では、周波数
下限TLLIM>今回の周期情報ttかどうかが判断され、YES
の場合即ち今回の周期がノートオン中のピッチ抽出音域
下限以下になった場合にはS52に進む。この場合、周波
数下限TLLIMは、例えば、開放弦音階の1オクターブ下
にセットされる。つまり、第8図のSTEP3の周波数下限T
TLIM(S37参照)に比較して、許容範囲を広くしてい
る。このようにすることで、トレモロアームの操作など
による周波数変更に対応し得るようになる。Then, after the process of S50, the process proceeds to S51, and in S51, it is determined whether or not the frequency lower limit TLLIM> the present cycle information tt, and YES
In other words, if the current cycle is equal to or less than the lower limit of the pitch extraction range during note-on, the process proceeds to S52. In this case, the lower frequency limit TLLIM is set, for example, one octave below the open string scale. That is, the lower frequency limit T of STEP3 in FIG.
The tolerance is wider than TLIM (see S37). By doing so, it becomes possible to cope with a frequency change due to operation of the tremolo arm or the like.
上記動作により、周波数の上限、下限について許容範
囲に入る場合についてのみS52まで進み、そうでない場
合はS49、S51より第4図のメインルーチンのM2の処理に
戻って次のピークの入力を待つ。By the above operation, the process proceeds to S52 only when the upper and lower limits of the frequency fall within the allowable range. Otherwise, the process returns to M2 of the main routine of FIG. 4 from S49 and S51 and waits for the input of the next peak.
次に、S52では周期データTTPが前々回抽出された周期
データhに入力され、また、今回の周期情報ttが前回抽
出された周期データTTPに入力される。Next, in S52, the cycle data TTP is input to the cycle data h extracted two times before, and the current cycle information tt is input to the cycle data TTP extracted last time.
S53、S54では2波3値一致条件が判断される。S53で
は、今回の周期情報tt×2-7>|今回の周期情報tt−前
々回周期データh|が判断され、YESの場合にはS54に進
み、またS54では、今回の周期情報tt×2-7>|今回の周
期情報tt−周期レジスタTTRの内容|が判断され、YESの
場合にはS55に進む。即ち、S53では、第12図の例の場
合、今回の周期情報tt=t5−t3(S48参照)が、前回の
周期データh=TTP=t3−t1(S52参照)の値とほぼ一致
するか否かを判断し、S54では、今回の周期情報tt=t5
−t3が、それに重なる周期TTR=t4−t2(S67参照)とほ
ぼ一致するか否かを判断する。なお、その限界範囲は、
2-7・ttとして、周期情報に依存してその値が変わるよ
うになっている。勿論、これは固定の値としてもよい
が、本実施例採用技術の方が良好な結果を得ることがで
きる。In S53 and S54, a two-wave ternary match condition is determined. In S53, the current cycle information tt × 2 −7 > | current cycle information tt−previous cycle data h | is determined. In the case of YES, the process proceeds to S54, and in S54, the current cycle information tt × 2 − 7 > | current cycle information tt-contents of cycle register TTR |, and if YES, the flow proceeds to S55. That is, in S53, in the example of Figure 12, the current cycle information tt = t 5 -t 3 (see S48) is the value of the previous period data h = TTP = t 3 -t 1 ( see S52) It is determined whether or not they substantially match, and in S54, the current cycle information tt = t 5
-T 3 determines whether substantially coincides with the period TTR = t 4 -t 2 overlapping therewith (see S67). The limit range is
As 2 -7 · tt, the value changes depending on the period information. Of course, this may be a fixed value, but better results can be obtained with the technique of this embodiment.
S55では、エンベロープ制御処理が行われる。この部
分は、本実施例の最も特徴とする処理である。以下、こ
の部分の処理について、第9B図及び第9C図を用いて説明
する。In S55, an envelope control process is performed. This part is the most characteristic processing of the present embodiment. Hereinafter, the processing of this portion will be described with reference to FIGS. 9B and 9C.
第9C図は、第9A図S55のエンベロープ制御処理の動作
フローチャートである。まず、S551でフラグSが1であ
るか否かが判定される。今、フラグSは第5図のSTEP0
のS04において0にリセットされているため、同判定はN
Oとなり、従って第9A図S55では何も処理は行われないこ
とになる。そして、第9A図S40〜S62のルートの処理が
繰り返されてS55の処理が繰り返される毎に、フラグS
の値が0である限り上記状態が続く。この意味について
は後述する。FIG. 9C is an operation flowchart of the envelope control process in FIG. 9A S55. First, it is determined whether the flag S is 1 in S551. Now, the flag S is set to STEP0 in FIG.
Since it has been reset to 0 in S04
O, so no processing is performed in FIG. 9S55. Each time the processing of the route of S40 to S62 in FIG. 9A is repeated and the processing of S55 is repeated, the flag S
The above state continues as long as the value of is zero. This meaning will be described later.
ここで、第9A図のルート及びルートの処理(S55
を含む)とは独立して、第1図のMCP3は、各楽音発生回
路5(#1〜#n)の何れかにより、割り込み信号IN
T′が入力するか否かを監視している。そして、第1図
の楽音発生回路5の何れかより出力される楽音信号のエ
ンベロープが、前述したように第11(a)の如くサステ
ィーンポイントSPに達すると、対応するエンベロープ発
生回路ENVからMCP3に割り込み信号INV′が出力される。Here, the route of FIG. 9A and the route processing (S55
Independently from the above, the MCP3 in FIG. 1 is provided with an interrupt signal IN by one of the tone generators 5 (# 1 to #n).
It monitors whether T 'is input. When the envelope of the tone signal output from any of the tone generators 5 in FIG. 1 reaches the sustain point SP as shown in FIG. 11 (a) as described above, the corresponding envelope generator ENV to MCP3. , An interrupt signal INV 'is output.
この信号INV′がMCP3で検出されると、MCP3は、現在
実行中の第9A図のルート又はルートの処理を中断し
て、第9B図のエンベロープ割り込み処理ルーチンを実行
する。まず第9B図のI1′で、現在のピーク値と前回のピ
ーク値の平均値が演算され、エンベロープデータ初期値
GENV0とされる。すなわち、GENV0={AMP(0)+AMP
(1)}/2が演算される。GENV0については後述する。
次に第9B図のI2′で、フラグSが1にセットされる。When this signal INV 'is detected by the MCP3, the MCP3 interrupts the currently executing route or the route shown in FIG. 9A and executes the envelope interrupt processing routine shown in FIG. 9B. First, at I1 'in FIG. 9B, the average value of the current peak value and the previous peak value is calculated, and the envelope data initial value is calculated.
GENV0. That is, GENV0 = {AMP (0) + AMP
(1)} / 2 is calculated. GENV0 will be described later.
Next, the flag S is set to 1 at I2 'in FIG. 9B.
以上のエンベロープ割り込み処理が終了したら、再び
実行を中断した第9A図のルート又はルートの処理を
再開する。When the above-described envelope interrupt processing is completed, the processing of the route or the route in FIG. 9A whose execution has been interrupted is resumed again.
この結果、第9A図のS55の処理になって第9C図のS551
が再び実行されると、この時点でフラグSが1になって
いるため、S551の判定はYESとなる。As a result, the process of S55 in FIG. 9A is performed, and S551 in FIG. 9C is performed.
Is executed again, the flag S is 1 at this point, so the determination in S551 is YES.
これにより、S552において、現在のピーク値と前回の
ピーク値の平均値が演算され、エンベロープデータGENV
とされる。すなわち、GENV={AMP(0)+AMP(1)}
/2が演算される。As a result, in S552, the average value of the current peak value and the previous peak value is calculated, and the envelope data GENV
It is said. That is, GENV = {AMP (0) + AMP (1)}
/ 2 is calculated.
そして、S553において、上記エンベロープデータGENV
と第9B図の割り込み処理ルーチンで演算されたエンベロ
ープデータ初期値GENV0との比GENV/GENV0が演算され
る。そして、第1図のMCP3はこのようにして演算した値
を、前述の割り込み信号INV′が発生した楽音発生回路
5に対応するラッチ11にセットする。Then, in S553, the envelope data GENV
The ratio GENV / GENV0 of the envelope data initial value GENV0 calculated by the interrupt processing routine of FIG. 9B is calculated. The MCP 3 in FIG. 1 sets the value calculated in this manner in the latch 11 corresponding to the tone generating circuit 5 where the above-mentioned interrupt signal INV 'has been generated.
以上の第9C図の処理は、第9A図S40〜S62のルートの
処理が繰り返されてS55の処理が繰り返される毎に実行
され、その結果、新たに演算された上記エンベロープデ
ータGENVのGENV0に対する比が演算され、順次ラッチ11
にラッチされる。The processing of FIG. 9C is executed each time the processing of the route of S40 to S62 in FIG. 9A is repeated and the processing of S55 is repeated. As a result, the ratio of the newly calculated envelope data GENV to GENV0 is calculated. Are calculated, and the latch 11
Latched.
以上のように、まず、第9A図のルート及びルート
の処理が繰り返されることにより、楽音の発音動作が進
行するが、この状態で第1図の楽音発生回路5内のエン
ベロープ発生回路ENVの発生するエンベロープデータ
が、第11図(a)のサスティーンポイントSPに達するま
での楽音のアタック部分では、第9A図のS55では何も処
理が行われない。この場合、第1図の対応するラッチ11
の内容は、第8図のSTEP3のS301で値1.0にセットされた
ままの状態が維持される。従って、発音開始時のアタッ
ク部分では、第1図の対応する乗算器6から出力される
各楽音信号のエンベロープ特性としては、第11図(d)
の前半部分で示されるように、同図(a)のシンセ・エ
ンベロープがそのまま保存される。これにより、第1図
の対応する乗算器6からは、発音開始時付近のアタック
部分では、楽音発生回路5からのシンセ音の特徴が良く
保存された楽音が発音される。As described above, the tone generation operation proceeds by repeating the processing of the route and the route in FIG. 9A. In this state, the generation of the envelope generation circuit ENV in the tone generation circuit 5 in FIG. In the attack portion of the musical tone until the envelope data reaches the sustain point SP in FIG. 11A, no processing is performed in S55 in FIG. 9A. In this case, the corresponding latch 11 of FIG.
Are kept set to the value of 1.0 in S301 of STEP3 in FIG. Therefore, in the attack portion at the start of sound generation, the envelope characteristic of each tone signal output from the corresponding multiplier 6 in FIG.
As shown in the first half, the synth envelope of FIG. As a result, the corresponding multiplier 6 shown in FIG. 1 produces a tone in which the characteristics of the synth tone from the tone generator 5 are well preserved in an attack portion near the start of tone generation.
続いて、第9A図のルート及びルートの処理が繰り
返しによる楽音の発音動作中において、第1図の楽音発
生回路5内のエンベロープ発生回路ENVの発生するエン
ベロープデータが、第11図(a)のサスティーンポイン
トSPに達すると、第9A図のS55の処理が実行される毎
に、サスティーンポイントSPの初期値をGENV0とする乗
算値GENV/GENV0が演算され、ラッチ11に順次セットされ
る。従って、サスティーンポイントSP以後、第1図の対
応する乗算器6の入力は第11図(c)のように変化し、
そこから出力される楽音信号のエンベロープ特性は、第
11図(d)の後半部分で示されるように、同図(b)の
弦エンベロープの特性(GENV/GENV0)が付加されたもの
となる。Next, during the tone generation operation by repeating the route of FIG. 9A and the route, the envelope data generated by the envelope generation circuit ENV in the tone generation circuit 5 of FIG. When the sustain point SP is reached, each time the processing of S55 in FIG. 9A is executed, a multiplication value GENV / GENV0 with the initial value of the sustain point SP being GENV0 is calculated and sequentially set in the latch 11. Therefore, after the sustain point SP, the input of the corresponding multiplier 6 in FIG. 1 changes as shown in FIG.
The envelope characteristics of the tone signal output from the
As shown in the latter half of FIG. 11 (d), the characteristic (GENV / GENV0) of the string envelope of FIG. 11 (b) is added.
従って、例えば演奏者が弦のピッキング操作をした後
に弦振動を強制的に停止させるミュート奏法を行うよう
な場合にも、発音開始直後のアタック部分では第1図の
楽音発生回路5からのシンセ音の音色が良く保存され、
その後、ミュート奏法に基づいてデジタル出力D1(弦振
動)のエンベロープが急激に減衰するのに伴って、サス
ティーンポイントSPの通過後、弦振動のエンベロープ特
性が乗算器6から発音される楽音信号に良く反映され、
ミュート奏法等による演奏効果が容易に付加される。Therefore, for example, even in the case where the player performs a mute playing method for forcibly stopping the string vibration after performing the string picking operation, the synth sound from the tone generator 5 in FIG. Is well preserved,
Thereafter, as the envelope of the digital output D1 (string vibration) abruptly attenuates based on the mute playing technique, the envelope characteristic of the string vibration is converted into a tone signal emitted from the multiplier 6 after passing through the sustain point SP. Well reflected,
A performance effect by a mute playing technique or the like is easily added.
次に、第9A図に戻りS56では、ノーチェンジレベルNCH
LV>(前々回ピーク値e−今回ピーク値c)かどうかの
判断が行われ、YESの場合にはS57に進む。即ち、前回の
同極性のピーク値(e=AMP(b))と今回のピーク値
cとが大きく変化している場合は、その差がNCHLVを越
えることになり、そのようなときに、抽出された周期情
報に基づきピッチ変更を行なうと、不自然な音高変化を
呈することになる可能性が高い。そこで、S56でNOの判
断がなされると、S57以降の処理をすることなく、第4
図のメインルーチンのM2の処理へ戻り、次のピークの入
力を待つ。Next, returning to FIG. 9A, in S56, the no-change level NCH
It is determined whether LV> (peak value e−previous peak value c−current peak value c), and in the case of YES, the process proceeds to S57. That is, if the previous peak value of the same polarity (e = AMP (b)) and the current peak value c are largely changed, the difference exceeds NCHLV. If the pitch is changed based on the obtained period information, it is highly likely that the pitch will change unnaturally. Therefore, if a NO determination is made in S56, the fourth step is performed without performing the processing in S57 and thereafter.
The process returns to the process of M2 in the main routine in the figure, and waits for the input of the next peak.
次に、S56でYESの場合は、リラティブオフカウンタFO
FR=0か否かが判断される。後述するリラティブオフ処
理を行っているときは、リラティブオフカウンタFOFRは
0でなくなっており、そのような場合はピッチ変更(S6
1を参照)の処理を行なうことなく、S57でNOの判断をし
て第4図のメインルーチンのM2の処理へリターンする。
そして、S57にて、YESの判断をしたときは、S58へと進
む。Next, in the case of YES in S56, the relative off counter FO
It is determined whether FR = 0. When the relative off processing described later is being performed, the relative off counter FOFR is not 0, and in such a case, the pitch is changed (S6).
Without performing the processing of (1), a NO determination is made in S57, and the process returns to the processing of M2 in the main routine of FIG.
Then, when a determination of YES is made in S57, the process proceeds to S58.
次のS58では、今回の周期情報tt>定数TTUかどうかが
判断され、YESならばS59へ進み、ここで今回の周期情報
tt<定数TTWかどうかが判断され、YESならばS60へ進
む。なお、S58、S59ではNOと判定される場合については
後述する。In the next S58, it is determined whether or not this cycle information tt> constant TTU. If YES, the process proceeds to S59, where the current cycle information tt
It is determined whether tt <constant TTW. If YES, the process proceeds to S60. Note that the case where the determination is NO in S58 and S59 will be described later.
S60では、レジスタSTEP=4であるのかどうかの判断
が行われ、YESの場合にはS61に進む。In S60, it is determined whether or not the register STEP = 4, and in the case of YES, the process proceeds to S61.
S61では、第1図のMCP3から楽音発生回路5(#1〜
#nのうちいずれか)へピッチ変更(今回の周期情報tt
に基づく)が行われ、S62に進む。In S61, the tone generator 5 (# 1 to MCP3) shown in FIG.
Change pitch to any of #n (current cycle information tt)
Is performed, and the process proceeds to S62.
S62では、今回の周期情報ttに対応して時定数チェン
ジをし、また定数TTUが(17/32)×今回の周期情報ttに
書替えられ、さらに定数TTWが(31/16)×今回の周期情
報ttに書き替えられる。In S62, the time constant is changed in accordance with the current cycle information tt, and the constant TTU is rewritten to (17/32) × current cycle information tt, and furthermore, the constant TTW is (31/16) × current cycle Rewritten with information tt.
また、後述するように、リラティブオフの処理がなさ
れたときに限り、STEP=5となるが、そのときはS60か
らS62に直接進み、S61でピッチ変更を行なうことなく、
S62で時定数チェンジを行なう。Also, as will be described later, only when the relative off process is performed, STEP = 5. In this case, the process directly proceeds from S60 to S62 without changing the pitch in S61.
The time constant is changed in S62.
上記時定数チェンジの処理とは、第2図の時定数変換
制御回路202内部の時定数変換レジスタCHTRRに今回の周
期情報ttの値に基づく周期データを第1図のMCP3がセッ
トすることをいう。これは、前記「ピッチ抽出デジタル
回路の動作」の「詳細動作」の項で既に説明したとおり
である。The process of the time constant change means that the MCP3 in FIG. 1 sets the cycle data based on the value of the current cycle information tt in the time constant conversion register CHTRR in the time constant conversion control circuit 202 in FIG. . This is as already described in the section "Detailed operation" of the "Operation of the pitch extraction digital circuit".
そして、S62の処理の終了で第4図のメインルーチン
のM2の処理へ戻る。Then, upon completion of the process in S62, the process returns to the process of M2 in the main routine of FIG.
以上述べたようにルートでは、第12図の例では、次
の処理がなされる。即ち、HNC=1、MT=1=b、RIV=
1と判定され、FOFR←0、tt←t−TF=t5−t3、RIV←
0、TF←t=t5、e←AMP(1)=a1、AMP(1)←c=
a2、h←TTP=TP(1)=t3−t1、TTP←tt=t5−t3とな
る。更に、 TTP≒TTR≒tt、 TTU<tt<TTW、 AMP(0)−c<NCHLV の3条件の満足で、ttに従ったピッチ変更を行なう。そ
の後、TTU←(17/32)×tt、TTW←(31/16)×ttの設定
がなされる。As described above, in the route, the following processing is performed in the example of FIG. That is, HNC = 1, MT = 1 = b, RIV =
1 is determined, FOFR ← 0, tt ← t-TF = t 5 −t 3 , RIV ←
0, TF ← t = t 5 , e ← AMP (1) = a 1 , AMP (1) ← c =
a 2 , h ← TTP = TP (1) = t 3 −t 1 , and TTP ← tt = t 5 −t 3 . Further, the pitch is changed according to tt when the three conditions of TTP ≒ TTR ≒ tt, TTU <tt <TTW, and AMP (0) -c <NCHLV are satisfied. Thereafter, TTU ← (17/32) × tt and TTW ← (31/16) × tt are set.
以上の動作によりルートにおいて、実際の楽音発生
回路5(#1〜#nのうちいずれか)に対するピッチ変
更及びその出力の楽音データに対する乗算器6(#1〜
#nのうちいずれか)でのエンベロープ制御が行われ、
続くゼロクロスインタラプト(次のピークの検出)でル
ートの処理、同様に、続くゼロクロスインタラプト
で、ルートの処理が行われる。このようにして、ルー
トにおいては、単に周期を抽出(S67を参照)し、ル
ートにおいては実際のピッチ変更(S61参照)、エン
ベロープ制御(S55参照)及び時定数チェンジ処理(S62
参照)が行われることになる。By the above operation, in the route, the pitch change for the actual tone generation circuit 5 (any of # 1 to #n) and the multiplier 6 (# 1 to
#N), the envelope control is performed.
Route processing is performed in the subsequent zero cross interrupt (detection of the next peak), and similarly, route processing is performed in the subsequent zero cross interrupt. In this way, on the route, the period is simply extracted (see S67), and on the route, the actual pitch change (see S61), envelope control (see S55), and time constant change processing (S62)
Reference).
《リラティブオンの処理動作》 第9A図のSTEP4におけるルートのS66で、波形ナンバ
ーカウンタHNCが3を越えるようにカウントアップされ
た後は、S40においてYESの判断がなされ、次にS41へ行
き、リラティブオンの条件を検出する。<< Relative ON processing operation >> After the waveform number counter HNC is counted up to exceed 3 in the route S66 in STEP4 of FIG. 9A, a determination of YES is made in S40, and then the process goes to S41, where the relative Detect the ON condition.
これは、c−AMP(b)>TRLRLであり、前回のピーク
値AMP(b)に比べて今回のピーク値cがしきい値TRLRL
を越えて増大したとき、つまり、これは弦操作後に同じ
弦を再度ピッキングしたとき(トレモロ奏法などによ
る)にこのようなことがおき、この場合はS41の判定結
果がYESとなり、リラティブオンの処理をすべくS41から
S78へ進む。This is because c-AMP (b)> TRLRL, and the current peak value c is smaller than the previous peak value AMP (b) by the threshold value TRLRL.
When the number exceeds the limit, that is, when the same string is picked again after string manipulation (such as by tremolo playing), such a case occurs. In this case, the determination result in S41 becomes YES, and the relative on process is performed. From S41 to do
Proceed to S78.
S78では、時定数変換制御回路202(第2図)の時定数
変換レジスタCHTRRへ最高音フレット(例えば22フレッ
ト)の周期CHTIMをセットする。In S78, the period CHTIM of the highest tone fret (for example, 22th fret) is set in the time constant conversion register CHTRR of the time constant conversion control circuit 202 (FIG. 2).
上記処理の後、第5図のSTEP0のS06ヘ進み、当該発音
中の楽音をノートオフした後、再発音を開始する。な
お、通常の演奏操作によれば、第9A図のSTEP4のS41では
NOの判断がなされ、S42へ進み、上述したルートもし
くはルートへ進む。After the above processing, the process proceeds to S06 of STEP0 in FIG. 5, and after note-off of the musical tone being sounded, re-sounding is started. According to the normal performance operation, in S41 of STEP 4 in FIG. 9A,
If the determination is NO, the process proceeds to S42 and proceeds to the above-described route or route.
《リラティブオフの処理動作》 次に、第16図を参照して、リラティブオフ処理を説明
する。リラティブオフとは、フレット操作をしている状
態から、ピッキングをしないで開放弦状態へ移行する操
作にともない消音動作を行うことをいう。<< Relative Off Processing Operation >> Next, the relative off processing will be described with reference to FIG. Relative off means that a silencing operation is performed in accordance with an operation of shifting from a state in which the fret operation is being performed to an open string state without picking.
この場合、波形の振幅レベルは急激に落ちてきて、前
々回の波高値(ピーク値)AMRL2と前回の波高値(ピー
ク値)AMRL1との差が(1/32)・AMRL2を越えるようにな
り、第9A図のSTEP4のS46からS74へ進む。In this case, the amplitude level of the waveform drops sharply, and the difference between the peak value (peak value) AMRL2 of the previous two times and the previous peak value (peak value) AMRL1 exceeds (1/32) · AMRL2, The process proceeds from S46 of STEP4 in FIG. 9A to S74.
そして、リラティブオフカウンタFOFRが定数ROFCTを
越えるまでカウントアップするようにS74からS75へ進
む。Then, the process proceeds from S74 to S75 so as to count up until the relative off counter FOFR exceeds the constant ROFCT.
続けて、S75からS48へ行きS49〜S57の処理を行なう
が、FOFR=0でないので、S57の判定結果はNOとなり、
リラティブオフ処理に入る直前ではピッチ変更を行なう
ことなく第4図のメインルーチンのM2の処理へ戻る。Subsequently, the process proceeds from S75 to S48 and performs the processing of S49 to S57. However, since FOFR is not 0, the determination result of S57 is NO,
Immediately before entering the relative off process, the process returns to the process of M2 in the main routine of FIG. 4 without changing the pitch.
なお、上記ルートにおいては、S55のエンベロープ制
御処理は行われる。これにより、リラティブオフの途中
においてデジタル出力D1のエンベロープが急激に減衰し
ている場合においても、サスティーンポイントSP通過後
は(第11図(a)参照)、上記エンベロープに基づく乗
算値GENV/GENV0の値が第1図の対応するラッチ11にラッ
チされ、それに基づいて第1図の乗算器6で前述の楽音
のエンベロープ制御が行われることにより、リラティブ
オフに応じて楽音にエンベロープの変化を付加すること
ができる。In the above route, the envelope control process of S55 is performed. Thus, even when the envelope of the digital output D1 is rapidly attenuated during relative off, after passing through the sustain point SP (see FIG. 11 (a)), the multiplied value GENV / GENV0 based on the envelope is obtained. Is latched by the corresponding latch 11 in FIG. 1 and the envelope control of the tone is performed by the multiplier 6 in FIG. 1 based on the latched value, whereby the envelope change is added to the tone according to the relative off. can do.
そして、リラティブオフ時のピークが次々に入力し、
S74でNOと判断すると、つまり第16図の例では、FOFRの
値が3となったとき(ROFCTは2である)、S74からS76
へ移行する。And the peak at the time of relative off enters one after another,
When NO is determined in S74, that is, in the example of FIG. 16, when the value of FOFR becomes 3 (ROFCT is 2), S74 to S76
Move to.
ただし、S46の判断でYESの判断が一度でもあると、S4
6からS47へ進み、FOFRをリセットするように動作する。
従って、ROFCTで指定される回数だけ続けてS46の条件を
満足しなければ、リラティブオフの処理はなされない。
なお、ROFCTの値は、音高が高い弦について大きな値と
しておけば、ほぼ一定の時間経過で、いずれの弦につい
てもリラティブオフ処理ができる。However, if YES is determined at least once in S46, S4
The process proceeds from S6 to S47 and operates to reset FOFR.
Therefore, unless the condition of S46 is satisfied continuously for the number of times specified by ROFCT, the relative off processing is not performed.
If the value of ROFCT is set to a large value for a string having a high pitch, the relative off process can be performed for any of the strings after a lapse of a substantially constant time.
次に、S74からS76へ行くと、リラティブオフカウンタ
FOFRをリセットし、レジスタSTEPを5とし、S77へ進ん
で楽音発生回路5(#1〜#nのうちいずれか)に対し
ノートオフを指示する。この処理と共に、S78において
は、フラグSが0にリセットされる。Next, when going from S74 to S76, the relative off counter
The FOFR is reset, the register STEP is set to 5, and the flow advances to S77 to instruct the tone generation circuit 5 (any one of # 1 to #n) to turn off the note. Along with this processing, the flag S is reset to 0 in S78.
このSTEPが5の状態では、ピッチ抽出処理をSTEP4の
時と同様に実行するが、S60からS61を介することなくS6
2へ進むので、楽音発生回路5に対しては、ピッチ変更
は指示されない。ただし、S62において抽出した周期に
従って時定数チェンジ処理を行なう。また、フラグSは
0にされるため、第9A図のS55のエンベロープ制御処理
において、第9C図のS551の判定はNOとなる。これによ
り、第1図の対応するラッチ11にはノートオフの直前に
書き込まれた値がラッチされたままになり、対応する乗
算器6の入力は第11図(c)の最後部分の如く一定値と
なる。従って、対応する乗算器6から出力される楽音信
号のエンベロープ特性は、対応する楽音発生回路5から
出力される楽音信号のエンベロープが縮小されたものと
なる。When the state of this STEP is 5, the pitch extraction processing is executed in the same manner as in STEP 4, but the processing of S6 is performed without going through S60 to S61.
Since the process proceeds to step 2, the tone change circuit 5 is not instructed to change the pitch. However, the time constant changing process is performed according to the cycle extracted in S62. Since the flag S is set to 0, the determination in S551 in FIG. 9C is NO in the envelope control processing in S55 in FIG. 9A. As a result, the value written immediately before the note-off is latched in the corresponding latch 11 in FIG. 1, and the input of the corresponding multiplier 6 is constant as in the last part of FIG. 11 (c). Value. Therefore, the envelope characteristic of the tone signal output from the corresponding multiplier 6 is such that the envelope of the tone signal output from the corresponding tone generating circuit 5 is reduced.
また、STEPが5の状態では、リラティブオンの処理を
受付けるが(S41、S78)、それ以外の場合では、第4図
のメインルーチンの中で、振動レベルが減少してきたこ
とが検知されることによりM14でSTEPが0となり、初期
状態にもどる。In the state of STEP 5, the process of relative on is accepted (S41, S78), but in other cases, it is detected that the vibration level has decreased in the main routine of FIG. As a result, the STEP becomes 0 at M14, and returns to the initial state.
なお、S46で使用するAMRL1、AMRL2はS64で作られてお
り、1周期の中でレベルが大きい方のピーク(最大ピー
クと最小ピークとのうちのいずれか一方)がこの値とさ
れ、第16図の最大ピークakが最大ピークbk−1より必ず
大である場合であって、an+1とan+2、an+2とan+
3、an+3とan+4の差がいずれも所定値を越えるよう
になっている。Note that AMRL1 and AMRL2 used in S46 are made in S64, and the peak having the higher level (one of the maximum peak and the minimum peak) in one cycle is set to this value. This is a case where the maximum peak ak in the figure is always larger than the maximum peak bk-1, where an + 1 and an + 2, an + 2 and an +
3. The difference between an + 3 and an + 4 exceeds a predetermined value.
また、このときルートの処理においては、最小ピー
クbn+1、bn+2、bn+3が極端に減少してきているの
で、S54でNOの判断が成されて、第4図のメインルーチ
ンのM2の処理へ戻り、ピッチ変更処理はなされない。In this case, in the route processing, since the minimum peaks bn + 1, bn + 2, bn + 3 are extremely reduced, a NO determination is made in S54, and the process returns to the processing of M2 in the main routine of FIG. No change is made.
《ピッチ周期不適切時の処理動作》 次に、ピッチ周期が不適切な場合、即ち、ピッチ抽出
している際に、S58又はS59でオクターブ関係にある倍
音、つまりオクターブ高い周期やオクターブ低い周期が
続けて検出されたときの処理について説明を行う。<< Processing operation when pitch period is inappropriate >> Next, when the pitch period is inappropriate, that is, when the pitch is extracted, harmonics having an octave relationship in S58 or S59, that is, a period higher or lower than the octave, is generated. Next, the processing when the detection is performed will be described.
今、第9A図のSTEP4のS58の定数TTUは、第8図のSTEP3
のS301にて最小の値0とされ、定数TTWは同様に最大の
値MAXとされており、はじめてこのフローを通るときは
必ずS58、S59でYESの判断がなされるが、その後はS62に
おいて、定数TTUには、(17/32)tt(ほぼ1オクターブ
高音の周期情報)がセットされ、定数TTWには同様にS62
にて(31/16)tt(ほぼ1オクターブ低音の周期情報)
がセットされる。Now, the constant TTU of S58 in STEP4 of FIG.
In step S301, the minimum value is set to 0, and the constant TTW is also set to the maximum value MAX. When the flow passes for the first time, YES is always determined in steps S58 and S59. The constant TTU is set to (17/32) tt (period information of almost one octave treble), and the constant TTW is similarly set to S62.
At (31/16) tt (almost one octave bass period information)
Is set.
従って、急激にオクターブアップする場合(これは、
振動弦を指で振動を止めるようにミュート奏法を行った
ときなどに生ずる)、又はオクターブダウンする場合
(これは波形のピークを取り逃した時などに起る)が発
生したときは、ピッチ変更をすると、不自然となるの
で、ピッチ変更をしないように分岐する。Therefore, if the octave rises rapidly (this is
Change the pitch when the mute playing method is used to stop the vibration of the vibrating string with a finger), or when the octave goes down (this occurs when the waveform peak is missed). Then, since it becomes unnatural, branching is performed so as not to change the pitch.
即ち、S58ではttがTTUを越えなかったとき、つまり、
前回抽出した周期の17/32倍した値TTUより小になったと
き、S76へ進む。つまり、オクターブ高い音が抽出され
たときは、ミュート操作をした場合とみなし、オクター
ブ高い音を出力することなく、S58からS76へ行き、前記
リラティブオフ時同様S76、S77の処理によって当該音の
発音を停止し、S78でフラグSを0に戻す。That is, when tt does not exceed TTU in S58, that is,
When the value becomes smaller than the value TTU obtained by multiplying the previously extracted cycle by 17/32, the process proceeds to S76. In other words, when an octave higher sound is extracted, it is considered that a mute operation has been performed, and the process goes from S58 to S76 without outputting an octave higher sound, and the sound is generated by the processing of S76 and S77 as in the case of the relative off. Is stopped, and the flag S is returned to 0 in S78.
また、S59では、ttがTTWを越えなかったとき、つまり
前回抽出した周期の31/16倍した値TTWより大となったと
き、S60へ進むことなく、第4図のメインルーチンのM2
の処理へ戻る。In S59, when tt does not exceed TTW, that is, when ttW is larger than the value 31/16 times the previously extracted cycle, TTW, the process proceeds to S60 without proceeding to S60.
Return to the processing of.
この状態は第17図に示されている。通常ノートオフ近
辺の非常に波形が小さい場合は、他のピッキングによっ
てヘキサピックアップのクロストークやボディの共振に
よって波形が乗ってくる。すると、例えば、第17図のよ
うな入力波形となり、1オクターブ下の入力波形が続け
て検出されてしまうことがある。This state is shown in FIG. Usually, when the waveform is very small near the note-off, the waveform picks up due to crosstalk of the hexa pickup and resonance of the body due to other picking. Then, for example, the input waveform becomes as shown in FIG. 17, and an input waveform one octave lower may be continuously detected.
このような場合、何等処理を施さないと、急にオクタ
ーブ下の音を出力してしまい、極めて不自然となる。そ
のために、S56、S57でTan+2≒Tan+3≒Tbn+2が検
出されても、Tan+3>Tan+1×(31/16)となるの
で、ピッチ変更することなく、S59から第4図のメイン
ルーチンのM2の処理へ戻る。In such a case, if no processing is performed, a sound immediately below the octave is output, which is extremely unnatural. Therefore, even if Tan + 2 ≒ Tan + 3 ≒ Tbn + 2 is detected in S56 and S57, since Tan + 3> Tan + 1 × (31/16), the process proceeds from S59 to the processing of M2 in the main routine of FIG. 4 without changing the pitch. Return.
《ダブリ処理の動作》 次に、波形がダブって抽出される場合、即ち、同じ極
性のピークが続けて検出される場合の処理について説明
を行う。<< Operation of Dubbing Process >> Next, a process in a case where a waveform is extracted by dubbing, that is, a case where peaks having the same polarity are continuously detected will be described.
まず、第9A図のSTEP4のS42の判定結果がNOとなるルー
トにおいて、S63でYESの場合は、S68に進みダブリ処
理が行われる。First, in the route in which the determination result in S42 of STEP4 in FIG. 9A is NO, if YES in S63, the process proceeds to S68 and the dubbing process is performed.
即ち、S63でYESの場合はS68に進み、今回ピーク値c
>同じ符号の前回のピーク値AMP(b)かどうかが判断
され、YESの場合はS69に進む。That is, if YES in S63, the process proceeds to S68, where the current peak value c
> It is determined whether or not it is the previous peak value AMP (b) of the same sign, and if YES, the process proceeds to S69.
S69では、今回ピーク値cに前回のピーク値AMP(b)
が書き替えられ、S70に進む。In S69, the current peak value c is replaced by the previous peak value AMP (b)
Is rewritten, and the process proceeds to S70.
S70では今回ピーク値c>前回の振幅値(ピーク値)A
MRL1かどうかが判断され、YESの場合にはS71に進み、こ
こで今回ピーク値cが前回の振幅値(ピーク値)AMRL1
とされる。In S70, current peak value c> previous amplitude value (peak value) A
It is determined whether or not it is MRL1, and if YES, the process proceeds to S71, where the current peak value c is set to the previous amplitude value (peak value) AMRL1
It is said.
もし、S68でNOの判断がなされるとすぐに、第4図の
メインルーチンのM2の処理に戻る。従って、新しい入力
波形のピークが大である場合についてのみ、倍音のピー
クをひろっていないと考えられるので、新しい波形のピ
ーク値が登録される。As soon as NO is determined in S68, the process returns to the process of M2 in the main routine of FIG. Therefore, only when the peak of the new input waveform is large, it is considered that the peak of the overtone is not spread, and the peak value of the new waveform is registered.
また、S70でNOのときと、S71の処理の終了のときに
は、同様にメインルーチンへ戻る。In addition, when the result of S70 is NO and when the processing of S71 ends, the process returns to the main routine in the same manner.
第18図に、上記ダブリ処理の例を示す。なお、この例
の場合はMT=0の状態を示している。一般に、基本波周
期と倍音成分の周期が非整数倍の関係にあるので、倍音
の位相がずれて行き、同じ極性のゼロクロスを検出をし
てしまうことになり、そのために誤ったピッチ変更をし
ないようにしないといけない。この図の例の場合、「ダ
ブリ」と示しているところでは、ダブリの状態が生じて
いる。このときは、S42からS63へ行き、YESの判断をし
てS68へ行く。S68では、この場合、(an+2)と(an+
3)との比較をして、(an+3)が(an+2)より大な
ときに限りS69へ行き、AMP(1)を書替える。そして、
更に前回の振幅値(ピーク値)AMRL1と今回の振幅情報
(ピーク値c)の比較をS70で行って、もしYESならばS7
1へ進み、今回のピーク値cを前回の振幅値(ピーク
値)AMRL1とする。FIG. 18 shows an example of the above-described dubbing process. In this case, the state of MT = 0 is shown. In general, since the fundamental wave period and the period of the harmonic component are non-integer multiples, the phase of the harmonics shifts, and a zero cross of the same polarity is detected, so that an erroneous pitch change is not performed. I have to do it. In the case of the example shown in this figure, the state of “double” occurs where “double” is indicated. At this time, the process goes from S42 to S63, makes a determination of YES, and goes to S68. In this case, in S68, (an + 2) and (an +
Compare with 3), go to S69 only when (an + 3) is larger than (an + 2), and rewrite AMP (1). And
Further, the previous amplitude value (peak value) AMRL1 is compared with the current amplitude information (peak value c) in S70, and if YES, S7
Proceeding to 1, set the current peak value c as the previous amplitude value (peak value) AMRL1.
次に、第9A図のSTEP4のS42の判定結果がYESとなるル
ートにおいて、次のS43でNOとなる場合は、S72に進み
上記と同様にダブリ処理が行われる。Next, in the route in which the determination result in S42 of STEP4 in FIG. 9A is YES, if the determination in the next S43 is NO, the process proceeds to S72, and the doubling process is performed in the same manner as described above.
即ち、S43でNOの場合はS72に進み、今回ピーク値c>
同じ符号の前回のピーク値AMP(b)かどうかが判断さ
れ、YESの場合はS73に進み、今回ピーク値cに前回のピ
ーク値AMP(b)が書き替えられた後、第4図のメイン
ルーチンのM2の処理へ戻る。That is, if NO in S43, the process proceeds to S72, where the current peak value c>
It is determined whether or not it is the previous peak value AMP (b) of the same sign. If YES, the process proceeds to S73, and after the previous peak value AMP (b) is rewritten to the current peak value c, the main routine of FIG. The process returns to the routine M2.
もし、S72でNOの判断がなさるとすぐに、第4図のメ
インルーチンのM2の処理に戻る。従って、この場合も、
新しい入力波形のピークが大である場合についてのみ、
新しい波形のピーク値が登録される。As soon as NO is determined in S72, the process returns to the process of M2 in the main routine of FIG. Therefore, in this case as well,
Only when the new input waveform has a large peak,
A new waveform peak value is registered.
第19図に、その例を示す。この例ではMT=1の状態を
示している。この場合、図のダブリと書いてあるゼロク
ロス時のSTEP4の処理では、S42からS43へ行き、S43では
YESの判断をしてS72へ進む。ここで(an+3)と(an+
2)の大きさが比較され、もし(an+3)が(an+2)
より大であれば、S72でYESの判断をし、AMP(1)に、
(an+3)の値をセットし、もし逆の場合は何等変更処
理をしない。FIG. 19 shows an example. In this example, a state where MT = 1 is shown. In this case, in the processing of STEP 4 at the time of zero cross which is written as double in the figure, go from S42 to S43, and in S43,
After the determination of YES, the process proceeds to S72. Where (an + 3) and (an +
The sizes of 2) are compared, and if (an + 3) is (an + 2)
If it is larger, a YES determination is made in S72, and AMP (1)
The value of (an + 3) is set, and if not, no change processing is performed.
ところで、上記のダブリ処理の場合、抽出している時
刻データは何等使用しないので、周期情報Tan+3は何
等変わらない。また、当然周期データに基づくピッチ変
更は行われない。By the way, in the case of the above-mentioned double processing, since the extracted time data is not used at all, the cycle information Tan + 3 does not change at all. Also, the pitch is not changed based on the cycle data.
{本発明の他の実施例} 以上に示したように、本実施例では、各タイミング毎
のピーク値と前回のピーク値との平均値の、サスティー
ンポイントSP(第11図(a)参照)に対する比をエンベ
ロープデータとして楽音信号に乗算しており、それによ
り、サスティーンポイントSP以後、ピーク値の変動(ゆ
らぎ)等で不自然にエンベロープが変化すること、及び
正側のピークと負側のピークのレベル差を矯正化するよ
うにしているが、それに限られるものではなく、各タイ
ミング毎のピーク値をそのまま用いるようにしてもよ
い。この場合は、第9C図のステップS552等では、GENV←
AMP(1)、又はGENV←AMP(0)としてもよい。更に
は、3以上のピーク値の移動平均やヒステリシスをもつ
平均をとってもよい。<< Other Embodiments of the Present Invention >> As described above, in the present embodiment, the sustain point SP (see FIG. 11A) of the average value of the peak value at each timing and the previous peak value is used. ) Is multiplied by the tone signal as envelope data, whereby the envelope changes unnaturally due to peak value fluctuation (fluctuation) after the sustain point SP, and the positive peak and negative peak Although the level difference between the peaks is corrected, the present invention is not limited to this, and the peak value for each timing may be used as it is. In this case, in step S552 and the like in FIG. 9C, GENV ←
AMP (1) or GENV ← AMP (0) may be set. Further, a moving average of three or more peak values or an average having hysteresis may be obtained.
デジタル出力D1のエンベロープを楽音信号に反映させ
る境界としてはサスティーンポイントSPを用いたが、ア
タック部分が保存される制御であればこれに限られるも
のではなく、例えば発音開始後一定時間経過した時点を
境界としてもよい。Although the sustain point SP was used as a boundary for reflecting the envelope of the digital output D1 in the tone signal, the control is not limited to this as long as the attack portion is preserved. May be used as the boundary.
また、楽音発生回路5から出力される楽音信号に対し
て乗算器6を用いて乗算を行うことにより、楽音のエン
ベロープ制御を行っているが、エンベロープデータを楽
音発生回路5の内部に入力し、同回路を直接制御するよ
うにしてもよい。また、エンベロープ乗算はデジタル乗
算によるものでも、アナログ乗算によるものでも、採用
し得る。The envelope control of the musical tone is performed by multiplying the musical tone signal output from the musical tone generating circuit 5 by using the multiplier 6, but the envelope data is input into the musical tone generating circuit 5, The circuit may be directly controlled. Further, the envelope multiplication can be adopted either by digital multiplication or by analog multiplication.
一方、本実施例では、弦の振動波形からピッチ抽出を
行って楽音を制御する電子ギターに適用した例について
示したが、そのようなものに限られるものではなく、入
力波形信号からエンベロープを抽出して楽音を制御する
ようなタイプの電子楽器であればどのようなものでもよ
く、また、入力波形信号からピッチ抽出を行うタイプの
ものに限られるものでもない。On the other hand, in the present embodiment, an example is shown in which the present invention is applied to an electronic guitar that controls a tone by performing pitch extraction from a vibration waveform of a string. However, the present invention is not limited to such an example, and an envelope is extracted from an input waveform signal. Any type of electronic musical instrument may be used as long as it controls the musical tone, and is not limited to a type that extracts pitch from an input waveform signal.
更に、楽音の音量のエンベロープだけではなく、音色
変化のエンベロープ等を制御するようにしてもよい。こ
の場合は、各スペクトル成分毎のエンベロープを抽出す
るようにして、このエンベロープに従って各成分毎のレ
ベルを上述した実施例と同様に、可変制御してゆけばよ
い。Further, not only the envelope of the volume of the musical tone but also the envelope of the tone change may be controlled. In this case, the envelope of each spectral component may be extracted, and the level of each component may be variably controlled according to the envelope in the same manner as in the above-described embodiment.
本発明によれば、楽音信号が楽音発生手段から発生開
始されると、所定タイミング(例えばサスティーンポイ
ント)に達するまでのアタック部分では、楽音発生回路
から出力される楽音がそのまま出力され、その楽音の音
色等の特性が良く保存された楽音が発音され、所定タイ
ミング以後は、入力波形信号のエンベロープ信号に対応
するように楽音発生手段からの楽音信号のエンベロープ
を制御することが可能となる。According to the present invention, when the tone signal is started to be generated by the tone generating means, the tone output from the tone generating circuit is output as it is in an attack portion until a predetermined timing (for example, a sustain point) is reached. The tone of which tone characteristics and the like are well preserved is generated, and after a predetermined timing, the envelope of the tone signal from the tone generator can be controlled so as to correspond to the envelope signal of the input waveform signal.
従って、例えば電子ギターにおいて、演奏者が弦のピ
ッキング操作をした後に弦振動を強制的に停止させるミ
ュート奏法を行うような場合にも、発音開始直後のアタ
ック部分では楽音発生手段からの楽音信号(シンセ音)
の音色が良く保存され、その後、ミュート奏法に基づい
て入力波形信号のエンベロープが急激に減衰するのに伴
って、所定タイミングの通過後、入力波形信号のエンベ
ロープ特性がエンベロープ制御手段において楽音信号に
良く反映され、ミュート奏法等による演奏効果を容易に
付加することが可能となる。Therefore, for example, in an electronic guitar, even when the player performs a mute playing method for forcibly stopping the string vibration after performing the picking operation of the strings, the tone signal from the tone generating means (at the attack portion immediately after the start of sounding). Synth sound)
The tone of the input waveform signal is well preserved, and thereafter, the envelope characteristics of the input waveform signal are well reduced to the tone signal by the envelope control means after the passage of a predetermined timing, as the envelope of the input waveform signal is rapidly attenuated based on the mute playing technique. Thus, it is possible to easily add a performance effect by a mute playing technique or the like.
第1図は、本発明による電子楽器の全体構成図、 第2図は、ピッチ抽出デジタル回路の構成図、 第3図は、ピッチ割込み処理ルーチンの動作フローチャ
ートを示した図、 第4図は、メインルーチンの動作フローチャートを示し
た図、 第5図は、STEP0の動作フローチャートを示した図、 第6図は、STEP1の動作フローチャートを示した図、 第7図は、STEP2の動作フローチャートを示した図、 第8図は、STEP3の動作フローチャートを示した図、 第9A図は、STEP4(5)の動作フローチャートを示した
図、 第9B図は、エンベロープ割込み処理ルーチンの動作フロ
ーチャートを示した図、 第9C図は、エンベロープ制御処理の動作フローチャート
を示した図、 第10図は、本実施例の概略動作説明図、 第11図は、本実施例の動作説明図、 第12図は、本実施例の基本動作説明図、 第13図(a)、(b)は、STEP1におけるダブリ処理の
動作説明図、 第14A図、第14B図、第14C図は、それぞれSTEP2における
ダブリ処理の動作説明図、 第15図は、STEP3におけるノイズ除去処理の説明図、 第16図は、STEP4におけるリラティブオフ処理の動作説
明図、 第17図は、STEP4におけるピッチ周期不適切時の処理動
作説明図、 第18図は、ルートにおけるダブリ処理の動作説明図、 第19図は、ルートにおけるダブリ処理の動作説明図、 第20図(a)、(b)は、第1の従来例の説明図、 第21図は、第2の従来例の説明図である。 1……ピッチ抽出アナログ回路、2……ピッチ抽出デジ
タル回路、3……中央制御装置(MCP)、4……アドレ
スデコーダ、5……楽音発生回路、6……乗算器、7…
…加算器、8……D/A変換器、9……アンプ、10……ス
ピーカ、11……ラッチ、D1……デジタル出力、GENV0…
…エンベロープデータ初期値、GENV……エンベロープデ
ータ.FIG. 1 is an overall configuration diagram of an electronic musical instrument according to the present invention, FIG. 2 is a configuration diagram of a pitch extraction digital circuit, FIG. 3 is a diagram showing an operation flowchart of a pitch interrupt processing routine, and FIG. FIG. 5 shows an operation flowchart of STEP0, FIG. 6 shows an operation flowchart of STEP1, and FIG. 7 shows an operation flowchart of STEP2. FIG. 8, FIG. 8 is a diagram showing an operation flowchart of STEP3, FIG. 9A is a diagram showing an operation flowchart of STEP4 (5), FIG. 9B is a diagram showing an operation flowchart of an envelope interrupt processing routine, 9C is a diagram showing an operation flowchart of the envelope control process, FIG. 10 is a schematic operation explanatory diagram of the present embodiment, FIG. 11 is an operational explanatory diagram of the present embodiment, and FIG. An example FIGS. 13 (a) and 13 (b) are diagrams illustrating the operation of the doubling process in STEP1, FIGS. 14A, 14B, and 14C are diagrams illustrating the operation of the doubling process in STEP2, respectively. FIG. 15 is an explanatory diagram of the noise removal process in STEP 3, FIG. 16 is an explanatory diagram of the operation of the relative off process in STEP 4, FIG. 17 is an explanatory diagram of the processing operation when the pitch cycle is inappropriate in STEP 4, and FIG. FIG. 19 is an explanatory diagram of the operation of the doubling process on the route. FIG. 19 is an explanatory diagram of the operation of the doubling process on the route. FIGS. 20 (a) and (b) are explanatory diagrams of the first conventional example. It is explanatory drawing of a 2nd conventional example. 1 ... Pitch extraction analog circuit, 2 ... Pitch extraction digital circuit, 3 ... Central control unit (MCP), 4 ... Address decoder, 5 ... Tone generation circuit, 6 ... Multiplier, 7 ...
... Adder, 8 ... D / A converter, 9 ... Amplifier, 10 ... Speaker, 11 ... Latch, D1 ... Digital output, GENV0 ...
… Initial value of envelope data, GENV …… Envelope data.
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G10H 1/00 G10H 1/057 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int.Cl. 6 , DB name) G10H 1/00 G10H 1/057
Claims (3)
るエンベロープ抽出手段と、 該エンベロープ抽出手段により抽出されたエンベロープ
信号の値が所定レベルを超えることに応答して楽音信号
の発生を開始する楽音発生手段と、 該楽音信号の発音開始後、所定タイミングを経過した後
に、前記エンベロープ抽出手段により抽出されたエンベ
ロープ信号に対応するように前記楽音発生手段から発生
される楽音信号のエンベロープを制御するエンベロープ
制御手段とを備えたことを特徴とする楽音発生装置。An envelope extracting means for extracting an envelope signal of an input waveform signal, and a tone generator for generating a tone signal in response to a value of the envelope signal extracted by the envelope extracting means exceeding a predetermined level. Means for controlling the envelope of a tone signal generated by the tone generating means so as to correspond to the envelope signal extracted by the envelope extracting means after a predetermined timing has elapsed after the start of the tone signal generation. Means for producing a musical tone.
り抽出されたエンベロープ信号の値を基準エンベロープ
値として、それ以後に順次抽出されたエンベロープ信号
の値と、前記基準エンベロープ値との比を、前記楽音信
号に乗算する乗算手段を有することを特徴とする請求項
1に記載の楽音発生装置。2. The method according to claim 1, wherein the envelope control means sets a value of the envelope signal extracted by the envelope extracting means when the predetermined timing elapses as a reference envelope value, and a value of the envelope signal sequentially extracted thereafter and the reference envelope value. 2. The tone generator according to claim 1, further comprising a multiplying means for multiplying the tone signal by a ratio of the tone signal.
音信号にエンベロープ特性を付加するエンベロープ発生
手段を有し、 前記所定のタイミングが、前記エンベロープ発生手段に
おいて付加されるエンベロープ特性が持続特性となるタ
イミングであるように構成されたことを特徴とする請求
項1または2に記載の楽音発生装置。3. The tone generator according to claim 1, further comprising an envelope generator for adding an envelope characteristic to the tone signal generated by the tone generator, wherein the predetermined timing is such that the envelope characteristic added by the envelope generator is a continuous characteristic. 3. The musical sound generating apparatus according to claim 1, wherein the timing is set to be the following timing.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1208643A JP2958778B2 (en) | 1989-08-11 | 1989-08-11 | Tone generator |
US07/558,818 US5147970A (en) | 1989-08-11 | 1990-07-27 | Electronic musical instrument for generating musical tones on the basis of characteristics of input waveform signal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1208643A JP2958778B2 (en) | 1989-08-11 | 1989-08-11 | Tone generator |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0372399A JPH0372399A (en) | 1991-03-27 |
JP2958778B2 true JP2958778B2 (en) | 1999-10-06 |
Family
ID=16559642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1208643A Expired - Lifetime JP2958778B2 (en) | 1989-08-11 | 1989-08-11 | Tone generator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2958778B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10338825A1 (en) * | 2003-08-21 | 2005-03-24 | Daimlerchrysler Ag | Diagnostic device and diagnostic method for a multi-antenna system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS51123133A (en) * | 1975-04-18 | 1976-10-27 | Matsushita Electric Ind Co Ltd | Instrument tone conversion device |
JPS54126016A (en) * | 1978-03-24 | 1979-09-29 | Nippon Gakki Seizo Kk | Electric instrument |
-
1989
- 1989-08-11 JP JP1208643A patent/JP2958778B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0372399A (en) | 1991-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2615825B2 (en) | Electronic string instrument | |
JP2734521B2 (en) | Music control device | |
US5048391A (en) | Electronic musical instrument for generating musical tones on the basis of characteristics of input waveform signal | |
US5147970A (en) | Electronic musical instrument for generating musical tones on the basis of characteristics of input waveform signal | |
US4924746A (en) | Input apparatus of electronic device for extracting pitch from input waveform signal | |
JP2958778B2 (en) | Tone generator | |
JP2775633B2 (en) | Music control device | |
JP2722584B2 (en) | Music control device | |
JP2661481B2 (en) | Electronic musical instrument | |
JP2615946B2 (en) | Music control device | |
JP2858313B2 (en) | Pitch information generation device | |
JP2661066B2 (en) | Sound control device | |
JP2629418B2 (en) | Music synthesizer | |
JP2611263B2 (en) | Sound control device | |
JP3346699B2 (en) | Electronic musical instrument | |
JP2661065B2 (en) | Sound control device | |
JP2591000B2 (en) | Electronic string instrument | |
JP2605773B2 (en) | Electronic string instrument | |
JP6135312B2 (en) | Electronic stringed instrument, musical sound control method and program | |
JP2591001B2 (en) | Electronic string instrument | |
JP3020504B2 (en) | Music control device | |
JP2530928Y2 (en) | Electronic musical instrument level display | |
JP2759149B2 (en) | Music control device | |
JP6361109B2 (en) | Electronic stringed instrument, musical sound control method and program | |
JP2014153434A (en) | Electronic stringed instrument, musical sound generation method and program |