#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. Да! Спасибо! 🙂