How to make Audiobooks on Mac OS X with the built-in Speech synthesis system voice

“How to make Audiobooks on Mac OS X with the built-in Speech synthesis system voice”

Yeah, there’s a title for ya!

Well this past weekend, I decided to take a bunch of text books I had, and make them into audio books.

I’ll cover some of the process because (by the lack of articles like this I found online) it’s not completely obvious to Mac users what they can do with the power of the built-in speech synthesis.

First off, if you are a Mac OS X user, in fact even in the earlier Mac OS (System versions to 9.2.2), you may know the Mac can read you stuff. This isn’t new, and it’s something Microsoft has since added to Windows (though the feature may be buried, like everything else cool copied from Apple from since around Windows Vista came out.. but that’s another rant, er, blog.)

Under the Mac OS X System Preferences, there is a control panel (under the System section) called, cryptically enough, “Speech”  — You can select a voice here, then select some text (from a few words to a whole document, it doesn’t matter) then hit your special hotkey, and viola, the Mac will read selected text.

There are some half way decent voices in Mac OS X, however I chose to grab a few more from Assistive Ware’s “Infovox”, which has some even nicer sounding system voices you can install to your Mac system. You can download a nice 30-day trial here. I chose the UK voices Peter and Graham, since my book has a sort of UK flair to it (as far as I gather) and the audiobooks I’ve heard from him before were narrated by Ralph Lister, who has a nice British sort of accent (link to his wiki page at the bottom of this blog article).

Now, other than the GUI, you can have the system voice read stuff by the built-in “say” console command. For example, if you open a Terminal window and type the following command line:

say StarLord's blog is the coolest thing since sliced bread!

.. then, your Mac will say that, or anything else you want to type into it. There’s options to this, of course, “man say” on the shell will give you a list of them.

Here is where the fun starts.

With option -f you can have say read a file!

With option -o you can have say output what it reads to a AIFF file, how cool is that?

So, for example, If I so happen to have John Norman‘s book “Raiders of Gor” broken into individual text files, I can then prompt the computer to read it to me, chapter by chapter, or in fact dump each chapter into an AIFF file like so:

say -o Chapter1.aiff -f "Chapter One The Blood Mark"

The command switch -o says to output what is spoken to a file (in my case, “Chapter1.aiff”), and the -f switch tells it what file to read (in my case, “Chapter One The Blood Mark”). When you hit RETURN then the computer happily works away reading your file and saving the audible output to a AIFF file in that directory.

Neato. Now, I will admit speech synthesis is vast improved from the days of SAM on the Commodore 64 computer, but it still isn’t quite perfect, well, not at these reasonable (free or inexpensive) prices!

Stomaching that, what I can do is take a whole directory of text files and output them to individual AIFF files, thereby making a sort of audiobook, which is what I eventually ended up doing. You see, my goal was to have an enjoyable audiobook that I could load into my iPod or iPhone or other device, and listen to it during those long boring hours of work where not much else requires my ears or active listening skills.

Thus, I was pretty excited, and grabbed my directories of text files (like this book.. though, heck you can have it read a blog, or whatever you want!) And, armed with the say program and a decent synthesized voice, I fired up a terminal window and started outputting each of the text files to AIFF.

Well, though I have a fairly good amount of free space on my Mac and Time Machine drives, I realize that the iPod and iPhone don’t have quite the unlimited capacity, and besides, the thought of transferring 1.66 Gb of AIFF files over USB wasn’t so exciting, so, I decided, hmm, maybe I can squish these files down by encoding them to MP3 or OGG or AAC or some such format. Okay, MP3 is fairly universal and I already had the LAME encoder installed, and I really hate using the bloated iTunes now that I’ve got myself setup with Songbird instead as my player of choice, so, what the heck, let’s go for MP3 to squish those big beautiful AIFF files down. This is an audio book anyway, it doesn’t need to be stereo hifi at a massive bitrate and audiophile quality settings, so a lower bitrate mono MP3 would be just fine, thanks.

But what program to use? Well, I like open-source (read: free) software, so I employed a program named MAX to do the conversion, and it did a very nice batch conversion of all 19 files in one go. There’s lots of programs that can do the conversion file-by-file (including iTunes, yes) but I like purpose-built stuff, and this one had lots of options for a control freak like me to program it and tell it exactly what I wanted each output file to end up. It even saved them in a iTunes-friendly directory structure, though, all I really wanted to do was convert my AIFFs to MP3s, which it did beautifully and quickly.

Ok, so now I just reduced the file sizes down a bit — Chapter One’s AIFF was 51.3 Mb, and the MP3 is only 9.8 Mb, the whole book of files were reduced down from the huge 1.66 Gb to about 320 Mb, nice!

Well, great, so, I have 19 files now of MP3 that I can load up to my iPod or iPhone or whatever device, and play them in a playlist, or, I could try and figure out how to make them all one big arse file. There are drawbacks to the MP3 format, like, you can bookmark them but you can’t really have chapter stops, ugh, AAC format does that of course, sigh, so I can end up using that just so it plays well with my iPod, or just join all of the MP3 files in order and make one big arse MP3 and hope I don’t loose my place…

Searching the net for a solution, I found a nifty little app called, surprisingly enough, Audiobook Maker. What it does, is take a whole mess of individual MP3 files and join them all together into a nice iTunes and iPod/iPhone friendly AAC file with chapter stops and the whole works. You simply pick the MP3 files, sort or order them as needed (they will be joined in the order you place them), hit “Make Audiobook” and bam, after a few minutes, you have yourself a nifty .m4b format audiobook file which you can play in iTunes or iPods or other devices that handle the format. Of course, you could have just joined the files with MAX earlier but I like the idea of having chapter marks, and this program does them for you automagically!

So to recap… how to make audiobooks from text files..

  1. Get a bunch of text files.

  2. Pick a system voice (or download others).

  3. Open up a terminal window and use the say command to output AIFFs of your textfile(s).

  4. Open up MAX to convert AIFFs to MP3s or other format file(s).

  5. Use Audiobook Maker to join those MP3s to a nice Audiobook with chapters and what not.

How much did this cost you? Nothing! All the programs are FREE woohoo I love opensource software. If you want links to each of these so you can download them, well just click on them from within this blog article where the links are, they bring you directly to that software’s page. Yay!

PS: Am I really making audiobooks out of all 30 of John Norman’s Gorean saga from text file books I obtained in SecondLife or some such Gorean place? Hmm, well no, not all of em! There are quite a few read nicely by Ralph Lister (which is much better than listening to a computer synth voice, but heck, this is the next best thing, and I really don’t feel like sitting here reading them all when I can have it read to me, hehe… I have no endorsement or affiliation with Audible, Brilliance Audio, or anyone or anything mentioned in this blog post, use said software or instructions at your own risk, blah blah blah.. this process worked well for my needs though, so there..)

 

Leave a Reply

Your email address will not be published. Required fields are marked *