python - Python语音识别
问题描述
当我运行此代码并说出脚本时返回空列表:
import pyaudio
import pyttsx3
import os
import pyautogui
import speech_recognition as sr
def command():
r = sr.Recognizer()
mic = sr.Microphone()
recog = sr.Recognizer()
with mic as u_audio:
print('Speak please')
r.adjust_for_ambient_noise(u_audio)
voice = r.listen(u_audio)
try:
listening = recog.recognize_google(voice, language = 'en-EN', show_all = True)
print(listening)
except Exception as e:
print('I not understand' + str(e))
command()
command()
输出:请说 [ ] 我不明白,为什么列表是空的。也许我应该选择麦克风索引。
解决方案
麦克风是问题
问题可能出在麦克风上,因为我运行了相同的代码,它确实给出了输出,它给出了演讲的所有可能结果。
总之,效率不高。不需要的库会减慢它的速度,这是更新的代码:
import pyttsx3
import speech_recognition as sr
def command():
r = sr.Recognizer()
mic = sr.Microphone()
recog = sr.Recognizer()
with mic as u_audio:
r.adjust_for_ambient_noise(u_audio)
print('Speak please')
voice = r.listen(u_audio)
try:
listening = recog.recognize_google(voice, language = 'en-EN', show_all = True)
print(listening)
except Exception as e:
print('I not understand' + str(e))
command()
command()
评论结果!
推荐阅读
- node.js - 如何在 Typescript 中正确扩展 Request 的标头
- axapta - 如何在 d365 中动态更改 formcommandbuttonControl 的命令?
- python - 类型错误:“功能”缺少一个必需的位置参数:“自我”
- python - 使用 map() 的 multiprocessing.Pool 在大列表输入时表现得非常慢
- html - 特定 div 的 CSS 动画
- java - 在java中将列表的旧值更改为新值
- ios - 如何创建可更新的 CoreML 模型?
- vuetify.js - 如何使用 vee-validate 4 (alpha) 和 Vuetify 进行验证?
- c++ - 在 C++ 中从文件读取并动态分配到 Student 类型的数组中
- javascript - 用 Jest 发出警告