簡體   English   中英

無法在 Raspberry Pi 4B 上導入 librosa

[英]cannot import librosa on Raspberry Pi 4B

我需要分析音頻頻譜來檢測哭聲,所以需要 librosa。 我安裝了 librosa(0.9.2) 需要的所有依賴項:LLVM11、llvmlite 0.39.1、numba 0.56.2、numpy 1.22.4。 但是,當我導入 librosa 時,問題就出現了。 當我導入 numba 時,沒有問題出現。 我應該怎么做才能解決這個問題。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.9/dist-packages/librosa/__init__.py", line 209, in <module>
    from . import core
  File "/usr/local/lib/python3.9/dist-packages/librosa/core/__init__.py", line 6, in <module>
    from .audio import *  # pylint: disable=wildcard-import
  File "/usr/local/lib/python3.9/dist-packages/librosa/core/audio.py", line 12, in <module>
    import resampy
  File "/usr/local/lib/python3.9/dist-packages/resampy/__init__.py", line 7, in <module>
    from .core import *
  File "/usr/local/lib/python3.9/dist-packages/resampy/core.py", line 9, in <module>
    from .interpn import resample_f_s, resample_f_p
  File "/usr/local/lib/python3.9/dist-packages/resampy/interpn.py", line 113, in <module>
    def resample_f_p(x, t_out, interp_win, interp_delta, num_table, scale, y):
  File "/usr/local/lib/python3.9/dist-packages/numba/np/ufunc/decorators.py", line 194, in wrap
    guvec.add(fty)
  File "/usr/local/lib/python3.9/dist-packages/numba/np/ufunc/gufunc.py", line 63, in add
    self.gufunc_builder.add(fty)
  File "/usr/local/lib/python3.9/dist-packages/numba/np/ufunc/ufuncbuilder.py", line 241, in add
    cres, args, return_type = _compile_element_wise_function(
  File "/usr/local/lib/python3.9/dist-packages/numba/np/ufunc/ufuncbuilder.py", line 173, in _compile_element_wise_function
    cres = nb_func.compile(sig, **targetoptions)
  File "/usr/local/lib/python3.9/dist-packages/numba/np/ufunc/ufuncbuilder.py", line 121, in compile
    return self._compile_core(sig, flags, locals)
  File "/usr/local/lib/python3.9/dist-packages/numba/np/ufunc/ufuncbuilder.py", line 154, in _compile_core
    cres = compiler.compile_extra(typingctx, targetctx,
  File "/usr/local/lib/python3.9/dist-packages/numba/core/compiler.py", line 716, in compile_extra
    return pipeline.compile_extra(func)
  File "/usr/local/lib/python3.9/dist-packages/numba/core/compiler.py", line 452, in compile_extra
    return self._compile_bytecode()
  File "/usr/local/lib/python3.9/dist-packages/numba/core/compiler.py", line 520, in _compile_bytecode
    return self._compile_core()
  File "/usr/local/lib/python3.9/dist-packages/numba/core/compiler.py", line 499, in _compile_core
    raise e
  File "/usr/local/lib/python3.9/dist-packages/numba/core/compiler.py", line 486, in _compile_core
    pm.run(self.state)
  File "/usr/local/lib/python3.9/dist-packages/numba/core/compiler_machinery.py", line 368, in run
    raise patched_exception
  File "/usr/local/lib/python3.9/dist-packages/numba/core/compiler_machinery.py", line 356, in run
    self._runPass(idx, pass_inst, state)
  File "/usr/local/lib/python3.9/dist-packages/numba/core/compiler_lock.py", line 35, in _acquire_compile_lock
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/numba/core/compiler_machinery.py", line 311, in _runPass
    mutated |= check(pss.run_pass, internal_state)
  File "/usr/local/lib/python3.9/dist-packages/numba/core/compiler_machinery.py", line 273, in check
    mangled = func(compiler_state)
  File "/usr/local/lib/python3.9/dist-packages/numba/core/typed_passes.py", line 105, in run_pass
    typemap, return_type, calltypes, errs = type_inference_stage(
  File "/usr/local/lib/python3.9/dist-packages/numba/core/typed_passes.py", line 83, in type_inference_stage
    errs = infer.propagate(raise_errors=raise_errors)
  File "/usr/local/lib/python3.9/dist-packages/numba/core/typeinfer.py", line 1086, in propagate
    raise errors[0]
numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Internal error at <numba.core.typeinfer.CallConstraint object at 0xab750898>.
Failed in nopython mode pipeline (step: native lowering)
The 'parallel' target is not currently supported on 32 bit hardware.
During: lowering "id=1[LoopNest(index_variable = parfor_index.44, range = (0, n_out, 1))]{168: <ir.Block at /usr/local/lib/python3.9/dist-packages/resampy/interpn.py (52)>, 170: <ir.Block at /usr/local/lib/python3.9/dist-packages/resampy/interpn.py (52)>, 238: <ir.Block at /usr/local/lib/python3.9/dist-packages/resampy/interpn.py (61)>, 304: <ir.Block at /usr/local/lib/python3.9/dist-packages/resampy/interpn.py (72)>, 306: <ir.Block at /usr/local/lib/python3.9/dist-packages/resampy/interpn.py (72)>, 84: <ir.Block at /usr/local/lib/python3.9/dist-packages/resampy/interpn.py (34)>, 380: <ir.Block at /usr/local/lib/python3.9/dist-packages/resampy/interpn.py (77)>}Var(parfor_index.44, interpn.py:34)" at /usr/local/lib/python3.9/dist-packages/resampy/interpn.py (34)
During: resolving callee type: type(CPUDispatcher(<function _resample_loop at 0xabd21808>))
During: typing of call at /usr/local/lib/python3.9/dist-packages/resampy/interpn.py (114)

Enable logging at debug level for details.

File "../../usr/local/lib/python3.9/dist-packages/resampy/interpn.py", line 114:
def resample_f_p(x, t_out, interp_win, interp_delta, num_table, scale, y):
    _resample_loop_p(x, t_out, interp_win, interp_delta, num_table, scale, y)

雖然所有 Raspberry Pi 4 板都是 64 位的,但當使用普通的 Raspberry Pi OS 時,它們會報告自己為 32 位,因為它是 32 位的。

因此錯誤。

32 位硬件當前不支持“並行”目標。

所以你需要使用 64 位樹莓派操作系統 - https://www.raspberrypi.com/news/raspberry-pi-os-64-bit/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM