Skip to main content

A Python voice assistant with GUI

Project description

🎙️ ELARA – Voice Assistant - GUI - Python

ELARA is a modern Python-based voice assistant with a sleek graphical interface. It supports voice commands such as playing music, telling time, searching Wikipedia, and cracking jokes — all with spoken responses and intuitive GUI interactions.

alt text

✨ Features

  • 🎧 Voice command recognition via microphone
  • 🗣️ Speech responses using text-to-speech
  • ⏰ Tells you the current time
  • 🎵 Plays YouTube videos by voice command
  • 📚 Answers factual questions using Wikipedia
  • 😂 Tells jokes with pyjokes
  • 🖥️ Stylish and responsive tkinter-based GUI
  • 👥 User role selector (Admin / User / Guest)

🛠️ Installation

1. Clone the repository

git clone https://github.com/iamafridi/Elara-virtual-assistant-GUI.git
cd Elara-virtual-assistant-GUI

2. Install dependencies

pip install -r requirements.txt

💡 If you encounter issues with pyaudio, try:

  • Windows: pip install pipwin then pipwin install pyaudio
  • macOS/Linux: Ensure PortAudio is installed via brew or apt

🚀 Usage

Option 1: Run with GUI (Recommended)

python gui_main.py

Option 2: Run in terminal (headless mode)

python main.py

🎤 How to Use

  1. Say "Elara" followed by a command.
  2. Try things like:
    • Elara play Shape of You
    • Elara what time is it?
    • Elara tell me about Python
    • Elara tell me a joke
  3. Use the GUI to:
    • View conversations
    • Select user roles
    • Start or stop listening
    • Clear the chat history

📁 File Structure

elara-voice-assistant/
├── gui_main.py       # Modern GUI version of Elara
├── main.py           # Command-line based Elara
├── requirements.txt  # List of Python packages
└── README.md         # Project documentation

📦 Requirements

  • Python 3.8 or higher
  • Dependencies in requirements.txt:
    • pyttsx3
    • SpeechRecognition
    • pywhatkit
    • wikipedia
    • pyjokes
    • pyaudio (requires PortAudio)

Install them with:

pip install -r requirements.txt

🧠 Inspiration

This project was built to mimic essential features of commercial voice assistants like Alexa or Siri, but entirely using open-source Python libraries, offering both flexibility and educational value.


🪪 License

This project is licensed under the MIT License. You are free to use, modify, and distribute it with proper attribution.


🙌 Acknowledgments

Thanks to the open-source community and the developers behind the libraries used:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elara_voice_assistant-0.1.2.tar.gz (3.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elara_voice_assistant-0.1.2-py3-none-any.whl (2.9 kB view details)

Uploaded Python 3

File details

Details for the file elara_voice_assistant-0.1.2.tar.gz.

File metadata

  • Download URL: elara_voice_assistant-0.1.2.tar.gz
  • Upload date:
  • Size: 3.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for elara_voice_assistant-0.1.2.tar.gz
Algorithm Hash digest
SHA256 1db69bb5403e324dea2ef7dd8cfeafe035abd818e783d3c6fb7e587c4766f87d
MD5 7af0dc60fa71aad880671af841265e74
BLAKE2b-256 81fcb4da965ad4844b52490c1de1834f12d52f308931b4f96a0231dc840c7b07

See more details on using hashes here.

File details

Details for the file elara_voice_assistant-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for elara_voice_assistant-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1374aaf91c68236cc011c5142ecab1e07e2b59fa4ea50e8852af5183a64836b2
MD5 0e3fe6c3e7da902908d9b29d757cf1a9
BLAKE2b-256 801e92b444a67596708acc973b7ccb4b54c0679aff49d111d0455d4e124ec4b2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page