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

演奏記録再生装置

Info

Publication number
JP2570718B2
JP2570718B2 JP62024866A JP2486687A JP2570718B2 JP 2570718 B2 JP2570718 B2 JP 2570718B2 JP 62024866 A JP62024866 A JP 62024866A JP 2486687 A JP2486687 A JP 2486687A JP 2570718 B2 JP2570718 B2 JP 2570718B2
Authority
JP
Japan
Prior art keywords
recording
data
input
track
performance information
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
JP62024866A
Other languages
English (en)
Other versions
JPS63193192A (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 JP62024866A priority Critical patent/JP2570718B2/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 JPS63193192A publication Critical patent/JPS63193192A/ja
Priority to HK188096A priority patent/HK188096A/xx
Application granted granted Critical
Publication of JP2570718B2 publication Critical patent/JP2570718B2/ja
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図) 発明の適用範囲 [産業上の利用分野] この発明は、電子楽器のキーボードやコンピュータ等
から入力される演奏情報を記録し、更に記憶した演奏情
報を再生して音源等へ出力する演奏記録再生装置に関す
る。
[従来の技術] 従来の演奏記録再生装置においては、鍵盤の操作によ
って、楽音の発音を表わすキーオン情報や楽音の消音を
表わすキーオフ情報からなる演奏情報が発生する。そし
て、これらの演奏情報をそれらが発生するタイミングを
表わすタイミング情報とともに記録し、また、記録した
キーオン情報やキーオフ情報をタイミング情報にもとづ
いて再生し、音源へ出力することによって自動演奏を行
うようにしている。また、近年では、MIDI(Musical I
nstrument Digital Interface)規格によりキーボー
ドや音源装置および演奏情報にチャンネルの識別データ
を付けて通信するようになってきている。
[発明が解決しようとする問題点] 上述の従来の演奏記録再生装置では、単に、入力され
てくる演奏情報をそのまま記憶し、後の再生動作の時に
そのまま読み出して出力するのみであった。このため、
今まで使用していた音源装置とは別のチャンネルが設定
されている音源装置を駆動しようとすれば、演奏情報の
記録時に用いたキーボード等の外部入力装置の送信チャ
ンネルを変更設定し直して再度記録再生させる必要が生
じる。または、新たに使用したい音源装置の受信チャン
ネルを変更設定することによってもこの音源装置を駆動
することが可能だが、この場合、今まで駆動していた音
源装置と同じチャンネルを設定することになり、同じチ
ャンネルの機器が複数になってしまい、以後の区別が困
難となる。
さらに、演奏情報の入力装置として接続する機器の数
が増え、また、再生時に演奏情報を受け取る音源装置な
どの接続機器の数が増えてくると、入力側、出力側の各
チャンネルを変更したい場合には、接続されている各機
器間の現在設定されているチャンネルで重なるものがな
いようにしながら入出力チャンネルを設定し直す必要が
生じる。加えて、中には、チャンネルの変更ができなか
ったり、変更できるチャンネル数が制限されている機器
もあり、場合によってはケーブルでの接続の仕方自体を
やり直す必要も生じ、たいへん面倒であるばかりか記録
ミスや再生ミスにつながり、楽曲の自動演奏情報の記録
再生作業がなかなか進まない等の問題があった。
この発明は、上述のような従来の問題点に鑑み、各機
器の設定や接続の仕方を変更しなくても、演奏記録再生
装置本体のみで自由に入出力関係を変えられるようにす
ることを目的とする。
[問題点を解決するための手段] 上記問題点を解決するためにこの発明の第1の態様に
係る演奏記録再生装置は、複数のMIDIチャンネルのうち
のいずれか一つを表すチャンネル情報と、演奏タイミン
グを表すタイミング情報とを少なくとも含む演奏情報を
それぞれ入力する複数の入力手段と、前記入力手段から
入力される演奏情報を記録する記録トラックを複数有す
る記録手段と、前記複数の記録トラックのそれぞれに、
MIDIチャンネルの一つを対応させて設定する第1の設定
手段と、この第1の設定手段とは別に、前記複数の記録
トラックそれぞれに、MIDIチャンネルの一つを対応させ
て設定する第2の設定手段と、入力された演奏情報に含
まれるチャンネル情報が示すMIDIチャンネルを、第1の
設定手段において設定されているMIDIチャンネルから検
出して、そのMIDIチャンネルに対応する記録トラックを
該入力された演奏情報を書き込むべき記録トラックとし
て設定する記録トラック設定手段と、前記記録トラック
設定手段によって設定された記録トラックに入力された
演奏情報を書き込む書き込み手段と、前記各記録トラッ
クに記録されている演奏情報を、再生時の演奏の進行に
したがって各記録トラックから読み出す読み出し手段
と、前記読み出し手段によって読み出された演奏情報に
含まれるチャンネル情報を、読み出された演奏情報の記
憶されていた記録トラックに応じて前記第2の設定手段
で設定されるMIDIチャンネルに変換する変換手段と、前
記変換手段によってMIDIチャンネルを変換された演奏情
報を出力する出力手段とを備えることを特徴とする。
また、この発明の第2の態様に係る演奏記録再生装置
は、複数のMIDIチャンネルのうちのいずれか一つを表す
チャンネル情報と、演奏タイミングを表すタイミング情
報とを少なくとも含む演奏情報をそれぞれ入力する複数
の入力端子と、前記入力端子から入力される演奏情報を
記録する記録トラックを複数有する記録手段と、それぞ
れが前記演奏情報を出力する複数の出力端子と、前記複
数の記録トラックのそれぞれに、MIDIチャンネルの一つ
および入力端子の一つを対応させて設定する第1の設定
手段と、この第1の設定手段とは別に、前記複数の記録
トラックのそれぞれに、MIDIチャンネルの一つおよび出
力端子の一つを対応させて設定する第2の設定手段と、
入力された演奏情報に含まれるチャンネル情報が示すMI
DIチャンネルおよびその演奏情報が入力された入力端子
を、第1の設定手段において設定されているMIDIチャン
ネルおよび入力端子から検出し、それらに対応する記録
トラックを該入力された演奏情報を書き込むべき記録ト
ラックとして設定する記録トラック設定手段と、前記入
力された演奏情報を前記記録トラック設定手段によって
設定された記録トラックに書き込む書き込み手段と、前
記各記録トラックに記録されている演奏情報を再生時の
演奏の進行にしたがって各記録トラックから読み出す読
み出し手段と、前記読み出し手段によって演奏情報が読
み出された記録トラックに応じて前記第2の設定手段に
よって読み出された演奏情報の出力端子を設定する出力
端子設定手段と、前記読み出し手段によって読み出され
た演奏情報に含まれるチャンネル情報を読み出された記
録トラックに応じて前記第2の設定手段で設定されるMI
DIチャンネルに変換する変換手段と、前記出力端子設定
手段で設定された出力端子から演奏情報を出力する出力
手段とを備えることを特徴とする。
[発明の作用および効果] この発明では、記録時には、複数の入力端子および/
または複数のMIDIチャンネルから入力される複数の演奏
情報をそれぞれ予め決められた複数の記録トラックに対
応して記録し、再生時には、複数の記録トラックに対応
して記録された演奏情報を演奏の進行にしたがって、各
記録トラックを平行して読み出すとともに、読み出され
た演奏情報を予め決められた出力端子および/またはMI
DIチャンネルに対応して出力する。
これにより、第1の設定手段および第2の設定手段の
設定内容を変更することで、この発明の演奏記録再生装
置に接続される各機器の設定や接続の仕方を変更しなく
ても、演奏記録再生装置本体のみで自由に入出力関係を
変えることができる。
[実施例の説明] 以下、図面を用いてこの発明の実施例を説明する。
第1図は、この発明の一実施例に係る電子楽器用多重
録音装置のハードウエア構成を示す。
(第1図の録音装置の概要説明) この録音装置は、いわゆるイベントタイプのもので、
電子楽器のキーボードの押鍵および離鍵を表わすキーイ
ベントデータをそのキーイベントの発生タイミング(時
間間隔)データとともに記録し、記録されたキーイベン
ドデータをそのタイミングデータに基づく時間間隔で再
生し出力する。記録はキーボードやコンピュータ等の演
奏情報発生手段から入力されるキーイベンドデータに基
づいて行ない、再生したキーイベントデータはコーピュ
ータや音源等に送出する。また、入力データと再生デー
タとを組み合せて再生データが読み出されたもとのトラ
ックに記録する多重録音も可能である。
キーイベントデータの入力および出力端子は、8個ず
つ設けられており、各端子には、MIDI(Musical Instr
ument Disital Interface)規格に準拠したチャンネ
ル(以下、MIDIチャンネルという)がそれぞれ16個ずつ
設定されている。つまり、この録音装置は、8×16=12
8個ずつの入力および出力チャンネルを備え、同時に128
台の入力機器(例えば電子楽器のキーボード)と128台
の出力機器(例えば電子楽器の音源)を接続することが
できる。
記録トラックは、64個が設定されており、各トラック
にはそれぞれ所望の1つの入力チャンネルと出力チャン
ネルを割り当てることができる。また、各トラックに
は、同時押鍵中の32鍵分のデータを記録することができ
る。
したがって、この録音装置は、等価的に128台分の楽
器を常時接続しておき、そのうち所望の64台分の楽器を
選択してその演奏を記録再生することができる。また、
出力端子に接続された音源が許容する限り、再生音とし
て、各トラックごとに32音、全体では32×64=2048音ま
で同時発音可能である。
(第1図の録音装置の構成説明) 第1図において、中央処理装置(CPU)10はこの録音
装置全体の動作を制御するためのもので、CPU10には双
方向バスライン12を介してプログラムメモリ14、レジス
タ群16、シーケンサメモリ18、入力装置20、出力装置2
2、スイッチ群24、およびテンポ発生器26が接続されて
いる。
プログラムメモリ14は、リードオンリメモリ(ROM)
等により構成され、CP10用の制御プログラムが格納され
ている。
レジスタ群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バイト目はそのデータの種類を示す識別マークで
ある。
「キーオン」および「キーオフ」データの識別マーク
9X,8XにおけるXはそのデータのMIDIチャンネルを示
す。「キーオン」および「キーオフ」データの第2バイ
ト目は「キーコード」、第3バイト目は「タッチ」情報
を表わす。
「エンドマーク」はパラメータ項の付加されない、識
別マークF2H(16進表示、以下「」を付して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、入力端子Ti1〜Ti8を介して入力され
る演奏情報を一時記憶し、CPU10からの指令により入力
順に出力するFIFO型レジスタからなる入力バッファINBU
Fo〜INBUF7、いずれかの入力端子Ti1〜Ti8に演奏情報が
入力された場合に、それを検出して入力割込信号INPUTI
RQを発生するオアゲート62、入力演奏情報が格納されて
いる入力バッファINBUFo〜INBUF7の番号を検出するエン
コーダ64、およびその番号を入力演奏情報が読み出され
るまで記憶する入力割込ナンバレジスタINIRQNOを具備
する。
出力装置22は第4図に示すように、データバス12と8
個の出力端子T01〜T08との間に接続された出力バッファ
OUTBUFo〜OUTBUF7を備えている。
テンポ発生器26は、第5図に示すように、設定テンポ
値に応じた周波数のクロックφを発生するクロック設定
器70、このクロックφを計数する8ビットのインクリメ
ントカウンタ72、カウンタ72が0(00H)を計数するご
とに記録割込信号RECIRQを出力するノアゲート74、カウ
ンタ72の計数値出力をラッチする書込用カウンタタイマ
(以下、書込タイマという)RECTIMER、シーケンサメモ
リ18から時間間隔データが読み出されたときその時間間
隔値を上位7ビットと下位7ビットとに分けてそれぞれ
格納するためのレジスタPLYTMHとPLYTML、レジスタPLYT
MHとPLYTMLにより上記時間間隔値をプリセットされた後
クロックφをダウンカウトするディクリメントカウンタ
76、カウンタ76の計数値出力が0になったとき再生割込
信号PLAYIRQを出力するノアゲート78、停止モード時等
の再生割込信号PLAYIRQをマスクする際“1"をセットす
るためのレジスタ80、レジスタ80に“1"がセットされた
とき再生割込信号PLAYIRQの出力を禁止するためのイン
バータ82およびアンドゲート84を具備する。
第6図(a)は、レジスタ群16の入出力状態設定レジ
スタTBL(x,y)をテーブルとして表わした図である。同
図において、トラックNo.はシーケンサメモリ18に設定
された記録トラックの番号であり、処理上はカーソルCS
Xの値で表わされる。INPUTはそのトラックに記録しよう
とするデータの入力チャンネルであり、入力端子番号
(CSY=1の欄)およびそのMIDIチャンネル(CSY=2の
欄)で特定される。OUTPUTはそのトラックから読み出し
たデータの出力チャンネルであり、出力端子番号(CSY
=3の欄)およびそのMIDIチャンネル(CSY=4の欄)
で特定される。トラックモード(CSY=5の欄)はその
トラックに対する処理内容を指定する。各トラックモー
ドにおける処理内容を第6図(b)および(c)に示
す。
第6図(b),(c)において、トラックモードO
(stop)はそのトラックに対し読取も書込もせず、その
トラックに対する入力データの出力もしないことを示
す。1(play)はそのトラックに対する入力データの書
込および出力はしないが、演奏モードが再生または記録
(JOB=1または2)であればそのトラックに対する内
部データ(シーケンス演奏データ)を再生し出力端子に
送出することを示す。2(rec)は演奏モードに関わら
ずそのトラックに対する入力データを出力端子に送出す
るとともに演奏モードが記録(JOB=2)であれば入力
データの書込を行ない、かつそのトラックに対する内部
データについては演奏モードが再生または記録(JOB=
1または2)であれば出力端子に送出することを示して
いる。
(第1図の録音装置の動作説明) 次に、第8〜27図のフローチャートを参照しながら第
1図の録音装置の動作を説明する。
1.メイン処理 第8図を参照して、この装置に電源が投入されると、
CPU10はプログラムメモリ12に格納された制御プログラ
ムに従って動作を開始する(ステップ100)。まず、ス
テップ101および102においてはレジスタ群16を初期化す
る。すなわち、ステップ101で出力側キーコードバッフ
ァOKCBUF(0〜63,0〜31)、入力側キーコードバッファ
IKCBUF(0〜63,0〜31)、入出力状態設定レジスタTBL
(0〜63,0〜31)および演奏モードレジスタをクリア
し、再生割込マスキングレジスタPIRQMSKを1(再生割
込禁止)にセットする。なお、これらのレジスタにはRO
Mまたは外部メモリから読み出される所定のプリセット
値を設定するようにしてもよい。ステップ102ではシー
ケンス演奏データの先頭番地SONGTOPおよび最終番地SON
GENDを外部メモリ等から設定する。
初期化終了後は、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で演奏モードJ
OBとカーソルy座標CSYを検査する。演奏モードが停止
以外(JOB≠0)であり、かつカーソル指定がトラック
モード以外(CSY≠5)であればメイン処理(第8図)
に戻る。これにより、再生または記録時における入出力
チャンネルの変更を禁止している。
もし、演奏モードが停止(JOB=0)であるか、また
はカーソル指定がトラックモード(CSY=5)であれば
ステップ113に進む。ステップ113ではカーソルy座標CS
Yと入出力情報レジスタ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(c
sx,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に転送し(ステップ11
9)、上記入力データバッファIN1〜IN3に格納されてい
るキーオフデータをMIDIチャンネルデータのみデータOU
TCHに変換して出力データバッファ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を越えていれば、該当する
トラックにおける入力側キーコードバッファ全部の検査
およびキーオフ処理を終了したのであるから、ステップ
114に進み、上述のように入出力情報レジスタTBL(csx,
csy)の内容をオンしたスイッチが38であるか40である
かに従ってインクリメントまたはデクリメントした後、
メイン処理(第8図)に戻る。
3.UP/DOWNスイッチ処理 第2図のUPスイッチ24およびDOWNスイッチ36は第6図
(a)の入出力状態テーブル上でカーソルx軸CSXを上
下に移動させるためのものである。
第10図を参照して、ステップ131ではUPスイッチ34お
よびDOWNスイッチ36を検査する。そして、これらのスイ
ッチ34,36のいずれかがオンしていればオンのスイッチ
が34であるか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軸CS
Yを1〜5の範囲でインクリメントまたはデクリメント
した(ステップ142)後、一方、スイッチ30,32のいずれ
もオンしていなければステップ141から直接メイン処理
(第8図)に戻る。
5.PLAYスイッチオン処理 第12図を参照して、ステップ151では再生モードスイ
ッチ42がオンしたか否かを判定する。もし、オンしてい
なければそのままメイン処理(第8図)に戻る。一方、
オンしていればステップ152で演奏モードレジスタJOBを
1にセットし、ステップ200のソングスタート処理(第1
4図)を実行した後、メイン処理(第8図)に戻る。
6.RECスイッチオン処理 第13図を参照して、ステップ161では記録モードスイ
ッチ44がオンしたか否かを判定する。もし、オンしてい
なければそのままメイン処理(第8図)に戻る。一方、
オンしていればステップ162で演奏モードレジスタJOBに
2をセットし、ステップ200のソングスタート処理(第1
4図)を実行した後、メイン処理(第8図)に戻る。
7.ソングスタート処理 第2図の再生スイッチ42または記録スイッチ44がオン
されると、それぞれ演奏モードレジスタJOBに1または
2を設定した後、ステップ200のソングスタート処理を
実行する。このソングスタート処理においては、再生お
よび記録に用いられるレジスタ類をプリセットした後、
シーケンサメモリ18からシーケンサ演奏データの第1バ
イト目である識別マークを読み取り、この識別マークに
応じてキーオン、キーオフ、トラックチェンジ、時間間
隔およびエンドマーク等の各データの読取およびこれら
のデータに応じた処理を行なう。なお、このデータ読取
は時間間隔データまたはエンドマークが読み取られるま
で繰り返される。
第14図を参照して、まず、ステップ201で読取ポイン
タRPTをシーケンス演奏データの先頭番地SONGTOPに、書
込ポインタWPTをシーケンス演奏データの最終番地SONGE
NDの次の番地にプリセットし、このときの書込ポインタ
WPTの値を新たなシーケンス演奏データの先頭番地SONGT
OPとして記憶する。さらに、再生割込マスクPIRQMSKを
クリアして再生割込PLAYIRQを可能化し(ステップ20
2)、書込タイマRECTIMER(第5図)の出力値を書込時
刻レジスタRECCNTに格納し(ステップ203)、経過時間
レジスタLNSAMをクリアする(ステップ204)。
次に、シーケンサメモリ18から読取ポインタRPTでア
ドレス指定される1バイトのデータを読み取ってフラグ
FLGに格納する(ステップ205)。シーケンサメモリ18に
格納されているシーケンス演奏データの第1バイト目は
データ種類を表わす識別マークである(第7図参照)。
ステップ206ではフラグFLGの内容を判別し、判別結果に
応じてトラックチェンジ(ステップ210)、キーオンイ
ベント(ステップ220)、キーオフイベント(ステップ2
40)、時間間隔(ステップ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に格納した後、現在の読取トラックT
RKRDと書込トラックTRKWTとを比較する(ステップ213,2
14)。同じであればそのままもとの処理(第14または23
図)に戻る。異なっているときは、書込ポインタWPTの
アドレス指定に基づきシーケンサメモリ18へ2バイトの
トラクチェンジデータRD1,RD2を書き込み、書込ポイン
タWPTを次の書込アドレスへ2カウント進め、書込トラ
ックナンバRKWTをナンバTRKRDに変更した(ステップ215
〜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を送出すべき出力端子TBL(
TRKRD,3)および出力MIDIチャンネルTBL(TRKRD,4)を
読み取ってそれぞれレジスタOUTTRMおよびOUTCHに格納
し、ステップ221で読み取ったキーオンデータRD1〜RD3
の中の入力MIDIチャンネルXHのみ出力MIDIチャンネルOU
TCHで置き換えたキーオンデータを作成して出力データ
バッファ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(=
OUT2)が書き込まれているものをクリアして、もとの処
理(第14または23図)に戻る。
11.時間間隔データ処理 第14または23図のステップ206においてフラグFLGに格
納されている識別マークがF4Hであればステップ260の時
間間隔データ処理(第18図)を実行する。
第18図を参照して、読取ポインタRPTに基づいて3バ
イトの時間間隔データを読み取って1バイトずつを読取
データバッファRD1〜RD3に格納し、ポインタRPTを次の
読取アドレスまで3カウント進め、読み取った時間間隔
RD2,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でキーコードが
OKRCBUF(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図)に戻り、さらに
STOPオン処理(第20図)に戻る。
16.STOPオン処理(続き) 第20図を参照して、ステップ173では演奏モードレジ
スタJOBを0にセットし、ステップ174で再生割込マスク
レジスタPIRQMSKが1であるか否かを検査する。1であ
れば停止スイッチをオンする前にシーケンス演奏データ
の再生および新演奏データ領域への転記は終了している
(第19図ステップ276参照)。0であれば未転記のデー
タが残っているからステップ175〜181において残存する
データを新演奏データの最後に付加する。
すなわち、ステップ175で書込トラックTRKWTと読取ト
ラックTRKRDとを比較し、異なっていれば書込ポインタW
PTに基づいてシーケンサメモリ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のキーイベントデータ入力後の残余時間であ
り、LNSAMはこのキーイベントデータ入力後の経過時間
である。
続いて、レジスタLNSAMをクリアし(ステップ403)、
残余時間LNRESTを時間間隔レジスタLENにセットした
(ステップ404)後、書込ポインタWPTに基づきシーケン
サメモリ18に識別マークF4H、レジスタLENの上位7ビッ
トおよびレジスタLENの下位7ビットからなる3バイト
の時間間隔データを書き込み(ステップ405)、さら
に、ポインタWPTを次の書込アドレスへ3カウント進め
る(ステップ406)。
ステップ407では書込トラックナンバTRKWTと読取トラ
ックナンバTRKRDとを比較し、異なっていれば書込トラ
ックを読取トラックと同じに切り換えるため、レジスタ
TRKWTにトラックナンバ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−RECCN
T)のRECCNTはキーイベントデータ入力後カウンタ72が
最初にオーバーフローするまでの時間を算出するための
項であり、算出後はクリアされる(ステップ503)。
ステップ504では経過時間LNSAMが3FFHを越えたか否か
を判定する。この録音装置は、時間間隔計測用のカウン
タ(第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図を参照して、先ず、入力割込ナンバレジスタIN
IRQNOより入力のあった端子番号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をレジス
タTRKINに格納する。続いて、そのトラックの出力端子T
BL(TRKIN,3)および出力MIDIチャンネルTBL(TRKIN,
4)を読み取ってそれぞれOUTTRMおよびOUTCHに格納し
(ステップ612)、入力データIN1〜IN3のMIDIチャンネ
ルデータをOUTCHで入れ換えた出力データOUT1〜OUT3を
作成し(ステップ61)、この出力データを出力端子OUTT
RMへ送出した後、ステップの入力側キーコードバッファ
処理(第26図)を実行する。
26.入力側キーコードバッファ処理 第26図を参照して、ステップ621では入力データがキ
ーオン、キーオフのいずれのイベントデータであるかを
判別する。キーオンイベントであればステップ622でト
ラックTRKINの32個のバッファのうち空いているものに
キーコードKC(=IN2)を書き込んだ後、もとの処理
(第25図ステップ625)へ戻る。キーオフイベントであ
ればステップ623でトラックTRKINの32個のバッファのう
ちキーコードKCと同じデータが格納されているものをク
リアした後、もとの処理(第25図ステップ625)へ戻
る。
21.入力割込処理(続き) 第25図を参照して、ステップ625では演奏モードJOBを
確認する。入力データの書込は記録(JOB=2)時のみ
行なうものであるから記録モードでなければ、直ちに割
込を解除してもとの処理に戻る。一方、記録モードであ
ればステップ631に進んで前キーイベントデータの書込
時刻RECCNTをレジスタOLDRCNTに書き込んだ後、ステッ
プ632で書込用カウンタタイマRECTIMER(第5図)が示
す現在時刻をレジスタRECCNTに書き込む。次に、LNSAM
+(RECCNT−OLDRCNT)を算出して時間間隔レジスタLEN
に格納し(ステップ633)、LNREST−LENを算出して残余
時間レジスタLNRESTに格納し(ステップ634)、レジス
タLNSAMをクリアする(ステップ635)。さらに、書込ポ
インタWPTに基づいてシーケンサメモリ18に3バイトの
時間間隔データを書き込み(ステップ636)、ポインタW
PTを次のデータ書込アドレスへ3カウント進めた(ステ
ップ637)後、入力データの書込トラックナンバTRKINと
現在の書込トラックナンバTRKWTとを比較する。
入力データの書込トラックTRKINが現在の書込トラッ
クTRKWTと異なっていれば書込トラックTRKWTをTRKINに
変更し、書込ポインタWPTに基づいてメモリ18に2バイ
トのトラックチェンジデータ(FFHおよびTRKWT)を書き
込み、ポインタWPTを次の書き込みアドレスへ2カウン
ト進める(ステップ639〜641)。一方、入力データの書
込トラックTRKINと現在の書込トラックTRKWTとが同じで
あればステップ639〜641の処理はスキップする。続い
て、書込ポインタWPTに基づいてメモリ18に3バイトの
入力データIN1〜IN3を書き込み、書込ポインタWPTを次
の書き込みアドレスへ3カウント進めた後(ステップ64
2,643)、割込を解除してもとの処理に復帰する。
22.一動作例の説明 第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および残余時間レジスタL
NRESTにそれぞれ時間間隔データである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をクリアした(ステップ6
33〜635)後、時間間隔データLENおよび入力キーイベン
トデータKAを新シーケンスデータエリアへ書き込む(ス
テップ636,642)。
キーイベントデータK2の処理 再生タイマPLAYTIMERがプセット値8をダウンカウン
トして計数値が0になると、再生割込処理(第23図)を
実行する。そして、書込時刻RECCNTを旧RECCNT+(LNRE
ST−LNSAM=5+(3−0)=8で更新し、LNSAMをクリ
アし、さらに時間間隔LENとしてKAからK2までの残余時
間LNREST=3をセットし、時間間隔LEN=3を新データ
エリアに書き込んだ(ステップ402〜405)後、キーイベ
ント処理(第16または17図)に進み、キーイベントデー
タK2の読取と書込を実行する(ステップ221,223)。さ
らに、第23図のステップ205に戻って今度は時間間隔デ
ータ処理(第18図)に進み、再生タイマPLAYTIMERおよ
び残余時間レジスタLNRESTにそれぞれ時間間隔データで
ある5をセットする(ステップ263,264)。
キーイベントデータK3の処理 このデータK3の処理は、データK2の処理と同様に行な
われる。すなわち、書込時刻RECCNTを旧RECCNT+(LNRE
ST−LNSAM=8+(5−0)=13に更新し、LNSAMをクリ
アし、さらに時間間隔LENとしてK2からK3までの残余時
間LNREST=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を新シーケンスデータエリアへ書き込む(ステップ63
6,642)。
キーイベントデータK4の処理 このデータK4の処理は、データK3の処理と同様に行な
われる。すなわち、書込時刻RECCNTを旧RECCNT+(LNRE
ST−LNSAM=1+(6−0)=7に更新し、LNSAMをクリ
アし、さらに時間間隔LENとしてK3からK4までの残余時
間LNREST=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 (2)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のMIDIチャンネルのうちのいずれか一
    つを表すチャンネル情報と、演奏タイミングを表すタイ
    ミング情報とを少なくとも含む演奏情報をそれぞれ入力
    する複数の入力手段と、(図3 Ti1〜8,62〜64) 前記入力手段から入力される演奏情報を記録する記録ト
    ラックを複数有する記録手段と、(図1 シーケンサメモ
    リ18) 前記複数の記録トラックのそれぞれに、MIDIチャンネル
    の一つを対応させて設定する第1の設定手段と、(図6a
    input側) この第1の設定手段とは別に、前記複数の記録トラック
    それぞれに、MIDIチャンネルの一つを対応させて設定す
    る第2の設定手段と、(図6a output側) 入力された演奏情報に含まれるチャンネル情報が示すMI
    DIチャンネルを、第1の設定手段において設定されてい
    るMIDIチャンネルから検出して、そのMIDIチャンネルに
    対応する記録トラックを該入力された演奏情報を書き込
    むべき記録トラックとして設定する記録トラック設定手
    段と、(図25 612,613) 前記記録トラック設定手段によって設定された記録トラ
    ックに前記入力された演奏情報を書き込む書き込み手段
    と、(図25 632〜642) 前記各記録トラックに記録されている演奏情報を、再生
    時の演奏の進行にしたがって各記録トラックから読み出
    す読み出し手段と、(図14 205) 前記読み出し手段によって読み出された演奏情報に含ま
    れるチャンネル情報を、読み出された演奏情報の記憶さ
    れていた記録トラックに応じて前記第2の設定手段で設
    定されるMIDIチャンネルに変換する変換手段と、(図16
    227,図17 247) 前記変換手段によってMIDIチャンネルを変換された演奏
    情報を出力する出力手段と(図25 614) を備えることを特徴とする演奏記録再生装置。
  2. 【請求項2】複数のMIDIチャンネルのうちのいずれか一
    つを表すチャンネル情報と、演奏タイミングを表すタイ
    ミング情報とを少なくとも含む演奏情報をそれぞれ入力
    する複数の入力端子と、(図3 Ti1〜8) 前記入力端子から入力される演奏情報を記録する記録ト
    ラックを複数有する記録手段と、(図1 シーケンスメモ
    リ18) それぞれが前記演奏情報を出力する複数の出力端子と、
    (図4 To1〜8) 前記複数の記録トラックのそれぞれに、MIDIチャンネル
    の一つおよび入力端子の一つを対応させて設定する第1
    の設定手段と、(図6a input側) この第1の設定手段とは別に、前記複数の記録トラック
    それぞれに、MIDIチャンネルの一つおよび出力端子の一
    つを対応させて設定する第2の設定手段と、(図6a out
    put側) 入力された演奏情報に含まれるチャンネル情報が示すMI
    DIチャンネルおよびその演奏情報が入力された入力端子
    を、第1の設定手段において設定されているMIDIチャン
    ネルおよび入力端子から検出し、それらに対応する記録
    トラックを該入力された演奏情報を書き込むべき記録ト
    ラックとして設定する記録トラック設定手段と、(図25
    612,613) 前記入力された演奏情報を前記記録トラック設定手段に
    よって設定された記録トラックに書き込む書き込み手段
    と、(図25 632〜642) 前記各記録トラックに記録されている演奏情報を再生時
    の演奏の進行にしたがって各記録トラックから読み出す
    読み出し手段と、(図14 205) 前記読み出し手段によって演奏情報が読み出された記録
    トラックに応じて前記第2の設定手段によって読み出さ
    れた演奏情報の出力端子を設定する出力端子設定手段
    と、(図16 226,図17 246) 前記読み出し手段によって読み出された演奏情報に含ま
    れるチャンネル情報を読み出された記録トラックに応じ
    て前記第2の設定手段で設定されるMIDIチャンネルに変
    換する変換手段と、(図16 227,図17 247) 前記出力端子設定手段で設定された出力端子から演奏情
    報を出力する出力手段と(図25 614) を備えることを特徴とする演奏記録再生装置。
JP62024866A 1987-02-06 1987-02-06 演奏記録再生装置 Expired - Lifetime JP2570718B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP62024866A JP2570718B2 (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
JP62024866A JP2570718B2 (ja) 1987-02-06 1987-02-06 演奏記録再生装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP8212139A Division JP2888202B2 (ja) 1996-07-24 1996-07-24 演奏記録再生装置

Publications (2)

Publication Number Publication Date
JPS63193192A JPS63193192A (ja) 1988-08-10
JP2570718B2 true JP2570718B2 (ja) 1997-01-16

Family

ID=12150134

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2570718B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2896716B2 (ja) * 1991-03-01 1999-05-31 ヤマハ株式会社 自動演奏装置
JP7063354B2 (ja) * 2020-07-28 2022-05-09 カシオ計算機株式会社 電子楽器、演奏情報記憶方法、及びプログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
GB2162989A (en) Tone information processing device for an electronic musical instrument
EP0278438B1 (en) Multi-recording apparatus of an electronic musical instrument
JP2570718B2 (ja) 演奏記録再生装置
JPH09127938A (ja) 演奏記録再生装置
JPH0797270B2 (ja) 演奏記録再生装置
JPH02311898A (ja) 演奏記録再生装置
JPH0797269B2 (ja) 演奏記録再生装置
JP2780403B2 (ja) 演奏記録装置
JP3307598B2 (ja) 演奏記録再生装置
JP2019179210A (ja) 電子楽器、演奏情報記憶方法、及びプログラム
JP2894306B2 (ja) 演奏記録再生装置
JPH01177591A (ja) 自動演奏装置
JP2641851B2 (ja) 自動演奏装置
JP2623054B2 (ja) 演奏情報記録装置
JP2715833B2 (ja) 楽音発生装置
JPS6252317B2 (ja)
JPS6252316B2 (ja)
JP2643508B2 (ja) 電子楽器の自動演湊装置
JPS6113599B2 (ja)
JPH0827624B2 (ja) 自動演奏装置
JP2020173485A (ja) 電子楽器、演奏情報記憶方法、及びプログラム
JPH06124086A (ja) 演奏情報記録装置
JP2583377B2 (ja) 自動演奏装置
JPH08185164A (ja) 自動演奏制御装置及びそれに使用する楽曲データ記憶装置
JP2607413B2 (ja) 自動演奏装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term