JP4102931B2 - Sound waveform synthesizer - Google Patents

Sound waveform synthesizer Download PDF

Info

Publication number
JP4102931B2
JP4102931B2 JP2004091518A JP2004091518A JP4102931B2 JP 4102931 B2 JP4102931 B2 JP 4102931B2 JP 2004091518 A JP2004091518 A JP 2004091518A JP 2004091518 A JP2004091518 A JP 2004091518A JP 4102931 B2 JP4102931 B2 JP 4102931B2
Authority
JP
Japan
Prior art keywords
waveform
waveform data
sound
bus
synthesis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004091518A
Other languages
Japanese (ja)
Other versions
JP2005275241A (en
Inventor
元一 田邑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2004091518A priority Critical patent/JP4102931B2/en
Priority to EP05006393A priority patent/EP1580729B1/en
Priority to DE602005004685T priority patent/DE602005004685T2/en
Priority to CN200510055994.8A priority patent/CN1674090B/en
Priority to US11/090,663 priority patent/US7381879B2/en
Publication of JP2005275241A publication Critical patent/JP2005275241A/en
Application granted granted Critical
Publication of JP4102931B2 publication Critical patent/JP4102931B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本発明は、波形データを合成して楽音波形や人声音波形などの音波形を発生する音波形合成装置に関するものである。   The present invention relates to a sound waveform synthesizer that synthesizes waveform data to generate a sound waveform such as a musical sound waveform or a human voice waveform.

演奏データに応じて、素材となる波形データを加工することにより楽音波形を合成する、波形メモリ音源方式(波形テーブル音源方式)の電子音楽装置が知られている。
図4は、波形メモリ音源方式の電子音楽装置を示すブロック図である。
図4(a)において、CPUバス101には、音源制御用のCPU(Central Processing Unit)102、ワークRAM(Random Access Memory)103、および、音源LSI(Large Scale Integrated Circuit)104が接続されている。この音源LSI104には、波形メモリバス105経由で波形ROM(Read Only Memory)106が接続されている。
2. Description of the Related Art There is known an electronic music apparatus of a waveform memory sound source method (waveform table sound source method) that synthesizes a musical sound waveform by processing waveform data as a material in accordance with performance data.
FIG. 4 is a block diagram showing a waveform memory sound source type electronic music apparatus.
4A, a CPU (Central Processing Unit) 102 for sound source control, a work RAM (Random Access Memory) 103, and a sound source LSI (Large Scale Integrated Circuit) 104 are connected to the CPU bus 101. . A waveform ROM (Read Only Memory) 106 is connected to the tone generator LSI 104 via a waveform memory bus 105.

ワークRAM103には、CPU102を動作させる処理プログラムがロードされている。一方、演奏データ(楽音波形制御情報)は、図示しない鍵盤等から、CPUバス101を介してワークRAM103に入力される。CPU102は、演奏データに基づいて音源パラメータ(制御パラメータ)を作成し、音源LSI104に出力する。音源LSI104は、音源パラメータに応じて、波形ROM(Read Only Memory)106から、素材となる波形データを読み出し、これを加工して楽音波形を合成する。合成された楽音波形は、図示を省略したCODEC(coder/decoder)においてアナログ信号に変換されて、楽音信号を発生する。   The work RAM 103 is loaded with a processing program for operating the CPU 102. On the other hand, performance data (musical tone waveform control information) is input to the work RAM 103 via the CPU bus 101 from a keyboard (not shown) or the like. The CPU 102 creates sound source parameters (control parameters) based on the performance data and outputs them to the sound source LSI 104. The tone generator LSI 104 reads waveform data as a material from a waveform ROM (Read Only Memory) 106 in accordance with the tone generator parameters, processes the data, and synthesizes a musical sound waveform. The synthesized musical sound waveform is converted into an analog signal by a CODEC (coder / decoder) (not shown) to generate a musical sound signal.

図4(b)に示すように、音源LSIに代えて音源用のDSP(Digital Signal Processor)107を用いるものもある。
DSPは、ディジタル信号処理専用のマイクロプロセッサである。積和演算が高速で行える。また、マイクロプログラムコードを変更すれば、音源方式を異なるものに入れ替えたり、音源方式をグレードアップしたりすることができる。DSP107で合成された楽音波形は、図示を省略したCODECにおいてアナログ信号に変換されて出力される。
なお、図示のDSP107は、信号処理の対象とする処理データと信号処理プログラムとが、バス(DSPバス108)およびワークRAM110を共有するタイプのものである。
As shown in FIG. 4B, there is a type using a DSP (Digital Signal Processor) 107 for a sound source instead of the sound source LSI.
The DSP is a microprocessor dedicated to digital signal processing. Multiply-and-accumulate operations can be performed at high speed. Further, if the microprogram code is changed, the sound source method can be replaced with a different one, or the sound source method can be upgraded. The musical sound waveform synthesized by the DSP 107 is converted into an analog signal and output by a CODEC (not shown).
The illustrated DSP 107 is of a type in which processing data and a signal processing program to be subjected to signal processing share a bus (DSP bus 108) and work RAM 110.

ここで、CPU102とDSP107とは、いずれも、バスの使用権を割り当てる機能、いわゆる、バス・アービトレーション(arbitration:調停)機能を持つことから、バスを共有できない。
一般に、2本のバス間を共有メモリで接続することが知られている(特許文献1参照)。そこで、図4(b)においても、共有メモリ109を設けるとともに、DSPバス108にワークRAM110を設けている。
Here, since both the CPU 102 and the DSP 107 have a function of assigning the right to use the bus, that is, a so-called bus arbitration function, the bus cannot be shared.
In general, it is known to connect two buses with a shared memory (see Patent Document 1). Therefore, also in FIG. 4B, the shared memory 109 is provided and the work RAM 110 is provided on the DSP bus 108.

一方、高品質な楽音波形を再現するために、波形ROM106に記憶しておくべき波形データは、大容量化の傾向がある。
しかし、様々な楽器音色の波形データを、大容量の波形ROMに記憶しておくことは、コスト的に限界がある。
そのため、図4(c)に示すように、波形RAM111を用いるとともに、CPUバス101にHDC(Hard Disk Controller)112を介して、HDD(Hard Disk Drive)113を接続する。
On the other hand, the waveform data to be stored in the waveform ROM 106 in order to reproduce a high-quality musical sound waveform tends to increase in capacity.
However, storing waveform data of various instrument sounds in a large-capacity waveform ROM has a cost limitation.
Therefore, as shown in FIG. 4C, a waveform RAM 111 is used, and an HDD (Hard Disk Drive) 113 is connected to the CPU bus 101 via an HDC (Hard Disk Controller) 112.

CPU102は、波形データを、演奏開始前に、HDD(Hard Disk Drive)113から一旦、ワークRAM103に転送し、それを波形RAM111に転送して格納する。
従って、必要とする楽器音色の波形データのみを、HDD113からワークRAM103を経て波形RAM111に転送すればよい。
しかし、楽器音色を切り替えるときは、切り替えた楽器音色の波形データを波形RAM111に転送しなければならないので、切替えに時間がかかるという問題がある。
また、合理的なコストで波形RAM111に格納することが可能なデータサイズには限度がある。
The CPU 102 once transfers the waveform data from the HDD (Hard Disk Drive) 113 to the work RAM 103 before starting the performance, and transfers it to the waveform RAM 111 for storage.
Therefore, it is only necessary to transfer only the waveform data of the required instrument tone color from the HDD 113 to the waveform RAM 111 via the work RAM 103.
However, when switching instrument timbres, the waveform data of the switched instrument timbres must be transferred to the waveform RAM 111, so there is a problem that switching takes time.
There is a limit to the data size that can be stored in the waveform RAM 111 at a reasonable cost.

そのため、演奏開始後、楽音合成処理中において、楽音合成処理に必要な波形データを、その都度、HDD113からワークRAM103を経て波形RAM111に供給する。この方式によれば、事実上、ほぼ無制限の波形データを使用できる。
この方式は、パーソナルコンピュータ上で実行される「サンプラー」のプログラムで実現されている。
ただし、HDD113においては、波形データの読み出しを要求してから波形データが読み出されるまでの遅延時間(Latency:レイテンシ)を無視できない。従って、ワークRAM103には、楽音合成に必要となる波形データを先読みして大量に格納しておく必要がある。
For this reason, after the performance is started, during the musical tone synthesis process, the waveform data necessary for the musical tone synthesis process is supplied from the HDD 113 to the waveform RAM 111 via the work RAM 103 each time. According to this method, virtually unlimited waveform data can be used.
This method is realized by a “sampler” program executed on a personal computer.
However, in the HDD 113, the delay time (latency) from when the waveform data is requested to read until the waveform data is read cannot be ignored. Therefore, it is necessary to pre-read and store a large amount of waveform data necessary for tone synthesis in the work RAM 103.

CPUバス101の処理は、音源パラメータ合成処理が主である。この処理は、複雑な処理アルゴリズムを持った、比較的大きな規模のプログラムであり、処理負荷は大変重くなっている。
ところが、機器組込み用のCPUバスは、パーソナルコンピュータのCPUバスほど高速ではない。また、CPUバスの速度は、内部動作速度に対して数分の1と遅い。CPU102が最も忙しい処理をする場合、最悪値ではデータ転送能力の7〜8割程度を命令fetchで使用するように設計されている。
従って、CPUバス101のデータ転送能力が、HDC112からワークRAM103に対する波形データの転送とワークRAM103からの波形データの転送の処理とに消費されてしまうと、CPU102の演算能力が十分に発揮できなくなる。
The processing of the CPU bus 101 is mainly sound source parameter synthesis processing. This processing is a relatively large-scale program having a complicated processing algorithm, and the processing load is very heavy.
However, the CPU bus for embedded devices is not as fast as the CPU bus of personal computers. The CPU bus speed is a fraction of the internal operation speed. When the CPU 102 performs the busiest processing, the worst value is designed to use about 70 to 80% of the data transfer capacity in the instruction fetch.
Therefore, if the data transfer capability of the CPU bus 101 is consumed for the transfer of waveform data from the HDC 112 to the work RAM 103 and the transfer of waveform data from the work RAM 103, the calculation capability of the CPU 102 cannot be fully exhibited.

ところで、HDDが、再生側のバスや、CPUバスとは異なるバスに接続されており、HDDから読み出された波形データを、共有バッファを介して再生側のバスに転送する楽音データ記録再生装置が、特許文献2で知られている。
図5は、このような従来の楽音データ記録再生装置を示すブロック図である。ただし、HDDに記録する側の構成は図示を省略している。
パーソナルコンピュータ121と再生制御装置122とは、シリアルケーブルで接続される。また、パーソナルコンピュータ121,再生制御装置122,HDD123は、SCSI(Small Computer System Interface)バスで接続される。
パーソナルコンピュータ121は、ファイル名の選択・設定操作を行い、シリアルケーブルでデータファイルの領域指示情報を再生制御装置122に送出する。
再生制御装置122は、HDD123に記憶された楽音波形データを、SCSIバス経由で読み出して楽音波形データを再生する。
By the way, a musical sound data recording / reproducing device, in which the HDD is connected to a bus on the playback side or a bus different from the CPU bus, and transfers waveform data read from the HDD to the bus on the playback side via a shared buffer Is known from US Pat.
FIG. 5 is a block diagram showing such a conventional musical sound data recording / reproducing apparatus. However, the configuration on the HDD recording side is not shown.
The personal computer 121 and the playback control device 122 are connected by a serial cable. The personal computer 121, the reproduction control device 122, and the HDD 123 are connected by a SCSI (Small Computer System Interface) bus.
The personal computer 121 performs a file name selection / setting operation, and sends the area instruction information of the data file to the reproduction control device 122 using a serial cable.
The reproduction control device 122 reads the musical sound waveform data stored in the HDD 123 via the SCSI bus and reproduces the musical sound waveform data.

再生制御装置122内において、CPUバス125には、CPU126,RAM127,ROM128等からなるマイクロコンピュータとともに、シリアル入出力インターフェース124、SCSIインターフェース129,再生および転送制御部130,再生音発生部131が接続され、これらの動作はCPU126により制御される。
再生および転送制御部130は、取り込みバッファ134を備え、SCSIインターフェース129とは、波形データバス132で接続され、再生バッファ135とは、バス133で接続される。
In the reproduction control device 122, a serial input / output interface 124, a SCSI interface 129, a reproduction / transfer control unit 130, and a reproduction sound generation unit 131 are connected to the CPU bus 125 together with a microcomputer including a CPU 126, a RAM 127, and a ROM 128. These operations are controlled by the CPU 126.
The reproduction and transfer control unit 130 includes a capture buffer 134, which is connected to the SCSI interface 129 via the waveform data bus 132 and is connected to the reproduction buffer 135 via the bus 133.

HDD123から読み出された楽音波形データは、取り込みバッファ134に記憶される。取り込みバッファ134では、ヘッダ部の除去や、データの並べ替えを行ったりして、再生読み出しに適した1ブロック(16キロワード)分の楽音波形データが再生バッファ(4キロワード×2個)135に転送される。取り込みバッファ134への書き込み/読み出しは、システムクロックパルスが1か0かで切り替わる。
再生音発生部131は、再生バッファ135から1ブロック分の楽音波形データをサンプリングクロックに従って読み出して出力する。その際、読み出し波形のピッチ制御が可能である。
The musical sound waveform data read from the HDD 123 is stored in the capture buffer 134. The capture buffer 134 removes the header part and rearranges the data, and transfers the sound waveform data for one block (16 kilowords) suitable for reproduction and reading to the reproduction buffer (4 kilowords × 2) 135 Is done. Writing / reading to / from the capture buffer 134 is switched depending on whether the system clock pulse is 1 or 0.
The reproduction sound generator 131 reads out the musical sound waveform data for one block from the reproduction buffer 135 in accordance with the sampling clock and outputs it. At that time, the pitch of the readout waveform can be controlled.

上述した特許文献2に開示のように、波形データバス132と波形再生用のバス133との間に取り込みバッファ134を設ける構成によれば、それぞれのバスにおける楽音波形の転送を独立して行える。
しかし、特許文献2に開示の転送機能は、HDD123に記憶された波形データを所定のブロックサイズずつ読み出して再生することである。
従って、演奏データ(楽音波形制御情報)といった時変動要因に応じて、楽音波形合成処理に必要な波形データのデータ量が変動する場合に、HDD123のようなレイテンシの大きな記憶装置から波形データを読み出す際に、各バスにおける転送をどのようにすれば、転送効率が上がるのかについては記載されていない。
特開平6−59678号公報 特開平6−51776号公報
As disclosed in Patent Document 2 described above, according to the configuration in which the capture buffer 134 is provided between the waveform data bus 132 and the waveform reproduction bus 133, the transfer of musical sound waveforms in each bus can be performed independently.
However, the transfer function disclosed in Patent Document 2 is to read and reproduce the waveform data stored in the HDD 123 by a predetermined block size.
Accordingly, when the amount of waveform data necessary for the musical sound waveform synthesis processing varies according to the time variation factor such as performance data (musical sound waveform control information), the waveform data is read from a storage device having a large latency such as the HDD 123. At this time, it is not described how the transfer efficiency is improved by performing the transfer in each bus.
JP-A-6-59678 JP-A-6-51776

本発明は、上述した問題点を解決するためになされたもので、記憶媒体から波形データを読み出し、その波形データを効率よく波形データ処理手段に転送できる、音波形合成装置を提供することを目的とするものである。   The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a sound waveform synthesizer that can read waveform data from a storage medium and efficiently transfer the waveform data to waveform data processing means. It is what.

本発明は、請求項1に記載の発明においては、外部から音波形制御情報を入力し、大容量の記憶媒体に記憶された波形データに基づいて音波形合成を行う音波形合成装置において、波形データ処理手段と、波形データ供給手段と、波形バッファと、制御データ処理手段を有し、前記波形バッファは、該波形データ処理手段と該波形データ供給手段との間に接続され、前記制御データ処理手段は、前記外部から前記音波形制御情報を入力し、該音波形制御情報に応じて、前記波形データ処理手段における以後の音波形合成において新たに必要となると予測される波形データを前記記憶媒体から読み出させるための読み出し要求を作成し、該読み出し要求を前記波形データ供給手段に通知し、かつ、前記波形データ処理手段から、現時点において音波形合成のための信号処理をしている波形位置を表す音波形合成の進行状況の通知を受け、該音波形合成の進行状況に基づいて音波形合成に新たに必要となる波形データを前記波形バッファに転送することを要求する第1の転送要求を作成し、該第1の転送要求を前記波形データ供給手段に通知し、かつ、前記波形データ処理手段から、現時点において音波形合成のためにしている信号処理の内容を表す音波形合成状態の通知を受け、前記外部から入力した音波形制御情報と前記音波形合成状態に基づいて制御パラメータを作成し、該制御パラメータと、前記第1の転送要求に応じた第2の転送要求を、前記波形データ処理手段に通知するものであり、前記波形データ供給手段は、前記制御データ処理手段から前記第1の転送要求の通知を受けて、複数サンプルを1フレームとして、フレーム周期を単位として、前記記憶媒体から読み出された波形データを前記波形バッファに転送するものであり、前記波形データ処理手段は、前記制御データ処理手段から前記第2の転送要求の通知を受けて、前記フレーム周期を単位として、前記波形バッファから前記波形データを自身に転送前記制御データ処理手段から取得された前記制御パラメータと前記波形バッファから転送された波形データに基づいて、前記フレーム毎に1フレーム分の音波形を合成するとともに、前記音波形合成状態と前記音波形合成の進行状況を前記制御データ処理手段に通知するものである
手段に転送することが容易に実現できる。
In the invention according to claim 1, in the sound waveform synthesizer that inputs sound waveform control information from the outside and performs sound wave synthesis based on waveform data stored in a large-capacity storage medium, and data processing means, and the waveform data supply means, and the waveform buffer, a control data processing unit, the waveform buffer is connected between the waveform data processing section and the waveform data supplying means, before Symbol control data The processing means inputs the sound waveform control information from the outside , and stores the waveform data predicted to be newly required in the subsequent sound waveform synthesis in the waveform data processing means in accordance with the sound waveform control information. Create a read request for reading from the medium, notify the read request to the waveform data supply means, and from the waveform data processing means at the present time Receiving notification of the progress of sound waveform synthesis representing the waveform position where signal processing for waveform synthesis is performed, the waveform data newly required for sound waveform synthesis based on the progress of the sound waveform synthesis A first transfer request is generated to request transfer to the buffer, the first transfer request is notified to the waveform data supply means, and from the waveform data processing means, at the present time, for sound waveform synthesis notified of sound waveform synthesis state representing the contents of which signal processing, control to create a control parameter based the sound waveform control information input from the outside to the sound waveform synthesis conditions, the control parameters, the first a second transfer request according to the transfer request, which notifies the waveform data processing section, the waveform data supplying means, the notification of the first transfer request from the control data processor Only by, a plurality of samples as one frame as a unit frame period, the waveform data read from the storage medium is intended to be transferred to the waveform buffer, the waveform data processing section, from the control data processor In response to the notification of the second transfer request, the waveform data is transferred to itself from the waveform buffer in units of the frame period, and transferred from the control parameter and the waveform buffer acquired from the control data processing means. Based on the obtained waveform data, the sound waveform for one frame is synthesized for each frame, and the control data processing means is notified of the sound waveform synthesis state and the progress of the sound waveform synthesis .
Transfer to the means can be easily realized.

従って、波形バッファを用いることにより、音波形合成処理中においても、波形データ処理手段による音波形の合成処理と、波形データ供給手段による記憶媒体からの波形データの読み出しとは、独立して制御される。その結果、波形データ処理手段は、都合のよいタイミングで波形バッファから波形データを転送できるので、記憶媒体からの波形データの読み出しが音波形合成処理に与える影響を少なくすることができる。   Therefore, by using the waveform buffer, the sound waveform synthesis processing by the waveform data processing means and the reading of the waveform data from the storage medium by the waveform data supply means are controlled independently even during the sound waveform synthesis processing. The As a result, the waveform data processing means can transfer the waveform data from the waveform buffer at a convenient timing, so that the influence of reading the waveform data from the storage medium on the sound waveform synthesis process can be reduced.

1フレーム分の複数サンプル単位で音波形データを合成するので、波形データ処理手段による波形データの要処理量が、時間的に均一化され、フレーム周期毎にあまり変化しないので、波形データ処理手段を安定して動作させることができる。
波形データ処理手段による波形データの転送、および、波形データ供給手段による波形データの転送は、1フレーム周期を単位とすることから、1回の転送量がある程度まとまったものになるから、オーバヘッドの少ない効率の良い転送が可能になる。
Since the sound waveform data is synthesized in units of a plurality of samples for one frame, the required amount of processing of the waveform data by the waveform data processing means is made uniform in time and does not change much every frame period. It can be operated stably.
Since the waveform data transfer by the waveform data processing means and the waveform data transfer by the waveform data supply means are in units of one frame period, the amount of transfer at one time is a certain amount, so there is little overhead. Efficient transfer is possible.

請求項2に記載の発明においては、請求項1に記載の音波形合成装置において、前記波形データ処理手段は、第1のバスと、該第1のバスに接続された信号処理手段と第1の記憶手段を有し、前記波形データ供給手段は、第2のバスと、該第2のバスに接続された記憶媒体読出手段と第2の記憶手段を有し、前記波形バッファは、前記第1のバスと前記第2のバスの間に接続され、前記第2の記憶手段に記憶された波形データを前記第1の記憶手段に供給するものである。
従って、波形データを、波形データ供給手段から波形バッファを介して波形データ処理手段に転送することが容易に実現できる。
According to a second aspect of the present invention, in the sound waveform synthesizer according to the first aspect, the waveform data processing means includes a first bus, a signal processing means connected to the first bus, and a first bus. The waveform data supply means includes a second bus, a storage medium reading means connected to the second bus, and a second storage means, and the waveform buffer includes the second buffer Connected between one bus and the second bus, the waveform data stored in the second storage means is supplied to the first storage means.
Therefore, the waveform data can be easily transferred from the waveform data supply means to the waveform data processing means via the waveform buffer.

本発明によれば、波形バッファを用いることにより、発音動作中においても、ハードディスクのようなレイテンシが大きい大容量の記憶装置から波形データを読み出し、波形データ処理手段に転送できることから、リアルタイムでも高品質の合成音を発生できる効果がある。
その際、1フレーム周期を単位として波形データを転送するので、効率よくデータ転送能力を利用できる。
その結果、波形データ処理手段の処理能力の低下を防止し、実用的に十分な同時発音数が得られるという効果がある。
According to the present invention, the waveform buffer can be used to read waveform data from a large-capacity storage device having a large latency such as a hard disk and transfer it to the waveform data processing means even during a sound generation operation, so that high quality even in real time. There is an effect that can generate the synthesized sound.
At that time, since the waveform data is transferred in units of one frame period, the data transfer capability can be used efficiently.
As a result, it is possible to prevent a decrease in processing capability of the waveform data processing means and to obtain a practically sufficient number of simultaneous pronunciations.

図1は、本発明の実施の一形態について、その機能構成を説明するブロック図である。
音波形制御情報と記憶媒体に記憶された波形データに基づいて音波形合成処理を行う、電子音楽装置等の、音波形合成装置において、1は制御データ処理部、2は波形データ処理部、3は波形データ供給部、5はインターフェース部である。
波形データ供給部3には、HDD等の波形データ記憶装置4が接続される。
FIG. 1 is a block diagram illustrating the functional configuration of an embodiment of the present invention.
In a sound waveform synthesizing apparatus such as an electronic music apparatus that performs sound wave synthesizing processing based on sound waveform control information and waveform data stored in a storage medium, 1 is a control data processing unit, 2 is a waveform data processing unit, 3 Is a waveform data supply unit, and 5 is an interface unit.
A waveform data storage device 4 such as an HDD is connected to the waveform data supply unit 3.

インターフェース部5は、制御データ処理部1、波形データ処理部2、波形データ供給部3を相互に接続する。波形バッファ6は、波形データ処理部2と波形データ供給部3とを接続し、波形データ転送のバッファ中継を行うことにより、波形データ処理部2による音波形の合成と、波形データ供給部3による波形データの読み出しとを、互いに干渉することなく個別に処理することができる。
一方、制御データ処理部1と波形データ処理部2との間、および、制御データ処理部1と波形データ供給部3との間のインターフェースには種々の方法を採用できることから、図示の例では、直結している。
制御データ処理部1、波形データ処理部2、波形データ供給部3は、それぞれの内部処理を、他の処理部の内部処理とは独立して自律的に行う。ただし、図示の例では、全体の統合動作としては、所定の複数サンプル期間に対応するフレーム周期を単位として動作している。
The interface unit 5 connects the control data processing unit 1, the waveform data processing unit 2, and the waveform data supply unit 3 to each other. The waveform buffer 6 connects the waveform data processing unit 2 and the waveform data supply unit 3, and performs waveform data transfer buffer relay, thereby synthesizing the sound waveform by the waveform data processing unit 2 and the waveform data supply unit 3. The reading of the waveform data can be individually processed without interfering with each other.
On the other hand, since various methods can be adopted for the interface between the control data processing unit 1 and the waveform data processing unit 2 and between the control data processing unit 1 and the waveform data supply unit 3, in the illustrated example, Directly connected.
The control data processing unit 1, the waveform data processing unit 2, and the waveform data supply unit 3 autonomously perform each internal process independently of the internal processes of other processing units. However, in the illustrated example, the overall integration operation is performed in units of frame periods corresponding to a predetermined plurality of sample periods.

波形データ処理部2は、信号処理バス(第1のバス)20を有し、この信号処理バス20に、信号処理部21、記憶部(第1の記憶部)22が接続されている。信号処理部21は、さらに、転送制御部(第1の転送制御部)23を内蔵する。信号処理部21の出力は、図示しない音波形出力部に接続される。
波形データ処理部2は、取得された制御パラメータと転送された波形データに基づいて、1フレーム毎に、1フレーム分の音波形を合成し、合成された複数サンプルの音波形は、音波形出力部に供給され、ここで音波形がサンプリング周期毎に1サンプルずつ出力される。
音波形合成を1フレーム毎に行うには、図示しない音波形出力部から、所定の複数サンプリングクロックに相当するフレームに同期した信号の供給を受ければよい。
The waveform data processing unit 2 includes a signal processing bus (first bus) 20, and a signal processing unit 21 and a storage unit (first storage unit) 22 are connected to the signal processing bus 20. The signal processing unit 21 further includes a transfer control unit (first transfer control unit) 23. The output of the signal processing unit 21 is connected to a sound waveform output unit (not shown).
The waveform data processing unit 2 synthesizes a sound waveform for one frame for each frame based on the acquired control parameter and the transferred waveform data, and the sound waveforms of the synthesized samples are output as a sound waveform. The sound waveform is output one sample at every sampling period.
In order to perform sound waveform synthesis for each frame, a signal synchronized with a frame corresponding to a predetermined plurality of sampling clocks may be supplied from a sound waveform output unit (not shown).

波形データ処理部2は、制御データ処理部1から、少なくとも現フレーム期間で音波形を合成するのに必要な分の制御パラメータを取得する。かつ、転送制御部23により波形バッファ6から、少なくとも現フレーム期間で音波形を合成するのに必要な分の波形データを、記憶部22に転送する。
上述した制御パラメータの取得、および、波形データの転送は、音波形合成の処理に合わせて、フレーム周期を単位として行うことができる。
フレーム周期を単位とするとは、1フレーム周期の整数倍の時間間隔を意味する。その時々で、整数倍の値が変動しても構わない。
The waveform data processing unit 2 acquires from the control data processing unit 1 control parameters as much as necessary to synthesize a sound waveform in at least the current frame period. At the same time, the transfer control unit 23 transfers waveform data from the waveform buffer 6 to the storage unit 22 as much as necessary to synthesize a sound waveform in the current frame period.
The acquisition of the control parameters and the transfer of the waveform data described above can be performed in units of frame periods in accordance with the sound waveform synthesis process.
The unit of frame period means a time interval that is an integral multiple of one frame period. From time to time, the value of an integer multiple may change.

なお、波形データ処理部2は、音波形の1サンプル毎に音波形合成をしてもよい。しかし、音波形を合成する際に、ピッチなどの状況によって、使用する波形データのサンプル数が大きく変化する。そのため、一時的に供給する波形データが不足して合成波形にノイズが発生するがある。そのため、信号処理部21は、まとまったサイズの1フレーム単位で処理をした方が、必要とする波形データの変動が緩和されるので好ましい。
また、音波形の1サンプル毎に音波形合成をすると、波形データも1サンプルずつ転送しなければならない場合がある。そうすると、1サンプルの転送毎にオーバヘッドを必要とする。これに対し、フレーム毎に音波形合成をすれば、信号処理バス20や波形データバス30上を、波形データも、フレーム周期を単位として転送できるようになるので、高速で効率よく転送できるようになる。
波形データ処理部2は、音波形を1フレーム毎に合成するので、1フレーム分の遅れが生じる。しかし、1フレーム周期を極端に長くしない限り、実用上問題にならない。
Note that the waveform data processing unit 2 may perform sound waveform synthesis for each sample of sound waves. However, when synthesizing sound waveforms, the number of waveform data samples to be used varies greatly depending on the situation such as pitch. For this reason, there is a case where the waveform data to be temporarily supplied is insufficient and noise is generated in the synthesized waveform. Therefore, it is preferable for the signal processing unit 21 to perform processing in units of one frame of a uniform size because fluctuations in necessary waveform data are alleviated.
In addition, when sound waveform synthesis is performed for each sample of a sound waveform, waveform data may have to be transferred one sample at a time. Then, overhead is required for each transfer of one sample. On the other hand, if sound waveform synthesis is performed for each frame, the waveform data can be transferred on the signal processing bus 20 and the waveform data bus 30 in units of frame periods, so that it can be transferred efficiently at high speed. Become.
Since the waveform data processing unit 2 synthesizes the sound waveform every frame, a delay of one frame occurs. However, there is no practical problem unless one frame period is extremely long.

波形データ処理部2の具体構成を説明する。
信号処理部21は、記憶部22に記憶された制御パラメータおよび波形データに基づいてフレーム毎に音波形を合成するとともに、音波形合成状態および音波形合成の進行状況を、制御データ処理部1に通知する。
転送制御部23は、制御データ処理部1から、波形データ転送要求(第2の転送要求)の通知を受けて、波形バッファ6から波形データを記憶部22に転送する。
A specific configuration of the waveform data processing unit 2 will be described.
The signal processing unit 21 synthesizes the sound waveform for each frame based on the control parameter and waveform data stored in the storage unit 22, and the control data processing unit 1 indicates the sound waveform synthesis state and the progress of sound waveform synthesis. Notice.
In response to the notification of the waveform data transfer request (second transfer request) from the control data processing unit 1, the transfer control unit 23 transfers the waveform data from the waveform buffer 6 to the storage unit 22.

信号処理部21は、信号処理バス20上を波形データが転送されている間でも、信号処理部内部の処理をすることができる。
信号処理部21によって合成された複数サンプルの音波形は、図示しない音波形出力手段に供給されて、サンプリング周期毎に1サンプルずつ出力される。
音波形合成状態および音波形合成の進行状況の通知は、音波形合成処理に連動させて、フレーム周期を単位として行うことができる。
The signal processing unit 21 can perform processing inside the signal processing unit even while the waveform data is being transferred on the signal processing bus 20.
The sound wave forms of the plurality of samples synthesized by the signal processing unit 21 are supplied to a sound wave form output unit (not shown), and one sample is output for each sampling period.
The notification of the sound waveform synthesis state and the progress of sound waveform synthesis can be performed in units of frame periods in conjunction with the sound waveform synthesis processing.

制御データ処理部1は、制御パラメータ作成部11と要求作成部12を有し、音波形制御情報を入力する。入力される音波形制御情報とは、電子音楽装置の場合、演奏情報であって、鍵盤から出力されたり、曲データ記憶部から読み出されたりする。
上述した波形データ処理部2において、1音の音波形合成の進行とともに、波形バッファ6から転送した波形データが順次使用されて行くので、順次、1音の後続波形位置の波形データを新たに必要とする。また、異なる音の発音が指示されると、それまで使用されていた波形データが不要になり、新たな音の波形データの転送を必要とする。
The control data processing unit 1 has a control parameter creation unit 11 and a request creation unit 12, and inputs sound waveform control information. In the case of an electronic music apparatus, the input sound waveform control information is performance information, which is output from the keyboard or read from the song data storage unit.
In the waveform data processing unit 2 described above, the waveform data transferred from the waveform buffer 6 is sequentially used as the sound waveform synthesis of one sound progresses. Therefore, the waveform data of the subsequent waveform position of one sound is newly required sequentially. And Further, when the pronunciation of a different sound is instructed, the waveform data that has been used until then becomes unnecessary, and transfer of the waveform data of a new sound is required.

そこで、制御データ処理部1の要求作成部12は、信号処理部21から、音波形合成の進行状況の通知を受け、この音波形合成の進行状況に基づいて、波形データ処理部2に取得されて記憶部22に記憶されている、音波形の合成に必要な波形データが残っている量(残量)を計算する。計算結果に応じて、音波形の合成に新たに必要となる波形データを要求するための、第1の転送要求を波形データ供給部3に通知する。この第1の転送要求には、補充すべき波形データの部分を指定する情報が含まれている。
要求作成部12は、第1の転送要求に応じて、第2の転送要求を波形データ処理部2に通知することにより、信号処理部21に対し、波形データを波形バッファ6から転送させる。
Therefore, the request creation unit 12 of the control data processing unit 1 receives a notification of the progress status of the sound waveform synthesis from the signal processing unit 21 and is acquired by the waveform data processing unit 2 based on the progress status of the sound waveform synthesis. Then, the remaining amount (remaining amount) of the waveform data necessary for the synthesis of the sound waveform stored in the storage unit 22 is calculated. In response to the calculation result, the waveform data supply unit 3 is notified of a first transfer request for requesting waveform data newly required for synthesis of the sound waveform. This first transfer request includes information specifying the portion of the waveform data to be supplemented.
In response to the first transfer request, the request creating unit 12 notifies the waveform data processing unit 2 of the second transfer request, thereby causing the signal processing unit 21 to transfer the waveform data from the waveform buffer 6.

第1の転送要求および第2の転送要求の通知は、音波形合成処理に連動させて、フレーム周期を単位として行うことができる。波形データ処理部2から、フレームに同期した信号の供給を受ければよい。
波形データ処理部2において新たな波形データの転送が必要ないときは、第1の転送要求と第2の転送要求が通知されない。
なお、第1の転送要求および第2の転送要求は、記憶部22における、音波形の合成に必要となる波形データの残量が、例えば、所定量以下になったことに応じて通知してもよい。
また、上述した波形データの残量に代えて、音波形の合成によって消費された波形データの消費量に応じて、第1の転送要求、第2の転送要求を通知してもよい。
The notification of the first transfer request and the second transfer request can be performed in units of frame periods in conjunction with the sound waveform synthesis process. The waveform data processing unit 2 may receive a signal synchronized with the frame.
When the waveform data processing unit 2 does not need to transfer new waveform data, the first transfer request and the second transfer request are not notified.
The first transfer request and the second transfer request are notified in accordance with the remaining amount of waveform data necessary for sound waveform synthesis in the storage unit 22 being, for example, a predetermined amount or less. Also good.
Further, instead of the remaining amount of waveform data described above, the first transfer request and the second transfer request may be notified according to the consumption amount of the waveform data consumed by the synthesis of the sound waveform.

要求作成部12は、また、入力された音波形制御情報に基づいて、以後の音波形合成において新たに必要となると予測される波形データを、予め、波形データ記憶装置4から読み出すように、記憶媒体読出制御部31に読出要求を通知する。読み出せる波形データは、記憶部32から波形バッファ6に波形データが転送された後の空き容量以下になる。
一方、制御パラメータ作成部11は、音波形制御情報および音波形合成状態に基づいて、制御パラメータを作成し、波形データ処理部2に通知する。制御パラメータの通知も、音波形合成処理に連動させて、フレーム周期を単位として行うことができる。
The request creation unit 12 stores the waveform data predicted to be newly required in the subsequent sound waveform synthesis based on the input sound waveform control information so as to be read from the waveform data storage device 4 in advance. A read request is notified to the medium read control unit 31. The waveform data that can be read is less than the free space after the waveform data is transferred from the storage unit 32 to the waveform buffer 6.
On the other hand, the control parameter creation unit 11 creates a control parameter based on the sound waveform control information and the sound waveform synthesis state, and notifies the waveform data processing unit 2 of the control parameter. Notification of control parameters can also be performed in units of frame periods in conjunction with sound waveform synthesis processing.

波形データ供給部3は、第1の転送要求の通知を受けて、記憶部32から音波形の合成に新たに必要となる波形データを、波形バッファ6に転送する。
波形データ処理部2は、第2の転送要求の通知を受けて、波形バッファ6から波形データを記憶部22に転送する。
波形データ供給部3の具体的構成を説明する。
波形データ供給部3は、波形データバス(第2のバス)30を有し、この波形データバス30に、記憶媒体読出制御部31と、記憶部(第2の記憶部)32と、転送制御部(第2の転送制御部)33が接続されている。
In response to the notification of the first transfer request, the waveform data supply unit 3 transfers the waveform data newly required for the synthesis of the sound waveform from the storage unit 32 to the waveform buffer 6.
The waveform data processing unit 2 receives the notification of the second transfer request and transfers the waveform data from the waveform buffer 6 to the storage unit 22.
A specific configuration of the waveform data supply unit 3 will be described.
The waveform data supply unit 3 includes a waveform data bus (second bus) 30. The waveform data bus 30 includes a storage medium read control unit 31, a storage unit (second storage unit) 32, and transfer control. Unit (second transfer control unit) 33 is connected.

転送制御部33は、上述した第1の転送要求の通知を受けて、記憶部32からこの記憶部32に記憶された波形データの少なくとも一部を波形バッファ6に転送する。
上述した記憶媒体読出制御部31は、上述した読出要求の通知を受けて、波形データ記憶装置4の記憶媒体から波形データを読み出して記憶部32に転送する。
波形データバス30では、波形バッファ6を介して波形データ処理部2へ転送する波形データが、音波形合成処理に際して不足しないようにするため、記憶部32からの波形データの転送が、記憶部32への波形データの転送よりも高い優先度で行われるように、バス・アービトレーションがなされる。
この波形データバス30においても、波形データをフレーム単位で転送すれば、バーストモード転送ができるので、高速で効率よく転送できる。上述した第1の転送要求がフレーム単位で通知されるので、これに直ちに応答すればよい。あるいは、波形データ処理部2等から、フレームに同期した信号の供給を受ければよい。
In response to the notification of the first transfer request described above, the transfer control unit 33 transfers at least part of the waveform data stored in the storage unit 32 from the storage unit 32 to the waveform buffer 6.
The storage medium read control unit 31 described above receives the notification of the read request described above, reads the waveform data from the storage medium of the waveform data storage device 4, and transfers it to the storage unit 32.
In the waveform data bus 30, the waveform data transferred from the storage unit 32 is transferred to the storage unit 32 so that the waveform data to be transferred to the waveform data processing unit 2 via the waveform buffer 6 is not deficient in the sound waveform synthesis processing. The bus arbitration is performed so that it is performed with a higher priority than the transfer of the waveform data to the.
Also in the waveform data bus 30, if the waveform data is transferred in units of frames, burst mode transfer can be performed, so that transfer can be efficiently performed at high speed. Since the first transfer request described above is notified in units of frames, it is sufficient to respond immediately. Alternatively, a signal synchronized with the frame may be received from the waveform data processing unit 2 or the like.

制御データ処理部1は、上述した音波形制御情報の入力を開始する以前に、記憶媒体読出制御部31に対し読出要求を通知することにより、波形データ記憶装置4の記憶媒体から、音波形制御情報の入力開始時に必要になると予測される波形データを、予め、記憶部32に転送させておくとよい。
音波形制御情報の入力が開始されれば、開始後の音波形合成に必要となる波形データを、短時間で、記憶部32から波形バッファ6を介して記憶部22に転送できる。
The control data processing unit 1 notifies the storage medium read control unit 31 of a read request before starting the input of the above-described sound waveform control information, so that the sound waveform control is performed from the storage medium of the waveform data storage device 4. Waveform data predicted to be required at the start of information input may be transferred to the storage unit 32 in advance.
When the input of the sound waveform control information is started, the waveform data necessary for the sound waveform synthesis after the start can be transferred from the storage unit 32 to the storage unit 22 via the waveform buffer 6 in a short time.

波形データ処理部2において、音波形の合成が同時に複数のチャンネルについて行われる場合、制御データ処理部1には、各チャンネル別に、音波形合成状態と音波形合成の進行状況の情報が通知される。制御パラメータ作成部11は、各チャンネル別に制御パラメータを波形データ処理部に通知し、要求作成部12も、各チャンネル別に第1の要求、第2の要求を通知する。波形データ供給部3は、各チャンネル別に波形データを読み出し、各チャンネル別に波形データを波形バッファ6に供給する。   When the waveform data processing unit 2 performs sound waveform synthesis simultaneously for a plurality of channels, the control data processing unit 1 is notified of the sound waveform synthesis state and the progress status of the sound waveform synthesis for each channel. . The control parameter creation unit 11 notifies the waveform data processing unit of the control parameters for each channel, and the request creation unit 12 also notifies the first request and the second request for each channel. The waveform data supply unit 3 reads the waveform data for each channel and supplies the waveform data to the waveform buffer 6 for each channel.

上述した説明では、制御パラメータ,第2の転送要求,音波形合成状態,音波形合成の進行状況,第1の転送要求は、音波形合成処理に連動させて、フレーム周期を単位として通知することを説明した。しかし、フレーム周期を単位として通知することは必ずしも要しない。
これに対し、波形データ供給部3から波形バッファ6への波形データの転送、および、波形バッファ6から波形データ処理部2への波形データの転送に関しては、フレーム周期を単位として転送することが好ましい。フレーム周期を単位として転送すれば、1回で転送される波形データの容量がある程度大きなサイズになるので、オーバヘッドが相対的に小さくなり、また、バーストモード転送ができるので、転送効率が良くなる。
In the above description, the control parameter, the second transfer request, the sound waveform synthesis state, the progress status of the sound waveform synthesis, and the first transfer request are notified in units of the frame period in conjunction with the sound waveform synthesis process. Explained. However, it is not always necessary to notify the frame period as a unit.
On the other hand, regarding the transfer of the waveform data from the waveform data supply unit 3 to the waveform buffer 6 and the transfer of the waveform data from the waveform buffer 6 to the waveform data processing unit 2, it is preferable to transfer in units of frame periods. . When the transfer is performed in units of frame periods, the waveform data transferred at one time has a certain size, so that the overhead is relatively small and burst mode transfer is possible, so that transfer efficiency is improved.

図2は、図1に示した実施の一形態を、波形メモリ音源方式の電子音楽装置に適用した具体例を示す構成図である。図中、図1と同様な部分には同じ符号を付している。
制御データ処理用のCPUバス41、図1の信号処理バス20に対応したDSPバス42、図1の波形データバス30に対応したHDDバス43からなる、3バス構成による電子音楽装置である。インターフェース部5の、共有メモリ45経由で各バス間のデータ転送を行うことにより、1本のバスでのアクセス競合の発生をなくすとともに、バスの混雑を緩和する。
FIG. 2 is a block diagram showing a specific example in which the embodiment shown in FIG. 1 is applied to a waveform memory sound source type electronic music apparatus. In the figure, the same parts as those in FIG.
This is an electronic music apparatus having a three-bus configuration comprising a control data processing CPU bus 41, a DSP bus 42 corresponding to the signal processing bus 20 of FIG. 1, and an HDD bus 43 corresponding to the waveform data bus 30 of FIG. By transferring data between the buses via the shared memory 45 of the interface unit 5, the occurrence of access contention on one bus is eliminated and the congestion of the bus is alleviated.

制御データ処理部1,波形データ処理部2,波形データ供給部3は、インターフェース部5により、フレーム周期を単位として動作する。
インターフェース部5は、共有メモリ45と、IRQ#2用のハードウエア割り込み線を有する。一方、IRQ#1は、CODEC52からDSP50へのハードウエア割り込みであって、64サンプル(1フレーム)毎に発生する。IRQ#1は、DSP50のフレーム処理のトリガになる。これに対し、IRQ#2は、DSP50からCPU46へのハードウエア割り込みであって、1フレーム毎に発生するが、IRQ#1とは別のタイミングで発生し、CPU46のフレーム処理のトリガになる。
The control data processing unit 1, the waveform data processing unit 2, and the waveform data supply unit 3 are operated by the interface unit 5 in units of frame periods.
The interface unit 5 includes a shared memory 45 and a hardware interrupt line for IRQ # 2. On the other hand, IRQ # 1 is a hardware interrupt from the CODEC 52 to the DSP 50 and is generated every 64 samples (one frame). IRQ # 1 is a trigger for DSP 50 frame processing. On the other hand, IRQ # 2 is a hardware interrupt from the DSP 50 to the CPU 46 and occurs every frame, but occurs at a timing different from that of IRQ # 1 and serves as a trigger for frame processing of the CPU 46.

制御データ処理部1は、CPUバス41を備え、これに、図1に示した、制御パラメータ作成部11,要求作成部12の機能を実現するCPU46、ワークRAM47、演奏情報(音波形制御情報)を入力するMIDI(Musical Instrument Digital Interface)インターフェース48、電源投入時にワークRAM47にCPU制御プログラムをロードするブートROM49等が接続される。CPU46がMIDIインターフェースを備える場合は、これを、MIDIインターフェース48に置き換えることができる。
本発明に直接関係しない入力操作子や表示器、入出力インターフェース、エフェクタLSI等のブロックについては、図示を省略している。
The control data processing unit 1 includes a CPU bus 41, which includes the CPU 46, work RAM 47, performance information (sound waveform control information) for realizing the functions of the control parameter creation unit 11 and the request creation unit 12 shown in FIG. Is connected to a MIDI (Musical Instrument Digital Interface) interface 48, a boot ROM 49 for loading a CPU control program into the work RAM 47 when the power is turned on. If the CPU 46 has a MIDI interface, it can be replaced with a MIDI interface 48.
Blocks such as an input operator, a display, an input / output interface, and an effector LSI that are not directly related to the present invention are not shown.

CPU46は、ワークRAM47から処理プログラムを読み出し、一時データの格納のためにワークRAM47を読み書きし、必要に応じて共有メモリ45を読み書きする。CPU46はCPUバス41を占有する。
CPUバス41のデータ転送能力は、主にワークRAM47上の処理プログラムの実行時に、CPU46に読み込む(命令fetch)ために使われる。
The CPU 46 reads the processing program from the work RAM 47, reads / writes the work RAM 47 for storing temporary data, and reads / writes the shared memory 45 as necessary. The CPU 46 occupies the CPU bus 41.
The data transfer capability of the CPU bus 41 is mainly used for reading (instruction fetch) into the CPU 46 when a processing program on the work RAM 47 is executed.

波形データ処理部2は、DSPバス42に、図1の信号処理部50として機能するDSP50、記憶部22として機能するワークRAM51、電源投入時にワークRAM51に制御プログラムをロードするブートROM53等が接続されている。DSP50には、音波形出力部として機能するCODEC52が接続される。
DSP50は、ワークRAM51から制御プログラムを読み出し、一時データの格納のためにワークRAM51を読み書きし、必要に応じて共有メモリ45を読み書きする。DSP50は、DSPバス42を占有する。
The waveform data processing unit 2 is connected to the DSP bus 42 with a DSP 50 that functions as the signal processing unit 50 in FIG. 1, a work RAM 51 that functions as the storage unit 22, a boot ROM 53 that loads a control program into the work RAM 51 when the power is turned on, and the like. ing. Connected to the DSP 50 is a CODEC 52 that functions as a sound waveform output unit.
The DSP 50 reads the control program from the work RAM 51, reads / writes the work RAM 51 for temporary data storage, and reads / writes the shared memory 45 as necessary. The DSP 50 occupies the DSP bus 42.

DSP50による、楽音波形合成処理は、繰り返し処理(ループ処理)を基本とする比較的単純な処理アルゴリズムを持つ。特に繰り返し処理に相当するプログラムは、DSP50内にある命令キャッシュに収まる小さなものであるため、命令fetchは、DSPバス42の帯域をほとんど使わない。
転送能力の大半は、波形バッファ共有メモリ58から波形データをワークRAM51に転送するため、および、DSP50とワークRAM51間で処理データを転送するために使用される。
The musical sound waveform synthesis processing by the DSP 50 has a relatively simple processing algorithm based on repetitive processing (loop processing). In particular, since a program corresponding to repetitive processing is a small program that can be accommodated in an instruction cache in the DSP 50, the instruction fetch hardly uses the bandwidth of the DSP bus 42.
Most of the transfer capability is used to transfer waveform data from the waveform buffer shared memory 58 to the work RAM 51 and to transfer processing data between the DSP 50 and the work RAM 51.

ワークRAM51は、最大同時発音チャンネル数分に相当する個数の一時波形データをチャンネル毎に格納している。各チャンネルは、「管理情報」+「4096サンプル分の部分波形」を格納できるバッファで構成される。
CODEC52を介さずに、ディジタル出力することもできる。CPUバス41にエフェクタLSIが接続されてCPU46で制御される場合、DSP50で合成された楽音波形データは、このエフェクタLSIの入力端子に供給されて、エフェクトが付加された後に、D/A変換されて出力される。
The work RAM 51 stores the number of temporary waveform data corresponding to the maximum number of simultaneous sound generation channels for each channel. Each channel is configured by a buffer capable of storing “management information” + “partial waveform for 4096 samples”.
Digital output is also possible without going through the CODEC 52. When the effector LSI is connected to the CPU bus 41 and controlled by the CPU 46, the musical sound waveform data synthesized by the DSP 50 is supplied to the input terminal of the effector LSI, and after the effect is added, it is D / A converted. Is output.

一方、波形データ供給部3は、HDDバス43に、図1に示した記録媒体読出制御部31の機能を実現するHDC59、記憶部32の機能を実現するワークRAM60、転送制御部33の機能を実現するDMAC(Dynamic Memory Access Controller)61が接続されている。
図1に示した波形データ記憶装置4として、遅延時間(レイテンシ)が大きいが、大容量の波形データを記憶できるHDD44を用いる。
HDD44は、大容量の波形データが蓄積可能であるだけでなく、高速でデータ転送が可能である。最近のHDD44の場合、連続読出(sequential access)時には30〜40Mbyte/sec程度、不連続読出(random access)時には10〜20Mbyte/sec程度の性能が一般的である。
しかし、読み出しを要求してから読み出しが開始されるまでの遅延時間は非常に大きく、数10ms程度になる。しかし、実時間で楽音を発生させたい場合には、発音されるまでの遅延時間を、およそ10ms以内に収める必要がある。
On the other hand, the waveform data supply unit 3 provides the HDD bus 43 with the functions of the HDC 59 for realizing the function of the recording medium reading control unit 31 shown in FIG. 1, the work RAM 60 for realizing the function of the storage unit 32, and the transfer control unit 33. A dynamic memory access controller (DMAC) 61 to be realized is connected.
As the waveform data storage device 4 shown in FIG. 1, an HDD 44 having a large delay time (latency) but capable of storing a large amount of waveform data is used.
The HDD 44 can store not only large-volume waveform data but also high-speed data transfer. A recent HDD 44 generally has a performance of about 30 to 40 Mbyte / sec at the time of continuous reading (sequential access) and about 10 to 20 Mbyte / sec at the time of discontinuous reading (random access).
However, the delay time from when the read is requested to when the read is started is very large, about several tens of ms. However, in order to generate a musical sound in real time, it is necessary to keep the delay time until the sound is generated within about 10 ms.

そのため、HDD44から波形データを読出してワークRAM60に一時格納している。
HDDバス43上の転送は、HDD44からワークRAM60への波形データの転送と、ワークRAM60から波形バッファ58への波形データの転送が主である。
波形データの少なくとも1部は、転送期間を異ならせて、HDDバス43上を2度転送されることになる。
HDD44からワークRAM60へ転送するのは、新たに必要になると予測される波形データであるので、全てがワークRAM60から波形バッファ58に転送されるわけではない。従って、単位時間あたりの転送量(バスの帯域使用量)を比較すると、ワークRAM60から波形バッファ58への波形データの単位時間あたりの転送量は、HDD44からワークRAM60への波形データのそれに比べて小さいものである。
しかも、ワークRAM60から波形バッファ58への転送の単位時間あたりの回数(例えば、1フレームに1回)は、HDD44からワークRAM60への転送の単位時間あたりの回数よりも多いので、1回あたりの転送量も小さく、小出しの転送となる。
その結果、DSPバス42とHDDバス43とを設けることにより、波形データ転送のDSPバス42に与える負担を軽減している。
Therefore, the waveform data is read from the HDD 44 and temporarily stored in the work RAM 60.
The transfer on the HDD bus 43 is mainly a transfer of waveform data from the HDD 44 to the work RAM 60 and a transfer of waveform data from the work RAM 60 to the waveform buffer 58.
At least a part of the waveform data is transferred twice on the HDD bus 43 with different transfer periods.
Since what is transferred from the HDD 44 to the work RAM 60 is waveform data that is predicted to be newly required, not all of them are transferred from the work RAM 60 to the waveform buffer 58. Therefore, when the transfer amount per unit time (bus bandwidth usage amount) is compared, the transfer amount per unit time of the waveform data from the work RAM 60 to the waveform buffer 58 is larger than that of the waveform data from the HDD 44 to the work RAM 60. It is a small one.
In addition, the number of transfers from the work RAM 60 to the waveform buffer 58 per unit time (for example, once per frame) is greater than the number of transfers from the HDD 44 to the work RAM 60 per unit time. The transfer amount is small, and the transfer is small.
As a result, by providing the DSP bus 42 and the HDD bus 43, the burden on the DSP bus 42 for waveform data transfer is reduced.

ワークRAM60は、システム起動時などにおいて、例えば、発音される可能性のある楽音波形の先頭部分(例えば、0.5秒分)を、全ての音色の、全てのキーコード(演奏される鍵盤上の全て鍵の音高)毎に静的に格納するメモリとともに、最大同時発音チャンネル数に相当する個数のリングバッファで実現される。なお、静的に格納するメモリは、各チャンネルに共通のものとすることができる。
リングバッファの記憶容量は一定であり、読み出しアドレスと書き込みアドレスが循環的に移動する。新たに書き込まれる波形データによって、古い波形データが順番に上書きされる。各リングバッファは、例えば、1.5秒分の波形データを格納する。
ワークRAM60の管理情報は、制御データ処理部1側のCPU46が持つ。
The work RAM 60, for example, at the time of system start-up, for example, reads the head part of a musical sound waveform that may be sounded (for example, 0.5 seconds), all key codes of all tones (all on the keyboard to be played) This is realized by a number of ring buffers corresponding to the maximum number of simultaneous sounding channels, together with a memory that stores statically for each key pitch). Note that the memory for static storage may be common to each channel.
The storage capacity of the ring buffer is constant, and the read address and write address move cyclically. Old waveform data is overwritten in order by newly written waveform data. Each ring buffer stores, for example, 1.5 seconds of waveform data.
The management information of the work RAM 60 is held by the CPU 46 on the control data processing unit 1 side.

共有メモリ45は、2つのバス間に接続され、2つのバスを論理的に結合し、いずれのバスからもアクセス可能なメモリであり、データを受け渡す窓口となる。共有メモリ45に対し、各バスから自由なタイミングで、非同期の書き込み・読み出しができる。
共有メモリを実現するには、デュアルポート(dual port)RAMを用いたり、FIFO(First In First Out)を用いたり、あるいは、RAMを、高速のクロックにより2つのバスに交互にスイッチング接続して、2つのバスで時分割使用してもよい。共有メモリ45は、専用のハードウエアで実現される。共有メモリ45は、FPGA(Field Programmable Gate Array)で機能を実現することもできる。その際、DMAC61の機能を組み込むことができる。
The shared memory 45 is connected between two buses, logically couples the two buses and is accessible from either bus, and serves as a window for transferring data. Asynchronous writing / reading can be performed on the shared memory 45 at any timing from each bus.
To realize shared memory, use dual port RAM, use FIFO (First In First Out), or connect RAM to two buses alternately by high-speed clock. You may use time division by two buses. The shared memory 45 is realized by dedicated hardware. The shared memory 45 can also realize a function with an FPGA (Field Programmable Gate Array). At this time, the function of the DMAC 61 can be incorporated.

インターフェース部5は、波形バッファ6による波形データの転送に加え、音源パラメータと音源状態の転送、読出要求と転送要求の転送については、共有メモリである、波形バッファ共有メモリ58、音源パラメータ共有メモリ54、音源状態共有メモリ55、読出要求共有メモリ56、転送要求共有メモリ57で実現する。
音源パラメータ共有メモリ54および音源状態共有メモリ55は、CPUバス41とDSPバス42とに接続され、読出要求共有メモリ56と転送要求共有メモリ57とは、CPUバス41とHDDバス43とに、波形バッファ共有メモリ58は、HDDバス43とDSPバス42とに接続される。
波形バッファ共有メモリ58は、リングバッファで実現され、ワークRAM60に格納された波形データの一部を保持する。
波形バッファ共有メモリ58の管理情報は、CPU46が持つ。リングバッファ上には波形データのみが格納される。
In addition to the transfer of the waveform data by the waveform buffer 6, the interface unit 5 is a shared memory for the transfer of the sound source parameters and the sound source state, the transfer of the read request and the transfer request, and the waveform buffer shared memory 58 and the sound source parameter shared memory 54. The sound source state shared memory 55, the read request shared memory 56, and the transfer request shared memory 57 are implemented.
The sound source parameter shared memory 54 and the sound source state shared memory 55 are connected to the CPU bus 41 and the DSP bus 42, and the read request shared memory 56 and the transfer request shared memory 57 are connected to the CPU bus 41 and the HDD bus 43 with waveforms. The buffer shared memory 58 is connected to the HDD bus 43 and the DSP bus 42.
The waveform buffer shared memory 58 is realized by a ring buffer and holds a part of the waveform data stored in the work RAM 60.
The management information of the waveform buffer shared memory 58 is held by the CPU 46. Only waveform data is stored on the ring buffer.

