A configuration structure used when creating Voices
More...
A configuration structure used when creating Voices
- Description:
- This structure is used to define Voice behavior.
The unmanaged memory required will be allocated based on the settings specified in this structure.
Maximum number of output channels
- Description:
- This structure is used to define Voice behavior.
The unmanaged memory required will be allocated based on the settings specified in this structure.
Audio data with fewer channels than the number specified here can be played back.
- Note:
- Data that exceeds the specified maximum number of output channels cannot be played.
For example, if you set the maximum number of output channels to 1, you will not be able to play stereo audio.
(Downmixing to monaural data will not be performed.)
Maximum sampling rate
- Description:
- Specify the sampling rate of the audio to be played.
Only audio data with a sampling rate below the specified value can be played.
Generally, you should specify the maximum sampling rate of the materials in the Cues (which are to be played in the Voice Pool you are creating).
- Note:
- By lowering the maximum sampling rate, it is possible to reduce the amount of unmanaged memory required.
However, if you intend to change the pitch, you will need to specify the maximum sampling rate in accordance to the pitch change required.
In addition, if time-stretching is used, the maximum sampling rate must be increased by a factor of 2.
- Note:
- Data exceeding the specified maximum sampling rate cannot be played.
For example, if you set the maximum sampling rate to 24000, you cannot play audio at 48000Hz.
(Downsampling will not be performed.)
Whether to perform streaming playback
- Description:
- If false is specified, a Voice Pool with memory playback capability will be created;
if true is specified, a Voice Pool with both streaming and memory playback capabilities will be created.
- Note:
- If set to true, resources will be allocated for file reading during creation.
Therefore, the unmanaged memory size required for creation is larger than when it is set to false.
Sound renderer type
- Description:
- Specifies the type of sound renderer to use.
If CriAtomEx.SoundRendererType.Default is specified, the audio data will be transferred to the default sound renderer.
If CriAtomEx.SoundRendererType.Native is specified, the audio data will be routed to each platform's sound output.
If CriAtomEx.SoundRendererType.Asr is specified, the audio data will be transferred to ASR (Atom Sound Renderer).
(The ASR output destination is specified separately when ASR is initialized.)
Latency of the decoding process
- Description:
- Specify the latency of decoding processing.
If set to 0, audio data will be decoded as soon as possible when audio playback starts.
(For in-memory playback, the amount of data necessary to start playback is decoded in the first server process, right before audio output begins.) On the other hand, when set to 1 or higher, the decoding of the data required to start playback will be divided into multiple server processes.
(Even for in-memory playback, audio output will not start until the server process runs for the specified number of times.)
- Note:
- The amount of audio data to be decoded per server process is determined based on the amount of data remaining in the sound buffer.
Since the sound buffer is empty before the audio playback starts,
more data is decoded than during audio playback (approximately 2 to 4 times as much).
The processing load for decoding audio data per player is small, so the processing load at the start of each Voice is rarely an issue.
However, if you simultaneously issue a large number of playback requests within 1-V in your application,
the processing load peaks of all players will be synchronized, and the load may increase significantly.
If you expect this to happen, increase this value,
to avoid a huge momentary processing load.
The default value is set to 0 in most environments.
However, in environments such as handheld game consoles where even slight changes in load can have a large impact on the application, the default value may be set to 1 or higher.
(Please check the default value of the structure to confirm the actual setting.)
Currently, it is not possible to specify a value >= 4.
(The setting will be clamped down to 3 in the library if a value >=4 is specified.)
The documentation for this struct was generated from the following file: