JP2000276172A - Musical sound generating device and storage medium - Google Patents

Musical sound generating device and storage medium

Info

Publication number
JP2000276172A
JP2000276172A JP11079523A JP7952399A JP2000276172A JP 2000276172 A JP2000276172 A JP 2000276172A JP 11079523 A JP11079523 A JP 11079523A JP 7952399 A JP7952399 A JP 7952399A JP 2000276172 A JP2000276172 A JP 2000276172A
Authority
JP
Japan
Prior art keywords
waveform data
waveform
data
storage means
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP11079523A
Other languages
Japanese (ja)
Other versions
JP3541718B2 (en
Inventor
Masatsugu Okazaki
雅嗣 岡崎
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 JP07952399A priority Critical patent/JP3541718B2/en
Publication of JP2000276172A publication Critical patent/JP2000276172A/en
Application granted granted Critical
Publication of JP3541718B2 publication Critical patent/JP3541718B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To generate a musical sound having the number of channels more than those limited by the slow data transfer speed of a storage device according to waveform data stored in the storage device. SOLUTION: When a cache hit of waveform data whose sound generation is indicated is detected, a musical sound is generated by using waveform data held in a cache memory 11 and when a cache miss of the waveform data whose sound generation is indicated is detected, the waveform data regarding the sound generation indication are read out of a waveform memory 10 and transferred to the cache memory 11, so that a musical sound is generated by using the transferred waveform data. Further, when timbre switching is indicated, whether or not waveform data used preferentially for the switching-indicated timbre are held in the cache memory 11 is detected and when the waveform data are not held in the cache memory 11, the waveform data are read out of the waveform memory 10 and transferred to the cache memory 11.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、データ転送速度が
低速の記憶装置に記憶された波形データに基づいて、該
記憶装置のデータ転送速度に依存して制限されるチャン
ネル数より多いチャンネル数の楽音を生成する楽音生成
装置および記憶媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for controlling the number of channels which is larger than the number of channels limited depending on the data transfer speed of a storage device based on waveform data stored in the storage device having a lower data transfer speed. The present invention relates to a musical sound generation device that generates musical sounds and a storage medium.

【0002】[0002]

【従来の技術】従来、データ転送速度が低速の記憶装置
(波形メモリ(ROM)を含む)に記憶された波形デー
タに基づいて楽音を生成する楽音生成装置として、次の
ものが知られている。すなわち、 (1)波形メモリから読み出された波形サンプルを補間
することにより、目的の楽音波形を生成する楽音生成装
置において、補間に用いる読み出し波形サンプルをキャ
ッシュメモリに記憶し、このキャッシングされた波形サ
ンプルに基づいて楽音波形を生成するもの (2)データ転送速度が低速の記憶装置であるハードデ
ィスクに記憶された波形データを、低容量かつデータ転
送速度が高速のRAMにロードし、このロードされた波
形データに基づいて楽音を生成する楽音生成装置等であ
る。
2. Description of the Related Art Conventionally, the following is known as a tone generator for generating a tone based on waveform data stored in a storage device (including a waveform memory (ROM)) having a low data transfer rate. . (1) In a tone generator for generating a desired musical tone waveform by interpolating a waveform sample read from a waveform memory, a read waveform sample used for interpolation is stored in a cache memory, and the cached waveform sample is stored. Generating a musical tone waveform based on a sample (2) Loading waveform data stored in a hard disk, which is a storage device having a low data transfer rate, into a RAM having a low capacity and a high data transfer rate, and loading the waveform data. It is a musical sound generation device or the like that generates musical sounds based on waveform data.

【0003】[0003]

【発明が解決しようとする課題】しかし、上記従来の楽
音生成装置のうち(1)では、生成すべき楽音波形が進
行し、この楽音波形を補間生成するための波形サンプル
がキャッシュメモリに保持されていないときには、その
波形サンプルを波形メモリから読み出さなければならな
いので、結局、生成される楽音波形のチャンネル数は波
形メモリのデータ転送速度に依存することになる。
However, in (1) of the above-described conventional tone generator, a tone waveform to be generated advances, and waveform samples for interpolation generation of the tone waveform are held in a cache memory. If not, the waveform sample must be read from the waveform memory, so that the number of channels of the generated tone waveform depends on the data transfer rate of the waveform memory.

【0004】また、上記従来の楽音生成装置のうち
(2)では、発音が指示されたときに、その発音指示さ
れた楽音に対応する波形データがRAM上にロードされ
ていない場合には、その楽音を生成できなかった。
In the conventional tone generator (2), when a sound is instructed and the waveform data corresponding to the tone to which the sound is instructed is not loaded in the RAM, the waveform data is not stored in the RAM. Music tone could not be generated.

【0005】本発明は、この点に着目してなされたもの
であり、データ転送速度が低速の記憶装置に記憶された
波形データに基づいて、該記憶装置のデータ転送速度に
依存して制限されるチャンネル数より多いチャンネル数
の楽音を生成することが可能な楽音生成装置および記憶
媒体を提供することを目的とする。
The present invention has been made in view of this point, and based on waveform data stored in a storage device having a low data transfer speed, the data transfer speed is limited depending on the data transfer speed of the storage device. It is an object of the present invention to provide a musical sound generation device and a storage medium capable of generating musical sounds having a greater number of channels than the number of channels.

【0006】[0006]

【課題を解決するための手段】上記目的を達成するた
め、請求項1に記載の楽音生成装置は、複数の波形デー
タを記憶する、データ転送速度が低速の第1の記憶手段
と、データ転送速度が高速の第2の記憶手段と、読み出
し指示に係る波形データが前記第2の記憶手段に記憶さ
れているか否かを判別する判別手段と、該判別手段によ
る判別の結果、前記読み出し指示に係る波形データが前
記第2の記憶手段に記憶されていないときには、前記読
み出し指示に応じて、該読み出し指示に係る波形データ
を前記第1の記憶手段から読み出し、前記第2の記憶手
段に転送する転送手段と、前記第2の記憶手段からその
記憶された波形データを読み出し、該読み出された波形
データに基づいて楽音を生成する楽音生成手段とを有
し、前記転送手段による波形データの転送と前記楽音生
成手段による楽音の生成とは非同期に行われることを特
徴とする。
According to a first aspect of the present invention, there is provided a musical sound generating apparatus for storing a plurality of waveform data, the first storing means having a low data transfer speed, and the data transfer means. A second storage unit having a high speed; a determination unit configured to determine whether or not waveform data related to the read instruction is stored in the second storage unit; When the waveform data is not stored in the second storage, the waveform data according to the read instruction is read from the first storage in response to the read instruction, and is transferred to the second storage. Transfer means for reading out the stored waveform data from the second storage means and generating a tone based on the read-out waveform data; Characterized in that it is performed asynchronously with the generation of the musical tone by the transfer and the tone generating means of the waveform data.

【0007】ここで、第1の記憶手段は、典型的には、
波形メモリ(ROM)であるが、これに限らず、ハード
ディスクやMD等、データ転送速度が低速の記憶手段で
あればどのようなものであってもよい。第2の記憶手段
は、典型的には、キャッシュメモリであるが、これに限
らず、データ転送速度が高速であれば、RAMであって
もよい。以上は、請求項が変わっても同様である。
Here, the first storage means typically comprises
The waveform memory (ROM) is not limited to this, but may be any storage means such as a hard disk or an MD that has a low data transfer rate. The second storage unit is typically a cache memory, but is not limited thereto, and may be a RAM as long as the data transfer speed is high. The above is the same even if the claims change.

【0008】好ましくは、前記転送手段は、前記読み出
し指示に係る波形データを波形データ単位で前記第2の
記憶手段に転送することを特徴とする。
Preferably, the transfer means transfers the waveform data according to the read instruction to the second storage means in waveform data units.

【0009】請求項3に記載の楽音生成装置は、複数の
波形データを記憶する、データ転送速度が低速の第1の
記憶手段と、データ転送速度が高速の第2の記憶手段
と、音色切換を指示する音色切換指示手段と、該音色切
換指示手段により音色切換が指示されたときに、該指示
された音色において優先的に用いられる波形データが前
記第2の記憶手段に記憶されているか否かを判別する判
別手段と、該判別手段による判別の結果、前記優先的に
用いられる波形データが前記第2の記憶手段に記憶され
ていないときには、該波形データを前記第1の記憶手段
から読み出して、前記第2の記憶手段に転送する転送手
段と、前記第2の記憶手段からその記憶された波形デー
タを読み出し、該読み出された波形データに基づいて楽
音を生成する楽音生成手段とを有することを特徴とす
る。
According to a third aspect of the present invention, there is provided a musical sound generating apparatus for storing a plurality of waveform data, a first storing means having a low data transfer rate, a second storing means having a high data transfer rate, and a timbre switching. Means for instructing tone color switching, and whether or not waveform data preferentially used in the designated tone color is stored in the second storage means when tone color switching is instructed by the tone color switching instruction means. Determination means for determining whether or not the waveform data to be used preferentially is not stored in the second storage means, the waveform data is read out from the first storage means; Transfer means for transferring the stored waveform data to the second storage means; and a tone generator for generating a tone based on the read waveform data from the second storage means. And having a means.

【0010】請求項4に記載の楽音生成装置は、複数の
波形サンプルからなる波形データを複数個記憶する、デ
ータ転送速度が低速の第1の記憶手段と、データ転送速
度が高速の第2の記憶手段と、発音指示に係る波形デー
タが前記第2の記憶手段に記憶されているか否かを判別
する判別手段と、該判別手段による判別の結果、前記発
音指示に係る波形データが前記第2の記憶手段に記憶さ
れていないときには、前記発音指示に応じて、該発音指
示に係る波形データの各波形サンプルを前記第1の記憶
手段から読み出し、前記第2の記憶手段に転送する転送
手段と、前記発音指示に応じて、前記第2の記憶手段か
ら該発音指示に係る波形データの波形サンプルを順次読
み出し、該読み出された波形サンプルに基づいて楽音を
生成する楽音生成手段とを有し、前記転送手段による波
形データの各波形サンプルの転送速度を、前記楽音生成
手段による各波形サンプルの読み出し速度より高速にし
たことを特徴とする。
[0010] According to a fourth aspect of the present invention, there is provided a musical sound generating apparatus for storing a plurality of waveform data comprising a plurality of waveform samples, a first storage means having a low data transfer rate, and a second storage means having a high data transfer rate. Storage means, determining means for determining whether or not waveform data relating to the sounding instruction is stored in the second storage means, and as a result of the determination by the determining means, the waveform data relating to the sounding instruction is stored in the second storage means. Transfer means for reading, from the first storage means, each waveform sample of the waveform data relating to the sounding instruction in response to the sounding instruction, when not stored in the storage means. A tone generation unit for sequentially reading waveform samples of waveform data according to the tone generation instruction from the second storage unit in accordance with the tone generation instruction, and generating a tone based on the read waveform sample; And a stage, the transfer rate of each waveform sample of the waveform data by said transfer means, characterized by being faster than the read rate of each waveform sample by the music generation means.

【0011】また、上記目的を達成するために、請求項
5に記載の記憶媒体は、読み出し指示に係る波形データ
が、データ転送速度が高速の第2の記憶手段に記憶され
ているか否かを判別する判別モジュールと、該判別モジ
ュールによる判別の結果、前記読み出し指示に係る波形
データが前記第2の記憶手段に記憶されていないときに
は、前記読み出し指示に応じて、該読み出し指示に係る
波形データを、複数の波形データが記憶されている、デ
ータ転送速度が低速の第1の記憶手段から読み出し、前
記第2の記憶手段に転送する転送モジュールと、前記第
2の記憶手段からその記憶された波形データを読み出
し、該読み出された波形データに基づいて楽音を生成す
る楽音生成モジュールとを含み、前記転送モジュールに
よる波形データの転送と前記楽音生成モジュールによる
楽音の生成とは非同期に行われることを特徴とする。
In order to achieve the above object, a storage medium according to a fifth aspect of the present invention determines whether or not the waveform data according to the read instruction is stored in the second storage means having a high data transfer rate. A determination module for determining, and as a result of the determination by the determination module, when the waveform data according to the read instruction is not stored in the second storage unit, the waveform data according to the read instruction is changed according to the read instruction. A transfer module which stores a plurality of waveform data and which is read from the first storage means having a low data transfer rate and transfers the read data to the second storage means, and a stored waveform stored in the second storage means. A tone generation module for reading data and generating a tone based on the read waveform data; and transferring the waveform data by the transfer module. Characterized in that it is performed asynchronously with the generation of the musical tone by the musical tone generation module.

【0012】請求項6に記載の記憶媒体は、音色切換を
指示する音色切換指示モジュールと、該音色切換指示モ
ジュールにより音色切換が指示されたときに、該指示さ
れた音色において優先的に用いられる波形データが、デ
ータ転送速度が高速の第2の記憶手段に記憶されている
か否かを判別する判別モジュールと、該判別モジュール
による判別の結果、前記優先的に用いられる波形データ
が前記第2の記憶手段に記憶されていないときには、該
波形データを、複数の波形データが記憶されている、デ
ータ転送速度が低速の第1の記憶手段から読み出して、
前記第2の記憶手段に転送する転送モジュールと、前記
第2の記憶手段からその記憶された波形データを読み出
し、該読み出された波形データに基づいて楽音を生成す
る楽音生成モジュールとを含むことを特徴とする。
According to a sixth aspect of the present invention, there is provided a storage medium, wherein a tone color switching instruction module for instructing tone color switching, and when tone color switching is instructed by the tone color switching instruction module, the storage medium is preferentially used in the designated tone color. A discrimination module for discriminating whether the waveform data is stored in the second storage means having a high data transfer rate, and as a result of the discrimination by the discrimination module, the waveform data to be used preferentially is stored in the second storage means. When the waveform data is not stored in the storage means, the waveform data is read from the first storage means in which a plurality of waveform data are stored and the data transfer speed is low,
A transfer module for transferring the stored waveform data to the second storage means; and a tone generation module for reading the stored waveform data from the second storage means and generating a tone based on the read waveform data. It is characterized by.

【0013】請求項7に記載の記憶媒体は、発音指示に
係る波形データが、データ転送速度が高速の第2の記憶
手段に記憶されているか否かを判別する判別モジュール
と、該判別モジュールによる判別の結果、前記発音指示
に係る波形データが前記第2の記憶手段に記憶されてい
ないときには、前記発音指示に応じて、該発音指示に係
る波形データの各波形サンプルを、複数の波形サンプル
からなる波形データが複数個記憶されている、データ転
送速度が低速の第1の記憶手段から読み出し、前記第2
の記憶手段に転送する転送モジュールと、前記発音指示
に応じて、前記第2の記憶手段から該発音指示に係る波
形データの波形サンプルを順次読み出し、該読み出され
た波形サンプルに基づいて楽音を生成する楽音生成モジ
ュールとを含み、前記転送モジュールによる波形データ
の各波形サンプルの転送速度を、前記楽音生成モジュー
ルによる各波形サンプルの読み出し速度より高速にした
ことを特徴とする。
According to a seventh aspect of the present invention, there is provided a storage medium, comprising: a discriminating module for discriminating whether or not waveform data relating to a sounding instruction is stored in a second storage means having a high data transfer rate; As a result of the determination, when the waveform data according to the sounding instruction is not stored in the second storage means, each waveform sample of the waveform data according to the sounding instruction is converted from a plurality of waveform samples in accordance with the sounding instruction. Read out from the first storage means having a low data transfer rate in which a plurality of waveform data
And a transfer module for transferring the waveform sample of the waveform data according to the tone generation instruction from the second storage means in accordance with the tone generation instruction, and generating a tone based on the read waveform sample. And a transfer speed of each waveform sample of the waveform data by the transfer module is higher than a reading speed of each waveform sample by the tone generation module.

【0014】[0014]

【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて詳細に説明する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0015】図1は、本発明の一実施の形態に係る楽音
生成装置の概略構成を示すブロック図である。
FIG. 1 is a block diagram showing a schematic configuration of a musical sound generating apparatus according to an embodiment of the present invention.

【0016】同図に示すように、本実施の形態の楽音生
成装置は、各種情報を入力するための複数のスイッチを
備えたパネルスイッチ1と、各種情報等を表示する、た
とえば大型液晶ディスプレイ(LCD)および発光ダイ
オード(LED)等を備えた表示装置2と、装置全体の
制御を司るCPU3と、該CPU3が実行する制御プロ
グラムや各種テーブルデータ等を記憶するROM4と、
演奏データ、各種入力情報および演算結果等を一時的に
記憶するRAM5と、タイマ割込み処理における割込み
時間や各種時間を計時するタイマ6と、前記制御プログ
ラムを含む各種アプリケーションプログラムや各種デー
タ等を記憶するハードディスク装置7と、外部からのM
IDI(musical instrument digital interface)信号
を入力したり、MIDI信号を外部に出力したりするM
IDIインターフェース8と、ch(channel)データ
(図2を用いて後述)やC(cache)管理データ(図3
を用いて後述)等のデータを格納する領域を備えたレジ
スタ9とを有し、これらの各構成要素1〜9は、バス1
8を介して相互に接続されている。
As shown in FIG. 1, a musical sound generating apparatus according to the present embodiment has a panel switch 1 having a plurality of switches for inputting various information, and a large liquid crystal display (for example, a large liquid crystal display) for displaying various information. A display device 2 including an LCD) and a light emitting diode (LED); a CPU 3 for controlling the entire device; a ROM 4 for storing a control program executed by the CPU 3 and various table data;
A RAM 5 for temporarily storing performance data, various input information, calculation results, and the like, a timer 6 for measuring an interrupt time and various times in a timer interrupt process, and various application programs and various data including the control program are stored. Hard disk drive 7 and external M
M for inputting an IDI (musical instrument digital interface) signal or outputting a MIDI signal to the outside
IDI interface 8, ch (channel) data (described later with reference to FIG. 2) and C (cache) management data (FIG. 3)
And a register 9 provided with an area for storing data such as the following.
8 are connected to each other.

【0017】ハードディスク装置7には、前述のよう
に、CPU3が実行する制御プログラムも記憶でき、R
OM4に制御プログラムが記憶されていない場合には、
このハードディスクに制御プログラムを記憶させてお
き、それをRAM5に読み込むことにより、ROM4に
制御プログラムを記憶している場合と同様の動作をCP
U3にさせることができる。このようにすると、制御プ
ログラムの追加やバージョンアップ等が容易に行える。
As described above, the hard disk device 7 can also store a control program to be executed by the CPU 3.
If the control program is not stored in OM4,
By storing the control program in the hard disk and reading it into the RAM 5, the same operation as when the control program is stored in the ROM 4 is performed by the CP.
U3. This makes it easy to add a control program, upgrade a version, and the like.

【0018】MIDIインターフェース8は、専用のも
のに限らず、RS−232CやUSB(ユニバーサル・
シリアル・バス)、IEEE1394(アイトリプルイ
ー1394)等の汎用のインターフェースより構成して
もよい。この場合、MIDIメッセージ以外のデータを
も同時に送受信してもよい。
The MIDI interface 8 is not limited to a dedicated one, but may be RS-232C or USB (universal).
It may be constituted by a general-purpose interface such as a serial bus) or IEEE 1394 (I Triple E 1394). In this case, data other than the MIDI message may be transmitted and received at the same time.

【0019】レジスタ9には、大容量(たとえば、12
8Mword)かつデータ転送速度が低速(たとえば、
6Mword/秒)の波形メモリ(ROM)10に記憶
されている波形データを、小容量(たとえば、4Mwo
rd)かつデータ転送速度が高速(たとえば、66Mw
ord/秒)のキャッシュメモリ11にロードしたり、
キャッシュメモリ11にロードされている波形データを
読み出したりするキャッシュ制御部12と、波形データ
を読み出す際の1サンプル当たりのアドレスの進み量を
示すFナンバFNを各発音チャンネル毎に累算すること
により、該各チャンネル毎の波形データの読み出しアド
レス(相対アドレス)を発生する位相発生部14と、キ
ャッシュメモリ11から読み出された波形データを加工
するためのDSP(digital signal processor)15が
接続されている。
The register 9 has a large capacity (for example, 12
8Mword) and a low data transfer rate (for example,
The waveform data stored in the waveform memory (ROM) 10 of 6 Mword / sec is stored in a small capacity (for example, 4 Mword / second).
rd) and a high data transfer rate (for example, 66 Mw)
ord / sec) into the cache memory 11 or
By accumulating, for each sounding channel, a cache control unit 12 for reading waveform data loaded in the cache memory 11 and an F number FN indicating an address advance per sample when reading waveform data. A phase generator 14 for generating a read address (relative address) of the waveform data for each channel and a DSP (digital signal processor) 15 for processing the waveform data read from the cache memory 11 are connected. I have.

【0020】ここで、本実施の形態の楽音生成装置は、
楽音を生成するときには、常にキャッシュメモリ11か
らその楽音生成の基準となる波形データを読み出し、こ
の波形データに基づいて楽音を生成する。そして、その
楽音生成の基準となる波形データがキャッシュメモリ1
1上に保持されていないとき、すなわちキャッシュミス
が発生したときには、その波形データを波形メモリ10
から読み出して、キャッシュメモリ11に転送した後、
この波形データをキャッシュメモリ11から読み出して
楽音を生成する。このとき、後述するように、波形メモ
リ10からキャッシュメモリ11への波形データの転送
速度は、キャッシュメモリ11上の波形データの読み出
しアドレスの進み量(読み出し速度)より速く設定され
いるので、発音の途中で、キャッシュメモリ11に読み
出すべき波形サンプルが未転送という状態にはならな
い。
Here, the musical sound generating apparatus according to the present embodiment
When a musical tone is generated, waveform data serving as a reference for generating the musical tone is always read from the cache memory 11, and a musical tone is generated based on the waveform data. The waveform data serving as a reference for generating the musical sound is stored in the cache memory 1.
1 is not held in the memory 1, that is, when a cache miss occurs, the waveform data is stored in the waveform memory 10
From the cache memory 11 and transferred to the cache memory 11,
The waveform data is read from the cache memory 11 to generate a musical tone. At this time, as will be described later, the transfer speed of the waveform data from the waveform memory 10 to the cache memory 11 is set faster than the advance amount (read speed) of the read address of the waveform data in the cache memory 11, so that the sound generation is performed. On the way, the waveform sample to be read to the cache memory 11 does not enter a state of not being transferred.

【0021】本実施の形態では、装置のサンプリング周
波数を、たとえば50kHzとし、位相発生部14によ
って発生された読み出しアドレスに小数部が含まれると
きには、そのアドレスの波形サンプルは直線補間によっ
て算出するようにしているため、1周期当たり2個の波
形サンプルを読み出す必要があるので、サンプリング周
波数は実質100kHzとなっている。
In this embodiment, when the sampling frequency of the apparatus is, for example, 50 kHz, and the read address generated by the phase generator 14 includes a decimal part, the waveform sample at that address is calculated by linear interpolation. Therefore, since it is necessary to read out two waveform samples per cycle, the sampling frequency is substantially 100 kHz.

【0022】この100kHzのサンプリング周波数の
1周期で、1個の波形サンプル(そのデータ容量は1w
ordとする)を読み出せれば、1チャンネル分の楽音
を生成できるので、本実施の形態のように、常にキャッ
シュメモリ11をアクセスすることにより、その記憶さ
れた波形データ(波形サンプル)を読み出して楽音生成
に使用したときには、66Mword/秒÷100kw
ord/秒/ch=660ch分の楽音を生成すること
ができる。
In one cycle of the 100 kHz sampling frequency, one waveform sample (having a data capacity of 1 w
can read out the stored waveform data (waveform sample) by always accessing the cache memory 11 as in the present embodiment. When used for musical tone generation, 66 Mword / sec @ 100 kW
Musical sounds for ord / second / ch = 660 ch can be generated.

【0023】ただし、本実施の形態では、1サンプリン
グ周期内で、最大6Mword/秒のデータ転送、すな
わち波形メモリ10からキャッシュメモリ11への波形
データのデータ転送も行っているため、6Mword/
秒÷100kword/秒/ch=60ch分、上記6
60chから差し引く必要がある。したがって、本実施
の形態の楽音生成装置は、最大600chの楽音を生成
することができる。
In this embodiment, however, data transfer at a maximum of 6 Mword / sec, that is, data transfer of waveform data from the waveform memory 10 to the cache memory 11 is performed within one sampling period.
Seconds ÷ 100 kword / second / ch = 60 ch minutes, 6 above
It is necessary to subtract from 60ch. Therefore, the musical sound generation device of the present embodiment can generate musical sounds of up to 600 channels.

【0024】位相発生部14は、レジスタ9に格納され
た各発音チャンネル(チャンネル数は、上述のように、
最大600ch)毎のchデータに基づいて、該各チャ
ンネル毎の波形データの読み出しアドレス(実数値)を
発生し、その整数部をキャッシュ制御部12に供給する
とともに、その小数部をDSP15に供給する。
The phase generator 14 generates each sound channel stored in the register 9 (the number of channels is, as described above,
A read address (real value) of the waveform data for each channel is generated based on the channel data for each of the 600 channels (maximum 600 channels), and its integer part is supplied to the cache control unit 12 and its decimal part is supplied to the DSP 15. .

【0025】キャッシュ制御部12は、レジスタ9に格
納されたC管理データに基づいて、各チャンネルで読み
出そうとしている波形データがキャッシュメモリ11に
記憶されているか否かを判別し、記憶されていないとき
には、当該チャンネルにおける波形データの読み出しを
開始すると同時に、その波形データを波形メモリ10か
ら読み出してキャッシュメモリ11に転送する一方、記
憶されているときには、当該チャンネルで発生された読
み出しアドレスの整数部に対応する位置(およびその次
の位置)の波形データをキャッシュメモリ11から読み
出して、DSP15に供給する。
The cache control unit 12 determines whether or not the waveform data to be read in each channel is stored in the cache memory 11 based on the C management data stored in the register 9 and stores it. If not, the reading of the waveform data in the channel is started, and at the same time, the waveform data is read from the waveform memory 10 and transferred to the cache memory 11. On the other hand, if stored, the integer part of the read address generated in the channel is read. Is read from the cache memory 11 and supplied to the DSP 15.

【0026】ここで、波形データは、波形メモリ10か
らブロック単位(1ブロックは、本実施の形態では、1
kword)で読み出されて、キャッシュメモリ11に
ロードされる。通常、読み出すべき波形データの容量は
1kwordより大きいので、複数ブロックがキャッシ
ュメモリ11にロードされるが、この複数ブロック分の
容量のまとまった空き領域がキャッシュメモリ11に存
在しない場合には、各ブロックの波形データは、キャッ
シュメモリ11上で離散的に記憶される。他方、位相発
生部14は、読み出しアドレスを、当該波形データのア
ドレスが連続しているものとして発生する。このため、
キャッシュメモリ11上の実アドレスに対して仮想アド
レスを定義し、この仮想アドレス(各ブロック毎の仮想
アドレス)を再配置するすることにより、実アドレスで
は依然として離散的に存在している波形データのアドレ
スを、見かけ上連続的にしている。この種の技術を、ガ
ーベジ・コレクション(garbage collection)と呼んで
いる。これにより、空き領域をまとめる際にキャッシュ
メモリ11上に記憶されているデータを転送する必要が
なくなるので、処理を高速に行うことができる。
Here, the waveform data is stored in a block unit from the waveform memory 10 (one block corresponds to one block in this embodiment).
kword) and loaded into the cache memory 11. Usually, since the capacity of the waveform data to be read is larger than 1 kword, a plurality of blocks are loaded into the cache memory 11. If there is no free space in the cache memory 11 having a capacity corresponding to the plurality of blocks, Are discretely stored on the cache memory 11. On the other hand, the phase generator 14 generates a read address assuming that the addresses of the waveform data are continuous. For this reason,
By defining a virtual address for the real address on the cache memory 11 and rearranging the virtual address (virtual address for each block), the real address is the address of the waveform data that still exists discretely. Is apparently continuous. This type of technology is called garbage collection. This eliminates the need to transfer the data stored in the cache memory 11 when consolidating the free areas, so that the processing can be performed at high speed.

【0027】キャッシュ制御部12は、目的の波形デー
タをキャッシュメモリ11から読み出すために、この仮
想アドレスをキャッシュメモリ11上の実アドレスに変
換するアドレス変換部13を介して、キャッシュメモリ
11に接続されている。
The cache control unit 12 is connected to the cache memory 11 via an address conversion unit 13 for converting the virtual address into a real address on the cache memory 11 in order to read out the target waveform data from the cache memory 11. ing.

【0028】DSP15は、発音チャンネル処理、エフ
ェクト処理およびミキサ処理を行い、これら各処理の施
されたデジタル楽音データをDAC(digital to analo
g converter)16に出力し、DAC16は、DSP1
5から供給されたデジタル楽音データをアナログ楽音信
号に変換し、アンプやスピーカ等からなるサウンドシス
テム17を介して音響に変換される。
The DSP 15 performs sound channel processing, effect processing, and mixer processing, and converts the digital musical tone data subjected to each of these processing to a DAC (digital to analog).
g converter) 16 and the DAC 16
The digital tone data supplied from 5 is converted into an analog tone signal, and is converted into sound via a sound system 17 including an amplifier and a speaker.

【0029】ここで、発音チャンネル処理の主なものと
しては、たとえば、サンプル間補間処理、音色フィルタ
処理、音量エンベロープ処理、チャンネル累算処理が挙
げられる。
Here, the main sound generation channel processing includes, for example, inter-sample interpolation processing, tone color filter processing, volume envelope processing, and channel accumulation processing.

【0030】サンプル間補間処理では、キャッシュ制御
部12から供給された波形データと位相発生部14から
供給された読み出しアドレスの小数部に基づいて補間演
算を行い、補間された波形データの波形サンプルを生成
する。本実施の形態では、キャッシュ制御部12は、各
チャンネル当たり2個の波形サンプルをDSP15に供
給し、DSP15は、この2個の波形サンプルに基づい
て直線補間により補間サンプルを生成する。もちろん、
過去に読み出された波形サンプルを記憶しておき、この
波形サンプルと新たに読み出された波形サンプルに基づ
いて、より高次の補間を行うようにしてもよい。
In the inter-sample interpolation processing, an interpolation operation is performed based on the waveform data supplied from the cache control unit 12 and the decimal part of the read address supplied from the phase generation unit 14, and the waveform sample of the interpolated waveform data is obtained. Generate. In the present embodiment, the cache control unit 12 supplies two waveform samples for each channel to the DSP 15, and the DSP 15 generates an interpolation sample by linear interpolation based on the two waveform samples. of course,
A waveform sample read in the past may be stored, and higher-order interpolation may be performed based on this waveform sample and a newly read waveform sample.

【0031】音色フィルタ処理では、上記補間後の波形
データに対して、たとえばローパスフィルタ演算により
音色制御を行う。このローパスフィルタ演算は、パラメ
ータとして供給されたカットオフ特性やレゾナンス特性
等に基づいて行われる。
In the timbre filter processing, timbre control is performed on the interpolated waveform data by, for example, a low-pass filter operation. This low-pass filter operation is performed based on the cut-off characteristics and resonance characteristics supplied as parameters.

【0032】音量エンベロープ処理では、音色フィルタ
処理が施された波形データに対して、楽音の立ち上がり
から立ち下がりまでの音量の時間変化(エンベロープ)
を与える。この音量エンベロープ処理も、パラメータと
して供給されたEG(envelope generator)制御情報に
基づいて行われる。
In the volume envelope processing, a time change (envelope) of the volume from the rise to the fall of a musical tone is applied to the waveform data that has been subjected to the tone color filter processing.
give. This volume envelope processing is also performed based on EG (envelope generator) control information supplied as a parameter.

【0033】チャンネル累算処理では、エンベロープの
付与された波形データを、各エフェクト処理(本実施の
形態では、コーラス処理、リバーブ処理およびイコライ
ザ処理の3種類の処理がある)向けにそれぞれレベル制
御した後に、全チャンネル分累算し、各エフェクト処理
に出力する。
In the channel accumulation processing, the level of the envelope data is controlled for each effect processing (in this embodiment, there are three types of processing: chorus processing, reverb processing, and equalizer processing). After that, accumulation for all channels is performed and output to each effect processing.

【0034】コーラス処理では、当処理向けに出力され
た波形データに対してコーラス効果を付与する。
In the chorus processing, a chorus effect is given to the waveform data output for this processing.

【0035】リバーブ処理では、当処理向けに出力され
た波形データに対して残響効果を付与する。
In the reverb processing, a reverberation effect is added to the waveform data output for the processing.

【0036】ミキサ処理では、コーラス効果が付与され
た波形データと残響効果が付与された波形データの各音
量を制御し、この音量制御された各波形データとイコラ
イザ処理向けに出力された波形データとをミキシングす
る。
In the mixer processing, each volume of the waveform data to which the chorus effect is added and the waveform data to which the reverberation effect is added are controlled, and each of the waveform data subjected to the volume control and the waveform data output for the equalizer processing is controlled. Mixing.

【0037】イコライザ処理では、ミキサ処理によって
ミキシングされた波形データの周波数特性を加工制御す
る。
In the equalizer processing, the frequency characteristics of the waveform data mixed by the mixer processing are processed and controlled.

【0038】この周波数特性が加工制御された波形デー
タが、DSP15からDAC16に供給される。
The waveform data whose frequency characteristics have been processed and controlled are supplied from the DSP 15 to the DAC 16.

【0039】以上のように、位相発生部14およびDS
P15は、それぞれ、1サンプリング周期内で最大60
0ch分の楽器生成のための処理を時分割で行う必要が
ある。この処理を実現するためには、必要に応じて、各
回路を並列化したり、パイプライン化したりすればよ
い。すなわち、各処理を時分割600chで複数段にパ
イプライン化した構成、2つに並列化してそれぞれ時分
割300chで複数段にパイプライン化した構成、4つ
に並列化してそれぞれ時分割150chで複数段にパイ
プライン化した構成等を採ることができる。一般的に、
並列化の数を増やすことによりパイプラインの段数を減
少させることができる。
As described above, the phase generator 14 and the DS
P15 is a maximum of 60 within one sampling period.
It is necessary to perform processing for generating a musical instrument for 0 ch in a time-division manner. In order to realize this processing, each circuit may be parallelized or pipelined as necessary. That is, a configuration in which each process is pipelined into a plurality of stages by 600 channels in time division, a configuration in which two processes are parallelized and pipelined into a plurality of stages by 300 channels each in time division, and a plurality of processes are parallelized into 150 channels each in 150 channels A configuration in which the stages are pipelined can be employed. Typically,
Increasing the number of parallelizations can reduce the number of pipeline stages.

【0040】図2は、レジスタ9に格納されるchデー
タのデータフォーマットを示す図である。
FIG. 2 is a diagram showing a data format of ch data stored in the register 9.

【0041】各chデータは、それぞれ、当該発音チャ
ンネルでの楽音生成のために必要な複数個のデータから
なり、レジスタ9には、600ch分のデータが記憶さ
れる領域ch1〜ch600が設けられている。なお、
各chデータのデータフォーマットはすべて共通である
ため、同図には、ch3のchデータのデータフォーマ
ットが代表的に例示されている。
Each channel data is composed of a plurality of data necessary for generating a tone in the sounding channel. The register 9 is provided with areas ch1 to ch600 for storing data for 600 channels. I have. In addition,
Since all the data formats of the ch data are common, FIG. 2 representatively illustrates the data format of the ch data of ch3.

【0042】同図において、chデータは、FナンバF
Nと、生成される楽音の全体的な音量と、楽音生成に使
用する、波形メモリ10上の波形データを特定するため
の波形IDと、波形メモリ10(またはキャッシュメモ
リ11)上の当該(波形IDに対応する)波形データの
先頭記憶位置(アドレス)を基準とした所定位置(たと
えば、読み出し開始位置、ループ読み出し開始位置およ
びループ読み出し終了位置)の相対アドレス情報と、前
記音色フィルタ処理でのフィルタ演算に用いるパラメー
タであるDCF(digital controlled filter)制御情
報(前記カットオフ特性やレゾナンス特性を含む)と、
前記音量エンベロープ処理での音量制御に用いるパラメ
ータであるEG制御情報と、楽音生成に用いるその他の
情報と、ノートオン/オフの状態をそれぞれ“0”と
“1”で示すオン/オフデータとによって構成されてい
る。
In the figure, ch data is F number F
N, the overall volume of the generated tone, the waveform ID for specifying the waveform data on the waveform memory 10 used for generating the tone, and the (waveform) on the waveform memory 10 (or the cache memory 11). Relative address information of a predetermined position (for example, a read start position, a loop read start position, and a loop read end position) with respect to the head storage position (address) of the waveform data (corresponding to the ID); DCF (digital controlled filter) control information (including the cut-off characteristic and the resonance characteristic), which is a parameter used in the calculation,
EG control information, which is a parameter used for volume control in the volume envelope processing, other information used for tone generation, and on / off data indicating a note on / off state of “0” and “1”, respectively. It is configured.

【0043】FナンバFNは、上述のように、波形デー
タを読み出す際の1サンプル当たりのアドレスの進み量
を示すものであり、生成すべき楽音の音高とその生成に
用いる波形データが決まれば、その値は決まる。前記位
相発生部14は、システムのサンプリング周波数(本実
施の形態では、前述のように、50kHz)に同期し
て、各チャンネル毎にFナンバFNを累積し、該各チャ
ンネル毎の波形データの読み出しアドレス(相対アドレ
ス)を発生する。
As described above, the F number FN indicates the advance amount of the address per sample when reading the waveform data. If the pitch of the musical tone to be generated and the waveform data used for the generation are determined, , Its value is determined. The phase generator 14 accumulates the F number FN for each channel in synchronization with the sampling frequency of the system (in the present embodiment, as described above, 50 kHz), and reads the waveform data for each channel. Generate an address (relative address).

【0044】波形メモリ10に記憶されている各波形デ
ータには、それぞれIDが付与され、chデータ内の波
形IDを指定することにより、目的の波形データを波形
メモリ10上で特定することができる。
Each waveform data stored in the waveform memory 10 is assigned an ID. By specifying the waveform ID in the ch data, the target waveform data can be specified on the waveform memory 10. .

【0045】オン/オフデータは、その値が“0”から
“1”に変化した時点で、当該チャンネルの楽音の生成
を開始し、“1”から“0”に変化した時点で、当該チ
ャンネルの楽音のリリースを開始するように、前記DS
P15に指示するためのものである。
The on / off data starts generating the musical tone of the channel when its value changes from "0" to "1", and when the value changes from "1" to "0". So that the release of the DS
This is for instructing P15.

【0046】図3は、レジスタ9に格納されるC管理デ
ータのデータフォーマットを示す図である。
FIG. 3 is a diagram showing a data format of the C management data stored in the register 9.

【0047】C管理データは、キャッシュメモリ11に
格納される波形データの状態を管理するために必要な複
数個のデータからなり、レジスタ9には、600波形分
のデータが記憶される領域cw1〜cw600が設けら
れている。なお、各C管理データのデータフォーマット
はすべて共通であるため、同図には、cw(cache wav
e)3のC管理データのデータフォーマットが例示され
ている。
The C management data is composed of a plurality of data necessary for managing the state of the waveform data stored in the cache memory 11, and the register 9 stores areas cw1 to cw1 for storing 600 waveform data. cw600 is provided. Since the data format of each C management data is common, cw (cache wav) is shown in FIG.
e) The data format of the C management data of 3 is illustrated.

【0048】同図において、C管理データは、上記ch
データ内の波形IDと同様に作用する波形IDと、キャ
ッシュメモリ11への当該波形データの転送状態を示す
転送ステートTSと、キャッシュメモリ11へ当該波形
データを転送するときの速度を示す転送速度TAと、当
該波形データのキャッシュメモリ11上の記憶位置を仮
想アドレスで表現するキャッシュ記憶位置仮想アドレス
と、当該波形データのうちキャッシュメモリ11に転送
されたデータのデータサイズを示す転送済みサイズと、
当該波形データの全データサイズを示すトータルサイズ
と、当該波形データの波形メモリ10上の記憶位置を実
アドレス(波形データは通常波形メモリ10上リニアに
(連続して)記憶されているため、リニアアドレスであ
る)で示す波形メモリ記憶位置リニアアドレスとによっ
て構成されている。
In the same figure, the C management data is
A waveform ID acting in the same manner as the waveform ID in the data, a transfer state TS indicating a transfer state of the waveform data to the cache memory 11, and a transfer speed TA indicating a speed at which the waveform data is transferred to the cache memory 11. A cache storage location virtual address representing the storage location of the waveform data on the cache memory 11 by a virtual address, a transferred size indicating the data size of data of the waveform data transferred to the cache memory 11,
The total size indicating the entire data size of the waveform data and the storage location of the waveform data on the waveform memory 10 are represented by the real address (since the waveform data is normally (continuously) stored on the waveform memory 10, And a linear address of a waveform memory storage position indicated by (address).

【0049】転送ステートTSは、“0”から“2”ま
でのいずれかの整数値を採り、各整数値は、次のような
状態を意味している。
The transfer state TS takes any integer value from "0" to "2", and each integer value means the following state.

【0050】0:当該波形IDが示す波形データは楽音
生成に使用されていない状態 1:当該波形IDが示す波形データはキャッシュメモリ
11に転送中の状態 2:当該波形IDが示す波形データはキャッシュメモリ
11に転送を完了した状態 転送速度TAは、“0”から“120”までのいずれか
の整数値を採り、1秒当たりに転送される前記ブロック
のブロック数(本実施の形態では、50ブロック=50
kword)を1単位としている。たとえば、TA=0
は、キャッシュメモリ11へのデータ転送を行わない状
態を示し、TA=1は、キャッシュメモリ11への50
ブロック/秒のデータ転送を行う状態を示し、TA=2
は、キャッシュメモリ11への100ブロック/秒のデ
ータ転送を行う状態を示し、というように、転送速度T
Aとして設定される値が大きくなるほど、1秒間に転送
されるブロック数、すなわち転送速度が速くなるように
なっている。
0: The state in which the waveform data indicated by the waveform ID is not used for tone generation 1: The state in which the waveform data indicated by the waveform ID is being transferred to the cache memory 11 2: The state in which the waveform data indicated by the waveform ID is cached A state in which the transfer to the memory 11 has been completed. The transfer speed TA takes an integer value from “0” to “120”, and the number of the blocks to be transferred per second (50 in the present embodiment). Block = 50
kword) is one unit. For example, TA = 0
Indicates that data is not transferred to the cache memory 11, and TA = 1 indicates that data transfer to the cache memory 11 is not performed.
Indicates a state in which data transfer of blocks / second is performed, and TA = 2
Indicates a state in which data transfer to the cache memory 11 is performed at 100 blocks / sec.
As the value set as A increases, the number of blocks transferred per second, that is, the transfer speed increases.

【0051】ここで、1秒当たりに転送されるブロック
数の1単位を50ブロックとしたのは、この転送速度
が、FナンバFNが“1”に設定されたとき(システム
のサンプリング周波数(=50kHz)で波形データの
各波形サンプルを読み出すとき)の楽音再生に相当する
速度であるからである。
Here, one unit of the number of blocks transferred per second is set to 50 blocks when this transfer rate is set to F1 when the F number FN is set to "1" (the system sampling frequency (= (50 kHz) when reading each waveform sample of the waveform data).

【0052】また、転送速度TAとしては、上述のよう
に、最大“120”を採ることができる。これは、波形
メモリ10からのデータ転送速度が、本実施の形態では
6Mword/秒であることによる。したがって、キャ
ッシュメモリ11に転送すべき波形データが複数個ある
ときには、“120”を分配する必要がある。(すなわ
ち、各ロードに対して割り当てた転送速度TAの合計値
は“120”を超えない。)分配する方法としては、た
とえば次のような方法が考えられる。すなわち、 (1)発音時のロードに対して、音色切換時のロードよ
り、大きい整数値を優先的に割り当てる (2)発音時のロードに対しては、その波形データを使
用する発音チャンネルのFナンバFNに応じた整数値以
上の数を割り当てる (3)音色切換時のロードに対しては、120以下の任
意の整数値を割り当ててもよい(たとえば、他のロード
に割り当てた転送速度TAの合計が、“120”に到達
してしまった場合には、残りの音色切換時のロードに対
しては、転送速度TAを“0”としてもよい) ここで、上記(1)において、発音時のロードとは、今
まさに発音されようとしている楽音に対応する波形デー
タがキャッシュメモリ11上に記憶されていないとき
に、当該波形データを波形メモリ10から読み出してキ
ャッシュメモリ11にロードすることをいう。また、音
色切換時のロードとは、たとえば演奏データとして音色
切換を指示するデータが供給されたときに、その指示さ
れた音色で優先的に使用される(たとえば、最も頻繁に
使用される)波形データがキャッシュメモリ11上に記
憶されていない場合には、本実施の形態では、当該波形
データを波形メモリ10から読み出してキャッシュメモ
リ11にロードするが、このロードをいう。
As described above, the maximum transfer rate TA can be "120". This is because the data transfer speed from the waveform memory 10 is 6 Mword / sec in the present embodiment. Therefore, when there are a plurality of waveform data to be transferred to the cache memory 11, "120" must be distributed. (That is, the total value of the transfer speed TA assigned to each load does not exceed “120”.) As a distribution method, for example, the following method can be considered. That is, (1) a larger integer value is preferentially assigned to the load at the time of tone generation than to the load at the time of tone switching. (3) An arbitrary integer value of 120 or less may be allocated to the load at the time of tone color switching (for example, the transfer speed TA allocated to another load may be assigned to the load at the time of tone color switching). When the total reaches “120”, the transfer speed TA may be set to “0” for the remaining loads at the time of switching the tone color. When the waveform data corresponding to the musical tone that is about to be generated is not stored in the cache memory 11, the waveform data is read from the waveform memory 10 and loaded into the cache memory. It means to load the memory 11. The load at the time of tone color switching means that, for example, when data for instructing tone color switching is supplied as performance data, a waveform which is preferentially used (for example, most frequently used) by the designated tone color If the data is not stored in the cache memory 11, in the present embodiment, the waveform data is read from the waveform memory 10 and loaded into the cache memory 11, which means this loading.

【0053】また、上記(2)において、FナンバFN
に応じた整数値とは、たとえば、FナンバFNの小数点
を切り上げた値をいい、FN=1.5のときには“2”
である。転送速度TAとして、FナンバFNに応じた整
数値以上の整数値を設定するようにしたのは、転送速度
の1単位を、FナンバFN=1のときに必要な転送速度
を基準に設定したからであり、FナンバFNが“1”よ
り大きい値に設定されている場合には、それに見合った
転送速度で波形データをキャッシュメモリ11に転送し
ないと、読み出しアドレスの進み量が転送済みの波形サ
ンプルのアドレスを越えてしまうことがあり、このとき
には、楽音を再生できなくなってしまうからである。
In the above (2), the F number FN
Is, for example, a value obtained by rounding up the decimal point of the F number FN, and “2” when FN = 1.5.
It is. The reason why the transfer rate TA is set to an integer value equal to or greater than the integer value corresponding to the F number FN is that one unit of the transfer rate is set based on the transfer rate required when the F number FN = 1. If the F number FN is set to a value greater than "1", the waveform data must be transferred to the cache memory 11 at a transfer rate commensurate with the F number FN. This is because the address of the sample may be exceeded, and in this case, the musical tone cannot be reproduced.

【0054】さらに、上記(3)において、音色切換時
のロードに対する転送速度TAの設定値に、上記(2)
のような条件を設けなかったのは、音色切換の指示から
その音色で実際に楽音が生成されるまでの間に時間的な
余裕があるからである。
Further, in the above (3), the set value of the transfer speed TA for the load at the time of tone color switching is changed to the value of the above (2).
The reason for not providing such a condition is that there is a time margin between the instruction to switch the timbre and the actual generation of a musical tone in the timbre.

【0055】キャッシュ記憶位置仮想アドレスは、上述
のように、当該波形データのキャッシュメモリ11上の
記憶位置を仮想アドレスで表現したものであり、キャッ
シュメモリ11の実アドレス空間上で離散的に配置され
ている、当該波形データを構成する各ブロックを、仮想
アドレス空間上で連続的に再配置したものである。本実
施の形態では、このキャッシュ記憶位置仮想アドレスに
基づいて、当該波形データの各波形サンプルを読み出す
ようにしているので、位相発生部14は、単にFナンバ
FNを累算するだけで読み出しアドレスを発生させるこ
とができる。仮想アドレス空間上でのデータブロックの
再配置は、前記キャッシュ制御部12が自動的に行い、
この結果に基づいて、キャッシュ制御部12は、仮想ア
ドレスと実アドレスとを相互に変換するためにアドレス
変換部13内に設けられたアドレス変換テーブルを書き
換える。このキャッシュ制御部12が実行する制御処理
については、特開平6−35473号公報に詳細に示さ
れているので、その説明を省略する。この公報に記載さ
れたハードウェア的なアドレス変換を採用することによ
り、仮想アドレスによるキャッシュメモリ11へのアク
セスを時間遅れなく実行することができる。
As described above, the cache storage location virtual address is a representation of the storage location of the waveform data in the cache memory 11 as a virtual address, and is discretely arranged in the real address space of the cache memory 11. The blocks constituting the waveform data are successively rearranged in the virtual address space. In the present embodiment, each waveform sample of the waveform data is read based on the virtual address of the cache storage location. Therefore, the phase generation unit 14 simply adds up the F number FN and sets the read address. Can be generated. The relocation of the data block on the virtual address space is automatically performed by the cache control unit 12,
Based on the result, the cache control unit 12 rewrites an address conversion table provided in the address conversion unit 13 for converting between the virtual address and the real address. The control processing executed by the cache control unit 12 is described in detail in JP-A-6-35473, and a description thereof will be omitted. By employing the hardware address conversion described in this publication, access to the cache memory 11 by a virtual address can be executed without time delay.

【0056】以上のように構成された楽音生成装置が実
行する制御処理を、まずその概要を説明した後に、図4
〜図7を参照して詳細に説明する。
The control processing executed by the musical sound generating apparatus having the above-described configuration will be described first, and then an outline thereof will be described.
This will be described in detail with reference to FIGS.

【0057】本実施の形態の楽音生成装置は、主として
次の制御処理を行う。すなわち、 (1)発音が指示された波形データのキャッシュヒット
またはキャッシュミスを検出し、キャッシュヒットが検
出されたときには、キャッシュメモリ11上に保持され
ている波形データを用いて楽音を生成し、キャッシュミ
スが検出されたときには、発音指示に係る波形データを
波形メモリ10から読み出して、キャッシュメモリ11
に転送し、転送後の波形データを用いて楽音を生成する (2)音色切換が指示されたときに、その切換指示され
た音色で優先的に使用される波形データが、キャッシュ
メモリ11上に保持されているか否かを検出し、この波
形データがキャッシュメモリ11上に保持されていない
ときには、この波形データを波形メモリ10から読み出
して、キャッシュメモリ11に転送する (3)上記(1)および(2)における波形メモリ10
からキャッシュメモリ11への波形データの転送と、各
チャンネルの楽音生成をするための、キャッシュメモリ
11に保持されている波形データ(波形サンプル)の読
み出しとを非同期に行う (4)波形データのキャッシュメモリ11へのキャッシ
ングを1波形単位で行う(ただし、波形メモリ10から
の波形データの転送は、1波形単位で行う必要はなく、
本実施の形態では、複数に分割された波形を時分割で並
行して転送している。要するに、キャッシュヒットの判
定や、ヒットしなかった場合のロード指示等のキャッシ
ュ管理が、1つの波形の中の各サンプルあるいは複数サ
ンプル単位ではなく、各1つの波形を単位として行われ
るということである。また、キャッシュメモリ11上の
波形データの格納態様は、離散的であってもよいし、連
続的であってもよい。) (5)上記(1)におけるキャッシュミス時の転送、す
なわち波形メモリ10からキャッシュメモリ11への波
形データの転送を、楽音生成時の波形サンプルの読み出
し速度(アドレスの進み量)より速く行う 次に、上記各制御処理(1)〜(5)の詳細を説明す
る。
The tone generator of this embodiment mainly performs the following control processing. That is, (1) a cache hit or a cache miss of waveform data instructed to be sounded is detected, and when a cache hit is detected, a musical tone is generated using the waveform data held in the cache memory 11 and cached. When a miss is detected, the waveform data relating to the tone generation instruction is read out from the waveform memory 10 and is read from the cache memory 11.
(2) When tone switching is instructed, the waveform data that is preferentially used in the tone to be switched is stored in the cache memory 11. It is detected whether or not the waveform data is stored. If the waveform data is not stored in the cache memory 11, the waveform data is read from the waveform memory 10 and transferred to the cache memory 11. (3) The above (1) and Waveform memory 10 in (2)
Of the waveform data (waveform sample) held in the cache memory 11 for generating the musical sound of each channel is asynchronously executed. (4) Caching of the waveform data Caching to the memory 11 is performed in units of one waveform (however, the transfer of the waveform data from the waveform memory 10 does not need to be performed in units of one waveform.
In the present embodiment, a plurality of divided waveforms are transferred in parallel in a time-division manner. In short, cache management such as determination of a cache hit and a load instruction when no hit is performed is performed not for each sample or a plurality of samples in one waveform but for each one waveform. . Further, the manner of storing the waveform data on the cache memory 11 may be discrete or continuous. (5) The transfer at the time of a cache miss in the above (1), that is, the transfer of the waveform data from the waveform memory 10 to the cache memory 11 is performed faster than the reading speed of the waveform sample (the amount of address advance) at the time of generating the musical tone. Next, the details of the control processes (1) to (5) will be described.

【0058】図4は、本実施の形態の楽音生成装置、特
に前記CPU3が実行する音色切換イベント処理の手順
を示すフローチャートであり、上記制御処理(2)を実
現したものである。本処理は、演奏データとして音色切
換イベントが供給されたときに、起動される。
FIG. 4 is a flowchart showing a procedure of a tone switching event process executed by the tone generator according to the present embodiment, in particular, the CPU 3, which realizes the control process (2). This processing is started when a timbre switching event is supplied as performance data.

【0059】同図において、まず、音色切換イベントが
指示する新たな音色の音色番号(新音色番号)を取得し
て、RAM5の所定位置に確保された領域TC(以下、
この領域の内容を「音色TC」という)に格納する(ス
テップS1)。
In the figure, first, a timbre number (new timbre number) of a new timbre designated by a timbre switching event is obtained, and an area TC (hereinafter, referred to as a “secure”) secured at a predetermined position in the RAM 5 is acquired.
The contents of this area are stored in "tone color TC" (step S1).

【0060】次に、音色TCにおいて使用される各種波
形データ中、優先度に応じてキャッシュメモリ11にロ
ードする波形データの波形IDを決定する(ステップS
2)。
Next, the waveform ID of the waveform data to be loaded into the cache memory 11 is determined according to the priority among various waveform data used in the timbre TC (step S).
2).

【0061】そして、この決定された波形IDに対応す
る波形データがキャッシュメモリ11に新規にロードす
べきものであるか否かを判別する(ステップS3)。こ
こで、新規にロードすべきものであるか否かは、次のよ
うにして判別する。
Then, it is determined whether or not the waveform data corresponding to the determined waveform ID is to be newly loaded into the cache memory 11 (step S3). Here, whether or not a new load is to be performed is determined as follows.

【0062】すなわち、ステップS2で決定された波形
IDと同一の波形IDが、前記転送ステートTSが
“0”以外のC管理データ中にあるか否かをチェック
し、ないときに、その波形IDに対応する波形データを
新規にロードすべきものと判別する。
That is, it is checked whether or not the same waveform ID as the waveform ID determined in step S2 exists in the C management data whose transfer state TS is other than “0”. Is determined to be newly loaded.

【0063】ステップS3で、目的の波形データは、キ
ャッシュメモリ11に転送中または転送が完了してい
て、新規にロードすべき波形データがないときには、直
ちに本音色切換イベント処理を終了する一方、新規にロ
ードすべき波形データがあるときには、その波形データ
のキャッシュメモリ11へのロード指示を行うロード指
示処理サブルーチン(図6を用いて後述する)を実行し
た(ステップS4)後に、本音色切換イベント処理を終
了する。
In step S3, if the target waveform data is being transferred to the cache memory 11 or the transfer has been completed, and there is no waveform data to be newly loaded, the main tone color switching event process is immediately terminated, while If there is waveform data to be loaded into the cache memory 11, after executing a load instruction processing subroutine (to be described later with reference to FIG. 6) for instructing the loading of the waveform data into the cache memory 11 (step S4), the main tone switching event processing To end.

【0064】ここで、ロード指示処理サブルーチンは、
後述するように、転送速度TAに設定する値に応じて低
速ロード指示と高速ロード指示とを1つのサブルーチン
で切り換え可能なように構成されており、ステップS4
では、転送速度TAに「低速」に対応する値を設定する
ことにより低速ロード指示を行っている。これは、前述
のように、音色切換時は、ロードを速く行う必要はない
からである。
Here, the load instruction processing subroutine
As will be described later, the low-speed load instruction and the high-speed load instruction can be switched by one subroutine in accordance with the value set for the transfer speed TA.
In this example, a low-speed load instruction is issued by setting a value corresponding to "low speed" in the transfer speed TA. This is because, as described above, it is not necessary to perform the loading at a high speed when switching the timbre.

【0065】図5は、CPU3が実行するノートオンイ
ベント処理の手順を示すフローチャートであり、上記制
御処理(1)を実現したものである。本処理は、演奏デ
ータとしてノートオンイベントが供給されたときに、起
動される。
FIG. 5 is a flow chart showing the procedure of the note-on event process executed by the CPU 3, which realizes the control process (1). This process is started when a note-on event is supplied as performance data.

【0066】同図において、まず、供給されたノートオ
ンイベントからノートナンバおよび(&)ベロシティを
取得し、それぞれ、RAM5の所定位置に確保された領
域NN(以下、この領域の内容を「ノートナンバNN」
という)および領域VEL(以下、この領域の内容を
「ベロシティVEL」という)に格納する(ステップS
11)。
In the figure, first, a note number and (&) velocity are acquired from the supplied note-on event, and an area NN secured at a predetermined position in the RAM 5 (hereinafter, the contents of this area are referred to as “note number”). NN "
) And an area VEL (hereinafter, the contents of this area are referred to as “velocity VEL”) (step S).
11).

【0067】次に、ノートナンバNNおよび音色TC
(この音色TCは、ノートオンイベントが供給されると
きには既に設定されている)に対応した波形IDを検出
する(ステップS12)。
Next, note number NN and tone color TC
(This tone color TC is already set when the note-on event is supplied.) The waveform ID corresponding to the tone color TC is detected (step S12).

【0068】そして、この検出された波形IDの波形デ
ータがキャッシュメモリ11上にロードされているか否
かを判別する(ステップS13)。この判別は、前記ス
テップS3での判別と同様の方法によって行う。
Then, it is determined whether or not the waveform data of the detected waveform ID is loaded on the cache memory 11 (step S13). This determination is performed by the same method as the determination in step S3.

【0069】ステップS13で、目的の波形データがキ
ャッシュメモリ11上にロードされていないときには、
前記ステップS4と同様にして、ロード指示処理サブル
ーチン(ただし、高速ロード指示)を実行した(ステッ
プS14)後に、ステップS15に進む一方、目的の波
形データがキャッシュメモリ11上にロードされている
ときには、ステップS14をスキップしてステップS1
5に進む。
If the target waveform data is not loaded on the cache memory 11 at step S13,
After executing the load instruction processing subroutine (however, the high-speed load instruction) (step S14) in the same manner as in step S4, the process proceeds to step S15, and when the target waveform data is loaded on the cache memory 11, Skip step S14 and step S1
Go to 5.

【0070】ステップS15では、空きチャンネルを検
出して、そのチャンネルに発音割り当てを行う。
In step S15, a vacant channel is detected, and tone generation is assigned to that channel.

【0071】続くステップS16では、割り当てたチャ
ンネルに、音色TCおよびノートナンバNNに応じた各
種パラメータを設定する。具体的には、前記レジスタ9
の600ch分のchデータ格納領域中、割り当てチャ
ンネルに対応するchデータ領域に、前記FナンバF
N、波形ID、相対アドレス、DCF制御情報、EG制
御情報およびその他の情報を書き込む。
In a succeeding step S16, various parameters corresponding to the tone color TC and the note number NN are set to the assigned channel. Specifically, the register 9
In the ch data storage area for 600 ch of the above, the F number F is stored in the ch data area corresponding to the assigned channel.
N, waveform ID, relative address, DCF control information, EG control information, and other information are written.

【0072】そして、当該チャンネルに対してノートオ
ンを設定した(ステップS17)後に、本ノートオンイ
ベント処理を終了する。ここで、ノートオンの設定は、
上記ステップS16のchデータ領域中のノートオン/
オフデータをノートオン(“1”)に設定することによ
り行う。
After the note-on is set for the channel (step S17), the note-on event process ends. Here, note-on settings are
Note on / in the ch data area in step S16
This is performed by setting the off data to note-on ("1").

【0073】図6は、前記ステップS4およびS14の
ロード指示処理サブルーチンの詳細な手順を示すフロー
チャートである。本ロード指示処理によって、前記制御
処理(5)が実現される。
FIG. 6 is a flowchart showing a detailed procedure of the load instruction processing subroutine of steps S4 and S14. The control process (5) is realized by the load instruction process.

【0074】同図において、まず、レジスタ9の600
波形分のC管理データ格納領域中、転送ステートTSが
“0”の領域cwk(kは、1〜600のいずれかの整
数値)のうち最小のkを取得する(ステップS21)。
Referring to FIG.
In the C management data storage area for the waveform, the smallest k is obtained from the area cwk (k is an integer from 1 to 600) where the transfer state TS is “0” (step S21).

【0075】次に、決定(または検出)された波形ID
が示す波形データを記憶するためのキャッシュメモリ1
1上の領域を割り当てる(ステップS22)。この領域
割当は、たとえば、次のようにして行う。すなわち、 (1)キャッシュメモリ11に記憶されている複数個の
波形データを仮想アドレス上で前詰めする (2)その後に形成された空き領域中、波形IDが示す
波形データを書き込む領域を確保する (3)空き領域が足りない場合には、現在使用されてい
ない波形データが記憶されている領域を開放し、上記
(1)および(2)の処理を繰り返す。
Next, the determined (or detected) waveform ID
Memory 1 for storing the waveform data indicated by
One area is allocated (step S22). This area allocation is performed, for example, as follows. That is, (1) a plurality of waveform data stored in the cache memory 11 is stuffed up on a virtual address. (2) An area for writing the waveform data indicated by the waveform ID is secured in a vacant area formed thereafter. (3) If there is not enough free space, the area where the waveform data that is not currently used is stored is released, and the above processes (1) and (2) are repeated.

【0076】続くステップS23では、領域cwkに必
要なパラメータを設定する。具体的には、前記波形I
D、転送ステートTS、キャッシュ記憶位置仮想アドレ
ス、トータルサイズおよび波形メモリ記憶位置リニアア
ドレスを書き込む。
In a succeeding step S23, parameters necessary for the area cwk are set. Specifically, the waveform I
D, transfer state TS, cache storage location virtual address, total size, and waveform memory storage location linear address are written.

【0077】そして、同時にロードする波形データの優
先度に応じて、各波形データの転送速度TAを割り当て
(分配し)た(ステップS24)後に、本ロード指示処
理を終了する。ここで、分配は、前述した方法によって
行い、この分配された各転送速度TAは、当該領域cw
k中、対応する転送速度TA領域に書き込まれる。これ
により、前記音色切換イベント処理では、「低速」に相
当する転送速度が設定され、前記ノートオンイベント処
理では、「高速」に相当する転送速度が設定される。な
お、「低速」および「高速」は、音色切換イベント処理
およびノート御イベント処理での転送速度の相対的な表
現であって、分配の結果、ノートオンイベント処理での
転送に、より大きな速度が割り当てられるという意味で
ある。「低速」が設定された場合でも、他に転送が行わ
れていなければ、転送速度TAに“120”全てが割り
当てられる。
Then, after assigning (distributing) the transfer speed TA of each waveform data according to the priority of the waveform data to be loaded at the same time (step S24), the load instruction processing is terminated. Here, the distribution is performed by the above-described method, and each of the distributed transfer speeds TA corresponds to the area cw.
During k, data is written to the corresponding transfer speed TA area. Thus, in the tone color switching event process, a transfer speed corresponding to “low speed” is set, and in the note-on event process, a transfer speed corresponding to “high speed” is set. Note that “low speed” and “high speed” are relative expressions of the transfer speed in the tone switching event process and the note control event process. As a result of the distribution, a larger speed is used for the transfer in the note-on event process. It means that it can be assigned. Even if “low speed” is set, “120” is all assigned to the transfer speed TA unless another transfer is performed.

【0078】図7は、前記キャッシュ制御部12が実行
する転送処理の手順を示すフローチャートであり、前記
制御処理(3)および(4)を実現したものである。本
転送処理は、上記図6のロード指示処理サブルーチンに
よってロード指示が行われると、起動される。
FIG. 7 is a flowchart showing the procedure of the transfer process executed by the cache control unit 12, and realizes the control processes (3) and (4). This transfer processing is started when a load instruction is issued by the load instruction processing subroutine of FIG.

【0079】図7において、まず、ロードが指示(TS
=1)された領域cwk中、最小のk(初期値)を検出
し、RAM5の所定位置に確保された領域L(以下、こ
の内容を「インデックスL」という)に格納する(ステ
ップS31)。
In FIG. 7, first, load is instructed (TS
= 1), the smallest k (initial value) is detected in the area cwk, and stored in an area L (hereinafter, referred to as “index L”) secured at a predetermined position in the RAM 5 (step S31).

【0080】そして、インデックスLが示す領域cwL
内の転送速度TA(L)を取得して、RAM5の所定位
置に確保されたソフトウェアカウンタ領域CNT(以
下、この内容を「カウンタCNT」という)に格納する
(ステップS32)。
The area cwL indicated by the index L
Then, the transfer speed TA (L) is acquired and stored in a software counter area CNT (hereinafter, this content is referred to as “counter CNT”) secured at a predetermined position in the RAM 5 (step S32).

【0081】次に、インデックスLが示す領域cwL内
の波形ID(L)に対応する波形データを波形メモリ1
0から読み出して、前記ステップS22で割り当てられ
たキャッシュメモリ11上の領域に転送する(ステップ
S33)。この転送は、1または複数個のブロック分、
すなわち、50ブロック/秒の転送速度が得られるだけ
のブロック分行われる。
Next, the waveform data corresponding to the waveform ID (L) in the area cwL indicated by the index L is stored in the waveform memory 1.
The data is read from 0 and transferred to the area on the cache memory 11 allocated in the step S22 (step S33). This transfer is for one or more blocks,
In other words, the transfer is performed for blocks for which a transfer speed of 50 blocks / sec is obtained.

【0082】続くステップS34では、波形ID(L)
に対応する波形データの転送が完了したか否かを判別す
る。この判別は、領域cwL内の転送済みサイズとトー
タルサイズとを比較することによって行う。
In the following step S34, waveform ID (L)
It is determined whether the transfer of the waveform data corresponding to is completed. This determination is made by comparing the transferred size in the area cwL with the total size.

【0083】ステップS34で、波形ID(L)に対応
する波形データの転送がまだ完了していないときには、
カウンタCNTを“1”だけデクリメントした(ステッ
プS35)後に、カウンタCNTが“0”であるか否か
を判別する(ステップS36)。
In step S34, when the transfer of the waveform data corresponding to the waveform ID (L) has not been completed yet,
After decrementing the counter CNT by "1" (step S35), it is determined whether or not the counter CNT is "0" (step S36).

【0084】ステップS36で、CNT≠0のときに
は、転送すべき波形データのブロックがあるので、前記
ステップS33に戻って、1または複数個のブロックの
転送を繰り返す。
In step S36, when CNT ≠ 0, there are blocks of waveform data to be transferred, so the flow returns to step S33 to repeat the transfer of one or a plurality of blocks.

【0085】一方、ステップS34で、波形ID(L)
に対応する波形データの転送が完了したときには、領域
cwL内の転送ステートTS(L)に“2”を設定した
(ステップS37)後に、転送ステートTSが“1”の
領域cwkが他に存在するか否かを判別する(ステップ
S38)。
On the other hand, in step S34, the waveform ID (L)
Is completed, the transfer state TS (L) in the area cwL is set to "2" (step S37), and then another area cwk whose transfer state TS is "1" exists. It is determined whether or not this is the case (step S38).

【0086】ステップS38で、転送ステートTSが
“1”の領域cwkが他に存在しないときには、本転送
処理を終了する一方、転送ステートTSが“1”の領域
cwkが他に存在するときには、その領域cwk間で、
転送速度TAの再配分を行う(ステップS39)。再配
分は、たとえば、転送中の波形データ間でトリガ要因や
優先度を考慮して行う。そして、このようにして再配分
された転送速度TAを、対応する転送速度TA領域に書
き込む。
In step S38, when there is no other area cwk whose transfer state TS is "1", the present transfer processing is terminated. On the other hand, when there is another area cwk whose transfer state TS is "1", the process ends. Between the regions cwk,
The transfer rate TA is redistributed (step S39). The redistribution is performed, for example, in consideration of trigger factors and priorities between waveform data being transferred. Then, the transfer speed TA thus redistributed is written in the corresponding transfer speed TA area.

【0087】続くステップS40では、次に転送すべき
波形データを求めるために、転送ステートTSが“1”
の領域cwk中の、前列に転送処理した領域cwLの次
のk(ここで、次の“k”は、循環的に選択される。た
とえば、転送ステートTSが“1”の領域がk=2,
5,10,25のとき、cwLの“L”が“2”であれ
ば次の“k”は“5”であり、“L”が“25”であれ
ば、次の“k”は“2”である。)を取得して、インデ
ックスLに設定し、前記ステップS32と同様にして、
インデックスLが示す領域cwL内の転送速度TA
(L)を取得し、カウンタCNTに格納した(ステップ
S41)後に、前記ステップS33に戻る。
In the following step S40, the transfer state TS is set to "1" in order to obtain the next waveform data to be transferred.
In the area cwk, the next k (here, the next “k”) of the area cwL transferred to the previous row is cyclically selected. For example, the area where the transfer state TS is “1” is k = 2 ,
At 5, 10, 25, if “L” of cwL is “2”, the next “k” is “5”, and if “L” is “25”, the next “k” is “5”. 2 ". ) Is acquired and set to the index L, and in the same manner as in step S32,
Transfer speed TA in area cwL indicated by index L
After (L) is acquired and stored in the counter CNT (step S41), the process returns to the step S33.

【0088】一方、ステップS36で、CNT=0のと
きには、転送すべき波形データのブロックがないので、
上記ステップS40に進む。
On the other hand, when CNT = 0 in step S36, there is no block of the waveform data to be transferred.
The process proceeds to step S40.

【0089】このように、本実施の形態では、楽音を生
成するときには、キャッシュメモリに記憶された波形デ
ータのみを使用して高速に波形データを供給するように
したので、波形メモリのデータ転送速度の遅さに依存す
る発音チャンネル数の制限を解消することができる。
As described above, in the present embodiment, when generating a musical tone, the waveform data is supplied at a high speed using only the waveform data stored in the cache memory. The limitation of the number of sound channels depending on the delay of the sound can be eliminated.

【0090】キャッシュヒット時には、キャッシュメモ
リに保持された波形データを用いて楽音を生成するの
で、波形メモリからキャッシュメモリへの波形データの
転送を行う必要がない。
At the time of a cache hit, a tone is generated using the waveform data held in the cache memory, so that there is no need to transfer the waveform data from the waveform memory to the cache memory.

【0091】発音が指示された波形データのキャッシュ
ミス時には、他の要因でロードが指示された波形データ
より高い優先度でキャッシュメモリに転送されるととも
に、その転送速度の下限は、当該波形データのFナンバ
に応じて制御されるので、発音の途中にキャッシュメモ
リに読み出すべき波形サンプルが未転送という状態を解
消することができ、楽音を安定して再生することができ
る。
At the time of a cache miss of the waveform data instructed to generate sound, the waveform data is transferred to the cache memory at a higher priority than the waveform data instructed to be loaded due to other factors, and the lower limit of the transfer speed is determined by the waveform data. Since control is performed in accordance with the F number, a state in which waveform samples to be read out to the cache memory are not transferred during sound generation can be eliminated, and a tone can be stably reproduced.

【0092】波形サンプルの読み出しアドレスの進行
と、波形メモリからキャッシュメモリへの波形データの
転送とが非同期でなされるので、キャッシュメモリへの
波形データの転送方法が制限されず、たとえばブロック
転送やバースト転送等最も効率のよい転送方法を使用す
ることができる。
Since the advance of the read address of the waveform sample and the transfer of the waveform data from the waveform memory to the cache memory are performed asynchronously, the method of transferring the waveform data to the cache memory is not limited. The most efficient transfer method such as transfer can be used.

【0093】波形データのキャッシュメモリへのキャッ
シングは1波形単位で行われるので、すなわち、波形デ
ータを分割して、その一部のみをキャッシングするとい
う方法ではないので、そのデータ管理が簡単になる。
Since the caching of the waveform data into the cache memory is performed in units of one waveform, that is, it is not a method of dividing the waveform data and caching only a part of the data, so that the data management is simplified.

【0094】音色選択に応じて優先度の高い波形データ
を予めキャッシュメモリに記憶するようにしたので、初
めて使用する波形データについても効率よくキャッシュ
ヒットさせることができる。
Since high-priority waveform data is stored in the cache memory in advance in accordance with the tone color selection, the cache data can be efficiently hit for the first use of the waveform data.

【0095】なお、本実施の形態では、波形データを記
憶する記憶装置として波形メモリ(ROM)を使用した
が、これに限らず、ランダムアクセス可能なハードディ
スク装置やMD装置等を使用してもよい。この場合に
は、まず、全波形データの各先頭部のみをキャッシュメ
モリに記憶しておき、その後、使用される波形や必要な
波形を当該記憶装置から順次キャッシュメモリに転送す
るようにする。
In this embodiment, a waveform memory (ROM) is used as a storage device for storing waveform data. However, the present invention is not limited to this, and a hard disk device or an MD device that can be accessed randomly may be used. . In this case, first, only the respective leading portions of all the waveform data are stored in the cache memory, and thereafter, the used waveforms and necessary waveforms are sequentially transferred from the storage device to the cache memory.

【0096】また、本実施の形態では、音色選択時に優
先度の高い波形データをロードするようにしているが、
これに限らず、演奏音域やテンポ等の変化に応じて、そ
の後に使用されそうな波形データを予測し、この予測さ
れた波形データを予めロードするようにしてもよい。ま
たは、演奏者が今後使用したい波形データを、その使用
時点に先立って指定し、この指定された波形データを予
めロードするようにしてもよい。
In this embodiment, high-priority waveform data is loaded at the time of tone color selection.
However, the present invention is not limited to this. For example, waveform data likely to be used later may be predicted according to a change in the performance range or tempo, and the predicted waveform data may be loaded in advance. Alternatively, the performer may designate waveform data to be used in the future prior to the time of use, and load the designated waveform data in advance.

【0097】さらに、本実施の形態では、波形メモリか
ら読み出した波形データをキャッシュメモリに転送する
とき、その転送場所は空いている任意の場所として、い
わゆるフルアソシアティブ方式を採用したが、これに限
らず、ダイレクトマップ方式またはセットアソシアティ
ブ方式のいずれの方式を採用してもよい。
Further, in the present embodiment, when the waveform data read from the waveform memory is transferred to the cache memory, a so-called full associative system is adopted as an arbitrary free place, but the present invention is not limited to this. Instead, any of the direct map system and the set associative system may be adopted.

【0098】なお、上述した実施の形態の機能を実現す
るソフトウェアのプログラムコードを記録した記憶媒体
を、システムまたは装置に供給し、そのシステムまたは
装置のコンピュータ(またはCPU3やMPU)が記憶
媒体に格納されたプログラムコードを読出し実行するこ
とによっても、本発明の目的が達成されることは云うま
でもない。
The storage medium storing the program codes of the software for realizing the functions of the above-described embodiments is supplied to a system or an apparatus, and the computer (or CPU 3 or MPU) of the system or the apparatus stores the storage medium in the storage medium. Needless to say, the object of the present invention can be achieved by reading and executing the program code.

【0099】この場合、記憶媒体から読出されたプログ
ラムコード自体が本発明の新規な機能を実現することに
なり、そのプログラムコードを記憶した記憶媒体は本発
明を構成することになる。
In this case, the program code itself read from the storage medium realizes the novel function of the present invention, and the storage medium storing the program code constitutes the present invention.

【0100】プログラムコードを供給するための記憶媒
体としては、たとえば、フロッピーディスク、ハードデ
ィスク、光ディスク、光磁気ディスク、CD−ROM、
CD−R、磁気テープ、不揮発性のメモリカード、RO
M4などを用いることができる。また、他のMIDI機
器や通信ネットワークを介してサーバコンピュータから
プログラムコードが供給されるようにしてもよい。
As storage media for supplying the program code, for example, a floppy disk, hard disk, optical disk, magneto-optical disk, CD-ROM,
CD-R, magnetic tape, nonvolatile memory card, RO
M4 or the like can be used. Further, the program code may be supplied from a server computer via another MIDI device or a communication network.

【0101】また、コンピュータが読出したプログラム
コードを実行することにより、上述した実施の形態の機
能が実現されるだけでなく、そのプログラムコードの指
示に基づき、コンピュータ上で稼働しているOSなどが
実際の処理の一部または全部を行い、その処理によって
上述した実施の形態の機能が実現される場合も含まれる
ことは云うまでもない。
When the computer executes the readout program code, not only the functions of the above-described embodiment are realized, but also an OS or the like running on the computer operates based on the instruction of the program code. It goes without saying that a case where a part or all of the actual processing is performed and the functions of the above-described embodiments are realized by the processing is also included.

【0102】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張ボード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書込まれた後、そのプログラムコードの指示に
基づき、その機能拡張ボードや機能拡張ユニットに備わ
るCPU3などが実際の処理の一部または全部を行い、
その処理によって上述した実施の形態の機能が実現され
る場合も含まれることは云うまでもない。
Further, after the program code read from the storage medium is written into a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, based on the instruction of the program code, The CPU 3 provided in the function expansion board or the function expansion unit performs part or all of the actual processing,
It goes without saying that a case where the functions of the above-described embodiment are realized by the processing is also included.

【0103】[0103]

【発明の効果】以上説明したように、請求項1または5
に記載の発明によれば、読み出し指示に係る波形データ
が第2の記憶手段に記憶されているときには、その記憶
されている波形データに基づいて、また、読み出し指示
に係る波形データが第2の記憶手段に記憶されていない
ときには、その波形データを第1の記憶手段から読み出
して、第2の記憶手段に転送した後、その記憶されてい
る波形データに基づいて、楽音を生成するようにしたの
で、すなわち、楽音を生成するときには、データ転送速
度が高速の第2の記憶手段に記憶された波形データのみ
を使用して高速に波形データを供給するようにしたの
で、データ転送速度が低速の第1の記憶手段に依存する
発音チャンネル数の制限を解消することができる。
As described above, claim 1 or claim 5
According to the invention described in (1), when the waveform data according to the read instruction is stored in the second storage unit, the waveform data according to the read instruction is stored in the second storage unit based on the stored waveform data. When it is not stored in the storage means, the waveform data is read out from the first storage means, transferred to the second storage means, and then a tone is generated based on the stored waveform data. That is, when generating a musical tone, the waveform data is supplied at a high speed using only the waveform data stored in the second storage means having a high data transfer speed. The limitation on the number of sound channels depending on the first storage means can be eliminated.

【0104】また、第1の記憶手段から第2の記憶手段
への波形データの転送と、第2の記憶手段から読み出さ
れた波形データに基づく楽音の生成とが非同期で行われ
るので、第2の記憶手段への波形データの転送方法が制
限されず、たとえばブロック転送やバースト転送等最も
効率のよい転送方法を使用することができる。
Further, the transfer of the waveform data from the first storage means to the second storage means and the generation of the musical tone based on the waveform data read from the second storage means are performed asynchronously. The transfer method of the waveform data to the second storage means is not limited, and for example, the most efficient transfer method such as block transfer or burst transfer can be used.

【0105】請求項2に記載の発明によれば、読み出し
指示に係る波形データが波形データ単位で第2の記憶手
段に転送されるので、すなわち、波形データを分割し
て、その一部のみが第2の記憶手段に転送されるという
方法ではないので、そのデータ管理が簡単になる。
According to the second aspect of the invention, the waveform data according to the read instruction is transferred to the second storage means in units of waveform data, that is, the waveform data is divided and only a part thereof is divided. Since the data is not transferred to the second storage means, the data management is simplified.

【0106】請求項3または6に記載の発明によれば、
音色切換が指示されたときに、該指示された音色におい
て優先的に用いられる波形データが第2の記憶手段に記
憶されていないときには、該波形データが第1の記憶手
段から読み出されて、前記第2の記憶手段に転送される
ので、初めて使用する波形データについても効率よくキ
ャッシュヒットさせることができる。
According to the third or sixth aspect of the present invention,
When the tone color switching is instructed, when the waveform data preferentially used in the instructed tone color is not stored in the second storage means, the waveform data is read out from the first storage means, Since the waveform data is transferred to the second storage unit, the waveform data used for the first time can be efficiently cache hit.

【0107】請求項4または7に記載の発明によれば、
発音指示に係る波形データが第2の記憶手段に記憶され
ていないときの波形データの各波形サンプルの転送速度
を、第2の記憶手段から読み出された波形サンプルに基
づく楽音生成時の各波形サンプルの読み出し速度より高
速にしたので、発音の途中に第2の記憶手段に読み出す
べき波形サンプルが未転送という状態を解消することが
でき、楽音を安定して再生することができる。
According to the invention described in claim 4 or 7,
The transfer rate of each waveform sample of the waveform data when the waveform data relating to the sounding instruction is not stored in the second storage means is set to the value of each waveform at the time of generating a musical tone based on the waveform sample read from the second storage means. Since the speed is higher than the sample reading speed, it is possible to eliminate a state in which the waveform sample to be read to the second storage means is not transferred during the sound generation, and to stably reproduce the musical sound.

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

【図1】本発明の一実施の形態に係る楽音生成装置の概
略構成を示すブロック図である。
FIG. 1 is a block diagram showing a schematic configuration of a musical sound generation device according to an embodiment of the present invention.

【図2】図1のレジスタに格納されるchデータのデー
タフォーマットを示す図である。
FIG. 2 is a diagram showing a data format of ch data stored in a register of FIG. 1;

【図3】図1のレジスタに格納されるC管理データのデ
ータフォーマットを示す図である。
FIG. 3 is a diagram showing a data format of C management data stored in a register of FIG. 1;

【図4】図1の楽音生成装置、特にCPUが実行する音
色切換イベント処理の手順を示すフローチャートであ
る。
FIG. 4 is a flowchart showing a procedure of a tone color switching event process executed by the musical tone generating device of FIG. 1, in particular, a CPU;

【図5】図1のCPUが実行するノートオンイベント処
理の手順を示すフローチャートである。
FIG. 5 is a flowchart illustrating a procedure of a note-on event process executed by the CPU of FIG. 1;

【図6】図4または図5のロード指示処理サブルーチン
の詳細な手順を示すフローチャートである。
FIG. 6 is a flowchart showing a detailed procedure of a load instruction processing subroutine of FIG. 4 or 5;

【図7】図1のキャッシュ制御部が実行する転送処理の
手順を示すフローチャートである。
FIG. 7 is a flowchart illustrating a procedure of a transfer process executed by the cache control unit in FIG. 1;

【符号の説明】[Explanation of symbols]