ここで、音源パラメータについて説明する。
図2でいう「音源パラメータ」は、「通常の音源パラメータ」(図1でいう制御パラメータ)に加えて、「波形バッファ共有メモリ58からワークRAM51への転送」(図1でいう第2の転送要求)を指示するパラメータを含む。
「通常の音源パラメータ」とは、キーオン、ノートナンバ、エンベロープレベル等である。
音源パラメータは、フレーム周期を単位として書き換わり、音源パラメータ共有メモリ54の先頭から、「パケットサイズ+パケットボディ(16bit×n)」(nは正の整数)のフォーマットで書き込まれる。あるフレーム周期において、転送すべき音源パラメータがない場合は、パケットサイズを0と書き込む。上述したパケットボディには、複数の音源パラメータが格納できる。
Here, the sound source parameters will be described.
“Sound source parameter” in FIG. 2 is “normal transfer source parameter” (control parameter in FIG. 1) and “transfer from waveform buffer shared memory 58 to work RAM 51” (second transfer in FIG. 1). Parameter) indicating request).
“Normal sound source parameters” include key-on, note number, envelope level, and the like.
The sound source parameters are rewritten in units of frame periods, and are written in the format of “packet size + packet body (16 bits × n)” (n is a positive integer) from the head of the sound source parameter sharing memory 54. If there is no sound source parameter to be transferred in a certain frame period, the packet size is written as 0. A plurality of sound source parameters can be stored in the packet body described above.

「転送要求」について説明する。
ワークRAM60から波形バッファ共有メモリ58への転送を要求するときに、この「転送要求」が通知される。
「ワークRAM60上の転送開始アドレス」+「転送サイズ」+「転送先の発音チャンネル」で構成される。
The “transfer request” will be described.
When a transfer from the work RAM 60 to the waveform buffer shared memory 58 is requested, this “transfer request” is notified.
It consists of “transfer start address on work RAM 60” + “transfer size” + “transfer destination sound channel”.

「音源状態」について説明する。
図2でいう「音源状態」は、各発音チャンネルの「通常の音源状態」(図1でいう、音波形合成状態)に加えて、「楽音波形合成の進行状況」(図1でいう、音波形合成の進行状況)を示す情報を含む。
「通常の音源状態」とは、通常の音源装置において規定されているのと同様な、キーオン状態、振幅エンベロープの現在状態などである。
これに対し、「楽音波形合成の進行状況」を示す情報とは、例えば、楽音合成で現在処理されている波形位置のデータである。波形位置は、ノートオン時の位置を基準点0とした発音位置である。例えば、現時点までの累積サンプル数で表現される。
音源状態共有メモリ55は、同時発音可能な発音チャンネル毎の、各音源の状態を示すマップであって、メモリアドレスは予め決まっている。
The “sound source state” will be described.
The “sound source state” as shown in FIG. 2 includes “normal sound source state” (sound waveform synthesis state as shown in FIG. 1) of each tone generation channel, and “progression state of musical sound waveform synthesis” (as shown in FIG. Information indicating the progress of shape synthesis).
The “normal sound source state” refers to a key-on state, a current state of an amplitude envelope, and the like as defined in a normal sound source device.
On the other hand, the information indicating the “progress status of the musical sound waveform synthesis” is, for example, data on the waveform position currently processed in the musical sound synthesis. The waveform position is a sound generation position with the position at the time of note-on as the reference point 0. For example, it is expressed by the cumulative number of samples up to the present time.
The sound source state sharing memory 55 is a map showing the state of each sound source for each sound generation channel that can be sounded simultaneously, and the memory address is determined in advance.

