def __init__(self, sequence, amp=1, pan=0.5): BaseSynth.__init__(self, sequence, amp, pan) self.env = pyo.CosTable([(0,0.0000),(953,1.0000),(5737,0.7254),(8192,0.0000)]) self.env_reader = pyo.TrigEnv(self.trig, self.env, dur=pyo.Max(self.dur, comp=0.3125)) self.osc = pyo.LFO(type=2, freq=pyo.Noise(add=1, mul=0.3*self.freq), mul=0.5*self.env_reader) self.pre_filter = pyo.Biquad(self.osc, freq=191) self.disto_env = pyo.CosTable([(0,0.0000),(2118,0.2694),(8192,0.0000)]) self.disto_env_reader = pyo.TrigEnv(self.trig, self.disto_env, dur=self.dur, add=0.7) self.disto = pyo.Disto(self.pre_filter, drive=self.disto_env_reader, mul=0.3) self.freq_env = pyo.CosTable([(0,0.0000),(1553,0.4767),(8192,0.0000)]) self.freq_env_reader = pyo.TrigEnv(self.trig, self.freq_env, dur=self.dur, add=1000, mul=200) self.res_filter = pyo.Biquad(pyo.BrownNoise(mul=self.env_reader), q=6, freq=self.freq_env_reader, mul=0.9, type=2) self.panner = pyo.Pan(self.disto+self.res_filter, mul=self.master_amp, pan=self.master_pan) self.last_audio_object = self.panner
def __init__(self, sequence, amp=1, pan=0.5): BaseSynth.__init__(self, sequence, amp, pan) self.formant = [235,459,1105,2735,4115] self.env = pyo.CosTable([(0,0.0000),(1200,0.9793),(7062,0.7772),(8000,0.0000)]) self.env_reader = pyo.TrigEnv(self.trig, self.env, dur=self.dur) self.source = pyo.LFO(freq=self.freq,mul=self.env_reader) self.eq = pyo.EQ(self.source ,freq=[self.freq], boost=20) self.ffilter = pyo.SVF(self.eq, type=0.5, freq=self.formant, q=10, mul=0.1) self.trans_env = pyo.CosTable([(0,0.0000),(388,0.3731),(2630,0.0518),(7821,0.0000),(8000,0.0000)]) self.trans_env_reader = pyo.TrigEnv(self.trig, self.trans_env, dur=0.25) self.trans = pyo.Noise(mul=self.trans_env_reader) self.trans_filter = pyo.Biquad(self.trans, freq=400) self.trans_resonator = pyo.Biquad(self.trans_filter, q=31, freq=self.freq*2, mul=0.2) self.panner = pyo.Pan(pyo.Compress((self.ffilter+self.trans_resonator).mix(0), mul=self.master_amp,), pan=self.master_pan) self.last_audio_object = self.panner
def __init__(self, son): super().__init__() self.file = son self.son = pyo.SndTable(self.file) self.synth = pyo.TableRead(self.son, 1 / self.son.getDur(), 1).play() self.filter = pyo.Biquad(self.synth) self.verb = pyo.WGVerb(self.filter).mix(2)
def filtered_saw(delay, note, amp, dur=1.): t = pyo.SawTable(order=15).normalize() dur *= 2. env = pyo.Fader(fadein=.02, fadeout=0.02, dur=dur * 0.9, mul=amp).play(dur=2.5 * dur, delay=delay) adsr = pyo.Adsr(attack=dur * 0.05, decay=0.05 * dur, sustain=0.3, release=dur * 0.7, dur=dur * 0.9, mul=amp).play(dur=2.5 * dur, delay=delay) osc = pyo.Osc(t, freq=pyo.midiToHz(note), mul=adsr).mix(1) rev = pyo.Freeverb(osc, size=1., damp=0.5, bal=1., mul=env).play(dur=2.5 * dur, delay=delay) # rev.out(delay=delay, dur=dur) eq = pyo.Biquad(rev, freq=800, q=1., type=0).play(dur=2.5 * dur, delay=delay) eq.out(delay=delay, dur=dur) # eq = None return osc, env, rev, eq
def filtered_square(delay, note, amp, dur=1.): a = np.sqrt(np.linspace(1., 0., 15)) t = pyo.HarmTable(a.tolist()) dur *= 2. env = pyo.Fader(fadein=.02, fadeout=0.02, dur=dur * 0.9, mul=amp).play(dur=2.5 * dur, delay=delay) adsr = pyo.Adsr(attack=dur * 0.05, sustain=0.707, decay=0.1 * dur, release=dur * 0.7, dur=dur * 0.9, mul=amp).play(dur=2.5 * dur, delay=delay) osc = pyo.Osc(t, freq=pyo.midiToHz(note), mul=adsr).mix(1) rev = pyo.Freeverb(osc, size=1., damp=0.5, bal=1., mul=env).play(dur=2.5 * dur, delay=delay) # rev.out(delay=delay, dur=dur) eq = pyo.Biquad(rev, freq=500, q=1., type=2).play(dur=2.5 * dur, delay=delay) eq.out(delay=delay, dur=dur) # eq = None return osc, env, rev, eq
def __init__(self, sequence, amp=1, pan=0.5): BaseSynth.__init__(self, sequence, amp, pan) self.env = pyo.CosTable([(0,0.0000),(353,1.0000),(4166,0.6528),(8000,0.0000)]) self.env_reader = pyo.TrigEnv(self.trig, self.env, dur=pyo.Max(self.dur, comp=0.3125)) self.sine_freqs = [] for i in range(-1,1): self.sine_freqs.extend([self.freq*(1+0.001*i), self.freq*2*(1+0.002*i), self.freq*3*(1+0.002*i),self.freq*5*(1+0.002*i)]) self.osc = pyo.Sine(freq=self.sine_freqs, mul=[self.env_reader, self.env_reader*0.2, self.env_reader*0.2, self.env_reader*0.1]*3) self.trans_env = pyo.CosTable([(0,0.0000),(123,0.0777),(812,0.0570),(2083,0.0052),(8000,0.0000)]) self.trans_env_reader = pyo.TrigEnv(self.trig, self.trans_env, dur=0.25) self.trans = pyo.Noise(mul=self.trans_env_reader) self.trans_filter = pyo.Biquad(self.trans, freq=1690) self.trans_resonator = pyo.Biquad(self.trans_filter, q=31, freq=self.freq*4) self.panner = pyo.Pan((self.trans_resonator+self.osc).mix(0), mul=(0.1)*self.master_amp, pan=self.master_pan) self.last_audio_object = self.panner
def __init__(self): self.trig = pyo.Trig() decaytable = pyo.LinTable(list=[(0,0), (100, 1.0), (8191, 0.0)]) self.env = pyo.TrigEnv(self.trig, table=decaytable, dur=0.6, mul=[0,0]) self.spectrum = [1.]+[0.]*15 # 16 total self.waveform = pyo.HarmTable(self.spectrum) self.osc = pyo.Osc(self.waveform, freq=[0.,0.], mul=self.env) self.filter = pyo.Biquad(self.osc, freq=[300.,300.], type=2, q=2.) self.output = self.filter.out()
def __init__(self, sequence, amp=1, pan=0.5): BaseSynth.__init__(self, sequence, amp, pan) self.env = pyo.CosTable([(0,0.0000),(123,0.9896),(2701,0.4870),(6479,0.2746),(8192,0.0000)]) self.env_reader = pyo.TrigEnv(self.trig, self.env, dur=pyo.Max(self.dur, comp=0.3125)) sine_freqs = [] for i in range(-1,1): freqs = [self.freq*j*(1+0.008*i) for j in range(1,8)] sine_freqs.extend(freqs) harm_amps = [1,0.3,0.4,0.2,0.1,0.04,0.04,0.03,0.02] self.osc = pyo.Sine(freq=sine_freqs, mul=[self.env_reader*harm_amps[i] for i in range(8)]) self.trans_env = pyo.ExpTable([(0,0.3938),(8192,0.0000)]) self.trans_env_reader = pyo.TrigEnv(self.trig, self.trans_env, dur=0.25) self.trans = pyo.Noise(mul=self.trans_env_reader) self.trans_filter = pyo.Biquad(self.trans, freq=1690) self.trans_resonator = pyo.Delay(pyo.Denorm(self.trans_filter), feedback=0.90, delay=(self.freq**-1)) self.chorus = pyo.Chorus(self.trans_resonator, depth=0.13, feedback=0.84) self.master_filter = pyo.Biquad((self.chorus+self.osc).mix(0), freq=3900) self.panner = pyo.Pan(self.master_filter, mul=(0.1)*self.master_amp, pan=self.master_pan) self.last_audio_object = self.panner
def build(self): self.input = self.pheno.filterIns.get(self.data.input_id) self.mul = self.data.mul #self.freq_mod=(1.0+self.pheno.envelopes.get(self.data.freq_input).envelope)*self.data.freq self.filt = pyo.Biquad( self.input.src, freq=self.data.freq, #_mod, type=self.data.type, q=self.data.q, mul=self.mul) self.out = pyo.SPan(self.filt).out()
def __init__(self): super().__init__() self.sine = pyo.CosTable([(0, 0), (100, 1), (1000, .25), (8191, 0)]) self.square = pyo.SquareTable() self.saw = pyo.SawTable() self.synth = pyo.NewTable(8192 / 44100) self.pointer = pyo.Sig(0) self.morph = pyo.TableMorph(self.pointer, self.synth, [self.sine, self.square, self.saw]) self.osc = pyo.Osc(self.synth, 440) self.filter = pyo.Biquad(self.osc) self.verb = pyo.WGVerb(self.filter).mix(2)
def __init__(self): super().__init__() self.wv1 = pyo.CosTable([(0, 0), (4060, 1), (8191, 0)]) self.wv2 = pyo.CosTable([(0, 0.00), (2074, 0.59), (4060, 1.00), (8191, 0.00)]) self.wv3 = pyo.CosTable([(0, 0.00), (2074, 0.59), (4060, 1.00), (6117, 0.60), (8191, 0.00)]) self.wv4 = pyo.CosTable([(0, 0.00), (2039, 0.29), (2039, 0.60), (4060, 1.00), (6117, 0.60), (6117, 0.30), (8191, 0.00)]) self.wv5 = pyo.CosTable([(0, 0.00), (2039, 0.29), (2039, 0.60), (3255, 0.29), (4060, 1.00), (4900, 0.30), (6117, 0.60), (6117, 0.30), (8191, 0.00)]) self.wv6 = pyo.CosTable([(0, 0.00), (769, 1.00), (2039, 0.29), (2039, 0.60), (3255, 0.29), (4060, 1.00), (4900, 0.30), (6117, 0.60), (6117, 0.30), (7333, 1.00), (8191, 0.00)]) self.wv7 = pyo.CosTable([(0, 0.00), (769, 0.00), (769, 1.00), (2039, 0.29), (2039, 0.60), (3255, 0.29), (4060, 1.00), (4900, 0.30), (6117, 0.60), (6117, 0.30), (7333, 1.00), (7333, 0.00), (8191, 0.00)]) self.wv8 = pyo.CosTable([(0, 0.00), (769, 0.00), (769, 1.00), (2039, 0.29), (2039, 0.60), (3255, 0.29), (3255, 1.00), (4900, 1.00), (4900, 0.30), (6117, 0.60), (6117, 0.30), (7333, 1.00), (7333, 0.00), (8191, 0.00)]) self.synth = pyo.NewTable(8192 / 44100) self.pointer = pyo.Sig(0) self.morph = pyo.TableMorph(self.pointer, self.synth, [ self.wv1, self.wv2, self.wv3, self.wv4, self.wv5, self.wv6, self.wv7, self.wv8 ]) self.osc = pyo.Osc(self.synth, 440) self.filter = pyo.Biquad(self.osc) self.verb = pyo.WGVerb(self.filter).mix(2)
def __init__(self): self.synth = pyo.Sine(440) self.filter = pyo.Biquad(self.synth) self.verb = pyo.WGVerb(self.synth).mix(2)
import pyo s = pyo.Server(audio='portaudio', nchnls=1).boot() s.start() a = pyo.Input(chnl=0) fol = pyo.Follower(a, freq=30, mul=4000, add=40) f = pyo.Biquad(a, freq=fol, q=5, type=2).out() s.gui()
for k in np.arange(0, 20, 1): freq_new = (2 * k + j) * f0 freq_ar.append(freq_new) for Q in np.arange(1, 11, 1): for filter_f in np.arange(1, 11, 1): # Set sound parameters sound = 'set1_' + str(int(j * 10)) + '_' \ + str(int(k)) + '_' \ + str(int(Q)) + '_' \ + str(int(filter_f)) + '_' \ + '.wav' s.recordOptions(dur=dur, filename=os.path.join(folder_path + sound), fileformat=fformat, sampletype=samptype) # Create sound sin_sig = pyo.Sine(freq=freq_ar, mul=1) sig_filtered = pyo.Biquad(sin_sig, freq=float(filter_f * sr / (2 * 100)), q=float(Q), type=2).out() # start the render s.start() # cleanup s.recstop() # s.shutdown()
trigs = [] trigs.append(pyo.Metro(dur)) trigs.append(pyo.SDelay(trigs[0], delay=delay1)) trigFuncs = [] for i in range(len(trigs)): trigFuncs.append(pyo.TrigFunc(trigs[i], trighandler, arg=i)) freq = pyo.Sig(400) on = pyo.Sig(0) e = pyo.MidiAdsr(on, attack=0.001, decay=0.005, sustain=0.70, release=0.010) hifreq = srate b1 = pyo.LFO(freq=freq, mul=e) v = pyo.Biquad(input=b1, freq=1000, q=2, type=2).out() # #f1.ctrl() #f2.ctrl() #f3.ctrl() b1.ctrl() e.ctrl() v.ctrl() trigs[0].play() s.gui(locals())
def __init__(self): super().__init__() self.son = pyo.Input(1) self.synth = pyo.Harmonizer(self.son, 1) self.filter = pyo.Biquad(self.synth) self.verb = pyo.WGVerb(self.filter).mix(2)
def __init__(self): super().__init__() self.noi = pyo.Noise() self.synth = pyo.Waveguide(self.noi, 200, .7) self.filter = pyo.Biquad(self.synth) self.verb = pyo.WGVerb(self.filter).mix(2)