JP2661481B2 - Electronic musical instrument - Google Patents

Electronic musical instrument

Info

Publication number
JP2661481B2
JP2661481B2 JP4276370A JP27637092A JP2661481B2 JP 2661481 B2 JP2661481 B2 JP 2661481B2 JP 4276370 A JP4276370 A JP 4276370A JP 27637092 A JP27637092 A JP 27637092A JP 2661481 B2 JP2661481 B2 JP 2661481B2
Authority
JP
Japan
Prior art keywords
pitch
peak value
processing
value
peak
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP4276370A
Other languages
Japanese (ja)
Other versions
JPH05216468A (en
Inventor
繁 内山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KASHIO KEISANKI KK
Original Assignee
KASHIO KEISANKI KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KASHIO KEISANKI KK filed Critical KASHIO KEISANKI KK
Priority to JP4276370A priority Critical patent/JP2661481B2/en
Publication of JPH05216468A publication Critical patent/JPH05216468A/en
Application granted granted Critical
Publication of JP2661481B2 publication Critical patent/JP2661481B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、電子ギター等の電子弦
楽器をはじめとするシンセサイザータイプの電子楽器に
係り、特に入力波形信号からピッチ情報を抽出しそれに
応じた音高で楽音を発音できる電子楽器に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a synthesizer type electronic musical instrument such as an electronic stringed musical instrument such as an electronic guitar, and more particularly to an electronic musical instrument capable of extracting pitch information from an input waveform signal and generating a musical tone at a pitch corresponding thereto. About musical instruments.

【0002】[0002]

【従来の技術】ギター等を演奏操作することにより弦の
振動等を電気信号として検出し、その入力波形信号に従
ってディジタル回路等で構成された楽音発生回路を制御
して、楽音を合成し放音させるようにした電子楽器が開
発されている。
2. Description of the Related Art A string or the like of a string is detected as an electric signal by playing a guitar or the like, and a tone generating circuit composed of a digital circuit or the like is controlled in accordance with an input waveform signal to synthesize and emit a tone. Electronic musical instruments designed to cause the electronic musical instrument have been developed.

【0003】特に、ピッチ抽出回路が入力波形信号から
ピッチ周期を抽出し、楽音発生回路がそのピッチ周期に
対応した音高の楽音を発生するタイプのものは、楽音の
音高等が入力波形信号にダイレクトに応答するため、演
奏者の演奏に忠実な楽音合成を行うことができる。
In particular, a type in which a pitch extraction circuit extracts a pitch period from an input waveform signal and a tone generation circuit generates a tone having a pitch corresponding to the pitch period, the pitch of the tone is included in the input waveform signal. Because of direct response, it is possible to perform tone synthesis that is faithful to the performance of the player.

【0004】このようなピッチ抽出タイプの従来の電子
楽器では、ピッチ抽出回路から抽出されたピッチ周期に
対応する周波数に正比例した音高情報を生成し、その音
高情報に従って楽音を発生させている。
In such a conventional electronic musical instrument of the pitch extraction type, pitch information is generated in direct proportion to a frequency corresponding to a pitch cycle extracted from a pitch extraction circuit, and a musical tone is generated according to the pitch information. .

【0005】[0005]

【発明が解決しようとする課題】ところが、例えばアコ
ースティックギター等において、弦をピッキングしたと
きの弦振動波形をピックアップ等で拾い、その波形信号
からピッチ周期を抽出すると、ピッキングの開始時すな
わち弦振動の開始時(入力波形信号の立ち上がり時)に
おいて、実際のギターのフレットを押さえたときの音程
に対応する周期より短めのピッチ周期が抽出されるとい
う傾向が見られる。すなわち、抽出されるピッチ周期に
対応する周波数が実際の音程より高めになってしまう。
これは、例えば弦振動の非線形性等によるものである。
なお、開始時以降は実際の音程と一致する。
However, for example, in an acoustic guitar or the like, when a string vibration waveform when a string is picked is picked up by a pickup or the like and a pitch period is extracted from the waveform signal, when the picking starts, that is, when the string vibration is picked up. At the start (when the input waveform signal rises), there is a tendency that a pitch cycle shorter than the cycle corresponding to the pitch when the fret of the actual guitar is pressed is extracted. That is, the frequency corresponding to the extracted pitch cycle becomes higher than the actual pitch.
This is due to, for example, the non-linearity of the string vibration.
Note that after the start, it matches the actual pitch.

【0006】従って、抽出されたピッチ周期に対応する
周波数にそのまま正比例した音高情報を生成すると、入
力波形信号の立ち上がり時に、実際より高めの音高が指
定されてしまい、特に、例えば100セント単位で音高
を指定するような電子楽器において、誤った音高で楽音
の発音が開始されてしまうという問題点を有している。
Therefore, if pitch information directly proportional to the frequency corresponding to the extracted pitch period is generated, a pitch higher than the actual pitch is specified at the time of the rising edge of the input waveform signal. There is a problem that an electronic musical instrument whose pitch is designated by a tone starts to produce a musical tone at an incorrect pitch.

【0007】上記問題は、電子弦楽器に限られず、立ち
上がり時に非線形な入力波形信号を発生し得る電子楽器
においても、一般に起こり得る。本発明の課題は、入力
波形信号の立ち上がり時においても、実際の音程に正確
に対応する音高指定を可能とすることにある。
The above problem is not limited to electronic stringed musical instruments, but can generally occur in electronic musical instruments that can generate a non-linear input waveform signal when rising. An object of the present invention is to make it possible to specify a pitch that accurately corresponds to an actual pitch even when an input waveform signal rises.

【0008】[0008]

【課題を解決するための手段】本発明は、例えば金属弦
振動をピックアップによって入力波形信号として検出
し、これからピッチ情報を抽出し、該ピッチ情報により
楽音の音高を制御するタイプの電子弦楽器(電子ギタ
ー)等として実現される電子楽器である。
SUMMARY OF THE INVENTION The present invention relates to an electronic stringed musical instrument of the type in which, for example, a metal string vibration is detected as an input waveform signal by a pickup, pitch information is extracted therefrom, and the pitch of a musical tone is controlled based on the pitch information. An electronic musical instrument realized as an electronic guitar).

【0009】そして、まず、入力波形信号からピッチ情
報を抽出するピッチ抽出手段を有する。同手段は、例え
ば予め求めた入力波形信号をデジタル化し、そのデジタ
ル波形から有効なピーク値とその直後のゼロクロス時刻
を順次検出し、該有効なピーク値とその直後あるいはそ
の直前のゼロクロス時刻の組を判定することにより、各
ゼロクロス時刻の間隔としてピッチ情報すなわちピッチ
周期を抽出する手段である。或いは、各ピーク値の間隔
としてピッチ周期を抽出する手段である。
[0009] First, there is provided a pitch extracting means for extracting pitch information from the input waveform signal. The means digitizes, for example, an input waveform signal obtained in advance, sequentially detects a valid peak value and a zero-cross time immediately after the digital signal from the digital waveform, and sets a set of the valid peak value and the zero-cross time immediately after or immediately before the valid peak value. Is a means for extracting pitch information, that is, a pitch cycle, as an interval between each zero crossing time. Alternatively, it is means for extracting a pitch cycle as an interval between each peak value.

【0010】次に、ピッチ情報補正手段は、上記ピッチ
抽出手段で抽出される前記入力波形の立ち上がり時のピ
ッチ情報を補正する手段である。同手段は、例えば入力
波形が検出されていない状態において、前記ピッチ抽出
手段から最初に検出されるピッチ周期のみを数パーセン
ト分補正する手段である。
Next, the pitch information correcting means is means for correcting the pitch information at the time of rising of the input waveform extracted by the pitch extracting means. This means corrects, for example, only a pitch cycle first detected by the pitch extracting means by several percent in a state where no input waveform is detected.

【0011】そして、楽音発生手段は、前記入力波形の
立ち上がり時は前記ピッチ情報補正手段で補正されたピ
ッチ情報に応じた音高で楽音を発生するとともに、該立
ち上がり時以降は前記ピッチ抽出手段で抽出されるピッ
チ情報に応じた音高で楽音を発生する手段である。
The tone generator generates a tone at a pitch corresponding to the pitch information corrected by the pitch information corrector when the input waveform rises, and the pitch extractor after the rise. This is a means for generating a musical tone at a pitch corresponding to the extracted pitch information.

【0012】[0012]

【作用】本発明の作用は次の通りである。例えばギター
シンセサイザー等の電子弦楽器においては、演奏者が弦
をピッキングした場合に、それによりピックアップ等か
ら検出される弦振動波形(入力波形信号)からピッチ抽
出手段がピッチ周期(ピッチ情報)を抽出した場合、ピ
ッキング開始時(入力波形信号の立ち上がり時)におい
てのみ、ピッチ周期が例えば数パーセント分短めに抽出
される。すなわち、周波数で見ると、実施の音程より高
めの周波数が抽出される。
The operation of the present invention is as follows. For example, in an electronic stringed musical instrument such as a guitar synthesizer, when a player picks a string, the pitch extracting means extracts a pitch period (pitch information) from a string vibration waveform (input waveform signal) detected by a pickup or the like. In this case, only at the start of picking (when the input waveform signal rises), the pitch period is extracted, for example, a few percent shorter. That is, when viewed in terms of frequency, a frequency higher than the actual pitch is extracted.

【0013】そして、このピッチ周期は、ピッチ情報補
正手段によって本来のピッチ周期になるように補正され
る。これにより、楽音発生手段が、上記入力波形信号の
立ち上がり時は上記補正されたピッチ周期に応じた音高
で楽音を発生することにより、入力波形信号の立ち上が
り時においても、実際の音程に正確に対応する音高指定
を行うことができる。なお、該立ち上がり時以降は、ピ
ッチ抽出手段で抽出されるピッチ周期にそのまま対応す
る音高で楽音を発生させればよい。
Then, the pitch period is corrected by the pitch information correcting means so as to become the original pitch period. Accordingly, the tone generating means generates a tone at a pitch corresponding to the corrected pitch cycle at the time of rising of the input waveform signal, so that even at the time of rising of the input waveform signal, the musical tone generation means accurately matches the actual pitch. A corresponding pitch designation can be made. Note that after the rise, a musical tone may be generated at a pitch corresponding to the pitch cycle extracted by the pitch extracting means.

【0014】[0014]

【実施例】以下、本発明の実施例につき詳細に説明を行
う。なお、以下の説明においては、記号{ }、(
)、《 》で囲まれ、アンダーラインを付した見出し
の順に、順次項目分けを行う。{本発明による電子楽器の構成} 本実施例は、ボディー
上に6本の金属弦が張られ、該金属弦の下部に設けられ
たフレット(指板)を指で押えながら、所望の弦をピッ
キングすることにより演奏を行う電子ギターとして実現
されている。なお、その外見は省略する。
Embodiments of the present invention will be described below in detail. In the following description, the symbols {}, (
), The items are sequentially sorted in the order of the underlined headings surrounded by <<>. << Structure of Electronic Musical Instrument According to the Present Invention >> In this embodiment, six metal strings are stretched on the body, and a desired string is pressed while pressing a fret (fingerboard) provided below the metal strings with a finger. It is realized as an electronic guitar that performs by picking. The appearance is omitted.

【0015】図1は、本実施例の全体の構成図である。
まず、ピッチ抽出アナログ回路1は、特には図示しない
前記6本の弦毎にそれぞれ設けられ、各弦の振動を電気
信号に変換するヘキサピックアップからの各出力を、特
には図示しないローパスフィルタに通して高調波成分を
除去することにより、6種類の各波形信号Wi(i=1
〜6)を得る。更に、各波形信号Wiの振幅の符号が正
又は負に変化する毎に、ハイレベル又はローレベルとな
るパルス状のゼロクロス信号Zi(i=1〜6)を発生
する。そして、これら6種類の波形信号Wi及びゼロク
ロス信号Ziを、各々特には図示しないA/D変換器等
により、時分割のシリアルゼロクロス信号ZCR及びデ
ィジタル出力(時分割波形信号)D1に変換し、出力す
る。
FIG. 1 is an overall configuration diagram of the present embodiment.
First, the pitch extraction analog circuit 1 is provided for each of the six strings (not shown) and passes each output from a hexapickup for converting the vibration of each string into an electric signal through a low-pass filter (not shown). By removing the harmonic components, 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 converted into a time-division serial zero-cross signal ZCR and a digital output (time-division waveform signal) D1 by an A / D converter (not shown) and output. I do.

【0016】ピッチ抽出ディジタル回路2は、図2に示
すようにピーク検出回路201、時定数変換制御回路2
02、波高値取込回路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 comprises a peak detection circuit 201, a time constant conversion control circuit 2
02, a peak value capturing circuit 203 and a zero cross time capturing circuit 204. These circuits shown in FIG. 2 correspond to the serial zero-cross signal ZCR and the digital output D1 from the pitch extraction analog circuit 1 (FIG. 1) obtained by time-dividing six strings.
, Time-division processing is performed on six strings. In the following description, the processing for one string will be described for ease of description, and the serial zero cross signal ZCR and the digital output D1 will be described using an image of a signal for one string. It is assumed that division processing has been performed.

【0017】図2において、まず、ピーク検出回路20
1は、前記シリアルゼロクロス信号ZCR及びディジタ
ル出力D1に基づいて、ディジタル出力D1の最大ピー
ク点及び最小ピーク点を検出する。そのために、同回路
201の内部に、特には図示しないが、過去のピーク値
の絶対値を減算し(減衰させ)ながらホールドするピー
クホールド回路を有している。そして、ピーク検出回路
201は前回のピーク値検出後、上記ピークホールド回
路から出力されるピークホールド信号をしきい値とし
て、次のシリアルゼロクロス信号ZCRが発生した後に
ディジタル出力D1の絶対値がこのしきい値を越えた時
点でピーク値のタイミングを検出する。なお、ピーク値
のタイミング検出は、ディジタル出力D1が正符号の場
合と負符号の場合の各々について行われる。そして、上
記ピーク値の検出タイミングで、正符号の場合は最大ピ
ーク値検出信号MAX、負符号の場合は最小ピーク値検
出信号MINを出力する。なお、これらの各信号も実際
には当然6弦分の時分割信号である。
In FIG. 2, first, the peak detection circuit 20
1 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 detection of the timing of the peak value is performed for each of the case where the digital output D1 has a positive sign and the case where the digital output D1 has 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.

【0018】次に、時定数変換制御回路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 the maximum / minimum peak value detection signals MAX and MIN from the peak detection circuit 201. , And a control from a central control unit (MCP, the same applies hereinafter) 3 in FIG. This will be described later.

【0019】続いて、図2における波高値取込回路20
3は、前記ピーク抽出アナログ回路1より時分割的に送
出されてくるディジタル出力D1を、各弦毎の波高値に
デマルチプレクス(分解)処理し、前記ピーク検出回路
201からのピーク値検出信号MAX,MINに従っ
て、ピーク値をホールドする。そして、MCP3(図
1)がアドレスデコーダ4(図1)を介してアクセスし
てきた弦についての最大ピーク値、もしくは最小ピーク
値をバスBUSを介してMCP3へ順次出力する。ま
た、この波高値取込回路203からは、上記ピーク値の
他、各弦毎の振動の瞬時値も出力可能になっている。
Subsequently, the peak value capturing circuit 20 shown in FIG.
3 demultiplexes (decomposes) the digital output D1 sent from the peak extraction analog circuit 1 in a time-sharing manner into a peak value for each string, and outputs a peak value detection signal from the peak detection circuit 201. The peak value is held according to MAX and MIN. Then, the MCP 3 (FIG. 1) sequentially outputs the maximum peak value or the minimum peak value of the string accessed via the address decoder 4 (FIG. 1) to the MCP 3 via the bus BUS. The peak value capturing circuit 203 can output not only the peak value but also the instantaneous value of vibration of each string.

【0020】ゼロクロス時刻取込回路204は、前記ピ
ッチ抽出アナログ回路1(図1)からのシリアルゼロク
ロス信号ZCRに従って、各弦共通のタイムベースカウ
ンタ2041の出力を、各弦のゼロクロス時点、厳密に
は、ピーク検出回路201から出力される最大・最小ピ
ーク値検出信号MAX、MINで決定される最大ピーク
点及び最小ピーク点の通過タイミング直後のゼロクロス
時点でラッチする。このラッチ動作が行われると、ゼロ
クロス時刻取込回路204は続いて、図1のMCP3に
割り込み信号INTを出力する。これにより、MCP3
からアドレスデコーダ4(図1)を介して出力される制
御信号(後述する)に従って、ゼロクロスが発生した弦
番号、ラッチした当該弦に対応するゼロクロス時刻及び
正負情報(後述する)を、バスBUSを介してMCP3
へ順次出力する。
The zero-cross time acquisition circuit 204 outputs the output of the time base counter 2041 common to each string according to the serial zero-cross signal ZCR from the pitch extraction analog circuit 1 (FIG. 1), and more specifically, the zero-cross time of each string, strictly speaking. , Is latched at the zero crossing point immediately after the passage timing of the maximum peak point and the minimum peak point determined by the maximum / minimum peak value detection signals MAX and MIN output from the peak detection circuit 201. When this latch operation is performed, the zero-crossing time acquisition circuit 204 subsequently outputs an interrupt signal INT to the MCP 3 in FIG. Thereby, MCP3
In accordance with a control signal (described later) output from the address decoder 4 (FIG. 1), the string number at which the zero-cross has occurred, the zero-cross time corresponding to the latched string, and positive / negative information (described later) are transmitted to the bus BUS. Via MCP3
Sequentially output to

【0021】また、図2のタイミングジェネレータ20
5からは、図1及び図2に示す各回路の処理動作のため
のタイミング信号が出力される。次に、図1に戻って、
MCP3は、メモリ例えばROM301及びRAM30
2を有するとともに、タイマ303を有する。ROM3
01は後述する各種楽音制御用のプログラムを記憶して
いる不揮発メモリであり、RAM302は該制御時の各
種変数・データ用のワーク領域として用いられる書き替
え可能なメモリである。また、タイマ303は、後述す
るノートオフ(消音)処理のために用いられる。
The timing generator 20 shown in FIG.
5 outputs a timing signal for the processing operation of each circuit shown in FIGS. Next, returning to FIG.
The MCP 3 has a memory such as a ROM 301 and a RAM 30
2 and a timer 303. ROM3
Reference numeral 01 denotes a non-volatile memory that stores programs for controlling various musical sounds, which will be described later. 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.

【0022】楽音発生部5は、楽音発生回路501とD
/A変換器502、アンプ503及びスピーカ504か
らなり、MCP3からの楽音制御情報に応じた楽音を放
音する。なお、楽音発生回路501の入力側に、インタ
ーフェイス(Musical Instrument Digital Interface)
MIDIが設けられており、楽音制御情報伝送用の専用
バスMIDI−BUSを介して、MCP3と接続され
る。なお、ギター本体内に楽音発生部5を設けるとき
は、別の内部インターフェイスを介してもよい。
The tone generator 5 includes a tone generator 501 and D
An A / A converter 502, an amplifier 503, and a speaker 504 emit a tone corresponding to tone control information from the MCP 3. Note that an interface (Musical Instrument Digital Interface) is provided on the input side of the tone generation circuit 501.
MIDI is provided, and is connected to the MCP 3 via a dedicated bus MIDI-BUS for transmitting tone control information. When the tone generator 5 is provided in the guitar body, another internal interface may be used.

【0023】アドレスデコーダ4は、前記したゼロクロ
ス時刻取込回路204(図2)からの割り込み信号IN
Tの発生の後、MCP3(図1)から発生するアドレス
読み出し信号ARに従って、ゼロクロス時刻取込回路2
04に、弦番号読込み信号外1 、続いて、時刻読込み
信号 外2 (i=1〜6)を供給する。また、同
The address decoder 4 outputs an interrupt signal IN from the above-mentioned zero-cross time acquisition circuit 204 (FIG. 2).
After the occurrence of T, the zero-crossing time acquisition circuit 2 according to the address read signal AR generated from the MCP 3 (FIG. 1).
04, a string number reading signal outside 1 and a time reading signal outside 2 (i = 1 to 6) are supplied. Also,

【0024】[0024]

【外1】 [Outside 1]

【0025】[0025]

【外2】 [Outside 2]

【0026】様に、波高値取込回路203(図2)に波
形読込み信号RDAj(j=1〜18)を出力する。こ
れらの動作の詳細については後述する。{本実施例の概略動作} 上記構成の実施例の動作につき
以下に説明する。
As described above, the waveform read signal RDj (j = 1 to 18) is output to the peak value capturing circuit 203 (FIG. 2). Details of these operations will be described later. << Schematic Operation of the Present Embodiment >> The operation of the embodiment having the above configuration will be described below.

【0027】まず、楽音発生までの本実施例の概略動作
について説明を行う。図10のD1は、図1のピッチ抽
出アナログ回路1から出力されるディジタル出力D1の
1弦分についてアナログ的に示したものである。この波
形は、特には図示しないギターの6弦のうち1弦をピッ
キングすることにより、対応するピックアップから検出
される電気信号をディジタル信号として出力したもので
あり、当該弦を特には図示しないフレット(指板)上で
押さえる位置に従って、図10T0 〜T5 等に示すよう
なピッチ周期を有する波形が発生する。
First, the general operation of this embodiment up to generation of a musical tone will be described. 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 string out of six strings of a guitar (not shown) and outputting an electric signal detected from a corresponding pickup as a digital signal. according to the position pressed on the fingerboard) waveform is generated with the pitch period, as shown in FIG. 10T 0 through T 5, and the like.

【0028】本実施例では、このピッチ周期T0 〜T5
等をリアルタイムで抽出することにより、図1のMCP
3がそれに対応する音高情報を生成し、図1の楽音発生
回路501でその音高の楽音を発音させる。従って、特
には図示しないトレモロアームによって、演奏中に演奏
者が弦の張力を変化させたような場合、それに従ってデ
ィジタル出力D1のピッチ周期が変化するため、音高情
報もそれに従ってリアルタイムで変化し、楽音に豊かな
表現を付加することができる。
In this embodiment, the pitch periods T 0 to T 5
And the like in real time, the MCP in FIG.
3 generates pitch information corresponding to the pitch information and causes the tone generation circuit 501 shown in FIG. Therefore, especially when the player changes the string tension during the performance by the 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.

【0029】また、本実施例では、図10のディジタル
出力D1のピーク値a0 〜a3 又はb0 〜b3 等を検出
しており、特に図1のMCP3が立ち上がり時(弦のピ
ッキング時)の最大ピーク値a0 に基づいて音量情報を
作成して楽音発生回路501に転送することにより、弦
をピッキングした強さに応じた音量の楽音を発音させる
ことができる。
Further, in this embodiment, the peak values a 0 to a 3 or b 0 to b 3 of the digital output D1 shown in FIG. 10 are detected. In particular, when the MCP 3 shown in FIG. By generating volume information based on the maximum peak value a0 of ( 1 ) and transferring it to the tone generation circuit 501, a tone having a volume corresponding to the strength of picking a string can be generated.

【0030】次に、本実施例では、図10のピッチ周期
0 を抽出した時点で、すぐに発音を開始するわけでは
なく、始めのいくつかのピッチ周期を論理的に判定し、
安定したピッチ周期が抽出できるようになった時点、例
えば図10t3 で発音を開始する。これは、弦のピッキ
ング時には、その開始部分でディジタル出力D1が乱れ
やすく、安定なピッチ周期を抽出できず、そのままのピ
ッチ周期に対応する音程で楽音を発音させると、おかし
な音程の楽音が発音されてしまうためである。従って、
楽音の発音開始時の最初のピッチ周期は、例えば図10
1 である。
Next, in this embodiment, when the pitch period T 0 in FIG. 10 is extracted, the sound generation is not started immediately, but the first several pitch periods are logically determined.
When a stable pitch period can now extract, it begins pronunciation in FIG 10t 3, for example. This is because, when picking a string, the digital output D1 tends to be disturbed at the start of the string, and a stable pitch period cannot be extracted. If a musical tone is produced at a pitch corresponding to the pitch period as it is, a musical tone having a strange pitch is produced. This is because Therefore,
The first pitch cycle at the start of musical tone generation is, for example, as shown in FIG.
A T 1.

【0031】ここで、一般の生ギター(アコースティッ
クギター)等において、弦をピッキングしたときのその
弦振動波形をピックアップ等で拾い、その波形信号から
ピッチ周期を抽出すると、ピッキングの開始時すなわち
弦振動の開始時(入力波形信号の立ち上がり時)におい
て、実際のギターのフレットを押さえたときの音程に対
応する周期より短めのピッチ周期が抽出されるという傾
向が見られる。すなわち、抽出されるピッチ周期に対応
する周波数が実際の音程より高めになってしまう。図1
0の例では、ピッチ周期T1 等が、実際の周期より長め
に抽出されることになる。
Here, in a general raw guitar (acoustic guitar) or the like, a string vibration waveform when a string is picked is picked up by a pickup or the like, and a pitch cycle is extracted from the waveform signal. At the start of the waveform (when the input waveform signal rises), there is a tendency that a pitch cycle shorter than the cycle corresponding to the pitch when the fret of the actual guitar is pressed is extracted. That is, the frequency corresponding to the extracted pitch cycle becomes higher than the actual pitch. FIG.
In the example of 0, the pitch cycle T 1 and the like are extracted longer than the actual cycle.

【0032】そこで、本実施例では、発音開始時のピッ
チ周期例えばT1 のみについて、その値が数パーセント
分短くなるように補正し、その補正値によって音高情報
を生成して図1の楽音発生回路501に出力する。そし
て、発音開始時以降の各ピッチ周期例えば図10T2
5 等については、補正はせずそのまま対応する音高情
報を生成し楽音発生回路501に出力する。これによ
り、発音開始時にピッチ周期に対応する周波数が高めに
検出されても、その分を補正した本来の音程で楽音の発
音を開始させることができる。これが、本実施例の大き
な特徴とする点である。
[0032] Therefore, in this embodiment, only for the pitch period for example T 1 of the at the start of sounding is corrected so that its value is several percent fraction shortening, tone of Figure 1 generates the tone pitch information by the correction value Output to the generation circuit 501. Each pitch period since at the start of sounding example FIG 10T 2 ~
The T 5, etc., correction is output to the musical tone generating circuit 501 generates tone pitch information directly corresponding not. Thus, even when the frequency corresponding to the pitch cycle is detected to be higher at the start of sound generation, the tone generation can be started at the original pitch corrected by that amount. This is a major feature of the present embodiment.

【0033】上記動作は、ギターの6弦分の時分割ディ
ジタル出力D1について時分割処理されるため、楽音発
生回路501からは6弦分の楽音を聴覚的に同時に発音
させることができる。そして、これらの楽音は、自由な
音量・音色に設定でき、電子的に各種の効果を付加でき
るため、極めて大きな演奏効果が得られる。{ピッチ抽出ディジタル回路の動作} 上記動作を実現す
るための本実施例の動作につき、以下に詳細に説明を行
ってゆく。(概略動作) まず、図1又は図2のピッチ抽出ディジタ
ル回路2の動作について説明を行う。なお、以下の説明
においても1弦分についてのみ説明し、シリアルゼロク
ロス信号ZCR、ディジタル出力D1、最大・最小ピー
ク値検出信号MAX,MINは1弦分のイメージで説明
するが、実際には6弦分について時分割処理されてい
る。
The above operation is time-division-processed for the time-division digital output D1 for the six strings of the guitar, so that the musical sound generation circuit 501 can simultaneously generate six strings of musical sounds audibly. These musical tones can be set to any volume and tone freely, and various effects can be electronically added, so that an extremely large performance effect can be obtained. << Operation of Pitch Extraction Digital Circuit >> The operation of this embodiment for realizing the above operation will be described in detail below. (Schematic Operation) First, the operation of the pitch extraction digital circuit 2 of FIG. 1 or 2 will be described. In the following description, only one string is described, and the serial zero-cross signal ZCR, the digital output D1, and the maximum / minimum peak value detection signals MAX and MIN will be described as an image of one string. Time division processing has been performed for minutes.

【0034】同回路2では、各弦毎に図10のディジタ
ル出力D1から、ピーク値a0 〜a 3 又はb0 〜b3
を抽出し、同時に各ピーク値の直後のゼロクロス時刻t
1 〜t7 等を抽出し、更に、各ゼロクロス時刻の直前の
ピーク値が正か負かにより1又は0を示す情報を抽出し
て、図1のMCP3に供給する。これに基づいて、MC
P3は前記ゼロクロス時刻の間隔から図10の各ピッチ
周期T0 〜T5 等を抽出して、また、その他前記各種楽
音情報を生成し、更に、後述するように必要に応じて、
エラー処理、ノートオフ(消音)処理、リラティブオン
・オフの処理等を行う。(詳細動作) そのために、図2のピーク検出回路201
では、図10のように入力してくるディジタル出力D1
に対して、まず、その値が負となる部分で、その絶対値
が0を越えたタイミングx0 で、図10に示すような最
小ピーク値検出信号MINがハイレベルになる。
In the same circuit 2, the digital signal shown in FIG.
From the output D1, the peak value a0~ A ThreeOr b0~ BThreeetc
And at the same time, the zero crossing time t immediately after each peak value
1~ T7And the like, and further,
Extracts information indicating 1 or 0 depending on whether the peak value is positive or negative.
To the MCP 3 in FIG. Based on this, MC
P3 is the pitch of FIG. 10 from the interval of the zero crossing time.
Period T0~ TFiveEtc.
Generates sound information and, if necessary, as described below,
Error processing, note-off (silence) processing, relative on
・ Perform off processing.(Detailed operation) Therefore, the peak detection circuit 201 shown in FIG.
Now, the digital output D1 input as shown in FIG.
First, in the part where the value is negative, its absolute value
Timing x exceeds 00Then, as shown in FIG.
The small peak value detection signal MIN becomes high level.

【0035】これにより、図2の波高値取込回路203
は、上記最小ピーク値検出信号MINがハイレベルとな
った直後のタイミングx1 で、別に入力するディジタル
出力D1から最小ピーク値(負側の波高値)b0 (絶対
値)を検出して特には図示しないラッチにホールドし、
これと共に最小ピーク値検出信号MINをローレベルに
戻す。
Thus, the peak value capturing circuit 203 shown in FIG.
At the timing x 1 immediately after the minimum peak value detection signal MIN is at high level, in particular by detecting the minimum peak value (peak value of the negative side) b 0 (absolute value) from the digital output D1 to enter separately Is held in a latch (not shown)
At the same time, the minimum peak value detection signal MIN is returned to the low level.

【0036】一方、図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 of FIG. 1 to the zero-cross time acquisition circuit 204 of FIG. This signal is a signal which is output as a high-level or low-level binary digital signal from the comparator based on a comparator (not shown) in the pitch extraction analog circuit 1 which determines whether the digital output D1 is positive or negative.

【0037】そして、ゼロクロス時刻取込回路204で
は、前記ピーク検出回路201から出力される最小ピー
ク値検出信号MINがタイミングx0 でハイレベルとな
った直後に、シリアルゼロクロス信号ZCRが変化する
エッジタイミング、すなわち、ディジタル出力D1のゼ
ロクロス時点で、図2のタイムベースカウンタ2041
で計時されている時刻t0 (図10)をラッチする。な
お、このラッチデータの最上位ビットに、直前のピーク
値が正であるか負であるかを示す1または0の正負フラ
グ(最小ピーク値b0 に対しては0となる)が付加され
る。
[0037] Then, the zero-crossing time receiving circuits 204, immediately after the minimum peak value detection signal MIN output from the peak detection circuit 201 becomes a high level at a timing x 0, the edge timing of the serial zero-crossing signal ZCR is changed That is, at the time of the zero crossing of the digital output D1, the time base counter 2041 of FIG.
Is latched at time t 0 (FIG. 10). Note that a 1 or 0 positive / negative flag ( 0 for the minimum peak value b 0 ) indicating whether the immediately preceding peak value is positive or negative is added to the most significant bit of the latch data. .

【0038】更に、ゼロクロス時刻取込回路204は上
記動作に連続して図1のMCP3に割り込み信号INT
を出力する。これにより、割り込み信号INTが発生し
た時点において、図2の波高値取込回路203には最小
ピーク値b0 (絶対値)がホールドされ、ゼロクロス時
刻取込回路204には最小ピーク値b0 の発生直後の前
記正負フラグを含むゼロクロス時刻がラッチされてい
る。
Further, the zero-crossing time acquisition circuit 204 outputs an interrupt signal INT to the MCP 3 in FIG.
Is output. As a result, when the interrupt signal INT occurs, the peak value capturing circuit 203 of FIG. 2 holds the minimum peak value b 0 (absolute value), and the zero-crossing time capturing circuit 204 stores the minimum peak value b 0 . The zero crossing time including the positive / negative flag immediately after the occurrence is latched.

【0039】そして、割り込み信号INTの出力の後、
図1のMCP3からアドレスデコーダ4を介して行われ
るアクセス(後述する)により、上記正負フラグを含む
ゼロクロス時刻及び最小ピーク値b0 が、バスBUSを
介してMCP3に転送される。なお、以上の処理は6弦
分について時分割処理されているため、後述するよう
に、上記各情報の出力の前に、どの弦番号について上記
割り込みが発生したのかを示す情報を、ゼロクロス時刻
取込回路204からMCP3に出力する。
After the output of the interrupt signal INT,
The access (to be described later) to be performed via an address decoder 4 MCP3 of Figure 1, the zero-crossing time and the 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.

【0040】次に、図2のピーク検出回路201では、
内部の特には図示しないピークホールド回路が、図10
の最小ピーク値b0 (絶対値)をピークホールドし、図
10のピークホールド信号q0 を出力する。これによ
り、ピーク検出回路201は上記ピークホールド信号
(絶対値)をしきい値として、ディジタル出力D1の負
側についてその絶対値が上記しきい値を越えたタイミン
グx2 で、再び最小ピーク値検出信号MINをハイレベ
ルにする。
Next, in the peak detection circuit 201 of FIG.
An internal peak hold circuit (not shown) is shown in FIG.
Is peak-held at the minimum peak value b 0 (absolute value), and a peak-hold signal q 0 shown in FIG. 10 is output. 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 The signal MIN is set to a high level.

【0041】これにより、前記と全く同様にして、図2
の波高値取込回路203で、最小ピーク値検出信号MI
Nがハイレベルとなった直後のタイミングx3 で次の最
小ピーク値b1 (絶対値)がホールドされ、図2のゼロ
クロス時刻取込回路204で、上記最小ピーク値b1
発生直後の正負フラグ(この場合も0)を含むゼロクロ
ス時刻t2 がラッチされ、割り込み信号INTの送出
後、MCP3に転送される。
As a result, in the same manner as described above, FIG.
Of the minimum peak value detection signal MI
N The following minimum peak value b 1 (absolute value) at the timing x 3 immediately after the high level is held at the zero-crossing time acquisition circuit 204 of FIG. 2, the positive and negative immediately after occurrence of the minimum peak value b 1 flag zero crossing time t 2 comprising (in this case 0 even) is latched, after delivery of the interrupt signal INT, is transferred to MCP3.

【0042】上記に基づく、図10のディジタル出力D
1の負側に対する最小ピーク値b0〜b3 (絶対値)、
ゼロクロス時刻t0 ,t2 ,t4 ,t6 等の検出、及び
ピークホールド信号q0 〜q3 等の出力動作と全く同様
にして、ディジタル出力D1の正側に対して最大ピーク
値a0 〜a3 等の検出、ゼロクロス時刻t1 ,t3 ,t
5 ,t7 等の検出、及びピークホールド信号p0 〜p3
等の出力動作が並列して行われる。なお、この場合は、
ピーク検出回路201から最大ピーク値検出信号MAX
が図10に示すように出力され、図2の波高値取込回路
203及びゼロクロス時刻取込回路204においては、
この信号MAXに基づいて最大ピーク値a0 〜a3 等、
及び正負フラグ(この場合、正ピークであるから1)を
含むゼロクロス時刻t1 ,t3 ,t5 ,t7 等がラッチ
される。
Based on the above, the digital output D of FIG.
Minimum peak values b 0 to b 3 (absolute values) for the negative side of 1;
The detection of the zero-cross times t 0 , t 2 , t 4 , t 6, etc., and the output operation of the peak hold signals q 0 to q 3, etc., are performed in exactly the same manner as the maximum peak value a 0 for the positive side of the digital output D 1 ~ A 3 etc., zero cross times t 1 , t 3 , t
5, the detection of such t 7, and the peak hold signal p 0 ~p 3
Are performed in parallel. In this case,
The maximum peak value detection signal MAX from the peak detection circuit 201
Are output as shown in FIG. 10, and the peak value capturing circuit 203 and the zero cross time capturing circuit 204 in FIG.
Maximum peak value a 0 ~a 3 etc. Based on this signal MAX,
And zero cross times t 1 , t 3 , t 5 , t 7, etc., including the positive and negative flags (in this case, 1 because of the positive peak) are latched.

【0043】以上に示した動作により、図2のゼロクロ
ス時刻取込回路204からは、図10のゼロクロス時刻
0 〜t7 の各時刻毎に割り込み信号INTが図1のM
CP3に出力され、これに基づいた各時刻毎に、最小又
は最大ピーク値(絶対値)とゼロクロス時刻の組とし
て、b0 とt0 、a0 とt1 、b1 とt2 、a1
3,・・・等が順次MCP3へ出力される。ここでM
CP3において、最小ピーク値(負側のピーク値)であ
るのか最大ピーク値(正側のピーク値)であるのかの判
定は、ゼロクロス時刻の最上位ビットに付加されている
前記正負フラグにより可能である。
[0043] By the operation shown above, the zero-crossing time receiving circuits 204 of FIG. 2, the interrupt signal INT at each time of the zero-crossing time t 0 ~t 7 of FIG. 10 in FIG. 1 M
Is output to CP3, each time, based on this, as a set of minimum or maximum peak value (absolute value) a zero-cross time, b 0 and t 0, a 0 and t 1, b 1 and t 2, a 1 , T 3 ,... Are sequentially output to the MCP 3 . Where M
In CP3, whether the peak value is the minimum peak value (negative peak value) or the maximum peak value (positive peak value) can be determined by the positive / negative flag added to the most significant bit of the zero crossing time. is there.

【0044】なお、上記動作の他に、図2の波高値取込
回路203はMCP3からのアクセスによりディジタル
出力D1の瞬時値を任意に出力できる。これについては
後述する。
In addition to the above operation, the peak value capturing circuit 203 of FIG. 2 can arbitrarily output the instantaneous value of the digital output D1 by accessing from the MCP3. This will be described later.

【0045】また、図2のピーク検出回路201内のピ
ークホールド回路で発生される図10のピークホールド
信号p0 〜p3 ,q0 〜q3 等の各減衰率(時定数)
は、MCP3の制御下で図2の時定数変換制御回路20
2によって随時変更される。
Further, the peak hold signal p 0 ~p 3, q 0 ~q each attenuation factor, such as 3 in FIG. 10 generated by the peak hold circuit of the peak detector circuit 201 of FIG. 2 (time constant)
Is controlled by the time constant conversion control circuit 20 of FIG.
2 as needed.

【0046】基本的には、ディジタル出力D1の例えば
1ピッチ周期時間が経過した後に、上記ピークホールド
信号が急速に減衰するようにその時定数を変更する。そ
して、このときのピッチ周期情報の設定は、図1のMC
P3が後述する動作により、各ピッチ周期の抽出を行っ
た後にバスBUSを介して、時定数変換制御回路202
内の時定数変換レジスタCHTRR(後述する)にピッ
チ周期情報をセットして行う。これにより、時定数変換
制御回路202は、内部に設けられた特には図示しない
各弦独立のカウンタと、MCP3から時定数変換レジス
タCHTRRに設定されたピッチ周期情報との一致比較
を行い、ピッチ周期時間が経過して一致出力が発生した
時点で、時定数チェンジ信号を前記ピーク検出回路20
1へ送出する。この動作により、ピークホールド信号は
1ピッチ周期の時間が経過すると、急速に減衰し、これ
により次のピッチ周期のピークが適切に検出される。
Basically, the time constant of the digital output D1 is changed so that the peak hold signal rapidly attenuates after, for example, one pitch cycle time has elapsed. The setting of the pitch period information at this time is performed by the MC of FIG.
P3 extracts each pitch period by an operation described later, and then, via the bus BUS, converts the time constant conversion control circuit 202
The pitch period information is set in a time constant conversion register CHTRR (described later). Thus, the time constant conversion control circuit 202 compares the pitch provided in each of the string-independent counters (not shown) provided therein with the pitch cycle information set in the time constant conversion register CHTRR from the MCP 3 for matching. When a coincidence output is generated after a lapse of time, the time constant change signal is output to the peak detection circuit 20.
Send to 1. 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.

【0047】なお、1ピッチ周期が経過する前に、ピー
ク検出回路201において次の最大又は最小ピーク値検
出信号MAX又はMINが検出された場合は、これらの
信号の立ち下がりのタイミングで上記カウンタをリセッ
トし、次のピークホールド信号を生成するようにしてい
る。
If the next maximum or minimum peak value detection signal MAX or MIN is detected by the peak detection circuit 201 before one pitch period elapses, the counter is reset at the falling timing of these signals. After resetting, the next peak hold signal is generated.

