outputting_20speech_20to_20a_20file
This is an old revision of the document!
Outputting speech to a file
by Richard Russell, October 2008
The supplied example program SPEAK.BBC illustrates how you can use Windows' built-in speech synthesis capabilities to output speech to your PC's loudspeakers, but what if you want to create a sound file containing the speech? Fortunately the SAPI 5 speech system (typically available in Windows 2000, XP and Vista) supports this facility directly.
The code below outputs speech to a specified WAV file:
INSTALL @lib$+"COMLIBA"
ON ERROR ON ERROR OFF : PROC_comexit : PRINT 'REPORT$ : END ON CLOSE PROC_comexit : QUIT
PROC_cominit file$ = "test.wav" speech$ = "This is a test file"
voice% = FN_createobject("SAPI.SpVoice") filestream% = FN_createobject("SAPI.SpFileStream") PROC_callmethod(filestream%, "Open("""+file$+""",3,0)") PROC_putobject(voice%, "AudioOutputStream(O filestream%)") PROC_callmethod(voice%, "Speak("""+speech$+""",0)") PROC_callmethod(filestream%, "Close") PROC_releaseobject(filestream%) PROC_releaseobject(voice%)
PROC_comexit
SYS "PlaySound", file$, 0, &20001
Note that this code requires COMLIB (or COMLIBA) version 3.3 or later, as supplied with BBC BASIC for Windows version 5.90a.
outputting_20speech_20to_20a_20file.1522502372.txt.gz · Last modified: 2024/01/05 00:17 (external edit)