2016-08-28 27 views
3

Ich beginne eine Arbeit, die Audio in Text konvertieren muss. Ich benutze die Spracherkennung von Python. Ich habe ein Tutorial über Github gesehen, wie man es benutzt. Das Programm ist nicht Bale, um meine Stimme durch Mikrofon zu erkennen.Spracherkennung funktioniert nicht in Ubuntu

Ich benutze Python 2.7 auf Ubuntu 16.04.

Code:

import speech_recognition as sr 

# obtain audio from the microphone 
r = sr.Recognizer() 
with sr.Microphone() as source: 
    print("Say something!") 
    r.adjust_for_ambient_noise(source) 
    audio = r.listen(source) 

# recognize speech using Sphinx 
try: 
    print("Sphinx thinks you said " + r.recognize_sphinx(audio)) 
except sr.UnknownValueError: 
    print("Sphinx could not understand audio") 
except sr.RequestError as e: 
    print("Sphinx error; {0}".format(e)) 

github code link

Ausgabe am Terminal:

[email protected]:~/Python/audio$ python temp.py 
ALSA lib pcm_dsnoop.c:606:(snd_pcm_dsnoop_open) unable to open slave 
ALSA lib pcm_dmix.c:1029:(snd_pcm_dmix_open) unable to open slave 
ALSA lib pcm_dmix.c:1029:(snd_pcm_dmix_open) unable to open slave 
Say something! 

Nach "Sag etwas!", Hält sie auf zu blinken, aber meine Stimme nicht erkannt wird.

mic settings

+1

Die alsa Zeilen würden vorschlagen, dass es nicht in der Lage ist, den Mixer und so zu steuern. Vielleicht sollten Sie die Version Ihres Betriebssystems, Version von Python und sagen, ob Sie dies in SSH-Sitzung, X11-Terminal auf dem lokalen Computer ausführen, oder was. –

+1

@AnttiHaapala Ubuntu 16.04, Python 2.7 und am Terminal auf dem lokalen Computer. –

+0

Es hat für mich funktioniert, ich sagte etwas und nach einigen Sekunden druckte es die Ausgabe. Ich glaube, du hast dein Mikrofon gedämpft, und diese ALSA-Warnungen (die ich auch bekommen habe) würden bedeuten, dass es versucht hat, die Lautstärkepegel zu ändern, aber gescheitert ist; Sie sollten sowohl Ubuntu Soundeinstellungen als auch alsamixer überprüfen. –

Antwort

0

ich nicht PocketSphinx Modul installiert werden kann, in Probleme laufen. Aber wenn ich recognize_sphinx mit recognize_google umschalte, funktioniert es für mich.

Hier ist Ihr geänderter Code.

import speech_recognition as sr 

# obtain audio from the microphone 
r = sr.Recognizer() 
with sr.Microphone() as source: 
    print("Say something!") 
    r.adjust_for_ambient_noise(source) 
    audio = r.listen(source) 

# recognize speech using Sphinx 
try: 
    #print("Sphinx thinks you said " + r.recognize_sphinx(audio)) 
    print("Sphinx thinks you said " + r.recognize_google(audio)) 
except sr.UnknownValueError: 
    print("Sphinx could not understand audio") 
except sr.RequestError as e: 
    print("Sphinx error; {0}".format(e)) 

Ausgabe

Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win32 
Type "copyright", "credits" or "license()" for more information. 
>>> ================================ RESTART ================================ 
>>> 
Say something! 
Sphinx thinks you said hello 
>>> 

Hoffnung das ist nützlich.

+0

Nun, auch "etwas sagen" erscheint nicht auf dem Bildschirm. Ich habe pulseaudio und jack2 installiert. –