RVC-Project / RVC-Project/Retrieval-based-Voice-Conversion-WebUI

Feature Request / Bug: Robotic buzzing (electric shaver sound) and VRAM overflow during Batch Inference on 3GB/low-VRAM GPUs

Open
#2,848 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

following up
Dominant language
Python
Stars
38.4k
Forks
5.3k
PR merge metrics
No merged PRs in 30d

Description

When running Batch Inference on full-length audio tracks using a 3GB GPU (NVIDIA GeForce GTX 1060 3GB), the output audio turns into a permanent synthetic/robotic buzzing sound (resembling an electric shaver). The system does not throw a CUDA out-of-memory error, but the inference breaks because of underlying PyTorch 2.7+ compatibility quirks with legacy Pascal architectures.

The problem is twofold:

  1. FP16 Breakdown on 3GB: The framework automatically forces FP16 (Half Precision), which silently corrupts tensors into NaN zeros on older 3GB cards.
  2. VRAM Overload: Long audio files completely choke the available 3GB buffer when loaded all at once.

I solved this by modifying configs/config.py to force FP32 precision and offload the data caching pipeline to the host system RAM via CPU environment flags:

if torch.cuda.is_available():
    infer_device = torch.device("cuda:0")
    infer_dtype = torch.float32
    infer_gpu_mem = 3.0
    # FIX FOR 3GB/4GB GPUS:
    is_half = False
    os.environ["RVC_AUDIO_FORCE_CPU"] = "1"

I request to expose these two parameters directly into the WebUI "Model Inference" / "Batch Inference" tabs as checkboxes or advanced toggles:

  • Force FP32 Precision (Disable is_half)
  • Offload DataLoader Caching to System RAM (CPU)

This will instantly allow thousands of users with budget or older GPUs (GTX 1060 3GB, 1050Ti, 960) to safely process full-length songs in near real-time using Windows Shared GPU Memory without crashing the pipeline.

Additional context
  • OS: Windows 10 / 11 x64
  • Python: 3.12+ (Python 3.12 branch)
  • PyTorch: 2.7.1+cu118
  • GPU: NVIDIA GeForce GTX 1060 3GB

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in configs/config.py, then trace how is_half, infer_gpu_mem, and RVC_AUDIO_FORCE_CPU reach the Model Inference and Batch Inference tabs. Check how existing inference options are exposed in the WebUI and how low-VRAM batch processing is tested. Done means both requested toggles work without changing defaults and allow the reported 3GB-GPU workflow to complete without corrupted audio or VRAM overflow.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, pytorch
Domain
machine-learning, performance
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.