14
say -v Alex "Hello"

Is there a way to change the speed of speech like there is in the speech settings of System Preferences -> Date & Time -> Clock -> Customize Voice?

enter image description here

karel
  • 13,390
  • 26
  • 45
  • 52
Space Devin
  • 243
  • 1
  • 2
  • 6

3 Answers3

23

Yes, there is. The command

say -v Alex "Hello" -r 200

will cause the voice Alex say "Hello" at a rate of 200 words/minute.

Giacomo1968
  • 53,069
  • 19
  • 162
  • 212
Victor Wilson
  • 556
  • 4
  • 5
10

There is also an embedded speech command for changing the rate:

say '[[rate 200]] hello'
Lri
  • 40,894
  • 7
  • 119
  • 157
  • 1
    Unfortunately, most of the new voices added by Apple since 10.6 will ignore embedded commands for speech rates and phoneme preferences. :( Really annoying, since I love the Fiona voice pack, but she occasionally mis-pronounces some words so horribly that they're unrecognisable. :( – Benjamin Nolan Mar 31 '14 at 22:30
  • Interestingly, this works in HTML documents with Apple Speech Synthesis hotkey and the JS Speech Synthesis API. – joeyhoer Nov 20 '17 at 21:34
  • Seems to work as of 10.12, even with the very realistic voices like Thomas. Super creepy at 40 wpm :D – iwasrobbed Apr 26 '18 at 02:24
  • doesn't seem work (nor does `--rate` with localized voices such as Luca and Alice) on 10.14 – riffraff Jul 26 '19 at 08:14
  • 2
    It's okay with me to use `say "[[rate +500]] hello"` ;) As the document says. – wind2412 Sep 15 '19 at 02:54
  • I'm on 11.5 and the + added by @wind2412 is the only thing that worked for me – catgofire Jun 18 '22 at 00:25
  • Interesting thing to note is that this method only changes the speed in increments of 50 wpm, unlike the `--rate` flag – Eric Xue Jun 19 '23 at 01:27
0

FWIW: I'm on Big Sur and the -r/--rate is simply ignored. However, the embedded command as described by @lri still works.

P.S. I see in an earlier comment that 10.13 also had that issue. Well...

qwerty_so
  • 222
  • 2
  • 11