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

373 lines
10 KiB
JSON

{
"schema_version": 1,
"family": "sanotts",
"display_name": "sanoTTS Nano",
"description": "Very small multilingual text-to-speech across fourteen languages. Two graphs: the nano lineage (duration student, contextual acoustic student to mel-100, noise-fed ConvNeXt-1D decoder with an iSTFT head; voices heart 2.27M and heart-nano 294k, English, 24 kHz) and the deterministic piperlite lineage (duration student, acoustic student to a 192-channel latent, optionally through a calibration adapter, then a 3-stage ConvTranspose1d decoder with dilated residual banks; voices amy, hfc and kristin for English, vi, id, cs, de, es, fr, it, pt, ro, ru, tr, ne and hi at 1.1-1.8M parameters, 22.05 kHz). Uses an external eSpeak-ng phonemizer.",
"category": "tts",
"status": "community",
"tasks": [
"tts"
],
"modes": [
"offline"
],
"languages": [
"en",
"vi",
"id",
"cs",
"de",
"es",
"fr",
"it",
"pt",
"ro",
"ru",
"tr",
"ne",
"hi"
],
"runtime": {
"tags": [
"gguf"
]
},
"capabilities": {
"tts": [
"long_form"
]
},
"options": {
"request": [
{
"name": "speed",
"type": "float",
"description": "Speech speed multiplier; larger is faster. Its reciprocal scales the voice's tuned length scale before the per-token clamp.",
"required": false,
"min": 0.5,
"max": 2.0,
"default": 1.0
},
{
"name": "seed",
"type": "int",
"description": "Decoder noise seed. The decoder is noise-fed, so a given seed picks one of many valid renderings; 0 derives it from the text as sha256(text)[:8], which is what the reference implementations do. Piperlite voices are deterministic and ignore the seed.",
"required": false,
"min": 0,
"default": 0
},
{
"name": "text_chunk_mode",
"type": "enum",
"description": "Long-form text chunking mode.",
"values": [
"word_budget"
],
"required": false,
"default": "word_budget"
},
{
"name": "text_chunk_size",
"type": "int",
"description": "Maximum Unicode codepoints per long-form text chunk; default 280.",
"required": false,
"min": 1,
"default": 280
}
],
"session": [
{
"name": "espeak_library_path",
"type": "path",
"description": "Optional explicit path to the eSpeak-ng shared library.",
"required": false
},
{
"name": "espeak_data_path",
"type": "path",
"description": "Optional explicit path to the directory containing espeak-ng-data.",
"required": false
},
{
"name": "exec_plan",
"type": "string",
"description": "JSON object of component execution plans. Component: decoder. Each plan accepts impl, backend, artifacts, and params. impl is default/ggml/neon; no artifacts or params are used. Default retains automatic NEON selection on supported Nano-lineage AArch64 CPU sessions. GGML supports the session backend; explicit NEON requires a Nano-lineage model, AArch64 NEON, and a CPU session.",
"required": false,
"default": "{}"
}
],
"load": []
},
"package_defaults": {
"download": {
"kind": "huggingface_snapshot",
"repo": "ampixa/sanoTTS",
"revision": "main",
"gated": false
}
},
"packages": [
{
"id": "sanotts_heart_nano_orig",
"display_name": "sanoTTS heart-nano 294k FP32 GGUF",
"default": true,
"format": "gguf",
"precision": "orig",
"target_directory": "sanoTTS-heart-nano-GGUF",
"files": [
"gguf/heart-nano-f32.gguf",
"gguf/config.json"
],
"strip_prefix": "gguf"
},
{
"id": "sanotts_heart_orig",
"display_name": "sanoTTS heart 2.27M FP32 GGUF",
"default": false,
"format": "gguf",
"precision": "orig",
"target_directory": "sanoTTS-heart-GGUF",
"files": [
"gguf/heart/heart-f32.gguf",
"gguf/heart/config.json"
],
"strip_prefix": "gguf/heart"
},
{
"id": "sanotts_amy_orig",
"display_name": "sanoTTS amy 1.46M FP32 GGUF (English, piperlite)",
"default": false,
"format": "gguf",
"precision": "orig",
"target_directory": "sanoTTS-amy-GGUF",
"files": [
"gguf/amy/amy-f32.gguf",
"gguf/amy/config.json"
],
"strip_prefix": "gguf/amy"
},
{
"id": "sanotts_hfc_orig",
"display_name": "sanoTTS hfc 1.83M FP32 GGUF (English, piperlite)",
"default": false,
"format": "gguf",
"precision": "orig",
"target_directory": "sanoTTS-hfc-GGUF",
"files": [
"gguf/hfc/hfc-f32.gguf",
"gguf/hfc/config.json"
],
"strip_prefix": "gguf/hfc"
},
{
"id": "sanotts_kristin_orig",
"display_name": "sanoTTS kristin 1.40M FP32 GGUF (English, piperlite)",
"default": false,
"format": "gguf",
"precision": "orig",
"target_directory": "sanoTTS-kristin-GGUF",
"files": [
"gguf/kristin/kristin-f32.gguf",
"gguf/kristin/config.json"
],
"strip_prefix": "gguf/kristin"
},
{
"id": "sanotts_vi_orig",
"display_name": "sanoTTS vi 1.57M FP32 GGUF (Vietnamese, piperlite)",
"default": false,
"format": "gguf",
"precision": "orig",
"target_directory": "sanoTTS-vi-GGUF",
"files": [
"gguf/vi/vi-f32.gguf",
"gguf/vi/config.json"
],
"strip_prefix": "gguf/vi"
},
{
"id": "sanotts_id_orig",
"display_name": "sanoTTS id 1.56M FP32 GGUF (Indonesian, piperlite)",
"default": false,
"format": "gguf",
"precision": "orig",
"target_directory": "sanoTTS-id-GGUF",
"files": [
"gguf/id/id-f32.gguf",
"gguf/id/config.json"
],
"strip_prefix": "gguf/id"
},
{
"id": "sanotts_cs_orig",
"display_name": "sanoTTS cs 1.57M FP32 GGUF (Czech, piperlite)",
"default": false,
"format": "gguf",
"precision": "orig",
"target_directory": "sanoTTS-cs-GGUF",
"files": [
"gguf/cs/cs-f32.gguf",
"gguf/cs/config.json"
],
"strip_prefix": "gguf/cs"
},
{
"id": "sanotts_de_orig",
"display_name": "sanoTTS de 1.57M FP32 GGUF (German, piperlite)",
"default": false,
"format": "gguf",
"precision": "orig",
"target_directory": "sanoTTS-de-GGUF",
"files": [
"gguf/de/de-f32.gguf",
"gguf/de/config.json"
],
"strip_prefix": "gguf/de"
},
{
"id": "sanotts_es_orig",
"display_name": "sanoTTS es 1.56M FP32 GGUF (Spanish, piperlite)",
"default": false,
"format": "gguf",
"precision": "orig",
"target_directory": "sanoTTS-es-GGUF",
"files": [
"gguf/es/es-f32.gguf",
"gguf/es/config.json"
],
"strip_prefix": "gguf/es"
},
{
"id": "sanotts_fr_orig",
"display_name": "sanoTTS fr 1.57M FP32 GGUF (French, piperlite)",
"default": false,
"format": "gguf",
"precision": "orig",
"target_directory": "sanoTTS-fr-GGUF",
"files": [
"gguf/fr/fr-f32.gguf",
"gguf/fr/config.json"
],
"strip_prefix": "gguf/fr"
},
{
"id": "sanotts_it_orig",
"display_name": "sanoTTS it 1.57M FP32 GGUF (Italian, piperlite)",
"default": false,
"format": "gguf",
"precision": "orig",
"target_directory": "sanoTTS-it-GGUF",
"files": [
"gguf/it/it-f32.gguf",
"gguf/it/config.json"
],
"strip_prefix": "gguf/it"
},
{
"id": "sanotts_pt_orig",
"display_name": "sanoTTS pt 1.57M FP32 GGUF (Portuguese (Brazil), piperlite)",
"default": false,
"format": "gguf",
"precision": "orig",
"target_directory": "sanoTTS-pt-GGUF",
"files": [
"gguf/pt/pt-f32.gguf",
"gguf/pt/config.json"
],
"strip_prefix": "gguf/pt"
},
{
"id": "sanotts_ro_orig",
"display_name": "sanoTTS ro 1.57M FP32 GGUF (Romanian, piperlite)",
"default": false,
"format": "gguf",
"precision": "orig",
"target_directory": "sanoTTS-ro-GGUF",
"files": [
"gguf/ro/ro-f32.gguf",
"gguf/ro/config.json"
],
"strip_prefix": "gguf/ro"
},
{
"id": "sanotts_ru_orig",
"display_name": "sanoTTS ru 1.57M FP32 GGUF (Russian, piperlite)",
"default": false,
"format": "gguf",
"precision": "orig",
"target_directory": "sanoTTS-ru-GGUF",
"files": [
"gguf/ru/ru-f32.gguf",
"gguf/ru/config.json"
],
"strip_prefix": "gguf/ru"
},
{
"id": "sanotts_tr_orig",
"display_name": "sanoTTS tr 1.56M FP32 GGUF (Turkish, piperlite)",
"default": false,
"format": "gguf",
"precision": "orig",
"target_directory": "sanoTTS-tr-GGUF",
"files": [
"gguf/tr/tr-f32.gguf",
"gguf/tr/config.json"
],
"strip_prefix": "gguf/tr"
},
{
"id": "sanotts_ne_orig",
"display_name": "sanoTTS ne 1.47M FP32 GGUF (Nepali, piperlite)",
"default": false,
"format": "gguf",
"precision": "orig",
"target_directory": "sanoTTS-ne-GGUF",
"files": [
"gguf/ne/ne-f32.gguf",
"gguf/ne/config.json"
],
"strip_prefix": "gguf/ne"
},
{
"id": "sanotts_hi_orig",
"display_name": "sanoTTS hi 1.50M FP32 GGUF (Hindi, piperlite)",
"default": false,
"format": "gguf",
"precision": "orig",
"target_directory": "sanoTTS-hi-GGUF",
"files": [
"gguf/hi/hi-f32.gguf",
"gguf/hi/config.json"
],
"strip_prefix": "gguf/hi"
}
],
"dependencies": [],
"ui": {
"recommended_package": "sanotts_heart_nano_orig",
"tags": [
"TTS",
"GGUF"
],
"docs": [
"docs/tts.md",
"docs/models/sanotts.md",
"docs/gguf.md"
]
},
"sources": [
{
"format": "gguf",
"roots": {
"model": ".",
"weights": "$gguf"
},
"files": {
"config": "model:config.json"
},
"tensors": {
"weights": "weights:"
}
}
]
}