【问题标题】:How to save SAPI text to speech to an audio file in VBScript?如何将 SAPI 文本保存到 VBScript 中的音频文件中?
【发布时间】:2013-12-28 04:17:08
【问题描述】:

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

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

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

【问题讨论】:

    标签: vbscript text-to-speech sapi


    【解决方案1】:

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

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

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

    这是一个例子:

    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
    

    【讨论】:

    • 在我的情况下,我需要在.Speak 之后添加oVoice.WaitUntilDone(10000),否则文件将立即关闭。我也用过oVoice.Speak "Hello world", 3
    猜你喜欢
    • 2012-09-23
    • 2017-09-15
    • 1970-01-01
    • 2019-11-23
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多