Warum ist dieser Code so schlecht /funktioniert fast nicht?

2 Antworten

Hast mal eine andere Speech-To-Text Engine ausprobiert um zu schauen ob es eventuell daran liegen kann? Du benutzt doch die Google Speech API oder?

könntest mal die pocketsphinx Engine von speech_regocnition testen , die arbeitet Offline.

Beispiel wie du pocketsphinx verweden könntest:

import speech_recognition as sr


def aufnahme():
    r = sr.Recognizer()


    with sr.Microphone() as quelle:
        r.pause_threshold = 0.8
        r.adjust_for_ambient_noise(quelle)
        gesagt = r.listen(quelle)


    try:
        q = r.recognize_sphinx(gesagt, language="de")
        print("Recognized speech (Sphinx):", q)
        return q


    except sr.UnknownValueError:
        print('Leider nicht verstanden (Sphinx)')
        return "Ich warte auf Anweisungen"


# Call the function
result = aufnahme()
print(result)

Achte auch auf eine gute Audioqualität! schlechtes Mikro oder viel Hintergrundsound können die Erkennung stören.

marcus09421 
Fragesteller
 01.03.2024, 17:10

Ich konnte das Problem bereits mit einem externen Mikrofon beheben. Vielen Dank trotzdem für deine Antwort!

0

Eine kurze Suche im Netz zeigt, dass du wohl am besten

r.pause_threshold = 0.8

rausnimmst und stattdessen entweder

gesagt = r.listen(quelle, timeout=2)

oder

gesagt = r.listen(quelle, phrase_time_limit=5)

schreibst. Auch würde ich die volle Lokale de-DE statt nur de angeben.

Woher ich das weiß:Berufserfahrung – Entwickle Anwendungen für iOS, iPadOS und macOS beruflich.
marcus09421 
Fragesteller
 10.01.2024, 18:15

Vielen Dank!

0