EVE is a personal AI assistant developed as the final project for CS50’s Introduction to Computer Science. It supports Persian and English, executing voice commands for tasks like opening websites, reading news, playing music, setting alarms, taking notes, sending emails, and controlling system settings. Built with Python, it integrates SpeechRecognition for voice input, pyttsx3 for speech output, Selenium for web automation, and a Tkinter-based GUI for interaction. While not a true AI, EVE efficiently processes commands using rule-based logic, making it a practical tool for productivity and entertainment.

Features & Capabilities

1. Language Selection (First Launch Experience)
  • When the application starts, the user can choose between Persian and English for interaction.
  • This ensures a seamless experience for both Persian- and English-speaking users.
2. “What Can You Do?” Webpage (Discover All Features at a Glance)
  • If a user asks “What can you do?”, a webpage opens listing all available commands.
  • This makes it easy for users to explore EVE’s capabilities.
3. Web Navigation (Control Browsing with Voice)
  • Open websites like Wikipedia, Stack Overflow, GitHub, Facebook, and Telegram.
  • Search and play music on SoundCloud.
  • Search and play videos on YouTube.
4. Information Retrieval (Stay Updated with Voice Commands)
  • Read news from categories like World, Business, Technology, and more.
  • Get weather updates for any location.
  • Retrieve COVID-19 statistics.
5. Productivity Tools (Make Your Daily Tasks Easier)
  • Set alarms using voice commands.
  • Take screenshots of your desktop.
  • Write and save notes through voice input.
  • Open Notepad or Command Prompt with a simple command.
  • Send emails by dictating the message.

Code Implementation

EVE is developed using Python and integrates multiple libraries for automation and interactivity. SpeechRecognition captures voice input, while pyttsx3 converts text to speech. Selenium and webbrowser enable web automation, and BeautifulSoup is used for web scraping. The Tkinter library provides a graphical user interface, while pyautogui handles system interactions like taking screenshots. OpenCV supports image capturing, and smtplib facilitates email sending. Additionally, randomtime, and json help manage program logic and data handling.

EVE Voice Assistant – Live Demo

See EVE in action! This video showcases how the assistant responds to voice commands, opens websites, retrieves information, controls system settings, and more—all with simple voice interactions.

Irsa Shapouri

Python Developer