import speech_recognition as sr
import pyttsx3
import webbrowser
import os
import requests
from datetime import datetime
import random
import time
engine = pyttsx3.init()
def speak(text):
engine.say(text)
engine.runAndWait()
def listen_once():
r = sr.Recognizer()
with sr.Microphone() as source:
r.adjust_for_ambient_noise(source)
print("Dinliyorum...")
audio = r.listen(source, phrase_time_limit=5)
try:
query = r.recognize_google(audio, language='tr-TR')
print(f"Komut: {query}")
return query.lower()
except Exception:
return "none"
jokes = [
"Bilgisayar neden denize düşmez? Çünkü suyun içindeki baytı almaz!",
"Programcı neden karanlıkta çalışır? Çünkü ışık hata verir!",
"Neden bilgisayar asla aç kalmaz? Çünkü her zaman bir byte'ı vardır!",
"İki bit konuşuyormuş, biri demiş ki: 'Seni 1 kere gördüm.'"
]
def handle_command(command):
if "youtube aç" in command:
speak("YouTube açılıyor.")
webbrowser.open("
YouTube")
elif "not defteri aç" in command:
speak("Not defteri açılıyor.")
os.system("notepad")
elif "google'da ara" in command:
speak("Ne aramak istiyorsun?")
search_query = listen_once()
if search_query != "none":
speak(f"Google'da {search_query} aranıyor.")
url = f"
Google{search_query.replace(' ', '+')}"
webbrowser.open(url)
elif "saat kaç" in command:
now = datetime.now().strftime("%H:%M")
speak(f"Saat şu anda {now}")
elif "tarih kaç" in command:
today = datetime.now().strftime("%d %B %Y")
speak(f"Bugünün tarihi {today}")
elif "motivasyon" in command:
quotes = [
"Başarı, hazırlık ile fırsatın buluşmasıdır.",
"Her gün yeni bir başlangıçtır.",
"Zorluklar, fırsatların habercisidir.",
"Hayallerine inan ve peşinden git."
]
speak(random.choice(quotes))
elif "şaka yap" in command or "espri anlat" in command:
speak(random.choice(jokes))
elif "çıkış" in command or "kapat" in command:
speak("Görüşürüz, iyi günler!")
os._exit(0)
else:
speak("Bu komutu anlayamadım, başka ne yapabilirim?")
def listen_continuous():
r = sr.Recognizer()
mic = sr.Microphone()
with mic as source:
r.adjust_for_ambient_noise(source)
speak("Merhaba! Bana 'Asistan' diyerek seslen, seni dinliyorum.")
print("Sürekli dinleme başlatıldı. 'Asistan' diye seslen!")
while True:
with mic as source:
print("Dinliyorum...")
audio = r.listen(source, phrase_time_limit=5)
try:
speech_text = r.recognize_google(audio, language='tr-TR').lower()
print(f"Duydum: {speech_text}")
if "asistan" in speech_text:
speak("Evet isminiz, komutunuzu alıyorum.")
command = listen_once()
if command != "none":
handle_command(command)
else:
print("Tetikleyici kelime geçmedi, bekliyorum...")
except sr.UnknownValueError:
print("Anlayamadım, tekrar eder misin?")
except sr.RequestError:
print("Ses tanıma servisine ulaşılamıyor.")
time.sleep(0.3)
if __name__ == "__main__":
listen_continuous()