JPH05216468A - Electronic musical instrument - Google Patents

Electronic musical instrument

Info

Publication number
JPH05216468A
JPH05216468A JP4276370A JP27637092A JPH05216468A JP H05216468 A JPH05216468 A JP H05216468A JP 4276370 A JP4276370 A JP 4276370A JP 27637092 A JP27637092 A JP 27637092A JP H05216468 A JPH05216468 A JP H05216468A
Authority
JP
Japan
Prior art keywords
pitch
peak value
time
value
zero
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.)
Granted
Application number
JP4276370A
Other languages
Japanese (ja)
Other versions
JP2661481B2 (en
Inventor
Shigeru Uchiyama
繁 内山
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
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

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

PURPOSE:To specify a pitch which accurately corresponds to an actual interval and to start generating a musical sound having the accurate pitch by correcting a pitch to the original pitch period by a pitch information correcting means only at the time of the rising of an input waveform signal when pitch informa tion is extracted from the input waveform signal. CONSTITUTION:Pitch extracting means 1 and 2 convert the input waveform signal which is previously obtained, into a digital signal, detect an effective peak value of the digital waveform and the zero-cross time right after it in order, and decide a pair of the effective peak value and zero-cross time right before or behind it to extract the pitch period. Then the pitch information correcting means 3 corrects only the pitch period which is detected by the pitch extracting circuit 1 and 2 for the 1st time by several percents. Then, a musical sound generating means 5 generates the musical sound having the pitch corresponding to the corrected pitch information at the time of the rising of the input waveform, but generates the musical sound with the pitch corresponding to the pitch information extracted by the pitch extracting means after the rising.

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 instrument such as an electronic guitar, and more particularly to an electronic instrument capable of extracting pitch information from an input waveform signal and producing a musical tone at a pitch corresponding thereto. Regarding musical instruments.

【0002】[0002]

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

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

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

【0005】[0005]

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

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

【0007】上記問題は、電子弦楽器に限られず、立ち
上がり時に非線形な入力波形信号を発生し得る電子楽器
においても、一般に起こり得る。本発明の課題は、入力
波形信号の立ち上がり時においても、実際の音程に正確
に対応する音高指定を可能とすることにある。
The above problem is not limited to electronic stringed instruments, but can generally occur in electronic musical instruments that can generate a non-linear input waveform signal at the time of 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 the input waveform signal rises.

【0008】[0008]

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

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

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

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

【0012】[0012]

【作用】本発明の作用は次の通りである。例えばギター
シンセサイザー等の電子弦楽器においては、演奏者が弦
をピッキングした場合に、それによりピックアップ等か
ら検出される弦振動波形(入力波形信号)からピッチ抽
出手段がピッチ周期(ピッチ情報)を抽出した場合、ピ
ッキング開始時(入力波形信号の立ち上がり時)におい
てのみ、ピッチ周期が例えば数パーセント分短めに抽出
される。すなわち、周波数で見ると、実施の音程より高
めの周波数が抽出される。
The operation of the present invention is as follows. For example, in an electronic stringed 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 (at the rising edge of the input waveform signal), the pitch period is shortened by a few percent, for example. That is, in terms of frequency, frequencies higher than the pitch of the implementation are extracted.

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

【0014】[0014]

【実施例】以下、本発明の実施例につき詳細に説明を行
う。なお、以下の説明においては、記号{ }、
( )、《 》で囲まれ、アンダーラインを付した見出
しの順に、順次項目分けを行う。{本発明による電子楽器の構成} 本実施例は、ボディー
上に6本の金属弦が張られ、該金属弦の下部に設けられ
たフレット(指板)を指で押えながら、所望の弦をピッ
キングすることにより演奏を行う電子ギターとして実現
されている。なお、その外見は省略する。
EXAMPLES Examples of the present invention will be described in detail below. In the following description, the symbols {},
Items will be grouped in order of the underlined headings that are surrounded by () and <<. {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 the fret (fingerboard) provided at the bottom of the metal strings with a finger. It is realized as an electronic guitar that plays 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 this embodiment.
First, the pitch extraction analog circuit 1 is provided for each of the six strings (not shown), and each output from the hex pickup for converting the vibration of each string into an electric signal is passed through a low-pass filter (not shown). By removing the harmonic components by using the waveform signals Wi (i = 1
~ 6) is obtained. Further, each time the sign of the amplitude of each waveform signal Wi changes to positive or negative, a pulse-shaped zero-cross signal Zi (i = 1 to 6) that 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 or the like not particularly shown, and output. To do.

【0016】ピッチ抽出ディジタル回路2は、図2に示
すようにピーク検出回路201、時定数変換制御回路2
02、波高値取込回路203、ゼロクロス時刻取込回路
204からなる。これら図2の各回路は,前記ピッチ抽
出アナログ回路1(図1)からの、6弦分を時分割した
シリアルゼロクロス信号ZCR及びディジタル出力D1
に基づいて、6弦分を時分割処理する。以下の説明では
説明を容易にするため1弦分の処理について説明し、シ
リアルゼロクロス信号ZCR及びディジタル出力D1は
1弦分の信号のイメージで説明するが、特に言及しない
ときは6弦分について時分割処理が行われているものと
する。
The pitch extraction digital circuit 2 includes a peak detection circuit 201 and a time constant conversion control circuit 2 as shown in FIG.
02, a peak value acquisition circuit 203, and a zero-cross time acquisition circuit 204. Each of these circuits shown in FIG. 2 includes a serial zero-cross signal ZCR and a digital output D1 from the pitch extraction analog circuit 1 (FIG. 1) obtained by time division of 6 strings.
Based on, the 6-strings are time-divisionally processed. In the following description, the processing for one string will be described for ease of explanation, and the serial zero-cross signal ZCR and the digital output D1 will be described as an image of the signal for one string. It is assumed that division processing is being 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 the maximum peak point and the minimum peak point of the digital output D1 based on the serial zero-cross signal ZCR and the digital output D1. Therefore, although not shown in the figure, a peak hold circuit that holds the absolute value of the past peak value while subtracting (attenuating) the absolute value is provided inside the circuit 201. The peak detection circuit 201 detects 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 after the previous peak value detection. The timing of the peak value is detected when the threshold value is exceeded. The peak value timing detection 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, the maximum peak value detection signal MAX is output in the case of a positive sign and the minimum peak value detection signal MIN is output in the case of a negative sign. It should be noted that each of these signals is actually, of course, a time division signal 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, MIN from the peak detection circuit 201. , And the control from the central control unit (MCP, the same 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 acquisition circuit 20 in FIG.
3 demultiplexes the digital output D1 sent from the peak extraction analog circuit 1 in a time division manner into peak values 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 through the address decoder 4 (FIG. 1) to the MCP 3 via the bus BUS. In addition to the peak value, the peak value capturing circuit 203 can also output the instantaneous value of vibration for 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), strictly speaking, at the zero-cross time of each string. , The maximum / minimum peak value detection signals MAX and MIN output from the peak detection circuit 201 are latched at the zero cross point immediately after the passage timing of the maximum peak point and the minimum peak point determined by MIN. When this latch operation is performed, the zero-cross time acquisition circuit 204 subsequently outputs the interrupt signal INT to the MCP3 in FIG. This allows MCP3
In accordance with a control signal (described later) output from the address decoder 4 (FIG. 1) via the address decoder 4, a string number at which a zero-cross occurs, a zero-cross time corresponding to the latched string and positive / negative information (described later) are stored in the bus BUS. Through MCP3
Sequentially output to.

【0021】また、図2のタイミングジェネレータ20
5からは、図1及び図2に示す各回路の処理動作のため
のタイミング信号が出力される。次に、図1に戻って、
MCP3は、メモリ例えばROM301及びRAM30
2を有するとともに、タイマ303を有する。ROM3
01は後述する各種楽音制御用のプログラムを記憶して
いる不揮発メモリであり、RAM302は該制御時の各
種変数・データ用のワーク領域として用いられる書き替
え可能なメモリである。また、タイマ303は、後述す
るノートオフ(消音)処理のために用いられる。
Further, the timing generator 20 shown in FIG.
Timing signals for processing operations of the circuits shown in FIGS. 1 and 2 are output from 5. Next, returning to FIG.
The MCP 3 is a memory such as a ROM 301 and a RAM 30.
2 and a timer 303. ROM3
Reference numeral 01 is a non-volatile memory that stores programs for controlling various tones described later, and RAM 302 is a rewritable memory used as a work area for various variables and data during the control. Further, the timer 303 is used for note-off (silence) processing described later.

【0022】楽音発生部5は、楽音発生回路501とD
/A変換器502、アンプ503及びスピーカ504か
らなり、MCP3からの楽音制御情報に応じた楽音を放
音する。なお、楽音発生回路501の入力側に、インタ
ーフェイス(Musical Instrument Digital Interface)
MIDIが設けられており、楽音制御情報伝送用の専用
バスMIDI−BUSを介して、MCP3と接続され
る。なお、ギター本体内に楽音発生部5を設けるとき
は、別の内部インターフェイスを介してもよい。
The tone generating section 5 includes a tone generating circuit 501 and D
The A / A converter 502, the amplifier 503, and the speaker 504 emit a musical tone corresponding to the musical tone control information from the MCP 3. 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 musical tone generating section 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 receives the interrupt signal IN from the zero-cross time acquisition circuit 204 (FIG. 2) described above.
After the generation of T, the zero-cross time acquisition circuit 2 is generated in accordance with the address read signal AR generated from MCP3 (FIG. 1).
To 04, a string number read signal outside 1 is supplied, and then a time read signal outside 2 (i = 1 to 6) is supplied. Also, the same

【0024】[0024]

【外1】 [Outer 1]

【0025】[0025]

【外2】 [Outside 2]

【0026】様に、波高値取込回路203(図2)に波
形読込み信号RDAj(j=1〜18)を出力する。こ
れらの動作の詳細については後述する。{本実施例の概略動作} 上記構成の実施例の動作につき
以下に説明する。
In this way, the waveform read signal RDAj (j = 1 to 18) is output to the peak value fetch 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 until the generation of a musical sound will be described. D1 of FIG. 10 is an analog representation of one string of the digital output D1 output from the pitch extraction analog circuit 1 of FIG. This waveform is obtained by picking one of the six strings of a guitar (not shown) and outputting an electric signal detected from the corresponding pickup as a digital signal. The fret (not shown) of the string is output. A waveform having a pitch period as shown in FIG. 10T 0 to T 5 is generated according to the position to be pressed on the fingerboard.

【0028】本実施例では、このピッチ周期T0 〜T5
等をリアルタイムで抽出することにより、図1のMCP
3がそれに対応する音高情報を生成し、図1の楽音発生
回路501でその音高の楽音を発音させる。従って、特
には図示しないトレモロアームによって、演奏中に演奏
者が弦の張力を変化させたような場合、それに従ってデ
ィジタル出力D1のピッチ周期が変化するため、音高情
報もそれに従ってリアルタイムで変化し、楽音に豊かな
表現を付加することができる。
In the present embodiment, this pitch period T 0 to T 5
, Etc. in real time to extract the MCP of FIG.
3 generates pitch information corresponding to the pitch information, and the musical tone generating circuit 501 of FIG. 1 causes the musical tone of that pitch to be generated. Therefore, when the performer changes the tension of the strings during the performance by a tremolo arm (not shown), the pitch period of the digital output D1 changes accordingly, and the pitch information also changes in real time accordingly. , It is possible to add rich expressions 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 of FIG. 10 are detected, and especially when the MCP 3 of FIG. 1 rises (when picking a string). By creating volume information based on the maximum peak value a 0 of) and transferring it to the tone generation circuit 501, it is possible to generate a tone having a volume corresponding to the picking strength of the string.

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

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

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

【0033】上記動作は、ギターの6弦分の時分割ディ
ジタル出力D1について時分割処理されるため、楽音発
生回路501からは6弦分の楽音を聴覚的に同時に発音
させることができる。そして、これらの楽音は、自由な
音量・音色に設定でき、電子的に各種の効果を付加でき
るため、極めて大きな演奏効果が得られる。{ピッチ抽出ディジタル回路の動作} 上記動作を実現す
るための本実施例の動作につき、以下に詳細に説明を行
ってゆく。(概略動作) まず、図1又は図2のピッチ抽出ディジタ
ル回路2の動作について説明を行う。なお、以下の説明
においても1弦分についてのみ説明し、シリアルゼロク
ロス信号ZCR、ディジタル出力D1、最大・最小ピー
ク値検出信号MAX,MINは1弦分のイメージで説明
するが、実際には6弦分について時分割処理されてい
る。
Since the above operation is time-division-processed with respect to the time-division digital output D1 for six strings of the guitar, the musical-tone generating circuit 501 can produce six strings of musical sounds aurally at the same time. Since these musical tones can be set to any volume and tone color and various effects can be added electronically, an extremely large performance effect can be obtained. {Operation of Pitch Extraction Digital Circuit} The operation of the present embodiment for realizing the above operation will be described in detail below. (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 will be 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 with the image of one string. Minutes are time-shared.

【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 circuit 2, for each string, the digitizer shown in FIG.
Peak value a from the output D10~ A 3Or b0~ B3etc
And at the same time, the zero-cross time t immediately after each peak value
1~ T7Etc., and further immediately before each zero-cross time
Information that indicates 1 or 0 is extracted depending on whether the peak value is positive or negative.
And supplies it to MCP3 in FIG. Based on this, MC
P3 is the pitch of FIG. 10 from the interval of the zero cross time.
Cycle T0~ TFiveEtc., and other various music
Generates sound information, and if necessary, as described later,
Error handling, note-off (silence) processing, relative on
・ Turn off processing.(Detailed operation) Therefore, the peak detection circuit 201 of FIG.
Then, the digital output D1 input as shown in FIG.
In contrast, first, in the part where the value becomes negative, its absolute value
When x exceeds 0 x0Then, as shown in FIG.
The small peak value detection signal MIN becomes high level.

【0035】これにより、図2の波高値取込回路203
は、上記最小ピーク値検出信号MINがハイレベルとな
った直後のタイミングx1 で、別に入力するディジタル
出力D1から最小ピーク値(負側の波高値)b0 (絶対
値)を検出して特には図示しないラッチにホールドし、
これと共に最小ピーク値検出信号MINをローレベルに
戻す。
As a result, the peak value acquisition circuit 203 of FIG.
Is the timing x 1 immediately after the minimum peak value detection signal MIN becomes high level, and detects the minimum peak value (peak value on the negative side) b 0 (absolute value) from the separately input digital output D 1 and Hold in a latch not shown,
At the same time, the minimum peak value detection signal MIN is returned to 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 output as a high-level or low-level binary digital signal from a comparator (not shown) in the pitch extraction analog circuit 1 which determines whether the digital output D1 is positive or negative in accordance with the determination.

【0037】そして、ゼロクロス時刻取込回路204で
は、前記ピーク検出回路201から出力される最小ピー
ク値検出信号MINがタイミングx0 でハイレベルとな
った直後に、シリアルゼロクロス信号ZCRが変化する
エッジタイミング、すなわち、ディジタル出力D1のゼ
ロクロス時点で、図2のタイムベースカウンタ2041
で計時されている時刻t0 (図10)をラッチする。な
お、このラッチデータの最上位ビットに、直前のピーク
値が正であるか負であるかを示す1または0の正負フラ
グ(最小ピーク値b0 に対しては0となる)が付加され
る。
In the zero-cross time acquisition circuit 204, immediately after the minimum peak value detection signal MIN output from the peak detection circuit 201 becomes high level at the timing x 0 , the serial zero-cross signal ZCR changes the edge timing. , That is, at the time of zero crossing of the digital output D1, the time base counter 2041 of FIG.
The time t 0 (FIG. 10) clocked at is latched. A positive or negative flag of 1 or 0 (which indicates 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 this latch data. ..

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

【0039】そして、割り込み信号INTの出力の後、
図1のMCP3からアドレスデコーダ4を介して行われ
るアクセス(後述する)により、上記正負フラグを含む
ゼロクロス時刻及び最小ピーク値b0 が、バスBUSを
介してMCP3に転送される。なお、以上の処理は6弦
分について時分割処理されているため、後述するよう
に、上記各情報の出力の前に、どの弦番号について上記
割り込みが発生したのかを示す情報を、ゼロクロス時刻
取込回路204からMCP3に出力する。
Then, after outputting the interrupt signal INT,
By the access (described later) performed from the MCP 3 of FIG. 1 via the address decoder 4, the zero-cross time and the minimum peak value b 0 including the positive / negative flag are transferred to the MCP 3 via the bus BUS. Since the above processing is time-divisionally processed for 6 strings, as will be described later, before output of each information described above, information indicating which string number the interrupt has occurred is acquired at the zero cross time point. Output from the built-in circuit 204 to MCP3.

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

【0041】これにより、前記と全く同様にして、図2
の波高値取込回路203で、最小ピーク値検出信号MI
Nがハイレベルとなった直後のタイミングx3 で次の最
小ピーク値b1 (絶対値)がホールドされ、図2のゼロ
クロス時刻取込回路204で、上記最小ピーク値b1
発生直後の正負フラグ(この場合も0)を含むゼロクロ
ス時刻t2 がラッチされ、割り込み信号INTの送出
後、MCP3に転送される。
As a result, as shown in 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 The zero-cross time t 2 including the flag (also 0 in this case) is latched, transferred to the MCP 3 after sending the interrupt signal INT.

【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 value b 0 to b 3 (absolute value) for the negative side of 1,
The maximum peak value a 0 with respect to the positive side of the digital output D1 is performed in exactly the same manner as 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 -q 3, etc. ~a 3 detection, such as, the zero-crossing time t 1, t 3, t
5 , t 7 etc. detection and peak hold signals p 0 to p 3
Output operations such as are performed in parallel. In this case,
Maximum peak value detection signal MAX from the peak detection circuit 201
Is output as shown in FIG. 10, and in the peak value acquisition circuit 203 and the zero-cross time acquisition circuit 204 of FIG.
Based on this signal MAX, maximum peak values a 0 to a 3, etc.,
And zero-cross times t 1 , t 3 , t 5 , t 7, etc. including the positive and negative flags (in this case, 1 because it is a 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において、最小ピーク値(負側のピーク値)であ
るのか最大ピーク値(正側のピーク値)であるのかの判
定は、ゼロクロス時刻の最上位ビットに付加されている
前記正負フラグにより可能である。
By the above-described operation, the interrupt signal INT is output from the zero-cross time acquisition circuit 204 of FIG. 2 at each time of the zero-cross times t 0 to t 7 of FIG.
It is output to CP3, and b 0 and t 0 , a 0 and t 1 , b 1 and t 2 , a 1 are set as a set of the minimum or maximum peak value (absolute value) and zero-cross time for each time based on this. , T 3 , ... Are sequentially output to the MCP 3 . Where M
In CP3, it is possible to determine whether the peak value is the minimum peak value (negative peak value) or the maximum peak value (positive peak value) by the positive / negative flag added to the most significant bit at the zero-cross time. is there.

【0044】なお、上記動作の他に、図2の波高値取込
回路203はMCP3からのアクセスによりディジタル
出力D1の瞬時値を任意に出力できる。これについては
後述する。
In addition to the above operation, the peak value fetch 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 respective decay rates (time constants) of the peak hold signals p 0 to p 3 , q 0 to q 3 etc. of FIG. 10 generated by the peak hold circuit in the peak detection circuit 201 of FIG.
Is a time constant conversion control circuit 20 of FIG. 2 under the control of MCP3.
It is changed at any time by 2.

【0046】基本的には、ディジタル出力D1の例えば
1ピッチ周期時間が経過した後に、上記ピークホールド
信号が急速に減衰するようにその時定数を変更する。そ
して、このときのピッチ周期情報の設定は、図1のMC
P3が後述する動作により、各ピッチ周期の抽出を行っ
た後にバスBUSを介して、時定数変換制御回路202
内の時定数変換レジスタCHTRR(後述する)にピッ
チ周期情報をセットして行う。これにより、時定数変換
制御回路202は、内部に設けられた特には図示しない
各弦独立のカウンタと、MCP3から時定数変換レジス
タCHTRRに設定されたピッチ周期情報との一致比較
を行い、ピッチ周期時間が経過して一致出力が発生した
時点で、時定数チェンジ信号を前記ピーク検出回路20
1へ送出する。この動作により、ピークホールド信号は
1ピッチ周期の時間が経過すると、急速に減衰し、これ
により次のピッチ周期のピークが適切に検出される。
Basically, the time constant is changed so that the peak hold signal is rapidly attenuated after, for example, one pitch cycle time of the digital output D1. Then, the setting of the pitch period information at this time is performed by the MC of FIG.
The time constant conversion control circuit 202 via the bus BUS after each pitch period is extracted by the operation of P3 described later.
Pitch cycle information is set in a time constant conversion register CHTRR (described later) in the table. As a result, the time constant conversion control circuit 202 performs coincidence comparison between the internal counters of the respective strings (not shown) provided therein, which are not shown in particular, and the pitch cycle information set in the time constant conversion register CHTRR from the MCP 3 to compare the pitch cycle. When a coincidence output is generated as time passes, the time constant change signal is sent to the peak detection circuit 20.
Send to 1. By this operation, the peak hold signal is rapidly attenuated when the time of one pitch period elapses, whereby the peak of the next pitch period is properly detected.

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

【0048】また、各弦の振動周期は、演奏者がフレッ
ト上で当該弦を押さえる位置によって幅広く変化するた
め、ディジタル出力D1の各弦に対応する波形の立ち上
がり時には、その波形の振動を速やかに検知すべく、各
弦の最高音周期時間経過にてピークホールド信号が急速
減衰し、その直後は、各ピッチ周期の倍音を拾わないよ
うに、各弦の開放弦周期(最低音周期)時間経過にて急
速減衰するように設定が行われる。そして、ピッチ周期
が有効に抽出された後は、当該ピッチ周期時間経過にて
急速減衰するように設定が行われ、演奏操作によるディ
ジタル出力D1の各弦のピッチ周期の変化に追従する。
Further, since the vibration cycle of each string varies widely depending on the position on the fret where the string is held by the player, when the waveform corresponding to each string of the digital output D1 rises, the vibration of that waveform is promptly changed. In order to detect, the peak hold signal is rapidly attenuated at the time of the highest tone cycle of each string, and immediately after that, the time of the open string period (lowest tone period) of each string elapses so as not to pick up the overtone of each pitch period. The setting is made so that it rapidly decays. Then, after the pitch cycle is effectively extracted, the setting is made so that the pitch cycle time is rapidly attenuated, and changes in the pitch cycle of each string of the digital output D1 due to the performance operation are followed.

【0049】更に、ピッチ検出回路201において、正
負どちらのピーク値に対して上記ピークホールドの制御
を行うかは、シリアルゼロクロス信号ZCRがハイレベ
ルであるかローレベルであるかによって判定するように
している(図10参照)。{中央制御装置(MCP)の動作} 以上の動作により、
図1のピッチ抽出回路2から供給される最大又は最小ピ
ーク値、ゼロクロス時刻、およびピーク値の正負を示す
正負フラグに基づいて、図1のMCP3が、ピッチ抽出
及び音量・音色に関するパラメータの抽出を行うことに
より、楽音発生回路501を制御するための楽音制御情
報を発生する。なお、MCP3はROM301に記憶さ
れたプログラムに従って、以下に詳細に説明するように
図3〜図9に示す動作フローチャートを実行する。(変数の説明) はじめに、後述する図3〜図9の動作フ
ローチャートで示される制御プログラムにおいて用いら
れる各変数について、以下に列挙しておく。
Further, in the pitch detection circuit 201, whether the peak hold control is performed for positive or negative peak value is determined by whether the serial zero-cross signal ZCR is high level or low level. (See FIG. 10). {Operation of central controller (MCP)} By the above operation,
Based on the maximum or minimum peak value, the zero-cross time, and the positive / negative flag indicating whether the peak value is positive or negative, which is supplied from the pitch extraction circuit 2 of FIG. 1, the MCP 3 of FIG. 1 performs pitch extraction and extraction of parameters relating to volume and tone color. By performing this, musical tone control information for controlling the musical tone generating circuit 501 is generated. 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 later will be listed below.

【0050】AD・・・図1のピッチ抽出ディジタル回
路2への入力波形D1を直接読んだ入力波高値(瞬時
値) AMP(0,1)・・・正又は負の前回(old )の波高
値(ピーク値) AMRL1・・・振幅レジスタで記憶されているリラテ
ィブ(relative)オフ(off )のチェックのための前回
の振幅値(ピーク値)である。ここで、前記リラティブ
オフとは波高値が急激に減衰してきたことに基づき消音
することで、フレット操作をやめて開放弦へ移ったとき
の消音処理に相当する。
AD: Input crest value (instantaneous value) obtained by 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 ... Previous amplitude value (peak value) for checking relative off (off) stored in the amplitude register. Here, the relative off corresponds to a muffling process when the fret operation is stopped and the string moves to an open string by silencing the cue value when the crest value is rapidly attenuated.

【0051】AMRL2・・・振幅レジスタで記憶され
ている前記リラティブオフのための前々回の振幅値(ピ
ーク値)で、これにはAMRL1の値が入力される。
AMRL2 ... The amplitude value (peak value) of the previous two times for the relative off stored in the amplitude register, and the value of AMRL1 is input to this.

【0052】CHTIM・・・最高音フレット(22フ
レット目)に対応する周期 CHTIO・・・開放弦フレットに対応する周期 CHTRR・・・時定数変換レジスタで、上述の時定数
変換制御回路202(図2)の内部に設けられている。
CHTIM ... Cycle corresponding to highest tone fret (22nd fret) CHTIO ... Cycle corresponding to open string fret CHTRR ... Time constant conversion register, and time constant conversion control circuit 202 (see 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 ... Flag indicating that the waveforms have successively come in the same direction, FOFR ... Relative off counter, HNC ... Waveform number counter MT ... Flag on the side from which pitch extraction is to be performed (positive =
1, Negative = 0) NCHLV ... No change level (constant) OFTIM ... Off time (equivalent to the open string period of the string in question) OFPT ... Normal off check start flag ONF ... Note on flag RIV・ ・ ・ Flag for switching the processing route in step (STEP) 4 which will be described later ROFCT ・ ・ ・ Constant that determines the number of times of checking of relative off STEP ・ ・ ・ Register for specifying the flow operation of MCP3 (1-5) Take a value) TF ... Previous zero-cross time data that became valid TFN (0, 1) ... Previous zero-cross time data immediately after the positive or negative peak value TFR ... Time storage register THLIM ... Frequency upper limit (constant) TLLIM ... Frequency lower limit (constant) TP (0, 1) ... Positive or negative previous cycle data T LAB (0, 1) ... Positive or negative absolute trigger level (note-on threshold) TRLRL ... Relative-on (re-production start) threshold TRLRS ... Resonance elimination threshold TTLIM ... -Lower frequency limit at the time of trigger TTP ... Cycle data extracted last time TTR ... Cycle register, TTU ... Constant (product of 17/32 and this cycle information tt) TTW ... Constant (31/16) And the current cycle information tt) VEL ... Information that determines the velocity (velocity), and is determined by the maximum peak value of the waveform at the start of sounding.

【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 an abnormal or normal state b: Current positive / negative flag stored in the working register B (1 at the zero point next to the positive peak, at the zero point next to the negative peak) 0) c ... Current peak value (peak value) stored in working register C e ... Pre-previous peak value (peak value) stored in working register E h ... Stored in working register H The cycle data extracted before two times t ... the current zero-cross time stored in the working register T0 tt ... the current cycle information stored in the working register TOTO (operation of the interrupt processing routine) Figure 3 shows MCP
3 is a diagram showing an operation flowchart of an interrupt processing routine showing a process when an interrupt is issued by the interrupt signal INT from the zero-cross time acquisition circuit 204 (FIG. 2) in the pitch extraction digital circuit 2.

【0055】前記したように、ゼロクロス時刻取込回路
204から割り込み信号INTが出力される時点におい
ては、図2の波高値取込回路203には最大又は最小ピ
ーク値(絶対値)がホールドされ、ゼロクロス時刻取込
回路204には当該ピーク値発生直後のゼロクロス時
刻、及び直前のピーク値が最大(正の)ピーク値である
場合1、最小(負の)ピーク値である場合0を示す正負
フラグがラッチされている。
As described above, at the time when the interrupt signal INT is output from the zero-cross time acquisition circuit 204, the maximum or minimum peak value (absolute value) is held in the peak value acquisition circuit 203 of FIG. The zero-cross time acquisition circuit 204 has a positive / negative flag indicating 1 when the zero-cross time immediately after the peak value is generated and the immediately preceding peak value is the maximum (positive) peak value, and 0 when 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. 3, and the zero cross time acquisition circuit 204 in FIG.
In response, a string number reading signal other than 3 is output.
From this 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 M via the bus BUS.
It is output to CP3. Subsequently, the MCP 3 sets another address read signal AR in the address decoder 4, and instructs the zero-cross time acquisition circuit 204 to output a signal corresponding to the above-mentioned string number among the time read signals outside 4 to outside 5.

【0059】[0059]

【外4】 [Outside 4]

【0060】[0060]

【外5】 [Outside 5]

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

【0062】[0062]

【外6】 [Outside 6]

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

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

【0065】その後、図3のI3において、MCP3は
前記と同様にアドレスデコーダ4を介して、図2の波高
値取込回路203に対して、ピーク値読み込み信号 外
Thereafter, at I3 in FIG. 3, the MCP 3 outputs the peak value read signal outside 7 to the peak value fetch 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 in the circuit 203, since there are 12 latches for holding the maximum peak value and the minimum peak value for 6 strings, the MCP 3 is based on the string number and the positive / negative flag b. , And select and output the above-mentioned peak value read signal outside 8. This allows the same circuit 20

【0068】[0068]

【外8】 [Outside 8]

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

【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 minimum peak value (absolute value) is output to the MCP3 via the bus BUS. This is set as the current peak value c, as indicated by I3 in FIG. After the above operation, at I4 of FIG. 3, the values of t, c and b obtained as described above are set in the registers T0, C and B (not shown) in the MCP3. Each time the interrupt process is performed, the zero-cross time information, the peak value information (absolute value), and the positive / negative flag information indicating the type of peak are written as one set in this register. In the routine, the information for each string is processed.

【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 the 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, for the sake of simplicity, the processing for one string will be described below. (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 musical sound, and STEP0 to STEP4 (or 5)
The process of selecting each process is performed. In the present embodiment, the tone control process is performed by the concept of step, as described later, and as described later, STEP0 → STEP1 → S.
TEP2 → STEP3 → STEP4 (→ STEP5) →
Tone control is performed in the order of STEP0. << Basic Operation >> In FIG. 4, first, by turning on the power (turning on the power), various registers and flags are initialized in M1, and the register STEP is set to 0. Further, in this case, as described in the explanation 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 rising edge of the waveform of
Via the bus BUS to the time constant conversion register CHTRR in the time constant conversion control circuit 202, the highest tone fret period CH
A peak hold signal output from the peak hold circuit in the peak detection circuit 201 with TIM set (see FIG. 10).
p 0 or q 0 ) is controlled so as to rapidly decay at the elapse of the highest tone cycle time.

【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, in M2 of FIG. 4, it is judged whether or not the register described in the above-mentioned "operation of the interrupt processing routine" is empty, and if NO (hereinafter referred to as NO), M is determined.
In step 3, the contents of the registers B, C and T0 are read.
Next, in M4, some values of the register STEP are judged, and in M5, STEP0 and in M6, STEP is determined.
1, M7, STEP3 in M2, STEP3 in M8, and STEP4 in M9. In addition, the update to the next step is performed in each of STEP0 to STE as described later.
It is performed in the process of P4. << Note-off operation >> If the buffer is empty in M2, that is, if yes (hereinafter referred to as YES), M10
The process proceeds to the process from M19 to M19 where the normal note-off algorithm process is performed. This note-off algorithm is an algorithm for performing note-off when the peak value of the digital output D1 (FIG. 1) is below the OFF level for a predetermined off-time.

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

【0075】M11では、その時点のディジタル出力D
1の入力波高値(瞬時値)ADが直接読まれる。これ
は、MCP3がアドレスデコーダ4を介して、波高値取
込み回路203(図2)へピーク値読み込み信号 外1
0 〜 外11 のいずれかを
At M11, the digital output D at that time
The input peak value (instantaneous value) AD of 1 is directly read. This is because the MCP 3 outputs the peak value read signal to the peak value fetch circuit 203 (FIG. 2) via the address decoder 4.
Either 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に進む。
By giving this, the circuit 203 outputs the current instantaneous value of the digital output D1 to 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 the preset off level. If NO, note-off is not necessary, and therefore the process returns to M2, 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 judged whether or not the previous input crest value AD is below the off level, and if NO, then M1
7, the timer 303 in MCP3 is started, and M2
Return to. Then, the next time this process is performed again, M1
2 becomes YES, so the process proceeds 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
0 is written in and the highest tone fret period CHTIM is set in the time constant conversion register CHTRR, and then the process proceeds to M16 via M15 (described later). That is, when the level of the digital output D1 is attenuated, it can be determined that the digital output D1 is not input and the string is no longer plucked when the input peak value AD below the off level continues for a time corresponding to the off-time OFTIM. The process of note-off is proceeded to.

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

【0081】なお、ステップM15において、通常の状
態ではYESの判断がなされるが、後述するような処理
によって、楽音の発音を指示していない場合でもレジス
タSTEPは0以外の値をとっていることがあり(例え
ばノイズの入力による)、そのようなときには、M1
4,M15の処理後M2へ戻ることで、STEP0へ初
期設定される。(STEP0の処理動作) 次に、図4のメインルーチン
において分岐して対応する処理を行う各ルーチンの詳細
について説明を行う。
In step M15, a YES determination is made in a normal state, but the register STEP has a value other than 0 even if the musical tone is not instructed by a process described later. (For example, due to noise input), in such a case M1
By returning to M2 after the processing of 4, M15, the initial setting is made to STEP0. (Processing Operation in STEP 0) Next, details of each routine for branching and performing the 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 of the main routine of FIG.
The operation flow of the processing of step 0 (STEP 0) shown as 5
It is a row chart. In this process, pitch extraction
Initial setting for processing, etc., and transition to the next STEP1
Perform processing. Explanation will be given below using the basic operation explanatory diagram of FIG.
I do. Note that FIG. 11 has the same waveform as FIG. "basic action" Now, the main routine of FIG. 4 is M2 and M1.
By repeating the 0 loop,
Pitch extraction as described in the section "Chin's movement"
Interrupts from the digital circuit 2 (Fig. 1)
Waiting for data to be input to registers T0, C, B
It

【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 above registers are read through M2 to M3 in FIG. 4, M
4 through M5, that is, STEP 0 of FIG. In this state, for example, as shown in FIG. 11, the current zero-cross time t = t 0 , the current positive / negative flag b = 0, the current peak value c is the minimum peak value from b = 0, and c = b 0 (absolute value).
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 higher than the absolute trigger level (positive threshold value for note-on) TRLAB (b). Note that this determination is executed for each of positive and negative polarities (maximum peak value or minimum peak value) based on the value of the positive / negative flag b this time, and the positive absolute trigger level TRL is set.
Ab (1) and negative side absolute trigger level TRLAB (0)
Can be empirically set to different values in consideration of a case where an offset is superimposed on the digital output D1 (FIG. 1). The same value may be used in an ideal system. Figure 1
In the example of No. 1, this time the minimum peak value c = b 0 (absolute value) and T
RLAB (b) = TRLAB (0) is compared, 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
Process 3 is executed. Here, first, the present positive / negative flag b is written in the flag MT, and 1 is written in the register STEP.
Is written to prepare for transition to the next step, and the zero-cross time t of this time is set as the previous zero-cross time data TFN (b) for 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 とな
る。
Then, in S04, "Explanation of variables"
Other flags (excluding constant values) other than the above-mentioned flags shown in the section (4) are initialized. Further, in S05, the current peak value c is the previous peak value AM for the subsequent processing.
It is set as P (b) (absolute value), and the process returns to M2 of the main routine of FIG. In the example of FIG. 11, AMP (b) = AMP (0) = c = b 0 as shown in the figure.

【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 the same figure (between STEP 0 → 1), and the previous zero-cross time on the negative side is written. Register TFN (0) to register T
The current zero-cross 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 Removal Operation >> In S01 of FIG. 5, if the value of the current peak value c is equal to or less than the absolute trigger level TRLAB (b), the process of sound generation (note-on) does not proceed, and S
In 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 eventually the determination result of S01 in FIG. 5 becomes YES, The process moves to S02. However, in such a case, since the regular picking is not performed, it is not appropriate to shift to the operation of sounding (note-on). Therefore, the resonance is removed in the process of S02. That is, in the above case, since the current peak value c is not substantially larger than the previous peak value AMP (b), the difference c-AMP (b) is not larger than the resonance removal threshold TRLRS. Has
When it is determined that the resonance state has occurred, the process does not proceed to the tone generation process, and only 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 rises sharply, and the peak value difference c-AMP (b) becomes the resonance elimination threshold value TR.
When the LRS is exceeded, the process proceeds from S02 to S03 as described above. << Relative-on Entry Operation >> In FIG. 5, A is a relative-on (start of re-sound generation) entry described later, and jumps to S06 from the flow of STEP4 described later. Then, in S06, the musical tone that has been output so far is once erased (note-off), and the process proceeds to S03 in order to start re-generation. The process for starting re-sounding is similar to that at the start of normal sounding and is as described above. Here, note-off processing of S06 is performed by the above M of FIG.
This is the same as the processing of 16. (Processing Operation of STEP1) Next, FIG. 6 is an operation flowchart of the processing of step 1 (STEP1) shown as M6 of the main routine of FIG. In this process, the initial setting for the pitch extraction process following STEP0 and the subsequent transition process to STEP2, or the double process (error process) when a strange waveform is input are performed. << Basic Operation >> First, after the initial setting for the first data is performed in STEP0, in the main routine of FIG. 4, the pitch extraction digital circuit 2 (FIG. 4) is repeated by repeating the loop of M2 → M10 → M11 → M2. The interrupt is applied again from 1) and waits 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 above registers are read through M2 to M3 in FIG. 4, M is read.
4 through M6, that is, STEP 1 of FIG. In this state, for example, as shown in FIG. 11, the current zero-cross time t = t 1 , the current positive / negative flag b = 1, and the current peak value is the maximum peak value c = a 0 since b = 1.

【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 of FIG. 6 (which will be described later), in S12, the value of the peak value c at this time is exactly the same as that described in S01 of FIG. 5 in the section "Processing operation of STEP0". But the absolute trigger level TRLA
It is determined whether or not it is larger than B (b). In the example of FIG. 11, the maximum peak value c = a 0 and TRLAB (b) = T this time.
RLAB (1) is compared, 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 in the register STEP to prepare for transition to the next step. Subsequently, in S14, the current zero-cross time t of 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 processing of M2 of the main routine of FIG. In the example of FIG. 11,
As shown in the figure, TFN (1) = t = t 1 , AMP
(1) = c = a 0 . The contents of MT are not rewritten and remain 0. << Dubliation Processing Operation >> When the normal digital output D1 as shown in FIG. 11 is input, after the negative (positive) side minimum (large) peak value (absolute value) is extracted in STEP0, , STEP 1 oppositely, the maximum (small) peak value on the positive (negative) side is extracted. Therefore, S11 in FIG.
In this case, the positive / negative flag b = 1 (0) this time is STEP0.
Since it is different from the flag MT = 0 (1) set in step S1, the process proceeds to step S12 as described above.

【0091】ところが、場合により、STEP0の後に
STEP1で図12(a) 又は(b) に示すような波形が入
力することがある。この場合、STEP0で負側の最小
ピーク値b0 が抽出された後、STEP1で再び負側の
最小ピーク値b1 がダブって抽出される。従って、図6
のS11においては、今回正負フラグはb=0となり、
STEP0でセットされたフラグMT=0と一致する。
この場合は、図6のS16に進み、ダブリ処理(エラー
処理)を行う。
However, in some cases, a waveform as shown in FIG. 12 (a) or 12 (b) may be input in STEP1 after STEP0. In this case, after the minimum peak value b 0 of the negative side it is extracted with STEP0, the minimum peak value b 1 again negative in STEP1 is extracted I dub. Therefore, FIG.
In S11 of, the positive / negative flag this time becomes b = 0,
This matches the flag MT = 0 set in STEP0.
In this case, the process proceeds to S16 of FIG. 6 and the duplication process (error process) 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. 12 (a), c = b 1 > AMP
(B) = AMP (0) = b 0 does not hold. In such a case, the minimum peak value b 1 of this time is ignored as a strange waveform (hatched portion), STEP is not updated, the process returns to the process of M2 of the main routine of FIG. 4, and the next normal peak is input. Wait 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 of FIG. 12 (b), c = b1
> APM (b) = AMP (0) = b 0Holds. this
In such a case, the minimum peak extracted in the previous STEP 0
Value b 0Is ignored as a strange waveform (shaded area), S
Last negative cross set on TEP0
Time data TFN (0) and the previous peak value A on the negative side
This time, the contents of MP (0) will be changed by S14 and S15 in FIG.
The zero cross time t and the current peak value c
To change. That is, in the example of FIG. 12 (b), TFN (0) = t
= T1, AMP (0) = c = b1Becomes This dubli
After that, STEP is not updated (do not go through S13 in FIG. 6).
4) and returns to the process of M2 of the main routine of FIG.
Wait for a 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に次のデータが入力するのを待って
いる。
After the above operation, when a normal peak value is input, the above-described processing is performed by S11 → S12 → S13 → S14 → S15 in FIG. 6, for example, at t = t 1 as shown in FIG. Then, the processing shifts 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 process, the first pitch period detection for pitch extraction,
Velocity setting and transition processing to STEP 3, or error processing (double processing) when a strange waveform is input are performed. << Basic Operation >> First, after the processing in STEP1 is performed, in the main routine of FIG. 4, M2 → M10 → M1
By repeating the loop of 1 → M2, the pitch extraction digital circuit 2 (FIG. 1) again interrupts 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 above registers are read through M2 to M3 in FIG. 4, M
M4, that is, STEP 2 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 the minimum peak value c = b 1 since b = 0.

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

