Strudelify

wronzi's cowbell groove cadence

gespielt von der P&S

KeyC majorTempo120 bpm
0:00/0:00
// wronzi's cowbell groove cadence — gespielt von der P&S
// 120 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5943810; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 52 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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.

// chords · tuba · "Snare Drum"
const tuba = note(`<
  A B C D E F E G H I J K L M@2 N L M@2 N O P Q R S T A B C D E F E G H I J K L M@2 N L M@2 N O P Q R S T
>`.pickRestart({
  A: "d3!3 [c3,d3,c5] d3!2 [d3,c5]!2 d3!3 [c3,d3,c5] d3!2 [d3,c5]!2, [a4,c7]@3 ~@5 [a4,c7]@3 ~@5", // Csus2 D7 Csus2 D7 Am
  B: "d3!3 [c3,d3,c5] d3!6 [d3,e3] ~ [c#-1,d3,c5]!4, [a4,c7]@3 ~@3 [c1,c3]@2 ~@2 c9@2 ~@4", // Csus2 Dsus2 Am C
  C: "d3!3 [c#-1,c1,c3,d3,a4,c5] d3!2 [d3,c5]!2 d3!3 [c#-1,c1,c3,d3,a4,c5] d3!2 [d3,c5]!2, [c#-1,c1,c3,a4,c5,c7]@3 ~@5 [c#-1,c1,c3,a4,c5,c7]@3 ~@5", // D7 F
  D: "d3!3 [c#-1,c1,c3,d3,a4,c5] d3!6 [d3,e3] ~ [d3,c5]!4, [c#-1,c1,c3,a4,c5,c7]@3 ~@3 [c#-1,c1,c3,a4,c5]@2 ~@2 c9@2 ~@4", // D7 Dsus2 D7 F
  E: "[a4,c7]@3 [c3,d3,c5] ~@2 c9!2 [a4,c7]@3 [c3,d3,c5] ~@2 c9!2, d3 ~@7 d3 ~@7", // Am Csus2 Am Csus2
  F: "[a4,c7]@3 [c3,d3,c5] ~@2 [c1,c3]@2 ~@2 c9@2 [d3,c5]!4, d3 ~@5 d3 ~@3 e3 ~@5", // Am Csus2 C D7
  G: "[c#-1,c7]@3 [c1,c3,d3,c5] ~@2 [c1,c3,a4]@2 ~@2 c9@2 [c1,d3]!4, d3 ~@5 d3 ~@3 e3 ~@5", // C#maj7 Csus2 F Csus2
  H: "~@2 c9@2 c9!2 c7 c9 ~ c9 c5 c9 c9@2 c1@2, c1 ~@3", I: "c1@2 c9@2 c9!2 c7 c9 ~ c9 c5 c9 c9@2 [c#-1,c1,c3,a4]@2",
  J: "~@2 c9@2 c9!2 c7 c9 ~ c9 c5 c9 c9@2 [c#-1,c1,c3,a4]@2, [c#-1,c1,c3,a4] ~@3", // F
  K: "~@2 c9@2 c9!2 c7 c9 ~ c9 c5 c9 [c#-1,c1,c3,d3,a4]!4, [c#-1,c1,c3,a4]@2 ~ [c#-1,c1,c3,a4] ~@2 c9 ~", // D7 F
  L: "~@3 d3 [d3,c9] c9 c7 c9 ~ [d3,c9] c5 [d3,c9] c9@2 c1@2, c1@4 ~@8 d3 ~@3, ~ c9 ~@6", // D7
  M: "c1@2 ~ d3 [d3,c9] c9 c7 c9 ~ [d3,c9] c5 [d3,c9] c9@2 c1@2, ~@2 c9@2 ~@8 d3 ~@3", // D7
  N: "d3@2 [e3,c9]!3 ~ [c#-1,c1,c3,a4]@2 [e3,c9]!3 ~ c1!4, [c#-1,c1,c3,a4] ~@2 [c#-1,c3,a4]", // C F C F
  O: "[c#-1,c1,c3,a4]@4 c7!4 c5!3 c1!3 c3@2", P: "c3 c5 c7@2 [e3,c7] c7 [d3,c7]!2 [d3,c5]!3 [c1,d3]!3 [c3,d3]@2",
  Q: "d3!4 [d3,c7]!4 [d3,c5]!3 [c1,d3]!3 [c3,d3]@2", // D7 Csus2
  R: "[c3,d3] [d3,c5] d3!2 [d3,c7]!4 [d3,c5]!3 [c#-1,c1,c3,d3,a4] [c1,d3]!2 [c#-1,c1,c3,a4]@2, ~@2 c7@2 ~@4 [c#-1,c1,c3,a4]@3 ~@3 e3 ~", // Csus2 D7 Csus2 F
  S: "d3@2 [e3,c9]!3 ~ [c#-1,c1,c3,d3,a4]@2 [e3,c9]!3 ~ [c1,d3]!4, [c#-1,c1,c3,a4] ~@2 [c#-1,c3,a4]", // C D7 C Csus2 F
  T: "d3@2 [e3,c9] ~ [c1,d3] c1@2 [c1,d3] [c#-1,c1,c3,d3,a4]@4 ~@4, [c#-1,c1,c3,a4]@4 ~ d3 ~@10", // C Csus2 D7 F
})).s("gm_tuba").gain(0.04)

// chords · tuba · "Snare Drum" · soft notes
const tuba_soft = note(`<
  ~@4 A B A C D E F G H I J K H I J K L M N O P Q ~@4 A B A C D E F G H I J K H I J K L M N O P Q
>`.pickRestart({
  A: "~ d3!2 ~ d3!4 ~ d3!2 ~ d3!4, e5!4", B: "~ d3!2 ~ d3!2 ~ d3!4 ~ e5@4, e5!3 ~",
  C: "~ d3!2 ~ d3!2 ~ d3!4 ~ [c#-1,c3,a4]!4, c5@3 ~@3 c5@2 ~@8", D: "[c#-1,c3,d3,a4] ~@3, d5", E: "~@7 d3",
  F: "c5@5 ~@2 d3, d3 ~@3", G: "c5@3 c5@2 ~ c5@2, d3@2 ~ d3 ~@4",
  H: "d3!3 ~@2 d3!3 c3@2 d3 c3 ~ d3!3, c5@4 ~ e5 ~@2, [c#-1,c3,a4]@4 a4@4 d3 ~@5 [c3,e5]@2", // F C
  I: "d3!2 [c#-1,e5]@2 ~ d3!3 c1@2 d3 c1 ~ d3!3, c#-1@2 d3 ~ a4@2 [c3,e5]@2 d3 ~ e5@2 ~@2 e5@2", // C#m C
  J: "d3!2 e5@2 ~ d3!3 c3@2 d3 c3 ~ d3!3, c#-1@2 ~ e5 ~ e5 ~@2, ~@2 d3 ~ a4@4 d3 ~@5 [c3,e5]@2", // C
  K: "c5@6 c5@6 d3!4, ~@3 e3 ~@2 c5@2", L: "d3@4 d3!3 ~ d3!3 ~ d3!3 ~, d5", M: "d3!3 ~@13",
  N: "c#-1@4 [a4,d5]@4 c3@3 c3 d5@4", O: "a4!2 c3!2 c1!2 c#-1!2 ~@8, ~ c5 c5@2 ~@4", P: "c5@3 c5@3 c5@2",
  Q: "~@4 [c#-1,c3,a4] [c#-1,c3,a4]@2 [c#-1,c3,a4] e5@2 ~@6, c5 ~", // F
})).s("gm_tuba").gain(0.03)

stack(tuba, tuba_soft)