Strudelify

Pure Cocaine

Melvin Evans

KeyF majorTempo60 bpm
0:00/0:00
// Pure Cocaine — Melvin Evans
// 60 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 3 "B♭ Clarinet" clarinet (copy of ch 2 "Flute" flute); ch 6 "B♭ Trumpet" trumpet (copy of ch 2 "Flute" flute); ch 11 "Mellophone" french horn (copy of ch 4 "Alto Saxophone" alto sax); ch 13 "Euphonium" tuba (copy of ch 5 "Tenor Saxophone" tenor sax)
// note: Transcription provider: pdmx. https://musescore.com/score/5837045; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 33 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(60/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · piccolo
const piccolo = note("<A B C D E F G H I J K L M ~@7 A B C D E F G H I J K L M>".pickRestart({
  A: "f6 e6", B: "db6@4 d6 a5 d6 e6", C: "~ a6 f6 e6 e6@4", D: "[db6,e6] [d6,f6]",
  E: "a6!3 g6!4 f6 g6!2 g6@2 ~@2 f6 g6", F: "a6!3 g6!4 f6 g6!2 f6@2 ~@2 f6@2", G: "a6!3 f6 g6!3 f6 g6 f6 g6@2 ~@4",
  H: "a6!3 g6!4 f6 g6!2 f6@2 ~@4", I: "a6!3 f6 ~@4 a6!3 g6 ~@4", J: "a6@4 a6 g6 ~ f6 f6@6 d6@2", K: "d6 e6",
  L: "bb6@8 a6@4 a5 bb5 c6 db6", M: "d6 ~@3",
})).s("gm_piccolo").gain(0.3)

// other · alto sax · "Alto Saxophone"
const alto_sax = note("<A B C D E F E G H G I J K ~@7 A B C D E F E G H G I J K>".pickRestart({
  A: "d5 db5", B: "a4 bb4 a4 bb4 a4@3 a4 d5@2 a4@2 a4@4", C: "f4@8 e4@3 bb4 a4@4", D: "g4 f4", E: "a4@2 g4 bb4",
  F: "e4 g4 f4@2", G: "db5 a4 d5@2", H: "a4@3 g4 g4@3 bb4", I: "c5!2 bb4 a4 ~@4 c5!2 bb4 a4 ~@4", J: "g4 [f4,a4]",
  K: "[f4,a4] ~@3", // F
})).s("gm_alto_sax").gain(0.3)

// other · tenor sax · "Tenor Saxophone"
const tenor_sax = note("<A B C D E F E G H I J K L ~@7 A B C D E F E G H I J K L>".pickRestart({
  A: "f3@4 a3@3 g3 e3@8, ~@8 f3 ~@7", B: "e3 f3", C: "d4@7 f4 e4@8", D: "db4 e4 d4@2", E: "d4@8 db4@3 e4 e4@4",
  F: "db4@4 a3@4 d4@3 a3 a3@2 g3@2", G: "db4@4 e4@4 d4@3 a3 a3@4", H: "~@5 a3 g3@2 ~@5 a3 g3@2",
  I: "e3@2 db3 e3 f3@2 a3@2", J: "~@4 a3!2 g3 f3 ~@4 a3!2 g3 f3", K: "db4 a3 d4@2", L: "d4 ~@3",
})).s("gm_tenor_sax").gain(0.3)

// other · trumpet · "B♭ Trumpet"
const trumpet = note("<A B C D E F G H I J K L M ~@7 A B C D E F G H I J K L M>".pickRestart({
  A: "f4 e4", B: "db4@4 d4 a3 d4 e4", C: "~ a4 f4 e4 e4@4", D: "db4 d4", E: "a4!3 g4!4 f4 g4!2 g4@2 ~@2 f4 g4",
  F: "a4!3 g4!4 f4 g4!2 f4@2 ~@2 f4@2", G: "a4!3 f4 g4!3 f4 g4 f4 g4@2 ~@4", H: "a4!3 g4!4 f4 g4!2 f4@2 ~@4",
  I: "a4!3 f4 ~@4 a4!3 g4 ~@4", J: "a4@4 a4 g4 ~ f4 f4@6 d4@2", K: "d4 e4", L: "d5 db5", M: "a4 ~@3",
})).s("gm_trumpet").gain(0.3)

// chords · trombone
const trombone = note("<A B A B A B A B A B A B C ~@7 A B A B A B A B A B A B C>".pickRestart({
  A: "[a3,d4,f4] [a3,db4,e4]", B: "[bb3,db4,e4] [a3,d4,f4]", C: "[a3,d4,f4] ~@3",
})).s("gm_trombone").gain(0.3)

// bass · tuba
const bass = note("<~@2 A B C D C E C D C E C D C E F G F H ~@3 I C D C E C D C E J>".pickRestart({
  A: "d2@3 e2 a2@3 bb2 a2 a2@3 ~@4, ~@4 f2 ~@11", B: "a2!2 a2@2 ~@3 f3 d3@4 a2 g2 f2 e2, ~@8 e3 ~@7",
  C: "d3@2 ~ d3@2 ~@2 d3@2 d3 db3@2 ~ a2@2 a2", D: "db3@2 ~ a2@2 ~@2 d3@2 d3 d3@2 ~ g3 f3 e3",
  E: "db3@2 ~ a2@2 ~@2 d3@2 d3 d3@2 ~@2 a2!2", F: "d2@2 ~ d2@2 ~@2 d2@2 d2 db2@2 ~ a1@2 a1",
  G: "db2@2 ~ a1@2 ~@2 d2@2 d2 d2@2 ~ g2 f2 e2", H: "db2@2 ~ a1@2 ~@2 d2@2 d2 d2@2 ~@2 a1!2",
  I: "~@8 a3 ~ g3 ~ f3 ~ e3 ~", J: "d2 ~@3",
})).s("gm_tuba").gain(0.3)

stack(piccolo, alto_sax, tenor_sax, trumpet, trombone, bass)

More by Melvin Evans