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
420 lines
12 KiB
JSON
420 lines
12 KiB
JSON
{
|
|
"family": "omnivoice",
|
|
"display_name": "OmniVoice",
|
|
"description": "Massively multilingual zero-shot TTS model from k2-fsa for 600+ languages, supporting short-reference voice cloning, attribute-based voice design, pronunciation controls, and nonverbal tags.",
|
|
"category": "tts",
|
|
"status": "supported",
|
|
"tasks": [
|
|
"tts",
|
|
"clone",
|
|
"design"
|
|
],
|
|
"modes": [
|
|
"offline",
|
|
"streaming"
|
|
],
|
|
"languages": [
|
|
"600+ languages"
|
|
],
|
|
"capabilities": {
|
|
"clone": [
|
|
"speaker_reference"
|
|
],
|
|
"design": [
|
|
"voice_design"
|
|
]
|
|
},
|
|
"options": {
|
|
"request": [
|
|
{
|
|
"name": "language",
|
|
"type": "string",
|
|
"description": "Synthesis language code or label; omitted uses automatic language selection.",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "reference_text",
|
|
"type": "string",
|
|
"description": "Transcript for speaker reference audio used in voice cloning.",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "instruct",
|
|
"type": "string",
|
|
"description": "Voice-design instruction such as speaker attributes, accent, style, or delivery.",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "seed",
|
|
"type": "int",
|
|
"description": "Generation seed for reproducible output; omitted value keeps the session RNG state.",
|
|
"required": false,
|
|
"min": 0,
|
|
"max": 4294967295
|
|
},
|
|
{
|
|
"name": "num_inference_steps",
|
|
"type": "int",
|
|
"description": "Diffusion language-model inference steps; default 32.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 32
|
|
},
|
|
{
|
|
"name": "guidance_scale",
|
|
"type": "float",
|
|
"description": "Classifier-free guidance scale; default 2.0.",
|
|
"required": false,
|
|
"default": 2
|
|
},
|
|
{
|
|
"name": "speed",
|
|
"type": "float",
|
|
"description": "Speech speed multiplier used for target-length estimation; default 1.0.",
|
|
"required": false,
|
|
"default": 1
|
|
},
|
|
{
|
|
"name": "duration_sec",
|
|
"type": "float",
|
|
"description": "Target output duration in seconds; omitted uses the model's estimated duration.",
|
|
"required": false,
|
|
"min": 0
|
|
},
|
|
{
|
|
"name": "shift",
|
|
"type": "float",
|
|
"description": "Diffusion timestep schedule shift; default 0.1.",
|
|
"required": false,
|
|
"default": 0.1
|
|
},
|
|
{
|
|
"name": "denoise",
|
|
"type": "bool",
|
|
"description": "Add the denoise control token when reference audio is present; default true.",
|
|
"required": false,
|
|
"default": true
|
|
},
|
|
{
|
|
"name": "preprocess_prompt",
|
|
"type": "bool",
|
|
"description": "Preprocess speaker reference audio before tokenization; default true.",
|
|
"required": false,
|
|
"default": true
|
|
},
|
|
{
|
|
"name": "postprocess_output",
|
|
"type": "bool",
|
|
"description": "Apply output postprocessing and trimming; default true.",
|
|
"required": false,
|
|
"default": true
|
|
},
|
|
{
|
|
"name": "layer_penalty_factor",
|
|
"type": "float",
|
|
"description": "Layer-order penalty used while selecting masked audio-codebook positions; default 5.0.",
|
|
"required": false,
|
|
"default": 5
|
|
},
|
|
{
|
|
"name": "position_temperature",
|
|
"type": "float",
|
|
"description": "Gumbel temperature for masked-position selection; default 5.0.",
|
|
"required": false,
|
|
"default": 5
|
|
},
|
|
{
|
|
"name": "class_temperature",
|
|
"type": "float",
|
|
"description": "Audio-token class sampling temperature; default 0 for greedy class selection.",
|
|
"required": false,
|
|
"min": 0,
|
|
"default": 0
|
|
},
|
|
{
|
|
"name": "audio_chunk_duration_sec",
|
|
"type": "float",
|
|
"description": "Target chunk duration for automatic long-form splitting; default 15 seconds.",
|
|
"required": false,
|
|
"min": 0,
|
|
"default": 15
|
|
},
|
|
{
|
|
"name": "audio_chunk_threshold_sec",
|
|
"type": "float",
|
|
"description": "Estimated duration above which long-form generation is split into chunks; default 30 seconds.",
|
|
"required": false,
|
|
"min": 0,
|
|
"default": 30
|
|
},
|
|
{
|
|
"name": "text_chunk_size",
|
|
"type": "int",
|
|
"description": "Explicit long-form text chunk size in Unicode codepoints. Omitted value uses duration-based automatic chunking.",
|
|
"required": false,
|
|
"min": 1
|
|
},
|
|
{
|
|
"name": "text_chunk_mode",
|
|
"type": "enum",
|
|
"description": "Text chunking mode; default tag_aware.",
|
|
"preset": "text_chunk_mode_full",
|
|
"required": false,
|
|
"default": "tag_aware"
|
|
}
|
|
],
|
|
"session": [
|
|
{
|
|
"name": "weight_type",
|
|
"type": "enum",
|
|
"description": "Shared generator weight storage type; default native.",
|
|
"preset": "weight_type_full",
|
|
"required": false,
|
|
"default": "native"
|
|
},
|
|
{
|
|
"name": "generator_weight_type",
|
|
"type": "enum",
|
|
"description": "Generator weight storage type; defaults to weight_type, which defaults to native.",
|
|
"preset": "weight_type_full",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "audio_tokenizer_weight_type",
|
|
"type": "enum",
|
|
"description": "Audio tokenizer weight storage type; default native.",
|
|
"preset": "weight_type_full",
|
|
"required": false,
|
|
"default": "native"
|
|
},
|
|
{
|
|
"name": "audio_tokenizer_codebook_weight_type",
|
|
"type": "enum",
|
|
"description": "Storage type for the audio tokenizer codebooks, codebook score matrix, semantic feature projection, and fc2; default f32.",
|
|
"values": ["native", "f32", "f16", "bf16"],
|
|
"required": false,
|
|
"default": "f32"
|
|
},
|
|
{
|
|
"name": "audio_tokenizer_graph_arena_mb",
|
|
"type": "int",
|
|
"description": "Audio tokenizer graph arena size in MiB; default 128.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 128
|
|
},
|
|
{
|
|
"name": "generator_prefill_graph_arena_mb",
|
|
"type": "int",
|
|
"description": "Generator prefill graph arena size in MiB; default 256.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 256
|
|
},
|
|
{
|
|
"name": "generator_decode_graph_arena_mb",
|
|
"type": "int",
|
|
"description": "Generator decode graph arena size in MiB; default 256.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 256
|
|
},
|
|
{
|
|
"name": "audio_tokenizer_weight_context_mb",
|
|
"type": "int",
|
|
"description": "Audio tokenizer weight context size in MiB; default 128.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 128
|
|
},
|
|
{
|
|
"name": "generator_weight_context_mb",
|
|
"type": "int",
|
|
"description": "Generator weight context size in MiB; default 256.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 256
|
|
},
|
|
{
|
|
"name": "mem_saver",
|
|
"type": "bool",
|
|
"description": "Release staged runtime graphs after request phases; default false. Cannot be combined with perf_mode=flash_attention.",
|
|
"required": false,
|
|
"default": false
|
|
},
|
|
{
|
|
"name": "perf_mode",
|
|
"type": "enum",
|
|
"description": "Generator performance mode; default off keeps the exact-safe attention path. flash_attention requires mem_saver=false.",
|
|
"preset": "perf_mode_flash_attention",
|
|
"required": false,
|
|
"default": "off"
|
|
}
|
|
],
|
|
"load": []
|
|
},
|
|
"runtime": {
|
|
"tags": [
|
|
"gguf",
|
|
"stream"
|
|
]
|
|
},
|
|
"ui": {
|
|
"recommended_package": "omnivoice_q8_0",
|
|
"tags": [
|
|
"TTS",
|
|
"Clone",
|
|
"Design",
|
|
"GGUF",
|
|
"Stream"
|
|
],
|
|
"docs": [
|
|
"docs/models/omnivoice.md",
|
|
"docs/tts.md",
|
|
"docs/gguf.md"
|
|
]
|
|
},
|
|
"package_defaults": {
|
|
"download": {
|
|
"kind": "huggingface_snapshot",
|
|
"repo": "audio-cpp/audio.cpp-gguf",
|
|
"revision": "main",
|
|
"gated": false
|
|
}
|
|
},
|
|
"packages": [
|
|
{
|
|
"id": "omnivoice_q8_0",
|
|
"display_name": "OmniVoice Q8_0 GGUF",
|
|
"default": true,
|
|
"format": "gguf",
|
|
"precision": "q8_0",
|
|
"target_directory": "OmniVoice-GGUF",
|
|
"files": [
|
|
"OmniVoice-GGUF/omnivoice-q8_0.gguf"
|
|
],
|
|
"strip_prefix": "OmniVoice-GGUF"
|
|
},
|
|
{
|
|
"id": "omnivoice_bf16",
|
|
"display_name": "OmniVoice BF16 GGUF",
|
|
"format": "gguf",
|
|
"precision": "bf16",
|
|
"target_directory": "OmniVoice-GGUF",
|
|
"files": [
|
|
"OmniVoice-GGUF/omnivoice-bf16.gguf"
|
|
],
|
|
"strip_prefix": "OmniVoice-GGUF"
|
|
},
|
|
{
|
|
"id": "omnivoice_f16",
|
|
"display_name": "OmniVoice F16 GGUF",
|
|
"format": "gguf",
|
|
"precision": "f16",
|
|
"target_directory": "OmniVoice-GGUF",
|
|
"files": [
|
|
"OmniVoice-GGUF/omnivoice-f16.gguf"
|
|
],
|
|
"strip_prefix": "OmniVoice-GGUF"
|
|
},
|
|
{
|
|
"id": "omnivoice_safetensors",
|
|
"display_name": "OmniVoice Safetensors",
|
|
"format": "safetensors",
|
|
"precision": "native",
|
|
"target_directory": "OmniVoice",
|
|
"files": [
|
|
"config.json",
|
|
"model.safetensors",
|
|
"tokenizer.json",
|
|
"tokenizer_config.json",
|
|
"audio_tokenizer/config.json",
|
|
"audio_tokenizer/preprocessor_config.json",
|
|
"audio_tokenizer/model.safetensors"
|
|
],
|
|
"download": {
|
|
"kind": "huggingface_snapshot",
|
|
"repo": "k2-fsa/OmniVoice"
|
|
}
|
|
},
|
|
{
|
|
"id": "voicetut_tts_q8_0",
|
|
"display_name": "VoiceTut-TTS Egyptian Arabic Q8_0 GGUF",
|
|
"description": "Egyptian Arabic and Arabic-English code-switching fine-tune of OmniVoice from mohammedaly22/VoiceTut-TTS (same architecture and audio tokenizer as OmniVoice). Use language=arz.",
|
|
"format": "gguf",
|
|
"precision": "q8_0",
|
|
"target_directory": "VoiceTut-TTS-GGUF",
|
|
"files": [
|
|
"voicetut-tts-q8_0.gguf"
|
|
],
|
|
"download": {
|
|
"kind": "huggingface_snapshot",
|
|
"repo": "mohammedaly22/VoiceTut-TTS-GGUF"
|
|
}
|
|
},
|
|
{
|
|
"id": "voicetut_tts_f16",
|
|
"display_name": "VoiceTut-TTS Egyptian Arabic F16 GGUF",
|
|
"description": "Egyptian Arabic and Arabic-English code-switching fine-tune of OmniVoice from mohammedaly22/VoiceTut-TTS (same architecture and audio tokenizer as OmniVoice). Use language=arz.",
|
|
"format": "gguf",
|
|
"precision": "f16",
|
|
"target_directory": "VoiceTut-TTS-GGUF",
|
|
"files": [
|
|
"voicetut-tts-f16.gguf"
|
|
],
|
|
"download": {
|
|
"kind": "huggingface_snapshot",
|
|
"repo": "mohammedaly22/VoiceTut-TTS-GGUF"
|
|
}
|
|
}
|
|
],
|
|
"sources": [
|
|
{
|
|
"format": "gguf",
|
|
"roots": {
|
|
"model": ".",
|
|
"weights": "$gguf"
|
|
},
|
|
"files": {
|
|
"config": "model:config.json",
|
|
"tokenizer_json": "model:tokenizer.json",
|
|
"tokenizer_config": "model:tokenizer_config.json",
|
|
"audio_tokenizer_config": "model:audio_tokenizer/config.json",
|
|
"audio_tokenizer_preprocessor": "model:audio_tokenizer/preprocessor_config.json"
|
|
},
|
|
"optional_files": {
|
|
"chat_template": "model:chat_template.jinja"
|
|
},
|
|
"tensors": {
|
|
"weights": {
|
|
"source": "weights:",
|
|
"prefix": "weights"
|
|
},
|
|
"audio_tokenizer_weights": {
|
|
"source": "weights:",
|
|
"prefix": "audio_tokenizer_weights"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"format": "safetensors",
|
|
"roots": {
|
|
"model": "."
|
|
},
|
|
"files": {
|
|
"config": "model:config.json",
|
|
"tokenizer_json": "model:tokenizer.json",
|
|
"tokenizer_config": "model:tokenizer_config.json",
|
|
"audio_tokenizer_config": "model:audio_tokenizer/config.json",
|
|
"audio_tokenizer_preprocessor": "model:audio_tokenizer/preprocessor_config.json"
|
|
},
|
|
"optional_files": {
|
|
"chat_template": "model:chat_template.jinja"
|
|
},
|
|
"tensors": {
|
|
"weights": "model:model.safetensors",
|
|
"audio_tokenizer_weights": "model:audio_tokenizer/model.safetensors"
|
|
}
|
|
}
|
|
]
|
|
}
|