JPH0769685B2 - Electronic stringed instrument - Google Patents
Electronic stringed instrumentInfo
- Publication number
- JPH0769685B2 JPH0769685B2 JP63007278A JP727888A JPH0769685B2 JP H0769685 B2 JPH0769685 B2 JP H0769685B2 JP 63007278 A JP63007278 A JP 63007278A JP 727888 A JP727888 A JP 727888A JP H0769685 B2 JPH0769685 B2 JP H0769685B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- value
- string
- fret
- processing unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000001514 detection method Methods 0.000 claims description 31
- 238000012545 processing Methods 0.000 description 151
- 238000000034 method Methods 0.000 description 23
- 238000004364 calculation method Methods 0.000 description 19
- 230000001186 cumulative effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000002360 preparation method Methods 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000003708 edge detection Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 3
- 230000002238 attenuated effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000002592 echocardiography Methods 0.000 description 2
- 230000007935 neutral effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013016 damping Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】 本発明は電子弦楽器の発音タイミングの設定に関し、特
に撥弦時に弦に発生する振動の振幅値の変化に基づき発
音のタイミングを設定する技術に関する。The present invention relates to setting a sounding timing of an electronic string instrument, and more particularly to a technique of setting a sounding timing based on a change in an amplitude value of vibration generated in a string during plucking.
[従来の技術] 従来、この種の電子弦楽器としては、例えば特開昭62−
99790号公報に開示されているものが知られている。こ
の公報に開示されている電子弦楽器は超音波を弦に供給
し、該超音波の発信から弦と接触しているフレットで反
射される超音波のエコーの受信までの時間間隔に基づき
弦と接触しているフレットを判別する。このようにして
弦と接触するフレットが判別されると、一定値以上の振
幅が検出された撥弦時に該フレットに対応する音高の楽
音の発生に必要な楽音信号が合成され、サウンドシステ
ムが弦と接触するフレットで指定された音高の楽音を発
生させる。[Prior Art] Conventionally, as an electronic string instrument of this type, for example, Japanese Patent Laid-Open No. 62-
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 tone signals necessary for generating the tone of the pitch corresponding to the frets are synthesized when the plucked string whose amplitude is equal to or greater than a certain value is detected, and the sound system Generates a musical tone of the specified pitch on the frets that come into contact with the strings.
[発明が解決しようとする問題点] しかしながら、上記電子弦楽器では演奏者の撥弦に基づ
き一定値以上の振幅の振動が発生すると楽音を発生させ
ていたので、弦に一定値以上の振動が連続的に発生する
演奏時に演奏者の設定する撥弦のタイミングとは異なる
タイミングで発音がなされることがあり、撥弦のタイミ
ングを正確に設定できないという問題点があった。[Problems to be Solved by the Invention] However, in the above-mentioned electronic stringed instrument, a musical tone is generated when a vibration having an amplitude of a certain value or more is generated based on the plucked string of the performer. There is a problem in that the plucking timing cannot be set accurately because the plucking timing may be different from the plucking timing set by the player during the performance.
したがって、本発明の目的は撥弦を正確に検知できる電
子弦楽器を提供することである。Therefore, an object of the present invention is to provide an electronic stringed instrument capable of accurately detecting plucked strings.
[問題点を解決するための手段] 本願の発明者は撥弦による弦振動の振幅を観察したとこ
ろ、撥弦時には弦振動の振幅値が急激に変化することを
発見した。[Means for Solving Problems] The inventor of the present application observed the amplitude of the string vibration due to the plucked string, and found that the amplitude value of the string vibration drastically changed during plucked string.
本願発明は上記知見に基づきなされたものであり、第1
図に示されているように、その要旨は、音高指定部1を
有する楽器本体2に張設され音高指定時に上記音高指定
部1に押圧される弦3と、該弦3に超音波を与え該超音
波の伝播時間に基づき上記弦3が接触する上記音高指定
部1の位置を判別する位置判別手段4と、撥弦の弦振動
に基づき撥弦を検出する撥弦検出手段5と、上記撥弦時
に上記位置判別手段4で判別された上記音高指定部1の
位置に対応する音高の楽音を撥弦の強さに対応した音量
で発生させる楽音発生手段6とを有する電子弦楽器にお
いて、上記撥弦検出手段5は、一定時間間隔毎に該時間
間隔内の最大振幅値を検出する最大振幅値検出手段7
と、先行する時間間隔内の最大振幅値と該先行する時間
間隔に後続する時間間隔内の最大振幅値とを比較しこれ
らの最大振幅値の間に所定の増加が検出されたときに撥
弦を認める撥弦認識手段8と、上記後続する時間間隔の
最大振幅値とその後の時間間隔内の最大振幅値とを比較
しこれらの最大振幅値の間に所定の減衰が検出されたと
きに上記楽音発生手段6に発音の指示を送出する発音指
示手段9とを有することを [発明の作用] 上記構成に係る電子弦楽器の演奏時には、演奏者が弦3
を音高指定部1に押圧しつつ撥弦して演奏する。演奏者
が弦3を音高指定部1に押圧すると、位置判別手段4が
弦3と音高指定部1との接触位置を判断して該接触位置
に関する情報を楽音発生手段6に送出する。一方、撥弦
がなされると、最大振幅値検出手段7が一定時間間隔毎
に該時間間隔内の最大振幅値を検出して該最大振幅値に
関する情報を撥弦認識手段8と発音指示手段9とに送出
する。撥弦認識手段8は先行する時間間隔内の最大振幅
値と該先行する時間間隔に後続する時間間隔内の最大振
幅値とを順次比較しこれらの最大振幅値の間に所定の増
加が検出されたときに撥弦を認め、撥弦を発音指示手段
9に通知する。該撥弦認識手段8からの通知に基づき、
発音指示手段9は上記後続する時間間隔の最大振幅値と
その後の時間間隔内の最大振幅値とを順次比較し、これ
らの最大振幅値の間に所定の減衰が検出されたときに上
記楽音発生手段6に発音の指示を送出する。The invention of the present application was made based on the above findings.
As shown in the figure, the gist thereof is a string 3 stretched on a musical instrument main body 2 having a pitch designating portion 1 and a string 3 which is pressed by the pitch designating portion 1 when a pitch is designated, and a string 3 Position discriminating means 4 for giving a sound wave to discriminate the position of the pitch designating portion 1 with which the string 3 comes into contact based on the propagation time of the ultrasonic wave, and plucking detecting means for detecting a plucked string based on the string vibration of the plucked string. 5 and a musical tone generating means 6 for generating a musical tone having a pitch corresponding to the position of the pitch designating portion 1 discriminated by the position discriminating means 4 at the time of plucking the string at a volume corresponding to the strength of the plucking. In the electronic string instrument having the above, the plucked string detection means 5 detects the maximum amplitude value within the time interval at regular time intervals.
And a maximum amplitude value in a preceding time interval and a maximum amplitude value in a time interval subsequent to the preceding time interval are compared, and a plucked string is detected when a predetermined increase is detected between these maximum amplitude values. The plucking recognition means 8 which recognizes that the maximum amplitude value of the subsequent time interval is compared with the maximum amplitude value of the subsequent time interval, and when a predetermined attenuation is detected between these maximum amplitude values, the above-mentioned Having a sound generation instruction means 9 for sending a sound generation instruction to the musical sound generation means 6 [Operation of the Invention] When the electronic stringed instrument according to the above configuration is played, the performer plays the string 3
While pressing the pitch designating part 1, pluck a string and play. When the player presses the string 3 on the pitch designating section 1, the position discriminating means 4 judges the contact position between the string 3 and the pitch designating section 1 and sends information on the contact position to the musical tone generating means 6. On the other hand, when plucking is performed, the maximum amplitude value detecting means 7 detects the maximum amplitude value within the time interval at regular time intervals, and the information concerning the maximum amplitude value is given to the plucking recognition means 8 and the sounding instructing means 9. And send to. The plucking recognition means 8 sequentially compares the maximum amplitude value in the preceding time interval and the maximum amplitude value in the time interval subsequent to the preceding time interval, and a predetermined increase is detected between these maximum amplitude values. When plucked, the plucked string is recognized and the plucked string is notified to the pronunciation instructing means 9. Based on the notification from the plucking recognition means 8,
The tone generation instruction means 9 sequentially compares the maximum amplitude value of the subsequent time interval with the maximum amplitude value of the subsequent time interval, and when a predetermined attenuation is detected between these maximum amplitude values, the musical tone is generated. A sounding instruction is sent to the means 6.
かかる発音の指示に基づき、楽音発生手段6は上記接触
位置に対応した音高の楽音を撥弦の強さに対応した音量
で発生させる。Based on the sounding instruction, the musical tone generating means 6 generates a musical tone having a pitch corresponding to the contact position at a volume corresponding to the strength of the plucked string.
[実施例] 電子弦楽器の概略構成 第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, 21 is a guitar body, and six strings 23, 2 having different diameters are arranged in the longitudinal direction of the guitar 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 currently 23, 25 ,.
The strings 3, 25, ... are pressed at a right angle to the fret 39, 41 ,.
・ Contact with 43, 45.
これらの圧電素子27,29,・・と電磁ピックアップ31,33,
・・とベンドセンサ35,37,・・とはスイッチ群59ととも
にインターフェース61を介してバスシステム63に接続さ
れており、このバスシステム63には中央処理装置(CP
U)65とプログラムメモリ67とレジスタ群69と各種のテ
ーブル71とトーンジェネレータ73(TG)とが更に接続さ
れている。上記プログラムメモリ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 73 (TG) 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 latching of the maximum amplitude value of the string vibration will be described later in detail with reference to FIG.
インターフェース61の詳細構成 続いて、第3図〜第5図を参照してインターフェース61
の詳細構成を説明する。第3図は超音波の発生回路およ
び超音波の伝播時間の計時回路の構成を示すブロック図
であり、第3図に現れる主要信号のタイミングを第4図
に示す。第5図は1mesc毎の弦振幅の最大値を検知する
回路の構成を示すブロック図である。また、第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 for each mesc. 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変換器99
でディジタル値に変換してこれを遅延回路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 100 KHz timing signal and supplies it to the analog comparator 91. This analog comparator 91
Is a threshold supply circuit composed of a register holding a digital threshold value (echo threshold data, transferred from the register group 69) and an analog-digital converter (hereinafter referred to as A / D converter). The analog threshold value supplied from 93 is compared with the instantaneous value of the echo signal output from the peak hold circuit 87 every 1/100 msec, and the high period during which the instantaneous value of the echo signal exceeds the analog threshold value Echo detection signal ED that shifts to level rise detection circuit
95 and the fall detection circuit 97 respectively (4th
(See FIG. (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 99.
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の発生、すなわち超音波
の発生から立ち上がり検出回路9及び立ち下がり検出回
路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 during the period from the generation of the drive pulse P1, that is, the generation of the ultrasonic wave to the time when the rising edge detection circuit 9 and the falling edge 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にラッチされて
いるディジタル波高値より大きいと判別すれば、比較器
125はレジスタ123にラッチ信号を送出して新たなディジ
タル波高値をレジスタ123に保持される。かかる比較結
果に基づくディジタル波高値の書換えを1msec続けると
レジスタ123には該1msec間の最大ディジタル波高値が残
り、この最大ディジタル波高値はタイマークロックCKに
応答してレジスタ127にラッチされる。したがって、レ
ジスタ127は先行する1msec間の最大ディジタル波高値を
後続する1msec間保持することになり、このレジスタ127
内のディジタル波高値は最大波高値データPICKUPSとし
て後述するように中央処理装置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 peak value is larger than the digital peak value latched in the register 123, the comparator 125
The 125 sends a latch signal to the register 123, and the new digital peak value is held in the register 123. When rewriting the digital peak value based on the comparison result continues for 1 msec, the maximum digital peak value for the 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 crest value therein is read by the central processing unit 65 as the maximum crest value data PICKUPS as described later. 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 will be described in detail in the description relating to FIG. The tone color selection switch is a switch used when selecting a tone color of a musical tone generated by an electronic stringed instrument, and in this embodiment, in addition to the tone color of an electric guitar, a tone color selection switch is used for tone colors of various musical instruments and electronic synthesized sounds. 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, and in the case of the present embodiment, as shown in FIG. 9, there are three types of loci, E, F, and G. 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とをそれぞれ「0」に設定する。し
かる後に、中央処理装置65はタイマー割り込み禁止を解
除し、タイマークロックCKに基づく割り込みを可能にす
る(ステップP3)。従って、ステップP3以降はタイマー
割り込みが可能になり、タイマー割り込みに際しては後
に第11図に関連して説明する各種サブルーチンプログラ
ムを実行する。しかしながら、タイマー割り込みにより
実行するサブルーチンプログラムの終了時には再びメイ
ンルーチンプログラムに戻ってその実行を続ける。した
がって、以下のメインルーチンプログラムに関する説明
はタイマー割り込みが発生しなかったものとして続け
る。Main Routine Program First, the main routine 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 "0". Set. 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 this embodiment, the initial value setting mode of the subroutines P200, P300, P400 is configured.
まず、モードデータ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」で除して
開放弦レベルデータECHLVLIを算出してレジスタ群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 ECHLVLI and sends it to the register group 69 (step P306).
この後、中央処理装置65はステップP307に進み、ミュー
トしきい値データMUTEを計算する。すなわち、開放弦レ
ベルデータECHLVLIに0.7を乗してこれをミュートしきい
値データMUTEとしてレジスタ群69に送出する。続いて、
中央処理装置65はエコーしきい値データTHLVLを計算す
る(ステップP308)、本実施例の場合、エコーしきい値
データTHLVLは開放弦レベルデータECHLVLIの0.2倍とし
ており、中央処理装置65はエコーしきい値データTHLVL
の算出後、これをレジスタ群69に送出する。このよう
に、エコーしきい値データTHLVLがレジスタ群69に保持
されると、中央処理装置65はエコーしきい値データTHLV
Lをしきい値供給回路93のレジスタに転送して演奏モー
ドでのエコー信号と雑音との判別に供する(ステップP3
09)。以後、中央処理装置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 ECHLVLI, and the central processing unit 65 echoes. Threshold data THLVL
Is calculated and then sent to the register group 69. In this way, when the echo threshold data THLVL is held in the register group 69, the central processing unit 65 causes the echo threshold data THLVL to
L is transferred to the register of the threshold supply circuit 93 to be used for discrimination between echo signal and noise in the performance mode (step P3
09). 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 a timer interrupt occurs after the echo level initial setting subroutine ends, step P100 of the timer interrupt processing routine. 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 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 で求められる。上式において、(1i-1−1i)/2は圧電素
子27,29,・・から隣接するフレットの中点までの距離を
示しており、ステップP406で求められた開放弦カウント
データECHCNTIを比例配分することにより各フレットに
関する伝播時間を算出している。なお、上記各フレット
までの距離1iは各種テーブル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), i-th fret boundary data CNTTHi indicating the threshold of the propagation time for fret Fi is CNTTHi = (1 i -1 -1 i) / (2 · 1 0) is determined by × ECHCNTI. In the above equation, (1 i-1 −1 i ) / 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. The propagation time for each fret is calculated by proportionally distributing. The distance 1 i to each fret is fixedly held on each table 71. In this way, when the threshold value of the propagation time for the fret F i 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 .
As shown in FIG. 15, it is a non-existing fret farther from the 0th fret when viewed from the piezoelectric element.) 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 fret.
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 data 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)の場
合には、フレット番号データFRETの値とカウントデータ
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 FRET and the value of the count data 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からベンドデータBENDSを読み込み(ステッ
プ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, if the determination result of step P901 is YES (Y), the central processing unit 65 reads the bend data BENDS 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」に設定して楽音の音高を一定に維持するようにす
る。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, so 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.
これに対して、ステップP1005の判断結果がイエス
(Y)なら仮想ベンド量Xは有効なので、中央処理装置
65はステップP1006に進み、予め選択されているベンド
カーブ(本実施例では第9図のE,F,Gのいずれか)にし
たがいベンドセンサデータBENDからピッチ変更データBE
NDCを算出しレジスタ群69に保持させる(かかるピッチ
データの算出をBENDCNV(BEND)と表す)。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」だけ減少させる(ステップP110
2)。電磁ピックアップ時間制御データPCKCNTはレジス
タ群69に関して説明したように、その値が「7」になる
とキーオン、すなわち発音開始となるので、ステップP1
101で電磁ピックアップ時間制御データ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), and if the judgment result is YES (Y), the value of the electromagnetic pickup time control data PCKCNT is decreased by "1" (step P110).
2). As described with regard to the register group 69, the electromagnetic pickup time control data PCKCNT becomes key-on, that is, the sound generation starts when the value becomes "7".
If the value of the electromagnetic pick-up time control data PCKCNT in 101 is "1" to "7", control is made to return to the timer interrupt processing routine through step P1102, so that at least 7 msec will not be reproduced after the sound is once generated. 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」に設定し(ステップP11
11)、電磁ピックアップ時間制御データPCKCNTを「10」
に設定する(ステップP1112)。その後、中央処理装置6
5はピックアップ最大値データを「0」に設定し(ステ
ップP1113)、最大波高値データPICKUPを先行波高値デ
ータOPCKとしてレジスタ群69に保持させる(ステップP1
114)。本実施例の場合は、弦振動がピークに達し、そ
の後、検出された最大波高値データ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 from the register group 69 prior to the execution of step P1106, and sets the maximum peak value data PICKUP. Used for comparison. 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 string magnification data MPL, and the product is compared with the maximum peak value data PICKUP (step P1110). ). Maximum peak value data PICKUP
If the value is larger than the value of the above product, the determination result in 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).
11), electromagnetic pickup time control data PCKCNT is "10"
(Step P1112). Then the central processing unit 6
5 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 P1).
114). In the case of the present embodiment, if the string vibration reaches a peak and then the value of the detected maximum peak value data PICKUP decreases three times in succession, it means that the plucked string is detected, so in steps P1111 to P1113. Preparations for the above-mentioned plucking detection will be made. On the other hand, if the value of the maximum peak value data PICKUP is smaller than the product of the preceding peak value data OPCK and the plucking scale data MPL, sufficient vibration has not occurred yet to be regarded as a string. , Proceeds to Step P1114 without preparing for plucking 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 pickup time control data PCKCNT reaches "7", the condition for plucking detection is satisfied, so the central processing unit 65 proceeds to step P700 and executes the key-on subroutine described later to execute a musical tone. 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)。ミュートカウントデータMUTECNTの
値が依然として「0」に達していなければ、中央処理装
置65はミュート判別サブルーチンの実行を終了してタイ
マー割り込み処理ルーチンに戻る。一方、ステップP120
3の判断結果がイエス(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 returning 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). If the value of the mute count data MUTECNT has not reached "0" yet, 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 P120
If the judgment result of 3 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 in step P1201 is YES (Y), and the same processing (P1204 to P1206) is performed to determine whether or not the mute operation was performed during plucking, and 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 tone generation of the musical tone which is currently being produced, 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)。Key Change Subroutine When the execution of the key change subroutine is requested in the fret judgment subroutine, the central processing unit 65 causes the value of the legato state LGT to be "1" as shown in FIG.
Or not (step P801), step P801
If the result of the judgment is NO (N), it is judged whether or not the value of the key code data OKC relating to the tone currently being sounded is "0" (step P802). The value of key code data OKC is "0"
Otherwise, the tone generator 73 is producing sound (No (N)), so the central processing unit 65 controls the tone generator 73 to stop the generation of the musical tone represented by the key code OKC (step P803), and then at step P804. The key code data KC corresponding to the fret position and the touch data TOUCH are supplied to the tone generator 73 to instruct the generation of a musical sound. Therefore, the tone generator 73 stops the musical tone that has been generated until then, and generates a musical tone having a pitch corresponding to the fret detected by the fret discrimination subroutine according to the volume represented by the touch data TOUCH. Thereafter, the central processing unit 65 causes the register group 69 to hold the fret position-corresponding key code data KC as key code data OKC relating to the musical tone being currently sounded (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 sound by the Legard playing method (see FIG. 8) is desired, and the central processing unit 65 determines whether or not there is a musical sound being produced. 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 OK.
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 the central processing unit) tone generator 73 and the like may be instructed to the body of the electronic stringed instrument, or may be 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 and the channel independent control including the pitch bend, however, since these settings are very troublesome, they should be automatically set by software when the power is turned on. Further, the generation of ultrasonic waves and the reception of echoes may be shared by separate piezoelectric 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 plucking recognition means recognizes a plucked string by judging the increase of the maximum amplitude value based on the detection result of the maximum amplitude value detection means. After that, the pronunciation instructing means instructs the pronunciation based on the attenuation of the maximum amplitude value, so that the plucked string by the player can be accurately detected, and the musical tone can be generated according to the intention of the player. .
第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……最大振幅値検出手段、 8……撥弦認識手段、 9……発音指示手段。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, 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 ... Plucking detecting means, 6 ... Musical sound generating means, 7 ... Maximum amplitude value detecting means, 8 ... string plucking recognition means, 9 ... pronunciation instruction means.
Claims (2)
高指定時に上記音高指定部に押圧される弦と、 上記弦が接触する上記音高指定部の位置を判別する位置
判別手段と、 撥弦の弦振動に基づき撥弦を検出する撥弦検出手段と、 上記撥弦時に上記位置判別手段で判別された上記音高指
定部の位置に対応する音高の楽音を撥弦の強さに対応し
た音量で発生させる楽音発生手段とを有する電子弦楽器
において、 上記撥弦検出手段は、 一定時間間隔毎に該時間間隔内の最大振幅値を検出する
最大振幅値検出手段と、 先行する時間間隔内の最大振幅値と該先行する時間間隔
に後続する時間間隔内の最大振幅値とを比較し、これら
の最大振幅値の間に所定の増加が検出されたときに撥弦
を認める撥弦認識手段と、 上記後続する時間間隔の最大振幅値とその後の時間間隔
内の最大振幅値とを比較し、これらの最大振幅値の間に
所定の減衰が検出されたときに上記楽音発生手段に発音
の指示を送出する発音指示手段とを有することを特徴と
する電子弦楽器。1. A position discrimination for discriminating between a string stretched on a musical instrument main body having a pitch designating part and pressed by the pitch designating part when the pitch is designated, and a position of the pitch designating part with which the string comes into contact. Means, a plucking detection means for detecting a plucked string based on the string vibration of the plucked string, and a plucked musical tone having a pitch corresponding to the position of the pitch designating portion determined by the position determination means at the time of the plucking of the plucked string. In the electronic stringed musical instrument having a musical sound generating means for generating a sound volume corresponding to the strength of, the plucking detecting means is a maximum amplitude value detecting means for detecting a maximum amplitude value within a certain time interval, The maximum amplitude value in the preceding time interval and the maximum amplitude value in the time interval subsequent to the preceding time interval are compared and plucked when a predetermined increase is detected between these maximum amplitude values. The recognized plucked string recognition means and the maximum amplitude value of the following time interval And a maximum amplitude value within a time interval thereafter, and a sounding instruction means for sending a sounding instruction to the tone generating means when a predetermined attenuation is detected between these maximum amplitude values. An electronic stringed instrument characterized by.
なった時間間隔から上記発音の指示の基礎となった時間
間隔までのいずれかの時間間隔における最大振幅値に基
づき撥弦の強さに関する情報を形成し、該撥弦の強さに
関する情報を上記楽音発生手段に供給する音量指示手段
を更に有する特許請求の範囲第1項記載の電子弦楽器。2. The strength of plucking of the electronic stringed instrument based on the maximum amplitude value at any time interval from the time interval on which the plucked string is recognized to the time interval on which the pronunciation instruction is based. 2. The electronic stringed instrument according to claim 1, further comprising a sound volume indicating means for forming information concerning the plucking strength and supplying information concerning the strength of the plucked string to the tone generating means.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63007278A JPH0769685B2 (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 |
|---|---|---|---|
| JP63007278A JPH0769685B2 (en) | 1988-01-14 | 1988-01-14 | Electronic stringed instrument |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01183697A JPH01183697A (en) | 1989-07-21 |
| JPH0769685B2 true JPH0769685B2 (en) | 1995-07-31 |
Family
ID=11661561
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63007278A Expired - Lifetime JPH0769685B2 (en) | 1988-01-14 | 1988-01-14 | Electronic stringed instrument |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0769685B2 (en) |
-
1988
- 1988-01-14 JP JP63007278A patent/JPH0769685B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH01183697A (en) | 1989-07-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5850051A (en) | Method and apparatus for creating an automatic accompaniment pattern on the basis of analytic parameters | |
| JP2004212578A (en) | Musical sound generator | |
| 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 | |
| US4951546A (en) | Electronic stringed musical instrument | |
| JP2699367B2 (en) | Electronic stringed musical instrument and method of generating pitch data of electronic stringed musical instrument | |
| JP2643213B2 (en) | Electronic string instrument | |
| JPH0769685B2 (en) | Electronic stringed instrument | |
| JPH0769684B2 (en) | Electronic stringed instrument | |
| JPH0769686B2 (en) | Electronic stringed instrument | |
| JPH0682273B2 (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 | |
| JP7432347B2 (en) | Musical tone control device and musical tone control method | |
| JP6572916B2 (en) | Pronunciation control device and method, program | |
| JPH01183694A (en) | Electronic stringed instrument | |
| JP3642130B2 (en) | Electronic musical instruments | |
| JPH06186973A (en) | Pitch detecting device | |
| JP2579229Y2 (en) | Electronic string instrument | |
| JP7567288B2 (en) | ELECTRONIC STRINGED INSTRUMENT, CONTROL METHOD FOR ELECTRONIC STRINGED INSTRUMENT, AND PROGRAM | |
| JP2570550B2 (en) | Electronic string instrument | |
| JP2526032Y2 (en) | Electronic musical instrument | |
| JPH0786751B2 (en) | Electronic stringed instrument | |
| JP2024163649A (en) | Electronic musical instrument, method and program for controlling electronic musical instrument | |
| JP3590189B2 (en) | Electronic stringed instruments |