def makeRhodes(length, beat, freqs, maxbend=0.05): backup = Sampler(snds.load('tones/nycrhodes01.wav'), tune.ntf('c'), direction='fw-bw-loop', tails=False) chord = [ keys.rhodes(length, freq, dsp.rand(0.4, 0.7)) for freq in freqs ] chord = dsp.randshuffle(chord) chord = [ dsp.mix([ dsp.env(fx.penv(backup.play(freq * 2**dsp.randint(0,2), length, dsp.rand(0.4, 0.6))), 'line'), c ]) for freq, c in zip(freqs, chord) ] pause = 0 for i, c in enumerate(chord): pause = pause + (dsp.randint(1, 4) * beat) c = dsp.pan(c, dsp.rand()) c = fx.bend(c, [ dsp.rand() for _ in range(dsp.randint(5, 10)) ], dsp.rand(0, maxbend)) chord[i] = dsp.pad(dsp.fill(c, length - pause), pause, 0) return dsp.mix(chord)
def makeArps(length, beat, cname): freqs = tune.chord(cname, key, dsp.randint(1,4)) tone = Sampler(snds.load('tones/nick.wav'), direction='fw-bw-loop', tails=False) freqs = dsp.randshuffle(freqs) beat = int((beat * 2) / dsp.randchoose([0.5, 1, 2, 3, 1.5])) numbeats = length / beat out = '' for i in range(numbeats): out += tone.play(freqs[i % len(freqs)], beat) out = dsp.fill(out, length) out = fx.penv(out) return out