File size: 5,189 Bytes
69e9c01 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | ---
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
``` |