Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0750395B2 - Input control device for electronic stringed instruments - Google Patents
[go: Go Back, main page]

JPH0750395B2 - Input control device for electronic stringed instruments - Google Patents

Input control device for electronic stringed instruments

Info

Publication number
JPH0750395B2
JPH0750395B2 JP62134219A JP13421987A JPH0750395B2 JP H0750395 B2 JPH0750395 B2 JP H0750395B2 JP 62134219 A JP62134219 A JP 62134219A JP 13421987 A JP13421987 A JP 13421987A JP H0750395 B2 JPH0750395 B2 JP H0750395B2
Authority
JP
Japan
Prior art keywords
string
cycle
counter
vibration
pitch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP62134219A
Other languages
Japanese (ja)
Other versions
JPS63298397A (en
Inventor
敏夫 矢野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP62134219A priority Critical patent/JPH0750395B2/en
Publication of JPS63298397A publication Critical patent/JPS63298397A/en
Publication of JPH0750395B2 publication Critical patent/JPH0750395B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 [発明の技術分野] この発明は、電子ギターやギターシンセサイザなどの電
子弦楽器の入力制御装置に関する。
Description: TECHNICAL FIELD OF THE INVENTION The present invention relates to an input control device for an electronic stringed instrument such as an electronic guitar or a guitar synthesizer.

[従来技術とその問題点] 従来よりギタータイプの電子楽器が種々開発されてい
る。この種の電子弦楽器において、重要なことのひとつ
は、各弦の振動を電気的にピックアップして弦の振動の
基本波の周期(ピッチ)を、誤りなく抽出し、音源装置
に対して出力楽音指令を送ることである。
[Prior Art and its Problems] Various types of guitar-type electronic musical instruments have been conventionally developed. One of the important things in this kind of electronic stringed instrument is that it picks up the vibration of each string electrically, extracts the cycle (pitch) of the fundamental wave of the string vibration without error, and outputs it to the tone generator. To send a command.

ところが、弦振動をピックアップして、フィルタ等の処
理を施して得られる振動を表わす電気信号は、通常高調
波成分やノイズを含んでおり、これらの倍音やノイズを
誤って基本波の周期として抽出して、周波数制御を行う
と演奏上極めて不自然な音高の楽音が発生することにな
る。
However, the electric signal that represents the vibration obtained by picking up the string vibration and performing processing such as filtering usually contains harmonic components and noise, and these harmonics and noise are erroneously extracted as the cycle of the fundamental wave. Then, if frequency control is performed, a musical tone with a pitch that is extremely unnatural in terms of performance is generated.

[発明の目的] この発明は、上記事情に鑑みてなされたもので、弦振動
の基本波の周期の抽出を、誤りなく行うようにした電子
弦楽器の入力制御装置を提供することを目的とする。
[Object of the Invention] The present invention has been made in view of the above circumstances, and an object of the present invention is to provide an input control device for an electronic string instrument that extracts the cycle of the fundamental wave of string vibration without error. .

[発明の要点] この発明は上記目的は達成するためになされたものであ
り、押圧された位置に対応する周期で振動する弦の振動
の周期を抽出する周期抽出手段と、前記周期抽出手段が
抽出した前記周期に基づいて、前記弦の押圧位置を判定
する押圧位置判定手段と、前記弦の振動の振幅が所定値
以上になったことを検出する振幅検出手段と、前記振幅
検出手段が前記振幅が前記所定値以上になったことを検
出すると、前記周期抽出手段が抽出した前記周期に対応
する音高の楽音の発生を指示する楽音発生指示手段と、
前記楽音発生指示手段の指示により前記楽音発生中に、
前記周期抽出手段が現在発生中の前記楽音に対応する前
記周期とは異なる新たな前記周期を抽出した場合、前記
押圧位置判定手段が該新たな周期に基づいて判定した前
記押圧位置と、該押圧位置判定手段が既に判定した現在
発生中の前記楽音に対応する前記押圧位置との位置の差
が所定範囲内であれば、前記楽音発生指示手段が前記新
たな周期に対応する音高の前記楽音の発生を指示し、前
記位置の差が前記所定範囲外であれば、前記楽音発生指
示手段が前記新たな周期に対応する音高の前記楽音の発
生を指示しないように制御する制御手段とを有すること
を要点とする。
SUMMARY OF THE INVENTION The present invention has been made to achieve the above object, and a cycle extracting means for extracting a cycle of vibration of a string vibrating in a cycle corresponding to a pressed position, and the cycle extracting means are provided. Based on the extracted period, the pressed position determination means for determining the pressed position of the string, the amplitude detection means for detecting that the amplitude of the vibration of the string is equal to or more than a predetermined value, and the amplitude detection means When it is detected that the amplitude is equal to or more than the predetermined value, a tone generation instruction means for instructing the generation of a tone having a pitch corresponding to the cycle extracted by the cycle extraction means,
During the generation of the musical tone by the instruction of the musical tone generation instruction means,
When the cycle extraction means extracts a new cycle different from the cycle corresponding to the musical sound currently being generated, the pressed position determined by the pressed position determination means based on the new cycle, and the pressed position If the position difference between the pressed position corresponding to the currently generated musical tone that has already been determined by the position determination means is within a predetermined range, the musical tone generation instruction means causes the musical tone of the pitch corresponding to the new cycle. If the position difference is out of the predetermined range, the tone generation instruction means controls the tone generation so as not to instruct the tone generation with the pitch corresponding to the new cycle. The point is to have.

[実施例] 以下、本発明の一実施例を図面を参照しながら詳細に説
明する。
[Embodiment] An embodiment of the present invention will be described in detail below with reference to the drawings.

★★構成★★ 第1図は、同実施例の全体回路構成を示すもので、ギタ
ータイプの電子弦楽器のボディ内部の構成と、それに接
続される外部回路の構成を示している。
★★ Structure ★★ FIG. 1 shows the entire circuit structure of the embodiment, showing the structure inside the body of a guitar-type electronic string instrument and the structure of the external circuit connected thereto.

図中1は、第1弦のピッチ抽出回路であり、第2弦〜第
6弦も全く同じなので、図面では第1弦のピッチ抽出回
路1のみの詳細を示している。
In the figure, reference numeral 1 denotes the pitch extracting circuit for the first string, and the second to sixth strings are exactly the same, so only the pitch extracting circuit 1 for the first string is shown in the drawing.

11は、ピックアップであって、第1弦の振動を電気信号
に変換する。つまり、本実施例では、6つの弦夫々に対
し独立型ピックアップが設けられている。そして、この
ピックアップ11の出力はフィルタ12(ローパスフィル
タ)に印加され、高次の倍音信号を除去されるようにな
る。このフィルタ12のカットオフ周波数は、各弦毎に振
動周波数の範囲が異なるのにあわせて、各弦毎に異なる
ように設定されるのが望ましい。
Reference numeral 11 denotes a pickup, which converts the vibration of the first string into an electric signal. That is, in this embodiment, the independent pickup is provided for each of the six strings. Then, the output of the pickup 11 is applied to the filter 12 (low-pass filter) so that the higher-order overtone signal is removed. It is desirable that the cutoff frequency of the filter 12 be set to be different for each string in accordance with the range of the vibration frequency being different for each string.

このフィルタ12の出力は、フィルタ・アンプ13に与え
られて、更に適宜フィルタリングされ増幅されて、ゼロ
クロスコンパレータ14に与えられる。
The output of the filter 12 is applied to the filter amplifier 13, further appropriately filtered and amplified, and applied to the zero-cross comparator 14.

このゼロクロスコンパレータ14の詳細は、第2図に示す
ようになっており、上記フィルタ・アンプ13の出力がコ
ンデンサ14−1に与えられ信号となり、しかる後抵抗
器14−2を介してオペアンプ14−3の−端子に与えられ
る。
The details of the zero-cross comparator 14 are as shown in FIG. 2, in which the output of the filter / amplifier 13 is given to the capacitor 14-1 and becomes a signal, after which the operational amplifier 14− is supplied via the resistor 14-2. 3 is applied to the-terminal.

そして、この抵抗器14−2には、中心電圧レベル(後述
する第4図、第5図のタイミングチャート中の中心レベ
ルで、一点鎖線で示してある) の電圧が抵抗器14−4を介して与えられる。また上記電
圧レベル は、上記オペアンプ14−3の+端子にも与えられる。上
記抵抗器14−2と、14−4の抵抗比は10対1程度が望ま
しい。
The resistor 14-2 has a center voltage level (the center level in the timing charts of FIGS. 4 and 5 described later, which is indicated by a chain line). Is applied through resistor 14-4. The above voltage level Is also given to the + terminal of the operational amplifier 14-3. The resistance ratio between the resistors 14-2 and 14-4 is preferably about 10: 1.

上記オペアンプ14−3の出力は、インバータ14−5に
て反転されて出力し、第1図の1/2分周器15に与えられ
る。なお、上述した第2図のゼロクロスコンパレータ14
は、ひとつの例示的回路であって、このほかに回路変形
をすることは可能である。
The output of the operational amplifier 14-3 is inverted and output by the inverter 14-5, and is given to the 1/2 frequency divider 15 in FIG. The zero-cross comparator 14 of FIG. 2 described above is used.
Is an example circuit, and other circuit modifications are possible.

この1/2分周器15は、ゼロクロスコンパレータ14のイン
バータ14−5の出力が立上る都度、即ちの信号が立下
る都度、出力レベルを反転することにより1/2分周する
もので、この1/2分周器15の出力は、本実施例の全体
回路動作を制御するマイクロプロセッサなどから成るCP
U100へ供給されると共に、Aカウンタ16に直接、Bカウ
ンタ17にインバータ18を介して供給される。
The 1/2 divider 15 inverts the output level every time the output of the inverter 14-5 of the zero-cross comparator 14 rises, that is, every time the signal of falls, and divides the frequency by 1/2. The output of the 1/2 frequency divider 15 is a CP including a microprocessor for controlling the overall circuit operation of this embodiment.
It is supplied to the U100 and directly to the A counter 16 and to the B counter 17 via the inverter 18.

Aカウンタ16、Bカウンタ17では、夫々の印加信号が立
ち上るときに初期設定され、ハイレベルの間だけ、クロ
ックパルスCLKをカウントする。つまり、振動波形を1/2
分周して得られる波形信号のゼロクロス点間の時間間
隔を計測するようになる。そして、その計時動作は、印
加電圧が立下ることによって停止し、次の計数時までそ
の内容を保持するようになる。
The A counter 16 and the B counter 17 are initialized when the respective applied signals rise, and count the clock pulse CLK only during the high level. In other words, the vibration waveform is 1/2
The time interval between the zero cross points of the waveform signal obtained by frequency division is measured. Then, the timing operation is stopped by the fall of the applied voltage, and the content is held until the next counting time.

従って、本実施例ではAカウンタ16、Bカウンタ17が、
交互に夫々のゼロクロス点間の時間間隔を計測する。
Therefore, in this embodiment, the A counter 16 and the B counter 17 are
The time intervals between the respective zero-cross points are measured alternately.

そして、このAカウンタ16、Bカウンタ17の計数値は、
上記CPU100へ供給される。
Then, the count values of the A counter 16 and the B counter 17 are
It is supplied to the CPU 100.

第1図中19は、ピーク位置及びエンベロープ検出回路で
あり、フィルタ12の出力電圧信号のピーク位置(正の
最大レベル位置)を検出すると共に、そのピーク位置間
を連結することによって得られるエンベロープ信号が
(包絡線信号)を得て、夫々の信号、をCPU100へ供
給する。
Reference numeral 19 in FIG. 1 denotes a peak position and envelope detection circuit, which detects the peak position (positive maximum level position) of the output voltage signal of the filter 12 and obtains an envelope signal obtained by connecting the peak positions. Obtains (envelope signal) and supplies the respective signals to the CPU 100.

このピーク位置及びエンベロープ検出回路19の詳細は、
第3図に示してあり、フィルタ12からの信号は、オペ
アンプ19−1の+端子に供給され、このオペアンプ19−
1の出力がダイオード19−2を介して自身の−端子へ印
加されると共に、抵抗器19−3を介してコンデンサ19−
4の一端に与えられる。
Details of the peak position and the envelope detection circuit 19,
As shown in FIG. 3, the signal from the filter 12 is supplied to the + terminal of the operational amplifier 19-1.
The output of 1 is applied to its-terminal via the diode 19-2, and the capacitor 19- via the resistor 19-3.
Given at one end of 4.

そして、このコンデンサ19−4の他端には上記電圧レベ
が与えられる。従って、ダイオード19−2を介して与え
られる電圧信号がコンデンサ19−4の電荷電圧よりも高
い期間のみ充電され、そうでない期間は抵抗器19−5を
介して放電することになる。
The voltage level above the other end of the capacitor 19-4 Is given. Therefore, the voltage signal provided through the diode 19-2 is charged only while the voltage signal is higher than the charge voltage of the capacitor 19-4, and otherwise discharged through the resistor 19-5.

上記オペアンプ19−1の出力は、抵抗器19−6を介し、
オペアンプ19−7の−端子へ与えられる。また、上記抵
抗器19−6は、抵抗器19−8を介して電圧レベル に接続それ、そして、上記オペアンプ19−7の+端子に
も、電圧レベル か接続される。この抵抗器19−6と19−8は同じ抵抗値
をもつものが望ましい。このオペアンプ19−7の出力が
ピーク位置を示す信号となり、CPU100へ供給される。
The output of the operational amplifier 19-1 is passed through a resistor 19-6,
It is given to the-terminal of operational amplifier 19-7. Further, the resistor 19-6 is connected to the voltage level via the resistor 19-8. And the voltage level at the + terminal of the operational amplifier 19-7. Or connected. It is desirable that the resistors 19-6 and 19-8 have the same resistance value. The output of the operational amplifier 19-7 becomes a signal indicating the peak position and is supplied to the CPU 100.

上記抵抗器19−5の出力は、オペアンプ19−9の−端子
に与えられ、その+端子には、上記電圧レベル が与えられる。そして、このオペアンプ19−9の出力
は、抵抗器19−10を介して、−端子へ帰還すると共に、
抵抗器19−11を介してエンベロープ信号として出力さ
れる。なお、この第3図のピーク位置及びエンベロープ
検出回路19は、ひとつの例示回路であって、これ以外の
構成をとってもよい。
The output of the resistor 19-5 is given to the-terminal of the operational amplifier 19-9, and the positive terminal thereof has the above voltage level. Is given. The output of the operational amplifier 19-9 is returned to the-terminal via the resistor 19-10, and
It is output as an envelope signal via the resistor 19-11. The peak position and envelope detection circuit 19 shown in FIG. 3 is one example circuit, and may have other configurations.

このエンベロープ信号は、CPU100により6弦分が後述
するように時分割多重化されて、A/Dコンバータ7に与
えられ、デジタル信号に変化された後、発音開始処理、
消音開始処理等の各種処理において使用される。
The CPU 100 time-division-multiplexes six strings by the CPU 100 as described later, gives them to the A / D converter 7, converts them into digital signals, and then starts sound generation,
It is used in various processes such as muffling start process.

このA/Dコンバータ7は、与えられたアナログ信号をア
ナログデジタル変換処理を行った後、A/D終了信号をCPU
100へ供給する。CPU100は、このA/D終了信号を、メイン
ルーチンの処理の中で通常処理として受付けたり、ある
いは、インターラプトで受付けたりする。詳細は後述す
るとおりである。なお、このA/Dコンバータ7は、CPU10
0とは別体のチップであってもよく1チップマイクロコ
ンピュータの内部のA/Dコンバータであってもよい。
This A / D converter 7 performs an analog-digital conversion process on a given analog signal and then sends an A / D end signal to the CPU.
Supply to 100. The CPU 100 accepts this A / D end signal as a normal process in the process of the main routine, or accepts it by an interrupt. Details are as described later. In addition, this A / D converter 7
It may be a chip separate from 0 or may be an A / D converter inside a one-chip microcomputer.

CPU100は、各種処理をバッファメモリ8とを協働で実行
する。また、第1図中9は回数カウンタである。即ち、
このカウンタ9は、複数の弦のうちのいずれかの弦の振
動が所定レベルを下まわった状態から初めて所定レベル
を上まわった状態へ変化したことがCPU100で検知された
とき、所定回数だけ、振動振幅が新たに所定レベルを上
まわった弦の振動のみの基本波の周期を抽出し、それ以
外の弦(振動振幅が新たに所定レベルを上まわった弦以
外の弦)の振動の基本波の周期の抽出を行わないように
スキップする。回数をカウントするものである。その結
果、ピッキングした弦の振動開始時のピッチを集中的に
抽出可能となる。
The CPU 100 executes various processes in cooperation with the buffer memory 8. Further, numeral 9 in FIG. 1 is a number counter. That is,
When the CPU 100 detects that the vibration of any one of the plurality of strings has changed from being lower than a predetermined level to being higher than the predetermined level for the first time, the counter 9 outputs a predetermined number of times. Extracts the period of the fundamental wave of only the vibration of the string whose vibration amplitude has newly exceeded the specified level, and the fundamental wave of the vibration of the other strings (strings other than the string whose vibration amplitude has newly exceeded the specified level) Skip so that the cycle of is not extracted. It counts the number of times. As a result, the pitch at the start of vibration of the picked strings can be concentratedly extracted.

また、図中101はONカウンタであり、このONカウンタ101
は、周波数の決定の際に、所定回数、半音以内の一致を
周期情報がとったならば、その周期に対応する音高に楽
音を設定するようにするためのものであり、後述するよ
うに一致検出がなされるとプリセットされた値からダウ
ンカウントする。そして、ゼロになれば、その抽出した
周期に対応する音高に楽音を発生する。あるいは既に発
音されている楽音の音高を変更する。
Further, 101 in the figure is an ON counter, and this ON counter 101
Is for setting the musical tone to the pitch corresponding to the cycle when the frequency information determines that the cycle information has a match within a semitone within a predetermined number of times, as will be described later. When a match is detected, the preset value is counted down. When it becomes zero, a musical tone is generated at the pitch corresponding to the extracted cycle. Alternatively, the pitch of the musical sound that has already been pronounced is changed.

従って、出力楽音の音高決定や、音高変更が誤りなく行
える。
Therefore, the pitch of the output musical tone can be determined and the pitch can be changed without error.

また、このCPU100は、MIDIインターフェイス10と接続さ
れる。このMIDIとは、Musical Instrument Digital Int
erfaceの略称で、楽器どおしや、楽器とパーソナルコン
ピュータとを接続するための統一規格である。勿論、こ
のMIDIフォーマット以外のフォーマットを使用するイン
ターフェイスを用いてもよい。
The CPU 100 is also connected to the MIDI interface 10. This MIDI is Musical Instrument Digital Int
Abbreviation of erface, which is a unified standard for connecting musical instruments and personal computers with musical instruments. Of course, an interface using a format other than this MIDI format may be used.

そして、このMIDIインターフェイス10を介して、ギター
外部の音源部である外部音源モジュール200に、発音制
御指令や消音制御指令、更には音高変更指令を出力し、
弦やフレットの演奏操作にあわせて、外部音源モジュー
ル200に、楽音生成のための指示を行う。
Then, via the MIDI interface 10, to the external sound source module 200, which is a sound source unit outside the guitar, outputs a sounding control command, a mute control command, and a pitch change command,
Instructing the external tone generator module 200 to generate musical tones in accordance with the performance operation of strings and frets.

★★ピッチ抽出回路の動作★★ 次に、本実施例のピッチ抽出回路1〜6の動作を説明す
る。
★★ Operation of pitch extraction circuit ★★ Next, the operation of the pitch extraction circuits 1 to 6 of the present embodiment will be described.

細部の説明の前に、本実施例のピッチ抽出の基本的な方
式について、先ず説明しよう。
Before describing the details, the basic method of pitch extraction of this embodiment will be described first.

振動波形がゼロクロス点を通過する毎に反転するゼロク
ロスコンパレータ14出力を1/2分周器15で分周し、その
出力レベルの変化毎にAカウンタ16とBカウンタ17とが
上述したとおり計数動作を交互に行う。
The output of the zero-cross comparator 14 that is inverted every time the vibration waveform passes through the zero-cross point is divided by the 1/2 divider 15, and the A counter 16 and the B counter 17 perform counting operation as described above for each change in the output level. Alternately.

そして、振動波形のピーク点がピーク位置及びエンベロ
ープ検出回路19にて検知されると、前回のピーク点から
今回のピーク点までの時間に、計測されたカウンタ値を
必要に応じて加算処理を行って、波形の一周期の時間長
を算出する。この演算はCPU100にて行う。
Then, when the peak point of the vibration waveform is detected by the peak position and the envelope detection circuit 19, the measured counter value is added as necessary in the time from the previous peak point to the current peak point. Then, the time length of one cycle of the waveform is calculated. This calculation is performed by CPU100.

従って、Aカウンタ16とBカウンタ17の計数値の2つあ
るいはいずれか一方にて、ピッキングなどを行ない発生
する弦の振動の基本波の周期が抽出ができる。
Therefore, the period of the fundamental wave of the vibration of the string generated by picking or the like can be extracted by using either one or two of the count values of the A counter 16 and the B counter 17.

第4図、第5図は、ピッチ抽出回路1の内部のタイミン
グチャートを示しており、第4図が倍音を含まないとき
の波形信号がフィルタ12を介して出力しているとき、第
5図が2倍音を含むときの波形信号がフィルタ12を介し
て出力しているときの各部の夫々の動作を示している。
なお、それ以上の倍音は、フィルタ12やフィルタ・アン
プ13にて除去される。従って、ゼロクロスコンパレータ
14には振動を表わす基本波あるいは2倍音までの倍音波
形を含む波形信号が与えられる。尚、後述するように、
CPU100の処理によっても、倍音除去の処理が行われる。
FIGS. 4 and 5 show internal timing charts of the pitch extraction circuit 1. When the waveform signal shown in FIG. 4 does not include overtones, the waveform signal is output through the filter 12, and FIG. Shows the operation of each part when the waveform signal when the second harmonic is included is being output through the filter 12.
Note that the overtones higher than that are removed by the filter 12 and the filter amplifier 13. Therefore, the zero-cross comparator
A waveform signal containing a fundamental wave representing vibration or a harmonic wave form up to a second harmonic is given to 14. As will be described later,
The processing of the CPU 100 also performs the processing of removing overtones.

第4図、第5図は、第1図のフィルタ12の出力を
示している。そしてこの波形信号は、ピーク位置及びエ
ンベロープ検出回路19に与えられ、コンデンサ19−4の
充電電圧を越えるレベルの電圧信号を与えられる都度、
オペアンプ19−1、ダイオード19−2、抵抗器19−3を
介してコンデンサ19−4に電荷を充電し、ピーク位置を
通過すると抵抗器19−5を介して放電し、その結果、コ
ンデンサ19−4の出力電圧は、第4図及び第5図に
示すようになる。
4 and 5 show the output of the filter 12 of FIG. And this waveform signal is given to the peak position and envelope detection circuit 19, each time a voltage signal of a level exceeding the charging voltage of the capacitor 19-4 is given,
The capacitor 19-4 is charged through the operational amplifier 19-1, the diode 19-2, and the resistor 19-3, and is discharged through the resistor 19-5 when passing the peak position. As a result, the capacitor 19- The output voltage of No. 4 is as shown in FIGS. 4 and 5.

従ってオペアンプ19−9を介し、抵抗器19−11を介して
出力されるエンベロープ信号は、第4図、第5図の
如くなる。
Therefore, the envelope signal output through the operational amplifier 19-9 and the resistor 19-11 is as shown in FIGS.

また、上記オペアンプ19−1の出力の変化によってオペ
アンプ19−7からは、コンデンサ19−4の充電開始時に
立下ると共に、充電終了時、つまり振動波形の正のピ
ーク位置で立上る第4図、第5図の信号が出力す
る。これが、第1図に示すピーク位置信号となる。
Further, due to a change in the output of the operational amplifier 19-1, the operational amplifier 19-7 falls at the start of charging the capacitor 19-4 and at the end of charging, that is, at the positive peak position of the vibration waveform. The signal shown in FIG. 5 is output. This becomes the peak position signal shown in FIG.

更に、フィルタ12の出力信号は、フィルタ・アンプ13
にて、レベル反転されると共に適宜フィルタリングや増
幅がなされ、ゼロクロスコンパレータ14に与えられる。
ゼロクロスコンパレータ14の内部のコンデンサ14−1
(第2図参照)の出力は、第4図、第5図の如くな
る。
Furthermore, the output signal of the filter 12 is the filter amplifier 13
At, the level is inverted, filtering and amplification are appropriately performed, and the result is given to the zero-cross comparator 14.
Capacitor 14-1 inside the zero-cross comparator 14
The output (see FIG. 2) is as shown in FIGS. 4 and 5.

そして、この信号は、オペアンプ14−3を介して、ゼロ
クロス点を通過する毎にレベルが反転する第4図、第
5図のようになり、この信号の反転出力がインバータ
14−5から供給される。
Then, this signal is as shown in FIG. 4 and FIG. 5 in which the level is inverted every time it passes through the zero cross point through the operational amplifier 14-3, and the inverted output of this signal is the inverter.
Supplied from 14-5.

従って、Aカウンタ16では、信号を1/2分周器15で分
周した出力(第4図、第5図)の立上り時にリセッ
トされ、信号が反転するまで、クロック信号CLKを計測
する。そして、計測終了後は、その計測値を保持する。
Therefore, the A counter 16 is reset at the rising edge of the output (FIGS. 4 and 5) obtained by dividing the signal by the 1/2 frequency divider 15 and measures the clock signal CLK until the signal is inverted. Then, after the measurement is completed, the measured value is held.

Bカウンタ17では、Aカウンタ16と逆の計数動作をする
ようになる。つまり、Bカウンタ17は、信号が立下り
時に、リセットされ、信号が反転するまで、クロック信
号CLKを計測する。そして、計測終了後は、その計測値
を保持する。
The B counter 17 performs the counting operation opposite to that of the A counter 16. That is, the B counter 17 measures the clock signal CLK until the signal is reset and inverted when the signal falls. Then, after the measurement is completed, the measured value is held.

従って、第4図のように基本波しか含まない波形信号
が、フィルタ12から与えられると、第4図、、か
ら理解されるとおり、波形1周期でAカウンタ16又はB
カウンタ17のいずれか一方のみが1回計測する。従っ
て、CPU100は、各カウンタの出力を、計測終了後に読込
み、ピーク検出時には、前のピークから今回のピークま
でに検出したカウンタ値、第4図の場合は1つの値を、
そのまま基本波の周期とすることになる。
Therefore, when the waveform signal containing only the fundamental wave as shown in FIG. 4 is given from the filter 12, as can be understood from FIG.
Only one of the counters 17 measures once. Therefore, the CPU 100 reads the output of each counter after the measurement is completed, and at the time of peak detection, the counter value detected from the previous peak to the current peak, or one value in the case of FIG. 4,
It will be the period of the fundamental wave as it is.

なお、ピッチ抽出の精度を向上し、ノイズ等によって誤
動作することを防止するために、前回及びそれ以前に抽
出したピッチと一致比較をして所定誤差範囲内(後述す
るように本実施例では半音内)の一致を検知した場合に
のみ、振動周波数の決定を行うようにする。
In order to improve the accuracy of pitch extraction and prevent malfunction due to noise or the like, the pitches extracted in the previous time and before are compared with each other within a predetermined error range. The vibration frequency is determined only when a match of (in) is detected.

さて、第5図の如く2倍音をむ波形信号が、フィルタ
12から与えられると第5図、、から理解されると
おり、波形1周期でAカウンタ16又はBカウンタ17の双
方が夫々交互に1回ずつ計測することになる。
Now, as shown in Fig. 5, the waveform signal that produces the overtone is
As will be understood from FIG. 5 when given from 12, both the A counter 16 and the B counter 17 alternately measure once in one cycle of the waveform.

従って、CPU100では、各カウンタの計数内容を上記1/2
分周器15の出力信号が反転する毎に読込み、ピーク位
置の検出時に、前のピークから今回のピークまでに検出
したカウンタ値、従ってAカウンタ16とBカウンタ17と
の2つのカウンタ値を加算して、基本波の周期とするこ
とになる。
Therefore, in CPU100, the counting contents of each counter is
The output signal of the frequency divider 15 is read every time it is inverted, and when the peak position is detected, the counter value detected from the previous peak to the current peak, that is, the two counter values of the A counter 16 and the B counter 17 are added. Then, it becomes the period of the fundamental wave.

★★全体回路の動作、特にCPUの動作★★ 次に、本実施例の全体回路動作を詳述する。★★ Operation of whole circuit, especially operation of CPU ★★ Next, the operation of the whole circuit of this embodiment will be described in detail.

第6図は、CPU100の動作を示すフローチャートであり、
メインルーチンでは、Aカウンタ16、Bカウンタ17の計
数値を各弦分読込む処理と、エンベロープ信号のA/D変
換処理を中心に行う。
FIG. 6 is a flowchart showing the operation of the CPU 100,
In the main routine, the process of reading the count values of the A counter 16 and the B counter 17 for each string and the A / D conversion process of the envelope signal are mainly performed.

即ち、ステップS1は、パワーオン後の初期設定のルーチ
ンであって、このステップS1にてCPU100内部のレジスタ
やバッファメモリ8、回数カウンタ9、ONカウンタ101
などの初期設定を行う。
That is, step S1 is a routine for initialization after power-on, and in this step S1, registers and buffer memory 8 inside CPU 100, number counter 9, ON counter 101
Make initial settings such as.

次にステップS2乃至S6は、第1弦のAカウンタ16、Bカ
ウンタ17の内容の読込み処理を行うルーチンであり、ス
テップS2では、第1弦のエンベロープ値がしきい値を越
えたか否かジャッジする。このエンベロープ値は、上記
ピーク位置及びエンベロープ検出回路19のエンベロープ
信号出力をA/Dコンバータ7でデジタル値に変換した
値である。なお、この各弦のエンベロープ信号のA/D変
換の順序等については後述する。
Next, steps S2 to S6 are a routine for reading the contents of the A counter 16 and the B counter 17 of the first string. In step S2, it is judged whether the envelope value of the first string exceeds the threshold value. To do. The envelope value is a value obtained by converting the peak position and the envelope signal output of the envelope detection circuit 19 into a digital value by the A / D converter 7. The order of A / D conversion of the envelope signal of each string will be described later.

しかして、このステップS2において、第1弦のエンベロ
ープがしきい値をこえていない(つまり振動レベルが小
である)ことを検知すると、弦がピッキングなどされて
いないとして、NOと判断をしてステップS7へ進む。
Then, in this step S2, when it is detected that the envelope of the first string does not exceed the threshold value (that is, the vibration level is small), it is determined that the string is not picked, and NO is determined. Proceed to step S7.

もし、弦がはじかれた後で、振動を当該弦が続けておれ
ば、ステップS2からステップS3へ進み、回数カウンタ9
が0か否かジャッジする。この回数カウンタ9は、新た
にいずれかの弦がピッキングされた際に、0以外の初期
値がセットされる。もし、弦振動の開始からある期間た
った後であれば、回数カウンタ9の内容は後述するよう
に0となる。
If the string continues to vibrate after being repelled, the process proceeds from step S2 to step S3, and the number counter 9
Judge whether is 0 or not. The number counter 9 is set to an initial value other than 0 when any string is newly picked. If a certain period has passed since the start of the string vibration, the content of the number counter 9 becomes 0 as described later.

従って、回数カウンタ9が0以外の場合には、つまり上
記初期値以下で1以上の間は、NOの判断をCPU100は行っ
て、次のステップS4にて、当該弦(この場合第1弦)に
ついての発音判断処理を行って、外部音源モジュール20
0において発音を継続している状態か否かジャッジす
る。仮にYESの判断がされると、当該弦のピッチ抽出の
処理は緊急性がないとして、ステップS4からステップS7
へ進む。
Therefore, when the number counter 9 is other than 0, that is, when the value is equal to or less than the initial value and is 1 or more, the CPU 100 determines NO, and in the next step S4, the relevant string (first string in this case). The external sound source module 20
At 0, judge whether or not the sound is being continued. If YES is determined, it is determined that the pitch extraction processing of the string is not urgent, and the steps S4 to S7 are performed.
Go to.

そして、ステップS4でNOの判断がなされるか、あるいは
ステップS3でYESの判断がなされると、ステップS5へ進
み、1/2分周器15の出力つまり第4図や第5図の出
力が反転したか否か検知する。
Then, if NO is determined in step S4 or YES is determined in step S3, the process proceeds to step S5, and the output of the 1/2 frequency divider 15, that is, the output of FIGS. 4 and 5 is output. It detects whether or not it has been inverted.

そして、このステップS5でNOの判断がされると、何も処
理せずにステップS7へ進行し、ステップS5でYESの判断
がされると、ステップ6においてAカウンタ16かBカウ
ンタ17の内容をCPU100は読込み、バッファメモリ8へ転
送記憶する。
If NO is determined in step S5, the process proceeds to step S7 without any processing. If YES is determined in step S5, the contents of the A counter 16 or the B counter 17 are changed in step 6. The CPU 100 reads and transfers and stores it in the buffer memory 8.

この場合において、CPU100は、上述したとおり信号が
立下ったときはAカウンタ16の内容を読込み、信号が
立上ったときはBカウンタ17の内容を読込む。
In this case, the CPU 100 reads the contents of the A counter 16 when the signal falls, and reads the contents of the B counter 17 when the signal rises, as described above.

そして、第1弦のAカウンタ16、Bカウンタ17の読込み
処理は終了し、ステップS7へ進む。ステップS7において
は、上記第1弦の処理(ステップS2〜S6)と全く同様の
処理を第2弦乃至第6弦の各弦毎に行ない、ステップS8
へ進む。
Then, the reading processing of the A counter 16 and the B counter 17 of the first string is completed, and the process proceeds to step S7. In step S7, the same processing as that of the first string (steps S2 to S6) is performed for each of the second to sixth strings, and step S8 is performed.
Go to.

ステップS8は回数カウンタ9が0か否かジャッジする。
そして0でなければステップS9へ進み、その内容をダウ
ンカウントした後ステップS10へ進行する。もしYESなら
ば何も処理せずステップS10へゆく。従って、回数カウ
ンタ9が0以外であれば、メインフローを1回実行する
毎に1ずつダウンカウントされる。
A step S8 judges whether the number counter 9 is 0 or not.
If it is not 0, the process proceeds to step S9, the content is down-counted, and then the process proceeds to step S10. If YES, go to step S10 without processing anything. Therefore, if the number counter 9 is other than 0, it is down-counted by 1 each time the main flow is executed once.

そして、ステップS10では、A/Dコンバータ7のA/D変換
終了信号を割込(インタラプト)で付けてその後の処理
を実行制御するのか、あるいは、ステップS10に続けて
ノーマル処理で、AD変換後の処理を行うかを選択する。
Then, in step S10, the A / D conversion end signal of the A / D converter 7 is attached by an interrupt (interrupt) to control execution of the subsequent processing, or after step S10, normal processing is performed and AD conversion is performed. Select whether to perform the process.

この場合、A/D変換終了信号を割込で受付けて処理すれ
ば、各弦のエンベロープ信号のAD変換が高速に行えるこ
とになる。つまり、A/Dコンバータ7は休み時間なく次
々と弦のエンベロープ信号のAD変換を行うことになる。
例えば、ひとつの弦の振動開始が検知されると、同時に
他の弦のピッキングの可能性も高く、AD変換後の割込
(インタラプト)を受付けるようにして、ステップS10
からステップS2へもどりメインルーチンのステップS2乃
至ステップS9内でのインタラプト処理の受付けを許可す
ることになる。
In this case, if the A / D conversion end signal is received by interruption and processed, AD conversion of the envelope signal of each string can be performed at high speed. That is, the A / D converter 7 performs AD conversion of the envelope signals of the strings one after another without any rest time.
For example, when the start of vibration of one string is detected, there is a high possibility that other strings will be picked at the same time, and an interrupt (interrupt) after AD conversion is accepted.
Then, the process returns from step S2 to permit acceptance of the interrupt process in steps S2 to S9 of the main routine.

AD変換の割込がマスクされている状態であれば、ステッ
プS10に続けてステップS11に進み、A/Dコンバータ7か
ら既にA/D終了信号が与えられて、選択された弦振動の
エンベロープのA/D変換が終了しているか否かジャッジ
する。
If the AD conversion interrupt is masked, the process proceeds to step S11 following step S10, and the A / D end signal is already given from the A / D converter 7, and the envelope of the selected string vibration is displayed. Judge whether A / D conversion is completed.

もしNOならば、ステップS2にもどり上述した処理つまり
ステップS2〜S10を実行して再びこのステップS11のチェ
ックをすることを繰返す。
If NO, the process returns to step S2, the steps S2 to S10 are executed, and the step S11 is checked again.

そして、このステップS11にてYESの判断がなされると、
ステップS12に進み、そのA/D変換されたデジタル信号
を、選択弦のエンベロープ信号の値としてCPU100は受付
け、バッファメモリ8の所定エリアに格納する。このエ
ンベロープ値は上述したステップS2やステップS7内での
ステップS2に対応するステップで使用される。
Then, if YES is determined in this step S11,
In step S12, the CPU 100 receives the A / D-converted digital signal as the value of the envelope signal of the selected string and stores it in a predetermined area of the buffer memory 8. This envelope value is used in the steps corresponding to step S2 in step S2 and step S7 described above.

そして、ステップS12に続けて、ステップS13において、
新たなピッキングがなされたか、抽出したエンベロープ
値に基づき判断をし、つまり、所定スレッシュホールド
レベルを越えたか否か判断をし、YESならば、ステップS
14へ進んで回数カウンタ9に所定値をセットする。上述
した如く、このセットした値に対応する回数だけ、新た
に弦振動がなされて発音開始前の弦についてのカウンタ
読込みの処理(ステップS6)と後述するピッチ抽出及び
発音制御処理(ステップT3)とを集中的に行い、他の弦
(即ち、新たに弦振動がなされて発音開始前の弦以外の
弦)についての同様の処理(即ち、カウンタ読込みの処
理[ステップS6]と、ピッチ抽出及び発音制御処理[ス
テップT3]はスキップすることになる。なお、厳密にい
うと、ステップS6は、ステップS5でYESの判断がなされ
た場合に実行するので、カウンタの読込み処理の優先実
行回数は、回数カウンタ9への設定値よりも少ない場合
がある。
Then, following step S12, in step S13,
If new picking is done or not, it is judged based on the extracted envelope value, that is, it is judged whether or not the predetermined threshold level is exceeded, and if YES, step S
Proceed to 14 and set a predetermined value in the number counter 9. As described above, the number of times corresponding to the set value is newly added to the string vibration, the counter reading process for the string before the start of sound generation (step S6) and the pitch extraction and sound generation control process (step T3) described later are performed. And other strings (that is, strings other than the string before the start of sounding due to new string vibration) (that is, the process of reading the counter [step S6], the pitch extraction and the sounding). Strictly speaking, since the control process [step T3] is skipped, step S6 is executed when YES is determined in step S5, and therefore the priority of the counter reading process is the number of times. It may be smaller than the set value for the counter 9.

このステップS14に続けて、ステップS15にてONカウンタ
101に初期値をセットすると共に前回の弦振動に基づく
抽出ピッチとしてバッファメモリ8の所定エリアに記憶
されている音階情報(半音単位の音階情報)をクリアす
る。
After this step S14, turn on the counter in step S15
The initial value is set in 101, and the scale information (scale information in semitone units) stored in a predetermined area of the buffer memory 8 as the extracted pitch based on the previous string vibration is cleared.

このステップS15にて、ピッチ抽出のための初期設定を
行ったことになる。なお、このONカウンタ101の初期セ
ットは、後述するステップT11にても行うので、必ずし
も必要ないが、発音開始時の音高決定を速やかに行うに
は、このステップS15にて図示のとおり処理を行うこと
が望ましい。
In this step S15, the initial setting for pitch extraction has been made. Since the initial setting of the ON counter 101 is also performed in step T11 described later, it is not always necessary, but in order to promptly determine the pitch at the start of sounding, the processing as shown in step S15 is performed. It is desirable to do.

このステップS15に続けてあるいはステップS13でNOの判
断がなされると、ステップS16へ進み、次の弦のAD変換
をスタートする。つまり、第1弦から第6弦のエンベロ
ープ信号をAD変換するために、ひとつの弦のエンベロー
プ信号のAD変換が終了すれば、次の順位のエンベロープ
信号のAD変換を開始する。
Following this step S15 or if NO is determined in step S13, the process proceeds to step S16 to start AD conversion of the next string. That is, in order to AD-convert the envelope signals of the first string to the sixth string, when the AD conversion of the envelope signal of one string is completed, the AD conversion of the envelope signal of the next rank is started.

そして、このステップS16に続けてステップS2へもど
り、以下同様にメインルーチンの処理を繰返す。
Then, after returning to step S16, the process returns to step S2, and the processing of the main routine is repeated in the same manner.

次に、ピーク位置及びエンベロープ検出回路19から出力
されるピーク位置信号の到来時の割込処理について説
明する。
Next, the interrupt processing when the peak position signal output from the peak position and envelope detection circuit 19 arrives will be described.

この信号が立上ると、丁度フィルタ12の出力波形信号
が正のピーク位置をとるようになり(第4図、第5
図参照)、CPU100はメインルーチンの処理を一時中断
して、先ずステップT1の処理を行う。
When this signal rises, the output waveform signal of the filter 12 comes to have a positive peak position (see FIGS. 4 and 5).
(See the drawing), the CPU 100 temporarily interrupts the processing of the main routine, and first performs the processing of step T1.

ステップT1では、上記回数カウンタ9が0か否か判別
し、0ならば続けてステップT2へ進み当該弦に対応して
楽音が発生中か否かジャッジする。もし、YESならば、
その弦についての処理は緊急性がなく、メインルーチン
へもどる。もし、ステップT2においてNOならば、次に述
べるとおりCPU100は既にステップS6において読込んだA
カウンタ16又はBカウンタ17の計数値に従って、適宜加
算を行ってピッチ抽出を行ない、所定の条件が成立すれ
ば、対応する音高の楽音の発音制御処理を行ない、MIDI
インターフェイス10を介して外部音源モジュール200へ
所定の命令を出力することになる。この場合、発音開始
の際の音高の決定を複数回のピッチ抽出の結果に基づい
て行うから、優先的に新たに弦振動がなされて発音開始
前の弦についての処理が行え(つまりそれ以外の弦[新
たに弦振動がなされて発音開始前の弦以外の弦]のピッ
チ抽出やAカウンタ16やBカウンタ17の読込処理はスキ
ップされることになり、発音開始の弦についての処理を
繰り返す際の間隔が短くなる)、有効である。
In step T1, it is determined whether or not the number counter 9 is 0, and if it is 0, the process proceeds to step T2, and it is judged whether or not a musical sound is being generated corresponding to the string. If YES,
Processing for the string is not urgent and returns to the main routine. If NO in step T2, the CPU 100 has already read A in step S6 as described below.
According to the count value of the counter 16 or the B counter 17, the pitch is extracted by appropriately adding, and if a predetermined condition is satisfied, the tone generation control process of the musical tone of the corresponding pitch is performed, and the MIDI tone is generated.
A predetermined command is output to the external sound source module 200 via the interface 10. In this case, since the pitch at the start of sounding is determined based on the result of multiple times of pitch extraction, a new string vibration is preferentially performed and the process for the string before the start of sounding can be performed (that is, other than that. The extraction of the pitch of the string of [the string other than the string before the start of sounding due to new string vibration] and the reading processing of the A counter 16 and the B counter 17 are skipped, and the processing for the string at the start of sounding is repeated. It is effective.

即ち、ステップT2にてNOの判断がされるかあるいはステ
ップT1にてYESの判断がされると、ステップT3において
前回のピークから今回のピークまでに読み込んだカウン
タ値を加算して当該弦振動の周期の値を得る。
That is, if NO is determined in step T2 or YES is determined in step T1, the counter value read from the previous peak to the current peak is added in step T3 to calculate the string vibration. Get the value of the period.

この場合において、第4図の例では、ピーク位置からピ
ーク位置までにてAカウンタ16とBカウンタ17との一方
のみの計数結果により基本波の周期が決まり、第5図の
例ではAカウンタ16とBカウンタ17との双方の計数結果
の加算値により基本波の周期が決まる。これは、既に説
明したとおりである。
In this case, in the example of FIG. 4, the period of the fundamental wave is determined by the counting result of only one of the A counter 16 and the B counter 17 from the peak position to the peak position, and in the example of FIG. The period of the fundamental wave is determined by the added value of the counting results of both B and B counter 17. This is as described above.

そして、次のステップT4では、CPU100がステップT3にて
得た周期の値から音階テーブル(第1図のCPU100内にテ
ーブルとして記録されている)をサーチし、当該弦振動
に相当する音階情報(半音単位)の情報を得る。あわせ
て、半音以下の周波数情報を得て、後述するステップT1
5において周波数制御を行う際に使用すればより効果的
である。
Then, in the next step T4, the CPU 100 searches the scale table (recorded as a table in the CPU 100 in FIG. 1) from the value of the period obtained in step T3, and scale information (corresponding to the string vibration) Obtain information in semitone steps. In addition, the frequency information of less than a semitone is obtained, and step T1 described later is performed.
It is more effective when used when performing frequency control in 5.

次にステップT5にて既に発音中の弦の有無をCPU100は、
バッファメモリ8を検索するなどしてチェックする。そ
してもし既に発音中の弦があればYESとして、次のステ
ップT6において今回操作された弦のフレット番号を算出
する。しかる後ステップT7に進み、回数カウンタ9の内
容が0か否かジャッジする。
Next, in step T5, the CPU 100 determines whether or not there is a string that is already sounding.
The buffer memory 8 is searched and checked. Then, if there is a string that is already sounding, the answer is YES, and in the next step T6, the fret number of the string operated this time is calculated. Then, the process proceeds to step T7, and it is judged whether the content of the number counter 9 is 0 or not.

当該弦あるいは他の弦が振動され、しかもその弦につい
てまだ発音開始指令を外部音源モジュール200に出力し
ていない状態、つまり回数カウンタ9が0でない場合
は、ステップT7でNOの判断をしてステップT8へ進む。
If the string or another string is vibrated, and the sound generation start command for the string is not yet output to the external tone generator module 200, that is, if the frequency counter 9 is not 0, it is determined NO in step T7 Go to T8.

ステップT8では、今回検知した弦のフレット番号が、既
に発音中の弦であって最も新しく操作された弦のフレッ
ト番号(これはバッファメモリ8から読出される)と±
5フレット以内の差であるか判断する。
In step T8, the fret number of the string detected this time is equal to the fret number of the string which is already being sounded and which has been operated most recently (this is read from the buffer memory 8).
Determine if the difference is within 5 frets.

この±5というフレットの差の値は、必ずしもこの値に
限定されるものでないが、人間の指で通常の演奏を行う
とき、ひとつの指である弦のあるフレットを操作しなが
ら他の指で操作して届く他の弦のフレットの位置の範囲
を意味するものである。
The value of the fret difference of ± 5 is not necessarily limited to this value, but when performing a normal performance with a human finger, while operating a fret with a string, which is one finger, with another finger. It refers to the range of fret positions on other strings that can be reached by operation.

そして、もし範囲内にあればYESとなって続けてステッ
プT9以降の処理を実行するが、もし範囲外となってNOと
なれば、メインフローへリターンする。つまり、前の操
作フレットから±5フレットを越えて操作されていると
検出されるとこれは、CPU100が倍音の周期等をAカウン
タ16、Bカウンタ17が誤って抽出したものと判断して、
これまで抽出した音階情報の変更をしたり、ONカウンタ
101の初期設定をしたりすることなく、この割込処理を
終了する。
Then, if it is within the range, YES is given and the processings after step T9 are continuously executed, but if it is outside the range and NO is given, the process returns to the main flow. In other words, when it is detected that the previous operation fret exceeds ± 5 frets, this is because the CPU 100 judges that the A counter 16 and the B counter 17 have erroneously extracted the overtone cycle,
You can change the scale information that has been extracted so far, or use the ON counter
This interrupt process is terminated without initializing 101.

そして、上記ステップT5にて発音中の弦がないと検出さ
れた場合、ステップT7にて回数カウンタ9が0であると
検出された場合、及び上記ステップT8にてYESの判断が
なされた場合においては、次にステップT9へ進む。ステ
ップT9では、今回操作された弦の音階情報をバッファメ
モリ8の所定エリアに記録する。
When it is detected in step T5 that there is no sounding string, when it is detected in step T7 that the number counter 9 is 0, and when it is determined YES in step T8. Then proceeds to step T9. At step T9, the scale information of the string operated this time is recorded in a predetermined area of the buffer memory 8.

このステップT9にて書込んだ音階情報が、次のステップ
T10で使用される。即ち、前回同様にして書込んだ音階
情報(半音単位)と、今回書込んだ音階情報(半音単
位)とを比較し、一致するか否か、つまり抽出した周期
が半音以内の相違なのか否か判断する。もしNOの判断が
でると、ONカウンタ101を初期設定する(ステップT1
1)。つまり、ピッチ抽出の一致比較を再度最初からや
り直すこととなる。
The scale information written in this step T9 is used in the next step.
Used in T10. That is, the scale information (semitone unit) written in the same manner as the previous time is compared with the scale information (semitone unit) written this time, and whether or not they match, that is, whether or not the extracted cycles are within a semitone or not. To determine. If NO is determined, the ON counter 101 is initialized (step T1
1). That is, the coincidence comparison of pitch extraction is performed again from the beginning.

もし、ステップT10にてYESの判断がなされると、次にス
テップT12にゆき、ONカウンタ101が0であるかチェック
する。もし0でなければステップT13へゆきONカウンタ1
01をデクリメント(−1)して、ステップT14で0にな
ったかどうかみる。
If YES is determined in step T10, the process proceeds to step T12, and it is checked whether the ON counter 101 is 0. If not 0, go to step T13 and turn ON counter 1
Decrement (-1) 01 and see if it became 0 at step T14.

ステップT12やステップT14でYESの判断がなされると、
ステップT15において、発音・周波数制御指令をMIDIイ
ンターフェイス10を介して、外部音源モジュール200へ
転送し、対応する音高の楽音の発生制御をする。この場
合、発音開始時にあっては、半音単位の周波数情報によ
って発音を開始し、しかる後は半音以下の周波数情報も
加味して楽音の音高を決定するようにしてもよい。ある
いは、最初から、半音以下の周波数情報を反映して、楽
音の音高制御とするようにしてもよい。
If YES is determined in step T12 or step T14,
In step T15, the tone generation / frequency control command is transferred to the external tone generator module 200 via the MIDI interface 10 to control the generation of the musical tone of the corresponding pitch. In this case, at the start of sounding, the sounding may be started by the frequency information in semitone steps, and thereafter, the pitch of the musical tone may be determined in consideration of the frequency information of a semitone or less. Alternatively, the pitch control of the musical tone may be performed by reflecting the frequency information of a semitone or less from the beginning.

そして、このステップT15においては、更に、今回抽出
したフレット番号をバッファメモリ8の所定箇所に記憶
する。このフレット番号は、最新の操作弦1つについて
のみ記憶され、以降のインタラプト処理中のステップT8
にて使用される。
Then, in this step T15, the fret number extracted this time is further stored in a predetermined portion of the buffer memory 8. This fret number is stored only for the latest one of the operated strings, and the step T8 during the subsequent interrupt processing is performed.
Used in.

そして、このステップT15の処理の後、あるいは、ステ
ップT14でNOの判断した場合にはメインフローへ、割り
込みを終了したとしてもどる。
Then, after the processing of step T15, or when NO is determined in step T14, the process returns to the main flow even if the interruption is completed.

なお、図面では、ONカウンタ101が0か否かジャッジし
ているが、ONカウンタ101からボローが出るか否かでジ
ャッジし、ボローがでたらONカウンタ101をゼロに設定
し、ステップT15を実行し、ボローがでなかったら、ス
テップT15を実行することなくメインフローへもどるよ
うに、ステップT12〜T14を変更してもよい。このような
変更は自明である。
In the drawing, the ON counter 101 is judged whether it is 0 or not, but it is judged by whether or not the borrow comes out from the ON counter 101, and when the borrow comes out, the ON counter 101 is set to zero and step T15 is executed. However, if there is no borrow, steps T12 to T14 may be changed so as to return to the main flow without executing step T15. Such changes are self-evident.

このように、発音開始後にあって、回数カウンタ9が0
の場合においては、この割込み処理の際、ステップT15
において上述した条件を満足すれば周波数変更指令をMI
DIインターフェイス10を介して、外部音源モジュール20
0に送出し、弦振動の周波数変化にあわせた音高変更制
御をする。弦振動が減衰してくると、消音制御もこのス
テップT15で行う。
As described above, the number counter 9 is set to 0 after the start of sound generation.
In the case of, at the time of this interrupt processing, step T15
If the above conditions are satisfied in the
External sound source module 20 via DI interface 10
It is sent to 0 and the pitch change control is performed according to the frequency change of the string vibration. When the string vibration is attenuated, mute control is also performed at this step T15.

従って、メインルーチンにて、各弦の振動周期に対応す
る計数値がCPU100にて検出されている状態で、このイン
タラプト処理T1〜T15を実行することにより、当該ピッ
チの楽音の発生制御が外部音源モジュール200に対し行
われる。
Therefore, in the main routine, while the count value corresponding to the vibration period of each string is detected by the CPU 100, by executing the interrupt processing T1 to T15, the generation control of the musical sound of the pitch is performed by the external sound source. Performed on module 200.

第6図中U1〜U5の各ステップは、A/Dコンバータ7からA
/D終了信号をインタラプトで受付けて処理する場合の割
込ルーチンの詳細を示しており、A/D割込みが許可され
ている状態(ステップS10の判断がNO)で有効となる処
理である。
Each step of U1 to U5 in FIG. 6 is performed by the A / D converter 7 to A.
The details of the interrupt routine in the case of accepting and processing the / D end signal by the interrupt are shown, and the processing is effective when the A / D interrupt is enabled (NO in the determination in step S10).

各ステップの処理の内容は、上述したメインルーチンの
ステップS12〜S16と全く同じ内容なので、説明は省略す
る。
Since the contents of the processing of each step are exactly the same as those of steps S12 to S16 of the above-mentioned main routine, the description thereof will be omitted.

以上説明したように、本実施例によれば、ONカウンタ10
1のダウンカウント動作に対し、今回抽出した弦のフレ
ット位置と、既に発音中の弦のフレット位置とが±5フ
レットを越えて離れていると検知された場合(ステップ
T8でNOと判断)には、何ら影響を与えず、次回の周期抽
出に備えるようにし、またこの誤って抽出した周期情報
を以降の音階比較の際(ステップT10)に使用しない
(ステップT8からステップT9を通ることなくリターンし
ている)ようにしている。従って、発音開始時(回数カ
ウンタ9が0でない)に、ピッチ抽出を速やかに行える
ようにしている。
As described above, according to this embodiment, the ON counter 10
For the down count operation of 1, if it is detected that the fret position of the string extracted this time and the fret position of the string that is already sounding are separated by more than ± 5 frets (step
(No judgment at T8) does not have any effect, and prepares for the next period extraction, and does not use this erroneously extracted period information for subsequent scale comparison (step T10) (from step T8). It returns without going through step T9). Therefore, at the start of sound generation (when the number counter 9 is not 0), pitch extraction can be performed quickly.

第6図において、仮にステップT5〜T8の処理がないとす
れば、誤って高次の倍音の周期を抽出して、前回の抽出
の周期と不一致の場合に、再度ONカウンタ101が初期化
され、発音開始時の音高決定に時間がかかり、発音開始
の応答性が悪くなるという問題がでてくる。
In FIG. 6, if it is assumed that steps T5 to T8 are not performed, the ON counter 101 is initialized again when the cycle of higher harmonics is erroneously extracted and the cycle of the previous extraction does not match. However, there is a problem that it takes time to determine the pitch at the start of sounding, and the responsiveness at the start of sounding deteriorates.

また、極端な場合、ステップT5〜T8がないときは誤って
高次倍音の周期をONカウンタ101の初期セット値に相当
する回数だけ続けて検知した場合に、その周期に相当す
る音高の楽音を発生してしまう。
In an extreme case, when steps T5 to T8 are not performed, when the cycle of the higher harmonics is erroneously detected continuously for the number of times corresponding to the initial set value of the ON counter 101, the musical sound of the pitch corresponding to the cycle is detected. Will occur.

このような判断ミスを、これまでに発音している弦のフ
レット番号と、今回の弦のフレット番号との比較をステ
ップT8で行っていることで、なくすことが可能となる。
By making a comparison between the fret number of the string that has been sounded so far and the fret number of the string this time in step T8, it is possible to eliminate such a judgment error.

なお、上述した実施例以外に本発明は種々適用できる。The present invention can be variously applied other than the above-mentioned embodiments.

例えば、上記実施例は、ボディ上に6つの弦が設けられ
たタイプの電子ギターであったが、その他のタイプの電
子弦楽器にも適用可能である。
For example, the above embodiment is an electronic guitar of a type in which six strings are provided on the body, but it is also applicable to other types of electronic string musical instruments.

また、上記実施例においては、ゼロクロスコンパレータ
14によるゼロクロス点の検知に基づいて得た周期データ
によってピッチ抽出を行なっているが、それ以外の方式
によって、例えば最大ピーク値間などを検知することに
よってピッチ抽出をしてもよい。
Further, in the above embodiment, the zero cross comparator
Although the pitch is extracted by the period data obtained based on the detection of the zero cross point by 14, the pitch may be extracted by a method other than that, for example, by detecting the interval between the maximum peak values.

更に、上記実施例では回数カウンタ9で、メインルーチ
ンの処理回数をカウントすることにより発音開始時の集
中処理を保障したがそれ以外の手段で同様のことを行っ
てもよい。例えば、時間をカウントすることにより達成
する、つまり一定期間について時間カウントをして、そ
の間集中処理を保障するようにしてもよい。
Further, in the above embodiment, the number of times of processing of the main routine is counted by the number counter 9 to ensure the centralized processing at the start of sound generation, but the same may be done by other means. For example, this may be achieved by counting the time, that is, the time may be counted for a certain period, and the centralized processing may be guaranteed during that time.

加えて、上記実施例では、発音開始時(回数カウンタ9
が0でないとき)のみ、ステップT8を行って、既発音の
弦のフレット操作位置と、抽出した周期に対応するフレ
ット操作位置とを比較し、その比較出力によって適宜処
理形態を変更しているが、回数カウンタ9の内容とは無
関係に、そのような処理を行うようにしてもよい。
In addition, in the above-described embodiment, at the start of sound generation (number counter 9
Is not 0) only, the step T8 is performed to compare the fret operation position of the already-pronounced string with the fret operation position corresponding to the extracted period, and the processing form is appropriately changed according to the comparison output. Alternatively, such processing may be performed regardless of the content of the frequency counter 9.

加えて、上記実施例においては、弦が新たにピッキング
されたとき、第6図のステップS14もしくはステップU3
において、回数カウンタ9を所定値にセットし、その値
に応じた回数だけ、ピッキングされて発音開始すべき弦
についてのAカウンタ16、Bカウンタ17のカウント値の
読み込み(ステップS6)や、ピッチ抽出のための演算処
理(ステップT3〜T15)を、他の弦(即ち、ピッキング
されて発音開始すべき弦以外の弦)についての同様処理
を行わないことで優先的に実行するようにした。
In addition, in the above embodiment, when the string is newly picked, step S14 or step U3 in FIG.
In step 1, the number counter 9 is set to a predetermined value, and the count values of the A counter 16 and the B counter 17 for the strings to be picked to start sounding are read (step S6) and pitch extraction is performed a number of times corresponding to the value. The calculation process for steps (steps T3 to T15) is preferentially executed by not performing the same process for other strings (that is, strings other than the strings that are picked and should start sounding).

しかし、若干のCPU100の処理フローの変更で、トレモロ
奏法によって、弦の振動を続けざまに指示した場合の、
再発音開始処理についても同様に対処することを可能と
する。
However, if you slightly instruct the vibration of the strings by the tremolo playing method by slightly changing the processing flow of the CPU 100,
It is possible to deal with the re-pronunciation start processing in the same manner.

即ち、例えば、ステップS13もしくはステップU2(第6
図参照)において、(i)振動していない弦が新たにピ
ッキングされて、対応する電気信号の出力レベルが所定
レベルを越えたときと、(ii)振動中であるがピッキン
グされてから時間がたってその振動に従った電気信号の
出力レベルが低下している弦が、再びピッキングされ
て、再び所定レベルを越えるようになったときとの2つ
条件を夫々検知し、夫々の場合にステップS13やステッ
プU2からステップS14やステップU3へ進んで、上述同様
に回数カウンタ9に所定の値をプリセットするようにす
ればよい。
That is, for example, step S13 or step U2 (sixth
(See the figure), (i) when a non-vibrating string is newly picked and the output level of the corresponding electric signal exceeds a predetermined level, and (ii) when vibration is occurring but the time after picking is Two conditions are detected, that is, when the string whose output level of the electric signal has fallen due to the vibration is picked again and exceeds the predetermined level again. In each case, step S13 is detected. From step U2 to step S14 or step U3, a predetermined value may be preset in the frequency counter 9 as described above.

又、かかるフローの変更をなした場合は、ステップS4、
ステップT2では、(i)当該弦が振動しておらず、従っ
て、楽音が発生していないこと、ならびに(ii)発音中
であっても音量レベルが所定値以下となった後、再びし
きい値を越えてきていることの双方について検知し、ス
テップS4、ステップT2にてNOの判断をして、次にステッ
プS5、S6あるいはステップT3〜T15を実行するように、
処理内容を変更すればよい。
If the flow is changed, step S4,
In step T2, (i) the string is not vibrating, and therefore no musical sound is generated, and (ii) the threshold level is reached again after the volume level falls below the predetermined value even during sounding. Detecting that both values are exceeded, make a NO determination in step S4 and step T2, and then execute steps S5, S6 or steps T3 to T15.
The processing content may be changed.

[発明の効果] 以上詳述したように、本発明によれば、弦の振動周期を
抽出して得た当該弦の押圧位置が、それまで発音してい
る楽音に対応する弦の押圧位置と大きく異なっている場
合は、通常の操作では起こり得ないこととして、倍音や
ノイズを基本波形として抽出したものとみなし、当該フ
レット位置についての周波数の楽音の発生開始は指示し
ないようにしたので、ピッチ抽出時のノイズ除去が強力
に行え、誤った音高の楽音の発生が防げ、演奏上好都合
となる。
[Effects of the Invention] As described in detail above, according to the present invention, the pressing position of the string obtained by extracting the vibration cycle of the string is the pressing position of the string corresponding to the musical sound that has been produced until then. If there is a large difference, it is considered that it can not occur in normal operation, it is considered that overtones or noises are extracted as the basic waveform, and it is not instructed to start the generation of the musical sound of the frequency at the fret position. The noise at the time of extraction can be strongly removed, and the generation of musical tones with incorrect pitch can be prevented, which is convenient for performance.

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

図面は、本発明の一実施例を示し、第1図は、同実施例
の回路構成を示す図、第2図は、第1図のゼロクロスコ
ンパレータの詳細回路図、第3図は、ピーク位置及びエ
ンベロープ検出回路の詳細回路図、第4図及び第5図
は、同実施例の動作のタイミングチャートを示す図、第
6図は、同実施例の動作を示すフローチャートを示す図
である。 1〜6……ピッチ抽出回路、7……A/Dコンバータ、9
……回数カウンタ、14……ゼロクロスコンパレータ、15
……1/2分周器、16……Aカウンタ、17……Bカウン
タ、19……ピーク位置及びエンベロープ検出回路、100
……CPU、101……ONカウンタ、200……外部音源モジュ
ール。
The drawings show an embodiment of the present invention, FIG. 1 is a diagram showing a circuit configuration of the embodiment, FIG. 2 is a detailed circuit diagram of the zero-cross comparator of FIG. 1, and FIG. 3 is a peak position. FIG. 4 is a detailed circuit diagram of the envelope detection circuit, FIGS. 4 and 5 are timing charts showing the operation of the embodiment, and FIG. 6 is a flow chart showing the operation of the embodiment. 1-6 ... Pitch extraction circuit, 7 ... A / D converter, 9
…… Count counter, 14 …… Zero cross comparator, 15
...... 1/2 divider, 16 ... A counter, 17 ... B counter, 19 ... Peak position and envelope detection circuit, 100
...... CPU, 101 …… ON counter, 200 …… External sound source module.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】押圧された位置に対応する周期で振動する
弦の振動の周期を抽出する周期抽出手段と、 前記周期抽出手段が抽出した前記周期に基づいて、前記
弦の押圧位置を判定する押圧位置判定手段と、 前記弦の振動の振幅が所定値以上になったことを検出す
る振幅検出手段と、 前記振幅検出手段が前記振幅が前記所定値以上になった
ことを検出すると、前記周期抽出手段が抽出した前記周
期に対応する音高の楽音の発生を指示する楽音発生指示
手段と、 前記楽音発生指示手段の指示により前記楽音発生中に、
前記周期抽出手段が現在発生中の前記楽音に対応する前
記周期とは異なる新たな前記周期を抽出した場合、前記
押圧位置判定手段が該新たな周期に基づいて判定した前
記押圧位置と、該押圧位置判定手段が既に判定した現在
発生中の前記楽音に対応する前記押圧位置との位置の差
が所定範囲内であれば、前記楽音発生指示手段が前記新
たな周期に対応する音高の前記楽音の発生を指示し、前
記位置の差が前記所定範囲外であれば、前記楽音発生指
示手段が前記新たな周期に対応する音高の前記楽音の発
生を指示しないように制御す流 制御手段と を有することを特徴とする電子弦楽器の入力制御装置。
1. A cycle extracting means for extracting a cycle of vibration of a string vibrating in a cycle corresponding to a pressed position, and a pressing position of the string is determined based on the cycle extracted by the cycle extracting means. The pressed position determining means, an amplitude detecting means for detecting that the amplitude of the vibration of the string is equal to or more than a predetermined value, and the amplitude detecting means detects that the amplitude is equal to or more than the predetermined value, the cycle A tone generation instruction means for instructing the generation of a tone having a pitch corresponding to the period extracted by the extraction means, and during the tone generation by the instruction of the tone generation instruction means,
When the cycle extraction means extracts a new cycle different from the cycle corresponding to the musical sound currently being generated, the pressed position determined by the pressed position determination means based on the new cycle, and the pressed position If the position difference between the pressed position corresponding to the currently generated musical tone that has already been determined by the position determination means is within a predetermined range, the musical tone generation instruction means causes the musical tone of the pitch corresponding to the new cycle. And the position difference is outside the predetermined range, the tone generation instruction means controls so as not to instruct the tone generation with the pitch corresponding to the new cycle. An input control device for an electronic stringed instrument, comprising:
JP62134219A 1987-05-29 1987-05-29 Input control device for electronic stringed instruments Expired - Fee Related JPH0750395B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62134219A JPH0750395B2 (en) 1987-05-29 1987-05-29 Input control device for electronic stringed instruments

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62134219A JPH0750395B2 (en) 1987-05-29 1987-05-29 Input control device for electronic stringed instruments

Publications (2)

Publication Number Publication Date
JPS63298397A JPS63298397A (en) 1988-12-06
JPH0750395B2 true JPH0750395B2 (en) 1995-05-31

Family

ID=15123207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62134219A Expired - Fee Related JPH0750395B2 (en) 1987-05-29 1987-05-29 Input control device for electronic stringed instruments

Country Status (1)

Country Link
JP (1) JPH0750395B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2858313B2 (en) * 1988-12-07 1999-02-17 カシオ計算機株式会社 Pitch information generation device

Also Published As

Publication number Publication date
JPS63298397A (en) 1988-12-06

Similar Documents

Publication Publication Date Title
JPH0750395B2 (en) Input control device for electronic stringed instruments
JP2560327B2 (en) Electronic string instrument
JP2532233Y2 (en) Electronic string instrument
JPH0715031Y2 (en) Electronic stringed instrument
JP2969138B2 (en) Pitch detection device
JPH0715030Y2 (en) Tuning device
JP4198046B2 (en) Electronic stringed instruments
EP0264955B1 (en) Apparatus for determining the pitch of a substantially periodic input signal
JP2508044B2 (en) Electronic musical instrument input control device
JP2532424B2 (en) Waveform signal input controller
JP2555553B2 (en) Input waveform signal controller
JPH0658598B2 (en) Electronic stringed instrument
JP2555551B2 (en) Input waveform signal controller
JP2581068B2 (en) Waveform signal controller
JPH0727512Y2 (en) Input control device for electronic musical instruments
JP3028041B2 (en) Music element extraction device
JP2000105590A (en) Chord vibration pitch detecting device and chord vibration pitch detecting method
JP2829987B2 (en) Pitch determination device
JPS63136088A (en) Input controller for electronic musical instrument
JP2765578B2 (en) Waveform signal controller
JPH0431599B2 (en)
JPH0782320B2 (en) Music control device
JPH083711B2 (en) Input waveform signal controller
JP2000105589A (en) Trigger detecting device and method thereof
JPH07104666B2 (en) Pitch extractor

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees