=====Setting speech parameters===== //by Richard Russell, October 2008//\\ \\ //**This article is specific to the SAPI5 speech system, typically installed on Windows 2000, XP and Vista**//\\ \\ When using Windows' built-in speech synthesis capability it is possible to override the default **speed**, **volume** and **voice** parameters with your own preferences. There are two main ways of doing this; the first method (which is used in the supplied example program **SPEAK.BBC**) involves embedding //tags// in the text to be spoken, for example: speed$ = "" volume$ = "" voice$ = "" PROC_callmethod(tts%, "Speak("""+speed$+volume$+voice$+phrase$+""")") Here **speed%** should be in the range -10 to +10, **volume%** should be in the range 0 to 100 and **name$** should be a voice name such as **Microsoft Mike** (see [[/Listing%20available%20voices|this article]] for how to discover the available voices).\\ \\ As an alternative to specifying a particular voice you can express a preference for a male or female voice (if the choice is available): speed$ = "" volume$ = "" voice$ = "" PROC_callmethod(tts%, "Speak("""+speed$+volume$+voice$+phrase$+""")") The second method involves direct calls to the speech system to set the appropriate parameters, for example: PROC_putvalue(tts%, "Rate("+STR$speed%+")") PROC_putvalue(tts%, "Volume("+STR$volume%+")") vobj% = FN_getobject(tts%, "GetVoices(""NAME="+name$+""").Item(0)") PROC_putobject(tts%, "Voice(O vobj%)") PROC_callmethod(tts%, "Speak("""+phrase$+""")") Note that this code requires **COMLIB** (or **COMLIBA**) version **3.3** or later, as supplied with //BBC BASIC for Windows// version 5.90a.