摘要 |
A waveform data structure includes a plurality of types of frames having different data sizes. Each of the plurality of types of frames includes an auxiliary information area and a data area. The auxiliary information area includes an area for storing common effective-bit length data for a section of waveform samples, and an area for storing an identifier for identifying one of the plurality of types of frames. The data area is an area for storing waveform samples extracted based on a common effective-bit length. The number of the extracted waveform samples in each frame is determined based on a common effective-bit length and on the size of the frame. In case a waveform varies rapidly ( attack ), the numbers of code bits of a lot of waveform samples having various bit lengths increase: A small frame size is more efficient to convert data in response to variation in the waveform; but as the number of frames increases ( sustain ), the amount of redundant header information increases. In case a waveform slowly varies, the bit lengths of the waveform samples can be decreased and a large frame size reduces the number of header accesses. The auxiliary information area further includes an area for storing a sound volume correction parameter for correcting the sound volume of the extracted waveform samples stored in the data area when the compression ratio is changed, for instance to store lower quality, lower volume samples during the sustain portion, higher quality same volume samples during the attack portion, in order to further save memory area. |