voice_audio_multi/model_specs/cosyvoice3.json
Fabio c36510c21e
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
Initial import: audio.cpp with Orange Pi documentation
2026-11-04 19:05:22 +01:00

293 lines
7.8 KiB
JSON

{
"schema_version": 1,
"family": "cosyvoice3",
"display_name": "CosyVoice3",
"description": "Fun-CosyVoice3 native GGUF package for zero-shot, cross-lingual, and instruction-conditioned text-to-speech using CosyVoice3 speech-token AR generation, causal masked flow mel decoding, CAM++ speaker conditioning, and causal HiFT waveform decoding.",
"category": "tts",
"status": "supported",
"tasks": [
"tts",
"clone"
],
"modes": [
"offline"
],
"languages": [
"zh",
"en",
"ja",
"ko",
"de",
"es",
"fr",
"it",
"ru",
"yue"
],
"runtime": {
"tags": [
"gguf"
]
},
"dependencies": [],
"capabilities": {
"tts": [
"speaker_reference",
"style_control"
],
"clone": [
"speaker_reference"
]
},
"options": {
"request": [
{
"name": "template_name",
"type": "enum",
"description": "CosyVoice3 request template.",
"required": false,
"values": [
"zero_shot",
"cross_lingual",
"instruct"
],
"default": "zero_shot"
},
{
"name": "reference_text",
"type": "string",
"description": "Transcript for the prompt audio.",
"required": false
},
{
"name": "instruct",
"type": "string",
"description": "Instruction text for instruct mode.",
"required": false
},
{
"name": "text_chunk_size",
"type": "int",
"description": "Maximum Unicode codepoints per long-form text chunk; default 600.",
"required": false,
"min": 1,
"default": 600
},
{
"name": "text_chunk_mode",
"type": "enum",
"description": "Framework text chunking mode.",
"values": [
"default",
"tag_aware",
"japanese",
"endline"
],
"required": false,
"default": "default"
},
{
"name": "max_tokens",
"type": "int",
"description": "Maximum generated speech tokens; -1 (default) selects 20 times the target text token count. Explicit limits must be positive.",
"required": false,
"min": -1,
"default": -1
},
{
"name": "min_tokens",
"type": "int",
"description": "Minimum generated speech tokens before stop is accepted; -1 (default) selects twice the target text token count. Must not exceed the resolved maximum.",
"required": false,
"min": -1,
"default": -1
},
{
"name": "top_k",
"type": "int",
"description": "AR speech-token top-k sampling limit; default 25.",
"required": false,
"min": 1,
"default": 25
},
{
"name": "num_inference_steps",
"type": "int",
"description": "Flow decoder Euler steps; default 10.",
"required": false,
"min": 1,
"default": 10
},
{
"name": "seed",
"type": "int",
"description": "Generation seed.",
"required": false,
"min": 0,
"default": 1986
}
],
"session": [
{
"name": "lora",
"type": "path",
"description": "PEFT adapter with adapter_config.json, or native lora_weights with config.json and speech_embedding/llm_decoder sidecars. Checkpoints may use safetensors or PyTorch containers.",
"required": false
},
{
"name": "lora_scale",
"type": "float",
"description": "Multiplier for the adapter's alpha/r scaling; default 1. Full-weight replacements are not scaled.",
"required": false,
"default": 1.0
},
{
"name": "weight_type",
"type": "enum",
"description": "CosyVoice3 matmul weight storage type; default native.",
"required": false,
"default": "native",
"values": [
"native",
"f32",
"f16",
"bf16",
"q8_0",
"q4_0",
"q4_k"
]
},
{
"name": "graph_arena_mb",
"type": "int",
"description": "Reusable runtime graph arena size in MiB; default 1024.",
"required": false,
"min": 1,
"default": 1024
},
{
"name": "weight_context_mb",
"type": "int",
"description": "Weight loading context size in MiB; default 2048.",
"required": false,
"min": 1,
"default": 2048
},
{
"name": "reference_cache_slots",
"type": "int",
"description": "Prepared reference-audio cache slots; set 0 to disable reuse.",
"required": false,
"min": 0,
"default": 4
},
{
"name": "mem_saver",
"type": "bool",
"description": "Release cached runtime graphs after each request to reduce peak VRAM; default false.",
"required": false,
"default": false
},
{
"name": "exec_plan",
"type": "string",
"description": "JSON object of component execution plans. Component: flow. Each plan accepts impl, backend, artifacts, and params. impl is default/ggml/rknn. GGML keeps the session backend. RKNN requires artifacts.main, a comma-separated ladder of estimator engines compiled one per sequence length (tools/rknn/prepare_cosyvoice3_rknn_flow.py), and ENGINE_ENABLE_RKNN; omit backend. An utterance longer than the largest engine runs the CPU graph. Neither implementation takes params.",
"required": false,
"default": "{}"
}
],
"load": []
},
"packages": [
{
"id": "cosyvoice3_q8_0",
"display_name": "CosyVoice3 Q8_0 GGUF",
"default": true,
"format": "gguf",
"precision": "q8_0",
"target_directory": "CosyVoice3-GGUF",
"files": [
"CosyVoice3-GGUF/cosyvoice3-q8_0.gguf"
],
"strip_prefix": "CosyVoice3-GGUF",
"download": {
"kind": "huggingface_snapshot",
"repo": "audio-cpp/audio.cpp-gguf",
"revision": "main",
"gated": false
}
},
{
"id": "cosyvoice3_f32",
"display_name": "CosyVoice3 F32 GGUF",
"default": false,
"format": "gguf",
"precision": "f32",
"target_directory": "CosyVoice3-GGUF",
"files": [
"CosyVoice3-GGUF/cosyvoice3-f32.gguf"
],
"strip_prefix": "CosyVoice3-GGUF",
"download": {
"kind": "huggingface_snapshot",
"repo": "audio-cpp/audio.cpp-gguf",
"revision": "main",
"gated": false
}
}
],
"ui": {
"recommended_package": "cosyvoice3_q8_0",
"tags": [
"TTS",
"Clone",
"GGUF"
],
"docs": [
"docs/tts.md",
"docs/gguf.md"
]
},
"sources": [
{
"format": "gguf",
"roots": {
"model": ".",
"weights": "$gguf"
},
"files": {
"cosyvoice3_yaml": "model:cosyvoice3.yaml",
"qwen_config": "model:CosyVoice-BlankEN/config.json",
"tokenizer_config": "model:CosyVoice-BlankEN/tokenizer_config.json",
"vocab_json": "model:CosyVoice-BlankEN/vocab.json",
"merges_txt": "model:CosyVoice-BlankEN/merges.txt"
},
"tensors": {
"llm_weights": {
"source": "weights:",
"prefix": "llm"
},
"flow_weights": {
"source": "weights:",
"prefix": "flow"
},
"hift_weights": {
"source": "weights:",
"prefix": "hift"
},
"campplus_weights": {
"source": "weights:",
"prefix": "campplus"
},
"speech_tokenizer_weights": {
"source": "weights:",
"prefix": "speech_tokenizer"
},
"blank_en_weights": {
"source": "weights:",
"prefix": "blank_en"
}
}
}
]
}