JPH07109556B2 - Automatic performance recorder - Google Patents

Automatic performance recorder

Info

Publication number
JPH07109556B2
JPH07109556B2 JP1343214A JP34321489A JPH07109556B2 JP H07109556 B2 JPH07109556 B2 JP H07109556B2 JP 1343214 A JP1343214 A JP 1343214A JP 34321489 A JP34321489 A JP 34321489A JP H07109556 B2 JPH07109556 B2 JP H07109556B2
Authority
JP
Japan
Prior art keywords
register
key
channel
instruction
routine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP1343214A
Other languages
Japanese (ja)
Other versions
JPH03200288A (en
Inventor
好成 寺田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP1343214A priority Critical patent/JPH07109556B2/en
Publication of JPH03200288A publication Critical patent/JPH03200288A/en
Publication of JPH07109556B2 publication Critical patent/JPH07109556B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

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

「産業上の利用分野」 この発明は、MIDI(Music Instrument Degital Informa
tion)シーケンサ等の自動演奏記録装置に関する。 「従来の技術」 電子楽器における鍵盤等の操作子の操作を示すMIDI情報
を記録媒体に記録すると共に、記録媒体に記憶されたMI
DI情報を読み出し、電子楽器等に自動演奏情報として供
給する自動演奏記録装置が知られている。 「発明が解決しようとする課題」 ところで、従来の自動演奏記録装置の場合、鍵盤操作等
の操作情報しか記録媒体に記録されず、自動演奏時、満
足な演奏効果が得られないという問題があった。 この発明は、上述した事情に鑑みてなされたものであ
り、簡単な操作子の操作によって、鍵盤操作に対応した
楽音に変化を与える自動演奏情報を作成して記録するこ
とができ、再生時、演奏効果に富んだ自動演奏を行うこ
とができる自動演奏記録装置を提供することを目的とし
ている。 「課題を解決するための手段」 この発明は、複数の記憶領域を有し、各記憶領域に楽音
発生の基となる自動演奏情報と該楽音発生の態様を制御
する制御情報とを記憶する記憶手段と、第1の操作子
と、第2の操作子と、前記第1の操作子の操作情報に対
応した前記自動演奏情報を前記記憶手段の各記憶領域に
書き込む第1の書き込み手段と、前記第2の操作子の操
作量に応じた操作情報から、前記記憶手段の各記憶領域
に個別に対応する複数の前記制御情報を作成する制御情
報作成手段と、前記制御情報作成手段によって作成され
た複数の前記制御情報をそれぞれ対応する前記記憶領域
に書き込む第2の書き込み手段と、を具備することを特
徴としている。 「作用」 上記構成によれば、第1の書き込み手段は、第1の操作
子の操作情報に対応した自動演奏情報を記憶手段の各記
憶領域に書き込み、制御情報作成手段は、第2の操作子
の操作量に応じた操作情報から、各記憶領域に個別に対
応する複数の制御情報を作成し、第2の書き込み手段
は、それらの制御情報にそれぞれに対応した複数の記憶
領域に書き込む。従って、操作者は、第1の操作子と第
2の操作子とを操作することによって、自動演奏情報
と、複数の制御情報とを発生し、それらの情報を所定の
記憶領域に自動的に記録することができる。 「実施例」 以下、図面を参照し、本発明の一実施例を説明する。 《実施例の構成》 第1図はこの発明の一実施例によるMIDIシーケンサの構
成を示すブロック図である。同図において、1は鍵盤で
あり、多くの鍵が配備されると共に、各鍵の押鍵および
離鍵を検出する検出部を有する。また、2は第2図に示
すように各種スイッチ類および各種表示器類が配備され
た操作パネルである。3は後述するベクタシンセサイザ
部によって発生する楽音の音像位置を操作する操作子と
して設けられたジョイスティック、4はジョイスティッ
ク3から出力される操作量に応じたアナログ信号をデジ
タル信号に変換するA/D(アナログ/デジタル)変換器
である。5はROM(リードオンリメモリ)によって実現
され、このMIDIシーケンサの動作を制御する制御プログ
ラムを記憶してなるプログラムメモリ、6はRAM(ラン
ダムアクセスメモリ)によって実現されるワーキングメ
モリである。また、7はこのMIDIシーケンサによって作
成されるMIDI情報を記憶するソングメモリであって、半
導体メモリによって実現されている。8はこのMIDIシー
ケンサ全体の動作を制御するCPU(中央処理ユニット)
である。また、Bは以上の各構成要素を相互に接続する
システムバスである。 TGは楽音を形成するトーンジェネレータであり、16個の
発音チャネルch1〜ch16および各発音チャネルch1〜ch16
によって形成される楽音信号を加算する加算器11および
12を有する。加算器11および12の各出力は、各々、D/A
(デジタル/アナログ)変換器13および14によってアナ
ログ信号に変換され、左スピーカLおよび右スピーカR
から各々楽音として出力される。 ここで、第3図を参照し、このMIDIシーケンサにおける
操作情報の処理の概略を説明する。ソングメモリ7の記
憶領域は16個のチャネルMCH1〜MCH16に区分されてい
る。そして、各チャネル単位で鍵盤1から検出される操
作情報の記録を行うことができ、また、各チャネル単位
で操作情報を再生してトーンンジェネレータTGから楽音
を発生することができる。また、記録および再生の並行
処理が可能であり、あるチャネルを再生し、それをバッ
クとして演奏者が鍵盤1を演奏し、所望のチャネルにそ
の操作情報をリアルタイムに記録することができる。 16個のチャネルの内、第5〜第9チャネルMCH5〜MCH9は
各々メロディ部第1〜第5トラックに対応した操作情報
の記録に用いられ、第15チャネルMCH15および第16チャ
ネルMCH16は各々和音部およびリズム部の操作情報の記
録に用いられる。また、第1〜第4チャネルMCH1〜MCH4
はベクタシンセサイザ部であり、各チャネルにはキーコ
ード、押鍵および離鍵の速度、発音タイミング等の同じ
楽音の操作情報が記録されると共に、各チャネルに対応
した楽音を発生する際の音量を制御するチャネルプレッ
シャ命令が記録される。 再生時、ソングメモリ7の第1〜第4チャネルMCH1〜MC
H4の各操作情報はトーンジェネレータTGの第1〜第4発
音チャネルch1〜ch4に、第5〜第9チャネルMCH5〜MCH9
の各操作情報は第5〜第9発音チャネルch5〜ch9に送ら
れる。 次に第2図を参照し、操作パネル2に配備された各種ス
イッチおよび表示器を説明する。SW1〜SW8は再生あるい
は記録するトラックを指示するトラック指示スイッチで
ある。さらに詳述すると、スイッチSW1〜SW5はメロディ
部第1トラック〜第5トラック指示用、スイッチSW6は
ベクタシンセサイザ部指示用、スイッチSW7は和音部指
示用、スイッチSW8はリズム部指示用である。LA1〜LA8
は、各々、トラック指示スイッチSW1〜SW8に対応した各
トラックのモードを表示するLED表示ランプである。 SW9は記録スイッチ、SW10はスタートスイッチ、SW11は
記録再生停止スイッチである。ソングメモリ7に操作情
報を記録する場合、記録スイッチSW9とトラック指定ス
イッチSW1〜SW8の内のいずれかをオンにする。これによ
り、指定された演奏トラックの操作情報の記録待機状態
となる。この記録待機状態において、スタートスイッチ
SW10をオンあるいは鍵盤1のいずれかの鍵をオンする
と、操作情報の記録が開始される。SW12はプレイスイッ
チであり、このスイッチをオンすることにより、既にソ
ングメモリ7に記録された操作情報の再生および新規に
作成される操作情報の記録が開始の指示が行われる。 SW13は処理すべき小節番号を1つ進めることを指示する
小節送りスイッチ、SW14は処理すべき小節番号を1つ戻
すことを指示する小節戻しスイッチである。DISP1は現
在処理中の小節番号を表示する小節番号表示器、DISP2
は現時点におけるテンポを表示するテンポ表示器であ
り、各々、7セグメントLED表示器によって実現されて
いる。スイッチSW15はテンポを速くすることを指示する
テンポアップスイッチ、SW16はテンポを遅くすることを
指示するテンポダウンスイッチである。 次にワーキングメモリ6に設定される主なレジスタ、フ
ラグ類を列挙して説明する。 ◇記録フラグRECORD このフラグは操作情報をソングメモリ7に記録する記録
モードに設定する場合にセットされる。 ◇記録待機フラグRECWAIT このフラグは記録待機モードに移行する際にセットされ
る。 ◇プレイフラグPLAY このフラグはソングメモリ7から操作情報を再生する再
生モードに設定する場合にセットされる。 ◇キーオンフラグKON このフラグは鍵盤1におけるいずれかの鍵が押鍵された
場合にセットされる。 ◇キーオフフラグKOFF このフラグは鍵盤1におけるいずれかの鍵が離鍵された
場合にセットされる。 ◇小節番号レジスタMEASURE このレジスタには現在処理中の操作情報が属する小節番
号が保持される。 ◇時刻カウンタMC このカウンタは一定周期で発生されるクロックパルスを
カウントする。この時刻カウンタMCのカウント値を判断
することにより、各処理のタイミング制御が行われる。 ◇前回イベント時刻レジスタPreMC このレジスタには、処理済みイベントの発生時刻が保持
される。 ◇メトロノーム発生時刻レジスタCOUNT このレジスタにはメトロノーム音を発生する時刻を指定
する情報が書き込まれる。時刻カウンタMCのカウント値
がこのレジスタCOUNTの保持情報に達した場合にメトロ
ノーム音が発生される。 ◇テンポレジスタTEMPO このレジスタにはテンポを指示するテンポ情報が保持さ
れる。 ◇インターバルタイムレジスタTI このレジスタには、当該時点における処理済みイベント
の発生時刻からその次のイベントを発生する時刻までの
インターバル時間を示す情報が保持される。 ◇上位バイトレジスタII このレジスタには上記インターバル時間の上位バイトが
書き込まれる。 ◇下位バイトレジスタii このレジスタには上記インターバル時間の下位バイトが
書き込まれる。 ◇書込チャネルレジスタWC このレジスタには、ソングメモリ7における記録を行う
チャネルを指定するチャネル番号がセットされる。 ◇再生チャネルレジスタPC このレジスタには、ソングメモリ7における再生を行う
チャネルを指定するチャネル番号がセットされる。 ◇チャネルレジスタCH このレジスタはチャネル番号の処理に用いられる汎用レ
ジスタである。 ◇オペレーションレジスタOP このレジスタは操作情報のオペレーション部のコード
(1バイト)を保持する。 ◇キーコードレジスタKC このレジスタには、鍵盤1において操作されたキーのキ
ーコードおよびトーンジェネレータTGにおいて発生する
楽音のキーコードがセットされる。 ◇鍵速度レジスタ このレジスタにはキーをオンあるいはオフする時の速度
を示すベロシティ情報が保持される。 ◇ボリュームレジスタVOL(1)〜VOL(4) このレジスタにはソングメモリ7のベクタシンセサイザ
部の各チャネルのボリュームを指定する情報が記憶され
る。 ◇メロディレジスタKEY トラック指定スイッチSW1〜SW5のいずれかがオンされた
場合、そのスイッチの番号がこのレジスタにセットされ
る。 ◇命令長レジスタN このレジスタには処理すべき操作情報の命令長が書き込
まれる。 ◇ビートレジスタBEAT このレジスタは現時点が1小節内の何拍目であるかを示
す情報を保持する。 ◇操作量レジスタX このレジスタにはジョイステック3のX軸方向の操作量
を示す情報が書き込まれる。 ◇操作量レジスタY このレジスタにはジョイステック3のY軸方向の操作量
を示す情報が書き込まれる。 ◇ステートレジスタSTATE(1)〜STATE(6) これらのレジスタはメロディ部第1〜第5トラック、ベ
クタシンセサイザ部、和音部、リズム部からなる8個の
演奏トラックの各々の動作モードを制御する情報が書き
込まれる。すなわち、STATE(i)=1の場合、当該ト
ラックiは再生が許可され、STATE(i)=2の場合、
当該トラックiは発音禁止状態となり、STATE(i)=
3の場合、当該トラックiは記録が許可される。 《実施例の動作》 第4図はCPU8によって実行される各ルーチンの体系を示
すものである。これら各ルーチンのフローチャートは、
第5図〜第31図に各々示されている。以下、これらのフ
ローチャートを参照し、このMIDIシーケンサの動作を説
明する。 このMIDIシーケンサの電源が投入されると、CPU8は第5
図に示すメインルーチンを起動し、ステップS1に進んで
初期化処理を行い、ワークメモリ6内の各レジスタ、フ
ラグ類に初期値を書き込む。次いでステップS2に進み、
第6図に示す鍵処理ルーチンを開始する。ステップS11
に進むと、鍵盤ユニット1の各キーの状態を走査する。
この走査によって、鍵盤ユニット1からキーオンイベン
トが検出された場合はキーオンフラグKONがセットさ
れ、キーオフイベントが検出された場合がキーオフフラ
グKOFFがセットされる。次にステップS12に進み、キー
オンフラグKONがセット状態であるか否かを判断し、鍵
盤操作がなされない場合は判断結果が「NO」となってス
テップS13に進む。そして、キーオフフラグKOFFがセッ
ト状態か否かを判断し、鍵盤操作がなされない場合は判
断結果が「NO」となってステップS14に進む。そして、
第7図に示すスイッチ処理ルーチンを開始する。 ステップS20に進むと、操作パネル2に設けられた各ス
イッチを走査し、オン状態に切り換わったスイッチを検
出する。そして、ステップS21以降の各ステップにおい
て各スイッチがオフからオンに切り換わったか否かを判
断し、判断結果が「YES」の場合に当該スイッチに対応
した各処理を実行する。いずれのスイッチもオフ状態の
場合はステップS21〜S30を通過してスイッチ処理ルーチ
ンを終了し、鍵処理ルーチンを介してメインルーチンに
戻る。 次にメインルーチンのステップS3に進むと、第8図に示
すジョイスティック処理ルーチンを開始し、ジョイステ
ィック3の操作量を検出する。なお、このジョイスティ
ック処理ルーチンの詳細については後述する。 そして、ステップS3を終了するとステップS4に進み、第
9図に示すシーケンサ処理ルーチンを開始する、初期化
処理がなされた状態の場合、記録待機フラグRECWAIT、
プレイフラグPLAYおよび記録フラグRECORDは共にリセッ
ト状態であり、ステップS51〜S53の判断結果はいずれも
「NO」となり、メインルーチンに戻る。そして、上述し
たように、ステップS2〜S4を繰り返す。
"Industrial field of application" This invention is based on MIDI (Music Instrument Degital Informa
tion) relates to an automatic performance recording device such as a sequencer. "Prior Art" MIDI information indicating the operation of an operator such as a keyboard of an electronic musical instrument is recorded on a recording medium and the MI stored in the recording medium is recorded.
There is known an automatic performance recording device that reads DI information and supplies it as electronic performance information to an electronic musical instrument or the like. [Problems to be Solved by the Invention] By the way, in the case of the conventional automatic performance recording apparatus, there is a problem that only operation information such as keyboard operation is recorded on the recording medium, and a satisfactory performance effect cannot be obtained during automatic performance. It was The present invention has been made in view of the above-mentioned circumstances, and it is possible to create and record automatic performance information that changes a musical tone corresponding to a keyboard operation by a simple operation of an operator, and at the time of reproduction, It is an object of the present invention to provide an automatic performance recording device capable of performing an automatic performance rich in performance effect. "Means for Solving the Problem" The present invention has a storage having a plurality of storage areas, and stores in each storage area automatic performance information that is a basis of musical tone generation and control information that controls the mode of musical tone generation. Means, a first manipulator, a second manipulator, and a first writing means for writing the automatic performance information corresponding to the operation information of the first manipulator into each storage area of the storage means, Created by the control information creating unit that creates a plurality of the control information individually corresponding to each storage area of the storage unit from the operation information according to the operation amount of the second operator, and the control information creating unit. And a second writing unit that writes the plurality of pieces of control information to the corresponding storage areas, respectively. [Operation] According to the above configuration, the first writing unit writes the automatic performance information corresponding to the operation information of the first operator in each storage area of the storage unit, and the control information creating unit sets the second operation. A plurality of control information individually corresponding to each storage area is created from the operation information according to the operation amount of the child, and the second writing unit writes the control information in the plurality of storage areas respectively corresponding to the control information. Therefore, the operator generates the automatic performance information and the plurality of control information by operating the first operator and the second operator, and the information is automatically stored in a predetermined storage area. Can be recorded. [Embodiment] An embodiment of the present invention will be described below with reference to the drawings. << Structure of Embodiment >> FIG. 1 is a block diagram showing the structure of a MIDI sequencer according to an embodiment of the present invention. In the figure, reference numeral 1 denotes a keyboard, which is provided with a large number of keys and which has a detection unit for detecting key depression and key release of each key. Reference numeral 2 is an operation panel provided with various switches and various indicators as shown in FIG. 3 is a joystick provided as an operator for operating the sound image position of a musical sound generated by a vector synthesizer section, which will be described later, and 4 is an A / D (converts an analog signal corresponding to the operation amount output from the joystick 3 into a digital signal). It is an analog / digital converter. Reference numeral 5 is a program memory realized by a ROM (Read Only Memory) and storing a control program for controlling the operation of the MIDI sequencer, and 6 is a working memory realized by a RAM (Random Access Memory). Further, 7 is a song memory for storing MIDI information created by this MIDI sequencer, which is realized by a semiconductor memory. 8 is a CPU (central processing unit) that controls the operation of the entire MIDI sequencer.
Is. Further, B is a system bus that connects the above-described components to each other. TG is a tone generator that forms musical tones, and includes 16 sounding channels ch1 to ch16 and each sounding channel ch1 to ch16.
An adder 11 for adding the tone signals formed by
Having twelve. The outputs of adders 11 and 12 are D / A
(Digital / analog) converters 13 and 14 convert to analog signals, left speaker L and right speaker R
Are output as musical tones. Here, the outline of the processing of the operation information in this MIDI sequencer will be described with reference to FIG. The storage area of the song memory 7 is divided into 16 channels MCH1 to MCH16. Then, the operation information detected from the keyboard 1 can be recorded in each channel unit, and the operation information can be reproduced in each channel unit to generate a musical sound from the toneon generator TG. In addition, parallel processing of recording and reproduction is possible, and a certain channel can be reproduced, the player can play the keyboard 1 with it as a back, and the operation information can be recorded in a desired channel in real time. Of the 16 channels, the fifth to ninth channels MCH5 to MCH9 are used to record operation information corresponding to the first to fifth tracks of the melody part, and the fifteenth channel MCH15 and the sixteenth channel MCH16 are respectively chord parts. And used for recording operation information of the rhythm section. Also, the first to fourth channels MCH1 to MCH4
Is a vector synthesizer section, in which each channel stores operation information of the same musical tone such as key code, key pressing and key releasing speeds, sounding timings, and the volume at which the musical tone corresponding to each channel is generated. The controlling channel pressure command is recorded. During playback, the first to fourth channels MCH1 to MC of song memory 7
The operation information of H4 is transmitted to the tone generator TG on the first to fourth sounding channels ch1 to ch4 and the fifth to ninth channels MCH5 to MCH9.
Each operation information of is transmitted to the fifth to ninth sound generation channels ch5 to ch9. Next, various switches and indicators provided on the operation panel 2 will be described with reference to FIG. SW1 to SW8 are track instruction switches for instructing a track to be reproduced or recorded. More specifically, the switches SW1 to SW5 are for instructing the first to fifth tracks of the melody section, the switch SW6 is for instructing the vector synthesizer section, the switch SW7 is for instructing the chord section, and the switch SW8 is for instructing the rhythm section. LA1 ~ LA8
Are LED display lamps for displaying the mode of each track corresponding to the track indicating switches SW1 to SW8. SW9 is a recording switch, SW10 is a start switch, and SW11 is a recording / playback stop switch. When recording the operation information in the song memory 7, one of the recording switch SW9 and the track specifying switches SW1 to SW8 is turned on. As a result, the operation information of the designated performance track is put into a recording standby state. In this recording standby state, the start switch
When SW10 is turned on or any key on the keyboard 1 is turned on, recording of operation information is started. SW12 is a play switch, and when this switch is turned on, an instruction to start the reproduction of the operation information already recorded in the song memory 7 and the recording of the newly created operation information is issued. SW13 is a bar feed switch for instructing to advance the bar number to be processed by one, and SW14 is a bar return switch for instructing to return the bar number to be processed by one. DISP1 is a bar number indicator that displays the bar number currently being processed, DISP2
Are tempo indicators that display the current tempo, each of which is realized by a 7-segment LED indicator. The switch SW15 is a tempo up switch for instructing to increase the tempo, and the SW16 is a tempo down switch for instructing to decrease the tempo. Next, main registers and flags set in the working memory 6 will be listed and described. Recording flag RECORD This flag is set when setting the recording mode in which the operation information is recorded in the song memory 7. ◇ Recording standby flag RECWAIT This flag is set when shifting to the recording standby mode. Play flag PLAY This flag is set when the reproduction mode for reproducing the operation information from the song memory 7 is set. ◇ Key-on flag KON This flag is set when any key on the keyboard 1 is pressed. ◇ Key-off flag KOFF This flag is set when any key on the keyboard 1 is released. ◇ Bar number register MEASURE This register holds the bar number to which the operation information currently being processed belongs. ◇ Time counter MC This counter counts clock pulses generated in a fixed cycle. The timing control of each process is performed by determining the count value of the time counter MC. ◇ Previous event time register PreMC This register holds the time when the processed event occurred. ◇ Metronome generation time register COUNT Information that specifies the time when the metronome sound is generated is written in this register. When the count value of the time counter MC reaches the information held in the register COUNT, a metronome sound is generated. ◇ Tempo register TEMPO This register holds tempo information indicating the tempo. ◇ Interval time register TI This register holds information indicating the interval time from the occurrence time of the processed event at that time to the time of the next event. ◇ Upper byte register II The upper byte of the above interval time is written to this register. ◇ Lower byte register ii The lower byte of the above interval time is written to this register. Write channel register WC In this register, a channel number designating a channel in the song memory 7 for recording is set. Reproduction channel register PC In this register, a channel number for designating a channel in the song memory 7 for reproduction is set. ◇ Channel register CH This register is a general-purpose register used for processing channel numbers. ◇ Operation register OP This register holds the code (1 byte) of the operation part of the operation information. ◇ Key code register KC In this register, the key code of the key operated on the keyboard 1 and the key code of the tone generated by the tone generator TG are set. ◇ Key speed register This register holds velocity information indicating the speed at which the key is turned on or off. Volume register VOL (1) to VOL (4) This register stores information designating the volume of each channel of the vector synthesizer section of the song memory 7. ◇ Melody register key When any of the track specification switches SW1 to SW5 is turned on, the switch number is set in this register. -Instruction length register N The instruction length of the operation information to be processed is written in this register. ◇ Beat register BEAT This register holds information indicating which beat in one bar the present time is. Operation amount register X Information indicating the operation amount of the joystick 3 in the X-axis direction is written in this register. Operation amount register Y Information indicating the operation amount of the joystick 3 in the Y-axis direction is written in this register. ◇ State registers STATE (1) to STATE (6) These registers are information for controlling the operation mode of each of the eight performance tracks consisting of the melody section first to fifth tracks, the vector synthesizer section, the chord section, and the rhythm section. Is written. That is, when STATE (i) = 1, reproduction of the track i is permitted, and when STATE (i) = 2,
The track i is in the pronunciation disabled state, and STATE (i) =
In the case of 3, the track i is permitted to be recorded. << Operation of the Embodiment >> FIG. 4 shows a system of each routine executed by the CPU 8. The flow chart for each of these routines is
Each is shown in FIGS. The operation of this MIDI sequencer will be described below with reference to these flowcharts. When the power of this MIDI sequencer is turned on, the CPU8
The main routine shown in the figure is started, and the process proceeds to step S1 to perform the initialization process, and write the initial values to the registers and flags in the work memory 6. Then proceed to step S2,
The key processing routine shown in FIG. 6 is started. Step S11
When the process advances to step S1, the state of each key of the keyboard unit 1 is scanned.
By this scanning, the key-on flag KON is set when a key-on event is detected from the keyboard unit 1, and the key-off flag KOFF is set when a key-off event is detected. Next, in step S12, it is determined whether or not the key-on flag KON is in the set state. If the keyboard is not operated, the determination result is "NO", and the process proceeds to step S13. Then, it is determined whether or not the key-off flag KOFF is in the set state, and if the keyboard is not operated, the determination result is "NO" and the process proceeds to step S14. And
The switch processing routine shown in FIG. 7 is started. In step S20, the switches provided on the operation panel 2 are scanned to detect the switches that have been turned on. Then, in each step after step S21, it is determined whether or not each switch is switched from off to on, and when the determination result is “YES”, each process corresponding to the switch is executed. If all the switches are in the off state, the process goes through steps S21 to S30 to end the switch processing routine, and returns to the main routine via the key processing routine. Next, when proceeding to step S3 of the main routine, the joystick processing routine shown in FIG. 8 is started to detect the operation amount of the joystick 3. The details of this joystick processing routine will be described later. When step S3 ends, the process proceeds to step S4, and the sequencer processing routine shown in FIG. 9 is started. In the case where initialization processing has been performed, the recording standby flag RECWAIT,
Both the play flag PLAY and the recording flag RECORD are in the reset state, the determination results of steps S51 to S53 are all "NO", and the process returns to the main routine. Then, as described above, steps S2 to S4 are repeated.

【電子楽器モード】[Electronic instrument mode]

フラグRECWAIT、PLAYおよびRECORDがすべてリセット状
態(電源投入時の初期設定完了状態)の場合、このMIDI
シーケンサを単なる鍵盤電子楽器として動作させること
ができる。以下、その場合の動作を説明する。演奏者に
よって鍵盤1がキーオンされたとする。この場合、第5
図のステップS2を介して第6図のステップS11に進み、
キーオンイベントが検出される。そして、ステップS12
の判断結果が「YES」となってステップS15に進み、第10
図に示すキーオン処理ルーチンを開始する。まず、ステ
ップS71に進み、キーオンイベントにおけるキーコード
をキーコードレジスタKCに取り込む。次にステップS72
に進み、キーオンの際の押鍵速度を示すベロシティ情報
を鍵速度レジスタKVに取り込む。次にステップS73に進
み、第6ステートレジスタSTATE(6)の記憶内容が
「3」であるか否か、すなわち、ベクタシンセサイザ部
が記録モードであるか否かを判断する。この場合、判断
結果は「NO」となり、ステップS74に進む。そして、キ
ーコードレジスタKCに格納されたキーコードおよび鍵速
度レジスタKVに格納されたベロシティ情報をオペラント
とするキーオン命令KONをトーンジェネレータTGに供給
する。この結果、ベロシティ情報に応じたイニシャルタ
ッチで、指定されたキーコードの楽音が発音される。次
にステップS75に進み、記録フラグRECORDがセット状態
か否かを判断する。この場合、判断結果が「NO」とな
り、鍵処理ルーチンを介してメインルーチンに戻る。 次に演奏者が押鍵中のキーを離鍵したとする。この場
合、第5図のステップS2を介して第6図のステップS11
に進み、キーオフイベントを検出する。次いでステップ
S12の判断結果が「NO」となってステップS13に進み、ス
テップS13の判断結果が「YES」となり、第11図に示すキ
ーオフ処理ルーチンに進む。まず、ステップS91に進
み、キーオフイベントにおけるキーコードをキーコード
レジスタKCに取り込む。次にステップS92に進み、キー
オフの際の離鍵速度を示すベロシティ情報を鍵速度レジ
スタKVに取り込む。次にステップS93に進み、ステート
レジスタSTATE(6)の記憶内容が「3」であるか否か
を判断し、判断結果が「NO」となってステップS94に進
む。そして、キーコードレジスタKCに格納されたキーコ
ードおよび鍵速度レジスタKVに格納されたベロシティ情
報をオペラントとするキーオフ命令KOFFをトーンジェネ
レータTGに供給する。この結果、当該キーコードの楽音
がベロシティ情報に応じたリリースタッチで減衰し、消
滅する。次にステップS95に進み、記録フラグRECORDが
“1"か否かを判断する。この場合、判断結果が「NO」と
なり、鍵処理ルーチンを介してメインルーチンに戻る。
If all the flags RECWAIT, PLAY and RECORD are in the reset state (initial setting completion state at power-on), this MIDI
The sequencer can be operated simply as a keyboard electronic musical instrument. The operation in that case will be described below. It is assumed that keyboard 1 is keyed on by the performer. In this case, the fifth
Go to step S11 in FIG. 6 through step S2 in the figure,
Key-on event is detected. And step S12
The determination result of "YES" is "YES", and the process proceeds to step S15.
The key-on processing routine shown in the figure is started. First, in step S71, the key code at the key-on event is loaded into the key code register KC. Then in step S72
Then, the velocity information indicating the key pressing speed at the time of key-on is loaded into the key speed register KV. Next, in step S73, it is determined whether the stored content of the sixth state register STATE (6) is "3", that is, whether the vector synthesizer unit is in the recording mode. In this case, the determination result is “NO”, and the process proceeds to step S74. Then, a key-on command KON having the key code stored in the key code register KC and the velocity information stored in the key velocity register KV as an operant is supplied to the tone generator TG. As a result, the musical tone of the designated key code is generated by the initial touch according to the velocity information. Next, in step S75, it is determined whether the recording flag RECORD is in the set state. In this case, the determination result is "NO", and the process returns to the main routine via the key processing routine. Next, it is assumed that the performer releases the key being pressed. In this case, through step S2 in FIG. 5 to step S11 in FIG.
Proceed to to detect a key-off event. Then step
The determination result in S12 is "NO" and the process proceeds to step S13, the determination result in step S13 is "YES" and the key-off process routine shown in FIG. 11 is performed. First, in step S91, the key code at the key-off event is loaded into the key code register KC. Next, proceeding to step S92, velocity information indicating the key release speed at the time of key-off is loaded into the key speed register KV. Next, the process proceeds to step S93, it is determined whether or not the stored content of the state register STATE (6) is "3", the determination result is "NO", and the process proceeds to step S94. The tone generator TG is supplied with a key-off command KOFF that uses the key code stored in the key code register KC and the velocity information stored in the key velocity register KV as an operant. As a result, the tone of the key code is attenuated by the release touch according to the velocity information and disappears. Next, in step S95, it is determined whether the recording flag RECORD is "1". In this case, the determination result is "NO", and the process returns to the main routine via the key processing routine.

【各トラックのモード切換処理】[Mode switching process for each track]

このMIDIシーケンサによれば、演奏者がトラック指示ス
イッチSW1〜SW8を操作することにより、トーンジェネレ
ータTGにおける各トラックに対応した発音チャネルの発
音許可/発音禁止の切り換えを行うことができ、また、
各トラックのソングメモリ7への記録を許可したり、あ
るいは禁止したり、切り換えることができる。以下、そ
の場合の処理を説明する。 トラック指示スイッチSW1〜SW5のいずれかが演奏者によ
ってオンされた場合、オンされたスイッチSW1〜SW5に対
応し、番号1〜5がキーレジスタKEYに書き込まれる。
そして、メインルーチンのステップS2から鍵処理ルーチ
ンを介してスイッチ処理ルーチンが起動された場合に、
ステップS20〜S25を介してステップS35に進み、第15図
に示すメロディ処理ルーチンが実行される。 まず、ステップS201に進み、記録スイッチSW9がオンさ
れているか否かを判断する。そして、判断結果が「NO」
の場合はステップS202に進む。そして、キーレジスタKE
Yによって指定されるステートレジスタSTATE(KEY)の
内容が「1」か否か、すなわち、トラックKEYの発音が
許可されているか否かを判断する。そして、判断結果が
「YES」の場合はステップS203に進み、ステートレジス
タSTATE(KEY)に「2」をセットしてトラックKEYの発
音を禁止し、次いでステップS204に進んで、LEDランプL
A1〜LA5の内、キーレジスタKEYに対応したランプを点灯
し、スイッチ処理ルーチンを介してメインルーチンに戻
る。また、ステップS202の判断結果が「NO」の場合はス
テップS205に進み、ステートレジスタSTATE(KEY)に
「1」をセットしてトラックKEYの発音を許可し、次い
でステップS207に進んで、LEDランプLA1〜LA5の内、キ
ーレジスタKEYに対応したランプを消灯し、スイッチ処
理ルーチンを介してメインルーチンに戻る。 一方、記録スイッチSW9がオンされ、ステップS201の判
断結果が「YES」となった場合はステップS211に進ん
で、記録フラグRECORDがセット状態か否かを判断する。
そして、判断結果が「YES」の場合はスイッチ処理ルー
チンを介してメインルーチンに戻り、「NO」の場合はス
テップS213に進み、キーレジスタKEYの内容に4を加え
た番号を書込チャネル番号として書込チャネルレジスタ
WCにセットする。次いでステートレジスタSTATE(KEY)
に記録モードであることを示す情報「3」をセットし、
スイッチ処理ーチンを介してメインルーチンに戻る。 トラック指示スイッチSW6が演奏者によってオンされた
場合も同様の手順によって第16図に示すベクタシンセサ
イザ処理ルーチンが実行される。そして、ベクタシンセ
サイザ部に対応したステートレジスタSTATE(6)の切
換およびそれに伴ったLEDランプLA6の切換が行われる。
また、トラック指示スイッチSW7がオンされた場合も同
様であり、第17図のリズム処理ルーチンが起動されるこ
とにより、ステートレジスタSTATE(8)の切換および
それに伴ったLEDランプLA8の切換が行われる。また、ト
ラック指示スイッチSW8がオンされた場合も第18図の和
音処理ルーチンが起動され、ステートレジスタSTATE
(7)の切換およびそれに伴ったLEDランプLA7の切換が
行われる。
According to this MIDI sequencer, the performer can operate the track instruction switches SW1 to SW8 to switch the sound generation channel corresponding to each track in the tone generator TG between sound generation enable / disable and sound generation.
Recording of each track in the song memory 7 can be permitted, prohibited, or switched. The processing in that case will be described below. When one of the track instruction switches SW1 to SW5 is turned on by the player, the numbers 1 to 5 are written in the key register KEY corresponding to the turned on switches SW1 to SW5.
Then, when the switch processing routine is started via the key processing routine from step S2 of the main routine,
The program proceeds to step S35 via steps S20 to S25, and the melody processing routine shown in FIG. 15 is executed. First, in step S201, it is determined whether the recording switch SW9 is turned on. And the judgment result is "NO"
In the case of, the process proceeds to step S202. And the key register KE
It is determined whether or not the content of the state register STATE (KEY) designated by Y is "1", that is, whether or not the sounding of the track KEY is permitted. If the determination result is "YES", the process proceeds to step S203, the state register STATE (KEY) is set to "2" to prohibit the sounding of the track KEY, and then the process proceeds to step S204, where the LED lamp L
Among A1 to LA5, the lamp corresponding to the key register KEY is turned on, and the process returns to the main routine via the switch processing routine. If the determination result in step S202 is "NO", the process proceeds to step S205, the state register STATE (KEY) is set to "1" to enable the sounding of the track KEY, and then the process proceeds to step S207, where the LED lamp Of LA1 to LA5, the lamp corresponding to the key register KEY is turned off, and the process returns to the main routine via the switch processing routine. On the other hand, when the recording switch SW9 is turned on and the determination result of step S201 is “YES”, the process proceeds to step S211 and it is determined whether or not the recording flag RECORD is in the set state.
If the determination result is "YES", the process returns to the main routine via the switch processing routine, and if "NO", the process proceeds to step S213, and the number obtained by adding 4 to the content of the key register KEY is set as the write channel number. Write channel register
Set to WC. Then the state register STATE (KEY)
Set the information "3" indicating to the recording mode to
Return to the main routine via the switch process routine. When the track instruction switch SW6 is turned on by the player, the vector synthesizer processing routine shown in FIG. 16 is executed by the same procedure. Then, the switching of the state register STATE (6) corresponding to the vector synthesizer unit and the switching of the LED lamp LA6 are performed accordingly.
The same applies when the track instruction switch SW7 is turned on, and the rhythm processing routine shown in FIG. 17 is started to switch the state register STATE (8) and the LED lamp LA8 accordingly. . Also, when the track instruction switch SW8 is turned on, the chord processing routine of FIG. 18 is started and the state register STATE
The switching of (7) and the accompanying switching of the LED lamp LA7 are performed.

【記録モード】[Recording mode]

以下、記録モードにおける動作を説明する。 ◎メロディ第1〜第5トラックの記憶 例えば、演奏者が記録スイッチSW9およびメロディ部第
1トラック指示するトラック指示スイッチSW1を共にオ
ンにしたとする。この場合、スイッチ処理ルーチンのス
テップS20〜S25を介してステップS35に進み、前述のメ
ロディ処理ルーチンが実行される。そして、ステップS2
01の判断結果が「YES」となってステップS211に進み、
記録フラグRECORDがセット状態か否かを判断する。この
場合、判断結果が「NO」となり、上述したようにステッ
プS212〜S214が実行され、記録待機フラグRECWAITがセ
ット状態とされると共に書込チャネルレジスタWCに
「5」がセットされ、ステートレジスタSTATE(1)に
「3」がセットされ、メロディ第1トラックの記録待機
モードとなる。そして、スイッチ処理ルーチンを介しメ
インルーチンに戻る。 次に、メインルーチンのステップS4においてシーケンサ
処理ルーチンが起動されると、そのステップS51の判断
結果が「YES」となってステップS54に進み、第19図に示
す記録待機処理ルーチンが起動される。 まず、ステップS301に進み、時刻カウンタMCのカウント
値がメトロノーム発音時刻レジスタCOUNTの保持データ
以上であるか否かを判断する。そして、判断結果が「YE
S」の場合はメトロノームパルスを出力してメトロノー
ム音を発生し(ステップS302)、所定の定数αを現時点
におけるテンポレジスタTEMPOの設定値で除した結果
と、時刻カウンタMCのカウント値とを加算し、加算結果
をメトロノーム発音時刻レジスタCOUNTに書き込む。こ
のようにして、設定されたテンポに応じた時間間隔で次
回メトロノーム音の発音を行う時刻の設定が行われ、ス
テップS304に進む。一方、ステップS301の判断結果が
「NO」の場合はステップS301,S303をスキップしてステ
ップS304に進む。 次にステップS304に進むと、キーオンフラグKONあるい
はプレイフラグPLAYがセット状態か否かを判断し、判断
結果が「NO」の場合はシーケンサ処理ルーチンに復帰す
る。一方、例えば演奏者が鍵盤1を操作し、キーオンフ
ラグKONがセットされるとステップS304の判断結果が「Y
ES」となってステップS305に進み、第20図に示す記録前
処理ルーチンを実行する。 まず、ステップS311に進んで記録待機フラグRECWAITを
リセットする。次にステップS312に進み、小節番号レジ
スタMEASUREが「1」か否かを判断する。前述した初期
化処理によって小節番号レジスタMEASUREは「1」が書
き込まれており、判断結果が「YES」となってステップS
311に進み、ソングメモリ7の第16チャネルにテンポを
指定するTOR命令が既に記録されているか否かを判断す
る。そして、判断結果が「NO」の場合はダミーレジスタ
DUMMYに現時点における記録チャネルレジスタWCの内容
「5」を退避し(ステップS314)、記録チャネルレジス
タWCに「16」をセットし(ステップS315)、オペレーシ
ョンレジスタOPにTOR命令のコードをセットし(S31
6)、第21図に示すイベント書込前処理ルーチンを実行
する。 まず、ステップS330に進み、現時点における時刻カウン
タMCのカウント値から前回イベント時刻レジスタPreMC
の内容を減算し、減算結果をインターバルタイムレジス
タTIにセットする。次いでステップS331に進み、時刻カ
ウンタMCのカウント値を前回イベント時刻レジスタPreM
Cにセットする。このようにして、インターバルタイム
レジスタTIに、前回、イベント書込前処理ルーチンが起
動されてから、今回、イベント書込前処理ルーチンが起
動されるまでの時間経過に相当するカウント値、すなわ
ち、イベント発生間隔を指定するインターバル時間情報
が書き込まれる。 次にステップS332に進み、インターバルタイムレジスタ
TIの内容を「256」によって除算し、除算結果をインタ
ーバル時間の上位ビットレジスタIIにセットし、次いで
ステップS333に進み、インターバル時間レジスタTIの内
容を「256」で除算した余りを下位ビットレジスタiiに
セットする。そして、ステップS334に進み、ソングメモ
リ7における書込チャネルレジスタWCによって指定され
るチャネル(この場合、第16チャネル)の現時点におけ
るチャネルポインタPOINT(WC){=POINT(16)}が示
すアドレスにインターバル時間を設定するLTI命令(オ
ペラント=II,ii)を書き込む。次にステップS335に進
み、チャネルポインタPOINT(WC){=POINT(16)}を
3だけインクリメントし、次いでステップS336に進ん
で、第22図に示すイベント書込ルーチンが起動される。 このイベント書込ルーチンが起動されると、ステップS3
51〜S358が実行されることにより、オペレーションレジ
スタOPに取り込まれた命令コードが判断され、命令コー
ドに対応した処理が行われる。この場合、オペレーショ
ンレジスタOPにはTOR命令のコードが取り込まれている
ので、ステップS351〜S353を介し、ステップS365に進
む。そして、その時点においてテンポレジスタTEMPOに
設定されたテンポをオペラントとするTOR命令をソング
メモリ7における当該チャネル(この場合、第16チャネ
ル)に書き込む。そして、ステップS366に進んで命令長
レジスタNに「4」を書き込み、次いでステップS380に
進み、チャネルポインタPOINT(WC){=POINT(16)}
をN=4だけインクリメントする。そして、イベント書
込ルーチンを終了してイベント書込前処理ルーチン(第
21図)に戻り、ステップS336を終了し、この場合、記録
前処理ルーチン(第20図)に戻る。そして、ステップS3
17を終了してステップS318に進み。ダミーレジスタDUMM
Yに退避しておいた「5」を書込チャネルレジスタWCに
復帰させる。そして、ステップS319に進む。一方、ステ
ップS312の判断結果が「NO」あるいはステップS313の判
断結果が「YES」の場合はステップS314〜S318を実行し
ないでステップS319に進む。 そして、時刻カウンタMCのカウント値を前回イベント時
刻レジスタPreMCにセットする(ステップS319)と共に
メトロノーム発生時刻レジスタCOUNTにセットし(ステ
ップS320)、記録フラグをセットする(ステップS32
1)。そして、記録待機処理ルーチン、シーケンサ処理
ルーチンを順次介してメインルーチンに戻る。 次にステップS4を実行してシーケンサ処理ルーチンに進
んだ場合、ステップS51の判断結果が「NO」となってス
テップS52に進む。そして、プレイフラグPLAYがリセッ
ト状態の場合、ステップS52の判断結果が「NO」となっ
てステップS53に進む。そして、記録フラグRECORDがセ
ット状態か否かを判断し、その判断結果が「YES」とな
ってステップS56に進み、第23図に示す小節処理ルーチ
ンを実行する。 まず、ステップS401に進み、時刻カウンタMCのカウント
値がメトロノーム発生時刻レジスタCOUNTの内容以上で
あるか否かを判断する。この場合、判断結果が「YES」
となってステップS402に進んで、メトロノームパルスを
出力し、メトロノーム音を発生する。そして、ステップ
S403に進み、所定の定数αを現時点におけるテンポレジ
スタTEMPOの設定値で除した結果と、時刻カウンタMCの
カウント値とを加算し、加算結果をレジスタCOUNTに書
き込む。次にステップS404に進み、ビートレジスタBEAT
をインクリメントする。次にステップS405に進み、ビー
トレジスタBEATの内容が「5」になったか否か、すなわ
ち、小節が切り換わったか否かを判断する。そして、判
断結果が「NO」の場合はこのルーチンを終了してシーケ
ンサ処理ルーチン(第9図)に戻り、「YES」の場合は
ステップS406に進み、オペレーションレジスタOPに小節
番号を指示するMM命令のオペレーションコードをセット
し、ステップS407に進んでイベント書込前処理ルーチン
に進む。 そして、ステップS330〜S335を実行することにより、イ
ンターバル時間を求めて、ソングメモリ7の書込チャネ
ル(この場合、第5チャネル)に上記インターバル時間
をオペラントとするLTI命令を書き込むと共に、チャネ
ルポインタPOINT(5)を3だけイククリメントし、ス
テップS336に進んでイベント書込ルーチンに進む。そし
て、ステップS351〜S355を介してステップS369に進み、
現時点における小節レジスタMEASUREの内容をオペラン
ト(小節番号)とし、小節の切り換わりを宣言するMM命
令をソングメモリ7に書き込む。そして、命令長レジス
タNに「3」をセットし(ステップS370)、チャネルポ
インタPOINT(5)をインクリメントし、イベント書込
前処理ルーチン(第21図)を介して小節処理ルーチン
(第23図)に戻り、ステップS408に進む。そして、ビー
トレジスタBEATに「1」をセットし、シーケンサ処理ル
ーチンを介してメインルーチンに戻る。 そして、以後、シーケンサ処理ルーチンを介して小節処
理ルーチンが起動された場合、時刻カウンタMCのカウン
ト値がメトロノーム発音時刻レジスタCOUNTの設定値以
上である場合にメトロノーム音が発生されて次回の発生
時刻がレジスタCOUNTにセットされる。また、ビートレ
ジスタBEATが「5」になる毎、すなわち4拍毎に、当該
時点における小節レジスタMEASUREに設定された小節番
号をオペラントとするMM命令の書込が行われる。 記録モードにおいて、演奏者が鍵盤1をキーオンする
と、メインルーチンのステップS2から鍵処理ルーチンを
介してキーオン処理ルーチンに進み、ステップS71、S72
を実行してキーコードレジスタKCおよび鍵速度レジスタ
KVの設定を行い、ステップS73に進む。そして、第6ス
テートレジスタSTATE(6)の内容が「3」か否かを判
断する。そして、判断結果が「NO」の場合はステップS7
4を実行し、キーコードレジスタKC、鍵速度レジスタKV
に従って楽音を発生し、ステップS75に進む。 そして、記録フラグRECORDがセット状態であるため、ス
テップS76に進み、オペレーションレジスタOPにKON命令
のコードをセットする。そして、ステップS77を介して
イベント書込前処理ルーチンに進み、インターバル時間
を設定するLTI命令をソングメモリ7に書き込み、次い
でイベント書込ルーチンに進む。この場合、ステップS3
51を介してステップS361、S362およびS380を実行し、キ
ーコードレジスタKCおよび鍵速度レジスタKVの内容をオ
ペラントとするKON命令をソングメモリ7の第5チャネ
ルに書き込み、チャネルポインタPOINT(5)をインク
リメントする。そして、イベント書込前処理ルーチン、
キーオン処理ルーチン、鍵処理ルーチンを介してメイン
ルーチンに戻る。 次に演奏者が鍵盤1をキーオフすると、メインルーチン
のステップS2から鍵処理ルーチンを介してキーオフ処理
ルーチンに進み、ステップS91、S92を実行してキーコー
ドレジスタKCおよび鍵速度レジスタKVの設定を行い、ス
テップS93に進む。そして、第6ステートレジスタSTATE
(6)の内容が「3」か否かを判断し、判断結果が「N
O」の場合はステップS94を実行し、キーコードレジスタ
KC、鍵速度レジスタKVの設定に従ってトーンジェネレー
タTGで発音中の楽音を消音し、ステップS95に進む。 そして、記録フラグRECORDがセット状態であるため、ス
テップS96に進み、オペレーションレジスタOPにKOFF命
令のコードをセットする。そして、ステップS97を介し
てイベント書込前処理ルーチンに進み、インターバル時
間を設定するLTI命令をソングメモリ7に書き込み、次
いでイベント書込ルーチンに進む。この場合、ステップ
S351、S352を介してステップS363、S364およびS380を実
行し、キーコードレジスタKCおよび鍵速度レジスタKVの
内容をオペラントとするKOFF命令をソングメモリ7の第
5チャネルに書き込み、チャネルポインタPOINT(5)
をインクリメントする。そして、イベント書込前処理ル
ーチン、キーオフ処理ルーチン、鍵処理ルーチンを介し
てメインルーチンに戻る。 このように、鍵盤1のキーオンイベントおよびキーオフ
イベントが検出される毎に、該検出イベントがメロディ
部第1トラックの操作情報として、ソングメモリ7の第
5チャネルに逐次書き込まれる。この間、テンポレジス
タTEMPOに設定されたテンポに従った時間間隔でメトロ
ノーム音が発生されるので、演奏者はメトロノーム音を
聴きながら、設定されたテンポに従って鍵盤1を演奏す
ることができ、その際の操作情報がリアルタイムにソン
グメモリ7に書き込まれる。なお、他のメロディ第2ト
ラック〜第5トラックへの記録も以上説明した処理によ
り実行される。 ◎ベクタシンセサイザ部(第1〜第4トラック)の記録 トーンジェネレータTGにおける第1〜第4チャネルから
出力される各楽音信号は各チャネル毎に設定された分配
率で左スピーカLおよび右スピーカRに分配される。す
なわち、第1〜第4チャネルから出力される各楽音信号
によって各々音像位置の異なった楽音が発生される。従
って、第1〜第4チャネルから発生させる楽音信号の強
度を調整することにより、所望の音像位置の楽音を得る
ことができる。本MIDIシーケンサは、以上のような原理
に従って音像位置がダイナミックに変化する楽音を再生
するための操作情報をソングメモリ7のベクタシンセサ
イザ部、すなわち、第1〜第4チャネルに記録すること
ができる。以下、その場合の動作を説明する。 演奏者は記録スイッチSW9およびトラック指示スイッチS
W6を共にオンにする。この結果、上述したメロディ第1
トラックの記録の場合と同様、メインルーチンから鍵処
理ルーチン、スイッチ処理ルーチンを介してベクタシン
セサイザ処理ルーチンに進む。そして、記録スイッチSW
9がオンされているため、ステップS221、S231を介した
後、記録待機フラグRECWAITをセットし(ステップS23
4)、記録チャネルレジスタWCに「1」をセットし(ス
テップS233)、第6ステートレジスタSTATE(6)に
「3」(記録モード)をセットする。そして、スイッチ
処理ルーチン、鍵処理ルーチンを介してメインルーチン
に戻る。その後、上述したメロディ第1トラックの記録
の場合と同様の処理が行われ、記録フラグRECORDがセッ
トされて記録モードになり、以後、テンポレジスタTEMP
Oの設定に応じたテンポでメトロノーム音が発生される
と共にビートレジスタBEATおよび小節番号レジスタMEAS
UREが更新される。 そして、演奏者が鍵盤1のいずれかのキーをオンする
と、鍵処理ルーチンを介してキーオン処理ルーチンに進
み、当該キーオンイベントにおけるキーコードをキーコ
ードレジスタKCにセットし(ステップS71)、ベロシテ
ィ情報を鍵速度レジスタKVにセットする(ステップS7
2)。そして、ステップS73の判断結果が「YES」となっ
てステップS78に進み、チャネル番号レジスタCHに
「1」設定する。 ところで、このMIDIシーケンサでは、ジョイスティック
3の操作によって発生する楽音の音像位置を制御する情
報を生成しており、ステップS79以降の処理においてそ
の制御情報を使用する。そこで、ステップS79以降の処
理を説明するに先立ち、ジョイスティック3の操作量を
検出し、音像位置を制御する情報を作成するまでの処理
について以下説明する。 メインルーチンのステップS3においてジョイスティック
処理ルーチン(第8図)が起動されると、ステップS501
に進み、A/D変換器4から出力されるジョイスティック
3のX軸方向の操作量情報およびY軸方向の操作量情報
を各々操作量レジスタXおよびYに取り込む。そして、
操作量レジスタXに対して右1ビットシフト処理を施し
た(ステップS502)後、操作量レジスタXの内容が20H
以上の場合にはその内容を1だけデクリメントし(ステ
ップS503、S504)、操作量レジスタXの値を00H〜3FHの
範囲に収める。操作量レジスタYについても同様の処理
を行う(ステップS505〜S507)。 そして、ステップS508〜S511を実行し、下記式(1)〜
(4)に示す演算を行う係数A〜Dを算出する。 A=(3EH−Y)+|X−1FH|……(1) B=(3EH−X)+|Y−1FH|……(2) C=Y +|X−1FH|……(3) D=X +|Y−1FH|……(4) このようにして算出される係数A〜Dの意味について説
明する。第32図に示すXY座標系において、P(X、Y)
をジョイスティック3の操作量X、Yによって示される
操作位置、PA(1FH、3EH)、PB(3EH、1FH)、PC(1F
H、00H)、PD(00H、1FH)を各々ソングメモリ7の第1
〜第4発チャネルから再生される楽音の音像位置を各々
示す。この場合、上記各係数A〜Dは、 A=lax+lay……(5) B=lbx+lby……(6) C=lcx+lcy……(7) D=lcx+ldy……(8) と表すことができる。すなわち、上記式(1)〜(4)
を演算することにより、操作量レジスタX、Yによって
指定される目標音像位置Pと、ソングメモリ7の第1〜
第4チャネルに対応した各音像位置PA〜PDとの距離に応
じた係数A〜Dが得られる。 そして、ステップS512〜S515を実行して下記式(9)〜
(12)の演算を行う。各々、ソングメモリ7の第1〜第
4チャネルに対応したボリューム情報VOL(1)〜VOL
(4)を得る。 VOL(1)=VOLTBL(A)……(9) VOL(2)=VOLTBL(B)……(10) VOL(3)=VOLTBL(C)……(11) VOL(4)=VOLTBL(D)……(12) ここで、テーブルVOLTBLには楽音の振幅の音源からの距
離に対する依存性等を考慮したテーブルが記憶されてい
る。これにより、例えばボリューム情報VOL(1)の場
合、係数Aが大きい程、すなわち、目標音像位置PAが第
1チャネルの楽音の音像位置PAから離れている程小さな
値が設定され、また、他のボリューム情報VOL(2)〜V
OL(4)も同様に設定され、目標音像位置Pに応じたボ
リューム設定がなされる。 キーオン処理ルーチンのステップS79以降の処理では、
ジョイスティック処理ルーチンによって得られた当該時
点におけうボリューム情報VOL(1)〜VOL(4)を用
い、以下説明するようにベクタシンセサイザ部への情報
書込を行う。 まず、ステップS79に進み、その時点におけるチャネル
レジスタCHによって指定されるボリューム情報VOL(C
H){この場合、VOL(1)}をボリューム書込レジスタ
VOLWにセットする。次にステップS80に進み、書込チャ
ネルレジスタWCにチャネルレジスタCHの値「1」をセッ
トする。次いでステップS81に進んでオペレーションレ
ジスタOPにチャネルプレシャ命令CPresのコードを設定
する。そして、ステップS82を介してイベント書込前処
理ルーチンに進み、次回のイベントまでのインターバル
時間を示すLTI命令をソングメモリ7の第1チャネルに
書き込み(ステップS331〜S335)、イベント書込ルーチ
ンに進む。そして、ステップS351〜S354を介してステッ
プS367に進み、ボリューム書込レジスタVOLWの内容をオ
ペラントとするチャネルプレシャ命令CPresをソングメ
モリ7の第1チャネルに書き込む。そして、ステップS3
68、S380を実行してチャネルポインタPOINT(1)をN
=2だけ進め、イベント書込前処理ルーチンを介してキ
ーオン処理ルーチンに戻る。 そして、ステップS83に進み、チャネルレジスタCHによ
って指定されるトーンジェネレータTGの第1チャネルに
チャネルプレッシャ命令CPresおよびボリューム書込情
報VOLWを送り、第1チャネルのボリューム設定を行う。 次にステップS84に進み、オペレーションレジスタOPに
キーオン命令KONのコドをセットし、ステップS85に進ん
でイベント書込前処理ルーチンを実行する。この結果、
これまでに述べてきたのと同様の処理が行われ、ソング
メモリ7の第1チャネルに、LTI命令と、キーコードレ
ジスタKCDおよび鍵速度レジスタKVの各内容をオペラン
トとするキーオン命令KONとが書き込まれる。 次にステップS86に進み、トーンジェネレータTGの第1
チャネルにキーコードレジスタKCDおよび鍵速度レジス
タKVの各内容をオペラントとするキーオン命令KONを送
る。そして、ステップS87に進んでチャネルレジスタCH
をインクリメントし、ステップS88に進んでCH=5にな
ったか否かを判断し、判断結果が「NO」となってステッ
プS79に戻る。 そして、上述したステップS79〜S88を繰り返すことによ
り、ソングメモリ7における第2〜第3チャネルには、
ボリューム情報VOL(2)〜VOL(4)に各々対応したチ
ャネルプレッシャ命令が書き込まれると共に、第1チャ
ネルに書き込んだものと同一のキーコードおよびベロシ
ティのKON命令が書き込まれる。また、ソングメモリ7
の第1〜第4チャネルに書き込んだ命令と同じ命令がト
ーンジェネレータTGの第1〜第4チャネルに送られ、ジ
ョイスティック3の操作によって指定された音像位置を
有する楽音が発生される。そして、CH=5となった場合
にステップS88の判断結果が「YES」となり、鍵処理ルー
チンを介し、メインルーチンに戻る。 演奏者が鍵盤1をキーオフした場合、鍵処理ルーチンを
介してキーオフ処理ルーチン(第11図)に進み、当該キ
ーコードをキーコードレジスタKCDへセットし(ステッ
プS91)、離鍵速度を鍵速度レジスタKVにセットし(ス
テップS92)、ステップS93を介してステップS98に進
む。そして、チャネルレジスタCHに「1」をセットす
る。そして、オペレーションレジスタOPにキーオフ命令
KOFFのコードをセットし(ステップS99)、次いでイベ
ント書込前処理ルーチンを起動し、LTI命令と、キーコ
ードレジスタKCDおよび鍵速度レジスタKVの各内容をオ
ペラントとするキーオフ命令KOFFとを、ソングメモリ7
の第1チャネルに書き込む(ステップS100)。そして、
ソングメモリ7の第1チャネルに書き込んだものと同じ
キーオフ命令KOFFをトーンジェネレータTGの第1チャネ
ルに送り、当該楽音の発音を停止する(ステップS10
1)。そして、チャネルレジスタCHをインクリメントし
(ステップS102)、CH=5となったか否かを判断し(ス
テップS103)、判断結果が「NO」の場合に新たなチャネ
ル番号CHに従って上述のステップS99〜S103を実行す
る。このようにして、キーオフ命令KOFFがソングメモリ
7の第1〜第4チャネルに書き込まれると共にトーンジ
ェネレータTGの第1〜第4発音チャネルに送られ、楽音
の発生が停止される。
The operation in the recording mode will be described below. Storing Melody First to Fifth Tracks For example, it is assumed that the player turns on both the recording switch SW9 and the track designating switch SW1 for designating the first track of the melody section. In this case, the process proceeds to step S35 via steps S20 to S25 of the switch processing routine, and the above-described melody processing routine is executed. And step S2
The judgment result of 01 is "YES" and the process proceeds to step S211.
It is determined whether or not the recording flag RECORD is set. In this case, the determination result is "NO", steps S212 to S214 are executed as described above, the recording standby flag RECWAIT is set, the write channel register WC is set to "5", and the state register STATE is set. When "3" is set in (1), the recording standby mode for the first melody track is set. Then, the process returns to the main routine via the switch processing routine. Next, when the sequencer processing routine is started in step S4 of the main routine, the result of the determination in step S51 is "YES", the flow proceeds to step S54, and the recording standby processing routine shown in FIG. 19 is started. First, in step S301, it is determined whether the count value of the time counter MC is equal to or greater than the data held in the metronome sounding time register COUNT. And the judgment result is "YE
In the case of "S", a metronome pulse is output to generate a metronome sound (step S302), and the result of dividing the predetermined constant α by the current setting value of the tempo register TEMPO and the count value of the time counter MC are added. , Write the addition result to the metronome onset time register COUNT. In this way, the time to generate the next metronome sound is set at time intervals according to the set tempo, and the process proceeds to step S304. On the other hand, when the result of the determination in step S301 is "NO", steps S301 and S303 are skipped and the process proceeds to step S304. Next, in step S304, it is determined whether the key-on flag KON or the play flag PLAY is in the set state, and if the determination result is “NO”, the sequencer processing routine is returned to. On the other hand, for example, when the player operates the keyboard 1 and the key-on flag KON is set, the determination result of step S304 is "Y
ES ”, the flow advances to step S305 to execute the recording preprocessing routine shown in FIG. First, in step S311, the recording standby flag RECWAIT is reset. Next, in step S312, it is determined whether the measure number register MEASURE is "1". "1" is written in the measure number register MEASURE by the above-mentioned initialization processing, and the judgment result becomes "YES", and the step S
Proceeding to step 311, it is determined whether or not the TOR instruction for designating the tempo is already recorded in the 16th channel of the song memory 7. If the judgment result is "NO", the dummy register
The content "5" of the recording channel register WC at the present time is saved to DUMMY (step S314), "16" is set to the recording channel register WC (step S315), and the code of the TOR instruction is set to the operation register OP (S31).
6), the event writing preprocessing routine shown in FIG. 21 is executed. First, in step S330, the previous event time register PreMC is calculated from the count value of the current time counter MC.
The content of is subtracted and the result of the subtraction is set in the interval time register TI. Next, in step S331, the count value of the time counter MC is set to the previous event time register PreM
Set to C. In this way, the interval time register TI has a count value corresponding to the elapsed time from the last time the event writing preprocessing routine was started to the current event writing preprocessing routine, that is, the event value. Interval time information that specifies the occurrence interval is written. Next, in step S332, the interval time register
The contents of TI are divided by "256", the division result is set in the high-order bit register II of the interval time, then the flow proceeds to step S333, and the remainder obtained by dividing the contents of the interval time register TI by "256" is the low-order bit register ii. Set to. Then, the procedure proceeds to step S334, and the interval is set to the address indicated by the channel pointer POINT (WC) {= POINT (16)} at the current time of the channel (16th channel in this case) designated by the write channel register WC in the song memory 7. Write the LTI instruction (Operant = II, ii) that sets the time. Next, proceeding to step S335, the channel pointer POINT (WC) {= POINT (16)} is incremented by 3, and then proceeding to step S336, the event writing routine shown in FIG. 22 is activated. When this event writing routine is started, step S3
By executing 51 to S358, the instruction code fetched in the operation register OP is determined, and the processing corresponding to the instruction code is performed. In this case, since the code of the TOR instruction is stored in the operation register OP, the process proceeds to step S365 via steps S351 to S353. Then, the TOR instruction having the tempo set in the tempo register TEMPO as an operant at that time is written in the channel (the 16th channel in this case) in the song memory 7. Then, in step S366, "4" is written in the instruction length register N, and then in step S380, the channel pointer POINT (WC) {= POINT (16)}.
Is incremented by N = 4. Then, the event writing routine is terminated and the event writing preprocessing routine (first
(Fig. 21), the step S336 is terminated, and in this case, the process returns to the recording preprocessing routine (Fig. 20). And step S3
Exit 17 and proceed to step S318. Dummy register DUMM
"5" saved in Y is restored to the write channel register WC. Then, the process proceeds to step S319. On the other hand, if the determination result of step S312 is "NO" or the determination result of step S313 is "YES", then steps S314 to S318 are not executed and the process proceeds to step S319. Then, the count value of the time counter MC is set in the previous event time register PreMC (step S319), the metronome occurrence time register COUNT is set (step S320), and the recording flag is set (step S32).
1). Then, the recording standby processing routine and the sequencer processing routine are sequentially performed to return to the main routine. Next, when step S4 is executed to proceed to the sequencer processing routine, the determination result of step S51 becomes "NO", and the process proceeds to step S52. Then, when the play flag PLAY is in the reset state, the determination result of step S52 becomes "NO", and the process proceeds to step S53. Then, it is determined whether or not the recording flag RECORD is in the set state, the result of the determination is "YES", the flow proceeds to step S56, and the bar processing routine shown in FIG. 23 is executed. First, in step S401, it is determined whether the count value of the time counter MC is greater than or equal to the content of the metronome occurrence time register COUNT. In this case, the judgment result is "YES".
Then, the process proceeds to step S402, the metronome pulse is output, and the metronome sound is generated. And step
In step S403, the result of dividing the predetermined constant α by the current setting value of the tempo register TEMPO and the count value of the time counter MC are added, and the addition result is written in the register COUNT. Next, in step S404, the beat register BEAT
Is incremented. Next, in step S405, it is determined whether or not the content of the beat register BEAT has become "5", that is, whether or not the bar has been switched. If the determination result is "NO", this routine is terminated and the process returns to the sequencer processing routine (Fig. 9). If "YES", the process proceeds to step S406, and the MM instruction for instructing the measure number to the operation register OP. Operation code is set, and the process advances to step S407 to advance to the event writing preprocessing routine. Then, by executing steps S330 to S335, the interval time is obtained, and the LTI instruction having the above interval time as the operant is written in the write channel (in this case, the fifth channel) of the song memory 7 and the channel pointer POINT. The item (5) is incremented by 3, and the process proceeds to step S336 to proceed to the event writing routine. Then, the process proceeds to step S369 via steps S351 to S355,
The content of the measure register MEASURE at the present time is set as an operant (measure number), and the MM instruction for declaring the switching of measures is written in the song memory 7. Then, "3" is set in the instruction length register N (step S370), the channel pointer POINT (5) is incremented, and the bar processing routine (Fig. 23) is passed through the event writing preprocessing routine (Fig. 21). Return to step S408. Then, "1" is set in the beat register BEAT, and the sequence returns to the main routine through the sequencer processing routine. Then, after that, when the bar processing routine is started via the sequencer processing routine, when the count value of the time counter MC is equal to or greater than the set value of the metronome sounding time register COUNT, a metronome sound is generated and the next generation time is Set in register COUNT. Further, every time the beat register BEAT becomes "5", that is, every four beats, an MM instruction having the measure number set in the measure register MEASURE at that time point as an operant is written. In the recording mode, when the performer turns on the keyboard 1, the process proceeds from step S2 of the main routine to the key-on processing routine through the key processing routine, and steps S71 and S72.
Execute key code register KC and key speed register
The KV is set and the process proceeds to step S73. Then, it is determined whether or not the content of the sixth state register STATE (6) is "3". If the determination result is "NO", step S7
Execute 4, key code register KC, key speed register KV
According to, a tone is generated and the process proceeds to step S75. Then, since the recording flag RECORD is in the set state, the process proceeds to step S76, and the code of the KON instruction is set in the operation register OP. Then, the process proceeds to the event writing preprocessing routine through step S77, the LTI instruction for setting the interval time is written in the song memory 7, and then the process proceeds to the event writing routine. In this case, step S3
Steps S361, S362 and S380 are executed via 51 to write a KON instruction having the contents of the key code register KC and the key speed register KV as an operant to the fifth channel of the song memory 7 and increment the channel pointer POINT (5). To do. Then, an event writing preprocessing routine,
Return to the main routine through the key-on processing routine and the key processing routine. Next, when the player key-offs the keyboard 1, the main routine proceeds from step S2 to the key-off processing routine through the key processing routine, and steps S91 and S92 are executed to set the key code register KC and the key speed register KV. , Go to step S93. And the sixth state register STATE
It is judged whether the content of (6) is "3" and the judgment result is "N".
If it is "O," perform step S94 to display the key code register.
The tone generator TG mutes the tone being generated according to the settings of KC and the key velocity register KV, and proceeds to step S95. Then, since the recording flag RECORD is in the set state, the process proceeds to step S96, and the code of the KOFF instruction is set in the operation register OP. Then, the process proceeds to the event writing pre-processing routine through step S97, the LTI instruction for setting the interval time is written in the song memory 7, and then the process proceeds to the event writing routine. In this case, the step
Steps S363, S364 and S380 are executed via S351 and S352, and a KOFF instruction having the contents of the key code register KC and the key velocity register KV as an operant is written in the fifth channel of the song memory 7, and the channel pointer POINT (5)
Is incremented. Then, the process returns to the main routine through the event writing preprocessing routine, the key-off processing routine, and the key processing routine. As described above, every time the key-on event and the key-off event of the keyboard 1 are detected, the detected event is sequentially written in the fifth channel of the song memory 7 as the operation information of the first track of the melody section. During this time, the metronome sound is generated at time intervals according to the tempo set in the tempo register TEMPO, so that the performer can play the keyboard 1 in accordance with the set tempo while listening to the metronome sound. The operation information is written in the song memory 7 in real time. Recording on the other melody second to fifth tracks is also executed by the processing described above. Recording of the vector synthesizer section (first to fourth tracks) The tone signals output from the first to fourth channels of the tone generator TG are distributed to the left speaker L and the right speaker R at the distribution ratio set for each channel. To be distributed. That is, musical tones having different sound image positions are generated by the musical tone signals output from the first to fourth channels. Therefore, by adjusting the intensities of the tone signals generated from the first to fourth channels, it is possible to obtain the tone of a desired sound image position. The present MIDI sequencer can record operation information for reproducing a musical sound whose sound image position dynamically changes according to the above principle in the vector synthesizer section of the song memory 7, that is, the first to fourth channels. The operation in that case will be described below. The performer has a recording switch SW9 and a track indicating switch S
Turn on W6 together. As a result, the above-mentioned melody No. 1
Similar to the case of track recording, the main routine proceeds to the vector synthesizer processing routine through the key processing routine and the switch processing routine. And the record switch SW
Since 9 is turned on, after passing through steps S221 and S231, the recording standby flag RECWAIT is set (step S23
4) Then, the recording channel register WC is set to "1" (step S233), and the sixth state register STATE (6) is set to "3" (recording mode). Then, the process returns to the main routine via the switch processing routine and the key processing routine. Thereafter, the same processing as in the case of recording the melody first track described above is performed, the recording flag RECORD is set to enter the recording mode, and thereafter the tempo register TEMP
A metronome sound is generated at a tempo according to the O setting, and beat register BEAT and measure number register MEAS
URE is updated. When the performer turns on one of the keys on the keyboard 1, the key-on routine proceeds through the key-processing routine to set the key code at the key-on event in the key code register KC (step S71). Set to the key velocity register KV (step S7
2). Then, the determination result of step S73 becomes "YES", and the process proceeds to step S78 to set "1" in the channel number register CH. By the way, in this MIDI sequencer, the information for controlling the sound image position of the musical sound generated by the operation of the joystick 3 is generated, and the control information is used in the processing after step S79. Therefore, prior to describing the processing of step S79 and thereafter, processing of detecting the operation amount of the joystick 3 and creating information for controlling the sound image position will be described below. When the joystick processing routine (FIG. 8) is started in step S3 of the main routine, step S501
Then, the operation amount information in the X-axis direction and the operation amount information in the Y-axis direction of the joystick 3 output from the A / D converter 4 are fetched into the operation amount registers X and Y, respectively. And
After the operation amount register X is subjected to right 1-bit shift processing (step S502), the content of the operation amount register X becomes 20H.
In the above case, the content is decremented by 1 (steps S503 and S504), and the value of the manipulated variable register X is set within the range of 00H to 3FH. The same processing is performed for the manipulated variable register Y (steps S505 to S507). Then, steps S508 to S511 are executed, and the following equations (1) to
Coefficients A to D for performing the calculation shown in (4) are calculated. A = (3EH-Y) + | X-1FH | ... (1) B = (3EH-X) + | Y-1FH | ... (2) C = Y + | X-1FH | ... (3) D = X + | Y−1FH | (4) The meaning of the coefficients A to D calculated in this way will be described. In the XY coordinate system shown in FIG. 32, P (X, Y)
Is the operation position indicated by the operation amounts X and Y of the joystick 3, PA (1FH, 3EH), PB (3EH, 1FH), PC (1F
H, 00H), PD (00H, 1FH) in the song memory 7
~ The respective sound image positions of the musical sound reproduced from the fourth channel are shown. In this case, the respective coefficients A to D can be expressed as A = lax + lay (5) B = lbx + lby (6) C = lcx + lcy (7) D = lcx + ldy (8) That is, the above formulas (1) to (4)
By calculating the target sound image position P designated by the manipulated variable registers X and Y, and the first to first positions of the song memory 7.
Coefficients A to D corresponding to the distances from the sound image positions PA to PD corresponding to the fourth channel are obtained. Then, steps S512 to S515 are executed to execute the following equation (9) to
Perform the calculation in (12). Volume information VOL (1) to VOL respectively corresponding to the first to fourth channels of the song memory 7
(4) is obtained. VOL (1) = VOLTBL (A) …… (9) VOL (2) = VOLTBL (B) …… (10) VOL (3) = VOLTBL (C) …… (11) VOL (4) = VOLTBL (D ) (12) Here, a table is stored in the table VOLTBL in consideration of the dependency of the amplitude of the musical sound on the distance from the sound source. Thus, for example, in the case of volume information VOL (1), the larger the coefficient A is, that is, the farther the target sound image position PA is from the sound image position PA of the musical sound of the first channel, the smaller the value is set. Volume information VOL (2) ~ V
The OL (4) is similarly set, and the volume is set according to the target sound image position P. In the processing after step S79 of the key-on processing routine,
By using the volume information VOL (1) to VOL (4) obtained at this time obtained by the joystick processing routine, information is written to the vector synthesizer unit as described below. First, in step S79, the volume information VOL (C
H) {in this case, VOL (1)} is the volume write register
Set to VOLW. Next, in step S80, the value "1" of the channel register CH is set in the write channel register WC. Next, in step S81, the code of the channel pressure instruction CPres is set in the operation register OP. Then, the process proceeds to the event writing preprocessing routine through step S82, the LTI instruction indicating the interval time until the next event is written in the first channel of the song memory 7 (steps S331 to S335), and the process proceeds to the event writing routine. . Then, through steps S351 to S354, the flow proceeds to step S367, and the channel pressure command CPres that sets the content of the volume write register VOLW as an operant is written in the first channel of the song memory 7. And step S3
68, S380 is executed to set the channel pointer POINT (1) to N
= 2, and returns to the key-on processing routine through the event writing preprocessing routine. Then, proceeding to step S83, the channel pressure command CPres and the volume write information VOLW are sent to the first channel of the tone generator TG designated by the channel register CH to set the volume of the first channel. Next, proceeding to step S84, the code of the key-on command KON is set in the operation register OP, and proceeding to step S85, the event writing preprocessing routine is executed. As a result,
The same processing as that described so far is performed, and the LTI instruction and the key-on instruction KON having the contents of the key code register KCD and the key velocity register KV as operants are written in the first channel of the song memory 7. Be done. Next, in Step S86, the first tone generator TG is selected.
A key-on instruction KON having the contents of the key code register KCD and the key speed register KV as an operant is sent to the channel. Then, the process proceeds to step S87 and the channel register CH
Is incremented, the process proceeds to step S88, it is determined whether or not CH = 5, the determination result becomes "NO", and the process returns to step S79. Then, by repeating the above steps S79 to S88, the second to third channels in the song memory 7 become
A channel pressure command corresponding to each of the volume information VOL (2) to VOL (4) is written, and a KON command of the same key code and velocity as that written in the first channel is written. Also, the song memory 7
The same command as that written in the first to fourth channels is sent to the first to fourth channels of the tone generator TG, and the musical tone having the sound image position designated by the operation of the joystick 3 is generated. Then, when CH = 5, the determination result of step S88 becomes "YES", and the process returns to the main routine via the key processing routine. When the player key-offs the keyboard 1, the key-off routine proceeds to the key-off processing routine (Fig. 11) through the key processing routine, sets the key code in the key code register KCD (step S91), and sets the key release speed to the key speed register. It is set to KV (step S92), and the process proceeds to step S98 via step S93. Then, "1" is set in the channel register CH. Then, a key-off instruction is issued to the operation register OP.
The KOFF code is set (step S99), and then the event writing preprocessing routine is started, and the LTI instruction and the key-off instruction KOFF that uses the contents of the key code register KCD and the key speed register KV as operants are set in the song memory. 7
Is written in the first channel (step S100). And
The same key-off command KOFF written in the first channel of the song memory 7 is sent to the first channel of the tone generator TG to stop the pronunciation of the musical tone (step S10).
1). Then, the channel register CH is incremented (step S102), it is determined whether or not CH = 5 (step S103), and if the determination result is "NO", the above-mentioned steps S99 to S103 are performed according to the new channel number CH. To execute. In this way, the key-off command KOFF is written in the first to fourth channels of the song memory 7 and sent to the first to fourth tone generation channels of the tone generator TG to stop the tone generation.

【再生モード】[Playback mode]

演奏者が操作パネル2のプレイスイッチSW12をオンにす
ると、鍵処理ルーチン、スイッチ処理ルーチンを介し、
第12図に示すプレイ処理ルーチンが起動される。まず、
ステップS111に進み、プレイフラグPLAYをセットする。
次いでステップS112に進み、記録待機フラグRECWAITが
セットされているか否かを判断する。そして、判断結果
が「NO」の場合、ステップS113に進み、再生チャネルレ
ジスタPCに「16」を設定する。次にステップS114に進
み、再生チャネルレジスタPCによって指定されるチャネ
ルタイミングレジスタCCNT(PC){この場合、CCNT(1
6)}に、その時点における時刻カウンタMCのカウント
値をセットする。また、再生チャネルレジスタPCによっ
て指定されるチャネルポインタPOINT(PC)に「0」を
セットし、さらに再生チャネルレジスタPCをデクリメン
トする。次にステップS115に進み、PC=0か否かを判断
する。この場合、判断結果は「NO」となってステップS1
14に戻る、そして、PC=15〜1についてステップS114を
実行し、ステップS114を実行することによってPC=0と
なった時に、ステップS115の判断結果が「YES」になっ
てステップS116に進む。そして、再生チャネルレジスタ
PCに「16」をセットし、ステップS117に進み、第13図に
示す意味解釈処理ルーチンを実行する。 まず、ステップS121に進み、再生チャネルレジスタPCに
よって指定されるチャネル(この場合、第16チャネル)
のチャネルポインタPOINT(PC)を参照してその内容を
読出アドレスとし、ソングメモリ7からデータを1ワー
ド読み出してオペレーションレジスタOPに取り込む。次
にステップS122に進み、オペレーションレジスタOPに格
納した命令コードがLTI命令のものであるか否かを判断
する。このMIDIシーケンサの場合、ソングメモリの第16
チャネルの先頭アドレスには、曲のテンポを指定するTO
R命令のコードを記憶するようにしている。従って、判
断結果は「NO」となってステップS123に進み、命令コー
ドがMM命令のものであるか否かを判断する。この判断結
果も「NO」となる、ステップS124に進む。そして、命令
コードがTOR命令のものであるか否かを判断し、判断結
果が「YES」となってステップS134に進む。そして、ソ
ングメモリ7におけるチャネルポインタPOINT(PC)
(ただし、PC=16)に2を加えたアドレスからデータを
2ワード読み出し、テンポレジスタTEMPOにセットす
る。次にステップS135に進み、命令長レジスタNに
「4」をセットし、ステップS140に進んでチャネルポイ
ンタPOINT(PC){この場合、POINT(16)}の内容をN
=4だけ増加させる。そして、プレイ処理ルーチン、ス
イッチ処理ルーチン、鍵処理ルーチンを順次介し、メイ
ンルーチンに戻る。そして、ステップS3に進んでジョイ
スティック処理ルーチンを実行し、次いでステップS4に
進んでシーケンサ処理ルーチンを実行する。 シーケンサ処理ルーチンに進むと、プレイフラグPLAYの
みがセット状態であるので、ステップS51、S52を介して
ステップS55に進み、第14図に示すシーケンサプレイル
ーチンを実行する。 まず、ステップS151に進み、再生チャネルレジスタPCに
「16」をセットする。次にステップS152に進み、再生チ
ャネルレジスタPCによって指定されるチャネルのチャネ
ルタイミングレジスタCCNT(PC){この場合、CCNT(1
6)}がその時点における時刻カウンタMCのカウント値
以下か否かを判断する。そして、判断結果が「YES」の
場合はステップS153に進んで意味解析処理ルーチンを実
行し、「NO」の場合はステップS153をスキップしてステ
ップS154に進む。 意味解析処理ルーチンが起動された場合、上述したよう
にステップS121においてソングメモリ7からデータが読
み出されてオペレーションレジスタOPに格納された後、
ステップS122〜S129の判断によって命令コードが判断さ
れ、命令に応じた処理が行われる。 LTI命令(インターバルタイムロード命令)を取り込ん
だ場合、ステップS122を介してステップS131に進む。そ
して、取り込んだLTI命令のオペラント部に記載された
インターバル時間の上位ビットデータIIおよび下位ビッ
トデータiiを参照し、かつ、その時点における時刻カウ
ンタMCを参照し、MC+256×II+iiなる演算を行う。そ
して、その演算結果、すなわち、当該チャネルPCに対応
した命令を次回実行する時刻を、チャネルタイミングレ
ジスタCCNT(PC)にセットする。次にステップS132に進
んで命令長レジスタNに「3」をセットし、ステップS1
40に進んで、チャネルポインタPOINT(PC)をN=3だ
け増加させる。 MM命令(小節切換を宣言する命令を取り込んだ場合、ス
テップS122、S123を介してステップS133に進み、命令長
レジスタNに「3」をセットし、ステップS140に進む。
すなわち、この場合、チャネルポインタPOINT(PC)の
インクリメントのみが行われる。 TOR命令の場合については、既に説明済みであるので、
重複した説明は行わない。 KON命令(キーオン命令)を取り込んだ場合は、ステッ
プS122〜S126を介してS141に進み、プレイフラグPLAYが
セット状態が否かを判断する。そして、判断結果が「N
O」の場合はステップS142に進み、ステップS137に進
み、チャネルPCに対応したトラックiのステートレジス
タを参照し、STATE(i)=1の場合、すなわち、当該
トラックiの再生が禁止されている場合、鍵速度レジス
タKVのベロシティ情報を「0」にしてステップS137に進
む。一方、ステップS141の判断結果が「YES」の場合は
ステップS142をスキップしてステップS137に進む。そし
て、ステップS137において命令長レジスタNに「3」を
セットし、次いでステップS139に進んで、ソングメモリ
7からデータをN=3ワード読み出し、その読出デー
タ、すなわち、キーオン命令のコード、発音すべき音の
キーコードおよびベロシティ情報をトーンジェネレータ
TGにおけるチャネルPCに送る。この結果、チャネルPCに
おいてKON命令に対応した楽音が発音される。 そして、KOFF命令(キーオフ命令)の場合、ステップS1
22〜S127を介してステップS137に進み、命令長レジスタ
Nに「3」をセットする。次いでステップS139に進ん
で、ソングメモリ7からデータをN=3ワード読み出
し、その読出データ、すなわち、キーオフ命令のコー
ド、消音すべき音のキーコードおよびベロシティ情報を
トーンジェネレータTGにおけるチャネルPCに送る。この
結果、KOFF命令に対応した楽音の発生が停止される。 CPres命令(チャネルプレシャ命令)を取り込んだ場合
は、ステップS122〜S125を介してステップS126に進み、
命令長レジスタNに「2」をセットし、ステップS139に
進む。そして、ソングメモリ7におけるチャネルポイン
タPOINT(PC)が示すアドレスからデータをN=2ワー
ド読み出し、この読出データ、すなわち、チャネルプレ
ッシャの命令コードとそのパラメータをトーンジェネレ
ータTGにおける再生チャネルレジスタPCによって指定さ
れる発音チャネルに送る。ここで、ソングメモリ7の第
1〜第4チャネルには、上述したようにジョイスティッ
ク3の操作によって作成されたチャネルプレッシャ命令
がキーオン命令、キーオフ命令等と共に記録されてい
る。従って、再生チャネルレジスタPCが「1」〜「4」
となり、ソングメモリ7の第1〜第4チャネルからチャ
ネルプレッシャ命令が取り出されると、これらのよって
トーンジェネレータTGの第1〜第4発音チャネルのボリ
ュームが制御され、記録時のジョイスティック3の操作
に応じて音像位置の変化する楽音が再生される。 ChordC命令の場合も、同様にステップS122〜S128を介し
てステップS137、S139と進み、取り込んだChordC命令に
従った和音がトーンジェネレータTGによって発音され
る。 そして、EOE命令を取り込むと、ステップS121〜S129を
介してステップS138に進み、命令長レジスタNに「1」
をセットし、ステップS139、S140を実行する。 このようにして、ソングメモリ7における再生チャネル
レジスタPCによって指定されたチャネルから命令が取り
込まれ、実行される。 意味解析処理ルーチンが終了し、シーケンサプレイルー
チンに戻り、ステップS154に進むと、再生チャネルレジ
スタPCをデクリメントする。次にステップS155に進み、
PC=0か否かを判断し、判断結果が「NO」の場合はステ
ップS152に戻る。このようにして、PC=16〜1につい
て、ソングメモリ7におけるチャネルPCに記憶された命
令が取り込まれ、実行される。そして、シーケンサプレ
イルーチンを終了し、さらにシーケンサ処理ルーチンを
介してメインルーチンに戻る。 このようにしてソングメモリ7に記憶されたMIDI情報の
再生が行われるが、再生中、演奏者が鍵盤1を操作した
場合は、鍵処理ルーチンが実行される際に、キーオン処
理ルーチンあるいはキーオフ処理ルーチンが実行され、
鍵操作に対応した楽音が発生される。
When the player turns on the play switch SW12 on the operation panel 2, the key processing routine and the switch processing routine
The play processing routine shown in FIG. 12 is started. First,
In step S111, the play flag PLAY is set.
Next, in step S112, it is determined whether the recording standby flag RECWAIT is set. Then, if the determination result is “NO”, the flow proceeds to step S113, and “16” is set in the reproduction channel register PC. Next, the process proceeds to step S114, where the channel timing register CCNT (PC) specified by the reproduction channel register PC (in this case, CCNT (1
6)} is set to the count value of the time counter MC at that time. Also, the channel pointer POINT (PC) designated by the reproduction channel register PC is set to "0", and the reproduction channel register PC is decremented. Next, in step S115, it is determined whether or not PC = 0. In this case, the determination result is “NO” and step S1
Returning to step 14, and when step S114 is executed for PC = 15-1 and PC = 0 by executing step S114, the determination result of step S115 becomes "YES" and the process proceeds to step S116. And the playback channel register
"16" is set in the PC, the process proceeds to step S117, and the meaning interpretation processing routine shown in FIG. 13 is executed. First, in step S121, the channel designated by the playback channel register PC (in this case, the 16th channel).
With reference to the channel pointer POINT (PC) of, the content is used as a read address, one word of data is read from the song memory 7 and loaded into the operation register OP. Next, in step S122, it is determined whether the instruction code stored in the operation register OP is that of an LTI instruction. For this MIDI sequencer, the 16th song memory
At the beginning address of the channel, TO that specifies the tempo of the song
The code of the R instruction is stored. Therefore, the determination result is "NO", and the flow proceeds to step S123 to determine whether the instruction code is that of the MM instruction. The result of this determination is also “NO”, and the flow proceeds to step S124. Then, it is determined whether or not the instruction code is that of the TOR instruction, the determination result becomes "YES", and the process proceeds to step S134. And channel pointer POINT (PC) in song memory 7
(However, PC = 16) 2 data is read from the address obtained by adding 2 and set in the tempo register TEMPO. Next, in step S135, "4" is set in the instruction length register N, and in step S140, the content of the channel pointer POINT (PC) {in this case, POINT (16)} is set to N.
Increase by 4 Then, the process returns to the main routine through the play process routine, the switch process routine, and the key process routine in sequence. Then, the procedure proceeds to step S3 to execute the joystick processing routine, and then proceeds to step S4 to execute the sequencer processing routine. When proceeding to the sequencer processing routine, since only the play flag PLAY is in the set state, the procedure proceeds to step S55 via steps S51 and S52 to execute the sequencer playing routine shown in FIG. First, in step S151, "16" is set in the reproduction channel register PC. Next, proceeding to step S152, the channel timing register CCNT (PC) of the channel specified by the reproduction channel register PC {in this case, CCNT (1
6)} is less than or equal to the count value of the time counter MC at that time. Then, if the determination result is “YES”, the process proceeds to step S153 to execute the semantic analysis processing routine, and if the determination result is “NO”, step S153 is skipped and the process proceeds to step S154. When the semantic analysis processing routine is started, after the data is read from the song memory 7 and stored in the operation register OP in step S121 as described above,
The instruction code is determined by the determination in steps S122 to S129, and the processing according to the instruction is performed. When the LTI instruction (interval time load instruction) is fetched, the process proceeds to step S131 via step S122. Then, the upper bit data II and the lower bit data ii of the interval time written in the operant part of the fetched LTI instruction are referred to, and the time counter MC at that time point is also referred to, and an operation of MC + 256 × II + ii is performed. Then, the calculation result, that is, the time when the instruction corresponding to the channel PC is executed next time is set in the channel timing register CCNT (PC). Next, the procedure proceeds to step S132, "3" is set in the instruction length register N, and step S1
Go to 40 and increment the channel pointer POINT (PC) by N = 3. MM instruction (when an instruction for declaring bar switching is fetched, the process proceeds to step S133 through steps S122 and S123, "3" is set in the instruction length register N, and the process proceeds to step S140.
That is, in this case, only the channel pointer POINT (PC) is incremented. The case of the TOR command has already been explained,
No duplicate explanation will be given. When the KON command (key-on command) is fetched, the process proceeds to step S141 through steps S122 to S126 to determine whether the play flag PLAY is in the set state. And the judgment result is "N
In the case of "O", the process proceeds to step S142 and step S137, the state register of the track i corresponding to the channel PC is referred to, and if STATE (i) = 1, that is, the reproduction of the track i is prohibited. In this case, the velocity information of the key velocity register KV is set to "0" and the process proceeds to step S137. On the other hand, when the result of the determination in step S141 is "YES", step S142 is skipped and the process proceeds to step S137. Then, in step S137, "3" is set in the instruction length register N, and then in step S139, N = 3 words of data are read from the song memory 7, and the read data, that is, the code of the key-on instruction, should be sounded. Tone generator for sound keycodes and velocity information
Send to channel PC in TG. As a result, a tone corresponding to the KON command is produced on the channel PC. Then, in the case of a KOFF command (key-off command), step S1
The process proceeds from step 22 to step S127 to step S137 to set "3" in the instruction length register N. Next, in step S139, N = 3 words of data are read from the song memory 7, and the read data, that is, the code of the key-off command, the key code of the sound to be muted, and the velocity information are sent to the channel PC in the tone generator TG. As a result, the generation of the musical sound corresponding to the KOFF command is stopped. When the CPres instruction (channel pressure instruction) is fetched, the process proceeds to step S126 via steps S122 to S125,
"2" is set in the instruction length register N, and the process proceeds to step S139. Then, N = 2 words of data are read from the address indicated by the channel pointer POINT (PC) in the song memory 7, and the read data, that is, the instruction code of the channel pressure and its parameter are designated by the reproduction channel register PC in the tone generator TG. To the pronunciation channel. Here, in the first to fourth channels of the song memory 7, the channel pressure command created by the operation of the joystick 3 as described above is recorded together with the key-on command, the key-off command and the like. Therefore, the playback channel register PC is "1" to "4".
When the channel pressure command is fetched from the first to fourth channels of the song memory 7, the volume of the first to fourth sound generation channels of the tone generator TG is controlled by these, and the joystick 3 is operated during recording. A musical sound whose sound image position changes is reproduced. Also in the case of the ChordC instruction, similarly, the process proceeds to Steps S137 and S139 through Steps S122 to S128, and the chord according to the imported ChordC instruction is generated by the tone generator TG. Then, when the EOE instruction is fetched, the process proceeds to step S138 through steps S121 to S129, and the instruction length register N is set to "1".
Is set, and steps S139 and S140 are executed. In this way, the instruction is fetched from the channel designated by the reproduction channel register PC in the song memory 7 and executed. When the semantic analysis processing routine ends, the sequence returns to the sequencer play routine and proceeds to step S154 to decrement the reproduction channel register PC. Next, in step S155,
It is determined whether or not PC = 0. If the determination result is "NO", the process returns to step S152. In this way, for PC = 16-1, the instructions stored in the channel PC in the song memory 7 are fetched and executed. Then, the sequencer play routine is ended, and the sequence returns to the main routine via the sequencer processing routine. In this way, the MIDI information stored in the song memory 7 is reproduced. If the player operates the keyboard 1 during reproduction, when the key processing routine is executed, the key-on processing routine or the key-off processing is executed. The routine runs,
A musical tone corresponding to the key operation is generated.

【記録再生モード】[Record / play mode]

演奏者が例えばトラック指示スイッチSW1と記録スイッ
チSW9を共にオンし、次いでプレイスイッチSW12をオン
すると、上記した記録モードの各処理と再生モードの各
処理が共に実行され、ソングメモリ7の各チャネルに記
録された操作情報を再生し楽音を発生すると共に、鍵盤
1の操作イベントをリアルタイムに第5チャネルへ記録
する記録再生モードが実行される。
For example, when the performer turns on both the track instruction switch SW1 and the record switch SW9, and then turns on the play switch SW12, both the recording mode processing and the reproduction mode processing described above are executed and the channels of the song memory 7 are processed. A recording / reproducing mode is executed in which the recorded operation information is reproduced to generate a musical sound and an operation event of the keyboard 1 is recorded in the fifth channel in real time.

【記録および再生の停止】[Stop recording and playback]

記録あるいは再生を終了する場合、演奏者はストップス
イッチSW11をオンにする。この結果、メインルーチンの
ステップS2、鍵処理ルーチンを順次介してスイッチ処理
ルーチンが起動された場合、ステップS20〜S22を介して
ステップS32に進み、第24図に示すストップ処理ルーチ
ンを実行する。 このMIDIシーケンサが記録モードで動作し、記録フラグ
RECORDがセット状態の場合、ステップS421の判断結果が
「YES」となってステップS422に進み、オペレーション
レジスタOPにEOE命令のコードをセットし、ステップS42
3に進んでイベント書込ルーチン(第22図)を実行す
る。そして、ステップS351〜S356を介してステップ37
1、S372およびS380を実行し、EOE命令をソングメモリ7
に書き込むと共にチャネルポインタPOINT(5)を進
め、ストップ処理ルーチンに戻る。次いでステップS42
4、S425を実行して上述と同様にEOR命令のソングメモリ
7への書込を行う。次にトーンジェネレータTGの全発音
チャネルにEOE命令を送って発音を終了し(ステップS42
6)、プレイフラグPLAY、記録フラグRECORDおよび記録
待機フラグRECWAITをリセットし(ステップS427)、ス
イッチ処理ルーチン、鍵処理ルーチンを順次介してメイ
ンルーチンに戻る。 一方、再生モードの場合も、ストップスイッチSW11をオ
ンにすることにより、上記記録と同様にストップ処理ル
ーチンが起動され、再生が終了する。ただし、この場
合、記録フラグRECORDがリセット状態なので、ストップ
処理ルーチン実行の際、ステップS422〜S425は実行され
ない。
To end recording or reproduction, the performer turns on the stop switch SW11. As a result, when the switch processing routine is started through step S2 of the main routine and the key processing routine in sequence, the process proceeds to step S32 through steps S20 to S22 to execute the stop processing routine shown in FIG. This MIDI sequencer works in record mode and the record flag
If RECORD is in the set state, the result of the determination in step S421 is "YES", the flow proceeds to step S422, the code of the EOE instruction is set in the operation register OP, and step S42
Proceed to 3 to execute the event writing routine (Fig. 22). Then, through steps S351 to S356, step 37
1, S372 and S380 are executed and the EOE command is sent to the song memory 7
, And advances the channel pointer POINT (5) and returns to the stop processing routine. Then step S42
4, S425 is executed to write the EOR instruction to the song memory 7 as described above. Next, the EOE command is sent to all tone generation channels of the tone generator TG to end the tone generation (step S42).
6) The play flag PLAY, the recording flag RECORD, and the recording standby flag RECWAIT are reset (step S427), and the process returns to the main routine through the switch processing routine and the key processing routine in sequence. On the other hand, also in the reproduction mode, by turning on the stop switch SW11, the stop processing routine is started in the same manner as in the above recording, and the reproduction is ended. However, in this case, since the recording flag RECORD is in the reset state, steps S422 to S425 are not executed when the stop processing routine is executed.

【小節番号の操作】[Operation of measure number]

このMIDIシーケンサでは、記録モードでない状態におい
て、小節番号レジスタMEASUREにおける小節番号を進め
たり、あるいは、曲の先頭側に戻したりすることができ
る。 小節番号を進める場合、演奏者は小節送りスイッチSW13
をオンする。この結果、鍵処理ルーチンを介してスイッ
チ処理ルーチン(第7図)が起動された場合にステップ
S20〜S23を介してステップS33に進み、第25図に示す小
節送り処理ルーチンを実行する。 まず、ステップS621に進み、記録フラグRECORDがセット
状態か否かを判断し、判断結果が「YES」の場合はスイ
ッチ処理ルーチンおよび鍵処理ルーチンを介してメイン
ルーチンに戻る。一方、判断結果が「NO」の場合、すな
わち、記録モードでない場合はステップS622に進み、第
26図に示す次小節サーチ処理ルーチンに進む。まず、ス
テップS631において、チャネルレジスタCHに「1」をセ
ットする。次いでスタックSTACK(CH)にチャネルレジ
スタCHによって指定されるチャネルのチャネルポインタ
POINT(CH)を退避し(ステップS633)、チャネルレジ
スタCHをインクリメントする(ステップS633)。そし
て、ステップS634に進んでCH=17か否かを判断し、判断
結果が「NO」の期間、ステップS632〜S634を繰り返し、
スタックSTACK(CH)(CH=1〜16)にチャネルポイン
タPOINT(CH)(CH=1〜16)の内容を退避する。そし
て、チャネルレジスタCHをデクリメントして内容を「1
6」とする(ステップS635)。 次にステップS636に進み、第27図に示す構文解析処理ル
ーチンを実行する。まず、ソングメモリ7の第CHチャネ
ルのチャネルポインタPOINT(CH)が示すアドレスから
1ワードのデータを取り出し、オペレーションレジスタ
OPにセットする。そして、オペレーションレジスタOPに
セットした命令コードを判断し(ステップS662〜S66
5)、判断結果に従って、当該命令の命令長を命令長レ
ジスタNにセットし(ステップS666〜S669)、次小節サ
ーチ処理ルーチンに戻る。 そして、ステップS637に進み、チャネルポインタPOINT
(CH)の内容を命令長レジスタNに記憶された命令長だ
けインクリメントする。次いでステップS638に進み、オ
ペレーションレジスタOPの命令がMM命令か否かを判断す
る。そして、判断結果が「NO」の場合はステップS639に
進んで命令がEOR命令か否かを判断する。そして、判断
結果が「NO」、すなわち、命令がMM命令でもEOR命令で
もない場合はステップS636に戻る。 一方、ステップS638の判断結果が「YES」、すなわち、
オペレーションレジスタOPに取り込んだ命令がMM命令の
場合はチャネルレジスタCHをデクリメントし(ステップ
S644)、CH=0になったか否かを判断する(ステップS6
44)。そして、判断結果が「NO」の場合はステップS636
に戻って新たなチャネルについて上述した処理を行い、
「YES」の場合、すなわち、全16チャネルの処理を終了
した場合は小節送りルーチンに戻る。 また、ステップS639の判断結果が「YES」、すなわち、
オペレーションレジスタOPに取り込んだ命令がEOR命令
の場合は、ステップS640に進んでスタックSTACK(CH)
に退避したアドレスをチャネルポインタPOINT(CH)に
戻す。次いでチャネルレジスタCHをデクリメントし(ス
テップS641)、CH=0になったか否かを判断する(ステ
ップS642)。そして、判断結果が「NO」の場合はステッ
プS636に戻り、「YES」の場合は小節送りルーチンに戻
る。このように、各チャネルCH毎に、途中でEOR命令が
検出されない限り、小節切換を宣言するMM命令が検出さ
れるまでチャネルポインタ(CH)がインクリメントさ
れ、途中でEOR命令が検出された場合、チャネルポイン
タPOINT(CH)は処理前の状態に戻される。 そして、小節送り処理ルーチンに戻り、ステップS623に
進み、現時点の小節番号の次に小節があるか否かを判断
し、判断結果が「NO」の場合は現時点における小節番号
レジスタMEASUREを小節番号表示器DISP1に表示し(ステ
ップS625)、スイッチ処理ルーチン、鍵処理ルーチンを
介してメインルーチンに戻る。一方、ステップS623の判
断結果が「YES」の場合は、小節番号レジスタMEASUREを
インクリメントし(ステップS624)、ステップS625、ス
イッチ処理ルーチン、鍵処理ルーチンを介してメインル
ーチンに戻る。 小節番号を曲の先頭側に戻す場合、演奏者は小節送りス
イッチSW14をオンする。この結果、鍵処理ルーチン、ス
イッチ処理ルーチンを介し、第28図に示す小節戻し処理
ルーチンを実行する。 まず、ステップS681に進み、記録フラグRECORDがセット
状態か否かを判断し、「YES」の場合はスイッチ処理ル
ーチンおよび鍵処理ルーチンを介してメインルーチンに
戻る。一方、ステップS681の判断結果が「NO」の場合は
ステップS683に進み、小節番号レジスタMEASUREが
「1」か否かを判断する。そして、判断結果が「NO」の
場合は小節番号レジスタMEASUREをデクリメントしてか
らステップS684に進み、「NO」の場合はステップS683を
介すことなく直接ステップS684に進む。そして、第29図
に示す前小節サーチ処理ルーチンを実行する。 まず、ステップS701において、チャネルレジスタCHに
「1」をセットする。次いでステップS702およびS703を
実行することにより、スタックSTACK(CH)(CH=1〜1
6)にチャネルポインタPOINT(CH)(CH=1〜16)を退
避し、チャネルポインタPOINT(CH)(CH=1〜16)に
「0」をセットする。そして、ステップS704に進んで、
チャネルレジスタCHをデクリメントして内容を「16」と
する。 次にステップS705に進み、構文解析処理ルーチンを実行
し、ソングメモリ7におけるチャネルポインタPOINT(C
H)によって指定されるアドレスに記憶された操作情報
の命令長を命令長レジスタNに取り込み、ステップS706
に進んでチャネルポインタPOINT(CH)の内容を命令長
レジスタNに記憶された命令長だけインクリメントす
る。次いでステップS707に進み、オペレーションレジス
タOPの命令がEOR命令か否かを判断する。そして、判断
結果が「NO」の場合はステップS708に進んで命令はMM命
令か否かを判断する。そして、判断結果が「NO」、すな
わち、命令がEOR命令でもMM命令でもない場合はステッ
プS705に戻る。 一方、ステップS708の判断結果が「YES」、すなわち、
オペレーションレジスタOPに取り込んだ命令がMM命令の
場合はステップS709に進み、チャネルポインタPOINT(C
H)から1を減じたアドレスが現時点における小節番号
レジスタMEASUREに記憶された小節番号に対応したアド
レスであるか否かを判断する。そして、判断結果が「N
O」の場合はステップS705に戻り、「YES」の場合はチャ
ネルレジスタCHをデクリメントし(ステップS710)、CH
=0になったか否かを判断する(ステップS711)。そし
て、判断結果が「NO」の場合はステップS705に戻り、
「YES」の場合、すなわち、全16チャネルの処理を終了
した場合は小節戻しルーチンに戻る。 また、ステップS707の判断結果が「YES」、すなわち、
オペレーションレジスタOPに取り込んだ命令がEOR命令
の場合は、ステップS712に進んでスタックSTACK(CH)
に退避したアドレスをチャネルポインタPOINT(CH)に
戻す。次いでチャネルレジスタCHをデクリメントし(ス
テップS713)、CH=0になったか否かを判断する(ステ
ップS714)。そして、判断結果が「NO」の場合はステッ
プS705に戻り、「YES」の場合は小節戻しルーチンに戻
る。このように、各チャネルCH毎に、小節番号レジスタ
MEASUREに設定された小節が探索されるまで、各チャネ
ルポインタPOINT(CH)がインクリメントされる。 そして、小節戻し処理ルーチンに戻り、ステップS685に
進み、小節番号レジスタMEASUREを小節番号表示器DISP1
に表示し、スイッチ処理ルーチン、鍵処理ルーチンを介
してメインルーチンに戻る。 このように、演奏者は小節送りスイッチSW13および小節
戻しスイッチSW14を操作することにより、小節番号を操
作することができ、所望の小節番号からソングメモリ7
に記憶された操作情報を再生することができ、また、所
望の小節番号から操作情報を記録することができる。ま
た、このMIDIシーケンサの場合、記録フラグRECORDがセ
ット状態でない限り、小節番号の操作の要求を受け付け
るようにしているので、再生中に小節番号を変更するこ
とも可能である。
In this MIDI sequencer, the bar number in the bar number register MEASURE can be advanced or returned to the head side of the song in a state not in the recording mode. When advancing the measure number, the performer has the measure advance switch SW13.
Turn on. As a result, when the switch processing routine (FIG. 7) is started via the key processing routine, the step
The process proceeds from step S20 to S23 to step S33, and the bar feed processing routine shown in FIG. 25 is executed. First, in step S621, it is determined whether or not the recording flag RECORD is set, and if the determination result is "YES", the process returns to the main routine via the switch processing routine and the key processing routine. On the other hand, if the determination result is “NO”, that is, if the recording mode is not set, then the process proceeds to step S622, and the
The process proceeds to the next bar search processing routine shown in FIG. First, in step S631, "1" is set in the channel register CH. Then on the stack STACK (CH) the channel pointer of the channel specified by the channel register CH
POINT (CH) is saved (step S633), and the channel register CH is incremented (step S633). Then, the process proceeds to step S634 to determine whether CH = 17, and while the determination result is “NO”, steps S632 to S634 are repeated,
The contents of the channel pointer POINT (CH) (CH = 1 to 16) are saved in the stack STACK (CH) (CH = 1 to 16). Then, decrement the channel register CH and set the content to "1.
6 ”(step S635). Next, proceeding to step S636, the syntax analysis processing routine shown in FIG. 27 is executed. First, one word data is taken out from the address indicated by the channel pointer POINT (CH) of the CH channel of the song memory 7, and the operation register
Set to OP. Then, the instruction code set in the operation register OP is determined (steps S662 to S66).
5) According to the determination result, the instruction length of the instruction is set in the instruction length register N (steps S666 to S669), and the process returns to the next bar search processing routine. Then, the procedure proceeds to step S637, and the channel pointer POINT
The content of (CH) is incremented by the instruction length stored in the instruction length register N. Next, in step S638, it is determined whether the instruction in the operation register OP is the MM instruction. Then, if the determination result is "NO", the flow advances to step S639 to determine whether the instruction is an EOR instruction. Then, when the determination result is “NO”, that is, when the instruction is neither the MM instruction nor the EOR instruction, the process returns to step S636. On the other hand, the determination result of step S638 is "YES", that is,
When the instruction fetched in the operation register OP is the MM instruction, the channel register CH is decremented (step
S644), it is determined whether or not CH = 0 (step S6
44). If the determination result is “NO”, step S636
Back to and do the above for the new channel,
If "YES", that is, if the processing of all 16 channels is completed, the process returns to the bar feeding routine. In addition, the determination result of step S639 is "YES", that is,
If the instruction fetched into the operation register OP is an EOR instruction, the operation proceeds to step S640 and the stack STACK (CH)
The address saved in is returned to the channel pointer POINT (CH). Next, the channel register CH is decremented (step S641), and it is determined whether or not CH = 0 (step S642). If the determination result is "NO", the process returns to step S636, and if the determination result is "YES", the process returns to the bar feeding routine. In this way, for each channel CH, unless an EOR instruction is detected on the way, the channel pointer (CH) is incremented until an MM instruction that declares bar switching is detected, and when an EOR instruction is detected on the way, The channel pointer POINT (CH) is returned to the state before processing. Then, the procedure returns to the bar feed processing routine, the process proceeds to step S623, and it is determined whether or not there is a bar next to the bar number at the present time. If the judgment result is "NO", the bar number register MEASURE at the current time is displayed as a bar number. It is displayed on the device DISP1 (step S625), and returns to the main routine through the switch processing routine and the key processing routine. On the other hand, if the determination result in step S623 is "YES", the measure number register MEASURE is incremented (step S624), and the process returns to the main routine via step S625, the switch processing routine, and the key processing routine. To return the measure number to the beginning of the song, the performer turns on the measure advance switch SW14. As a result, the bar return processing routine shown in FIG. 28 is executed via the key processing routine and the switch processing routine. First, in step S681, it is determined whether or not the recording flag RECORD is set, and if "YES", the process returns to the main routine via the switch processing routine and the key processing routine. On the other hand, if the decision result in the step S681 is "NO", the flow advances to a step S683 to decide whether or not the measure number register MEASURE is "1". If the determination result is "NO", the measure number register MEASURE is decremented and then the process proceeds to step S684. If the determination result is "NO", the process directly proceeds to step S684 without passing through step S683. Then, the previous bar search processing routine shown in FIG. 29 is executed. First, in step S701, "1" is set in the channel register CH. Next, by executing steps S702 and S703, the stack STACK (CH) (CH = 1 to 1
The channel pointer POINT (CH) (CH = 1 to 16) is saved in 6), and "0" is set to the channel pointer POINT (CH) (CH = 1 to 16). Then, proceed to step S704,
The channel register CH is decremented to "16". Next, proceeding to step S705, the parsing routine is executed and the channel pointer POINT (C
H) fetches the instruction length of the operation information stored in the address designated by H) into the instruction length register N,
Then, the contents of the channel pointer POINT (CH) are incremented by the instruction length stored in the instruction length register N. Next, in step S707, it is determined whether the instruction in the operation register OP is an EOR instruction. If the determination result is "NO", the flow proceeds to step S708 to determine whether the instruction is an MM instruction. Then, when the determination result is “NO”, that is, when the instruction is neither the EOR instruction nor the MM instruction, the process returns to step S705. On the other hand, the determination result of step S708 is "YES", that is,
If the instruction fetched into the operation register OP is the MM instruction, the operation proceeds to step S709, where the channel pointer POINT (C
It is determined whether the address obtained by subtracting 1 from H) is the address corresponding to the bar number stored in the bar number register MEASURE at the present time. And the judgment result is "N
If "O", the process returns to step S705, and if "YES", the channel register CH is decremented (step S710), and CH
It is determined whether or not = 0 (step S711). If the determination result is “NO”, the process returns to step S705,
If "YES", that is, if the processing for all 16 channels is completed, the process returns to the bar return routine. In addition, the determination result of step S707 is "YES", that is,
If the instruction fetched into the operation register OP is an EOR instruction, the operation proceeds to step S712 and the stack STACK (CH)
The address saved in is returned to the channel pointer POINT (CH). Next, the channel register CH is decremented (step S713), and it is determined whether or not CH = 0 (step S714). If the determination result is “NO”, the process returns to step S705, and if the determination result is “YES”, the process returns to the bar returning routine. In this way, for each channel CH, the measure number register
Each channel pointer POINT (CH) is incremented until the measure set in MEASURE is searched. Then, the process returns to the measure return processing routine and proceeds to step S685 to set the measure number register MEASURE to the measure number display DISP1.
, And returns to the main routine through the switch processing routine and the key processing routine. In this way, the performer can operate the measure number by operating the measure feed switch SW13 and the measure return switch SW14, and the song memory 7 can be operated from the desired measure number.
The operation information stored in can be reproduced, and the operation information can be recorded from a desired bar number. Also, in the case of this MIDI sequencer, unless the recording flag RECORD is set, the request for the operation of the bar number is accepted, so the bar number can be changed during the reproduction.

【テンポの操作】[Tempo operation]

このMIDIシーケンサは、記録モードでない場合、テンポ
アップスイッチSW15をオンすることによってテンポを速
め、テンポダウンスイッチSW16をオンすることによって
テンポを遅くすることができる。 すなわち、テンポアップスイッチSW15がオンされると、
鍵処理ルーチン、スイッチ処理ルーチンを介して第30図
に示すテンポアップルーチンに進む。そして、記録フラ
グRECORDがセット状態か否かを判断し(ステップS80
1)、判断結果が「NO」の場合にテンポレジスタTEMPOが
テンポの上限値「250」に達したか否かを判断し(ステ
ップS803)、その判断結果が「NO」の場合にテンポレジ
スタTEMPOをインクリメントする。また、テンポダウン
スイッチSW16がオンされると、第31図に示すテンポアッ
プルーチンに進み、記録フラグRECORDがセット状態か否
かを判断し(ステップS804)、判断結果が「NO」の場合
にテンポレジスタTEMPOがテンポの下限値「30」に達し
たか否かを判断し(ステップS805)、その判断結果が
「NO」の場合にテンポレジスタTEMPOをデクリメントす
る。このようにしてテンポレジスタTEMPOに設定される
テンポが変更され、変更されたテンポに従ってメトロノ
ーム音の発生、小節番号の切換タイミング制御等が行わ
れる。 「発明の効果」 以上説明したように、この発明によれば、複数の記憶領
域を有し、各記憶領域に楽音発生の基となる自動演奏情
報と該楽音発生の態様を制御する制御情報とを記憶する
記憶手段と、第1の操作子と、第2の操作子と、前記第
1の操作子の操作情報に対応した前記自動演奏情報を前
記記憶手段の各記憶領域に書き込む第1の書き込み手段
と、前記第2の操作子の操作量に応じた操作情報から、
前記記憶手段の各記憶領域に個別に対応する複数の前記
制御情報を作成する制御情報作成手段と、前記制御情報
作成手段によって作成された複数の前記制御情報をそれ
ぞれ対応する前記記憶領域に書き込む第2の書き込み手
段とを設けたので、発生楽音に変化を与えることによっ
て演奏効果に富んだ自動演奏を行う情報を、簡単に作成
して記録することができるという効果がある。
When not in the recording mode, this MIDI sequencer can speed up the tempo by turning on the tempo up switch SW15 and slow down the tempo by turning on the tempo down switch SW16. That is, when the tempo up switch SW15 is turned on,
After the key processing routine and the switch processing routine, the routine proceeds to the tempo up routine shown in FIG. Then, it is determined whether or not the recording flag RECORD is set (step S80
1) If the judgment result is "NO", it is judged whether or not the tempo register TEMPO has reached the upper limit value "250" of the tempo (step S803). If the judgment result is "NO", the tempo register TEMPO is judged. Is incremented. When the tempo down switch SW16 is turned on, the process proceeds to the tempo up routine shown in FIG. 31, and it is determined whether or not the recording flag RECORD is set (step S804). If the determination result is “NO”, the tempo is set. It is determined whether or not the register TEMPO has reached the lower limit value "30" of the tempo (step S805), and if the determination result is "NO", the tempo register TEMPO is decremented. In this way, the tempo set in the tempo register TEMPO is changed, and the metronome sound is generated and the bar number switching timing is controlled in accordance with the changed tempo. "Effects of the Invention" As described above, according to the present invention, there are provided a plurality of storage areas, and in each storage area, automatic performance information serving as a basis of musical sound generation and control information for controlling the mode of the musical sound generation. A first operating element, a second operating element, and a first operating element that writes the automatic performance information corresponding to the operating information of the first operating element in each storage area of the storing means. From the writing means and the operation information according to the operation amount of the second operator,
Control information creating means for creating a plurality of the control information individually corresponding to the respective storage areas of the storage means, and writing the plurality of control information created by the control information creating means in the respective corresponding storage areas Since the second writing means is provided, there is an effect that it is possible to easily create and record information for performing an automatic performance having a rich performance effect by changing the generated musical sound.

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

第1図はこの発明の一実施例による自動演奏記録装置の
構成を示すブロック図、第2図の同実施例における操作
パネル2を示す図、第3図は同実施例における操作情報
の処理を説明する図、第4図は同実施例によって実行さ
れる各種ルーチンの体系図、第5図〜第31図は同実施例
の動作を示すフローチャート、第32図は同実施例のジョ
イスティック3の操作によって作成される制御情報を説
明する図である。 7……ソングメモリ、3……ジョイスティック、1……
鍵盤、8……CPU、TG……トーンジェネレータ。
FIG. 1 is a block diagram showing the structure of an automatic performance recording apparatus according to an embodiment of the present invention, FIG. 2 is a diagram showing an operation panel 2 in the same embodiment, and FIG. 3 is a diagram showing processing of operation information in the same embodiment. FIG. 4 is an explanatory diagram, FIG. 4 is a systematic diagram of various routines executed by the embodiment, FIGS. 5 to 31 are flowcharts showing the operation of the embodiment, and FIG. 32 is an operation of the joystick 3 of the embodiment. It is a figure explaining the control information created by. 7 ... Song memory, 3 ... Joystick, 1 ...
Keyboard, 8 ... CPU, TG ... Tone generator.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】複数の記憶領域を有し、各記憶領域に楽音
発生の基となる自動演奏情報と該楽音発生の態様を制御
する制御情報とを記憶する記憶手段と、 第1の操作子と、 第2の操作子と、 前記第1の操作子の操作情報に対応した前記自動演奏情
報を前記記憶手段の各記憶領域に書き込む第1の書き込
み手段と、 前記第2の操作子の操作量に応じた操作情報から、前記
記憶手段の各記憶領域に個別に対応する複数の前記制御
情報を作成する制御情報作成手段と、 前記制御情報作成手段によって作成された複数の前記制
御情報をそれぞれ対応する前記記憶領域に書き込む第2
の書き込み手段と、 を具備することを特徴とする自動演奏記録装置。
1. A storage means having a plurality of storage areas, each storage area storing automatic performance information serving as a basis of tone generation and control information for controlling the tone generation mode, and a first operating element. A second operating element, first writing means for writing the automatic performance information corresponding to the operating information of the first operating element in each storage area of the storage means, and operation of the second operating element From the operation information according to the amount, a control information creating unit that creates a plurality of the control information individually corresponding to each storage area of the storage unit, and a plurality of the control information created by the control information creating unit, respectively. Second writing in the corresponding storage area
An automatic performance recording device, comprising:
JP1343214A 1989-12-28 1989-12-28 Automatic performance recorder Expired - Fee Related JPH07109556B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1343214A JPH07109556B2 (en) 1989-12-28 1989-12-28 Automatic performance recorder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1343214A JPH07109556B2 (en) 1989-12-28 1989-12-28 Automatic performance recorder

Publications (2)

Publication Number Publication Date
JPH03200288A JPH03200288A (en) 1991-09-02
JPH07109556B2 true JPH07109556B2 (en) 1995-11-22

Family

ID=18359797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1343214A Expired - Fee Related JPH07109556B2 (en) 1989-12-28 1989-12-28 Automatic performance recorder

Country Status (1)

Country Link
JP (1) JPH07109556B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5564287A (en) * 1978-11-09 1980-05-14 Taiji Tanigaki Musical tone editing and peproducing unit
JPS58160992A (en) * 1982-03-19 1983-09-24 カシオ計算機株式会社 Electronic musical instrument
JPS62256294A (en) * 1986-10-09 1987-11-07 Yamaha Corp Electronic instrument with automatic playing device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5564287A (en) * 1978-11-09 1980-05-14 Taiji Tanigaki Musical tone editing and peproducing unit
JPS58160992A (en) * 1982-03-19 1983-09-24 カシオ計算機株式会社 Electronic musical instrument
JPS62256294A (en) * 1986-10-09 1987-11-07 Yamaha Corp Electronic instrument with automatic playing device

Also Published As

Publication number Publication date
JPH03200288A (en) 1991-09-02

Similar Documents

Publication Publication Date Title
US4930390A (en) Automatic musical performance apparatus having separate level data storage
US5223655A (en) Electronic musical instrument generating chord data in response to repeated operation of pads
JP2562370B2 (en) Automatic accompaniment device
JP2623809B2 (en) Automatic key press indicating device
US5254804A (en) Electronic piano system accompanied with automatic performance function
JPS61172192A (en) Electronic musical instrument
JPH0667653A (en) Electronic musical instrument
JPH07109556B2 (en) Automatic performance recorder
US5214993A (en) Automatic duet tones generation apparatus in an electronic musical instrument
JP2631722B2 (en) Automatic performance device
US5760326A (en) Tone signal processing device capable of parallelly performing an automatic performance process and an effect imparting, tuning or like process
JPH01179090A (en) Automatic playing device
JPH05188956A (en) Electronic musical instrument with automatic playing function
JPH0769698B2 (en) Automatic accompaniment device
JPH07111629B2 (en) Electronic musical instrument
JP2572318B2 (en) Automatic performance device
JP3781167B2 (en) Performance information input device and performance information input method
JP2998527B2 (en) Automatic accompaniment device
JP3057711B2 (en) Music control device
JP2943560B2 (en) Automatic performance device
JP2555569B2 (en) Electronic musical instrument
JP3398983B2 (en) Automatic accompaniment device
JPH01179087A (en) Automatic playing device
JP2580872Y2 (en) Electronic musical instrument
JP3120487B2 (en) Electronic musical instrument with automatic accompaniment function

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20071122

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20081122

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees