JP2016080769A - Electronic musical instrument, musical sound parameter control method and program for electronic musical instrument - Google Patents

Electronic musical instrument, musical sound parameter control method and program for electronic musical instrument Download PDF

Info

Publication number
JP2016080769A
JP2016080769A JP2014209391A JP2014209391A JP2016080769A JP 2016080769 A JP2016080769 A JP 2016080769A JP 2014209391 A JP2014209391 A JP 2014209391A JP 2014209391 A JP2014209391 A JP 2014209391A JP 2016080769 A JP2016080769 A JP 2016080769A
Authority
JP
Japan
Prior art keywords
performance operation
cpu
musical instrument
value
sound
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014209391A
Other languages
Japanese (ja)
Other versions
JP2016080769A5 (en
JP6492516B2 (en
Inventor
章雄 伊庭
Akio Iba
章雄 伊庭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2014209391A priority Critical patent/JP6492516B2/en
Publication of JP2016080769A publication Critical patent/JP2016080769A/en
Publication of JP2016080769A5 publication Critical patent/JP2016080769A5/ja
Application granted granted Critical
Publication of JP6492516B2 publication Critical patent/JP6492516B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To provide an electronic musical instrument capable of switching musical sound parameter such as tone with a simple configuration and simple operation.SOLUTION: When a predetermined mode is specified through a mode SW108, a CPU 106 counts peaks at which a breath input 117 in a predetermined time exceeds a predetermined value based on the output from an absolute value calculation section 105 and a zero-cross detection section 103. The CPU 106 instructs a sound source 109 to change the tone, for example, based on the pattern of the count.SELECTED DRAWING: Figure 1

Description

本発明は、電子楽器において音色等の楽音パラメータを切り替える等の制御を行う技術に関する。   The present invention relates to a technique for performing control such as switching musical tone parameters such as timbre in an electronic musical instrument.

電子楽器において、音色などの楽音パラメータの切替えは、一般に専用のファンクションスイッチを用いて行われる。   In an electronic musical instrument, tone parameters such as timbre are generally switched using a dedicated function switch.

ここで、サックス、クラリネット、オーボエ、フルートなどに対応する電子楽器である電子管楽器についても、従来は、音色などの楽音パラメータの切替えを、例えば切替えスイッチ等の専用の切替え手段により行うようにしていた(例えば特許文献1に記載の技術)。   Here, with regard to an electronic wind instrument that is an electronic musical instrument corresponding to a saxophone, a clarinet, an oboe, a flute, and the like, conventionally, switching of tone parameters such as timbre has been performed by a dedicated switching means such as a changeover switch. (For example, the technique described in Patent Document 1).

実開昭64−45896号公報Japanese Utility Model Publication No. 64-45896

しかし、電子管楽器では、演奏者は楽器自体を両手の指で支えながら演奏を行う姿勢をとるため、音色などの楽音パラメータの切替えを専用のスイッチ等で行う従来技術では、その操作を行うたびに演奏姿勢から電子管楽器を持ち帰る等の動作をしなければならず、演奏姿勢を維持することが難しいという課題があった。   However, in an electronic wind instrument, the performer takes a posture to perform while supporting the instrument itself with fingers of both hands. Therefore, in the conventional technology in which a tone parameter such as a tone is switched by a dedicated switch or the like, every time the operation is performed. There was a problem that it was difficult to maintain the playing posture because the electronic wind instrument had to be taken home from the playing posture.

そこで、本発明は、簡単な操作と構成で楽音パラメータを切替え可能とすることを目的とする。   Accordingly, an object of the present invention is to enable switching of musical tone parameters with a simple operation and configuration.

態様の一例では、演奏操作を検出するセンサと、センサによる演奏操作の検出に応答して、音源に対して発音を指示する発音指示手段と、予め定められた時間内におけるセンサにより検出された演奏操作の回数及びタイミングに基づいて、演奏操作のパターンを識別する識別手段と、識別手段により識別された演奏操作のパターンに対応して、発音すべき楽音のパラメータを制御する制御手段と、を備える。   In one example, a sensor for detecting a performance operation, a sound generation instruction means for instructing a sound source to generate sound in response to detection of the performance operation by the sensor, and a performance detected by the sensor within a predetermined time An identification means for identifying a performance operation pattern based on the number and timing of operations, and a control means for controlling a parameter of a musical tone to be generated corresponding to the performance operation pattern identified by the identification means. .

本発明によれば、簡単な操作と構成で楽音パラメータを切替えることが可能となる。   According to the present invention, it is possible to switch musical tone parameters with a simple operation and configuration.

本発明による電子管楽器を制御するシステムの実施形態を示す図である。1 is a diagram showing an embodiment of a system for controlling an electronic wind instrument according to the present invention. 本実施形態における信号波形例を示す図である。It is a figure which shows the signal waveform example in this embodiment. Peak検出処理の説明図(その1)である。It is explanatory drawing (the 1) of Peak detection processing. Peak検出動作の説明図(その2)である。It is explanatory drawing (the 2) of Peak detection operation | movement. Peakのカウントパターンの説明図(その1)である。It is explanatory drawing (the 1) of the count pattern of Peak. Peakのカウントパターンの説明図(その2)である。It is explanatory drawing (the 2) of the count pattern of Peak. Peakのカウントパターンの説明図(その3)である。It is explanatory drawing (the 3) of the count pattern of Peak. Peakのカウントパターンの説明図(その4)である。It is explanatory drawing (the 4) of the count pattern of Peak. Peakのカウントパターンの説明図(その5)である。It is explanatory drawing (the 5) of the count pattern of Peak. 所定時間範囲tと、音符と、テンポと、サンプリングタイミングとの関係を示す説明図である。It is explanatory drawing which shows the relationship between the predetermined time range t, a note, a tempo, and a sampling timing. Peakのカウントパターンの説明図(その6)である。It is explanatory drawing (the 6) of the count pattern of Peak. Peakのカウントパターンの説明図(その7)である。It is explanatory drawing (the 7) of the count pattern of Peak. システムの動作とガイド音との関係を示す説明図である。It is explanatory drawing which shows the relationship between the operation | movement of a system, and a guide sound. 音色変更処理のためのレジスタ群(その1)を示す図である。It is a figure which shows the register group (the 1) for a timbre change process. カウントパターン一致検証用テーブルを示す図である。It is a figure which shows the count pattern matching verification table. 音色変更処理のためのレジスタ群(その2)を示す図である。It is a figure which shows the register group (the 2) for a timbre change process. 電子管楽器システムのメイン処理の例を示すフローチャートである。It is a flowchart which shows the example of the main process of an electronic wind instrument system. 50μsごと割込処理の例を示すフローチャート(その1)である。It is a flowchart (the 1) which shows the example of an interruption process every 50 microseconds. 50μsごと割込処理の例を示すフローチャート(その2)である。It is a flowchart (the 2) which shows the example of an interruption process every 50 microseconds.

以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。図1は、本発明による電子管楽器を制御するシステムの実施形態を示す図である。   Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the drawings. FIG. 1 is a diagram showing an embodiment of a system for controlling an electronic wind instrument according to the present invention.

本実施形態のシステムは、ローパスフィルタ(図中「LPF」)101と、アンプ(図中「Amp」)102、104、ゼロクロス検出部103、絶対値算出部105、CPU(セントラルプロセッシングユニット)106、キーマトリクス107、モードスイッチ(図中「モードSW」)108、音源109、D/A(デジタル/アナログ)変換器110、アンプ111、およびスピーカ(図中「SP」)112を備える。また、CPU106は、符号・割込回路113、A/D(アナログ/デジタル)変換器114、タイマ115、メモリ116、及びブレスセンサ117を備える。   The system of the present embodiment includes a low-pass filter (“LPF” in the figure) 101, amplifiers (“Amp” in the figure) 102 and 104, a zero-cross detection unit 103, an absolute value calculation unit 105, a CPU (Central Processing Unit) 106, A key matrix 107, a mode switch (“mode SW” in the figure) 108, a sound source 109, a D / A (digital / analog) converter 110, an amplifier 111, and a speaker (“SP” in the figure) 112 are provided. The CPU 106 also includes a code / interrupt circuit 113, an A / D (analog / digital) converter 114, a timer 115, a memory 116, and a breath sensor 117.

連続的に変化する演奏者のブレス(呼気)の状態は、ブレスセンサ117により検出され、このブレスセンサ117が出力する信号はLPF101に入力する。LPF101は、この信号の倍音成分をカットする。LPF101の出力は、Amp102によって増幅される。図2は、本実施形態における信号波形例を示す図である。図2(a)はブレスセンサ117の出力(図1のA点)の信号波形の例を示す図、図2(b)はAmp102の出力(図1のB点)の信号波形の例を示す図である。図2(a)および(b)を比較してわかるように、ピーク検出をし易いように、ブレスセンサ117の出力中の倍音成分がカットされ、滑らかな波形に変換されている。   The continuously changing breath state of the performer is detected by the breath sensor 117, and a signal output from the breath sensor 117 is input to the LPF 101. The LPF 101 cuts overtone components of this signal. The output of the LPF 101 is amplified by the Amp 102. FIG. 2 is a diagram showing an example of signal waveforms in the present embodiment. 2A shows an example of a signal waveform of the output of the breath sensor 117 (point A in FIG. 1), and FIG. 2B shows an example of a signal waveform of the output of the Amp 102 (point B in FIG. 1). FIG. As can be seen by comparing FIGS. 2A and 2B, the harmonic component in the output of the breath sensor 117 is cut and converted into a smooth waveform so that the peak can be easily detected.

ゼロクロス検出部103は、Amp102の出力信号(B点、図2(b))から、その振幅値が値0を交差するタイミングを検出する。この検出出力は、そのまま(C点)あるいはAmp104にて増幅された後(E点)に、CPU106内の符号・割込回路113に入力する。符号・割込回路113は、入力したアナログ信号波形に基づいて2値のデジタル信号を生成する。図2(c)は、上記C点またはE点の信号波形が符号・割込回路113によって2値のデジタル信号波形に変換された例を示す図である。このデジタル信号波形は、ゼロクロス検出部103にてゼロクロスが検出された結果、LPF101(Amp102)の出力信号の振幅値が正の値となる区間で論理値1、負の値となる区間で論理値0を有する2値のデジタル信号となっている。   The zero-cross detector 103 detects the timing at which the amplitude value crosses the value 0 from the output signal of the Amp 102 (point B, FIG. 2B). This detection output is input to the code / interrupt circuit 113 in the CPU 106 as it is (C point) or after being amplified by the Amp 104 (E point). The sign / interrupt circuit 113 generates a binary digital signal based on the input analog signal waveform. FIG. 2C is a diagram showing an example in which the signal waveform at the point C or point E is converted into a binary digital signal waveform by the sign / interrupt circuit 113. This digital signal waveform has a logical value 1 in a section where the amplitude value of the output signal of the LPF 101 (Amp 102) is a positive value and a logical value in a section where the negative value is a result as a result of detecting a zero cross by the zero cross detection unit 103. It is a binary digital signal having zero.

絶対値算出部105は、Amp102の出力信号(B点、図2(b))の絶対値を算出する。この算出出力(D点)は、CPU106内のA/D変換器114に入力する。A/D変換器114は、CPU106内のタイマ115を仕様して例えば50μ秒(μs)ごとに割込みをかけ、入力したアナログ信号波形をデジタル信号波形にA/D変換する。図2(d)は、上記D点の信号波形の例を示す図である。この信号波形は、LPF101(Amp102)の出力信号の振幅値が負の値となる区間が正側に折り返された波形を有する。   The absolute value calculation unit 105 calculates the absolute value of the output signal (point B, FIG. 2B) of the Amp 102. This calculated output (D point) is input to the A / D converter 114 in the CPU 106. The A / D converter 114 specifies the timer 115 in the CPU 106, interrupts it every 50 μs (μs), for example, and A / D converts the input analog signal waveform into a digital signal waveform. FIG. 2D shows an example of the signal waveform at the point D. This signal waveform has a waveform in which a section in which the amplitude value of the output signal of the LPF 101 (Amp102) is a negative value is folded back to the positive side.

タイマ115は、上述のA/D変換器114のサンプリングを制御するほか、後述する各種所定の時間をカウントするなどの役割を有する。   The timer 115 controls the sampling of the A / D converter 114 described above and has a role of counting various predetermined times described later.

メモリ116は、各種制御データを記憶する。   The memory 116 stores various control data.

CPU106には、電子管楽器の演奏操作キーを読み取るためのキーマトリクス107と、音色変更のモードをオン(on)、オフ(off)指定するためのモードSW108が接続される。また、CPU106には、MIDI(Musical Instrument Digital Interface)信号によって制御される音源109が外付けされる。音源109は、CPU106からのノートオン/ノートオフおよび音色指定に基づく楽音の発音指示に応答して、対応する楽音信号を生成し、D/A変換器110に出力する。D/A変換器110は、音源109が出力したデジタル楽音信号をアナログ楽音信号に変換する。このアナログ楽音信号は、アンプ111で増幅された後、スピーカ112から放音される。   The CPU 106 is connected to a key matrix 107 for reading the performance operation keys of the electronic wind instrument and a mode SW 108 for designating the tone color change mode on (on) and off (off). In addition, a sound source 109 controlled by a MIDI (Musical Instrument Digital Interface) signal is externally attached to the CPU 106. The sound source 109 generates a corresponding musical tone signal in response to a tone generation instruction based on note-on / note-off and tone color designation from the CPU 106, and outputs it to the D / A converter 110. The D / A converter 110 converts the digital musical tone signal output from the sound source 109 into an analog musical tone signal. The analog musical sound signal is amplified by the amplifier 111 and then emitted from the speaker 112.

本実施形態では、CPU106が、絶対値算出部105からA/D変換器114を介して入力したデジタル信号波形から、演奏者のブレス入力タイミングを抽出する。そのためにCPU106はまず、上記デジタル信号波形から所定のスレッショルド(閾値)以上の値を有するピーク(以下「Peak」と記載する)を検出する。   In the present embodiment, the CPU 106 extracts the player's breath input timing from the digital signal waveform input from the absolute value calculator 105 via the A / D converter 114. For this purpose, the CPU 106 first detects a peak (hereinafter referred to as “Peak”) having a value equal to or greater than a predetermined threshold (threshold) from the digital signal waveform.

図3は、Peak検出処理の説明図(その1)である。本実施形態では、処理の簡略化のために、図3に例示される上記デジタル信号波形の正側波形のみが処理され、負側波形は無視される。そのために、CPU106は、図1のA/D変換器114から入力するデジタル信号波形(図2(d)参照)のうち、図1の符号・割込回路113から出力されるゼロクロス2値信号(図2(c))の値が1となる区間の信号のみを処理し、その他の区間の信号値は全てゼロとして処理する。なお、負側波形のみ、あるいは両方の波形が処理されてもよい。   FIG. 3 is an explanatory diagram (part 1) of the peak detection process. In the present embodiment, for simplification of processing, only the positive waveform of the digital signal waveform illustrated in FIG. 3 is processed, and the negative waveform is ignored. For this purpose, the CPU 106 is a digital signal waveform (see FIG. 2D) inputted from the A / D converter 114 in FIG. Only the signal in the section where the value in FIG. 2C is 1 is processed, and the signal values in the other sections are all processed as zero. Note that only the negative waveform or both waveforms may be processed.

このようなデジタル信号波形からのPeak検出として、図3の破線で示される予測カーブ302が用いられる。そして、サンプリング周波数50μsのタイマ115による割込みタイミング(サンプリングタイミング)n(nは0以上の整数)ごとに、A/D変換器114が出力する現在の波高値anと、そのサンプリングタイミングnにおける上記予測カーブ302上の予測値bnとが比較される。そして、下記のアルゴリズムによる処理が実行される。   As such Peak detection from the digital signal waveform, a prediction curve 302 indicated by a broken line in FIG. 3 is used. Then, for each interrupt timing (sampling timing) n (n is an integer of 0 or more) by the timer 115 having a sampling frequency of 50 μs, the current peak value an output from the A / D converter 114 and the prediction at the sampling timing n The predicted value bn on the curve 302 is compared. And the process by the following algorithm is performed.

まず、ケース1として、サンプリングタイミングnにおいて、現在の波高値an≧予測値bnとなると、メモリ116に保持されるPeak検出_flagがon(オン)にされ、予測カーブ302の開始点が現在の波高値anに更新されて、次のサンプリングタイミングn+1における予測値bn+1が計算される。これは、負側の波形の波高値から値ゼロを過ぎて正側の波形になりその波高値が増加してゆく場合である。例えば、図3の波高値a1と予測値b1、a2とb2、a3とb3、a4とb4の各場合のときである。このとき、下記(1)式の予測カーブ302が使用されて、次のサンプリングタイミングのための予測値bnが算出される。   First, as the case 1, at the sampling timing n, when the current peak value an ≧ predicted value bn, the Peak detection_flag held in the memory 116 is turned on, and the start point of the prediction curve 302 is the current wave. The predicted value bn + 1 at the next sampling timing n + 1 is calculated by updating to the high value an. This is a case where the peak value of the negative waveform passes the zero value and becomes a positive waveform, and the peak value increases. For example, this is the case of the peak value a1 and predicted value b1, a2 and b2, a3 and b3, and a4 and b4 in FIG. At this time, the prediction value 302 for the next sampling timing is calculated using the prediction curve 302 of the following equation (1).

bn=an×(1−1/256)−1 (1)     bn = an × (1-1 / 256) −1 (1)

図3の例では例えば、次のようにb2〜b5が算出される。
b2=a1×(1−1/256)−1
b3=a2×(1−1/256)−1
b4=a3×(1−1/256)−1
b5=a4×(1−1/256)−1
In the example of FIG. 3, for example, b2 to b5 are calculated as follows.
b2 = a1 × (1-1 / 256) −1
b3 = a2 × (1-1 / 256) −1
b4 = a3 × (1-1 / 256) −1
b5 = a4 × (1-1 / 256) −1

一方、ケース2として、サンプリングタイミングnにおいて、Peak検出_flagがonの状態で、現在の波高値an<予測値bnとなったときであって、さらに現在の波高値anの1サンプル(50μs)前の波高値an−1が所定のスレッショルドS以上となると、その波高値an−1がPeakとして認識される。例えば、図3の波高値a5と予測値b5の場合であり、このときに波高値a4がPeakとして認識される。   On the other hand, as the case 2, at the sampling timing n, when the Peak detection_flag is on, the current peak value an <the predicted value bn, and one sample (50 μs) before the current peak value an When the peak value an-1 of the current value is equal to or greater than the predetermined threshold S, the peak value an-1 is recognized as Peak. For example, in the case of the peak value a5 and the predicted value b5 in FIG. 3, the peak value a4 is recognized as Peak.

図4は、ケース2におけるPeak検出処理の説明図(その2)である。Peak検出_flagがonの状態で、現在の波高値an<予測値bnとなったときの波高値an−1=α1、α1′、α2′、α2、α2′′、α3′、α3、α3′′、α4′、およびα4等のうち、スレッショルドSを越えるα1、α2、α3、およびα4等がPeakとして検出され、スレッショルドS以下のα1′、α2′、α2′′、α3′、α3′′、およびα4′等は、Peakとしては検出されない。CPU106は、このようにして検出されたPeak値(図3の例ではa4)を、メモリ116に記憶する。以下の説明では便宜上、図4のようにして認識された各Peak値を、α1、α2、α3、・・・と記載する。   FIG. 4 is an explanatory diagram (part 2) of the peak detection process in case 2. Peak value an-1 = α1, α1 ′, α2 ′, α2, α2 ″, α3 ′, α3, α3 ′ when Peak detection_flag is on and current peak value an <predicted value bn ′, Α4 ′, α4, etc., α1, α2, α3, α4, etc. exceeding the threshold S are detected as Peaks, and α1 ′, α2 ′, α2 ″, α3 ′, α3 ′ below the threshold S are detected. , And α4 ′ are not detected as Peak. The CPU 106 stores the peak value detected in this way (a4 in the example of FIG. 3) in the memory 116. In the following description, each Peak value recognized as shown in FIG. 4 is described as α1, α2, α3,.

ケース2において、上記処理の後、メモリ116上のPeak検出_flagがoff(オフ)にされる。そして、予測カーブ302の開始点が現在のサンプリングタイミングnでの予測値bnとされて、下記(2)式の予測カーブ302が使用されて、次のサンプリングタイミングのための予測値bnが算出される。   In Case 2, after the above processing, the Peak detection_flag on the memory 116 is turned off. Then, the start point of the prediction curve 302 is set as the prediction value bn at the current sampling timing n, and the prediction curve 302 of the following equation (2) is used to calculate the prediction value bn for the next sampling timing. The

bn=bn×(1−1/256)−1 (2)     bn = bn × (1-1 / 256) −1 (2)

図3の例では例えば、次のようにb6(図示せず)が算出される。
b6=b5×(1−1/256)−1
In the example of FIG. 3, for example, b6 (not shown) is calculated as follows.
b6 = b5 × (1-1 / 256) −1

ケース3として、サンプリングタイミングnにおいて、Peak検出_flagがoffの状態で、現在の波高値an<予測値bnのときには、予測カーブ302の開始点は変更されずに(図3の場合b5)、前述の(2)式に従って予測値bnのみが更新されてゆく。これは、正側の波形の波高値がPeakを過ぎて減少してゆく場合である。   As Case 3, when the Peak detection_flag is off at the sampling timing n and the current peak value an <prediction value bn, the start point of the prediction curve 302 is not changed (b5 in FIG. 3). Only the predicted value bn is updated according to the equation (2). This is a case where the peak value of the positive waveform decreases past Peak.

その後、波形のサンプリングが進んで、負側の波形の波高値から値ゼロを過ぎて再び正側の波形になりその波高値が増加を始めると、図3のa1とb1の関係ように、再びケース1の状態になる。   Thereafter, the sampling of the waveform proceeds, and when the value of zero of the waveform on the negative side passes through the value zero and becomes a waveform on the positive side again, the peak value starts increasing again, as shown by the relationship between a1 and b1 in FIG. Case 1 is entered.

図5から図9は、図1のモードSW108がonにされた後のブレスセンサ117の出力に基づいてCPU106が上述のPeak検出処理によって検出するPeakのカウントパターンの説明図である。これらの図において、Peak検出処理によって検出されたPeakは、α1〜α7などとして示されている。説明上、所定時間範囲tを8分割し、わかり易さのためにt/4を4分音符
t/8を8分音符♪で表記している。図10は、所定時間範囲tと、音符と、テンポと、A/D変換器114におけるサンプリングのタイミングとの関係を示す説明図である。CPU106では、タイマ115により、50μsごとに割込みがかかり、この割込みに基づいてA/D変換器114でサンプリングが行われる。これを基準として、音符を決定するテンポ(図中Tempo)の分解能は、例えば1ミリ秒(ms)とされる。ここで、所定時間範囲tは、例えば1小節の時間範囲であり、例えば2秒であり、図10中の大きな「×」印が小節の区切りを示す。また、小さな「×」印は、拍(四拍子の場合)の区切りを示す。この場合、4分音符の音符長は0.5秒となる(8分音符では0.25秒である)。ここで、CPU106は、メモリ116に記憶されているPeakの各検出タイミングを、小さな「×」印で示される拍の区切りとして認識する。言い換えれば、演奏者は、拍を意識してブレス入力を行うことになる。このとき、Peakの検出タイミング±10msの範囲(図10の1001参照)で、拍を認識してどの音符がブレス入力されたかを判定する。
5 to 9 are explanatory diagrams of Peak count patterns detected by the CPU 106 by the above-described Peak detection processing based on the output of the breath sensor 117 after the mode SW 108 of FIG. 1 is turned on. In these figures, Peaks detected by Peak detection processing are indicated as α1 to α7 and the like. For the sake of explanation, the predetermined time range t is divided into eight, and t / 4 is a quarter note for ease of understanding.
t / 8 is expressed as an eighth note ♪. FIG. 10 is an explanatory diagram showing the relationship among the predetermined time range t, notes, tempo, and sampling timing in the A / D converter 114. In the CPU 106, an interrupt is generated every 50 μs by the timer 115, and sampling is performed by the A / D converter 114 based on this interrupt. With this as a reference, the resolution of the tempo (Tempo in the figure) for determining a note is, for example, 1 millisecond (ms). Here, the predetermined time range t is, for example, a time range of one measure, for example, 2 seconds, and a large “x” mark in FIG. 10 indicates a break of the measure. Moreover, a small “x” mark indicates a break of a beat (in the case of quadruple time). In this case, the note length of a quarter note is 0.5 seconds (in the case of an eighth note, it is 0.25 seconds). Here, the CPU 106 recognizes each Peak detection timing stored in the memory 116 as a beat break indicated by a small “x” mark. In other words, the performer makes a breath input in consideration of the beat. At this time, within the range of Peak detection timing ± 10 ms (see 1001 in FIG. 10), it is determined which note has been breathed by recognizing the beat.

CPU106は、以上の動作に基づいて、所定時間範囲tにおけるPeakのカウントパターンを判定する。そして、カウントパターンに応じて、演奏者が値0〜9のうちのどれを指定したかを判定する。   The CPU 106 determines the Peak count pattern in the predetermined time range t based on the above operation. Then, according to the count pattern, it is determined which one of the values 0 to 9 is designated by the performer.

CPU106は、図5(a)に示されるように、カウントパターンが、4個の連続する4分音符であると判定した場合には、値0が指定されたと判定する。   As shown in FIG. 5A, the CPU 106 determines that the value 0 is designated when it is determined that the count pattern is four consecutive quarter notes.

CPU106は、図5(b)に示されるように、カウントパターンが、連続する3個の4分音符とそれに続く2個の連続する8分音符であると判定した場合には、値1が指定されたと判定する。   When the CPU 106 determines that the count pattern is three consecutive quarter notes followed by two consecutive eighth notes as shown in FIG. 5B, the value 1 is designated. It is determined that

CPU106は、図6(c)に示されるように、カウントパターンが、連続する2個の4分音符とそれに続く2個の連続する8分音符とさらにそれに続く1個の4分音符であると判定した場合には、値2が指定されたと判定する。   As shown in FIG. 6C, the CPU 106 determines that the count pattern is two consecutive quarter notes, followed by two consecutive eighth notes, and then one quarter note. If it is determined, it is determined that the value 2 is designated.

CPU106は、図6(d)に示されるように、カウントパターンが、連続する2個の4分音符とそれに続く4個の連続する8分音符であると判定した場合には、値3が指定されたと判定する。   When the CPU 106 determines that the count pattern is two consecutive quarter notes followed by four consecutive eighth notes as shown in FIG. 6D, the value 3 is designated. It is determined that

CPU106は、図7(e)に示されるように、カウントパターンが、1個の4分音符とそれに続く2個の連続する8分音符とさらにそれに続く2個の連続する4分音符であると判定した場合には、値4が指定されたと判定する。   As shown in FIG. 7E, the CPU 106 determines that the count pattern is one quarter note, followed by two consecutive eighth notes, and then two consecutive quarter notes. If it is determined, it is determined that the value 4 is designated.

CPU106は、図7(f)に示されるように、カウントパターンが、1個の4分音符とそれに続く2個の連続する8分音符とさらにそれに続く1個の4分音符とさらにそれに続く2個の連続する8分音符であると判定した場合には、値5が指定されたと判定する。   As shown in FIG. 7 (f), the CPU 106 determines that the count pattern is one quarter note, followed by two consecutive eighth notes, followed by one quarter note, followed by two. If it is determined that there are eight consecutive eighth notes, it is determined that the value 5 is designated.

CPU106は、図8(g)に示されるように、カウントパターンが、1個の4分音符とそれに続く4個の連続する8分音符とさらにそれに続く1個の4分音符であると判定した場合には、値6が指定されたと判定する。   As shown in FIG. 8G, the CPU 106 determines that the count pattern is one quarter note, followed by four consecutive eighth notes, and then one quarter note. In the case, it is determined that the value 6 is designated.

CPU106は、図8(h)に示されるように、カウントパターンが、1個の4分音符とそれに続く6個の連続する8分音符であると判定した場合には、値7が指定されたと判定する。   When the CPU 106 determines that the count pattern is one quarter note followed by six consecutive eighth notes, as shown in FIG. 8 (h), the value 7 is designated. judge.

CPU106は、図9(i)に示されるように、カウントパターンが、連続する2個の8分音符とそれに続く3個の連続する8分音符であると判定した場合には、値8が指定されたと判定する。   If the CPU 106 determines that the count pattern is two consecutive eighth notes followed by three consecutive eighth notes, as shown in FIG. 9 (i), the value 8 is designated. It is determined that

CPU106は、図9(j)に示されるように、カウントパターンが、連続する2個の8分音符とそれに続く2個の連続する4分音符とさらにそれに続く2個の連続する8分音符であると判定した場合には、値9が指定されたと判定する。   As shown in FIG. 9 (j), the CPU 106 determines that the count pattern is two consecutive eighth notes, two consecutive quarter notes, and two subsequent eighth notes. If it is determined that there is, it is determined that the value 9 is designated.

次に、図11および図12は、音色変更コマンドのためのPeakのカウントパターンの説明図である。CPU106は、図11の「Command A」として示されるように、ある所定時間範囲tにおけるカウントパターンが、連続する6個の8分音符とそれに続く1個の4分音符であると判定した場合には、「Command A」が指定されたと判定する。「Command A」は、それに続いて音色の上位桁を指定するためのコマンド指定である。従って、図11に示されるように、CPU106は、上記「Command A」が指定された所定時間範囲tに続く次の所定時間範囲t+1において、図5から図9で前述した値0から9のいずれかのカウントパターンを判定することにより、上位桁の値を特定する。   Next, FIG. 11 and FIG. 12 are explanatory diagrams of Peak count patterns for a timbre change command. When the CPU 106 determines that the count pattern in a predetermined time range t is six consecutive eighth notes and one quarter note following it, as shown as “Command A” in FIG. Determines that “Command A” is designated. “Command A” is a command designation for designating the upper digit of the timbre. Therefore, as shown in FIG. 11, the CPU 106 determines which of the values 0 to 9 described above with reference to FIGS. 5 to 9 in the next predetermined time range t + 1 following the predetermined time range t in which “Command A” is specified. By determining the count pattern, the value of the upper digit is specified.

CPU106は、図12の「Command B」として示されるように、ある所定時間範囲tにおけるカウントパターンが、連続する8個の8分音符であると判定した場合には、「Command B」が指定されたと判定する。「Command B」は、それに続いて音色の下位桁を指定するためのコマンド指定である。従って、図12に示されるように、CPU106は、上記「Command B」が指定された所定時間範囲tに続く次の所定時間範囲t+1において、図5から図9で前述した値0から9のいずれかのカウントパターンを判定することにより、下位桁の値を特定する。   When the CPU 106 determines that the count pattern in a predetermined time range t is eight consecutive eighth notes as shown as “Command B” in FIG. 12, “Command B” is designated. It is determined that “Command B” is a command designation for designating the lower digit of the tone color subsequently. Therefore, as shown in FIG. 12, in the next predetermined time range t + 1 following the predetermined time range t in which the “Command B” is designated, the CPU 106 selects any of the values 0 to 9 described above with reference to FIGS. By determining the count pattern, the lower digit value is specified.

CPU106は、上述のようにして、演奏者のブレス117センサの出力(図1)に基づいて「Command A」のブレスパターンの指定とそれに続く値0から9のいずれかの値の指定および「Command B」のブレスパターンの指定とそれに続く値0から9のいずれかの値の指定を判定すると、上位および下位の2桁からなる音色番号に対応する音色への変更を、図1の音源109に指示する。このようにして、演奏者は、モードSW108をonした後のブレスセンサの出力117によって、音色番号00から99までの100通りの音色変更を、電子管楽器のキーマトリクス107(図1)から両手を離すことなく行うことが可能となる。   As described above, the CPU 106 designates the breath pattern of “Command A” based on the output of the performer's breath 117 sensor (FIG. 1), designates one of the values 0 to 9 and “Command”. When the designation of the “B” breath pattern and the subsequent designation of any of the values 0 to 9 are determined, the tone generator 109 shown in FIG. 1 is changed to the tone corresponding to the tone number consisting of the upper and lower two digits. Instruct. In this way, the performer changes 100 timbres from timbre numbers 00 to 99 by using the output 117 of the breath sensor after the mode SW 108 is turned on, and holds both hands from the key matrix 107 (FIG. 1) of the electronic wind instrument. It becomes possible to carry out without releasing.

図13は、システムの動作とガイド音との関係を示す説明図である。本実施形態では、ブレスセンサの出力117に際して、演奏者に所定の時間範囲tにおいて小節および拍の入力タイミングをわかり易くガイドするために、ガイド音が発生させられる。また、各種パターンが認識されたことを示す音も発生させられる。図13は、上述の指定方法に基づく演奏者による音色変更のためのブレスセンサの出力117(図1)に際して、図1のシステムが、どのように動作し、どのようなガイド音を鳴らしながら動作を進行させるかを説明する図である。   FIG. 13 is an explanatory diagram showing the relationship between the operation of the system and the guide sound. In the present embodiment, at the time of the output 117 of the breath sensor, a guide sound is generated in order to guide the player in an easy-to-understand manner to input measures and beats within a predetermined time range t. A sound indicating that various patterns have been recognized is also generated. FIG. 13 shows how the system of FIG. 1 operates and what kind of guide sound is played when the output 117 (FIG. 1) of the breath sensor for timbre change by the performer based on the above-described designation method. It is a figure explaining whether to advance.

まず、所定時間範囲tは、サイクリックに繰り返され、0.5秒ごとにTempo音が刻まれる。すなわち、CPU106は、大きな「×」印のタイミング、すなわち例えば2秒に1回の所定時間範囲tの区切りのタイミングでは、大きな音量によるTempo音(ガイド音)の発音を音源109(図1)に指示する。さらに、CPU106は、小さな「×」印のタイミング、すなわち例えば0.5秒に1回のタイミングでは、小さな音量によるTempo音(ガイド音)の発音を音源109に指示する。   First, the predetermined time range t is cyclically repeated, and a Tempo sound is engraved every 0.5 seconds. That is, the CPU 106 generates a sound of a tempo sound (guide sound) with a large sound volume at the sound source 109 (FIG. 1) at the timing of a large “×” mark, that is, at a timing of a predetermined time range t once every 2 seconds, for example. Instruct. Further, the CPU 106 instructs the sound source 109 to generate a tempo sound (guide sound) with a small volume at the timing of a small “x” mark, that is, once every 0.5 seconds, for example.

次に、CPU106は、図11または図12に従うブレスパターンを認識すると、認識したことを示すために、下記の発音を音源109に指示する。
図13中の●印:「Command A」を認識した音。
図13中の○印:「Command B」を認識した音。
図13中の■印:「Command A」に続く音色変更上位桁の値0〜9を認識した音。
図13中の□印:「Command B」に続く音色変更下位桁の値0〜9を認識した音。
以上の一連の音の発音に続いて、CPU106は、上位および下位の2桁からなる音色番号に対応する音色への変更を図1の音源109に指示し、この指示に基づいて音源109が音色を変更する。
Next, when the CPU 106 recognizes the breath pattern according to FIG. 11 or FIG. 12, the CPU 106 instructs the sound source 109 to pronounce the following to indicate that it has been recognized.
In FIG. 13, a mark ●: a sound recognizing “Command A”.
A circle in FIG. 13: a sound recognizing “Command B”.
In FIG. 13, the ■ mark: a sound that recognizes the values 0 to 9 of the timbre change upper digits following “Command A”.
□ in FIG. 13: A sound that recognizes the values 0 to 9 of the timbre change lower digits following “Command B”.
Following the sound generation, the CPU 106 instructs the sound source 109 in FIG. 1 to change to the timbre corresponding to the timbre number consisting of the upper and lower two digits, and based on this instruction, the sound source 109 To change.

図14は、音色変更処理のためのレジスタ群(その1)を示す図である。これらのレジスタは、図1のメモリ116上の変数として記憶され、CPU106が後述する図17、図18、および図19のフローチャートで示される音色変更処理を実行する際に使用される。   FIG. 14 is a diagram showing a register group (part 1) for timbre change processing. These registers are stored as variables on the memory 116 in FIG. 1, and are used when the CPU 106 executes the tone color changing process shown in the flowcharts of FIGS. 17, 18, and 19 described later.

図14において、レジスタTimer_50μsは、図1のタイマ115からの割込みに基づいて、50μs単位で値0から19までのカウントを行うカウンタレジスタである。CPU106は、このレジスタの値が20になったらその値をゼロクリアし、1msごとに後述するレジスタTimer_1msの値を+1インクリメントさせる。   In FIG. 14, a register Timer_50 μs is a counter register that counts values 0 to 19 in units of 50 μs based on an interrupt from the timer 115 in FIG. When the value of this register reaches 20, the CPU 106 clears the value to zero, and increments the value of a register Timer_1ms described later by +1 every 1 ms.

図14において、レジスタTimer_1msは、1ms単位で値0から1999までのカウントを行う、Tempoを刻むカウンタレジスタである。CPU106は、このレジスタの値が2000になったらその値をゼロクリアし、250msごとに後述するレジスタTimer_250msの値を+1インクリメントさせる。   In FIG. 14, a register Timer_1ms is a counter register that counts Tempo and counts values from 0 to 1999 in units of 1ms. When the value of this register reaches 2000, the CPU 106 clears the value to zero, and increments the value of a register Timer_250ms described later by +1 every 250 ms.

図14において、レジスタTimer_250msは、250ms単位で値0から7までのカウントを行う、8分音符単位を刻むカウンタである。CPU106は、このレジスタの値が8(2000ms)になったらその値をゼロクリアする。   In FIG. 14, a register Timer_250ms is a counter that counts from the value 0 to 7 in units of 250ms and engraves eighth-note units. When the value of this register reaches 8 (2000 ms), the CPU 106 clears the value to zero.

図14において、レジスタTimer_quaver[Timer_250ms]は、レジスタTimer_250msが示すタイミングごとに、そのタイミングに対する±10msのクオンタイズ範囲を示すためのレジスタである。レジスタTimer_250msが示すタイミングにおいて、レジスタTimer_quaver[Timer_250ms]が示す範囲内にレジスタTimer_1msのカウンタ値でカウントされるPeakが存在すれば、そのレジスタTimer_250msが示すタイミングにPeakが存在することを示すフラグonが設定される。具体的には、レジスタTimer_quaver[0]〜Timer_quaver[7]は、それぞれ下記の範囲を有する。   In FIG. 14, a register Timer_quaver [Timer_250 ms] is a register for indicating a quantization range of ± 10 ms with respect to the timing indicated by the register Timer_250 ms. At the timing indicated by the register Timer_250ms, if there is a Peak counted by the counter value of the register Timer_1ms within the range indicated by the register Timer_quaver [Timer_250ms], a flag on indicating that the Peak exists at the timing indicated by the register Timer_250ms is set. Is done. Specifically, the registers Timer_quaver [0] to Timer_quaver [7] have the following ranges, respectively.

図14において、レジスタTimer_quaver[0]は、0000〜0010msもしくは1990〜2000msの範囲を出力する。レジスタTimer_250msの値が0のときにこの範囲内にPeakが存在すれば、第1番目の8分音符のタイミングにPeakがあることを示すフラグが所定時間範囲t内の第1番目の区間0に対応して設定される。   In FIG. 14, the register Timer_quaver [0] outputs a range of 0000 to 0010 ms or 1990 to 2000 ms. If Peak is present in this range when the value of the register Timer_250ms is 0, a flag indicating that Peak exists at the timing of the first eighth note is displayed in the first interval 0 in the predetermined time range t. Set accordingly.

図14において、レジスタTimer_quaver[1]は、240〜260msの範囲を出力する。レジスタTimer_250msの値が1のときにこの範囲内にPeakが存在すれば、第2番目の8分音符のタイミングにPeakがあることを示すフラグが所定時間範囲t内の第2番目の区間1に対応して設定される。   In FIG. 14, the register Timer_quaver [1] outputs a range of 240 to 260 ms. If Peak is present in this range when the value of the register Timer_250ms is 1, a flag indicating that Peak exists at the timing of the second eighth note is displayed in the second section 1 in the predetermined time range t. Set accordingly.

図14において、レジスタTimer_quaver[2]は、490〜510msの範囲を出力する。レジスタTimer_250msの値が2のときにこの範囲内にPeakが存在すれば、第3番目の8分音符のタイミングにPeakがあることを示すフラグが所定時間範囲t内の第3番目の区間2に対応して設定される。   In FIG. 14, the register Timer_quaver [2] outputs a range of 490 to 510 ms. If Peak is present in this range when the value of the register Timer_250ms is 2, a flag indicating that Peak is present at the timing of the third eighth note is displayed in the third section 2 in the predetermined time range t. Set accordingly.

図14において、レジスタTimer_quaver[3]は、740〜760msの範囲を出力する。レジスタTimer_250msの値が3のときにこの範囲内にPeakが存在すれば、第3番目の8分音符のタイミングにPeakがあることを示すフラグが所定時間範囲t内の第3番目の区間2に対応して設定される。   In FIG. 14, the register Timer_quaver [3] outputs a range of 740 to 760 ms. If Peak is present in this range when the value of the register Timer_250ms is 3, a flag indicating that Peak is present at the timing of the third eighth note is displayed in the third section 2 in the predetermined time range t. Set accordingly.

図14において、レジスタTimer_quaver[4]は、990〜1010msの範囲を出力する。レジスタTimer_250msの値が4のときにこの範囲内にPeakが存在すれば、第4番目の8分音符のタイミングにPeakがあることを示すフラグが所定時間範囲t内の第4番目の区間3に対応して設定される。   In FIG. 14, the register Timer_quaver [4] outputs a range of 990 to 1010 ms. If Peak is present in this range when the value of register Timer_250ms is 4, a flag indicating that Peak is present in the timing of the fourth eighth note is displayed in the fourth interval 3 in the predetermined time range t. Set accordingly.

図14において、レジスタTimer_quaver[5]は、1240〜1260msの範囲を出力する。レジスタTimer_250msの値が5のときにこの範囲内にPeakが存在すれば、第5番目の8分音符のタイミングにPeakがあることを示すフラグが所定時間範囲t内の第5番目の区間4に対応して設定される。   In FIG. 14, the register Timer_quaver [5] outputs a range of 1240 to 1260 ms. If Peak is present in this range when the value of the register Timer_250ms is 5, a flag indicating that Peak exists at the timing of the fifth eighth note is displayed in the fifth section 4 in the predetermined time range t. Set accordingly.

図14において、レジスタTimer_quaver[5]は、1240〜1260msの範囲を出力する。レジスタTimer_250msの値が5のときにこの範囲内にPeakが存在すれば、第5番目の8分音符のタイミングにPeakがあることを示すフラグが所定時間範囲t内の第5番目の区間4に対応して設定される。   In FIG. 14, the register Timer_quaver [5] outputs a range of 1240 to 1260 ms. If Peak is present in this range when the value of the register Timer_250ms is 5, a flag indicating that Peak exists at the timing of the fifth eighth note is displayed in the fifth section 4 in the predetermined time range t. Set accordingly.

図14において、レジスタTimer_quaver[6]は、1490〜1510msの範囲を出力する。レジスタTimer_250msの値が6のときにこの範囲内にPeakが存在すれば、第6番目の8分音符のタイミングにPeakがあることを示すフラグが所定時間範囲t内の第6番目の区間5に対応して設定される。   In FIG. 14, the register Timer_quaver [6] outputs a range of 1490 to 1510 ms. If Peak is present in this range when the value of the register Timer_250ms is 6, a flag indicating that Peak exists at the timing of the sixth eighth note is displayed in the sixth section 5 in the predetermined time range t. Set accordingly.

図14において、レジスタTimer_quaver[7]は、1740〜1760msの範囲を出力する。レジスタTimer_250msの値が7のときにこの範囲内にPeakが存在すれば、第7番目の8分音符のタイミングにPeakがあることを示すフラグが所定時間範囲t内の第7番目の区間6に対応して設定される。   In FIG. 14, the register Timer_quaver [7] outputs a range of 1740 to 1760 ms. If Peak is present in this range when the value of the register Timer_250ms is 7, a flag indicating that Peak exists at the timing of the seventh eighth note is displayed in the seventh section 6 in the predetermined time range t. Set accordingly.

次に、図14において、レジスタBress_on_off[Timer_250ms]には、レジスタTimer_250msが示す区間ごとに、上記レジスタTimer_quaver[Timer_250ms]の範囲にPeakが存在すればon、存在しなければoffの値が設定される。   Next, in FIG. 14, the register “Bresh_on_off [Timer_250 ms]” is set to “on” if Peak exists in the range of the register Timer_quaver [Timer_250 ms] for each section indicated by the register Timer_250 ms, and “off” is set otherwise. .

図15は、カウントパターン一致検証用テーブルを示す図であり、図1のメモリ116に記憶される。このテーブルは、1小節を8分音符単位で分割した区間0から7のそれぞれにPeakが存在する(on)または存在しない(off)という組合せ(カウントパターン)ごとに、どのタイプ(図中Type)の情報が指定されたかを示す。CPU106は、図14のレジスタBress_on_off[0]〜Bress_on_off[7]の8個の値を確定させると、この値の組のパターンが図15のカウントパターン一致検証用テーブルのどのTypeに該当するかを判定し、該当するTypeを出力する。CPU106は、Type0〜Type9を判定した場合には、値0〜値9を出力する。CPU106は、TypeEを判定した場合には、「Command A」を出力する。CPU106は、TypeFを判定した場合には、「Command B」を出力する。   FIG. 15 shows a count pattern match verification table, which is stored in the memory 116 of FIG. This table shows which type (Type in the figure) for each combination (count pattern) in which Peak exists (on) or does not exist (off) in each of sections 0 to 7 obtained by dividing one measure into eighth notes. Indicates whether the information is specified. When the CPU 106 finalizes eight values of the registers “Bress_on_off [0]” to “Bress_on_off [7]” in FIG. 14, the CPU 106 determines which type in the count pattern match verification table in FIG. Determine and output the corresponding Type. When the CPU 106 determines Type 0 to Type 9, the CPU 106 outputs a value 0 to a value 9. When the CPU 106 determines Type E, it outputs “Command A”. If the CPU 106 determines Type F, it outputs “Command B”.

図16は、音色変更処理のためのレジスタ群(その2)を示す図である。これらのレジスタは、図14のレジスタ群と同様に、図1のメモリ116上の変数として記憶され、CPU106が後述する図17、図18、および図19のフローチャートで示される音色変更処理を実行する際に使用される。   FIG. 16 is a diagram showing a register group (part 2) for timbre change processing. These registers are stored as variables on the memory 116 in FIG. 1, as in the register group in FIG. 14, and the CPU 106 executes the tone color changing process shown in the flowcharts of FIGS. 17, 18 and 19 described later. Used when.

レジスタSは、図4で説明した予め定められたスレッショルドSを記憶する。なお、この値は、動的に変更されてもよい。   The register S stores the predetermined threshold S described with reference to FIG. This value may be changed dynamically.

レジスタCommandは、カウントパターンの識別の結果、「Command A」が識別されたか(図11参照)、「Command B」が識別されたかを記憶する。レジスタCommand=Aならば、次に入力されるデータは音色上位桁の値であり(図11参照)、レジスタCommand=Bならば、次に入力されるデータは音色下位桁の値である(図12参照)。   The register Command stores whether “Command A” has been identified as a result of identification of the count pattern (see FIG. 11) or “Command B” has been identified. If the register Command = A, the next input data is the value of the timbre upper digit (see FIG. 11), and if the register Command = B, the next input data is the value of the timbre lower digit (see FIG. 11). 12).

レジスタanは、図3の説明で前述した、図1のA/D変換器114が出力する波高値を記憶する。レジスタbnは、図3の説明で前述した、(1)式または(2)式に基づいて算出される予測値を記憶する。   The register an stores the peak value output from the A / D converter 114 of FIG. 1 described above with reference to FIG. The register bn stores a predicted value calculated based on the expression (1) or (2) described above with reference to FIG.

レジスタPeak検出_flagは、図3の説明で前述したフラグであり、Peak検出状態のときにon、それ以外のときにoffに設定される。   The register Peak detection_flag is the flag described above with reference to FIG. 3, and is set to on when the Peak detection state is set, and set to off at other times.

レジスタ音色上位桁は、図11の説明で前述した音色番号の上位桁を記憶する。レジスタ音色上位桁は、図11の説明で前述した音色番号の下位桁を記憶する。   The register tone color upper digit stores the upper digit of the tone color number described above with reference to FIG. The register tone color upper digit stores the lower digit of the tone number described above with reference to FIG.

図17は、本実施形態による電子管楽器システムのメイン処理の例を示すフローチャートである。このメイン処理は、図1のCPU106が、内部の特には図示しないROM(リードオンリーメモリ)に記憶されたメイン処理プログラムを実行する動作であり、演奏者が特には図示しない電源ボタンをオンすることにより、その実行が開始される。   FIG. 17 is a flowchart showing an example of main processing of the electronic wind instrument system according to the present embodiment. This main process is an operation in which the CPU 106 in FIG. 1 executes a main process program stored in an internal ROM (read only memory) (not shown), and the player turns on a power button (not shown). As a result, the execution is started.

図17において、まずCPU106は、各種処理を実行する(ステップS1701)。ここでは、電子管楽器として一般的に実行される処理が実行され、例えば、キーマトリクス107から指定された演奏キーを取り込む処理、ノートオンまたはノートオフを検出して音源109に発音または消音を指示する処理等が実行される。   In FIG. 17, the CPU 106 first executes various processes (step S1701). Here, processing generally executed as an electronic wind instrument is executed. For example, processing for fetching a specified performance key from the key matrix 107, note-on or note-off is detected, and sound generation or muting is instructed to the sound source 109. Processing is executed.

次に、CPU106は、演奏者が図1のモードSW108をoffからonに切り替えたか否かを判定する(ステップS1702)。ステップS1702の判定がNOならば、CPU106は、演奏者が図1のモードSW108をonからoffに切り替えたか否かを判定する(ステップS1703)。ステップS1703の判定もNOならば、CPU106は、ステップS1701の処理に戻る。   Next, the CPU 106 determines whether or not the performer has switched the mode SW 108 of FIG. 1 from off to on (step S1702). If the determination in step S1702 is NO, the CPU 106 determines whether or not the performer has switched the mode SW 108 of FIG. 1 from on to off (step S1703). If the determination in step S1703 is also NO, the CPU 106 returns to the process in step S1701.

ステップS1702の判定がYESならば、CPU106は、ステップS1704からS1711までの一連の処理を実行する。   If the determination in step S1702 is YES, the CPU 106 executes a series of processing from step S1704 to S1711.

CPU106はまず、レジスタTimer_50μs、レジスタTimer_1ms、およびレジスタTimer_250ms(図14参照)のカウント値を、いずれも値0(ゼロ)にリセットする(ステップS1704)。   First, the CPU 106 resets all the count values of the register Timer_50 μs, the register Timer_1 ms, and the register Timer_250 ms (see FIG. 14) to the value 0 (zero) (step S1704).

次に、CPU106は、レジスタBress_on_off[0]〜Bress_on_off[7](図14参照)の各値をoffにリセットする(ステップS1705)。   Next, the CPU 106 resets each value of the registers Bless_on_off [0] to Bless_on_off [7] (see FIG. 14) to off (step S1705).

次に、CPU106は、レジスタCommand(図17参照)の値を「A」に設定する(ステップS1706)。   Next, the CPU 106 sets the value of the register Command (see FIG. 17) to “A” (step S1706).

次に、CPU106は、レジスタ音色上位桁およびレジスタ音色上位桁(図17参照)に、ともに値0を格納する(ステップS1707)。   Next, the CPU 106 stores the value 0 in both the register tone color upper digit and the register tone color upper digit (see FIG. 17) (step S1707).

次に、CPU106は、レジスタS(図17参照)に、所定のスレッショルドの値(A/D値)を設定する(ステップS1708)。   Next, the CPU 106 sets a predetermined threshold value (A / D value) in the register S (see FIG. 17) (step S1708).

次に、CPU106は、レジスタPeak検出_flag(図17参照)の値を、offに設定する(ステップS1709)。   Next, the CPU 106 sets the value of the register Peak detection_flag (see FIG. 17) to off (step S1709).

さらに、CPU106は、レジスタbn(図17参照)の値を、0に初期設定する(ステップS1710)。   Further, the CPU 106 initializes the value of the register bn (see FIG. 17) to 0 (step S1710).

最後に、CPU106は、図1のタイマ115に対して、50μsごとの割込み通知の開始を指示する(ステップS1711)。その後、CPU106は、ステップS1701の処理に戻る。   Finally, the CPU 106 instructs the timer 115 of FIG. 1 to start an interrupt notification every 50 μs (step S1711). Thereafter, the CPU 106 returns to the process of step S1701.

一方、ステップS1703の判定がYESになったならば、CPU106は、図1のタイマ115に対して、ステップS1711で開始を指示した50μsごとの割込み通知の停止を指示する(ステップS1712)。その後、CPU106は、ステップS1701の処理に戻る。   On the other hand, if the determination in step S1703 is YES, the CPU 106 instructs the timer 115 in FIG. 1 to stop interrupt notification every 50 μs instructed to start in step S1711 (step S1712). Thereafter, the CPU 106 returns to the process of step S1701.

図18は、図17のステップS1711によって開始が指示されたタイマ115による50μsごとの割込み通知によって実行される50μsごと割込処理の例を示すフローチャートである。この割込み処理は、図17のフローチャートで示されるメイン処理に対する割込みにより、図1のCPU106が、内部の特には図示しないROMに記憶された50μs割込み処理プログラムを実行する動作である。   FIG. 18 is a flowchart illustrating an example of interrupt processing for every 50 μs executed by an interrupt notification for every 50 μs by the timer 115 instructed to start in step S1711 of FIG. This interrupt process is an operation in which the CPU 106 in FIG. 1 executes a 50 μs interrupt process program stored in an internal ROM (not shown) in particular by an interrupt to the main process shown in the flowchart of FIG.

CPU106はまず、図1のA/D変換器114の出力をレジスタanに格納する(ステップS1801)。   First, the CPU 106 stores the output of the A / D converter 114 of FIG. 1 in the register an (step S1801).

次に、CPU106は、レジスタanの値がレジスタbnの値以上であるか否かを判定する(ステップS1802)。   Next, the CPU 106 determines whether or not the value of the register an is greater than or equal to the value of the register bn (step S1802).

ステップS1802の判定がYESならば、CPU106は、ステップS1803からS1807までの一連の処理を実行する。この場合は、図3の説明で前述したケース1に相当する。   If the determination in step S1802 is YES, the CPU 106 executes a series of processing from step S1803 to S1807. This case corresponds to case 1 described above with reference to FIG.

まず、CPU106は、図3の説明で前述したケース1の予測カーブ302のための(1)式に基づいて、次のサンプリングタイミングのための予測値を算出し、その算出値をレジスタbnに格納する(ステップS1803)。   First, the CPU 106 calculates a predicted value for the next sampling timing based on the equation (1) for the prediction curve 302 of case 1 described above with reference to FIG. 3, and stores the calculated value in the register bn. (Step S1803).

次に、CPU106は、ステップS1803で算出されたレジスタbnの値が0よりも小さいか否かを判定し(ステップS1804)、その判定がYESの場合には、レジスタbnに値0を格納する(ステップS1805)。これは、前述したように、本実施形態では、負側の波形は処理しないためである。   Next, the CPU 106 determines whether or not the value of the register bn calculated in step S1803 is smaller than 0 (step S1804), and if the determination is YES, stores the value 0 in the register bn ( Step S1805). This is because the negative waveform is not processed in this embodiment as described above.

その後、CPU106は、ステップS1801で設定したレジスタanの波高値が、値0でないか否かを判定し(ステップS1806)、この判定がYES(0でない)ならば、レジスタPeak検出_flagにonを設定する。ケース1の場合にPeak検出_flagがonにされることは、図3の説明で前述した。   Thereafter, the CPU 106 determines whether or not the peak value of the register an set in step S1801 is not 0 (step S1806). If this determination is YES (not 0), the register Peak detection_flag is set to on. To do. The case in which Peak detection_flag is turned on in case 1 has been described above with reference to FIG.

その後、CPU106は、後述するステップS1816の処理に移行する。   Thereafter, the CPU 106 proceeds to the process of step S1816 described later.

一方、ステップS1802の判定がNOならば、CPU106は、ステップS1808からS1815までの一連の処理を実行する。この場合は、図3の説明で前述したケース2またはケース3に相当する。   On the other hand, if the determination in step S1802 is NO, CPU 106 executes a series of processing from steps S1808 to S1815. This case corresponds to Case 2 or Case 3 described above with reference to FIG.

まず、CPU106は、レジスタPeak検出_flagにonが設定されているか否かを判定する(ステップS1808)。ステップS1808の判定が、YESならば前述したケース2に対応し、NOならば前述したケース3に対応する。   First, the CPU 106 determines whether or not on is set in the register Peak detection_flag (step S1808). If the determination in step S1808 is YES, it corresponds to case 2 described above, and if NO, it corresponds to case 3 described above.

ステップS1808の判定がYESならば、CPU106は、レジスタanの値がレジスタSに設定されているスレッショルド以上であるか否かを判定する(ステップS1809)。   If the determination in step S1808 is YES, the CPU 106 determines whether or not the value of the register an is greater than or equal to the threshold set in the register S (step S1809).

ステップS1809の判定がNOならば、CPU106は、Peak検出は行わずにステップS1812に移行する(図4参照)。   If the determination in step S1809 is NO, the CPU 106 proceeds to step S1812 without performing Peak detection (see FIG. 4).

ステップS1809の判定がYESならば、CPU106は、レジスタTimer_1msの値が、現在のレジスタTimer_250msの値に対応するレジスタTimer_quaver[Timer_250ms]が示す値範囲内にあるか否かを判定する(図14参照)(ステップS1810)。ステップS1810の判定がNOならば、CPU106は、演奏者のブレス入力117(図1)のタイミングが拍のタイミングに合わないため、Peak検出は行わずにステップS1812に移行する(図10の1001参照)。   If the determination in step S1809 is YES, the CPU 106 determines whether or not the value of the register Timer_1ms is within the value range indicated by the register Timer_quaver [Timer_250ms] corresponding to the current value of the register Timer_250ms (see FIG. 14). (Step S1810). If the determination in step S1810 is NO, the CPU 106 proceeds to step S1812 without performing Peak detection because the timing of the player's breath input 117 (FIG. 1) does not match the timing of the beat (see 1001 in FIG. 10). ).

ステップS1809の判定がYESならば、CPU106は、現在のレジスタTimer_250msの値が示す区間に対応するレジスタBress_on_off[Timer_250ms]の値をonに設定する(ステップS1811)。   If the determination in step S1809 is YES, the CPU 106 sets the value of the register Bress_on_off [Timer_250ms] corresponding to the section indicated by the current value of the register Timer_250ms to on (step S1811).

その後、CPU106は、図3の説明で前述したケース2の予測カーブ302のための(2)式に基づいて、次のサンプリングタイミングのための予測値を算出し、その算出値をレジスタbnに格納する(ステップS1812)。   Thereafter, the CPU 106 calculates a predicted value for the next sampling timing based on the equation (2) for the prediction curve 302 of case 2 described above with reference to FIG. 3, and stores the calculated value in the register bn. (Step S1812).

次に、CPU106は、ステップS1812で算出されたレジスタbnの値が0よりも小さいか否かを判定し(ステップS1813)、その判定がYESの場合には、レジスタbnに値0を格納する(ステップS1814)。これは、前述したように、本実施形態では、負側の波形は処理しないためである。   Next, the CPU 106 determines whether or not the value of the register bn calculated in step S1812 is smaller than 0 (step S1813), and if the determination is YES, stores the value 0 in the register bn ( Step S1814). This is because the negative waveform is not processed in this embodiment as described above.

その後、CPU106は、レジスタPeak検出_flagにoffを設定する。ケース2の場合にPeak検出_flagがoffにされることは、図3の説明で前述した。   Thereafter, the CPU 106 sets off the register Peak detection_flag. As described above with reference to FIG. 3, the Peak detection_flag is turned off in the case 2.

その後、CPU106は、後述するステップS1816の処理に移行する。   Thereafter, the CPU 106 proceeds to the process of step S1816 described later.

一方、ステップS1808の判定がYESならば、図3の説明で前述したケース3に相当するため、CPU106は、ステップS1809からS1811までのPeak検出のための処理をスキップし、前述したステップS1812からS1815までの、レジスタbnの更新処理とレジスタPeak検出_flagをoffにする処理のみを実行する。   On the other hand, if the determination in step S1808 is YES, this corresponds to case 3 described above with reference to FIG. 3, and thus the CPU 106 skips the processing for detecting the peak from steps S1809 to S1811 and performs the above-described steps S1812 to S1815. Only the process of updating the register bn and the process of turning off the register Peak detection_flag are executed.

ステップS1806、S1807またはステップS1815の処理の後、CPU106は、レジスタTimer_50μsの値を+1インクリメントする(ステップS1816)。   After the process of step S1806, S1807, or step S1815, the CPU 106 increments the value of the register Timer_50 μs by +1 (step S1816).

CPU106は、ステップS1816でインクリメントしたレジスタTimer_50μsの値がTempo分解能(図10参照)の1msに対応する値20以上となったか否かを判定する(ステップS1817)。   The CPU 106 determines whether or not the value of the register Timer_50 μs incremented in step S1816 is equal to or greater than 20 corresponding to 1 ms of Tempo resolution (see FIG. 10) (step S1817).

ステップS1817の判定がNOならば、CPU106は、図18のフローチャートで例示される50μsごと割込処理から図17のフローチャートで例示されるメイン処理にリターンする。   If the determination in step S1817 is NO, the CPU 106 returns from the interrupt process every 50 μs exemplified in the flowchart of FIG. 18 to the main process exemplified in the flowchart of FIG.

ステップS1817の判定がYESで所定時間範囲tでのPeak検出が終了したならば、CPU106は、図19のフローチャートで示される1msごと処理を実行する。   If the determination in step S1817 is YES and the peak detection in the predetermined time range t is completed, the CPU 106 executes the process every 1 ms shown in the flowchart of FIG.

まず、CPU106は、レジスタTimer_50μsの値を0にリセットする(ステップS1901)。   First, the CPU 106 resets the value of the register Timer_50 μs to 0 (step S1901).

次に、CPU106は、レジスタTimer_1msの値を+1インクリメントする(ステップS1902)。   Next, the CPU 106 increments the value of the register Timer_1ms by +1 (step S1902).

次に、CPU106は、ステップS1902でインクリメントされたレジスタTimer_1msの値が、所定時間範囲t(図10または図13等参照)の末尾に対応する値2000以上となったか否かを判定する(ステップS1903)。   Next, the CPU 106 determines whether or not the value of the register Timer_1ms incremented in step S1902 is equal to or greater than 2000 corresponding to the end of the predetermined time range t (see FIG. 10 or FIG. 13) (step S1903). ).

ステップS1903の判定がNOならば、CPU106は、レジスタTimer_1msの値を500で割った余りが0であるか否か、すなわち、500ms(0.5sec(秒))ごとの区切りの拍タイミングになったか否かを判定する(ステップS1904)。ステップS1904の判定がYESならば、図13の説明で前述したように、小さな「×」印の拍タイミングになったため、CPU106は、小さな音量によるTempo音(ガイド音)の発音を音源109に指示する(ステップS1905)。   If the determination in step S1903 is NO, the CPU 106 determines whether or not the remainder obtained by dividing the value of the register Timer_1ms by 500 is 0, that is, whether the beat timing is divided every 500 ms (0.5 sec (seconds)). It is determined whether or not (step S1904). If the determination in step S1904 is YES, as described above with reference to FIG. 13, the beat timing indicated by a small “x” has been reached, so the CPU 106 instructs the sound source 109 to generate a tempo sound (guide sound) with a small volume. (Step S1905).

その後、CPU106は、レジスタTimer_1msの値を250で割った余りが0であるか否か、すなわち、250msごとの区切りの拍タイミングになったか否かを判定する(ステップS1906)。ステップS1906の判定がYESならば、CPU106は、レジスタTimer_250msの値を+1インクリメントする(ステップS1907)。   Thereafter, the CPU 106 determines whether or not the remainder obtained by dividing the value of the register Timer_1ms by 250 is 0, that is, whether or not the beat timing is divided every 250 ms (step S1906). If the determination in step S1906 is YES, the CPU 106 increments the value of the register Timer_250ms by +1 (step S1907).

その後、CPU106は、図18および図19のフローチャートで例示される50μsごと割込処理から図17のフローチャートで例示されるメイン処理にリターンする。   Thereafter, the CPU 106 returns from the interrupt process every 50 μs illustrated in the flowcharts of FIGS. 18 and 19 to the main process illustrated in the flowchart of FIG. 17.

レジスタTimer_1msの値が所定時間範囲tの末尾に対応する値2000に到達しステップS1903の判定がYESになると、まずCPU106は、レジスタTimer_1msの値を0にリセットする(ステップS1908)。   When the value of the register Timer_1ms reaches the value 2000 corresponding to the end of the predetermined time range t and the determination in step S1903 becomes YES, the CPU 106 first resets the value of the register Timer_1ms to 0 (step S1908).

次に、図13の説明で前述したように、大きな「×」印の小節区切りのタイミングになったため、CPU106は、大きな音量によるTempo音(ガイド音)の発音を音源109に指示する(ステップS1909)。   Next, as described above with reference to FIG. 13, since the timing of the break of the bar marked with a large “×” is reached, the CPU 106 instructs the sound source 109 to generate a tempo sound (guide sound) with a large volume (step S <b> 1909). ).

次に、CPU106は、レジスタTimer_250msの値を0にリセットする(ステップS1910)。   Next, the CPU 106 resets the value of the register Timer_250ms to 0 (step S1910).

次に、図15の説明で前述したように、所定時間範囲tの終了で確定しているレジスタBress_on_off[0]〜Bress_on_off[7]の8個の値の組のパターンが、図15のカウントパターン一致検証用テーブルの、Type0〜9、TypeE、またはTypeFのいずれかと一致するか否かを判定する(ステップS1911)。   Next, as described above with reference to FIG. 15, the pattern of the eight values of the registers Bress_on_off [0] to Bress_on_off [7], which is determined at the end of the predetermined time range t, is the count pattern of FIG. It is determined whether it matches any of Type 0 to 9, Type E, or Type F in the match verification table (step S1911).

ステップS1911の判定がYESならば、CPU106は、上記パターンが図15のTypeEと一致したか否かを判定し(ステップS1912)、この判定がYESならば、図13の説明で前述したように、CPU106は、図13中の●印に対応する「Command A」を認識した音の発音を、図1の音源109に指示する(ステップS1913)。また、CPU106は、レジスタCommandにAを設定する(ステップS1914)。   If the determination in step S1911 is YES, the CPU 106 determines whether or not the pattern matches Type E in FIG. 15 (step S1912). If this determination is YES, as described above with reference to FIG. The CPU 106 instructs the sound source 109 in FIG. 1 to generate a sound that has recognized “Command A” corresponding to the mark ● in FIG. 13 (step S1913). The CPU 106 sets A in the register Command (step S1914).

ステップS1907の判定がYESならば、上記パターンが図15のTypeFと一致したか否かを判定し(ステップS1915)、この判定がYESならば、図13の説明で前述したように、CPU106は、図13中の○印に対応する「Command B」を認識した音の発音を、図1の音源109に指示する(ステップS1916)。また、CPU106は、レジスタCommandにBを設定する(ステップS1917)。   If the determination in step S1907 is YES, it is determined whether or not the pattern matches Type F in FIG. 15 (step S1915). If this determination is YES, as described above with reference to FIG. The sound source 109 in FIG. 1 is instructed to generate a sound that recognizes “Command B” corresponding to the mark “◯” in FIG. In addition, the CPU 106 sets B in the register Command (step S1917).

ステップS1915の判定がYESならば、レジスタCommandの値がAであるか否かを判定する(ステップS1918)。   If the determination in step S1915 is YES, it is determined whether or not the value of the register Command is A (step S1918).

ステップS1918の判定がYESならば、図13の説明で前述したように、CPU106は、図13中の■印に対応する「Command A」に続く音色変更上位桁の値0〜9を認識した音の発音を、図1の音源109に指示する(ステップS1919)。また、CPU106は、レジスタ音色上位桁に、ステップS1911で判定されたType0〜9のいずれかに対応する「値」を設定する(ステップS1920)。   If the determination in step S1918 is YES, as described above with reference to FIG. 13, the CPU 106 recognizes the sound that has recognized the values 0 to 9 of the timbre change upper digits following “Command A” corresponding to the ■ mark in FIG. Is instructed to the sound source 109 of FIG. 1 (step S1919). Further, the CPU 106 sets a “value” corresponding to any of the types 0 to 9 determined in step S1911 in the register tone upper digit (step S1920).

ステップS1918の判定がNOならば、図13の説明で前述したように、CPU106は、図13中の□印に対応する「Command B」に続く音色変更下位桁の値0〜9を認識した音の発音を、図1の音源109に指示する(ステップS1921)。また、CPU106は、レジスタ音色下位桁に、ステップS1911で判定されたType0〜9のいずれかに対応する「値」を設定する(ステップS1922)。   If the determination in step S1918 is NO, as described above with reference to FIG. 13, the CPU 106 recognizes the sound 0 to 9 in the timbre change lower digit value following “Command B” corresponding to the □ mark in FIG. Is instructed to the sound source 109 of FIG. 1 (step S1921). Further, the CPU 106 sets a “value” corresponding to any of the types 0 to 9 determined in step S1911 in the register tone color lower digits (step S1922).

ステップS1922までで音色番号の上位桁および下位桁が確定したため、CPU106は、レジスタ音色上位桁とレジスタ音色上位桁の各値で定まる音色番号への音色の変更を、図1の音源109に指示する(ステップS1923)。   Since the upper and lower digits of the timbre number have been determined up to step S1922, the CPU 106 instructs the sound source 109 of FIG. 1 to change the timbre to the timbre number determined by the values of the register timbre upper digit and the register timbre upper digit. (Step S1923).

ステップS1914、S1917、S1920、またはS1923の処理の後、CPU106は、レジスタBress_on_off[0]〜Bress_on_off[7](図14参照)の各値をoffにリセットする(ステップS1924)。   After the processing in step S1914, S1917, S1920, or S1923, the CPU 106 resets each value of the registers Bress_on_off [0] to Bress_on_off [7] (see FIG. 14) to off (step S1924).

その後、CPU106は、図18および図19のフローチャートで例示される50μsごと割込処理から図17のフローチャートで例示されるメイン処理にリターンする。   Thereafter, the CPU 106 returns from the interrupt process every 50 μs illustrated in the flowcharts of FIGS. 18 and 19 to the main process illustrated in the flowchart of FIG. 17.

以上のようにして、本実施形態では、簡単な操作と簡単な回路構成で、音色の切換えなどの状態を切り替えることができる電子管楽器を提供することが可能となる。   As described above, according to this embodiment, it is possible to provide an electronic wind instrument that can switch states such as timbre switching with a simple operation and a simple circuit configuration.

なお、本実施形態では、音色の切換えを例に記載したが、音色のみならず、例えばピッチベンドレンジなどリアルタイム性を有する楽音パラメータのファンクション切換えなどに適用することが可能である。   In the present embodiment, switching of timbres is described as an example. However, the present invention can be applied not only to timbres but also to function switching of musical tone parameters having real-time characteristics such as a pitch bend range.

また、本実施形態は電子管楽器に適用した例について説明したが、両手を常に使用するようなタイプの電子楽器であれば、電子管楽器以外に適用することも可能である。   Moreover, although this embodiment demonstrated the example applied to the electronic wind instrument, if it is an electronic musical instrument of the type which always uses both hands, it is also possible to apply other than an electronic wind instrument.

Peak検出の例としては、図3および図4で説明した方式を例として説明したが、Peak検出の手法としては様々な方式を採用可能である。   As an example of Peak detection, the method described with reference to FIGS. 3 and 4 has been described as an example, but various methods can be adopted as a method of Peak detection.

本実施形態では、固定時間長のTempoによりブレス入力を行うように構成されたが、ブレスそのものによってTempoを切り替えるなどの応用に対しても展開できる。   In the present embodiment, the breath input is performed by using Tempo having a fixed time length, but the present invention can be applied to applications such as switching Tempo by the breath itself.

以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
演奏操作を検出するセンサと、
前記センサによる演奏操作の検出に応答して、音源に対して発音を指示する発音指示手段と、
予め定められた時間内における前記センサにより検出された演奏操作の回数及びタイミングに基づいて、前記演奏操作のパターンを識別する識別手段と、
前記識別手段により識別された演奏操作のパターンに対応して、発音すべき楽音のパラメータを制御する制御手段と、
を備えた電子楽器。
(付記2)
前記電子楽器はさらに、予め定められた特定モードに設定するモード設定手段を有し、
前記モード設定手段により前記特定のモードに設定されたてるときのみ、前記識別手段及び制御手段の動作を有効にする、付記1に記載の電子楽器。
(付記3)
前記電子楽器は、前記モード設定手段により特定のモードが設定されているときに、前記予め定められたタイミングで第1のガイド音を発生するとともに、前記予め定められた時間間隔で第2のガイド音を発生するガイド音生成手段を有する、付記2に記載の電子楽器。
(付記4)
前記識別手段は、夫々異なる演奏操作の回数及びタイミングから成る複数種の演奏操作パターンを記憶したメモリを有し、前記メモリに記憶された複数の演奏操作パターンのいずれかと前記センサにより検出された演奏操作の回数及びタイミングに基づく演奏操作パターンとが一致するか否か判別することにより、前記演奏操作のパターンを識別する、付記1乃至3のいずれかに記載の電子楽器。
(付記5)
前記識別手段は、前記メモリに記憶された複数の演奏操作パターンのいずれかと前記センサにより検出された演奏操作の回数及びタイミングに基づく演奏操作パターンとが一致したときに、当該一致した演奏パターンに対応する識別音を発生する識別音発生手段を有する付記4に記載の電子楽器。
(付記6)
前記センサは、演奏操作として演奏者のブレス入力の有無を検知する、付記1乃至5のいずれかに記載の電子楽器。
(付記7)
前記制御手段は、前記楽音のパラメータとして、当該楽音の音色を制御する、付記1乃至6のいずれかに記載の電子楽器。
(付記8)
演奏操作を検出するセンサを有する電子楽器に用いるパラメータ制御方法であって、前記電子楽器が、
前記センサによる演奏操作の検出に応答して、音源に対して発音を指示し、
予め定められた時間内における前記センサにより検出された演奏操作の回数及びタイミングに基づいて、前記演奏操作のパターンを識別し、
前記識別された演奏操作のパターンに対応して、発音すべき楽音のパラメータを制御する、パラメータ制御方法。
(付記9)
演奏操作を検出するセンサを有する電子楽器として用いるコンピュータに、
前記センサによる演奏操作の検出に応答して、音源に対して発音を指示するステップと、
予め定められた時間内における前記センサにより検出された演奏操作の回数及びタイミングに基づいて、前記演奏操作のパターンを識別するステップと、
前記識別された演奏操作のパターンに対応して、発音すべき楽音のパラメータを制御するステップと、
を実行させるプログラム。
Regarding the above embodiment, the following additional notes are disclosed.
(Appendix 1)
A sensor for detecting a performance operation;
In response to detection of the performance operation by the sensor, sound generation instruction means for instructing the sound source to generate sound;
Identification means for identifying a pattern of the performance operation based on the number and timing of the performance operation detected by the sensor within a predetermined time;
Control means for controlling parameters of a musical tone to be generated in correspondence with the pattern of the performance operation identified by the identification means;
Electronic musical instrument with
(Appendix 2)
The electronic musical instrument further includes mode setting means for setting a predetermined specific mode,
The electronic musical instrument according to appendix 1, wherein the operation of the identification unit and the control unit is validated only when the specific mode is set by the mode setting unit.
(Appendix 3)
The electronic musical instrument generates a first guide sound at the predetermined timing and sets a second guide at the predetermined time interval when a specific mode is set by the mode setting means. The electronic musical instrument according to attachment 2, further comprising guide sound generating means for generating sound.
(Appendix 4)
The identification means includes a memory storing a plurality of types of performance operation patterns each having a different number and timing of performance operations, and one of the plurality of performance operation patterns stored in the memory and the performance detected by the sensor. The electronic musical instrument according to any one of appendices 1 to 3, wherein the performance operation pattern is identified by determining whether or not the performance operation pattern based on the number of operations and the timing coincides.
(Appendix 5)
The identifying means corresponds to the matched performance pattern when one of the plurality of performance operation patterns stored in the memory matches a performance operation pattern based on the number and timing of performance operations detected by the sensor. The electronic musical instrument according to appendix 4, further comprising identification sound generating means for generating an identification sound to be generated.
(Appendix 6)
The electronic musical instrument according to any one of appendices 1 to 5, wherein the sensor detects presence or absence of a player's breath input as a performance operation.
(Appendix 7)
The electronic musical instrument according to any one of appendices 1 to 6, wherein the control means controls a tone color of the musical sound as the musical sound parameter.
(Appendix 8)
A parameter control method used for an electronic musical instrument having a sensor for detecting a performance operation, wherein the electronic musical instrument comprises:
In response to detection of the performance operation by the sensor, the sound source is instructed to sound,
Based on the number and timing of performance operations detected by the sensor within a predetermined time, identify the performance operation pattern,
A parameter control method for controlling a parameter of a musical tone to be generated corresponding to the identified performance operation pattern.
(Appendix 9)
In a computer used as an electronic musical instrument having a sensor for detecting a performance operation,
In response to detection of a performance operation by the sensor, instructing the sound source to produce sound;
Identifying the performance operation pattern based on the number and timing of performance operations detected by the sensor within a predetermined time; and
Corresponding to the identified performance operation pattern, controlling parameters of a musical tone to be generated;
A program that executes

101 LPF(ローパスフィルタ)
102、104 アンプ(Amp)
103 ゼロクロス検出部
105 絶対値算出部
106 CPU
107 キーマトリクス
108 モードSW(スイッチ)
109 音源
110 D/A変換器
111 アンプ
112 スピーカ(SP)
113 符号・割込回路
114 A/D変換器
115 タイマ
116 メモリ
302 予測カーブ
101 LPF (low pass filter)
102, 104 Amplifier (Amp)
103 Zero Cross Detection Unit 105 Absolute Value Calculation Unit 106 CPU
107 Key matrix 108 Mode SW (switch)
109 Sound source 110 D / A converter 111 Amplifier 112 Speaker (SP)
113 Code / Interrupt Circuit 114 A / D Converter 115 Timer 116 Memory 302 Prediction Curve

Claims (9)

演奏操作を検出するセンサと、
前記センサによる演奏操作の検出に応答して、音源に対して発音を指示する発音指示手段と、
予め定められた時間内における前記センサにより検出された演奏操作の回数及びタイミングに基づいて、前記演奏操作のパターンを識別する識別手段と、
前記識別手段により識別された演奏操作のパターンに対応して、発音すべき楽音のパラメータを制御する制御手段と、
を備えた電子楽器。
A sensor for detecting a performance operation;
In response to detection of the performance operation by the sensor, sound generation instruction means for instructing the sound source to generate sound;
Identification means for identifying a pattern of the performance operation based on the number and timing of the performance operation detected by the sensor within a predetermined time;
Control means for controlling parameters of a musical tone to be generated in correspondence with the pattern of the performance operation identified by the identification means;
Electronic musical instrument with
前記電子楽器はさらに、予め定められた特定モードに設定するモード設定手段を有し、
前記モード設定手段により前記特定のモードに設定されたてるときのみ、前記識別手段及び制御手段の動作を有効にする、請求項1に記載の電子楽器。
The electronic musical instrument further includes mode setting means for setting a predetermined specific mode,
2. The electronic musical instrument according to claim 1, wherein the operation of the identification unit and the control unit is made effective only when the specific mode is set by the mode setting unit.
前記電子楽器は、前記モード設定手段により特定のモードが設定されているときに、前記予め定められたタイミングで第1のガイド音を発生するとともに、前記予め定められた時間間隔で第2のガイド音を発生するガイド音生成手段を有する、請求項2に記載の電子楽器。   The electronic musical instrument generates a first guide sound at the predetermined timing and sets a second guide at the predetermined time interval when a specific mode is set by the mode setting means. The electronic musical instrument according to claim 2, further comprising guide sound generating means for generating sound. 前記識別手段は、夫々異なる演奏操作の回数及びタイミングから成る複数種の演奏操作パターンを記憶したメモリを有し、前記メモリに記憶された複数の演奏操作パターンのいずれかと前記センサにより検出された演奏操作の回数及びタイミングに基づく演奏操作パターンとが一致するか否か判別することにより、前記演奏操作のパターンを識別する、請求項1乃至3のいずれかに記載の電子楽器。   The identification means includes a memory storing a plurality of types of performance operation patterns each having a different number and timing of performance operations, and one of the plurality of performance operation patterns stored in the memory and the performance detected by the sensor. The electronic musical instrument according to any one of claims 1 to 3, wherein the performance operation pattern is identified by determining whether or not the performance operation pattern based on the number of operations and the timing matches. 前記識別手段は、前記メモリに記憶された複数の演奏操作パターンのいずれかと前記センサにより検出された演奏操作の回数及びタイミングに基づく演奏操作パターンとが一致したときに、当該一致した演奏パターンに対応する識別音を発生する識別音発生手段を有する請求項4に記載の電子楽器。   The identifying means corresponds to the matched performance pattern when one of the plurality of performance operation patterns stored in the memory matches a performance operation pattern based on the number and timing of performance operations detected by the sensor. The electronic musical instrument according to claim 4, further comprising identification sound generating means for generating an identification sound to be generated. 前記センサは、演奏操作として演奏者のブレス入力の有無を検知する、請求項1乃至5のいずれかに記載の電子楽器。   The electronic musical instrument according to claim 1, wherein the sensor detects presence or absence of a breath input by a performer as a performance operation. 前記制御手段は、前記楽音のパラメータとして、当該楽音の音色を制御する、請求項1乃至6のいずれかに記載の電子楽器。   The electronic musical instrument according to claim 1, wherein the control unit controls a tone color of the musical tone as the musical tone parameter. 演奏操作を検出するセンサを有する電子楽器に用いるパラメータ制御方法であって、前記電子楽器が、
前記センサによる演奏操作の検出に応答して、音源に対して発音を指示し、
予め定められた時間内における前記センサにより検出された演奏操作の回数及びタイミングに基づいて、前記演奏操作のパターンを識別し、
前記識別された演奏操作のパターンに対応して、発音すべき楽音のパラメータを制御する、パラメータ制御方法。
A parameter control method used for an electronic musical instrument having a sensor for detecting a performance operation, wherein the electronic musical instrument comprises:
In response to detection of the performance operation by the sensor, the sound source is instructed to sound,
Based on the number and timing of performance operations detected by the sensor within a predetermined time, identify the performance operation pattern,
A parameter control method for controlling a parameter of a musical tone to be generated corresponding to the identified performance operation pattern.
演奏操作を検出するセンサを有する電子楽器として用いるコンピュータに、
前記センサによる演奏操作の検出に応答して、音源に対して発音を指示するステップと、
予め定められた時間内における前記センサにより検出された演奏操作の回数及びタイミングに基づいて、前記演奏操作のパターンを識別するステップと、
前記識別された演奏操作のパターンに対応して、発音すべき楽音のパラメータを制御するステップと、
を実行させるプログラム。
In a computer used as an electronic musical instrument having a sensor for detecting a performance operation,
In response to detection of a performance operation by the sensor, instructing the sound source to produce sound;
Identifying the performance operation pattern based on the number and timing of performance operations detected by the sensor within a predetermined time; and
Corresponding to the identified performance operation pattern, controlling parameters of a musical tone to be generated;
A program that executes
JP2014209391A 2014-10-10 2014-10-10 Electronic musical instrument, musical sound parameter control method and program for electronic musical instrument Active JP6492516B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014209391A JP6492516B2 (en) 2014-10-10 2014-10-10 Electronic musical instrument, musical sound parameter control method and program for electronic musical instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014209391A JP6492516B2 (en) 2014-10-10 2014-10-10 Electronic musical instrument, musical sound parameter control method and program for electronic musical instrument

Publications (3)

Publication Number Publication Date
JP2016080769A true JP2016080769A (en) 2016-05-16
JP2016080769A5 JP2016080769A5 (en) 2017-11-24
JP6492516B2 JP6492516B2 (en) 2019-04-03

Family

ID=55958434

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014209391A Active JP6492516B2 (en) 2014-10-10 2014-10-10 Electronic musical instrument, musical sound parameter control method and program for electronic musical instrument

Country Status (1)

Country Link
JP (1) JP6492516B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021043261A (en) * 2019-09-06 2021-03-18 ローランド株式会社 Electronic wind instrument

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57105693U (en) * 1980-12-22 1982-06-29
JPS60262193A (en) * 1984-06-09 1985-12-25 カシオ計算機株式会社 Automatic accompanying apparatus
JPH01173799U (en) * 1988-05-30 1989-12-11
JPH0325497A (en) * 1989-06-22 1991-02-04 Yamaha Corp Electronic musical instrument
JP2001195067A (en) * 1999-10-26 2001-07-19 Denso Corp Portable telephone device
JP2008216715A (en) * 2007-03-06 2008-09-18 Casio Comput Co Ltd Musical sound controller and program for musical sound control processing

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57105693U (en) * 1980-12-22 1982-06-29
JPS60262193A (en) * 1984-06-09 1985-12-25 カシオ計算機株式会社 Automatic accompanying apparatus
JPH01173799U (en) * 1988-05-30 1989-12-11
JPH0325497A (en) * 1989-06-22 1991-02-04 Yamaha Corp Electronic musical instrument
JP2001195067A (en) * 1999-10-26 2001-07-19 Denso Corp Portable telephone device
JP2008216715A (en) * 2007-03-06 2008-09-18 Casio Comput Co Ltd Musical sound controller and program for musical sound control processing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021043261A (en) * 2019-09-06 2021-03-18 ローランド株式会社 Electronic wind instrument
JP7262347B2 (en) 2019-09-06 2023-04-21 ローランド株式会社 electronic wind instrument

Also Published As

Publication number Publication date
JP6492516B2 (en) 2019-04-03

Similar Documents

Publication Publication Date Title
JP5168297B2 (en) Automatic accompaniment device and automatic accompaniment program
US8946534B2 (en) Accompaniment data generating apparatus
US10504498B2 (en) Real-time jamming assistance for groups of musicians
US6372973B1 (en) Musical instruments that generate notes according to sounds and manually selected scales
CN107103895A (en) A kind of detection means of piano playing accuracy in pitch
JP6492516B2 (en) Electronic musical instrument, musical sound parameter control method and program for electronic musical instrument
EP3676824A1 (en) Techniques for controlling the expressive behavior of virtual instruments and related systems and methods
JP7262347B2 (en) electronic wind instrument
JPH0683347A (en) Electronic musical instrument
JP2013097302A (en) Automatic tone correction device, automatic tone correction method and program therefor
JP7343012B2 (en) Information processing device and information processing method
JP5995343B2 (en) Electronic musical instruments
JP6650128B2 (en) Electronic musical instrument, electronic stringed musical instrument, musical sound generation instruction method and program
US20180137770A1 (en) Musical instrument indicator apparatus, system, and method to aid in learning to play musical instruments
JP2014238550A (en) Musical sound producing apparatus, musical sound producing method, and program
JP2015052642A (en) Electronic string musical instrument, string pressing detection method, and program
JP2018054855A (en) Code analysis device, method, and program
JP2018054854A (en) Code analysis device, method, and program
JP6604307B2 (en) Code detection apparatus, code detection program, and code detection method
JP2015011134A (en) Electronic stringed musical instrument, musical sound generating method and program
JP3055392B2 (en) Audio signal converter
Budhathoki Design of an Electric Guitar Tuner
KR102569219B1 (en) Instrument Performance Tracking Systems and Methods
JP2760301B2 (en) Electronic musical instrument
Peimani Pitch correction for the human voice

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171010

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171010

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181005

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190218

R150 Certificate of patent or registration of utility model

Ref document number: 6492516

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150