python-3.x 从win32com.client 'SAPI.Spvoice'使用Dispatch

svgewumm  于 2023-06-07  发布在  Python
关注(0)|答案(2)|浏览(176)

我正在尝试使用Python代码将WIN10文本到语音的语音从Windows默认值更改为英语。
这里提到了在SAPI.Spvoice中使用SetVoice命令,但是找不到解释

from win32com.client import Dispatch
Windows_Speak = Dispatch('SAPI.Spvoice')
Windows_Speak.Speak('Tomato')

上面的代码将使用Windows默认语言设置,但我需要能够使用Python中的命令更改语言。有什么想法吗

liwlm1x9

liwlm1x91#

试试这个:

from win32com.client import Dispatch
Windows_Speak = Dispatch('SAPI.Spvoice')

Windows_Speak.Voice = speak.GetVoices().Item(2)
Windows_Speak.Rate = 3
print(speak.GetVoices().Item(2).GetDescription()) #just to see what voice is used

Windows_Speak.Speak('Tomato')

播放周围,如果声音id

fkaflof6

fkaflof62#

另一种方法是使用'pyttsx3。如果您正在尝试更改Windows的默认声音,则可以使用尝试此操作:

engine = pyttsx3.init('sapi5')
#with given method you will get the list of voices available
voices = engine.getProperty('voices')
#in engine I am setting 0th indexed voice as my custom
engine.setProperty('voice', voices[0].id)

相关问题