一,问题描述
报错信息
Traceback (most recent call last):
File "/Users/xxx/Workspaces/PycharmProjects/AIGC/face-swap/libs/audio_translation/audio_service.py", line 84, in <module>
audio_service.call_service('/Users/xxx/Workspaces/18.WAV')
File "/Users/xxx/Workspaces/PycharmProjects/AIGC/face-swap/libs/audio_translation/audio_service.py", line 69, in call_service
spk_id = spk_recognition.recognize(audio_dir)
File "/Users/xxx/Workspaces/PycharmProjects/AIGC/face-swap/libs/audio_translation/modules/speaker_recognition/model_infer.py", line 385, in recognize
embedding = self.compute_embedding(wav_path)
File "/Users/xxx/Workspaces/PycharmProjects/AIGC/face-swap/libs/audio_translation/modules/speaker_recognition/model_infer.py", line 360, in compute_embedding
wav = load_wav(wav_file)
File "/Users/xxx/Workspaces/PycharmProjects/AIGC/face-swap/libs/audio_translation/modules/speaker_recognition/model_infer.py", line 310, in load_wav
wav, fs = torchaudio.sox_effects.apply_effects_tensor(
File "/Users/xxx/anaconda3/envs/torch2.4/lib/python3.10/site-packages/torchaudio/sox_effects/sox_effects.py", line 156, in apply_effects_tensor
return sox_ext.apply_effects_tensor(tensor, sample_rate, effects, channels_first)
File "/Users/xxx/anaconda3/envs/torch2.4/lib/python3.10/site-packages/torchaudio/_extension/utils.py", line 121, in __getattr__
self._import_once()
File "/Users/xxx/anaconda3/envs/torch2.4/lib/python3.10/site-packages/torchaudio/_extension/utils.py", line 135, in _import_once
self.module = self.import_func()
File "/Users/xxx/anaconda3/envs/torch2.4/lib/python3.10/site-packages/torchaudio/_extension/utils.py", line 85, in _init_sox
ext = _import_sox_ext()
File "/Users/xxx/anaconda3/envs/torch2.4/lib/python3.10/site-packages/torchaudio/_extension/utils.py", line 80, in _import_sox_ext
_load_lib("libtorchaudio_sox")
File "/Users/xxx/anaconda3/envs/torch2.4/lib/python3.10/site-packages/torchaudio/_extension/utils.py", line 60, in _load_lib
torch.ops.load_library(path)
File "/Users/xxx/anaconda3/envs/torch2.4/lib/python3.10/site-packages/torch/_ops.py", line 1295, in load_library
ctypes.CDLL(path)
File "/Users/xxx/anaconda3/envs/torch2.4/lib/python3.10/ctypes/__init__.py", line 374, in __init__
self._handle = _dlopen(self._name, mode)
OSError: dlopen(/Users/xxx/anaconda3/envs/torch2.4/lib/python3.10/site-packages/torchaudio/lib/libtorchaudio_sox.so, 0x0006): Library not loaded: @rpath/libsox.dylib
Referenced from: <40D7FCE7-1578-3B93-A057-8E8DFF88BAC0> /Users/xxx/anaconda3/envs/torch2.4/lib/python3.10/site-packages/torchaudio/lib/libtorchaudio_sox.so
Reason: tried: '/Users/xxx/anaconda3/envs/torch2.4/lib/python3.10/lib-dynload/../../libsox.dylib' (no such file), '/Users/xxx/anaconda3/envs/torch2.4/bin/../lib/libsox.dylib' (no such file)
环境说明
硬件:Mac Book Pro(M2)
Python环境:Conda虚拟环境( python3.10,Pytorch2.4)
二,解决方法
# 1) Make sure you have sox installed
brew install sox
# 2) Set environment variable for torchaudio
export BUILD_SOX=1
# 3) Linking brew's libsox.dylib to python virtual environment (注意更换自己的路径)
ln -s $HOME/homebrew/lib/libsox.dylib $HOME/miniconda3/envs/ENVIRONMENT_NAME/lib/libsox.dylib