Creates a new speech channel.


OSErr NewSpeechChannel(VoiceSpec *voice, SpeechChannel  _Nullable *chan);



A pointer to the voice specification structure corresponding to the voice to be used for the new speech channel. Pass NULL to create a speech channel using the system default voice.

Specifying a voice means the initial speaking rate is determined by the synthesizer’s default speaking rate; passing NULL means the speaking rate is automatically set to the rate the user specifies in Speech preferences.


On return, a pointer to a valid speech channel.

Return Value

A result code. See Result Codes.


The NewSpeechChannel function allocates memory for a speech channel structure and sets the speech channel variable pointed to by the chan parameter to point to this speech channel structure. The Speech Synthesis Manager automatically locates and opens a connection to the proper synthesizer for the voice specified by the voice parameter.

There is no predefined limit to the number of speech channels an application can create. However, system constraints on available RAM, processor loading, and number of available sound channels limit the number of speech channels actually possible.

Your application should not attempt to manipulate the data pointed to by a variable of type SpeechChannel. The internal format that the Speech Synthesis Manager uses for speech channel data is not documented and may change in future versions of system software.

See Also

Managing Speech Channels


Disposes of an existing speech channel.