smooth_add.liq

def smooth_add(~normal,~special)
  d = 1.  # delay before mixing after beginning of mix
  p = 0.2 # portion of normal when mixed
  fade.final = fade.final(duration=d*.2.)
  fade.initial = fade.initial(duration=d*.2.)
  q = 1. -. p
  c = change_volume
  fallback(
    track_sensitive=false,
    [special,normal],
    transitions=[
      fun(normal,special)->
        add(normalize=false,
            [c(p,normal),
             c(q,fade.final(normal)),
             sequence([blank(duration=d),c(q,special)])]),
      fun(special,normal)->
        add(normalize=false,
            [c(p,normal),
             c(q,fade.initial(normal))])
  ])
end
Download