【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 larger than 7/8 times the previous peak value AMP (b) of the same sign. This processing will be described in detail later, but since the waveform picking the string normally attenuates smoothly and naturally, this determination becomes YES and the next S
After S23, the process proceeds to S24 (described later).

【0098】S24では、{(今回のゼロクロス時刻
t)−(同じ符号の前回のゼロクロス時刻データTFN
(b))}を演算することにより、第1回目のピッチ周
期を検出する。そしてこの結果を、後述するSTEP3
でのノートオン(発音開始)の条件として使用するため
に、前回周期データTP(b)として設定する。図11
の例では、同図に示すようにTP(0)=t−TFN
(0)=t2 −t0 となる。
At S24, {(current zero-cross time t)-(previous zero-cross time data TFN of the same code)
(B))} is calculated to detect the first pitch period. Then, this result is referred to as STEP 3 described later.
It is set as the previous cycle data TP (b) in order to be used as a condition of note-on (start of sound generation) in. 11
In the above example, 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)が演算できたため必要
なくなり消去される。
At S24, the zero-cross time t of this time is set to the previous zero-cross time data T for the subsequent processing.
It is set as FN (b). In the example of FIG. 11, TFN (0) = t = t 2 as shown in the figure. In addition, ST
The TFN (0) = t 0 set in EP0 is erased as unnecessary 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 to prepare for transition to the next step. Further, in S24, the current peak value c and the previous peak values AMP (0) and AMP (1) are set for the subsequent processing.
Among them, the largest value is set as the velocity VEL. The velocity VEL is used as a value for determining the volume of the musical sound as described later in STEP3. Similarly, the current peak value c is changed to the previous peak value AMP.
It is set as (b), and the process returns to the process of M2 of 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 is no longer necessary and is erased because the velocity VEL can be calculated. << Dubliation Processing Operation >> When the normal digital output D1 as shown in FIG. 11 is input, after the positive (negative) side maximum (small) peak value is extracted in STEP1,
On the contrary, in STEP 2, the minimum (large) peak value on the negative (positive) side is extracted. Therefore, the sign of the peak value in STEP2 in this case is opposite to that in STEP1, and is the same as that in STEP0. In S20 of FIG. 7, the positive / negative flag b = 0 (1) is set in STEP0 this time. Flag MT = 0 (1), 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 above-mentioned "STEP1 processing operation"
In the same manner as described in the description of the section “Operation of the double processing”, the waveform may be doubled in some cases, and the waveform as shown in FIG. 13 or 14 may be input after STEP1. 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 again extracted in STEP 2.
1 is dub and extracted. Therefore, in S20 of FIG. 7, the positive / negative flag this time becomes b = 1, which coincides with the flag MT = 0 set in STEP0. In this case, the process proceeds to S25 of FIG. 7 and the duplication process (error process) is performed.
It should be noted that peaks hatched with simple diagonal lines in FIGS. 13 and 14 are peak hold signals p 0 , p 1 and q of FIG. 13 or 14 generated from the peak hold circuit in the peak detection circuit 201 of FIG. This is the part that was not detected as a peak because it was not caught at 0 mag.

【0102】S25では、まず、ダブリフラグDUBを
1に設定した後(後述する)、S26に進み、今回ピー
ク値cの値が同じ符号の前回のピーク値AMP(b)よ
り大きいか否かが判定される。
In S25, first, the double flag DUB is set to 1 (described later), and then the process proceeds to S26, in which it is determined whether or not the value of the current peak value c is larger than the previous peak value AMP (b) of the same sign. To be 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, referring to FIG. 13, STEP0 (t = t
0), STEP1 (after t = t 1) of the process, if the STEP2 in t = t 2 is executed, c = a 1> AMP
(B) = AMP (1) = a 0 does not hold. That is, FIG.
The determination result of S26 is NO. In this case,
Ignore the maximum peak value a 1 this time as a strange waveform (the cross hatched area in the figure),
Does not update and returns to the process of M2 of the main routine of FIG. 4 and waits for input of the next normal peak. And
At t = t 3 , the minimum peak value c = b 1 is input, so that S20 of FIG. 7 becomes YES, and the processing of S21 → S22 → S23 → S24 is performed as in the case of FIG. At t = t 3 in FIG. 16, the process proceeds to the next STEP3. The previous cycle data TP (0) set in S24 of FIG. 7 is the difference between the current zero-cross time t 3 and the previous zero-cross time t 0 set in STEP 0, as shown in FIG. In addition, S described later
The starting point of the next period data Tx calculated in TEP3 is the peak (c = a 1 ) hatched with cross hatched lines as shown in the figure, so the previous zero-cross time set in STEP 1 is ignored. TFN (1) = t
Is 1 .

【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, conversely to the above, c = a
1 > AMP (b) = AMP (1) = a 0 holds. That is, the determination result of S26 in FIG. 7 is YES. In such a case, the maximum peak value a extracted in the previous STEP1
Ignoring 0 as a strange waveform (the hatched portion of the cross hatched in the figure), the previous zero-cross time data TFN (1) set in STEP1 and the previous peak value AMP (1) on the positive side. The contents of S2 in FIG.
9, the zero crossing time t of this time and the peak value c of this time
Replace with and change. That is, in the example of FIG. 14, TFN (1) = t = t 2 and AMP (1) = c as shown in FIG.
= A 0 . After this duplication processing, STEP returns to the processing of M2 of the main routine without updating, and waits for the input of the next normal peak value. Hereinafter, the processing after the minimum peak value c = b 1 is input at t = t 3 is the same as in the case of FIG. However, the peak extracted in STEP 1 (peak c = a 0 hatched with cross hatched lines in FIG. 14) is ignored and changed to the peak of c = a 1 , so TP calculated in STEP 3 described later The starting point of the period data T y next to (0) is ST
The previous zero-cross time TFN (1) = t 2 set in the double processing of EP2 is set, which 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 14, the peak with the smaller peak value is ignored as a strange waveform and error processing is performed. Next, the branch of S22 of FIG. 7 for the processing of other cases of the duplication processing will be described.

【0106】今、図7のSTEP2の処理が実行される
場合、弦をピッキングした正常な波形はなめらかに自然
減衰するため、S22において今回ピーク値の値は同じ
符号の前回のピーク値AMP(b)の7/8倍より大き
い値となり、S22の判定はYESとなって次のS23
に進む。
When the processing of STEP2 of FIG. 7 is executed, the normal waveform picking the strings naturally attenuates smoothly. Therefore, in S22, the current peak value is the same as the previous peak value AMP (b ) Is greater than 7/8 times, 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 hold. In the first case, for example, by picking a string near the bridge, the waveform may not be a normal but smooth decay waveform, and the determination result of S22 may be NO.
However, even in such a case, S24 in FIG.
Must be processed normally. Then, in this case, since the waveform is normal, the above-described duplication does not occur, and since the branch from S20 to S25 in FIG. 7 has not been performed before that, the value of the duplication flag DUB remains 0. .. Therefore, if DUB = 1 is not established in S27 of FIG. 7, S is re-established regardless of the determination result of S22.
Returning to the processing of 24, the processing described in the above "basic operation" is performed. The double flag DUB is the ST of 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 in which S22 of FIG. 7 is not established, there is a case where the above-mentioned duplication 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 in the case described with reference to FIG. 14, FIG.
As shown in, STEP0 (t = t 0), STEP1
(T = t1), T = t2At the dub
Re-processing is performed, c = a0Peak (cross diagonal line in the figure)
Hatched peaks) are removed and c = a1The pea
Ku (peaks with vertical lines in the figure) left
To do. The peaks with a simple hatching (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 duplication occurs as described above, the next t
= T 3 , the positive / negative flag is b =
Since it becomes 0, the flag MT =
Matches 0. Therefore, the process proceeds from S20 to S21 of FIG. 7 to S22. However, the current minimum peak value c = b 1 detected at t = t 3 is the same as the previous minimum peak value AMP (0) =
It is far away from b 0 and has large attenuation. Therefore, as shown in FIG. 15, the determination result of 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 that
The dubli flag D
The value of UB is 1. Therefore, the determination result of S27 of FIG. 7 is NO, and the process proceeds to S29 via S28 (described later).

【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 acquire a normal waveform after t = t 3 in FIG.
The previous zero-cross time data TFN (0) set in STEP0 and the previous peak value AMP on the negative side
The contents of (0) are 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) =
Since t = t 3 and AMP (0) = c = b 1 , the hatched peak (c = b 0 ) of the horizontal line in the figure is ignored. Note that the double flag DUB is reset to 0 in S28 of FIG. 7 for the subsequent processing. After these operations, the STEP value is not updated and the process returns to the process of M2 of the main routine of FIG. 4 to wait 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に次のデータが入力するのを待って
いる。
In the above case, as shown in FIG. 15, at t = t 4 and t = t 5 , STEP 2 of FIG. 7 is repeated, and then the process proceeds to STEP 3. Such STE
Since there are various patterns for the repeated 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 so 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 cycle data Ti calculated in STEP 3 described later is TFN (1) = t 4 . (Processing Operation of STEP3) Next, FIG. 8 is an operation flowchart of the processing of step 3 (STEP3) shown as M8 in the main routine of FIG. In this processing, note-on (start of sound generation) processing, extraction of pitch cycle for pitch setting at note-on, correction of the extracted pitch cycle according to the present invention, calculation of velocity, ST
Processing for shifting to EP4 and error processing when a strange waveform is input are performed. << Basic Operation >> First, after the processing in STEP3 is performed, in the main routine of FIG. 4, M2 → M10 → M1
By repeating the loop of 1 → M2, the pitch extraction digital circuit 2 (FIG. 1) again interrupts 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. 4, M
4 through M8, ie, STEP 3 in FIG. In this state, for example, as shown in FIG. 11, the current zero-cross time t = t 3 , the current positive / negative flag b = 1, and the current peak value is the maximum peak value c = a 1 since 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, through S30, S31 and S32 of FIG.
After that (described later), the velocity VEL is set in S33.
Calculate Now, in "Basic operation of STEP 2", "Basic"
As described in the section of “Operation”, in S24 of FIG.
The peak value of the last three times, b in the example of FIG.0, A0, B1
The maximum of each value (absolute value) of Velocity VEL
It is stored in. Therefore, in S33 of FIG.
Judges the greater of the lossy VEL and the current peak value c
Then, a musical tone is generated by the musical tone generating circuit 501 (FIG. 1).
New velocity VEL In the example of FIG.
Is VEL = a 0, C = a1Therefore, 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 ← b is set in S33 of FIG. 8 (described later), and then in S34.
The pitch cycle is detected by calculating {(current zero-cross time t)-(previous zero-cross time data TFN (b) with the same sign)}, and the previous cycle data TP (b)
Set as. In the example of FIG. 11, as shown in FIG.
P (1) = t 3 −t 1 .

