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

演奏記録再生装置

Info

Publication number
JPH0797270B2
JPH0797270B2 JP62024867A JP2486787A JPH0797270B2 JP H0797270 B2 JPH0797270 B2 JP H0797270B2 JP 62024867 A JP62024867 A JP 62024867A JP 2486787 A JP2486787 A JP 2486787A JP H0797270 B2 JPH0797270 B2 JP H0797270B2
Authority
JP
Japan
Prior art keywords
data
key
input
track
recording
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
JP62024867A
Other languages
English (en)
Other versions
JPS63193193A (ja
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 JP62024867A priority Critical patent/JPH0797270B2/ja
Priority to EP88101717A priority patent/EP0278438B1/en
Priority to DE3854624T priority patent/DE3854624T2/de
Priority to US07/153,333 priority patent/US4899632A/en
Publication of JPS63193193A publication Critical patent/JPS63193193A/ja
Publication of JPH0797270B2 publication Critical patent/JPH0797270B2/ja
Priority to HK188096A priority patent/HK188096A/xx
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 以下の順序でこの発明を説明する。
産業上の利用分野 従来の技術 発明が解決しようとする問題点 問題点を解決するための手段 発明の効果 実施例の説明 第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図) 発明の適用範囲 [産業上の利用分野] この発明は、電子楽器のキーボードやコンピュータ等か
ら入力される演奏情報を上記キーボードの押鍵状態等の
変化を示すディジタルイベントデータの形で記録し、さ
らに記録された演奏情報を再生してコンピュータや音源
へ出力するいわゆるイベントタイプの演奏記録再生装置
に関し、特に、入力された演奏情報と既に記録されてい
る演奏情報とを重ね合せて記録する多重録音を行なう際
に好適な演奏記録再生装置に関する。
[従来の技術] 従来、演奏記録再生装置としては、例えば特開昭58-211
191号に開示されたものが知られている。この演奏記録
再生装置においては、鍵盤の操作によって、楽音の発音
を表わすキーオン情報や楽音の消音を表わすキーオフ情
報からなる演奏情報が発生する。そして、これらの情報
をそれらが発生するタイミングを表わすタイミング情報
とともに記録し、また、記録したキーオン情報やキーオ
フ情報をタイミング情報に基づいて再生し、音源へ出力
することによって自動演奏再生を行なうようにしてい
る。
また、この従来の演奏記録再生装置では、演奏情報をチ
ャンネル情報とともに記録し、再生時にチャンネル別に
異なった音色が設定される音源に送信することで、様々
に異なった音色によるアンサンブル演奏を可能としてい
る。
[発明が解決しようとする問題点] しかしながら、上述の従来の演奏記録再生装置は、鍵盤
を用いて演奏したときの演奏情報が入力されると、それ
は記録されるのみで、入力された演奏情報があらためて
この演奏記録再生装置から出力されることはなかった。
そのため、鍵盤を用いた演奏音を確認しながら演奏する
ことができず、演奏音を確認したければ、通常は音源装
置を内蔵した鍵盤装置によって入力するようにするな
ど、ユーザが自ら工夫するしかなかった。
このように、従来の演奏記録再生装置では、音源装置を
内蔵した鍵盤などの高価な入力装置を必要とするという
問題があった。また、音源装置を内蔵した鍵盤を用いた
としても、実際に演奏が再生されたときに用いる音源装
置と異なる場合、演奏を記録するときと記録した演奏を
再生するときとで、同一の音色の楽音を聞くことができ
ないため、再生するときのイメージが記録時につかめな
いという不都合があった。
この発明は、このような従来の演奏記録再生装置の不都
合に鑑みてなされたもので、音源装置を内蔵していない
入力装置によって演奏情報を入力して記録しても、その
演奏音を確認しながら入力することができるようにする
ことを目的としている。
[問題点を解決するための手段] 上記目標を達成するためこの発明では、外部から入力さ
れた演奏情報を記録するとともに、記録した演奏情報を
外部へ出力する演奏記録再生装置において、記録時に外
部入力された演奏情報を、再生時の出力グループとして
予め設定された出力グループで出力するようにしてい
る。
[発明の効果] この発明では、記録された演奏情報を再生する際の出力
すべきグループを設定しておく。そして、再生時には演
奏情報をその設定されたグループで出力する。また、記
録時にも入力されてくる演奏データをそのとき設定され
ているグループで出力する。
再生時には、この発明の演奏記録再生装置に接続される
1または複数の音源装置はグループによって異なる音色
が設定されるのが普通であるが、記録時にも再生時と同
じグループの音源装置は接続することで、同じグループ
での演奏情報による楽音信号が発生することができ、再
生時と同じ音色の楽音を聞くことができるので、イメー
ジをつかみ易い。もちろん、演奏情報を入力する装置は
音源装置を内蔵している必要はなくなる。
[実施例の説明] 以下、図面を用いてこの発明の実施例を説明する。
第1図は、この発明の一実施例に係る電子楽器用多重録
音装置のハードウエア構成を示す。
(第1図の録音装置の概要説明) この録音装置は、いわゆるイベントタイプのもので、電
子楽器のキーボードの押鍵および離鍵を表わすキーイベ
ントデータをそのキーイベントの発生タイミング(時間
間隔)データとともに記録し、記録されたキーイベント
データをそのタイミングデータに基づく時間管理で再生
し出力する。記録はキーボードやコンピュータ等の演奏
情報発生手段から入力されるキーイベントデータに基づ
いて行ない、再生したキーイベントデータはコンピュー
タや音源等に送出する。また、入力データと再生データ
とを組み合せて再生データが読み出されたもとのトラッ
クに記録する多重録音も可能である。
キーイベントデータの入力および出力端子は、8個ずつ
設けられており、各端子には、MIDI(Musical Instrume
nt Disital Interface)規格に準拠したチャンネル(以
下、MIDIチャンネルという)がそれぞれ16個ずつ設定さ
れている。つまり、この録音装置は、8×16=128個ず
つの入力おび出力チャンネルを備え、同時に128台の入
力機器(例えば電子楽器のキーボード)と128台の出力
機器(例えば電子楽器の音源)を接続することができ
る。
記録トラックは、64個が設定されており、各トラックに
はそれぞれ所望の1つの入力チャンネルと出力チャンネ
ルを割り当てることができる。また、各トラックには、
同時押鍵中の32鍵分のデータを記録することができる。
したがって、この録音装置は、等価的に128台分の楽器
を常時接続しておき、そのうち所望の64台分の楽器を選
択してその演奏を記録再生することができる。また、出
力端子に接続された音源が許容する限り、再生音とし
て、各トラックごとに32音、全体では32×64=2048音ま
で同時発音可能である。
(第1図の録音装置の構成説明) 第1図において、中央処理装置(CPU)10はこの録音装
置全体の動作を制御するためのもので、CPU10には双方
向バスライン12を介してプログラムメモリ14、レジスタ
群16、シーケンサメモリ18、入力装置20、出力装置22、
スイッチ群24、およびテンポ発生器26が接続されてい
る。
プログラムメモリ14は、リードオンリメモリ(ROM)等
により構成され、CPU10用の制御プログラムが格納され
ている。
レジスタ群16は、CPU10が上記制御プログラムを実行す
る際に発生する各種のデータを一時記憶するためのもの
で、それぞれ例えばランダムアクセスメモリ(RAM)内
の所定の領域に設けられる。
この録音装置に用意されているレジスタ群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:演奏モード(0:STOP,1:PLAY,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:演奏情報入力時の書込用カウンタタイマRECT
IMER(第5図)の値 23.RPT:シーケンスデータ読取用ポインタ(以下読取ポ
インタという) 24.SONGEND:シーケンス演奏データの最終番地 25.SONGTOP:シーケンス演奏データの先頭番地 26.TBL(0〜63,0〜31):各トラックの入出力状態設定
用レジスタ 27.TCH:入力キーデータのタッチ情報 28.TRKIN:入力データとしてのトラックNo. 29.TRKRD:内部メモリデータとしてのトラックNo. 30.TRKWT:最新書込トラックNo. 31.WPT:シーケンスデータ書込用ポインタ(以下書込ポ
インタという) シーケンサメモリ18は、例えばランダムアクセスメモリ
(RAM)からなり、キーイベント等の演奏情報を記録す
るためのものである。このシーケンサメモリ18に記録さ
れるデータは、第7図に示すような、各3バイト長の
「キーオン」、「キーオフ」および「時間間隔」デー
タ、2バイト長の「トラックチェンジ」データ、ならび
に1バイト長の「エンドマーク」である。なお、各デー
タの第1バイト目はそのデータの種類を示す識別マーク
である。
「キーオン」および「キーオフ」データの識別マーク9
X,8XにおけるXはそのデータのMIDIチャンネルを示す。
「キーオン」および「キーオフ」データの第2バイト目
は「キーコード」、第3バイト目は「タッチ」情報を表
わす。
「エンドマーク」はパラメータ項の付加されない、識別
マークF2H(16進表示、以下「H」を付して16進表示の
数字であることを示す)のみの1バイトデータである。
「時間間隔」データは、識別マークがF4Hであり、第2
バイト目が時間間隔の上位7ビット、第3バイト目が時
間間隔の下位7ビットを表わす。
「トラックチェンジ」データは、識別マークがFFHであ
り、第2バイト目にトラックデータを有する2バイトデ
ータである。
第2図は、この録音装置の操作パネルの概観を示す。同
図の操作パネルには、レジスタ群16の入出力情報設定レ
ジスタTBL(0〜63,1〜5)を指定するためのカーソル
移動スイッチ30,32,34,36、カーソルCSXおよびCSYで指
定されたレジスタTBL(csx,csy)内のデータを変更する
ためのインクリメント(INC)スイッチ38およびデクリ
メント(DEC)スイッチ40、この録音装置の演奏モード
を指定するための再生(PLAY)、記録(RECORD)および
停止(STOP)スイッチ42,44,46、ならびにテンポ設定ス
イッチ等のその他操作子48が配置されている。これらの
スイッチ30〜48は第1図のスイッチ群24を構成してい
る。
第1図の入力装置20は、第3図に示すように、8個の入
力端子Ti1〜Ti8を介して入力される演奏情報を一時記憶
し、CPU10からの指令により入力順に出力するFIFO型レ
ジスタからなる入力バッファINBUF0〜INBUF7、いずれか
の入力端子Ti1〜Ti8に演奏情報が入力された場合に、そ
れを検出して入力割込信号INPUTIRQを発生するオアゲー
ト62、入力演奏情報が格納されている入力バッファINBU
F0〜INBUF7の番号を検出するエンコーダ64、およびその
番号を入力演奏情報が読み出されるまで記憶する入力割
込ナンバレジスタINIRQNOを具備する。
出力装置22は第4図に示すように、データバス12と8個
の出力端子T01〜T08との間に接続された出力バッファOU
TBUF0〜OUTBUF7を備えている。
テンポ発生器26は、第5図に示すように、設定テンポ値
に応じた周波数のクロックφを発生するクロック設定器
70、このクロックφを計数する8ビットのインクリメン
トカウンタ72、カウンタ72がO(OOH)を計数するごと
に記録割込信号RECIRQを出力するノアゲート74、カウン
タ72の計数値出力をラッチする書込用カウンタタイマ
(以下、書込タイマという)RECTIMER、シーケンサメモ
リ18から時間間隔データが読み出されたときその時間間
隔値を上位7ビットと下位7ビットとに分けてそれぞれ
格納するためのレジスタPLYTMHとPLYTML、レジスタPLYT
MHとPLYTMLにより上記時間間隔値をプリセットされた後
クロックφをダウンカウントするディクリメントカウン
タ76、カウンタ76の計数値データが0になったとき再生
割込信号PLAYIRIRQを出力するノアゲート78、停止モー
ド時等の再生割込信号PLAYIRQをマスクする際、“1"を
セットするためのレジスタ80、レジスタ80に“1"がセッ
トされたとき再生割込信号PLAYIRQの出力を禁止するた
めのインバータ82およびアンドゲート84を具備する。
第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)に示
す。
第6図(b),(c)において、トラックモード0(st
op)はそのトラックに対し読取も書込もせず、そのトラ
ックに対する入力データの出力もしないことを示す。1
(play)はそのトラックに対する入力データの書込およ
び出力はしないが、演奏モードが再生または記録(JOB
=1または2)であればそのトラックに対する内部デー
タ(シーケンス演奏データ)を再生し出力端子に送出す
ることを示す。2(rec)は演奏モードに関わらずその
トラックに対する入力データを出力端子に送出するとと
もに演奏モードが記録(JOB=2)であれば入力データ
の書込を行ない、かつそのトラックに対する内部データ
については演奏モードが再生または記録(JOB=1また
は2)であれば出力端子に送出することを示している。
(第1図の録音装置の動作説明) 次に、第8〜27図のフローチャートを参照しながら第1
図の録音装置の動作を説明する。
1.メイン処理 第8図を参照して、この装置に電源が投入されると、CP
U10はプログラムメモリ12に格納された制御プログラム
に従って動作を開始する(ステップ100)。まず、ステ
ップ101および102においてはレジスタ群16を初期化す
る。すなわち、ステップ101で出力側キーコードバッフ
ァOKCBUF(0〜63,0〜31)、入力側キーコードバッファ
IKCBUF(0〜63,0〜31)、入出力状態設定レジスタTBL
(0〜63,0〜31)、再生割込マスキングレジスタPIRQMS
Kのセット、および演奏モードレジスタJOBをクリアす
る。なお、これらのレジスタにはROMまたは外部メモリ
から読み出される所定のプリセット値を設定するように
してもよい。ステップ102ではシーケンス演奏データの
先頭番地SONGTOPおよび最終番地SONGENDを外部メモリ等
から設定する。
初期化終了後は、INC/DECスイッチ処理(ステップ11
0)、UP/DOWNスイッチ処理(ステップ130)、LEFT/RIGH
Tスイッチ処理(ステップ140)、PLAYスイッチオン処理
(ステップ150)、RECスイッチオン処理(ステップ16
0)およびSTOPスイッチオン処理(ステップ170)の各サ
ブルーチンを呼び出して実行し、次いでその他処理(ス
テップ190)を行なうとともに、これらのステップ110〜
190からなる一連の処理を繰返し実行する。
2.INC/DECスイッチ処理 第2図のINCスイッチ38およびDECスイッチ40は入出力状
態TBL(csx,csy)を変更するためのものである。
第9図を参照して、ステップ111ではINCスイッチ38およ
びDECスイッチ40がオンしたか否かを検査する。これら
のスイッチ38,40のいずれもオンしていなければメイン
処理(第8図)に戻る。一方、スイッチ38,40のいずれ
かがオンしていれば、次にステップ112で演奏モードJOB
とカーソルy座標CSYを検査する。演奏モードが停止以
外(JOB≠0)であり、かつカーソル指定がトラックモ
ード以外(CSY≠5)であればメイン処理(第8図)に
戻る。これにより、再生または記録時における入出力チ
ャンネルの変更を禁止している。
もし、演奏モードが停止(JOB=0)であるか、または
カーソル指定がトラックモード(CSY=5)であればス
テップ113に進む。ステップ113ではカーソルy座標CSY
と入出力情報レジスタTBL(csx,csy)の内容を検査す
る。カーソル指定がトラックモード(CSY=5)であ
り、かつカーソルx座標CSXで指定されたトラックのモ
ードが記録モード(TBL(csx,5)=2)であれば、ステ
ップ115に進みそれ以外の場合にはステップ114に進む。
ステップ114ではオンしたスイッチが38であるか40であ
るかに従って入出力情報レジスタTBL(csx,csy)の内容
をインクリメントまたはデクリメントした後、メイン処
理(第8図)に戻る。
なお、ステップ114ではTBL(csx,csy)の値を、 CSY=1または3のとき 0〜7 CSY=2または4のとき 0〜15 CSY=5のとき 0〜2 の範囲で増減する。例えばTBL(csx,5)=2をインクリ
メントしたときは0にする。
ステップ113における検査の結果、CSY=5かつTBL(cs
x,5)=2であるとき、つまりスイッチ38または40のオ
ンがトラックナンバCSXのトラックについてのトラック
モードを記録モードからそれ以外のモードに変更するも
のであるときは、ステップ115〜126においてスイッチ38
または40のオン時押鍵中の鍵があればその鍵についての
キーオフ処理を行なう。
すなわち、ステップ115で制御変数iを0にセットし、
ステップ116でトラックCSXの入力側キーコードバッファ
IKCBUF(csx,i)にキーコードが格納されているか否か
検査する。格納されていなければステップ117〜124の処
理は実行することなく直接ステップ125へ進む。
一方、キーコードが格納されていればそのキーコードの
キーオフデータを入力データバッファIN1〜IN3にセット
し(ステップ117)、バッファIKCBUF(csx,i)をクリア
する(ステップ118)。なお、上記ステップ117ではキー
オフのタッチ情報として習慣的な40Hを入力データバッ
ファIN3にセットしている。続いて、入出力情報レジス
タTBLからナンバCSXのトラックの出力端子およびMIDIチ
ャンネルを読み出して出力端子レジスタOUTTRMおよび出
力チャンネルレジスタOUTCHに転送し(ステップ119)、
上記入力データバッファIN1〜IN3に格納されているキー
オフデータをMIDIチャンネルデータのみデータOUTCHに
変換して出力データバッファOUT1〜OUT3に格納し(ステ
ップ120)、出力端子OUTTRMにて出力データOUT1〜OUT3
を出力した(ステップ121)後、ステップ122で演奏モー
ドを確認する。ここで、演奏モードが記録(JOB=2)
であれば、書込ポインタの指示に従って入力データバッ
ファIN1〜IN3内にセットしたキーオフデータをシーケン
サメモリ18に書き込んで(ステップ123)書込ポインタ
を3カウント進めた(ステップ124)後、ステップ125に
進む。一方、ステップ122の演奏モードが記録(JOB=
2)でなければ、ステップ123,124の処理はスキップし
てステップ122から直接ステップ125に進む。
ステップ125では、制御変数iをインクリメントし、次
のステップ126で制御変数iの値が31を越えたか否かを
判定する。31以下であれば、ステップ116へ戻り、次の
キーコードバッファIKCBUF(csx,i)についてのキーオ
フ処理を行なう。一方、31を越えていれば、該当するト
ラックにおける入力側キーコードバッファ全部の検査お
よびキーオフ処理を終了したのであるから、ステップ11
4に進み、上述のように入出力情報レジスタTBL(csx,cs
y)の内容をオンしたスイッチが38であるか40であるか
に従ってインクリメントまたはデクリメントした後、メ
イン処理(第8図)に戻る。
3.UP/DOWNスイッチ処理 第2図のUPスイッチ34およびDOWNスイッチ36は第6図
(a)の入出力状態テーブル上でカーソルx軸CSXを上
下に移動させるためのものである。
第10図を参照して、ステップ131ではUPスイッチ34およ
びDOWNスイッチ36を検査する。そして、これらのスイッ
チ34,36のいずれかがオンしていればオンのスイッチが3
4であるか36であるかに従ってカーソルx軸CSXを0〜63
の範囲でインクリメントまたはデクリメントした(ステ
ップ132)後、一方、スイッチ34,36のいずれもオンして
いなければステップ131から直接メイン処理(第8図)
に戻る。
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図)に戻る。
5.PLAYスイッチオン処理 第13図を参照して、ステップ151では再生モードスイッ
チ42がオンしたか否かを判定する。もし、オンしていな
ければそのままメイン処理(第8図)に戻る。一方、オ
ンしていればステップ152で演奏モードレジスタJOBを1
にセットし、ステップ200のソングスタート処理(第14
図)を実行した後、メイン処理(第8図)に戻る。
6.RECスイッチオン処理 第12図を参照して、ステップ161では記録モードスイッ
チ44がオンしたか否かを判定する。もし、オンしていな
ければそのままメイン処理(第8図)に戻る。一方、オ
ンしていればステップ162で演奏モードレジスタJOBに2
をセットし、ステップ200のソングスタート処理(第14
図)を実行した後、メイン処理(第8図)に戻る。
7.ソングスタート処理 第2図の再生スイッチ42または記録スイッチ44がオンさ
れると、それぞれ演奏モードレジスタJOBに1または2
を設定した後、ステップ200のソングスタート処理を実
行する。このソングスタート処理においては、再生およ
び記録に用いられるレジスタ類をプリセットした後、シ
ーケンサメモリ18からシーケンス演奏データの第1バイ
ト目である識別マークを読み取り、この識別マークに応
じてキーオン、キーオフ、トラックチェンジ、時間間隔
およびエンドマーク等の各データの読取およびこれらの
データに応じた処理を行なう。なお、このデータ読取は
時間間隔データまたはエンドマークが読み取られるまで
繰り返される。
第14図を参照して、まず、ステップ201で読取ポインタR
PTをシーケンス演奏データの先頭番地SONGTOPに、書込
ポインタWPTをシーケンス演奏データの最終番地SONGEND
の次の番地にプリセットし、このときの書込ポインタWP
Tの値を新たなシーケンス演奏データの先頭番地SONGTOP
として記憶する。さらに、再生割込マスクPIRQMSKをク
リアして再生割込PLAYIRQを可能化し(ステップ202)、
書込タイマRECTIMER(第5図)の出力値を書込時刻レジ
スタRECCNTに格納し(ステップ203)、経過時間レジス
タLNSAMをクリアする(ステップ204)。
次に、シーケンサメモリ18から読取ポインタRPTでアド
レス指定される1バイトのデータを読み取ってフラグFL
Gに格納する(ステップ205)。シーケンサメモリ18に格
納されているシーケンス演奏データの第1バイト目はデ
ータ種類を表わす識別マークである(第7図参照)。ス
テップ206ではフラグFLGの内容を判別し、判別結果に応
じてトラックチェンジ(ステップ210)、キーオンイベ
ント(ステップ220)、キーオフイベント(ステップ24
0)、時間間隔(ステップ260)、およびエンドマーク
(ステップ270)、の各データ読取処理に分岐する。な
お、トラックチェンジ(ステップ210)、キーオンイベ
ント(ステップ220)、キーオフイベント(ステップ24
0)およびその他(ステップ280)の各処理を実行した後
はステップ205に戻ってさらに次のデータ読取処理を実
行するが、時間間隔処理(ステップ260)またはエンド
マーク処理(ステップ270)を実行した後はもとのメイ
ン処理(第8図)に戻る。
8.トラックチェンジ処理 シーケンス演奏データの先頭のデータは、通常、トラッ
クチェンジデータ(FFH)である。
第14または23図のステップ206においてフラグFLGに格納
されている識別マークがFFHであればステップ210のトラ
ックチェンジ処理(第15図)を実行する。
第15図を参照して、まず読取ポインタRPTのアドレス指
定に基づきシーケンサメモリ18から2バイトのトラック
チェンジデータを読み取って1バイトずつを読取データ
バッファRD1,RD2に格納し、読取ポインタRPTを次の読取
アドレスへ2カウント進める(ステップ211,212)。次
いで、バッファRD2内のトラックナンバをトラックナン
バレジスタTRKRDに格納した後、現在の読取トラックTRK
RDと書込トラックTRKWTとを比較する(ステップ213,21
4)。同じであればそのままもとの処理(第14または23
図)に戻る。異なっているときは、書込ポインタWPTの
アドレス指定に基づきシーケンサメモリ18へ2バイトの
トラックチェンジデータRD1、RD2を書き込み、書込ポイ
ンタWPTを次の書込アドレスへ2カウント進め、書込ト
ラックナンバRKWTをナンバTRKRDに変更した(ステップ2
15〜217)後、もとの処理(第14または23図)に戻る。
9.キーオンイベント処理 第14または23図のステップ206においてフラグFLGに識別
マーク9XHが格納されていれば、ステップ220のキーオン
イベント処理(第16図)を実行する。
第16図を参照して、まず、読取ポインタRPTに基づきシ
ーケンサメモリ18から3バイトのキーオンデータを読み
取って1バイトずつを読取データバッファRD1〜RD3に格
納し、ポインタRPTを次の読取アドレスまで3カウント
進める(ステップ221,222)。次いで、読み取ったキー
オンデータRD1〜RD3を書込ポインタWPTに基づきシーケ
ンサメモリ18へ書き込み、ポインタWPTを次の書込アド
レスへ3カウント進めた後、現在の読出トラックのトラ
ックモードTBL(TRKRD,5)が停止モードか否か判定する
((ステップ223〜225)。停止モードならこれ以上の処
理は不要であるからそのままもとの処理(第14または23
図)に戻る。
再生または記録であれば、続いて入出力状態レジスタよ
り読取データRD1〜RD3を送出すべき出力端子TB
L(TRKRD,3)および出力MIDIチャンネルTBL(TRKRD,4)
を読み取ってそれぞれレジスタOUTTRMおよびOUTCHに格
納し、ステップ221で読み取ったキーオンデータRD1〜RD
3の中の入力MIDIチャンネルXHのみ出力MIDIチャンネルO
UTCHで置き換えたキーオンデータを作成して出力データ
バッファOUT1〜OUT3に格納し、この出力データOUT1〜OU
T3を出力端子OUTTRMへ送出する(ステップ226〜228)。
さらに出力側キーコードバッファOKCBUF(TRKRD,0〜3
1)のうち空いているもののいずれかにキーコードRD2
(=OUT2)を書き込んだ(ステップ229)後、もとの処
理(第14または23図)に戻る。
10.キーオフイベント処理 第14または23図のステップ206においてフラグFLGに識別
マーク8XHが格納されていれば、ステップ240のキーオフ
イベント処理(第17図)を実行する。
第17図を参照して、ステップ241〜248においては、処理
されるデータがキーオフイベントであることを除き第16
図のステップ221〜228と全く同様の手順が実行される。
なお、ステップ249においては出力側キーコードバッフ
ァOKCBUF(TRKRD,0〜31)のうちキーコードRD2(=OUT
2)が書き込まれているものをクリアして、もとの処理
(第14または23図)に戻る。
11.時間間隔データ処理 第14または23図のステップ206においてフラグFLGに格納
されている識別マークがF4Hであればステップ260の時間
間隔データ処理(第18図)を実行する。
第18図を参照して、読取ポインタRPTに基づいて3バイ
トの時間間隔データを読み取って1バイトずつを読取デ
ータバッファRD1〜RD3に格納し、ポインタRPTを次の読
取アドレスまで3カウント進め、読み取った時間間隔RD
2,RD3を再生タイマレジスタPLYTMH,PLYTML(第5図)に
セットし、上下各7ビットの2バイトデータである時間
間隔RD2,RD3を14ビットのデータに変換して残余時間レ
ジスタLNRESTに格納した(ステップ261〜264)後、もと
の処理(第14または23図)に戻る。
12.エンドマーク処理 第14または23図のステップ205において読み取られた識
別マークがF2Hであるとき、処理はステップ206を経てス
テップ270のエンドマーク処理(第18図)に移行する。
このエンドマークは1バイトのデータである。
第18図を参照して、ステップ271では読取ポインタRPTを
次の読取アドレスへ1カウント送り、ステップ272で演
奏モードが再生(JOB=1)であるか否か判定する。再
生であれば演奏モードを停止(JOB=0)に設定し、書
込ポインタWPTに基づきエンドマークF2Hを書き込み、ポ
インタWPTを次の書込アドレスへ1カウント進めた(ス
テップ273〜275)後、もとの処理(第14または23図)へ
戻る。
ステップ272において演奏モードが再生でなければ記録
である。この場合はステップ276で再生割込マスクレジ
スタPIRQMSKに1をセットして再生割込すなわちシーケ
ンス演奏データの読取を禁止した後、もとの処理(第14
または23図)へ戻る。演奏モードが記録のときは再生の
みを禁止し、記録は停止スイッチ46(第2図)がオンさ
れるまで継続させるためである。
13.STOPスイッチオン処理 第20図を参照して、ステップ171では停止スイッチ46
(第2図)がオンしたか否かを判定する。もし、オンし
ていなければそのままメイン処理(第8図)に戻る。一
方、オンしていればステップ300のオールキーオフ処理
(第21図)を実行する。
14.オールキーオフ処理 このオールキーオフ処理は、再生または記録モードにお
いて停止スイッチがオンされたとき再生音発音中であっ
たキーコードについてキーオフ処理を行なう。具体的に
は64トラックのそれぞれに32個ずつ設けられている全部
で64×32=2048個の出力側キーコードバッファを走査し
てキーコードが格納されているものを検索し、そのキー
コードについてキーオフ処理を行なう。また、トラック
モードが0のトラックについては入力音も再生音も発音
しないため、発音中のキーコードもあり得ない。そこで
ステップ302においてトラックモードが0のトラックを
検出し、そのトラックについての走査をスキップするこ
とにより処理時間の短縮を図っている。
第21図を参照して、ステップ301でトラック指定用の制
御変数iに0をセットし、ステップ302でNo.iのトラッ
クのトラックモードTBL(i,5)を検査する。停止以外す
なわち再生または記録であればステップ303でバッファ
指定用の制御変数jに0をセットし、ステップ304で出
力側キーコードバッファOKCBUF(i,j)にキーコードが
格納されているか否かを判定する。キーコードが格納さ
れていれば、ステップ305でトラックiの出力端子TBL
(i,3)および出力MIDIチャンネルTBL(i,4)を読み取
ってそれぞれレジスタOUTTRMおよびOUTCHに格納し、ス
テップ306で出力NIDIチャンネルがOUTCHでキーコードが
OKCBUF(i,j)であるキーオフデータを作成して出力デ
ータバッファOUT1〜OUT3に格納する。さらに、ステップ
307でバッファOKCBUF(i,j)をクリアし、ステップ308
で上記キーオフデータOUT1〜OUT3を出力端子OUTTRMへ送
出した後、ステップ309で制御変数jをインクリメント
し、ステップ310で当該トラックの出力側キーコードバ
ッファの全部について検査が終了したか否かを判定す
る。終了していなければステップ304に戻って当該トラ
ックの次のキーコードバッファの検査を行なう。一方、
終了していればステップ311で制御変数iをインクリメ
ントし、ステップ312で64個のトラック全部の検索が終
了したか否かを判定する。終了していなければステップ
302に戻って次のトラックのキーコード検索を繰り返
す。一方終了していればステップ320のキーオフ書込処
理(第22図)を実行し、その後STOPスイッチオン処理
(第20図)に戻る。
15.キーオフ書込処理 このキーオフ書込処理は、記録モードにおいて停止スイ
ッチ46(第2図)がオンされたとき、シーケンサメモリ
18にキーオンデータのみが書き込まれ未だキーオフデー
タが書き込まれていないもの、すなわち入力側で押鍵中
の鍵がある場合、その押鍵中の鍵のキーオフデータを作
成してメモリ18に書き込むものである。具体的には64個
の各トラック32個ずつ計2048個の入力側キーコードバッ
ファを走査し、キーコードが格納されたままのものを検
索し、そのキーコードについてキーオフデータを作成し
てメモリ18に書き込む。
第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〜3
29の処理をスキップしてステップ330に進む。キーコー
ドが格納されていればステップ326でそのキーコードの
キーオフデータを作成して読取データバッファRD1〜RD3
に格納し、ステップ327でバッファIKCBUF(i,j)をクリ
アし、ステップ328で書込ポインタWPTに基づいてシーケ
ンサメモリ18にキーオフデータRD1〜RD3を書き込み、ス
テップ329で書込ポインタWPTを次の書込アドレスまで3
カウント進めた後、ステップ330で制御変数jをインク
リメントしてステップ331でトラックiの全部のバッフ
ァの検査が終了したか否かを判定する。未処理のバッフ
ァが残っていればステップ325に戻って次のバッファIKC
BUF(i,j)についてキーコードの有無を検査する。一
方、そのトラックについて32個全部のバッファについて
検査を終了していればステップ332で制御変数iをイン
クリメントし、ステップ333で全64個のトラックについ
て押鍵中キーコードの検索およびキーオフデータの書込
を終了したか否かを判定する。終了していなければステ
ップ323に戻って上述の処理を繰返し、終了していれば
もとのオールキーオフ処理(第21図)に戻り、さらにST
OPオン処理(第20図)に戻る。
16.STOPオン処理(続き) 第20図を参照して、ステップ173では演奏モードレジス
タJOBを0にセットし、ステップ174で再生割込マスクレ
ジスタPIRQMSKが1であるか否かを検査する。1であれ
ば停止スイッチをオンする前にシーケンス演奏データの
再生および新演奏データ領域への転記は終了している
(第19図ステップ276参照)。0であれば未転記のデー
タが残っているからステップ175〜181において残存する
データを新演奏データの最後に付加する。
すなわち、ステップ175で書込トラックTRKWTと読取トラ
ックTRKRDとを比較し、異なっていれば書込ポインタWPT
に基づいてシーケンサメモリ18に読取トラックへのトラ
ックチェンジデータ(2バイト)を書き込み(ステップ
176〜177)、ポインタWPTを次の書込アドレスへ2カウ
ント進めた(ステップ178)後、ステップ179へ進む。一
方、書込トラックTRKWTと読取トラックTRKRDとが一致し
ていればステップ175から直接ステップ179へ進む。
以後、ステップ179においてシーケンサメモリ18内の読
取ポインタRPTで指定されるアドレスからF2H(エンドマ
ーク)が読み取られるまで、読取ポインタRPTでアドレ
スされる旧演奏データ領域のデータを書込ポインタWPT
でアドレスされる新演奏データ領域へ転記する(ステッ
プ180〜181)。エンドマークが検出されるとステップ18
2へ進み、書込ポインタWPTに基づいてシーケンサメモリ
18にエンドマークF2Hを書き込み、ステップ183でシーケ
ンス演奏データの最終番地WPTをレジスタSONGENDに書き
込んだ後、メイン処理(第8図)に戻る。
17.再生タイマ割込処理 第1図の録音装置においては、再生または記録モード
時、シーケンサメモリ18から読み取った時間間隔データ
をテンポ発生器26のディクリメントカウンタ76(第5
図)にプリセットする(ステップ263)。テンポ発生器2
6はカウンタ76がクロックφをダウンカウントしてその
計数値出力がOHになると再生割込信号PLAYIRQを発生す
る。CPU10はこの再生割込信号PLAYIRQに基づきステップ
400の再生割込処理(第23図)を実行する。これによ
り、この録音装置においては、シーケンサメモリ18に記
録されている時間間隔(イベントタイミング)ごとにイ
ベントデータが読み取られる。
すなわち、第23図を参照して、ステップ401では演奏モ
ードJOBを判別する。演奏データの読取は停止時は行な
わないから、演奏モードが停止(JOB=0)であればそ
のまま割込を解除してもとの処理に復帰する。一方、演
奏モードが停止以外(JOB≠0)ならばステップ402で書
込時刻レジスタRECCNTに(LNREST-LNSAM)を加算する。
ここで、LNRESTは記録(JOB=2)時、前回の再生割込
と今回の再生割込との間にキーイベントデータが入力さ
れた場合、前回の再生割込により読み取られた時間間隔
LENのキーイベントデータ入力後の残余時間であり、LNS
AMはこのキーイベントデータ入力後の経過時間である。
続いて、レジスタLNSAMをクリアし(ステップ403)、残
余時間LNRESTを時間間隔レジスタLENにセットした(ス
テップ404)後、書込ポインタWPTに基づきシーケンサメ
モリ18に識別マークF4H、レジスタLENの上位7ビットお
よびレジスタLENの下位7ビットからなる3バイトの時
間間隔データを書き込み(ステップ405)、さらに、ポ
インタWPTを次の書込アドレスへ3カウント進める(ス
テップ406)。
ステップ407では書込トラックナンバTRKWTと読取トラッ
クナンバTRKRDとを比較し、異なっていれば書込トラッ
クを読取トラックと同じに切り換えるため、レジスタTR
KWTにトラックナンバTRKRDを格納し、識別マークFFH
新トラックナンバTRKWTとからなる2バイトのトラック
チェンジデータを書き込み、ポインタWPTを次の書込ア
ドレス2カウント進める(ステップ408〜410)。ステッ
プ407において書込トラックと読取トラックとが同じで
あればステップ408〜410の処理はスキップする。
続いて、現タイミングにおけるイベントデータおよび次
回イベントまでの時間間隔データまたはエンドマークを
読み取るが、この読取処理は上述のソングスタート処理
(第14図)におけると全く同じであるので、同一のステ
ップ番号を付して説明は省略する。
18.記録タイマ割込処理 第1図の録音装置においては、テンポ発生器26のインク
リメントカウンタ72(第5図)がクロックφを256個カ
ウントする度に発生する記録割込信号RECIRQに基づいて
以下の割込処理(ステップ500)を実行する。
第24図を参照して、ステップ501では演奏モードJOBをチ
ェックする。記録タイマ割込は記録モードにおいてのみ
必要な処理であるから、演奏モードが記録(JOB=2)
でなければ直ちに割込を解除する。一方、記録であれ
ば、ステップ502でレジスタLNSAMに直前のキーイベント
データ入力後の経過時間を格納する。つまり、このレジ
スタLNSAMには、カウンタ72(第5図)がオーバーフロ
ーする都度、上記キーイベントデータ入力後の経過時間
が格納される。ステップ502における(100H−RECCNT)
のRECCNTはキーイベントデータ入力後カウンタ72が最初
にオーバーフローするまでの時間を算出するための項で
あり、算出後はクリアされる(ステップ503)。
ステップ504では経過時間LNSAMが3FFFHを越えたか否か
を判定する。この録音装置は、時間間隔計測用のカウン
タ(第5図の76)が14ビットであるため、時間間隔が14
ビットの最大値である3FFFHを越える場合はそれを3FFFH
以下の複数の時間間隔データに分けて記録するためであ
る。したがって、経過時間LNSAMが3FFFH以下ではそのま
ま割込を解除する。一方、3FFFHを越えるとレジスタLNS
AMおよびLNRESTよりそれぞれ3FFFHを減算し(ステップ5
05,506)、ポインタWPTに基づき時間間隔3FFFHを示す3
バイトのデータF4H,7FH,7FHを書き込み(ステップ50
7)、ポインタWPTを次の書込アドレスへ3カウント進め
た後、もとの処理に復帰する。
19.入力割込処理 第1図の録音装置の入力装置20(第3図)のいずれかの
入力端子Ti1〜Ti8にキーイベントデータが入力される
と、このデータが入力データレジスタINBUF0〜INBUF7に
格納されるとともにオアゲート62から割込信号INPUTIRQ
が発生する。CPU10はこの割込信号INPUTIRQに基づきス
テップ600の入力割込処理を実行する。
第25図を参照して、先ず、入力割込ナンバレジスタINIR
QNOより入力のあった端子番号nを読み取って入力端子
レジスタINTRMに格納し(ステップ601)、レジスタINBU
Fnより3バイトのキーイベントデータを読み取って入力
バッファIN1〜IN3に1バイトずつ格納する(ステップ60
2)。さらに、識別マークIN1に含まれたMIDIチャンネル
をレジスタINCHに、キーコードIN2およびタッチ情報IN3
をそれぞれレジスタKCおよびTCHに格納した(ステップ6
03,604)後、入出力状態テーブル(第6図)を走査して
No.0〜63の記録トラックのうち入力端子TBL(i,1)およ
びMIDIチャンネルTBL(i,2)がそれぞれINTRMおよびINC
Hに合致し、かつトラックモードTBL(i,5)が記録モー
ド(=2)であるものを検索する(ステップ605〜60
8)。ここでは、No.0のトラックから順に検索し、上記
条件に合致するトラックが見付かると、処理はステップ
606からステップ611へ移行する。
ステップ611では、検出したトラック番号iをレジスタT
RKINに格納する。続いて、そのトラックの出力端子TBL
TRKIN,3)および出力MIDIチャンネルTBL(TRKIN,4)
を読み取ってそれぞれOUTTRMおよびOUTCHに格納し(ス
テップ612)、入力データIN1〜IN3のMIDIチャンネルデ
ータをOUTCHで入れ換えた出力データOUT1〜OUT3を作成
し(ステップ613)、この出力データを出力端子OUTTRM
へ送出した後、ステップ620の入力側キーコードバッフ
ァ処理(第26図)を実行する。
26.入力側キーコードバッファ処理 第26図を参照して、ステップ621では入力データがキー
オン、キーオフのいずれかのイベントデータであるかを
判別する。キーオンイベントであればステップ622でト
ラックTRKINの32個のバッファのうち空いているものに
キーコードKC(=IN2)を書き込んだ後、もとの処理
(第25図ステップ625)へ戻る。キーオフイベントであ
ればステップ623でトラックTRKINの32個のバッファのう
ちキーコードKCと同じでデータが格納されているものを
クリアした後、もとの処理(第25図ステップ625)へ戻
る。
27.入力割込処理(続き) 第25図を参照して、ステップ625では演奏モードJOBを確
認する。入力データの書込は記録(JOB=2)時のみ行
なうものであるから記録モードでなければ、直ちに割込
を解除してもとの処理に戻る。一方、記録モードであれ
ばステップ631に進んで前キーイベントデータの書込時
刻RECCNTをレジスタOLDRCNTに書き込んだ後、ステップ6
32で書込用カウンタタイマRECTIMER(第5図)が示す現
在時刻をレジスタRECCNTに書き込む。次に、LNSAM+(R
ECCNT-OLDRCNT)を算出して時間間隔レジスタLENに格納
し(ステップ633)、LNREST-LENを算出して残余時間レ
ジスタLNRESTに格納し(ステップ634)、レジスタLNSAM
をクリアする(ステップ635)。さらに、書込ポインタW
PTに基づいてシーケンサメモリ18に3バイトの時間間隔
データを書き込み(ステップ636)、ポインタWPTを次の
データ書込アドレスへ3カウント進めた(ステップ63
7)後、入力データの書込トラックナンバTRKINと現在の
書込トラックナンバTRKWTとを比較する。
入力データの書込トラックTRKINが現在の書込トラックT
RKWTと異なっていれば書込トラックTRKWTをTRKINに変更
し、書込ポインタWPTに基づいてメモリ18に2バイトの
トラックチェンジデータ(FFHおよびTRKWT)を書き込
み、ポインタWPTを次の書き込みアドレスへ2カウント
進める(ステップ639〜641)。一方、入力データの書込
トラックTRKINと現在の書込トラックTRKWTとが同じであ
ればステップ639〜641の処理はスキップする。続いて、
書込ポインタWPTに基づいてメモリ18に3バイトの入力
データIN1〜IN3を書き込み、書込ポインタWPTを次の書
き込みアドレスへ3カウント進めた後(ステップ642,64
3)、割込を解除してもとの処理に復帰する。
28.一動作例の説明 第27図は、第1図の録音装置の一動作例を示す。
ここではキーイベントデータK1,K2,K3およびK4からなる
同図(a)の再生データ(旧シーケンスデータ)にキー
イベントデータKAおよびKBからなる入力データを多重録
音してなる同図(b)の新シーケンスデータを記録する
場合の動作を各レジスタのデータの変化により説明す
る。
記録開始およびキーイベントデータK1の処理 記録スイッチ44がオンすると、処理は記録スイッチオン
処理(第13図)を経てソングスタート処理(第14図)に
進み、ステップ203で書込時刻レジスタRECCNTに書込タ
イマRECTIMERの値0を格納し、ステップ204で経過時間
レジスタLNSAMをクリアする。続いて、キーオンまたは
キーオフイベント処理(第16または17図)に進み、キー
イベントデータK1の旧シーケンスデータエリアからの読
取(ステップ221)と新シーケンスデータエリアへの書
込(ステップ223)を実行する。さらに、ソングスター
ト処理に戻って今度は時間間隔データ処理(第18図)に
進み、再生タイマPLAYTIMERおよび残余時間レジスタLNR
ESTにそれぞれ時間間隔データである8をセットする
(ステップ263,264)。以上の数十ステップの処理は、
演奏音としてのマクロ的立場からは実質的に同時とみな
される程短時間に実行される。以下の各キーイベントデ
ータの処理もマクロ的に見れば瞬時に実行される。
キーイベントデータKAの処理 キーイベントデータKAが入力すると、入力割込処理(第
25図)を実行し、データKAを読み込み(ステップ60
2)、次いで書込時刻レジスタRECCNTは旧データ0を旧
書込時刻レジスタOLDRCNTに退避させてから新たなRECTI
MER値(書込時刻)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および入力キーイベントデ
ータKAを新シーケンスデータエリアへ書き込む(ステッ
プ636,642)。
キーイベントデータK2の処理 再生タイマPLAYTIMERがプセット値8をダウンカウント
して計数値が0になると、再生割込処理(第23図)を実
行する。そして、書込時刻RECCNTを旧RECCNT+(LNREST
-LNSAM=5+(3−0)=8で更新し、LNSAMをクリア
し、さらに時間間隔LENとしてKAからK2までの残余時間L
NREST=3をセットし、時間間隔LEN=3を新データエリ
アに書き込んだ(ステップ402〜405)後、キーイベント
処理(第16または17図)に進み、キーイベントデータK2
の読取と書込を実行する(ステップ221,223)。さら
に、第23図のステップ205戻って今度は時間間隔データ
処理(第18図)に進み、再生タイマPLAYTIMERおよび残
余時間レジスタLNRESTにそれぞれ時間間隔データである
5をセットする(ステップ263,264)。
キーイベントデータK3の処理 このデータK3の処理は、データK2の処理と同様に行なわ
れる。すなわち、書込時刻RECCNTを旧RECCNT+(LNREST
-LNSAM=8+(5−0)=13に更新し、LNSAMをクリア
し、さらに時間間隔LENとしてK2からK3までの残余時間L
NREST=5をセットし、時間間隔LEN=5を新データエリ
アに書き込んだ(ステップ402〜405)後、キーイベント
処理(第16または17図)に進み、キーイベントデータK3
の読取と書込を実行する(ステップ221,223)。さら
に、第23図のステップ205戻って今度は時間間隔データ
処理(第18図)に進み、再生タイマPLAYTIMERおよび残
余時間レジスタLNRESTにそれぞれ時間間隔データである
250をセットする(ステップ263,264)。
記録割込処理 記録タイマRECTIMERは自走式の8ビットカウンタである
が、このカウンタが255までカウントして次に計数値が
0になると記録タイマ割込(第24図)を実行する。ここ
では、経過時間LNSAMを旧LNSAM+(100H−旧RECCNT)=
0+(256-13)=243に更新し、RECCNTをクリアする。
キーイベントデータKBの処理 このデータKBの処理はKAと同様に実行される。すなわ
ち、データKBを読み込み(ステップ602)、書込時刻レ
ジスタRECCNTの旧データ0を旧書込時刻レジスタOLDRCN
Tに退避させてレジスタRECCNTに新たなRECTIMER値(書
込時刻)1をセットし(ステップ631,632)、イベントK
3からKBまでの時間間隔LEN=LNSAM+(RECCNT-OLDRCN
T)=243+(1−0)=244およびKBからK3までの残余
時間LNREST=旧LNREST-LEN=250-244=6を算出し、経
過時間LNSAMをクリアした(ステップ633〜635)後、時
間間隔データLEN=244および入力キーイベントデータKB
を新シーケンスデータエリアへ書き込む(ステップ636,
642)。
キーイベントデータK4の処理 このデータK4の処理は、データK3の処理と同様に行なわ
れる。すなわち、書込時刻RECCNTを旧RECCNT+(LNREST
-LNSAM=1+(6−0)=7に更新し、LNSAMをクリア
し、さらに時間間隔LENとしてK3からK4までの残余時間L
NREST=6をセットし、時間間隔LEN=6を新データエリ
アに書き込んだ(ステップ402〜405)後、キーイベント
処理(第16または17図)に進み、キーイベントデータK4
の読取と書込を実行する(ステップ221,223)。さら
に、第23図のステップ205戻って今度は時間間隔データ
処理(第18図)に進み、再生タイマPLAYTIMERおよび残
余時間レジスタLNRESTにそれぞれ時間間隔データである
10をセットする(ステップ263,264)。
このようにこの実施例においては、再生した演奏音を記
録する際、タイミング情報を旧タイミングデータに基づ
いて算出するようにしているため、タイミングデータと
して記録時の記録タイマ値を用いる場合のような多重化
による演奏時間の延びは発生しない。
[発明の適用範囲] なお、この発明は上述の実施例に限定されるものではな
く、下記のように種々変形して適用することができる。
例えば、 1.上述においてはシーケンサメモリ18に格納されるシー
ケンスデータが一曲の場合について説明したが、複数曲
にしてもよい。
2.シーケンスデータとして押鍵情報を用いたが、音色変
更等、他のイベント情報を用いることも可能である。
3.入出力のキーコードバッファIKCBUF,OKCBUFはトラッ
クごとに用意したが、端子毎またはチャンネル毎等に用
意してもよい。
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:
入力側キーコードバッファ、OKCBUF:出力側キーコード
バッファ、TBL(csx,csy):入出力状態設定レジスタ。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】外部から入力された演奏情報を記録すると
    ともに記録した演奏情報を外部へ出力する演奏記録再生
    装置において、 外部から入力された演奏情報を記録する記録手段と、 演奏情報を出力するべき出力グループを設定する設定手
    段と、 記録時には、入力された演奏情報を前記設定手段で設定
    された出力グループで出力するとともに、再生時には、
    記録された演奏情報を前記設定手段で設定された出力グ
    ループで出力する出力手段と を備えたことを特徴とする演奏記録再生装置。
  2. 【請求項2】前記グループは、MIDI規格のチャンネルで
    あることを特徴とする特許請求の範囲第1項記載の演奏
    記録再生装置。
  3. 【請求項3】前記グループは、出力端子別のグループで
    あることを特徴とする特許請求の範囲第1項記載の演奏
    記録再生装置。
JP62024867A 1987-02-06 1987-02-06 演奏記録再生装置 Expired - Lifetime JPH0797270B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP62024867A JPH0797270B2 (ja) 1987-02-06 1987-02-06 演奏記録再生装置
EP88101717A EP0278438B1 (en) 1987-02-06 1988-02-05 Multi-recording apparatus of an electronic musical instrument
DE3854624T DE3854624T2 (de) 1987-02-06 1988-02-05 Vorrichtung zur vielfachen Informationsaufzeichnung in einem elektronischen Musikinstrument.
US07/153,333 US4899632A (en) 1987-02-06 1988-02-08 Multi-recording apparatus of an electronic musical instrument
HK188096A HK188096A (en) 1987-02-06 1996-10-10 Multi-recording apparatus of an electronic musical instrument

Applications Claiming Priority (1)

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

Related Child Applications (1)

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

Publications (2)

Publication Number Publication Date
JPS63193193A JPS63193193A (ja) 1988-08-10
JPH0797270B2 true JPH0797270B2 (ja) 1995-10-18

Family

ID=12150161

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPH0797270B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02311898A (ja) * 1989-05-29 1990-12-27 Brother Ind Ltd 演奏記録再生装置
JP5707691B2 (ja) * 2009-11-04 2015-04-30 ヤマハ株式会社 電子鍵盤楽器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63105190U (ja) * 1986-12-26 1988-07-07

Also Published As

Publication number Publication date
JPS63193193A (ja) 1988-08-10

Similar Documents

Publication Publication Date Title
US5847302A (en) Tone information processing device for an electronic musical instrument for generating sounds
US6635816B2 (en) Editor for musical performance data
EP0278438B1 (en) Multi-recording apparatus of an electronic musical instrument
JPH0797270B2 (ja) 演奏記録再生装置
JP2570718B2 (ja) 演奏記録再生装置
JP2888202B2 (ja) 演奏記録再生装置
JPH0797269B2 (ja) 演奏記録再生装置
JP3307598B2 (ja) 演奏記録再生装置
US6274798B1 (en) Apparatus for and method of setting correspondence between performance parts and tracks
JP2894306B2 (ja) 演奏記録再生装置
JP3336690B2 (ja) 演奏データ処理装置
JP2641851B2 (ja) 自動演奏装置
JP2625800B2 (ja) 自動演奏装置
JP2627130B2 (ja) 演奏情報記録装置
JP2563807Y2 (ja) 楽音情報記憶装置
JPH0827624B2 (ja) 自動演奏装置
JP2601250B2 (ja) 自動演奏装置
JP3855908B2 (ja) 演奏データ作成装置及びプログラム
JP2002091446A (ja) 波形再生用自動演奏装置
JP3736101B2 (ja) 自動演奏装置と記録媒体
JPH08106286A (ja) 自動演奏装置
JPH0315197B2 (ja)
JPH05197374A (ja) 自動演奏装置
JPH01182890A (ja) 自動演奏記録再生装置
JPH0540475A (ja) 自動演奏装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term