JP3152104B2 - Tempo control device - Google Patents
Tempo control deviceInfo
- Publication number
- JP3152104B2 JP3152104B2 JP13291595A JP13291595A JP3152104B2 JP 3152104 B2 JP3152104 B2 JP 3152104B2 JP 13291595 A JP13291595 A JP 13291595A JP 13291595 A JP13291595 A JP 13291595A JP 3152104 B2 JP3152104 B2 JP 3152104B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- tempo
- value
- register
- peak
- 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
- 238000000605 extraction Methods 0.000 claims description 11
- 238000000034 method Methods 0.000 description 111
- 238000001514 detection method Methods 0.000 description 45
- 238000010586 diagram Methods 0.000 description 31
- 230000033001 locomotion Effects 0.000 description 24
- 239000004020 conductor Substances 0.000 description 15
- 238000009825 accumulation Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 8
- 230000003111 delayed effect Effects 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- AYFVYJQAPQTCCC-GBXIJSLDSA-N L-threonine Chemical compound C[C@@H](O)[C@H](N)C(O)=O AYFVYJQAPQTCCC-GBXIJSLDSA-N 0.000 description 3
- 239000000725 suspension Substances 0.000 description 2
- 101100087530 Caenorhabditis elegans rom-1 gene Proteins 0.000 description 1
- 101100305983 Mus musculus Rom1 gene Proteins 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【0001】[0001]
【産業上の利用分野】この発明は自動演奏装置における
自動演奏のテンポを演奏者の動作に応じて制御するテン
ポ制御装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a tempo control device for controlling a tempo of an automatic performance in an automatic performance device in accordance with a player's operation.
【0002】[0002]
【従来の技術】自動演奏装置はメロディ演奏や伴奏演奏
の各音符に関する演奏情報(音符データ)をメモリ等に
記憶しておき、その記憶された演奏情報を所定のテンポ
で自動的に読み出し、読み出された演奏情報に従ってメ
ロディ音や伴奏音を発音する。この場合、演奏のテンポ
はタイマ等から出力されるテンポクロックの周波数によ
って決定される。このテンポクロックの周波数はテンポ
設定スイッチ等を操作することによって自由に可変する
ことができる。2. Description of the Related Art An automatic performance apparatus stores performance information (note data) relating to each note of a melody performance or an accompaniment performance in a memory or the like, and automatically reads out the stored performance information at a predetermined tempo and reads the performance information. The melody and accompaniment sounds are produced according to the output performance information. In this case, the performance tempo is determined by the frequency of the tempo clock output from a timer or the like. The frequency of the tempo clock can be freely changed by operating a tempo setting switch or the like.
【0003】[0003]
【発明が解決しようとする課題】テンポ設定スイッチな
どを操作して演奏中の演奏テンポを変化させた場合、そ
の変化の仕方がスイッチの操作状態(操作量や操作速度
など)に依存するため、実際の演奏時における指揮棒な
どの手振り動作に対応したような微妙なテンポ変化を与
えることは非常に困難であった。そこで、最近では、操
作者の指揮棒などに加速度センサを内蔵し、その手振り
動作に応じた加速度センサの出力の最大値を検出し、そ
の検出タイミングで自動演奏のテンポを制御するように
したテンポ制御装置が現れている。このようなテンポ制
御装置は加速度センサの出力最大値を検出した時点で発
音したり、シーケンスデータを進めたりすることによっ
て、演奏テンポを制御する。When the performance tempo during a performance is changed by operating a tempo setting switch or the like, the manner of change depends on the operation state (operation amount, operation speed, etc.) of the switch. It was very difficult to give a subtle tempo change corresponding to a hand gesture of a baton or the like during an actual performance. Therefore, recently, an accelerometer is built into an operator's baton, etc., and the maximum value of the output of the accelerometer according to the hand gesture is detected, and the tempo of the automatic performance is controlled at the detection timing. A control device is appearing. Such a tempo control device controls the playing tempo by generating a sound or advancing the sequence data when the maximum output value of the acceleration sensor is detected.
【0004】ところが、実際の指揮法では指揮者の打点
動作、加速減速動作、クリッキング動作、打点を結ぶ指
揮棒の先端の描く線の形などの種々の要因に応じて、演
奏テンポが決定される。また、操作者が指揮法にどれだ
け習熟しているか、操作者のその時の気分や音楽の内容
(曲ジャンル)などによっても、演奏テンポはそれぞれ
異なる。従って、どのタイミングで発音すればよいの
か、どのタイミングでシーケンスデータを進めればよい
のか、演奏テンポは個々の操作者によって種々異なるも
のである。従って、従来のように単純に加速度センサの
出力最大値を検出した時点で発音したり、シーケンスデ
ータを進めたりしても、操作者の意図したとおりのテン
ポとならないという問題があった。However, in the actual conducting method, the performance tempo is determined in accordance with various factors such as the hitting operation of the conductor, the acceleration / deceleration operation, the clicking operation, and the shape of the line drawn by the tip of the conductor connecting the hit points. . Also, the performance tempo differs depending on how well the operator is familiar with the commanding method, the mood of the operator at that time, the content of music (song genre), and the like. Therefore, at what timing the sound should be produced and at what timing the sequence data should be advanced, the performance tempo varies depending on the individual operator. Therefore, there is a problem that the tempo does not become as intended by the operator even if the sound is generated or the sequence data is advanced simply when the maximum output value of the acceleration sensor is detected as in the related art.
【0005】この発明は上述の点に鑑みてなされたもの
であり、操作者の手振り動作に応じて操作者の意図した
時点で発音したり、シーケンスデータを進めたりして任
意にテンポを制御することのできるテンポ制御装置を提
供することを目的とする。[0005] The present invention has been made in view of the above points, and controls the tempo arbitrarily by sounding at the time intended by the operator or by advancing the sequence data in accordance with the hand gesture of the operator. It is an object of the present invention to provide a tempo control device that can perform the control.
【0006】[0006]
【課題を解決するための手段】第1の発明に係るテンポ
制御装置は、操作者の揺動動作を検出する動作検出手段
と、この動作検出手段によって検出された前記揺動動作
の中から前記揺動動作に関連した第1及び第2の特徴点
を抽出する抽出手段と、この抽出手段によって前記第1
及び第2の特徴点のいずれか選択された一方が抽出され
る度にその抽出時点に基づいて演奏のテンポを制御する
制御手段とから構成されるものである。According to a first aspect of the present invention, there is provided a tempo control device for detecting an oscillating motion of an operator, and the oscillating motion detected by the motion detecting device. Extracting means for extracting first and second feature points related to the swinging operation;
And control means for controlling the tempo of the performance on the basis of the extraction time point each time one of the selected one of the second feature points is extracted.
【0007】第2の発明に係るテンポ制御装置は、操作
者の揺動動作を検出する動作検出手段と、この動作検出
手段によって検出された前記揺動動作の中から前記揺動
動作に関連した特徴点を抽出する抽出手段と、この抽出
手段によって前記特徴点が抽出される度にその抽出時点
から所定時間経過後の時点に基づいて演奏のテンポを制
御する制御手段とから構成されるものである。According to a second aspect of the present invention, there is provided a tempo control device for detecting an oscillating motion of an operator, and a motion related to the oscillating motion among the oscillating motions detected by the motion detecting device. Extraction means for extracting characteristic points, and control means for controlling the tempo of the performance based on a point in time after a predetermined time has elapsed from the point of extraction each time the characteristic points are extracted by the extraction means. is there.
【0008】[0008]
【作用】第1の発明において、動作検出手段は操作者の
揺動動作すなわち指揮者の手振り動作などを検出する。
抽出手段は検出された揺動動作を分析し、揺動動作に関
連した2つの特徴点(第1及び第2の特徴点)を抽出す
る。例えば、動作検出手段が指揮棒に内蔵された角速度
センサの場合には、抽出手段はそのセンサ出力の極大値
と極小値の2つを抽出する。制御手段は抽出手段によっ
て角速度センサの出力極大値が抽出された時点に基づい
て発音したり、シーケンスデータを進めたり、あるいは
角速度センサの出力極小値が抽出された時点に基づいて
発音したり、シーケンスデータを進めたりする。これに
よって、その操作者の意図した時点で発音させたり、シ
ーケンスデータを進めたり、任意のタイミングでテンポ
を制御することができる。なお、請求項2に記載のよう
に制御手段は抽出時点からさらに所定時間経過後の時点
に基づいて演奏のテンポを制御することによって、より
幅広くテンポ制御のタイミングを調整することができ
る。In the first invention, the motion detecting means detects the swinging motion of the operator, that is, the hand motion of the conductor.
The extracting means analyzes the detected swing motion and extracts two feature points (first and second feature points) related to the swing motion. For example, when the motion detecting means is an angular velocity sensor built in a baton, the extracting means extracts two maximum values and minimum values of the sensor output. The control means sounds based on the time when the maximum value of the output of the angular velocity sensor is extracted by the extraction means, advances the sequence data, or sounds based on the time when the minimum value of the output of the angular velocity sensor is extracted, or generates a sequence. Advance the data. As a result, it is possible to generate a sound at the time intended by the operator, to advance the sequence data, and to control the tempo at an arbitrary timing. In addition, as described in claim 2, the control means controls the tempo of the performance based on a point in time after a lapse of a predetermined time from the extraction point, so that the timing of the tempo control can be adjusted more widely.
【0009】第2の発明において、動作検出手段は操作
者の揺動動作すなわち指揮者の手振り動作などを検出す
る。抽出手段は検出された揺動動作を分析し、揺動動作
に関連した特徴点を抽出する。例えば、動作検出手段が
指揮棒に内蔵された角速度センサの場合には、抽出手段
はそのセンサ出力の極大値及び極小値のいずれか一方だ
けを抽出する。制御手段は抽出手段によって特徴点が抽
出された時点から所定時間経過後の時点に基づいて発音
したり、シーケンスデータを進めたりする。これによっ
て、その操作者の意図した時点で発音させたり、シーケ
ンスデータを進めたりして、任意のタイミングでテンポ
を制御することができる。In the second invention, the motion detecting means detects a swing motion of the operator, that is, a hand motion of the conductor. The extracting means analyzes the detected swing motion and extracts feature points related to the swing motion. For example, when the motion detecting means is an angular velocity sensor built in a baton, the extracting means extracts only one of the maximum value and the minimum value of the sensor output. The control means generates a sound or advances the sequence data based on a time point after a lapse of a predetermined time from the time point at which the feature point is extracted by the extraction means. As a result, the tempo can be controlled at an arbitrary timing by causing a sound to be generated at the time intended by the operator or by advancing the sequence data.
【0010】[0010]
【実施例】以下、この発明の実施例を添付図面に従って
詳細に説明する。図1は鍵盤、音源回路及び自動演奏装
置を内蔵した電子楽器1Hと、この電子楽器1Hに操作
者の手振り動作に応じたテンポ制御信号を出力する指揮
棒20との詳細構成及び両者間の接続関係を示すハード
ブロック図である。まず、電子楽器1Hの構成について
説明する。マイクロプロセッサユニット(CPU)11
はこの電子楽器1Hの全体動作を制御するものである。
このCPU11に対して、バス1Gを介してROM1
2、RAM13、押鍵検出回路14、スイッチ検出回路
15、表示回路16、音源回路17、効果付与回路1
8、タイマ19、フロッピーディスクドライブ(FD
D)1A及びMIDIインターフェイス(I/F)1B
がそれぞれ接続されている。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be described below in detail with reference to the accompanying drawings. FIG. 1 shows a detailed configuration of an electronic musical instrument 1H including a keyboard, a tone generator circuit and an automatic performance device, and a baton 20 for outputting a tempo control signal corresponding to a hand gesture of an operator to the electronic musical instrument 1H, and a connection between the two. FIG. 4 is a hardware block diagram illustrating a relationship. First, the configuration of the electronic musical instrument 1H will be described. Microprocessor unit (CPU) 11
Controls the overall operation of the electronic musical instrument 1H.
The CPU 11 is connected to the ROM 1 via the bus 1G.
2, RAM 13, key press detection circuit 14, switch detection circuit 15, display circuit 16, sound source circuit 17, effect imparting circuit 1
8, timer 19, floppy disk drive (FD
D) 1A and MIDI interface (I / F) 1B
Are connected respectively.
【0011】この実施例ではCPU11によって押鍵検
出処理やテンポ制御データの送受信処理及び発音処理等
を行う電子楽器について説明するが、押鍵検出回路14
からなるモジュールや音源回路17からなるモジュール
とがそれぞれ別々に構成され、各モジュール間のデータ
の授受をMIDIインターフェイスで行うように構成さ
れたものにも同様に適用できることは言うまでもない。
ROM12はCPU11の各種プログラムや各種データ
を格納するものであり、リードオンリーメモリ(RO
M)で構成されている。RAM13は演奏情報やCPU
11がプログラムを実行する際に発生する各種データを
一時的に記憶するものであり、ランダムアクセスメモリ
(RAM)の所定のアドレス領域がそれぞれ割り当てら
れ、レジスタやフラグとして利用される。In this embodiment, an electronic musical instrument in which the CPU 11 performs key press detection processing, tempo control data transmission / reception processing, and tone generation processing will be described.
It is needless to say that the present invention can be similarly applied to a configuration in which the module comprising the sound source circuit 17 and the module comprising the sound source circuit 17 are separately formed, and data is exchanged between the modules by the MIDI interface.
The ROM 12 stores various programs and various data of the CPU 11, and has a read-only memory (RO).
M). RAM 13 stores performance information and CPU
Numeral 11 temporarily stores various data generated when the program is executed, and a predetermined address area of a random access memory (RAM) is allocated to each of them and used as a register or a flag.
【0012】鍵盤1Cは発音すべき楽音の音高を選択す
るための複数の鍵を備えており、各鍵に対応してキース
イッチを有しており、また必要に応じて押鍵速度検出装
置や押圧力検出装置等のタッチ検出手段を有している。
鍵盤1Cは音楽演奏のための基本的な操作子であり、こ
れ以外の演奏操作子、例えばドラムパッド等でもよいこ
とはいうまでもない。The keyboard 1C has a plurality of keys for selecting the pitch of a musical tone to be produced, has a key switch corresponding to each key, and, if necessary, a key pressing speed detecting device. And a touch detection unit such as a pressure detection device.
The keyboard 1C is a basic operation element for music performance, and it goes without saying that other operation elements, such as a drum pad, may be used.
【0013】押鍵検出回路14は発生すべき楽音の音高
を指定する鍵盤1Cのそれぞれの鍵に対応して設けられ
た複数のキースイッチからなる回路を含んで構成されて
おり、新たな鍵が押圧されたときはキーオンイベント情
報を出力し、鍵が新たに離鍵されたときはキーオフイベ
ント情報を出力する。また、鍵押し下げ時の押鍵操作速
度又は押圧力等を判別してタッチデータを生成する処理
を行い、生成したタッチデータをベロシティデータとし
て出力する。このようにキーオン、キーオフイベント情
報及びベロシティ情報はMIDI規格で表現されており
キーコードと割当てチャンネルを示すデータをも含んで
いる。The key press detection circuit 14 includes a circuit composed of a plurality of key switches provided corresponding to the respective keys of the keyboard 1C for designating the pitch of a musical tone to be generated. When the key is pressed, key-on event information is output, and when a key is newly released, key-off event information is output. Further, a key pressing operation speed or a pressing force at the time of key depression is determined to perform processing for generating touch data, and the generated touch data is output as velocity data. As described above, the key-on / key-off event information and the velocity information are expressed in the MIDI standard, and also include a key code and data indicating an assigned channel.
【0014】パネルスイッチ1Dは自動演奏スタート/
ストップスイッチ、一時停止(ポーズ)スイッチ、音
色、音量、効果等を選択・設定・制御するための各種ス
イッチを含むものである。パネルスイッチ1Dにはこの
他にも色々なスイッチを有するが、その詳細については
公知なので説明を省略する。スイッチ検出回路15はパ
ネルスイッチ1D上の各操作子の操作状態を検出し、そ
の操作状態に応じたスイッチイベントをバス1Gを介し
てCPU11に出力する。表示回路16はCPU11の
制御状態、設定データの内容等の各種の情報を表示部1
Eに表示するものである。表示部1Eは液晶表示パネル
(LCD)等から構成され、表示回路16によってその
表示動作を制御される。The panel switch 1D is used to start automatic performance /
It includes a stop switch, a pause (pause) switch, and various switches for selecting, setting, and controlling a tone color, a volume, an effect, and the like. The panel switch 1D has various other switches, but details thereof are publicly known, and a description thereof will be omitted. The switch detection circuit 15 detects the operation state of each operator on the panel switch 1D, and outputs a switch event corresponding to the operation state to the CPU 11 via the bus 1G. The display circuit 16 displays various information such as the control state of the CPU 11 and the contents of the setting data on the display unit 1.
E is displayed. The display unit 1E is configured by a liquid crystal display panel (LCD) or the like, and its display operation is controlled by the display circuit 16.
【0015】音源回路17は複数のチャンネルで楽音信
号の同時発生が可能であり、バス1Gを経由して与えら
れた演奏情報(MIDI規格に準拠したデータ)を入力
し、このデータに基づき楽音信号を発生する。音源回路
17における楽音信号発生方式はいかなるものを用いて
もよい。例えば、発生すべき楽音の音高に対応して変化
するアドレスデータに応じて波形メモリに記憶した楽音
波形サンプル値データを順次読み出すメモリ読み出し方
式、又は上記アドレスデータを位相角パラメータデータ
として所定の周波数変調演算を実行して楽音波形サンプ
ル値データを求めるFM方式、あるいは上記アドレスデ
ータを位相角パラメータデータとして所定の振幅変調演
算を実行して楽音波形サンプル値データを求めるAM方
式等の公知の方式を適宜採用してもよい。The tone generator 17 is capable of simultaneously generating musical tone signals on a plurality of channels. The tone generator 17 receives performance information (data conforming to the MIDI standard) provided via a bus 1G, and generates a musical tone signal based on the data. Occurs. The tone signal generating method in the tone generator circuit 17 may be of any type. For example, a memory reading method for sequentially reading out musical tone waveform sample value data stored in a waveform memory according to address data that changes in accordance with the pitch of a musical tone to be generated, or a method in which the address data is used as phase angle parameter data at a predetermined frequency A known method such as an FM method for performing a modulation operation to obtain musical tone waveform sample value data, or an AM method for performing a predetermined amplitude modulation operation using the above address data as phase angle parameter data to obtain musical sound waveform sample value data. You may employ suitably.
【0016】効果付与回路18は音源回路17からの楽
音信号に種々の効果を付与し、効果の付与された楽音信
号をサウンドシステム1Fに出力する。効果付与回路1
8によって効果の付与された楽音信号は、図示しないア
ンプ及びスピーカからなるサウンドシステム1Fを介し
て発音される。タイマ19は時間間隔を計数したり、自
動演奏のテンポを決定するためのクロックパルスを発生
するものであり、このクロックパルスはCPU11に対
してインタラプト命令として与えられるので、CPU1
1はインタラプト処理により各種の処理を実行する。フ
ロッピーディスクドライブ(FDD)1Aは外部記憶媒
体すなわちフロッピーディスクから自動演奏データを電
子楽器1H内に取り込んだり、電子楽器1H内で処理さ
れた自動演奏データをフロッピーディスクに書き込んだ
りするインターフェイスである。The effect imparting circuit 18 imparts various effects to the tone signal from the tone generator 17 and outputs the tone signal with the effect to the sound system 1F. Effect imparting circuit 1
The tone signal to which the effect is given by 8 is generated through a sound system 1F including an amplifier and a speaker (not shown). The timer 19 counts a time interval and generates a clock pulse for determining the tempo of the automatic performance. This clock pulse is given to the CPU 11 as an interrupt command.
1 executes various processes by an interrupt process. The floppy disk drive (FDD) 1A is an interface for taking in automatic performance data from an external storage medium, that is, a floppy disk, into the electronic musical instrument 1H, and writing automatic performance data processed in the electronic musical instrument 1H to a floppy disk.
【0017】MIDIインターフェイス(I/F)1B
は電子楽器1Hのバス1Gと指揮棒20のMIDIイン
ターフェイス(I/F)27との間を接続し、MIDI
インターフェイス27は指揮棒20のバス2EとMID
Iインターフェイス1Bとの間を接続している。従っ
て、電子楽器1Hのバス1Gと指揮棒20のバス2Eと
の間は、MIDIインターフェイス1B及び27を介し
て接続され、両者の間では、MIDI規格に準拠したデ
ータのやり取りが双方向で行えるようになっている。MIDI interface (I / F) 1B
Connects between the bus 1G of the electronic musical instrument 1H and the MIDI interface (I / F) 27 of the baton 20,
The interface 27 is composed of the bus 2E and the MID
It is connected to the I interface 1B. Therefore, the bus 1G of the electronic musical instrument 1H and the bus 2E of the baton 20 are connected via the MIDI interfaces 1B and 27, so that data can be exchanged bidirectionally in accordance with the MIDI standard. It has become.
【0018】次に、指揮棒20の構成について説明す
る。マイクロプロセッサユニット(CPU)21はこの
指揮棒20の動作を制御するものである。このCPU2
1に対しては、バス2Eを介してROM22、RAM2
3、スイッチ検出回路24、A/D変換器25,26、
MIDIインターフェイス27及びタイマ28がそれぞ
れ接続されている。ROM22はCPU21の各種プロ
グラムや各種データを格納するものであり、リードオン
リーメモリ(ROM)で構成されている。RAM23は
CPU21がプログラムを実行する際に発生する各種デ
ータを一時的に記憶するものであり、ランダムアクセス
メモリ(RAM)の所定のアドレス領域がそれぞれ割り
当てられ、レジスタやフラグとして利用される。スイッ
チ群29は指揮棒20のオン/オフスイッチやテンポ制
御信号の出力タイミングを調整するためのディレイタイ
ムスイッチ等で構成される。スイッチ検出回路24はス
イッチ群29の操作状態を検出し、その操作状態に応じ
たデータをバス2Eを介してCPU21に出力する。Next, the configuration of the baton 20 will be described. A microprocessor unit (CPU) 21 controls the operation of the baton 20. This CPU2
1 is connected to the ROM 22 and the RAM 2 via the bus 2E.
3, switch detection circuit 24, A / D converters 25 and 26,
A MIDI interface 27 and a timer 28 are connected to each other. The ROM 22 stores various programs and various data of the CPU 21, and is constituted by a read-only memory (ROM). The RAM 23 temporarily stores various data generated when the CPU 21 executes a program, and is assigned a predetermined address area of a random access memory (RAM) and used as a register or a flag. The switch group 29 includes an on / off switch of the baton 20, a delay time switch for adjusting the output timing of the tempo control signal, and the like. The switch detection circuit 24 detects the operation state of the switch group 29, and outputs data corresponding to the operation state to the CPU 21 via the bus 2E.
【0019】X方向圧電振動ジャイロセンサ2A及びY
方向圧電振動ジャイロセンサ2Bは、センサが1つの回
転軸を中心として回転した場合にその回転の角速度に比
例するコリオリの力に比例した電圧を発生する圧電振動
ジャイロセンサを直交する2軸(X軸及びY軸)に設け
たものである。従って、X方向圧電ジャイロセンサ2A
から出力される電圧に基づいてX軸方向の角速度ωXを
検出することができ、Y方向圧電ジャイロセンサ2Bか
ら出力される電圧に基づいてY軸方向の角速度ωYを検
出することができる。X direction piezoelectric vibration gyro sensor 2A and Y
The direction piezoelectric vibrating gyro sensor 2B is a two-axis orthogonal (X-axis) piezoelectric gyro sensor that generates a voltage proportional to the Coriolis force proportional to the angular velocity of rotation when the sensor rotates about one rotation axis. And Y axis). Therefore, the X-direction piezoelectric gyro sensor 2A
, The angular velocity ωX in the X-axis direction can be detected based on the voltage output from the controller, and the angular velocity ωY in the Y-axis direction can be detected based on the voltage output from the Y-direction piezoelectric gyro sensor 2B.
【0020】ノイズ除去回路2C及び2DはX方向圧電
振動ジャイロセンサ2A及びY方向圧電ジャイロセンサ
2Bからの各センサ出力信号に含まれるセンサ内部のノ
イズ成分を除去するものであり、応答周波数以上の高周
波成分を除去するローパスフィルタで構成される。A/
D変換器25及び26はノイズ除去回路2C及び2Dに
よって高周波成分の除去されたセンサ出力信号をディジ
タル信号に変換するものである。このA/D変換器25
及び26によって変換されたディジタル信号は所定周期
でCPU21によって読み取られ、所定のデータ処理に
よって指揮棒20全体の動作判定処理に利用される。The noise removing circuits 2C and 2D remove noise components inside the sensors included in the sensor output signals from the X-direction piezoelectric vibrating gyro sensor 2A and the Y-direction piezoelectric gyro sensor 2B. It is composed of a low-pass filter that removes components. A /
The D converters 25 and 26 convert the sensor output signals from which high frequency components have been removed by the noise removing circuits 2C and 2D into digital signals. This A / D converter 25
And 26 are read by the CPU 21 in a predetermined cycle, and are used in the operation determination processing of the entire baton 20 by predetermined data processing.
【0021】タイマ28は指揮棒20の動作クロックを
発生するものであり、この動作クロックがCPU21に
対してインタラプト命令として与えられ、CPU21は
インタラプト処理により指揮棒20の動作状態を検出
し、動作状態に応じて自動演奏のテンポを決定するため
のテンポ制御信号をMIDIインターフェイス27及び
1Bを介して電子楽器1H側に出力する。The timer 28 generates an operating clock of the baton 20. This operating clock is given as an interrupt command to the CPU 21, and the CPU 21 detects the operating state of the baton 20 by an interrupt process. Is output to the electronic musical instrument 1H via the MIDI interfaces 27 and 1B.
【0022】次に、指揮棒20内のマイクロコンピュー
タ(CPU21)によって実行される処理の一例を図2
から図8のフローチャートに基づいて説明する。図2は
指揮棒20内のマイクロコンピュータ(CPU21)が
処理するセンサ出力処理の一例を示す図である。このセ
ンサ出力処理はタイマ28からの動作クロック(周期約
10ms)に同期して実行されるタイマ割り込み処理で
ある。このセンサ出力処理はプログラムROM22に格
納されている制御プログラムに応じた一連の処理であ
り、次のようなステップで順番に実行される。Next, an example of processing executed by the microcomputer (CPU 21) in the baton 20 is shown in FIG.
8 will be described based on the flowchart of FIG. FIG. 2 is a diagram illustrating an example of a sensor output process performed by the microcomputer (CPU 21) in the baton 20. This sensor output process is a timer interrupt process that is executed in synchronization with the operation clock (period of about 10 ms) from the timer 28. This sensor output process is a series of processes according to a control program stored in the program ROM 22, and is executed in order in the following steps.
【0023】ステップ1:X方向圧電振動ジャイロセン
サ2A及びY方向圧電振動ジャイロセンサ2Bの出力、
すなわちA/D変換器25及び26から出力されるディ
ジタル信号をバス2Eを介して取り込む。 ステップ2:直流成分を除去する。すなわち、指揮棒2
0を操作する操作者が手振り動作以外の旋回動作などの
低速回転動作を行うと、それに応じた直流成分すなわち
ドリフト成分が発生するので、ステップ1で取り込んだ
ディジタル信号を低周波の遮断周波数を持つハイパスフ
ィルタを通過させることによって、それを除去する。Step 1: Outputs of the X-direction piezoelectric vibration gyro sensor 2A and the Y-direction piezoelectric vibration gyro sensor 2B,
That is, digital signals output from the A / D converters 25 and 26 are taken in via the bus 2E. Step 2: DC component is removed. That is, the conductor 2
When the operator who operates 0 performs a low-speed rotation operation such as a turning operation other than the hand movement, a DC component, that is, a drift component is generated in accordance with the rotation operation, so that the digital signal captured in step 1 has a low-frequency cutoff frequency. It is removed by passing it through a high-pass filter.
【0024】ステップ3:直流成分の除去されたX方向
圧電振動ジャイロセンサ2A及びY方向圧電振動ジャイ
ロセンサ2Bの出力X及びYに基づいて絶対角速度を算
出し、それを絶対角速度レジスタA_SPEEDに格納
する。絶対角速度は図2のステップ3に示すような演算
式、出力X及びYの二乗の和のルートを取ることによっ
て算出される。なお、このステップによって算出された
絶対角速度の値を、時間を横軸としてプロットすると図
10(A)に示すようなものになる。 ステップ4:今回のタイマ割り込み時点からm回前のタ
イマ割り込み時点までの各タイミングのステップ3で算
出された絶対角速度の平均値を算出し、それを移動平均
値として移動平均レジスタM_AVERAGEに格納す
る。例えば、mが『8』の場合には各タイミングで算出
された8個の絶対角速度の和を8で除することによって
移動平均値が得られる。 ステップ5:今回のタイマ割り込み時点からn回前のタ
イマ割り込み時点までの各タイミングのステップ4で算
出され、移動平均レジスタM_AVERAGEに格納さ
れている移動平均値の平均値を算出し、それをダイナミ
ックしきい値としてダイナミックしきい値レジスタDY
NA_THREに格納する。Step 3: The absolute angular velocity is calculated based on the outputs X and Y of the X-direction piezoelectric vibration gyro sensor 2A and the Y-direction piezoelectric vibration gyro sensor 2B from which the DC component has been removed, and is stored in the absolute angular velocity register A_SPEED. . The absolute angular velocity is calculated by taking the route of the sum of the squares of the arithmetic expressions and the outputs X and Y as shown in step 3 of FIG. It should be noted that when the value of the absolute angular velocity calculated in this step is plotted with time on the horizontal axis, the result is as shown in FIG. Step 4: The average value of the absolute angular velocities calculated in step 3 at each timing from the time of the current timer interruption to the time of the timer interruption m times earlier is calculated and stored in the moving average register M_AVERAGE as a moving average value. For example, when m is “8”, a moving average value is obtained by dividing the sum of eight absolute angular velocities calculated at each timing by eight. Step 5: Calculate the average value of the moving average value calculated in Step 4 at each timing from the current timer interruption point to the nth timer interruption point and stored in the moving average register M_AVERAGE, and dynamically calculate the average value. Dynamic threshold register DY as threshold
Stored in NA_THRE.
【0025】ステップ6:前回値レジスタNOWの格納
値を前々回値レジスタOLDに格納し、今回値レジスタ
NEWの格納値を前回値レジスタNOWに格納し、今回
算出された移動平均値(移動平均レジスタM_AVER
AGEの格納値)を今回値レジスタNEWに格納する。
すなわち、前々回値レジスタOLD、前回値レジスタN
OW及び今回値レジスタNEWの格納値をそれぞれ新し
い値にシフトする。 ステップ7:前々回値レジスタOLD、前回値レジスタ
NOW及び今回値レジスタNEWのそれぞれの格納値に
基づいたピーク検出処理を行う。図3はこのピーク検出
処理の詳細を示す図である。このピーク検出処理は次の
ようなステップで順番に実行される。Step 6: The value stored in the previous value register NOW is stored in the value register OLD two times before, the value stored in the current value register NEW is stored in the previous value register NOW, and the moving average value calculated this time (moving average register M_AVER)
AGE) is stored in the current value register NEW.
That is, the value register OLD and the previous value register N
The values stored in the OW and the present value register NEW are respectively shifted to new values. Step 7: A peak detection process is performed based on the stored values of the value register OLD, the previous value register NOW, and the current value register NEW. FIG. 3 is a diagram showing details of the peak detection processing. This peak detection processing is sequentially executed in the following steps.
【0026】ステップ70:前回値レジスタNOWの格
納値が、前々回値レジスタOLDの格納値以上及び今回
値レジスタNEWの格納値以上であるかどうか、すなわ
ち前回のタイマ割り込みの時点で検出された移動平均値
が極大値(ピーク)かどうかの判定を行い、YESの場
合は次のステップ71に進み、NOの場合は図2のステ
ップ8に進む。 ステップ71:前回のタイマ割り込みの時点が移動平均
値の極大値(ピーク)だと前ステップ70で判定された
ので、ここでは今回のピーク判定時点が前回のピーク判
定時点から起算して所定時間経過したかどうかの判定を
行い、所定時間経過している場合(YES)には次のス
テップ72に進み、所定時間経過していない(NO)場
合には直ちに図2のステップ8に進む。すなわち、前回
のピーク判定時点から所定時間経過していない時点で再
びステップ70でYESと判定されたピークは、実は操
作者の揺動動作の乱れによって生じた疑似のピーク値だ
ということを意味するからである。Step 70: Whether or not the stored value of the previous value register NOW is equal to or more than the stored value of the value register OLD before and the value of the current value register NEW, that is, the moving average detected at the time of the previous timer interrupt. It is determined whether the value is a local maximum (peak). If YES, the process proceeds to the next step 71, and if NO, the process proceeds to step 8 in FIG. Step 71: Since it was determined in the previous step 70 that the time of the previous timer interrupt was the maximum value (peak) of the moving average value, a predetermined time has elapsed since the current peak determination time is calculated from the previous peak determination time. It is determined whether or not the process has been performed. If the predetermined time has elapsed (YES), the process proceeds to the next step 72, and if the predetermined time has not elapsed (NO), the process immediately proceeds to step 8 in FIG. In other words, the peak determined as YES again in step 70 when the predetermined time has not elapsed since the previous peak determination point means that the peak is actually a pseudo peak value caused by disturbance of the swinging motion of the operator. Because.
【0027】ステップ72:前回値レジスタNOWの格
納値が一定しきい値よりも大きいかどうかを判定し、大
きい(YES)場合は次のステップ73に進み、小さい
(NO)場合は直ちに図2のステップ8に進む。すなわ
ち、前回値レジスタNOWの格納値が一定しきい値より
も小さいということは、ステップ70及びステップ71
でYESと判定されたピークは、操作者の揺動動作の乱
れによって生じた疑似のピーク値だということを意味す
るからである。 ステップ73:前回値レジスタNOWの格納値が図2の
ステップ5で算出されダイナミックしきい値レジスタD
YNA_THREに格納されているダイナミックしきい
値よりも大きいかどうかを判定し、大きい(YES)場
合は次のステップ74に進み、小さい(NO)場合は直
ちに図2のステップ8に進む。すなわち、ピーク値はダ
イナミックしきい値よりも必ず大きいからである。Step 72: It is determined whether or not the value stored in the previous value register NOW is larger than a certain threshold value. If it is larger (YES), the process proceeds to the next step 73, and if smaller (NO), the process immediately proceeds to FIG. Proceed to step 8. That is, the fact that the value stored in the previous value register NOW is smaller than the certain threshold value means that the values of Step 70 and Step 71
This is because the peak determined as YES in the above means a pseudo peak value caused by the disturbance of the swinging motion of the operator. Step 73: The value stored in the previous value register NOW is calculated in step 5 of FIG.
It is determined whether or not it is larger than the dynamic threshold value stored in YNA_THRE. If it is larger (YES), the process proceeds to the next step 74, and if smaller (NO), the process immediately proceeds to step 8 in FIG. That is, the peak value is always larger than the dynamic threshold value.
【0028】ステップ74:前回値レジスタNOWの格
納値が、前回ピーク値レジスタLAST_PEAKの格
納値に1以下の所定係数Aを乗じたものよりも大きいか
どうかを判定し、大きい(YES)場合は次のステップ
75に進み、小さい場合は直ちに図2のステップ8に進
む。すなわち、ピーク値は前回のピーク値にだいたい近
似した値となると考えられるからである。 ステップ75:今回のタイマ割り込みの時点以前にピー
ク検出処理又は谷検出処理によって検出されたのが谷か
どうかの判定を行い、前回検出されたのが谷(YES)
の場合は今回検出されたピークは正しいと考えられるの
で次のステップ76に進み、前回検出されたのがピーク
(NO)の場合はピークが連続することはあり得ないの
で、今回検出されたピークが誤りであると考えられるの
で直ちに図2のステップ8に進む。Step 74: It is determined whether or not the value stored in the previous value register NOW is larger than the value obtained by multiplying the value stored in the previous peak value register LAST_PEAK by a predetermined coefficient A of 1 or less. If the value is smaller, the process immediately proceeds to step 8 in FIG. That is, the peak value is considered to be a value approximately similar to the previous peak value. Step 75: It is determined whether the valley detected by the peak detection processing or the valley detection processing before the time of the current timer interrupt is a valley, and the valley detected last time is (YES).
In the case of, the peak detected this time is considered to be correct, so the process proceeds to the next step 76. If the peak detected last time is a peak (NO), the peak cannot be continuous. Is considered to be an error, and the process immediately proceeds to step 8 in FIG.
【0029】ステップ76:前回ピーク値レジスタLA
ST_PEAKに前回値レジスタNOWの格納値を格納
する。 ステップ77:今回検出されたピークがどのような揺動
状態におけるピークであるのかピーク種類判定処理を行
う。すなわち、ステップ70〜ステップ75の処理によ
って判定されたピークが指揮棒20のどの方向に振られ
たことによって発生したものなのかを判定する処理であ
る。Step 76: Previous peak value register LA
The value stored in the previous value register NOW is stored in ST_PEAK. Step 77: A peak type determination process is performed to determine the rocking state of the peak detected this time. That is, this is a process of determining in which direction of the baton 20 the peak determined by the processes of steps 70 to 75 is caused by swinging.
【0030】図4はこのピーク種類判定処理の詳細を示
す図である。このピーク種類判定処理は次のようなステ
ップで順番に実行される。 ステップ770:直流成分の除去されたX方向圧電振動
ジャイロセンサ2Aの出力X及びY方向圧電振動ジャイ
ロセンサ2Bの出力Yに基づいて角度を算出し、それを
角度レジスタθに格納する。角度は図4のステップ77
0に示す演算式、すなわち出力Yを出力Xで除した値の
アークタンジェントによって算出される。FIG. 4 is a diagram showing details of the peak type determination processing. This peak type determination processing is sequentially executed in the following steps. Step 770: Calculate the angle based on the output X of the X-direction piezoelectric vibration gyro sensor 2A and the output Y of the Y-direction piezoelectric vibration gyro sensor 2B from which the DC component has been removed, and store it in the angle register θ. The angle is determined by step 77 in FIG.
It is calculated by an arithmetic expression shown in 0, that is, an arc tangent of a value obtained by dividing the output Y by the output X.
【0031】ステップ771:角度レジスタθの格納値
が180°より大きくて300°以下であるかどうかの
判定を行い、YESの場合は次のステップ772に進
み、NOの場合はステップ773に進む。 ステップ772:今回のピークが動作種類『1』によっ
て生じたものとする。 ステップ773:角度レジスタθの格納値が60°以下
であって300°よりも大きいかどうかの判定を行い、
YESの場合は次のステップ774に進み、NOの場合
はステップ775に進む。 ステップ774:今回のピークが動作種類『2』によっ
て生じたものとする。 ステップ775:ステップ771及びステップ773で
NOと判定されたということは、角度レジスタθの格納
値が180°以下であって60°よりも大きいというこ
とを意味するので、ここでは、今回のピークが動作種類
『3』によって生じたものとする。Step 771: It is determined whether or not the value stored in the angle register θ is greater than 180 ° and equal to or less than 300 °. If YES, the process proceeds to the next step 772, and if NO, the process proceeds to a step 773. Step 772: Assume that the current peak is caused by the operation type “1”. Step 773: Determine whether the stored value of the angle register θ is equal to or less than 60 ° and greater than 300 °,
In the case of YES, the process proceeds to the next step 774, and in the case of NO, the process proceeds to step 775. Step 774: Assume that the current peak is caused by the operation type “2”. Step 775: The determination of NO in steps 771 and 773 means that the stored value of the angle register θ is equal to or smaller than 180 ° and larger than 60 °. It is assumed that this is caused by the operation type “3”.
【0032】ステップ776:制御モードレジスタMO
DEが『1』であるかどうかを判定し、『1』(YE
S)の場合は次のステップ777に進み、『0』(N
O)の場合は図3のステップ78に進む。制御モードレ
ジスタMODEはテンポキーオンの出力タイミングを絶
対角速度のピーク検出時点で行うか、それとも谷検出時
点で行うかのモードを決定するものであり、『1』がピ
ーク検出時点で行うことを示し、『0』が谷検出時点で
行うことを示す。 ステップ777:ディレイタイムカウンタDELAYに
ディレイタイムレジスタDLY_TIMEの値を格納す
る。ディレイタイムカウンタDELAYはピーク検出時
点又は谷検出時点から所定時間経過後にテンポキーオン
を出力するための所定時間を設定するためのカウンタで
ある。Step 776: Control mode register MO
It is determined whether DE is “1” and “1” (YE
In the case of (S), the process proceeds to the next step 777, where "0" (N
In the case of O), the process proceeds to step 78 in FIG. The control mode register MODE determines the mode of performing the output timing of the tempo key-on at the time of detecting the peak of the absolute angular velocity or at the time of detecting the valley. "1" indicates that the output is performed at the time of peak detection. "0" indicates that the detection is performed at the time of valley detection. Step 777: The value of the delay time register DLY_TIME is stored in the delay time counter DELAY. The delay time counter DELAY is a counter for setting a predetermined time for outputting a tempo key-on after a predetermined time has elapsed from the peak detection time or the valley detection time.
【0033】図9は、ステップ770の演算式によって
求められた角度θと動作種類との関係を示す図である。
すなわち、角度θが180°より大きくて300°以下
である(ステップ771でYES)と判定されたという
ことは、図示のような動作1の方向に、角度θが60°
以下であって300°よりも大きい(ステップ773で
YES)と判定されたということは、図示のような動作
2の方向に、角度θが180°以下であって60°より
も大きい(ステップ775でYES)と判定されたとい
うことは、図示のような動作3の方向に指揮棒20が振
られたことをそれぞれ意味する。FIG. 9 is a diagram showing the relationship between the angle θ obtained by the arithmetic expression in step 770 and the type of operation.
That is, it is determined that the angle θ is greater than 180 ° and equal to or less than 300 ° (YES in step 771), which means that the angle θ is 60 ° in the direction of operation 1 as illustrated.
Is smaller than 300 ° (YES in step 773), it means that the angle θ is 180 ° or smaller and larger than 60 ° in the direction of operation 2 as shown (step 775). Is YES) means that the baton 20 has been swung in the direction of operation 3 as shown in the figure.
【0034】ステップ78:今回検出されたピーク値に
基づいてダイナミクスを求め、図2のステップ8に進
む。このダイナミクスは前ステップ78で判定されたピ
ーク種類毎に設けられた変換テーブルに基づいてピーク
値を変換して得てもよいし、ピーク種類毎に異なる演算
式によって求めてもよい。Step 78: The dynamics is obtained based on the peak value detected this time, and the process proceeds to Step 8 in FIG. This dynamics may be obtained by converting a peak value based on a conversion table provided for each peak type determined in the previous step 78, or may be obtained by a different arithmetic expression for each peak type.
【0035】ステップ8:前々回値レジスタOLD、前
回値レジスタNOW及び今回値レジスタNEWのそれぞ
れの格納値に基づいた谷検出処理を行う。図5はこの谷
検出処理の詳細を示す図である。この谷検出処理は次の
ようなステップで順番に実行される。Step 8: A valley detection process is performed based on the respective stored values of the value register OLD, the previous value register NOW and the current value register NEW. FIG. 5 is a diagram showing details of the valley detection processing. This valley detection processing is sequentially executed in the following steps.
【0036】ステップ80:前回値レジスタNOWの格
納値が、前々回値レジスタOLDの格納値以下であり、
かつ、今回値レジスタNEWの格納値以下であるかどう
か、すなわち前回のタイマ割り込みの時点で検出された
移動平均値が極小値(谷)かどうかの判定を行い、YE
Sの場合は次のステップ81に進み、NOの場合は図2
のステップ9に進む。 ステップ81:前回のタイマ割り込みの時点が移動平均
値の極小値(谷)となった時点であると前ステップ80
で判定されたので、ここでは今回の谷判定時点が前回の
谷判定時点から起算して所定時間経過したかどうかの判
定を行い、所定時間経過している場合(YES)には次
のステップ82に進み、所定時間経過していない(N
O)場合には、今回の谷判定は誤りであると考えられる
ので直ちに図2のステップ9に進む。Step 80: The value stored in the previous value register NOW is equal to or less than the value stored in the value register OLD before last time,
In addition, it is determined whether or not the value is equal to or less than the value stored in the current value register NEW, that is, whether or not the moving average value detected at the time of the previous timer interrupt is a minimum value (valley).
In the case of S, the process proceeds to the next step 81, and in the case of NO, FIG.
Go to step 9 of. Step 81: If the time of the previous timer interrupt is the time when the moving average value becomes the minimum value (valley), the previous step 80
In this case, it is determined whether or not a predetermined time has elapsed since the current valley determination time from the previous valley determination time. If the predetermined time has elapsed (YES), the next step 82 And the predetermined time has not elapsed (N
In the case of O), the valley determination this time is considered to be erroneous, so that the process immediately proceeds to step 9 in FIG.
【0037】ステップ82:前回値レジスタNOWの格
納値が一定しきい値よりも小さいかどうかを判定し、小
さい(YES)場合は次のステップ83に進み、大きい
(NO)場合は今回の谷判定が誤りであると考えられる
ので直ちに図2のステップ9に進む。 ステップ83:前回値レジスタNOWの格納値が図2の
ステップ5で算出されダイナミックしきい値レジスタD
YNA_THREに格納されているダイナミックしきい
値よりも小さいかどうかを判定し、小さい(YES)場
合は次のステップ84に進み、大きい(NO)場合は今
回の谷判定が誤りであると考えられるので直ちに図2の
ステップ9に進む。Step 82: It is determined whether or not the value stored in the previous value register NOW is smaller than a certain threshold value. If smaller (YES), the process proceeds to the next step 83, and if larger (NO), the current valley determination. Is considered to be an error, and the process immediately proceeds to step 9 in FIG. Step 83: The value stored in the previous value register NOW is calculated in step 5 of FIG.
It is determined whether the value is smaller than the dynamic threshold value stored in YNA_THRE. If smaller (YES), the process proceeds to the next step 84, and if larger (NO), the valley determination this time is considered to be erroneous. The process immediately proceeds to step 9 in FIG.
【0038】ステップ84:今回のタイマ割り込みの時
点以前にピーク検出処理又は谷検出処理によって検出さ
れたのがピークかどうかの判定を行い、前回検出された
のがピーク(YES)の場合は今回検出された谷は正し
いと考えられるので次のステップ85に進み、前回検出
されたのが谷(NO)の場合は今回検出された谷は誤り
であると考えられるので図2のステップ9に進む。Step 84: It is determined whether or not the peak detected by the peak detection processing or the valley detection processing is a peak before the time of the current timer interrupt. If the previous detection was a peak (YES), the current detection is performed. Since the detected valley is considered correct, the process proceeds to the next step 85. If the valley detected last time is NO (NO), the valley detected this time is considered to be erroneous, and the process proceeds to step 9 in FIG.
【0039】ステップ85:今回検出された谷がどのよ
うな揺動状態における谷であるのか谷種類判定処理を行
う。すなわち、ステップ80〜ステップ84の処理によ
って判定された谷がどの動作種類のピークの後に発生し
たものなのかを判定する。図6はこの谷種類判定処理の
詳細を示す図である。この谷種類判定処理は次のような
ステップで順番に実行される。 ステップ850:前回のピーク種類判定処理の結果によ
るピーク種類が『1』かどうかを判定し、YESの場合
は次のステップ851に進み、NOの場合はステップ8
52に進む。 ステップ851:今回の谷が動作種類『1』によって生
じたものとする。 ステップ852:前回のピーク種類判定処理の結果によ
るピーク種類が『2』かどうかを判定し、YESの場合
は次のステップ853に進み、NOの場合はステップ8
54に進む。 ステップ853:今回の谷が動作種類『2』によって生
じたものとする。 ステップ854:ステップ850及びステップ852で
NOと判定されたということは、前回のピーク種類判定
処理の結果によるピーク種類が『3』だということを意
味するので、ここでは、今回の谷が動作種類『3』によ
って生じたものとする。 ステップ855:制御モードレジスタMODEが『0』
であるかどうかを判定し、『0』(YES)の場合は次
のステップ856に進み、『1』(NO)の場合は図2
のステップ9に進む。 ステップ856:ディレイタイムカウンタDELAYに
ディレイタイムレジスタDLY_TIMEの値を格納
し、図2のステップ9に進む。Step 85: A valley type determination process is performed to determine the rocking state of the valley detected this time. That is, it is determined which valley determined by the processing of steps 80 to 84 occurs after the peak of which operation type. FIG. 6 is a diagram showing details of the valley type determination processing. This valley type determination processing is sequentially executed in the following steps. Step 850: It is determined whether or not the peak type as a result of the previous peak type determination processing is “1”. If YES, proceed to the next step 851; if NO, step 8
Go to 52. Step 851: It is assumed that the current valley is generated by the operation type “1”. Step 852: It is determined whether or not the peak type based on the result of the previous peak type determination processing is “2”. If YES, proceed to the next step 853; if NO, step 8
Proceed to 54. Step 853: Assume that the current valley is generated by the operation type “2”. Step 854: Since the determination of NO in steps 850 and 852 means that the peak type according to the result of the previous peak type determination process is “3”, here, the valley of this time is the operation type. Assume that this was caused by “3”. Step 855: Control mode register MODE is "0"
Is determined, the process proceeds to the next step 856 if “0” (YES), and to FIG. 2 if “1” (NO).
Go to step 9 of. Step 856: Store the value of the delay time register DLY_TIME in the delay time counter DELAY, and proceed to step 9 in FIG.
【0040】ステップ9:図4のピーク種類判定処理又
は図6の谷種類判定処理によって判定された動作種類に
基づいたテンポキーオン出力処理を行う。 図7はこのテンポキーオン出力処理の詳細を示す図であ
る。このテンポキーオン出力処理は次のようなステップ
で順番に実行される。 ステップ90:ディレイカウンタDELAYが『0』よ
り大きいかどうか判定し、『0』より大きい(YES)
場合は次のステップ91に進み、小さい(NO)場合は
リターンする。ディレイカウンタDELAYには初期設
定処理によって通常『0』が設定されているので、図4
のステップ777又は図6のステップ856の処理によ
ってディレイタイムレジスタDLY_TIMEの値が格
納されない限り、このステップの判定結果はNOとな
る。 ステップ91:ディレイカウンタDELAYを『1』だ
けデクリメント処理する。 ステップ92:ディレイカウンタDELAYが『0』か
どうか判定し、『0』(YES)の場合は次のステップ
93に進み、そうでない(NO)場合はリターンする。 ステップ93:図4のピーク種類判定処理又は図6の谷
種類判定処理によって判定された動作種類に応じたキー
コードのキーオンを出力し、次のタイマ割り込みタイミ
ングまで待機する。この実施例では、ピーク種類又は谷
種類が動作『1』の場合にはキーコード『C3』、動作
『2』の場合にはキーコード『C♯3』、動作『3』の
場合にはキーコード『D3』のキーオンを出力する。Step 9: Tempo key-on output processing is performed based on the action type determined by the peak type determination processing of FIG. 4 or the valley type determination processing of FIG. FIG. 7 is a diagram showing details of the tempo key-on output processing. This tempo key-on output process is executed sequentially in the following steps. Step 90: Determine whether the delay counter DELAY is larger than "0", and larger than "0" (YES)
If it is, the process proceeds to the next step 91, and if it is smaller (NO), the process returns. Since the delay counter DELAY is normally set to “0” by the initial setting process, FIG.
Unless the value of the delay time register DLY_TIME is stored by the processing of step 777 of step 777 or step 856 of FIG. 6, the determination result of this step is NO. Step 91: Decrement the delay counter DELAY by "1". Step 92: Determine whether or not the delay counter DELAY is "0". If "0" (YES), proceed to the next step 93; otherwise (NO), return. Step 93: Key-on of a key code corresponding to the operation type determined by the peak type determination processing of FIG. 4 or the valley type determination processing of FIG. 6 is output, and the process waits until the next timer interrupt timing. In this embodiment, the key code "C3" when the peak type or the valley type is the operation "1", the key code "C $ 3" when the operation is "2", and the key code when the operation is "3". The key-on of code "D3" is output.
【0041】ステップA:指揮棒20に設けられている
ディレイタイムスイッチの操作に対応したディレイタイ
ム設定処理を行う。 図8はこのディレイタイム設定処理の詳細を示す図であ
る。このディレイタイム設定処理は次のようなステップ
で順番に実行される。 ステップA0:指揮棒20のディレイタイムスイッチが
操作されたかどうかの判定を行い、操作された(YE
S)場合は次のステップA1に進み、そうでない場合に
はリターンする。 ステップA1:前ステップA0でディレイタイムスイッ
チが操作されたと判定されたので、ここでは、その操作
されたディレイタイムスイッチかプラス『+』スイッチ
かどうかを判定し、プラススイッチ(YES)の場合は
ステップA2に進み、そうでないマイナススイッチ(N
O)の場合はステップA3に進む。Step A: A delay time setting process corresponding to the operation of the delay time switch provided on the baton 20 is performed. FIG. 8 is a diagram showing details of the delay time setting process. This delay time setting process is executed sequentially in the following steps. Step A0: It is determined whether or not the delay time switch of the baton 20 has been operated.
If S), proceed to the next step A1, otherwise return. Step A1: Since it is determined in the previous step A0 that the delay time switch has been operated, it is determined here whether the operated delay time switch or the plus “+” switch has been operated. Proceed to A2, and if not, a minus switch (N
In the case of O), the process proceeds to step A3.
【0042】ステップA2:ディレイタイムスイッチの
プラススイッチが操作されたと前ステップA1で判定さ
れたので、ここでは、ディレイタイムレジスタDLY_
TIMEの値を『1』だけインクリメント処理する。 ステップA3:ディレイタイムスイッチのマイナススイ
ッチが操作されたと前ステップA1で判定されたので、
ここでは、ディレイタイムレジスタDLY_TIMEの
値を『1』だけデクリメント処理する。 ステップA4:前ステップA2のインクリメント処理又
はステップA3のデクリメント処理の結果、ディレイタ
イムレジスタDLY_TIMEの値が所定値よりも大き
く、あるいは『1』よりも小さくならないようにリミッ
ト処理を行う。なお、ここで設定したディレイタイムレ
ジスタDLY_TIMEの値の『1』は、10msに対
応するものである。Step A2: Since it was determined in the previous step A1 that the plus switch of the delay time switch was operated, the delay time register DLY_
The value of TIME is incremented by "1". Step A3: Since it was determined in the previous step A1 that the minus switch of the delay time switch was operated,
Here, the value of the delay time register DLY_TIME is decremented by "1". Step A4: As a result of the increment processing of the previous step A2 or the decrement processing of step A3, limit processing is performed so that the value of the delay time register DLY_TIME does not become larger than a predetermined value or becomes smaller than “1”. The value “1” of the delay time register DLY_TIME set here corresponds to 10 ms.
【0043】次に、指揮棒20が揺動されることによっ
て、どのようにしてセンサ出力処理が行われるのか、そ
の動作例を図10を用いて説明する。図10は、指揮棒
20が三角形の軌跡を描くようにして3拍子で揺動動作
される場合のセンサ出力処理の概念を示す模式図であ
る。図10(A)は指揮棒20が3拍子で揺動動作する
場合における絶対角速度の出力波形のようすを示す図で
あり、図10(B)は制御モードレジスタMODEが
『1』の場合におけるピーク検出時点とテンポキーオン
信号の出力時点との関係を示す図であり、図10(C)
は制御モードレジスタMODEが『0』の場合における
谷検出時点とテンポキーオン信号の出力時点との関係を
示す図である。Next, a description will be given of an example of how the sensor output processing is performed by swinging the baton 20, with reference to FIG. FIG. 10 is a schematic diagram showing the concept of the sensor output process in the case where the baton 20 swings in three beats so as to draw a triangular trajectory. FIG. 10A is a diagram showing an output waveform of the absolute angular velocity when the baton 20 swings in three beats, and FIG. 10B shows a peak when the control mode register MODE is “1”. FIG. 10C is a diagram showing the relationship between the detection time point and the output time point of the tempo key-on signal, and FIG.
FIG. 8 is a diagram showing a relationship between a valley detection time point and an output time point of a tempo key-on signal when the control mode register MODE is “0”.
【0044】指揮棒20が図10(B)及び図10
(C)のような三角形の軌跡を描くように揺動動作され
ることによってステップ3で算出される絶対角速度の値
は図10(A)のような形状となる。第1ピーク、第1
谷、第2ピーク、第2谷、第3ピーク、第3谷の順番で
それぞれピークと谷が交互に現れる。まず、制御モード
レジスタMODEが『1』の場合について説明する。こ
の場合、指揮棒20が図9において240°の方向(左
斜め下方向)に振られると、ステップ70〜ステップ7
5の処理によって第1ピークが検出される。図4のステ
ップ771の処理によって第1ピークは動作『1』のピ
ークだと判定され、さらにステップ777の処理によっ
てディレイタイムレジスタDLY_TIMEの値がディ
レイカウンタDELAYに格納される。従って、この第
1ピークが検出されてからディレイカウンタDELAY
が『0』になるまでの時間だけ遅れた時点で、ステップ
9の処理によってキーコード『C3』のテンポキーオン
信号が出力される。図10(B)では第1ピークの検出
時点が大きな円で示され、テンポキーオン信号の出力時
点が小さな円で示されている。FIG. 10B and FIG.
The value of the absolute angular velocity calculated in step 3 by swinging so as to draw a triangular locus as shown in FIG. 10C has a shape as shown in FIG. 1st peak, 1st
Peaks and valleys appear alternately in the order of valley, second peak, second valley, third peak, and third valley. First, a case where the control mode register MODE is “1” will be described. In this case, when the baton 20 is swung in the direction of 240 ° (diagonally downward left) in FIG.
The first peak is detected by the processing of No. 5. The first peak is determined to be the peak of the operation "1" by the processing of step 771 in FIG. 4, and the value of the delay time register DLY_TIME is stored in the delay counter DELAY by the processing of step 777. Therefore, after the first peak is detected, the delay counter DELAY
At a point in time delayed until the time becomes "0", the tempo key-on signal of the key code "C3" is output by the processing of step 9. In FIG. 10B, the detection point of the first peak is indicated by a large circle, and the output point of the tempo key-on signal is indicated by a small circle.
【0045】その後、指揮棒20が図9において240
°の方向(左斜め下方向)から0°の方向(右側水平方
向)に振られると、その揺動動作の変化点で図5のステ
ップ80〜ステップ84の処理によって今度は第1谷が
検出される。そして、図6のステップ850の処理によ
って第1谷は動作『1』の谷だと判定される。ここで
は、制御モードレジスタMODEは『1』なので、ディ
レイカウンタDELAYには何も格納されず、テンポキ
ーオン信号も出力されることなくそのまま処理は終了す
る。そして、同様に指揮棒20が図9において0°の方
向(右側水平方向)に振られると、今度は第2ピークが
動作『2』のピークとして検出され、この第2ピーク検
出時点から所定時間だけ遅れた時点でキーコード『C♯
3』のテンポキーオン信号が出力される。指揮棒20が
図9において0°の方向(右側水平方向)から120°
の方向(左斜め上方向)に振られると、その揺動動作の
変化点で第2谷が動作『2』の谷として検出される。指
揮棒20が図9において120°の方向(左斜め上方
向)に振られると、今度は第3ピークが動作『3』のピ
ークとして検出され、この第3ピーク検出時点から所定
時間だけ遅れた時点でキーコード『D3』のテンポキー
オン信号が出力される。そして、再び指揮棒20が図9
において120°の方向(左斜め上方向)から240°
の方向(左斜め下方向)に振られると、その揺動動作の
変化点で第3谷が動作『3』の谷として検出される。Thereafter, the conducting rod 20 is moved to 240 in FIG.
When it is swung in the direction of 0 ° (obliquely downward left) and in the direction of 0 ° (horizontal right), the first valley is detected by the processing of steps 80 to 84 in FIG. Is done. Then, the first valley is determined to be the valley of the operation “1” by the process of step 850 in FIG. Here, since the control mode register MODE is "1", nothing is stored in the delay counter DELAY, and the process ends without outputting a tempo key-on signal. Similarly, when the baton 20 is swung in the direction of 0 ° (horizontal right direction) in FIG. 9, the second peak is detected as the peak of the operation “2”, and a predetermined time has elapsed since the second peak was detected. Key code "C $"
3 "is output. Conducting rod 20 is 120 ° from the 0 ° direction (right horizontal direction) in FIG.
(The diagonally upper left direction), the second valley is detected as the valley of the operation “2” at the change point of the swinging operation. When the baton 20 is swung in the direction of 120 ° (diagonally upward to the left) in FIG. 9, the third peak is detected as the peak of the operation “3”, and it is delayed by a predetermined time from the time of detecting the third peak. At this point, a tempo key-on signal of key code "D3" is output. And again the conducting rod 20 is shown in FIG.
At 240 ° from the 120 ° direction (upward left diagonal)
(The diagonally downward left direction), the third valley is detected as the valley of the operation “3” at the changing point of the swinging operation.
【0046】図10(B)の右側には、指揮棒20が上
下方向に2拍子又は4拍子で揺動動作された場合のピー
ク検出時点とテンポキーオン信号の出力時点との関係が
示してある。この場合、指揮棒20が図9において27
0°の方向(下方向)に振られると、第1ピークが動作
『1』のピークとして検出され、この第1ピーク検出時
点から所定時間だけ遅れた時点でキーコード『C3』の
テンポキーオン信号が出力される。その後、指揮棒20
が図9において270°の方向(下方向)から90°の
方向(上方向)に振られると、その揺動動作の変化点で
第1谷が動作『1』の谷として検出される。そして、同
様に指揮棒20が図9において90°の方向(上方向)
に振られると、今度は第2ピークが動作『3』のピーク
として検出され、この第2ピーク検出時点から所定時間
だけ遅れた時点でキーコード『D3』のテンポキーオン
信号が出力される。指揮棒20が図9において90°の
方向(上方向)から270°の方向(下方向)に振られ
ると、その揺動動作の変化点で第2谷が動作『3』の谷
として検出される。On the right side of FIG. 10B, the relationship between the peak detection time and the output time of the tempo key-on signal when the baton 20 is swung up and down in two or four beats is shown. . In this case, the conductor 20 is 27 in FIG.
When it is swung in the direction of 0 ° (downward), the first peak is detected as the peak of the operation “1”, and at a point in time after the detection of the first peak by a predetermined time, the tempo key-on signal of the key code “C3” Is output. After that, the conductor 20
9, the first valley is detected as the valley of the operation “1” at the change point of the swinging operation when the direction is changed from the direction of 270 ° (downward) to the direction of 90 ° (upward) in FIG. And, similarly, the direction of the conducting rod 20 is 90 ° in FIG. 9 (upward direction).
Then, the second peak is detected as the peak of the operation "3", and the tempo key-on signal of the key code "D3" is output at a point in time after the detection of the second peak by a predetermined time. When the conductor bar 20 is swung in the direction of 270 ° (downward) from the direction of 90 ° (upward) in FIG. 9, the second valley is detected as the valley of the operation “3” at the changing point of the swinging operation. You.
【0047】次に、制御モードレジスタMODEが
『0』の場合について説明する。この場合、指揮棒20
が図9において240°の方向(左斜め下方向)に振ら
れると、ステップ70〜ステップ75の処理によって第
1ピークが検出される。図4のステップ771の処理に
よって第1ピークは動作『1』のピークだと判定され
る。ここでは、制御モードレジスタMODEは『0』な
ので、ディレイカウンタDELAYには何も格納され
ず、テンポキーオン信号も出力されることなくそのまま
処理は終了する。その後、指揮棒20が図9において2
40°の方向(左斜め下方向)から0°の方向(右側水
平方向)に振られると、その揺動動作の変化点で図5の
ステップ80〜ステップ84の処理によって今度は第1
谷が検出される。そして、図6のステップ850の処理
によって第1谷は動作『1』の谷だと判定される。さら
にステップ856の処理によってディレイタイムレジス
タDLY_TIMEの値がディレイカウンタDELAY
に格納される。従って、この第1谷が検出されてからデ
ィレイカウンタDELAYが『0』になるまでの時間だ
け遅れた時点で、ステップ9の処理によってキーコード
『C3』のテンポキーオン信号が出力される。図10
(C)では第1谷の検出時点が大きな円で示され、テン
ポキーオン信号の出力時点が小さな円で示されている。
そして、同様に指揮棒20が図9において0°の方向
(右側水平方向)に振られると、今度は第2ピークが動
作『2』のピークとして検出される。指揮棒20が図9
において0°の方向(右側水平方向)から120°の方
向(左斜め上方向)に振られると、その揺動動作の変化
点で第2谷が動作『2』の谷として検出され、この第2
谷検出時点から所定時間だけ遅れた時点でキーコード
『C♯3』のテンポキーオン信号が出力される。指揮棒
20が図9において120°の方向(左斜め上方向)に
振られると、今度は第3ピークが動作『3』のピークと
して検出される。そして、再び指揮棒20が図9におい
て120°の方向(左斜め上方向)から240°の方向
(左斜め下方向)に振られると、その揺動動作の変化点
で第3谷が動作『3』の谷として検出され、この第3谷
検出時点から所定時間だけ遅れた時点でキーコード『D
3』のテンポキーオン信号が出力される。Next, the case where the control mode register MODE is "0" will be described. In this case, the conductor 20
Is swung in the direction of 240 ° (obliquely downward leftward) in FIG. 9, the first peak is detected by the processing of steps 70 to 75. The first peak is determined to be the peak of the operation “1” by the process of step 771 in FIG. Here, since the control mode register MODE is “0”, nothing is stored in the delay counter DELAY, and the process ends without outputting a tempo key-on signal. Thereafter, the conducting rod 20 is moved to 2 in FIG.
When it is swung from the direction of 40 ° (the diagonally downward left direction) to the direction of 0 ° (horizontal right direction), at the changing point of the swinging operation, the first time is performed by the processing of steps 80 to 84 in FIG.
A valley is detected. Then, the first valley is determined to be the valley of the operation “1” by the process of step 850 in FIG. Further, the value of the delay time register DLY_TIME is changed to the value of the delay counter DELAY by the processing of step 856.
Is stored in Therefore, at a point in time when the delay counter DELAY becomes "0" after the detection of the first valley, the tempo key-on signal of the key code "C3" is output by the processing of step 9. FIG.
In (C), the detection point of the first valley is indicated by a large circle, and the output point of the tempo key-on signal is indicated by a small circle.
Similarly, when the command bar 20 is swung in the direction of 0 ° (horizontal right direction) in FIG. 9, the second peak is detected as the peak of the operation “2”. The conductor 20 is shown in FIG.
In the direction from 0 ° (horizontal right direction) to 120 ° (diagonally upper left direction), the second valley is detected as the valley of the operation “2” at the change point of the swinging operation. 2
At a point in time that is delayed by a predetermined time from the valley detection point, a tempo key-on signal of key code "C # 3" is output. When the baton 20 is swung in the direction of 120 ° (diagonally upward to the left) in FIG. 9, the third peak is detected as the peak of the operation “3”. When the conductor bar 20 is swung again from the direction of 120 ° (diagonally upper left) to the direction of 240 ° (diagonally lower left) in FIG. 3 ", and the key code" D "is delayed at a predetermined time after the detection of the third valley.
3 "is output.
【0048】図10(C)の右側には、指揮棒20が上
下方向に2拍子又は4拍子で揺動動作された場合の谷検
出時点とテンポキーオン信号の出力時点との関係が示し
てある。この場合、指揮棒20が図9において270°
の方向(下方向)に振られると、第1ピークが動作
『1』のピークとして検出される。その後、指揮棒20
が図9において270°の方向(下方向)から90°の
方向(上方向)に振られると、その揺動動作の変化点で
第1谷が動作『1』の谷として検出され、この第1谷検
出時点から所定時間だけ遅れた時点でキーコード『C
3』のテンポキーオン信号が出力される。そして、同様
に指揮棒20が図9において90°の方向(上方向)に
振られると、今度は第2ピークが動作『3』のピークと
して検出される。された場合の谷検出時点とテンポキー
オン信号の出力時点との関係がそれぞれ示してある。指
揮棒20が図9において90°の方向(上方向)から2
70°の方向(下方向)に振られると、その揺動動作の
変化点で第2谷が動作『3』の谷として検出され、この
第2谷検出時点から所定時間だけ遅れた時点でキーコー
ド『D3』のテンポキーオン信号が出力される。The right side of FIG. 10C shows the relationship between the valley detection point and the output point of the tempo key-on signal when the baton 20 is swung up and down in two or four beats. . In this case, the conductor rod 20 is 270 ° in FIG.
(The downward direction), the first peak is detected as the peak of the operation “1”. After that, the conductor 20
Is swung in the direction of 90 ° (upward) from the direction of 270 ° (downward) in FIG. 9, the first valley is detected as the valley of the operation “1” at the change point of the swinging operation, and this valley is detected. The key code “C
3 "is output. Similarly, when the baton 20 is swung in the direction of 90 ° (upward) in FIG. 9, the second peak is detected as the peak of the operation “3”. The relationship between the valley detection time point and the output time point of the tempo key-on signal when the valley is detected is shown. The conducting rod 20 is 2 degrees from the direction of 90 ° (upward direction) in FIG.
When it is swung in the direction of 70 ° (downward), the second valley is detected as the valley of the operation “3” at the change point of the swinging operation, and the key is delayed by a predetermined time from the detection of the second valley. A tempo key-on signal of code "D3" is output.
【0049】このようにして、指揮棒20に設けられて
いるディレイタイムスイッチを適宜操作し、ディレイタ
イムを適宜設定することによって、指揮棒20は、任意
の操作者の手振り動作に応じて操作者の意図した時点で
テンポキーオン信号を出力することができるようになる
ため、このテンポキーオン信号に応じて電子楽器1Hが
シーケンスデータの再生を行うことにより任意にテンポ
を制御することができるようになる。なお、後述するよ
うにテンポキーオン信号の出力タイミングと自動演奏の
拍タイミングとがほぼ一致するように、電子楽器1Hに
おいて自動演奏のテンポが制御されるので、操作者が意
図する拍タイミングと自動演奏の拍タイミングとが一致
する。In this way, by appropriately operating the delay time switch provided on the baton 20 and appropriately setting the delay time, the baton 20 can be moved by the operator in accordance with the hand gesture of any operator. Since the tempo key-on signal can be output at the intended time, the electronic musical instrument 1H can control the tempo arbitrarily by reproducing the sequence data according to the tempo key-on signal. . As will be described later, the tempo of the automatic performance is controlled in the electronic musical instrument 1H so that the output timing of the tempo key-on signal substantially coincides with the beat timing of the automatic performance. Beat timing.
【0050】次に、このテンポキーオン信号を入力する
ことによって、電子楽器1H内のマイクロコンピュータ
(CPU11)がどのようにして楽音の再生処理を行う
のかその一例を図11〜図13のフローチャートに基づ
いて説明する。図11は電子楽器1H内のマイクロコン
ピュータ(CPU11)が処理する楽音の再生処理の一
例を示す図である。この再生処理はタイマ19からの動
作クロック(周期約1ms)に同期して実行されるタイ
マ割り込み処理である。この再生処理はプログラムRO
M12に格納されている制御プログラムに応じた一連の
処理であり、次のようなステップで順番に実行される。Next, an example of how the microcomputer (CPU 11) in the electronic musical instrument 1H performs the tone reproduction process by inputting the tempo key-on signal will be described with reference to the flowcharts of FIGS. Will be explained. FIG. 11 is a diagram showing an example of a tone reproduction process performed by the microcomputer (CPU 11) in the electronic musical instrument 1H. This reproduction process is a timer interrupt process that is executed in synchronization with the operation clock (period approximately 1 ms) from the timer 19. This playback processing is performed by the program RO
This is a series of processes according to the control program stored in M12, and is sequentially executed in the following steps.
【0051】ステップ40:走行状態フラグRUNが
『1』かどうかを判定し、『1』(YES)の場合は自
動演奏データの再生処理を行うことを意味するので次の
ステップ41以降に進み、『0』(NO)の場合は再生
処理を行わないことを意味するので直ちにリターンし、
次の割り込みタイミングまで待機する。 ステップ41:一時停止フラグPAUSEが『0』かど
うかを判定し、『0』(YES)の場合は一時停止中な
ので次のステップ42に進み、『1』(NO)の場合は
ステップ4Bにジャンプする。一時停止については後述
する。 ステップ42:タイミングカウンタTIMEが『0』か
どうかを判定し、『0』(YES)の場合は次のステッ
プ43に進み、『0』以外の値(NO)の場合は次のス
テップ49にジャンプする。Step 40: It is determined whether or not the running state flag RUN is "1". If "1" (YES), it means that the reproduction process of the automatic performance data is performed. In the case of "0" (NO), it means that the reproduction process is not performed, so the routine immediately returns.
Wait until the next interrupt timing. Step 41: It is determined whether or not the pause flag PAUSE is “0”. If “0” (YES), the process is suspended and the process proceeds to the next step 42, and if “1” (NO), the process jumps to step 4B. I do. The suspension will be described later. Step 42: It is determined whether or not the timing counter TIME is "0". If "0" (YES), the process proceeds to the next step 43, and if it is a value other than "0" (NO), the process jumps to the next step 49. I do.
【0052】ステップ43:ステップ42又はステップ
47でタイミングカウンタTIMEが『0』だと判定さ
れたので、ここでは、RAM12のアドレスを進め、そ
のアドレス位置から自動演奏データを読み出す。自動演
奏データはイベントデータ(チャンネルナンバを含む)
とデルタタイムデータとの組み合わせ複数で構成され
る。 ステップ44:前ステップ43で読み出されたデータは
デルタタイムデータかどうかを判定し、デルタタイムデ
ータ(YES)の場合はステップ45に進み、そうでな
い他のイベントデータ(NO)の場合はステップ46に
進む。 ステップ45:タイミングカウンタTIMEにステップ
43で読み出されたデルタタイムデータを格納する。Step 43: Since it is determined in step 42 or 47 that the timing counter TIME is "0", the address of the RAM 12 is advanced, and the automatic performance data is read from that address position. Automatic performance data is event data (including channel number)
And delta time data. Step 44: It is determined whether or not the data read out in the previous step 43 is delta time data. If the data is delta time data (YES), the process proceeds to step 45, and if it is other event data (NO), step 46. Proceed to. Step 45: The delta time data read in step 43 is stored in the timing counter TIME.
【0053】ステップ46:ステップ43で読み出され
たイベントデータに対応した処理(イベント対応処理)
を実行する。 図12はこのイベント対応処理の詳細を示す図である。
このイベント対応処理は次のようなステップで順番に実
行される。 ステップ460:この実施例では自動演奏データが1〜
16チャンネルのデータを含み、そのうちのチャンネル
ナンバCH1をテンポ制御用のチャンネルとし、キーオ
ンイベントをテンポ制御用マークとして使用しているの
で、ここでは、前ステップ43で読み出されたイベント
データがチャンネルナンバCH1のイベントかどうかを
判定し、YESの場合はステップ461に進み、NOの
場合はこれ以外のチャンネルナンバのイベントなのでス
テップ465に進む。なお、チャンネルナンバCH1の
キーオンイベントは、各拍タイミングの位置に記憶され
ており、各イベントのキーコードは、3拍子の曲の場合
はC3,C♯3,D3,C3,C♯3,D3・・・の順
に、2,4拍子の場合はC3,D3,C3,D3の順に
並んでいる。Step 46: Processing corresponding to the event data read in step 43 (event handling processing)
Execute FIG. 12 is a diagram showing details of the event handling process.
This event handling process is executed sequentially in the following steps. Step 460: In this embodiment, the automatic performance data is 1 to
Since data of 16 channels is included, of which the channel number CH1 is used as a tempo control channel and the key-on event is used as a tempo control mark, the event data read out in the previous step 43 is the channel number. It is determined whether or not the event is a CH1 event. If YES, the process proceeds to a step 461; if NO, the process proceeds to a step 465 because the event is of another channel number. The key-on event of the channel number CH1 is stored at the position of each beat timing, and the key code of each event is C3, C♯3, D3, C3, C♯3, D3 in the case of a tune of three beats. .. Are arranged in the order of C3, D3, C3, and D3 in the case of two or four beats.
【0054】ステップ461:前ステップ460でチャ
ンネルナンバCH1のイベントだと判定されたので、こ
こでは、キーオンレシーブフラグKON_RCVが
『1』かどうかを判定し、『1』(YES)の場合はス
テップ462に進み、『0』(NO)の場合はステップ
463に進む。 ステップ462:前ステップ461でキーオンレシーブ
フラグKON_RCVが『1』であるということは、チ
ャンネルナンバCH1のイベントが読み出される前に指
揮棒20からMIDIインターフェイス27及び1Bを
介して既にテンポキーオン信号が入力したことを意味す
るので、ここでは、そのキーオンレシーブフラグKON
_RCVに『0』をセットし、ステップ47に進む。Step 461: Since it is determined in the previous step 460 that the event is the channel number CH1, it is determined here whether the key-on receive flag KON_RCV is “1”. If “1” (YES), step 462 is performed. The process proceeds to step 463 if “0” (NO). Step 462: The fact that the key-on receive flag KON_RCV is “1” in the previous step 461 means that the tempo key-on signal has already been input from the baton 20 via the MIDI interface 27 and 1B before the event of the channel number CH1 is read. In this case, the key-on receive flag KON
“0” is set to _RCV, and the routine proceeds to step 47.
【0055】ステップ463:前ステップ461でキー
オンレシーブフラグKON_RCVが『0』であるとい
うことは、前ステップ43で読み出されたチャンネルナ
ンバCH1のイベントに対応したテンポキーオン信号が
未だ入力していないことを意味するので、ここでは、そ
のキーコードレジスタKEYCODEに読み出されたイ
ベントのキーコードを格納する。 ステップ464:テンポキーオン信号が未だ入力してい
ないので、一時停止フラグPAUSEに『1』をセット
し、次のステップ47に進む。一時停止フラグPAUS
Eに『1』がセットされることによって、これ以降はス
テップ41の判定がNOとなり、ステップ42〜4Aは
実行されなくなる。 ステップ465:前ステップ460でチャンネルナンバ
CH1以外のイベントだと判定されたので、ここでは、
そのイベントを音源回路17に出力する。このとき、イ
ベントがノートイベントの場合には図3のステップ78
によって求められたダイナミクスに応じてベロシティを
修正する。このベロシティの修正によって指揮棒20の
振りの速さなどの揺動動作に応じて楽音の音量を任意に
制御することができる。なお、音量以外の要素、例えば
音色やピッチなどを任意に制御するようにしてもよい。Step 463: The fact that the key-on receive flag KON_RCV is "0" in the previous step 461 means that the tempo key-on signal corresponding to the event of the channel number CH1 read in the previous step 43 has not been input yet. Here, the key code of the read event is stored in the key code register KEYCODE. Step 464: Since the tempo key-on signal has not been input yet, "1" is set to the pause flag PAUSE, and the routine proceeds to the next step 47. Pause flag PAUS
By setting E to "1", the determination in step 41 becomes NO thereafter, and steps 42 to 4A are not executed. Step 465: Since it was determined in the previous step 460 that the event was other than the channel number CH1, here,
The event is output to the tone generator 17. At this time, if the event is a note event, step 78 in FIG.
Modify the velocity according to the dynamics determined by. By correcting the velocity, the volume of the musical sound can be arbitrarily controlled according to the swinging operation such as the speed of swinging of the baton 20. Note that elements other than the volume, for example, tone color and pitch, may be arbitrarily controlled.
【0056】ステップ47:前ステップ45で読み出さ
れたデルタタイムデータが『0』の場合があるので、こ
こでは再びタイミングカウンタTIMEが『0』がどう
かを判定し、『0』(YES)の場合は次のステップ4
3に進み、『0』以外の値(NO)の場合は次のステッ
プ49にジャンプする。デルタタイムデータが『0』と
いうことは、同じタイミングに複数イベントが存在する
ことを意味する。 ステップ48:タイミングレジスタTIMEの格納値に
テンポ係数レジスタT_COEFの格納値(テンポ係
数)を乗じる。ここで、テンポ係数は『1』を基準とし
た値で、この値に応じてテンポが制御される。例えば、
『0.5』であったときはテンポは2倍となり、『2』
であったときはテンポは半分となる。Step 47: Since the delta time data read in the previous step 45 may be "0", it is determined here again whether or not the timing counter TIME is "0". If the next step 4
Proceeding to step 3, if it is a value other than "0" (NO), jump to the next step 49. The fact that the delta time data is “0” means that a plurality of events exist at the same timing. Step 48: Multiply the value stored in the timing register TIME by the value stored in the tempo coefficient register T_COEF (tempo coefficient). Here, the tempo coefficient is a value based on “1”, and the tempo is controlled according to this value. For example,
When it is "0.5", the tempo is doubled and "2"
The tempo is halved.
【0057】ステップ49:タイミングレジスタTIM
Eの値を『1』だけデクリメント処理する。 ステップ4A:デルタアキュムレートレジスタDELT
A_ACMの値を『1』だけインクリメント処理する。
デルタアキュムレートレジスタDELTA_ACMはチ
ャンネルナンバCH1から読み出されるイベント間の時
間を計時するものである。 ステップ4B:インターバルレジスタINTERVAL
の値を『1』だけインクリメント処理する。インターバ
ルレジスタINTERVALは指揮棒20から送信され
てくるテンポキーオン信号の時間間隔を計時するもので
ある。Step 49: Timing register TIM
The value of E is decremented by "1". Step 4A: Delta accumulation register DELT
The value of A_ACM is incremented by “1”.
The delta accumulation register DELTA_ACM measures the time between events read from the channel number CH1. Step 4B: Interval Register INTERVAL
Is incremented by “1”. The interval register INTERVAL measures the time interval of the tempo key-on signal transmitted from the baton 20.
【0058】ステップ4C:テンポキーオン受信処理を
行う。このテンポキーオン受信処理は指揮棒20からテ
ンポキーオン信号を受信する毎に行われる処理である。
従って、テンポキーオン信号が受信されない場合には実
質的な処理は行われない。 図13はこのテンポキーオン受信処理の詳細を示す図で
ある。このテンポキーオン受信処理は次のようなステッ
プで順番に実行される。 ステップ4C0:指揮棒20からMIDIインターフェ
イス27及び1Bを介してテンポキーオン信号の受信有
りかどうかを判定し、受信有り(YES)の場合はステ
ップ4C1に進み、受信無し(NO)の場合は図11の
再生処理にリターンし、次の割り込みタイミングまで待
機する。Step 4C: A tempo key-on reception process is performed. This tempo key-on reception process is a process performed each time a tempo key-on signal is received from the baton 20.
Therefore, when the tempo key-on signal is not received, no substantial processing is performed. FIG. 13 is a diagram showing details of the tempo key-on receiving process. This tempo key-on receiving process is executed in the following steps in order. Step 4C0: It is determined whether or not a tempo key-on signal has been received from the baton 20 via the MIDI interfaces 27 and 1B. If the signal has been received (YES), the flow proceeds to step 4C1, and if not (NO), FIG. And waits until the next interrupt timing.
【0059】ステップ4C1:一時停止フラグPAUS
Eが『1』かどうかを判定し、『1』(YES)の場合
はステップ4C2に進み、『0』(NO)の場合はステ
ップ4C9に進む。 ステップ4C2:前ステップ4C1で一時停止フラグP
AUSEが『1』であると判定されたということは、テ
ンポキーオン信号の受信よりも先にチャンネルナンバC
H1のイベントデータが読み出され、そのキーコードが
ステップ463で既にキーコードレジスタKEYCOD
Eに格納されたことを意味するので、ここでは、その受
信テンポキーオン信号のキーコードとキーコードレジス
タKEYCODEに格納されているキーコードとが一致
するかどうかを判定し、一致する(YES)場合はステ
ップ4C3に進み、一致しない(NO)場合は図11の
再生処理にリターンし、次の割り込みタイミングまで待
機する。Step 4C1: Temporary stop flag PAUS
It is determined whether E is “1”. If “1” (YES), the process proceeds to step 4C2, and if “0” (NO), the process proceeds to step 4C9. Step 4C2: The suspension flag P in the previous step 4C1
The determination that AUSE is "1" means that the channel number C is detected before the reception of the tempo key-on signal.
The event data of H1 is read, and the key code is already stored in the key code register KEYCOD in step 463.
In this case, it is determined whether the key code of the received tempo key-on signal matches the key code stored in the key code register KEYCODE. Proceeds to step 4C3, and if they do not match (NO), the process returns to the reproduction process of FIG. 11, and waits for the next interrupt timing.
【0060】ステップ4C3:インターバルレジスタI
NTERVALの値とデルタアキュムレートレジスタD
ELTA_ACMの値との比をレートレジスタRATE
に格納する。すなわち、指揮棒20から送信されてくる
テンポキーオン信号の時間間隔と、実際にチャンネルナ
ンバCH1のイベントが読み出される時間間隔との比が
レートレジスタRATEに格納される。 ステップ4C4:レートレジスタRATEの値にテンポ
係数レジスタT_COEFのテンポ係数を乗じる。 ステップ4C5:前ステップ4C4の処理の結果、テン
ポ係数レジスタT_COEFの値が所定値よりも大き
く、あるいは小さくならないようにリミット処理を行
う。 ステップ4C6:デルタアキュムレートレジスタDEL
TA_ACMに『0』をセットする。 ステップ4C7:インターバルレジスタINTERVA
Lに『0』をセットする。 ステップ4C8:一時停止フラグPUASEに『0』を
セットする。これによって図11の再生処理が再び開始
するようになる。Step 4C3: Interval register I
NTERVAL value and delta accumulation register D
The ratio with the value of ELTA_ACM is set in the rate register RATE.
To be stored. That is, the ratio between the time interval of the tempo key-on signal transmitted from the baton 20 and the time interval at which the event of the channel number CH1 is actually read is stored in the rate register RATE. Step 4C4: Multiply the value of the rate register RATE by the tempo coefficient of the tempo coefficient register T_COEF. Step 4C5: As a result of the processing of the previous step 4C4, limit processing is performed so that the value of the tempo coefficient register T_COEF does not become larger or smaller than a predetermined value. Step 4C6: Delta Accumulate Register DEL
"0" is set to TA_ACM. Step 4C7: Interval register INTERVA
Set “0” to L. Step 4C8: “0” is set to the temporary stop flag PUASE. Thus, the reproduction processing of FIG. 11 starts again.
【0061】ステップ4C9:前ステップ4C1で一時
停止フラグPAUSEが『0』であると判定されたとい
うことは、チャンネルナンバCH1のイベントデータが
まだ読み出されていないことを意味するので、この時点
以降に最初に現れる次のチャンネルナンバCH1のイベ
ントをサーチして読み出す。 ステップ4CA:受信テンポキーオン信号のキーコード
とサーチしたチャンネルナンバCH1のキーコードとが
一致するかどうかを判定し、一致する(YES)場合は
ステップ4CAに進み、一致しない(NO)場合は図1
1の再生処理にリターンし、次の割り込みタイミングま
で待機する。Step 4C9: The fact that the temporary stop flag PAUSE is determined to be "0" in the previous step 4C1 means that the event data of the channel number CH1 has not been read out yet. Is searched for and read out the event of the next channel number CH1 which first appears. Step 4CA: It is determined whether or not the key code of the received tempo key-on signal matches the key code of the searched channel number CH1. If they match (YES), the process proceeds to step 4CA; if they do not match (NO), FIG.
The process returns to the playback process 1 and waits until the next interrupt timing.
【0062】ステップ4CB:前ステップ4C8でサー
チしたチャンネルナンバCH1のイベントがサーチされ
るまでに読み出された各イベントのデルタタイムデータ
の累算値にテンポ係数レジスタT_COEFのテンポ係
数を乗じたものと、その時点におけるタイミングレジス
タTIMEの値とをデルタアキュムレートレジスタDE
LTA_ACMに加算する。 ステップ4CC:前記ステップ4C8でサーチしたイベ
ントまでのデルタタイム及びタイミングレジスタTIM
Eの値に1/Bを乗じる。ここでBは1以上の値とす
る。すなわち、指揮棒20からのテンポキーオン信号を
受信した時点以降の再生速度を上げて、テンポキーオン
信号受信タイミングと拍タイミングとを近づけるため
に、各イベントのデルタタイム及びタイミングレジスタ
TIMEの値を小さくする。 ステップ4CD:キーオンレシーブフラグKON_RC
Vに『1』をセットし、ステップ4CEに進む。 ステップ4CEからステップ4CJまでは前記ステップ
4C3から前記ステップ4C7までと同じなので、その
説明は省略する。Step 4CB: A value obtained by multiplying the accumulated value of the delta time data of each event read until the event of the channel number CH1 searched in the previous step 4C8 is searched by the tempo coefficient of the tempo coefficient register T_COEF. , The value of the timing register TIME at that time and the delta accumulation register DE
Add to LTA_ACM. Step 4CC: Delta time and timing register TIM up to the event searched in step 4C8
Multiply the value of E by 1 / B. Here, B is a value of 1 or more. That is, the delta time of each event and the value of the timing register TIME are reduced in order to increase the reproduction speed after receiving the tempo key-on signal from the baton 20 and make the timing of receiving the tempo key-on signal closer to the beat timing. . Step 4CD: Key-on receive flag KON_RC
V is set to "1", and the routine proceeds to step 4CE. Steps 4CE to 4CJ are the same as steps 4C3 to 4C7, and a description thereof will be omitted.
【0063】次に、このテンポキーオン信号を入力する
ことによって、電子楽器1H内のマイクロコンピュータ
(CPU11)がどのようにして再生処理を行うのか、
その動作例を図14を用いて説明する。図14は、指揮
棒20から電子楽器1Hに取り込まれるテンポキーオン
信号の入力タイミングと、自動演奏データの読み出しタ
イミンイグとの関係を示す図である。タイミングt0で
は図11のステップ40〜ステップ42を経て、ステッ
プ43でチャンネルナンバCH3のイベントが読み出さ
れ、図12のステップ465でそのイベントが音源回路
に出力される。次のステップ43でデルタタイムD0が
読み出され、ステップ45でタイミングレジスタTIM
EにそのデルタタイムD0が書き込まれる。Next, by inputting the tempo key-on signal, how the microcomputer (CPU 11) in the electronic musical instrument 1H performs the reproducing process will be described.
An example of the operation will be described with reference to FIG. FIG. 14 is a diagram showing the relationship between the input timing of the tempo key-on signal taken into the electronic musical instrument 1H from the baton 20 and the timing of reading out the automatic performance data. At the timing t0, the event of the channel number CH3 is read in the step 43 through the steps 40 to 42 in FIG. 11, and the event is output to the tone generator in the step 465 in FIG. In the next step 43, the delta time D0 is read, and in a step 45, the timing register TIM is read.
The delta time D0 is written to E.
【0064】その後、デルタタイムD0に対応する時間
が経過することよって、タイミングレジスタTIMEの
値も0となり、タイミングt1ではステップ40〜ステ
ップ42を経て、ステップ43によってチャンネルナン
バCH1のイベントが読み出される。このタイミングt
1ではまだテンポキーオン信号は受信されていないの
で、図12のステップ461ではNOと判定され、ステ
ップ463でイベントのキーコード『C3』がキーコー
ドレジスタKEYCODEに格納され、一時停止フラグ
PAUSEに『1』がセットされる。次のステップ43
でデルタタイムD1が読み出され、ステップ45でタイ
ミングレジスタTIMEにそのデルタタイムD1が書き
込まれる。タイミングt1よりも少し遅れたタイミング
t2で今度は指揮棒20から電子楽器1Hに対してキー
コード『C3』のテンポキーオン信号が受信される。こ
れによって、図13のテンポキーオン受信処理のステッ
プ4C0〜ステップ4C2を経て、ステップ4C3〜ス
テップ4C8の処理が行われ、インターバルレジスタI
NTERVALの値とデルタアキュムレートレジスタD
ELTA_ACMの値との比であって、例えばほぼ1に
近い値がレートレジスタRATEに新たに格納され、テ
ンポ係数レジスタT_COEFには前回とほとんど同じ
テンポ係数が格納され、インターバルレジスタINTE
RVAL、デルタアキュムレートレジスタDELTA_
ACM及び一時停止フラグPAUSEに『0』がセット
される。Thereafter, as the time corresponding to the delta time D0 elapses, the value of the timing register TIME also becomes 0. At the timing t1, the event of the channel number CH1 is read out at the step 43 through the steps 40 to 42 and the step 43. This timing t
At 1, the tempo key-on signal has not been received yet, so the determination at step 461 of FIG. 12 is NO, and at step 463 the key code “C3” of the event is stored in the key code register KEYCODE, and the pause flag PAUSE is set to “1”. Is set. Next step 43
, The delta time D1 is read, and in step 45, the delta time D1 is written to the timing register TIME. At timing t2, which is slightly later than timing t1, a tempo key-on signal of key code "C3" is received from the baton 20 to the electronic musical instrument 1H. As a result, the processing of steps 4C3 to 4C8 is performed through steps 4C0 to 4C2 of the tempo key-on reception processing of FIG.
NTERVAL value and delta accumulation register D
The ratio with the value of ELTA_ACM, for example, a value close to substantially 1 is newly stored in the rate register RATE, the tempo coefficient register T_COEF stores almost the same tempo coefficient as the previous time, and the interval register INTER
RVAL, Delta accumulation register DELTA_
“0” is set to the ACM and the pause flag PAUSE.
【0065】その後、デルタタイムD1に対応する時間
が経過することよって、タイミングレジスタTIMEの
値も0となり、タイミングt3ではチャンネルナンバC
H2のイベントが読み出され、図12のステップ465
でそのイベントが音源回路に出力される。次のステップ
43でデルタタイムD2が読み出され、ステップ45で
タイミングレジスタTIMEにそのデルタタイムD2が
書き込まれる。以下、同様にして各タイミングt3〜t
7でチャンネルナンバCH3〜CH6のイベント及びデ
ルタタイムD3〜D6が順次読み出され、それぞれのイ
ベントが音源回路に出力される。その後、デルタタイム
D6に対応する時間を計時中(タイミングレジスタTI
MEのデクリメント処理中)のタイミングt8で今度は
指揮棒20から電子楽器1Hに対してキーコード『C♯
3』のテンポキーオン信号が受信される。これによっ
て、図13のテンポキーオン受信処理のステップ4C0
及びステップ4C1を経て、ステップ4C9〜4CJの
処理が行われる。ステップ4C9ではチャンネルナンバ
CH1のキーコード『C♯3』のイベントが直ぐにサー
チされるので、ステップ4CAを経て、ステップ4CB
の処理が行われる。ステップ4CBでは、チャンネルナ
ンバCH1のイベントがサーチされるまでの間にデルタ
タイムは存在しなかったので、ここではデルタタイムの
累算値は『0』であり、タイミングレジスタTIMEの
値だけがデルタアキュムレートレジスタDELTA_A
CMに加算される。これによって、デルタアキュムレー
トレジスタDELTA_ACMの値とインターバルレジ
スタINTERVALの値との関係は:デルタアキュム
レートDELTA_ACMの方がインターバルレジスタ
INTERVALよりも大きくなる。Thereafter, as the time corresponding to the delta time D1 elapses, the value of the timing register TIME also becomes 0, and the channel number C at the timing t3.
The event of H2 is read, and step 465 of FIG.
The event is output to the tone generator circuit. In the next step 43, the delta time D2 is read, and in a step 45, the delta time D2 is written in the timing register TIME. Hereinafter, similarly, at timings t3 to t
At 7, the events of the channel numbers CH3 to CH6 and the delta times D3 to D6 are sequentially read, and the respective events are output to the tone generator circuit. Thereafter, a time corresponding to the delta time D6 is being measured (timing register TI
At the timing t8 of the ME decrementing process), the key code “C $” is sent from the conductor 20 to the electronic musical instrument 1H.
3 "tempo key-on signal is received. As a result, step 4C0 of the tempo key-on reception processing of FIG.
Then, through steps 4C1, the processing of steps 4C9 to 4CJ is performed. In step 4C9, since the event of the key code "C $ 3" of the channel number CH1 is immediately searched, the process proceeds to step 4CA and then to step 4CB.
Is performed. In step 4CB, since the delta time did not exist before the event of the channel number CH1 was searched, the accumulated value of the delta time is "0" and only the value of the timing register TIME is the delta accumulation time. Rate register DELTA_A
It is added to CM. Thus, the relationship between the value of the delta accumulation register DELTA_ACM and the value of the interval register INTERVAL is: The delta accumulation DELTA_ACM is larger than the interval register INTERVAL.
【0066】ステップ4CCではテンポキーオン信号を
受信したタイミングt8以降の再生速度を上げるため
に、各イベントのデルタタイム及びタイミングレジスタ
TIMEの値にB分の1を乗じる。ステップ4CDでは
キーオンレシーブフラグKON_RCVに『1』がセッ
トされ、ステップ4C3〜ステップ4C8ではインター
バルレジスタINTERVALの値とデルタアキュムレ
ートレジスタDELTA_ACMの値との比(1より小
さい値)がレートレジスタRATEに新たに格納され、
テンポ係数レジスタT_COEFには前回よりも小さな
テンポ係数が格納され、インターバルレジスタINTE
RVAL、デルタアキュムレートレジスタDELTA_
ACM及び一時停止フラグPAUSEに『0』がセット
されるようになる。その後、タイミングレジスタTIM
Eの値が0となり、タイミングt9でチャンネルナンバ
CH1のイベントが読み出されることによって、図12
のステップ462でキーオンレシーブフラグKON_R
CVに『0』がセットされる。以下、同様にして各タイ
ミングでチャンネルナンバのイベント及びデルタタイム
がテンポ係数レジスタT_COEFに格納されている1
よりも小さなテンポ係数によって修正を加えられながら
順次読み出され、それぞれのイベントが音源回路に出力
されるようになる。すなわち、指揮棒20からのテンポ
キーオン信号の受信タイミングの方が自動演奏データの
読み出しタイミングよりも早い場合には自動演奏データ
の再生処理のテンポがアップし、逆の場合には自動演奏
データの再生処理のテンポがダウンする。In step 4CC, the delta time of each event and the value of the timing register TIME are multiplied by 1 / B in order to increase the reproduction speed after the timing t8 when the tempo key-on signal is received. In step 4CD, the key-on receive flag KON_RCV is set to "1". In steps 4C3 to 4C8, the ratio (a value smaller than 1) between the value of the interval register INTERVAL and the value of the delta accumulation register DELTA_ACM is newly stored in the rate register RATE. Stored
The tempo coefficient register T_COEF stores a smaller tempo coefficient than the previous time, and the interval register INTER
RVAL, Delta accumulation register DELTA_
"0" is set to the ACM and the pause flag PAUSE. After that, the timing register TIM
The value of E becomes 0, and the event of the channel number CH1 is read out at the timing t9.
At step 462, the key-on receive flag KON_R
“0” is set in CV. Hereinafter, similarly, at each timing, the event of the channel number and the delta time are stored in the tempo coefficient register T_COEF.
The data is sequentially read out while being corrected by a smaller tempo coefficient, and each event is output to the tone generator circuit. That is, if the timing of receiving the tempo key-on signal from the baton 20 is earlier than the timing of reading out the automatic performance data, the tempo of the automatic performance data reproduction process increases, and if the reverse, the reproduction of the automatic performance data is performed. The processing tempo goes down.
【0067】なお、上述の実施例では、揺動動作を検出
するためのセンサとして、圧電ジャイロセンサに限ら
ず、加速度センサや、磁気や光を用いたものであっても
よい。例えば、揺動動作を撮像し、画像処理によって揺
動動作を検出するようなものでもよい。また、これらの
センサを複数個組み合わせてもよい。また、上述の実施
例では、揺動動作の特徴点として圧電ジャイロセンサか
らの出力のピーク及び谷を第1及び第2の特徴点として
抽出する場合について説明したが、これに限らず、セン
サの種類を変えるなどして、他の条件を用いてその特徴
点を抽出するようにしてもよい。さらに、上述の実施例
では、MIDIインターフェイスを介して接続された指
揮棒20と電子楽器1Hを例に説明したが、両者を一体
で構成してもよいことはいうまでもない。また、電子楽
器1Hの発生するテンポクロックを外部装置に供給し
て、外部装置の演奏テンポを制御するように構成しても
よい。In the above-described embodiment, the sensor for detecting the swing operation is not limited to the piezoelectric gyro sensor, but may be an acceleration sensor, or a sensor using magnetism or light. For example, a configuration may be used in which a swing operation is imaged and the swing operation is detected by image processing. Further, a plurality of these sensors may be combined. Further, in the above-described embodiment, the case where the peak and the valley of the output from the piezoelectric gyro sensor are extracted as the first and second characteristic points as the characteristic points of the oscillating operation has been described. The feature point may be extracted by changing the type and using other conditions. Furthermore, in the above embodiment, the baton 20 and the electronic musical instrument 1H connected via the MIDI interface have been described as an example, but it goes without saying that both may be configured integrally. The tempo clock generated by the electronic musical instrument 1H may be supplied to an external device to control the performance tempo of the external device.
【0068】上述の実施例では、指揮棒20が第1及び
第2の特徴点すなわちピーク及び谷を検出し、さらにそ
の動作種類を検出する場合について説明したが、指揮棒
20は単に揺動動作に応じたセンサ値を出力し、電子楽
器1H側でこの出力に応じた検出処理などを行うように
してもよいことはいうまでもない。また、上述の実施例
では、圧電ジャイロセンサを2つを用いて揺動動作を検
出する場合について説明したが、3つ以上用いてもよい
ことはいうまでもない。この場合、3拍子用と、2/4
拍子用とで異なる位置に設けられたセンサをそれぞれ用
いてもよいし、3つ以上のセンサ出力を総合判断して揺
動動作を検出するようにしてもよい。In the above-described embodiment, the case where the baton 20 detects the first and second characteristic points, that is, peaks and valleys, and further detects the type of operation, but the baton 20 is merely a swing operation. Needless to say, the sensor value corresponding to the output may be output, and the electronic musical instrument 1H may perform a detection process or the like corresponding to the output. Further, in the above-described embodiment, the case where the swing operation is detected by using two piezoelectric gyro sensors has been described, but it goes without saying that three or more piezoelectric gyro sensors may be used. In this case, for 3 beats and 2/4
Sensors provided at different positions for the beat may be used, or the swing operation may be detected by comprehensively judging the outputs of three or more sensors.
【0069】また、上述の実施例では、センサを指揮棒
に内蔵する場合について説明したが、操作者の身体(例
えば手など)に装着したり、マイクやその他の機器(例
えばカラオケ装置のリモコンなど)に内蔵したりしても
よい。この場合、センサ出力の送出は有線又は無線で行
えばよい。例えば、マイクに内蔵した場合、カラオケの
イントロ部分でのみテンポ制御を有効とし、マイクの揺
動動作に応じてカラオケの演奏テンポが決定されるよう
にすればよい。実施例では演奏中常にテンポを制御する
場合について説明したが、演奏に先立ってテンポを決定
する場合に用いてもよい。実施例では、演奏データがイ
ベントとデルタタイムから構成される場合について説明
したが、これ以外の記憶方式であってもよいことはいう
までもない。例えば、演奏データをイベントと絶対時間
との組で構成する。また、デルタタイムの単位にはms
などの時間の単位を用いても、音符の長さ(例えば4分
音符の1/24など)を用いてもよい。Further, in the above-described embodiment, the case where the sensor is built in the baton is described. However, the sensor is mounted on the operator's body (for example, a hand), or a microphone or other device (for example, a remote control of a karaoke apparatus, etc.). ). In this case, the output of the sensor output may be performed in a wired or wireless manner. For example, when the microphone is built in, the tempo control may be enabled only in the intro part of the karaoke, and the performance tempo of the karaoke may be determined according to the swinging operation of the microphone. In the embodiment, the case where the tempo is always controlled during the performance has been described. However, it may be used when the tempo is determined prior to the performance. In the embodiment, the case where the performance data is composed of the event and the delta time has been described, but it goes without saying that a storage method other than this may be used. For example, the performance data is composed of a set of an event and an absolute time. Also, the unit of delta time is ms
Or a time unit such as a quarter note (for example, 1/24 of a quarter note).
【0070】実施例では、テンポの制御は、デルタタイ
ムの値にテンポ係数を乗じ、デルタタイムの値を増減さ
せることによって行う場合について説明したが、処理の
周期(割り込みタイミング)を変化させることによって
テンポを変化させるようにしてもよい。実施例では、テ
ンポ制御用のデータと自動演奏用のデータを混在させ、
チャンネルナンバで区別する場合について説明したが、
両者を予め別々に設けてもよい。例えば、テンポを制御
する音符位置に対応するメモリのアドレスを記憶したも
のを、テンポ制御用データとしてもよい。テンポが滑ら
かに変化するように、テンポが変化したとき、テンポ係
数レジスタT_COEFの値を前の値と補間するように
してもよい。ダイナミクスの制御も同様に滑らかに変化
させてもよい。曲データ毎に最適な制御設定情報(どの
位置で制御すればよいか、すなわち、ピークと谷のどち
らを使うのか、ディレイはどのくらいかを示す情報)を
持たせ、これにより基本設定を行うようにしてもよい。
また、この基本設定を変更できるようにしてもよい。基
本設定を複数種持たせ、いずれかを選択できるようにし
てもよい。ピークと谷のいずれかを選択するだけのもの
(ディレイタイム設定不可能)や、ディレイタイムだけ
を設定できるもの(ピークか谷かの選択不可能)でもよ
い。ディレイタイムをテンポに応じて可変制御するよう
にしてもよい。In the embodiment, the case where the tempo is controlled by multiplying the value of the delta time by the tempo coefficient and increasing / decreasing the value of the delta time has been described. However, by changing the cycle of processing (interruption timing). The tempo may be changed. In the embodiment, data for tempo control and data for automatic performance are mixed,
Although the case of distinguishing by channel number was explained,
Both may be separately provided in advance. For example, data storing a memory address corresponding to a note position for controlling a tempo may be used as tempo control data. When the tempo changes, the value of the tempo coefficient register T_COEF may be interpolated with the previous value so that the tempo changes smoothly. Similarly, the control of the dynamics may be smoothly changed. Each piece of music data has the optimal control setting information (information indicating where to control, that is, which peak or valley to use, and how long the delay is), so that basic settings can be made. You may.
Further, the basic settings may be changed. A plurality of basic settings may be provided so that any one of them can be selected. A type that can only select one of a peak and a valley (the delay time cannot be set) or a type that can set only the delay time (a peak or a valley cannot be selected) may be used. The delay time may be variably controlled according to the tempo.
【0071】[0071]
【発明の効果】この発明によれば、操作者の手振り動作
に応じて操作者の意図した時点で発音したり、シーケン
スデータを進めたりして任意にテンポを制御することが
できる。According to the present invention, it is possible to arbitrarily control the tempo by producing a sound at the time intended by the operator or by advancing the sequence data in accordance with the hand gesture of the operator.
【図1】 電子楽器と、この電子楽器に操作者の手振り
動作に応じたテンポ制御信号を出力する指揮棒との詳細
構成及び両者間の接続関係を示すハードブロック図であ
る。FIG. 1 is a hardware block diagram showing a detailed configuration of an electronic musical instrument, a baton that outputs a tempo control signal corresponding to a hand gesture of an operator to the electronic musical instrument, and a connection relationship between the two.
【図2】 図1の指揮棒内のマイクロコンピュータが処
理するセンサ出力処理の一例を示す図である。FIG. 2 is a diagram illustrating an example of a sensor output process performed by a microcomputer in the baton in FIG. 1;
【図3】 図2のピーク検出処理の詳細を示す図であ
る。FIG. 3 is a diagram illustrating details of a peak detection process in FIG. 2;
【図4】 図3のピーク種類判定処理の詳細を示す図で
ある。FIG. 4 is a diagram illustrating details of a peak type determination process in FIG. 3;
【図5】 図2の谷検出処理の詳細を示す図である。FIG. 5 is a diagram illustrating details of a valley detection process in FIG. 2;
【図6】 図5の谷種類判定処理の詳細を示す図であ
る。FIG. 6 is a diagram illustrating details of a valley type determination process in FIG. 5;
【図7】 図2のテンポキーオン出力処理の詳細を示す
図である。FIG. 7 is a diagram showing details of a tempo key-on output process of FIG. 2;
【図8】 図2のディレイタイム設定処理の詳細を示す
図である。FIG. 8 is a diagram showing details of a delay time setting process of FIG. 2;
【図9】 演算式によって求められた角度θと動作種類
との関係を示す図である。FIG. 9 is a diagram showing a relationship between an angle θ obtained by an arithmetic expression and an operation type.
【図10】 指揮棒が三角形の軌跡を描くようにして3
拍子で揺動動作される場合のセンサ出力処理の概念を示
す模式図である。[Fig. 10] 3
It is a schematic diagram which shows the concept of a sensor output process when rocking | fluctuation operation | movement is performed by a beat.
【図11】 電子楽器内のマイクロコンピュータが処理
する楽音の再生処理の一例を示す図である。FIG. 11 is a diagram illustrating an example of a tone reproduction process performed by a microcomputer in the electronic musical instrument.
【図12】 図11のイベント対応処理の詳細を示す図
である。FIG. 12 is a diagram showing details of the event handling process of FIG. 11;
【図13】 図11のテンポキーオン受信処理の詳細を
示す図である。FIG. 13 is a diagram showing details of the tempo key-on reception processing of FIG. 11;
【図14】 指揮棒から電子楽器に取り込まれるテンポ
キーオン信号の入力タイミングと、自動演奏データの読
み出しタイミンイグとの関係を示す図である。FIG. 14 is a diagram showing the relationship between the input timing of a tempo key-on signal taken into the electronic musical instrument from a baton and the timing of reading out automatic performance data.
11,21…CPU、12,22…ROM、13,23
…RAM、14…押鍵検出回路、15,24…スイッチ
検出回路、16…表示回路、17…音源回路、18…効
果付与回路、19,28…タイマ、1A…フロッピーデ
ィスクドライブ(FDD)、1B,27…MIDIイン
ターフェイス(I/F)、1C…鍵盤、1D,29…パ
ネルスイッチ、1E…表示部、1F…サウンドシステ
ム、1G,2E…バス、1H…電子楽器、20…指揮
棒、25,26…A/D、2A…X方向圧電振動ジャイ
ロセンサ、2B…Y方向圧電振動ジャイロセンサ、2
C,2D…ノイズ除去回路11, 21, CPU, 12, 22, ROM, 13, 23
... RAM, 14 ... Key press detection circuit, 15, 24 ... Switch detection circuit, 16 ... Display circuit, 17 ... Sound generator circuit, 18 ... Effect giving circuit, 19,28 ... Timer, 1A ... Floppy disk drive (FDD), 1B , 27 MIDI interface (I / F), 1C keyboard, 1D, 29 panel switch, 1E display unit, 1F sound system, 1G, 2E bus, 1H electronic musical instrument, 20 conductor rod, 25, 26 ... A / D, 2A ... X direction piezoelectric vibration gyro sensor, 2B ... Y direction piezoelectric vibration gyro sensor, 2
C, 2D: Noise removal circuit
Claims (4)
段と、 この動作検出手段によって検出された前記揺動動作の中
から前記揺動動作に関連した第1及び第2の特徴点を抽
出する抽出手段と、 この抽出手段によって前記第1及び第2の特徴点のいず
れか選択された一方が抽出される度にその抽出時点に基
づいて演奏のテンポを制御する制御手段とから構成され
ることを特徴とするテンポ制御装置。An operation detecting means for detecting an oscillating operation of an operator, and first and second feature points related to the oscillating operation are selected from the oscillating operations detected by the operation detecting means. Each time one of the first and second feature points selected is extracted by the extraction means, the control means controls the tempo of the performance based on the extraction time. A tempo control device characterized in that:
所定時間経過後の時点に基づいて演奏のテンポを制御す
ることを特徴とする請求項1に記載のテンポ制御装置。2. The tempo control device according to claim 1, wherein the control means controls the tempo of the performance based on a point in time after a lapse of a predetermined time from the extraction point.
段と、 この動作検出手段によって検出された前記揺動動作の中
から前記揺動動作に関連した特徴点を抽出する抽出手段
と、 この抽出手段によって前記特徴点が抽出される度にその
抽出時点から所定時間経過後の時点に基づいて演奏のテ
ンポを制御する制御手段とから構成されることを特徴と
するテンポ制御装置。3. An operation detecting means for detecting an oscillating operation of an operator; an extracting means for extracting a feature point related to the oscillating operation from the oscillating operation detected by the operation detecting means; A tempo control device for controlling the tempo of the performance based on a point in time after a predetermined time has passed from the point in time of extraction of the characteristic point by the extracting section.
とを特徴とする請求項2又は3に記載のテンポ制御装
置。4. The tempo control device according to claim 2, wherein the predetermined time can be set arbitrarily.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13291595A JP3152104B2 (en) | 1995-05-02 | 1995-05-02 | Tempo control device |
US08/643,121 US5663514A (en) | 1995-05-02 | 1996-04-30 | Apparatus and method for controlling performance dynamics and tempo in response to player's gesture |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13291595A JP3152104B2 (en) | 1995-05-02 | 1995-05-02 | Tempo control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08305358A JPH08305358A (en) | 1996-11-22 |
JP3152104B2 true JP3152104B2 (en) | 2001-04-03 |
Family
ID=15092498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13291595A Expired - Fee Related JP3152104B2 (en) | 1995-05-02 | 1995-05-02 | Tempo control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3152104B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6228930B1 (en) | 1997-06-18 | 2001-05-08 | Nippon Shokubai Co., Ltd. | Water-absorbent resin granule-containing composition and production process for water-absorbent resin granule |
US9593212B2 (en) | 2006-09-29 | 2017-03-14 | Nippon Shokubai Co., Ltd. | Method for producing water absorbent resin particle |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101615661B1 (en) | 2009-09-22 | 2016-04-27 | 삼성전자주식회사 | Real-time motion recognizing system and method thereof |
-
1995
- 1995-05-02 JP JP13291595A patent/JP3152104B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6228930B1 (en) | 1997-06-18 | 2001-05-08 | Nippon Shokubai Co., Ltd. | Water-absorbent resin granule-containing composition and production process for water-absorbent resin granule |
US6458921B1 (en) | 1997-06-18 | 2002-10-01 | Nippon Shokubai Co., Ltd. | Water-absorbent resin granule-containing composition and production process for water-absorbent resin granule |
US9593212B2 (en) | 2006-09-29 | 2017-03-14 | Nippon Shokubai Co., Ltd. | Method for producing water absorbent resin particle |
Also Published As
Publication number | Publication date |
---|---|
JPH08305358A (en) | 1996-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5663514A (en) | Apparatus and method for controlling performance dynamics and tempo in response to player's gesture | |
JPH04274498A (en) | Automatic player | |
JP3152104B2 (en) | Tempo control device | |
JP3149736B2 (en) | Performance dynamics control device | |
JP3449045B2 (en) | Performance control device | |
JPH1055174A (en) | Conductor and musical sound reproduction device | |
US5629491A (en) | Tempo control apparatus | |
JPH07244479A (en) | Automatic playing device | |
JP3720004B2 (en) | Music control device | |
JP2969138B2 (en) | Pitch detection device | |
JP2768233B2 (en) | Electronic musical instrument | |
JP3427569B2 (en) | Music control device | |
JP3627321B2 (en) | Performance control device | |
JPH1039863A (en) | Automatic accompaniment device | |
JP3259602B2 (en) | Automatic performance device | |
JP3307162B2 (en) | Music control device | |
JPS62187393A (en) | Touch response unit for electronic musical apparatus | |
JP3279122B2 (en) | Tempo control device | |
JP3303608B2 (en) | Automatic performance device | |
US20020046639A1 (en) | Method and apparatus for waveform reproduction | |
JP3460408B2 (en) | Music control device | |
JP3740717B2 (en) | Tone generator and musical sound generation method | |
JP3627319B2 (en) | Performance control device | |
JP3471480B2 (en) | Tempo control device | |
JP2007279490A (en) | Electronic musical instrument |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090126 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100126 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110126 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120126 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |