JP3858905B2 - Sound generator using memory - Google Patents

Sound generator using memory Download PDF

Info

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
Application number
JP2004083463A
Other languages
Japanese (ja)
Other versions
JP2004227004A (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 JP2004083463A priority Critical patent/JP3858905B2/en
Publication of JP2004227004A publication Critical patent/JP2004227004A/en
Application granted granted Critical
Publication of JP3858905B2 publication Critical patent/JP3858905B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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 claim 6, the latch is capable of holding a plurality of data, and the address counter means sets a plurality of addresses as the address of the specific channel at the timing of the specific channel. The memory access means sequentially reads out a plurality of data from the memory based on the generated plurality of addresses and sequentially holds the data in the latch, and the processing means is read from the memory. A plurality of data held in the latch are sequentially extracted from the latch.

以下、この発明の実施例を添付図面に従って詳細に説明する。
図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 CPU 20 is connected to the ROM 21, RAM 22, keyboard 23, panel switch 24, panel display 25, interface 26, analog-digital converter (ADC) 27, and sound source circuit 2A via the data and address bus 2J. ing.
The ROM 21 stores various programs and various data of the CPU 20, and is composed of a read only memory (ROM).
The RAM 22 temporarily stores various data generated when the CPU 20 executes a program. Each RAM 22 is assigned a predetermined address area of a random access memory (RAM) and is used as a register, flag, buffer, or the like. The

鍵盤23は、発音すべき楽音の音高を選択するための複数の鍵を備えており、各鍵の操作に応じてノートオン、ノートオフ、ベロシティ、ピッチデータ等の各種データをデータ及びアドレスバス2Jを介してCPU20に出力する。鍵盤23の代わりにコンピュータ等を接続し、所望の演奏データを入力するようにしてもよい。
パネルスイッチ24は、音色、音量、効果等を選択・設定・制御するための各種操作子を含むものである。
パネル表示器25はCPU20の制御状態、設定データの内容等の各種の情報を液晶パネル(LCD)等に表示するものである。
マイク28は音声信号や楽器音等をアナログの電圧信号に変換して、ADC27に出力する。ADC27はマイク28からのアナログの電圧信号をディジタル信号に変換して、データ及びアドレスバス2Jに出力する。
ハードディスク29は数十〜数百メガバイト(MB)の記憶容量を有し、インターフェイス26を介してデータ及びアドレスバス2Jに接続されている。
The keyboard 23 is provided with a plurality of keys for selecting the pitches of musical tones to be generated, and various data such as note-on, note-off, velocity, pitch data, etc. according to the operation of each key. The data is output to the CPU 20 via 2J. Instead of the keyboard 23, a computer or the like may be connected to input desired performance data.
The panel switch 24 includes various operators for selecting, setting, and controlling a timbre, volume, effect, and the like.
The panel display 25 displays various information such as the control state of the CPU 20 and the contents of setting data on a liquid crystal panel (LCD) or the like.
The microphone 28 converts an audio signal, a musical instrument sound, and the like into an analog voltage signal and outputs the analog voltage signal to the ADC 27. The ADC 27 converts the analog voltage signal from the microphone 28 into a digital signal and outputs it to the data and address bus 2J.
The hard disk 29 has a storage capacity of several tens to several hundreds of megabytes (MB), and is connected to the data and address bus 2J via the interface 26.

音源回路2Aは、発生すべき楽音の音高に対応して変化する周波数データに応じて音源回路2A内の波形メモリ2Dから楽音波形データを順次読み出すメモリ読み出し方式により、楽音信号を発生するものであり、複数のチャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス2Jを経由して与えられた演奏データ(MIDI規格に準拠したデータ等)を入力し、このデータに基づき楽音信号を発生する。なお、この実施例では、電子楽器は32チャンネル時分割で動作し、その中の31チャンネルを同時発音に使用し、残りの1チャンネルをCPU20によるデータ読出書込用として使用している。   The tone generator circuit 2A generates a tone signal by a memory read system that sequentially reads tone waveform data from the waveform memory 2D in the tone generator circuit 2A in accordance with frequency data that changes according to the pitch of the tone to be generated. Yes, music signals can be generated simultaneously on multiple channels. Data and performance data (data based on the MIDI standard, etc.) given via the address bus 2J are input, and music signals are output based on this data. appear. In this embodiment, the electronic musical instrument operates in a time-sharing manner of 32 channels, of which 31 channels are used for simultaneous sound generation and the remaining one channel is used for data reading / writing by the CPU 20.

音源回路2Aは、複数のチャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス2Jを経由して与えられた演奏データ(ピッチデータ、ノートオン、波形スタートアドレス(WSA)、ループスタートアドレス(LPS)、ループエンドアドレス(LPE)、レート、レベル、その他の各種のパラメータやMIDI規格に準拠したデータ等)を入力し、これらのデータに基づき楽音信号を発生し、サウンドシステム2Hに出力する。   The tone generator circuit 2A can simultaneously generate musical tone signals in a plurality of channels, and performance data (pitch data, note-on, waveform start address (WSA), loop start address) provided via the data and address bus 2J. (LPS), loop end address (LPE), rate, level, other parameters, data conforming to the MIDI standard, etc.) are input, and a tone signal is generated based on these data and output to the sound system 2H. .

音源回路2Aは、音源I/O2B、波形発生部2C、波形メモリ2D、エンベロープ付与部2E、チャンネル累算部2F及びディジタル−アナログ変換器(DAC)2Gからなる。
音源I/O2Bは、データ及びアドレスバス2Jを介してCPU20から供給される演奏データを音源側に入力したり、音源側のデータをデータ及びアドレスバス2Jを介してCPU20に出力したりする。
The sound source circuit 2A includes a sound source I / O 2B, a waveform generation unit 2C, a waveform memory 2D, an envelope applying unit 2E, a channel accumulation unit 2F, and a digital-analog converter (DAC) 2G.
The sound source I / O 2B inputs performance data supplied from the CPU 20 via the data and address bus 2J to the sound source side, and outputs data on the sound source side to the CPU 20 via the data and address bus 2J.

波形発生部2Cは、音源I/O2Bを介して入力される演奏データに基づいて波形メモリ2Dから波形データを読み出し、読み出された波形データに応じた楽音信号をエンベロープ付与部2Eに出力する。
波形メモリ2Dは、立上り部(アタック部)を構成する複数周期分のデータと、その後の持続部(ループ部)を構成する1周期分のデータとからなる波形データやマイク28によってサンプルされた波形データ等を記憶しており、波形発生部2Cからのアドレス信号を入力し、このアドレス信号に応じた領域に記憶されている波形データを出力する。
The waveform generator 2C reads the waveform data from the waveform memory 2D based on the performance data input via the sound source I / O 2B, and outputs a musical sound signal corresponding to the read waveform data to the envelope applying unit 2E.
The waveform memory 2D is a waveform sampled by the microphone 28 or waveform data consisting of data for a plurality of periods constituting the rising part (attack part) and data for one period constituting the subsequent sustaining part (loop part). Data and the like are stored, an address signal from the waveform generator 2C is input, and waveform data stored in an area corresponding to the address signal is output.

エンベロープ付与部2Eは、音源I/O2Bを介して入力されるレート、レベル等の演奏データに基づいた形状のエンベロープを波形発生部2Cからの楽音信号に付加し、それをキーオンの入力に同期したタイミングでチャンネル累算部2Fに出力する。
チャンネル累算部2Fは、32チャンネル時分割でエンベロープ付与部2Eから出力される各チャンネルの楽音信号を累算処理してDAC2Gに出力する。
The envelope assigning unit 2E adds an envelope having a shape based on performance data such as rate and level input via the sound source I / O 2B to the musical tone signal from the waveform generating unit 2C, and synchronizes it with the key-on input. Output to the channel accumulation unit 2F at the timing.
The channel accumulating unit 2F performs accumulating processing on the tone signal of each channel output from the envelope applying unit 2E in a time-sharing manner of 32 channels and outputs it to the DAC 2G.

DAC2Gは、ディジタルの楽音信号をアナログの楽音信号に変換してサウンドシステム2Hに出力する。
音源回路2Aから出力された楽音信号は、サウンドシステム2Hを介してスピーカから発音される。
The DAC 2G converts a digital musical tone signal into an analog musical tone signal and outputs it to the sound system 2H.
The musical sound signal output from the sound source circuit 2A is generated from the speaker via the sound system 2H.

図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 / O 2B of FIG.
In this embodiment, the tone generator I / O 2B includes a CPU bus control unit 11, an address latch (A latch) 12, a data latch (D latch) 13, a write buffer amplifier 14, a read buffer amplifier 15, and a write decoder. 16, write pulse generator 17, read decoder 18, channel latch (ch latch) 19, channel converter (ch converter) 1A, channel counter (ch counter) 1B, selector 1C, tone control register 1D, waveform memory It consists of I / O1E.

音源I/O2Bは、データ及びアドレスバスを介して下位アドレスADR(8ビット構成)、データDATA(8ビット構成)、書込制御信号*WR及び読出制御信号*RDをCPU20から入力する。ここで、書込制御信号*WR及び読出制御信号*RDの「*」はローレベル“0”でイネーブルとなるアクティブローを示す。CPU20が出力するアドレスの中の上位アドレスは、各機器指定用アドレスとして利用されるので、この音源I/O2Bには、下位アドレスADRのみが入力する。   The sound source I / O 2B receives the lower address ADR (8-bit configuration), data DATA (8-bit configuration), write control signal * WR, and read control signal * RD from the CPU 20 via the data and address bus. Here, “*” in the write control signal * WR and the read control signal * RD indicates active low enabled at the low level “0”. Since the upper address among the addresses output by the CPU 20 is used as an address for designating each device, only the lower address ADR is input to the sound source I / O 2B.

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 bus control unit 11 supplies an enable signal to the write buffer amplifier 14, and conversely, the read control signal * RD is at the low level “0”. In the case of “,” an enable signal is supplied to the read buffer amplifier 15. That is, the CPU bus control unit 11 operates so as to enable only one of the write buffer amplifier 14 and the read buffer amplifier 15. In addition, when the write control signal * WR or the read control signal * RD becomes the low level “0”, the CPU bus control unit 11 sends the latch pulse LW to the address latch 12 and the data latch 13 at the falling timing. Output.

アドレスラッチ12は、CPUバス制御部11からのラッチパルスLWを入力することによって下位アドレスADRをラッチする。データラッチ13は、CPUバス制御部11からラッチパルスLWを入力することによってデータDATAをそれぞれラッチする。
書込用バッファアンプ14は、CPUバス制御部11からのイネーブル信号の入力に応じてデータDATAをデータラッチ13に出力する。読出用バッファアンプ15は、CPUバス制御部11からのイネーブル信号の入力に応じて波形メモリI/Oからの読出データWDRをデータバスDATAに出力する。
The address latch 12 latches the lower address ADR by inputting the latch pulse LW from the CPU bus control unit 11. The data latch 13 latches data DATA by inputting a latch pulse LW from the CPU bus control unit 11.
The write buffer amplifier 14 outputs data DATA to the data latch 13 in response to the input of the enable signal from the CPU bus control unit 11. The read buffer amplifier 15 outputs read data WDR from the waveform memory I / O to the data bus DATA in response to an enable signal input from the CPU bus control unit 11.

書込用デコーダ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 write decoder 16 decodes the address ADR latched in the address latch 12 when the write control signal * WR becomes the low level “0”, and sends the write decode signal to the write pulse generator 17. Output to.
The write pulse generator 17 supplies the write pulse signal WP1 corresponding to the write decode signal from the write decoder 16 to the write address terminal WAD of the waveform memory I / O1E, and the write pulse signal WP2 to the musical tone control register. In addition to outputting to 1D, the latch pulse LC is output to the channel latch 19. That is, when the address ADR latched in the address latch 12 is “0”, “1”, “3”, “4”, the write pulse generator 17 has the corresponding A0, A1, A3, and A4 respectively. One of the write pulse signals WP1 is output.

読出用デコーダ18は、読出制御信号*RDがローレベル“0”になった場合に、アドレスラッチ12にラッチされているアドレスADRをデコードし、読出デコード信号RP1を波形メモリI/O1Eの読出アドレス端子RADに出力する。すなわち、読出デコーダ18はアドレスラッチ12にラッチされているアドレスADRが「2」、「5」、「6」の場合にそれぞれ、対応するA2、A5及びA6の読出デコード信号RP1のうちの1つを出力する。   The read decoder 18 decodes the address ADR latched in the address latch 12 when the read control signal * RD becomes low level “0”, and reads the read decode signal RP1 into the read address of the waveform memory I / O1E. Output to terminal RAD. That is, when the address ADR latched in the address latch 12 is “2”, “5”, “6”, the read decoder 18 is one of the corresponding read decode signals RP1 of A2, A5, and A6, respectively. Is output.

チャンネルラッチ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 write pulse generator 17, the channel latch 19 latches the data DATA from the data latch 13 accordingly. The data DATA is output to the channel conversion unit 1A as channel selection data CSD.
The channel conversion unit 1A receives the address ADR from the address latch 12 and the channel selection data CSD from the channel latch 19, and based on this, to which channel timing position of the musical tone control register 1D data is written, its channel designation address CDA Is generated.
The channel counter 1B sequentially counts from channel 0 to channel 31 and outputs the channel number to the selector 1C. The channel counter 1B outputs to the channel terminal ch of the waveform memory I / O a timing signal φ31ch that takes a high level “1” only for a period of one channel corresponding to the last 32nd 31st channel.

