speech-dispatcher: Information Retrieval Commands in C

 
 4.1.8 Information Retrieval Commands
 ------------------------------------
 
  -- C API function: char** spd_list_modules(SPDConnection* connection)
 
      Returns a null-terminated array of identification names of the
      available output modules.  You can subsequently set the desired
      output module with ⇒spd_set_output_module.  In case of
      error, the return value is a NULL pointer.
 
      'connection' is the SPDConnection* connection created by
      spd_open().
 
  -- C API function: char** spd_list_voices(SPDConnection* connection)
 
      Returns a null-terminated array of identification names of the
      symbolic voices.  You can subsequently set the desired voice with
      ⇒spd_set_voice_type.
 
      Please note that this is a fixed list independent of the
      synthesizer in use.  The given voices can be mapped to specific
      synthesizer voices according to user wish or may, for example, all
      be mapped to the same voice.  To choose directly from the raw list
      of voices as implemented in the synthesizer, ⇒
      spd_list_synthesis_voices.
 
      In case of error, the return value is a NULL pointer.
 
      'connection' is the SPDConnection* connection created by
      spd_open().
 
  -- C API function: char** spd_list_synthesis_voices(SPDConnection*
           connection)
 
      Returns a null-terminated array of identification names of
      'SPDVoice*' structures describing the available voices as given by
      the synthesizer.  You can subsequently set the desired voice with
      'spd_set_synthesis_voice()'.
 
           typedef struct{
             char *name;   /* Name of the voice (id) */
             char *language;  /* 2/3-letter ISO language code,
                               * possibly followed by 2/3-letter ISO region code,
           		    * e.g. en-US */
             char *variant;   /* a not-well defined string describing dialect etc. */
           }SPDVoice;
 
      Please note that the list returned is specific to each synthesizer
      in use (so when you switch to another output module, you must also
      retrieve a new list).  If you want instead to use symbolic voice
      names which are independent of the synthesizer in use, ⇒
      spd_list_voices.
 
      In case of error, the return value is a NULL pointer.
 
      'connection' is the SPDConnection* connection created by
      spd_open().