【0048】また、各弦の振動周期は、演奏者がフレッ
ト上で当該弦を押さえる位置によって幅広く変化するた
め、ディジタル出力D1の各弦に対応する波形の立ち上
がり時には、その波形の振動を速やかに検知すべく、各
弦の最高音周期時間経過にてピークホールド信号が急速
減衰し、その直後は、各ピッチ周期の倍音を拾わないよ
うに、各弦の開放弦周期(最低音周期)時間経過にて急
速減衰するように設定が行われる。そして、ピッチ周期
が有効に抽出された後は、当該ピッチ周期時間経過にて
急速減衰するように設定が行われ、演奏操作によるディ
ジタル出力D1の各弦のピッチ周期の変化に追従する。
Further, since the vibration period 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, the vibration of the waveform is immediately increased. For detection, the peak hold signal rapidly attenuates at the passage of the highest sound period of each string, and immediately after that, the open string period (lowest sound period) of each string elapses so as not to pick up harmonics of each pitch period. Is set so as to rapidly decay. Then, after the pitch period is effectively extracted, a setting is made so as to rapidly attenuate as the pitch period elapses, and follows a change in the pitch period of each string of the digital output D1 due to the performance operation.

【0049】更に、ピッチ検出回路201において、正
負どちらのピーク値に対して上記ピークホールドの制御
を行うかは、シリアルゼロクロス信号ZCRがハイレベ
ルであるかローレベルであるかによって判定するように
している(図10参照)。{中央制御装置(MCP)の動作} 以上の動作により、
図1のピッチ抽出回路2から供給される最大又は最小ピ
ーク値、ゼロクロス時刻、およびピーク値の正負を示す
正負フラグに基づいて、図1のMCP3が、ピッチ抽出
及び音量・音色に関するパラメータの抽出を行うことに
より、楽音発生回路501を制御するための楽音制御情
報を発生する。なお、MCP3はROM301に記憶さ
れたプログラムに従って、以下に詳細に説明するように
図3〜図9に示す動作フローチャートを実行する。(変数の説明) はじめに、後述する図3〜図9の動作フ
ローチャートで示される制御プログラムにおいて用いら
れる各変数について、以下に列挙しておく。
Further, in the pitch detection circuit 201, which of the positive and negative peak values is to be subjected to the peak hold control is determined by whether the serial zero cross signal ZCR is at a high level or a low level. (See FIG. 10). << Operation of Central Control Unit (MCP) >>
Based on the maximum or minimum peak value, the zero-crossing time, and the positive / negative flag indicating the positive / negative of the peak value supplied from the pitch extracting circuit 2 of FIG. 1, the MCP 3 of FIG. As a result, tone control information for controlling the tone generator 501 is generated. Note that the MCP 3 executes the operation flowcharts shown in FIGS. 3 to 9 according to the program stored in the ROM 301 as described in detail below. (Explanation of Variables) First, each variable used in the control program shown in the operation flowcharts of FIGS. 3 to 9 described below will be listed below.

【0050】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 of FIG. 1 AMP (0, 1): positive or negative previous (old) wave High value (peak value) AMRL1... This 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.

【0051】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.

【0052】CHTIM・・・最高音フレット(22フ
レット目)に対応する周期 CHTIO・・・開放弦フレットに対応する周期 CHTRR・・・時定数変換レジスタで、上述の時定数
変換制御回路202(図2)の内部に設けられている。
CHTIM: a cycle corresponding to the highest tone fret (22nd fret) CHTIO: a cycle corresponding to the open string fret CHTRR: a time constant conversion register, which is a time constant conversion control circuit 202 (FIG. It is provided inside 2).

【0053】DUB・・・波形が続けて同一方向にきた
ことを示すフラグ、 FOFR・・・リラティブオフカウンタ、 HNC・・・波形ナンバーカウンタ MT・・・これからピッチ抽出を行う側のフラグ(正=
1、負=0) NCHLV・・・ノーチェンジレベル(定数) OFTIM・・・オフタイム(例えば当該弦の開放弦周
期に相当) OFPT・・・通常オフチェック開始フラグ ONF・・・ノートオンフラグ RIV・・・後述のステップ(STEP)4での処理ル
ートの切替を行うためのフラグ ROFCT・・・リラティブオフのチェック回数を定め
る定数 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 indicating that the waveforms have successively come in the same direction; FOFR: a relative off counter; HNC: a waveform number counter MT: a flag from which the pitch is to be extracted (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 processing routes in step (STEP 4) described later ROFCT ... Constant that determines the number of relative off checks STEP: Registers that specify the flow operation of MCP3 TF: previous zero-crossing time data that became valid TFN (0, 1) ... previous zero-crossing time data immediately after a 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 cycle data T LAB (0, 1) ... positive or negative absolute trigger level (note-on threshold) TRLRL ... relative-on (start of re-generation) threshold TRLRS ... resonance removal threshold TTLIM ...・ Lower frequency limit at trigger TTP ・ ・ ・ Period data extracted last time TTR ・ ・ ・ Period register, TTU ・ ・ ・ Constant (product of 17/32 and current period information tt) TTW ・ ・ ・ Constant (31/16) VEL: Information that determines the velocity (velocity) and is determined by the maximum peak value of the waveform at the start of sound generation.

【0054】X・・・異常または正常状態を示すフラグ b・・・ワーキングレジスタBに記憶されている今回正
負フラグ(正ピークの次のゼロ点のとき1、負ピークの
次のゼロ点のとき0) c・・・ワーキングレジスタCに記憶されている今回波
高値(ピーク値) e・・・ワーキングレジスタEに記憶されている前々回
波高値(ピーク値) h・・・ワーキングレジスタHに記憶されている前々回
抽出された周期データ t・・・ワーキングレジスタT0に記憶されている今回
のゼロクロス時刻 tt・・・ワーキングレジスタTOTOに記憶されてい
る今回の周期情報(割り込み処理ルーチンの動作) 次に、図3は、MCP
3へピッチ抽出ディジタル回路2内のゼロクロス時刻取
込回路204(図2)から、割り込み信号INTにより
割り込みがかけられたときの処理を示す割り込み処理ル
ーチンの動作フローチャートを示した図である。
X: Flag indicating abnormal or normal state b: Current positive / negative flag stored in working register B (1 at zero point next to positive peak, at zero point next to negative peak) 0) c: current crest value (peak value) stored in the working register C e: crest value (peak value) before last stored in the working register E h: stored in the working register H The cycle data extracted two times before the current time t... The current zero-crossing time stored in the working register T0 tt... The current cycle information stored in the working register TOTO (operation of the interrupt processing routine) FIG.
3 is a diagram showing an operation flowchart of an interrupt processing routine showing a process when an interrupt is applied from a zero-cross time acquisition circuit 204 (FIG. 2) in the pitch extraction digital circuit 2 to the circuit 3 by an interrupt signal INT.

【0055】前記したように、ゼロクロス時刻取込回路
204から割り込み信号INTが出力される時点におい
ては、図2の波高値取込回路203には最大又は最小ピ
ーク値(絶対値)がホールドされ、ゼロクロス時刻取込
回路204には当該ピーク値発生直後のゼロクロス時
刻、及び直前のピーク値が最大(正の)ピーク値である
場合1、最小(負の)ピーク値である場合0を示す正負
フラグがラッチされている。
As described above, when the interrupt signal INT is output from the zero-cross time acquisition circuit 204, the peak value acquisition circuit 203 of FIG. 2 holds the maximum or minimum peak value (absolute value). The zero-crossing time capturing circuit 204 has 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 previous peak value is the minimum (negative) peak value. Is latched.

【0056】そこで、MCP3はまず図3のI1におい
て、アドレスデコーダ4に所定のアドレス読み出し信号
ARをセットし、図2のゼロクロス時刻取込回路204
に対して、弦番号読み込み信号 外3 を出力させる。
これにより同回路204から
Therefore, the MCP 3 first sets a predetermined address read signal AR to the address decoder 4 at I1 in FIG.
Output a string number reading signal out3.
This allows the circuit 204

【0057】[0057]

【外3】 [Outside 3]

【0058】は、まずどの弦番号について上記割り込み
が発生したのかを示す弦番号が、バスBUSを介してM
CP3に出力される。続いて、MCP3はアドレスデコ
ーダ4に別のアドレス読み出し信号ARをセットし、ゼ
ロクロス時刻取込回路204に対して、時刻読み込み信
号 外4 〜 外5 のうち上記弦番号に対応する信号
First, the string number indicating which string number the interrupt has occurred is stored in the M via the bus BUS.
Output to CP3. Subsequently, the MCP 3 sets another address read signal AR to the address decoder 4 and sends a signal corresponding to the string number among the time read signals 4 to 5 to the zero-cross time capturing circuit 204.

【0059】[0059]

【外4】 [Outside 4]

【0060】[0060]

【外5】 [Outside 5]

【0061】を出力させる。これにより同回路204か
らは、上記時刻読み込み信号 外6
Is output. As a result, from the same circuit 204, the time reading signal

【0062】[0062]

【外6】 [Outside 6]

【0063】(i=1〜6のうちいずれか)で指定され
る弦番号対応のラッチにセットされているゼロクロス時
刻情報が、バスBUSを介してMCP3に出力される。
これを図3I1に示すように今回のゼロクロス時刻tと
する。
The zero-crossing time information set in the latch corresponding to the string number specified by (i = 1 to 6) is output to the MCP 3 via the bus BUS.
This is defined as the current zero cross time t as shown in FIG. 3I1.

【0064】続いて、図3のI2において、前記「ピッ
チ抽出ディジタル回路の動作」の項で説明したように、
ゼロクロス時刻情報の最上位ビットに付加されている正
負フラグを取り出しこれを今回正負フラグbとする。
Subsequently, as described in the section "Operation of the pitch extraction digital circuit" in I2 of FIG.
The plus / minus flag added to the most significant bit of the zero-crossing time information is extracted and set as the plus / minus flag b this time.

【0065】その後、図3のI3において、MCP3は
前記と同様にアドレスデコーダ4を介して、図2の波高
値取込回路203に対して、ピーク値読み込み信号 外
Thereafter, at I3 in FIG. 3, the MCP 3 sends the peak value reading signal 203 to the peak value capturing circuit 203 in FIG.

【0066】[0066]

【外7】 [Outside 7]

【0067】(j=1〜12のうちいずれか)を出力さ
せる。ここで、同回路203内には、特には図示しない
が、6弦分の最大ピーク値及び最小ピーク値をホールド
する12個のラッチがあるため、MCP3は前記弦番号及
び正負フラグbに基づいて、上記ピーク値読み込み信号
外8 を選択して出力させる。これにより同回路20
(J = 1 to 12) is output. Here, although not particularly shown, the circuit 203 has 12 latches for holding the maximum peak value and the minimum peak value for six strings, so that the MCP 3 determines based on the string number and the positive / negative flag b. , And selects and outputs the above peak value read signal 8. Thereby, the circuit 20

【0068】[0068]

【外8】 [Outside 8]

【0069】3からは、当該ピーク値読み込み信号 外
9 で指定されるラッチにセットされ
From 3 on, the peak value read signal is set in the latch specified by

【0070】[0070]

【外9】 [Outside 9]

【0071】ている最大ピーク値または最小ピーク値
(絶対値)が、バスBUSを介してMCP3に出力され
る。これを図3のI3に示すように、今回ピーク値cと
する。以上の動作の後、図3のI4において、上記のよ
うにして得たt,c,bの値をMCP3内の特には図示
しないレジスタT0,C,Bにセットする。このレジス
タには、上記割込み処理がなされる都度、このようなゼ
ロクロス時刻情報、ピーク値情報(絶対値)、ピークの
種類を示す正負フラグの情報がワンセットとして書込ま
れていき、後述するメインルーチンで、各弦毎にかかる
情報に対する処理がなされる。
The maximum peak value or the minimum peak value (absolute value) is output to the MCP 3 via the bus BUS. This is set as the current peak value c as shown by I3 in FIG. After the above operation, the values of t, c, and b obtained as described above are set in registers T0, C, and B (not shown) in the MCP 3 at I4 in FIG. Each time the 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 routine, processing is performed on such information for each string.

【0072】なお、上記レジスタT0,C,Bは、6弦
に対応して6個ずつあり、以下図4〜図9に説明する楽
音制御の処理は、6弦分について全て時分割で行われる
が、これ以後は簡単のため1弦分の処理について述べて
ゆく。(メインルーチンの動作) 図4は、メインルーチンの処
理を示す動作フローチャートである。ここでは、パワー
ON後の初期化(イニシャライズ)、楽音のノートオフ
(消音)処理、及びSTEP0〜STEP4(又は5)
の各処理の選択の処理を行う。本実施例では、楽音制御
の処理を後述するようにステップという処理概念で行っ
ており、後述するように、STEP0→STEP1→S
TEP2→STEP3→STEP4(→STEP5)→
STEP0という順で楽音制御を行ってゆく。《基本動作》 図4において、まず、パワーオン(電源投
入)することにより、M1において各種レジスタやフラ
グがイニシャライズされ、レジスタSTEPが0とされ
る。またこの場合、前記「ピッチ抽出ディジタル回路の
動作」の項の時定数変換制御回路202(図2)の説明
において述べたように、初期状態において、ピーク検出
回路201(図2)がディジタル出力D1の波形の立ち
上がり時の振動を速やかに検知できるように、MCP3
がバスBUSを介して時定数変換制御回路202内の時
定数変換レジスタCHTRRに最高音フレット周期CH
TIMをセットし、ピーク検出回路201内のピークホ
ールド回路から出力されるピークホールド信号(図10
0 またはq0 等)が、最高音周期時間経過にて急速減
衰するように制御される。
There are six registers T0, C, and B corresponding to six strings, and the tone control processing described below with reference to FIGS. 4 to 9 is performed in a time-division manner for all six strings. However, the processing for one string will be described hereinafter for simplicity. (Operation of Main Routine) FIG. 4 is an operation flowchart showing the processing of the main routine. Here, initialization (initialization) after power-on, note-off (silence) processing of a musical tone, and STEP0 to STEP4 (or 5)
Of each of the above processes is performed. In the present embodiment, the tone control process is performed based on the concept of steps as described later, and as described later, STEP0 → STEP1 → S
STEP2 → STEP3 → STEP4 (→ STEP5) →
The tone control is performed in the order of STEP0. << 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", in the initial state, the peak detection circuit 201 (FIG. 2) outputs the digital output D1. MCP3 so that the vibration at the rise of the waveform can be detected quickly.
Is stored in the time constant conversion register CHTRR in the time constant conversion control circuit 202 via the bus BUS.
TIM is set, and a peak hold signal output from the peak hold circuit in the peak detection circuit 201 (FIG. 10)
p 0 or q 0 ) is controlled so as to rapidly attenuate when the maximum sound period elapses.

【0073】続いて、図4のM2で、前記「割り込み処
理ルーチンの動作」の項で説明したレジスタが空かどう
かが判断され、ノー(以下、NOと称す)の場合にはM
3に進み、各レジスタB,C,T0の内容が読まれる。
続いて、M4において、レジスタSTEPの値はいくつ
かが判断され、M5ではSTEP0,M6ではSTEP
1,M7ではSTEP2,M8ではSTEP3、M9で
はSTEP4の処理が順次実行される。なお、次のステ
ップへの更新は、後述するように各STEP0〜STE
P4の処理において行われる。《ノートオフ動作》 前記M2でバッファが空の場合、す
なわちイエス(以下、YESと称する)の場合、M10
〜M19への処理に進み、ここで通常のノートオフのア
ルゴリズムの処理が行われる。このノートオフのアルゴ
リズムは、ディジタル出力D1(図1)において、その
波高値がオフ(OFF)レベル以下の状態が所定のオフ
タイム時間続いたら、ノートオフするアルゴリズムであ
る。
Subsequently, at M2 in FIG. 4, it is determined whether or not the register described in the section "Operation of the interrupt processing routine" is empty, and if NO (hereinafter referred to as NO), M
Proceeding to 3, the contents of the registers B, C and T0 are read.
Subsequently, in M4, some values of the register STEP are determined. In M5, STEP0 is determined, and in M6, STEP0 is determined.
In steps M1, M7, the processing in STEP2, M8 in STEP3, and M9 in STEP4 are sequentially executed. The update to the next step is performed in STEP0 to STE as described later.
This is performed in the process of P4. << Note-off operation >> When the buffer is empty in M2, that is, when the buffer is empty (hereinafter, referred to as YES), M10
To M19, where the normal note-off algorithm processing is performed. The note-off algorithm is an algorithm for turning off the note when the peak value of the digital output D1 (FIG. 1) is equal to or less than the off (OFF) level for a predetermined off-time period.

【0074】まず、M10でSTEP=0かどうかが判
断され、YESの場合には、楽音を発生していない初期
状態のため、ノートオフはする必要がなく、M2に戻
る。一方、NOの場合には、M11に進む。
First, it is determined at M10 whether STEP = 0 or not. If YES, the note-off does not need to be performed because the musical tone is not generated, and the process returns to M2. On the other hand, in the case of NO, the process proceeds to M11.

【0075】M11では、その時点のディジタル出力D
1の入力波高値(瞬時値)ADが直接読まれる。これ
は、MCP3がアドレスデコーダ4を介して、波高値取
込み回路203(図2)へピーク値読み込み信号 外1
0 〜 外11 のいずれかを
At M11, the digital output D at that time is output.
The input peak value (instantaneous value) AD of 1 is directly read. This is because the MCP 3 sends the peak value read signal to the peak value capture circuit 203 (FIG. 2) via the address decoder 4.
Any of 0 to 11

【0076】[0076]

【外10】 [Outside 10]

【0077】[0077]

【外11】 [Outside 11]

【0078】与えることにより、同回路203がディジ
タル出力D1の現在の瞬時値を、バスBUSを介してM
CP3に出力することで達成できる。そして、この値A
Dが、予め設定したオフレベル以下かどうかが判断さ
れ、NOの場合はノートオフする必要がないためM2に
戻り、YESの場合にはM12に進む。
The circuit 203 outputs the current instantaneous value of the digital output D1 to the M via the bus BUS.
This can be achieved by outputting to CP3. And this value A
It is determined whether or not D is equal to or lower 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.

【0079】M12では、前回の入力波高値ADがオフ
レベル以下かどうかが判断され、NOの場合には、M1
7に進みMCP3内のタイマ303をスタートし、M2
に戻る。そして、次に再びこの処理にきたときに、M1
2はYESとなるため、M13に進み、ここでタイマ3
03の値がオフタイムOFTIMかどうかが判断され
る。オフタイムOFTIMとしては例えば処理をしてい
る弦の開放弦フレット周期CHTIOがセットされてお
り、M13でNOの場合にはM2に戻って処理が繰り返
され、YESとなるとM14に進み、レジスタSTEP
に0を書き込み、時定数変換レジスタCHTRRへ最高
音フレット周期CHTIMをセットした後、M15を介
して(後述する)、M16に進む。すなわち、ディジタ
ル出力D1のレベルが減衰してきた場合、オフレベル以
下の入力波高値ADがオフタイムOFTIMに相当する
時間続くと、ディジタル出力D1が入力せず弦が弾かれ
なくなったと判断できるため、M16に進んでノートオ
フの処理がされる。
At M12, it is determined whether or not the previous input peak value AD is equal to or less than the off level.
7, the timer 303 in the MCP 3 is started, and
Return to Then, the next time this processing is performed, M1
2 is YES, the process advances to M13, where the timer 3
It is determined whether the value of 03 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. If NO in M13, the process returns to M2, and the process is repeated. If YES, the process proceeds to M14 and the register STEP
After writing 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, if the input peak value AD equal to or less than the off level continues for a time corresponding to the off time OFTIM, it can be determined that the digital output D1 is not input and the string is no longer played. And the note-off process is performed.

【0080】M16では、MCP3が楽音発生回路50
1(図1)に対して、ノートオフの指示を送出し、これ
により楽音の発音が停止される。このようにノートオフ
された場合には、必ずSTEP0に戻る。
In M16, the MCP 3 is used by the tone generation circuit 50.
1 (FIG. 1), a note-off instruction is sent out, thereby stopping the tone generation. When the note-off is performed in this manner, the process always returns to STEP0.

【0081】なお、ステップM15において、通常の状
態ではYESの判断がなされるが、後述するような処理
によって、楽音の発音を指示していない場合でもレジス
タSTEPは0以外の値をとっていることがあり(例え
ばノイズの入力による)、そのようなときには、M1
4,M15の処理後M2へ戻ることで、STEP0へ初
期設定される。(STEP0の処理動作) 次に、図4のメインルーチン
において分岐して対応する処理を行う各ルーチンの詳細
について説明を行う。
In step M15, a determination of YES is made in a normal state. However, the register STEP takes a value other than 0 even when the tone generation is not instructed by the processing described later. (For example, due to noise input), and in such a case, M1
By returning to M2 after the processing of 4, M15, it is initialized to STEP0. (Processing Operation of STEP 0) Next, details of each routine for branching and performing corresponding processing in the main routine of FIG. 4 will be described.

【0082】まず、図5は、図4のメインルーチンのM
5として示すステップ0(STEP0)の処理の動作フ
ローチャートである。この処理においては、ピッチ抽出
処理等のための初期設定、及び次のSTEP1への移行
処理を行う。以下図11の基本動作説明図を用いて説明
を行う。なお、図11は図10と同一の波形である。 《基本動作》 今、図4のメインルーチンは、M2とM1
0のループの繰り返しにより、前記「割り込み処理ルー
チンの動作」の項において説明したように、ピッチ抽出
ディジタル回路2(図1)から割り込みが掛かって、レ
ジスタT0、C、Bにデータが入力するのを待ってい
る。
First, FIG. 5 shows M in the main routine of FIG.
The operation flow of the processing of Step 0 (STEP 0) shown as 5
It is a low chart. In this process, pitch extraction
Initial setting for processing, etc., and shift to next STEP 1
Perform processing. Hereinafter, description will be given using the basic operation explanatory diagram of FIG.
I do. FIG. 11 shows the same waveform as FIG. "basic action" Now, the main routine of FIG.
By repeating the “0” loop, the “interrupt processing
Pitch extraction as described in section
When an interrupt is issued from digital circuit 2 (FIG. 1),
Waiting for data to be input to registers T0, C and B
You.

【0083】そして、データが入力し、図4のM2から
M3を経て上記各レジスタの内容が読み込まれると、M
4を介してM5、即ち図5のSTEP0に移る。この状
態においては、例えば図11に示すように、今回のゼロ
クロス時刻t=t0 、今回正負フラグb=0、今回ピー
ク値cはb=0より最小ピーク値でc=b0 (絶対値)
である。なお、図11でbとb0 〜b3 等は異なる記号
である。
Then, when data is input and the contents of the registers are read through M2 to M3 in FIG.
Then, the process proceeds to M5, that is, STEP0 in FIG. In this state, for example, as shown in FIG. 11, the current zero-crossing time t = t 0 , the current positive / negative flag b = 0, and the current peak value c is the minimum peak value b = b 0 (absolute value).
It is. In FIG. 11, b and b 0 to b 3 are different symbols.

【0084】まず、図5のS01において、今回ピーク
値cの値が、絶対トリガレベル(ノートオンのための正
のしきい値)TRLAB(b) より大きいか否かが判定さ
れる。なお、この判定は、今回正負フラグbの値に基づ
き正と負の各極性(最大ピーク値又は最小ピーク値)の
各々について実行され、正側の絶対トリガレベルTRL
AB(1)と負側の絶対トリガレベルTRLAB(0)
は、ディジタル出力D1(図1)にオフセットが重畳さ
れた場合等を考慮して、経験的に別々の値に設定するこ
とができる。理想的なシステムでは同じ値でよい。図1
1の例では、今回最小ピーク値c=b0 (絶対値)とT
RLAB(b)=TRLAB(0)とが比較され、c=
0 >TRLAB(0)、即ち判定はYESとなる。
First, in S01 of FIG. 5, it is determined whether or not the value of the current peak value c is greater than an absolute trigger level (a positive threshold value for note-on) TRLAB (b). This determination is made for each of the positive and negative polarities (maximum peak value or minimum peak value) based on the value of the current positive / negative flag b, and the positive absolute trigger level TRL
AB (1) and negative side absolute trigger level TRLAB (0)
Can be empirically set to different values in consideration of the case where an offset is superimposed on the digital output D1 (FIG. 1). The same value may be used in an ideal system. FIG.
In the example of FIG. 1, the current minimum peak value c = b 0 (absolute value) and T
RLAB (b) = TRLAB (0) is compared and c =
b 0 > TRLAB (0), that is, the determination is YES.

【0085】次に、S02を経た後(後述する)、S0
3の処理が実行される。ここでは、まず、今回正負フラ
グbがフラグMTに書き込まれ、レジスタSTEPに1
が書き込まれて次のステップへの移行準備がなされ、更
に、今回のゼロクロス時刻tが以降の処理のために前回
のゼロクロス時刻データTFN(b)として設定され
る。図11の例では、同図に示すようにMT=b=0、
TFN(b)=TFN(0)=t=t0 となる。
Next, after passing through S02 (described later), S0
Step 3 is executed. Here, first, the current positive / negative flag b is written into the flag MT, and 1 is set in the register STEP.
Is written to prepare for transition to the next step, and 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. 11, MT = b = 0, as shown in FIG.
TFN (b) = TFN (0) = t = t 0 .

【0086】続いて、S04において、「変数の説明」
の項に示した上記フラグ以外のその他フラグ類(定数値
を除く)が初期化される。更に、S05においては、今
回ピーク値cが以降の処理のために前回のピーク値AM
P(b)(絶対値)としてセットされ、図4のメインル
ーチンのM2の処理に戻る。図11の例では、同図に示
すようにAMP(b)=AMP(0)=c=b0 とな
る。
Subsequently, in S04, "description of variable"
Other flags (except for the constant value) other than the above-mentioned flags described in the above item are initialized. Further, in S05, the current peak value c is changed to the previous peak value AM for the subsequent processing.
It is set as P (b) (absolute value), and returns to the processing of M2 in the main routine of FIG. In the example of FIG. 11, the AMP (b) = AMP (0 ) = c = b 0 as shown in FIG.

【0087】以上の処理により、図11の例では、同図
(STEP0→1の間)に示すようにフラグMTにレジ
スタBの今回正負フラグb=0が書き込まれ、負側の前
回のゼロクロス時刻のデータTFN(0)にレジスタT
0の今回のゼロクロス時刻データt=t0 が書き込ま
れ、負側の前回のピーク値AMP(0)にレジスタCの
今回最小ピーク値c=b0 が書き込まれる。《共振除去動作》 なお、図5のS01において、今回ピ
ーク値cの値が絶対トリガレベルTRLAB(b)以下
の場合は、発音(ノートオン)の処理へは移行せず、S
05において前回のピーク値AMP(b)に今回ピーク
値cの値をセットするだけで、図4のメインルーチンへ
戻る。ところが、1本の弦をピッキングすることによ
り、他の弦が共振を起こすような場合、当該他の弦につ
いては振動のレベルが徐々に大きくなり、やがて図5の
S01の判定結果がYESとなり、S02の処理に移
る。しかし、このような場合、正規のピッキングを行っ
た訳ではないので、発音(ノートオン)の動作に移行す
るのは妥当ではない。そこで、S02の処理において上
記共振の除去を行う。即ち、上記のような場合、今回ピ
ーク値cは前回のピーク値AMP(b)に比べてほとん
ど大きくなっていないため、その差c−AMP(b)が
共振除去しきい値TRLRSより大きくない場合には、
上記共振状態が発生したと判定して、発音処理へは移行
せず、S05において前回のピーク値AMP(b)に今
回ピーク値cの値をセットするだけで、図4のメインル
ーチンに戻る。一方、図11のような正常なピッキング
を行った場合に、波形が急激に立上ることになり、前記
ピーク値の差c−AMP(b)は共振除去しきい値TR
LRSを越え、前記したようにS02からS03の処理
へ移行する。《リラティブオンのエントリ動作》 図5において、Aは
後述するリラティブオン(再発音開始)のエントリであ
り、後述するSTEP4のフローからこのS06へジャ
ンプしてくる。そして、S06では今まで出力している
楽音を一度消去(ノートオフ)し、再発音開始のために
S03へ進行する。この再発音開始のための処理は、通
常の発音開始のときと同様であり、前記したとおりであ
る。ここでS06のノートオフの処理は、図4の前記M
16の処理と同じである。(STEP1の処理動作) 次に、図6は、図4のメイン
ルーチンのM6として示すステップ1(STEP1)の
処理の動作フローチャートである。この処理において
は、前記STEP0に続くピッチ抽出処理等のための初
期設定とそれに続くSTEP2への移行処理、又はおか
しな波形が入力したときのダブリ処理(エラー処理)等
を行う。《基本動作》 まず、前記STEP0により、最初のデー
タに対する初期設定が行われた後、図4のメインルーチ
ンでは、M2→M10→M11→M2のループの繰り返
しにより、前記ピッチ抽出デジタル回路2(図1)から
再び割り込みがかかって、レジスタT0、C、Bに次の
データが入力するのを待っている。
With the above processing, in the example of FIG. 11, the current positive / negative flag b = 0 of the register B is written in the flag MT as shown in FIG. Register TFN in the data TFN (0)
The current zero-crossing time data t = t 0 of 0 is written, and the current minimum peak value c = b 0 of the register C is written in the previous negative peak value AMP (0). << Resonance Elimination Operation >> If the value of the current peak value c is equal to or less than the absolute trigger level TRLAB (b) in S01 of FIG.
At 05, the current peak value c is simply set to the previous peak value AMP (b), and the process returns to the main routine of FIG. However, when picking one string causes another string to resonate, the vibration level of the other string gradually increases, and the determination result of S01 in FIG. 5 eventually becomes YES, Move on to the processing of S02. However, in such a case, since normal picking is not performed, it is not appropriate to shift to a sounding (note-on) operation. Thus, the resonance is removed in the process of S02. That is, in the above case, since the current peak value c is hardly larger than the previous peak value AMP (b), the difference c-AMP (b) is not larger than the resonance removal threshold value TRLRS. In
It is determined that the above-described resonance state has occurred, and the process does not shift to the tone generation process. Only the value of the current peak value c is set to the previous peak value AMP (b) in S05, and the process returns to the main routine of FIG. On the other hand, when normal picking as shown in FIG. 11 is performed, the waveform suddenly rises, and the difference c-AMP (b) between the peak values is equal to the resonance removal threshold TR.
After exceeding the LRS, the process proceeds from S02 to S03 as described above. << Entry Operation of Relative ON >> In FIG. 5, A is an entry of relative ON (reproduction start) described later, and jumps to S06 from the flow of STEP 4 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, the note-off process in S06 is performed in the M
This is the same as the processing of step 16. (STEP1 processing operation) Next, FIG. 6 is an operation flow chart of the processing of Step 1 (STEP1), shown as M6 in the main routine in FIG. In this processing, initialization such as pitch extraction processing subsequent to STEP 0 described above and subsequent processing to STEP 2 or double processing (error processing) when a strange waveform is input is performed. << Basic Operation >> First, after the initial setting for the first data is performed in STEP0, in the main routine of FIG. 4, the loop of M2 → M10 → M11 → M2 is repeated to repeat the pitch extraction digital circuit 2 (FIG. An interrupt is applied again from 1), and it is waiting for the next data to be input to the registers T0, C, and B.

【0088】そして、データが入力し、図4のM2から
M3を経て上記各レジスタの内容が読み込まれると、M
4を介してM6、即ち図6のSTEP1に移る。この状
態においては、例えば図11に示すように、今回のゼロ
クロス時刻t=t1 、今回正負フラグb=1、今回ピー
ク値はb=1より最大ピーク値でc=a0 である。
Then, when data is input and the contents of the registers are read through M2 to M3 in FIG.
The process proceeds to M6 via STEP4, that is, STEP1 in FIG. In this state, for example, as shown in FIG. 11, the current zero crossing time t = t 1 , the current positive / negative flag b = 1, and the current peak value is c = a 0 at b = 1, which is the maximum peak value.

【0089】まず、図6のS11を介して(後述す
る)、S12において前記「STEP0の処理動作」の
項における図5のS01の説明で述べたのと全く同様
に、今回ピーク値cの値が、絶対トリガレベルTRLA
B(b)より大きいか否かが判定される。図11の例で
は、今回最大ピーク値c=a0 とTRLAB(b)=T
RLAB(1)とが比較され、c=a0 >TRLAB
(1)、即ち判定はYESとなる。
First, through S11 in FIG. 6 (described later), the value of the current peak value c is determined in S12 in exactly the same manner as described in the description of S01 in FIG. Is the absolute trigger level TRLA
It is determined whether it is larger than B (b). In the example of FIG. 11, the current maximum peak value c = a 0 and TRLAB (b) = T
RLAB (1) and c = a 0 > TRLAB
(1), that is, the determination is YES.

【0090】次に、S13でレジスタSTEPに2が書
き込まれ次のステップへの移行準備がなされる。続い
て、S14において、レジスタT0の今回のゼロクロス
時刻tが以降の処理のために前回のゼロクロス時刻デー
タTFN(b)として設定される。更に、S15におい
て、レジスタcの今回ピーク値cが以降の処理のために
前回のピーク値AMP(b)としてセットされ、図4の
メインルーチンのM2の処理に戻る。図11の例では、
同図に示すようにTFN(1)=t=t1 、AMP
(1)=c=a0 となる。なお、MTの内容は書き替え
られず0のままである。《ダブリ処理の動作》 図11のような正常なディジタル
出力D1が入力している場合には、前記STEP0にお
いて負(正)側の最小(大)ピーク値(絶対値)が抽出
された後は、STEP1において反対に正(負)側の最
大(小)ピーク値が抽出される。従って、図6のS11
においては、今回正負フラグb=1(0)はSTEP0
でセットされたフラグMT=0(1)と異なるため、前
記したようにS12に進む。
Next, in step S13, 2 is written into the register STEP, and preparations are made for shifting to the next step. Subsequently, in S14, the current zero-cross time t in the register T0 is set as the previous zero-cross time data TFN (b) for the subsequent processing. Further, in S15, the current peak value c of the register c is set as the previous peak value AMP (b) for the subsequent processing, and the process returns to the main routine M2 in FIG. In the example of FIG.
As shown in the figure, TFN (1) = t = t 1 , AMP
(1) = c = a 0 Note that the contents of the MT are not rewritten and remain at 0. If the normal digital output D1 as shown in FIG. 11 "operation of doubling processing" is entered, after the negative (positive) side of the minimum (large) peak value (absolute value) is extracted in the STEP0 the , STEP1, on the contrary, the maximum (small) peak value on the positive (negative) side is extracted. Therefore, S11 of FIG.
In this case, the positive / negative flag b = 1 (0) is set in STEP 0
Since the flag MT is different from the flag MT = 0 (1), the process proceeds to S12 as described above.

【0091】ところが、場合により、STEP0の後に
STEP1で図12(a) 又は(b) に示すような波形が入
力することがある。この場合、STEP0で負側の最小
ピーク値b0 が抽出された後、STEP1で再び負側の
最小ピーク値b1 がダブって抽出される。従って、図6
のS11においては、今回正負フラグはb=0となり、
STEP0でセットされたフラグMT=0と一致する。
この場合は、図6のS16に進み、ダブリ処理(エラー
処理)を行う。
In some cases, however, a waveform as shown in FIG. 12A or 12B may be input in STEP 1 after STEP 0. 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, FIG.
In S11, the positive / negative flag this time becomes b = 0,
It matches the flag MT = 0 set in STEP0.
In this case, the process proceeds to S16 in FIG. 6, and the double processing (error processing) is performed.

【0092】S16では、ピーク値cの値が同じ符号の
前回のピーク値AMP(b)より大きいか否かが判定さ
れる。今、図12(a) のような場合、c=b1 >AMP
(b)=AMP(0)=b0は成立しない。このような
場合は、今回の最小ピーク値b1 はおかしな波形として
無視し(斜線部)、STEPは更新せずに、図4のメイ
ンルーチンのM2の処理に戻り、次の正常なピークが入
力されるのを待つ。
In S16, it is determined whether or not the value of the peak value c is larger than the previous peak value AMP (b) of the same sign. Now, in the case of FIG. 12A, 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), without STEP update, returns to the M2 of the main routine of FIG. 4, the input is the next normal peak Wait for it to be done.

【0093】一方、図12(b) のような場合、c=b1
>APM(b)=AMP(0)=b 0 は成立する。この
ような場合は、前回のSTEP0で抽出した最小ピーク
値b 0 の方をおかしな波形として無視し(斜線部)、S
TEP0においてセットされた負側の前回のゼロクロス
時刻データTFN(0)、及び負側の前回のピーク値A
MP(0)の内容を、図6のS14、S15により今回
のゼロクロス時刻t及び今回ピーク値cと入れ替えて変
更する。即ち、図12(b) の例では、TFN(0)=t
=t1 、AMP(0)=c=b1 となる。このダブリ処
理の後、STEPは更新せずに(図6のS13を通らな
い)、図4のメインルーチンのM2の処理に戻り、次の
正常なピークが入力されるのを待つ。
On the other hand, in the case as shown in FIG.1
> APM (b) = AMP (0) = b 0Holds. this
In such a case, the minimum peak extracted in the previous STEP0
Value b 0Is ignored as a strange waveform (shaded area) and S
Previous zero cross on negative side set in TEP0
Time data TFN (0) and previous negative peak value A
The contents of MP (0) are updated this time by S14 and S15 in FIG.
At the zero-crossing time t and the current peak value c.
Change. That is, in the example of FIG. 12B, TFN (0) = t
= T1, AMP (0) = c = b1Becomes This double
After the processing, the STEP is not updated (see S13 in FIG. 6).
4), returning to the process of M2 in the main routine of FIG.
Wait for the normal peak to be entered.

【0094】上記動作の後、正常なピーク値が入力する
と、図6のS11→S12→S13→S14→S15に
より前記した処理が行われ、例えば図11に示すように
t=t1 で、次のSTEP2の処理への移行が行われ
る。(STEP2の処理動作) 次に、図7は、図4のメイン
ルーチンのM7として示すステップ2(STEP2)の
処理の動作フローチャートである。この処理において
は、ピッチ抽出のための第1回目のピッチ周期の検出、
ベロシティーの設定、及びSTEP3への移行処理、又
はおかしな波形が入力したときのエラー処理(ダブリ処
理)等を行う。《基本動作》 まず、前記STEP1による処理が行われ
た後、図4のメインルーチンでは、M2→M10→M1
1→M2のループの繰り返しにより、前記ピッチ抽出デ
ジタル回路2(図1)から再び割り込みがかかって、レ
ジスタT0、C、Bに次のデータが入力するのを待って
いる。
[0094] After the above operation, when the normal peak value is input, processing the by S11 → S12 → S13 → S14 → S15 in FIG. 6 is performed, for example, t = t 1 as shown in FIG. 11, the following Is transferred to the processing of STEP2. (Processing Operation of STEP2) Next, FIG. 7 is an operation flowchart of the processing of step 2 (STEP2) shown as M7 in the main routine of FIG. In this processing, detection of the first pitch cycle for pitch extraction,
Velocity setting, transition processing to STEP3, error processing when a strange waveform is input (double processing), and the like are performed. << Basic Operation >> First, after the processing in STEP 1 is performed, in the main routine of FIG. 4, M2 → M10 → M1
Due to the repetition of the loop from 1 to 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.

【0095】そして、データが入力し、図4のM2から
M3を経て上記各レジスタの内容が読み込まれると、M
4を介してM7、即ち図7のSTEP2に移る。この状
態においては、例えば図11に示すように、今回のゼロ
クロス時刻t=t2 、今回正負フラグb=0、今回ピー
ク値はb=0より最小ピーク値でc=b1 である。
Then, when data is input and the contents of the registers are read through M2 to M3 in FIG.
Then, the process proceeds to M7, that is, STEP2 in FIG. In this state, for example, as shown in FIG. 11, the current zero-cross time t = t 2 , the current positive / negative flag b = 0, and the current peak value is c = b 1, which is the minimum peak value from b = 0.

【0096】まず、図7のS20を経た後(後述する)
のS21においては、MCP3がバスBUSを介して図
2の時定数変換制御回路202内の時定数変換レジスタ
CHTRRに現在処理をしている弦の開放弦フレット周
期CHTIOをセットする。これは、前記「ピッチ抽出
ディジタル回路の動作」の項の時定数変換制御回路20
2の説明において述べたように、ピーク検出回路201
(図2)がデジタル出力D1の波形の立ち上がり時の振
動を検知した後は、各ピッチ周期の倍音を拾わないよう
に、ピーク検出回路201内のピークホールド回路から
出力されるピークホールド信号(図10p1 、q2 等)
が各弦の開放弦周期、即ち最低音周期CHTIOの時間
経過にて急速減衰するようにしたものである。
First, after going through S20 of FIG. 7 (described later)
In S21, the MCP 3 sets the open string fret cycle CHTIO of the string currently being processed in the time constant conversion register CHTRR in the time constant conversion control circuit 202 in FIG. 2 via the bus BUS. This is equivalent to the time constant conversion control circuit 20 described in the section "Operation of the pitch extraction digital circuit".
2, the peak detection circuit 201
After FIG. 2 detects the oscillation at the rising edge of the waveform of the digital output D1, the peak hold signal (FIG. 2) output from the peak hold circuit in the peak detection circuit 201 so as not to pick up the overtone of each pitch cycle. 10p 1 , q 2 etc.)
Are rapidly attenuated with the passage of the open string period of each string, that is, the minimum sound period CHTIO.