セレクタ1Cは、チャンネル変換部1Aからのチャンネル指定アドレスCDA及びチャンネルカウンタ1Bからのチャンネル番号を入力し、いずれか一方を規則的なクロックに基づいて楽音制御レジスタ1Dに出力する。
楽音制御レジスタ1Dは、波形発生部2Cにおける波形生成動作を制御するための複数種類のデータ(音高を制御するピッチデータ、楽音の発生の開始及び終了を指示するノートオン、波形スタートアドレス(WSA)、ループスタートアドレス(LPS)、ループエンドアドレス(LPE)及び、その他変調効果やタッチによる音色変化等を制御するデータ)やエンベロープ付与部における音量エンベロープ付与動作を制御するための複数種類のデータ(演算型エンベロープ発生に必要な各ステートのレートデータとレベルデータ、ノートオン及びその他のデータ)をそれぞれ各時分割チャンネルタイミングに対応した領域に格納する複数のレジスタで構成されている。ここで、セレクタ1Cの出力するデータは、複数時分割チャンネル分記憶された各レジスタのデータのうちの、どのチャンネルタイミングのデータをアクセスするか指示するタイミング位置を指示する指示データとして使用される。
The selector 1C receives the channel designation address CDA from the channel conversion unit 1A and the channel number from the channel counter 1B, and outputs either one to the tone control register 1D based on a regular clock.
The musical tone control register 1D includes a plurality of types of data (pitch data for controlling the pitch, note-on for instructing the start and end of musical tone generation, waveform start address (WSA) for controlling the waveform generation operation in the waveform generator 2C. ), Loop start address (LPS), loop end address (LPE), and other data for controlling modulation effects and timbre changes due to touch, etc.) and multiple types of data for controlling the volume envelope applying operation in the envelope applying unit ( Each state rate data, level data, note-on, and other data required for generating an operational envelope is configured by a plurality of registers for storing in respective areas corresponding to each time division channel timing. Here, the data output from the selector 1C is used as instruction data for instructing a timing position for instructing which channel timing data to access among the data of the registers stored for a plurality of time-division channels.

音源の各時分割チャンネルにおいて、波形発生部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 tone control register 1D are supplied to the sound generator control register 1D in order to supply the plurality of types of data required by the waveform generation unit 2C and the envelope applying unit 2E, respectively. At the timing of each time division channel, the data is read out in parallel according to the channel number supplied from the channel counter 1B via the selector 1C, and the read-out plural types of data are respectively sent to the waveform generator 2C and the envelope applying unit 2E. Supplied in parallel.
On the other hand, writing to the musical tone control register 1D from the CPU 20 is performed while the selector 1C selects the channel designation address CDA output from the channel conversion unit 1A at a timing that does not overlap with the above-described reading by the channel counter 1B.

ところで、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 A latch 12 is 8 bits, it is possible to designate addresses from “0” to “255” by this address. As described above, the addresses “0” to “6” are used as the write pulse signal WP1 and the read decode signal RP1, and when the address “7” of the latch pulse LC for the channel latch 19 is used, As addresses of the plurality of types of registers in the musical tone control register 1D, other addresses “8” to “255” can be used. For example, the address is assigned such that note-on is address “8”, pitch data is address “9”, attack state rate data is address “10”, and so on.

つまり、楽音制御レジスタ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 tone control register 1D, the CPU 20 writes the number of the time division channel to be written in the channel latch 19 in advance, and then selects the type of the register in the musical tone control register 1D to be written as described above. A designated address is supplied to the A latch 12 and a value to be written is supplied to the D latch 13. In this state, the write signal * WR is enabled and the write is executed.
At this time, the channel instruction address CDA supplied as the instruction data from the channel conversion unit 1A to the musical tone control register 1D is the channel number written in the channel latch 19 of the register at the address designated by the A latch 12. The corresponding timing position is specified. Upon receiving the decode signal generated by the write decoder 16 when the write signal * WR is enabled, the write pulse generator 17 corresponds to the address specified for the A latch 12 in the plurality of signal lines of the write pulse signal WP2. A single write pulse is generated on the line. In response to this write pulse, latched in the D latch 13 at the timing position corresponding to the channel number latched in the channel latch 19 of the type of register designated by the address of the A latch 12 in the tone control register 1D. The value data is written.

波形メモリ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 channel counter 1B as the channel terminal ch, the write waveform data WD from the data latch 13 as the data input terminal DI, and the write pulse signal from the write pulse generator 17. WP1 is input to the write address terminal WAD, and the read decode signal RP1 from the read decoder 18 is input to the read address terminal RAD. The read waveform data WDR and the read end data WED read from the waveform memory 2D (however, the bus Is shared with WRD) from the data output terminal DO to the read buffer amplifier 15. That is, the waveform memory I / O1E takes in the write waveform data WD to be written in the waveform memory 2D and writes it into the waveform memory 2D at a predetermined timing (timing at which the timing signal φ31ch is output from the channel counter 1B). The detailed configuration of the waveform memory I / O will be described later.

図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 channel control register 31, the write data WD from the data latch 13 is written and written in accordance with the write pulse signal A0 output from the write pulse generator 17 when the address ADR is "0". Among the data, the operating signal USE is output to the access count detector 35 and the 4 consecutive pulse generators 3E, and the write / read control signal W / * R is output to the control terminals of the 4 consecutive pulses generator 3E and the selector 3H. . The operating signal USE is also output to the frequency number generator (F number generator) 41 shown in FIG.

パルス発生部32は、アドレスADRが「6」の場合に読出デコーダ18から出力される読出デコード信号A6を入力した時点で1サンプル読出完了パルスRSPをオア回路33に出力する。
オア回路33は、パルス発生部32から1サンプル読出完了パルスRSPとアドレスADRが「4」の場合に書込パルス発生部17から出力される書込パルス信号A4を入力し、両者の論理和出力をオア回路3F及びアクセス回数検出部35に出力する。
The pulse generator 32 outputs a one-sample read completion pulse RSP to the OR circuit 33 when the read decode signal A6 output from the read decoder 18 is input when the address ADR is “6”.
The OR circuit 33 receives the one-sample read completion pulse RSP from the pulse generator 32 and the write pulse signal A4 output from the write pulse generator 17 when the address ADR is “4”, and outputs a logical sum of both. Is output to the OR circuit 3F and the access count detector 35.

上位ラッチ34は、アドレスADRが「3」の場合に書込パルス発生部17から出力される書込パルス信号A3を入力した時点でデータラッチ13からの書込波形データWDをラッチし、それを次のアドレスADR「4」と共に送られてくる下位8ビット構成の書込波形データWDと並列にセレクタ3HのB端子に出力する。すなわち、上位ラッチ34は8ビット構成の書込波形データWDを16ビット構成に拡張する。   The upper latch 34 latches the write waveform data WD from the data latch 13 when the write pulse signal A3 output from the write pulse generator 17 is input when the address ADR is "3", and It is output to the B terminal of the selector 3H in parallel with the write waveform data WD having a lower 8-bit configuration sent together with the next address ADR “4”. That is, the upper latch 34 extends the write waveform data WD having an 8-bit configuration to a 16-bit configuration.

アクセス回数検出部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 pulse generation unit 17 and the channel control register 31 when the address ADR is “1”. The signal USE and the logical sum signal from the OR circuit 33 are input. The access number detection unit 35 is cleared by the start signal A1, and then counts the signal output from the OR circuit 33. If the access from the CPU 20 has been performed four times, that is, in the case of writing from the CPU 20, the four latches 3J, It is detected whether the write waveform data WD has been transferred to 3K, 3L, and 3M, respectively, and in the case of reading by the CPU 20, whether the four 16-bit data written in the four latches has been read. Then, the detection signal is output to the OR circuit 36.

オア回路36は、スタート信号A1とアクセス回数検出部35からの検出信号との論理和信号をフリップフロップ回路37のセット端子Sに出力する。
フリップフロップ回路37は、オア回路36からの論理和信号をセット端子Sに、ディレイ3Cからの遅延信号をリセット端子Rに入力し、セット出力をアンド回路38に出力し、その反転出力をゲート回路3Pに出力する。
ゲート回路3Pは、アドレスADRが「2」の場合に読出デコーダ18から出力される読出デコード信号A2を入力した時点でフリップフロップ回路37の反転出力を読出終了データWEDをデータ出力端子DOから読出用バッファアンプ15を介してCPU20に出力する。
The OR circuit 36 outputs a logical sum signal of the start signal A 1 and the detection signal from the access count detection unit 35 to the set terminal S of the flip-flop circuit 37.
The flip-flop circuit 37 inputs the logical sum signal from the OR circuit 36 to the set terminal S, the delay signal from the delay 3C to the reset terminal R, outputs the set output to the AND circuit 38, and outputs the inverted output to the gate circuit. Output to 3P.
When the address decode signal A2 output from the read decoder 18 is input when the address ADR is "2", the gate circuit 3P reads the inverted output of the flip-flop circuit 37 and the read end data WED from the data output terminal DO. The data is output to the CPU 20 via the buffer amplifier 15.

アンド回路38は、チャンネルカウンタ1Bからのタイミング信号φ31chとフリップフロップ回路37のセット出力との論理積信号をディレイ39に出力する。
ディレイ39は、アンド回路38からの論理積信号を1チャンネル期間だけ遅延し、それをタイミング信号TSとして波形発生部2C及びディレイ3Aに出力する。
ディレイ3Aは、ディレイ39からのタイミング信号を1チャンネル期間だけ遅延し、それを4連続パルス発生部3E及びディレイ3Cに出力する。
ディレイ3Cは、ディレイ3Aからの遅延信号をからに1チャンネル期間だけ遅延し、それをフリップフロップ回路37のリセット端子Rに出力する。
The AND circuit 38 outputs a logical product signal of the timing signal φ31ch from the channel counter 1B and the set output of the flip-flop circuit 37 to the delay 39.
The delay 39 delays the logical product signal from the AND circuit 38 by one channel period, and outputs it as a timing signal TS to the waveform generator 2C and the delay 3A.
The delay 3A delays the timing signal from the delay 39 by one channel period, and outputs it to the 4-continuous pulse generator 3E and the delay 3C.
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-flop circuit 37.

4連続パルス発生部3Eは、チャンネル制御レジスタ31からの動作中信号USE及び書込読出制御信号W/*R、並びにディレイ3Aからの遅延信号を入力し、この遅延信号がハイレベル“1”の場合に、第31チャンネルのタイムスロットの期間で連続する4つのパルスを発生し、それをオア回路3Fに出力すると共にそれを書込信号WSとして波形メモリ2Dに出力する。   The 4-continuous pulse generator 3E receives the in-operation signal USE and the write / read control signal W / * R from the channel control register 31 and the delay signal from the delay 3A, and this delay signal is at the high level “1”. In this case, four continuous pulses are generated during the time slot of the 31st channel, and are output to the OR circuit 3F and output to the waveform memory 2D as the write signal WS.

オア回路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 circuit 3F receives the logical sum signal from the OR circuit 33 and the four continuous pulses from the four continuous pulse generator 3E, and sends the logical sum signal of both to the pulse generator 3G.
The feed pulse generator 3G sequentially outputs feed pulses L1 to L4 to the latches 3M, 3L, 3K, and 3J every time the logical sum signal from the OR circuit 3F is input.
The latch 3J latches the 16-bit data from the selector 3H at the time when the feed pulse L4 is input, and outputs the latched data to the latch 3K in the next stage. The latch 3K latches the data from the previous stage latch 3J at the time of input of the feed pulse L3, and outputs it to the next stage latch 3L. The latch 3L latches the data from the previous stage latch 3K at the input time of the transmission pulse L2, and outputs it to the next stage latch 3M. The latch 3M latches the data from the preceding latch 3L at the time of input of the transmission pulse L1, and outputs it to the selector 3N and the waveform generator 2B. The data output from the latch 3M to the selector 3N is the memory read data MRD read from the waveform memory 2C, while the data output from the latch 3M to the waveform generator 2C is the memory to be written to the waveform memory 2D. Write data MWD.

ここに、ラッチパルス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 circuit 3F is input. In response to the input of one pulse from 3F, the data in the latch 3L is in the latch 3M, the data in the latch 3K is in the latch 3L, the data in the latch 3J is in the latch 3K, and the data newly supplied from the selector 3H is in the latch 3J Latched and shifted by one data as a whole.

セレクタ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 selector 3N inputs the upper 8 bits of the memory read data MRD from the latch 3M to the upper terminal H and the lower 8 bits to the lower terminal L, and is output from the read decoder 18 when the address ADR is "5". Read decode signal A5 is input to upper select terminal SH, and read decode signal A6 output from read decoder 18 when address ADR is "6" is input to lower select terminal SL. Therefore, when address ADR is “5”, the upper 8 bits of memory read data MRD are output as read waveform data WDR, and when address ADR is “6”, the lower 8 bits of memory read data MRD are read waveform. Output as data WDR.

図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 waveform generator 2C of FIG.
The frequency number (F number) generator 40 outputs a frequency number (F number) corresponding to the pitch data from the musical tone control register 1D to the address counter 41 and an operating signal USE from the channel control register 31 of FIG. The timing signal TS from the delay 39 is input. When the operating signal USE is at the high level “1”, the 31st channel is used for the CPU 20 access, and when the timing signal TS is “0”, the F number generator 40 has the F of the 31st channel. When “0” is output as the number and the timing signal TS is “1”, “4” is output to the address counter 41 as the F number of the 31st channel. This frequency number is data composed of an integer part and a decimal part.

アドレスカウンタ41は、図1の楽音制御レジスタ1Dからのノートオンパルス及び書込パルス発生部17からのスタート信号A1をオア回路42を介して入力すると共に、楽音制御レジスタ1Dからの波形スタートアドレス(WSA)、ループスタートアドレス(LPS)及びループエンドアドレス(LPE)及び周波数ナンバ発生器40からの周波数ナンバを入力する。そして、アドレスカウンタ41は、スタート信号A1又は各時分割発音チャンネルの楽音の発音開始を指示するノートオンパルスの入力に応じて、その周波数ナンバを波形スタートアドレス(WSA)を初期値として順次カウントする。   The address counter 41 receives the note-on pulse from the tone control register 1D of FIG. 1 and the start signal A1 from the write pulse generator 17 via the OR circuit 42, and also receives the waveform start address (from the tone control register 1D ( WSA), loop start address (LPS), loop end address (LPE), and frequency number from the frequency number generator 40 are input. Then, the address counter 41 sequentially counts the frequency number using the waveform start address (WSA) as an initial value in response to the start signal A1 or the input of a note-on pulse for instructing the start of tone generation of each time-division tone generation channel. .

アドレスカウンタ41は、ノートオンパルス又はスタート信号を入力することによって初期アドレス(波形スタートアドレスWSA)にセットされ、周波数ナンバの大きさに応じてその波形スタートアドレス(WSA)を基準に順次カウントアップされたアドレスを加算器43及び44に出力する。なお、アドレスカウンタ41は読出アドレスのうち整数部のデータInを加算器43に出力し、小数部のデータDcを加算器44に出力する。周波数ナンバの値が小さい時は読出アドレスの増加量は小さくなるため、波形メモリ2Dから出力される楽音波形信号の音高は相対的に低くなり、周波数ナンバの値が大きい時は読出アドレスの増加量は大きくなるため、波形メモリ2Dから出力される楽音波形信号の音高は高くなる。   The address counter 41 is set to an initial address (waveform start address WSA) by inputting a note-on pulse or a start signal, and is sequentially counted up based on the waveform start address (WSA) according to the size of the frequency number. The address is output to the adders 43 and 44. The address counter 41 outputs the integer part data In of the read address to the adder 43, and outputs the decimal part data Dc to the adder 44. When the frequency number value is small, the amount of increase in the read address is small, so the pitch of the tone waveform signal output from the waveform memory 2D is relatively low, and when the frequency number is large, the read address is increased. Since the amount increases, the pitch of the musical sound waveform signal output from the waveform memory 2D increases.

補助カウンタ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 auxiliary counter 45 sequentially outputs “0”, “1”, “2”, and “3” to the adders 43 and 44 as auxiliary addresses AA in one of the time division channels.
The adder 43 sequentially adds “0”, “1”, “2”, “3” of the auxiliary address AA from the auxiliary counter 45 to the address In of the integer part from the address counter 41. Accordingly, the waveform memory 2D is sequentially supplied with four consecutive addresses InA within one time-division channel, and four consecutive waveform data corresponding to the address In in the waveform memory 2D are sequentially read out. On the other hand, the adder 44 adds “0”, “1”, “2”, “3” of the auxiliary address AA from the auxiliary counter 45 to the decimal part address Dc from the address counter 41, so that the interpolation coefficient memory 4A. Are sequentially supplied with four addresses DcA corresponding to the four consecutive waveform data corresponding to the address decimal part Dc in one channel, and the four coefficients are sequentially read out.

波形メモリ2Dは、立上り部(アタック部)の波形データとして複数周期分、その後の持続部(ループ部)の波形データとして1周期分を記憶しており、加算器43からのアドレスInAに対応するメモリ読出データMRD(16ビット構成)をバッファアンプ48及び乗算器49を介して補間累算器4Bに出力すると共に、バッファアンプ46にも出力する。なお、波形メモリ2Dには、図3の4連続パルス発生部3Eからの書込信号WSに応じてバッファアンプ47を介して入力してくる4個のメモリ書込データMWDが順次加算器43からの4個のアドレスInAに書き込まれる。   The waveform memory 2D stores a plurality of cycles as waveform data of the rising portion (attack portion) and one cycle as waveform data of the subsequent sustain portion (loop portion), and corresponds to the address InA from the adder 43. The memory read data MRD (16-bit configuration) is output to the interpolation accumulator 4B via the buffer amplifier 48 and the multiplier 49, and also to the buffer amplifier 46. In the waveform memory 2D, four memory write data MWD input via the buffer amplifier 47 in accordance with the write signal WS from the four continuous pulse generator 3E in FIG. Are written to the four addresses InA.

バッファアンプ46は、アンド回路4Eからの制御信号に応じて波形メモリ2Dからのメモリ読出データMRDを図3のセレクタ3HのA端子に出力する。バッファアンプ47は、アンド回路4Gからの制御信号に応じて図3のラッチ3Mからのメモリ書込データMWDを波形メモリ2D及びバッファアンプ48に出力する。バッファアンプ48は、反転回路4Jからの制御信号に応じて波形メモリ2Dからのメモリ読出データMRD又はバッファアンプ47からのメモリ書込データMWDを乗算器49に出力する。   The buffer amplifier 46 outputs the memory read data MRD from the waveform memory 2D to the A terminal of the selector 3H in FIG. 3 according to the control signal from the AND circuit 4E. The buffer amplifier 47 outputs the memory write data MWD from the latch 3M in FIG. 3 to the waveform memory 2D and the buffer amplifier 48 according to the control signal from the AND circuit 4G. The buffer amplifier 48 outputs the memory read data MRD from the waveform memory 2D or the memory write data MWD from the buffer amplifier 47 to the multiplier 49 in accordance with the control signal from the inverting circuit 4J.

補間係数メモリ4Aは、加算器44から出力される1チャンネル当たり4個のアドレスに対応した補間係数を順次乗算器49に出力する。
乗算器49は、補間係数メモリ4Aからの補間係数を各メモリ読出データMRDに乗じて補間累算器4Bに出力する。
補間累算器4Bは、乗算器49から順次出力される値を1チャンネル内で累算処理して、1つの補間出力サンプル値としてエンベロープ付与部2Eに出力する。
The interpolation coefficient memory 4A sequentially outputs interpolation coefficients corresponding to four addresses per channel output from the adder 44 to the multiplier 49.
The multiplier 49 multiplies each memory read data MRD by the interpolation coefficient from the interpolation coefficient memory 4A and outputs it to the interpolation accumulator 4B.
The interpolation accumulator 4B accumulates the values sequentially output from the multiplier 49 within one channel, and outputs the result to the envelope assigning unit 2E as one interpolation output sample value.

バッファアンプ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 buffer amplifiers 46, 47 and 48 are controlled by delays 4C and 4D, AND circuits 4E, 4F and 4G and inverting circuits 4H and 4J. The delays 4C and 4D are delay circuits for adjusting the timing with respect to the path (the AND circuit 38 and the delays 39 and 3A) through which the timing signal φ31ch passes.
The AND circuit 4E receives the operating signal USE and the timing signal φ31ch from the channel control register 31, and outputs a logical product signal of both to the AND circuits 4F and 4G and the inverting circuit 4J. The inverting circuit 4H receives the write / read control signal W / * R from the channel control register 31, and outputs the inverted output to the AND circuit 4F. The AND circuit 4F inputs the logical product signal of the AND circuit 4E and the inverted output of the write / read control signal W / * R, and outputs the logical product signal to the buffer amplifier 46. The AND circuit 4G receives the logical product signal of the AND circuit 4E and the write / read control signal W / * R, and outputs the logical product signal of both to the buffer amplifier 47. The inverting circuit 4J receives the logical product signal of the AND circuit 4E and outputs the inverted output to the buffer amplifier 48.

エンベロープ付与部2Eは、レジスタ1Dから供給される各時分割チャンネルのノートオンに応じて音源I/O2Bに予め設定されたパラメータに基いて波形エンベロープ信号(14ビット構成)を生成し、波形発生部2Cの補間累算器4Bから出力される補間されたサンプル値に対し、該エンベロープ信号に応じた振巾エンベロープ制御を行い、振巾制御されたサンプル値をチャンネル累算部2Fに出力する。   The envelope applying unit 2E generates a waveform envelope signal (14-bit configuration) based on parameters preset in the sound source I / O 2B according to the note-on of each time division channel supplied from the register 1D, and the waveform generating unit Amplitude envelope control is performed on the interpolated sample value output from the 2C interpolation accumulator 4B in accordance with the envelope signal, and the amplitude-controlled sample value is output to the channel accumulation unit 2F.

次に、この発明に係る電子楽器が行う波形データの書込処理及び読出処理について説明する。
まず、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 CPU 20 reads the sampling waveform data written after the address “5F” from the waveform memory 2D will be described.
The CPU 20 sets “5F” as the waveform start address (WSA) of the timing signal φ31ch of the tone control register 1D in order to sequentially read the sampling waveform data from the address “5F” of the waveform memory 2D at the timing of the timing signal φ31ch. .

これと同時に、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 CPU 20 outputs “A0” as the address ADR, sets the operating signal USE of the channel control register 31 to the high level “1”, and sets the write / read control signal W / * R to the low level “0”. Data DATA is output. In response, write decoder 16 outputs a write decode signal corresponding to “A0” to write pulse generator 17. The write pulse generator 17 outputs a high level “1” write pulse signal A 0 to the channel control register 31. The channel control register 31 outputs a high-level “1” operating signal USE to the access count detection unit 35, the four continuous pulse generation unit 3E, the frequency number generator 40, and the AND circuit 4E, and writes the low level “0”. The read / in control signal W / * R is output to the four continuous pulse generator 3E, the selector 3H, the inverting circuit 4H, and the AND circuit 4G, respectively.
Next, the CPU 20 outputs “A1” as the address ADR. In response to this, the write decoder 16 outputs a write decode signal corresponding to “A1” to the write pulse generator 17, and the write pulse generator 17 accesses the start signal A1 of the high level “1”. The number is output to the number detection unit 35, the OR circuit 36 and the address counter 41.

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 CPU 20 performs the processing as described above, the waveform memory I / O 1E and the waveform generator 2C operate as follows.
Since the start signal A1 is input to the set terminal S of the flip-flop circuit 37 via the OR circuit 36, the flip-flop circuit 37 outputs the set output Q of the high level “1” to the AND circuit 38 and the low level “0”. The inverted output * Q is output to the gate 3P.
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 address counter 41 via the OR circuit 42, the address counter 41 sets “5F” of the waveform start address (WSA) in the musical tone control register 1D as the initial value of the counter as the waveform memory read address.

チャンネルカウンタ1Bは、時分割チャンネルのタイミングが32番目のチャンネルになると、ハイレベル“1”のタイミング信号φ31chをアンド回路38に出力する。アンド回路38は、タイミング信号φ31chがハイレベル“1”の間、フリップフロップ回路37からの出力Q(ハイレベル“1”)をディレイ39に出力する。従って、このハイレベル“1”の信号は、ディレイ39によって1チャンネル期間だけ遅延してディレイ3Aに入力すると共に周波数ナンバ発生器40にタイミング信号TSとして入力する。   The channel counter 1B outputs a high level “1” timing signal φ31ch to the AND circuit 38 when the timing of the time division channel becomes the 32nd channel. The AND circuit 38 outputs the output Q (high level “1”) from the flip-flop circuit 37 to the delay 39 while the timing signal φ31ch is at the high level “1”. Accordingly, the high level “1” signal is delayed by one channel period by the delay 39 and input to the delay 3A and also input to the frequency number generator 40 as the timing signal TS.

さらに、ディレイ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 delay 39 is further delayed by one channel period by the delay 3A and is input to the 4-continuous pulse generator 3E and the delay 3C. Since the write / read control signal W / * R is at the low level “0”, the four continuous pulse generator 3E that receives the high level “1” delay signal from the delay 3A has a continuous 4 in one channel from that point. The number of pulses is output to the OR circuit 3F. When the write / read control signal W / * R is at the high level “1”, the four continuous pulse generator 3E passes through the buffer 47 in response to the four pulses during the 32nd channel. A write signal WS is output to the waveform memory 2D at a timing synchronized with four write sample data (memory write data) MWD sequentially supplied to 2D.

周波数ナンバ発生器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 frequency number generator 40 is “4” instead of the F number corresponding to the pitch data supplied from the normal musical tone control register 1D as the 31 channel frequency data. The F number having a value is output to the address counter 41. As a result, the address counter 41 outputs the address In incremented by 4 to the adders 43 and 44 when reading and writing by the CPU in the 31 channel.

このとき、補助カウンタ45は、時分割チャンネルの1チャンネル分の間に、「0」,「1」,「2」,「3」の補助アドレスAAを加算器43及び44に出力するので、波形メモリ2Dには、アドレスカウンタ41からのアドレスInと補助カウンタ45の補助アドレスAAとの加算されたアドレスInAが読出アドレスとして入力する。これによって波形メモリ2Dからは、これらの4個の読出アドレスに対応したメモリ読出データMRDがバッファアンプ46及び48に順次出力される。   At this time, the auxiliary counter 45 outputs the auxiliary addresses AA of “0”, “1”, “2”, “3” to the adders 43 and 44 during one channel of the time division channel. An address InA obtained by adding the address In from the address counter 41 and the auxiliary address AA of the auxiliary counter 45 is input to the memory 2D as a read address. As a result, memory read data MRD corresponding to these four read addresses is sequentially output from the waveform memory 2D to the buffer amplifiers 46 and 48.

このとき、アンド回路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 circuit 4F via the inverting circuit 4H, and a low level “0” write / read control signal W is input to the AND circuit 4G. Since / * R is input, the gate of the AND circuit 4F is opened, and the gate of the AND circuit 4G is closed. Therefore, the logical product output of the AND circuit 4E is input to the buffer amplifier 46 via the AND circuit 4F. A high level “1” operating signal USE is input to one terminal of the AND circuit 4E, and a high level “1” timing signal is input to the other terminal after a delay of two channel periods via delays 4C and 4D. Since φ31ch is input, the logical product signal of high level “1” is input to the buffer amplifier 46 via the AND circuits 4E and 4F when two channel periods elapse after the timing signal φ31ch becomes high level “1”. To do. Thus, the memory read data MRD from the waveform memory 2D is input to the A terminal of the selector 3H via the buffer amplifier 46 in the waveform memory access period corresponding to the 31 channel.

セレクタ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 buffer amplifier 46 is output to latch 3J. At this time, the pulse from the 4-continuous pulse generator 3E is input to the feed pulse generator 3G via the OR circuit 3F, and the data in the latches L1 to L4 are forwarded in accordance with the pulses, thereby causing the waveform memory The four memory read data MRD sequentially read from 2D are transferred to the latches 3J, 3K, 3L, and 3M one after another and latched.

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 latches 3J, 3K, 3L, and 3M and latched, a high level “1” output is output from the delay 3C to the reset terminal R of the flip-flop circuit 37 at the end of the fetching. Then, the set output Q of the flip-flop circuit 37 is set to low level “0” and the inverted output * Q is set to high level “1”.
The CPU 20 outputs “A2” as the address ADR. In response to this, the read decoder 18 outputs a read decode signal A2 corresponding to “A2” to the gate 3L, opens the gate 3L, reads the inverted output * Q of the flip-flop circuit 37, and the inverted output * Q is It is detected that the reading of the memory read data MRD from the waveform memory 2D into the latches 3J, 3K, 3L, 3M has been completed at the timing when it becomes “1”.

以上の処理が終了した後、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 CPU 20 alternately outputs the address ADR (A5, A6) four times, selects the L terminal and the H terminal of the selector 3N, and outputs eight 8-bit read data WDR to the buffer amplifier. 15 are sequentially read out.
That is, when CPU 20 outputs “A5” as address ADR, read decoder 18 outputs read decode signal A5 to selector 3N. The selector 3N outputs the upper 8 bits of the memory read data MRD latched in the latch 3M as read data WDR to the read data bus, and the upper 8 bits are read by the CPU via the buffer 15. Next, when the CPU 20 outputs “A6” as the address ADR, the read decoder 18 outputs a read decode signal A6 to the selector 3N. The selector 3N outputs the lower 8 bits of the memory read data MRD latched in the latch 3M to the read data bus as read data WDR and is read by the CPU via the buffer 15.

このとき、パルス発生部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 pulse generator 32 outputs a one-sample read completion pulse RSP to the access count detector 35 via the OR circuit 33 and a feed pulse generator via the OR circuits 33 and 3F. Output to 3G. The access count detection unit 35 counts the number of times one sump read completion pulse RSP is input from the pulse generation unit 32, and detects whether the count value is “4”, that is, whether the CPU 20 has read access four times. To do. At this point, the CPU 20 has accessed only once.
On the other hand, the feed pulse generator 3G shifts the data of the latches 3J, 3K, 3L, and 3M to the latch 3M side by one stage in response to the input of the one-sample read completion pulse RSP.

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 CPU 20 reads the data for 4 words in the waveform memory 2D by repeating the above operation (operation for alternately outputting the addresses ADR (A5, A6)) four times.
When this read operation is completed, the access count detector 35 counts the one-sample read completion pulse RSP output from the OR circuit 33, detects that data read for four words has been completed, and has a high level “1”. Is output to the set terminal S of the flip-flop circuit 37 via the OR circuit 36. As a result, the flip-flop circuit 37 is set again and outputs the set output Q of the high level “1” to the AND circuit 38. Then, during the next timing signal φ31ch, data of 4 words is sequentially read from the waveform memory 2D from the waveform memory 2D and taken into the four-stage latches 3J, 3K, 3L, 3M, and then The flip-flop circuit 37 is reset again. In this case, the waveform start address (WSA) is not written to the address counter 41 of the waveform generator 2C, and the previous count value is continuously used.

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 CPU 20 can successively read out the data stored in the corresponding address while sequentially increasing the address by 4 from “5F” of the waveform start address (WSA). .
When ending the process of reading data from the waveform memory 2D, the CPU 20 outputs “A0” as the address ADR with the flip-flop circuit 37 being reset (the set output Q is at the low level “0”). Then, the write pulse signal A0 is output to the channel control register 31, and the data DATA that sets the operation signal USE of the channel control register 31 to the low level “0” is output. As a result, the channel control register 31 outputs the in-operation signal USE of the low level “0” to the access count detection unit 35, the 4 continuous pulse generation unit 3E, the frequency number generator 40, and the AND circuit 4E. Subsequent data read operations are not performed.

次に、CPU20が波形メモリ2Dの、例えばアドレス「6F」以降の領域にサンプリング波形データを書き込む処理について説明する。
CPU20は、タイミング信号φ31chのタイミングで波形メモリ2Dのアドレス「6F」から順番にサンプリング波形データを書き込むために、楽音制御レジスタ1Dのタイミング信号φ31chの波形スタートアドレス(WSA)すなわち波形メモリ2Dの書き込み先頭アドレスに「6F」を設定する。
Next, a process in which the CPU 20 writes sampling waveform data in, for example, an area after the address “6F” in the waveform memory 2D will be described.
In order to write the sampling waveform data in order from the address “6F” of the waveform memory 2D at the timing of the timing signal φ31ch, the CPU 20 writes the waveform start address (WSA) of the timing signal φ31ch of the musical tone control register 1D, that is, the write head of the waveform memory 2D. Set “6F” in the address.

これと同時に、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 CPU 20 outputs “A0” as the address ADR, and outputs data DATA that sets the write / read control signal W / * R of the channel control register 31 to the high level “1”. In response to this, the write decoder 16 outputs a write decode signal corresponding to “A0” to the write pulse generator 17, and the write pulse generator 17 outputs the write pulse signal A0 of high level “1”. Is output to the channel control register 31. The channel control register 31 outputs a high level “1” write / read control signal W / * R to each of the four continuous pulse generator 3E, the selector 3H, the inverting circuit 4H, and the AND circuit 4G.
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 CPU 20 alternately outputs the address ADR (A3, A4) four times, and writes the write waveform data WD in the latches 3J, 3K, 3L, 3M.
That is, when the CPU 20 outputs “A3” as the address ADR together with the upper 8 bits of the first waveform data, the write decoder 16 outputs a write decode signal corresponding to “A3” to the write pulse generator 17, The write pulse generator 17 outputs the high level “1” write pulse signal A 3 to the upper latch 34. The upper latch 34 latches the upper 8-bit write waveform data from the data latch 13. Next, when the CPU 20 outputs “A4” as the address ADR together with the lower 8 bits of the waveform data, the write decoder 16 outputs a write decode signal corresponding to “A4” to the write pulse generator 17, The write pulse generator 17 outputs a high level “1” write pulse signal A4 to the feed pulse generator 3G via the OR circuits 33 and 3F.

セレクタ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 latch 34. Write waveform data WD is output to latch 3J. At this time, since the write pulse signal A4 is input to the feed pulse generator 3G via the OR circuits 33 and 3F, the upper 8 bits of data latched in the upper latch 34 and the lower 8 bits supplied this time are supplied. The 16-bit write waveform data WD combined with the data is taken into the latch 3J, and the data originally latched in the latches 3J, 3K, 3L are latched in the latches 3K, 3L, 3M, respectively, and latched as a whole The data that is being processed is forwarded one by one.
The CPU 20 stores the write waveform data WD for four words in the latches 3J, 3K, 3L, and 3M by repeating the above-described operation (operation for alternately outputting the addresses ADR (A3, A4)) four times.

次に、CPU20はアドレス「A1」のチャンネル制御レジスタ31の動作中信号USEに“1”を書き込む。そして、CPU20は、アドレスADRとして「A1」を出力する。これに応じて書込用デコーダ16は「A1」に対応した書込デコード信号を書込パルス発生部17に出力し、書込パルス発生部17は、ハイレベル“1”のスタート信号A1をアクセス回数検出部35、オア回路36及びアドレスカウンタ41に出力する。   Next, the CPU 20 writes “1” in the operating signal USE of the channel control register 31 of the address “A1”. Then, the CPU 20 outputs “A1” as the address ADR. In response to this, the write decoder 16 outputs a write decode signal corresponding to “A1” to the write pulse generator 17, and the write pulse generator 17 accesses the start signal A1 of the high level “1”. The number is output to the number detection unit 35, the OR circuit 36, and the address counter 41.

フリップフロップ回路37は、スタート信号A1をオア回路36を介してセット端子Sに入力することによって、ハイレベル“1”のセット出力Qをアンド回路38に、ローレベル“0”の反転出力*Qをゲート3Lに出力する。
アクセス回数検出部35は、スタート信号A1の入力に応じて検出回数値をクリアする。
アドレスカウンタ41は、スタート信号A1をオア回路42を介して入力することによって、波形メモリ書込アドレスとして楽音制御レジスタ1D内の波形スタートアドレス(WSA)の「6F」をカウンタ初期値として格納する。
The flip-flop circuit 37 inputs the start signal A1 to the set terminal S via the OR circuit 36, thereby causing the set output Q of the high level “1” to the AND circuit 38 and the inverted output * Q of the low level “0”. Is output to the gate 3L.
The access count detection unit 35 clears the detection count value in response to the input of the start signal A1.
The address counter 41 inputs the start signal A1 through the OR circuit 42, and stores “6F” of the waveform start address (WSA) in the tone control register 1D as the initial value of the counter as the waveform memory write address.

チャンネルカウンタ1Bは、時分割チャンネルのタイミングが32番目のチャンネルになると、ハイレベル“1”のタイミング信号φ31chをアンド回路38に出力する。アンド回路38は、タイミング信号φ31chがハイレベル“1”の間、フリップフロップ回路37からのセット出力Q(ハイレベル“1”)をディレイ39に出力する。このハイレベル“1”の信号は、ディレイ39によって1チャンネル期間だけ遅延してディレイ3Aに入力すると共に周波数ナンバ発生器40にタイミング信号TSとして入力する。   The channel counter 1B outputs a high level “1” timing signal φ31ch to the AND circuit 38 when the timing of the time division channel becomes the 32nd channel. The AND circuit 38 outputs the set output Q (high level “1”) from the flip-flop circuit 37 to the delay 39 while the timing signal φ31ch is at the high level “1”. This high level “1” signal is delayed by one channel period by the delay 39 and input to the delay 3A and also input to the frequency number generator 40 as the timing signal TS.

さらに、ディレイ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 delay 39 is further delayed by one channel period by the delay 3A and is input to the 4-continuous pulse generator 3E and the delay 3C. Since the write / read control signal W / * R is at the high level “1”, the 4-continuous pulse generator 3E to which the delay signal at the high level “1” from the delay 3A is input has a continuous 3 in one channel from that point. The number of pulses is sent to the pulse generator 3G via the OR circuit 3F, and while the timing signal φ31ch is at the high level “1”, four consecutive pulses are output to the waveform memory 2D as the write signal WS.
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 frequency number generator 40 outputs an F number having a value of “4” instead of the F number corresponding to the 31-channel pitch data normally output to the address counter 41 every time the timing signal TS is input. . As a result, the address counter 41 outputs the address In incremented by 4 to the adders 43 and 44 for 31 channels.
At this time, the auxiliary counter 45 outputs the auxiliary addresses AA of “0”, “1”, “2”, “3” to the adders 43 and 44 during one channel of the time division channel. Four consecutive addresses InA obtained by adding the address In from the address counter 41 and the auxiliary address AA of the auxiliary counter 45 are input to the memory 2D as a write address.

アンド回路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 circuit 4F via the inverting circuit 4H, and a high level “1” write / read control signal W / * R is input to the AND circuit 4G. Therefore, the gate of the AND circuit 4F is closed and the gate of the AND circuit 4G is opened. Therefore, the logical product output of the AND circuit 4E is input to the buffer amplifier 47 via the AND circuit 4G. The high-level “1” operating signal USE is input to one terminal of the AND circuit 4E, and the high-level “1” timing is delayed to the other terminal by two channel periods via the delays 4C and 4D. Since the signal φ31ch is input, the logical product signal of the high level “1” is supplied to the buffer amplifier 47 via the AND circuits 4E and 4G when two channel periods have elapsed after the timing signal φ31ch has become the high level “1”. input. Accordingly, the memory write data MWD from the latch 3M is input to the data input terminal of the waveform memory 2D and the buffer amplifier 48 via the buffer amplifier 47 in the access period of the waveform memory 2D corresponding to 31 channels.

送りパルス発生器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 continuous pulse generator 3E are input to the feed pulse generator 3G via the OR circuit 3F. The feed pulse generator 3G shifts the data of the latches 3J, 3K, 3L, and 3M to the latch 3M side by one stage according to the pulse input. The memory write data MWD latched in the latches 3J, 3K, 3L, and 3M are successively transferred to the latch 3M and input to the waveform memory 2 from the latch 3M via the buffer amplifier 47. At the same time, four consecutive write signals WS and four consecutive addresses InA are input to the waveform memory 2D from the four consecutive pulse generators 3E, so that write waveform data WD for four words is input to this address area. Written sequentially.
When the four memory write data MWD stored in the latches 3J, 3K, 3L, and 3M are written to the waveform memory 2D, the output of the high level “1” from the delay 3C is reset to the flip-flop circuit 37 accordingly. Input to the terminal R, the set output Q of the flip-flop circuit 37 is set to the low level “0”, and the inverted output * Q is set to the high level “1”.

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 CPU 20 reads the data at the address “A2” in order to detect the completion of the writing of the four data to the waveform memory 2D. At this time, the read decoder 18 outputs a read decode signal A2 corresponding to “A2” to the gate 3P, opens the gate 3P, and the CPU 20 reads the inverted output * Q of the flip-flop circuit 37 and reads the memory write data MWD. It is detected that the writing process from the latches 3J, 3K, 3L, 3M to the waveform memory 2D has been completed.
The CPU 20 that detects the end of the writing process outputs the address ADR (A3, A4) alternately four times, stores the write waveform data WD for four new words in the latches 3J, 3K, 3L, 3M, The above operation is repeatedly executed to write the memory write data MWD to the waveform memory 2D. The CPU 20 writes the memory write data MWD to the corresponding address while increasing the address sequentially by 4 from “6F” of the waveform start address (WSA) by repeatedly executing the above operation.

波形メモリ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 waveform memory 2D, the CPU 20 sets “A0” as the address ADR in a state where the flip-flop circuit 37 is reset (the set output Q is at the low level “0”). The write pulse signal A0 is output to the channel control register 31, and the data DATA that sets the operation signal USE and the write / read control signal W / * R of the channel control register 31 to the low level “0” is output. To do. As a result, the channel control register 31 outputs the in-operation signal USE of the low level “0” to the access count detection unit 35, the 4 continuous pulse generation unit 3E, the frequency number generator 40, and the AND circuit 4E. Subsequent data write operations are not performed.

上述した実施例によれば、波形メモリ音源が時分割チャンネル発音処理を行っていても、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.

図2の音源I/Oの詳細構成を示す図である。It is a figure which shows the detailed structure of the sound source I / O of FIG. 本発明の一実施例に係るサンプラータイプの波形メモリ音源を内蔵した電子楽器の全体構成を示す図である。It is a figure which shows the whole structure of the electronic musical instrument which incorporated the sampler type waveform memory sound source which concerns on one Example of this invention. 図1の波形メモリI/Oの詳細構成を示す図である。It is a figure which shows the detailed structure of the waveform memory I / O of FIG. 図2の波形発生部の詳細構成を示す図である。It is a figure which shows the detailed structure of the waveform generation part of FIG.

符号の説明Explanation of symbols

11 CPUバス制御部
12 アドレスラッチ
13 データラッチ
14 書込用バッファ
15 読出用バッファアンプ
16 書込用デコーダ
17 書込パルス発生部
18 読出用デコーダ
19 チャンネルラッチ
1A チャンネル変換部
1B チャンネルカウンタ
1C セレクタ
1D 楽音制御レジスタ
1E 波形メモリI/O
11 CPU bus controller 12 Address latch 13 Data latch 14 Write buffer 15 Read buffer amplifier 16 Write decoder 17 Write pulse generator 18 Read decoder 19 Channel latch 1A Channel converter 1B Channel counter 1C Selector 1D Musical tone Control register 1E Waveform memory I / O

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.
JP2004083463A 2004-03-22 2004-03-22 Sound generator using memory Expired - Lifetime JP3858905B2 (en)

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)

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