JP3449045B2 - Performance control device - Google Patents

Performance control device

Info

Publication number
JP3449045B2
JP3449045B2 JP16917595A JP16917595A JP3449045B2 JP 3449045 B2 JP3449045 B2 JP 3449045B2 JP 16917595 A JP16917595 A JP 16917595A JP 16917595 A JP16917595 A JP 16917595A JP 3449045 B2 JP3449045 B2 JP 3449045B2
Authority
JP
Japan
Prior art keywords
data
performance
value
tempo
music
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
Application number
JP16917595A
Other languages
Japanese (ja)
Other versions
JPH08339182A (en
Inventor
聡史 宇佐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP16917595A priority Critical patent/JP3449045B2/en
Publication of JPH08339182A publication Critical patent/JPH08339182A/en
Application granted granted Critical
Publication of JP3449045B2 publication Critical patent/JP3449045B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明は電子楽器などの楽音演
奏における音楽特性(テンポやダイナミクスなど)を演
奏者の操作動作に応じて任意に制御することのできる演
奏制御装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a performance control device capable of arbitrarily controlling the music characteristics (tempo, dynamics, etc.) in a musical tone performance of an electronic musical instrument or the like in accordance with a player's operation.

【0002】[0002]

【従来の技術】従来、自動演奏装置はメロディ演奏や伴
奏演奏の各音符に関する演奏情報(音符データ)をメモ
リ等に記憶しておき、その記憶された演奏情報を所定の
テンポで自動的に読み出し、読み出された演奏情報に従
ってメロディ音や伴奏音を発音する。この場合、演奏の
テンポはタイマ等から出力されるテンポクロックの周波
数によって決定される。このテンポクロックの周波数は
テンポ設定スイッチ等を操作することによって自由に可
変することができる。ところが、テンポ設定スイッチな
どを操作して演奏中の演奏テンポを変化させた場合、そ
の変化の仕方がスイッチの操作状態(操作量や操作速度
など)に依存するため、実際の演奏時における指揮棒な
どの手振り動作に対応したような微妙なテンポ変化を与
えることは非常に困難であった。そこで、従来は、操作
者の指揮棒などにセンサを内蔵し、その手振り動作に応
じたセンサ出力を検出し、その検出タイミングに応じて
自動演奏のテンポを制御するようにした演奏制御装置
(例えば、特公平3−60119号公報に記載されたも
の)がある。
2. Description of the Related Art Conventionally, an automatic performance device stores performance information (note data) about each note of a melody performance or an accompaniment performance in a memory or the like, and automatically reads the stored performance information at a predetermined tempo. , Produces a melody sound or an accompaniment sound according to the read 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 the tempo setting switch or the like. However, when the tempo setting switch etc. is operated to change the performance tempo during the performance, the way of the change depends on the switch operation state (operation amount, operation speed, etc.). It was very difficult to give a subtle change in tempo that corresponds to hand gestures such as. Therefore, conventionally, a performance control device (for example, a built-in sensor for a baton of an operator, which detects a sensor output according to a gesture motion thereof and controls the tempo of an automatic performance according to the detection timing thereof (for example, , Japanese Patent Publication No. 3-60119).

【0003】[0003]

【発明が解決しようとする課題】また、最近では、操作
者の指揮棒などに加速度センサを内蔵し、その手振り動
作に応じた加速度センサの出力の最大値を検出し、その
検出タイミングで自動演奏のテンポを制御したり、その
最大出力値に応じて演奏のダイナミクスを制御したりす
るリアルタイムの演奏制御装置が現れている。これは加
速度センサの出力最大値を検出した時点で発音したり、
シーケンスデータを進めたりすることによって、演奏の
テンポを任意に制御すると共に、この加速度センサの最
大出力値に応じて演奏のダイナミクス(演奏時における
サウンドに強弱をつけて演奏全体に躍動感を与えるこ
と)も任意に制御するものである。従って、操作者の手
振り動作の周期が短い場合には、センサの出力最大値の
出現する周期は短くなるので、それに応じて演奏のテン
ポは速くなり、逆に、手振り動作の周期が長い場合に
は、センサの出力最大値の出現する周期は長くなるの
で、それに応じて演奏のテンポは遅くなる。また、手振
り動作速度が速いと加速度センサの出力が大きくなるの
で、それに応じて演奏のダイナミクスは強くなり、逆
に、手振り動作速度が遅いと加速度センサの出力が小さ
くなるので、それに応じて演奏のダイナミクスは弱くな
る。
Recently, an operator's baton or the like has a built-in acceleration sensor to detect the maximum value of the output of the acceleration sensor in response to a hand gesture and automatically play at the detection timing. A real-time performance control device has appeared, which controls the tempo of, and controls the dynamics of performance according to the maximum output value. This sounds when the maximum output of the acceleration sensor is detected,
By advancing the sequence data, the tempo of the performance can be controlled arbitrarily, and the dynamics of the performance according to the maximum output value of this acceleration sensor (giving strength to the sound at the time of performance to give the whole performance a lively feeling) ) Is also controlled arbitrarily. Therefore, when the cycle of the hand gesture of the operator is short, the cycle in which the maximum output value of the sensor appears is shortened, and accordingly the tempo of the performance becomes faster, and conversely, when the cycle of the hand gesture is long. , The cycle in which the maximum output value of the sensor appears becomes longer, and the tempo of the performance becomes slower accordingly. In addition, the output of the acceleration sensor increases when the hand gesture motion speed is fast, and accordingly the dynamics of the performance become stronger. Conversely, when the hand gesture motion speed is low, the output of the acceleration sensor becomes smaller, and accordingly Dynamics weaken.

【0004】このようなリアルタイムの演奏制御装置で
は、操作者が指揮法にどれだけ習熟しているのか(手振
り動作を所定の周期及び動作速度で正確に行うことがで
きるかどうか)に応じて、加速度センサの出力波形が大
きく異なる。例えば、操作者が指揮法に習熟している場
合には、手振り動作が所定の周期及び動作速度で規則正
しく行われるため、加速度センサの出力もばらつくこと
なく、安定した出力波形となるが、操作者が初心者等の
場合には手振り動作の周期や動作速度が不正確なため、
加速度センサの出力にばらつきが生じ、不安定な出力波
形となる。従って、操作者が指揮法にどれだけ習熟して
いるのかに応じて、その加速度センサの出力をテンポや
ダイナミクスなどの音楽特性の制御にどのように反映さ
せるか、その追従の度合い(追従度)を予め設定してお
き、その追従度に応じてテンポやダイナミクスなどの音
楽特性を制御する必要がある。例えば、操作者が指揮法
に習熟している場合には、追従度をある程度高くするこ
とによって、手振り動作に応じた加速度センサの出力値
に鋭敏に反応してテンポやダイナミクスなどの音楽特性
が制御されるようにする。操作者が初心者等の場合には
テンポ制御の追従度を低くすることによって、手振り動
作に応じた加速度センサの出力値に鈍感に反応してテン
ポやダイナミクスなどの音楽特性が制御されるようにす
る。
In such a real-time performance control device, depending on how familiar the operator is with the conducting method (whether the hand gesture can be accurately performed at a predetermined cycle and operation speed). The output waveform of the acceleration sensor is very different. For example, when the operator is proficient in the commanding method, the waving motion is regularly performed at a predetermined cycle and operating speed, so that the output of the acceleration sensor does not vary and a stable output waveform is obtained. If you are a beginner, etc., the cycle and movement speed of the hand gesture are inaccurate,
The output of the acceleration sensor varies, resulting in an unstable output waveform. Therefore, depending on how familiar the operator is with the command method, how the output of the acceleration sensor is reflected in the control of music characteristics such as tempo and dynamics, the degree of follow-up (following degree) Must be set in advance and the music characteristics such as tempo and dynamics must be controlled according to the following degree. For example, if the operator is proficient in conducting, by increasing the follow-up degree to a certain degree, the musical characteristics such as tempo and dynamics can be controlled by reacting sharply to the output value of the acceleration sensor according to the hand gesture. To be done. If the operator is a beginner, the followability of tempo control is lowered so that the music characteristics such as tempo and dynamics can be controlled by reacting insensitively to the output value of the acceleration sensor according to the hand gesture. .

【0005】また、このような演奏制御装置において
は、音楽のジャンル毎に追従度を異ならせる場合があ
る。例えば、ロックなどでは曲の途中でテンポが大きく
変動することは少ないので、追従度を低めに設定し、加
速度センサの出力値のばらつきによってテンポが変動す
るのを防止する。演歌ではエンディング部分でテンポが
落ちたり、クラシックでは楽想が変化する部分でリタリ
ルダンドしたりするので、追従度を高めに設定し、該当
する部分におけるテンポを手振り動作の変化に敏感に追
従させている。しかしながら、1つの曲の中でテンポや
ダイナミクスなどの音楽特性が大きく変動する場面は、
曲の冒頭部分、曲のエンディング部分、楽想が変化する
部分などのように1つの曲の中のほんの一部分である場
合が多い。従って、追従度が一旦設定された場合、その
追従度で全ての演奏が行われるようになるため、追従度
を高く設定した場合には加速度センサの出力値に敏感に
追従してテンポやダイナミクスなどの音楽特性が変化す
るようになるため、操作者は所定の周期及び動作速度と
なるように演奏の間ずっと手振り動作に全神経を集中し
なければならず、逆に、追従度を低く設定した場合には
加速度センサの出力値に鈍感に追従するようになるた
め、操作者はテンポやダイナミクスなどの音楽特性を変
化させるために手振り動作を大きく変化させなければな
らないという問題を有する。
In such a performance control device, the degree of follow-up may differ depending on the genre of music. For example, in the case of rock or the like, the tempo does not change significantly during the song, so the follow-up degree is set to a low level to prevent the tempo from changing due to variations in the output value of the acceleration sensor. In the enka song, the tempo drops at the ending part, and in classical music, the literary dund occurs at the part where the sentiment changes, so the follower is set to a high degree, and the tempo at the corresponding part is made sensitive to changes in the hand gesture. However, the scene where the music characteristics such as tempo and dynamics change greatly in one song
It is often a small part of a song, such as the beginning of the song, the ending of the song, or the part where the sentiment changes. Therefore, once the follow-up degree is set, all performances will be performed with that follow-up degree. Therefore, when the follow-up degree is set high, the output value of the acceleration sensor is sensitively followed by tempo, dynamics, etc. Since the music characteristics of the player will change, the operator must concentrate all his or her nerves on the hand gesture during the performance so that the predetermined cycle and operation speed are achieved, and conversely, the followability is set low. In this case, since the output value of the acceleration sensor follows the insensitivity, there is a problem that the operator has to greatly change the gesture motion to change the music characteristics such as tempo and dynamics.

【0006】この発明は上述の点に鑑みてなされたもの
であり、テンポやダイナミクスなどの音楽特性を表情豊
かな思い入れを込めて大きく変動させて演奏したい場合
や、あまり変動させずに安定して演奏したい場合などの
ような相異なる演奏形態による演奏を1つの曲の中で実
現することのできる演奏制御装置を提供することを目的
とする。
The present invention has been made in view of the above-mentioned points, and it is desired to perform a great change in musical characteristics such as tempo and dynamics with expressive thoughts, or to perform a stable operation with little change. It is an object of the present invention to provide a performance control device that can realize performances in different performance forms such as a case of playing in one song.

【0007】[0007]

【課題を解決するための手段】 請求項1に記載された
この発明に係る演奏制御装置は、自動演奏データを供給
する演奏データ供給手段と、前記自動演奏データに応じ
た演奏時に、その演奏の音楽特性に関するデータを時々
刻々と変化させながら供給する特性データ供給手段と、
前記音楽特性に関するデータの変化に対してどれだけ追
従させて前記自動演奏データに応じた演奏を変化させる
かを決定する追従度データを一連の演奏中において少な
くとも1回変更して供給するものであって、該追従度デ
ータは前記自動演奏データの中に含まれており、該自動
演奏データの供給に伴って該追従度データを供給する
従度データ供給手段と、前記自動演奏データに応じた演
奏を前記音楽特性に関するデータ及び前記追従度データ
に従って行う制御手段とを備えることを特徴とする。
According to a first aspect of the present invention, there is provided a musical performance control device for supplying automatic musical performance data, and a musical performance data supplying means for supplying automatic musical performance data. , Characteristic data supplying means for supplying data regarding the musical characteristics of the performance while changing the moment,
Be those supplied by changing at least once in how much follow are not follow degree data in a series of playing for determining whether to change the performance in accordance with the automatic performance data to changes in the data relating to the musical characteristics The tracking degree
Data is included in the automatic performance data,
Tracking data supplying means for supplying the tracking data with the supply of performance data, and control means for performing a performance according to the automatic performance data in accordance with the data relating to the music characteristics and the tracking data. characterized in that it comprises a.

【0008】[0008]

【作用】 演奏データ供給手段は自動演奏データを供給
するものであり、メモリやフロッピーディスクなどに記
憶された自動演奏データを制御手段に供給する。制御手
段は演奏データ供給手段から供給される自動演奏データ
に応じた演奏を行う。制御手段は演奏時に特性データ供
給手段から時々刻々と変化するテンポやダイナミクスな
どの音楽特性に関するデータの供給を受けるので、それ
に応じて音楽特性を時々刻々変化させる。例えば、この
特性データ供給手段は操作者の身振り動作すなわち指揮
者の手振り動作や揺動動作などに基づいて動作の種類及
び動作量を検出し、それをテンポやダイナミクスなどの
音楽特性に関するデータとして出力するものである。従
って、特性データ供給手段からは操作者の動作に応じて
時々刻々と変化する音楽特性に関するデータが出力され
る。このとき、制御手段は、音楽特性に関するデータの
変化に対してどれだけ追従させて演奏を変化させるかを
決定する追従度データの供給を受けているので、その追
従度データに応じた追従度で音楽特性を変化させながら
演奏を行う。また、追従度データ供給手段はこの追従度
データを一連の演奏中において少なくとも1回変更して
供給し、かつ、この追従度データは前記自動演奏データ
の中に含まれており、該自動演奏データの供給に伴って
該追従度データを供給するので、自動演奏データの中の
任意の演奏個所において含まれた該追従度データの変更
前後で音楽特性に関するデータの変化に対する演奏変化
の追従の割合が異なるようになっている。従って、テン
ポやダイナミクスなどの音楽特性を表情豊かな思い入れ
を込めて大きく変動させて演奏したい場合や、あまり変
動させずに安定して演奏したい場合などで追従度データ
を変更させることによって、1つの曲の中で相異なる演
奏形態の演奏を両立させて行うことができ、かつ、該追
従度データを自動演奏データの中で任意に含ませること
で曲の中の任意の個所でそのような追従度の変更が可能
であるから、多様な制御が行える。
The performance data supply means supplies the automatic performance data, and supplies the automatic performance data stored in the memory or the floppy disk to the control means. The control means performs a performance according to the automatic performance data supplied from the performance data supply means. Since the control means receives the data regarding the music characteristics such as tempo and dynamics which change from moment to moment during the performance, the control means changes the music characteristics from moment to moment. For example, this characteristic data supply means detects the type and amount of movement based on the gesture motion of the operator, that is, the conductor's gesture motion or swing motion, and outputs it as data relating to music characteristics such as tempo and dynamics. To do. Therefore, the characteristic data supply means outputs data relating to the musical characteristics which change momentarily according to the operation of the operator. At this time, the control means is supplied with the follow-up degree data that determines how much the change in the performance should be made to follow the change in the data relating to the music characteristic, so that the follow-up degree according to the follow-up degree data is used. Perform while changing the music characteristics. Further, the follow-up degree data supplying means changes and supplies the follow-up degree data at least once during a series of performances , and the follow-up degree data is the automatic performance data.
It is included in the
Since the follow-up degree data is supplied ,
Before and after the change of the follow-up degree data included in an arbitrary performance portion, the rate of follow-up of the performance change with respect to the change of the data relating to the music characteristic is different. Therefore, if you want to change the musical characteristics such as tempo and dynamics with a lot of expressive thoughts and make a big change, or if you want to perform stably without changing too much, you can change the tracking data It is possible to combine different types of performance in a song , and
Incorporating subordinate data arbitrarily in automatic performance data
It is possible to change the following degree at any point in the song.
Therefore, various controls can be performed.

【0009】[0009]

【実施例】以下、この発明の実施例を添付図面に従って
詳細に説明する。図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
がそれぞれ接続されている。
Embodiments of the present invention will now be described 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 which outputs a tempo control signal to the electronic musical instrument 1H according to an operator's hand gesture, and the connection between the two. It is a hardware block diagram which shows 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.
ROM1 to the CPU11 via the bus 1G
2, RAM 13, key depression detection circuit 14, switch detection circuit 15, display circuit 16, tone generator circuit 17, effect imparting circuit 1
8, timer 19, floppy disk drive (FD
D) 1A and MIDI interface (I / F) 1B
Are connected respectively.

【0010】この実施例では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 depression detection processing, tempo control data transmission / reception processing, sound generation processing, etc. will be described.
It is needless to say that the present invention can be similarly applied to a module configured by the above and a module configured by the tone generator circuit 17, which are separately configured, and data is exchanged between the modules by a MIDI interface.
The ROM 12 stores various programs of the CPU 11 and various data, and is a read-only memory (RO
M). RAM13 is performance information and CPU
Reference numeral 11 temporarily stores various data generated when the program is executed, and predetermined address areas of a random access memory (RAM) are allocated to each and used as registers and flags.

【0011】鍵盤1Cは発音すべき楽音の音高を選択す
るための複数の鍵を備えており、各鍵に対応してキース
イッチを有しており、また必要に応じて押鍵速度検出装
置や押圧力検出装置等のタッチ検出手段を有している。
鍵盤1Cは音楽演奏のための基本的な操作子であり、こ
れ以外の演奏操作子、例えばドラムパッド等でもよいこ
とはいうまでもない。押鍵検出回路14は発生すべき楽
音の音高を指定する鍵盤1Cのそれぞれの鍵に対応して
設けられた複数のキースイッチからなる回路を含んで構
成されており、新たな鍵が押圧されたときはキーオンイ
ベント情報を出力し、鍵が新たに離鍵されたときはキー
オフイベント情報を出力する。また、鍵押し下げ時の押
鍵操作速度又は押圧力等を判別してタッチデータを生成
する処理を行い、生成したタッチデータをベロシティデ
ータとして出力する。このようにキーオン、キーオフイ
ベント情報及びベロシティ情報はMIDI規格で表現さ
れておりキーコードと割当てチャンネルを示すデータを
も含んでいる。
The keyboard 1C is provided with a plurality of keys for selecting the pitch of a musical tone to be generated, has a key switch corresponding to each key, and if necessary, a key depression speed detecting device. And a touch detection unit such as a pressing force detection device.
It is needless to say that the keyboard 1C is a basic operator for playing music, and may be a performance operator other than this, such as a drum pad. The key depression detection circuit 14 is configured to include a circuit composed of a plurality of key switches provided corresponding to each key of the keyboard 1C that specifies the pitch of a musical tone to be generated, and a new key is depressed. The key-on event information is output when the key is released, and the key-off event information is output when the key is newly released. In addition, a process of generating touch data is performed by determining the key pressing operation speed or the pressing force when the key is pressed, 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 by the MIDI standard and include the data indicating the key code and the assigned channel.

【0012】パネルスイッチ1Dは自動演奏スタート/
ストップスイッチ、一時停止(ポーズ)スイッチ、音
色、音量、効果等を選択・設定・制御するための各種ス
イッチを含むものである。パネルスイッチ1Dにはこの
他にも色々なスイッチを有するが、その詳細については
公知なので説明を省略する。スイッチ検出回路15はパ
ネルスイッチ1D上の各操作子の操作状態を検出し、そ
の操作状態に応じたスイッチイベントをバス1Gを介し
てCPU11に出力する。表示回路16はCPU11の
制御状態、設定データの内容等の各種の情報を表示部1
Eに表示するものである。表示部1Eは液晶表示パネル
(LCD)等から構成され、表示回路16によってその
表示動作を制御される。
The panel switch 1D starts / starts automatic performance.
It includes a stop switch, a pause (pause) switch, and various switches for selecting, setting, and controlling tones, volume, effects, and the like. The panel switch 1D has various other switches, but the details thereof are publicly known, and thus the 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 status of the CPU 11 and the contents of setting data on the display unit 1.
It is displayed on E. The display unit 1E is composed of a liquid crystal display panel (LCD) or the like, and its display operation is controlled by the display circuit 16.

【0013】音源回路17は複数のチャンネルで楽音信
号の同時発生が可能であり、バス1Gを経由して与えら
れた演奏情報(MIDI規格に準拠したデータ)を入力
し、このデータに基づき楽音信号を発生する。音源回路
17における楽音信号発生方式はいかなるものを用いて
もよい。例えば、発生すべき楽音の音高に対応して変化
するアドレスデータに応じて波形メモリに記憶した楽音
波形サンプル値データを順次読み出すメモリ読み出し方
式、又は上記アドレスデータを位相角パラメータデータ
として所定の周波数変調演算を実行して楽音波形サンプ
ル値データを求めるFM方式、あるいは上記アドレスデ
ータを位相角パラメータデータとして所定の振幅変調演
算を実行して楽音波形サンプル値データを求めるAM方
式等の公知の方式を適宜採用してもよい。
The tone generator circuit 17 can simultaneously generate musical tone signals on a plurality of channels, inputs performance information (data conforming to the MIDI standard) given via the bus 1G, and based on this data, musical tone signals are input. To occur. Any tone signal generation method in the tone generator circuit 17 may be used. For example, a memory reading method for sequentially reading the musical tone waveform sample value data stored in the waveform memory according to the address data that changes corresponding to the pitch of the musical tone to be generated, or a predetermined frequency with the address data as phase angle parameter data. A well-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 address data as phase angle parameter data to obtain a tone waveform sample value data. You may employ suitably.

【0014】効果付与回路18は音源回路17からの楽
音信号に種々の効果を付与し、効果の付与された楽音信
号をサウンドシステム1Fに出力する。効果付与回路1
8によって効果の付与された楽音信号は、図示しないア
ンプ及びスピーカからなるサウンドシステム1Fを介し
て発音される。タイマ19は時間間隔を計数したり、自
動演奏のテンポを決定するためのクロックパルスを発生
するものであり、このクロックパルスはCPU11に対
してインタラプト命令として与えられるので、CPU1
1はインタラプト処理により各種の処理を実行する。フ
ロッピーディスクドライブ(FDD)1Aは外部記憶媒
体すなわちフロッピーディスクから自動演奏データを電
子楽器1H内に取り込んだり、電子楽器1H内で処理さ
れた自動演奏データをフロッピーディスクに書き込んだ
りするインターフェイスである。
The effect imparting circuit 18 imparts various effects to the musical tone signal from the tone generator circuit 17, and outputs the musical tone signal to which the effect has been imparted to the sound system 1F. Effect application circuit 1
The tone signal to which the effect is added by 8 is sounded through a sound system 1F including an amplifier and a speaker (not shown). The timer 19 counts time intervals and generates a clock pulse for determining the tempo of automatic performance. Since this clock pulse is given to the CPU 11 as an interrupt instruction, the CPU 1
1 executes various processes by interrupt processing. The floppy disk drive (FDD) 1A is an interface for fetching 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.

【0015】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,
Interface 27 is bus 2E of baton 20 and 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 to each other via the MIDI interfaces 1B and 27, so that data can be exchanged bidirectionally according to the MIDI standard. It has become.

【0016】次に、指揮棒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 structure of the baton 20 will be described. The microprocessor unit (CPU) 21 controls the operation of the baton 20. This CPU2
1 to the ROM 22 and the RAM 2 via the bus 2E.
3, switch detection circuit 24, A / D converters 25, 26,
The MIDI interface 27 and the timer 28 are connected to each other. The ROM 22 stores various programs of the CPU 21 and various data, and is composed of a read only memory (ROM). The RAM 23 is for temporarily storing various data generated when the CPU 21 executes the program, and is assigned with a predetermined address area of a random access memory (RAM) and used as a register or a flag. The switch group 29 is composed of 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 operating state of the switch group 29, and outputs data according to the operating state to the CPU 21 via the bus 2E.

【0017】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 directional piezoelectric vibration gyro sensor 2B is a two-axis (X-axis) orthogonal to the piezoelectric vibration gyro sensor that generates a voltage proportional to the Coriolis force proportional to the angular velocity of the 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 Y axis direction, 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.

【0018】ノイズ除去回路2C及び2DはX方向圧電
振動ジャイロセンサ2A及びY方向圧電ジャイロセンサ
2Bからの各センサ出力信号に含まれるセンサ内部のノ
イズ成分を除去するものであり、応答周波数以上の高周
波成分を除去するローパスフィルタで構成される。A/
D変換器25及び26はノイズ除去回路2C及び2Dに
よって高周波成分の除去されたセンサ出力信号をディジ
タル信号に変換するものである。このA/D変換器25
及び26によって変換されたディジタル信号は所定周期
でCPU21によって読み取られ、所定のデータ処理に
よって指揮棒20全体の動作判定処理に利用される。
The noise removal circuits 2C and 2D remove noise components inside the sensor included in the sensor output signals from the X-direction piezoelectric vibration gyro sensor 2A and the Y-direction piezoelectric gyro sensor 2B, and have a high frequency higher than the response frequency. It is composed of a low-pass filter that removes components. A /
The D converters 25 and 26 convert the sensor output signal from which the high frequency components have been removed by the noise removing circuits 2C and 2D into a digital signal. This A / D converter 25
The digital signals converted by 26 and 26 are read by the CPU 21 at a predetermined cycle, and are used for the motion determination process of the entire baton 20 by a predetermined data process.

【0019】タイマ28は指揮棒20の動作クロックを
発生するものであり、この動作クロックがCPU21に
対してインタラプト命令として与えられ、CPU21は
インタラプト処理により指揮棒20の動作状態を検出
し、動作状態に応じて自動演奏のテンポを決定するため
のテンポ制御信号をMIDIインターフェイス27及び
1Bを介して電子楽器1H側に出力する。
The timer 28 generates an operating clock for the baton 20, and this operating clock is given to the CPU 21 as an interrupt command. The CPU 21 detects the operating state of the baton 20 by an interrupt process and the operating state. A tempo control signal for determining the tempo of the automatic performance is output to the electronic musical instrument 1H side via the MIDI interfaces 27 and 1B.

【0020】次に、指揮棒20内のマイクロコンピュー
タ(CPU21)によって実行される処理の一例を図2
から図6のフローチャートに基づいて説明する。図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.
From now on, it will be explained based on the flowchart of FIG. FIG. 2 is a diagram showing an example of sensor output processing performed by a 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 from the timer 28 (cycle of about 10 ms). The sensor output process is a series of processes according to the control program stored in the program ROM 22, and is sequentially executed in the following steps.

【0021】ステップ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, the digital signals output from the A / D converters 25 and 26 are taken in via the bus 2E. Step 2: Remove the DC component. That is, baton 2
When the operator who operates 0 performs a low-speed rotation operation such as a turning operation other than a hand-shake operation, a DC component, that is, a drift component, is generated accordingly, 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.

【0022】 ステップ3:直流成分の除去されたX方
向圧電振動ジャイロセンサ2A及びY方向圧電振動ジャ
イロセンサ2Bの出力X及びYに基づいて絶対角速度を
算出し、それを絶対角速度レジスタA_SPEEDに格
納する。絶対角速度は図2のステップ3に示すような演
算式、出力X及びYの二乗の和のルートを取ることによ
って算出される。なお、このステップによって算出され
た絶対角速度の値を、時間を横軸としてプロットすると
(A)に示すようなものになる。 ステップ4:今回のタイマ割り込み時点からm回前のタ
イマ割り込み時点までの各タイミングのステップ3で算
出された絶対角速度の平均値を算出し、それを移動平均
値として移動平均レジスタM_AVERAGEに格納す
る。例えば、mが『8』の場合には各タイミングで算出
された8個の絶対角速度の和を8で除することによって
移動平均値が得られる。 ステップ5:今回のタイマ割り込み時点からn回前のタ
イマ割り込み時点までの各タイミングのステップ4で算
出され、移動平均レジスタM_AVERAGEに格納さ
れている移動平均値の平均値を算出し、それをダイナミ
ックしきい値としてダイナミックしきい値レジスタDY
NA_THREに格納する。
Step 3: An 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 is removed, and the absolute angular velocity is stored in the absolute angular velocity register A_SPEED. . The absolute angular velocity is calculated by taking the route of the sum of squares of the outputs X and Y and the arithmetic expression as shown in step 3 of FIG. The absolute angular velocity value calculated in this step is plotted on the time axis of abscissa, as shown in FIG. 8 (A). Step 4: The average value of the absolute angular velocities calculated in step 3 at each timing from the current timer interrupt time to the timer interrupt time m times before is calculated and stored in the moving average register M_AVERAGE as a moving average value. For example, when m is “8”, the moving average value is obtained by dividing the sum of the eight absolute angular velocities calculated at each timing by 8. Step 5: Calculate the average value of the moving average values stored in the moving average register M_AVERAGE calculated in step 4 of each timing from the current timer interrupt time to the timer interrupt time of n times before, and make it dynamic. Dynamic threshold register DY as threshold value
Store in NA_THRE.

【0023】ステップ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) is stored.
The stored value of AGE) is stored in the current value register NEW.
That is, the two-previous value register OLD and the previous value register N
The values stored in the OW and the current value register NEW are shifted to new values. Step 7: Perform peak detection processing based on the stored values of the two-preceding value register OLD, the previous value register NOW and the current value register NEW. FIG. 3 is a diagram showing details of this peak detection processing. This peak detection process is sequentially executed in the following steps.

【0024】ステップ70:前回値レジスタNOWの格
納値が、前々回値レジスタOLDの格納値以上及び今回
値レジスタNEWの格納値以上であるかどうか、すなわ
ち前回のタイマ割り込みの時点で検出された移動平均値
が極大値(ピーク)かどうかの判定を行い、YESの場
合は次のステップ71に進み、NOの場合は図2のステ
ップ8に進む。 ステップ71:前回のタイマ割り込みの時点が移動平均
値の極大値(ピーク)だと前記ステップ70で判定され
たので、ここでは今回のピーク判定時点が前回のピーク
判定時点から起算して所定時間経過したかどうかの判定
を行い、所定時間経過している場合(YES)には次の
ステップ72に進み、所定時間経過していない(NO)
場合には直ちに図2のステップ8に進む。すなわち、前
回のピーク判定時点から所定時間経過していない時点で
再びステップ70でYESと判定されたピークは、操作
者の手振り動作の乱れによって生じた疑似のピーク値だ
ということを意味するからである。
Step 70: Whether the value stored in the previous value register NOW is greater than or equal to the value stored in the two-previous value register OLD and the value stored in the current value register NEW, that is, the moving average detected at the time of the previous timer interrupt. It is determined whether or not the value is the maximum value (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 Step 70 that the time point of the previous timer interrupt was the maximum value (peak) of the moving average value, the time point of the current peak judgment is calculated from the time point of the previous peak and a predetermined time has elapsed. If the predetermined time has elapsed (YES), the process proceeds to the next step 72, and the predetermined time has not elapsed (NO).
In that case, the process immediately proceeds to step 8 in FIG. That is, since the peak determined to be YES again in step 70 when the predetermined time has not elapsed from the time of the previous peak determination means that it is a pseudo peak value caused by the disturbance of the hand movement of the operator. is there.

【0025】ステップ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 judged 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 it is smaller (NO), it is immediately shown in FIG. Go to step 8. That is, the fact that the value stored in the previous value register NOW is smaller than the fixed threshold value means that the values are stored in steps 70 and 71.
This is because the peak determined to be YES means that the peak value is a pseudo peak value caused by the disturbance in the hand movement 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 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 it is smaller (NO), the process immediately proceeds to step 8 in FIG. That is, the peak value is always larger than the dynamic threshold value.

【0026】ステップ74:前回値レジスタNOWの格
納値が、前回ピーク値レジスタLAST_PEAKの格
納値に1以下の所定係数Aを乗じたものよりも大きいか
どうかを判定し、大きい(YES)場合は次のステップ
75に進み、小さい場合は直ちに図2のステップ8に進
む。すなわち、ピーク値は前回のピーク値にだいたい近
似した値となると考えられるからである。 ステップ75:今回のタイマ割り込みの時点以前にピー
ク検出処理又は谷検出処理によって検出されたのが谷か
どうかの判定を行い、前回検出されたのが谷(YES)
の場合は今回検出されたピークは正しいと考えられるの
で次のステップ76に進み、前回検出されたのがピーク
(NO)の場合はピークが連続することはあり得ないの
で、今回検出されたピークが誤りであると考えられるの
で直ちに図2のステップ8に進む。
Step 74: It is judged whether or not the stored value of the previous value register NOW is larger than the previous stored value of the peak value register LAST_PEAK multiplied by a predetermined coefficient A of 1 or less. Step 75, and if it is smaller, immediately go to Step 8 in FIG. That is, it is considered that the peak value will be a value approximately approximate to the previous peak value. Step 75: It is judged whether or not a valley is detected by the peak detection processing or the valley detection processing before the time of the current timer interruption, and the previously detected valley is (YES).
In this case, the peak detected this time is considered to be correct, so the process proceeds to the next step 76, and if the previous detection was a peak (NO), the peaks cannot be continuous, so the peak detected this time. Is considered to be erroneous, the process immediately proceeds to step 8 in FIG.

【0027】ステップ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 what kind of operation the peak detected this time is. That is, it 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.

【0028】図4はこのピーク種類判定処理の詳細を示
す図である。このピーク種類判定処理は次のようなステ
ップで順番に実行される。 ステップ770:直流成分の除去されたX方向圧電振動
ジャイロセンサ2Aの出力X及びY方向圧電振動ジャイ
ロセンサ2Bの出力Yに基づいて角度を算出し、それを
角度レジスタθに格納する。角度は図4のステップ77
0に示す演算式、すなわち出力Yを出力Xで除した値の
アークタンジェントによって算出される。
FIG. 4 is a diagram showing details of this peak type determination processing. This peak type determination process is sequentially executed in the following steps. Step 770: An angle is calculated based on the output X of the X-direction piezoelectric vibration gyro sensor 2A from which the DC component is removed and the output Y of the Y-direction piezoelectric vibration gyro sensor 2B, and the calculated angle is stored in the angle register θ. The angle is 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.

【0029】ステップ771:角度レジスタθの格納値
が180°より大きくて300°以下であるかどうかの
判定を行い、YESの場合は次のステップ772に進
み、NOの場合はステップ773に進む。 ステップ772:今回のピークが動作種類『1』の手振
り動作によって生じたものなので、ここでは今回のピー
クを動作『1』のピークとする。 ステップ773:角度レジスタθの格納値が60°以下
であって300°よりも大きいかどうかの判定を行い、
YESの場合は次のステップ774に進み、NOの場合
はステップ775に進む。 ステップ774:今回のピークが動作種類『2』の手振
り動作によって生じたものなので、ここでは今回のピー
クを動作『2』のピークとする。 ステップ775:ステップ771及びステップ773で
NOと判定されたということは、角度レジスタθの格納
値が180°以下であって60°よりも大きいというこ
と、すなわち、今回のピークが動作種類『3』の手振り
動作によって生じたものであることを意味するので、こ
こでは今回のピークを動作『3』のピークとする。
Step 771: It is judged whether or not the stored value of the angle register θ is larger than 180 ° and equal to or smaller than 300 °. If YES, the process proceeds to the next step 772, and if NO, the process proceeds to step 773. Step 772: Since the current peak is caused by the hand gesture of the motion type “1”, the current peak is set as the peak of the motion “1” here. Step 773: It is judged whether the stored value of the angle register θ is 60 ° or less and is larger than 300 °,
If YES, the process proceeds to the next step 774, and if NO, the process proceeds to step 775. Step 774: Since the current peak is caused by the hand gesture of the motion type “2”, the current peak is set as the peak of the motion “2” here. Step 775: The determination of NO in Step 771 and Step 773 means that the stored value of the angle register θ is 180 ° or less and larger than 60 °, that is, the current peak is the operation type “3”. This means that the current peak is the peak of the motion “3”, since it means that the current motion is caused by the hand gesture motion.

【0030】図7は、ステップ770の演算式によって
求められた角度θと、その動作種類『1』、『2』及び
『3』との関係を示す図である。すなわち、角度θが1
80°より大きくて300°以下である(ステップ77
1でYES)と判定されたということは、図示のような
動作『1』の方向に、角度θが60°以下であって30
0°よりも大きい(ステップ773でYES)と判定さ
れたということは、図示のような動作『2』の方向に、
角度θが180°以下であって60°よりも大きい(ス
テップ773でNO)と判定されたということは、図示
のような動作『3』の方向に指揮棒20が振られたこと
をそれぞれ意味する。
FIG. 7 is a diagram showing the relationship between the angle θ obtained by the arithmetic expression of step 770 and its operation types “1”, “2” and “3”. That is, the angle θ is 1
Greater than 80 ° and less than or equal to 300 ° (step 77)
It is determined as YES in 1) means that the angle θ is 60 ° or less in the direction of the operation “1” as shown in FIG.
It is determined that the angle is greater than 0 ° (YES in step 773), which means that in the direction of the operation "2" as shown in the figure,
It is determined that the angle θ is 180 ° or less and larger than 60 ° (NO in step 773), which means that the baton 20 is swung in the direction of the movement “3” as shown in the figure. To do.

【0031】ステップ78:今回検出されたピーク値に
基づいてダイナミクスを算出するためのダイナミクス算
出処理を行う。図5はこのダイナミクス算出処理の詳細
を示す図である。このダイナミクス算出処理では、図4
のピーク種類判定処理によって判定されたピークの種類
(すなわち動作種類)『1』、『2』、『3』毎に、異
なる係数をピーク値に乗じ、追従度に応じて移動平均値
を算出し、それをダイナミクスとしている。このダイナ
ミクス算出処理は次のようなステップで順番に実行され
る。
Step 78: A dynamics calculation process for calculating dynamics based on the peak value detected this time is performed. FIG. 5 is a diagram showing details of this dynamics calculation processing. In this dynamics calculation processing, FIG.
For each peak type (that is, operation type) “1”, “2”, and “3” determined by the peak type determination process of, the peak value is multiplied by a different coefficient, and the moving average value is calculated according to the following degree. , That is the dynamics. This dynamics calculation process is sequentially executed in the following steps.

【0032】ステップ780:ピークの種類すなわち動
作種類は『1』であるかどうかを判定し、『1』(YE
S)の場合はステップ782に進み、『2』又は『3』
(NO)の場合はステップ781に進む。 ステップ781:ピークの種類すなわち動作種類は
『2』であるかどうかを判定し、『2』(YES)の場
合はステップ785に進み、『3』(NO)の場合はス
テップ789に進む。
Step 780: It is judged whether or not the peak type, that is, the operation type is "1", and "1" (YE
In the case of S), the process proceeds to step 782 and is "2" or "3".
In the case of (NO), the process proceeds to step 781. Step 781: It is determined whether or not the type of peak, that is, the type of operation is "2". If "2" (YES), the process proceeds to step 785, and if "3" (NO), the process proceeds to step 789.

【0033】ステップ782:次のステップの移動平均
の算出処理に備えて過去16回分のピーク値を記憶して
いる16個のレジスタLAST16、LAST15、L
AST14、・・・、LAST1の値をそれぞれ更新す
る。すなわち、レジスタLAST15の格納値をレジス
タLAST16に格納し、レジスタLAST14の格納
値をレジスタLAST15に格納し、以下順次各レジス
タの格納値をシフトし、前回値レジスタNOWの格納値
をレジスタLAST1に格納する。
Step 782: 16 registers LAST16, LAST15, L for storing the past 16 peak values in preparation for the moving average calculation processing of the next step.
The values of AST14, ..., LAST1 are respectively updated. That is, the stored value of the register LAST15 is stored in the register LAST16, the stored value of the register LAST14 is stored in the register LAST15, the stored value of each register is sequentially shifted, and the stored value of the previous value register NOW is stored in the register LAST1. ..

【0034】ステップ783:追従度に対応した移動平
均次数αに基づいてピーク値の移動平均を取り、それを
ダイナミクスとする。この移動平均次数αは図14に示
されるような追従度A,B,Cに対応した値となる。す
なわち、追従度Aの場合には移動平均次数αは1とな
り、今回検出された動作種類『1』のピーク値をそのま
まダイナミクスとしてダイナミクスレジスタDYNAM
ICSに格納する。追従度Bの場合には移動平均次数α
は4となり、過去4回分のピーク値を格納しているレジ
スタLAST1、LAST2、LAST3及びLAST
4の格納値を加算し、それを次数α=4で除して得られ
た移動平均値((LAST1+LAST2+LAST3
+LAST4)/4)をダイナミクスとしてダイナミク
スレジスタDYNAMICSに格納する。追従度Cの場
合には移動平均次数αは16となり、過去16回分のピ
ーク値を格納しているレジスタLAST1、LAST
2、・・・、LAST16の格納値を加算し、それを次
数α=16で除して得られた移動平均値((LAST1
+LAST2+・・・+LAST16)/16)をダイ
ナミクスとしてダイナミクスレジスタDYNAMICS
に格納する。なお、上述の移動平均次数αの値1,4,
16は2拍子又は4拍子の場合のものであり、3拍子の
場合には移動平均次数αは1,3,12とする。 ステップ784:動作『1』に対応したキーコード『C
3』のキーオンと、前記ステップ783によって得られ
たダイナミクスを出力し、図2のステップ8に進む。
Step 783: The moving average of the peak values is calculated based on the moving average order α corresponding to the follow-up degree, and this is taken as the dynamics. This moving average order α is a value corresponding to the following degrees A, B, and C as shown in FIG. That is, in the case of the follow-up degree A, the moving average order α becomes 1, and the peak value of the motion type “1” detected this time is used as it is as the dynamics to register the dynamics register DYNAM.
Store in ICS. When the follow-up degree is B, the moving average order α
Becomes 4 and registers LAST1, LAST2, LAST3 and LAST that store the peak values of the past four times.
4 is added and the moving average value ((LAST1 + LAST2 + LAST3
+ LAST 4) / 4) is stored in the dynamics register DYNAMICS as dynamics. In the case of the follow-up degree C, the moving average order α is 16, and the registers LAST1 and LAST that store the peak values of the past 16 times are stored.
2, ..., The stored values of LAST16 are added, and the values are divided by the order α = 16 to obtain a moving average value ((LAST1
Dynamics register DYNAMICS with + LAST2 + ... + LAST16) / 16) as dynamics
To store. It should be noted that the above-mentioned moving average order α values 1, 4,
Reference numeral 16 is for two-beat or four-beat, and in the case of three-beat, the moving average order α is 1, 3, 12. Step 784: Key code "C" corresponding to the operation "1"
3 ”and the dynamics obtained in step 783 are output, and the process proceeds to step 8 in FIG.

【0035】ステップ785:前記ステップ781で動
作種類『2』のピークである(YES)と判定されたの
で、そのピーク値に係数aを乗じる。すなわち、前回値
レジスタNOWに格納されているピーク値に係数aを乗
じ、その乗算値を再び前回値レジスタNOWに格納す
る。 ステップ786:前記ステップ782と同様に、次のス
テップの移動平均の算出処理に備えて過去16回分のピ
ーク値を記憶している16個のレジスタLAST16、
LAST15、LAST14、・・・、LAST1の値
をそれぞれ更新する。 ステップ787:前記ステップ783と同様に、追従度
に対応した移動平均次数αに基づいてピーク値の移動平
均を取り、それをダイナミクスとする。 ステップ788:動作『2』に対応したキーコード『C
♯3』のキーオンと、前記ステップ787によって得ら
れたダイナミクスを出力し、図2のステップ8に進む。
Step 785: Since it is determined in step 781 that the peak is the motion type "2" (YES), the peak value is multiplied by the coefficient a. That is, the peak value stored in the previous value register NOW is multiplied by the coefficient a, and the multiplied value is stored again in the previous value register NOW. Step 786: Similar to the step 782, 16 registers LAST16 storing the peak values of the past 16 times in preparation for the moving average calculation processing of the next step,
The values of LAST15, LAST14, ..., LAST1 are respectively updated. Step 787: Similar to step 783, the moving average of the peak value is calculated based on the moving average order α corresponding to the follow-up degree, and this is taken as the dynamics. Step 788: Key code "C" corresponding to operation "2"
The key-on of "# 3" and the dynamics obtained in step 787 are output, and the process proceeds to step 8 in FIG.

【0036】ステップ789:前記ステップ781で動
作種類『3』のピークである(NO)と判定されたの
で、ここでは、前回の動作種類が『1』であるかどうか
を判定し、『1』(YES)の場合にはステップ78A
に進み、『2』(NO)の場合にはステップ78Bに進
む。すなわち、2拍子や4拍子における上下手振り運動
では動作『1』のピークと動作『2』ピークが交互に現
れ、3拍子における三角形手振り運動では動作『1』の
ピーク、動作『2』のピーク、動作『3』のピークが順
番に現れる。従って、動作『1』から動作『3』に移行
する場合と、動作『2』から動作『3』に移行する場合
とでは角速度センサの出力値も異なる。そこで、ここで
は上下手振り運動の場合と三角形手振り運動の場合とで
動作『3』に対する係数値をそれぞれ異ならせるためで
ある。
Step 789: Since it is determined in step 781 that the motion type "3" is the peak (NO), here it is determined whether or not the previous motion type is "1", and "1" is determined. If yes, step 78A.
And if "2" (NO), proceed to step 78B. That is, the peak of the motion "1" and the peak of the motion "2" appear alternately in the vertical hand-moving motion in the two-beat and four-beat, and the peak of the motion "1" and the peak of the motion "2" in the triangular hand-moving motion in the three-beat, The peaks of motion "3" appear in order. Therefore, the output value of the angular velocity sensor is different between the case where the operation "1" is changed to the operation "3" and the case where the operation "2" is changed to the operation "3". Therefore, here, the coefficient value for the motion "3" is made different between the case of the vertical hand gesture motion and the case of the triangular hand gesture motion.

【0037】ステップ78A:前記ステップ789で前
回の動作種類が『1』(YES)だと判定されたので、
そのピーク値に係数cを乗じる。すなわち、前回値レジ
スタNOWに格納されているピーク値に係数cを乗じ、
その乗算値を再び前回値レジスタNOWに格納する。 ステップ78B:前記ステップ789で前回の動作種類
が『2』(NO)だと判定されたので、そのピーク値に
係数bを乗じる。すなわち、前回値レジスタNOWに格
納されているピーク値に係数bを乗じ、その乗算値を再
び前回値レジスタNOWに格納する。
Step 78A: Since it was determined in step 789 that the previous operation type was "1" (YES),
The peak value is multiplied by the coefficient c. That is, the peak value stored in the previous value register NOW is multiplied by the coefficient c,
The multiplication value is stored again in the previous value register NOW. Step 78B: Since it was determined in step 789 that the previous operation type was "2" (NO), the peak value is multiplied by the coefficient b. That is, the peak value stored in the previous value register NOW is multiplied by the coefficient b, and the multiplied value is stored again in the previous value register NOW.

【0038】例えば、振り降ろし動作時のピーク値が最
も大きく、次いで三角手振り運動における振り上げ動作
時のピーク値、三角手振り運動における横振り動作時の
ピーク値、上下手振り運動における振り上げ動作時のピ
ーク値の順番でその大きさが小さくなっている。従っ
て、三角手振り運動における動作種類『2』の横振り動
作の場合の係数aを1.75とし、動作種類『3』の振
り上げ動作の場合の係数bを1.5とし、上下手振り運
動における動作種類『3』の振り上げ動作の場合の係数
cを1.875とすることによって、全体的にダイナミ
クスの均一化を図ることができる。なお、これら係数値
は一例であり、操作者個々が任意に所望の値を設定して
もよいことはいうまでもない。
For example, the peak value during the swing-down motion is the largest, then the peak value during the swing-up motion during the triangular hand-swing motion, the peak value during the side-swing motion during the triangular hand-swing motion, and the peak value during the swing-up motion during the vertical hand-swing motion. In that order, the size is getting smaller. Therefore, the coefficient a in the lateral swing motion of the motion type “2” in the triangular hand swing motion is set to 1.75, and the coefficient b in the swing motion of the motion type “3” is set to 1.5, and the motion in the vertical hand swing motion is set. By setting the coefficient c in the swing-up motion of the type “3” to 1.875, the dynamics can be made uniform as a whole. Needless to say, these coefficient values are examples, and each operator may arbitrarily set a desired value.

【0039】ステップ78C:前記ステップ782と同
様に、次のステップの移動平均の算出処理に備えて過去
16回分のピーク値を記憶している16個のレジスタL
AST16、LAST15、LAST14、・・・、L
AST1の値をそれぞれ更新する。 ステップ78D:前記ステップ783と同様に、追従度
に対応した移動平均次数αに基づいてピーク値の移動平
均を取り、それをダイナミクスとする。 ステップ78E:動作『3』に対応したキーコード『D
3』のキーオンと、前記ステップ78Dによって算出さ
れたダイナミクスを出力し、図2のステップ8に進む。
Step 78C: Similar to step 782, 16 registers L for storing the peak values of the past 16 times are prepared for the moving average calculation process of the next step.
AST16, LAST15, LAST14, ..., L
The value of AST1 is updated. Step 78D: Similar to step 783, the moving average of the peak value is calculated based on the moving average order α corresponding to the follow-up degree, and this is taken as the dynamics. Step 78E: Key code "D" corresponding to operation "3"
3 ”and the dynamics calculated in step 78D are output, and the process proceeds to step 8 in FIG.

【0040】ステップ8:前々回値レジスタOLD、前
回値レジスタNOW及び今回値レジスタNEWのそれぞ
れの格納値に基づいた谷検出処理を行う。図6はこの谷
検出処理の詳細を示す図である。この谷検出処理は次の
ようなステップで順番に実行される。 ステップ80:前回値レジスタNOWの格納値が、前々
回値レジスタOLDの格納値以下であり、かつ、今回値
レジスタNEWの格納値以下であるかどうか、すなわち
前回のタイマ割り込みの時点で検出された移動平均値が
極小値(谷)かどうかの判定を行い、YESの場合は次
のステップ81に進み、NOの場合はリターンして次の
タイマ割り込みタイミングまで待機する。 ステップ81:前回のタイマ割り込みの時点が移動平均
値の極小値(谷)となった時点であると前記ステップ8
0で判定されたので、ここでは今回の谷判定時点が前回
の谷判定時点から起算して所定時間経過したかどうかの
判定を行い、所定時間経過している場合(YES)には
次のステップ82に進み、所定時間経過していない(N
O)場合には、今回の谷判定は誤りであると考えられる
のでリターンして次のタイマ割り込みタイミングまで待
機する。
Step 8: Valley detection processing is performed based on the stored values of the two-preceding value register OLD, the previous value register NOW and the present value register NEW. FIG. 6 is a diagram showing the details of this valley detection processing. This valley detection process is sequentially executed in the following steps. Step 80: Whether the value stored in the previous value register NOW is less than or equal to the value stored in the value register OLD two times before, and less than or equal to the value stored in the current value register NEW, that is, the movement detected at the time of the previous timer interrupt. It is determined whether or not the average value is the minimum value (valley). If YES, the process proceeds to the next step 81, and if NO, the process returns and waits until the next timer interrupt timing. Step 81: The previous timer interruption time point is the time point when the minimum value (valley) of the moving average value is reached.
Since it is judged as 0, it is judged here whether or not a predetermined time has elapsed since the current valley judgment time was calculated from the previous valley judgment time, and if the predetermined time has elapsed (YES), the next step 82, the predetermined time has not elapsed (N
In the case of O), the current valley judgment is considered to be incorrect, and therefore the routine returns and waits until the next timer interrupt timing.

【0041】ステップ82:前回値レジスタNOWの格
納値が一定しきい値よりも小さいかどうかを判定し、小
さい(YES)場合は次のステップ83に進み、大きい
(NO)場合は今回の谷判定が誤りであると考えられる
のでリターンして次のタイマ割り込みタイミングまで待
機する。 ステップ83:前回値レジスタNOWの格納値がダイナ
ミックしきい値レジスタDYNA_THREに格納され
ているダイナミックしきい値よりも小さいかどうかを判
定し、小さい(YES)場合は次のステップ84に進
み、大きい(NO)場合は今回の谷判定が誤りであると
考えられるのでリターンして次のタイマ割り込みタイミ
ングまで待機する。
Step 82: It is judged 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 judgment is made. Is suspected to be incorrect, so return and wait until the next timer interrupt timing. Step 83: It is determined whether or not the value stored in the previous value register NOW is smaller than the dynamic threshold value stored in the dynamic threshold value register DYNA_THRE, and if it is smaller (YES), the process proceeds to the next step 84 and is larger ( In the case of NO), it is considered that the current valley judgment is erroneous, so the routine returns and waits until the next timer interrupt timing.

【0042】ステップ84:今回のタイマ割り込みの時
点以前にピーク検出処理又は谷検出処理によって検出さ
れたのがピークかどうかの判定を行い、前回検出された
のがピーク(YES)の場合は今回検出された谷は正し
いと考えられるので次のステップ85に進み、前回検出
されたのが谷(NO)の場合は今回検出された谷は誤り
であると考えられるのでリターンして次のタイマ割り込
みタイミングまで待機する。 ステップ85:今回検出された極小値が正式な谷である
と判定する。以上のようにして、谷が検出されると、今
度は図3のピーク検出処理によってピークの検出が行わ
れるようになる。すなわち、図3のピーク検出処理と図
6の谷検出処理とが交互に行われることによってピーク
と谷の検出が確実に行われる。
Step 84: It is judged whether or not the peak is detected by the peak detection processing or the valley detection processing before the time of the current timer interruption, and if the peak was previously detected (YES), it is detected this time. Since the detected valley is considered to be correct, the process proceeds to the next step 85. If the previously detected valley is NO (NO), the valley detected this time is considered to be incorrect, so return and return to the next timer interrupt timing. Wait until. Step 85: It is determined that the minimum value detected this time is an official valley. When the valley is detected as described above, the peak is detected by the peak detection process of FIG. That is, the peak detection processing shown in FIG. 3 and the valley detection processing shown in FIG. 6 are alternately performed, so that the peak and the valley are reliably detected.

【0043】次に、指揮棒20が操作者の身振り動作に
応じて動かされることによって、どのようにしてセンサ
出力処理を行うのか、その動作例を図8を用いて説明す
る。図8は、指揮棒20が三角形の軌跡を描くようにし
て3拍子の身振り動作に応じた三角手振り運動における
センサ出力処理の概念を示す模式図である。図8(A)
は指揮棒20が3拍子の三角手振り運動で動かされる場
合における絶対角速度の出力波形のようすを示す図であ
り、図8(B)は三角手振り運動における絶対角速度の
ピーク検出時点を示す図である。
Next, an example of the operation will be described with reference to FIG. 8 as to how the sensor output processing is performed by moving the baton 20 according to the gesture motion of the operator. FIG. 8 is a schematic diagram showing the concept of sensor output processing in a triangular hand waving motion corresponding to a gesture of three beats so that the baton 20 draws a triangular locus. FIG. 8 (A)
FIG. 8 is a diagram showing an output waveform of the absolute angular velocity when the baton 20 is moved by a triangular hand waving motion of 3 beats, and FIG. 8B is a diagram showing a peak detection time point of the absolute angular velocity in the triangular hand waving motion. .

【0044】指揮棒20が図8(B)のような三角手振
り運動で動かされると、ステップ3で算出される絶対角
速度の値は図8(A)のような形状となる。第1ピー
ク、谷、第2ピーク、谷、第3ピーク、谷の順番でそれ
ぞれピークと谷が交互に現れる。まず、指揮棒20が図
7において240°の方向(左斜め下方向)に振られる
と、ステップ70〜ステップ75の処理によって第1ピ
ークが検出される。そして、前回ピーク値レジスタLA
ST_PEAKに前回値レジスタNOWの格納値が格納
される。図4のステップ771の処理によって第1ピー
クは動作『1』のピークだと判定され。図8(B)では
第1ピークの検出時点が円で示されている。そして、ス
テップ78のダイナミクス算出処理によって第1ピーク
のピーク値に対応したダイナミクスがステップ782及
び783の処理によって算出され、動作種類『1』に対
応したキーコード『C3』のキーオンと共に出力される
ようになる。
When the baton 20 is moved by the triangular waving motion as shown in FIG. 8B, the absolute angular velocity value calculated in step 3 has a shape as shown in FIG. 8A. Peaks and valleys appear alternately in the order of the first peak, the valley, the second peak, the valley, the third peak, and the valley. First, when the baton 20 is swung in the direction of 240 ° in FIG. 7 (obliquely leftward and downward), the first peak is detected by the processing of steps 70 to 75. And the previous peak value register LA
The value stored in the previous value register NOW is stored in ST_PEAK. By the processing of step 771 in FIG. 4, it is determined that the first peak is the peak of the operation “1”. In FIG. 8 (B), the detection time of the first peak is indicated by a circle. Then, the dynamics corresponding to the peak value of the first peak is calculated by the dynamics calculation processing of step 78 by the processing of steps 782 and 783, and is output together with the key-on of the key code "C3" corresponding to the operation type "1". become.

【0045】その後、指揮棒20が図7において240
°の方向(左斜め下方向)から0°の方向(右側水平方
向)に振られると、その手振り動作の変化点で図6のス
テップ80〜ステップ85の処理によって今度は谷が検
出される。そして、指揮棒20が図7において0°の方
向(右側水平方向)に振られると、それに応じて今度は
第2ピークが動作『2』のピークとして検出され、この
第2ピークのピーク値に対応したダイナミクスがステッ
プ785、786及び787の処理によって算出され、
キーコード『C♯3』のテンポキーオン信号と共に出力
されるようになる。
Thereafter, the baton 20 is moved to 240 in FIG.
When it is shaken in the direction of 0 ° (obliquely leftward downward) in the direction of 0 ° (horizontal rightward direction), a valley is detected this time by the processing of steps 80 to 85 in FIG. Then, when the baton 20 is swung in the direction of 0 ° (horizontal right direction) in FIG. 7, the second peak is detected as the peak of the motion “2” in response to this, and the peak value of the second peak is obtained. The corresponding dynamics are calculated by the processing of steps 785, 786 and 787,
The key code "C # 3" is output together with the tempo key-on signal.

【0046】指揮棒20が図7において0°の方向(右
側水平方向)から120°の方向(左斜め上方向)に振
られると、その手振り動作の変化点で谷が検出される。
その後、今度は第3ピークが動作『3』のピークとして
検出される。この第3ピークのピーク値に対応したダイ
ナミクスがステップ78B、78C及び78Dの処理に
よって算出され、キーコード『D3』のテンポキーオン
信号と共に出力されるようになる。そして、再び指揮棒
20が図7において120°の方向(左斜め上方向)か
ら240°の方向(左斜め下方向)に振られると、その
手振り動作の変化点で谷が検出され、以後手振り動作に
応じて前述の処理が繰り返し実行される。
When the baton 20 is swung from the direction of 0 ° (horizontal right side) to the direction of 120 ° (obliquely leftward upward) in FIG. 7, a valley is detected at the change point of the hand movement.
After that, the third peak is detected this time as the peak of the operation “3”. The dynamics corresponding to the peak value of the third peak is calculated by the processing of steps 78B, 78C and 78D, and is output together with the tempo key-on signal of the key code "D3". Then, when the baton 20 is swung again from the direction of 120 ° (obliquely leftward upward) to the direction of 240 ° (obliquely downward leftward) in FIG. 7, a valley is detected at the change point of the waving action, and waving thereafter. The above-described processing is repeatedly executed according to the operation.

【0047】なお、図8(B)の右側には、指揮棒20
が上下方向に2拍子又は4拍子で手振り動作(又は揺動
動作)された場合のピーク検出時点が示してある。この
場合、指揮棒20が図7において270°の方向(下方
向)に振られると、第1ピークが動作『1』のピークと
して検出され、この第1ピークのピーク値に対応したダ
イナミクスがステップ782及び783の処理によって
算出され、キーコード『C3』のテンポキーオン信号と
共に出力される。その後、指揮棒20が図7において2
70°の方向(下方向)から90°の方向(上方向)に
振られると、その手振り動作の変化点で谷が検出され、
今度は第2ピークが動作『3』のピークとして検出さ
れ、この第2ピークのピーク値に対応したダイナミクス
がステップ78A、78C及び78Dの処理によって算
出され、キーコード『D3』のテンポキーオン信号と共
に出力されるようになる。そして、再度指揮棒20が図
7において90°の方向(上方向)から270°の方向
(下方向)に振られると、その手振り動作の変化点で谷
が検出され、前述の処理が繰り返し実行される。
On the right side of FIG. 8B, the baton 20
Shows the peak detection time when the hand waving motion (or oscillating motion) is performed in the vertical direction with 2 or 4 beats. In this case, when the baton 20 is swung in the direction of 270 ° (downward) in FIG. 7, the first peak is detected as the peak of the motion “1”, and the dynamics corresponding to the peak value of the first peak is stepped. It is calculated by the processing of 782 and 783, and is output together with the tempo key-on signal of the key code "C3". After that, the baton 20 is changed to 2 in FIG.
When shaken in the direction of 70 ° (downward) to the direction of 90 ° (upward), a valley is detected at the change point of the hand movement,
This time, the second peak is detected as the peak of the operation "3", and the dynamics corresponding to the peak value of this second peak is calculated by the processing of steps 78A, 78C and 78D, and together with the tempo key-on signal of the key code "D3". It will be output. Then, when the baton 20 is swung again from the direction of 90 ° (upward direction) to the direction of 270 ° (downward direction) in FIG. 7, a valley is detected at the change point of the hand shaking action, and the above-described processing is repeatedly executed. To be done.

【0048】このようにして、操作者が指揮棒20を動
かすことによって、指揮棒20は操作者の手振り動作に
応じて操作者の意図したインターバルでテンポキーオン
信号を出力すると共に意図したダイナミクスを出力する
ことができるようになるため、このテンポキーオン信号
及びダイナミクスに応じて電子楽器1Hがシーケンスデ
ータの再生を行うことによりテンポや演奏ダイナミクス
を任意に制御することができるようになる。なお、後述
するようにテンポキーオン信号の出力タイミングと自動
演奏の拍タイミングとがほぼ一致するように、電子楽器
1Hにおいて自動演奏のテンポを制御するようになって
いるので、操作者が意図する拍タイミングと自動演奏の
拍タイミングとは一致することとなる。
In this manner, when the operator moves the baton 20, the baton 20 outputs the tempo key-on signal and the intended dynamics at the operator's intended interval in accordance with the operator's waving motion. Since the electronic musical instrument 1H reproduces the sequence data according to the tempo key-on signal and the dynamics, the tempo and performance dynamics can be controlled arbitrarily. As will be described later, the electronic musical instrument 1H controls the tempo of the automatic performance so that the output timing of the tempo key-on signal and the beat timing of the automatic performance substantially coincide with each other. The timing and the beat timing of the automatic performance will match.

【0049】次に、このテンポキーオン信号を入力する
ことによって、電子楽器1H内のマイクロコンピュータ
(CPU11)がどのようにして楽音の再生処理を行う
のかその一例を図9〜図13のフローチャートに基づい
て説明する。図9は電子楽器1H内のマイクロコンピュ
ータ(CPU11)が処理する楽音の再生処理の一例を
示す図である。この再生処理はタイマ19からの動作ク
ロック(周期約1ms)に同期して実行されるタイマ割
り込み処理である。この再生処理はプログラムROM1
2に格納されている制御プログラムに応じた一連の処理
であり、次のようなステップで順番に実行される。
Next, an example of how the microcomputer (CPU 11) in the electronic musical instrument 1H performs the reproduction processing of musical tones by inputting this tempo key-on signal will be described with reference to the flowcharts of FIGS. 9 to 13. Explain. FIG. 9 is a diagram showing an example of a musical sound reproduction process performed by the microcomputer (CPU 11) in the electronic musical instrument 1H. This reproduction process is a timer interrupt process executed in synchronization with the operation clock from the timer 19 (cycle of about 1 ms). This reproduction processing is performed by the program ROM 1
This is a series of processes according to the control program stored in No. 2, and is executed in order by the following steps.

【0050】ステップ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 judged whether or not the traveling state flag RUN is "1". If "1" (YES), it means that the reproduction processing of the automatic performance data is performed. If it is "0" (NO), it means that the reproduction process is not performed, and therefore the process immediately returns.
Wait until the next interrupt timing. Step 41: It is judged whether or not the pause flag PAUSE is "0". If it is "0" (YES), it means that the vehicle is temporarily stopped. To 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 the value is other than "0" (NO), the process jumps to the next step 49. To do.

【0051】ステップ43:ステップ42又はステップ
47でタイミングカウンタTIMEが『0』だと判定さ
れたので、ここでは、RAM12のアドレスを進め、そ
のアドレス位置から自動演奏データを読み出す。自動演
奏データはイベントデータ(チャンネルナンバを含む)
とデルタタイムデータとの組み合わせ複数で構成され
る。 ステップ44:前記ステップ43で読み出されたデータ
はデルタタイムデータかどうかを判定し、デルタタイム
データ(YES)の場合はステップ45に進み、そうで
ない他のイベントデータ(NO)の場合はステップ46
に進む。 ステップ45:タイミングカウンタTIMEにステップ
43で読み出されたデルタタイムデータを格納する。
Step 43: Since it is judged that the timing counter TIME is "0" at the step 42 or the step 47, the address of the RAM 12 is advanced and the automatic performance data is read from the address position. Automatic performance data is event data (including channel number)
And a combination of delta time data. Step 44: It is judged whether or not the data read out in the step 43 is delta time data, and if it 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.

【0052】ステップ46:ステップ43で読み出され
たイベントデータに対応した処理(イベント対応処理)
を実行する。図10はこのイベント対応処理の詳細を示
す図である。このイベント対応処理は次のようなステッ
プで順番に実行される。 ステップ460:この実施例では自動演奏データが1〜
16チャンネルのデータを含み、そのうちのチャンネル
ナンバCH1をテンポ制御用及び追従度制御用のチャン
ネルとし、キーオンイベントをテンポ制御用マークと
し、キーオフイベントを追従度制御用マークとして使用
している。従って、ここでは、前記ステップ43で読み
出されたイベントデータがチャンネルナンバCH1のイ
ベントかどうかを判定し、YESの場合はステップ46
1に進み、NOの場合はこれ以外のチャンネルナンバの
イベントなのでステップ467に進む。なお、チャンネ
ルナンバCH1のキーオンイベントは、各拍タイミング
の位置に記憶されており、各イベントのキーコードは、
3拍子の曲の場合はC3,C♯3,D3,C3,C♯
3,D3・・・の順に、2,4拍子の場合はC3,D
3,C3,D3の順に並んでいる。また、チャンネルナ
ンバCH1のキーオフイベントは、追従度を変更するた
めの任意の位置に記憶されており、各イベントのキーコ
ードはA,B,Cのいずれかである。なお、チャンネル
ナンバCH1のキーオンイベント、キーオフイベントを
それぞれテンポ制御用マーク、追従度制御用マークとし
て利用したが、各マークを表す専用のデータを持つよう
にしてもよい。
Step 46: Processing corresponding to the event data read in step 43 (event corresponding processing)
To execute. FIG. 10 is a diagram showing details of this event handling process. This event handling process is sequentially executed in the following steps. Step 460: In this embodiment, the automatic performance data is 1 to
Data of 16 channels are included, of which the channel number CH1 is used as a tempo control and follow-up degree control channel, a key-on event is used as a tempo control mark, and a key-off event is used as a follow-up degree control mark. Therefore, here, it is determined whether or not the event data read in step 43 is the event of the channel number CH1. If YES, step 46
If it is NO, the process proceeds to step 467 because it is an event of a channel number other than this. 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 # for 3-beat songs
In the order of 3, D3, ...
They are arranged in the order of 3, C3, D3. The key-off event of the channel number CH1 is stored at an arbitrary position for changing the follow-up degree, and the key code of each event is A, B, or C. Although the key-on event and the key-off event of the channel number CH1 are used as the tempo control mark and the follow-up degree control mark, respectively, dedicated data representing each mark may be provided.

【0053】ステップ461:前記ステップ460でチ
ャンネルナンバCH1のイベントだと判定されたので、
ここでは、そのイベントが追従度制御用のキーオフイベ
ントかどうかを判定し、追従度制御用のキーオフイベン
ト(YES)の場合はステップ462に進み、テンポ制
御用のキーオンイベント(NO)の場合はステップ46
3に進む。 ステップ462:前記ステップ461で追従度制御用の
キーオフイベントだと判定されたので、ここでは、キー
コードすなわち追従度に応じて図14に示される移動平
均次数、差分リミット、下限値、上限値を、対応する各
レジスタα、β、γ、δに格納し、ステップ47に進
む。
Step 461: Since it is determined in step 460 that the event is the channel number CH1,
Here, it is determined whether or not the event is a key-off event for tracking control, and if the key-off event for tracking control (YES), the process proceeds to step 462, and if it is a key-on event for tempo control (NO), the step proceeds. 46
Go to 3. Step 462: Since it is determined in the step 461 that the key-off event is for the follow-up degree control, the moving average order, the difference limit, the lower limit value, and the upper limit value shown in FIG. , Are stored in the corresponding registers α, β, γ, δ, and the process proceeds to step 47.

【0054】ステップ463:前記ステップ461でテ
ンポ制御用のキーオンイベントだと判定されたので、こ
こでは、キーオンレシーブフラグKON_RCVが
『1』かどうかを判定し、『1』(YES)の場合はス
テップ464に進み、『0』(NO)の場合はステップ
465に進む。 ステップ464:前記ステップ463でキーオンレシー
ブフラグKON_RCVが『1』であるということは、
チャンネルナンバCH1のテンポ制御用のキーオンイベ
ントが読み出される前に指揮棒20からMIDIインタ
ーフェイス27及び1Bを介して既にテンポキーオン信
号が入力したことを意味するので、ここでは、そのキー
オンレシーブフラグKON_RCVに『0』をセット
し、ステップ47に進む。
Step 463: Since it is determined in step 461 that the key-on event is for tempo control, it is determined here whether the key-on receive flag KON_RCV is "1". If "1" (YES), step If it is “0” (NO), the process proceeds to step 465. Step 464: The fact that the key-on receive flag KON_RCV is “1” in step 463 means that
This means that the tempo key-on signal has already been input from the baton 20 via the MIDI interfaces 27 and 1B before the key-on event for the tempo control of the channel number CH1 is read out, so here, the key-on receive flag KON_RCV is set to " 0 ”is set and the process proceeds to step 47.

【0055】ステップ465:前記ステップ463でキ
ーオンレシーブフラグKON_RCVが『0』であると
いうことは、前記ステップ43で読み出されたチャンネ
ルナンバCH1のテンポ制御用のキーオンイベントに対
応したテンポキーオン信号が未だ入力していないことを
意味するので、ここでは、そのキーコードレジスタKE
YCODEに読み出されたテンポ制御用のキーオンイベ
ントのキーコードを格納する。 ステップ466:テンポキーオン信号が未だ入力してい
ないので、一時停止フラグPAUSEに『1』をセット
し、次のステップ47に進む。一時停止フラグPAUS
Eに『1』がセットされることによって、これ以降はス
テップ41の判定がNOとなり、ステップ42〜4Aは
実行されなくなる。
Step 465: The fact that the key-on receive flag KON_RCV is "0" at the step 463 means that the tempo key-on signal corresponding to the key-on event for the tempo control of the channel number CH1 read at the step 43 is not yet present. Since it means that the key code register KE has not been entered,
The key code of the read key-on event for tempo control is stored in YCODE. Step 466: Since the tempo key-on signal has not been inputted yet, the pause flag PAUSE is set to "1" and the routine proceeds to the next step 47. Pause flag PAUS
By setting "1" to E, the determination at step 41 becomes NO thereafter, and steps 42 to 4A are not executed.

【0056】ステップ467:前記ステップ460でチ
ャンネルナンバCH1以外のイベントだと判定されたの
で、ここでは、そのイベントを音源回路17に出力す
る。このとき、イベントがノートイベントの場合には図
3のステップ78によって算出されたダイナミクスに応
じてベロシティを修正する。このベロシティの修正によ
って指揮棒20の振りの速さなどの動作に応じて楽音の
音量を任意に制御することができる。なお、ベロシティ
以外の要素、例えば音色、ピッチ、効果などを任意に制
御するようにしてもよい。
Step 467: Since it is determined in the step 460 that the event is other than the channel number CH1, the event is output to the tone generator circuit 17 here. At this time, when the event is a note event, the velocity is corrected according to the dynamics calculated in step 78 of FIG. By correcting the velocity, it is possible to arbitrarily control the volume of the musical sound according to the action such as the swing speed of the baton 20. Elements other than velocity, such as tone color, pitch, and effects, may be controlled arbitrarily.

【0057】ステップ47:前記ステップ45で読み出
されたデルタタイムデータが『0』の場合があるので、
ここでは再びタイミングカウンタTIMEが『0』がど
うかを判定し、『0』(YES)の場合は次のステップ
43に進み、『0』以外の値(NO)の場合は次のステ
ップ49にジャンプする。デルタタイムデータが『0』
ということは、同じタイミングに複数イベントが存在す
ることを意味する。 ステップ48:タイミングレジスタTIMEの格納値に
テンポ係数レジスタT_COEFの格納値(テンポ係
数)を乗じる。ここで、テンポ係数は『1』を基準とし
た値で、この値に応じてテンポが制御される。例えば、
テンポ係数が『0.5』であったときはテンポは2倍と
なり、『2』であったときはテンポは半分となる。
Step 47: Since the delta time data read out in step 45 may be "0",
Here, it is again determined whether the timing counter TIME is "0". If "0" (YES), the process proceeds to the next step 43, and if the value is other than "0" (NO), the process jumps to the next step 49. To do. Delta time data is "0"
This means that multiple events exist at the same timing. Step 48: The stored value of the timing register TIME is multiplied by the stored value (tempo coefficient) of the tempo coefficient register T_COEF. Here, the tempo coefficient is a value based on "1", and the tempo is controlled according to this value. For example,
When the tempo coefficient is "0.5", the tempo is doubled, and when it is "2", the tempo is halved.

【0058】ステップ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 Accumulate Register DELT
The value of A_ACM is incremented by "1".
The delta accumulation register DELTA_ACM counts the time between events read from the channel number CH1. Step 4B: Interval register INTERVAL
The value of is incremented by "1". The interval register INTERVAL measures the time interval of the tempo key-on signal transmitted from the baton 20.

【0059】ステップ4C:テンポキーオン受信処理を
行う。このテンポキーオン受信処理は指揮棒20からテ
ンポキーオン信号を受信する毎に行われる処理である。
従って、テンポキーオン信号が受信されない場合には実
質的な処理は行われない。図11はこのテンポキーオン
受信処理の詳細を示す図である。このテンポキーオン受
信処理は次のようなステップで順番に実行される。 ステップ4C0:指揮棒20からMIDIインターフェ
イス27及び1Bを介してテンポキーオン信号の受信有
りかどうかを判定し、受信有り(YES)の場合はステ
ップ4C1に進み、受信無し(NO)の場合は図9の再
生処理にリターンし、次の割り込みタイミングまで待機
する。
Step 4C: Perform tempo key-on reception processing. 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 process is performed. FIG. 11 is a diagram showing details of the tempo key-on reception processing. This tempo key-on reception process is sequentially executed in the following steps. Step 4C0: It is judged whether or not the tempo key-on signal is received from the baton 20 via the MIDI interfaces 27 and 1B. If the reception is present (YES), the process proceeds to step 4C1. Then, the process returns to the playback process of and waits until the next interrupt timing.

【0060】ステップ4C1:一時停止フラグPAUS
Eが『1』かどうかを判定し、『1』(YES)の場合
はステップ4C2に進み、『0』(NO)の場合はステ
ップ4C9に進む。 ステップ4C2:前記ステップ4C1で一時停止フラグ
PAUSEが『1』であると判定されたということは、
テンポキーオン信号の受信よりも先にチャンネルナンバ
CH1のテンポ制御用のキーオンイベントデータが読み
出され、そのキーコードがステップ465で既にキーコ
ードレジスタKEYCODEに格納されたことを意味す
るので、ここでは、その受信テンポキーオン信号のキー
コードとキーコードレジスタKEYCODEに格納され
ているキーコードとが一致するかどうかを判定し、一致
する(YES)場合はステップ4C3に進み、一致しな
い(NO)場合は図9の再生処理にリターンし、次の割
り込みタイミングまで待機する。
Step 4C1: Pause 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 fact that the pause flag PAUSE is determined to be "1" in the step 4C1 means that
This means that the key-on event data for tempo control of the channel number CH1 has been read out before the reception of the tempo key-on signal, and that key code has already been stored in the key code register KEYCODE in step 465. It is determined whether the key code of the received tempo key-on signal and the key code stored in the key code register KEYCODE match. If they match (YES), the process proceeds to step 4C3, and if they do not match (NO), the figure The process returns to the reproduction process of No. 9 and waits until the next interrupt timing.

【0061】ステップ4C3:インターバルレジスタI
NTERVALの値とデルタアキュムレートレジスタD
ELTA_ACMの値との比をレートレジスタRATE
に格納する。すなわち、指揮棒20から送信されてくる
テンポキーオン信号の時間間隔と、実際にチャンネルナ
ンバCH1のイベントが読み出される時間間隔との比が
レートレジスタRATEに格納される。 ステップ4C4:テンポ係数計算処理を行う。このテン
ポ係数計算処理は、前記ステップ4C3で算出されたレ
ートレジスタRATEの値と、ステップ462でセット
された追従度に対応した移動平均次数αとに基づいて新
たなテンポ係数を計算する処理である。図12はこのテ
ンポ係数計算処理の詳細を示す図である。なお、このテ
ンポ係数計算処理はステップ4CFでも実行されるもの
である。このテンポ係数計算処理は次のようなステップ
で順番に実行される。
Step 4C3: Interval register I
NTERVAL value and Delta accumulated register D
The ratio with the value of ELTA_ACM is set to the rate register RATE
To store. 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: Perform tempo coefficient calculation processing. This tempo coefficient calculation processing is processing for calculating a new tempo coefficient based on the value of the rate register RATE calculated in step 4C3 and the moving average order α corresponding to the follow-up degree set in step 462. . FIG. 12 is a diagram showing details of the tempo coefficient calculation processing. The tempo coefficient calculation process is also executed in step 4CF. This tempo coefficient calculation process is sequentially executed in the following steps.

【0062】ステップ4C51:過去16回分のテンポ
係数を記憶している16個のレジスタTC16、TC1
5、TC14、・・・、TC2の値をそれぞれ更新す
る。すなわち、レジスタTC15の格納値をレジスタT
C16に格納し、レジスタTC14の格納値をレジスタ
TC15に格納し、以下順次各レジスタの格納値をシフ
トし、レジスタTC1の格納値をレジスタTC2に格納
する。 ステップ4C52:テンポ係数レジスタT_COEFの
格納値(テンポ係数)に前記ステップ4C3で算出され
たレート値RATEを乗算し、その乗算値(T_COE
F×RATE)をレジスタTC1に格納する。
Step 4C51: 16 registers TC16 and TC1 storing tempo coefficients for the past 16 times
5, TC14, ..., TC2, respectively. That is, the value stored in the register TC15 is set to the register T
The value stored in the register TC14 is stored in the register TC14, the stored value in the register TC14 is stored in the register TC15, the stored value in each register is sequentially shifted, and the stored value in the register TC1 is stored in the register TC2. Step 4C52: The stored value (tempo coefficient) of the tempo coefficient register T_COEF is multiplied by the rate value RATE calculated in the step 4C3, and the multiplication value (T_COE
F × RATE) is stored in the register TC1.

【0063】ステップ4C53:追従度に対応した移動
平均次数αに基づいてテンポ係数の移動平均を取り、そ
れを新たなテンポ係数としてテンポ係数レジスタT_C
OEFに格納する。この移動平均次数αは図14に示さ
れるように追従度A,B,Cに対応した値である。すな
わち、追従度Aの場合には移動平均次数αは1となり、
前記ステップ4C52で算出されたレジスタTC1の格
納値がそのまま新たなテンポ係数としてテンポ係数レジ
スタT_COEFに格納する。追従度Bの場合には移動
平均次数αは4となり、過去4回分のテンポ係数を格納
しているレジスタTC1、TC2、TC3及びTC4の
格納値を加算し、それを次数α=4で除して得られた移
動平均値((TC1+TC2+TC3+TC4)/4)
を新たなテンポ係数としてテンポ係数レジスタT_CO
EFに格納する。追従度Cの場合には移動平均次数αは
16となり、過去16回分のテンポ係数を格納している
レジスタTC1、TC2、・・・、TC16の格納値を
加算し、それを次数α=16で除して得られた移動平均
値((TC1+TC2+・・・+TC16)/16)を
新たなテンポ係数としてテンポ係数レジスタT_COE
Fに格納する。
Step 4C53: The moving average of the tempo coefficient is calculated based on the moving average degree α corresponding to the follow-up degree, and this is used as a new tempo coefficient in the tempo coefficient register T_C.
Store in OEF. This moving average order α is a value corresponding to the following degrees A, B, and C, as shown in FIG. That is, in the case of the follow-up degree A, the moving average order α becomes 1,
The stored value of the register TC1 calculated in step 4C52 is stored as it is in the tempo coefficient register T_COEF as a new tempo coefficient. In the case of the follow-up degree B, the moving average order α becomes 4, and the stored values of the registers TC1, TC2, TC3, and TC4 that store the tempo coefficients for the past four times are added, and the result is divided by the order α = 4. Obtained moving average value ((TC1 + TC2 + TC3 + TC4) / 4)
As a new tempo coefficient, tempo coefficient register T_CO
Store in EF. In the case of the follow-up degree C, the moving average order α is 16, and the stored values of the registers TC1, TC2, ..., TC16, which store the tempo coefficients for the past 16 times, are added, and the order is α = 16. The moving average value ((TC1 + TC2 + ... + TC16) / 16) obtained by dividing is used as a new tempo coefficient in the tempo coefficient register T_COE.
Store in F.

【0064】ステップ4C5:前記ステップ4C4のテ
ンポ係数計算処理によって得られたテンポ係数の値や前
回値との差分が追従度に対応した所定の範囲内に収まる
ようにテンポ係数リミット処理を行う。図13はこのテ
ンポ係数リミット処理の詳細を示す図である。なお、こ
のテンポ係数リミット処理はステップ4CGでも実行さ
れるものである。このテンポ係数リミット処理は次のよ
うなステップで順番に実行される。 ステップ4C54:前記ステップ4C4のテンポ係数計
算処理によって得られたテンポ係数の値(今回値)と前
回のテンポキーオン受信処理のテンポ係数計算処理によ
って得られたテンポ係数の値(前回値)との差が追従度
に対応した差分リミットβの範囲内にあるかどうかを判
定し、差分リミットβの範囲内(YES)の場合はステ
ップ4C56に進み、差分リミットβの範囲外(NO)
の場合はステップ4C55に進む。 ステップ4C55:前記ステップ4C54で今回値と前
回値との差が所定の範囲外にある(NO)と判定された
ので、その差分値が差分リミットβ以内となるようにテ
ンポ係数レジスタT_COEFの値をリミットする。こ
の差分リミットβは図14に示されるように追従度A,
B,Cに対応した値である。すなわち、追従度Aの場合
の差分リミットβは0.2、追従度Bの場合の差分リミ
ットβは0.1、追従度Cの場合の差分リミットβは
0.05である。従って、追従度に応じて今回値と前回
値との差すなわちテンポ係数の変化の大きさが異なるよ
うになっている。
Step 4C5: Tempo coefficient limit processing is performed so that the value of the tempo coefficient obtained by the tempo coefficient calculation processing of step 4C4 and the difference from the previous value fall within a predetermined range corresponding to the follow-up degree. FIG. 13 is a diagram showing details of the tempo coefficient limit processing. The tempo coefficient limiting process is also executed in step 4CG. This tempo coefficient limit processing is sequentially executed in the following steps. Step 4C54: Difference between the value of the tempo coefficient (current value) obtained by the tempo coefficient calculation processing of step 4C4 and the value of the tempo coefficient (previous value) obtained by the tempo coefficient calculation processing of the previous tempo key-on reception processing Is within the range of the difference limit β corresponding to the follow-up degree, and if it is within the range of the difference limit β (YES), the process proceeds to step 4C56 and is outside the range of the difference limit β (NO).
In the case of, proceed to Step 4C55. Step 4C55: Since it is determined in step 4C54 that the difference between the current value and the previous value is outside the predetermined range (NO), the value of the tempo coefficient register T_COEF is set so that the difference value is within the difference limit β. Limit This difference limit β is as shown in FIG.
It is a value corresponding to B and C. That is, the difference limit β for the follow-up degree A is 0.2, the difference limit β for the follow-up degree B is 0.1, and the difference limit β for the follow-up degree C is 0.05. Therefore, the difference between the current value and the previous value, that is, the magnitude of the change in the tempo coefficient, differs depending on the follow-up degree.

【0065】ステップ4C56:前記ステップ4C4の
テンポ係数計算処理によって得られたテンポ係数の値
が、追従度に対応した下限値γ以上であり上限値δ以下
であるかどうかを判定し、YESの場合は図11のステ
ップ4C6に進み、NOの場合はステップ4C57に進
む。 ステップ4C57:前記ステップ4C56でテンポ係数
の値が所定の範囲外にある(NO)と判定されたので、
そのテンポ係数の値が下限値γ以上、上限値δ以下とな
るようにテンポ係数レジスタT_COEFの値をリミッ
トする。この下限値γ及び上限値δは図14に示される
ように追従度A,B,Cに対応した値である。すなわ
ち、追従度Aの場合の下限値γは0.5、上限値δは
2.0、追従度Bの場合の下限値γは0.7、上限値δ
は1.6、追従度Cの場合の下限値γは0.8、上限値
δは1.2である。従って、追従度に応じてテンポ係数
の取り得る値の範囲が異なるようになっている。
Step 4C56: It is determined whether or not the value of the tempo coefficient obtained by the tempo coefficient calculation processing of step 4C4 is equal to or more than the lower limit value γ corresponding to the follow-up degree and less than or equal to the upper limit value δ, and if YES Goes to step 4C6 in FIG. 11, and if NO, goes to step 4C57. Step 4C57: Since it is determined in step 4C56 that the value of the tempo coefficient is outside the predetermined range (NO),
The value of the tempo coefficient register T_COEF is limited so that the value of the tempo coefficient is not less than the lower limit value γ and not more than the upper limit value δ. The lower limit value γ and the upper limit value δ are values corresponding to the following degrees A, B, and C, as shown in FIG. That is, the lower limit value γ for the followability A is 0.5, the upper limit value δ is 2.0, the lower limit value γ for the followability B is 0.7, and the upper limit value δ.
Is 1.6, the lower limit value γ is 0.8 and the upper limit value δ is 1.2 in the case of the follow-up degree C. Therefore, the range of possible tempo coefficient values varies depending on the follow-up degree.

【0066】ステップ4C6:今回のテンポキーオン受
信時点から次のチャンネルナンバCH1のイベントが読
み出されるまでの時間間隔を計時するため、デルタアキ
ュムレートレジスタDELTA_ACMに『0』をセッ
トする。 ステップ4C7:今回のテンポキーオン受信時点から次
のテンポキーオン信号が受信されるまでの時間間隔を計
時するため、インターバルレジスタINTERVALに
『0』をセットする。 ステップ4C8:一時停止フラグPUASEに『0』を
セットする。これによって図9の再生処理が再び開始す
るようになる。
Step 4C6: "0" is set in the delta accumulation register DELTA_ACM in order to measure the time interval from the reception of the current tempo key-on to the reading of the event of the next channel number CH1. Step 4C7: "0" is set in the interval register INTERVAL in order to measure the time interval from the time of receiving the current tempo key-on to the time of receiving the next tempo key-on signal. Step 4C8: "0" is set to the pause flag PUASE. As a result, the reproduction process of FIG. 9 is started again.

【0067】ステップ4C9:前記ステップ4C1で一
時停止フラグPAUSEが『0』であると判定されたと
いうことは、チャンネルナンバCH1のイベントデータ
がまだ読み出されていないことを意味するので、この時
点以降に最初に現れる次のチャンネルナンバCH1のイ
ベントをサーチして読み出す。 ステップ4CA:受信テンポキーオン信号のキーコード
とサーチしたチャンネルナンバCH1のキーコードとが
一致するかどうかを判定し、一致する(YES)場合は
ステップ4CAに進み、一致しない(NO)場合は図9
の再生処理にリターンし、次の割り込みタイミングまで
待機する。
Step 4C9: The fact that the pause flag PAUSE is determined to be "0" at the step 4C1 means that the event data of the channel number CH1 has not been read yet. The event of the next channel number CH1 that first appears at is searched for and read. Step 4CA: It is determined whether or not the key code of the received tempo key-on signal and the key code of the searched channel number CH1 match. If they match (YES), the procedure proceeds to step 4CA.
Then, the process returns to the playback process of and waits until the next interrupt timing.

【0068】ステップ4CB:前記ステップ4C8でサ
ーチしたチャンネルナンバCH1のイベントがサーチさ
れるまでに読み出された各イベントのデルタタイムデー
タの累算値にテンポ係数レジスタT_COEFのテンポ
係数を乗じたものと、その時点におけるタイミングレジ
スタTIMEの値とをデルタアキュムレートレジスタD
ELTA_ACMに加算する。 ステップ4CC:前記ステップ4C8でサーチしたイベ
ントまでのデルタタイム及びタイミングレジスタTIM
Eの値に1/Kを乗じる。ここでKは1以上の値とす
る。すなわち、指揮棒20からのテンポキーオン信号を
受信した時点以降の再生速度を上げて、テンポキーオン
信号受信タイミングと拍タイミングとを近づけるため
に、各イベントのデルタタイム及びタイミングレジスタ
TIMEの値を小さくする。 ステップ4CD:キーオンレシーブフラグKON_RC
Vに『1』をセットし、ステップ4CEに進む。ステッ
プ4CEからステップ4CJまでは前記ステップ4C3
から前記ステップ4C7までと同じなので、その説明は
省略する。
Step 4CB: The accumulated value of the delta time data of each event read until the event of the channel number CH1 searched in step 4C8 is searched for is multiplied 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 D
Add to ELTA_ACM. Step 4CC: Delta time and timing register TIM until the event searched in Step 4C8
Multiply the value of E by 1 / K. Here, K is a value of 1 or more. That is, the delta time of each event and the value of the timing register TIME are decreased in order to increase the reproduction speed after the time when the tempo key-on signal is received from the baton 20 and bring the tempo key-on signal reception timing close to the beat timing. . Step 4 CD: Key-on receive flag KON_RC
Set "1" to V and proceed to step 4CE. From step 4CE to step 4CJ, the above-mentioned step 4C3
To Step 4C7, the description thereof will be omitted.

【0069】次に、このテンポキーオン信号を入力する
ことによって、電子楽器1H内のマイクロコンピュータ
(CPU11)がどのように再生処理を行うのか、その
動作例を図15を用いて説明する。図15は、指揮棒2
0から電子楽器1Hに取り込まれるテンポキーオン信号
の入力タイミングと、自動演奏データの読み出しタイミ
ンイグとの関係を示す図である。指揮棒20は図8のよ
うに三角手振り動作されるものとする。曲は全部で12
小節で構成され、初めの3小節が追従度Bであり、中間
の6小節が追従度Cであり、終わりの3小節が追従度A
で構成されているとする。図では、この追従度Cから追
従度Aに切り換わる部分のテンポキーオン信号の入力タ
イミングと自動演奏データの読み出しタイミングとの関
係を示している。
Next, an operation example of how the microcomputer (CPU 11) in the electronic musical instrument 1H performs reproduction processing by inputting this tempo key-on signal will be described with reference to FIG. FIG. 15 shows the baton 2
It is a figure which shows the relationship between the input timing of the tempo key-on signal taken into the electronic musical instrument 1H from 0, and the reading timing of automatic performance data. The baton 20 is assumed to have a triangular hand movement as shown in FIG. 12 songs in total
It consists of measures, the first 3 measures are the followability B, the middle 6 measures are the measure C, and the last 3 measures are the measure A.
It is composed of. In the figure, the relationship between the input timing of the tempo key-on signal and the read timing of the automatic performance data at the portion where the follow-up degree C is switched to the follow-up degree A is shown.

【0070】タイミングt1では図9のステップ40〜
ステップ42を経て、ステップ43でチャンネルナンバ
CH1のキーオフイベントすなわち追従度Aのキーオフ
イベントが読み出され、図10のステップ462でその
追従度Aに対応した値が各レジスタレジスタα、β、
γ、δに格納される。そして、次のステップ43でデル
タタイムD0が読み出され、ステップ45でタイミング
レジスタTIMEにそのデルタタイムD0が書き込まれ
る。ここで、デルタタイムD0は『0』であり、同じタ
イミングにチャンネルナンバCH1のキーオンイベント
が存在することを示す。
At timing t1, steps 40 to 40 in FIG.
After step 42, the key-off event of the channel number CH1, that is, the key-off event of the follow-up degree A, is read out in step 43, and the value corresponding to the follow-up degree A is read in each register register α, β in step 462 of FIG.
It is stored in γ and δ. Then, in the next step 43, the delta time D0 is read, and in step 45, the delta time D0 is written in the timing register TIME. Here, the delta time D0 is "0", indicating that the key-on event of the channel number CH1 exists at the same timing.

【0071】従って、同じタイミングt1において、ス
テップ43でチャンネルナンバCH1のキーオンイベン
トすなわちテンポ制御用のキーオンイベントが読み出さ
れる。このタイミングt1ではまだテンポキーオン信号
は受信されていないので、図10のステップ460及び
ステップ461を経てステップ463でNOと判定さ
れ、ステップ465でテンポ制御用キーオンイベントの
キーコード『C3』がキーコードレジスタKEYCOD
Eに格納され、一時停止フラグPAUSEに『1』がセ
ットされる。そして、次のステップ43でデルタタイム
D1が読み出され、ステップ45でタイミングレジスタ
TIMEにそのデルタタイムD1が書き込まれる。
Therefore, at the same timing t1, in step 43, the key-on event of the channel number CH1, that is, the key-on event for tempo control is read. Since the tempo key-on signal is not yet received at this timing t1, it is determined to be NO in step 463 through step 460 and step 461 of FIG. Register KEYCOD
It is stored in E and the pause flag PAUSE is set to "1". Then, in the next step 43, the delta time D1 is read, and in step 45, the delta time D1 is written in the timing register TIME.

【0072】タイミングt1よりも少し遅れたタイミン
グt2で今度は指揮棒20から電子楽器1Hに対してキ
ーコード『C3』のテンポキーオン信号とダイナミクス
が送信される。これによって、図11のテンポキーオン
受信処理のステップ4C0〜ステップ4C2を経て、ス
テップ4C3〜ステップ4C8の処理が行われる。この
とき、チャンネルナンバCH1のキーオンイベントとほ
とんど同じタイミングでテンポキーオン信号が受信され
たので、インターバルレジスタINTERVALの値と
デルタアキュムレートレジスタDELTA_ACMの値
との比はほぼ1に近い値である。従って、ステップ4C
3ではレートレジスタRATEにはその1に近い値が新
たに格納される。ステップ4C4ではテンポ係数レジス
タT_COEFには前回とほとんど同じ値のテンポ係数
が格納される。ステップ4C6〜ステップ4C8ではイ
ンターバルレジスタINTERVAL、デルタアキュム
レートレジスタDELTA_ACM及び一時停止フラグ
PAUSEに『0』がセットされる。
At timing t2, which is a little later than timing t1, the baton 20 transmits the tempo key-on signal of the key code "C3" and the dynamics to the electronic musical instrument 1H. As a result, the processing of steps 4C3 to 4C8 is performed through the steps 4C0 to 4C2 of the tempo key-on reception processing of FIG. At this time, since the tempo key-on signal is received at almost the same timing as the key-on event of the channel number CH1, the ratio between the value of the interval register INTERVAL and the value of the delta accumulation register DELTA_ACM is a value close to 1. Therefore, step 4C
At 3, a value close to 1 is newly stored in the rate register RATE. At step 4C4, the tempo coefficient having the almost same value as the previous time is stored in the tempo coefficient register T_COEF. In steps 4C6 to 4C8, the interval register INTERVAL, the delta accumulation register DELTA_ACM, and the pause flag PAUSE are set to "0".

【0073】その後、デルタタイムD1に対応する時間
が経過することよって、タイミングレジスタTIMEの
値も0となり、タイミングt3ではチャンネルナンバC
H2のイベントが読み出され、図10のステップ467
でそのイベントが音源回路に出力される。このとき、ノ
ートイベントのベロシティは受信されたダイナミクスに
応じて修正される。次のステップ43でデルタタイムD
2が読み出され、ステップ45でタイミングレジスタT
IMEにそのデルタタイムD2が書き込まれる。以下、
同様にして各タイミングt3〜t7でチャンネルナンバ
CH3〜CH6のイベント及びデルタタイムD3〜D6
が順次読み出され、それぞれのイベントが音源回路に出
力される。
After that, 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 467 of FIG.
Then the event is output to the tone generator circuit. At this time, the velocity of the note event is modified according to the received dynamics. Delta time D in the next step 43
2 is read out, and the timing register T is read in step 45.
The delta time D2 is written in the IME. Less than,
Similarly, at timings t3 to t7, events of channel numbers CH3 to CH6 and delta times D3 to D6.
Are sequentially read and each event is output to the tone generator circuit.

【0074】その後、デルタタイムD6に対応する時間
を計時中(タイミングレジスタTIMEのデクリメント
処理中)のタイミングt8で今度は指揮棒20から電子
楽器1Hに対してキーコード『C♯3』のテンポキーオ
ン信号とダイナミクスが受信される。これによって、図
11のテンポキーオン受信処理のステップ4C0及びス
テップ4C1を経て、ステップ4C9〜4CJの処理が
行われる。ステップ4C9ではチャンネルナンバCH1
のキーコード『C♯3』のイベントがサーチされる。そ
して、ステップ4CAを経て、ステップ4CBの処理が
行われる。ステップ4CBでは、チャンネルナンバCH
1のイベントがサーチされるまでの間にデルタタイムは
存在しなかったので、ここではデルタタイムの累算値は
『0』であり、タイミングレジスタTIMEの値だけが
デルタアキュムレートレジスタDELTA_ACMに加
算される。これによって、デルタアキュムレートレジス
タDELTA_ACMの値とインターバルレジスタIN
TERVALの値との関係は、デルタアキュムレートD
ELTA_ACMの方がインターバルレジスタINTE
RVALよりも大きくなる。
Thereafter, at a timing t8 when the time corresponding to the delta time D6 is being measured (during the decrement processing of the timing register TIME), the tempo key of the key code "C # 3" is turned on from the baton 20 to the electronic musical instrument 1H this time. Signals and dynamics are received. As a result, the processing of steps 4C9 to 4CJ is performed through steps 4C0 and 4C1 of the tempo key-on reception processing of FIG. In step 4C9, channel number CH1
The event with the key code "C # 3" is searched. Then, after step 4CA, the process of step 4CB is performed. In step 4CB, the channel number CH
Since there was no delta time until the event of 1 was searched, the accumulated value of delta time is "0", and only the value of the timing register TIME is added to the delta accumulation register DELTA_ACM. It As a result, the value of the delta accumulation register DELTA_ACM and the value of the interval register IN
The relationship with the TERVAL value is the delta accumulation D
ELTA_ACM is the interval register INTE
Greater than RVAL.

【0075】ステップ4CCではテンポキーオン信号を
受信したタイミングt8以降の再生速度を上げる(テン
ポをアップする)ために、各イベントのデルタタイム及
びタイミングレジスタTIMEの値にK分の1を乗じる
が、ここではチャンネルナンバCH1のイベントがサー
チされるまでの間にデルタタイムは存在しなかったの
で、タイミングレジスタTIMEの値にK分の1が乗じ
られる。ステップ4CDではキーオンレシーブフラグK
ON_RCVに『1』がセットされ、ステップ4CE〜
ステップ4CJではインターバルレジスタINTERV
ALの値とデルタアキュムレートレジスタDELTA_
ACMの値との比(1より小さい値)がレートレジスタ
RATEに新たに格納される。ステップ4CFではテン
ポ係数レジスタT_COEFに前回よりも小さなテンポ
係数が格納される。ステップ4CH及びステップ4CJ
ではデルタアキュムレートレジスタDELTA_ACM
及びインターバルレジスタINTERVALに『0』が
セットされる。
At step 4CC, the delta time of each event and the value of the timing register TIME are multiplied by 1 / K in order to increase the reproduction speed (tempo is increased) after the timing t8 when the tempo key-on signal is received. However, since there was no delta time until the event of the channel number CH1 was searched, the value of the timing register TIME is multiplied by 1 / K. In Step 4CD, key-on receive flag K
"1" is set to ON_RCV and step 4CE-
In step 4CJ, the interval register INTERV
AL value and delta accumulated register DELTA_
The ratio to the value of ACM (value smaller than 1) is newly stored in the rate register RATE. At step 4CF, a tempo coefficient smaller than the previous time is stored in the tempo coefficient register T_COEF. Step 4CH and Step 4CJ
Then Delta Accumulate Register DELTA_ACM
And "0" is set in the interval register INTERVAL.

【0076】その後、タイミングレジスタTIMEの値
が0となり、タイミングt9でチャンネルナンバCH1
のテンポ制御用のキーオンイベント『C♯3』が読み出
されることによって、図10のステップ464でキーオ
ンレシーブフラグKON_RCVに『0』がセットされ
る。以下、同様にして各タイミングでチャンネルナンバ
のイベント及びデルタタイムがテンポ係数レジスタT_
COEFに格納されている1よりも小さなテンポ係数に
よって修正を加えられながら順次読み出され、それぞれ
のイベントが受信されたダイナミクスによって修正され
ながら音源回路に出力されるようになる。すなわち、指
揮棒20からのテンポキーオン信号の受信タイミングの
方が自動演奏データの読み出しタイミングよりも早い場
合には自動演奏データの再生処理のテンポがアップし、
逆の場合には自動演奏データの再生処理のテンポがダウ
ンする。
After that, the value of the timing register TIME becomes 0, and the channel number CH1 is set at the timing t9.
When the key-on event "C # 3" for tempo control is read, the key-on receive flag KON_RCV is set to "0" in step 464 of FIG. Similarly, at each timing, the channel number event and the delta time are calculated in the tempo coefficient register T_.
The events are sequentially read out while being modified by a tempo coefficient smaller than 1 stored in COEF, and each event is output to the tone generator circuit while being modified by the received dynamics. That is, if the reception timing of the tempo key-on signal from the baton 20 is earlier than the read timing of the automatic performance data, the tempo of the automatic performance data reproduction processing increases,
In the opposite case, the tempo of the automatic performance data reproduction process is lowered.

【0077】なお、上述の実施例では、追従度に関する
各種値の一例として図14のようなものを用いて説明し
たが、これに限らず、各種値を適宜変更可能としてもよ
い。例えば、ユーザが任意に設定できるようにしてもよ
いし、複数の値のセットを予め用意しておき、その中か
らいずれかを選択するようにしてもよい。また、曲毎に
最適なセットを1又は複数持たせるようにしてもよい
し、複数セットを用意しておき、その中から曲に応じた
最適なセットを自動的に選択するようにしてもよい。ま
た、追従度は3種類に限らず、2種類でも4種類以上で
もよい。追従度に応じて移動平均次数、差分リミット、
下限値、上限値の4つの値をそれぞれ用いてテンポ係数
やダイナミクスを制御する場合について説明したが、こ
れらの一部を適宜組み合わせてもよいし、他の条件を制
御するようにしてもよい。
In the above-described embodiment, an example of various values relating to the follow-up degree has been described using FIG. 14, but the present invention is not limited to this, and various values may be changed as appropriate. For example, the user may be allowed to arbitrarily set, or a plurality of sets of values may be prepared in advance and any one of them may be selected. Further, one or a plurality of optimum sets may be provided for each music piece, or a plurality of sets may be prepared and the optimum set according to the music piece may be automatically selected from among them. . Further, the following degree is not limited to three types, and may be two types or four or more types. Moving average order, difference limit,
The case where the tempo coefficient and the dynamics are controlled by using the four values of the lower limit value and the upper limit value has been described, but some of these may be appropriately combined, or other conditions may be controlled.

【0078】実施例では、指揮棒などのように操作者の
身振り動作に応じてテンポ制御信号及びダイナミクスを
発生するものを例に説明したが、これに限らず、タッピ
ング操作や演奏操作子の操作によってテンポ制御信号を
発生するようにしてもよい。また、実施例では、動作種
類として3種類の場合について説明したが、もっと多く
の動作種類を検出するようにしてもよい。
In the embodiment, the example in which the tempo control signal and the dynamics are generated according to the gesture motion of the operator, such as a baton, has been described as an example. Alternatively, the tempo control signal may be generated. Further, in the embodiment, the case where there are three types of motions has been described, but more types of motions may be detected.

【0079】なお、上述の実施例では、身振り動作を検
出するためのセンサとして、圧電ジャイロセンサに限ら
ず、加速度センサや、磁気や光を用いたものであっても
よい。例えば、身振り動作を撮像し、画像処理によって
身振り動作を検出するようなものでもよい。また、これ
らのセンサを複数個組み合わせてもよい。また、上述の
実施例では、身振り動作の特徴点として圧電ジャイロセ
ンサからの出力のピーク及び谷を抽出する場合について
説明したが、これに限らず、センサの種類を変えるなど
して、他の条件を用いてその特徴点を抽出するようにし
てもよい。さらに、上述の実施例では、MIDIインタ
ーフェイスを介して接続された指揮棒20と電子楽器1
Hを例に説明したが、両者を一体で構成してもよいこと
はいうまでもない。また、電子楽器1Hの発生するテン
ポクロックを外部装置に供給して、外部装置の演奏テン
ポを制御するように構成してもよい。
In the above-mentioned embodiment, the sensor for detecting the gesture motion is not limited to the piezoelectric gyro sensor, but may be an acceleration sensor, a magnet or light. For example, the gesture motion may be captured and the gesture motion may be detected by image processing. Also, a plurality of these sensors may be combined. In addition, 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 characteristic point of the gesture motion is described, but the present invention is not limited to this, and the type of the sensor may be changed to meet other conditions. You may make it extract the feature point using. Further, in the above-described embodiment, the baton 20 and the electronic musical instrument 1 connected via the MIDI interface are used.
Although H has been described as an example, it goes without saying that both may be integrally formed. Alternatively, 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.

【0080】上述の実施例では、指揮棒20がピーク及
び谷を検出し、さらにその動作種類を検出する場合につ
いて説明したが、指揮棒20は単に身振り動作に応じた
センサ値を出力し、電子楽器1H側でこの出力に応じた
検出(ピーク及び谷検出、動作種類検出)処理などを行
うようにしてもよいことはいうまでもない。また、上述
の実施例では、圧電ジャイロセンサを2つを用いて身振
り動作を検出する場合について説明したが、3つ以上用
いてもよいことはいうまでもない。この場合、3拍子用
と、2/4拍子用とで異なる位置に設けられたセンサを
それぞれ用いてもよいし、3つ以上のセンサ出力を総合
判断して身振り動作を検出するようにしてもよい。
In the above-mentioned embodiment, the case where the baton 20 detects the peak and the valley and further detects the operation type thereof is explained. However, the baton 20 simply outputs the sensor value according to the gesture motion, It goes without saying that the musical instrument 1H side may perform detection processing (peak and valley detection, operation type detection) according to this output. Further, in the above embodiment, the case where the gesture motion is detected by using two piezoelectric gyro sensors has been described, but it goes without saying that three or more may be used. In this case, sensors provided at different positions for three beats and two quarter beats may be used respectively, or a gesture motion may be detected by comprehensively judging outputs of three or more sensors. Good.

【0081】また、上述の実施例では、センサを指揮棒
に内蔵する場合について説明したが、操作者の身体(例
えば手など)に装着したり、マイクやその他の機器(例
えばカラオケ装置のリモコンなど)に内蔵したりしても
よい。この場合、センサ出力の送出は有線又は無線で行
えばよい。例えば、マイクに内蔵した場合、カラオケの
イントロ部分でのみテンポ制御を有効とし、マイクの身
振り動作に応じてカラオケの演奏テンポが決定されるよ
うにすればよい。実施例では演奏中常にテンポを制御す
る場合について説明したが、演奏に先立ってテンポを決
定する場合に用いてもよい。実施例では、演奏データが
イベントとデルタタイムから構成される場合について説
明したが、これ以外の記憶方式であってもよいことはい
うまでもない。例えば、演奏データをイベントと絶対時
間との組で構成する。また、デルタタイムの単位にはm
sなどの時間の単位を用いても、音符の長さ(例えば4
分音符の1/24など)を用いてもよい。
In the above embodiment, the case where the sensor is built into the baton has been described. However, the sensor is attached to the operator's body (for example, hand), a microphone or other device (for example, remote controller of a karaoke device, etc.) ) May be built in. In this case, the sensor output may be sent by wire or wirelessly. For example, in the case of being built in a microphone, the tempo control may be enabled only in the intro portion of karaoke, and the performance tempo of karaoke may be determined according to the gesture motion of the microphone. In the embodiment, the case where the tempo is always controlled during the performance has been described, but it may be used when the tempo is decided 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, performance data is composed of a set of event and absolute time. The unit of delta time is m
Even if a time unit such as s is used, the length of the note (for example, 4
(Eg, 1 / 24th of a quarter note) may be used.

【0082】実施例では、テンポの制御は、デルタタイ
ムの値にテンポ係数を乗じ、デルタタイムの値を増減さ
せることによって行う場合について説明したが、処理の
周期(割り込みタイミング)を変化させることによって
テンポを変化させるようにしてもよい。実施例では、テ
ンポ制御用のデータと自動演奏用のデータを混在させ、
チャンネルナンバで区別する場合について説明したが、
両者を予め別々に設けてもよい。例えば、テンポを制御
する音符位置に対応するメモリのアドレスを記憶したも
のを、テンポ制御用データとしてもよい。テンポが滑ら
かに変化するように、テンポが変化したとき、テンポ係
数レジスタT_COEFの値を前の値と補間するように
してもよい。ダイナミクスの制御も同様に滑らかに変化
させてもよい。
In the embodiment, the tempo is controlled by multiplying the value of delta time by the tempo coefficient and increasing or decreasing the value of delta time, but by changing the cycle of processing (interrupt timing). The tempo may be changed. In the embodiment, the tempo control data and the automatic performance data are mixed,
I explained the case of distinguishing by channel number,
Both may be provided separately in advance. For example, the memory for storing the address of the memory corresponding to the note position for controlling the tempo may be used as the 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. The dynamics control may be changed smoothly as well.

【0083】実施例では、ピーク値に所定値を乗算して
ダイナミクスを算出する場合について説明したが、所定
値を加算してダイナミクスを算出してもよい。また、ピ
ークの大きさの変化に基づいて、乗算又は加算する値を
変化させてもよいし、複数の所定値の中から選択できる
ようにしてもよい。また、複数のテーブルを備えてお
き、ピークの大きさに応じていずれかのテーブルを適宜
選択するようにし、テーブル参照によってダイナミクス
を求めてもよい。上述の実施例ではダイナミクスに応じ
てベロシティを変化させる場合について説明したが、ダ
イナミクスに応じて音色、音高、効果などを変化させる
ようにしてもよい。また、これに限らず、演奏パート数
などを増減するようにしてもよいし、これらの少なくと
も1つを制御することで演奏のダイナミクスを制御する
ようにしてもよい。
In the embodiment, the case where the peak value is multiplied by a predetermined value to calculate the dynamics has been described, but the predetermined value may be added to calculate the dynamics. Further, the value to be multiplied or added may be changed based on the change in the peak size, or may be selected from a plurality of predetermined values. Alternatively, a plurality of tables may be provided, one of the tables may be appropriately selected according to the peak size, and the dynamics may be obtained by referring to the tables. In the above embodiment, the case where the velocity is changed according to the dynamics has been described, but the tone color, pitch, effect, etc. may be changed according to the dynamics. The number of performance parts may be increased or decreased without being limited to this, and the dynamics of the performance may be controlled by controlling at least one of them.

【0084】実施例では、ダイナミクスとテンポの場合
とで同じ移動平均次数αを用いる場合について説明した
が、それぞれ異ならせてもよい。また、ダイナミクス算
出処理を指揮棒20側で行う場合について説明したが、
電子楽器1H側で行ってもよい。実施例では、テンポキ
ーオン信号の受信よりも先にチャンネルナンバCH1の
テンポ制御用のキーオンイベントデータが読み出された
場合と、逆にテンポキーオン信号の受信後にチャンネル
ナンバCH1のテンポ制御用のキーオンイベントデータ
が読み出された場合とで同じ移動平均次数α、差分リミ
ットβ、下限値γ、上限値δに基づいてテンポ係数計算
処理及びテンポ係数リミット処理を行う場合について説
明したが、両方の場合でこれらの各種値を異ならせても
よい。例えば、テンポキーオン信号の受信がキーオンイ
ベントデータの読み出しよりも先にあった場合における
各種値を、テンポキーオン信号の受信がキーオンイベン
トデータの読み出し後にあった場合における各種値より
も大きくすることによって、テンポアップの方を敏感に
反応させ、テンポダウンの方をやや鈍く反応させること
ができる。
In the embodiment, the case where the same moving average order α is used for the dynamics and the tempo has been described, but they may be different from each other. Moreover, the case where the dynamics calculation processing is performed on the baton 20 side has been described.
You may perform on the electronic musical instrument 1H side. In the embodiment, the key-on event data for the tempo control of the channel number CH1 is read prior to the reception of the tempo key-on signal, and conversely, the key-on event for the tempo control of the channel number CH1 is received after the reception of the tempo key-on signal. The case where the tempo coefficient calculation processing and the tempo coefficient limit processing are performed based on the same moving average order α, difference limit β, lower limit value γ, and upper limit value δ when data is read has been described, but in both cases These various values may be different. For example, by setting various values in the case where the reception of the tempo key-on signal precedes the reading of the key-on event data to be larger than the various values in the case where the reception of the tempo key-on signal occurs after the reading of the key-on event data, You can make the tempo response more sensitive and the tempo response slightly sluggish.

【0085】[0085]

【発明の効果】この発明の演奏制御装置によれば、テン
ポやダイナミクスなどの音楽特性を表情豊かな思い入れ
を込めて大きく変動させて演奏したい場合や、あまり変
動させずに安定して演奏したい場合などのような相異な
る演奏形態を1つの曲の中で両立させることができる。
According to the performance control device of the present invention, when the player wants to perform the music characteristic such as tempo and dynamics with a large variation with expressive feeling, or when the performance is desired to be stable without much variation. It is possible to combine different performance forms such as, for example, in one song.

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

【図1】 電子楽器と、この電子楽器に操作者の手振り
動作に応じたテンポ制御信号を出力する指揮棒との詳細
構成及び両者間の接続関係を示すハードブロック図であ
る。
FIG. 1 is a hardware block diagram showing a detailed configuration of an electronic musical instrument and a baton that outputs a tempo control signal according 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 showing an example of a sensor output process performed by a microcomputer in the baton of FIG.

【図3】 図2の中のピーク検出処理ステップの詳細を
示す図である。
FIG. 3 is a diagram showing details of a peak detection processing step in FIG.

【図4】 図3の中のピーク種類判定処理ステップの詳
細を示す図である。
FIG. 4 is a diagram showing details of a peak type determination processing step in FIG.

【図5】 図3の中のダイナミクス算出処理ステップの
詳細を示す図である。
5 is a diagram showing details of a dynamics calculation processing step in FIG.

【図6】 図2の中の谷検出処理ステップの詳細を示す
図である。
FIG. 6 is a diagram showing details of a valley detection processing step in FIG.

【図7】 演算式によって求められた角度θと動作種類
との関係を示す図である。
FIG. 7 is a diagram showing a relationship between an angle θ obtained by an arithmetic expression and a motion type.

【図8】 指揮棒が三角形の軌跡を描くようにして3拍
子で手振り動作される場合のセンサ出力処理の概念を示
す模式図である。
FIG. 8 is a schematic diagram showing the concept of sensor output processing when the baton is waving in three beats so as to draw a triangular locus.

【図9】 電子楽器内のマイクロコンピュータが処理す
る楽音の再生処理の一例を示す図である。
FIG. 9 is a diagram showing an example of a musical tone reproduction process performed by a microcomputer in the electronic musical instrument.

【図10】 図9の中のイベント対応処理ステップの詳
細を示す図である。
FIG. 10 is a diagram showing details of an event handling processing step in FIG. 9.

【図11】 図9の中のテンポキーオン受信処理ステッ
プの詳細を示す図である。
FIG. 11 is a diagram showing details of a tempo key-on reception processing step in FIG. 9.

【図12】 図11の中のテンポ係数計算処理ステップ
の詳細を示す図である。
FIG. 12 is a diagram showing details of the tempo coefficient calculation processing step in FIG. 11;

【図13】 図11の中のテンポ係数リミット処理ステ
ップの詳細を示す図である。
FIG. 13 is a diagram showing details of the tempo coefficient limit processing step in FIG. 11.

【図14】 追従度と各種値との関係を表形式で示す図
である。
FIG. 14 is a diagram showing a relationship between the follow-up degree and various values in a table format.

【図15】 指揮棒から電子楽器に取り込まれるテンポ
キーオン信号の入力タイミングと、自動演奏データの読
み出しタイミンイグとの関係を示す図である。
FIG. 15 is a diagram showing a relationship between an input timing of a tempo key-on signal fetched from a baton into an electronic musical instrument and a timing of reading automatic performance data.

【符号の説明】[Explanation of symbols]

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 pressing detection circuit, 15, 24 ... Switch detection circuit, 16 ... Display circuit, 17 ... Sound source circuit, 18 ... Effect applying circuit, 19, 28 ... Timer, 1A ... Floppy disk drive (FDD), 1B , 27 ... MIDI interface (I / F), 1C ... keyboard, 1D, 29 ... panel switch, 1E ... display section, 1F ... sound system, 1G, 2E ... bass, 1H ... electronic musical instrument, 20 ... baton, 25, 26 ... A / D, 2A ... X-direction piezoelectric vibration gyro sensor, 2B ... Y-direction piezoelectric vibration gyro sensor, 2
C, 2D ... Noise removal circuit

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−156594(JP,A) 特開 昭56−154797(JP,A) 特開 平4−133097(JP,A) 特開 平4−133095(JP,A) 特開 平5−173560(JP,A) 特開 平8−314454(JP,A) 特開 平6−67668(JP,A) 特開 平5−249957(JP,A) (58)調査した分野(Int.Cl.7,DB名) G10H 1/00 - 7/00 ─────────────────────────────────────────────────── ─── Continuation of the front page (56) Reference JP-A-4-156594 (JP, A) JP-A-56-154797 (JP, A) JP-A-4-133097 (JP, A) JP-A-4-13594 133095 (JP, A) JP 5-173560 (JP, A) JP 8-314454 (JP, A) JP 6-67668 (JP, A) JP 5-249957 (JP, A) (58) Fields investigated (Int.Cl. 7 , DB name) G10H 1/00-7/00

Claims (5)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 自動演奏データを供給する演奏データ供
給手段と、 前記自動演奏データに応じた演奏時に、その演奏の音楽
特性に関するデータを時々刻々と変化させながら供給す
る特性データ供給手段と、 前記音楽特性に関するデータの変化に対してどれだけ追
従させて前記自動演奏データに応じた演奏を変化させる
かを決定する追従度データを一連の演奏中において少な
くとも1回変更して供給するものであって、該追従度デ
ータは前記自動演奏データの中に含まれており、該自動
演奏データの供給に伴って該追従度データを供給する
従度データ供給手段と、 前記自動演奏データに応じた演奏を前記音楽特性に関す
るデータ及び前記追従度データに従って行う制御手段と
を備えることを特徴とする演奏制御装置。
1. Performance data supply means for supplying automatic performance data; characteristic data supply means for supplying data relating to the music characteristics of the performance while changing the performance when performing according to the automatic performance data. be those supplied by changing at least once the degree of following data to determine how much and to follow changes the performance in accordance with the automatic performance data to changes in the data relating to the music properties in a series of performance , The tracking degree
Data is included in the automatic performance data,
Tracking data supply means for supplying the tracking data with the supply of performance data, and control means for performing a performance according to the automatic performance data in accordance with the data relating to the music characteristics and the tracking data.
Performance control apparatus comprising: a.
【請求項2】 自動演奏データを供給する演奏データ供
給手段と、 前記自動演奏データに応じた演奏時に、その演奏の音楽
特性に関するデータを時々刻々と変化させながら供給す
る特性データ供給手段と、 前記音楽特性に関するデータの変化に対してどれだけ追
従させて前記自動演奏データに応じた演奏を変化させる
かを決定する追従度データを一連の演奏中において少な
くとも1回変更して供給する追従度データ供給手段と、 前記自動演奏データに応じた演奏を前記音楽特性に関す
るデータ及び前記追従度データに従って行う制御手段と
を備え、 前記制御手段は、前記特性データ供給手段から
時々刻々と供給される前記音楽特性に関するデータを順
次記憶し、それを追従度データに応じた個数で平均化
し、前記自動演奏データに応じた演奏を前記平均化され
た値に従って行うことを特徴とする演奏制御装置。
2. Performance data supply for supplying automatic performance data
The music of the performance when the performance according to the supply means and the automatic performance data is performed.
Supply data regarding characteristics while changing it from moment to moment
Of the characteristic data supply means and the change in the data relating to the music characteristic.
Accordingly, the performance according to the automatic performance data is changed.
The follow-up data that determines
Tracking degree data supplying means for changing and supplying at least once and a performance according to the automatic performance data are related to the music characteristics.
Control means for performing data according to the
The control means sequentially stores the data relating to the music characteristic supplied from the characteristic data supplying means every moment, averages the data in accordance with the follow-up degree data, and responds to the automatic performance data. A performance control device for performing a performance according to the averaged value.
【請求項3】 自動演奏データを供給する演奏データ供
給手段と、 前記自動演奏データに応じた演奏時に、その演奏の音楽
特性に関するデータを時々刻々と変化させながら供給す
る特性データ供給手段と、 前記音楽特性に関するデータの変化に対してどれだけ追
従させて前記自動演奏データに応じた演奏を変化させる
かを決定する追従度データを一連の演奏中にお いて少な
くとも1回変更して供給する追従度データ供給手段と、 前記自動演奏データに応じた演奏を前記音楽特性に関す
るデータ及び前記追従度データに従って行う制御手段と
を備え、前記追従度データは複数の制御パラメータで構
成され、 前記制御手段は、前記特性データ供給手段から
時々刻々と供給すべき前記音楽特性に関するデータの
化の追従度を該追従度データの各制御パラメータ毎に設
定するよう該特性データ供給手段を制御するものである
ことを特徴とする演奏制御装置。
3. Performance data supply for supplying automatic performance data
The music of the performance when the performance according to the supply means and the automatic performance data is performed.
Supply data regarding characteristics while changing it from moment to moment
Of the characteristic data supply means and the change in the data relating to the music characteristic.
Accordingly, the performance according to the automatic performance data is changed.
Small a degree of following data to determine whether to have you in a series of performance
Tracking degree data supplying means for changing and supplying at least once and a performance according to the automatic performance data are related to the music characteristics.
Control means for performing data according to the
The follow-up degree data is composed of a plurality of control parameters.
The control means changes the data regarding the music characteristic to be supplied from the characteristic data supplying means every moment.
The follow-up degree of conversion is set for each control parameter of the follow-up degree data.
To control the characteristic data supply means so that
A performance control device characterized in that
【請求項4】 自動演奏データを供給する演奏データ供
給手段と、 前記自動演奏データに応じた演奏時に、その演奏の音楽
特性に関するデータを時々刻々と変化させながら供給す
る特性データ供給手段と、 前記音楽特性に関するデータの変化に対してどれだけ追
従させて前記自動演奏データに応じた演奏を変化させる
かを決定する追従度データを一連の演奏中において少な
くとも1回変更して供給する追従度データ供給手段と、 前記自動演奏データに応じた演奏を前記音楽特性に関す
るデータ及び前記追従度データに従って行う制御手段と
を備え、前記特性データ供給手段は複数種類の音楽特性
に関するデータを夫々供給するものであり、 前記制御手
段は、前記特性データ供給手段から時々刻々と供給すべ
き各音楽特性に関するデータ毎の変化の追従度を前記追
従度データに従ってそれぞれ設定するよう該特性データ
供給手段を制御するものであることを特徴とする演奏制
御装置。
4. Performance data supply for supplying automatic performance data
The music of the performance when the performance according to the supply means and the automatic performance data is performed.
Supply data regarding characteristics while changing it from moment to moment
Of the characteristic data supply means and the change in the data relating to the music characteristic.
Accordingly, the performance according to the automatic performance data is changed.
The follow-up data that determines
Tracking degree data supplying means for changing and supplying at least once and a performance according to the automatic performance data are related to the music characteristics.
Control means for performing data according to the
And the characteristic data supplying means includes a plurality of types of music characteristics.
Data is intended to respectively supply about, said control means supplies all every moment from the characteristic data supply means
It said the follow-up of the changes in each of the data relating to each sound music characteristic can add
The characteristic data should be set in accordance with the corresponding data.
A performance control device for controlling a supply means .
【請求項5】 自動演奏データを供給する演奏データ供
給手段と、 前記自動演奏データに応じた演奏時に、その演奏の音楽
特性に関するデータを時々刻々と変化させながら供給す
る特性データ供給手段と、 前記音楽特性に関するデータの変化に対してどれだけ追
従させて前記自動演奏データに応じた演奏を変化させる
かを決定する追従度データを一連の演奏中において少な
くとも1回変更して供給する追従度データ供給手段と、 前記自動演奏データに応じた演奏を前記音楽特性に関す
るデータ及び前記追従度データに従って行う制御手段と
を備え、 前記特性データ供給手段は前記音楽特性に関す
るデータとして演奏のダイナミクスに関するダイナミク
ス制御データを供給することを特徴とする演奏制御装
置。
5. Performance data supply for supplying automatic performance data
The music of the performance when the performance according to the supply means and the automatic performance data is performed.
Supply data regarding characteristics while changing it from moment to moment
Of the characteristic data supply means and the change in the data relating to the music characteristic.
Accordingly, the performance according to the automatic performance data is changed.
The follow-up data that determines
Tracking degree data supplying means for changing and supplying at least once and a performance according to the automatic performance data are related to the music characteristics.
Control means for performing data according to the
The performance control device is characterized in that the characteristic data supply means supplies dynamics control data relating to performance dynamics as the music characteristic data.
JP16917595A 1995-06-12 1995-06-12 Performance control device Expired - Fee Related JP3449045B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16917595A JP3449045B2 (en) 1995-06-12 1995-06-12 Performance control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16917595A JP3449045B2 (en) 1995-06-12 1995-06-12 Performance control device

Publications (2)

Publication Number Publication Date
JPH08339182A JPH08339182A (en) 1996-12-24
JP3449045B2 true JP3449045B2 (en) 2003-09-22

Family

ID=15881643

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16917595A Expired - Fee Related JP3449045B2 (en) 1995-06-12 1995-06-12 Performance control device

Country Status (1)

Country Link
JP (1) JP3449045B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003015648A (en) * 2001-06-28 2003-01-17 Kawai Musical Instr Mfg Co Ltd Electronic musical sound generating device and automatic playing method
JP5461070B2 (en) * 2009-06-08 2014-04-02 株式会社総合車両製作所 Abnormality detection method for laser welding system
JP5600968B2 (en) * 2010-03-03 2014-10-08 カシオ計算機株式会社 Automatic performance device and automatic performance program

Also Published As

Publication number Publication date
JPH08339182A (en) 1996-12-24

Similar Documents

Publication Publication Date Title
US5663514A (en) Apparatus and method for controlling performance dynamics and tempo in response to player's gesture
US20040040434A1 (en) Sound generation device and sound generation program
JP2005219631A (en) Reproduction control device, its method, its program, and recording medium recording the program
JP2001215963A (en) Music playing device, music playing game device, and recording medium
JPH04274498A (en) Automatic player
JP3449045B2 (en) Performance control device
JP3750699B2 (en) Music playback device
JP3452792B2 (en) Karaoke scoring device
JP3149736B2 (en) Performance dynamics control device
JP3152104B2 (en) Tempo control device
JP2009031549A (en) Melody display control device and karaoke device
JP3720004B2 (en) Music control device
JP3259602B2 (en) Automatic performance device
JPH1039863A (en) Automatic accompaniment device
JPH08278786A (en) Holonic rhythm generator device
JP3427569B2 (en) Music control device
JP3627321B2 (en) Performance control device
JP3293521B2 (en) Sounding timing control device
JPS62187393A (en) Touch response unit for electronic musical apparatus
JP4108850B2 (en) Method for estimating standard calorie consumption by singing and karaoke apparatus
US20020046639A1 (en) Method and apparatus for waveform reproduction
JPH08314455A (en) Musical tone controller
JP2024053144A (en) Automatic performance device and automatic performance program
JP3279122B2 (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: 20090711

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090711

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100711

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100711

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120711

Year of fee payment: 9

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130711

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees