A web interface for GLaDOS text-to-speech with AI conversation capabilities. Talk to GLaDOS in your browser and hear her iconic voice respond with characteristic passive-aggressive wit.
This project is a modified fork of R2D2FISH/glados-tts, the original GLaDOS TTS engine using neural network-based speech synthesis.
What's different in this version:
- Web UI for browser-based interaction
- AI conversation mode powered by Claude
- just command runner for easy task automation
- uv for fast Python package management
- Python 3.8+
- uv - Fast Python package manager
- just - Command runner
- Claude Code - Required for AI conversation mode (optional)
- Bun - Required for Voice Generator local setup (optional)
- Docker - For containerized deployment (optional)
git clone https://github.com/HelgeSverre/glados.git
cd glados
# Install dependencies and download models
just setup
# Start the web server
just serveThen open http://localhost:8765 in your browser.
| Command | Description |
|---|---|
just setup |
Install dependencies and download models |
just install |
Install Python dependencies with uv |
just download-models |
Download and extract models from Google Drive |
just serve |
Start web server |
just say "text" |
Say something in GLaDOS's voice |
just speak "text" |
Have GLaDOS respond to you (AI mode with Claude) |
just clean |
Clean up generated audio files |
just docker-build |
Build Docker image |
just docker-up |
Start Docker container |
just docker-up-detached |
Start Docker container in background |
just docker-down |
Stop Docker container |
just docker-logs |
View Docker logs |
| Command | Description |
|---|---|
just voice-setup |
Install Bun dependencies for voice generator |
just voice-start |
Start both web server and TTS worker |
just voice-serve |
Start voice generator web server only |
just voice-worker |
Start TTS worker only |
just voice-dev |
Start web server in development mode (hot reload) |
just voice-clean |
Clean generated audio files and database |
just voice-docker-build |
Build voice generator Docker image |
just voice-docker-up |
Start voice generator Docker container |
just voice-docker-up-detached |
Start voice generator container in background |
just voice-docker-down |
Stop voice generator Docker container |
just voice-docker-logs |
View voice generator Docker logs |
| Command | Description |
|---|---|
just viz |
Run aperture eye visualizer (watches for new audio) |
just viz-file <file> |
Run aperture eye visualizer with specific audio file |
Run GLaDOS in a Docker container:
# Build and start
just docker-build
just docker-up
# Or in one command with docker compose
docker compose up --buildThen open http://localhost:8765 in your browser.
To run in background:
just docker-up-detached
just docker-logs # view logs
just docker-down # stopNote: AI conversation mode requires Claude Code CLI and is not available in Docker. The Docker version supports TTS-only mode through the web interface.
The Voice Generator is a standalone web application for batch generating GLaDOS voice lines. It features an Aperture Science-themed UI where you can queue up text, and a background worker processes them into audio files.
Features:
- Web UI for submitting text to synthesize
- Background TTS worker processes jobs from a queue
- SQLite database for job tracking
- Generated audio files can be played in-browser or downloaded
- Fully containerized with Docker support
Requires Bun for the web server:
# Install dependencies
just voice-setup
# Start both web server and TTS worker
just voice-startThen open http://localhost:3000 in your browser.
Run the voice generator in a Docker container with no host dependencies:
# Build and start
just voice-docker-build
just voice-docker-up
# Or with docker compose directly
cd voice-generator && docker compose up --buildTo run in background:
just voice-docker-up-detached
just voice-docker-logs # view logs
just voice-docker-down # stopThe Docker container includes both the Bun web server and Python TTS worker. Generated audio and the SQLite database are persisted via volume mounts.
An audio-reactive aperture eye visualizer that responds to GLaDOS's voice. The iris contracts and expands based on audio amplitude, creating an immersive visual experience.
Keyboard Controls:
SPACE- Replay audioESC- Quit- Drag-and-drop WAV files onto the window to play them
The neural network TTS models are from the original glados-tts project. See that repo for details on training data and model architecture.
If you prefer manual setup:
- Download the model files from Google Drive and unzip into the repo folder
- Install dependencies:
uv pip install -r requirements.txt - Run the server:
uv run python web/server.py
