# Import necessary libraries import os import speech_recognition as sr # For voice recognition import pyttsx3 # For text-to-speech import datetime # For time-related tasks import webbrowser # For opening websites from dotenv import load_dotenv # For managing environment variables # Load environment variables (for API keys, etc.) load_dotenv() # Define the Jarvis class class Jarvis: def __init__(self): # Initialize text-to-speech engine self.engine = pyttsx3.init() self.recognizer = sr.Recognizer() # Initialize voice recognizer self.voices = self.engine.getProperty('voices') self.engine.setProperty('voice', self.voices[1].id) # Set voice (0 for male, 1 for female) self.engine.setProperty('rate', 150) # Set speech speed # Function to make Jarvis speak def speak(self, text): print(f"JARVIS: {text}") # Print text in the console self.engine.say(text) # Convert text to s...