JPH06203534A - File management system for electronic musical instrument - Google Patents

File management system for electronic musical instrument

Info

Publication number
JPH06203534A
JPH06203534A JP5152638A JP15263893A JPH06203534A JP H06203534 A JPH06203534 A JP H06203534A JP 5152638 A JP5152638 A JP 5152638A JP 15263893 A JP15263893 A JP 15263893A JP H06203534 A JPH06203534 A JP H06203534A
Authority
JP
Japan
Prior art keywords
data
cluster
stored
cluster number
area
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.)
Pending
Application number
JP5152638A
Other languages
Japanese (ja)
Inventor
Toshihisa Sadakata
俊久 定方
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 JP5152638A priority Critical patent/JPH06203534A/en
Publication of JPH06203534A publication Critical patent/JPH06203534A/en
Pending legal-status Critical Current

Links

Landscapes

  • Management Or Editing Of Information On Record Carriers (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PURPOSE:To insert and delete performance data of an arbitrary length without rewriting the entire data by storing the size of a performance data part and eliminating the need for one memory unit to be filled with the data. CONSTITUTION:A hard disk 21 is divided to the memory units consisting of the data regions of the prescribed length and the performance data for one file component of plural pieces of the memory units are properly divided and stored. The disk 21 stores the data indicating the size of the performance data part currently stored in the memory unit and the data indicating the sequence of connection. Then, the performance data for the prescribed one file component is reproduced by successively reading out the effective data from the memory unit in accordance with the data indicating the sequence of connection. A CPU 10 makes instruction as to whether the data be freshly inserted into the stored performance data or the data be deleted. A DMA device 18 rewrites the data indicating the size and sequence of connection of the performance data part according to the insertion, the deletion.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明は、楽音に関する演奏デ
ータを論理的に扱うためにその演奏データをファイルと
して記憶媒体に記憶し、そのファイルを読み出すことに
よって所望の演奏を行う電子楽器に係り、そのファイル
を実際の記憶媒体上でどのように記憶し、どのように読
み出すかその物理的構成に改良を加えた電子楽器のファ
イル管理システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an electronic musical instrument for performing a desired performance by storing the performance data as a file in a storage medium in order to logically handle the performance data relating to the musical tone and reading the file. The present invention relates to a file management system for an electronic musical instrument in which the physical configuration of the file is improved by storing the file on an actual storage medium and reading the file.

【0002】[0002]

【従来の技術】キーボードやコンピュータ等から入力さ
れる演奏データをフロッピーディスクやハードディスク
等の記憶媒体に記憶し、そこから演奏データを読み出し
て演奏音を自動的に再生するシーケンサタイプの自動演
奏装置を内蔵した電子楽器がある。
2. Description of the Related Art A sequencer-type automatic performance device that stores performance data input from a keyboard, a computer or the like in a storage medium such as a floppy disk or a hard disk, reads the performance data from the storage medium and automatically reproduces the performance sound. There is a built-in electronic musical instrument.

【0003】このような電子楽器では、演奏データをフ
ロッピーディスクやハードディスク等に記憶する際に、
汎用のパーソナルコンピュータのオペレーションシステ
ムであるMS−DOSのファイル管理システムを利用し
て演奏データをファイルとして管理している。(「MS
−DOS」は米国マイクロソフト社の登録商標であ
る。)このMS−DOSでは、ディスクを予約領域(ブ
ートセクタ)、FAT(File Allocatio
n Table)、ディレクトリ領域及びデータ領域の
4つのブロックに分割して演奏データを記憶している。
予約領域はブートプログラムを格納し、FATはファイ
ルやサブディレクトリがディスク上のどこのクラスタを
使用しているか、また、そのクラスタの連結状態や未使
用クラスタの位置、不良クラスタの位置等のようなディ
スクの使用状態に関する情報を記憶したテーブルであ
る。ディレクトリ領域はルートディレクトリに相当する
ものであり、32バイトのディレクトリエントリを複数
個格納している。データ領域は未使用クラスタ又は使用
済みクラスタの集まりであり、必要に応じて先頭から順
番に演奏データやサブディレクトリ等の実際のデータを
格納している。
In such an electronic musical instrument, when storing performance data in a floppy disk, a hard disk, etc.,
Performance data is managed as a file by using a file management system of MS-DOS which is an operation system of a general-purpose personal computer. ("MS
-DOS "is a registered trademark of Microsoft Corporation, USA. ) In this MS-DOS, a disk is reserved area (boot sector), FAT (File Allocation).
performance data is stored by being divided into four blocks (n Table), a directory area, and a data area.
The reserved area stores the boot program, and the FAT determines which cluster on the disk the file or subdirectory uses, the connection status of the cluster, the position of the unused cluster, the position of the bad cluster, etc. It is a table that stores information on the usage status of the disk. The directory area corresponds to the root directory and stores a plurality of 32-byte directory entries. The data area is a collection of unused clusters or used clusters, and stores actual data such as performance data and subdirectories in order from the beginning as needed.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、電子楽
器で扱う演奏データは通常のパーソナルコンピュータで
扱うようなデータに比べて非常に膨大であり、必然的に
1ファイルの大きさも非常に大きなものである。また、
電子楽器においては演奏データの挿入や削除を演奏内容
に応じて頻繁に繰り返す場合が多い。MS−DOSのよ
うなファイル管理システムでこのような膨大な量の演奏
データを管理しようとすると、演奏データの挿入や削除
の度に全データの書換えを行わなければならず、その書
換えだけで多大の時間を費やすこととなる。これは、M
S−DOSのファイル管理システムがクラスタの連結状
態を示したFATによって指定された最後尾のクラスタ
以外は必ずデータが満たされていなければならないとい
う方式に依存しているからに他ならない。従って、MS
−DOSのような既存のファイル管理システムで膨大な
量の演奏データを管理しようとすると、演奏データの挿
入又は削除のポイントよりも後ろにある演奏データは記
憶位置が全て変わることとなるため、全データの書換え
を行う必要があり、演奏に即したリアルタイムな演奏デ
ータの書換えが行えないという問題を有する。
However, the performance data handled by the electronic musical instrument is very large in comparison with the data handled by a normal personal computer, and the size of one file is inevitably very large. . Also,
In electronic musical instruments, insertion and deletion of performance data are often repeated according to the content of the performance. In order to manage such a huge amount of performance data with a file management system such as MS-DOS, it is necessary to rewrite all the data each time the performance data is inserted or deleted. Will spend time. This is M
This is because the S-DOS file management system relies on the system that data must be filled in except for the last cluster specified by the FAT that indicates the connected state of clusters. Therefore, MS
-If an enormous amount of performance data is managed by an existing file management system such as DOS, the storage positions of the performance data after the point where the performance data is inserted or deleted are all changed. Since it is necessary to rewrite the data, there is a problem that the performance data cannot be rewritten in real time according to the performance.

【0005】この発明は上述の点に鑑みてなされたもの
であり、予め記憶された演奏データに対してデータの挿
入又は削除を行う場合でも全データの書換えを行わなく
ても任意の長さの演奏データを任意の位置に挿入又は削
除できるような電子楽器のファイル管理システムを提供
することを目的とする。
The present invention has been made in view of the above-mentioned points, and even if data is inserted or deleted from performance data stored in advance, it is possible to write data of arbitrary length without rewriting all data. An object of the present invention is to provide a file management system for electronic musical instruments in which performance data can be inserted or deleted at arbitrary positions.

【0006】[0006]

【課題を解決するための手段】この発明に係る電子楽器
のファイル管理システムは、所定長のデータ領域からな
る記憶単位の複数個に1ファイル分の演奏データを分割
して記憶すると共に、前記各記憶単位に記憶されている
前記演奏データ部分の大きさをそれぞれ示すデータと前
記各記憶単位に記憶された前記演奏データ部分の連結順
を示すデータとを記憶している記憶手段と、この記憶手
段に記憶されている前記演奏データに対してデータの挿
入又は削除を指示する指示手段と、この指示手段によっ
て指示されたデータを挿入又は削除するとともに前記演
奏データ部分の大きさを示すデータ及び前記連結順を示
すデータを書き換えるファイル管理手段と、 前記記憶
手段に記憶された前記演奏データ部分の大きさを示すデ
ータ及び前記連結順を示すデータに基づき前記記憶手段
に記憶された演奏データを読み出す読出手段とを具えた
ものである。
A file management system for an electronic musical instrument according to the present invention divides performance data of one file into a plurality of storage units each having a data area of a predetermined length and stores the performance data. Storage means for storing data indicating the size of the performance data portion stored in each storage unit and data indicating the connection order of the performance data portions stored in each storage unit, and this storage means Instructing means for instructing insertion or deletion of data with respect to the performance data stored in, and data for indicating the size of the performance data portion and the connection for inserting or deleting the data instructed by the instructing means. File management means for rewriting the data indicating the order, data indicating the size of the performance data portion stored in the storage means, and the connection order Reading means for reading the performance data stored in the storage means based on the data indicating

【0007】[0007]

【作用】演奏データは音高に関するデータや発音タイミ
ングに関するデータ等のような楽音に関するデータであ
る。記憶手段は、所定長のデータ領域からなる記憶単位
に分割されており、その記憶単位の複数個に1ファイル
分の演奏データが適宜分割記憶されている。また、記憶
手段は、その記憶単位に現在記憶されている演奏データ
部分の大きさをそれぞれ示すデータと各記憶単位に記憶
された演奏データ部分の連結順を示すデータとを記憶し
ている。従って、この連結順を示すデータに従って記憶
単位から有効データを順番に読み出すことによって所定
の1ファイル分の演奏データを再生することができる。
指示手段は、この記憶手段に記憶されている演奏データ
に対して新たにデータを挿入するのか、またはデータを
削除するのかを指示するものである。従って、指示手段
の操作に応じてデータの挿入や削除が行われる。このよ
うな場合に、ファイル管理手段はこの指示手段によって
指示されたデータを挿入又は削除する場合に、演奏デー
タ部分の大きさを示すデータ及び連結順を示すデータを
書き換える。そして、読出手段は、記憶手段に記憶され
た演奏データ部分の大きさを示すデータ及び連結順を示
すデータに基づき記憶手段に記憶された演奏データを読
み出す。従って、データの挿入に伴って記憶単位の有効
データの大きさが所定長のデータ領域よりも大きくなる
ときにはその大きくなった分のデータを記憶するための
記憶単位を新たに追加すると共に追加された記憶単位の
連結順を示すデータを新たに追加するだけでよい。ま
た、データの削除に伴って記憶単位に記憶されている有
効データが消滅したときにはその記憶単位を連結順を示
すデータから削除するだけでよい。これによって、デー
タの挿入及び削除によって書き換えられる記憶単位の数
や量が非常に少なくて済み、一々全データの書換えを行
わなくても任意の長さの演奏データを任意の位置に挿入
したり又は削除したりすることができる。
The function data is data related to musical tones such as pitch-related data and sounding timing data. The storage means is divided into storage units each having a data area of a predetermined length, and the performance data for one file is appropriately divided and stored in a plurality of storage units. The storage means also stores data indicating the size of the performance data portion currently stored in that storage unit and data indicating the connection order of the performance data portions stored in each storage unit. Therefore, it is possible to reproduce the performance data for a predetermined one file by sequentially reading the valid data from the storage unit in accordance with the data indicating the connection order.
The instructing means is for instructing whether to insert new data or delete the performance data stored in the storage means. Therefore, data is inserted or deleted according to the operation of the instruction means. In such a case, the file management means rewrites the data indicating the size of the performance data portion and the data indicating the connection order when inserting or deleting the data designated by the designating means. Then, the reading means reads the performance data stored in the storage means on the basis of the data indicating the size of the performance data portion stored in the storage means and the data indicating the connection order. Therefore, when the size of the effective data of the storage unit becomes larger than the data area of the predetermined length due to the insertion of the data, the storage unit for storing the increased amount of data is newly added and added. All that is required is to add new data indicating the order of connection of storage units. Further, when the valid data stored in the storage unit disappears due to the deletion of the data, the storage unit only needs to be deleted from the data indicating the connection order. As a result, the number and amount of storage units that can be rewritten by inserting and deleting data is extremely small, and performance data of any length can be inserted at any position without rewriting all data one by one. It can be deleted.

【0008】[0008]

【実施例】以下、この発明の実施例を添付図面に従って
詳細に説明する。図2はこの発明に係るファイル管理シ
ステムを内蔵した電子楽器の全体構成を示すハードブロ
ック図である。マイクロプロセッサユニット(CPU)
10は、この電子楽器全体の動作を制御するものであ
る。このCPU10に対して、データ及びアドレスバス
25を介してROM11、RAM12、鍵盤13、パネ
ルスイッチ14、表示器15、音源回路16、アナログ
−デジタル変換器(ADC)17、DMA(Direc
tMemory Access)装置18、アドレス変
換回路19及びインターフェイス20が接続されてい
る。
Embodiments of the present invention will now be described in detail with reference to the accompanying drawings. FIG. 2 is a hardware block diagram showing the overall configuration of an electronic musical instrument incorporating the file management system according to the present invention. Microprocessor unit (CPU)
Reference numeral 10 controls the operation of the entire electronic musical instrument. With respect to the CPU 10, a ROM 11, a RAM 12, a keyboard 13, a panel switch 14, a display device 15, a sound source circuit 16, an analog-digital converter (ADC) 17, a DMA (Direc) via a data and address bus 25.
A tMemory Access) device 18, an address conversion circuit 19 and an interface 20 are connected.

【0009】この実施例ではCPU10によって押鍵検
出処理や自動演奏処理等を行う電子楽器について説明す
るが、自動演奏処理を行うシーケンサモジュールと、鍵
盤13や音源回路16からなるモジュールとがそれぞれ
別々に構成され、各モジュール間のデータの授受を周知
のMIDI規格で行うように構成されたものにも同様に
適用できる。
In this embodiment, an electronic musical instrument for performing key-depression detection processing and automatic performance processing by the CPU 10 will be described. A sequencer module for performing automatic performance processing and a module including the keyboard 13 and tone generator circuit 16 are separately provided. The present invention can be similarly applied to a device configured to transfer data between modules according to the well-known MIDI standard.

【0010】ROM11はCPU10の各種プログラム
や各種データを格納するものであり、リードオンリーメ
モリ(ROM)で構成されている。RAM12は、演奏
データやCPU10がプログラムを実行する際に発生す
る各種データを一時的に記憶するものであり、ランダム
アクセスメモリ(RAM)の所定のアドレス領域がそれ
ぞれ割り当てられ、レジスタ、フラグ、バッファ等とし
て利用される。
The ROM 11 stores various programs of the CPU 10 and various data, and is composed of a read only memory (ROM). The RAM 12 temporarily stores performance data and various data generated when the CPU 10 executes a program, and is assigned with a predetermined address area of a random access memory (RAM), and registers, flags, buffers, etc. Used as.

【0011】鍵盤13は、発音すべき楽音の音高を選択
するための複数の鍵を備えており、各鍵の操作に応じて
キーオンイベント情報、キーオフイベント情報、ベロシ
ティ情報、キーコード等のデータをデータ及びアドレス
バス25を介してCPU10に出力する。鍵盤13の代
わりにコンピュータ等を接続し、所望の演奏データを入
力してもよい。パネルスイッチ14は、音色、音量、効
果等を選択・設定・制御するための各種操作子を含むも
のである。表示器15はCPU10の制御状態、設定デ
ータの内容等の各種の情報を液晶パネル(LCD)等に
表示するものである。
The keyboard 13 is provided with a plurality of keys for selecting the pitch of a musical tone to be pronounced, and data such as key-on event information, key-off event information, velocity information, key code, etc. according to the operation of each key. Is output to the CPU 10 via the data and address bus 25. Instead of the keyboard 13, a computer or the like may be connected to input desired performance data. The panel switch 14 includes various operators for selecting, setting, and controlling a tone color, a volume, an effect, and the like. The display 15 displays various information such as the control state of the CPU 10 and the contents of setting data on a liquid crystal panel (LCD) or the like.

【0012】音源回路16は、複数のチャンネルで楽音
信号の同時発生が可能であり、データ及びアドレスバス
25を経由して与えられた演奏データ(MIDI規格に
準拠したデータや波形データ等)を入力し、このデータ
に基づき楽音信号を発生するものであって、例えば、発
生すべき楽音の音高に対応して変化するアドレスデータ
に応じて音源回路16内部あるいはハードディスク等の
外部記憶装置に記憶した楽音波形サンプル値データを順
次読み出すメモリ読み出し方式により、楽音信号を発生
するものである。なお、音源回路16は2ブロック構成
のバッファメモリを有し、データ及びアドレスバス25
を経由して来る演奏データを一時的に記憶してから楽音
信号の発生を行う。音源回路16から発生された楽音信
号は、図示しないアンプ及びスピーカからなるサウンド
システム24を介して発音される。
The tone generator circuit 16 is capable of simultaneously generating musical tone signals on a plurality of channels, and inputs data and performance data (data conforming to the MIDI standard, waveform data, etc.) given via the address bus 25. However, a tone signal is generated based on this data, and is stored in the tone generator circuit 16 or in an external storage device such as a hard disk according to address data that changes corresponding to the pitch of the tone to be generated. A tone signal is generated by a memory reading method for sequentially reading tone waveform sample value data. It should be noted that the tone generator circuit 16 has a buffer memory having a two-block structure, and has a data and address bus 25.
The musical tone signal is generated after temporarily storing the performance data coming via the. The tone signal generated from the tone generator circuit 16 is sounded through a sound system 24 including an amplifier and a speaker (not shown).

【0013】マイク23は音声信号や楽器音等を電圧信
号に変換して、アナログ−デジタル変換器(ADC)1
7に出力する。アナログ−デジタル変換器17はマイク
23からのアナログの電圧信号をデジタル信号に変換し
て、データ及びアドレスバス25に出力する。CPU1
0はアナログ−デジタル変換器17からのデジタル信
号、例えば楽器音をサンプリングしたデジタル信号を入
力し、その楽器音の音高(ピッチ)データを検出して演
奏データとして外部記憶装置(ハードディスク21等)
に記憶したりする。
The microphone 23 converts a voice signal, a musical instrument sound or the like into a voltage signal, and the analog-digital converter (ADC) 1
Output to 7. The analog-digital converter 17 converts the analog voltage signal from the microphone 23 into a digital signal and outputs it to the data and address bus 25. CPU1
Reference numeral 0 is a digital signal from the analog-digital converter 17, for example, a digital signal obtained by sampling a musical instrument sound is input, pitch data of the musical instrument sound is detected, and performance data is stored in an external storage device (hard disk 21 or the like).
To remember.

【0014】ハードディスク21は数十〜数百メガバイ
ト(MB)の記憶容量を有し、インターフェイス20を
介してデータ及びアドレスバス25に接続されている。
キャッシュRAM22は数メガバイトの記憶容量を有
し、ハードディスク21へのアクセスタイムを大幅に短
縮するものである。アドレス変換回路19は読み出しア
ドレスがキャッシュRAM22に存在するかどうかを判
定し、存在する場合にはその読み出しアドレスをキャッ
シュRAM22のアドレスに変換する。DMA装置18
はCPU10を介さないで、RAM12等の内部メモリ
とハードディスク21等の外部メモリとの間で直接デー
タを転送するものである。
The hard disk 21 has a storage capacity of tens to hundreds of megabytes (MB) and is connected to the data and address bus 25 via the interface 20.
The cache RAM 22 has a storage capacity of several megabytes and greatly shortens the access time to the hard disk 21. The address conversion circuit 19 determines whether the read address exists in the cache RAM 22 and, if it exists, converts the read address into the address of the cache RAM 22. DMA device 18
Is to directly transfer data between the internal memory such as the RAM 12 and the external memory such as the hard disk 21 without passing through the CPU 10.

【0015】図1は、ハードディスク21上に記憶され
ている演奏データの内容を示す図である。まず、ハード
ディスク21は予約領域(ブートセクタ)、ファイルア
ロケーションテーブル(FAT:File Alloc
ation Table)、データボリュームテーブル
(DVT:Data Volume Table)、デ
ィレクトリ領域(DIR)及びデータ記憶領域の5つの
領域に分割されている。予約領域は、従来と同様にブー
トプログラムを格納している。ファイルアロケーション
テーブルFATは、従来と同様にファイルやサブディレ
クトリがディスク上のどこのクラスタを使用している
か、また、そのクラスタの連結状態や未使用クラスタの
位置、不良クラスタの位置等のようなディスクの使用状
態に関する情報を記憶したテーブルである。
FIG. 1 is a diagram showing the contents of performance data stored on the hard disk 21. First, the hard disk 21 has a reserved area (boot sector) and a file allocation table (FAT: File Alloc).
data table, a data volume table (DVT), a directory area (DIR), and a data storage area. The reserved area stores the boot program as in the conventional case. The file allocation table FAT is used to determine which cluster on the disk the file or subdirectory uses, the disk connection status, unused cluster position, bad cluster position, etc. 3 is a table that stores information on the usage status of the.

【0016】データボリュームテーブルDVTはFAT
で特定されるクラスタに記憶されている有効データの大
きさを示すデータを記憶したテーブルである。ディレク
トリ領域DIRは、従来と同様にルートディレクトリに
相当するものであり、複数のディレクトリエントリを記
憶している。ディレクトリエントリはファイル名、ファ
イル拡張子、ファイルの属性、ファイルの作成日時、フ
ァイルのスタートクラスタ番号SC、ファイルの大きさ
を示すファイルサイズFS及びその他のデータで構成さ
れている。データ記憶領域は未使用クラスタ又は使用済
みクラスタの集まりであり、演奏データファイルやサブ
ディレクトリ等に関する実際のデータを格納している。
The data volume table DVT is FAT.
3 is a table that stores data indicating the size of effective data stored in the cluster specified by. The directory area DIR corresponds to the root directory as in the conventional case, and stores a plurality of directory entries. The directory entry is composed of a file name, a file extension, a file attribute, a file creation date and time, a file start cluster number SC, a file size FS indicating the size of the file, and other data. The data storage area is a collection of unused clusters or used clusters, and stores actual data relating to performance data files and subdirectories.

【0017】なお、この実施例では、1クラスタのサイ
ズが512バイトで構成され、ディレクトリエントリ1
のスタートクラスタSCが0002、ファイルサイズF
Sが2000バイトの場合を例に説明する。MS−DO
Sと同様にFATのクラスタ番号CN=0000、00
01には対応するFATはエントリされておらず、クラ
スタ番号CN=0002からFATのエントリが始まる
ようになっている。
In this embodiment, the size of one cluster is 512 bytes and the directory entry 1
Start cluster SC is 0002, file size F
A case where S is 2000 bytes will be described as an example. MS-DO
Similar to S, FAT cluster number CN = 0000, 00
No corresponding FAT is entered in 01, and the entry of FAT starts from the cluster number CN = 0002.

【0018】FATのクラスタ番号CN=0002には
FAT0=0003がエントリされ、次のクラスタ番号
CNが0003であることを示している。以下、クラス
タ番号CN=0003にはFAT1=0004が、クラ
スタ番号CN=0004にはFAT2=0005が、ク
ラスタ番号CN=0005にはFAT3=0006が、
クラスタ番号CN=0006にはFAT4=0007
が、クラスタ番号CN=0007にはFAT5=n+1
が、クラスタ番号CN=n+1にはFATn−1=FF
FFがそれぞれエントリされている。従って、これらの
クラスタ番号CNに応じてデータ記憶領域からデータを
順番に読み出すことによってディレクトリエントリ1で
特定されるファイルを構成することができる。なお、こ
こでエントリされているFATの中でFFFFは、MS
−DOSと同様にファイルやサブディレクトリを構成す
るクラスタのうちで,いちばん最後のものであることを
示している。
FAT0 = 0003 is entered in the cluster number CN = 0002 of the FAT, indicating that the next cluster number CN is 0003. Hereinafter, FAT1 = 0004 for the cluster number CN = 0003, FAT2 = 0005 for the cluster number CN = 0004, FAT3 = 0006 for the cluster number CN = 0005,
FAT4 = 0007 for cluster number CN = 0006
However, FAT5 = n + 1 for the cluster number CN = 0007
However, for the cluster number CN = n + 1, FATn-1 = FF
Each FF is entered. Therefore, the file specified by the directory entry 1 can be constructed by sequentially reading the data from the data storage area according to these cluster numbers CN. In the FAT entered here, FFFF is the MS
-Indicates that this is the last cluster among the clusters that configure files and subdirectories as with DOS.

【0019】DVTのクラスタ番号CN=0002には
DVT0=200がエントリされ、このクラスタに記憶
されている有効データの大きさが200バイトであるこ
とを示している。以下、クラスタ番号CN=0003に
はDVT1=300が、クラスタ番号CN=0004に
はDVT2=100が、クラスタ番号CN=0005に
はDVT3=512が、クラスタ番号CN=0006に
はDVT4=400が、クラスタ番号CN=0007に
はDVT5=300が、クラスタ番号CN=n+1には
DVTn−1=188がそれぞれエントリされている。
この DVTで示される有効データを全て足すと、ファ
イルサイズFSと同じ2000バイトとなる。
DVT0 = 200 is entered in the cluster number CN = 0002 of the DVT, indicating that the size of valid data stored in this cluster is 200 bytes. Hereinafter, DVT1 = 300 for cluster number CN = 0003, DVT2 = 100 for cluster number CN = 0004, DVT3 = 512 for cluster number CN = 0005, DVT4 = 400 for cluster number CN = 0006, DVT5 = 300 is entered in the cluster number CN = 0007, and DVTn-1 = 188 is entered in the cluster number CN = n + 1.
If all the valid data indicated by this DVT is added, it becomes 2000 bytes which is the same as the file size FS.

【0020】DVTを参照することによって、そのクラ
スタに記憶可能なデータの大きさ(余裕領域)を認識す
ることができる。すなわち、クラスタ番号CN=000
2には312バイト、クラスタ番号CN=0003には
212バイト、クラスタ番号CN=0004には412
バイト、クラスタ番号CN=0006には112バイ
ト、クラスタ番号CN=0007には212バイト、ク
ラスタ番号CN=n+1には324バイトの余裕領域が
存在し、クラスタ番号CN=0005には記憶可能な余
裕領域は存在しない。
By referring to the DVT, the size of data that can be stored in the cluster (margin area) can be recognized. That is, the cluster number CN = 000
2 has 312 bytes, cluster number CN = 0003 has 212 bytes, cluster number CN = 0004 has 412 bytes.
Bytes, 112 bytes for cluster number CN = 0006, 212 bytes for cluster number CN = 0007, 324 bytes for cluster number CN = n + 1, and a storable margin area for cluster number CN = 0005. Does not exist.

【0021】図6(a)は、図1のディレクトリ1のフ
ァイルのデータ記憶領域における有効データの大きさを
各クラスタ番号毎に棒グラフ形式で示した概念図であ
る。このように構成されたディレクトリ1のファイルの
クラスタ番号0003の100バイト目(図6(a)の
矢印DAの位置)に約300バイト程度のデータを挿入
する場合について説明する。図6(a)において、矢印
DAの左側に存在する斜線網掛け部分はデータ挿入位置
よりも前に存在するデータを、矢印DAの右側に存在す
る横線網掛け部分はデータ挿入位置よりも後に存在する
データを示す。従って、斜線網掛け部分よりも前に存在
するデータに関してはその記憶領域は変更する必要はな
いが、横線網掛け部分以降のデータは記憶領域を適宜変
更する必要がある。以下、記憶領域を変更する場合の例
を図面を用いて説明する。
FIG. 6A is a conceptual diagram showing the size of valid data in the data storage area of the file of the directory 1 in FIG. 1 in a bar graph format for each cluster number. A case will be described in which about 300 bytes of data is inserted at the 100th byte (the position of the arrow DA in FIG. 6A) of the cluster number 0003 of the file of the directory 1 thus configured. In FIG. 6A, the shaded area on the left side of the arrow DA indicates data existing before the data insertion position, and the horizontal line shaded area on the right side of the arrow DA exists after the data insertion position. Data to be shown. Therefore, it is not necessary to change the storage area for the data existing before the shaded area, but it is necessary to change the storage area for the data after the horizontal shaded area. An example of changing the storage area will be described below with reference to the drawings.

【0022】まず、第1の例として、図6(b)に示す
ように、クラスタ番号CN=0003の100バイトの
データ(斜線網掛け部分)に関してはそのままクラスタ
番号CN=0003のデータ記憶領域に残し、200バ
イトの残りデータ(横線網掛け部分)に関してはクラス
タ番号CN=0008を新たなデータ記憶領域として、
記憶する。そして、約300バイトの挿入データ(格子
網掛け部分)に関してはクラスタ番号CN=0009を
新たなデータ記憶領域として、記憶する
First, as a first example, as shown in FIG. 6 (b), 100-byte data (hatched portion) of cluster number CN = 0003 is directly stored in the data storage area of cluster number CN = 0003. With respect to the remaining data of 200 bytes (horizontal line shaded portion), the cluster number CN = 0008 is set as a new data storage area.
Remember. Then, the cluster number CN = 0009 is stored as a new data storage area for the insertion data of about 300 bytes (lattice shaded portion).

【0023】従って、図6(b)のようなデータ挿入に
よってFAT、DVT及びデータ記憶領域の内容がそれ
ぞれ書き換えられるが、実際に書き換えられるのはクラ
スタ番号CN=0003、0008及び0009に対応
するFAT、DVT及びデータ記憶領域である。図3は
その書き換えられたFAT及びDVTの内容を示す図で
ある。すなわち、クラスタ番号CN=0003において
は、100バイトのデータ(斜線網掛け部分)はそのま
まクラスタ番号CN=0003のデータ記憶領域に残さ
れるので、DVT1が300から100に変更される。
これによって、クラスタ番号CN=0003のデータ記
憶領域の内容を書き換える必要はない。また、クラスタ
番号CN=0003に続くデータはクラスタ番号CN=
0009のデータ記憶領域に記憶された約300バイト
の挿入データ(格子網掛け部分)なので、FAT1が0
004から0009に変更される。
Therefore, the contents of the FAT, DVT and the data storage area are respectively rewritten by the data insertion as shown in FIG. 6B, but the actual rewriting is the FAT corresponding to the cluster numbers CN = 0003, 0008 and 0009. , DVT and data storage areas. FIG. 3 is a diagram showing the contents of the rewritten FAT and DVT. That is, in the cluster number CN = 0003, 100-byte data (hatched portion) is left as it is in the data storage area of the cluster number CN = 0003, so the DVT1 is changed from 300 to 100.
As a result, there is no need to rewrite the contents of the data storage area with the cluster number CN = 0003. The data following the cluster number CN = 0003 is cluster number CN =
FAT1 is 0 because FAT1 is about 300 bytes of insertion data (lattice shaded portion) stored in the data storage area of 0009.
Changed from 004 to 0009.

【0024】クラスタ番号CN=0008においては、
200バイトの残りデータ(横線網掛け部分)がクラス
タ番号CN=0008のデータ記憶領域に記憶されるの
で、DVT6には200が記憶される。また、クラスタ
番号CN=0008に続くデータは、クラスタ番号CN
=0004のデータなので、FAT6には0004が記
憶される。クラスタ番号CN=0009においては、約
300バイトの挿入データ(格子網掛け部分)がクラス
タ番号CN=0009のデータ記憶領域に記憶されるの
で、DVT7には300が記憶される。また、クラスタ
番号CN=0009に続くデータは、クラスタ番号CN
=0008のデータ記憶領域に記憶された200バイト
の残りデータ(横線網掛け部分)なので、FAT7には
0008が記憶される。以上のように第1の例によれ
ば、データの挿入に伴って3つのクラスタ番号CN=0
003、0008及び0009に対応するFAT、DV
T及びデータ記憶領域内のデータを書き換えるだけでよ
い。なお、クラスタ番号CN=0003のデータ記憶領
域に関しては前述のようにDVTを書き換えるだけでよ
く、実際にデータ記憶領域内のデータを書き換える必要
はない。
In the cluster number CN = 0008,
Since 200 bytes of remaining data (horizontal line shaded portion) is stored in the data storage area of cluster number CN = 0008, 200 is stored in the DVT 6. The data following the cluster number CN = 0008 is the cluster number CN.
Since the data is = 0004, 0004 is stored in the FAT6. At cluster number CN = 0009, about 300 bytes of inserted data (latched portion) is stored in the data storage area at cluster number CN = 0009, so 300 is stored in DVT7. The data following the cluster number CN = 0009 is the cluster number CN.
Since the remaining data of 200 bytes (horizontal line shaded portion) stored in the data storage area of = 0008, 0008 is stored in FAT7. As described above, according to the first example, three cluster numbers CN = 0 with the insertion of data.
FAT, DV corresponding to 003, 0008 and 0009
It is only necessary to rewrite the data in T and the data storage area. Regarding the data storage area with the cluster number CN = 0003, it is sufficient to rewrite the DVT as described above, and it is not necessary to actually rewrite the data in the data storage area.

【0025】次に、第2の例として、図6(c)に示す
ように、クラスタ番号CN=0003の100バイトの
データ(斜線網掛け部分)に関してはそのままクラスタ
番号CN=0003のデータ記憶領域に残し、その後に
約300バイトの挿入データ(格子網掛け部分)を記憶
する。そして、200バイトの残りデータ(横線網掛け
部分)に関してはクラスタ番号CN=0008を新たな
データ記憶領域として記憶する。
Next, as a second example, as shown in FIG. 6C, the 100-byte data (hatched portion) of the cluster number CN = 0003 is directly stored in the data storage area of the cluster number CN = 0003. , And then store about 300 bytes of insertion data (lattice shaded portion). Then, the cluster number CN = 0008 is stored as a new data storage area for the remaining data of 200 bytes (hatched portion in the horizontal line).

【0026】従って、図6(c)のようなデータ挿入に
よってFAT、DVT及びデータ記憶領域の内容がそれ
ぞれ書き換えられるが、実際に書き換えられるのはクラ
スタ番号CN=0003及び0008に対応するFA
T、DVT及びデータ記憶領域である。図4はその書き
換えられたFAT及びDVTの内容を示す図である。す
なわち、クラスタ番号CN=0003においては、10
0バイトのデータ(斜線網掛け部分)はそのままクラス
タ番号CN=0003のデータ記憶領域に残され、その
後に約300バイトの挿入データ(格子網掛け部分)が
記憶されるので、DVT1は300から400に変更さ
れると共にそのデータ記憶領域のデータも書き換えられ
る。また、クラスタ番号CN=0003に続くデータは
クラスタ番号CN=0008のデータ記憶領域に記憶さ
れた200バイトの残りデータ(横線網掛け部分)なの
で、FAT1が0004から0008に変更される。
Therefore, the contents of the FAT, DVT and the data storage area are respectively rewritten by the data insertion shown in FIG. 6C, but the actual rewriting is the FA corresponding to the cluster numbers CN = 0003 and 0008.
T, DVT and data storage areas. FIG. 4 is a diagram showing the contents of the rewritten FAT and DVT. That is, in the cluster number CN = 0003, 10
The 0-byte data (hatched portion) is left as it is in the data storage area of cluster number CN = 0003, and about 300 bytes of inserted data (lattice-hatched portion) is stored thereafter, so that DVT1 is 300 to 400. And the data in the data storage area is rewritten. Further, since the data following the cluster number CN = 0003 is the remaining data of 200 bytes (horizontal line shaded portion) stored in the data storage area of the cluster number CN = 0008, FAT1 is changed from 0004 to 0008.

【0027】クラスタ番号CN=0008においては、
200バイトの残りデータ(横線網掛け部分)がクラス
タ番号CN=0008のデータ記憶領域に記憶されるの
で、DVT6には200が記憶される。また、クラスタ
番号CN=0008に続くデータは、クラスタ番号CN
=0004のデータなので、FAT6には0004が記
憶される。以上のように第2の例によれば、データの挿
入に伴って2つのクラスタ番号CN=0003及び00
08に対応するFAT、DVT及びデータ記憶領域内の
データを書き換えるだけでよい。
In the cluster number CN = 0008,
Since 200 bytes of remaining data (horizontal line shaded portion) is stored in the data storage area of cluster number CN = 0008, 200 is stored in the DVT 6. The data following the cluster number CN = 0008 is the cluster number CN.
Since the data is = 0004, 0004 is stored in the FAT6. As described above, according to the second example, two cluster numbers CN = 0003 and 00 due to the data insertion.
It is only necessary to rewrite the data in the FAT, DVT and data storage area corresponding to 08.

【0028】次に、第3の例として、図6(d)に示す
ように、クラスタ番号CN=0003の100バイトの
データ(斜線網掛け部分)に関してはそのままクラスタ
番号CN=0003のデータ記憶領域に残し、その後に
約300バイトの挿入データ(格子網掛け部分)を記憶
する。そして、200バイトの残りデータ(横線網掛け
部分)に関してはクラスタ番号CN=0004に記憶可
能なので、そこを新たなデータ記憶領域として記憶す
る。図5は書き換えられなかったFATと書き換えられ
たDVTとの内容を示す図である。すなわち、FATは
書き換えられていないので、図1のFATと同じであ
る。
Next, as a third example, as shown in FIG. 6 (d), as for 100-byte data (hatched portion) of cluster number CN = 0003, the data storage area of cluster number CN = 0003 is unchanged. , And then store about 300 bytes of insertion data (lattice shaded portion). Then, since the remaining data of 200 bytes (horizontal line shaded portion) can be stored in the cluster number CN = 0004, it is stored as a new data storage area. FIG. 5 is a diagram showing the contents of the FAT that has not been rewritten and the DVT that has been rewritten. That is, since the FAT has not been rewritten, it is the same as the FAT in FIG.

【0029】図6(d)のようなデータ挿入によってD
VT及びデータ記憶領域の内容がそれぞれ書き換えられ
るが、実際に書き換えられるのはクラスタ番号CN=0
003及び0004に対応するDVT及びデータ記憶領
域である。すなわち、クラスタ番号CN=0003にお
いては、100バイトのデータ(斜線網掛け部分)はそ
のままクラスタ番号CN=0003のデータ記憶領域に
残され、その後に続いて約300バイトの挿入データ
(格子網掛け部分)が記憶されるので、DVT1は30
0から400に変更される。また、クラスタ番号CN=
0003に続くデータはクラスタ番号CN=0004の
データ記憶領域に記憶された200バイトの残りデータ
(横線網掛け部分)なので、FAT1は書き換えられな
い。
By inserting data as shown in FIG. 6D, D
The contents of the VT and the data storage area are respectively rewritten, but the cluster number CN = 0 is actually rewritten.
DVT and data storage areas corresponding to 003 and 0004. That is, in the cluster number CN = 0003, 100-byte data (hatched portion) is left as it is in the data storage area of the cluster number CN = 0003, followed by about 300 bytes of inserted data (latched portion). ) Is stored, the DVT1 is 30
Changed from 0 to 400. Also, the cluster number CN =
Since the data following 0003 is the remaining data of 200 bytes (horizontal line shaded portion) stored in the data storage area of cluster number CN = 0004, FAT1 cannot be rewritten.

【0030】クラスタ番号CN=0004においては、
200バイトの残りデータ(横線網掛け部分)が先頭か
ら順番に記憶され、その後に続いてクラスタ番号CN=
0004に以前から記憶されていた100バイトのデー
タ(縦線網掛け部分)が記憶されるので、DVT2には
300が記憶される。また、クラスタ番号CN=000
4に続くデータは、クラスタ番号CN=0005のデー
タなので、FAT2は書き換えられない。以上のように
第3の例によれば、データの挿入に伴って2つのクラス
タ番号CN=0003及び0004に対応するDVT及
びデータ記憶領域内のデータを書き換えるだけでよく、
FATの書換えを行う必要はない。
In the cluster number CN = 0004,
The remaining 200 bytes of data (horizontal line shaded portion) are stored in order from the beginning, followed by the cluster number CN =
Since 100 bytes of data (vertical line shaded portion) that has been previously stored in 0004 is stored, 300 is stored in DVT2. Also, the cluster number CN = 000
Since the data following 4 is data of cluster number CN = 0005, FAT2 cannot be rewritten. As described above, according to the third example, it is only necessary to rewrite the data in the DVT and the data storage area corresponding to the two cluster numbers CN = 0003 and 0004 when the data is inserted,
There is no need to rewrite the FAT.

