Python Pyttsx不是’;t在windows 10上显示已安装的语言

Python Pyttsx不是’;t在windows 10上显示已安装的语言,python,windows-10,speech-to-text,pyttsx,Python,Windows 10,Speech To Text,Pyttsx,我试着用pyttsx3说法语文本。但是,只有英语可用 按照的建议,我尝试安装法语语音包,如下所述 我重新启动了我的电脑,现在已经安装了法语语音到文本模块,并可在windows设置的“语音”菜单下使用。测试按钮工作正常,我听到测试样本是法语的 我尝试运行以下代码以查看pyttsx3提供了什么: import pyttsx3 engine = pyttsx3.init() voices = engine.getProperty('voices') for voice in voices:

我试着用pyttsx3说法语文本。但是,只有英语可用

按照的建议,我尝试安装法语语音包,如下所述

我重新启动了我的电脑,现在已经安装了法语语音到文本模块,并可在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
HKEY\U LOCAL\u MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS\U MS\u EN-US\u ZIRA\u 11.0

我遗漏了什么?

我找到了一个解决办法,按照上面的描述:

下面是我遵循的步骤的摘要。它假设您已经下载了原始问题中的语音包

  • 打开
    regedit.exe
    (Windows+R,然后键入regedit)并导航到注册表项
    Computer\HKEY\u LOCAL\u MACHINE\SOFTWARE\Microsoft\Speech\u OneCore\Voices\Tokens

  • 右键单击要使用的语音并选择导出

  • 使用文本编辑器(例如记事本++)打开导出的文件

  • 再次复制文件中的所有文本,以便将所有内容复制两次(除了第一行
    Windows注册表编辑器版本5.00

  • 在数据的第一部分,将
    \HKEY\u LOCAL\u MACHINE\SOFTWARE\Microsoft\Speech\u OneCore\Voices\Tokens
    替换为
    HKEY\u LOCAL\u MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens
    (必须在两个不同的位置执行此操作)

  • 在第二部分(粘贴在下面的部分)中,对
    HKEY\U LOCAL\U MACHINE\SOFTWARE\WOW6432Node\Microsoft\SPEECH\Voices\Tokens执行相同操作,但要更改两个位置

  • 保存文件,关闭它,然后双击它。接受注册表修改

  • 重新启动计算机


  • 现在导出的语音可用于pyttsx3

    后台链接是受欢迎的,但链接会变差,一些用户无法或根本不想点击。你的答案至少应该总结链接背后的信息(或者,一旦你赢得足够的代表发表评论,就应该是评论而不是答案)。Nıce解决方法