3 CPU(判別手段、転送手段、音色切換指示手段) 10 波形メモリ(第1の記憶手段) 11 キャッシュメモリ(第2の記憶手段) 12 キャッシュ制御部(転送手段、楽音生成手段) 13 アドレス変換部(転送手段、楽音生成手段) 15 DSP(楽音生成手段) 3 CPU (determination means, transfer means, tone color switching instruction means) 10 waveform memory (first storage means) 11 cache memory (second storage means) 12 cache control unit (transfer means, tone generation means) 13 address conversion unit (Transfer means, musical sound generating means) 15 DSP (musical sound generating means)

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 複数の波形データを記憶する、データ転
送速度が低速の第1の記憶手段と、 データ転送速度が高速の第2の記憶手段と、 読み出し指示に係る波形データが前記第2の記憶手段に
記憶されているか否かを判別する判別手段と、 該判別手段による判別の結果、前記読み出し指示に係る
波形データが前記第2の記憶手段に記憶されていないと
きには、前記読み出し指示に応じて、該読み出し指示に
係る波形データを前記第1の記憶手段から読み出し、前
記第2の記憶手段に転送する転送手段と、 前記第2の記憶手段からその記憶された波形データを読
み出し、該読み出された波形データに基づいて楽音を生
成する楽音生成手段とを有し、 前記転送手段による波形データの転送と前記楽音生成手
段による楽音の生成とは非同期に行われることを特徴と
する楽音生成装置。
A first storage unit that stores a plurality of waveform data and has a low data transfer speed; a second storage unit that has a high data transfer speed; and the second storage unit that stores a plurality of waveform data. Determining means for determining whether or not the data is stored in the storage means; and as a result of the determination by the determining means, when the waveform data relating to the read instruction is not stored in the second storage means, Transfer means for reading the waveform data according to the read instruction from the first storage means and transferring the read waveform data to the second storage means; and reading the stored waveform data from the second storage means. And a tone generating means for generating a tone based on the output waveform data. The transfer of the waveform data by the transfer means and the tone generation by the tone generating means are performed asynchronously. Tone generation apparatus according to claim Rukoto.
【請求項2】 前記転送手段は、前記読み出し指示に係
る波形データを波形データ単位で前記第2の記憶手段に
転送することを特徴とする請求項1に記載の楽音生成装
置。
2. The tone generating apparatus according to claim 1, wherein the transfer unit transfers the waveform data according to the read instruction to the second storage unit in units of waveform data.
【請求項3】 複数の波形データを記憶する、データ転
送速度が低速の第1の記憶手段と、 データ転送速度が高速の第2の記憶手段と、 音色切換を指示する音色切換指示手段と、 該音色切換指示手段により音色切換が指示されたとき
に、該指示された音色において優先的に用いられる波形
データが前記第2の記憶手段に記憶されているか否かを
判別する判別手段と、 該判別手段による判別の結果、前記優先的に用いられる
波形データが前記第2の記憶手段に記憶されていないと
きには、該波形データを前記第1の記憶手段から読み出
して、前記第2の記憶手段に転送する転送手段と、 前記第2の記憶手段からその記憶された波形データを読
み出し、該読み出された波形データに基づいて楽音を生
成する楽音生成手段とを有することを特徴とする楽音生
成装置。
3. A first storage means for storing a plurality of waveform data and having a low data transfer rate, a second storage means having a high data transfer rate, a tone color switching instruction means for instructing a tone color switching, Discriminating means for discriminating whether or not waveform data preferentially used for the designated tone color is stored in the second storage means when tone color switching is instructed by the tone color switching instruction means; As a result of the discrimination by the discriminating means, when the preferentially used waveform data is not stored in the second storage means, the waveform data is read out from the first storage means, and is read out to the second storage means. Transfer means for transferring, and tone generation means for reading the stored waveform data from the second storage means and generating a tone based on the read waveform data. That tone generation apparatus.
【請求項4】 複数の波形サンプルからなる波形データ
を複数個記憶する、データ転送速度が低速の第1の記憶
手段と、 データ転送速度が高速の第2の記憶手段と、 発音指示に係る波形データが前記第2の記憶手段に記憶
されているか否かを判別する判別手段と、 該判別手段による判別の結果、前記発音指示に係る波形
データが前記第2の記憶手段に記憶されていないときに
は、前記発音指示に応じて、該発音指示に係る波形デー
タの各波形サンプルを前記第1の記憶手段から読み出
し、前記第2の記憶手段に転送する転送手段と、 前記発音指示に応じて、前記第2の記憶手段から該発音
指示に係る波形データの波形サンプルを順次読み出し、
該読み出された波形サンプルに基づいて楽音を生成する
楽音生成手段とを有し、 前記転送手段による波形データの各波形サンプルの転送
速度を、前記楽音生成手段による各波形サンプルの読み
出し速度より高速にしたことを特徴とする楽音生成装
置。
4. A first storage means having a low data transfer rate for storing a plurality of waveform data comprising a plurality of waveform samples; a second storage means having a high data transfer rate; Discriminating means for discriminating whether data is stored in the second storage means, and as a result of the discrimination by the discriminating means, when waveform data relating to the sounding instruction is not stored in the second storage means A transfer unit that reads, from the first storage unit, each waveform sample of the waveform data according to the sounding instruction in accordance with the sounding instruction, and transfers the waveform sample to the second storage unit; Sequentially reading the waveform samples of the waveform data according to the sounding instruction from the second storage means;
Tone generating means for generating a musical tone based on the read waveform sample, wherein a transfer speed of each waveform sample of the waveform data by the transfer means is higher than a reading speed of each waveform sample by the musical sound generating means. A musical sound generation device characterized by the following.
【請求項5】 読み出し指示に係る波形データが、デー
タ転送速度が高速の第2の記憶手段に記憶されているか
否かを判別する判別モジュールと、 該判別モジュールによる判別の結果、前記読み出し指示
に係る波形データが前記第2の記憶手段に記憶されてい
ないときには、前記読み出し指示に応じて、該読み出し
指示に係る波形データを、複数の波形データが記憶され
ている、データ転送速度が低速の第1の記憶手段から読
み出し、前記第2の記憶手段に転送する転送モジュール
と、 前記第2の記憶手段からその記憶された波形データを読
み出し、該読み出された波形データに基づいて楽音を生
成する楽音生成モジュールとを含み、 前記転送モジュールによる波形データの転送と前記楽音
生成モジュールによる楽音の生成とは非同期に行われる
ことを特徴とする、コンピュータが実現できるプログラ
ムを格納した記憶媒体。
5. A discriminating module for discriminating whether or not waveform data according to a read instruction is stored in a second storage unit having a high data transfer rate, and as a result of the discrimination by the discriminating module, the discriminating module determines whether or not the read command is received. When such waveform data is not stored in the second storage means, in response to the read instruction, the waveform data according to the read instruction is replaced with a plurality of waveform data stored at a low data transfer speed. A transfer module that reads from the first storage means and transfers the read waveform data to the second storage means; and reads the stored waveform data from the second storage means, and generates a musical tone based on the read waveform data. A transfer of waveform data by the transfer module and generation of a tone by the tone generation module are performed asynchronously. A storage medium storing a computer-implementable program, characterized by being stored in a storage medium.
【請求項6】 音色切換を指示する音色切換指示モジュ
ールと、 該音色切換指示モジュールにより音色切換が指示された
ときに、該指示された音色において優先的に用いられる
波形データが、データ転送速度が高速の第2の記憶手段
に記憶されているか否かを判別する判別モジュールと、 該判別モジュールによる判別の結果、前記優先的に用い
られる波形データが前記第2の記憶手段に記憶されてい
ないときには、該波形データを、複数の波形データが記
憶されている、データ転送速度が低速の第1の記憶手段
から読み出して、前記第2の記憶手段に転送する転送モ
ジュールと、 前記第2の記憶手段からその記憶された波形データを読
み出し、該読み出された波形データに基づいて楽音を生
成する楽音生成モジュールとを含む、コンピュータが実
現できるプログラムを格納した記憶媒体。
6. A timbre switching instruction module for instructing timbre switching, and waveform data preferentially used in the designated timbre when timbre switching is instructed by the timbre switching instruction module, has a data transfer rate of A discrimination module for discriminating whether or not the waveform data is stored in the high-speed second storage means; and as a result of the discrimination by the discrimination module, when the preferentially used waveform data is not stored in the second storage means. A transfer module that reads out the waveform data from a first storage unit that stores a plurality of waveform data and has a low data transfer rate and transfers the read data to the second storage unit; and a second storage unit. And a tone generation module for reading the stored waveform data from the CPU and generating a tone based on the read waveform data. A storage medium that stores a program that can be realized.
【請求項7】 発音指示に係る波形データが、データ転
送速度が高速の第2の記憶手段に記憶されているか否か
を判別する判別モジュールと、 該判別モジュールによる判別の結果、前記発音指示に係
る波形データが前記第2の記憶手段に記憶されていない
ときには、前記発音指示に応じて、該発音指示に係る波
形データの各波形サンプルを、複数の波形サンプルから
なる波形データが複数個記憶されている、データ転送速
度が低速の第1の記憶手段から読み出し、前記第2の記
憶手段に転送する転送モジュールと、 前記発音指示に応じて、前記第2の記憶手段から該発音
指示に係る波形データの波形サンプルを順次読み出し、
該読み出された波形サンプルに基づいて楽音を生成する
楽音生成モジュールとを含み、 前記転送モジュールによる波形データの各波形サンプル
の転送速度を、前記楽音生成モジュールによる各波形サ
ンプルの読み出し速度より高速にしたことを特徴とす
る、コンピュータが実現できるプログラムを格納した記
憶媒体。
7. A discriminating module for discriminating whether or not waveform data relating to a sounding instruction is stored in a second storage means having a high data transfer speed, and as a result of the discrimination by the discriminating module, the discriminating module outputs When such waveform data is not stored in the second storage means, in response to the sounding instruction, each waveform sample of the waveform data according to the sounding instruction is stored as a plurality of waveform data including a plurality of waveform samples. A transfer module for reading from the first storage means having a low data transfer rate and transferring the read data to the second storage means, and a waveform relating to the sound generation instruction from the second storage means in response to the sound generation instruction. Read data waveform samples sequentially,
A tone generation module that generates a tone based on the read waveform sample, wherein the transfer rate of each waveform sample of the waveform data by the transfer module is higher than the read rate of each waveform sample by the tone generation module. A storage medium storing a program that can be realized by a computer, characterized in that:
JP07952399A 1999-03-24 1999-03-24 Music generator Expired - Fee Related JP3541718B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07952399A JP3541718B2 (en) 1999-03-24 1999-03-24 Music generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07952399A JP3541718B2 (en) 1999-03-24 1999-03-24 Music generator

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004026140A Division JP3918817B2 (en) 2004-02-02 2004-02-02 Music generator

Publications (2)

Publication Number Publication Date
JP2000276172A true JP2000276172A (en) 2000-10-06
JP3541718B2 JP3541718B2 (en) 2004-07-14

Family

ID=13692356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07952399A Expired - Fee Related JP3541718B2 (en) 1999-03-24 1999-03-24 Music generator

Country Status (1)

Country Link
JP (1) JP3541718B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002097789A1 (en) * 2001-05-25 2002-12-05 Yamaha Corporation Musical sound reproducer and mobile terminal
JP2008015315A (en) * 2006-07-07 2008-01-24 Casio Comput Co Ltd Musical sound generating apparatus and musical sound generating program
JP2010522360A (en) * 2007-03-22 2010-07-01 クゥアルコム・インコーポレイテッド Waveform fetch device for processing audio files
JP2017054076A (en) * 2015-09-11 2017-03-16 カシオ計算機株式会社 Waveform writing device, method, program, and electronic musical instrument
JP2017053898A (en) * 2015-09-07 2017-03-16 カシオ計算機株式会社 Waveform writing device, method, program, and electronic musical instrument
US10373595B2 (en) 2017-03-23 2019-08-06 Casio Computer Co., Ltd. Musical sound generation device
JP2019168644A (en) * 2018-03-26 2019-10-03 カシオ計算機株式会社 Electronic musical instrument, and control method and control program for electronic musical instrument
US10475425B2 (en) 2017-03-23 2019-11-12 Casio Computer Co., Ltd. Musical sound generation device

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002097789A1 (en) * 2001-05-25 2002-12-05 Yamaha Corporation Musical sound reproducer and mobile terminal
US7235733B2 (en) 2001-05-25 2007-06-26 Yamaha Corporation Musical tone reproducing apparatus and portable terminal apparatus
CN1535458B (en) * 2001-05-25 2010-05-05 雅马哈株式会社 Musical sound reproducer and portable terminal apparatus and method for controlling musical sound reproducer
JP2008015315A (en) * 2006-07-07 2008-01-24 Casio Comput Co Ltd Musical sound generating apparatus and musical sound generating program
JP2010522360A (en) * 2007-03-22 2010-07-01 クゥアルコム・インコーポレイテッド Waveform fetch device for processing audio files
JP2017053898A (en) * 2015-09-07 2017-03-16 カシオ計算機株式会社 Waveform writing device, method, program, and electronic musical instrument
JP2017054076A (en) * 2015-09-11 2017-03-16 カシオ計算機株式会社 Waveform writing device, method, program, and electronic musical instrument
US10373595B2 (en) 2017-03-23 2019-08-06 Casio Computer Co., Ltd. Musical sound generation device
US10475425B2 (en) 2017-03-23 2019-11-12 Casio Computer Co., Ltd. Musical sound generation device
JP2019168644A (en) * 2018-03-26 2019-10-03 カシオ計算機株式会社 Electronic musical instrument, and control method and control program for electronic musical instrument
JP7130185B2 (en) 2018-03-26 2022-09-05 カシオ計算機株式会社 Electronic musical instrument, electronic musical instrument control method and control program

Also Published As

Publication number Publication date
JP3541718B2 (en) 2004-07-14

Similar Documents

Publication Publication Date Title
JP2671747B2 (en) Musical tone forming device
US5831193A (en) Method and device for forming a tone waveform by combined use of different waveform sample forming resolutions
JP2001092453A (en) Re-mixing device and storage medium
US5804749A (en) Sound source chip having variable clock to optimize external memory access
KR100386403B1 (en) How to generate music using hardware and software sources
US6473847B1 (en) Memory management method for use in computer system
JP3541718B2 (en) Music generator
JP3918817B2 (en) Music generator
US5714704A (en) Musical tone-generating method and apparatus and waveform-storing method and apparatus
US5892170A (en) Musical tone generation apparatus using high-speed bus for data transfer in waveform memory
KR101120968B1 (en) Musical instrument digital interface hardware instruction set
JP2901143B2 (en) Music generator
JP2001109470A (en) Automatic performance device and automatic performance method
JP3000894B2 (en) Musical tone generation method
JP3301350B2 (en) Tone generator
JP3003559B2 (en) Music generation method
JP3603638B2 (en) Musical tone generation method
JP3603849B2 (en) Musical tone generation method
JP5839156B2 (en) Music signal generator
JP3740717B2 (en) Tone generator and musical sound generation method
JP3632744B2 (en) Sound generation method
JP2641851B2 (en) Automatic performance device
JP2562261B2 (en) Electronic musical instrument assigner
JP3460524B2 (en) Music data processing method, processed music data reproduction method, and storage medium
JP3275678B2 (en) Musical sound generating method and apparatus

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040309

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040322

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090409

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090409

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100409

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110409

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120409

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140409

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees