{ "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": [] }