Skip to content

LuckeyDuckey/GLaDOS-Terminal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GLaDOS-Terminal

alt text alt text alt text alt text

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.

alt text

Features

  • Completely Custom Experience:
    • The visuals are built entirely using pygame and a fully original moderngl 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.
  • AI-Driven Personality:
    • Powered by the llama3.2:3b model through ollama, GLaDOS’s responses are true to her character.
    • A custom system prompt ensures the personality feels authentic and recognizable.
  • 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.

Getting Started

Requirements

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

Performance Considerations

  • 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.

Installation

  1. Clone this repository:

    git clone https://github.com/LuckeyDuckey/GLaDOS-Terminal.git
    cd GLaDOS-Terminal
  2. Install dependencies from the requirements file:

    pip install -r requirements.txt
  3. Install Pytorch from official website, instructions can be found here.

  4. Ensure ollama is installed and running on your system. Installation instructions can be found here.

  5. 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.

Model Updates and Timeline

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.

Current Models (Initial Release)

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!

Future Updates

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.

Support

If you encounter any issues or have questions, feel free to contact me and ill try help.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Acknowledgments

  • 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.

About

A retro-style chatbot based on GLaDOS from Portal

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published