Pyttsx не показывает установленные языки в Windows 10 - PullRequest
1 голос
/ 24 июня 2019

Я пытаюсь использовать 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

Чего мне не хватает?

1 Ответ

0 голосов
/ 24 июня 2019

Я нашел обходной путь, выполнив то, что описано там: https://www.ghacks.net/2018/08/11/unlock-all-windows-10-tts-voices-system-wide-to-get-more-of-them/

Вот краткое изложение шагов, которые я выполнил. Предполагается, что вы уже загрузили голосовые пакеты, как в исходном вопросе.

  1. Откройте regedit.exe (Windows + R и введите regedit) и перейдите к разделу реестра Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens.

  2. Щелкните правой кнопкой мыши на голосе, который вы хотите использовать, и выберите «Экспорт».

  3. Откройте экспортированный файл в текстовом редакторе (например, «Блокнот ++»).

  4. Скопируйте весь текст второй раз в файл, чтобы у вас было все два раза (кроме первой строки Windows Registry Editor Version 5.00).

  5. В первой части данных замените \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens на HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens (вы должны сделать это в двух разных местах).

  6. Во второй части (той, что вы вставили ниже), сделайте то же самое, но измените на HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\SPEECH\Voices\Tokens (снова два места для изменения).

  7. Сохраните файл, закройте его и дважды щелкните по нему. Принять изменения в реестре.

  8. Перезагрузите компьютер.

Теперь экспортированные голоса доступны для использования с pyttsx3!

...