\section{Built-in Module \sectcode{macspeech}} \label{module-macspeech} \bimodindex{macspeech} \renewcommand{\indexsubitem}{(in module macspeech)} This module provides an interface to the Macintosh Speech Manager, allowing you to let the Macintosh utter phrases. You need a version of the speech manager extension (version 1 and 2 have been tested) in your \code{Extensions} folder for this to work. The module does not provide full access to all features of the Speech Manager yet. It may not be available in all Mac Python versions. \begin{funcdesc}{Available}{} Test availability of the Speech Manager extension (and, on the PowerPC, the Speech Manager shared library). Return 0 or 1. \end{funcdesc} \begin{funcdesc}{Version}{} Return the (integer) version number of the Speech Manager. \end{funcdesc} \begin{funcdesc}{SpeakString}{str} Utter the string \var{str} using the default voice, asynchronously. This aborts any speech that may still be active from prior \code{SpeakString} invocations. \end{funcdesc} \begin{funcdesc}{Busy}{} Return the number of speech channels busy, system-wide. \end{funcdesc} \begin{funcdesc}{CountVoices}{} Return the number of different voices available. \end{funcdesc} \begin{funcdesc}{GetIndVoice}{num} Return a voice object for voice number \var{num}. \end{funcdesc} \subsection{voice objects} Voice objects contain the description of a voice. It is currently not yet possible to access the parameters of a voice. \renewcommand{\indexsubitem}{(voice object method)} \begin{funcdesc}{GetGender}{} Return the gender of the voice: 0 for male, 1 for female and -1 for neuter. \end{funcdesc} \begin{funcdesc}{NewChannel}{} Return a new speech channel object using this voice. \end{funcdesc} \subsection{speech channel objects} A speech channel object allows you to speak strings with slightly more control than \code{SpeakString()}, and allows you to use multiple speakers at the same time. Please note that channel pitch and rate are interrelated in some way, so that to make your Macintosh sing you will have to adjust both. \renewcommand{\indexsubitem}{(speech channel object method)} \begin{funcdesc}{SpeakText}{str} Start uttering the given string. \end{funcdesc} \begin{funcdesc}{Stop}{} Stop babbling. \end{funcdesc} \begin{funcdesc}{GetPitch}{} Return the current pitch of the channel, as a floating-point number. \end{funcdesc} \begin{funcdesc}{SetPitch}{pitch} Set the pitch of the channel. \end{funcdesc} \begin{funcdesc}{GetRate}{} Get the speech rate (utterances per minute) of the channel as a floating point number. \end{funcdesc} \begin{funcdesc}{SetRate}{rate} Set the speech rate of the channel. \end{funcdesc}