200 lines
5.6 KiB
JSON
200 lines
5.6 KiB
JSON
{
|
|
"family": "index_tts2",
|
|
"display_name": "IndexTTS2",
|
|
"description": "Zero-shot TTS system for Chinese and English speech synthesis with voice cloning, emotion-speaker decoupling, text or audio emotion control, and explicit duration control.",
|
|
"category": "tts",
|
|
"status": "supported",
|
|
"tasks": [
|
|
"tts",
|
|
"clone"
|
|
],
|
|
"modes": [
|
|
"offline"
|
|
],
|
|
"languages": [
|
|
"zh",
|
|
"en"
|
|
],
|
|
"capabilities": {
|
|
"tts": [
|
|
"emotion_control"
|
|
],
|
|
"clone": [
|
|
"speaker_reference",
|
|
"emotion_control"
|
|
]
|
|
},
|
|
"runtime": {
|
|
"tags": [
|
|
"gguf"
|
|
]
|
|
},
|
|
"ui": {
|
|
"recommended_package": "index_tts2_q8_0",
|
|
"tags": [
|
|
"TTS",
|
|
"Clone",
|
|
"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": "index_tts2_q8_0",
|
|
"display_name": "IndexTTS2 Q8_0 GGUF",
|
|
"default": true,
|
|
"format": "gguf",
|
|
"precision": "q8_0",
|
|
"target_directory": "IndexTTS2-GGUF",
|
|
"files": [
|
|
"IndexTTS2-GGUF/index-tts2-q8_0.gguf"
|
|
],
|
|
"strip_prefix": "IndexTTS2-GGUF"
|
|
},
|
|
{
|
|
"id": "index_tts2_f16",
|
|
"display_name": "IndexTTS2 F16 GGUF",
|
|
"format": "gguf",
|
|
"precision": "f16",
|
|
"target_directory": "IndexTTS2-GGUF",
|
|
"files": [
|
|
"IndexTTS2-GGUF/index-tts2-f16.gguf"
|
|
],
|
|
"strip_prefix": "IndexTTS2-GGUF"
|
|
},
|
|
{
|
|
"id": "index_tts2_orig",
|
|
"display_name": "IndexTTS2 Original-Dtype GGUF",
|
|
"format": "gguf",
|
|
"precision": "orig",
|
|
"target_directory": "IndexTTS2-GGUF",
|
|
"files": [
|
|
"IndexTTS2-GGUF/index-tts2-orig.gguf"
|
|
],
|
|
"strip_prefix": "IndexTTS2-GGUF"
|
|
},
|
|
{
|
|
"id": "index_tts2_safetensors",
|
|
"display_name": "IndexTTS2 Safetensors",
|
|
"format": "safetensors",
|
|
"precision": "native",
|
|
"target_directory": "IndexTTS-2",
|
|
"files": [
|
|
"config.yaml",
|
|
"bpe.model",
|
|
"gpt.safetensors"
|
|
],
|
|
"download": {
|
|
"kind": "huggingface_snapshot",
|
|
"repo": "mlx-community/index-tts2-mlx"
|
|
}
|
|
}
|
|
],
|
|
"sources": [
|
|
{
|
|
"format": "gguf",
|
|
"roots": {
|
|
"model": ".",
|
|
"weights": "$gguf"
|
|
},
|
|
"files": {
|
|
"config": "model:config.yaml",
|
|
"bpe": "model:bpe.model",
|
|
"wav2vec2bert_config": "model:w2v-bert-2.0/config.json",
|
|
"wav2vec2bert_preprocessor_config": "model:w2v-bert-2.0/preprocessor_config.json",
|
|
"bigvgan_config": "model:bigvgan/config.json",
|
|
"qwen_emotion_config": "model:qwen0.6bemo4-merge/config.json",
|
|
"qwen_emotion_generation_config": "model:qwen0.6bemo4-merge/generation_config.json",
|
|
"qwen_emotion_tokenizer": "model:qwen0.6bemo4-merge/tokenizer.json",
|
|
"qwen_emotion_tokenizer_config": "model:qwen0.6bemo4-merge/tokenizer_config.json",
|
|
"qwen_emotion_vocab": "model:qwen0.6bemo4-merge/vocab.json",
|
|
"qwen_emotion_merges": "model:qwen0.6bemo4-merge/merges.txt"
|
|
},
|
|
"tensors": {
|
|
"gpt": {
|
|
"source": "weights:",
|
|
"prefix": "gpt"
|
|
},
|
|
"s2mel": {
|
|
"source": "weights:",
|
|
"prefix": "s2mel"
|
|
},
|
|
"speaker_matrix": {
|
|
"source": "weights:",
|
|
"prefix": "speaker_matrix"
|
|
},
|
|
"emotion_matrix": {
|
|
"source": "weights:",
|
|
"prefix": "emotion_matrix"
|
|
},
|
|
"wav2vec2bert_stats": {
|
|
"source": "weights:",
|
|
"prefix": "wav2vec2bert_stats"
|
|
},
|
|
"wav2vec2bert": {
|
|
"source": "weights:",
|
|
"prefix": "wav2vec2bert"
|
|
},
|
|
"semantic_codec": {
|
|
"source": "weights:",
|
|
"prefix": "semantic_codec"
|
|
},
|
|
"campplus": {
|
|
"source": "weights:",
|
|
"prefix": "campplus"
|
|
},
|
|
"bigvgan": {
|
|
"source": "weights:",
|
|
"prefix": "bigvgan"
|
|
},
|
|
"qwen_emotion": {
|
|
"source": "weights:",
|
|
"prefix": "qwen_emotion"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"format": "safetensors",
|
|
"roots": {
|
|
"model": "."
|
|
},
|
|
"files": {
|
|
"config": "model:config.yaml",
|
|
"bpe": "model:bpe.model",
|
|
"wav2vec2bert_config": "model:w2v-bert-2.0/config.json",
|
|
"wav2vec2bert_preprocessor_config": "model:w2v-bert-2.0/preprocessor_config.json",
|
|
"bigvgan_config": "model:bigvgan/config.json",
|
|
"qwen_emotion_config": "model:qwen0.6bemo4-merge/config.json",
|
|
"qwen_emotion_generation_config": "model:qwen0.6bemo4-merge/generation_config.json",
|
|
"qwen_emotion_tokenizer": "model:qwen0.6bemo4-merge/tokenizer.json",
|
|
"qwen_emotion_tokenizer_config": "model:qwen0.6bemo4-merge/tokenizer_config.json",
|
|
"qwen_emotion_vocab": "model:qwen0.6bemo4-merge/vocab.json",
|
|
"qwen_emotion_merges": "model:qwen0.6bemo4-merge/merges.txt"
|
|
},
|
|
"tensors": {
|
|
"gpt": "model:gpt.safetensors",
|
|
"s2mel": "model:s2mel.safetensors",
|
|
"speaker_matrix": "model:feat1.safetensors",
|
|
"emotion_matrix": "model:feat2.safetensors",
|
|
"wav2vec2bert_stats": "model:wav2vec2bert_stats.safetensors",
|
|
"wav2vec2bert": "model:w2v-bert-2.0/model.safetensors",
|
|
"semantic_codec": "model:semantic_codec_model.safetensors",
|
|
"campplus": "model:campplus.safetensors",
|
|
"bigvgan": "model:bigvgan/model.safetensors",
|
|
"qwen_emotion": "model:qwen0.6bemo4-merge/model.safetensors"
|
|
}
|
|
}
|
|
]
|
|
}
|