Как изменить голоса в pyttsx3 modlue на python

#python #pip #pyttsx3

#python #pip #pyttsx3

Вопрос:

Я использую модуль pyttsx3 для преобразования текста в речь в одном из моих проектов на Python, но я не могу выбрать мужской / женский вариант для голосов. Я прочитал документацию, приведенную на https://pypi.org/project/pyttsx3 / где написано использовать голоса [0].идентификатор / голоса [1]. идентификатор для мужского и женского голосов соответственно. Однако, похоже, это не работает, поскольку между 2 голосами нет существенной разницы.

Мой код:

 import pyttsx3
engine = pyttsx3.init()

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

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

Есть идеи, как изменить голос, а также есть ли способ изменить язык преобразования текста в речь … что-то похожее на автоматический перевод?

Ответ №1:

 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
  

это сработало для меня.

Ответ №2:

Чтобы изменить голос на женский или мужской, используйте

 import pyttsx3 as p
engine = p.init()
voice = engine.getProperty('voice')
#for female
engine.setProperty(voice, "!v/f1")
#for male
engine.setProperty(voice, "!v/m1")
engine.runAndWait()
  

Комментарии:

1. спасибо за ваше предложение, но оно не работает. Ошибок не показано, но в то же время по-прежнему нет разницы между мужским и женским голосами.

2. Требуется от m1 до m5, от f1 до f5

3. да, я пробовал это, но, как я уже говорил ранее, разницы нет.

4. Да! Спасибо! 🙂