Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 

Repository files navigation

🎙️ RoundTable-AI: 1930 London Conference Simulator

RoundTable-AI is an interactive, multi-agent historical simulation that brings the 1930 London Round Table Conference to life. Instead of just reading history, users step into the room as an equal speaker, debating constitutional reforms, separate electorates, and self-rule alongside key historical figures powered by AI.


🎯 Project Purpose & Introduction

The goal of this project is to create an immersive, roleplay-driven educational tool. It uses a Large Language Model to orchestrate multiple distinct historical personas simultaneously while keeping track of an evolving political debate.

Every time an AI character speaks, the system synthesizes their response into high-quality, realistic audio matching their persona, creating a turn-based interactive audio-drama where your arguments directly change the course of the simulation.


✨ Features

  • Multi-Agent AI Debate: Dynamic, turn-based historical roleplay powered by Google Gemini 1.5 Flash. The AI autonomously handles shifts in focus, counters arguments, and handles floor turn-overs.
  • Realistic Voice Synthesis: Every character response is generated with custom voice IDs via the ElevenLabs API and spoken aloud in real-time.
  • Dynamic AI Relationships: Characters don't just speak linearly—they form alliances, criticize each other, react to the user, and interrupt based on context.
  • State & Flow Tracking: Uses a structured JSON pipeline behind the scenes to track the current debate tension, audience reactions (e.g., claps, murmurs), and political alliances.

🛠️ Tech Stack

  • Core LLM Engine: Google Gemini API (gemini-1.5-flash) — Orchestrates historical personas, context tracking, and response formatting.
  • Voice Synthesis Engine: ElevenLabs API — Generates realistic character audio pipelines.
  • Audio Playback: playsound — Handles local execution and playback of synthesized .mp3 files.
  • Backend Framework: Flask — Integrated and primed for future migration into an interactive web dashboard.
  • Language: Python 3.x — The primary backend and runtime logic pipeline.

🎭 Simulated Historical Personas

  • 🇮🇳 Mahatma Gandhi: Representing the Indian National Congress, advocating for unified self-rule and non-cooperation parameters.
  • 🛡️ Dr. B.R. Ambedkar: Fiercely championing political safeguards, constitutional guarantees, and separate electorates for the depressed classes.
  • 🌙 Muhammad Ali Jinnah: Focused on constitutional safeguards and specific representation criteria for the Muslim community.
  • ⚖️ Tej Bahadur Sapru: Acting as a brilliant liberal mediator trying to bridge the gaps between all parties.
  • 👑 Ramsay MacDonald: Directing the proceedings and pacing from the perspective of the British Chairmanship.

⚙️ How It Works (Behind the Scenes)

  1. User Input: The user enters their argument via the console.
  2. Context Pipeline: The application appends the argument to a continuous log file (Data.txt), which acts as the live memory pool for the LLM.
  3. State Machine Parsing: Gemini evaluates the entire log and returns a highly structured data envelope containing the speaker, statement, and the next selected speaker.
  4. Vocal Generation: The application routes the text to ElevenLabs matching the character's assigned voice ID, drops an audio chunk file locally, and fires it over your speakers.

Project Setup

Installation

Install the required packages using pip:

pip install google-generativeai playsound elevenlabs.client

Usage

  1. Run the main script:
python main.py
  1. Ensure you have an active audio output device connected and enabled.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages