mirror of
https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI.git
synced 2026-11-05 00:27:30 +00:00
[GH-ISSUE #2850] PART 2: Critical Argument Reversals, NumPy 1.24+ Security Breaks, and Dynamic Mel-Spectrogram Shape Mismatches in Python 3.12 Branch #2050
Labels
No labels
AMD/Intel
bug
bug
bug
colab
dependencies
documentation
duplicate
enhancement
following up
good first issue
help wanted
invalid
question
stale
stale
stale
todo list
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
RVC-Project/Retrieval-based-Voice-Conversion-WebUI#2050
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @LebedevIV on GitHub (Aug 24, 2026).
Original GitHub issue: https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/issues/2850
Bug 7: Complete Positional Argument Mismatch inside
train/dataset/extract_f0.pypython -m train.dataset.extract_f0), the updated internal argument parser (sys.argv) completely reverses the expected input layout. Instead of reading standard pipeline indices, line 20 checksmode = sys.argv[1].lower()against hardcoded environment strings ("cpu","cuda","dml"). If a user passes an extraction method string first (e.g.,rmvpe), it falls back to a fatal crash:ValueError: Unsupported F0 extraction mode: rmvpe. Conversely, if paths are passed sequentially, it parses the folder directory string as the hardware backend, throwing:ValueError: Unsupported F0 extraction mode: d:/git/rvc/logs/k_dedu.train/dataset/extract_f0.pyargparseflags instead of relying on fragile, shiftingsys.argvabsolute array positioning.Bug 8: NumPy 1.24+ Validation Failure (
allow_pickle=False) intrain/data_utils.pynp.load()by default to mitigate remote code execution risks (ValueError: Cannot load file containing pickled data when allow_pickle=False). However, RVC’s feature extraction sub-scripts (extract_hubert_feature.py) continue to generate hidden context.npyvoice arrays utilizing object serialization protocols. As a result, theDataLoadercompletely halts training at the very first step of Epoch 1.train/data_utils.pyget_labels()to explicitly override the strict global security defaults since these feature weights are computed locally and are entirely deterministic:Bug 9: Fatal
RuntimeErrorDue to HiFi-GAN Vocoder Mel-Spectrogram Frame Alignment Droppingaudio-slicer), the random target cropping length can drop below or fall out of mathematical alignment with the vocoder's network layer chain. The generator upsamples temporal data features using a strict multiplier sequence (12 * 10 * 2 * 2 = 480). If the internalsegment_sizewindow doesn't map cleanly to the remaining audio chunk borders, the target size and input size mismatch, triggering a fatal tensor crash during L1 loss calculation:RuntimeError: The size of tensor a (120) must match the size of tensor b (480) at non-singleton dimension 2train/train.pyF.l1_lossloss evaluation module to clip padding edge discrepancies dynamically on the fly:Bug 10: Broken Output Directory Fallback in Dataset Preprocessing
train/preprocess.pyfrom the WebUI is systematically ignored during dataset slicing routines. The script hard-routes all sliced audio chunks directly into the project's base fallback directory (./logs/k_dedu/0_gt_wavs), completely disregarding user-specified experiment directory tags (e.g.,k_dedu_v3). This overwrites existing index footprints and creates background file conflicts.train/preprocess.pyBug 11: Missing Native UTF-8 Byte Order Mark (BOM) Sanitization
filelist.txtorconfig.jsonare parsed on Windows environments, common local shell text outputs or editors prepend a non-visual 3-byte BOM marker (п»ї) to the initialization stream. The framework's input parsing methods read this header as text data, prepending it to file path lookups and throwing:OSError: [WinError 123] Invalid filename syntax: 'п»їD:\\git\\...'.tools/file_io.py/train/utils.pyutf-8-sigencoding globally across all text-reading functions to automatically strip neoteric Windows structural byte artifacts.FEATURE REQUEST / SUGGESTION FOR EXTRACT SCRIPTS
Add a Force Regenerate Cache flag to
extract_f0.pyandextract_hubert_feature.py. Currently, the tools check for file completion globally based on simple directory string presence. If the naming convention shifts (e.g., creating0_1.wav.npyinstead of0_1.npy), the scripts write a success state log and skip extraction completely, rendering empty data packets and forcing users to manually flush cache folders via system shells.