JP2743808B2 - 自動演奏装置 - Google Patents

自動演奏装置

Info

Publication number
JP2743808B2
JP2743808B2 JP5354315A JP35431593A JP2743808B2 JP 2743808 B2 JP2743808 B2 JP 2743808B2 JP 5354315 A JP5354315 A JP 5354315A JP 35431593 A JP35431593 A JP 35431593A JP 2743808 B2 JP2743808 B2 JP 2743808B2
Authority
JP
Japan
Prior art keywords
data
block
pointer
written
performance
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
JP5354315A
Other languages
English (en)
Other versions
JPH07199927A (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 JP5354315A priority Critical patent/JP2743808B2/ja
Priority to US08/365,156 priority patent/US5608178A/en
Publication of JPH07199927A publication Critical patent/JPH07199927A/ja
Application granted granted Critical
Publication of JP2743808B2 publication Critical patent/JP2743808B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、演奏データがメモリに
予め記憶され、演奏時にこのメモリから演奏データを読
み出すようにした自動演奏装置に関するものである。
【0002】
【従来の技術】自動演奏装置は、所望の曲の各音符につ
いてその音符の音高、発音開始/消音開始タイミング等
を演奏情報としてメモリに記憶しておき、自動演奏時に
この演奏情報を順次読み出して楽音を発生する装置であ
る。この自動演奏装置における演奏情報の記憶・再生方
式には、第1に音符方式と呼ばれる方式がある。この音
符方式は、楽曲の進行にしたがって「音高情報及び音長
情報」からなる音符情報をメモリに記憶させる。そし
て、音長情報で表せる時間が経過するごとに次の音符情
報を読み出す。したがって、現在の音符情報を読み出し
た後に次の音符情報を読み出すため、複音の同時発音に
対応できない欠点を有している。
【0003】また、第2にイベント方式と呼ばれる方式
があり、この方式は楽曲の進行にしたがって「イベント
情報及びイベント情報の発生タイミング情報」からなる
音符情報を記憶させておく。音符を表すイベント情報に
は記憶方式によって、主に次のようなものがある。 (1)キーオンとキーオフの2つのイベントにより1つ
の音符を表す方法であり、キーオンあるいはキーオフ及
びそのキーの音高からなるイベント情報。 (2)1つのイベント情報で1つの音符を表す方法であ
り、キーオン及びそのキーの音高と、発音継続時間から
なるイベント情報。 なお、イベント情報にはキーのオン/オフ等に関する情
報だけではなく、音色変更情報、ピッチベンド情報、テ
ンポ変更情報等のその他のイベント情報も含まれる。
【0004】また、イベント情報の発生タイミング情報
には記憶方式によって、主に次のような方法によるもの
がある。 (1)曲の先頭や各小節の先頭からの絶対時間によって
タイミングを表す方法。 (2)直前のイベント情報から今回のイベント情報まで
の相対時間によってタイミングを表す方法。 通常、前記タイミング情報はクロックという単位で表さ
れており、クロックはタイミング情報の最小分解能に対
応している。このクロックの1クロックは、通常四分音
符の1/24,1/96,1/384等に設定されてい
る。また、自動演奏装置においてテンポを変更する時
は、このクロックの周期を調整すればよい。
【0005】ところで、演奏情報の記録方式には、実際
に電子楽器を演奏してその演奏情報を記録するリアルタ
イムレコーディング方式と、音高及び音長を1音符ごと
に指定して演奏情報を記録するレコーディング方式とが
ある。また、複数パートの自動演奏においては、複数の
演奏トラックを設け、この演奏トラックの各々を複数の
演奏パートに対応させるようにする。そして、各トラッ
クの演奏情報を独立して、並列に読み出すことによっ
て、複数パートの自動演奏を実現している。通常、この
ような各トラックの演奏情報の読み出しは、時分割処理
にて行われている。
【0006】このような自動演奏装置において、メモリ
に書き込まれている演奏データの修正・追加等のエディ
ット処理をしたい場合があるが、従来、エディットする
場合は、図16に示すように行っていた。図16(a)
において、メモリ空間は領域100,101,102か
らなり、このうち領域100,101には演奏情報であ
る曲データA,Bがそれぞれ記憶されており、領域10
2は空き領域Cになっているとする。この場合、ポイン
タで示すアドレス以降に曲データを追加したい場合は、
領域101に書き込まれている曲データBのうち、一番
下の行を空き領域102のアドレスに書き込み、次に下
から2番目の行をその1つ前のアドレスに書き込み、こ
の動作を順次繰り返すことにより曲データBを全体的に
下にシフトするように領域102にコピーする。このよ
うにして、同図(b)に示すように所定のデータ挿入領
域Dを曲データAの下に作成する。そこで、このデータ
挿入領域Dに追加する曲データを書き込んでいくことに
よりエディット処理を行っている。このエディット処理
により、メモリ空間は曲データA及びデータ挿入領域か
らなる領域103と、曲データBが書き込まれている領
域102と、空き領域Cである狭くなった領域104と
から再構成されるようになる。
【0007】
【発明が解決しようとする課題】しかしながら、曲デー
タBの領域101が大きいと曲データをコピーするのに
時間がかかることになる。しかも、コピーしている間は
何らの他の操作を行うことができないので、ユーザにと
ってエディット時のコピー時間が長いことは、好ましい
ことではないという問題点があった。また、データ挿入
領域Dの大きさが予めわかっていないと、繰り返し曲デ
ータBをコピーして移動しなければならない場合が生じ
ることがあり、その度に長いコピー時間が必要になると
いう問題点もあった。そこで、本発明はエディット時の
データ挿入領域を、短い処理時間で作成できる自動演奏
装置を提供することを目的としている。
【0008】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、メモリ空間を所定バイト長毎のブロック
に分割すると共に、該ブロックに順序番号を付与し、1
つ以上の前記ブロックを接続して構成したメモリチェー
ンに演奏データを記憶し、該演奏データを記憶した前記
メモリチェーンを構成するブロックの番号を前記演奏デ
ータ順となるよう管理する管理テーブルを設け、前記演
奏データのエディット時に、新たな演奏データを挿入す
るアドレスのあるブロックの該アドレス以降に記憶され
ている演奏データを空きブロックにコピーし、前記エデ
ィットするブロックの次に前記コピーしたブロックが挿
入されるように、前記管理テーブルを書き換えると共
に、前記挿入するアドレス以降にエディットデータを書
き込むようにしたものである。
【0009】
【作用】本発明によれば、所定バイト長のメモリブロッ
クを1つ以上接続してメモリチェーンを構成し、ブロッ
ク単位でエディットを行うようにしたため、エディット
時の動作を早くすることができる。
【0010】
【実施例】本発明の自動演奏装置の全体構成図を図1に
示す。この図において、CPU(中央処理装置)1はバ
スライン12に接続されており、ROM(Read Only Me
mory) 3に記憶されているCPUプログラムに基づいて
各部の制御を行っている。自動演奏時には、CPU1が
RAM(Random Access Memory) 2から演奏データを読
み出し、音源8にバスライン12を介してキーオンデー
タや音色データを送ることにより楽音波形を発生するよ
うにしている。この楽音波形はDSP9に供給されて、
リバーブ等の各種効果が付加され、さらにディジタル/
アナログ変換器10により、アナログ信号に変換されて
スピーカ11から発音される。また、この時発生される
楽音波形は、ROM3に記憶されている複数の音色の内
選択されたプリセット音色により、あるいは、RAM2
にユーザが記憶した音色等により発音される。
【0011】また、パネル操作子6はパネル操作子イン
ターフェース7を介してバスライン12に接続されてお
り、音色パラメータ等を設定している。この場合、音色
パラメータ等の設定は、表示部インターフェース5を介
してバスライン12に接続された液晶表示部4に表示さ
れた画面を見ながら設定する。さらに、RAM2に記憶
される演奏データは図示しない操作子から入力されて、
RAM2に書き込まれるようにされている。さらに、鍵
盤13を設けるようにすると、自動演奏だけでなく鍵盤
13により演奏をすることができると共に、この鍵盤1
3よりのリアルタイムの演奏データをRAM2に記憶す
るようにしてもよい。なお、この鍵盤13は鍵盤インタ
フェース14を介してバスライン12に接続されてい
る。
【0012】この自動演奏装置におけるSongテーブ
ルの構成を図2に示す。このテーブルは横方向が複数パ
ートを構成するトラックTr1,Tr2,Tr3・・・
・・Chord,Styleとされており、縦方向が曲
ナンバSong1,Song2・・・・・Song20
とされており、このテーブルには曲の演奏データが書き
込まれているメモリの先頭ブロック番号が入っている。
なお、ブロック番号については後述するが、この図に示
す場合は、Song1のトラックTr2にだけ「00」
のブロック番号が入っている。なお、「FE」は空きデ
ータであることを示している。
【0013】メモリは図4(b)に示すように128バ
イトごとのブロックに分割されており、「00」から
「99」まで順番に番号が付与されている。すなわち0
0ブロックから始まり、例えば99ブロックまでの10
0ブロックでメモリは構成されている。演奏データはこ
のブロックを単位として複数のブロックに書き込まれて
いるが、演奏データは空いているブロックをサーチしな
がら書き込まれるため、ブロックの番号順に演奏データ
が書き込まれるわけではない。このため、1曲の演奏デ
ータが書き込まれた複数のブロックにおいて、演奏デー
タ順にブロックが並ぶようブロック番号を管理するファ
イルアロケーションテーブル(FAT)が用意されてい
る。
【0014】このFATは例えば図3に示すように構成
されており、横方向に「00」から「99」までのブロ
ックのデータが順番に並べられており、この当該ブロッ
クの次につなげられるブロック番号を示している。例を
挙げて説明すると、同図に示す上段は「00」〜「9
9」の順番とされたブロック番号であり、図2に示すS
ongテーブルで指示された先頭ブロック番号「00」
が先頭ブロックとされており、次のブロックは「00」
ブロックに入っているデータが「03」であるため、
「03」ブロックとされ、「03」ブロックの次のブロ
ックは「03」ブロックに入っているデータが「05」
とされているため、「05」ブロックとされる。以下、
同様にブロックが接続されて「05」ブロックの後は
「01」ブロックとされるが、「01」ブロックのデー
タが「FF」とされて演奏データは終了している。すな
わち、この「FF」はエンド・オブ・ブロックを意味し
ているデータである。また、「FE」は空きブロックで
あることを示している。このように、1曲の演奏データ
が書き込まれた複数のブロックを演奏データ順に接続し
たものをメモリチェーンと呼ぶことにする。すると、図
3に示すFATで構成されるメモリチェーンは図4
(a)に示すように「00」ブロック,「03」ブロッ
ク,「05」ブロック,「01」ブロックから構成され
るようになる。
【0015】このようにメモリをブロック化したメモリ
チェーンに演奏データを書き込んだ後で、新たな演奏デ
ータを書き込まれた演奏データの途中に挿入する場合を
次に説明する。まず、図5(a)に示すように挿入した
いアドレス位置の直前をポインタで指示する。この場合
は、図示するように「03」ブロックにポインタがセッ
トされており、ポインタまでのアドレスに書き込まれて
いるデータをEとし、ポインタより以後のアドレスに書
き込まれているデータをFとする。次に、空きブロック
をサーチしサーチされた空きブロックが、例えば「0
2」ブロックであるとすると、図示するようにポインタ
がある「03」ブロックをサーチされた空きブロック
「02」ブロックにコピーする。そして、「02」ブロ
ックにコピーされたデータのうち前記Eのデータに相当
する部分Gの斜線を施した領域のアドレスと、「03」
ブロックの斜線を施したFの領域のアドレスに、データ
を読み込んでも何らの処理も行わないNOPデータ(こ
のデータは「F8」とされる)を書き込むようにする。
【0016】このように、「02」ブロックはメモリチ
ェーンに新たに付加されると共に、「03」ブロックに
続くようにされるため、この時のメモリチェーンは同図
(b)に示すように、「02」ブロックが「03」ブロ
ックと「05」ブロック間に挿入されるようになる。す
なわち、「03」ブロックのうちNOPデータの書き込
まれたFのデータの領域と、「02」ブロックのうちN
OPデータの書き込まれたGのデータの領域とを合わせ
てデータHの領域とすると、このデータHに「02」ブ
ロックにコピーされたデータF´が続くようになる。さ
らに、このデータHはNOPデータとされているため、
この領域に新たに演奏データを書き込むことができる。
エディット時に演奏データを挿入する時は、このように
してNOPデータ領域をポインタの直後に作成してこの
NOPデータ領域にデータを書き込むようにしている。
この方法によると、データのコピーはわずか1ブロック
のデータでよいため、エディット処理時間を大幅に短縮
することができる。
【0017】なお、図5(c)にデータEの領域とデー
タHの領域の詳細を示すが、データEの最後のデータは
「98」とされ、このデータをポインタは指示してい
る。このポインタの指示するアドレスの直後からデータ
Hとされ、NOPデータ「F8」が書き込まれている。
さらに、メモリチェーンに「02」ブロックが挿入され
たため、FATが書き替えられ図6に示すようにされ
る。すなわち、「02」ブロックのデータが「05」に
書き替えられ、「03」ブロックのデータが「02」に
書き替えられる。また、エディット中にポインタのロケ
ーションを移動させてエディットする位置を変える場合
は、NOPデータ「F8」もポインタの移動に対応して
移動させるようにする。すなわち、図7(a)に示すよ
うにデータIの領域を指示していたポインタを同図
(b)に示すようにデータIの上のデータのアドレス位
置にポインタを移動した場合は、データHのNOPデー
タ「F8」を同図(b)に示すようにポインタの直後に
位置するよう移動する。この移動は、データIをデータ
「F8」の領域にコピーしてデータI´とし、コピー後
にデータIの領域にNOPデータ「F8」を書き込むこ
とによりデータHの領域を移動させている。
【0018】なお、図示するNTA(NOP Top Address
)はNOPの先頭アドレスであり、NEA(NOP End A
ddress )はNOPデータの終了アドレスを示してい
る。次に、図8(a)にエディット画面を示すが、この
画面は前記図1に示す液晶表示器4に表示されるもので
ある。エディット画面は五線に音符を付することにより
表示されており、ポインタが矢印で示される。このポイ
ンタは例えば四分音符の長さの1/96ごとに移動する
ことができる。すなわち、この場合四分音符は96クロ
ックの長さで表されている。また、この(a)で表示さ
れる画面の演奏データを(b)に示す。図示する演奏デ
ータは、縦方向に配置された5個のデータで1つの音符
を表しており、この音符データの最初のデータ「C0」
はキーオンを表し、2番目のデータ「60」はゲートタ
イム(データ「60」は16進表示とされているため、
このデータは96クロックを表す。)を表し、次のデー
タ「40」はノートナンバを表し、次のデータ「7F」
はベロシティを表し、最後のデータ「E0」はデュレー
ションを表している。
【0019】なお、ベロシティはキー速度を表している
が、キー速度に応じて音量は変化していくため、このベ
ロシティデータは音量データとされている。また、デュ
レーションデータは次の音符との間の長さ(時間)を表
すデータであり、ゲートタイムと区別するため1桁目の
MSBを強制的に「1」としている。このためデータ
「E0」は96クロックの長さを表すようになる。ま
た、図示するようにポインタはこのデュレーションデー
タを通常は指示している。
【0020】図8に示すように、2つの音符データが表
示されている場合において、図9(a)に示すように、
この音符の中間に「ラ」の音名の八分音符を挿入した時
のエディットされた音符データを同図(b)に示す。こ
の図に示すように、八分音符データが四分音符間に挿入
されているが、八分音符が中央に挿入されたために今ま
での音符間の長さを表すデュレーションデータが変わる
ようになる。このため、破線で示すポインタの位置のデ
ュレーションデータが、「E0」データからその半分の
長さを示す48クロックを表す「B0」データとされ
る。挿入された八分音符データは、キー音を表す「C
0」データ,48クロックのゲートタイムを表す「4
8」データ,ノートナンバを表す「45」データ,ベロ
シティを表す「7F」データ,そしてデュレーションを
表す「B0」データからなっている。このデュレーショ
ンデータは挿入された八分音符と2つ目の四分音符との
間の長さを示すデータであるから、48クロックの「B
0」データとされている。なお、このように八分音符を
挿入してもNOPデータ「F8」が、未だ残っているが
自動演奏のプレイルーチンにおいては、このNOPデー
タ「F8」が無視されるため、エディットが終わると直
ちにプレイを行うことが可能となる。
【0021】次に、自動演奏装置のメインルーチンのフ
ローチャートを図10に示す。メインルーチンはまずス
テップS100においてメモリクリア等の初期設定が行
われる。初期設定が終わるとステップS110において
パネルに設けたスタートスイッチが操作されたか否かが
検出され、操作されたことが検出されると、ステップS
120において後述する再生処理が行われる。そして、
スタートスイッチが操作されたことが検出されない時と
同様にステップS130において、再生停止スイッチが
操作されたか否かの検出が行われる。再生停止スイッチ
の操作されたことが検出されると、ステップS140に
おいて、後述するタイマ割込みが停止されプレイルーチ
ンが停止される。すなわちエディットできる状態となる
よう停止処理が行われる。そして、再生停止スイッチが
操作されたことが検出されない場合と同様にステップS
150において、前記図2に示すトラックのうちエディ
ットしたいトラックが選択操作されたか否かが検出さ
れ、選択操作が検出された時は今までエディットされて
いたトラックのエディット終了処理を行う。そして、ス
テップS170において選択されたトラックのデータが
画面に表示される等のトラック変更処理を行う。
【0022】次に、トラック選択操作が検出されなかっ
た場合と同様に、ステップS180においてポインタが
移動操作されたか否かが検出され、移動操作されたと検
出された時は、ステップS190において、ポインタの
移動操作に応じて表示画面に移動されたポインタの前後
のデータを表示する等のポインタ移動処理が行なわれ
る。そして、ポインタ移動操作が検出されなかった場合
と同様にステップS200においてデータ挿入操作され
たか否かが検出され、データ挿入操作されたと検出され
た時は、ステップS210においてデータ挿入操作が行
われる。さらに、データ挿入操作が検出されなかった場
合と同様に、ステップS220においてデータ削除操作
されたか否かが検出され、データ削除操作されたと検出
された時は、ステップS230において削除するデータ
のアドレスにNOPデータが書き込まれる。また、音符
が削除されるとこの音符の前後の音符間のデュレーショ
ンデータが変更されるため、このデュレーションデータ
をデータ削除に応じて変更する。そして、データ削除操
作が検出されなかった場合と同様にステップS240に
おいて、自動演奏に関係しないその他の処理が行われて
ステップ110に戻る。以下、同様の動作が繰り返し行
われる。
【0023】次に再生処理のフローチャートを図11に
示すが、この再生処理はスタートスイッチを操作した時
にのみ行われる処理である。再生処理はステップS30
0において、タイマ割込みを許可し、タイマ割込みによ
る処理を可能とする。そして、ステップS310におい
てポインタの位置からデータを読み出す。この時ポイン
タは、スタート時であるため曲データの先頭に位置して
いる。このステップS310により読み出されたデータ
がデュレーションデータか否かがステップS320にお
いて判断されるが、曲データは前記図8,図9に示すよ
うに構成されており、先頭のデータはデュレーションデ
ータではないため、ステップS330に進み読み出され
たデータがNOPデータか否かが判断される。このステ
ップにおいて、NOPデータではないと判断された場合
はステップS340においてイベント対応処理が行われ
る。このイベント対応処理において、キーオンデータが
読み出された時は発音処理が行なわれ、図1に示すスピ
ーカ11から発音される。
【0024】次に、読み出されたデータがNOPデータ
と判断された場合と同様にステップS350においてポ
インタを1だけ移動し、次のデータのアドレスを指示す
るようにして、ステップS300に戻り上記と同様の処
理を繰り返し行う。そして、デュレーションデータがス
テップS310において読み出されると、ステップS3
20においてステップS360に分岐されデュレーショ
ンデータをカウンタcount にセットして、メインルーチ
ンにリターンされる。
【0025】割込み処理のフローチャートを図12に示
すが、この割込み処理は前記図1に示すCPU1にタイ
マにより割込みを掛けて行う処理である。割込みがかか
ると、ステップS400においてデュレーションデータ
のセットされたカウンタcount が1つ減算され、ステッ
プS410においてカウンタcount の値が「0」になっ
たか否かが判断される。カウンタcount が「0」である
と判断された場合は、デュレーションの時間が経過した
わけであるからステップS420においてポインタを1
だけ移動してデータを読み出す。そして、このステップ
S420により読み出されたデータがデュレーションデ
ータか否かがステップS430において判断され、読み
出されたデータがデュレーションデータではないと判断
された場合は、ステップS440に進み、読み出された
データがNOPデータか否かが判断される。このステッ
プS440において、NOPデータではないと判断され
た場合はステップS450においてイベント対応処理が
行われる。このイベント対応処理において、キーオンデ
ータが読み出された時は発音処理が行なわれ、図1に示
すスピーカ11から発音される。
【0026】次に、読み出されたデータがNOPデータ
と判断された場合と同様にステップS420に戻り、ポ
インタを1だけ移動し、次のデータのアドレスを指示す
るようにして、データを読み出し、上記と同様の処理を
繰り返し行う。そして、デュレーションデータがステッ
プS420において読み出されると、ステップS430
においてステップS460に分岐されデュレーションデ
ータがカウンタcountにセットされて、メインルーチン
にリターンされる。また、カウンタcount の値が「0」
でないとステップS410で判断された場合は、デュレ
ーションの時間が経過していないわけであるから、同様
にメインルーチンにリターンされる。このように、割込
みの周期時間がテンポに対応しているため、タイマクロ
ックの周期を変えることにより割込み周期を変えて、テ
ンポを変化させることができる。さらに、上記図11お
よび図12に示すように、読み出されたデータがNOP
データの場合はなんらの処理も行わず、次々とポインタ
だけが進んで行く。このNOPデータは128バイト近
く続く可能性があるが、この場合における発音の遅れ等
の再生に与える影響はほとんどない。(これは、CPU
の速度にもよるが現在の所、一般に自動演奏装置に用い
られるCPUならば問題はない。)
【0027】次に、エディット終了処理のフローチャー
トを図13に示すが、この処理は前記したようにトラッ
クの選択操作を行った時に行われる処理である。エディ
ット終了処理は、ステップS500においてポインタ以
後にNOPデータの領域があるか否かが判断され、ある
と判断された場合はステップS510においてNOPデ
ータをメモリチェーンの最後のブロックに移動する。さ
らに、ステップS520において前記NOPデータを移
動した結果、NOPデータですべて占められているブロ
ック(空きブロック)が生じたか否かが判断され、生じ
たことが検出されると、ステップS530においてその
ブロックをメモリチェーンからはずす処理が行われる。
すなわち、FATが書き替えられる。そして、ポインタ
以後にNOPデータの領域がないと判断された場合、お
よび、空きブロックが生じたことが検出されない場合と
同様にリターンされる。
【0028】さらに、ポインタ移動処理のフローチャー
トを図14に示す。この処理は、例えば再生中に修正し
たい個所がある場合に再生をストップして、ポインタを
修正したい個所のアドレスを指示するように移動し、デ
ータを修正する処理である。この場合、ポインタがすべ
てのトラックにおいて同様に移動するようにして、直ち
に再生してもトラック同士の同期を取れるようにしてお
く。ポインタ移動処理は、ステップS600において現
在のポインタの位置のデータのうちキーオン、デュレー
ションデータ等のデータは無視すると共に、その他のデ
ータは対応処理を実行するようにする。これは、移動す
る場合は、発音するわけではないのでキーオンデータや
デュレーションデータ等は無視できるが、その他のデー
タには音色の変更やエフェクトの種類の変更等のプログ
ラムをチェンジするデータが含まれており、このような
データを実行せず無視すると、ポインタの位置から再生
を始めた場合、設定した音色等で発音されなくなるから
である。
【0029】次に、ステップS610においてポインタ
の後にNOPデータの領域があるか否かが判断され、あ
ると判断された場合はステップS620において現在の
ポインタの位置のデータを移動し、現在のポインタの位
置にNOPデータを書き込むようにする。そして、ステ
ップS630においてポインタが1つ移動されてリター
ンされる。また、ポインタの後にNOPデータがない場
合は、ステップS630においてポインタが1つ移動さ
れてリターンされる。このステップS620,ステップ
S630は、前記図7に示すデータIの移動処理を行う
ものであり、まずポインタが指示するデータIの最下行
をNOPデータのNEAの位置にコピーし、データIの
最下行にデータ「F8」を書き込む。そして、ポインタ
を1つ上に移動し、同様の動作を繰り返し行うことによ
り、データIを図7(b)に示すように移動させてい
く。これにより、データIを移動できると共にNOPデ
ータをポインタの後に移動することができる。
【0030】次に、データ挿入処理のフローチャートを
図15に示す。データ挿入処理は、ステップS700に
おいて現在のポインタの次のアドレスのデータがNOP
データか否かが判断される。次にアドレスのデータがN
OPデータと判断された場合は、ステップS710にお
いてポインタが移動されてデータが書き込まれ、さら
に、ステップS790において書き込むべきデータのす
べてを書き込んだか否かが判断される。ここで、書き込
むデータがまだあるとユーザが指示した場合には、ステ
ップS700に戻り同様のデータ書き込み動作が繰り返
し行われる。そして、ステップS790において書き込
むべきデータをすべて書き込んだとユーザが指示した場
合はリターンされる。
【0031】ところで、ステップS700において次の
アドレスのデータがNOPでないと判断された場合は、
ステップS720においてそのトラックにNOPデータ
があるか否かが判断される。NOPデータがあると判断
された場合は、ステップS770においてこのNOPデ
ータの領域をポインタの直後に移動し、ステップS71
0に移行し前記と同様にポインタが移動されてデータが
書き込まれる。さらに、ステップS790において前述
のように、書き込むべきデータのすべてを書き込んだか
否かが判断される。ここで、書き込むデータがまだある
とユーザが指示した場合には、ステップS700に戻さ
れ前述のデータ書き込み動作が行われる。そして、ステ
ップS790において書き込むべきデータをすべて書き
込んだとユーザが指示した場合はリターンされる。
【0032】また、ステップS720においてNOPデ
ータの領域がないと判断された場合は、ステップS73
0において使われていないブロック、すなわち空きブロ
ックがあるか否かがサーチされ、あった場合はステップ
S740においてポインタのあるブロックにサーチされ
た空きブロックがつながれる。これにより、図5(b)
に示すような「02」ブロックが挿入されたチェーンと
される。そして、ステップS750においてポインタの
あるブロックのポインタ以後のデータを、新しくつなが
れたブロックの相対的に同じ位置にコピーする。すなわ
ち、図5(a)に示すようなコピーが行われる。さら
に、ステップS760においてポインタのあるブロック
のポインタ以後の領域にNOPデータを書き込むと共
に、新しくつながれたブロックのコピーされたデータの
前までNOPデータを書き込む。これにより、図5
(b)に示すデータH(F+G)にNOPデータが書き
込まれる。
【0033】そして、ステップS710に移行し前記同
様にポインタが移動されてデータが書き込まれ、さら
に、ステップS790において前述のように、書き込む
べきデータのすべてを書き込んだか否かが判断される。
ここで、書き込むデータがまだあるとユーザが指示した
場合には、ステップS700に戻され前述の書き込み動
作が行われる。そして、ステップS790において書き
込むべきデータをすべて書き込んだとユーザが指示した
場合はリターンされる。なお、ステップS730におい
て空きブロックがないと判断された場合は、ステップS
780において「メモリがたりません」と表示されてリ
ターンされる。また、前記説明したように複数のトラッ
クが同期されるようにするため、ポインタの移動はプレ
イ時においてもエディット時においても複数のトラック
のポインタが同時に移動するようにされている。また、
実施例ではポインタの位置は挿入しようとするアドレス
の直前にあるようにしたが、挿入しようとするアドレス
の位置にポインタがあるようにしてもよい。前記本発明
の実施例によれば、プレイ時とエディット時とでポイン
タの位置が一致しているため、再生を停めたところから
エディット処理を行うことができると共に、エディット
したところから再生することができる。このため、エデ
ィットの内容をすぐに確認することができる。
【0034】
【発明の効果】本発明は以上のように構成されているの
で、データ挿入領域を短時間で作成することができ、エ
ディット時の動作を早くすることができる。
【図面の簡単な説明】
【図1】自動演奏装置の全体構成図である。
【図2】Songテーブルの構成を示す図である。
【図3】FATの構成を示す図である。
【図4】メモリの実際の構造とチェーンの構成を示す図
である。
【図5】エディット時の動作を説明する図である。
【図6】書き替えられたFATの構成を示す図である。
【図7】エディット時の他の動作を説明する図である。
【図8】エディット時の表示画面を示す図である。
【図9】エディットされた表示画面を示す図である。
【図10】メインルーチンのフローチャートである。
【図11】再生処理のフローチャートである。
【図12】割込み処理のフローチャートである。
【図13】エディット終了処理のフローチャートであ
る。
【図14】ポインタ移動処理のフローチャートである。
【図15】データ挿入処理のフローチャートである。
【図16】従来のエディット時の動作を説明する図であ
る。
【符号の説明】
1 CPU 2 RAM 3 ROM 4 LCD 5 LCD I/F 6 パネル操作子 7 パネル操作子I/F 8 音源 9 DSP 10 DAC 11 スピーカ 12 アドレス・データバス 13 鍵盤 14 鍵盤I/F

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】メモリ空間を所定バイト長毎のブロックに
    分割すると共に、該ブロックに順序番号を付与し、1つ
    以上の前記ブロックを接続して構成したメモリチェーン
    に演奏データを記憶し、該演奏データを記憶した前記メ
    モリチェーンを構成するブロックの番号を前記演奏デー
    タ順となるよう管理する管理テーブルを設け、 前記演奏データのエディット時に、新たな演奏データを
    挿入するアドレスのあるブロックの該アドレス以降に記
    憶されている演奏データを空きブロックにコピーし、 前記エディットするブロックの次に前記コピーしたブロ
    ックが挿入されるように、前記管理テーブルを書き換え
    ると共に、前記挿入するアドレス以降にエディットデー
    タを書き込むようにすることを特徴とする自動演奏装
    置。
JP5354315A 1993-12-29 1993-12-29 自動演奏装置 Expired - Fee Related JP2743808B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5354315A JP2743808B2 (ja) 1993-12-29 1993-12-29 自動演奏装置
US08/365,156 US5608178A (en) 1993-12-29 1994-12-28 Method of storing and editing performance data in an automatic performance device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5354315A JP2743808B2 (ja) 1993-12-29 1993-12-29 自動演奏装置

Publications (2)

Publication Number Publication Date
JPH07199927A JPH07199927A (ja) 1995-08-04
JP2743808B2 true JP2743808B2 (ja) 1998-04-22

Family

ID=18436726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5354315A Expired - Fee Related JP2743808B2 (ja) 1993-12-29 1993-12-29 自動演奏装置

Country Status (2)

Country Link
US (1) US5608178A (ja)
JP (1) JP2743808B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2927229B2 (ja) * 1996-01-23 1999-07-28 ヤマハ株式会社 メドレー演奏装置
JP4304888B2 (ja) * 2000-09-04 2009-07-29 ソニー株式会社 記録媒体、編集装置及び編集方法
JP4134945B2 (ja) * 2003-08-08 2008-08-20 ヤマハ株式会社 自動演奏装置及びプログラム
US9967088B2 (en) * 2016-05-23 2018-05-08 Accenture Global Solutions Limited Rewritable blockchain

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2546663B2 (ja) * 1987-02-06 1996-10-23 ヤマハ株式会社 自動演奏装置
JP2580720B2 (ja) * 1988-06-23 1997-02-12 ヤマハ株式会社 自動演奏装置
JPH045996A (ja) * 1990-04-24 1992-01-09 Matsushita Electric Ind Co Ltd スチームアイロン
JP2620724B2 (ja) * 1990-10-23 1997-06-18 株式会社河合楽器製作所 演奏情報の記録装置
JP2819948B2 (ja) * 1992-07-16 1998-11-05 ヤマハ株式会社 楽音信号記録再生装置

Also Published As

Publication number Publication date
JPH07199927A (ja) 1995-08-04
US5608178A (en) 1997-03-04

Similar Documents

Publication Publication Date Title
US5880388A (en) Karaoke system for synchronizing and reproducing a performance data, and karaoke system configuration method
US5679913A (en) Electronic apparatus for the automatic composition and reproduction of musical data
JP3829549B2 (ja) 楽音生成装置及びテンプレート編集装置
KR100200290B1 (ko) 자동연주장치
KR920008291B1 (ko) 자동연주 기록장치
JP2743808B2 (ja) 自動演奏装置
US5164529A (en) Interruption control apparatus for use in performance information processing system
JP2001013962A (ja) 楽曲自動再生装置および連続楽曲情報作成再生プログラムを記録した記録媒体
JP3980750B2 (ja) 電子楽器
JPH05224683A (ja) カラオケ装置における歌詞表示制御装置
JPH04141696A (ja) 楽音再生装置
JPH1115481A (ja) カラオケ装置
JP3428410B2 (ja) カラオケ装置
JPH10124075A (ja) 歌詞ワイプ情報入力装置および記録媒体
JP3407625B2 (ja) 自動演奏装置、自動演奏方法及びプログラムを記録した媒体
JP3407563B2 (ja) 自動演奏装置及び自動演奏方法
JP3709820B2 (ja) 楽曲情報編集装置及び楽曲情報編集プログラム
JP3797180B2 (ja) 楽譜表示装置及び楽譜表示プログラム
JP3757664B2 (ja) 演奏情報再生装置および演奏情報再生プログラムを記録したコンピュータ読み取り可能な記録媒体
JP3518392B2 (ja) 演奏情報設定装置および演奏情報設定プログラムを記録したコンピュータで読み取り可能な記録媒体
JP2003114680A (ja) 楽曲情報編集装置及び楽曲情報編集プログラム
JP3147111B2 (ja) 自動演奏記録再生装置
JP2583377B2 (ja) 自動演奏装置
JP2822653B2 (ja) 楽音再生装置
JP2607413B2 (ja) 自動演奏装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980106

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080206

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090206

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees