Skip to content

Instantly share code, notes, and snippets.

@pLabarta
Created February 15, 2020 19:33
Show Gist options
  • Save pLabarta/207c456dc1991bd57657b0ff91b80636 to your computer and use it in GitHub Desktop.
Save pLabarta/207c456dc1991bd57657b0ff91b80636 to your computer and use it in GitHub Desktop.
Root.default = -3
Scale.default = 'lydian'
Clock.bpm=117
def changemode(root,scale):
Root.default.set(root)
Scale.default.set(scale)
### PLAYERS ###
if not sh: sh = Player();
if not gt: gt = Player();
if not ba: ba = Player();
if not go: go = Player();
if not gb: gb = Player();
## PARTES ###
changemode(0, 'minor')
bases = var([0,1,P[2,2, -3],P[4,1, -2]],4)
def intro1():
p2 >> play('f f f f f ',dur=1/2,amp=0.1,sample=3)
def intro2():
sh >> play('s',dur=1/2,amp=P[1.7,0.9,1.15,0.9]*0.4)
def levada():
gt >> orient(0,dur=P[2,3,2,2,2,2,2,1]/2,amp=0.24,sus=1,lpf=300) + var([(-1,2,4),(-1,2,3)],P[3,5])
ba >> orient([0,0,-3,-3],dur=P[3,1]/2,amp=0.24,sus=1,lpf=300,oct=3)
def levada2():
gt.reset() >> orient(bases,dur=P[2,3,2,2,2,2,2,1]/2,amp=PRand([0.45]),sus=1,lpf=300,oct=5).every(6,'stutter',3,dur=2,oct=6,amp=0.5,lpf=400,delay=3).every(4,'jump',2,delay=1/2) + var([(-1,2,4),(-1,2,3)],P[3,5])
ba >> orient(P[0,0,-3,-3] + bases,dur=P[3,1]/2,amp=0.3,sus=1,lpf=300,oct=3)
def phrase():
# TODO: Use gong
# changemode(-4,'lydianAug')
changemode(-5,'lydian')
go >> blip(P['97 434' + '6 543210 '],dur=1/2,amp=var([0,1],8),delay=1,lpf=1000)
def phr1():
changemode(-5,'lydian')
def pause_melodies():
go.stop()
gt.stop()
ch.stop()
def upper_melody():
notes = var(PWalk(5)[:8],1)
go.reset() >> nylon(notes,dur=silencio(3,8)/2,sus=2,amp=var([0,1],8)*0.5,delay=1,lpf=1000,oct=7)
def pause_percussion():
sh.stop()
p2.stop()
def glitch_percussion():
gb >> play('N',dur=1/4,amp=PRand(3)[:29]/2,sus=0.1,sample=PRand(5)[:13], pan=PRand([0,1])[:17]).sometimes('reverse')
def snare():
sn >> play(' u ', dur=1, amp=0.7, lpf=2000 + sinvar([0,1500],16), echo=1, mix=0.5)
def staccatto():
gt.sus=PRand(4)[:16]/4 + 0.1
percussion()
gb >> play('N',dur=1/4,amp=PRand(3)[:29]/2,sus=0.1,sample=PRand(5)[:13], pan=PRand([-1,0,1])[:17]).sometimes('reverse')
def percussion():
sh >> play('s',amp=P[1.7,0.9,1.15,0.9]*0.4)
p1 >> play('v( ( v))( v)(vvv )',dur=ritmos[-1],amp=0.3,sus=P[P[1,100],0,0,1]/1000,sample=4)
p2 >> play('f f f f f ',amp=0.1,sample=3)
levada()
def createMelody():
notes = PWalk(5)[:5]
return notes
def silencio(index,dur):
durs = [1 for i in range(dur)]
durs[index] = rest(1)
return Pattern(durs)
notes = var(PWalk(5)[:8],1)
g2 >> nylon(P['97 434' + '6 543210 '],dur=1/2,sus=2,amp=var([1],8)*0.24,delay=2,lpf=1000,oct=7,drive=0.0)
g2 >> nylon(notes,dur=silencio(2,8)/2,sus=g2.dur*1,amp=var([1],8)*0.4,delay=2,lpf=1000,oct=7,drive=0.0)
# Ciclos de nylon
go.reset() >> nylon([0],dur=ritmos[-2],sus=4,amp=var([1],8)*0.20,delay=1,lpf=1000,oct=4,formant=0) + (P[-1,0,3,4], P[9,7,6])
d1 >> play(".",dur=ritmos[-1],delay=[0,0.75,0])
jajaja me empezo a andar mal troop asi que me parecio un buen final
changeDur(2)
m1 >> nylon([0],dur=4,chop=0,oct=3,lpf=1000,amp=0.5)
go >> blip([0],dur=silencio(0,8)/4,sus=2,amp=var([0,1],8)*0.3,delay=1,lpf=1000,oct=7)
# increible
# jajajajajajja
# yo he grabado un poco, mas cer
ac#grano el final
#tengo media hora de esto,jajaj, hay que repetirlo
si, de una
# dale que bueno fue, w
ow
si, genial estuvo :)
tenemos que sacar el disco ;D
#clapclapclap?
# siiiii
go.reset() >> blip(dur=0.25,sus=2,delay=1,amp=0.24,lpf=1000,oct=9).follow(pp) + [0,2,4,6]
sintes()
sonando()
Group(sn,gt,go,d1).solo(0)
arpy()
changeDur(0.5)
abajoarriba(8)
# que sonido hermoso
ch >> bell(var([0,2],4),dur=ritmos[-2],amp=0.2,delay=PRand([0]),oct=5).every(6,'stutter',6,dur=3,pan=[-1,1],oct=6) + var([0,2],8) + var([go.pitch],0.5)
ch.stop()
bases = var([0,2,0,-1],16)
# <3 # <3
# P[2,3,2,1,2,3,2,1]/2,amp=0.44)
pp >> space(var([[0],-1],P[2,3,1,2]/2),dur=P[2,3,2,1,2,3,2,1]/2,amp=P[0.9]*(0.5,0.25),oct=var([5,6],16),delay=PRand([0,0.5]),amplify=PRand([1,1,0,1]),hpf=1000) + var([0,-2],8) + P[0,2,0,0].every(4,'shuffle')
changemode(-4,'lydianAug')
changemode(-2, 'mixolydian')
changemode(1, 'lydian')
changemode(-4, 'lydian')
changemode(-5, 'phrygian')
changemode(-4, 'lydianAug')
### EFECTOS #####
efectos = {}
### RESET ###
def reset():
pass
intro = [intro1, intro2, phrase]
cancion = intro + [levada, phr1, percussion]
def countRepetitions(fname,cancion):
fnames = list(map(lambda x : x.__name__,cancion))
return fnames.count(fname)
def reproducir(cancion,efectos,reset,start):
reset()
if len(cancion) > 0:
cancion[0]()
fname = cancion[0].__name__
if fname in efectos and countRepetitions(fname,cancion) == efectos[fname]["vuelta"]:
efectos[fname]["efecto"]()
Clock.schedule(lambda : reproducir(cancion[1:],efectos,reset,start+8),start + 8)
start = Clock.mod(8) - 0.1
Clock.schedule(lambda : reproducir(cancion,efectos,reset,start), start)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment