A Voice is an object used to play a single waveform. A Voice Pool manages multiple Voices.
Basically, a Voice Pool is created for each compression codec.
Once the maximum number of sounds played simultaneously for each codec during the game is known, it is possible to only allocate the exact necessary number of Voices for each Voice Pool.
If the number is not known yet, make an estimation based on what you know of the game.
If the number of Voices in the Voice Pool becomes insufficient during playback, the system will steal a Voice based on the priorities assigned to each waveform.
Voice limiting is also based on the number of Voices in the pools (depending on the codec used), as well as the Voice Limit Groups that are defined.
Multiple Voice Pools can be created for the same codec, and can be specified for the CriAtomExPlayerHn function during playback.
For example, this makes it possible to handle the first and second players' sound limiting separately for each pool in a multiplayer game.
(However, the voice limit function is not a behavior to be applied across multiple pools in this method.)