Skip to content

Jarvis is a voice-activated virtual assistant designed to perform tasks such as web browsing, playing music, fetching news, and responding to user queries using AI model.

License

Notifications You must be signed in to change notification settings

Sami21234/JARVIS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

JARVIS – Voice-Activated Virtual Assistant πŸŽ™οΈπŸ€–

πŸ“Œ Project Overview

Jarvis is a voice-activated virtual assistant developed in Python.
It listens for voice commands, responds using speech, performs web-based and system tasks, fetches news, plays music, and answers user queries using an AI language model.

The assistant is activated using a wake word: β€œJarvis”, similar to Alexa or Google Assistant.


✨ Features

🎀 Voice Recognition

  • Uses the speech_recognition library.
  • Continuously listens for the wake word β€œJarvis”.
  • Converts spoken commands into text.

πŸ”Š Text-to-Speech

  • Converts responses into speech using Windows SAPI (pywin32).
  • Provides natural voice feedback for all actions.

🌐 Web Browsing

  • Opens popular websites using voice commands:
    • Google
    • Facebook
    • YouTube
    • LinkedIn

🎡 Music Playback

  • Plays music using a custom musicLibrary module.
  • Opens song links in the web browser.

πŸ“° News Fetching

  • Fetches latest news headlines using NewsAPI.
  • Reads out top headlines using text-to-speech.

πŸ€– AI Integration

  • Handles complex or unknown commands using an AI language model.
  • Acts as a general-purpose assistant for questions and conversations.
  • Provides brief and helpful responses.

πŸ–₯️ System Operations

  • Opens local applications such as:
    • Calculator
    • VS Code
    • File Explorer
    • WhatsApp (if installed)

πŸ”„ Workflow

  1. Initialization

    • Jarvis starts and greets the user with
      β€œInitializing Jarvis…”
  2. Wake Word Detection

    • Listens continuously for the wake word β€œJarvis”.
  3. Activation

    • Upon detecting the wake word, Jarvis replies with β€œYa”.
  4. Command Processing

    • Listens for the user’s command.
    • Determines whether the command is:
      • A fixed task (open apps, play music, fetch news)
      • Or an AI-based query
  5. Execution

    • Performs the requested action.
    • Uses AI responses if no predefined command matches.
  6. Speech Output

    • Responds using text-to-speech.

πŸ› οΈ Libraries Used

  • speech_recognition – Voice input recognition
  • webbrowser – Open websites via commands
  • pywin32 (win32com.client) – Text-to-speech using Windows SAPI
  • musicLibrary – Custom module for music playback
  • requests – Fetch news from NewsAPI
  • os – Open system applications

πŸ–₯️ System Requirements

  • Windows OS
  • Python 3.9+
  • Microphone
  • Internet connection (for news & AI responses)

πŸš€ How to Run the Project

  1. Clone or download the repository.
  2. Install required libraries:
    pip install speechrecognition requests pywin32 groq
  3. Add your API key in config.py.
  4. Run the program:
    python main.py
  5. Say β€œJarvis” to activate.

πŸ‘¨β€πŸ’» Author

Developed to enhance the python skills to demonstrate:

  • Voice recognition
  • System automation
  • AI integration
  • Python programming skills

βœ… Future Enhancements

  • GUI interface (Tkinter / PyQt)
  • Offline wake-word detection
  • Intent classification using ML
  • Plugin-based command system
  • Cross-platform support

About

Jarvis is a voice-activated virtual assistant designed to perform tasks such as web browsing, playing music, fetching news, and responding to user queries using AI model.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages