import("stdfaust.lib");
priemWave = waveform{789, 38689, 60798, 30004, 28425, 16581, 26056, 31583, 40269, 7106, 20529, 22898, 7895, 59219, 18160, 37900, 22108, 34741, 63956, 53692, 9475, 5527, 8685, 32373, 13423, 2368, 50533, 51323, 24477, 19739, 49744, 12633, 29214, 55271, 21318, 61588, 3158, 23687, 46585, 54481, 48165};
number = priemWave : _,!;
dc = (789 + 38689 + 60798 + 30004 + 28425 + 16581 + 26056 + 31583 + 40269 + 7106 + 20529 + 22898 + 7895 + 59219 + 18160 + 37900 + 22108 + 34741 + 63956 + 53692 + 9475 + 5527 + 8685 + 32373 + 13423 + 2368 + 50533 + 51323 + 24477 + 19739 + 49744 + 12633 + 29214 + 55271 + 21318 + 61588 + 3158 + 23687 + 46585 + 54481 +
48165)/number;
priemOsc(f) = priemWave,int(os.phasor(number,f)) : rdtable : _ - dc : _*(0.00001) ;
process = g * a * priemOsc(f*b) <: _,_;
a = hslider("gain",1,0,1,0.001);
b = ba.semi2ratio(hslider("bend [midi:pitchwheel]",0,-2,2,0.001));
f = hslider("freq",440,10,20000,0.01);
g = button("gate");