zoukankan      html  css  js  c++  java
  • TTS 导出 wav 音频(转)

    TTS 导出 wav 音频

    实例一:

    Sub Form_Load()
    Const SSFMCreateForWrite = 3
    Const SAFT22kHz16BitMono = 22
    Const SVSFlagsAsync = 1

    Set objVoice = CreateObject(“SAPI.SpVoice”)
    objVoice.Volume = 100
    objVoice.Rate = 1
    Set objVoice.Voice = objVoice.GetVoices().Item(0)

    Set fso = CreateObject(“Scripting.FileSystemObject”)
    Set f = fso.OpenTextFile(“d:\3.txt”, 1)
    Text = f.ReadAll

    Set objFileStream = CreateObject(“SAPI.SpFileStream”)
    objFileStream.Format.Type = SAFT22kHz16BitMono
    objFileStream.Open “d:\test.wav”, SSFMCreateForWrite, False
    Set objVoice.AudioOutputStream = objFileStream

    objVoice.Speak Text, SVSFlagsAsync
    objVoice.WaitUntilDone -1
    objFileStream.Close

    End Sub

    中文需做如下改动

    Private Sub Form_Load()
    Set objVoice = CreateObject(“SAPI.SpVoice”)
    Set colVoice = objVoice.GetVoices() ‘获得语音引擎集合
    objVoice.Volume = 100 ‘设置音量,0到100,数字越大音量越大
    objVoice.Rate = 0
    ‘得到所需语音引擎的编号
    langCN = “MSSimplifiedChineseVoice” ‘简体中文
    langEN = “MSSam” ‘如果安装了TTS Engines 5.1,还可以选择MSMike,MSMary
    For i = 0 To colVoice.Count – 1
    If Right(colVoice(i).Id, Len(langCN)) = langCN Then cnVoice = i
    If Right(colVoice(i).Id, Len(langEN)) = langEN Then enVoice = i
    Next

    Const SSFMCreateForWrite = 3
    Const SAFT22kHz16BitMono = 22
    Const SVSFlagsAsync = 1

    Set objVoice.Voice = colVoice.Item(cnVoice)
    Set fso = CreateObject(“Scripting.FileSystemObject”)
    Set f = fso.OpenTextFile(“d:\3.txt”, 1)
    Text = f.ReadAll

    Set objFileStream = CreateObject(“SAPI.SpFileStream”)
    objFileStream.Format.Type = SAFT22kHz16BitMono
    objFileStream.Open “d:\test.wav”, SSFMCreateForWrite, False
    Set objVoice.AudioOutputStream = objFileStream

    objVoice.Speak Text, SVSFlagsAsync
    objVoice.WaitUntilDone -1
    objFileStream.Close

    实例二:

    Private Sub Form_Load()
    Const SSFMCreateForWrite = 3
    Const SAFT22kHz16BitMono = 22
    Const SVSFlagsAsync = 1

    Set objVoice = CreateObject(“SAPI.SpVoice”)
    objVoice.Volume = 100
    objVoice.Rate = 1
    Set objVoice.Voice = objVoice.GetVoices().Item(0)

    Set fso = CreateObject(“Scripting.FileSystemObject”)
    Set f = fso.OpenTextFile(“d:\3.txt”, 1)
    Text = f.ReadAll

    Set objFileStream = CreateObject(“SAPI.SpFileStream”)
    objFileStream.Format.Type = SAFT22kHz16BitMono
    objFileStream.Open “d:\test.wav”, SSFMCreateForWrite, False
    Set objVoice.AudioOutputStream = objFileStream

    objVoice.Speak Text, SVSFlagsAsync
    objVoice.WaitUntilDone -1
    objFileStream.Close

    End Sub

  • 相关阅读:
    SGU 495 Kids and Prizes 概率DP 或 数学推理
    poj 2799 IP Networks 模拟 位运算
    uva 202 Repeating Decimals 模拟
    poj 3158 Kickdown 字符串匹配?
    uva 1595 Symmetry 暴力
    uva 201 Squares 暴力
    uva 1594 Ducci Sequence 哈希
    uva 1368 DNA Consensus String 字符串
    数字、字符串、列表的常用操作
    if条件判断 流程控制
  • 原文地址:https://www.cnblogs.com/Sandheart/p/1961476.html
Copyright © 2011-2022 走看看