Strudelify
Nikita cover art

Ice On Fire

Nikita

Elton John

KeyG majorTempo87 bpm
0:00/0:00
// Nikita — John Elton
// 87 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: bank select 127 (Roland MT-32 map) read through the MT-32 patch table: ch 7 "#E.PIANO 1" Elec Piano 1 -> epiano1
// note: Full arrangement: all 105 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(87/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 · "FINGERDBAS"
const bass = note(`<
  A B C D E F C A G H I J K L M N G O P A Q R S J T U V W X Y Z AA AB AC AD AE B C AF E AG AH J AB U AI W AJ L AK W AL I
  AM A AN L AO AP AL AQ AR AS AT AU AF AV AW AU AX AY AZ BA BB BC BD BE BF BG BH BI@2 BJ BK BL BM U V W BN BO BP BQ BR
  AC BS BT BU BV BW BX BY AU BZ CA
>`.pickRestart({
  A: "g1@3 ~ g1@3 ~", B: "b1@6 ~@2 b1@4 ~@2 a1 b1", C: "c2@2 ~@2 c2@3 ~", D: "c#2@5 ~@3 d2@8", E: "g1@3 ~ b1@3 ~",
  F: "c2@6 ~@2 c2@4 ~@2 g1 b1", G: "g1@6 ~@2 g1@4 ~@2 b1 c2", H: "d2@6 ~@2 d2@4 ~@2 g1 c2", I: "d2@6 ~@2 d2@4 ~@2 g1 ~",
  J: "g1@6 ~@2 g1@4 ~@2 d2 e2", K: "g2@6 ~@2 b1@4 ~@2 b1 ~", L: "c2@6 ~@2 c2@4 ~@2 g1 a1",
  M: "c2@6 ~@2 c2@4 ~ g2 a2 g2", N: "g2@3 ~ g1@2 ~@2", O: "d2@6 ~@2 d2@5 ~ g1@2", P: "d2@6 ~@2 d2@4 ~@2 c2 a1",
  Q: "g1@6 ~@2 g1@3 ~ b1@3 ~", R: "c2@6 ~@2 c2@4 ~@2 c2 g1", S: "c2@6 ~@2 c2@4 ~@2 b1 a1",
  T: "g2@4 ~ d2 g2 e2 d2@2 b1 a1 g1@2 a1 g1", U: "d2@6 ~@2 d2@4 ~@2 a1 b1", V: "d2@6 ~@2 d2@4 ~@2 b1 a1",
  W: "g1@3 ~ g1@2 ~@2", X: "g1@6 ~@2 b1@3 ~ d2 e2 d2 e2", Y: "c2@6 ~@2 c2@4 ~@3 c2",
  Z: "e2 g2 e2 g2!2 a2 c3 ~ c3@2 ~@2 a2 g2 e2 ~", AA: "g2@6 ~@2 g2@4 ~@2 d2 e2", AB: "g1@6 ~@2 g1@4 ~@2 c2 ~",
  AC: "d2@6 ~@2 d2@2 ~@2 e1@3 ~", AD: "f#1@6 ~@2 f#1@3 ~ f#2@3 ~", AE: "g2@6 ~@2 g1@4 ~@2 g1 ~",
  AF: "c#2@5 ~@3 d2@4 ~@2 b1 a1", AG: "c2@6 ~ c3 ~ c3 a2 g2 a2@2 g2 e2", AH: "c2@6 ~@2 c2@4 e2@2 g2 g1",
  AI: "d2@6 ~@2 d2@2 ~@2 f#1@3 ~", AJ: "g1@2 ~ e2@2 g2 e2 ~ a2 ~ g2 e2 b1@2 b1 ~", AK: "c2@4 c2 ~ a2 ~ c2@4 g2@4",
  AL: "g1@3 ~ g1 ~ c2 ~", AM: "d2@6 ~@2 d2@3 ~ f#1@3 ~", AN: "g1@6 ~@2 d3 b2 a2 g2 e2 d2 b1 a1",
  AO: "c2@6 ~@2 c2@2 ~ e2@2 g2 e2 ~", AP: "g2@6 ~@2 g2@4 ~@2 e2 d2", AQ: "d2@3 ~ d2 ~ e1 ~",
  AR: "f#1@4 ~@3 e2 f#2@2 f#2@2 f#1@3 ~", AS: "g1@4 ~@4 g1@4 ~@2 b1 a1", AT: "b1@4 ~@4 b1@4 ~@2 b1 ~", AU: "c2 ~ c2 ~",
  AV: "g1@6 ~ b2 ~ b2 a2 g2 a2 g2 e2 d2", AW: "b1@4 ~@4 b1@4 ~@2 a1 b1", AX: "c2@4 ~@4 c2@4 ~@2 g1 a1",
  AY: "c2@4 ~@4 c2@4 ~ b1 e2 d2", AZ: "b1@4 ~@4 b1@3 ~ g2 e2 d2 b1", BA: "a1@3 ~ a1@2 ~ a1 a1@6 ~@2",
  BB: "a1@3 ~ a#1@2 ~@2", BC: "d#2 ~ d#2 ~", BD: "d#2@6 ~@3 f3 d#3 ~ d#3 ~ c3@2", BE: "d2 ~ d2 ~",
  BF: "c2@6 ~@2 c2@4 ~@2 c2 a#1", BG: "g#1@6 ~@2 g2 g#2 ~ f2 ~ d#2 c2 a#1", BH: "g#1@4 ~@4 g#1@2 ~@2 g#1 a#1 c2 c#2",
  BI: "[d2@4 ~@4 d2@4 ~@3 f#2@2 a2 ~ c3 ~ d3 ~ e3 ~ e3 d3 ~ a2 g2 e2 d2]/2", BJ: "c2@6 ~@2 c2@4 ~@2 g1 ~",
  BK: "c2@4 ~@4 c2@2 ~ e2@2 g2 a2 e2", BL: "g2@4 ~@2 g2 e2 d2@2 e2 d2 b1@2 b1 a1", BM: "g1@2 ~@2 g1!2 ~ d2 g1@6 c2 ~",
  BN: "g1@6 ~@2 b2 a2 g2 e2 d2 e2 a2 c2", BO: "c2@4 ~@4 c2@4 c2 ~ g1@2", BP: "c2@4 ~@4 c2@4 ~@2 c2 ~",
  BQ: "g2@2 ~@2 g1@2 ~ e2", BR: "g1@4 ~@4 g1@4 ~@2 c2 ~", BS: "f#1@6 ~@2 f#1@3 ~@5",
  BT: "g1@6 ~ a2 ~ a2 g2 e2 g2@2 e2@2", BU: "b1@6 ~ b2 ~ b2 a2 f#2 a2@2 b2@2", BV: "c2@4 ~@4 c2@4 ~@2 c2 b1",
  BW: "a1@5 ~ c2 ~ d2@2 e2 d2 e2 d2 e2 d2", BX: "g2@2 ~ a2 ~ g2 ~ b2 ~ b2 a2 g2 a2@2 g2@2",
  BY: "b1@4 ~@4 b1@4 ~@2 a1 ~", BZ: "a1@2 ~@2 a1 ~ d2 ~", CA: "g1@15 ~",
})).s("gm_electric_bass_finger").gain(0.52)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  A B C D E@2 F G H I J K L@2 F G H I J K M@2 C N O P Q R S T C N O P Q R B C U V@2 F G H I J K M@2 C N O P Q R S T C N
  O P Q W B C X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO C N O P Q R S T C N O P Q R B C U AP B C U AQ
>`.pickRestart({
  A: "~@4 [b3,d4] [b3,d4,g4] ~ b3 d4 ~ [b3,d4] [d4,g4,d5] ~ b3 [b3,d4]!2", // Bm G Bm G5 Bm
  B: "[b3,d4,f#4] ~ [b3,d4,f#4] ~ [b3,d4] [d4,f#4,b4] ~ f#4 [d4,a4] ~ [b3,d4] [d4,f#4,a4] ~ b3 [d4,f#4,a4] [b3,f#4,a4]", // Bm D5 Bm D B7
  C: "[c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4] [e4,g4,c5] ~ g4 [e4,g4] ~ [c4,e4] [e4,g4] ~ c4 [c4,e4,g4]!2", // C Em C Em C
  D: "[a#3,c#4,e4] ~ [a#3,c#4,e4] ~ [a#3,c#4] [c#4,e4,a4] ~@8 [a3,c4]!2, ~@7 [a3,c4]@7 ~@2, ~ [d4,g4]", // A#dim A#m A Am G5
  E: "[[g3,b3,d4]@7 ~ [b3,d4,f#4]@6 ~@2 [e4,g4]@6 ~ g3!3 [c4,e4,g4] f4@2 [c4,f4,a4] c4 [c4,f4,a4], ~@15 c4@6 ~@11]/2", // G Bm Em C F
  F: "[c4,e4,g4]@4 ~@3 [c4,e4] ~ [e4,g4] c4 ~ [c4,e4,g4]@2 [c4,e4,g4]!2", // C Em C
  G: "[b3,d4,g4]@4 [b3,d4,g4] ~ g3 [d4,g4] g3!2 [b3,d4,g4] c4@2 [c4,e4,g4] c4 [c4,e4,g4]", // G G5 G C
  H: "[g3,b3,d4]@4 [g3,d4] ~ g3 [d4,g4] g3 [d4,g4] g3 ~ [g3,b3,d4]@4", // G G5 G
  I: "[a3,d4,f#4]@4 d4@2 a3 [d4,f#4] a3 [d4,a4] f#4 a3 ~ [a3,d4,g4] a3 [a3,d4,g4], ~@4 a3 ~@11", // D D5 Dsus4
  J: "[a3,d4,f#4]@4 [a3,d4,f#4] ~ a3 [d4,f#4] a3 [d4,a4] f#4 d4 [a3,d4,f#4]!2 g4 ~", // D D5 D
  K: "[b3,d4,g4]@4 [b3,d4,g4] ~ b3 [d4,g4] b3 [d4,g4] g4 d4 [b3,d4,g4] ~ [e4,g4] d4", // G G5 G Em
  L: "[[b3,d4,g4]@4 [b3,g4] ~ b3 [d4,f4] b3 [d4,f4] f4 d4 [b3,d4,g4]!2 g4 ~ [e4,g4]@6 ~ g3!3 [c4,e4,g4] f4@2 [c4,f4,a4] c4 [c4,f4,a4], ~@4 d4@2 ~@9 c4@6 ~@11]/2", // G Em Dm G Em C F
  M: "[[b3,d4,g4]@4 [b3,g4] ~ b3 [d4,f4] b3 [d4,f4] f4 d4 [b3,d4,g4]!2 g4 ~ [e4,g4] ~ [c4,e4,g4] ~ [c4,e4] [e4,g4,c5] ~ g4 [e4,g4] ~ [c4,e4] [c4,e4,g4] ~ [c4,f4,g4] c4 [c4,f4,g4], ~@4 d4@2 ~@9 c4@3 ~@14]/2", // G Em Dm G Em C Em C …
  N: "[b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4] [d4,g4,b4] ~ g4 [d4,a4] ~ [b3,d4] [b3,d4,g4] ~ [b3,d4,g4] b3 [b3,d4,a4]", // G Bm G D5 Bm G Bm7
  O: "[b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4] [d4,g4,b4] ~ g4 [d4,g4] ~ [b3,d4] [d4,g4] ~ b3 [b3,d4,g4]!2", // G Bm G G5 Bm G5 G
  P: "[a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4] [d4,f#4,a4] ~ f#4 [d4,g4] ~ [a3,d4] [a3,d4,f#4] ~ [a3,d4,g4] a3 [a3,d4,g4]", // D D5 D G5 D5 D Dsus4
  Q: "[a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4] [d4,f#4,a4] ~ f#4 [d4,f#4] ~ [a3,d4] [d4,f#4] ~ a3 [a3,d4,g4]!2", // D D5 D D5 D Dsus4
  R: "[b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4] [d4,g4,b4] ~ g4 [d4,g4] ~ [b3,d4] [b3,d4,g4] ~ [b3,d4,g4] b3 [b3,d4,g4]", // G Bm G G5 Bm G
  S: "[b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4] [d4,g4,b4] ~ g4 [d4,f4] ~ [b3,d4] [d4,f4] ~ b3 [b3,d4,f4]!2", // G Bm G Dm Bm Dm Bdim
  T: "[c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4] [e4,g4,c5] ~ g4 [e4,g4] ~ [c4,e4] [c4,e4,g4] ~ [c4,f4,g4] c4 [c4,f4,g4]", // C Em C Csus4
  U: "[c4,e4,a4] ~ [c4,e4,g4] ~ [c4,e4] [c4,e4,g4] ~ a4 [c4,e4,g4,c5] ~ [e4,g4] [e4,g4,c5] ~ e4 [c4,e4,c5] [e4,g4,c5]", // Am C Em C
  V: "[[b3,d4,g4] ~@7 [b3,d4,f#4]@6 ~@2 [e4,g4]@6 ~ g3!3 [c4,e4,g4] f4@2 [c4,f4,a4] c4 [c4,f4,a4], ~@15 c4@6 ~@11]/2", // G Bm Em C F
  W: "b3 ~@3 [b3,d4] [b3,d4,g4] ~ b3 d4 ~ [b3,d4] [d4,g4,d5] ~ b3 [b3,d4]!2", // Bm G Bm G5 Bm
  X: "[a#3,c#4,e4] ~ [a#3,c#4,e4] ~ [a#3,c#4] [c#4,e4,a4] ~@8 [a3,c4] a3, ~@7 [a3,c4]@7 ~@2, ~ [d4,g4]", // A#dim A#m A Am G5
  Y: "[d4,g4] ~ [b3,d4,g4] ~ [b3,d4] [d4,g4,b4] ~ g4 [d4,g4] ~ [b3,d4] [b3,d4,g4] ~ [b3,d4,g4] b3 [a#3,d4,g4]", // G5 G Bm G G5 Bm G Gm
  Z: "[a#3,d4,f#4] ~ [a#3,d4,f#4] ~ [a#3,d4] [d4,f#4,b4] ~ f#4 [d4,f#4] ~ [a#3,d4] [d4,f#4] ~ a#3 [a#3,d4,f#4]!2", // A#aug A# Bm D A# D A#aug
  AA: "[c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4] [e4,g4,b4] ~ g4 [e4,a4] ~ [c4,e4] [c4,e4,g4] ~ [c4,e4,g4] c4 [c4,e4,a4]", // C Em A5 C Am
  AB: "[c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4] [c4,e4,g4] ~ g4 [e4,g4] ~ [c4,e4] [e4,g4] ~ c4 [c4,e4,g4]!2", // C Em C Em C
  AC: "[c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4] [e4,g4,b4] ~ g4 [e4,a4] ~ [c4,e4] [c4,e4,g4] ~ [c4,e4,g4] c4 [c4,e4,g4]", // C Em A5 C
  AD: "[b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4] [b3,d4,g4] ~ g4 [d4,g4] ~ [b3,d4] [d4,g4] ~ b3 [b3,d4,g4]!2", // G Bm G G5 Bm G5 G
  AE: "[a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4] [a3,c4,f4] ~ f4 [c4,f4] ~ [a3,c4] [a3,c4,f4] ~ [a3,c4,f4] a3 [a3,c4,f4]", // F Am F F5 Am F
  AF: "[a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4] [c4,f4,a4] ~ f4 [d4,f4] ~ [a#3,d4] [d4,f4] ~ a#3 [a#3,d4,f4] [a#3,d#4,f4]", // F Am F Dm A# Dm A# A#sus4
  AG: "[a#3,d#4,g4] ~ [a#3,d#4,g4] ~ [a#3,d#4] [d#4,g4,a#4] ~ g4 [d4,f4] ~ [a#3,d#4] [a#3,d#4,g4] ~ [a#3,d#4,g4] a#3 [a#3,d#4,g4]", // D# D#5 D# Dm D#5 D#
  AH: "[c4,d#4,g#4] ~ [c4,d#4,g#4] ~ [c4,d#4] [d#4,g#4,c5] ~ g#4 [d#4,g#4] ~ [c4,d#4] [d#4,g#4] ~ c4 [c4,d#4,g#4]!2", // G# Cm G# G#5 Cm G#5 G#
  AI: "[b3,d4,f4] ~ [b3,d4,g4] ~ [b3,d4] [d4,g4,b4] ~ g4 [d4,b4] ~ [b3,d4] [b3,d4,g4] ~ [b3,d4,g4] b3 [b3,d4,f4]", // Bdim G Bm G Bm G Bdim
  AJ: "[c4,d#4,g4] ~ [c4,d#4,g4] ~ [c4,d#4] [c4,d#4,g4] ~ g4 [d#4,g4] ~ [c4,d#4] [d#4,g4] ~ c4 [c4,d#4,g4]!2", // Cm D# Cm D# Cm
  AK: "[c4,e4,g#4] ~ [c4,e4,g#4] ~ [c4,e4] [e4,g#4,c5] ~ g#4 [e4,g#4] ~ [c4,e4] [c4,e4,g#4] ~ [c4,e4,g#4] c4 [c4,e4,g#4]", // Caug C Eaug E C Caug
  AL: "[c4,f4,g#4] ~ [c4,f4,g#4] ~ [c4,f4] [c4,f4,g#4] ~ g#4 [f4,g#4] ~ [c4,f4] [f4,g#4] ~ c4 [c4,f4,g#4]!2", // Fm F5 Fm F5 Fm
  AM: "[d4,g4,c5] ~ [d4,g4,c5] ~ [d4,g4] [d4,g4,c5] ~ c5 [g4,c5] ~ [d4,a4] [d4,a4,c5] ~ [d4,a4,c5] d4 [d4,a4,c5]", // Csus2 G5 Csus2 C5 D5 D7
  AN: "[a3,c4,f#4] ~ [a3,c4,f#4] ~ [a3,c4] [c4,f#4,d5] ~ f#4 [c4,f#4] ~ [c4,a4] [c4,f#4] ~ a4 [c4,f#4,a4]!2", // F#dim Am D7 Cdim F Cdim F#dim
  AO: "[e4,g4] ~ [c4,e4,g4] ~ [c4,e4] [e4,g4,c5] ~ g4 [e4,g4] ~ [c4,e4] [c4,e4,g4] ~ [c4,f4,g4] c4 [c4,f4,g4]", // Em C Em C Csus4
  AP: "[b3,d4,g4] ~ [b3,d4,g4]@2 [b3,d4] [b3,d4,g4] ~ b3 [b3,d4,g4] ~ [b3,d4] [d4,g4,d5] ~ b3 [b3,d4]!2", // G Bm G Bm G5 Bm
  AQ: "[b3,d4,g4]@15 ~", // G
})).s("gm_electric_guitar_clean").gain(0.2).pan(0.8)

// chords · acoustic guitar steel · "+12STR GTR"
const acoustic_guitar_steel = note(`<
  ~@13 A@2 B@2 C@2 D@6 E@8 F@3 G@2 ~@10 A@2 B@2 C@2 D@6 F@3 G@2 ~@3 H I ~@5 J@2 K@2 L@2 M@5 N@8 O@5 P@6
>`.pickRestart({
  A: "[~@8 [g4,c5]@4 ~@2 a4 ~ [e4,g4]@12 ~@4, ~@3 [f4,a4,d5] ~@12, ~@7 e4@5 ~ [d4,f4]@2 c4@13 ~@4]/2", // C5 Em Dm
  B: "[~@8 [g4,b4]@4 ~@2 a4 ~ [d4,g4]@12 ~@4, ~@3 [e4,a4,c5] ~@12, ~@7 d4@5 ~ [c4,e4]@2 b3@13 ~@4]/2", // G G5 Am C
  C: "[~@8 [f#4,a4]@4 ~@2 g4 ~ [d4,f#4]@12 ~@4, ~@3 [e4,g4,b4] ~@12, ~@7 d4@5 ~ [b3,e4]@2 a3@13 ~@4]/2", // F#m D Em E5
  D: "[~@14 c5 ~ [g4,b4]@12 ~@4 c5@12 ~@2 d5 ~ [g4,c5]@12 ~@4 g4@12 ~@2 c5 ~ [g4,b4]@12 ~@4, ~@13 [e4,a4]@2 d4@13 ~@3 [c4,e4,g4]@13 ~ [f4,a4]@2 e4@13 ~@3 [g3,b3,d4]@13 ~ [e4,a4]@2 d4@13 ~@4]/6", // G C5 G A5 C F G A5
  E: "[[d4,f#4]@11 ~@3 b4 ~ [f#4,a4]@12 ~@4 [d4,g4]@12 ~@2 c5 ~ [g4,b4]@12 ~@4 c5@12 ~@2 d5 ~ [g4,c5]@12 ~@4 g4@12 ~@2 c5 ~ [g4,b4]@12 ~@4, ~@13 [e4,g4]@2 d4@13 ~@3 b3@13 ~ [e4,a4]@2 d4@13 ~@3 [c4,e4,g4]@13 ~ [f4,a4]@2 e4@13 ~@3 [g3,b3,d4]@13 ~ [e4,a4]@2 d4@13 ~@4]/8", // D F#m G5 G C5 G Em A5 …
  F: "[[d4,f#4]@11 ~ [e4,g4,b4]@3 ~ [a4,d5]@12 ~@4 [d4,g4]@12 ~@4, ~@11 b3@4 [d4,f#4]@13 ~@3 b3@13 ~@4]/3", // D Em D5 G5 D
  G: "[f#4@3 ~ c5@3 ~, ~@15 g4@13 ~@4]/2", H: "~@13 [c4,e4]@3, ~@12 [e3,g3]@3 ~", I: "[d4,f4]@3 [c4,e4]@9 ~@4",
  J: "[[c4,d#4,g#4]@3 ~ g4@3 ~, ~@15 d4@13 ~@4]/2", K: "[[c4,d#4,g4]@13 ~@3 [d#4,g4]@14 ~@2, ~@15 [g#3,c4]@15 ~@2]/2",
  L: "[f4@4 d#4@8 ~@4 [d4,g4]@6 ~@2 [g4,b4]@7 ~, c4@12 ~@3 c4@6 ~@2 c4@7 ~@2]/2", // G5 G
  M: "[[d4,f#4,a4]@12 ~@4 [c4,e4,g4]@12 ~@2 d5 ~ [g4,c5]@12 ~@4 g4@12 ~@2 c5 ~ [g4,b4]@12 ~@4, ~@15 g3@12 ~@2 [f4,a4]@2 e4@13 ~@3 [g3,b3,d4]@13 ~ [e4,a4]@2 d4@13 ~@4]/5", // D C C5 G F G A5
  N: "[[d4,f#4]@11 ~@3 b4 ~ [f#4,a4]@12 ~@4 [d4,g4]@12 ~@2 c5 ~ [g4,b4]@12 ~@4 [a4,d5]@2 ~ [e4,g4,c5]@11 ~@2 [a4,d5]@2 ~ [e4,g4,c5]@3 ~@2 [f4,a4,d5]@2 ~ [e4,g4,c5]@3 ~@2 g4@12 ~@4 [c5,e5]@2 ~ [b4,d5]@5 ~@8, ~@13 [e4,g4]@2 d4@13 ~@3 b3@13 ~ [e4,a4]@2 d4@13 ~@3 f4@2 ~@14 f4@2 ~@14 [g3,b3,d4]@13 ~@3 a4@2 ~ g4@5 ~@9]/8", // D F#m G5 G D5 C D5 C …
  O: "[[d4,f#4]@11 ~ [g4,b4,e5]@3 ~ [d5,f#5]@12 ~@4 [g4,b4]@7 ~ [b4,d5]@6 ~@2 [b4,d5]@6 ~@2 [d4,f#4,b4,d5]@7 ~ c5@12 ~@3 g4, ~@11 e4@4 [f#4,a4]@13 ~@3 d4@8 g4@7 ~ [d4,f#4]@7 ~@9 [e4,g4]@13 ~@4]/5", // D Em D G Bm F#m D Em
  P: "[[a4,c5,e5]@6 ~@2 [a4,c5,e5]@7 ~ [d4,g4,b4]@14 ~@2 [a4,d5]@15 ~ e5@15 ~ [a4,c5,e5]@6 ~@2 [c5,e5]@6 ~@2 [g4,b4,d5]@12 ~@4, ~@7 g4@7 ~ b3@15 ~ [d4,f#4]@15 ~ [e4,g4,c5]@15 ~ g4@6 ~@2 [g4,a4]@6 ~@2 d4@12 ~@5]/6", // Am G D5 Am C G D C …
})).s("gm_acoustic_guitar_steel").gain(0.32)

// chords · acoustic guitar steel · "+12STR GTR" · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@24 A@2 B@2 ~@4 A@2 C@4 ~@21 A@2 C@4 ~@3 D@2 ~@5 E@2 ~ F@2 ~@5 A@2 B@2 ~@4 A@2 ~@2 G@2 ~@6
>`.pickRestart({
  A: "[~@15 a3@12 ~@5]/2", B: "[~@15 g3@13 ~@4]/2", C: "[~@15 g3@13 ~@4 d4@12 ~@3 [c4,e4]@13 ~@4, ~@31 b3@13 ~@20]/4",
  D: "[~@15 a3@3 g3@10 ~@4]/2", E: "[~@15 b3@13 ~@4]/2", F: "[~@15 g#3@13 ~@4]/2", G: "[~@15 c4@13 ~@4]/2",
})).s("gm_acoustic_guitar_steel").gain(0.16)

// chords · epiano1 · "#E.PIANO 1"
const epiano1 = note(`<
  A B C D E F@2 G@2 H I J K L M N O P Q J K R S T U V W X@2 Y Z T AA AB AC U AD Z AE AF R Z AG AH V AI AJ AK AL AM AN AA
  AO AP AQ@2 AR AS AT U AB AU AV AW Z AX AY@2 AZ BA BB BC BD@2 BE BF BG BH BI@2 BJ AU BK BL BM AA BN BO BP BQ BR BS@2 BT
  BU BV BW BX BY BZ@4 CA CB
>`.pickRestart({
  A: "[g3,b3,d4]@15 ~", B: "[b3,d4,f#4]", C: "[c4,e4,g4]", D: "[c#4,e4,g4]@7 ~ [c4,d4,g4]@8",
  E: "[b3,d4,g4] [b3,d4,f#4]", F: "[[c4,e4,g4]@11 ~@2 [f4,a4]@3 [e4,g4]@16, ~@11 c4@21]/2",
  G: "[[b3,d4,g4]@7 [c4,e4] [b3,d4]@8, ~@7 g4@9]/2", H: "d4@11 d4 ~@2 d4@2, [a3,f#4]@13 a3@3, ~@14 g4 ~",
  I: "c4@3 c4, [a3,f#4]", J: "[b3,d4,g4]@13 ~ [c4,e4,g4]@2", K: "[b3,d4,f4,g4]",
  L: "[c4,e4,g4]@3 [d4,f4,a4] [c4,e4,g4]@3 [a3,d4,f4]", M: "[g3,c4,e4]@15 ~",
  N: "[b3,d4,g4]@6 [c4,e4,a4]@2 [b3,d4,g4]@5 ~ [a3,c4,e4]@2", O: "[g3,b3,d4]",
  P: "[a3,d4,f#4]@5 ~ [c4,e4,g4]@2 [a3,d4,f#4]@5 ~ [g3,e4] ~, ~@7 c4", Q: "[f#3,a3,d4]@15 ~",
  R: "[c4,e4,g4]@7 [d4,f4,a4]", S: "~@12 d4@3 ~, [c4,e4,g4]@15 ~, ~@8 f4@7 ~", T: "[b3,d4,g4]@7 [c4,e4,a4]",
  U: "[b3,d4,g4]", V: "[a3,d4,f#4]@7 [b3,d4,g4]", W: "[a3,c4,d4,f#4]@15 ~",
  X: "[[b3,d4,g4]@14 [c4,e4]@2 [b3,d4,f4]@15 ~, ~@7 g4@9]/2", Y: "[c4,e4,g4]@13 ~ [d4,f4,a4]@2", Z: "[c4,e4,g4]@15 ~",
  AA: "[b3,d4,g4]@15 ~", AB: "[a3,d4,f#4]@11 ~ [b3,d4,e4,g4]@4", AC: "[c4,d4,f#4,a4]@15 ~",
  AD: "[b3,d4,f#4]@7 ~ [b3,d4,f#4,a4]@8", AE: "[c#4,e4,g4] [c4,d4,g4]", AF: "[b3,d4,g4]@7 ~ [b3,d4,f#4]@7 ~",
  AG: "[b3,d4,g4]@7 [a3,c4,e4,g4]", AH: "[g3,b3,d4,g4]@15 ~", AI: "[a3,d4,f#4]",
  AJ: "[b3,d4]@11 ~ b3 d4 [c4,e4,g4]@2, g4@13 ~@3, ~@11 g3@2 ~@3", AK: "f4@3 f4, [b3,d4,g4]@15 ~",
  AL: "[c4,e4,g4]@5 ~ [d4,f4,a4]@2 [c4,e4,g4]@5 ~ [a3,d4,f4]@2", AM: "[g3,c4,e4]",
  AN: "[b3,d4,g4]@3 [c4,e4,a4] [b3,d4,g4]@3 [a3,c4,e4]", // G Am G Am
  AO: "[a3,d4,f#4]@6 [e4,g4]@2 [a3,d4,f#4]@5 ~ [b3,d4,g4]@2, ~@6 b3 ~@9", AP: "[a3,c4,f#4]@15 ~",
  AQ: "[[b3,d4,g4]@13 ~ [c4,e4]@2 [b3,d4,f4]@16, ~@7 g4@9]/2", AR: "[c4,e4,g4]@12 d4@2 c4 d4, ~@7 [f4,a4]",
  AS: "~@12 d4@3 ~, [c4,e4,g4]@15 ~, ~ f4", AT: "~@2 g3@5 [c4,e4,g4], [b3,d4,g4]@7 ~", AU: "[c4,d4,f#4,a4]",
  AV: "[b3,d4,g4]@7 ~", AW: "~@8 a4@7 ~, [d4,f#4,b4]", AX: "[c#4,e4,g4]@7 ~@5 a4@4, ~ [c4,d4,g4]",
  AY: "[[b3,d4,g4,b4]@15 ~@9 a4@7 ~, ~@15 [d4,f#4]@16 ~, ~ [b4,d5]]/2", AZ: "[c4,e4,g4,c5]@7 [c4,e4,g4]",
  BA: "[d4,f4,a4]@3 [c4,e4,g4]@9 [c4,e4,g4]@4", BB: "[c4,e4,g4]@12 ~ [e4,g4]@3, ~@3 c4", BC: "a4@11 ~ b4@4, [b3,d4,g4]",
  BD: "[[c4,f4,a4]@22 ~@2 [a#3,d4,f4]@7 ~]/2", BE: "[a#3,d#4,g4]@8 [a#3,d4,f4]@4 [a#3,d#4,g4]@3 ~",
  BF: "[c4,d#4,f4,g#4]@11 ~ [c4,d#4,g4]@4", BG: "~@2 g4@5 ~, [b3,d4,f4]@15 ~", BH: "[c4,d#4,g4]@7 ~",
  BI: "[g4@12 g4@4 f4@7 ~ d#4@7 ~, [g#3,c4], d#4@3 ~]/2", BJ: "~@3 b4, [c4,d4,g4], ~ a4",
  BK: "[e4,g4]@13 ~ [d4,f4,a4]@2, c4", BL: "e4@7 ~ e4@4 f4@4, [c4,g4]", BM: "[b3,d4,g4]@13 ~ [c4,e4,a4]@2",
  BN: "[d4,f#4,a4,d5]@13 ~ [d4,e4,g4,b4]@2", BO: "[d4,f#4,a4,d5] [d4,f#4,a4,c5]", BP: "[d4,g4,b4]@13 ~ [e4,g4,c5]@2",
  BQ: "[f4,g4,b4,d5]", BR: "[d4,f4,a4,d5,f5]@3 [c4,e4,c5,e5]@12 ~, ~@3 g4@10 ~@3",
  BS: "[[d4,f4,a4,d5,f5]@3 [c4,e4,g4,c5,e5]@4 ~ [d4,f4,a4,d5,f5]@3 [c4,e4,g4,c5,e5]@4 ~ [d4,g4,b4,d5]@15 ~, ~@15 b3@15 ~@2]/2", // Dm C Dm C G
  BT: "[c4,e4,g4,c5,e5]@3 [g4,b4,d5]@5 [g4,c5,e5]@3 [g4,b4,d5]@4 ~, ~@3 [b3,d4]@12 ~", // C G C G Bm
  BU: "[f#4,a4,d5]@5 ~ [c4,e4,g4,c5,e5]@2, [a3,d4]@3 ~", BV: "[d4,f#4,a4,c5,f#5]@15 ~", BW: "[b3,d4,g4,b4,d5]@15 ~",
  BX: "[f#4,b4,d5]@8 [f#4,a4,b4,d5]@7 ~, [b3,d4]@15 ~", BY: "[c4,e4,g4,c5]@15 ~",
  BZ: "[[c4,e4,g4,a4,c5,e5]@7 ~ [e4,g4,c5,e5]@7 ~ [d4,b4,d5]@15 ~@9 a4@7 ~ [c4,e4,c5,e5]@15 ~, ~@7 [c4,a4]@8 [b3,g4]@15 ~ [b3,f#4]@16 ~@17, ~@32 [d4,b4,d5]@15 g4@15 ~@2]/4", // Am7 C G C F Em B5 G
  CA: "[c4,e4,g4,a4,c5,e5]@7 ~ [e4,g4,a4,c5,e5]@8, ~@7 d4@8 ~", CB: "[b3,d4,g4,b4,d5]@9 ~@7",
})).s("gm_epiano1").gain(0.27)

// other · synth brass 1 · "SYNBRASS 1"
const synth_brass_1 = note("<~@67 A B C D E F G@2 H I J K L@2 M N ~@22>".pickRestart({
  A: "~@6 b4 c5 d5@4 ~ g5 f#5 g5", B: "e5@7 ~", C: "~@9 c6 a5 c6 g5 c6 f5 c6", D: "e5@9 ~@5 g5 a5",
  E: "b5 g5 ~@8 g5 f#5 g5@2 d5 e5, ~@2 d5@11 ~@3", F: "f5 c5 a4@7 ~@7",
  G: "[~@10 d6 c#6 d6 a#5 f5@6 ~@5 g5 d#6 d6 d#6 ~ a#5 ~]/2", H: "c6@5 ~ a#5 c6 g#5 c6 g5 c6 f5 c6 d#5 ~",
  I: "d5@8 ~@2 g6@4 f6 g6", J: "d#6@2 d6 d#6 ~@2 g5 f5 d#5 g5 f5 g5 d#5 g5 d5 g5, ~ c6@2 ~", K: "c5@7 ~@3 c6@3 ~ a#5 ~",
  L: "[g#5@2 g5 g#5 f5@4 ~@6 c6@7 ~ b5 a5 g5@5 ~ f#5 g5]/2", M: "a5 d5 a5 b5 c6 a5 b5 c6 d6@5 ~ e6 f6", N: "e6@15 ~",
})).s("gm_synth_brass_1").gain(0.48)

// drums · kick
const kick = s("bd").struct("<A@3 B A@8 B A@15 B A@9 B A@8 B A@7 B A@21 B A@26 C>".pickRestart({
  A: "x!2", B: "x ~@3 x ~@2 x", C: "x",
})).gain(0.8)

// drums · snare
const snare = s("sd").struct("<[~ x ~ x]!65 [~@4 x ~@7 x!3 ~] [~ x ~ x]!38 ~>").gain(0.64)

// drums · clap
const clap = s("cp").struct("<[~@3 x]!4 ~@17 [~@3 x]!18 ~@17 [~@3 x]!48 ~>").gain(0.64)

// drums · hihat
const hihat = s("hh").struct(`<
  A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A
  B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A C ~@9
>`.pickRestart({
  A: "x ~ x ~ x!3 ~ x ~ x ~ x ~ x ~", B: "x ~ x!5 ~ x ~ x!3 ~ x ~", C: "x ~ x!5 ~ x ~ x ~@5",
})).gain(0.56)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A
  B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B ~@9
>`.pickRestart({
  A: "~@3 x ~@12", B: "x!2 ~@14",
})).gain(0.24)

// drums · open hat
// … 57 more lines

More by Elton John