Установленные текстовые голоса не отображаются в System.Speech Options, Windows 10 Powershell - PullRequest
0 голосов
/ 01 октября 2019

Я использую объект System.Speech в Windows 10 Powershell для проекта «Текст в речь» и пытаюсь установить новые голоса.

Я установил новые системные голоса, выполнив следующие инструкции:

В любой редакции Windows 10 нажмите Пуск> Настройки, а затем выполните следующие действия:

Нажмите кнопку Пуск, затем выберите Настройки> Время и язык> Регион и язык.

Выберите Добавить язык и выберите нужный язык из списка. Только языки, перечисленные в таблице ниже, будут иметь возможности преобразования текста в речь.

После установки нового языка (это может занять несколько минут), выберите его в списке «Регион и язык», а затем выберитеПараметры.

В разделе Параметры языка> Речь выберите Загрузить.

Перезагрузите компьютер. Голоса Text-to-Speech будут установлены при включении компьютера.

Я вижу эти голоса, установленные в настройках, и они также отображаются в программе Windows 10 Text-to-Speech. Однако эти голоса не отображаются, когда я запускаю команду GetInstalledVoices (). VoiceInfo в Powershell.

Есть ли какой-то дополнительный уровень настройки, который мне нужно сделать, чтобы System.Speech распознал эти новые голоса?

1 Ответ

0 голосов
/ 03 октября 2019

Проблема заключается в первом ответе на этот пост: Не отображаются голоса TTS в Windows 10?

В Windows 10 по умолчанию установлены два различных механизма TTS. Имеются API синтеза речи WinRT (в пространстве имен Windows.Media.SpeechSynthesis) и API синтеза речи SAPI (в пространстве имен System.Speech.Synthesis и интерфейс COM ISpVoice).

Дэвид и Зираявляются голосами SAPI;языковые пакеты устанавливают голоса WinRT.

API-интерфейсы и голоса SAPI являются устаревшими API-интерфейсами и не подлежат дальнейшей разработке;все новые голоса и усилия направляются на API-интерфейсы WinRT и голоса.

Если вы хотите использовать голоса языкового пакета, вам нужно переместить свое приложение в WinRT и использовать API-интерфейсы WinRT.

Объект System.Speech работает только с голосами SAPI API. К счастью, Windows нигде четко не документирует этот факт, и вы должны найти его на случайном переполнении стека, которое вы случайно обнаружили.

...