【问题标题】:How to use espeak with python如何在 python 中使用 espeak
【发布时间】:2013-07-07 00:26:56
【问题描述】:

我想在 windows7 中使用 espeak(http://espeak.sourceforge.net) 和 python2.7.0-32 位。

另外,我还想保存espeak生成的音频文件。

【问题讨论】:

  • @KiritoMcSpock9733 除非 espeak 命令本身不能在 Windows 上运行(否则 Python 代码是可移植的),否则我看不出它无法运行的任何原因。

标签: python windows windows-7 espeak


【解决方案1】:

我尝试在 Windows 8 中安装此 package,但在最初的几次尝试中无法真正获得它。

但这就是我让 espeak 使用 python 所做的工作

  1. here 下载并安装适用于 Windows 的 espeak
  2. eSpeak/command-line 文件夹添加到PATH 以便命令espeak 可用
  3. 使用python模块subprocess调用espeak命令,类似于下面示例中的方法

http://machakux.appspot.com/blog/44003/making_speech_with_python

【讨论】:

  • 请注意 link-only answers 是不鼓励的,所以答案应该是寻找解决方案的终点(与另一个中途停留的参考相比,随着时间的推移往往会变得陈旧)。请考虑在此处添加独立的概要,并保留链接作为参考。
  • @Vidhuran 奇怪的是,在我将 eSpeak\command_line 路径附加到 PATH 后,espeak 命令在 cmd.exe 中运行良好,但在 Python shell 中却没有。
  • @KiritoMcSpock9733 你是如何尝试从 python shell 调用 espeak 的。你应该做这样的事情 import subprocess text = '"Hello World"' subprocess.call('espeak '+text, shell=True)
  • @Vidhuran 是的,我这样做了,但它仍然没有工作,但在我重新启动 cmd.exe 后它工作正常(我不知道为什么会这样)
【解决方案2】:

我目前正在使用它,它运行良好......在我的 Raspberry Pi 上

from subprocess import call

call(["espeak","-s140 -ven+18 -z","Hello From Mike"])

【讨论】:

    【解决方案3】:

    这样的事情怎么样。

    import subprocess
    
    def execute_unix(inputcommand):
       p = subprocess.Popen(inputcommand, stdout=subprocess.PIPE, shell=True)
       (output, err) = p.communicate()
       return output
    
    a = "Some amazing words of wisdom."
    
    # write out to wav file 
    b = 'espeak -w temp.wav "%s" 2>>/dev/null' % a  
    
    # speak aloud
    c = 'espeak -ven+f3 -k5 -s150 --punct="<characters>" "%s" 2>>/dev/null' % a #speak aloud
    
    execute_unix(b) 
    execute_unix(c) 
    

    【讨论】:

      【解决方案4】:

      你到底在问什么?

      这里有文档:

      eSpeak Documentation

      还有样品:

      eSpeak samples

      如果您有具体疑问,我们可以为您提供帮助。

      【讨论】:

      • 我想问你,我想用 python 编程语言制作一个应用程序,用户将在 Windows(特别是)中浏览他/她机器上的 pdf 或文本文件,并使用我想要的 espeak将该文件的文本保存到音频文件中并将其输出到一个明确的文件夹中,那么我如何在 espeak 和 python.or 与其他一些编程语言之间建立连接。如果您仍然不清楚问题,请发表评论。在此先感谢
      猜你喜欢
      • 2020-02-29
      • 2018-11-09
      • 2016-03-19
      • 1970-01-01
      • 2015-06-17
      • 2015-03-10
      • 2013-08-06
      • 1970-01-01
      • 2011-02-09
      相关资源
      最近更新 更多