Я знаю, как добавить функцию преобразования текста в речь в GoldenDict в Linux, но я всюду искал решение для Windows и ничего не нашел.
1 ответ
То же решение должно работать в Windows, но вам нужно что-то эквивалентное espeak
.
Вот фрагмент PowerShell, который с помощью классов .NET читает некоторый текст:
Add-Type -AssemblyName System.speech
$speak = New-Object System.Speech.Synthesis.SpeechSynthesizer
$speak.Speak('Hello.')
Вот эквивалентная команда, которая может быть запущена в командной строке Windows (cmd.exe):
PowerShell -Command "Add-Type –AssemblyName System.Speech; (New-Object System.Speech.Synthesis.SpeechSynthesizer).Speak('hello');"
Используя приведенную выше команду (и заменив 'hello' на '% GDWORD%') и шаги, упомянутые в посте выше, мы можем достичь того же.
Вот полные шаги:
Откройте GoldenDict и нажмите F3, чтобы открыть окно Словари .
На вкладке Источники выберите вкладку Программы .
Нажмите кнопку « Добавить» , выберите « Аудио» для столбца « Тип» , введите некоторое имя (например, "tts") в столбце « Имя» и следующую команду для столбца « Командная строка» :
PowerShell -Command "Add-Type –AssemblyName System.Speech; (New-Object System.Speech.Synthesis.SpeechSynthesizer).Speak('%GDWORD%');"
Не забудьте установить флажок « Включено» .
Нажмите ОК
Это использует голос по умолчанию в Windows. Если вы хотите использовать женский голос, используйте следующую команду:
PowerShell -Command "Add-Type –AssemblyName System.Speech; $s=(New-Object System.Speech.Synthesis.SpeechSynthesizer); $s.SelectVoiceByHints(2); $s.Speak('%GDWORD%');"
Настроить голос легко, если вы программист .NET и знаете PowerShell.