The Voice Manager controls the loading/unloading of a voice and it’s related resources and then provides the voice to the rest of the Speect Engine and Plug-ins. The loaded voice’s data is chached for reuse. All of this is controlled through one function:
Load a voice from the given path.
If any of the voice’s data objects have already been loaded, then they are shared. This reduces the need for multiple redundant calls.
Pointer to the loaded voice.
The caller is responsible for the memory of the returned voice, which can be normally deleted with S_DELETE.