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

340 lines
9.3 KiB
JSON

{
"schema_version": 1,
"family": "gradium_phonon",
"display_name": "Gradium Phonon",
"description": "Gradium's Phonon text-to-speech: a small flow-matching language model with a Mimi decoder, a descendant of Kyutai's pocket-tts, for real-time local synthesis on CPU and GPU with prepared voices.",
"category": "tts",
"status": "experimental",
"tasks": [
"tts"
],
"modes": [
"offline",
"streaming"
],
"languages": [
"en"
],
"runtime": {
"tags": [
"gguf"
]
},
"capabilities": {
"tts": [
"built_in_voices",
"long_form"
]
},
"options": {
"request": [
{
"name": "frames_after_eos",
"type": "int",
"description": "Frames kept after EOS, counting the EOS frame; -1 keeps 4 for texts of up to four words and 2 otherwise, as the reference does.",
"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. Captured during session preparation.",
"required": false,
"default": 0.3
},
{
"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 on the EOS logit. Captured during session preparation.",
"required": false,
"default": 4
},
{
"name": "noise_file",
"type": "path",
"description": "Precomputed noise schedule, raw float32 [frames, 32], used as given. Captured during session preparation.",
"required": false
},
{
"name": "voice_embedding_file",
"type": "path",
"description": "Voice file: a speaker_wavs latent file such as those of gradium/phonon-voices, or an exported voice state. Captured during session preparation.",
"required": 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": "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": "matmul_weight_type",
"type": "enum",
"description": "Weight storage type; component-specific settings inherit weight_type.",
"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 gradium_phonon.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 gradium_phonon.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_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_full_chunk_frames",
"type": "int",
"description": "Full-sequence decoder chunk frames.",
"required": false,
"min": 1,
"default": 90
},
{
"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 full-sequence Mimi decoding.",
"required": false,
"default": true
}
],
"load": []
},
"package_defaults": {
"download": {
"kind": "huggingface_snapshot",
"repo": "gradium/phonon-31m-en-audiocpp",
"revision": "main",
"gated": false
}
},
"packages": [
{
"id": "gradium_phonon_31m_en_q8_0",
"display_name": "Phonon 31m English Q8_0 GGUF",
"default": true,
"format": "gguf",
"precision": "q8_0",
"target_directory": "phonon-31m-en",
"files": [
"phonon-31m-en-q8_0.gguf",
"default-voice.safetensors"
]
},
{
"id": "gradium_phonon_31m_en_safetensors",
"display_name": "Phonon 31m English Safetensors",
"format": "safetensors",
"precision": "native",
"target_directory": "phonon-31m-en-safetensors",
"files": [
"config.json",
"tokenizer.model",
"model.safetensors",
"default-voice.safetensors"
],
"download": {
"kind": "huggingface_snapshot",
"repo": "gradium/phonon-31m-en",
"revision": "52433c46975bfa13144c56204c9f4ee1c5b148aa",
"gated": false
}
}
],
"dependencies": [],
"ui": {
"recommended_package": "gradium_phonon_31m_en_q8_0",
"default_voice": "default",
"builtin_voices": [
"default"
],
"tags": [
"TTS",
"GGUF"
],
"docs": [
"docs/models/gradium_phonon.md",
"docs/gguf.md"
]
},
"sources": [
{
"format": "gguf",
"roots": {
"model": ".",
"weights": "$gguf"
},
"files": {
"config": "model:config.json",
"tokenizer": "model:tokenizer.model"
},
"tensors": {
"weights": "weights:"
}
},
{
"format": "safetensors",
"roots": {
"model": "."
},
"files": {
"config": "model:config.json",
"tokenizer": "model:tokenizer.model"
},
"tensors": {
"weights": "model:model.safetensors"
}
}
]
}