Strudelify
Island Girl cover art

1975 · Rock Of The Westies

Island Girl

Elton John

KeyB♭ majorTempo140 bpm
0:00/0:00
// Island Girl — John Elton
// 140 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 129 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(140/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 · fretless bass · "Bass"
const bass = note(`<
  ~ A B A C D E F G H I J K L M N O@2 P Q R S T U@2 V W X Y Z AA AB AC Z AD AC AE AF AG AH ~ A B A C D E F G H I J K L M
  N O@2 P Q R S T U@2 V W X Y Z AA AB AC Z AD AC AE AF AG AH ~ A B A C D E F G H I J K L M N O@2 P Q R S T U@2 V W X Y Z
  AA AB AC Z AD AC AE AF AG AF AG AF AG A B A C A AI
>`.pickRestart({
  A: "f2@2 f2@2 e2@2 ~@2 d2@2 c2 ~@3 bb1@2", B: "~ f1!7", C: "~@2 f1@2 f1@2 f1@2 f1@2 f1@2 f1@2 f1 ~",
  D: "d2@4 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~", E: "d2@2 d2@2 d2@2 d2@2 d2 ~ c2@2 c2@2 c2 ~",
  F: "f1@2 f1@2 f2@2 f1!2 f1@2 f1@2 f2@2 f1!2", G: "f1!2 f2 f1!3 f2 f1", H: "g1@2 g1@2 g1 ~ g1!2 g1@2 g1@2 ~@2 g1!2",
  I: "a1@2 a1@2 ~@2 a1!2 a1@2 a1@2 ~@2 a1!2", J: "bb1 ~ bb1@2 ~@2 bb1!2 bb1@2 bb1@2 ~@2 bb1!2",
  K: "bb1@2 bb1@2 ~@2 bb1!2 bb1@2 a1@2 bb1 ~ c2@2", L: "d2@2 d2@2 ~@2 d2!2 d2@2 d2@2 ~@2 d2!2",
  M: "d2@2 d2@2 d2@2 d2@2 d2 ~ c2@2 c2@2 c2@2", N: "f1@2 f1@2 f1 ~ f1!2 f1@2 f1@2 ~@2 f1!2",
  O: "f1@2 f1@2 ~@2 f1!2 f1@2 f1@2 ~@2 f1!2", P: "g1@2 g1@2 ~@2 g1!2 g1@2 g1@2 ~@2 g1!2",
  Q: "ab1 ~ ab1@2 ab1@2 ab1@2 ab1@2 ab1@2 c2@2 eb2@2", R: "ab2 ~ ab2 ~ eb2 ~ eb2 ~",
  S: "bb1@2 f1@2 g1@2 bb1@3 ~ f1@2 g1@2 bb1@2", T: "~@2 f1@2 g1@2 bb1 ~ d2@2 eb2@2 e2@2 f2 ~",
  U: "[f1!2 f1@2 f1@2 f1 f1@2 f1!2 ~ eb2 ~ eb2 ~]/2", V: "bb1 f1 g1 bb1 ~ f1 g1 bb1",
  W: "~@2 f1@2 g1@2 bb1 ~ d2@2 eb2@2 e2@2 f2@2", X: "f1@2 ~@2 f1@2 f1!2 f1@2 f1@2 f1 ~ f1!2, e2 ~@15",
  Y: "f1@2 f1@2 f1@2 f1 ~ f1@2 f1@2 f1@2 f1 ~", Z: "bb1@4 ~@2 bb1 ~ bb1@4 ~@2 bb1 ~", AA: "a1@4 ~@2 a1 ~ a1@4 ~@2 a1 ~",
  AB: "ab1@4 ~@2 ab1 ~ ab1@4 ~@2 ab1 ~", AC: "eb2@4 ~@2 eb2 ~ eb2@4 ~@2 eb2 ~", AD: "bb1@4 ~@2 bb1 ~ bb1@4 c2@2 d2@2",
  AE: "c2@4 ~@2 c2 ~ c2@5 ~ c2 ~", AF: "f1@4 ~@2 f1 ~ f1@4 ~@2 f1 ~", AG: "g1@4 ~@2 g1 ~ a1@4 ~@2 a1 ~",
  AH: "bb1@13 ~@3", AI: "~ f1!5 ~@2",
})).s("gm_fretless_bass").gain(0.3)

// chords · piano · "Keyboard"
const piano = note(`<
  ~ A B C D E@2 F@2 G H I@2 J@6 K L M@2 N@2 O@2 P@2 Q R S T U V W X Y Z AA ~ A B C D AB@2 AC@2 AD@4 AE@3 AF AG AH AI AJ
  M@2 N@2 O@2 P@2 Q R S T U V W X Y Z AA ~ A B C D AK@2 AL AM AN AO AP AQ AR@2 AS AT AU AV AW AX M@2 N@2 O@2 P@2 Q R S T
  U V W X Y Z Y Z Y Z A B C D A AY
>`.pickRestart({
  A: "[f2,f4,a4,d5] ~ [f2,a4] ~ [e2,f4,a4,d5]@2 ~@2 [d2,f4,a4,d5] ~ [c2,f4,a4,d5] ~@3 [bb1,f4,bb4,d5]@2", // Dm F Dm Dm7 Bb
  B: "~@2 [f1,f4,bb4,d5] ~ [f1,f4,bb4] ~ [f1,f4,bb4] ~ [f1,f4,bb4,d5] ~ [f1,f4,bb4,d5] ~ [f1,f4,bb4,d5] ~ [f4,bb4,d5] ~, ~@7 f1", // Bb Bb5 Bb
  C: "[f2,f4,a4,d5] ~ [f2,f4,a4,d5] ~ [e2,f4,a4,d5]@2 ~@2 [d2,f4,a4,d5] ~ [c2,f4,a4,d5]@2 ~@2 [bb1,f4,bb4,d5]@2", // Dm Dm7 Bb
  D: "~@2 [f1,f4,bb4,d5] ~ [f1,f4,bb4,d5] ~ [f1,f4,bb4,d5] ~ [f1,f4,bb4,d5] ~ [f1,f4,bb4,d5] ~ [f1,f4,bb4,d5] ~ [f4,bb4,d5] ~, ~@7 f1", // Bb
  E: "[[d1,f4,a4,d5] ~@7 d1 ~@7 d1 ~ d1@2 ~@2 [f4,a4,d5]@2 d1 ~ [e4,g4,c5] ~ [d2,e4,g4,c5]@4, ~@2 d1@4 ~@4 d1@5 ~@11 d1@4 ~@2, ~@4 [d2,f4,a4,d5]@7 ~ d2@7 ~ d2@7 ~@5]/2", // Dm C Dm
  F: "[f1 ~ f1@2 ~@4 f1@2 ~@6 f1 ~ f1@2 ~@4 f1 ~ f1@2 [f2,bb4,d5]@4, [d4,f4,bb4]@15 ~ [f4,bb4,d5]@6 f4@10, ~@4 f2@6 f1@5 ~@7 [bb4,d5]@5 ~@5, ~@12 f2@7 ~ f2@7 ~@5]/2", // Bb
  G: "g1 ~ g1@2 ~@4 g1 ~@3 [g2,e4]@4, [g4,c5]@13 ~@3, e4@11 ~@5, c4@8 ~@2 [g1,c4]@5 ~, ~@4 g2@7 ~@5", // C C5
  H: "a1 ~ a1@2 ~@2 c4@2 a1 ~ [a1,c4]@2 [a2,c4,f4,a4]@4, [c4,f4,a4]@6 [f4,a4]@5 ~@5, ~@4 a2@5 ~@7", // Am F
  I: "[bb1 ~ bb1@2 [f4,bb4,eb5]@2 ~@2 eb5@2 [bb1,d5]@2 ~@2 [f4,bb4,c5]@2 bb1 ~ bb1@2 [f4,bb4,d5] ~ [f4,bb4,d5]@2 bb1 ~ bb1@2 bb2 ~@3, ~ bb2 [f4,bb4] ~@5, ~@8 bb1 ~ bb2 ~ bb2@7 ~ bb2@7 ~@5]/2", // Ebsus2 Bb Fsus4 Bb Bb5
  J: "[d1 ~ d1@2 ~@4 d1 ~ d1@2 ~@4 d1 ~ d1@2 ~@2 [f4,a4,d5]@2 d1@2 [d1,e4,g4,c5]@2 ~@4 f1@2 f1@2 [f2,d4,f4,bb4,d5]@4 f1 ~ [f1,d4,f4,bb4,d5]@2 ~@4 f1@4 [f4,bb4,d5]@4 f1 ~@7 f1 ~ f1@2 [f4,a4,c5]@4 f1 ~ [f1,a4,c5]@2 ~@4 g1 ~ g1@2 [g2,g4,c5]@4 g1 ~@3 g2@4, [f4,a4]@4 d2@7 ~ d2@7 ~ d2@4 ~@4 d2@4 ~@12 f2@5 ~@3 [f2,d4]@7 ~ f2@5 ~@3 f2@7 ~ f2@4 ~@10 [g1,e4]@6, ~@6 a4@7 ~ a4@7 ~@9 [d4,f4,bb4]@5 ~@11 [d4,f4,bb4]@4 ~@8 [f1,f4,bb4,d5]@4 [f4,a4,c5]@6 ~@10 [e4,g4,c5]@5 ~ e4@3 ~@3 [g4,c5]@4 ~@2]/6", // Dm C Bb F C5 F Dm C …
  K: "ab1 ~ [eb5,g5] ~ [eb5,g5,bb5] ~ [eb5,g5,bb5] ~ [ab1,eb5,g5,bb5] ~ [eb5,g5,bb5] ~ [eb5,g5,bb5] ~ [eb5,g5,bb5] ~, ~@2 ab1@2 ab2@5 ~ ab1@2 ab2@2 ~@2", // Eb
  L: "[ab1,ab2,eb5,g5,bb5]@2 ~@2 [eb5,g5,bb5] ~@3 [eb1,eb2]@2 ~@2 [eb1,eb2,eb4,g4,bb4]@3 ~, ~@4 [ab1,ab2]@2 ~@2 [g4,bb4] ~@7", // Eb Ab Gm
  M: "[~@4 [f4,bb4,eb5]@3 ~ f4@2 [f4,d5] ~@3 [f4,bb4,c5]@6 ~@2 [f4,bb4,c5]@4 ~@2 [f4,bb4,d5]@3 ~, ~@8 bb4@5 ~@19, ~@8 eb5 ~@23]/2", // Ebsus2 Dm Fsus4 Bb
  N: "[~@4 [f4,d5]@2 ~@2 [f4,a4,d5] ~ [f4,a4,c5] ~@3 [f4,a4,c5]@7 ~@3 [g4,bb4,eb5]@3 ~ [g4,bb4,eb5]@3 ~, ~@4 a4 ~@27]/2", // Dm F Eb
  O: "[~@4 [f4,bb4,eb5]@2 ~@2 [f4,eb5] ~ [f4,d5] ~@3 [f4,bb4,c5]@5 ~@3 [f4,bb4,c5]@4 ~@2 [f4,bb4,d5]@4, ~@4 bb4 ~@11]/2", // Ebsus2 F7 Dm Fsus4 Bb
  P: "[~@4 [f4,a4,c5]@2 ~@2 [f4,a4,c5]@4 ~@2 [f4,a4,c5]@5 ~@3 [a4,c5]@5 ~ [f4,a4,c5]@2 ~@2, ~@22 f4@3 ~@7]/2", // F Am F
  Q: "d5@5 ~ d5@9 ~, [f4,bb4]@15 ~", R: "[f4,a4,d5]@6 [f4,a4,d5]@9 ~", S: "[ab4,d5]@6 [ab4,d5]@7 ~@3, f4@3 ~",
  T: "[eb4,g4,bb4]@5 ~ [g4,bb4]@9 ~, ~@6 eb4@7 ~@3", U: "[f4,bb4,d5]@6 [f4,bb4,d5]@9 ~",
  V: "[f4,ab4,d5]@5 ~ [f4,ab4,d5]@8 ~@2", W: "[eb4,g4,bb4]@5 ~ [g4,bb4]@10, ~@6 eb4@7 ~@3",
  X: "[e4,bb4,c5]@6 [bb4,c5]@9 ~, ~@6 e4@7 ~@3", Y: "[f4,bb4,d5]@5 ~ [f4,bb4,d5]@9 ~",
  Z: "[eb4,g4,bb4]@3 ~ [eb4,a4,c5]@3 ~", AA: "[d4,f4,bb4]@13 ~@3",
  AB: "[d1 ~@7 d1 ~@7 d1 ~ d1@2 ~@2 [a4,d5,f5]@2 d1 ~ [g4,c5,e5] ~ g4@2 [f4,bb4] ~, [f4,a4,d5] ~, ~@2 d1@4 ~@4 d1@5 ~@11 d1@4 ~@2, ~@4 d2@7 ~ d2@7 ~ d2@7 ~ [d2,c5,e5]@4]/2", // Dm C Bb5 Dm C
  AC: "[f1 ~ f1@2 ~@4 f1@2 ~@6 f1 ~ f1@2 ~@2 [f4,bb4,d5]@2 f1 ~ f1@2 f2@4, [f4,bb4,d5]@12 f2@7 ~ f2@7 ~@5, ~@4 f2@6 f1@5 ~@11 [f4,bb4,d5]@5 ~]/2", // Bb
  AD: "[g1 ~ g1@2 ~@4 g1 ~@7 a1 ~ a1@2 a2@4 a1 ~ [a1,f4,a4]@2 a2@2 ~@2 bb1 ~ bb1@2 [f4,bb4,eb5]@3 ~ eb5@2 [bb1,d5]@2 ~@4 bb1 ~ [bb4,d5] ~ [f4,d5]@4 bb1 ~ bb1@2 bb2 ~@3, [e4,g4,c5]@12 g2@4 ~@20 bb2@4 bb1 ~ bb2 ~ bb2@7 ~ [bb2,bb4]@7 ~@5, ~@4 g2@6 g1@4 [c4,f4,a4]@10 ~@6 [f4,bb4]@5 ~@5 [f4,bb4]@5 ~ [f4,bb4,c5]@4 bb1@2 ~@6 [f4,bb4,d5]@6]/4", // Dm Ebsus2 Bb Dm C Bb F Bb5 …
  AE: "[d1 ~ d1@2 ~@4 d1 ~ d1@2 ~@4 d1 ~ d1@2 ~@2 [a4,d5,f5]@2 d1@2 [d1,g4,c5,e5]@2 ~@4 f1@2 f1@2 f2@4 f1 ~ f1@2 f2@4, ~@4 d2@7 ~ d2@7 ~ d2@4 ~@4 d2@4 ~@16, ~@5 [f4,bb4,d5]@3]/3", // Dm C Bb
  AF: "f1@4 ~@2 [f4,bb4,d5]@2 f1 ~ f1@2 f2@4, ~@4 f2@6 [f4,bb4,d5]@5 ~", // Bb
  AG: "f1 ~ f1@2 ~@2 [f4,a4,c5]@2 f1 ~ f1@2 f2@4, [f4,a4,c5]@4 f2@6 [f4,a4,c5]@5 ~", // F
  AH: "g1 ~ g1@2 ~@4 g1 ~ [e4,g4,c5]@2 g2@4, [e4,g4,c5]@4 g2@5 ~ g1@6, ~@3 [e4,g4,c5]@2 ~@3", // C
  AI: "[ab1,eb5,g5,bb5] ~ [eb5,g5,bb5] ~ [eb5,g5,bb5] ~ [eb5,g5,bb5] ~ [ab1,eb5,g5,bb5] ~ [eb5,g5,bb5] ~ [eb5,g5,bb5] ~ [eb5,g5,bb5] ~, ~@2 ab1@2 ab2@5 ~ ab1@2 ab2@2 ~@2", // Eb
  AJ: "[ab1,ab2,eb5,g5,bb5]@2 ~@2 [eb5,g5,bb5] ~@3 [eb1,eb2]@2 ~@2 [eb1,eb2,eb4,g4,bb4]@3 ~, ~@4 [ab1,ab2]@2 ~@2 g4 ~@7", // Eb Ab
  AK: "[[f4,a4,d5]@11 ~ [f4,a4,d5] d4 [e4,g4,c5] c4, d4@3 ~]/2", AL: "[bb3,d4,f4,bb4]@7 ~",
  AM: "~@6 [d4,f4,bb4]@3 ~ [d4,f4,bb4]@5 ~", AN: "[e4,g4,c5]@9 ~ [e4,g4,c5]@4 ~@2", AO: "[c4,f4,a4]@10 [c4,f4,a4]@5 ~",
  AP: "~@2 [bb3,d4]@5 ~ [bb3,d4] ~ [bb3,d4,f4]@2 ~@4, ~ g4@3 ~@4", AQ: "~@2 [bb3,g4]@5 ~ [bb3,g4]@2 f4@2 ~@4, ~@2 d4 ~",
  AR: "[[f4,a4,d5]@21 ~ [f4,a4,d5]@3 ~ [e4,g4]@4 ~@2]/2", AS: "[d4,f4,bb4]@7 ~@3 [d4,f4,c5]@5 ~",
  AT: "[d4,f4,bb4]@9 ~ [d4,f4,bb4]@5 ~", AU: "[c4,f4,a4]@9 ~ [f4,a4]@5 ~, ~@10 c4@3 ~@3", AV: "g4@9 ~ [e4,g4,c5]@4 ~@2",
  AW: "~@3 [eb4,g4]", AX: "~@8 [eb4,g4,bb4]@3 ~ [eb4,g4,bb4]@3 ~",
  AY: "~@2 [f1,f4,bb4,d5] ~ [f1,f4,bb4] ~ [f1,f4,bb4] ~ [f1,f4,bb4,d5] ~ [f1,f4,bb4,d5] ~@5", // Bb Bb5 Bb
})).s("gm_piano").gain(0.3)

// chords · piano · "Keyboard" · soft notes
const piano_soft = note(`<
  ~ A B ~@9 C D@2 E F G H I J K L ~@2 K L ~ L ~@12 A B ~@9 K ~@7 M K L ~@2 K L ~ L ~@12 A B ~@3 N ~@4 O P ~ Q R ~@2 S T
  ~ K L ~@2 K L ~ L ~@14 A B ~@2 A B
>`.pickRestart({
  A: "~@2 [f4,d5] ~@13", B: "~@4 d5 ~ d5 ~@9", C: "~@2 [f4,bb4] ~@13", D: "[d5@5 ~ [f4,d5]@8 [f4,d5]@7 ~@11]/2",
  E: "~@8 d4 ~@7", F: "~@2 [d4,f4,bb4] ~@7 d4@4 ~@2", G: "~@10 f4@3 ~@3", H: "~@8 e4 ~@7", I: "[eb5,g5,bb5] ~ bb5 ~@13",
  J: "~@8 eb4 ~@7", K: "~@2 f4 ~@13", L: "~@10 f4 ~@5", M: "~@8 [eb4,bb4] ~@7", N: "~@6 [f4,a4,d5] ~@9",
  O: "[bb3,d4,f4] ~@15", P: "[bb3,d4,f4]@2 d4@5 ~@3 bb3@2 ~@4", Q: "~@5 c5@2 ~", R: "~@14 [d4,bb4] ~",
  S: "[e4,c5]@9 ~@7", T: "~@4 [eb4,g4]@3 ~@5 bb4@4",
})).s("gm_piano").gain(0.15)

// chords · sitar · "Guitar 1"
const sitar = note(`<
  A B A B ~@2 C@3 ~ D@2 ~@2 E@2 ~@5 F@2 ~@2 G@2 ~@6 H ~@6 A B A B ~@2 C@3 ~ D@2 ~@2 E@2 ~@5 F@2 ~@2 G@2 ~@6 H ~@6 A B A
  B ~@2 I@2 ~@2 I@2 ~@2 I@2 ~@5 F@2 ~@2 G@2 ~@6 H ~@10 A B A B ~
>`.pickRestart({
  A: "~@12 c4 e4 [f4,g4,a4] b4", B: "[f4,a4,d5]@3 ~",
  C: "[~@16 bb4@17 ~@15, ~@14 bb3@19 ~@15, ~@15 d4@14 ~@19, ~@8 f4@7 ~@9]/3",
  D: "[~@15 [d4,f4]@7 ~@10, ~@14 bb3@13 ~@5, ~@15 bb4@12 ~@5]/2", // Dm
  E: "[~@16 bb4@13 ~@3, ~@14 bb3@13 ~@5, ~@15 [d4,f4]@9 ~@8]/2", F: "[~@14 [d4,f4,bb4]@13 ~@5]/2",
  G: "[~@14 [d4,f4,bb4]@17 ~]/2", H: "~@12 [f4,bb4,d5] ~@3", I: "[~@15 [d4,f4,bb4]@9 ~@8, ~@7 bb3@5 ~@4]/2",
})).s("gm_sitar").gain(0.17)

// chords · sitar · "Guitar 1" · soft notes
const sitar_soft = note("<A ~ A ~@37 A ~ A ~@37 A ~ A ~@41 A ~ A ~@2>".pickRestart({
  A: "~@12 d4 ~@3",
})).s("gm_sitar").gain(0.07)

// chords · acoustic guitar steel · "Guitar 2"
const acoustic_guitar_steel = note(`<
  ~@10 A@3 ~@6 B C D@2 E F G H I@2 J@3 K L M N O P Q R ~ S T U V@2 ~@4 A@3 ~@6 B C D@2 E F G H I@2 J@3 K L M N O P Q R ~
  S T U V@2 ~@14 W D@2 E F G H I@2 J@3 K L M N O P X P Y P Q ~@6
>`.pickRestart({
  A: "[~@30 bb3@6 [f3,bb3,d4]@2 [f3,bb3]@7 ~@3, ~@5 f3@5 ~@6, ~@8 bb3@7 ~@9, ~@17 d4@19 ~@2 d4@9 ~]/3", // Bb Bb5
  B: "~@2 eb4 ~ [bb3,eb4] ~ [bb3,eb4,g4] ~ [bb3,eb4,g4] ~ [eb4,g4] ~ [eb4,g4] ~ [bb3,eb4,g4] ~", // Eb5 Eb
  C: "[bb3,eb4,g4] ~ [bb3,eb4,g4] ~@5", // Eb
  D: "[[f4,bb4] [f4,bb4]@2 [d4,f4,bb4]!2 [d4,f4,bb4]@2 [f3,d4,f4,bb4] [d4,f4,bb4] [d4,f4,bb4]@2 [bb3,d4,f4,bb4] [d4,f4,bb4] [f3,d4,f4,bb4]@2 [f3,d4,f4,bb4], f3@7 ~ f3@3 f3@2 ~@3, bb3@8 bb3@10 ~@6 bb3@7 ~, d4@3 ~@13]/2", // Bb5 Bb
  E: "[f4,a4] [f4,a4]@2 [a3,c4,f4,a4]!2 [f3,a3,c4,f4,a4]@2 [c4,f4,a4], f3@5 ~@3, [a3,c4]@3 ~@5", // F Am
  F: "[c4,f4,a4]@2 [c4,f4,a4]@5 ~ [eb3,bb3,eb4,bb4]@4 [eb3,bb3,eb4,g4,bb4]@3 ~, a3 ~, f3@3 ~@5", // F Eb5 Eb
  G: "[f4,bb4] [f4,bb4]@2 [f3,bb3,d4,f4,bb4] [f4,bb4] [f4,bb4]@2 [bb2,f3,d4,f4,bb4], bb2@7 ~, [f3,bb3,d4]@3 ~ bb3@4, ~@4 [f3,d4]@3 ~", // Bb5 Bb Bb5 Bb Dm
  H: "[f4,bb4] [f4,bb4]@2 [d4,f4,bb4]!2 [bb3,d4,f4,bb4]@2 [bb3,d4,f4,bb4], [bb2,f3,bb3,d4]@3 bb3@2 ~@3, ~@6 f3 ~ [bb2,f3]@6 ~@2", // Bb5 Bb Bb5
  I: "[f4 [f4,a4]@2 [a3,c4,f4,a4] [c4,f4,a4] [f4,a4]@2 a4 a4 [f4,a4]@2 [c4,f4,a4] [a3,c4,f4,a4] [c4,f4,a4]@2 [a3,c4,f4,a4], f3@4 [f3,a3]@4 f3@7 ~, [a3,c4]@3 ~@2 c4@3 a3@4 ~@4, a4 ~@13 f4@4 ~@14, ~@8 c4@3 ~@5]/2", // F Am
  J: "[[f3,f4,bb4] [f4,bb4]@2 [f3,d4,f4,bb4] [f4,bb4] [f4,bb4]@2 [f3,bb3,d4,f4] [d4,f4] a4!2 [a3,d4,f4,a4] [f3,d4,f4,a4] [d4,f4]@2 [a3,d4,a4] [d4,ab4] ab4!2 [d4,f4,ab4]!2 [f4,ab4]@2 f4, bb3@4 [f3,bb3,d4]@3 ~ bb2@16, d4@3 ~@4 bb4@2 [d4,f4]@2 ~@2 a4 ~ f4@2 [d4,f4]@2 ~@2 d4@3, ~@16 f3@8 ~@2 f3@6 f3@5 ~@3 [f3,bb3]@8, ~@8 a3@3 ~ a3@3 ~ bb3@4 ~@4]/3", // Bb5 Bb Bb5 Bb Dm D5 Ddim Fm …
  K: "[eb4,g4,bb4] [eb4,g4,bb4]@2 [eb4,g4,bb4] [eb3,bb3,eb4,g4,bb4] [g4,bb4]@2 [g4,bb4], bb3 ~, eb3@3 ~@2 [eb3,bb3,eb4]@3", // Eb Gm Eb5
  L: "[bb3,d4,f4,bb4] [d4,f4,bb4]@2 [d4,f4,bb4]!2 [f4,bb4]@2 [f4,bb4], f3@6 f3 ~ [f3,bb3]@8, ~ bb3@3 ~ d4@3", // Bb Bb5
  M: "[bb3,f4,ab4] [f4,ab4]@2 [bb3,d4,f4,ab4]!2 [bb3,d4,f4,ab4]@2 [bb3,d4,f4,ab4], f3@4 f3@3 ~, d4@3 ~@5", // Bb7 Fm Bb7
  N: "[eb4,g4] [g4,bb4]@2 [eb4,g4,bb4]!2 [g4,bb4]@2 [g4,bb4], eb3 bb3, ~@4 eb3@3 ~, ~@5 eb4@3", // Eb Gm Eb Gm
  O: "[e4,g4] [e4,g4]@2 [bb3,e4,g4] [e4,g4] [e4,g4]@2 [g3,bb3,e4,g4], [c3,g3] c3, bb3@3 ~ [g3,bb3]@3 ~", // Em Edim Em Edim C5 Gm
  P: "[f3,d4,f4,bb4] [f3,d4,f4,bb4]@2 [d4,f4] [f3,f4] [f4,bb4]@2 [bb3,d4,f4,bb4], bb3@7 ~, ~@3 bb4@2 f3@3, ~ bb2, ~@4 d4@3 ~", // Bb Dm F Bb5 Bb
  Q: "[g3,bb3,eb4,g4]@7 ~ [f3,a3,c4,f4,a4]@7 ~", R: "[bb3,d4,f4,bb4]", S: "[f3,a3,d4]@15 ~",
  T: "~@2 [f3,bb3,c4]@4 [bb3,c4]@3 ~ [f3,bb3,c4]@5 ~", U: "[f3,a3], d4@13 ~@3",
  V: "[~@2 [f3,bb3,c4]@4 [f3,bb3,c4]@3 ~ [f3,c4]@3 ~ c4@2 [a3,d4]@10 ~@6, ~@5 bb3@3 ~@8, ~@7 f3@6 ~@3]/2", // Fsus4 F5 D5
  W: "[bb3,eb4,g4] ~ [bb3,eb4,g4] ~ [bb3,eb4,g4] ~ [bb3,eb4,g4] ~", // Eb
  X: "[g3,bb3,eb4,g4]@7 ~ [f3,a3,c4,f4,a4]@6 [f3,a3,c4,f4]@2", // Eb F
  Y: "[g3,bb3,eb4,g4]@7 ~ [f3,a3,c4,f4,a4]@6 [a3,c4,f4,a4]@2", // Eb F
})).s("gm_acoustic_guitar_steel").gain(0.22).pan(0.4)

// chords · acoustic guitar steel · "Guitar 2" · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@11 A@2 ~@6 B ~ C@2 D E ~ F ~ G H I J K L@2 M ~ N ~ O ~@2 P ~@8 A@2 ~@6 B ~ C@2 D E ~ F ~ G H I J K L@2 M ~ N ~ O ~@2
  P ~@18 C@2 D E ~ F ~ G H I J K L@2 M ~ N ~ N ~ N ~@7
>`.pickRestart({
  A: "[~@14 f3@6 ~@9 f3@3, ~@28 bb3@3 ~]/2", B: "[bb3,eb4,g4] ~ [bb3,g4] ~ g4 ~@5 bb3 ~ bb3 ~@3",
  C: "[~@9 bb3@2 ~@5, bb2@31 ~]/2", D: "~@7 a3", E: "~@2 g4 ~", F: "~@6 bb2 ~@9", G: "~@5 a3@2 ~", H: "~ f3@2 ~@5, bb2",
  I: "~@6 a4 ~", J: "~@3 f3 ~@3 ab4", K: "~@3 eb3 ~@4", L: "[~@9 bb3@2 ~@2 bb2@2 ~, ~@3 bb2@10 ~@3]/2",
  M: "~@2 bb3!2 ~@3 eb3, ~ eb4@2 ~@5", N: "~ bb2@2 ~@5", O: "f3", P: "~@6 f3@3 ~@7",
})).s("gm_acoustic_guitar_steel").gain(0.11).pan(0.4)

// chords · electric guitar clean · "Guitar 3"
const electric_guitar_clean = note(`<
  ~@23 A B ~@2 C D ~@8 E F G ~@23 A B ~@2 C D ~@8 E H G ~@23 A B ~@2 C D ~@8 E F E F E F ~@6
>`.pickRestart({
  A: "~@2 [f4,a4]!3 [c4,f4,a4] ~ [c4,f4,bb4], ~@2 c4@3 ~@3", // F Fsus4
  B: "~ [f4,bb4] f4 ~ [bb3,eb4,g4] ~ [bb3,eb4] ~, ~ c4@2 ~@5", C: "~@2 [f4,a4]!4 ~ [c4,f4,bb4], ~ c4@2 ~",
  D: "~ [f4,bb4] [c4,f4,a4]@2 ~ [f4,a4]@2 [f4,a4]", E: "[bb4,d5] ~ [a4,c5] ~ [g4,bb4] ~ [f4,a4] ~",
  F: "[bb3,eb4,g4]@2 ~@2 [bb3,eb4,g4]@2 ~@4 [a3,c4,f4,a4]@3 ~@3", G: "[f4,bb4,d5]",
  H: "[bb3,eb4,g4]@2 ~@2 [bb3,eb4,g4]@2 ~@4 [a3,c4,a4]@3 ~@3", // Eb Am
})).s("gm_electric_guitar_clean").gain(0.17).pan(0.6)

// chords · electric guitar clean · "Guitar 3" · soft notes
const electric_guitar_clean_2 = note("<~@24 A ~@3 B ~@35 A ~@3 B ~@9 C ~@25 A ~@3 B ~@20>".pickRestart({
  A: "~@2 a4 ~@3 [e3,g4] ~", B: "~ c4 ~@3 c4@3", C: "~@10 f4@3 ~@3",
})).s("gm_electric_guitar_clean").gain(0.05).pan(0.6)

// other · marimba · "Marimba 1"
const marimba = note(`<
  ~@20 A B@3 C D@3 E F G H I J K L M N O@2 ~@20 A B@3 C D@3 P F G H I J K L M N O@2 ~@20 A B@3 C D@3 P F G H I J K L M N
  Q N Q N Q ~@6
