say
команда, пожалуй, самая замечательная особенность OS X терминала - он принимает текст в качестве входных данных и говорит его через динамики компьютера. Есть ли эквивалентный инструмент командной строки в Windows, Встроенный или через стороннюю программу?
OS X ' say ' команда для Windows
4 ответа
PTTS очень простая программа командной строки Microsoft Windows для преобразования текста в речь. Если использует Microsoft Text to Speech Engine и Microsoft Speech SDK. Text to Speech Engine устанавливается с Windows XP с одним голосом несколько низкого качества. Программа установки Jampal включает в себя два лучше звучащих голоса. (цитата с сайта)
его можно использовать, просто введя текст в программу перенаправлением или по конвейеру текст:
ptts < file.txt
echo Hello there|ptts
этот вопрос задавался при переполнении стека. Мне нравится ответьте скриптом VBS.
и espeak
доступен для Windows и Linux и был перенесен на OS X. Я не верю, что он использует встроенный движок Windows TTS.
Я создал простой пакетный скрипт для этого. Вот исходный код
@echo off
echo Dim Speak >> %HOMEPATH%\speak.vbs
echo Set Speak=CreateObject("sapi.spvoice") >> %HOMEPATH%\speak.vbs
echo Speak.Speak "%*">> %HOMEPATH%\speak.vbs
%HOMEPATH%\speak.vbs
del %HOMEPATH%\speak.vbs
сохранить скрипт в файл под названием "speak.bat " и переместите его в каталог, на который ссылается переменная PATH.
эта программа создает простой vbs с вашим входом, а затем говорит с системным голосом. В конце выполнения сценарий будет удален, чтобы освободить место для другого выполнения.
у них есть эта библиотека в SDK, где вы, вероятно, могли бы сделать более продвинутую утилиту с некоторыми личными усилиями.
https://www.microsoft.com/en-us/download/details.aspx?id=27224
хотя это, вероятно, самый удобный способ, поскольку он изначально встроен в систему и доступен через powershell.
вызов функции из пространства имен (https://msdn.microsoft.com/en-us/library/gg145021(в=против 110).аспн)
Add-Type -AssemblyName System.Speech
создать экземпляр объекта
$synth = New-Object -TypeName
System.Speech.Synthesis.SpeechSynthesizer
вызовите функцию и введите свои слова в качестве аргумента.
$synth.Speak('hey man')
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]