【0097】次に、S22において、今回ピーク値cの
値が同じ符号の前回のピーク値AMP(b)の7/8倍
より大きいか否かが判定される。この処理については後
に詳述するが、通常は弦をピッキングした波形はなめら
かに自然減衰するためこの判定はYESとなり、次のS
23を経て(後述する)S24に進む。
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 that this determination is YES, and the next S
Then, the processing proceeds to S24 (described later) via S23.

【0098】S24では、{(今回のゼロクロス時刻
t)−(同じ符号の前回のゼロクロス時刻データTFN
(b))}を演算することにより、第1回目のピッチ周
期を検出する。そしてこの結果を、後述するSTEP3
でのノートオン(発音開始)の条件として使用するため
に、前回周期データTP(b)として設定する。図11
の例では、同図に示すようにTP(0)=t−TFN
(0)=t2 −t0 となる。
In S24, {(current zero cross time t)-(previous zero cross time data TFN of the same sign
(B)) The first pitch period is detected by calculating}. Then, this result is described in STEP 3 described later.
Is set as the previous cycle data TP (b) in order to use it as a condition for note-on (start of sound generation) in the above. FIG.
In the example of TP (0) = t-TFN as shown in FIG.
(0) = t 2 −t 0

【0099】また、S24では、今回のゼロクロス時刻
tが以降の処理のために前回のゼロクロス時刻データT
FN(b)として設定される。図11の例では、同図に
示すようにTFN(0)=t=t2 となる。なお、ST
EP0で設定されたTFN(0)=t0 は、上記前回周
期データTP(b)=TP(0)が演算できたため必要
なくなり消去される。
In S24, the current zero-cross time t is set to the previous zero-cross time data T for subsequent processing.
Set as FN (b). In the example of FIG. 11, TFN (0) = t = t 2 as shown in FIG. Note that ST
TFN (0) = t 0 set in EP0 becomes unnecessary and is deleted because the previous cycle data TP (b) = TP (0) can be calculated.

【0100】同じく、S24では、レジスタSTEPに
3が書き込まれて次のステップへの移行準備がなされ
る。更に、S24では、以降の処理のために、今回ピー
ク値cと、前回のピーク値AMP(0)、AMP(1)
のうち、最も大きい値をベロシティVELとして設定す
る。なお、ベロシティVELは、STEP3で後述する
ように楽音の音量を決定するための値として用いられ
る。同様に、今回ピーク値cを前回のピーク値AMP
(b)として設定し、図4のメインルーチンのM2の処
理に戻る。図11の例では、VEL=max{c、AM
P(0)、AMP(1)}=max{b1、b0
0 }となり、AMP(0)=c=b1 となる。なお、
STEP0で設定されたAMP(0)=b0 は、上記ベ
ロシティVELが演算できたため必要なくなり消去され
る。《ダブリ処理の動作》 図11のような正常なデジタル出
力D1が入力している場合には、前記STEP1におい
て正(負)側の最大(小)ピーク値が抽出された後は、
STEP2において反対に負(正)側の最小(大)ピー
ク値が抽出される。従って、この場合のSTEP2にお
けるピーク値の符号はSTEP1のときと逆であり、更
に、STEP0のときと同じとなり、図7のS20にお
いては、今回正負フラグb=0(1)はSTEP0でセ
ットされたフラグMT=0(1)と一致し、前記したよ
うにS21に進む。
Similarly, in S24, 3 is written in the register STEP, and preparations for shifting to the next step are made. Further, in S24, the current peak value c and the previous peak values AMP (0), AMP (1)
Is set as the velocity VEL. Note 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 changed to the previous peak value AMP.
(B), and returns to the process of M2 in the main routine of FIG. In the example of FIG. 11, VEL = max {c, AM
P (0), AMP (1)} = max {b 1 , b 0 ,
a 0 }, and AMP (0) = c = b 1 . In addition,
AMP (0) = b 0 set in STEP 0 becomes unnecessary and is deleted because the velocity VEL can be calculated. << Operation of Dubble Processing >> When the normal digital output D1 as shown in FIG. 11 is input, after the maximum (small) peak value on the positive (negative) side is extracted in STEP1,
On the contrary, the minimum (large) peak value on the negative (positive) side is extracted in STEP2. Accordingly, the sign of the peak value in STEP 2 in this case is opposite to that in STEP 1 and is the same as in STEP 0. In S20 in FIG. 7, the positive / negative flag b = 0 (1) is set in STEP 0 this time. The flag MT is equal to 0 (1), and the process proceeds to S21 as described above.

【0101】ところが、前記「STEP1の処理動作」
の「ダブリ処理の動作」の項の説明において述べたのと
同様に、場合により波形がダブって、STEP1の後に
図13又は図14に示すような波形が入力することがあ
る。この場合、STEP1で正側の最大ピーク値a0
抽出された後、STEP2で再び正側の最大ピーク値a
1 がダブって抽出される。従って、図7のS20におい
ては、今回正負フラグはb=1となり、STEP0でセ
ットされたフラグMT=0と一致する。この場合は、図
7のS25に進み、ダブリ処理(エラー処理)を行う。
なお、図13、図14において単純斜線のハッチを施し
たピークは、図2のピーク検出回路201内のピークホ
ールド回路から発生される図13又は図14のピークホ
ールド信号p0 、p1 、q0 等にひっかからなかったた
め、ピークとして検出されなかった部分である。
However, the "processing operation of STEP 1"
In the same manner as described in the description of the "operation of dubble processing", the waveform may be dubbed in some cases, and a waveform as shown in FIG. In this case, after the maximum peak value a 0 on the positive side is extracted in STEP 1, the maximum peak value a 0 on the positive side is extracted again in STEP 2.
1 is dubbed and extracted. Accordingly, in S20 of FIG. 7, the current positive / negative flag becomes b = 1, which coincides with 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.
13 and 14, the hatched peaks indicated by simple hatching are the peak hold signals p 0 , p 1 , and q in FIG. 13 or FIG. 14 generated from the peak hold circuit in the peak detection circuit 201 in FIG. This is a portion that was not detected as a peak because it did not catch 0 or the like.

【0102】S25では、まず、ダブリフラグDUBを
1に設定した後(後述する)、S26に進み、今回ピー
ク値cの値が同じ符号の前回のピーク値AMP(b)よ
り大きいか否かが判定される。
In S25, first, the doubling flag DUB is set to 1 (described later), and the flow advances to S26 to determine whether or not the value of the current peak value c is larger than the previous peak value AMP (b) of the same sign. Is done.

【0103】今、図13において、STEP0(t=t
0 )、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となって、図11の場
合と同様に、前記S21→S22→S23→S24の処
理が行われ、図16のt=t3 で次のSTEP3の処理
に進む。なお、図7のS24において設定される前回周
期データTP(0)は、図13に示すように、今回のゼ
ロクロス時刻t3 と、STEP0において設定された前
回のゼロクロス時刻t0 の差になる。また、後述するS
TEP3において演算されるその次の周期データTx の
起点は、同図に示すようにクロス斜線のハッチを施した
ピーク(c=a1 )が無視されるため、STEP1にお
いて設定された前回のゼロクロス時刻TFN(1)=t
1 である。
Now, in FIG. 13, STEP 0 (t = t
0 ), after the processing of STEP 1 (t = t 1 ), if STEP 2 is executed at t = t 2 , c = a 1 > AMP
(B) = AMP (1) = a 0 does not hold. That is, FIG.
Is NO in S26. In such a case,
The maximum peak value a 1 this time is ignored as a strange waveform (the cross-hatched portion in the figure) and
Without updating, returns to the process of M2 in the main routine of FIG. 4 and waits for the next normal peak to be input. And
At t = t 3 , the minimum peak value c = b 1 is input, so that S20 in FIG. 7 becomes YES, and the processing of S21 → S22 → S23 → S24 is performed as in the case of FIG. in t = t 3 in FIG. 16 proceeds to the process in next STEP3. Incidentally, the previous period data TP (0) is set in S24 in FIG. 7, as shown in FIG. 13, the current zero-crossing time t 3, it becomes difference between the previous zero-crossing time point t 0 set in STEP0. In addition, S
The starting point of the next periodic data Tx calculated in STEP 3 is the previous zero-crossing time set in STEP 1 because the hatched peak (c = a 1 ) is ignored as shown in FIG. TFN (1) = t
Is one.

【0104】一方、図14の場合、上記とは逆にc=a
1 >AMP(b)=AMP(1)=a0 は成立する。即
ち、図7のS26の判定結果はYESとなる。このよう
な場合は、前回のSTEP1で抽出した最大ピーク値a
0 の方をおかしな波形として無視し(同図のクロス斜線
のハッチを施した部分)、STEP1においてセットさ
れた前回のゼロクロス時刻データTFN(1)、及び正
側の前回のピーク値AMP(1)の内容を、図7のS2
9により今回のゼロクロス時刻t及び今回のピーク値c
と入れ替えて変更する。即ち、図14の例では、同図に
示すようにTFN(1)=t=t2 、AMP(1)=c
=a0 となる。このダブリ処理の後、STEPは更新せ
ずに図4のメインルーチンのM2の処理に戻り、次の正
常なピーク値が入力するのを待つ。以下、t=t3 にお
いて最小ピーク値c=b1 が入力した後の処理は、前記
図13の場合と同じである。ただし、STEP1におい
て抽出されたピーク(図14のクロス斜線のハッチを施
したピークc=a0 )が無視され、c=a1 のピークに
変更されているため、後述するSTEP3において演算
されるTP(0)の次の周期データTy の起点は、ST
EP2の前記ダブリ処理において設定された前回のゼロ
クロス時刻TFN(1)=t2 となり、図13の場合と
異なる。
On the other hand, in the case of FIG. 14, c = a
1 > AMP (b) = AMP (1) = a 0 holds. That is, the determination result in S26 of FIG. 7 is YES. In such a case, the maximum peak value a extracted in the previous STEP 1
The zero is ignored as a strange waveform (the cross-hatched portion in the figure), and the previous zero-cross time data TFN (1) set in STEP 1 and the previous peak value AMP (1) on the positive side are set. The contents of S2 in FIG.
9, the current zero crossing time t and the current peak value c
Replace with That is, in the example of FIG. 14, TFN (1) = t = t 2 , AMP (1) = c as shown in FIG.
= A 0 . After the dubbing process, the process returns to M2 of the main routine in FIG. 4 without updating, and waits for the next normal peak value to be input. Hereinafter, the processing after the minimum peak value c = b 1 is input at t = t 3 is the same as that in FIG. However, since the peak extracted in STEP 1 (the peak c = a 0 hatched by the cross hatching in FIG. 14) is ignored and the peak is changed to c = a 1 , the TP calculated in STEP 3 described later is used. the next starting point of the period data T y of (0), ST
The previous zero-crossing time TFN (1) = t 2 set in the dubbing process of EP2 is different from the case of FIG.

【0105】以上、図13又は図14に示すように波形
がダブった場合は、ピーク値の小さい方のピークがおか
しな波形として無視され、エラー処理される。次に、ダ
ブリ処理の他の場合の処理のための、図7のS22の分
岐について説明を行う。
As described above, when the waveform is doubled as shown in FIG. 13 or FIG. 14, the smaller peak value is ignored as a strange waveform, and error processing is performed. Next, a description will be given of the branch of S22 in FIG. 7 for processing in another case of the doubling processing.

【0106】今、図7のSTEP2の処理が実行される
場合、弦をピッキングした正常な波形はなめらかに自然
減衰するため、S22において今回ピーク値の値は同じ
符号の前回のピーク値AMP(b)の7/8倍より大き
い値となり、S22の判定はYESとなって次のS23
に進む。
Now, when the processing in STEP 2 of FIG. 7 is executed, the normal waveform obtained by picking the strings smoothly attenuates smoothly, so that the value of the current peak value is changed to the previous peak value AMP (b) of the same sign in S22. ) Is larger than / times the value in S), the determination in S22 is YES, and the next S23
Proceed to.

【0107】ところが、場合によりc>(7/8)×A
MP(b)が成立しないことがある。第1の場合とし
て、例えば弦をブリッジに近いところでピッキングする
ことにより、波形は正常だがなめらかな減衰波形となら
ず、S22の判定結果がNOとなることがおこりうる。
しかし、このような場合においても、前記図7のS24
の処理を正常に行う必要がある。そして、この場合、波
形が正常であるため、前記したようなダブリは発生して
おらず、それ以前に図7のS20からS25へ分岐して
いないため、ダブリフラグDUBの値は0のままであ
る。そこで、図7のS27において、DUB=1が成立
しない場合は、S22の判定結果にかかわらず、再びS
24の処理に戻り、前記「基本動作」の項で述べた処理
を行う。なお、ダブリフラグDUBは、前記図5のST
EP0のS04の処理において、その値が0に初期化さ
れている。
However, in some cases, c> (7/8) × A
MP (b) may not be established. In the first case, for example, by picking a string near the bridge, 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, S24 in FIG.
Must be performed normally. In this case, since the waveform is normal, the above-described double does not occur, and since the branch from S20 to S25 in FIG. 7 has not been made before that, the value of the double flag DUB remains 0. . Therefore, if DUB = 1 does not hold in S27 of FIG. 7, S again regardless of the determination result of S22.
Returning to the processing of 24, the processing described in the above-mentioned "Basic operation" is performed. It should be noted that the double flag DUB is the same as the one shown in FIG.
In the process of S04 of EP0, the value is initialized to 0.

【0108】一方、図7のS22が成立しない第2の場
合として、波形に前記したようなダブリが発生した場合
がある。この場合について、図15を用いて以下に説明
を行う。
On the other hand, as a second case where S22 in FIG. 7 is not satisfied, there is a case where the above-described double occurs in the waveform. This case will be described below with reference to FIG.

【0109】今、図14で説明したのと同様に、図15
に示すように、STEP0(t=t 0 )、STEP1
(t=t1 )の処理の後に、t=t2 において前記ダブ
リ処理が行われ、c=a0 のピーク(同図のクロス斜線
のハッチを施したピーク)が除去され、c=a1 のピー
ク(同図の縦線のハッチを施したピーク)が残されたと
する。なお、単純な斜線のハッチを施したピーク(c=
1 )は、図13又は図14と同様、元々検出されない
ピークである。
Now, as described with reference to FIG.
As shown in STEP 0 (t = t 0), STEP1
(T = t1), T = tTwoAt the dub
Reprocessing is performed, c = a0Peak (cross-hatched in the figure)
Hatched peak) is removed, and c = a1The pea
(The hatched peak in the figure)
I do. It should be noted that a simple hatched peak (c =
a1) Is not originally detected as in FIG. 13 or FIG.
It is a peak.

【0110】上記のようにダブリが発生すると、次のt
=t3 においては図15に示すように正負フラグはb=
0となるため、STEP0でセットされたフラグMT=
0と一致する。従って、図7のS20からS21を介し
てS22の処理に進む。ところが、t=t3 において検
出される今回の最小ピーク値c=b1 は、波形がダブっ
たために同じ符号の前回の最小ピーク値AMP(0)=
0 からかなり離れており、減衰も大きい。従って、図
15に示すように図7のS22の判定結果がNOとなる
場合がある。
When the double occurs as described above, the next t
= T 3 , the positive / negative flag is b =
0, the flag MT set in STEP0 =
Matches 0. Therefore, the process proceeds from S20 to S22 through S21 in FIG. However, the current minimum peak value c = b 1 detected at t = t 3 is the previous minimum peak value AMP (0) =
It is far from b 0 and has a large attenuation. Therefore, as shown in FIG. 15, the determination result in S22 of FIG. 7 may be NO.

【0111】上記のような場合は、それ以前のt=t2
においてダブリ処理を行っているため、ダブリフラグD
UBの値は1である。従って、図7のS27の判定結果
はNOとなり、S28を介して(後述する)S29に進
む。
In the above case, t = t 2 before t = t 2
Since the doubling process is performed in
The value of UB is 1. Accordingly, the determination result in S27 of FIG. 7 is NO, and the process proceeds to S29 (described later) via S28.

【0112】S29においては、図15のt=t3 以後
に正常な波形を獲得して新たに処理をやり直すために、
STEP0においてセットされた前回のゼロクロス時刻
データTFN(0)、及び負側の前回のピーク値AMP
(0)の内容を、図7のS29により今回のゼロクロス
時刻t及び今回のピーク値cと入れ替えて変更する。即
ち、図15の例では、同図に示すようにTFN(0)=
t=t3 、AMP(0)=c=b1 となり、結局、同図
の横線のハッチを施したピーク(c=b0 )が無視され
る。なお、以降の処理のために、図7のS28でダブリ
フラグDUBは0にリセットされる。これらの動作の
後、STEPの値は更新せずに図4のメインルーチンの
M2の処理に戻り、次のピークの入力を待つ。
In S29, in order to obtain a normal waveform after t = t 3 in FIG.
The previous zero-crossing time data TFN (0) set in STEP 0 and the previous negative peak value AMP
The content of (0) is changed by replacing the current zero-cross time t and the current peak value c in S29 of FIG. That is, in the example of FIG. 15, TFN (0) =
At t = t 3 , AMP (0) = c = b 1 , and the hatched peak (c = b 0 ) in the horizontal line in FIG. Note that the double flag DUB is reset to 0 in S28 of FIG. 7 for the subsequent processing. 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.

【0113】そして、上記の場合、図15に示すように
t=t4 、t=t5 において、図7のSTEP2が繰り
返された後、STEP3に移行する。このようなSTE
P2の繰り返し動作については様々なパターンがあるた
め、その詳細な説明は省略するが、全体の流れとしては
正常な波形を獲得できるようになって、次のSTEP3
において用いるためのデータTFN(0)、AMP
(0)、及びTFN(1)、AMP(1)が有効に決定
されるように動作した後に、STEP3に移行する。な
お、図15のケースでは、TP(0)=t5 −t3 、後
述するSTEP3において演算されるその次の周期デー
タTiの起点は、TFN(1)=t4 となる。(STEP3の処理動作) 次に、図8は、図4のメイン
ルーチンのM8として示すステップ3(STEP3)の
処理の動作フローチャートである。この処理において
は、ノートオン(発音開始)処理、ノートオン時の音高
設定のためのピッチ周期の抽出、特に本発明に係る当該
抽出されたピッチ周期の補正、ベロシティの演算、ST
EP4への移行処理、及びおかしな波形が入力したとき
のエラー処理等を行う。《基本動作》 まず、前記STEP3による処理が行われ
た後、図4のメインルーチンでは、M2→M10→M1
1→M2のループの繰り返しにより、前記ピッチ抽出デ
ジタル回路2(図1)から再び割り込みがかかって、レ
ジスタT0、C、Bに次のデータが入力するのを待って
いる。
Then, in the above case, as shown in FIG. 15, at step t = t 4 and t = t 5 , after step 2 of FIG. 7 is repeated, the process proceeds to step 3. Such an STE
Since there are various patterns for the repetition operation of P2, a detailed description thereof will be omitted, but a normal waveform can be obtained as a whole flow, and the next STEP3
TFN (0), AMP for use in
After operating such that (0), TFN (1), and AMP (1) are effectively determined, the process proceeds to STEP3. In the case of FIG. 15, TP (0) = t 5 −t 3 , and the starting point of the next periodic data Ti calculated in STEP 3 described later is TFN (1) = t 4 . (Processing Operation of STEP 3) Next, FIG. 8 is an operation flowchart of the processing of step 3 (STEP 3) shown as M8 in the main routine of FIG. In this processing, note-on (sound generation) processing, extraction of a pitch cycle for setting a pitch at the time of note-on, particularly correction of the extracted pitch cycle, calculation of velocity, ST
Processing for shifting to EP4, error processing when a strange waveform is input, and the like are performed. << Basic Operation >> First, after the processing in STEP 3 is performed, in the main routine of FIG. 4, M2 → M10 → M1
Due to the repetition of the loop from 1 to 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.

【0114】そして、データが入力し、図4のM2から
M3を経て上記各レジスタの内容が読み込まれると、M
4を介してM8、即ち図8のSTEP3に移る。この状
態においては、例えば図11に示すように、今回のゼロ
クロス時刻t=t3 、今回正負フラグb=1、今回ピー
ク値はb=1より最大ピーク値でc=a1 である。
Then, when data is input and the contents of the above registers are read through M2 to M3 in FIG.
The process moves to M8 via STEP4, that is, STEP3 in FIG. In this state, for example, as shown in FIG. 11, the current zero crossing time t = t 3 , the current positive / negative flag b = 1, and the current peak value is c = a 1 which is the maximum peak value from b = 1.

