JP2699367B2 - Electronic stringed musical instrument and method of generating pitch data of electronic stringed musical instrument - Google Patents
Electronic stringed musical instrument and method of generating pitch data of electronic stringed musical instrumentInfo
- Publication number
- JP2699367B2 JP2699367B2 JP63007274A JP727488A JP2699367B2 JP 2699367 B2 JP2699367 B2 JP 2699367B2 JP 63007274 A JP63007274 A JP 63007274A JP 727488 A JP727488 A JP 727488A JP 2699367 B2 JP2699367 B2 JP 2699367B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- value
- fret
- processing unit
- bend
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】 本発明は演奏者により指定される音高の判別に係り、
特に、演奏者の音高の指定を超音波による複数回の伝播
時間の測定に基づき正確に判断する技術に関する。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to determination of a pitch specified by a player,
In particular, the present invention relates to a technique for accurately determining a pitch of a player based on a plurality of times of measurement of propagation times by ultrasonic waves.
[従来の技術] 従来、この種の電子弦楽器としては、例えば特開昭62
−99790号公報に開示されているものが知られている。
この公報に開示されている電子弦楽器は超音波を弦に供
給し、該超音波の発信から弦と接触しているフレットで
反射される超音波のエコーの受信までの時間間隔に基づ
き弦と接触しているフレットを判別する。このようにし
て弦と接触するフレットが判別されると、該フレットに
対応する音高の楽音の発生に必要な楽音信号が合成さ
れ、サウンドシステムが弦と接触するフレットで指定さ
れた音高の楽音を発生させる。[Prior Art] Conventionally, as an electronic stringed musical instrument of this kind, for example,
What is disclosed in -99790 is known.
The electronic stringed musical instrument disclosed in this publication supplies an ultrasonic wave to a string, and makes contact with the string based on a time interval from transmission of the ultrasonic wave to reception of an ultrasonic echo reflected by a fret in contact with the string. Determine which frets are playing. When the fret that comes into contact with the string is determined in this manner, a tone signal required for generating a tone having a pitch corresponding to the fret is synthesized, and the sound system has a pitch specified by the fret that comes into contact with the string. Generates musical sounds.
[発明が解決しようとする問題点] しかしながら、上記電子弦楽器では1回の超音波によ
る測定に基づきフレット位置を判別していたので、弦と
接触しているテールピースで反射されるエコーや先行し
て発信された超音波の残存エコー等の不所望の雑音がフ
レット位置の判別回路に入力されるとフレット位置の判
断を誤り、演奏者の意図した音高とは異なる音高の楽音
が発生するという問題点があった。[Problems to be Solved by the Invention] However, in the above-mentioned electronic stringed musical instrument, since the fret position is determined based on a single measurement using an ultrasonic wave, an echo reflected from a tailpiece in contact with the string or a preceding sound is detected. When an undesired noise such as a residual echo of the transmitted ultrasonic wave is input to the fret position determination circuit, the determination of the fret position is erroneous, and a musical tone having a pitch different from the pitch intended by the player is generated. There was a problem.
したがって、本発明は上記雑音の影響を受けにくく、
常に演奏者の意図した通りの音高の楽音を発生させるこ
とのできる電子弦楽器を提供することである。Therefore, the present invention is less susceptible to the above noise,
It is an object of the present invention to provide an electronic stringed musical instrument capable of always generating a musical tone having a pitch intended by a player.
[問題点を解決するための手段] 本願の第1の発明は、第1図に示すように、その要旨
は、楽器本体に張設された弦と、弦の押圧位置に対応す
る操作データを発生する操作データ発生手段と、それぞ
れが音高に対応する操作位置を表す対応データをあらか
じめ複数記憶する記憶手段と、操作データを複数の対応
データと比較することにより、上記弦の押圧位置が上記
対応データが表す複数の操作位置のいずれかであるかを
決定する決定手段と、上記操作データ発生手段により複
数の操作データを発生させ、発生したそれぞれの操作デ
ータに基づいて上記決定手段によって決定された複数の
操作位置が同一であるかを判定する判定手段と、上記判
定手段によって複数回同一と判断されたとき、この操作
位置に対応する音高データを発生する音高データ発生手
段と、を備える電子弦楽器である。[Means for Solving the Problems] The first invention of the present application is, as shown in FIG. 1, composed of a string stretched on a musical instrument main body and operation data corresponding to a pressed position of the string. By generating operation data generating means, storage means for storing a plurality of corresponding data each representing an operation position corresponding to a pitch, and comparing the operation data with a plurality of corresponding data, Determining means for determining which of the plurality of operation positions represented by the corresponding data; and a plurality of operation data generated by the operation data generating means, and determined by the determining means based on the generated operation data. Determining means for determining whether a plurality of operation positions are the same, and a pitch for generating pitch data corresponding to the operation position when the determining means determines that the plurality of operation positions are the same a plurality of times. And a data generating means.
また、本願の第2の発明は、弦の押圧位置に対応する
操作データを発生する操作データ発生ステップと、上記
操作データ発生ステップで発生された操作データを、そ
れぞれが異なる音高に対する弦の操作位置を表す複数の
対応データとそれぞれ比較することにより、上記弦の押
圧位置が上記対応データが示す複数の操作位置のいずれ
かであるかを決定する決定ステップと、上記弦の押圧位
置において、上記操作データ発生ステップと上記決定ス
テップとを複数回繰り返すステップと、上記繰り返しの
結果、上記決定ステップによって決定された複数の操作
位置が同一であるかを判定する判定ステップと、上記判
定ステップによってこれらの操作位置が複数回同一と判
断されたとき、この操作位置に対応する音高データを発
生する音高データ発生ステップと、を備える電子弦楽器
の音高データ発生方法である。Further, the second invention of the present application provides an operation data generating step of generating operation data corresponding to a pressed position of a string, and an operation data generated in the operation data generating step, wherein the operation data generated in the operation data generation step is operated for different pitches of the string. A determination step of determining whether the pressed position of the string is any of the plurality of operation positions indicated by the corresponding data, by comparing with a plurality of corresponding data representing positions, and at the pressed position of the string, Repeating the operation data generation step and the determination step a plurality of times; determining whether the plurality of operation positions determined by the determination step are the same as a result of the repetition; and determining the plurality of operation positions by the determination step. When the operation position is determined to be the same a plurality of times, pitch data generation that generates pitch data corresponding to the operation position is performed. A step, a pitch data generating method for an electronic stringed instrument comprising a.
[発明の作用] 上記構成に係る電子弦楽器による演奏中の音高情報の
形成を例にして、音高情報の確定動作を説明する。[Operation of the Invention] The operation of determining the pitch information will be described by taking as an example the formation of the pitch information during performance by the electronic stringed musical instrument according to the above configuration.
演奏者が弦2を音高指定部3に押圧することにより音
高を指定しつつ電子弦楽器の演奏を行う。すると、検出
手段4は弦2が押圧された音高指定部3の位置を検出
し、この位置に対応したデータを生成する。ところが、
検出手段4は雑音によって誤った位置に対応したデータ
を生成することがある。そこで、検出手段4で生成さ
れ、連続して入力されたデータが複数回において同一で
あるときは、音高データ発生手段5は、このデータを弦
2が押圧された音高指定部3を示すものと判断・確定
し、このデータに基づいて音高データを生成する。そし
て、この音高データに基づいて楽音が発生されることと
なる。The performer plays the electronic stringed instrument while designating the pitch by pressing the string 2 against the pitch designation section 3. Then, the detecting means 4 detects the position of the pitch designation section 3 at which the string 2 is pressed, and generates data corresponding to this position. However,
The detection means 4 may generate data corresponding to an incorrect position due to noise. Therefore, when the data generated by the detecting means 4 and continuously input is the same in a plurality of times, the pitch data generating means 5 indicates this data to the pitch specifying section 3 where the string 2 is pressed. Then, the pitch data is generated based on this data. Then, a musical tone is generated based on the pitch data.
[発明の効果] 以上説明してきた発明の作用からも明かな通り、本発
明に係る電子弦楽器は、例えば超音波を使用しての音高
の測定結果が複数回同一のデータを検出したときこのデ
ータを確定するようにした。このため、仮に検出手段が
雑音に基づき誤ったデータを生成したとしても、該誤謬
を発見することができ、演奏者の意図どうりの音高の楽
音を常に発生させることができるという効果を得られ
る。[Effect of the Invention] As is clear from the operation of the invention described above, the electronic stringed musical instrument according to the present invention can be used, for example, when the same data is detected a plurality of times by using ultrasonic waves to detect the same pitch. The data was fixed. For this reason, even if the detecting means generates erroneous data based on noise, the error can be detected, and the effect that the tone of the pitch intended by the player can always be generated can be obtained. Can be
[実施例] 電子弦楽器の概略構成 第2図は本発明の一実施例の概略構成を示すブロック
図である。図において、21はギターボディであり、この
ギターボディ21の長手方向には6本の直径の異なる弦2
3,25,・・・が互いに並行に張設されている。各弦23,2
5,・・のテールピース側には圧電素子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,4
1,・・,43,45に接触する。Embodiments Schematic Configuration of Electronic Stringed Instrument FIG. 2 is a block diagram showing a schematic configuration of an embodiment of the present invention. In the figure, reference numeral 21 denotes a guitar body, and six strings 2 having different diameters are provided in the longitudinal direction of the guitar body 21.
Are extended in parallel with each other. 23,2 each string
The piezoelectric elements 27, 29, .. are fixed to the guitar body 21 on the tailpiece side of 5, so that they contact the corresponding strings 23, 25,. The electromagnetic pickups 31, 33,... Are fixed near the strings 23, 25,. Further, bend sensors 35, 37,... Between the piezoelectric elements 27, 29,... And the electromagnetic pickups 31, 33,.
Are fixed to the guitar body 21 corresponding to the strings 23, 25,..., And these bend sensors 35, 37,.
The bend effect is added to the musical tone generated by detecting the bend amount. On the other hand, a plurality of, typically 24 frets 39, 41, 43, 45 strings 23, 25,
The strings 3, 25, ... are pressed by the neck of the guitar body 21 during playing and the frets 39, 4
Contact 1, ... 43,45.
これらの圧電素子27,29,・・と電磁ピックアップ31,3
3,・・とベンドセンサ35,37,・・とはスイッチ群59とと
もにインターフェース61を介してバスシステム63に接続
されており、このバスシステム63には中央処理装置(CP
U)65とプログラムメモリ67とレジスタ群69と各種のテ
ーブル71とトーンジェネレータ(TG)73とが更に接続さ
れている。上記プログラムメモリ65は読み出し専用メモ
リで構成されており、第10図〜第14図、第16図〜第18
図、第20図〜第24図の各プログラムに示されているアル
ゴリズムを実現するための命令が保持されている。ま
た、レジスタ群69は随時読み出し書き込みメモリで構成
されており、後に詳述する各種データを書き換え可能に
保持している。これに対して、各種テーブル71は読み出
し専用メモリで構成されており、上記プログラムの実行
の際参照される固定データが記憶されている。トーンジ
ェネレータ73は中央処理装置65からデータの供給を受け
て楽音信号を形成し、この楽音信号は増幅器とスピーカ
とで構成されるサウンドシステム75に供給されて楽音の
発生に供される。第2図に示された回路は更にクロック
発生回路77を有しており、このクロック発生回路77は1K
Hzのタイマークロックを中央処理装置65とインターフェ
ース61とに供給している。中央処理装置65はタイマーク
ロックの印加時にタイマー割り込みを発生させ、第11図
に示されているプログラムを実行する。これに対して、
インターフェース61はタイマークロックCKの供給を受け
ると1msec毎の弦振動の最大振幅値を保持し、中央処理
装置65からのアクセスに備える。この弦振動の最大振幅
値のラッチについては第5図に関して後に詳述する。These piezoelectric elements 27, 29, ... and electromagnetic pickups 31, 3
The bend sensors 35, 37, and are connected to a bus system 63 via a interface 61 together with a switch group 59. The bus system 63 includes a central processing unit (CP).
U) 65, a program memory 67, a register group 69, various tables 71, and a tone generator (TG) 73 are further connected. The program memory 65 is composed of a read-only memory, and is shown in FIGS. 10 to 14, FIGS.
Instructions for realizing the algorithms shown in the programs of FIGS. 20 and 24 are retained. The register group 69 is constituted by a read / write memory as needed, and rewritably holds various data described later. On the other hand, the various tables 71 are configured by a read-only memory, and store fixed data that is referred to when the above-described program is executed. The tone generator 73 receives the data supplied from the central processing unit 65 and forms a tone signal. The tone signal is supplied to a sound system 75 including an amplifier and a speaker and is used for generating a tone. The circuit shown in FIG. 2 further has a clock generation circuit 77, and this clock generation circuit 77
The 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,
Upon receiving the supply of the timer clock CK, the interface 61 holds the maximum amplitude value of the string vibration every 1 msec and prepares for access from the central processing unit 65. The latch 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図は1msec毎の弦振幅の最大値を検知す
る回路の構成を示すブロック図である。また、第6図は
ベンドセンサから供給されるベンド量を処理する回路で
ある。Detailed Configuration of Interface 61 Next, referring to FIG. 3 to FIG.
The detailed configuration of 61 will be described. FIG. 3 is a block diagram showing a configuration of a circuit for generating an ultrasonic wave and a circuit for measuring the propagation time of the ultrasonic wave. The timing of the main signal appearing in FIG.
Shown in the figure. FIG. 5 is a block diagram showing a configuration of a circuit for detecting the maximum value of the string amplitude every 1 msec. FIG. 6 is a circuit for processing the bend amount supplied from the bend sensor.
まず、第3図〜第4図を参照して超音波の発生回路お
よび伝播時間の計時回路を説明する。これらの回路は各
圧電素子27,29,・・毎に設けられているが、以下の説明
では圧電素子27に関してのみ説明する。First, a circuit for generating an ultrasonic wave and a circuit for measuring a propagation time will be described with reference to FIGS. These circuits are provided for each of the piezoelectric elements 27, 29,..., But in the following description, only the piezoelectric element 27 will be described.
上述のようにクロック発生回路77は1msec毎にタイマ
ークロックCKを発生させており(第4図(A)参照)、
タイマークロックはインターフェース61の単安定マルチ
バイブレータ(M.M.1)79に供給されてタイマークロッ
クCKの前縁で立ち上がる駆動パルス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. 4A).
The timer clock is supplied to the monostable multivibrator (MM1) 79 of the interface 61 to generate a drive pulse P1 rising at the leading edge of the timer clock CK (see FIG. 4B). This drive pulse P1 is supplied to the constant current amplifier 81
Is supplied to the piezoelectric element 27 after being amplified by. as a result,
The piezoelectric element 27 mechanically vibrates at a high frequency (hereinafter, the high frequency vibration is referred to as an ultrasonic wave BR), and the ultrasonic wave BR is transmitted to the string 23. The ultrasonic wave BR transmitted to the string 23 propagates through the string 23, and when the player presses the string 23 against the neck of the guitar body 21 in order to specify the pitch, the ultrasonic wave BR 43 or 45 in contact with the frets 39, 41,..., 43 or 45 to generate an echo EC. This echo EC propagates through the string 23 again, and is converted again into an electric signal (hereinafter referred to as an echo signal) by the piezoelectric element 27 (see FIG. 4C). This echo signal is supplied to the analog gate 83. Since the analog gate 83 is off only during the period of the prohibition signal DS (see FIG. 4 (D)) from the monostable multivibrator (MM2), the echo signal At the time of arrival, the echo signal is supplied to the peak hold circuits 87 and 89 through the analog gate 83 (see FIG. 4 (E)). The peak hold circuit 87 samples the echo signal in response to the 100 KHz timing signal, and supplies the sampled echo signal to the analog comparator 91. This analog comparator 91
Is a threshold supply comprising a register for holding a digital threshold (echo threshold data, transferred from the register group 69) and an analog-digital converter (hereinafter referred to as an A / D converter). A period in which the analog threshold value supplied from the circuit 93 is compared with the instantaneous value of the echo signal output from the peak hold circuit 87 every 1/100 msec, and the instantaneous value of the echo signal is larger than the analog threshold value. The echo detection signal ED which shifts to the high level is supplied to the rise detection circuit 95 and the fall detection circuit 97, respectively (see FIG. 4 (F)). Therefore, the rise detection circuit 95
Detects the leading edge of the echo detection signal ED and generates a first count end pulse P2 (see FIG. 4 (G)). On the other hand, the falling detection circuit 97 detects the falling of the echo detection signal ED and generates a 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.
And converts it into a digital value, and in response to the latch signal supplied from the delay circuit 100, echo level data ECHLVL
It is stored in the register 101 as S.
かかるエコー信号に関する処理と並行して、伝播時間
の計時のための準備がなされる。すなわち、先行するエ
コー検出信号でリセットされたフリップフロップ103,10
5にタイマークロックCKが供給されると、これらのフリ
ップフロップ103,105はセットされ、アンドゲート107,1
09の一方の入力がそれぞれ高レベル(第4図(I),
(J)参照)に移行する。その結果、アンドゲート107,
109は2MHzのクロックパルスを通過させ、カウンタ111,1
13はアンドゲートから供給されるクロックパルスをカウ
ントパルスCNTとして計時を開始する。したがって、カ
ウンタ111,113は駆動パルスP1の発生、すなわち超音波
の発生から立ち上がり検出回路95及び立ち下がり検出回
路97がフリップフロップ103,105をそれぞれリセットす
るまでの間に供給されるカウントパルスCNTを計数する
(第4図(K),(L)参照)。換言すると、カウンタ
111は超音波の発生からエコーパルスの前縁までの間に
供給されたカウントパルス数を、カウンタ113は超音波
の発生からエコーパルスの後縁までの間に供給されたカ
ウントパルス数をそれぞれ計数することになる。これら
のカウンタ111,113内に保持されている計数値は加算回
路115で加算され、しかる後にエコーカウントデータECH
CNTSとしてレジスタ117に供給、保持される。In parallel with the processing relating to the echo signal, preparations are made for measuring the propagation time. That is, the flip-flops 103 and 10 reset by the preceding echo detection signal
When the timer clock CK is supplied to 5, these flip-flops 103 and 105 are set, and the AND gates 107 and 1 are set.
09 is high level (Fig. 4 (I),
(See (J)). As a result, AND gate 107,
109 passes the clock pulse of 2 MHz, and the counter 111,1
Reference numeral 13 starts clocking using the clock pulse supplied from the AND gate as the count pulse CNT. Therefore, the counters 111 and 113 count the count pulse CNT supplied from the generation of the driving pulse P1, that is, from the generation of the ultrasonic wave to the reset of the flip-flops 103 and 105 by the rising detection circuit 95 and the falling detection circuit 97 (the first pulse). 4 See FIGS. (K) and (L)). In other words, the counter
111 counts the number of count pulses supplied from the generation of the ultrasonic wave to the leading edge of the echo pulse, and the counter 113 counts the number of count pulses supplied from the generation of the ultrasonic wave to the trailing edge of the echo pulse. Will do. The count values held in these counters 111 and 113 are added by an adder circuit 115, and thereafter, the echo count data ECH
It is supplied to and held in the register 117 as CNTS.
次に、第5図を参照して1msec毎に弦振幅の最大値を
検出するための回路を説明する。この回路も電磁ピック
アップ31,33,・・毎に設けられているが、以下には電磁
ピックアップ31について設けられている回路についての
み説明する。Next, a circuit for detecting the maximum value of the string amplitude every 1 msec will be described with reference to FIG. This circuit is also provided for each of the electromagnetic pickups 31, 33,..., But only the circuit provided for the electromagnetic pickup 31 will be described below.
第5図において、電磁ピックアップ31から出力される
アナログ電気信号の波形は撥弦時の弦振動の波形に相似
しており、このアナログ電気信号は30KHzのサンプリン
グクロックでサンプリングされてA/D変換器119に供給さ
れる。A/D変換器119ではアナログ電気信号の瞬時波高値
をディジタル値に変換して絶対値抽出回路121でその符
号ビットを除去し、絶対値(以下、単にディジタル波高
値という)とする。このディジタル波高値はレジスタ12
3と比較器125の一方の入力端子とに並行に供給され、レ
ジスタ123の出力端子は上記比較器125の他方の入力端子
とレジスタ127とに並列に供給されている。したがっ
て、レジスタ123がタイマークロックCKの遅延信号(遅
延回路129により形成される)でリセットされた後に順
次供給されるディジタル波高値をラッチし、このラッチ
されたディジタル波高値は順次供給されるディジタル波
高値と比較器125で比較される。比較器125が新たに供給
されたディジタル波高値がレジスタ123にラッチされて
いるディジタル波高値より大きと判別すれば、比較器12
5はレジスタ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 at the time of plucking, and this analog electric signal is sampled by a sampling clock of 30 KHz and is converted into an A / D converter. Supplied to 119. The A / D converter 119 converts the instantaneous peak value of the analog electric signal into a digital value, and removes the sign bit in the absolute value extracting circuit 121 to obtain an absolute value (hereinafter simply referred to as a digital peak value). This digital crest value is stored in register 12
3 and one input terminal of the comparator 125 are supplied 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, the digital peak value sequentially supplied after the register 123 is reset by the delay signal of the timer clock CK (formed by the delay circuit 129) is latched, and the latched digital peak value is used as the digital peak value 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 12
5 sends a latch signal to the register 123 to cause the register 123 to hold a new digital peak value. If rewriting of the digital crest value based on the comparison result is continued for 1 msec, the maximum digital crest value during the 1 msec remains in the register 123, and this maximum digital crest 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 subsequent 1 msec.
Is read by the central processing unit 65 as described later as maximum peak value data PICKUPS. 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,..., But the following description will be made only for the circuit attached to the bend sensor 35. In FIG. 6, the bend sensor 35 includes a light emitting element 131, a light receiving element 133, and a shielding plate 135 that changes an optical path area 134 with the movement of the string 23, and the amount of light that changes with the movement of the shielding plate 135 is An A / D converter 137 converts the light amount from the light receiving sensor 133 into a digital light amount, and the digital light amount is held in the register 139 as bend data BENDS. This bend data BENDS
The relationship between the angle and the rotation angle of the shielding plate 135 will be described in detail with reference to FIG. When the string 23 is in the neutral state, the shielding plate 135 is substantially perpendicular to the string 23 as shown in FIG. 7 (A), and the optical path area 134 is reduced by almost half. The bend data value BENDS at this time is adjusted to be 40 (40 H ) in hexadecimal. In contrast, the string 23 is reclined to the left optical path area is maximized as shown in Figure No. 7 (B), the bend data BENDS is 7F H next to this time, the string 23 is right opposite When tilted in the optical path area 134 is minimized, 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に押圧すると撥弦しなくても一
定の音量で楽音が発生する。したがって、演奏者は一方
の手、通常左手のみで電子弦楽器を演奏することができ
る。初期化スイッチはメインスイッチオンイベント時に
初期設定された各種データを再度設定し直すときに使用
されるスイッチであり、第10図〜第11図に示された初期
化モード時に実行されるサブルーチンプログラムが再び
実行される。この初期化スイッチオンイベントについて
は第10図に関する説明で詳細に述べられる。音色選択ス
イッチは電子弦楽器で発生される楽音の音色を選択する
ときにしようされるスイッチであり、本実施例では電気
ギターの音色以外にも、種々の楽器の音色、電子合成音
を音色選択スイッチの選択に基づいて発生させることが
できる。音量選択スイッチは電子弦楽器で発生される楽
音の音量を選択するスイッチであり、6弦全体を一括し
て選択することも、1弦ずつ音量のバランスを調整する
こともできる。ベンドカーブ選択スイッチは弦のベンド
時に楽音のピッチの変化の軌跡を選択するスイッチであ
り、本実施例の場合には、第9図に示されているように
E,F,Gの3種類の軌跡から所望の軌跡を選択することが
できる。すなわち、中立状態(40H)の弦を第7図
(B),(C)に関して説明したように左側(7FH)、
または右側(00H)に傾斜させると、軌跡Eが選択され
ていると楽音のピッチは急峻に途中まで変化した後に一
定となるが、軌跡Fが選択されていると、楽音のピッチ
はネックの幅全域にわたって一定に変化する。これに対
して、軌跡Gが選択させていると、楽音のピッチは当初
緩やかに変化し、その後、急峻に変化する。したがっ
て、演奏者はベンドカーブ選択スイッチを操作して楽想
に適したピッチの軌跡を選択することができる。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 musical instrument.When the electronic stringed musical 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. The execution of the main routine program is started. The legato switch is a switch for determining whether or not legato is applied to successive musical tones, and alternately determines whether or not legato is applied for each legato switch-on event. At the time of legato addition, the pitch of the plurality of musical tones gradually changes without repeating the attack. That is,
When the fret is changed (t1, t2) while operating the legato switch by operating the legato switch, as shown in FIGS. 8A, 8B, and 8C, the envelope of the musical tone repeats the attack and repeats the attack. Decays rapidly during stringing. However, if the fret is changed after plucking in the state without legato by operating the legato switch, the pitch of the musical tone changes continuously without rapidly attenuating at the time of plucking as shown in FIG. 8D. . In this case, the tone volume does not change. On the other hand, the left hand switch 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,... To the frets 39, 41,. Therefore, the player can play the electronic stringed instrument with only one hand, usually only the left hand. The initialization switch is a switch that is used when resetting various data that was initially set at the time of the main switch ON event, and a subroutine program executed in the initialization mode shown in FIGS. Will be executed again. This initialization switch-on event is described in detail in the description related to FIG. The tone selection switch is a switch used when selecting a tone of a musical tone generated by an electronic stringed instrument. In this embodiment, a tone selection switch is used to select the tone of various musical instruments and electronic synthesized sounds in addition to the tone of an electric guitar. Can be generated based on the selection of The volume selection switch is a switch for selecting the volume of musical tones generated by the electronic stringed musical instrument, and can select the entire six strings at once or adjust the volume balance one by one. The bend curve selection switch is a switch for selecting a locus of a change in the pitch of a musical tone when the string is bent. In the case of this embodiment, as shown in FIG.
A desired trajectory can be selected from three types of trajectories, E, F, and G. That is, as described with reference to FIGS. 7 (B) and (C), the strings in the neutral state (40 H ) are moved to the left side (7F H ).
Or Tilting the right side (00 H), becomes constant after changing halfway steep pitch of a tone when the locus E is selected, the locus F is selected, the pitch of the musical tone of the neck It varies constantly over the entire width. On the other hand, when the trajectory G is selected, the pitch of the musical tone changes gently at first, and then changes sharply. Therefore, the player can operate the bend curve selection switch to select a trajectory having a pitch suitable for a musical idea.
レジスタ群に保持されるデータ 次に、レジスタ群69に保持され、後に詳述するプログ
ラムの実行に使用されるデータを表1に示す。Data Held in Register Group Next, Table 1 shows data held in the register group 69 and used for executing a program 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: This is a table for converting the output values of the bend sensors 35, 37,... Into the amount of change in the pitch of the musical tone, and is represented by BENDCNV (BEND) according to the bend sensor data BEND. It is used when executing the pitch change data calculation subroutine shown in FIG.
(2)FKCNV:フレット番号データFRETの対応するキーコ
ードFKCNV(FRET)を各弦毎に保持するテーブルであ
り、第22図に示されたキーオンサブルーチンの実行時に
使用される。なお、弦毎のフレット位置とキーコードと
の対応は別表1に示されており、キーコードとキーとの
対応は別表2に示されている。(2) FKCNV: A table for holding a key code FKCNV (FRET) corresponding to fret number data FRET for each string, and is used when executing the key-on subroutine shown in FIG. 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 approaching the 0th fret and is not constant. It is used when executing the pitch change data calculation subroutine shown in FIG.
(4)l0〜l24、lBEND:下駒から各フレットまで、およ
び下駒からベンドセンサまでの距離。具体的な数値は別
表3に示す。 (4) l 0 ~l 24, l BEND: distance from bottom piece to each fret, and from the bottom piece to the bend sensor. Table 3 shows specific numerical values.
メインルーチンプログラム まず、中央処理装置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, a 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 musical instrument is turned on, the central processing unit 65 sequentially executes Steps P1 and P2 in a state where the timer interrupt is prohibited, and initializes a register 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 subsequent 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 each set to `` 0 ''. Set. After that, the central processing unit 65 releases the timer interrupt prohibition and enables the interrupt based on the timer clock CK (step P3). Accordingly, a timer interrupt is enabled after step P3. 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 interrupt, the program returns to the main routine program to continue the execution. Therefore, the following description of the main routine program will be continued on the assumption that no timer interrupt has 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は初期化スイッチオンイベントの有無をステップP1
0で判断し、初期化スイッチオンイベントの発生時
(Y)にはタイマー割り込み再び禁止して(ステップP1
1)ステップP1に戻り、ステップP1,P2,P3,P4,P200,P30
0,P400で構成される初期化のためのルーチンを実行す
る。一方、ステップP10で初期化スイッチオンイベント
が検出されなかったときには、ステップP5に戻り、以
後、ステップP5〜P10で構成される処理を繰り返し実行
しつつタイマー割り込みに対処する。When the timer interrupt is released as described above,
The central processing unit 65 reads out the mode data MODE from the register group 69 and determines whether or not the data value is "0" (step P4). If the data value of the mode data MODE is other than "0" (N), the electronic stringed instrument is in the initial value setting mode, and the central processing unit 65 waits for switching to the performance mode while repeating step P4. As described above, in the main switch-on event of the electronic stringed instrument, the data value of the mode data MODE is set to "1" in step P1, so that the central processing unit 65 repeats step P4 and sets the subroutine P200 , P300, P400. However, when the initial value setting is completed and the mode is switched from the initial value setting mode to the performance mode, the result of the determination in step P4 becomes "yes" (Y).
The step 65 proceeds to step P5 to determine whether or not a legato switch-on event has occurred (step P5). Central processing unit
65 detects the occurrence of the legato switch-on event in step P5, switches the data value of the legato state data LGT from "0" to "1" or vice versa (calculation of "LGT ← 1-LGT" (step P6 )). Thereafter, it is determined in step P7 whether a left hand switch on event has occurred. If it is detected in step P5 that no legato switch-on event has occurred, the central processing unit 65
Proceeds to step P7 without executing step P6, and determines whether a left hand switch on event has been detected. When the left hand switch on event is detected in step P7, the data value of the left hand mode data LEFT is switched from "0" to "1" or vice versa (calculation of "LEFT ← 1-LEFT" (step P8)). . Thereafter, the process proceeds to step P9 to execute other processes, for example, processes related to tone color selection, volume selection, and the like. 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. Thereafter, the central processing unit 65 determines whether or not there is an initialization switch-on event in step P1.
If the initialization switch-on event occurs (Y), the timer interrupt is prohibited again (step P1).
1) Return to Step P1, and return to Steps P1, P2, P3, P4, P200, P30
A routine for initialization composed of 0 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 the timer interrupt is dealt with while repeatedly executing the processing including steps P5 to P10.
タイマー割り込み処理ルーチン すでに説明したように、クロック発生回路77は1msec
の間隔でタイマークロックCKを発生させており、ステッ
プP4〜P10の間にタイマークロックCKに基づくタイマー
割り込みが発生すると、中央処理装置65はこのタイマー
クロックCKに応答して第11図に示されているタイマー割
り込み処理ルーチンを実行する。なお、以下の説明は弦
23についてのみの説明であるが、他の5弦も同様なの
で、時分割等で並列に処理することができる。Timer interrupt processing routine As described above, the clock generation circuit 77
The timer clock CK is generated at intervals of .If a timer interrupt based on the timer clock CK occurs during steps P4 to P10, the central processing unit 65 responds to this timer clock CK and Execute the current timer interrupt processing routine. The following explanation is for strings
Although only 23 is described, the other five strings are the same, and can be processed in parallel by time division or the like.
タイマー割り込みが発生すると、中央処理装置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 out 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 central processing unit 65 executes the performance mode processing described later. If the value of the mode data MODE is "1", "2" or "3", the subroutine (P200, P300, P400) described below is executed. In the case of this embodiment, the subroutines P200, P300, and P400 constitute the initial value setting mode.
まず、モードデータMODEのデータ値が「1」の場合に
ついて説明する。上述のように、メインルーチンプログ
ラムのステップP1においてモードデータMODEは「1」に
設定されているので、メインスイッチオンイベント発生
後、または初期化スイッチオンイベント発生後のタイマ
ー割り込み時にはステップP100の判断はモードデータ値
「1」となる。したがって、中央処理装置65は第12図に
示されているベンドセンサ初期設定サブルーチンを実行
する。First, a 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 made at the time of the timer interrupt after the main switch-on event occurs or after the initialization switch-on event occurs. The mode data value becomes “1”. Accordingly, 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はベンドセンサデータB
ENDと同一の値になる。続いて、中央処理装置65はカウ
ントデータNを「1」だけ歩進させ(ステップP204)、
その後、カウントデータNの値が「16」に達したか否か
を判断する(ステップP205)。ステップP205の判断結果
がノー(N)の間はタイマー割り込み処理ルーチン、更
にメインルーチンプログラムに戻り、再びタイマー割り
込みの発生を待つ。Bend sensor initial setting subroutine When the bend sensor initial setting subroutine starts,
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). Thereafter, 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 B
It has the same value as END. Subsequently, the central processing unit 65 increments the count data N by "1" (step P204),
Thereafter, it is determined whether or not the value of the count data N has reached “16” (Step P205). While the determination result of step P205 is no (N), the process returns to the timer interrupt processing routine and the main routine program, and waits for the occurrence of the timer interrupt 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 occurs again, the data value of the mode data MODE is still “1”, so the central processing unit
Step 65 executes a bend sensor initialization subroutine, and repeats the above steps P201 to P205. In this way, the central processing unit 65 reads the bend data BENDS from the register 139 every time a timer interrupt occurs, adds the bend data BENDS to the accumulated value data SUM, and sets the count data N to “1”.
Steps P201 to P205 are repeatedly executed until “6” is reached. Therefore, when the value of the count data SUM reaches “16”, the accumulated value data is 16 times of bend data BEND
This is the cumulative value of S. Therefore, the central processing unit 65 divides the value of the accumulated value data SUM by “16”, and divides the value by “40 H ” from the quotient.
Is subtracted to calculate a correction value BENDI of the bend data BENDS and sends it to the register group 69 (step P206). After this,
The CPU 65 proceeds to Step P207, resets the value of the count data N and the value of the accumulated value data SUM to "0", and sets the value of the mode data MODE to "2" in the subsequent Step P208 to bend. The sensor initialization subroutine ends.
エコーレベル初期設定サブルーチン 上述のようにベンドセンサ初期設定サブルーチンの終
了前にモードデータMODEは「2」に設定されるので、ベ
ンドセンサ初期設定サブルーチン終了後のタイマー割り
込み発生時には、タイマー割り込み処理ルーチンのステ
ップP100の判断結果はエコーレベル初期設定サブルーチ
ンの実行を求めるものとなり、中央処理装置65は第13図
に示されているエコーレベル初期設定サブルーチンを実
行する。エコーレベル初期設定サブルーチンでは、ま
ず、中央処理装置65がレジスタ101からエコーレベルデ
ータECHLVLSを読み出し(ステップP301)、これを受信
レベルデータECHLVLとしてレジスタ群69に送出する(ス
テップP302)。しかる後に、中央処理装置65は累算値デ
ータSUMを読み出し、累積値データSUMの値に受信レベル
データECHLVLの値を加算する(ステップP303)。第1回
目の処理時には、累積値データの値が「0」なので(ス
テップP207参照)累積値データSUMは受信レベルデータE
CHLVLと同一の値になる。続いて、中央処理装置65はカ
ウントデータNを「1」だけ歩進させ(ステップP30
4)、その後、カウントデータ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. Therefore, when a timer interrupt occurs after the end of the bend sensor initial setting subroutine, the step of the timer interrupt processing routine is executed. The result of the determination in P100 is to request the 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 reads the echo level data ECHLVLS from the register 101 (step P301), and sends this to the register group 69 as reception level data ECHLVL (step P302). Thereafter, the central processing unit 65 reads the accumulated value data SUM, and adds the value of the reception level data ECHLVL to the value of the accumulated value data SUM (step P303). At the time of the first processing, since the value of the accumulated value data is “0” (see step P207), the accumulated value data SUM is the reception level data E
It has the same value as CHLVL. Subsequently, the central processing unit 65 increments the count data N by "1" (step P30).
4) Then, it is determined whether or not the value of the count data N has reached “16” (step P305). While the determination result of step P305 is NO (N), the process returns to the timer interrupt processing routine and the main routine program, and waits for the occurrence of the timer interrupt 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
A step 65 executes an echo level initialization subroutine, and repeats the above steps P301 to P305. In this way, the central processing unit 65 reads the echo level data ECHLVLS from the register 101 every time a timer interrupt occurs, and adds the read echo level data ECHLVLS to the accumulated value data SUM.
Steps P301 to P305 are repeatedly executed until the value of reaches “16”. Therefore, the value of the count data SUM is "1
When "6" is reached, the cumulative value data is the cumulative value of the echo level data ECHLVLS for 16 times. Therefore, the central processing unit 65 calculates the open string level data ECHLVLI by dividing the value of the accumulated value data SUM by “16” 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はエコーしきい値データTH
LVLの算出後、これをレジスタ群69に送出する。このよ
うに、エコーしきい値データTHLVLがレジスタ群69に保
持されると、中央処理装置65はエコーしきい値データTH
LVLをしきい値供給回路93のレジスタに転送して演奏モ
ードでのエコー信号と雑音との判別に供する(ステップ
P309)。以後、中央処理装置65はカウントデータNと累
積値データSUMとをそれぞれ「0」にリセットし(ステ
ップP310)、しかる後にモードデータMODEを「3」に設
定してエコーレベル初期設定サブルーチンを終了する。Thereafter, the central processing unit 65 proceeds to Step P307 and calculates mute threshold data MUTE. That is, the open string level data ECHLVLI is multiplied by 0.7 and sent to the register group 69 as mute threshold data MUTE. Subsequently, the central processing unit 65 calculates the echo threshold data THLVL (step P308). In this embodiment, the echo threshold data THLVL is set to 0.2 times the open string level data ECHLVLI. Is the echo threshold data TH
After calculating the LVL, it is sent to the register group 69. As described above, when the echo threshold data THLVL is held in the register group 69, the central processing unit 65 sets the echo threshold data THLV
The LVL is transferred to the register of the threshold value supply circuit 93 to be used for discrimination between the echo signal and noise in the performance mode (step
P309). Thereafter, the central processing unit 65 resets the count data N and the accumulated value data SUM to "0" (step P310), and thereafter sets the mode data MODE to "3" to terminate the echo level initialization subroutine. .
フレット位置算出サブルーチン 上述のようにエコーレベル初期設定サブルーチンの終
了前にモードデータMODEは「3」に設定されるので、エ
コーレベル初期設定サブルーチン終了後のタイマー割り
込み発生時には、タイマー割り込み処理ルーチンのステ
ップP100の判断結果がフレット位置算出サブルーチンの
実行を求めるものとなり、中央処理装置65は第14図に示
されているフレット位置算出サブルーチンを実行する。
フレット位置算出サブルーチンでは、まず、中央処理装
置65がレジスタ117からエコーカウントデータECHCNTSを
読み出し(ステップP401)、これを受信カウントデータ
ECHCNTとしてレジスタ群69に送出する(ステップP40
2)。しかる後に、中央処理装置65は累積値データSUMを
読み出し、累積値データSUMの値に受信カウントデータE
CHCNTの値を加算する(ステップP403)。第1回目の処
理時には、累積値データの値が「0」なので(ステップ
P310参照)、累積値データSUMは受信カウントデータECH
CNTと同一の値になる。続いて、中央処理装置65はカウ
ントデータNを「1」だけ歩進させ(ステップP404)、
その後、カウントデータNの値が「16」に達したか否か
を判断する(ステップP405)。ステップP405の判断結果
がノー(N)の間はタイマー割り込み処理ルーチン、更
にメインルーチンプログラムに戻り、再びタイマー割り
込みの発生を待つ。Fret position calculation subroutine As described above, before the end of the echo level initialization subroutine, the mode data MODE is set to "3". Therefore, when a timer interruption occurs after the end of the echo level initialization subroutine, step P100 of the timer interruption processing routine is executed. Is determined to require 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 65 reads the echo count data ECHCNTS from the register 117 (step P401), and reads this from the reception count data.
It is sent to the register group 69 as ECHCNT (step P40
2). Thereafter, the central processing unit 65 reads the accumulated value data SUM, and stores the received count data E in the value of the accumulated value data SUM.
The value of CHCNT is added (step P403). At the time of the first processing, the value of the accumulated value data is “0” (step
P310), the accumulated value data SUM is the reception count data ECH
It has the same value as CNT. Subsequently, the central processing unit 65 increments the count data N by "1" (step P404),
Thereafter, it is determined whether or not the value of the count data N has reached “16” (Step P405). While the determination result of step P405 is NO (N), the process returns to the timer interrupt processing routine and further to the main routine program, and waits for the occurrence of a timer interrupt again.
再びタイマー割り込みが発生すると、依然としてモー
ドデータMODEのデータ値は「3」なので、中央処理装置
65はフレット位置算出サブルーチンを実行し、上記ステ
ップP401〜P405を繰り返す。このようにして、中央処理
装置65は、タイマー割り込みが発生する毎にレジスタ11
7からエコーカウントデータECHCNTSを読み込み、これを
累算値データSUMに加算しながら、カウントデータNの
値が「16」に達するまでステップP401〜P405を繰り返し
実行する。したがって、カウントデータSUMの値が「1
6」に達したときには累積値データは16回分のエコーカ
ウントデータECHCNTSの累積値となっている。そこで、
中央処理装置65は累積値データSUMの値を「16」で除し
て開放弦カウントデータECHCNTIを算出してレジスタ群6
9に送出する(ステップP406)。When the timer interrupt occurs again, the data value of the mode data MODE is still “3”, so the central processing unit
Step 65 executes a fret position calculation subroutine, and repeats the above steps P401 to P405. In this way, the central processing unit 65 sets the register 11 every time a timer interrupt occurs.
Steps P401 to P405 are repeatedly executed until the value of the count data N reaches "16" while reading the echo count data ECHCNTS from 7 and adding this to the accumulated value data SUM. Therefore, the value of the count data SUM is "1
When “6” is reached, the cumulative value data is the cumulative value of the echo count data ECHCNTS for 16 times. Therefore,
The central processing unit 65 calculates the open string count data ECHCNTI by dividing the value of the accumulated value data SUM by “16”, and
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)までの距
離をl0とすると、i番目のフレットFiについての伝播時
間のしきい値を示すフレット境界データCNTTHiは CNTTHi=(li-1−li)/(2・l0) ×ECHCNTI で求められる。上式において、(li-1−li)/2は圧電素
子27,29,・・から隣接するフレットの中点までの距離を
示しており、ステップP406で求められた開放弦カウント
データECHCNTIを比例配分することにより各フレットに
関する伝播時間を算出している。なお、上記各フレット
までの距離liは各種テーブル71に固定的に保持されてい
る。このようにしてフレットカウントデータiで特定さ
れるフレットFiに関する伝播時間のしきい値が算出され
ると(現時点ではフレットカウントデータiが「0」な
ので、仮想フレットF-1に関するフレット境界データCNT
TH-1が得られる、なお仮想フレットの位置については第
15図に示されているように圧電素子から見て0番フレッ
トより更に遠い実在しないフレットである)これをレジ
スタ群69に転送し、しかる後に中央処理装置65はフレッ
トカウントデータiを「1」歩進させ(ステップP40
9)、フレットカウントデータiが「24」に達したか否
かを判断する(ステップP410)。ステップP410の判断結
果がノー(N)の間、中央処理装置65はステップP408に
戻ってステップP408〜P410を繰り返しつつ仮想フレット
F-1、フレットF0〜F24についてフレット境界データCNTT
Hiを算出する。このようにして算出されたフレット境界
データCNTTHiはレジスタ群69に送出されて保持される。Thereafter, 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 fret is moved from the 0th fret 39 (F0) from which the ultrasonic wave is reflected at the time of the open string to the piezoelectric elements 27, 29,
. Are assigned FRET numbers F0, F1,..., Fi,..., F23, F24 as shown in FIG.
The piezoelectric elements 27, 29, and the distance from ... 0 th fret 39 (F0) and l 0, the fret boundary data CNTTHi indicating the threshold of the propagation time for the i-th fret Fi CNTTHi = (l i -1 -l i) / (2 · l 0) are determined by × ECHCNTI. In the above equation, (l i−1 −l 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 Is proportionally distributed to calculate the propagation time for each fret. Note that the distances l i to the respective frets are fixedly held on various tables 71. When the threshold value of the propagation time for the fret F i specified by the fret count data i is calculated in this way (since the fret count data i is “0” at this time, the fret boundary data CNT for the virtual fret F −1 is calculated.
TH- 1 is obtained.
This is a non-existent fret farther than the 0th fret as seen from the piezoelectric element as shown in FIG. 15) and transferred to the register group 69, after which the central processing unit 65 sets the fret count data i to "1". Step forward (Step P40
9) It is determined whether or not the fret count data i has reached “24” (step P410). While the result of the determination at Step P410 is No (N), the central processing unit 65 returns to Step P408 and repeats Steps P408 to P410 to execute the virtual frets.
F -1 , fret boundary data CNTT for frets F0 to F24
Calculate Hi. The fret boundary data CNTHHi thus calculated is sent to the register group 69 and held.
やがて全フレットについてフレット境界データCNTTHi
が算出されると、ステップP410の判断結果がイエス
(Y)になるので、中央処理装置65はフレット番号デー
タFRETとフレット位置データNFRETとをそれぞれ「0」
とし(ステップP411)、その後、モードデータMODEを
「0」に設定してフレット位置算出サブルーチンを終了
する。このように、フレット位置算出サブルーチンの実
行終了により初期値設定モードは終了し、モードデータ
MODEは演奏モードを指定するようになる。Eventually fret boundary data for all frets
Is calculated, the result of the determination in step P410 becomes yes (Y), so that the central processing unit 65 sets the fret number data FRET and the fret position data NFRET to “0”, respectively.
(Step P411), and thereafter, the mode data MODE is set to “0”, and the fret position calculation subroutine ends. In this way, the initial value setting mode is terminated by the end of the execution of the fret position calculation subroutine, and the mode data
MODE specifies the performance mode.
演奏モード時の処理 上述のようにフレット位置算出サブルーチンが終了す
るとモードデータMODEのデータ値は「0」となっている
ので、中央処理装置65がタイマー割り込みに応答してタ
イマー割り込み処理を実行すると、ステップP100の判断
結果は演奏モードを指定し、中央処理装置65はフレット
判別サブルーチンP500、ベンド奏法判別サブルーチンP9
00、キーオン検出サブルーチンP1100およびミュート判
別サブルーチンP1200を順次実行する。Processing in Performance Mode As described above, when the fret position calculation subroutine ends, the data value of the mode data MODE is “0”, so 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 sets the fret judgment subroutine P500 and the bend playing style judgment subroutine P9.
00, the key-on detection subroutine P1100 and the mute determination subroutine P1200 are sequentially executed.
フレット判別サブルーチンP500では、エコー信号に基
づき形成されたエコーカウントデータECHCNTSの値を上
述のフレット位置算出サブルーチン(第14図参照)で算
出したフレット境界データCNTTHiと順次比較して弦と接
触しているフレットを判別し、3回連続して同一フレッ
トを検出したらフレット位置を確定し、確定されたフレ
ットとレフトハンドモードか否かに応じてキーオフサブ
ルーチン、キーチェンジサブルーチンまたはキーオンサ
ブルーチンを実行する。In the fret discriminating subroutine P500, the value of the echo count data ECHCNTS formed based on the echo signal is sequentially compared with the fret boundary data CNTHTi calculated in the above-described fret position calculating subroutine (see FIG. 14) to make contact with the string. The fret is determined, and when the same fret is detected three times in succession, the fret position is determined, and a key-off subroutine, a key-change subroutine, or a key-on subroutine is executed according to the determined fret and whether or not the left hand mode is set.
ベンド奏法判別サブルーチンP900では、ベンドセンサ
35から供給されるベンドデータBENDSの有効または無効
を判断し、ベンドデータBENDSが有効なデータなら、予
め選択されているベンドカーブに基づきピッチの変更量
を算出して該ピッチの変更量をトーンジェネレータ73に
送出する。In the bend playing style determination subroutine P900, the bend sensor
It is determined whether the bend data BENDS supplied from 35 is valid or invalid. If the bend data BENDS is valid data, the pitch change amount is calculated based on a preselected bend curve, and the pitch change amount is calculated by the tone generator 73. To send to.
これに対して、キーオン検出サブルーチン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, and when it is detected that the string vibration has attenuated three consecutive times after the string vibration reaches the peak, the plucking of the string is performed. The occurrence is recognized, and a key-on subroutine is executed to generate a musical sound.
また、ミュート判別サブルーチンP1200では、キーオ
ンサブルーチンの実行時に最大値に設定されたミュート
カウントデータMUTECNTが最小値「0」になったときの
受信レベルデータECHLVLが上述のエコーレベル初期設定
サブルーチン(第13図)の実行時に設定されたミュート
しきい値データの値にまで減少していたら、演奏者のミ
ュート操作を検出して直ちにキーオフプログラムを実行
する。In the mute determination subroutine P1200, the reception level data ECHLVL when the mute count data MUTECNT set to the maximum value at the time of execution of the key-on subroutine becomes the minimum value “0” is set to the above-described echo level initialization subroutine (FIG. 13). If the value has decreased to the value of the mute threshold data set at the time of the execution of (3), the mute operation of the player is detected and the key-off program is executed immediately.
演奏モードでは、中央処理装置65が各レジスタ101、1
17、127、139に保持されているデータにアクセスしつ
つ、上記サブルーチンP500,P900,P1100,P1200をタイマ
ー割り込み毎に実行して演奏者の操作を判別し、トーン
ジェネレータ73に演奏者の意志にしたがった楽音の発
生、および種々の奏法に対応した楽音への効果の付与を
指示する。In the play mode, the central processing unit 65 operates the registers 101, 1
While accessing the data held in 17, 127, and 139, the subroutines P500, P900, P1100, and P1200 are executed at each timer interrupt to determine the player's operation, and to the tone generator 73 to the player's will. It instructs the generation of musical tones in accordance with the above and the application of effects to musical tones corresponding to various playing styles.
以下、演奏モードにおいて実行されるサブルーチンを
詳細に説明する。Hereinafter, the subroutine executed in the performance mode will be described in detail.
フレット判別サブルーチン フレット判別サブルーチンP500のアルゴリズムは第16
図に示されている。Fret determination subroutine The algorithm of the fret determination subroutine P500 is 16th.
It is shown in the figure.
フレット判別サブルーチンが開始すると、中央処理装
置65はレジスタ117からエコーカウントデータECHCNTSを
読み込み(ステップP501)、読み込んだエコーカウント
データECHCNTSをレジスタ群69に受信カウントデータECH
CNTとして転送する(ステップP502)。続いて、中央処
理装置65はカウントデータNに「−1」を設定し(ステ
ップP503)、フレットカウントデータiを「0」に設定
する(ステップP504)。この後、中央処理装置65は仮想
フレットF-1に関するフレット境界データCNTTHiを受信
カウントデータECHCNTと比較して(ステップP505)、フ
レット境界データCNTTHiの値が受信カウントデータECHC
NTの値より大きい場合には、ステップ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), and stores the read echo count data ECHCNTS in the register group 69 as the reception count data ECHCNT.
Transfer as CNT (step P502). Subsequently, the central processing unit 65 sets the count data N to "-1" (step P503), and sets the fret count data i to "0" (step P504). Thereafter, the central processing unit 65 compares the fret boundary data CNTTHi relating to the virtual fret F- 1 with the reception count data ECHCNT (step P505), and changes the value of the fret boundary data CNTTHi to the reception count data ECHC.
If the value is larger than the value of NT, the determination result of step P505 becomes YES (Y), so that the fret count data i is transferred to the count data N (step P506), and then the value of the fret count data i is set to “1”. It is increased (step P507), and it is determined in step P508 whether or not the fret count data i has exceeded “24”. While the fret count data i designates a fret farther than the fret that generated the echo signal, the result of the determination in step P505 is YES (Y), and the central processing unit 65 then proceeds to step P505.
While repeatedly executing the loop composed of P508, the process waits until the determination result of step P505 changes to No (N). If the decision result in the step P505 is no (N), the central processing unit 65 proceeds to a step P507 to increase the value of the fret count data i by "1" without setting the value of the fret count data i in the count data N. In this way, the central processing unit
Step 65 waits until the judgment result of step P508 becomes yes (Y) while searching for the fret which generated the echo signal by repeatedly executing steps P505 to P508.
ステップP508の判断結果がイエスになると、中央処理
装置65は受信カウントデータECHCNTを仮想フレット〜24
番フレットのフレット境界データCNTTHiと順次比較した
ことになるので、ステップP509に進み、カウントデータ
Nが仮想フレットを示す「−1」、または24番フレット
を示す「24」であるか否かを判断し、その判断結果がイ
エス(Y)ならエコー信号が仮想フレット以遠の実在し
ないフレットで発生したか、音高の割り当てられていな
い24フレットで発生したことを示しているので、受信カ
ウントデータECHCNTをエラーデータと判断してフレット
位置確定判別データSMCNTを「0」に設定する(ステッ
プP510)。このようにフレット位置確定判別データSMCN
Tが「0」に設定されると、受信カウントデータECHCNT
を発生させたエコー信号に関しては楽音の発生はなされ
ない。一方、ステップP509の判断結果が、ノー(N)の
場合には、フレット番号データFRETの値とカウントデー
タNの値とが等しいか否かを判断する(ステップP51
1)。ステップP511の判断結果がイエス(Y)なら、確
定したフレットが押し続けられているのでキーオン処理
することなくステップP510でフレット位置確定判別デー
タSMCNTの値を「0」に設定して、タイマー割り込み処
理ルーチン(第11図)に戻る。一方、ステップP511の判
断結果がイエス(Y)ならカウントデータNの値がフレ
ット位置データNFRETの値と等しいか否かをステップP51
2で判断し、等しくないときは(N)フレット位置確定
判別データSMCNTの値を「1」に設定し(ステップP51
3)、しかる後にカウントデータNの値をフレット位置
データNFRETとして設定する(ステップP514)。一方、
フレット位置データNFRETの値とカウントデータNの値
とが等しい場合には、フレット位置確定判別データSMCN
Tの値を「1」だけ増加させ(ステップP515)、フレッ
ト位置確定判別データSMCNTが「3」か否かを判断する
(ステップP516)。ステップP516の判断結果がノー
(N)ならば、タイマー割り込み処理ルーチン(第11
図)に戻り、ステップP516の判断結果がイエス(Y)な
らフレット番号データFRETの値をフレット位置データNF
RETの値に一致させ(ステップP517)、フレット位置確
定判別データSMCNTを「0」に設定する(ステップP51
8)。このように、本実施例では同一のフレットが3回
検出されたときのみ該フレットを弦と接触しているフレ
ットと認定する。If the decision result in the step P508 is YES, the central processing unit 65 stores the reception count data ECHCNT in the virtual frets ~ 24.
Since it is sequentially compared with the fret boundary data CNTTHi of the number fret, the process proceeds to step P509 to determine whether the count data N is “−1” indicating the virtual fret or “24” indicating the number 24 fret. If the result of the determination is yes (Y), it indicates that the echo signal has occurred at a non-existent fret beyond the virtual fret or at the 24th fret to which no pitch has been assigned. It is determined that the data is error data, and the fret position determination data SMCNT is set to “0” (step P510). Thus, the fret position determination data SMCN
When T is set to "0", the reception count data ECHCNT
No musical tone is generated with respect to the echo signal that has generated. On the other hand, if the decision result in the step P509 is no (N), it is determined whether or not the value of the fret number data FRET is equal to the value of the count data N (step P51).
1). If the decision result in the step P511 is YES (Y), the value of the fret position determination data SMCNT is set to "0" in the step P510 without performing the key-on process because the determined fret is kept pressed, and the timer interrupt processing is performed. Return to the routine (FIG. 11). On the other hand, if the decision result in the step P511 is YES (Y), it is determined whether or not the value of the count data N is equal to the value of the fret position data NFRET in a step P51.
If it is determined in step 2 that they are not equal to each other, (N) the value of the fret position determination data SMCNT is set to "1" (step P51).
3) After that, the value of the count data N is set as the fret position data NFRET (step P514). on the other hand,
If the value of the fret position data NFRET is equal to the value of the count data N, the fret position determination determination data SMCN
The value of T is increased by "1" (step P515), and it is determined whether or not the fret position determination data SMCNT is "3" (step P516). If the decision result in the step P516 is no (N), a timer interrupt processing routine (11th routine) is executed.
Returning to the figure, if the judgment result of step P516 is yes (Y), the value of the fret number data FRET is changed to the fret position data NF
The value is matched with the value of RET (step P517), and the fret position determination data SMCNT is set to “0” (step P51).
8). As described above, in this 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 determines whether or not the value of the fret number data FRET is “0” (step P519). If the value of the fret number data FRET is “0”, the string is pressed and plucked. Since it indicates that it has shifted to the open string, the central processing unit 65 executes the key-off subroutine P600 to stop the generation of the musical tone. On the other hand, if the value of the fret number data FRET is other than “0”, the process proceeds to step P520, where it is determined whether the value of the left hand mode data LEFT is “1”, and the determination result is yes (Y). Then, in preparation for the left hand performance, "40 H " indicating the average volume value is set in the pickup maximum value data PEAK (step P521), and thereafter, the key-on subroutine is executed and the process returns to the timer interrupt subroutine (step P700). Steps
If the decision result in 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, key-off subroutine, and key-change subroutine described above will be described later in detail.
ベンド奏法判別サブルーチン 中央処理装置65は上述したフレット位置判別サブルー
チンが終了してタイマー割り込み処理ルーチンに戻る
と、ベンド奏法判別サブルーチンP900を実行する。ベン
ド奏法判別サブルーチンP900にあっては、まず、電磁ピ
ックアップ時間制御データPCKCNTの値が「0」か否かを
判断し(ステップP901)、ノー(N)の場合には、ベン
ド奏法の判別を中止してタイマー割り込み処理ルーチン
に戻る。レジスタ群69に関する項でも説明したように、
電磁ピックアップ時間制御データPCKCNTは撥弦検出時に
初期値「10」に設定されるので、撥弦検出後一定期間
(約10msec)はベンド奏法の判別を行わないようにでき
る。これは、撥弦時の弦振動を誤ってベンドによる弦の
移動と判断しないためである。これに対して、ステップ
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)の場合))、ベンドセンサデータBE
NDとして最小値(00H)を設定する(ステップP908)。
このようにして、ベンドセンサデータBENDを再度補正し
て一定範囲内におさめると、中央処理装置65は第18図に
示されているピッチ変更データ算出サブルーチンを実行
する(ステップP1000)。Bend Performance Style Determination Subroutine When the above-described fret position determination subroutine ends and returns to the timer interrupt processing routine, the central processing unit 65 executes a bend performance style determination subroutine P900. In the bend playing 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), and if no (N), the determination of the bend playing style is stopped. Then, the process returns to the timer interrupt processing routine. As explained in the section on the register group 69,
Since the electromagnetic pickup time control data PCKCNT is set to the initial value "10" at the time of detecting a plucked string, it is possible to prevent the bend playing style from being determined for a certain period (about 10 msec) after the detection of the plucked string. This is because the string vibration at the time of plucking the string is not erroneously determined as the movement of the string due to the bend. In contrast, the step
If the decision result in P901 is yes (Y), the central processing unit 65 reads the bend data BENDS from the register 139 (step P902), sends this bend data BENDS to the register group 69 and holds it as the bend sensor data BEND. (Step P903). Thereafter, the central processing unit 65 corrects the bend sensor data BEND (step P904). That is, the bend sensor initialization subroutine (the twelfth
The bend correction data BENDI calculated in FIG. 7) is added to the bend sensor data BEND, and this is stored again in the register group 69 as the bend sensor data BEND. After the above correction of the bend sensor data BEND, the central processing unit 65 determines the validity of the corrected bend sensor data BEND. That is, the value of the bend sensor data BEND is determined whether the overflow in Step P905, and set the maximum value to the bend sensor data BEND during overflow (7F H) (step P906), but not overflow and (If the determination result of step P905 is no (N)),
If there is an underflow (if the determination result in step P907 is yes (Y)), the bend sensor data BE
The minimum value (00 H ) is set as ND (step P908).
In this way, when the bend sensor data BEND is corrected again to be within a certain range, the central processing unit 65 executes a 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 describing 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 FIG.
Indicates a lower piece. As shown in FIG. 19, since the plucking is performed at the position PC, the displacement of the string at the fret P1 in contact with the string based on the bend amount detected by the bend sensors 35, 37,... When calculated, the width of the neck of the guitar body 21 is exceeded. On the other hand, the displacement of the string at the contact position P2 with the frets based on the bend playing method should be within the range of the neck of the guitar, and the bend amount detected by the bend sensors 35, 37,. The virtual bend amount X is calculated based on the detected values of the bend sensors 35, 37,... In order to determine whether the displacement is caused by the bend operation as follows.
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 step P904~P908, LF is bend position indicating the distance to the fret being pressed string from below bridge Data. Therefore, (BEND-40 H) is the slope angle of the strings, by multiplication of the bend position data LF to the inclined-out corner 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 portion, such as the value X (P1) at the position P1, the bend operation must not have been performed, and in this case, the tone Should not cause a pitch change. On the other hand, the virtual bend amount X (P
If the displacement of the string is within the width of the neck as in 2), the pitch of the musical tone must be changed to produce a pitch change corresponding to the bend playing style.
そこで、中央処理装置65はフレット判別サブルーチン
で検出したフレット番号データFRETに基づき弦と接触し
ているフレットまでの距離をテーブル71から読み出し、
これをベンド位置データLFとしてレジスタ群69に保持さ
せる(ステップP1001)。続いて、中央処理装置65は(B
END−40H)・LFを計算して、仮想ベンド量Xを算出する
(ステップP1002)。かようにして仮想ベンド量Xが算
出されると、中央処理装置65は仮想ベンド量Xをテーブ
ル71に保持されている右側限界値RNGR(FRET)と比較し
て仮想ベンド量Xが右側限界値RNGR(FRET)以上か否か
を判断する(ステップP1003)。ステップP1003の判断結
果がノー(N)なら仮想ベンド量Xは無効なので、ピッ
チ変更データBENDCの値を「0」に設定し(ステップP10
04)、ステップP1003の判断結果がイエス(Y)なら中
央処理装置65は仮想ベンド量Xをテーブル71から読み出
した左側限界値RNGLと比較して、仮想ベンド量Xが左側
限界値RNGL以下か否かを判断する(ステップP1005)。
ステップP1005の判断結果がノー(N)なら仮想ベンド
量Xはやはり無効なので、ピッチ変更データBENDCを
「0」に設定して楽音の音高を一定に維持するようにす
る。これに対して、ステップP1005の判断結果がイエス
(Y)なら仮想ベンド量Xは有効なので、中央処理装置
65はステップP1006に進み、予め選択されているベンド
カーブ(本実施例では第9図のE,F,Gのいずれか)にし
たがいベンドセンサデータBENDからピッチ変更データBE
NDCを算出しレジスタ群69に保持させる(かかるピッチ
データの算出をBENDCNV(BEND)と表す)。Then, 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 in the fret determination subroutine,
This is stored in the register group 69 as bend position data LF (step P1001). Subsequently, the central processing unit 65 (B
END-40 H ) · Calculate the LF to calculate the virtual bend amount X (step P1002). When the virtual bend amount X is calculated in this manner, the central processing unit 65 compares the virtual bend amount X with the right limit value RNGR (FRET) stored in the table 71, and sets the virtual bend amount X to the right limit value. It is determined whether or not RNGR (FRET) or more (step P1003). If the judgment 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 judgment result in 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 equal to or smaller than the left limit value RNGL. Is determined (step P1005).
If the decision result in the step P1005 is NO (N), the virtual bend amount X is invalid, so that the pitch change data BENDC is set to "0" so that the pitch of the musical tone is kept constant. On the other hand, if the decision result in the step P1005 is YES (Y), the virtual bend amount X is valid, so the central processing unit
In 65, the program proceeds to Step P1006 in which the pitch change data BE is changed from the bend sensor data BEND in accordance with a pre-selected bend curve (in this embodiment, any of E, F, and G in FIG. 9).
The NDC is calculated and held in the register group 69 (the calculation of the 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 whether or not the pitch change data BENDC is “0” in Step P909. If the judgment result in step P909 is yes (Y), there is no need to change the pitch of the musical tone,
Return to the timer interrupt processing routine. Meanwhile, step
If the result of P909 is no (N), pitch change data BEND
Since C indicates the pitch of the musical tone to be changed, the central processing unit 65 sends the 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 manner, 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 a musical tone a pitch change corresponding to the bend playing style by moving the string in the width direction of the neck portion. After transmitting the pitch change data BEND to the tone generator 73 in Step P910, the central processing unit 65 returns to the timer interrupt 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 key-on detection subroutine P1100 described above,
The central processing unit 65 first, as shown in FIG.
The value of the electromagnetic pickup time control data PCKCNT is "1" ~
It is determined whether or not the value is "7" (step P1101). If the determination result is yes (Y), the value of the electromagnetic pickup time control data PCKCNT is reduced by "1" (step P110).
2). When the value of the electromagnetic pickup time control data PCKCNT becomes "7" as described with respect to the register group 69, the key is turned on, that is, the sound generation is started.
If the value of the electromagnetic pickup time control data PCKCNT is "1" to "7" at 101, control is performed so as to return to the timer interrupt processing routine via step P1102, so that once sound is generated, at least 7 msec is not reproduced. Become.
一方、ステップP1101の判断結果がノー(N)なら
ば、中央処理装置65はレジスタ127から最大波高値デー
タPICKUPSを読み込み(ステップP1103)、これをレジス
タ群69に送出して保持(PICKUP)する(ステップP110
4)。続く、ステップP1105では最大波高値データPICKUP
の値がピックアップしきい値データPCKTHの値より大き
いか否かを判断し、最大波高値データPICKUPの値がピッ
クアップしきい値データPCKTHの値以下なら該最大波高
値データPICKUPを雑音と判断してステップP1114に進
み、最大波高値データPICKUPを先行波高値データOPCKと
してレジスタ群69に保持させる。一方、最大波高値デー
タPICKUPの値がピックアップしきい値データPCKTHの値
より大きいなら、中央処理装置65は最大波高値データPI
CKUPを撥弦に基づくデータと判断してステップP1106に
進み、最大波高値データPICKUPの値を電磁ピックアップ
境界値データPCKLSの値と比較してその大小を判別す
る。電磁ピックアップ境界値データPCKLSは撥弦用倍率
データMPLの値を選択するための境界値であり、中央処
理装置65はステップP1106の実行に先立ちレジスタ群69
から読み出し、最大波高値データPICKUPとの比較に用い
る。最大波高値データPICKUPの値が電磁ピックアップ境
界値データPCKLSの値を超えているなら、ステップP1106
の判断結果がイエス(Y)となり、中央処理装置65は撥
弦により高レベルの弦振動が発生していると判断して撥
弦用倍率データを「1.5」に設定する(ステップP110
7)。一方、最大波高値データPICKUPの値が電磁ピック
アップ境界値データPCKLSの値以下なら、中央処理装置6
5は低レベルの弦振動であると判断して撥弦用倍率デー
タMPLを「2.0」に設定する(ステップP1108)。かかる
撥弦用倍率データMPLの設定後、中央処理装置65はキー
オントリガデータONTRGの値が「1」であるか否かを判
断する(ステップP1109)。キーオントリガデータONTRG
は最大波高値データPICKUPの値が先行波高値データOPCK
に撥弦用倍率データMPLを乗算した値を超えたか否かを
示しており、先行するキーオン検出サブルーチンの実行
中に値が決定される。よって、先行するキーオン検出サ
ブルーチンの実行中に(OPCK×MPL)より大きな最大波
高値データPICKUPが検出されていなければ、ステップP1
109の判断結果はノー(N)となり、先行波高値データO
PCKに撥弦用倍率データMPLを乗し、その積を最大波高値
データPICKUPと比較する(ステップP1110)。最大波高
値データPICKUPの値が上記積の値より大きければ、ステ
ップP1110の判断結果はイエス(Y)となり、中央処理
装置65はキーオントリガデータONTRGの値を「1」に設
定し(ステップP1111)、電磁ピックアップ時間制御デ
ータPCKCNTを「10」に設定する(ステップP1112)。そ
の後、中央処理装置65はピックアップ最大値データを
「0」に設定し(ステップP1113)、最大波高値データP
ICKUPを先行波高値データOPCKとしてレジスタ群69に保
持させる(ステップP1114)。本実施例の場合は、弦振
動がピークに達し、その後、検出された最大波高値デー
タPICKUPの値が3回連続して減少したら、撥弦を検出し
たことになるので、ステップP1111〜P1113で上記撥弦検
出のための前準備をすることになる。一方、最大波高値
データPICKUPの値が上記先行波高値データOPCKの値と撥
弦用倍率データMPLとの積より小さかった場合は、弦弦
とみなすには十分な振動がまだ発生していないので、撥
弦検出の前準備をすることなくステップP1114に進む。On the other hand, if the decision result in the step P1101 is no (N), the central processing unit 65 reads the maximum peak value data PICKUPS from the register 127 (step P1103), sends it to the register group 69 and holds (PICKUP) ( Step P110
Four). In the following step P1105, the maximum peak value data PICKUP
It is determined whether or not the value of the pickup threshold data PCKTH is greater than the value of the pick-up threshold data PCKTH, and if the value of the maximum peak value data PICKUP is equal to or less than the value of the pickup threshold data PCKTH, the maximum peak value data PICKUP is determined to be noise. Proceeding to step P1114, the register group 69 holds the maximum peak value data PICKUP as the preceding peak value data OPCK. On the other hand, if the value of the maximum peak value data PICKUP is larger than the value of the pickup threshold value data PCKTH, the central processing unit 65 transmits the maximum peak value data PIKUP.
It is determined that CKUP is data based on the plucked string, and the process proceeds to Step P1106, where the value of the maximum peak value data PICKUP is compared with the value of the electromagnetic pickup boundary value data PCKLS to determine the magnitude. The electromagnetic pickup boundary value data PCKLS is a boundary value for selecting the value of the plucking magnification data MPL, and the central processing unit 65 sets the register group 69 prior to execution of step P1106.
And used for comparison with the maximum peak value data PICKUP. If the value of the maximum peak value data PICKUP exceeds the value of the electromagnetic pickup boundary value data PCKLS, step P1106
Is YES (Y), the central processing unit 65 determines that high-level string vibration is generated by the plucking, and sets the plucking magnification data to "1.5" (step P110).
7). On the other hand, if the value of the maximum peak value data PICKUP is equal to or less than the value of the electromagnetic pickup boundary value data PCKLS, the central processing unit 6
5 is determined to be a low-level string vibration, and the string pluck magnification data MPL is set to “2.0” (step P1108). After setting the 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). Key-on trigger data ONTRG
Is the maximum crest data PICKUP is the preceding crest data OPCK
Indicates whether the value multiplied by the plucking magnification data MPL has been exceeded, and the value is determined during execution of the preceding key-on detection subroutine. Therefore, if the maximum peak value data PICKUP larger than (OPCK × MPL) is not detected during the execution of the preceding key-on detection subroutine, step P1
The determination result of 109 is no (N), and the preceding peak value data O
PCK is multiplied by the pluck magnification data MPL, and the product is compared with the maximum peak value data PICKUP (step P1110). If the value of the maximum peak value data PICKUP is larger than the value of the above product, the judgment 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 P1111). Then, the electromagnetic pickup time control data PCKCNT is set to “10” (step P1112). Thereafter, the central processing unit 65 sets the pickup maximum value data to “0” (step P1113), and sets the maximum peak value data P
ICKUP is held in the register group 69 as the preceding peak value data OPCK (step P1114). In the case of the present embodiment, if the string vibration reaches the peak and the value of the detected maximum crest value data PICKUP subsequently decreases three times, it means that a plucked string has been detected, so that in steps P1111 to P1113 Preparations for the pluck detection are to be made. On the other hand, if the value of the maximum crest value data PICKUP is smaller than the product of the value of the preceding crest value data OPCK and the plucking magnification data MPL, sufficient vibration has not yet occurred to be regarded as a string. Then, the process proceeds to Step P1114 without making preparations for pluck detection.
これに対して、先行するキーオン検出サブルーチンで
キーオントリガデータONTRGがすでに「1」に設定され
ているなら(ステップP1109の判断結果がイエス(Y)
となる)、上記撥弦検出のための前準備はすでに終了し
ているので、中央処理装置65はステップP1109からステ
ップP1115に進み、先行波高値データOPCKの値が最大波
高値データPICKUPの値より大きいか否かを判断する。先
行波高値データOPCKの値が最大波高値データPICKUPの値
より小さいなら、ステップP1115の判断結果はノー
(N)となり、弦振動の振幅は依然として増加している
ので、電磁ピックアップ時間制御データPCKCNTを「10」
に設定して(ステップP1116)、最大波高値データPICKU
Pを先行波高値データOPCKとしてレジスタ群69に保持さ
せる(ステップP1123)。これに対して、最大波高値デ
ータPICKUPの値が先行波高値データOPCKの値より小さい
場合には、弦振動の減衰が始まっているので(ステップ
P1115の判断結果はイエス(Y)となる)、中央処理装
置65は電磁ピックアップ時間制御データPCKCNTの値が
「10」であるか否かを判断し(ステップP1117)、その
判断結果がイエス(Y)ならピックアップ最大値データ
PEAKの値が先行波高値データOPCKの値より大きいか否か
を判断する(ステップP1118)。ステップP1118の判断結
果がノー(N)なら先行波高値データOPCKをピックアッ
プ最大値データPEAKとしてレジスタ群69に保持させ(ス
テップP1119)、ステップP1118の判断結果がイエス
(Y)ならステップP1119を実行することなくステップP
1120に進み、電磁ピックアップ時間制御データPCKCNTを
「1」だけ減少させる。一方、ステップP1117の判断結
果かノー(N)ならステップP1118,P1119を実行するこ
となくステップP1120に進み、電磁ピックアップ時間制
御データPCKCNTの値を「1」だけ減少させる。したがっ
て、ピックアップ最大値データPEAKは最大波高値データ
PICKUPの撥弦検出後の最も大きな値に等しくなる。On the other hand, if the key-on trigger data ONTRG has already been set to “1” in the preceding key-on detection subroutine (the determination result of step P1109 is YES (Y)
Since the pre-preparation for the pluck detection has already been completed, the central processing unit 65 proceeds from step P1109 to step P1115, where the value of the preceding peak value data OPCK is larger than the value of the maximum peak value data PICKUP. It is determined whether it is large. If the value of the preceding crest value data OPCK is smaller than the value of the maximum crest value data PICKUP, the determination result in step P1115 is no (N), and the amplitude of the string vibration is still increasing. "Ten"
(Step P1116), and the maximum peak value data PICKU
P is held in the register group 69 as the preceding peak value data OPCK (step P1123). On the other hand, if the value of the maximum peak value data PICKUP is smaller than the value of the preceding peak value data OPCK, the string vibration has started to decay (step
The determination result of P1115 is yes (Y)), central processing unit 65 determines whether or not the value of electromagnetic pickup time control data PCKCNT is “10” (step P1117), and the determination result is yes (Y). ) Is the maximum pick-up data
It is determined whether the value of PEAK is greater than the value of the preceding peak value data OPCK (step P1118). If the decision result in the step P1118 is no (N), the preceding peak value data OPCK is held as the pickup maximum value data PEAK in the register group 69 (step P1119), and if the decision result in the step P1118 is yes (Y), the step P1119 is executed. Step P without
Proceeding to 1120, the electromagnetic pickup time control data PCKCNT is decreased by "1". On the other hand, if the decision result in step P1117 is NO (N), the process proceeds to step P1120 without executing steps P1118 and P1119, and decreases the value of the electromagnetic pickup time control data PCKCNT by “1”. Therefore, the pickup maximum value data PEAK is the maximum peak value data.
It is equal to the largest value after detecting the pluck of PICKUP.
しかる後、中央処理装置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はタイマー割り込み処理ルーチンに戻る。Thereafter, the central processing unit 65 determines whether or not the value of the electromagnetic pickup time control data PCKCNT has reached “7” (Step P1121).
If CKCNT is larger than “7”, the above-described condition of the pluck detection in Step P1121 is not satisfied, and therefore, 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 has reached "7", the condition of the pluck detection has been fulfilled, and the central processing unit 65 proceeds to step P700 to execute the key-on subroutine described later to execute the musical tone. Generate. When the musical tone is thus generated, 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 the subsequent key-on detection (step P1123). Thereafter, 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としてレベル群6
9に保持させる(ステップP1205)。この後に、中央処理
装置65は受信レベルデータECHLVLとミュートしきい値デ
ータMUTEとにアクセスしてこれらを比較し(ステップP1
206)、受信レベルデータECHLVLの値がミュートしきい
値データMUTEの値より小さい場合はステップP1206の判
断結果がノー(N)になるので、キーオフサブルーチン
P600を実行して楽音を急速に停止させる。一方、ステッ
プP1206の判断結果がイエス(Y)なら演奏者によるミ
ュート操作はなされなかったと判断してキーオフサブル
ーチンを実行することなくタイマー割り込み処理ルーチ
ンに戻る。通常の撥弦時はミュートカウントデータは
「0」なのでステップP1201にてイエス(Y)となり、
同様の処理(P1204〜P1206)を行い、撥弦後にミュート
操作されたか否かを判断し、キーオフサブルーチンの実
行の有無を決定する。Mute determination subroutine After the key-on detection subroutine ends, the central processing unit 65 that has returned to the timer interrupt processing routine executes the mute determination subroutine (see FIG. 21). That is, the central processing unit 65 reads the mute count data MUTECNT from the register group 69, and
It is determined whether or not the value is “0” (step P1201). The mute count data MUTECNT is set to "50" when the key-on subroutine is executed and the key-on subroutine is executed when the key-on subroutine is executed. have. That is, the determination result of step P1201 is no (N) until a certain time has elapsed after the generation of the musical tone, the value of the mute count data MUTECNT is reduced by "1" (step P1202), and the value of the mute count data MUTECNT is returned again. Is determined to have reached “0” (step P1203). If the value of the mute count data MUTECNT has not yet reached “0”, the central processing unit 65 terminates the execution of the mute determination subroutine and returns to the timer interrupt processing routine. On the other hand, step P120
If the determination result in step 3 is yes (Y), the central processing unit 65 recognizes that the certain period has elapsed, reads the echo level data ECHLVLS from the register 101 (step P1204), and uses this (ECHLVLS) as the reception level data ECHLVL as the level group. 6
9 (step P1205). Thereafter, the central processing unit 65 accesses the reception level data ECHLVL and the mute threshold data MUTE and compares them (step P1).
206), if the value of the reception level data ECHLVL is smaller than the value of the mute threshold data MUTE, the determination result in step P1206 becomes no (N), so the key-off subroutine
Execute P600 to stop the musical sound rapidly. On the other hand, if the decision result in the step P1206 is Yes (Y), it is determined that the mute operation has not been performed by the player, and the process returns to the timer interrupt processing routine without executing the key-off subroutine. During normal plucking, the mute count data is "0", so the answer is yes (Y) in step P1201,
A similar process (P1204 to P1206) is performed to determine whether or not a mute operation has been performed after plucking a string, and determine whether or not to execute a key-off subroutine.
キーオンサブルーチン フレット位置判別サブルーチン中にレフトハンド演奏
に基づく楽音の発生が必要になったとき、あるいはキー
オン検出サブルーチン中に撥減検出の条件が成就したと
きには、中央処理装置65はキーオンサブルーチンを実行
する。キーオンサブルーチンでは、第22図に示されてい
るように、中央処理装置65はエコーレベルデータECHLVL
Sをレジスタ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 tone based on the left hand performance during the fret position determination subroutine, or when the repellency detection condition is satisfied during the key-on detection subroutine. In the key-on subroutine, as shown in FIG. 22, the central processing unit 65 outputs the echo level data ECHLVL.
S is read from the register 101 (step P701), and the read echo level data ECHLVLS is sent to the register group 69 to be held as reception level data ECHLVL (step P702). Thereafter, 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 65 determines that normal sound generation is desired, and causes the register group 69 to hold the pickup maximum value data PEAK as touch data TOUCH (step P704). The value of the 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 the string vibration is used. They are equal (step P1119). If the value of the reception level data ECHLVL is equal to or less than the value of the mute threshold data MUTE, the central processing unit 65 multiplies the pickup maximum value data PEAK by "0.4" and causes the register group 69 to hold the product as touch data TOUCH (step P705). Therefore, when the player performs a mute operation, the musical sound is emitted with a reduced volume. After execution of Step P705, the central processing unit 65 sets the mute count data to “50” (Step P706), and provides the time for a certain period in the mute determination subroutine.
このようにトーンジェネレータ73の音量制御に使用さ
れるタッチデータTOUCHが設定されると、中央処理装置6
5はレジスタ群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 controlling the volume of the tone generator 73 is set as described above, the central processing unit 6
5 reads the fret number data FRET determined by the fret discriminating 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 reads this key code FKCNV. (FRET) is stored in the register group 69 as fret position corresponding key code data KC (step P707). Subsequently, the central processing unit 65 reads the key code data OKC of the tone currently being generated from the register group 69 and determines whether or not the value is “0” (step P708). If there is a currently sounding tone, step P7
Since the judgment result of 08 is no (N), the tone generator 73 is instructed to stop the tone generation for the tone 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 key code data KC corresponding to the fret position and the touch data TOUCH to the tone generator 73 without executing the step P709 to instruct generation of a musical tone. (Step P710). In this way, when the tone generator 73 is instructed to generate a musical tone, the central processing unit 65 sets the key code data KC corresponding to the fret position as the key code data OKC of the musical tone currently being generated in the register group 69.
(Step P711), and thereafter, the process returns to the timer interrupt processing routine or the key-on detection subroutine.
キーオフサブルーチン フレット判別サブルーチンまたはミュート判別サブル
ーチンにおいてキーオフサブルーチンの実行が要請され
ると、中央処理装置66は第23図に示されているように、
現在発音中の楽音に関するキーコードデータOKCが
「0」であるか否かを判断し(ステップP601)、キーコ
ードデータOKCの値が「0」なら楽音の発生はすでに停
止しているので、タイマー割り込み処理ルーチンに戻
る。一方、ステップP601の判断結果がノー(N)ならば
キーコードデータOKCで示される現在発音中の楽音の発
音停止をトーンジェネレータ73に指示する(ステップP6
02)。Key-Off Subroutine When execution of the key-off subroutine is requested in the fret determination subroutine or the mute determination subroutine, the central processing unit 66 performs, as shown in FIG.
It is determined whether or not the key code data OKC relating to the tone currently being pronounced is "0" (step P601). If the value of the key code data OKC is "0", generation of the musical tone has already been stopped. Return to the 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 sounding of the currently sounding tone indicated by the key code data OKC (step P6).
02).
キーチェンジサブルーチン フレット別サブルーチンにおいてキーチェンジサブル
ーチンの実行が要請されると、中央処理装置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 execution of the key change subroutine is requested in the fret-specific subroutine, the central processing unit 65 determines whether or not the value of the legato state data LGT is "1" as shown in FIG. A determination is made (step P801). If the result of the determination in step P801 is no (N), it is determined whether or not the value of the key code data OKC relating to the musical tone currently being sounded is "0" (step P802). If the value of the key code data OKC is other than "0", the tone generator 73 is sounding (no (N)), and the central processing unit 65 sets the tone generator
By controlling 73, the generation of the musical tone represented by the key code OKC is stopped (step P803), and in the subsequent 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 generate the musical tone. Instruct. Accordingly, the tone generator 73 stops the tone that has been sounded up to that point, and outputs the tone having the pitch corresponding to the fret detected in the fret determination subroutine to the touch data.
Generate according to the volume indicated by TOUCH. Thereafter, the central processing unit 65 converts the key code data KC corresponding to the fret position into the key code data
Is stored in the register group 69 (step P805).
一方、ステップP801の判断結果がイエス(Y)なら、
レガート奏法による楽音の制御(第8図参照)が所望さ
れていると判断し、中央処理装置65は発音中の楽音の有
無にかかわらず、フレット位置対応キーコードKCとタッ
チデータTOUCHとをトーンジェネレータ73に供給して楽
音の発生を指示する(ステップP806)。その後、中央処
理装置65は現在発音中の楽音の有無をキーコードデータ
OKCから判断する(ステップ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),
The central processing unit 65 determines that the control of the tone by the legato playing method (see FIG. 8) is desired, and the central processing unit 65 converts the key code KC corresponding to the fret position and the touch data TOUCH into a tone generator regardless of the presence or absence of the tone being played. This is supplied to 73 to instruct generation of a musical tone (step P806). After that, the central processing unit 65 determines whether or not there is a tone currently being produced by the key code data.
The judgment is made from OKC (step P807). As a result, if there is a tone being generated, the key code data OKC is "0", so the determination result in step P807 is no (N), and the central processing unit 65 stops the generation of the tone represented by the key code data OKC. Instruct (Step P808). If the decision result in the step P807 is YES (Y), or after the completion of the execution of the step P808, the central processing unit 65 stores the key code data KC relating to the musical tone currently sounding the fret position corresponding key code data KC.
Is stored in the register group 69 (step P809). As described above, when a musical tone based on legato performance occurs,
A musical tone having an envelope as shown in FIG. 8D can be generated by preceding the instruction to generate a musical tone for the key code data KC corresponding to the fret position.
上記ソフトウエアで実現された機能はハードウエアで
構成することもでき、弦数は6弦に限らない。また、上
記実施例ではミュートしきい値データMUTEとエコーしき
い値データTHLVLとを受信レベルデータECHLVLから一義
的に決定したが、演奏者が演奏開始前または演奏中に設
定可能にしてもよい。さらに、ベンドセンサ初期設定サ
ブルーチン、エコーレベル初期設定サブルーチンおよび
フレット位置算出サブルーチンにおけるデータの読み込
み回数は「16」回に限らず、任意の回数に設定できる。
また、タッチデータTOUCHはピックアップ最大値データP
EAKを変換した値に設定してもよく、左側限界値および
右側限界値はネック部の幅が大きく変わらなければ、フ
レット毎に設定する必要はない。フレットに対応するキ
ーコードは実施例に限らず演奏者が各弦独立に対応づけ
られるようにしてもよい。The functions realized by the software can be configured by hardware, and the number of strings is not limited to six. Further, in the above embodiment, the mute threshold data MUTE and the echo threshold data THLVL are uniquely determined from the reception level data ECHLVL, but may be set by the player before the start of the performance or during the performance. Further, 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”, but can be set to an arbitrary number.
The touch data TOUCH is the pickup maximum value data P
The EAK may be set to a converted value, and the left limit value and the right limit value do not need to 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 the embodiment, and the player may associate each key 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. When the tone generator 73 is controlled by MIDI, for example, the following initial settings are required. In other words, receive MONO mode, channel independent control including pitch bend, however,
Since these settings are very troublesome, it is preferable to automatically set them by software when the power is turned on. Further, the generation of the ultrasonic wave and the reception of the echo may be shared by separate piezoelectric elements. Further, not only a musical instrument such as a guitar that detects a plucked string, but also a musical instrument such as a violin using a bowed string may be used.
第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……弦、FIG. 1 is a diagram corresponding to claims of the present invention, FIG. 2 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. 3 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 diagrams showing the relationship between the bend amount and the bend data, FIG. 8 is a waveform diagram showing an envelope during legato playing, 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 initialization subroutine. , FIG. 13 is a flowchart of an echo level initialization subroutine, FIG. 14 is a flowchart of a fret position calculation subroutine, FIG. 15 is a layout diagram of the fret, FIG. 16 is a flowchart of a fret determination subroutine, FIG. FIG. 18 is a flowchart of a bend playing 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, FIG. FIG. 22 is a flowchart of a mute determination subroutine, FIG. 22 is a flowchart of a key-on subroutine, FIG. 23 is a flowchart of a key-off subroutine, and FIG. 24 is a flowchart of a key-change subroutine. 1 ... instrument body, 2 ... strings,
Claims (2)
タ発生手段と、 それぞれが音高に対応する操作位置を表す対応データを
あらかじめ複数記憶する記憶手段と、 操作データを複数の対応データと比較することにより、
上記弦の押圧位置が上記対応データが表す複数の操作位
置のいずれかであるかを決定する決定手段と、 上記操作データ発生手段により複数の操作データを発生
させ、発生したそれぞれの操作データに基づいて上記決
定手段によって決定された複数の操作位置が同一である
かを判定する判定手段と、 上記判定手段によって複数回同一と判断されたとき、こ
の操作位置に対応する音高データを発生する音高データ
発生手段と、 を備えることを特徴とする電子弦楽器。A string stretched over a main body of a musical instrument, operation data generating means for generating operation data corresponding to a pressed position of the string, and a plurality of correspondence data each representing an operation position corresponding to a pitch. By comparing the operation data with a plurality of corresponding data,
Determining means for determining whether the pressed position of the string is any of the plurality of operation positions represented by the corresponding data; and generating a plurality of operation data by the operation data generating means, based on each of the generated operation data. Determining means for determining whether or not the plurality of operation positions determined by the determining means are the same; and a sound generating pitch data corresponding to the operating position when the determining means determines that the plurality of operation positions are the same a plurality of times. An electronic stringed musical instrument comprising: high data generating means;
する操作データ発生ステップと、 上記操作データ発生ステップで発生された操作データ
を、それぞれが異なる音高に対する弦の操作位置を表す
複数の対応データとそれぞれ比較することにより、上記
弦の押圧位置が上記対応データが示す複数の操作位置の
いずれかであるかを決定する決定ステップと、 上記弦の押圧位置において、上記操作データ発生ステッ
プと上記決定ステップとを複数回繰り返すステップと、 上記繰り返しの結果、上記決定ステップによって決定さ
れた複数の操作位置が同一であるかを判定する判定ステ
ップと、 上記判定ステップによってこれらの操作位置が複数回同
一と判断されたとき、この操作位置に対応する音高デー
タを発生する音高データ発生ステップと、 を備えることを特徴とする電子弦楽器の音高データ発生
方法。2. An operation data generating step of generating operation data corresponding to a pressed position of a string, and a plurality of operation data generated in the operation data generating step, each of which represents a plurality of operation positions of the string for different pitches. A determination step of determining whether the pressed position of the string is any of the plurality of operation positions indicated by the corresponding data by comparing the corresponding data with the corresponding data; and, at the pressed position of the string, the operation data generating step. Repeating the determining step a plurality of times; determining, as a result of the repetition, whether the plurality of operation positions determined by the determining step are the same; and determining that the operating positions are multiple times by the determining step. A pitch data generating step of generating pitch data corresponding to the operation position when it is determined that they are the same; A method for generating pitch data of an electronic stringed instrument, comprising:
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63007274A JP2699367B2 (en) | 1988-01-14 | 1988-01-14 | Electronic stringed musical instrument and method of generating pitch data of electronic stringed musical 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 |
---|---|---|---|
JP63007274A JP2699367B2 (en) | 1988-01-14 | 1988-01-14 | Electronic stringed musical instrument and method of generating pitch data of electronic stringed musical instrument |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01183693A JPH01183693A (en) | 1989-07-21 |
JP2699367B2 true JP2699367B2 (en) | 1998-01-19 |
Family
ID=11661448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63007274A Expired - Fee Related JP2699367B2 (en) | 1988-01-14 | 1988-01-14 | Electronic stringed musical instrument and method of generating pitch data of electronic stringed musical instrument |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2699367B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS628793A (en) * | 1985-07-03 | 1987-01-16 | シャープ株式会社 | Drive apparatus of dehydration washing machine |
JPS6247698A (en) * | 1985-08-27 | 1987-03-02 | ローランド株式会社 | String press position detector |
JPS6299790A (en) * | 1985-10-26 | 1987-05-09 | ヤマハ株式会社 | Electronic stringed instrument |
-
1988
- 1988-01-14 JP JP63007274A patent/JP2699367B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS628793A (en) * | 1985-07-03 | 1987-01-16 | シャープ株式会社 | Drive apparatus of dehydration washing machine |
JPS6247698A (en) * | 1985-08-27 | 1987-03-02 | ローランド株式会社 | String press position detector |
JPS6299790A (en) * | 1985-10-26 | 1987-05-09 | ヤマハ株式会社 | Electronic stringed instrument |
Also Published As
Publication number | Publication date |
---|---|
JPH01183693A (en) | 1989-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7112738B2 (en) | Electronic musical instrument | |
US4991488A (en) | Acoustic detection of note bending in stringed M.I.D.I. compatible musical instruments | |
JP2699367B2 (en) | Electronic stringed musical instrument and method of generating pitch data of electronic stringed musical instrument | |
JP3653854B2 (en) | Stringed electronic musical instrument | |
JP2643213B2 (en) | Electronic string instrument | |
US4951546A (en) | Electronic stringed musical instrument | |
JPH0769686B2 (en) | Electronic stringed instrument | |
JPH0769684B2 (en) | Electronic stringed instrument | |
JPH0682273B2 (en) | Electronic stringed instrument | |
JPH0769685B2 (en) | Electronic stringed instrument | |
JPH01183694A (en) | Electronic stringed instrument | |
JP2006065186A (en) | Device and method for tempo information output, computer program for tempo information output, device and method for touch information output, and computer program for touch information output | |
JPH06186973A (en) | Pitch detecting device | |
JPH0721717B2 (en) | Electronic musical instrument | |
JP2836028B2 (en) | Automatic performance device | |
JPH10254437A (en) | Electronic musical instrument | |
JP2579229Y2 (en) | Electronic string instrument | |
JP2526032Y2 (en) | Electronic musical instrument | |
JP3590189B2 (en) | Electronic stringed instruments | |
JP2570550B2 (en) | Electronic string instrument | |
JP3279122B2 (en) | Tempo control device | |
JPH0786751B2 (en) | Electronic stringed instrument | |
JP3344872B2 (en) | Automatic performance device | |
JPH07152372A (en) | Playing device | |
JP2000105589A (en) | Trigger detecting device and method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |