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
JPH0682273B2 - Electronic stringed instrument - Google Patents
[go: Go Back, main page]

JPH0682273B2 - Electronic stringed instrument - Google Patents

Electronic stringed instrument

Info

Publication number
JPH0682273B2
JPH0682273B2 JP63007276A JP727688A JPH0682273B2 JP H0682273 B2 JPH0682273 B2 JP H0682273B2 JP 63007276 A JP63007276 A JP 63007276A JP 727688 A JP727688 A JP 727688A JP H0682273 B2 JPH0682273 B2 JP H0682273B2
Authority
JP
Japan
Prior art keywords
data
value
fret
processing unit
central processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP63007276A
Other languages
Japanese (ja)
Other versions
JPH01183695A (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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP63007276A priority Critical patent/JPH0682273B2/en
Priority to US07/296,807 priority patent/US4951546A/en
Publication of JPH01183695A publication Critical patent/JPH01183695A/en
Publication of JPH0682273B2 publication Critical patent/JPH0682273B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 本発明は電子弦楽器のミュート奏法の検出にかかり、詳
しくは、撥弦時の弦に生じる振動の減衰度に基づき演奏
者の意図を判断して楽音の発生を制御する技術に関す
る。
The present invention relates to detection of a mute playing method of an electronic stringed instrument, and more specifically, the generation of a musical tone is controlled by judging the player's intention based on the degree of attenuation of vibration generated in a string during plucking. Regarding technology.

[従来の技術] 従来、この種の電子弦楽器としては、例えば特開昭62−
99790号公報に開示されているものが知られている。こ
の公報に開示されている電子弦楽器は超音波を弦に供給
し、該超音波の発信から弦と接触しているフレットで反
射される超音波のエコーの受信までの時間間隔に基づき
弦と接触しているフレットを判別する。このようにして
弦と接触するフレットが判別されると、該フレットに対
応する音高の楽音の発生に必要な楽音信号が合成され、
サウンドシステムが弦と接触するフレットで指定された
音高の楽音を所定音量で所定時間だけ発生させる。
[Prior Art] Conventionally, as an electronic stringed instrument of this type, for example, Japanese Patent Laid-Open No.
The one disclosed in Japanese Patent Publication No. 99790 is known. The electronic stringed instrument disclosed in this publication supplies ultrasonic waves to a string and makes contact with the string based on the time interval from the transmission of the ultrasonic wave to the reception of the echo of the ultrasonic wave reflected by the frets in contact with the string. Determine which frets are playing. When the frets contacting the strings are determined in this way, the musical tone signals necessary for generating the musical tone of the pitch corresponding to the frets are synthesized,
The sound system generates a musical sound of a specified pitch on a fret that comes into contact with a string at a predetermined volume for a predetermined time.

[発明が解決しようとする問題点] しかしながら、上記電子弦楽器では超音波の伝播信号の
有無のよりキーオン/キーオフを決定していたので、演
奏者が弦の振幅を変化させ、いわゆるミュート操作をし
ても楽音のエンベロープは変化しない。その結果、弦の
振幅を直接楽音のエンベロープに反映させていた電気ギ
ターおよび自然楽器に属するギターのようにミュート効
果を発生させることができず、弦楽器での音楽表現に制
限があるという問題点があった。
[Problems to be Solved by the Invention] However, since the key-on / key-off is decided depending on the presence or absence of the ultrasonic propagation signal in the above-mentioned electronic string instrument, the performer changes the amplitude of the string and performs a so-called mute operation. However, the tone envelope does not change. As a result, the mute effect cannot be generated unlike the electric guitar and the guitar belonging to the natural musical instrument that directly reflect the amplitude of the string on the musical sound envelope, and there is a problem that the musical expression on the stringed instrument is limited. there were.

したがって、本発明はミュート効果の発生可能な電子弦
楽器を提供することである。
Therefore, the present invention is to provide an electronic stringed instrument capable of producing a mute effect.

[問題点を解決するための手段] 本発明はミュート操作時に弦の振動が急速に減衰するこ
とに着目し、上記弦振動の振幅変化を監視していればミ
ュート操作を検出できることに鑑みなされたものであ
り、第1図に示されているように、その要旨は、音高指
定部1を有する楽器本体2に張設され音高指定時に上記
音指定部1に押圧される弦3と、該弦3に超音波を与え
該超音波の伝播時間に基づき上記弦3が接触する音高指
定部1の位置を判別する位置判別手段4と、上記位置判
別手段4で判別された上記音高指定部1の位置に対応す
る音高の楽音を発生させる楽音発生手段5と、上記弦を
伝播した上記超音波の振幅を継続して検出する振幅検出
手段6と、上記振幅検出手段6で検出された超音波の振
幅の減衰度が一定値以上であれば上記楽音発生手段5で
発生された上記楽音の発生を急速に停止させるミュート
実現手段7とを備えたことである。
[Means for Solving Problems] The present invention has been made paying attention to the fact that the vibration of the string is rapidly attenuated during the mute operation, and the mute operation can be detected by monitoring the amplitude change of the string vibration. As shown in FIG. 1, the gist thereof is a string 3 stretched on a musical instrument body 2 having a pitch designating portion 1 and pressed by the pitch designating portion 1 when the pitch is designated, Position determining means 4 for applying an ultrasonic wave to the string 3 to determine the position of the pitch designating part 1 with which the string 3 contacts based on the propagation time of the ultrasonic wave, and the pitch determined by the position determining means 4. A musical tone generating means 5 for generating a musical tone having a pitch corresponding to the position of the designated portion 1, an amplitude detecting means 6 for continuously detecting the amplitude of the ultrasonic wave propagated through the strings, and an amplitude detecting means 6 for detecting the amplitude. If the attenuation of the amplitude of the generated ultrasonic wave is a certain value or more, And mute realizing means 7 for rapidly stopping the generation of the musical sound generated by the generating means 5.

[発明の作用] 上記構成に係る電子弦楽器の演奏時には、演奏者は弦を
音高指定部に押圧して音高を指定しつつ電子弦楽器の演
奏を行う。位置判別手段は超音波を弦に与え、その伝播
時間を測定し、この伝播時間に基づき弦の押圧されてい
る音高指定部の位置を判別する。上記弦を伝播した超音
波は振幅検出手段にも並列に供給されるので、振幅検出
手段は超音波の振幅を継続して検出し、ミュート実現手
段は振幅検出手段から順次供給される超音波の振幅に基
づき振幅の減衰度を算出する。このようにして、音高指
定部の弦と接触している位置と振幅の減衰度とがそれぞ
れ算出されると、楽音発生手段は上記音高指定部の弦と
接触している位置に対応する音高の楽音の発音を開始す
る。ここで、ミュート実現手段は上記振幅の減衰度が一
定値以上か否かを判断し、一定値未満であれば通常の奏
法と判断して楽音発生手段が楽音の発生を所定期間継続
させた後に終了させることを許容する。これに対して、
振幅の減衰度が一定値以上であれば、ミュート実現手段
は楽音発生手段に楽音の発生を急速に終了させて、ミュ
ート効果を実現する。
[Operation of the Invention] When playing the electronic stringed instrument according to the above configuration, the player plays the electronic stringed instrument while pressing the strings against the pitch specifying portion to specify the pitch. The position discriminating means applies an ultrasonic wave to the string, measures its propagation time, and discriminates the position of the pitch designating portion on which the string is pressed based on this propagation time. Since the ultrasonic waves propagated through the strings are also supplied in parallel to the amplitude detecting means, the amplitude detecting means continuously detects the amplitude of the ultrasonic waves, and the mute realizing means detects the ultrasonic waves sequentially supplied from the amplitude detecting means. The amplitude attenuation is calculated based on the amplitude. In this way, when the position in contact with the string of the pitch designating part and the attenuation of the amplitude are respectively calculated, the musical sound generating means corresponds to the position in contact with the string of the pitch designating part. Starts pitching musical tones. Here, the mute realizing means judges whether or not the degree of attenuation of the amplitude is above a certain value, and if it is less than a certain value, it is judged as a normal rendition style, and the musical sound generating means continues the generation of the musical sound for a predetermined period. Allow to terminate. On the contrary,
If the degree of attenuation of the amplitude is equal to or higher than a certain value, the mute realizing means causes the musical sound generating means to rapidly terminate the generation of the musical sound, and realizes the mute effect.

[実施例] 電子弦楽器の概略構成 第2図は本発明の一実施例の概略構成を示すブロック図
である。図において、21はギターボディであり、このギ
ダーボディ21の長手方向には6本の直径の異なる弦23,2
5,・・・が互いに並行に張設されている。各弦23,25・
・のテールピース側には圧電素子27,29,・・が対応する
弦23,25,・・に接触するようにギターボディ21に固定さ
れており、更に、各圧電素子27,29,・・の近傍には電磁
ピックアップ31,33,・・が弦23,25,・・に対応して固定
されている。更に、圧電素子27,29,・・と電磁ピックア
ップ31,33,・・との間にはベンドセンサ35,37,・・が弦
23,25,・・に対応してギターボディ21に固定されてお
り、これらのベンドセンサ35,37,・・は弦23,25,・・の
ベンド量を検出して発生する楽音にベンド効果を付与す
る。一方、ギターボディ21のネック側には複数、典型的
には24本のフレット39,41,・・,43,45が弦23,25、・・
に略直角に固定されており、各弦3,25,・・は演奏時に
ギターボディ21のネック部に押圧されてフレット39,41,
・・,43,45に接触する。
[Embodiment] Schematic Configuration of Electronic String Instrument FIG. 2 is a block diagram showing a schematic configuration of an embodiment of the present invention. In the figure, reference numeral 21 is a guitar body, and six strings 23, 2 having different diameters are arranged in the longitudinal direction of the gider body 21.
5, ... are stretched in parallel with each other. Each string 23,25
The piezoelectric element 27,29, ... is fixed to the guitar body 21 on the tail piece side so as to contact the corresponding string 23,25 ,. In the vicinity of, electromagnetic pickups 31, 33, ... Are fixed corresponding to the strings 23, 25 ,. Further, bend sensors 35, 37, ... Are connected between the piezoelectric elements 27, 29, .. and the electromagnetic pickups 31, 33 ,.
It is fixed to the guitar body 21 corresponding to 23,25, ..., and these bend sensors 35,37, .. bend effect on the musical sound generated by detecting the bend amount of the strings 23,25 ,. Is given. On the other hand, on the neck side of the guitar body 21, there are a plurality of, typically 24 frets 39, 41, ..., 43, 45 strings 23, 25 ,.
The strings 3, 25, ... are pressed against the neck of the guitar body 21 during playing and the frets 39, 41,
..Contact with 43,45

これらの圧電素子27,29,・・と電磁ピックアップ31,33,
・・とベンドセンサ35,37,・・とはスイッチ群59ととも
にインターフェース61を介してバスシステム63に接続さ
れており、このバスシステム63には中央処理装置(CP
U)65とプログラムメモリ67とレジスタ群69と各種のテ
ーブル71とトーンジェネレータ(TG)73とが更に接続さ
れている。上記プログラムメモリ65は読み出し専用メモ
リで構成されており、第10図〜第14図、第16図〜第18
図、第20図〜第24図の各プログラムに示されているアル
ゴリズムを実現するための命令が保持されている。ま
た、レジスタ群69は随時読み出し書き込みメモリで構成
されており、後に詳述する各種データを書き換え可能に
保持している。これに対して、各種テーブル71は読み出
し専用メモリで構成されており、上記プログラムの実行
の際参照される固定データが記憶されている。トーンジ
ェネレータ73は中央処理装置65からデータの供給を受け
て楽音信号を形成し、この楽音信号は増幅器とスピーカ
とで構成されるサウンドシステム75に供給されて楽音の
発生に供される。第2図に示された回路は更にクロック
発生回路77を有しており、このクロック発生回路77は1K
Hzのタイマークロックを中央処理装置65とインターフェ
ース61とに供給している。中央処理装置65はタイマーク
ロックの印加時にタイマー割り込みを発生させ、第11図
に示されているプログラムを実行する。これに対して、
インターフェース61はタイマークロックCKの供給を受け
ると1msec毎の弦振動の最大振幅値を保持し、中央処理
装置65からのアクセスに備える。この弦振動に最大振幅
値のラッチについては第5図に関して後に詳述する。
These piezoelectric elements 27,29, ... and electromagnetic pickups 31,33,
.. and the bend sensors 35, 37, .. and the switch group 59 are connected to a bus system 63 via an interface 61, and the bus system 63 has a central processing unit (CP).
U) 65, program memory 67, register group 69, various tables 71, and tone generator (TG) 73 are further connected. The program memory 65 is composed of a read-only memory, and is shown in FIGS. 10 to 14 and 16 to 18.
Instructions for implementing the algorithm shown in each program of FIGS. 20 to 24 are held. Further, the register group 69 is composed of a read / write memory at any time, and rewritably holds various data described later. On the other hand, each table 71 is composed of a read-only memory, and stores fixed data that is referred to when the above program is executed. The tone generator 73 is supplied with data from the central processing unit 65 to form a musical tone signal, and the musical tone signal is supplied to a sound system 75 including an amplifier and a speaker to generate a musical tone. The circuit shown in FIG. 2 further includes a clock generation circuit 77, which is 1K.
A timer clock of Hz is supplied to the central processing unit 65 and the interface 61. The central processing unit 65 generates a timer interrupt when the timer clock is applied, and executes the program shown in FIG. On the contrary,
When the interface 61 receives the supply of the timer clock CK, the interface 61 holds the maximum amplitude value of the string vibration for every 1 msec, and prepares for access from the central processing unit 65. The latch of the maximum amplitude value for this string vibration will be described later in detail with reference to FIG.

インターフェース61の詳細構成 続いて、第3図〜第5図を参照してインターフェース61
の詳細構成を説明する。第3図は超音波の発生回路およ
び超音波の伝播時間の計時回路の構成を示すブロック図
であり、第3図に現れる主要信号のタイミングを第4図
に示す。第5図は1msec毎の弦振幅の最大値を検知する
回路の構成を示すブロック図である。また、第6図はベ
ンドセンサから供給されるベンド量を処理する回路であ
る。
Detailed Configuration of Interface 61 Next, referring to FIG. 3 to FIG.
The detailed configuration of will be described. FIG. 3 is a block diagram showing a configuration of an ultrasonic wave generation circuit and an ultrasonic wave propagation time measurement circuit, and FIG. 4 shows the timing of main signals appearing in FIG. FIG. 5 is a block diagram showing the configuration of a circuit for detecting the maximum value of the chord amplitude every 1 msec. Further, FIG. 6 shows a circuit for processing the bend amount supplied from the bend sensor.

まず、第3図〜第4図を参照して超音波の発生回路およ
び伝播時間の計時回路を説明する。これらの回路は各圧
電素子27,29,・・毎に設けられているが、以下の説明で
は圧電素子27に関してのみ説明する。
First, an ultrasonic wave generating circuit and a propagation time measuring circuit will be described with reference to FIGS. Although these circuits are provided for each piezoelectric element 27, 29, ..., Only the piezoelectric element 27 will be described below.

上述のようにクロック発生回路77は1msec毎にタイマー
クロックCKを発生させており(第4図(A)参照)、タ
イマークロックはインターフェース61の単安定マルチバ
イブレータ(M.M.1)79に供給されてタイマークロックC
Kの前縁で立ち上がる駆動パルスP1を発生させる(第4
図(B)参照)。この駆動パルスP1は定電流増幅器81で
増幅された後に圧電素子27に供給される。その結果、圧
電素子27は高周波で機械的に振動し(以下、この高周波
の振動を超音波BRという)、この超音波BRは弦23に伝達
される。弦23に伝達された超音波BRは弦23を伝播してゆ
き、演奏者が音高の指定を所望して弦23をギターボディ
21のネックに押圧していると、超音波BRは弦23と接触し
ているフレット39,41,・・,43または45に反射されてエ
コーECを発生させる。このエコーECは再び弦23を伝播し
てゆき、圧電素子27で再び電気信号(以下、エコー信号
という)に変換される(第4図(C)参照)。このエコ
ー信号はアナログゲート83に供給されるが、アナログゲ
ート83は単安定マルチバイブレータ(M.M.2)からの禁
止信号DS(第4図(D)参照)の存在期間のみオフして
いるので、エコー信号の到着時にはオンしており、した
がって、エコー信号はアナログゲート83を通過してピー
クホールド回路87,89に供給される(第4図(E)参
照)。ピークホールド回路87は100KHzのタイミング信号
に応答してエコー信号にサンプリングし、アナログコン
パレータ91に供給する。このアナログコンパレータ91
は、ディジタルしきい値(エコーしきい値データ、レジ
スタ群69から転送される)を保持するレジスタとアナロ
グーディジタル変換器(以下、A/D変換器という)とで
構成されるしきい値供給回路93から供給されるアナログ
しきい値と1/100msec毎に上記ピークホールド回路87か
ら出力されるエコー信号の瞬間値とを比較して、エコー
信号の瞬間値がアナログしきい値より大きくなる期間高
レベルに移行するエコー検出信号EDを立ち上がり検出回
路95と立ち下がり検出回路97とにそれぞれ供給する(第
4図(F)参照)。したがって、立ち上がり検出回路95
はエコー検出信号EDの前縁を検出して第1カウント終了
パルスP2を発生させる(第4図(G)参照)。一方立ち
下がり検出回路97はエコー検出信号EDの立ち下がりを検
出して第2カウント終了パルスP3を発生させる(第4図
(H)参照)。これに対して、ピークホールド回路89は
エコー信号の最大値を検出し、該最大値をA/D変換器89
でディジタル値に変換してこれを遅延回路100から供給
されるラッチ信号の応答してエコーレベルデータECHLVL
Sとしてレジスタ101に記憶させる。
As described above, the clock generation circuit 77 generates the timer clock CK every 1 msec (see FIG. 4 (A)), and the timer clock is supplied to the monostable multivibrator (MM1) 79 of the interface 61 and the timer clock CK is supplied. C
Drive pulse P1 rising at the leading edge of K is generated (4th
See FIG. The drive pulse P1 is amplified by the constant current amplifier 81 and then supplied to the piezoelectric element 27. As a result, the piezoelectric element 27 mechanically vibrates at a high frequency (hereinafter, this high frequency vibration is referred to as an ultrasonic wave BR), and this ultrasonic wave BR is transmitted to the string 23. The ultrasonic wave BR transmitted to the string 23 propagates through the string 23, and the player desires the pitch to be specified by the performer.
When pressed against the neck of 21, the ultrasonic wave BR is reflected by the frets 39, 41, ..., 43 or 45 that are in contact with the string 23 and produces an echo EC. The echo EC propagates again through the string 23 and is converted into an electric signal (hereinafter referred to as an echo signal) by the piezoelectric element 27 (see FIG. 4 (C)). This echo signal is supplied to the analog gate 83, but since the analog gate 83 is turned off only during the existence period of the inhibition signal DS (see FIG. 4 (D)) from the monostable multivibrator (MM2), the echo signal is Is on at the time of arrival, the echo signal passes through the analog gate 83 and is supplied to the peak hold circuits 87 and 89 (see FIG. 4 (E)). The peak hold circuit 87 samples the echo signal in response to the timing signal of 100 KHz and supplies it to the analog comparator 91. This analog comparator 91
Is a threshold supply consisting of a register holding a digital threshold (echo threshold data, transferred from register group 69) and an analog-digital converter (hereinafter referred to as A / D converter). The period when the instantaneous value of the echo signal is larger than the analog threshold value by comparing the analog threshold value supplied from the circuit 93 and the instantaneous value of the echo signal output from the peak hold circuit 87 every 1/100 msec. The echo detection signal ED that shifts to a high level is supplied to the rising edge detection circuit 95 and the falling edge detection circuit 97 (see FIG. 4 (F)). Therefore, the rising edge detection circuit 95
Detects the leading edge of the echo detection signal ED and generates the first count end pulse P2 (see FIG. 4 (G)). On the other hand, the fall detection circuit 97 detects the fall of the echo detection signal ED and generates the second count end pulse P3 (see FIG. 4 (H)). On the other hand, the peak hold circuit 89 detects the maximum value of the echo signal and outputs the maximum value to the A / D converter 89.
Is converted to a digital value by the echo signal and the echo level data ECHLVL is returned in response to the latch signal supplied from the delay circuit 100.
It is stored in the register 101 as S.

かかるエコー信号に関する処理と並行して、伝播時間の
計時のための準備がなされる。すなわち、先行するエコ
ー検出信号でリセットされたフリップフロップ103,105
にタイマークロックCKが供給されると、これらのフリッ
プフロップ103,105はセットされ、アンドゲート107,109
の一方の入力がそれぞれ高レベル(第4図(I),
(J)参照)に移行する。その結果、アンドゲート107,
109は2MHzのクロックパルスを通過させ、カウンタ111,1
13はアンドゲートから供給されるクロックパルスをカウ
ントパルスCNTとして計時を開始する。したがって、カ
ウンタ111,113は駆動パルスP1の発生、すなわち超音波
の発生から立ち上がり検出回路95及び立ち下がり検出回
路97がフリップフロップ103,105をそれぞれリセットす
るまでの間に供給されるカウントパルスCNTを計数する
(第4図(K),(L)参照)。換言すると、カウンタ
111は超音波の発生からエコーパルスの前縁までの間に
供給されたカウントパルス数を、カウンタ113は超音波
の発生からエコーパルスの後縁までの間に供給されたカ
ウントパルス数をそれぞれ計数することになる。これら
のカウンタ111,113内に保持されている計数値は加算回
路115で加算され、しかる後にエコーカウントデータECH
CNTSとしてレジスタ117に供給、保持される。
In parallel with the processing related to the echo signal, preparations are made for timing the propagation time. That is, the flip-flops 103 and 105 reset by the preceding echo detection signal
When the timer clock CK is supplied to the flip-flops 103 and 105, the AND gates 107 and 109 are set.
One of the inputs is at a high level (Fig. 4 (I),
(See (J)). As a result, AND gate 107,
109 passes a 2MHz clock pulse and counters 111,1
13 starts counting the clock pulse supplied from the AND gate as the count pulse CNT. Therefore, the counters 111 and 113 count the count pulse CNT that is supplied from the generation of the drive pulse P1, that is, the generation of ultrasonic waves until the rising detection circuit 95 and the falling detection circuit 97 reset the flip-flops 103 and 105, respectively ( 4 (K), (L)). In other words, the counter
111 indicates the number of count pulses supplied from the generation of ultrasonic waves to the leading edge of the echo pulse, and counter 113 counts the number of count pulses supplied from the generation of ultrasonic waves to the trailing edge of the echo pulse. Will be done. The count values held in these counters 111 and 113 are added by the adder circuit 115, and then the echo count data ECH is added.
It is supplied and held in the register 117 as CNTS.

次に、第5図を参照して1msec毎に弦振幅の最大値を検
出するための回路を説明する。この回路も電磁ピックア
ップ31,33,・・毎に設けられているが、以下には電磁ピ
ックアップ31について設けられている回路についてのみ
説明する。
Next, a circuit for detecting the maximum value of the chord amplitude every 1 msec will be described with reference to FIG. Although this circuit is also provided for each electromagnetic pickup 31, 33, ..., Only the circuit provided for the electromagnetic pickup 31 will be described below.

第5図において、電磁ピックアップ31から出力されるア
ナログ電気信号の波形は撥弦時の弦振動の波形に相似し
ており、このアナログ電気信号は30KHzのサンプリング
クロックでサンプリングされてA/D変換器119に供給され
る。A/D変換器119ではアナログ電気信号の瞬時波高値を
ディジタル値に変換して絶対値抽出回路121でその符号
ビットを除去し、絶対値(以下、単にディジタル波高値
という)とする。このディジタル波高値はレジスタ123
と比較器125の一方の入力端子とに並行に供給され、レ
ジスタ123の出力端子は上記比較器125の他方の入力端子
とレジスタ127とに並列に供給されている。したがっ
て、レジスタ123がタイマークロックCKの遅延信号(遅
延回路129により形成される)でリセットされた後に順
次供給されるディジタル波高値をラッチし、このラッチ
されたディジタル波高値は順次供給されるディジタル波
高値と比較器125で比較される。比較器125が新たに供給
されたデイジタル波高値がレジスタ123にラッチされて
いるディジタル波高値より大きと判別すれば、比較器12
5はレジスタ123にラッチ信号を送出して新たなディジタ
ル波高値をレジスタ123に保持させる。かかる比較結果
に基づくディジタル波高値を書換えを1msec続けるとレ
ジスタ123には該1msec間の最大ディジタル波高値が残
り、この最大ディジタル波高値はタイマークロックCKに
応答してレジスタ127にラッチされる。したがって、レ
ジスタ127は先行する1msec間の最大ディジタル波高値を
後続する1msec間保持することになり、このレジスタ127
内のディジタル波高値は最大波高値データPICUPSとして
後述するように中央処理装置65に読み取られる。なお、
レジスタ123はレジスタ127が最大ディジタル波高値をラ
ッチした後にタイマークロックCKの遅延信号でリセット
される。
In FIG. 5, the waveform of the analog electric signal output from the electromagnetic pickup 31 is similar to the waveform of the string vibration during plucking, and this analog electric signal is sampled at the sampling clock of 30 KHz and the A / D converter is used. Supplied to 119. The A / D converter 119 converts the instantaneous peak value of the analog electric signal into a digital value, and the absolute value extraction circuit 121 removes the sign bit thereof to obtain an absolute value (hereinafter, simply referred to as a digital peak value). This digital peak value is registered in register 123.
And the input terminal of the comparator 125 in parallel, and the output terminal of the register 123 is supplied in parallel to the other input terminal of the comparator 125 and the register 127. Therefore, after the register 123 is reset by the delay signal of the timer clock CK (formed by the delay circuit 129), the digital peak value sequentially supplied is latched, and the latched digital peak value is sequentially supplied. The high value is compared with the comparator 125. If the comparator 125 determines that the newly supplied digital crest value is larger than the digital crest value latched in the register 123, the comparator 12
Reference numeral 5 sends a latch signal to the register 123 to cause the register 123 to hold a new digital peak value. When the digital peak value based on the comparison result is continuously rewritten for 1 msec, the maximum digital peak value for 1 msec remains in the register 123, and the maximum digital peak value is latched in the register 127 in response to the timer clock CK. Therefore, the register 127 holds the maximum digital peak value for the preceding 1 msec for the following 1 msec.
The digital peak value therein is read by the central processing unit 65 as the maximum peak value data PICUPS as described later. In addition,
The register 123 is reset by the delay signal of the timer clock CK after the register 127 latches the maximum digital peak value.

次に、ベンド量を処理するための回路について説明す
る。この回路もベンドセンサ35,37,・・毎に設けられて
いるが、以下の説明はベンドセンサ35に付随している回
路についてのみ説明する。第6図において、ベンドセン
サ35は発光素子131と受光素子133と弦23の移動にともな
い光路面積134を変化させる遮へい板135とで構成されて
おり、遮へい板135の移動にともない変化する光量は受
光センサ133からA/D変換器137でディジタル光量値に変
換され、このディジタル光量値はベンドデータBENDSと
してレジスタ139に保持される。このベンドデータBENDS
と遮へい板135の回動角との関係を第7図を参照して詳
説する。弦23が中立状態にあるときは、遮へい板135は
第7図(A)に示されているように弦23に対して略垂直
であり、光路面積134は略半減している。このときのベ
ンドデータ値BENDSは16進数で40(40H)となるように調
整されている。これに対して、弦23が左側に倒されると
光路面積は第7図(B)に示されているように最大にな
り、このときのベンドデータBENDSは7FHとなり、反対に
弦23が右側に倒されると光路面積134は最小になり、ベ
ンドデータBENDSは00Hとなる。従って、ベンドデータBE
NDSは00H〜7FHの間で弦の左右の移動に対応して変化す
ることになる。
Next, a circuit for processing the bend amount will be described. This circuit is also provided for each of the bend sensors 35, 37, ... However, in the following description, only the circuit attached to the bend sensor 35 will be described. In FIG. 6, the bend sensor 35 is composed of a light emitting element 131, a light receiving element 133, and a shield plate 135 that changes the optical path area 134 with the movement of the strings 23, and the amount of light that changes with the movement of the shield plate 135 is The light receiving sensor 133 converts the digital light amount value by the A / D converter 137, and the digital light amount value is held in the register 139 as bend data BENDS. This bend data BENDS
The relationship between the rotation angle and the rotation angle of the shield plate 135 will be described in detail with reference to FIG. When the string 23 is in the neutral state, the shield plate 135 is substantially perpendicular to the string 23 as shown in FIG. 7 (A), and the optical path area 134 is approximately halved. The bend data value BENDS at this time is adjusted to be 40 (40 H ) in hexadecimal. On the other hand, when the string 23 is tilted to the left, the optical path area becomes the maximum as shown in FIG. 7 (B), and the bend data BENDS at this time becomes 7F H , while the string 23 is on the right. The optical path area 134 becomes the minimum when it is turned over, and the bend data BENDS becomes 00 H. Therefore, bend data BE
NDS will change in response to movement of the left and right chord between 00 H ~7F H.

スイッチ群に含まれているスイッチ インターフェース61に接続されているスイッチ群59に含
まれているスイッチの使用を具体的に説明する。スイッ
チ群59には、メインスイッチ、レガートスイッチ、レフ
トハンドスイッチ、初期化スイッチ、音色選択スイッ
チ、音量選択スイッチ、ベンドカーブ選択スイッチが含
まれている。メインスイッチは電子弦楽器の起動と停止
とに使用されるスイッチであり、メインスイッチの操作
により電子弦楽器が起動されるとメインスイッチオンイ
ベントが中央処理装置65により検出され、第10図に示さ
れているメインルーチンプログラムの実行が開始され
る。レガートスイッチは連続する楽音にレガートを付与
するか否かのためのスイッチであり、レガートスイッチ
オンイベント毎にレガート付与の有無を交互に決定す
る。レガート付与の時には複数の楽音はアタックを繰り
返すことなくそのピッチを漸次変化させる。すなわち、
レガートスイッチの操作によりレガート付与の状態でフ
レットを変更して(t1,t2)撥弦すると、第8図A,B,Cに
示されているように楽音のエンベロープはアタックを繰
り返しつつ再度の撥弦時には急速に減衰する。ところ
が、レガートスイッチの操作によりレガートなしの状態
で撥弦後にフレットを変更すると楽音のピッチは第8図
Dに示されているように撥弦時に急速に減衰することな
くピッチを連続的に変化させる。この場合、楽音の音量
は変化しない。これに対して、レフトハンドスイッチも
同様の操作でレフトハンドモードの有無を決定する。レ
フトハンドモードにおいて、演奏者が弦23,25,・・をフ
レット39,41,・・,43,45に押圧すると撥弦しなくても一
定の音量で楽音が発生する。
The use of the switches included in the switch group 59 connected to the switch interface 61 included in the switch group will be specifically described. The switch group 59 includes a main switch, a legato switch, a left hand switch, an initialization switch, a tone color selection switch, a volume selection switch, and a bend curve selection switch. The main switch is a switch used for starting and stopping the electronic stringed instrument.When the electronic stringed instrument is started by operating the main switch, a main switch-on event is detected by the central processing unit 65, and is shown in FIG. Execution of the main routine program is started. The legato switch is a switch for whether or not to impart legato to continuous musical sounds, and alternately determines whether legato is imparted or not for each legato switch on event. When legato is applied, the pitch of a plurality of musical tones is gradually changed without repeating the attack. That is,
When the fret is changed by operating the legato switch and the fret is changed (t1, t2), the envelope of the musical sound repeats the attack and repeats the plucking as shown in Fig. 8A, B, C. When it is a string, it decays rapidly. However, when the fret is changed after plucking the string without the legato by operating the legato switch, the pitch of the musical tone is continuously changed without being rapidly attenuated during plucking as shown in FIG. 8D. . In this case, the tone volume does not change. On the other hand, the left hand switch also determines the presence or absence of the left hand mode by the same operation. In the left hand mode, when the player presses the strings 23, 25, ... On the frets 39, 41, .., 43, 45, a musical tone is generated at a constant volume without plucking.

したがって、演奏者は一方の手、通常左手のみで電子弦
楽器を演奏することができる。初期化スイッチはメイン
スイッチオンイベント時に初期設定された各種データを
再度設定し直すときに使用されるスイッチであり、第10
図〜第11図に示された初期化モード時に実行されるサブ
ルーチンプログラムが再び実行される。この初期化スイ
ッチオンイベントについては第10図に関する説明で詳細
に延べられる。音声選択スイッチは電子弦楽器で発生さ
れる楽音の音色を選択するときにしようされるスイッチ
であり、本実施例では電気ギターの音色以外にも、種々
の楽器の音色、電子合成音を音声選択スイッチの選択に
基づいて発生させることができる。音量選択スイッチは
電子弦楽器で発生される楽音の音量を選択するスイッチ
であり、6弦全体を一括して選択することも、1弦ずつ
音量のバランスを調整することもできる。ベンドカーブ
選択スイッチは弦のベンド時に楽音のピッチの変化の軌
跡を選択するスイツチであり、本実施例の場合には、第
9図に示されているようにE,F,Gの3種類の軌跡から所
望の軌跡を選択することができる。すなわち、中立状態
(40H)の弦を第7図(B),(C)に関して説明した
ように左側(7FH)、または右側(00H)に傾斜させる
と、軌跡Eが選択されていると楽音のピッチは急峻に途
中まで変化した後に一定となるが、軌跡Fが選択されて
いると、楽音のピッチはネックの幅全域にわたって一定
に変化する。これに対して、軌跡Gが選択させている
と、楽音のピッチは当初緩やかに変化し、その後、急峻
に変化する。したがて、演奏者はベンドカーブ選択スイ
ッチを操作して楽想に適したピッチの軌跡を選択するこ
とができる。
Therefore, the player can play the electronic stringed instrument with only one hand, usually the left hand. The initialization switch is a switch used when resetting various data that was initialized at the time of the main switch ON event.
The subroutine program executed in the initialization mode shown in FIGS. 11 to 11 is executed again. This initialization switch-on event is detailed in the description of FIG. The voice selection switch is a switch used when selecting a tone color of a musical tone generated by an electronic stringed instrument. In the present embodiment, in addition to the tone color of an electric guitar, a tone selection switch of various instrument tone colors and electronic synthesized sounds is selected. Can be generated based on the choice of The volume selection switch is a switch for selecting the volume of a musical tone generated by an electronic stringed instrument, and it is possible to collectively select the entire six strings or adjust the volume balance for each string. The bend curve selection switch is a switch for selecting the locus of the pitch change of the musical sound when the string is bent. In the case of the present embodiment, three types of loci, E, F and G, as shown in FIG. 9, are used. A desired trajectory can be selected from. That is, when the string in the neutral state (40 H ) is tilted to the left side (7F H ) or the right side (00 H ) as described with reference to FIGS. 7B and 7C, the locus E is selected. The pitch of the musical sound becomes constant after abruptly changing to the middle, but when the locus F is selected, the pitch of the musical sound changes constantly over the entire width of the neck. On the other hand, when the locus G is selected, the pitch of the musical sound changes gradually at first and then changes sharply. Therefore, the player can operate the bend curve selection switch to select the locus of the pitch suitable for the musical impression.

レジスタ群に保持されるデータ 次に、レジスタ群69に保持され、後に詳述するプログラ
ムの実行に使用されるデータを表1に示す。
Data Held in Register Group Next, Table 1 shows data held in the register group 69 and used for executing a program to be described later in detail.

各種テーブル 第2図に示されている各種テーブルには以下のものが含
まれている。
Various Tables The various tables shown in FIG. 2 include the following.

(1)BENDCNV:ベンドセンサ35,37,・・の出力値を楽音
のピッチの変化量に変換するテーブルであり、ベンドセ
ンサデータBENDにしたがいBENDCNV(BEND)で表され
る。第18図に示されたピッチ変更データ算出サブルーチ
ンの実行時に使用される。
(1) BENDCNV: a table for converting the output values of the bend sensors 35, 37, ... To the pitch change amount of the musical tone, and is represented by BENDCNV (BEND) according to the bend sensor data BEND. It is used when the pitch change data calculation subroutine shown in FIG. 18 is executed.

(2)FKCNV:フレット番号データFRETの対応するキーコ
ードFKCNV(FRET)を各弦毎に保持するテーブルであ
り、第22図に示されたキーオンサブルーチンの実行時に
使用される。なお、弦毎のフレット位置とキーコードと
の対応は別表1に示されており、キーコードとキーとの
対応は別表2に示されている。
(2) FKCNV: This is a table that holds the key code FKCNV (FRET) corresponding to the fret number data FRET for each string, and is used when the key-on subroutine shown in FIG. 22 is executed. The correspondence between the fret position and the key code for each string is shown in Appendix 1, and the correspondence between the key code and the key is shown in Appendix 2.

(3)RNGR,RNGL:仮想ベンド量の右側限界値および左側
限界値、これらの限界値はフレット位置毎に設定され、
例えばRNGR(FRET)で表されている。これは、ネック部
の幅は0番フレットに近づくと狭くなり、一定ではない
ためである。第18図に示されたピッチ変更データ算出サ
ブルーチンの実行時に使用される。
(3) RNGR, RNGL: Right and left limit values of the virtual bend amount, these limit values are set for each fret position,
For example, it is represented by RNGR (FRET). This is because the width of the neck portion becomes narrower as it approaches the 0th fret and is not constant. It is used when the pitch change data calculation subroutine shown in FIG. 18 is executed.

(4)10〜124、1BEND:下駒から各フレットまで、およ
び下駒からベンドセンサまでの距離。具体的な数値は別
表3に示す。
(4) 1 0 ~1 24, 1 BEND: distance from bottom piece to each fret, and from the bottom piece to the bend sensor. Specific values are shown in Appendix 3.

メインルーチンプログラム まず、中央処理装置65で実行されるメイルーチンプログ
ラムを第10図に基づき説明する。電子弦楽器のメインス
イッチがオンされると、中央処理装置65はタイマー割り
込みを禁止した状態でステップP1、ステップP2を順次実
行して以下に説明するレジスタの初期化を行う。すなわ
ち、カウントデータN、累算値データSUMにそれぞれデ
ータ値「0」を設定し、モードデータMODEのデータ値は
「1」に設定する(ステップP1)。したがって、タイマ
ー割り込みが解除されると上記モードデータMODEのデー
タ値「1」に基づき電子弦楽器は初期化モードとなる。
続くステップP2では、電磁ピックアップ時間制御データ
PCKCNTとキーオントリガデータONTRGと先行波高値デー
タOPCKとピックアップ最大値データPEAKとミュートカウ
ントデータMUTECNTとフレット位置データNFRETとキーコ
ードデータOKCとをそれぞれ「O」に設定する。しかる
後に、中央処理装置65はタイマー割り込み禁止を解除
し、タイマークロックCKに基づく割り込みを可能にする
(ステップP3)。従って、ステップP3以降はタイマー割
り込みが可能になり、タイマー割り込みに際しては後に
第11図に関連して説明する各種サブルーチンプログラム
を実行する。しかしながら、タイマー割り込みにより実
行するサブルーチンプログラムの終了時には再びメイン
ルーチンプログラムに戻ってその実行を続ける。したが
って、以下のメインルーチンプログラムに関する説明は
タイマー割り込みが発生しなかったものとして続ける。
Main Routine Program First, the Mayroutine program executed by the central processing unit 65 will be described with reference to FIG. When the main switch of the electronic stringed instrument is turned on, the central processing unit 65 sequentially executes steps P1 and P2 with the timer interrupt disabled, and initializes the registers described below. That is, the data value “0” is set to the count data N and the accumulated value data SUM, and the data value of the mode data MODE is set to “1” (step P1). Therefore, when the timer interrupt is released, the electronic stringed instrument enters the initialization mode based on the data value "1" of the mode data MODE.
In the following step P2, the electromagnetic pickup time control data
PCKCNT, key-on trigger data ONTRG, preceding peak value data OPCK, pickup maximum value data PEAK, mute count data MUTECNT, fret position data NFRET, and key code data OKC are set to “O”. Thereafter, the central processing unit 65 releases the timer interrupt prohibition and enables the interrupt based on the timer clock CK (step P3). Therefore, after step P3, the timer interrupt becomes possible, and at the time of the timer interrupt, various subroutine programs described later with reference to FIG. 11 are executed. However, at the end of the subroutine program executed by the timer interruption, the main routine program is returned to and the execution is continued. Therefore, the following description of the main routine program will be continued assuming that the timer interrupt has not occurred.

上述のようにタイマー割り込みの解除がなされると、中
央処理装置65はレジスタ群69からモードデータMODEを読
み出してそのデータ値が「0」であるか否かを判断する
(ステップP4)。モードデータMODEのデータ値が「0」
以外(N)なら電子弦楽器は初期値設定モードなので、
中央処理装置65はステップP4を繰り返しつつ演奏モード
に切り替わるのを待つ。上述のように電子弦楽器のメイ
ンスイッチオンイベントではステップP1においてモード
データMODEのデータ値は「1」に設定されているので、
中央処理装置65はステップP4を繰り返しつつ初期値設定
のためのサブルーチンP200,P300,P400の終了を待つこと
になる。ところが、初期値設定が終了して初期値設定モ
ードから演奏モードに切り替わるとステップP4の判断結
果が「イエス」(Y)となるので、中央処理装置65はス
テップP5に進んでレガートスイッチオンイベントの発生
の有無を判断する(ステップP5)。中央処理装置65はス
テップP5でレガートスイッチオンイベントの発生を検出
すると、レガート状態データLGTのデータ値を「0」か
ら「1」に、またはその反対に切り換える(「LGT←1
−LGT」の演算(ステップP6))。その後にレフトハン
ドスイッチオンイベントの発生の有無をステップP7で判
断する。ステップP5でレガートスイッチオンイベントの
未発生を検出したときには、中央処理装置65はステップ
P6を実行することなくステップP7に進み、レフトハンド
スイッチオンイベントの検出の有無を判断する。ステッ
プP7でレフトハンドスイッチオンイベントが検出される
と、レフトハンドモードデータLEFTのデータ値を「0」
から「1」に、またはその反対に切り換える(「LEFT←
1−LEFT」の演算(ステップP8))。しかる後に、ステ
ップP9に進み、その他の処理、例えば音色選択、音量選
択等に関する処理を実行する。一方、ステップP7でレフ
トハンドスイッチオンイベントの未発生が判別されたと
きには、中央処理装置65はステップP8を実行することな
くステップP9に進む。この後に、中央処理装置65は初期
化スイッチオンイベントの有無をステップP10で判断
し、初期化スイッチオンイベントの発生時(Y)にはタ
イマー割り込み再び禁止して(ステップP11)ステップP
1に戻り、ステップP1,P2,P3,P4,P200,P300,P400で構成
される初期化のためのルーチンを実行する。一方、ステ
ップP10で初期化スイッチオンイベントが検出されなか
ったときには、ステップP5に戻り、以後、ステップP5〜
P10で構成される処理を繰り返し実行しつつタイマー割
り込みに対処する。
When the timer interrupt is released as described above, the central processing unit 65 reads the mode data MODE from the register group 69 and determines whether the data value is "0" (step P4). Mode data MODE data value is "0"
Otherwise (N), the electronic string instrument is in the default value setting mode,
The central processing unit 65 repeats step P4 and waits for switching to the performance mode. As described above, since the data value of the mode data MODE is set to "1" in step P1 in the main switch-on event of the electronic string instrument,
The central processing unit 65 waits for the end of the subroutines P200, P300, P400 for setting the initial value while repeating step P4. However, when the initial value setting is completed and the initial value setting mode is switched to the performance mode, the determination result of step P4 is "Yes" (Y), so that the central processing unit 65 proceeds to step P5 to proceed to the legato switch on event. Whether or not it has occurred is determined (step P5). When detecting the occurrence of the legato switch-on event in step P5, the central processing unit 65 switches the data value of the legato state data LGT from "0" to "1" or vice versa ("LGT ← 1.
-LGT "calculation (step P6)). After that, it is determined in step P7 whether or not a left hand switch on event has occurred. When the non-occurrence of the legato switch-on event is detected in step P5, the central processing unit 65 proceeds to step
Without executing P6, the process proceeds to step P7, and it is determined whether or not the left hand switch on event is detected. When the left hand switch on event is detected in step P7, the data value of the left hand mode data LEFT is set to "0".
To "1" or vice versa ("LEFT ←
1-LEFT "calculation (step P8)). After that, the process proceeds to step P9, and other processes such as tone color selection and volume selection are executed. On the other hand, when it is determined in step P7 that the left hand switch on event has not occurred, the central processing unit 65 proceeds to step P9 without executing step P8. After this, the central processing unit 65 determines in step P10 whether or not there is an initialization switch-on event, and when the initialization switch-on event occurs (Y), timer interrupt is again prohibited (step P11).
Returning to 1, the initialization routine including steps P1, P2, P3, P4, P200, P300 and P400 is executed. On the other hand, when the initialization switch-on event is not detected in step P10, the process returns to step P5, and thereafter, steps P5 to
Deal with the timer interrupt while repeatedly executing the process configured by P10.

タイマー割り込み処理ルーチン すでに説明したように、クロック発生回路77は1msecの
間隔でタイマークロックCKを発生させており、ステップ
P4〜P10の間にタイマークロックCKに基づくタイマー割
り込みが発生すると、中央処理装置65はこのタイマーク
ロックCKに応答して第11図に示されているタイマー割り
込み処理ルーチンを実行する。なお、以下の説明は弦23
についてのみの説明であるが、他の5弦も同様なので、
時分割等で並列に処理することができる。
Timer interrupt processing routine As described above, the clock generation circuit 77 generates the timer clock CK at intervals of 1 msec.
When a timer interrupt based on the timer clock CK occurs during P4 to P10, the central processing unit 65 executes the timer interrupt processing routine shown in FIG. 11 in response to the timer clock CK. In addition, the following explanation is for string 23
However, since the other 5 strings are the same,
It can be processed in parallel by time division.

タイマー割り込みが発生すると、中央処理装置65はレジ
スタ群69からモードデータMODEを読み出してその値を判
断し(P100)、該モードデータMODEのデータの値が
「0」なら後述する演奏モードの処理を実行し、モード
データMODEの値が「1」「2」「3」なら以下に説明す
るサブルーチン(P200,P300,P400)をそれぞれ実行す
る。本実施例の場合、サブルーチンP200,P300,P400が初
期値設定モードを構成している。
When a timer interrupt occurs, the central processing unit 65 reads the mode data MODE from the register group 69 and judges the value (P100). If the data value of the mode data MODE is "0", the performance mode processing described later is performed. If the mode data MODE has a value of "1", "2" or "3", the subroutines (P200, P300, P400) described below are executed. In the case of the present embodiment, the subroutines P200, P300, P400 constitute the initial value setting mode.

まず、モードデータMODEのデータ値が「1」の場合につ
いて説明する。上述のように、メインルーチンプログラ
ムのステップP1においてモードデータMODEは「1」に設
定されているので、メインスイッチオンイベント発生
後、または初期化スイッチオンイベント発生後のタイマ
ー割り込み時にはステップP100の判断はモードデータ値
「1」となる。したがって、中央処理装置65は第12図に
示されているベンドセンサ初期設定サブルーチンを実行
する。
First, the case where the data value of the mode data MODE is “1” will be described. As described above, since the mode data MODE is set to "1" in step P1 of the main routine program, the judgment in step P100 is not made at the time of the timer interrupt after the occurrence of the main switch-on event or the occurrence of the initialization switch-on event. The mode data value becomes "1". Therefore, the central processing unit 65 executes the bend sensor initialization subroutine shown in FIG.

ベンドセンサ初期設定サブルーチン ベンドセンサ初期設定サブルーチンが開始されると、中
央処理装置65はレジスタ139からベンドデータBENDSを読
み込み(ステツプP201)、該ベンドデータBENDSをベン
ドセンサデータBENDとしてレジスタ群に送出する(ステ
ップP202)。しかる後に、中央処理装置65は累算値デー
タSUMを読み出し、累積値データSUMの値にベンドセンサ
データBENDの値を加算する(ステップP203)。第1回目
の処理時には、累積値データの値が「0」なので(ステ
ップP1参照)累積値データSUMはベンドセンサデータBEN
Dと同一の値になる。続いて、中央処理装置65はカウン
トデータNを「1」だけ歩進させ(ステップP204)、そ
の後、カウントデータNの値が「16」に達したか否かを
判断する(ステップP205)。ステップP205の判断結果が
ノー(N)の間はタイマー割り込み処理ルーチン、更に
メインルーチンプログラムに戻り、再びタイマー割り込
みの発生を待つ。
Bend Sensor Initial Setting Subroutine When the bend sensor initial setting subroutine is started, the central processing unit 65 reads the bend data BENDS from the register 139 (step P201) and sends the bend data BENDS to the register group as bend sensor data BEND ( Step P202). After that, the central processing unit 65 reads the accumulated value data SUM and adds the value of the bend sensor data BEND to the value of the accumulated value data SUM (step P203). At the time of the first processing, since the value of the accumulated value data is "0" (see step P1), the accumulated value data SUM is the bend sensor data BEN.
It has the same value as D. Subsequently, the central processing unit 65 increments the count data N by "1" (step P204), and then determines whether or not the value of the count data N reaches "16" (step P205). While the determination result in step P205 is NO (N), the process returns to the timer interrupt processing routine and the main routine program, and waits for the timer interrupt to occur again.

再びタイマー割り込みが発生すると、依然としてモード
データMODEのデータ値は「1」なので、中央処理装置65
はベンドセンサ初期設定サブルーチンを実行し、上記ス
テップP201〜P205を繰り返す。このようにして、中央処
理装置65は、タイマー割り込みが発生する毎にレジスタ
139からベンドデータBENDSを読み込み、これを累算値デ
ータSUMに加算しながら、カウントデータNの値が「1
6」に達するまでステップP201〜P205を繰り返し実行す
る。したがって、カウントデータSUMの値が「16」に達
したときには累積値データは16回分のベンドデータBEND
Sの累積値となっている。そこで、中央処理装置65は累
積値データSUMの値を「16」で除し、その商から「40H
を差し引いてベンドデータBENDSの補正値BENDIを算出し
てレジスタ群69に送出する(ステップP206)。この後、
中央処理装置65はステップP207に進み、カウントデータ
Nの値と累積値データSUMの値とをそれぞれ「0」にリ
セットし、続くステップP208でモードデータMODEの値を
「2」に設定してベンドセンサ初期設定サブルーチンを
終了する。
When the timer interrupt is generated again, the data value of the mode data MODE is still "1", so the central processing unit 65
Executes a bend sensor initialization subroutine, and repeats steps P201 to P205. In this way, the central processing unit 65 has the function of registering each time a timer interrupt occurs.
While reading the bend data BENDS from 139 and adding this to the accumulated value data SUM, the value of the count data N is "1.
Repeat steps P201 to P205 until "6" is reached. Therefore, when the value of the count data SUM reaches “16”, the accumulated value data is the bend data BEND for 16 times.
It is the cumulative value of S. Therefore, the central processing unit 65 divides the value of the cumulative value data SUM by “16”, and from the quotient, “40 H ”.
Is subtracted to calculate the correction value BENDI of the bend data BENDS and sent to the register group 69 (step P206). After this,
The central processing unit 65 proceeds to step P207, resets the value of the count data N and the value of the accumulated value data SUM to "0", respectively, and sets the value of the mode data MODE to "2" at the subsequent step P208 to bend the data. The sensor initialization subroutine ends.

エコーレベル初期設定サブルーチン 上述のようにベンドセンサ初期設定サブルーチンの終了
前にモードデータMODEは「2」に設定されるので、ベン
ドセンサ初期設定サブルーチン終了後のタイマー割り込
み発生時には、タイマー割り込み処理ルーチンのステッ
プP100の判断結果はエコーレベル初期設定サブルーチン
の実行を求めるものとなり、中央処理装置65は第13図に
示されているエコーレベル初期設定サブルーチンを実行
する。エコーレベル初期設定サブルーチンでは、まず、
中央処理装置65がレジスタ101からエコーレベルデータE
CHLVLSを読み出し(ステップP301)、これを受信レベル
データECHLVLとしてレジスタ群69に送出する(ステップ
P302)。しかる後に、中央処理装置65は累算値データSU
Mを読み出し、累積値データSUMの値に受信レベルデータ
ECHLVLの値を加算する(ステップP303)。第1回目の処
理時には、累積値データの値が「0」なので(ステップ
P207参照)累積値データSUMは受信レベルデータECHLVL
と同一の値になる。続いて、中央処理装置65はカウント
データNを「1」だけ歩進させ(ステップP304)、その
後、カウントデータNの値が「16」に達したか否かを判
断する(ステップP305)。ステップP305の判断結果がノ
ー(N)の間はタイマー割り込み処理ルーチン、更にメ
インルーチンプログラムに戻り、再びタイマー割り込み
の発生を待つ。
Echo level initial setting subroutine As described above, the mode data MODE is set to "2" before the end of the bend sensor initial setting subroutine, so when the timer interrupt occurs after the end of the bend sensor initial setting subroutine, the steps of the timer interrupt processing routine are executed. The determination result of P100 is to request execution of the echo level initialization subroutine, and the central processing unit 65 executes the echo level initialization subroutine shown in FIG. In the echo level initialization subroutine, first,
The central processing unit 65 outputs the echo level data E from the register 101.
Read CHLVLS (step P301) and send it to register group 69 as reception level data ECHLVL (step P301)
P302). After that, the central processing unit 65 determines that the accumulated value data SU
Read M, and receive level data in the value of accumulated value data SUM
The value of ECHLVL is added (step P303). At the time of the first processing, the value of the cumulative value data is "0" (step
(Refer to P207) Cumulative value data SUM is reception level data ECHLVL
Same value as. Subsequently, the central processing unit 65 increments the count data N by "1" (step P304), and thereafter determines whether or not the value of the count data N reaches "16" (step P305). While the determination result in step P305 is NO (N), the process returns to the timer interrupt processing routine and the main routine program, and waits for the timer interrupt to occur again.

再びタイマー割り込みが発生すると、依然としてモード
データMODEのデータ値は「2」なので、中央処理装置65
はエコーレベル初期設定サブルーチンを実行し、上記ス
テップP301〜P305を繰り返す。このようにして、中央処
理装置65は、タイマー割り込みが発生する毎にレジスタ
101からエコーレベルデータECHLVLSを読み込み、これを
累算値データSUMに加算しながら、カウントデータNの
値が「16」に達するまでステップP301〜P305を繰り返し
実行する。したがって、カウントデータSUMの値が「1
6」に達したときには累積値データは16回分のエコーレ
ベルデータECHLVLSの累積値となっている。そこで、中
央処理装置65は累積値データSUMの値を「16」で除して
開放弦レベルデータECHVLIを算出してレジスタ群69に送
出する(ステップP306)。
When the timer interrupt occurs again, the data value of the mode data MODE is still "2", so the central processing unit 65
Executes the echo level initialization subroutine, and repeats steps P301 to P305. In this way, the central processing unit 65 has the function of registering each time a timer interrupt occurs.
The echo level data ECHLVLS is read from 101, and while adding this to the accumulated value data SUM, steps P301 to P305 are repeatedly executed until the value of the count data N reaches "16". Therefore, the value of the count data SUM is "1.
When reaching 6 ”, the cumulative value data is the cumulative value of the echo level data ECHLVLS for 16 times. Therefore, the central processing unit 65 divides the value of the cumulative value data SUM by “16” to calculate the open string level data ECHVLI and sends it to the register group 69 (step P306).

この後、中央処理装置65はステップP307に進み、ミュー
トしきい値データMUTEを計算する。すなわち、開放弦レ
ベルデータECHLVLIに0.7を乗してこれをミュートしきい
値データMUTEとしてレジスタ群69に送出する。続いて、
中央処理装置65はエコーしきい値データTHLVLを計算す
る(ステップP308)、本実施例の場合、エコーしきい値
データTHLVLは開放弦レベルデータECHVLIの0.2倍として
おり、中央処理装置65はエコーしきい値データTHLVLの
算出後、これをレジスタ群69に送出する。このように、
エコーしきい値データTHLVLがレジスタ群69に保持され
ると、中央処理装置65はエコーしきい値データTHLVLを
しきい値供給回路93のレジスタに転送して演奏モードで
のエコー信号と雑音との判別に供する(ステツプP30
9)。以後、中央処理装置65はカウントデータNと累積
値データSUMとをそれぞれ「0」にリセットし(ステッ
プP310)、しかる後にモードデータMODEを「3」に設定
してエコーレベル初期設定サブルーチンを終了する。
After that, the central processing unit 65 proceeds to step P307 to calculate the mute threshold data MUTE. That is, the open string level data ECHLVLI is multiplied by 0.7 and sent as mute threshold data MUTE to the register group 69. continue,
The central processing unit 65 calculates the echo threshold data THLVL (step P308). In this embodiment, the echo threshold data THLVL is 0.2 times the open string level data ECHVLI, and the central processing unit 65 echoes. After calculating the threshold value data THLVL, it is sent to the register group 69. in this way,
When the echo threshold value data THLVL is held in the register group 69, the central processing unit 65 transfers the echo threshold value data THLVL to the register of the threshold value supplying circuit 93 to transfer the echo signal and noise in the performance mode. Use for discrimination (Step P30
9). Thereafter, the central processing unit 65 resets the count data N and the cumulative value data SUM to "0" (step P310), and thereafter sets the mode data MODE to "3" and terminates the echo level initial setting subroutine. .

フレット位置算出サブルーチン 上述のようにエコーレベル初期設定サブルーチンの終了
前にモードデータMODEは「3」に設定されるので、エコ
ーレベル初期設定サブルーチン終了後のタイマー割り込
み発生時には、タイマー割り込み処理ルーチンのスチッ
プP100の判断結果がフレット位置算出サブルーチンの実
行を求めるものとなり、中央処理装置65は第14図に示さ
れているフレット位置算出サブルーチンを実行する。フ
レット位置算出サブルーチンでは、まず、中央処理装置
65がレジスタ117からエコーカウントデータECHCNTSを読
み出し(ステップP401)、これを受信カウントデータEC
HCNTとしてレジスタ群69に送出する(ステップP402)。
しかる後に、中央処理装置65は累算値データSUMを読み
出し、累積値データSUMの値に受信カウントデータECHCN
Tの値を加算する(ステップP403)。第1回目の処理時
には、累積値データの値が「0」なので(ステップP310
参照)、累積値データSUMは受信カウントデータECHCNT
と同一の値になる。続いて、中央処理装置65はカウント
データNを「1」だけを歩進させ(ステップP404)、そ
の後、カウントデータNの値が「16」に達したか否かを
判断する(ステップP405)。ステップP405の判断結果が
ノー(N)の間はタイマー割り込み処理ルーチン、更に
メインルーチンプログラムに戻り、再びタイマー割り込
みの発生を待つ。
Fret position calculation subroutine As described above, since the mode data MODE is set to "3" before the echo level initial setting subroutine ends, when the timer interrupt occurs after the echo level initial setting subroutine ends, the chip interrupt P100 of the timer interrupt processing routine is generated. The result of the judgment is to request execution of the fret position calculation subroutine, and the central processing unit 65 executes the fret position calculation subroutine shown in FIG. In the fret position calculation subroutine, first, the central processing unit
The 65 reads the echo count data ECHCNTS from the register 117 (step P401) and receives it as the reception count data EC.
It is sent to the register group 69 as HCNT (step P402).
After that, the central processing unit 65 reads the accumulated value data SUM and sets the received count data ECHCN to the value of the accumulated value data SUM.
The value of T is added (step P403). At the time of the first processing, the value of the cumulative value data is “0” (step P310
), Accumulated value data SUM is reception count data ECHCNT
Same value as. Subsequently, the central processing unit 65 increments the count data N by "1" (step P404), and thereafter determines whether or not the value of the count data N reaches "16" (step P405). While the determination result in step P405 is NO (N), the process returns to the timer interrupt processing routine and the main routine program, and waits for the timer interrupt to occur again.

再びタイマー割り込みが発生すると、依然としてモード
データMODEのデータ値は「3」なので、中央処理装置65
はフレット位置算出サブルーチンを実行し、上記ステッ
プP401〜P405を繰り返す。このようにして、中央処理装
置65は、タイマー割り込みが発生する毎にレジスタ117
からエコーカウントデータECHCNTSを読み込み、これを
累算値データSUMに加算しながら、カウントデータNの
値が「16」に達するまでステップP401〜P405を繰り返し
実行する。したがって、カウントデータSUMの値が「1
6」に達したときには累積値データは16回分のエコーカ
ウントデータECHCNTSの累積値となっている。そこで、
中央処理装置65は累積値データSUMの値を「16」を除し
て開放弦カウントデータECHCNTIを算出してレジスタ群6
9に送出する(ステップP406)。
When the timer interrupt is generated again, the data value of the mode data MODE is still “3”, so the central processing unit 65
Executes the fret position calculation subroutine and repeats steps P401 to P405. In this way, the central processing unit 65 causes the register 117 to register each time a timer interrupt occurs.
The echo count data ECHCNTS is read from, and while adding this to the accumulated value data SUM, steps P401 to P405 are repeatedly executed until the value of the count data N reaches "16". Therefore, the value of the count data SUM is "1.
When it reaches “6”, the cumulative value data is the cumulative value of the echo count data ECHCNTS for 16 times. Therefore,
The central processing unit 65 divides the value of the accumulated value data SUM by “16” to calculate the open string count data ECHCNTI and register group 6
9 (step P406).

この後、中央処理装置65はステップP407に進み、フレッ
トカウントデータiを「0」に設定する。次に、中央処
理装置65はフレット境界データCNTTHiを算出する(ステ
ップP408)。すなわち、フレットは開放弦時に超音波が
反射される0番フレット39(F0)から圧電素子27,29,・
・に向かって第15図に示されているようにフレット番号
F0,F1,・・・・,Fi,・・,F23,F24が付与されている。圧
電素子27,29,・・から0番フレット39(F0)までの距離
を10とすると、i番目のフレットFiについての伝播時間
のしきい値を示すフレット境界データCNTTHiは CNTTHi=(1i-1−1i)/(2・10) ×ECHCNTI で求められる。上式において、(li-1−1i)/2は圧電素
子27,29,・・から隣接するフレットの中点までの距離を
示しており、ステップP406で求められた開放弦カウント
データECHCNTIを比例配分することにより各フレットに
関する伝播時間を算出している。なお、上記各フレット
までの距離liは各種テーブル71に固定的に保持されてい
る。このようにしてフレットカウントデータiで特定さ
れるフレットFiに関する伝播時間のしきい値が算出され
ると(現時点ではフレットカウントデータiが「0」な
ので、仮想フレットF-1に関するフレット境界データCNT
TH-1が得られる、なお仮想フレットの位置については第
15図に示されているように圧電素子から見て0番フレッ
トより更に遠い実在しないフレットである)これをレジ
スタ群69に転送し、しかる後に中央処理装置65はフレッ
トカウントデータiを「1」歩進させ(ステップP40
9)、フレットカウントデータiが「24」に達したか否
かを判断する(ステップP410)。ステップP410の判断結
果がノー(N)の間、中央処理装置65はステップP408に
戻ってステップP408〜P410を繰り返しつつ仮想フレッド
F-1、フレットF0〜F24についてフレット境界データCNTT
Hiを算出する。このようにして算出されたフレット境界
データCNTTHiはレジスタ群69に送出されて保持される。
After that, the central processing unit 65 proceeds to step P407 and sets the fret count data i to "0". Next, the central processing unit 65 calculates the fret boundary data CNTTHi (step P408). That is, the frets are piezoelectric elements 27, 29, ... from the 0th fret 39 (F0) where ultrasonic waves are reflected when the string is open.
· Fret numbers as shown in Figure 15 toward
F0, F1, ..., Fi, ..., F23, F24 are added. The piezoelectric elements 27 and 29, when the distance 1 0 from ... 0 th fret 39 (F0), fret boundary data CNTTHi indicating the threshold of the propagation time for the i-th fret Fi is CNTTHi = (1i - obtained by the 1 -1i) / (2 · 1 0) × ECHCNTI. In the above equation, (li −1 −1i) / 2 indicates the distance from the piezoelectric elements 27, 29, ··· to the midpoint of the adjacent fret, and the open string count data ECHCNTI obtained in step P406 is proportional to The distribution time is calculated for each fret. It should be noted that the distance li to each of the above frets is fixedly held on various tables 71. In this way, when the threshold value of the propagation time for the fret Fi specified by the fret count data i is calculated (since the fret count data i is “0” at the present time, the fret boundary data CNT for the virtual fret F −1).
You can get TH -1 .
(It is a non-existing fret that is farther from the 0th fret when viewed from the piezoelectric element as shown in FIG. 15) This is transferred to the register group 69, and then the central processing unit 65 sets the fret count data i to "1". Step forward (step P40
9), it is determined whether the fret count data i has reached "24" (step P410). While the determination result of step P410 is No (N), the central processing unit 65 returns to step P408 and repeats steps P408 to P410 while performing virtual fred.
Fret boundary data CNTT for F -1 and frets F0 to F24
Calculate Hi. The fret boundary data CNTTHi calculated in this way is sent to and held in the register group 69.

やがて全フレットについてフレット境界データCNTTHiが
算出されると、ステップP410の判断結果がイエス(Y)
になるので、中央処理装置65はフレット番号データFRET
とフレット位置データNFRETとをそれぞれ「0」とし
(ステップP411)、その後、モードデータMODEを「0」
に設定してフレット位置算出サブルーチンを終了する。
このように、フレット位置算出サブルーチンの実行終了
により初期値設定モードは終了し、モードデータMODEは
演奏モードを指定するようになる。
When the fret boundary data CNTTHi is calculated for all frets, the determination result in step P410 is YES (Y).
Therefore, the central processing unit 65 uses the fret number data FRET
And the fret position data NFRET are set to "0" (step P411), and then the mode data MODE is set to "0".
To complete the fret position calculation subroutine.
In this way, the initial value setting mode ends when the fret position calculation subroutine ends, and the mode data MODE specifies the performance mode.

演奏モード時の処理 上述のようにフレット位置算出サブルーチンが終了する
とモードデータMODEのデータ値は「0」となっているの
で、中央処理装置65がタイマー割り込みに応答してタイ
マー割り込み処理を実行すると、ステップP100の判断結
果は演奏モードを指定し、中央処理装置65はフレット判
別サブルーチンP500、ベンド奏法判別サブルーチンP90
0、キーオン検出サブルーチンP1100およびミュート判別
サブルーチンP1200を順次実行する。
Processing in the performance mode Since the data value of the mode data MODE becomes "0" when the fret position calculation subroutine ends as described above, when the central processing unit 65 executes the timer interrupt processing in response to the timer interrupt, The judgment result of step P100 designates the performance mode, and the central processing unit 65 determines the fret judgment subroutine P500 and the bend performance judgment subroutine P90.
0, the key-on detection subroutine P1100 and the mute discrimination subroutine P1200 are sequentially executed.

フレット判別サブルーチンP500では、エコー信号に基づ
き形成されたエコーカウントデータECHCNTSの値を上述
のフレット位置算出サブルーチン(第14図参照)で算出
したフレット境界データCNTTHiと順次比較して弦と接触
しているフレットを判別し、3回連続して同一フレット
を検出したらフレット位置を確定し、確定されたフレッ
トとレフトハンドモードか否かに応じてキーオフサブル
ーチン、キーチェンジサブルーチンまたはキーオンサブ
ルーチンを実行する。
In the fret determination subroutine P500, the value of the echo count data ECHCNTS formed based on the echo signal is sequentially compared with the fret boundary data CNTHi calculated in the above fret position calculation subroutine (see FIG. 14) to contact the string. When the frets are discriminated and the same fret is detected three times in a row, the fret position is decided, and the key-off subroutine, the key change subroutine or the key-on subroutine is executed depending on whether the decided frets and the left hand mode are set.

ベンド奏法判別サブルーチンP900では、ベンドセンサ35
から供給されるベンドデータBENDSの有効または無効を
判断し、ベンドデータBENDSが有効なデータなら、予め
選択されているベンドカーブに基づきピッチの変更量を
算出して該ピッチの変更量をトーンジェネレータ73に送
出する。
In the bend performance determination subroutine P900, the bend sensor 35
Determine whether the bend data BENDS supplied from is valid or invalid, and if the bend data BENDS is valid data, the pitch change amount is calculated based on the bend curve selected in advance and the pitch change amount is sent to the tone generator 73. Send out.

これに対して、キーオン検出サブルーチンP1100では最
大波高値データPICKUPから弦振動のピーク時を判断し、
弦振動がピークに達した後に3回連続して弦振動が減衰
したことを検出したら撥弦の発生を認め、キーオンサブ
ルーチンを実行して楽音を発生させる。
On the other hand, in the key-on detection subroutine P1100, the peak time of the string vibration is determined from the maximum peak value data PICKUP,
When it is detected that the string vibration has attenuated three times in succession after the string vibration reaches its peak, the occurrence of plucking is recognized, and a key-on subroutine is executed to generate a musical sound.

また、ミュート判別サブルーチンP1200では、キーオン
サブルーチンの実行時に最大値に設定されたミュートカ
ウントデータMUTECNTが最小値「0」になったときの受
信レベルデータECHLVLが上述のエコーレベル初期設定サ
ブルーチン(第13図)の実行時に設定されたミュートし
きい値データの値にまで減少していたら、演奏者のミュ
ート操作を検出して直ちにキーオフプログラムを実行す
る。
Further, in the mute discrimination subroutine P1200, the reception level data ECHLVL when the mute count data MUTECNT set to the maximum value when the key-on subroutine is executed becomes the minimum value “0”, the echo level initial setting subroutine (FIG. 13). If the mute threshold data is set to the value set in (), the player's mute operation is detected and the key-off program is immediately executed.

演奏モードでは、中央処理装置65が各レジスタ101、11
7、127、139に保持されているデータにアクセスしつ
つ、上記サブルーチンP500,P900,P1100,P1200をタイマ
ー割り込み毎に実行して演奏者の操作を判別し、トーン
ジェネレータ73に演奏者の意志にしたがった楽音の発
生、および種々の奏法に対応した楽音への効果の付与を
指示する。
In the play mode, the central processing unit 65 controls the registers 101 and 11
While accessing the data held in 7, 127, 139, the above subroutine P500, P900, P1100, P1200 is executed for each timer interrupt to determine the operation of the performer, and the tone generator 73 is determined by the performer's will. According to the instruction, generation of a musical tone and an addition of an effect to the musical tone corresponding to various playing methods are instructed.

以下、演奏モードにおいて実行されるサブルーチンを詳
細に説明する。
The subroutine executed in the performance mode will be described in detail below.

フレット判別サブルーチン フレット判別サブルーチンP500のアルゴリズムは第16図
に示されている。
Fret Discrimination Subroutine The algorithm for the fret discrimination subroutine P500 is shown in FIG.

フレット判別サブルーチンが開始すると、中央処理装置
65はレジスタ117からエコーカウントデータECHCNTSを読
み込み(ステップP501)、読み込んだエコーカウントデ
ータECHCNTSをレジスタ群69に受信カウントデータECHCN
Tとして転送する(ステップP502)。続いて、中央処理
装置65はカウントデータNに「−1」を設定し(ステッ
プP503)、フレットカウントデータiを「0」に設定す
る(ステップP504)。この後、中央処理装置65は仮想フ
レットF-1に関するフレット境界データCNTTHiを受信カ
ウントデータECHCNTと比較して(ステップP505)、フレ
ット境界データCNTTHiの値が受信カウントデータECHCNT
の値より大きい場合には、ステップP505の判断結果がイ
エス(Y)となるので、フレットカウントデータiをカ
ウントデータNに転送した後に(ステップP506)、フレ
ットカウントデータiの値を「1」増加させて(ステッ
プP507)、フレットカウントデートiが「24」を超えた
か否かをステップP508で判断する。フレットカウントデ
ータiがエコー信号を発生させたフレットより遠いフレ
ットを指定している間はステップP505の判断結果はイエ
ス(Y)となるので、中央処理装置65はステップP505〜
P508で構成されるループを繰り返し実行しながらステッ
プP505の判断結果がノー(N)に変わるのを待つ。ステ
ップP505の判断結果がノー(N)になると、中央処理装
置65はステップP507に進み、フレットカウントデータi
の値をカウントデータNに設定することなくその値を
「1」だけ増加させる。このようにして、中央処理装置
65はステップP505〜P508を繰り返し実行してエコー信号
を発生させたフレットを捜査しながらステップP508の判
断結果がイエス(Y)になるのを待つ。
When the fret determination subroutine starts, the central processing unit
65 reads the echo count data ECHCNTS from the register 117 (step P501), receives the read echo count data ECHCNTS in the register group 69, and receives the count data ECHCNS.
Transfer as T (step P502). Subsequently, the central processing unit 65 sets "-1" to the count data N (step P503) and sets the fret count data i to "0" (step P504). After that, the central processing unit 65 compares the fret boundary data CNTTHi regarding the virtual fret F -1 with the reception count data ECHCNT (step P505), and the value of the fret boundary data CNTTHi is the reception count data ECHCNT.
If it is larger than the value of, the determination result of step P505 is YES (Y), so after the fret count data i is transferred to the count data N (step P506), the value of the fret count data i is increased by “1”. Then (step P507), it is determined in step P508 whether the fret count date i exceeds "24". While the fret count data i designates a fret farther than the fret that generated the echo signal, the determination result of step P505 is YES (Y), so the central processing unit 65 causes the central processing unit 65 to perform steps P505-
While repeatedly executing the loop constituted by P508, wait until the determination result of step P505 changes to NO (N). When the determination result in step P505 is NO (N), the central processing unit 65 advances to step P507, and the fret count data i
The value is incremented by "1" without setting the value in the count data N. In this way, the central processing unit
Step 65 repeats steps P505 to P508 to search for the fret that generated the echo signal, and waits for the judgment result in step P508 to become yes (Y).

ステップP508の判断結果がイエスになると、中央処理装
置65は受信カウントデータECHCNTを仮想フレット〜24番
フレットのフレット境界データCNTTHiと順次比較したこ
とになるので、ステップP509に進み、カウントデータN
が仮想フレットを示す「−1」、または24番フレットを
示す「24」であるか否かを判断し、その判断結果がイエ
ス(Y)ならエコー信号が仮想フレット以遠の実在しな
いフレットで発生したか、音高の割り当てられていない
24フレットで発生したことを示しているので、受信カウ
ントデータECHCNTをエラーデータと判断してフレット位
置確定判別データSMCNTを「0」に設定する(ステップP
510)。このようにフレット位置確定判別データSMCNTが
「0」に設定されると、受信カウントデータECHCNTを発
生させたエコー信号に関しては楽音の発生はなされな
い。一方、ステップP509の判断結果が、ノー(N)の場
合には、フレット番号データFETの値とカウントデート
Nの値とが等しいか否かを判断する(ステップP511)。
ステップP511の判断結果がイエス(Y)なら、確定した
フレットが押し続けられているのでキーオン処理するこ
となくステップP510でフレット位置確定判別データSMCN
Tの値を「0」に設定して、タイマー割り込み処理ルー
チン(第11図)に戻る。一方、ステップP511の判断結果
がイエス(Y)ならカウントデータNの値がフレット位
置データNFRETの値と等しいか否かをステップP512で判
断し、等しくないときは(N)フレット位置確定判別デ
ータSMCNTの値を「1」に設定し(ステップP513)、し
かる後にカウントデータNの値をフレット位置データNF
RETとして設定する。(ステップP514)。一方、フレッ
ト位置データNFRETの値とカウントデータNの値とが等
しい場合には、フレット位置確定判別データSMCNTの値
を「1」だけ増加させ(ステップP515)、フレット位置
確定判別データSMCNTが「3」か否かを判断する(ステ
ップP516)。ステップP516の判断結果がノー(N)なら
ば、タイマー割り込み処理ルーチン(第11図)に戻り、
ステップP516の判断結果がイエス(Y)ならフレット番
号データFRETの値をフレット位置データNFRETの値に一
致させ(ステップP517)、フレット位置確定判別データ
SMCNTを「0」に設定する(ステップP518)。このよう
に、本実施例では同一のフレットが3回検出されたとき
のみ該フレットを弦と接触しているフレットと認定す
る。
If the decision result in the step P508 is YES, the central processing unit 65 has compared the received count data ECHCNT with the fret boundary data CNTTHi of the virtual frets to the 24th fret in order, so the flow advances to the step P509, and the count data N is counted.
Is "-1" indicating the virtual fret or "24" indicating the 24th fret, and if the judgment result is YES (Y), the echo signal is generated on the non-existing fret beyond the virtual fret. Or no pitch assigned
Since it has occurred on the 24th fret, the reception count data ECHCNT is determined to be error data and the fret position confirmation determination data SMCNT is set to "0" (step P
510). When the fret position confirmation determination data SMCNT is set to "0" in this way, no musical tone is generated for the echo signal that generated the reception count data ECHCNT. On the other hand, if the determination result in step P509 is NO (N), it is determined whether the value of the fret number data FET and the value of the count date N are equal (step P511).
If the determination result in step P511 is YES (Y), the determined fret is being continuously pressed, and therefore the fret position determination determination data SMCN is determined in step P510 without key-on processing.
The value of T is set to "0" and the process returns to the timer interrupt processing routine (Fig. 11). On the other hand, if the determination result in step P511 is YES (Y), it is determined in step P512 whether the value of the count data N is equal to the value of the fret position data NFRET. If they are not equal, the (N) fret position confirmation determination data SMCNT is determined. Is set to "1" (step P513), and then the value of the count data N is changed to the fret position data NF.
Set as RET. (Step P514). On the other hand, when the value of the fret position data NFRET is equal to the value of the count data N, the value of the fret position confirmation determination data SMCNT is increased by "1" (step P515), and the fret position determination determination data SMCNT is changed to "3". Is determined (step P516). If the decision result in the step P516 is NO (N), the process returns to the timer interrupt processing routine (FIG. 11),
If the determination result in step P516 is YES (Y), the value of the fret number data FRET is matched with the value of the fret position data NFRET (step P517), and the fret position confirmation determination data is obtained.
SMCNT is set to "0" (step P518). As described above, in the present embodiment, only when the same fret is detected three times, the fret is recognized as the fret in contact with the string.

中央処理装置65は続いてフレット番号データFRETの値が
「0」であるか否かを判断し(ステップP519)、フレッ
ト番号データFRETの値が「0」なら弦を押圧して撥弦し
た後に開放弦に移行したことを示しているので、中央処
理装置65はキーオフサブルーチンP600を実行して楽音の
発生を停止させる。これに対して、フレット番号データ
FRETの値が「0」以外なら、ステップP520に進み、レフ
トハンドモードデータLEFTの値が「1」であるか否かを
判断し、その判断結果がイエス(Y)ならレフトハンド
演奏に備えてピックアップ最大値データPEAKに平均的音
量値を示す「40H]を設定し(ステップP521)、その
後、キーオンサブルーチンを実行してタイマー割り込み
サブルーチンに戻る(ステップP700)。一方、ステップ
P520の判断結果がノー(N)なら、中央処理装置65はキ
ーチェンジサブルーチンP800を実行してタイマー割り込
み処理ルーチンに戻る。以上説明したキーオフサブルー
チン、キーオフサブルーチン及びキーチェンジサブルー
チンは後に詳述する。
The central processing unit 65 subsequently judges whether or not the value of the fret number data FRET is "0" (step P519), and if the value of the fret number data FRET is "0", the string is pressed and plucked. Since it has shown that the string has been changed to the open string, the central processing unit 65 executes the key-off subroutine P600 to stop the generation of the musical sound. On the other hand, fret number data
If the FRET value is other than "0", the process proceeds to step P520, and it is determined whether or not the left hand mode data LEFT value is "1". If the result of the determination is YES (Y), the pickup is made in preparation for the left hand performance. Set "40 H " indicating the average volume value to the value data PEAK (step P521), then execute the key-on subroutine and return to the timer interrupt subroutine (step P700).
If the determination result of P520 is no (N), the central processing unit 65 executes the key change subroutine P800 and returns to the timer interrupt processing routine. The key-off subroutine, the key-off subroutine, and the key-change subroutine described above will be described in detail later.

ベンド奏法判別サブルーチン 中央処理装置65は上述したフレット位置判別サブルーチ
ンが終了してタイマー割り込み処理ルーチンに戻ると、
ベンド奏法判別サブルーチンP900を実行する。ベンド奏
法判別サブルーチンP900にあっては、まず、電磁ピック
アップ時間制御データPCKCNTの値が「0」か否かを判断
し(ステップP901)、ノー(N)の場合には、ベンド奏
法の判別を中止してタイマー割り込み処理ルーチンに戻
る。レジスタ群69に関する項でも説明したように、電磁
ピックアップ時間制御データPCKCNTは撥弦検出時に初期
値「10」に設定されるので、撥弦検出後一定期間(約10
msec)はベンド奏法の判別を行わないようにできる。こ
れは、撥弦時の弦振動を誤ってベンドによる弦の移動と
判断しないためである。これに対して、ステップP901の
判断結果がイエス(Y)の場合には、中央処理装置65は
レジスタ139からベンドデータBEHDSを読み込み(ステッ
プP902)、このベンドデータBENDSをレジスタ群69に送
出してベンドセンサデータBENDとして保持する(ステッ
プP903)。この後に、中央処理装置65はベンドセンサデ
ータBENDを補正する(ステップP904)。すなわち、上述
したベンドセンサ初期設定サブルーチン(第12図参照)
で算出したベンド補正データBENDIをベンドセンサデー
タBENDに加算して、これを再びレジスタ群69にベンドセ
ンサデータBENDとして保持する。以上のベンドセンサデ
ータBENDの補正後、中央処理装置65は補正されたベンド
センサデータBENDの有効性を判断する。すなわち、ステ
ップP905でベンドセンサデータBENDの値がオーバーフロ
ーしているか否かを判断し、オーバーフロー時にはベン
ドセンサデータBENDにその最大値(7FH)を設定し(ス
テップP906)、オーバーフローはしていないものの(ス
テップP905の判断結果がノー(N)の場合)、アンダー
フローしている場合には(ステップP907の判断結果がイ
エス(Y)の場合))、ベンドセンサデータBENDとして
最小値(00H)を設定する(ステップP908)。このよう
にして、ベンドセンサデータBENDを再度補正して一定範
囲内におさめると、中央処理装置65は第18図に示されて
いるピッチ変更データ算出サブルーチンを実行する(ス
テップP1000)。
Bend rendition style determination subroutine When the central processing unit 65 returns to the timer interrupt processing routine upon completion of the above fret position determination subroutine,
The bend performance method determination subroutine P900 is executed. In the bend rendition style determination subroutine P900, first, it is determined whether or not the value of the electromagnetic pickup time control data PCKCNT is "0" (step P901). If the value is no (N), the bend rendition style determination is stopped. Then, the process returns to the timer interrupt processing routine. As described in the section regarding the register group 69, the electromagnetic pickup time control data PCKCNT is set to the initial value “10” when plucking is detected, so a certain period (about 10
msec) can be set not to distinguish the bend playing style. This is because the string vibration during plucking is not mistakenly determined as the movement of the string due to the bend. On the other hand, when the determination result of step P901 is YES (Y), the central processing unit 65 reads the bend data BEHDS from the register 139 (step P902), and sends this bend data BENDS to the register group 69. The bend sensor data BEND is held (step P903). After this, the central processing unit 65 corrects the bend sensor data BEND (step P904). That is, the above-described bend sensor initial setting subroutine (see FIG. 12)
The bend correction data BENDI calculated in step 1 is added to the bend sensor data BEND, and this is again held in the register group 69 as the bend sensor data BEND. After correcting the bend sensor data BEND as described above, the central processing unit 65 determines the validity of the corrected bend sensor data BEND. That is, it is determined in step P905 whether or not the value of the bend sensor data BEND has overflowed, and at the time of overflow, the maximum value (7F H ) is set in the bend sensor data BEND (step P906), but no overflow has occurred. If the judgment result of step P905 is NO (N), or if there is underflow (if the judgment result of step P907 is YES (Y)), the minimum value (00 H ) is set as the bend sensor data BEND. Is set (step P908). In this way, when the bend sensor data BEND is corrected again and kept within a certain range, the central processing unit 65 executes the pitch change data calculation subroutine shown in FIG. 18 (step P1000).

ピッチ変更データ算出サブルーチンP1000を説明する前
に、第19図を参照して仮想ベンド量について説明する。
第19図はギターボディ21を示す平面図であり、141は下
駒を示している。第19図に示されているように、撥弦は
位置PCでなされるので、ベンドセンサ35,37,・・により
検出されたベンド量に基づき弦の接触しているフレット
P1での弦の変位を算出すると、ギターボディ21のネック
部の幅を超えてしまう。一方、ベンド奏法に基づく弦の
フレットとの接触位置P2での変位は、ギターのネック部
の範囲内のはずであり、ベンドセンサ35,37,・・の検出
したベンド量が撥弦による変位かベンド操作による変位
かを判断するためにベンドセンサ35,37,・・の検出値に
基づき以下のように仮想ベンド量Xを算出する。
Before explaining the pitch change data calculation subroutine P1000, the virtual bend amount will be described with reference to FIG.
FIG. 19 is a plan view showing the guitar body 21, and 141 is a lower piece. As shown in FIG. 19, since plucking is performed at the position PC, the frets contacting the strings based on the bend amount detected by the bend sensors 35, 37, ...
Calculating the string displacement at P1 would exceed the width of the neck of the guitar body 21. On the other hand, the displacement at the contact position P2 with the fret of the string based on the bend playing method should be within the range of the neck part of the guitar, and the bend amount detected by the bend sensors 35, 37, ... The virtual bend amount X is calculated as follows based on the detection values of the bend sensors 35, 37, ... To determine whether the displacement is due to a bend operation.

X=(BEND−40H)・LF ここで、BENDはステップP904〜P908で補正されたベンド
センサデータの値であり、LFは下駒から弦の押圧されて
いるフレットまでの距離を示すベンド位置データであ
る。従って、(BEND−40H)は弦の傾き角であり、該傾
き角にベンド位置データLFを乗することにより、位置P
1,P2等における仮想ベンド量X(P1)またはX(P2)を
得ることができる。もし、このようにして算出された仮
想ベンド量が位置P1における値X(P1)のようにネック
部の幅を超えているなら、ベンド操作はなされなかった
はずであり、この場合には、楽音のピッチ変更を発生さ
せるべきではない。これに対して、仮想ベンド量X(P
2)のように弦の変位がネック部の幅以内なら楽音のピ
ッチを変化させてベンド奏法に対応した音高の変化を生
じさせなければならない。
X = (BEND−40 H ) · LF where BEND is the value of the bend sensor data corrected in steps P904 to P908, and LF is the bend position indicating the distance from the lower piece to the fret on which the string is pressed. The data. Therefore, (BEND-40 H ) is the inclination angle of the string, and by multiplying the inclination angle by the bend position data LF, the position P
The virtual bend amount X (P1) or X (P2) at 1, P2, etc. can be obtained. If the virtual bend amount calculated in this way exceeds the width of the neck part like the value X (P1) at the position P1, the bend operation should not have been performed. Should not cause pitch changes. On the other hand, the virtual bend amount X (P
If the displacement of the strings is within the width of the neck as shown in 2), the pitch of the musical tone must be changed to change the pitch corresponding to the bend style.

そこで、中央処理装置65はフレット判別サブルーチンで
検出したフレット番号データFRETに基づき弦と接触して
いるフレットまでの距離をテーブル71から読み出し、こ
れをベンド位置データLFとしてレジスタ群69に保持させ
る(ステップP1001)。続いて、中央処理装置65は(BEN
D−40H)・LFを計算して、仮想ベンド量Xを算出する
(ステップP1002)。かようにして仮想ベンド量Xが算
出されると、中央処理装置65は仮想ベンド量Xをテーブ
ル71に保持されている右側限界値RNGR(FRET)と比較し
て仮想ベンド量Xが右側限界値RNGR(FRET)以上か否か
を判断する(ステップP1003)。ステップP1003の判断結
果がノー(N)なら仮想ベンド量Xは無効などで、ピッ
チ変更データBENDCの値を「0」に設定し(ステップP10
04)、ステップP1003の判断結果がイエス(Y)なら中
央処理装置65は仮想ベンド量Xをテーブル71から読み出
した左側限界値RNGLと比較して、仮想ベンド量Xが左側
限界値RNGL以下か否かを判断する(ステップP1005)。
ステップP1005の判断結果がノー(N)なら仮想ベンド
量Xはやはり無効なので、ピッチ変更データBENDCを
「0」に設定して楽音の音高を一定に維持するようにす
る。これに対して、ステップP1005の判断結果がイエス
(Y)なら仮想ベンド量Xは有効なので、中央処理装置
65はステップP1006に進み、予め選択されているベンド
カーブ(本実施例では第9図のE,F,Gのいずれか)にし
たがいベンドセンサデータBENDからピッチ変更データBE
NDCを算出しレジスタ群69に保持させる(かかるピッチ
データの算出をBENDCNV(BEND)と表す)。
Therefore, the central processing unit 65 reads the distance to the fret in contact with the string from the table 71 based on the fret number data FRET detected by the fret discrimination subroutine, and stores this in the register group 69 as bend position data LF (step P1001). Then, the central processing unit 65 (BEN
D-40 H ) · LF is calculated to calculate the virtual bend amount X (step P1002). When the virtual bend amount X is calculated in this way, the central processing unit 65 compares the virtual bend amount X with the right limit value RNGR (FRET) held in the table 71, and the virtual bend amount X is changed to the right limit value. It is determined whether or not RNGR (FRET) or more (step P1003). If the determination result in step P1003 is NO (N), the virtual bend amount X is invalid, and the value of the pitch change data BENDC is set to "0" (step P10
04), if the determination result of step P1003 is YES (Y), the central processing unit 65 compares the virtual bend amount X with the left limit value RNGL read from the table 71, and determines whether the virtual bend amount X is less than or equal to the left limit value RNGL. It is determined (step P1005).
If the determination result in step P1005 is NO (N), the virtual bend amount X is still invalid, so the pitch change data BENDC is set to "0" to maintain the pitch of the musical tone constant. On the other hand, if the determination result of step P1005 is YES (Y), the virtual bend amount X is valid, so the central processing unit
In step P1006, the process proceeds to step P1006, where the pitch change data BE is changed from the bend sensor data BEND according to the preselected bend curve (E, F, or G in FIG. 9 in this embodiment).
NDC is calculated and held in the register group 69 (calculation of such pitch data is expressed as BENDCNV (BEND)).

以上のように、ピッチ変更データBENDCが算出される
と、中央処理装置65はベンド奏法判別サブルーチンに戻
り、ステップP909でピッチ変更データBENDCが「0」で
あるか否かを判断する。ステップP909の判断結果がイエ
ス(Y)なら楽音のピッチを変更する必要がないので、
タイマー割り込み処理ルーチンに戻る。一方、ステップ
P909の判断結果がノー(N)ならピッチ変更データBEND
Cは変更すべき楽音のピッチを示しているので、中央処
理装置65はピッチ変更データBENDCをトーンジェネレー
タ73に送出する(ステップP910)。このようにしてピッ
チ変更データBENDCがトーンジェネレータ73に送出され
ると、トーンジェネレータ73は供給されたピッチ変更デ
ータBENDCに基づき楽音のピッチを変更する。その結
果、演奏者は弦をネック部の幅方向に移動させることに
よってベンド奏法に対応した音高の変化を楽音に付与す
ることができる。中央処理装置65はステップP910でピッ
チ変更データBENDをトーンジェネレータ73に送出する
と、タイマー割り込み処理ルーチンに戻り、キーオン検
出サブルーチンP1100を実行する。
As described above, when the pitch change data BENDC is calculated, the central processing unit 65 returns to the bend rendition style determination subroutine and determines in step P909 whether the pitch change data BENDC is "0". If the judgment result of step P909 is YES (Y), it is not necessary to change the pitch of the musical sound,
Return to the timer interrupt processing routine. Meanwhile, step
If the judgment result of P909 is no (N), pitch change data BEND
Since C indicates the pitch of the musical sound to be changed, the central processing unit 65 sends pitch change data BENDC to the tone generator 73 (step P910). When the pitch change data BENDC is sent to the tone generator 73 in this way, the tone generator 73 changes the pitch of the musical tone based on the supplied pitch change data BENDC. As a result, the player can give the musical tone a pitch change corresponding to the bend playing style by moving the strings in the width direction of the neck portion. When the central processing unit 65 sends the pitch change data BEND to the tone generator 73 in step P910, it returns to the timer interruption processing routine and executes the key-on detection subroutine P1100.

キーオン検出サブルーチン 上述のキーオン検出サブルーチンP1100においては、中
央処理装置65は第20図に示されているように、まず、電
磁ピックアップ時間制御データPCKCNTの値が「1」〜
「7」であるか否かを判断し(ステップP1101)その判
断結果がイエス(Y)なら電磁ピックアップ時間制御デ
ータPCKCNTの値を「1」だけ減少させる(スイテップP1
102)。電磁ピックアップ時間制御データPCKCNTはレジ
スタ群69に関して説明したように、その値が「7」にな
るとキーオン、すなわち発音開始となるので、ステップ
P1101で電磁ピックアップ時間制御データPCKCNTの値が
「1」〜「7」ならステップP1102を経てタイマー割り
込み処理ルーチンに戻るように制御することにより、一
旦発音した後には、少なくとも7msecは再発音させない
ことになる。
Key-On Detection Subroutine In the above-mentioned key-on detection subroutine P1100, the central processing unit 65, as shown in FIG. 20, firstly, the value of the electromagnetic pickup time control data PCKCNT is "1"-
It is judged whether or not it is "7" (step P1101). If the judgment result is YES (Y), the value of the electromagnetic pickup time control data PCKCNT is decreased by "1" (switch P1).
102). As described with regard to the register group 69, the electromagnetic pickup time control data PCKCNT is key-on, that is, sounding starts when the value becomes "7".
If the value of the electromagnetic pick-up time control data PCKCNT in P1101 is "1" to "7", control is made to return to the timer interrupt processing routine via step P1102, so that at least 7 msec will not be repronounced once the sound is produced. Become.

一方、ステップP1101の判断結果がノー(N)ならば、
中央処理装置65はレジスタ127から最大波高値データPIC
KUPSを読み込み(ステップP1103)、これをレジスタ群6
9に送出して保持(PICKUP)する(ステップP1104)。続
く、ステップP1105では最大波高値データPICKUPの値が
ピックアップしきい値データPCKTHの値より大きいか否
かを判断し、最大波高値データPICKUPの値がピックアッ
プしきい値データPCKTHの値以下なら該最大波高値デー
タPICKUPを雑音と判断してステップP1114に進み、最大
波高値データPICKUPを先行波高値データOPCKとしてレジ
スタ群69に保持させる。一方、最大波高値データPICKUP
の値がピックアップしきい値データPCKTHの値より大き
いなら、中央処理装置65は最大波高値データPICKUPを撥
弦に基づくデータと判断してステップP1106に進み、最
大波高値データPICKUPの値を電磁ピックアップ境界値デ
ータPCKLSの値と比較してその大小を判別する。電磁ピ
ックアップ境界値データPCKLSは撥弦用倍率データMPLの
値を選択するための境界値であり、中央処理装置65はス
テップP1106の実行に先立ちレジスタ群69から読み出
し、最大波高値データPICKUPとの比較に用いる。最大波
高値データPICKUPの値が電磁ピックアップ境界値データ
PCKLSの値を超えているなら、ステップP1106の判断結果
がイエス(Y)となり、中央処理装置65は撥弦により高
レベルの弦振動が発生していると判断して撥弦用倍率デ
ータを「1.5」に設定する(ステップP1107)。一方、最
大波高値データPICKUPの値が電磁ピックアップ境界値デ
ータPCKLSの値以下なら、中央処理装置65は低レベルの
弦振動であると判断して撥弦用倍率データMPLを「2.0」
に設定する(ステップP1108)。かかる撥弦用倍率デー
タMPLの設定後、中央処理装置65はキーオントリガデー
タONTRGの値が「1」であるか否かを判断する(ステッ
プP1109)。キーオントリガデータONTRGは最大波高値デ
ータPICKUPの値が先行波高値データOPCKに撥弦用倍率デ
ータMPLを乗算した値を超えたか否かを示しており、先
行するキーオン検出サブルーチンの実行中に値が決定さ
れる。よって、先行するキーオン検出サブルーチンの実
行中に(OPCK×MPL)より大きな最大波高値データPICKU
Pが検出されていなければ、ステップP1109の判断結果は
ノー(N)となり、先行波高値データOPCKに撥弦用倍率
データMPLを乗し、その積を最大波高値データPICKUPと
比較する(ステップP1110)。最大波高値データPICKUP
の値が上記積の値より大きければ、ステップP1110の判
断結果はイエス(Y)となり、中央処理装置65はキーオ
ントリガデータONTRGの値を「1」に設定し(ステップP
1111)、電磁ピックアップ時間制御データPCKCNTを「1
0」に設定する(ステップP1112)。その後、中央処理装
置65はピックアップ最大値データを「0」に設定し(ス
テップP1113)、最大波高値データPICKUPを先行波高値
データOPCKとしてレジスタ群69に保持させる(ステップ
P1114)。本実施例の場合は、弦振動がピークに達し、
その後、検出された最大波高値データPICKUPの値が3回
連続して減少したら、撥弦を検出したことになるので、
ステップP1111〜P1113で上記撥弦検出のための前準備を
することになる。一方、最大波高値データPICKUPの値が
上記先行波高値データOPCKの値と撥弦用倍率データMPL
との積より小さかった場合は、弦弦とみなすには十分な
振動がまだ発生していないので、撥弦検出の前準備をす
ることなくステップP1114に進む。
On the other hand, if the determination result of step P1101 is no (N),
The central processing unit 65 receives the maximum peak value data PIC from the register 127.
Read KUPS (step P1103) and register it as register group 6
It is sent to 9 and held (PICKUP) (step P1104). Subsequently, in Step P1105, it is determined whether or not the value of the maximum peak value data PICKUP is larger than the value of the pickup threshold data PCKTH, and if the value of the maximum peak value data PICKUP is the value of the pickup threshold data PCKTH or less, the maximum The peak value data PICKUP is determined to be noise, and the process proceeds to step P1114, and the maximum peak value data PICKUP is held in the register group 69 as the preceding peak value data OPCK. On the other hand, maximum peak value data PICKUP
If the value of is greater than the value of the pickup threshold data PCKTH, the central processing unit 65 determines that the maximum peak value data PICKUP is the data based on the plucked string and proceeds to step P1106 to set the value of the maximum peak value data PICKUP to the electromagnetic pickup. The size of the boundary value data PCKLS is compared with that of the boundary value data PCKLS. The electromagnetic pickup boundary value data PCKLS is a boundary value for selecting the value of the plucking scale factor data MPL, and the central processing unit 65 reads it from the register group 69 before executing step P1106 and compares it with the maximum peak value data PICKUP. Used for. Maximum peak value data PICKUP value is electromagnetic pickup boundary value data
If it exceeds the value of PCKLS, the judgment result of step P1106 becomes YES (Y), and the central processing unit 65 judges that the high level string vibration is generated by the plucked string and sets the string plucking magnification data to " Set to 1.5 ”(step P1107). On the other hand, if the value of the maximum peak value data PICKUP is less than the value of the electromagnetic pickup boundary value data PCKLS, the central processing unit 65 determines that it is a low level string vibration and sets the plucking scale data MPL to “2.0”.
(Step P1108). After setting the string plucking magnification data MPL, the central processing unit 65 determines whether or not the value of the key-on trigger data ONTRG is "1" (step P1109). The key-on trigger data ONTRG indicates whether or not the value of the maximum peak value data PICKUP exceeds the value obtained by multiplying the preceding peak value data OPCK by the string plucking magnification data MPL, and the value is detected during execution of the preceding key-on detection subroutine. It is determined. Therefore, during the execution of the preceding key-on detection subroutine, the maximum peak value data PICKU larger than (OPCK x MPL)
If P is not detected, the determination result of step P1109 is NO (N), the preceding peak value data OPCK is multiplied by the plucking scale data MPL, and the product is compared with the maximum peak value data PICKUP (step P1110). ). Maximum peak value data PICKUP
If the value of is larger than the value of the product, the determination result of step P1110 is YES (Y), and the central processing unit 65 sets the value of the key-on trigger data ONTRG to “1” (step P11).
1111), the electromagnetic pickup time control data PCKCNT is set to "1.
Set to "0" (step P1112). Thereafter, the central processing unit 65 sets the pickup maximum value data to "0" (step P1113), and holds the maximum peak value data PICKUP in the register group 69 as the preceding peak value data OPCK (step P1113).
P1114). In the case of this embodiment, the string vibration reaches a peak,
After that, if the value of the detected maximum peak value data PICKUP decreases three times in a row, it means that plucking is detected.
In steps P1111 to P1113, preparations for the above-described plucking detection are made. On the other hand, the value of the maximum peak value data PICKUP is the value of the preceding peak value data OPCK and the plucking scale data MPL.
If it is smaller than the product of and, since sufficient vibration has not occurred yet to be regarded as a string, the process proceeds to step P1114 without preparing for string detection.

これに対して、先行するキーオン検出サブルーチンでキ
ーオントリガデータONTRGがすでに「1」に設定されて
いるなら(ステップP1109の判断結果がイエス(Y)と
なる)、上記撥弦検出のための前準備はすでに終了して
いるので、中央処理装置65はステップP1109からステッ
プP1115に進み、先行波高値データOPCKの値が最大波高
値データPICKUPの値より大きいか否かを判断する。先行
波高値データOPCKの値が最大波高値データPICKUPの値よ
り小さいなら、ステップP1115の判断結果はノー(N)
となり、弦振動の振幅は依然として増加しているので、
電磁ピックアップ時間制御データPCKCNTを「10」に設定
して(ステップP1116)、最大波高値データPICKUPを先
行波高値データOPCKとしてレジスタ群69に保持させる
(ステップP1123)。これに対して、最大波高値データP
ICKUPの値が先行波高値データOPCKの値より小さい場合
には、弦振動の減衰が始まっているので(ステップP111
5の判断結果はイエス(Y)となる)、中央処理装置65
は電磁ピックアップ時間制御データPCKCNTの値が「10」
であるか否かを判断し(ステップP1117)、その判断結
果がイエス(Y)ならピックアップ最大値データPEAKの
値が先行波高値データOPCKの値より大きいか否かを判断
する(ステップP1118)。ステップP1118の判断結果がノ
ー(N)なら先行波高値データOPCKをピックアップ最大
値データPEAKとしてレジスタ群69に保持させ(ステップ
P1119)、ステップP1118の判断結果がイエス(Y)なら
ステップP1119を実行することなくステップP1120に進
み、電磁ピックアップ時間制御データPCKCNTを「1」だ
け減少させる。一方、ステップP1117の判断結果かノー
(N)ならステップP1118,P1119を実行することなくス
テップP1120に進み、電磁ピックアップ時間制御データP
CKCNTの値を「1」だけ減少させる。したがって、ピッ
クアップ最大値データPEAKは最大波高値データPICKUPの
撥弦検出後の最も大きな値に等しくなる。
On the other hand, if the key-on trigger data ONTRG is already set to "1" in the preceding key-on detection subroutine (the determination result in step P1109 is YES (Y)), the preparation for the above-described plucking detection is performed. Since it has already ended, the central processing unit 65 proceeds from step P1109 to step P1115, and determines whether or not the value of the preceding peak value data OPCK is larger than the value of the maximum peak value data PICKUP. If the value of the preceding peak value data OPCK is smaller than the value of the maximum peak value data PICKUP, the determination result of step P1115 is NO (N).
And the amplitude of the string vibration is still increasing,
The electromagnetic pickup time control data PCKCNT is set to "10" (step P1116), and the maximum peak value data PICKUP is held in the register group 69 as the preceding peak value data OPCK (step P1123). On the other hand, the maximum peak value data P
If the value of ICKUP is smaller than the value of the preceding peak value data OPCK, the damping of the string vibration has started (step P111).
The judgment result of 5 is yes (Y)), the central processing unit 65
Indicates that the electromagnetic pickup time control data PCKCNT has a value of "10"
Is judged (step P1117), and if the judgment result is YES (Y), it is judged whether the value of the pickup maximum value data PEAK is larger than the value of the preceding peak value data OPCK (step P1118). If the determination result of step P1118 is NO (N), the preceding peak value data OPCK is held in the register group 69 as the pickup maximum value data PEAK (step
If the determination result of step P1118 is YES (Y), the process proceeds to step P1120 without executing step P1119, and the electromagnetic pickup time control data PCKCNT is decreased by "1". On the other hand, if the judgment result in step P1117 is NO (N), the process proceeds to step P1120 without executing steps P1118 and P1119, and the electromagnetic pickup time control data P
Decrease the value of CKCNT by "1". Therefore, the pickup maximum value data PEAK becomes equal to the maximum value of the maximum peak value data PICKUP after the plucking is detected.

しかる後、中央処理装置65は、電磁ピックアップ時間制
御データPCKCNTの値が「7」に達したか否かを判断し
(ステップP1121)、電磁ピックアップ時間制御データP
CKCNTが「7」より大きければステップP1121の上述の撥
弦検出の条件は満たされていないので、ステップP1123
に進み、最大波高値データPICKUPの値を先行波高値デー
タOPCKとしてレジスタ群69に保持させる。しかしなが
ら、電磁ピックアップ時間制御データPCKCNTの値が
「7」に足していれば撥弦検出の条件が成就しているの
で、中央処理装置65はステップP700に進み、後述するキ
ーオンサブルーチンを実行して楽音を発生させる。かよ
うにして楽音の発生がなされると、中央処理装置65はキ
ーオントリガデータONTRGの値を「0」に設定し(ステ
ップP1122)、最大波高値データPICKUPの値を先行波高
値データOPCKとしてレジスタ群69に保持させて以後のキ
ーオン検出に備える(ステップP1123)。この後、中央
処理装置65はタイマー割り込み処理ルーチンに戻る。
After that, the central processing unit 65 judges whether or not the value of the electromagnetic pickup time control data PCKCNT has reached “7” (step P1121), and the electromagnetic pickup time control data PK
If CKCNT is larger than “7”, the above-described condition for plucking detection in step P1121 is not satisfied, so step P1123.
Then, the value of the maximum peak value data PICKUP is held in the register group 69 as the preceding peak value data OPCK. However, if the value of the electromagnetic pick-up time control data PCKCNT is added to "7", the condition for plucking detection is satisfied, so the central processing unit 65 proceeds to step P700 to execute the key-on subroutine described later to make a musical sound. Generate. When the musical tone is generated in this way, the central processing unit 65 sets the value of the key-on trigger data ONTRG to "0" (step P1122), and registers the value of the maximum peak value data PICKUP as the preceding peak value data OPCK. It is held in the group 69 to prepare for subsequent key-on detection (step P1123). After this, the central processing unit 65 returns to the timer interrupt processing routine.

ミュート判別サブルーチン キーオン検出サブルーチンの終了後タイマー割り込み処
理ルーチンに戻った中央処理装置65は、ミュート判別サ
ブルーチン(第21図参照)を実行する、すなわち、中央
処理装置65はレジスタ群69からミュートカウントデータ
MUTECNTを読み出し、ミュートカウントデータMUTECNTの
値が「0」か否かを判断する(ステップP1201)。ミュ
ートカウントデータMUTECNTはキーオンサブルーチンの
実行時にミュート奏法と判断された場合「50」に設定さ
れるので、ミュート奏法時のキーオンサブルーチンの実
行により楽音が発生した後の一定期間は「0」以外の値
を有している。すなわち、楽音の発生後一定時間が経過
するまではステップP1201の判断結果はノー(N)とな
り、ミュートカウントデータMUTECNTの値を「1」だけ
減少させ(ステップP1202)、再びミュートカウントデ
ータMUTECNTの値が「0」に達したか否かを判断する
(ステップP1203)。ミュートカウントデータMUTUECNT
の値が依然として「0」に達していなければ、中央処理
装置65はミュート判別サブルーチンの実行を終了してタ
イマー割り込み処理ルーチンに戻る。一方、ステップP1
203の判断結果がイエス(Y)なら、中央処理装置65は
上記一定期間の経過を認め、レジスタ101からエコーレ
ベルデータECHLVLSを読み込み(ステップP1204)、これ
(ECHLVLS)を受信レベルデータECHLVLとしてレジスタ
群69に保持させる(ステップP1205)。この後に、中央
処理装置65は受信レベルデータECHLVLとミュートしきい
値データMUTEとにアクセスしてこれらを比較し(ステッ
プP1206)、受信レベルデータECHLVLの値がミュートし
きい値データMUTEの値より小さい場合はステップP1206
の判断結果がノー(N)になるので、キーオフサブルー
チンP600を実行して楽音を急速に停止させる。一方、ス
テップP1206の判断結果がイエス(Y)なら演奏者によ
るミュート操作はなされなかったと判断してキーオフサ
ブルーチンを実行することなくタイマー割り込み処理ル
ーチンに戻る。通常の撥弦時はミュートカウントデータ
は「0」なのでステップP1201にてイエス(Y)とな
り、同様の処理(P1204〜P1206)を行い、撥弦後にミュ
ート操作されたか否かを判断し、キーオフサブルーチン
の実行の有無を決定する。
Mute Discrimination Subroutine After the completion of the key-on detection subroutine, the central processing unit 65 which has returned to the timer interrupt processing routine executes the mute discrimination subroutine (see FIG. 21), that is, the central processing unit 65 receives the mute count data from the register group 69.
MUTECNT is read and it is determined whether the value of the mute count data MUTECNT is "0" (step P1201). The mute count data MUTECNT is set to "50" when it is judged to be the mute rendition during the execution of the key-on subroutine, so a value other than "0" is set for a certain period after the musical tone is generated by the execution of the key-on subroutine during the mute rendition. have. In other words, the judgment result of step P1201 becomes No (N) until a certain time has elapsed after the generation of the musical sound, the value of the mute count data MUTECNT is decreased by "1" (step P1202), and the value of the mute count data MUTECNT is again calculated. It is determined whether or not has reached "0" (step P1203). Mute count data MUTUECNT
If the value of is not yet "0", the central processing unit 65 ends the execution of the mute discrimination subroutine and returns to the timer interrupt processing routine. On the other hand, step P1
If the determination result in 203 is YES (Y), the central processing unit 65 recognizes the elapse of the certain period, reads the echo level data ECHLVLS from the register 101 (step P1204), and uses this (ECHLVLS) as reception level data ECHLVL in the register group. It is held at 69 (step P1205). After this, the central processing unit 65 accesses the reception level data ECHLVL and the mute threshold data MUTE and compares them (step P1206), and the value of the reception level data ECHLVL is smaller than the value of the mute threshold data MUTE. If step P1206
Since the result of the judgment is No (N), the key-off subroutine P600 is executed to stop the musical sound rapidly. On the other hand, if the decision result in step P1206 is YES (Y), it is decided that the player has not performed the mute operation, and the process returns to the timer interrupt processing routine without executing the key-off subroutine. Since the mute count data is "0" during normal plucking, the answer is YES (Y) in step P1201, and the same processing (P1204 to P1206) is performed to determine whether or not the mute operation has been performed after plucking the key-off subroutine. Whether to execute is determined.

キーオンサブルーチン フレット位置判別サブルーチン中にレフトハンド演奏に
基づく楽音の発生が必要になったとき、あるいはキーオ
ン検出サブルーチン中に撥減検出の条件が成就したとき
には、中央処理装置65はキーオンサブルーチンを実行す
る。キーオンサブルーチンでは、第22図に示されている
ように、中央処理装置65はエコーレベルデータECHLVLS
をレジスタ101から読み込み(ステップP701)、該読み
込まれたエコーレベルデータECHLVLSをレジスタ群69に
送出して受信レベルデータECHLVLとして保持させる(ス
テップP702)。この後に中央処理装置65は受信レベルデ
ータECHLVLをミュートしきい値データMUTEと比較して
(ステップP703)、受信レベルデータECHLVLの値がミュ
ートしきい値MUTEよりも大きければ(Y)、中央処理装
置65は通常の発音が所望されていると判断してピックア
ップ最大値データPEAKをタッチデータTOUCHとしてレジ
スタ群69に保持させる(ステップP704)。このピックア
ップ最大値データPEAKの値は、レフトハンド演奏モード
時には音量データの基準値(40H)に設定されているが
(ステップP521)、通常の演奏時には弦振動のピーク時
の最大波高値データPICKUPと等しい値になっている(ス
テップP1119)。受信レベルデータECHLVLの値がミュー
トしきい値データMUTEの値以下なら、中央処理装置65は
ピックアップ最大値データPEAKに「0.4」を乗じ、その
積をタッチデータTOUCHとしてレジスタ群69に保持させ
る(ステップP705)。よって、演奏者がミュート操作を
行った場合は、楽音は音量を小さくして発音される。ス
テップP705の実行後、中央処理装置65はミュートカウン
トデータを「50」に設定し(ステップP706)、ミュート
判別サブルーチンにおける一定期間の計時に供する。
Key-on Subroutine The central processing unit 65 executes the key-on subroutine when it is necessary to generate a musical sound based on the left hand performance during the fret position determination subroutine, or when the condition of the repulsion detection is satisfied during the key-on detection subroutine. In the key-on subroutine, as shown in FIG. 22, the central processing unit 65 uses the echo level data ECHLVLS.
Is read from the register 101 (step P701), the read echo level data ECHLVLS is sent to the register group 69 and held as reception level data ECHLVL (step P702). After this, the central processing unit 65 compares the reception level data ECHLVL with the mute threshold data MUTE (step P703), and if the value of the reception level data ECHLVL is larger than the mute threshold MUTE (Y), the central processing unit. 65 determines that normal sounding is desired and causes the pickup group maximum value data PEAK to be held in the register group 69 as touch data TOUCH (step P704). The value of this pickup maximum value data PEAK is set to the reference value (40 H ) of the volume data in the left hand performance mode (step P521), but during normal performance, the maximum peak value data PICKUP at the peak of string vibration is set. The values are equal (step P1119). If the value of the reception level data ECHLVL is less than or equal to the value of the mute threshold value data MUTE, the central processing unit 65 multiplies the pickup maximum value data PEAK by "0.4" and holds the product as touch data TOUCH in the register group 69 (step P705). Therefore, when the performer performs a mute operation, the musical sound is produced with a low volume. After the execution of step P705, the central processing unit 65 sets the mute count data to "50" (step P706), and keeps the time for a fixed period in the mute discrimination subroutine.

このようにトーンジェネレータ73の音量制御に使用され
るタッチデータTOUCHが設定されると、中央処理装置65
はレジスタ群69からフレット判別サブルーチンで確定さ
れたフレット番号データFRETを読み出し、該フレット番
号データFRETに基づきテーブル71からフレット番号デー
タFRETに対応するキーコードFKCNV(FRET)を読み出
し、このキーコードFKCNV(FRET)をフレット位置対応
キーコードデータKCとしてレジスタ群69に保持させる
(ステップP707)。続いて、中央処理装置65はレジスタ
群69から現在発音中の楽音のキーコードデータOKCを読
み込み、その値が「0」であるか否かを判断する(ステ
ップP708)。現在発音中の楽音があるなら、ステップP7
08の判断結果はノー(N)なので、該発音中の楽音につ
いてトーンジェネレータ73に発音の停止を指示する(ス
テップP709)。一方、ステップP708の判断結果がイエス
(Y)なら中央処理装置65はステップP709を実行するこ
となくフレット位置対応キーコードデータKCとタッチデ
ータTOUCHとをトーンジェネレータ73に送出して楽音の
発生を指示する(ステップP710)。このように、トーン
ジェネレータ73に楽音の発生が指示されると、中央処理
装置65はフレット位置対応キーコードデータKCを現在発
音中の楽音のキーコードデータOKCとしてレジスタ群69
に保持させ(ステップP711)、その後、タイマー割り込
み処理ルーチンまたはキーオン検出サブルーチンに戻
る。
When the touch data TOUCH used for volume control of the tone generator 73 is set in this way, the central processing unit 65
Reads the fret number data FRET determined by the fret discrimination subroutine from the register group 69, reads the key code FKCNV (FRET) corresponding to the fret number data FRET from the table 71 based on the fret number data FRET, and this key code FKCNV ( FRET) as the fret position corresponding key code data KC in the register group 69 (step P707). Subsequently, the central processing unit 65 reads the key code data OKC of the tone currently being sounded from the register group 69 and judges whether the value is "0" (step P708). If there is a tone that is currently sounding, step P7
Since the judgment result of 08 is no (N), the tone generator 73 is instructed to stop the sound generation of the musical sound being generated (step P709). On the other hand, if the decision result in the step P708 is YES (Y), the central processing unit 65 sends the fret position corresponding key code data KC and the touch data TOUCH to the tone generator 73 without executing the step P709, and instructs the tone generator 73 to generate a musical tone. Yes (step P710). In this way, when the tone generator 73 is instructed to generate a musical tone, the central processing unit 65 sets the fret position-corresponding key code data KC as the key code data OKC of the musical tone currently being generated to the register group 69.
(Step P711), and then returns to the timer interrupt processing routine or the key-on detection subroutine.

キーオフサブルーチン フレット判別サブルーチンまたはミュート判別サブルー
チンにおいてキーオフサブルーチンの実行が要請される
と、中央処理装置66は第23図に示されているように、現
在発音中の楽音に関するキーコードデータOKCが「0」
であるか否かを判断し(ステップP601)、キーコードデ
ータOKCの値が「0」なら楽音の発生はすでに停止して
いるので、タイマー割り込み処理ルーチンに戻る。一
方、ステップP601の判断結果がノー(N)ならばキーコ
ードデータOKCで示される現在発音中の楽音の発生停止
をトーンジェネレータ73に指示する(ステップP602)。
Key-Off Subroutine When the execution of the key-off subroutine is requested in the fret discrimination subroutine or the mute discrimination subroutine, the central processing unit 66 causes the key code data OKC regarding the musical tone being currently sounded to be "0", as shown in FIG.
(Step P601), if the value of the key code data OKC is "0", the generation of the musical sound has already stopped, and the process returns to the timer interrupt processing routine. On the other hand, if the decision result in the step P601 is NO (N), the tone generator 73 is instructed to stop the generation of the musical tone currently being sounded, which is indicated by the key code data OKC (step P602).

キーチェンジサブルーチン フレット判別サブルーチンにおいてキーチェンジサブル
ーチンの実行が要請されると、中央処理装置65は第24図
に示されているように、レガート状態データLGTの値が
「1」である否かを判断し(ステップP801)、ステップ
P801の判断結果がノー(N)なら現在発音中の楽音に関
するキーコードデータOKCの値が「0」か否かを判断す
る(ステップP802)。キーコードデータOKCの値が
「0」以外ならトーンジェネレータ73は発音中なので
(ノー(N))、中央処理装置65はトーンジェネレータ
73を制御してキーコードOKCで表された楽音の発生を停
止させ(ステップP803)、続くステップP804でフレット
位置対応キーコードデータKCとタッチデータTOUCHとを
トーンジェネレータ73に供給して楽音の発生を指示す
る。したがって、トーンジェネレータ73はそれまで発音
していた楽音を停止し、フレット判別サブルーチンで検
出されたフレットに対応する音高の楽音をタッチデータ
TOUCHで表された音量にしたがい発生させる。しかる後
に、中央処理装置65はフレット位置対応キーコードデー
タKCを現在発音中の楽音に関するキーコードデータOKC
としてレジスタ群69に保持させる(ステップP805)。
When the execution of the key change subroutine is requested in the key change subroutine fret determination subroutine, the central processing unit 65 determines whether the value of the legato state data LGT is "1" as shown in FIG. (Step P801), Step
If the result of determination in P801 is no (N), it is determined whether or not the value of the key code data OKC relating to the musical sound currently being generated is "0" (step P802). If the value of the key code data OKC is other than "0", the tone generator 73 is producing sound (no (N)), so the central processing unit 65 is
Controls 73 to stop the generation of the musical sound represented by the key code OKC (step P803), and supplies the key code data KC and the touch data TOUCH corresponding to the fret position to the tone generator 73 in the subsequent step P804 to generate the musical sound. Instruct. Therefore, the tone generator 73 stops the musical sound that has been produced until then, and touches the musical sound of the pitch corresponding to the fret detected by the fret discrimination subroutine.
It is generated according to the volume expressed by TOUCH. After that, the central processing unit 65 sends the key code data KC corresponding to the fret position to the key code data OKC relating to the musical sound currently being produced.
To be held in the register group 69 (step P805).

一方、ステップP801の判断結果がイエス(Y)なら、レ
ガート奏法による楽音の制御(第8図参照)が所望され
ていると判断し、中央処理装置65は発音中の楽音の有無
にかかわらず、フレット位置対応キーコードKCとタッチ
データTOUCHとをトーンジェネレータ73に供給して楽音
の発生を指示する(ステップP806)。その後、中央処理
装置65は現在発音中の楽音の有無をキーコードデータOK
Cから判断する(ステップP807)。この結果、発音中の
楽音があればキーコードデータOKCが「0」なのでステ
ップP807の判断結果はノー(N)になり、中央処理装置
65はキーコードデータOKCで表される楽音の発生停止を
指示する(ステップP808)。ステップP807の判断結果が
イエス(Y)の場合、またはステップP808実行終了後、
中央処理装置65はフレット位置対応キーコードデータKC
を現在発音中の楽音に関するキーコードデータOKCとし
てレジスタ群69に保持させる(ステップP809)。以上の
ように、レガート演奏に基づく楽音の発生時には、フレ
ット位置対応キーコードデータKCについての楽音の発生
指示を先行させ、第8図のDに示されたようなエンベロ
ープを有する楽音を発生させることができる。
On the other hand, if the decision result in the step P801 is YES (Y), it is decided that the control of the musical tone by the legato playing method (see FIG. 8) is desired, and the central processing unit 65 determines whether or not there is a musical tone being sounded. The key code KC corresponding to the fret position and the touch data TOUCH are supplied to the tone generator 73 to instruct generation of a musical sound (step P806). After that, the central processing unit 65 determines whether or not there is a musical tone currently being sounded by key code data.
Judge from C (step P807). As a result, if there is a musical tone being sounded, the key code data OKC is "0", so the determination result in step P807 is no (N), and the central processing unit
65 designates the stop of the generation of the musical sound represented by the key code data OKC (step P808). If the determination result in step P807 is YES (Y), or after the execution of step P808 ends,
The central processing unit 65 is the key code data KC corresponding to the fret position.
Is stored in the register group 69 as the key code data OKC for the tone currently being generated (step P809). As described above, when a musical tone is generated based on a legato performance, the musical tone generation instruction for the fret position corresponding key code data KC is preceded to generate a musical tone having an envelope as shown in D of FIG. You can

上記ソフトウエアで実現された機能はハードウエアで構
成することもでき、弦数は6弦に限らない。また、上記
実施例ではミュートしきい値データMUTEとエコーしきい
値データTHLVLとを受信レベルデータECHLVLから一義的
に決定したが、演奏者が演奏開始前または演奏中に設定
可能にしてもよい。さらに、ベンドセンサ初期設定サブ
ルーチン、エコーレベル初期設定サブルーチンおよびフ
レット位置算出サブルーチンにおけるデータの読み込み
回数は「16」回に限らず、任意の回数に設定できる。ま
た、タッチデータTOUCHはピックアップ最大値データPEA
Kを変換した値に設定してもよく、左側限界値および右
側限界値はネック部の幅が大きく変わらなければ、フレ
ット毎に設定する必要はない。フレットに対応するキー
コードは実施例に限らず演奏者が各弦独立に対応づけら
れるようにしてもよい。
The functions realized by the above software can be configured by hardware, and the number of strings is not limited to 6 strings. In the above embodiment, the mute threshold value data MUTE and the echo threshold value data THLVL are uniquely determined from the reception level data ECHLVL, but they may be set by the performer before or during the performance. Furthermore, the number of times of reading data in the bend sensor initial setting subroutine, the echo level initial setting subroutine, and the fret position calculation subroutine is not limited to "16", and can be set to any number. The touch data TOUCH is the maximum pickup value data PEA.
K may be set to a converted value, and the left limit value and the right limit value need not be set for each fret unless the width of the neck portion changes significantly. The key code corresponding to the fret is not limited to that in the embodiment, but the player may be allowed to correspond to each string independently.

情報処理ユニット(含む、中央処理装置)トーンジェネ
レータ73等は電子弦楽器のボディに指示されていてもよ
く、ボディとは別対でもよい。また、トーンジェネレー
タ73がMIDIで制御されるときには、例えば次のような初
期設定が必要である。すなわち、受信MONOモード、ピッ
チベンドを含むチャンネル独立制御、しかしながら、こ
れの設定は非常に煩わしいので、電源オン時にソフトウ
エアにより自動的に設定するとよい。また、超音波の発
生とエコーの受信とを別個の電源素子で分担してもよ
い。更に、ギターのような撥弦を検出する楽器だけでな
く、バイオリンのように擦弦を利用する楽器でもよい。
The information processing unit (including central processing unit) tone generator 73 and the like may be instructed to the body of the electronic stringed instrument, or may be a pair separate from the body. Further, when the tone generator 73 is controlled by MIDI, the following initial settings are required, for example. That is, the reception MONO mode, the channel independent control including the pitch bend, however, since the setting thereof is very troublesome, it is preferable to automatically set it by software when the power is turned on. Also, generation of ultrasonic waves and reception of echoes may be shared by separate power supply elements. Further, not only an instrument that detects plucked strings such as a guitar, but an instrument that uses rubbed strings such as a violin may be used.

[発明の効果] 以上説明してきたように、本発明によれば、振幅検出手
段が継続して検出した超音波の振幅に基づきミュート実
現手段が振幅の減衰度を算出して楽音の発生を制御する
ようにしたので、楽音にミュート効果を付与することが
できるようになり、多彩な音楽表現を奏することが可能
になるという効果が得られる。
[Effects of the Invention] As described above, according to the present invention, the mute realizing means calculates the attenuation degree of the amplitude based on the amplitude of the ultrasonic wave continuously detected by the amplitude detecting means and controls the generation of the musical sound. By doing so, it is possible to add a mute effect to the musical sound, and it is possible to obtain a variety of musical expressions.

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

第1図は本発明のクレーム対応図、 第2図は本発明の一実施例の概略構成を示すブロック
図、 第3図はインターフェースの一部の詳細構成を示すブロ
ック図、 第4図は第3図に示された回路の動作を説明するタイミ
ングチャート図、 第5図はインターフェースの他の一部を詳細に示すブロ
ック図、 第6図はインターフェースの更に他の一部を詳細に示す
ブロック図、 第7図(A)〜(C)はベンド量とベンドデータとの関
係を示す動作説明図、 第8図はレガート奏法時のエンベロープを示す波形図、 第9図は選択可能なベンドカーブを示すグラフ、 第10図は一実施例のメインルーチンを示すフローチャー
ト図、 第11図はタイマー割り込み処理ルーチンのフローチャー
ト図、 第12図はベンドセンサ初期設定サブルーチンのフローチ
ャート図、 第13図はエコーレベル初期設定サブルーチンのフローチ
ャート図、 第14図はフレット位置算出サブルーチンのフローチャー
ト図、 第15図はフレットの配置図、 第16図はフレット判別サブルーチンのフローチャート
図、 第17図はベンド奏法判別サブルーチンのフローチャート
図、 第18図はピッチ変更データ算出サブルーチンのフローチ
ャート図、 第19図は仮想ベンド量を説明するネック部の平面図、 第20図はキーオン検出サブルーチンのフローチャート
図、 第21図はミュート判別サブルーチンのフローチャート
図、 第22図はキーオンサブルーチンのフローチャート図、 第23図はキーオフサブルーチンのフローチャート図、 第24図はキーチェンジサブルーチンのフローチャート図
である。 1……音高指定部、 2……楽器本体、 3……弦、 4……位置判別手段、 5……楽音発生手段、 6……振幅検出手段、 7……ミュート実現手段。
1 is a block diagram showing a schematic configuration of an embodiment of the present invention, FIG. 3 is a block diagram showing a detailed configuration of a part of an interface, and FIG. FIG. 5 is a timing chart for explaining the operation of the circuit shown in FIG. 3, FIG. 5 is a block diagram showing another part of the interface in detail, and FIG. 6 is a block diagram showing another part of the interface in detail. 7 (A) to 7 (C) are operation explanatory views showing the relationship between the bend amount and the bend data, FIG. 8 is a waveform diagram showing an envelope during a legato playing style, and FIG. 9 is a selectable bend curve. Graph, FIG. 10 is a flowchart showing a main routine of one embodiment, FIG. 11 is a flowchart of a timer interrupt processing routine, and FIG. 12 is a flowchart of a bend sensor initial setting subroutine. , Fig. 13 is a flow chart of the echo level initial setting subroutine, Fig. 14 is a flow chart of the fret position calculation subroutine, Fig. 15 is a fret arrangement diagram, Fig. 16 is a flow chart of the fret discrimination subroutine, and Fig. 17 is FIG. 18 is a flowchart of a bend rendition style determination subroutine, FIG. 18 is a flowchart of a pitch change data calculation subroutine, FIG. 19 is a plan view of a neck portion for explaining a virtual bend amount, FIG. 20 is a flowchart of a key-on detection subroutine, and 21. FIG. 22 is a flowchart of the mute discrimination subroutine, FIG. 22 is a flowchart of the key-on subroutine, FIG. 23 is a flowchart of the key-off subroutine, and FIG. 24 is a flowchart of the key-change subroutine. 1 ... Pitch designating part, 2 ... Instrument body, 3 ... String, 4 ... Position discriminating means, 5 ... Musical tone generating means, 6 ... Amplitude detecting means, 7 ... Mute realizing means.

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】音高指定部を有する楽器本体に張設され、
音高指定時に上記音高指定部に押圧される弦と、 該弦に超音波を与え、該超音波の伝播時間に基づき上記
弦が接触する音高指定部の位置を判別する位置判別手段
と、 上記位置判別手段で判別された上記音高指定部の位置に
対応する音高の音楽を発生させる楽音発生手段とを有す
る電子弦楽器において、 上記弦を伝播した上記超音波の振幅を継続して検出する
振幅検出手段と、 上記振幅検出手段で検出された超音波の振幅の減衰度が
一定値以上であれば上記楽音発生手段で発生された上記
楽音の発生を急速に停止させるミュート実現手段とを備
えたことを特徴とする電子弦楽器。
1. A musical instrument main body having a pitch designating portion,
A string to be pressed by the pitch designating portion when a pitch is designated; and a position discriminating means for applying an ultrasonic wave to the string and discriminating the position of the pitch designating portion with which the string contacts based on the propagation time of the ultrasonic wave. In an electronic stringed instrument having a musical tone generating means for generating a music having a pitch corresponding to the position of the pitch designating portion discriminated by the position discriminating means, the amplitude of the ultrasonic wave propagated through the string is continuously maintained. Amplitude detecting means for detecting, and mute realizing means for rapidly stopping the generation of the musical sound generated by the musical sound generating means if the degree of attenuation of the amplitude of the ultrasonic wave detected by the amplitude detecting means is a certain value or more. An electronic stringed instrument characterized by having.
【請求項2】上記振幅検出手段により検出された超音波
の振幅減衰度が上記一定値未満であれば、上記楽音発生
手段は所定値の音量で上記楽音を所定期間の間発音し、
上記振幅検出手段により検出された超音波の振幅減衰度
が上記一定値以上であれば上記楽音発生手段は上記楽音
の音量および発音期間のいずれか一方を上記所定値また
は上記所定期間未満に設定する特許請求の範囲第1項記
載の電子弦楽器。
2. If the amplitude attenuation of the ultrasonic wave detected by the amplitude detecting means is less than the constant value, the musical sound generating means produces the musical sound at a predetermined volume for a predetermined period,
If the amplitude attenuation of the ultrasonic wave detected by the amplitude detecting means is equal to or more than the predetermined value, the musical tone generating means sets either one of the volume of the musical tone and the sound generation period to the predetermined value or less than the predetermined period. The electronic stringed instrument according to claim 1.
JP63007276A 1988-01-14 1988-01-14 Electronic stringed instrument Expired - Lifetime JPH0682273B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP63007276A JPH0682273B2 (en) 1988-01-14 1988-01-14 Electronic stringed instrument
US07/296,807 US4951546A (en) 1988-01-14 1989-01-13 Electronic stringed musical instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63007276A JPH0682273B2 (en) 1988-01-14 1988-01-14 Electronic stringed instrument

Publications (2)

Publication Number Publication Date
JPH01183695A JPH01183695A (en) 1989-07-21
JPH0682273B2 true JPH0682273B2 (en) 1994-10-19

Family

ID=11661506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63007276A Expired - Lifetime JPH0682273B2 (en) 1988-01-14 1988-01-14 Electronic stringed instrument

Country Status (1)

Country Link
JP (1) JPH0682273B2 (en)

Also Published As

Publication number Publication date
JPH01183695A (en) 1989-07-21

Similar Documents

Publication Publication Date Title
US5033353A (en) Note sensing in M.I.D.I. guitars and the like
US6881890B2 (en) Musical tone generating apparatus and method for generating musical tone on the basis of detection of pitch of input vibration signal
US7112738B2 (en) Electronic musical instrument
US4991488A (en) Acoustic detection of note bending in stringed M.I.D.I. compatible musical instruments
JP3653854B2 (en) Stringed electronic musical instrument
US9966051B2 (en) Sound production control apparatus, sound production control method, and storage medium
JP2643213B2 (en) Electronic string instrument
JP2699367B2 (en) Electronic stringed musical instrument and method of generating pitch data of electronic stringed musical instrument
US4951546A (en) Electronic stringed musical instrument
JPH0682273B2 (en) Electronic stringed instrument
JPH0769685B2 (en) Electronic stringed instrument
JPH0769686B2 (en) Electronic stringed instrument
JPH0769684B2 (en) Electronic stringed instrument
JP4628725B2 (en) Tempo information output device, tempo information output method, computer program for tempo information output, touch information output device, touch information output method, and computer program for touch information output
JPH06186973A (en) Pitch detecting device
JPH01183694A (en) Electronic stringed instrument
JPH05108075A (en) Electronic musical instrument
JP6572916B2 (en) Pronunciation control device and method, program
JP3346699B2 (en) Electronic musical instrument
JP3307162B2 (en) Music control device
JP2579229Y2 (en) Electronic string instrument
JP3279122B2 (en) Tempo control device
JP3590189B2 (en) Electronic stringed instruments
JPH0786751B2 (en) Electronic stringed instrument
JP2024163649A (en) Electronic musical instrument, method and program for controlling electronic musical instrument