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
426 lines
12 KiB
JSON
426 lines
12 KiB
JSON
{
|
|
"family": "pocket_tts_small",
|
|
"display_name": "PocketTTS Small",
|
|
"description": "English PocketTTS Small 18m, 7m, and 2m models, with regular and ReFL variants, for text-to-speech and voice cloning.",
|
|
"category": "tts",
|
|
"status": "experimental",
|
|
"tasks": [
|
|
"tts",
|
|
"clone"
|
|
],
|
|
"modes": [
|
|
"offline",
|
|
"streaming"
|
|
],
|
|
"languages": [
|
|
"en"
|
|
],
|
|
"options": {
|
|
"request": [
|
|
{
|
|
"name": "frames_after_eos",
|
|
"type": "int",
|
|
"description": "Extra frames after EOS; -1 uses the model-derived value.",
|
|
"required": false,
|
|
"min": -1,
|
|
"default": -1
|
|
},
|
|
{
|
|
"name": "max_frames",
|
|
"type": "int",
|
|
"description": "Maximum generated audio frames; zero estimates the cap from text length. Captured during session preparation.",
|
|
"required": false,
|
|
"min": 0,
|
|
"default": 0
|
|
},
|
|
{
|
|
"name": "text_chunk_tokens",
|
|
"type": "int",
|
|
"description": "Tokenizer tokens per text chunk; must be positive, default 50. Set during preparation and overridable per request.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 50
|
|
},
|
|
{
|
|
"name": "temperature",
|
|
"type": "float",
|
|
"description": "Positive flow noise temperature; defaults to the model configuration. Captured during session preparation.",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "seed",
|
|
"type": "int",
|
|
"description": "Noise seed; omitted chooses a random seed. Captured during session preparation.",
|
|
"required": false,
|
|
"min": 0,
|
|
"max": 4294967295
|
|
},
|
|
{
|
|
"name": "noise_clamp",
|
|
"type": "float",
|
|
"description": "Noise clamp; a negative value disables clamping. Captured during session preparation.",
|
|
"required": false,
|
|
"default": -1
|
|
},
|
|
{
|
|
"name": "eos_threshold",
|
|
"type": "float",
|
|
"description": "EOS detection threshold; defaults to the checkpoint recommendation.",
|
|
"required": false,
|
|
"default": -1
|
|
},
|
|
{
|
|
"name": "noise_file",
|
|
"type": "path",
|
|
"description": "Precomputed noise schedule file. Captured during session preparation.",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "voice_embedding_file",
|
|
"type": "path",
|
|
"description": "Precomputed voice-state embedding path. Captured during session preparation.",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "truncate_clone_audio",
|
|
"type": "bool",
|
|
"description": "Truncate voice clone audio. Captured during session preparation.",
|
|
"required": false,
|
|
"default": false
|
|
},
|
|
{
|
|
"name": "text_chunk_size",
|
|
"type": "int",
|
|
"description": "Optional per-request character chunk size; otherwise use sentence/token budgeting.",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "export_voice_state_file",
|
|
"type": "path",
|
|
"description": "Export the prepared voice state during session preparation.",
|
|
"required": false
|
|
}
|
|
],
|
|
"session": [
|
|
{
|
|
"name": "attention",
|
|
"type": "enum",
|
|
"description": "GGML acoustic attention implementation.",
|
|
"required": false,
|
|
"values": [
|
|
"auto",
|
|
"eager",
|
|
"flash"
|
|
],
|
|
"default": "auto"
|
|
},
|
|
{
|
|
"name": "kv_cache_type",
|
|
"type": "enum",
|
|
"description": "GGML acoustic KV cache storage. Native CPU flow requires f32.",
|
|
"required": false,
|
|
"values": [
|
|
"f32",
|
|
"f16"
|
|
],
|
|
"default": "f32"
|
|
},
|
|
{
|
|
"name": "voice_state_cache_slots",
|
|
"type": "int",
|
|
"description": "Cached prepared voice states; zero disables reuse.",
|
|
"required": false,
|
|
"min": 0,
|
|
"default": 4
|
|
},
|
|
{
|
|
"name": "offline_graph_capacity_mode",
|
|
"type": "enum",
|
|
"description": "Offline graph capacity policy; CPU/Metal default tiered, other backends double.",
|
|
"required": false,
|
|
"values": [
|
|
"fixed",
|
|
"double",
|
|
"tiered",
|
|
"grow"
|
|
]
|
|
},
|
|
{
|
|
"name": "prompt_graph_capacity",
|
|
"type": "int",
|
|
"description": "Optional reserved prompt capacity.",
|
|
"required": false,
|
|
"min": 1
|
|
},
|
|
{
|
|
"name": "generation_graph_capacity",
|
|
"type": "int",
|
|
"description": "Optional reserved generation capacity.",
|
|
"required": false,
|
|
"min": 1
|
|
},
|
|
{
|
|
"name": "weight_type",
|
|
"type": "enum",
|
|
"description": "Shared matmul weight storage; component matmul settings inherit it. Convolution storage remains independently native unless overridden.",
|
|
"required": false,
|
|
"preset": "weight_type_full"
|
|
},
|
|
{
|
|
"name": "conv_weight_type",
|
|
"type": "enum",
|
|
"description": "Convolution weight storage.",
|
|
"required": false,
|
|
"preset": "weight_type_conv",
|
|
"default": "native"
|
|
},
|
|
{
|
|
"name": "weight_context_mb",
|
|
"type": "int",
|
|
"description": "Context or graph arena size in MiB.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 64
|
|
},
|
|
{
|
|
"name": "flow_weight_context_mb",
|
|
"type": "int",
|
|
"description": "Flow weight context in MiB; inherits pocket_tts_small.weight_context_mb when omitted.",
|
|
"required": false,
|
|
"min": 1
|
|
},
|
|
{
|
|
"name": "mimi_encoder_weight_context_mb",
|
|
"type": "int",
|
|
"description": "Mimi encoder weight context in MiB; inherits pocket_tts_small.weight_context_mb when omitted.",
|
|
"required": false,
|
|
"min": 1
|
|
},
|
|
{
|
|
"name": "mimi_decoder_weight_context_mb",
|
|
"type": "int",
|
|
"description": "Mimi decoder weight context in MiB; inherits pocket_tts_small.weight_context_mb when omitted.",
|
|
"required": false,
|
|
"min": 1
|
|
},
|
|
{
|
|
"name": "flow_weights_view_context_mb",
|
|
"type": "int",
|
|
"description": "Context or graph arena size in MiB.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 256
|
|
},
|
|
{
|
|
"name": "flow_step_graph_arena_mb",
|
|
"type": "int",
|
|
"description": "Flow-step host graph-metadata arena size in MiB, not device workspace.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 256
|
|
},
|
|
{
|
|
"name": "mimi_encoder_graph_arena_mb",
|
|
"type": "int",
|
|
"description": "Mimi encoder host graph-metadata arena size in MiB, not device workspace.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 512
|
|
},
|
|
{
|
|
"name": "mimi_conv_graph_arena_mb",
|
|
"type": "int",
|
|
"description": "Mimi convolution host graph-metadata arena size in MiB, not device workspace.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 32
|
|
},
|
|
{
|
|
"name": "mimi_transformer_graph_arena_mb",
|
|
"type": "int",
|
|
"description": "Mimi transformer host graph-metadata arena size in MiB, not device workspace.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 96
|
|
},
|
|
{
|
|
"name": "mimi_tail_graph_arena_mb",
|
|
"type": "int",
|
|
"description": "Mimi tail host graph-metadata arena size in MiB, not device workspace.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 512
|
|
},
|
|
{
|
|
"name": "mimi_chunk_frames",
|
|
"type": "int",
|
|
"description": "Latent frames per bounded causal waveform-decoder block.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 4
|
|
},
|
|
{
|
|
"name": "mimi_stage2_chunk_frames",
|
|
"type": "int",
|
|
"description": "Second-stage decoder chunk frames.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 900
|
|
},
|
|
{
|
|
"name": "use_full_mimi",
|
|
"type": "bool",
|
|
"description": "Use a full-utterance waveform graph instead of bounded causal blocks. This can use more device memory.",
|
|
"required": false,
|
|
"default": false
|
|
},
|
|
{
|
|
"name": "exec_plan",
|
|
"type": "string",
|
|
"description": "Component execution plan. Flow defaults to ggml; native is an experimental CPU F32 implementation with an optional threads parameter.",
|
|
"required": false
|
|
}
|
|
],
|
|
"load": []
|
|
},
|
|
"capabilities": {
|
|
"clone": [
|
|
"speaker_reference"
|
|
]
|
|
},
|
|
"runtime": {
|
|
"tags": [
|
|
"gguf"
|
|
]
|
|
},
|
|
"ui": {
|
|
"recommended_package": "pocket_tts_small_english_18m_refl_f32",
|
|
"default_voice": "alba",
|
|
"builtin_voices": [
|
|
"alba"
|
|
],
|
|
"tags": [
|
|
"TTS",
|
|
"Clone",
|
|
"GGUF"
|
|
],
|
|
"docs": [
|
|
"docs/models/pocket_tts_small.md",
|
|
"docs/gguf.md"
|
|
]
|
|
},
|
|
"package_defaults": {
|
|
"download": {
|
|
"kind": "huggingface_snapshot",
|
|
"repo": "audio-cpp/audio.cpp-gguf",
|
|
"revision": "main",
|
|
"gated": false
|
|
}
|
|
},
|
|
"packages": [
|
|
{
|
|
"id": "pocket_tts_small_english_18m_refl_f32",
|
|
"display_name": "PocketTTS Small English 18m ReFL F32 GGUF",
|
|
"format": "gguf",
|
|
"precision": "f32",
|
|
"target_directory": "PocketTTS-Small-GGUF/english-18m-refl",
|
|
"files": [
|
|
"PocketTTS-Small-GGUF/english-18m-refl/english-18m-refl-f32.gguf",
|
|
"PocketTTS-Small-GGUF/english-18m-refl/embeddings/alba.safetensors"
|
|
],
|
|
"default": true,
|
|
"strip_prefix": "PocketTTS-Small-GGUF/english-18m-refl"
|
|
},
|
|
{
|
|
"id": "pocket_tts_small_english_18m_f32",
|
|
"display_name": "PocketTTS Small English 18m F32 GGUF",
|
|
"format": "gguf",
|
|
"precision": "f32",
|
|
"target_directory": "PocketTTS-Small-GGUF/english-18m",
|
|
"files": [
|
|
"PocketTTS-Small-GGUF/english-18m/english-18m-f32.gguf",
|
|
"PocketTTS-Small-GGUF/english-18m/embeddings/alba.safetensors"
|
|
],
|
|
"strip_prefix": "PocketTTS-Small-GGUF/english-18m"
|
|
},
|
|
{
|
|
"id": "pocket_tts_small_english_7m_refl_f32",
|
|
"display_name": "PocketTTS Small English 7m ReFL F32 GGUF",
|
|
"format": "gguf",
|
|
"precision": "f32",
|
|
"target_directory": "PocketTTS-Small-GGUF/english-7m-refl",
|
|
"files": [
|
|
"PocketTTS-Small-GGUF/english-7m-refl/english-7m-refl-f32.gguf",
|
|
"PocketTTS-Small-GGUF/english-7m-refl/embeddings/alba.safetensors"
|
|
],
|
|
"strip_prefix": "PocketTTS-Small-GGUF/english-7m-refl"
|
|
},
|
|
{
|
|
"id": "pocket_tts_small_english_7m_f32",
|
|
"display_name": "PocketTTS Small English 7m F32 GGUF",
|
|
"format": "gguf",
|
|
"precision": "f32",
|
|
"target_directory": "PocketTTS-Small-GGUF/english-7m",
|
|
"files": [
|
|
"PocketTTS-Small-GGUF/english-7m/english-7m-f32.gguf",
|
|
"PocketTTS-Small-GGUF/english-7m/embeddings/alba.safetensors"
|
|
],
|
|
"strip_prefix": "PocketTTS-Small-GGUF/english-7m"
|
|
},
|
|
{
|
|
"id": "pocket_tts_small_english_2m_refl_f32",
|
|
"display_name": "PocketTTS Small English 2m ReFL F32 GGUF",
|
|
"format": "gguf",
|
|
"precision": "f32",
|
|
"target_directory": "PocketTTS-Small-GGUF/english-2m-refl",
|
|
"files": [
|
|
"PocketTTS-Small-GGUF/english-2m-refl/english-2m-refl-f32.gguf",
|
|
"PocketTTS-Small-GGUF/english-2m-refl/embeddings/alba.safetensors"
|
|
],
|
|
"strip_prefix": "PocketTTS-Small-GGUF/english-2m-refl"
|
|
},
|
|
{
|
|
"id": "pocket_tts_small_english_2m_f32",
|
|
"display_name": "PocketTTS Small English 2m F32 GGUF",
|
|
"format": "gguf",
|
|
"precision": "f32",
|
|
"target_directory": "PocketTTS-Small-GGUF/english-2m",
|
|
"files": [
|
|
"PocketTTS-Small-GGUF/english-2m/english-2m-f32.gguf",
|
|
"PocketTTS-Small-GGUF/english-2m/embeddings/alba.safetensors"
|
|
],
|
|
"strip_prefix": "PocketTTS-Small-GGUF/english-2m"
|
|
}
|
|
],
|
|
"sources": [
|
|
{
|
|
"format": "gguf",
|
|
"roots": {
|
|
"model": ".",
|
|
"weights": "$gguf"
|
|
},
|
|
"files": {
|
|
"tokenizer": "model:tokenizer.model",
|
|
"config": "model:config.yaml"
|
|
},
|
|
"tensors": {
|
|
"weights": "weights:"
|
|
}
|
|
},
|
|
{
|
|
"format": "safetensors",
|
|
"roots": {
|
|
"model": "."
|
|
},
|
|
"files": {
|
|
"tokenizer": "model:tokenizer.model",
|
|
"config": "model:config.yaml"
|
|
},
|
|
"tensors": {
|
|
"weights": "model:model.safetensors"
|
|
}
|
|
}
|
|
],
|
|
"schema_version": 1,
|
|
"dependencies": []
|
|
}
|