Strudelify
KeyE minorTempo184 bpm
0:00/0:00
// Kids — Robbie Williams
// 184 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 206 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 30, guitar program 30, guitar program 29.
setcpm(184/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.

// bass · electric bass finger
const bass = note(`<
  ~@7 A B C D E F G H I J K D L F G H M J K D L F G H M J K D L F G H M J K N O P Q R S T U V W X Y Z AA AB AC D E F G H
  I J K D L F G H M J K D L F G H M J K AD L F G H M J K N O P Q R S T U V W X Y Z AA AB AC AE AF AG AH AE AF AI AJ AE
  AF AG AH AE AF AI AJ ~@14 AK AL N O P Q R S T U V W X Y Z AA AB AC N O P Q R S T U V W X Y Z AA AB AC D E F G H I J K
  D L F G H M J K D L F G H M J K AD L F G H M J K AM@4
>`.pickRestart({
  A: "~@6 a1 b1", B: "e2@7 d2", C: "e2@2 d2@2 b1@2 a#1 ~ a1@2 g1 ~ e1@2 d1@2",
  D: "d2@2 e2 ~ e2 ~ e2 ~ e2@2 ~@2 d2@2 e2@2", E: "~@2 e1@5 ~", F: "g2 a2!4 ~@2 a2", G: "~@4 a2 ~ a2 ~@3 a2@2 g2@2 ~@2",
  H: "d2@2 e2 ~ e2 ~ e2 ~ e2 ~ d2@2 ~@2 e2 ~", I: "~@2 b1@2 e2 ~ e2@9 ~", J: "g2@2 a2 ~ a2 ~ a2 ~ a2 ~ g2@2 ~@2 a2@2",
  K: "~ a2 c#2 a1 d2 a1 e2 a1", L: "~@2 e2@5 ~", M: "~ e1 e1@6", N: "e1@3 ~ e1@4 e2@4 e1 ~ e1@2",
  O: "~@2 e1 ~ e1@4 e2@4 e1@2 e2@2", P: "g1@3 ~ g1@4 g2@3 ~ g1 ~ g1@2", Q: "~@2 g1 ~ g1@4 g2@4 g1@2 g2@2",
  R: "d2@3 ~ d2@4 d3@4 d2 ~ d2@2", S: "~@2 d2 ~ d2@3 ~ d2@3 ~ d2 ~ d2@2", T: "a1@3 ~ a1@4 a2@4 a1@2 b1@2",
  U: "~@2 b1 ~ b1@2 b2 ~ b2 ~ b2 ~ b2 ~ b2@2", V: "g1@2 g1 ~ g1@2 g1 ~ g1@3 ~ g1 ~ g1@2",
  W: "~@2 g1 ~ g1@3 ~ g1@3 ~ g1 ~ g1 ~", X: "f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1@3 ~@3 f#1@2",
  Y: "~@2 f#1 ~ f#1@3 ~ f#1@3 ~ f#1 ~ f#1 ~", Z: "c2 ~ c2 ~ c2 ~ c2 ~ c2@3 ~@3 c2@2",
  AA: "~@2 c2 ~ c2@3 ~ c2@4 ~@2 c2@2", AB: "d2 ~ d2 ~ d2 ~ d2 ~ d2@3 ~ d2 ~ b1@2",
  AC: "~@2 b1 ~ b1@2 b2 ~ b2@2 b1@2 b2 ~ b2@2", AD: "~@2 e2 ~ e2 ~ e2 ~ e2@2 ~@2 d2@2 e2@2",
  AE: "e1@3 ~@3 e1 ~ e1@2 ~@2 e1 ~ e1@2", AF: "~@2 e1 ~ g1@3 ~ d2@5 ~ d2 ~", AG: "d2 ~ f#1@3 ~ g1@2 ~@2 g#1@2 ~@2 a1@2",
  AH: "~@2 b1@2 a1@2 g1@2 e1@3 ~@5", AI: "d2@3 ~ a1 ~@3 d2@3 ~ a1 ~ a1@2", AJ: "~ b1 a1 g1 a1 g1 e1 d1",
  AK: "a1 ~@3 a1 ~ a1 ~", AL: "a1!8", AM: "[~@8 e1@53 ~@3]/4",
})).s("gm_electric_bass_finger").gain(0.68)

// bass · electric bass finger · soft notes
const bass_soft = note(`<
  ~@11 A B C ~@5 D B C ~@5 D B C ~@5 D B C ~@14 E ~ F ~@4 A B C ~@5 D B C ~@5 D B C ~@5 D B C ~@14 E ~ F ~@3 G ~@3 G ~ H
  ~ G ~@3 G ~ H ~@15 I ~@11 E ~ F ~@13 E ~ F ~@4 A B C ~@5 D B C ~@5 D B C ~@5 D B C ~@8
>`.pickRestart({
  A: "~@2 e1 ~@13", B: "~@6 g2 ~", C: "~@2 g2 ~@13", D: "~@2 d2 ~@13", E: "~@12 f#1 ~@3", F: "~@12 c2 ~@3",
  G: "~@4 e1 ~@11", H: "~@6 a1 ~@9", I: "~ a1!3 ~ a1 ~ a1",
})).s("gm_electric_bass_finger").gain(0.3)

// chords · distortion guitar
const distortion_guitar = note("<~@57 A ~@47 A ~@18 B@2 ~@3 C ~@6 D E ~@15 A ~@15 A ~@32 F@4>".pickRestart({
  A: "f#3 ~@7", B: "a2/2", C: "~@2 b2 d3@2 b2 d3@2", D: "~@7 [a2,e3,a3]", E: "[a2,e3,a3]!8",
  F: "[~@4 [e2,b2,e3]@27 ~]/4", // E5
})).s("gm_distortion_guitar").gain(0.3).pan(0.2)

// chords · distortion guitar · soft notes
const distortion_guitar_soft = note("<~@49 A ~@47 A ~@38 B ~@8 A ~@15 A ~@44>".pickRestart({
  A: "~ g#3 ~@6", B: "[a2,e3,a3]!7 ~",
})).s("gm_distortion_guitar").gain(0.15).pan(0.2)

// other · electric guitar muted
const electric_guitar_muted = note(`<
  ~@2 A B A B A B C B D E F G H I J K D E F G H I J K D E F G H I J K D E F G H I J K ~@16 D E F G H I J K D E F G H I J
  K D E F G H I J K D E F G H I J K ~@16 L M N O L M P Q L M N O L M P Q ~@48 D E F G H I J K D E F G H I J K D E F G H
  I J K D E F G H I J K ~@4
>`.pickRestart({
  A: "d3 ~ e3 ~ e3 ~ e3 ~ [e3,g3,b3,d4] ~@5 [e3,a3,c#4] ~", // Em7 A
  B: "~@2 [e3,g3,b3] ~ e3 ~ e3 ~ [e3,a3,c#4] ~ [g3,b3] ~ e3 ~ e3 ~", // Em A G
  C: "d3 ~ e3 ~ e3 ~ e3 ~ [e3,g3,b3,d4] ~@5 [d3,a3,c#4] ~", D: "e2 ~ e2 ~ e2 ~ e2@2 e3@2 ~@2 d3@2 e3@2",
  E: "~@2 e2 ~ e2 ~ e2@2 e3 ~ e3 ~ e2@2 e3 ~", F: "g2 ~ a2 ~ a2 ~ a2@2 a3 ~ a2 ~ a2@2 a3 ~",
  G: "~@2 g3@2 a3 ~ a3@2 ~@4 g3@2 ~@2", H: "d3 ~ e3 ~ e3 ~ e3 ~ e3 ~ d3 ~@3 e3 ~", I: "~@2 b2@2 e3 ~ e3@7 ~@3",
  J: "g3@2 a3 ~ a3 ~ a3 ~ a3 ~ g3 ~@3 a3 ~", K: "~ a3 c#3 a2 d3 a2 e3 a2", L: "e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~",
  M: "e2 ~ e2 ~ g2 ~ g2 ~ d3 ~ d3 ~ d3 ~ d3 ~", N: "d3 ~ f#2 ~ f#2 ~ g2 ~ g2 ~ g#2 ~ g#2 ~ a2 ~",
  O: "a2 ~ b2 ~ a2 ~ g2 ~ e2 ~ e2 ~@3 e2 ~", P: "d3 ~ a2 ~ a2 ~ d3 ~ d3 ~ a2 ~ a2 ~ a2 ~",
  Q: "a2 ~ b2 ~ a2 ~ g2 ~ a2 ~ g2 ~ e2 ~ d2 ~",
})).s("gm_electric_guitar_muted").gain(0.72).pan(0.6)

// chords · lead 3 calliope
const lead_3_calliope = note(`<
  ~@33 A B C D@2 E F@2 ~ G@2 H@5 ~ I@2 J@4 K L ~@9 M ~@5 N O ~@6 A B C D@2 E F@2 ~ G@2 H@5 ~ I@2 J@4 K L P Q R S P Q R S
  T U V W T U V X ~ Y Z@2 ~@2 AA ~ AB AC ~@2 AD AE ~@2 AF@2 H@5 ~ I@2 J@4 K L AF@2 H@5 ~ I@2 J@4 K L ~@36
>`.pickRestart({
  A: "~@4 d5 ~ e5 ~", B: "f#5@4 ~@4 e5@3 ~@3 e5@2", C: "~@2 d5@3 ~@7 e5@2 ~@2", D: "[f#5@4 ~@4 e5@3 ~@3 d5@7 ~@11]/2",
  E: "f#5@3 ~@5 e5@3 ~@5", F: "[d5@2 e5 ~ e5@3 ~ e5@3 ~ e5 ~ e5@4 c#5@13 ~]/2", G: "[[b3,e4,b4]@23 ~ [d4,d5]@8]/2",
  H: "[[b3,e4,b4]@23 ~ f#4@4 d4 ~ [a3,a4]@30 b3@18 ~@2]/5", I: "[b4@3 d5]/2",
  J: "[a#4@23 ~ [a#4,e5]@4 [a#4,e5]@2 ~@16 c5@16 ~@2, ~@30 [g4,e5]@33 ~]/4", K: "[a4,d5,a5]@15 ~", L: "[b4,f#5,b5]@7 ~",
  M: "~@2 [d4,d5] ~ [d4,d5] ~ [d4,d5] ~ [d4,d5]@2 [e4,e5] ~ [e4,e5]@3 ~", N: "~@4 d4 ~ d4 ~ d4 ~ e4 ~ e4@3 ~",
  O: "[e4,b4,e5]@3 ~@5", P: "d5@2 ~@2 e5 ~ e5 ~ e5 ~ e5 ~@3 g5@2", Q: "~@2 e5 ~ g5@2 ~@2 d5@3 ~ d5@2 ~@2",
  R: "d5@3 ~ e5 ~ e5 ~ e5 ~ e5 ~ e5 ~ g5@2", S: "~@2 e5 ~ g5@2 ~@2 e5@4 ~@4",
  T: "[d5,f#5]@2 ~@2 [e5,g5] ~ [e5,g5] ~ [e5,g5] ~ [e5,g5] ~@3 [g5,b5]@2", // D Em G
  U: "~@2 [e5,g5] ~ [g5,b5]@2 ~@2 [d5,f#5]@3 ~ [d5,f#5]@2 ~@2", // Em G D
  V: "[d5,f#5]@3 ~ [e5,g5] ~ [e5,g5] ~ [e5,g5] ~ [e5,g5] ~ e5 ~ [g5,b5]@2", // D Em G
  W: "~@2 [e5,g5] ~ [g5,b5]@3 ~ [e5,g5]@4 ~@4", X: "~@2 [e5,g5] ~ [g5,b5]@3 ~ [e5,g5]@4 a5@3 ~",
  Y: "~@10 e5 ~ e5 ~ e5 ~", Z: "[a5@3 ~ a5@2 ~@2 a5 ~ a5@2 ~@2 a5@8 ~@10]/2", AA: "~ a4@3",
  AB: "d5@2 ~@2 e5 ~@3 e5 ~ e5@2 ~@2 f#5@2", AC: "~@2 d5@7 ~@7", AD: "a5@2 ~@2 a5@2 ~@2 a5 ~ g5 ~@3 a5@2",
  AE: "~@2 e5 ~ e5 ~@3 d5 ~@3 e5@2 ~@2", AF: "[[b3,e4,b4,e5]@23 ~ [d4,d5]@8]/2",
})).s("gm_lead_3_calliope").gain(0.57)

// chords · distortion guitar
const distortion_guitar_2 = note("<~@7 [~@6 a2 b2] [e3@7 d3] [e3 d3 b2 a#2 a2 g2 e2 d2] ~@121 [~@9 d4@7] ~@74>")
  .s("gm_distortion_guitar").gain(0.32).pan(0.9)

// chords · piano
const piano = note(`<
  ~@33 A B ~ C@2 D ~@42 E F E C@2 D ~@35 G@2 H@2 I@2 J@2 I@2 H@2 K@2 ~@57 E F E C@2 D ~@7
>`.pickRestart({
  A: "~@8 [g4,b4]@3 ~ [a4,c#5]@3 ~", B: "[b4,d5] ~@3",
  C: "[[b4,d5]@4 ~@4 [a4,c#5]@3 ~@4 [g4,b4]@4 ~@5 g4 g#4@2 ~ [a4,c#5]@3 ~, ~@24 b4@3 ~@5]/2", // Bm A G A
  D: "[b4,d5]@4 ~@4 [a4,c#5]@3 ~@5", E: "~@8 [g#4,b4]@3 ~ [a4,c#5]@3 ~, ~@8 g4 ~@7", F: "d5 ~@3, a#4 ~@15",
  G: "[e1,e2,b3,e4,g#4,b4]/2", H: "[a1,a2,a3,c#4,e4,a4]/2", I: "[[e1,e2,b3,e4,g#4,b4]@23 ~ [d2,d3,a3,d4,f#4,a4]@8]/2",
  J: "[[a1,a2]@19 ~ [b1,b2]@2 [d2,d3]@4 [a1,b1,b2]@2 [d2,d3]@3 ~, [a3,c#4,e4,a4]]/2", K: "[e2,e4,g#4,b4]/2",
})).s("gm_piano").gain(0.63)

// chords · piano · soft notes
const piano_soft = note("<~@82 A ~@51 B@2 C@2 ~@56 A ~@11>".pickRestart({
  A: "b4 ~@3", B: "b3/2", C: "[a2,a3,c#4,e4,a4]/2",
})).s("gm_piano").gain(0.35)

// chords · pad poly
const pad_poly = note("<~@2 A@2 B@2 C@2 D E ~@192 F@4>".pickRestart({
  A: "[e4,b4,e5]/2", B: "[g2,d4,g4,b4,d5]/2", C: "[a2,e4,a4,e5]/2", D: "[e2,e4,a4,b4,e5]", E: "[b2,f#4,b4,f#5]@15 ~",
  F: "[~@4 [e2,b2,e3]@27 ~]/4", // E5
})).s("gm_pad_poly").gain(0.2).pan(0.9)

// chords · string ensemble 2
const string_ensemble_2 = note("<~@2 A@2 B@2 C@3 D ~@192 E@4>".pickRestart({
  A: "[e4,b4,e5]/2", B: "[[g4,b4,d5]@31 ~]/2", C: "[a4@31 ~ b4@14 ~@2, [e4,e5]@47 ~]/3", D: "[f#4,b4,f#5]@15 ~",
  E: "[~@4 [b2,e3,b3]@27 ~]/4", // E5
})).s("gm_string_ensemble_2").gain(0.13)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@2 A B A B C D C D A B A ~ C D C D A B A ~ C D C D A B A ~ C D C D A B A ~ C D C D E F G H I J K L M N O P Q R S T A
  B A ~ C D C D A B A ~ C D C D A B A ~ C D C D A B A ~ C D C D E F G H I J K L M N O P Q R S T U V W X U V W X U V W X
  U V W X Y Z@2 ~ AA@2 AB ~ AC@2 AD@2 AE ~@3 E F G H I J K L M N O P Q R S T E F G H I J K L M N O P Q R S T A B A ~ C D
  C D A B A ~ C D C D A B A ~ C D C D A B A ~ C D C D ~@4
>`.pickRestart({
  A: "~@14 [a3,c#4] ~", B: "~@8 [a3,c#4] ~@7", C: "~@7 [a3,c#4]", D: "~@4 [a3,c#4] ~@3",
  E: "[e3,b3,e4]@3 ~ [e3,b3,e4] ~ [e3,b3,e4] ~ [e3,b3,e4]@3 ~ [e3,b3,e4] ~ [e3,b3,e4]@2", // E5
  F: "~@2 [e3,b3,e4] ~ [e3,b3,e4]@3 ~ [e3,b3,e4]@3 ~ [e3,b3,e4] ~ [e3,b3,e4] ~", // E5
  G: "[g3,d4,g4]@3 ~ [g3,d4,g4] ~ [g3,d4,g4] ~ [g3,d4,g4]@3 ~ [g3,d4,g4] ~ [g3,d4,g4]@2", // G5
  H: "~@2 [g3,d4,g4] ~ [g3,d4,g4]@3 ~ [g3,d4,g4]@3 ~ [g3,d4,g4] ~ [g3,d4,g4] ~", // G5
  I: "[a3,d4,a4]@3 ~ [a3,d4,a4] ~ [a3,d4,a4] ~ [a3,d4,a4]@3 ~ [a3,d4,a4] ~ [a3,d4,a4]@2", // D5
  J: "~@2 [a3,d4,a4] ~ [a3,d4,a4]@3 ~ [a3,d4,a4]@3 ~ [a3,d4,a4] ~ [a3,d4,a4] ~", // D5
  K: "[a3,e4,a4]@3 ~ [a3,e4,a4] ~ [a3,e4,a4] ~ [a3,e4,a4]@3 ~ [a3,e4,a4] ~ [b3,f#4,b4]@2", // A5 B5
  L: "~@2 [b3,f#4,b4] ~ [b3,f#4,b4]@3 ~ [b3,f#4,b4]@3 ~ [b3,f#4,b4] ~ [b3,f#4,b4] ~", // B5
  M: "[g3,d4,g4]@3 ~ [g3,d4,g4]@3 ~ [g3,d4,g4]@3 ~ [g3,d4,g4] ~ [g3,d4,g4]@2, ~@14 e4 ~", // G5
  N: "~@2 [g3,d4,g4] ~ [g3,d4,g4]@3 ~ [g3,d4,g4]@3 ~ [g3,d4,g4] ~ [g3,d4,a4] ~", // G5 Gsus2
  O: "[f#3,c#4,f#4]@3 ~ [f#3,c#4,f#4]@3 ~ [f#3,c#4,f#4]@3 ~ [f#3,c#4,f#4] ~ [f#3,c#4,f#4]@2", // F#5
  P: "~@2 [f#3,c#4,f#4] ~ [f#3,c#4,f#4]@3 ~ [f#3,c#4,f#4]@3 ~ [f#3,c#4,f#4] ~ [f#3,c#4,f#4] ~", // F#5
  Q: "[g3,c4]@3 ~ [g3,c4,g4]@3 ~ [g3,c4,g4]@3 ~ [g3,c4,g4] ~ [g3,c4,g4]@2", // C5
  R: "~@2 [g3,c4,g4] ~ [g3,c4,g4]@3 ~ [g3,c4,g4]@3 ~ [g3,c4,g4] ~ [g3,c4,g4] ~", // C5
  S: "[a3,d4,a4]@3 ~ [a3,d4,a4]@3 ~ [a3,d4,a4]@2 ~@2 [a3,d4,a4] ~ [f#3,b3,f#4]@2", // D5 B5
  T: "~@2 [f#3,b3,f#4] ~ [f#3,b3,f#4]@3 ~ [f#3,b3,f#4]@3 ~ [f#3,b3,f#4] ~ [f#3,b3,f#4]@2", // B5
  U: "[e3,g#3,b3,e4]@3 ~ [e3,g#3,b3,e4] ~ [e3,g#3,b3,e4] ~ [e3,g#3,b3,e4]@3 ~ [e3,g#3,b3,e4] ~ [e3,g#3,b3,e4]@2", // E
  V: "~@2 [e3,g#3,b3,e4] ~ [g3,b3,d4,g4]@2 ~@2 [a3,d4,f#4,a4]@3 ~ [a3,d4,f#4,a4] ~ [a3,d4,f#4,a4] ~", // E G D
  W: "[a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4]@2", // D
  X: "~@2 [a3,d4,f#4] ~ [c#4,e4]@4 [b3,e4,g#4]@3 ~ [b3,e4,g#4] ~ [b3,e4,g#4] ~, ~@4 [a3,a4]@2 ~@2 f#4 ~@7", // D C#m E A
  Y: "[e2,e3,g#3,b3,e4]@15 ~", Z: "[~@8 [c#4,e4]@7 ~, ~@15 [a2,e3,a3]@15 ~@2]/2",
  AA: "[[e2,e3,g#3,b3,e4]@18 ~@6 [d2,d3,f#3,a3,d4]@5 ~@3]/2", AB: "[a2,e3,a3,c#4,e4]@15 ~",
  AC: "[[e2,e3,g#3,b3,e4]@21 ~@3 [d2,d3,f#3,a3]@7 ~, ~@24 d4@5 ~@3]/2", AD: "[[e3,a3,c#4,e4]@5 ~@3, a2@9 ~@7]/2",
  AE: "[e2,e3,g#3,b3,e4]", // E
})).s("gm_acoustic_guitar_steel").gain(0.41).pan(0.1)

// chords · overdriven guitar
const overdriven_guitar = note(`<
  ~@51 A ~ B ~@2 C ~@42 A ~ B ~@2 C ~@8 D@2 ~@32 A ~ B ~@2 C ~@10 A ~ B ~@2 C ~@37
>`.pickRestart({
  A: "~@6 [d3,g3,d4]!2", B: "~@6 [c#3,f#3,c#4]!2", C: "[d3,a3,d4] ~", D: "[~@6 g3@2 a3@2 g3@2 ~ e3@2 d3@2 e3@10 ~@5]/2",
})).s("gm_overdriven_guitar").gain(0.57)

// chords · acoustic guitar steel
const acoustic_guitar_steel_2 = note(`<
  ~@2 A B A C D B A E A B F G D B F H A B F G D B F H A B F G D B F H A B F G D B F H I J K L M N O P Q@2 R S T U V W A
  B F G D B F H A B F G D B F H A B F G D B F H A B F G D B F H I J K L M N O P Q@2 R S T U V W X Y Z AA X Y Z AA X Y Z
  AA X Y Z AA AB AC@2 AD@2 AE@2 AF@2 AG@2 AH@3 ~@2 I J K L M N O P Q@2 R S T U V W I J K L M N O P Q@2 R S T U V W A B F
  G D B F H A B F G D B F H A B F G D B F H A B F G D B F H ~@4
>`.pickRestart({
  A: "d2@2 e2 ~ e2 ~ e2 ~ [e2,g3,b3,d4] ~@5 e2 ~", B: "~@2 [e2,g3,b3] ~@3 e2 ~ e2 ~ [g3,b3] ~ e2 ~ e2@2",
  C: "~@2 [e2,g3,b3] ~@3 e2 ~ e2@2 [g3,b3] ~ e2 ~ e2@2", D: "d2@2 e2 ~ e2 ~ e2 ~ [e2,g3,b3,d4]@2 ~@4 e2 ~",
  E: "~@2 [e2,g3,b3] ~@3 e2 ~ e2 ~ [g3,b3] ~ e2 ~ e2 ~", F: "g2@2 a2 ~ a2 ~ a2 ~ [a2,g3,b3,d4] ~@5 a2 ~",
  G: "~@2 [a2,g3,b3] ~@3 a2 ~ a2@2 ~@4 g2@2", H: "~@2 [a2,g3,b3] ~@3 a2 ~ a2 ~ [g3,b3] ~ a2 ~ a2 ~",
  I: "~@4 [b3,e4,b4]@3 ~ [b3,e4,b4]@3 ~ [b3,e4,b4] ~ [b3,e4,b4]@2", // E5
  J: "~@2 [b3,e4,b4] ~ [b3,e4,b4]@3 ~ [b3,e4,b4]@3 ~ [b3,e4,b4] ~ [b3,e4,b4]@2", // E5
  K: "~@4 [g3,d4,g4]@3 ~ [g3,d4,g4]@3 ~ [g3,d4,g4] ~ [g3,d4,g4]@2", // G5
  L: "~@2 [g3,d4,g4] ~ [g3,d4,g4]@3 ~ [g3,d4,g4]@3 ~ [g3,d4,g4] ~ [g3,d4,g4] ~", // G5
  M: "~@4 [a3,d4,f#4]@3 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4]@2", // D
  N: "~@2 [a3,d4,f#4] ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~", // D
  O: "~@4 [a3,e4,a4] ~ [a3,e4,a4] ~ [a3,e4,a4]@3 ~ [a3,e4,a4] ~ [b3,f#4,b4]@2", // A5 B5
  P: "~@2 [b3,f#4,b4] ~ [b3,f#4,b4] ~ [b3,f#4,b4] ~ [b3,f#4,b4]@3 ~ [b3,f#4,b4] ~ [b3,f#4,b4] ~", // B5
  Q: "[~@2 [d4,g4,d5] ~ [d4,g4,d5]@3 ~ [d4,g4,d5]@3 ~ [d4,g4,d5] ~ [d4,g4,d5]@4 [d4,g4,d5]@3 ~ [d4,g4,d5] ~ [d4,g4,d5]@3 ~ [d4,g4,d5] ~ [d4,g4,d5] ~]/2", // G5
  R: "~@2 [c#4,f#4,c#5] ~ [c#4,f#4,c#5]@3 ~ [c#4,f#4,c#5]@3 ~ [c#4,f#4,c#5] ~ [c#4,f#4,c#5]@2", // F#5
  S: "~@2 [c#4,f#4,c#5] ~ [c#4,f#4,c#5]@2 ~@2 [c#4,f#4,c#5]@3 ~ [c#4,f#4,c#5] ~ [c#4,f#4,c#5] ~", // F#5
  T: "~@2 [c4,g4,c5] ~ [c4,g4,c5]@3 ~ [c4,g4,c5]@3 ~ [c4,g4,c5] ~ [c4,g4,c5]@2", // C5
  U: "~@2 [c4,g4,c5]@3 ~ [c4,g4,c5] ~ [c4,g4,c5]@3 ~ [c4,g4,c5] ~ [c4,g4,c5]@2", // C5
  V: "~@2 [d4,a4,d5] ~ [d4,a4,d5]@3 ~ [d4,a4,d5]@3 ~ [d4,a4,d5] ~ [f#4,b4,f#5]@2", // D5 B5
  W: "~@2 [f#4,b4,f#5] ~ [f#4,b4,f#5]@3 ~ [f#4,b4,f#5]@3 ~ [f#4,b4,f#5] ~ [f#4,b4,f#5] ~", // B5
  X: "[b3,e4,g#4]@3 ~ [b3,e4,g#4] ~ [b3,e4,g#4] ~ [b3,e4,g#4]@3 ~ [b3,e4,g#4] ~ [b3,e4,g#4]@2", // E
  Y: "~@2 [b3,e4,g#4] ~ [b3,d4,g4]@3 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~", // E G D
  Z: "[d3,f#3,a3,d4]@3 ~ [d3,f#3,a3,d4] ~ [d3,f#3,a3,d4] ~ [d3,f#3,a3,d4]@3 ~ [d3,f#3,a3,d4] ~ [d3,f#3,a3,d4]@2", // D
  AA: "~@2 [d3,f#3,a3,d4] ~ [e3,a3,c#4,e4]@3 ~ [e3,g#3,b3,e4]@3 ~ [e3,g#3,b3,e4] ~ [e3,g#3,b3,e4] ~", // D A E
  AB: "[e3,b3,e4,g#4,b4]@3 ~", AC: "[~@16 [a3,c#4,e4,a4]@11 ~@5, ~@15 [a2,e3]@11 ~@6]/2",
  AD: "[~@16 [e3,b3,e4,g#4,b4]@13 ~@3, ~@15 b2@14 ~@3, ~@15 e2@11 ~@6]/2", // E
  AE: "[~@4 [a3,d4,f#4,a4]@3 ~ [c#4,e4,a4]@7 ~, ~@7 d3@6 ~@2 [a2,a3]@14 ~@3]/2", // D A
  AF: "[~@8 [b3,e4,g#4,b4]@7 ~, ~@15 e3@14 ~@3]/2", // E
// … 210 more lines

More by Robbie Williams