This is a Flash animation containing some audio files generated by:Link
: GLaDOS Voice GeneratorThe motivation
: I've read some tutorials around the web on how to generate such GLaDOS-y sound files, and they're perfect, save one thing: sound files have to be created manually (using a text-to-speech software or recording from microphone, then applying effects). That's perfect for mapmaking, but what I would really love to have is a direct GLaDOS text-to-speech tool that I could use for stuff like reading my news, telling me how many emails I have in the morning, reading their subject lines, etc. So, of course, it would be pretty pointless to create these sounds by hand...
So I've dropped the idea for a while (that was somewhere mid-2008). But every few month, I'd stumble upon a random Portal-related video on YouTube for some reason... and I'd inevitably hear GLaDOS's voice again, and the idea would come back to me.
This happened again 2 days ago, and this time I swore to myself I'd just do the damn thing. I happened to have set up a server with a graphical environment a few months ago, which would allow me to run graphical applications (I'm looking at you, Melodyne), so all I needed to do was to automate the text synthesizing part (easy), then importing that file into Melodyne (easy), and then creating a script that would know where to click or what button to press to apply the effects needed to get the GLaDOS effect I want (much harder). But I gave it a shot, and while it is painfully slow (the server is running Linux, so it has to run Melodyne through Wine, and its processor isn't exactly a beast either), so it can take up to 5 minutes for one message to be synthesized. That is fast enough for my needs alone, but now what if I wanted to let others profit from my work? That's what I told myself yesterday, so I coded up a little queuing web-based front-end for the thingy. It queues up messages and slowly processes them on a first-come-first-serve basis. And today, it's complete!Description:
This tool lets you type in some text, and the server will generate a GLaDOS-like reading of the text.
Who/what is GLaDOS? The main antagonist in Portal
, a video game by Valve
. See the Wikipedia article on GLaDOS
for more information.About GLaDOS's voice
: GLaDOS was voiced by Ellen McLain
, a professional voice actress. This tool is automated, thus cannot rely on professional voice acting; instead, it uses text-to-speech synthesis to generate a female voice, then distorts it to make it more GLaDOS-like. This process is quite long and obviously produces results of poorer quality than the voice you hear in Portal; do not expect Portal perfection.The technique
: There are various tutorials
around the web on how to do this. There's also a video tutorial here
The problem is that this method makes use of GUI (graphical user interface) software, which cannot be easily automated. What this tool does is, indeed, to automate them anyway, despite the shortcomings of such a method. Here is what happens when you enter a message in the form above:
- The message gets queued in a database.
- The queue is processed at regular interval through a script ran with a cron job.
- Once the message arrives in front of the queue, the server generates the initial voice sound file using Festival with the nitech_us_slt_arctic_hts voice.
- The server is running Linux, so it has to run an X server and launch Melodyne through Wine.
- A Python script takes care of opening the file in Melodyne and to apply the method described in the tutorial, using shortcut keys when possible, or by taking screenshots to determine where to click on screen when there is no shortcut key to perform a certain action.
- The Python script then exports the file as a 44,100 kHz 16-bit linear PCM .wav file
- The cron job script picks up the file and sends a link to it by email to the recipient.
- Done. The server moves on to the next message, if any.
are property of Valve