Как изменить голос на pyttxs используя voice.ID?

Я знаю, что этот вопрос часто задают (я просматривал десятки подобных мне вопросов), но я не могу найти решение.

Я знаю что используя

voices = engine.setProperty('voice', 'id')

следует сменить голос, но используя

voices = engine.setProperty('voice' b'english-us')

похоже, не работает, я пытался поставить b'english-us 'между кавычками, но тоже не работает. Если бы я мог заставить голос измениться, я был бы удовлетворен, но я намерен использовать голос из eSpeak, который на самом деле возможен в соответствии с различными ответами на разных форумах.

Кто-нибудь может мне помочь? Я использую python 3.5.3 и pyttsx 1.2

1 ответ

Решение

Я нашел способ выбрать голос.

engine = pyttsx.init() 
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[whatever].id)

Быть независимо от места голоса в массиве.

Другие вопросы по тегам