JPH09190182A - 演奏記録再生装置 - Google Patents

演奏記録再生装置

Info

Publication number
JPH09190182A
JPH09190182A JP8352613A JP35261396A JPH09190182A JP H09190182 A JPH09190182 A JP H09190182A JP 8352613 A JP8352613 A JP 8352613A JP 35261396 A JP35261396 A JP 35261396A JP H09190182 A JPH09190182 A JP H09190182A
Authority
JP
Japan
Prior art keywords
data
key
input
recording
processing
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.)
Granted
Application number
JP8352613A
Other languages
English (en)
Other versions
JP2894306B2 (ja
Inventor
Kazuhisa Okamura
和久 岡村
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 JP8352613A priority Critical patent/JP2894306B2/ja
Publication of JPH09190182A publication Critical patent/JPH09190182A/ja
Application granted granted Critical
Publication of JP2894306B2 publication Critical patent/JP2894306B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】 音源装置を内蔵していない入力装置によって
演奏情報を入力して記録しても、その演奏音を確認しな
がら入力することができるようにする。 【解決手段】 外部から入力された演奏情報を記録する
とともに記録した演奏情報を外部へ出力する演奏記録再
生装置において、外部から入力された演奏情報を記録す
る記録手段と、演奏情報を出力するべき出力グループを
出力端子別のグループとして設定する設定手段と、記録
時には、入力された演奏情報を前記設定手段で設定され
た出力グループで出力するとともに、再生時には、記録
された演奏情報を前記設定手段で設定された出力グルー
プで出力する出力手段とを設ける。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、電子楽器のキ―
ボ―ドやコンピュ―タ等から入力される演奏情報を上記
キ―ボ―ドの押鍵状態等の変化を示すディジタルイベン
トデ―タの形で記録し、さらに記録された演奏情報を再
生してコンピュ―タや音源へ出力するいわゆるイベント
タイプの演奏記録再生装置に関し、特に、入力された演
奏情報と既に記録されている演奏情報とを重ね合せて記
録する多重録音を行なう際に好適な演奏記録再生装置に
関する。
【0002】
【従来の技術】従来の演奏記録再生装置としては、例え
ば特開昭58−211191号に開示されたものが知ら
れている。この演奏記録再生装置においては、鍵盤の操
作によって、楽音の発音を表わすキーオン情報や楽音の
消音を表わすキーオフ情報からなる演奏情報が発生す
る。そして、これらの情報をそれらが発生するタイミン
グを表わすタイミング情報とともに記録し、また、記録
したキーオン情報やキーオフ情報をタイミング情報に基
づいて再生し、音源へ出力することによって自動演奏再
生を行なうようにしている。
【0003】また、この従来の演奏記録再生装置では、
演奏情報をチャンネル情報とともに記録し、再生時にチ
ャンネル別に異なった音色が設定される音源に送信する
ことで、様々に異なった音色によるアンサンブル演奏を
可能としている。
【0004】
【発明が解決しようとする問題点】しかしながら、上述
の従来の演奏記録再生装置は、鍵盤を用いて演奏したと
きの演奏情報が入力されると、それは記録されるのみ
で、入力された演奏情報があらためてこの演奏記録再生
装置から出力されることはなかった。そのため、鍵盤を
用いた演奏音を確認しながら演奏することができず、演
奏音を確認したければ、通常は音源装置を内蔵した鍵盤
装置によって入力するようにするなど、ユーザが自ら工
夫するしかなかった。
【0005】このように、従来の演奏記録再生装置で
は、音源装置を内蔵した鍵盤などの高価な入力装置を必
要とするという問題があった。また、音源装置を内蔵し
た鍵盤を用いたとしても、実際に演奏が再生されたとき
に用いる音源装置と異なる場合、演奏を記録するときと
記録した演奏を再生するときとで、同一の音色の楽音を
聞くことができないため、再生するときのイメージが記
録時につかめないという不都合があった。
【0006】この発明は、このような従来の演奏記録再
生装置の不都合に鑑みてなされたもので、音源装置を内
蔵していない入力装置によって演奏情報を入力して記録
しても、その演奏音を確認しながら入力することができ
るようにすることを目的としている。
【0007】
【問題点を解決するための手段】上記目的を達成するた
めこの発明では、外部から入力された演奏情報を記録す
るとともに、記録した演奏情報を外部へ出力する演奏記
録再生装置において、記録時に外部入力された演奏情報
を、再生時の出力グループとして予め設定された出力グ
ループで出力するようにしている。ここで、前記出力グ
ループは、出力端子別のグループとしている。
【0008】例えばこの発明の実施例においては、出力
端子が8個設けられており、各出力端子にはそれぞれ1
6チャンネル分の出力機器(電子楽器の音源等)を接続
することができる。この場合、前記出力グループは16
×n(nはそのグループに割り当てられた出力端子の数
でn=1〜8である)の出力チャンネルで構成されるこ
とになる。
【0009】
【発明の効果】この発明では、記録された演奏情報を再
生する際の出力すべきグループを出力端子別のグループ
として設定しておく。そして、再生時には演奏情報をそ
の設定されたグループで出力する。また、記録時にも入
力されてくる演奏情報をそのとき設定されているグルー
プで出力する。
【0010】再生時には、この発明の演奏記録再生装置
に接続される1または複数の音源装置はグループによっ
て異なる音色が設定されるのが普通であるが、記録時に
も再生時と同じグループの音源装置を接続することで、
同じグループでの演奏情報による楽音信号を発生するこ
とができ、再生時と同じ音色の楽音を聞くことができる
ので、イメージをつかみ易い。もちろん、演奏情報を入
力する装置は音源装置を内蔵している必要はなくなる。
【0011】
【実施例】次に、この発明の実施例を以下の順序で説明
する。 第1図の録音装置の概略説明 第1図の録音装置の構成説明 第1図の録音装置の動作説明 1. メイン処理(第8図) 2. INC/DECスイッチ処理(第9図) 3. UP/DOWNスイッチ処理(第10図) 4. LEFT/RIGHTスイッチ処理(第11図) 5. PLAYスイッチオン処理(第12図) 6. RECスイッチオン処理(第13図) 7. ソングスタ―ト処理(第14図) 8. トラックチェンジ処理(第15図) 9. キ―オンイベント処理(第16図) 10. キ―オフイベント処理(第17図) 11. 時間間隔デ―タ処理(第18図) 12. エンドマ―ク処理(第19図) 13. STOPスイッチオン処理(第20図) 14. オ―ルキ―オフ処理(第21図) 15. キ―オフ書込処理(第22図) 16. STOPスイッチオン処理(続き)(第20図) 17. 再生タイマ割込処理(第23図) 18. 記録タイマ割込処理(第24図) 19. 入力割込処理(第25図) 20. 入力側キ―コ―ド処理(第26図) 21. 入力割込処理(続き)(第25図) 22. 動作例説明(第27図)
【0012】(第1図の録音装置の概要説明)第1図
は、この発明の一実施例に係る電子楽器用多重録音装置
のハ―ドウエア構成を示す。この録音装置は、いわゆる
イベントタイプのもので、電子楽器のキ―ボ―ドの押鍵
および離鍵を表わすキ―イベントデ―タをそのキ―イベ
ントの発生タイミング(時間間隔)デ―タとともに記録
し、記録されたキ―イベントデ―タをそのタイミングデ
―タに基づく時間間隔で再生し出力する。記録はキ―ボ
―ドやコンピュ―タ等の演奏情報発生手段から入力され
るキ―イベントデ―タに基づいて行ない、再生したキ―
イベントデ―タはコンピュ―タや音源等に送出する。ま
た、入力デ―タと再生デ―タとを組み合せて再生デ―タ
が読み出されたもとのトラックに記録する多重録音も可
能である。
【0013】キ―イベントデ―タの入力および出力端子
は、8個ずつ設けられており、各端子には、MIDI
(Musical Instrument Disital Interface)規格
に準拠したチャンネル(以下、MIDIチャンネルとい
う)がそれぞれ16個ずつ設定されている。つまり、こ
の録音装置は、8×16=128個ずつの入力および出
力チャンネルを備え、同時に128台の入力機器(例え
ば電子楽器のキ―ボ―ド)と128台の出力機器(例え
ば電子楽器の音源)を接続することができる。
【0014】記録トラックは、64個が設定されてお
り、各トラックにはそれぞれ所望の1つの入力チャンネ
ルと出力チャンネルを割り当てることができる。また、
各トラックには、同時押鍵中の32鍵分のデ―タを記録
することができる。
【0015】したがって、この録音装置は、等価的に1
28台分の楽器を常時接続しておき、そのうち所望の6
4台分の楽器を選択してその演奏を記録再生することが
できる。また、出力端子に接続された音源が許容する限
り、再生音として、各トラックごとに32音、全体では
32×64=2048音まで同時発音可能である。
【0016】(第1図の録音装置の構成説明)第1図に
おいて、中央処理装置(CPU)10はこの録音装置全
体の動作を制御するためのもので、CPU10には双方
向バスライン12を介してプログラムメモリ14、レジ
スタ群16、シ―ケンサメモリ18、入力装置20、出
力装置22、スイッチ群24、およびテンポ発生器26
が接続されている。
【0017】プログラムメモリ14は、リ―ドオンリメ
モリ(ROM)等により構成され、CPU10用の制御
プログラムが格納されている。レジスタ群16は、CP
U10が上記制御プログラムを実行する際に発生する各
種のデ―タを一時記憶するためのもので、それぞれ例え
ばランダムアクセスメモリ(RAM)内の所定の領域に
設けられる。
【0018】この録音装置に用意されているレジスタ群
16を構成するレジスタ類をアルファベット順に示すと
下記の通りである。なお、下記おいて各レジスタ類は特
に断わらない限りその内容(デ―タ等)で示してある。 1. CSX:入出力情報テ―ブル(第6図)を構成する
レジスタTBL(0〜63,1〜5)を指定するための
カ―ソルx座標(記録トラックNo.に対応) 2. CSY:TBL(0〜63,1〜5)指定用のカ―
ソルy座標(入出力情報に対応) 3. FLG:シ―ケンスデ―タ処理の区別用フラグ 4. IN1 〜IN3 :入力装置からの入力デ―タ(キ―
コ―ド他)バッファ 5. IKCBUF(0〜63,0〜31):入力端子の
トラック別押鍵情報バッファ(入力側キ―コ―ドバッフ
ァ) 6. INCH:入力デ―タのMIDIチャンネル(0〜
15) 7. INTRM:入力デ―タの入力端子情報(0〜7) 8. i:制御変数 9. j:制御変数 10. JOB:演奏モ―ド(O:STOP,1:PLA
Y,2:RECRD) 11. KC:キ―コ―ド(7ビット) 12. LEN:イベントの時間間隔 13. LNREST:書き込むべきLENの残余時間 14. LNSAM:前キ―イベント発生後の経過時間 15. OKCBUF(0〜63,0〜31):出力端子の
トラック別押鍵情報バッファ(出力側キ―コ―ドバッフ
ァ) 16. OLDRCNT:RECCNT(書込時刻レジス
タ)の旧デ―タ 17. OUT1 〜OUT3 :出力装置への出力デ―タバッ
ファ 18. OUTCH:出力デ―タのMIDIチャンネル(0
〜15) 19. OUTTRM:出力デ―タの送出端子情報(0〜
7) 20. PIRQMSK:再生割込信号PLAYIRQのマ
スキング(1:マスク,0:割込許可) 21. RD1 〜RD3 :内部メモリから読み出されたイベ
ントデ―タのバッファ 22. RECCNT:演奏情報入力時の書込用カウンタタ
イマRECTIMER(第5図)の値 23. RPT:シ―ケンスデ―タ読取用ポインタ(以下読
取ポインタという) 24. SONGEND:シ―ケンス演奏デ―タの最終番地 25. SONGTOP:シ―ケンス演奏デ―タの先頭番地 26. TBL(0〜63,0〜31):各トラックの入出
力状態設定用レジスタ 27. TCH:入力キ―デ―タのタッチ情報 28. TRKIN:入力デ―タとしてのトラックNo. 29. TRKRD:内部メモリデ―タとしてのトラックN
o. 30. TRKWT:最新書込トラックNo. 31. WPT:シ―ケンスデ―タ書込用ポインタ(以下書
込ポインタという)
【0019】シ―ケンサメモリ18は、例えばランダム
アクセスメモリ(RAM)からなり、キ―イベント等の
演奏情報を記録するためのものである。このシ―ケンサ
メモリ18に記録されるデ―タは、第7図に示すよう
な、各3バイト長の「キ―オン」、「キ―オフ」および
「時間間隔」デ―タ、2バイト長の「トラックチェン
ジ」デ―タ、ならびに1バイト長の「エンドマ―ク」で
ある。なお、各デ―タの第1バイト目はそのデ―タの種
類を示す識別マ―クである。
【0020】「キ―オン」および「キ―オフ」デ―タの
識別マ―ク9X,8XにおけるXはそのデ―タのMID
Iチャンネルを示す。「キ―オン」および「キ―オフ」
デ―タの第2バイト目は「キ―コ―ド」、第3バイト目
は「タッチ」情報を表わす。「エンドマ―ク」はパラメ
―タ項の付加されない、識別マ―クF2H(16進表示、
以下「H」を付して16進表示の数字であることを示す)
のみの1バイトデ―タである。「時間間隔」デ―タは、
識別マ―クがF4Hであり、第2バイト目が時間間隔の
上位7ビット、第3バイト目が時間間隔の下位7ビット
を表わす。「トラックチェンジ」デ―タは、識別マ―ク
がFFHであり、第2バイト目にトラックデ―タを有す
る2バイトデ―タである。
【0021】第2図は、この録音装置の操作パネルの概
観を示す。同図の操作パネルには、レジスタ群16の入
出力情報設定レジスタTBL(0〜63,1〜5)を指
定するためのカ―ソル移動スイッチ30,32,34,
36、カ―ソルCSXおよびCSYで指定されたレジス
タTBL(csx ,csy )内のデ―タを変更するためのイ
ンクリメント(INC)スイッチ38およびデクリメン
ト(DEC)スイッチ40、この録音装置の演奏モ―ド
を指定するための再生(PLAY)、記録(RECOR
D)および停止(STOP)スイッチ42,44,4
6、ならびにテンポ設定スイッチ等のその他操作子48
が配置されている。これらのスイッチ30〜48は第1
図のスイッチ群24を構成している。
【0022】第1図の入力装置20は、第3図に示すよ
うに、8個の入力端子Ti1〜Ti8を介して入力される演
奏情報を一時記憶し、CPU10からの指令により入力
順に出力するFIFO型レジスタからなる入力バッファ
INBUF0 〜INBUF7、いずれかの入力端子Ti1
〜Ti8に演奏情報が入力された場合に、それを検出して
入力割込信号INPUTIRQを発生するオアゲ―ト6
2、入力演奏情報が格納されている入力バッファINB
UF0 〜INBUF7 の番号を検出するエンコ―ダ6
4、およびその番号を入力演奏情報が読み出されるまで
記憶する入力割込ナンバレジスタINIRQNOを具備
する。
【0023】出力装置22は第4図に示すように、デ―
タバス12と8個の出力端子T01〜T08との間に接続さ
れた出力バッファOUTBUF0 〜OUTBUF7 を備
えている。
【0024】テンポ発生器26は、第5図に示すよう
に、設定テンポ値に応じた周波数のクロックφを発生す
るクロック設定器70、このクロックφを計数する8ビ
ットのインクリメントカウンタ72、カウンタ72が0
(00H)を計数するごとに記録割込信号RECIRQ
を出力するノアゲ―ト74、カウンタ72の計数値出力
をラッチする書込用カウンタタイマ(以下、書込タイマ
という)RECTIMER、シ―ケンサメモリ18から
時間間隔デ―タが読み出されたときその時間間隔値を上
位7ビットと下位7ビットとに分けてそれぞれ格納する
ためのレジスタPLYTMHとPLYTML、レジスタ
PLYTMHとPLYTMLにより上記時間間隔値をプ
リセットされた後クロックφをダウンカウトするディク
リメントカウンタ76、カウンタ76の計数値出力が0
になったとき再生割込信号PLAYIRQを出力するノ
アゲ―ト78、停止モ―ド時等の再生割込信号PLAY
IRQをマスクする際“1”をセットするためのレジス
タ80、レジスタ80に“1”がセットされたとき再生
割込信号PLAYIRQの出力を禁止するためのインバ
―タ82およびアンドゲ―ト84を具備する。
【0025】第6図(a)は、レジスタ群16の入出力
状態設定レジスタTBL(x,y)をテ―ブルとして表
わした図である。同図において、トラックNo.はシ―
ケンサメモリ18に設定された記録トラックの番号であ
り、処理上はカ―ソルCSXの値で表わされる。INP
UTはそのトラックに記録しようとするデ―タの入力チ
ャンネルであり、入力端子番号(CSY=1の欄)およ
びそのMIDIチャンネル(CSY=2の欄)で特定さ
れる。OUTPUTはそのトラックから読み出したデ―
タの出力チャンネルであり、出力端子番号(CSY=3
の欄)およびそのMIDIチャンネル(CSY=4の
欄)で特定される。トラックモ―ド(CSY=5の欄)
はそのトラックに対する処理内容を指定する。各トラッ
クモ―ドにおける処理内容を第6図(b)および(c)
に示す。
【0026】第6図(b),(c)において、トラック
モ―ドO(stop)はそのトラックに対し読取も書込
もせず、そのトラックに対する入力デ―タの出力もしな
いことを示す。1(play)はそのトラックに対する
入力デ―タの書込および出力はしないが、演奏モ―ドが
再生または記録(JOB=1または2)であればそのト
ラックに対する内部デ―タ(シ―ケンス演奏デ―タ)を
再生し出力端子に送出することを示す。2(rec)は
演奏モ―ドに関わらずそのトラックに対する入力デ―タ
を出力端子に送出するとともに演奏モ―ドが記録(JO
B=2)であれば入力デ―タの書込を行ない、かつその
トラックに対する内部デ―タについては演奏モ―ドが再
生または記録(JOB=1または2)であれば出力端子
に送出することを示している。
【0027】(第1図の録音装置の動作説明)次に、第
8〜27図のフロ―チャ―トを参照しながら第1図の録
音装置の動作を説明する。
【0028】1. メイン処理 第8図を参照して、この装置に電源が投入されると、C
PU10はプログラムメモリ14に格納された制御プロ
グラムに従って動作を開始する(ステップ100)。ま
ず、ステップ101および102においてはレジスタ群
16を初期化する。すなわち、ステップ101で出力側
キ―コ―ドバッファOKCBUF(0〜63,0〜3
1)、入力側キ―コ―ドバッファIKCBUF(0〜6
3,0〜31)、入出力状態設定レジスタTBL(0〜
63,0〜31)、再生割込マスキングレジスタPIR
QMSKのセット、および演奏モ―ドレジスタJOBを
クリアする。なお、これらのレジスタにはROMまたは
外部メモリから読み出される所定のプリセット値を設定
するようにしてもよい。ステップ102ではシ―ケンス
演奏デ―タの先頭番地SONGTOPおよび最終番地S
ONGENDを外部メモリ等から設定する。
【0029】初期化終了後は、INC/DECスイッチ
処理(ステップ110)、UP/DOWNスイッチ処理
(ステップ130)、LEFT/RIGHTスイッチ処
理(ステップ140)、PLAYスイッチオン処理(ス
テップ150)、RECスイッチオン処理(ステップ1
60)およびSTOPスイッチオン処理(ステップ17
0)の各サブル―チンを呼び出して実行し、次いでその
他処理(ステップ190)を行なうとともに、これらの
ステップ110〜190からなる一連の処理を繰返し実
行する。
【0030】2. INC/DECスイッチ処理 第2図のINCスイッチ38およびDECスイッチ40
は入出力状態TBL(csx ,csy )を変更するためのも
のである。
【0031】第9図を参照して、ステップ111ではI
NCスイッチ38およびDECスイッチ40がオンした
か否かを検査する。これらのスイッチ38,40のいず
れもオンしていなければメイン処理(第8図)に戻る。
一方、スイッチ38,40のいずれかがオンしていれ
ば、次にステップ112で演奏モ―ドJOBとカ―ソル
y座標CSYを検査する。演奏モ―ドが停止以外(JO
BH0)であり、かつカ―ソル指定がトラックモ―ド以
外(CSYH5)であればメイン処理(第8図)に戻
る。これにより、再生または記録時における入出力チャ
ンネルの変更を禁止している。
【0032】もし、演奏モ―ドが停止(JOB=0)で
あるか、またはカ―ソル指定がトラックモ―ド(CSY
=5)であればステップ113に進む。ステップ113
ではカ―ソルy座標CSYと入出力情報レジスタTBL
(csx ,csy )の内容を検査する。カ―ソル指定がトラ
ックモ―ド(CSY=5)であり、かつカ―ソルx座標
CSXで指定されたトラックのモ―ドが記録モ―ド(T
BL(csx, 5)=2)であれば、ステップ115に進み
それ以外の場合にはステップ114に進む。ステップ1
14ではオンしたスイッチが38であるか40であるか
に従って入出力情報レジスタTBL(csx ,csy )の内
容をインクリメントまたはデクリメントした後、メイン
処理(第8図)に戻る。
【0033】なお、ステップ114ではTBL(csx ,
csy )の値を、 CSY=1または3のとき 0〜7 CSY=2または4のとき 0〜15 CSY=5のとき 0〜2 の範囲で増減する。例えばTBL(csx ,5 )=2をイ
ンクリメントしたときは0にする。
【0034】ステップ113における検査の結果、CS
Y=5かつTBL(csx , 5)=2であるとき、つまり
スイッチ38または40のオンがトラックナンバCSX
のトラックについてのトラックモ―ドを記録モ―ドから
それ以外のモ―ドに変更するものであるときは、ステッ
プ115〜126においてスイッチ38または40のオ
ン時押鍵中の鍵があればその鍵についてのキ―オフ処理
を行なう。
【0035】すなわち、ステップ115で制御変数iを
0にセットし、ステップ116でトラックCSXの入力
側キ―コ―ドバッファIKCBUF(csx ,i)にキ―
コ―ドが格納されているか否か検査する。格納されてい
なけばステップ117〜124の処理は実行することな
く直接ステップ125へ進む。
【0036】一方、キ―コ―ドが格納されていればその
キ―コ―ドのキ―オフデ―タを入力デ―タバッファ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に進む。
【0037】ステップ125では、制御変数iをインク
リメントし、次のステップ126で制御変数iの値が3
1を越えたか否かを判定する。31以下であれば、ステ
ップ116へ戻り、次のキ―コ―ドバッファIKCBU
F(csx ,i)についてのキ―オフ処理を行なう。一
方、31を越えていれば、該当するトラックにおける入
力側キ―コ―ドバッファ全部の検査およびキ―オフ処理
を終了したのであるから、ステップ114に進み、上述
のように入出力情報レジスタTBL(csx ,csy)の内
容をオンしたスイッチが38であるか40であるかに従
ってインクリメントまたはデクリメントした後、メイン
処理(第8図)に戻る。
【0038】3. UP/DOWNスイッチ処理 第2図のUPスイッチ34およびDOWNスイッチ36
は第6図(a)の入出力状態テ―ブル上でカ―ソルx軸
CSXを上下に移動させるためのものである。
【0039】第10図を参照して、ステップ131では
UPスイッチ34およびDOWNスイッチ36を検査す
る。そして、これらのスイッチ34,36のいずれかが
オンしていればオンのスイッチが34であるか36であ
るかに従ってカ―ソルx軸CSXを0〜63の範囲でイ
ンクリメントまたはデクリメントした(ステップ13
2)後、一方、スイッチ34,36のいずれもオンして
いなければステップ131から直接メイン処理(第8
図)に戻る。
【0040】4. LEFT/RIGHTスイッチ処理 第2図のLEFTスイッチ30およびRIGHTスイッ
チ32は第6図(a)の入出力状態テ―ブル上でカ―ソ
ルy軸CSYを左右に移動させるためのものである。
【0041】第11図を参照して、ステップ141では
LEFTスイッチ30およびRIGHTスイッチ32を
検査する。そして、これらのスイッチ30,32のいず
れかがオンしていればオンしたスイッチが30であるか
32であるかに従ってカ―ソルy軸CSYを1〜5の範
囲でインクリメントまたはデクリメントした(ステップ
142)後、一方、スイッチ30,32のいずれもオン
していなければステップ141から直接メイン処理(第
8図)に戻る。
【0042】5. PLAYスイッチオン処理 第13図を参照して、ステップ151では再生モ―ドス
イッチ42がオンしたか否かを判定する。もし、オンし
ていなければそのままメイン処理(第8図)に戻る。一
方、オンしていればステップ152で演奏モ―ドレジス
タJOBを1にセットし、ステップ200のソングスタ
―ト処理(第14図)を実行した後、メイン処理(第8
図)に戻る。
【0043】6. RECスイッチオン処理 第12図を参照して、ステップ161では記録モ―ドス
イッチ44がオンしたか否かを判定する。もし、オンし
ていなければそのままメイン処理(第8図)に戻る。一
方、オンしていればステップ162で演奏モ―ドレジス
タJOBに2をセットし、ステップ200のソングスタ
―ト処理(第14図)を実行した後、メイン処理(第8
図)に戻る。
【0044】7. ソングスタ―ト処理 第2図の再生スイッチ42または記録スイッチ44がオ
ンされると、それぞれ演奏モ―ドレジスタJOBに1ま
たは2を設定した後、ステップ200のソングスタ―ト
処理を実行する。このソングスタ―ト処理においては、
再生および記録に用いられるレジスタ類をプリセットし
た後、シ―ケンサメモリ18からシ―ケンス演奏デ―タ
の第1バイト目である識別マ―クを読み取り、この識別
マ―クに応じてキ―オン、キ―オフ、トラックチェン
ジ、時間間隔およびエンドマ―ク等の各デ―タの読取お
よびこれらのデ―タに応じた処理を行なう。なお、この
デ―タ読取は時間間隔デ―タまたはエンドマ―クが読み
取られるまで繰り返される。
【0045】第14図を参照して、まず、ステップ20
1で読取ポインタRPTをシ―ケンス演奏デ―タの先頭
番地SONGTOPに、書込ポインタWPTをシ―ケン
ス演奏デ―タの最終番地SONGENDの次の番地にプ
リセットし、このときの書込ポインタWPTの値を新た
なシ―ケンス演奏デ―タの先頭番地SONGTOPとし
て記憶する。さらに、再生割込マスクPIRQMSKを
クリアして再生割込PLAYIRQを可能化し(ステッ
プ202)、書込タイマRECTIMER(第5図)の
出力値を書込時刻レジスタRECCNTに格納し(ステ
ップ203)、経過時間レジスタLNSAMをクリアす
る(ステップ204)。
【0046】次に、シ―ケンサメモリ18から読取ポイ
ンタRPTでアドレス指定される1バイトのデ―タを読
み取ってフラグFLGに格納する(ステップ205)。
シ―ケンサメモリ18に格納されているシ―ケンス演奏
デ―タの第1バイト目はデ―タ種類を表わす識別マ―ク
である(第7図参照)。ステップ206ではフラグFL
Gの内容を判別し、判別結果に応じてトラックチェンジ
(ステップ210)、キ―オンイベント(ステップ22
0)、キ―オフイベント(ステップ240)、時間間隔
(ステップ260)、およびエンドマ―ク(ステップ2
70)の各デ―タ読取処理に分岐する。なお、トラック
チェンジ(ステップ210)、キ―オンイベント(ステ
ップ220)、キ―オフイベント(ステップ240)お
よびその他(ステップ280)の各処理を実行した後は
ステップ205に戻ってさらに次のデ―タ読取処理を実
行するが、時間間隔処理(ステップ260)またはエン
ドマ―ク処理(ステップ270)を実行した後はもとの
メイン処理(第8図)に戻る。
【0047】8. トラックチェンジ処理 シ―ケンス演奏デ―タの先頭のデ―タは、通常、トラッ
クチェンジデ―タ(FFH )である。第14または23
図のステップ206においてフラグFLGに格納されて
いる識別マ―クがFFHであればステップ210のトラ
ックチェンジ処理(第15図)を実行する。
【0048】第15図を参照して、まず読取ポインタR
PTのアドレス指定に基づきシ―ケンサメモリ18から
2バイトのトラックチェンジデ―タを読み取って1バイ
トずつを読取デ―タバッファRD1 ,RD2 に格納し、
読取ポインタRPTを次の読取アドレスへ2カウント進
める(ステップ211,212)。次いで、バッファR
D2 内のトラックナンバをトラックナンバレジスタTR
KRDに格納した後、現在の読取トラックTRKRDと
書込トラックTRKWTとを比較する(ステップ21
3,214)。同じであればそのままもとの処理(第1
4または23図)に戻る。異なっているときは、書込ポ
インタWPTのアドレス指定に基づきシ―ケンサメモリ
18へ2バイトのトラックチェンジデ―タRD1 ,RD
2 を書き込み、書込ポインタWPTを次の書込アドレス
へ2カウント進め、書込トラックナンバTRKWTをナ
ンバTRKRDに変更した(ステップ215〜217)
後、もとの処理(第14または23図)に戻る。
【0049】9. キ―オンイベント処理 第14または23図のステップ206においてフラグF
LGに識別マ―ク9XHが格納されていれば、ステップ
220のキ―オンイベント処理(第16図)を実行す
る。第16図を参照して、まず、読取ポインタRPTに
基づきシ―ケンサメモリ18から3バイトのキ―オンデ
―タを読み取って1バイトずつを読取デ―タバッファR
D1 〜RD3 に格納し、ポインタRPTを次の読取アド
レスまで3カウント進める(ステップ221,22
2)。次いで、読み取ったキ―オンデ―タRD1〜RD3
を書込ポインタWPTに基づきシ―ケンサメモリ18
へ書き込み、ポインタWPTを次の書込アドレスへ3カ
ウント進めた後、現在の読出トラックのトラックモ―ド
TBL(TRKRD, 5)が停止モ―ドか否か判定する(ステ
ップ223〜225)。停止モ―ドならこれ以上の処理
は不要であるからそのままもとの処理(第14または2
3図)に戻る。
【0050】再生または記録であれば、続いて入出力状
態レジスタより読取デ―タ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)。
【0051】さらに出力側キ―コ―ドバッファOKCB
UF(TRKRD, 0〜31)のうち空いているもののいずれか
にキ―コ―ドRD2 (=OUT2 )を書き込んだ(ステ
ップ229)後、もとの処理(第14または23図)に
戻る。
【0052】10. キ―オフイベント処理 第14または23図のステップ206においてフラグF
LGに識別マ―ク8XHが格納されていれば、ステップ
240のキ―オフイベント処理(第17図)を実行す
る。第17図を参照して、ステップ241〜248にお
いては、処理されるデ―タがキ―オフイベントであるこ
とを除き第16図のステップ221〜228と全く同様
の手順が実行される。なお、ステップ249においては
出力側キ―コ―ドバッファOKCBUF(TRKRD, 0〜3
1)のうちキ―コ―ドRD2 (=OUT2 )が書き込ま
れているものをクリアして、もとの処理(第14または
23図)に戻る。
【0053】11. 時間間隔デ―タ処理 第14または23図のステップ206においてフラグF
LGに格納されている識別マ―クがF4Hであればステ
ップ260の時間間隔デ―タ処理(第18図)を実行す
る。第18図を参照して、読取ポインタRPTに基づい
て3バイトの時間間隔デ―タを読み取って1バイトずつ
を読取デ―タバッファRD1 〜RD3 に格納し、ポイン
タRPTを次の読取アドレスまで3カウント進め、読み
取った時間間隔RD2 ,RD3 を再生タイマレジスタP
LYTMH,PLYTML(第5図)にセットし、上下
各7ビットの2バイトデ―タである時間間隔RD2 ,R
D3 を14ビットのデ―タに変換して残余時間レジスタ
LNRESTに格納した(ステップ261〜264)
後、もとの処理(第14または23図)に戻る。
【0054】12. エンドマ―ク処理 第14または23図のステップ205において読み取ら
れた識別マ―クがF2Hであるとき、処理はステップ2
06を経てステップ270のエンドマ―ク処理(第18
図)に移行する。このエンドマ―クは1バイトのデ―タ
である。第18図を参照して、ステップ271では読取
ポインタRPTを次の読取アドレスへ1カウント送り、
ステップ272で演奏モ―ドが再生(JOB=1)であ
るか否か判定する。再生であれば演奏モ―ドを停止(J
OB=0)に設定し、書込ポインタWPTに基づきエン
ドマ―クF2Hを書き込み、ポインタWPTを次の書込
アドレスへ1カウント進めた(ステップ273〜27
5)後、もとの処理(第14または23図)へ戻る。
【0055】ステップ272において演奏モ―ドが再生
でなければ記録である。この場合はステップ276で再
生割込マスクレジスタPIRQMSKに1をセットして
再生割込すなわちシ―ケンス演奏デ―タの読取を禁止し
た後、もとの処理(第14または23図)へ戻る。演奏
モ―ドが記録のときは再生のみを禁止し、記録は停止ス
イッチ46(第2図)がオンされるまで継続させるため
である。
【0056】13. STOPスイッチオン処理 第20図を参照して、ステップ171では停止スイッチ
46(第2図)がオンしたか否かを判定する。もし、オ
ンしていなければそのままメイン処理(第8図)に戻
る。一方、オンしていればステップ300のオ―ルキ―
オフ処理(第21図)を実行する。
【0057】14. オ―ルキ―オフ処理 このオ―ルキ―オフ処理は、再生または記録モ―ドにお
いて停止スイッチがオンされたとき再生音発音中であっ
たキ―コ―ドについてキ―オフ処理を行なう。具体的に
は64トラックのそれぞれに32個ずつ設けられている
全部で64×32=2048個の出力側キ―コ―ドバッ
ファを走査してキ―コ―ドが格納されているものを検索
し、そのキ―コ―ドについてキ―オフ処理を行なう。ま
た、トラックモ―ドが0のトラックについては入力音も
再生音も発音しないため、発音中のキ―コ―ドもあり得
ない。そこでステップ302においてトラックモ―ドが
0のトラックを検出し、そのトラックについての走査を
スキップすることにより処理時間の短縮を図っている。
【0058】第21図を参照して、ステップ301でト
ラック指定用の制御変数iに0をセットし、ステップ3
02でNo.iのトラックのトラックモ―ドTBL
(i,5)を検査する。停止以外すなわち再生または記
録であればステップ303でバッファ指定用の制御変数
jに0をセットし、ステップ304で出力側キ―コ―ド
バッファOKCBUF(i,j)にキ―コ―ドが格納さ
れているか否かを判定する。キ―コ―ドが格納されてい
れば、ステップ305でトラックiの出力端子TBL
(i,3 )および出力MIDIチャンネルTBL(i,
4 )を読み取ってそれぞれレジスタOUTTRMおよび
OUTCHに格納し、ステップ306で出力MIDIチ
ャンネルがOUTCHでキ―コ―ドがOKCBUF
(i,j)であるキ―オフデ―タを作成して出力デ―タ
バッファOUT1 〜OUT3 に格納する。さらに、ステ
ップ307でバッファOKCBUF(i,j)をクリア
し、ステップ308で上記キ―オフデ―タOUT1 〜O
UT3 を出力端子OUTTRMへ送出した後、ステップ
309で制御変数jをインクリメントし、ステップ31
0で当該トラックの出力側キ―コ―ドバッファの全部に
ついて検査が終了したか否かを判定する。終了していな
ければステップ304に戻って当該トラックの次のキ―
コ―ドバッファの検査を行なう。一方、終了していれば
ステップ311で制御変数iをインクリメントし、ステ
ップ312で64個のトラック全部の検索が終了したか
否かを判定する。終了していなければステップ302に
戻って次のトラックのキ―コ―ド検索を繰り返す。一方
終了していればステップ320のキ―オフ書込処理(第
22図)を実行し、その後STOPスイッチオン処理
(第20図)に戻る。
【0059】15. キ―オフ書込処理 このキ―オフ書込処理は、記録モ―ドにおいて停止スイ
ッチ46(第2図)がオンされたとき、シ―ケンサメモ
リ18にキ―オンデ―タのみが書き込まれ未だキ―オフ
デ―タが書き込まれていないもの、すなわち入力側で押
鍵中の鍵がある場合、その押鍵中の鍵のキ―オフデ―タ
を作成してメモリ18に書き込むものである。具体的に
は64個の各トラック32個ずつ計2048個の入力側
キ―コ―ドバッファを走査し、キ―コ―ドが格納された
ままのものを検索し、そのキ―コ―ドについてキ―オフ
デ―タを作成してメモリ18に書き込む。
【0060】第22図を参照して、ステップ321では
演奏モ―ドJOBを検査する。このキ―オフ書込処理は
記録モ―ド(JOB=2)でのみ必要なものであるから
記録モ―ドでないときはステップ321からそのままも
とのオ―ルキ―オフ処理(第21図)に戻る。記録モ―
ドならばステップ322で制御変数iに0をセットし、
ステップ323でトラックiのトラックモ―ドTBL
(i,5 )が記録モ―ドであるか否かを判定する。トラ
ックモ―ドが記録モ―ドでなければ押鍵書込中の鍵はあ
り得ないからステップ324〜331の処理はスキップ
してステップ332に進む。トラックモ―ドが記録モ―
ドであればステップ324で制御変数jに0をセット
し、ステップ325で入力側キ―コ―ドバッファIKC
BUF(i,j)にキ―コ―ドが格納されているか否か
を判定する。キ―コ―ドが格納されていなければステッ
プ326〜329の処理をスキップしてステップ330
に進む。キ―コ―ドが格納されていればステップ326
でそのキ―コ―ドのキ―オフデ―タを作成して読取デ―
タバッファRD1 〜RD3 に格納し、ステップ327で
バッファIKCBUF(i,j)をクリアし、ステップ
328で書込ポインタWPTに基づいてシ―ケンサメモ
リ18にキ―オフデ―タRD1 〜RD3 を書き込み、ス
テップ329で書込ポインタWPTを次の書込アドレス
まで3カウント進めた後、ステップ330で制御変数j
をインクリメントしてステップ331でトラックiの全
部のバッファの検査が終了したか否かを判定する。未処
理のバッファが残っていればステップ325に戻って次
のバッファIKCBUF(i,j)についてキ―コ―ド
の有無を検査する。一方、そのトラックについて32個
全部のバッアファについて検査を終了していればステッ
プ332で制御変数iをインクリメントし、ステップ3
33で全64個のトラックについて押鍵中キ―コ―ドの
検索およびキ―オフデ―タの書込を終了したか否かを判
定する。終了していなければステップ323に戻って上
述の処理を繰返し、終了していればもとのオ―ルキ―オ
フ処理(第21図)に戻り、さらにSTOPオン処理
(第20図)に戻る。
【0061】16. STOPオン処理(続き) 第20図を参照して、ステップ173では演奏モ―ドレ
ジスタJOBを0にセットし、ステップ174で再生割
込マスクレジスタPIRQMSKが1であるか否かを検
査する。1であれば停止スイッチをオンする前にシ―ケ
ンス演奏デ―タの再生および新演奏デ―タ領域への転記
は終了している(第19図ステップ276参照)。0で
あれば未転記のデ―タが残っているからステップ175
〜181において残存するデ―タを新演奏デ―タの最後
に付加する。
【0062】すなわち、ステップ175で書込トラック
TRKWTと読取トラックTRKRDとを比較し、異な
っていれば書込ポインタWPTに基づいてシ―ケンサメ
モリ18に読取トラックへのトラックチェンジデ―タ
(2バイト)を書き込み(ステップ176〜177)、
ポインタWPTを次の書込アドレスへ2カウント進めた
(ステップ178)後、ステップ179へ進む。一方、
書込トラックTRKWTと読取トラックTRKRDとが
一致していればステップ175から直接ステップ179
へ進む。
【0063】以後、ステップ179においてシ―ケンサ
メモリ18内の読取ポインタRPTで指定されるアドレ
スからF2H(エンドマ―ク)が読み取られるまで、読
取ポインタRPTでアドレスされる旧演奏デ―タ領域の
デ―タを書込ポインタWPTでアドレスされる新演奏デ
―タ領域へ転記する(ステップ180〜181)。エン
ドマ―クが検出されるとステップ182へ進み、書込ポ
インタWPTに基づいてシ―ケンサメモリ18にエンド
マ―クF2Hを書き込み、ステップ183でシ―ケンス
演奏デ―タの最終番地WPTをレジスタSONGEND
に書き込んだ後、メイン処理(第8図)に戻る。
【0064】17. 再生タイマ割込処理 第1図の録音装置においては、再生または記録モ―ド
時、シ―ケンサメモリ18から読み取った時間間隔デ―
タをテンポ発生器26のディクリメントカウンタ76
(第5図)にプリセットする(ステップ263)。テン
ポ発生器26はカウンタ76がクロックφをダウンカウ
ントしてその計数値出力がOHになると再生割込信号P
LAYIRQを発生する。CPU10はこの再生割込信
号PLAYIRQに基づきステップ400の再生割込処
理(第23図)を実行する。これにより、この録音装置
においては、シ―ケンサメモリ18に記録されている時
間間隔(イベントタイミング)ごとにイベントデ―タが
読み取られる。
【0065】すなわち、第23図を参照して、ステップ
401では演奏モ―ドJOBを判別する。演奏デ―タの
読取は停止時は行なわないから、演奏モ―ドが停止(J
OB=0)であればそのまま割込を解除してもとの処理
に復帰する。一方、演奏モ―ドが停止以外(JOB≠
0)ならばステップ402で書込時刻レジスタRECC
NTに(LNREST−LNSAM)を加算する。ここ
で、LNRESTは記録(JOB=2)時、前回の再生
割込と今回の再生割込との間にキ―イベントデ―タが入
力された場合、前回の再生割込により読み取られた時間
間隔LENのキ―イベントデ―タ入力後の残余時間であ
り、LNSAMはこのキ―イベントデ―タ入力後の経過
時間である。
【0066】続いて、レジスタLNSAMをクリアし
(ステップ403)、残余時間LNRESTを時間間隔
レジスタLENにセットした(ステップ404)後、書
込ポインタWPTに基づきシ―ケンサメモリ18に識別
マ―クF4H、レジスタLENの上位7ビットおよびレ
ジスタLENの下位7ビットからなる3バイトの時間間
隔デ―タを書き込み(ステップ405)、さらに、ポイ
ンタWPTを次の書込アドレスへ3カウント進める(ス
テップ406)。
【0067】ステップ407では書込トラックナンバT
RKWTと読取トラックナバTRKRDとを比較し、異
なっていれば書込トラックを読取トラックと同じに切り
換えるため、レジスタTRKWTにトラックナンバTR
KRDを格納し、識別マ―クFFHと新トラックナンバ
TRKWTとからなる2バイトのトラックチェンジデ―
タを書き込み、ポインタWPTを次の書込アドレス2カ
ウント進める(ステップ408〜410)。ステップ4
07において書込トラックと読出トラックとが同じであ
ればステップ408〜410の処理はスキップする。
【0068】続いて、現タイミングにおけるイベントデ
―タおよび次回イベントまでの時間間隔デ―タまたはエ
ンドマ―クを読み取るが、この読取処理は上述のソング
スタ―ト処理(第14図)におけると全く同じであるの
で、同一のステップ番号を付して説明は省略する。
【0069】18. 記録タイマ割込処理 第1図の録音装置においては、テンポ発生器26のイン
クリメントカウンタ72(第5図)がクロックφを25
6個カウントする度に発生する記録割込信号RECIR
Qに基づいて以下の割込処理(ステップ500)を実行
する。第24図を参照して、ステップ501では演奏モ
―ドJOBをチェックする。記録タイマ割込は記録モ―
ドにおいてのみ必要な処理であるから、演奏モ―ドが記
録(JOB=2)でなければ直ちに割込を解除する。一
方、記録であれば、ステップ502でレジスタLNSA
Mに直前のキ―イベントデ―タ入力後の経過時間を格納
する。つまり、このレジスタLNSAMには、カウンタ
72(第5図)がオ―バ―フロ―する都度、上記キ―イ
ベントデ―タ入力後の経過時間が格納される。ステップ
502における(100H−RECCNT)のRECC
NTはキ―イベントデ―タ入力後カウンタ72が最初に
オ―バ―フロ―するまでの時間を算出するための項であ
り、算出後はクリアされる(ステップ503)。
【0070】ステップ504では経過時間LNSAMが
3FFFHを越えたか否かを判定する。この録音装置
は、時間間隔計測用のカウンタ(第5図の76)が14
ビットであるため、時間間隔が14ビットの最大値であ
る3FFFHを越える場合はそれを3FFFH以下の複
数の時間間隔デ―タに分けて記録するためである。した
がって、経過時間LNSAMが3FFFH以下ではその
まま割込を解除する。一方、3FFFHを越えるとレジ
スタLNSAMおよびLNRESTよりそれぞれ3FF
FHを減算し(ステップ505,506)、ポインタW
PTに基づき時間間隔3FFFHを示す3バイトのデ―
タF4H,7FH,7FHを書き込み(ステップ50
7)、ポインタWPTを次の書込アドレスへ3カウント
進めた後、もとの処理に復帰する。
【0071】19. 入力割込処理 第1図の録音装置の入力装置20(第3図)のいずれか
の入力端子Ti1〜Ti8にキ―イベントデ―タが入力され
ると、このデ―タが入力デ―タレジスタINBUF0 〜
INBUF7 に格納されるとともにオアゲ―ト62から
割込信号INPUTIRQが発生する。CPU10はこ
の割込信号INPUTIRQに基づきステップ600の
入力割込処理を実行する。
【0072】第25図を参照して、先ず、入力割込ナン
バレジスタINIRQNOより入力のあった端子番号n
を読み取って入力端子レジスタINTRMに格納し(ス
テップ601)、レジスタINBUFn より3バイトの
キ―イベントデ―タを読み取って入力バッファIN1 〜
IN3 に1バイトずつ格納する(ステップ602)。さ
らに、識別マ―クIN1 に含まれたMIDIチャンネル
をレジスタINCHに、キ―コ―ドIN2 およびタッチ
情報IN3 をそれぞれレジスタKCおよびTCHに格納
した(ステップ603,604)後、入出力状態テ―ブ
ル(第6図)を走査してNo.0〜63の記録トラック
のうち入力端子TBL(i,1 )およびMIDIチャン
ネルTBL(i,2 )がそれぞれINTRMおよびIN
CHに合致し、かつトラックモ―ドTBL(i,5 )が
記録モ―ド(=2)であるものを検索する(ステップ6
05〜608)。ここでは、No.0のトラックから順
に検索し、上記条件に合致するトラックが見付かると、
処理はステップ606からステップ611へ移行する。
【0073】ステップ611では、検出したトラック番
号iをレジスタTRKINに格納する。続いて、そのト
ラックの出力端子TBL(TRKIN,3 )および出力MID
IチャンネルTBL(TRKIN,4 )を読み取ってそれぞれ
OUTTRMおよびOUTCHに格納し(ステップ61
2)、入力デ―タIN1 〜IN3 のMIDIチャンネル
デ―タをOUTCHで入れ換えた出力デ―タOUT1 〜
OUT3 を作成し(ステップ613)、この出力デ―タ
を出力端子OUTTRMへ送出した後、ステップ620
の入力側キ―コ―ドバッファ処理(第26図)を実行す
る。
【0074】20. 入力側キ―コ―ド処理 第26図を参照して、ステップ621では入力デ―タが
キ―オン、キ―オフのいずれかのイベントデ―タである
かを判別する。キ―オンイベントであればステップ62
2でトラックTRKINの32個のバッファのうち空い
ているものにキ―コ―ドKC(=IN2 )を書き込んだ
後、もとの処理(第25図ステップ625)へ戻る。キ
―オフイベントであればステップ623でトラックTR
KINの32個のバッファのうちキ―コ―ドKCと同じ
デ―タが格納されているものをクリアした後、もとの処
理(第25図ステップ625)へ戻る。21. 入力割込処理(続き) 第25図を参照して、ステップ625では演奏モ―ドJ
OBを確認する。入力デ―タの書込は記録(JOB=
2)時のみ行なうものであるから記録モ―ドでなけれ
ば、直ちに割込を解除してもとの処理に戻る。一方、記
録モ―ドであればステップ631に進んで前キ―イベン
トデ―タの書込時刻RECCNTをレジスタOLDRC
NTに書き込んだ後、ステップ632で書込用カウンタ
タイマRECTIMER(第5図)が示す現在時刻をレ
ジスタRECCNTに書き込む。次に、LNSAM+
(RECCNT−OLDRCNT)を算出して時間間隔
レジスタLENに格納し(ステップ633)、LNRE
ST−LENを算出して残余時間レジスタLNREST
に格納し(ステップ634)、レジスタLNSAMをク
リアする(ステップ635)。さらに、書込ポインタW
PTに基づいてシ―ケンサメモリ18に3バイトの時間
間隔デ―タを書き込み(ステップ636)、ポインタW
PTを次のデ―タ書込アドレスへ3カウント進めた(ス
テップ637)後、入力デ―タの書込トラックナンバT
RKINと現在の書込トラックナンバTRKWTとを比
較する。
【0075】入力デ―タの書込トラックTRKINが現
在の書込トラックTRKWTと異なっていれば書込トラ
ックTRKWTをTRKINに変更し、書込ポインタW
PTに基づいてメモリ18に2バイトのトラックチェン
ジデ―タ(FFHおよびTRKWT)を書き込み、ポイ
ンタWPTを次の書き込みアドレスへ2カウント進める
(ステップ639〜641)。一方、入力デ―タの書込
トラックTRKINと現在の書込トラックTRKWTと
が同じであればステップ639〜641の処理はスキッ
プする。続いて、書込ポインタWPTに基づいてメモリ
18に3バイトの入力デ―タIN1 〜IN3 を書き込
み、書込ポインタWPTを次の書き込みアドレスへ3カ
ウント進めた後(ステップ642,643)、割込を解
除してもとの処理に復帰する。
【0076】22. 一動作例の説明 第27図は、第1図の録音装置の一動作例を示す。ここ
ではキ―イベントデ―タK1 ,K2 ,K3 およびK4
らなる同図(a)の再生デ―タ(旧シ―ケンスデ―タ)
にキ―イベントデ―タKA およびKB からなる入力デ―
タを多重録音してなる同図(b)の新シ―ケンスデ―タ
を記録する場合の動作を各レジスタのデ―タの変化によ
り説明する。
【0077】*記録開始およびキ―イベントデ―タK1
の処理 記録スイッチ44がオンすると、処理は記録スイッチオ
ン処理(第13図)を経てソングスタ―ト処理(第14
図)に進み、ステップ203で書込時刻レジスタREC
CNTに書込タイマRECTIMERの値0を格納し、
ステップ204で経過時間レジスタLNSAMをクリア
する。続いて、キ―オンまたはキ―オフイベント処理
(第16または17図)に進み、キ―イベントデ―タK
1 の旧シ―ケンスデ―タエリアからの読取(ステップ2
21)と新シ―ケンスデ―タエリアへの書込(ステップ
223)を実行する。さらに、ソングスタ―ト処理に戻
って今度は時間間隔デ―タ処理(第18図)に進み、再
生タイマPLAYTIMERおよび残余時間レジスタL
NRESTにそれぞれ時間間隔デ―タである8をセット
する(ステップ263,264)。以上の数十ステップ
の処理は、演奏音としてのマクロ的立場からは実質的に
同時とみなされる程短時間に実行される。以下の各キ―
イベントデ―タの処理もマクロ的に見れば瞬時に実行さ
れる。
【0078】*キ―イベントデ―タKA の処理 キ―イベントデ―タKA が入力すると、入力割込処理
(第25図)を実行し、デ―タKHを読み込み(ステッ
プ602)、次いで書込時刻レジスタRECCNTは旧
デ―タ0を旧書込時刻レジスタOLDRCNTに退避さ
せてから新たなRECTIMER値(書込時刻)5に更
新する(ステップ631,632)。さらにキ―イベン
トK1 からKA までの時間間隔LEN=LNSAM+
(RECCNT−OLDRCNT)=0+(5−0)=
5およびKA からK2 までの残余時間LNREST=旧
LNREST−LEN=8−5=3を算出し、経過時間
LNSAMをクリアした(ステップ633〜635)
後、時間間隔デ―タLENおよび入力キ―イベントデ―
タ KHを新シ―ケンスデ―タエリアへ書き込む(ステ
ップ636,642)。
【0079】*キ―イベントデ―タK2 の処理 再生タイマPLAYTIMERがプセット値8をダウン
カウントして計数値が0になると、再生割込処理(第2
3図)を実行する。そして、書込時刻RECCNTを旧
RECCNT+(LNREST−LNSAM=5+(3
−0)=8で更新し、LNSAMをクリアし、さらに時
間間隔LENとしてKA からK2 までの残余時間LNR
EST=3をセットし、時間間隔LEN=3を新デ―タ
エリアに書き込んだ(ステップ402〜405)後、キ
―イベント処理(第16または17図)に進み、キ―イ
ベントデ―タK2 の読取と書込を実行する(ステップ2
21,223)。さらに、第23図のステップ205戻
って今度は時間間隔デ―タ処理(第18図)に進み、再
生タイマPLAYTIMERおよび残余時間レジスタL
NRESTにそれぞれ時間間隔デ―タである5をセット
する(ステップ263,264)。
【0080】*キ―イベントデ―タ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 の読取と書込を実行する(ステップ22
1,223)。さらに、第23図のステップ205に戻
って今度は時間間隔デ―タ処理(第18図)に進み、再
生タイマPLAYTIMERおよび残余時間レジスタL
NRESTにそれぞれ時間間隔デ―タである250をセ
ットする(ステップ263,264)。
【0081】*記録割込処理 記録タイマRECTIMERは自走式の8ビットカウン
タであるが、このカウンタが255までカウントして次
に計数値が0になると記録タイマ割込(第24図)を実
行する。ここでは、経過時間LNSAMを旧LNSAM
+(100H−旧RECCNT)=0+(256−1
3)=243に更新し、RECCNTをクリアする。
【0082】*キ―イベントデ―タ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 からK4 までの残余時間LNREST=旧LNRE
ST−LEN=250−244=6を算出し、経過時間
LNSAMをクリアした(ステップ633〜635)
後、時間間隔デ―タLEN=244および入力キ―イベ
ントデ―タKB を新シ―ケンスデ―タエリアへ書き込む
(ステップ636,642)。
【0083】*キ―イベントデ―タK4 の処理 このデ―タK4 の処理は、デ―タK3 の処理と同様に行
なわれる。すなわち、書込時刻RECCNTを旧REC
CNT+(LNREST−LNSAM=1+(6−0)
=7に更新し、LNSAMをクリアし、さらに時間間隔
LENとしてKB からK4 までの残余時間LNREST
=6をセットし、時間間隔LEN=6を新デ―タエリア
に書き込んだ(ステップ402〜405)後、キ―イベ
ント処理(第16または17図)に進み、キ―イベント
デ―タK4 の読取と書込を実行する(ステップ221,
223)。さらに、第23図のステップ205に戻って
今度は時間間隔デ―タ処理(第18図)に進み、再生タ
イマPLAYTIMERおよび残余時間レジスタLNR
ESTにそれぞれ時間間隔デ―タである10をセットす
る(ステップ263,264)。
【0084】このようにこの実施例においては、再生し
た演奏音を記録する際、タイミング情報を旧タイミング
デ―タに基づいて算出するようにしているため、タイミ
ングデ―タとして記録時の記録タイマ値を用いる場合の
ような多重化による演奏時間の延びは発生しない。
【0085】
【発明の適用範囲】なお、この発明は上述の実施例に限
定されるものではなく、下記のように種々変形して適用
することができる。
【0086】例えば、 1. 上述においてはシ―ケンサメモリ18に格納される
シ―ケンスデ―タが一曲の場合について説明したが、複
数曲にしてもよい。 2. シ―ケンスデ―タとして押鍵情報を用いたが、音色
変更等、他のイベント情報を用いることも可能である。 3. 入出力のキ―コ―ドバッファIKCBUF,OKC
BUFはトラックごとに用意したが、端子毎またはチャ
ンネル毎等に用意してもよい。 4. クロックは外部より供給してもよい。 5. トラックの数はいくつでもよい。 6. 上記実施例においては簡略化のため表示を省いてい
るが、適宜、必要な情報を表示するための手段を設けて
もよい。 7. 上記実施例の装置に、消去、複写、修正等のエディ
ット機能を付加することは容易である。
【図面の簡単な説明】
【図1】 この発明の一実施例に係る多重録音装置のハ
―ドウエア構成図である。
【図2】 操作パネル外観図である。
【図3】 入力装置のより詳細を示す回路図である。
【図4】 出力装置のより詳細を示す回路図である。
【図5】 テンポ発生器のより詳細を示す回路図であ
る。
【図6】 入出力状態設定の説明図である。
【図7】 シ―ケンスデ―タフォ―マット図である。
【図8】 メイン処理のフロ―チャ―トである。
【図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:シ―ケンサメモリ、20:入力装
置、22:出力装置、24:スイッチ群、26:テンポ発生
器、42:再生スイッチ、44:記録スイッチ、46:停止ス
イッチ、IKCBUF:入力側キ―コ―ドバッファ、O
KCBUF:出力側キ―コ―ドバッファ、TBL(csx
,csy ):入出力状態設定レジスタ。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 外部から入力された演奏情報を記録する
    とともに記録した演奏情報を外部へ出力する演奏記録再
    生装置において、 外部から入力された演奏情報を記録する記録手段と、 演奏情報を出力するべき出力グループを出力端子別のグ
    ループとして設定する設定手段と、 記録時には、入力された演奏情報を前記設定手段で設定
    された出力グループで出力するとともに、再生時には、
    記録された演奏情報を前記設定手段で設定された出力グ
    ループで出力する出力手段とを備えたことを特徴とする
    演奏記録再生装置。
JP8352613A 1996-12-16 1996-12-16 演奏記録再生装置 Expired - Fee Related JP2894306B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8352613A JP2894306B2 (ja) 1996-12-16 1996-12-16 演奏記録再生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8352613A JP2894306B2 (ja) 1996-12-16 1996-12-16 演奏記録再生装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP62024867A Division JPH0797270B2 (ja) 1987-02-06 1987-02-06 演奏記録再生装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP30956098A Division JP3307598B2 (ja) 1998-10-16 1998-10-16 演奏記録再生装置

Publications (2)

Publication Number Publication Date
JPH09190182A true JPH09190182A (ja) 1997-07-22
JP2894306B2 JP2894306B2 (ja) 1999-05-24

Family

ID=18425251

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8352613A Expired - Fee Related JP2894306B2 (ja) 1996-12-16 1996-12-16 演奏記録再生装置

Country Status (1)

Country Link
JP (1) JP2894306B2 (ja)

Also Published As

Publication number Publication date
JP2894306B2 (ja) 1999-05-24

Similar Documents

Publication Publication Date Title
US5847302A (en) Tone information processing device for an electronic musical instrument for generating sounds
KR920008291B1 (ko) 자동연주 기록장치
EP0278438B1 (en) Multi-recording apparatus of an electronic musical instrument
JP7124371B2 (ja) 電子楽器、方法及びプログラム
US5220119A (en) Electronic musical instrument with playback and edit functions of performance data
JPH0552502B2 (ja)
JPH09190182A (ja) 演奏記録再生装置
JP2888202B2 (ja) 演奏記録再生装置
JP3307598B2 (ja) 演奏記録再生装置
JP2570718B2 (ja) 演奏記録再生装置
JPH0797270B2 (ja) 演奏記録再生装置
JP3278857B2 (ja) 楽音形成装置
JP4685226B2 (ja) 波形再生用自動演奏装置
JPH0797269B2 (ja) 演奏記録再生装置
JP2601250B2 (ja) 自動演奏装置
JP2522203B2 (ja) 自動演奏装置
JP2607413B2 (ja) 自動演奏装置
JP3410134B2 (ja) 電子楽器
JPH07334154A (ja) 電子楽器のシーケンサ
JPH0315197B2 (ja)
JPH0827624B2 (ja) 自動演奏装置
JPS59162592A (ja) 音楽演奏装置
JPH07325572A (ja) 自動演奏装置
JPH11288275A (ja) 演奏情報変換装置
JPH08194478A (ja) 自動演奏装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees