How To Make Your Mac Speak For You

How To Make Your Mac Speak For You

Mac: My roommate recently lost her voice, which has been challenging since we talk a lot to each other. We came up with a solution to get her Mac to talk for her. This is easy enough if you just use the TextEdit app included with OS X, but there are a couple of more convenient solutions.

The simplest option is to buy an app called Type ‘n’ Tell, available on the Mac App Store for $0.99. It really ought to be free, seeing as it does very little that the operating system doesn’t already, but it’s perfect for those occasions when you lose your voice and need to communicate. All you do is type what you want to say, press return, and the computer speakers it. You can even pin the windows to the top of your screen at all times for quick and easy access.

Alternatively, your best free option is to assign a keyboard shortcut to TextEdit’s speech command. To do this, follow these instructions:

  1. Open System Preferences and go into the Keyboard section.
  2. Click the Keyboard Shortcuts, and then choose Application Shortcuts from the left-hand list
  3. Below the righthand list, click the + button.
  4. When new options appear, enter “Start Speaking” (without quotes) under the “Menu Title” area. Also enter a keyboard shortcut of your choice. When finished, click the Add button.

When you’re finished, just select any text in TextEdit and press the keyboard shortcut you chose. It requires a little more work and is a little less convenient than the app you can buy, but if you don’t want to pay anything to make your computer speak for you this is the way to go.


  • That, or you could just create an AppleScript:

    property currentVoice : “Vicki”
    set systemVoices to {“Agnes”, “Albert”, “Alex”, “BadNews”, “Bahh”, “Bells”, “Boing”, “Bruce”, ¬
    “Bubbles”, “Cellos”, “Deranged”, “Fred”, “GoodNews”, “Hysterical”, “Junior”, “Kathy”, ¬
    “Organ”, “Princess”, “Ralph”, “Trinoids”, “Vicki”, “Victoria”, “Whisper”, “Zarvox”}

    activate me
    set theResult to display dialog “Say What?” default answer ¬
    “” buttons {“Quit”, “Speak”, “Change Voice”} ¬
    default button “Speak” cancel button “Quit”
    if button returned of theResult is “Quit” then
    exit repeat
    else if button returned of theResult is “Change Voice” then
    set currentVoice to item 1 of ¬
    (choose from list systemVoices with prompt “Choose new voice.”)
    end if
    if text returned of theResult is not “” then
    say text returned of theResult using currentVoice volume 1
    end if
    end repeat


Log in to comment on this story!