JP2888202B2 - Performance recording and playback device - Google Patents

Performance recording and playback device

Info

Publication number
JP2888202B2
JP2888202B2 JP8212139A JP21213996A JP2888202B2 JP 2888202 B2 JP2888202 B2 JP 2888202B2 JP 8212139 A JP8212139 A JP 8212139A JP 21213996 A JP21213996 A JP 21213996A JP 2888202 B2 JP2888202 B2 JP 2888202B2
Authority
JP
Japan
Prior art keywords
data
key
input
recording
output
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 - Lifetime
Application number
JP8212139A
Other languages
Japanese (ja)
Other versions
JPH09127938A (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 JP8212139A priority Critical patent/JP2888202B2/en
Publication of JPH09127938A publication Critical patent/JPH09127938A/en
Application granted granted Critical
Publication of JP2888202B2 publication Critical patent/JP2888202B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 【0001】 【発明の属する技術分野】この発明は、電子楽器のキー
ボードやコンピュータ等から入力される演奏情報を記録
し、更に記憶した演奏情報を再生して音源等へ出力する
演奏記録再生装置に関する。 【0002】 【従来の技術】従来の演奏記録再生装置においては、鍵
盤の操作によって、楽音の発音を表わすキーオン情報や
楽音の消音を表わすキーオフ情報からなる演奏情報が発
生する。そして、これらの演奏情報をそれらが発生する
タイミングを表わすタイミング情報とともに記録し、ま
た、記録したキーオン情報やキーオフ情報をタイミング
情報にもとづいて再生し、音源へ出力することによって
自動演奏を行うようにしている。また、近年では、MI
DI(Musical InstrumentDigi
tal Interface)規格によりキーボードや
音源装置および演奏情報にチャンネルの識別データを付
けて通信するようになってきている。 【0003】 【発明が解決しようとする課題】上述の従来の演奏記録
再生装置では、単に、入力されてくる演奏情報をそのま
ま記憶し、後の再生動作の時にそのまま読み出して出力
するのみであった。このため、今まで使用していた音源
装置とは別のチャンネルが設定されている音源装置を駆
動しようとすれば、演奏情報の記録時に用いたキーボー
ド等の外部入力装置の送信チャンネルを変更設定し直し
て再度記録再生させる必要が生じる。または、新たに使
用したい音源装置の受信チャンネルを変更設定すること
によってもこの音源装置を駆動することが可能だが、こ
の場合、今まで駆動していた音源装置と同じチャンネル
を設定することになり、同じチャンネルの機器が複数に
なってしまい、以後の区別が困難となる。 【0004】さらに、演奏情報の入力装置として接続す
る機器の数が増え、また、再生時に演奏情報を受け取る
音源装置などの接続機器の数が増えてくると、入力側、
出力側の各チャンネルを変更したい場合には、接続され
ている各機器間の現在設定されているチャンネルで重な
るものがないようにしながら入出力チャンネルを設定し
直す必要が生じる。加えて、中には、チャンネルの変更
ができなかったり、変更できるチャンネル数が制限され
ている機器もあり、場合によってはケーブルでの接続の
仕方自体をやり直す必要も生じ、たいへん面倒であるば
かりか記録ミスや再生ミスにつながり、楽曲の自動演奏
情報の記録再生作業がなかなか進まない等の問題があっ
た。 【0005】この発明は、上述のような従来の問題点に
鑑み、各機器の設定や接続の仕方を変更しなくても、演
奏記録再生装置本体のみで自由に入出力関係を変えられ
るようにすることを目的とする。 【0006】 【課題を解決するための手段】上記問題点を解決するた
めこの発明では、演奏タイミングを表わすタイミング情
報を少なくとも含む演奏情報を入力する複数の入力端子
と、前記入力端子から入力される演奏情報を記録する記
録トラックを複数有する記録手段と、それぞれが前記演
奏情報を出力する複数の出力端子とを備え、複数の演奏
情報が前記記録手段に複数の記録トラックの演奏情報と
して記録され、記録された演奏情報を出力手段から出力
する演奏記録再生装置であって、前記複数の記録トラッ
ク毎に、記録すべき演奏情報が入力される入力端子を前
記複数の入力端子の中から設定する第1の設定手段と、
前記複数の記録トラック毎に、演奏情報が出力される出
力端子を前記複数の出力端子の中から設定する第2の設
定手段と、入力された演奏情報を前記複数の入力端子の
それぞれに対応して前記第1の設定手段で設定された記
録トラックに書き込む書込手段と、前記各記録トラック
に記録されている演奏情報を再生時の演奏の進行に従っ
て各記録トラックから読み出す読出手段と、前記読出手
段によって読み出された前記複数の記録トラックに対応
している演奏情報を前記第2の設定手段で設定されてい
るそれぞれの出力端子に出力する出力手段とを備えるこ
とを特徴とする。 【0007】 【作用】この発明では、記録時には、複数の入力端子か
ら入力される複数の演奏情報をそれぞれ予め決められた
複数の記録トラックに対応して記録し、再生時には、複
数の記録トラックに対応して記録された演奏情報を演奏
の進行にしたがって、各記録トラックを並行して読み出
すとともに、読み出された演奏情報を予め決められた出
力端子に対応して出力する。 【0008】これにより、第1の設定手段および第2の
設定手段の設定内容を変更することで、この発明の演奏
記録再生装置に接続される各機器の設定や接続の仕方を
変更しなくても、演奏記録再生装置本体のみで自由に入
出力関係を変えることができる。 【0009】 【実施例】以下、図面を用いてこの発明の実施例を説明
する。図1は、この発明の一実施例に係る電子楽器用多
重録音装置のハードウエア構成を示す。 【0010】[図1の録音装置の概要説明]この録音装
置は、いわゆるイベントタイプのもので、電子楽器のキ
ーボードの押鍵および離鍵を表わすキーイベントデータ
をそのキーイベントの発生タイミング(時間間隔)デー
タとともに記録し、記録されたキーイベントデータをそ
のタイミングデータに基づく時間間隔で再生し出力す
る。記録はキーボードやコンピュータ等の演奏情報発生
手段から入力されるキーイベントデータに基づいて行な
い、再生したキーイベントデータはコンピュータや音源
等に送出する。また、入力データと再生データとを組み
合せて再生データが読み出されたもとのトラックに記録
する多重録音も可能である。 【0011】キーイベントデータの入力および出力端子
は、8個ずつ設けられており、各端子には、MIDI
(Musical Instrument Disital Interface)規格
に準拠したチャンネル(以下、MIDIチャンネルとい
う)がそれぞれ16個ずつ設定されている。つまり、こ
の録音装置は、8×16=128個ずつの入力および出
力チャンネルを備え、同時に128台の入力機器(例え
ば電子楽器のキーボード)と128台の出力機器(例え
ば電子楽器の音源)を接続することができる。 【0012】記録トラックは、64個が設定されてお
り、各トラックにはそれぞれ所望の1つの入力チャンネ
ルと出力チャンネルを割り当てることができる。また、
各トラックには、同時押鍵中の32鍵分のデータを記録
することができる。 【0013】したがって、この録音装置は、等価的に1
28台分の楽器を常時接続しておき、そのうち所望の6
4台分の楽器を選択してその演奏を記録再生することが
できる。また、出力端子に接続された音源が許容する限
り、再生音として、各トラックごとに32音、全体では
32×64=2048音まで同時発音可能である。 【0014】[図1の録音装置の構成説明]図1におい
て、中央処理装置(CPU)10はこの録音装置全体の
動作を制御するためのもので、CPU10には双方向バ
スライン12を介してプログラムメモリ14、レジスタ
群16、シーケンサメモリ18、入力装置20、出力装
置22、スイッチ群24、およびテンポ発生器26が接
続されている。 【0015】プログラムメモリ14は、リードオンリメ
モリ(ROM)等により構成され、CPU10用の制御
プログラムが格納されている。レジスタ群16は、CP
U10が上記制御プログラムを実行する際に発生する各
種のデータを一時記憶するためのもので、それぞれ例え
ばランダムアクセスメモリ(RAM)内の所定の領域に
設けられる。 【0016】この録音装置に用意されているレジスタ群
16を構成するレジスタ類をアルファベット順に示すと
下記の通りである。なお、下記おいて各レジスタ類は特
に断わらない限りその内容(データ等)で示してある。 CSX:入出力情報テーブル(図6)を構成するレジス
タTBL(0〜63,1〜5)を指定するためのカーソ
ルx座標(記録トラックNo.に対応) CSY:TBL(0〜63,1〜5)指定用のカーソル
y座標(入出力情報に対応) FLG:シーケンスデータ処理の区別用フラグ IN1 〜IN3 :入力装置からの入力データ(キーコー
ド他)バッファ IKCBUF(0〜63,0〜31):入力端子のトラ
ック別押鍵情報バッファ(入力側キーコードバッファ) INCH:入力データのMIDIチャンネル(0〜1
5) INTRM:入力データの入力端子情報(0〜7) i:制御変数 j:制御変数 JOB:演奏モード(O:STOP,1:PLAY,
2:RECRD) KC:キーコード(7ビット) LEN:イベントの時間間隔 LNREST:書き込むべきLENの残余時間 LNSAM:前キーイベント発生後の経過時間 OKCBUF(0〜63,0〜31):出力端子のトラ
ック別押鍵情報バッファ(出力側キーコードバッファ) OLDRCNT:RECCNT(書込時刻レジスタ)の
旧データ OUT1 〜OUT3 :出力装置への出力データバッファ OUTCH:出力データのMIDIチャンネル(0〜1
5) OUTTRM:出力データの送出端子情報(0〜7) PIRQMSK:再生割込信号PLAYIRQのマスキ
ング(1:マスク,0:割込許可) RD1 〜RD3 :内部メモリから読み出されたイベント
データのバッファ RECCNT:演奏情報入力時の書込用カウンタタイマ
RECTIMER(図5)の値 RPT:シーケンスデータ読取用ポインタ(以下読取ポ
インタという) SONGEND:シーケンス演奏データの最終番地 SONGTOP:シーケンス演奏データの先頭番地 TBL(0〜63,0〜31):各トラックの入出力状
態設定用レジスタ TCH:入力キーデータのタッチ情報 TRKIN:入力データとしてのトラックNo. TRKRD:内部メモリデータとしてのトラックNo. TRKWT:最新書込トラックNo. WPT:シーケンスデータ書込用ポインタ(以下書込ポ
インタという) 【0017】シーケンサメモリ18は、例えばランダム
アクセスメモリ(RAM)からなり、キーイベント等の
演奏情報を記録するためのものである。このシーケンサ
メモリ18に記録されるデータは、図7に示すような、
各3バイト長の「キーオン」、「キーオフ」および「時
間間隔」データ、2バイト長の「トラックチェンジ」デ
ータ、ならびに1バイト長の「エンドマーク」である。
なお、各データの第1バイト目はそのデータの種類を示
す識別マークである。 【0018】「キーオン」および「キーオフ」データの
識別マーク9X,8XにおけるXはそのデータのMID
Iチャンネルを示す。「キーオン」および「キーオフ」
データの第2バイト目は「キーコード」、第3バイト目
は「タッチ」情報を表わす。「エンドマーク」はパラメ
ータ項の付加されない、識別マークF2H (16進表
示、以下「H 」を付して16進表示の数字であることを
示す)のみの1バイトデータである。「時間間隔」デー
タは、識別マークがF4H であり、第2バイト目が時間
間隔の上位7ビット、第3バイト目が時間間隔の下位7
ビットを表わす。「トラックチェンジ」データは、識別
マークがFFH であり、第2バイト目にトラックデータ
を有する2バイトデータである。 【0019】図2は、この録音装置の操作パネルの概観
を示す。同図の操作パネルには、レジスタ群16の入出
力情報設定レジスタTBL(0〜63,1〜5)を指定
するためのカーソル移動スイッチ30,32,34,3
6、カーソルCSXおよびCSYで指定されたレジスタ
TBL(csx, csy)内のデータを変更するためのインク
リメント(INC)スイッチ38およびデクリメント
(DEC)スイッチ40、この録音装置の演奏モードを
指定するための再生(PLAY)、記録(RECOR
D)および停止(STOP)スイッチ42,44,4
6、ならびにテンポ設定スイッチ等のその他操作子48
が配置されている。これらのスイッチ30〜48は図1
のスイッチ群24を構成している。 【0020】図1の入力装置20は、図3に示すよう
に、8個の入力端子Ti1〜Ti8、入力端子Ti1〜Ti8を
介して入力される演奏情報を一時記憶し、CPU10か
らの指令により入力順に出力するFIFO型レジスタか
らなる入力バッファINBUF0 〜INBUF7 、いず
れかの入力端子Ti1〜Ti8に演奏情報が入力された場合
に、それを検出して入力割込信号INPUTIRQを発
生するオアゲート62、入力演奏情報が格納されている
入力バッファINBUF0 〜INBUF7 の番号を検出
するエンコーダ64、およびその番号を入力演奏情報が
読み出されるまで記憶する入力割込ナンバレジスタIN
IRQNOを具備する。 【0021】出力装置22は図4に示すように、データ
バス12と8個の出力端子To1〜To8との間に接続され
た出力バッファOUTBUF0 〜OUTBUF7 を備え
ている。 【0022】テンポ発生器26は、図5に示すように、
設定テンポ値に応じた周波数のクロックφを発生するク
ロック設定器70、このクロックφを計数する8ビット
のインクリメントカウンタ72、カウンタ72が0(0
H )を計数するごとに記録割込信号RECIRQを出
力するノアゲート74、カウンタ72の計数値出力をラ
ッチする書込用カウンタタイマ(以下、書込タイマとい
う)RECTIMER、シーケンサメモリ18から時間
間隔データが読み出されたときその時間間隔値を上位7
ビットと下位7ビットとに分けてそれぞれ格納するため
のレジスタPLYTMHとPLYTML、レジスタPL
YTMHとPLYTMLにより上記時間間隔値をプリセ
ットされた後クロックφをダウンカウトするディクリメ
ントカウンタ76、カウンタ76の計数値出力が0にな
ったとき再生割込信号PLAYIRQを出力するノアゲ
ート78、停止モード時等の再生割込信号PLAYIR
Qをマスクする際“1”をセットするためのレジスタ8
0、レジスタ80に“1”がセットされたとき再生割込
信号PLAYIRQの出力を禁止するためのインバータ
82およびアンドゲート84を具備する。 【0023】図6(a)は、レジスタ群16の入出力状
態設定レジスタTBL(x,y)をテーブルとして表わ
した図である。同図において、トラックNo.はシーケン
サメモリ18に設定された記録トラックの番号であり、
処理上はカーソルCSXの値で表わされる。INPUT
はそのトラックに記録しようとするデータの入力チャン
ネルであり、入力端子番号(CSY=1の欄)およびそ
のMIDIチャンネル(CSY=2の欄)で特定され
る。OUTPUTはそのトラックから読み出したデータ
の出力チャンネルであり、出力端子番号(CSY=3の
欄)およびそのMIDIチャンネル(CSY=4の欄)
で特定される。トラックモード(CSY=5の欄)はそ
のトラックに対する処理内容を指定する。各トラックモ
ードにおける処理内容を図6(b)および(c)に示
す。 【0024】図6(b),(c)において、トラックモ
ードO(stop)はそのトラックに対し読取も書込も
せず、そのトラックに対する入力データの出力もしない
ことを示す。1(play)はそのトラックに対する入
力データの書込および出力はしないが、演奏モードが再
生または記録(JOB=1または2)であればそのトラ
ックに対する内部データ(シーケンス演奏データ)を再
生し出力端子に送出することを示す。2(rec)は演
奏モードに関わらずそのトラックに対する入力データを
出力端子に送出するとともに演奏モードが記録(JOB
=2)であれば入力データの書込を行ない、かつそのト
ラックに対する内部データについては演奏モードが再生
または記録(JOB=1または2)であれば出力端子に
送出することを示している。 【0025】[図1の録音装置の動作説明]次に、図8
〜27のフローチャートを参照しながら図1の録音装置
の動作を説明する。 【0026】1. メイン処理 図8を参照して、この装置に電源が投入されると、CP
U10はプログラムメモリ12に格納された制御プログ
ラムに従って動作を開始する(ステップ100)。ま
ず、ステップ101および102においてはレジスタ群
16を初期化する。すなわち、ステップ101で出力側
キーコードバッファOKCBUF(0〜63,0〜3
1)、入力側キーコードバッファIKCBUF(0〜6
3,0〜31)および演奏モードレジスタJOBをクリ
アし、入出力状態設定レジスタTBL(0〜63,0〜
31)、再生割込マスキングレジスタPIRQMSKお
よび演奏モードレジスタJOBをセットする。なお、こ
れらのレジスタにはROMまたは外部メモリから読み出
される所定のプリセット値を設定するようにしてもよ
い。ステップ102ではシーケンス演奏データの先頭番
地SONGTOPおよび最終番地SONGENDを外部
メモリ等から設定する。 【0027】初期化終了後は、INC/DECスイッチ
処理(ステップ110)、UP/DOWNスイッチ処理
(ステップ130)、LEFT/RIGHTスイッチ処
理(ステップ140)、PLAYスイッチオン処理(ス
テップ150)、RECスイッチオン処理(ステップ1
60)およびSTOPスイッチオン処理(ステップ17
0)の各サブルーチンを呼び出して実行し、次いでその
他処理(ステップ190)を行なうとともに、これらの
ステップ110〜190からなる一連の処理を繰返し実
行する。 【0028】2. INC/DECスイッチ処理 図2のINCスイッチ38およびDECスイッチ40は
入出力状態TBL(csx, csy)を変更するためのもので
ある。 【0029】図9を参照して、ステップ111ではIN
Cスイッチ38およびDECスイッチ40がオンしたか
否かを検査する。これらのスイッチ38,40のいずれ
もオンしていなければメイン処理(図8)に戻る。一
方、スイッチ38,40のいずれかがオンしていれば、
次にステップ112で演奏モードJOBとカーソルy座
標CSYを検査する。演奏モードが停止以外(JOB≠
0)であり、かつカーソル指定がトラックモード以外
(CSY≠5)であればメイン処理(図8)に戻る。こ
れにより、再生または記録時における入出力チャンネル
の変更を禁止している。 【0030】もし、演奏モードが停止(JOB=0)で
あるか、またはカーソル指定がトラックモード(CSY
=5)であればステップ113に進む。ステップ113
ではカーソルy座標CSYと入出力情報レジスタTBL
(csx, csy)の内容を検査する。カーソル指定がトラッ
クモード(CSY=5)であり、かつカーソルx座標C
SXで指定されたトラックのモードが記録モード(TB
L(csx, 5)=2)であれば、ステップ115に進みそ
れ以外の場合にはステップ114に進む。ステップ11
4ではオンしたスイッチが38であるか40であるかに
従って入出力情報レジスタTBL(csx, csy)の内容を
インクリメントまたはデクリメントした後、メイン処理
(図8)に戻る。 【0031】なお、ステップ114ではTBL(csx, c
sy)の値を、 CSY=1または3のとき 0〜7 CSY=2または4のとき 0〜15 CSY=5のとき 0〜2 の範囲で増減する。例えばTBL(csx, 5)=2をイン
クリメントしたときは0にする。 【0032】ステップ113における検査の結果、CS
Y=5かつTBL(csx, 5)=2であるとき、つまりス
イッチ38または40のオンがトラックナンバCSXの
トラックについてのトラックモードを記録モードからそ
れ以外のモードに変更するものであるときは、ステップ
115〜126においてスイッチ38または40のオン
時押鍵中の鍵があればその鍵についてのキーオフ処理を
行なう。 【0033】すなわち、ステップ115で制御変数iを
0にセットし、ステップ116でトラックCSXの入力
側キーコードバッファIKCBUF(csx, i)にキーコ
ードが格納されているか否か検査する。格納されていな
けばステップ117〜124の処理は実行することなく
直接ステップ125へ進む。 【0034】一方、キーコードが格納されていればその
キーコードのキーオフデータを入力データバッファIN
1 〜IN3 にセットし(ステップ117)、バッファI
KCBUF(csx, i)をクリアする(ステップ11
8)。なお、上記ステップ117ではキーオフのタッチ
情報として習慣的な40H を入力データバッファIN3
にセットしている。続いて、入出力情報レジスタTBL
からナンバCSXのトラックの出力端子およびMIDI
チャンネルを読み出して出力端子レジスタOUTTRM
および出力チャンネルレジスタOUTCHに転送し(ス
テップ119)、上記入力データバッファIN1 〜IN
3 に格納されているキーオフデータをMIDIチャンネ
ルデータのみデータOUTCHに変換して出力データバ
ッファOUT1 〜OUT3 に格納し(ステップ12
0)、出力端子OUTTRMにて出力データOUT1 〜
OUT3 を出力した(ステップ121)後、ステップ1
22で演奏モードを確認する。ここで、演奏モードが記
録(JOB=2)であれば、書込ポインタの指示に従っ
て入力データバッファIN1 〜IN3 内にセットしたキ
ーオフデータをシーケンサメモリ18に書き込んで(ス
テップ123)書込ポインタを3カウント進めた(ステ
ップ124)後、ステップ125に進む。一方、ステッ
プ122の演奏モードが記録(JOB=2)でなけれ
ば、ステップ123,124の処理はスキップしてステ
ップ122から直接ステップ125に進む。 【0035】ステップ125では、制御変数iをインク
リメントし、次のステップ126で制御変数iの値が3
1を越えたか否かを判定する。31以下であれば、ステ
ップ116へ戻り、次のキーコードバッファIKCBU
F(csx, i)についてのキーオフ処理を行なう。一方、
31を越えていれば、該当するトラックにおける入力側
キーコードバッファ全部の検査およびキーオフ処理を終
了したのであるから、ステップ114に進み、上述のよ
うに入出力情報レジスタTBL(csx, csy)の内容をオ
ンしたスイッチが38であるか40であるかに従ってイ
ンクリメントまたはデクリメントした後、メイン処理
(図8)に戻る。 【0036】3. UP/DOWNスイッチ処理 図2のUPスイッチ34およびDOWNスイッチ36は
図6(a)の入出力状態テーブル上でカーソルx軸CS
Xを上下に移動させるためのものである。図10を参照
して、ステップ131ではUPスイッチ34およびDO
WNスイッチ36を検査する。そして、これらのスイッ
チ34,36のいずれかがオンしていればオンのスイッ
チが34であるか36であるかに従ってカーソルx軸C
SXを0〜63の範囲でインクリメントまたはデクリメ
ントした(ステップ132)後、一方、スイッチ34,
36のいずれもオンしていなければステップ131から
直接メイン処理(図8)に戻る。 【0037】4. LEFT/RIGHTスイッチ処理 図2のLEFTスイッチ30およびRIGHTスイッチ
32は図6(a)の入出力状態テーブル上でカーソルy
軸CSYを左右に移動させるためのものである。図11
を参照して、ステップ141ではLEFTスイッチ30
およびRIGHTスイッチ32を検査する。そして、こ
れらのスイッチ30,32のいずれかがオンしていれば
オンしたスイッチが30であるか32であるかに従って
カーソルy軸CSYを1〜5の範囲でインクリメントま
たはデクリメントした(ステップ142)後、一方、ス
イッチ30,32のいずれもオンしていなければステッ
プ141から直接メイン処理(図8)に戻る。 【0038】5. PLAYスイッチオン処理 図12を参照して、ステップ151では再生モードスイ
ッチ42がオンしたか否かを判定する。もしオンしてい
なければそのままメイン処理(図8)に戻る。一方、オ
ンしていればステップ152で演奏モードレジスタJO
Bを1にセットし、ステップ200のソングスタート処
理(図14)を実行した後、メイン処理(図8)に戻
る。 【0039】6. RECスイッチオン処理 図13を参照して、ステップ161では記録モードスイ
ッチ44がオンしたか否かを判定する。もし、オンして
いなければそのままメイン処理(図8)に戻る。一方、
オンしていればステップ162で演奏モードレジスタJ
OBに2をセットし、ステップ200のソングスタート
処理(図14)を実行した後、メイン処理(図8)に戻
る。 【0040】7. ソングスタート処理 図2の再生スイッチ42または記録スイッチ44がオン
されると、それぞれ演奏モードレジスタJOBに1また
は2を設定した後、ステップ200のソングスタート処
理を実行する。このソングスタート処理においては、再
生および記録に用いられるレジスタ類をプリセットした
後、シーケンサメモリ18からシーケンス演奏データの
第1バイト目である識別マークを読み取り、この識別マ
ークに応じてキーオン、キーオフ、トラックチェンジ、
時間間隔およびエンドマーク等の各データの読取および
これらのデータに応じた処理を行なう。なお、このデー
タ読取は時間間隔データまたはエンドマークが読み取ら
れるまで繰り返される。 【0041】図14を参照して、まず、ステップ201
で読取ポインタRPTをシーケンス演奏データの先頭番
地SONGTOPに、書込ポインタWPTをシーケンス
演奏データの最終番地SONGENDの次の番地にプリ
セットし、このときの書込ポインタWPTの値を新たな
シーケンス演奏データの先頭番地SONGTOPとして
記憶する。さらに、再生割込マスクPIRQMSKをク
リアして再生割込PLAYIRQを可能化し(ステップ
202)、書込タイマRECTIMER(図5)の出力
値を書込時刻レジスタRECCNTに格納し(ステップ
203)、経過時間レジスタLNSAMをクリアする
(ステップ204)。 【0042】次に、シーケンサメモリ18から読取ポイ
ンタRPTでアドレス指定される1バイトのデータを読
み取ってフラグFLGに格納する(ステップ205)。
シーケンサメモリ18に格納されているシーケンス演奏
データの第1バイト目はデータ種類を表わす識別マーク
である(図7参照)。ステップ206ではフラグFLG
の内容を判別し、判別結果に応じてトラックチェンジ
(ステップ210)、キーオンイベント(ステップ22
0)、キーオフイベント(ステップ240)、時間間隔
(ステップ260)、およびエンドマーク(ステップ2
70)の各データ読取処理に分岐する。なお、トラック
チェンジ(ステップ210)、キーオンイベント(ステ
ップ220)、キーオフイベント(ステップ240)お
よびその他(ステップ280)の各処理を実行した後は
ステップ205に戻ってさらに次のデータ読取処理を実
行するが、時間間隔処理(ステップ260)またはエン
ドマーク処理(ステップ270)を実行した後はもとの
メイン処理(図8)に戻る。 【0043】8. トラックチェンジ処理 シーケンス演奏データの先頭のデータは、通常、トラッ
クチェンジデータ(FFH )である。図14または23
のステップ206においてフラグFLGに格納されてい
る識別マークがFFH であればステップ210のトラッ
クチェンジ処理(図15)を実行する。図15を参照し
て、まず読取ポインタRPTのアドレス指定に基づきシ
ーケンサメモリ18から2バイトのトラックチェンジデ
ータを読み取って1バイトずつを読取データバッファR
D1 ,RD2 に格納し、読取ポインタRPTを次の読取
アドレスへ2カウント進める(ステップ211,21
2)。次いで、バッファRD2 内のトラックナンバをト
ラックナンバレジスタTRKRDに格納した後、現在の
読取トラックTRKRDと書込トラックTRKWTとを
比較する(ステップ213,214)。同じであればそ
のままもとの処理(図14または23)に戻る。異なっ
ているときは、書込ポインタWPTのアドレス指定に基
づきシーケンサメモリ18へ2バイトのトラックチェン
ジデータRD1 ,RD2 を書き込み、書込ポインタWP
Tを次の書込アドレスへ2カウント進め、書込トラック
ナンバTRKWTをナンバTRKRDに変更した(ステ
ップ215〜217)後、もとの処理(図14または2
3)に戻る。 【0044】9. キーオンイベント処理 図14または23のステップ206においてフラグFL
Gに識別マーク9XHが格納されていれば、ステップ2
20のキーオンイベント処理(図16)を実行する。図
16を参照して、まず、読取ポインタRPTに基づきシ
ーケンサメモリ18から3バイトのキーオンデータを読
み取って1バイトずつを読取データバッファRD1 〜R
D3 に格納し、ポインタRPTを次の読取アドレスまで
3カウント進める(ステップ221,222)。次い
で、読み取ったキーオンデータRD1 〜RD3 を書込ポ
インタWPTに基づきシーケンサメモリ18へ書き込
み、ポインタWPTを次の書込アドレスへ3カウント進
めた後、現在の読出トラックのトラックモードTBL(
TRKRD, 5)が停止モードか否か判定する(ステップ22
3〜225)。停止モードならこれ以上の処理は不要で
あるからそのままもとの処理(図14または23)に戻
る。 【0045】再生または記録であれば、続いて入出力状
態レジスタより読取データRD1 〜RD3 を送出すべき
出力端子TBL(TRKRD, 3)および出力MIDIチャン
ネルTBL(TRKRD, 4)を読み取ってそれぞれレジスタ
OUTTRMおよびOUTCHに格納し、ステップ22
1で読み取ったキーオンデータRD1 〜RD3 の中の入
力MIDIチャンネルXH のみ出力MIDIチャンネル
OUTCHで置き換えたキーオンデータを作成して出力
データバッファOUT1 〜OUT3 に格納し、この出力
データOUT1 〜OUT3 を出力端子OUTTRMへ送
出する(ステップ226〜228)。 【0046】さらに出力側キーコードバッファOKCB
UF(TRKRD, 0〜31)のうち空いているもののいずれか
にキーコードRD2 (=OUT2 )を書き込んだ(ステ
ップ229)後、もとの処理(図14または23)に戻
る。 【0047】10. キーオフイベント処理 図14または23のステップ206においてフラグFL
Gに識別マーク8XHが格納されていれば、ステップ2
40のキーオフイベント処理(第17図)を実行する。図
17を参照して、ステップ241〜248においては、
処理されるデータがキーオフイベントであることを除き
図16のステップ221〜228と全く同様の手順が実
行される。なお、ステップ249においては出力側キー
コードバッファOKCBUF(TRKRD, 0〜31)のうちキ
ーコードRD2 (=OUT2 )が書き込まれているもの
をクリアして、もとの処理(図14または23)に戻
る。 【0048】11. 時間間隔データ処理 図14または23のステップ206においてフラグFL
Gに格納されている識別マークがF4H であればステッ
プ260の時間間隔データ処理(図18)を実行する。
図18を参照して、読取ポインタRPTに基づいて3バ
イトの時間間隔データを読み取って1バイトずつを読取
データバッファRD1 〜RD3 に格納し、ポインタRP
Tを次の読取アドレスまで3カウント進め、読み取った
時間間隔RD2,RD3 を再生タイマレジスタPLYT
MH,PLYTML(図5)にセットし、上下各7ビッ
トの2バイトデータである時間間隔RD2 ,RD3 を1
4ビットのデータに変換して残余時間レジスタLNRE
STに格納した(ステップ261〜264)後、もとの
処理(図14または23)に戻る。 【0049】12. エンドマーク処理 図14または23のステップ205において読み取られ
た識別マークがF2Hであるとき、処理はステップ20
6を経てステップ270のエンドマーク処理(図18)
に移行する。このエンドマークは1バイトのデータであ
る。図18を参照して、ステップ271では読取ポイン
タRPTを次の読取アドレスへ1カウント送り、ステッ
プ272で演奏モードが再生(JOB=1)であるか否
か判定する。再生であれば演奏モードを停止(JOB=
0)に設定し、書込ポインタWPTに基づきエンドマー
クF2H を書き込み、ポインタWPTを次の書込アドレ
スへ1カウント進めた(ステップ273〜275)後、
もとの処理(図14または23)へ戻る。 【0050】ステップ272において演奏モードが再生
でなければ記録である。この場合はステップ276で再
生割込マスクレジスタPIRQMSKに1をセットして
再生割込すなわちシーケンス演奏データの読取を禁止し
た後、もとの処理(図14または23)へ戻る。演奏モ
ードが記録のときは再生のみを禁止し、記録は停止スイ
ッチ46(図2)がオンされるまで継続させるためであ
る。 【0051】13. STOPスイッチオン処理 図20を参照して、ステップ171では停止スイッチ4
6(図2)がオンしたか否かを判定する。もし、オンし
ていなければそのままメイン処理(図8)に戻る。一
方、オンしていればステップ300のオールキーオフ処
理(図21)を実行する。 【0052】14. オールキーオフ処理 このオールキーオフ処理は、再生または記録モードにお
いて停止スイッチがオンされたとき再生音発音中であっ
たキーコードについてキーオフ処理を行なう。具体的に
は64トラックのそれぞれに32個ずつ設けられている
全部で64×32=2048個の出力側キーコードバッ
ファを走査してキーコードが格納されているものを検索
し、そのキーコードについてキーオフ処理を行なう。ま
た、トラックモードが0のトラックについては入力音も
再生音も発音しないため、発音中のキーコードもあり得
ない。そこでステップ302においてトラックモードが
0のトラックを検出し、そのトラックについての走査を
スキップすることにより処理時間の短縮を図っている。 【0053】図21を参照して、ステップ301でトラ
ック指定用の制御変数iに0をセットし、ステップ30
2でNo.iのトラックのトラックモードTBL(i, 5)
を検査する。停止以外すなわち再生または記録であれば
ステップ303でバッファ指定用の制御変数jに0をセ
ットし、ステップ304で出力側キーコードバッファO
KCBUF(i, j)にキーコードが格納されているか否
かを判定する。キーコードが格納されていれば、ステッ
プ305 でトラックiの出力端子TBL(i, 3)および
出力MIDIチャンネルTBL(i, 4)を読み取ってそ
れぞれレジスタOUTTRMおよびOUTCHに格納
し、ステップ306で出力NIDIチャンネルがOUT
CHでキーコードがOKCBUF(i, j)であるキーオ
フデータを作成して出力データバッファOUT1 〜OU
T3 に格納する。さらに、ステップ307でバッファO
KCBUF(i, j)をクリアし、ステップ308で上記
キーオフデータOUT1 〜OUT3 を出力端子OUTT
RMへ送出した後、ステップ309で制御変数jをイン
クリメントし、ステップ310で当該トラックの出力側
キーコードバッファの全部について検査が終了したか否
かを判定する。終了していなければステップ304に戻
って当該トラックの次のキーコードバッファの検査を行
なう。一方、終了していればステップ311で制御変数
iをインクリメントし、ステップ312で64個のトラ
ック全部の検索が終了したか否かを判定する。終了して
いなければステップ302に戻って次のトラックのキー
コード検索を繰り返す。一方終了していればステップ3
20のキーオフ書込処理(図22)を実行し、その後S
TOPスイッチオン処理(図20)に戻る。 【0054】15. キーオフ書込処理 このキーオフ書込処理は、記録モードにおいて停止スイ
ッチ46(図2)がオンされたとき、シーケンサメモリ
18にキーオンデータのみが書き込まれ未だキーオフデ
ータが書き込まれていないもの、すなわち入力側で押鍵
中の鍵がある場合、その押鍵中の鍵のキーオフデータを
作成してメモリ18に書き込むものである。具体的には
64個の各トラック32個ずつ計2048個の入力側キ
ーコードバッファを走査し、キーコードが格納されたま
まのものを検索し、そのキーコードについてキーオフデ
ータを作成してメモリ18に書き込む。 【0055】図22を参照して、ステップ321 では演
奏モードJOBを検査する。このキーオフ書込処理は記
録モード(JOB=2)でのみ必要なものであるから記
録モードでないときはステップ321からそのままもと
のオールキーオフ処理(図21)に戻る。記録モードな
らばステップ322で制御変数iに0をセットし、ステ
ップ323でトラックiのトラックモードTBL(i,
5)が記録モードであるか否かを判定する。トラックモ
ードが記録モードでなければ押鍵書込中の鍵はあり得な
いからステップ324〜331の処理はスキップしてス
テップ332に進む。トラックモードが記録モードであ
ればステップ324で制御変数jに0をセットし、ステ
ップ325で入力側キーコードバッファIKCBUF
(i, j)にキーコードが格納されているか否かを判定す
る。キーコードが格納されていなければステップ326
〜329の処理をスキップしてステップ330に進む。
キーコードが格納されていればステップ326でそのキ
ーコードのキーオフデータを作成して読取データバッフ
ァRD1 〜RD3 に格納し、ステップ327でバッファ
IKCBUF(i, j)をクリアし、ステップ328で書
込ポインタWPTに基づいてシーケンサメモリ18にキ
ーオフデータRD1 〜RD3 を書き込み、ステップ32
9で書込ポインタWPTを次の書込アドレスまで3カウ
ント進めた後、ステップ330で制御変数jをインクリ
メントしてステップ331でトラックiの全部のバッフ
ァの検査が終了したか否かを判定する。未処理のバッフ
ァが残っていればステップ325に戻って次のバッファ
IKCBUF(i, j)についてキーコードの有無を検査
する。一方、そのトラックについて32個全部のバッア
ファについて検査を終了していればステップ332で制
御変数iをインクリメントし、ステップ333で全64
個のトラックについて押鍵中キーコードの検索およびキ
ーオフデータの書込を終了したか否かを判定する。終了
していなければステップ323に戻って上述の処理を繰
返し、終了していればもとのオールキーオフ処理(図2
1)に戻り、さらにSTOPオン処理(図20)に戻
る。 【0056】16. STOPオン処理(続き) 図20を参照して、ステップ173では演奏モードレジ
スタJOBを0にセットし、ステップ174で再生割込
マスクレジスタPIRQMSKが1であるか否かを検査
する。1であれば停止スイッチをオンする前にシーケン
ス演奏データの再生および新演奏データ領域への転記は
終了している(図19ステップ276参照)。0であれ
ば未転記のデータが残っているからステップ175〜1
81において残存するデータを新演奏データの最後に付
加する。 【0057】すなわち、ステップ175で書込トラック
TRKWTと読取トラックTRKRDとを比較し、異な
っていれば書込ポインタWPTに基づいてシーケンサメ
モリ18に読取トラックへのトラックチェンジデータ
(2バイト)を書き込み(ステップ176〜177)、
ポインタWPTを次の書込アドレスへ2カウント進めた
(ステップ178)後、ステップ179へ進む。一方、
書込トラックTRKWTと読取トラックTRKRDとが
一致していればステップ175から直接ステップ179
へ進む。 【0058】以後、ステップ179においてシーケンサ
メモリ18内の読取ポインタRPTで指定されるアドレ
スからF2H (エンドマーク)読み取られるまで、読取
ポインタRPTでアドレスされる旧演奏データ領域のデ
ータを書込ポインタWPTでアドレスされる新演奏デー
タ領域へ転記する(ステップ180〜181)。エンド
マークが検出されるとステップ182へ進み、書込ポイ
ンタWPTに基づいてシーケンサメモリ18にエンドマ
ークF2H を書き込み、ステップ183でシーケンス演
奏データの最終番地WPTをレジスタSONGENDに
書き込んだ後、メイン処理(図8)に戻る。 【0059】17. 再生タイマ割込処理 図1の録音装置においては、再生または記録モード時、
シーケンサメモリ18から読み取った時間間隔データを
テンポ発生器26のディクリメントカウンタ76(図
5)にプリセットする(ステップ263)。テンポ発生
器26はカウンタ76がクロックφをダウンカウントし
てその計数値出力がOH になると再生割込信号PLAY
IRQを発生する。CPU10はこの再生割込信号PL
AYIRQに基づきステップ400の再生割込処理(図
23)を実行する。これにより、この録音装置において
は、シーケンサメモリ18に記録されている時間間隔
(イベントタイミング)ごとにイベントデータが読み取
られる。 【0060】すなわち、図23を参照して、ステップ4
01では演奏モードJOBを判別する。演奏データの読
取は停止時は行なわないから、演奏モードが停止(JO
B=0)であればそのまま割込を解除してもとの処理に
復帰する。一方、演奏モードが停止以外(JOB≠0)
ならばステップ402で書込時刻レジスタRECCNT
に(LNREST−LNSAM)を加算する。ここで、
LNRESTは記録(JOB=2)時、前回の再生割込
と今回の再生割込との間にキーイベントデータが入力さ
れた場合、前回の再生割込により読み取られた時間間隔
LENのキーイベントデータ入力後の残余時間であり、
LNSAMはこのキーイベントデータ入力後の経過時間
である。 【0061】続いて、レジスタLNSAMをクリアし
(ステップ403)、残余時間LNRESTを時間間隔
レジスタLENにセットした(ステップ404)後、書
込ポインタWPTに基づきシーケンサメモリ18に識別
マークF4H 、レジスタLENの上位7ビットおよびレ
ジスタLENの下位7ビットからなる3バイトの時間間
隔データを書き込み(ステップ405)、さらに、ポイ
ンタWPTを次の書込アドレスへ3カウント進める(ス
テップ406)。 【0062】ステップ407 では書込トラックナンバT
RKWTと読取トラックナバTRKRDとを比較し、異
なっていれば書込トラックを読取トラックと同じに切り
換えるため、レジスタTRKWTにトラックナンバTR
KRDを格納し、識別マークFFH と新トラックナンバ
TRKWTとからなる2バイトのトラックチェンジデー
タを書き込み、ポインタWPTを次の書込アドレス2カ
ウント進める(ステップ408〜410)。ステップ4
07において書込トラックと読出トラックとが同じであ
ればステップ408〜410の処理はスキップする。 【0063】続いて、現タイミングにおけるイベントデ
ータおよび次回イベントまでの時間間隔データまたはエ
ンドマークを読み取るが、この読取処理は上述のソング
スタート処理(図14)におけると全く同じであるの
で、同一のステップ番号を付して説明は省略する。 【0064】18. 記録タイマ割込処理 図1の録音装置においては、テンポ発生器26のインク
リメントカウンタ72(図5)がクロックφを256個
カウントする度に発生する記録割込信号RECIRQに
基づいて以下の割込処理(ステップ500)を実行す
る。 【0065】図24を参照して、ステップ501では演
奏モードJOBをチェックする。記録タイマ割込は記録
モードにおいてのみ必要な処理であるから、演奏モード
が記録(JOB=2)でなければ直ちに割込を解除す
る。一方、記録であれば、ステップ502でレジスタL
NSAMに直前のキーイベントデータ入力後の経過時間
を格納する。つまり、このレジスタLNSAMには、カ
ウンタ72(図5)がオーバーフローする都度、上記キ
ーイベントデータ入力後の経過時間が格納される。ステ
ップ502における(100H −RECCNT)のRE
CCNTはキーイベントデータ入力後カウンタ72が最
初にオーバーフローするまでの時間を算出するための項
であり、算出後はクリアされる(ステップ503)。 【0066】ステップ504では経過時間LNSAMが
3FFFH を越えたか否かを判定する。この録音装置は
時間間隔計測用のカウンタ(図5の76)が14ビット
であるため、時間間隔が14ビットの最大値である3F
FFH を越える場合はそれを3FFFH 以下の複数の時
間間隔データに分けて記録するためである。したがっ
て、経過時間LNSAMが3FFFH 以下ではそのまま
割込を解除する。一方、3FFFH を越えるとレジスタ
LNSAMおよびLNRESTよりそれぞれ3FFFH
を減算し(ステップ505,506)、ポインタWPT
に基づき時間間隔3FFFH を示す3バイトのデータF
H ,7FH ,7FH を書き込み(ステップ507)、
ポインタWPTを次の書込アドレスへ3カウント進めた
後、もとの処理に復帰する。 【0067】19. 入力割込処理 図1の録音装置の入力装置20(図3)のいずれかの入
力端子Ti1〜Ti8にキーイベントデータが入力される
と、このデータが入力データレジスタINBUF0 〜I
NBUF7 に格納されるとともにオアゲート62から割
込信号INPUTIRQが発生する。CPU10はこの
割込信号INPUTIRQに基づきステップ600の入
力割込処理を実行する。 【0068】図25を参照して、先ず、入力割込ナンバ
レジスタINIRQNOより入力のあった端子番号nを
読み取って入力端子レジスタINTRMに格納し(ステ
ップ601)、レジスタINBUFn より3バイトのキ
ーイベントデータを読み取って入力バッファIN1 〜I
N3 に1バイトずつ格納する(ステップ602)。さら
に、識別マークIN1 に含まれたMIDIチャンネルを
レジスタINCHに、キーコードIN2 およびタッチ情
報IN3 をそれぞれレジスタKCおよびTCHに格納し
た(ステップ603,604)後、入出力状態テーブル
(図6)を走査してNo.0〜63の記録トラックのうち
入力端子TBL(i, 1)およびMIDIチャンネルTB
L(i, 2)がそれぞれINTRMおよびINCHに合致
し、かつトラックモードTBL(i, 5)が記録モード
(=2)であるものを検索する(ステップ605〜60
8)。ここでは、No.0のトラックから順に検索し、上
記条件に合致するトラックが見付かると、処理はステッ
プ606からステップ611へ移行する。 【0069】ステップ611では、検出したトラック番
号iをレジスタTRKINに格納する。続いて、そのト
ラックの出力端子TBL(TRKRD, 3)および出力MID
IチャンネルTBL(TRKRD, 4)を読み取ってそれぞれ
OUTTRMおよびOUTCHに格納し(ステップ61
2)、入力データIN1 〜IN3 のMIDIチャンネル
データをOUTCHで入れ換えた出力データOUT1 〜
OUT3 を作成し(ステップ613)、この出力データ
を出力端子OUTTRMへ送出した後、ステップ620
の入力側キーコードバッファ処理(図26)を実行す
る。 【0070】20. 入力側キーコードバッファ処理 図26を参照して、ステップ621では入力データがキ
ーオン、キーオフのいずれかのイベントデータであるか
を判別する。キーオンイベントであればステップ622
でトラックTRKINの32個のバッファのうち空いて
いるものにキーコードKC(=IN2 )を書き込んだ
後、もとの処理(図25ステップ625)へ戻る。キー
オフイベントであればステップ623でトラックTRK
INの32個のバッファのうちキーコードKCと同じデ
ータが格納されているものをクリアした後、もとの処理
(図25ステップ625)へ戻る。 【0071】21. 入力割込処理(続き) 図25を参照して、ステップ625 では演奏モードJO
Bを確認する。入力データの書込は記録(JOB=2)
時のみ行なうものであるから記録モードでなければ、直
ちに割込を解除してもとの処理に戻る。一方、記録モー
ドであればステップ631に進んで前キーイベントデー
タの書込時刻RECCNTをレジスタOLDRCNTに
書き込んだ後、ステップ632で書込用カウンタタイマ
RECTIMER(図5)が示す現在時刻をレジスタR
ECCNTに書き込む。次に、LNSAM+(RECC
NT−OLDRCNT)を算出して時間間隔レジスタL
ENに格納し(ステップ633)、LNREST−LE
Nを算出して残余時間レジスタLNRESTに格納し
(ステップ634)、レジスタLNSAMをクリアする
(ステップ635)。さらに、書込ポインタWPTに基
づいてシーケンサメモリ18に3バイトの時間間隔デー
タを書き込み(ステップ636)、ポインタWPTを次
のデータ書込アドレスへ3カウント進めた(ステップ6
37)後、入力データの書込トラックナンバTRKIN
と現在の書込トラックナンバTRKWTとを比較する。 【0072】入力データの書込トラックTRKINが現
在の書込トラックTRKWTと異なっていれば書込トラ
ックTRKWTをTRKINに変更し、書込ポインタW
PTに基づいてメモリ18に2バイトのトラックチェン
ジデータ(FFH およびTRKWT)を書き込み、ポイ
ンタWPTを次の書き込みアドレスへ2カウント進める
(ステップ639〜641)。一方、入力データの書込
トラックTRKINと現在の書込トラックTRKWTと
が同じであればステップ639〜641の処理はスキッ
プする。続いて書込ポインタWPTに基づいてメモリ1
8に3バイトの入力データIN1 〜IN3 を書き込み、
書込ポインタWPTを次の書き込みアドレスへ3カウン
ト進めた後(ステップ642,643)、割込を解除し
てもとの処理に復帰する。 【0073】22. 一動作例の説明 図27は、図1の録音装置の一動作例を示す。ここでは
キーイベントデータK1 ,K2 ,K3 およびK4 からな
る同図(a)の再生データ(旧シーケンスデータ)にキ
ーイベントデータKA およびKB からなる入力データを
多重録音してなる同図(b)の新シーケンスデータを記
録する場合の動作を各レジスタのデータの変化により説
明する。 【0074】*記録開始およびキーイベントデータK1
の処理 記録スイッチ44がオンすると、処理は記録スイッチオ
ン処理(図13)を経てソングスタート処理(図14)
に進み、ステップ203で書込時刻レジスタRECCN
Tに書込タイマRECTIMERの値0を格納し、ステ
ップ204で経過時間レジスタLNSAMをクリアす
る。続いて、キーオンまたはキーオフイベント処理(図
16または17)に進み、キーイベントデータK1 の旧
シーケンスデータエリアからの読取(ステップ221)
と新シーケンスデータエリアへの書込(ステップ22
3)を実行する。さらに、ソングスタート処理に戻って
今度は時間間隔データ処理(図18)に進み、再生タイ
マPLAYTIMERおよび残余時間レジスタLNRE
STにそれぞれ時間間隔データである8をセットする
(ステップ263,264)。以上の数十ステップの処
理は、演奏音としてのマクロ的立場からは実質的に同時
とみなされる程短時間に実行される。以下の各キーイベ
ントデータの処理もマクロ的に見れば瞬時に実行され
る。 【0075】*キーイベントデータKA の処理 キーイベントデータKA が入力すると、入力割込処理
(図25)を実行し、データKA を読み込み(ステップ
602)、次いで書込時刻レジスタRECCNTは旧デ
ータ0を旧書込時刻レジスタOLDRCNTに退避させ
てから新たなRECTIMER値(書込時刻)5に更新
する(ステップ631,632)。さらにキーイベント
1 からKA までの時間間隔LEN=LNSAM+(R
ECCNT−OLDRCNT)=0+(5−0)=5お
よびKA からK2 までの残余時間LNREST=旧LN
REST−LEN=8−5=3を算出し、経過時間LN
SAMをクリアした(ステップ633〜635)後、時
間間隔データLENおよび入力キーイベントデータKA
を新シーケンスデータエリアへ書き込む(ステップ63
6,642)。 【0076】*キーイベントデータK2 の処理 再生タイマPLAYTIMERがプセット値8をダウン
カウントして計数値が0になると、再生割込処理(図2
3)を実行する。そして、書込時刻RECCNTを旧R
ECCNT+(LNREST−LNSAM=5+(3−
0)=8で更新し、LNSAMをクリアし、さらに時間
間隔LENとしてKA からK2 までの残余時間LNRE
ST=3をセットし、時間間隔LEN=3を新データエ
リアに書き込んだ(ステップ402 〜405 )後、キーイ
ベント処理(図16または17)に進み、キーイベント
データK2 の読取と書込を実行する(ステップ221,
223)。さらに、図23のステップ205に戻って今
度は時間間隔データ処理(図18)に進み、再生タイマ
PLAYTIMERおよび残余時間レジスタLNRES
Tにそれぞれ時間間隔データである5をセットする(ス
テップ263,264)。 【0077】*キーイベントデータK3 の処理 このデータK3 の処理は、データK2 の処理と同様に行
なわれる。すなわち、書込時刻RECCNTを旧REC
CNT+(LNREST−LNSAM=8+(5−0)
=13に更新し、LNSAMをクリアし、さらに時間間
隔LENとしてK2 からK3 までの残余時間LNRES
T=5をセットし、時間間隔LEN=5を新データエリ
アに書き込んだ(ステップ402〜405)後、キーイ
ベント処理(図16または17)に進み、キーイベント
データK3 の読取と書込を実行する(ステップ221,
223)。さらに、図23のステップ205に戻って今
度は時間間隔データ処理(図18)に進み、再生タイマ
PLAYTIMERおよび残余時間レジスタLNRES
Tにそれぞれ時間間隔データである250をセットする
(ステップ263,264)。 【0078】*記録割込処理 記録タイマRECTIMERは自走式の8ビットカウン
タであるが、このカウンタが255までカウントして次
に計数値が0になると記録タイマ割込(図24)を実行
する。ここでは、経過時間LNSAMを旧LNSAM+
(100H −旧RECCNT)=0+(256−13)
=243に更新し、RECCNTをクリアする。 【0079】*キーイベントデータKB の処理 このデータKB の処理はKA と同様に実行される。すな
わち、データKB を読み込み(ステップ602)、書込
時刻レジスタRECCNTの旧データ0を旧書込時刻レ
ジスタOLDRCNTに退避させてレジスタRECCN
Tに新たなRECTIMER値(書込時刻)1をセット
し(ステップ631,632)、イベントK3 からKB
までの時間間隔LEN=LNSAM+(RECCNT−
OLDRCNT)=243+(1−0)=244および
B からK3 までの残余時間LNREST=旧LNRE
ST−LEN=250−244=6を算出し、経過時間
LNSAMをクリアした(ステップ633〜635)
後、時間間隔データLEN=244および入力キーイベ
ントデータKB を新シーケンスデータエリアへ書き込む
(ステップ636,642)。 【0080】*キーイベントデータK4 の処理 このデータK4 の処理は、データK3 の処理と同様に行
なわれる。すなわち、書込時刻RECCNTを旧REC
CNT+(LNREST−LNSAM=1+(6−0)
=7に更新し、LNSAMをクリアし、さらに時間間隔
LENとしてK 3 からK4 までの残余時間LNREST
=6をセットし、時間間隔LEN=6を新データエリア
に書き込んだ(ステップ402〜405)後、キーイベ
ント処理(図16または17)に進み、キーイベントデ
ータK4 の読取と書込を実行する(ステップ221,2
23)。さらに、図23のステップ205に戻って今度
は時間間隔データ処理(図18)に進み、再生タイマP
LAYTIMERおよび残余時間レジスタLNREST
にそれぞれ時間間隔データである10をセットする(ス
テップ263,264)。 【0081】このようにこの実施例においては、再生し
た演奏音を記録する際、タイミング情報を旧タイミング
データに基づいて算出するようにしているため、タイミ
ングデータとして記録時の記録タイマ値を用いる場合の
ような多重化による演奏時間の延びは発生しない。 【0082】 【発明の適用範囲】なお、この発明は上述の実施例に限
定されるものではなく、下記のように種々変形して適用
することができる。 【0083】例えば、 1. 上述においてはシーケンサメモリ18に格納される
シーケンスデータが一曲の場合について説明したが、複
数曲にしてもよい。 2. シーケンスデータとして押鍵情報を用いたが、音色
変更等、他のイベント情報を用いることも可能である。 3. 入出力のキーコードバッファIKCBUF,OKC
BUFはトラックごとに用意したが、端子毎またはチャ
ンネル毎等に用意してもよい。 4. クロックは外部より供給してもよい。 5. トラックの数はいくつでもよい。 6. 上記実施例においては簡略化のため表示を省いてい
るが、適宜、必要な情報を表示するための手段を設けて
もよい。 7. 上記実施例の装置に、消去、複写、修正等のエディ
ット機能を付加することは容易である。
DETAILED DESCRIPTION OF THE INVENTION [0001] The present invention relates to a key for an electronic musical instrument.
Records performance information input from boards, computers, etc.
Then, the stored performance information is reproduced and output to a sound source or the like.
The present invention relates to a performance recording / playback apparatus. [0002] 2. Description of the Related Art In a conventional performance recording / reproducing apparatus, a key
By operating the keyboard, key-on information,
Performance information consisting of key-off information indicating the silence of musical tones is generated.
Live. And these performance information they generate
It is recorded together with the timing information indicating the timing.
Also, the recorded key-on information and key-off information
By playing back based on the information and outputting to the sound source
I'm trying to perform automatically. In recent years, MI
DI (Musical Instrument Digi)
tal Interface) standard for keyboard and
Channel identification data is added to the sound source device and performance information.
Communication. [0003] The above-mentioned conventional performance recording
The playback device simply converts the input performance information as it is.
It is also stored and read out and output as it is at the time of later playback operation
I just did. For this reason, the sound source
Drive a sound source device that is set to a different channel from that of the device.
If you try to move, the keyboard used to record the performance information
Change and set the transmission channel of the external input device such as
Recording and reproduction again. Or use a new
Change the receiving channel of the sound source device you want to use
Can also drive this sound source device.
In the case of, the same channel as the sound source device that has been driven until now
Is set, and multiple devices with the same channel
It becomes difficult to distinguish thereafter. Further, a connection is made as a performance information input device.
More devices and receive performance information during playback
When the number of connected devices such as sound source devices increases, the input side,
If you want to change each channel on the output side,
Overlap with the currently set channel between
Set the input and output channels so that nothing is
It needs to be fixed. In addition, during the channel change
Cannot be changed or the number of channels that can be changed is limited.
Some devices are connected, and in some cases,
If you need to redo the method itself, it is very troublesome
Automatic performance of music, leading to recording errors and playback errors
There are problems such as difficulty in recording / reproducing information.
Was. The present invention solves the above-mentioned conventional problems.
In consideration of this, even if you do not change the settings of
The input / output relationship can be freely changed only by the performance recording / playback device itself.
The purpose is to be. [0006] Means for Solving the Problems To solve the above problems,
In the present invention, the timing information representing the performance timing
Input terminals for inputting performance information including at least information
And a record for recording performance information input from the input terminal.
Recording means having a plurality of recording tracks;
And a plurality of output terminals for outputting performance information.
The information is stored in the recording means as performance information of a plurality of recording tracks.
The recorded performance information is output from the output means.
A performance recording and reproducing apparatus,
Input terminal for inputting performance information to be recorded
First setting means for setting from among the plurality of input terminals;
An output from which performance information is output for each of the plurality of recording tracks.
A second setting for setting the output terminal from among the plurality of output terminals.
Setting means, and input performance information to the plurality of input terminals.
The information set by the first setting means corresponding to each
Writing means for writing to recording tracks, and each of the recording tracks
The performance information recorded in the
Reading means for reading from each recording track by means of
Corresponds to the plurality of recording tracks read by the step
Is set by the second setting means.
Output means for outputting to each output terminal.
And features. [0007] According to the present invention, at the time of recording, a plurality of input terminals
A plurality of performance information input from the
Recording is performed for multiple recording tracks, and during playback,
Plays recorded performance information corresponding to the number of recording tracks
Read each recording track in parallel as
At the same time, the read performance information is output to a predetermined output.
Output according to the input terminal. Thus, the first setting means and the second setting means
By changing the setting contents of the setting means, the performance of the present invention is achieved.
Set and connect each device connected to the recording / reproducing device.
Even if you do not change it, you can enter
Output relation can be changed. [0009] Embodiments of the present invention will be described below with reference to the drawings.
I do. FIG. 1 shows a multi-piece for an electronic musical instrument according to an embodiment of the present invention.
2 shows a hardware configuration of the heavy recording device. [Overview of Recording Apparatus in FIG. 1]
The device is a so-called event type
Key event data indicating keyboard key presses and key releases
The key event occurrence timing (time interval) data
And record the recorded key event data.
Playback and output at time intervals based on
You. Recorded performance information generated by keyboard, computer, etc.
Based on key event data input from
Played key event data is stored on a computer or sound source.
And so on. Also, combining input data and playback data
Also recorded on the original track from which the playback data was read
Overdubbing is also possible. Input and output terminals for key event data
Are provided, and each terminal has a MIDI
(Musical Instrument Digital Interface) Standard
(Hereinafter referred to as MIDI channel)
16) are set for each. In other words, this
Recording device has 8 × 16 = 128 input and output
With input channels and 128 input devices (e.g.
For example, a keyboard of an electronic musical instrument) and 128 output devices (for example,
(For example, an electronic musical instrument). [0012] 64 recording tracks are set.
Each track has one desired input channel.
And output channels can be assigned. Also,
Each track records data for 32 keys being pressed simultaneously
can do. Therefore, this recording device is equivalent to 1
28 instruments are connected at all times, and 6
You can select four instruments and record and play the performance
it can. Also, as long as the sound source connected to the output terminal allows.
As a result, 32 sounds are reproduced for each track,
Up to 32 × 64 = 2048 sounds can be generated simultaneously. [Description of Configuration of Recording Apparatus in FIG. 1] FIG.
The central processing unit (CPU) 10 controls the entire recording device.
This is for controlling the operation.
Program memory 14 and register via line 12
Group 16, sequencer memory 18, input device 20, output device
Device 22, switch group 24, and tempo generator 26
Has been continued. The program memory 14 has a read-only
A control for the CPU 10 constituted by a memory (ROM) or the like
The program is stored. The register group 16 includes the CP
Each of the items generated when U10 executes the control program
For temporarily storing various types of data.
For example, in a predetermined area in random access memory (RAM)
Provided. A register group prepared for this recording device
The registers that make up the 16 are shown in alphabetical order
It is as follows. In the following, each register is special
Unless otherwise noted, the contents (data, etc.) are shown. CSX: Registry that makes up the input / output information table (FIG. 6)
Cursor to specify the data TBL (0-63, 1-5)
X coordinate (corresponding to recording track No.) CSY: Cursor for specifying TBL (0-63, 1-5)
y coordinate (corresponding to input / output information) FLG: Sequence data processing distinction flag IN1 to IN3: Input data from the input device (key code
Buffer) IKCBUF (0 to 63, 0 to 31): Input terminal
Key press information buffer for each key (input side key code buffer) INCH: MIDI channel of input data (0 to 1)
5) INTRM: Input terminal information of input data (0 to 7) i: Control variable j: Control variable JOB: Performance mode (O: STOP, 1: PLAY,
2: RECRD) KC: Key code (7 bits) LEN: Event time interval LNEST: LEN remaining time to write LNSAM: Elapsed time since the previous key event occurred OKCBUF (0 to 63, 0 to 31): Output terminal
Key press information buffer for each key (output side key code buffer) OLDCNT: RECCNT (write time register)
Old data OUT1 to OUT3: output data buffer to output device OUTCH: MIDI channel of output data (0 to 1)
5) OUTTRM: output data transmission terminal information (0 to 7) PIRQMSK: Masking of playback interrupt signal PLAYIRQ
(1: Mask, 0: Interrupt enabled) RD1 to RD3: events read from internal memory
Data buffer RECCNT: counter timer for writing when performance information is input
The value of RECTIMER (Fig. 5) RPT: Sequence data read pointer (hereinafter referred to as read port)
Inter) SONGEND: Last address of sequence performance data SONGTOP: Start address of sequence performance data TBL (0-63, 0-31): Input / output status of each track
State setting register TCH: Touch information of input key data TRKIN: Track No. as input data TRKRD: Track No. as internal memory data TRKWT: Latest writing track No. WPT: Sequence data write pointer (hereinafter write port)
Inter) The sequencer memory 18 has, for example, a random
Access memory (RAM)
This is for recording performance information. This sequencer
The data recorded in the memory 18 is as shown in FIG.
"Key on", "key off" and "hour" of 3 bytes each
"Interval interval" data, 2-byte "track change" data
Data and an end mark of 1 byte length.
The first byte of each data indicates the type of the data.
This is an identification mark. The "key on" and "key off" data
X in the identification marks 9X and 8X is the MID of the data.
Shows the I channel. "Key on" and "Key off"
The second byte of the data is the "key code" and the third byte
Represents "touch" information. "End mark" is a parameter
Identification mark F2 without data termH (Hexadecimal table
The following, ``H "To indicate that it is a hexadecimal number
1) is only 1-byte data. "Time interval" data
The identification mark is F4H And the second byte is time
Upper 7 bits of interval, 3rd byte is lower 7 of time interval
Represents a bit. "Track change" data is identified
Mark is FFH In the second byte, the track data
Is two-byte data having FIG. 2 is an overview of an operation panel of the recording apparatus.
Is shown. The operation panel shown in FIG.
Specify force information setting register TBL (0-63, 1-5)
Cursor movement switches 30, 32, 34, 3
6. Register specified by cursor CSX and CSY
Ink for changing data in TBL (csx, csy)
Increment (INC) switch 38 and decrement
(DEC) switch 40, to set the performance mode of this recording device
Playback (PLAY) and recording (RECORD) to specify
D) and stop (STOP) switches 42, 44, 4
6, and other controls 48 such as a tempo setting switch
Is arranged. These switches 30 to 48 are shown in FIG.
Of the switch group 24 of FIG. The input device 20 shown in FIG. 1 is as shown in FIG.
And eight input terminals Ti1 to Ti8 and input terminals Ti1 to Ti8.
Temporarily stores performance information input via the CPU 10
FIFO type register that outputs in the order of input by these commands
Input buffers INBUF0 to INBUF7,
When performance information is input to any of the input terminals Ti1 to Ti8
To detect this and generate an input interrupt signal INPUTUTRQ.
OR gate 62 to be generated, input performance information is stored
Detect the number of input buffers INBUF0 to INBUF7
The input performance information is input by the encoder 64 and the number.
Input interrupt number register IN that is stored until read
Equipped with IRQNO. The output device 22 outputs data as shown in FIG.
Connected between the bus 12 and the eight output terminals To1 to To8.
Output buffers OUTBUF0 to OUTBUF7
ing. The tempo generator 26, as shown in FIG.
A clock that generates a clock φ with a frequency corresponding to the set tempo value
Lock setting device 70, 8 bits for counting clock φ
Increment counter 72, the counter 72 is 0 (0
0H ) Is output every time the recording interrupt signal RECIRQ is output.
The NOR gate 74 and the counter 72 output the count output.
Write counter timer (hereinafter referred to as write timer).
U) RECTIMER, time from sequencer memory 18
When the interval data is read, the time interval value is set to the top 7
Bit and lower 7 bits
Registers PLYTMH and PLYTML, register PL
Preset the above time interval value by YTMH and PLYTML
Decimation to downcount clock φ after being set
Count counter 76, the count value output of the counter 76 becomes zero.
Output a playback interrupt signal PLAYIRQ when
Playback interrupt signal PLAYIR at stop 78, stop mode, etc.
Register 8 for setting "1" when masking Q
0, playback interrupt when register 1 is set to "1"
Inverter for inhibiting output of signal PLAYIRQ
82 and an AND gate 84. FIG. 6A shows the input / output state of the register group 16.
State setting register TBL (x, y) as a table
FIG. In the figure, track No. is a sequence
Recording track number set in the memory 18;
In processing, it is represented by the value of the cursor CSX. INPUT
Is the input channel of the data to be recorded on that track.
Input terminal number (CSY = 1 column) and its
MIDI channel (CSY = 2 column)
You. OUTPUT is the data read from that track
Of the output terminal number (CSY = 3)
Column) and its MIDI channel (CSY = 4 column)
Is specified by Track mode (CSY = 5 column)
Specify the processing content for the track. Each track mode
6 (b) and (c) show the processing contents in the mode.
You. In FIGS. 6B and 6C, the track model
Mode O (stop) reads and writes to the track
And does not output the input data to the track
Indicates that 1 (play) is the input for the track.
No performance data is written or output, but the performance mode is
If it is raw or recorded (JOB = 1 or 2),
The internal data (sequence performance data) for the
Indicates that the output is to be sent to the output terminal. 2 (rec) is a performance
Regardless of the playing mode
Output to the output terminal and record the performance mode (JOB
= 2), the input data is written and the
Performance mode plays the internal data for the rack
Or if recording (JOB = 1 or 2)
It indicates that it is sent. [Description of Operation of Recording Apparatus in FIG. 1] Next, FIG.
Recording device of FIG. 1 with reference to flowcharts of FIGS.
Will be described. [0026]1. Main processing Referring to FIG. 8, when power is supplied to this apparatus, CP
U10 is a control program stored in the program memory 12.
The operation is started according to the ram (step 100). Ma
First, in steps 101 and 102,
16 is initialized. That is, in step 101, the output side
Key code buffer OKCBUF (0 to 63, 0 to 3
1), input side key code buffer IKCBBUF (0 to 6)
3, 0-31) and the performance mode register JOB.
And the input / output state setting register TBL (0-63, 0-
31), playback interrupt masking registers PIRQMSK and
And the performance mode register JOB are set. In addition, this
These registers are read from ROM or external memory.
May be set to a predetermined preset value.
No. In step 102, the first number of the sequence performance data
External location SONGTOP and last address SONGEND
Set from memory etc. After the initialization, the INC / DEC switch
Processing (step 110), UP / DOWN switch processing
(Step 130) LEFT / RIGHT switch processing
(Step 140), the PLAY switch on process (step 140)
Step 150), REC switch on processing (step 1)
60) and STOP switch-on processing (step 17)
0) each subroutine is called and executed, and then
Other processing (step 190) is performed,
A series of processing consisting of steps 110 to 190 is repeatedly executed.
Run. [0028]2. INC / DEC switch processing The INC switch 38 and the DEC switch 40 in FIG.
For changing the input / output state TBL (csx, csy)
is there. Referring to FIG. 9, in step 111, IN
Whether the C switch 38 and the DEC switch 40 are turned on
Check for no. Either of these switches 38 and 40
If it is not turned on, the process returns to the main processing (FIG. 8). one
On the other hand, if one of the switches 38 and 40 is on,
Next, at step 112, the performance mode JOB and the cursor y
Inspect the target CSY. Performance mode other than stop (JOB ≠
0) and the cursor specification is not in track mode
If (CSY # 5), the process returns to the main process (FIG. 8). This
This allows input / output channels during playback or recording
Changes are prohibited. If the performance mode is stopped (JOB = 0),
Either the cursor is in track mode (CSY
= 5), the process proceeds to step 113. Step 113
Now, the cursor y coordinate CSY and the input / output information register TBL
Check the contents of (csx, csy). If the cursor is
Mode (CSY = 5) and the cursor x coordinate C
The mode of the track specified by SX is the recording mode (TB
If L (csx, 5) = 2), go to step 115
Otherwise, the process proceeds to step 114. Step 11
In 4, whether the switch turned on is 38 or 40
Therefore, the contents of the input / output information register TBL (csx, csy) are
Main processing after incrementing or decrementing
Return to FIG. In step 114, TBL (csx, c
sy) 0-7 when CSY = 1 or 3 0-15 when CSY = 2 or 4 0-2 when CSY = 5 Increase or decrease in the range. For example, insert TBL (csx, 5) = 2
Set to 0 when incremented. As a result of the inspection in step 113, CS
When Y = 5 and TBL (csx, 5) = 2,
When switch 38 or 40 is on, track number CSX
Change the track mode for the track from the record mode.
If you want to change to another mode,
Switch 38 or 40 is turned on at 115 to 126
If there is a key that is being depressed, perform key-off processing for that key.
Do. That is, in step 115, the control variable i is
Set to 0, input track CSX in step 116
Key in the side key code buffer IKCBBUF (csx, i)
Check if the code is stored. Not stored
Without executing the processing of steps 117 to 124
Proceed directly to step 125. On the other hand, if the key code is stored,
Inputs key code key-off data to input data buffer IN
1 to IN3 (step 117).
Clear KCBUF (csx, i) (step 11)
8). In step 117, the key-off touch is performed.
40 customary as informationH To the input data buffer IN3
Is set to Subsequently, the input / output information register TBL
To CSX track output terminal and MIDI
Read channel and output terminal register OUTTRM
And to the output channel register OUTCH (switch
Step 119), the input data buffers IN1 to IN1
Key-off data stored in MIDI channel 3
Data only to the data OUTCH and output data
Buffer OUT1 to OUT3 (step 12).
0), the output data OUT1 to
After outputting OUT3 (step 121), step 1 is executed.
At 22, the performance mode is confirmed. Here, the performance mode is recorded.
If it is a record (JOB = 2), follow the instruction of the write pointer.
Keys set in the input data buffers IN1 to IN3
-Off data is written to the sequencer memory 18 (S
(Step 123) The write pointer is advanced by 3 counts (step
After step 124), the process proceeds to step 125. On the other hand,
The performance mode of the loop 122 must be record (JOB = 2)
In this case, the processing of steps 123 and 124 is skipped and the
Proceeding directly from step 122 to step 125. In step 125, the control variable i is set
And in the next step 126, the value of the control variable i becomes 3
It is determined whether or not 1 has been exceeded. If it is 31 or less,
Returning to step 116, the next key code buffer IKCBU
A key-off process is performed for F (csx, i). on the other hand,
If it exceeds 31, the input side of the corresponding track
Inspection of all key code buffers and key-off processing are completed.
Has passed, the process proceeds to step 114, and
The contents of the I / O information register TBL (csx, csy)
Depending on whether the switch that was turned on is 38 or 40.
Main processing after incrementing or decrementing
Return to FIG. [0036]3. UP / DOWN switch processing The UP switch 34 and the DOWN switch 36 in FIG.
Cursor x-axis CS on the input / output state table of FIG.
This is for moving X up and down. See FIG.
Then, in step 131, the UP switch 34 and the DO
Inspect the WN switch 36. And these switches
Switch is on if either switch 34 or 36 is on.
Cursor x-axis C according to whether h is 34 or 36
SX is incremented or decremented in the range of 0 to 63.
(Step 132), the switch 34,
If none of the 36 is turned on, from step 131
It returns directly to the main processing (FIG. 8). [0037]4. LEFT / RIGHT switch processing LEFT switch 30 and RIGHT switch of FIG.
Reference numeral 32 denotes a cursor y on the input / output state table of FIG.
This is for moving the axis CSY left and right. FIG.
In step 141, the LEFT switch 30
And the RIGHT switch 32 is checked. And this
If any of these switches 30, 32 are on
According to whether the switch turned on is 30 or 32
Increase the cursor y-axis CSY in the range of 1 to 5.
After decrementing or decrementing (step 142),
If neither switch 30 nor switch 32 is on,
The processing directly returns to the main processing (FIG. 8) from the server 141. [0038]5. PLAY switch on processing Referring to FIG. 12, in step 151, the reproduction mode switch is set.
It is determined whether the switch 42 is turned on. If it is on
If not, the process returns to the main process (FIG. 8). On the other hand,
If so, at step 152 the performance mode register JO
B is set to 1 and the song start
After executing the process (FIG. 14), the process returns to the main process (FIG. 8).
You. [0039]6. REC switch on processing Referring to FIG. 13, in step 161 the recording mode switch is set.
It is determined whether the switch 44 is turned on. If you turn on
If not, the process returns to the main process (FIG. 8). on the other hand,
If it is on, at step 162 the performance mode register J
Set OB to 2 and start the song at step 200
After executing the processing (FIG. 14), the processing returns to the main processing (FIG. 8).
You. [0040]7. Song start processing The reproduction switch 42 or the recording switch 44 in FIG. 2 is turned on.
Then, the performance mode register JOB is set to 1 or
Is set to 2 and the song start
Execute the process. In this song start process,
Preset registers used for raw and recording
Then, the sequence performance data is read from the sequencer memory 18.
Read the identification mark which is the first byte, and
Key on, key off, track change,
Reading of each data such as time interval and end mark and
Processing according to these data is performed. This day
Data reading time interval data or end mark
Repeated until Referring to FIG. 14, first, at step 201
To set the read pointer RPT to the start number of the sequence performance data.
Sequence the write pointer WPT to the ground SONGTOP
Prefix to the address next to the last address SONGEND of the performance data
And sets the value of the write pointer WPT at this time to a new value.
As the beginning address SONGTOP of the sequence performance data
Remember. Furthermore, click the playback interrupt mask PIRQMSK.
To enable playback interrupt PLAYIRQ (step
202), output of write timer RECTIMER (FIG. 5)
Store the value in the write time register RECCNT (step
203), clear the elapsed time register LNSAM
(Step 204). Next, the reading point from the sequencer memory 18 is read.
1-byte data addressed by the
Then, it is stored in the flag FLG (step 205).
Sequence performance stored in the sequencer memory 18
The first byte of data is an identification mark indicating the data type
(See FIG. 7). In step 206, the flag FLG
Discriminate the contents of the track, and change the track according to the discrimination result
(Step 210), key-on event (Step 22)
0), key-off event (step 240), time interval
(Step 260) and end mark (Step 2)
The process branches to each data reading process of 70). The track
Change (step 210), key-on event (step
220), key-off event (step 240)
And after executing the other processes (step 280)
Returning to step 205, the next data reading process is performed.
The time interval processing (step 260) or
After executing the demark process (step 270), the original
It returns to the main processing (FIG. 8). [0043]8. Track change processing Normally, the first data of the sequence performance data
Change data (FFH ). FIG. 14 or 23
Stored in the flag FLG in step 206
Identification mark is FFH If the
A change process (FIG. 15) is executed. Referring to FIG.
First, based on the address designation of the read pointer RPT,
2-byte track change data from the PLC memory 18
Read data and read 1 byte at a time
D1 and RD2 and store the read pointer RPT in the next read.
Advance 2 counts to address (steps 211 and 21)
2). Next, the track number in buffer RD2 is
After storing it in the rack number register TRKRD, the current
Read track TRKRD and write track TRKWT
Comparison is made (steps 213 and 214). If they are the same
The process returns to the original process (FIG. 14 or 23). Different
The write pointer WPT
Track change of 2 bytes to sequencer memory 18
RD1 and RD2 are written and the write pointer WP
Advances T by 2 counts to the next write address, and
Number TRKWT was changed to number TRKRD (Step
After steps 215 to 217), the original processing (FIG.
Return to 3). [0044]9. Key-on event processing In step 206 of FIG. 14 or 23, the flag FL
Identification mark 9X on GHIs stored, step 2
20 key-on event processing (FIG. 16) is executed. Figure
Referring to FIG. 16, first, based on the read pointer RPT,
Reads 3-byte key-on data from PLC memory 18.
Each byte is read and read data buffers RD1 to R
D3 and the pointer RPT to the next read address.
The count is advanced by three (steps 221 and 222). Next
To read the key-on data RD1 to RD3
Write to sequencer memory 18 based on inter WPT
Pointer WPT advances to the next write address by 3 counts
After that, the track mode TBL (
TRKRD, It is determined whether or not 5) is the stop mode (step 22)
3-225). In stop mode, no further processing is required
Because there is, return to the original processing (FIG. 14 or 23)
You. In the case of reproduction or recording, the input / output
Read data RD1 to RD3 should be sent from the status register
Output terminal TBL (TRKRD, 3) and output MIDI channel
Flannel TBL (TRKRD, 4) Read each register
OUTTRM and OUTCH are stored in step 22
Of key-on data RD1 to RD3 read in
Power MIDI Channel XH Only output MIDI channel
Create and output key-on data replaced with OUTCH
The data is stored in the data buffers OUT1 to OUT3, and this output
Send data OUT1 to OUT3 to output terminal OUTTRM
(Steps 226 to 228). Further, the output side key code buffer OKCB
UF (TRKRD, Any of the free ones from 0 to 31)
Key code RD2 (= OUT2) is written to
229), and then return to the original processing (FIG. 14 or 23).
You. [0047]10. Key-off event processing In step 206 of FIG. 14 or 23, the flag FL
Identification mark 8X on GHIs stored, step 2
Forty key-off event processing (FIG. 17) is executed. Figure
17, in steps 241-248,
Except that the data being processed is a key-off event
The same procedure as steps 221 to 228 in FIG.
Is performed. In step 249, the output side key
Code buffer OKCBUF (TRKRD, 0 to 31)
-Code RD2 (= OUT2) is written
And return to the original process (FIG. 14 or 23).
You. [0048]11. Time interval data processing In step 206 of FIG. 14 or 23, the flag FL
The identification mark stored in G is F4H Then
The time interval data processing of FIG.
Referring to FIG. 18, three bytes are read based on read pointer RPT.
Read the time interval data of each byte and read each byte
Stored in the data buffers RD1 to RD3, the pointer RP
T is advanced by 3 counts to the next reading address and read
The time intervals RD2 and RD3 are set in the reproduction timer register PLYT.
MH, PLYTML (Fig. 5)
Time intervals RD2 and RD3, which are 2-byte data of
Convert to 4-bit data and save remaining time register LNRE
After storing in ST (steps 261 to 264), the original
Return to the processing (FIG. 14 or 23). [0049]12. End mark processing Read in step 205 of FIG.
Identification mark is F2H, The process proceeds to step 20.
6, the end mark processing of step 270 (FIG. 18)
Move to This end mark is one byte of data.
You. Referring to FIG. 18, in step 271, the reading point
The counter RPT is sent one count to the next read address, and the
Whether the performance mode is playback (JOB = 1) in step 272
Is determined. If it is playback, stop the performance mode (JOB =
0) and set the end marker based on the write pointer WPT.
F2H And the pointer WPT to the next write address.
After one count advance (steps 273 to 275),
Return to the original processing (FIG. 14 or 23). At step 272, the performance mode is reproduced.
If not, it is a record. In this case, step 276 is repeated.
Set 1 to the raw interrupt mask register PIRQMSK
Prohibit playback interrupt, that is, reading of sequence performance data
After that, the processing returns to the original processing (FIG. 14 or 23). Performance
When the mode is recording, only playback is prohibited and recording is stopped.
Switch 46 (FIG. 2) until the switch 46 is turned on.
You. [0051]13. STOP switch on processing Referring to FIG. 20, in step 171, stop switch 4
6 (FIG. 2) is turned on. If you turn on
If not, the process returns to the main processing (FIG. 8). one
On the other hand, if it is on, the all key off process of step 300
(FIG. 21). [0052]14. All key-off processing This all-key-off processing is performed in playback or recording mode.
Playback sound is being generated when the stop switch is turned on.
Key off processing is performed for the key code. Specifically
Are provided on each of the 64 tracks.
A total of 64 x 32 = 2048 output side key code
Scan the file and search for the key code
Then, key-off processing is performed on the key code. Ma
Also, the input sound for the track whose track mode is 0
Because the playback sound is not pronounced, there may be key codes that are sounding.
Absent. Therefore, in step 302, the track mode
0 track is detected, and scanning for that track is performed.
Processing time is shortened by skipping. Referring to FIG. 21, in step 301, the traffic
Step 0 is set to the control variable i for
2. Track mode TBL (i, 5) of track No. i
To inspect. If it is other than stop, that is, playback or recording
In step 303, 0 is set to the control variable j for specifying the buffer.
Output key code buffer O in step 304.
Whether a key code is stored in KCBUF (i, j)
Is determined. If the key code is stored,
The output terminal TBL (i, 3) of the track i is
Read the output MIDI channel TBL (i, 4)
Stored in registers OUTTRM and OUTCH, respectively
Then, at step 306, the output NIDI channel is set to OUT
The key code whose key code is OKCBUF (i, j) in CH
Output data buffers OUT1 to OU
Store in T3. Further, in step 307, the buffer O
KCBUF (i, j) is cleared, and the
Outputs key-off data OUT1 to OUT3 to output terminal OUTT
After transmitting to the RM, the control variable j is input at step 309.
Increments the output of the track at step 310.
Whether inspection has been completed for all key code buffers
Is determined. If not, return to step 304
Check the next key code buffer of the track.
Now. On the other hand, if it has been completed, the control variable
i is incremented, and 64
It is determined whether or not the search for all the checks has been completed. Finished
If not, go back to step 302 and select the key for the next track.
Repeat the code search. Step 3 if finished
20. The key-off writing process of FIG.
The process returns to the TOP switch-on process (FIG. 20). [0054]15. Key-off writing process This key-off writing process is stopped in the recording mode.
Switch 46 (FIG. 2) is turned on, the sequencer memory
18 only the key-on data is written and the key-off data
Data is not written, that is, key pressed on the input side
If there is a key in the middle, the key-off data of the key being pressed is
It is created and written into the memory 18. In particular
A total of 2048 input-side keys, each with 32 tracks of 64 tracks
Scans the code buffer and keeps the key code stored.
Search for the key code and key-off
Data is created and written to the memory 18. Referring to FIG. 22, at step 321 the performance is
Check the performance mode JOB. This key-off writing process is
This is necessary only in the recording mode (JOB = 2).
If not in recording mode,
The process returns to the all key-off process (FIG. 21). Recording mode
In step 322, the control variable i is set to 0, and
In the step 323, the track mode TBL (i,
It is determined whether or not 5) is the recording mode. Truck model
If the key is not in record mode, there is no key
Therefore, skip steps 324 to 331 and skip
Proceed to step 332. Track mode is set to recording mode
In step 324, the control variable j is set to 0,
Input key code buffer IKCBBUF at step 325
Determines whether a key code is stored in (i, j)
You. If the key code is not stored, step 326 is executed.
The process skips steps 329 to 329 and proceeds to step 330.
If the key code is stored, the key is stored in step 326.
Create key-off data for keycode and read data buffer
Are stored in RD1 to RD3, and buffered in step 327.
Clear IKCBUF (i, j) and write in step 328
Key to the sequencer memory 18 based on the
-Off data RD1 to RD3 are written, and
9 moves the write pointer WPT to the next write address by 3
After proceeding, the control variable j is incremented in step 330.
And at step 331 all buffers of track i
It is determined whether the inspection of the key has been completed. Unprocessed buff
If there are any remaining buffers, the flow returns to step 325 to return to the next buffer.
Check IKCBUF (i, j) for key code
I do. On the other hand, all 32
If the inspection has been completed for the
The control variable i is incremented.
Search for key codes during key press and key
It is determined whether or not the writing of the off data has been completed. End
If not, the flow returns to step 323 to repeat the above processing.
If the processing is completed, the original all-key-off processing (FIG. 2)
Return to 1), and return to STOP on processing (FIG. 20)
You. [0056]16. STOP ON processing (continued) Referring to FIG. 20, in step 173, the performance mode register
Set the star job to 0, and in step 174, play interruption
Checks whether the mask register PIRQMSK is 1
I do. If 1, set the sequence before turning on the stop switch.
Playback of performance data and transcription to the new performance data area
The process has been completed (see step 276 in FIG. 19). Be 0
If there is any unposted data, steps 175 to 1
At 81, add the remaining data to the end of the new performance data.
Add. That is, in step 175, the write track
Compare TRKWT and read track TRKRD,
Sequence shark based on the write pointer WPT
Track change data to read track in memory 18
(2 bytes) is written (steps 176 to 177),
Pointer WPT is advanced by 2 counts to the next write address
After (step 178), the process proceeds to step 179. on the other hand,
The write track TRKWT and the read track TRKRD
If they match, step 175 directly proceeds to step 179
Proceed to. Thereafter, in step 179, the sequencer
Address specified by the read pointer RPT in the memory 18
From F2H (End mark) Read until read
The data of the old performance data area addressed by the pointer RPT
New performance data addressed by the write pointer WPT
(Steps 180 to 181). End
When a mark is detected, the process proceeds to step 182, where
End memory in the sequencer memory 18 based on the
Talk F2H Is written, and the sequence
Final address WPT of performance data in register SONGEND
After writing, the process returns to the main process (FIG. 8). [0059]17. Play timer interrupt processing In the recording device of FIG. 1, in the playback or recording mode,
The time interval data read from the sequencer memory 18 is
Decrement counter 76 of tempo generator 26 (see FIG.
5) is preset (step 263). Tempo generation
The counter 26 counts down the clock φ by the counter 76.
The count value output is OH , The playback interrupt signal PLAY
Generate an IRQ. The CPU 10 outputs the reproduction interrupt signal PL
Playback interrupt processing of step 400 based on AYIRQ (FIG.
23) is executed. As a result, in this recording device
Is the time interval recorded in the sequencer memory 18
Event data is read for each (event timing)
Can be That is, referring to FIG.
In 01, the performance mode JOB is determined. Reading performance data
The performance mode is stopped (JO
If B = 0), the interrupt is released and the original processing
Return. On the other hand, the performance mode is other than stop (JOB $ 0)
If so, in step 402, write time register RECCNT
Is added to (LNEST-LNSAM). here,
LNEST is the last playback interrupt when recording (JOB = 2)
Key event data is input between
The time interval read by the previous playback interrupt, if any
This is the remaining time after LEN key event data input.
LNSAM is the elapsed time after this key event data input
It is. Subsequently, the register LNSAM is cleared.
(Step 403), the remaining time LNRES is set to the time interval
After setting to the register LEN (step 404),
To the sequencer memory 18 based on the write pointer WPT
Mark F4H , The upper 7 bits of register LEN and
3 bytes consisting of the lower 7 bits of the register LEN
The remote data is written (step 405).
Advance the counter WPT by 3 counts to the next write address.
Step 406). At step 407, the write track number T
RKWT is compared with the read track number TRKRD,
If it is, cut the writing track in the same way as the reading track.
To change, the track number TR is stored in the register TRKWT.
KRD is stored and the identification mark FFH And new truck number
2-byte track change data consisting of TRKWT
And write the pointer WPT to the next write address 2
The operation proceeds (steps 408 to 410). Step 4
07, the write track and the read track are the same.
If so, the processing of steps 408 to 410 is skipped. Subsequently, the event data at the current timing
Data and time interval data or data until the next event.
This mark is read by the song
It is exactly the same as in the start process (FIG. 14)
Here, the same step numbers are assigned and the description is omitted. [0064]18. Recording timer interrupt processing In the recording device of FIG.
The increment counter 72 (FIG. 5) generates 256 clocks φ.
The recording interrupt signal RECIRQ generated each time counting is performed
The following interrupt processing (step 500) is executed based on the
You. Referring to FIG. 24, in step 501, the performance
Check the performance mode JOB. Recording timer interrupt is recorded
Since it is necessary only in the mode, the performance mode
If is not recorded (JOB = 2), interrupt is canceled immediately
You. On the other hand, if it is a record, the register L
Elapsed time since the last key event data input to NSAM
Is stored. That is, the register LNSAM contains
Each time the counter 72 (FIG. 5) overflows,
-Stores the elapsed time after event data input. Stay
(100 inH -RECCNT) RE
After the key event data is input, the counter 72
Term for calculating the time until the first overflow
Is cleared after the calculation (step 503). In step 504, the elapsed time LNSAM is calculated
3FFFH Is determined. This recording device
14-bit counter for time interval measurement (76 in FIG. 5)
, The time interval is 3F, which is the maximum value of 14 bits.
FFH If it exceeds 3FFFH More than one of the following
This is because the data is recorded separately in the interval data. Accordingly
And the elapsed time LNSAM is 3FFFH Below
Release the interrupt. On the other hand, 3FFFH Crosses the register
3FFF each from LNSAM and LNESTH
Is subtracted (steps 505 and 506), and the pointer WPT
Time interval 3FFF based onH 3-byte data F indicating
4H , 7FH , 7FH Is written (step 507),
Pointer WPT is advanced by 3 counts to the next write address
Thereafter, the process returns to the original process. [0067]19. Input interrupt processing One of the input devices 20 (FIG. 3) of the recording device of FIG.
Key event data is input to the input terminals Ti1 to Ti8
And this data is stored in the input data registers INBUF0-INBUF0
Stored in NBUF7 and split from OR gate 62
An input signal INPUT IRQ is generated. CPU 10
Step 600 is entered based on the interrupt signal INPUT IRQ.
Execute force interrupt processing. Referring to FIG. 25, first, the input interrupt number
The terminal number n input from the register INIRQNO is
Read it and store it in the input terminal register INTRM (step
601), a 3-byte key from the register INBUFn.
-Event data is read and input buffers IN1 to I
One byte is stored in N3 (step 602). Further
To the MIDI channel included in the identification mark IN1.
The key code IN2 and the touch information are stored in the register INCH.
The information IN3 is stored in the registers KC and TCH, respectively.
(Steps 603 and 604), the input / output status table
By scanning (FIG. 6), the recording tracks No. 0 to 63 are recorded.
Input terminal TBL (i, 1) and MIDI channel TB
L (i, 2) matches INTRM and INCH, respectively
And the track mode TBL (i, 5) is the recording mode
(= 2) (steps 605 to 60)
8). Here, the tracks are searched in order from the track No.
If a track that meets the above conditions is found, processing will stop.
The process moves from step 606 to step 611. In step 611, the detected track number
The number i is stored in the register TRKIN. Then,
Rack output terminal TBL (TRKRD, 3) and output MID
I channel TBL (TRKRD, 4) read each
OUTTRM and OUTCH (step 61)
2), MIDI channels of input data IN1 to IN3
The output data OUT1 to OUTCH obtained by replacing data with OUTCH
OUT3 is created (step 613), and the output data
Is sent to the output terminal OUTRM, and then the step 620 is executed.
Of the input side key code buffer process (FIG. 26)
You. [0070]20. Input side key code buffer processing Referring to FIG. 26, in step 621, the input data is
-Whether the event data is on or key off
Is determined. If it is a key-on event, step 622
Empty of the 32 buffers of track TRKIN
Key code KC (= IN2) is written
Thereafter, the process returns to the original processing (step 625 in FIG. 25). Key
If it is an off event, the track TRK is executed in step 623.
The same data as the key code KC among the 32 buffers of IN
After clearing the stored data,
It returns to (FIG. 25 step 625). [0071]21. Input interrupt processing (continued) Referring to FIG. 25, in step 625, performance mode JO
Check B. Recording of input data is recorded (JOB = 2)
Only when the recording mode is set.
The interrupt is canceled and the process returns to the original processing. On the other hand, the recording mode
If the key event data is
Data write time RECCNT to register OLDCNT
After writing, in step 632, the writing counter timer
The current time indicated by RECTIMER (FIG. 5) is stored in register R
Write to ECCNT. Next, LNSAM + (RECC
NT-OLDRCNT) to calculate the time interval register L
EN (step 633), and LNEST-LE
N is calculated and stored in the remaining time register LNEST.
(Step 634), clear the register LNSAM
(Step 635). Further, based on the write pointer WPT,
3 byte time interval data in the sequencer memory 18.
(Step 636), and pointer WPT is
3 counts forward to the data write address (step 6)
37) Later, the input data write track number TRKIN
And the current write track number TRKWT. The write track TRKIN of the input data is
If it is different from the current write track TRKWT, the write track
Change TRKWT to TRKIN, and write pointer W
2-byte track chain in memory 18 based on PT
Geodata (FFH And TRKWT) and write
Advances the counter WPT by 2 counts to the next write address
(Steps 639 to 641). On the other hand, writing input data
The track TRKIN and the current writing track TRKWT
Are the same, the processing of steps 639 to 641 is skipped.
Step. Subsequently, based on the write pointer WPT, the memory 1
8 is written with 3-byte input data IN1 to IN3,
Write pointer WPT to next write address for 3 counts
After proceeding (steps 642 and 643), the interrupt is released.
It returns to the original processing. [0073]22. Explanation of one operation example FIG. 27 shows an operation example of the recording device of FIG. here
Key event data K1 , KTwo , KThree And KFour From
Key to the playback data (old sequence data)
-Event data KA And KB Input data consisting of
Record the new sequence data shown in FIG.
The operation when recording is explained by the change in the data of each register.
I will tell. * Recording start and key event data K1
Processing When the recording switch 44 is turned on, the processing is turned on.
Song processing (FIG. 14) after the song processing (FIG. 13).
And in step 203, the write time register RECCN
Store the value 0 of the write timer RECTIMER in T,
Clear elapsed time register LNSAM in step 204
You. Next, key-on or key-off event processing (Fig.
16) or 17), and the key event data K1 Old
Reading from sequence data area (step 221)
And writing to the new sequence data area (step 22
Execute 3). Then go back to the song start process
This time, proceed to the time interval data processing (FIG. 18),
PLAYTIMER and remaining time register LNRE
Set the time interval data 8 to ST
(Steps 263, 264). Dozens of steps above
The reason is that from the macro standpoint as a performance sound,
It is executed in such a short time as to be considered. The following key events
Processing of event data is executed instantaneously from a macro perspective.
You. * Key event data KA Processing Key event data KA Is entered, input interrupt processing
(FIG. 25), and the data KA Load (step
602), and then the write time register RECCNT stores the old data.
Data 0 to the old write time register OLDRCNT
To a new RECTIMER value (write time) 5
(Steps 631, 632). More key events
K1 To KA Time interval LEN = LNSAM + (R
ECCNT-OLDRCNT) = 0 + (5-0) = 5
And KA To KTwo LN REST = old LN
REST-LEN = 8−5 = 3, and the elapsed time LN
After clearing the SAM (steps 633-635),
Interval data LEN and input key event data KA
Is written to the new sequence data area (step 63).
6,642). * Key event data KTwo Processing Playback timer PLAYTIMER drops preset value 8
When the counted value reaches 0, the reproduction interruption processing (FIG. 2)
Execute 3). Then, the write time RECCNT is changed to the old R
ECCNT + (LNEST-LNSAM = 5 + (3-
0) = 8 update, clear LNSAM, and more time
K as interval LENA To KTwo Remaining time until LNRE
Set ST = 3 and set time interval LEN = 3 to new data
After writing in the rear (steps 402 to 405),
Proceed to vent processing (FIG. 16 or 17) and key event
Data KTwo (Step 221)
223). Further, returning to step 205 in FIG.
The time proceeds to the time interval data processing (FIG. 18), and the reproduction timer
PLAYTIMER and remaining time register LNRES
T is set to 5 which is time interval data for each T
Steps 263, 264). * Key event data KThree Processing This data KThree Is performed on the data KTwo Line in the same way as
Be done. That is, the write time RECCNT is changed to the old REC.
CNT + (LNEST-LNSAM = 8 + (5-0)
= 13, clear LNSAM, and more time
K as other LENTwo To KThree Remaining time LNRES until
Set T = 5 and set time interval LEN = 5 to the new data area.
(Steps 402 to 405)
Proceed to vent processing (FIG. 16 or 17) and key event
Data KThree (Step 221)
223). Further, returning to step 205 in FIG.
The time proceeds to the time interval data processing (FIG. 18), and the reproduction timer
PLAYTIMER and remaining time register LNRES
Set 250 as time interval data to T respectively
(Steps 263, 264). * Record interruption processing The recording timer RECTIMER is a self-propelled 8-bit counter.
This counter counts up to 255 and
When the count value becomes 0, the recording timer interrupt (Fig. 24) is executed.
I do. Here, the elapsed time LNSAM is replaced by the old LNSAM +
(100H −old RECCNT) = 0 + (256-13)
= 243 and RECCNT is cleared. * Key event data KB Processing This data KB Processing is KA Is executed in the same way as sand
That is, data KB Is read (step 602) and written
The old data 0 of the time register RECCNT is changed to the old write time
Save to register OLDRCCNT and register RECCN
Set a new RECTIMER value (write time) 1 to T
(Steps 631, 632), and event KThree To KB
Time interval LEN = LNSAM + (RECCNT−
(OLDRCNT) = 243 + (1-0) = 244 and
KB To KThree Remaining time until LNEST = old LNRE
ST-LEN = 250-244 = 6 is calculated and the elapsed time
LNSAM cleared (steps 633-635)
After that, the time interval data LEN = 244 and the input key event
Data KB To the new sequence data area
(Steps 636, 642). * Key event data KFour Processing This data KFour Is performed on the data KThree Line in the same way as
Be done. That is, the write time RECCNT is changed to the old REC.
CNT + (LNEST-LNSAM = 1 + (6-0)
Update to = 7, clear LNSAM, and time interval
K as LEN Three To KFour Remaining time up to LNEST
= 6 and set the time interval LEN = 6 to the new data area
(Steps 402 to 405)
To the key event data (FIG. 16 or 17).
Data KFour (Steps 221 and 221)
23). Further, returning to step 205 of FIG.
Goes to the time interval data processing (FIG. 18), and the reproduction timer P
LAYTIMER and remaining time register LNEST
Is set to 10 which is the time interval data for
Steps 263, 264). As described above, in this embodiment, the reproduction
When recording performance sounds, the timing information
Because the calculation is based on data,
When using the recording timer value at the time of recording as the
Such multiplexing does not increase the playing time. [0082] The present invention is limited to the above embodiment.
It is not specified, and applied with various modifications as follows
can do. For example, 1. In the above, it is stored in the sequencer memory 18
Although the case where the sequence data is one song has been described,
It may be several songs. 2. I used keypress information as sequence data,
Other event information, such as a change, can also be used. 3. I / O key code buffers IKBUF, OKC
BUF is prepared for each track, but it is prepared for each terminal or channel.
You may prepare for every channel etc. 4. The clock may be supplied externally. 5. You can have any number of tracks. 6. In the above embodiment, the display is omitted for simplification.
However, if necessary, a means for displaying necessary information should be provided.
Is also good. 7. Edit, delete, copy, modify, etc.
It is easy to add a cut function.

【図面の簡単な説明】 【図1】 この発明の一実施例に係る多重録音装置のハ
ードウエア構成図である。 【図2】 図1の装置の操作パネル外観図である。 【図3】 図1における入力装置のより詳細を示す回路
図である。 【図4】 図1における出力装置のより詳細を示す回路
図である。 【図5】 図1におけるテンポ発生器のより詳細を示す
回路図である。 【図6】 図1の装置における入出力状態設定の説明図
である。 【図7】 図1の装置におけるシーケンスデータフォー
マット図である。 【図8】 図1の装置におけるメイン処理のフローチャ
ートである。 【図9】 INC/DECスイッチ処理のフローチャー
トである。 【図10】 UP/DOWNスイッチ処理のフローチャ
ートである。 【図11】 LEFT/RIGHTスイッチ処理のフロ
ーチャートである。 【図12】 PLAYスイッチオン処理のフローチャー
トである。 【図13】 RECスイッチオン処理のフローチャート
である。 【図14】 ソングスタート処理のフローチャートであ
る。 【図15】 トラックチェンジ処理のフローチャートで
ある。 【図16】 キーオンイベント処理のフローチャートで
ある。 【図17】 キーオフイベント処理のフローチャートで
ある。 【図18】 時間間隔データ処理のフローチャートであ
る。 【図19】 エンドマーク処理のフローチャートであ
る。 【図20】 STOPスイッチオン処理のフローチャー
トである。 【図21】 オールキーオフ処理のフローチャートであ
る。 【図22】 キーオフ書込処理のフローチャートであ
る。 【図23】 再生タイマ割込処理のフローチャートであ
る。 【図24】 記録タイマ割込処理のフローチャートであ
る。 【図25】 入力割込処理のフローチャートである。 【図26】 入力側キーコード処理のフローチャートで
ある。 【図27】 図1の装置における一動作例を示す説明図
である。 【符号の説明】 10:CPU、12:バスライン、14:プログラムメ
モリ、16:レジスタ群、18:シーケンサメモリ、2
0:入力装置、22:出力装置、24:スイッチ群、2
6:テンポ発生器、42:再生スイッチ、44:記録ス
イッチ、46:停止スイッチ、IKCBUF:入力側キ
ーコードバッファ、OKCBUF:出力側キーコードバ
ッファ、TBL(csx, csy):入出力状態設定レジス
タ。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a hardware configuration diagram of a multiplex recording apparatus according to an embodiment of the present invention. FIG. 2 is an external view of an operation panel of the apparatus shown in FIG. FIG. 3 is a circuit diagram showing more details of the input device in FIG. 1; FIG. 4 is a circuit diagram showing the output device in FIG. 1 in more detail. FIG. 5 is a circuit diagram showing more details of a tempo generator in FIG. 1; FIG. 6 is an explanatory diagram of input / output state setting in the apparatus of FIG. 1; FIG. 7 is a diagram showing a sequence data format in the apparatus shown in FIG. 1; FIG. 8 is a flowchart of a main process in the apparatus of FIG. 1; FIG. 9 is a flowchart of an INC / DEC switch process. FIG. 10 is a flowchart of an UP / DOWN switch process. FIG. 11 is a flowchart of a LEFT / RIGHT switch process. FIG. 12 is a flowchart of a PLAY switch on process. FIG. 13 is a flowchart of a REC switch on process. FIG. 14 is a flowchart of a song start process. FIG. 15 is a flowchart of a track change process. FIG. 16 is a flowchart of a key-on event process. FIG. 17 is a flowchart of a key-off event process. FIG. 18 is a flowchart of time interval data processing. FIG. 19 is a flowchart of an end mark process. FIG. 20 is a flowchart of a STOP switch on process. FIG. 21 is a flowchart of an all-key-off process. FIG. 22 is a flowchart of a key-off writing process. FIG. 23 is a flowchart of a reproduction timer interrupt process. FIG. 24 is a flowchart of a recording timer interrupt process. FIG. 25 is a flowchart of an input interruption process. FIG. 26 is a flowchart of input key code processing. FIG. 27 is an explanatory diagram showing an operation example of the device in FIG. 1; [Description of Signs] 10: CPU, 12: bus line, 14: program memory, 16: register group, 18: sequencer memory, 2
0: input device, 22: output device, 24: switch group, 2
6: tempo generator, 42: playback switch, 44: recording switch, 46: stop switch, IKBUF: input side key code buffer, OKCBUF: output side key code buffer, TBL (csx, csy): input / output state setting register.

Claims (1)

(57)【特許請求の範囲】 1.演奏タイミングを表わすタイミング情報を少なくと
も含む演奏情報を入力する複数の入力端子と、 前記入力端子から入力される演奏情報を記録する記録ト
ラックを複数有する記録手段と、 それぞれが前記演奏情報を出力する複数の出力端子とを
備え、複数の演奏情報が前記記録手段に複数の記録トラ
ックの演奏情報として記録され、記録された演奏情報を
出力手段から出力する演奏記録再生装置であって、 前記複数の記録トラック毎に、記録すべき演奏情報が入
力される入力端子を前記複数の入力端子の中から設定す
る第1の設定手段と、 前記複数の記録トラック毎に、演奏情報が出力される出
力端子を前記複数の出力端子の中から設定する第2の設
定手段と、 入力された演奏情報を前記複数の入力端子のそれぞれに
対応して前記第1の設定手段で設定された記録トラック
に書き込む書込手段と、 前記各記録トラックに記録されている演奏情報を再生時
の演奏の進行に従って各記録トラックから読み出す読出
手段と、 前記読出手段によって読み出された前記複数の記録トラ
ックに対応している演奏情報を前記第2の設定手段で設
定されているそれぞれの出力端子に出力する出力手段と
を備えることを特徴とする演奏記録再生装置。
(57) [Claims] A plurality of input terminals for inputting performance information including at least timing information indicating performance timing; recording means having a plurality of recording tracks for recording performance information input from the input terminals; a plurality of output means each for outputting the performance information A performance recording / reproducing apparatus, wherein a plurality of performance information are recorded in the recording means as performance information of a plurality of recording tracks, and the recorded performance information is output from the output means. A first setting means for setting, from the plurality of input terminals, an input terminal for inputting performance information to be recorded for each track; and an output terminal for outputting performance information for each of the plurality of recording tracks. Second setting means for setting from among the plurality of output terminals; and inputting the performance information to the first Writing means for writing to the recording tracks set by the setting means; reading means for reading performance information recorded on each of the recording tracks from each recording track in accordance with the progress of the performance at the time of reproduction; Output means for outputting performance information corresponding to the plurality of recording tracks to respective output terminals set by the second setting means.
JP8212139A 1996-07-24 1996-07-24 Performance recording and playback device Expired - Lifetime JP2888202B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8212139A JP2888202B2 (en) 1996-07-24 1996-07-24 Performance recording and playback device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8212139A JP2888202B2 (en) 1996-07-24 1996-07-24 Performance recording and playback device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP62024866A Division JP2570718B2 (en) 1987-02-06 1987-02-06 Performance recording and playback device

Publications (2)

Publication Number Publication Date
JPH09127938A JPH09127938A (en) 1997-05-16
JP2888202B2 true JP2888202B2 (en) 1999-05-10

Family

ID=16617544

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8212139A Expired - Lifetime JP2888202B2 (en) 1996-07-24 1996-07-24 Performance recording and playback device

Country Status (1)

Country Link
JP (1) JP2888202B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9409856B2 (en) 2005-11-28 2016-08-09 Gtx, Inc. Estrogen receptor ligands and methods of use thereof
US8546451B2 (en) 2005-11-28 2013-10-01 Gtx, Inc. Estrogen receptor ligands and methods of use thereof
US9427418B2 (en) 2009-02-23 2016-08-30 Gtx, Inc. Estrogen receptor ligands and methods of use thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
日本楽器製造株式会社カタログ「COMBO KEYBOARDS](カタログコードLKA604)、1986年4月作成;[MJC8]及び[QX1]の紹介欄

Also Published As

Publication number Publication date
JPH09127938A (en) 1997-05-16

Similar Documents

Publication Publication Date Title
JP3163119B2 (en) Recording and playback device
US4681008A (en) Tone information processing device for an electronic musical instrument
JPH06236313A (en) Voice signal recording and reproducing device
US6635816B2 (en) Editor for musical performance data
EP0278438B1 (en) Multi-recording apparatus of an electronic musical instrument
JP2002215164A (en) Apparatus and method for processing wave data, and recording medium
JP2888202B2 (en) Performance recording and playback device
JP3700532B2 (en) Performance information editing / playback device
US4512230A (en) Electronic musical instrument
US6956161B2 (en) Musical performance data search system
JPH0552502B2 (en)
JP3307598B2 (en) Performance recording and playback device
JP2570718B2 (en) Performance recording and playback device
JP2894306B2 (en) Performance recording and playback device
JPH0797270B2 (en) Performance recording / playback device
JP2780403B2 (en) Performance recording device
JP2641851B2 (en) Automatic performance device
JPH0797269B2 (en) Performance recording / playback device
JPH02311898A (en) Performance recording and reproducing device
JP4456469B2 (en) Performance information playback device
JP4259422B2 (en) Performance control device and program
JPS6242514B2 (en)
JP2583377B2 (en) Automatic performance device
JP2643508B2 (en) Automatic instrument for electronic musical instruments
JPH045996B2 (en)

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term