CRI ADX  Last Updated: 2024-07-17 10:47 p
Decide the compression codec to apply to the source waveform

Guidelines for deciding on a codec

The appropriate codec for each material varies depending on the content and method of playback.
First, let's look at the HCA and HCA-MX codecs using pitch variations such as random pitch as an example.

Advantages of using HCA

Waveform regions that reference material using the HCA codec now allow random settings for the pitch parameter.
This means that you only need to create one piece of data, and other parameter changes will only apply to one item.

If polyphony isn't an issue, the HCA codec is the best choice. By using the HCA codec, you can set the following flexibly:

  • Sampling rate can be adjusted on a per-material basis
  • Real-time effects such as bus effects can be applied to each waveform region.

Disadvantages of using HCA The simultaneous playback load is higher than that of HCA-MX.

Advantages of using HCA-MX

For pitch variation purposes, there is no benefit to the HCA-MX codec. If the data is intended for simultaneous mass playback, the runtime speech load will be smaller than with the HCA codec, but the disadvantages due to the limitations are likely to be greater.

Disadvantages of using HCA-MX Creating pitch variations for waveform regions that reference material using the HCA-MX codec is not possible via parameter settings.
The HCA-MX codec does not allow pitch changes during playback, so in order to create pitch variations, you need to prepare the material for each variation.
This means that the amount of work and data required to prepare and register materials for each variation increases in proportion to the number of variations.
In addition, there are items that cannot be changed or have usage restrictions, so you must carefully consider whether they are suitable for your purpose.

Codec details

On all platforms where ADX runs, various proprietary compression codecs of ADX, HCA and HCA-MX can be applied to the source waveform. The compression codec to be used is determined based on factors such as sound quality, compressed size, processing load, and available features.

Specific examples of load differences

The CPU load when playing mono 48kHz on a PC (Windows 10 Pro (64bit), Intel Core i7-9700K (3.6GHz)) is as follows.

Codec (Example) Number of decoded lines CPU load
ADX 1 0.39%
ADX 16 0.86%
ADX 64 2.06%
HCA 1 0.46%
HCA 16 1.46%
HCA 64 4.52%
HCA-MX 1 0.59%
HCA-MX 16 1.13%
HCA-MX 64 2.69%

ADX

The ADX codec has a low compression ratio of 1/4, but the decoding load is light. Therefore, it can run on low-spec machines. The quality is equivalent to ADPCM.
Deterioration is easily noticeable in high, sparkling sounds that are on the edge of the audible range.

HCA

The HCA codec has a high compression ratio of 1/6 to 1/12 and high quality sound, but the decoding load is higher than that of the ADX codec.
The HCA codec is the standard codec for CRI ADX .
It can be used for a variety of sounds, including loops, Seek playback, music, sound effects, and ambient sounds.
Basically, if the frequency band of the original sound is wide overall, the sound will start to change from the high frequencies.
If the frequency band of the original sound is narrow, the deterioration will not be noticeable.
You can specify the quality of the compression, and the higher the compression ratio, the less processing power is required.

HCA-MX

The HCA-MX codec is the same as the HCA codec in terms of compression, but the playback process has been improved to first mix and then decode, minimizing the decoding load.
This makes it possible to simultaneously play multiple high quality compressed waveforms even on a low spec machine.
Because mixing is done before decoding, it is not possible to use functions such as unifying the sampling frequency of the source waveforms, changing the pitch of each sound, send effects, strict looping, or Seamless concatenated playback.
Although it has many restrictions, it is suitable for playing so-called "push-start" materials.
It is also suitable for sound effects, voices, music, etc. that do not involve real-time effects.
However, if you are not playing a large number of sounds (only a few sounds), HCA may be less of a burden.

About Voice Pool

Voice pools are prepared on a per-codec basis.
HCA and ADX can be handled by the Standard voice pool, so initial setup is very easy.
A separate voice pool is required for model-specific codecs, HCA-MX, raw waveform playback, etc.
You can configure the number of voices, playback rate, etc. by configuring the voice pool.
For sounds that change pitch, the playback rate must be specified to allow for pitch resampling during playback.
The playback rate is fixed on HCA-MX.
When playing sounds that exceed the set range, errors or warnings may occur.