Add support for VibeVoice-Realtime-0.5B (Multi-language & Low latency)
This commit is contained in:
@@ -432,9 +432,11 @@ git clone https://github.com/havvk/ComfyUI_AIIA.git
|
||||
- **当前状态**: ✅ 可用(已通过测试)
|
||||
- **支持语言**: **英文 (en) 和 中文 (zh)**(官方仅在这两种语言数据集上训练)
|
||||
- **可选模型**:
|
||||
- `microsoft/VibeVoice-1.5B`: 轻量版,64K 上下文(~3GB 显存)。注:可能对某些标点(如连字符、引号)处理不佳。
|
||||
- `microsoft/VibeVoice-Realtime-0.5B`: **最新实时版**,极致速度,支持多种语言(如日、韩、英、中等),上下文 8K。推荐用于低延迟对话场景。
|
||||
- `microsoft/VibeVoice-1.5B`: 轻量版,64K 上下文(~3GB 显存)。
|
||||
- `vibevoice/VibeVoice-7B`: 高质量版,32K 上下文(~14GB 显存)。推荐用于生产环境。
|
||||
- **特点**:
|
||||
- **多语言支持**: 0.5B 版本支持比 1.5B/7B 更多的语言种类。
|
||||
- **即时启动**: 无需预热或编译,首次运行即可使用(CosyVoice 首次需 ~1 分钟编译)。
|
||||
- **语言自动识别**: 模型会自动识别中英文文本。
|
||||
- **零样本音色克隆**: 输入 `reference_audio` 即可克隆声音。参考音频会自动重采样到 24000Hz。
|
||||
|
||||
+10
-10
@@ -291,27 +291,27 @@ class AIIA_VibeVoice_Loader:
|
||||
model.generation_config = final_gen_config
|
||||
else:
|
||||
# Fallback to internal presets
|
||||
is_7b = False
|
||||
preset_name = "generation_config.json" # Default
|
||||
if hasattr(config, "decoder_config") and hasattr(config.decoder_config, "hidden_size"):
|
||||
is_7b = config.decoder_config.hidden_size > 2048
|
||||
h_size = config.decoder_config.hidden_size
|
||||
if h_size > 2048:
|
||||
preset_name = "generation_config_7B.json"
|
||||
elif h_size < 1000:
|
||||
preset_name = "generation_config_0.5B.json"
|
||||
else:
|
||||
preset_name = "generation_config_1.5B.json"
|
||||
|
||||
preset_name = "generation_config_7B.json" if is_7b else "generation_config_1.5B.json"
|
||||
preset_path = os.path.join(core_path, preset_name)
|
||||
|
||||
if os.path.exists(preset_path):
|
||||
print(f"[AIIA] Model-specific config not found. Using internal preset: {preset_name}")
|
||||
# We need to load it manually or use from_pretrained on the file path if possible
|
||||
import json
|
||||
with open(preset_path, "r") as f:
|
||||
gen_dict = json.load(f)
|
||||
model.generation_config = GenerationConfig.from_dict(gen_dict)
|
||||
else:
|
||||
bundled_gen_config_path = os.path.join(core_path, "generation_config.json")
|
||||
if os.path.exists(bundled_gen_config_path):
|
||||
print(f"[AIIA] Using generic bundled fallback: generation_config.json")
|
||||
model.generation_config = GenerationConfig.from_pretrained(core_path)
|
||||
else:
|
||||
print("[AIIA WARNING] No generation_config.json found (local or bundled).")
|
||||
print(f"[AIIA WARNING] Preset {preset_name} not found, using generic fallback.")
|
||||
model.generation_config = GenerationConfig.from_pretrained(core_path)
|
||||
except Exception as ge:
|
||||
print(f"[AIIA WARNING] Failed to load generation config: {ge}")
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"cfg_scale": 1.3,
|
||||
"eos_token_id": 151643,
|
||||
"max_new_tokens": 8192,
|
||||
"max_length": 8192,
|
||||
"n_diffusion_steps": 20,
|
||||
"do_sample": false,
|
||||
"temperature": 1.0,
|
||||
"top_p": 1.0,
|
||||
"noise_scheduler_class": "DPMSolverMultistepScheduler",
|
||||
"noise_scheduler_config": {
|
||||
"beta_schedule": "squaredcos_cap_v2",
|
||||
"num_train_timesteps": 1000,
|
||||
"prediction_type": "v_prediction"
|
||||
},
|
||||
"pad_token_id": 151643,
|
||||
"speech_diffusion_id": 151654,
|
||||
"speech_end_id": 151653,
|
||||
"speech_start_id": 151652,
|
||||
"transformers_version": "4.57.0.dev0"
|
||||
}
|
||||
Reference in New Issue
Block a user