1

This is what I'm kind of looking for, but it only works in the terminal. Is there a defaults write command that allows you to change the speech rate?

sdfsdf
  • 109

1 Answers1

0

So what I understand is that you need your Mac to speak faster when using the normal "start speaking" command (or Alt+Esc)? If so, I made a video explaining how to do this with a workflow and also how to troubleshoot that.

Essentially, I use an automator workflow that gives terminal the commands from this stack exchange post. The post uses this script:

plutil -convert json ~/Library/Preferences/com.apple.speech.voice.prefs.plist -o - |
python -c 'import json, sys;d=json.load(sys.stdin);[x.__setitem__(-1, 500) for x in d["VoiceRateDataArray"]];json.dump(d, sys.stdout)' |
plutil -convert binary1 -o ~/Library/Preferences/com.apple.speech.voice.prefs.plist - 

which I modified to work in automator (it looks like this):

on run {input, parameters}

    tell application "Terminal"
        activate
        do script "defaults read com.apple.speech.voice.prefs VoiceRateDataArray 
plutil -convert json ~/Library/Preferences/com.apple.speech.voice.prefs.plist -o - | python -c 'import json, sys;d=json.load(sys.stdin);[x.__setitem__(-1, " & (the clipboard) & ") for x in d[\"VoiceRateDataArray\"]];json.dump(d, sys.stdout)' | plutil -convert binary1 -o ~/Library/Preferences/com.apple.speech.voice.prefs.plist - 

sleep 1
killall com.apple.speech.speechsynthesisd
killall SpeechSynthesisServer && exit
" in front window
    end tell

    return input
end run

The end goal being a workflow (posted above) to give the user a simpler experience with the same capabilities as the terminal command.

In summary, I built an automator workflow that does what you want it to do. If you don't understand any of this post, just watch the video (first link).