Ask for what your party needs
- Youmake it slower and creepier for when guests arrive
- Youadd thunder in the lights-off part
- Youmake it 128 BPM for the dance floor
- Youadd a scream-like synth hit at the start of each section
- Youmake it last ten minutes without repeating too much
Party tips
- Open it, press play, and leave it looping: it plays as long as the page is open.
- Make two versions: slow and creepy for the door, fast for dancing.
- Share it with a link so friends can play it, or remix it for their own party.
See the song's code
setcpm(29.5) // 118 BPM, D minor
const wind = s("white") .lpf(sine .range(300, 900) .slow(8)) .gain(.05) .room(.6)
const bells = note("<d5 ~ ~ ~ a4 ~ ~ ~>") .s("triangle")
.decay(1.2) .sustain(0) .gain(.3) .room(.9) .delay(.35)
const drums = s("bd*4, [~ cp]*2, [~ hh]*4") .gain(.36)
const bass = note("<[d2 d3]*4 [bb1 bb2]*4 [g1 g2]*4 [a1 a2]*4>")
.s("sawtooth") .lpf(600) .decay(.15) .sustain(0) .gain(.22)
// the creeping organ: minor arpeggios, the last one with the C sharp that pulls back to D
const organ = note("<[d4 f4 a4 f4]*2 [bb3 d4 f4 d4]*2 [g3 bb3 d4 bb3]*2 [a3 c#4 e4 c#4]*2>")
.s("square") .lpf(1800) .decay(.12) .sustain(.1) .gain(.13) .room(.4)
const ghost = note("<a5 ~ [g#5 a5] ~ f5 ~ [e5 f5] ~>") .s("sine")
.attack(.3) .release(1) .gain(.16) .delay(.5) .room(.8)
arrange(
[4, stack(wind, bells)], // the door creaks open
[8, stack(drums, bass, organ, bells)], // the party starts
[4, stack(wind, bass, ghost)], // lights off
[8, stack(drums, bass, organ, ghost, bells)], // everyone dances
)Your party, your soundtrack
Shawarma makes music you change by asking, and keeps only what you like. Free to start, with 5 assistant replies to try it.
Make it yours in Shawarma