JPH0658599B2 - 自動演奏装置 - Google Patents

自動演奏装置

Info

Publication number
JPH0658599B2
JPH0658599B2 JP61118744A JP11874486A JPH0658599B2 JP H0658599 B2 JPH0658599 B2 JP H0658599B2 JP 61118744 A JP61118744 A JP 61118744A JP 11874486 A JP11874486 A JP 11874486A JP H0658599 B2 JPH0658599 B2 JP H0658599B2
Authority
JP
Japan
Prior art keywords
data
memory
block
performance
routine
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
JP61118744A
Other languages
English (en)
Other versions
JPS62276596A (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 JP61118744A priority Critical patent/JPH0658599B2/ja
Publication of JPS62276596A publication Critical patent/JPS62276596A/ja
Priority to US07/453,059 priority patent/US4960030A/en
Publication of JPH0658599B2 publication Critical patent/JPH0658599B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、RAM(ランダム・アクセス・メモリ)等
のバッファメモリと磁気ディスク等の記録媒体とを用い
て楽曲演奏を再生するようにした自動演奏装置に関し、
特にバッファメモリ及び記録媒体間の情報転送を制御す
る制御部の改良に関するものである。
[発明の概要] この発明は、記録媒体から転送制御情報に応じた所定量
の演奏情報をバッファメモリに転送した後残りの演奏情
報を記録媒体からバッファメモリに順次に転送しながら
バッファメモリから演奏情報を読出して演奏を再生する
ことにより再生開始までの待ち時間の短縮を可能にした
ものである。
[従来の技術] 従来、楽器からの演奏情報をバッファメモリを介してフ
ロッピィディスクに記録しておき、演奏再生にあたって
はフロッピィディスクから一定量の演奏情報をバッファ
メモリに転送した後残りの演奏情報をフロッピィディス
クからバッファメモリに転送しながらバッファメモリか
ら演奏情報を読出して演奏を再生するようにした自動演
奏装置が知られている。
[発明が解決しようとする問題点] 上記した従来装置によると、演奏再生時に一定量の演奏
情報をフロッピィディスクからバッファメモリに転送し
てから再生を開始するので、全演奏情報をバッファメモ
リに移した後再生を開始する場合に比べて再生開始まで
の待ち時間が短くなると共にバッファメモリの容量も少
なくてすむ利点がある、 しかしながら、再生開始前にバッファメモリに転送され
る演奏情報の量が演奏されるすべての曲について一定で
あるため、曲によっては再生開始までの待ち時間が長く
なる不都合があった。
すなわち、演奏中に生じたキーオン、キーオフ等のイベ
ントの数をEとし且つ演奏に要した時間をTとして、平
均転送速度Va =E/Tを定義すると、従来装置では、
平均転送速度Va の大きい曲があることを考慮して上記
一定量を比較的大きい値に定めており、平均転送速度V
a の小さい曲については再生開始までの待ち時間が長く
なるのを免れなかった。
[問題点を解決するための手段] この発明の目的は、楽曲の平均転送速度に応じて再生開
始までの待ち時間を変化させることができる新規な自動
演奏装置を提供することにある。
この発明に係る自動演奏装置は、 楽曲の演奏情報と該演奏情報の時間軸方向の密度に対応
する転送制御情報とを記録した記録媒体と、 読き書き可能なメモリと、 前記記録媒体の転送制御情報を参照して前記記録媒体か
ら前記メモリへの演奏情報の初期転送量を決定する決定
手段と、 前記記録媒体の演奏情報のうち前記決定手段で決定され
た初期転送量の演奏情報を前記メモリに初期転送した後
残りの演奏情報を前記メモリに転送する転送手段と、 この転送手段による初期転送の終了後前記メモリの演奏
情報に基づいて自動的に演奏を再生する再生手段と を備えたものである。
[作用] この発明の構成によれば、演奏情報の時間軸方向の密度
に対応する転送制御情報に基づいて演奏情報の初期転送
量を決定し、その初期転送量の分だけ記録媒体からメモ
リに演奏情報を初期転送した後再生を開始するので、再
生開始前の初期転送期間の長さは、楽曲の平均転送速度
を反映したものとなる。すなわち、再生開始までの待ち
時間は、平均転送速度の大きい曲では長くなり、閉院転
送速度の小さい曲では短くなる。
[実施例] 第1図は、この発明の一実施例による自動演奏装置の構
成を示すもので、この自動演奏装置は、楽器演奏の記録
・再生等の処理がマイクロコンピュータによって制御さ
れるようになっている。
全体的構成(第1図及び第2図) 電子楽器10は、自動演奏装置20との間で記録・再生時に
演奏情報を授受するもので、第2に示すように上鍵盤
(UK)12、下円盤(LK)14、ペダル鍵盤(PK)1
6、エクスプレッション(EXP)ペダル18等が設けら
れている。
自動演奏装置20は、第2図に示すように電子楽器10の本
体上に載置して使用可能なもので、フロッピーディスク
等の磁気ディスクを受入れるための受入口20Aが設けら
れている。
第1図において、バス22には、電子楽器10、中央処理装
置(CPU)24、ROM(リード・オンリイ・メモリ)
からなるプログラムメモリ26、RAMからなるワーキン
グメモリ28、RAMからなるバッファメモリ30、磁気デ
ィスク記録装置32、テンポクロック発生器34、制御操作
子群36が接続されている。
電子楽器10は、演奏操作に基づいて各種の演奏情報をバ
ス22に供給すると共に各演奏情報毎に割込命令パルスI
NPをバス22に供給するもので、各割込命令パルスIN
Pは、第8図のイベント割込ルーチンを開始させるのに
用いられる。
中央処理装置(CPU)24は、プログラムメモリ26にス
トアされたプログラムに従って記録・再生等の処理を実
行するもので、これらの処理については第5図乃至第11
図を参照して後述する。
ワーキングメモリ28は、CPU24による各種処理に際し
てレジスタ、ポインタ、フラグ等として利用される多数
の記憶領域を含むもので、この発明の実施に関係するレ
ジスタ類については後述する。
バッファメモリ30は、記録・再生時に演奏情報を一時的
に記憶するためのもので、その記憶内容については第3
図及び第4図を参照して後述する。
磁気ディスク記録装置32は、記録媒体としてフロッピィ
ディスク等の磁気ディスクを有するもので、この磁気デ
ィスクに演奏情報を記録したり、該磁気ディスクから演
奏情報を読取ったりするようになっている。
テンポクロック発生器34は、与えられたテンポに従って
テンポクロックパルスTCLをバス22に供給するもの
で、各テンポクロックパルスTCLは、第10図のテンポ
割込ルーチンを開始させるための割込命令信号として利
用される。
制御操作子群36は、楽音制御用の各種操作子(例えば音
色、効果等の設定操作子)、記録・再生制御用の各種ス
イッチ等を含むもので、各操作子毎に操作情報が検出さ
れるようになっている。記録・再生制御用のスイッチと
しては、記録スイッチ、記録停止スイッチ、再生スイッ
チ、再生停止スイッチ等が設けられている。
バッファメモリの記憶内容(第3図及び第4図) 第3図は、バッファメモリ30のデータ記憶例を示すもの
で、メモリ30には0〜7の8つの記憶ブロックが設けら
れており、各ブロック毎に2048バイトのデータを記憶可
能となっている。メモリ30の書込・読出動作は、「30
A」に示すようにブロック0、1、2…7の順に行なわ
れ、ブロック7の次は再びブロック0に戻って同様な順
序で継続されるものであり、メモリ30はいわゆるリング
バッファとして機能する。
メモリ30において、ブロック0の先頭アドレスBHAに
は、最大ブロック数MAXを示すデータが記憶される。
ここで、最大ブロック数MAXは、演奏記録時にメモリ
30に停電したデータの最大量に対応するブロック数であ
り、詳しくは後述する。なお、他のブロック1〜7には
最大ブロック数MAXが記憶されない。
ブロック0において、先頭アドレスBHAの次のアドレ
スからは、演奏内容に従ってUKオンイベントデータU
OE、LKオンイベントデータLOE、相対時間データ
RTM、UKオフイベントデータUFE、LKオフイベ
ントデータLFE等の演奏データが記憶される。また、
ブロック1〜7についても同様にして演奏データが記憶
される。
記憶される1アドレス分のデータは、1バイトのデータ
であり、その最上位ビットMSBが“1”でマークデー
タであることを表わし、“0”で制御量データであるこ
とを表わす。
UEO、LOE等のオンイベントデータは、2バイトの
データからなり、1バイト目がキーオン(押鍵)ありを
示すキーオンマークデータ、2バイト目が押された鍵の
キーコードを表わすキーコードデータである。各オンイ
ベントデータに関しては、押鍵時のタッチ強さに応じて
押鍵音のエンベロープを制御するためのイニシャルタッ
チデータ、アフタータッチデータ等を記憶するようにし
てもよい。この場合、イニシャルタッチデータは、各々
1バイトのイニシャルタッチマークデータ及びイニシャ
ルタッチ量データで構成すると共に、アフタータッチデ
ータは、各々1バイトのアフタータッチマークデータ及
びアフタータッチ量データで構成することができる。
UFE、LFE等のオフイベントデータは、2バイトの
データからなり、1バイト目がキーオフ(離鍵)ありを
示すキーオフマークデータ、2バイト目が離された鍵の
キーコードを表わすキーコードデータである。
各相対時間データRTMは、キーオン、キーオフ、楽音
制御用操作子の操作等の個々のイベント間の相対時間を
表わすためのもので、1バイト目が相対時間マークデー
タ、2バイト目が相対時間値データとなっている。
第4図は、上記したような各種のマークデータの内容を
例示するもので、UKキーオン、LKキーオン、PKキ
ーオフ、UKキーオフ、LKキーオフ、PKキーオフ、
相対時間、イニシャルタッチ、アフタータッチ、EXP
ペダル、操作子I〜III、エンド等のマークデータのバ
イナリコードが示されている(ただし、イニシャルタッ
チから操作子IIIまでは省略)。エンドマークデータ
は、演奏データ配列の末尾に配置されるもので、演奏デ
ータの終りを表わす。
記録・再生処理の概要(第5図及び第6図) 第5図は、記録処理の概要を示すものである。上記した
ような各種の演奏データは、電子楽器10の演奏操作に基
づいて電子楽器10からバッファメモリ30に供給され、メ
モリ30のブロック0から順次に書込まれる。このとき、
各演奏データ書込アドレスは、ブロックポインタIBN
と、ブロック内アドレスポインタIPとによって指定さ
れる。
メモリ30への書込みに並行してメモリ30から磁気ディス
ク記録装置32には演奏データが転送され、同装置の磁気
ディスク32Aに記録される。ディスク32Aには、メモリ
30のブロック0〜7にそれぞれ対応した8つの記憶ブロ
ックを含むブロック群が多数設けられており、ブロック
0の先頭アドレスDHAに最大ブロック数MAXが記録
され、DHAの次のアドレスから演奏データが記録され
る。最大ブロック数MAXの記録は、全演奏データの記
録が終った後で行なわれる。
メモリ30からディスク32Aへの転送に際して、メモリ30
の読出アドレスは、ブロックポインタOBNと、ブロッ
ク内アドレスポインタOPとによって指定され、ディス
ク32Aの記録アドレスは、ブロックポインタFDIBP
と、ブロック内アドレスポインタFDIPによって指定
される。
上記した各種のポインタIBN、IP、OBN、OP、
FDIBP及びFDIPは、ワーキングメモリ28内に設
けられている。
第6図は、再生処理の概要を示すものである。ディスク
32Aからは、最初に先頭アドレスDHAの最大ブロック
数MAXが読取られる。そして、MAXに1を加えたブ
ロック数分の演奏データがディスク32Aが読取られ、メ
モリ30に書込まれる。このとき、ディスク32Aの読取ア
ドレスは、ブロックポインタFDOBPと、ブロック内
アドレスポインタFDOPとによって指定され、メモリ
30の書込アドレスは、ブロックポインタPIBNと、ブ
ロック内アドレスポインタPIPとによって指定され
る。
(MAX+1)ブロック数分の演奏データの書込終了
後、ディスク32Aからは、残りの演奏データが読取ら
れ、メモリ30に書込まれる。このときの読取・書込動作
にもポインタFDOBP、FDOP、PEBN及びPI
Pが用いられる。また、このような読取・書込動作に並
行してメモリ30からは、演奏データが順次に読出され、
読出データに応じて電子楽器10の楽音発生を制御するこ
とにより演奏が再生される。このとき、メモリ30の読出
アドレスは、ブロックポインタPOBNと、ブロック内
アドレスポインタPOPとによって指定される。
上記した各種のポインタFDOBP、FDOP、PIB
N、PIP、POBN及びPOPは、ワーキングメモリ
28内に設けられている。
記録処理のメインルーチン(第7図) 第7図は、記録処理のメインルーチンを示すもので、こ
のルーチンは、記録スイッチをオンするとスタートす
る。
まず、ステップ40では、初期化の処理を行なう。すなわ
ち、バッファメモリ30をクリアすると共に磁気ディスク
記録装置32を記録可能とする。また、ワーキングメモリ
28内の各種レジスタを初期セットする。例えば前述のポ
インタIBN、IP、OBN、OP、FDIBP及びF
DIPにいずれも0をセットすると共に、テンポラリレ
ジスタTPR、最大ブロック数MAXRび記録停止フラ
グRSPFにいずれも0をセットする。レジスタTP
R、MAXR及びフラグRSPFは、ワーキングメモリ
28内に設けられている。
次に、ステップ42では、レジスタMAXRのデータをメ
モリ30のブロック0の先頭アドレスBHAに書込む。こ
のとき書込まれるデータの値は、初期化により0であ
る。この後、ステップ44に移り、アドレスポインタIP
のアドレス値を1アップする。この結果、メモリ30のブ
ロック0において先頭アドレスBHAの次のアドレスが
指定される。
次に、ステップ46では、イベント割込みを許容して第8
図のルーチンを実行可能とする。第8図のルーチンは、
電子楽器10から割込命令パルスINPが発生されるたび
に実行されるもので、詳しくは後述する。ステップ46の
後は、ステップ48に移る。
ステップ48では、ブロックポインタIBN及びOBNの
値が等しいか判定する。ステップ46でイベント割込みを
許容した直後の段階では、IBN及びOBNの値はいず
れも0である。このため、ステップ48の判定結果は肯定
的(Y)となり、ステップ50に移る。
ステップ50では、フラグRSPFが“1”か(記録停止
スイッチオンか)判定する。いま、RSPFが“0”で
あるとすると、ステップ50の判定結果は否定的(N)と
なり、ステップ48に戻る。このようにしてステップ48及
び50をくりかえしていると、第8図のルーチンによりI
BNの値がやがて1になる。このため、ステップ48の判
定結果が否定的(N)となり、ステップ52に移る。
ステップ52では、1ブロック分のデータをディスク32A
に記録する処理を行なう。すなわち、ステップ54ではア
ドレスポインタOPの示すデータがエンドマークデータ
か判定する。いま、エンドマークデータでない(N)と
すると、ステップ56に移り、メモリ30の1バイトのデー
タをディスク32Aに転送し、記録する。最初、ポインタ
OBN、OP、FDIBP及びFDIPはいずれも0で
あるので、メモリ30のブロック0の先頭アドレスBHA
のデータ(値は0)がディスク32Aのブロック0の先頭
アドレスDHAに記録される。そして、ステップ58でア
ドレスポインタOP及びFDIPの値をそれぞれ1アッ
プしてからステップ60に移り、OPの値が2048より大か
(1ブロック分の記録終りか)判定する。先頭アドレス
DHAに記録した直後はステップ60の判定結果が否定的
(N)となり、ステップ54に戻る。この後は、ステップ
54〜60の処理をOPの値が2048より大となるまでくりか
えす。この結果、メモリ30のブロック0の全データがデ
ィスク32Aのブロック0に転送・記録されたことにな
る。このとき、ステップ60の判定結果は、肯定的(Y)
となり、ステップ62に移る。
ステップ62では、アドレスポインタOP及びFDIPに
いずれも0をセットする。そして、ステップ64に移り、
ブロックポインタFDIBP及びOBNの値をそれぞれ
1アップする。この後、ステップ66に移る。
ステップ66では、最大ブロック数MAXを検出する処理
を行なう。すなわち、ステップ68では、ブロックポイン
タIBNの値(書込中のブロック番号)とブロックポイ
ンタOBNの値(読出中のブロック番号)との差を求
め、この差の絶対値をテンポラリレジスタTPRにセッ
トする。このときレジスタTPRにセットされる値は、
メモリ30に停電しているデータの量に対応するものであ
る。
次に、ステップ70では、レジスタTPRの値が最大ブロ
ック数レジスタMAXRの値より大か判定する。最初、
レジスタMAXRには0がセットされているので、ステ
ップ70の判定結果は、肯定的(Y)となり、ステップ72
に移る。このステップ72では、レジスタMAXRにレジ
スタTPRの値をセットする。そして、ステップ74に移
る。
ステップ74では、ポインタOBNの値が7より大か(8
ブロック分の記録終りか)判定する。1ブロック分の記
録を終った段階では、ステップ74の判定結果が否定的
(N)となり、ステップ48に戻る。そして、上記のよう
な処理をOBNの値が7より大となるまでくりかえす
と、ステップ74の判定結果が肯定的(Y)となり、ステ
ップ76に移る。
ステップ76では、OBNに0をセットする。これは、第
3図の「30A」に示したようにメモリ30においてブロッ
ク7の次のブロック0に戻って読出しを継続するためで
ある。ステップ76の後は、ステップ48に戻り、上記した
と同様にして次の8ブロック分の記録処理を行なう。そ
して、以下同様の記録処理をくりかえす。
このような記録過程において、ステップ70の判定結果が
否定的(N)となると、ステップ72を経ないでステップ
71に移る。従って、レジスタMAXRには、演奏開始か
ら演奏終了までのデータ転送においてメモリ30に停滞し
たデータの最大量に対応した最大ブロック数MAXを示
すデータが最終的に保存されることになる。
ところで、記録停止スイッチをオンした場合には、第8
図のルーチンによりフラグRSPFに“1”がセットさ
れると共に、メモリ30にエンドマークデータが書込ま
れ、以後メモリ30への書込みが行なわれなくなる。従っ
て、この時点でIBNの値は変化しないようになる。そ
して、OBNの値がIBNの値に一致すると、ステップ
48の判定結果が肯定的(Y)となり、ステップ50に移
る。
ステップ50では、RSPF=“1”であるので、判定結
果が肯定的(Y)となり、ステップ78に移る。このステ
ップ78では、イベント割込みを禁止して第8図のルーチ
ンを実行不能とする。そして、ステップ54に移る。
ステップ54では、アドレスポインタOPの示すデータが
エンドマークであるか判定する。通常、メモリ30への書
込みよりもメモリ30からの読出しの方が遅れるので、記
録停止した時点ではエンドマークデータまで読出しが進
んでいない。このため、ステップ54の判定結果が否定的
(N)となり、ステップ56に移る。そして、上記したと
同様にして、メモリ30内に残っている演奏データをディ
スク32Aに転送・記録する。
このようにして記録が進行していくと、やがてポインタ
OPがエンドマークデータを指すようになる。このた
め、ステップ54の判定結果が肯定的(Y)となり、ステ
ップ80に移る。
ステップ80では、最大ブロック数MAXをディスク32A
に記録する処理を行なう。すなわち、ステップ82でブロ
ックポインタFDIBPに0をセットしてからステップ
84に移り、ディスク32Aのブロック0の全データをメモ
リ30のブロック0に転送し、記憶させる。そして、ステ
ップ86では、メモリ30のブロック0の先頭アドレスBH
AにレジスタMAXRの値(最大ブロック数MAX)を
書込む。この後、ステップ88に移り、メモリ30のブロッ
ク0の全データをディスク32Aのブロック0に転送・記
録する。この結果、ディスク32Aの先頭アドレスDHA
に最大ブロック数MAXを示すデータが記憶され、記録
処理がエンドとなる。
イベント割込ルーチン(第8図) 第8図は、イベント割込ルーチンを示すもので、このル
ーチンは、イベント割込許容時において電子楽器10から
1バイトの演奏データの送出に同期して割込命令パルス
INPが送出されるたびにスタートする。
まず、ステップ90では、記録停止スイッチ(SW)がオ
ンか判定する。いま、オンでない(N)とすると、ステ
ップ92に移り、1バイトの演奏データをメモリ30に書込
む。このときの書込アドレスは、ブロックポインタIB
NとアドレスポインタIPとによって指定され、例えば
第7図のルーチンのステップ46でイベント割込みが許容
された直後であれば、1バイトの演奏データはブロック
0の先頭アドレスBHAの次のアドレスに書込まれる。
次に、ステップ94でポインタIPの値を1アップしてか
らステップ96に移り、IPの値が2048より大か(1ブロ
ック分の書込み終りか)判定する。上記のようにBHA
の次のアドレスに演奏データを書込んだ段階では、ステ
ップ96の判定結果が否定的(N)となり、第7図のルー
チンにリターンする。
この後、同様にして割込命令パルスINPの発生のたび
にメモリ30に演奏データ書込んでいくと、メモリ30のブ
ロック0には、第3図に例示したように、演奏データが
記憶され、やがてステップ96の判定結果が肯定的(Y)
となってステップ98に移る。
ステップ98では、ポインタIPに0をセットする。そし
て、ステップ100 でポインタIBNの値を1アップして
からステップ102 に移り、IBNの値が7より大か(8
ブロック分の書込み終りか)判定する。上記のようにブ
ロック0の書込みが終った段階では、ステップ102 の判
定結果が否定的(N)となり、第7図のルーチンにリタ
ーンする。そして、上記のような書込処理をIBNの値
が7より大となるまでくりかえすと、ステップ102 の判
定結果が肯定的(Y)となり、ステップ104 に移る。
ステップ104 では、IBNに0をセットする。これは、
第3図の「30A」に示したようにメモリ30においてブロ
ック7の次にブロック0に戻って書込みを継続するため
である。ステップ104 の後は、第7図のルーチンにリタ
ーンする。
記録停止スイッチをオンしたときはステップ90の判定結
果が肯定的(Y)となり、ステップ106 に移る。このス
テップ106 ではフラグRSPFに“1”をセットする。
そして、ステップ108 に移り、メモリ30において、ポイ
ンタIBN及びIPの指示するアドレス(演奏データ配
列の末尾)にエンドマークデータを書込む。この後は、
第7図のルーチンにリターンする。
再生処理のメインルーチン(第9図) 第9図は、再生処理のメインルーチンを示すもので、こ
のルーチンは、再生スイッチをオンするとスタートす
る。
まず、ステップ110 では、テンポ割込みを禁止して第10
図のテンポ割込ルーチンを実行不能とする。これは、再
生開始前にディスク32Aからメモリ30に所定量の演奏デ
ータを転送し、記憶させるためである。
次に、ステップ112 では、初期化の処理を行なう。すな
わち、バッファメモリ30をクリアすると共に磁気ディス
ク記録装置32を再生可能とする。また、ワーキングメモ
リ28内の各種レジスタを初期セットする。例えば前述の
ポインタFDOBP、FDOP、PIBN、PIP、P
OBN及びPOPにいずれも0をセットすると共に、再
生停止フラグPSPF、相対時間計測用のレジスタTM
R及び読出データレジスタAにいずれも0をセットす
る。フラグPSPF、レジスタTMR及びAは、ワーキ
ングメモリ28内に設けられている。ステップ112 の後
は、ステップ114 に移る。
ステップ114 では、ディスク32Aのブロック0の先頭ア
ドレスDHAから最大ブロック数MAXを示すデータを
読取る。そして、ステップ116 に移り、(MAX+1)
ブロック分の演奏データを順次にディスク32Aからメモ
リ30に転送し、記憶させる。
次に、ステップ118 では、テンポ割込みを許容して第10
図のルーチンを実行可能とする。そして、ステップ119
に移り、再生停止スイッチ(SW)がオンか判定する。
いま、オンでない(N)とすると、ステップ120 に移
り、ディスク32Aの1バイトのデータをメモリ30に転送
し、記憶させる。このとき、ディスク32Aの読取アドレ
スは、ポインタFDOBP及びFDOPによって指定さ
れ、メモリ30の書込アドレスは、ポインタPIBN及び
PIPによって指定される。ステップ116 の後最初にス
テップ120 にきたときは、ポインタFDOBP及びPI
BNがいずれもステップ116 で最後に指定したブロック
番号の次のブロック番号を指定すると共に、ポインタF
DOP及びPIPがいずれもアドレス値0を示すので、
例えばMAX+1=5であれば、メモリ30では、ブロッ
ク6の先頭アドレスにディスク32Aからの読取データが
書込まれる。ステップ120 の後は、ステップ122 に移
る。
ステップ122 では、PIPの示すデータがエンドマーク
データであるか判定する。いま、エンドマークデータで
ない(N)とすると、ステップ124 に移り、ポインタP
IP及びFDOPの値をそれぞれ1アップする。そし
て、ステップ126 に移り、PIPの値が2048より大か
(1ブロック分の書込み終りか)判定する。この判定結
果が否定的(N)であったときは、ステップ119 に戻
り、上記のような処理をくりかえす。
このような処理によって1ブロック分の書込みが終る
と、ステップ126 の判定結果が肯定的(Y)となり、ス
テップ128 に移る。このステップ128 では、ポインタP
IP及びFDOPにいずれも0をセットする。そして、
ステップ130 に移り、ポインタFDOBP及びPIBN
の値をそれぞれ1アップする。この後、ステップ132 に
移る。
ステップ132 では、ポインタPIBNの値が7より大か
(8ブロック分の書込み終りか)判定し、大でない
(N)ならばステップ119 に戻って上記のような処理を
くりかえす。そして、PIBNの値が7より大になる
と、ステップ132 の判定結果が肯定的(Y)となり、ス
テップ134 に移る。
ステップ134 では、PIBNに0をセットし、しかる後
ステップ119 に戻る。この結果、メモリ30では、ブロッ
ク7の次にブロック0に戻って書込みが継続されるよう
になる。
上記のような転送過程において、メモリ30にエンドマー
クデータが書込まれると、ステップ122 の判定結果が肯
定的(Y)となり、ステップ136 に移る。このステップ
136 では、フラグPSPFが“1”か判定する。フラグ
PSPFには、第10図のルーチンでメモリ30からエンド
マークデータを読出したときに“1”がセットされる。
通常、メモリ30にエンドマークデータが書込まれた直後
には、ステップ136の判定結果が否定的(N)であ
り、ステップ136 をくりかえす。そして、第10図のルー
チンでフラグPSPFが“1”になると、ステップ136
の判定結果が肯定的(Y)となり、再生処理がエンドと
なる。
再生中に再生停止スイッチをオンしたときは、ステップ
119 の判定結果が肯定的(Y)となり、ステップ138 に
移る。このステップ138 では、テンポ割込みを禁止し、
しかる後再生処理をエンドとする。従って、この場合に
は、ディスク32Aからメモリ30への転送が停止されると
共にメモリ30からの読出し(すなわち演奏再生)も停止
される。
テンポ割込ルーチン(第10図) 第10図は、テンポ割込ルーチンを示すもので、このルー
チンは、テンポ割込許容時においてテンポクロック発生
器34からテンポクロックパルスTCLが送出されるたび
にスタートする。
まず、ステップ140 では、相対時間計測用のレジスタT
MRの値を1ダウンする。そして、ステップ142 に移
り、TMRの値が0か判定する。この判定の結果、0で
ない(N)ならば、相対時間の終りに達していないこと
になり、第9図のルーチンにリターンする。また、ステ
ップ142 の判定結果が肯定的(Y)であったときは、ス
テップ144 に移る。
ステップ144 では、第11図のバッファ読出しのサブルー
チンを実行し、メモリ30からレジスタAに1バイトのデ
ータを読出す。このときの読出アドレスは、ポインタP
OBN及びPOPによって指定される。
次に、ステップ146 では、レジスタAのデータのMSB
が“1”か(マークデータか)判定する。この判定の結
果、“1”でない(N)ならば、次の1バイトのデータ
を読出すべくステップ144 に戻る。また、ステップ146
の判定結果が肯定的(Y)であったときは、マークデー
タであったことになり、ステップ148 に移る。
ステップ148 では、レジスタAのデータのMSBを
“0”にする。これは、この後のステップ150 、156 、
162 、168 、174 等における判定の際にMSBが“0”
の基準データと比較するのを可能にするためである。こ
の後、ステップ150 に移る。
ステップ150 では、レジスタAのデータが相対時間マー
クデータが判定する。この判定結果が肯定的(Y)であ
れば、ステップ152 に移り、第11図のルーチンを実行す
る。この結果、レジスタAには、相対時間値データが読
出される。そして、ステップ154 に移り、レジスタAの
相対時間値データをレジスタTMRにセットする。この
後は、第9図のルーチンにリターンする。相対時間値デ
ータは、テンポクロックパルスTCLの個数でイベント
間相対時間を表わすようになっているので、テンポ割込
みのたびに前述のステップ140 でTMRの値を1ダウン
することにより記録時のイベント間相対時間を再現可能
である。
ステップ150 の判定結果が否定的(N)であったとき
は、ステップ156 に移、レジスタAのデータがキーオン
マークデータか判定する。この判定結果が肯定的(Y)
であれば、ステップ158 に移り、第11図のルーチンを実
行する。この結果、レジスタAには、UK、LK又はP
Kのキーコードデータが読出される。そして、ステップ
160 では、電子楽器10にレジスタAのキーコードデータ
を供給し、このデータに対応する楽音の発音を制御す
る。この後は、ステップ144 に戻る。
ステップ156 の判定結果が否定的(N)であったとき
は、ステップ162 に移り、レジスタAのデータがキーオ
フマークデータか判定する。この判定結果が肯定的
(Y)であれば、ステップ164 に移り、第11図のルーチ
ンを実行する。この結果、レジスタAには、UK、LK
又はPKのキーコードデータが読出される。そして、ス
テップ166 では、電子楽器10にレジスタAのキーコード
データを供給し、このデータに対応する楽音の消音を制
御する。この後は、ステップ144 に戻る。
ステップ162 の判定結果が否定的(N)であったとき
は、ステップ168 に移り、レジスタAのデータがキーオ
フマークデータか判定する。この判定結果が肯定的
(Y)であれば、ステップ170 に移り、第11図のルーチ
ンを実行する。この結果、レジスタAには、タッチ量デ
ータが読出される。そして、ステップ172 では、電子楽
器10にレジスタAのタッチ量データを供給し、エンベロ
ープジェネレータ(EG)を制御する。この後は、ステ
ップ144 に戻る。
ステップ168 の判定結果が否定的(N)であったとき
は、ステップ174 に移り、レジスタAのデータがエンド
マークデータか判定する。この判定結果が否定的(N)
であれば、ステップ176 に移り、その他の処理(例えば
楽音制御用操作子等に関する処理)を実行する。そし
て、ステップ144 に戻る。
ステップ174 の判定結果が肯定的(Y)であったとき
は、ステップ178 に移り、フラグPSPFに“1”をセ
ットする。そして、第9図のルーチンにリターンする。
バッファ読出しのサブルーチン(第11図) 第11図のルーチンは、バッファメモリ30から1バイトの
データを読出すためのものである。
まず、ステップ180 では、メモリ30から1バイトのデー
タを読出し、レジスタAにロードする。このときの読出
アドレスは、ポインタPOBN及びPOPによって指定
される。
次に、ステップ182 でPOPの値を1アップしてからス
テップ184 に移り、POPの値が2048より大か(1ブロ
ック分の読出し終りか)判定する。この判定結果が否定
的(N)であれば、第10図のルーチンにリターンする。
ステップ184 の判定結果が肯定的(Y)であったとき
は、ステップ186 に移り、POPに0をセットする。そ
して、ステップ188 でPOBNの値を1アップしてから
ステップ190 に移り、POBNの値が7より大か(8ブ
ロック分の読出し終りか)判定する。この判定結果が否
定的(N)であれば、第10図のルーチンにリターンす
る。
ステップ190 の判定結果が肯定的(Y)であったとき
は、ステップ192 に移り、POBNに0をセットする。
そして、第10図のルーチにリターンする。この結果、ブ
ロック7の次にブロック0に戻って読出しが継続される
ようになる。
なお、上記実施例では、演奏情報の時間軸方向の密度に
対応する転送制御情報として、バッファメモリ30に停滞
したデータの最大量に対応する最大ブロック数データを
用いたが、この代りに、演奏中に反復的にイベント数を
計数して得たイベント数データのうちイベント数が最大
のものを用いたり、演奏中の全イベント数を演奏時間で
割算して得た平均転送速度データを用いたりしてもよ
い。
また、記録媒体としては、磁気ディスクに限らず、磁気
テープ、半導体メモリ等を用いてもよい。
[発明の効果] 以上のように、この発明によれば、再生開始までの待ち
時間が曲毎にその平均転送速度を反映するようになるの
で、平均転送速度が小さい曲については従来に比べて再
生開始までの待ち時間を短縮することができ、すみやか
に自動演奏を楽しめる効果が得られるのである。
【図面の簡単な説明】
第1図は、この発明の一実施例による自動演奏装置の構
成を示すブロック図、 第2図は、自動演奏の使用状態を示す斜視図、 第3図は、バッファメモリのデータ記憶例を示すフォー
マット図、 第4図は、各種マークデータの内容を例示する図、 第5図及び第6図は、それぞれ記録処理及び再生処理の
概要を説明するための図、 第7図は、記録処理のメインルーチンを示すフローチャ
ート、 第8図は、イベント割込ルーチンを示すフローチャー
ト、 第9図は、再生処理のメインルーチンを示すフローチャ
ート、 第10図は、テンポ割込ルーチンを示すフローチャート、 第11図は、バッファ読出しのサブルーチンを示すフロー
チャートである。 10……電子楽器、20……自動演奏装置、22……バス、24
……中央処理装置、26……プラグラムメモリ、28……ワ
ーキングメモリ、30……バッファメモリ、32……磁気デ
ィスク記録装置、34……テンポクロック発生器、36……
制御操作子群。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】楽曲の演奏情報と該演奏情報の時間軸方向
    の密度に対応する転送制御情報とを記録した記録媒体
    と、 読み書き可能なメモリと、 前記記録媒体の転送制御情報を参照して前記記録媒体か
    ら前記メモリへの演奏情報の初期転送量を決定する決定
    手段と、 前記記録媒体の演奏情報のうち前記決定手段で決定され
    た初期転送量の演奏情報を前記メモリに初期転送した後
    残りの演奏情報を前記メモリに転送する転送手段と、 この転送手段による初期転送の終了後前記メモリの演奏
    情報に基づいて自動的に演奏を再生する再生手段と を備えた自動演奏装置。
JP61118744A 1986-05-23 1986-05-23 自動演奏装置 Expired - Lifetime JPH0658599B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP61118744A JPH0658599B2 (ja) 1986-05-23 1986-05-23 自動演奏装置
US07/453,059 US4960030A (en) 1986-05-23 1989-12-13 Automatic musical performance apparatus having reduced wait time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61118744A JPH0658599B2 (ja) 1986-05-23 1986-05-23 自動演奏装置

Publications (2)

Publication Number Publication Date
JPS62276596A JPS62276596A (ja) 1987-12-01
JPH0658599B2 true JPH0658599B2 (ja) 1994-08-03

Family

ID=14743983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61118744A Expired - Lifetime JPH0658599B2 (ja) 1986-05-23 1986-05-23 自動演奏装置

Country Status (2)

Country Link
US (1) US4960030A (ja)
JP (1) JPH0658599B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5313012A (en) * 1989-01-06 1994-05-17 Yamaha Corporation Automatic performance apparatus for musical instrument with improved editing
JPH02191998A (ja) * 1989-01-20 1990-07-27 Korugu:Kk 音楽再生装置
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
US5198603A (en) * 1989-08-19 1993-03-30 Roland Corporation Automatic data-prereading playing apparatus and sound generating unit in an automatic musical playing system
JP2830422B2 (ja) * 1989-09-04 1998-12-02 カシオ計算機株式会社 自動演奏装置
JPH03196098A (ja) * 1989-12-25 1991-08-27 Casio Comput Co Ltd オーディオ再生装置内蔵型電子楽器
US5270476A (en) * 1990-03-12 1993-12-14 Roland Corporation Electronic musical instrument
JP2722795B2 (ja) * 1990-08-08 1998-03-09 ヤマハ株式会社 楽音合成装置
JP2620724B2 (ja) * 1990-10-23 1997-06-18 株式会社河合楽器製作所 演奏情報の記録装置
JP2500528B2 (ja) * 1990-12-28 1996-05-29 ヤマハ株式会社 電子楽器
JP2595817B2 (ja) * 1991-01-17 1997-04-02 ヤマハ株式会社 2次記憶装置の情報の制御方法および2次記憶装置を有する電子機器
JP2576295B2 (ja) * 1991-01-17 1997-01-29 ヤマハ株式会社 電子楽器
JPH06259064A (ja) * 1993-03-08 1994-09-16 Kawai Musical Instr Mfg Co Ltd 電子楽器
US5991835A (en) * 1994-11-22 1999-11-23 Teac Corporation Peripheral data storage device in which time interval used for data transfer from relatively fast buffer memory to relatively slower main memory is selected in view of average of time intervals during which data blocks were recently received from host
EP0730260B1 (en) * 1995-03-03 2001-09-19 Yamaha Corporation Computerized music apparatus with sound emulation
JP3180708B2 (ja) * 1997-03-13 2001-06-25 ヤマハ株式会社 音源設定情報通信装置
JP4623060B2 (ja) * 2007-07-18 2011-02-02 ヤマハ株式会社 波形生成装置、音響効果付与装置、および楽音発生装置
CN111884955B (zh) * 2014-12-04 2023-07-18 索尼公司 数据处理设备、数据处理方法及程序

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3415956A (en) * 1964-03-26 1968-12-10 Uchikoshi Goji Reversible magnetic tape recorder with independent head and drive means for selective use with one or two tapes
US3951028A (en) * 1974-10-23 1976-04-20 Kimball International, Inc. Electronic organ and method of operation
JPS56109394A (en) * 1980-02-04 1981-08-29 Casio Computer Co Ltd Electronic musical instrument
US4587878A (en) * 1981-06-27 1986-05-13 Nippon Gakki Seizo Kabushiki Kaisha Automatic performing apparatus and data recording medium therefor
US4641564A (en) * 1983-06-17 1987-02-10 Nippon Gakki Seizo Kabushiki Kaisha Musical tone producing device of waveform memory readout type
JPH0631959B2 (ja) * 1983-09-28 1994-04-27 沖電気工業株式会社 音楽装置
JPS6145298A (ja) * 1984-08-09 1986-03-05 カシオ計算機株式会社 電子楽器

Also Published As

Publication number Publication date
US4960030A (en) 1990-10-02
JPS62276596A (ja) 1987-12-01

Similar Documents

Publication Publication Date Title
JPH0658599B2 (ja) 自動演奏装置
KR100200290B1 (ko) 자동연주장치
JPH05257465A (ja) 楽器演奏者の特徴抽出再生装置
US4768413A (en) Automatic performance apparatus for facilitating editing of prerecorded data
JP2522343B2 (ja) 自動演奏装置
JP3846376B2 (ja) 自動演奏装置、自動演奏プログラム、および自動演奏データ記録媒体
JPH04339000A (ja) 音楽再生装置
JPH0415959B2 (ja)
JP2503622Y2 (ja) 演奏情報記憶装置
JPH08241229A (ja) ファイル管理装置
JP2641851B2 (ja) 自動演奏装置
JP2707775B2 (ja) 演奏記録装置
JPH043352Y2 (ja)
JPH0511593Y2 (ja)
JPS648837B2 (ja)
JPH0375957B2 (ja)
JP2847000B2 (ja) 演奏情報記憶装置
JP2556639B2 (ja) 自動演奏装置
JP2606594B2 (ja) 自動演奏装置
JP2616752B2 (ja) 自動演奏装置
JP3178176B2 (ja) 自動伴奏装置
JP2570783B2 (ja) 自動演奏装置
JP3031392B2 (ja) 演奏再生装置及び演奏再生方法
JP2583377B2 (ja) 自動演奏装置
JP2548723Y2 (ja) 楽音再生装置