JP5146188B2 - Music signal generator - Google Patents
Music signal generator Download PDFInfo
- Publication number
- JP5146188B2 JP5146188B2 JP2008202926A JP2008202926A JP5146188B2 JP 5146188 B2 JP5146188 B2 JP 5146188B2 JP 2008202926 A JP2008202926 A JP 2008202926A JP 2008202926 A JP2008202926 A JP 2008202926A JP 5146188 B2 JP5146188 B2 JP 5146188B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- waveform
- memory
- page
- sample
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 claims description 237
- 238000005070 sampling Methods 0.000 claims description 87
- 230000006870 function Effects 0.000 claims description 8
- 238000000034 method Methods 0.000 description 25
- 230000005236 sound signal Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000003530 single readout Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000012636 effector Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
この発明は、波形メモリ方式の楽音信号生成装置に関し、特に、波形メモリからのデータ読み出し法を改良し、それに伴い波形メモリのデータの記憶法を改良することにより波形メモリのアクセス速度を向上できるようにしたものである。 The present invention relates to a waveform memory type musical tone signal generation apparatus, and in particular, it is possible to improve the access speed of the waveform memory by improving the method of reading data from the waveform memory and improving the data storage method of the waveform memory accordingly. It is a thing.
従来より、波形メモリ方式の音源(波形メモリ音源)により構成される楽音信号生成装置が知られている。波形メモリ音源は、波形メモリの各アドレスに1サンプルずつ記憶された波形データに基づいて楽音信号を生成するものであって、発音チャンネルごとに時分割動作することにより、サンプリング周期毎に、所定の複数の発音チャンネル分の楽音信号を同時に生成することができた。すなわち、1サンプリング周期を均等に分割した各発音チャンネルに対応するタイムスロット毎に波形メモリに対してアクセスが行われて、波形メモリから波形サンプルが読み出され、このようにして読み出された連続する何点かの波形サンプルを用いてサンプル間補間することにより、各発音チャンネルごとに1サンプリング周期分の波形サンプルを生成し、複数の発音チャンネルごとの波形サンプルをサンプリング周期毎に累算することで、全体として複数の発音チャンネル分の楽音信号を生成する。 2. Description of the Related Art Conventionally, a musical sound signal generating apparatus configured by a waveform memory type sound source (waveform memory sound source) is known. The waveform memory sound source generates a musical tone signal based on waveform data stored one sample at each address of the waveform memory, and performs a time-sharing operation for each sound generation channel, so that a predetermined frequency is obtained every sampling cycle. Musical sound signals for multiple sound channels could be generated simultaneously. That is, the waveform memory is accessed for each time slot corresponding to each sound generation channel obtained by equally dividing one sampling period, and waveform samples are read from the waveform memory. Interpolate between samples using several waveform samples to generate waveform samples for one sampling period for each sounding channel, and accumulate waveform samples for multiple sounding channels for each sampling period Thus, musical tone signals for a plurality of tone generation channels are generated as a whole.
上記構成の波形メモリ音源において、波形メモリから波形サンプルを読み出す方式として、「単発読み出し型」方式が従来あった。「単発読み出し型」の場合は、波形メモリへの1度のアクセスごとに、1つのアドレス信号を出力して、1つのアドレスにアクセスし、該アドレス信号に特定される1つのアドレスに記憶された波形サンプルを読み出す。なお、アドレス信号により波形メモリ上の記憶位置(アドレス)を特定し、その特定したアドレスに直接アクセスする方法を、一般に、ランダムアクセスという。 In the waveform memory sound source having the above configuration, a “single readout type” method has been conventionally used as a method for reading a waveform sample from the waveform memory. In the case of the “single readout type”, one address signal is output for each access to the waveform memory, one address is accessed, and the address signal is stored in one address specified by the address signal. Read waveform samples. A method of specifying a storage position (address) on the waveform memory by an address signal and directly accessing the specified address is generally referred to as random access.
また、波形メモリから波形サンプルを読み出す方式の別の例として、「連続読み出し型」方式が従来あった。「連続読み出し型」場合は、波形メモリにおいて、連続する複数アドレスを1フレームとするフレーム単位で波形サンプルを記憶しており、波形メモリに対する1度のアクセスにより、1フレームを構成する複数アドレス分の複数の波形サンプルを読み出す(例えば、下記特許文献1を参照)。このように1度のアクセスで複数の波形サンプルを読み出すことをバースト読み出しという。
As another example of a method of reading waveform samples from the waveform memory, there has been a “continuous reading type” method. In the “continuous readout type”, waveform samples are stored in the waveform memory in units of frames in which a plurality of consecutive addresses are one frame, and by one access to the waveform memory, a plurality of addresses corresponding to a plurality of addresses constituting one frame are stored. A plurality of waveform samples are read (see, for example,
また、下記特許文献2には、バースト読み出しを行うための構成として、波形メモリの各アドレス毎に、波形サンプルを複数サンプルずつ記憶しておき、波形メモリに対する1度のアクセス毎に、複数サンプル単位で読み出しを行うことが記載されている。
ところで、上述した通り波形メモリ音源は、時分割動作により複数の発音チャンネル分の楽音信号を生成することを実現している。従って、音源のサンプリング周期毎の発音チャンネル数は、音源の波形メモリに対するアクセス速度によって制限される。つまり、波形メモリに対するアクセス速度が、発音チャンネル数を制限するボトルネックとなっている要素である。従って、波形メモリに対するアクセス速度を向上すれば、結果的に発音チャンネル数を増やすことが可能となる。 By the way, as described above, the waveform memory sound source realizes generation of tone signals for a plurality of sound generation channels by time division operation. Therefore, the number of tone generation channels for each sampling period of the sound source is limited by the access speed of the sound source waveform memory. That is, the access speed to the waveform memory is an element that is a bottleneck that limits the number of sound generation channels. Therefore, if the access speed to the waveform memory is improved, the number of sound generation channels can be increased as a result.
しかし、上記従来の「単発読み出し型」の波形メモリ音源では、ランダムアクセスにより1度のアクセスごとに1アドレスから波形サンプルを読み出していたので、波形メモリに対するアクセス速度の向上をすることに限度があった。その結果、「単発読み出し型」の波形メモリ音源においては、発音チャンネル数を増やすことが著しく制限されていたという不都合があった。 However, the conventional “single-reading type” waveform memory sound source reads waveform samples from one address for each access by random access, so there is a limit to improving the access speed to the waveform memory. It was. As a result, the “single readout type” waveform memory sound source has a disadvantage that the number of sound generation channels is significantly limited.
また、上記単発読み出し型の波形メモリ音源が、サンプル間補間用のバッファを持たない構成の場合、1回の読み出しタイミング毎に補間演算に使うための複数点の波形サンプルを読み出すために、波形メモリに対して複数回アクセスしなければならない。例えば2サンプルを用いた2点補間(直線補間)を行うとすると、各サンプリング周期の各発音チャンネルの読み出しタイミング毎に、波形メモリに対して2回アクセスする必要がある。すなわち、サンプル間補間用のバッファを設けないことでコストを下げることができるが、その反面、波形サンプルの読み出し効率が悪くなり、発音チャンネル数がより一層制限される。 Further, when the single readout type waveform memory sound source does not have a buffer for inter-sample interpolation, a waveform memory is used to read out a plurality of waveform samples to be used for interpolation calculation at each readout timing. Must be accessed multiple times. For example, when two-point interpolation (linear interpolation) using two samples is performed, it is necessary to access the waveform memory twice for each reading timing of each sound generation channel in each sampling period. That is, the cost can be reduced by not providing a buffer for inter-sample interpolation, but on the other hand, the waveform sample reading efficiency is deteriorated and the number of sound generation channels is further limited.
これに対して、上記従来の「連続読み出し型」の波形メモリ音源では、1度のアクセスごとに複数個の波形サンプルを読み出していたので、波形メモリに対するアクセス速度を向上することはできるが、1度のアクセスで波形メモリから読み出す複数個の波形サンプルに相当するデータ量(フレームサイズ)以上のデータ容量のバッファを、音源部に設けなければならない。すなわち、従来の複数サンプルをバースト読み出する方式では、バースト読み出しするデータサイズに対応するデータ容量のバッファが必要となり、構成が複雑化し回路規模が大きくなるという不都合があった。 On the other hand, since the conventional “continuous readout type” waveform memory sound source reads a plurality of waveform samples for each access, the access speed to the waveform memory can be improved. A buffer having a data capacity equal to or larger than the data amount (frame size) corresponding to a plurality of waveform samples read out from the waveform memory at every access must be provided in the sound source unit. That is, the conventional method of reading out a plurality of samples in burst requires a buffer having a data capacity corresponding to the data size to be read out in burst, which has the disadvantage that the configuration is complicated and the circuit scale is increased.
この発明は、上記の点に鑑みてなされたもので、波形メモリに対するアクセス速度を向上して、それにより発音チャンネル数を増やすことができる楽音信号生成装置を提供することを目的とする。 The present invention has been made in view of the above points, and an object of the present invention is to provide a musical tone signal generating apparatus capable of improving the access speed to the waveform memory and thereby increasing the number of sound generation channels.
この発明は、波形メモリに記憶された波形データに基づいて、サンプリング周期毎に複数発音チャンネルの楽音信号を生成する楽音信号生成装置であって、アドレス空間がページサイズpでページ分けされ、各ページ内のアドレスに記憶されたデータを高速ページアクセス可能な波形メモリであって、各アドレスに前記波形データを1サンプルずつ記憶しており、各ページの最終アドレスに記憶されたサンプルは、その次のページの先頭アドレスにも重複して記憶した波形メモリと、各サンプリング周期毎に、各発音チャンネルの読み出しレートを累算して、整数部と小数部からなるサンプルアドレスを各発音チャンネル毎に生成するアドレスカウンタと、各サンプリング周期毎に、前記アドレスカウンタで生成したサンプルアドレスの整数部を、各ページの最終アドレスに対応する値を飛び越すメモリアドレスに変換するメモリアドレス生成部と、各サンプリング周期毎に、前記メモリアドレス生成部により生成された各発音チャンネルのメモリアドレスを用いて前記波形メモリをページアクセスし、前記メモリアドレスからの連続する2つのアドレスに記憶された2つのサンプルを読み出す読み出し部と、各サンプリング周期毎に、前記読み出し部により読み出された各発音チャンネル毎の2個のサンプル間を、前記アドレスカウンタで生成した前記サンプルアドレスの小数部に基づいてサンプル間補間して、該補間されたサンプルを各発音チャンネル毎に生成する補間部と、前記補間部により補間された各発音チャンネル毎のサンプルに基づいて、サンプリング周期毎に複数発音チャンネルの楽音信号を生成する楽音信号生成部とを具えることを特徴とする楽音信号生成装置である。 The present invention is a musical tone signal generating apparatus for generating musical tone signals of a plurality of sound generation channels for each sampling period based on waveform data stored in a waveform memory, wherein the address space is divided into pages by page size p, and each page The waveform memory is capable of high-speed page access to the data stored in the address, and the waveform data is stored one sample at each address, and the sample stored at the last address of each page is the next The waveform memory that is also stored in duplicate at the top address of the page and the read rate of each sound channel are accumulated for each sampling period, and a sample address consisting of an integer part and a decimal part is generated for each sound channel. Address counter and integer of sample address generated by the address counter for each sampling period The waveform using a memory address of each tone generation channel generated by the memory address generator generated by the memory address generator for each sampling period, and a memory address generator that converts a value corresponding to the final address of each page A page access to the memory, a read unit for reading two samples stored at two consecutive addresses from the memory address, and two for each tone generation channel read by the read unit for each sampling period Are interpolated between samples based on the fractional part of the sample address generated by the address counter, and an interpolator that generates the interpolated sample for each sound generation channel, and the interpolated by the interpolator Multiple samples per sampling period based on samples for each sound channel A musical tone signal generating apparatus characterized by comprising a tone signal generator for generating a musical tone signal of the sound channels.
波形メモリは、アドレス空間がページサイズpでページ分けされ、各ページ内のアドレスに記憶されたデータを高速ページアクセス可能な波形メモリであって、各アドレスに前記波形データを1サンプルずつ記憶しており、各ページの最終アドレスに記憶されたサンプルは、その次のページの先頭アドレスにも重複して記憶されている。各サンプリング周期毎に、各発音チャンネルの読み出しレートを累算して、整数部と小数部からなるサンプルアドレスを各発音チャンネル毎に生成し、該生成したサンプルアドレスの整数部を、各ページの最終アドレスに対応する値を飛び越すメモリアドレスに変換して、各発音チャンネルのメモリアドレスを用いて波形メモリをページアクセスし、該メモリアドレスからの連続する2つのアドレスに記憶された2つのサンプルを読み出して、読み出された各発音チャンネル毎の2個のサンプル間を、サンプルアドレスの小数部に基づいてサンプル間補間して、各発音チャンネル毎の補間済みサンプルに基づいて、サンプリング周期毎に複数発音チャンネルの楽音信号を生成する。よって、各サンプリング周期毎の各発音チャンネルのページアクセスで、補間に必要な2つの波形サンプルを読み出せる。また、メモリアドレスは各ページの最終アドレスに対応する値を飛び越すので、メモリアドレスからの連続する2つのアドレスは常に同一ページ内のアドレスとなる。メモリアドレスは各ページの最終アドレスを指すことがなくなるが、各ページの最終アドレスに記憶されたサンプルは、その次のページの先頭アドレスにも重複して記憶されているので、該最終アドレスのサンプルとその次のサンプル間の補間ができるようになっている。 The waveform memory is a waveform memory in which the address space is divided into pages by the page size p, and the data stored in the address in each page can be accessed at high speed page, and the waveform data is stored in each address one sample at a time. The sample stored at the last address of each page is also stored redundantly at the top address of the next page. For each sampling period, the readout rate of each sound channel is accumulated to generate a sample address consisting of an integer part and a decimal part for each sound channel, and the integer part of the generated sample address is used as the final part of each page. The value corresponding to the address is converted into a jumping memory address, the waveform memory is page accessed using the memory address of each tone generation channel, and two samples stored at two consecutive addresses from the memory address are read out. Interpolate between the two samples for each read sound channel based on the fractional part of the sample address, and multiple sound channels for each sampling period based on the interpolated samples for each sound channel A musical tone signal is generated. Therefore, two waveform samples required for interpolation can be read by page access of each sound generation channel for each sampling period. Further, since the memory address skips the value corresponding to the final address of each page, two consecutive addresses from the memory address are always addresses in the same page. The memory address no longer points to the final address of each page, but the sample stored at the final address of each page is also stored redundantly at the top address of the next page. And the next sample can be interpolated.
前記メモリアドレス生成部の構成例として、前記ページサイズの所定アドレス数をpとおくと、アドレスカウンタで生成したサンプルアドレスの整数部SAiと該整数部SAiの関数である[SAi/(p−1)]の整数部とを加算した結果に基づきメモリアドレスMAを生成するよう構成することで、サンプルアドレスの整数部を、各ページの最終アドレスに対応する値を飛び越すメモリアドレスに変換できる。 As an example of the configuration of the memory address generation unit, if the predetermined number of addresses of the page size is p, the integer part SAi of the sample address generated by the address counter and the function of the integer part SAi [SAi / (p−1 )] To generate the memory address MA based on the result of addition of the integer part, the integer part of the sample address can be converted into a memory address that jumps over the value corresponding to the final address of each page.
また、この発明は、波形メモリに記憶された波形データに基づいて、サンプリング周期毎に複数発音チャンネルの楽音信号を生成する楽音信号生成装置であって、アドレス空間がページサイズpでページ分けされ、各ページ内のアドレスに記憶されたデータを高速ページアクセス可能な波形メモリであって、各アドレスに前記波形データを1サンプルずつ記憶しており、各ページの最終からn−1個の各アドレスに記憶された波形データのサンプルは、その次のページの先頭からn−1個の各アドレスにも重複して記憶した波形メモリと、各サンプリング周期毎に、各発音チャンネルの読み出しレートを累算して、整数部と小数部からなるサンプルアドレスを各発音チャンネル毎に生成するアドレスカウンタと、各サンプリング周期毎に、前記アドレスカウンタで生成したサンプルアドレスの整数部を、各ページの最終からn−1個のアドレスに対応する値を飛び越すメモリアドレスに変換するメモリアドレス生成部と、各サンプリング周期毎に、前記メモリアドレス生成部により生成された各発音チャンネルのメモリアドレスを用いて前記波形メモリをページアクセスし、前記メモリアドレスからの連続するn個のアドレスに記憶されたn個のサンプルを読み出す読み出し部と、各サンプリング周期毎に、前記読み出し部により読み出された各発音チャンネル毎のn個のサンプル間を、前記アドレスカウンタで生成した前記サンプルアドレスの小数部に基づいてサンプル間補間して、該補間されたサンプルを各発音チャンネル毎に生成する補間部と、前記補間部により補間された各発音チャンネル毎のサンプルに基づいて、サンプリング周期毎に複数発音チャンネルの楽音信号を生成する楽音信号生成部とを具えることを特徴とする楽音信号生成装置である。 The present invention is also a musical sound signal generating device for generating a musical sound signal of a plurality of tone generation channels for each sampling period based on waveform data stored in a waveform memory, wherein the address space is paged by page size p, A waveform memory capable of high-speed page access to data stored at addresses in each page, storing the waveform data one sample at each address, and n-1 addresses from the last of each page The stored waveform data samples are accumulated in the n-1 address from the beginning of the next page, and the readout rate of each sound channel is accumulated for each sampling period. An address counter that generates a sample address consisting of an integer part and a decimal part for each tone generation channel, and for each sampling period, A memory address generator for converting the integer part of the sample address generated by the address counter into a memory address that jumps over a value corresponding to n-1 addresses from the end of each page; and the memory address generator for each sampling period A read unit that performs page access to the waveform memory using the memory address of each tone generation channel generated by the unit, and reads out n samples stored in consecutive n addresses from the memory address; and each sampling period Each time, n samples for each tone generation channel read by the reading unit are interpolated between samples based on the fractional part of the sample address generated by the address counter, and the interpolated samples are obtained. Interpolated for each tone generation channel and interpolated by the interpolator Based on samples of each sound channel, a musical tone signal generating apparatus characterized by comprising a tone signal generator for generating a musical tone signals of plural tone generation channels in each sampling period.
ページアクセスによりページ内の所定のn個のサンプルずつ読み出す場合には、波形メモリの各ページの最終からn−1個の各アドレスに記憶された波形データのサンプルは、その次のページの先頭からn−1個の各アドレスにも重複して記憶される。メモリアドレス生成部は、アドレスカウンタで生成したサンプルアドレスの整数部を、各ページの最終からn−1個のアドレスに対応する値を飛び越すメモリアドレスに変換する。そして、各サンプリング周期毎に、各発音チャンネルのメモリアドレスを用いて、波形メモリをページアクセスし、該メモリアドレスからの連続するn個のアドレスに記憶されたn個のサンプルを読み出して、読み出された各発音チャンネル毎のn個のサンプル間を、サンプルアドレスの小数部に基づいてサンプル間補間して、補間された各発音チャンネル毎のサンプルに基づいて、複数発音チャンネルの楽音信号を生成する。 When reading a predetermined n number of samples in the page by page access, the waveform data samples stored in the n-1 addresses from the end of each page of the waveform memory are read from the top of the next page. The n-1 addresses are also stored redundantly. The memory address generation unit converts the integer part of the sample address generated by the address counter into a memory address that skips values corresponding to n-1 addresses from the end of each page. Then, at each sampling period, the waveform memory is page-accessed using the memory address of each tone generation channel, and n samples stored in consecutive n addresses from the memory address are read and read. The n samples for each sounding channel are interpolated between samples based on the fractional part of the sample address, and a musical sound signal of a plurality of sounding channels is generated based on the interpolated samples for each sounding channel. .
上記のページアクセスによりページ内の所定のn個のサンプルずつ読み出す場合には、メモリアドレス生成部の構成例として、前記ページサイズの所定アドレス数をpとおくと、アドレスカウンタで生成したサンプルアドレスの整数部SAiと、該整数部SAiの関数である[SAi/(p−n+1)]の整数部に(n−1)を乗算した値とを加算した結果に基づき、メモリアドレスを生成するよう構成することで、サンプルアドレスの整数部を、各ページの最終からn−1個のアドレスに対応する値を飛び越すメモリアドレスに変換できる。 When reading a predetermined n number of samples in a page by the above page access, as a configuration example of the memory address generation unit, if the predetermined number of addresses of the page size is set to p, the sample address generated by the address counter A memory address is generated based on a result of adding the integer part SAi and a value obtained by multiplying the integer part of [SAi / (p−n + 1)], which is a function of the integer part SAi, by (n−1). By doing so, the integer part of the sample address can be converted into a memory address that jumps over the values corresponding to n-1 addresses from the end of each page.
この発明によれば、波形メモリとして、アドレス空間がページサイズpでページ分けされ、各ページ内のアドレスに記憶されたデータを高速ページアクセス可能な波形メモリを用いて、各ページの最終アドレス(最終からn−1個の各アドレス)に記憶されたサンプルは、その次のページの先頭アドレスにも重複して記憶しておくとともに、各発音チャンネルで各ページの最終アドレス(最終からn−1個のアドレス)を避けたメモリアドレスを生成することで、各サンプリング周期内の各発音チャンネル毎のアクセスタイミングで、ページアクセスを用いて、波形メモリの同一ページ内の連続する2アドレス(n個のアドレス)から2つのサンプル(n個のサンプル)を高速で読み出すことができる。
各発音チャンネルのサンプル間補間に用いるサンプルは、サンプリング周期毎に、波形メモリから読み出すようになっているので、発音チャンネル毎のバッファメモリが不要であり、その分だけ楽音信号生成装置の構成を簡単化することができる。
従って、この発明にかかる楽音信号生成装置によれば、簡単な構成で、波形メモリ9に対するアクセス速度を向上して、発音チャンネル数を増やすことができるという優れた効果を奏する。
According to the present invention, as the waveform memory, the address space is divided into pages by the page size p, and the waveform memory capable of high-speed page access to the data stored in the address in each page is used. Samples stored at n-1 addresses from the first page are also stored redundantly at the top address of the next page, and at the end of each page (n-1 from the last) in each tone generation channel. 2 addresses (n addresses) in the same page of the waveform memory by using page access at the access timing for each sound generation channel within each sampling period. ) To two samples (n samples) can be read out at high speed.
The samples used for inter-sample interpolation of each sound channel are read from the waveform memory at each sampling period, so there is no need for a buffer memory for each sound channel, and the configuration of the tone signal generator is simplified accordingly. Can be
Therefore, according to the musical tone signal generating apparatus of the present invention, there is an excellent effect that the access speed to the
以下、この発明の一実施例について図面を参照して詳細に説明する。この実施例では、この発明に係る波形メモリ音源(楽音信号生成装置)を電子楽器に適用した例について説明する。 Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. In this embodiment, an example in which the waveform memory sound source (musical sound signal generator) according to the present invention is applied to an electronic musical instrument will be described.
図1は、本発明の波形メモリ音源(楽音信号生成装置)を適用した電子楽器の全体構成を示すブロック図である。図1において、電子楽器は、CPU1、フラッシュメモリ2、RAM3、演奏操作子4、操作子5、表示器6、データ入出力インターフェース(I/O)7、音源部8、波形メモリ9、およびサウンドシステム10を含んで構成される。CPU1には、データおよびアドレスバスライン1Bを介して、フラッシュメモリ2、RAM3、演奏操作子4、操作子5、表示器6、入出力I/O7、および音源部8の各デバイスが接続されており、バスライン1Bを介して接続された各デバイスとの間でアドレス信号を含む各種データを通信する。
FIG. 1 is a block diagram showing an overall configuration of an electronic musical instrument to which a waveform memory sound source (musical sound signal generating device) of the present invention is applied. In FIG. 1, an electronic musical instrument includes a
CPU1、フラッシュメモリ2、およびRAM3は電子楽器の動作を制御する制御部である。フラッシュメモリ2には、CPU1が実行する各種プログラムを記憶されており、CPU1は、フラッシュメモリ2に記憶されたプログラムをRAM3に読み出し、該読み出したプログラムを実行する。
The
演奏操作子4は、ユーザが演奏操作を入力するための操作子と、該演奏操作を検出するための検出機構とを含み、例えば、複数の鍵からなる鍵盤により構成される。ユーザは、演奏操作子4を用いて、楽音の発音及び止音を指示し、また、発音すべき楽音の音高とベロシティ(音量)とを指示することができる。CPU1は、演奏操作子4の操作に応じた検出信号をバスライン1Bを介して受信して、受信した検出信号に基づき該演奏操作子4の操作に応じた演奏イベントデータを発生する。
The
操作子5は、ユーザが音色の選択や選択された音色の各種パラメータの値の入力等を行うための操作子と、その操作を検出するための検出機構とを含む。前記音色の各種パラメータには、例えば楽音の音量を制御する音量パラメータや、楽音に対して効果付与するための各種エフェクタを設定するパラメータなどが含まれる。ユーザは、操作子5を操作して、音色の選択、音量の調整、あるいは各種エフェクタのパラメータの値の調整等を含む各種パラメータの設定を行うことができる。CPU1は、操作子5の操作に応じた検出信号をバスライン1Bを介して受信して、該受信した検出信号に基づき操作子5の操作に応じた各種データを発生する。
The
表示器6は、電子楽器の操作パネルに配置され、CPU1による表示制御に基づき各種情報を表示する表示器であって、例えば液晶ディスプレイ等で構成される。また、電子楽器は、入出力I/O7を介して各種外部の装置とデータ通信可能に接続される。入出力I/O7は、例えばMIDI規格の信号を送受信するためのMIDIインターフェースや、あるいはEthernet(登録商標)規格の通信インターフェースなど、従来から知られる適宜の規格のデータ入出力インターフェースにより構成される。
The
波形メモリ9は、複数の音色に対応する複数の波形データを記憶したメモリであって、詳しくは後述する通り、データの読み出し方式として「高速ページモード」によるアクセス(ページアクセス)が可能なメモリによって構成される。波形メモリ9は、書き換え可能な不揮発性メモリ(フラッシュメモリ)やダイナミックRAM(DRAM)により構成されてもよいし、書き換え不可能な不揮発性メモリ(ROM)により構成されてもよい。波形データは、アナログ音響信号を、所定のサンプリングレートで標本化(サンプリング)し、サンプリング点ごとの瞬時振幅を示す標本値を、固定ビット数のデジタルデータとして記録したデータである。この明細書では、サンプリング点ごとの瞬時振幅を示す標本値(波形データのサンプル)のことを「波形サンプル」という。
The
音源部8は、サンプリング周期毎に波形メモリ9にアクセスし、該波形メモリ9から波形サンプルを読み出して、該読み出した波形サンプルを用いて楽音信号を生成する波形メモリ音源である。音源部8は、所定の複数の発音チャンネルを有しており、時分割動作することにより、サンプリング周期毎に、複数の発音チャンネル分の楽音信号を同時に生成することができる。音源部8で生成された楽音信号は、アンプおよびスピーカを含んで構成されるサウンドシステム10に供給され、該サウンドシステム10から発音される。
The
この発明によれば、詳しくは後述する通り、波形メモリ9からのデータ読み出し法を改良し、それに伴い波形メモリ9の波形サンプルの記憶法を改良することにより、波形メモリ9をアクセスする手法としてページアクセスを適用することを可能とし、もって音源部8の波形メモリ9に対するアクセス速度を向上し、その結果として、サンプリグ周期毎の発音チャンネル数を増やすことができる。
According to the present invention, as will be described in detail later, the method for accessing the
図2は、波形メモリ9の構成例を示す図である。波形メモリ9には、複数のN個の波形データ(「波形データ1」、「波形データ2」、「波形データ3」…「波形データN」)が記憶されている。電子楽器のユーザは、操作子5の操作等により、用意されている複数の音色(音色データ)の中から演奏に用いる1つのを選択することができる。各音色データは、波形データを選択するための波形選択情報、音量変化を制御する音量エンベロープパラメータ等を含む。波形選択情報に基づいて、N個の波形データの中から、演奏される楽音の音高や強度に応じて、異なる波形データが選択される。
FIG. 2 is a diagram illustrating a configuration example of the
図2おいて、1つの波形データ(「波形データ2」)の構成を詳細に示す。1つの波形データは、複数WS個の波形サンプル(「サンプル0」、「サンプル1」、「サンプル2」…「サンプル(WS−1)」)からなり、波形サンプルの1つずつが波形メモリ9のアドレス番号「0」、「1」、「2」…「(WS−1)」の1アドレス毎に記憶されている。各波形サンプルは、基本的には、アドレス番号順に読み出すことでサンプリング元となった楽音信号(波形データ)を再生できるよう、時系列順に並べて記憶されている。すなわち、アドレス番号の順序が波形データの瞬時位相の時間的進展に対応する。なお、図2において、アドレス番号「0」、「1」、「2」…「(WS−1)」は、各波形サンプルが記憶されたアドレスの番号を、当該波形データの先頭の波形サンプル「サンプル0」のアドレスを起点(「0」)とする相対的なアドレス番号により10進数で表現している。
In FIG. 2, the configuration of one waveform data (“
WSは、1つの波形データのデータサイズ(波形サイズ)を表すパラメータであって、1つの波形データを構成する波形サンプルの数に対応する。波形メモリ9には、1つのアドレスに1つの波形サンプルが記憶されているので、1つの波形データの波形サイズWSは、当該波形データを記憶したアドレス数に対応する。従って、波形サイズWSがわかれば、その波形データの最終アドレスを特定することができる。図2において、波形データ2の先頭の波形サンプルのアドレス番号が「0」から始まっているので、波形データ2の最終アドレスは「(WS−1)」と表現される。ここでは、説明を簡単にするため、波形データはワンショット読み出しされるタイプとする。なお、本発明は、アタック部とループ部とを有しアタック部が一通り読み出された後、ループ部が繰り返し読み出されるタイプの波形データ等、その他のタイプの波形データにも適用可能である。
WS is a parameter indicating the data size (waveform size) of one waveform data, and corresponds to the number of waveform samples constituting one waveform data. Since one waveform sample is stored in one address in the
また、先頭アドレスTAは、波形データの先頭の波形サンプルが記憶されたアドレスを、波形メモリ9上で特定するポインタである。従って、或る波形データの或る波形サンプルの波形メモリ9上での絶対的な記憶位置は、当該波形データの先頭アドレスTAと、その波形サンプルのアドレスとの組み合わせにより特定できる。
The head address TA is a pointer that specifies on the
波形メモリ9は、「ページアクセス」が可能なメモリであるので、そのアドレス空間は、所定アドレス数のページサイズp毎の複数のページにページ分けされている。図2に示す通り、この実施例では、波形メモリ9のアドレス空間は、1ページあたり8アドレス毎のページにページ分けされている。例えば、アドレス番号0、1、2…7までの8アドレスが第1ページp1を構成し、アドレス番号8、9、10…15までの8アドレスが第2ページp2を構成する。
Since the
「高速ページモード」によるアクセスは、波形メモリ9の何れかのアドレスに最初にアクセスした後であれば、その最初のアクセスより短いアクセス時間で、そのアドレスと同じページ内のアドレスに順次アクセスできるものである。この明細書では、その最初のアクセスとそれに続くn−1個のアクセスをまとめて「ページアクセス」と呼ぶことにする。なお、「n」は正の整数である。この実施例では、ページアクセスの一例として、1度のアクセス毎に、1つのページ内の2つのアドレスに記憶された2つの波形サンプルを読み出すものとする。なお、メモリを「ページアクセス」することによりデータを高速読み出しする技術自体は、マスクROMやフラッシュメモリなどにおけるデータ高速読み出し技術として、従来から知られている。
In the “high-speed page mode” access, after accessing any address in the
波形メモリ9の各ページの最終アドレスに記憶された波形サンプルは、その次のページの先頭アドレスにも重複して記憶されている。このように、各ページの最終アドレスと、その次のページの先頭アドレスとに、同じ波形サンプルを重複して記憶しておくことは、各サンプリング周期の各発音チャンネルのページアクセスで、補間に必要な2つの波形サンプルが読み出せるようにする工夫である。
例えば、第1ページp1の最終アドレスであるアドレス番号7に記憶された「サンプル7」は、その次の第2ページp2の先頭アドレスであるアドレス番号8にも記憶されており、アドレス番号8に続くアドレス番号9以降に「サンプル7」に続く「サンプル8」以降の波形サンプルが順次記憶される。同様に、ページp2の最終アドレスであるアドレス番号15に記憶された「サンプル14」は、その次のページp3の先頭アドレスであるアドレス番号16にも記憶されており、アドレス番号17以降に「サンプル14」に続く「サンプル15」以降の波形サンプルが順次記憶される。
つまり、各ページの最終アドレスに記憶された波形サンプルが、次のページの先頭アドレスに重複して記憶されていることを除けば、各波形サンプルは、アドレス番号の順に、波形データの瞬時位相の時間的進展に従って1つずつ時系列順に並べて記憶されている。
The waveform sample stored at the final address of each page of the
For example, “
In other words, except that the waveform sample stored at the last address of each page is stored redundantly at the top address of the next page, each waveform sample has the instantaneous phase of the waveform data in the order of the address number. They are stored side by side in chronological order as time progresses.
図3は、図1に示す音源部8の詳細な構成を示すブロック図である。音源部8は、アドレスカウンタ11、メモリアドレス生成部12、サンプル間補間部13、音量エンベロープ付与(音量EG)部14、ミキサ15、デジタルアナログ変換部(DAC)16、および制御レジスタ17を含んで構成されている。音源部8の各部は、図示外のクロック発生器で発生したシステムクロックを動作基準にして動作する。音源部8が波形データを処理するサンプリング周期は、システムクロックを分周して生成される。
また、音源部8は、システムクロックに基づき、サンプリング周期を、所定複数の発音チャンネルに対応するタイムスロットごとに等分割して、各タイムスロットごとの時分割チャンネルタイミングにおいて、それぞれ対応する発音チャンネルの処理を実行することで、複数の発音チャンネルの時分割動作を行う。具体的には、アドレスカウンタ11、メモリアドレス生成部12、サンプル間補間部13、および音量EG付与部14が、それぞれ、所定の複数発音チャンネルの時分割動作を行う。そして、ミキサ15がサンプリング周期毎に該所定の複数発音チャンネルのデータを累算することで、音源部8は、全体として、サンプリング周期毎に複数発音チャンネル分の楽音信号を生成する処理を行う。
FIG. 3 is a block diagram showing a detailed configuration of the
Further, the
制御レジスタ17は、アドレスカウンタ11、メモリアドレス生成部12、サンプル間補間部13、音量EG部14、およびミキサ15の各部の動作に用いる各種パラメータの値を格納するレジスタであって、バスライン1Bを介してCPU1に接続されている。制御レジスタ17には、前記所定複数発音チャンネル毎の記憶領域が設けられており、後述するノートオンイベント処理によりCPUIが生成する各発音チャンネル毎の各種パラメータの値が該所定複数発音チャンネル毎の記憶領域に設定される。制御レジスタ17に設定される各種パラメータは、発音すべき楽音の周波数(音高)に対応する読み出しレート(Fナンバ)、波形データのサイズWS、波形データの先頭アドレスTA、音量の時間的な変化を制御するための音量エンベロープパラメータAEGの係数などである。
The control register 17 is a register that stores values of various parameters used for the operations of the
アドレスカウンタ11は、各サンプリング周期毎に、制御レジスタ17に設定された各発音チャンネルの読み出しレート(Fナンバ)を累算して、その累算値を当該発音チャンネルのサンプルアドレスSAとして出力するカウンタである。Fナンバは、各発音チャンネルで生成する楽音信号の音高に対応して、波形サンプルの読み出しレート(サンプルアドレスSAの進行レート)を制御するパラメータである。アドレスカウンタ11は、各発音チャンネル毎の発音開始時にリセットされ、その後、各サンプリング周期ごとに、各発音チャンネルのFナンバを累算することで、「0」を初期値とし、各発音チャンネル毎の波形データサイズWSによって特定される最終アドレス(WS−1)をカウント上限値として、Fナンバの値に応じたレートで進行するサンプルアドレスSAを、各発音チャンネル毎に生成する。サンプルアドレスSAは、整数部SAiと小数部SAfからなり、整数部SAiはメモリアドレス生成部12に供給され、小数部SAfはサンプル間補間部13に供給される。
The
メモリアドレス生成部12は、各サンプリング周期毎に、前記アドレスカウンタ11で生成された各発音チャンネルのサンプルアドレス整数部SAiと、各発音チャンネルの先頭アドレスTAと、波形メモリ9のページサイズpとに基づいて、発音チャンネルメモリアドレスMAを求める演算を行い、メモリアドレスMAを波形メモリ9に出力する。メモリアドレスMAは、アクセスすべき波形メモリ9のアドレス番号を示すデータである。
メモリアドレスMAを求めるために行われる演算式は、
MA=TA+SAi+Int[SAi/(p−1)]…(式1)
である。
この演算式(1)において、「TA」は、波形データの先頭アドレスであり、何れかのページの先頭になるよう調整されている。「SAi」はアドレスカウンタ11から供給されたサンプルアドレスの整数部である。「p」はページサイズ(1ページのアドレス数)である。Int[SAi/(p−1)]はサンプルアドレス整数部SAiの関数であって、計算式[SAi/(p−1)]の整数部を求める関数である。(式1)により、サンプルアドレス整数部SAiは、先頭アドレスTAを初期値とし、且つ、Int[SAi/(p−1)]が加算されたメモリアドレスMAに変換される。
この(式1)によりサンプルアドレス整数部SAiに基づくメモリアドレスMAを生成することで、詳しくは後述する通り、各ページの最終アドレスに対応する値となるところで、次のページの先頭アドレスとなるよう後ろにシフトして、該最終アドレスに対応する値を飛び越す(避ける)よう変換して該メモリアドレスMAを生成することができる。これにより、該メモリアドレスを用いてアクセスされる2サンプルが、波形メモリ9の2つのページ境界をまたがないものとなる。この変換は、ページアクセスによる2サンプルの読み出しを実現するために必須である。
The
The arithmetic expression performed to obtain the memory address MA is
MA = TA + SAi + Int [SAi / (p−1)] (Formula 1)
It is.
In this arithmetic expression (1), “TA” is the top address of the waveform data, and is adjusted to be the top of any page. “SAi” is an integer part of the sample address supplied from the
By generating the memory address MA based on the sample address integer part SAi by this (Equation 1), as will be described in detail later, it becomes a value corresponding to the final address of each page so that it becomes the head address of the next page. The memory address MA can be generated by shifting backward and converting it so as to skip (avoid) the value corresponding to the final address. As a result, the two samples accessed using the memory address do not cross the two page boundaries of the
音源部8は、各サンプリング周期毎に、前記メモリアドレス生成部12において上記演算により求めた各発音チャンネルのメモリアドレスMAを用いて波形メモリ9に対して時分割でページアクセスして、メモリアドレスMAとそれに続くメモリアドレス(MA+1)との2つの連続するアドレスに記憶された2サンプル分の波形サンプル(メモリデータMD)を各発音チャンネル毎に読み出す。これにより、各サンプリング周期の時分割チャンネルタイミング毎に、各発音チャンネルの波形サンプルを2サンプルずつ読み出すことができる。各サンプリング周期毎の、当該発音チャンネルのタイムスロットでページアクセスされた当該発音チャンネルの2つの波形サンプルは、それぞれ波形メモリ9から出力されるタイミングで、符号18,19で示す第1のラッチL1及び第2のラッチL2にラッチされる。
The
サンプル間補間部13は、サンプリング周期毎に、アドレスカウンタ11から供給される各発音チャンネルのサンプリングアドレス小数部SAfに基づき、符号18,19で示す第1ラッチL1及び第2ラッチL2にラッチされた当該発音チャンネルの2つの波形サンプルを用いたサンプル間補間演算を行い、当該発音チャンネルのサンプルアドレスSAの示すサンプリング点に対応する補間済み波形サンプルを出力する。
音量EG部14は、各サンプリング周期毎に、制御レジスタ17に設定された各発音チャンネル毎の音量エンベロープパラメータに基づいて当該発音チャンネルの音量の時間変化を示す音量エンベロープ波形AEGを生成し、サンプル間補間部13から出力された当該発音チャンネルの補間済み波形サンプルの音量を、該音量エンベロープ波形AEGで制御する。
The
The sound
ミキサ15は、各サンプリング周期毎に、音量EG部14から出力される各発音チャンネルの波形サンプルを累算(ミキシング)して、そのミキシング結果として得られる複数発音チャンネル分の波形サンプルからなる楽音信号を、サンプリング周期毎に、DAC16に出力する。DAC16は、サンプリング周期毎に、ミキサ15から出力された楽音信号をアナログ音響信号に変換して、該アナログ変換したアナログ音響信号を、サンプリング周期毎にサウンドシステム10へ出力する。
The
上記構成からなる音源部8において、各発音チャンネルの楽音信号生成に用いる各種パラメータは、演奏データ(MIDIデータ)のイベントに応じてCPU1が実行するノートオンイベント処理によって制御レジスタ17に設定される。図4は、そのようなイベント処理の一例であり、新たな楽音の発音を指示するノートオンイベントが供給されたときに、CPU1が実行するノートオンイベント処理の手順を示すフローチャートである。CPU1は、演奏操作子4の発音操作(例えば鍵盤の押鍵)が検出されたときに、該発音操作された演奏操作子4に応じた音高(押鍵された鍵の音高)の発音を指示するノートオンイベントが生じたものとして、ノートオンイベント処理を実行する。
In the
ステップS1において、CPU1は、発音指示された音高(押鍵された鍵の音高)をノートナンバレジスタNNに、発音指示された強度(押鍵速度)をベロシティレジスタVELにそれぞれ取り込む。
In step S1, the
ステップS2において、CPU1は、音源部8の複数の発音チャンネルの中から、前記検出された発音指示に応じた楽音信号生成に使用する発音チャンネルを選択し(割り当て)、該選択した発音チャンネルのチャンネル番号を、割当チャンネルレジスタaに代入する。
In step S2, the
ステップS3において、CPU1は、現在選択されている音色の波形選択情報に基づき、前記N個の波形データの中から、ノートナンバNNおよびベロシティVELに応じた波形データを選択する。これは、同じ音色の波形データであっても、音高の違いおよび音量の違いに応じて、波形の形状が異なっているためである。
In step S3, the
ステップS4において、CPU1は、前記ステップS3で選択された波形データの原ピッチと、ノートナンバNNと音高差(セント単位)に基づき、Fナンバを生成する。原ピッチは、波形データをサンプリングしたときのオリジナルの音高(ピッチ)であり、波形選択情報内に記憶されている。Fナンバは、各発音チャンネルで、ノートナンバNNに応じた音高の楽音信号を生成するために、選択された波形データの原ピッチの音高をずらす量(セント単位)に応じて決定される読み出しレートである。このFナンバの値により、各発音チャンネル毎の波形サンプルの読み出しレート(サンプルアドレスSAの進行レート)が制御される。
In step S4, the
ステップS5において、CPU1は、レジスタaの値に応じて、制御レジスタ17の発音チャンネルaの記憶領域に、前記ステップS4で決定したFナンバ、前記ステップS3で選択した波形データの先頭アドレスTA、該波形データの波形サイズWS、現在選択されている音色の音量エンベロープパラメータなどを含む楽音信号の生成に必要な各種パラメータの値を設定する。
In step S5, the
そして、ステップS6において、CPU1は、レジスタaの値に従い、発音チャンネルaにおける楽音信号の生成開始(発音開始)を、音源部8に対して指示する。これにより、音源部8は、楽音信号が割り当てられた発音チャンネルaを用いて、制御レジスタ17に設定された各種パラメータに基づく楽音信号を生成する処理を開始する。
In step S6, the
すなわち、アドレスカウンタ11の当該発音チャンネルaのカウント値SA(a)は、当該発音チャンネルaの発音開始時にリセットされ、その後、各サンプリング周期毎に、制御レジスタ17に設定された発音チャンネルaのFナンバを累積して、Fナンバに応じたレートで進行する発音チャンネルaのサンプルアドレスSA(a)を生成する。メモリアドレス生成部12は、各サンプリング周期毎に、発音チャンネルaのサンプルアドレス整数部SAi(a)を、上述した(式1)による演算によりメモリアドレスMA(a)に変換する。すなわち、メモリアドレス生成部12は、制御レジスタ17に設定された先頭アドレスTA(a)を初期値とし、且つ、サンプルアドレス整数部SAi(a)に加算値Int[SAi(a)/(p−1)]を加算したメモリアドレスMA(a)を生成する。アドレスカウンタ11が、発音チャンネルaの発音開始時にリセットされ、Fナンバに応じたレートで進行するので、発音チャンネルaのメモリアドレスMA(a)は、先頭アドレスTA(a)を初期値として、Fナンバに応じたレートで進行する。
That is, the count value SA (a) of the sound generation channel a of the
従って、音源部8は、各サンプリング周期毎に、生成される当該発音チャンネルaのメモリアドレスMA(a)を用いて、波形メモリ9をページアクセスして、波形メモリ9からアドレス番号MA(a)とアドレス番号(MA(a)+1)との連続する2アドレス分の波形サンプルを読み出す処理を繰り返す。
Therefore, the
各サンプリング周期毎に、前記ページアクセスにより、波形メモリ9から出力される当該発音チャンネルaの2つの波形サンプルは、各サンプリング周期の時分割チャンネルタイミング毎に、符号18,19で示す第1及び第2のラッチL1,L2にラッチされる。サンプル間補間部13は、各サンプリング周期毎に、第1及び第2のラッチL1,L2にラッチされる当該発音チャンネルaの2つの波形サンプルを用いて、アドレスカウンタ11から供給された小数部SAfに基づくサンプル間補間演算(2点補間)を行うことで、サンプルアドレスSA(a)に応じたサンプリング点の補間済みの波形サンプルを生成する。このように、音源部8は、各サンプリング周期毎に、波形メモリ9をページアクセスして、各発音チャンネルのサンプル間補間に必要な波形サンプルを読み出すように構成されているので、サンプル間補間用の発音チャンネル毎のバッファメモリを設けなくてもよい。
At each sampling period, the two waveform samples of the sound generation channel a output from the
上記において、波形サンプルの読み出し速度(Fナンバ)は、ノートオンイベントにより発音指示された音高(ノートナンバNN)と、当該発音チャンネルに割り当てられた波形データの原ピッチの音高差に応じた値に設定されているので、波形メモリに記憶されている該波形データは、波形メモリ9から読み出されて2点補間される過程で、発音指示された音高の楽音信号となるようピッチシフトされる。なお、ここでの波形メモリの読み出し方式は、一定のサンプリング周期に同期したピッチ非同期方式であるが、本発明をピッチ同期方式に適用してもよい。
In the above, the waveform sample readout speed (F number) corresponds to the pitch difference between the pitch (note number NN) instructed by the note-on event and the original pitch of the waveform data assigned to the sound channel. Since the waveform data stored in the waveform memory is read out from the
サンプリング周期毎に、サンプル間補間部13から出力される当該発音チャンネルaの波形サンプルは、音量EG部14において、制御レジスタ17に設定された当該発音チャンネルaの音量エンベロープパラメータに基づいて生成された音量エンベロープ波形AEGにより音量の時間変化が制御され、ミキサ15に出力される。ミキサ15は、各サンプリング周期毎に、音量EG部14から出力される複数発音チャンネル(当該発音チャンネルaを含む)の波形サンプルを累算して、複数発音チャンネル分の波形サンプルを累算した楽音信号をDAC16に出力する。そして、DAC16において、サンプリング周期毎に、ミキサ15から出力された複楽音信号をアナログ音響信号に変換して、サウンドシステム10に出力する。かくして、音源部8は、ユーザによって発音指示された楽音信号を、ユーザが指定した音高で再生することができる。
For each sampling period, the waveform sample of the sound channel a output from the
図5は、この実施例にかかるページアクセスによる波形サンプル読み出し動作を、サンプルアドレスSAの値に対応付けて説明するための図である。図5を参照して、1つの発音チャンネルの波形データの読み出し動作を詳細に説明する。図5において、右端の列には、波形サイズWSの1つの波形データを構成する波形サンプル0、波形サンプル1、波形サンプル2、…波形サンプル(WS−1)が縦に並べて描かれており、各波形サンプルに対応して、各波形サンプルが記憶されたアドレス番号0、アドレス番号1、アドレス番号2…アドレス番号(WS−1)が示されている。波形メモリ9は、図2を参照して説明した通り、1ページのアドレス数を8アドレスとするページ単位に区分されており、各ページの最終アドレスと後続のページの先頭アドレスには同じ波形サンプルが重複して記憶されている。
FIG. 5 is a diagram for explaining the waveform sample read operation by page access according to this embodiment in association with the value of the sample address SA. With reference to FIG. 5, the operation of reading the waveform data of one sounding channel will be described in detail. In FIG. 5, in the rightmost column,
図5の左端の列には、アドレスカウンタ11から出力されるサンプルアドレス整数部SAiが縦に並べて示されており、SAi列の左隣には、各サンプルアドレス整数部SAiに対する加算値Int[SAi/(p−1)]が示されている。また、Int[SAi/(p−1)]列の左隣には、同じ行に示されたSAiとInt[SAi/(p-1)]を式(1)に代入した結果として出力されるメモリアドレスMAの値が示されている。すなわち、図5の各行には、サンプルアドレス整数部SAiの値と、それに対応するメモリアドレスMAの値、そして、そのメモリアドレスMAの値に対応する波形メモリ9のアドレス番号と、そのメモリアドレスMAを用いたページアクセスにより読み出される2サンプル分の波形サンプルの対応関係が示されている。
In the leftmost column of FIG. 5, the sample address integer part SAi output from the
例えば、SAiの値が「0」のときは、SAiに対する加算値は、Int[0/(8−1)]=0であるから、メモリアドレスMAの値は「0」である。なお、実際にメモリアドレス生成部12から出力されるメモリアドレスMAの値は、現音色の波形データの先頭アドレスTAを初期値とする値、すなわち「SAi+Int[SAi/(p−1)]」に先頭アドレスTAを加算した値となるが、ここでは説明の便宜上、先頭アドレスTAの値を「0」として説明している。なお、先頭アドレスTAは、ページの先頭アドレスとなるよう調整されているので、先頭アドレスTAが「0」以外の場合であっても、メモリアドレスMAがシフトされるだけであり、ページアクセスの状況は基本的には同じである。
各サンプリング周期毎に、音源部8から波形メモリ9に対して、時分割で複数発音チャンネル分のページアクセスが行われる。当該発音チャンネルのページアクセスでは、まず最初のアクセスでアドレス信号としてメモリアドレスMAの値「0」が出力され、上位アドレス「0」(4ビット目以上)で選択されたページの、下位アドレス「0」(3ビット)で選択されたデータ、すなわち、アドレス番号「0」の「サンプル0」が読み出される。次の第2のアクセスでメモリアドレス「1」が出力されるが、最初のアクセスと同一ページ内のアドレスであるので、高速ページモードでのアクセスが可能であり、最初のアクセスより短いアクセス時間で、アドレス番号1の「サンプル1」が読み出される。図5において、楕円図像は、波形メモリ9に対する1度のページアクセスにより波形メモリ9から読み出される2アドレス分の波形サンプルを明示するものであって、メモリアドレスMAとして「0」が出力されたときに読み出される2つの波形サンプルを示す楕円図像に符号30を付与している。
For example, when the value of SAi is “0”, since the addition value for SAi is Int [0 / (8-1)] = 0, the value of the memory address MA is “0”. Note that the value of the memory address MA actually output from the memory
For each sampling period, the
当該発音チャンネルのサンプルアドレスSAは、サンプリング周期毎に、当該発音チャンネルの読み出しレート(Fナンバ)ずつ進行する。例えば、次のサンプリング周期でも、SAiの値が変わらず「0」のままであれば、上述した動作を繰り返し、ページアクセスにより「サンプル0」と「サンプル1」が読み出される。SAiの値が「1」〜「6」の何れかに進行した場合は、SAiに対する加算値はInt[SAi/(8−1)]=0であるから、メモリアドレスMAの値はSAiの値に対応する「1」〜「6」のいずれかの値となる。例えば、当該発音チャンネルのSAiが「2」となったときは、ページアクセスにより「サンプル2」と「サンプル3」が読み出される。
The sample address SA of the sounding channel advances by the reading rate (F number) of the sounding channel every sampling cycle. For example, if the SAi value remains unchanged at “0” even in the next sampling period, the above-described operation is repeated, and “
上記の通り、ページアクセスは、1つのページ内の2アドレスの波形サンプルを高速で読み出す方式であるから、1度のページアクセスで、2つのページ境界にまたがる2アドレスの波形サンプルを読み出すことはできない。例えば、1度のアクセスで、第1ページp1の最終アドレス(アドレス番号7)と第2ページp2の先頭アドレス(アドレス番号8)とからデータを読み出すことはできない。
このため、メモリアドレスMAを求める演算式(1)において、サンプルアドレス整数部SAiにInt[SAi/(p−1)]を加算することで、順番に進行させて行くと、各ページの最終アドレスとなってしまうMAを次のページの先頭アドレスへシフトして、メモリアドレスMAとして各ページの最終アドレスに該当する値が生成されないようになっている。
As described above, since page access is a method of reading waveform samples at two addresses in one page at a high speed, waveform samples at two addresses across two page boundaries cannot be read by one page access. . For example, data cannot be read from the last address (address number 7) of the first page p1 and the start address (address number 8) of the second page p2 in one access.
For this reason, in the arithmetic expression (1) for obtaining the memory address MA, by adding Int [SAi / (p−1)] to the sample address integer part SAi and proceeding in order, the final address of each page As a result, the value corresponding to the last address of each page is not generated as the memory address MA.
図5において、メモリアドレスMAの列に示された数字を見れば、MAの値として、ページの最終アドレスに該当する「7」、「15」…が含まれていないことがわかる。これにより、メモリアドレスMAが各ページの最終アドレスとなることはなくなり、メモリアドレスMAとMA+1は同一ページ内のアドレスとなる。つまり、1度のページアクセスで、各発音チャンネルの2サンプルの読み出しができるようになる。メモリアドレスMAは各ページの最終アドレスを指すことがなくなるが、その場合でも、該最終アドレスの波形サンプルと、その次の波形サンプルの間の補間ができるように、その次のページの先頭アドレスには、該最終アドレスの波形サンプルが重複して記憶されている。各発音チャンネルについて、同じページ内の2サンプルをページアクセスで読み出す方式では、サンプルアドレスSAiから各ページの最終アドレスを避けたメモリアドレスMAを生成しただけでは、読み出され補間される波形サンプルの連続性が損なわれてしまうが、各ページの最終アドレスの波形サンプルを、その次のページの先頭アドレスにも記憶しておくことで、そのような不都合が生じない。 Referring to the numbers shown in the column of the memory address MA in FIG. 5, it can be seen that the MA value does not include “7”, “15”... Corresponding to the final address of the page. As a result, the memory address MA does not become the final address of each page, and the memory addresses MA and MA + 1 become addresses in the same page. That is, two samples of each sound channel can be read out with one page access. The memory address MA no longer points to the last address of each page. Even in this case, the memory address MA is set to the top address of the next page so that interpolation can be performed between the waveform sample of the last address and the next waveform sample. The waveform sample at the final address is stored in duplicate. In the method of reading out two samples in the same page for each tone generation channel by page access, a waveform address continuously read and interpolated is generated only by generating a memory address MA avoiding the final address of each page from the sample address SAi. However, if the waveform sample at the final address of each page is also stored at the top address of the next page, such inconvenience does not occur.
例えば、SAiが「7」まで進行した場合は、SAiに対する加算値がInt[7/(8−1)]=1となるため、メモリアドレスMAの値は「8」である。波形メモリ9においては、該メモリアドレスMAの値「8」に該当するアドレス番号8を含む第2ページp2がアクセス対象に選択され、該選択されたページp2内のアドレス番号8が選択される。ここで、波形メモリ9は、第1ページp1の最終のアドレス番号7に記憶された「サンプル7」を、次の第2ページp2の先頭のアドレス番号8にも記憶しているので、音源部8は、メモリアドレスMAの値「8」を用いた波形メモリ9に対するページアクセスにより、符号31で示す通り、第2ページp2の先頭のアドレス番号8に記憶された「サンプル7」と、それに連続するアドレス番号9に記憶された「サンプル8」との2つの波形サンプルを読み出す。
For example, when SAi has progressed to “7”, the value added to SAi is Int [7 / (8-1)] = 1, so the value of the memory address MA is “8”. In the
その他のページの最終アドレスのアドレス番号15、23…についても、メモリアドレスMAとして、その値が生成されないようになっており、且つ、これら各ページの最終アドレスのそれぞれに記憶された波形サンプルと同じ波形サンプルが次のページの先頭アドレスにそれぞれ記憶されている。これにより、SAiを「8」以降に進行させていった場合でも、生成されるMAの値がページの最終アドレスになることはなく、波形メモリ9の1回のページアクセスによって、サンプル間補間に必要な2サンプルを読み出すことができる。
The address numbers 15, 23... Of the final addresses of the other pages are not generated as the memory address MA, and are the same as the waveform samples stored at the final addresses of these pages. Waveform samples are stored at the top address of the next page. As a result, even when SAi is advanced after “8”, the generated MA value does not become the final address of the page, and inter-sample interpolation is performed by one page access of the
図6は、高速ページモードによるアクセスの一例を示すタイミングチャートである。1つの発音チャンネルあたりの2サンプルの読み出しは、高速ページモードを用いて行われる。図6において、アクセス時間は、音源部8のシステムクロックのクロック数で表現されている。第1タイミング40では、或るページ対する最初のアクセスであるため、メモリアドレスMAを用いたアドレス指定により、MAの上位ビット(4ビット目以上)で指定されたページの、MAの下位ビット(3ビット)で特定されるアドレスの波形サンプルが読み出される。この最初のアクセスでは、通常モードでのアクセスと同等の8クロック時間がかかる。そして、次回の第2タイミング41では、メモリアドレスMA+1を用いた第2のアクセスで、同一ページ内の、MA+1の下位ビット(3ビット)で特定されるアドレスの波形サンプルが読み出されるが、高速ページモードでの同一ページ内アクセスであるので、これには3クロック時間だけしか掛からない。以下、第3タイミング42以降のアクセスも、アドレスが同一ページ内である限り、高速ページモードでの同一ページ内アクセスとすることができ、3クロック時間での読み出しができる。
FIG. 6 is a timing chart showing an example of access in the high-speed page mode. Reading of two samples per sounding channel is performed using the high-speed page mode. In FIG. 6, the access time is represented by the number of system clocks of the
このように、ページアクセスでは、同一ページ内で読み出す波形サンプルの数を増やすほど、1波形サンプルあたりのアクセス時間を短縮することができる。各発音チャンネルについて、サンプル間補間に必要な波形サンプルを読み出す時間が短縮されるので、サンプリング周期が同じであれば、音源部8の発音チャンネル数をより多い数とすることができる。逆に、発音チャンネル数を同じとすれば、音源部8における生成楽音のサンプリング周波数をより高くすることができる。
例えば、音源部8のシステムクロックを14ナノ秒(14ns)、1サンプリング周期のシステムクロック数を1536クロック(サンプリング周波数は46.5kHz)とすると、図6の例では、最初のアクセスに8クロック、第2のアクセスに3クロック掛かるので、各発音チャンネルのページアクセスにかかるクロック数は、「8+3」=「11クロック」である。従って、この条件では、音源部8に設けられる最大発音チャンネル数は、1536/「8+3」=139チャンネルとなる。
対するに、従来の通常モードでのアクセスでは、2回のアクセスにそれぞれ8クロック掛かるので、発音チャンネルあたりでは「8+8」=「16クロック」掛かり、最大発音チャンネル数は、1536/「8+8」=96チャンネルとなる。このことから、ページアクセスで発音チャンネルあたりのアクセス時間を短縮することで、音源部8の発音チャンネル数を増加できることが理解できる。
As described above, in the page access, the access time per waveform sample can be shortened as the number of waveform samples read in the same page is increased. Since the time for reading out waveform samples necessary for inter-sample interpolation is reduced for each sound generation channel, the number of sound generation channels in the
For example, if the system clock of the
On the other hand, in the access in the conventional normal mode, since it takes 8 clocks for each of the two accesses, “8 + 8” = “16 clocks” is required per sounding channel, and the maximum number of sounding channels is 1536 / “8 + 8” = 96. Become a channel. From this, it can be understood that the number of sound generation channels of the
以上説明した通り、本実施例によれば、波形メモリ9として、ページアクセスが可能なメモリを用いて、各ページ境界の2アドレスの波形サンプルは前後のページの両方に記憶しておくとともに、各発音チャンネルで各ページの最終アドレスを避けたメモリアドレスMAを生成することで、各サンプリング周期内の各発音チャンネル毎のアクセスタイミングで、ページアクセスを用いて波形メモリ9の同一ページ内の連続する2アドレスから波形サンプルを高速で読み出すことができる。
また、各発音チャンネルのサンプル間補間に用いる波形サンプルは、サンプリング周期毎に、波形メモリ9から読み出すようになっているので、発音チャンネル毎のバッファメモリが不要であり、その分だけ音源部8の構成を簡単化することができる。
従って、この実施例にかかる音源部8によれば、簡単な構成で、波形メモリ9に対するアクセス速度を向上して、発音チャンネル数を増やすことができるという優れた効果を奏する。
As described above, according to the present embodiment, the
In addition, since the waveform samples used for inter-sample interpolation of each sound generation channel are read from the
Therefore, according to the
なお、上記実施例では、波形メモリ9に対する1度のアクセス毎に、連続する2アドレスから2つの波形サンプルを読み出す例について説明した。ページアクセスにより、1度のアクセス毎に読み出すサンプル数は、2つに限らず、1度のページアクセス毎に、連続するnアドレスからn個の連続する波形サンプルを読み出すよう構成されてよい(nは正の整数)。1度のページアクセス毎に、n個の波形サンプルずつ読み出すよう設計されている場合には、波形メモリ9は、各ページの最終から(n−1)アドレスと、次のページの先頭から(n−1)アドレスに、それぞれ同じ波形サンプルを重複して記憶しておく。そして、メモリアドレス生成部12は、下記演算式(2)によりメモリアドレスMAを生成する。
MA=TA+SAi+Int[SAi/{p−(n−1)}]×(n−1)
=TA+SAi+Int[SAi/(p−n+1)]×(n−1)…(式2)
これにより、メモリアドレスMAを用いて波形メモリ9をページアクセスし、1度のアクセス毎に、メモリアドレスMAから(MA−n+1)までの連続するn個のアドレスから、n個の連続する波形サンプルを各発音チャンネル毎に読み出すことができる。この場合、音源部8は、波形サンプルをラッチするラッチをn個具備して、各サンプリング周期毎に、各発音チャンネル毎に読み出した該n個の波形サンプルを用いて、サンプルアドレス小数部SAfに基づくサンプル間補間を行い、当該発音チャンネルのサンプルアドレスSAに応じた補間済み波形サンプルを得て、更に、当該発音チャンネルの音量エンベロープパラメータに応じた音量の時間変化を付与することで、当該発音チャンネルの波形サンプルを形成する。そして、各サンプリング周期毎に、形成される複数の発音チャンネルの波形サンプルは累算され、複数発音チャンネル分の楽音信号としてDAC16に出力される。この場合、各発音チャンネルのページアクセスに掛かるクロック数は「8+3×(n−1)」である。例えば、nを4として場合は、「8+3×3」=「17クロック」となり、最大発音チャンネル数は、1536/17=90チャンネルである。対するに、ページアクセスを用いない場合の最大発音チャンネル数は、1536/「8×4」=48チャンネルであり、本発明では、それに比べて42チャンネルも増やせることになる。
In the above-described embodiment, an example in which two waveform samples are read from two consecutive addresses every time the
MA = TA + SAi + Int [SAi / {p− (n−1)}] × (n−1)
= TA + SAi + Int [SAi / (p−n + 1)] × (n−1) (Formula 2)
As a result, page access is made to the
また、上記実施例では、波形メモリ9のページサイズpを1ページあたり8アドレスとする例について説明したが、波形メモリ9として、ページサイズpが、例えば1ページあたり16アドレス等、その他任意のアドレス数のメモリを用いることができる。
In the above embodiment, the example in which the page size p of the
なお、上記の実施例においては、波形メモリ9の1アドレスに記憶された1つの波形サンプルが有意のデータとして読み書きされるので、1アドレスが1ワードに対応していた。従って、上記実施例の説明中の、例えば、「1度のページアクセス毎に、連続するnアドレスからn個の波形サンプルを読み出す」や、「ページサイズpを1ページあたり8アドレス」などという記載は、「アドレス」という文言を「ワード」という文言に置き換えれば、「1度のページアクセス毎に、連続するnワードの波形サンプルを読み出す」や、「ページサイズpを1ページあたり8ワード」と表現される。
In the above embodiment, one waveform sample stored at one address of the
また、上記実施例では、本発明の楽音信号生成装置(波形メモリ音源)を電子楽器に適用する例について説明したが、この発明にかかる楽音信号生成装置(波形メモリ音源)は、電子楽器に限らず、音源として楽音信号生成装置(波形メモリ音源)を登載するいかなる装置に適用することも可能である。 Further, in the above-described embodiment, an example in which the musical sound signal generation device (waveform memory sound source) of the present invention is applied to an electronic musical instrument has been described. However, the musical sound signal generation device (waveform memory sound source) according to the present invention is not limited to an electronic musical instrument. In addition, the present invention can be applied to any device that mounts a musical sound signal generation device (waveform memory sound source) as a sound source.
また、上記実施例の波形メモリでは、第2のアクセス以降でもアドレス指定を行う高速ページモードによる読み出し機能を備えたメモリを用いていた。しかしながら、本発明の第2のアクセス以降では、最初のアクセスに連続するアドレスから順次読み出すのであるから、高速ページモードを備えたメモリに代えて、最初のアクセスに続くアドレスのデータを、第2アクセス以降、アドレス信号なしで読み出すことができるバースト読み出しの機能を備えたメモリを用いることもできる。
また、上記実施例では、サンプルアドレスSAは、発音開始時に「0」リセットされるようになっていたが、「0」以外の値(−Toff)をセットして発音を始めるようにしてもよい。その場合、波形データの先頭アドレスTAは、「TA+Toff」になる。
また、上記実施例では、波形データの先頭アドレスTAを、何れかのページの先頭アドレスとしていたが、必ずしもページの先頭アドレスとしなくてもよい。
In the waveform memory of the above-described embodiment, a memory having a read function in the high-speed page mode for performing address designation even after the second access is used. However, after the second access according to the present invention, data is sequentially read from the address continuous to the first access. Therefore, instead of the memory having the high-speed page mode, the data at the address following the first access is transferred to the second access. Thereafter, a memory having a burst read function that can be read without an address signal can also be used.
In the above embodiment, the sample address SA is reset to “0” at the start of sounding. However, the sounding may be started by setting a value (−Toff) other than “0”. . In this case, the top address TA of the waveform data is “TA + Toff”.
In the above embodiment, the top address TA of the waveform data is the top address of any page. However, it is not always necessary to use the top address of the page.
1 CPU、2 ROM、3 RAM、4 演奏操作子、5 操作子、6 表示器、7 入出力I/O、8 音源部、9 波形メモリ、10 サウンドシステム、11 アドレスカウンタ、12 メモリアドレス生成部、13 サンプル間補間部、14 音量EG部、15 ミキサ、16 デジタルアナログ変換部 1 CPU, 2 ROM, 3 RAM, 4 performance controls, 5 controls, 6 display, 7 input / output I / O, 8 tone generator, 9 waveform memory, 10 sound system, 11 address counter, 12 memory address generator , 13 Interpolation section between samples, 14 Volume EG section, 15 Mixer, 16 Digital-analog conversion section
Claims (4)
アドレス空間がページサイズpでページ分けされ、各ページ内のアドレスに記憶されたデータを高速ページアクセス可能な波形メモリであって、各アドレスに前記波形データを1サンプルずつ記憶しており、各ページの最終アドレスに記憶されたサンプルは、その次のページの先頭アドレスにも重複して記憶した波形メモリと、
各サンプリング周期毎に、各発音チャンネルの読み出しレートを累算して、整数部と小数部からなるサンプルアドレスを各発音チャンネル毎に生成するアドレスカウンタと、
各サンプリング周期毎に、前記アドレスカウンタで生成したサンプルアドレスの整数部を、各ページの最終アドレスに対応する値を飛び越すメモリアドレスに変換するメモリアドレス生成部と、
各サンプリング周期毎に、前記メモリアドレス生成部により生成された各発音チャンネルのメモリアドレスを用いて前記波形メモリをページアクセスし、前記メモリアドレスからの連続する2つのアドレスに記憶された2つのサンプルを読み出す読み出し部と、
各サンプリング周期毎に、前記読み出し部により読み出された各発音チャンネル毎の2個のサンプル間を、前記アドレスカウンタで生成した前記サンプルアドレスの小数部に基づいてサンプル間補間して、該補間されたサンプルを各発音チャンネル毎に生成する補間部と、
前記補間部により補間された各発音チャンネル毎のサンプルに基づいて、サンプリング周期毎に複数発音チャンネルの楽音信号を生成する楽音信号生成部と
を具えることを特徴とする楽音信号生成装置。 A musical tone signal generating device that generates musical tone signals of a plurality of sound generation channels for each sampling period based on waveform data stored in a waveform memory,
A waveform memory in which the address space is divided into pages by page size p, and the data stored in the addresses in each page is capable of high-speed page access, and the waveform data is stored in each address one sample at a time. The sample memory stored at the last address is a waveform memory that is also stored redundantly at the top address of the next page,
An address counter that accumulates the readout rate of each sounding channel for each sampling period and generates a sample address consisting of an integer part and a decimal part for each sounding channel;
A memory address generation unit that converts the integer part of the sample address generated by the address counter into a memory address that jumps over a value corresponding to the final address of each page for each sampling period;
At each sampling period, the waveform memory is page accessed using the memory address of each tone generation channel generated by the memory address generation unit, and two samples stored at two consecutive addresses from the memory address are obtained. A readout unit to read out,
At each sampling period, the interpolated samples are interpolated between two samples for each sound channel read out by the readout unit based on the fractional part of the sample address generated by the address counter. An interpolation unit that generates a sample for each sound channel;
A musical tone signal generating apparatus comprising: a musical tone signal generating unit that generates musical tone signals of a plurality of tone generation channels for each sampling period based on the samples for each tone generation channel interpolated by the interpolation unit.
前記メモリアドレス生成部は、アドレスカウンタで生成したサンプルアドレスの整数部SAiと該整数部SAiの関数である[SAi/(p−1)]の整数部とを加算した結果に基づきメモリアドレスを生成するものであることを特徴とする請求項1に記載の楽音信号生成装置。 When the predetermined number of addresses of the page size is p,
The memory address generation unit generates a memory address based on a result of adding the integer part SAi of the sample address generated by the address counter and the integer part of [SAi / (p−1)] which is a function of the integer part SAi. The musical tone signal generating apparatus according to claim 1, wherein:
アドレス空間がページサイズpでページ分けされ、各ページ内のアドレスに記憶されたデータを高速ページアクセス可能な波形メモリであって、各アドレスに前記波形データを1サンプルずつ記憶しており、各ページの最終からn−1個の各アドレスに記憶された波形データのサンプルは、その次のページの先頭からn−1個の各アドレスにも重複して記憶した波形メモリと、
各サンプリング周期毎に、各発音チャンネルの読み出しレートを累算して、整数部と小数部からなるサンプルアドレスを各発音チャンネル毎に生成するアドレスカウンタと、
各サンプリング周期毎に、前記アドレスカウンタで生成したサンプルアドレスの整数部を、各ページの最終からn−1個のアドレスに対応する値を飛び越すメモリアドレスに変換するメモリアドレス生成部と、
各サンプリング周期毎に、前記メモリアドレス生成部により生成された各発音チャンネルのメモリアドレスを用いて前記波形メモリをページアクセスし、前記メモリアドレスからの連続するn個のアドレスに記憶されたn個のサンプルを読み出す読み出し部と、
各サンプリング周期毎に、前記読み出し部により読み出された各発音チャンネル毎のn個のサンプル間を、前記アドレスカウンタで生成した前記サンプルアドレスの小数部に基づいてサンプル間補間して、該補間されたサンプルを各発音チャンネル毎に生成する補間部と、
前記補間部により補間された各発音チャンネル毎のサンプルに基づいて、サンプリング周期毎に複数発音チャンネルの楽音信号を生成する楽音信号生成部と
を具えることを特徴とする楽音信号生成装置。 A musical tone signal generating device that generates musical tone signals of a plurality of sound generation channels for each sampling period based on waveform data stored in a waveform memory,
A waveform memory in which the address space is divided into pages by page size p, and the data stored in the addresses in each page is capable of high-speed page access, and the waveform data is stored in each address one sample at a time. The waveform data samples stored in the n-1 addresses from the last of the waveform memory are also stored in duplicate in the n-1 addresses from the top of the next page,
An address counter that accumulates the readout rate of each sounding channel for each sampling period and generates a sample address consisting of an integer part and a decimal part for each sounding channel;
A memory address generation unit that converts an integer part of the sample address generated by the address counter into a memory address that jumps over a value corresponding to n-1 addresses from the end of each page for each sampling period;
In each sampling period, the waveform memory is page-accessed using the memory address of each tone generation channel generated by the memory address generation unit, and n number of addresses stored in consecutive n addresses from the memory address are stored. A readout section for reading the sample;
For each sampling period, the interpolated samples are interpolated between n samples for each tone generation channel read by the reading unit based on the fractional part of the sample address generated by the address counter. An interpolation unit that generates a sample for each sound channel;
A musical tone signal generating apparatus comprising: a musical tone signal generating unit that generates musical tone signals of a plurality of tone generation channels for each sampling period based on the samples for each tone generation channel interpolated by the interpolation unit.
前記メモリアドレス生成部は、アドレスカウンタで生成したサンプルアドレスの整数部SAiと、該整数部SAiの関数である[SAi/(p−n+1)]の整数部に(n−1)を乗算した値とを加算した結果に基づき、メモリアドレスを生成するものであることを特徴とする請求項3に記載の楽音信号生成装置。 When the predetermined number of addresses of the page size is p,
The memory address generation unit is a value obtained by multiplying the integer part SAi of the sample address generated by the address counter and the integer part of [SAi / (pn + 1)], which is a function of the integer part SAi, by (n-1). 4. The musical tone signal generating apparatus according to claim 3, wherein a memory address is generated based on a result obtained by adding together.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008202926A JP5146188B2 (en) | 2008-08-06 | 2008-08-06 | Music signal generator |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008202926A JP5146188B2 (en) | 2008-08-06 | 2008-08-06 | Music signal generator |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2010039266A JP2010039266A (en) | 2010-02-18 |
| JP5146188B2 true JP5146188B2 (en) | 2013-02-20 |
Family
ID=42011884
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008202926A Expired - Fee Related JP5146188B2 (en) | 2008-08-06 | 2008-08-06 | Music signal generator |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5146188B2 (en) |
-
2008
- 2008-08-06 JP JP2008202926A patent/JP5146188B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2010039266A (en) | 2010-02-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5614420B2 (en) | Musical sound generating apparatus, electronic musical instrument, program, and musical sound generating method | |
| JP4998046B2 (en) | Music generator | |
| JP2785531B2 (en) | Electronic musical instrument | |
| US9040800B2 (en) | Musical tone signal generating apparatus | |
| JP5146188B2 (en) | Music signal generator | |
| US6207885B1 (en) | System and method for rendition control | |
| US5817964A (en) | Electronic musical instrument and method for storing a plurality of waveform sampling data at a single address | |
| JP4236570B2 (en) | Waveform playback device and waveform playback program | |
| JP2861007B2 (en) | Electronic musical instrument | |
| JP2591160B2 (en) | Waveform selection and synthesis device | |
| JP5807419B2 (en) | Signal processing device | |
| JPS6330638B2 (en) | ||
| JP4254677B2 (en) | Musical sound generator and musical sound generation processing program | |
| JP2591159B2 (en) | Waveform selection and synthesis device | |
| JP3855710B2 (en) | Digital signal processor for sound waveform data | |
| JPH039476B2 (en) | ||
| JP3044712B2 (en) | Electronic musical instrument | |
| JP2970372B2 (en) | Sound source parameter supply device | |
| JPH10143153A (en) | Electronic musical instrument | |
| JPH07168574A (en) | Waveform memory sound source | |
| JP3858905B2 (en) | Sound generator using memory | |
| JP2991436B2 (en) | Music signal generator | |
| JPH04284496A (en) | Musical sound generation device | |
| JP3095323B2 (en) | Electronic musical instrument | |
| JP2002358084A (en) | Electronic musical instrument |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110607 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110620 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120919 |
|
| 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: 20121030 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121112 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5146188 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151207 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |