1

Это то, что я вроде ищу, но работает только в терминале. Существует ли команда defaults write которая позволяет изменять скорость речи?

1 ответ1

0

Так что я понимаю, что вам нужно, чтобы ваш Mac говорил быстрее при использовании обычной команды "начать говорить" (или Alt+Esc)? Если так, я сделал видео, объясняющее, как сделать это с помощью рабочего процесса, а также как это устранить.

По сути, я использую автоматизированный рабочий процесс, который дает терминалу команды из этого поста обмена стека. Пост использует этот скрипт:

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 - 

который я модифицировал для работы в automator (это выглядит так):

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

Конечной целью является рабочий процесс (опубликованный выше), чтобы дать пользователю более простое взаимодействие с теми же возможностями, что и команда терминала.

Таким образом, я построил рабочий процесс автоматизатора, который делает то, что вы хотите, чтобы он делал. Если вы не понимаете ничего из этого поста, просто посмотрите видео (первая ссылка).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .