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 Portal Wiki article on GLaDOS for more information.
Because of the inefficient process used to generate voice lines (see below), it takes about ~10 minutes to generate a single line, and many people may use this generator at the same time. Thus, when you ask the server to generate a voice file, it adds your request to the end of the request queue. Your message will be synthesized when it moves up to the first position in the queue, which can take a while. Entering your email is a way for the server to notify you about the completion of the process. If you do not enter any email, you will not be notified and will have to check the list of processed messages regularly.
Hello, and welcome to my ASMR experiment. We are ready to begin processing.
Simon it is time to get up
The full list of processed messages (with downloads) is available here.
Web server is up, database server is up, synthesis server is down.
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.
How is the voice generated?
There are varioustutorials around the web on how to do this. Here is such a tutorial (as a YouTube video):
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.
The server is running Linux, so it has to run a Windows virtual machine, and launch Melodyne inside the VM.
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 file is uploaded back to the web server, which stores it and sends a notification email if an email address was provided..