OS X ' say ' команда для Windows

say команда, пожалуй, самая замечательная особенность OS X терминала - он принимает текст в качестве входных данных и говорит его через динамики компьютера. Есть ли эквивалентный инструмент командной строки в Windows, Встроенный или через стороннюю программу?

29
задан nhinkle
28.12.2022 2:58 Количество просмотров материала 2624
Распечатать страницу

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
5
отвечен bubu 2022-12-29 10:46

этот вопрос задавался при переполнении стека. Мне нравится ответьте скриптом VBS.

и espeak доступен для Windows и Linux и был перенесен на OS X. Я не верю, что он использует встроенный движок Windows TTS.

2
отвечен Dennis Williamson 2022-12-29 13:03

Я создал простой пакетный скрипт для этого. Вот исходный код

@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 с вашим входом, а затем говорит с системным голосом. В конце выполнения сценарий будет удален, чтобы освободить место для другого выполнения.

2
отвечен Alessandro Mascolo 2022-12-29 15:20

у них есть эта библиотека в 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')
1
отвечен AEGIS 2022-12-29 17:37

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх