voice_audio_multi/model_specs/sopro_tts.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

242 lines
6.9 KiB
JSON

{
"schema_version": 1,
"family": "sopro_tts",
"display_name": "Sopro V2 Turbo",
"description": "Community Sopro V2 Turbo (samuel-vitorino/sopro-v2-turbo): a 120M zero-shot voice-cloning TTS. SentencePiece text tokenizer, style-prefix conditioned autoregressive semantic LM over FSQ tokens, rectified-flow acoustic DiT and a Vocos ISTFT vocoder at 24 kHz.",
"category": "tts",
"status": "community",
"tasks": [
"tts",
"clone"
],
"modes": [
"offline",
"streaming"
],
"languages": [
"en",
"pt",
"fr",
"de"
],
"runtime": {
"tags": [
"server"
]
},
"capabilities": {
"clone": [
"speaker_reference"
]
},
"options": {
"request": [
{
"name": "language",
"type": "string",
"description": "Language tag (en, pt, fr, de); omitted inherits transcript language, then the session default.",
"required": false
},
{
"name": "temperature",
"type": "float",
"description": "Semantic sampling temperature; nonpositive selects greedy decoding. Omitted uses checkpoint generation.temperature.",
"required": false
},
{
"name": "top_p",
"type": "float",
"description": "Semantic nucleus cutoff; values outside [0,1] are disabled/clamped by the sampler. Omitted uses checkpoint generation.top_p.",
"required": false
},
{
"name": "top_k",
"type": "int",
"description": "Semantic top-k; nonpositive disables filtering. Omitted uses checkpoint generation.top_k.",
"required": false
},
{
"name": "num_inference_steps",
"type": "int",
"description": "Positive acoustic sampling steps; omitted uses checkpoint generation.steps.",
"required": false,
"min": 1
},
{
"name": "max_duration_sec",
"type": "float",
"description": "Positive maximum segment duration; must be >= min_duration_sec. Omitted uses checkpoint generation.max_seconds.",
"required": false
},
{
"name": "min_duration_sec",
"type": "float",
"description": "Nonnegative minimum duration; must be <= max_duration_sec. Omitted uses checkpoint generation.min_seconds.",
"required": false,
"min": 0
},
{
"name": "reference_duration_sec",
"type": "float",
"description": "Positive reference window in seconds; omitted uses checkpoint generation.ref_seconds.",
"required": false
},
{
"name": "text_chunk_size",
"type": "int",
"description": "Positive codepoint budget per segment; omitted uses checkpoint generation.max_segment_chars.",
"required": false,
"min": 1
},
{
"name": "seed",
"type": "int",
"description": "Non-negative seed for semantic sampling and the acoustic noise prior; omit for a random seed.",
"required": false,
"min": 0
}
],
"session": [
{
"name": "language",
"type": "string",
"description": "Default language tag for requests that do not set one.",
"required": false,
"default": ""
},
{
"name": "voice_cache_slots",
"type": "int",
"description": "Reference voices kept prepared between requests, so a repeated voice skips the encoders and, when streaming, the prompt solve. Output is identical with or without it. A streamed 10 s voice holds about 60 MB. Default 0 (off).",
"required": false,
"min": 0,
"default": 0
},
{
"name": "matmul_weight_type",
"type": "enum",
"preset": "weight_type_full",
"description": "Storage type for the matmul weights of every stage (semantic LM, acoustic DiT, encoders, vocoder head).",
"required": false,
"default": "f32"
},
{
"name": "conv_weight_type",
"type": "enum",
"preset": "weight_type_conv",
"description": "Storage type for convolution weights (speaker/semantic encoders and the Vocos backbone).",
"required": false,
"default": "f32"
}
],
"load": []
},
"packages": [
{
"id": "sopro_v2_turbo_f16",
"display_name": "Sopro V2 Turbo F16 GGUF",
"description": "Single-file GGUF of all four stages with the config and tokenizer embedded: f16 weights, mel front ends kept in f32.",
"default": true,
"format": "gguf",
"precision": "f16",
"target_directory": "sopro-v2-turbo-GGUF",
"files": [
"sopro-v2-turbo-f16.gguf"
],
"download": {
"kind": "huggingface_snapshot",
"repo": "samuel-vitorino/sopro-v2-turbo",
"revision": "main",
"gated": false
}
},
{
"id": "sopro_v2_turbo_safetensors",
"display_name": "Sopro V2 Turbo (upstream safetensors)",
"description": "Upstream checkpoint from samuel-vitorino/sopro-v2-turbo: config.json, tokenizer.model and the four safetensors stages. Runs directly, no conversion needed.",
"format": "safetensors",
"precision": "orig",
"target_directory": "sopro-v2-turbo",
"files": [
"config.json",
"tokenizer.model",
"model.safetensors",
"semantic_encoder.safetensors",
"speaker_encoder.safetensors",
"vocoder.safetensors"
],
"download": {
"kind": "huggingface_snapshot",
"repo": "samuel-vitorino/sopro-v2-turbo",
"revision": "main",
"gated": false
}
}
],
"dependencies": [],
"ui": {
"recommended_package": "sopro_v2_turbo_safetensors",
"tags": [
"TTS",
"Clone"
],
"docs": [
"docs/models/sopro_tts.md"
]
},
"sources": [
{
"format": "gguf",
"roots": {
"model": ".",
"weights": "$gguf"
},
"files": {
"config": "model:config.json",
"tokenizer": "model:tokenizer.model"
},
"tensors": {
"model": {
"source": "weights:",
"prefix": "model"
},
"semantic_encoder": {
"source": "weights:",
"prefix": "semantic_encoder"
},
"speaker_encoder": {
"source": "weights:",
"prefix": "speaker_encoder"
},
"vocoder": {
"source": "weights:",
"prefix": "vocoder"
}
}
},
{
"format": "safetensors",
"roots": {
"model": "."
},
"files": {
"config": "model:config.json",
"tokenizer": "model:tokenizer.model"
},
"tensors": {
"model": {
"source": "model:model.safetensors"
},
"semantic_encoder": {
"source": "model:semantic_encoder.safetensors"
},
"speaker_encoder": {
"source": "model:speaker_encoder.safetensors"
},
"vocoder": {
"source": "model:vocoder.safetensors"
}
}
}
]
}