JPH0511753A - Automatic music player device - Google Patents

Automatic music player device

Info

Publication number
JPH0511753A
JPH0511753A JP3189473A JP18947391A JPH0511753A JP H0511753 A JPH0511753 A JP H0511753A JP 3189473 A JP3189473 A JP 3189473A JP 18947391 A JP18947391 A JP 18947391A JP H0511753 A JPH0511753 A JP H0511753A
Authority
JP
Japan
Prior art keywords
event
tap
performance
performance data
interval
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.)
Pending
Application number
JP3189473A
Other languages
Japanese (ja)
Inventor
Shuichi Matsumoto
秀一 松本
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 JP3189473A priority Critical patent/JPH0511753A/en
Publication of JPH0511753A publication Critical patent/JPH0511753A/en
Pending legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

PURPOSE:To reproduce performance data at a constant tempo by correcting time intervals, among pieces of musical time pattern operation timing, so as to become mutually equivalent with a correction means for performance data, and rectifying performance timing for the performance data memorized in a performance data memory means. CONSTITUTION:ON and OFF conditions in a keyboard KB after starting a memory mode, together with the key codes KC1-KC3 of a key and event interval data, are memorized as performance data in a performance data memory PDM. A tap event in a foot switch 12 is detected, and a time interval, between first and second times after starting a record mode, is set as a standard tap event interval BT. Then interval data among tap events after the second time are corrected, that is, lengthened or shortened so as to become equivalent to the standard tap event interval BT. Event interval data after the second tap event are corrected according to a correction factor for interval data among corresponding tap events.

Description

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

【0001】[0001]

【産業上の利用分野】この発明は、電子楽器等において
使用される自動演奏装置に関し、特に、一定ではない好
きなテンポでのマニュアル演奏によって発生された、演
奏タイミングにムラがある演奏データであっても、簡単
に、その演奏タイミングが一定となるよう修正でき、該
演奏データを一定テンポで再生可能な自動演奏データと
して記録できるものに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an automatic musical instrument used in an electronic musical instrument or the like, and more particularly to musical performance data generated by a manual musical performance at a tempo that is not constant and having irregular timing. However, the present invention relates to a device that can be easily corrected so that the performance timing becomes constant and that the performance data can be recorded as automatic performance data that can be reproduced at a constant tempo.

【0002】[0002]

【従来の技術】自動演奏装置としては、例えば電子楽器
の鍵盤を手弾き(マニュアル)演奏することにより発生
した演奏データを自動演奏データとしてメモリに記憶し
ておき、該記憶された自動演奏データを順次再生するこ
とにより演奏音を発生するようになったものがある。と
ころで、このように自動演奏装置に記憶すべき演奏デー
タを発生させるための演奏は、小節またはビート(拍)
等の一定のタイミングに合わせて、一定のテンポで行う
必要がある。というのは、一定ではないテンポの演奏に
より発生され、演奏タイミングにムラがあるまま記憶さ
れた演奏データは、後にコピー、削除等のエディットを
行う際の重大な障害となるなど、様々な不都合をもたら
すからである。
2. Description of the Related Art As an automatic performance apparatus, for example, performance data generated by manually playing (manually) playing a keyboard of an electronic musical instrument is stored in a memory as automatic performance data, and the stored automatic performance data is stored. There is a device which produces a performance sound by sequentially reproducing. By the way, the performance for generating performance data to be stored in the automatic performance device is a measure or a beat.
It is necessary to perform at a constant tempo according to a constant timing such as. This is because performance data that is generated by a performance with a non-constant tempo and that is stored with uneven performance timing causes a serious obstacle to later editing such as copying or deleting. Because it brings.

【0003】[0003]

【発明が解決しょうとする課題】しかし、演奏者が未熟
な場合、一定のタイミングに合わせて一定のテンポで演
奏するのは困難であり、このため、演奏タイミングにム
ラが生じることとなる。また、一定のタイミングに合わ
せて演奏しょうとすると演奏に専念できないため、演奏
タイミングにムラが生じるだけでなく、演奏ミスをも招
くこととなり、このような場合、再度演奏しなおさなけ
ればならない。
However, when the performer is inexperienced, it is difficult to perform at a constant tempo in accordance with a constant timing, which causes unevenness in the performance timing. In addition, if the player tries to play at a certain timing, he cannot concentrate on the performance, which not only causes unevenness in the performance timing but also causes a performance error. In such a case, the performance must be repeated.

【0004】以上のような課題を解消するためには、演
奏するのが最も困難な、従って、その他の部分に比べて
演奏テンポが遅くなりがちな演奏部分を基準として一定
のテンポを設定し、該設定されたテンポで演奏すること
も考えられるが、この場合、困難ではない演奏部分につ
いては、通常テンポでのリアルな演奏感を把握できない
という不都合が生じている。この発明は上述の点に鑑み
てなされたもので、一定ではない好きなテンポでのマニ
ュアル演奏によって発生された、演奏タイミングにムラ
がある演奏データであっても、簡単に、その演奏タイミ
ングが一定となるよう修正でき、該演奏データを一定の
テンポで再生可能な自動演奏データとして記録できる自
動演奏装置を提供しようとするものである。
In order to solve the above problems, a certain tempo is set on the basis of a performance part that is the most difficult to play, and therefore the performance tempo tends to be slower than other parts, It may be possible to perform at the set tempo, but in this case, with respect to a performance part that is not difficult, there is an inconvenience that it is not possible to grasp a realistic performance feeling at the normal tempo. The present invention has been made in view of the above points, and even if the performance data generated by a manual performance at a tempo that is not constant and having uneven performance timing, the performance timing can be easily fixed. It is an object of the present invention to provide an automatic performance device that can be modified so that the performance data can be recorded as automatic performance data that can be reproduced at a constant tempo.

【0005】[0005]

【課題を解決するための手段】上記の課題を解決するた
め、この発明に係る自動演奏装置は、演奏者による演奏
操作に応じた演奏データを発生する演奏手段と、拍子を
とるために演奏者によって操作される操作手段と、前記
演奏手段から発生された前記演奏データを、その演奏タ
イミングに対応して、記憶する演奏データ記憶手段と、
前記操作手段による拍子操作タイミングを記憶する拍子
操作タイミング記憶手段と、前記拍子操作タイミング記
憶手段に記憶されたそれぞれの拍子操作タイミング間の
時間間隔が同等となるように、各拍子操作タイミング間
の時間間隔をそれぞれ修正し、この修正に応じて、各拍
子操作タイミングの間隔毎に、前記演奏データ記憶手段
に記憶された演奏データの演奏タイミングをそれぞれ修
正する演奏データ修正手段とを具えたものである。
In order to solve the above-mentioned problems, an automatic performance device according to the present invention has a performance means for generating performance data in accordance with a performance operation by a performer, and a performer for taking a beat. Operating means operated by: and performance data storage means for storing the performance data generated from the performance means at a performance timing.
The time between each beat operation timing is stored so that the time interval between the beat operation timing storage means for storing the beat operation timing by the operation means and each beat operation timing stored in the beat operation timing storage means becomes equal. And a performance data correction means for correcting the performance timing of the performance data stored in the performance data storage means at each time interval operation timing according to the modification. ..

【0006】[0006]

【作用】演奏手段は、演奏者による演奏操作に応じた演
奏データを発生するものであり、例えば、電子楽器の鍵
盤等によって構成することができる。操作手段は、演奏
手段の演奏テンポに合わせて所定のタイミングで拍子を
とるために、演奏者によって操作されるものであり、例
えば、足でオン、オフ操作されるフットスイッチ等によ
って構成することができる。演奏データ記憶手段は、前
記演奏手段から発生された演奏データを、その演奏タイ
ミングに対応して、順次読出可能に記憶する。また、拍
子操作タイミング記憶手段は、前記操作手段による拍子
操作タイミングを、前記演奏データの読出しに対応して
順次読出可能に記憶する。演奏データ修正手段は、前記
拍子操作タイミング記憶手段に記憶されたそれぞれの拍
子操作タイミング間の時間間隔が互いに同等すなわち一
定となるように、各拍子操作タイミング間の時間間隔を
それぞれ修正し、さらに、このように修正された各拍子
操作タイミング間隔毎に、対応する拍子操作タイミング
間隔の修正に従い、前記演奏データ記憶手段に記憶され
た演奏データの演奏タイミングをそれぞれ修正する。
The performance means generates performance data in response to a performance operation by the player, and can be constituted by, for example, a keyboard of an electronic musical instrument. The operating means is operated by the player in order to beat at a predetermined timing in accordance with the performance tempo of the playing means, and may be constituted by, for example, a foot switch or the like which is turned on and off by a foot. it can. The performance data storage means stores the performance data generated from the performance means so as to be sequentially readable in correspondence with the performance timing. The time signature operation timing storage means stores the time signature operation timing by the operation means so as to be sequentially readable corresponding to the reading of the performance data. The performance data correcting means corrects the time intervals between the respective beat operation timings so that the time intervals between the respective beat operation timings stored in the beat operation timing storage means are equal to each other, that is, are constant. For each time signature operation timing interval thus modified, the performance timing of the performance data stored in the performance data storage means is modified in accordance with the modification of the corresponding time signature operation timing interval.

【0007】このように拍子操作タイミング間隔を同等
に修正し、それぞれの拍子操作タイミング間隔の修正に
従い、対応する演奏データの演奏タイミングを修正する
ようにしたので、修正済の演奏データは、演奏タイミン
グが一定化し、故に、小節およびビートタイミングに同
期したものとなる。このため、例えば、一定ではない好
きなテンポで演奏手段を演奏して得られた、演奏タイミ
ングにムラがある演奏データであっても、一定のテンポ
で再生可能な自動演奏データとして記録可能になる。
As described above, the time signature operation timing intervals are corrected equally, and the performance timing of the corresponding performance data is modified according to the modification of each time signature operation timing interval. Becomes constant, and therefore, is synchronized with the bar and beat timing. Therefore, for example, even performance data obtained by playing the performance means at a tempo that is not constant and having uneven performance timing can be recorded as automatic performance data that can be reproduced at a constant tempo. ..

【0008】なお、拍子操作タイミング間の時間間隔が
互いに同等となるように修正するための具体的な方法と
しては、特定の拍子操作タイミング間隔を基準タイミン
グ間隔として設定し、該基準タイミング間隔に合わせて
その他の拍子操作タイミング間隔を修正する方法、また
は、それぞれの拍子操作タイミング間隔を平均化する方
法などが考えられる。また、拍子操作タイミング間隔の
修正に従い演奏データの演奏タイミングを修正するため
の具体的な方法としては、各々の拍子操作タイミング間
隔の修正率を求め、該修正率を対応する演奏データの演
奏タイミングに乗じる方法などが考えられる。
As a concrete method for correcting the time intervals between the time signature operation timings to be equal to each other, a specific time signature operation timing interval is set as a reference timing interval and is adjusted to the reference timing interval. And other beat operation timing intervals may be corrected, or each beat operation timing interval may be averaged. Further, as a concrete method for correcting the performance timing of the performance data in accordance with the modification of the time signature operation timing interval, the modification rate of each time signature operation timing interval is obtained, and the modification rate is set to the performance timing of the corresponding performance data. A method of multiplying is possible.

【0009】さらに、操作手段の操作、従って、拍子操
作タイミングを拍子操作タイミング記憶手段に記憶する
動作は、演奏手段の演奏が行われるのに伴ない該演奏手
段から発生した演奏データが記憶されるのに並行して
(すなわち、リアルタイムに)行ってもよいし、一旦記
憶した演奏データを再生しながら行ってもよい。
Further, the operation of the operating means, that is, the operation of storing the time signature operation timing in the time signature operation timing storage means stores performance data generated from the performance means as the performance means performs the performance. May be performed in parallel (that is, in real time), or may be performed while playing the stored performance data.

【0010】[0010]

【実施例】以下、添付図面を参照してこの発明の一実施
例を詳細に説明する。図1はこの発明に係る自動演奏装
置を適用した電子楽器の一実施例を示すハード構成ブロ
ック図であり、この例では、CPU1、プログラムRO
M2、データおよびワーキングRAM3を含むマイクロ
コンピュータによる制御の下に各種の処理が実行される
ようになっている。このマイクロコンピュータには、デ
ータおよびアドレスバスBSを介して、押離鍵検出回路
5、パネル操作検出回路6、タップ操作検出回路7、R
AMからなる演奏データメモリPDMおよびタップデー
タメモリTDM、ならびに、音源回路TGが接続されて
いる。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described in detail below with reference to the accompanying drawings. FIG. 1 is a block diagram of a hardware configuration showing an embodiment of an electronic musical instrument to which an automatic musical instrument according to the present invention is applied. In this example, a CPU 1 and a program RO
Various processes are executed under the control of a microcomputer including M2, data and working RAM3. In this microcomputer, a key press / release key detection circuit 5, a panel operation detection circuit 6, a tap operation detection circuit 7, R are provided via a data and address bus BS.
A performance data memory PDM and a tap data memory TDM made of AM and a tone generator circuit TG are connected.

【0011】押離鍵検出回路5は、発生すべき楽音の音
高を指定するための複数の鍵を具えた演奏手段である、
鍵盤KBに対応して設けられており、該鍵盤KBの各々
の鍵に対応するキースイッチ回路を含むものである。こ
の押離鍵検出回路5は、鍵盤KBの離鍵から押鍵への変
化を検出してキーオンイベント信号を出力し、押鍵から
離鍵への変化を検出してキーオフイベント信号を出力
し、且つ、前記それぞれのキーイベントに係る鍵を示す
キーコードを出力する。
The key-release key detection circuit 5 is a performance means having a plurality of keys for designating the pitch of a musical tone to be generated.
It is provided corresponding to the keyboard KB and includes a key switch circuit corresponding to each key of the keyboard KB. The key release key detection circuit 5 detects a change in the keyboard KB from a key release to a key press and outputs a key-on event signal, and detects a change from a key press to a key release and outputs a key-off event signal. In addition, a key code indicating a key associated with each of the key events is output.

【0012】パネル操作検出回路6は、操作パネル8に
設けられた各々の操作子に対応して設けられており、各
々の操作子の操作状況に応じた操作データを出力する。
操作パネル8の操作子は、発生すべき楽音の音色、音
量、音高、効果等を選択、設定、制御するための通常演
奏用操作子グループ9、および、自動演奏用操作子10
グループ等を含むものである。
The panel operation detection circuit 6 is provided corresponding to each operator provided on the operation panel 8 and outputs operation data according to the operation status of each operator.
The operators of the operation panel 8 include a normal performance operator group 9 for selecting, setting, and controlling the tone color, volume, pitch, effect, etc. of a musical sound to be generated, and an automatic performance operator 10.
It includes groups and the like.

【0013】図では、自動演奏用操作子グループ10の
うちの、モード選択スイッチ10a、スタートスイッチ
10bおよびストップスイッチ10cのみを個別に示し
ている。モード選択スイッチ10aはプッシュボタン式
スイッチであり、該モード選択スイッチ10aをオン操
作する毎に、この電子楽器の動作モードを記録モードま
たは再生モードに切り替えることができるようになって
いる。
In the figure, only the mode selection switch 10a, the start switch 10b and the stop switch 10c of the automatic performance operator group 10 are shown individually. The mode selection switch 10a is a push button type switch, and each time the mode selection switch 10a is turned on, the operation mode of the electronic musical instrument can be switched to a recording mode or a reproduction mode.

【0014】この記録モードは、鍵盤KBの演奏操作に
より発生されるキーイベントデータ、キーコード等の演
奏データを、鍵盤KBの演奏タイミングに対応して、順
次読出し可能に演奏データメモリPDMに順次記憶つま
り記録するための動作モードである。再生モードは、こ
のようにして記録された演奏データを、前記メモリPD
Mから読出して再生することにより演奏音を発生するた
めの動作モードである。スタートスイッチ10bおよび
ストップスイッチ10cは、そのオン操作により、モー
ド選択スイッチ10aにより選択された記録モードまた
は再生モードを、それぞれ、スタートおよびストップす
るためのスイッチである。
In this recording mode, the performance data such as key event data and key code generated by the performance operation of the keyboard KB is sequentially stored in the performance data memory PDM so as to be sequentially readable at the performance timing of the keyboard KB. That is, this is an operation mode for recording. In the reproduction mode, the performance data recorded in this way is stored in the memory PD.
This is an operation mode for generating a performance sound by reading from M and reproducing. The start switch 10b and the stop switch 10c are switches for starting and stopping the recording mode or the reproduction mode selected by the mode selection switch 10a when turned on.

【0015】フットスイッチ12は、記録モードにおい
て鍵盤KBの演奏による演奏データが演奏データメモリ
PDMに記録される際、鍵盤KBの演奏テンポに合わせ
て拍子を取るために、演奏者の足による操作によりオ
ン、オフ可能なスイッチである。以下、このフットスイ
ッチ12に対する操作をタップ操作という。
The foot switch 12 is operated by a player's foot in order to obtain a time signature in accordance with the performance tempo of the keyboard KB when the performance data of the keyboard KB is recorded in the performance data memory PDM in the recording mode. It is a switch that can be turned on and off. Hereinafter, an operation on the foot switch 12 will be referred to as a tap operation.

【0016】タップ操作検出回路13は、フットスイッ
チ12に対するタップ操作を検出し、タップイベント信
号を出力する。この実施例においては、鍵盤KBの演奏
による演奏データが演奏データメモリPDMに記録され
る際に、フットスイッチ12におけるタップイベントの
タイミングを示すタップデータを記録し、このタップデ
ータを利用して前記演奏データにおける演奏タイミング
のムラを修正し、これにより、前記演奏データを一定テ
ンポで再生可能な自動演奏データとして記録できるよう
になっている。
The tap operation detection circuit 13 detects a tap operation on the foot switch 12 and outputs a tap event signal. In this embodiment, when the performance data of the performance on the keyboard KB is recorded in the performance data memory PDM, tap data indicating the timing of the tap event in the foot switch 12 is recorded and the tap data is used to perform the performance. By correcting the unevenness of the performance timing in the data, the performance data can be recorded as automatic performance data that can be reproduced at a constant tempo.

【0017】図2は、この実施例において、演奏データ
の演奏タイミングを修正する動作の一例を概略的に説明
する図である。すなわち、記録モードが走行している時
に、(a)に示すように、記録モードスタート後におけ
る鍵盤KBでのキーオンイベント、キーオフイベントを
示すデータ(図において“ON”、“OFF”で示す)
が、各キーイベントに係る鍵のキーコード(図において
“KC1”…“KC3”で示す)およびイベント間隔デ
ータとともに、演奏データメモリPDMに演奏データと
して記憶される。なお、ここで、イベント間隔データと
は、キーイベントおよびタップイベントである各イベン
ト間の時間間隔、および、記録モードスタート時点また
は記録モードエンド時点と前記イベントとの間の時間間
隔を示すデータである。また、これとは別に、フットス
イッチ12でのタップイベント(図において“TAP”
で示す)が、検出され、記録モードスタート後における
1回目のタップイベントと2回目のタップイベントとの
間の時間間隔を基準タップイベント間隔BTとして設定
される。次に、(b)に示すように、2回目以後のタッ
プイベント間のそれぞれの間隔データを基準タップイベ
ント間隔BTと同等となるよう修正、すなわち、伸長ま
たは短縮する。そして、2回目のタップイベント以後の
各イベント間隔データを、対応するタップイベント間の
間隔データの修正率に従って修正することにより、演奏
タイミングの修正を行うこととなる。従って、2回目の
タップイベントの前のイベント間隔データは、なんら修
正されない。なお、この実施例において、前記イベント
間隔およびタップイベント間隔は、1/24拍単位で計
数された数値によって示されている。
FIG. 2 is a diagram for schematically explaining an example of the operation for correcting the performance timing of the performance data in this embodiment. That is, when the recording mode is running, as shown in (a), data indicating a key-on event and a key-off event on the keyboard KB after the recording mode is started (indicated by "ON" and "OFF" in the figure).
Is stored as performance data in the performance data memory PDM together with the key code of each key event (indicated by "KC1" ... "KC3" in the figure) and the event interval data. Here, the event interval data is data indicating a time interval between events, which is a key event and a tap event, and a time interval between a recording mode start time point or a recording mode end time point and the event. .. Separately from this, a tap event on the foot switch 12 (“TAP” in the figure)
Is detected, and the time interval between the first tap event and the second tap event after the start of the recording mode is set as the reference tap event interval BT. Next, as shown in (b), each interval data between the second and subsequent tap events is corrected to be equal to the reference tap event interval BT, that is, expanded or shortened. Then, the event timing data after the second tap event is modified according to the modification rate of the interval data between the corresponding tap events, so that the performance timing is modified. Therefore, the event interval data before the second tap event is not modified at all. In addition, in this embodiment, the event interval and the tap event interval are indicated by numerical values counted in units of 1/24 beats.

【0018】図2の(a)に示す例で説明すると、基準
タップイベント間隔BTは16に設定されるため、例え
ば2回目のタップイベントと3回目のタップイベントと
の間のイベント間隔データ“8”は基準タップイベント
間隔BTと同等となるよう2倍に伸長され、これに伴な
い、2回目のタップイベントとその直後のキーオフイベ
ントとの間のイベント間隔データ“4”、および、該キ
ーオフイベントと3回目のタップイベントTAPとの間
のイベント間隔データ“4”もそれぞれ2倍となるよう
修正される。3回目以後のタップイベント間のタップイ
ベント間隔データおよび対応するイベント間隔データ
も、同様に修正されることとなる。
Explaining with the example shown in FIG. 2A, since the reference tap event interval BT is set to 16, for example, event interval data “8” between the second tap event and the third tap event. "Is doubled so as to be equal to the reference tap event interval BT, and accordingly, event interval data" 4 "between the second tap event and the key off event immediately thereafter, and the key off event. The event interval data “4” between the third tap event TAP and the third tap event TAP is also corrected to be doubled. The tap event interval data between the tap events after the third time and the corresponding event interval data will be similarly corrected.

【0019】このように演奏データメモリPDMに記憶
した演奏データの演奏タイミングを修正できるようにし
たことにより、前述の記録モードにおいて鍵盤KBによ
って行われる演奏は、小節またはビート(拍)のタイミ
ングに合わせて一定のテンポで行われる必要はなく、演
奏の難易度に応じて好きなテンポで行うことが可能にな
る。つまり、むずかしくない演奏部分については通常の
テンポで、むずかしい演奏部分については遅いテンポで
演奏することができることとなる。
Since the performance timing of the performance data stored in the performance data memory PDM can be modified in this way, the performance performed by the keyboard KB in the above-described recording mode is synchronized with the timing of a bar or a beat. It does not have to be performed at a fixed tempo, and can be performed at a tempo of your choice depending on the difficulty level of the performance. In other words, it is possible to perform at a normal tempo for the part that is not difficult to perform and at a slow tempo for the part that is difficult to perform.

【0020】図3の(a)および(b)は、図2の例に
おいて演奏データの演奏タイミングを修正するために利
用されるタップデータメモリTDMおよび演奏データメ
モリPDMのメモリフォーマットをそれぞれ示してい
る。また、前記演奏データメモリPDMには、演奏タイ
ミング修正後の演奏データが最終的な自動演奏データと
して記憶されるようになっており、図3の(c)は、演
奏タイミング修正後の演奏データを記憶するための、演
奏データメモリPDMのメモリフォーマットを示す。詳
しく説明すると、記録モードにおいて、鍵盤KBの演奏
に伴ない、演奏データメモリPDMには、次のアドレス
の記憶内容がイベント間隔であることを示すイベント間
隔指示コード(図において“間隔指示コード”で示す)
と、これに対応するイベント間隔データと、次のアドレ
スの記憶内容がキーオンイベントまたはキーオフイベン
トに係るキーコードであることを示すキーオンイベント
指示コードまたはキーオフイベント指示コード(以下、
これら2つのコードを総称してキーイベント指示コード
という)と、これに対応するキーコードとが、1ユニッ
トの演奏データとして、連続する4つのアドレスに記憶
される。また、タップデータメモリTDMには、2回目
以後のタップイベントの発生タイミングを演奏データメ
モリPDMのアドレスに対応するアドレスで特定するタ
ップアドレスと、これに対応する今回のタップイベント
と次回のタップイベントとの間の時間間隔を示すタップ
イベント間隔データとが、1ユニットのタップデータと
して、連続する2つのアドレスに記憶されることとな
る。
FIGS. 3A and 3B respectively show memory formats of the tap data memory TDM and the performance data memory PDM used for correcting the performance timing of the performance data in the example of FIG. .. Further, the performance data memory PDM stores the performance data after the performance timing correction as final automatic performance data. FIG. 3C shows the performance data after the performance timing correction. The memory format of the performance data memory PDM for storing is shown. More specifically, in the recording mode, with the performance of the keyboard KB, the performance data memory PDM stores an event interval instruction code (indicated by "interval instruction code" in the figure) indicating that the stored content of the next address is an event interval. Show)
And the event interval data corresponding to this, and a key-on event instruction code or a key-off event instruction code indicating that the stored content of the next address is a key code related to a key-on event or a key-off event (hereinafter,
These two chords are collectively referred to as a key event instruction code) and the corresponding key code are stored in four consecutive addresses as one unit of performance data. Further, in the tap data memory TDM, there are a tap address that specifies the timing of occurrence of the second and subsequent tap events with an address corresponding to the address of the performance data memory PDM, and a corresponding tap event and next tap event. The tap event interval data indicating the time interval between the two will be stored in two consecutive addresses as one unit of tap data.

【0021】なお、この実施例では、演奏データメモリ
PDMに記憶されたイベント間隔データのうち、タップ
イベントをはさんで分割された状態で記憶されたイベン
ト間隔データは、必要な修正がなされ、且つ、1つに合
算されてから、最終的なイベント間隔データとして演奏
データメモリPDMに記憶されるようになっている。例
えば、演奏データメモリPDMのアドレス13およびア
ドレス14に記憶されたイベント間隔データについて説
明すると、2回目のタップイベント前のデータであるた
め修正されていないアドレス13のイベント間隔データ
“4”と、対応するタップイベント間隔データの修正率
である16÷8=2が乗じられることにより“4”から
“8”に修正されたアドレス14のイベント間隔データ
とが、合算されることにより、最終的なイベント間隔デ
ータ“12”として、演奏データメモリPDMに記憶さ
れることとなる。
In this embodiment, of the event interval data stored in the performance data memory PDM, the event interval data stored in a state of being divided by the tap event is corrected as necessary, and After being added to one, the final event interval data is stored in the performance data memory PDM. For example, the event interval data stored in the address 13 and the address 14 of the performance data memory PDM will be described. Corresponding to the event interval data “4” of the address 13 which is not modified because it is the data before the second tap event. The event event data of address 14 corrected from “4” to “8” by being multiplied by the correction rate of tap event interval data of 16/8 = 2 is added to obtain the final event. The interval data "12" is stored in the performance data memory PDM.

【0022】クロックカウンタ14は、前記イベント間
隔、タップイベント間隔等の時間間隔をカウントした
り、自動演奏のテンポを設定するためのテンポクロック
パルスを発生したりするものであり、このテンポクロッ
クパルスはCPU1に対して割込み信号として与えられ
る。CPU1では、この割込み信号に基づく割込み処理
により、例えば、記録モード時においては演奏データを
演奏データメモリPDMに記憶し、再生モード時におい
ては演奏データメモリPDMの記憶内容を順次読出して
再生する。
The clock counter 14 counts time intervals such as the event interval and tap event interval, and generates a tempo clock pulse for setting the tempo of automatic performance. The tempo clock pulse is It is given as an interrupt signal to the CPU 1. By the interruption processing based on this interruption signal, the CPU 1 stores the performance data in the performance data memory PDM in the recording mode, and sequentially reads and reproduces the stored contents of the performance data memory PDM in the reproduction mode.

【0023】音源回路TGは、データおよびアドレスバ
スBSを介して入力するキーイベント、キーコードおよ
びその他各種のデータに基づいて、複数の楽音発生チャ
ンネルのそれぞれで楽音信号を発生できるようになって
いる。この音源回路TGで発生した楽音信号は、D/A
変換の後、サウンドシステムSSを介して音響的に発音
される。
The tone generator circuit TG is adapted to generate a tone signal in each of a plurality of tone generating channels based on a key event, a key code and various other data inputted via the data and the address bus BS. .. The tone signal generated by this tone generator circuit TG is D / A
After conversion, it is acoustically pronounced via the sound system SS.

【0024】また、データおよびワーキングRAM3の
所定領域には、後述する各種処理で使用される次のよう
なレジスタが用意されている。 KC:キーオンイベントまたはキーオフイベントに係る
キーコードを記憶するキーコードレジスタ。 RP:操作パネル8のモード選択スイッチ10aにより
記録モードが選択されたときに“1”を記憶し、再生モ
ードが選択されたときに“0”を記憶するモードフラ
グ。 RUN:操作パネル8のスタートスイッチ10bがオン
され、記録モードまたは再生モードが走行中であるとき
に“1”を記憶し、ストップスイッチ10cがオンされ
たときに“0”を記憶する走行フラグ。 PDP:演奏データメモリPDMのアドレスを指定する
演奏データメモリポインタ。 TP:タップデータメモリTDMのアドレスを指定する
タップデータメモリポインタ。 EV:イベントの種類を記憶するレジスタ。 KI:記録モード時におけるイベント間隔をカウントす
るイベント間隔カウンタ。 TN:タップイベントの回数をカウントするタップイベ
ント回数カウンタ。 TI:記録モード時における前回のタップイベントから
今回のタップイベントまでの時間間隔をカウントするタ
ップイベント間隔カウンタ。 TIM:タップデータメモリTDMから読出されたタッ
プイベント間隔を記憶するタップイベント間隔レジス
タ。 BTM:タップベント間隔を修正するための基準タップ
イベント間隔BTを記憶する基準タップイベント間隔レ
ジスタ。
Further, in the predetermined area of the data and working RAM 3, the following registers used in various processes described later are prepared. KC: A key code register that stores a key code related to a key-on event or a key-off event. RP: A mode flag that stores "1" when the recording mode is selected by the mode selection switch 10a of the operation panel 8 and "0" when the reproduction mode is selected. RUN: A traveling flag that stores "1" when the start switch 10b of the operation panel 8 is turned on and the recording mode or the reproduction mode is traveling, and stores "0" when the stop switch 10c is turned on. PDP: Performance data memory A performance data memory pointer that specifies the address of the PDM. TP: A tap data memory pointer that specifies the address of the tap data memory TDM. EV: A register that stores the type of event. KI: An event interval counter that counts event intervals in the recording mode. TN: A tap event number counter that counts the number of tap events. TI: A tap event interval counter that counts the time interval from the previous tap event to the current tap event in the recording mode. TIM: A tap event interval register that stores the tap event interval read from the tap data memory TDM. BTM: Reference tap event interval register that stores the reference tap event interval BT for modifying the tap vent interval.

【0025】次に、マイクロコンピュータによって実行
される各種処理の一例を図4から図11に示したフロー
チャートを参照して説明する。図4はメインルーチンの
一例を示しており、先ず所定の初期設定処理を行った
後、押離鍵検出回路5、タップ操作検出回路13および
パネル操作検出回路6をスキャンして各々のイベントの
有無を検出して、イベントが有った場合にはそれぞれの
イベントに応じた処理を繰返し行う。すなわち、押離鍵
検出回路5をスキャンした結果、キーイベントを検出し
た場合には、図6に一例を示すキーイベント処理を行
う。また、タップ操作検出回路13をスキャンした結
果、タップイベントを検出した場合には、図7に一例を
示すタップイベント処理を行う。また、パネル操作検出
回路6をスキャンした結果、特に、モード選択スイッチ
10a、スタートスイッチ10bおよびストップスイッ
チ10cのスイッチイベントを検出した場合には、図5
に一例を示すスイッチイベント処理を行う。
Next, an example of various processes executed by the microcomputer will be described with reference to the flow charts shown in FIGS. 4 to 11. FIG. 4 shows an example of the main routine. First, after performing a predetermined initialization process, the key press / release key detection circuit 5, the tap operation detection circuit 13 and the panel operation detection circuit 6 are scanned to determine the presence or absence of each event. Is detected, and if there is an event, the processing corresponding to each event is repeated. That is, when a key event is detected as a result of scanning the key release key detection circuit 5, the key event process shown in FIG. 6 is performed. When a tap event is detected as a result of scanning the tap operation detection circuit 13, tap event processing, an example of which is shown in FIG. 7, is performed. In addition, as a result of scanning the panel operation detection circuit 6, particularly when a switch event of the mode selection switch 10a, the start switch 10b, and the stop switch 10c is detected, FIG.
The switch event processing shown in FIG.

【0026】鍵盤KBの演奏による演奏データを演奏デ
ータメモリPDMに記録し、または、自動演奏データと
して記録された演奏データを再生しょうとする場合、ユ
ーザは、電子楽器の動作モードを記録モードにするため
に、操作パネル8上のモード選択スイッチ10aおよび
スタートスイッチ10bのいずれかを適宜オン操作する
こととなる。マイクロコンピータでは、そのスイッチイ
ベントを検出することにより、図5のスイッチイベント
処理を行う。
When the performance data of the keyboard KB is recorded in the performance data memory PDM or the performance data recorded as the automatic performance data is to be reproduced, the user sets the operation mode of the electronic musical instrument to the recording mode. Therefore, either the mode selection switch 10a or the start switch 10b on the operation panel 8 is appropriately turned on. The micro computer performs the switch event processing of FIG. 5 by detecting the switch event.

【0027】このスイッチイベント処理においては、先
ず、いずれのスイッチにオンイベントが有ったかを検出
し(ステップ30)、モード選択スイッチ10aのオン
イベントを検出すると、モードフラグRPを反転し、動
作モードを再生モードから記録モードに、または、記録
モードから再生モードにした後、メインルーチンにリタ
ーンする(ステップ31)。さらに、スタートスイッチ
10bの操作を検出すると、走行フラグRUNを“1”
にセットし(ステップ32)、演奏データメモリポイン
タPDPを“0”にセットする(ステップ33)。次
に、モードフラグRPが“0”であるか否かを調べる
(ステップ34)。
In this switch event process, first, it is detected which switch has an on event (step 30). When the on event of the mode selection switch 10a is detected, the mode flag RP is inverted to set the operation mode. After changing from the reproduction mode to the recording mode or from the recording mode to the reproduction mode, the process returns to the main routine (step 31). Further, when the operation of the start switch 10b is detected, the traveling flag RUN is set to "1".
(Step 32) and the performance data memory pointer PDP is set to "0" (step 33). Next, it is checked whether or not the mode flag RP is "0" (step 34).

【0028】記憶モードの説明 ここで、例えば鍵盤KBのマニュアル演奏による演奏デ
ータの記録を行うために、モード選択スイッチ10aに
より記録モードが選択されているときには、その結果は
NOとなり、この場合、次のステップ35に進み、タッ
プデータメモリポインタTP、イベント間隔カウンタK
I、タップイベント間隔カウンタTIおよびタップイベ
ント回数カウンタTNを“0”にセットした後、メイン
ルーチンにリターンする。このようにして、イベント間
隔カウンタKI、タップイベント間隔カウンタTIで
は、記録モードスタート時点からの時間を計数し始め
る。このようにして記録モードがスタートした後、鍵盤
KBによる演奏が開始され、いずれかのキーイベントが
検出されると、図6のキーイベント処理が実行される。
先ず、検出された該キーイベントがキーオンイベントで
あるか否かを判定する(ステップ36)。キーオンイベ
ントであるときには、該キーオンイベントに係る鍵のキ
ーコードをキーコードレジスタKCに格納し(ステップ
37)、音源回路TGにキーオンイベントおよびキーコ
ードを送出する等の所定のキーオンイベント処理を行う
(ステップ38)。次に、モードフラグが“1”で且つ
走行フラグRUNが“1”であるかを確認する(ステッ
プ39)。その確認結果がYESのときには次のステッ
プ40に進み、NOのときにはすぐにリターンする。
Description of the storage mode Here, when the recording mode is selected by the mode selection switch 10a in order to record the performance data by the manual performance of the keyboard KB, the result is NO, and in this case, Of the tap data memory pointer TP and the event interval counter K.
After setting I, the tap event interval counter TI and the tap event number counter TN to "0", the process returns to the main routine. In this way, the event interval counter KI and the tap event interval counter TI start counting the time from the recording mode start point. After the recording mode is started in this way, the performance of the keyboard KB is started, and when any key event is detected, the key event processing of FIG. 6 is executed.
First, it is determined whether the detected key event is a key-on event (step 36). When it is a key-on event, the key code of the key relating to the key-on event is stored in the key code register KC (step 37), and a predetermined key-on event process such as sending the key-on event and the key code to the tone generator circuit TG is performed (step 37). Step 38). Next, it is confirmed whether the mode flag is "1" and the traveling flag RUN is "1" (step 39). If the confirmation result is YES, the process proceeds to the next step 40, and if NO, the process immediately returns.

【0029】ステップ40では、まず、ポインタPDP
によって指定される演奏データメモリPDMのアドレス
(これをPDM(PDP)で示す)にイベント間隔指示コ
ードを格納する。このイベント間隔指示コードは、前回
のイベント(記録モードスタート後における最初のイベ
ントである場合には、該スタート時点)から今回のイベ
ントまでの時間間隔を示すイベント間隔データが、次の
アドレスPDP+1に記憶されていることを示す識別コ
ードである。次に、ポインタPDPの値に1加算したア
ドレスPDP+1を演奏データメモリPDMの書込みア
ドレスとして指定し(これをPDM(PDP+1)で示
す)、そこにイベント間隔カウンタTIで計数されてい
るイベント間隔データを格納する。さらに、ポインタP
DPの値に2加算したアドレスPDP+2を演奏データ
メモリPDMの書込みアドレスとして指定し(これをP
DM(PDP+2)で示す)、そこに今回のキーイベント
がキーオンイベントであることを示すキーオンイベント
指示コードを格納し、次のアドレスPDM(PDP+
3)に、レジスタKCのキーコードすなわち今回のキー
オンイベントに係るキーコードを格納する。
In step 40, first, the pointer PDP
The event interval instruction code is stored at the address of the performance data memory PDM designated by (indicated by PDM (PDP)). This event interval instruction code stores event interval data indicating the time interval from the previous event (at the time of the start after the start of the recording mode, if the event is the start event) to this event at the next address PDP + 1. It is an identification code that indicates that it has been done. Next, the address PDP + 1 obtained by adding 1 to the value of the pointer PDP is designated as the write address of the performance data memory PDM (this is indicated by PDM (PDP + 1)), and the event interval data counted by the event interval counter TI is stored therein. Store. Furthermore, the pointer P
The address PDP + 2 obtained by adding 2 to the value of DP is specified as the write address of the performance data memory PDM (this is P
DM (PDP + 2)), in which a key-on event instruction code indicating that the current key event is a key-on event is stored, and the next address PDM (PDP +
In 3), the key code of the register KC, that is, the key code related to the current key-on event is stored.

【0030】ステップ40の処理が終ると、ステップ4
1に行き、イベント間隔カウンタの値を“0”にセット
し、ポインタPDPを4だけ進め、リターンする。
When the processing of step 40 is completed, step 4
Go to 1, set the value of the event interval counter to "0", advance the pointer PDP by 4, and return.

【0031】一方、検出されたキーイベントがキーオフ
イベントであるときにも、略同様な処理を行う。つま
り、該キーオフイベントに係る鍵のキーコードをキーコ
ードレジスタKCに格納し(ステップ42)、音源回路
TGにキーオフイベントおよびキーコードを送出する等
の所定のキーオフイベント処理を行う(ステップ4
3)。次に、モードフラグが“1”で且つ走行フラグR
UNが“1”であるかを確認する(ステップ44)。そ
の確認結果がYESのときには次のステップ45に行
き、NOのときにはすぐにリターンする。ステップ45
では、ポインタPDPにより指定されている演奏データ
メモリPDMのアドレスPDM(PDP)に、次のアド
レスPDM(PPDP+1)の記憶内容が記録モードス
タート後における前回のキーイベントから今回のキーオ
フイベントまでの時間間隔であることを示すイベント間
隔識別コードを格納する。そして、前記アドレスPDM
(PPDP+1)に、イベント間隔カウンタTIによっ
て計数されているイベント間隔データを格納する。さら
に、次のアドレスPDM(PDP+2)に、今回のキー
イベントがキーオフイベントであることを示すキーオフ
イベント識別コードを格納し、次のアドレスPDM(P
DP+3)に、ステップ42においてキーコードレジス
タKCにセットされたキーコードすなわち今回のキーオ
フイベントに係るキーコードを格納する。ステップ45
の処理が終ると、ステップ41の処理を行ってリターン
する。
On the other hand, when the detected key event is a key-off event, substantially the same processing is performed. That is, the key code of the key relating to the key off event is stored in the key code register KC (step 42), and a predetermined key off event process such as sending the key off event and the key code to the tone generator circuit TG is performed (step 4).
3). Next, the mode flag is "1" and the traveling flag R
It is confirmed whether UN is "1" (step 44). If the confirmation result is YES, the process proceeds to the next step 45, and if NO, the process immediately returns. Step 45
Then, in the address PDM (PDP) of the performance data memory PDM designated by the pointer PDP, the stored content of the next address PDM (PPDP + 1) is the time interval from the last key event after the start of the recording mode to the current key-off event. The event interval identification code indicating that is stored. And the address PDM
The event interval data counted by the event interval counter TI is stored in (PPDP + 1). Further, a key-off event identification code indicating that this key event is a key-off event is stored in the next address PDM (PDP + 2), and the next address PDM (P
The key code set in the key code register KC in step 42, that is, the key code related to the current key-off event is stored in DP + 3). Step 45
When the processing of (1) is completed, the processing of step 41 is performed and the processing returns.

【0032】このようなキーイベント処理により、キー
イベントが有る毎に、図3の(a)に示したように、該
キーイベントに係る演奏データが演奏データメモリPD
Mの4つの連続するアドレスに記憶されることとなる。
By such key event processing, every time there is a key event, as shown in FIG. 3A, the performance data related to the key event is stored in the performance data memory PD.
It will be stored in four consecutive addresses of M.

【0033】また、前述のように演奏データメモリPD
Mに演奏データの記憶がなされている際に、その演奏テ
ンポに合わせてフットスイッチ12によるタップ操作が
行われ、そのタップイベントが検出されると、図7のタ
ップイベント処理が行われる。
Further, as described above, the performance data memory PD
When performance data is stored in M, a tap operation is performed by the foot switch 12 in accordance with the performance tempo, and when the tap event is detected, the tap event processing of FIG. 7 is performed.

【0034】このタップイベント処理では、先ず、モー
ドフラグRPが“1”で且つ走行フラグRUNが“1”
であるか否かを調べる(ステップ46)。この場合、モ
ード選択スイッチ10aおよびスタートスイッチ10b
の操作により記録モードが走行中であるので、この結果
はYESとなり、次のステップ47に進み、タップイベ
ント回数カウンタTNを1進める。NOのときには、す
ぐにリターンする。ステップ47の処理が終ると、タッ
プイベント回数カウンタTNの値が“1”であるか否か
を調べる(ステップ48)。その結果がYESのときに
は、そのタップイベントは記録モードスタート後におけ
る1回目のタップイベントであることとなるため、タッ
プ間隔カウンタTIの値を0にし(ステップ49)、そ
の他の処理を行うことなくリターンする。このようにし
て、タップイベント間隔カウンタTIは、記録モードス
タート後における1回目のタップイベントからの時間間
隔をカウントし始める。
In this tap event processing, first, the mode flag RP is "1" and the traveling flag RUN is "1".
Is checked (step 46). In this case, the mode selection switch 10a and the start switch 10b
Since the recording mode is running by the operation of, the result is YES, the process proceeds to the next step 47, and the tap event number counter TN is incremented by 1. If NO, return immediately. When the process of step 47 ends, it is checked whether the value of the tap event number counter TN is "1" (step 48). If the result is YES, it means that the tap event is the first tap event after the start of the recording mode, so the value of the tap interval counter TI is set to 0 (step 49), and the process is returned without any other processing. To do. In this way, the tap event interval counter TI starts counting the time interval from the first tap event after the start of the recording mode.

【0035】一方、ステップ48における結果がNO、
すなわち、タップイベント回数カウンタTNの値が
“1”ではないときには、さらに、タップイベント回数
カウンタTNの値が“2”であるか否かを調べる(ステ
ップ49)。当該タップイベントが記録モードスタート
後における2回目のタップイベントであるときには、ス
テップ49の結果はYESとなり、次のステップ50に
進み、タップイベント間隔カウンタTIの内容を基準タ
ップイベント間隔レジスタBTMにセットする。このよ
うにして、基準タップ間隔レジスタBTMには、記録モ
ードスタート後における1回目のタップイベントと2回
目のタップイベントとの間の時間間隔データである基準
タップイベント間隔データBTがセットされる。ステッ
プ50の処理が終ると、ステップ51に行き、ポインタ
PDPによって指定される演奏データメモリPDMのア
ドレスPDM(PDP)にイベント間隔指示コードを格
納するとともに、次のアドレスPDM(PDP+1)に
イベント間隔カウンタKIの内容を格納する。このこと
により、該アドレスPDM(PDP+1)には、2回目
のタップイベントと該2回目のタップイベント直前のキ
ーイベントとの間のイベント間隔データが記憶されるこ
ととなる。次に、PDPを2進め(ステップ52)、こ
の2進めたポインタPDPの値を、タップデータメモリ
TDMに格納する(ステップ53)。このステップ53
により、タップデータメモリTDMの先頭アドレスに
は、該2回目のタップイベントの発生タイミングを特定
するタップアドレスが格納される。例えば図3(b)の
例においては、タップデータメモリTDMのアドレス
“0”の記憶データ“14”が、2回目のタップイベン
トの発生タイミングを特定するタップアドレスというこ
とになる。このようにしてタップアドレスの格納が終る
と、ステップ54において、ポインタTPを1進めると
ともに、イベント間隔カウンタKIを0にし、その後、
ステップ49においてタップイベント間隔カウンタTI
を0にして、メインルーチンにリターンする。
On the other hand, the result in step 48 is NO,
That is, when the value of the tap event counter TN is not "1", it is further checked whether or not the value of the tap event counter TN is "2" (step 49). When the tap event is the second tap event after the start of the recording mode, the result of step 49 is YES, the process proceeds to the next step 50, and the content of the tap event interval counter TI is set in the reference tap event interval register BTM. .. In this way, the reference tap interval register BTM is set with the reference tap event interval data BT, which is the time interval data between the first tap event and the second tap event after the start of the recording mode. When the process of step 50 is completed, the process goes to step 51, where the event interval instruction code is stored in the address PDM (PDP) of the performance data memory PDM designated by the pointer PDP, and the event interval counter is stored in the next address PDM (PDP + 1). The contents of KI are stored. As a result, the event interval data between the second tap event and the key event immediately before the second tap event is stored in the address PDM (PDP + 1). Next, the PDP is advanced by 2 (step 52), and the value of the pointer PDP advanced by 2 is stored in the tap data memory TDM (step 53). This step 53
As a result, the tap address for specifying the occurrence timing of the second tap event is stored in the head address of the tap data memory TDM. For example, in the example of FIG. 3B, the storage data “14” of the address “0” in the tap data memory TDM is the tap address that specifies the timing of the second tap event occurrence. When the tap address has been stored in this way, in step 54, the pointer TP is advanced by 1, the event interval counter KI is set to 0, and thereafter,
In step 49, tap event interval counter TI
Is set to 0 and the process returns to the main routine.

【0036】一方、該タップイベントが記録モードスタ
ート後における3回目のタップイベントであるときには
ステップ49の結果はNOとなり、この場合には、次の
ステップ55において、タップイベント間隔カウンタT
Iの内容を、ポインタTPによって指定されるタップデ
ータメモリTDMのアドレスTDM(TP)に格納す
る。これにより、該アドレスTDM(TP)には、2回
目のタップイベントと3回のタップイベントとの間の時
間間隔を示すタップイベント間隔データが格納される。
例えば、図3(b)の例においては、アドレス“1”の
記憶データ“8”が、2回目のタップイベントと3回の
タップイベントとの間の時間間隔を示すタップイベント
間隔データということになる。次に、ステップ56にお
いてデータメモリポインタTPの値を1進めた後、ステ
ップ51以後のステップの処理を行ってリターンする。
なお、4回目以後のタップイベントについても、3回目
のタップベントと同様な処理が行われる。
On the other hand, when the tap event is the third tap event after the start of the recording mode, the result of step 49 is NO. In this case, in the next step 55, the tap event interval counter T
The content of I is stored in the address TDM (TP) of the tap data memory TDM designated by the pointer TP. As a result, tap event interval data indicating the time interval between the second tap event and the third tap event is stored in the address TDM (TP).
For example, in the example of FIG. 3B, the storage data “8” of the address “1” is the tap event interval data indicating the time interval between the second tap event and the third tap event. Become. Next, in step 56, the value of the data memory pointer TP is incremented by 1, and then the processes of steps after step 51 are performed and the process returns.
It should be noted that the same processing as in the third tap vent is performed for the fourth and subsequent tap events.

【0037】このようなタップイベント処理により、2
回目以後の各タップイベントのタイミングは、順次、演
奏データメモリPDMのアドレスに対応するタップアド
レスで特定可能に、タップデータメモリTDMに記憶さ
れることとなる。
By such tap event processing, 2
The timing of each tap event after the first time is sequentially stored in the tap data memory TDM so that it can be specified by the tap address corresponding to the address of the performance data memory PDM.

【0038】再生モードの説明 また、モード選択スイッチ10aの操作により再生モー
ドが選択された状態でスタートスイッチ10bがオンさ
れているときには、モードフラグRPが“1”であるた
め、図5のスイッチイベント処理におけるステップ34
の結果はYESとなる。この場合には、イベント間隔カ
ウンタKIの値を0にし(ステップ58)、次のステッ
プ59において「読出し処理」サブルーチンを実行す
る。この「読出し処理」サブルーチンでは、クロックカ
ウンタCLの歩進を開始し、例えば図3の(c)に示す
ように演奏データメモリPDMに記憶された自動演奏デ
ータを読出して再生するための読出し処理を実行する。
Description of Reproduction Mode When the start switch 10b is turned on while the reproduction mode is selected by the operation of the mode selection switch 10a, the mode flag RP is "1". Step 34 in the process
The result is YES. In this case, the value of the event interval counter KI is set to 0 (step 58) and the "reading process" subroutine is executed in the next step 59. In this "reading process" subroutine, the reading process for starting the stepping of the clock counter CL and reading and reproducing the automatic performance data stored in the performance data memory PDM, for example, as shown in (c) of FIG. Run.

【0039】図8はこの“読出し処理”サブルーチンの
一例を示すものである。ここでは、先ず、ポインタPD
Pによって指定される演奏データメモリPDMのアドレ
スPDM(PDP)の記憶内容が、エンドコードである
か否かを調べる(ステップ60)。エンドコードとは、
後述するように、記録モードが走行状態から停止状態に
なった時に演奏データメモリPDMおよびタップデータ
メモリTDMに格納されるコードであり、この場合、演
奏データメモリPDMに記憶された自動演奏データの終
りを示すものである。エンドコードであるときには、該
アドレスPDM(PDP)の内容すなわちエンドコード
をイベントレジスタEVにセットし(ステップ61)、
リターンする。ステップ60の結果がNOのときには、
さらに、前記アドレスPDM(PDP)の記憶内容がイ
ベント間隔指示コードであるか否かを調べる(ステップ
62)。イベント間隔指示コードであるときには、演奏
データメモリPDMの次のアドレスPDM(PDP+
1)に記憶されているイベント間隔データの値から1マ
イナスした値をイベント間隔カウンタKIにセットし
(ステップ63)、さらに、ポインタPDPを2だけ進
める(ステップ64)。一方、前記アドレスPDM(P
DP)の記憶内容がキーオンイベント指示コードまたは
キーオフイベント指示コードであるときには、ステップ
62の結果はNOとなり、この場合、ステップ65に進
み、その前記アドレスPDM(PDP)の記憶内容であ
るキーオンイベント指示コードまたはキーオフイベント
指示コードをイベントレジスタEVに格納するととも
に、演奏データメモリPDMの次のアドレスPDM(P
DP+1)アドレスに記憶されているキーコードをキー
コードレジスタKCDに格納する。ステップ65の処理
が終了すると、ステップ64を通ってリターンする。
FIG. 8 shows an example of this "reading process" subroutine. Here, first, the pointer PD
It is checked whether the stored content of the address PDM (PDP) of the performance data memory PDM designated by P is an end code (step 60). What is an end code?
As will be described later, this is a code stored in the performance data memory PDM and the tap data memory TDM when the recording mode changes from the running state to the stop state. In this case, the end of the automatic performance data stored in the performance data memory PDM. Is shown. If it is an end code, the contents of the address PDM (PDP), that is, the end code is set in the event register EV (step 61),
To return. When the result of step 60 is NO,
Further, it is checked whether the stored content of the address PDM (PDP) is an event interval instruction code (step 62). If it is an event interval instruction code, the next address PDM (PDP +) of the performance data memory PDM
A value obtained by subtracting 1 from the value of the event interval data stored in 1) is set in the event interval counter KI (step 63), and the pointer PDP is further advanced by 2 (step 64). On the other hand, the address PDM (P
When the stored content of DP) is the key-on event instruction code or the key-off event instruction code, the result of step 62 is NO. In this case, the process proceeds to step 65, and the key-on event instruction which is the stored content of the address PDM (PDP). The chord or key-off event instruction code is stored in the event register EV, and the next address PDM (P
The key code stored in the (DP + 1) address is stored in the key code register KCD. When the process of step 65 ends, the process returns to step 64.

【0040】このようなスイッチイベント処理での“読
出し処理”サブルーチンにおいては、ホインタPDPの
現在値に応じて再生演奏を開始するための所定の処理を
行う。なお、以後の自動演奏データの再生処理は、クロ
ックカウンタCLから24分の1拍のタイミングで与え
られる割込み信号に基づき、図9に示すような割込み処
理として実行されることとなる。
In the "readout process" subroutine in such a switch event process, a predetermined process for starting the reproduction performance is performed according to the current value of the winter PDP. The subsequent reproduction processing of the automatic performance data is executed as an interrupt processing as shown in FIG. 9 based on the interrupt signal given from the clock counter CL at the timing of 1 / 24th beat.

【0041】図9において、先ず、走行フラグが“1”
か否かを調べる(ステップ66)。この場合は、スター
トスイッチ10bがオンされているので、その結果はY
ESとなり、次のステップ67に行く。ステップ67で
は、モードフラグRPが“0”か否かを調べる。この場
合は、再生モードが選択されているので、その結果はY
ESとなり、次のステップ68に行き、イベント間隔カ
ウンタKIの内容が0より大きいか否かを調べる。ステ
ップ68の結果がYESのときには、未だ読出しタイミ
ングにきていないこととなるため、イベント間隔カウン
タKIの値から1マイナスし(ステップ69)、リター
ンする。また、この結果がNO、すなわち、0であると
きには、読出しタイミングにきていることとなるため、
ステップ70に行き、図8の読出し処理を行う。次に、
イベントレジスタEVの記憶内容がエンドコードか否か
を調べる(ステップ71)。エンドコードであるときに
はすぐにリターンし、エンドコードではないときには、
該記憶内容がイベント間隔指示コードであるか否かを調
べる(ステップ72)。イベント間隔指示コードである
ときにはすぐにリターンする。エンドコードでもイベン
ト間隔指示コードでもないときには、さらに、次のステ
ップ73に行き、キーオンイベント指示コードか否かを
調べる。キーオンイベント指示コードであるときには、
ステップ74に行き、キーオン信号、および、ポインタ
PDPによって指定される演奏データメモリPDMのア
ドレスPDM(PDP)に記憶されているキーコードを
音源回路TGに出力する。このようにして、音源回路T
Gでは、与えられたキーコードに対応するピッチの楽音
信号の発生を、キーオン信号に応じて開始させることと
なる。一方、ステップ73の結果がNOであるときに
は、キーオフイベント指示コードであるということにな
るため、この場合、ステップ75に行き、キーオフ信
号、および、ポインタPDPによって指定される演奏デ
ータメモリPDMのアドレスPDM(PDP)に記憶さ
れているキーコードを音源回路TGに出力する。このよ
うにして、音源回路TGでは、該キーコードが割り当て
られているチャンネルにおける楽音信号の発音を、キー
オフ信号に応じて減衰させることとなる。
In FIG. 9, first, the traveling flag is "1".
It is checked whether or not (step 66). In this case, since the start switch 10b is turned on, the result is Y
It becomes ES and goes to the next step 67. In step 67, it is checked whether or not the mode flag RP is "0". In this case, since the playback mode is selected, the result is Y.
When ES is reached, the process goes to the next step 68, and it is checked whether or not the content of the event interval counter KI is larger than zero. If the result of step 68 is YES, it means that the read timing has not come yet, so the value of the event interval counter KI is decremented by 1 (step 69), and the routine returns. If the result is NO, that is, 0, it means that the read timing has come.
At step 70, the reading process of FIG. 8 is performed. next,
It is checked whether the content stored in the event register EV is an end code (step 71). If it is end code, it returns immediately, and if it is not end code,
It is checked whether the stored content is the event interval instruction code (step 72). If it is an event interval instruction code, it immediately returns. When it is neither the end code nor the event interval instruction code, the process further goes to the next step 73 to check whether it is the key-on event instruction code. When it is a key-on event instruction code,
In step 74, the key-on signal and the key code stored in the address PDM (PDP) of the performance data memory PDM designated by the pointer PDP are output to the tone generator circuit TG. In this way, the tone generator circuit T
In G, the generation of the tone signal having the pitch corresponding to the given key code is started in response to the key-on signal. On the other hand, when the result of step 73 is NO, it means that it is a key-off event instruction code. In this case, therefore, go to step 75, and the key-off signal and the address PDM of the performance data memory PDM designated by the pointer PDP. The key code stored in (PDP) is output to the tone generator circuit TG. In this way, in the tone generator circuit TG, the tone generation of the tone signal in the channel to which the key code is assigned is attenuated according to the key-off signal.

【0042】なお、この割込み処理は、再生モードが走
行しているときのみならず、記録モードが走行している
ときにも実行されるものである。記録モード走行してい
るときには、ステップ67の結果はNOとなり、この場
合、イベント間隔カウンタKIおよびタップイベント間
隔カウンタTIのそれぞれに1をプラスして(ステップ
76)、リターンする。
The interrupt processing is executed not only when the reproduction mode is running but also when the recording mode is running. When the vehicle is traveling in the recording mode, the result of step 67 is NO, and in this case, 1 is added to each of the event interval counter KI and the tap event interval counter TI (step 76), and the process returns.

【0043】演奏データ修正についての説明 前記記録モードでの演奏データおよびタップデータの記
録、または、再生モードでの自動演奏データの再生を停
止させようとする場合、ユーザは、ストップスイッチ1
0cをオン操作することになる。この場合、マイクロコ
ンピュータは、図5のスイッチ処理のステップ30にお
いてストップスイッチ10cのスイッチイベントを検出
し、走行フラグRUNを“0”にセットする(ステップ
77)。そして、次のステップ78において、モードフ
ラグRPが“0”か否かを調べる。再生モードで自動演
奏データの再生を行っている時にストップスイッチ10
cがオン操作されたときには、ステップ78の結果は
“0”となり、この場合、自動演奏データの再生音を消
音するための消音処理を行い(ステップ79)、リター
ンする。
Description of correction of performance data When the user wants to stop the recording of the performance data and the tap data in the recording mode or the reproduction of the automatic performance data in the reproduction mode, the user must stop switch 1
0c is turned on. In this case, the microcomputer detects the switch event of the stop switch 10c in step 30 of the switch processing of FIG. 5 and sets the traveling flag RUN to "0" (step 77). Then, in the next step 78, it is checked whether or not the mode flag RP is "0". Stop switch 10 when playing automatic performance data in playback mode
When c is turned on, the result of step 78 is "0". In this case, a muffling process is performed to mute the reproduced sound of the automatic performance data (step 79), and the process returns.

【0044】また、一方、記録モードで演奏データおよ
びタップデータの記録を行っている時にストップスイッ
チ10cがオン操作されたときには、ステップ78の結
果はNOとなり、この場合は、ステップ80に進み、演
奏データメモリPDMおよびタップデータメモリTDM
のそれぞれに、記録モードの終りを示すエンドコードを
格納する。ステップ80の処理が終ると、ステップ81
に進み、記録モード走行時において演奏データメモリP
DMに記録した演奏データにおける演奏タイミングのム
ラを、タップイベントに基づいて修正するための修正処
理を行う。
On the other hand, when the stop switch 10c is turned on while recording performance data and tap data in the recording mode, the result of step 78 is NO. In this case, the process proceeds to step 80 to perform. Data memory PDM and tap data memory TDM
An end code indicating the end of the recording mode is stored in each of. When the processing of step 80 ends, step 81
To the performance data memory P when running in the recording mode.
A correction process for correcting the unevenness of the performance timing in the performance data recorded in the DM is performed based on the tap event.

【0045】図10はこの修正処理の一例を示す。先
ず、ステップ82において、タップイベント回数レジス
タTNの値が2以上か否かを調べる。このステップの結
果がNOのときには、鍵盤KBの演奏による演奏データ
を演奏データメモリPDMに記録していた際にタップイ
ベントが全く無かったか、または、1回しかなかったこ
ととなるため、なんら特定の処理を行うことなくリター
ンする。また、一方、このステップの結果がYESのと
きには、ステップ83に行き、タップイベント回数レジ
スタTNの値が2か否かを調べる。該レジスタTNの値
が2のときには、鍵盤KBの演奏による演奏データを演
奏データメモリPDMに記録していた際にタップイベン
トが2回しかなかったこととなるため、演奏データの修
正処理を行うことなく、“データ詰め処理”サブルーチ
ンを実行する(ステップ84)。この“データ詰め処
理”サブルーチンは、図3で説明したように2回目以後
のタップイベントの前後に分割されて記憶されたイベン
ト間隔データを1つに合算するための処理である。
FIG. 10 shows an example of this correction processing. First, at step 82, it is checked whether the value of the tap event number register TN is 2 or more. If the result of this step is NO, it means that there was no tap event or only once when the performance data of the performance of the keyboard KB was recorded in the performance data memory PDM. Return without processing. On the other hand, when the result of this step is YES, the routine proceeds to step 83, where it is checked whether or not the value of the tap event number register TN is 2. When the value of the register TN is 2, it means that there were only two tap events when the performance data of the performance of the keyboard KB was recorded in the performance data memory PDM, and therefore the correction processing of the performance data should be performed. Instead, the "data packing process" subroutine is executed (step 84). This "data packing process" subroutine is a process for adding up the event interval data divided and stored before and after the second and subsequent tap events, as described with reference to FIG.

【0046】図11はこの“データ詰め処理”サブルー
チンの一例を示す。先ず、データ詰め処理用の書込みポ
インタPAおよび読出しポインタPBを0にセットし
(ステップ85)、次に、ポインタPBによって指定さ
れる演奏データメモリPDMのアドレスPDM(PB)
の記憶内容がイベント間隔指示コードか否かを調べる
(ステップ86)。NOのときには、演奏データメモリ
PDMの次のアドレスの記憶内容が、イベント間隔デー
タであることを示すイベント間隔指示コードではないと
いうこととなるため、この場合、“データ詰め処理”サ
ブルーチンを行うことなく、ステップ87に行き、該ア
ドレスPDM(PB)の記憶内容がキーイベント指示コ
ードであるか否かを調べる。キーイベント指示コードで
あるときには、ポインタPAにより指定される演奏デー
タメモリPDMのアドレスPDM(PA)に、該キーイ
ベント指示コードを格納するとともに、演奏データメモ
リPDMの次のアドレスPDM(PA+1)に、該キー
イベント指示コードに係るキーコードを格納する(ステ
ップ88)。ステップ89の処理が終ると、ポインタP
AおよびポインタPBをそれぞれ2だけ進め(ステップ
89)、ステップ86に戻る。ステップ87の結果がN
Oのときには、演奏データメモリPDMの該アドレスP
DM(PB)にはエンドコードが記憶されていることと
なり、ポインタPAにより指定される演奏データメモリ
PDMのアドレスPDM(PA)にエンドコードを格納
し(ステップ90)、リターンする。
FIG. 11 shows an example of this "data packing process" subroutine. First, the write pointer PA and the read pointer PB for data packing processing are set to 0 (step 85), and then the address PDM (PB) of the performance data memory PDM designated by the pointer PB.
It is checked whether or not the stored content of is an event interval instruction code (step 86). If the answer is NO, it means that the stored content of the next address of the performance data memory PDM is not the event interval instruction code indicating the event interval data. In this case, therefore, the "data packing process" subroutine is not performed. , Go to step 87 and check whether the stored content of the address PDM (PB) is a key event instruction code. When it is a key event instruction code, the key event instruction code is stored in the address PDM (PA) of the performance data memory PDM designated by the pointer PA, and at the next address PDM (PA + 1) of the performance data memory PDM. The key code related to the key event instruction code is stored (step 88). When the processing of step 89 ends, the pointer P
A and the pointer PB are each advanced by 2 (step 89) and the process returns to step 86. The result of step 87 is N
When it is O, the address P of the performance data memory PDM
Since the end code is stored in DM (PB), the end code is stored in the address PDM (PA) of the performance data memory PDM designated by the pointer PA (step 90), and the process returns.

【0047】また、ステップ86の結果がYES、すな
わち、ポインタPBによって指定される演奏データメモ
リPDMのアドレスPDM(PB)の記憶内容が、次の
アドレスの記憶内容がイベント間隔データであることを
示すイベント間隔指示コードであるときには、ステップ
91に行き、イベント間隔レジスタKIを“0”にす
る。そして、該イベント間隔レジスタKIに、該レジス
タKIの現在の内容と、演奏データメモリPDMの次の
アドレスPDM(PB+1)に記憶されたイベント間隔
データの値とをプラスした値をセットし(ステップ9
2)、ポインタPBを2だけ進める(ステップ93)。
次に、ステップ94において、このように2だけ進めら
れたポインタPBにより指定される演奏データメモリP
DMのアドレスPDM(PB)の記憶内容が、イベント
間隔指示コードか否かを調べる。この結果がYESのと
きには、ステップ92、93の処理を繰り返す。このよ
うなステップ92、93、94の処理サブルーチンによ
り、イベント間隔レジスタKIには、演奏データメモリ
PDMにおいてタップイベントの前後に分けて記録され
ているイベント間隔データが合算、すなわち、データ詰
めされて格納されることとなる。必要なデータ詰めが終
了すると、ステップ94の結果はNOになり、ステップ
95に行き、ポインタPBにより指定される演奏データ
メモリPDMのアドレスPDM(PB)の記憶内容がエ
ンドコードか否かを調べる。エンドコードであるときに
は、ステップ90を通ってリターンする。また、エンド
コードでないときには、イベント間隔レジスタKIの内
容が0より大きいか否かを調べる(ステップ96)。Y
ESのときには、ポインタPAにより指定される演奏デ
ータメモリPDMのアドレスPDM(PA)にイベント
間隔指示コードを格納するとともに、次のアドレスPD
M(PA+1)にイベント間隔レジスタKIの内容を格
納する(ステップ97)。このようにして、演奏データ
メモリPDMの前記アドレスPDM(PA+1)には、
データ詰めされたイベント間隔データが記憶されること
となる。次に、ポインタPAを2だけ進め、ステップ8
8および89の処“データ詰め処理”サブルーチンを行
った後、ステップ86に戻る。ステップ96の結果がN
O、すなわち、イベント間隔レジスタKIの値が0であ
るときには、ステップ97および98の処理を行うこと
なく、ステップ88および89を通ってステップ86に
戻る。
The result of step 86 is YES, that is, the stored content of the address PDM (PB) of the performance data memory PDM designated by the pointer PB indicates that the stored content of the next address is the event interval data. When the code is the event interval instruction code, the procedure goes to step 91, and the event interval register KI is set to "0". Then, a value obtained by adding the current contents of the register KI and the value of the event interval data stored in the next address PDM (PB + 1) of the performance data memory PDM is set in the event interval register KI (step 9).
2), the pointer PB is advanced by 2 (step 93).
Next, at step 94, the performance data memory P designated by the pointer PB advanced by 2 in this way.
It is checked whether the stored content of the DM address PDM (PB) is the event interval instruction code. When the result is YES, the processes of steps 92 and 93 are repeated. By the processing subroutine of steps 92, 93, and 94, the event interval data recorded separately in the performance data memory PDM before and after the tap event in the performance data memory PDM are added, that is, data is packed and stored. Will be done. When the necessary data packing is completed, the result of step 94 is NO, and the routine proceeds to step 95, where it is checked whether the stored content of the address PDM (PB) of the performance data memory PDM designated by the pointer PB is the end code. If it is an end code, the process returns through step 90. If it is not the end code, it is checked whether the content of the event interval register KI is larger than 0 (step 96). Y
At the time of ES, the event interval instruction code is stored in the address PDM (PA) of the performance data memory PDM designated by the pointer PA, and the next address PD is also stored.
The content of the event interval register KI is stored in M (PA + 1) (step 97). In this way, the address PDM (PA + 1) of the performance data memory PDM is
The event interval data packed with data will be stored. Next, the pointer PA is advanced by 2 and step 8
After performing the "data packing process" subroutine of 8 and 89, the process returns to step 86. The result of step 96 is N
When O, that is, when the value of the event interval register KI is 0, the process returns to step 86 through steps 88 and 89 without performing the processing of steps 97 and 98.

【0048】図10に戻って、ステップ83の結果がN
O、すなわち、タップイベント回数が3回以上のときに
は、ポインタTPを0にし(ステップ99)、ステップ
100に行き、ポインタTPにより指定されるタップデ
ータメモリTDMのアドレスTDM(TP)の記憶内容
が、エンドコードか否かを調べる。YESのときには、
ステップ84に行き、図11の“データ詰め処理”サブ
ルーチンを行い、リターンする。
Returning to FIG. 10, the result of step 83 is N
When O, that is, when the number of tap events is three or more, the pointer TP is set to 0 (step 99), the process proceeds to step 100, and the stored content of the address TDM (TP) of the tap data memory TDM designated by the pointer TP is Check whether it is an end code. If yes,
Going to step 84, the "data packing process" subroutine of FIG. 11 is performed, and the process returns.

【0049】ステップ100の結果がNO、すなわち、
エンドコードではないときには、ステップ101に行
き、タップデータメモリTDMの前記アドレスTDM
(TP)に記憶されているタップアドレスデータを演奏
データメモリPDMに格納するとともに、タップデータ
メモリTDMの次のアドレスTDM(TP+1)に記憶
されているタップイベント間隔データをタップイベント
間隔レジスタDTMにセットする。そして、ポインタT
Pを2だけ進め(ステップ102)、次のステップ10
3に行く。
The result of step 100 is NO, that is,
If it is not the end code, go to step 101 and enter the address TDM of the tap data memory TDM.
The tap address data stored in (TP) is stored in the performance data memory PDM, and the tap event interval data stored in the next address TDM (TP + 1) of the tap data memory TDM is set in the tap event interval register DTM. To do. And the pointer T
Advance P by 2 (step 102), then step 10
Go to 3.

【0050】ステップ103においては、演奏データメ
モリPDMの次のアドレスPDM(PDP+1)に記憶
されているイベント間隔データを、タップイベント間隔
データの修正に従って修正する処理を行う。すなわち、
図2で概略的に説明したように、基準タップ間隔レジス
タBTMに記憶されている基準タップイベント間隔BT
の値をタップイベント間隔レジスタDTMに記憶されて
いるタップイベント間隔の値で割ることにより該当する
タップイベント間隔データの修正率を求め、該修正率を
前記アドレスPDM(PDP+1)に記憶されているイ
ベント間隔データの値に乗算する。そして、その乗算結
果を、演奏データメモリPDMの前記アドレスアドレス
PDM(PDP+1)に上書きする。このような処理に
より、例えば、図3(a)の例において演奏データメモ
リPDMのアドレス“15”に記憶されたイベント間隔
データ“4”は、タップイベント間隔修正率である16
÷8=2を掛けられることにより、8に修正されること
となる。
In step 103, the event interval data stored in the next address PDM (PDP + 1) of the performance data memory PDM is modified according to the modification of the tap event interval data. That is,
As described schematically in FIG. 2, the reference tap event interval BT stored in the reference tap interval register BTM.
Value is divided by the value of the tap event interval stored in the tap event interval register DTM to obtain the correction rate of the corresponding tap event interval data, and the correction rate is stored in the address PDM (PDP + 1). Multiply the value of the interval data. Then, the multiplication result is overwritten on the address address PDM (PDP + 1) of the performance data memory PDM. By such processing, for example, the event interval data “4” stored at the address “15” of the performance data memory PDM in the example of FIG. 3A is the tap event interval correction rate 16
By multiplying ÷ 8 = 2, it is corrected to 8.

【0051】ステップ103の処理が終ると、ポインタ
PDPを2だけ進め(ステップ104)、ステップ10
5に行く。ステップ105では、このように2進めたポ
インタPDPによって指定される演奏データメモリPD
MのアドレスPDM(PDP)の記憶内容がエンドコー
ドか否かを調べる。エンドコードのときには、ステップ
84において図11のデータ詰め処理を行い、リターン
する。また、NO、すなわち、エンドコードではないと
きには、次のステップ106において、該アドレスPD
M(PDP)の記憶内容がキーイベント指示コードか否
かを調べる。YESのときには、ポインタPDPをさら
に2だけ進め(ステップ107)、再びステップ105
および106の処理を行う。ステップ105、106お
よび107の処理サブルーチンは、ステップ106の結
果がNO、すなわち、イベント間隔指示コードになるま
で繰り返される。
When the processing of step 103 is completed, the pointer PDP is advanced by 2 (step 104), and step 10
Go to 5. In step 105, the performance data memory PD designated by the pointer PDP advanced by 2 in this way
It is checked whether the stored content of the address PDM (PDP) of M is the end code. If it is an end code, the data packing process of FIG. 11 is performed in step 84, and the process returns. If NO, that is, if it is not the end code, in the next step 106, the address PD
It is checked whether the stored content of M (PDP) is a key event instruction code. If YES, the pointer PDP is further advanced by 2 (step 107), and step 105 is performed again.
And 106 are performed. The processing subroutine of steps 105, 106 and 107 is repeated until the result of step 106 is NO, that is, the event interval instruction code.

【0052】ステップ106の結果がイベント間隔指示
コードになると、次のステップ108に行き、ポインタ
PDPの値が、ポインタTPにより指定されるタップデ
ータメモリTDMのアドレスTDM(TP)に記憶され
ている値以上か否か、つまりPDP≧TDM(TP)で
あるか否かを調べる。ポインタPDPにより指定される
アドレスが、前記タップデータメモリTDMのアドレス
TDM(TP)に記憶されている次のタップアドレスに
達していないときには、NOとなり、この場合、演奏デ
ータメモリPDMの次のアドレスPDM(PDP+1)
に記憶されているイベント間隔データの修正を行うため
に、ステップ103からステップ108の処理を繰り返
す。また、ポインタPDPの値がタップデータメモリT
DMに記憶された次のタップアドレスの値に達したとき
には、ステップ108の結果はYESとなり、この場
合、ステップ100に戻って、該アドレスTDM(T
P)の記憶内容がエンドコードか否かを調べる。エンド
コードのときには、ステップ84においてデータ詰めを
行い、エンドコードではないときには、該次のタップア
ドレスに対応するイベント間隔データの修正を行うため
に、ステップ101の以後のステップを繰り返す。
When the result of step 106 becomes the event interval instruction code, the process proceeds to the next step 108, and the value of the pointer PDP is the value stored in the address TDM (TP) of the tap data memory TDM designated by the pointer TP. It is checked whether or not the above is true, that is, whether or not PDP ≧ TDM (TP). When the address designated by the pointer PDP has not reached the next tap address stored in the address TDM (TP) of the tap data memory TDM, the result is NO, and in this case, the next address PDM of the performance data memory PDM. (PDP + 1)
In order to correct the event interval data stored in, the processing from step 103 to step 108 is repeated. The value of the pointer PDP is the tap data memory T.
When the value of the next tap address stored in DM is reached, the result of step 108 is YES, and in this case, the process returns to step 100 and the address TDM (T
It is checked whether the stored content of P) is an end code. If it is an end code, the data is packed in step 84, and if it is not the end code, the steps after step 101 are repeated to correct the event interval data corresponding to the next tap address.

【0053】このような修正処理により、タップイベン
トが2回以上記録された後において記録モードの走行が
停止されると、以上の修正処理および“データ詰め処
理”サブルーチンが行われる。すなわち、2回目以後の
各タップイベント間のタップイベント間隔データが互い
に同等となるように修正され、修正されたタップイベン
ト間隔データに対応するイベント間隔データが、対応す
るタップイベント間隔データの修正率に従って、修正さ
れることとなる。また、2回目以後のタップイベントに
よって分割されて記録されたイベント間隔データが、1
つにデータ詰めされることとなる。
When the traveling in the recording mode is stopped after the tap event is recorded twice or more by the correction processing as described above, the correction processing and the "data packing processing" subroutine described above are performed. That is, the tap event interval data between the second and subsequent tap events are corrected to be equal to each other, and the event interval data corresponding to the corrected tap event interval data is adjusted according to the correction rate of the corresponding tap event interval data. , Will be fixed. In addition, the event interval data recorded by being divided by the tap event after the second time is 1
Data will be packed into one.

【0054】なお、上記実施例では、鍵盤の演奏によっ
て発生する演奏データが記録されるのに並行して、タッ
プ操作を行い、タップイベントのタイミングを記録する
ようにしたが、この発明にあっては、これに限らず、鍵
盤の演奏データを一旦記録しておき、該演奏データを再
生しながら、タップ操作を行い、タップイベントのタイ
ミングを記録するようにしてもよい。また、タップ操作
を行うための手段は、フットスイッチに限らず、その他
のものであってもよい。
In the above embodiment, the tap operation is performed and the timing of the tap event is recorded in parallel with the recording of the performance data generated by the performance of the keyboard. However, not limited to this, the performance data of the keyboard may be temporarily recorded, and the tap operation may be performed while the performance data is reproduced to record the timing of the tap event. Further, the means for performing the tap operation is not limited to the foot switch, and other means may be used.

【0055】また、演奏データメモリの書込みアドレス
を、イベント間隔データに対応させて移動しながら、演
奏タイミングデータを記憶するようにしてもよい。さら
に、演奏データメモリのメモリフォーマットは、実施例
のものに限らず、その他のものであってもよく、イベン
ト間隔データ以外のデータを記憶するようにしてもよ
い。さらに、急激にテンポ変更しないように、変更前の
テンポとの相関をとってもよい。なお、この発明は、電
子楽器に限らず、自動伴奏装置、自動リズム演奏装置等
に適用してもよい。
Further, the performance timing data may be stored while moving the write address of the performance data memory in correspondence with the event interval data. Further, the memory format of the performance data memory is not limited to that of the embodiment, and may be other formats, and data other than the event interval data may be stored. Furthermore, the tempo may be correlated with the tempo before the change so that the tempo does not change suddenly. The present invention is not limited to electronic musical instruments, but may be applied to an automatic accompaniment device, an automatic rhythm playing device, or the like.

【0056】[0056]

【発明の効果】以上のように、この発明は、拍子操作タ
イミング間隔を同等に修正し、それぞれの拍子操作タイ
ミング間隔の修正に従い、対応する演奏データの演奏タ
イミングを修正するようにしたものである。その結果、
この発明は、演奏タイミングにムラがある演奏データで
あっても、簡単に、その演奏タイミングが一定となるよ
う修正でき、該演奏データを一定のテンポで再生可能な
自動演奏データとして記録することができるという優れ
た効果を奏する。
As described above, according to the present invention, the beat operation timing intervals are corrected equally, and the performance timing of the corresponding performance data is corrected according to the correction of each beat operation timing interval. .. as a result,
According to the present invention, even performance data having uneven performance timing can be easily corrected so that the performance timing becomes constant, and the performance data can be recorded as automatic performance data that can be reproduced at a constant tempo. It has an excellent effect that it can be done.

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

【図1】 この発明に係る自動演奏装置を適用した電子
楽器の一実施例のハードウエア構成を示すブロック図。
FIG. 1 is a block diagram showing a hardware configuration of an embodiment of an electronic musical instrument to which an automatic performance device according to the present invention is applied.

【図2】 この発明の動作の概略を説明する図。FIG. 2 is a diagram for explaining the outline of the operation of the present invention.

【図3】 図1のタップデータメモリおよび演奏データ
メモリのメモリフォーマットの一例を示す図。
FIG. 3 is a diagram showing an example of a memory format of a tap data memory and a performance data memory of FIG.

【図4】 図1におけるマイクロコンピュータによって
実行されるメインルーチンの一例を示すフローチャート
図。
FIG. 4 is a flowchart showing an example of a main routine executed by the microcomputer shown in FIG.

【図5】 図4におけるスイッチイベント処理の一例を
示すフローチャート図。
5 is a flowchart showing an example of a switch event process in FIG.

【図6】 図4におけるキーイベント処理の一例を示す
フローチャート図。
FIG. 6 is a flowchart showing an example of key event processing in FIG.

【図7】 図4におけるタップイベント処理の一例を示
すフローチャート図。
FIG. 7 is a flowchart showing an example of tap event processing in FIG.

【図8】 図5における読出し処理の一例を示すフロー
チャート図。
8 is a flowchart showing an example of a reading process in FIG.

【図9】 テンポクロック信号に応じて実行される割込
み処理の一例を示すフローチャート図。
FIG. 9 is a flowchart showing an example of interrupt processing executed in response to a tempo clock signal.

【図10】 図5における修正処理の一例を示すフロー
チャート図。
FIG. 10 is a flowchart showing an example of a correction process in FIG.

【図11】 図10におけるデータ詰め処理の一例を示
す図。
11 is a diagram showing an example of a data packing process in FIG.

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

1…CPU、2…プログラムROM、3…データおよび
ワーキングRAM、5…押離鍵検出回路、6…パネル操
作検出回路、7…タップ操作検出回路、8…操作パネ
ル、12…フットスイッチ、KB…鍵盤、PDM…演奏
データメモリ、TDM…タップデータメモリ。
1 ... CPU, 2 ... Program ROM, 3 ... Data and working RAM, 5 ... Key release detection circuit, 6 ... Panel operation detection circuit, 7 ... Tap operation detection circuit, 8 ... Operation panel, 12 ... Foot switch, KB ... Keyboard, PDM ... Performance data memory, TDM ... Tap data memory.

Claims (1)

【特許請求の範囲】 【請求項1】 演奏者による演奏操作に応じた演奏デー
タを発生する演奏手段と、 拍子をとるために演奏者によって操作される操作手段
と、 前記演奏手段から発生された前記演奏データを、その演
奏タイミングに対応して、記憶する演奏データ記憶手段
と、 前記操作手段による拍子操作タイミングを記憶する拍子
操作タイミング記憶手段と、 前記拍子操作タイミング記憶手段に記憶されたそれぞれ
の拍子操作タイミング間の時間間隔が同等となるよう
に、各拍子操作タイミング間の時間間隔をそれぞれ修正
し、この修正に応じて、各拍子操作タイミングの間隔毎
に、前記演奏データ記憶手段に記憶された演奏データの
演奏タイミングをそれぞれ修正する演奏データ修正手段
とを具えた自動演奏装置。
Claims: 1. A performance means for generating performance data in response to a performance operation by a performer, an operation means operated by the performer to obtain a beat, and a performance means generated from the performance means. Performance data storage means for storing the performance data corresponding to the performance timing, beat operation timing storage means for storing the beat operation timing by the operating means, and each of the beat operation timing storage means The time intervals between the beat operation timings are corrected so that the time intervals between the beat operation timings are equal, and in accordance with this correction, the time interval between the beat operation timings is stored in the performance data storage means. An automatic performance device having performance data correction means for correcting the performance timing of each performance data.
JP3189473A 1991-07-04 1991-07-04 Automatic music player device Pending JPH0511753A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3189473A JPH0511753A (en) 1991-07-04 1991-07-04 Automatic music player device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3189473A JPH0511753A (en) 1991-07-04 1991-07-04 Automatic music player device

Publications (1)

Publication Number Publication Date
JPH0511753A true JPH0511753A (en) 1993-01-22

Family

ID=16241853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3189473A Pending JPH0511753A (en) 1991-07-04 1991-07-04 Automatic music player device

Country Status (1)

Country Link
JP (1) JPH0511753A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8549957B2 (en) 2009-09-16 2013-10-08 Mikuni Corporation Rotation angle detecting apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8549957B2 (en) 2009-09-16 2013-10-08 Mikuni Corporation Rotation angle detecting apparatus

Similar Documents

Publication Publication Date Title
US5296642A (en) Auto-play musical instrument with a chain-play mode for a plurality of demonstration tones
GB2148575A (en) Electronic musical instrument
JP3358292B2 (en) Electronic musical instrument
JP2756877B2 (en) Phrase playing device
JP3239411B2 (en) Electronic musical instrument with automatic performance function
JP2583809B2 (en) Electronic musical instrument
JP2768233B2 (en) Electronic musical instrument
JPH0511753A (en) Automatic music player device
JPH0640270B2 (en) Chord progression memory playback device
JP2998527B2 (en) Automatic accompaniment device
JP2660462B2 (en) Automatic performance device
JPS61256391A (en) Automatic performer
JP2606501B2 (en) Electronic musical instrument with automatic performance function
JP2692539B2 (en) Automatic accompaniment device
JP3178176B2 (en) Automatic accompaniment device
JP2551193B2 (en) Automatic playing device
JP2625800B2 (en) Automatic performance device
JP2556170B2 (en) Automatic performance recorder
JP2564811B2 (en) Performance recorder
JP2530691Y2 (en) Automatic rhythm playing device
JP2674454B2 (en) Automatic accompaniment device
JPH0314714Y2 (en)
JP2606500B2 (en) Electronic musical instrument with automatic performance function
JP3120487B2 (en) Electronic musical instrument with automatic accompaniment function
JP3055352B2 (en) Accompaniment pattern creation device