mus8tte commited on
Commit
26fc1bc
·
verified ·
1 Parent(s): 16627d5

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +77 -0
README.md ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ library_name: candle
4
+ tags:
5
+ - voice-conversion
6
+ - vocoder
7
+ - real-time
8
+ - low-latency
9
+ - rust
10
+ - candle
11
+ - asmr
12
+ language:
13
+ - ja
14
+ pipeline_tag: audio-to-audio
15
+ ---
16
+
17
+ # LightVC — model suite
18
+
19
+ Own-weights model suite for real-time Japanese voice conversion (ASMR / バ美声).
20
+ Inference is **pure Rust / [Candle](https://github.com/huggingface/candle)** (no Python runtime),
21
+ target **E2E < 50 ms, CPU, causal**. Code: <https://github.com/kjranyone/LightVC>. License **MIT**.
22
+
23
+ All weights are **100% own** (no distillation from other voice-conversion models; targets are real audio only).
24
+
25
+ ## Components
26
+
27
+ | component | folder | status | notes |
28
+ |---|---|---|---|
29
+ | **vocoder (freeC)** | `vocoder/` | ✅ released | low-latency neural vocoder, ear-parity with BigVGAN |
30
+ | content encoder (G-enc) | `content-encoder/` | ⬜ planned | causal HuBERT-distilled, leakage-suppressed |
31
+ | VC generator (AdaIN + CIPT) | `vc/` | ⬜ planned | mel generator, multi-reference moe-factor compositor |
32
+ | prosody / s_art | `prosody/` | ⬜ planned | articulation clone, prosody policy |
33
+ | voices | `voices/` | ⬜ planned | target / reference embeddings for the compositor |
34
+
35
+ Download the whole suite or one component:
36
+
37
+ ```bash
38
+ huggingface-cli download mus8tte/lightvc --local-dir models/ # all
39
+ huggingface-cli download mus8tte/lightvc --include 'vocoder/*' --local-dir models/ # vocoder only
40
+ ```
41
+
42
+ ---
43
+
44
+ ## vocoder/ — freeC (low-latency neural vocoder)
45
+
46
+ F0-free ISTFT-head neural vocoder (Vocos-style ConvNeXt backbone + complex-STFT head), 27.9 M params, groups=1.
47
+
48
+ - **Quality**: ear-parity with BigVGAN on the target voice (human-ear gate).
49
+ - **Latency**: causal; synthesis window 5.8 ms; streaming E2E ≈ 39 ms (K=4) incl. mel-analysis lookahead (< 50 ms budget).
50
+ - **Realtime**: chunked streaming RTF 0.94 @ K=4, single-thread CPU.
51
+ - **Parity (Rust/Candle vs PyTorch)**: vocoder mel→wave **SNR 88.5 dB**; end-to-end audio→mel→wave resynth **62 dB**.
52
+
53
+ **Files**
54
+
55
+ | file | what |
56
+ |---|---|
57
+ | `vocoder/freeC.safetensors` | weights (fp32). Keys: `embed.*`, `blocks.{0..7}.{dw,norm,pw1,pw2}.*`, `norm.*`, `head.*`. |
58
+ | `vocoder/mel_basis_44k_2048_128.safetensors` | librosa slaney mel filterbank `[128,1025]` (key `mel_basis`) for the input mel extractor. |
59
+
60
+ **Grid / config**
61
+
62
+ - Synthesis: causal, `n_fft = win = 256`, `hop = 128`, `NB = 129`.
63
+ - Input mel (BigVGAN `mel_spectrogram`): `n_fft = win = 2048`, `hop = 128`, `n_mels = 128`, `sr = 44100`, `fmin = 0`, `fmax = 22050`, Hann, `center=False` + reflect-pad `(n_fft-hop)//2=960`, magnitude `sqrt(·+1e-9)`, `log(clamp(·,1e-5))`. Mel hop = synthesis hop.
64
+
65
+ **Usage**
66
+
67
+ ```bash
68
+ git clone https://github.com/kjranyone/LightVC && cd LightVC
69
+ huggingface-cli download mus8tte/lightvc --include 'vocoder/*' --local-dir models_dl/
70
+ cargo run -p lightvc-app --release -- resynth \
71
+ --input in.wav --weights models_dl/vocoder/freeC.safetensors \
72
+ --mel-basis models_dl/vocoder/mel_basis_44k_2048_128.safetensors --output out.wav --k 4
73
+ ```
74
+
75
+ > Note: freeC's "5.8 ms" is the synthesis-window figure; matching-quality streaming needs ~23 ms mel-analysis lookahead (mel trained quasi-centered). A causal-mel retrain restores true ~5.8 ms — see the repo roadmap.
76
+
77
+ **Training**: female multi-speaker corpus, universal vocoder, full-corpus rolling + AMP. No VC-teacher distillation.