【0031】なお、上記第2及び第3の例は、1クラス
タ当たりの記憶容量、既に記憶済みの有効データの大き
さ及び挿入データの大きさに依存するので、これらの値
を考慮し、上記第1から第3の例を適宜組み合わせて最
適なデータ配置を行うようにすればよい。
The second and third examples depend on the storage capacity per cluster, the size of valid data already stored, and the size of inserted data. Optimal data arrangement may be performed by appropriately combining the first to third examples.

【0032】次に、ディレクトリ1のファイルのクラス
タ番号CN=0002の100バイト目(図9(a)の
矢印DA1の位置)からクラスタ番号CN=0004の
50バイト目(図9(a)の矢印DA2の位置)までの
450バイト程度のデータを削除する場合について説明
する。図9(a)において、クラスタ番号CN=000
2の矢印DA1の左側に存在する斜線網掛け部分は削除
されないデータを、矢印DA1の右側に存在する横線網
掛け部分は削除されるデータを示す。同様にクラスタ番
号CN=0003の横線網掛け部分は削除されるデータ
を、クラスタ番号CN=0004の矢印DA2の左側に
存在する横線網掛け部分は削除されるデータを、矢印D
A2の右側に存在する斜線網掛け部分は削除されないデ
ータを示す。従って、横線網掛け部分の存在するデータ
に関しては、データ削除によって記憶領域が変更する。
以下、記憶領域を変更する場合を図面を用いて説明す
る。
Next, from the 100th byte (the position of arrow DA1 in FIG. 9A) of cluster number CN = 0002 of the file in directory 1 to the 50th byte of cluster number CN = 0004 (arrow in FIG. 9A). A case of deleting about 450 bytes of data up to the position of DA2) will be described. In FIG. 9A, the cluster number CN = 000
The shaded area on the left side of the arrow DA1 of 2 indicates data that is not deleted, and the shaded area on the right side of the arrow DA1 indicates data that is deleted. Similarly, the hatched portion of the cluster number CN = 0003 indicates the data to be deleted, and the hatched portion of the cluster number CN = 0004 on the left side of the arrow DA2 indicates the data to be deleted.
The shaded area on the right side of A2 indicates data that is not deleted. Therefore, regarding the data in which the horizontal line is shaded, the storage area is changed by deleting the data.
Hereinafter, the case of changing the storage area will be described with reference to the drawings.

【0033】まず、図9(a)に示すように、クラスタ
番号CN=0002の100バイトのデータ(横線網掛
け部分)、クラスタ番号CN=0003の300バイト
のデータ(横線網掛け部分)及びクラスタ番号CN=0
004の50バイトのデータ(横線網掛け部分)をその
まま削除し、各クラスタに残ったデータ(斜線網掛け部
分)をそのクラスタのデータとしてデータ記憶領域に記
憶する。
First, as shown in FIG. 9A, 100-byte data of cluster number CN = 0002 (horizontal line shaded portion), 300-byte data of cluster number CN = 0003 (horizontal line shaded portion) and cluster Number CN = 0
The 50-byte data 004 (horizontal hatched portion) is deleted as it is, and the data remaining in each cluster (hatched portion) is stored in the data storage area as the data for that cluster.

【0034】従って、図9(b)のようなデータ削除に
よってFAT、DVT及びデータ記憶領域の内容がそれ
ぞれ書き換えられるが、実際に書き換えられるのはクラ
スタ番号CN=0002、0003に対応するFAT及
びDVTと、クラスタ番号CN=0004に対応するD
VT及びデータ記憶領域である。図7はその書き換えら
れたFAT及びDVTの内容を示す図である。すなわ
ち、クラスタ番号CN=0002においては、100バ
イトのデータ(斜線網掛け部分)はそのままクラスタ番
号CN=0002のデータ記憶領域に残されるので、D
VT1は200から100に変更されるだけであり、デ
ータ記憶領域の書き換えは行われない。また、クラスタ
番号CN=0002に続くデータはクラスタ番号CN=
0004のデータ記憶領域に記憶される50バイトのデ
ータ(斜線網掛け部分)なので、FAT0は0003か
ら0004に書き換えられる。
Therefore, the contents of the FAT, DVT and the data storage area are respectively rewritten by the data deletion as shown in FIG. 9B. The actual rewriting is the FAT and DVT corresponding to the cluster numbers CN = 0002 and 0003. And D corresponding to the cluster number CN = 0004
A VT and data storage area. FIG. 7 is a diagram showing the contents of the rewritten FAT and DVT. That is, in the cluster number CN = 0002, 100-byte data (hatched portion) is left as it is in the data storage area of the cluster number CN = 0002.
VT1 is only changed from 200 to 100, and the data storage area is not rewritten. Further, the data following the cluster number CN = 0002 is cluster number CN =
FAT0 is rewritten from 0003 to 0004 because it is the data of 50 bytes (hatched portion) stored in the data storage area of 0004.

【0035】クラスタ番号CN=0003においては、
300バイトの有効データ(横線網掛け部分)が全て削
除されるので、DVT1は000に書き換えられ、有効
データが存在しないことを示すようになる。また、クラ
スタ番号CN=0003に続くデータは存在しなくなる
ので、FAT6も0000に書き換えられる。クラスタ
番号CN=0004においては、50バイトのデータ
(斜線網掛け部分)はそのままクラスタ番号CN=00
04のデータ記憶領域に残されるので、DVT2は10
0から50に書き換えられ、同時に対応するデータ記憶
領域も50バイトのデータ(斜線網掛け部分)に書き換
えられる。また、クラスタ番号CN=0004に続くデ
ータはクラスタ番号CN=0005のデータ記憶領域に
記憶された512バイトのデータなので、FAT2は0
005のまま書き換えられない。以上のように、データ
が削除された場合でも、その削除に対応した3つのクラ
スタ番号CN=0002、0003及び0004のFA
T、DVT及びデータ記憶領域内のデータを変更するだ
けでよい。なお、クラスタ番号CN=0003に関して
はFATだけを0000に書き換え、DVTの大きさは
そのままにしてもよい。なぜなら、FATが書き換えら
れたことによってDVTの大きさは意味を持たなくなる
からである。
In the cluster number CN = 0003,
Since all 300 bytes of valid data (horizontal line shaded portion) are all deleted, DVT1 is rewritten to 000, indicating that there is no valid data. Further, since the data following the cluster number CN = 0003 does not exist, FAT6 is also rewritten to 0000. When the cluster number CN = 0004, the 50-byte data (hatched portion) is the cluster number CN = 00 as it is.
Since it is left in the data storage area of 04, DVT2 is 10
It is rewritten from 0 to 50, and at the same time, the corresponding data storage area is also rewritten to 50 bytes of data (hatched portion). Further, since the data following the cluster number CN = 0004 is 512-byte data stored in the data storage area of the cluster number CN = 0005, FAT2 is 0.
It cannot be rewritten as 005. As described above, even if data is deleted, FAs with three cluster numbers CN = 0002, 0003 and 0004 corresponding to the deletion
All that is required is to change the data in the T, DVT and data storage areas. For the cluster number CN = 0003, only FAT may be rewritten to 0000 and the size of DVT may be left unchanged. This is because the size of DVT has no meaning because the FAT is rewritten.

【0036】なお、削除の場合には削除されたクラスタ
のデータは小さくなるので、図9(b)のように小さな
まま記憶しておくのではなく、小さなデータ同士を結合
して1つのクラスタ内に記憶してもよい。例えば、図9
(a)と同じように削除する場合、各クラスタに残った
データ(斜線網掛け部分)をクラスタ番号CN=000
4のデータ記憶領域に記憶する。この場合、FAT及び
DVTは図8のように書き換えられる。すなわち、クラ
スタ番号CN=0002においては、100バイトのデ
ータ(斜線網掛け部分)はクラスタ番号CN=0004
のデータ記憶領域に記憶されるので、DVT1には00
0が記憶され、FAT0には0000が記憶される。
In the case of deletion, since the data of the deleted cluster becomes small, the small data is not stored as it is as shown in FIG. 9B, but the small data are combined into one cluster. May be stored in. For example, in FIG.
When deleting in the same manner as in (a), the data remaining in each cluster (hatched portion) is cluster number CN = 000.
4 in the data storage area. In this case, FAT and DVT are rewritten as shown in FIG. That is, when the cluster number CN = 0002, 100-byte data (hatched portion) has a cluster number CN = 0004.
00 is stored in the data storage area of DVT1.
0 is stored, and 0000 is stored in FAT0.

【0037】クラスタ番号CN=0003においては、
300バイトの有効データ(横線網掛け部分)が全て削
除されるので、DVT1には000が記憶され、FAT
6にも0000が記憶される。クラスタ番号CN=00
04においては、クラスタ番号CN=0002の100
バイトのデータ(斜線網掛け部分)が記憶され、それに
続いて50バイトのデータ(斜線網掛け部分)がそのま
まクラスタ番号CN=0004のデータ記憶領域に記憶
されるので、DVT2は100から150に書き換えら
れ、クラスタ番号CN=0004に続くデータはクラス
タ番号CN=0005のデータ記憶領域に記憶された5
12バイトのデータなので、FAT2は0005のまま
書換えられない。このように削除された場合に発生する
小さなデータ同士を結合して1つのクラスタ内に記憶す
ることによって、記憶容量の有効利用を図ることができ
る。
In the cluster number CN = 0003,
Since all 300 bytes of effective data (horizontal line shaded part) are deleted, 000 is stored in DVT1 and FAT is stored.
0000 is stored in 6 as well. Cluster number CN = 00
In 04, the cluster number CN = 0002 is 100
Byte data (hatched area) is stored, and then 50 bytes of data (hatched area) is stored as is in the data storage area of cluster number CN = 0004, so DVT2 is rewritten from 100 to 150. The data following the cluster number CN = 0004 is stored in the data storage area of the cluster number CN = 0005.
Since it is 12-byte data, FAT2 cannot be rewritten as 0005. By combining small data generated when the data is deleted in this way and storing them in one cluster, it is possible to effectively use the storage capacity.

【0038】次に、CPU10によって実行される図2
の電子楽器の処理の一例を図10〜図18のフローチャ
ートに基づいて説明する。図10はCPU10が処理す
るメインルーチンの一例を示すフローチャート図であ
る。以下、メインルーチンの処理をステップ順に説明す
る。 ステップ31:まず、電源が投入されると、CPU10
はROM11に格納されている制御プログラムに応じた
処理を開始し、RAM12内の各種レジスタ及びフラグ
等を初期設定する。 ステップ32:鍵盤13の各鍵の操作状態に応じた鍵処
理を行う。 ステップ33:パネルスイッチ14上の各スイッチの操
作状態に応じたパネル処理を行う。ここでは、例えば、
動作モードの設定等が行われる。
Next, FIG. 2 executed by the CPU 10
An example of the processing of the electronic musical instrument will be described based on the flowcharts of FIGS. FIG. 10 is a flowchart showing an example of a main routine processed by the CPU 10. The processing of the main routine will be described below in order of steps. Step 31: First, when the power is turned on, the CPU 10
Starts processing according to the control program stored in the ROM 11 and initializes various registers and flags in the RAM 12. Step 32: Perform key processing according to the operating state of each key on the keyboard 13. Step 33: Perform panel processing according to the operating state of each switch on the panel switch 14. Here, for example,
The operation mode is set.

【0039】ステップ34:現在設定されている動作モ
ードが何であるか、動作モードレジスタの格納値を読み
出し、それに応じた処理を選択して処理する。動作モー
ドレジスタの格納値が『0』の場合にはステップ35に
進みサンプリング処理を、『1』の場合にはステップ3
6に進み波形エディット&加工処理を、『2』の場合に
はステップ37に進み音色作成処理を、『3』の場合に
はステップ38に進みその他の処理を実行する。 ステップ35:マイク23から入力されるデジタル信号
を所定時間毎にサンプリングして波形データ等の演奏デ
ータを作成する。 ステップ36:サンプリング処理によって得られた波形
データやハードディスク21から読み出された波形デー
タ等に対して種々のエディットや加工を行ったりする。 ステップ37:サンプリング処理によって得られた波形
データやハードディスク21から読み出された波形デー
タに基づいて新たな音色の音色データを作成したり、既
に作成済みの音色データを修正したりする。 ステップ38:その他の操作子の操作に基づく処理や、
その他の種々の処理を行う。
Step 34: What is the currently set operation mode, the stored value in the operation mode register is read out, and the processing corresponding thereto is selected and processed. If the value stored in the operation mode register is "0", the process proceeds to step 35, and the sampling process is performed. If the stored value is "1", the process proceeds to step 3
In step 6, the waveform edit & processing process is carried out. In the case of "2", the process goes to step 37, and in the case of "3", the process goes to step 38 to execute other processes. Step 35: The digital signal input from the microphone 23 is sampled at predetermined intervals to create performance data such as waveform data. Step 36: Various editing and processing are performed on the waveform data obtained by the sampling process, the waveform data read from the hard disk 21, and the like. Step 37: Create timbre data of a new timbre based on the waveform data obtained by the sampling process or the waveform data read from the hard disk 21, or modify the timbre data that has already been created. Step 38: Processing based on operations of other operators,
Various other processes are performed.

【0040】図11はCPU10によって処理される図
10のサンプリング処理の詳細を示すフローチャート図
である。このサンプリング処理ではマイク23から入力
されるデジタル信号を所定時間毎にサンプリングして波
形データ等の演奏データを作成し、ハードディスク21
順次記憶していく。以下、このサンプリング処理をステ
ップ順に説明する。
FIG. 11 is a flow chart showing details of the sampling processing of FIG. 10 processed by the CPU 10. In this sampling process, the digital signal input from the microphone 23 is sampled at predetermined intervals to create performance data such as waveform data, and the hard disk 21
Memorize sequentially. Hereinafter, this sampling process will be described in order of steps.

【0041】ステップ41:録音状態フラグRECが
『1』かどうかを判定し、『1』(YES)の場合はス
テップ48に進み、『0』(NO)の場合はステップ4
2に進む。録音状態フラグRECはパネルスイッチ14
上の録音スタートスイッチがオンされた場合に『1』に
セットされ現在録音モードであることを示し、録音スト
ップスイッチがオンされた場合に『0』にリセットされ
る。
Step 41: It is judged whether or not the recording state flag REC is "1". If "1" (YES), the process proceeds to step 48, and if "0" (NO), the step 4 is performed.
Go to 2. The recording status flag REC is the panel switch 14
When the upper recording start switch is turned on, it is set to "1" to indicate that the recording mode is currently set, and when the recording stop switch is turned on, it is reset to "0".

【0042】ステップ42:前のステップ41で録音状
態フラグRECが『0』と判定されたので、録音スター
トスイッチオンイベントが発生したかどうかを判定し、
スタートスイッチのオンイベントが発生している(YE
S)場合には次のステップ43に進み、そうでない(N
O)場合にはリターンする。
Step 42: Since the recording status flag REC was determined to be "0" in the previous step 41, it is determined whether or not a recording start switch on event has occurred.
The start switch on event has occurred (YE
If S), proceed to the next step 43, otherwise (N
If O), return.

【0043】ステップ43:録音状態フラグRECを
『1』にセットし、バッファ変数iを『0』にリセット
する。このステップで録音状態フラグRECが『1』に
セットされると、次回からはステップ41ではYESと
判定されるようになる。ここで、バッファ変数iはRA
M12上に確保された2ブロック分のバッファエリアの
いずれか一方を選択するための変数であり、『0』と
『1』のいずれかの値となる。以下、RAM12上の2
ブロック分のバッファエリアをiBエリア(0Bエリア
と1Bエリア)として表す。
Step 43: The recording status flag REC is set to "1" and the buffer variable i is reset to "0". If the recording status flag REC is set to "1" in this step, it will be determined to be YES in step 41 from the next time. Here, the buffer variable i is RA
This is a variable for selecting one of the buffer areas for two blocks secured on M12, and has a value of either "0" or "1". Hereafter, 2 on RAM12
The buffer area for blocks is represented as an iB area (0B area and 1B area).

【0044】ステップ44:ハードディスク21上のこ
れから録音を開始する部分のファイルを準備する。例え
ば、ハードディスク21上のディレクトリ領域を確保
し、そこにファイル名やスタートクラスタ番号等を設定
する。 ステップ45:前のステップ44で準備されたファイル
の最初に録音するクラスタを確保し、そのクラスタ番号
をカレントクラスタレジスタCCに格納する。
Step 44: Prepare a file on the hard disk 21 for the portion where recording is to be started. For example, a directory area on the hard disk 21 is secured, and a file name, start cluster number, etc. are set therein. Step 45: The cluster to be recorded at the beginning of the file prepared in the previous step 44 is secured and its cluster number is stored in the current cluster register CC.

【0045】ステップ46:DMA18のチャンネルC
H0の録音転送をスタートさせる。すなわち、DMA1
8は、ADC17からRAM12へのデータ転送を行う
第1チャンネルCH0と、RAM12上のiBエリアと
ハードディスク21との間の相互データ転送を行う第2
チャンネルCH1との2のチャンネルで構成されている
ので、この第1チャンネルCH0に対してデータの録音
転送をスタートさせる。これによって、DAM18は図
12のように、ADC17から出力されるデータをRA
M12のバッファエリアに順次転送する。 ステップ47:表示器15に『録音中』と表示し、現在
録音状態であることを示し、図10のメインルーチンに
リターンする。
Step 46: Channel C of DMA 18
Start recording transfer of H0. That is, DMA1
Reference numeral 8 denotes a first channel CH0 for transferring data from the ADC 17 to the RAM 12 and a second channel for performing mutual data transfer between the iB area on the RAM 12 and the hard disk 21.
Since it is composed of two channels, the channel CH1 and the first channel CH0, the recording transfer of data is started. As a result, the DAM 18 outputs the data output from the ADC 17 to the RA as shown in FIG.
The data is sequentially transferred to the buffer area of M12. Step 47: "Recording" is displayed on the display unit 15 to indicate that the recording is in progress, and the process returns to the main routine of FIG.

【0046】ステップ48:前のステップ41で録音状
態フラグRECが『1』と判定されたということは現在
録音中なので、録音ストップスイッチが操作されて、そ
のオンイベントが発生したかどうかを判定し、オンイベ
ントが発生している(YES)場合には次のステップ4
9に進み、そうでない(NO)場合にはリターンする。 ステップ49:録音状態フラグRECを『0』にリセッ
トする。このステップで録音状態フラグRECが『0』
にリセットされると、次回からはステップ41ではNO
と判定されるようになる。
Step 48: The fact that the recording status flag REC is judged to be "1" in the previous step 41 is currently recording, so it is judged whether or not the recording stop switch is operated to generate the ON event. If the on event has occurred (YES), the next step 4
9. If not (NO), return to 9. Step 49: Reset the recording status flag REC to "0". In this step, the recording status flag REC is "0".
Is reset to NO in step 41 from the next time.
Will be determined.

【0047】ステップ4A:ステップ46で録音転送処
理を開始したDMA18の第1チャンネルCH0の録音
転送処理(図12のCH0の処理)をストップさせる。
これによって、DAM18の第1チャンネルCH0がA
DC17からRAM12のiBエリアに対してデータ転
送中であっても、データ転送処理は中断される。なお、
この時点では図13の第2チャンネルCH1の録音転送
処理は依然として継続して行われる。
Step 4A: The recording transfer process (the CH0 process in FIG. 12) of the first channel CH0 of the DMA 18, which started the recording transfer process in step 46, is stopped.
As a result, the first channel CH0 of the DAM 18 becomes A
Even during data transfer from the DC 17 to the iB area of the RAM 12, the data transfer process is interrupted. In addition,
At this point, the recording transfer processing of the second channel CH1 in FIG. 13 is still continued.

【0048】ステップ4B:RAM12のiBエリアに
一時的に格納されているデータ(サンプリングデータ)
をDMA18の第2チャンネルCH1によってハードデ
ィスク21に転送する。 ステップ4C:前ステップ4Bの第2チャンネルCH1
によるデータ転送が完了したかどうかを判定し、完了し
た(YES)場合には次のステップ4Dに進み、そうで
ない(NO)場合はデータ転送が完了するまでこのステ
ップを繰り返し実行して、データ転送が完了するまで待
つ。
Step 4B: Data (sampling data) temporarily stored in the iB area of the RAM 12
Is transferred to the hard disk 21 by the second channel CH1 of the DMA 18. Step 4C: Second channel CH1 of the previous step 4B
It is determined whether or not the data transfer by is completed. If it is completed (YES), the process proceeds to the next step 4D, and if not (NO), this step is repeatedly executed until the data transfer is completed, and the data transfer is completed. Wait until is completed.

【0049】ステップ4D:最終クラスタに関するデー
タを書き込む。すなわち、最終クラスタのFATにエン
ドデータ(END=FFFF)を格納し、DVTにその
最終クラスタのデータ容量を格納する。 ステップ4E:録音されたデータの全データ量、録音日
等の関連するデータを書き込む。 ステップ4F:表示器15に『録音終了』と表示し、現
在録音停止状態であることを示し、図10のメインルー
チンにリターンする。
Step 4D: Write data for final cluster. That is, the end data (END = FFFF) is stored in the FAT of the final cluster, and the data capacity of the final cluster is stored in the DVT. Step 4E: Write the related data such as the total amount of recorded data and the recording date. Step 4F: "Recording completed" is displayed on the display unit 15 to indicate that the recording is currently stopped, and the process returns to the main routine of FIG.

【0050】図12及び図13はDMA18が行うデー
タ転送処理の一例を示すフローチャート図であり、図1
2はDMA18の第1チャンネルCH0が行うデータ転
送処理であり、図13はDMA18の第2チャンネルC
H1が行うデータ転送処理である。以下、このDMA1
8が行うデータ転送処理をステップ順に説明する。
12 and 13 are flow charts showing an example of the data transfer processing performed by the DMA 18.
2 is a data transfer process performed by the first channel CH0 of the DMA 18, and FIG. 13 is a second channel C of the DMA 18.
This is a data transfer process performed by H1. Hereafter, this DMA1
The data transfer process performed by 8 will be described step by step.

【0051】ステップ51:サンプリングクロックが発
生したかどうかを判定し、発生した(YES)場合は次
のステップ52に進み、発生していない(NO)場合は
リターンする。 ステップ52:ADC17からRAM12のiBエリア
に1つのデータを転送する。 ステップ53:RAM12のiBエリアが満杯になった
かどうかを判定し、満杯(YES)の場合は次のステッ
プ54に進み、そうでない(NO)場合はリターンし
て、ステップ51〜53の処理を繰り返し実行し、サン
プリングクロック毎にADC17からRAM12へデー
タを転送する。
Step 51: It is judged whether or not a sampling clock is generated. If it is generated (YES), the process proceeds to the next step 52, and if it is not generated (NO), the process returns. Step 52: Transfer one data from the ADC 17 to the iB area of the RAM 12. Step 53: It is determined whether or not the iB area of the RAM 12 is full, and if it is full (YES), the process proceeds to the next step 54, and if not (NO), the process returns and the processes of steps 51 to 53 are repeated. It is executed and data is transferred from the ADC 17 to the RAM 12 for each sampling clock.

【0052】ステップ54:バッファ変数iを反転す
る。すなわち、バッファ変数iが『0』の場合には
『1』に、『1』の場合には『0』にする。これによっ
て、iBエリアは交互にデータが書き込まれるようにな
る。 ステップ55:DMA18の第2チャンネルCH1に対
してRAM12のiBエリアに格納されているデータを
ハードディスク21へ転送するように転送スタート指示
を出力する。なお、ここではこのステップの処理をDM
A18が内部で自動的に行う場合について示したが、こ
のステップの処理をCPU10に仲介させてもよい。
Step 54: Invert the buffer variable i. That is, when the buffer variable i is "0", it is set to "1", and when it is "1", it is set to "0". As a result, the iB area is written with data alternately. Step 55: A transfer start instruction is output to the second channel CH1 of the DMA 18 to transfer the data stored in the iB area of the RAM 12 to the hard disk 21. Note that here, the processing of this step is DM
Although the case where the processing is automatically performed internally by A18 is shown, the processing of this step may be relayed to the CPU 10.

【0053】図13のステップ56〜5DはDMA18
の第2チャンネルCH1の行う処理であり、図12のス
テップ55の転送スタート指示を入力した時点で行う。 ステップ56:1データの書込みが完了すると、その時
点でハードディスク21から転送要求がDMA18に対
して出力されるので、このハードディスク21から転送
要求有りかどうかを判定し、転送要求有り(YES)の
場合は次のステップ57に進み、そうでない(NO)場
合はリターンする。
Steps 56 to 5D of FIG.
The second channel CH1 is performed at the time when the transfer start instruction in step 55 of FIG. 12 is input. Step 56: When the writing of the data is completed, a transfer request is output from the hard disk 21 to the DMA 18 at that time. Therefore, it is judged whether or not there is a transfer request from the hard disk 21, and if there is a transfer request (YES). Proceeds to the next step 57, otherwise returns (NO).

【0054】ステップ57:RAM12のiBエリアか
らハードディスク21に対して次の1つのデータを転送
する。 ステップ58:データ転送中のクラスタすなわちカレン
トクラスタレジスタCCに対応するカレントクラスタの
記憶領域が満杯になったかどうかを判定し、YESの場
合は次のステップ59に進み、NOの場合はリターンす
る。
Step 57: The following one data is transferred from the iB area of the RAM 12 to the hard disk 21. Step 58: It is judged whether or not the storage area of the cluster which is transferring data, that is, the current cluster corresponding to the current cluster register CC is full. If YES, the process proceeds to the next step 59, and if NO, the process returns.

【0055】ステップ59:前のステップ58でカレン
トクラスタの記憶領域が満杯になったと判定されたの
で、ここでは次のクラスタ(記憶領域の空いているも
の)をサーチして確保したら、そのクラスタ番号をクラ
スタ番号レジスタCNに格納する。なお、このステップ
で次のクラスタをサーチしなくても、予め一連の空きク
ラスタのチェーンを準備しておき、そのチェーンに基づ
いたクラスタ番号をクラスタ番号レジスタCNに格納し
てもよい。 ステップ5A:前のステップ59で確保された新たなク
ラスタ番号(クラスタ番号レジスタCNの値)をカレン
トクラスタのFAT(CC)に格納し、クラスタ記憶領
域が満杯であることを示すFULLをカレントクラスタ
のDVT(CC)に格納する。
Step 59: Since it was determined in the previous step 58 that the storage area of the current cluster was full, here, when the next cluster (the one with a free storage area) is searched and secured, its cluster number Is stored in the cluster number register CN. Instead of searching the next cluster in this step, a chain of empty clusters may be prepared in advance and the cluster number based on the chain may be stored in the cluster number register CN. Step 5A: The new cluster number (value of the cluster number register CN) secured in the previous step 59 is stored in the FAT (CC) of the current cluster, and FULL indicating that the cluster storage area is full is stored in the current cluster. Store in DVT (CC).

【0056】ステップ5B:前のステップ59で確保さ
れた新たなクラスタ番号すなわちクラスタ番号レジスタ
CNの格納値をカレントクラスタレジスタCCに格納す
る。 ステップ5C:iBエリアの全データの転送が完了した
かどうかを判定し、転送完了(YES)の場合は次のス
テップ5Dに進み、そうでない(NO)場合はリターン
して、iBエリアの全データの転送が完了するまで、ス
テップ56〜5Bの処理を繰り返し実行する。 ステップ5D:前のステップ5CでiBエリアの全デー
タの転送が完了したと判定されたので、DMA18の第
2チャンネルCH1に転送ストップを指示する。従っ
て、第2チャンネルCH1は、ステップ55の転送スタ
ート指示が出力されるまでの間、データ転送処理を停止
する。なお、ここでもこのステップの処理をDMA18
が内部で自動的に行う場合について示したが、このステ
ップの処理をCPU10に仲介させてもよい。
Step 5B: The new cluster number secured in the previous step 59, that is, the value stored in the cluster number register CN is stored in the current cluster register CC. Step 5C: It is judged whether or not the transfer of all data in the iB area is completed. If the transfer is completed (YES), proceed to the next step 5D. If not (NO), return to return all the data in the iB area. The processes of steps 56 to 5B are repeatedly executed until the transfer is completed. Step 5D: Since it has been determined in the previous step 5C that the transfer of all data in the iB area has been completed, the transfer stop is instructed to the second channel CH1 of the DMA 18. Therefore, the second channel CH1 suspends the data transfer process until the transfer start instruction in step 55 is output. Note that the processing of this step is also performed here by the DMA 18
Although the case where the processing is automatically performed internally is shown, the processing of this step may be intervened by the CPU 10.

【0057】図14はCPU10によって処理される図
10のその他の処理の中の一つの処理である再生処理の
一例を示すフローチャート図である。以下、このCPU
10が行う再生処理をステップ順に説明する。 ステップ61:再生状態フラグPLAYが『1』かどう
かを判定し、『1』(YES)の場合にはステップ6A
に進み、『0』(NO)の場合にはステップ62に進
む。再生状態フラグPLAYはパネルスイッチ14上の
再生スタートスイッチがオンされた場合に『1』にセッ
トされ、再生ストップスイッチがオンされた場合に
『0』にリセットされる。
FIG. 14 is a flow chart showing an example of a reproduction process which is one of the other processes of FIG. 10 processed by the CPU 10. Below, this CPU
The reproduction process performed by 10 will be described in order of steps. Step 61: It is judged whether or not the reproduction state flag PLAY is "1", and if "1" (YES), step 6A
If it is "0" (NO), the process proceeds to step 62. The reproduction state flag PLAY is set to "1" when the reproduction start switch on the panel switch 14 is turned on, and is reset to "0" when the reproduction stop switch is turned on.

