JP3169535B2 - Automatic performance device and automatic performance method - Google Patents
Automatic performance device and automatic performance methodInfo
- Publication number
- JP3169535B2 JP3169535B2 JP21254395A JP21254395A JP3169535B2 JP 3169535 B2 JP3169535 B2 JP 3169535B2 JP 21254395 A JP21254395 A JP 21254395A JP 21254395 A JP21254395 A JP 21254395A JP 3169535 B2 JP3169535 B2 JP 3169535B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- data
- automatic performance
- time
- sound
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【0001】[0001]
【発明の属する技術分野】本発明は電子楽器の分野に属
し、特に自動演奏データに基づいて自動演奏を行う自動
演奏装置及び自動演奏方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to the field of electronic musical instruments, and more particularly to an automatic performance apparatus and an automatic performance method for performing an automatic performance based on automatic performance data.
【0002】[0002]
【従来の技術】従来の自動演奏装置は、予め自動演奏デ
ータメモリに自動演奏データを記憶している。そして、
例えば自動演奏開始スイッチが操作されると、自動演奏
データメモリから自動演奏データが順次読み出され、こ
の自動演奏データに基づいて発音がなされることにより
自動的に所定曲の演奏が行われる。2. Description of the Related Art A conventional automatic performance device stores automatic performance data in an automatic performance data memory in advance. And
For example, when the automatic performance start switch is operated, the automatic performance data is sequentially read out from the automatic performance data memory, and a predetermined music is automatically performed by generating a sound based on the automatic performance data.
【0003】更に詳しく説明すると、自動演奏データメ
モリに予め用意される自動演奏データは、1音を発生す
るためのデータ(以下、「音符データ」という。)の集
合で構成されている。各音符データは、例えば図9に示
すように、それぞれが1バイトで構成されるキーナン
バ、ステップタイム、ゲートタイム及びベロシティ/パ
ートの各データで構成されている。「キーナンバ」は例
えば鍵盤装置の各鍵に付された番号に対応するものであ
り、音高(音程)を指定するために使用される。「ステ
ップタイム」は発音開始のタイミング(時刻)を指定す
るために使用される。「ゲートタイム」は発音すべき音
の長さ(音長)を指定するために使用される。「ベロシ
ティ/パート」のうち、「ベロシティ」は例えば5ビッ
トで成り、音の強さを指定するために使用される。ま
た、「パート」は例えば3ビットで成り、当該音の属す
るパートを指定するために使用される。1つの曲に対応
する自動演奏データは、かかる音符データがステップタ
イム順に並べられて構成されている。More specifically, the automatic performance data prepared in advance in the automatic performance data memory is composed of a set of data for generating one sound (hereinafter referred to as "note data"). As shown in FIG. 9, for example, each note data is composed of key number, step time, gate time, and velocity / part data each composed of one byte. The “key number” corresponds to, for example, a number assigned to each key of the keyboard device, and is used to designate a pitch (pitch). The “step time” is used to specify the timing (time) of the start of sound generation. “Gate time” is used to specify the length of a sound to be pronounced (sound length). Among the "velocities / parts", the "velocity" is composed of, for example, 5 bits, and is used to specify the sound intensity. The “part” is composed of, for example, 3 bits, and is used to specify the part to which the sound belongs. The automatic performance data corresponding to one tune is configured by arranging such note data in the order of step time.
【0004】自動演奏が開始されると、ステップタイム
カウンタのカウントアップ動作が開始される。ステップ
タイムカウンタは、1ステップ毎にインクリメントされ
る。1ステップは、例えば1拍の、1/24、1/4
8、1/96等といった具合に任意に定義される。1拍
の実時間はテンポに従って定まる。従って、1ステップ
の実時間、つまりステップタイムカウンタのカウントア
ップの実時間間隔はテンポに従って決定されることにな
る。[0004] When the automatic performance is started, the count-up operation of the step time counter is started. The step time counter is incremented for each step. One step is, for example, 1/24, 1/4 of one beat
It is arbitrarily defined such as 8, 1/96. The actual time of one beat is determined according to the tempo. Therefore, the actual time of one step, that is, the actual time interval of the count-up of the step time counter is determined according to the tempo.
【0005】このようなステップタイムカウンタが動作
している状態で、自動演奏データメモリから1つの音符
データが読み出される。そして、音符データ中のステッ
プタイムとステップタイムカウンタの内容とが比較され
る。そして、これらが一致しない場合は、その音符デー
タは発音タイミングに至っていないものと判断され、所
定周期で比較動作が繰り返される。この比較動作の繰り
返しと並行してステップタイムカウンタの内容がインク
リメントされ、音符データ中のステップタイムとステッ
プタイムカウンタの内容とが一致するに至ると、その音
符データは発音タイミングに至ったものと判断され、発
音処理が行われる。この発音処理では、音符データ中の
キーナンバで指定された音高及びベロシティで指定され
た強さを有する音の発音が開始される。1つの音符デー
タに対する発音処理が終了すると、次の音符データが自
動演奏データメモリから読み出され、上述したと同様の
処理が行われる。While the step time counter is operating, one note data is read from the automatic performance data memory. Then, the step time in the note data is compared with the contents of the step time counter. If they do not match, it is determined that the note data has not reached the sound generation timing, and the comparison operation is repeated at a predetermined cycle. In parallel with the repetition of this comparison operation, the content of the step time counter is incremented, and when the step time in the note data matches the content of the step time counter, the note data is determined to have reached the sounding timing. Then, a sound generation process is performed. In this sound generation process, sound generation of a sound having a pitch specified by a key number in note data and a strength specified by a velocity is started. When the tone generation processing for one note data is completed, the next note data is read from the automatic performance data memory, and the same processing as described above is performed.
【0006】一方、発音が開始された音は、ゲートタイ
ムで指定された時間が経過することにより消音される。
消音は次のようにして行われる。即ち、上記発音処理に
おいて、発音に使用される音符データ中のゲートタイム
データがゲートタイムカウンタにセットされる。ゲート
タイムカウンタは、上記発音処理とは独立に、1ステッ
プ毎にデクリメントされる。そして、ゲートタイムカウ
ンタの内容がゼロになると発音中の音の消音処理が行わ
れる。以上のようにして発音処理と消音処理とが次々に
実行されることにより1つの曲の自動演奏が行われる。On the other hand, the sound whose sound has started is silenced when the time specified by the gate time elapses.
Silencing is performed as follows. That is, in the sound generation process, the gate time data in the note data used for sound generation is set in the gate time counter. The gate time counter is decremented for each step independently of the above sound generation processing. Then, when the content of the gate time counter becomes zero, the sound being produced is muted. As described above, the tone generation process and the mute process are executed one after another, so that one music piece is automatically played.
【0007】ところで、近年、上述した自動演奏装置の
技術を応用した装置の1つとして、コンサートマジック
機能付き自動演奏装置が開発されている。ここに、「コ
ンサートマジック機能」とは、演奏者により指示された
タイミング、例えば押鍵されたタイミングで音符データ
を自動演奏データメモリから読み出し、この音符データ
に基づいて発音を開始させる機能である。このコンサー
トマジック機能付き自動演奏装置では、一般に、上述し
た通常の自動演奏装置で使用される自動演奏データと同
じ自動演奏データが使用される。しかし、自動演奏デー
タを構成する各音符データ中のステップタイムデータは
使用されない。その代わりに、発音タイミングは、外部
から演奏者によって与えられる。In recent years, an automatic performance device with a concert magic function has been developed as one of the devices to which the above-described automatic performance device technology is applied. Here, the "concert magic function" is a function of reading out note data from the automatic performance data memory at a timing instructed by the player, for example, at the timing of depressing a key, and starting sounding based on this note data. In the automatic performance apparatus with the concert magic function, generally, the same automatic performance data as used in the above-described ordinary automatic performance apparatus is used. However, the step time data in each note data constituting the automatic performance data is not used. Instead, the sounding timing is given by the player from the outside.
【0008】また、コンサートマジック機能付き自動演
奏装置においては、鍵盤装置は単に発音タイミングを与
える手段として使用される。従って、演奏者は、曲の発
音すべきタイミングに合わせて鍵盤装置の何れか任意の
鍵を押すことにより、自動演奏を進行させることができ
る。換言すれば、コンサートマジック機能付きの自動演
奏装置は、音高及び音の強さは自動演奏データに基づい
て決定され、発音タイミングは演奏者の指示に基づいて
決定されて楽音が発生される自動演奏装置ということが
できる。In an automatic performance device with a concert magic function, a keyboard device is simply used as a means for giving sounding timing. Therefore, the player can advance the automatic performance by pressing any key on the keyboard device in accordance with the timing at which the music should be sounded. In other words, in the automatic performance device with the concert magic function, the pitch and the intensity of the sound are determined based on the automatic performance data, and the sounding timing is determined based on the instruction of the player, and the musical tone is generated. It can be called a performance device.
【0009】従来の自動演奏装置では、自動演奏開始ス
イッチが操作されると自動的に所定の曲の自動演奏が行
われるので演奏者が介入する余地がないのに対し、コン
サートマジック機能付き自動演奏装置では、演奏者が発
音タイミングを指示することによって自動演奏が進行す
るので、演奏者は、自分が演奏をしているという満足感
を得ることができる。In the conventional automatic performance device, when the automatic performance start switch is operated, an automatic performance of a predetermined music is automatically performed, so that there is no room for a player to intervene. On the other hand, an automatic performance with a concert magic function is provided. In the device, the automatic performance proceeds when the player instructs the sounding timing, so that the player can obtain a sense of satisfaction that he or she is playing.
【0010】[0010]
【発明が解決しようとする課題】ところで、上述したコ
ンサートマジック機能付き自動演奏装置では、発音が開
始された音を消音するするために幾つかの方法が考えら
れている。第1の方法は、押鍵に応じてステップタイム
カウンタの内容を強制的に進めることにより発音中の音
を消音する方法である。第2の方法は押鍵によって発音
中の音を消音する方法である。第3の方法は全鍵が離さ
れた時に発音中の全ての音を消音する方法である。By the way, in the above-mentioned automatic performance apparatus with the concert magic function, several methods are considered to mute the sound whose sound has started. The first method is to mute the sound being generated by forcibly advancing the contents of the step time counter in response to a key depression. The second method is to mute the sound being generated by pressing a key. A third method is to mute all sounds being generated when all keys are released.
【0011】しかし、上記の各方法にはいずれも欠点が
ある。第1の方法においては、押鍵があると、自動演奏
データメモリから音符データを1つだけ読み出し、その
音符データに含まれているステップタイムデータとステ
ップタイム(ステップタイムカウンタの内容)とを比較
する。そして、一致しないことが判断されるとステップ
タイムをインクリメントすると共に、その時点で既に発
音中である音のゲートタイム(ゲートタイムカウンタの
内容)をデクリメントする。以下、その音符データに含
まれているステップタイムデータとステップタイムとが
一致するまで上記ステップタイムのインクリメント及び
ゲートタイムのデクリメント動作が強制的に繰り返され
る。この繰り返し動作は、上述した1ステップの実時間
とは無関係に高速で行われる。そして、音符データに含
まれているステップタイムデータとステップタイムとが
一致することが判断された時点で、上記音符データに基
づく発音が行われる。また、上記繰り返し動作によって
ゲートタイムがゼロになった発音中の音は消音される。
これにより、押鍵がなされると、1つの音符データに基
づく1つの音が必ず発音されると共に、押鍵前に発音さ
れていた音は消音されるという機能が実現されている。However, each of the above methods has disadvantages. In the first method, when a key is pressed, only one note data is read from the automatic performance data memory, and the step time data contained in the note data is compared with the step time (contents of the step time counter). I do. When it is determined that they do not match, the step time is incremented, and the gate time (contents of the gate time counter) of the sound that is already being generated at that time is decremented. Thereafter, the increment of the step time and the decrement of the gate time are forcibly repeated until the step time data included in the note data coincides with the step time. This repetitive operation is performed at a high speed irrespective of the one-step real time described above. Then, when it is determined that the step time matches the step time data included in the note data, a sound is generated based on the note data. Further, the sound that is being sounded and whose gate time has become zero by the repetition operation is muted.
Thus, when a key is pressed, a function is realized in which one sound based on one note data is always generated and a sound generated before the key is pressed is muted.
【0012】しかしながら、この第1の方法によれば、
発音中の音のゲートタイムがゼロにならないとその音は
消音されない。ところが、次に押鍵がなされることによ
ってゲートタイムのデクリメントが行われないと発音中
の音のゲートタイムがゼロにならない。従って、曲の途
中で自動演奏を進める操作(押鍵)を止めてしまった場
合は、発音中の音は消音されることなく鳴り続けるとい
う問題を生じていた。However, according to the first method,
Unless the gate time of the sound being pronounced becomes zero, the sound is not muted. However, if the gate time is not decremented by the next key depression, the gate time of the sound being generated does not become zero. Therefore, when the operation of proceeding the automatic performance (key pressing) is stopped in the middle of a song, there is a problem that the sound being generated continues to be sounded without being muted.
【0013】また、第2の方法は、ステップタイムやゲ
ートタイムとは無関係に、押鍵がなされたことを検出し
て発音中の音を消音する方法である。しかしながら、こ
の場合も、上記第1の方法の場合と同様に、次の押鍵が
なされないと発音中の音の消音は行われないので、曲を
最後まで演奏せずに途中で止めてしまった場合は、発音
中の音は消音されることなく鳴り続けるという問題を生
じていた。なお、上記第1及び第2の方法において、曲
の最後まで自動演奏を行った場合は、最後の自動演奏デ
ータ(これを「エンドマーク」という。)では新たな発
音は開始されないので、発音中の音が消音されることな
く鳴り続けるという問題は生じない。The second method is a method of detecting that a key is depressed and silencing a sound being generated irrespective of a step time or a gate time. However, also in this case, as in the case of the first method, the sound being generated is not muted unless the next key is depressed, so that the music is stopped halfway without playing to the end. In such a case, there is a problem that the sound being produced continues to sound without being muted. In the first and second methods, when the automatic performance is performed to the end of the music, a new sound is not started with the last automatic performance data (this is called an “end mark”). There is no problem that the sound continues to sound without being muted.
【0014】そこで、かかる第1及び第2の方法の問題
点を解消するために、第3の方法が考えられている。こ
の第3の方法においては、自動演奏を進める操作を途中
で止めても全鍵が離されると発音中の全ての音が消音さ
れる。しかし、例えば鍵盤装置の1鍵だけを用いて自動
演奏を行っているような場合は、離鍵されると全鍵が離
された状態になる。従って、離鍵の度に発音中の音が消
音されてしまい、恰かもスタッカートで演奏しているよ
うに音が途切れてしまい、滑らかな演奏ができないとい
う問題があった。To solve the problems of the first and second methods, a third method has been proposed. In the third method, even if the operation for advancing the automatic performance is stopped halfway, when all keys are released, all the sounds being generated are muted. However, for example, when an automatic performance is performed using only one key of the keyboard device, all keys are released when the key is released. Therefore, there is a problem that the sound being produced is muted each time a key is released, and the sound is interrupted as if playing in a staccato, and a smooth performance cannot be performed.
【0015】本発明は、かかる従来のコンサートマジッ
ク機能付きの自動演奏装置の問題点を解消するためにな
されたものであり、演奏者が曲の途中で自動演奏を進め
る操作を止めても音が鳴り続けることがなく、また1鍵
だけを用いた場合であっても滑らかな自動演奏を行うこ
とのできる自動演奏装置及び自動演奏方法を提供するこ
とを目的とする。The present invention has been made in order to solve the problem of the conventional automatic performance device having a concert magic function, and the sound is produced even if the player stops the operation of performing the automatic performance in the middle of the music. It is an object of the present invention to provide an automatic performance device and an automatic performance method that do not keep ringing and can perform smooth automatic performance even when only one key is used.
【0016】[0016]
【課題を解決するための手段】本発明の自動演奏装置
は、上記目的を達成するために、少なくとも音長を規定
するためのゲートタイムデータが含まれた音符データを
複数記憶した記憶手段と、押鍵がなされたことを検出す
る押鍵検出手段とを有し、該押鍵検出手段により押鍵が
なされたことが検出される毎に、該記憶手段から音符デ
ータを読み出し、該音符データに基づいて発音を開始す
ると共に、既に発音中の音を消音することにより自動演
奏を進める自動演奏装置であって、押下中の鍵の有無を
判断する押鍵判断手段と、ゲートタイムデータに対応す
る時間が経過したことを検出する経時検出手段とを備
え、該押鍵判断手段により押下中の鍵がないことが判断
された場合に、既に発音中の音は、当該音の発音に用い
られた音符データ中のゲートタイムデータに対応する時
間が経過したことが該経時検出手段で検出された時に消
音されることを特徴とする。In order to achieve the above object, an automatic performance apparatus according to the present invention comprises a storage means for storing a plurality of note data including at least gate time data for defining a note length; Key-press detection means for detecting that a key has been pressed, and each time the key-depression detection means detects that a key has been pressed, it reads out note data from the storage means, and stores the note data in the note data. An automatic performance device that starts automatic sounding based on a key being pressed and performs automatic performance by silencing a sound that is already sounding. Time-lapse detecting means for detecting that time has elapsed, and when the key-pressing determining means determines that there is no key being pressed, the sound that is already sounding is used for sounding the sound. In note data That time corresponding to the over part-time data has passed, characterized in that it is muted when detected by 該経 time detection means.
【0017】上記経時検出手段は、所定周期で発生する
タイマ割込に基づいてゲートタイムデータに対応する時
間が経過したことを検出するように構成することができ
る。[0017] The elapsed time detecting means may be configured to detect that the time corresponding to the gate time data has elapsed based on a timer interrupt generated in a predetermined cycle.
【0018】また、本発明の自動演奏方法は、上記目的
を達成するために、押鍵がなされたことが検出される毎
に、音長を規定するためのゲートタイムデータが含まれ
た音符データを読み出し、該音符データに基づいて発音
を開始すると共に、既に発音中の音を消音することによ
り自動演奏を進める自動演奏方法であって、押下中の鍵
がないことが判断された場合に、既に発音中の音は、当
該音の発音に用いられた音符データ中のゲートタイムデ
ータに対応する時間が経過したことが検出された時に消
音されることを特徴とする。In order to achieve the above object, the automatic performance method according to the present invention provides a musical note data containing gate time data for defining a note length each time a key depression is detected. Is read out, a sound is started based on the note data, and an automatic performance method for performing an automatic performance by silencing a sound that is already sounding is performed.If it is determined that there is no key being pressed, A sound that is already sounding is muted when it is detected that the time corresponding to the gate time data in the note data used for sounding the sound has elapsed.
【0019】[0019]
【発明の実施の形態】以下、本発明の自動演奏装置及び
自動演奏方法の一実施の形態につき図面を参照しながら
詳細に説明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, an embodiment of an automatic performance apparatus and an automatic performance method according to the present invention will be described in detail with reference to the drawings.
【0020】図1は、本発明の自動演奏装置の構成を示
すブロック図である。本自動演奏装置は、システムバス
30で相互に接続された中央処理装置(以下、「CP
U」という。)10、プログラムメモリ12、ワークメ
モリ13、パネルインタフェース回路14、鍵盤インタ
フェース回路16、自動演奏データメモリ18、波形メ
モリ19及び音源20で構成されている。システムバス
30は、例えばアドレス信号、データ信号又は制御信号
等を送受するためのバスラインである。FIG. 1 is a block diagram showing the configuration of the automatic performance device of the present invention. This automatic performance apparatus is provided with a central processing unit (hereinafter referred to as “CP”) interconnected by a system bus 30.
U ". ) 10, a program memory 12, a work memory 13, a panel interface circuit 14, a keyboard interface circuit 16, an automatic performance data memory 18, a waveform memory 19, and a sound source 20. The system bus 30 is a bus line for transmitting and receiving, for example, an address signal, a data signal, a control signal, and the like.
【0021】本発明の押鍵検出手段、押鍵判断手段及び
経時検出手段の一部はCPU10の処理によって実現す
ることができる。CPU10は、プログラムメモリ12
に記憶されている制御プログラムに従って本自動演奏装
置の全体を制御する。このCPU10が行う処理の詳細
については後述する。また、CPU10には、タイマ1
0aが接続されており、一定時間間隔、例えば2ミリ秒
間隔で割込信号を発生する。なお、このタイマ10a
は、CPU10から所定のデータをセットすることによ
って、割込信号の発生間隔を変更することができる。本
発明の経時検出手段は、このタイマ10aとCPU10
により構成することができる。このタイマ10aで発生
された割込信号はCPU10に供給され、後述する割込
処理ルーチンを起動するトリガーとなる。また、このC
PU10には外部インタフェース回路11が接続されて
いる。A part of the key press detecting means, the key press determining means and the time detecting means of the present invention can be realized by the processing of the CPU 10. The CPU 10 has a program memory 12
In accordance with a control program stored in the automatic performance device. Details of the processing performed by the CPU 10 will be described later. The CPU 10 includes a timer 1
0a is connected, and generates an interrupt signal at fixed time intervals, for example, at intervals of 2 milliseconds. This timer 10a
By setting predetermined data from the CPU 10, it is possible to change the interrupt signal generation interval. The elapsed time detecting means of the present invention includes the timer 10a and the CPU 10
Can be configured. The interrupt signal generated by the timer 10a is supplied to the CPU 10 and serves as a trigger for starting an interrupt processing routine described later. Also, this C
An external interface circuit 11 is connected to the PU 10.
【0022】外部インタフェース回路11は、本自動演
奏装置と外部装置との間のデータの送受を制御するため
に使用される。この外部インタフェース回路11として
は、外部に接続される機器の種類に応じて、例えばMI
DIインタフェース、RS232Cインタフェース、S
CSIインタフェース等の汎用インタフェース又は独自
の規格を有する各種インタフェースを用いることができ
る。外部装置としては、例えば他の電子楽器、パーソナ
ルコンピュータ、シーケンサ等が挙げられる。The external interface circuit 11 is used for controlling data transmission and reception between the automatic performance device and the external device. As the external interface circuit 11, for example, MI
DI interface, RS232C interface, S
A general-purpose interface such as a CSI interface or various interfaces having unique standards can be used. Examples of the external device include other electronic musical instruments, personal computers, sequencers, and the like.
【0023】この外部インタフェース回路11は外部装
置から送られてきたデータを受信する。この外部インタ
フェース回路11で受信されたデータはCPU10に送
られる。CPU10は、このデータに基づいて発音処理
を行い、また操作パネル15の設定状態を変更する。逆
に、後述する操作パネル15及び鍵盤装置17が操作さ
れることによって発生されたデータは、外部インタフェ
ース回路11を介して外部装置に送信される。これによ
り、本自動演奏装置の操作パネル15及び鍵盤装置17
から外部装置を制御することも可能となっている。以下
においては、外部インタフェース回路11としてMID
Iインタフェース回路が用いられるものとする。The external interface circuit 11 receives data sent from an external device. The data received by the external interface circuit 11 is sent to the CPU 10. The CPU 10 performs sound generation processing based on this data, and changes the setting state of the operation panel 15. Conversely, data generated by operating the operation panel 15 and the keyboard device 17, which will be described later, is transmitted to an external device via the external interface circuit 11. Thereby, the operation panel 15 and the keyboard device 17 of the automatic performance device are
Can also control external devices. In the following, the MID is used as the external interface circuit 11.
It is assumed that an I interface circuit is used.
【0024】プログラムメモリ12は、例えばリードオ
ンリメモリ(以下、「ROM」という。)で構成するこ
とができる。このプログラムメモリ12には、上述した
制御プログラムの他に、CPU10が使用する種々の固
定データが記憶されている。このプログラムメモリ12
には、更に複数の楽器音の複数の音域に対応した音色を
指定するための複数の音色パラメータが記憶されてい
る。1つの音色パラメータは、所定の楽器音の所定の音
域の音色を規定するために使用される。各音色パラメー
タは、例えば波形アドレス、周波数データ、エンベロー
プデータ、フィルタ係数等で構成されている。なお、こ
のプログラムメモリ12は、ランダムアクセスメモリ
(以下、「RAM」という。)で構成することもでき
る。この場合、本自動演奏装置を動作させるに先立っ
て、上記制御プログラム、固定データ、音色パラメータ
等をプログラムメモリ(RAM)にロードするように構
成すればよい。The program memory 12 can be constituted by, for example, a read only memory (hereinafter, referred to as "ROM"). The program memory 12 stores various fixed data used by the CPU 10 in addition to the control program described above. This program memory 12
Further stores a plurality of timbre parameters for specifying timbres corresponding to a plurality of tone ranges of a plurality of instrument sounds. One timbre parameter is used to define a timbre of a predetermined musical range of a predetermined musical instrument sound. Each tone color parameter includes, for example, a waveform address, frequency data, envelope data, a filter coefficient, and the like. It should be noted that the program memory 12 may be constituted by a random access memory (hereinafter, referred to as “RAM”). In this case, the control program, fixed data, timbre parameters, and the like may be loaded into a program memory (RAM) before operating the automatic performance apparatus.
【0025】ワークメモリ13は、CPU10が各種処
理を行う際に、種々のデータを一時記憶するために使用
される。このワークメモリ13には、本自動演奏装置を
制御するための各種レジスタ、カウンタ、フラグ等が定
義されている。以下に主要なレジスタ、カウンタ、フラ
グ等を示す。なお、下記以外については、以下において
出現する都度説明する。 (1)自動演奏フラグ:本自動演奏装置が自動演奏モー
ドにあるかどうかを記憶するフラグである。 (2)コンサートマジックフラグ(CMフラグ):本自
動演奏装置がコンサートマジックモード(CMモード)
にあるかどうかを記憶するフラグである。 (3)アドレスレジスタ:現在実行中の自動演奏データ
が置かれている自動演奏データメモリ18上のアドレス
(以下、「読出アドレス」という。)を保持する。 (4)キーオンカウンタ:現在押鍵中の鍵の数を計数す
るカウンタである。押鍵によりインクリメントされ、離
鍵によりデクリメントされる。 (5)データ読出リクエストフラグ:押鍵があった場合
にセットされるフラグであり、自動演奏データメモリ1
8から音符データを読み出すべきことを指示するために
使用される。 (6)同時押しタイマカウンタ:タイマ割込が発生する
度にデクリメントされるカウンタであり、鍵の同時押し
があったかどうかを判断するために使用される。 (7)巻戻しタイマカウンタ:タイマ割込が発生する度
にデクリメントされるカウンタであり、コンサートマジ
ック演奏が停止されてから一定時間が経過したかどうか
を判断するために使用される。 (8)クロックカウンタ:タイマ割込が発生する度にイ
ンクリメントされるカウンタである。 (9)読出タイミングカウンタ:その時点で設定されて
いるテンポに応じたインターバル(1ステップタイムに
相当する時間)でインクリメントされるカウンタであ
る。この読出タイミングカウンタの内容が変化した場合
に、発音タイミングになったかどうかを調べるタイミン
グ(以下、「チェックタイミング」という。)であるこ
とが認識される。The work memory 13 is used for temporarily storing various data when the CPU 10 performs various processes. Various registers, counters, flags, and the like for controlling the automatic performance device are defined in the work memory 13. The main registers, counters, flags, etc. are shown below. Except for the following, description will be given each time it appears below. (1) Automatic performance flag: a flag for storing whether or not the automatic performance device is in the automatic performance mode. (2) Concert magic flag (CM flag): The automatic performance device is in a concert magic mode (CM mode).
Is stored in the flag. (3) Address register: holds an address (hereinafter, referred to as a “read address”) on the automatic performance data memory 18 where the automatic performance data currently being executed is stored. (4) Key-on counter: a counter for counting the number of keys currently being pressed. It is incremented by depressing a key and decremented by releasing a key. (5) Data read request flag: A flag that is set when a key is pressed.
8 is used to indicate that note data should be read. (6) Simultaneous pressing timer counter: A counter that is decremented each time a timer interrupt occurs, and is used to determine whether or not a key has been simultaneously pressed. (7) Rewind timer counter: A counter that is decremented each time a timer interrupt occurs, and is used to determine whether or not a predetermined time has elapsed since the stop of the concert magic performance. (8) Clock counter: A counter that is incremented each time a timer interrupt occurs. (9) Read timing counter: A counter that is incremented at intervals (time corresponding to one step time) according to the tempo set at that time. When the content of the read timing counter changes, it is recognized that it is the timing to check whether or not the tone generation timing has come (hereinafter, referred to as “check timing”).
【0026】パネルインタフェース回路14には操作パ
ネル15が接続されている。操作パネル15には、何れ
も図示しないが、本自動演奏装置を制御するための各種
スイッチ、例えば自動演奏開始スイッチ、コンサートマ
ジックスイッチ(CMスイッチ)、選曲スイッチ、音色
選択スイッチ、音響効果指定スイッチ、音量スイッチ等
が設けられている。また、各スイッチの設定状態を表示
するLED表示器、演奏者が本自動演奏装置と対話する
ためのメッセージ等を表示するためのLCD表示器等が
設けられている。An operation panel 15 is connected to the panel interface circuit 14. Although not shown, the operation panel 15 includes various switches for controlling the automatic performance device, such as an automatic performance start switch, a concert magic switch (CM switch), a music selection switch, a tone selection switch, a sound effect designation switch, A volume switch and the like are provided. Further, there are provided an LED display for displaying a setting state of each switch, an LCD display for displaying a message or the like for a player to interact with the automatic performance device, and the like.
【0027】上記各種スイッチのうち、主要なスイッチ
について簡単に説明する。自動演奏開始スイッチは、演
奏者が自動演奏の開始又は停止を制御するために使用さ
れる。この自動演奏開始スイッチは、例えば押釦スイッ
チで構成することができる。この自動演奏開始スイッチ
の設定状態は、上述した自動演奏フラグによって記憶さ
れる。自動演奏フラグは、自動演奏開始スイッチが押さ
れる度に反転する。即ち、自動演奏停止中(自動演奏フ
ラグ=0)に自動演奏開始スイッチが押されると自動演
奏フラグが「1」にセットされると共に自動演奏が開始
される。一方、自動演奏中(自動演奏フラグ=1)に自
動演奏開始スイッチが押されると自動演奏フラグが
「0」にクリアされると共に自動演奏は停止される。A brief description will be given of the main switches among the above various switches. The automatic performance start switch is used by the player to control the start or stop of the automatic performance. This automatic performance start switch can be constituted by, for example, a push button switch. The setting state of the automatic performance start switch is stored by the above-described automatic performance flag. The automatic performance flag is inverted each time the automatic performance start switch is pressed. That is, when the automatic performance start switch is pressed while the automatic performance is stopped (automatic performance flag = 0), the automatic performance flag is set to "1" and the automatic performance is started. On the other hand, if the automatic performance start switch is pressed during the automatic performance (automatic performance flag = 1), the automatic performance flag is cleared to "0" and the automatic performance is stopped.
【0028】CMスイッチは、コンサートマジック機能
を使用するかどうかを指定するために使用される。この
CMスイッチは、例えば押釦スイッチで構成することが
できる。このCMスイッチの設定状態は、上述したCM
フラグによって記憶される。CMフラグは、CMスイッ
チが押される度に反転する。即ち、CMモードでない時
(CMフラグ=0)にCMスイッチが押されるとCMフ
ラグが「1」にセットされてCMモードに移る。一方、
CMモードの時(CMフラグ=1)にCMスイッチが押
されるとCMフラグが「0」にクリアされて通常演奏モ
ードに移る。The CM switch is used to specify whether to use the concert magic function. This CM switch can be constituted by, for example, a push button switch. The setting state of this CM switch is the same as the CM
Stored by flag. The CM flag is inverted each time the CM switch is pressed. That is, when the CM switch is pressed when the mode is not the CM mode (CM flag = 0), the CM flag is set to “1” and the mode shifts to the CM mode. on the other hand,
When the CM switch is pressed in the CM mode (CM flag = 1), the CM flag is cleared to "0" and the mode shifts to the normal performance mode.
【0029】上記パネルインタフェース回路14は、C
PU10からの指令に応じて操作パネル15上の各スイ
ッチをスキャンする。パネルインタフェース回路14
は、このスキャンにより得られた各スイッチの開閉状態
を示す信号に基づいて、各スイッチを1ビットに対応さ
せたパネルデータを作成する。各ビットは、例えば
「1」でオン、「0」でオフ状態を表す。このパネルデ
ータは、システムバス30を介してCPU10に送られ
る。このパネルデータは、操作パネル15上のスイッチ
のオン又はオフイベントが発生したかどうかを判断する
ために使用される(詳細は後述する)。The panel interface circuit 14 has a C
Each switch on the operation panel 15 is scanned according to a command from the PU 10. Panel interface circuit 14
Creates panel data in which each switch corresponds to one bit based on a signal indicating the open / closed state of each switch obtained by this scan. Each bit indicates, for example, "1" for ON and "0" for OFF. This panel data is sent to the CPU 10 via the system bus 30. This panel data is used to determine whether an on / off event of a switch on the operation panel 15 has occurred (details will be described later).
【0030】また、パネルインタフェース回路14は、
CPU10から送られてきた表示データを操作パネル1
5上の表示器に送る。これにより、CPU10から送ら
れてきた例えば文字データに従ったメッセージがLCD
表示器に表示され、また図示しないLED表示器等が点
灯/消灯される。The panel interface circuit 14
The display data sent from the CPU 10 is transmitted to the operation panel 1
5 to the display above. Thereby, a message according to, for example, character data transmitted from the CPU 10 is displayed on the LCD.
An LED display or the like, which is displayed on the display and not shown, is turned on / off.
【0031】鍵盤インタフェース回路16には鍵盤装置
17が接続されている。鍵盤装置17は複数の鍵を有し
ている。この鍵盤装置17は、通常は、押鍵によって当
該鍵に対応する音の発音を指示し、離鍵によって当該鍵
に対応する音の消音を指示するために使用される。一
方、CMモードにおいては、自動演奏を進めるトリガー
(より具体的には、次の音符データを読み出すトリガ
ー)として使用される。この鍵盤装置17としては、例
えば、異なる押圧深さでそれぞれオンになる第1及び第
2のキースイッチを各鍵に備えた2接点方式の鍵盤装置
を用いることができる。A keyboard device 17 is connected to the keyboard interface circuit 16. The keyboard device 17 has a plurality of keys. The keyboard device 17 is normally used for instructing the sounding of the sound corresponding to the key by depressing the key, and for instructing the silencing of the sound corresponding to the key by releasing the key. On the other hand, in the CM mode, it is used as a trigger to advance the automatic performance (more specifically, a trigger to read out the next note data). As the keyboard device 17, for example, a two-contact keyboard device including first and second key switches, each of which is turned on at a different pressing depth, can be used.
【0032】本発明の押鍵検出手段は、上記鍵盤インタ
フェース回路16及びCPU10によって実現されてい
る。上記鍵盤インタフェース回路16は、CPU10か
らの指令に応じて鍵盤装置17上の各キースイッチをス
キャンする。パネルインタフェース回路14は、このス
キャンにより得られた各キースイッチの開閉状態を示す
信号に基づいて、鍵盤データを作製する。鍵盤データ
は、各鍵を1ビットに対応させたビット列で成り、各ビ
ットは、例えば「1」で押鍵中、「0」で離鍵中である
ことを表す。この際、例えば第1及び第2のキースイッ
チの双方がオンになっている場合に押鍵中であることを
表す「1」のデータを作製し、それ以外の場合は離鍵中
であることを表す「0」のデータを作製するように構成
できる。The key press detecting means of the present invention is realized by the keyboard interface circuit 16 and the CPU 10. The keyboard interface circuit 16 scans each key switch on the keyboard device 17 in response to a command from the CPU 10. The panel interface circuit 14 creates keyboard data based on signals indicating the open / closed state of each key switch obtained by this scan. The keyboard data is composed of a bit string in which each key corresponds to one bit, and each bit is, for example, “1” indicating that the key is being pressed, and “0” indicating that the key is being released. At this time, for example, when both the first and second key switches are turned on, data of "1" indicating that the key is being depressed is created, otherwise the key is being released. Can be configured to produce data of “0” representing
【0033】また、押鍵によって第1のキースイッチが
オンになってから第2のキースイッチがオンになるまで
の時間が計測され、この計測された時間に基づいてベロ
シティデータが作製される。これら鍵盤データ及びベロ
シティデータは、システムバス30を介してCPU10
に送られる。CPU10は、鍵盤データに基づいて鍵盤
イベントがあったかどうかを判断する(詳細は後述す
る)。なお、鍵盤インタフェース回路16及び鍵盤装置
17は、電子弦楽器、電子管楽器、電子打楽器、コンピ
ュータのキーボードで代用することができる。この場
合、これらの電子弦楽器等からは、上記鍵盤データ及び
ベロシティデータに相当するデータがCPU10に送ら
れる。そして、CPU10は、これらのデータに基づい
てイベントの有無を判断する。The time from when the first key switch is turned on by pressing the key until the second key switch is turned on is measured, and velocity data is created based on the measured time. These keyboard data and velocity data are transmitted to the CPU 10 via the system bus 30.
Sent to The CPU 10 determines whether a keyboard event has occurred based on the keyboard data (details will be described later). Note that the keyboard interface circuit 16 and the keyboard device 17 can be replaced by an electronic stringed instrument, an electronic wind instrument, an electronic percussion instrument, or a computer keyboard. In this case, data corresponding to the keyboard data and velocity data is sent to the CPU 10 from these electronic stringed instruments. Then, the CPU 10 determines whether there is an event based on these data.
【0034】自動演奏データメモリ18は、例えばRO
Mで構成することができる。この自動演奏データメモリ
18には、複数の曲に対応する自動演奏データが記憶さ
れている。これらの自動演奏データは、通常の自動伴
奏、コンサートマジック機能を使用した自動演奏、デモ
ンストレーション演奏等に使用される。各自動演奏デー
タは、「ソング番号」と呼ばれる識別子が付されてお
り、ユーザは操作パネル15上の選曲スイッチを用いて
ソング番号を指定することにより任意の曲を選択でき
る。これら各曲に対応する自動演奏データは、従来の技
術の欄で説明したと同様に、音符データの集合で構成さ
れている。なお、この自動演奏データメモリ18は、R
AM、ROMカード、RAMカード、フロッピーディス
ク、CD−ROM等で構成することができる。自動演奏
データメモリ18としてフロッピーディスク、CD−R
OMを用いた場合は、これらに記憶された自動演奏デー
タを一旦RAMにロードし、RAM内の自動演奏データ
にアクセスするように構成するのが好ましい。The automatic performance data memory 18 stores, for example, RO
M. The automatic performance data memory 18 stores automatic performance data corresponding to a plurality of music pieces. These automatic performance data are used for normal automatic accompaniment, automatic performance using a concert magic function, demonstration performance, and the like. Each automatic performance data is provided with an identifier called "song number", and the user can select an arbitrary music by specifying a song number using a music selection switch on the operation panel 15. The automatic performance data corresponding to each music is composed of a set of note data, as described in the section of the related art. The automatic performance data memory 18 stores R
It can be composed of an AM, ROM card, RAM card, floppy disk, CD-ROM, or the like. Floppy disk, CD-R as automatic performance data memory 18
When the OM is used, it is preferable that the automatic performance data stored therein is temporarily loaded into the RAM, and the automatic performance data in the RAM is accessed.
【0035】波形メモリ19は、各音色パラメータに対
応する波形データを記憶している。波形データは、例え
ば自然楽器音に対応する楽音信号をパルスコード変調
(PCM)することによって作製することができる。こ
の波形メモリ19は、例えばROMで構成することがで
きる。この波形メモリ19に記憶された波形データは、
音源20によって読み出される。The waveform memory 19 stores waveform data corresponding to each tone color parameter. The waveform data can be created, for example, by performing pulse code modulation (PCM) on a tone signal corresponding to a natural instrument sound. This waveform memory 19 can be constituted by, for example, a ROM. The waveform data stored in the waveform memory 19 is
Read by the sound source 20.
【0036】音源20は複数のオシレータを備えてい
る。この音源20は、詳細は図示しないが、波形メモリ
19から波形データを読み出す波形読出回路、この波形
読出回路で読み出された波形データにエンベロープを付
加するためのエンベロープ生成回路等により構成されて
いる。CPU10は、鍵盤装置17の押鍵、外部インタ
フェース回路11からのノートオンデータの受信、又は
音符データの読み出しがあると、少なくとも1個のオシ
レータを発音用に割り当て、この割り当てられたオシレ
ータに音色パラメータを供給する。この音源20の中の
発音が割り当てられたオシレータは、音色パラメータを
受け取ることによりデジタル楽音信号の生成を開始す
る。即ち、波形メモリ19から波形データを順次読み出
し、これにエンベロープを付加してデジタル楽音信号を
生成する。The sound source 20 has a plurality of oscillators. Although not shown in detail, the sound source 20 includes a waveform reading circuit for reading waveform data from the waveform memory 19, an envelope generating circuit for adding an envelope to the waveform data read by the waveform reading circuit, and the like. . The CPU 10 assigns at least one oscillator for sounding when a key is pressed on the keyboard device 17, receives note-on data from the external interface circuit 11, or reads out note data, and assigns a tone parameter to the assigned oscillator. Supply. The oscillator in the sound source 20 to which the sound is assigned starts receiving the timbre parameter and starts generating a digital tone signal. That is, the waveform data is sequentially read from the waveform memory 19, and an envelope is added to the waveform data to generate a digital tone signal.
【0037】この音源20で生成されたデジタル楽音信
号はD/A変換器21でアナログ信号に変換され、次い
で、増幅器22で増幅されてスピーカ23に送られる。
そして、スピーカ23で音響信号に変換されて放音され
る。The digital tone signal generated by the sound source 20 is converted into an analog signal by a D / A converter 21, then amplified by an amplifier 22 and sent to a speaker 23.
The sound is converted into an acoustic signal by the speaker 23 and emitted.
【0038】次に、上記構成において、図2〜図8に示
したフローチャートを参照しながら本自動演奏装置の動
作について説明する。なお、上記フローチャートに示さ
れた動作は、何れもCPU10の処理により実現される
ものである。Next, the operation of the present automatic performance apparatus in the above configuration will be described with reference to the flowcharts shown in FIGS. The operations shown in the flowcharts are all realized by the processing of the CPU 10.
【0039】(1)メイン処理 図2は本自動演奏装置のメインルーチンを示すフローチ
ャートである。このメインルーチンは電源の投入により
起動される。電源が投入されると、先ず、初期化処理が
行われる(ステップS10)。この初期化処理では、C
PU10の内部のハードウエアが初期状態に設定される
と共に、ワークメモリ13に定義されているレジスタ、
カウンタ、フラグ等に初期値が設定される。また、この
初期化処理では、音源20に所定のデータが送られるこ
とにより、電源投入時に不要な音が発生されるのを防止
するための処理が行われる。(1) Main Processing FIG. 2 is a flowchart showing a main routine of the automatic performance apparatus. This main routine is started when the power is turned on. When the power is turned on, first, an initialization process is performed (step S10). In this initialization process, C
The internal hardware of the PU 10 is set to an initial state, and registers defined in the work memory 13;
Initial values are set in the counters, flags, and the like. Further, in the initialization processing, by transmitting predetermined data to the sound source 20, processing for preventing generation of unnecessary sounds when the power is turned on is performed.
【0040】この初期化処理が終了すると、次いで、ス
イッチイベント処理が行われる(ステップS11)。こ
のスイッチイベント処理では、先ず、スイッチイベント
の有無が調べられる。即ち、CPU10は、後述するタ
イマ割込処理において更新されるスキャンバッファから
1つのパネルデータ(以下、「新パネルデータ」とい
う。)を取り出し、ワークメモリ13に設けられた新パ
ネルデータレジスタに格納する。次いで、この新パネル
データと、前回のスイッチイベント処理で取り込まれて
既にワークメモリ13に設けられた旧パネルデータレジ
スタに記憶されているパネルデータ(以下、「旧パネル
データ」という。)との排他的論理和をとってパネルイ
ベントマップを作製する。このパネルイベントマップが
ゼロであればスイッチイベントは発生しなかったものと
判断され、ゼロでなければスイッチイベントが発生した
ものと判断される。When the initialization process is completed, a switch event process is performed (step S11). In this switch event process, first, the presence or absence of a switch event is checked. That is, the CPU 10 extracts one panel data (hereinafter, referred to as “new panel data”) from a scan buffer updated in a timer interrupt process described later, and stores it in a new panel data register provided in the work memory 13. . Next, exclusion of the new panel data and the panel data (hereinafter referred to as “old panel data”) that has been captured in the previous switch event processing and stored in the old panel data register already provided in the work memory 13. Create a panel event map by logical OR. If this panel event map is zero, it is determined that no switch event has occurred, and if it is not zero, it is determined that a switch event has occurred.
【0041】例えば、パネルイベントマップ中の自動演
奏開始スイッチに対応するビットが「1」であれば、自
動演奏開始スイッチのイベントが発生したものと判断さ
れ、自動演奏フラグが反転される。この反転によって自
動演奏フラグが「1」にされた時は、その時点で選択さ
れているソング番号で指定される曲の自動演奏データの
先頭アドレスがアドレスレジスタにセットされる。これ
により、自動演奏データの読出アドレスが決定される。
なお、「その時点で選択されているソング番号」は、予
め行われた操作パネル15上の選曲スイッチの操作によ
って、ワークメモリ13に定義されたソング番号レジス
タにセットされている。For example, if the bit corresponding to the automatic performance start switch in the panel event map is "1", it is determined that an event of the automatic performance start switch has occurred, and the automatic performance flag is inverted. When the automatic performance flag is set to "1" by this inversion, the head address of the automatic performance data of the music designated by the currently selected song number is set in the address register. Thereby, the read address of the automatic performance data is determined.
The “song number selected at that time” is set in a song number register defined in the work memory 13 by operating the music selection switch on the operation panel 15 in advance.
【0042】同様に、パネルイベントマップ中のCMス
イッチに対応するビットが「1」であれば、CMスイッ
チのイベントが発生したものと判断され、CMフラグが
反転される。その他、例えば音色選択スイッチのイベン
トであることが判断されると、現在設定されている音色
が、そのイベントが発生した音色選択スイッチに対応す
る音色に変更される。このように、スイッチイベント処
理においては、操作パネル15上の各スイッチに割り当
てられている機能を実現するための処理が実行される。
そして、最後に、新パネルデータが旧パネルデータレジ
スタに移動され、スイッチイベント処理は終了する。Similarly, if the bit corresponding to the CM switch in the panel event map is "1", it is determined that a CM switch event has occurred, and the CM flag is inverted. In addition, if it is determined that the event is a tone color selection switch event, the currently set tone color is changed to the tone color corresponding to the tone color selection switch in which the event has occurred. Thus, in the switch event process, a process for realizing the function assigned to each switch on the operation panel 15 is executed.
Finally, the new panel data is moved to the old panel data register, and the switch event processing ends.
【0043】メインルーチンでは、次いで、鍵盤イベン
ト処理が行われる(ステップS12)。この鍵盤イベン
ト処理では、先ず、鍵盤イベントの有無が調べられる。
即ち、CPU10は、鍵盤インタフェース回路16から
鍵盤データ(以下、「新鍵盤データ」という。)を取り
込み、ワークメモリ13に設けられた新鍵盤データレジ
スタに格納する。次いで、この新鍵盤データと、前回の
鍵盤イベント処理で取り込まれて既にワークメモリ13
に設けられた旧鍵盤データレジスタに記憶されている鍵
盤データ(以下、「旧鍵盤データ」という。)との排他
的論理和をとって鍵盤イベントマップを作製する。そし
て、このイベントマップ中に「1」であるビットが存在
すれば、そのビットに対応する鍵のイベントが発生した
と判断され、存在しなければ鍵盤イベントは発生しなか
ったものと判断される。次いで、その鍵盤イベントは押
鍵イベントであるか離鍵イベントであるかが調べられ
る。これは、鍵盤イベントマップ中で「1」になってい
るビットに対応する新鍵盤データ中のビットを調べるこ
とにより行われる。即ち、新鍵盤データ中の対応するビ
ットが「1」であれば押鍵イベントがあったものと判断
されて押鍵イベント処理が行われる。一方、「0」であ
れば離鍵イベントがあったものと判断されて離鍵イベン
ト処理が行われる。これら押鍵イベント処理及び離鍵イ
ベント処理の詳細は後述する。Next, in the main routine, a keyboard event process is performed (step S12). In this keyboard event processing, first, the presence or absence of a keyboard event is checked.
That is, the CPU 10 fetches keyboard data (hereinafter referred to as “new keyboard data”) from the keyboard interface circuit 16 and stores it in a new keyboard data register provided in the work memory 13. Next, the new keyboard data and the keyboard data that were fetched in the previous
The keyboard event map is created by taking an exclusive OR with the keyboard data stored in the old keyboard data register provided in (1) (hereinafter referred to as “old keyboard data”). If a bit of "1" exists in this event map, it is determined that a key event corresponding to the bit has occurred, and if not, it is determined that no keyboard event has occurred. Next, it is determined whether the keyboard event is a key press event or a key release event. This is performed by examining the bits in the new keyboard data corresponding to the bits that are "1" in the keyboard event map. That is, if the corresponding bit in the new keyboard data is "1", it is determined that a key press event has occurred, and key press event processing is performed. On the other hand, if it is “0”, it is determined that a key release event has occurred, and key release event processing is performed. Details of the key press event processing and the key release event processing will be described later.
【0044】次いで、MIDI処理が行われる(ステッ
プS13)。このMIDI処理においては、外部インタ
フェース回路11で受信されたMIDIデータに基づき
発音・消音等が行われる。このMIDI処理自体は、本
発明とは直接関係しないので説明は省略する。Next, a MIDI process is performed (step S13). In the MIDI processing, sound generation and mute are performed based on MIDI data received by the external interface circuit 11. Since the MIDI processing itself is not directly related to the present invention, the description is omitted.
【0045】次いで、自動演奏処理が行われる(ステッ
プS14)。この自動演奏処理では、コンサートマジッ
ク演奏処理、自動伴奏処理、デモンストレーション処理
等が行われる。これらの詳細については後述する。Next, an automatic performance process is performed (step S14). In this automatic performance process, a concert magic performance process, an automatic accompaniment process, a demonstration process, and the like are performed. Details of these will be described later.
【0046】次いで、「その他の処理」が実行される
(ステップS15)。この「その他の処理」では、上述
した以外の処理、例えばスイッチを押し続けた場合の特
殊な動作を実現するための処理等といった、メインルー
チンで定期的なチェックが必要な処理が行われる。その
後ステップS11に戻り、以下ステップS11〜S15
の処理が繰り返される。この繰り返し実行の過程で、ス
イッチイベント若しくは鍵盤イベントが発生し、又は外
部インタフェース回路11でデータを受信すると、それ
らに応じた処理が行われ、また自動演奏データに基づく
発音処理が行われる。これにより自動演奏装置としての
各種機能が実現されている。Next, "other processing" is executed (step S15). In this “other processing”, processing that requires regular checks in the main routine, such as processing other than the above, for example, processing for realizing a special operation when the switch is kept pressed, is performed. Thereafter, the process returns to step S11, and thereafter, steps S11 to S15
Is repeated. In the course of this repetitive execution, when a switch event or a keyboard event occurs, or when data is received by the external interface circuit 11, processing corresponding thereto is performed, and sound generation processing based on the automatic performance data is performed. Thereby, various functions as an automatic performance device are realized.
【0047】(2)タイマ割込処理 タイマ割込処理は、タイマ10aから発生された割込信
号に応じて、上記メインルーチンの各処理に割り込んで
行われる。このタイマ割込処理の詳細は、図3のフロー
チャートに示されている。(2) Timer Interrupt Processing Timer interrupt processing is performed by interrupting each processing of the main routine in accordance with an interrupt signal generated from the timer 10a. The details of the timer interrupt processing are shown in the flowchart of FIG.
【0048】このタイマ割込処理では、先ず、パネルス
キャンが行われる(ステップS20)。即ち、CPU1
0は、パネルインタフェース回路14からパネルデータ
を取り込み、例えばワークメモリ13上に形成されたス
キャンバッファに順次蓄積する。このスキャンバッファ
は、例えばCPU10の制御の下でFIFOメモリとし
て動作するように構成できる。なお、このワークメモリ
13上にFIFOメモリを形成する代わりにFIFO素
子を用いてスキャンバッファを構成してもよい。次い
で、クロックカウンタの内容がインクリメントされる
(ステップS21)。従って、このクロックカウンタ
は、例えば2ミリ秒毎にインクリメントされる。次い
で、クロックカウンタの内容が所定値になったかどうか
が調べられる(ステップS22)。ここに所定値とは、
その時点で設定されているテンポにおける1ステップタ
イムに相当する値をいう。そして、所定値であることが
判断されると、読出タイミングカウンタの内容がインク
リメントされる(ステップS23)。この読出タイミン
グカウンタの内容は、後述する自動演奏処理において参
照され、上述したチェックタイミングが到来したかどう
かを判断するために使用される。このチェックタイミン
グは、ゲートタイムをデクリメントするタイミングとし
ても使用される。上記ステップS22で所定値でないこ
とが判断されるとステップS23の処理はスキップされ
る。In this timer interrupt processing, first, a panel scan is performed (step S20). That is, CPU1
Numeral 0 takes in panel data from the panel interface circuit 14 and sequentially accumulates the data in a scan buffer formed on the work memory 13, for example. This scan buffer can be configured to operate as a FIFO memory under the control of the CPU 10, for example. Instead of forming a FIFO memory on the work memory 13, a scan buffer may be configured using a FIFO element. Next, the content of the clock counter is incremented (step S21). Therefore, this clock counter is incremented, for example, every 2 milliseconds. Next, it is checked whether or not the content of the clock counter has reached a predetermined value (step S22). Here, the predetermined value is
A value corresponding to one step time at the tempo set at that time. When it is determined that the value is the predetermined value, the content of the read timing counter is incremented (step S23). The contents of the read timing counter are referred to in an automatic performance process described later, and are used to determine whether or not the above-described check timing has arrived. This check timing is also used as a timing for decrementing the gate time. If it is determined in step S22 that the value is not the predetermined value, the process in step S23 is skipped.
【0049】次いで、コンサートマジック同時押しタイ
マ処理が行われる(ステップS24)。この処理では、
同時押しタイマカウンタの内容がデクリメントされる。
次いで、コンサートマジック巻戻しタイマ処理が行われ
る(ステップS25)。この処理では、巻戻しタイマカ
ウンタの内容がデクリメントされる。その後、このタイ
マ割込処理ルーチンからリターンして、メインルーチン
の割り込まれた位置に戻る。なお、本実施の形態では、
パネルスキャンはタイマ割込処理内で行うように構成し
ているが、メインルーチン(図2)のスイッチイベント
処理(ステップS11)内で行うように構成してもよ
い。Next, a concert magic simultaneous push timer process is performed (step S24). In this process,
The contents of the simultaneous pressing timer counter are decremented.
Next, a concert magic rewind timer process is performed (step S25). In this process, the contents of the rewind timer counter are decremented. Thereafter, the process returns from the timer interrupt processing routine and returns to the interrupted position of the main routine. In the present embodiment,
Although the panel scan is configured to be performed in the timer interrupt process, it may be configured to be performed in the switch event process (step S11) of the main routine (FIG. 2).
【0050】(3)押鍵イベント処理 押鍵イベント処理の詳細は、図4のフローチャートに示
されている。押鍵イベント処理では、先ず、キーオンカ
ウンタがインクリメントされる(ステップS30)。こ
のキーオンカウンタは、上述したように現在押鍵中であ
る鍵の数を計数するために使用される。このキーオンカ
ウンタは押鍵イベントがあった場合にインクリメントさ
れ、離鍵イベントがあった場合にデクリメントされる。
従って、このキーオンカウンタの内容がゼロの場合は、
全鍵が離されていることを意味する。(3) Key Press Event Processing The details of the key press event processing are shown in the flowchart of FIG. In the key press event process, first, the key-on counter is incremented (step S30). This key-on counter is used to count the number of keys currently being pressed as described above. This key-on counter is incremented when a key-press event occurs, and decremented when a key-release event occurs.
Therefore, if the content of this key-on counter is zero,
It means that all keys are released.
【0051】次いで、コンサートマジックモード(CM
モード)であるかどうかが調べられる(ステップS3
1)。これは、CMフラグを調べることにより行われ
る。ここで、CMモードでないことが判断されると、押
鍵に応じた通常の発音処理が行われる(ステップS3
9)。この通常の発音処理では、鍵盤イベントマップ中
の「1」になっているビットに対応する鍵のキーナンバ
が算出されると共に、鍵盤インタフェース回路16から
当該鍵に対応するベロシティデータが読み込まれる。そ
して、このキーナンバに対応する音色パラメータがプロ
グラムメモリ12から読み出され、ベロシティデータと
一緒に音源20に送られる。これにより、押鍵に応じた
音が押鍵に応じた強さでスピーカ23から発生される。Next, the concert magic mode (CM
Mode is checked (step S3).
1). This is done by examining the CM flag. Here, if it is determined that the mode is not the CM mode, a normal tone generation process corresponding to the key depression is performed (step S3).
9). In the normal tone generation process, the key number of the key corresponding to the bit of “1” in the keyboard event map is calculated, and the velocity data corresponding to the key is read from the keyboard interface circuit 16. Then, the timbre parameter corresponding to the key number is read from the program memory 12 and sent to the sound source 20 together with the velocity data. As a result, a sound corresponding to the key depression is generated from the speaker 23 with a strength corresponding to the key depression.
【0052】上記ステップS31でCMモードであるこ
とが判断されると、次いで自動演奏中であるかどうかが
調べられる(ステップS32)。これは自動演奏フラグ
を調べることにより行われる。ここで、自動演奏中であ
ることが判断されると、ステップS39へ分岐し、通常
の発音処理が行われる。これにより、CMモードであっ
て自動演奏中であれば、鍵盤操作に応じた音が発生され
ることになる。従って、離鍵イベント処理における通常
の消音処理(ステップS45)と相俟って、演奏者は、
例えば自動演奏をバックに鍵盤装置17によるメロディ
演奏ができるようになっている。If it is determined in step S31 that the current mode is the CM mode, then it is checked whether or not an automatic performance is being performed (step S32). This is done by checking the automatic performance flag. Here, when it is determined that the automatic performance is being performed, the process branches to step S39, and normal sound generation processing is performed. As a result, a sound corresponding to the keyboard operation is generated during the automatic performance in the CM mode. Therefore, in conjunction with the normal silencing process (step S45) in the key release event process, the player
For example, a melody performance by the keyboard device 17 can be performed with an automatic performance in the background.
【0053】一方、ステップS32で自動演奏中でない
ことが判断されると、以下、コンサートマジック機能を
実現するための処理が行われる。即ち、先ず、ベロシテ
ィとキーナンバのセーブが行われる(ステップS3
3)。具体的には、鍵盤イベントマップ中の「1」にな
っているビットに対応する鍵のキーナンバが算出される
と共に、鍵盤インタフェース回路16から当該鍵に対応
するベロシティデータが読み込まれ、ワークメモリ13
の所定のバッファ領域にセーブされる。ここでセーブさ
れたキーナンバは、本自動演奏装置がスプリットモード
で動作する場合に、後述するコンサートマジックメイン
処理において、押鍵に応じた発音を行うか押鍵に応じて
自動演奏を進めるかを判断するために使用される。ま
た、ベロシティは、後述するコンサートマジックメイン
処理において、発音を行う際の音量を制御するために使
用される。On the other hand, if it is determined in step S32 that the automatic performance is not being performed, a process for implementing the concert magic function is performed. That is, first, the velocity and the key number are saved (step S3).
3). Specifically, the key number of the key corresponding to the bit of “1” in the keyboard event map is calculated, and the velocity data corresponding to the key is read from the keyboard interface circuit 16, and the work memory 13
In a predetermined buffer area. The key number saved here determines whether to perform sounding according to key depression or to proceed with automatic performance according to key depression in the concert magic main processing described later when the automatic performance apparatus operates in the split mode. Used to The velocity is used to control the sound volume at the time of sound generation in a concert magic main process described later.
【0054】次いで、2鍵以上の同時押しであるかどう
かが調べられる(ステップS34)。これは、前回の押
鍵から今回の押鍵までに所定時間、例えば30ミリ秒程
度が経過しているかどうかを調べることによって判断さ
れる。より具体的には、前回の押鍵イベント処理でセッ
トされた同時押しタイマカウンタの内容がゼロになって
いるかどうかを調べることにより行われる。そして、同
時押しであることが判断されると、押鍵に対する処理は
行わずにこの押鍵イベント処理ルーチンからリターンし
てメインルーチンに戻る。このように、1つの押鍵があ
ってから次の押鍵までに所定時間が経過していない場合
は、後の押鍵は無視することにより、例えば誤って2鍵
以上を同時に押したような場合に、自動演奏が誤って進
んでしまうことを防止することができるようになってい
る。Next, it is checked whether or not two or more keys are simultaneously pressed (step S34). This is determined by checking whether or not a predetermined time, for example, about 30 milliseconds, has elapsed from the previous key depression to the current key depression. More specifically, this is performed by checking whether or not the content of the simultaneous pressing timer counter set in the previous key pressing event process is zero. When it is determined that the keys are simultaneously pressed, the process returns from the key pressing event processing routine to the main routine without performing the processing for the key pressing. As described above, when a predetermined time has not elapsed from the time when one key is pressed to the time when the next key is pressed, the next key is ignored and, for example, two or more keys are simultaneously pressed by mistake. In such a case, it is possible to prevent the automatic performance from erroneously proceeding.
【0055】一方、同時押しでないことが判断される
と、先ず、データ読出リクエストフラグがセットされる
(ステップS35)。このデータ読出リクエストフラグ
は、後に行われる自動演奏処理で参照される。次いで、
同時押しタイマカウンタに所定値がセットされる(ステ
ップS36)。この所定値としては、上述したように、
例えば30ミリ秒程度の時間経過を計測するために必要
なデータが用いられる。次いで、巻戻しタイマカウンタ
に所定値がセットされる(ステップS37)。この所定
値としては、例えば1分程度の時間経過を計測するため
に必要なデータが用いられる。この巻戻しタイマは、後
述するように、自動演奏が所定時間が経過しても進行し
ない場合に、アドレスレジスタの内容を当該曲の自動演
奏データの先頭に戻すために使用される。その後、この
押鍵イベント処理ルーチンからリターンしてメインルー
チンに戻る。On the other hand, if it is determined that the keys are not simultaneously pressed, first, a data read request flag is set (step S35). This data read request flag is referred to in an automatic performance process performed later. Then
A predetermined value is set in the simultaneous pressing timer counter (step S36). As the predetermined value, as described above,
For example, data necessary for measuring a time lapse of about 30 milliseconds is used. Next, a predetermined value is set in the rewind timer counter (step S37). As the predetermined value, for example, data necessary for measuring a lapse of time of about one minute is used. This rewind timer is used to return the contents of the address register to the beginning of the automatic performance data of the music when the automatic performance does not progress even after a predetermined time has elapsed, as described later. Thereafter, the process returns from the key press event processing routine and returns to the main routine.
【0056】(4)離鍵イベント処理 離鍵イベント処理の詳細は、図5のフローチャートに示
されている。離鍵イベント処理では、先ず、キーオンカ
ウンタがデクリメントされる(ステップS40)。次い
で、コンサートマジックモード(CMモード)であるか
どうかが調べられる(ステップS41)。ここで、CM
モードでないことが判断されると、通常の消音処理が行
われる(ステップS45)。この消音処理では、鍵盤イ
ベントマップ中の「1」になっているビットに対応する
鍵のキーナンバが算出される。そして、このキーナンバ
に対応する発音中のオシレータに対し、高速で減衰する
エンベロープデータが送られる。これにより、離鍵に応
じて発音中の音が消音される。(4) Key Release Event Processing Details of the key release event processing are shown in the flowchart of FIG. In the key release event process, first, the key-on counter is decremented (step S40). Next, it is checked whether the mode is the concert magic mode (CM mode) (step S41). Here, CM
If it is determined that the mode is not the mode, a normal silencing process is performed (step S45). In this mute processing, the key number of the key corresponding to the bit set to “1” in the keyboard event map is calculated. Then, envelope data that attenuates at a high speed is sent to the sounding oscillator corresponding to the key number. As a result, the sound being generated is muted in response to the key release.
【0057】上記ステップS41でCMモードであるこ
とが判断されると、次いで自動演奏中であるかどうかが
調べられる(ステップS43)。これは自動演奏フラグ
を調べることにより行われる。ここで、自動演奏中であ
ることが判断されると、ステップS45へ分岐し、通常
の消音処理が行われる。これにより、CMモードであっ
て自動演奏中であれば、離鍵操作に応じた消音がなされ
る。従って、押鍵イベント処理における通常の発音処理
(ステップS39)と相俟って、例えば自動演奏をバッ
クに鍵盤装置17によるメロディ演奏ができるようにな
っている。If it is determined in step S41 that the current mode is the CM mode, then it is checked whether or not an automatic performance is being performed (step S43). This is done by checking the automatic performance flag. Here, when it is determined that the automatic performance is being performed, the process branches to step S45, and normal mute processing is performed. As a result, the sound is muted according to the key release operation in the CM mode and during the automatic performance. Therefore, in combination with the normal tone generation process (step S39) in the key press event process, for example, the melody performance by the keyboard device 17 can be performed with the automatic performance in the background.
【0058】一方、ステップS42で自動演奏中でない
ことが判断されると、この離鍵イベント処理ルーチンか
らリターンしてメインルーチンに戻る。コンサートマジ
ックモードにおいては、全鍵が離された場合に、発音中
の音は当該音に対応する音符データ中のゲートタイムデ
ータに従って消音される。この消音を行うための処理
は、後述するコンサートマジック演奏処理において行わ
れる。一方、離鍵イベントがあっても全鍵が離されてい
ない場合は、当該離鍵イベントに関しては何等の処理も
行われない。On the other hand, if it is determined in step S42 that automatic performance is not being performed, the routine returns from the key release event processing routine and returns to the main routine. In the concert magic mode, when all keys are released, the sound being sounded is muted according to the gate time data in the note data corresponding to the sound. This silencing process is performed in a concert magic performance process described later. On the other hand, if all keys are not released even if there is a key release event, no processing is performed on the key release event.
【0059】(5)自動演奏処理 次に、図6のフローチャートを参照しながら、メインル
ーチンのステップS14で行われる自動演奏処理の詳細
について説明する。この自動演奏処理では、上述したよ
うに、コンサートマジック演奏処理、自動伴奏処理、デ
モンストレーション処理等が行われるが、ここではコン
サートマジック演奏処理の詳細について説明し、自動伴
奏処理及びデモンストレーション処理については説明を
省略する。(5) Automatic Performance Processing Next, details of the automatic performance processing performed in step S14 of the main routine will be described with reference to the flowchart of FIG. In this automatic performance processing, as described above, concert magic performance processing, automatic accompaniment processing, demonstration processing, and the like are performed. Here, the details of the concert magic performance processing will be described, and the automatic accompaniment processing and demonstration processing will be described. Omitted.
【0060】自動演奏処理では、先ず、自動演奏中であ
るかどうかが調べられる(ステップS51)。これは、
自動演奏フラグを参照することにより行われる。そし
て、自動演奏中であることが判断されると、通常の自動
演奏処理が行われる(ステップS52)。この自動演奏
処理では、チェックタイミングにおいて音符データ中の
ステップタイムデータとステップタイムカウンタの内容
とが比較され、これらが一致した時に発音タイミングが
到来したと判断されて自動演奏データメモリ18から音
符データが読み出される。そして、この音符データに基
づいて発音が行われる。これにより、自動演奏データ本
来の発音タイミング(ステップタイム)に従った自動演
奏が所定のテンポに従って行われることになる。この通
常の自動演奏処理の内容は周知であるので詳細な説明は
省略する。In the automatic performance process, first, it is checked whether or not an automatic performance is being performed (step S51). this is,
This is performed by referring to the automatic performance flag. If it is determined that the automatic performance is being performed, a normal automatic performance process is performed (step S52). In this automatic performance processing, the step time data in the note data is compared with the contents of the step time counter at the check timing, and when they match, it is determined that the tone generation timing has arrived, and the note data is stored from the automatic performance data memory 18. Is read. Then, sound is generated based on the note data. Thus, the automatic performance according to the original sounding timing (step time) of the automatic performance data is performed according to the predetermined tempo. Since the contents of the normal automatic performance process are well known, a detailed description thereof will be omitted.
【0061】上記ステップS51で自動演奏中でないこ
とが判断されると、以下、コンサートマジック演奏処理
が行われる。即ち、先ずキーオンカウンタの内容がゼロ
であるかどうかが調べられる(ステップS53)。ここ
でキーオンカウンタの内容がゼロであることが判断され
ると、全ての鍵が離されているものと判断され、発音中
の音をゲートタイムに従って消音させる処理が行われ
る。即ち、先ず、読出タイミングカウンタの内容がゼロ
であるかどうかが調べられる(ステップS54)。ここ
で、読出タイミングカウンタの内容がゼロであることが
判断されると、何等の処理も行わずにこのコンサートマ
ジック演奏処理ルーチンからリターンしてメインルーチ
ンに戻る。ここで、読出タイミングカウンタの内容がゼ
ロであるということは、未だ発音タイミングに至ってい
ないことを意味する。換言すれば、前回の発音タイミン
グから1ステップタイム分の時間が経過しておらず、ゲ
ートタイムをデクリメントするタイミングに至っていな
いことを意味する。If it is determined in step S51 that the automatic performance is not being performed, a concert magic performance process is performed. That is, first, it is checked whether or not the content of the key-on counter is zero (step S53). Here, if it is determined that the contents of the key-on counter are zero, it is determined that all keys have been released, and a process of silencing the sound being generated according to the gate time is performed. That is, first, it is checked whether or not the content of the read timing counter is zero (step S54). If it is determined that the content of the read timing counter is zero, the process returns from the concert magic performance processing routine to the main routine without performing any processing. Here, the fact that the content of the read timing counter is zero means that the tone generation timing has not yet been reached. In other words, it means that the time corresponding to one step time has not elapsed since the previous tone generation timing, and the timing to decrement the gate time has not been reached.
【0062】このコンサートマジック演奏処理ルーチン
はメインルーチンから所定周期でコールされ、ステップ
S54が所定周期で実行される。これと並行して、タイ
マ割込処理ルーチンではクロックカウンタの内容がイン
クリメントされ、前回の発音タイミングから1ステップ
タイムの時間が経過すると読出タイミングカウンタの内
容がインクリメントされる。従って、前回の発音タイミ
ングから1ステップタイムの時間が経過するとステップ
S54で読出タイミングカウンタの内容がゼロでないこ
とが判断されることになる。このステップS54で読出
タイミングカウンタの内容がゼロでないことが判断され
ると、自動演奏ゲートオフ処理が行われる(ステップS
55)。この自動演奏ゲートオフ処理は、発音中の音の
ゲートタイムをデクリメントする処理である。この自動
演奏ゲートオフ処理の詳細は、図8のフローチャートに
示されている。This concert magic performance processing routine is called from the main routine at a predetermined cycle, and step S54 is executed at a predetermined cycle. In parallel with this, the content of the clock counter is incremented in the timer interrupt processing routine, and the content of the read timing counter is incremented when one step time elapses from the previous tone generation timing. Therefore, when the time of one step time elapses from the previous sounding timing, it is determined in step S54 that the content of the read timing counter is not zero. If it is determined in step S54 that the content of the read timing counter is not zero, an automatic performance gate-off process is performed (step S54).
55). This automatic performance gate-off process is a process for decrementing the gate time of the sound being generated. The details of the automatic performance gate-off process are shown in the flowchart of FIG.
【0063】自動演奏ゲートオフ処理では、自動演奏ア
サイナにより発音が割り当てられたチャンネルが発音中
であるかどうかが調べられ、発音中のチャンネルがあれ
ばそのゲートタイムをデクリメントする処理が行われ
る。即ち、先ず、当該チャンネルが発音中であるかどう
かが調べられる(ステップS90)。そして、発音中で
ないことが判断されると、ステップS95へ分岐し、未
処理のチャンネルがあるかどうかが調べられる。そし
て、未処理のチャンネルがないことが判断されると、こ
の自動演奏ゲートオフ処理ルーチンからリターンする。In the automatic performance gate-off process, it is checked whether or not the channel to which sound is assigned by the automatic performance assigner is sounding, and if there is any sounding channel, the gate time is decremented. That is, first, it is checked whether or not the channel is sounding (step S90). If it is determined that the sound is not being generated, the process branches to step S95 to check whether there is any unprocessed channel. When it is determined that there is no unprocessed channel, the process returns from the automatic performance gate-off processing routine.
【0064】一方、ステップS95で未処理のチャンネ
ルがあることが判断されると、ステップS90へ戻って
同様の処理が行われる。上記ステップS90で、当該チ
ャンネルが発音中であることが判断されると、次いで、
当該チャンネルのゲートタイムが「00H」(末尾の
「H」は16進数であることを示す。以下においても同
じ。)であるかどうかが調べられる(ステップS9
1)。ここで、ゲートタイムが「00H」であることが
判断されると、ステップS94へ分岐し、当該チャンネ
ルに対応する音の消音処理が行われる。この消音処理
は、上述した図5のステップS45における消音処理と
同様の方法で行われる。一方、ゲートタイムが「00
H」でないことが判断されると、当該チャンネルのゲー
トタイムがデクリメントされる(ステップS92)。そ
して、ゲートタイムが「00H」であるかどうかが調べ
られる(ステップS93)。ここで、ゲートタイムが
「00H」であることが判断されるとステップS94へ
進み、消音処理が行われる。一方、ゲートタイムが「0
0H」でないことが判断されると、ステップS95へ分
岐し、上記と同様の処理が行われる。On the other hand, if it is determined in step S95 that there is an unprocessed channel, the process returns to step S90 and the same processing is performed. If it is determined in step S90 that the channel is sounding, then
It is checked whether the gate time of the channel is “00H” (“H” at the end indicates a hexadecimal number, and the same applies to the following) (step S9).
1). If it is determined that the gate time is "00H", the process branches to step S94, and the sound corresponding to the channel is silenced. This silencing process is performed in the same manner as the silencing process in step S45 of FIG. 5 described above. On the other hand, if the gate time is "00
If not, the gate time of the channel is decremented (step S92). Then, it is checked whether the gate time is “00H” (step S93). Here, if it is determined that the gate time is “00H”, the process proceeds to step S94, and the sound mute processing is performed. On the other hand, if the gate time is "0
If it is determined that it is not “0H”, the process branches to step S95, and the same processing as described above is performed.
【0065】このように、自動演奏ゲートオフ処理で
は、自動演奏アサイナで発音が割り当てられて発音中で
あるチャンネルを探し、該当するチャンネルがあればゲ
ートタイムを減じ、その結果がゼロになれば消音処理を
行う。この自動演奏ゲートオフ処理ルーチンは、発音タ
イミングに至った時点でコールされるので、1ステップ
タイム毎にゲートタイムがデクリメントされる機能が実
現されている。As described above, in the automatic performance gate-off processing, the automatic performance assigner searches for a channel to which sound is assigned and is currently generating sound. If there is a corresponding channel, the gate time is reduced. I do. Since this automatic performance gate-off processing routine is called at the time of sound generation timing, a function of decrementing the gate time for each step time is realized.
【0066】コンサートマジック演奏処理の説明に戻
る。自動演奏ゲートオフ処理(ステップS55)が終了
すると、次いで、読出タイミングカウンタの内容がデク
リメントされる(ステップS56)。その後、ステップ
S54に戻って同様の処理を繰り返す。なお、通常は、
読出タイミングカウンタの内容は「+1」にしかならな
いが、何れかの処理に多大な時間がかかり、読出タイミ
ングカウンタの内容が、「+2」以上になった場合は、
ステップS55及びS56が複数回繰り返される。これ
により、ゲートタイムがゼロになるまでの時間は、ゲー
トタイムデータで指定された通りの時間となるように制
御されることになる。Returning to the description of the concert magic performance process. When the automatic performance gate-off process (step S55) ends, the content of the read timing counter is decremented (step S56). Thereafter, the process returns to step S54 to repeat the same processing. Usually,
The content of the read timing counter is only “+1”, but it takes a long time for any of the processes, and when the content of the read timing counter becomes “+2” or more,
Steps S55 and S56 are repeated a plurality of times. As a result, the time until the gate time becomes zero is controlled to be the time specified by the gate time data.
【0067】このように、ステップS53〜S56の処
理により、全鍵が離された場合に、既に発音中の音は、
当該音を発音する元になった音符データ中のゲートタイ
ムに応じた時間だけ発音され、その後消音される機能が
実現されている。従って、全鍵が離されても、既に発音
中の音は、その離されたタイミングで直ちに消音される
ことはないので、従来のように、音が恰かもスタッカー
トで演奏しているように途切れてしまい、滑らかな演奏
ができないという問題は解消される。As described above, when all keys are released by the processing of steps S53 to S56, the sound that is already being generated is
The sound is produced only for a time corresponding to the gate time in the note data from which the sound is generated, and then the sound is muted. Therefore, even if all keys are released, the sound that is already sounding will not be muted immediately at the timing of the release, so the sound will be interrupted as if playing a staccato as before. The problem that smooth playing cannot be performed is solved.
【0068】上記ステップS53で、キーオンカウンタ
の内容がゼロでないことが判断されると、以下、コンサ
ートマジック機能による発音処理が行われる。即ち、先
ず、巻戻しタイマがゼロであるかどうかが調べられる
(ステップS57)。そして、巻戻しタイマがゼロであ
ることが判断されると、自動演奏データの読出アドレス
(アドレスレジスタの内容)がリセットされる(ステッ
プS58)。即ち、その時点で選択されている曲の先頭
アドレスが読出アドレスとしてアドレスレジスタにセッ
トされる。これにより、所定時間(例えば1分間)が経
過しても鍵盤操作がなかった場合に、次の鍵盤を操作し
たら曲の先頭からコンサートマジック演奏が開始される
という機能が実現されている。上記ステップS57で巻
戻しタイマがゼロでなければ、ステップS58はスキッ
プされる。If it is determined in step S53 that the content of the key-on counter is not zero, then a tone generation process is performed by the concert magic function. That is, first, it is checked whether or not the rewind timer is zero (step S57). If it is determined that the rewind timer is zero, the read address (contents of the address register) of the automatic performance data is reset (step S58). That is, the head address of the currently selected song is set in the address register as the read address. As a result, a function is realized in which if there is no keyboard operation even after a lapse of a predetermined time (for example, one minute), the next time the next keyboard is operated, the concert magic performance is started from the beginning of the music. If the rewind timer is not zero in step S57, step S58 is skipped.
【0069】次いで、データ読出リクエストフラグが
「1」であるかどうかが調べられる(ステップS5
9)。即ち、押鍵があったかどうかが調べられる。ここ
で、データ読出リクエストフラグが「0」であることが
判断されると押鍵はなかったものと認識され、以下、何
等の処理も行わずにこのコンサートマジック演奏処理ル
ーチンからリターンしてメインルーチンに戻る。Next, it is checked whether the data read request flag is "1" (step S5).
9). That is, it is checked whether or not a key is pressed. Here, when it is determined that the data read request flag is "0", it is recognized that the key has not been depressed. Thereafter, the routine returns from the concert magic performance processing routine without performing any processing and returns to the main routine. Return to
【0070】一方、上記ステップS59で、データ読出
リクエストフラグが「1」であることが判断されると、
押鍵があったことが認識され、以下、コンサートマジッ
ク演奏のための発音処理等が行われる。即ち、先ず、自
動演奏ゲートオフ処理が行われる(ステップS60)。
この処理は、上述したステップS55で行われる処理と
同じである。これにより、既に発音中の音のゲートタイ
ムがデクリメントされる。On the other hand, if it is determined in step S59 that the data read request flag is "1",
It is recognized that a key has been pressed, and thereafter, sound generation processing and the like for concert magic performance are performed. That is, first, an automatic performance gate-off process is performed (step S60).
This processing is the same as the processing performed in step S55 described above. As a result, the gate time of the sound that is already sounding is decremented.
【0071】次いで、コンサートマジックメイン処理が
行われる(ステップS61)。このコンサートマジック
メイン処理は、自動演奏データメモリ18から1つの音
符データを読み出して発音する処理である。ここで、コ
ンサートマジックメイン処理の詳細について、図7のフ
ローチャートを参照しながら説明する。Next, a concert magic main process is performed (step S61). This concert magic main process is a process of reading out one note data from the automatic performance data memory 18 and generating sound. Here, the details of the concert magic main process will be described with reference to the flowchart of FIG.
【0072】コンサートマジックメイン処理では、先
ず、CMモードであるかどうかが調べられる(ステップ
S70)。これは、CMフラグを調べることにより行わ
れる。ここで、CMモードでないことが判断されると、
このコンサートマジックメイン処理ルーチンからリター
ンしてコンサートマジック演奏処理ルーチンに戻る。つ
まり、CMモードでない場合は、押鍵があっても自動演
奏データに基づく発音処理は行われない。In the concert magic main process, first, it is checked whether or not the mode is the CM mode (step S70). This is done by examining the CM flag. If it is determined that the mode is not the CM mode,
The process returns from the concert magic main processing routine and returns to the concert magic performance processing routine. That is, when the mode is not the CM mode, the tone generation process based on the automatic performance data is not performed even if the key is pressed.
【0073】上記ステップS70で、CMモードである
ことが判断されると、次いで、ステップが一致するかど
うかが調べられる(ステップS71)。即ち、アドレス
レジスタにセットされている読出アドレスで指定される
音符データ中のステップタイムがステップタイムカウン
タの内容と一致するかどうかが調べられる。ここで、一
致しないことが判断されると、ステップタイムカウンタ
の内容をインクリメントし(ステップS72)、その
後、このコンサートマジックメイン処理ルーチンからリ
ターンしてコンサートマジック演奏処理ルーチンに戻
る。そして、コンサートマジック演奏処理ルーチンで
は、データ読出リクエストフラグが「1」であるかどう
かが調べられ(ステップS62)、「1」であればステ
ップS60に戻って以下同様の処理が繰り返される。以
上の繰り返し(ステップS60→S61→S70→S7
1→S72→S62→S60→・・・・)により、ステ
ップタイムカウンタの内容がインクリメントされると共
に、発音中の音のゲートタイムがデクリメントされる。
なお、上記の繰り返し処理は、チェックタイミング又は
発音タイミングとは無関係に、CPU10の処理速度で
行われる。そして、ステップS71で、アドレスレジス
タにセットされている読出アドレスで指定される音符デ
ータ中のステップタイムがステップタイムカウンタの内
容と一致することが判断されると、音符データの読み出
しが行われる(ステップS73)。If it is determined in step S70 that the mode is the CM mode, then it is checked whether or not the steps match (step S71). That is, it is checked whether the step time in the note data specified by the read address set in the address register matches the contents of the step time counter. If it is determined that they do not match, the content of the step time counter is incremented (step S72), and thereafter, the process returns from the concert magic main processing routine and returns to the concert magic performance processing routine. Then, in the concert magic performance processing routine, it is checked whether or not the data read request flag is "1" (step S62). If "1", the process returns to step S60 and the same processing is repeated. Repeat the above (Steps S60 → S61 → S70 → S7)
1 → S72 → S62 → S60 →...), The content of the step time counter is incremented, and the gate time of the sound being generated is decremented.
The above-described repetition processing is performed at the processing speed of the CPU 10 irrespective of the check timing or the tone generation timing. When it is determined in step S71 that the step time in the note data specified by the read address set in the address register matches the content of the step time counter, the note data is read (step S71). S73).
【0074】次いで、読み出された音符データがノート
データであるかどうかが調べられる(ステップS7
4)。これは、例えば、音符データの第1バイト目(キ
ーナンバ)のMSBを調べることにより行われる。ここ
で、ノートデータでないことが判断されるとシステム処
理が行われる(ステップS75)。このシステム処理で
は、例えば音色変更、効果変更等の処理が行われる。Next, it is checked whether or not the read note data is note data (step S7).
4). This is performed, for example, by checking the MSB of the first byte (key number) of the note data. Here, if it is determined that the data is not note data, system processing is performed (step S75). In this system processing, for example, processing such as tone color change and effect change is performed.
【0075】上記ステップS74でノートデータである
ことが判断されると、次いで、パートナンバが「7」で
あるかどうかが調べられる(ステップS76)。これ
は、例えば音符データの第4バイト目の下位3ビットを
参照することにより行われる。ここに、パートナンバ
「7」はドラムチャンネルに割り当てられているパート
である。そして、パートナンバ「7」であることが判断
されると、ドラムチャンネルセット処理が行われる(ス
テップS77)。この処理は、音符データ中のパートの
番号を音源20で規定されているドラムチャンネルのパ
ートの番号に合わせるために、パートナンバ「7」を
「10」に変更する処理である。上記ステップS76
で、パートナンバが「7」でないことが判断された場合
は、ステップS77はスキップされる。If it is determined in step S74 that the data is note data, then it is checked whether the part number is "7" (step S76). This is performed, for example, by referring to the lower 3 bits of the fourth byte of the note data. Here, the part number “7” is a part assigned to the drum channel. When it is determined that the part number is "7", a drum channel setting process is performed (step S77). In this process, the part number “7” is changed to “10” in order to match the part number in the note data with the part number of the drum channel specified by the sound source 20. Step S76 above
If it is determined that the part number is not "7", step S77 is skipped.
【0076】次いで、ベロシティセット及びスプリット
処理が行われる(ステップS78)。このベロシティセ
ット処理では、押鍵イベント処理ルーチンのステップS
33でワークメモリ13の所定のバッファ領域にセーブ
されているベロシティが音源20に送られる。また、ス
プリット処理では、同じくセーブされているキーデータ
に基づいて、押された鍵のキーナンバが、通常の演奏用
鍵域に属するかコンサートマジック用鍵域に属するかが
調べられ、コンサートマジック用鍵域に属する場合は、
音符データに基づく発音を行うべくその音符データに対
応した音色パラメータが音源20に送られる。一方、押
された鍵のキーナンバが通常の演奏用鍵域に属する場合
は、発音処理は行われない。Next, velocity set and split processing are performed (step S78). In this velocity set processing, the key depression event processing routine is executed in step S
At 33, the velocity saved in a predetermined buffer area of the work memory 13 is sent to the sound source 20. In the split processing, it is checked whether the key number of the pressed key belongs to the normal performance key area or the concert magic key area based on the saved key data. If it belongs to the area,
To generate a sound based on the note data, a tone color parameter corresponding to the note data is sent to the sound source 20. On the other hand, if the key number of the pressed key belongs to the normal performance key range, the tone generation process is not performed.
【0077】次いで、上記ステップS78でセットされ
た音色パラメータ及びベロシティに基づいて発音処理が
行われる(ステップS79)。この発音処理の内容は、
押鍵イベント処理のステップS39で行った内容と同じ
である。次いで、データ読出リクエストフラグがクリア
される(ステップS80)。次いで、次の音符データの
読出アドレスがアドレスレジスタにセットされる(ステ
ップS81)。その後、ステップS70に戻って、以下
同様の処理が繰り返される。これにより、同一ステップ
タイムを有する音符データが複数存在する場合に、それ
らの全てが同時に発音されることになる。Next, tone generation processing is performed based on the tone color parameters and velocity set in step S78 (step S79). The content of this pronunciation process is
This is the same as the content performed in step S39 of the key press event process. Next, the data read request flag is cleared (step S80). Next, the read address of the next note data is set in the address register (step S81). Thereafter, the process returns to step S70, and the same processing is repeated thereafter. As a result, when there are a plurality of note data having the same step time, all of them are generated simultaneously.
【0078】なお、上記実施の形態では、鍵盤装置17
の何れかの鍵を押下することにより自動演奏が進められ
るように構成したが、鍵に限らず、操作パネル15上の
所定のスイッチ、フットスイッチ等によって自動演奏を
進めるように構成しても良い。In the above embodiment, the keyboard device 17
The automatic performance can be advanced by pressing any of the keys. However, the present invention is not limited to the keys, and the automatic performance may be advanced by a predetermined switch, a foot switch, or the like on the operation panel 15. .
【0079】[0079]
【発明の効果】以上詳述したように、本発明によれば、
演奏者が曲の途中で自動演奏を進める操作を止めても音
が鳴り続けることがなく、また1鍵だけを用いた場合で
あっても滑らかな自動演奏を行うことのできる自動演奏
装置及び自動演奏方法を提供できる。As described in detail above, according to the present invention,
An automatic performance device and an automatic performance device capable of performing a smooth automatic performance even when a player stops an operation of performing an automatic performance in the middle of a song without causing the sound to continue to sound and using only one key. We can provide playing method.
【図1】本発明の自動演奏装置の一実施の形態を示すブ
ロック図である。FIG. 1 is a block diagram showing an embodiment of an automatic performance device of the present invention.
【図2】本発明の一実施の形態で使用されるメイン処理
を示すフローチャートである。FIG. 2 is a flowchart showing a main process used in one embodiment of the present invention.
【図3】本発明の一実施の形態で使用されるタイマ割込
処理を示すフローチャートである。FIG. 3 is a flowchart showing a timer interrupt process used in one embodiment of the present invention.
【図4】本発明の一実施の形態で使用される押鍵イベン
ト処理を示すフローチャートである。FIG. 4 is a flowchart showing a key press event process used in an embodiment of the present invention.
【図5】本発明の一実施の形態で使用される離鍵イベン
ト処理を示すフローチャートである。FIG. 5 is a flowchart showing a key release event process used in an embodiment of the present invention.
【図6】本発明の一実施の形態で使用されるコンサート
マジック演奏処理を示すフローチャートである。FIG. 6 is a flowchart showing a concert magic performance process used in the embodiment of the present invention.
【図7】本発明の一実施の形態で使用されるコンサート
マジックメイン処理を示すフローチャートである。FIG. 7 is a flowchart showing a concert magic main process used in the embodiment of the present invention.
【図8】本発明の一実施の形態で使用される自動演奏ゲ
ートオフ処理を示すフローチャートである。FIG. 8 is a flowchart showing an automatic performance gate-off process used in one embodiment of the present invention.
【図9】本発明の一実施の形態で使用する音符データの
構成を示す図である。FIG. 9 is a diagram showing a configuration of note data used in an embodiment of the present invention.
10 CPU 10a タイマ 11 外部インタフェース回路 12 プログラムメモリ 13 ワークメモリ 14 パネルインタフェース回路 15 操作パネル 16 鍵盤インタフェース回路 17 鍵盤装置 18 自動演奏データメモリ 19 波形メモリ 20 音源 21 D/A変換器 22 増幅器 23 スピーカ REFERENCE SIGNS LIST 10 CPU 10 a timer 11 external interface circuit 12 program memory 13 work memory 14 panel interface circuit 15 operation panel 16 keyboard interface circuit 17 keyboard device 18 automatic performance data memory 19 waveform memory 20 sound source 21 D / A converter 22 amplifier 23 speaker
Claims (3)
タイムデータが含まれた音符データを複数記憶した記憶
手段と、 押鍵がなされたことを検出する押鍵検出手段とを有し、 該押鍵検出手段により押鍵がなされたことが検出される
毎に、該記憶手段から音符データを読み出し、該音符デ
ータに基づいて発音を開始すると共に、既に発音中の音
を消音することにより自動演奏を進める自動演奏装置で
あって、 押下中の鍵の有無を判断する押鍵判断手段と、前記押鍵判断手段により押下中の鍵がないことが判断さ
れたとき、 該ゲートタイムデータをデクリメントして該
ゲートタイムデータに対応する時間の経過を検出する経
時検出手段とを備え、 該押鍵判断手段により押下中の鍵がないことが判断され
た場合に、既に発音中の音は、当該音の発音に用いられ
た音符データ中のゲートタイムデータに対応する時間が
経過したことが該経時検出手段で検出された時に消音さ
れることを特徴とする自動演奏装置。A key-press detecting means for detecting that a key has been pressed; and a key-press detecting means for detecting that a key has been pressed. Each time the key detection means detects that a key is depressed, note data is read from the storage means, sounding is started based on the note data, and an already-sounding sound is muted to automatically perform. A key press determining means for determining the presence or absence of a key being pressed, and a key press determining means determining that there is no key being pressed.
When the gate time data is decremented,
A time detecting means for detecting the lapse of time corresponding to the gate time data, wherein when the key pressing determining means determines that there is no key being pressed, the sound that is already sounding is sounded. An automatic performance device wherein when the time corresponding to the gate time data in the musical note data used for detecting the elapsed time is detected by the elapsed time detecting means, the sound is muted.
るタイマ割込に基づいてゲートタイムデータに対応する
時間が経過したことを検出することを特徴とする請求項
1に記載の自動演奏装置。2. The automatic performance apparatus according to claim 1, wherein the elapsed time detecting means detects that a time corresponding to the gate time data has elapsed based on a timer interrupt generated in a predetermined cycle. .
音長を規定するためのゲートタイムデータが含まれた音
符データを読み出し、該音符データに基づいて発音を開
始すると共に、既に発音中の音を消音することにより自
動演奏を進める自動演奏方法であって、押下中の鍵がないことが判断されたとき、該ゲートタイ
ムデータをデクリメントして該ゲートタイムデータに対
応する時間の経過を検出し、 押下中の鍵がないことが判断された場合に、既に発音中
の音は、当該音の発音に用いられた音符データ中のゲー
トタイムデータに対応する時間が経過したことが検出さ
れた時に消音されることを特徴とする自動演奏方法。3. Each time it is detected that a key is pressed,
Sound containing gate time data for defining the sound length
Reads note data and starts sounding based on the note data.
Start and silence the sound that is already sounding.
An automatic performance method that promotes dynamic performance,When it is determined that there is no key being pressed, the gate
Decrement the timer data to match the gate time data.
Response time has passed, If it is determined that there is no key being pressed, it is already sounding
Is the game in the note data used to produce the sound.
Detected that the time corresponding to the
An automatic performance method characterized by being silenced when it is hit.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21254395A JP3169535B2 (en) | 1995-07-28 | 1995-07-28 | Automatic performance device and automatic performance method |
US08/680,865 US5760324A (en) | 1995-07-28 | 1996-07-16 | Automatic performance device with sound stopping feature |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21254395A JP3169535B2 (en) | 1995-07-28 | 1995-07-28 | Automatic performance device and automatic performance method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0944154A JPH0944154A (en) | 1997-02-14 |
JP3169535B2 true JP3169535B2 (en) | 2001-05-28 |
Family
ID=16624428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21254395A Expired - Fee Related JP3169535B2 (en) | 1995-07-28 | 1995-07-28 | Automatic performance device and automatic performance method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3169535B2 (en) |
-
1995
- 1995-07-28 JP JP21254395A patent/JP3169535B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0944154A (en) | 1997-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH09179559A (en) | Device and method for automatic accompaniment | |
JP4232882B2 (en) | Electronic musical instrument demo song playing apparatus and demo song playing method | |
JP3192579B2 (en) | Automatic performance device and automatic performance method | |
JP3169535B2 (en) | Automatic performance device and automatic performance method | |
JP3192597B2 (en) | Automatic musical instrument for electronic musical instruments | |
JP3150580B2 (en) | Automatic performance device and automatic performance method | |
JP4318194B2 (en) | Automatic accompaniment apparatus and automatic accompaniment method for electronic musical instrument | |
JP3226268B2 (en) | Concert magic automatic performance device | |
JPH06259064A (en) | Electronic musical instrument | |
JP3171759B2 (en) | Automatic performance device | |
JPH10222166A (en) | Automatic accompaniment playing device | |
JPH0822282A (en) | Automatic accompaniment device for guitar | |
JP2513014B2 (en) | Electronic musical instrument automatic performance device | |
JP3630266B2 (en) | Automatic accompaniment device | |
JPH0944156A (en) | Device and method for automatic musical performance | |
JPH06337674A (en) | Automatic musical performance device for electronic musical instrument | |
JPH06242781A (en) | Electronic musical instrument | |
JP2002032083A (en) | Electronic musical instrument | |
JP2665854B2 (en) | Automatic performance device | |
JPH10319949A (en) | Electronic musical instrument | |
JP2953937B2 (en) | Electronic musical instrument volume control device | |
JP3097888B2 (en) | Electronic musical instrument volume setting device | |
JPH02181794A (en) | Performance device | |
JPH11311989A (en) | Device and method for automatic playing | |
JPH0756571A (en) | Electronic musical instrument |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010306 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080316 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090316 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |