Neler yeni

Python ile Sesli Asistan Template

[XFB] Konu Bilgileri

Konu Hakkında Merhaba, tarihinde Python kategorisinde kokensoft tarafından oluşturulan Python ile Sesli Asistan Template başlıklı konuyu okuyorsunuz. Bu konu şimdiye dek 9 kez görüntülenmiş, 0 yorum ve 0 tepki puanı almıştır...
Kategori Adı Python
Konu Başlığı Python ile Sesli Asistan Template
Konbuyu başlatan kokensoft
Başlangıç tarihi
Cevaplar
Görüntüleme
İlk mesaj tepki puanı
Son Mesaj Yazan kokensoft

kokensoft

Yönetici
Yönetici
Katılım
1 Eyl 2024
Mesajlar
22
Tepkime puanı
2
Puanları
3
Bu yazıda, Python kullanarak basit bir sesli asistan yapacağız. Asistan, belirli komutlara yanıt verecek ve bazı görevleri yerine getirecek.

Gerekli Kütüphaneler

Öncelikle, gerekli Python kütüphanelerini yükleyin:
Kod:
pip install playsound
pip install gtts
pip install SpeechRecognition

Kod​

Python:
from playsound import playsound # Ses dosyalarını çalmak için
from gtts import gTTS # Metni konuşmaya dönüştürmek için
import speech_recognition as sr # Ses tanıma işlemleri için
import os # İşletim sistemi işlemleri için
import time # Zamanla ilgili işlemler için
from datetime import datetime # Tarih ve saat işlemleri için
import random # Rastgele seçimler yapmak için
import webbrowser # Web tarayıcısı işlemleri için

r = sr.Recognizer() # Ses tanıyıcıyı oluştur

def record(ask=False):
with sr.Microphone() as source: # Mikrofonu kaynak olarak kullan
if ask:
print(ask) # Eğer bir soru varsa, bunu yazdır
audio = r.listen(source) # Kaydı dinle
voice = ""
try:
voice = r.recognize_google(audio, language="tr-TR") # Sesi metne dönüştür
except sr.UnknownValueError:
print("") # Anlaşılamayan ses hatası
except sr.RequestError:
print("Asistan: Sistem çalışmıyor") # Sistem hatası
return voice

def response(voice):
if "merhaba" in voice:
speak("sanada merhaba")

if "selam" in voice:
speak("aleyküm selam")

if "günaydın" in voice:
speak("sanada günaydın")

if "iyi akşamlar" in voice:
speak("sanada iyi akşamlar")

if "selamın aleyküm" in voice:
speak("aleyküm selam")

if "nasılsın" in voice:
speak("iyiyim sen nasılsın")

if "bay bay" in voice:
speak("bay bay")
exit()

if "ne yapıyorsun" in voice:
karar = ["makale araştırıyorum", "iyiyim sen ne yapıyorsun", "kendimi geliştiriyorum", "dil çalışıyorum", "hayata nasıl geldiğimi sorguluyorum", "sanane"]
karar = random.choice(karar)
speak(karar)

if "saat kaç" in voice:
secim = ["hemen bakıyorum:", "saat:", "bakıp geliyorum"]
saat = datetime.now().strftime("%H:%M")
secim = random.choice(secim)
speak(secim + saat)

if "günlerden ne" in voice:
gun = time.strftime("%A")
days = {
"Monday": "pazartesi",
"Tuesday": "salı",
"Wednesday": "çarşamba",
"Thursday": "perşembe",
"Friday": "cuma",
"Saturday": "cumartesi",
"Sunday": "pazar"
}
speak(days.get(gun, "Bilinmeyen gün"))

if "google'da ara" in voice:
speak("ne aramamı istersin")
ara = record()
url = " {}".format(ara)
webbrowser.get().open(url)
speak("{} sonuçları listeliyorum".format(ara))

def speak(string):
tts = gTTS(text=string, lang="tr", slow=False) # Metni konuşmaya dönüştür
file = "answer.mp3" # Geçici ses dosyasını oluştur
tts.save(file) # Ses dosyasını kaydet
playsound(file) # Ses dosyasını çal
os.remove(file) # Ses dosyasını sil

speak("efendim") # Başlangıç mesajı

while True:
voice = record() # Sesi kaydet
if voice:
voice = voice.lower() # Ses metnini küçük harfe çevir
print(voice) # Ses metnini yazdır
response(voice) # Komutları işleyip yanıt ver

Komutlar ve Açıklamaları​

Sesli asistan, aşağıdaki komutlara yanıt verebilir:

  • Merhaba, Selam, Günaydın, İyi akşamlar, Selamın aleyküm: Karşılama komutları.
  • Nasılsın: Hal hatır sorma.
  • Bay bay: Programdan çıkış.
  • Ne yapıyorsun: Asistanın yaptığı işleri rastgele bir yanıtla belirtir.
  • Saat kaç: Güncel saati söyler.
  • Günlerden ne: Bugünün hangi gün olduğunu söyler.
  • Google'da ara: İnternette arama yapar.
Sonuç
Bu basit sesli asistan, temel komutları algılayıp yanıt verebilen bir yapıya sahiptir. Kendi ihtiyaçlarınıza göre bu kodu geliştirip yeni özellikler ekleyebilirsiniz.
 
Üst