blue (amp, cps, lfoCps, harmNum, sweepRate) = fmap aout k1
    where 
        k1 = randi 1 50
        k2 = lindur [0, 0.5, 1, 0.5, 0]
        k3 = lindur [0.005, 0.71, 0.015, 0.29, 0.01]
        k4 = k2 * (kr $ osc (sig lfoCps) `withD` 0.2)
        k5 = k4 + 2

        ksweep = lindur [harmNum, sweepRate, 1, 1 - sweepRate, 1]
        kenv = expdur [0.001, 0.01, amp, 0.99, 0.001]
        aout k = gbuzz kenv (sig cps + k3) k5 ksweep k (sines3 [(1, 1, 90)])
blue (amp, cps, lfoCps, harmNum, sweepRate) = fmap aout k1
    where 
        k1 = randi 1 50
        k2 = lindur [0, 0.5, 1, 0.5, 0]
        k3 = lindur [0.005, 0.71, 0.015, 0.29, 0.01]
        k4 = k2 * (kr $ osc (sig lfoCps) `withD` 0.2)
        k5 = k4 + 2

        ksweep = lindur [harmNum, sweepRate, 1, 1 - sweepRate, 1]
        kenv = expdur [0.001, 0.01, amp, 0.99, 0.001]
        aout k = gbuzz kenv (sig cps + k3) k5 ksweep k (sines3 [(1, 1, 90)])
blue (amp, cps, lfoCps, harmNum, sweepRate) = fmap aout k1
    where 
        k1 = randi 1 50
        k2 = lindur [0, 0.5, 1, 0.5, 0]
        k3 = lindur [0.005, 0.71, 0.015, 0.29, 0.01]
        k4 = k2 * (kr $ osc (sig lfoCps) `withD` 0.2)
        k5 = k4 + 2

        ksweep = lindur [harmNum, sweepRate, 1, 1 - sweepRate, 1]
        kenv = expdur [0.001, 0.01, amp, 0.99, 0.001]
        aout k = gbuzz kenv (sig cps + k3) k5 ksweep k (sines3 [(1, 1, 90)])