Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't train or infer in macos // issue with ffmpeg #72

Open
Cptn-Reynolds opened this issue Jul 24, 2023 · 6 comments
Open

Can't train or infer in macos // issue with ffmpeg #72

Cptn-Reynolds opened this issue Jul 24, 2023 · 6 comments

Comments

@Cptn-Reynolds
Copy link

Cptn-Reynolds commented Jul 24, 2023

I saw there is a macos version of the gui and got it running.

I was able to "train index" one time and "train", but when trying to use "Inference" afterwards, it crashed with an ffmpeg error.

Error while train indexing

Using MPS
Traceback (most recent call last):
  File "/Users/cptnray/rvc-webui/lib/rvc/utils.py", line 36, in load_audio
    ffmpeg.input(file, threads=0)
  File "/Users/cptnray/rvc-webui/venv/lib/python3.10/site-packages/ffmpeg/_run.py", line 313, in run
    process = run_async(
  File "/Users/cptnray/rvc-webui/venv/lib/python3.10/site-packages/ffmpeg/_run.py", line 284, in run_async                                  | 0/24 [00:00<?, ?it/s]
    return subprocess.Popen(
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/subprocess.py", line 971, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/subprocess.py", line 1863, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/cptnray/rvc-webui/venv/lib/python3.10/site-packages/gradio/routes.py", line 439, in run_predict
    output = await app.get_blocks().process_api(
  File "/Users/cptnray/rvc-webui/venv/lib/python3.10/site-packages/gradio/blocks.py", line 1384, in process_api
    result = await self.call_function(
  File "/Users/cptnray/rvc-webui/venv/lib/python3.10/site-packages/gradio/blocks.py", line 1103, in call_function
    prediction = await utils.async_iteration(iterator)
  File "/Users/cptnray/rvc-webui/venv/lib/python3.10/site-packages/gradio/utils.py", line 343, in async_iteration
    return await iterator.__anext__()
  File "/Users/cptnray/rvc-webui/venv/lib/python3.10/site-packages/gradio/utils.py", line 336, in __anext__
    return await anyio.to_thread.run_sync(
  File "/Users/cptnray/rvc-webui/venv/lib/python3.10/site-packages/anyio/to_thread.py", line 33, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "/Users/cptnray/rvc-webui/venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread
    return await future
  File "/Users/cptnray/rvc-webui/venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 807, in run
    result = context.run(func, *args)
  File "/Users/cptnray/rvc-webui/venv/lib/python3.10/site-packages/gradio/utils.py", line 319, in run_sync_iterator_async
    return next(iterator)
  File "/Users/cptnray/rvc-webui/venv/lib/python3.10/site-packages/gradio/utils.py", line 688, in gen_wrapper
    yield from f(*args, **kwargs)
  File "/Users/cptnray/rvc-webui/modules/tabs/training.py", line 74, in train_index_only
    split.preprocess_audio(
  File "/Users/cptnray/rvc-webui/lib/rvc/preprocessing/split.py", line 195, in preprocess_audio
    write_mute(mute_wav_path, speaker_id, waves_dir, waves16k_dir, sampling_rate)
  File "/Users/cptnray/rvc-webui/lib/rvc/preprocessing/split.py", line 65, in write_mute
    tmp_audio = load_audio(mute_wave_filename, sampling_rate)
  File "/Users/cptnray/rvc-webui/lib/rvc/utils.py", line 41, in load_audio
    raise RuntimeError(f"Failed to load audio: {e}")
RuntimeError: Failed to load audio: [Errno 2] No such file or directory: 'ffmpeg'
2023-07-24 20:52:26 | INFO | httpx | HTTP Request: POST http://127.0.0.1:7860/api/predict "HTTP/1.1 500 Internal Server Error"
2023-07-24 20:52:26 | INFO | httpx | HTTP Request: POST http://127.0.0.1:7860/reset "HTTP/1.1 200 OK"
@Cptn-Reynolds Cptn-Reynolds changed the title Can't train in macos // missing ffmpeg Can't train or infer in macos // missing ffmpeg Jul 24, 2023
@Cptn-Reynolds Cptn-Reynolds changed the title Can't train or infer in macos // missing ffmpeg Can't train or infer in macos // issue with ffmpeg Jul 24, 2023
@Cptn-Reynolds
Copy link
Author

Error during Inference

Error: Traceback (most recent call last):
  File "/Users/cptnray/rvc-webui/modules/utils.py", line 23, in load_audio
    ffmpeg.input(file, threads=0)
  File "/Users/cptnray/rvc-webui/venv/lib/python3.10/site-packages/ffmpeg/_run.py", line 313, in run
    process = run_async(
  File "/Users/cptnray/rvc-webui/venv/lib/python3.10/site-packages/ffmpeg/_run.py", line 284, in run_async
    return subprocess.Popen(
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/subprocess.py", line 971, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/subprocess.py", line 1863, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/cptnray/rvc-webui/modules/tabs/inference.py", line 108, in infer
    audio = model.single(
  File "/Users/cptnray/rvc-webui/modules/models.py", line 124, in single
    audio = load_audio(input_audio, 16000)
  File "/Users/cptnray/rvc-webui/modules/utils.py", line 28, in load_audio
    raise RuntimeError(f"Failed to load audio: {e}")
RuntimeError: Failed to load audio: [Errno 2] No such file or directory: 'ffmpeg'

@ddPn08
Copy link
Owner

ddPn08 commented Jul 24, 2023

To use this software, ffmpeg must be installed on your PC.
If you are using MacOS, you can install ffmpeg using homebrew.

@Cptn-Reynolds
Copy link
Author

According to the Requirements.txt, the ffmpeg-python package is installed in the python environment when running webui.sh - shouldn't this be enough?

@ddPn08
Copy link
Owner

ddPn08 commented Jul 27, 2023

I recognize that ffmpeg-python is a library for operating ffmpeg installed on os.
So you need ffmpeg installed.

@Cptn-Reynolds
Copy link
Author

I see, thanks for clarifying :) Will update you after testing

@noisyneil
Copy link

Could you possibly provide a link to the instructions for macOS installation? It's all a bit bewildering.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants