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
Nobody has claimed this yet.
- 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:
- FP16 Breakdown on 3GB: The framework automatically forces FP16 (Half Precision), which silently corrupts tensors into
NaNzeros on older 3GB cards. - 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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