-- crest ; mouse varies from sinewave (left) to almost-square (right)
let sig = (sinOsc ar (mouseY kr 100 1000 Exponential 0.1) 0 * mouseX kr 1 10 Linear 0.2) `clip2` 1
    val = X.crest kr sig 440 1
in mce2 sig (sinOsc ar (lag val 0.2 * 400) 0) * 0.1