tts4_int4: set measured steps/cfg
Browse files- tts4_int4/manifest.json +44 -43
tts4_int4/manifest.json
CHANGED
|
@@ -1,45 +1,46 @@
|
|
| 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 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"graphs": {
|
| 3 |
+
"dit_step": "dit_step.onnx",
|
| 4 |
+
"vocoder": "vocoder.onnx"
|
| 5 |
+
},
|
| 6 |
+
"vocoder_tail": {
|
| 7 |
+
"why": "this vocos variant ends in an ISTFTHead (complex spectrogram); ONNX has no complex tensors, so the graph stops at the linear head",
|
| 8 |
+
"planes": "[B, 1026, T] = concat(mag_pre, phase)",
|
| 9 |
+
"browser_tail": [
|
| 10 |
+
"mag = min(exp(planes[:513]), 1e2)",
|
| 11 |
+
"phase = planes[513:]",
|
| 12 |
+
"spec = mag * (cos(phase) + i * sin(phase)) # [513, T]",
|
| 13 |
+
"wav = istft(spec, n_fft=1024, hop=256, win=1024, hann, center=True)"
|
| 14 |
+
],
|
| 15 |
+
"reference": "web/src/audio/istft.js (pinned by tests/test_istft.py)",
|
| 16 |
+
"samples_per_frame": 256
|
| 17 |
+
},
|
| 18 |
+
"dtype": "float16",
|
| 19 |
+
"opset": 20,
|
| 20 |
+
"mel": {
|
| 21 |
+
"target_sample_rate": 24000,
|
| 22 |
+
"n_mel_channels": 100,
|
| 23 |
+
"hop_length": 256,
|
| 24 |
+
"n_fft": 1024,
|
| 25 |
+
"win_length": 1024,
|
| 26 |
+
"mel_spec_type": "vocos"
|
| 27 |
+
},
|
| 28 |
+
"vocab": {
|
| 29 |
+
"file": "vocab.txt",
|
| 30 |
+
"size": 2545,
|
| 31 |
+
"note": "ASCII + numbered pinyin (ai3, ni3); NO CJK glyphs, so Chinese text must be converted to pinyin with tones before lookup"
|
| 32 |
+
},
|
| 33 |
+
"sampler": {
|
| 34 |
+
"solver": "euler",
|
| 35 |
+
"steps": 4,
|
| 36 |
+
"sway_sampling_coef": -1.0,
|
| 37 |
+
"schedule": "t = linspace(0, 1, steps + 1); t = t + sway * (cos(pi/2 * t) - 1 + t); step y += dt * v",
|
| 38 |
+
"cfg_strength": 0.0,
|
| 39 |
+
"cfg_note": "run the step graph twice (cond and text, then cond=0 and text=0) and combine pred + (pred - null) * cfg_strength; the uncond call differs slightly from the repo's internal drop_text (filler-token embedding vs learned zeros), so set cfg_strength=0 for exact parity",
|
| 40 |
+
"measured_note": "4 steps, CFG 0: reflow-distilled student. CER 0.597 vs 0.775 for the teacher at 4:0, still short of the 16-step 0.097. Experimental."
|
| 41 |
+
},
|
| 42 |
+
"vocoder_chunk_frames": 375,
|
| 43 |
+
"vocoder_chunk_note": "chunk long mel (375 frames ~ 4 s at hop 256) rather than one huge pass: the backbone is convolutional, so chunking changes the boundary only",
|
| 44 |
+
"sample_rate": 24000,
|
| 45 |
+
"source_ckpt": "/root/WebASMR/models/f5tts_4step.pt"
|
| 46 |
}
|