Strudelify

wonderwall

ND+

KeyG majorTempo90 bpm
0:00/0:00
// wonderwall — ND+
// 90 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 4 "Alto Saxophone" alto sax (copy of ch 2 "B♭ Trumpet" trumpet); ch 1 "Trombone" trombone (copy of ch 5 "Tenor Saxophone" tenor sax)
// note: Transcription provider: pdmx. https://musescore.com/score/5877761; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 74 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(90/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/2 spreads a riff over 2 bars.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · trumpet · "B♭ Trumpet"
const trumpet = note(`<
  A B A B A B A B C D C D E F@2 B C D C D E F@2 B G@4 H I@3 J@2 K@4 L M ~ C D C D E F@2 B G@4 H I@3 J@2 K@4 N O P@7 Q@2
>`.pickRestart({
  A: "f4@4 f4@2 f4!2 ~ f4 f4@2 f4@2 f4!2", B: "g4!2 g4@2 g4@2 f4 g4@2 g4@2 g4!3 f4!2",
  C: "~@2 a4@2 g4@3 f4 g4 f4 g4 f4 g4@2 g4 f4", D: "g4 f4 g4 f4 g4@2 a4 f4@5 ~@4",
  E: "a4 c5 a4 c5@3 c5 d5@3 c5 g4@3 f4@2",
  F: "[g4@3 g4!2 a4@2 f4@4 d4 d4@2 d4 f4@3 d4@2 f4@2 f4!2 ~ f4 f4@2 f4@2 f4!2]/2",
  G: "[f4@2 g4 d4@3 e4 f4@3 g4 d4@3 e4 f4@3 d4@6 ~@6 f4 f4@3 g4 d4@3 e4 f4@3 g4 d4@3 e4 f4@3 d4@6 ~@8]/4",
  H: "f4@2 g4 d4@3 e4 f4@3 g4 d4@4 f4", I: "[a4@3 a4 g4@2 a4 f4@3 f4!2 g4 a4@2 g4@2 f4 d4@16 ~@11 g4 a4@2]/3",
  J: "[a4@3 f4@19 d4 f4@2 d4 f4 d4 f4@2 f4@2]/2",
  K: "[a4@3 f4@19 a4@2 a#4@2 c5@4 f4@20 ~@2 a4@2 a4@2 a#4@2 a4@4 a4@2]/4", L: "~ g4 f4@14", M: "f4!2 f4@2 f4@3 f4@9",
  N: "a4 g4 f4@10 ~@2 c4 d4", O: "f4!2 f4@4 e4!2 ~ f4!3 a4 f4 a4 a#4", P: "a4 a#4 f5 d5@4 a#4",
  Q: "[a4@2 ~@5 f5@5 ~@4]/2",
})).s("gm_trumpet").gain(0.3)

stack(trumpet)