facebookresearch / demucs

Code for the paper Hybrid Spectrogram and Waveform Source Separation
MIT License
7.94k stars 991 forks source link

Torchaudio C++ extension is not available #183

Open leonardoriossandoval opened 3 years ago

leonardoriossandoval commented 3 years ago

Can somebody help me please? I read that we cannot use "--dl " due to the update, I installed my demucs by 11 months ago method. I used that "-d cpu" as they say in their update info but when I enter to the folder it's empty. Any idea? Thanks!

(demucs) C:\Users\leona\Desktop\demucs-master>python.exe -m demucs.separate -d cpu C:\Users\leona\Downloads\Music\Cala.mp3 C:\Users\leona\anaconda3\envs\demucs\lib\site-packages\torchaudio\extension\extension.py:13: UserWarning: torchaudio C++ extension is not available. warnings.warn('torchaudio C++ extension is not available.') Separated tracks will be stored in C:\Users\leona\Desktop\demucs-master\separated\demucs_quantized Separating track C:\Users\leona\Downloads\Music\Cala.mp3

0 | 0.0/210.0 [00:00<?, ?seconds/s] 14%|██████████▍ | 30.0/210.0 [00:37<03:43, 1.24s/seconds] 29%|████████████████████▊ | 60.0/210.0 [01:14<03:05, 1.23s/seconds] 43%|███████████████████████████████▎ | 90.0/210.0 [01:52<02:29, 1.25s/seconds] 57%|█████████████████████████████████████████▏ | 120.0/210.0 [02:44<02:10, 1.45s/seconds] 71%|███████████████████████████████████████████████████▍ | 150.0/210.0 [03:24<01:24, 1.40s/seconds] 86%|█████████████████████████████████████████████████████████████▋ | 180.0/210.0 [03:58<00:39, 1.32s/seconds]100%|████████████████████████████████████████████████████████████████████████| 210.0/210.0 [04:12<00:00, 1.04s/seconds]100%|████████████████████████████████████████████████████████████████████████| 210.0/210.0 [04:12<00:00, 1.20s/seconds] Traceback (most recent call last): File "C:\Users\leona\anaconda3\envs\demucs\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\leona\anaconda3\envs\demucs\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\leona\Desktop\demucs-master\demucs\separate.py", line 185, in main() File "C:\Users\leona\Desktop\demucs-master\demucs\separate.py", line 181, in main ta.save(wavname, source, sample_rate=model.samplerate)

adefossez commented 3 years ago

Run python.exe -m pip install soundfile and it should work after that!

leonardoriossandoval commented 3 years ago

that's what I did, I tried to install it before activating demucs, when I demucs was activated and also installing pytorch from its website. Check this :

_**(base) C:\Users\leona>python.exe -m pip install torchaudio Collecting torchaudio Downloading torchaudio-0.8.1-cp38-none-win_amd64.whl (109 kB) |████████████████████████████████| 109 kB 1.7 MB/s Collecting torch==1.8.1 Downloading torch-1.8.1-cp38-cp38-win_amd64.whl (190.5 MB) |████████████████████████████████| 190.5 MB 111 kB/s Requirement already satisfied: typing-extensions in c:\users\leona\anaconda3\lib\site-packages (from torch==1.8.1->torchaudio) (3.7.4.3) Requirement already satisfied: numpy in c:\users\leona\anaconda3\lib\site-packages (from torch==1.8.1->torchaudio) (1.19.2) Installing collected packages: torch, torchaudio Successfully installed torch-1.8.1 torchaudio-0.8.1

(base) C:\Users\leona>cd C:\Users\leona\Desktop\demucs-master

(base) C:\Users\leona\Desktop\demucs-master>conda activate demucs

(demucs) C:\Users\leona\Desktop\demucs-master>python.exe -m demucs.separate -d cpu C:\Users\leona\Downloads\Music\Cala.mp3 C:\Users\leona\anaconda3\envs\demucs\lib\site-packages\torchaudio\extension\extension.py:13: UserWarning: torchaudio C++ extension is not available. warnings.warn('torchaudio C++ extension is not available.')**_

and then anaconda prompt starts to "load" as my first question. Finally, when I enter to the mp3 song file called "Cala" in demucs quantized , it's empty.

