【问题标题】:why is my speech recognition not working in python为什么我的语音识别在 python 中不起作用
【发布时间】:2022-07-20 09:10:52
【问题描述】:

我正在研究这个项目,它只是一个桌面助手我正在使用语音识别和 pyttsx3,但是在尝试什么都不执行之后语音识别不起作用,它只是跳转到 except 并通过,有人可以告诉我为什么吗?以及我该如何解决 编辑:我尝试安装 pyaudio,但它不会让我不断收到错误

Defaulting to user installation because normal site-packages is not writeable
Collecting pyaudio
  Using cached PyAudio-0.2.11.tar.gz (37 kB)
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: pyaudio
  Building wheel for pyaudio (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [16 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.macosx-10.9-universal2-3.10
      copying src/pyaudio.py -> build/lib.macosx-10.9-universal2-3.10
      running build_ext
      building '_portaudio' extension
      creating build/temp.macosx-10.9-universal2-3.10
      creating build/temp.macosx-10.9-universal2-3.10/src
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch arm64 -arch x86_64 -g -DMACOSX=1 -I/Library/Frameworks/Python.framework/Versions/3.10/include/python3.10 -c src/_portaudiomodule.c -o build/temp.macosx-10.9-universal2-3.10/src/_portaudiomodule.o
      src/_portaudiomodule.c:29:10: fatal error: 'portaudio.h' file not found
      #include "portaudio.h"
               ^~~~~~~~~~~~~
      1 error generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pyaudio
  Running setup.py clean for pyaudio
Failed to build pyaudio
Installing collected packages: pyaudio
  Running setup.py install for pyaudio ... error
  error: subprocess-exited-with-error

  × Running setup.py install for pyaudio did not run successfully.
  │ exit code: 1
  ╰─> [16 lines of output]
      running install
      running build
      running build_py
      creating build
      creating build/lib.macosx-10.9-universal2-3.10
      copying src/pyaudio.py -> build/lib.macosx-10.9-universal2-3.10
      running build_ext
      building '_portaudio' extension
      creating build/temp.macosx-10.9-universal2-3.10
      creating build/temp.macosx-10.9-universal2-3.10/src
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch arm64 -arch x86_64 -g -DMACOSX=1 -I/Library/Frameworks/Python.framework/Versions/3.10/include/python3.10 -c src/_portaudiomodule.c -o build/temp.macosx-10.9-universal2-3.10/src/_portaudiomodule.o
      src/_portaudiomodule.c:29:10: fatal error: 'portaudio.h' file not found
      #include "portaudio.h"
               ^~~~~~~~~~~~~
      1 error generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> pyaudio

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure. ```


    import speech_recognition as sr
import pyttsx3

listener = sr.Recognizer()
engine = pyttsx3.init()

voices = engine.getProperty('voices')
engine.setProperty('voice', voices[0].id) 

def talk(text):
     engine.say(text)
     engine.runAndWait()

talk("i am your alexa, what can i do for you")

try:
    with sr.microphone() as source:
        print('listening...')
        voice = listener.listen(source)
        command = listener.recognize_google(voice)
        command = command.lower()
        if 'alexa' in command:
            engine.say(command)
            engine.runAndWait()
            print(command)
except:
    pass

【问题讨论】:

  • 如果您没有使用空的except 块,python 会准确地告诉您问题所在。你试过在没有try: 的情况下运行你的代码吗?
  • “没有名为 'pyaudio' 的模块”似乎是一个非常热门的线索。
  • 您在网上搜索这些错误时发现了什么?您是否使用minimal reproducible example 提出了一个新问题,包括错误的完整回溯,以便我们了解如何提供帮助?
  • 所以当我搜索那个错误时,我发现pyaudio installation always fails on mac你绑定了什么,当你试图自己解决问题时出了什么问题?

标签: python macos speech-recognition speech-to-text pyttsx3


【解决方案1】:

PyAudio 需要在您的系统上安装 PortAudio。查看PyAudio documentation 的安装部分。

对于 Mac OS,以下应该可以解决问题:

brew install portaudio
pip install pyaudio

如果您还没有使用 Homebrew,可能还有其他可接受的方式来安装 PortAudio。

【讨论】:

    【解决方案2】:

    brew 安装 portaudio pip install pyaudio

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-31
      • 1970-01-01
      相关资源
      最近更新 更多