Beispiel #1
0
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
Beispiel #2
0
 def create_synth_sawtooth(self):
     '''Create a sawtooth wave synthesizer as a sum of sines
     using the PYO SawTable module (which internally
     calls HarmTable).'''
     self.log.debug('creating sawtooth synth [additive]')
     t = pyo.SawTable(order=self.nharmonics, size=self.tsize)
     return pyo.Osc(table=t,
                    mul=0,
                    freq=[FREQ_C4, FREQ_C4])
Beispiel #3
0
 def __init__(self):
     self.env = pyo.Adsr(attack=.01,
                         decay=.6,
                         sustain=.0,
                         release=.6,
                         dur=1,
                         mul=.5)
     sq = pyo.SawTable()
     self.osc = pyo.Osc(table=sq, mul=self.env, freq=440)
     self.lowpass = pyo.MoogLP(self.osc, 1000, self.env)
     self.lowpass.out()
Beispiel #4
0
    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)