_Traceback (most recent call last): File "C:\Users\leona\anaconda3\envs\demucs\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\leona\anaconda3\envs\demucs\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\leona\Desktop\demucs-master\demucs\separate.py", line 185, in main() File "C:\Users\leona\Desktop\demucs-master\demucs\separate.py", line 181, in main ta.save(wavname, source, sample_rate=model.samplerate) File "C:\Users\leona\anaconda3\envs\demucs\lib\site-packages\torchaudio\backend_soundfile_backend.py", line 424, in save soundfile.write( File "C:\Users\leona\anaconda3\envs\demucs\lib\site-packages\soundfile.py", line 314, in write with SoundFile(file, 'w', samplerate, channels, File "C:\Users\leona\anaconda3\envs\demucs\lib\site-packages\soundfile.py", line 629, in init self._file = self._open(file, mode_int, closefd) File "C:\Users\leona\anaconda3\envs\demucs\lib\site-packages\soundfile.py", line 1183, in _open _error_check(_snd.sf_error(file_ptr), File "C:\Users\leona\anaconda3\envs\demucs\lib\site-packages\soundfile.py", line 1357, in _error_check raise RuntimeError(prefix + _ffi.string(err_str).decode('utf-8', 'replace')) RuntimeError: Error opening 'separated\demucs_quantized\Cala\drums.wav': System error._

adefossez commented 3 years ago

do you have ffmpeg installed with anaconda ? conda install -c conda-forge ffmpeg normally it should be used in priority on Windows, because torchaudio doesn't support mp3 there.

joseGComa commented 3 years ago

Similar problem over here...

UserWarning: torchaudio C++ extension is not available. warnings.warn('torchaudio C++ extension is not available.') C:\Users\Jose\anaconda3\envs\demucs\lib\site-packages\torch\cuda__init__.py:52: UserWarning: CUDA initialization: CUDA driver initialization failed, you might not have a CUDA gpu. (Triggered internally at ..\c10\cuda\CUDAFunctions.cpp:109.) return torch._C._cuda_getDeviceCount() > 0 Separated tracks will be stored in C:\Users\Jose\Desktop\demucs-master\separated\demucs_quantized Separating track C:\Users\Jose\Desktop\demucs-master\test.mp3 0%| | 0.0/30.0 [00:00<?, ?seconds/s]100%|██████████████████████████████████████████████████████████████████████████| 30.0/30.0 [00:13<00:00, 2.30seconds/s]100%|██████████████████████████████████████████████████████████████████████████| 30.0/30.0 [00:13<00:00, 2.30seconds/s] Traceback (most recent call last): File "C:\Users\Jose\anaconda3\envs\demucs\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\Jose\anaconda3\envs\demucs\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\Jose\Desktop\demucs-master\demucs\separate.py", line 185, in main() File "C:\Users\Jose\Desktop\demucs-master\demucs\separate.py", line 181, in main ta.save(wavname, source, sample_rate=model.samplerate) File "C:\Users\Jose\anaconda3\envs\demucs\lib\site-packages\torchaudio\backend_soundfile_backend.py", line 424, in save soundfile.write( File "C:\Users\Jose\anaconda3\envs\demucs\lib\site-packages\soundfile.py", line 314, in write with SoundFile(file, 'w', samplerate, channels, File "C:\Users\Jose\anaconda3\envs\demucs\lib\site-packages\soundfile.py", line 629, in init self._file = self._open(file, mode_int, closefd) File "C:\Users\Jose\anaconda3\envs\demucs\lib\site-packages\soundfile.py", line 1183, in _open _error_check(_snd.sf_error(file_ptr), File "C:\Users\Jose\anaconda3\envs\demucs\lib\site-packages\soundfile.py", line 1357, in _error_check raise RuntimeError(prefix + _ffi.string(err_str).decode('utf-8', 'replace')) RuntimeError: Error opening 'separated\demucs_quantized\test\drums.wav': System error.

adefossez commented 3 years ago

As a workaround you can try using the --mp3 flag which will export as Mp3, and should work. I'll dig into that when I get the time :) The error message from soundfile is definitely not super helpful...

joseGComa commented 3 years ago

Thank you for the answer, but I am still getting problems Traceback (most recent call last): File "C:\Users\Jose\anaconda3\envs\demucs\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\Jose\anaconda3\envs\demucs\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\Jose\Desktop\demucs-master\demucs\separate.py", line 185, in main() File "C:\Users\Jose\Desktop\demucs-master\demucs\separate.py", line 174, in main encode_mp3(source, stem + ".mp3", File "C:\Users\Jose\Desktop\demucs-master\demucs\separate.py", line 73, in encode_mp3 with open(path, "wb") as f: PermissionError: [Errno 13] Permission denied: 'separated\demucs_quantized\test\drums.mp3'

VamuveTV commented 3 years ago

Me too. It does not work at all. This is the fuill error message (demucs) C:\anaconda3\demucs>python.exe -m demucs.separate -d cpu --dl "C:\anaconda3\demucs\separated\demucs\teste.mp3" C:\Users\Gustavo\anaconda3\envs\demucs\lib\site-packages\torchaudio\extension\extension.py:13: UserWarning: torchaudio C++ extension is not available. warnings.warn('torchaudio C++ extension is not available.') usage: demucs.separate [-h] [-n NAME] [-v] [-o OUT] [--models MODELS] [-d DEVICE] [--shifts SHIFTS] [--overlap OVERLAP] [--no-split] [--float32] [--int16] [--mp3] [--mp3-bitrate MP3_BITRATE] tracks [tracks ...] demucs.separate: error: unrecognized arguments: --dl

here is a possible soluton, but i have no idea how to implement it https://stackoverflow.com/questions/54872876/how-to-install-torch-audio-on-windows-10-conda

adefossez commented 3 years ago

@joseGComa it seems you don't have the write rights to the output directory. You should check the properties of the folder separated and see if you can create file in there.

@VamuveTV just remove the --dl flag.

joseGComa commented 3 years ago

@joseGComa it seems you don't have the write rights to the output directory. You should check the properties of the folder separated and see if you can create file in there.

Yes, I can create a file there. Also, I was running the prompt as admin.