Strudelify

You're Only Human (Second Wind)

Billy Joel

KeyB♭ majorTempo130 bpm
0:00/0:00
// You're Only Human (Second Wind) — Billy Joel
// 130 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 8 "GTHARMONIC" guitar harmonics (copy of ch 7 "MUTED GTR" electric guitar muted)
// note: Full arrangement: all 168 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(130/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 · synth bass 1 · "SYN BASS 1"
const synth_bass_1 = note(`<
  A B A B A B A B A B A B A B A B A B A B A B A C ~@8 D E F G H I J K A B A B A B A B A B A B A B A B A B A C ~@8 D E F
  G H I J K ~@11 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 ~@8 D E F G H I J K D E F G H I J K 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 L ~
>`.pickRestart({
  A: "~@4 [d4,f4,bb4] ~@5 [d4,f4,bb4] ~@5 [d4,f4,bb4] ~@5 [d4,f4,bb4] ~", // Bb
  B: "~@4 [c4,eb4,ab4] ~@5 [c4,eb4,ab4] ~@5 [c4,f4,a4] ~@5 [c4,f4,a4] ~", // Ab F
  C: "~@4 [c4,eb4,ab4] ~@5 [c4,eb4,ab4] ~@5 [c4,eb4,ab4] ~@5 [c4,eb4,ab4] ~", // Ab
  D: "~@4 [bb3,d4,f4]@3 ~@3 [bb3,d4,f4]@3 ~@3 [bb3,d4,f4]@3 ~@3 [bb3,d4,f4]@2", // Bb
  E: "~@4 [bb3,eb4,g4]@3 ~@3 [bb3,eb4,g4]@3 ~@3 [ab3,c4,eb4]@3 ~@3 [ab3,c4,eb4]@2", // Eb Ab
  F: "~@4 [ab3,db4,f4]@3 ~@3 [ab3,db4,f4]@3 ~@3 [ab3,db4,f4]@3 ~@3 [ab3,db4,f4]@2", // Db
  G: "~@4 [ab3,db4,f4]@3 ~@3 [ab3,db4,f4]@2 ~@4 [ab3,db4,f4]@3 ~@3 [ab3,db4,f4]@2", // Db
  H: "~@4 [bb3,d4,f4]@2 ~@4 [bb3,d4,f4]@3 ~@3 [bb3,d4,f4]@3 ~@3 [bb3,d4,f4]@2, ~@4 ab3 ~@19", // Bb
  I: "~@4 [bb3,eb4,g4]@3 ~@3 [bb3,eb4,g4]@2 ~@4 [ab3,c4,eb4]@3 ~@3 [ab3,c4,eb4]@2", // Eb Ab
  J: "~@2 [ab3,db4,f4] ~@2 [ab3,db4,f4] ~@2 [ab3,db4,f4] ~@2 [ab3,db4,f4]", // Db
  K: "~@2 [db4,f4] ~@2 [ab3,db4,f4] ~@2 [ab3,db4,f4] ~@2 [ab3,db4,f4], ~@4 ab3 ~@19", // Db
  L: "db3@3 ~ [c4,eb4,ab4] ~@5 [c4,eb4,ab4] ~@5 [c4,f4,a4] ~@5 [c4,f4,a4] ~", // Ab F
})).s("gm_synth_bass_1").gain(0.26)

// bass · synth bass 2 · "SYN BASS 2"
const bass = note(`<
  A B A C A C A D E F E D E F E D E F E D E F E G H I J K H I L M N O P@2 Q R P S A C A D E F E D E F E D E F E D E F E
  G H I J K H I L M N O P@2 Q R P S T K U V I W K X Y Z AA A B A C A C A D A C A D E F E D E F E D E F E D E F E G H I J
  K H I L M N O P@2 Q R P S N O P@2 Q R P S E C A D E F E D A C A D E F E D E C A D E F E D A C A D AB
>`.pickRestart({
  A: "bb1@2 ~@4 g1@2 ~ g1@2 ~", B: "ab1@2 ~@4 f1 g1 bb1 f1 g1 bb1", C: "ab1@4 ~@8 f1 ~ g1 ~ bb1 ~ f1 ~ g1 ~ bb1 ~",
  D: "ab1@4 ~@2 ab1@4 ~@2 f1 ~ g1 ~ bb1 ~ f1 ~ g1 ~ bb1 ~", E: "bb1@2 ~ bb1@2 ~ g1@2 ~ g1@2 ~",
  F: "ab1@2 ~ ab1@2 ~ f1@2 ~ f1@2 ~", G: "ab1@2 ~ ab1@2 ~ ab1@2 ~ ab1@2 ~", H: "f1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~",
  I: "eb1@2 ~ eb1@2 ~ eb1@2 ~ eb1@2 ~", J: "d1@2 ~ d1@2 ~ d1@2 ~ d1@2 ~", K: "g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~",
  L: "c1@2 ~ c1@2 ~ c1@2 ~ c1@2 ~", M: "f1@2 ~ g1@2 ~ a1@2 ~ f1@2 ~", N: "bb1@3 ~@3 bb1@3 ~@3 bb1@4 ~@2 bb1@4 ~@2",
  O: "eb1@2 ~ eb1@2 ~ ab1@2 ~ ab1@2 ~", P: "db1@2 ~ db1@2 ~ db1@2 ~ db1@2 ~", Q: "bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@3",
  R: "eb1@3 ~@3 eb1@5 ~ ab1@4 ~@2 ab1@6", S: "db1@4 ~@2 db1@4 ~@2 db1@4 ~@2 db1@3 ~@3",
  T: "ab1@4 ~@2 ab1@4 ~@2 ab1@4 ~@2 ab1@5 ~", U: "gb1@4 ~@2 gb1@4 ~@2 gb1@3 ~@3 gb1@4 ~@2",
  V: "f1@3 ~@3 f1@4 ~@2 f1@4 ~@2 f1@4 ~@2", W: "d1@2 ~ d1@2 ~ d1@2 ~ d1@2 ~, e1 ~@23",
  X: "c2@4 ~@2 c2@4 ~@2 c2@3 ~@3 c2@5 ~", Y: "f1@5 ~ f1@5 ~", Z: "f1@10 ~@2 f1@9 ~@3", AA: "f1 ~@7", AB: "bb1 ~@5",
})).s("gm_synth_bass_2").gain(0.47)

// chords · rock organ · "ORGAN 3"
const rock_organ = note(`<
  A B A B A B A B A B A B A B A B A B A B A B A B C D E F G D H I ~@8 A B A B A B A B A B A B A B A B A B A B C D E F G
  D H I ~@8 J K L@2 D M@2 N O ~@2 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 C D E F G D H I ~@16 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 P ~
>`.pickRestart({
  A: "[d4,f4,bb4] [d4,g4]", B: "[c4,eb4,ab4] [c4,f4,a4]", C: "[f4,ab4,c5]", D: "[eb4,g4,bb4]", E: "[d4,gb4,a4,c5]",
  F: "[d4,g4,bb4]", G: "[c4,f4,ab4]", H: "[c4,eb4,g4]", I: "[c4,f4,a4]", J: "[ab4,c5,d5]", K: "[b4,d5,g5]",
  L: "[[gb4,bb4]@11 ~ f4@12, ~@22 [a4,c5]@21 ~@5]/2", M: "[[gb4,a4,c5] [g4,bb4], d4@23 ~]/2", N: "[e4,g4,c5]",
  O: "[f4,a4,c5]", P: "[c4,eb4,ab4]@3 [c4,f4,a4]@2 ~",
})).s("gm_rock_organ").gain(0.09).pan(0.6)

// chords · rock organ · "ORGAN 3" · soft notes
const rock_organ_soft = note(`<
  A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@17 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@28 A ~ A ~ A ~ A ~ A ~ A ~
  A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@25 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@2
>`.pickRestart({
  A: "~ bb4",
})).s("gm_rock_organ").gain(0.06).pan(0.6)

// other · synth bass 2 · "SYN BASS 2"
const synth_bass_2 = note(`<
  ~@8 A B@2 ~ C D@3 E F G ~ H I J ~ K L M@2 N O P Q R S@2 ~ T U@3 ~@4 A B@2 ~ C D@3 E F G ~ H I J ~ K L M@2 N O P Q R
  S@2 ~ T V@2 ~ W X Y@2 Z AA AB@2 AC@2 AD AE ~@11 A B@2 ~ C D@3 E F G ~ H I J ~ K L M@2 N O P Q R S@2 ~ T U@3 R S@2 ~ T
  U@3 ~@4 AF AG AH AI AJ AK AL AM AN AO AP AQ AR@2 AS ~@2 AT ~ AU AV AW@2 ~@2
>`.pickRestart({
  A: "~@4 f3@2 d4 ~@2 eb4 f4@2 g4@5 ~@4 g4@3, ~@3 f4", B: "[d4@3 ~ c4@2 bb3@4 g3@2 d4@4 c4@3 bb3@2 ~ d4@26]/2",
  C: "~@4 f3@2 d4@2 eb4@2 f4@2 g4@6 f4@3 g4@3", D: "[d4@4 c4@2 bb3@4 g3@2 d4@4 c4@2 g3@4 bb3@29 ~@21]/3",
  E: "~@4 d4 c4", F: "bb3@4 ~ g3@5 f3@5 ~ eb3@2 ~@2 eb3@2 f3@2", G: "d3@4 ~ bb3@8 ~@11",
  H: "~@6 d4@3 ~ c4@2 bb3@5 ~ d4@3 ~ f3@2, ~ f3 ~@4", I: "~ d4@3 c4@3 ~ bb3@3 ~ g3@4 d4@3 ~ g3@3 ~",
  J: "bb3@3 ~ bb3@10 ~@10", K: "~@4 f3@2 c4@2 d4 ~ eb4@2 f4@2 ~@2 f4@3 ~ f4 ~ f4@2",
  L: "~ g4@2 ~ f4@2 f4@4 eb4@9 ~ d4@2 c4 ~", M: "[d4@2 eb4 ~ d4@4 c4 ~ bb3 ~ d4@3 ~ c4 ~ bb3@3 g3@6 ~@21]/2",
  N: "~@3 f3@2 ~ c4@2 d4@2 eb4@2 f4@3 ~ f4@3 f4@3 ~@2", O: "g4@3 ~ f4@3 ~ f4@3 ~ f4@4 d4@2 c4@4 bb3 ~",
  P: "c4@3 ~@2 c4@3 ~ c4@2 ~ c4@3 ~ bb3@3 ~ bb3@3 ~", Q: "f4@3 ~ f4@3 ~ f4 ~ f4 ~ g4@4 f4@4 g4@2 ~@2",
  R: "f4@17 ~ g4@6", S: "[f4@4 eb4@4 ~@4 ab4@4 f4@2 eb4@4 db4@25 ~]/2", T: "f4@4 g4@3 bb4@3 ~@2 c5@3 ~ d5@3 ~@5",
  U: "[g4@3 ~ f4@8 ab4@4 f4@2 eb4@4 db4@32 ~@18]/3", V: "[g4@3 ~ f4@8 ab4@4 f4@2 eb4@4 db4@25 ~]/2",
  W: "~@6 eb4@4 f4@4 ~ f4@3 ~@2 f4 ~ f4 ~", X: "~ g4@5 f4@3 ~ f4@7 ~ f4@3 ~ g4@2",
  Y: "[f4@4 eb4 ~ eb4@3 ~ eb4 ~ eb4@3 ~ d4@2 c4@2 ~@2 d4@16 eb4@2 d4@2 c4@5 ~]/2",
  Z: "~@9 eb4 ~ f4@3 ~@2 f4@3 ~ f4@4, ~@4 bb3 ~@7", AA: "g4@3 ~ f4@3 ~@2 f4@2 ~ f4@7 ~@5",
  AB: "[d4@4 c4@3 bb3@3 ~@2 bb3@3 ~ c4@2 d4@4 c4@14 ~@4 g3@3 ~ bb3@3 ~]/2",
  AC: "[d4@9 db4@9 c4@17 ~@5 f3@3 ~ f3@3 ~]/2", AD: "d4@3 ~ eb4@3 ~ f4@3 ~ d4@3 ~ f3@2 ~@2 eb3@2 ~@2",
  AE: "d3@4 bb3@9 ~@11", AF: "d4@3 ~@2 d4@15 ~@4", AG: "~@2 d4 ~ eb4 ~ f4 ~ eb4 ~ eb4 ~", AH: "d4@3 ~@2 bb4@14 ~@5",
  AI: "~@4 eb4@4 ~ d4@3 c4@3 ~ bb3@3 ~@2 g3@2 ~", AJ: "~ f3@11 ~ f3@2 g3 ~@2 bb3@2 f3@2 g3@2",
  AK: "d4@2 f3 ~ c4@2 f3 ~ bb3 ~ f3 ~ ab3 ~ f3 ~ bb3 f3 ~@2 c4 f3 ~@2", AL: "bb3 ~",
  AM: "~@4 bb4@3 ~ bb4@3 ~ d5@3 ~ bb4@2 ~@2 g4@2 ~@2", AN: "f4@5 ~@19",
  AO: "~@2 bb4@2 ab4@2 f4 ~ eb4 ~ d4@4 ~@6 c4 ~ db4 ~", AP: "d4@2 ~@2 bb3@9 ~@11",
  AQ: "~@4 bb4@4 ~ ab4@3 ~ g4@3 ~ f4@3 eb4@2 ~@2", AR: "[d4@4 bb4@2 ~@5 d4@20 ~@5 c4@3 ~ bb3@2 ~@2 g3@2 ~@2]/2",
  AS: "f3@5 ~@7", AT: "~@2 bb3@2 c4 ~ d4@3 ~@5 bb3@2 c4@2 d4 ~ eb4 ~ f4@2",
  AU: "f4@3 ~ bb4@3 ~ ab4@2 ~@2 g4@3 ~ f4@3 ~ eb4@3 ~", AV: "d4 ~@5",
  AW: "[~@3 d4@4 c4@3 ~@2 bb3@3 ~ g3@4 f3@13 ~@15]/2",
})).s("gm_synth_bass_2").gain(0.42)

// chords · brass section · "BRASS 1"
const brass_section = note(`<
  ~@3 A B C@2 ~@4 D ~@4 E ~@10 F@2 ~@3 G@3 ~ H ~@4 I J ~@3 K L ~@2 M ~ E ~@10 F@2 ~@3 G@3 ~ H ~@14 N O N P Q R@2 E N S J
  ~@3 K L ~@2 T ~ E ~@10 F@2 ~@3 G@3 ~ H ~@3 G@3 ~ H ~@4 I J ~@2 U K L ~ I J ~@2 U K L ~ I J ~@2 U K L ~ I J ~@2
>`.pickRestart({
  A: "~@4 [g4,bb4,g5] [d5,bb5], ~@10 bb4 ~", B: "[f5,d6] ~@3, d5 ~@11",
  C: "[~@16 [d5,d6]@3 ~ [c5,c6]@3 ~ [bb4,f5,bb5]@4 ~@20, ~@8 ab5@3 ~@13, ~@10 g5@3 ~@11]/2", D: "~@6 b2 ~@17",
  E: "~@4 d5@3 ~ c5@3 ~ bb4@2 ~@10",
  F: "[[g4,bb4]@6 d5@5 ~ [c5,eb5]@5 ~ f5@4 eb5@17 ~@9, ~@6 bb4 ~@11 d5@6 ~@24, ~@22 c5@15 ~@11]/2", // Gm Cm
  G: "[[f4,f5]@17 ~ [g4,g5]@4 [f4,f5]@4 ~@2 [eb4,eb5]@3 ~@5 [ab4,ab5]@4 [f4,f5] ~ [eb4,eb5]@3 ~ [db4,db5]@19 ~@7]/3", // F G F Eb Ab F Eb Db
  H: "[f4,f5]@3 ~ [g4,g5]@3 ~ [bb4,bb5]@3 ~ [c5,c6]@3 ~ [d5,d6]@6 ~@2", I: "~@16 [g4,bb4,g5]@4 [bb4,d5,bb5]@3 ~",
  J: "[f5,d6]@3 [bb4,d5]@2 ~@4 [bb4,d5,f5]@2 ~, d5 ~@11", K: "~@6 bb3@4 ~@2 [bb4,f5]@3 ~@9", L: "~@6 bb2 ~@17",
  M: "[g4,bb4,g5]@5 ~ [bb3,f4,bb4,f5]@2 ~@4 [g4,bb4,g5]@5 ~ [bb3,f4,bb4,f5]@3 ~@3, eb3 ~@3 eb3 ~@3", // Gm Bb5 Gm Bb5
  N: "~@3 [bb4,bb5]@2 ~ [bb4,bb5]@2 ~@4", O: "[ab4,ab5]@2 ~ [ab4,ab5]@2 ~@7",
  P: "~@3 [ab4,ab5]@2 ~@3 [g4,bb4,g5]@2 [d5,bb5]@2, ~@10 bb4 ~", // Ab Gm
  Q: "[f5,d6]@6 [bb4,bb5]@3 ~@3 [bb4,bb5]@4 ~@8, d5 ~@11", // Dm Bb
  R: "[[eb3,eb4,ab4,ab5]@3 ~@3 [bb3,f4,ab4,bb4,f5,ab5]@3 ~@3 [bb3,g4,bb4,g5]@4 [d5,d6]@2 [bb3,f4,bb4,f5]@2 [c5,c6]@3 ~ [bb4,f5,bb5]@4 ~@20, ~@12 [eb3,eb4]@3 ~ ab5@6 ~@26, ~@10 g5@3 ~@11]/2", // Ab5 Bb7 Eb D Bb5 C Bb5 Eb
  S: "[ab4,ab5]@4 ~@2 [ab4,ab5]@4 ~@6 [g4,bb4,g5]@4 [bb4,d5,bb5]@3 ~", // Ab Gm Bb
  T: "[g4,g5]@6 [bb3,f4,bb4,f5]@2 ~@4 [bb3,g4,bb4,g5]@5 ~ [bb3,f4,bb4,f5]@3 ~@3, [bb3,bb4]@5 ~@19, eb4 ~@3 eb4 ~@3", // G Bb5 Eb Bb5 Bb
  U: "~@12 [f4,f5] ~ [g4,g5] ~ [bb4,bb5] ~ [f4,f5] ~ [g4,g5] ~ [bb4,bb5] ~", // F G Bb F G Bb
})).s("gm_brass_section").gain(0.6).pan(0.3)

// chords · synth brass 1 · "SYNBRASS 1"
const synth_brass_1 = note(`<
  ~@15 A B ~@17 C D ~@2 C E ~@3 F G ~@6 A B ~@17 C D ~@2 C E ~@7 H I@2 ~@12 F G ~@6 A B ~@17 C D ~@2 C E ~@2 C D ~@2 C E
  ~@3 F G ~@6 F G ~@6 F G ~@6 F G
>`.pickRestart({
  A: "~@4 [d4,d5]@3 ~ [c4,c5]@3 ~ [bb3,bb4]@3 ~ [ab3,ab4]@3 ~ [g3,g4]@3 ~", B: "[f3,f4] ~@5",
  C: "~@6 [bb3,eb4,gb4]@5 ~ [ab3,db4,f4]@3 ~ [db4,ab4]@2 ~@6", // Ebm Db Db5
  D: "~@6 [bb3,eb4,gb4]@5 ~ [ab3,db4,f4]@3 ~ [db4,f4]@2 ~@6", // Ebm Db
  E: "~@6 [bb3,eb4,gb4]@5 ~ [db4,f4]@2 [bb3,ab4] ~ db4@2 [ab3,f4] ~ [bb3,ab4] ~ [db4,db5]@2, ~@12 ab3 ~@3 db5 ~@7", // Ebm Db Bb7 Db Bb7 Db
  F: "~@6 [d3,d4] ~ [eb3,eb4] ~ [e3,e4]@2 [f3,f4] ~ [d3,d4] ~ [bb2,bb3] ~ [g2,g3] ~ [c3,c4] ~ [g2,g3] ~", // D Eb E F D Bb G C …
  G: "[bb2,bb3] ~@11", H: "~@3 [f3,d4]@3 ~@2 [e3,db4]@3 ~ [eb3,c4]@5 ~@7",
  I: "[[f3,a3,d4]@3 [e3,ab3,db4]@3 [eb3,g3,c4]@10]/2", // Dm Dbm Cm
})).s("gm_synth_brass_1").gain(0.48).pan(0.6)

// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
  A B C D E F G H I B@2 A J K L M I N O P@2 B Q B R S T U V W X Y ~@8 E F G H I B@2 A J K L M I N O P@2 B Q B R S T U V
  W X Y ~@8 Z AA AB AC AD AE AF AG AH AI AJ A B C D E F G H E F G H I B@2 A J K L M I N O P@2 B Q B R S T U V W X Y ~@16
  J F G H I B@2 A E F G H I B@2 A J F G H I B@2 A E F G H AK
>`.pickRestart({
  A: "bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~@3 bb2 ~ bb2 ~ bb2 ~ bb2 ~",
  B: "bb2 ~@3 bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~@3 bb2 ~ bb2 ~ bb2 ~ bb2 ~",
  C: "bb2 ~@3 bb2 ~ bb2 ~ bb2 ~@3 bb2 ~ bb2 ~ bb2 ~@3 bb2 ~ bb2 ~",
  D: "bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~@3 bb2 ~@3 bb2 ~ bb2 ~",
  E: "bb2 ~@3 bb2 ~ bb2 ~ bb2 ~@7 bb2 ~ bb2 ~ bb2 ~ bb2 ~", F: "bb2 ~@3 bb2 ~ bb2 ~ bb2 ~ bb2 ~@5 bb2 ~@3 bb2 ~ bb2 ~",
  G: "~@6 bb2 ~ bb2 ~ bb2 ~ bb2 ~@3 bb2 ~ bb2 ~ bb2 ~ bb2 ~",
  H: "bb2 ~@3 bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~",
  I: "bb2 ~@3 bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~@5 bb2 ~ bb2 ~ bb2 ~",
  J: "bb2 ~@5 bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~",
  K: "bb2 ~@3 bb2 ~ bb2 ~ bb2 ~@3 bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~", L: "bb2 ~ bb2 ~ bb2 ~ bb2 ~@9 bb2 ~@3 bb2 ~@3",
  M: "bb2 ~@3 bb2 ~ bb2 ~ bb2 ~ bb2 ~@7 bb2 ~@3 bb2 ~", N: "~@4 bb2 ~@3 bb2 ~ bb2 ~ bb2 ~@3 bb2 ~ bb2 ~ bb2 ~ bb2 ~",
  O: "bb2 ~@3 bb2 ~ bb2 ~@3 bb2 ~@5 bb2 ~ bb2 ~ bb2 ~@3",
  P: "bb2 ~@3 bb2 ~ bb2 ~ bb2 ~ bb2 ~@5 bb2 ~ bb2 ~ bb2 ~ bb2 ~", Q: "bb2 ~@15 bb2 ~ bb2 ~ bb2 ~ bb2 ~",
  R: "[f4,ab4,c5]@3 ~@3 [f4,ab4,c5]@3 ~@3 [f4,ab4,c5]@3 ~@3 [f4,ab4,c5]@4 ~@2, bb2 ~@23", // Fm
  S: "[eb4,g4,bb4]@3 ~@3 [eb4,g4,bb4]@3 ~@3 [eb4,g4,bb4]@4 ~@2 [eb4,g4,bb4]@3 ~@3", // Eb
  T: "[d4,gb4,a4,c5]@3 ~@3 [d4,gb4,a4,c5]@4 ~@2 [d4,gb4,a4,c5]@4 ~@2 [d4,gb4,a4,c5]@4 ~@2", // D7
  U: "[d4,g4,bb4]@4 ~@2 [d4,g4,bb4]@4 ~@2 [d4,g4,bb4]@4 ~@2 [d4,g4,bb4]@3 ~@3", // Gm
  V: "[c4,f4,ab4]@3 ~@3 [c4,f4,ab4]@4 ~@2 [c4,f4,ab4]@3 ~@3 [c4,f4,ab4]@3 ~@3", // Fm
  W: "[eb4,g4,bb4]@3 ~@3 [eb4,g4,bb4]@4 ~@2 [eb4,g4,bb4]@3 ~@3 [eb4,g4,bb4]@2 ~@4", // Eb
  X: "[c4,eb4,g4]@3 ~@3 [c4,eb4,g4]@3 ~@3 [c4,eb4,g4]@4 ~@2 [c4,eb4,g4]@4 ~@2", // Cm
  Y: "[c4,f4,a4]@4 ~@2 [c4,f4,a4]@4 ~@2 [c4,f4,a4]@4 ~@2 [c4,f4,a4]@3 ~@3", Z: "~@9 c5@2 ~",
  AA: "~@6 [b4,d5]@3 ~@3 b4@3 ~@3 b4@4 ~@2", AB: "bb4 ~ bb4 ~ bb4 ~ [bb4,db5] ~",
  AC: "a4@3 ~@3 a4@3 ~@3 [a4,c5]@3 ~@3 [a4,c5]@4 ~@2", AD: "~@6 g4@3 ~@3 [g4,bb4]@3 ~@3 g4@4 ~@2",
  AE: "[gb4,a4]@3 ~@3 [gb4,a4]@3 ~@3 gb4@4 ~@2 [gb4,a4]@4 ~@2", // Gbm
  AF: "[g4,bb4]@3 ~@3 [g4,bb4]@4 ~@2 [g4,bb4]@3 ~@3 g4@4 ~@2", // Gm
  AG: "[e4,g4]@3 ~@3 [e4,g4]@3 ~@3 [e4,g4]@2 ~@4 [e4,g4]@4 ~@2", AH: "~@2 [f4,a4] ~@3 a4 ~", AI: "~@2 a4 ~@3 [f4,a4] ~",
  AJ: "[a4,c5,f5,a5] ~@11", AK: "bb2 ~@23",
})).s("gm_electric_guitar_muted").gain(0.12).pan(0.1)

// other · electric guitar muted · "MUTED GTR" · soft notes
const electric_guitar_muted_2 = note(`<
  ~ A B C D E ~@3 F ~@2 G ~ H I J ~ K L ~@2 M ~@17 D E ~@3 F ~@2 G ~ H I J ~ K L ~@2 M ~@17 N O P Q R S T U V W ~@2 A B
  C D E ~@2 D E ~@3 F ~@2 G ~ H I J ~ K L ~@2 M ~@25 G E ~@3 F ~@2 D E ~@3 F ~@2 G E ~@3 F ~@2 D E ~@3
>`.pickRestart({
  A: "~@14 bb2 ~@9", B: "~@10 bb2 ~@7 bb2 ~@5", C: "~@14 bb2 ~@3 bb2 ~@5", D: "~@10 bb2 ~@13",
  E: "~@13 bb2 ~@4 bb2 ~@5", F: "~@2 bb2 ~@21", G: "~@4 bb2 ~@19", H: "~@10 bb2 ~@3 bb2 ~@7 bb2 ~",
  I: "~@12 bb2 ~@3 bb2 ~@3 bb2 ~@3", J: "~@16 bb2 ~@7", K: "~@8 bb2 ~@15", L: "~@13 bb2 ~@10", M: "~@11 bb2 ~@12",
  N: "[ab4,c5,eb5]@2 ~@4 [ab4,c5,eb5]@2 ~@4 [ab4,c5,eb5]@3 ~@3 [ab4,eb5]@4 ~@2", // Ab Ab5
  O: "[g4,b4,d5]@3 ~@3 g4@3 ~@3 [g4,d5]@3 ~@3 [g4,d5]@4 ~@2", P: "[gb4,db5] ~ [gb4,db5] ~ [gb4,db5] ~ gb4 ~",
  Q: "[f4,c5]@3 ~@3 [f4,c5]@3 ~@3 f4@3 ~@3 f4@4 ~@2", R: "[eb4,g4,bb4]@3 ~@3 [eb4,bb4]@3 ~@3 eb4@3 ~@3 [eb4,bb4]@4 ~@2",
  S: "[c4,d4]@3 ~@3 d4@3 ~@3 [d4,a4]@4 ~@2 d4@4 ~@2", T: "d4@3 ~@3 d4@4 ~@2 d4@3 ~@3 [d4,bb4]@4 ~@2",
  U: "c5@3 ~@3 c5@3 ~@3 c5@2 ~@4 c5@4 ~@2", V: "~@2 c5 ~@3 [f4,c5] ~", W: "~@2 [f4,c5] ~@3 c5 ~",
})).s("gm_electric_guitar_muted").gain(0.07).pan(0.1)

// drums · kick
const kick = s("bd").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@2 C 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 C
>`.pickRestart({
  A: "x ~ x!2", B: "x ~@5 x ~@2 x ~ x", C: "x",
})).gain(0.6)

// drums · snare
const snare = s("sd").struct("<[~ x ~ x]!86 x [~ x ~ x]!79 [~@3 x!9] x>").gain(0.6)

// drums · hihat
// … 11 more lines

More by Billy Joel