Strudelify

spaceman

The Killers

KeyE majorTempo145 bpm
0:00/0:00
// spaceman — The Killers
// 145 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/6076659; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 174 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(145/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/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.

// chords · piano
const piano = note(`<
  A@8 B C D E F G H I A@4 J K J L A@4 J K J L M@2 N@2 M@2 N@2 M@2 O@2 P@4 B C D E F G H I A@4 J K J L Q@4 R S T@2 M@2
  N@2 M@2 N@2 M@2 O@2 P@4 B C D E F G H I B C D E F G H I U V U W U V U W U V U W X Y Z AA X AB AC AD AE AF AG AH AI AJ
  AK AL AM AN AO AN F G AP AQ AM AN AO AN F G AR AS B C D E AT C AU I B C D E AT C AU I AV@2 AW@4 AX@2 AY@2
>`.pickRestart({
  A: "e3!3 b3@2 b3 a3@2", B: "[g#3,b3,e4]!5 [g#3,b3,d#4] [g#3,b3,e4] [g#3,c#4,e4]", C: "[g#3,c#4,e4]!8",
  D: "[g#3,b3,e4]!5 [g#3,b3,d#4] [g#3,b3,e4] [a3,c#4,e4]", E: "[a3,c#4,e4]!8",
  F: "[b3,d#4,f#4]!5 [b3,d#4,e4] [b3,d#4,f#4] [c#4,e4,g#4]", G: "[c#4,e4,g#4]!8", H: "[b3,d#4,g#4]!7 [b3,d#4,f#4]",
  I: "[b3,d#4,f#4]!8", J: "b2!3 f#3@2 f#3 e3@2", K: "c#3!3 g#3@2 g#3 f#3@2", L: "b2!3 a3@2 a3 g#3@2",
  M: "[[e3,a3,c#4,e4]@2 [e3,a3,c#4,e4]@2 [e3,a3,c#4,e4] [e3,a3,c#4,e4]@2 [f#3,b3,d#4,f#4]@3 [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4] [f#3,b3,d#4,f#4]@3]/2", // A B
  N: "[[e3,g#3,c#4,e4]@2 [e3,g#3,c#4,e4]@2 [e3,g#3,c#4,e4] [e3,g#3,c#4,e4]@2 [d#3,g#3,b3,d#4]@3 [d#3,g#3,b3,d#4]@2 [d#3,g#3,b3,d#4] [d#3,g#3,b3,d#4]@3]/2", // C#m G#m
  O: "[[d#3,g#3,b3,d#4,g#4]@2 [d#3,g#3,b3,d#4,g#4]@2 [d#3,g#3,b3,d#4,g#4] [d#3,g#3,b3,d#4,g#4]@2 [e3,g#3,c#4,e4,g#4]@3 [e3,g#3,c#4,e4,g#4]@2 [e3,g#3,c#4,e4,g#4] [e3,g#3,c#4,e4,g#4]@3]/2", // G#m C#m
  P: "[[f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4] [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4]@3 [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4] [f#3,b3,d#4,f#4]@3]/2", // B
  Q: "b3!3 a3!3 g#3!2", R: "d#4!3 c#4!3 b3!2", S: "g#3!3 f#3!3 e3!2", T: "a3!3 g#3!3 f#3!2",
  U: "c#2 ~@2 g#1 b1 g#1 b1 c#2", V: "~ g#1 ~ g#1 b1 g#1 b1 ~", W: "~ e2 ~ f#2 ~ g#2 ~@2",
  X: "e2 ~@2 c#2 e2 c#2 e2 c#2", Y: "~ a1 ~ c#2 ~ d#2 ~ e2", Z: "c#2 ~@2 g#1 a1 g#1 a1 g#1", AA: "~ a1 ~ a1 ~ g#1 ~@2",
  AB: "~ a1 ~ c#2 ~ d#2 ~ b1", AC: "a1@15 ~", AD: "b1@15 ~", AE: "[a2,c#3,e3]@15 ~", AF: "[g#2,b2,d#3]@15 ~",
  AG: "[g#2,c#3,e3]@15 ~", AH: "[f#2,b2,d#3,f#3]@15 ~", AI: "[g#2,b2,e3,g#3]@15 ~", AJ: "[f#2,a2,c#3,f#3,a3]@15 ~",
  AK: "[a2,c#3,e3,a3]@15 ~", AL: "[b2,d#3,f#3,b3]@15 ~", AM: "[g#3,b3,e4]!5 [g#3,b3,d#4] [g#3,b3,e4] [g#3,b3,d#4]",
  AN: "[g#3,b3,d#4]!8", AO: "[a3,c#4,e4]!5 [a3,c#4,d#4] [a3,c#4,e4] [g#3,b3,d#4]", AP: "[a3,c#4,e4]!7 [b3,d#4,f#4]",
  AQ: "[b3,d#4,f#4]@15 ~", AR: "[a3,c#4,e4]!7 [f#3,b3,d#4]", AS: "[f#3,b3,d#4]!8", AT: "[a3,c#4,e4]!7 [g#3,c#4,e4]",
  AU: "[g#3,b3,d#4]!7 [b3,d#4,f#4]", AV: "[[e4,g#4,b4,e5]@15 ~]/2",
  AW: "[[g#4,b4]@13 ~ a4@30 ~@2 g#4@18, [e4,e5]@63 ~, ~@14 c#5@49 ~]/4", AX: "[[d#4,f#4,b4,d#5]@15 ~]/2",
  AY: "[[e4,g#4,b4]@15 ~]/2", // E
})).s("gm_piano").gain(0.3)

stack(piano)