def __init__(self): self.time_var = 20 self.fade = pyo.Fader(fadein=0.005, fadeout=10, dur=20).play() self.amp = pyo.SigTo(value=self.fade, time=0, init=0.0) self.freq = pyo.SigTo(2200, time=7, mul=[1, 1.005], init=2200) self.sig = pyo.RCOsc([self.freq, self.freq - 20], sharp=4, mul=self.amp).out() self.freq.setValue(60) self.n = pyo.Noise() self.pan_lfo = pyo.Sine(freq=1, mul=.5, add=.5) self.fade2 = pyo.Fader(fadein=10, fadeout=10, dur=50).play() self.lfo1 = pyo.Sine(freq=.1, mul=500, add=1000) self.lfo2 = pyo.Sine(freq=.4).range(2, 8) self.bp1 = pyo.ButBP(self.n, freq=self.lfo1, q=self.lfo2, mul=self.fade2) self.pan = pyo.SPan(self.bp1, outs=2, pan=self.pan_lfo).out() self.fader3 = pyo.Fader(fadein=0.01, fadeout=5, dur=5, mul=3).play() self.lfd = pyo.Sine([.4, .3], mul=.2, add=.5) self.sawer = pyo.SuperSaw(freq=[49, 50], detune=[self.lfd, self.lfd + 10], bal=0.7, mul=self.fader3).out() time.sleep(50)
def playback1(self): freqs = self.message_translation self.env2 = pyo.Fader(fadein=.1, fadeout=1, dur=10.01).play() rand = pyo.Choice(choice=freqs, freq=[1, self.message_length]) osc = pyo.SuperSaw(freq=[rand, rand / 2, rand / 3], detune=.5, bal=0.8, mul=self.env2).out() d = pyo.Delay(osc, delay=[.2, .5, .75], feedback=.5, mul=self.env2) panner = pyo.Pan(d, outs=2, pan=random.random(), spread=random.random()).out() time.sleep(self.env2.dur + .001)
def make_sine(self, freq): return pyo.SuperSaw(freq, detune=0.8)