NICO_SVC / README.md
0qwpifs's picture
Create README.md
69e9c01 verified
|
Raw
History Blame Contribute Delete
5.19 kB
---
license: mit
language:
- ru
- en
- ja
- zh
tags:
- singing-voice-conversion
- svc
- reflow
- bigvgan
- voice-cloning
- no-encoder
- mel-spectrogram
- audio
- music
pipeline_tag: audio-to-audio
---
# NICO_SVC β€” Singing Voice Conversion without Encoders
## 🎀 What is NICO_SVC?
A custom Singing Voice Conversion (SVC) system built from scratch.
**No ContentVec. No HuBERT. No Whisper. No encoders at all.**
# NICO_SVC β€” Singing Voice Conversion without Encoders
## 🎀 What is NICO_SVC?
A custom Singing Voice Conversion (SVC) system built from scratch.
**No ContentVec. No HuBERT. No Whisper. No encoders at all.**
Unlike every existing SVC (RVC, Diff-SVC, SO-VITS-SVC, DDSP-SVC, Reflow-VAE-SVC),
NICO_SVC does NOT pass audio through a 16kHz speech encoder.
Instead, it works directly with Mel spectrograms at native 44.1kHz sample rate.
## πŸ”₯ Why?
Every SVC system in 2023-2025 uses a speech encoder (ContentVec/HuBERT/Whisper)
that internally operates at 16kHz. This creates a bottleneck:
```
Voice 48kHz β†’ Encoder 16kHz β†’ Lost upper frequencies β†’ Vocoder guesses β†’ Plastic sound
```
NICO_SVC eliminates this entirely:
```
Voice 44.1kHz β†’ Mel spectrogram (direct) β†’ Reflow model β†’ BigVGAN v2 β†’ Real 44.1kHz output
```
## πŸ—οΈ Architecture
| Component | Details |
|-----------|---------|
| **Input** | Mel spectrogram 44.1kHz (128 bands, hop=512, n_fft=2048) |
| **F0 Extractor** | RMVPE |
| **Speaker Embedding** | Learnable (trained per speaker) |
| **Model** | Reflow (Rectified Flow Matching) with Conv + Attention blocks |
| **Parameters** | ~100M |
| **Vocoder** | BigVGAN v2 44kHz 128band (NVIDIA, pretrained) |
| **Output** | 44.1kHz WAV |
| **Training** | Single-speaker fine-tune, no pretrain needed |
| **Inference** | ~50 Euler steps, real-time capable |
## πŸ“Š Key Differences from Existing SVC
| Feature | RVC / Diff-SVC / SO-VITS | NICO_SVC |
|---------|--------------------------|----------|
| Speech Encoder | ContentVec 16kHz | ❌ None |
| Max Audio Frequency | ~8kHz (encoder limit) | **22kHz** (full Mel) |
| Pretrain Required | Yes (multi-speaker) | **No** |
| Mel Source | From encoder output | **Direct from WAV** |
| Vocoder | HiFi-GAN / NSF-HiFiGAN | **BigVGAN v2** (NVIDIA) |
| Architecture | Diffusion / DDSP | **Reflow** (faster, cleaner) |
| Sound Quality | Plastic, missing harmonics | **Natural, full spectrum** |
## 🎯 Design Principles
1. **No encoders** β€” they all operate at 16kHz and destroy timbre
2. **Native 44.1kHz** β€” at every stage of the pipeline
3. **Single-speaker focus** β€” one model = one voice = perfect copy
4. **Fine-tune only** β€” no pretrain means no "average voice" contamination
5. **Free tools only** β€” runs on Google Colab free tier (T4 GPU)
6. **Fast inference** β€” 2-3 minutes per cover, not 18 minutes
## πŸ“¦ Pipeline
### Preprocessing:
```
WAV 44.1kHz β†’ Mel spectrogram (torchaudio)
β†’ F0 extraction (RMVPE)
β†’ Speaker embedding (learnable)
```
### Training:
```
Mel (target) + noise β†’ Reflow model learns to denoise
Conditioning: F0 + Speaker Embedding
Loss: MSE between predicted and target flow vectors
Optimizer: AdamW + fp16 mixed precision
```
### Inference (Cover):
```
Input acapella β†’ RMVPE (extract F0)
β†’ F0 * 2^(key/12) (pitch shift)
β†’ Reflow model (generate Mel with target speaker)
β†’ BigVGAN v2 (Mel β†’ WAV)
β†’ Output cover
```
## 🎀 Training Data
- **Speaker:** SomNICO_Ai (lyric tenor, natural flat tone without vibrato)
- **Dataset:** up to 1951 files, ~3.92 hours
- **Languages:** Russian, English, Japanese, Chinese
- **Quality:** 48kHz WAV, single microphone, clean recording
- **Content:** Pure singing, no background noise
## πŸ”§ Requirements
- Google Colab (free tier, T4 GPU)
- Google Drive (for checkpoints and data)
- Python 3.12
- PyTorch 2.x
- torchaudio, librosa, BigVGAN v2, RMVPE
## πŸ“ˆ Results
| Metric | Value |
|--------|-------|
| Training loss | < 0.5 (272 files, 19M model) |
| Perceptual quality | Near-indistinguishable from original on test set |
| Inference speed | ~50 steps, real-time on T4 |
| Checkpoint size | ~400MB (100M model) |
## πŸ‘€ Author
- **Developer:** SomNICO_Ai / Kedo
- **Age:** 20
- **Vocal experience:** 12 years (since age 6)
- **AI voice experience:** 5 years, 143+ RVC models trained
- **YouTube:** SomNICO_Ai
- **HuggingFace:** 0qwpifs
## πŸ“œ Philosophy
> "I'm tired of using other people's tools.
> Every SVC crushes my voice through 16kHz encoders.
> I hear my voice differently β€” it has more detail, more character.
> NICO_SVC was built to preserve EVERYTHING."
## πŸ—“οΈ Timeline
- **Day 1:** Full pipeline from scratch β€” Mel, F0, Reflow, BigVGAN working
- **Week 1:** 100M model + Attention, first covers
- **Week 2-3:** Volume conditioning, TensorBoard, production quality
- **Goal:** Voice clone indistinguishable from real recording
## License
MIT
## Credits
- BigVGAN v2: NVIDIA (pretrained vocoder)
- RMVPE: yxlllc (F0 extraction)
- Architecture inspired by Rectified Flow Matching papers
- Built entirely in Google Colab, free tier
```