>`.pickRestart({
  A: "~@2 eb4 g4", B: "[bb4 f4 g4 bb4@2 f4 g4 bb4@2 f4 g4 bb4@2 ~ g4 a4@2 eb4 f4 a4@2 eb4 f4 bb4, ~@13 f4@2 ~@9]/3",
  C: "~@2 bb4@2 a4@2 ~@2 eb4@4 g4@3 ~",
  D: "[bb4 f4 g4 bb4@2 f4 g4 bb4@2 ~ g4 bb4@2 f4 g4 a4@2 eb4 f4 a4@2 eb4 f4 a4, ~@9 f4@2 ~@13]/3",
  E: "~@2 eb4@2 f4@2 a4@3 ~ a4@2 f4 ~@3",
  F: "bb4 d5 bb4 [bb4,d5] d5 bb4 [bb4,d5] d5 bb4 [bb4,d5] d5 bb4 [bb4,d5] d5 [bb4,d5] bb4", // Bb
  G: "c5 a4 c5 a4 [a4,c5] c5 a4 [a4,c5] c5 a4 [a4,c5] c5 a4 [a4,c5] c5 ~", // Am
  H: "~ ab4 [ab4,c5]!2 c5 ab4 [ab4,c5] c5 ab4 [ab4,c5] c5 [ab4,c5] ab4 c5 ~@2", // Ab
  I: "bb4 g4 bb4 [g4,bb4] g4 [g4,bb4] bb4 g4 [g4,bb4] bb4 [g4,bb4] g4 bb4 g4!2 ~, ~@13 bb4@2 ~", // Gm
  J: "~ bb4 [bb4,d5] d5 [bb4,d5] bb4 [bb4,d5] d5 bb4 [bb4,d5] d5 bb4 [bb4,d5] d5 [bb4,d5] bb4", // Bb
  K: "c5 ab4 c5!2 ab4 [ab4,c5] c5 [ab4,c5] ab4 [ab4,c5] c5 ab4 [ab4,c5] c5 ab4 ~", // Ab
  L: "bb4 g4 [g4,bb4] bb4 g4 [g4,bb4] bb4 g4 bb4 [g4,bb4] g4 bb4 [g4,bb4] g4 [g4,bb4] ~", // Gm
  M: "g4 [e4,g4] e4 [e4,g4] g4 e4 [e4,g4] g4 e4 [e4,g4] g4 e4 [e4,g4] ~@3", // Em
  N: "[f4,d5]!2 d5 ~ [f4,d5] d5 f4 d5 ~ f4 d5 [f4,d5] f4 d5 ~@2", // Dm
  O: "[[g4,eb5]@2 ~@2 [g4,eb5]@2 ~@2 [a4,f5] ~ [a4,f5]@3 ~@2 [bb4,d5]@13 ~@4]/2", // Cm Dm Bb
  P: "~@4 f4@2 a4@3 ~ a4@2 f4 ~@3, ~@3 eb4@3 ~@10", Q: "[g4,eb5]@2 ~@2 [g4,eb5]@2 ~@2 [a4,f5] ~ [a4,f5]@3 ~@3",
})).s("gm_marimba").gain(0.22).pan(0.4)

// other · marimba · "Marimba 1" · soft notes
const marimba_soft = note("<~@30 A B ~ C D ~@2 E ~@32 A B ~ C D ~@2 E ~@32 A B ~ C D ~@2 E ~ E ~ E ~@7>".pickRestart({
  A: "~@15 a4", B: "c5 ~@13 ab4 ~", C: "d5 ~@15", D: "~@2 ab4 ~@13", E: "~@2 f4!2 ~ f4 ~ f4 d5 ~@4 f4 ~@2",
})).s("gm_marimba").gain(0.07).pan(0.4)

// other · marimba · "Marimba 2"
const marimba_2 = note("<~@85 A B C D ~@4 E F G H I J K L ~@28>".pickRestart({
  A: "~@12 d5!2 a4!2", B: "f4!2 d4!2 f4!2 a4!2 d5!2 ~@6", C: "~@8 bb5!2 f5 ~ d5 ~ bb4 ~, ~@11 f5@2 ~@3",
  D: "f4!2 d4 ~ bb3 ~ f3 ~ d3 d3@2 ~@5",
  E: "~@3 f4 ~@2 f4 a4 ~@2 a4 ~@2 a4@2 f5, f3@2 d4@2 ~ d4@2 ~ d4@3 ~ f4@3 ~, ~ a3@2 ~ a3@3 ~@2 f4@2 d5@2 ~@3",
  F: "a5 ~@15",
  G: "~@2 d4 f4 bb3 d4 ~ bb4 ~@2 bb4 d5 ~@2 d5 f5, f3@2 ~@7 f4@2 ~ f4@2 ~@2, ~ bb3@2 ~@3 f4@2 d4@2 ~@3 bb4@2 ~",
  H: "bb5@2 ~@12 g4 ab4", I: "a4@2 f5 ~ bb4 g5 ~@2 ab5 ~@2 a5 ~@2 bb4 b4, ~@7 b4@2 ~ c5@2 ~@4",
  J: "c5@2 a5@2 d5 bb5 ~ eb5 b5 ~@2 c6@2 ~@3, ~@5 e5 ~@2", K: "g5 ~ c6 ~ bb5@2 g5 ~ g5@2 c6 ~ bb5 ~ g5 ~",
  L: "eb6 ~@15",
})).s("gm_marimba").gain(0.22)
// … 108 more lines

More by Elton John