OS X `say` command for Windows

PTTS is a very simple Microsoft Windows command line program to convert text to speech. If uses the Microsoft Text to Speech Engine and the Microsoft Speech SDK. The Text to Speech Engine is installed with Windows XP with one voice of somewhat poor quality. The Jampal installation program includes two better sounding voices. (quoted from website)

One can use it by simply entering the text into the program by redirection or by piping in text:

ptts < file.txt
echo Hello there|ptts

This question was asked on Stack Overflow. I like the answer with the VBS script.

Also, espeak is available for Windows and Linux and has been ported to OS X. I don't believe it uses the built-in Windows TTS engine.


I've created a simple Batch Script for doing this. Here's the source code

@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

Save this script in a file called "speak.bat" and move it to a directory referenced by your PATH variable.

This program creates a simple vbs with your input, then speaks it with system voice. At the end of the execution, the script will be deleted to give space for another execution.