语音识别Python出现错误

时间:2020-07-22 06:00:04

标签: python speech-recognition

import SpeechRecognition as sp

def takeCommand():
    r = sp.Recognizer()
    with sp.Microphone() as source:
        print("Listening....")
        r.pause_threshold = 1
        audio = r.listen(source)
    try:
        print("Recognising...")
        query = r.recognize_google(audio,language="en-in")
        print(query)
    except Exception as e:
        print(e)
        speak("say that again please")
        return None

    return query
takeCommand()'''

这将返回错误,例如

'''

/usr/bin/python3 /home/shanu/Documents/Pygame/Sierra_AI_Assistant/sierra.py
ALSA lib pcm_dmix.c:1089:(snd_pcm_dmix_open) unable to open slave
aplay: main:830: audio open error: Device or resource busy
ALSA lib pcm_dmix.c:1089:(snd_pcm_dmix_open) unable to open slave
aplay: main:830: audio open error: Device or resource busy
ALSA lib pcm_dmix.c:1089:(snd_pcm_dmix_open) unable to open slave
aplay: main:830: audio open error: Device or resource busy
ALSA lib pcm_dmix.c:1089:(snd_pcm_dmix_open) unable to open slave
aplay: main:830: audio open error: Device or resource busy
ALSA lib pcm_dmix.c:1089:(snd_pcm_dmix_open) unable to open slave
aplay: main:830: audio open error: Device or resource busy
ALSA lib pcm_dmix.c:1089:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:869:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pulse.c:242:(pulse_connect) PulseAudio: Unable to connect: Connection refused

ALSA lib pulse.c:242:(pulse_connect) PulseAudio: Unable to connect: Connection refused

ALSA lib pcm_usb_stream.c:486

    :(_snd_pcm_usb_stream_open) Invalid type for card
    ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
    ALSA lib pcm_dmix.c:1089:(snd_pcm_dmix_open) unable to open slave
    ALSA lib pcm_dmix.c:1089:(snd_pcm_dmix_open) unable to open slave
    Listening....
    python3: src/hostapi/alsa/pa_linux_alsa.c:3641: PaAlsaStreamComponent_BeginPolling: Assertion `ret == self->nfds' failed.

我安装了正确的lib,还尝试了解pyaudio等内容 一切都可以摆脱,昨天我用pysttx3遇到了同样的事情,但是通过重新启动笔记本电脑解决了这个问题,但这不起作用。

1 个答案:

答案 0 :(得分:-1)

您的代码应如下所示:

import speechRecognition as sr

def takeCommand():
    r = sr.Recognizer()
    with sr.Microphone() as source:
       print("Listening...")
       r.pause_threshold = 1
       audio = r.listen(source)
    try:
       print("Recognizing...")    
       query = r.recognize_google(audio, language='en-in') #Using google for voice recognition.
       print(f"User said: {query}\n")  #User query will be printed.

    except Exception as e:
       # print(e)    
       print("Say that again please...")   #Say that again will be printed in case of improper voice 
       return "None" #None string will be returned
    return query

首先,通过在终端中输入这个来导入库-

pip install speechRecognition