Ditto Stability Fixes (v1.9.317): Restore MotionStitch attribute initialization and fix race condition

This commit is contained in:
Hawk Lee
2026-01-25 19:06:39 +08:00
parent eecba0398f
commit e7a78fc205
3 changed files with 9 additions and 6 deletions
@@ -423,7 +423,7 @@ class Audio2Motion:
if self.clip_idx % 20 == 0:
mode_s = "SPEECH" if getattr(self, "is_talking_state", False) else "IDLE"
print(f"[v1.9.316 {mode_s}] Pressure: {self.persistent_pressure*100:.0f}% (Delta={self.delta_p:+.2f})")
print(f"[v1.9.317 {mode_s}] Pressure: {self.persistent_pressure*100:.0f}% (Delta={self.delta_p:+.2f})")
fuse_r2_s = pred_kp_seq.shape[1] - step_len - self.fuse_length
@@ -449,7 +449,7 @@ class Audio2Motion:
self.warp_offset = actual_last - target_entry
self.warp_decay = 1.0 # Engage full power
print(f"[Ditto Warp] Onset Alignment (v1.9.316). Gap={np.abs(self.warp_offset[0,0,:202]).mean():.4f}")
print(f"[Ditto Warp] Onset Alignment (v1.9.317). Gap={np.abs(self.warp_offset[0,0,:202]).mean():.4f}")
print(f" > Degree Offsets [P,Y,R]: {self.pose_deg_offset}")
if reset:
@@ -534,7 +534,7 @@ class MotionStitch:
self.fix_exp_a3 = _a2
# [Debug v1.9.208] Verify Code Sync
print(f"[AIIA Debug] MotionStitch Setup: v1.9.316. LATEST VERSION LOADED.")
print(f"[AIIA Debug] MotionStitch Setup: v1.9.317. LATEST VERSION LOADED.")
if self.drive_eye and self.delta_eye_arr is not None:
@@ -574,8 +574,11 @@ class MotionStitch:
self.overall_ctrl_info = overall_ctrl_info
if d0 is not None:
self.d0 = d0
# [v1.9.317] Mandatory state initialization to prevent AttributeError in workers
self.d0 = d0
if not hasattr(self, "scale_a"):
self.scale_a = 1.0
self.idx = 0
def _set_scale_ratio(self, scale_ratio=1):
+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.316"
version = "1.9.317"
license = {file = "LICENSE"}
readme = "README.md"
authors = [