Strudelify
KeyF majorTempo120 bpm
0:00/0:00
// shotgun — George Ezraarr: Nebulax
// 120 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5928317; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 52 bars on a 16-step grid, each part at one level. 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 · [...]/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 B C D E F G H I J K L M N@3 O P@3 Q R S T Q R S U E F G H I J K L M N@3 O P@3 Q R S T Q R S U
>`.pickRestart({
  A: "~@6 [c5,f5,a5]@9 ~, f3, ~ [a3,c4]@15", B: "~@6 [f4,bb4,d5]@9 ~, f3, ~ [bb3,d4]@15",
  C: "~@6 [a4,d5,f5]@9 ~, d3, ~ [f3,a3]@15", D: "~@6 [c5,e5,g5]@9 ~, c3, ~ [e3,g3]@15",
  E: "a4@4 a4@4 g4 f4@2 ~@3 f4@2, [f3,a3,c4]@11 g4@3 ~@2, ~@3 [f3,a3,c4]", // F
  F: "g4 f4@2 g4@3 f4@2 ~@2 f4!2 f4@2 f4@2, [f3,bb3,d4]@11 ~ [f3,bb3,d4]@4", // Bb
  G: "[d3,f3,a3]@10 d4 c4 d4@2 c4@2, a4@2 ~ [d3,f3,a3]", H: "d4 c4 ~@4 [c3,e3,g3]@2, [c3,e3,g3]@11 ~@5",
  I: "c5 c5@2 c5@3 a4!2 f4@2 f4@2 [f3,a3,c4,f4]@4, [f3,a3,c4]@11 ~@5", // F
  J: "g4 f4!2 ~ g4 f4!3, [f3,bb3]@11 ~ [f3,bb3,d4]@4, d4@6 d4@5 ~@5", // Bb5 Bb
  K: "~@4 f4!2 f4@2 f5@3 f4 [d3,f3,a3,f4]@4, [d3,f3,a3]@11 ~@5", L: "[c3,e3,g3]@11 ~ [c3,e3,g3]@4",
  M: "d5@2 c5@2 a4@2 g4 f4, [f3,a3,c4]@11 ~ [f3,a3,c4]@4", // F
  N: "[g4@2 a4@2 g4@2 f4@4 c4@2 ~@6 c4@2 d4@2 f4@4 c4@2 a4@2 ~@2 [c3,e3,g3]@11 ~ f4@2 f4@2, [f3,bb3,d4]@11 ~ [f3,bb3,d4]@4 [d3,f3,a3]@11 ~ [d3,f3,a3]@4 ~@12 [c3,e3,g3]@4, ~@7 f4@2 ~@6 g4@2 ~@7]/3", // C Bb Dm C
  O: "d5@2 c5@2 a4@2 ~ f4, [f3,a3,c4]@11 ~ [f3,a3,c4]@4", // F
  P: "[g4 a4 g4 f4@2 c4 ~@3 c4 d4 f4@2 c4 a4 ~@5 g4 a4 g4 d4, [f3,bb3,d4]@11 ~ [f3,bb3,d4]@4 [d3,f3,a3]@11 ~ [d3,f3,a3]@4 [c3,e3,g3]@11 ~ [c3,e3,g3]@4, ~@14 f4@4 ~@12 g4@9 ~@9]/3", // Bb Dm C
  Q: "f4@2 f4@2 g4 a4 g4 d4, [f3,a3,c4]@11 ~ [f3,a3,c4]@4", // F
  R: "f4@2 f4@2 g4 a4 [d4,g4] d4, [f3,bb3,d4]@11 ~ [f3,bb3]@4", S: "f4!2 ~ [d3,f3,a3], [d3,f3,a3]@11 ~@5",
  T: "c4@4 g4 a4 g4 d4, [c3,e3,g3]@11 ~ [c3,e3,g3]@4", U: "[c3,e3,g3,d4]@2 ~ c4, ~ [c3,e3,g3]",
})).s("gm_piano").gain(0.3)

stack(piano)