JP2004177981A - Musical sound generating device - Google Patents
Musical sound generating device Download PDFInfo
- Publication number
- JP2004177981A JP2004177981A JP2004026140A JP2004026140A JP2004177981A JP 2004177981 A JP2004177981 A JP 2004177981A JP 2004026140 A JP2004026140 A JP 2004026140A JP 2004026140 A JP2004026140 A JP 2004026140A JP 2004177981 A JP2004177981 A JP 2004177981A
- Authority
- JP
- Japan
- Prior art keywords
- waveform data
- waveform
- transfer
- storage means
- data
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
Description
本発明は、データ転送速度が低速の記憶装置に記憶された波形データに基づいて、該記憶装置のデータ転送速度に依存して制限されるチャンネル数より多いチャンネル数の楽音を生成する楽音生成装置に関する。 The present invention relates to a musical sound generating apparatus for generating musical sounds having more channels than the number of channels limited depending on the data transfer speed of a storage device based on waveform data stored in a storage device having a low data transfer speed. About.
従来、データ転送速度が低速の記憶装置(波形メモリ(ROM)を含む)に記憶された波形データに基づいて楽音を生成する楽音生成装置として、次のものが知られている。すなわち、
(1)波形メモリから読み出された波形サンプルを補間することにより、目的の楽音波形を生成する楽音生成装置において、補間に用いる読み出し波形サンプルをキャッシュメモリに記憶し、このキャッシングされた波形サンプルに基づいて楽音波形を生成するもの
(2)データ転送速度が低速の記憶装置であるハードディスクに記憶された波形データを、低容量かつデータ転送速度が高速のRAMにロードし、このロードされた波形データに基づいて楽音を生成する楽音生成装置
等である。
2. Description of the Related Art Conventionally, the following are known as tone generators that generate a tone based on waveform data stored in a storage device (including a waveform memory (ROM)) having a low data transfer rate. That is,
(1) By interpolating the waveform samples read from the waveform memory, in the musical sound generating device that generates the target musical sound waveform, the read waveform samples used for interpolation are stored in the cache memory, and the cached waveform samples are stored in the cached waveform samples. (2) Load 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 load the waveform data A musical sound generating device that generates musical sounds based on the above.
しかし、上記従来の楽音生成装置のうち(1)では、生成すべき楽音波形が進行し、この楽音波形を補間生成するための波形サンプルがキャッシュメモリに保持されていないときには、その波形サンプルを波形メモリから読み出さなければならないので、結局、生成される楽音波形のチャンネル数は波形メモリのデータ転送速度に依存することになる。 However, in the above-described conventional musical tone generator (1), when a musical sound waveform to be generated advances and a waveform sample for interpolating and generating this musical sound waveform is not held in the cache memory, the waveform sample is converted into a waveform. Since the data must be read from the memory, the number of musical sound waveform channels to be generated eventually depends on the data transfer rate of the waveform memory.
また、上記従来の楽音生成装置のうち(2)では、発音が指示されたときに、その発音指示された楽音に対応する波形データがRAM上にロードされていない場合には、その楽音を生成できなかった。 Also, in the above-mentioned conventional musical tone generating device (2), when the tone generation is instructed, if the waveform data corresponding to the instructed tone is not loaded on the RAM, the tone is generated. could not.
本発明は、この点に着目してなされたものであり、データ転送速度が低速の記憶装置に記憶された波形データに基づいて、該記憶装置のデータ転送速度に依存して制限されるチャンネル数より多いチャンネル数の楽音を生成することが可能な楽音生成装置を提供することを目的とする。 The present invention has been made paying attention to this point, and based on waveform data stored in a storage device having a low data transfer rate, the number of channels limited depending on the data transfer rate of the storage device. An object of the present invention is to provide a musical sound generating apparatus capable of generating musical sounds with a larger number of channels.
上記目的を達成するため、請求項1に記載の楽音生成装置は、それぞれ波形IDの付与された複数の波形データを記憶する、所定のデータ転送速度を有する第1の記憶手段と、データ転送速度が前記第1の記憶手段より高速の第2の記憶手段と、前記第2の記憶手段に記憶されている波形データの波形IDを記憶する第3の記憶手段と、複数の波形データを同時に読み出すように指示する読み出し指示を入力する入力手段と、該入力手段によって入力された読み出し指示に係る各波形データが前記第2の記憶手段に記憶されているか否かを、当該読み出し指示に係る波形データの波形IDと前記第3の記憶手段に記憶された波形IDとに基づいて判別する第1の判別手段と、該第1の判別手段による判別の結果、当該読み出し指示に係る波形データが前記第2の記憶手段に記憶されていないと判別されたときには、前記読み出し指示に応じて、該読み出し指示に係る波形データを前記第1の記憶手段から読み出して前記第2の記憶手段に転送するとともに、該転送された波形データの波形IDを前記第3の記憶手段に記憶させる第1の転送手段と、前記入力された読み出し指示に応じて、前記第2の記憶手段からその読み出し指示に係る複数の波形データを読み出し、該読み出された複数の波形データに基づいて複数の楽音を同時に生成する楽音生成手段とを有し、前記第1の転送手段による波形データの転送と前記楽音生成手段による波形データの読み出しとは並行して実行可能であることを特徴とする。
In order to achieve the above object, a musical sound generating apparatus according to
ここで、第1の記憶手段は、典型的には、波形メモリ(ROM)であるが、これに限らず、ハードディスクやMD等、データ転送速度が低速の記憶手段であればどのようなものであってもよい。第2の記憶手段は、典型的には、キャッシュメモリであるが、これに限らず、データ転送速度が高速であれば、RAMであってもよい。以上は、請求項が変わっても同様である。 Here, the first storage means is typically a waveform memory (ROM). However, the first storage means is not limited to this, and any storage means having a low data transfer speed, such as a hard disk or an MD, may be used. There may be. 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 rate is high. The above is the same even if the claims change.
好ましくは、前記第1の転送手段による波形データの転送と前記楽音生成手段による波形データの読み出しとは相互に非同期で進行し、前記第1の転送手段は、波形データの転送を、ブロック転送およびバースト転送を含む高効率の転送方法で行うことを特徴とする
。
Preferably, the transfer of the waveform data by the first transfer means and the reading of the waveform data by the tone generation means proceed asynchronously with each other, and the first transfer means performs transfer of the waveform data by block transfer and It is characterized in that it is performed by a highly efficient transfer method including burst transfer.
また、好ましくは、前記第1の転送手段が波形データを前記第2の記憶手段に転送するのに先立ち、当該波形データを記憶するだけの十分な空き領域が前記第2の記憶手段にあるか否かを判別する第2の判別手段と、該第2の判別手段によって十分な空き領域がないと判別されたときには、前記第2の記憶手段に既に記憶されている波形データのうち、少なくとも1つの波形データを消去して、当該波形データを記憶するのに必要な空き領域を確保するとともに、前記消去された波形データの波形IDを前記第3の記憶手段から消去する消去手段とをさらに有することを特徴とする。 Preferably, before the first transfer means transfers the waveform data to the second storage means, the second storage means has sufficient free space for storing the waveform data. A second discriminating unit for discriminating whether or not there is a sufficient free area by the second discriminating unit, and at least one of the waveform data already stored in the second storage unit Erasing means for erasing one waveform data to secure a free space necessary for storing the waveform data, and erasing the waveform ID of the erased waveform data from the third storage means It is characterized by that.
さらに好ましくは、前記第1の転送手段は、前記第1の記憶手段の前記データ転送速度による制限内で、前記第1の記憶手段から前記第2の記憶手段へ、複数の波形データを並行して転送することが可能であることを特徴とする。 More preferably, the first transfer means sends a plurality of waveform data in parallel from the first storage means to the second storage means within the limitation of the data transfer speed of the first storage means. It is possible to transfer it.
また、さらに好ましくは、前記読み出し指示には、当該読み出し指示に係る各波形データの読み出し速度を指定する速度指定情報が含まれており、前記楽音生成手段は、当該波形データを、対応する速度指定情報によって指定された読み出し速度で読み出して楽音を生成し、前記第1の転送手段は、転送する各波形データ毎に、対応する速度指定情報に基づいてその転送速度を制御することを特徴とする。 Further preferably, the readout instruction includes speed designation information for designating a readout speed of each waveform data related to the readout instruction, and the tone generation unit is configured to specify the waveform data as a corresponding speed designation. Reading is performed at a reading speed designated by the information to generate a musical tone, and the first transfer means controls the transfer speed for each waveform data to be transferred based on the corresponding speed designation information. .
また、好ましくは、前記第1の転送手段による波形データの転送と前記楽音生成手段による波形データの読み出しとは相互に非同期で進行し、前記第1の転送手段は、前記第1の記憶手段の前記データ転送速度による制限内で、前記第1の記憶手段から前記第2の記憶手段へ、複数の波形データを並行して、それぞれ異なる速度で転送することが可能であることを特徴とする。 Preferably, the transfer of the waveform data by the first transfer means and the reading of the waveform data by the tone generation means proceed asynchronously with each other, and the first transfer means is the first storage means. A plurality of waveform data can be transferred in parallel from the first storage means to the second storage means at different speeds within the limitation by the data transfer speed.
さらに好ましくは、音色切換を指示する音色切換指示手段と、該音色切換指示手段により音色切換が指示されたときに、該指示された音色において優先的に用いられる波形データが前記第2の記憶手段に記憶されているか否かを、前記優先的に用いられる波形データの波形IDと前記第3の記憶手段に記憶された波形IDとに基づいて判別する第3の判別手段と、該第3の判別手段による判別の結果、前記優先的に用いられる波形データが前記第2の記憶手段に記憶されていないときには、該波形データを波形データ単位で前記第1の記憶手段から読み出して前記第2の記憶手段に転送とともに、該転送された波形データの波形IDを前記第3の記憶手段に記憶させる第2の転送手段とをさらに有することを特徴とする。 More preferably, timbre switching instructing means for instructing timbre switching, and waveform data that is preferentially used in the instructed timbre when the timbre switching is instructed by the timbre switching instructing means. A third discriminating means for discriminating whether or not the data is stored on the basis of the waveform ID of the waveform data used preferentially and the waveform ID stored in the third storage means; When the waveform data used preferentially is not stored in the second storage means as a result of the determination by the determination means, the waveform data is read from the first storage means in units of waveform data, and the second data is read out. In addition to the transfer to the storage means, there is further provided a second transfer means for storing the waveform ID of the transferred waveform data in the third storage means.
請求項1に記載の発明によれば、読み出し指示に係る波形データが第2の記憶手段に記憶されているときには、その記憶されている波形データに基づいて、また、読み出し指示に係る波形データが第2の記憶手段に記憶されていないときには、その波形データを第1の記憶手段から読み出して、第2の記憶手段に転送した後、その記憶されている波形データに基づいて、楽音を生成するようにしたので、すなわち、楽音を生成するときには、データ転送速度が高速の第2の記憶手段に記憶された波形データのみを使用して高速に波形データを供給するようにしたので、データ転送速度が低速の第1の記憶手段に依存する発音チャンネル数の制限を解消することができる。 According to the first aspect of the present invention, when the waveform data related to the read instruction is stored in the second storage means, the waveform data related to the read instruction is stored based on the stored waveform data. When not stored in the second storage means, the waveform data is read from the first storage means, transferred to the second storage means, and then a musical tone is generated based on the stored waveform data. In other words, when generating a musical tone, the waveform data is supplied at high speed using only the waveform data stored in the second storage means having a high data transfer speed. However, the limitation on the number of tone generation channels depending on the low-speed first storage means can be eliminated.
また、第1の記憶手段から第2の記憶手段への波形データの転送と、第2の記憶手段から読み出された波形データに基づく楽音の生成とが非同期で行われるので、第2の記憶手段への波形データの転送方法が制限されず、たとえばブロック転送やバースト転送等最も効率のよい転送方法を使用することができる。 Further, since the transfer of the waveform data from the first storage means to the second storage means and the generation of the musical sound based on the waveform data read from the second storage means are performed asynchronously, the second storage The method of transferring the waveform data to the means is not limited, and the most efficient transfer method such as block transfer or burst transfer can be used.
請求項5に記載の発明によれば、前記読み出し指示には、当該読み出し指示に係る各波形データの読み出し速度を指定する速度指定情報が含まれており、前記楽音生成手段は、当該波形データを、対応する速度指定情報によって指定された読み出し速度で読み出して楽音を生成し、前記第1の転送手段は、転送する各波形データ毎に、対応する速度指定情報に基づいてその転送速度を制御するようにしたので、発音の途中に第2の記憶手段に読み出すべき波形サンプルが未転送という状態を解消することができ、楽音を安定して再生することができる。 According to the fifth aspect of the present invention, the readout instruction includes speed designation information for designating a readout speed of each waveform data related to the readout instruction, and the musical sound generating means stores the waveform data. The first transfer means controls the transfer speed for each waveform data to be transferred based on the corresponding speed specifying information for each waveform data to be transferred. Since it did in this way, the state that the waveform sample which should be read to the 2nd memory | storage means in the middle of sounding is not transferred can be eliminated, and a musical sound can be reproduced | regenerated stably.
請求項7に記載の発明によれば、音色切換が指示されたときに、該指示された音色において優先的に用いられる波形データが第2の記憶手段に記憶されていないときには、該波形データが第1の記憶手段から読み出されて、前記第2の記憶手段に転送されるので、初めて使用する波形データについても効率よくキャッシュヒットさせることができる。 According to the seventh aspect of the present invention, when the timbre switching is instructed, if the waveform data used preferentially in the instructed timbre is not stored in the second storage means, the waveform data is Since the data is read from the first storage means and transferred to the second storage means, the waveform data that is used for the first time can be efficiently cache hit.
以下、本発明の実施の形態を図面に基づいて詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
図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.
同図に示すように、本実施の形態の楽音生成装置は、各種情報を入力するための複数のスイッチを備えたパネルスイッチ1と、各種情報等を表示する、たとえば大型液晶ディスプレイ(LCD)および発光ダイオード(LED)等を備えた表示装置2と、装置全体の制御を司るCPU3と、該CPU3が実行する制御プログラムや各種テーブルデータ等を記憶するROM4と、演奏データ、各種入力情報および演算結果等を一時的に記憶するRAM5と、タイマ割込み処理における割込み時間や各種時間を計時するタイマ6と、前記制御プログラムを含む各種アプリケーションプログラムや各種データ等を記憶するハードディスク装置7と、外部からのMIDI(musical instrument digital interface)信号を入力したり、MIDI信号を外部に出力したりするMIDIインターフェース8と、ch(channel)データ(図2を用いて後述)やC(cache)管理データ(図3を用いて後述)等のデータを格納する領域を備えたレジスタ9とを有し、これらの各構成要素1〜9は、バス18を介して相互に接続されている。
As shown in the figure, the musical tone generating apparatus of the present embodiment includes a
ハードディスク装置7には、前述のように、CPU3が実行する制御プログラムも記憶でき、ROM4に制御プログラムが記憶されていない場合には、このハードディスクに制御プログラムを記憶させておき、それをRAM5に読み込むことにより、ROM4に制御プログラムを記憶している場合と同様の動作をCPU3にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
As described above, the hard disk device 7 can also store a control program executed by the
MIDIインターフェース8は、専用のものに限らず、RS−232CやUSB(ユニバーサル・シリアル・バス)、IEEE1394(アイトリプルイー1394)等の汎用のインターフェースより構成してもよい。この場合、MIDIメッセージ以外のデータをも同時に送受信してもよい。 The MIDI interface 8 is not limited to a dedicated interface, and may be configured by a general-purpose interface such as RS-232C, USB (Universal Serial Bus), IEEE 1394 (I Triple 1394) or the like. In this case, data other than MIDI messages may be transmitted and received simultaneously.
レジスタ9には、大容量(たとえば、128Mword)かつデータ転送速度が低速(たとえば、6Mword/秒)の波形メモリ(ROM)10に記憶されている波形データを、小容量(たとえば、4Mword)かつデータ転送速度が高速(たとえば、66Mword/秒)のキャッシュメモリ11にロードしたり、キャッシュメモリ11にロードされている波形データを読み出したりするキャッシュ制御部12と、波形データを読み出す際の1サンプル当たりのアドレスの進み量を示すFナンバFNを各発音チャンネル毎に累算することにより、該各チャンネル毎の波形データの読み出しアドレス(相対アドレス)を発生する位相発生部14と、キャッシュメモリ11から読み出された波形データを加工するためのDSP(digital signal processor)15が接続されている。
The
ここで、本実施の形態の楽音生成装置は、楽音を生成するときには、常にキャッシュメモリ11からその楽音生成の基準となる波形データを読み出し、この波形データに基づいて楽音を生成する。そして、その楽音生成の基準となる波形データがキャッシュメモリ11上に保持されていないとき、すなわちキャッシュミスが発生したときには、その波形データを波形メモリ10から読み出して、キャッシュメモリ11に転送した後、この波形データをキャッシュメモリ11から読み出して楽音を生成する。このとき、後述するように、波形メモリ10からキャッシュメモリ11への波形データの転送速度は、キャッシュメモリ11上の波形データの読み出しアドレスの進み量(読み出し速度)より速く設定されているので、発音の途中で、キャッシュメモリ11に読み出すべき波形サンプルが未転送という状態にはならない。
Here, when generating a musical sound, the musical sound generating apparatus of the present embodiment always reads out waveform data serving as a reference for generating the musical sound from the
本実施の形態では、装置のサンプリング周波数を、たとえば50kHzとし、位相発生部14によって発生された読み出しアドレスに小数部が含まれるときには、そのアドレスの波形サンプルは直線補間によって算出するようにしているため、1周期当たり2個の波形サンプルを読み出す必要があるので、サンプリング周波数は実質100kHzとなっている。
In the present embodiment, when the sampling frequency of the apparatus is 50 kHz, for example, and the decimal part is included in the read address generated by the
この100kHzのサンプリング周波数の1周期で、1個の波形サンプル(そのデータ容量は1wordとする)を読み出せれば、1チャンネル分の楽音を生成できるので、本実施の形態のように、常にキャッシュメモリ11をアクセスすることにより、その記憶された波形データ(波形サンプル)を読み出して楽音生成に使用したときには、66Mword/秒÷100kword/秒/ch=660ch分の楽音を生成することができる。 If one waveform sample (with a data capacity of 1 word) can be read out in one cycle of the sampling frequency of 100 kHz, a musical sound for one channel can be generated. Therefore, as in this embodiment, a cache memory is always used. 11, when the stored waveform data (waveform sample) is read and used for tone generation, it is possible to generate tone for 66 Mword / second ÷ 100 kword / second / ch = 660 ch.
ただし、本実施の形態では、1サンプリング周期内で、最大6Mword/秒のデータ転送、すなわち波形メモリ10からキャッシュメモリ11への波形データのデータ転送も行っているため、6Mword/秒÷100kword/秒/ch=60ch分、上記660chから差し引く必要がある。したがって、本実施の形態の楽音生成装置は、最大600chの楽音を生成することができる。
However, in this embodiment, since data transfer of a maximum of 6 Mword / second, that is, data transfer of waveform data from the
位相発生部14は、レジスタ9に格納された各発音チャンネル(チャンネル数は、上述のように、最大600ch)毎のchデータに基づいて、該各チャンネル毎の波形データの読み出しアドレス(実数値)を発生し、その整数部をキャッシュ制御部12に供給するとともに、その小数部をDSP15に供給する。
Based on the channel data for each tone generation channel (the maximum number of channels is 600 channels as described above) stored in the
キャッシュ制御部12は、レジスタ9に格納されたC管理データに基づいて、各チャンネルで読み出そうとしている波形データがキャッシュメモリ11に記憶されているか否かを判別し、記憶されていないときには、当該チャンネルにおける波形データの読み出しを開始すると同時に、その波形データを波形メモリ10から読み出してキャッシュメモリ11に転送する一方、記憶されているときには、当該チャンネルで発生された読み出しアドレスの整数部に対応する位置(およびその次の位置)の波形データをキャッシュメモリ11から読み出して、DSP15に供給する。
Based on the C management data stored in the
ここで、波形データは、波形メモリ10からブロック単位(1ブロックは、本実施の形態では、1kword)で読み出されて、キャッシュメモリ11にロードされる。通常、読み出すべき波形データの容量は1kwordより大きいので、複数ブロックがキャッシュメモリ11にロードされるが、この複数ブロック分の容量のまとまった空き領域がキャッシュメモリ11に存在しない場合には、各ブロックの波形データは、キャッシュメモリ11上で離散的に記憶される。他方、位相発生部14は、読み出しアドレスを、当該波形データのアドレスが連続しているものとして発生する。このため、キャッシュメモリ11上の実アドレスに対して仮想アドレスを定義し、この仮想アドレス(各ブロック毎の仮想アドレス)を再配置するすることにより、実アドレスでは依然として離散的に存在している波形データのアドレスを、見かけ上連続的にしている。この種の技術を、ガーベジ・コレクション(garbage collection)と呼んでいる。これにより、空き領域をまとめる際にキャッシュメモリ11上に記憶されているデータを転送する必要がなくなるので、処理を高速に行うことができる。
Here, the waveform data is read from the
キャッシュ制御部12は、目的の波形データをキャッシュメモリ11から読み出すために、この仮想アドレスをキャッシュメモリ11上の実アドレスに変換するアドレス変換部13を介して、キャッシュメモリ11に接続されている。
The
DSP15は、発音チャンネル処理、エフェクト処理およびミキサ処理を行い、これら各処理の施されたデジタル楽音データをDAC(digital to analog converter)16に出力し、DAC16は、DSP15から供給されたデジタル楽音データをアナログ楽音信号に変換し、アンプやスピーカ等からなるサウンドシステム17を介して音響に変換される。
The
ここで、発音チャンネル処理の主なものとしては、たとえば、サンプル間補間処理、音色フィルタ処理、音量エンベロープ処理、チャンネル累算処理が挙げられる。 Here, examples of the sound generation channel processing include inter-sample interpolation processing, timbre filter processing, volume envelope processing, and channel accumulation processing.
サンプル間補間処理では、キャッシュ制御部12から供給された波形データと位相発生部14から供給された読み出しアドレスの小数部に基づいて補間演算を行い、補間された波形データの波形サンプルを生成する。本実施の形態では、キャッシュ制御部12は、各チャンネル当たり2個の波形サンプルをDSP15に供給し、DSP15は、この2個の波形サンプルに基づいて直線補間により補間サンプルを生成する。もちろん、過去に読み出された波形サンプルを記憶しておき、この波形サンプルと新たに読み出された波形サンプルに基づいて、より高次の補間を行うようにしてもよい。
In the inter-sample interpolation processing, interpolation calculation is performed based on the waveform data supplied from the
音色フィルタ処理では、上記補間後の波形データに対して、たとえばローパスフィルタ演算により音色制御を行う。このローパスフィルタ演算は、パラメータとして供給されたカットオフ特性やレゾナンス特性等に基づいて行われる。 In the timbre filter process, timbre control is performed on the interpolated waveform data by, for example, low-pass filter calculation. This low-pass filter calculation is performed based on the cut-off characteristics, resonance characteristics, etc. supplied as parameters.
音量エンベロープ処理では、音色フィルタ処理が施された波形データに対して、楽音の立ち上がりから立ち下がりまでの音量の時間変化(エンベロープ)を与える。この音量エンベロープ処理も、パラメータとして供給されたEG(envelope generator)制御情報に基づいて行われる。 In the volume envelope processing, the time change (envelope) of the volume from the rising edge to the falling edge of the musical tone is given to the waveform data subjected to the timbre filter processing. This volume envelope process is also performed based on EG (envelope generator) control information supplied as a parameter.
チャンネル累算処理では、エンベロープの付与された波形データを、各エフェクト処理(本実施の形態では、コーラス処理、リバーブ処理およびイコライザ処理の3種類の処理がある)向けにそれぞれレベル制御した後に、全チャンネル分累算し、各エフェクト処理に出力する。 In the channel accumulation process, the waveform data with the envelope is subjected to level control for each effect process (in this embodiment, there are three types of processes, chorus process, reverb process, and equalizer process). Accumulate channels and output to each effect process.
コーラス処理では、当処理向けに出力された波形データに対してコーラス効果を付与する。 In the chorus process, a chorus effect is imparted to the waveform data output for this process.
リバーブ処理では、当処理向けに出力された波形データに対して残響効果を付与する。 In the reverb process, a reverberation effect is given to the waveform data output for this process.
ミキサ処理では、コーラス効果が付与された波形データと残響効果が付与された波形データの各音量を制御し、この音量制御された各波形データとイコライザ処理向けに出力された波形データとをミキシングする。 In the mixer processing, each volume of the waveform data to which the chorus effect is applied and the waveform data to which the reverberation effect is applied is controlled, and the waveform data that has been subjected to the volume control and the waveform data that is output for the equalizer processing are mixed. .
イコライザ処理では、ミキサ処理によってミキシングされた波形データの周波数特性を加工制御する。 In the equalizer process, the frequency characteristic of the waveform data mixed by the mixer process is processed and controlled.
この周波数特性が加工制御された波形データが、DSP15からDAC16に供給される。
Waveform data whose frequency characteristics are processed and controlled is supplied from the
以上のように、位相発生部14およびDSP15は、それぞれ、1サンプリング周期内で最大600ch分の楽器生成のための処理を時分割で行う必要がある。この処理を実現するためには、必要に応じて、各回路を並列化したり、パイプライン化したりすればよい。すなわち、各処理を時分割600chで複数段にパイプライン化した構成、2つに並列化してそれぞれ時分割300chで複数段にパイプライン化した構成、4つに並列化してそれぞれ時分割150chで複数段にパイプライン化した構成等を採ることができる。一般的に、並列化の数を増やすことによりパイプラインの段数を減少させることができる。
As described above, each of the
図2は、レジスタ9に格納されるchデータのデータフォーマットを示す図である。
FIG. 2 is a diagram showing a data format of the ch data stored in the
各chデータは、それぞれ、当該発音チャンネルでの楽音生成のために必要な複数個のデータからなり、レジスタ9には、600ch分のデータが記憶される領域ch1〜ch600が設けられている。なお、各chデータのデータフォーマットはすべて共通であるため、同図には、ch3のchデータのデータフォーマットが代表的に例示されている。
Each ch data is composed of a plurality of data necessary for generating a musical tone in the sound generation channel, and the
同図において、chデータは、FナンバFNと、生成される楽音の全体的な音量と、楽音生成に使用する、波形メモリ10上の波形データを特定するための波形IDと、波形メモリ10(またはキャッシュメモリ11)上の当該(波形IDに対応する)波形データの先頭記憶位置(アドレス)を基準とした所定位置(たとえば、読み出し開始位置、ループ読み出し開始位置およびループ読み出し終了位置)の相対アドレス情報と、前記音色フィルタ処理でのフィルタ演算に用いるパラメータであるDCF(digital controlled filter)制御情報(前記カットオフ特性やレゾナンス特性を含む)と、前記音量エンベロープ処理での音量制御に用いるパラメータであるEG制御情報と、楽音生成に用いるその他の情報と、ノートオン/オフの状態をそれぞれ“0”と“1”で示すオン/オフデータとによって構成されている。
In the figure, the ch data includes an F number FN, an overall volume of a generated musical tone, a waveform ID for specifying waveform data on the
FナンバFNは、上述のように、波形データを読み出す際の1サンプル当たりのアドレスの進み量を示すものであり、生成すべき楽音の音高とその生成に用いる波形データが決まれば、その値は決まる。前記位相発生部14は、システムのサンプリング周波数(本実施の形態では、前述のように、50kHz)に同期して、各チャンネル毎にFナンバFNを累積し、該各チャンネル毎の波形データの読み出しアドレス(相対アドレス)を発生する。
As described above, the F number FN indicates the advance amount of the address per sample when the waveform data is read. If the pitch of the musical tone to be generated and the waveform data used for the generation are determined, the F number FN Is determined. The
波形メモリ10に記憶されている各波形データには、それぞれIDが付与され、chデータ内の波形IDを指定することにより、目的の波形データを波形メモリ10上で特定することができる。
Each waveform data stored in the
オン/オフデータは、その値が“0”から“1”に変化した時点で、当該チャンネルの楽音の生成を開始し、“1”から“0”に変化した時点で、当該チャンネルの楽音のリリースを開始するように、前記DSP15に指示するためのものである。
The on / off data starts to generate a tone of the channel when the value changes from “0” to “1”, and when the value changes from “1” to “0”, This is for instructing the
図3は、レジスタ9に格納されるC管理データのデータフォーマットを示す図である。
FIG. 3 is a diagram showing a data format of the C management data stored in the
C管理データは、キャッシュメモリ11に格納される波形データの状態を管理するために必要な複数個のデータからなり、レジスタ9には、600波形分のデータが記憶される領域cw1〜cw600が設けられている。なお、各C管理データのデータフォーマットはすべて共通であるため、同図には、cw(cache wave)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
同図において、C管理データは、上記chデータ内の波形IDと同様に作用する波形IDと、キャッシュメモリ11への当該波形データの転送状態を示す転送ステートTSと、キャッシュメモリ11へ当該波形データを転送するときの速度を示す転送速度TAと、当該波形データのキャッシュメモリ11上の記憶位置を仮想アドレスで表現するキャッシュ記憶位置仮想アドレスと、当該波形データのうちキャッシュメモリ11に転送されたデータのデータサイズを示す転送済みサイズと、当該波形データの全データサイズを示すトータルサイズと、当該波形データの波形メモリ10上の記憶位置を実アドレス(波形データは通常波形メモリ10上リニアに(連続して)記憶されているため、リニアアドレスである)で示す波形メモリ記憶位置リニアアドレスとによって構成されている。
In the figure, the C management data includes a waveform ID that operates in the same manner as the waveform ID in the channel data, a transfer state TS indicating the transfer state of the waveform data to the
転送ステートTSは、“0”から“2”までのいずれかの整数値を採り、各整数値は、次のような状態を意味している。 The transfer state TS takes any integer value from “0” to “2”, and each integer value means the following state.
0:当該波形IDが示す波形データは楽音生成に使用されていない状態
1:当該波形IDが示す波形データはキャッシュメモリ11に転送中の状態
2:当該波形IDが示す波形データはキャッシュメモリ11に転送を完了した状態
転送速度TAは、“0”から“120”までのいずれかの整数値を採り、1秒当たりに転送される前記ブロックのブロック数(本実施の形態では、50ブロック=50kword)を1単位としている。たとえば、TA=0は、キャッシュメモリ11へのデータ転送を行わない状態を示し、TA=1は、キャッシュメモリ11への50ブロック/秒のデータ転送を行う状態を示し、TA=2は、キャッシュメモリ11への100ブロック/秒のデータ転送を行う状態を示し、というように、転送速度TAとして設定される値が大きくなるほど、1秒間に転送されるブロック数、すなわち転送速度が速くなるようになっている。
0: The waveform data indicated by the waveform ID is not used for music generation 1: The waveform data indicated by the waveform ID is being transferred to the
ここで、1秒当たりに転送されるブロック数の1単位を50ブロックとしたのは、この転送速度が、FナンバFNが“1”に設定されたとき(システムのサンプリング周波数(=50kHz)で波形データの各波形サンプルを読み出すとき)の楽音再生に相当する速度であるからである。 Here, the unit of the number of blocks transferred per second is set to 50 blocks when the F number FN is set to “1” (at the system sampling frequency (= 50 kHz)). This is because the speed corresponds to the musical sound reproduction (when each waveform sample of the waveform data is read).
また、転送速度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にロードするが、このロードをいう。
Further, as described above, the maximum transfer rate TA can be “120”. This is because the data transfer rate from the
(1) A larger integer value is preferentially assigned to the load during sound generation than the load during tone switching. (2) For the load during sound generation, the F number FN of the sound generation channel using the waveform data. (3) An arbitrary integer value of 120 or less may be assigned to the load at the time of timbre switching (for example, the total of transfer rates TA assigned to other loads is When “120” has been reached, the transfer speed TA may be set to “0” for the load at the time of the remaining tone switching)
Here, in the above (1), the load at the time of sound generation means that the waveform data corresponding to the musical sound that is about to be sounded is not stored in the
また、上記(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 integer value corresponding to the F number FN is, for example, a value obtained by rounding up the decimal point of the F number FN, and is “2” when FN = 1.5. The transfer rate TA is set to an integer value greater than or equal to the integer value according to the F number FN because one unit of the transfer rate is set based on the transfer rate required when the F number FN = 1. Therefore, if the F number FN is set to a value larger than “1”, if the waveform data is not transferred to the
さらに、上記(3)において、音色切換時のロードに対する転送速度TAの設定値に、上記(2)のような条件を設けなかったのは、音色切換の指示からその音色で実際に楽音が生成されるまでの間に時間的な余裕があるからである。 Furthermore, in the above (3), the setting value of the transfer rate TA for the load at the time of timbre switching is not provided with the condition as in (2) above, because the tone is actually generated with the timbre from the timbre switching instruction. This is because there is time to spare before it is done.
キャッシュ記憶位置仮想アドレスは、上述のように、当該波形データのキャッシュメモリ11上の記憶位置を仮想アドレスで表現したものであり、キャッシュメモリ11の実アドレス空間上で離散的に配置されている、当該波形データを構成する各ブロックを、仮想アドレス空間上で連続的に再配置したものである。本実施の形態では、このキャッシュ記憶位置仮想アドレスに基づいて、当該波形データの各波形サンプルを読み出すようにしているので、位相発生部14は、単にFナンバFNを累算するだけで読み出しアドレスを発生させることができる。仮想アドレス空間上でのデータブロックの再配置は、前記キャッシュ制御部12が自動的に行い、この結果に基づいて、キャッシュ制御部12は、仮想アドレスと実アドレスとを相互に変換するためにアドレス変換部13内に設けられたアドレス変換テーブルを書き換える。このキャッシュ制御部12が実行する制御処理については、特開平6−35473号公報に詳細に示されているので、その説明を省略する。この公報に記載されたハードウェア的なアドレス変換を採用することにより、仮想アドレスによるキャッシュメモリ11へのアクセスを時間遅れなく実行することができる。
As described above, the cache storage position virtual address represents the storage position of the waveform data on the
以上のように構成された楽音生成装置が実行する制御処理を、まずその概要を説明した後に、図4〜図7を参照して詳細に説明する。 The control process executed by the musical tone generating apparatus configured as described above will be described in detail with reference to FIGS.
本実施の形態の楽音生成装置は、主として次の制御処理を行う。すなわち、
(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 generation device of the present embodiment mainly performs the following control processing. That is,
(1) A cache hit or a cache miss is detected in the waveform data for which sound generation is instructed. When a cache hit is detected, a musical tone is generated using the waveform data held in the
(5) The transfer at the time of a cache miss in the above (1), that is, the transfer of waveform data from the
図4は、本実施の形態の楽音生成装置、特に前記CPU3が実行する音色切換イベント処理の手順を示すフローチャートであり、上記制御処理(2)を実現したものである。本処理は、演奏データとして音色切換イベントが供給されたときに、起動される。
FIG. 4 is a flowchart showing the procedure of the timbre switching event process executed by the tone generator of the present embodiment, particularly the
同図において、まず、音色切換イベントが指示する新たな音色の音色番号(新音色番号)を取得して、RAM5の所定位置に確保された領域TC(以下、この領域の内容を「音色TC」という)に格納する(ステップS1)。 In the figure, first, a timbre number (new timbre number) of a new timbre indicated by a timbre switching event is acquired, and an area TC secured at a predetermined position in the RAM 5 (hereinafter, the contents of this area are referred to as “timbre TC”). (Step S1).
次に、音色TCにおいて使用される各種波形データ中、優先度に応じてキャッシュメモリ11にロードする波形データの波形IDを決定する(ステップS2)。
Next, among the various waveform data used in the timbre TC, the waveform ID of the waveform data to be loaded into the
そして、この決定された波形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 it should be newly loaded is determined as follows.
すなわち、ステップ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 is in the C management data in which the transfer state TS is other than “0”. It is determined that the waveform data is to be newly loaded.
ステップS3で、目的の波形データは、キャッシュメモリ11に転送中または転送が完了していて、新規にロードすべき波形データがないときには、直ちに本音色切換イベント処理を終了する一方、新規にロードすべき波形データがあるときには、その波形データのキャッシュメモリ11へのロード指示を行うロード指示処理サブルーチン(図6を用いて後述する)を実行した(ステップS4)後に、本音色切換イベント処理を終了する。
In step S3, when the target waveform data is being transferred to the
ここで、ロード指示処理サブルーチンは、後述するように、転送速度TAに設定する値に応じて低速ロード指示と高速ロード指示とを1つのサブルーチンで切り換え可能なように構成されており、ステップS4では、転送速度TAに「低速」に対応する値を設定することにより低速ロード指示を行っている。これは、前述のように、音色切換時は、ロードを速く行う必要はないからである。 Here, as will be described later, the load instruction processing subroutine is configured so that the low-speed load instruction and the high-speed load instruction can be switched in one subroutine according to the value set in the transfer speed TA. The low speed load instruction is issued by setting a value corresponding to “low speed” to the transfer speed TA. This is because it is not necessary to load quickly when switching timbres as described above.
図5は、CPU3が実行するノートオンイベント処理の手順を示すフローチャートであり、上記制御処理(1)を実現したものである。本処理は、演奏データとしてノートオンイベントが供給されたときに、起動される。
FIG. 5 is a flowchart showing a procedure of note-on event processing executed by the
同図において、まず、供給されたノートオンイベントからノートナンバおよび(&)ベロシティを取得し、それぞれ、RAM5の所定位置に確保された領域NN(以下、この領域の内容を「ノートナンバNN」という)および領域VEL(以下、この領域の内容を「ベロシティVEL」という)に格納する(ステップS11)。 In the figure, first, a note number and (&) velocity are obtained from a supplied note-on event, and each 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 area VEL (hereinafter, the contents of this area are referred to as “velocity VEL”) (step S11).
次に、ノートナンバNNおよび音色TC(この音色TCは、ノートオンイベントが供給されるときには既に設定されている)に対応した波形IDを検出する(ステップS12)。 Next, the waveform ID corresponding to the note number NN and the tone color TC (this tone color TC is already set when the note-on event is supplied) is detected (step S12).
そして、この検出された波形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.
ステップS13で、目的の波形データがキャッシュメモリ11上にロードされていないときには、前記ステップS4と同様にして、ロード指示処理サブルーチン(ただし、高速ロード指示)を実行した(ステップS14)後に、ステップS15に進む一方、目的の波形データがキャッシュメモリ11上にロードされているときには、ステップS14をスキップしてステップS15に進む。
If the target waveform data is not loaded on the
ステップS15では、空きチャンネルを検出して、そのチャンネルに発音割り当てを行う。 In step S15, an empty channel is detected and sound generation is assigned to that channel.
続くステップS16では、割り当てたチャンネルに、音色TCおよびノートナンバNNに応じた各種パラメータを設定する。具体的には、前記レジスタ9の600ch分のchデータ格納領域中、割り当てチャンネルに対応するchデータ領域に、前記FナンバFN、波形ID、相対アドレス、DCF制御情報、EG制御情報およびその他の情報を書き込む。
In subsequent step S16, various parameters corresponding to the tone color TC and the note number NN are set in the assigned channel. Specifically, in the ch data storage area for 600 channels of the
そして、当該チャンネルに対してノートオンを設定した(ステップS17)後に、本ノートオンイベント処理を終了する。ここで、ノートオンの設定は、上記ステップS16のchデータ領域中のノートオン/オフデータをノートオン(“1”)に設定することにより行う。 Then, note-on is set for the channel (step S17), and then the note-on event processing is terminated. Here, note-on is set by setting note-on / off data in the ch data area in step S16 to note-on (“1”).
図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.
同図において、まず、レジスタ9の600波形分のC管理データ格納領域中、転送ステートTSが“0”の領域cwk(kは、1〜600のいずれかの整数値)のうち最小のkを取得する(ステップS21)。
In the figure, first, among the C management data storage areas for 600 waveforms in the
次に、決定(または検出)された波形IDが示す波形データを記憶するためのキャッシュメモリ11上の領域を割り当てる(ステップS22)。この領域割当は、たとえば、次のようにして行う。すなわち、
(1)キャッシュメモリ11に記憶されている複数個の波形データを仮想アドレス上で前詰めする
(2)その後に形成された空き領域中、波形IDが示す波形データを書き込む領域を確保する
(3)空き領域が足りない場合には、現在使用されていない波形データが記憶されている領域を開放し、上記(1)および(2)の処理を繰り返す。
Next, an area on the
(1) A plurality of waveform data stored in the
続くステップS23では、領域cwkに必要なパラメータを設定する。具体的には、前記波形ID、転送ステートTS、キャッシュ記憶位置仮想アドレス、トータルサイズおよび波形メモリ記憶位置リニアアドレスを書き込む。 In the subsequent step S23, necessary parameters are set in the area cwk. Specifically, the waveform ID, transfer state TS, cache storage location virtual address, total size, and waveform memory storage location linear address are written.
そして、同時にロードする波形データの優先度に応じて、各波形データの転送速度TAを割り当て(分配し)た(ステップS24)後に、本ロード指示処理を終了する。ここで、分配は、前述した方法によって行い、この分配された各転送速度TAは、当該領域cwk中、対応する転送速度TA領域に書き込まれる。これにより、前記音色切換イベント処理では、「低速」に相当する転送速度が設定され、前記ノートオンイベント処理では、「高速」に相当する転送速度が設定される。なお、「低速」および「高速」は、音色切換イベント処理およびノート御イベント処理での転送速度の相対的な表現であって、分配の結果、ノートオンイベント処理での転送に、より大きな速度が割り当てられるという意味である。「低速」が設定された場合でも、他に転送が行われていなければ、転送速度TAに“120”全てが割り当てられる。 Then, according to the priority of the waveform data to be loaded at the same time, the transfer rate TA of each waveform data is assigned (distributed) (step S24), and then this load instruction process is terminated. Here, the distribution is performed by the method described above, and each distributed transfer rate TA is written in the corresponding transfer rate TA area in the area cwk. As a result, a transfer speed corresponding to “low speed” is set in the timbre switching event process, and a transfer speed corresponding to “high speed” is set in the note-on event process. Note that “low speed” and “high speed” are relative expressions of the transfer speed in the timbre switching event process and the note control event process. As a result of the distribution, a larger speed is required for the transfer in the note on event process. It means to be assigned. Even when “low speed” is set, all “120” is assigned to the transfer speed TA if no other transfer is performed.
図7は、前記キャッシュ制御部12が実行する転送処理の手順を示すフローチャートであり、前記制御処理(3)および(4)を実現したものである。本転送処理は、上記図6のロード指示処理サブルーチンによってロード指示が行われると、起動される。
FIG. 7 is a flowchart showing the procedure of the transfer process executed by the
図7において、まず、ロードが指示(TS=1)された領域cwk中、最小のk(初期値)を検出し、RAM5の所定位置に確保された領域L(以下、この内容を「インデックスL」という)に格納する(ステップS31)。
In FIG. 7, first, the minimum k (initial value) is detected in the area cwk in which the load is instructed (TS = 1), and the area L (hereinafter referred to as “index L”) secured at a predetermined position in the
そして、インデックスLが示す領域cwL内の転送速度TA(L)を取得して、RAM5の所定位置に確保されたソフトウェアカウンタ領域CNT(以下、この内容を「カウンタCNT」という)に格納する(ステップS32)。 Then, the transfer speed TA (L) in the area cwL indicated by the index 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 CNT). S32).
次に、インデックスLが示す領域cwL内の波形ID(L)に対応する波形データを波形メモリ10から読み出して、前記ステップ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 read from the
続くステップS34では、波形ID(L)に対応する波形データの転送が完了したか否かを判別する。この判別は、領域cwL内の転送済みサイズとトータルサイズとを比較することによって行う。 In a succeeding step S34, it is determined whether or not the transfer of the waveform data corresponding to the waveform ID (L) is completed. This determination is performed by comparing the transferred size in the area cwL with the total size.
ステップS34で、波形ID(L)に対応する波形データの転送がまだ完了していないときには、カウンタCNTを“1”だけデクリメントした(ステップS35)後に、カウンタCNTが“0”であるか否かを判別する(ステップS36)。 If the transfer of the waveform data corresponding to the waveform ID (L) is not yet completed in step S34, the counter CNT is decremented by “1” (step S35), and then whether or not the counter CNT is “0”. Is determined (step S36).
ステップS36で、CNT≠0のときには、転送すべき波形データのブロックがあるので、前記ステップS33に戻って、1または複数個のブロックの転送を繰り返す。 If CNT ≠ 0 in step S36, there is a block of waveform data to be transferred, so the process returns to step S33 to repeat transfer of one or more blocks.
一方、ステップS34で、波形ID(L)に対応する波形データの転送が完了したときには、領域cwL内の転送ステートTS(L)に“2”を設定した(ステップS37)後に、転送ステートTSが“1”の領域cwkが他に存在するか否かを判別する(ステップS38)。 On the other hand, when the transfer of the waveform data corresponding to the waveform ID (L) is completed in step S34, “2” is set in the transfer state TS (L) in the area cwL (step S37), and then the transfer state TS is It is determined whether or not there is another “1” area cwk (step S38).
ステップ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”, this transfer process is terminated. On the other hand, when there is another area cwk whose transfer state TS is “1”, the area cwk is between the areas cwk. Then, the transfer rate TA is redistributed (step S39). For example, the redistribution is performed in consideration of the trigger factor and the priority among the waveform data being transferred. Then, the transfer rate TA redistributed in this way is written in the corresponding transfer rate TA area.
続くステップ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 subsequent step S40, in order to obtain the waveform data to be transferred next, in the area cwk whose transfer state TS is "1", the next k (here, the next "k") of the area cwL transferred in the previous column. For example, when the region where the transfer state TS is “1” is k = 2, 5, 10, 25, and the “L” of cwL is “2”, the next “k” is selected. Is "5", and if "L" is "25", the next "k" is "2") and set to the index L. Similarly to step S32, After obtaining the transfer rate TA (L) in the area cwL indicated by the index L and storing it in the counter CNT (step S41), the process returns to step S33.
一方、ステップS36で、CNT=0のときには、転送すべき波形データのブロックがないので、上記ステップS40に進む。 On the other hand, if CNT = 0 in step S36, there is no waveform data block to be transferred, and the process proceeds to step S40.
このように、本実施の形態では、楽音を生成するときには、キャッシュメモリに記憶された波形データのみを使用して高速に波形データを供給するようにしたので、波形メモリのデータ転送速度の遅さに依存する発音チャンネル数の制限を解消することができる。 As described above, in the present embodiment, when generating a musical sound, waveform data is supplied at high speed using only the waveform data stored in the cache memory, so that the data transfer rate of the waveform memory is slow. The limitation of the number of sound generation channels depending on the can be solved.
キャッシュヒット時には、キャッシュメモリに保持された波形データを用いて楽音を生成するので、波形メモリからキャッシュメモリへの波形データの転送を行う必要がない。 When a cache hit occurs, a musical tone is generated using the waveform data held in the cache memory, so there is no need to transfer the waveform data from the waveform memory to the cache memory.
発音が指示された波形データのキャッシュミス時には、他の要因でロードが指示された波形データより高い優先度でキャッシュメモリに転送されるとともに、その転送速度の下限は、当該波形データのFナンバに応じて制御されるので、発音の途中にキャッシュメモリに読み出すべき波形サンプルが未転送という状態を解消することができ、楽音を安定して再生することができる。 When the waveform data for which sound generation is instructed is missed, it is transferred to the cache memory with higher priority than the waveform data for which loading has been instructed due to other factors, and the lower limit of the transfer speed is set to the F number of the waveform data. Therefore, the state that the waveform sample to be read to the cache memory is not transferred during the sound generation can be solved, and the musical sound can be reproduced stably.
波形サンプルの読み出しアドレスの進行と、波形メモリからキャッシュメモリへの波形データの転送とが非同期でなされるので、キャッシュメモリへの波形データの転送方法が制限されず、たとえばブロック転送やバースト転送等最も効率のよい転送方法を使用することができる。 Since the progress of the waveform sample read address and the transfer of the waveform data from the waveform memory to the cache memory are performed asynchronously, the transfer method of the waveform data to the cache memory is not limited. For example, block transfer, burst transfer, etc. An efficient transfer method can be used.
波形データのキャッシュメモリへのキャッシングは1波形単位で行われるので、すなわち、波形データを分割して、その一部のみをキャッシングするという方法ではないので、そのデータ管理が簡単になる。 Since the caching of the waveform data to 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 thereof, so that the data management becomes simple.
音色選択に応じて優先度の高い波形データを予めキャッシュメモリに記憶するようにしたので、初めて使用する波形データについても効率よくキャッシュヒットさせることができる。 Since the waveform data with high priority is previously stored in the cache memory in accordance with the tone color selection, the waveform data to be used for the first time can be efficiently cache hit.
なお、本実施の形態では、波形データを記憶する記憶装置として波形メモリ(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 randomly accessible hard disk device or MD device may be used. In this case, first, only the head portions of all waveform data are stored in the cache memory, and thereafter, the used waveform and necessary waveforms are sequentially transferred from the storage device to the cache memory.
また、本実施の形態では、音色選択時に優先度の高い波形データをロードするようにしているが、これに限らず、演奏音域やテンポ等の変化に応じて、その後に使用されそうな波形データを予測し、この予測された波形データを予めロードするようにしてもよい。または、演奏者が今後使用したい波形データを、その使用時点に先立って指定し、この指定された波形データを予めロードするようにしてもよい。 In the present embodiment, waveform data having a high priority is loaded when a tone color is selected. However, the present invention is not limited to this, and waveform data that is likely to be used later in accordance with changes in the performance range, tempo, etc. The predicted waveform data may be loaded in advance. Alternatively, the waveform data that the player wants to use in the future may be designated prior to the point of use, and the designated waveform data may be loaded in advance.
さらに、本実施の形態では、波形メモリから読み出した波形データをキャッシュメモリに転送するとき、その転送場所は空いている任意の場所として、いわゆるフルアソシアティブ方式を採用したが、これに限らず、ダイレクトマップ方式またはセットアソシアティブ方式のいずれの方式を採用してもよい。 Furthermore, in the present embodiment, when transferring the waveform data read from the waveform memory to the cache memory, the so-called full associative method is adopted as an arbitrary place where the transfer location is vacant. Either a map method or a set associative method may be adopted.
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPU3やMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは云うまでもない。
A program in which a storage medium storing software program codes for realizing the functions of the above-described embodiments is supplied to a system or apparatus, and a computer (or
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。 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.
プログラムコードを供給するための記憶媒体としては、たとえば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM4などを用いることができる。また、他のMIDI機器や通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
As a storage medium for supplying the program code, for example, a floppy (registered trademark) disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは云うまでもない。 Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also the OS running on the computer based on the instruction of the program code performs the actual processing. It goes without saying that the case where the functions of the above-described embodiment are realized by performing part or all of the above and the processing thereof is included.
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わる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, the function expansion is performed based on the instruction of the program code. It goes without saying that the case where the
3 CPU(第1の判別手段、第2の判別手段、第3の判別手段、第1の転送手段、第2の転送手段、音色切換指示手段、消去手段)、 9 レジスタ(第3の記憶手段)、
10 波形メモリ(第1の記憶手段)、 11 キャッシュメモリ(第2の記憶手段)、 12 キャッシュ制御部(第1の転送手段、第2の転送手段、楽音生成手段)、 13 アドレス変換部(第1の転送手段、第2の転送手段、楽音生成手段)、 15 DSP(楽音生成手段)
3 CPU (first determination means, second determination means, third determination means, first transfer means, second transfer means, tone color switching instruction means, erasure means), 9 register (third storage means) ),
10 waveform memory (first storage unit), 11 cache memory (second storage unit), 12 cache control unit (first transfer unit, second transfer unit, musical tone generation unit), 13 address conversion unit (first unit) 1 transfer means, second transfer means, tone generation means), 15 DSP (music tone generation means)
Claims (7)
データ転送速度が前記第1の記憶手段より高速の第2の記憶手段と、
前記第2の記憶手段に記憶されている波形データの波形IDを記憶する第3の記憶手段と、
複数の波形データを同時に読み出すように指示する読み出し指示を入力する入力手段と、
該入力手段によって入力された読み出し指示に係る各波形データが前記第2の記憶手段に記憶されているか否かを、当該読み出し指示に係る波形データの波形IDと前記第3の記憶手段に記憶された波形IDとに基づいて判別する第1の判別手段と、
該第1の判別手段による判別の結果、当該読み出し指示に係る波形データが前記第2の記憶手段に記憶されていないと判別されたときには、前記読み出し指示に応じて、該読み出し指示に係る波形データを前記第1の記憶手段から読み出して前記第2の記憶手段に転送するとともに、該転送された波形データの波形IDを前記第3の記憶手段に記憶させる第1の転送手段と、
前記入力された読み出し指示に応じて、前記第2の記憶手段からその読み出し指示に係る複数の波形データを読み出し、該読み出された複数の波形データに基づいて複数の楽音を同時に生成する楽音生成手段と
を有し、
前記第1の転送手段による波形データの転送と前記楽音生成手段による波形データの読み出しとは並行して実行可能である
ことを特徴とする楽音生成装置。 First storage means for storing a plurality of waveform data each assigned a waveform ID and having a predetermined data transfer rate;
A second storage means having a data transfer rate higher than that of the first storage means;
Third storage means for storing the waveform ID of the waveform data stored in the second storage means;
Input means for inputting a read instruction for instructing to simultaneously read a plurality of waveform data;
Whether or not each waveform data related to the read instruction input by the input means is stored in the second storage means is stored in the waveform ID of the waveform data related to the read instruction and the third storage means. First discriminating means for discriminating based on the waveform ID,
When it is determined that the waveform data related to the read instruction is not stored in the second storage means as a result of the determination by the first determination means, the waveform data related to the read instruction is determined according to the read instruction. Is transferred from the first storage means and transferred to the second storage means, and the first transfer means for storing the waveform ID of the transferred waveform data in the third storage means,
In response to the input read instruction, a plurality of waveform data related to the read instruction is read from the second storage means, and a plurality of musical sounds are generated simultaneously based on the read plurality of waveform data Means,
A musical sound generating apparatus characterized in that the transfer of waveform data by the first transfer means and the reading of waveform data by the musical sound generation means can be executed in parallel.
前記第1の転送手段は、波形データの転送を、ブロック転送およびバースト転送を含む高効率の転送方法で行う
ことを特徴とする請求項1に記載の楽音生成装置。 The waveform data transfer by the first transfer means and the waveform data read by the tone generation means proceed asynchronously with each other,
2. The musical tone generation apparatus according to claim 1, wherein the first transfer means transfers waveform data by a highly efficient transfer method including block transfer and burst transfer.
該第2の判別手段によって十分な空き領域がないと判別されたときには、前記第2の記憶手段に既に記憶されている波形データのうち、少なくとも1つの波形データを消去して、当該波形データを記憶するのに必要な空き領域を確保するとともに、前記消去された波形データの波形IDを前記第3の記憶手段から消去する消去手段と
をさらに有することを特徴とする請求項1に記載の楽音生成装置。 Prior to the transfer of the waveform data to the second storage means by the first transfer means, it is determined whether or not there is a sufficient free area in the second storage means for storing the waveform data. A second discriminating means;
When the second determination means determines that there is not enough free space, at least one waveform data is erased from the waveform data already stored in the second storage means, and the waveform data is 2. The musical tone according to claim 1, further comprising: an erasing unit that secures a free space necessary for storage and erases the waveform ID of the erased waveform data from the third storage unit. Generator.
前記楽音生成手段は、当該波形データを、対応する速度指定情報によって指定された読み出し速度で読み出して楽音を生成し、
前記第1の転送手段は、転送する各波形データ毎に、対応する速度指定情報に基づいてその転送速度を制御する
ことを特徴とする請求項4に記載の楽音生成装置。 The readout instruction includes speed designation information for designating the readout speed of each waveform data related to the readout instruction,
The musical sound generating means reads the waveform data at a reading speed specified by the corresponding speed specifying information, generates a musical sound,
5. The musical tone generation apparatus according to claim 4, wherein the first transfer means controls the transfer speed for each waveform data to be transferred based on the corresponding speed designation information.
前記第1の転送手段は、前記第1の記憶手段の前記データ転送速度による制限内で、前記第1の記憶手段から前記第2の記憶手段へ、複数の波形データを並行して、それぞれ異なる速度で転送することが可能であることを特徴とする請求項1に記載の楽音生成装置。 The waveform data transfer by the first transfer means and the waveform data read by the tone generation means proceed asynchronously with each other,
The first transfer means is different in parallel from the first storage means to the second storage means in parallel with each other within the limitation due to the data transfer rate of the first storage means. 2. The musical sound generating apparatus according to claim 1, wherein the musical sound generating apparatus can transfer at a speed.
該音色切換指示手段により音色切換が指示されたときに、該指示された音色において優先的に用いられる波形データが前記第2の記憶手段に記憶されているか否かを、前記優先的に用いられる波形データの波形IDと前記第3の記憶手段に記憶された波形IDとに基づいて判別する第3の判別手段と、
該第3の判別手段による判別の結果、前記優先的に用いられる波形データが前記第2の記憶手段に記憶されていないときには、該波形データを波形データ単位で前記第1の記憶手段から読み出して前記第2の記憶手段に転送とともに、該転送された波形データの波形IDを前記第3の記憶手段に記憶させる第2の転送手段と
をさらに有することを特徴とする請求項1に記載の楽音生成装置。 Timbre switching instruction means for instructing timbre switching;
When timbre switching is instructed by the timbre switching instruction means, whether the waveform data used preferentially in the instructed timbre is stored in the second storage means is used preferentially. Third determining means for determining based on the waveform ID of the waveform data and the waveform ID stored in the third storage means;
If the waveform data used preferentially is not stored in the second storage means as a result of the determination by the third determination means, the waveform data is read from the first storage means in units of waveform data. 2. The musical tone according to claim 1, further comprising a second transfer unit that stores the waveform ID of the transferred waveform data in the third storage unit in addition to the transfer to the second storage unit. Generator.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004026140A JP3918817B2 (en) | 2004-02-02 | 2004-02-02 | Music generator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004026140A JP3918817B2 (en) | 2004-02-02 | 2004-02-02 | Music generator |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07952399A Division JP3541718B2 (en) | 1999-03-24 | 1999-03-24 | Music generator |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004177981A true JP2004177981A (en) | 2004-06-24 |
JP3918817B2 JP3918817B2 (en) | 2007-05-23 |
Family
ID=32709475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004026140A Expired - Fee Related JP3918817B2 (en) | 2004-02-02 | 2004-02-02 | Music generator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3918817B2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010522362A (en) * | 2007-03-22 | 2010-07-01 | クゥアルコム・インコーポレイテッド | Bandwidth control for searching reference waveforms in audio devices |
JP2010224078A (en) * | 2009-03-23 | 2010-10-07 | Yamaha Corp | Tone generation apparatus |
JP2016177133A (en) * | 2015-03-20 | 2016-10-06 | カシオ計算機株式会社 | Waveform writing device, method, program, and electronic musical instrument |
JP2018159870A (en) * | 2017-03-23 | 2018-10-11 | カシオ計算機株式会社 | Musical sound creation device, musical sound creation method, musical sound creation program, and electronic musical instrument |
JP2018159869A (en) * | 2017-03-23 | 2018-10-11 | カシオ計算機株式会社 | Musical sound creation device, musical sound creation method, musical sound creation program, and electronic musical instrument |
JP2018159871A (en) * | 2017-03-23 | 2018-10-11 | カシオ計算機株式会社 | Musical sound creation device, musical sound creation method, musical sound creation program, and electronic musical instrument |
JP2019168517A (en) * | 2018-03-22 | 2019-10-03 | カシオ計算機株式会社 | Electronic musical instrument, method, and program |
-
2004
- 2004-02-02 JP JP2004026140A patent/JP3918817B2/en not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010522362A (en) * | 2007-03-22 | 2010-07-01 | クゥアルコム・インコーポレイテッド | Bandwidth control for searching reference waveforms in audio devices |
JP2010224078A (en) * | 2009-03-23 | 2010-10-07 | Yamaha Corp | Tone generation apparatus |
JP2016177133A (en) * | 2015-03-20 | 2016-10-06 | カシオ計算機株式会社 | Waveform writing device, method, program, and electronic musical instrument |
JP2018159870A (en) * | 2017-03-23 | 2018-10-11 | カシオ計算機株式会社 | Musical sound creation device, musical sound creation method, musical sound creation program, and electronic musical instrument |
JP2018159869A (en) * | 2017-03-23 | 2018-10-11 | カシオ計算機株式会社 | Musical sound creation device, musical sound creation method, musical sound creation program, and electronic musical instrument |
JP2018159871A (en) * | 2017-03-23 | 2018-10-11 | カシオ計算機株式会社 | Musical sound creation device, musical sound creation method, musical sound creation program, and electronic musical instrument |
JP2019168517A (en) * | 2018-03-22 | 2019-10-03 | カシオ計算機株式会社 | Electronic musical instrument, method, and program |
JP7124371B2 (en) | 2018-03-22 | 2022-08-24 | カシオ計算機株式会社 | Electronic musical instrument, method and program |
Also Published As
Publication number | Publication date |
---|---|
JP3918817B2 (en) | 2007-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5266736A (en) | Interruption control apparatus for use in performance information processing system | |
JPH06308964A (en) | Musical tone forming device | |
US6473847B1 (en) | Memory management method for use in computer system | |
JP3293474B2 (en) | Tone generation method | |
US7279628B2 (en) | Editing apparatus of setting information for electronic music apparatuses | |
JP3918817B2 (en) | Music generator | |
JP3541718B2 (en) | Music generator | |
JP3267106B2 (en) | Musical tone waveform generation method | |
US5164529A (en) | Interruption control apparatus for use in performance information processing system | |
US8383924B2 (en) | Musical tone signal generating apparatus | |
JP4089688B2 (en) | Music signal generator | |
JP2901143B2 (en) | Music generator | |
JP2001109470A (en) | Automatic performance device and automatic performance method | |
JP3637577B2 (en) | Music generation method | |
JP4089687B2 (en) | Music signal processor | |
JP5839156B2 (en) | Music signal generator | |
JP3003559B2 (en) | Music generation method | |
JP3603638B2 (en) | Musical tone generation method | |
JP3301350B2 (en) | Tone generator | |
JP3632744B2 (en) | Sound generation method | |
JP5167878B2 (en) | Electronic music apparatus and program | |
JP3603849B2 (en) | Musical tone generation method | |
JP4120979B2 (en) | Waveform playback device | |
JP3627590B2 (en) | Sound generation method | |
JP5504983B2 (en) | Music signal generator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051125 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060425 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060906 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060926 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061127 |
|
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: 20070123 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070205 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3918817 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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: 20110223 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120223 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130223 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140223 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |