How to use the automator to create text-to-speech service that talks faster than the current service

applescriptautomatorservicestext to speech

The text-to-speech service has a speaking rate option that goes from slow to fast. But the fast option is not fast enough (its 300 words per minute).

I just tried to create a service. I simply dragged the "Speak text" action, saved it and tested it. It seems that my new service still relies on the speed option specified in the preferences.

Is there a way for me to tell it something like "render speech at 400wpm"

Best Answer

Do this:

  1. Remove the "Speak text" action.
  2. Add the "Run AppleScript" action.
  3. Clear all the default text in the action.
  4. Copy/paste this script in the action:
on run {input, parameters}
  repeat with thisText in input
      say thisText speaking rate 400
  end repeat
end run

If you want a specific voice, append using "SomeVoiceName" after the say command.

Example : say thisText speaking rate 400 using "Bruce" -- Bruce is a name of the voice