我正在尝试使用 pyttsx3 说出法语文本。但是,仅提供英语。
遵循以下建议如何改变pyttsx3中的声音?,我尝试按照此处的说明安装法语语音包https://support.office.com/en-us/article/how-to-download-text-to-speech-languages-for-windows-10-d5a6b612-b3ae-423f-afa5-4f6caf1ec5d3.
我重新启动了计算机,现在已经安装了法语语音转文本模块,并且可以在 Windows 设置中的“语音”菜单下使用。测试按钮起作用了,我听到了法语的测试样本。
我尝试运行以下代码来查看 pyttsx3 可用的内容:
import pyttsx3
engine = pyttsx3.init()
voices = engine.getProperty('voices')
for voice in voices:
print(voice, voice.id)
engine.setProperty('voice', voice.id)
engine.say("Hello World!")
engine.runAndWait()
engine.stop()
但是,我只得到以下输出:
<Voice id=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_ZIRA_11.0
name=Microsoft Zira Desktop - English (United States)
languages=[]
gender=None
age=None> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_ZIRA_11.0
我缺少什么?
我通过执行此处描述的操作找到了解决方法:https://www.ghacks.net/2018/08/11/unlock-all-windows-10-tts-voices-system-wide-to-get-more-of-them/
以下是我所遵循的步骤的摘要。它假设您已经下载了原始问题中的语音包。
Open regedit.exe
(Windows + R,然后键入 regedit)并导航到注册表项Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens
.
右键单击您要使用的声音并选择导出。
使用文本编辑器(例如 Notepad++)打开导出的文件。
再次复制文件中的所有文本,这样所有内容都会重复两次(第一行除外)Windows Registry Editor Version 5.00
).
在数据的第一部分中,替换\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens
by HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens
(您必须在两个不同的地方执行此操作)。
在第二部分(您在下面粘贴的部分)中,执行相同的操作,但更改为HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\SPEECH\Voices\Tokens
(再次,有两个地方需要改变)。
保存文件,关闭它,然后双击它。接受注册表修改。
重启你的电脑。
现在导出的声音可以与 pyttsx3 一起使用!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)