Python 语音识别麦克风无法识别语音
Python Speech Recognition Microphone does not recognize speech
我想使用语音识别来识别来自麦克风的语音(内置于 Mac Book Pro / air pods)。
所以我按照说明安装了端口音频。
brew info portaudio
returns:
portaudio: stable 19.7.0 (bottled), HEAD
并且在我的项目中(pipenv环境),我安装了PyAudio和SpeechRecognition。
我的 pipenv 图如下所示:
cffi==1.14.5
- pycparser [required: Any, installed: 2.20]
pocketsphinx==0.1.15
PyAudio==0.2.11
SpeechRecognition==3.8.1
从音频文件中识别语音有效,但每当我使用麦克风时,它都无效。例如,当我在控制台输入这条命令进行测试时:
python3 -m speech_recognition
打印出来:
A moment of silence, please...
Set minimum energy threshold to 45.131829621150224
Say something!
但它对我的声音没有反应。
或者当我运行这个代码时:
import speech_recognition as sr
# obtain audio from the microphone
r = sr.Recognizer()
with sr.Microphone() as source:
r.adjust_for_ambient_noise(source)
print("Say something!")
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))
没有错误信息,但是之后说什么也没有反应。
当我运行
print(sr.Microphone.list_microphone_names())
我回来了
['AirPods of MyName', 'AirPods of MyName', 'Built-in Microphone', 'Built-in Output']
因此应该可以识别麦克风。
我遇到了同样的问题。不知道你们有没有解决。
我的问题是在 VS Code 中使用集成终端...如此处所述
我尝试了外部终端 (iTerm),一切正常。我的终端实际上必须获得访问我的麦克风的权限。似乎 VS Code 中的集成终端没有获得使用它的权限......稍后必须解决这个问题。
PS - 快速搜索后,这里发布了一个答案 Mac OS Mojave microphone permission for Visual Studio Code
它仍然有点简陋,但......有效。
我想使用语音识别来识别来自麦克风的语音(内置于 Mac Book Pro / air pods)。
所以我按照说明安装了端口音频。
brew info portaudio
returns:
portaudio: stable 19.7.0 (bottled), HEAD
并且在我的项目中(pipenv环境),我安装了PyAudio和SpeechRecognition。 我的 pipenv 图如下所示:
cffi==1.14.5
- pycparser [required: Any, installed: 2.20]
pocketsphinx==0.1.15
PyAudio==0.2.11
SpeechRecognition==3.8.1
从音频文件中识别语音有效,但每当我使用麦克风时,它都无效。例如,当我在控制台输入这条命令进行测试时:
python3 -m speech_recognition
打印出来:
A moment of silence, please...
Set minimum energy threshold to 45.131829621150224
Say something!
但它对我的声音没有反应。
或者当我运行这个代码时:
import speech_recognition as sr
# obtain audio from the microphone
r = sr.Recognizer()
with sr.Microphone() as source:
r.adjust_for_ambient_noise(source)
print("Say something!")
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))
没有错误信息,但是之后说什么也没有反应。
当我运行
print(sr.Microphone.list_microphone_names())
我回来了
['AirPods of MyName', 'AirPods of MyName', 'Built-in Microphone', 'Built-in Output']
因此应该可以识别麦克风。
我遇到了同样的问题。不知道你们有没有解决。
我的问题是在 VS Code 中使用集成终端...如此处所述
我尝试了外部终端 (iTerm),一切正常。我的终端实际上必须获得访问我的麦克风的权限。似乎 VS Code 中的集成终端没有获得使用它的权限......稍后必须解决这个问题。
PS - 快速搜索后,这里发布了一个答案 Mac OS Mojave microphone permission for Visual Studio Code 它仍然有点简陋,但......有效。