Some checks failed
Linux Build / Linux cpu (push) Has been cancelled
Linux Build / Linux cpu-clang (push) Has been cancelled
Linux Build / Linux vulkan (push) Has been cancelled
mac-build / macOS CPU (push) Has been cancelled
Nix Build / Nix (cpu) (push) Has been cancelled
Nix Build / Nix (vulkan) (push) Has been cancelled
windows-build / Windows CPU (push) Has been cancelled
238 lines
6.9 KiB
JSON
238 lines
6.9 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"family": "zipvoice",
|
|
"display_name": "ZipVoice",
|
|
"description": "Community ZipVoice / ZipVoice-Distill flow-matching TTS with a TTSZipformer backbone (U-Net downsampling stacks, compact relative position attention), duration prediction from prompt ratio, Euler solver with t-shift and classifier-free guidance, and Vocos mel-24kHz vocoder (k2-fsa/ZipVoice).",
|
|
"category": "tts",
|
|
"status": "community",
|
|
"tasks": [
|
|
"tts",
|
|
"clone"
|
|
],
|
|
"modes": [
|
|
"offline",
|
|
"streaming"
|
|
],
|
|
"languages": [
|
|
"en",
|
|
"zh"
|
|
],
|
|
"runtime": {
|
|
"tags": [
|
|
"server",
|
|
"stream"
|
|
]
|
|
},
|
|
"capabilities": {
|
|
"clone": [
|
|
"speaker_reference"
|
|
]
|
|
},
|
|
"options": {
|
|
"request": [
|
|
{
|
|
"name": "reference_text",
|
|
"type": "string",
|
|
"description": "Transcript matching the reference voice audio; required for zero-shot cloning.",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "text_chunk_size",
|
|
"type": "int",
|
|
"description": "Maximum characters per generated text chunk; default 128.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 128
|
|
},
|
|
{
|
|
"name": "text_chunk_mode",
|
|
"type": "enum",
|
|
"description": "Framework text chunking mode.",
|
|
"preset": "text_chunk_mode_full",
|
|
"required": false,
|
|
"default": "word_budget"
|
|
},
|
|
{
|
|
"name": "guidance_scale",
|
|
"type": "float",
|
|
"description": "Guidance scale; inherits the session default (3.0 for both variants). ZipVoice-Distill uses a guidance-scale embedding; ZipVoice uses batched CFG. Zero disables guidance. Any finite nonnegative value is accepted.",
|
|
"required": false,
|
|
"min": 0,
|
|
"default": 3
|
|
},
|
|
{
|
|
"name": "num_inference_steps",
|
|
"type": "int",
|
|
"description": "Euler ODE steps; inherits the session default (8 for both variants).",
|
|
"required": false,
|
|
"min": 1,
|
|
"max": 64,
|
|
"default": 8
|
|
},
|
|
{
|
|
"name": "shift",
|
|
"type": "float",
|
|
"description": "Shift timesteps toward low SNR (smaller = stronger shift); default 0.5. Must be finite and positive.",
|
|
"required": false,
|
|
"default": 0.5
|
|
},
|
|
{
|
|
"name": "speed",
|
|
"type": "float",
|
|
"description": "Speech speed multiplier applied through the prompt-duration ratio; default 1.0. Must be finite and positive.",
|
|
"required": false,
|
|
"default": 1
|
|
},
|
|
{
|
|
"name": "feat_scale",
|
|
"type": "float",
|
|
"description": "Feature scale applied to log-mel features; default 0.1 (reference default). Must be finite and positive.",
|
|
"required": false,
|
|
"default": 0.1
|
|
},
|
|
{
|
|
"name": "target_rms",
|
|
"type": "float",
|
|
"description": "Target RMS for prompt loudness normalization; 0 disables. Default 0.1. Negative values disable normalization; values above 1 are accepted.",
|
|
"required": false,
|
|
"default": 0.1
|
|
},
|
|
{
|
|
"name": "seed",
|
|
"type": "int",
|
|
"description": "Noise seed; default 666 (reference default).",
|
|
"required": false,
|
|
"min": 0,
|
|
"default": 666
|
|
},
|
|
{
|
|
"name": "language",
|
|
"type": "string",
|
|
"description": "espeak language for phonemization; default en-us.",
|
|
"required": false,
|
|
"default": "en-us"
|
|
}
|
|
],
|
|
"session": [
|
|
{
|
|
"name": "vocos_path",
|
|
"type": "string",
|
|
"description": "Path to the Vocos vocoder checkpoint (vocos.safetensors or GGUF); required unless bundled in the model GGUF or placed next to the checkpoint.",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "guidance_scale",
|
|
"type": "float",
|
|
"description": "Default guidance scale for requests that do not set it; must be finite and nonnegative.",
|
|
"required": false,
|
|
"min": 0.0,
|
|
"default": 3.0
|
|
},
|
|
{
|
|
"name": "num_inference_steps",
|
|
"type": "int",
|
|
"description": "Default Euler steps for requests that do not set it.",
|
|
"required": false,
|
|
"min": 1,
|
|
"max": 64,
|
|
"default": 8
|
|
},
|
|
{
|
|
"name": "shift",
|
|
"type": "float",
|
|
"description": "Default timestep shift for requests that do not set it; must be finite and positive.",
|
|
"required": false,
|
|
"default": 0.5
|
|
},
|
|
{
|
|
"name": "espeak_library_path",
|
|
"type": "string",
|
|
"description": "Path to the espeak-ng shared library (e.g. /opt/homebrew/lib/libespeak-ng.dylib) for tokenizer=espeak.",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "espeak_data_path",
|
|
"type": "string",
|
|
"description": "Path to the espeak-ng data directory or package for tokenizer=espeak.",
|
|
"required": false
|
|
}
|
|
],
|
|
"load": []
|
|
},
|
|
"package_defaults": {
|
|
"download": {
|
|
"kind": "huggingface_snapshot",
|
|
"repo": "davidxifeng/zipvoice-gguf",
|
|
"revision": "main",
|
|
"gated": false
|
|
}
|
|
},
|
|
"packages": [
|
|
{
|
|
"id": "zipvoice_distill_gguf",
|
|
"display_name": "ZipVoice-Distill GGUF (local conversion)",
|
|
"description": "Self-contained GGUF: flow-matching model, bundled Vocos vocoder and the embedded text-frontend sidecars (tokens, config, zh tables) in one file. Converted from k2-fsa/ZipVoice with export_zipvoice_zh_dict.py + convert_zipvoice.py.",
|
|
"default": true,
|
|
"format": "gguf",
|
|
"precision": "orig",
|
|
"target_directory": "ZipVoice-Distill-GGUF",
|
|
"files": [
|
|
"zipvoice-distill-orig.gguf"
|
|
]
|
|
},
|
|
{
|
|
"id": "zipvoice_distill_q8_0",
|
|
"display_name": "ZipVoice-Distill GGUF (Q8_0)",
|
|
"description": "Self-contained Q8_0 GGUF with bundled Vocos and embedded text-frontend sidecars.",
|
|
"format": "gguf",
|
|
"precision": "q8_0",
|
|
"target_directory": "ZipVoice-Distill-GGUF",
|
|
"files": [
|
|
"zipvoice-distill-q8_0.gguf"
|
|
]
|
|
}
|
|
],
|
|
"dependencies": [],
|
|
"ui": {
|
|
"recommended_package": "zipvoice_distill_gguf",
|
|
"tags": [
|
|
"TTS",
|
|
"Clone"
|
|
],
|
|
"docs": [
|
|
"docs/models/zipvoice.md"
|
|
]
|
|
},
|
|
"sources": [
|
|
{
|
|
"format": "gguf",
|
|
"roots": {
|
|
"model": ".",
|
|
"weights": "$gguf"
|
|
},
|
|
"files": {
|
|
"tokens": "model:tokens.txt",
|
|
"model_config": "model:model.json"
|
|
},
|
|
"optional_files": {
|
|
"zh_chars": "model:zh_chars.tsv",
|
|
"zh_phrases": "model:zh_phrases.tsv",
|
|
"zh_syllables": "model:zh_syllables.tsv",
|
|
"zh_jieba_dict": "model:zh_jieba_dict.txt",
|
|
"zh_hmm_model": "model:zh_hmm_model.txt"
|
|
},
|
|
"tensors": {
|
|
"model": {
|
|
"source": "weights:",
|
|
"prefix": "model"
|
|
}
|
|
},
|
|
"optional_tensors": {
|
|
"vocos_vocoder": {
|
|
"source": "weights:",
|
|
"prefix": "vocos"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|