conda librosa 0.8.0: cffi library Attribute Error using librosa.load() for .wav file
See original GitHub issueI installed librosa 0.8.0 into a conda environment having Python 3.8.6 and conda 4.9.1:
> conda install librosa
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: C:\Users\me\Miniconda3\envs\forge38
added / updated specs:
- librosa
The following NEW packages will be INSTALLED:
appdirs pkgs/main/noarch::appdirs-1.4.4-py_0
audioread conda-forge/win-64::audioread-2.1.8-py38h32f6830_3
libflac conda-forge/win-64::libflac-1.3.3-h6538335_0
libogg pkgs/main/win-64::libogg-1.3.2-he774522_0
librosa conda-forge/noarch::librosa-0.8.0-pyh9f0ad1d_0
libsndfile conda-forge/win-64::libsndfile-1.0.29-ha925a31_0
libvorbis pkgs/main/win-64::libvorbis-1.3.7-he774522_0
llvmlite pkgs/main/win-64::llvmlite-0.34.0-py38h1a82afc_4
numba pkgs/main/win-64::numba-0.51.2-py38hf9181ef_1
pooch conda-forge/noarch::pooch-1.2.0-py_0
pysoundfile conda-forge/noarch::pysoundfile-0.10.2-py_1001
resampy conda-forge/noarch::resampy-0.2.2-py_0
Output of librosa.show_versions():
INSTALLED VERSIONS
------------------
python: 3.8.6 | packaged by conda-forge | (default, Oct 7 2020, 18:22:52) [MSC v.1916 64 bit (AMD64)]
librosa: 0.8.0
audioread: 2.1.8
numpy: 1.19.2
scipy: 1.5.0
sklearn: 0.23.2
joblib: 0.17.0
decorator: 4.4.2
soundfile: 0.10.2
resampy: 0.2.2
numba: 0.51.2
numpydoc: 1.1.0
sphinx: 3.3.0
sphinx_rtd_theme: None
sphinxcontrib.versioning: None
sphinx-gallery: None
pytest: None
pytest-mpl: None
pytest-cov: None
matplotlib: 3.3.2
presets: None
When I tried using librosa.load() on a .wav file, I get this error:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-33-070e4879b935> in <module>
1 # Read in the first audio file, create the time array
----> 2 audio, sfreq = lr.load('Datasets/set_b/normal__278_1311163365896_A.wav')
3 time = np.arange(0, len(audio)) / sfreq
4
5 # Plot audio over time
~\Miniconda3\envs\forge38\lib\site-packages\librosa\core\audio.py in load(path, sr, mono, offset, duration, dtype, res_type)
144
145 try:
--> 146 with sf.SoundFile(path) as sf_desc:
147 sr_native = sf_desc.samplerate
148 if offset:
~\Miniconda3\envs\forge38\lib\site-packages\soundfile.py in __init__(self, file, mode, samplerate, channels, subtype, endian, format, closefd)
625 self._info = _create_info_struct(file, mode, samplerate, channels,
626 format, subtype, endian)
--> 627 self._file = self._open(file, mode_int, closefd)
628 if set(mode).issuperset('r+') and self.seekable():
629 # Move write position to 0 (like in Python file objects)
~\Miniconda3\envs\forge38\lib\site-packages\soundfile.py in _open(self, file, mode_int, closefd)
1168 if isinstance(file, _unicode):
1169 if _sys.platform == 'win32':
-> 1170 openfunction = _snd.sf_wchar_open
1171 else:
1172 file = file.encode(_sys.getfilesystemencoding())
AttributeError: cffi library 'C:\Users\me\Miniconda3\envs\forge38\Library\bin\sndfile.dll' has no function, constant or global variable named 'sf_wchar_open'
Others have had this problem:
I then completely removed the conda librosa and replaced it with the version from pip, and the error went away, all is good.
> pip install librosa
...
Successfully built librosa audioread resampy
Installing collected packages: audioread, llvmlite, numba, resampy, soundfile, appdirs, pooch, librosa
Successfully installed appdirs-1.4.4 audioread-2.1.9 librosa-0.8.0 llvmlite-0.34.0 numba-0.51.2 pooch-1.2.0 resampy-0.2.2 soundfile-0.10.3.post1
However, I would much rather use the conda version. Please help me solve the problem with the conda version.
Thank you…
Issue Analytics
- State:
- Created 3 years ago
- Comments:22 (1 by maintainers)
Top Results From Across the Web
Troubleshooting — librosa 0.10.0.dev0 documentation
This is a warning, not an error. Odds are that your code is working just fine. This warning is most often triggered by...
Read more >AttributeError: module 'librosa' has no attribute 'output'
I am using librosa 0.6 in anaconda and i ...
Read more >SoundFile — PySoundFile 0.10.3post1-1-g0394588 ...
SoundFile is an audio library based on libsndfile, CFFI and NumPy. Sound files can be read or written directly using the functions read()...
Read more >soundfile - PyPI
An audio library based on libsndfile, CFFI and NumPy. ... Data can be written to the file using soundfile.write() , or read from...
Read more >Zipping Conda Environment Breaks Librosa's Audioread ...
I have previously build pyspark environments using conda to package all ... Submitting a script to the cluster results in a librosa.load error...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@pythonic2020
This would only be there if you installed the
soundfile
module withpip
.BTW, I just noticed something odd in the error message:
Seems like the drive letter
C:
is missing?@wolfv
Please note that there are two errors, the first trying
conda
’s DLL, the second one trying the bundled DLL from the wheel package (which isn’t available in theconda
package).First error:
Second error:
The second error is expected and it wouldn’t happen if the DLL installed by
conda
would be found.Maybe the problem is
sndfile.dll
vs.libsndfile.dll
?