twardoch / audiostretchy

AudioStretchy is a Python wrapper around the `audio-stretch` C library, which performs fast, high-quality time-stretching of WAV/MP3 files without changing their pitch. Works well for speech, can time-stretch silence separately.
https://pypi.org/project/audiostretchy/
BSD 3-Clause "New" or "Revised" License
35 stars 2 forks source link

_Stretch.so file not found #9

Open vishjain opened 7 months ago

vishjain commented 7 months ago

I ran a linux docker image where I was using audiostretchy package and got this error:

translation-audio-worker-1 | File "/app/libs/voice_clone.py", line 6, in translation-audio-worker-1 | from audiostretchy.stretch import stretch_audio translation-audio-worker-1 | File "/usr/local/lib/python3.10/site-packages/audiostretchy/stretch.py", line 9, in translation-audio-worker-1 | from .interface.tdhs import TDHSAudioStretch translation-audio-worker-1 | File "/usr/local/lib/python3.10/site-packages/audiostretchy/interface/tdhs.py", line 35, in translation-audio-worker-1 | stretch_lib = ctypes.cdll.LoadLibrary(str(lib_path)) translation-audio-worker-1 | File "/usr/local/lib/python3.10/ctypes/init.py", line 452, in LoadLibrary translation-audio-worker-1 | return self._dlltype(name) translation-audio-worker-1 | File "/usr/local/lib/python3.10/ctypes/init.py", line 374, in init translation-audio-worker-1 | self._handle = _dlopen(self._name, mode) translation-audio-worker-1 | OSError: /usr/local/lib/python3.10/site-packages/audiostretchy/interface/linux/_stretch.so: cannot open shared object file: No such file or directory

How can I fix this such that it works? The audiostretchy package was working on Mac, so it must be an OS / system package issue.

Ran an ldd in the machine and got: not a dynamic executable

@twardoch

Thomcle commented 6 months ago

Same error here

amogh-gulati commented 3 months ago

I was getting the same error with arm linux docker on arm mac, made the docker image with something like docker buildx build --platform linux/amd64 -t $DOCKER_NAME -f $DOCKER_FILE . and it worked