say [-v voice] [-o out.aiff | -n name:port ]
[--progress] [--interactive=markup ]
[-f file | string …]
Text to speech and either play it through the sound output device chosen in System Preferences or save it to an AIFF file.
-v voice
. Default is the voice selected in System Preferences.
Found in /System/Library/Speech/Voices/
-f file
to be spoken.
string text to speak on the command line. This can consist of multiple arguments, which are considered to be separated by spaces.
-o out.aiff
Specify an AIFF file to be written.
--progress
displays progress example: 11.2% 13.0B/s 0:00:07 ETA
-i
Print the text line by line during synthesis, highlighting words as they are spoken. Markup can be one of...
--interactive
--interactive=markup
o A terminfo capability as described in terminfo(5), e.g. bold, smul, setaf 1. o A color name, one of black, red, green, yellow, blue, magenta, cyan, or white. o A foreground and background color from the above list, separated by a slash, e.g. green/black. If the foreground color is omitted, only the background color is set. If markup is not specified, it defaults to smso, i.e. reverse video.
say -v '?' Agnes en_US # Isn't it nice to have a computer that will talk to you? Albert en_US # I have a frog in my throat. No, I mean a real frog! Alex en_US # Most people recognize me by my voice. Bad News en_US # The light you see at the end of the tunnel is the headlamp of a fast approaching train. Bahh en_US # Do not pull the wool over my eyes. Bells en_US # Time flies when you are having fun. Boing en_US # Spring has sprung, fall has fell, winter's here and it's colder than usual. Bruce en_US # I sure like being inside this fancy computer Bubbles en_US # Pull the plug! I'm drowning! Cellos en_US # Doo da doo da dum dee dee doodly doo dum dum dum doo da doo da doo da doo da doo da doo da doo Deranged en_US # I need to go on a really long vacation. Fred en_US # I sure like being inside this fancy computer Good News en_US # Congratulations you just won the sweepstakes and you don't have to pay income tax again. Hysterical en_US # Please stop tickling me! Junior en_US # My favorite food is pizza. Kathy en_US # Isn't it nice to have a computer that will talk to you? Pipe Organ en_US # We must rejoice in this morbid voice. Princess en_US # When I grow up I'm going to be a scientist. Ralph en_US # The sum of the squares of the legs of a right triangle is equal to the square of the hypotenuse. Trinoids en_US # We cannot communicate with these carbon units. Vicki en_US # Isn't it nice to have a computer that will talk to you? Victoria en_US # Isn't it nice to have a computer that will talk to you? Whisper en_US # Pssssst, hey you, Yeah you, Who do ya think I'm talking to, the mouse? Zarvox en_US # That looks like a peaceful planet. say --file-format=? 3gp2 3GPP-2 Audio (.3g2) [Qclp,aac,aace,aacf,aach,aacl,aacp] 3gpp 3GP Audio (.3gp) [Qclp,aac,aace,aacf,aach,aacl,aacp] AIFC AIFC (.aifc,.aiff,.aif) [lpcm,ulaw,alaw,ima4,Qclp] AIFF AIFF (.aiff,.aif) [lpcm] NeXT NeXT/Sun (.snd,.au) [lpcm,ulaw] Sd2f Sound Designer II (.sd2) [lpcm] WAVE WAVE (.wav) [lpcm,ulaw,alaw] adts AAC ADTS (.aac,.adts) [aac,aach,aacp] caff CAF (.caf) [Qclp,aac,aace,aacf,aach,aacl,aacp,alac,alaw,ilbc,ima4,lpcm,ulaw] m4af Apple MPEG-4 Audio (.m4a,.m4r) [aac,aace,aacf,aach,aacl,aacp,alac] m4bf Apple MPEG-4 AudioBooks (.m4b) [aac,aace,aacf,aach,aacl,aacp] mp4f MPEG-4 Audio (.mp4) [aac,aace,aacf,aach,aacl,aacp] say --file-format=caff --data-format=? Qclp Qualcomm PureVoice™, 1 channels aac AAC, 1 channels aace MPEG-4 AAC Enhanced Low Delay, 1 channels aacf MPEG-4 AAC Enhanced Low Delay With SBR, 1 channels aach MPEG-4 HE AAC, 1 channels aacl MPEG-4 AAC Low Delay, 1 channels aacp MPEG-4 HE AAC V2, 1 channels alac Apple Lossless alaw A-Law 2:1 ilbc iLBC, 1 channels, 8000 Hz ima4 IMA 4:1 lpcm Linear PCM ulaw μ-Law 2:1 say -o hi.m4a --bit-rate=? actually produced as a columnar list, edited here for simplicity(?)) 8000, 12000, 16000, 20000, 24000, 28000, 32000, 40000, 48000, 56000, 64000, 72000, 80000, 96000, 112000, 128000, 144000, 160000, 192000, 224000, 256000, 288000, 320000, 384000, 448000, 512000, 576000, 640000, 768000, 960000, 1280000
-n name
-n name:port
-n :port
-n :
name
(default AUNetSend
) and/or IP port
to be used for redirecting the speech
If the input is a TTY
, text is spoken line by line, and the output file, if specified, will only
contain audio for the last line of the input.
Speaking failed: -1
( return code 1 ) will occur if the input stream contains
characters outside the ASCII range of xx-yy, particulary x'92' (apostrophe) and x'96' (mdash)
inserted by some word processors. Since say
parses the entire file it will fail
without saying anything if objectionable characters occur anyway in the input without any indication of
where or how many there are.
tr -cd "[:print:]" < file |say
For example:
To create a file called sayWords
copy/paste this to a shell
cat << ++ > sayWords
Fri Sep 9 19:16:10 EDT 2016
In the year of our Lord 2016,
Mary had a little lamb,
a little bread and
a little jam.
++
SpeechDataDefaults.plistsay Albert says ; say -v Albert -f sayWords say alex says ; say -v alex -f sayWords say bruce says ; say -v bruce -f sayWords say fred says ; say -v fred -f sayWords say junior says ; say -v junior -f sayWords say Ralph says ; say -v Ralph -f sayWords say Kathy says ; say -v Kathy -f sayWords say Vicki says ; say -v Vicki -f sayWords say Victoria says ; say -v Victoria -f sayWords say agnes says ; say -v agnes -f sayWords say Princess says ; say -v Princess -f sayWords say news' bad news says ; say -v 'bad news' -f sayWords say bahh says ; say -v bahh -f sayWords say bells says ; say -v bells -f sayWords say boing says ; say -v boing -f sayWords say bubbles says ; say -v bubbles -f sayWords say cellos says ; say -v cellos -f sayWords say deranged says ; say -v deranged -f sayWords say -v hysterical hysterical says ; say -v hysterical -f sayWords say news' good news says ; say -v 'good news' -f sayWords say organ' pipe organ says ; say -v 'pipe organ' -f sayWords say Trinoids says ; say -v Trinoids -f sayWords say Whisper says ; say -v Whisper -f sayWords say Zarvox says ; say -v Zarvox -f sayWords say Sin-ji says ; say -v Sin-ji -f sayWords say Tekha says ; say -v Tekha -f sayWords say Lekha says ; say -v Lekha -f sayWords say Ting-Ting says ; say -v Ting-Ting -f sayWords say Milena says ; say -v Milena -f sayWords say Kyoko says ; say -v Kyoko -f sayWords say Sin-ji says ; say -v Sin-ji -f sayWords say Maged says ; say -v Maged -f sayWords say Mei-Jia says ; say -v Mei-Jia -f sayWords say Amelie says ; say -v Amelie -f sayWords say Alice says ; say -v Alice -f sayWords say Alva says ; say -v Alva -f sayWords say Anna says ; say -v Anna -f sayWords say Carmit says ; say -v Carmit -f sayWords say Daniel says ; say -v Daniel -f sayWords say Damayanti says ; say -v Damayanti -f sayWords say Ellen says ; say -v Ellen -f sayWords say Fiona says ; say -v Fiona -f sayWords say Joana says ; say -v Joana -f sayWords say Kanya says ; say -v Kanya -f sayWords say Karen says ; say -v Karen -f sayWords say Melina says ; say -v Melina -f sayWords say Moira says ; say -v Moira -f sayWords say Monica says ; say -v Monica -f sayWords say Nora says ; say -v Nora -f sayWords say Nora says ; say -v Nora -f sayWords say Paulina says ; say -v Paulina -f sayWords say Samantha says ; say -v Samantha -f sayWords say Sara says ; say -v Sara -f sayWords say Thomas says ; say -v Thomas -f sayWords say Tessa says ; say -v Tessa -f sayWords say Yuna says ; say -v Yuna -f sayWords say Veena says ; say -v Veena -f sayWords say Xander says ; say -v Xander -f sayWords say Zuzana says ; say -v Zuzana -f sayWords
-915 mavericks doesn't want to call say.
7/30/18 rc.local "Voice `alex' not found."