• 技术文章 >后端开发 >Python教程

    python实现将文本转换成语音的方法

    2016-06-10 15:11:16原创726
    本文实例讲述了python将文本转换成语音的方法。分享给大家供大家参考。具体实现方法如下:

    # Text To Speech using SAPI (Windows) and Python module pyTTS by Peter Parente
    # download installer file pyTTS-3.0.win32-py2.4.exe 
    # from: http://sourceforge.net/projects/uncassist
    # also needs: http://www.cs.unc.edu/Research/assist/packages/SAPI5SpeechInstaller.msi
    # and pywin32-204.win32-py2.4.exe at this date the latest version of win32com
    # from: http://sourceforge.net/projects/pywin32/
    # tested with Python24 on a Windows XP computer  vagaseat  15jun2005
    import pyTTS
    import time
    tts = pyTTS.Create()
    # set the speech rate, higher value = faster
    # just for fun try values of -10 to 10
    tts.Rate = 1
    print "Speech rate =", tts.Rate
    # set the speech volume percentage (0-100%)
    tts.Volume = 90
    print "Speech volume =", tts.Volume
    # get a list of all the available voices
    print "List of voices =", tts.GetVoiceNames()
    # explicitly set a voice
    tts.SetVoiceByName('MSMary')
    print "Voice is set ot MSMary"
    print
    # announce the date and time, does a good job
    timeStr = "The date and time is " + time.asctime()
    print timeStr
    tts.Speak(timeStr)
    print
    str1 = """
    A young executive was leaving the office at 6 pm when he found 
    the CEO standing in front of a shredder with a piece of paper in hand. 
    "Listen," said the CEO, "this is important, and my secretary has left. 
    Can you make this thing work?"
    "Certainly," said the young executive. He turned the machine on, 
    inserted the paper, and pressed the start button.
    "Excellent, excellent!" said the CEO as his paper disappeared inside 
    the machine. "I just need one copy."
    """
    print str1
    tts.Speak(str1)
    tts.Speak('Haah haa haah haa')
    print
    str2 = """
    Finagle's fourth law:
     Once a job is fouled up, anything done to improve it only makes it worse.
    """
    print str2
    print
    print "The spoken text above has been written to a wave file (.wav)"
    tts.SpeakToWave('Finagle4.wav', str2)
    print "The wave file is loaded back and spoken ..."
    tts.SpeakFromWave('Finagle4.wav')
    print
    print "Substitute a hard to pronounce word like Ctrl key ..."
    #create an instance of the pronunciation corrector
    p = pyTTS.Pronounce()
    # replace words that are hard to pronounce with something that 
    # is spelled out or misspelled, but at least sounds like it
    p.AddMisspelled('Ctrl', 'Control')
    str3 = p.Correct('Please press the Ctrl key!')
    tts.Speak(str3)
    print
    print "2 * 3 = 6"
    tts.Speak('2 * 3 = 6')
    print
    tts.Speak("sounds goofy, let's replace * with times")
    print "Substitute * with times"
    # ' * ' needs the spaces
    p.AddMisspelled(' * ', 'times')
    str4 = p.Correct('2 * 3 = 6')
    tts.Speak(str4)
    print
    print "Say that real fast a few times!"
    str5 = "The sinking steamer sunk!"
    tts.Rate = 3
    for k in range(7):
      print str5
      tts.Speak(str5)
      time.sleep(0.3)
    tts.Rate = 0
    tts.Speak("Wow, not one mispronounced word!")
    
    

    希望本文所述对大家的Python程序设计有所帮助。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:python 文本 转换 语音
    上一篇:python图像处理之反色实现方法 下一篇:Python中exit、return、sys.exit()等使用实例和区别
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• Python轻量级搜索工具Whoosh的使用(总结分享)• python正则表达式如何实现重叠匹配• 总结分享Python冷门的技巧• python虚拟环境配置与管理• 完全掌握Python中的双下方法
    1/1

    PHP中文网