v1.9.126: Vitality Restoration & Organic Pipe Order

This commit is contained in:
Hawk Lee
2026-01-24 13:50:34 +08:00
parent e221408c53
commit d38fa24390
2 changed files with 28 additions and 28 deletions
@@ -737,37 +737,20 @@ class MotionStitch:
# [Feature v1.9.48] Apple Mouth Micro-Motion
if "delta_mouth" in kwargs:
_lip = [6, 12, 14, 17, 19, 20]
# Broadcasting scalar to (1, 6, 3)
exp_reshaped = x_d_info["exp"].reshape(-1, 21, 3)
exp_reshaped[:, _lip] += kwargs["delta_mouth"]
x_d_info["exp"] = exp_reshaped.reshape(1, -1)
# [v1.9.126] DIAGNOSTIC RESET: Removed all manual mouth biases.
# Letting AI model control the mouth (17, 19, 20) completely.
# Procedural deltas are now moved to the very bottom to ensure they land on final pixels.
# [v1.9.125] DIAGNOSTIC RESET: Removed all manual mouth biases.
# Letting AI model control the mouth (17, 19, 20) completely.
# [Revert v1.9.55] User reports "Original code didn't have twitch".
# Switching back to Legacy Function (but with [11,13] fix applied inside it).
x_d_info = _fix_exp_for_x_d_info(
x_d_info,
x_s_info,
delta_eye,
self.drive_eye
)
# [v1.9.92] Speech-Only Blink: Blink mirror removed.
# With blinks only occurring during speech, the mesh coupling artifact
# (slight mouth twitch) is naturally masked by speaking motion.
x_d_info = ctrl_motion(x_d_info, **kwargs)
# Poses will be applied at the bottom.
# [v1.9.125] MINIMAL TRANSITION SHIELD (Diagnostic Mode)
# We UNFREEZE pose/position and UNLOCK the mouth (17, 19, 20).
# We only lock eyes/cheeks to prevent the most jarring smile mutations.
if exp_blend_alpha < 1.0:
print(f"[AIIA] v1.9.125 Diagnostic Mode (Alpha={exp_blend_alpha:.2f})")
# [v1.9.126] REFINED TRANSITION SHIELD (Narrow-Cast)
# We only lock eyes/cheeks when ACTIVELY transitioning (0.0 < alpha < 1.0).
# Pure Silence (0.0) is left alone to allow procedural breathing to take over.
if 0.0 < exp_blend_alpha < 1.0:
print(f"[AIIA] v1.9.126 Transition Guard (Alpha={exp_blend_alpha:.2f})")
is_blinking = False
if self.drive_eye and not isinstance(delta_eye, int):
@@ -868,9 +851,26 @@ class MotionStitch:
if self.is_image_flag:
self.x_s = x_s
# [v1.9.126] PIPE END VITALITY APPLICATION
# We apply all procedural and legacy fixes here to ensure
# they are never overwritten by transition logic.
# 1. Base Eyelid Fix (Legacy twitch suppression + [11,13] restore)
x_d_info = _fix_exp_for_x_d_info(x_d_info, x_s_info, delta_eye, self.drive_eye)
# 2. Breathing Mouth (delta_mouth)
if "delta_mouth" in kwargs:
_lip = [6, 12, 14, 17, 19, 20]
exp_reshaped = x_d_info["exp"].reshape(-1, 21, 3)
exp_reshaped[:, _lip] += kwargs["delta_mouth"]
x_d_info["exp"] = exp_reshaped.reshape(1, -1)
# 3. Head Sway & Poses (ctrl_motion)
x_d_info = ctrl_motion(x_d_info, **kwargs)
x_d = transform_keypoint(x_d_info)
# [v1.9.125] Restore Native Stitch Net for Diagnosis
# Re-apply Stitch Net
if self.flag_stitching:
x_d = self.stitch_net(x_s, x_d)
+1 -1
View File
@@ -1,7 +1,7 @@
[project]
name = "aiia"
description = "The Ultimate AI Audio/Video toolkit for ComfyUI. Features an enhanced Ditto (with optimizations that outperform official demos and other SOTA talking head models in lip-sync accuracy and natural motion), EchoMimic V3 & FLOAT, VibeVoice & CosyVoice 3.0 (Zero-Shot Voice Cloning), Multi-Role Podcast Generation, and a powerful Media Browser."
version = "1.9.125"
version = "1.9.126"
license = {file = "LICENSE"}
readme = "README.md"
authors = [