适用于 Windows 的 OS X `say` 命令

nhi*_*kle 26 windows terminal command-line

say命令可能是OS X终端上最引人注目的特点-它需要文本输入和讲它通过计算机的扬声器。Windows 上是否有任何等效的命令行工具,无论是内置的还是通过第三方程序的?

bub*_*ubu 6

PTTS是一个非常简单的 Microsoft Windows 命令行程序,用于将文本转换为语音。如果使用 Microsoft Text to Speech Engine 和 Microsoft Speech SDK。文本到语音引擎安装在 Windows XP 中,声音质量稍差。Jampal 安装程序包括两个更好听的声音。(引自网站)

可以通过简单地通过重定向或通过文本管道将文本输入到程序中来使用它:

ptts < file.txt
echo Hello there|ptts
Run Code Online (Sandbox Code Playgroud)

  • Nvm,想通了。您必须将其通过管道传输到程序。例如`echo Hello|ptts.exe`。我更喜欢一种让文本成为命令参数的方法,但如果没有办法做到这一点,这就足够了。 (2认同)

Ale*_*olo 5

我为此创建了一个简单的批处理脚本。这是源代码

@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
Run Code Online (Sandbox Code Playgroud)

将此脚本保存在名为“speak.bat”的文件中,并将其移动到 PATH 变量引用的目录中。

这个程序用你的输入创建一个简单的 vbs,然后用系统语音说话。在执行结束时,脚本将被删除,以便为另一次执行留出空间。


小智 5

我厌倦了让过时的工具工作,所以我创建了wsay.

它的工作原理是say,您可以选择不同的声音,并且可以轻松地输出到波形文件。

https://github.com/p-groarke/wsay/releases

干杯

  • 我喜欢有机会指定输出设备。 (2认同)
  • 导出为 WAV 正是我所需要的。没有废话。只需下载并运行! (2认同)