如何在python的pyttsx3模式中更改声音

问题描述

我在我的一个python项目中使用pyttsx3模块进行文本到语音转换,但是我无法为声音选择男性/女性选项。我阅读了https://pypi.org/project/pyttsx3/上提供的文档,其中说分别对男性和女性语音使用voices [0] .id / voices [1] .id。但是,这似乎不起作用,因为两种声音之间没有显着差异。

我的代码

import pyttsx3
engine = pyttsx3.init()

voices = engine.getProperty('voices')
engine.setProperty('voice',voices[0].id)

engine.say("Hello World!")
engine.runAndWait()

有什么想法可以改变声音,还有没有办法改变文本到语音的语言……类似于自动翻译?

解决方法

要将声音更改为女性或男性,请使用

//df1
 C1 C2 C8 C3
  1  a  t  w
  2  b  u  x
  3  c  v  y
//df2
   C3 C4
   4  d
   5  e
   6  f
  12  s
//df3
   C5 C6 C7
   7  i  n
   8  j  o
   9  k  p
  10  l  q
  11  m  r
// merge df1 df2 df3 horizontally
    C1   C2   C8   C3   C3   C4  C5 C6 C7
    1    a    t    w    4    d   7  i  n
    2    b    u    x    5    e   8  j  o
    3    c    v    y    6    f   9  k  p
  NaN  NaN  NaN  NaN   12    s  10  l  q
  NaN  NaN  NaN  NaN  NaN  NaN  11  m  r

// merge df1 df2 df3 vertically
    C1   C2   C8   C3   C4   C5   C6
    1    a    t    w  NaN  NaN  NaN
    2    b    u    x  NaN  NaN  NaN
    3    c    v    y  NaN  NaN  NaN
  NaN  NaN  NaN    4    d  NaN  NaN
  NaN  NaN  NaN    5    e  NaN  NaN
  NaN  NaN  NaN    6    f  NaN  NaN
  NaN  NaN  NaN   12    s  NaN  NaN
  NaN  NaN  NaN  NaN  NaN    7    i
  NaN  NaN  NaN  NaN  NaN    8    j
  NaN  NaN  NaN  NaN  NaN    9    k
  NaN  NaN  NaN  NaN  NaN   10    l
  NaN  NaN  NaN  NaN  NaN   11    m
,
voices = engine.getProperty('voices')       #getting details of current voice
#engine.setProperty('voice',voices[0].id)  #changing index,changes voices. o for male
engine.setProperty('voice',voices[1].id)   #changing index,changes voices. 1 for female

这对我有用。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...