- Katılım
- 24 Tem 2025
- Mesajlar
- 27
- Tepkime puanı
- 1
Sizlerle Python kullanarak sesli komutlarla çalışan akıllı bir asistan yapacağız.
Asistanımıza sadece “Asistan” diye seslenmeniz yeterli, o hemen sizi dinleyecek ve komutlarınıza cevap verecek.
Ayrıca, canınız sıkıldığında “Bir şaka yap” dediğinizde size eğlenceli, komik cevaplar da verecek.
---
Projenin Öne Çıkan Özellikleri:
“Asistan” kelimesi ile tetiklenen aktif dinleme
YouTube açma, Google araması, not defteri açma gibi pratik komutlar
Saat ve tarih sorgulama
Rastgele motivasyon cümleleri
Şaka modu: “Şaka yap” dediğinizde komik cevaplar alma
---
Gereken Python Kütüphaneleri:
Not: pyaudio kurulumu için işletim sisteminize uygun yöntemi kullanabilirsiniz.
Kullanım Rehberi:
1. Python ve gerekli kütüphaneler yüklü olmalı.
2. Mikrofon açık ve ortam sessiz olmalı.
3. Kodu çalıştırın, asistan “Merhaba! Bana 'Asistan' diyerek seslen, seni dinliyorum.” diyecek.
4. “Asistan” kelimesiyle seslenin, komutunuzu verin.
5. Desteklenen komutlar arasında YouTube açma, Google’da arama, not defteri açma, saat ve tarih sorgulama, motivasyon cümleleri, şaka modu ve çıkış var.
6. Yeni komutlar eklemek çok kolay, kodun handle_command fonksiyonunu genişletmeniz yeterli.
Kodumuz:
Asistanımıza sadece “Asistan” diye seslenmeniz yeterli, o hemen sizi dinleyecek ve komutlarınıza cevap verecek.
Ayrıca, canınız sıkıldığında “Bir şaka yap” dediğinizde size eğlenceli, komik cevaplar da verecek.
---
Projenin Öne Çıkan Özellikleri:
“Asistan” kelimesi ile tetiklenen aktif dinleme
YouTube açma, Google araması, not defteri açma gibi pratik komutlar
Saat ve tarih sorgulama
Rastgele motivasyon cümleleri
Şaka modu: “Şaka yap” dediğinizde komik cevaplar alma
---
Gereken Python Kütüphaneleri:
pip install SpeechRecognition pyttsx3 pyaudio requests
Not: pyaudio kurulumu için işletim sisteminize uygun yöntemi kullanabilirsiniz.
Kullanım Rehberi:
1. Python ve gerekli kütüphaneler yüklü olmalı.
2. Mikrofon açık ve ortam sessiz olmalı.
3. Kodu çalıştırın, asistan “Merhaba! Bana 'Asistan' diyerek seslen, seni dinliyorum.” diyecek.
4. “Asistan” kelimesiyle seslenin, komutunuzu verin.
5. Desteklenen komutlar arasında YouTube açma, Google’da arama, not defteri açma, saat ve tarih sorgulama, motivasyon cümleleri, şaka modu ve çıkış var.
6. Yeni komutlar eklemek çok kolay, kodun handle_command fonksiyonunu genişletmeniz yeterli.
Kodumuz:
Python:
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()