【0058】ステップ62:前のステップ61で再生状
態フラグPLAYが『0』と判定されたので、再生スタ
ートスイッチが操作され、そのオンイベントが発生した
かどうかを判定し、オンイベント有り(YES)の場合
は次のステップ63に進み、そうでない(NO)場合は
図10のメインルーチンにリターンする。 ステップ63:再生状態フラグPLAYを『1』にセッ
トし、バッファ変数jを『0』にリセットする。ここ
で、バッファ変数jは音源回路16上に確保された2ブ
ロック分のバッファエリアのいずれか一方を選択するた
めの変数であり、『0』と『1』のいずれかの値とな
る。以下、音源回路16上の2ブロック分のバッファエ
リアをjBエリア(0Bエリアと1Bエリア)として表
す。このステップで再生状態フラグPLAYが『1』に
セットされると、次回からはステップ61ではYESと
判定され、ステップ6A〜6Dを処理するようになる。
Step 62: Since the reproduction state flag PLAY was judged to be "0" in the previous step 61, it is judged whether or not the on-event has occurred by operating the reproduction start switch, and there is an on-event (YES). If No, the process proceeds to the next step 63, and if not (NO), the process returns to the main routine of FIG. Step 63: The reproduction state flag PLAY is set to "1" and the buffer variable j is reset to "0". Here, the buffer variable j is a variable for selecting one of the buffer areas for two blocks secured on the tone generator circuit 16, and has a value of either "0" or "1". Hereinafter, the buffer area for two blocks on the tone generator circuit 16 is represented as a jB area (0B area and 1B area). When the reproduction state flag PLAY is set to "1" in this step, YES is determined in step 61 from the next time, and steps 6A to 6D are processed.

【0059】ステップ64:ファイルの再生準備処理を
行う。例えば、録音時のサンプリング周波数を音源回路
16に設定したり、再生するフェイル名に基づいて音色
名を表示したりする。 ステップ65:前のステップ64で準備されたファイル
の中から再生されるデータの最初の2ブロック分を音源
メモリのjBエリア(0Bエリア及び1Bエリア)に予
め記憶する。すなわち、音源回路16の音源メモリの0
Bエリアにハードディスク21からデータを転送し、次
に1Bエリアにデータを転送する。 ステップ66:次のブロックの最初のクラスタ番号をカ
レントクラスタレジスタCCに格納する。すなわち、前
のステップ65で2ブロック分のデータをRAM12上
のiBエリアに既に転送したので、次回以降の転送処理
で0Bエリアに最初に格納されるクラスタ番号を記憶し
ておくためである。
Step 64: File reproduction preparation processing is performed. For example, the sampling frequency at the time of recording is set in the tone generator circuit 16, or the tone color name is displayed based on the fail name to be reproduced. Step 65: The first two blocks of data reproduced from the file prepared in the previous step 64 are stored in advance in the jB area (0B area and 1B area) of the sound source memory. That is, 0 of the sound source memory of the sound source circuit 16
Data is transferred from the hard disk 21 to the B area, and then data is transferred to the 1B area. Step 66: Store the first cluster number of the next block in the current cluster register CC. That is, since the data for two blocks has already been transferred to the iB area on the RAM 12 in the previous step 65, the cluster number initially stored in the 0B area is stored in the subsequent transfer processing.

【0060】ステップ67:カレントクラスタのDVT
(CC)に格納されているデータ容量を容量レジスタD
Vに格納する。 ステップ68:音源回路16に音源メモリの0Bエリア
の頭からデータを読出して、再生処理をスタートするよ
うに再生スタートを指示する。音源回路16はこの再生
スタート指示を入力することによって発音処理を開始す
る。 ステップ69:表示器15に『再生中』と表示し、現在
再生状態であることを示す。
Step 67: DVT of current cluster
The data capacity stored in (CC) is calculated by the capacity register D.
Store in V. Step 68: The sound source circuit 16 is instructed to start reproduction so as to read data from the beginning of the 0B area of the sound source memory and start the reproduction process. The sound source circuit 16 starts the sound generation processing by inputting this reproduction start instruction. Step 69: "Reproducing" is displayed on the display unit 15 to indicate that the reproduction is currently in progress.

【0061】ステップ6A:前のステップ61で再生状
態フラグPLAYが『1』と判定されたということは現
在再生中なので、このステップでは再生ストップスイッ
チのオンイベントが発生したかどうかを判定し、オンイ
ベントが発生している(YES)場合には次のステップ
6Bに進み、そうでない(NO)場合にはリターンす
る。 ステップ6B:再生状態フラグPLAYを『0』にリセ
ットする。このステップで再生状態フラグPLAYが
『0』にリセットされると、次回からはステップ61で
はNOと判定されるようになる。
Step 6A: The fact that the reproduction status flag PLAY was determined to be "1" in the previous step 61 is currently reproducing, so in this step it is judged whether or not an on event of the reproduction stop switch has occurred, and it is turned on. If an event has occurred (YES), the process proceeds to the next step 6B, and if not (NO), the process returns. Step 6B: The reproduction state flag PLAY is reset to "0". When the reproduction state flag PLAY is reset to "0" in this step, it will be judged NO in step 61 from the next time.

【0062】ステップ6C:ステップ68で再生を開始
した音源回路16に対してその再生処理を停止するよう
に再生停止命令を音源回路16に出力する。音源回路1
6はこの再生停止命令を入力することによってその再生
処理を終了する。 ステップ6D:表示器15に『再生停止』と表示する。
これによって、操作者は現在再生停止中であることを認
識できる。
Step 6C: A reproduction stop command is output to the sound source circuit 16 to stop the reproduction process for the sound source circuit 16 which has started reproduction in step 68. Sound source circuit 1
6 inputs the reproduction stop command to end the reproduction processing. Step 6D: The display unit 15 displays "Playback stopped".
This allows the operator to recognize that the reproduction is currently stopped.

【0063】図15は、ステップ68の再生スタート指
示を入力した音源回路16が出力する音源転送要求割込
に応じてCPU10が行う音源転送要求割込処理の一例
を示す図である。図16はその時にDMA18の第2チ
ャンネルCH1が行う再生中CH1処理の一例を示す図
である。この音源転送要求割込処理と再生中CH1処理
は平行して実行される。以下、この音源転送要求割込処
理と、再生中CH1処理とをステップ順に説明する。
FIG. 15 is a diagram showing an example of a sound source transfer request interrupt process performed by the CPU 10 in response to the sound source transfer request interrupt output by the sound source circuit 16 that has input the reproduction start instruction in step 68. FIG. 16 is a diagram showing an example of the during-reproduction CH1 process performed by the second channel CH1 of the DMA 18 at that time. The sound source transfer request interrupt process and the reproducing CH1 process are executed in parallel. The sound source transfer request interrupt process and the playing CH1 process will be described below in the order of steps.

【0064】ステップ71:ステップ68の再生スター
ト指示を入力した音源回路16は、音源メモリの0Bエ
リアからデータを読出して楽音を再生し、この0Bエリ
アのデータを全て読み出した時点で音源転送要求割込を
CPU10に出力する。すると、この時点で音源回路1
6は音源メモリの1Bエリアからデータを読み出してい
るので、バッファ変数jは『1』である。従って、この
ステップでは音源転送要求割込が発生した時点でバッフ
ァ変数jを反転する。
Step 71: The tone generator circuit 16 which has input the reproduction start instruction in step 68 reads out data from the 0B area of the tone generator memory and reproduces a musical sound, and when all the data in this 0B area is read out, the tone generator transfer request assignment is made. Output to the CPU 10. Then, at this point, the sound source circuit 1
Since 6 reads data from the 1B area of the sound source memory, the buffer variable j is "1". Therefore, in this step, the buffer variable j is inverted when the sound source transfer request interrupt occurs.

【0065】ステップ72:DMA18の第2チャンネ
ルCH1にハードディスク21から音源メモリのiBエ
リアへのデータ転送を開始するように指示する。これに
よって、音源メモリの1Bエリアからデータが読み出さ
れている間に、第2チャンネルCH1によって0Bエリ
アに新たにデータが書き込まれる。
Step 72: Instruct the second channel CH1 of the DMA 18 to start data transfer from the hard disk 21 to the iB area of the sound source memory. Thus, while data is being read from the 1B area of the tone generator memory, new data is written to the 0B area by the second channel CH1.

【0066】ステップ73:ハードディスク21がデー
タレディ状態かどうかを判定し、データレディ状態(Y
ES)の場合は次のステップ74に進み、そうでない
(NO)場合はリターンする。
Step 73: It is judged whether the hard disk 21 is in the data ready state, and the data ready state (Y
If ES), the process proceeds to the next step 74, and if not (NO), the process returns.

【0067】ステップ74:ハードディスク21から音
源メモリのjBエリアへ1つのデータを転送する。 ステップ75:データ転送中のクラスタすなわちカレン
トクラスタレジスタCCに対応するクラスタから容量レ
ジスタDVに対応するだけのデータの読出しが完了した
かどうかを判定し、読出完了(YES)の場合は次のス
テップ76に進み、完了していない場合はステップ78
にジャンプする。
Step 74: Transfer one data from the hard disk 21 to the jB area of the sound source memory. Step 75: It is judged whether or not the data corresponding to the capacity register DV has been read out from the cluster which is transferring the data, that is, the cluster corresponding to the current cluster register CC. If the reading is completed (YES), the next step 76 is performed. Proceed to step 78 if not complete
Jump to.

【0068】ステップ76:カレントクラスタの全デー
タの読出しが完了したので、次のクラスタを確保するた
めに、カレントクラスタのFAT(CC)に格納されて
いるクラスタ番号をカレントクラスタレジスタCCに格
納する。 ステップ77:前のステップ76で確保された新たなカ
レントクラスタのDVT(CC)に格納されているデー
タ容量値を容量レジスタDVに格納する。 ステップ78:jBエリアに対するデータ転送が完了し
たかどうかを判定し、転送完了(YES)の場合は次の
ステップ79に進み、そうでない(NO)場合はリター
ンする。
Step 76: Since reading of all the data of the current cluster is completed, the cluster number stored in the FAT (CC) of the current cluster is stored in the current cluster register CC in order to secure the next cluster. Step 77: The data capacity value stored in the DVT (CC) of the new current cluster secured in the previous step 76 is stored in the capacity register DV. Step 78: It is determined whether or not the data transfer to the jB area is completed. If the transfer is completed (YES), the process proceeds to the next step 79, and if not (NO), the process returns.

【0069】ステップ79:前のステップ78でjBエ
リアへのデータ転送が完了したと判定されたので、DM
A18の第2チャンネルCH1に転送ストップを指示す
る。従って、第2チャンネルCH1は、ステップ72の
転送スタート指示が出力されるまでの間、データ転送処
理を停止する。なお、ここでもこのステップの処理をD
MA18が内部で自動的に行う場合について示したが、
このステップの処理をCPU10に仲介させてもよい。
Step 79: Since it is judged in the previous step 78 that the data transfer to the jB area is completed, DM
The transfer stop is instructed to the second channel CH1 of A18. Therefore, the second channel CH1 suspends the data transfer process until the transfer start instruction in step 72 is output. Note that the processing of this step is also D here.
I showed the case where MA18 does it automatically internally.
You may make CPU10 mediate the process of this step.

【0070】図17は、CPU10によって処理される
図10の波形エディット処理&加工処理の中のデータ削
除処理の一例を示すフローチャート図である。なお、こ
のデータ削除処理においてはデータの削除を行うに際し
て、削除されるクラスタの全データを一旦RAM12上
に転送し、このRAM12上でデータの削除を行った後
に、そのデータをハードディスク21に転送して記憶す
るようにしている。そして、このデータの削除を行うと
同時に、データボリュームテーブルDVTおよびファイ
ルアロケーションテーブルFATに対応するデータを書
き込むようにしている。以下、このデータ削除処理をス
テップ順に説明する。
FIG. 17 is a flow chart showing an example of the data deleting process in the waveform editing process & modification process of FIG. 10 processed by the CPU 10. In this data deletion process, when data is deleted, all the data of the cluster to be deleted is temporarily transferred to the RAM 12, the data is deleted from the RAM 12, and then the data is transferred to the hard disk 21. I try to remember it. Then, at the same time that this data is deleted, the data corresponding to the data volume table DVT and the file allocation table FAT is written. Hereinafter, this data deletion process will be described step by step.

【0071】ステップ81:ハードディスク21内に記
憶してある複数個のファイルのうち、どのファイルのど
の範囲を削除したいかを指定する。 ステップ82:削除する範囲の先頭と末尾の属するクラ
スタを検出し、そのクラスタ番号を先頭クラスタレジス
タSC及び末尾クラスタレジスタECにそれぞれ格納す
る。 ステップ83:先頭クラスタレジスタSC及び末尾クラ
スタレジスタECに対応するクラスタのデータをRAM
12上に読み出す。 ステップ84:ステップ83でそれぞれ読み出されたデ
ータのうち、削除される範囲以外のデータすなわちデー
タとして有効な部分をメモリ上で接続する。
Step 81: Of the plurality of files stored in the hard disk 21, the range of which file is desired to be deleted is designated. Step 82: The clusters at the beginning and end of the range to be deleted are detected, and their cluster numbers are stored in the beginning cluster register SC and the ending cluster register EC, respectively. Step 83: RAM of cluster data corresponding to the head cluster register SC and the tail cluster register EC
Read on 12. Step 84: Of the data read in step 83, data other than the range to be deleted, that is, a portion effective as data is connected on the memory.

【0072】ステップ85:ステップ84で接続された
データの大きさ(データサイズ)が1クラスタのデータ
容量以上かどうかを判定(ここでは1クラスタに格納可
能なデータ量を『1』として判定する)し、1クラスタ
のデータ容量以上(YES)の場合は次のステップ86
に進み、そうでない(NO)場合はステップ89に進
む。 ステップ86:前のステップ85でデータサイズが1ク
ラスタのデータ容量以上であると判定されたので、先頭
クラスタレジスタSCに対応するクラスタに1クラスタ
分のデータを書き込む。
Step 85: It is judged whether or not the size (data size) of the data connected in Step 84 is equal to or larger than the data capacity of one cluster (here, the amount of data that can be stored in one cluster is judged as "1"). If the data capacity of one cluster is more than (YES), next step 86
If not (NO), the process proceeds to step 89. Step 86: Since it is determined in the previous step 85 that the data size is equal to or larger than the data capacity of one cluster, one cluster of data is written in the cluster corresponding to the head cluster register SC.

