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

演奏記録再生装置

Info

Publication number
JPH09127938A
JPH09127938A JP8212139A JP21213996A JPH09127938A JP H09127938 A JPH09127938 A JP H09127938A JP 8212139 A JP8212139 A JP 8212139A JP 21213996 A JP21213996 A JP 21213996A JP H09127938 A JPH09127938 A JP H09127938A
Authority
JP
Japan
Prior art keywords
data
recording
input
key
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP8212139A
Other languages
English (en)
Other versions
JP2888202B2 (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 JP8212139A priority Critical patent/JP2888202B2/ja
Publication of JPH09127938A publication Critical patent/JPH09127938A/ja
Application granted granted Critical
Publication of JP2888202B2 publication Critical patent/JP2888202B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 (修正有) 【課題】 各機器の設定や接続の仕方の変更なしでも演
奏記録再生装置本体のみで自由に入出力関係を変え得
る。 【解決手段】 演奏タイミング情報を含む演奏情報を記
録する記録トラックを複数有する記録手段と、演奏情報
を出力する複数の出力端子とを備え、複数の演奏情報が
記録手段に複数の記録トラックの演奏情報として記録し
た演奏情報を出力する演奏記録再生装置において、複数
の記録トラック毎に、記録すべき演奏情報が入力される
入力端子を設定する第1の設定手段と、複数の記録トラ
ック毎に、演奏情報が出力される出力端子を設定する第
2の設定手段と、入力演奏情報を第1の設定手段で設定
した記録トラックへの書込手段と、各記録トラックに記
録した演奏情報を再生時の演奏の進行に従い各記録トラ
ックの読出手段と、読出手段により読み出した演奏情報
を第2の設定手段で設定される出力端子に出力する出力
手段とを設ける。

Description

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

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 演奏タイミングを表わすタイミング情報
    を少なくとも含む演奏情報を入力する複数の入力端子
    と、 前記入力端子から入力される演奏情報を記録する記録ト
    ラックを複数有する記録手段と、 それぞれが前記演奏情報を出力する複数の出力端子とを
    備え、複数の演奏情報が前記記録手段に複数の記録トラ
    ックの演奏情報として記録され、記録された演奏情報を
    出力手段から出力する演奏記録再生装置であって、 前記複数の記録トラック毎に、記録すべき演奏情報が入
    力される入力端子を前記複数の入力端子の中から設定す
    る第1の設定手段と、 前記複数の記録トラック毎に、演奏情報が出力される出
    力端子を前記複数の出力端子の中から設定する第2の設
    定手段と、 入力された演奏情報を前記複数の入力端子のそれぞれに
    対応して前記第1の設定手段で設定された記録トラック
    に書き込む書込手段と、 前記各記録トラックに記録されている演奏情報を再生時
    の演奏の進行に従って各記録トラックから読み出す読出
    手段と、 前記読出手段によって読み出された前記複数の記録トラ
    ックに対応している演奏情報を前記第2の設定手段で設
    定されているそれぞれの出力端子に出力する出力手段と
    を備えることを特徴とする演奏記録再生装置。
JP8212139A 1996-07-24 1996-07-24 演奏記録再生装置 Expired - Lifetime JP2888202B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Related Parent Applications (1)

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

Publications (2)

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

Family

ID=16617544

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2888202B2 (ja)

Cited By (3)

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

Cited By (3)

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

Also Published As

Publication number Publication date
JP2888202B2 (ja) 1999-05-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
JP7124371B2 (ja) 電子楽器、方法及びプログラム
JP3700532B2 (ja) 演奏情報編集再生装置
JPH09127938A (ja) 演奏記録再生装置
JP2570718B2 (ja) 演奏記録再生装置
JPH0797270B2 (ja) 演奏記録再生装置
JP3307598B2 (ja) 演奏記録再生装置
JP2780403B2 (ja) 演奏記録装置
JP2641851B2 (ja) 自動演奏装置
JPH0797269B2 (ja) 演奏記録再生装置
JPH02311898A (ja) 演奏記録再生装置
JPH09190182A (ja) 演奏記録再生装置
JP2583377B2 (ja) 自動演奏装置
JP2623054B2 (ja) 演奏情報記録装置
JP4456469B2 (ja) 演奏情報再生装置
JP2601250B2 (ja) 自動演奏装置
JP2627130B2 (ja) 演奏情報記録装置
JP3503487B2 (ja) 自動演奏装置および記憶媒体
JP2002091446A (ja) 波形再生用自動演奏装置
JPH07334154A (ja) 電子楽器のシーケンサ
JPS59162592A (ja) 音楽演奏装置
JPS63187295A (ja) 自動演奏装置
JPH0827624B2 (ja) 自動演奏装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term