effusiveperiscope / so-vits-svc

so-vits-svc
MIT License
179 stars 71 forks source link

MP3 does not convert. (File contains data in an unknown format.) #36

Closed AndyAnttle closed 1 year ago

AndyAnttle commented 1 year ago

When choosing a .mp3 file, it crashes with the following error:

D:/User/Desktop/muz/antagonist/test.mp3 Traceback (most recent call last): File "D:\ArtificialIntelligence\so-vits-svc-4.0\miniconda\lib\site-packages\librosa\core\audio.py", line 164, in load y, sr_native = soundfile_load(path, offset, duration, dtype) File "D:\ArtificialIntelligence\so-vits-svc-4.0\miniconda\lib\site-packages\librosa\core\audio.py", line 195, in __soundfile_load context = sf.SoundFile(path) File "D:\ArtificialIntelligence\so-vits-svc-4.0\miniconda\lib\site-packages\soundfile.py", line 629, in init__ self._file = self._open(file, mode_int, closefd) File "D:\ArtificialIntelligence\so-vits-svc-4.0\miniconda\lib\site-packages\soundfile.py", line 1183, in _open _error_check(_snd.sf_error(file_ptr), File "D:\ArtificialIntelligence\so-vits-svc-4.0\miniconda\lib\site-packages\soundfile.py", line 1357, in _error_check raise RuntimeError(prefix + _ffi.string(err_str).decode('utf-8', 'replace')) RuntimeError: Error opening 'D:/User/Desktop/muz/antagonist/test.mp3': File contains data in an unknown format.

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "inference_gui2.py", line 1319, in convert infer_tool.format_wav(clean_name) File "D:\ArtificialIntelligence\so-vits-svc-4.0\so-vits-svc\inference\infer_tool.py", line 69, in format_wav raw_audio, raw_sample_rate = librosa.load(audio_path, mono=True, sr=None) File "D:\ArtificialIntelligence\so-vits-svc-4.0\miniconda\lib\site-packages\librosa\util\decorators.py", line 88, in inner_f return f(*args, **kwargs) File "D:\ArtificialIntelligence\so-vits-svc-4.0\miniconda\lib\site-packages\librosa\core\audio.py", line 170, in load y, sr_native = __audioread_load(path, offset, duration, dtype) File "D:\ArtificialIntelligence\so-vits-svc-4.0\miniconda\lib\site-packages\librosa\core\audio.py", line 226, in audioread_load reader = audioread.audio_open(path) File "D:\ArtificialIntelligence\so-vits-svc-4.0\miniconda\lib\site-packages\audioread\init__.py", line 132, in audio_open raise NoBackendError() audioread.exceptions.NoBackendError

If feed him .wav then it works. On another computer, everything works by default immediately after installation.

effusiveperiscope commented 1 year ago

Some versions of soundfile do not have mp3 support due to patent issues. You may need to install ffmpeg or gstreamer for audioread to work

AndyAnttle commented 1 year ago

Oh, that's it, then it explains why it works on another computer, since I installed ffmpeg on it. Thanks for the clarification.