Преобразование текста в речь в GoldenDict
Я знаю, как добавить функцию преобразования текста в речь в 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.