JP3858905B2 - Sound generator using memory - Google Patents
Sound generator using memory Download PDFInfo
- Publication number
- JP3858905B2 JP3858905B2 JP2004083463A JP2004083463A JP3858905B2 JP 3858905 B2 JP3858905 B2 JP 3858905B2 JP 2004083463 A JP2004083463 A JP 2004083463A JP 2004083463 A JP2004083463 A JP 2004083463A JP 3858905 B2 JP3858905 B2 JP 3858905B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- memory
- latch
- read
- 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 - Lifetime
Links
- 230000004044 response Effects 0.000 claims description 19
- 239000000284 extract Substances 0.000 claims 3
- 238000001514 detection method Methods 0.000 description 15
- 239000011295 pitch Substances 0.000 description 13
- 238000000034 method Methods 0.000 description 9
- 230000001934 delay Effects 0.000 description 8
- 230000003111 delayed effect Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
この発明は波形メモリに記憶されている波形データを読み出すことによって楽音波形を発生するメモリ使用音源装置に関する。 The present invention relates to a memory-use sound generator for generating a musical sound waveform by reading waveform data stored in a waveform memory.
従来の波形メモリ音源は、発生すべき楽音の音高に対応する位相データに基づいて楽音波形のサンプル値データを記憶している波形メモリから波形データを順次読み出すことによって、楽音信号を発生している。
このような波形メモリを搭載した電子楽器においては、複数の楽音信号を同時に発音するために、時分割チャンネル処理という手法を用いている。この時分割チャンネル処理とは、ある一定時間を複数にタイムスロットに分割し、そのタイムスロット毎に波形データを読み出し、その一定時間内の複数のタイムスロットで読み出された波形データを累算することによって、波形メモリからは一定時間毎に複数の波形データが同時に読み出されるようにすることをいう。
A conventional waveform memory sound source generates a musical sound signal by sequentially reading waveform data from a waveform memory that stores musical sound waveform sample value data based on phase data corresponding to the pitch of the musical sound to be generated. Yes.
In an electronic musical instrument equipped with such a waveform memory, a technique called time-division channel processing is used to simultaneously generate a plurality of musical tone signals. This time division channel processing divides a certain time into a plurality of time slots, reads waveform data for each time slot, and accumulates the waveform data read in the plurality of time slots within the certain time. This means that a plurality of waveform data is simultaneously read from the waveform memory at regular intervals.
従来の時分割チャンネル処理においては、ある一定時間が可能な限り多くのタイムスロットに分割されており、また、一般には波形メモリ音源はCPU等の処理装置の動作クロックとは非同期で動作しているために、波形メモリ音源が時分割チャンネル発音処理を行っている場合には、CPU等の処理装置による波形メモリへのアクセスを行うことはできなかった。 In the conventional time division channel processing, a certain time is divided into as many time slots as possible, and generally, the waveform memory sound source operates asynchronously with the operation clock of a processing device such as a CPU. Therefore, when the waveform memory sound source is performing time-division channel sound generation processing, the waveform memory cannot be accessed by a processing device such as a CPU.
本発明は上述の点に鑑みてなされたものであり、処理装置との間でのデータの授受の仕方を工夫したメモリ使用音源装置を提供しようとするものである。 The present invention has been made in view of the above-described points, and an object of the present invention is to provide a memory-use sound source device in which a method of exchanging data with a processing device is devised.
この発明に係るメモリ使用音源装置は、複数チャンネル時分割動作する音源装置であって、音源用のデータを記憶するメモリと、当該音源装置における前記複数チャンネルの各チャンネルの動作を制御する制御データを記憶し、処理手段による該制御データの書き込みが可能な制御レジスタと、前記制御レジスタの制御データに含まれるアドレス情報に基づいて、各チャンネル毎にメモリ読み書き用のアドレスを生成するアドレスカウンタ手段と、新たな音源用のデータとして前記メモリに記憶させようとするデータを前記処理手段により入力して保持させることが可能なラッチを含み、前記複数チャンネルのうちの楽音発生に使用されない特定のチャンネルを除く残りの各チャンネルのタイミングで、当該残りの各チャンネルで発生すべき楽音に応じて前記アドレスカウンタ手段により生成された読み出し用の前記アドレスに基づいて前記メモリから前記音源用のデータを読み出すとともに、該特定のチャンネルのタイミングで、前記ラッチに保持された前記新たな音源用のデータを、該特定のチャンネルに対応して生成された書き込み用の前記アドレスに基づいて前記メモリに書き込むメモリアクセス手段と、前記残りの各チャンネルについて、前記発生すべき楽音に応じて読み出された前記音源用のデータと前記制御データとに基づきそれぞれ楽音信号を生成する楽音生成手段とを具備することを特徴とする。
この発明によれば、処理手段から与えられる制御データに含まれるアドレス情報に基づいて、各チャンネル毎にメモリ読み書き用のアドレスが生成され、複数チャンネルのうちの楽音発生に使用されない特定のチャンネルを除く残りの各チャンネルのタイミングで、該残りの各チャンネルで発生すべき楽音に応じて生成された読み出し用のアドレスに基づいて前記メモリから前記音源用のデータを読み出し、これに基づき楽音信号を生成する。その一方で、処理手段からメモリに音源用のデータを書き込むときには、処理手段からの指示に従って特定のチャンネルに対応してデータ書き込みのためのアドレスが生成され、かつ、書き込もうとするデータがラッチで一時保存される。よって、メモリアクセス手段では、該ラッチのデータを、複数の時分割チャンネル中の楽音発生に使用されない特定のチャンネルを使用して、該生成されたアドレスに基づいて該メモリに書き込めばよいため、楽音生成処理する時分割チャンネルタイミングと干渉しないので、書き込み処理に余裕をもたせることができる。従って、処理手段がこのメモリ使用音源装置と非同期で動作するものであっても、問題のない制御を行うことができる。その場合、1回の書き込み指示で複数のデータを供給し、これらを該ラッチに一時保存しておき、これを該ラッチに順次書き込むように制御することで処理手段の効率的なバス利用が行える。
請求項2の実施態様として、前記処理手段が、書き込もうとする前記音源用のデータを前記ラッチに保持させ、前記メモリに該データを書き込むアドレスを示すアドレス情報を前記制御レジスタに書き込むとともに、書き込み指示を発生することにより、前記アドレスカウンタ手段は、前記制御レジスタに書き込まれた該アドレス情報に基づき前記特定のチャンネルのアドレスを生成し、前記メモリアクセス手段は、前記特定のチャンネルのタイミングで、前記ラッチに保持された該データを該アドレスに基づき前記メモリに書き込むことを特徴とする。
また、請求項3の実施態様として、前記ラッチは複数のデータを保持することが可能であり、前記処理手段は、書き込もうとする複数のデータを前記ラッチに保持させ、前記アドレスカウンタ手段は、前記特定のチャンネルのタイミングに、該特定のチャンネルのアドレスとして複数のアドレスを順次生成し、前記メモリアクセス手段は、該生成される複数のアドレスに基づいて、前記ラッチに保持された複数のデータを前記メモリに順次書き込んで、該順次書き込みが終了したら書き込み終了通知を発生することを特徴とする。
A sound source device using a memory according to the present invention is a sound source device that performs time division operation of a plurality of channels, and stores a memory that stores sound source data and control data for controlling the operation of each channel of the plurality of channels in the sound source device. A control register for storing and writing the control data by the processing means, and an address counter means for generating a memory read / write address for each channel based on address information included in the control data of the control register; Including a latch capable of inputting and holding data to be stored in the memory as new sound source data by the processing means, and excluding specific channels that are not used for generating musical sounds from the plurality of channels in the remaining time of each channel, to be generated in the rest of the channels Reads the data for the sound source from the memory based on the address for reading generated by the address counter means in response to the sound, the timing of the particular channel, the new sound source is held in the latch Memory access means for writing data to the memory based on the write address generated corresponding to the specific channel, and reading the remaining channels according to the tone to be generated And a tone generator for generating a tone signal based on the sound source data and the control data.
According to the present invention, the address for memory read / write is generated for each channel based on the address information included in the control data supplied from the processing means, and a specific channel that is not used for generating a musical sound among a plurality of channels is excluded. in the remaining time of each channel, said based on the remaining address for reading generated according to the musical tone to be generated in each channel reads data for the sound source from the memory, generates a tone signal based on this . On the other hand, when writing sound source data from the processing means to the memory, an address for data writing is generated corresponding to a specific channel in accordance with an instruction from the processing means, and the data to be written is temporarily stored in the latch. Saved. Therefore, in the memory access means, it is only necessary to write the data of the latch into the memory based on the generated address using a specific channel that is not used for generating a musical sound among a plurality of time division channels. Since there is no interference with the time-division channel timing for generation processing, a margin can be given to the writing processing. Therefore, even if the processing means operates asynchronously with the memory-use sound source device, control without problems can be performed. In that case, a plurality of data is supplied by a single write instruction, these are temporarily stored in the latch, and control is performed so that the data is sequentially written in the latch, so that the processing means can efficiently use the bus. .
According to an embodiment of the present invention, the processing means holds the data for the sound source to be written in the latch, writes address information indicating an address at which the data is written to the memory, and writes to the control register. The address counter means generates an address of the specific channel based on the address information written in the control register, and the memory access means generates the latch at the timing of the specific channel. The data held in the memory is written into the memory based on the address.
As an embodiment of claim 3, the latch can hold a plurality of data, the processing means holds a plurality of data to be written in the latch, and the address counter means A plurality of addresses are sequentially generated as addresses of the specific channel at a specific channel timing, and the memory access means generates a plurality of data held in the latch based on the generated plurality of addresses. The writing is sequentially performed on the memory, and when the sequential writing is completed, a writing end notification is generated.
この発明の更に別の観点に従うメモリ使用音源装置は、複数チャンネル時分割動作する音源装置であって、音源用のデータを記憶するメモリと、当該音源装置における前記複数チャンネルの各チャンネルの動作を制御する制御データを記憶し、処理手段による該制御データの書き込みが可能な制御レジスタと、前記制御レジスタの制御データに含まれるアドレス情報に基づいて、各チャンネル毎にメモリ読み書き用のアドレスを生成するアドレスカウンタ手段と、前記処理手段によりデータを取り出すことが可能なラッチを含み、前記複数チャンネルのうちの楽音発生に使用されない特定のチャンネルを除く残りの各チャンネルのタイミングで、当該残りの各チャンネルで発生すべき楽音に応じて前記アドレスカウンタ手段により生成された読み出し用の前記アドレスに基づいて前記メモリから前記音源用のデータを読み出すとともに、該特定のチャンネルのタイミングで、該特定のチャンネルに対応して生成された読み出し用の前記アドレスに基づいて前記メモリから前記音源用のデータを読み出して前記ラッチに入力して保持させ、その結果、該ラッチに保持したデータが前記処理手段により取り出されるようにする、メモリアクセス手段と、前記残りの各チャンネルについて、前記発生すべき楽音に応じて読み出された前記音源用のデータと前記制御データとに基づきそれぞれ楽音信号を生成する楽音生成手段とを具備することを特徴とする。
この発明によれば、処理手段から与えられる制御データに含まれるアドレス情報に基づいて、各チャンネル毎にメモリ読み書き用のアドレスが生成され、複数チャンネルのうちの楽音発生に使用されない特定のチャンネルを除く残りの各チャンネルのタイミングで、該残りの各チャンネルで発生すべき楽音に応じて生成された読み出し用のアドレスに基づいて前記メモリから前記音源用のデータを読み出し、これに基づき楽音信号を生成する。その一方で、メモリから処理手段に音源用のデータを読み出すときには、処理手段からの指示に従って特定のチャンネルに対応してデータ読み出しのためのアドレスが生成され、複数の時分割チャンネル中の楽音発生に使用されない特定のチャンネルを使用して、該生成されたアドレスに基づいて前記メモリから前記音源用のデータを読み出して前記ラッチに保持させ、該ラッチに保持したデータが前記処理手段により取り出されるようにする。よって、処理手段では、該ラッチに保存してあるデータを取り込めばよいため、また、メモリからの読み出しに際しても楽音生成処理する時分割チャンネルタイミングと干渉しないので、取り込み処理に余裕をもたせることができる。従って、処理手段がこのメモリ使用音源装置と非同期で動作するものであっても、問題のない制御を行うことができる。その場合、1回の読み出し指示で複数の音源用のデータを読み出し、これらをバッファに一時保存しておき、これを処理手段に転送するようにすれば、処理手段の効率的なバス利用が図れる。
請求項5の実施態様として、前記処理手段が、前記メモリから前記音源用のデータを読み出そうとするアドレスを示すアドレス情報を前記制御レジスタに書き込むとともに、読み出し指示を発生することにより、前記アドレスカウンタ手段は、前記制御レジスタに書き込まれた該アドレス情報に基づき前記特定のチャンネルのアドレスを生成し、前記メモリアクセス手段は、前記特定のチャンネルのタイミングで、前記アドレスに基づき前記メモリから前記音源用のデータを読み出して前記ラッチに保持させ、該読み出しが終了したら読み出し終了通知を発生し、該終了通知に応じて、前記処理手段は、前記メモリから読み出されて前記ラッチに保持されたデータを該ラッチから取り出すことを特徴とする。
また、請求項6の実施態様として、前記ラッチは複数のデータを保持することが可能であり、前記アドレスカウンタ手段は、前記特定のチャンネルのタイミングに、該特定のチャンネルのアドレスとして複数のアドレスを順次生成し、前記メモリアクセス手段は、該生成される複数のアドレスに基づいて、前記メモリから複数のデータを順次読み出して前記ラッチに順次保持させ、前記処理手段は、前記メモリから読み出されて前記ラッチに保持された複数のデータを該ラッチから順次取り出すことを特徴とする。
A memory-use sound source device according to still another aspect of the present invention is a sound source device that performs time division operation of a plurality of channels, and controls a memory that stores data for sound sources and operation of each channel of the plurality of channels in the sound source device. A control register in which control data can be stored and written by the processing means, and an address for generating a memory read / write address for each channel based on address information included in the control data of the control register and counter means comprises a latch that can retrieve data by said processing means, the remaining time of each channel except the particular channel that is not used for tone generation of said plurality of channels generated in the rest of the channels generated by the address counter means in response to should do tone Together based on the address for the out look reads the data for the sound source from the memory, the memory at the timing of the specific channel, based on the address for reading that is generated corresponding to the particular channel From the memory access means for reading out the data for the sound source and inputting it to the latch and holding it, so that the data held in the latch is retrieved by the processing means, and the remaining channels, And a tone generator for generating a tone signal based on the sound source data and the control data read according to the tone to be generated.
According to the present invention, the address for memory read / write is generated for each channel based on the address information included in the control data supplied from the processing means, and a specific channel that is not used for generating a musical sound among a plurality of channels is excluded. in the remaining time of each channel, said based on the remaining address for reading generated according to the musical tone to be generated in each channel reads data for the sound source from the memory, generates a tone signal based on this . On the other hand, when reading sound source data from the memory to the processing means, an address for data reading is generated corresponding to a specific channel in accordance with an instruction from the processing means, so that a musical sound is generated in a plurality of time-division channels. The sound source data is read from the memory based on the generated address using a specific channel that is not used and held in the latch, and the data held in the latch is retrieved by the processing means. To do. Therefore, since the processing means only needs to capture the data stored in the latch, and it does not interfere with the time-division channel timing for the tone generation processing even when reading from the memory, it is possible to give a margin to the capture processing. . Therefore, even if the processing means operates asynchronously with the memory-use sound source device, control without problems can be performed. In that case, if data for a plurality of sound sources are read out by a single read instruction, these are temporarily stored in a buffer, and transferred to the processing means, the efficient use of the processing means bus can be achieved. .
According to an embodiment of the present invention, the processing means writes address information indicating an address from which the sound source data is to be read from the memory to the control register and generates a read instruction, thereby generating the address. The counter means generates the address of the specific channel based on the address information written in the control register, and the memory access means generates the sound source for the sound source from the memory based on the address at the timing of the specific channel. Is read and held in the latch, and when the read is completed, a read end notification is generated, and in response to the end notification, the processing means reads the data read from the memory and held in the latch. It is characterized by being taken out from the latch.
As an embodiment of
以下、この発明の実施例を添付図面に従って詳細に説明する。
図2は、本発明の一実施例に係るサンプラータイプの波形メモリ音源を内蔵した電子楽器の全体構成を示す図である。
マイクロプロセッサユニット(CPU)20は、この電子楽器全体の動作を制御するものである。このCPU20に対しては、データ及びアドレスバス2Jを介してROM21、RAM22、鍵盤23、パネルスイッチ24、パネル表示器25、インターフェイス26、アナログ−ディジタル変換器(ADC)27及び音源回路2Aが接続されている。
ROM21はCPU20の各種プログラムや各種データを格納するものであり、リードオンリーメモリ(ROM)で構成されている。
RAM22は、CPU20がプログラムを実行する際に発生する各種データを一時的に記憶するものであり、ランダムアクセスメモリ(RAM)の所定のアドレス領域がそれぞれ割り当てられ、レジスタ、フラグ、バッファ等として利用される。
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
FIG. 2 is a diagram showing an overall configuration of an electronic musical instrument incorporating a sampler type waveform memory sound source according to an embodiment of the present invention.
The microprocessor unit (CPU) 20 controls the operation of the entire electronic musical instrument. The
The
The
鍵盤23は、発音すべき楽音の音高を選択するための複数の鍵を備えており、各鍵の操作に応じてノートオン、ノートオフ、ベロシティ、ピッチデータ等の各種データをデータ及びアドレスバス2Jを介してCPU20に出力する。鍵盤23の代わりにコンピュータ等を接続し、所望の演奏データを入力するようにしてもよい。
パネルスイッチ24は、音色、音量、効果等を選択・設定・制御するための各種操作子を含むものである。
パネル表示器25はCPU20の制御状態、設定データの内容等の各種の情報を液晶パネル(LCD)等に表示するものである。
マイク28は音声信号や楽器音等をアナログの電圧信号に変換して、ADC27に出力する。ADC27はマイク28からのアナログの電圧信号をディジタル信号に変換して、データ及びアドレスバス2Jに出力する。
ハードディスク29は数十〜数百メガバイト(MB)の記憶容量を有し、インターフェイス26を介してデータ及びアドレスバス2Jに接続されている。
The
The
The
The
The
音源回路2Aは、発生すべき楽音の音高に対応して変化する周波数データに応じて音源回路2A内の波形メモリ2Dから楽音波形データを順次読み出すメモリ読み出し方式により、楽音信号を発生するものであり、複数のチャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス2Jを経由して与えられた演奏データ(MIDI規格に準拠したデータ等)を入力し、このデータに基づき楽音信号を発生する。なお、この実施例では、電子楽器は32チャンネル時分割で動作し、その中の31チャンネルを同時発音に使用し、残りの1チャンネルをCPU20によるデータ読出書込用として使用している。
The
音源回路2Aは、複数のチャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス2Jを経由して与えられた演奏データ(ピッチデータ、ノートオン、波形スタートアドレス(WSA)、ループスタートアドレス(LPS)、ループエンドアドレス(LPE)、レート、レベル、その他の各種のパラメータやMIDI規格に準拠したデータ等)を入力し、これらのデータに基づき楽音信号を発生し、サウンドシステム2Hに出力する。
The
音源回路2Aは、音源I/O2B、波形発生部2C、波形メモリ2D、エンベロープ付与部2E、チャンネル累算部2F及びディジタル−アナログ変換器(DAC)2Gからなる。
音源I/O2Bは、データ及びアドレスバス2Jを介してCPU20から供給される演奏データを音源側に入力したり、音源側のデータをデータ及びアドレスバス2Jを介してCPU20に出力したりする。
The
The sound source I /
波形発生部2Cは、音源I/O2Bを介して入力される演奏データに基づいて波形メモリ2Dから波形データを読み出し、読み出された波形データに応じた楽音信号をエンベロープ付与部2Eに出力する。
波形メモリ2Dは、立上り部(アタック部)を構成する複数周期分のデータと、その後の持続部(ループ部)を構成する1周期分のデータとからなる波形データやマイク28によってサンプルされた波形データ等を記憶しており、波形発生部2Cからのアドレス信号を入力し、このアドレス信号に応じた領域に記憶されている波形データを出力する。
The
The
エンベロープ付与部2Eは、音源I/O2Bを介して入力されるレート、レベル等の演奏データに基づいた形状のエンベロープを波形発生部2Cからの楽音信号に付加し、それをキーオンの入力に同期したタイミングでチャンネル累算部2Fに出力する。
チャンネル累算部2Fは、32チャンネル時分割でエンベロープ付与部2Eから出力される各チャンネルの楽音信号を累算処理してDAC2Gに出力する。
The
The
DAC2Gは、ディジタルの楽音信号をアナログの楽音信号に変換してサウンドシステム2Hに出力する。
音源回路2Aから出力された楽音信号は、サウンドシステム2Hを介してスピーカから発音される。
The
The musical sound signal output from the
図1は、図2の音源I/O2Bの詳細構成を示す図である。
この実施例では、音源I/O2Bは、CPUバス制御部11、アドレスラッチ(Aラッチ)12、データラッチ(Dラッチ)13、書込用バッファアンプ14、読出用バッファアンプ15、書込用デコーダ16、書込パルス発生部17、読出用デコーダ18、チャンネルラッチ(chラッチ)19、チャンネル変換部(ch変換部)1A、チャンネルカウンタ(chカウンタ)1B、セレクタ1C、楽音制御レジスタ1D、波形メモリI/O1Eから構成される。
FIG. 1 is a diagram showing a detailed configuration of the sound source I /
In this embodiment, the tone generator I /
音源I/O2Bは、データ及びアドレスバスを介して下位アドレスADR(8ビット構成)、データDATA(8ビット構成)、書込制御信号*WR及び読出制御信号*RDをCPU20から入力する。ここで、書込制御信号*WR及び読出制御信号*RDの「*」はローレベル“0”でイネーブルとなるアクティブローを示す。CPU20が出力するアドレスの中の上位アドレスは、各機器指定用アドレスとして利用されるので、この音源I/O2Bには、下位アドレスADRのみが入力する。
The sound source I /
CPUバス制御部11は、書込制御信号*WRがローレベル“0”の場合には、書込用バッファアンプ14にイネーブル信号を供給し、逆に、読出制御信号*RDがローレベル“0”の場合には、読出用バッファアンプ15にイネーブル信号を供給する。すなわち、CPUバス制御部11は、書込用バッファアンプ14又は読出用バッファアンプ15のいずれか一方のみをイネーブルとするように動作する。また、CPUバス制御部11は、書込制御信号*WR又は読出制御信号*RDがローレベル“0”になった場合、その立下りのタイミングでアドレスラッチ12及びデータラッチ13にラッチパルスLWを出力する。
When the write control signal * WR is at the low level “0”, the CPU
アドレスラッチ12は、CPUバス制御部11からのラッチパルスLWを入力することによって下位アドレスADRをラッチする。データラッチ13は、CPUバス制御部11からラッチパルスLWを入力することによってデータDATAをそれぞれラッチする。
書込用バッファアンプ14は、CPUバス制御部11からのイネーブル信号の入力に応じてデータDATAをデータラッチ13に出力する。読出用バッファアンプ15は、CPUバス制御部11からのイネーブル信号の入力に応じて波形メモリI/Oからの読出データWDRをデータバスDATAに出力する。
The
The
書込用デコーダ16は、書込制御信号*WRがローレベル“0”になった場合に、アドレスラッチ12にラッチされているアドレスADRをデコードし、書込デコード信号を書込パルス発生部17に出力する。
書込パルス発生部17は、書込用デコーダ16からの書込デコード信号に応じた書込パルス信号WP1を波形メモリI/O1Eの書込アドレス端子WADに、書込パルス信号WP2を楽音制御レジスタ1Dに出力すると共に、ラッチパルスLCをチャンネルラッチ19に出力する。すなわち、書込パルス発生部17はアドレスラッチ12にラッチされているアドレスADRが「0」、「1」、「3」、「4」の場合にそれぞれ、対応するA0、A1、A3及びA4のいずれかの書込パルス信号WP1を出力する。
The
The
読出用デコーダ18は、読出制御信号*RDがローレベル“0”になった場合に、アドレスラッチ12にラッチされているアドレスADRをデコードし、読出デコード信号RP1を波形メモリI/O1Eの読出アドレス端子RADに出力する。すなわち、読出デコーダ18はアドレスラッチ12にラッチされているアドレスADRが「2」、「5」、「6」の場合にそれぞれ、対応するA2、A5及びA6の読出デコード信号RP1のうちの1つを出力する。
The
チャンネルラッチ19は、書込パルス発生部17からラッチパルスLCを入力すると、それに応じてデータラッチ13からのデータDATAをラッチする。このデータDATAはチャンネル選択データCSDとしてチャンネル変換部1Aに出力される。
チャンネル変換部1Aは、アドレスラッチ12からのアドレスADR及びチャネルラッチ19からのチャンネル選択データCSDを入力し、それに基づいて楽音制御レジスタ1Dのどのチャンネルタイミング位置にデータを書き込むのか、そのチャンネル指定アドレスCDAを発生する。
チャンネルカウンタ1Bは、0チャンネルから31チャンネルまでを順次カウントし、そのチャンネル番号をセレクタ1Cに出力する。なお、チャンネルカウンタ1Bは、最後の32番目の31チャンネルに対応した1チャンネル分の期間だけハイレベル“1”をとるようなタイミング信号φ31chを波形メモリI/Oのチャンネル端子chに出力する。
When the latch pulse LC is input from the
The
The
セレクタ1Cは、チャンネル変換部1Aからのチャンネル指定アドレスCDA及びチャンネルカウンタ1Bからのチャンネル番号を入力し、いずれか一方を規則的なクロックに基づいて楽音制御レジスタ1Dに出力する。
楽音制御レジスタ1Dは、波形発生部2Cにおける波形生成動作を制御するための複数種類のデータ(音高を制御するピッチデータ、楽音の発生の開始及び終了を指示するノートオン、波形スタートアドレス(WSA)、ループスタートアドレス(LPS)、ループエンドアドレス(LPE)及び、その他変調効果やタッチによる音色変化等を制御するデータ)やエンベロープ付与部における音量エンベロープ付与動作を制御するための複数種類のデータ(演算型エンベロープ発生に必要な各ステートのレートデータとレベルデータ、ノートオン及びその他のデータ)をそれぞれ各時分割チャンネルタイミングに対応した領域に格納する複数のレジスタで構成されている。ここで、セレクタ1Cの出力するデータは、複数時分割チャンネル分記憶された各レジスタのデータのうちの、どのチャンネルタイミングのデータをアクセスするか指示するタイミング位置を指示する指示データとして使用される。
The
The musical
音源の各時分割チャンネルにおいて、波形発生部2C及びエンベロープ付与部2Eでそれぞれ必要とされる上記複数種類のデータを供給するため、楽音制御レジスタ1Dに記憶された上記複数種類のデータは、音源の各時分割チャンネルのタイミングにおいてセレクタ1Cを介してチャンネルカウンタ1Bから供給されるチャンネル番号に応じて並列に読み出され、読み出された複数種類のデータはそれぞれ波形発生部2Cやエンベロープ付与部2Eに並列に供給される。
一方、CPU20からの楽音制御レジスタ1Dに対する書き込みは、上述したチャンネルカウンタ1Bによる読み出しに重ならないタイミングにおいて、セレクタ1Cがチャンネル変換部1Aの出力するチャンネル指定アドレスCDAを選択しつつ行われる。
In each time division channel of the sound source, the plurality of types of data stored in the
On the other hand, writing to the musical
ところで、Aラッチ12にラッチされたアドレスADRは8ビットであるので、このアドレスにより、「0」〜「255」のアドレスの指定が可能である。上述したように、書込パルス信号WP1と読出デコード信号RP1として、アドレスの「0」〜「6」が使われており、さらにチャンネルラッチ19用のラッチパルスLCのアドレス「7」とすると、この楽音制御レジスタ1D中の上記複数種類のレジスタのそれぞれのアドレスとしては、それ以外の「8」〜「255」のアドレスが使用可能である。例えば、ノートオンがアドレス「8」、ピッチデータがアドレス「9」、アタックステートのレートデータがアドレス「10」といった具合にアドレスが割り当てられている。
By the way, since the address ADR latched by the
つまり、楽音制御レジスタ1Dの書き込み時、CPU20は、前もってチャンネルラッチ19に書き込みを行いたい時分割チャンネルの番号を書き込み、その後に、上述したような書き込みを行う楽音制御レジスタ1D中のレジスタの種類を指定するアドレスをAラッチ12に供給すると共に書き込む値をDラッチ13に供給し、その状態で書き込み信号*WRをイネーブルにして書き込みを実行する。
この時、チャンネル変換部1Aから楽音制御レジスタ1Dに対して上記指示データとして供給されているチャンネル指示アドレスCDAは、Aラッチ12の指定するアドレスにあるレジスタのチャンネルラッチ19に書き込まれたチャンネル番号に対応したタイミング位置を指定している。書き込み信号*WRのイネーブルで書き込み用デコーダ16にて発生するデコード信号を受けて、書込パルス発生部17は書込パルス信号WP2の複数信号線の中のAラッチ12に指定するアドレスに対応したラインに一発の書き込みパルスを発生する。この書き込みパルスに応じて、楽音制御レジスタ1Dの中の、Aラッチ12のアドレスにより指定された種類のレジスタの、チャンネルラッチ19にラッチされたチャンネル番号に対応したタイミング位置に、Dラッチ13にラッチされた値のデータが書き込まれる。
That is, when writing the musical
At this time, the channel instruction address CDA supplied as the instruction data from the
波形メモリI/O1Eは、チャンネルカウンタ1Bからのタイミング信号φ31chをチャンネル端子chに、データラッチ13からの書込波形データWDをデータ入力端子DIに、書込パルス発生部17からの書込パルス信号WP1を書込アドレス端子WADに、読出用デコーダ18からの読出デコード信号RP1を読出アドレス端子RADにそれぞれ入力し、波形メモリ2Dから読み出された読出波形データWDR及び読出終了データWED(但し、バスはWRDと共通)をデータ出力端子DOから読出用バッファアンプ15に出力する。すなわち、波形メモリI/O1Eは、波形メモリ2Dに書き込むべき書込波形データWDを取り込み、それを所定のタイミング(チャンネルカウンタ1Bからタイミング信号φ31chが出力されるタイミング)で波形メモリ2Dに書き込む。なお、この波形メモリI/Oの詳細構成については後述する。
The waveform memory I / O1E has the timing signal φ31ch from the
図3は、図1の波形メモリI/O1Eの詳細構成を示す図である。
チャンネル制御レジスタ31には、アドレスADRが「0」の場合に書込パルス発生部17から出力される書込パルス信号A0に応じてデータラッチ13からの書込データWDが書き込まれ、書き込まれたデータのうち動作中信号USEをアクセス回数検出部35及び4連続パルス発生部3Eに出力すると共に、書込読出制御信号W/*Rを4連続パルス発生部3E及びセレクタ3Hの制御端子に出力する。なお、この動作中信号USEは図4の周波数ナンバ発生器(Fナンバ発生器)41にも出力される。
FIG. 3 is a diagram showing a detailed configuration of the waveform memory I / O1E of FIG.
In the
パルス発生部32は、アドレスADRが「6」の場合に読出デコーダ18から出力される読出デコード信号A6を入力した時点で1サンプル読出完了パルスRSPをオア回路33に出力する。
オア回路33は、パルス発生部32から1サンプル読出完了パルスRSPとアドレスADRが「4」の場合に書込パルス発生部17から出力される書込パルス信号A4を入力し、両者の論理和出力をオア回路3F及びアクセス回数検出部35に出力する。
The
The OR
上位ラッチ34は、アドレスADRが「3」の場合に書込パルス発生部17から出力される書込パルス信号A3を入力した時点でデータラッチ13からの書込波形データWDをラッチし、それを次のアドレスADR「4」と共に送られてくる下位8ビット構成の書込波形データWDと並列にセレクタ3HのB端子に出力する。すなわち、上位ラッチ34は8ビット構成の書込波形データWDを16ビット構成に拡張する。
The
アクセス回数検出部35は、アドレスADRが「1」の場合に書込パルス発生部17から出力される書込パルス信号(以下「スタート信号」とする)A1と、チャンネル制御レジスタ31からの動作中信号USEと、オア回路33からの論理和信号を入力する。アクセス回数検出部35はスタート信号A1によりクリアされ、その後オア回路33の出力する信号をカウントして、CPU20からのアクセスが4回あったかどうか、すなわちCPU20からの書き込みの場合、4個のラッチ3J,3K,3L,3Mにそれぞれ書込波形データWDが転送されたかどうか、又、CPU20による読出しの場合は、同4個のラッチに書き込まれていた4つの16ビットデータが読み出されたかどうかを検出し、その検出信号をオア回路36に出力する。
The access count detection unit 35 is in operation from the write pulse signal (hereinafter referred to as “start signal”) A1 output from the write
オア回路36は、スタート信号A1とアクセス回数検出部35からの検出信号との論理和信号をフリップフロップ回路37のセット端子Sに出力する。
フリップフロップ回路37は、オア回路36からの論理和信号をセット端子Sに、ディレイ3Cからの遅延信号をリセット端子Rに入力し、セット出力をアンド回路38に出力し、その反転出力をゲート回路3Pに出力する。
ゲート回路3Pは、アドレスADRが「2」の場合に読出デコーダ18から出力される読出デコード信号A2を入力した時点でフリップフロップ回路37の反転出力を読出終了データWEDをデータ出力端子DOから読出用バッファアンプ15を介してCPU20に出力する。
The OR
The flip-
When the address decode signal A2 output from the read
アンド回路38は、チャンネルカウンタ1Bからのタイミング信号φ31chとフリップフロップ回路37のセット出力との論理積信号をディレイ39に出力する。
ディレイ39は、アンド回路38からの論理積信号を1チャンネル期間だけ遅延し、それをタイミング信号TSとして波形発生部2C及びディレイ3Aに出力する。
ディレイ3Aは、ディレイ39からのタイミング信号を1チャンネル期間だけ遅延し、それを4連続パルス発生部3E及びディレイ3Cに出力する。
ディレイ3Cは、ディレイ3Aからの遅延信号をからに1チャンネル期間だけ遅延し、それをフリップフロップ回路37のリセット端子Rに出力する。
The AND
The
The delay 3A delays the timing signal from the
The delay 3C delays the delayed signal from the delay 3A by one channel period and outputs it to the reset terminal R of the flip-
4連続パルス発生部3Eは、チャンネル制御レジスタ31からの動作中信号USE及び書込読出制御信号W/*R、並びにディレイ3Aからの遅延信号を入力し、この遅延信号がハイレベル“1”の場合に、第31チャンネルのタイムスロットの期間で連続する4つのパルスを発生し、それをオア回路3Fに出力すると共にそれを書込信号WSとして波形メモリ2Dに出力する。
The 4-
オア回路3Fは、オア回路33からの論理和信号と4連続パルス発生部3Eからの4連続パルスを入力し、両者の論理和信号を送りパルス発生器3Gに出力する。
送りパルス発生器3Gは、オア回路3Fからの論理和信号を入力する毎に送りパルスL1〜L4をラッチ3M,3L,3K,3Jに順番に出力する。
ラッチ3Jは、セレクタ3Hからの16ビット構成のデータを送りパルスL4の入力時点でラッチして、次段のラッチ3Kに出力する。ラッチ3Kは、前段のラッチ3Jからのデータを送りパルスL3の入力時点でラッチして、次段のラッチ3Lに出力する。ラッチ3Lは、前段のラッチ3Kからのデータを送りパルスL2の入力時点でラッチして、次段のラッチ3Mに出力する。ラッチ3Mは、前段のラッチ3Lからのデータを送りパルスL1の入力時点でラッチして、セレクタ3N及び波形発生部2Bに出力する。なお、ラッチ3Mからセレクタ3Nに出力されるデータは波形メモリ2Cから読み出されたメモリ読出データMRDであり、一方ラッチ3Mから波形発生部2Cに出力されるデータは波形メモリ2Dに書き込まれるべきメモリ書込データMWDである。
The OR
The
The
ここに、ラッチパルスL1〜L4は、アンド回路3Fからのパルスが入力する毎に、L1,L2,L3,L4の時間順で微妙に遅れた送りパルスを発生するようになっており、アンド回路3Fから1パルスの入力に応じてラッチ3Lのデータがラッチ3Mに、ラッチ3Kのデータがラッチ3Lに、ラッチ3Jのデータがラッチ3Kに、そしてセレクタ3Hから新規に供給されるデータがラッチ3Jにラッチされ、全体として1データ分シフトしている。
The latch pulses L1 to L4 generate feed pulses that are slightly delayed in the time order of L1, L2, L3, and L4 each time a pulse from the AND
セレクタ3Nは、ラッチ3Mからのメモリ読出データMRDの上位8ビットを上位端子Hに、下位8ビットを下位端子Lにそれぞれ入力し、アドレスADRが「5」の場合に読出デコーダ18から出力される読出デコード信号A5を上位選択端子SHに入力し、アドレスADRが「6」の場合に読出デコーダ18から出力される読出デコード信号A6を下位選択端子SLに入力する。従って、アドレスADRが「5」の場合にはメモリ読出データMRDの上位8ビットを読出波形データWDRとして出力し、アドレスADRが「6」の場合にはメモリ読出データMRDの下位8ビットを読出波形データWDRとして出力する。
The
図4は、図2の波形発生部2Cの詳細構成を示す図である。
周波数ナンバ(Fナンバ)発生器40は、楽音制御レジスタ1Dからのピッチデータに対応した周波数ナンバ(Fナンバ)をアドレスカウンタ41に出力すると共に、図3のチャンネル制御レジスタ31からの動作中信号USE及びディレイ39からのタイミング信号TSを入力している。動作中信号USEがハイレベル“1”である場合、CPU20のアクセスのために第31チャンネルが使用されており、Fナンバ発生器40はタイミング信号TSが“0”の場合、第31チャンネルのFナンバとして“0”を出力し、タイミング信号TSが“1”の場合、第31チャンネルのFナンバとて“4”をアドレスカウンタ41に出力する。この周波数ナンバは、整数部と小数部とからなるデータである。
FIG. 4 is a diagram showing a detailed configuration of the
The frequency number (F number)
アドレスカウンタ41は、図1の楽音制御レジスタ1Dからのノートオンパルス及び書込パルス発生部17からのスタート信号A1をオア回路42を介して入力すると共に、楽音制御レジスタ1Dからの波形スタートアドレス(WSA)、ループスタートアドレス(LPS)及びループエンドアドレス(LPE)及び周波数ナンバ発生器40からの周波数ナンバを入力する。そして、アドレスカウンタ41は、スタート信号A1又は各時分割発音チャンネルの楽音の発音開始を指示するノートオンパルスの入力に応じて、その周波数ナンバを波形スタートアドレス(WSA)を初期値として順次カウントする。
The
アドレスカウンタ41は、ノートオンパルス又はスタート信号を入力することによって初期アドレス(波形スタートアドレスWSA)にセットされ、周波数ナンバの大きさに応じてその波形スタートアドレス(WSA)を基準に順次カウントアップされたアドレスを加算器43及び44に出力する。なお、アドレスカウンタ41は読出アドレスのうち整数部のデータInを加算器43に出力し、小数部のデータDcを加算器44に出力する。周波数ナンバの値が小さい時は読出アドレスの増加量は小さくなるため、波形メモリ2Dから出力される楽音波形信号の音高は相対的に低くなり、周波数ナンバの値が大きい時は読出アドレスの増加量は大きくなるため、波形メモリ2Dから出力される楽音波形信号の音高は高くなる。
The
補助カウンタ45は、時分割チャンネルの1チャンネル内に補助アドレスAAとして「0」,「1」,「2」,「3」を順次加算器43及び44に出力する。
加算器43はアドレスカウンタ41からの整数部のアドレスInに補助カウンタ45からの補助アドレスAAの「0」,「1」,「2」,「3」を順次加算する。従って、波形メモリ2Dには時分割チャンネルの1チャンネル内で連続した4個のアドレスInAが順次供給され波形メモリ2D中のアドレスInに対応した4つの連続した波形データが順次読み出されるようになる。一方、加算器44はアドレスカウンタ41からの小数部のアドレスDcに補助カウンタ45からの補助アドレスAAの「0」,「1」,「2」,「3」を加算するので、補間係数メモリ4Aには1チャンネル内でアドレス小数部Dcに応じた、該4つの連続した波形データにそれぞれ対応する4個のアドレスDcAが順次供給され、4つの係数が順次読み出される。
The
The
波形メモリ2Dは、立上り部(アタック部)の波形データとして複数周期分、その後の持続部(ループ部)の波形データとして1周期分を記憶しており、加算器43からのアドレスInAに対応するメモリ読出データMRD(16ビット構成)をバッファアンプ48及び乗算器49を介して補間累算器4Bに出力すると共に、バッファアンプ46にも出力する。なお、波形メモリ2Dには、図3の4連続パルス発生部3Eからの書込信号WSに応じてバッファアンプ47を介して入力してくる4個のメモリ書込データMWDが順次加算器43からの4個のアドレスInAに書き込まれる。
The
バッファアンプ46は、アンド回路4Eからの制御信号に応じて波形メモリ2Dからのメモリ読出データMRDを図3のセレクタ3HのA端子に出力する。バッファアンプ47は、アンド回路4Gからの制御信号に応じて図3のラッチ3Mからのメモリ書込データMWDを波形メモリ2D及びバッファアンプ48に出力する。バッファアンプ48は、反転回路4Jからの制御信号に応じて波形メモリ2Dからのメモリ読出データMRD又はバッファアンプ47からのメモリ書込データMWDを乗算器49に出力する。
The
補間係数メモリ4Aは、加算器44から出力される1チャンネル当たり4個のアドレスに対応した補間係数を順次乗算器49に出力する。
乗算器49は、補間係数メモリ4Aからの補間係数を各メモリ読出データMRDに乗じて補間累算器4Bに出力する。
補間累算器4Bは、乗算器49から順次出力される値を1チャンネル内で累算処理して、1つの補間出力サンプル値としてエンベロープ付与部2Eに出力する。
The
The
The
バッファアンプ46、47及び48の制御は、ディレイ4C,4D、アンド回路4E,4F,4G及び反転回路4H,4Jによって行われる。ディレイ4C及び4Dは、タイミング信号φ31chが通過する経路(アンド回路38及びディレイ39,3A)との間でタイミングを調整するための遅延回路である。
アンド回路4Eは、チャンネル制御レジスタ31からの動作中信号USEとタイミング信号φ31chとを入力し、両者の論理積信号をアンド回路4F,4G及び反転回路4Jに出力する。反転回路4Hは、チャンネル制御レジスタ31からの書込読出制御信号W/*Rを入力し、その反転出力をアンド回路4Fに出力する。アンド回路4Fは、アンド回路4Eの論理積信号と書込読出制御信号W/*Rの反転出力とを入力し、その論理積信号をバッファアンプ46に出力する。アンド回路4Gは、アンド回路4Eの論理積信号と書込読出制御信号W/*Rとを入力し、両者の論理積信号をバッファアンプ47に出力する。反転回路4Jは、アンド回路4Eの論理積信号を入力し、その反転出力をバッファアンプ48に出力する。
The
The AND
エンベロープ付与部2Eは、レジスタ1Dから供給される各時分割チャンネルのノートオンに応じて音源I/O2Bに予め設定されたパラメータに基いて波形エンベロープ信号(14ビット構成)を生成し、波形発生部2Cの補間累算器4Bから出力される補間されたサンプル値に対し、該エンベロープ信号に応じた振巾エンベロープ制御を行い、振巾制御されたサンプル値をチャンネル累算部2Fに出力する。
The
次に、この発明に係る電子楽器が行う波形データの書込処理及び読出処理について説明する。
まず、CPU20が波形メモリ2Dから例えば、アドレス「5F」以降に書かれたサンプリング波形データを読み出す処理について説明する。
CPU20は、タイミング信号φ31chのタイミングで波形メモリ2Dのアドレス「5F」から順番にサンプリング波形データを読み出すために、楽音制御レジスタ1Dのタイミング信号φ31chの波形スタートアドレス(WSA)として「5F」を設定する。
Next, waveform data writing processing and reading processing performed by the electronic musical instrument according to the present invention will be described.
First, a process in which the
The
これと同時に、CPU20はアドレスADRとして「A0」を出力し、チャンネル制御レジスタ31の動作中信号USEをハイレベル“1”、書込読出制御信号W/*Rをローレベル“0”とするようなデータDATAを出力する。これに応じて書込用デコーダ16は「A0」に対応した書込デコード信号を書込パルス発生部17に出力する。書込パルス発生部17は、ハイレベル“1”の書込パルス信号A0をチャンネル制御レジスタ31に出力する。チャンネル制御レジスタ31は、ハイレベル“1”の動作中信号USEをアクセス回数検出部35及び4連続パルス発生部3E、周波数ナンバ発生器40及びアンド回路4Eに出力し、ローレベル“0”の書込読出制御信号W/*Rを4連続パルス発生部3E、セレクタ3H、反転回路4H、アンド回路4Gにそれぞれ出力するようになる。
次に、CPU20は、アドレスADRとして「A1」を出力する。これに応じて書込用デコーダ16は「A1」に対応した書込デコード信号を書込パルス発生部17に出力し、書込パルス発生部17は、ハイレベル“1”のスタート信号A1をアクセス回数検出部35、オア回路36及びアドレスカウンタ41に出力する。
At the same time, the
Next, the
CPU20が上述のような処理を行うと、波形メモリI/O1E及び波形発生部2Cは、次のように動作する。
フリップフロップ回路37のセット端子Sにはオア回路36を介してスタート信号A1が入力するので、フリップフロップ回路37はハイレベル“1”のセット出力Qをアンド回路38に、ローレベル“0”の反転出力*Qをゲート3Pに出力する。
アクセス回数検出部35は、スタート信号A1の入力に応じて検出回数値をクリアする。
アドレスカウンタ41にオア回路42を介してスタート信号A1が入力すると、アドレスカウンタ41は波形メモリ読出アドレスとして楽音制御レジスタ1D内の波形スタートアドレス(WSA)の「5F」をカウンタ初期値としてセットする。
When the
Since the start signal A1 is input to the set terminal S of the flip-
The access count detection unit 35 clears the detection count value in response to the input of the start signal A1.
When the start signal A1 is input to the
チャンネルカウンタ1Bは、時分割チャンネルのタイミングが32番目のチャンネルになると、ハイレベル“1”のタイミング信号φ31chをアンド回路38に出力する。アンド回路38は、タイミング信号φ31chがハイレベル“1”の間、フリップフロップ回路37からの出力Q(ハイレベル“1”)をディレイ39に出力する。従って、このハイレベル“1”の信号は、ディレイ39によって1チャンネル期間だけ遅延してディレイ3Aに入力すると共に周波数ナンバ発生器40にタイミング信号TSとして入力する。
The
さらに、ディレイ39から出力される遅延信号(タイミング信号TG)は、ディレイ3Aによってさらに1チャンネル期間だけ遅延して4連続パルス発生部3E及びディレイ3Cに入力する。ディレイ3Aからのハイレベル“1”の遅延信号を入力した4連続パルス発生部3Eは、書込読出制御信号W/*Rがローレベル“0”なので、その時点から1チャンネル内において連続する4個のパルスをオア回路3Fに出力する。なお、4連続パルス発生部3Eは、書込読出制御信号W/*Rがハイレベル“1”の場合には、32番目のチャンネルの間、該4個のパルスに応じてバッファ47を通じて波形メモリ2Dに順次供給される4つの書き込みサンプルデータ(メモリ書込データ)MWDに同期したタイミングで書込信号WSを波形メモリ2Dに出力する。
Further, the delay signal (timing signal TG) output from the
周波数ナンバ発生器40は、31チャンネルのタイミングでタイミング信号TSが入力した場合、31チャンネルの周波数データとして通常の楽音制御レジスタ1Dから供給されるピッチデータに応じたFナンバに代えて“4”の値をもつFナンバをアドレスカウンタ41に出力する。これによって、アドレスカウンタ41は31チャンネルにおいてCPUによる読出書込みを行う場合、4ずつインクリメントされたアドレスInを加算器43及び44に出力する。
When the timing signal TS is input at the 31 channel timing, the
このとき、補助カウンタ45は、時分割チャンネルの1チャンネル分の間に、「0」,「1」,「2」,「3」の補助アドレスAAを加算器43及び44に出力するので、波形メモリ2Dには、アドレスカウンタ41からのアドレスInと補助カウンタ45の補助アドレスAAとの加算されたアドレスInAが読出アドレスとして入力する。これによって波形メモリ2Dからは、これらの4個の読出アドレスに対応したメモリ読出データMRDがバッファアンプ46及び48に順次出力される。
At this time, the
このとき、アンド回路4Fには反転回路4Hを介してハイレベル“1”の書込読出制御信号W/*Rが入力し、アンド回路4Gにはローレベル“0”の書込読出制御信号W/*Rが入力しているので、アンド回路4Fのゲートは開いた状態となり、アンド回路4Gのゲートは閉じた状態となる。従って、アンド回路4Eの論理積出力はアンド回路4Fを介してバッファアンプ46に入力する。アンド回路4Eの一方の端子にはハイレベル“1”の動作中信号USEが入力し、他方の端子にはディレイ4C,4Dを介して2チャンネル期間遅れた時点でハイレベル“1”のタイミング信号φ31chが入力するので、バッファアンプ46にはタイミング信号φ31chがハイレベル“1”になってから2チャンネル期間経過した時点でアンド回路4E及び4Fを介してハイレベル“1”の論理積信号が入力する。これによって、31チャンネルに対応する波形メモリのアクセス期間において波形メモリ2Dからのメモリ読出データMRDは、バッファアンプ46を介してセレクタ3HのA端子に入力するようになる。
At this time, a high level “1” write / read control signal W / * R is input to the AND
セレクタ3Hは、ローレベル“0”の書込読出制御信号W/*Rを入力しているので、バッファアンプ46を介して入力されるメモリ読出データMRDをラッチ3Jに出力する。このとき、送りパルス発生器3Gには、オア回路3Fを介して4連続パルス発生部3Eからのパルスが入力し、ラッチL1〜L4のデータが該パルスに応じて順送りされることにより、波形メモリ2Dから順次読み出された4個のメモリ読出データMRDは次々とラッチ3J,3K,3L,3Mに転送され、ラッチされる。
Since selector 3H receives write / read control signal W / * R of low level “0”, memory read data MRD input through
4個のメモリ読出データMRDがラッチ3J,3K,3L,3Mに転送され、ラッチされると、その取り込み終了に合わせてディレイ3Cからハイレベル“1”出力がフリップフロップ回路37のリセット端子Rに入力し、フリップフロップ回路37のセット出力Qをローレベル“0”に反転出力*Qをハイレベル“1”にセットする。
CPU20は、アドレスADRとして「A2」を出力する。これに応じて読出用デコーダ18は「A2」に対応した読出デコード信号A2をゲート3Lに出力し、ゲート3Lを開き、フリップフロップ回路37の反転出力*Qを読出して、該反転出力*Qが“1”になったタイミングで、波形メモリ2Dからのメモリ読出データMRDのラッチ3J,3K,3L,3Mへの取り込みが完了したことを検出する。
When the four memory read data MRD are transferred to the
The
以上の処理が終了した後、CPU20は、アドレスADR(A5,A6)を交互に4回出力し、セレクタ3NのL端子及びH端子を選択し、8個の8ビットの読出データWDRをバッファアンプ15を介して順次読み出す。
すなわち、CPU20がアドレスADRとして「A5」を出力すると、読出用デコーダ18は読出デコード信号A5をセレクタ3Nに出力する。セレクタ3Nは、ラッチ3Mにラッチされているメモリ読出データMRDの上位8ビットを読出データWDRとして読出データバスに出力され、該上位8ビットがバッファ15を介してCPUにより読み出される。次に、CPU20がアドレスADRとして「A6」を出力すると、読出用デコーダ18は読出デコード信号A6をセレクタ3Nに出力する。セレクタ3Nは、ラッチ3Mにラッチされているメモリ読出データMRDの下位8ビットを読出データWDRとして読出データバスに出力され、バッファ15を介してCPUにより読み出される。
After the above processing is completed, the
That is, when
このとき、パルス発生部32はデコード信号A6を入力する度に1サンプル読出完了パルスRSPをオア回路33を介してアクセス回数検出部35に出力すると共にオア回路33及び3Fを介して送りパルス発生器3Gに出力する。アクセス回数検出部35は、パルス発生部32からの1サンプ読出完了パルスRSPの入力回数をカウントし、そのカウント値が『4』になったかどうか、すなわちCPU20が4回読出しアクセスしたかどうかを検出する。なお、この時点では、CPU20は1回のアクセスしかしていない。
一方、送りパルス発生器3Gは、この1サンプル読出完了パルスRSPの入力に応じてラッチ3J,3K,3L,3Mのデータを1段ずつラッチ3M側にシフトする。
At this time, every time the decode signal A6 is input, the
On the other hand, the
CPU20は、上記の動作(アドレスADR(A5,A6)を交互に出力する動作)を4回繰り返すことによって、波形メモリ2Dの4ワード分のデータを読み出す。
この読出動作が終了すると、アクセス回数検出部35はオア回路33から出力される1サンプル読出完了パルスRSPを計数して、4ワード分のデータ読み出しが終了した事を検出し、ハイレベル“1”の検出信号をオア回路36を介してフリップフロップ回路37のセット端子Sに出力する。これによって、フリップフロップ回路37は、再びセットされ、ハイレベル“1”のセット出力Qをアンド回路38に出力する。そして、次回のタイミング信号φ31chの間に波形メモリ2Dから4ワード分のデータが先程と同様に波形メモリ2Dから順次読み出され、4段のラッチ3J,3K,3L,3Mに取り込まれ、その後、再びフリップフロップ回路37がリセットされる。なお、この場合には、波形発生部2Cのアドレスカウンタ41への波形スタートアドレス(WSA)の書込処理は行われずに、前回のカウント値が継続して使用される。
The
When this read operation is completed, the access count detector 35 counts the one-sample read completion pulse RSP output from the
CPU20は、以上の動作を繰り返し実行することにより、波形スタートアドレス(WSA)の「5F」から順次4ずつアドレスを増加させながら、対応するアドレスに記憶されているデータを連続して読み出すことができる。
波形メモリ2Dからのデータ読み出し処理を終了する時は、CPU20は、フリップフロップ回路37がリセットされている状態(セット出力Qがローレベル“0”の状態)で、アドレスADRとして「A0」を出力し、書込パルス信号A0をチャンネル制御レジスタ31に出力し、チャンネル制御レジスタ31の動作中信号USEをローレベル“0”とするようなデータDATAを出力する。これによって、チャンネル制御レジスタ31は、ローレベル“0”の動作中信号USEをアクセス回数検出部35及び4連続パルス発生部3E、周波数ナンバ発生器40及びアンド回路4Eに出力するようになるので、これ以降のデータ読み出し動作は行われなくなる。
By repeatedly executing the above operation, the
When ending the process of reading data from the
次に、CPU20が波形メモリ2Dの、例えばアドレス「6F」以降の領域にサンプリング波形データを書き込む処理について説明する。
CPU20は、タイミング信号φ31chのタイミングで波形メモリ2Dのアドレス「6F」から順番にサンプリング波形データを書き込むために、楽音制御レジスタ1Dのタイミング信号φ31chの波形スタートアドレス(WSA)すなわち波形メモリ2Dの書き込み先頭アドレスに「6F」を設定する。
Next, a process in which the
In order to write the sampling waveform data in order from the address “6F” of the
これと同時に、CPU20はアドレスADRとして「A0」を出力し、チャンネル制御レジスタ31の書込読出制御信号W/*Rをハイレベル“1”とするようなデータDATAを出力する。これに応じて書込用デコーダ16は「A0」に対応した書込デコード信号を書込パルス発生部17に出力し、書込パルス発生部17は、ハイレベル“1”の書込パルス信号A0をチャンネル制御レジスタ31に出力する。チャンネル制御レジスタ31は、ハイレベル“1”の書込読出制御信号W/*Rを4連続パルス発生部3E、セレクタ3H、反転回路4H、アンド回路4Gにそれぞれ出力する。
なお、この時点では動作中信号USEはローレベル“0”にしておく。
At the same time, the
At this time, the operating signal USE is set to the low level “0”.
この処理が終了した後、CPU20は、アドレスADR(A3,A4)を交互に4回ずつ出力し、書込波形データWDをラッチ3J,3K,3L,3Mに書き込む。
すなわち、CPU20が最初の波形データの上位8ビットと共にアドレスADRとして「A3」を出力すると、書込用デコーダ16は「A3」に対応した書込デコード信号を書込パルス発生部17に出力し、書込パルス発生部17は、ハイレベル“1”の書込パルス信号A3を上位ラッチ34に出力する。上位ラッチ34は、データラッチ13からの上位8ビットの書込波形データをラッチする。次に、CPU20が同波形データの下位8ビットと共にアドレスADRとして「A4」を出力すると、書込用デコーダ16は「A4」に対応した書込デコード信号を書込パルス発生部17に出力し、書込パルス発生部17は、ハイレベル“1”の書込パルス信号A4をオア回路33及び3Fを介して送りパルス発生器3Gに出力する。
After this processing is completed, the
That is, when the
セレクタ3Hは、ハイレベル“1”の書込読出制御信号W/*Rを入力しているので、データラッチ13からの下位8ビットとラッチ34からの上位8ビットの全16ビットで構成される書込波形データWDをラッチ3Jに出力する。このとき、送りパルス発生器3Gには、オア回路33及び3Fを介して書込パルス信号A4が入力するので、上位ラッチ34にラッチされた上位8ビットのデータと今回供給された下位8ビットのデータとの組み合わされた16ビットの書込波形データWDがラッチ3Jに取り込まれると共に、もともとラッチ3J,3K,3Lにラッチされていたデータがそれぞれラッチ3K,3L,3Mにラッチされ、全体としてラッチされているデータが1つ順送りされる。
CPU20は、上述の動作(アドレスADR(A3,A4)を交互に出力する動作)を4回繰り返し行うことによって、4ワード分の書込波形データWDをラッチ3J,3K,3L,3Mに蓄える。
Since the selector 3H receives the high level “1” write / read control signal W / * R, the selector 3H is composed of a total of 16 bits, the lower 8 bits from the data latch 13 and the upper 8 bits from the
The
次に、CPU20はアドレス「A1」のチャンネル制御レジスタ31の動作中信号USEに“1”を書き込む。そして、CPU20は、アドレスADRとして「A1」を出力する。これに応じて書込用デコーダ16は「A1」に対応した書込デコード信号を書込パルス発生部17に出力し、書込パルス発生部17は、ハイレベル“1”のスタート信号A1をアクセス回数検出部35、オア回路36及びアドレスカウンタ41に出力する。
Next, the
フリップフロップ回路37は、スタート信号A1をオア回路36を介してセット端子Sに入力することによって、ハイレベル“1”のセット出力Qをアンド回路38に、ローレベル“0”の反転出力*Qをゲート3Lに出力する。
アクセス回数検出部35は、スタート信号A1の入力に応じて検出回数値をクリアする。
アドレスカウンタ41は、スタート信号A1をオア回路42を介して入力することによって、波形メモリ書込アドレスとして楽音制御レジスタ1D内の波形スタートアドレス(WSA)の「6F」をカウンタ初期値として格納する。
The flip-
The access count detection unit 35 clears the detection count value in response to the input of the start signal A1.
The
チャンネルカウンタ1Bは、時分割チャンネルのタイミングが32番目のチャンネルになると、ハイレベル“1”のタイミング信号φ31chをアンド回路38に出力する。アンド回路38は、タイミング信号φ31chがハイレベル“1”の間、フリップフロップ回路37からのセット出力Q(ハイレベル“1”)をディレイ39に出力する。このハイレベル“1”の信号は、ディレイ39によって1チャンネル期間だけ遅延してディレイ3Aに入力すると共に周波数ナンバ発生器40にタイミング信号TSとして入力する。
The
さらに、ディレイ39から出力される遅延信号(タイミング信号TG)は、ディレイ3Aによってさらに1チャンネル期間だけ遅延して4連続パルス発生部3E及びディレイ3Cに入力する。ディレイ3Aからのハイレベル“1”の遅延信号を入力した4連続パルス発生部3Eは、書込読出制御信号W/*Rがハイレベル“1”なので、その時点から1チャンネル内において連続する3個のパルスをオア回路3Fを介して送りパルス発生器3Gに出力すると共にタイミング信号φ31chがハイレベル“1”の間、連続する4個のパルスを書込信号WSとして波形メモリ2Dに出力する。
なお、この場合の上記3個のパルスは、読み出し時(書込読出制御信号W/*Rが“0”の時)に発生する4個のパルスのうちの最初の一発を除いた残りの3個のタイミングで発生している。
Further, the delay signal (timing signal TG) output from the
The three pulses in this case are the remaining ones except for the first one of the four pulses generated at the time of reading (when the writing / reading control signal W / * R is “0”). It occurs at three timings.
周波数ナンバ発生器40は、タイミング信号TSを入力する度にアドレスカウンタ41に通常出力している31チャンネルのピッチデータに対応するFナンバに代えて“4”の値のFナンバを出力している。これによって、アドレスカウンタ41は31チャンネルについて、4ずつインクリメントされたアドレスInを加算器43及び44に出力する。
このとき、補助カウンタ45は、時分割チャンネルの1チャンネル分の間に、「0」,「1」,「2」,「3」の補助アドレスAAを加算器43及び44に出力するので、波形メモリ2Dには、アドレスカウンタ41からのアドレスInと補助カウンタ45の補助アドレスAAとの加算された4連続のアドレスInAが書込アドレスとして入力する。
The
At this time, the
アンド回路4Fには反転回路4Hを介してローレベル“0”の書込読出制御信号W/*Rが入力し、アンド回路4Gにはハイレベル“1”の書込読出制御信号W/*Rが入力しているので、アンド回路4Fのゲートは閉じた状態となり、アンド回路4Gのゲートは開いた状態となる。従って、アンド回路4Eの論理積出力はアンド回路4Gを介してバッファアンプ47に入力する。アンド回路4Eの一方の端子にはハイレベル“1”の動作中信号USEが入力し、他方の端子にはディレイ4C,4Dを介して2チャンネル期間分遅れた時点でハイレベル“1”のタイミング信号φ31chが入力するので、バッファアンプ47にはタイミング信号φ31chがハイレベル“1”になってから2チャンネル期間経過した時点でアンド回路4E及び4Gを介してハイレベル“1”の論理積信号が入力する。これによって、31チャンネルに対応する波形メモリ2Dのアクセス期間においてラッチ3Mからのメモリ書込データMWDは、バッファアンプ47を介して波形メモリ2Dのデータ入力端子及びバッファアンプ48に入力するようになる。
A low level “0” write / read control signal W / * R is input to the AND
送りパルス発生器3Gには、オア回路3Fを介して4連続パルス発生部3Eからの3個の連続パルスが入力する。送りパルス発生器3Gは、このパルス入力に応じてラッチ3J,3K,3L,3Mのデータを1段ずつラッチ3M側にシフトする。ラッチ3J,3K,3L,3Mにラッチされていたメモリ書込データMWDは次々とラッチ3Mに転送され、ラッチ3Mからバッファアンプ47を介して波形メモリ2に入力する。これと同時に4連続パルス発生部3Eからは4個の連続する書込信号WS及び4連続のアドレスInAが波形メモリ2Dには入力するので、このアドレス領域に4ワード分の書込波形データWDが順次書き込まれる。
ラッチ3J,3K,3L,3Mに蓄積されていた4個のメモリ書込データMWDが波形メモリ2Dに書き込まれると、それに合わせてディレイ3Cからハイレベル“1”の出力がフリップフロップ回路37のリセット端子Rに入力し、フリップフロップ回路37のセット出力Qをローレベル“0”に反転出力*Qをハイレベル“1”にセットする。
Three continuous pulses from the four
When the four memory write data MWD stored in the
CPU20は、上述した4データの波形メモリ2Dへの書込みの完了を検知するために、アドレス「A2」のデータを読み出す。この際、読出用デコーダ18は「A2」に対応した読出デコード信号A2をゲート3Pに出力し、ゲート3Pを開き、CPU20は、フリップフロップ回路37の反転出力*Qを読出し、メモリ書込データMWDのラッチ3J,3K,3L,3Mから波形メモリ2Dへの書込処理が終了したことを検出する。
書込処理の終了を検出したCPU20は、アドレスADR(A3,A4)を交互に4回ずつ出力し、新たな4ワード分の書込波形データWDをラッチ3J,3K,3L,3Mに蓄え、上述の動作を繰り返し実行して、メモリ書込データMWDを波形メモリ2Dに書き込む。CPU20は、以上の動作を繰り返し実行することにより、波形スタートアドレス(WSA)の「6F」から順次4ずつアドレスを増加させながら、対応するアドレスにメモリ書込データMWDを書き込む。
The
The
波形メモリ2Dへのデータ書込処理を終了する時は、CPU20は、フリップフロップ回路37がリセットされている状態(セット出力Qがローレベル“0”の状態)で、アドレスADRとして「A0」を出力し、書込パルス信号A0をチャンネル制御レジスタ31に出力し、チャンネル制御レジスタ31の動作中信号USE及び書込読出制御信号W/*Rをローレベル“0”とするようなデータDATAを出力する。これによって、チャンネル制御レジスタ31は、ローレベル“0”の動作中信号USEをアクセス回数検出部35及び4連続パルス発生部3E、周波数ナンバ発生器40及びアンド回路4Eに出力するようになるので、これ以降のデータ書き込み動作は行われなくなる。
When ending the data writing process to the
上述した実施例によれば、波形メモリ音源が時分割チャンネル発音処理を行っていても、CPUによる波形メモリへのアクセスを行うことができるという効果がある。 According to the embodiment described above, there is an effect that the CPU can access the waveform memory even when the waveform memory sound source performs the time division channel sound generation process.
11 CPUバス制御部
12 アドレスラッチ
13 データラッチ
14 書込用バッファ
15 読出用バッファアンプ
16 書込用デコーダ
17 書込パルス発生部
18 読出用デコーダ
19 チャンネルラッチ
1A チャンネル変換部
1B チャンネルカウンタ
1C セレクタ
1D 楽音制御レジスタ
1E 波形メモリI/O
11
Claims (6)
音源用のデータを記憶するメモリと、
当該音源装置における前記複数チャンネルの各チャンネルの動作を制御する制御データを記憶し、処理手段による該制御データの書き込みが可能な制御レジスタと、
前記制御レジスタの制御データに含まれるアドレス情報に基づいて、各チャンネル毎にメモリ読み書き用のアドレスを生成するアドレスカウンタ手段と、
新たな音源用のデータとして前記メモリに記憶させようとするデータを前記処理手段により入力して保持させることが可能なラッチを含み、前記複数チャンネルのうちの楽音発生に使用されない特定のチャンネルを除く残りの各チャンネルのタイミングで、当該残りの各チャンネルで発生すべき楽音に応じて前記アドレスカウンタ手段により生成された読み出し用の前記アドレスに基づいて前記メモリから前記音源用のデータを読み出すとともに、該特定のチャンネルのタイミングで、前記ラッチに保持された前記新たな音源用のデータを、該特定のチャンネルに対応して生成された書き込み用の前記アドレスに基づいて前記メモリに書き込むメモリアクセス手段と、
前記残りの各チャンネルについて、前記発生すべき楽音に応じて読み出された前記音源用のデータと前記制御データとに基づきそれぞれ楽音信号を生成する楽音生成手段と
を具備するメモリ使用音源装置。 A sound source device that operates in a time-sharing manner for multiple channels,
A memory for storing data for the sound source;
Storing control data for controlling the operation of each of the plurality of channels in the sound source device, and a control register capable of writing the control data by a processing unit;
Based on address information included in the control data of the control register, address counter means for generating an address for memory read / write for each channel;
Including a latch capable of inputting and holding data to be stored in the memory as new sound source data by the processing means, and excluding specific channels that are not used for generating musical sounds from the plurality of channels At the timing of each remaining channel, the sound source data is read from the memory based on the read address generated by the address counter means according to the musical sound to be generated on each remaining channel , and Memory access means for writing the data for the new sound source held in the latch to the memory based on the address for writing generated corresponding to the specific channel at the timing of the specific channel ;
Wherein for each remaining channel, memory usage tone generator comprising a tone generating means for generating a respective tone signal based on the data and the control data for the tone generator which is read in accordance with the musical tone to be the generation.
前記アドレスカウンタ手段は、前記制御レジスタに書き込まれた該アドレス情報に基づき前記特定のチャンネルのアドレスを生成し、
前記メモリアクセス手段は、前記特定のチャンネルのタイミングで、前記ラッチに保持された該データを該アドレスに基づき前記メモリに書き込むこと
を特徴とする請求項1に記載のメモリ使用音源装置。 The processing means holds the data for the sound source to be written in the latch, writes address information indicating an address for writing the data to the memory in the control register, and generates a write instruction.
The address counter means generates an address of the specific channel based on the address information written in the control register,
2. The memory-use sound source device according to claim 1, wherein the memory access means writes the data held in the latch to the memory based on the address at the timing of the specific channel.
前記処理手段は、書き込もうとする複数のデータを前記ラッチに保持させ、
前記アドレスカウンタ手段は、前記特定のチャンネルのタイミングに、該特定のチャンネルのアドレスとして複数のアドレスを順次生成し、
前記メモリアクセス手段は、該生成される複数のアドレスに基づいて、前記ラッチに保持された複数のデータを前記メモリに順次書き込んで、該順次書き込みが終了したら書き込み終了通知を発生すること
を特徴とする請求項2に記載のメモリ使用音源装置。 The latch can hold a plurality of data,
The processing means holds a plurality of data to be written in the latch,
The address counter means sequentially generates a plurality of addresses as the address of the specific channel at the timing of the specific channel,
The memory access means sequentially writes a plurality of data held in the latch to the memory based on the plurality of generated addresses, and generates a write end notification when the sequential writing is completed. The memory-use sound source device according to claim 2.
音源用のデータを記憶するメモリと、
当該音源装置における前記複数チャンネルの各チャンネルの動作を制御する制御データを記憶し、処理手段による該制御データの書き込みが可能な制御レジスタと、
前記制御レジスタの制御データに含まれるアドレス情報に基づいて、各チャンネル毎にメモリ読み書き用のアドレスを生成するアドレスカウンタ手段と、
前記処理手段によりデータを取り出すことが可能なラッチを含み、前記複数チャンネルのうちの楽音発生に使用されない特定のチャンネルを除く残りの各チャンネルのタイミングで、当該残りの各チャンネルで発生すべき楽音に応じて前記アドレスカウンタ手段により生成された読み出し用の前記アドレスに基づいて前記メモリから前記音源用のデータを読み出すとともに、該特定のチャンネルのタイミングで、該特定のチャンネルに対応して生成された読み出し用の前記アドレスに基づいて前記メモリから前記音源用のデータを読み出して前記ラッチに入力して保持させ、その結果、該ラッチに保持したデータが前記処理手段により取り出されるようにする、メモリアクセス手段と、
前記残りの各チャンネルについて、前記発生すべき楽音に応じて読み出された前記音源用のデータと前記制御データとに基づきそれぞれ楽音信号を生成する楽音生成手段と
を具備するメモリ使用音源装置。 A sound source device that operates in a time-sharing manner for multiple channels,
A memory for storing data for the sound source;
Storing control data for controlling the operation of each of the plurality of channels in the sound source device, and a control register capable of writing the control data by a processing unit;
Based on address information included in the control data of the control register, address counter means for generating an address for memory read / write for each channel;
A latch that can extract data by the processing means, and at the timing of each remaining channel excluding a specific channel that is not used for generating a tone among the plurality of channels, the tone to be generated in each remaining channel In response , the data for the sound source is read from the memory based on the read address generated by the address counter means, and the read generated corresponding to the specific channel at the timing of the specific channel Memory access means for reading out the data for the sound source from the memory based on the address for use, inputting the data to the latch and holding it, and as a result, the data held in the latch being retrieved by the processing means When,
Wherein for each remaining channel, memory usage tone generator comprising a tone generating means for generating a respective tone signal based on the data and the control data for the tone generator which is read in accordance with the musical tone to be the generation.
前記アドレスカウンタ手段は、前記制御レジスタに書き込まれた該アドレス情報に基づき前記特定のチャンネルのアドレスを生成し、
前記メモリアクセス手段は、前記特定のチャンネルのタイミングで、前記アドレスに基づき前記メモリから前記音源用のデータを読み出して前記ラッチに保持させ、該読み出しが終了したら読み出し終了通知を発生し、
該終了通知に応じて、前記処理手段は、前記メモリから読み出されて前記ラッチに保持されたデータを該ラッチから取り出すこと
を特徴とする請求項4に記載のメモリ使用音源装置。 The processing means writes address information indicating an address from which the sound source data is to be read from the memory to the control register and generates a read instruction.
The address counter means generates an address of the specific channel based on the address information written in the control register,
The memory access means reads the data for the sound source from the memory based on the address at the timing of the specific channel and holds the data in the latch, and generates a read end notification when the read is completed,
5. The memory-use sound source device according to claim 4, wherein, in response to the end notification, the processing unit extracts data read from the memory and held in the latch from the latch.
前記アドレスカウンタ手段は、前記特定のチャンネルのタイミングに、該特定のチャンネルのアドレスとして複数のアドレスを順次生成し、
前記メモリアクセス手段は、該生成される複数のアドレスに基づいて、前記メモリから複数のデータを順次読み出して前記ラッチに順次保持させ、
前記処理手段は、前記メモリから読み出されて前記ラッチに保持された複数のデータを該ラッチから順次取り出すこと
を特徴とする請求項5に記載のメモリ使用音源装置。 The latch can hold a plurality of data,
The address counter means sequentially generates a plurality of addresses as the address of the specific channel at the timing of the specific channel,
The memory access means sequentially reads a plurality of data from the memory based on the generated plurality of addresses and sequentially holds the data in the latch.
6. The memory-use sound source device according to claim 5, wherein the processing means sequentially extracts a plurality of data read from the memory and held in the latch from the latch.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004083463A JP3858905B2 (en) | 2004-03-22 | 2004-03-22 | Sound generator using memory |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004083463A JP3858905B2 (en) | 2004-03-22 | 2004-03-22 | Sound generator using memory |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP34202893A Division JP3561939B2 (en) | 1993-12-14 | 1993-12-14 | Waveform memory sound source |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004227004A JP2004227004A (en) | 2004-08-12 |
| JP3858905B2 true JP3858905B2 (en) | 2006-12-20 |
Family
ID=32906277
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004083463A Expired - Lifetime JP3858905B2 (en) | 2004-03-22 | 2004-03-22 | Sound generator using memory |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3858905B2 (en) |
-
2004
- 2004-03-22 JP JP2004083463A patent/JP3858905B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2004227004A (en) | 2004-08-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103310780B (en) | Musical sound generating device and tone generation method | |
| US5689080A (en) | Computer system and method for performing wavetable music synthesis which stores wavetable data in system memory which minimizes audio infidelity due to wavetable data access latency | |
| US5717154A (en) | Computer system and method for performing wavetable music synthesis which stores wavetable data in system memory employing a high priority I/O bus request mechanism for improved audio fidelity | |
| JP4998046B2 (en) | Music generator | |
| JP3163984B2 (en) | Music generator | |
| US5809342A (en) | Computer system and method for generating delay-based audio effects in a wavetable music synthesizer which stores wavetable data in system memory | |
| JP5915420B2 (en) | Musical sound generating device, musical sound generating method, electronic musical instrument and program | |
| JP3221314B2 (en) | Musical sound synthesizer and method | |
| JP3858905B2 (en) | Sound generator using memory | |
| JP3561939B2 (en) | Waveform memory sound source | |
| JPH07121181A (en) | Voice information processing device | |
| JP2950461B2 (en) | Tone generator | |
| JP4070347B2 (en) | Music signal generator | |
| JP4254677B2 (en) | Musical sound generator and musical sound generation processing program | |
| JP2000293169A (en) | Musical sound generating device | |
| JP2571559B2 (en) | Waveform signal processing method | |
| JP4692056B2 (en) | Sound waveform generation device and data structure of waveform generation data of sound waveform | |
| JP3543203B2 (en) | Electronic musical instrument | |
| JP4102930B2 (en) | Sound waveform synthesizer | |
| JP4102931B2 (en) | Sound waveform synthesizer | |
| JP4172366B2 (en) | Automatic performance device, automatic performance program, automatic performance data and recording medium recording the data | |
| JP3504387B2 (en) | Electronic musical instrument | |
| JP3245411B2 (en) | Electronic musical instrument | |
| JP3095323B2 (en) | Electronic musical instrument | |
| JP5146188B2 (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: 20040408 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050715 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050809 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051007 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051122 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060123 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060411 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060609 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060802 |
|
| A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060807 |
|
| 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: 20060829 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060911 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100929 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100929 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110929 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120929 Year of fee payment: 6 |