zoukankan      html  css  js  c++  java
  • TTS语音合成

    在XP或更高版本系统中,默认安装了英语语音引擎,朗读者是SAM,可以在控制面板-》语音-》文字-语音转换-》里查看,因此如果只需要男声读英文的话就不需要安装任何东西了。不过,如果需要女声读英文或读其它语言的话,就需要安装相应的语音库。微软官网中提供了男声简体中文语音库和男女声英文语音库,不过效果不是太好,如果想获得更好效果的话还是要用其它语音库。

        现在比较优秀的语音库有很多:

    NeoSpeech Lily 汉语普通话女声,可朗读简体、繁体中文,可中英文混读,音质极好。  Microsoft Lili Windows Vista 自带的汉语普通话女声,可中英文混读,音质还可以。只支持Windows Vista。

    英语朗读语音库 (NeoSpeech Paul 男声)

    英语朗读语音库 (NeoSpeech Kate 女声)

    中文朗读语音库 (NeoSpeech Wang 男声)

    日语朗读语音库 (NeoSpeech Misaki 女声)

    英、中、韩、日朗读语音库合集 (NeoSpeech)

    日语朗读语音库 NextUp ScanSoft RealSpeak TTS - Kyoko 22kHz, Japanese(女声)

    其它语音库的设置:用户名必须正确,不然系统使用自带用户 MSSam,可以在控制面板-》语音 中查看用户

    langCN = "VW Kate" 英文女

    langCN = "VW Paul" 英文男

    langCN=  "VW Wang" 中文男

    langCN = "VW Lily" 中文女

    langCN = "MSSimplifiedChineseVoice" 微软自带中文库

    License:effacee1e9a0c118ca2dd64bdf6a66c3cc3d82fbee5a11f7002cb600ec1900e8de006e8f00152800adc100f14a0115d5:*:VoiceText:0:1:Nextup:WindowsNT2KXP::;

    --- Label Print ---

    CODE: VoiceText-02FF-278E-8AE6

    Site Name: Nextup

    Host ID: *

    Expiration Date: unlimited

    Maximum Channel: 1

    Operating System: WindowsNT2KXP

    现在已经有了数款利用TTS技术开发的产品,如文语通、朗读精灵等,可以用它们来阅读TXT小说、网页内容等,还可以将文本内容转换成wav音频,放到MP3,MP4里,脱离了电脑。

    获取所有语音引擎集合:

    Function readch(strsource)
       Set objVoice = CreateObject("SAPI.SpVoice")
       Set colVoice = objVoice.GetVoices()
       objVoice.Volume = 100 '设置音量,0到100,数字越大音量越大
       langCN = "VW Lily"
       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
       'strsource = textch '"今日天气:晴转多云 二十五到二十六摄氏度 北风四到五级"
        '以下语句是逐组朗读
       Set objVoice.Voice = colVoice.Item(cnVoice) '设置语音引擎为简体中文
       objVoice.Speak (strsource)
    End Function
    
    Private Sub Form_Load()
       Set objVoice = CreateObject("SAPI.SpVoice")
       Set colVoice = objVoice.GetVoices()
       For Each Token In colVoice
            VoiceCB.AddItem Token.GetDescription()
       Next
       VoiceCB.ListIndex = 0
       MsgBox "ok"
      Dim textch As String
     textch = "今日天气:晴转多云, 二十五到二十六摄氏度, 北风四到五级,25-26"
     readch (textch)
    End Sub

    转自:http://blog.sina.com.cn/s/blog_5d8945610100ezwj.html

  • 相关阅读:
    Allegro PCB转换成PADS方法
    Altium Designer只显示某一层,隐藏其他层
    DCDC功率电感(Inductor)选型
    DDR布线教程
    DDR地址、容量计算、Bank理解
    DDR3中的ODT(On-die termination)
    LINUX文件系统操作指令之四
    linux系统之间通过nfs网络文件系统挂载设置方法
    linux消息队列编程实例
    system()函数
  • 原文地址:https://www.cnblogs.com/enjoyprogram/p/2891654.html
Copyright © 2011-2022 走看看