【0073】ステップ87:前のステップ86で先頭ク
ラスタレジスタSCに対応するクラスタに1クラスタ分
のデータが書き込まれたので、ここではそのクラスタの
DVT(SC)に記憶領域が満杯であることを示すFU
LLを格納し、そのクラスタのFAT(SC)のクラス
タ番号を先頭クラスタレジスタSCに格納する。 ステップ88:前のステップ87で書き換えられた先頭
クラスタレジスタSCに対応するクラスタに残りのデー
タを書き込む。
Step 87: Since one cluster of data has been written in the cluster corresponding to the first cluster register SC in the previous step 86, it is indicated here that the storage area is full in DVT (SC) of that cluster. FU
LL is stored, and the cluster number of FAT (SC) of the cluster is stored in the head cluster register SC. Step 88: Write the remaining data to the cluster corresponding to the head cluster register SC rewritten in the previous step 87.

【0074】ステップ89:前のステップ85でデータ
サイズが1クラスタのデータ容量よりも小さいと判定さ
れたので、そのまま先頭クラスタレジスタSCに対応す
るクラスタに接続後のデータを書き込む。 ステップ8A:末尾クラスタレジスタECに対応するク
ラスタのFAT(EC)に格納されているクラスタ番号
を、先頭クラスタレジスタSCに対応するクラスタのF
AT(SC)に格納する。
Step 89: Since it is determined in the previous step 85 that the data size is smaller than the data capacity of one cluster, the data after connection is written in the cluster corresponding to the head cluster register SC as it is. Step 8A: The cluster number stored in the FAT (EC) of the cluster corresponding to the end cluster register EC is set to the F of the cluster corresponding to the top cluster register SC.
Store in AT (SC).

【0075】ステップ8B:先頭クラスタレジスタSC
に対応するクラスタのデータ容量をそのクラスタのDV
T(SC)に書き込む。 ステップ8C:先頭クラスタレジスタSCと末尾クラス
タレジスタECとの間に存在するクラスタのFATを開
放するために、それぞれのクラスタのDVTに『00
0』を格納し、図10のメインルーチンにリターンす
る。これによって、削除されたクラスタはFATから解
除され、データとしては削除されたことになる。
Step 8B: First cluster register SC
The data capacity of the cluster corresponding to the DV of that cluster
Write to T (SC). Step 8C: In order to release the FAT of the cluster existing between the first cluster register SC and the last cluster register EC, "00" is added to the DVT of each cluster.
0 ”is stored and the process returns to the main routine of FIG. As a result, the deleted cluster is released from FAT and is deleted as data.

【0076】図18は、CPU10によって処理される
図10の波形エディット処理&加工処理の中のデータ挿
入処理の一例を示すフローチャート図である。なお、こ
のデータ挿入処理においてはデータの挿入を行うに際し
て、挿入されるクラスタの全データを一旦RAM12上
に転送し、このRAM12上でデータの挿入を行った後
に、そのデータをハードディスク21に転送して記憶す
るようにしている。そして、このデータの挿入を行うと
同時に、データボリュームテーブルDVTおよびファイ
ルアロケーションテーブルFATに対応するデータを書
き込むようにしている。以下、このデータ挿入処理をス
テップ順に説明する。
FIG. 18 is a flow chart showing an example of the data insertion process in the waveform edit process & modification process of FIG. 10 processed by the CPU 10. In this data insertion process, when data is inserted, all the data of the cluster to be inserted is temporarily transferred to the RAM 12, the data is inserted on the RAM 12, and then the data is transferred to the hard disk 21. I try to remember it. Then, at the same time when this data is inserted, the data corresponding to the data volume table DVT and the file allocation table FAT is written. Hereinafter, this data insertion process will be described in order of steps.

【0077】ステップ91:ハードディスク21内に記
憶してある複数個のファイルのうち、どのファイルのど
こへデータを挿入するのかを指定する。 ステップ92:挿入位置の属するクラスタ番号を挿入ク
ラスタレジスタICに格納する。 ステップ93:どのファイルのどの範囲のデータを挿入
するか指定する。 ステップ94:挿入する範囲の先頭と末尾の属するクラ
スタを検出し、そのクラスタ番号を先頭クラスタレジス
タSC及び末尾クラスタレジスタECにそれぞれ格納す
る。
Step 91: Specify which file and where the data is to be inserted among a plurality of files stored in the hard disk 21. Step 92: The cluster number to which the insertion position belongs is stored in the insertion cluster register IC. Step 93: Designate which range of data in which file is to be inserted. Step 94: The clusters at the beginning and end of the range to be inserted are detected, and their cluster numbers are stored in the beginning cluster register SC and the ending cluster register EC, respectively.

【0078】ステップ95:挿入クラスタレジスタIC
に対応するクラスタのデータをRAM12上に読み出
す。 ステップ96:先頭クラスタレジスタSCに対応するク
ラスタから末尾クラスタレジスタECに対応するクラス
タまでの全データをRAM12上に読み出す。 ステップ97:前のステップ95及び96でそれぞれ読
み出されたデータをRAM12上で挿入合成する。な
お、挿入データが長い場合には、挿入クラスタレジスタ
ICと先頭クラスタレジスタSCと末尾クラタスレジス
タECに対応するクラタスのデータのみをRAM12上
に読み出し、それぞれ挿入部分の先頭と末尾1〜2クラ
スタずつを合成して書き込むようにしてもよい。そうす
れば、長い挿入部の全体をハードディスク21上で移動
させる必要がなくなる。
Step 95: Insert cluster register IC
The data of the cluster corresponding to is read out onto the RAM 12. Step 96: Read all data from the cluster corresponding to the head cluster register SC to the cluster corresponding to the end cluster register EC onto the RAM 12. Step 97: Insert and combine the data read in the previous steps 95 and 96 on the RAM 12. When the inserted data is long, only the data of the Kratus corresponding to the inserted cluster register IC, the head cluster register SC and the tail Clatas register EC is read out on the RAM 12, and the head and tail 1-2 clusters of the inserted portion are read. May be combined and written. Then, it is not necessary to move the entire long insertion portion on the hard disk 21.

【0079】ステップ98:それぞれ挿入クラスタレジ
スタICを先頭として順次空きクラスタを必要量だけサ
ーチしながら、RAM12上の挿入合成データを順次そ
の空きクラスタに書き込む。なお、途中のクラスタのD
VTには記憶領域が満杯であることを示すFULLを格
納する。 ステップ99:最後のクラスタすなわち前のステップ9
8で最後にデータの書き込まれたクラスタのFATに挿
入クラスタレジスタICに格納されているクラスタ番号
のクラスタのFAT(IC)を書き込む。 ステップ9A:最後のクラスタのデータ容量をそのクラ
スタのDVTに書き込み、図10のメインルーチンにリ
ターンする。
Step 98: While sequentially searching a required amount of empty clusters with the inserted cluster register IC as the head, the inserted combined data on the RAM 12 are sequentially written into the empty clusters. In addition, D of the cluster in the middle
FULL that indicates that the storage area is full is stored in VT. Step 99: Last cluster or previous step 9
In step 8, the FAT (IC) of the cluster having the cluster number stored in the inserted cluster register IC is written in the FAT of the cluster in which the data was last written. Step 9A: Write the data capacity of the last cluster to the DVT of that cluster, and return to the main routine of FIG.

【0080】なお、図14の再生処理では、ハードディ
スク21からデータを順次読み出しながら楽音を再生す
る場合について説明したが、以下説明するように鍵盤1
3の操作に応じて発生されるキーコードに対応した波形
データをハードディスク21から読み出して楽音再生を
行うようにしてもよい。なお、鍵盤13の操作に応じて
ハードディスク21から波形データを読み出していたの
では、波形データの読み出しが再生処理に間に合わない
ので、この実施例では、音源メモリ上に音色とキーコー
ドに対応したスタート波形データを複数個予め記憶して
おき、鍵盤13の操作に応じて、まずこのスタート波形
データを読み出して楽音を再生し、スタート波形データ
の読み出し中にハードディスク21から対応する波形デ
ータを音源メモリのjBエリアを交互に利用して、リア
ルタイムに波形データを読み出すようにしている。
In the reproducing process of FIG. 14, the case where the musical sound is reproduced while sequentially reading the data from the hard disk 21 has been described.
The waveform data corresponding to the key code generated in response to the operation of 3 may be read from the hard disk 21 to reproduce the musical sound. If the waveform data is read from the hard disk 21 in response to the operation of the keyboard 13, the reading of the waveform data cannot be performed in time for the reproduction process. Therefore, in this embodiment, the start corresponding to the tone color and the key code is made on the tone generator memory. A plurality of waveform data are stored in advance, and in response to the operation of the keyboard 13, the start waveform data is first read to reproduce a musical sound, and the corresponding waveform data is read from the hard disk 21 in the sound source memory while the start waveform data is being read. The waveform data is read in real time by alternately using the jB area.

【0081】以下、この楽音再生処理の一例を図19を
用いて説明する。まず、鍵盤13の操作に対応したキー
コードデータをキーコードレジスタKCDに格納する。
音色とキーコードレジスタKCDに対応したスタート波
形データを音源に設定する。すなわち、音色とキーコー
ドに対応したスタート波形データを音源メモリの中から
読み出す。そして、jBエリアをループ部として設定す
る。そして、音源にノートオンを指示する。jBエリア
に対するハードディスク21からの波形データ転送処理
をDMA18に指示する。これによって、DMA18
は、音源メモリのjBエリアを用いてハードディスク2
1から次々と波形データを読み出し、楽音再生処理を行
う。
An example of the musical sound reproduction processing will be described below with reference to FIG. First, the key code data corresponding to the operation of the keyboard 13 is stored in the key code register KCD.
The start waveform data corresponding to the tone color and the key code register KCD is set in the sound source. That is, the start waveform data corresponding to the tone color and the key code is read from the tone generator memory. Then, the jB area is set as the loop section. Then, the note-on is instructed to the sound source. The DMA 18 is instructed to transfer the waveform data from the hard disk 21 to the jB area. This allows the DMA 18
Is the hard disk 2 using the jB area of the sound source memory.
The waveform data is read one after another and the musical sound reproduction processing is performed.

【0082】なお、上述の実施例では1クラスタのサイ
ズが512バイトで構成される場合について説明した
が、これは一例であり、これ以外のサイズで1クラスタ
を構成してもよいことはいうまでもない。例えば、DV
Tとして16ビットが割り当てられているので、1クラ
スタをこの16ビットで表現可能な範囲、すなわち64
キロバイト(KB)で構成してもよい。また、上述の実
施例では、1クラスタのサイズが512バイトなのに対
して、DVTは16ビット構成の場合について説明した
が、このDVTのビットサイズは1クラスタのサイズに
対応させるのがよい。すなわち、1クラスタのサイズが
512バイトの場合にはDVTは9ビット構成とし、1
クラスタのサイズが64KBの場合にはDVTを16ビ
ット構成とし、1クラスタのサイズに応じてDVTのビ
ット構成を適宜採用すればよい。
In the above embodiment, the case where the size of one cluster is 512 bytes has been described, but this is an example, and it goes without saying that one cluster may be formed with a size other than this. Nor. For example, DV
Since 16 bits are allocated as T, one cluster can be represented by 16 bits, that is, 64
It may be configured in kilobytes (KB). Further, in the above-described embodiment, the size of one cluster is 512 bytes, whereas the DVT has a 16-bit configuration. However, the bit size of this DVT should correspond to the size of one cluster. That is, if the size of one cluster is 512 bytes, the DVT has a 9-bit configuration.
When the size of the cluster is 64 KB, the DVT may have a 16-bit configuration, and the DVT bit configuration may be appropriately adopted according to the size of one cluster.

【0083】また、上述の実施例では、ハードディスク
21に対するデータの読み出し及び書込みを直接行う場
合について説明したが、これに限らず、キャッシュRA
M22を中間バッファとして使用し、1クラスタにおけ
る有効データの大きさが1クラスタのサイズとなった時
点で書換え処理を行うようにしてもよい。例えば、図6
(d)のような場合に、キャッシュRAM22上におい
て、クラスタ番号=0003の100バイトのデータ
(斜線網掛け部分)はそのままクラスタ番号=0003
のデータ記憶領域に残し、その後に約300バイトの挿
入データ(格子網掛け部分)と、200バイトの残りデ
ータ(横線網掛け部分)の内、112バイトをクラスタ
番号=0003の300バイトの挿入データ(格子網掛
け部分)の後に続けて記憶する。これによって、クラス
タ番号=0003における有効データの大きさは512
バイトとなるので、この時点で対応するハードディスク
21のクラスタの書換えを行う。そして、200バイト
の残りデータ(横線網掛け部分)の内、88バイトに関
してはクラスタ番号=0004に記憶する。これによっ
て、記憶領域の有効活用を図ることができる。なお、上
述の実施例ではクラスタに記憶可能なデータの大きさ
(余裕領域)をそのまま残した場合について説明した
が、挿入処理又は/及び削除処理の終了後に適宜この余
裕領域を除去するためにデータの書き換え処理を行って
もよい。さらに、この発明は、波形データのエディット
処理に限らず、例えばサンプル中の無音期間を検出して
無音コードで置き換えてデータ圧縮を図る場合等に適用
しても有効である。
In the above embodiment, the case where the data is directly read from and written to the hard disk 21 has been described, but the present invention is not limited to this, and the cache RA
The M22 may be used as an intermediate buffer, and the rewriting process may be performed when the size of valid data in one cluster reaches the size of one cluster. For example, in FIG.
In the case of (d), 100-byte data of cluster number = 0003 (hatched portion) is directly stored in the cache RAM 22 as cluster number = 0003.
Of the inserted data of about 300 bytes (lattice shaded part) and the remaining data of 200 bytes (horizontal shaded part), 112 bytes of which is 300 bytes of inserted data of cluster number = 0003 It is stored continuously after (lattice shaded part). As a result, the size of valid data at cluster number = 0003 is 512
Since it becomes a byte, the cluster of the corresponding hard disk 21 is rewritten at this point. Then, of the remaining data of 200 bytes (the portion shaded by the horizontal line), 88 bytes are stored in the cluster number = 0004. This makes it possible to effectively utilize the storage area. In the above-described embodiment, the case where the size of the data (margin area) that can be stored in the cluster is left as it is has been described. However, in order to appropriately remove the margin area after the insertion processing and / or the deletion processing is completed, May be rewritten. Furthermore, the present invention is not limited to the edit processing of waveform data, but is also effective when applied to the case where, for example, a silent period in a sample is detected and replaced with a silent code for data compression.

【0084】尚、使用されているクラスタに記憶された
データの容量(DVTの値に対応する)に下限を設け、
ディスクからのデータの読出しスピードが遅くなりすぎ
ないように規制してもよい。この実施例の各ファイルの
複数のクラスタは、FATの管理により任意の順番で順
次連結可能になっている。従って、ハードディスク上の
離れた位置にあるクラスタが順次つなげられる可能性が
あり、前のクラスタから次のクラスタへの読出しの移行
にある程度の時間的猶予を考える必要がある。ここで
は、各クラスタのデータ容量の下限を設けて、単位時間
当たりのクラスタ間の読出しの移行回数を減らし、ディ
スクからの平均の読出しスピードの改善を図っている。
具体的には、この各クラスタの容量制限処理は、この実
施例の図17の削除処理のステップ85〜8Bのルーチ
ンや図18の挿入処理のステップ98〜99のルーチン
等で行われると良いであろう。
It should be noted that a lower limit is set for the capacity (corresponding to the value of DVT) of the data stored in the used cluster,
You may restrict so that the reading speed of the data from a disk may not become too slow. A plurality of clusters of each file in this embodiment can be sequentially connected in an arbitrary order by FAT management. Therefore, clusters at distant positions on the hard disk may be sequentially connected, and it is necessary to consider a certain time lag for the transition of reading from the previous cluster to the next cluster. Here, the lower limit of the data capacity of each cluster is set to reduce the number of times of read transfer between clusters per unit time and improve the average read speed from the disk.
Specifically, the capacity limit processing of each cluster may be performed by the routine of steps 85 to 8B of the deletion processing of FIG. 17 or the routine of steps 98 to 99 of the insertion processing of FIG. 18 of this embodiment. Ah

【0085】[0085]

【発明の効果】以上のようにこの発明によれば、演奏デ
ータ部分の大きさを記憶するようにし、1つの記憶単位
においてデータが満たされていなくてもいいようにした
ので、全データの書換えを行わなくても任意の長さの演
奏データを任意の位置に挿入したり又は削除したりする
ことができるという効果がある。
As described above, according to the present invention, the size of the performance data portion is stored so that one storage unit does not have to be filled with data. Therefore, all data can be rewritten. It is possible to insert or delete performance data of an arbitrary length at an arbitrary position without performing.

【図面の簡単な説明】[Brief description of drawings]

【図1】 この発明に係る電子楽器のファイル管理シス
テムによってハードディスク上に記憶されている演奏デ
ータの構成を示す図である。
FIG. 1 is a diagram showing a configuration of performance data stored on a hard disk by a file management system for an electronic musical instrument according to the present invention.

【図2】 この発明に係るファイル管理システムを内蔵
した電子楽器の全体構成を示すハードブロック図であ
る。
FIG. 2 is a hardware block diagram showing the overall configuration of an electronic musical instrument incorporating the file management system according to the present invention.

【図3】 データの挿入に応じて、この発明に係るファ
イル管理システムが書き換えた図1のFAT及びDVT
の内容の第1の例を示す図である。
3 is a diagram showing the FAT and DVT of FIG. 1 rewritten by the file management system according to the present invention in response to the insertion of data.
It is a figure which shows the 1st example of the content of.

【図4】 データの挿入に応じて、この発明に係るファ
イル管理システムが書き換えた図1のFAT及びDVT
の内容の第2の例を示す図である。
4 is a diagram showing the FAT and DVT of FIG. 1 rewritten by the file management system according to the present invention in response to the insertion of data.
It is a figure which shows the 2nd example of the content of.

【図5】 データの挿入に応じて、この発明に係るファ
イル管理システムが書き換えた図1のFAT及びDVT
の内容の第3の例を示す図である。
5 is a diagram showing the FAT and DVT of FIG. 1 rewritten by the file management system according to the present invention in response to data insertion.
It is a figure which shows the 3rd example of the content of.

【図6】 図1、図3、図4及び図5のデータ記憶領域
における有効データの大きさを各クラスタ番号毎に棒グ
ラフ形式で示した概念図である。
FIG. 6 is a conceptual diagram showing the size of valid data in the data storage areas of FIGS. 1, 3, 4, and 5 in a bar graph format for each cluster number.

【図7】 データの削除に応じて、この発明に係るファ
イル管理システムが書き換えた図1のFAT及びDVT
の内容の第1の例を示す図である。
FIG. 7: FAT and DVT of FIG. 1 rewritten by the file management system according to the present invention in response to deletion of data
It is a figure which shows the 1st example of the content of.

【図8】 データの削除に応じて、この発明に係るファ
イル管理システムが書き換えた図1のFAT及びDVT
の内容の第2の例を示す図である。
FIG. 8 is a diagram showing the FAT and DVT of FIG. 1 rewritten by the file management system according to the present invention in response to data deletion.
It is a figure which shows the 2nd example of the content of.

【図9】 図1及び図7のデータ記憶領域における有効
データの大きさを各クラスタ番号毎に棒グラフ形式で示
した概念図である。
9 is a conceptual diagram showing the size of valid data in the data storage areas of FIGS. 1 and 7 in a bar graph format for each cluster number.

【図10】 図2のCPUが処理するメインルーチンの
一例を示すフローチャート図である。
FIG. 10 is a flowchart showing an example of a main routine processed by the CPU of FIG.

【図11】 図2のCPUによって処理される図10の
サンプリング処理の詳細を示すフローチャート図であ
る。
11 is a flowchart showing details of the sampling process of FIG. 10 processed by the CPU of FIG.

【図12】 図2のDMAの第1チャンネルが行うデー
タ転送処理の一例を示すフローチャート図である。
12 is a flowchart showing an example of a data transfer process performed by the first channel of the DMA of FIG.

【図13】 図2のDMAの第2チャンネルが行うデー
タ転送処理の一例を示すフローチャート図である。
13 is a flowchart showing an example of a data transfer process performed by the second channel of the DMA shown in FIG.

【図14】 図2のCPUによって処理される図10の
その他の処理の中の一つの処理である再生処理の一例を
示すフローチャート図である。
FIG. 14 is a flowchart showing an example of a reproduction process which is one of the other processes of FIG. 10 processed by the CPU of FIG.

【図15】 図2のCPUが行う音源転送要求割込処理
の一例を示すフローチャート図である。
15 is a flowchart showing an example of a sound source transfer request interrupt process performed by the CPU of FIG.

【図16】 図2のDMAの第2チャンネルが行う再生
中CH1処理の一例を示すフローチャート図である。
16 is a flowchart showing an example of the CH1 process during reproduction performed by the second channel of the DMA of FIG.

【図17】 図2のCPUによって処理される図10の
波形エディット処理&加工処理の中のデータ削除処理の
一例を示すフローチャート図である。
17 is a flowchart showing an example of data deletion processing in the waveform edit processing & modification processing of FIG. 10 processed by the CPU of FIG.

【図18】 図2のCPUによって処理される図10の
波形エディット処理&加工処理の中のデータ挿入処理の
一例を示すフローチャート図である。
18 is a flowchart showing an example of data insertion processing in the waveform edit processing & modification processing of FIG. 10 processed by the CPU of FIG.

【図19】 図2の鍵盤の操作に応じてハードディスク
から波形データを読み出して楽音を発生する楽音発生処
理の一例を示すフローチャート図である。
FIG. 19 is a flowchart showing an example of a musical tone generation process for reading waveform data from the hard disk and generating a musical tone in response to an operation of the keyboard of FIG.

【符号の説明】 10…CPU、11…ROM、12…RAM、13…鍵
盤、14…パネルスイッチ、15…表示器、16…音源
回路、17…アナログ−デジタル変換器、18…DMA
装置、19…アドレス変換回路、20…インターフェイ
ス、21…ハードディスク、22…キャッシュRAM、
23…マイク、24…サウンドシステム、25…データ
及びアドレスバス
[Explanation of Codes] 10 ... CPU, 11 ... ROM, 12 ... RAM, 13 ... Keyboard, 14 ... Panel switch, 15 ... Display, 16 ... Sound source circuit, 17 ... Analog-digital converter, 18 ... DMA
Device, 19 ... Address conversion circuit, 20 ... Interface, 21 ... Hard disk, 22 ... Cache RAM,
23 ... Microphone, 24 ... Sound system, 25 ... Data and address bus

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 所定長のデータ領域からなる記憶単位の
複数個に1ファイル分の演奏データを分割して記憶する
と共に、前記各記憶単位に記憶されている前記演奏デー
タ部分の大きさをそれぞれ示すデータと前記各記憶単位
に記憶された前記演奏データ部分の連結順を示すデータ
とを記憶している記憶手段と、 この記憶手段に記憶されている前記演奏データに対して
データの挿入又は削除を指示する指示手段と、 この指示手段によって指示されたデータを挿入又は削除
するとともに前記演奏データ部分の大きさを示すデータ
及び前記連結順を示すデータを書き換えるファイル管理
手段と、 前記記憶手段に記憶された前記演奏データ部分の大きさ
を示すデータ及び前記連結順を示すデータに基づき前記
記憶手段に記憶された演奏データを読み出す読出手段と
を具えたことを特徴とする電子楽器のファイル管理シス
テム。
1. The performance data for one file is divided and stored in a plurality of storage units each having a data area of a predetermined length, and the size of the performance data portion stored in each storage unit is determined. Storage means for storing the data shown and the data indicating the connection order of the performance data portions stored in the respective storage units; and insertion or deletion of data with respect to the performance data stored in the storage means. And a file management means for inserting or deleting the data instructed by the instructing means and rewriting the data indicating the size of the performance data portion and the data indicating the connection order, and storing in the storage means. The performance data stored in the storage means is read out based on the data indicating the size of the performance data portion and the data indicating the connection order. A file management system for an electronic musical instrument, comprising a reading means.
JP5152638A 1992-11-12 1993-06-01 File management system for electronic musical instrument Pending JPH06203534A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5152638A JPH06203534A (en) 1992-11-12 1993-06-01 File management system for electronic musical instrument

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP32619092 1992-11-12
JP4-326190 1992-11-12
JP5152638A JPH06203534A (en) 1992-11-12 1993-06-01 File management system for electronic musical instrument

Publications (1)

Publication Number Publication Date
JPH06203534A true JPH06203534A (en) 1994-07-22

Family

ID=26481497

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5152638A Pending JPH06203534A (en) 1992-11-12 1993-06-01 File management system for electronic musical instrument

Country Status (1)

Country Link
JP (1) JPH06203534A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11176083A (en) * 1997-12-12 1999-07-02 Hitachi Ltd Image found recording/reproducing device
JP2000067587A (en) * 1998-08-18 2000-03-03 Sharp Corp Information recording and reproducing device using batch erasing type memory
US6819862B1 (en) 1998-01-21 2004-11-16 Kabushiki Kaisha Toshiba Video data recording medium, video data recording apparatus and video data playback apparatus
US7389038B1 (en) 1998-09-09 2008-06-17 Sharp Kabushiki Kaisha Multimedia information recording device and method for recording multimedia information file on recording medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6216274A (en) * 1985-07-13 1987-01-24 Nippon Telegr & Teleph Corp <Ntt> Leveling system for sound data in record

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6216274A (en) * 1985-07-13 1987-01-24 Nippon Telegr & Teleph Corp <Ntt> Leveling system for sound data in record

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11176083A (en) * 1997-12-12 1999-07-02 Hitachi Ltd Image found recording/reproducing device
US6819862B1 (en) 1998-01-21 2004-11-16 Kabushiki Kaisha Toshiba Video data recording medium, video data recording apparatus and video data playback apparatus
US7155112B2 (en) 1998-01-21 2006-12-26 Kabushiki Kaisha Toshiba Video data recording medium, video data recording apparatus and video playback apparatus
JP2000067587A (en) * 1998-08-18 2000-03-03 Sharp Corp Information recording and reproducing device using batch erasing type memory
US7389038B1 (en) 1998-09-09 2008-06-17 Sharp Kabushiki Kaisha Multimedia information recording device and method for recording multimedia information file on recording medium

Similar Documents

Publication Publication Date Title
US5717153A (en) Tone information processing device for an electronic musical instrument for generating sounds
JPH06308964A (en) Musical tone forming device
JP2684899B2 (en) Sound source device for electronic musical instruments
JP3448928B2 (en) Music score recognition device
JP2819948B2 (en) Music signal recording and playback device
JPH11175062A (en) Information output device, information editing device and recording medium
US5850050A (en) Method and apparatus for generating musical tones, method and apparatus for processing music data, method and apparatus reproducing processed music data and storage media for practicing same
JPH06203534A (en) File management system for electronic musical instrument
JPH0766265B2 (en) Interrupt processing controller of performance information processor
JP2798077B2 (en) Sound source device for electronic musical instruments
JP3521165B2 (en) File management system and method
JP2743808B2 (en) Automatic performance device
JP2995629B2 (en) Performance data editing device
JP3460524B2 (en) Music data processing method, processed music data reproduction method, and storage medium
JP3029339B2 (en) Apparatus and method for processing sound waveform data
JP2563807Y2 (en) Music information storage device
JP2641851B2 (en) Automatic performance device
JPS607671A (en) Recording method of playing information at automatic playing device
JP3045018B2 (en) Waveform recording / reproducing device
JPH08185164A (en) Automatic playing controller and music data storage device used for the same
JP3489236B2 (en) Apparatus / method for sorting sequence data
JPH02139598A (en) Musical sound data editing device
JP2000122668A (en) Digtal sound data processor, and computor system
JP2583377B2 (en) Automatic performance device
JP2715833B2 (en) Tone generator