図3は、図2に示した具体例における各部の処理タイミングの一例を説明するシーケンス図である。
MIDIイベントに同期した処理、HDDの読出関連処理、IRQ#2に同期した処理、IRQ#1に同期した処理、CODEC処理に分けられる。
図中、MIDIイベントに同期した処理と、HDDの読出関連処理と、その他の処理はそれぞれ時間単位が異なる。
DSP50における楽音波形合成は、フレーム周期を単位として信号処理を行う。サンプリングクロックを44.1kHzとし、64サンプルを1フレームとすると、1フレーム期間は約1.45msecとなる。
FIG. 3 is a sequence diagram illustrating an example of processing timing of each unit in the specific example illustrated in FIG.
It can be divided into processing synchronized with MIDI events, processing related to HDD reading, processing synchronized with IRQ # 2, processing synchronized with IRQ # 1, and CODEC processing.
In the figure, processes synchronized with MIDI events, HDD-related processes, and other processes have different time units.
Musical sound waveform synthesis in the DSP 50 performs signal processing in units of frame periods. If the sampling clock is 44.1 kHz and 64 samples are one frame, one frame period is about 1.45 msec.

CPU46の動作に必要なプログラムおよびデータは、Boot ROM49に格納されているものとし、システム起動時に、ワークRAM47に転送されて実行を開始する。
DSP50に関しても同様で、DSP50の動作に必要なプログラムおよびデータは、Boot ROM53に格納され、システム起動時に、ワークRAM51に転送されて実行を開始する。
実時間で楽音を発生させる場合は、予め、システム起動時などにおいて、CPU46から読出要求を通知することにより、発音に使われる可能性のある全ての波形データの、先頭部分の波形を、HDD44からHDC59を介してRAM60へ転送しておき、楽音合成処理中は、これらの波形データをRAM60に保持しておく。
無音の状態から、演奏情報「ノートオン」を受信して1音分の発音が開始され、途中で、演奏情報「エクスプレッション」を受信して音量が変化し、最後に、演奏情報「ノートオフ」の受信で発音が止まるという単純な演奏情報を例に説明する。
It is assumed that programs and data necessary for the operation of the CPU 46 are stored in the Boot ROM 49, and are transferred to the work RAM 47 and started to be executed when the system is activated.
The same applies to the DSP 50. Programs and data necessary for the operation of the DSP 50 are stored in the Boot ROM 53, transferred to the work RAM 51 and started to be executed when the system is activated.
When generating a musical sound in real time, a read request is notified from the CPU 46 in advance at the time of system startup or the like, so that the waveform of the head portion of all waveform data that may be used for sound generation is obtained from the HDD 44. The waveform data is transferred to the RAM 60 via the HDC 59, and these waveform data are held in the RAM 60 during the musical tone synthesis process.
From the silent state, the performance information “Note On” is received and sound generation for one sound is started. During the middle, the performance information “Expression” is received and the volume changes. Finally, the performance information “Note Off” An example of simple performance information in which the pronunciation stops upon reception of a song will be described.

図3(a)に示すように、演奏情報(音波形制御情報)71,75,77をMIDIデータとして受信し、ワークRAM47に入力する。
図3(b)に示すように、CPU46は、MIDIのノートオン、ノートオフ、コントロールチェンジ、ピッチベンド等のイベントをトリガにして、音源パラメータ作成処理を行う。
図示を省略したが、発音中において、音源パラメータは、5〜20msecのタイマー割り込みによっても作成される。
音源パラメータは、MIDIのような演奏データ、および、既に説明した、キーオン状態、振幅エンベロープの現在状態など「通常の音源状態」(音波形合成状態)に基づいて作成される。
CPU46は、音源パラメータ72,76,78をワークRAM47上に作成する。この作成処理に要する時間は一定しない。
CPU46は、HDD44の読出制御の処理をする。受信したMIDIデータに基づいて、以後の楽音波形合成に新たに必要となる波形データを予測する。
As shown in FIG. 3A, performance information (sound waveform control information) 71, 75, 77 is received as MIDI data and input to the work RAM 47.
As shown in FIG. 3B, the CPU 46 performs sound source parameter creation processing using events such as MIDI note-on, note-off, control change, and pitch bend as triggers.
Although illustration is omitted, the sound source parameter is also generated by a timer interrupt of 5 to 20 msec during sound generation.
The sound source parameters are created based on performance data such as MIDI, and the “normal sound source state” (sound waveform synthesis state) such as the key-on state and the current state of the amplitude envelope already described.
The CPU 46 creates sound source parameters 72, 76, and 78 on the work RAM 47. The time required for this creation process is not constant.
The CPU 46 performs a read control process of the HDD 44. Based on the received MIDI data, the waveform data newly required for the subsequent musical sound waveform synthesis is predicted.

図3(c)に示すように、新たに必要となると予測される波形データを、HDD44からワークRAM60へ読み出すための読出要求73を、ワークRAM47から読出要求共有メモリ56に転送する。
例えば、MIDIデータの受信により、ある音高の発音が開始されれば、発音された音高の楽音波形の波形データ、および、この音高からピッチベンド操作がなされて音高が変化する可能性のある範囲の全ての音高(例えば、現在において発音中の音高から、2オクターブ下から2オクターブ上まで)の楽音波形の波形データを、予めHDD44から順次読み出してワークRAM60に格納する。
As shown in FIG. 3C, a read request 73 for reading the waveform data predicted to be newly required from the HDD 44 to the work RAM 60 is transferred from the work RAM 47 to the read request shared memory 56.
For example, if the sound generation of a certain pitch is started by receiving MIDI data, the waveform data of the sound waveform of the generated pitch, and the pitch bend operation may be performed from this pitch and the pitch may change. Musical tone waveform data of all pitches in a certain range (for example, from the pitch that is currently sounding to 2 octaves lower to 2 octaves higher) are sequentially read out from the HDD 44 and stored in the work RAM 60 in advance.

図3(d)に示すように、HDC59は、読出要求共有メモリ56にアクセスし、格納されている、読出要求の通知74を読み出す。
図3(e)に示すように、HDC59は、読出要求に基づいた波形データをHDD44から読み出し、ワークRAM60に転送する。
要求された読出が完了するタイミング79まで、図3(c)に示したCPU46のタスクはブロックされる。従って、波形データの読出が完了すると、CPU46は、次の読出要求80を読出要求共有メモリ56に転送可能になる。
As shown in FIG. 3D, the HDC 59 accesses the read request shared memory 56 and reads the stored read request notification 74.
As shown in FIG. 3E, the HDC 59 reads waveform data based on the read request from the HDD 44 and transfers it to the work RAM 60.
Until the request 79 is completed, the task of the CPU 46 shown in FIG. 3C is blocked. Therefore, when the reading of the waveform data is completed, the CPU 46 can transfer the next read request 80 to the read request shared memory 56.

