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)