【问题标题】:How to make pyttsx module's voice go slower如何让 pyttsx 模块的声音变慢
【发布时间】:2018-02-13 18:00:57
【问题描述】:

我的代码:

import pyttsx3
import random

engine = pyttsx3.init()
words = ['hello', 'word']     
engine.say(random.choice(words)) #Say these words slower

我不希望它变得非常慢,只要慢到让非母语人士很容易理解单词列表中的单词即可。另外,如果使用 pyttsx 模块无法做到这一点,你能推荐一个可以做到这一点的模块吗?

【问题讨论】:

  • words = ['heeeeeeeeeellllllllllllllllloooooooooo', 'woooooooorrrrrrrrrrrddd'] ;)
  • @Chris_Rands 在该特定模块中,语音会按字面意思说出您输入的内容,因此它会说:(1x)h,(10x)e,(17x)l,(10x)o
  • 是的,抱歉,这是个玩笑!我对这个模块不熟悉,所以我怕是帮不上忙
  • @Chris_Rands 哦,好吧,哈哈,我没明白 xD

标签: python python-3.x text-to-speech python-module pyttsx


【解决方案1】:

要让 pyttsx3 中的声音变慢,您可以这样做:

import pyttsx3   

text = "Hello"
 
engine = pyttsx3.init()
engine.setProperty("rate", rate)
engine.say(text)
engine.runAndWait()

【讨论】:

    【解决方案2】:

    首先我们必须创建一个变量,它定义了引擎必须说出的速度速率 (engine.setProperty) 将速率的属性设置为变量 (newVoiceRate) 通过它你可以改变引擎的说话速度。 我还编辑了您的代码并暗示了这些更改。见下文 试试这个

     import pyttsx3
     import random
    
     engine = pyttsx3.init()
     words = ['hello', 'word']     
     engine.say(random.choice(words))
     newVoiceRate = 145
     engine.setProperty('rate',newVoiceRate)
    

    【讨论】:

    • 虽然此代码可能会为问题提供解决方案,但最好添加有关其工作原理/方式的上下文。这可以帮助未来的用户学习并将这些知识应用到他们自己的代码中。在解释代码时,您也可能会以赞成票的形式从用户那里获得积极的反馈。
    • 感谢您分享您的反馈,下次我会尝试改进答案
    • 我已经编辑了答案,现在它是完美的。如果您喜欢我的答案,请查看我的个人资料一次,因为我是编程初学者
    【解决方案3】:
    newVoiceRate = 145
    engine.setProperty('rate',newVoiceRate)
    

    【讨论】:

    【解决方案4】:

    试试这个:

    engine.setProperty('rate', newVoiceRate)
    

    根据需要将newVoiceRate替换为rate。它是每分钟字数的整数语速。默认为每分钟 200 字。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-19
      • 2019-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      • 1970-01-01
      相关资源
      最近更新 更多