(
{
	var sig, nn = 39.6, seq;
	seq = Demand.kr(
		trig: Impulse.kr(0.21) + Impulse.kr(0.105, 5/8),
		reset: 0,
		demandUGens: Dseq([[0, 12, 16, 19], [2, 14, 18, 21], [-3, 13, 16, 21]], inf);
	);
	nn = nn * LFDNoise3.kr(LFNoise0.kr(8).exprange(1, 4)).bipolar(0.06).midiratio;
	sig = Saw.ar((seq + nn).midicps);
	sig = LPF.ar(sig, (nn.midicps * XLine.kr(2, 10, 16)).clip(20, 20000));
	sig = BLowShelf.ar(sig, 300, 0.5, 9);
	sig = Splay.ar(sig.scramble, 0.5);
	sig = sig * LFDNoise0.kr(LFNoise2.kr(8).exprange(1, 30)).exprange(0.6, 1).lag(0.1);
	sig = sig.blend(GVerb.ar(sig.sum, 299, 4), 0.15);
	sig = sig * 0.15;
}.play;
)