Welcome to the Calling Assistant Bot project! This is an intelligent, audio-based conversational assistant designed specifically for IGNUS, IIT Jodhpur's electrifying annual cultural fest. π
The bot seamlessly interacts with potential attendees over audio, providing details about the fest and gauging their interest in ticket purchases. It's smart, efficient, and powered by cutting-edge AI! π
π Audio Recording: Detects speech automatically and records user responses.
π Transcription: Converts recorded audio into text with AssemblyAI.
π€ AI-Generated Responses: Uses Google Gemini AI for natural, conversational replies.
π§ Text-to-Speech: Brings the bot to life with ElevenLabs API, generating human-like audio responses.
ποΈ Ticket Interest Assessment: Summarizes the user's likelihood of purchasing tickets for IGNUS.
- AssemblyAI: For transcribing audio files.
- Google Generative AI (Gemini): For crafting engaging conversational responses.
- PyPDF2: To extract detailed information from IGNUS PDF documents.
- Pygame: For smooth audio playback of the bot's responses.
- Pyaudio: Captures live audio directly from the microphone.
- Requests: Communicates with APIs like ElevenLabs.
- Numpy: Efficiently processes audio data.
π AssemblyAI API Key: Sign Up Here
π Google Gemini API Key: Sign Up Here
π ElevenLabs API Key: Sign Up Here
Store your API keys securely in an .env
file:
ASSEMBLY_AI_KEY=your_assembly_ai_key
GEMINAI_API_KEY=your_google_gemini_key
ELEVENLABS_API_KEY=your_elevenlabs_key
Follow these steps to set up the Calling Assistant Bot on your local machine:
-
Clone the repository π:
git clone https://github.com/your-username/IGNUS-Assistant-Bot.git
-
Navigate to the project directory π:
cd IGNUS-Assistant-Bot
-
Install dependencies π¦:
Ensure you have Python installed on your system. Then, run:
pip install -r requirements.txt
-
Set up API keys π:
Create a
.env
file in the root directory and add the following variables:ASSEMBLY_AI_KEY=your_assembly_ai_key GEMINAI_API_KEY=your_google_gemini_key ELEVENLABS_API_KEY=your_elevenlabs_key
-
Verify installation β :
Run the following command to check if everything is set up correctly:
python ignus_assistant.py --check
This will test API connections and display readiness.
Hereβs how to start and use the bot:
-
Run the bot π₯οΈ:
Start the assistant by running:
python ignus_assistant.py
-
Interactive conversation π£οΈ:
- The bot will greet the user and initiate the conversation.
- Speak clearly when prompted, and the bot will capture your responses.
-
Real-time transcription and reply π:
- Your voice input will be transcribed and processed.
- The bot will generate a conversational response and play it back to you.
-
Ticket assessment summary ποΈ:
After the conversation concludes, the bot will evaluate your interest in purchasing tickets and provide a summary.
The Calling Assistant Bot is powered by advanced AI technologies and works in the following steps:
-
Conversation Kickoff π€:
The bot greets the user and introduces them to the highlights of IGNUS, using information extracted from a PDF document. -
Audio Input π£οΈ:
Users respond verbally, and their speech is recorded using the microphone. -
Transcription βοΈ:
The bot sends the recorded audio to AssemblyAI, which converts it into text for further processing. -
AI-Generated Response π€:
The transcribed text is processed by Google Gemini AI, which generates an intelligent and context-aware response. -
Text-to-Speech Conversion π:
The response text is converted into natural-sounding speech using ElevenLabs API and played back to the user. -
Interest Evaluation π:
Based on the userβs responses, the bot determines their interest in purchasing tickets and prepares a final summary.
Check out a quick demo of the Calling Assistant Bot in action:
- Bot: "Hello! This is a call from IIT Jodhpur regarding our upcoming cultural fest, Ignus. Can we take a moment to talk about it?"
- User: "Sure, Iβd like to know more."
- Bot: "Ignus is a vibrant cultural extravaganza featuring diverse events and renowned artists. Are you interested in attending?"
- User: "Yes, it sounds exciting!"
At the end, the bot provides a detailed summary of the conversation and highlights ticket interest. π
You're all set to run and interact with the Calling Assistant Bot! π
We would like to thank the following platforms and tools for making this project possible:
- AssemblyAI π: For providing high-quality transcription services.
- Google Gemini π€: For its exceptional generative AI capabilities.
- ElevenLabs ποΈ: For lifelike text-to-speech services.
- Pygame π§: For smooth audio playback.
β If you found this project helpful, donβt forget to give it a star! β