dscripka / openWakeWord

An open-source audio wake word (or phrase) detection framework with a focus on performance and simplicity.
Apache License 2.0
544 stars 47 forks source link

ModuleNotFoundError: No module named 'speexdsp_ns' #106

Open dzianisv opened 5 months ago

dzianisv commented 5 months ago

Module fails on macOS because ModuleNotFoundError: No module named 'speexdsp_ns'

Traceback (most recent call last):
  File "/Users/engineer/workspace/AssistantPlato/./src/wakeword.py", line 31, in <module>
    wait_for_wakeup_word()
  File "/Users/engineer/workspace/AssistantPlato/./src/wakeword.py", line 17, in wait_for_wakeup_word
    oww_model = Model(enable_speex_noise_suppression=True)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/engineer/workspace/AssistantPlato/.venv/lib/python3.11/site-packages/openwakeword/utils.py", line 539, in wrapped
    return func(*args, **new_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/engineer/workspace/AssistantPlato/.venv/lib/python3.11/site-packages/openwakeword/model.py", line 202, in __init__
    from speexdsp_ns import NoiseSuppression
ModuleNotFoundError: No module named 'speexdsp_ns'
dzianisv commented 5 months ago

ok, it seems that this module depends on speexdsp-lib that is not available for macOS

dscripka commented 5 months ago

That's correct, that library would need to be compiled for OSX. But the functionality provided by that library is optional, so I can adjust setup.py so that you won't get that error when install on Mac systems.

JIeJaitt commented 1 month ago

That's correct, that library would need to be compiled for OSX. But the functionality provided by that library is optional, so I can adjust setup.py so that you won't get that error when install on Mac systems.

@dzianisv @dscripka hi~Can arm's Apple chip mac run this project?

dscripka commented 1 month ago

@JIeJaitt yes, the project itself can run on Apple M series chips, yes, but some functionality might not be supported, and performance may not be optimized.