JPH0690617B2 - 電子楽器 - Google Patents

電子楽器

Info

Publication number
JPH0690617B2
JPH0690617B2 JP62025886A JP2588687A JPH0690617B2 JP H0690617 B2 JPH0690617 B2 JP H0690617B2 JP 62025886 A JP62025886 A JP 62025886A JP 2588687 A JP2588687 A JP 2588687A JP H0690617 B2 JPH0690617 B2 JP H0690617B2
Authority
JP
Japan
Prior art keywords
data
fmp
key
performance data
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP62025886A
Other languages
English (en)
Other versions
JPS63193189A (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 JP62025886A priority Critical patent/JPH0690617B2/ja
Priority to US07/153,226 priority patent/US4898059A/en
Publication of JPS63193189A publication Critical patent/JPS63193189A/ja
Publication of JPH0690617B2 publication Critical patent/JPH0690617B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 「産業上の利用分野」 この発明は、電子楽器本体内の演奏データを記憶再生す
ると共に、楽器本体に着脱自在な外部記憶手段へ該演奏
データを転送することができる電子楽器に関する。
「従来の技術」 鍵盤演奏に対応する演奏データを内部に記憶し、この記
憶した演奏データによって自動演奏を行えるようにした
電子楽器が開発されている。また、この種の電子楽器に
おいては、内部に記憶した演奏データを外部メモリに転
送し得るようになっている(例えば、特開昭59-139093
号公報参照)。
「発明が解決しようとする問題点」 ところで、上述した従来の電子楽器においては、外部メ
モリの記憶容量を考慮せずに、内部メモリに記憶されて
いる演奏データを一意的に当該外部メモリへ転送する形
態であり、外部メモリの記憶容量が内部メモリより小さ
いと、この内部メモリから読み出した演奏データの全部
を転送することができず、転送エラーが発生してしま
う。
したがって、こうした転送エラーを避けるためには、外
部メモリの記憶容量を内部メモリの記憶容量と同じにす
るか、あるいはそれ以上のものを用いる必要が生じる。
このため、比較的価格が安価な記憶容量の少ないメモリ
を外部メモリとして使用することができず、コストアッ
プを招致する要因となっていた。
さらに、上述したように、記憶容量の少ない外部メモリ
に演奏データを転送すると、転送エラーに起因して作成
した演奏データが無駄になってしまうという欠点もあっ
た。
この発明は、上述した事情に鑑みてなされたもので、内
部メモリの記憶容量よりも少ない記憶容量の外部メモリ
を用いた場合でも、転送エラーを起こすことがなく、し
かも、転送用に作成した演奏データを無駄にすることが
ない電子楽器を提供することを目的としている。
「問題点を解決するための手段」 この発明は、楽器本体内に設けられ、演奏データを記憶
する内部記憶手段と、前記楽器本体と着脱自在に構成さ
れる外部記憶手段とを有する電子楽器において、前記演
奏データの転送を指示する転送指示手段と、前記転送指
示手段によって転送が指示された場合、前記外部記憶手
段の記憶容量を判定する判定手段と、この判定手段によ
って判定された記憶容量に応じて前記内部記憶手段から
前記演奏データの全部あるいは前記演奏データの一部を
読み出して前記外部記憶手段へ転送する転送制御手段と
を具備することを特徴としている。
「作用」 上記構成によれば、転送指示手段が内部記憶手段に記憶
されている演奏データの転送を指示すると、判定手段が
外部記憶手段の記憶容量を判定し、転送制御手段が判定
された記憶容量に応じて前記内部記憶手段から前記演奏
データの全部あるいは前記演奏データの一部を読み出し
て前記外部記憶手段へ転送する。
これにより、内部記憶手段より小さい記憶容量の外部記
憶手段を用いた場合でも、演奏データの一部が転送され
るから、従来のように転送エラーが発生せず、転送用に
作成した演算データを無駄にすることもなくなる。
「実施例」 以下、図面を参照してこの発明の実施例について説明す
る。
(1)第1の実施例 (1−1)第1の実施例の構成 第1図は、この発明の第1の実施例の構成を示すブロッ
ク図である。図において、1は装置各部を制御するCPU
(中央処理装置)であり、プログラムメモリ2内に記憶
されているプログラムに基づいて動作する。3はCPU1の
処理にしたがって種々のデータが記憶されるワーキング
エリアであり、後述する各種レジスタが設定されてい
る。
5は、アッパーキーUK、ロワーキーLK、ペダルキーPKお
よびソロキーSKからなるキースイッチ部であり、上記各
キーのオン/オフ情報がキースイッチインターフェース
6を介してCPU1に供給される。ここで、ソロキーSKと
は、ソロ演奏時に用いられるキーであり、後着優先ある
いは最高音優先の処理により、いづれか1音のみが有効
となるようになっている。通常ソロキーSKはアッパーキ
ーUKの上段に設けられている。
4は、液晶表示器およびそのドライブ回路によって構成
されている表示部であり、CPU1の制御の下に、各種メッ
セージを表示する。
パネルスイッチ部8は、操作パネル上に設けられている
各種スイッチ、すなわち、音色、効果、リズム等を選択
するためのスイッチ、および演奏データを制御するため
のスイッチ等からなっている。このパネルスイッチ部8
の各スイッチのオン/オフ情報はパネルスイッチインタ
ーフェース9を介してCPU1に供給されるようになってい
る。
ここで、第2図に示す各スイッチは、パネルスイッチ部
8における演奏データ制御用のスイッチであり、以下に
これらのスイッチについて説明する。
(i)スイッチFMP・REC スイッチFMP・RECが押されると、CPU1は操作者によって
行われる演奏に対応する演奏データを演奏データメモリ
10に記憶させる。演奏データとは、キースイッチ部5に
おける各キーの音高、オン/オフ情報およびパネルスイ
ッチ部8における音色スイッチ、リズム選択スイッチ等
のオン/オフ情報(レジストレーション情報)から構成
されている。また、スイッチFMP・RECがオンとなってい
る状態において、スイッチUが押されると演奏データの
うちアッパーキーUKのオン/オフ情報を除いたものが演
奏データメモリ10に供給される。同様に、スイッチL、
スイッチP、スイッチS、およびスイッチRが押される
と、ロワーキーLK、ペダルキーPK、ソロキーSKのオン/
オフ情報およびレジストレーション情報が各々除かれる
ように制御される。したがって、演奏者は演奏データメ
モリ10に記憶させるデータの種類を選択することができ
る。
ここで、演算データメモリ10のデータフォーマットを第
3図に示す。この図において、FMP・MuはアッパーキーU
Kのキーデータが記憶されるアッパーキーエリアであ
る。キーデータとは、キーの音高データとオン/オフデ
ータを合わせたものをいう。また、FMP・Mlはロワーキ
ーのキーデータが記憶されるロワーキーエリア、FMP・M
pはペダルキーのキーデータが記憶されるペダルキーエ
リア、FMP・Msはソロキーのキーデータが記憶されるソ
ロキーエリアであり、FMP・Mrはレジストデータが記憶
されるレジストデータエリアである。この場合、アッパ
ーキーエリアFMP・Muが8Kバイト、他のエリアが各々6K
バイトで構成され、全体で32Kバイトの容量となってい
る。
アッパーキーエリアFMP・Mu、ロワーキーエリアFMP・M
l、ペダルキーエリアFMP・Mp.ソロキーエリアFMP・Msお
よびレジストデータエリアFMP・Mrは、各々ポインタP
u、Pl、Pp、Ps、Prによって指示される番地がアクセス
されるようになっており、また、各エリアの開始番地は
図示のように0,n1,n2……となっている。
(ii)スイッチFMP・PLY スイッチFMP・PLYは、演奏データメモリ10に記憶された
演奏データに基づいて自動演奏を行うときに操作される
スイッチである。このスイッチFMP・PLYが押されると、
CPU1は演奏データメモリ10から演奏データを順次読出し
て楽音発生回路12およびリズム音発生回路13に供給す
る。楽音発生回路12は、アッパーキーUK、ロワーキーLK
……等の各キーのオン/オフ情報と音色選択スイッチ等
のオン/オフ情報に基づいてこれらに対応する楽音を発
生する回路である。リズム音発生回路13は、リズム選択
スイッチにより指定されたリズムにより、また、テンポ
指定ボリューム等によって指定されたテンポでリズム伴
奏を作成する回路である。楽音発生回路12およびリズム
音発生回路13の各出力信号はアンプ14によって増幅され
た後スピーカ15に供給される。
(iii)スイッチSAVE スイッチSAVEは、演奏データメモリ10内の演奏データを
外部メモリ(以下RAMパックという)20に転送する際に
操作されるスイッチである。このスイッチSAVEがおされ
ると、CPU1は後述する処理にしたがってデータ転送を行
う。RAMパック20は、電子楽器本体に着脱自在になって
おり、バックアップ電池によって不揮発化されたRAM
(ランダムアクセスメモリ)によって構成されている。
この実施例におけるRAMパックには、8Kバイトのものと3
2Kバイトのものの2種が使用されるようになっている。
(iv)スイッチLOAD スイッチLOADは、RAMパック20内の演奏データを演奏デ
ータメモリ10に書き込む際に操作されるスイッチであ
り、このスイッチLOADが押されると、CPU1はRAMパック2
0内の演奏データを順次演奏データメモリ10内に転送す
る。
また、上記各スイッチの近傍には、オン状態のときに点
灯する発光ダイオード7,7……が設けられている。
以上が、この実施例の構成である。
(1−2)実施例の動作 次に、上記構成によるこの実施例の動作について説明す
る。
スイッチスキャン処理 まず、CPU1は第4図に示すステップSP1より動作を開始
し、次いで、ステップSP2に移って各メモリやレジスタ
の初期設定処理を行う。次に、スイッチFMP・REC、FMP
・PLY、FMP・SAVE、FMP・LOADの順で、これらのスイッ
チが押されたか否かを調べ(ステップSP3〜SP6)、いず
れのスイッチも押されてない場合には、ステップSP7に
移って他の処理を行った後、ステップSP3に戻る。以
後、上記スイッチのいずれかが押されるまで、ステップ
SP3〜ステップSP7からなるループを循環する。
そして、上記ループを循環中にスイッチFMP・RECが押さ
れると、CP1はスイッチFMP・RECの近傍に設けられてい
る発光ダイオード7を点灯させた後、FMP・REC処理ルー
チンLU1に移り、操作者の実際の演奏に対応する演奏デ
ータを演奏データメモリ10に記憶させる処理を行う。
また、同様にしてスイッチFMP・PLY、FMP・SAVE、FMP・
LOADが押されると、各々の近傍にある発光ダイオード7
を点灯させた後、FMP・PLY処理ルーチンLU2、SAVE処理
ルーチンLU3、LOAD処理ルーチンLU4を実行する。
次に、上記各処理ルーチンLU1〜LU4について説明する。
FMP・REC処理ルーチンLU1 まず、タイマ回路(図示略)、あるいはソフト処理によ
るタイマ機能により、1小節をn分割して小節頭で
「0」、小節終りで「n−1」とする。例えば、n=19
2とすれば、小節頭で「0」、小節終りで「191」として
タイミングデータを作成する。
そして、キーの操作に変化があったとき、すなわち、キ
ーがオンもしくはオフとされたとき(以下、キー操作の
変化をイベントという)において、イベントがあったキ
ーの記憶エリア(第3図に示すFMP・Mu、FMP・Ml……参
照)にその時点のタイミングデータを記憶し、さらに、
ポインタを1インクリメントして当該キーのキーデータ
を書き込む。例えば、アッパーキーUKにイベントが発生
した場合は、ポインタPuが指示しているアッパーキーエ
リアFMP・Mlの番地に、イベント発生時のタイミングデ
ータを書き込み、次いで、ポインタPuを1インクリメン
トして次の番地にキーデータ(音高データとオン/オフ
データ)を書き込む。
そして、上記処理を各キーおよびレジスト情報について
同様に行い、演奏データメモリ10内に演奏データを記憶
させていく。また、各記憶エリアの演奏データの最後に
は第3図に示すようにデータの終了を示すデータENDが
書き込まれる。
なお、小節区切の縦線もデータとして取り込んで行くよ
うになっている。
FMP・PLY処理ルーチンLU2 この処理は、演奏データメモリ10内の演奏データを読出
して楽音を発生する処理であり、演奏データメモリ10内
の各エリア毎に先頭番地から順次データ読出しを行う。
この処理は以下の通りである。
まず、ポインタ(Pu、Pl……)が示す番地からタイミン
グデータを読出し、このタイミングデータをワーキング
エリア3内に設定されているタイミングレジスタに取り
込む。次に、ポインタを1インクリメントしてキーデー
タを読出し、このキーデータをワーキングエリア3内の
キーデータレジスタに取り込む。そして、テンポクロッ
クをカウントするタイマカウンタのカウント値とタイミ
ングレジスタ内のタイミングデータとが一致した時点に
おいて、キーデータレジスタ内のキーデータを読出して
楽音発生回路12に供給し楽音発生を行う。
次に、ポインタをインクリメントし、新たなタイミング
データとキーデータを読出してタイミングレジスタとキ
ーデータレジスタに各々取り込む。そして、タイマカウ
ンタの値がタイミングレジスタ内の値と一致した時点
で、上記同様の発音処理を行う。以後同様にして、演奏
データメモリ10からタイミングデータとキーデータとを
ペアで読み出していき、タイマカウンタとタイミングレ
ジスタ内の値が一致した時点で逐次発音処理を行う。
SAVE処理ルーチンLU3 SAVE処理ルーチンLU3は、第4図に示すようにチェック
処理ルーチンLU3aと、この処理に続いて行われるデータ
送出処理ルーチンLU3bとから構成されている。初めに、
チェック処理ルーチンLU3aについて説明する。
(i)チェック処理ルーチンLU3a 第5図はチェック処理ルーチンLU3aを示すフローチャー
トである。このフローチャートに示すように、SAVEスイ
ッチが押されると、その近傍のLEDを点灯させるととも
に、ポインタPu、Pl、Pp、Psの各々に初期値、すなわ
ち、「0」、「n1」、「n2」、「n3」、「n4」をセット
する。また、ワーキングエリア3に設定されているレジ
スタDSP、フラブOVRをクリアする(ステップSP10)。次
に、ステップSP11に移り、本体に接続されているRAMパ
ックの容量をチェックする。この容量チェック処理は第
6図に示すように、まず、RAMパック20が本体に良好に
接続されているかどうかが判定される(ステップSP1
2)。この判定処理はRAMパック20の端子電圧を調べるこ
とによって行われる。RAMパック20の接続状態が不良の
場合は、ステップSP12からステップSP13に移り、RAMパ
ック20の接続が不良である旨を表示部4(第1図)に表
示させた後、スイッチスキャン処理ルーチン(第4図)
に戻る。一方、RAMパック20の接続が正常の場合はステ
ップSP14に移り、RAMパック20の容量がS1かS2かが判定
される。この実施例においては、S1=8K、S2=32Kであ
り、容量の判定はRAMパック20の所定の端子の電圧値を
見ることによって行われる。そして、容量がS2であれば
ステップSP15に移ってレジスタSにS2を代入し、容量が
S1であればステップSP16に移ってレジスタSにS1を代入
する処理を行う。次に、ステップSP15またはステップSP
16の処理を行った後は、第5図に示す処理ルーチンに戻
ってステップSP17に移る。
ステップSP17においては、ポインタPuが示すアッパーキ
ーエリアFMP・Mu内のデータがデータENDかどうかが判定
され、データENDでなければステップSP18に移ってポイ
ンタPuを1インクリメントし、再びステップSP17の判定
を行う。以後、ステップSP17においてデータENDが検出
されるまで、ステップSP17,SP18からなるループを循環
する。そして、ステップSP17において、データENDが検
出されると、ステップSP19に移ってレジスタDSPに(Pu
+1)なる値が代入される。この場合、アッパーキーエ
リアFMP・Muの先頭アドレスは「0」であるから、ステ
ップSP19における演算結果は、アッパーキーエリアFMP
・Muのデータ量(バイト数)を示す値となる。したがっ
て、ステップSP19を終了した時点においては、レジスタ
DSPにはアッパーキーエリアFMP・Muのデータ量を示す値
が代入される。
次に、ステップSP20,21においては、上記ステップSP17,
18と同様にしてポインタP1が指示するロワーキーエリア
FMP・MlのデータがENDデータとなるまで、ポインタPlの
内容をインクリメントする処理が行われる。そして、ス
テップSP20においてENDデータが検出されると、ステッ
プSP21に移ってDSP+(Pl+n1+1)なる演算が行わ
れ、この演算結果がレジスタDSPへ代入される。この場
合、(Pl−n1+1)の値は第3図から分かるようにロワ
ーキーエリアFMP・Ml内のデータ量を示す値となる。し
たがって、ステップSP22の処理後におけるレジスタDSP
の内容は、アッパーキーエリアFMP・Muとロワーキーエ
リアFMP・Ml内の各データ量の和を示す値となる。
次に、ステップSP23,SP24からなるループにおいては、
上記と同様にしてペダルキーエリアFMP・Mp内のデータ
量が検出され、この値がステップSP25においてレジスタ
DSP内に加算される。そして、ステップSP26,SP27からな
るループにおいて、ソロキーエリアFMP・MS内のデータ
量が検出され、この値がステップSP28においてレジスタ
DSPに加算され、さらに、ステップSP29,SP30からなるル
ープにおいてレジストデータエリアFMP・Mu内のデータ
量が検出され、この値がステップSP31においてレジスタ
DSP内に加算される。この結果、ステップSP31の処理後
におけるレジスタDSPの内容は、上記各データエリア内
のデータ量の総和を示す内容となる。ここで、第3図に
示すエリアDEは、上記総和量を視覚的に示したものであ
る。
また、ステップSP31においては、レジスタDSPの内容、
すなわち、演奏データの総量が表示部4に表示される。
次に、ステップSP32に移りレジスタDSPの内容がレジス
タSの内容より大きいか否かが判定される。このとき、
レジスタSには、ステップSP15,SP16の処理により、S1
(8K)またはS2(32K)のいづれかの値が代入されてい
る。そして、レジスタDSP内の演奏データ総量が上記の
数値より大きければ、ステップSP32での判定が「YES」
となってステップSP33へ進む。ステップSP33では以下の
処理が行われる。
○フラグOVERに“1"が立てられる。すなわち、ステップ
SP32の判定が「YES」となる場合は、演奏データメモリ1
0内の演奏データをRAMパック20へ転送するとオーバーフ
ローしてしまう場合であるため、オーバーフローを示す
フラグOVERに“1"が立てられる。
○{(DSP−S)/S}*100なる演算を行い、この演算結
果をレジスタDSPに代入する。この演算結果は、RAMパッ
ク20の容量に対し何%オーバーフローするかを示す値と
なる。
○上記処理の演算結果であるオーバーフロー率を表示部
4に表示する。この場合の表示は、ステップSP31におけ
る表示と1秒間隔で交互に行う。なお、表示部4の表示
スペースが大きい場合は、双方をスタティックに表示す
る。
○警告音を発生する。これはRAMパック20に対し演奏デ
ータをすべてセーブすることができない旨を操作者に知
らせるためである。
以上がステップSP33における処理であり、この処理の後
に、ステップSP34を介してメインルーチンに戻る。すな
わち、データ送出処理ルーチンLU3bに入る。
一方、ステップSP32において「NO」と判定された場合
は、演奏データの転送に際し、オーバーフローが生じな
い場合であるから、ステップSP33の処理を行わず、ステ
ップSP32からステップ34を介してデータ送出処理ルーチ
ンLU3bに入る。
(ii)データ送出処理ルーチンLU3b 次に、データ送出処理ルーチンLU3bについて説明する。
データ送出処理ルーチンLU3bに入ると、ポインタPu,Pl,
Pp,Ps,Prを各々初期値にセットするとともに、ワーキン
グエリア3内に設定されているデータ転送先を示すポイ
ンタPをクリアする(ステップSP40,SP41)。次に、ス
テップSP42に移り、演奏データメモリ10をリードモード
にするとともに、RAMパック20をライトモードにする。
そして、ステップSP43に移りポインタPuが示すデータが
データENDかどうかを判定し、「NO」であればステップS
P44に移ってポインタPuが示す演奏データメモリ内のデ
ータ(この場合はアッパーキーエリアFMP・Mu内のデー
タ)をポインタPが示すRAMパック20内の番地に転送す
る。この転送後においては、ポインタPおよびポインタ
puをそれぞれ1インクリメントした後にステップSP43に
移る。以後は、ステップSP43における判定が「YES」と
なるまでステップSP43,SP44からなるループを循環す
る。このループの循環動作により、アッパーキーエリア
FMP・Mu内の「0」番地からエンドデータENDの手前まで
のデータが、RAMパック20内に転送される。そして、ス
テップSP43の判定が「YES」になると、ステップSP45に
移り、エンドデータENDをポインタPが示すRAMパック20
内の番地に転送し、その後にポインタPを1インクリメ
ントしてステップSP46に移る。
ステップSP46においては、ポインタPlが示すロワーキー
エリアFMP・Ml内のデータがエンドエータENDか否かを判
定し、エンドデータENDでなければステップSP47に移っ
てポインタPlが示すデータをポインタPが示すRAMパッ
ク20内の番地に転送する。そして、転送後において、ポ
インタPlおよびポインタPをともに1インクリメントし
てステップSP48に移る。ステップSP48では、RAMパック2
0が満配になったかどうかが判定される。このような判
定を行うのは、RAMパック20が8Kバイトのものであった
場合には、ロワーキーエリアFMP・Ml内のデータ転送中
にRAMパック20が満配になってしまう可能性があるため
である。前述したアッパーキーエリアFMP・Mu内のデー
タを転送する際は、ステップSP48のような判定を行わな
いが、これはアッパーキーエリアFMP・Muの容量が8Kバ
イトであるためRAMパック20が満配となる可能性がない
からである。ステップSP48の判定が「NO」であれば、再
びステップSP46に移り、以後、エンドデータENDが検出
されるか、RAMパック20が満配になるかのいづれかの状
態となるまで、ステップSP46,SP47,SP48からなるループ
を循環する。このループ循環動作により、ロワーキーエ
リアFMP・Ml内のデータがRAMパック20内に転送されてい
く。ループ循環中において、RAMパック20が満配になる
と、ステップSP48の判定が「YES」となり、ステップSP5
0に移って表示部4にエラー表示を行わせた後、メイン
ルーチンであるスイッチスキャン処理ルーチン(第4
図)に戻る。このように、ロワーキーエリアFMP・Ml内
のデータ転送中にRAMパック20が満肺になった場合は、
エラー表示をしてそれ以後のデータ転送を行わない。
一方、ロワーキーエリアFMP・Ml内のデータ転送中にRAM
パック20が満配にならなければ、ステップSP46において
エンドデータENDが検出されるまでデータ転送を行い、
これにより、ロワーキーエリアFMP・Ml内の全データがR
AMパック20内に転送される。
ステップSP46においてエンドデータENDが検出される
と、処理はステップSP49に移ってエンドデータENDをポ
インタPが示すRAMパック20内の番地に転送し、その後
にポインタを1インクリメントする。
次に、上記ロワーキーエリアFMP・Ml内のデータ転送の
場合と同様にして、ステップSP51,SP52,SP53からなるル
ープにおいてペダルキーエリアFMP・Mp内のデータ転送
が行われ、また、ステップSP55,SP56,SP57からなるルー
プによりソロキーエリアFMP・Ms内のデータ転送が行わ
れる。この場合、各データの転送中にRAMパック20が満
配になれば、ステップSP53あるいはステップSP57におけ
る判定が「YES」となって、エラー表示後にリターンす
る(ステップSP50,SP64)。また、ステップSP54,SP58の
処理は前述したステップSP45の処理と同様である。
上述した各エリアのデータ転送が良好に行われた後は、
ステップSP59に移り、フラグOVRに“1"が立てられてい
るかどうかが判定される。この判定が「YES」の場合
は、ステップSP60に移って、表示部4によりSAVE終了表
示を行うとともに、警告音を停止した後にリターンする
(ステップSP64)。すなわち、フラグOVRが“1"の場合
は、RAMパック20がオーバーフローすることが予め判っ
ているためレジストデータの転送を行わずにメインルー
チンにリターンする。
一方、フラグOVRが“0"の場合は、ステップSP61,SP62か
らなるループにより、レジストデータエリアFMP・Mr内
のデータをRAMパック20内に転送する。そして、ステッ
プSP61において、エンドデータENDが検出されると、ス
テップSP63に移ってエンドデータENDをポインタPが示
す番地に転送し、その後にステップSP60においてSAVE終
了表示を行ってメインルーチンに戻る。
以上がこの実施例におけるSAVE処理の内容である。上記
処理によれば、RAMパック20がオーバーフローする場合
であっても、転送不能データがレジストデータのみであ
る場合は、他のデータをそのまま転送してSAVE処理を終
了する。この場合、レジストデータは、楽音の音色等に
関するデータであるから、音色情報等は転送できないも
のの、キー情報に関するデータは転送できるため、RAM
パック20内のデータに基づく自動演奏が不能となること
はない。
一方、レジストデータ以外にも転送不能データがある場
合は、エラー表示を行い、転送不能の旨を操作者に知ら
せる。操作者は、この表示およびステップSP33のオーバ
ーフロー率表示をみて、演奏データを減らすような演奏
を再度行って演奏データメモリ10に演奏データを記憶さ
せ、この新たな演奏データによって再度SAVE処理を行う
ことができる。
また、上記処理においては、演奏データメモリ10に対し
ては、各エリア毎に読出し動作が行われるがRAMパック2
0に対しては先頭番地から順にデータ書き込みが行われ
ていく。
LOAD処理ルーチンLU4 次に、LOAD処理ルーチンについて説明する。
演奏データメモリ10の容量は、前述したように32Kバイ
トであり、RAMパック20内のデータ量と同じかそれ以上
であるから、前述したチェック処理LU3aのような処理は
不要であり、RAMパック20の接続状態が正常であれば、
直ちにLOAD処理(データ取込処理)を行う。このLOAD処
理は以下のように行われる。
すなわち、RAMパック20の先頭番地からアッパキーエリ
アFMP・Muに順次データを取り込んでいく。そして、エ
ンドデータENDが検出されると、ロワーキーエリアFMP・
Mlに対してデータ取り込みを行い、以後エンドデータEN
Dが検出される毎に、データ取り込みエリアを切り換え
てRAMパック20内のデータを読み込んでいく。この動作
を行うことにより、RAMパック20内の演奏データが全て
演奏データメモリ10に転送される。
以上がこの発明の第1の実施例の動作である。
(2)第2の実施例 次に、この発明の第2の実施例について説明する。第2
の実施例が前述した第1の実施例と異なる点は、チェッ
ク処理ルーチンLU3aのみであり、以下にこの処理につい
て第8図を参照して説明する。
まず、ステップSP70より処理を開始し、ステップ71にお
いてポインタPf,レジスタN,DSPを各々クリアする。ここ
で、ポインタPf,レジスタNは、各々この実施例におい
てワーキングエリア3内に設定されるものであり、ポイ
ンタPfは演奏データメモリ内のアクセスアドレスを指示
する。
次に、ステップSP72に移りRAMパック20の容量チェック
処理を行う。この処理は前述した第6図に示す処理と全
く同様である。ステップSP72の処理が終わると、ステッ
プSP73に移り、ポインタPfが示すデータがエンドデータ
ENDか否かが判定される。この判定が「NO」の場合は以
後「YES」となるまで、ステップSP73、ステップSP74か
らなるループを循環し、ポインタPfをインクリメントし
ていく。すなわち、アッパーキーエリアFMP・Muが番地
「0」から順にアクセスされていく。そして、ステップ
SP73においてエンドデータENDが検出されると、ステッ
プSP75に進み、レジスタNを1インクリメントし、その
値を「1」にする。次に、ステップSP76に進むと、N=
1か否かが判断され、この判定結果が「YES」となっ
て、ステップSP77へ進む。ステップSP77では(Pf+1)
なる演算を行い、この演算結果をレジスタDSPに代入す
る。この時のレジスタDSPの値はアッパーキーエリアFMP
・MuのエンドデータENDの番地に対応するから、演算値
(Pf+1)はアッパーキーエリアFMP・Muのデータ量を
示す。また、ステップSP77ではポインタPfにロワーキー
エリアFMP・Mlの先頭番地であるn1を代入する。そし
て、ステップSP77の処理が終わると、ステップSP73、SP
74からなるループを循環し、ロワーキーエリアFMP・Ml
をその先頭番地「n1」から順次アクセスして行く。そし
て、エンドデータENDが検出されると、ステップSP75に
おいてレジスタNの値を「2」に増加させ、ステップSP
76,SP78を介してステップSP79に至り(DSP+Pf−n1+
1)なる演算を行ってアッパーキーエリアFMP・Muおよ
びロワーキーエリアFMP・Ml内のデータ量を総和算出
し、この算出結果をレジスタDSPに代入する。
以後は、上記処理とほぼ同様にして、各エリアにおける
データ量を順次累算して行く(ステップSP81,SP83,SP8
4)。そして、ステップSP84の処理が行われると、レジ
スタDSPには演奏データの総計値(バイト数)が代入さ
れる。このステップSP84の次にステップSP85の処理が行
われるが、ステップ84の処理は前述した第5図に示すス
テップSP32,SP33からなる処理である。すなわち、オー
バフロー率の表示、フラグOVERの書き込み等が行われ
る。
以上が、第2の実施例における処理である。なお、この
実施例によれば、第8図からわかるようにチェック処理
において用いるポインタがポインタPfのみで済むという
利点がある。
(3)第3の実施例 次に、第3の実施例について説明する。
この実施例においては、FMP・REC処理において、第3図
に示す各エリアにエンドデータENDを書き込んだ際に、
予め設けられたエンドアドレスデータメモリ30(第1
図、第10図参照)に対し、各エリアのデータ量を書き込
む。すなわち、(Pu+1)、(Pl−n1+1)、(Pp−n2
+1)、(Ps−n3+1)、(Pr−n4+1)の値を、各々
データDe0,De1,De2,De3として、第10図に示すようにエ
ンドアドレスデータメモリ30のアドレス「0」〜「4」
に書き込む。また、エンドアドレスデータメモリ30のア
ドレス「5」にエンドアドレスデータENDを書き込む。
そして、チェック処理ルーチンLU3aとして、第9図に示
す処理を行う。
まず、ステップSP90より処理を開始し、ステップSP91に
おいて所定の発光ダイオードを点灯するとともに、ポイ
ンタPe、エンドアドレスデータを記憶するレジスタRD
E、ディスプレイレジスタDSP、フラグOVRを各々クリア
する。ここで、ポインタPeは、第10図に示すように、エ
ンドアドレスデータメモリ10のアクセスアドレスを指示
するポインタである。次に、ステップSP92に移り、RAM
パック20の容量チェック処理を行う。この処理は、第6
図に示す処理と全く同様の処理である。そして、ステッ
プSP63に移りポインタPeが示すデータがエンドデータEN
Dかどうかを判定する。この判定が「NO」の場合は、ス
テップSP94に移り、レジスタRDEにポインタPeが示すデ
ータの値を加算し、その後にポインタPeを1インクリメ
ントしてステップSP93に戻る。以後、ステップSP93にお
いてエンドデータENDが検出されるまで、ステップSP93,
SP94からなるループを循環する。したがって、このルー
プの循環中においては、第10図に示す各番地内のデータ
De0,De1,De2,De3が順次累算されていく。そして、ステ
ップSP93においてエンドデータENDが検出されると、ス
テップSP95に移り、レジスタRDEの内容をレジスタDSPに
代入する。このステップSP95の処理によれば、レジスタ
DSP内には演奏データメモリ10内の全データ量に対応す
る値が代入される。ここで、必要であれば、レジスタDS
Pの内容を表示部4に表示する。次に、ステップSP96に
移るが、このステップの処理は、第5図に示すステップ
SP32とステップSP33の処理と同様である。
以上が第3の実施例の主な処理であり、上記処理以外
は、前述した第1の実施例と同様である。この実施例に
おいては、第9図に示すフローチャートから判るように
チェック処理が極めて高速に行われる利点がある。
なお、上記実施例においては、ステップSP95におけるレ
ジスタDSPの内容表示を省略してもよい。
(4)第4の実施例 次に、第4の実施例について説明する。
この実施例においては、前述した第1〜第3の実施例と
異なり、演奏データメモリ10のメモリマップが第11図に
示すように設定されている。この図においてFMP・Mfで
示されるエリアはキーデータが記憶されるエリアであ
り、先頭番地は「0」番地となっている。また、FMP・M
rで示されるエリアはレジストデータが記憶されるエリ
アであり、先頭番地は「n」となっている。
そして、FMP・REC処理は、次のように行われる。まず、
キーイベントが発生すると、そのタイミングをキーデー
タエリアFMP・Mfに書き込み、次いで、ポインタPFを1
進ませて、パートデータ、オン/オフデータおよび音高
データ(これら合わせて1バイト)を書き込む。ここ
で、パートデータとは、アッパーキー、ロワーキー……
等のパートを示すデータである。この書き込み処理を、
イベントが発生する毎に行う。また、レジストデータの
書き込みも、上記キーデータの場合と同様にして行われ
る。
次に、この実施例のSAVE処理について第12図に示すフロ
ーチャートを参照して説明する。
ステップSP100より動作が開始されると、ステップSP101
において所定の発光ダイオードを点灯させるとともに、
ポインタPF、フラグOVR、レジスタDSPをクリアし、ま
た、ポインタPrにnを代入する。次に、ステップSP102
に移り、RAMパック20の容量チェック処理を行った後
(第6図参照)、ステップSP103に移ってPF>kとなっ
ているかどうかの判定を行う。この判定におけるSには
すでにRAMパック20の容量値が代入されている。ステッ
プSP103の判定が「NO」の場合は、ステップSP104に移り
ポインタPFが示すデータがエンドデータENDかどうかが
判定される。この判定が「NO」の場合は、ステップSP10
5に移りポインタPFを1進めて再びステップSP103に移
る。以後は、ステップSP103あるいはステップSP104で
「YES」となるまでループl1を循環する。ループl1循環
中においてステップSP103の判定が「YES」となると、ス
テップSP106においてエラー表示を行った後、メインル
ーチンに戻る(ステップSP107)。ステップSP103の判定
の意味は、キーデータエリアFMP・Mfのデータ量がRAMパ
ック20の容量を超えているかどうかを判定する処理であ
り、超えている場合は演奏データの転送が不能であると
してエラー表示を行う。
また、ループl1の循環中にステップSP104で「YES」と判
定された場合には、(PF+1)なる演算を行って、レジ
スタDSPに演算結果を代入する。すなわち、キーデータ
エリアFMP・Mfのデータ量を代入する。次に、ステップS
P109においては、上記ステップSP104,SP105,SP108とほ
ぼ同様の処理により、レジストデータエリアFMP・Mr内
のデータ量が検出される。そして、ステップSP110にお
いては、第5図に示すステップSP32,SP33と同様の処理
が行われ、次いで、ステップSP111においてポインタ
PF、Pがクリアされ、ポインタPrにnが設定される。次
に、ステップSP112,SP113においてRAMパック20の接続状
態のチェック処理を行った後、ステップSP114に移って
演奏データメモリ10をリードモード、RAMパック20をラ
イトモードにする。そして、ステップSP115,SP116のル
ープによりキーデータエリアFMP・Mf内のデータをRAMパ
ック20の先頭番地から順に転送する。ステップSP115で
エンドデータが検出されると、ステップSP117に移って
エンドデータENDをポインタPが示す番地に転送し、さ
らに、ポインタPを1進める。次に、ステップSP118に
おいては第7図に示すステップSP59〜SP63と同様の処理
が行われ、その後においてメインルーチンにリターンす
る(ステップSP64)。
以上が第4実施例の処理である。なお、この実施例にお
いては、ステップSP100〜ステップSP110がチェック処理
LU3aに対応し、ステップSP111〜ステップSP118がデータ
送出処理LU3bに対応する。
(5)各実施例の変形例 次に、上記各実施例における種々の変形例について説明
する。
上記各実施例においては、スイッチFMP・RECが押され
た後にスイッチU,L,P……等が押されると、押されたス
イッチに対応するパートデータの記憶が除外されるよう
にしたが、これに代えて、スイッチFMP・RECが押される
と、演奏データメモリ10のライトモードをイネーブルと
し、以後スイッチU,L,P……が押される毎に押されたス
イッチに対応するパートのデータの記憶を順次追加する
ように構成してもよい。
上記各実施例においては、RAMパック20の容量不足の
時において優先して転送するデータはレジストデータを
除くキーデータであったが、いずれのデータを優先転送
するかは任意に設定してよい。例えば、アッパーキーデ
ータ、ロワーキーデータ、ペダルキーデータ、ソロキー
データのいずれか1〜3のデータを優先転送するように
予め設定してもよい。
また、データ転送の対象は、上記各実施例のような自
動演奏データに限らない。例えば、楽器の音色データ
(音色パラメータ)を転送するシステムとして構成して
もよい。すなわち、アッパーキー、ロワーキー、ペダル
キー、ソロキーおよびリズム音源の各音色を特定するデ
ータをそれぞれグループ分けし、これらのグループのい
ずれかを優先転送データ、他を切り捨てデータとして設
定することができる。この場合は、特にRAMパックとし
て小容量のものが接続されているときに好適である。
また、グループ分けしたデータをRAMパックに転送す
る際、すなわち、アッパーキーデータ、ロワーキーデー
タ、ペダルキーデータ……等を転送する際において、各
グループのエンドデータENDのアドレスから転送し得る
最大のグループ数を検出することもできる。なお、この
ような処理は、実施例の説明からも解るように容易であ
る。そして、上記処理を行った場合はRAMパックの容量
に合わせた極めて効率のよいデータ転送を行うことがで
きる。
さらに、グループ分けするデータとしては、第1曲目
の演奏データ、第2曲目の演奏データ……というように
曲毎に分けることも可能である。この場合は転送し得る
曲数だけ転送するように構成してもよい。
また、上記と同様に1曲中の第1楽章、第2楽章…
…というように楽章毎の演奏データをグループ分けして
もよい。
前述した実施例においては、オーバーフローの率を数
値によりパーセント表示したが、これに代えて、表示部
4として多色発光ダイオードを用い、色によるオーバー
フロー表示を行ってもよい。例えば、100%オーバーな
ら黄色、200%オーバーなら赤色、100%以下なら緑色等
の表示を行うようにしてもよい。また、その間例えば、
130%オーバーなら黄色と赤色の中間色にするというよ
うに連続的に色変化する特定の1色として表示を行うよ
うにしてもよい。
「発明の効果」 以上説明したように、この発明によれば、転送指示手段
が内部記憶手段に記憶されている演奏データの転送を指
示すると、判定手段が外部記憶手段の記憶容量を判定
し、転送制御手段が判定された記憶容量に応じて前記内
部記憶手段から前記演奏データの全部あるいは前記演奏
データの一部を読み出して前記外部記憶手段へ転送する
ので、内部記憶手段より小さい記憶容量の外部記憶手段
を用いた場合でも、転送エラーを起こすことがなく、転
送用に作成した演奏データを無駄にすることもなくな
る。しかも、内部記憶手段よりも記憶容量が小さい比較
的安価な外部記憶手段を用いることが可能となることか
ら、コスト低減を図ることもできる。
【図面の簡単な説明】
第1図はこの発明の第1の実施例の構成を示すブロック
図、 第2図は同実施例におけるパネル面を示す正面図、 第3図は同実施例における演奏データメモリ10のメモリ
マップ、 第4図は同実施例におけるスイッチスキャン処理を示す
フローチャート、 第5図は同実施例におけるチェック処理ルーチンを示す
フローチャート、 第6図は同実施例におけるRAMパック容量チェック処理
を示すフローチャート、 第7図は同実施例におけるデータ送出処理を示すフロー
チャート、 第8図はこの発明の第2の実施例におけるチェック処理
を示すフローチャート、 第9図はこの発明の第3の実施例におけるチェック処理
を示すフローチャート、 第10図は同実施例におけるエンドアドレスデータメモリ
30のメモリマップ、 第11図はこの発明の第4の実施例における演奏データメ
モリ10のメモリマップ、 第12図は同実施例におけるSAVE処理を示すフローチャー
トである。 1……CPU(中央処理装置)、2……プログラムメモ
リ、3……ワーキングエリア(以上1〜3は書込制御
部、転送制御部)、5……キースイッチ部(入力用キ
ー)、10……演奏データメモリ(内部記憶手段)、12…
…楽音発生回路(楽音信号発生手段)、13……リズム音
発生回路(楽音発生手段)、20……RAMパック(外部記
憶手段)、30……エンドアドレスデータメモリ(転送制
御部)。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】楽器本体内に設けられ、演奏データを記憶
    する内部記憶手段と、前記楽器本体と着脱自在に構成さ
    れる外部記憶手段とを有する電子楽器において、 前記演奏データの転送を指示する転送指示手段と、 前記転送指示手段によって転送が指示された場合、前記
    外部記憶手段の記憶容量を判定する判定手段と、 この判定手段によって判定された記憶容量に応じて前記
    内部記憶手段から前記演奏データの全部あるいは前記演
    奏データの一部を読み出して前記外部記憶手段へ転送す
    る転送制御手段と を具備することを特徴とする電子楽器。
  2. 【請求項2】前記演奏データは、少なくとも、演奏操作
    に対応するキー操作データと発生すべき楽音の属性を表
    わすレジストレーションデータとから構成され、 前記演奏データの一部とは、前記演奏データから前記レ
    ジストレーションデータを除外したものであることを特
    徴とする特許請求の範囲第1項記載の電子楽器。
JP62025886A 1987-02-06 1987-02-06 電子楽器 Expired - Fee Related JPH0690617B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP62025886A JPH0690617B2 (ja) 1987-02-06 1987-02-06 電子楽器
US07/153,226 US4898059A (en) 1987-02-06 1988-02-08 Electronic musical instrument which compares amount of data recorded in internal memory device with storage capacity of external memory device and selectively transfers data thereto

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62025886A JPH0690617B2 (ja) 1987-02-06 1987-02-06 電子楽器

Publications (2)

Publication Number Publication Date
JPS63193189A JPS63193189A (ja) 1988-08-10
JPH0690617B2 true JPH0690617B2 (ja) 1994-11-14

Family

ID=12178267

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62025886A Expired - Fee Related JPH0690617B2 (ja) 1987-02-06 1987-02-06 電子楽器

Country Status (1)

Country Link
JP (1) JPH0690617B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5129302A (en) * 1989-08-19 1992-07-14 Roland Corporation Automatic data-prereading playing apparatus and sound generating unit in an automatic musical playing system
US7196259B2 (en) 2002-01-11 2007-03-27 Yamaha Corporation Performance data transmission controlling apparatus and electronic musical instrument capable of acquiring performance data

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS573282A (en) * 1980-06-10 1982-01-08 Osawa Seimitsu Kogyo Kk Automatic playing instrument having storing
JPS59206896A (ja) * 1983-05-10 1984-11-22 カシオ計算機株式会社 自動演奏装置

Also Published As

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

Similar Documents

Publication Publication Date Title
US4898059A (en) Electronic musical instrument which compares amount of data recorded in internal memory device with storage capacity of external memory device and selectively transfers data thereto
GB2141283A (en) Auto-playing apparatus
JPH044598B2 (ja)
JPH0820869B2 (ja) 電子楽器
US4909116A (en) Electronic musical instrument generating background musical tone
JP2513000B2 (ja) 電子楽器
EP0296629A2 (en) Electronic musical instrument capable of performing an automatic accompaniment
JP2580662B2 (ja) 電子楽器
JP2551265B2 (ja) 自動演奏データ作成装置
JP2610919B2 (ja) 演奏操作入力装置
JP2937066B2 (ja) 電子楽器
JPS63193189A (ja) 電子楽器
JP3099630B2 (ja) 楽音信号制御装置
JP3116557B2 (ja) 電子楽器の楽音制御装置
JPH0413830Y2 (ja)
JP2599720B2 (ja) 電子楽器
JPH0260189B2 (ja)
JP2503622Y2 (ja) 演奏情報記憶装置
JP2521960B2 (ja) 電子楽器
JPH0434757B2 (ja)
JP2001265344A (ja) 楽音発生装置の制御方法、音色データ転送方法、音色データ制御装置および記録媒体
JP2570783B2 (ja) 自動演奏装置
JP3085677B2 (ja) 楽音信号形成装置
JP3141448B2 (ja) 自動伴奏装置
JP2692360B2 (ja) 電子楽器

Legal Events

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