{
    var loc = LocalIn.ar(2);
    var sig = HPF.ar(SinOsc.ar([0.00021477777528322, 0.000021477777528322]+(ZeroCrossing.ar(loc.reverse)).linlin(0, 20000, 0.00021477777528322, 0.000021477777528322)), 0.6)*150.dbamp;
    var osc = (SinOsc.ar((ZeroCrossing.ar(sig)/[100,200,30,30.1]).linlin(0,2000,800,190000), loc.reverse*pi*sig.reverse*150));
    osc = [osc[0], osc[1]] / 4;
    LocalOut.ar(osc);
    Out.ar(0, osc);
}.play