CRIWARE Unity Plugin Manual  Last Updated: 2024-07-12
CriAtomExVoicePool.PlayerConfig Struct Reference

A configuration structure used when creating Voices More...

Public Attributes

int maxChannels
 Maximum number of output channels More...
 
int maxSamplingRate
 Maximum sampling rate More...
 
bool streamingFlag
 Whether to perform streaming playback More...
 
int soundRendererType
 Sound renderer type More...
 
int decodeLatency
 Latency of the decoding process More...
 

Detailed Description

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.

Member Data Documentation

int maxChannels

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.)
int maxSamplingRate

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.)
bool streamingFlag

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.
int soundRendererType

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.)
int decodeLatency

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: