I don't like giving up!
This approach seems to work. Not sure it would work on very complex animations but it seems to be close. It won't check direction for flyins, wheel spoke numbers etc though.
Basically it checks the animation settings for each animation in turn - deletes it and remakes it with no sound of course.
Sub kill_Sound()
Dim L As Long
Dim osld As Slide
Dim eff_type As Long
Dim b_exit As Boolean
Dim oshp As Shape
Dim eff_Dur As Single
Dim eff_Delay As Single
Dim eff_triggerType As Long
For Each osld In ActivePresentation.Slides
For L = osld.TimeLine.MainSequence.Count To 1 Step -1
With osld.TimeLine.MainSequence(L)
Set oshp = .Shape
eff_Dur = .Timing.Duration
eff_triggerType = .Timing.triggerType
eff_Delay = .Timing.TriggerDelayTime
If .Exit = msoTrue Then b_exit = True
eff_type = .EffectType
.Delete
End With
With osld.TimeLine.MainSequence.AddEffect(oshp, eff_type, , eff_triggerType)
If b_exit Then .Exit = True
.MoveTo L
.Timing.TriggerDelayTime = eff_Delay
.Timing.Duration = eff_Dur
End With
b_exit=False
Next L
Next osld
End Sub