Files
diodiogod-TTS-Audio-Suite/utils/audio_cpp/model_specs/irodori_tts.json

407 lines
11 KiB
JSON

{
"schema_version": 1,
"family": "irodori_tts",
"display_name": "Irodori-TTS",
"description": "Japanese TTS model based on RF-DiT continuous audio latents, supporting zero-shot voice cloning, automatic duration prediction, multimodal voice design, and emoji-style control.",
"category": "tts",
"status": "supported",
"tasks": [
"tts",
"clone",
"design"
],
"modes": [
"offline"
],
"languages": [
"ja"
],
"capabilities": {
"clone": [
"speaker_reference"
],
"design": [
"voice_design"
]
},
"options": {
"request": [
{
"name": "language",
"type": "string",
"description": "Text language code; Irodori-TTS supports Japanese only.",
"required": false,
"default": "ja"
},
{
"name": "caption",
"type": "string",
"description": "VoiceDesign caption describing target voice identity, style, or emotion; supported only by caption-conditioned checkpoints.",
"required": false
},
{
"name": "no_ref",
"type": "bool",
"description": "Use no-reference generation; default true unless a speaker reference is provided.",
"required": false,
"default": true
},
{
"name": "num_inference_steps",
"type": "int",
"description": "RF diffusion steps; default 40.",
"required": false,
"min": 1,
"default": 40
},
{
"name": "duration_sec",
"type": "float",
"description": "Explicit output duration in seconds; must be positive when set, otherwise predicted duration is used.",
"required": false,
"min": 0.0
},
{
"name": "duration_scale",
"type": "float",
"description": "Predicted-duration multiplier; must be positive when set; default 1.0.",
"required": false,
"min": 0.0,
"default": 1.0
},
{
"name": "text_chunk_mode",
"type": "enum",
"description": "Text chunking mode; default endline.",
"values": [
"japanese",
"endline"
],
"required": false,
"default": "endline"
},
{
"name": "text_chunk_size",
"type": "int",
"description": "Maximum characters per text chunk; default uses the model text-token window.",
"required": false,
"min": 1
},
{
"name": "min_duration_sec",
"type": "float",
"description": "Minimum generated duration in seconds; must be positive and no greater than max_duration_sec; default 0.5.",
"required": false,
"min": 0.0,
"default": 0.5
},
{
"name": "max_duration_sec",
"type": "float",
"description": "Maximum generated duration in seconds; must be at least min_duration_sec; default 30.",
"required": false,
"min": 0.0,
"default": 30.0
},
{
"name": "text_guidance_scale",
"type": "float",
"description": "Text classifier-free guidance scale; default 3.0.",
"required": false,
"min": 0.0,
"default": 3.0
},
{
"name": "speaker_guidance_scale",
"type": "float",
"description": "Speaker classifier-free guidance scale; default 5.0.",
"required": false,
"min": 0.0,
"default": 5.0
},
{
"name": "caption_guidance_scale",
"type": "float",
"description": "Caption classifier-free guidance scale; default 3.0.",
"required": false,
"min": 0.0,
"default": 3.0
},
{
"name": "guidance_scale",
"type": "float",
"description": "Override all classifier-free guidance scales when set.",
"required": false,
"min": 0.0
},
{
"name": "guidance_mode",
"type": "enum",
"description": "Classifier-free guidance combination mode; default independent.",
"values": [
"independent",
"joint",
"alternating"
],
"required": false,
"default": "independent"
},
{
"name": "guidance_min_t",
"type": "float",
"description": "Minimum diffusion timestep value where guidance is active; default 0.5.",
"required": false,
"min": 0.0,
"default": 0.5
},
{
"name": "guidance_max_t",
"type": "float",
"description": "Maximum diffusion timestep value where guidance is active; default 1.0.",
"required": false,
"min": 0.0,
"default": 1.0
},
{
"name": "seed",
"type": "int",
"description": "Generation seed for reproducible output; omitted uses a random seed.",
"required": false,
"min": 0
},
{
"name": "trim_tail",
"type": "bool",
"description": "Trim trailing silence-like samples; default true.",
"required": false,
"default": true
}
],
"session": [
{
"name": "weight_type",
"type": "enum",
"description": "Model weight storage type; default native.",
"preset": "weight_type_full",
"required": false,
"default": "native"
},
{
"name": "codec_weight_type",
"type": "enum",
"description": "DACVAE codec weight storage type; default native.",
"preset": "weight_type_codec_q8",
"required": false,
"default": "native"
},
{
"name": "condition_graph_arena_mb",
"type": "int",
"description": "Condition encoder graph arena size in MiB; default 256.",
"required": false,
"min": 0,
"default": 256
},
{
"name": "rf_graph_arena_mb",
"type": "int",
"description": "RF sampler graph arena size in MiB; default 768.",
"required": false,
"min": 0,
"default": 768
},
{
"name": "codec_graph_arena_mb",
"type": "int",
"description": "DACVAE codec graph arena size in MiB; default 512.",
"required": false,
"min": 0,
"default": 512
},
{
"name": "condition_weight_context_mb",
"type": "int",
"description": "Condition encoder weight context size in MiB; default 32.",
"required": false,
"min": 0,
"default": 32
},
{
"name": "rf_weight_context_mb",
"type": "int",
"description": "RF sampler weight context size in MiB; default 32.",
"required": false,
"min": 0,
"default": 32
},
{
"name": "codec_weight_context_mb",
"type": "int",
"description": "DACVAE codec weight context size in MiB; default 32.",
"required": false,
"min": 0,
"default": 32
},
{
"name": "mem_saver",
"type": "bool",
"description": "Release staged runtime graphs after request phases; default true.",
"required": false,
"default": true
},
{
"name": "reference_cache_slots",
"type": "int",
"description": "Prepared reference-speaker cache slots; default 1.",
"required": false,
"min": 0,
"default": 1
}
],
"load": []
},
"dependencies": [],
"runtime": {
"tags": [
"gguf"
]
},
"ui": {
"recommended_package": "irodori_tts_v4_small_q8_0",
"tags": [
"TTS",
"Clone",
"Design",
"GGUF"
],
"docs": [
"docs/tts.md",
"docs/gguf.md"
]
},
"package_defaults": {
"download": {
"kind": "huggingface_snapshot",
"repo": "audio-cpp/audio.cpp-gguf",
"revision": "main",
"gated": false
}
},
"packages": [
{
"id": "irodori_tts_v4_small_q8_0",
"display_name": "Irodori-TTS v4 Small Q8_0 GGUF",
"default": true,
"format": "gguf",
"precision": "q8_0",
"target_directory": "Irodori-TTS-v4-Small-GGUF",
"files": [
"Irodori-TTS-v4-Small-GGUF/irodori-tts-v4-small-q8_0.gguf"
],
"strip_prefix": "Irodori-TTS-v4-Small-GGUF"
},
{
"id": "irodori_tts_v4_small_f16",
"display_name": "Irodori-TTS v4 Small F16 GGUF",
"format": "gguf",
"precision": "f16",
"target_directory": "Irodori-TTS-v4-Small-GGUF",
"files": [
"Irodori-TTS-v4-Small-GGUF/irodori-tts-v4-small-f16.gguf"
],
"strip_prefix": "Irodori-TTS-v4-Small-GGUF"
},
{
"id": "irodori_tts_600m_v3_voicedesign_q8_0",
"display_name": "Irodori-TTS 600M v3 VoiceDesign Q8_0 GGUF",
"format": "gguf",
"precision": "q8_0",
"target_directory": "Irodori-TTS-600M-v3-VoiceDesign-GGUF",
"files": [
"Irodori-TTS-600M-v3-VoiceDesign-GGUF/irodori-tts-600m-v3-voicedesign-q8_0.gguf"
],
"strip_prefix": "Irodori-TTS-600M-v3-VoiceDesign-GGUF"
},
{
"id": "irodori_tts_600m_v3_voicedesign_f16",
"display_name": "Irodori-TTS 600M v3 VoiceDesign F16 GGUF",
"format": "gguf",
"precision": "f16",
"target_directory": "Irodori-TTS-600M-v3-VoiceDesign-GGUF",
"files": [
"Irodori-TTS-600M-v3-VoiceDesign-GGUF/irodori-tts-600m-v3-voicedesign-f16.gguf"
],
"strip_prefix": "Irodori-TTS-600M-v3-VoiceDesign-GGUF"
},
{
"id": "irodori_tts_500m_v3_q8_0",
"display_name": "Irodori-TTS 500M v3 Q8_0 GGUF",
"format": "gguf",
"precision": "q8_0",
"target_directory": "Irodori-TTS-500M-v3-GGUF",
"files": [
"Irodori-TTS-500M-v3-GGUF/irodori-tts-500m-v3-q8_0.gguf"
],
"strip_prefix": "Irodori-TTS-500M-v3-GGUF"
},
{
"id": "irodori_tts_500m_v3_f16",
"display_name": "Irodori-TTS 500M v3 F16 GGUF",
"format": "gguf",
"precision": "f16",
"target_directory": "Irodori-TTS-500M-v3-GGUF",
"files": [
"Irodori-TTS-500M-v3-GGUF/irodori-tts-500m-v3-f16.gguf"
],
"strip_prefix": "Irodori-TTS-500M-v3-GGUF"
}
],
"sources": [
{
"format": "gguf",
"roots": {
"model": ".",
"weights": "$gguf"
},
"files": {
"model_config": "model:model_config.json"
},
"optional_files": {
"tokenizer_json": "model:tokenizer.json",
"tokenizer_v4_json": "model:tokenizer/tokenizer.json",
"pretrained_text_config": "model:text_encoder_config.json"
},
"tensors": {
"model_weights": {
"source": "weights:",
"prefix": "model_weights"
},
"codec_weights": {
"source": "weights:",
"prefix": "codec_weights"
}
}
},
{
"format": "safetensors",
"roots": {
"model": ".",
"tokenizer": "../llm-jp-3-150m",
"codec": "../Semantic-DACVAE-Japanese-32dim"
},
"files": {
"model_config": "model:model_config.json"
},
"optional_files": {
"tokenizer_json": "tokenizer:tokenizer.json",
"tokenizer_v4_json": "model:tokenizer/tokenizer.json",
"pretrained_text_config": "model:text_encoder_config.json"
},
"tensors": {
"model_weights": "model:model.safetensors",
"codec_weights": "codec:weights.safetensors"
}
}
]
}