This post is part of a series that revisits some of our readers’ favorite articles from the past that still contain awesome and relevant information that you might find useful. This post was originally published on July 16th, 2011.
When I was a kid playing around on my first Mac, I always thought it was loads of fun to have the computer read out whatever I’d written in KidPix (remember KidPix?). On my grown-up Macbook, I sometimes set up spoken alarms and alerts, so that I can imagine Stephen Hawking is telling me what time it is.
However, if you want to convert longer passages of text to speech, you might be in for some quality time with the command line (more on that later). There’s a decent amount of professional text-to-speech software out there, but it’s generally expensive, and mostly intended for business use or for people with disabilities. Today we’re going to go over some free and inexpensive options, and learn how to convert text to speech using TextEdit or the Terminal.
A quick Google search reveals fewer free options than I expected, given that text-to-speech is a native mac capability. Some of the highlights:
TypeIt ReadIt is a free application with a simplistic interface aimed at the visually impaired, with a font-size slider and text-viewing options. This app is also useful for quickly making text more readable by changing color, size, and fonts, and offers 1-click conversion to .aiff.
None of these apps are going to win any awards for interface design, but despite it’s unattractive appearance, TypeIt ReadIt was my favorite app of those I looked due to its extensive keyboard shortcuts.
Read4Me is an app recently available at the Mac App store, and is by far the most Mac-like application I found. Like similar apps, Read4Me is basically just a graphical interface for what your Mac can already do, but does offer a more pleasant experience than some of the other options.
In addition to reading text and exporting .aiff files, Read4Me has a “Coach” feature, which lets you add markers to the text to “help” the reader read more accurately. These features were a bit confusing to me, and I don’t think a lot of them worked. However, I was able to add pauses, mark passages to be read more quickly or slowly, and change the pitch of the voice (which almost always ends badly). Some of the other options seemed to either do nothing or just cause the reader to spell out words instead of reading them.
Read4Me can also open .txt, .rtf, .doc and .docx files and read them out loud. At $4.99, it doesn’t do a whole lot more for your money, but I’m sure some people will find that the few extra features are worth a couple of dollars. My primary complaint here is the lack of keyboard shortcuts.
2. Web Apps
I looked through a bunch of web apps and lists of web apps, but I couldn’t find a good one that allowed you to easily export to a sound file. If you’re just looking to have a couple lines of text read out loud, try the AT&T text-to-speech website, cepstral.com, or vosMe which allows you to download mp3 files of your text.
Text to Speech on the Mac
Mac computers have had advanced text-to-speech technology called PlainTalk built in since System 7, and the voices have improved quite a bit in the last few releases.
Snow Leopard introduced the “Alex” voice, which is much more natural sounding than any previous system voices (“Vicki” is the most natural female voice, “Fred” is the sci-fi, Stephen Hawking-like voice).
Select the “Alex” voice for the most natural-sounding reading.
3. Using TextEdit
To enable the “add to iTunes as spoken track” action from the services menu in TextEdit, open up System Preferences/Keyboard pick Services in the left column, and tick the checkbox for add to iTunes as spoken track under Text. Now when you select text in TextEdit, the option will be there under TextEdit/Services, and will ask you to name and save the file, then open it in iTunes.
Additionally, you can have TextEdit read any text file or selection to you by selecting Edit>Speech>Start Speaking from the menu.
4. In the Terminal
My new favorite Terminal command is “say,” sometimes my roommate and I creep each other out by cranking up the volume on our MacBooks and telling Terminal to say things when it’s really quiet. To get your Mac to say anything, just type “say” and then whatever you want.
say Hello World
To have a text file read out loud, just navigate to the directory and type “say -f” and the file name (the file must be UTF-8 encoded).
say -f text.txt
To convert a text file right into a .aiff file, type “say -f” then the file name, then “-o” and the path to the file you want to create.
say -f text.txt -o audio.aiff
While researching for this article, I was pretty surprised both by how powerful my computer’s native text-to-speech capabilities were, and by the lack of free or cheap third-party options. Though it’s pretty easy to convert text to speech using TextEdit or Terminal, you’d think that someone would have made a nice graphical interface for those functions, since they’re already built in.
There are a lot of much more powerful, expensive options out there, with more advanced speech rendering and exporting options, but for the average user, OSX ships with everything you need.
Do you think it’s worth $4.99 to do what your Mac already does a bit more conveniently? What do you use text-to-speech for? Has anybody created a simple AppleScript or Automator action to convert text to audio quickly? Let me know if I’ve missed any free or affordable text-to-speech options!