NeoRVC 🎵
NeoRVC is an enhanced extension of AIcoverGen, designed to create AI-generated song covers using any RVC v2 trained voice from YouTube videos or local audio files. Perfect for developers integrating singing functionality into AI assistants, chatbots, or VTubers, and for fans who want their favorite characters to sing their favorite songs.
This project will rarely get updates because I'm tired of working alone, open PR if you want improve this project.
Features
- User-Friendly WebUI: Simplified voice model conversions and downloads.
- Advanced Pitch Detection: Supports hybrid methods (rmvpe, crepe, fcpe) for precise vocal conversions.
- Flexible Input Options: Generate covers from YouTube URLs or local audio files.
- Customizable Outputs: Choose between full song or vocals-only output, with options for wav or mp3 formats.
- Voice Model Management: Download public voice models with search/tag filters or upload locally trained RVC v2 models.
- Enhanced Audio Controls: Adjust pitch, reverb, volume for main/backup vocals and instrumentals, and apply advanced RVC settings (filter radius, RMS mix rate, protect).
- CLI Support: Perform inference and model downloads via command-line interface.
- Local Network Sharing: Share WebUI over a local network for collaborative use.
- Intermediate File Retention: Option to keep isolated vocals/instrumentals for further editing.
Changelog
- Added WebUI for streamlined conversions and voice model downloads.
- Implemented hybrid pitch detection with rmvpe, crepe, and fcpe methods.
- Enabled support for local audio file inputs.
- Introduced option to retain intermediate files (e.g., isolated vocals/instrumentals).
- Added support for Pixeldrain download links for voice models.
- Improved vocal conversions with new rmvpe pitch extraction technique.
- Included volume controls for main vocals, backup vocals, and instrumentals.
- Added index rate, reverb, and advanced RVC options (filter_radius, rms_mix_rate, protect).
- Enabled local file uploads via file browser in WebUI.
- Supported pitch change and autotune for vocals.
- Introduced CLI inference for automated workflows.
CLI Usage
NeoRVC provides a powerful command-line interface for inference and model downloading. below are the available commands and their options:
Command | Description | Usage Example |
---|---|---|
infer |
Generate AI song cover using a YouTube URL or local audio file. | python ./neorvc/main_cli.py infer "https://youtube.com/watch?v=example" "my_voice_model" --pitch_change 2 --keep_files --output_type full |
download |
Download an RVC voice model from a specified URL. | python ./neorvc/main_cli.py download "model_url" "my_voice_model" |
CLI Options for infer
Option | Description | Example Value |
---|---|---|
--pitch_change |
Pitch change in semitones | 2 |
--keep_files |
Keep intermediate files | N/A |
--output_type |
Output type: full or vocals |
full |
--main_gain |
Main vocals gain (dB) | 0 |
--backup_gain |
Backup vocals gain (dB) | 0 |
--inst_gain |
Instrumental gain (dB) | 0 |
--index_rate |
Index rate for voice conversion | 0.5 |
--filter_radius |
Filter radius for voice conversion | 3 |
--rms_mix_rate |
RMS mix rate | 0.25 |
--f0_method |
F0 extraction method (e.g., rmvpe, crepe, fcpe) | rmvpe |
--crepe_hop_length |
CREPE hop length | 160 |
--protect |
Protect voiceless consonants | 0.33 |
--output_format |
Output format (e.g., mp3, wav) | wav |
--f0_autotune |
Enable F0 autotune | N/A |
--f0_autotune_strength |
F0 autotune strength | 0.5 |
CLI Options for download
Option | Description | Example Value |
---|---|---|
model_url |
URL for RVC model | https://example.com/model.zip |
voice_model |
Name of the RVC voice model | my_voice_model |
References
NeoRVC builds upon the following projects:
Vocoders:
VC Clients:
- Retrieval-based-Voice-Conversion-WebUI by RVC-Project
- rvc-cli by blaisewf
- So-Vits-SVC by svc-develop-team
- Mangio-RVC-Fork by Mangio621
- VITS by jaywalnut310
- Harmonify by Eempostor
- rvc-trainer by thepowerfuldeez
- AICoverGen by SociallyIneptWeeb
Pitch Extractors:
- RMVPE by Dream-High
- torchfcpe by CNChTu
- torchcrepe by maxrmorrison
- anyf0 by SoulMelody
Other:
- FAIRSEQ by facebookresearch
- FAISS by facebookresearch
- ContentVec by auspicious3000
- audio-slicer by openvpi
- python-audio-separator by nomadkaraoke
We extend our gratitude to the authors and communities behind these projects for their invaluable contributions.
Contributing
We welcome contributions to NeoRVC! To get involved:
- Report issues at GitHub Issues.
- Submit improvements via Pull Requests.
- Star the repository to show your support! 💙.
Support the project via donations: