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?
Asked
Active
Viewed 380 times
1
sdfsdf
- 109
1 Answers
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).
Kamil Maciorowski
- 81,893
Talos Potential
- 201