Python Programımda Yavaşlama / Kilitlenme

Merhaba sizlere aşağıda vermiş olduğum python kodum ile bir sesli asistan oluşturmayı deniyorum. Asistan çalışıyor ancak sistem benden ses kaydı aldıktan sonra bazen kilitleniyor. Çok geç yanıt veriyor. Bazen o kadar uzun sürüyor ki yanıt verme süresi yanıt vermesini beklemeden kapatmak zorunda kalıyorum. Bunu her zaman yapmıyor. Genelde benden ilk bir kaç komutu sorunsuz alıp cevaplıyor ve sonrasında kilitlenmeye başlıyor. Lütfen kodumu inceleyim sorunu çözmeme yardım eder misiniz. Çok uzun süredir bu soruna bir çözüm arıyorum.

KOD

from playsound import playsound
import speech_recognition as sr
from gtts import gTTS
import pyaudio
import random
import os
import webbrowser
import time
from datetime import date, datetime
from random import choice
from cProfile import run
from selenium import webdriver


r=sr.Recognizer()

mrb_options = ["merhaba", "selam bro", "merhaba canım", "sanada merhaba"]
nbr_options = ["iyilik. sende iyi görünüyorsun", "iş güç. kodlanıp duruyoruz", "sıfır ve birler işte. başka bişey yok"]
grs_options = ["ihtiyacın olduğunda ben buralardayım", "görüşürüz", "biraz dinleneyim", "eyvallah reis. pardon görüşürüz diyecektim"]

class SesliAsistan():
    def seslendirme(self, metin):
        xtts=gTTS(text=metin,lang="tr")
        dosya= "dosya"+".mp3"
        xtts.save(dosya)     
        playsound(dosya)
        os.remove(dosya)


    def sesKayit(self):
        with sr.Microphone() as kaynak:
            print("dinliyorum")
            try:
                listen = r.listen(kaynak, timeout=6) # timeout süresi 3 saniye olarak artırıldı
                voice = r.recognize_google(listen, language="tr-TR")
            except sr.UnknownValueError:
                print("Anlayamadım, tekrar söyleyebilir misin?")
                voice = "boş"
                return voice

            return voice
        
    def get_today(self):
        today = time.strftime("%A")
        today.capitalize()
        if today == "Monday":
            today = "Pazartesi"
        elif today == "Tuesday":
            today = "Salı"
        elif today == "Wednesday":
            today = "Çarşamba"
        elif today == "Thursday":
            today = "Perşembe"
        elif today == "Friday":
            today = "Cuma"
        elif today == "Saturday":
            today = "Cumartesi"
        elif today == "Sunday":
            today = "Pazar"
        return today



    def sesKarsilik(self, gelenSes):
        self.choice = random.choice
        self.speak = self.seslendirme
        if isim in gelenSes:
            if "merhaba" in gelenSes:
                selection = random.choice(mrb_options)
                self.seslendirme(selection)
            elif "ne haber" in gelenSes or "nasıl gidiyor" in gelenSes or "ne var ne yok" in gelenSes:
                selection = random.choice(nbr_options)
                self.seslendirme(selection)
            elif "görüşürüz" in gelenSes or "kendine iyi bak" in gelenSes or "güle güle" in gelenSes:
                global grs_options
                selection = random.choice(grs_options)
                self.seslendirme(selection)
            elif "saat kaç" in gelenSes or "bana saati söyle" in gelenSes or "saati söyler misin" in gelenSes:
                selection = ["Saat şu an: ", "Hemen bakıyorum: ", "eti kemik geçiyor. şaka şaka saat:"]
                clock = datetime.now().strftime("%H:%M")
                selection = random.choice(selection)
                self.seslendirme(selection + clock)
            elif "bugün günlerden ne" in gelenSes or "günlerden ne" in gelenSes or "bana günü söyle" in gelenSes or "gün" in gelenSes or "haftanın hangi günündeyiz" in gelenSes:
                self.seslendirme("bugün günlerden" + (self.get_today()))
            elif "video aç" in gelenSes:
                self.seslendirme("hangi videoyu açayım")
                veri=self.sesKayit()
                url="https://www.youtube.com/results?search_query="+veri
                tarayici=webdriver.Chrome()
                tarayici.get(url)
            elif "bilgisayarı kapat" in gelenSes:
                self.seslendirme("görüşürüz")
                os.system("shutdown /s /t 0") #bilgisayarı kapatma komutu
            elif "bilgisayarı yeniden başlat" in gelenSes:
                self.seslendirme("hemen hallediyorum")
                os.system("shutdown /r /t 0") #bilgisayarı yeniden başlatma kodu.
            elif "dinlen" in gelenSes or "izin verdim" in gelenSes or "güle güle" in gelenSes or "kendini kapat" in gelenSes:
                byeSelection = ["makine olabilirim ama kaytarmayı severim. kaçtım", "sonra görüşürüz patron", "daha karpuz kesecektik. neyse birdahaki sefere artık", "güle güle", "kendine iyi bak"]
                byeSelection = random.choice(byeSelection)
                self.seslendirme(byeSelection)
                exit()
            elif "boş" in gelenSes:
                print("anlayamadım")  

    
isim ="kanka"    
asistan=SesliAsistan()
while True:
    ses=asistan.sesKayit()

    if(ses!=" "):
        ses=ses.lower()
        print(ses)
        asistan.sesKarsilik(ses)