Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I use Mac's Text to Speech function a lot. Under Settings > Speech > Text to Speech I also have set a "Key" for quick access.

Since I also want Text to Speech to read German and OS Lion offers Voices for other languages, I would like to have a second shortcut for German.

Does anyone know where I can set this? Or is the only way to constantly change the System Voice before I want a German text to be read? (And then reset the voice to Alex for English texts)


share|improve this question

2 Answers 2

Kind of old post and maybe you have found a solution already. One way to simplify this is with Automator.

Open Automator, choose Service, Service receives selected text, drag action "Speak Text" to build worklow select Voice (for example: Ryan Speaking) Save

Repeat with different voices.

(The Services List can be edited/cleaned up with Service Scrubber Application and partly under System Preferences > Keyboard > Keyboard Shortcuts > Services)

Edit: Now that you have two or more Voices under the Services Menu, you can go to: System Preferences > Keyboard > Keyboard Shortcuts > Application Shortcuts and create a new Shortcut for each voice.

So far, it works like this on my machine (OS 10.6.8): Default System Voice: Ryan (Infovox) Shortcut Selected in Speech Pref to Control+S. This starts and stops English text.

The German voice I have assigned Control+Y (Yannick voice from Lion OS). Control+Y starts German voice for German selected text; which can be stopped by clicking the main start/stop shortcut twice, here Control+S+S. The reason for twice is because pressing it once starts the English voice over the German voice. That's the best I could come up so far. Make sure the shortcuts don't conflict with other shortcuts. You will notice that the additional shortcut allows you to start several voice threads, talking over each other plus the default system voice, which drives up processor activity, but no problem if one remembers to stop the speaking by double-executing of the shortcut for the default voice.

Not sure if this works system-wide, but works in my browsers, Mail, and the BookReader app I'm using.

Edit 2: I have noticed that when activating a secondary text-to-speech voice via the Automator Service the Automator Runner process drives up processor activity to above 100% with fans speeding up. Not sure if there is a solution to this.

share|improve this answer
Can you add a screenshot of your Automator workflow? With Automator this is usually easier to understand than a textual description –  patrix Nov 27 '12 at 4:27

As Mikofox mentioned, you can make an Automator service for speaking text:

There is a bug in 10.8 and 10.7 where the shortcuts for Automator services don't always work until you hover over the services menu from the menu bar.
WorkflowServiceRunner can also use over 100% CPU when speaking text.

I have used FastScripts to assign a shortcut to this script:

try -- if the clipboard is empty, trying to get it results in an error
    set old to the clipboard as record
end try
    tell application "System Events" to keystroke "c" using command down
    delay 0.05
    set input to the clipboard
        set the clipboard to old
    end try
    say input using "Kyoko"
end try

Another option is to just run something like pbpaste | say -v kyoko.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.