【0115】まず、図8のS30、S31、S32を経
た後(後述する)、S33においてベロシティVELを
演算する。今、前記「STEP2の処理動作」の「基本
動作」の項で説明したように図7のS24において、過
去3回のピーク値、図11の例では、b0 、a0 、b1
の各値(絶対値)のうち最大のものがベロシティVEL
に格納されている。そこで、図8のS33において、ベ
ロシティVELと今回ピーク値cのうち大きい方を判定
し、それを楽音発生回路501(図1)で楽音を発生す
るときの新たなベロシティVELとする。図11の例で
は、VEL=a 0 、c=a1 より、VEL=max〔a
0 ,a1 〕=a0 となる。
First, steps S30, S31 and S32 in FIG.
(Described later), the velocity VEL is set in S33.
Calculate. Now, the "basic operation" of the "STEP 2 processing operation"
As described in the section “Operation”, in S24 of FIG.
The peak values of the last three times, b in the example of FIG.0, A0, B1
Of the values (absolute values) is the velocity VEL
Is stored in Therefore, in S33 of FIG.
Judge the larger of the loss VEL and the current peak value c
Then, a tone is generated by the tone generator 501 (FIG. 1).
New velocity VEL at the time of In the example of FIG.
Is VEL = a 0, C = a1Thus, VEL = max [a
0, A1] = A0Becomes

【0116】上記動作の後、図8の同じくS33におい
て、MT←bとした後(後述する)、S34において、
{(今回のゼロクロス時刻t)−(同じ符号の前回のゼ
ロクロス時刻データTFN(b))}を演算することに
より、ピッチ周期を検出し、前回周期データTP(b)
として設定する。図11の例では、同図に示すようにT
P(1)=t3 −t1 となる。
After the above operation, MT is set to b in S33 in FIG. 8 (described later), and in S34,
By calculating {(current zero-crossing time t)-(previous zero-crossing time data TFN (b) of the same sign)}, the pitch cycle is detected and the previous cycle data TP (b) is calculated.
Set as In the example of FIG. 11, as shown in FIG.
P (1) = t 3 becomes the -t 1.

【0117】続いて、図8のS35〜S38を経た後
(後述する)、S39において、上記S34で求まった
前回周期データTP(b)と、前記図7のS24におい
て設定された、上記TP(b)とは異極性の前回周期デ
ータ 外12 とが、ほぼ同一
Subsequently, after going through S35 to S38 in FIG. 8 (described later), in S39, the previous cycle data TP (b) obtained in S34 and the TP (b) set in S24 in FIG. b) is almost the same as the previous cycle data of opposite polarity

【0118】[0118]

【外12】 [Outside 12]

【0119】であるか否かを判定する。そして、その判
定結果がYESである場合には、ピッチ周期が安定に抽
出され始めたとして、S301を経た後(後述する)、
S302においてノートオン(発音開始)の処理を行
う。図11の例では、負側の前回周期データTP(1)
=t3 −t1 と正側の前回周期データTP(0)=t2
−t0 が、ほぼ同一であると判定され、ノートオンの処
理に移る。なお、判定結果がNOの場合については後述
する。
It is determined whether or not this is the case. If the result of the determination is YES, it is determined that the pitch period has begun to be stably extracted, and after S301 (described later),
In S302, note-on (start of sound generation) processing is performed. In the example of FIG. 11, the previous cycle data TP (1) on the negative side
= T 3 −t 1 and the previous cycle data TP (0) on the positive side = t 2
It is determined that −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.

【0120】次の、S302においては、図8のS33
で演算されたベロシティVELに基づいて音量情報が生
成されると共に、前回ピッチ周期TP(b)を1.02
倍して得た補正値に基づいて、対応する音高情報が生成
される。すなわち、ピッチ周期が2%長めに補正される
ことになる。このように、発音開始時にピッチ周期を補
正してから音高情報を生成するのが、本実施例の大きな
特徴であり、これにより、「本実施例の概略動作」の項
で説明したように、発音開始時にピッチ周期が短めに抽
出されそれによって高めの音高情報が指定されてしまう
のを防ぐことができる。以上の処理によって生成された
音量情報及び音高情報は、図1のMIDI−BUS及び
インタフェースMIDIを介して楽音発生回路501に
出力される。そして、同回路501では上記各情報に応
じた音量及び音高の楽音がリアルタイムで発生される。
Next, in S302, S33 in FIG.
The volume information is generated on the basis of the velocity VEL calculated in the above, and the previous pitch period TP (b) is set to 1.02
The corresponding pitch information is generated based on the multiplied correction value. That is, the pitch period is corrected to be longer by 2%. As described above, a significant feature of the present embodiment is that the pitch information is generated after the pitch period is corrected at the start of sound generation, and thus, as described in the section “Schematic operation of the present embodiment”. In addition, it is possible to prevent the pitch period from being extracted at the start of sound generation, thereby preventing higher pitch information from being designated. The volume information and the pitch information generated by the above processing are output to the tone generation circuit 501 via the MIDI-BUS and the interface MIDI in FIG. In the same circuit 501, a musical tone having a volume and a pitch corresponding to each of the information is generated in real time.

【0121】なお、図8の処理は、ギターの6弦各々に
ついて行われるため、上記処理も6弦各々について独立
になされることになる。上記ノートオンの処理と共に、
図8のS38及びS301において、次のSTEP4に
おいて用いられるパラメータの設定を行なった後、S3
02を経て図4のメインルーチンのM2の処理に戻り、
次のSTEP4に移行する。即ち、S38においてS3
4で抽出された前回の周期データTP(b)が前回抽出
された周期データTTPとしてセットされ、S301に
おいて図7のSTEP2のS24において設定された前
回のゼロクロス時刻データ 外13 が時刻記憶レジス
Since the processing in FIG. 8 is performed for each of the six strings of the guitar, the above processing is also performed independently for each of the six strings. Along with the above note-on processing,
In S38 and S301 of FIG. 8, after setting the parameters used in the next STEP4, S3
02, the process returns to the process of M2 in the main routine of FIG.
It moves to the next STEP4. That is, in S38, S3
4 is set as the previously extracted cycle data TTP, and the previous zero-crossing time data out 13 set in S24 of STEP2 in FIG. 7 is stored in the time storage register in S301.

【0122】[0122]

【外13】 [Outside 13]

【0123】TFRにセットされ、今回のゼロクロス時
刻データtが有効となった前回のゼロクロス時刻データ
TFとしてセットされ、波形ナンバーカウンタHNCが
0にクリアされ、レジスタSTEPの値が4に更新さ
れ、ノートオンフラグONFが2(発音状態)にセット
され、定数TTUが0(最低MIN)にセットされ、定
数TTWが最高MAXにセットされ、リラティブオフチ
ェックのための前回の振幅値AMRL1が0にクリアさ
れる。これらの各パラメータについては、STEP4で
後述する。《周期不適切の場合の動作》 前記図8のS34におい
て、前回周期データTP(b)が検出された場合、この
ピッチ周期は、対応する弦を最高フレットで演奏したと
きの周期より大きい値を有し、その弦の開放弦周期より
小さい値を有するはずである。
This is set in TFR, the current zero-cross time data t is set as the previous zero-cross time data TF which became valid, the waveform number counter HNC is cleared to 0, the value of the register STEP is updated to 4, and The ON flag ONF is set to 2 (sound generation state), the constant TTU is set to 0 (minimum MIN), the constant TTW is set to the maximum MAX, and the previous amplitude value AMRL1 for the relative off check is cleared to 0. You. Each of these parameters will be described later in STEP4. << Operation in Case of Inappropriate Cycle >> When the previous cycle data TP (b) is detected in S34 of FIG. 8, this pitch cycle is set to a value larger than the cycle when the corresponding string is played at the highest fret. And have a value less than the open string period of the string.

【0124】そこで、周波数上限THLIMという定数
として、現在処理をしている弦の最高音フレットで定ま
る音高の2〜3半音上の音高周期を設定し、周波数下限
TTLIMという定数として、同じ弦の開放弦状態で定
まる音高の5半音程度下の音高周期を設定し、図8のS
36、S37において、S34で求まった前回周期デー
タTP(b)がTHLIMより大きく、かつ、TTLI
Mより小さいか否かが判定される。そして、上記判定結
果が共にYESであれば、S39に進んで前記した周期
判定処理を行う。
Therefore, a pitch period two to three semitones higher than the pitch determined by the highest pitch fret of the string currently being processed is set as the constant of the upper limit frequency THLIM, and the same string as the constant of the lower frequency limit TTLIM is set. 8 is set to a pitch period about 5 semitones lower than the pitch determined by the open string state of S.
36, in S37, the previous cycle data TP (b) obtained in S34 is larger than THLIM and TTLI
It is determined whether it is smaller than M. If both the determination results are YES, the process proceeds to S39 and performs the above-described cycle determination process.

【0125】ここで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 M2 of the main routine of FIG.
Then, the process returns to step 3 and STEP3 is repeated.

【0126】次に、図8のS39において、S34で求
まった前回周期データTP(b)と、これと異極性の前
回周期データ 外14 とが離れた値である場合には、
倍音
Next, in S39 of FIG. 8, if the previous cycle data TP (b) obtained in S34 is different from the previous cycle data TP (b) having a different polarity from the previous cycle data TP (b),
Overtone

【0127】[0127]

【外14】 [Outside 14]

【0128】等を抽出してしまって正確なピッチ周期の
抽出を誤った可能性が高く、ピッチ周期が安定に抽出さ
れていないことになる。従って、このような場合は、S
39の判定結果がNOとなり、図4のメインルーチンの
M2の処理に戻りSTEP3を繰り返す。
It is highly probable that the correct pitch period was erroneously extracted due to the extraction of the pitch period, and the pitch period was not stably extracted. Therefore, in such a case, S
The determination result at 39 is NO, returning to the process of M2 in the main routine of FIG. 4 and repeating STEP3.

【0129】ここで、上記動作によりSTEP3を繰り
返す場合、通常の波形においては、図4のM2、M3を
介して新たに検出されるピークは、その極性が交互に切
り替わってbの値が0と1で交互に反転し、また、図8
のS33においてフラグMTの値が交互に変更され、同
じくS34においてTP(b)が新たに演算され、TF
N(b)の内容も書き替えられる。従って、S36、S
37の判定は、最も新しく求まったピッチ周期に対して
行われ、更に、S39における判定は、最も新しく求ま
ったピッチ周期と、その1つ前(約半周期前)の異極性
側のピッチ周期とに対して行われ、ピッチ周期が安定に
抽出できた時点で前記ノートオンの処理へ移行すること
になる。
Here, when STEP 3 is repeated by the above operation, in a normal waveform, the peak newly detected via M2 and M3 in FIG. 4 has its polarity switched alternately and the value of b becomes 0. 1 is alternately inverted, and FIG.
In S33, the value of the flag MT is changed alternately. Similarly, in S34, TP (b) is newly calculated and TF (b) is calculated.
The contents of N (b) are also rewritten. Therefore, S36, S
The determination at 37 is made for the most recently obtained pitch cycle. Further, the determination at S39 is made of the most recently obtained pitch cycle and the immediately preceding (about half cycle before) pitch cycle on the opposite polarity side. And the process shifts to the note-on process when the pitch period can be stably extracted.

【0130】また、その都度、図8のS33において、
ベロシティVELが、新しく検出されたピークに対応す
るように更新される。《ノイズ除去処理の動作》 図8のS31の処理は、波形
の立ち上がり部分にノイズが発生した場合に対処するた
めの処理である。今、例えば図16に示すように、ST
EP0、1、2においてノイズによるピークa0
0 、a1 等が検出されてしまった場合、これらのノイ
ズの周期を検出して発音開始を指示すると、全くおかし
な楽音を発音してしまう。
Each time, at S33 in FIG.
The velocity VEL is updated to correspond to the newly detected peak. << 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, for example, as shown in FIG.
Peaks a 0 due to noise in EPs 0 , 1 , and 2 ,
If b 0 , a 1, etc. are detected, if the start of sound generation is instructed by detecting the cycle of these noises, a completely strange musical sound will be generated.

【0131】そこで、図8のS31においては、連続す
るピーク値が大きく変化した場合には、ノイズが発生し
ていると判断して異常検知フラグXを1にセットし、S
35においてNOの判定をさせることにより、ノイズ部
分に基づいてノートオンしないようにしている。
Therefore, in S31 of FIG. 8, when the continuous peak value changes greatly, it is determined that noise has occurred, and the abnormality detection flag X is set to 1, and S31 is set.
By making a NO determination at 35, note-on is prevented from occurring based on the noise portion.

【0132】具体的には、今回ピーク値cを1/8した
値が、それと同符号の前回ピーク値AMP(b)より小
さければ正常であると判断してX=0とし、そうでなけ
ればX=1とする。そして、S35においてX=0でな
いと判定された場合には、図4のメインルーチンのM2
の処理に戻りSTEP3を繰り返す。この場合、図8の
S32において前回ピーク値AMP(b)が順次更新さ
れるため、S31における処理は、最も新しく検出され
たピーク値とその直前の同符号のピーク値とに対して行
われ、連続するピーク値が大きく変化しなくなった時点
で前記ノートオンの処理へ移行することになる。図16
の例では、t=t3 、t=t4 共にS31でX=1とな
ってまうためノートオンせず、t=t5 において初めて
正常なピークが入力したと判断されるためX=0とな
り、t=t5 でノートオンする。そして、この場合は、
連続するピッチ周期TP(b)と 外15 は正常な値
とな
Specifically, if the value obtained by subtracting 1 / from the current peak value c is smaller than the previous peak value AMP (b) having the same sign, it is determined that the value is normal and X = 0. Let X = 1. If it is determined in step S35 that X is not equal to 0, the process proceeds to M2 of the main routine in FIG.
Then, the process returns to step 3 and STEP3 is repeated. 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 process shifts to the note-on process. FIG.
In the example of (2), note-on is not performed because X = 1 at S31 for both t = t 3 and t = t 4, and it is determined that a normal peak is input for the first time at t = t 5 , so that X = 0. , T = t 5 , the note-on is performed. And in this case,
The continuous pitch period TP (b) and 外 15 are normal values.

【0133】[0133]

【外15】 [Outside 15]

【0134】っている。《ダブリ処理の動作》 図8のS30の判定処理は、ダブ
リ処理のための判定である。今、図11のような正常な
波形D1が入力している場合には、t=t3 における今
回正負フラグb=1は、フラグMT=0と一致せず、前
記したようにS31へ進む。
[0134] << Operation of Double Duty Processing >> The determination processing in S30 of FIG. 8 is a determination for double doubling processing. Now, when a normal waveform D1 as shown in FIG. 11 is entered, the positive and negative flag b = 1 this at t = t 3 does not match the flag MT = 0, the process proceeds to S31 as described above.

【0135】ところが、前記「STEP1の処理動作」
又は「STEP2の処理動作」の「ダブリ処理の動作」
の項の説明において述べたのと同様に、波形がダブった
場合、図8のS30の判定結果はNOとなる。
However, the above-mentioned "STEP 1 processing operation"
Or, “operation of double doubling processing” in “processing operation of STEP 2”
In the same manner as described in the above section, when the waveform is doubled, the determination result in S30 of FIG. 8 is NO.

【0136】そして、ダブったピークのピーク値cの方
が、それと同符号の直前のピーク値AMP(b)より小
さい場合は、図8のS303の判定結果がNOとなるこ
とによりそのダブったピークを無視し、図4のM2の処
理に戻った後STEP3を繰り返す。これは、図13の
場合等と同様の考え方による。
When the peak value c of the doubled peak is smaller than the peak value AMP (b) immediately before the same sign, the determination result of S303 in FIG. Is ignored, and after returning to the process of M2 in FIG. 4, STEP3 is repeated. This is based on the same concept as in FIG.

【0137】これに対して、ダブったピークのピーク値
cの方が大きかった場合は、S303の判定結果はYE
Sとなり、S304の処理へ進む。そして、S304で
は直前のピークの方を無視して、AMP(b) の内容を今
回のピーク値cに設定し直し、ベロシティVELをその
値を使って計算し直した後、図4のM2に戻ってSTE
P3を繰り返す。これは、図14の場合等と同様の考え
方による。
On the other hand, if the peak value c of the doubled peak is larger, the determination result of S303 is YE
The result is S, 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, the velocity VEL is recalculated using the value, and the value is then changed to M2 in FIG. Go back and STE
Repeat P3. This is based on the same concept as in FIG.

【0138】以上の処理の後、正常なピークが入力する
ことにより、S30の判定結果がYESとなり、更に、
S35、S36、S37及びS39等の各判定結果がY
ESとなることにより、前記ノートオンの処理が行わ
れ、楽音の発音が開始されることになる。(STEP4の処理動作) 次に、図9は、図4のメイン
ルーチンのM9として示すステップ4(STEP4)の
処理の動作フローチャートである。この処理において
は、ピッチ抽出・変更処理、リラティブオン・リラティ
ブオフの処理、ピッチ周期不適時の処理、及びダブリ処
理等を行う。なお、この処理は本発明には直接は関係し
ないが、楽音の音高制御を行うために重要であるため、
順次説明を行う。まず、ピッチ抽出・変更処理において
は、ピッチ抽出のみを行うルート、実際にピッチ変更
を行うルートがあり、通常は新たなピークが入力する
毎に交互に繰り返す。《ルートの動作》 先ず、S40、S41、S42、S
63〜S67に示すルートについて説明する。S40
において、波形ナンバーカウンタHNC>3が判断さ
れ、YESの場合にはS41に進む。S41では、リラ
ティブオンしきい値TRLRL<(今回ピーク値c−同
じ符号の前回のピーク値AMP(b))かどうかの判断
が行われ、NOの場合にはS42に進む(YESの場合
は後述する)。S42では今回正負フラグb=フラグM
Tつまりピッチ変更側かどうかが判断され、YESの場
合にはS43に進む。
After the above processing, when a normal peak is input, the determination result in S30 becomes YES, and furthermore,
Each of the determination results in S35, S36, S37 and S39 is Y
By the ES, the note-on process is performed, and the tone generation starts. (Operations of STEP4) Next, FIG. 9 is an operation flow chart of the processing of Step 4 (STEP4), shown as M9 of the main routine of FIG. In this processing, pitch extraction / change processing, relative-on / relative-off processing, processing when the pitch period is inappropriate, and double processing are performed. Although this process is not directly related to the present invention, it is important for controlling the pitch of musical tones.
The description will be made sequentially. First, in the pitch extraction / change processing, there is a route for performing only the pitch extraction and a route for actually changing the pitch, and is usually repeated alternately each time a new peak is input. << Route Operation >> First, S40, S41, S42, S
The routes from 63 to S67 will be described. S40
In the above, the waveform number counter HNC> 3 is determined, 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), and if NO, the process proceeds to S42 (if YES, a description will be given later). Do). In S42, the current positive / negative flag b = flag M
It is determined whether T is the pitch change side, and if YES, the process proceeds to S43.

【0139】ところで、初期状態では、前記波形ナンバ
ーカウンタHNCは0である(図8のS301参照)の
で、S40ではNOの判断をしてS42へ進む。そし
て、例えば図11のような波形入力の場合は、t=t4
においてb=0でMT=1(図8のSTEP3のS33
で書き替えられている)であるから、S42からS63
へ進む。
By the way, in the initial state, the waveform number counter HNC is 0 (see S301 in FIG. 8), so that a negative determination is made in S40 and the process proceeds to S42. Then, if the waveform input as shown in FIG. 11, for example, t = t 4
At b = 0 and MT = 1 (S33 of STEP3 in FIG. 8)
From S42 to S63.
Proceed to.

【0140】S63においては、同じ極性のピークが続
けて入力されてきているか(ダブリであるか)、否かチ
ェックするために、レジスタRIV=1かどうかが判断
され、YESの場合(ピークがダブった場合)にはS6
8に進んでダブリ処理を行い(後述する)、また、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 input (whether the peak is a double). S6)
8 to perform the dub processing (described later).
In the case of (i.e., not double), the process proceeds to S64, where the following processing is performed.

【0141】即ち、S64では今回ピーク値cが前回の
ピーク値AMP(b)に入力され、リラティブオフ処理
(後述する)のために前回の振幅値AMRL1が前々回
の振幅値AMRL2に入力される。なお、始めはAMR
L1の内容は0である。(図8のSTEP3のS301
参照)。
That is, in step S64, the current peak value c is input to the previous peak value AMP (b), and the previous amplitude value AMRL1 is input to the immediately preceding amplitude value AMRL2 for the relative-off process (described later). In the beginning, AMR
The content of L1 is 0. (S301 in STEP3 of FIG. 8)
reference).

【0142】更に、S64において、異符号の前回のピ
ーク値 外16 と今回ピーク値c
Further, in S64, the previous peak value out of the opposite sign 16 and the current peak value c

【0143】[0143]

【外16】 [Outside 16]

【0144】のうちいずれか大きい値が前回振幅値AM
RL1に入力される。つまり、周期の中で2つある正、
負のピーク値について大きい値のピーク値が振幅値AM
RL1にセットされる。
The larger value of the previous amplitude value AM
Input to RL1. In other words, two positives in the cycle,
For the negative peak value, the larger peak value is the amplitude value AM.
Set to RL1.

【0145】そして、S65で波形ナンバーカウンタH
NC>8かどうかが判断され、ここで波形ナンバーカウ
ンタ(ピッチ変更側でないゼロクロスカウンタ)HNC
が+1され、カンウトアップされる。従って、波形ナン
バーカウンタHNCは、上限が9となる。そして、S6
5もしくはS66の処理の後S67へ進行する。
Then, in S65, the waveform number counter H
It is determined whether or not NC> 8. Here, the waveform number counter (zero-cross counter not on the pitch changing side) HNC
Is incremented by 1 and counted up. Therefore, the upper limit of the waveform number counter HNC is 9. And S6
After 5 or S66, the process proceeds to S67.

【0146】S67では、レジスタRIVを1とし、今
回のゼロクロス時刻tから時刻記憶レジスタTFRの内
容を引算して、周期レジスタTTRへ入力する。この周
期レジスタTTRは、図11の例では周期情報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. In the example of FIG. 11, the cycle register TTR has the cycle information TTR =
It shows t-TFR = t 4 -t 2 . Then, the current zero cross time t is saved in the time storage register TFR,
Thereafter, the process returns to the process of M2 in the main routine of FIG.

【0147】以上述べたようにルートは、図11の例
によれば以下のような処理がなされる。即ち、MT=1
≠b、RIV=0、AMP(0)←c=b2 、AMRL
2←AMRL1=0、AMRL1←max{AMP
(1)=a1 、c=b2 (のいずれか大きい方)}、H
NC←{HNC+1}=1、RIV←1、TTR←{t
−TFR}={t4 −t2 }、TFR←t=t4 とな
る。従って、周期レジスタTTRに前回の同極性のゼロ
クロス点t=t2 (STEP2→3の変化時点)から今
回のゼロクロス点t=t4 までの時刻情報の差つまり、
周期情報が求まったことになる。そして、図4のメイン
ルーチンのM2の処理へ戻り、次のピークが入力するの
を待つ。《ルートの動作》 次に、S40〜S62に示すルート
へ進んだ場合の説明を行なう。いま、波形ナンバーカ
ウンタHNC=1なので(S66参照)、S40からS
42へ進む(S40については後述する)。
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 , AMRL
2 ← AMRL1 = 0, AMRL1 ← max {AMP
(1) = a 1 , c = b 2 (whichever is greater)}, H
NC ← {HNC + 1} = 1, RIV ← 1, TTR ← {t
−TFR} = {t 4 −t 2 }, and TFR ← t = t 4 . Therefore, the difference between the time information from the previous zero-cross point t = t 2 (the time point of the change from STEP 2 to 3) of the same polarity to the current zero-cross point t = t 4, that is,
This means that the cycle information has been obtained. 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. << 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 = 1 (see S66), S40 to S
The process proceeds to S42 (S40 will be described later).

【0148】S42では、例えば図11のような場合、
MT=1、b=1なのでYESとなり、S43へ進む。
S43では、レジスタRIV=1かどうかが判断され
る。既にルートにおいて、レジスタRIVは1とされ
ている(S67参照)ので、S43の判断はYESとな
り、S44へ進む。なお、S43の判定結果がNOとな
る場合のダブリ処理については後述する。
In S42, for example, in the case of FIG.
Since MT = 1 and b = 1, YES is determined, and the process proceeds to S43.
In S43, it is determined whether or not the register RIV = 1. Since the register RIV is already set to 1 in the route (see S67), the determination in S43 is YES, and the process proceeds to S44. The dubbing process performed when the determination result of S43 is NO will be described later.

【0149】S44では、レジスタSTEP=4かどう
かが判断され、YESの場合にはS45に進む(NOの
場合については後述する)。S45では、今回ピーク値
c<60H(Hは16進法表現を示す)かどうかが判断
され、値の大きなピーク値が入力した場合は、この判定
結果はNOとなり、S47に進む。これに対して、値が
60Hより小さい場合は、YESとなりS46に進む。
In S44, it is determined whether or not the register STEP = 4. If YES, 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 c <60H (H indicates hexadecimal notation). If a large peak 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 determination becomes YES and the process proceeds to S46.

【0150】S46では、前々回の振幅値(ピーク値)
AMRL2−前回の振幅値(ピーク値)AMRL1≦
(1/32)×前々回の振幅値(ピーク値)AMRL2
かどうかが判断され、YESの場合にはS47に進み、
リラティブオフカウンタFOFRが0にセットされる。
NOの場合には、S74に進みリラティブオフの処理が
行われる。このリラティブオフの処理については後述す
る。
In S46, the amplitude value (peak value) two times before
AMRL2-previous amplitude value (peak value) AMRL1 ≦
(1/32) × the amplitude value (peak value) AMRL2 two times before
It is determined whether the answer is YES, and if YES, the process proceeds to S47,
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.

【0151】S48では周期計算がおこなわれる。具体
的には(今回のゼロクロス時刻t−前回のゼロクロス時
刻データTF)が今回の周期情報ttとしてレジスタT
OTOにセットされる。そして、S49に進む。
In S48, a cycle calculation is performed. Specifically, (the current zero-cross time t-the previous zero-cross time data TF) is stored in the register T as the current cycle information tt.
Set to OTO. Then, the process proceeds to S49.

【0152】S49では、今回の周期情報tt>周波数
上限THLIM(発音開始後の上限)かどうかが判断さ
れ、YESの場合にはS50に進む(NOの場合は後述
する)。S49の周波数上限THLIMは、図8のST
EP3の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). The frequency upper limit THLIM of S49 is the same as the STLI in FIG.
It is the same as the upper limit of the allowable range of the frequency at the time of triggering (at the start of sound generation) used in S36 of EP3 (therefore, the period is the minimum and corresponds to the pitch period two to three semitones above the highest note fret). .

【0153】次に、S50では以下の処理が行われる。
即ち、レジスタRIVを0にし、今回のゼロクロス時刻
tが前回のゼロクロス時刻データTFとして入力され、
また前回のピーク値AMP(b)が前々回ピーク値eに
入力され、さらに今回ピーク値cが前回のピーク値AM
P(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,
In addition, the previous peak value AMP (b) is input as the peak value e two times before, and the current peak value c is changed to the previous peak value AM.
It is input to P (b).

【0154】そして、S50の処理の後S51に進み、
S51では、周波数下限TLLIM>今回の周期情報t
tかどうかが判断され、YESの場合即ち今回の周期が
ノートオン中のピッチ抽出音域下限以下になった場合に
はS52に進む。この場合、周波数下限TLLIMは、
例えば、開放弦音階の1オクターブ下にセットされる。
つまり、図8のSTEP3の周波数下限TTLIM(S
37参照)に比較して、許容範囲を広くしている。この
ようにすることで、トレモロアームの操作などによる周
波数変更に対応し得るようになる。
Then, after the processing of S50, the process proceeds to S51,
In S51, the frequency lower limit TLLIM> the current cycle information t
If it is YES, that is, if the current cycle is less than or equal to 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
For example, it is set one octave below the open string scale.
That is, the lower frequency limit TTLIM (S
37, the allowable range is widened. By doing so, it becomes possible to cope with a frequency change due to operation of the tremolo arm or the like.

【0155】上記動作により、周波数の上限、下限につ
いて許容範囲に入る場合についてのみ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.
If not, the flow returns to the processing of M2 in the main routine of FIG. 4 from S49 and S51, and waits for the input of the next peak.

【0156】次に、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.

【0157】そして、S53で今回ピーク値cがベロシ
ティVELに書込まれ、S54に進む。S54では、ノ
ーチェンジレベルNCHLV>(前々回ピーク値e−今
回ピーク値c)かどうかの判断が行われ、YESの場合
にはS55に進む。即ち、前回の同極性のピーク値(e
=AMP(b)と今回のピーク値cとが大きく変化して
いる場合は、その差がNCHLVを越えることになり、
そのようなときに、抽出された周期情報に基づきピッチ
変更を行なうと、不自然な音高変化を呈することになる
可能性が高い。そこで、S54でNOの判断がなされる
と、S55以降の処理をすることなく、図4のメインル
ーチンのM2の処理へ戻り、次のピークの入力を待つ。
Then, in S53, the current peak value c is written in the velocity VEL, and the flow advances to S54. In S54, it is determined whether or not the no-change level NCHLV> (the peak value e before the previous time-the current peak value c). If YES, the process proceeds to S55. That is, the previous peak value of the same polarity (e
= AMP (b) and the current peak value c greatly change, the difference exceeds NCHLV,
In such a case, if the pitch is changed based on the extracted period information, an unnatural pitch change is likely to occur. Therefore, if the determination of NO is made in S54, the process returns to the process of M2 in the main routine of FIG. 4 without performing the processes after S55, and waits for the input of the next peak.

【0158】次に、S54でYESの場合は、リラティ
ブオフカウンタFOFR=0か否かが判断される。後述
するリラティブオフ処理を行っているときは、リラティ
ブオフカウンタFOFRは0でなくなっており、そのよ
うな場合はピッチ変更(S61を参照)の処理を行なう
ことなく、S55でNOの判断をして図4のメインルー
チンのM2の処理へリターンする。そして、S55に
て、YESの判断をしたときは、S56、S57へと順
次進む。
Next, in the case of YES in S54, it is determined whether or not the relative off counter FOFR = 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 determination of NO is made in S55 without performing the pitch change processing (see S61). It returns to the process of M2 of the main routine of FIG. Then, when a determination of YES is made in S55, the process sequentially proceeds to S56 and S57.

【0159】S56、S57では2波3値一致条件が判
断される。S56では今回の周期情報tt×2-7>|今
回の周期情報tt−前々回周期データh|が判断され、
YESの場合はS57に進み、またS57では今回の周
期情報tt×2-7>|今回の周期情報tt−周期レジス
タTTRの内容|が判断され、YESの場合にはS58
に進む。即ち、S56では、図11の例の場合、今回の
周期情報tt=t5 −t3 (S48参照)が、前回の周
期データh=TTP=t3 −t1 (S52参照)の値と
ほぼ一致するか否かを判断し、S57では、今回の周期
情報tt=t5−t3 が、それに重なる周期TTR=t
4 −t2 (S67参照)とほぼ一致するか否かを判断す
る。なお、その限界範囲は、2-7・ttとして、周期情
報に依存してその値が変わるようになっている。勿論、
これは固定の値としてもよいが、本実施例採用技術の方
が良好な結果を得ることができる。
In S56 and S57, a two-wave ternary coincidence condition is determined. In S56, current cycle information tt × 2 −7 > | current cycle information tt−pre-last cycle data h | is determined,
In the case of YES, the process proceeds to S57. In S57, the current cycle information tt × 2 −7 > | current cycle information tt−contents of cycle register TTR | is determined, and in the case of YES, S58.
Proceed to. That is, in S56, in the example of FIG. 11, the current cycle information tt = t 5 -t 3 (see S48) is approximately the value of the previous period data h = TTP = t 3 -t 1 ( see S52) it is determined whether match, the S57, the current cycle information tt = t 5 -t 3, the period TTR = t overlapping therewith
It is determined whether or not 4- t 2 (see S67) substantially coincides. The limit range is set to 2 −7 · tt, and 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 employed in this embodiment.

【0160】次のS58では、今回の周期情報tt>定
数TTUかどうかが判断され、YESならばS59へ進
み、ここで今回の周期情報tt<定数TTWかどうかが
判断され、YESならばS60へ進む。なお、S58、
S59でNOと判定される場合については後述する。
In the next S58, it is determined whether or not the current cycle information tt> constant TTU. If YES, the process proceeds to S59, where it is determined whether or not the current cycle information tt <constant TTW, and if YES, the process proceeds to S60. move on. Note that S58,
The case where the determination is NO in S59 will be described later.

【0161】S60では、レジスタSTEP=4である
のかどうかの判断が行われ、YESの場合にはS61に
進む。S61では、図1のMCP3から楽音発生回路5
01へピッチ変更(今回の周期情報ttに基づく)が行
われ、S62に進む。なお、S61のピッチ変更処理に
おいては、発音開始時におけるようなピッチ周期の補正
(図8S302参照)は行う必要はない。
At S60, it is determined whether or not the register STEP = 4. If YES, the process proceeds to S61. In S61, the tone generation circuit 5 from the MCP 3 in FIG.
The pitch is changed to 01 (based on the current cycle information tt), and the process proceeds to S62. In the pitch changing process in S61, it is not necessary to correct the pitch cycle (see S302 in FIG. 8) as at the start of sound generation.

【0162】S62では、今回の周期情報ttに対応し
て時定数チェンジをし、また定数TTUが(17/3
2)×今回の周期情報ttに書替えられ、さらに定数T
TWが(31/16)×今回の周期情報ttに書き替え
られる。
At S62, the time constant is changed according to the current cycle information tt, and the constant TTU is changed to (17/3).
2) × Rewritten to the current cycle information tt, and furthermore a constant T
TW is rewritten as (31/16) × current cycle information tt.

【0163】また、後述するように、リラティブオフの
処理がなされたときに限り、STEP=5となるが、そ
のときはS60からS62に直接進み、S61でピッチ
変更を行なうことなく、S62で時定数チェンジを行な
う。
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, and the pitch is not changed in S61. Perform a constant change.

【0164】上記時定数チェンジの処理とは、図2の時
定数変換制御回路202内部の時定数変換レジスタCH
TRRに今回の周期情報ttの値に基づく周期データを
図1のMCP3がセットすることをいう。これは、前記
「ピッチ抽出デジタル回路の動作」の「詳細動作」の項
で既に説明したとおりである。
The time constant change processing is performed by the time constant conversion register CH in the time constant conversion control circuit 202 shown in FIG.
This means that the MCP 3 in FIG. 1 sets the cycle data based on the value of the current cycle information tt in TRR. This is as already described in the section "Detailed operation" of the "Operation of the pitch extraction digital circuit".

【0165】そして、S62の処理の終了で図4のメイ
ンルーチンのM2の処理へ戻る。以上述べたようにルー
トでは、図11の例では、次の処理がなされる。即
ち、HNC=1、MT=1=b、RIV=1と判定さ
れ、FOFR←0、tt←t−TF=t5 −t3 、RI
V←0、TF←t=t5 、e←AMP(1)=a1 、A
MP(1)←c=a2 、h←TTP=TP(1)=t3
−t1 、TTP←tt=t5 −t3 、VEL←c=a2
となり、更に、 TTP≒TTR≒tt、 TTU<tt<TTW、 AMP(0)−c<NCHLV の3条件の満足で、ttに従ったピッチ変更を行なう。
その後、TTU←(17/32)×tt、TTW←(3
1/16)×ttの設定がなされる。
Then, upon completion of the process of S62, the process returns to the process of M2 in the main routine of FIG. As described above, in the route, the following processing is performed in the example of FIG. That is, it is determined that HNC = 1, MT = 1 = b, RIV = 1, FOFR ← 0, tt ← t-TF = t 5 −t 3 , RI
V ← 0, TF ← t = t 5 , e ← AMP (1) = a 1 , A
MP (1) ← c = a 2 , h ← TTP = TP (1) = t 3
−t 1 , TTP ← tt = t 5 −t 3 , VEL ← c = a 2
Further, the pitch is changed in accordance with tt when the three conditions of TTP ≒ TTR ≒ tt, TTU <tt <TTW, and AMP (0) −c <NCHLV are satisfied.
Then, TTU ← (17/32) × tt, TTW ← (3
1/16) × tt is set.

【0166】以上の動作によりルートにおいて、実際
の楽音発生回路501(図1)に対するピッチ変更が行
われ、続くゼロクロスインタラプト(次のピークの検
出)でルートの処理、同様に、続くゼロクロスインタ
ラプトで、ルートの処理が行われる。このようにし
て、ルートでは、単に周期を抽出(S67を参照)
し、ルートでは実際のピッチ変更(S61参照)、時
定数チェンジ処理(S62参照)が行われることにな
る。《リラティブオンの処理動作》 図9のSTEP4におけ
るルートのS66で、波形ナンバーカウンタHNCが
3を越えるようにカウントアップされた後は、S40に
おいてYESの判断がなされ、次にS41へ行き、リラ
ティブオンの条件を検出する。
By the above operation, the pitch of the actual tone generation circuit 501 (FIG. 1) is changed in the route, and the route is processed in the subsequent zero-cross interrupt (detection of the next peak). Route processing is performed. Thus, in the route, the cycle is simply extracted (see S67).
On the route, actual pitch change (see S61) and time constant change processing (see S62) are performed. << Relative On Processing Operation >> After the waveform number counter HNC is counted up so as to exceed 3 in S66 of the route in STEP 4 of FIG. 9, a YES determination is made in S40, and then the process goes to S41, where the relative on is performed. Condition is detected.

【0167】これは、c−AMP(b)>TRLRLで
あり、前回のピーク値AMP(b)に比べて今回のピー
ク値cがしきい値TRLRLを越えて増大したとき、つ
まり、これは弦操作後に同じ弦を再度ピッキングしたと
き(トレモロ奏法などによる)にこのようなことがお
き、この場合はS41の判定結果がYESとなり、リラ
ティブオンの処理をすべくS41からS78へ進む。
This is because c-AMP (b)> TRLRL, and when the current peak value c exceeds the threshold value TRLRL as compared with the previous peak value AMP (b), that is, when the string is Such a situation occurs when the same string is picked again after the operation (for example, by tremolo playing technique). In this case, the determination result in S41 is YES, and the process proceeds from S41 to S78 in order to perform the relative on process.

【0168】S78では、時定数変換制御回路202
(図2)の時定数変換レジスタCHTRRへ最高音フレ
ット(例えば22フレット)の周期CHTIMをセット
する。上記処理の後、図5のSTEP0のS06へ進
み、当該発音中の楽音をノートオフした後、再発音を開
始する。なお、通常の演奏操作によれば、図9のSTE
P4のS41ではNOの判断がなされ、S42へ進み、
上述したルートもしくはルートへ進む。《リラティブオフの処理動作》 次に、図17を参照し
て、リラティブオフ処理を説明する。リラティブオフと
は、フレット操作をしている状態から、ピッキングをし
ないで開放弦状態へ移行する操作にともない消音動作を
行うことをいう。
In S78, the time constant conversion control circuit 202
The cycle CHTIM of the highest tone fret (for example, 22th fret) is set in the time constant conversion register CHTRR of FIG. After the above-described processing, the process proceeds to S06 in STEP0 in FIG. 5, and after note-off of the musical tone being sounded, re-sounding is started. According to the normal performance operation, the STE in FIG.
In S41 of P4, a determination of NO is made, and the process proceeds to S42.
Proceed to the route or route described above. << 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.

【0169】この場合、波形の振幅レベルは急激に落ち
てきて、前々回の波高値(ピーク値)AMRL2と前回
の波高値(ピーク値)AMRL1との差が(1/32)
・AMRL2を越えるようになり、図9のSTEP4の
S46からS74へ進む。
In this case, the amplitude level of the waveform drops sharply, and the difference between the previous peak value (peak value) AMRL2 and the previous peak value (peak value) AMRL1 is (1/32).
• It exceeds AMRL2, and the process proceeds from S46 to S74 in STEP4 of FIG.

【0170】そして、リラティブオフカウンタFOFR
が定数ROFCTを越えるまでカウントアップするよう
にS74からS75へ進む。続けて、S75からS48
へ行きS49〜S55の処理を行なうが、FOFR=0
でないので、S55の判定結果はNOとなり、リラティ
ブオフ処理に入る直前ではピッチ変更を行なうことなく
図4のメインルーチンのM2の処理へ戻る。
Then, the relative off counter FOFR
From S74 to S75 so as to count up until the value exceeds the constant ROFCT. Continue from S75 to S48
To perform the processing of S49 to S55, but FOFR = 0
Therefore, the determination result in S55 is NO, and the process returns to the process of M2 in the main routine of FIG. 4 without changing the pitch immediately before entering the relative off process.

【0171】そして、リラティブオフ時のピークが次々
に入力し、S74でNOと判断すると、つまり図17の
例では、FOFRの値が3となったとき(ROFCTは
2である)、S74からS76へ移行する。
Then, peaks at the time of relative off are successively input, and if NO is determined in S74, that is, in the example of FIG. 17, when the value of FOFR becomes 3 (ROFCT is 2), S74 to S76 are performed. Move to.

【0172】ただし、S46の判断でYESの判断が一
度でもあると、S46からS47へ進み、FOFRをリ
セットするように動作する。従って、ROFCTで指定
される回数だけ続けてS46の条件を満足しなければ、
リラティブオフの処理はなされない。なお、ROFCT
の値は、音高が高い弦について大きな値としておけば、
ほぼ一定の時間経過で、いずれの弦についてもリラティ
ブオフ処理ができる。
However, if the determination in S46 is YES at least once, the process proceeds from S46 to S47, and the FOFR is reset. Therefore, if the condition of S46 is not satisfied continuously for the number of times specified by ROFCT,
No relative off processing is performed. In addition, ROFCT
If the value of is set to a large value for a string with a high pitch,
After a lapse of a substantially constant time, the relative off processing can be performed for any of the strings.

【0173】次に、S74からS76へ行くと、リラテ
ィブオフカウンタFOFRをリセットし、レジスタST
EPを5とし、S77へ進んで楽音発生回路501(図
1)に対しノートオフを指示する。
Next, when going from S74 to S76, the relative off counter FOFR is reset and the register ST is reset.
The EP is set to 5, and the flow advances to S77 to instruct the tone generation circuit 501 (FIG. 1) to perform note-off.

【0174】このSTEPが5の状態では、ピッチ抽出
処理をSTEP4の時と同様に実行するが、S60から
S61を介することなくS62へ進むので、楽音発生回
路501に対しては、ピッチ変更は指示されない。ただ
し、S62において抽出した周期に従って時定数チェン
ジ処理を行なう。
In the state in which STEP is 5, the pitch extraction processing is executed in the same manner as in STEP 4, but the process proceeds from S60 to S62 without going through S61, so that the tone change circuit 501 is instructed to change the pitch. Not done. However, the time constant changing process is performed according to the cycle extracted in S62.

【0175】そして、STEPが5の状態では、リラテ
ィブオンの処理を受付けるが(S41、S78)、それ
以外の場合では、図4のメインルーチンの中で、振動レ
ベルが減少してきたことが検知されることによりM14
でSTEPが0となり、初期状態にもどる。
Then, in the state of STEP 5, the relative-on process is accepted (S41, S78), but otherwise, it is detected that the vibration level has decreased in the main routine of FIG. M14
, STEP becomes 0 and returns to the initial state.

【0176】なお、S46で使用するAMRL1、AM
RL2はS64で作られており、1周期の中でレベルが
大きい方のピーク(最大ピークと最小ピークとのうちの
いずれか一方)がこの値とされ、図17の最大ピークa
k が最大ピークbk −1より必ず大である場合であっ
て、an+1とan+2、an+2とan+3、an+
3とan+4の差がいずれも所定値を越えるようになっ
ている。
The AMRL1 and AM used in S46
RL2 is 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, and the maximum peak a in FIG.
where k is always greater than the maximum peak bk -1, where an + 1 and an + 2, an + 2 and an + 3, an +
Both the difference between 3 and an + 4 exceeds a predetermined value.

【0177】また、このときルートの処理において
は、最小ピークbn+1、bn+2、bn+3が極端に
減少してきているので、S54でNOの判断が成され
て、図4のメインルーチンのM2の処理へ戻り、ピッチ
変更処理はなされない。《ピッチ周期不適切時の処理動作》 次に、ピッチ周期が
不適切な場合、即ち、ピッチ抽出している際に、S58
又はS59でオクターブ関係にある倍音、つまりオクタ
ーブ高い周期やオクターブ低い周期が続けて検出された
ときの処理について説明を行う。
At this time, in the route processing, since the minimum peaks bn + 1, bn + 2, bn + 3 have been extremely reduced, the determination of NO is made in S54, and the process returns to the processing of M2 in the main routine of FIG. No pitch change processing is performed. << Processing operation when pitch cycle is inappropriate >> Next, when the pitch cycle is inappropriate, that is, when the pitch is
Alternatively, a description will be given of the processing when the harmonics having an octave relationship, that is, the octave higher period and the octave lower period are continuously detected in S59.

【0178】今、図9のSTEP4のS58の定数TT
Uは、図8のSTEP3のS301にて最小の値0とさ
れ、定数TTWは同様に最大の値MAXとされており、
はじめてこのフローを通るときは必ずS58、S59で
YESの判断がなされるが、その後はS62において、
定数TTUには、(17/32)・tt(ほぼ1オクタ
ーブ高音の周期情報)がセットされ、定数TTWには同
様にS62にて(31/16)・tt(ほぼ1オクター
ブ低音の周期情報)がセットされる。
Now, the constant TT of S58 in STEP 4 of FIG.
U is set to the minimum value 0 in S301 of STEP 3 in FIG. 8, and the constant TTW is set to the maximum value MAX similarly.
When this flow is passed for the first time, the determination of YES is always made in S58 and S59, but thereafter, in S62,
The constant TTU is set to (17/32) · tt (almost one octave high pitch period information), and the constant TTW is similarly set at S62 to (31/16) · tt (almost one octave low pitch period information). Is set.

【0179】従って、急激にオクターブアップする場合
(これは、振動弦を指で振動を止めるようにミュート操
作したときなどに生ずる)、又はオクターブダウンする
場合(これは波形のピークを取り逃した時などに起る)
が発生したときは、ピッチ変更をすると、不自然となる
ので、ピッチ変更をしないように分岐する。
Therefore, when the octave is suddenly raised (this occurs when the vibrating string is muted with a finger to stop the vibration), or when the octave is lowered (this occurs when the peak of the waveform is missed). Happens)
When the pitch change occurs, it becomes unnatural if the pitch is changed. Therefore, branching is performed so as not to change the pitch.

【0180】即ち、S58ではttがTTUを越えなか
ったとき、つまり、前回抽出した周期の17/32倍し
た値TTUより小になったとき、S76へ進む。つま
り、オクターブ高い音が抽出されたときは、ミュート操
作をした場合とみなし、オクターブ高い音を出力するこ
となく、S58からS76へ行き、前記リラティブオフ
時同様S76、S77の処理によって当該音の発音を停
止する。
That is, in S58, when tt does not exceed TTU, that is, when it becomes smaller than the value TTU which is 17/32 times the cycle extracted last time, the flow 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. To stop.

【0181】また、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 TTW which is 31/16 times the previously extracted cycle, the process does not proceed to S60, and M2 of the main routine of FIG. Return to the processing of.

【0182】この状態は図18に示されている。通常ノ
ートオフ近辺の非常に波形が小さい場合は、他のピッキ
ングによってヘキサピックアップのクロストークやボデ
ィの共振によって波形が乗ってくる。すると、例えば、
図18のような入力波形となり、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,
An input waveform as shown in FIG. 18 may be obtained, and an input waveform one octave lower may be continuously detected.

【0183】このような場合、何等処理を施さないと、
急にオクターブ下の音を出力してしまい、極めて不自然
となる。そのために、S56、S57でTan+2≒T
an+3≒Tbn+2が検出されても、Tan+3>T
an+1×(31/16)となるので、ピッチ変更する
ことなく、S59から図4のメインルーチンのM2の処
理へ戻る。《ダブリ処理の動作》 次に、波形がダブって抽出される
場合、即ち、同じ極性のピークが続けて検出される場合
の処理について説明を行う。
In such a case, if no processing is performed,
It suddenly outputs a sound one octave lower, which is extremely unnatural. Therefore, Tan + 2 + T in S56 and S57
Even if an + 3 ≒ Tbn + 2 is detected, Tan + 3> T
Since an + 1 × (31/16), the process returns from S59 to the processing of M2 in the main routine of FIG. 4 without changing the pitch. << Operation of Dubbing Process >> Next, a process in a case where a waveform is dubbed and extracted, that is, a case where peaks having the same polarity are continuously detected will be described.

【0184】まず、図9のSTEP4のS42の判定結
果がNOとなるルートにおいて、S63でYESの場
合は、S68に進みダブリ処理が行われる。即ち、S6
3でYESの場合はS68に進み、今回ピーク値c>同
じ符号の前回のピーク値AMP(b)かどうかが判断さ
れ、YESの場合はS69に進む。
First, in the route in which the determination result in S42 in STEP4 of FIG. 9 is NO, in the case of YES in S63, the flow proceeds to S68 to perform the dubbing process. That is, S6
In the case of YES in 3, the process proceeds to S 68, and it is determined whether or not the current peak value c> the previous peak value AMP (b) of the same sign. In the case of YES, the process proceeds to S 69.

【0185】S69では、今回ピーク値cに前回のピー
ク値AMP(b)が書き替えられ、S70に進む。S7
0では今回ピーク値c>前回の振幅値(ピーク値)AM
RL1かどうかが判断され、YESの場合にはS71に
進み、ここで今回ピーク値cが前回の振幅値(ピーク
値)AMRL1とされる。
In S69, the previous peak value AMP (b) is rewritten to the current peak value c, and the flow advances to S70. S7
At 0, the current peak value c> the previous amplitude value (peak value) AM
It is determined whether it is RL1, and if YES, the process proceeds to S71, where the current peak value c is set to the previous amplitude value (peak value) AMRL1.

【0186】もし、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 harmonic peak is not spread,
A new waveform peak value is registered.

【0187】また、S70でNOのときと、S71の処
理の終了のときには、同様にメインルーチンへ戻る。図
19に、上記ダブリ処理の例を示す。なお、この例の場
合はMT=0の状態を示している。一般に、基本波周期
と倍音成分の周期が非整数倍の関係にあるので、倍音の
位相がずれて行き、同じ極性のゼロクロスを検出してし
まうことになり、そのために誤ったピッチ変更をしない
ようにしないといけない。この図の例の場合では、「ダ
ブリ」と示しているところで、ダブリの状態が生じてい
る。
When the result in S70 is NO and the process in S71 ends, the process returns to the main routine. FIG. 19 shows an example of the above-described dubbing processing. 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 phases of the harmonics are shifted, and a zero-cross of the same polarity is detected. I have to do it. In the case of the example shown in this figure, a state of double occurs where “double” is indicated.

【0188】このときは、S42からS63へ行き、Y
ESの判断をしてS68へ行く。S68では、この場
合、(an+2)と(an+3)との比較をして、(a
n+3)が(an+2)より大なときに限りS69へ行
き、AMP(1)を書替える。そして、更に前回の振幅
値(ピーク値)AMRL1と今回の振幅情報(ピーク値
c)の比較をS70で行って、もしYESならばS71
へ進み、今回のピーク値cを前回の振幅値(ピーク値)
AMRL1とする。
At this time, the process goes from S42 to S63, and Y
After the determination of ES, go to S68. In S68, in this case, (an + 2) and (an + 3) are compared to obtain (a
Only when (n + 3) is larger than (an + 2), go to S69 and rewrite AMP (1). Then, the previous amplitude value (peak value) AMRL1 is compared with the current amplitude information (peak value c) in S70, and if YES, S71 is performed.
To the current peak value c and the previous amplitude value (peak value)
AMRL1.

【0189】次に、図9のSTEP4のS42の判定結
果がYESとなるルートにおいて、次のS43でNO
となる場合は、S72に進み上記と同様にダブリ処理が
行われる。
Next, in the route in which the determination result in S42 of STEP 4 in FIG. 9 is YES, the next S43 is NO.
If so, the process proceeds to S72, and the dubbing process is performed in the same manner as described above.

【0190】即ち、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> the previous peak value AMP having the same sign.
(B) is determined, and in the case of YES, the process proceeds to S73. After the current peak value c is replaced with the previous peak value AMP (b), the process returns to the process of M2 in the main routine of FIG.

【0191】もし、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, also in this case, the peak value of the new waveform is registered only when the peak of the new input waveform is large.

【0192】図20に、その例を示す。この例ではMT
=1の状態を示している。この場合、図のダブリと書い
てあるゼロクロス時のSTEP4の処理では、S42か
らS43へ行き、S43ではYESの判断をしてS72
へ進む。ここで(an+3)と(an+2)の大きさが
比較され、もし(an+3)が(an+2)より大であ
れば、S72でYESの判断をし、AMP(1)に、
(an+3)の値をセットし、もし逆の場合は何等変更
処理をしない。
FIG. 20 shows an example. In this example, MT
= 1. In this case, in the process of STEP 4 at the time of the zero cross which is written as “double” in the figure, the process goes from S42 to S43, and YES is determined in S43 and S72 is performed.
Proceed to. Here, the magnitudes of (an + 3) and (an + 2) are compared. If (an + 3) is greater than (an + 2), a determination of YES is made in S72, and AMP (1)
The value of (an + 3) is set, and if not, no change processing is performed.

【0193】ところで、上記のダブリ処理の場合、抽出
している時刻データは何等使用しないので、周期情報T
an+3は何等変わらない。また、当然周期データに基
づくピッチ変更は行われない。{本発明の他の実施例} 以上、本実施例においては、こ
の発明を電子ギター(ギタ−シンセサイザ)に適用した
ものであったが、それに限らない。演奏操作を入力波形
信号として検出し、それに基づいてオリジナルの信号と
は別の音響信号を発生するタイプの楽音発生装置で、入
力波形信号の立ち上がり時にその波形からピッチ周期が
真の音程からずれて抽出されるような傾向を有するもの
であれば、種々適用可能である。
By the way, in the case of the above-described double processing, since the extracted time data is not used at all, the period information T
an + 3 does not change at all. Also, the pitch is not changed based on the cycle data. << Other Embodiments of the Present Invention >> In the above embodiments, the present invention is applied to an electronic guitar (guitar synthesizer), but is not limited thereto. A tone generator that detects a performance operation as an input waveform signal and generates an acoustic signal different from the original signal based on the input signal.When the input waveform signal rises, the pitch period deviates from the true pitch from that waveform. Various ones can be applied as long as they have a tendency to be extracted.

【0194】[0194]

【発明の効果】本発明によれば、入力波形信号からピッ
チ抽出手段がピッチ情報を抽出した場合、入力波形信号
の立ち上がり時においてのみ、ピッチ情報補正手段が本
来のピッチ周期になるように補正することができるた
め、入力波形信号の立ち上がり時においてピッチ情報に
対応する周波数が真の値からずれて抽出されても、実際
の音程に正確に対応する音高指定を行うことができ、正
確な音高で楽音の発音を開始することが可能となる。
According to the present invention, when the pitch information is extracted from the input waveform signal by the pitch extraction means, only when the input waveform signal rises, the pitch information correction means corrects the original pitch cycle. Therefore, even if the frequency corresponding to the pitch information is extracted from the true value at the time of the rise of the input waveform signal, the pitch corresponding to the actual pitch can be specified accurately, and the accurate sound It becomes possible to start producing a musical tone at a high altitude.

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

【図1】本発明による電子楽器の構成図である。FIG. 1 is a configuration diagram of an electronic musical instrument according to the present invention.

【図2】ピッチ抽出ディジタル回路の構成図である。FIG. 2 is a configuration diagram of a pitch extraction digital circuit.

【図3】割込み処理ルーチンの動作フローチャートを示
した図である。
FIG. 3 is a diagram illustrating an operation flowchart of an interrupt processing routine.

【図4】メインルーチンの動作フローチャートを示した
図である。
FIG. 4 is a diagram showing an operation flowchart of a main routine.

【図5】STEP0の動作フローチャートを示した図で
ある。
FIG. 5 is a diagram showing an operation flowchart of STEP0.

【図6】STEP1の動作フローチャートを示した図で
ある。
FIG. 6 is a diagram showing an operation flowchart of STEP1.

【図7】STEP2の動作フローチャートを示した図で
ある。
FIG. 7 is a diagram showing an operation flowchart of STEP2.

【図8】STEP3の動作フローチャートを示した図で
ある。
FIG. 8 is a diagram showing an operation flowchart of STEP3.

【図9】STEP4(5)の動作フローチャートを示し
た図である。
FIG. 9 is a diagram showing an operation flowchart of STEP4 (5).

【図10】本実施例の概略動作説明図である。FIG. 10 is a schematic operation explanatory diagram of the present embodiment.

【図11】本実施例の基本動作説明図である。FIG. 11 is an explanatory diagram of a basic operation of the present embodiment.

【図12】(a) 、(b) は、STEP1におけるダブリ処
理の動作説明図である。
FIGS. 12A and 12B are diagrams illustrating the operation of the dubble process in STEP1.

【図13】それぞれSTEP2におけるダブリ処理の動
作説明図である。
FIG. 13 is a diagram illustrating the operation of the dubbing process in STEP2.

【図14】それぞれSTEP2におけるダブリ処理の動
作説明図である。
FIG. 14 is an explanatory diagram of the operation of the dubbing process in STEP2.

【図15】それぞれSTEP2におけるダブリ処理の動
作説明図である。
FIG. 15 is a diagram illustrating the operation of the dubbing process in STEP2.

【図16】STEP3におけるノイズ除去処理の動作説
明図である。
FIG. 16 is an explanatory diagram of the operation of the noise removal processing in STEP3.

【図17】STEP4におけるリラティブオフ処理の動
作説明図である。
FIG. 17 is an explanatory diagram of the operation of the relative off process in STEP4.

【図18】STEP4におけるピッチ周期不適切時の処
理動作説明図である。
FIG. 18 is an explanatory diagram of a processing operation when a pitch cycle is inappropriate in STEP4.

【図19】ルートにおけるダブリ処理の動作説明図で
ある。
FIG. 19 is an explanatory diagram of the operation of the doubling process in the route.

【図20】ルートにおけるダブリ処理の動作説明図で
ある。
FIG. 20 is an explanatory diagram of the operation of the doubling process on the route.

【符号の説明】[Explanation of symbols]

1 ピッチ抽出アナログ回路 2 ピッチ抽出デジタル回路 3 中央制御装置(MCP) 4 アドレスデコーダ 5 楽音発生部 201 ピーク検出回路 202 時定数変換制御回路 203 波高値取込回路 204 ゼロクロス時刻取込回路 501 楽音発生回路 D1 デジタル出力 DESCRIPTION OF SYMBOLS 1 Pitch extraction analog circuit 2 Pitch extraction digital circuit 3 Central control unit (MCP) 4 Address decoder 5 Tone generator 201 Peak detection circuit 202 Time constant conversion control circuit 203 Peak value capture circuit 204 Zero cross time capture circuit 501 Musical tone generation circuit D1 Digital output

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 入力波形信号からピッチ情報を抽出する
ピッチ抽出手段と、 該ピッチ抽出手段で抽出される前記入力波形の立ち上が
り時のピッチ情報を補正するピッチ情報補正手段と、 前記入力波形の立ち上がり時は前記ピッチ情報補正手段
で補正されたピッチ情報に応じた音高で楽音を発生する
とともに、該立ち上がり時以降は前記ピッチ抽出手段で
抽出されるピッチ情報に応じた音高で楽音を発生する楽
音発生手段と、 を有することを特徴とする電子楽器。
1. A pitch extracting means for extracting pitch information from an input waveform signal, a pitch information correcting means for correcting pitch information at the time of rising of the input waveform extracted by the pitch extracting means, and a rising of the input waveform At the time, a tone is generated at a pitch corresponding to the pitch information corrected by the pitch information correction means, and after the start, a tone is generated at a pitch corresponding to the pitch information extracted by the pitch extraction means. An electronic musical instrument comprising: a musical sound generating means.
JP4276370A 1992-10-14 1992-10-14 Electronic musical instrument Expired - Fee Related JP2661481B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4276370A JP2661481B2 (en) 1992-10-14 1992-10-14 Electronic musical instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4276370A JP2661481B2 (en) 1992-10-14 1992-10-14 Electronic musical instrument

Publications (2)

Publication Number Publication Date
JPH05216468A JPH05216468A (en) 1993-08-27
JP2661481B2 true JP2661481B2 (en) 1997-10-08

Family

ID=17568488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4276370A Expired - Fee Related JP2661481B2 (en) 1992-10-14 1992-10-14 Electronic musical instrument

Country Status (1)

Country Link
JP (1) JP2661481B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4084470B2 (en) * 1998-08-25 2008-04-30 株式会社コルグ Tuner
JP4210934B2 (en) * 2003-04-22 2009-01-21 ヤマハ株式会社 Pitch extraction device and program

Also Published As

Publication number Publication date
JPH05216468A (en) 1993-08-27

Similar Documents

Publication Publication Date Title
JP2615825B2 (en) Electronic string instrument
JP2734521B2 (en) Music control device
US4841827A (en) Input apparatus of electronic system for extracting pitch data from input waveform signal
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
JP2661481B2 (en) Electronic musical instrument
US4924746A (en) Input apparatus of electronic device for extracting pitch from input waveform signal
JP2722584B2 (en) Music control device
JP2775633B2 (en) Music control device
JP2958778B2 (en) Tone generator
JP2858313B2 (en) Pitch information generation device
JP2615946B2 (en) Music control device
JP2611263B2 (en) Sound control device
JP2661066B2 (en) Sound control device
JP2661065B2 (en) Sound control device
EP0264955B1 (en) Apparatus for determining the pitch of a substantially periodic input signal
JP2591001B2 (en) Electronic string instrument
JP6135312B2 (en) Electronic stringed instrument, musical sound control method and program
JP2605773B2 (en) Electronic string instrument
JP2591000B2 (en) Electronic string instrument
JP2530928Y2 (en) Electronic musical instrument level display
JP6361109B2 (en) Electronic stringed instrument, musical sound control method and program
JP2014153434A (en) Electronic stringed instrument, musical sound generation method and program
JPH01100597A (en) Electronic musical instrument
JPH01100596A (en) Input controller for electronic musical instrument

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970513

LAPS Cancellation because of no payment of annual fees