Python语音识别错误ALSA

2024-09-23 06:27:58 发布

您现在位置:Python中文网/ 问答频道 /正文

[编辑] PyAudio不工作,程序根本不做任何语音识别。在

我在一个虚拟机上运行Ubuntu,我做了一个简短的脚本。它使用SpeechRecognition 3.5.0来检测用户所说的话。我已经安装了pyaudio,但是当我运行脚本时,我得到了一个很长的错误。我在笔记本电脑上使用内置麦克风。在

import wolframalpha
import os
from gtts import gTTS
import speech_recognition as sr
r = sr.Recognizer()
with sr.Microphone() as source:              
    audio = r.listen(source) 
print("You said " + r.recognize(audio)) 
app_id = ("H34HDS-SDFJKOEER2")
client = wolframalpha.Client(app_id)
while app_id == "H34HDS-SDFJKOEER2":
    input = raw_input("Question: ")
    res = client.query(input)
    answer = next(res.results).text
    tts = gTTS(text=answer, lang='en')
    tts.save("hello.mp3")
    os.system("mpg321 hello.mp3")

我得到的错误是:

^{pr2}$

Tags: import脚本idappsourceinputosas
1条回答
网友
1楼 · 发布于 2024-09-23 06:27:58

我已经在他们的网页上给出了答案。基本上你没有杰克音频服务器运行。作为一个不得不和Linux音频混在一起的人,我可以告诉你这可能是一种痛苦。在

来自https://pypi.python.org/pypi/SpeechRecognition/

在Ubuntu/Debian上,我会遇到诸如“jack server is not running or cannot start”或“cannot lock down[…]字节内存区域(cannot allocate memory)”。

Linux的音频堆栈非常变化无常。有一些问题会导致这些问题。在

首先,确保安装了插孔-要安装它,请运行sudo apt get install multimedia JACK

然后您需要正确配置JACK守护进程,以避免“Cannot allocate memory”错误。运行sudo dpkg reconfigure-p high jackd2并选择“Yes”执行此操作。在

现在,您需要确保当前用户在音频组中。您可以通过运行sudo adduser$(whoami)audio将当前用户添加到此组。在

不幸的是,这些更改需要重新启动才能生效。在

重新启动后,运行pulseaudio kill,然后运行jack\u control start,以修复“jack服务器未运行或无法启动”错误

相关问题 更多 >