Listening to the slush pile – Bulk converting manuscripts to audio

The “slush pile” is the pile of manuscripts sent to an editor for consideration. Since the call for submissions for the first issue of Primordial, I am receiving a lot of documents that I have to go through and read to see if they are suitable. Perhaps in the future, I will have some readers to go through the list for me and sort the good from the bad, but for now, I have to do it alone.

However, since I am also a programmer, I thought I could do something to make my life easier. I decided that I would automatically convert the manuscripts into audio files that I can listen to on my way to work. That way I can quickly filter the submissions during my busy day.

I use an Apple laptop most of the time. It comes with the “Terminal” application, where you can write unix commands directly. If you load Terminal in OSX, you can ask the computer to say something. If you type “say hello”, a voice synthesiser will literally say the word “hello.” Cool!

So, this is the process I went through:


Careful, some of these lines are long. Be sure you copy the whole thing.

You first need to navigate to the folder containing the manuscripts. If you don’t know how to do that, take a small tutorial in command line navigation.

Also, some commands might need to be downloaded. The easiest way to do this is to install brew:

/usr/bin/ruby -e "$(curl -fsSL"

Then you can install audio tools:

brew install ffmpeg

And you’re good to go.

1 – Convert spaces in filenames to underscores

Modern operating systems don’t mind spaces in filenames, but when dealing with them in a terminal, you have to be careful. You need quotes around names or other such precautions, so to make it simpler, we will just replace all spaces in filenames with underscores, then it won’t be a problem.

for f in *; do mv "$f" `echo $f | tr ' ' '_'`; done
2 – Convert all documents to .txt files

In the submission guidelines, I say that people can send their manuscripts in .doc, .docx, or .rtf files. So our second step is to convert them to easy to use .txt files.

for f in ./*.{doc,docx,rtf}; do textutil -convert txt $f; done
3 – Convert .txt files to .mp3 audio files using the “say” command

The final step is to use the inbuilt speech synthesiser to speak read the text files and store the audio in a file. This process takes a long time and you won’t hear anything, but when it finishes you will find audio files in the directory, ready for you to listen to.

for f in *.txt; do af="${f%.*}.aiff"; mf="${f%.*}.mp3"; say -f $file -o $af; lame -m m $af $mf; rm $af; done

You can actually change the accent, sex and speed of the voice synthesiser in the command, but I prefer to do that in settings. Load the “System Preferences” application, and click on “Accessibility” and then on “Speech.” Well, that’s for the version of OSX I am using. For you it may be different. I have no idea if this works in other languages. Let me know if it does.

If you are an editor, I hope this helps you get through your slush pile quicker. You can also use this to listen to notes if you are a student, get through academic papers if you are a researcher, or perhaps quickly sift through business reports on your commute to your job.

If it does help you, please let me know and send it to others who may benefit from it.

Leave a Reply

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