【0117】続いて、図8のS35〜S38を経た後
(後述する)、S39において、上記S34で求まった
前回周期データTP(b)と、前記図7のS24におい
て設定された、上記TP(b)とは異極性の前回周期デ
ータ 外12 とが、ほぼ同一
Then, after passing through S35 to S38 of FIG. 8 (described later), at S39, the previous cycle data TP (b) obtained at S34 and the TP (set at S24 of FIG. 7 are set. b) is almost the same as the previous cycle data 12 of the 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 Then, if the determination result is YES, it is determined that the pitch period has started to be stably extracted, and after S301 (described later),
In step S302, note-on processing (start of sound generation) 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 almost the same, and the process proceeds to the note-on process. 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.
Volume information is generated on the basis of the velocity VEL calculated in step 1, and the previous pitch period TP (b) is set to 1.02.
The corresponding pitch information is generated based on the correction value obtained by the multiplication. That is, the pitch period is corrected to be 2% longer. As described above, it is a great feature of this embodiment that pitch information is generated after the pitch period is corrected at the start of sound generation, and as a result, as described in the section "Outline of operation of this embodiment". , It is possible to prevent the pitch period from being extracted at the beginning of sound generation and the pitch information of a higher pitch to be specified. The volume information and the pitch information generated by the above processing are output to the musical tone generation circuit 501 via the MIDI-BUS and the interface MIDI of FIG. Then, in the circuit 501, musical tones having a volume and a pitch corresponding to the above information are 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 of FIG. 8 is performed for each of the 6 strings of the guitar, the above processing is also performed independently for each of the 6 strings. With the above note-on processing,
After setting the parameters used in the next STEP4 in S38 and S301 of FIG.
After 02, the process returns to M2 of the main routine of FIG.
The process proceeds to the next STEP4. That is, in S38, S3
The previous cycle data TP (b) extracted in 4 is set as the cycle data TTP previously extracted, and the previous zero-cross time data set in S24 of STEP2 of FIG.

【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 time is set in TFR, the current zero-cross time data t is set as the last valid zero-cross time data TF, the waveform number counter HNC is cleared to 0, the value of the register STEP is updated to 4, and the note 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 maximum MAX, and the previous amplitude value AMRL1 for the relative off check is cleared to 0. It Each of these parameters will be described later in STEP 4. << Operation in Case of Improper Cycle >> When the previous cycle data TP (b) is detected in S34 of FIG. 8, this pitch cycle has a value larger than the cycle when the corresponding string is played at the highest fret. And has 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, as a constant called the upper frequency limit THLIM, a pitch period of a half tone above the pitch determined by the highest fret of the string currently being processed is set, and as a constant called the lower frequency limit TTLIM, the same string is set. Set a pitch cycle of about 5 semitones below the pitch determined by the open string state of S.
36, S37, the previous cycle data TP (b) obtained in S34 is larger than THLIM, and TTLI
It is determined whether or not it is smaller than M. Then, if both of the above determination results are YES, the process proceeds to S39 and the cycle determination process described above is performed.

【0125】ここでS36、S37の判定結果がNOの
場合、S34で抽出された前回周期データTP(b)は
適切な値でないことになる。従って、このような場合
は、S36又はS37から図4のメインルーチンのM2
の処理に戻りSTEP3を繰り返す。
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, from S36 or S37 to M2 of the main routine of FIG.
The process returns to step 3 and STEP 3 is repeated.

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

【0127】[0127]

【外14】 [Outside 14]

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

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

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

【0131】そこで、図8のS31においては、連続す
るピーク値が大きく変化した場合には、ノイズが発生し
ていると判断して異常検知フラグXを1にセットし、S
35においてNOの判定をさせることにより、ノイズ部
分に基づいてノートオンしないようにしている。
Therefore, in S31 of FIG. 8, if a continuous peak value changes greatly, it is determined that noise is occurring and the abnormality detection flag X is set to 1, and S
By making a NO determination at 35, note-on is prevented 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 ⅛ of the current peak value c is smaller than the previous peak value AMP (b) having the same sign as that, it is judged to be normal, and X = 0 is set. Let X = 1. Then, when it is determined in S35 that X = 0 is not satisfied, M2 of the main routine of FIG.
The process returns to step 3 and STEP 3 is repeated. In this case, since the previous peak value AMP (b) is sequentially updated in S32 of FIG. 8, the processing in S31 is performed for the most recently detected peak value and the peak value of the same sign immediately before that, When the continuous peak values do not change significantly, the process shifts to the note-on process. FIG.
In this example, both t = t 3 and t = t 4 are set to X = 1 at S31, so no note-on occurs. At t = t 5 , it is determined that a normal peak is input for the first time, and X = 0. , Note on at t = t 5 . And in this case,
The continuous pitch period TP (b) and the outer 15 are not normal values.

【0133】[0133]

【外15】 [Outside 15]

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

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

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

【0137】これに対して、ダブったピークのピーク値
cの方が大きかった場合は、S303の判定結果はYE
Sとなり、S304の処理へ進む。そして、S304で
は直前のピークの方を無視して、AMP(b) の内容を今
回のピーク値cに設定し直し、ベロシティVELをその
値を使って計算し直した後、図4のM2に戻ってSTE
P3を繰り返す。これは、図14の場合等と同様の考え
方による。
On the other hand, when the peak value c of the doubled peak is larger, the determination result of S303 is YE.
The process proceeds to S and the process proceeds to S304. Then, in S304, the immediately preceding peak is ignored, the content of AMP (b) is reset to the current peak value c, and the velocity VEL is recalculated using the value, and then M2 in FIG. 4 is set. Return to STE
Repeat P3. This is based on the same idea as in the case of 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, a normal peak is input, so that the determination result in S30 is YES, and further,
Each determination result of S35, S36, S37 and S39 is Y.
When the status becomes ES, the note-on process is performed, and the pronunciation of a musical sound is started. (Processing operation of STEP4) Next, FIG. 9 is an operation flowchart 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 cycle is not appropriate, double processing, and the like are performed. Although this processing is not directly related to the present invention, it is important for performing pitch control of musical tones,
The explanation will be made sequentially. First, in the pitch extraction / change process, there are routes for only pitch extraction and routes for actually changing the pitch, and normally, they are alternately repeated every time a new peak is input. << Route Operation >> First, S40, S41, S42, S
The routes shown in 63 to S67 will be described. S40
At, the waveform number counter HNC> 3 is determined, and if 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, it will be described later). To). In S42, this time positive / negative flag b = flag M
In other words, it is determined whether T, that 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 operation proceeds to S42. Then, for example, in the case of the waveform input as shown in FIG. 11, t = t 4
At b = 0 and MT = 1 (S33 of STEP3 of FIG. 8)
It has been rewritten in), so S42 to S63
Go 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 the peaks having the same polarity are continuously input (whether the peaks are double), and if YES (when the peaks are double). S6)
Proceed to step 8 to perform double processing (described later), and NO
If (no duplication), the process proceeds to S64, where the following process is performed.

【0141】即ち、S64では今回ピーク値cが前回の
ピーク値AMP(b)に入力され、リラティブオフ処理
(後述する)のために前回の振幅値AMRL1が前々回
の振幅値AMRL2に入力される。なお、始めはAMR
L1の内容は0である。(図8のSTEP3のS301
参照)。
That is, at 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 amplitude value AMRL2 of the previous two times for the relative off processing (described later). At first, AMR
The content of L1 is 0. (S301 of STEP3 of FIG. 8
reference).

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

【0143】[0143]

【外16】 [Outside 16]

【0144】のうちいずれか大きい値が前回振幅値AM
RL1に入力される。つまり、周期の中で2つある正、
負のピーク値について大きい値のピーク値が振幅値AM
RL1にセットされる。
Whichever is larger is the previous amplitude value AM.
Input to RL1. In other words, there are two positives in the cycle,
Amplitude value AM is larger than negative peak value.
It is 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 NC> 8, and here the waveform number counter (zero cross counter not on the pitch change side) HNC
Is incremented by 1 and is upgraded. 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-cross time t, and the result is input to the period register TTR. This cycle register TTR has cycle information TTR =
shows the t-TFR = t 4 -t 2 . Then, the zero-cross time t of this time is saved in the time storage register TFR,
After that, the process returns to M2 of 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 processed as follows 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 larger)}, H
NC ← {HNC + 1} = 1, RIV ← 1, TTR ← {t
−TFR} = {t 4 −t 2 } and TFR ← t = t 4 . Therefore, the difference in the time information from the previous zero-cross point t = t 2 (change point of STEP2 → 3) of the same polarity to the current zero-cross point t = t 4 in the cycle register TTR, that is,
This means that the cycle information has been obtained. Then, the process returns to M2 of the main routine of FIG. 4 and waits for the next peak to be input. << Route Operation >> Next, a case where the route has proceeded to S40 to S62 will be described. Since the waveform number counter HNC = 1 now (see S66), S40 to S
The process proceeds to 42 (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, the determination result is YES, and the process proceeds to S43.
In S43, it is determined whether or not the register RIV = 1. Since the register RIV has already been set to 1 in the route (see S67), the determination in S43 is YES, and the process proceeds to S44. The dubbing process when the determination result in 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 (NO is 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 less than 60H, the determination result is YES and the process proceeds to S46.

【0150】S46では、前々回の振幅値(ピーク値)
AMRL2−前回の振幅値(ピーク値)AMRL1≦
(1/32)×前々回の振幅値(ピーク値)AMRL2
かどうかが判断され、YESの場合にはS47に進み、
リラティブオフカウンタFOFRが0にセットされる。
NOの場合には、S74に進みリラティブオフの処理が
行われる。このリラティブオフの処理については後述す
る。
At S46, the amplitude value (peak value) of the previous two times
AMRL2-Previous amplitude value (peak value) AMRL1 ≤
(1/32) x the amplitude value (peak value) AMRL2 of the previous two times
If YES, proceed to S47 if YES,
The relative off counter FOFR is set to zero.
In the case of NO, the process proceeds to S74 and the relative off process is performed. The process of this relative off will be described later.

【0151】S48では周期計算がおこなわれる。具体
的には(今回のゼロクロス時刻t−前回のゼロクロス時
刻データTF)が今回の周期情報ttとしてレジスタT
OTOにセットされる。そして、S49に進む。
In S48, the period is calculated. Specifically, (the current zero-cross time t-the previous zero-cross time data TF) is 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 the current cycle information tt> frequency upper limit THLIM (upper limit after sound generation starts), and if YES, the process proceeds to S50 (if NO, it will be described later). The upper frequency limit THLIM of S49 is ST of FIG.
It is the same as the upper limit of the permissible range of the frequency at the time of triggering (at the start of sound generation) used in S36 of EP3 (thus, it is the minimum period and corresponds to the pitch period two to three semitones above the highest fret). ..

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

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

【0155】上記動作により、周波数の上限、下限につ
いて許容範囲に入る場合についてのみS52まで進み、
そうでない場合はS49、S51より図4のメインルー
チンのM2の処理に戻って次のピークの入力を待つ。
With the above operation, the process proceeds to S52 only when the upper and lower limits of the frequency are within the allowable range.
If not, the process returns from S49 and S51 to the process of M2 of the main routine of FIG. 4 to wait 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 cycle information tt of this time is input to the cycle data TTP previously extracted.

【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 process proceeds to S54. In S54, it is determined whether or not the no-change level NCHLV> (previously before peak value e-current peak value c), and if YES, the process proceeds to S55. That is, the previous peak value of the same polarity (e
= When AMP (b) and the current peak value c are greatly changed, the difference exceeds NCHLV,
In such a case, if the pitch is changed based on the extracted period information, there is a high possibility that an unnatural pitch change will occur. Therefore, if a NO determination is made in S54, the process returns to the process of M2 of the main routine of FIG. 4 without waiting for the processes of S55 and thereafter, 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 process which will be 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 process of changing the pitch (see S61). The process returns to M2 of the main routine of FIG. If YES is determined in S55, the process 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, the two-wave three-value matching condition is determined. In S56, the current cycle information tt × 2 −7 > | this cycle information tt-previously previous cycle data h |
If YES, the process proceeds to S57, and in S57, the current cycle information tt × 2 −7 > | the current cycle information tt−contents of the cycle register TTR | is determined, and if 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 it substantially matches 4- t 2 (see S67). The limit range is set to 2 −7 · tt, and the value changes depending on the cycle information. Of course,
This value may be a fixed value, but a better result can be obtained by the technique adopted 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 this cycle information tt> constant TTU, and if YES, the process proceeds to S59, in which it is determined whether this cycle information tt <constant TTW, and if YES, to S60. move on. Note that S58,
The case where NO is determined in S59 will be described later.

【0161】S60では、レジスタSTEP=4である
のかどうかの判断が行われ、YESの場合にはS61に
進む。S61では、図1のMCP3から楽音発生回路5
01へピッチ変更(今回の周期情報ttに基づく)が行
われ、S62に進む。なお、S61のピッチ変更処理に
おいては、発音開始時におけるようなピッチ周期の補正
(図8S302参照)は行う必要はない。
In S60, it is determined whether or not the register STEP = 4. If YES, the process proceeds to S61. In S61, the musical sound generating circuit 5 from the MCP3 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 sounding.

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

【0163】また、後述するように、リラティブオフの
処理がなされたときに限り、STEP=5となるが、そ
のときはS60からS62に直接進み、S61でピッチ
変更を行なうことなく、S62で時定数チェンジを行な
う。
As will be described later, STEP = 5 only when the relative off process is performed. In that case, the process directly proceeds from S60 to S62 and the pitch is not changed in S61. Make a constant change.

【0164】上記時定数チェンジの処理とは、図2の時
定数変換制御回路202内部の時定数変換レジスタCH
TRRに今回の周期情報ttの値に基づく周期データを
図1のMCP3がセットすることをいう。これは、前記
「ピッチ抽出デジタル回路の動作」の「詳細動作」の項
で既に説明したとおりである。
The processing of changing the time constant is the time constant conversion register CH in the time constant conversion control circuit 202 of FIG.
It means that the MCP 3 of FIG. 1 sets the cycle data based on the value of the current cycle information tt in the TRR. This is as already described in the section "Detailed Operation" of "Operation of 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の設定がなされる。
When the process of S62 is completed, the process returns to the process of M2 of the main routine of FIG. As described above, in the route, the following processing is performed in the example of FIG. In other words, HNC = 1, MT = 1 = b, it is determined that the 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 according to tt when the following three conditions are satisfied: TTP≈TTR≈tt, TTU <tt <TTW, and AMP (0) −c <NCHLV.
After that, 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へ行き、リラ
ティブオンの条件を検出する。
With the above operation, in the route, the pitch is changed with respect to the actual tone generating circuit 501 (FIG. 1), the route is processed by the following zero cross interrupt (detection of the next peak), and similarly, the following zero cross interrupt is performed. The route is processed. In this way, the root simply extracts the cycle (see S67).
However, 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 incremented to exceed 3 in S66 of the route in STEP 4 of FIG. 9, a YES determination is made in S40, and the process proceeds to S41 and the relative-on is performed. The condition of is detected.

【0167】これは、c−AMP(b)>TRLRLで
あり、前回のピーク値AMP(b)に比べて今回のピー
ク値cがしきい値TRLRLを越えて増大したとき、つ
まり、これは弦操作後に同じ弦を再度ピッキングしたと
き(トレモロ奏法などによる)にこのようなことがお
き、この場合はS41の判定結果がYESとなり、リラ
ティブオンの処理をすべくS41からS78へ進む。
This is c-AMP (b)> TRLRL, and when the current peak value c exceeds the threshold value TRLRL and is larger than the previous peak value AMP (b), that is, this is the string. This happens when the same string is picked again (by the tremolo playing method or the like) after the operation. In this case, the determination result of S41 is YES, and the process proceeds from S41 to S78 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 period CHTIM of the highest-pitch fret (for example, 22 fret) is set in the time constant conversion register CHTRR (FIG. 2). After the above processing, the process proceeds to S06 in STEP0 of FIG. 5, notes off the musical tone being sounded, and then starts re-sounding. According to the normal performance operation, the STE of FIG.
In S41 of P4, a NO determination is made, and the process proceeds to S42,
Proceed to the above route or route. << Relative Off Processing Operation >> Next, the relative off processing will be described with reference to FIG. Relative off refers to performing a muffling operation in accordance with an operation of shifting from a state of fret operation 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 sharply drops, and the difference between the peak value (peak value) AMRL2 of the previous time and the peak value (peak value) AMRL1 of the previous time is (1/32).
・ Beyond AMRL2, 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
Advances from S74 to S75 so as to count up until exceeds the constant ROFCT. Continuously, from S75 to S48
Go to step S49 to S55, but FOFR = 0
Therefore, the determination result of S55 is NO, and immediately before the relative off process is started, the process returns to the process of M2 of the main routine of FIG. 4 without changing the pitch.

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

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

【0173】次に、S74からS76へ行くと、リラテ
ィブオフカウンタFOFRをリセットし、レジスタST
EPを5とし、S77へ進んで楽音発生回路501(図
1)に対しノートオフを指示する。
Next, when proceeding from S74 to S76, the relative off counter FOFR is reset and the register ST
EP is set to 5, and the process proceeds 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 of STEP 5, the pitch extraction processing is executed in the same manner as in STEP 4, but since the process proceeds from S60 to S62 without going through S61, the pitch change is instructed to the tone generating circuit 501. 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 in other cases, it is detected in the main routine of FIG. 4 that the vibration level has decreased. By doing M14
Then, STEP becomes 0 and the initial state is restored.

【0176】なお、S46で使用するAMRL1、AM
RL2はS64で作られており、1周期の中でレベルが
大きい方のピーク(最大ピークと最小ピークとのうちの
いずれか一方)がこの値とされ、図17の最大ピークa
k が最大ピークbk −1より必ず大である場合であっ
て、an+1とan+2、an+2とan+3、an+
3とan+4の差がいずれも所定値を越えるようになっ
ている。
It should be noted that AMRL1 and AM used in S46
RL2 is made in S64, and the peak with the larger 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.
When k is always larger than the maximum peak bk −1, an + 1 and an + 2, an + 2 and an + 3, an +
Any 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 processing of the route, the minimum peaks bn + 1, bn + 2, bn + 3 have extremely decreased, so that a NO determination is made in S54 and the processing returns to the processing of M2 of the main routine of FIG. , Pitch change processing is not performed. << Processing Operation When Pitch Cycle Is Inappropriate >> Next, when the pitch cycle is inappropriate, that is, when the pitch is being extracted, S58
Alternatively, the processing when an overtone having an octave relationship, that is, a cycle having a higher octave or a cycle having a lower octave is continuously detected in S59 will be described.

【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 STEP4 of FIG.
U is set to the minimum value 0 in S301 of STEP3 of FIG. 8, and the constant TTW is set to the maximum value MAX in the same manner.
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 (period information of high octave for one octave), and the constant TTW is similarly (31/16) .tt (period information of low tone for one octave) at S62. Is set.

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

【0180】即ち、S58ではttがTTUを越えなか
ったとき、つまり、前回抽出した周期の17/32倍し
た値TTUより小になったとき、S76へ進む。つま
り、オクターブ高い音が抽出されたときは、ミュート操
作をした場合とみなし、オクターブ高い音を出力するこ
となく、S58からS76へ行き、前記リラティブオフ
時同様S76、S77の処理によって当該音の発音を停
止する。
That is, when tt does not exceed TTU in S58, that is, when it becomes smaller than the value TTU which is 17/32 times the cycle extracted last time, the process proceeds to S76. In other words, when a high octave sound is extracted, it is considered that the mute operation has been performed, and the process proceeds from S58 to S76 without outputting the high octave sound, and the sound is produced by the processing of S76 and S77 as in the case of the relative off. To stop.

【0181】また、S59では、ttがTTWを越えな
かったとき、つまり前回抽出した周期の31/16倍し
た値TTWより大となったとき、S60へ進むことな
く、図4のメインルーチンのM2の処理へ戻る。
Further, in S59, when tt does not exceed TTW, that is, when it becomes larger than the value TTW which is 31/16 times the previously extracted period, it proceeds to S60 without proceeding to S60 of the main routine of FIG. Return to processing.

【0182】この状態は図18に示されている。通常ノ
ートオフ近辺の非常に波形が小さい場合は、他のピッキ
ングによってヘキサピックアップのクロストークやボデ
ィの共振によって波形が乗ってくる。すると、例えば、
図18のような入力波形となり、1オクターブ下の入力
波形が続けて検出されてしまうことがある。
This state is shown in FIG. Normally, if the waveform is very small near note-off, the waveform will come on due to crosstalk of the hexa pickup or body resonance due to other picking. Then, for example,
The input waveform may be as shown in FIG. 18, and the input waveform one octave below 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,
Suddenly, the sound below the octave is output, making it extremely unnatural. Therefore, in S56 and S57, Tan + 2≈T
Even if an + 3≈Tbn + 2 is detected, Tan + 3> T
Since it becomes an + 1 × (31/16), the process returns from S59 to the process of M2 of the main routine of FIG. 4 without changing the pitch. << Operation of Double-Processing >> Next, the process when the waveform is double-extracted, that is, when the peaks of 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 of S42 in STEP4 of FIG. 9 is NO, in the case of YES in S63, the process proceeds to S68 and the duplication process is performed. That is, S6
If YES in step 3, the process proceeds to step S68, and it is determined whether or not the current peak value c> previous peak value AMP (b) having the same sign, and if YES, the process proceeds to step S69.

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

【0186】もし、S68でNOの判断がなされるとす
ぐに、図4のメインルーチンのM2の処理に戻る。従っ
て、新しい入力波形のピークが大である場合についての
み、倍音のピークをひろっていないと考えられるので、
新しい波形のピーク値が登録される。
If NO is determined in S68, the process returns to M2 of the main routine of FIG. Therefore, it is considered that the peak of the overtone is not spread only when the peak of the new input waveform is large.
The peak value of the new waveform is registered.

【0187】また、S70でNOのときと、S71の処
理の終了のときには、同様にメインルーチンへ戻る。図
19に、上記ダブリ処理の例を示す。なお、この例の場
合はMT=0の状態を示している。一般に、基本波周期
と倍音成分の周期が非整数倍の関係にあるので、倍音の
位相がずれて行き、同じ極性のゼロクロスを検出してし
まうことになり、そのために誤ったピッチ変更をしない
ようにしないといけない。この図の例の場合では、「ダ
ブリ」と示しているところで、ダブリの状態が生じてい
る。
When NO in S70 and when the processing in S71 ends, the process similarly returns to the main routine. FIG. 19 shows an example of the above double processing. In the case of this example, the state of MT = 0 is shown. In general, the fundamental wave period and the period of the overtone component have a non-integer multiple relationship, so the phase of the overtone will shift and the zero cross of the same polarity will be detected. I have to In the case of the example in this figure, a double state occurs at a place 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, go from S42 to S63 and set Y
Determine ES and go to S68. In S68, in this case, (an + 2) and (an + 3) are compared, and (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 and the current amplitude information (peak value c) are compared in S70, and if YES, S71.
Go to, and set the current peak value c to the previous amplitude value (peak value)
AMRL1.

【0189】次に、図9のSTEP4のS42の判定結
果がYESとなるルートにおいて、次のS43でNO
となる場合は、S72に進み上記と同様にダブリ処理が
行われる。
Next, in the route in which the determination result of S42 in STEP4 of FIG. 9 is YES, NO in the next S43.
In such a case, the process proceeds to S72 and the duplication process is performed in the same manner as 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, in which the current peak value c> the previous peak value AMP having the same sign.
Whether or not (b) is determined, and if YES, the process proceeds to S73, where the previous peak value AMP (b) is rewritten to the current peak value c, and then the process returns to M2 of the main routine of FIG.

【0191】もし、S72でNOの判断がなさるとすぐ
に、図4のメインルーチンのM2の処理に戻る。従っ
て、この場合も、新しい入力波形のピークが大である場
合についてのみ、新しい波形のピーク値が登録される。
If NO is determined in S72, the process immediately returns to M2 of 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 thereof. In this example MT
= 1 is shown. In this case, in the process of STEP4 at the time of zero cross where "Dubli" in the figure is written, the process proceeds from S42 to S43, and YES is determined in S43 and S72 is executed.
Go to. Here, the sizes of (an + 3) and (an + 2) are compared, and if (an + 3) is larger than (an + 2), a YES determination is made in S72, and AMP (1) is set to
The value of (an + 3) is set, and if it is the opposite, no change processing is performed.

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

【0194】[0194]

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

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

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

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

【図3】割込み処理ルーチンの動作フローチャートを示
した図である。
FIG. 3 is a diagram showing 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 STEP 4 (5).

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

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

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

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

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

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

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

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

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

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

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

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

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

Claims (1)

【特許請求の範囲】[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 rising edge of the input waveform extracted by the pitch extracting means, and a rising edge of the input waveform. At the time, a musical tone is generated with a pitch according to the pitch information corrected by the pitch information correcting means, and after the rising time, a musical tone is generated with a pitch according to the pitch information extracted by the pitch extracting means. An electronic musical instrument comprising: a musical tone 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 true JPH05216468A (en) 1993-08-27
JP2661481B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066667A (en) * 1998-08-25 2000-03-03 Korg Inc Tuning instrument
JP2005157257A (en) * 2003-04-22 2005-06-16 Yamaha Corp Tone pitch extracting device, tone pitch correcting device, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066667A (en) * 1998-08-25 2000-03-03 Korg Inc Tuning instrument
JP2005157257A (en) * 2003-04-22 2005-06-16 Yamaha Corp Tone pitch extracting device, tone pitch correcting device, and program

Also Published As

Publication number Publication date
JP2661481B2 (en) 1997-10-08

Similar Documents

Publication Publication Date Title
JP2615825B2 (en) Electronic string instrument
JP2734521B2 (en) Music control device
JPH0196700A (en) Input controller for electronic musical instrument
US5048391A (en) Electronic musical instrument for generating musical tones on the basis of characteristics of input waveform signal
US5147970A (en) Electronic musical instrument for generating musical tones on the basis of characteristics of input waveform signal
US4924746A (en) Input apparatus of electronic device for extracting pitch from input waveform signal
US5990408A (en) Electronic stringed instrument using phase difference to control tone generation
JP2722584B2 (en) Music control device
JP2661481B2 (en) Electronic musical instrument
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
JP6135312B2 (en) Electronic stringed instrument, musical sound control method and program
JP2661066B2 (en) Sound control device
JP2661065B2 (en) Sound control device
JP2591001B2 (en) Electronic string instrument
JP2591000B2 (en) Electronic string instrument
JP2014153434A (en) Electronic stringed instrument, musical sound generation method and program
EP0264955B1 (en) Apparatus for determining the pitch of a substantially periodic input signal
JP2605773B2 (en) Electronic string instrument
JP6361109B2 (en) Electronic stringed instrument, musical sound control method and program
JP2530928Y2 (en) Electronic musical instrument level display
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