GLaDOS-Terminal is a chatbot that brings the iconic GLaDOS personality to life through a retro terminal interface. Designed from the ground up, this project uses custom AI models and graphics to simulate realistic conversations with the infamous AI from the Portal games.
- Completely Custom Experience:
- The visuals are built entirely using
pygame
and a fully originalmoderngl
screen shader inspired by the Portal end credits. - The GLaDOS voice is generated in real-time using custom fine-tuned Tacotron 2 and HiFi-GAN models, which I’ve modified and improved through my own forks for higher accuracy and fidelity.
- The visuals are built entirely using
- AI-Driven Personality:
- Powered by the
llama3.2:3b
model throughollama
, GLaDOS’s responses are true to her character. - A custom system prompt ensures the personality feels authentic and recognizable.
- Powered by the
- Dynamic Voice Generation:
- Speech synthesis creates the authentic GLaDOS voice in real time, ensuring seamless conversation flow.
- The Tacotron 2 and HiFi-GAN models are automatically downloaded on first launch for convenience.
- Immersive Aesthetic:
- The retro terminal look and scrolling system messages help capture the atmosphere of Aperture Science that we all know and love.
This program is designed to run on modern hardware, as it uses multiple resource-intensive components:
- Real-time text-to-speech with Tacotron 2 and HiFi-GAN
- AI responses generated by llama3.2:3b via
ollama
- A custom moderngl screen shader for the retro visuals
- Recommended Hardware:
- A multi-core processor (Quad-Core or better)
- At least 8GB of RAM, though 16GB is preferred
- A capable GPU for running the graphics and AI efficiently
- Running this program on older or underpowered systems may result in poor performance or crashes.
-
Clone this repository:
git clone https://github.com/LuckeyDuckey/GLaDOS-Terminal.git cd GLaDOS-Terminal
-
Install dependencies from the requirements file:
pip install -r requirements.txt
-
Install Pytorch from official website, instructions can be found here.
-
Ensure ollama is installed and running on your system. Installation instructions can be found here.
-
Run the program:
python Main.py
The voice models and language model will automatically download on first launch.
Note for Non-Programmers:
This project may be challenging to set up if you’re unfamiliar with Python or command-line tools. I plan to release a pre-packaged executable (.exe) soon to make the program easier to use for everyone.
The Tacotron 2 and HiFi-GAN models used in this project will not auto-update. When updates are available, they will be announced here, and you'll need to modify your Settings.json file to use the newer models.
Model | Google Drive ID | Description | Release Date |
---|---|---|---|
Tacotron 2 | 1qJ-xUTr2sbQZZddf2Ppw7p4_NJJK7Yjc |
Fine-tuned for GLaDOS’s voice | 18/11/2024 |
HiFi-GAN | 1FXfncncGh5LxrL5GkAo4gcBFPUAgFibG |
Enhanced fidelity for synthesis | 18/11/2024 |
Stay tuned for future model improvements and new features!
This project is actively developed, and planned updates include:
- Executable Release: A user-friendly .exe version for non-programmers.
- Enhanced Voice Models: Potential updates to the Tacotron 2 and HiFi-GAN models for better voice quality.
If you encounter any issues or have questions, feel free to contact me and ill try help.
This project is licensed under the MIT License. See the LICENSE file for more details.
- Valve Corporation for the Portal series, which inspired this project.
- Developers of Tacotron 2, HiFi-GAN, and llama3.2:3b, whose work made this possible.
- The Python and open-source communities for libraries like
pygame
,moderngl
, and more.