Ultima modifica da un moderatore:
questo è il codice dell'assistente virtuale, sfortunatamente è lento e non so come migliorarlo.
Python:
import speech_recognition as sr
import pyttsx3
import datetime
import webbrowser
import requests
# Inizializza il riconoscitore vocale e il motore di sintesi vocale
riconoscitore = sr.Recognizer()
sintesi_vocale = pyttsx3.init()
#variabile per tenere traccia dell'introduzione
introduzione_gia_effettuata = False
# Definisci una funzione per far parlare l'assistente
def parla(testo):
sintesi_vocale.say(testo)
sintesi_vocale.runAndWait()
# Definisci una funzione per riconoscere il discorso
def ascolta():
global introduzione_gia_effettuata
with sr.Microphone() as sorgente:
if not introduzione_gia_effettuata:
parla("Salve signore, sono online, oggi cosa vuole fare, vuole per caso continuare lo sviluppo del sito internet?")
introduzione_gia_effettuata = True
riconoscitore.adjust_for_ambient_noise(sorgente)
audio = riconoscitore.listen(sorgente)
comando = ""
try:
comando = riconoscitore.recognize_google(audio, language="it-IT")
print("Hai detto: " + comando)
except sr.UnknownValueError:
print("Mi dispiace, non ho capito cosa hai detto.")
except sr.RequestError as e:
print("Si è verificato un errore nella richiesta: {0}".format(e))
return comando.lower()
# Funzione per aprire una pagina web
def apri_pagina_web(url):
try:
webbrowser.open(url)
except Exception as e:
print(f"Si è verificato un errore durante l'apertura di {url}: {str(e)}")
# Ciclo principale del programma
while True:
comando = ascolta()
if "cerca su google" in comando or "jarvis cerca su google" in comando:
parla("cosa vuoi cercare?")
ricerca = ascolta()
ricerca = ricerca.replace(" ", "+")
url = f"https://www.google.com/search?q={ricerca}"
webbrowser.open(url)
if "jarvis sei on- line?" in comando or "jarvis è online" in comando or "jei ci sei" in comando or "jarvis ci sei" in comando:
parla("Sì, ci sono")
elif"jarvis che ore sono" in comando:
ora_attuale = datetime.datetime.now().strftime("%H:%M")
parla("Sono le " + ora_attuale)
elif"jarvis come va" in comando or "jarvis come stai" in comando:
parla("Va tutto bene, a te?")
elif "va tutto bene grazie" in comando or "va tutto bene" in comando:
parla("Ne sono felice, posso darti una mano")
elif "per ora no" in comando or "ti faccio sapere" in comando or "no" in comando or "no non ancora" in comando or "forse dopo" in comando:
parla("Va bene, nel caso io sono qui")
elif "va bene grazie" in comando or "grazie" in comando:
parla("Di nulla, sono qui per aiutarti. Alla fine mi hai creato tu.")
elif"jarvis svegliati" in comando or "jarvis sveglia" in comando or "jarvis papino è tornato" in comando or "jarvis svelgia papino è tornato" in comando or "jarvis papa è tornato" in comando:
parla("eccomi signore ci sono")
elif "jarvis spento" in comando or "jarvis ciao" in comando or " jarvis ciao ciao" in comando or "jarvis spegniti" in comando:
parla("A domani")
break
elif"jarvis apri libertà" in comando or "ehi jarvis apri libertà" in comando or "jarvis libertà" in comando:
try:
webbrowser.open("https://www.youtube.com/watch?v=SMWLc2nY3N8&pp=ygUSbGliZXJ0YSBsb2NvIGZyYW1l")
except Exception as e:
print("Si è verificato un errore durante l'apertura della canzone di davide:", str(e))
elif"jarvis apri google" in comando or "ehi jarvis apri google" in comando or "jarvis internet" in comando:
try:
webbrowser.open("https://www.google.com")
except Exception as e:
print("Si è verificato un errore durante l'apertura di Google:", str(e))
elif"jarvis apri il tuo sosia" in comando or "jarvis apri tuo fratello" in comando or "jarvis apri chat gpt" in comando or "jarvis apri chat gpt" in comando:
try:
webbrowser.open("https://chat.openai.com/")
except Exception as e:
print("Si è verificato un errore durante l'apertura di ChatGpt:", str(e))
elif"jarvis apri youtube" in comando or "jarvis avvia youtube" in comando or "jarvis youtube" in comando:
try:
webbrowser.open("https://www.youtube.com/")
except Exception as e:
print("Si è verificato un errore durante l'apertura di Youtube:", str(e))
elif"jarvis riproduci della musica" in comando or "jarvis riproduci musica" in comando or "jarvis metti un po di musica" in comando or "jarvis musica" in comando:
try:
webbrowser.open("https://open.spotify.com/playlist/3rQJHcUo1KyDXHjH7PNwoq")
except Exception as e:
print("Si è verificato un errore durante l'avvio della musica:", str(e))