Python Sesli Asistan

Merhaba. Pythonda ufak bir sesli asistan uygulaması yapıyorum. Mesela Youtube’da şarkı açabiliyor, İnstagrama giriş yapabiliyor.
Şimdi yapmak istediğim şey şu ; söylediğim iki sayıyı toplaması , çıkarması kısacası işlem yapması.

Yardımcı olursanız sevinirim.

Makine öğrenmesi kullanın.

Basit bir yolu yok mudur bunun hocam?

Makine öğrenmesini kodlamak zordur.Ancak makine kendisi öğrendiği için öğrenme kısmında zorluk çekmezsiniz.YouTube’da şarkı açması gibi bir şekilde yapmak istiyorsanız anahtar kelimeleri bulması gerekmekte.“İki ile altıyı topla” yerine “İki artı altı” diyebiliriz.Makine bunu en kolay öğrenme kısmıyla ve aldığı girdilerle halleder.Yine de dediğim gibi anahtar kelimeler ile de yapılabilir.

Aynı şeyleri yazdım ama,umarım anlatabilmişimdir.

1 Beğeni

İlginiz için teşekkür ederim. Biraz araştırmam gerekli sanırım.

Mantıklı.Önce araştırıp sonra buraya sormak daha iyi olacaktır.Gelişmelerden haberdar edin lütfen :slight_smile:

1 Beğeni

bu kodları paylaşırsan daha iyi yardımcı olabiliriz

import speech_recognition as sr
from datetime import datetime
import time
from gtts import gTTS
from playsound import playsound
import random
import os
import komutlar
r = sr.Recognizer()
mic = sr.Microphone()

def sesten_yaziya():
with mic as m:
audio = r.listen(m)
try:
text = r.recognize_google(audio,language=“tr”)
except sr.UnknownValueError:
print(“Üzgünüm, anlayamadım. Lütfen tekrarlar mısın ?”)

return(text)

def yazidan_sese(veri):
tts = gTTS(veri,lang=“tr”)
rand = random.randint(1,10000)
file = “audio-”+str(rand)+".mp3"
tts.save(file)
playsound(file)
os.remove(file)

while True:
text = sesten_yaziya().lower()

if "merhaba" in text:
    yazidan_sese("Merhaba Emir, Hoşgeldin")
elif "nasılsın" in text:
    yazidan_sese("İyiyim Emir , sen nasılsın?")
elif "iyiyim" in text:
    yazidan_sese("Allah iyilik versin")
elif "saat kaç" in text:
    yazidan_sese(datetime.now().strftime("%H:%M:%S"))
elif "teşekkürler" in text:
    yazidan_sese("Ne demek, görevimiz..")
elif "çal" in text:
    yazidan_sese("Çalıyorum")
    komutlar.playyoutube(text)
    time.sleep(5)
elif "arama yap" in text:
    yazidan_sese("Arıyorum")
    komutlar.aramayap(text)
    time.sleep(5)
elif "instagram" in text:
    yazidan_sese("Giriş yapıyorum")
    komutlar.girisyap_instagram(text)

elif "kapat" in text:
    yazidan_sese("Kapatıyorum. Görüşürüz Emir.")
    break,

komutlar modülünde de youtube ve instagrama giriş fonksiyonları var

Hangi söz kalıpları kullanıldığında bu işlemlerin yapılmasını istiyorsunuz?

topla dediğimda önce birinci sayıyı sonra ikinci sayıyı sormasını bunları alınca da int olarak toplamasını istiyorum. Denediğimde str olarak kalıyor beş ve üç diyorum toplamı beşüç veriyor

Kodlarda boyle bir sey goremedim.

Sorun buysa, sayi okunuslarini sayiya cevirmek zor degil.

birkaç kez denedim sonra sildim
elif “topla” in text:
a = yazidan_sese(“birinci sayıyı söyle”)
b = yazidan_sese(“ikinci sayıyı söyle”)
tarzı birşey yazmıştım sonucu da toplam değişkenine atıyordum
beşüç diyor
mesela

Sayı okunuşlarını sayıya çevirecek bir kod yazmanız lazım. Tersi burada mevcut:

def islem():
ilk_sayi = int(input("ilk sayı: "))
ikinci_sayi = int(input("ikinci sayı: "))
sonuc = (ilk_sayi+ikinci_sayi)

bu işine yarayabilir

Şeyyy,bu,bu bir yapay zeka mı?

anlamadım?..
(ne demek istedin?)

Bu konu sesli asistan yaparken karşılaştığı bir sorunu çözmek isteyen birisi tarafından açıldı.Ancak siz,konsol uygulaması işlemi yapmasını öneriyorsunuz.Arkadaşımıza sesli bir girdinin rakama dönüştürülmesi konusunda yardım etmemiz gerekiyor.Önceki cevapları okudunuz mu?

karşılaştığı soruna cevap verildi zaten ve benim ki de bir fikir sadece.

Burada bir sorunun çözümü isteniyor.Fikir değil.Yüksek ihtimalle o kısımları çoktan geçmiş olacak ki YouTube videosu oynatabiliyor.Ayrıca,çözüldü olarak işaretlenmemiş.Ancak %99 doğru bir cevap dediğiniz gibi mevcut.