如何将SAPI文本保存到VBScript中的音频文件?

时间:2013-12-10 15:10:22

标签: vbscript text-to-speech sapi

我有以下用于文本到语音转换的VBScript代码:

Set objVoice = CreateObject("SAPI.SpVoice")
objVoice.Speak Inputbox("Enter Text")

我想将语音保存到音频文件中。我怎么能这样做?

1 个答案:

答案 0 :(得分:4)

您可以将SAPI输出保存为.WAV文件,如下所示:

  1. 使用SpFileStream.Open方法创建并打开.WAV文件作为流。

  2. 将此文件流分配给SpVoice.AudioStream属性。

  3. 以下是一个例子:

    Const SAFT48kHz16BitStereo = 39
    Const SSFMCreateForWrite = 3 ' Creates file even if file exists and so destroys or overwrites the existing file
    
    Dim oFileStream, oVoice
    
    Set oFileStream = CreateObject("SAPI.SpFileStream")
    oFileStream.Format.Type = SAFT48kHz16BitStereo
    oFileStream.Open "C:\Work\Sample.wav", SSFMCreateForWrite
    
    Set oVoice = CreateObject("SAPI.SpVoice")
    Set oVoice.AudioOutputStream = oFileStream
    oVoice.Speak "Hello world"
    
    oFileStream.Close