次に、IRQ#2に同期した処理を説明する。
図3(k)に示すように、割り込み信号(IRQ#2)91が、DSP50からCPU46に通知される。
図3(f)に示すように、CPU46は、割り込み信号(IRQ#2)91のタイミングで、音源状態共有メモリ55から現フレーム(1)での音源状態(「通常の音源状態」および楽音波形合成の進行状況)92を読み出し、ワークRAM47に書き込む。
CPU46は、現フレーム(1)での音源状態(楽音波形合成の進行状況)92に基づいて、次のフレーム(2)以降のフレームで、DSP50が楽音波形を合成するために必要となる波形データの、ワークRAM51に残っているデータ量(残量)を計算し、新たに必要となる波形データがあれば、これを転送させることを決定する。
Next, processing synchronized with IRQ # 2 will be described.
As shown in FIG. 3 (k), an interrupt signal (IRQ # 2) 91 is notified from the DSP 50 to the CPU 46.
As shown in FIG. 3 (f), the CPU 46 sends the sound source state (“normal sound source state” and musical tone waveform in the current frame (1) from the sound source state shared memory 55 at the timing of the interrupt signal (IRQ # 2) 91. The synthesis progress status) 92 is read out and written into the work RAM 47.
The CPU 46 calculates the waveform data necessary for the DSP 50 to synthesize the musical sound waveform in the frames after the next frame (2) based on the sound source state (musical sound waveform synthesis progress status) 92 in the current frame (1). The amount of data (remaining amount) remaining in the work RAM 51 is calculated, and if there is newly required waveform data, it is determined to transfer this.

図3(g)に示すように、CPU46は、転送要求共有メモリ57に、波形データをワークRAM60から波形バッファ58へ転送することを要求する、「転送要求」93を通知する。転送すべき波形データは、後でワークRAM51に転送すべき波形データに対応する。
図3(h)に示すように、波形データ供給部3側のDMAC61は、転送要求共有メモリ57を読み出し、「転送要求」94を取得する。なお、一般的には、DMAC自身がメモリにアクセスしてデータを読み出すことはないが、ここでは、特殊化されたDMAC61を用いるか、共有メモリ45側にDMAC61に通知する機能を持たせることにより、結果としてDMAC61が「転送要求」を取得する。
As shown in FIG. 3G, the CPU 46 notifies the transfer request shared memory 57 of a “transfer request” 93 that requests transfer of waveform data from the work RAM 60 to the waveform buffer 58. The waveform data to be transferred corresponds to the waveform data to be transferred to the work RAM 51 later.
As shown in FIG. 3H, the DMAC 61 on the waveform data supply unit 3 side reads the transfer request shared memory 57 and acquires a “transfer request” 94. In general, the DMAC itself does not access the memory and read data, but here, using a specialized DMAC 61 or by providing a function for notifying the DMAC 61 on the shared memory 45 side. As a result, the DMAC 61 obtains a “transfer request”.

図3(i)に示すように、DMAC61は、波形データをワークRAM60から波形バッファ共有メモリ58に転送する。「転送要求」によって通知された転送が完了するまでは、図3(g)に示した転送要求のタスクはブロックされている。
図3(j)に示すように、CPU46は、演奏情報と「通常の音源状態」(音波形合成状態)に基づいて音源パラメータを作成し、ワークRAM47に記憶している音源パラメータを、音源パラメータ共有メモリ54に転送する。
As shown in FIG. 3I, the DMAC 61 transfers the waveform data from the work RAM 60 to the waveform buffer shared memory 58. Until the transfer notified by the “transfer request” is completed, the transfer request task shown in FIG. 3G is blocked.
As shown in FIG. 3 (j), the CPU 46 creates sound source parameters based on the performance information and “normal sound source state” (sound waveform synthesis state), and uses the sound source parameters stored in the work RAM 47 as the sound source parameters. Transfer to the shared memory 54.

次に、IRQ#1に同期した処理を説明する。
図3(p)に示すように、割り込み信号(IRQ#1)81,86,…は、1フレーム毎に発生し、DSP50に供給される。
図3(l)に示すように、DSP50は、音源パラメータ共有メモリ54に転送された音源パラメータ82,87,…を、ワークRAM51に転送する。
なお、音源パラメータは、データサイズが小さいため、ワークRAM51に転送する代わりに、DSP50の内部RAMに転送してもよい。
Next, processing synchronized with IRQ # 1 will be described.
As shown in FIG. 3 (p), the interrupt signals (IRQ # 1) 81, 86,... Are generated every frame and supplied to the DSP 50.
As shown in FIG. 3L, the DSP 50 transfers the sound source parameters 82, 87,... Transferred to the sound source parameter sharing memory 54 to the work RAM 51.
The sound source parameters may be transferred to the internal RAM of the DSP 50 instead of being transferred to the work RAM 51 because the data size is small.

図3(m)に示すように、DSP50は、現フレーム(1)での最新の音源状態83,88,…を、ワークRAM51から音源状態共有メモリ55に転送する。転送された音源状態は、先に説明したように、図3(f)に示したタイミングで、制御データ処理部1の側のRAM47に転送されることになる。
なお、音源状態はデータサイズが小さいため、ワークRAM51の代わりにDSP50の内部RAMから転送してもよい。
図3(n)に示すように、波形バッファ共有メモリ58に記憶されている波形データ84,89をワークRAM51に転送する。この転送制御は、DSP50の本体自身が直接的に実行してもよいし、本実施例のようにDSP50にDMAC(転送制御部23)が内蔵されている場合は、この内蔵DMACが、DSP50の本体からの指示で転送制御をしてもよい。
As shown in FIG. 3 (m), the DSP 50 transfers the latest sound source states 83, 88,... In the current frame (1) from the work RAM 51 to the sound source state shared memory 55. As described above, the transferred sound source state is transferred to the RAM 47 on the control data processing unit 1 side at the timing shown in FIG.
Since the sound source state has a small data size, it may be transferred from the internal RAM of the DSP 50 instead of the work RAM 51.
As shown in FIG. 3 (n), the waveform data 84 and 89 stored in the waveform buffer shared memory 58 are transferred to the work RAM 51. This transfer control may be directly executed by the main body of the DSP 50, or when the DMAC (transfer control unit 23) is built in the DSP 50 as in the present embodiment, this built-in DMAC is connected to the DSP 50. Transfer control may be performed according to an instruction from the main body.

ここで、波形バッファ共有メモリ58に記憶されていた波形データとは、図3(c)に示した読出要求73に応答してワークRAM60に読み出された図3(e)に示した波形データ(ただし、図3では、フレーム(1)の時刻よりも以前の、図示しない読み出しによる波形データ)が、図3(i)の波形データ95のタイミングで波形バッファ共有メモリ58に記憶されたものである。
すなわち、ワークRAM60に予め記憶されていた波形データのうち、次のフレーム(2)以降で必要となる波形データを、図3(f)に示された、現フレーム(1)での最新の音源状態(楽音波形合成の進行状況)92に基づいて決定し、波形バッファ共有メモリ58に記憶する。
Here, the waveform data stored in the waveform buffer shared memory 58 is the waveform data shown in FIG. 3E read to the work RAM 60 in response to the read request 73 shown in FIG. (However, in FIG. 3, the waveform data by reading (not shown) before the time of frame (1)) is stored in the waveform buffer shared memory 58 at the timing of the waveform data 95 in FIG. 3 (i). is there.
That is, of the waveform data stored in advance in the work RAM 60, the waveform data necessary for the next frame (2) and thereafter is the latest sound source in the current frame (1) shown in FIG. It is determined based on the state (progress status of musical sound waveform synthesis) 92 and stored in the waveform buffer shared memory 58.

その結果、図3(n)において、ワークRAM51に転送される波形データ84は、次のフレーム(2)以降で必要となる波形データである。
また、フレーム(2)の期間においては、新たな波形データの転送が必要ないと判定されたので、図3(g)に示すように、波形データの転送要求が作成されなかった。そのため、図3(i)に示すように、波形データは波形バッファ共有メモリ58に転送されず、フレーム(3)の期間において、図3(n)に示すように、ワークRAM51に波形データが転送されない。
As a result, in FIG. 3 (n), the waveform data 84 transferred to the work RAM 51 is the waveform data required after the next frame (2).
In addition, during the period of frame (2), it was determined that transfer of new waveform data was not necessary, so that no waveform data transfer request was created as shown in FIG. Therefore, the waveform data is not transferred to the waveform buffer shared memory 58 as shown in FIG. 3 (i), and the waveform data is transferred to the work RAM 51 as shown in FIG. 3 (n) during the period of the frame (3). Not.

図3(o)に示すように、DSP50は、ワークRAM51に記憶された音源パラメータ(通常の音源パラメータ)82および波形データ84を読み出し、これらに基づいて、RAM51上で、次のフレーム(2)における64サンプル分の楽音合成処理を行う。
同時発音可能な発音チャンネル毎に順番に1フレーム分の楽音合成処理をし、既に楽音合成処理されたチャンネルの累算波形に新たに楽音合成されたチャンネルの楽音波形を加算して行く。
CODEC52は、ワークRAM51に格納された1フレーム分の楽音合成波形を、1サンプルずつD/A変換して合成音を出力する。
As shown in FIG. 3 (o), the DSP 50 reads the sound source parameters (normal sound source parameters) 82 and the waveform data 84 stored in the work RAM 51, and on the RAM 51 based on these, the next frame (2) is read out. Performs musical tone synthesis for 64 samples.
The musical tone synthesis process for one frame is performed in order for each of the sound generation channels that can be produced simultaneously, and the musical tone waveform of the newly synthesized musical tone channel is added to the accumulated waveform of the channel that has already been synthesized.
The CODEC 52 D / A converts the musical tone synthesis waveform for one frame stored in the work RAM 51 one sample at a time and outputs a synthesized tone.

上述した説明において、DSPバス42上において、図3(l),図3(n)に示したように、波形データの波形バッファ共有メモリ58からワークRAM51への転送期間と、DSP50がワークRAM51との間で楽音波形合成のためのデータ転送をする期間とは、DSP50がバス・アービトレーションをすることにより、順番に行われ、転送期間が重なることはない。   In the above description, on the DSP bus 42, as shown in FIGS. 3 (l) and 3 (n), the waveform data is transferred from the waveform buffer shared memory 58 to the work RAM 51, and the DSP 50 is connected to the work RAM 51. The period during which data for musical tone waveform synthesis is transferred between the DSPs 50 is sequentially performed by the bus arbitration by the DSP 50, and the transfer periods do not overlap.

これに対し、HDDバス上においては、図3(i)に示したDMAC61による、ワークRAM60から波形バッファ共有メモリ58への転送が、図3(e)に示したHDC59からワークRAM60への波形データ転送よりも高い優先度で行われるように制御する。
その結果、競合するときは、HDC59からワークRAM60への波形データ転送に割り込んで、ワークRAM60から波形バッファ共有メモリ58への転送が行われるようにバス・アービトレーション制御をする。
この優先制御により、HDD44からの読出処理が、波形データ処理部2による楽音波形合成処理の遂行に影響を与えないようにする。
On the other hand, on the HDD bus, the transfer from the work RAM 60 to the waveform buffer shared memory 58 by the DMAC 61 shown in FIG. 3 (i) is the waveform data from the HDC 59 to the work RAM 60 shown in FIG. 3 (e). Control is performed so that it is performed with higher priority than transfer.
As a result, when there is a conflict, the bus arbitration control is performed so that the waveform data transfer from the HDC 59 to the work RAM 60 is interrupted and the transfer from the work RAM 60 to the waveform buffer shared memory 58 is performed.
This priority control prevents the reading process from the HDD 44 from affecting the performance of the musical tone waveform synthesis process by the waveform data processing unit 2.

図2において、仮に、波形バッファ共有メモリ58が設けられないで、HDDバス43がDSPバス42と直結され、DSP50によってバス・アービトレーションを行うとすると、HDC59からワークRAM60へ転送された予測波形データのうち、少なくとも一部の、現実に必要となった波形データが、ワークRAM60からワークRAM51へ再び転送されることになる。従って、所定転送量の最大2倍の波形データが、DSPバス42を流れることになる。DSPバス42は、もともとかなりの量のデータを転送しているため、DSPバス42上の転送が混雑して、転送の遅延によって、DSP50の楽音波形合成処理に支障を来す。
これに対し、図2に示したような、波形バッファ共有メモリ58が設けられた構成では、DSPバス42の転送能力が損なわれない。
In FIG. 2, if the waveform buffer shared memory 58 is not provided and the HDD bus 43 is directly connected to the DSP bus 42 and bus arbitration is performed by the DSP 50, the predicted waveform data transferred from the HDC 59 to the work RAM 60 Among them, at least a part of the waveform data actually required is transferred from the work RAM 60 to the work RAM 51 again. Therefore, waveform data that is twice as large as the predetermined transfer amount flows through the DSP bus 42. Since the DSP bus 42 originally transfers a considerable amount of data, the transfer on the DSP bus 42 is congested, and the tone waveform synthesis processing of the DSP 50 is hindered by the transfer delay.
On the other hand, in the configuration provided with the waveform buffer shared memory 58 as shown in FIG. 2, the transfer capability of the DSP bus 42 is not impaired.

上述した説明では、図3(e)に示した波形データ読み出し処理が完了したことに同期して、図3(c)に示した読出要求を行っている。これに代えて、共有メモリ45に、読み出し完了通知を格納する共有メモリを新たに設け、この共有メモリを介してHDC59から読み出し完了通知をCPU46に通知することにより、読み出し処理と読み出し要求とを非同期で動作させてもよい。
同様に、図3(g)に示した波形転送要求についても、共有メモリ45に、波形転送完了通知を格納する共有メモリを新たに設け、この共有メモリを介してHDC59から波形転送完了通知をCPU46に通知することにより、波形転送処理と波形転送要求とを非同期で動作させてもよい。
In the above description, the readout request shown in FIG. 3C is made in synchronization with the completion of the waveform data readout processing shown in FIG. Instead, a shared memory for storing a read completion notification is newly provided in the shared memory 45, and a read completion notification is notified from the HDC 59 to the CPU 46 via this shared memory, whereby the read processing and the read request are asynchronously performed. It may be operated with.
Similarly, for the waveform transfer request shown in FIG. 3G, the shared memory 45 is newly provided with a shared memory for storing the waveform transfer completion notification, and the waveform transfer completion notification is sent from the HDC 59 via this shared memory to the CPU 46. In this case, the waveform transfer process and the waveform transfer request may be operated asynchronously.

上述した説明では、図3(c),(d)に示したように、読出要求共有メモリ56を用いた。これに代えて、読出要求をCPU46からHDC59に通知するために、割り込み信号を用いてもよい。
同様に、図3(g),(h)に示したように、転送要求共有メモリ57を用いる代わりに、転送要求を通知するために、割り込み信号を用いてもよい。
In the above description, as shown in FIGS. 3C and 3D, the read request shared memory 56 is used. Instead, an interrupt signal may be used to notify the HDC 59 of a read request from the CPU 46.
Similarly, as shown in FIGS. 3G and 3H, instead of using the transfer request shared memory 57, an interrupt signal may be used to notify a transfer request.

上述した説明では、音源パラメータおよび音源状態の通知のために、共有メモリを用いた。これに代えて、図5に示した再生音発生部131のように、DSP42を、CPUバス41に接続されるI/Oポートが設けられたものにすれば、DSPバス42とCPUバス41の両方に接続されるようになるから、音源パラメータ共有メモリ54,音源状態共有メモリ55を必要としない。
また、読み出し要求および転送要求の通知についても、図5に示したSCSIインターフェース129のように、HDC59,DMAC61を、CPUバス41に接続されるI/Oポートが設けられたものにすれば、共有メモリを要しない。
In the above description, the shared memory is used for notification of the sound source parameters and the sound source state. Instead, if the DSP 42 is provided with an I / O port connected to the CPU bus 41 as in the reproduced sound generating unit 131 shown in FIG. Since they are connected to both, the sound source parameter sharing memory 54 and the sound source state sharing memory 55 are not required.
As for the notification of the read request and the transfer request, if the HDC 59 and the DMAC 61 are provided with an I / O port connected to the CPU bus 41 as in the SCSI interface 129 shown in FIG. Does not require memory.

上述した説明では、CPU46の動作に必要な処理プログラム、DSP50の動作に必要な処理プログラムは、それぞれ、ブートROM49,53に格納されており、システム起動時に、ワークRAM47,51にロードされるものとして説明した。
これに代えて、ブートROM49,53には、ブートローダのみを記憶するようにし、HDD44に処理プログラムを格納しておいてもよい。システム起動時に、ブートローダが、HDD44からプログラムを読み出し、ワークRAM47,51にロードしてもよい。
HDD44からプログラムをロードするためには、共有メモリ45に、プログラム転送用のデータバッファを設ければよい。
In the above description, the processing program necessary for the operation of the CPU 46 and the processing program necessary for the operation of the DSP 50 are stored in the boot ROMs 49 and 53, respectively, and are loaded into the work RAMs 47 and 51 when the system is activated. explained.
Instead, only the boot loader may be stored in the boot ROMs 49 and 53, and the processing program may be stored in the HDD 44. At the time of system startup, the boot loader may read a program from the HDD 44 and load it into the work RAMs 47 and 51.
In order to load a program from the HDD 44, a data buffer for program transfer may be provided in the shared memory 45.

上述した説明では、波形データ記憶装置として、HDDを例示して説明したが、読み出しに時間がかかる記憶媒体であっても、大容量の記憶装置であればよい。例えば、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical Disk),DVD(Digital Versatile Disk)などの記憶媒体の再生装置、アクセス遅延時間の大きな低速のRAMなどでもよい。USB2.0 Flash Memoryでもよい。
上述した説明では、リアルタイムで入力されるMIDIメッセージなどの演奏情報を処理して楽音波形を合成する具体例を説明した。
In the above description, the HDD has been exemplified as the waveform data storage device. However, even a storage medium that takes time to read may be a large-capacity storage device. For example, a playback device for a storage medium such as a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical Disk), a DVD (Digital Versatile Disk), or a low-speed RAM with a large access delay time may be used. USB2.0 Flash Memory may be used.
In the above description, a specific example has been described in which musical tone information is synthesized by processing performance information such as MIDI messages input in real time.

しかし、記憶装置に記憶されたSMF(Standard MIDI File)などの楽曲データを再生して楽音波形を合成することもできる。この場合、楽曲データ中に含まれている時間情報(デュレーション情報)に応じて、一旦リアルタイムのMIDIデータに変換すれば、上述した具体例と同様に、楽音波形を合成することができる。
また、時間情報を含めて音源パラメータ(制御パラメータ)として、DSP50に通知し、DSP50において、時間情報を解釈して楽音波形を合成するようにしてもよい。
この場合、予め発音遅延を特定できるため、ワークRAM60の容量を減らすこともできる。
However, it is also possible to synthesize musical tone waveforms by playing back music data such as SMF (Standard MIDI File) stored in the storage device. In this case, once converted into real-time MIDI data according to time information (duration information) included in the music data, a musical sound waveform can be synthesized as in the above-described specific example.
Further, the DSP 50 may be notified as a sound source parameter (control parameter) including time information, and the DSP 50 may synthesize a musical sound waveform by interpreting the time information.
In this case, since the pronunciation delay can be specified in advance, the capacity of the work RAM 60 can be reduced.

上述した説明では、波形メモリ音源方式で楽音波形を発生させることを前提に説明した。しかし、波形データを素材に用いるものであれば、どのような音源方式にも適用可能である。
例えば、奏法対応高品質音源(AEM:Articulation Element Modeling)に適用できる。
また、自然楽器の楽音を模擬する楽音波形に限らず、人工的に作成された楽音波形であってもよい。また、人声音を音声合成して、歌詞を歌わせたり、音声アナウンスをさせたりする場合にも、音波形を合成する方式であれば、同様に適用できる。
すなわち、本発明は、楽音信号、人声音等を含む一般的な音を合成する場合に適用できる。
The above description is based on the assumption that a musical sound waveform is generated by the waveform memory sound source method. However, any sound source method can be applied as long as waveform data is used as a material.
For example, it can be applied to high-quality sound source (AEM: Articulation Element Modeling).
Further, not only a musical sound waveform that simulates a musical sound of a natural musical instrument, but a musical sound waveform that is artificially created may be used. In addition, when synthesizing human voices and singing lyrics or making voice announcements, any method that synthesizes sound waveforms can be similarly applied.
That is, the present invention can be applied when synthesizing general sounds including musical tone signals, human voice sounds, and the like.

本発明の実施の一形態について、その機能構成を説明するブロック図である。It is a block diagram explaining the function structure about one Embodiment of this invention. 図1に示した実施の一形態を、波形メモリ音源方式の電子音楽装置に適用した具体例を示す構成図である。It is a block diagram which shows the specific example which applied one Embodiment shown in FIG. 1 to the electronic music apparatus of a waveform memory sound source system. 図2に示した具体例における各部の処理タイミングの一例を説明するシーケンス図である。It is a sequence diagram explaining an example of the processing timing of each part in the specific example shown in FIG. 波形メモリ音源方式の電子音楽装置を示すブロック図である。It is a block diagram which shows the electronic music apparatus of a waveform memory sound source system. 従来の楽音データ記録再生装置を示すブロック図である。It is a block diagram which shows the conventional musical sound data recording / reproducing apparatus.

符号の説明Explanation of symbols

1…制御データ処理部、2…波形データ処理部、3…波形データ供給部、4…波形データ記憶装置、5…インターフェース部、6…波形バッファ   DESCRIPTION OF SYMBOLS 1 ... Control data processing part, 2 ... Waveform data processing part, 3 ... Waveform data supply part, 4 ... Waveform data storage device, 5 ... Interface part, 6 ... Waveform buffer

Claims (2)

外部から音波形制御情報を入力し、大容量の記憶媒体に記憶された波形データに基づいて音波形合成を行う音波形合成装置において、
波形データ処理手段と、波形データ供給手段と、波形バッファと、制御データ処理手段を有し、
前記波形バッファは、該波形データ処理手段と該波形データ供給手段との間に接続され
記制御データ処理手段は、
前記外部から前記音波形制御情報を入力し、該音波形制御情報に応じて、前記波形データ処理手段における以後の音波形合成において新たに必要となると予測される波形データを前記記憶媒体から読み出させるための読み出し要求を作成し、該読み出し要求を前記波形データ供給手段に通知し、かつ、
前記波形データ処理手段から、現時点において音波形合成のための信号処理をしている波形位置を表す音波形合成の進行状況の通知を受け、該音波形合成の進行状況に基づいて音波形合成に新たに必要となる波形データを前記波形バッファに転送することを要求する第1の転送要求を作成し、該第1の転送要求を前記波形データ供給手段に通知し、かつ、
前記波形データ処理手段から、現時点において音波形合成のためにしている信号処理の内容を表す音波形合成状態の通知を受け、前記外部から入力した音波形制御情報と前記音波形合成状態に基づいて制御パラメータを作成し、該制御パラメータと、前記第1の転送要求に応じた第2の転送要求を、前記波形データ処理手段に通知するものであり
前記波形データ供給手段は、
前記制御データ処理手段から前記第1の転送要求の通知を受けて、複数サンプルを1フレームとして、フレーム周期を単位として、前記記憶媒体から読み出された波形データを前記波形バッファに転送するものであり
前記波形データ処理手段は、
前記制御データ処理手段から前記第2の転送要求の通知を受けて、前記フレーム周期を単位として、前記波形バッファから前記波形データを自身に転送
前記制御データ処理手段から取得された前記制御パラメータと前記波形バッファから転送された波形データに基づいて、前記フレーム毎に1フレーム分の音波形を合成するとともに、前記音波形合成状態と前記音波形合成の進行状況を前記制御データ処理手段に通知するものである、
ことを特徴とする音波形合成装置。
In a sound waveform synthesizer that inputs sound waveform control information from the outside and performs sound waveform synthesis based on waveform data stored in a large-capacity storage medium.
A waveform data processing means, a waveform data supply means, a waveform buffer, and a control data processing means;
The waveform buffer is connected between the waveform data processing means and the waveform data supply means ,
Before Symbol control data processing means,
The sound waveform control information is input from the outside , and waveform data predicted to be newly required in subsequent sound waveform synthesis in the waveform data processing means is read from the storage medium in accordance with the sound waveform control information. Creating a read request to notify the waveform data supply means of the read request, and
The waveform data processing means is notified of the progress status of the sound waveform synthesis representing the waveform position that is currently being processed for sound waveform synthesis, and the sound waveform synthesis is performed based on the progress status of the sound waveform synthesis. Creating a first transfer request for requesting transfer of newly required waveform data to the waveform buffer, notifying the waveform data supply means of the first transfer request; and
Wherein the waveform data processing section receives a notification of the sound waveform synthesis state representing the content of signal processing which is due to the sound waveform synthesis at the present time, on the basis of the sound waveform synthesis conditions and sound waveform control information input from the external create a control parameter, which the control parameter, the second transfer request corresponding to the first transfer request, notifying the waveform data processing section,
The waveform data supply means includes
In response to the notification of the first transfer request from the control data processing means, the waveform data read from the storage medium is transferred to the waveform buffer with a plurality of samples as one frame and a frame period as a unit. Yes ,
The waveform data processing means includes
Upon receiving the notification of the second transfer request from the control data processor, a unit of the frame period, and transfers the waveform data itself from the waveform buffer,
Based on the control parameter acquired from the control data processing means and the waveform data transferred from the waveform buffer, the sound waveform for one frame is synthesized for each frame, and the sound waveform synthesis state and the sound waveform are synthesized. Notifying the control data processing means of the progress of synthesis,
A sound wave synthesizer characterized by the above.
前記波形データ処理手段は、第1のバスと、該第1のバスに接続された信号処理手段と第1の記憶手段を有し、
前記波形データ供給手段は、第2のバスと、該第2のバスに接続された記憶媒体読出手段と第2の記憶手段を有し、
前記波形バッファは、前記第1のバスと前記第2のバスの間に接続され、前記第2の記憶手段に記憶された波形データを前記第1の記憶手段に供給するものである、
ことを特徴とする請求項1に記載の音波形合成装置。
The waveform data processing means includes a first bus, signal processing means connected to the first bus, and first storage means,
The waveform data supply means has a second bus, a storage medium reading means connected to the second bus, and a second storage means,
The waveform buffer is connected between the first bus and the second bus, and supplies the waveform data stored in the second storage means to the first storage means.
The sound waveform synthesizer according to claim 1.
JP2004091518A 2004-03-26 2004-03-26 Sound waveform synthesizer Expired - Fee Related JP4102931B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2004091518A JP4102931B2 (en) 2004-03-26 2004-03-26 Sound waveform synthesizer
EP05006393A EP1580729B1 (en) 2004-03-26 2005-03-23 Sound waveform synthesizer
DE602005004685T DE602005004685T2 (en) 2004-03-26 2005-03-23 Sound waveform synthesizer
CN200510055994.8A CN1674090B (en) 2004-03-26 2005-03-24 Sound waveform synthesizer
US11/090,663 US7381879B2 (en) 2004-03-26 2005-03-25 Sound waveform synthesizer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004091518A JP4102931B2 (en) 2004-03-26 2004-03-26 Sound waveform synthesizer

Publications (2)

Publication Number Publication Date
JP2005275241A JP2005275241A (en) 2005-10-06
JP4102931B2 true JP4102931B2 (en) 2008-06-18

Family

ID=35174947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004091518A Expired - Fee Related JP4102931B2 (en) 2004-03-26 2004-03-26 Sound waveform synthesizer

Country Status (1)

Country Link
JP (1) JP4102931B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008015315A (en) * 2006-07-07 2008-01-24 Casio Comput Co Ltd Musical sound generating apparatus and musical sound generating program

Also Published As

Publication number Publication date
JP2005275241A (en) 2005-10-06

Similar Documents

Publication Publication Date Title
US7381879B2 (en) Sound waveform synthesizer
JPH06308964A (en) Musical tone forming device
US20120325073A1 (en) Flash memory based stored sample electronic music synthesizer
JP3637578B2 (en) Music generation method
US5763801A (en) Computer system and method for performing wavetable music synthesis which stores wavetable data in system memory
JP3163984B2 (en) Music generator
JP4102931B2 (en) Sound waveform synthesizer
JP2882311B2 (en) Music system, sound source and tone synthesis method
JP4102930B2 (en) Sound waveform synthesizer
JPH07121181A (en) Sound information processor
JP3918817B2 (en) Music generator
JP3637577B2 (en) Music generation method
JPH08160961A (en) Sound source device
JP2006221209A (en) Musical tone generator, musical tone generating method and memory medium storing program relating to this method
JP6531432B2 (en) Program, sound source device and acoustic signal generation device
JP2765433B2 (en) Memory playback device
JP2000122668A (en) Digtal sound data processor, and computor system
JP5359203B2 (en) Music processing apparatus and program
JPH10312189A (en) Musical sound generation method
JPH02135564A (en) Data processor
JP2005037964A (en) Waveform generating apparatus and method
JPH07121182A (en) Interruption information generating device and sound information processor
JP3855710B2 (en) Digital signal processor for sound waveform data
JP3758267B2 (en) Sound source circuit setting method, karaoke apparatus provided with sound source circuit set by the method, and recording medium
JP3659002B2 (en) Musical sound data processing apparatus and computer system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050728

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070403

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070531

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: 20080226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080310

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110404

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120404

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130404

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140404

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees