JPH0764547A - Marker quantizer - Google Patents
Marker quantizerInfo
- Publication number
- JPH0764547A JPH0764547A JP5237458A JP23745893A JPH0764547A JP H0764547 A JPH0764547 A JP H0764547A JP 5237458 A JP5237458 A JP 5237458A JP 23745893 A JP23745893 A JP 23745893A JP H0764547 A JPH0764547 A JP H0764547A
- Authority
- JP
- Japan
- Prior art keywords
- repeat
- bar
- marker
- performance data
- switch
- 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
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、マーカー・クォンタイ
ズ装置に関し、さらに詳細には、演奏データ中の任意の
位置を指定する際に用いて好適なマーカー・クォンタイ
ズ装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a marker quantizing device, and more particularly to a marker quantizing device suitable for use in designating an arbitrary position in performance data.
【0002】[0002]
【発明の背景】一般に自動演奏装置においては、演奏デ
ータ中の任意の位置を指定することができ、こうして指
定された任意の位置を示す指標を「マーカー」と称して
いる。BACKGROUND OF THE INVENTION Generally, in an automatic performance device, an arbitrary position in performance data can be designated, and an index indicating the designated arbitrary position is called a "marker".
【0003】こうしたマーカーを利用して、例えば、両
端にマーカーを設定された演奏データ中の任意の区間
を、繰り返し自動演奏するリピート機能などを実現する
ことができる。By utilizing such markers, it is possible to realize, for example, a repeat function for automatically repeating a desired section of the performance data having markers set at both ends.
【0004】即ち、従来の自動演奏装置は、自動演奏装
置に演奏データとして記憶された楽曲の中のある区間
(ブロック)をマーカーによって指定し、当該区間を繰
り返し演奏するリピート機能(以下、このようにブロッ
クを繰り返し演奏するリピート機能を、ブロック・リピ
ート機能と称する。)を備えている。こうしたブロック
・リピート機能を備えた自動演奏装置にあっては、演奏
データの再生中にブロック・リピートの始点/終点の位
置を示すマーカー(以下、ブロック・リピートの始点/
終点の位置を示すマーカーを、「リピート・ポイント」
と称する。)を、マーカー設定装置(以下、リピート・
ポイントを設定するマーカー設定装置を「リピート・ポ
イント設定指示スイッチ」と称す。)を操作することに
より設定していた。That is, the conventional automatic performance apparatus specifies a certain section (block) in the music stored in the automatic performance apparatus as performance data by a marker and repeats the section (hereinafter, referred to as a repeat function). The repeat function of repeatedly playing a block is called a block repeat function. In an automatic performance device equipped with such a block repeat function, a marker indicating the start / end position of the block repeat during playback of performance data (hereinafter referred to as the block repeat start point /
Mark the position of the end point as "Repeat Point"
Called. ), A marker setting device (hereinafter, repeat
A marker setting device for setting points is called a "repeat point setting instruction switch". ) Was set by operating.
【0005】[0005]
【発明が解決しようとする課題】しかしながら、上記し
た従来の自動演奏装置においては、リピート・ポイント
を記憶するにあたって、リピート・ポイント設定指示ス
イッチの操作された時点の位置を1クロック単位の分解
能により記憶しているため、小節の先頭や小節中の任意
の拍を正確に指定することが極めて困難であるという問
題点があった。However, in the above-mentioned conventional automatic musical instrument, when storing the repeat points, the position at the time when the repeat point setting instruction switch is operated is stored with a resolution of one clock unit. Therefore, there is a problem that it is extremely difficult to accurately specify the beginning of a bar and an arbitrary beat in the bar.
【0006】本発明は、従来の技術の有するこのような
問題点に鑑みてなされたものであり、その目的とすると
ころは、マーカーを設定する際に、1クロック単位の分
解能により設定するのではなくて、小節単位あるいは拍
単位などのより荒い分解能で設定するようにして、小節
の先頭や小節中の任意の拍へのマーカーの設定を確実か
つ容易に行えるようにし、操作性を著しく向上させたマ
ーカー・クォンタイズ装置を提供しようとするものであ
る。The present invention has been made in view of the above problems of the prior art, and an object of the present invention is to set a marker with a resolution of one clock when setting the marker. Instead, you can set markers with a coarser resolution, such as measures or beats, so that markers can be set reliably and easily at the beginning of a measure or at any beat in a measure, greatly improving operability. It is intended to provide a marker / quantize device.
【0007】[0007]
【課題を解決するための手段】上記目的を達成するため
に、本発明によるマーカー・クォンタイズ装置は、演奏
データの所定位置に、所定の分解能に基づきマーカーを
設定するマーカー設定手段と、上記マーカー設定手段に
より設定されたマーカーを、上記マーカー設定手段より
荒い分解能に基づきシフトして再設定するクォンタイズ
手段とを有するようにしたものである。To achieve the above object, a marker quantizing device according to the present invention comprises a marker setting means for setting a marker at a predetermined position of performance data based on a predetermined resolution, and the marker setting means. The marker set by the means is provided with a quantizing means for shifting and resetting the marker based on a resolution lower than that of the marker setting means.
【0008】[0008]
【作用】マーカー設定手段によって設定されたマーカー
は、クォンタイズ手段によって、マーカー設定手段より
荒い分解能に基づき設定し直される。The marker set by the marker setting means is reset by the quantizing means based on the resolution lower than that of the marker setting means.
【0009】このため、クォンタイズ手段の分解能を小
節単位あるいは拍単位などにすることにより、小節の先
頭や小節中の任意の拍にマーカーを確実かつ容易に設定
することができるようになる。Therefore, by setting the resolution of the quantizing means in units of measures or units of beats, it becomes possible to reliably and easily set a marker at the beginning of a measure or an arbitrary beat in the measure.
【0010】[0010]
【実施例】以下、図面に基づいて、本発明によるマーカ
ー・クォンタイズ装置の実施例を詳細に説明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT An embodiment of a marker / quantize device according to the present invention will be described in detail below with reference to the drawings.
【0011】図1には、本発明の一実施例によるマーカ
ー・クォンタイズ装置を備えた自動演奏装置のブロック
構成図が示されている。FIG. 1 is a block diagram showing the construction of an automatic playing device equipped with a marker quantizing device according to an embodiment of the present invention.
【0012】この自動演奏装置は、その全体の動作の制
御を中央処理装置(CPU)10を用いて制御するよう
に構成されている。このCPU10には、バス(BU
S)12を介して、全体の動作の制御のための所定のプ
ログラムなどが格納されたリード・オンリ・メモリ(R
OM)14と、CPU10によるプログラムの実行に必
要な後述する各種レジスタやフラグなどが設定されたワ
ーキング・エリアとしてのランダム・アクセス・メモリ
(RAM)16と、後述する本発明の実施に関連する各
種操作子を備えた操作子部18と、操作子部18による
各種操作子の操作状態を表示する表示部20と、本自動
演奏装置によって自動演奏される楽曲の演奏データが記
憶されている記録媒体たるメモリ・カード(図示せず)
が挿入され、CPU10の制御によって当該メモリ・カ
ードに記憶されている演奏データを読み出し、当該演奏
データを本自動演奏装置による自動演奏のための演奏デ
ータとしてRAM16の所定領域に格納するためのカー
ド・スロット22と、CPU10の制御によって再生さ
れたRAM16に格納された演奏データを、MIDI出
力端子を介して外部の音源などのMIDI機器へ出力す
るためのMIDI出力装置24とが接続されている。This automatic performance device is constructed so that the control of the entire operation thereof is controlled by using a central processing unit (CPU) 10. This CPU 10 has a bus (BU
S) 12 is a read-only memory (R) in which a predetermined program for controlling the entire operation is stored.
OM) 14, a random access memory (RAM) 16 as a working area in which various registers and flags described below necessary for the execution of the program by the CPU 10 are set, and various types related to the implementation of the present invention described below. An operating section 18 including operating elements, a display section 20 for displaying operating states of various operating elements by the operating section 18, and a recording medium storing performance data of music automatically performed by the automatic performance device. Barrel memory card (not shown)
A card for storing the performance data stored in the memory card under the control of the CPU 10 and storing the performance data in the predetermined area of the RAM 16 as performance data for automatic performance by the automatic performance device. A slot 22 and a MIDI output device 24 for outputting the performance data stored in the RAM 16 reproduced by the control of the CPU 10 to a MIDI device such as an external sound source via a MIDI output terminal are connected.
【0013】即ち、この自動演奏装置においては、メモ
リ・カードに記憶された演奏データが、CPU10によ
ってRAM16に格納されることになり、さらにこうし
てRAM16に格納された演奏データがCPU10によ
って再生される。そして、CPU10によって再生され
た演奏データが、MIDI出力装置24によって外部の
音源などへ出力されて、空間に楽音が放音されることに
なり、メモリ・カードに記憶された演奏データに基づく
演奏が再現される。That is, in this automatic performance device, the performance data stored in the memory card is stored in the RAM 16 by the CPU 10, and the performance data thus stored in the RAM 16 is reproduced by the CPU 10. Then, the performance data reproduced by the CPU 10 is output to an external sound source or the like by the MIDI output device 24, and a musical sound is emitted into the space, and a performance based on the performance data stored in the memory card is performed. Reproduced.
【0014】図2には、上記した操作子部18と、表示
部20と、カード・スロット22を備えた操作パネルが
示されている。FIG. 2 shows an operation panel provided with the operation section 18, the display section 20, and the card slot 22 described above.
【0015】操作子部18に設けられた操作子として
は、PLAY(プレイ)スイッチ18aと、STOP
(ストップ)スイッチ18bと、REPEAT(リピー
ト)スイッチ18cと、SET(セット)スイッチ(リ
ピート・ポイント設定指示スイッチ)18dとが設定さ
れている。The operators provided in the operator section 18 include a PLAY switch 18a and a STOP switch.
The (stop) switch 18b, the REPEAT (repeat) switch 18c, and the SET (set) switch (repeat / point setting instruction switch) 18d are set.
【0016】PLAYスイッチ18aは、自動演奏の開
始を指示するとともに、自動演奏中に操作された場合に
は、当該自動演奏の一時停止(PAUSE)を指示する
操作子である。そして、一時停止中にさらにPLAYス
イッチ18aを操作すると、自動演奏が再開されること
になる。The PLAY switch 18a is an operator for instructing the start of the automatic performance and, if operated during the automatic performance, for instructing a pause (PAUSE) of the automatic performance. When the PLAY switch 18a is further operated during the temporary stop, the automatic performance is restarted.
【0017】STOPスイッチ18bは、自動演奏の停
止を指示する操作子である。The STOP switch 18b is an operator for instructing to stop the automatic performance.
【0018】REPEATスイッチ18cは、ブロック
・リピートを行うことを指示する操作子である。このR
EPEATスイッチ18cを操作することにより、ブロ
ック・リピートを行うか否かを任意に選択できる。そし
て、ブロック・リピートの設定中に再度REPEATス
イッチ18cを操作すると、ブロック・リピートの設定
が解除される。The REPEAT switch 18c is an operator for instructing to perform block repeat. This R
By operating the EPEAT switch 18c, it is possible to arbitrarily select whether or not to perform block repeat. Then, when the REPEAT switch 18c is operated again while the block repeat is set, the block repeat setting is canceled.
【0019】SETスイッチ18dは、ブロック・リピ
ートを行う際のブロックの始点(以下、リピート・ポイ
ントAと称する。)および終点(以下、リピート・ポイ
ントBと称する。)を設定するための操作子である。S
ETスイッチ18dを操作することにより、演奏データ
中の任意の位置において、16分音符の分解能をもって
リピート・ポイントAならびにリピート・ポイントBを
設定できる。The SET switch 18d is an operator for setting a start point (hereinafter referred to as a repeat point A) and an end point (hereinafter referred to as a repeat point B) of a block when performing block repeat. is there. S
By operating the ET switch 18d, the repeat point A and the repeat point B can be set at an arbitrary position in the performance data with a resolution of 16th note.
【0020】表示部20は、小節番号を表示するもので
あって、本実施例においては、LCD(Liquid
Cristal Diplay:液晶ディスプレイ)に
よって構成されている。The display section 20 displays a bar number, and in the present embodiment, an LCD (Liquid).
It is composed of a Crystal Display (liquid crystal display).
【0021】また、図3には、メモリ・カードに記憶さ
れた演奏データのデータ形式を示すためのデータ例が表
されている。このデータ形式(16進数により記載され
ている)においては、「FE」に続く1バイトにより待
ち時間を示すこととし(FExx:xxが時間とな
る)、「FF」により演奏データの終了を示すものであ
り、演奏データには必ず「FF」が記録されている。そ
して、上記以外のデータは、MIDIデータであるもの
として、そのままMIDI出力装置24を介してMID
I出力端子に出力される。Further, FIG. 3 shows a data example for showing the data format of the performance data stored in the memory card. In this data format (described in hexadecimal notation), 1 byte following "FE" indicates waiting time (FExx: xx is time), and "FF" indicates end of performance data. Therefore, "FF" is always recorded in the performance data. Data other than the above is assumed to be MIDI data, and is transmitted as it is via the MIDI output device 24 to the MID.
It is output to the I output terminal.
【0022】なお、本実施例においては、理解を容易に
するために、最小分解能を「16分音符」単位とすると
ともに、テンポ(1分間に演奏する4分音符の個数)を
「120」とし、拍子は「4/4」で固定としている。In this embodiment, in order to facilitate understanding, the minimum resolution is set to "16th note" units and the tempo (the number of quarter notes played in 1 minute) is set to "120". , The time signature is fixed at "4/4".
【0023】ところで、図3に示されたデータ例は、
「90 3C 40」により「C3」の音高のノート・
オンを示し、「FE 04」により当該ノート・オンの
時間として4分音符1個分の時間を示し、「80 3C
40」により「C3」の音高のノート・オフを示し、
「FF」により演奏データの終了を示している。By the way, the data example shown in FIG.
"C3" pitch note by "90 3C 40"
“FE 04” indicates the time for the note-on, and the time for one quarter note.
"40" indicates note-off of pitch "C3",
"FF" indicates the end of the performance data.
【0024】以上の構成において、フローチャートを参
照しながら、上記した本発明による自動演奏装置の作用
および動作について説明する。なお、この自動演奏装置
は、通常は図4および図5に示すメイン・ルーチンを高
速で繰り返し実行しているが、メイン・ルーチン内にお
いてクロック割り込みの発生を指示されると、後述する
所定時間毎にクロック割り込みがかかり、図7および図
8に示すクロック割り込みルーチンが実行されることに
なる。そして、クロック割り込みルーチンの実行を終了
すると、再びメイン・ルーチンを繰り返し実行し続け
る。また、メイン・ルーチン内において、クロック割り
込みの停止を指示されると、クロック割り込みが行われ
なくなる。The operation and operation of the above-described automatic musical instrument according to the present invention will be described with reference to the flow charts. Although this automatic performance device normally repeatedly executes the main routine shown in FIGS. 4 and 5 at high speed, when an instruction to generate a clock interrupt is issued in the main routine, the automatic routine is executed at predetermined time intervals described later. Is interrupted by the clock interrupt, and the clock interrupt routine shown in FIGS. 7 and 8 is executed. When the execution of the clock interrupt routine is completed, the main routine is repeatedly executed again. Also, if an instruction to stop the clock interrupt is issued in the main routine, the clock interrupt will not be performed.
【0025】ここにおいて、クロック割り込みがかかる
所定時間は、本実施例においては、テンポを「120」
とし、最小分解能が16分音符とされているので、
「0.125秒」となるものである。従って、本実施例
においては、「0.125秒」毎にクロック割り込みが
かかることになる。In the present embodiment, the tempo is set to "120" for the predetermined time for the clock interruption.
Since the minimum resolution is 16th notes,
It is "0.125 seconds". Therefore, in this embodiment, a clock interrupt is applied every "0.125 seconds".
【0026】まず、以下の説明において使用されるRA
M16に設定されたレジスタに関して説明することとす
る。なお、以降の説明においては、各レジスタの内容
(データ)などは、特に断らない限り、同一のラベル名
で表すものとする。First, the RA used in the following description
The register set in M16 will be described. In the following description, the contents (data) of each register are represented by the same label name unless otherwise specified.
【0027】(1)Pflag 演奏の状態を表すフラグであり、演奏中でないときには
「0」がセットされ、演奏中のときには「1」がセット
される。(1) Pflag This is a flag indicating the state of performance, and is set to "0" when not playing and "1" when playing.
【0028】(2)Brep ブロック・リピートの状態を表すフラグであり、ブロッ
ク・リピート中でないときには「0」がセットされ、ブ
ロック・リピート中のときには「1」がセットされる。(2) Brep This is a flag showing the state of block repeat, and is set to "0" when the block is not being repeated and is set to "1" when the block is being repeated.
【0029】(3)ABflag リピート・ポイントの設定状態を表すフラグであり、リ
ピート・ポイントAおよびリピート・ポイントBが設定
されていないときには「0」がセットされ、リピート・
ポイントAのみが設定されているときには「1」がセッ
トされ、リピート・ポイントAおよびリピート・ポイン
トBの両方が設定されているときには「2」がセットさ
れる。(3) ABflag This is a flag showing the setting state of the repeat point. When the repeat point A and the repeat point B are not set, "0" is set and the repeat point is set.
When only point A is set, "1" is set, and when both repeat point A and repeat point B are set, "2" is set.
【0030】(4)Mnumb 小節番号を記憶するレジスタである。(4) Mnumb This is a register for storing the measure number.
【0031】(5)Mcnt クロックから小節番号を求めるためのカウンタである。(5) A counter for obtaining the bar number from the Mcnt clock.
【0032】(6)Anumb リピート・ポイントAの小節番号を記憶するレジスタで
ある。(6) Annum This is a register for storing the measure number of the repeat point A.
【0033】(7)Aaddr リピート・ポイントAのアドレスを記憶するレジスタで
ある。(7) Aaddr This is a register for storing the address of the repeat point A.
【0034】(8)Atime リピート・ポイントAの待ち時間を記憶するレジスタで
ある。(8) Atime This is a register for storing the waiting time of the repeat point A.
【0035】(9)Atotal リピート・ポイントAの総クロック数を記憶するレジス
タである。(9) Atotal This register stores the total number of clocks at the repeat point A.
【0036】(10)Bnumb リピート・ポイントBの小節番号を記憶するレジスタで
ある。(10) Bnumb This is a register for storing the measure number of the repeat point B.
【0037】(11)Btotal リピート・ポイントBの総クロック数を記憶するレジス
タである。(11) Btotal This register stores the total number of clocks at the repeat point B.
【0038】(12)Wait 待ち時間のカウンタである。(12) Wait Waiting counter.
【0039】(13)addr 演奏データのアドレスを記憶するレジスタである。(13) addr This is a register for storing the address of performance data.
【0040】(14)Song Data[addr] 演奏データが格納されている配列を記憶するレジスタで
ある。(14) Song Data [addr] This is a register for storing an array in which performance data is stored.
【0041】(15)Maddr[最大小節数] 処理中の小節の先頭の演奏データのアドレスを記憶する
レジスタである。(15) Maddr [maximum number of bars] This is a register for storing the address of the performance data at the beginning of the bar being processed.
【0042】(16)Wtime[最大小節数] 処理中の小節の先頭の小節線からの待ち時間を記憶する
レジスタである。(16) Wtime [maximum number of bars] This is a register for storing the waiting time from the leading bar line of the bar being processed.
【0043】(17)Total 演奏データの先頭から現在処理中の演奏データまでの総
クロック数を記憶するレジスタである。(17) Total This register stores the total number of clocks from the beginning of the performance data to the performance data currently being processed.
【0044】次に、図4および図5を参照しながらメイ
ン・ルーチンを説明するが、本自動演奏装置の電源が投
入されると、まずステップS402において、CPU1
0はRAM16に設定された上記したレジスタの初期化
を行う。Next, the main routine will be described with reference to FIGS. 4 and 5. When the power of the automatic musical instrument is turned on, first, in step S402, the CPU 1
0 initializes the above-mentioned register set in the RAM 16.
【0045】図6には、ステップS402で実行される
レジスタの初期化ルーチンが示されており、ステップS
602においてPflgに「0」をセットし、ステップ
S604においてBrepに「0」をセットし、ステッ
プS606においてABflagに「0」をセットし、
ステップS608においてMnumbに「1」をセット
し、ステップS610においてWaitに「1」をセッ
トし、ステップS612においてMcntに「0」をセ
ットし、ステップS614においてaddrに「0」を
セットする。FIG. 6 shows a register initialization routine executed in step S402.
In step 602, Pflg is set to "0", in step S604 Brep is set to "0", and in step S606 ABflag is set to "0".
In step S608, Mnum is set to "1", in step S610 Wait is set to "1", in step S612 Mcnt is set to "0", and in step S614 addr is set to "0".
【0046】上記した処理を終了すると、ステップS6
16へ進み、演奏データを記憶したメモリ・カードが、
カード・スロット22に挿入されているか否かを判断す
る。When the above processing is completed, step S6
Proceed to 16 and the memory card storing the performance data
It is determined whether the card is inserted in the card slot 22.
【0047】ステップS616の判断結果が否定
(N)、即ち、カード・スロット22にメモリ・カード
が入っていない場合には、次の処理に進むことなく、ス
テップS616の判断処理を繰り返す。If the determination result of step S616 is negative (N), that is, if no memory card is inserted in the card slot 22, the determination process of step S616 is repeated without proceeding to the next process.
【0048】そして、ステップS616の判断結果が肯
定(Y)、即ち、カード・スロット22にメモリ・カー
ドが入っている場合には、ステップS618へ進み、演
奏データを読み込んで、各小節の先頭のデータのアドレ
スをMaddr[小節番号−1]に、小節線からの待ち
時間をWtime[小節番号−1]にセットする。If the result of the determination in step S616 is affirmative (Y), that is, if a memory card is in the card slot 22, the process proceeds to step S618, the performance data is read, and the beginning of each measure is read. The address of the data is set to Maddr [bar number-1], and the waiting time from the bar line is set to Wtime [bar number-1].
【0049】即ち、例えば、第1小節の先頭データのア
ドレスは、Maddr[0(=1−1)]にセットさ
れ、第1小節の小節線からの待ち時間は、Wtime
[0(=1−1)]にセットされる。同様に、第2小節
の先頭データのアドレスは、Maddr[1(=2−
1)]にセットされ、第2小節の小節線からの待ち時間
は、Wtime[1(=2−1)]にセットされる。こ
のようにして、演奏データの全小節に関して、Madd
rとWtimeとを順次セットする。That is, for example, the address of the first data of the first bar is set to Maddr [0 (= 1-1)], and the waiting time from the bar line of the first bar is Wtime.
It is set to [0 (= 1-1)]. Similarly, the address of the first data of the second bar is Maddr [1 (= 2-
1)], and the waiting time from the bar line of the second bar is set to Wtime [1 (= 2-1)]. In this way, Madd for all measures of performance data
r and Wtime are sequentially set.
【0050】ステップS618の処理を終了すると、ス
テップS620へ進み、Mnumbを表示部20に表示
する。従って、レジスタの初期化の直後においては、メ
イン・ルーチンの処理対象が、小節番号「1」の演奏デ
ータ(第1小節の演奏データ)であることが表示され
る。そして、このステップS620の処理を終了する
と、レジスタの初期化ルーチンを終了して、メイン・ル
ーチンへリターンすることになる。When the process of step S618 is completed, the process proceeds to step S620 and Mnum is displayed on the display unit 20. Therefore, immediately after the initialization of the register, it is displayed that the processing object of the main routine is the performance data of the measure number "1" (the performance data of the first measure). When the process of step S620 is completed, the register initialization routine is completed and the process returns to the main routine.
【0051】さらに、メイン・ルーチンにおいては、図
6に示したレジスタの初期化ルーチンを終了すると、ス
テップS404へ進み、PLAYスイッチ18aが押さ
れたか否かを判断する。この判断結果が肯定、即ち、P
LAYスイッチ18aが押された場合には、ステップS
406へ進み、Pflagが「0」にセットされている
か否かを判断する。Further, in the main routine, when the register initialization routine shown in FIG. 6 is completed, the process proceeds to step S404, and it is determined whether or not the PLAY switch 18a is pressed. This judgment result is affirmative, that is, P
If the LAY switch 18a is pressed, step S
In step 406, it is determined whether Pflag is set to "0".
【0052】ステップS406の判断結果が肯定、即
ち、「Pflag=0:演奏中ではない」場合には、ス
テップS408以降へ進み、演奏を開始させることにな
る。If the result of the determination in step S406 is affirmative, that is, if "Pflag = 0: not being played", the process proceeds to step S408 and thereafter to start playing.
【0053】まず、ステップS408においては、クロ
ック割り込みの発生を指示してクロック割り込みルーチ
ンを起動させ、後述するようにクロック割り込みルーチ
ンにおいて演奏データの再生を行わせるようにする。そ
れから、ステップS410へ進み、Pflgに「1」を
セットし、演奏中であることを示した後に、ステップS
412へ進むことになる。First, in step S408, the generation of a clock interrupt is instructed to activate the clock interrupt routine, and the performance data is reproduced in the clock interrupt routine as described later. Then, the process proceeds to step S410, Pflg is set to "1" to indicate that the performance is being performed, and then step S410 is performed.
You will proceed to 412.
【0054】一方、ステップS406の判断結果が否
定、即ち、「Pflag=1:演奏中である」場合に
は、ステップS414以降へ進み、一時停止(PAUS
E)処理を行うことになる。On the other hand, when the result of the determination in step S406 is negative, that is, "Pflag = 1: playing", the process proceeds to step S414 and subsequent steps to pause (PAUS).
E) Processing will be performed.
【0055】まず、ステップS414においては、クロ
ック割り込みの発生を停止し、クロック割り込みルーチ
ンの実行を禁止する。これにより、クロック割り込みル
ーチンにおける演奏データの再生が行われなくなる。First, in step S414, the generation of the clock interrupt is stopped and the execution of the clock interrupt routine is prohibited. As a result, the performance data is not reproduced in the clock interrupt routine.
【0056】ステップS414の処理を終了すると、ス
テップS416へ進み、現在発音中である全ての楽音
を、直ちに消去する指示を発生し、MIDI出力装置2
4によって外部の音源などに対して出力する。When the processing of step S414 is completed, the process proceeds to step S416, where an instruction to immediately erase all the musical tones currently being generated is issued, and the MIDI output device 2
Output to an external sound source or the like by 4.
【0057】ステップS416の処理を終了すると、ス
テップS418へ進み、Brepに「1」がセットされ
ているか否かを判断する。When the process of step S416 is completed, the process proceeds to step S418, and it is determined whether or not Brep is set to "1".
【0058】ステップS416の判断結果が否定、即
ち、「Brep=0」でありブロック・リピート中でな
いならば、そのままステップS412へ進む。If the result of the determination in step S416 is negative, that is, if "Brep = 0" and block repeat is not in progress, the process directly proceeds to step S412.
【0059】一方、ステップS416の判断結果が肯
定、即ち、「Brep=1」でありブロック・リピート
中であるならば、ステップS420以降の処理へ進み、
演奏データの読み出しの開始が、自動的にリピート・ポ
イントAに戻るようにする処理を行う。On the other hand, if the result of the determination in step S416 is affirmative, that is, if "Brep = 1" and block repeat is in progress, the process proceeds to step S420 and the following steps.
Processing for automatically returning the start of reading the performance data to the repeat point A is performed.
【0060】まず、ステップS420において、演奏デ
ータのアドレスを示すaddrに、リピート・ポイント
Aのアドレスを記憶しているAaddrの値をセットす
る。First, in step S420, the value of Aaddr storing the address of repeat point A is set in addr indicating the address of performance data.
【0061】ステップS420の処理を終了すると、ス
テップS422へ進み、小節番号を記憶しているMnu
mbに、リピート・ポイントAの小節番号を記憶してい
るAnumbの値をセットする。When the process of step S420 is completed, the process proceeds to step S422, where the Mnu storing the measure number is stored.
The value of Anum that stores the measure number of repeat point A is set in mb.
【0062】ステップS422の処理を終了すると、ス
テップS424へ進み、演奏データの総クロック数を記
憶しているレジスタTotalに、リピート・ポイント
Aの総クロック数を記憶しているAtotalの値をセ
ットする。When the processing of step S422 is completed, the process proceeds to step S424, and the value of Atotal that stores the total clock number of repeat point A is set in the register Total that stores the total clock number of performance data. .
【0063】ステップS424の処理を終了すると、ス
テップS426へ進み、待ち時間のカウンタWait
に、リピート・ポイントAの待ち時間を記憶しているA
timeの値に「1」加算した値をセットして、ステッ
プS412へ進む。When the process of step S424 is completed, the process proceeds to step S426, and the waiting time counter Wait
A, which stores the waiting time for repeat point A,
A value obtained by adding "1" to the value of time is set, and the process proceeds to step S412.
【0064】上記した処理を行うことにより、次にPL
AYスイッチ18aが押されて演奏開始が指示されたと
きには、リピート・ポイントAから演奏データの再生が
開始されることになる。By performing the above processing, PL
When the AY switch 18a is pressed to instruct the start of the performance, the reproduction of the performance data is started from the repeat point A.
【0065】そして、上記したステップS410あるい
はステップS426の処理を終了したとき、またステッ
プS404の判断結果が否定、即ち、PLAYスイッチ
18aが押されていないときには、ステップS412へ
進む。Then, when the above-described processing of step S410 or step S426 is completed, or when the determination result of step S404 is negative, that is, when the PLAY switch 18a is not pressed, the process proceeds to step S412.
【0066】そして、ステップS412では、STOP
スイッチ18bが押されたか否かを判断する。Then, in step S412, STOP
It is determined whether the switch 18b has been pressed.
【0067】ステップS412の判断結果が肯定、即
ち、STOPスイッチ18bが押されて、演奏の停止が
指示されたならば、ステップS428へ進む。If the determination result of step S412 is affirmative, that is, if the STOP switch 18b is pressed to instruct to stop the performance, the process proceeds to step S428.
【0068】ステップS428では、クロック割り込み
の発生を停止し、クロック割り込みルーチンの実行を禁
止する。これにより、クロック割り込みルーチンにおけ
る演奏データの再生が行われなくなる。In step S428, the generation of the clock interrupt is stopped and the execution of the clock interrupt routine is prohibited. As a result, the performance data is not reproduced in the clock interrupt routine.
【0069】ステップS428の処理を終了すると、ス
テップS430へ進み、現在発音中である全ての楽音
を、直ちに消去する指示を発生し、MIDI出力装置2
4によって外部の音源などに対して出力する。そして、
ステップS430の処理を終了すると、ステップS40
2へジャンプする。When the process of step S428 is completed, the process proceeds to step S430, where an instruction is issued to immediately erase all the musical tones that are currently sounding, and the MIDI output device 2
Output to an external sound source or the like by 4. And
When the process of step S430 ends, step S40
Jump to 2.
【0070】なお、カード・スロット22からメモリ・
カードが抜かれたときも、上記したSTOPスイッチ1
8bが押されたときの処理と同様な処理を行う。It should be noted that the memory card from the card slot 22
Even when the card is removed, the STOP switch 1 described above
Processing similar to that when 8b is pressed is performed.
【0071】一方、ステップS412の判断結果が否
定、即ち、STOPスイッチ18bが押されていないな
らば、ステップS432へ進み、REPEATスイッチ
18cが押されたか否かを判断する。On the other hand, if the decision result in the step S412 is negative, that is, if the STOP switch 18b is not pushed, the routine proceeds to a step S432, and it is decided whether or not the REPEAT switch 18c is pushed.
【0072】ステップS432の判断結果が肯定、即
ち、REPEATスイッチ18cが押された場合には、
ステップS434へ進み、Brepが「0」にセットさ
れているか否かを判断する。If the determination result of step S432 is affirmative, that is, if the REPEAT switch 18c is pressed,
In step S434, it is determined whether Brep is set to "0".
【0073】ステップS434の判断結果が否定、即
ち、「Brep=1」であってブロック・リピート中で
あるならば、ステップS436へ進み、Brepに
「0」をセットして、ブロック・リピート中でないこと
を示す。従って、ステップS436の処理が行われた以
降においてBrepが読み出されるときには、「Bre
p=0」となる。If the result of the determination in step S434 is negative, that is, if "Brep = 1" and block repeat is in progress, the flow advances to step S436 to set Brep to "0" and block repeat is not in progress. Indicates that. Therefore, when Brep is read after the processing of step S436 is performed, “Bre” is read.
p = 0 ”.
【0074】つまり、上記の場合には、ブロック・リピ
ート中に再度REPEATスイッチ18cが操作された
ことになるので、設定されていたブロック・リピートを
解除することになる。That is, in the above case, since the REPEAT switch 18c is operated again during the block repeat, the set block repeat is released.
【0075】一方、ステップS434の判断結果が肯
定、即ち、「Brep=0」であり、ブロック・リピー
ト中でないならば、ステップS438へ進み、ABfl
agに「2」がセットされているか否かを判断する。On the other hand, if the determination result of step S434 is affirmative, that is, "Brep = 0" and block repeat is not in progress, the process proceeds to step S438 and ABfl.
It is determined whether "2" is set in ag.
【0076】ステップS438の判断結果が肯定、即
ち、「ABflag=2」であり、リピート・ポイント
Aおよびリピート・ポイントBが設定されている場合に
は、ステップS440へ進む。If the determination result of step S438 is affirmative, that is, "ABflag = 2", and repeat point A and repeat point B are set, the process proceeds to step S440.
【0077】ステップS440では、Brepに「1」
をセットしてブロック・リピート中であることを示す。In step S440, Brep is "1".
Is set to indicate that block repeat is in progress.
【0078】一方、ステップS438の判断結果が否
定、即ち、「ABflag=2」ではない場合や、ステ
ップS436あるいはステップS440の処理を終了し
た場合には、ステップS442へ進む。On the other hand, if the result of the determination in step S438 is negative, that is, if "ABflag = 2" is not satisfied, or if the process of step S436 or step S440 is completed, the process proceeds to step S442.
【0079】ステップS442では、SETスイッチ1
8dが押されたか否かを判断する。そして、この判断結
果が肯定、即ち、SETスイッチ18dが押された場合
には、ステップS444へ進み、ABflagの値を判
断する。In step S442, the SET switch 1
It is determined whether or not 8d is pressed. If the result of this determination is affirmative, that is, if the SET switch 18d has been pressed, the flow proceeds to step S444 to determine the value of ABflag.
【0080】ステップS444において、「ABfla
g=0」と判断された場合には、ステップS446以降
の処理において、リピート・ポイントAを設定すること
になる。In step S444, "ABfla
If it is determined that “g = 0”, the repeat point A will be set in the processing of step S446 and thereafter.
【0081】即ち、まずステップS446において、演
奏開始からSETスイッチ18dが押されたときに演奏
されていた演奏データまでの総クロック数Total
を、分解能が16分音符であるため「16」で除算し、
除算した商を16倍して得た値を、Atotalにセッ
トする。つまり、総クロック数Totalを「16」で
除算し、その除算結果を小数点以下切り捨てて得た値に
対し、「16」を乗算する。こうして得た値を、Ato
talにセットするものである。That is, first, at step S446, the total number of clocks from the start of performance to the performance data being played when the SET switch 18d is pressed, Total.
Is divided by "16" because the resolution is 16th notes,
The value obtained by multiplying the divided quotient by 16 is set in Atotal. That is, the total number of clocks Total is divided by “16”, and the value obtained by rounding down the result of the division is multiplied by “16”. The value thus obtained is Ato
It is set to tal.
【0082】これにより、SETスイッチ18dが押さ
れたときに演奏されていた演奏データを含む小節の先頭
までのクロック数が、Atotalに記憶されたことに
なる。As a result, the number of clocks up to the beginning of the bar containing the performance data being played when the SET switch 18d is pressed is stored in Atotal.
【0083】理解を容易にするために、図9に示す全て
16分音符により構成された演奏データを参照しながら
説明すると、例えば、演奏データの先頭からの総クロッ
ク数Totalが「17」のときに、SETスイッチ1
8dが押されたとすると、「Total=17」とな
り、ステップS446で行われる演算は、「17/16
=1.0625」となるが、その商は「1」であるた
め、「1×16=16」となり、Atotalには「1
6」が記憶される。そして、この「16」とは、SET
スイッチ18dが押された演奏データを含む小節の先頭
の演奏データまでの総クロック数を表すことになる。To facilitate understanding, the explanation will be given with reference to the performance data which are all composed of sixteenth notes shown in FIG. 9. For example, when the total clock number Total from the beginning of the performance data is "17". , SET switch 1
If 8d is pressed, "Total = 17", and the operation performed in step S446 is "17/16".
= 1.0625 ”, but the quotient is“ 1 ”, so“ 1 × 16 = 16 ”, and“ 1 ”is given to Atotal.
6 ”is stored. And this "16" means SET
This represents the total number of clocks up to the performance data at the beginning of the bar including the performance data whose switch 18d is pressed.
【0084】ステップS444の処理を終了するとステ
ップS446へ進み、AtimeにWtime[Ato
tal/16]をセットする。When the process of step S444 is completed, the process proceeds to step S446, and Atime is set to Wtime [Ato
tal / 16].
【0085】即ち、「Atotal/16」により、S
ETスイッチ18dが押された演奏データを含む小節番
号を得ることができるものであり、当該小節番号の小節
線からの待ち時間を、リピート・ポイントAの待ち時間
としてAtimeに記憶する。これにより、当該小節番
号により指定される小節の先頭に休符が存在する場合に
も、当該休符時間経過してからブロック・リピートの演
奏を開始させることができる。That is, by "Atotal / 16", S
It is possible to obtain the bar number including the performance data that the ET switch 18d has pressed, and the waiting time from the bar line of the bar number is stored in Atime as the waiting time of the repeat point A. As a result, even when a rest exists at the beginning of the measure specified by the measure number, the block repeat performance can be started after the rest time has elapsed.
【0086】ステップS448の処理を終了すると、ス
テップS450へ進み、AaddrにMaddr[At
otal/16]をセットする。When the processing in step S448 is completed, the flow advances to step S450 to add Adrdr to Maddr [At
total / 16] is set.
【0087】即ち、上記したように「Atotal/1
6」により、SETスイッチ18dが押された演奏デー
タを含む小節番号を得ることができるものであり、当該
小節番号の小節線の先頭の演奏データのアドレスを、リ
ピート・ポイントAのアドレスとしてAtimeに記憶
する。That is, as described above, "Atotal / 1
6 ”, the bar number including the performance data whose SET switch 18d is pressed can be obtained, and the address of the performance data at the beginning of the bar of the bar number is set to Atime as the address of the repeat point A. Remember.
【0088】ステップS450の処理を終了すると、ス
テップS452へ進み、Anumbに「Atotal/
16」をセットする。When the process of step S450 is completed, the process proceeds to step S452, and Anum displays "Total /
16 "is set.
【0089】即ち、上記したように「Atotal/1
6」により、SETスイッチ18dが押された演奏デー
タを含む小節番号を得ることができるものであるから、
当該小節番号をリピート・ポイントAの小節番号として
Anumbに記憶する。That is, as described above, "Atotal / 1
6 ", it is possible to obtain the bar number including the performance data for which the SET switch 18d is pressed.
The bar number is stored in Anumb as the bar number of repeat point A.
【0090】従って、例えば、図10に示すように、実
際は位置αにおいてリピート・ポイントAを設定するた
めSETスイッチ18dを押しても、上記したステップ
S446乃至ステップS452のクォンタイズの処理に
より、ブロック・リピートの始点としてのリピート・ポ
イントAは位置βに再設定されることになる。Therefore, for example, as shown in FIG. 10, even if the SET switch 18d is actually pressed to set the repeat point A at the position α, the block repeat operation is performed by the quantizing processing in steps S446 to S452 described above. The repeat point A as the starting point will be reset to the position β.
【0091】そして、ステップS452の処理を終了す
ると、ステップS454へ進み、ABflagに「1」
をセットして、リピート・ポイントAが設定されたこと
を示してから、ステップS404へ進み処理を繰り返
す。When the process of step S452 is completed, the flow advances to step S454 to set ABflag to "1".
Is set to indicate that the repeat point A has been set, and then the process proceeds to step S404 to repeat the process.
【0092】また、ステップS444において、「AB
flag=1」と判断された場合には、ステップS45
6以降の処理において、リピート・ポイントBを設定す
ることになる。In step S444, "AB
If it is determined that "flag = 1", step S45.
The repeat point B is set in the processing from 6 onward.
【0093】即ち、まずステップS456において、
「演奏開始からSETスイッチ18dが押されたときに
演奏されていた演奏データまでの総クロック数Tota
lを、分解能が16分音符であるため「16」で除算
し、除算した商を16倍して得た値を、Btotalに
セットする。これにより、SETスイッチ18dが押さ
れたときに演奏されていた演奏データを含む小節の先頭
までのクロック数が、Btotalに記憶されたことに
なる。That is, first, in step S456,
"Total number of clocks from the start of performance to the performance data being played when the SET switch 18d is pressed, Total
Since l has a resolution of 16th note, it is divided by "16", and the value obtained by multiplying the divided quotient by 16 is set to Btotal. As a result, the number of clocks up to the beginning of the bar containing the performance data being played when the SET switch 18d is pressed is stored in Btotal.
【0094】ステップS456の処理を終了するとステ
ップS458へ進み、Bnumbに「Btotal/1
6」をセットする。Upon completion of the processing in step S456, the flow advances to step S458 to set Bnum to "Btotal / 1.
6 ”is set.
【0095】即ち、上記したように「Atotal/1
6」の場合と同様に、「Btotal/16」によりS
ETスイッチ18dが押された演奏データを含む小節番
号を得ることができるものであるから、当該小節番号を
リピート・ポイントBの小節番号としてBnumbに記
憶する。That is, as described above, "Atotal / 1
As in the case of "6", S is set by "Btotal / 16".
Since the bar number including the performance data pressed by the ET switch 18d can be obtained, the bar number is stored in Bnum as the bar number of the repeat point B.
【0096】従って、例えば、図10に示すように、実
際は位置γにおいてリピート・ポイントBを設定するた
めSETスイッチ18dを押しても、上記したステップ
S456乃至ステップS458のクォンタイズの処理に
より、ブロック・リピートの終点としてのリピート・ポ
イントBは位置δに再設定されることになる。Therefore, for example, as shown in FIG. 10, even if the SET switch 18d is actually pushed to set the repeat point B at the position γ, the quantizing process in steps S456 to S458 causes the block repeat to be repeated. The repeat point B as the end point will be reset to the position δ.
【0097】そして、ステップS458の処理を終了す
ると、ステップS460へ進み、ABflagに「2」
をセットして、リピート・ポイントAに加えてリピート
・ポイントBも設定されたことを示してから、ステップ
S404へ進み処理を繰り返す。When the processing in step S458 is completed, the flow advances to step S460 to set ABflag to "2".
Is set to indicate that the repeat point B has been set in addition to the repeat point A, and the process proceeds to step S404 to repeat the process.
【0098】さらに、ステップS444において、「A
Bflag=2」と判断された場合には、リピート・ポ
イントAおよびリピート・ポイントBが既に設定されて
いるものであるので、上記したリピート・ポイントAな
らびにリピート・ポイントBのクォンタイズの処理を行
うことなく、ステップS404へ進み処理を繰り返す。Further, in step S444, "A
If it is determined that “Bflag = 2”, the repeat point A and the repeat point B have already been set, and therefore the repeat point A and the repeat point B are quantized. No, the process proceeds to step S404 and the process is repeated.
【0099】次に、上記したように「0.125秒」毎
のクロック割り込みにより実行されるクロック割り込み
ルーチンを説明する。Next, the clock interrupt routine executed by the clock interrupt every "0.125 seconds" will be described.
【0100】このクロック割り込みルーチンにおいて
は、まずステップS702において、クロックから小節
番号を求めるためのカウンタMcntに「1」を加算し
て、Mcntの値を更新する。従って、レジスタの初期
化ルーチンにおいて、「Mcnt=0」に設定されてい
るため、初期化直後においてはステップS702におい
て「Mcnt=1」にセットされることになる。In this clock interrupt routine, first, in step S702, "1" is added to the counter Mcnt for obtaining the bar number from the clock, and the value of Mcnt is updated. Therefore, since "Mcnt = 0" is set in the register initialization routine, "Mcnt = 1" is set in step S702 immediately after the initialization.
【0101】ステップS702の処理を終了すると、ス
テップS704へ進み、Totalに「1」加算して、
Totalの値を更新する。When the process of step S702 is completed, the process proceeds to step S704, where "1" is added to Total,
Update the value of Total.
【0102】ステップS704の処理を終了すると、ス
テップS706へ進み、Mcntが「17」であるか否
か判断する。When the process of step S704 is completed, the process proceeds to step S706, and it is determined whether Mcnt is "17".
【0103】ステップS706の判断結果が肯定、即
ち、「Mcnt=17」である場合には、ステップS7
08へ進み、Mnumbに「1」を加算してMnumb
の値を更新する。If the result of the determination in step S706 is affirmative, ie, "Mcnt = 17", then step S7
Proceed to 08, add "1" to Mnum and add Mnum
Update the value of.
【0104】即ち、16クロック(Mcnt=16)で
あるときに、1小節分のクロックのカウントが終了した
ことになるので、「Mcnt=17」であるということ
は、1小節分のカウントが終了し、次の1小節目の先頭
クロックをカウントしたことになる。従って、Mnum
bに「1」を加算して、次の小節の小節番号を示すこと
になる。That is, when 16 clocks (Mcnt = 16) have been counted for one bar, it means that "Mcnt = 17" means that one bar has been counted. Then, the first clock of the next bar 1 is counted. Therefore, Mnum
"1" is added to b to indicate the bar number of the next bar.
【0105】ステップS708の処理を終了すると、ス
テップS710へ進み、現在処理中の小節の小節番号と
して、Mnumbの示す値を表示部20に表示する。When the processing in step S708 is completed, the flow advances to step S710 to display the value indicated by Mnumb on the display section 20 as the bar number of the bar currently being processed.
【0106】ステップS710の処理を終了すると、ス
テップS712へ進み、Mcntを「0」にクリアし
て、Mnumbにより指定される新たな小節の処理を行
うことになる。そして、ステップS712の処理を終了
すると、ステップS714へ進む。When the process of step S710 is completed, the process proceeds to step S712, Mcnt is cleared to "0", and the process of a new measure designated by Mnum is performed. When the process of step S712 ends, the process proceeds to step S714.
【0107】一方、ステップS706の判断結果が否
定、即ち、Mcntが「17」でない場合にも、ステッ
プS714へ進む。On the other hand, if the determination result of step S706 is negative, that is, if Mcnt is not "17", the process proceeds to step S714.
【0108】ステップS714では、Brepに「1」
がセットされているか否かを判断する。In step S714, Brep is "1".
It is determined whether or not is set.
【0109】ステップS714の判断結果が否定、即
ち、「Brep=0」でありブロック・リピート中でな
いならば、ステップS716へ進む。If the result of the determination in step S714 is negative, that is, if "Brep = 0" and block repeat is not in progress, the process proceeds to step S716.
【0110】一方、ステップS714の判断結果が肯
定、即ち、「Brep=1」でありブロック・リピート
中であるならば、ステップS718へ進み、Btota
lとTotalが一致するか否かを判断する。On the other hand, if the result of the determination in step S714 is affirmative, that is, if "Brep = 1" and block repeat is in progress, the process proceeds to step S718 and Btota.
It is determined whether l and Total match.
【0111】ステップS718の判断結果が否定、即
ち、BtotalとTotalが一致しない場合には、
ステップS716へ進む。If the result of the determination in step S718 is negative, that is, if Btotal and Total do not match,
It proceeds to step S716.
【0112】一方、ステップS718の判断結果が肯
定、即ち、BtotalとTotalが一致する場合に
は、リピート・ポイントBまでのクロック割り込みの処
理を終了したものであるので、ステップS720以降の
処理により、リピート・ポイントAからクロック割り込
み処理を開始させる処理を行う。On the other hand, if the result of the determination in step S718 is affirmative, that is, if Btotal and Total match, it means that the clock interrupt processing up to the repeat point B has been completed, so that the processing from step S720 onward is performed. Processing for starting the clock interrupt processing from the repeat point A is performed.
【0113】即ち、まずステップS720ではMnum
bにAnumbをセットし、ステップS722ではTo
talにAtotalをセットし、ステップS724で
はaddrにAaddrをセットし、ステップS726
ではWaitにAtimeに「1」加算した値をセット
する。That is, first, in step S720, Mnum
b is set to Anumb, and in Step S722, To
Atotal is set to tal, Aaddr is set to addr in step S724, and step S726
Then, the value obtained by adding "1" to Atime is set to Wait.
【0114】上記したステップS720乃至ステップS
726の処理により、次のクロック割り込みがかかる
と、ステップS716以降の処理により、リピート・ポ
イントAから演奏データの再生が開始されることにな
る。Steps S720 to S described above
When the next clock interrupt is applied by the processing of 726, the reproduction of the performance data is started from the repeat point A by the processing of step S716 and thereafter.
【0115】そして、ステップS726の処理を終了す
ると、ステップS728へ進み、現在発音中の楽音(リ
ピート・ポイントBに記録された演奏データに基づき発
音されている楽音)を全て消去し、ステップS716へ
進む。When the processing in step S726 is completed, the flow advances to step S728 to erase all the musical tones currently being generated (the musical tones produced based on the performance data recorded at repeat point B), and then to step S716. move on.
【0116】このステップS716以降の処理により、
addrにより指定される演奏データが、MIDI出力
装置24によって外部の音源などに出力されることにな
る。By the processing from step S716 onward,
The performance data specified by addr is output to an external sound source or the like by the MIDI output device 24.
【0117】まず、ステップS716においては、Wa
itから「1」減算して、Waitの値を更新してか
ら、ステップS730へ進む。First, in step S716, Wa
After subtracting “1” from it to update the value of Wait, the process proceeds to step S730.
【0118】ステップS730では、Waitが「0」
であるか否かを判断する。このステップS730の判断
結果が否定、即ち、Waitが「0」でない場合には、
待ち時間が終了していないものであるので、以降の処理
を行うことなくクロック割り込み処理を終了する。In step S730, Wait is "0".
Or not. When the determination result of step S730 is negative, that is, when Wait is not “0”,
Since the waiting time has not ended, the clock interrupt processing is ended without performing the subsequent processing.
【0119】一方、ステップS730の判断結果が肯
定、即ち、Waitが「0」でない場合には、待ち時間
が終了したものであるので、ステップS732へ進み、
addrにおける演奏データが、「FF」であるか、
「FE」であるか、あるいは「FF」および「FE」以
外のMIDIデータであるか判断する。On the other hand, if the result of the determination in step S730 is affirmative, that is, if Wait is not "0", it means that the waiting time has ended, so the flow proceeds to step S732.
Whether the performance data in addr is "FF",
It is determined whether it is “FE” or MIDI data other than “FF” and “FE”.
【0120】ステップS732の判断結果が「FF」で
あるならば、演奏データの終了を示すものであるので、
ステップS734へ進み、クロック割り込みを停止す
る。If the result of the determination in step S732 is "FF", it indicates the end of the performance data.
In step S734, the clock interrupt is stopped.
【0121】ステップS734の処理を終了すると、ス
テップS736へ進み、現在発音中の全ての楽音の消去
を指示し、さらにステップS738へ進んでレジスタの
初期化(図6)を行い、クロック割り込み処理ルーチン
を終了する。When the process of step S734 is completed, the process proceeds to step S736, an instruction is issued to erase all the musical tones currently being sounded, and further the process proceeds to step S738 to initialize the register (FIG. 6) and execute the clock interrupt processing routine To finish.
【0122】また、ステップS732の判断結果が「F
E」であるならば、addrの演奏データは時間データ
であるので、ステップS740へ進んで、addrの演
奏データ(時間データ)をWaitに加算してWait
の値を更新する。Further, the judgment result of step S732 is "F
If it is "E", the performance data of addr is time data, so the procedure advances to step S740, and the performance data of addr (time data) is added to Wait.
Update the value of.
【0123】ステップS740の処理を終了すると、ス
テップS742へ進み、addrに「1」加算してad
drの値を更新し、アドレスを「1」進めてステップS
730へ戻り処理を繰り返す。Upon completion of the processing in step S740, the flow advances to step S742 to add "1" to addr and add.
The value of dr is updated, the address is advanced by "1" and step S
Return to 730 and repeat the process.
【0124】さらに、ステップS732の判断結果が、
「FF」および「FE」以外のMIDIデータである場
合には、ステップS744へ進み、addrの演奏デー
タ(MIDIデータ)をMIDI出力装置24によって
出力する。Furthermore, the determination result of step S732 is
If the MIDI data is other than "FF" and "FE", the flow advances to step S744 to output the performance data (MIDI data) of addr by the MIDI output device 24.
【0125】ステップS744の処理を終了すると、ス
テップS746へ進み、addrに「1」加算してad
drの値を更新し、アドレスを「1」進めてステップS
730へ戻り処理を繰り返す。Upon completion of the processing in step S744, the flow advances to step S746 to add "1" to addr and add.
The value of dr is updated, the address is advanced by "1" and step S
Return to 730 and repeat the process.
【0126】以上で説明したように、クロック割り込み
ルーチンにより、addrで示すアドレスの演奏データ
が読み出され、当該演奏データの種類(「FF」、「F
E」あるいは「MIDIデータ」)に応じた処理が行わ
れる。As described above, the performance data of the address indicated by addr is read out by the clock interrupt routine, and the type ("FF" or "F" of the performance data is read.
E ”or“ MIDI data ”) is performed.
【0127】その際に、ブロック・リピートが設定され
ていれば、ステップS714乃至ステップS728の処
理により、リピート・ポイントAからリピート・ポイン
トBまでの演奏データが繰り返し処理されるようにな
る。At this time, if the block repeat is set, the performance data from the repeat point A to the repeat point B is repeatedly processed by the processes of steps S714 to S728.
【0128】そして、リピート・ポイントAおよびリピ
ート・ポイントBの指定においては、各小節中のいかな
る位置でSETスイッチ18dを操作しても、メイン・
ルーチンのステップS446乃至452およびステップ
S456乃至ステップS458のクォンタイズの処理に
より、図10に示すようにSETスイッチ18dを操作
した小節の先頭に、リピート・ポイントAおよびリピー
ト・ポイントBが必ず設定されることになる。When the repeat point A and the repeat point B are designated, even if the SET switch 18d is operated at any position in each measure, the main
By the quantizing process of steps S446 to 452 and steps S456 to S458 of the routine, the repeat point A and the repeat point B are always set at the head of the bar where the SET switch 18d is operated as shown in FIG. become.
【0129】なお、上記した実施例においては、クォン
タイズを小節単位で行うようにしたが、これに限られる
ことなしに、拍単位やメトノームのクリック単位など行
うようにしてもよいし、操作者が任意に可変することが
できるようにしてもよい。In the above-described embodiment, the quantizing is performed in units of measures, but the present invention is not limited to this, and it may be performed in units of beats, clicks of a metonome, or the like. It may be allowed to change arbitrarily.
【0130】また、上記した実施例においては、クォン
タイズを行う際に、小節中のいかなる位置でSETスイ
ッチ18dが押されても、必ず当該小節の先頭位置へリ
ピート・ポイントが設定されるようにしたが、これに限
られることなしに、以下のようにしてもよい。Further, in the above-described embodiment, when the quantize is performed, the repeat point is always set to the head position of the bar, no matter which position in the bar the SET switch 18d is pressed. However, without being limited to this, the following may be performed.
【0131】即ち、図11に示すように、メイン・ルー
チンのステップS446乃至ステップS452およびス
テップS456乃至ステップS458におけるクォンタ
イズの処理を、ステップS1146乃至ステップS11
52およびステップS1156乃至ステップS1158
と変更することにより、リピート・ポイントAに関して
は、小節の中間点未満でSETスイッチが押された場合
には、当該小節の先頭にリピート・ポイントAが設定さ
れることになる一方で、小節の中間以降においてSET
スイッチが押された場合には、当該小節の次の小節の先
頭にリピート・ポイントAが設定されることになる。That is, as shown in FIG. 11, the quantization process in steps S446 to S452 and steps S456 to S458 of the main routine is performed by steps S1146 to S11.
52 and steps S1156 to S1158
As a result, with regard to repeat point A, if the SET switch is pressed below the midpoint of the measure, repeat point A will be set at the beginning of the measure, while SET after the middle
When the switch is pressed, the repeat point A is set at the beginning of the bar next to the bar.
【0132】また、リピート・ポイントBに関しては、
小節のいかなる位置でSETスイッチが押されても、S
ETスイッチが押された小節の次の小節の先頭に、必ず
リピート・ポイントBが設定されることになる。Regarding repeat point B,
Even if the SET switch is pressed at any position in the measure, S
The repeat point B is always set at the beginning of the measure next to the measure in which the ET switch is pressed.
【0133】さらに、図12に示すように、メイン・ル
ーチンのステップS456乃至ステップS458におけ
るクォンタイズの処理を、ステップS1256乃至ステ
ップS1258と変更することにより、リピート・ポイ
ントAに関しては、上記した実施例に示したように、小
節中のいかなる位置でSETスイッチ18dが押されて
も、必ず当該小節の先頭位置へリピート・ポイントが設
定されるようになり、リピート・ポイントBに関して
は、小節のいかなる位置でSETスイッチが押されて
も、SETスイッチが押された小節の次の小節の先頭
に、必ずリピート・ポイントBが設定されることにな
る。Further, as shown in FIG. 12, by changing the quantizing process in steps S456 to S458 of the main routine to steps S1256 to S1258, the repeat point A can be changed to the above-described embodiment. As shown, even if the SET switch 18d is pressed at any position in the bar, the repeat point is always set to the leading position of the bar, and the repeat point B is set at any position of the bar. Even if the SET switch is pressed, the repeat point B is always set at the beginning of the bar next to the bar where the SET switch is pressed.
【0134】また、こうしたクォンタイズの処理の組み
合わせは、操作者が任意に設定できるようにしてもよ
い。The operator may arbitrarily set the combination of the quantizing processes.
【0135】さらにまた、上記実施例においては、理解
を容易にするために、最小分解能を16分音符とすると
ともに、テンポを「120」で固定とし、さらに拍子も
「4/4」で固定としたが、これに限られるものでない
ことは勿論であり、操作者が任意に設定できるようにし
てもよい。Furthermore, in the above embodiment, in order to facilitate understanding, the minimum resolution is 16th notes, the tempo is fixed at "120", and the time signature is also fixed at "4/4". However, it is needless to say that the present invention is not limited to this, and the operator may arbitrarily set it.
【0136】[0136]
【発明の効果】本発明は、以上説明したように構成され
ているので、以下に記載されるような効果を奏する。Since the present invention is constructed as described above, it has the following effects.
【0137】演奏データの所定位置に、所定の分解能に
基づきマーカーを設定するマーカー設定手段と、マーカ
ー設定手段により設定されたマーカーを、マーカー設定
手段より荒い分解能に基づきシフトして再設定するクォ
ンタイズ手段とを有するようにしたため、マーカー設定
手段によって設定されたマーカーは、クォンタイズ手段
によって、マーカー設定手段より荒い分解能に基づき設
定し直される。Marker setting means for setting a marker at a predetermined position of performance data based on a predetermined resolution, and quantizing means for shifting and resetting a marker set by the marker setting means based on a resolution lower than that of the marker setting means. And the marker set by the marker setting means is reset by the quantizing means based on a resolution lower than that of the marker setting means.
【0138】このため、クォンタイズ手段の分解能を小
節単位あるいは拍単位などにすることにより、小節の先
頭や小節中の任意の拍にマーカーを確実かつ容易に設定
することができる。Therefore, by setting the resolution of the quantizing means in units of measures or units of beats, it is possible to reliably and easily set markers at the beginning of measures and arbitrary beats in measures.
【0139】即ち、本発明のマーカー・クォンタイズ装
置よれば、マーカーを設定する際に、1クロック単位の
分解能により一律に設定されるのではなくて、小節単位
あるいは拍単位などのより荒い分解能で設定することが
できるようになるので、小節の先頭や小節中の任意の拍
にマーカーを確実かつ容易に設定できるようになり、マ
ーカー設定の際の操作性を著しく向上させることができ
る。That is, according to the marker / quantize device of the present invention, when the marker is set, the marker is not set uniformly by the resolution of one clock, but is set by a coarser resolution such as bar or beat. As a result, the marker can be reliably and easily set at the beginning of the bar or at an arbitrary beat in the bar, and the operability in setting the marker can be significantly improved.
【図1】本発明の一実施例によるマーカー・クォンタイ
ズ装置を備えた自動演奏装置を示すブロック構成図であ
る。FIG. 1 is a block diagram showing an automatic performance device provided with a marker quantizing device according to an embodiment of the present invention.
【図2】図1に示す自動演奏装置の操作パネルの説明図
である。FIG. 2 is an explanatory diagram of an operation panel of the automatic musical instrument shown in FIG.
【図3】図1に示す自動演奏装置の演奏データ形式を示
す説明図である。3 is an explanatory diagram showing a performance data format of the automatic performance device shown in FIG. 1. FIG.
【図4】メイン・ルーチンを示すローチャートである。FIG. 4 is a flowchart showing a main routine.
【図5】メイン・ルーチンを示すフローチャートであ
る。FIG. 5 is a flowchart showing a main routine.
【図6】レジスタの初期化ルーチンを示すフローチャー
トである。FIG. 6 is a flowchart showing a register initialization routine.
【図7】クロック割り込みルーチンを示すフローチャー
トである。FIG. 7 is a flowchart showing a clock interrupt routine.
【図8】クロック割り込みルーチンを示すフローチャー
トである。FIG. 8 is a flowchart showing a clock interrupt routine.
【図9】クォンタイズ処理の一部を説明するための概念
図である。FIG. 9 is a conceptual diagram for explaining a part of the quantizing process.
【図10】クォンタイズ処理を行った場合の動作例を示
す説明図である。FIG. 10 is an explanatory diagram showing an operation example when a quantizing process is performed.
【図11】クォンタイズ処理の変形例によるクロック割
り込みルーチンを示すフローチャートである。FIG. 11 is a flowchart showing a clock interrupt routine according to a modification of the quantizing process.
【図12】クォンタイズ処理の変形例によるクロック割
り込みルーチンを示すフローチャートである。FIG. 12 is a flowchart showing a clock interrupt routine according to a modification of the quantizing process.
10 CPU 12 バス 14 ROM 16 RAM 18 操作子部 20 表示部 22 カード・スロット 24 MIDI出力装置 10 CPU 12 Bus 14 ROM 16 RAM 18 Manipulator 20 Display 22 Card Slot 24 MIDI Output Device
Claims (1)
に基づきマーカーを設定するマーカー設定手段と、 前記マーカー設定手段により設定されたマーカーを、前
記マーカー設定手段より荒い分解能に基づきシフトして
再設定するクォンタイズ手段とを有することを特徴とす
るマーカー・クォンタイズ装置。1. A marker setting means for setting a marker at a predetermined position of performance data based on a predetermined resolution, and a marker set by the marker setting means is shifted based on a coarser resolution than the marker setting means and reproduced again. A marker quantizing device having a quantizing means for setting.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5237458A JPH0764547A (en) | 1993-08-30 | 1993-08-30 | Marker quantizer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5237458A JPH0764547A (en) | 1993-08-30 | 1993-08-30 | Marker quantizer |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0764547A true JPH0764547A (en) | 1995-03-10 |
Family
ID=17015643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5237458A Pending JPH0764547A (en) | 1993-08-30 | 1993-08-30 | Marker quantizer |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0764547A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007306279A (en) * | 2006-05-11 | 2007-11-22 | Sony Corp | Content marking method, content reproducing device, content reproducing method, and program for content marking and program for content retrieval |
JP2009535056A (en) * | 2006-05-02 | 2009-10-01 | ルーラル ディベロップメント アドミニストレーション ナショナル ライブストック リサーチ インスティチュウト | Method for producing rumen protecting choline |
JP2010145961A (en) * | 2008-12-22 | 2010-07-01 | Yamaha Corp | Automatic musical performance device and program |
USRE46481E1 (en) | 2006-02-17 | 2017-07-18 | Sony Corporation | Content reproducing apparatus, audio reproducing apparatus and content reproducing method |
-
1993
- 1993-08-30 JP JP5237458A patent/JPH0764547A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE46481E1 (en) | 2006-02-17 | 2017-07-18 | Sony Corporation | Content reproducing apparatus, audio reproducing apparatus and content reproducing method |
JP2009535056A (en) * | 2006-05-02 | 2009-10-01 | ルーラル ディベロップメント アドミニストレーション ナショナル ライブストック リサーチ インスティチュウト | Method for producing rumen protecting choline |
JP2007306279A (en) * | 2006-05-11 | 2007-11-22 | Sony Corp | Content marking method, content reproducing device, content reproducing method, and program for content marking and program for content retrieval |
JP2010145961A (en) * | 2008-12-22 | 2010-07-01 | Yamaha Corp | Automatic musical performance device and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
GB2142461A (en) | Electronic musical instrument with a play guide function | |
JPH11126074A (en) | Arpeggio sounding device, and medium recorded with program for controlling arpeggio sounding | |
GB2125602A (en) | Automatic performance apparatus | |
JP3562333B2 (en) | Performance information conversion device, performance information conversion method, and recording medium storing performance information conversion control program | |
JPH04274498A (en) | Automatic player | |
JPH0764547A (en) | Marker quantizer | |
JP3219917B2 (en) | Automatic performance device | |
JPH06342290A (en) | Automatic accompaniment device | |
US5736664A (en) | Automatic accompaniment data-processing method and apparatus and apparatus with accompaniment section selection | |
JP3671788B2 (en) | Tone setting device, tone setting method, and computer-readable recording medium having recorded tone setting program | |
US5070758A (en) | Electronic musical instrument with automatic music performance system | |
JPH06259064A (en) | Electronic musical instrument | |
GB2091470A (en) | Electronic Musical Instrument | |
JP2001356768A (en) | Electronic musical instrument | |
JP2669295B2 (en) | Automatic performance device and recording medium for performance information | |
JP2681146B2 (en) | Electronic musical instrument automatic performance device and automatic performance method | |
JP2625207B2 (en) | Automatic performance device | |
US5436404A (en) | Auto-play apparatus for generation of accompaniment tones with a controllable tone-up level | |
JP2625800B2 (en) | Automatic performance device | |
JP3680732B2 (en) | Performance device and storage medium | |
JPS62231295A (en) | Automatic performance system | |
JP2000352979A (en) | Arpeggio sounding device and medium on which program is recorded to control arpeggio sounding | |
JP3757664B2 (en) | Performance information reproducing apparatus and computer-readable recording medium recording performance information reproducing program | |
JP3760938B2 (en) | Performance information conversion device, performance information conversion method, and recording medium recording performance information conversion control program | |
JP3055352B2 (en) | Accompaniment pattern creation device |