Strudelify

Beatle (medley)

The Beatles

KeyC majorTempo78 bpm
0:00/0:00
// Beatle (medley) — The Beatles
// 78 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: track names are the Roland MT-32 patch names at their program numbers ("Elec Gtr 1" on 61, "Bass" on 69), so with no bank select the whole file is read through the MT-32 patch table: ch 2 "Piano" Slap Bass 2 -> slap bass 2; ch 2 "Piano" Elec Gtr 2 -> overdriven guitar; ch 2 "Piano" Elec Gtr 1 -> electric guitar clean; ch 5 "Elec Gtr 1" Elec Gtr 1 -> electric guitar clean; ch 5 "Elec Gtr 1" Elec Gtr 2 -> overdriven guitar; ch 12 "Lead Vocal" Syn Brass 2 -> synth brass 2; ch 12 "Lead Vocal" Doctor Solo -> lead 8 bass lead; ch 12 "Lead Vocal" Square Wave -> lead 1 square; ch 1 "Bass" Slap Bass 2 -> slap bass 2; ch 16 "Strings" Elec Gtr 2 -> overdriven guitar; ch 16 "Strings" Elec Gtr 1 -> electric guitar clean
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 16 "Strings" electric guitar clean (copy of ch 2 "Piano" electric guitar clean)
// note: Full arrangement: all 109 bars on a 48-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): Strings.
setcpm(78/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 · slap bass 2 · "Piano"
const bass = note("<A@3 B@8 ~@98>".pickRestart({
  A: "[~@21 [c3,d#5,g5]@5 c3@5 c3@5 c3@5 c3@5 c3@4 a#2@5 a#2@5 [g#2,d#5,g#5]@5 g#2@5 g#2@5 g#2@5 g#2@5 g#2@4 g2@5 g2@5 [f2,f5,a5]@5 f2@5 f2@5 f2@5 f2@5 f2@4 f2@5 f2@5 [f5,d6]@6]/3", // Cm G#5 F Dm
  B: "[~ [d#5,c6]@2 ~ [d5,a#5]@5 ~@24 a#2@7 a#2@2 ~ f2@10 a#2@5 ~@2 a#2@2 c5@5 a#4@5 d2@7 d2@2 ~ a2@9 ~ d2@5 ~@2 d2@2 f5@2 ~ d5@7 g2@7 g2@2 ~ d2@10 g2@7 g2@2 d2@10 [d#2,a#4]@5 ~@2 d#2@2 ~ c5@2 c5@5 ~@3 a#2@7 a#2@2 f2@5 g#2@5 a#2@7 a#2@2 ~ f2@10 a#2@5 ~@2 a#2@2 c5@5 a#4@5 d2@7 d2@2 ~ a2@9 ~ d2@5 ~@2 d2@2 f5@2 ~ d5@2 c5@5 g2@7 g2@2 ~ d2@10 g2@7 g2@2 d2@8 a#4@2 [d#2,a#4]@5 ~@2 d#2@2 ~ c5@5 c5@2 ~@3 a#2@2 a#2@2 ~ a#2@2 a#2@2 a#2@2 ~ a#2@2 a#2@2 ~ a#2@2 ~@39, ~@33 a#4@24 ~ a#4@4 f2@10 a4@19 ~@6 d5@4 a2@9 ~ a#4@29 ~@15 a#4@5 g#2@7 a#4@7 ~@15 a#4@24 ~ a#4@4 f2@10 a4@19 ~@6 d5@4 a2@9 ~ a#4@19 ~@25 a#4@5 g#2@7 a#4@7 ~@54]/8", // Cm Gm D#5
})).s("gm_slap_bass_2").gain(0.24)

// chords · overdriven guitar · "Piano"
const overdriven_guitar = note(`<
  ~@10 A B C@5 ~@6 A D@7 E@2 ~@7 F@2 G H I J K L ~@4 M N O P O Q O R O N O S T U V W M X O P O Y O Z AA AB V AC AD AE AF
  AE AG AH AI AJ M X O P O Y O Z AA AB V AC AD AE AF AE AG AH AI AK ~
>`.pickRestart({
  A: "~@14 [c3,g3,c4]@3 ~@2 g1@5 [c3,g3,c4]@3 ~@2 c2@5 [c3,g3,c4]@3 ~ g1@5 [c3,g3,c4]@3 ~@2, ~@14 c2@5 ~@5 g1@5 ~@5 c2@4 ~@5 g1@5", // C5
  B: "c2@5 [c3,g3,c4]@3 ~@2 g1@5 [c3,g3,c4]@3 ~@2 c2@5 [c3,g3,c4]@3 ~ a#1@5 [c3,g3,c4]@3 ~@2 g#1@5 [g#1,g#2,d#3,g#3]@4, ~@5 c2@5 ~@5 g1@5 ~@5 c2@4 ~@5 a#1@5 ~@9", // C5 G#5
  C: "[~ d#2@5 [g#2,d#3,g#3]@3 ~@2 g#1@5 [g#2,d#3,g#3]@3 ~ d#2@5 [g#2,d#3,g#3]@3 ~@2 g#1@5 [g#2,d#3,g#3]@3 ~@2 d#2@5 [g#2,d#3,g#3]@3 ~@2 g#1@5 [g#2,d#3,g#3]@3 ~ g1@5 [g#2,d#3,g#3]@3 ~@2 f1@5 [f2,c3,f3]@3 ~@2 a1@5 [f2,c3,f3]@3 ~@2 c2@5 [f2,c3,f3]@3 ~ a1@5 [f2,c3,f3]@3 ~@2 f1@5 [f2,c3,f3]@3 ~@2 a1@5 [f2,c3,f3]@3 ~@2 c2@5 [f2,c3,f3]@3 ~ a1@5 [f2,c3,f3]@3 ~@41 a#2@10 f2@10 a#2@7 a#2@2 f2@5 g#2@5 ~@15, ~@6 d#2@5 ~@5 g#1@4 ~@5 d#2@5 ~@5 g#1@5 ~@5 d#2@5 ~@5 g#1@4 ~@5 g1@5 ~@5 f1@5 ~@5 a1@5 ~@5 c2@4 ~@5 c2@5 ~@5 f1@5 ~@5 a1@5 ~@5 c2@4 ~@5 c2@5 ~@93]/5", // G#5 F5
  D: "[c2@5 [c3,g3,c4]@3 ~@2 g1@5 [c3,g3,c4]@3 ~@2 c2@5 [c3,g3,c4]@3 ~ a#1@5 [c3,g3,c4]@3 ~@2 g#1@5 [g#2,d#3,g#3]@3 ~@2 d#2@5 [g#2,d#3,g#3]@3 ~@2 g#1@5 [g#2,d#3,g#3]@3 ~ d#2@5 [g#2,d#3,g#3]@3 ~@2 g#1@5 [g#2,d#3,g#3]@3 ~@2 d#2@5 [g#2,d#3,g#3]@3 ~@2 g#1@5 [g#2,d#3,g#3]@3 ~ g1@5 [g#2,d#3,g#3]@3 ~@2 f1@5 [f2,c3,f3]@3 ~@2 a1@5 [f2,c3,f3]@3 ~@2 c2@5 [f2,c3,f3]@3 ~ a1@5 [f2,c3,f3]@3 ~@2 f1@5 [f2,c3,f3]@3 ~@2 a1@5 [f2,c3,f3]@3 ~@2 c2@5 [f2,c3,f3]@3 ~ a1@5 [f2,c3,f3]@3 ~@41 f2 ~@4 g1@5 d2@5 d2@5 g2@5 ~@4 d2@5 g2@5 ~@37 a3!2 a3@24, ~@5 c2@5 ~@5 g1@5 ~@5 c2@4 ~@5 a#1@278 ~@24, ~@44 g#1@5 ~@5 d#2@5 ~@5 g#1@4 ~@5 d#2@5 ~@5 g#1@5 ~@5 d#2@5 ~@5 g#1@4 ~@5 g1@5 ~@5 f1@5 ~@5 a1@5 ~@5 c2@4 ~@5 c2@5 ~@5 f1@5 ~@5 a1@5 ~@5 c2@4 ~@5 c2@5 ~@39 g2@20 ~@5 g2@9 ~@68]/7", // C5 G#5 F5
  E: "[~@2 a3@2 a3@2 a3@25 a3@2 a3@2 a3@22 ~@39]/2",
  F: "[~@42 a3 a3@2 a3@26 a3@2 a3@2 [c#5,e5,g5,a5]@3 [c#5,e5,g5,a5]@3 ~ [c#5,e5,g5,a5]@3 ~ [c#5,e5,g5,a5]@3 ~ [c#5,e5,g5,a5]@3 [c#5,e5,g5,a5]@3]/2", // A7
  G: "~ [c#5,e5,g5,a5]@3 ~ [c#5,e5,g5,a5]@3 [c#5,e5,g5,a5]@3 ~ [c#5,e5,g5,a5]@3 ~ [c#5,e5,g5,a5]@3 [c#5,e5,g5,a5]@3 ~ [c#5,e5,g5,a5]@3 ~ [c#5,e5,g5,a5]@3 [c#5,e5,g5,a5]@3 ~ [c#5,e5,g5,a5]@3 ~ [a4,d5,f#5]@3 [a4,d5,f#5]@3 ~ [a4,d5,f#5]@3", // A7 D
  H: "~ [a4,d5,f#5]@3 ~ [a4,d5,f#5]@3 [a4,d5,f#5]@3 ~ [a4,d5,f#5]@3 ~ [a4,d5,f#5]@3 [d#5,f#5,b5]@3 ~ [d#5,f#5,b5]@3 ~ [d#5,f#5,b5]@3 [d#5,f#5,b5]@3 ~ [d#5,f#5,b5]@3 ~ [d#5,f#5,b5]@3 [d#5,f#5,b5]@3 ~ [d#5,f#5,b5]@3", // D B
  I: "~ [b4,e5,g#5]@3 [b4,e5,g#5]@3 ~ [b4,e5,g#5]@3 ~ [b4,e5,g#5]@3 [b4,e5,g#5]@3 ~ [b4,e5,g#5]@3 ~ [b4,e5,g#5]@3 ~ [b4,e5,g#5]@3 [c#5,e5,g5,a5]@3 ~ [c#5,e5,g5,a5]@3 ~ [c#5,e5,g5,a5]@3 [c#5,e5,g5,a5]@3 ~ [c#5,e5,g5,a5]@3", // E A7
  J: "~ [c#5,e5,g5,a5]@3 [c#5,e5,g5,a5]@3 ~ [c#5,e5,g5,a5]@3 ~ [a4,d5,f#5]@3 [a4,d5,f#5]@3 ~ [a4,d5,f#5]@3 ~ [a4,d5,f#5]@3 [a4,d5,f#5]@3 ~ [a4,d5,f#5]@3 ~ [a4,d5,f#5]@3 [a4,d5,f#5]@3 ~ [d#5,f#5,b5]@3 ~ [d#5,f#5,b5]@3", // A7 D B
  K: "~ [d#5,f#5,b5]@3 [d#5,f#5,b5]@3 ~ [d#5,f#5,b5]@3 ~ [d#5,f#5,b5]@3 [d#5,f#5,b5]@3 ~ [d#5,f#5,b5]@3 ~ [d5,f5,a#5]@3 [d5,f5,a#5]@3 ~ [d5,f5,a#5]@3 ~ [d5,f5,a#5]@3 [d5,f5,a#5]@3 ~ [d5,f5,a#5]@3 ~ [d5,f5,a#5]@3", // B A#
  L: "[d5,f5,a#5] ~@15", M: "~@7 c3, c2, [e3,g3]!3 [e3,g3,b3], ~ c3@2 c3@2 c3@2 ~",
  N: "~@7 b3, f2@13 a#3@3, [f3,a3,c4]!2 c4@2, ~ c3@2 c3@2 c3@3, ~@2 [f3,a3]!2", // F
  O: "~@7 c3, [c2,d4], [e3,g3]!3 [e3,g3,b3], ~ c3@2 c3@2 c3@2 ~", // Csus2 Em
  P: "~@7 b3, f2@13 a#3@2 ~, [f3,a3,c4]@4 [f3,a3,c4]@4 c4@7 ~, ~@2 c3@4 c3@4 c3@5 ~, ~@8 [f3,a3]@4 [f3,a3]@3 ~", // F
  Q: "[f3,a3,c4] ~@6 b3, f2@13 a#3@3, ~ c3@2 c3@2 c3@3, ~ [f3,a3,c4] c4@2, ~@2 [f3,a3]!2", // F
  R: "[f3,a3,c4] ~@6 b3, f2@13 a#3@2 ~, ~@2 c3@4 c3@4 c3@5 ~, ~@4 [f3,a3,c4]@4 c4@7 ~, ~@8 [f3,a3]@4 [f3,a3]@3 ~", // F
  S: "[f3,a3,c4] ~@6 c3, f2, ~ c3@2 c3@2 c3@2 ~, ~ [f3,a3,c4]!3", // F
  T: "f3 ~@2 f3 ~@3 e3, f2 e2, [a3,c4]!4, ~ f3@2 ~@2 e3@2 ~", // Am
  U: "~@3 d3 ~@3 c3, d2 c2, [f3,a3,c4]!2 [f3,a3] [f3,a3,c4], ~ d3@2 ~@2 c3@2 ~", // F
  V: "~@5 g3 ~ g3, g2, [b3,d4]!3 [c4,e4], ~ g3@2 g3@2 ~@3", W: "[g2,d3,g3,d4,f4]@7 ~",
  X: "f3 ~@6 b3, f2@13 a#3@2 ~, [a3,c4]@4 [f3,a3,c4]@4 c4@7 ~, ~@2 c3@4 c3@4 c3@5 ~, ~@8 [f3,a3]@4 [f3,a3]@3 ~", // Am F
  Y: "f3@2 ~@11 a#3 b3@2, f2@7 ~, [a3,c4]@2 [f3,a3,c4]@2 c4@3 ~, ~ c3@2 c3@2 c3@2 ~, ~@4 [f3,a3]@2 [f3,a3] ~", // Am F
  Z: "~@7 c3, f2, [f3,a3,c4]!4, ~ c3@2 c3@2 c3@2 ~", AA: "f3 ~@17 f3@6 ~@18 e3@6, f2 e2, [a3,c4]!4, ~ f3@2 ~@2 e3@2 ~",
  AB: "~@3 d3 ~@3 c3, d2 c2, [f3,a3,c4]!4, ~ d3@2 ~@2 c3@2 ~", AC: "[g2,d3,g3,d4,f4]@15 ~",
  AD: "f3 ~@2 f3 g3 ~@2 g3, f2 g2, [a3,c4]!2 b3 [b3,d4], ~@2 f3@4 ~@2 d4 ~ g3@4 ~@2", // Am Bm
  AE: "~@3 [c3,c4] ~@3 e3, [c2,g2,e3] [e2,b2,e4], g3 [g3,b3] g#3 [g#3,d4], ~ c3@2 ~@2 e3@2 ~", // C E5 G G#dim
  AF: "f3 ~@2 f3 g3 ~@2 g3, f2 g2, a3 [a3,c4] b3 [b3,d4], c4@3 ~@3 f3@12 ~@6 d4@2 ~@4 g3@12 ~@6", // Am Bm
  AG: "f3 ~@2 f3 g3 ~@2 g3, f2 g2, [a3,c4]!2 b3 [b3,d4], ~@3 f3@6 ~@3 d4 ~@2 g3@6 ~@3", // Am Bm
  AH: "g3 ~@5 [c3,c4]@2 ~@6 e3@2, [c2,g2,e3] [e2,b2,e4], ~ c3@2 ~@2 e3@2 ~, ~ [g3,b3] g#3 [g#3,d4]", // C E5 G G#dim
  AI: "~@6 f3@2 d4 ~@5 g3@2, [f2,c3] [g2,d3], [a3,c4]!2 b3 [b3,d4], ~ f3@2 ~@2 g3@2 ~", // F5 G5 Am Bm
  AJ: "~@6 c3@6 g1@6 c3@6 a1@6 c3@6 b1@6 c3@5 ~, [e3,g3]@47 ~, [c2,g2] ~@3", AK: "[c2,g2,e3,g3]",
})).s("gm_overdriven_guitar").gain(0.26)

// other · electric guitar clean · "Piano"
const electric_guitar_clean = note("<~@15 A@8 ~@5 B ~@80>".pickRestart({
  A: "[~@3 f3@2 ~ g#3@2 a#3@2 d4@2 ~ f3@2 g#3@2 ~ a#3@2 c4@2 ~ d#3@2 f3@2 ~ g#3@2 c4@2 d3@2 ~ f3@2 g#3@2 ~ a#3@2 ~@342, ~ a#1@127]/8",
  B: "~@3 f3@2 ~ g#3@2 a#3@2 d4@2 ~ f3@2 g#3@2 ~ a#3@2 c4@2 ~ d#3@2 f3@2 ~ g#3@2 c4@2 d3@2 ~ f3@2 g#3@2 ~@9",
})).s("gm_electric_guitar_clean").gain(0.33)

// chords · synth strings 1 · "Piano"
const synth_strings_1 = note("<~@16 A@8 ~@85>".pickRestart({
  A: "[~@33 a#2@7 a#2@2 ~ f2@10 a#2@5 ~@2 a#2@2 c5@5 a#4@5 d2@7 d2@2 ~ a2@9 ~ d2@5 ~@2 d2@2 f5@2 ~ d5@7 g2@7 g2@2 ~ d2@10 g2@7 g2@2 d2@10 [d#2,a#4]@5 ~@2 d#2@2 ~ c5@2 c5@5 ~@3 a#2@7 a#2@2 f2@5 g#2@5 a#2@7 a#2@2 ~ f2@10 a#2@5 ~@2 a#2@2 c5@5 a#4@5 d2@7 d2@2 ~ a2@9 ~ d2@5 ~@2 d2@2 f5@2 ~ d5@2 c5@5 g2@7 g2@2 ~ d2@10 g2@7 g2@2 d2@8 a#4@2 [d#2,a#4]@5 ~@2 d#2@2 ~ c5@5 c5@2 ~@3 a#2@2 a#2@2 ~ a#2@2 a#2@2 a#2@2 ~ a#2@2 a#2@2 ~ a#2@2 ~@39, ~@33 a#4@24 ~ a#4@4 f2@10 a4@19 ~@6 d5@4 a2@9 ~ a#4@29 ~@15 a#4@5 g#2@7 a#4@7 ~@15 a#4@24 ~ a#4@4 f2@10 a4@19 ~@6 d5@4 a2@9 ~ a#4@19 ~@25 a#4@5 g#2@7 a#4@7 ~@54]/8", // D#5
})).s("gm_synth_strings_1").gain(0.24)

// chords · piano · "DX Rhodes" · Em F Csus2 Em F
const piano = note(`<
  ~@52
  [~@43 c3@5, c2, [e3,g3]@13 [e3,g3]@12 [e3,g3]@12 [e3,g3,b3]@11, ~@7 c3@12 c3@12 c3@12 ~@5]
  [~@43 b3@5, ~ f2@39 a#3@8, ~ [f3,a3,c4]@12 [f3,a3,c4]@12 c4@23, ~@7 c3@12 c3@12 c3@17, ~@25 [f3,a3]@12 [f3,a3]@11]
  [~@43 c3@5, ~ [c2,d4]@47, ~ [e3,g3]@12 [e3,g3]@12 [e3,g3]@12 [e3,g3,b3]@11, ~@7 c3@12 c3@12 c3@12 ~@5]
  [~@43 b3@5, ~ f2@39 a#3@6 ~@2, ~ [f3,a3,c4]@12 [f3,a3,c4]@12 c4@21 ~@2, ~@7 c3@12 c3@12 c3@15 ~@2, ~@25 [f3,a3]@12 [f3,a3]@9 ~@2]
  ~@53
>`).s("gm_piano").gain(0.25)

// chords · electric guitar clean · "Elec Gtr 1"
const electric_guitar_clean_2 = note("<A@4 ~@105>".pickRestart({
  A: "[~@21 [c3,g3,c4,d#4,g4]@5 [g3,c4,d#4,g4]@5 [g3,c4,d#4,g4]@2 [g3,c4,d#4,g4]@2 ~ [g3,c4,d#4,g4]@5 [g3,c4,d#4,g4]@5 [g3,c4,d#4,g4]@4 [g3,c4,d#4,g4]@2 ~ [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@5 [d#3,g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@2 ~ [g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@4 [g#3,c4,d#4,g#4]@2 ~ [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@5 [c3,f3,a3,c4,f4]@5 [f3,a3,c4,f4]@5 ~@2 [f3,a3,c4,f4]@2 ~ [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@2 ~ [f3,a3,c4,f4]@5 [f3,a3,c4,f4]@5 ~@2 [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@2 ~ [f3,a3,c4,f4]@2 g#3@3 ~@2 a#3@2 ~@8 a#3@2 c4@2 ~ d#3@2 ~@5 c4@2 d3@2 ~@6 a#3@2 ~@15, ~@41 c3@9 a#2@10 g#2@29 g2@10 f2@39 f4@39 ~@15, ~@138 [f3,d4]@7 d4@31 ~@16, ~@141 g#3@7 f3@12 f3@10 f3@7 ~@15, ~@150 g#3@13 g#3@9 g#3@5 ~@15]/4", // Cm G# F Dm
})).s("gm_electric_guitar_clean").gain(0.3).pan(0.3)

// chords · overdriven guitar · "Elec Gtr 1"
const overdriven_guitar_2 = note("<~@3 A B C@3 D@3 E@6 B C@3 D@3 F@2 G@7 H@6 I@2 J@3 K L M@8 ~@55>".pickRestart({
  A: "~@38 [f3,a#3,d4,f4]@5 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4]@2 ~", // A#
  B: "[f3,a#3,d4,f4]@5 [f3,a#3,d4,f4]@5 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4]@2 ~ [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4]@5 [a3,d4,f4,a4]@5 [a3,d4,f4,a4]@5 [a3,d4,f4,a4]@2 [a3,d4,f4,a4]@2 ~ [a3,d4,f4,a4]@5 [a3,d4,f4,a4]@4", // A# Dm
  C: "[~ [a3,d4,f4,a4]@2 [a3,d4,f4,a4]@2 [a3,d4,f4,a4]@2 ~ [a3,d4,f4,a4]@2 [a3,d4,f4,a4]@5 [g3,a#3,d4,g4]@5 [g3,a#3,d4,g4]@5 [g3,a#3,d4,g4]@2 [g3,a#3,d4,g4]@2 ~ [g3,a#3,d4,g4]@5 [g3,a#3,d4,g4]@5 [g3,a#3,d4,g4]@2 [g3,a#3,d4,g4]@2 [g3,a#3,d4,g4]@2 ~ [g3,a#3,d4,g4]@2 [g3,a#3,d4,g4]@5 [d#3,a#3,d#4,g4]@9 ~ [d#3,g#3,c4,g#4]@2 [d#3,g#3,c4,g#4]@4 ~ [d#3,g#3,c4,g#4]@2 ~ [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4]@2 ~ [f3,a#3,d4,f4]@4 [f3,a#3,d4,f4]@5 [f3,a#3,d4,f4]@2 ~ [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4]@5 [f3,a#3,d4,f4]@5 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4]@2 ~ [f3,a#3,d4,f4]@5 [f3,a#3,d4,f4]@5 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4]@2 ~ [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4]@5 [a3,d4,f4,a4]@5 [a3,d4,f4,a4]@5 [a3,d4,f4,a4]@2]/3", // Dm Gm D# G# A# Dm
  D: "[[a3,d4,f4,a4]@2 ~ [a3,d4,f4,a4]@5 [a3,d4,f4,a4]@5 [a3,d4,f4,a4]@2 [a3,d4,f4,a4]@2 [a3,d4,f4,a4]@2 ~ [a3,d4,f4,a4]@2 [a3,d4,f4,a4]@5 [g3,a#3,d4,g4]@5 [g3,a#3,d4,g4]@5 [g3,a#3,d4,g4]@2 [g3,a#3,d4,g4]@2 ~ [g3,a#3,d4,g4]@5 [g3,a#3,d4,g4]@5 [g3,a#3,d4,g4]@2 [g3,a#3,d4,g4]@2 [g3,a#3,d4,g4]@2 ~ [g3,a#3,d4,g4]@2 [g3,a#3,d4,g4]@5 [d#3,a#3,d#4,g4]@5 [d#3,a#3,d#4,g4]@5 [d#3,g#3,c4,g#4]@2 [d#3,g#3,c4,g#4]@4 ~ [d#3,g#3,c4,g#4]@2 ~ [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4]@2 ~ [f3,a#3,d4,f4]@4 [f3,a#3,d4,f4]@3 ~@2 [f3,a#3,d4,f4]@3 ~@2 [g3,c4,d#4,g4]@5 [g3,c4,d#4,g4]@5 [g3,c4,d#4,g4]@2 [g3,c4,d#4,g4]@2 ~ [g3,c4,d#4,g4]@5 [g3,c4,d#4,g4]@5 [g3,c4,d#4,g4]@4 [g3,c4,d#4,g4]@2 ~ [g3,c4,d#4,g4]@2 [g3,c4,d#4,g4]@5]/3", // Dm Gm D# G# A# Cm
  E: "[[g3,c4,d#4,g4]@5 [g3,c4,d#4,g4]@5 [g3,c4,d#4,g4]@2 [g3,c4,d#4,g4]@2 ~ [g3,c4,d#4,g4]@5 [g3,c4,d#4,g4]@5 [g3,c4,d#4,g4]@4 [g3,c4,d#4,g4]@2 ~ [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@2 ~ [g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@4 [g#3,c4,d#4,g#4]@2 ~ [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@2 ~ [g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@2 ~ [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@2 ~ [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@2 ~ [g#3,c4,d#4,g#4]@2 [f3,a3,c4,f4]@5 [f3,a3,c4,f4]@5 [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@2 ~ [f3,a3,c4,f4]@5 [f3,a3,c4,f4]@5 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@2 ~ [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@5 [f3,a3,c4,f4]@5 [f3,a3,c4,f4]@5 [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@2 ~ [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@2 ~ [f3,a3,c4,f4]@5 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@2 ~ [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@5 [f3,g#3,d4,f4]@39 [f3,a#3,d4,f4]@5 [f3,a#3,d4,f4]@7 [f3,a#3,c4,f4]@2 ~ [f3,a#3,c4,f4]@2 [f3,a#3,c4,f4]@2 ~ [f3,a#3,d4,f4]@5 [f3,a#3,c4,f4]@7 [f3,a#3,c4,f4]@2 [f3,a#3,c4,f4]@2 ~ [f3,a#3,c4,f4]@2 [f3,a#3,d4,f4]@5 [f3,a#3,d4,f4]@5 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4]@2 ~, ~@20 c3@9 a#2@10 g#2@19 ~@40 g#2@9 g2@10 f2@39 ~@132]/6", // Cm G# F Ddim A# Fsus4 A# Fsus4 …
  F: "[[g3,c4,d#4,g4]@5 [g3,c4,d#4,g4]@5 [g3,c4,d#4,g4]@2 [g3,c4,d#4,g4]@2 ~ [g3,c4,d#4,g4]@5 [g3,c4,d#4,g4]@5 [g3,c4,d#4,g4]@4 [g3,c4,d#4,g4]@2 ~ [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@2 ~ [g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@4 [g#3,c4,d#4,g#4]@2 ~ [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@5 [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@2 ~ [g#3,c4,d#4,g#4]@3, ~@20 c3@9 a#2@10 g#2@19 ~@38]/2", // Cm G#
  G: "[~@2 [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@2 ~ [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@2 ~ [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@2 ~ [g#3,c4,d#4,g#4]@2 [f3,a3,c4,f4]@5 [f3,a3,c4,f4]@5 [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@2 ~ [f3,a3,c4,f4]@5 [f3,a3,c4,f4]@5 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@2 ~ [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@5 [f3,a3,c4,f4]@5 [f3,a3,c4,f4]@5 [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@2 ~ [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@2 ~ [f3,a3,c4,f4]@5 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@2 ~ [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@5 d4@19 ~ d4@19 [g3,a#3,d4,g4]@5 [g3,a#3,d4,g4]@5 [g3,a#3,d4,g4]@2 [g3,a#3,d4,g4]@2 [g3,a#3,d4,g4]@5 ~ [g3,a#3,d4,g4]@5 [g3,a#3,d4,g4]@4 [g3,a#3,d4,g4]@2 ~ [g3,a#3,d4,g4]@2 [g3,a#3,d4,g4]@5 [d5,a#5]@10 [a#4,f5]@9 [a#4,g5]@18 [a3,e4,a4,c5,e5]!2 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 c5 [a3,e4,a4,c5,e5]@3 ~ e5@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ [c5,e5]@3 [a3,e4,a4,c5,e5]@2 [a3,e4,a4,c5,e5]@2 [a3,e4,a4,c5,e5]@3 ~ [c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ [a4,c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 [a3,e4,a4] ~@2 [c5,e5] [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 c5 [e4,a4,c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,c5,e5]@3 b4 [e3,a3,d4,g4,b4,e5]@3 ~ e5@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ [c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ [c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ [a4,c5,e5]@3 [a3,e4,a4,c5,e5]@2, ~@2 g#2@9 g2@10 f2@39 ~@39 [f3,g#3,f4]@39 ~@10 [d5,g5]@7 ~@12 [d5,g5]@7 ~@3 [f3,a#3,d4,f4]@39 ~@8 a5@7 ~@4 a5@11 ~@7 a5@7 ~@4 a5@9 [a3,e4,a4]@2 ~@7 a3@4 ~@4 [e4,a4]@8 b4@7 ~@18 [b4,d5,g5]@11 ~@2, ~@227 [a3,e4,a4,c5]@4 ~@7 [a3,e4,a4]@4 ~@7 [a3,e4,a4]@4 ~@7 [a3,e4]@4 ~@8 [e4,a4,c5,e5]@2 ~@9 a5@7 ~@4 [d5,g5]@11 ~@7 a5@7 ~@17, ~@297 [e3,a3,d4,g4]@4 ~@7 [a3,e4,a4]@4 ~@7 [a3,e4,a4]@4 ~@7 [a3,e4]@4 ~@2]/7", // G# F Gm A#5 D# Am C Am …
  H: "[~@2 [a3,e4,a4,c5,e5]@3 c5 [e4,a4,c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 b4 [e3,a3,d4,g4,b4,e5]@3 ~ e5@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ e5@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ [c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ [a4,c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 [c5,e5] [a4,c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 b4 [a3,d4,g4,b4,e5]@3 ~ e5@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ e5@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ e5@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ [c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 [c5,e5] [a4,c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 b4 [a3,d4,g4,b4,e5]@3 [e3,a3,d4,g4,e5]@4 [a3,e4,a4,c5,e5]@3 e4 [e4,a4,c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ e5@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ [c5,e5]@3 [c5,e5] [c5,e5]@3 [c4,e4,g4,c5,e5]@3 ~ [c5,e5]@3 [c4,e4,g4,c5,e5]@4 [c4,e4,g4,c5,e5]@3 ~ [g4,c5,e5]@3 [c4,e4,g4,c5,e5]@4 [c4,e4,g4,c5,e5]@3 ~ [e4,a#4,c5,e5]@3 [c4,e4,a#4,c5,e5]@4 [c4,e4,a#4,c5,e5]@3 ~ [e4,a#4,c5,e5]@3 [c4,e4,a#4,c5,e5]@4 [c4,e4,a#4,c5,e5]@4 [c4,e4,a#4,c5,e5]@3 ~ e5@3 [f3,c4,f4,a4,c5,f5]@4 [f3,c4,f4,a4,c5,f5]@3 ~ [a4,c5,f5]@3 [f3,c4,f4,a4,c5,f5]@4 [f3,c4,f4,a4,c5,f5]@3 ~ [f4,a4,c5,f5]@3 [f3,c4,f4,a4,c5,f5]@4 [f3,c4,f4,a4,c5,f5]@3 ~ [a#4,d5,f5]@3 [a#3,f4,a#4,d5,f5]@4 [a#3,f4,a#4,d5,f5]@3 ~ [f4,a#4,d5,f5]@3 [a#3,f4,a#4,d5,f5]@4 [a#3,f4,a#4,d5,f5]@4 [a#3,f4,a#4,d5,f5]@2, ~@5 a3@4 ~@11 b4@7 ~@19 [b4,d5,g5]@11 ~@19 [d5,g5]@11 ~@7 a5@7 ~@23 a5@7 ~@7 b4@7 ~@59 c4@4 ~@7 c4@4 ~@11 [c4,e4,a#4,c5]@4 ~@7 [f3,c4,f4]@4 ~@7 [f3,c4]@4 ~@7 [a#3,f4]@4 ~@7 a#3@4 ~@10, ~@6 a5@7 ~@4 [d5,g5]@11 ~@7 a5@7 ~@23 a5@7 ~@7 b4@7 ~@19 [b4,d5,g5]@11 ~@19 [d5,g5]@11 ~@59 [d5,g5]@29 ~@54, ~@20 [e3,a3,d4,g4]@4 ~@7 [a3,e4,a4,c5]@4 ~@7 [a3,e4,a4]@4 ~@7 [a3,e4]@4 ~@7 [a3,e4]@4 ~@7 e3@4 [e3,a3,d4,g4]@4 ~@7 [a3,e4,a4,c5]@4 ~@7 [a3,e4,a4,c5]@4 ~@7 [a3,e4,a4]@4 ~@7 [a3,e4]@4 ~@7 e3@4 ~@7 a3@4 ~@11 [a3,e4,a4,c5]@4 ~@7 [a3,e4,a4]@4 [c4,e4,g4]@4 ~@3 [c4,e4,g4]@4 ~@7 [c4,e4]@4 ~@7 f4@29 ~@55]/6", // Am Em7 Am C Am C Am Em7 …
  I: "[~@2 f5@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 e5 e5@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 b4 [g4,b4,e5]@3 [e3,a3,d4,g4,e5]@4 [a3,e4,a4,c5,e5]@3 [c5,e5] [a4,c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ [a4,c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ [e4,a4,c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 e5 e5@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 b4 [g4,b4,e5]@3 [e3,a3,d4,g4,e5]@4 [a3,e4,a4,c5,e5] [a3,e4,a4] ~@2 [c5,e5]@2, ~ [a#3,f4,a#4,d5]@4 ~@7 a5@7 ~@4 d5@11 ~@48 d5@10 [e4,a4,c5,e5]@2 ~@2, ~@12 [a3,e4,a4,c5]@4 ~@7 [e3,a3,d4]@4 b4@7 [a3,e4]@4 ~@7 [a3,e4]@4 ~@7 a3@4 ~@11 [a3,e4,a4,c5]@4 ~@7 [e3,a3,d4]@4 b4@7 [a3,e4,a4]@3, ~@24 g5@11 a5@29 ~@7 a5@7 ~@5 g5@11 ~@2]/2", // Am Em Em7 Am C Am Em Em7 …
  J: "[~ [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ [a4,c5,e5]@3 [a3,e4,a4,c5,e5,a5]@4 [a3,e4,a4,c5,e5]@3 ~ [e4,a4,c5,e5]@3 [a3,e4,a4,c5,e5]@2 [a3,e4,a4,c5,e5]@2 [a3,e4,a4,c#5,e5]@3 ~ [a4,c#5,e5]@3 [a3,e4,a4,c#5,e5]@4 [a3,e4,a4,c#5,e5]@3 ~ [e4,a4,c#5,e5]@3 [a3,e4,a4,c#5,e5]@4 [a3,e4,a4,c#5,e5]@4 [a3,e4,a4,c#5,e5]@3 ~ e5@3 [a3,e4,a4,c#5,e5]@4 [a3,e4,a4,c#5,e5]@3 ~ e5@3 [a3,e4,a4,c#5,e5]@4 [a3,e4,a4,c#5,e5]@3 ~ [c#5,e5]@3 [a3,e4,a4,c#5,e5]@4 [d4,a4,c5,f#5]@3 ~ [c5,f#5]@3 [d4,a4,c5,f#5]@4 [d4,a4,c5,f#5]@3 ~ [a4,c5,f#5]@3 [d4,a4,c5,f#5]@4 [d4,a4,c5,f#5]@3 ~ [a4,c5,f#5]@3 [b3,d#4,a4,b4,f#5]@4 [b3,d#4,a4,b4,f#5]@3 ~ [b3,d#4,a4,b4,f#5]@3 ~ f#5@3 [b3,d#4,a4,b4,f#5]@4 [b3,d#4,a4,b4,f#5]@3 ~ [b4,f#5]@3 [b3,d#4,a4,b4,f#5]@3, ~@5 a5@7 ~@4 a5@7 a5@4 a5@29 ~@8 a5@7 ~@4 a5@11 ~@7 [d5,a5]@7 ~@4 [d5,a5]@11 ~@7 d#5@7 ~@5 [d#5,b5]@10, ~@8 [a3,e4]@4 ~@7 a3@4 ~@7 [a3,e4]@4 ~@7 a3@4 ~@11 [a3,e4,a4,c#5]@4 ~@7 [a3,e4,a4,c#5]@4 ~@7 [a3,e4,a4]@4 ~@7 [d4,a4]@4 ~@7 d4@4 ~@7 d4@4 ~@8 b5@7 ~@14, ~@126 [b3,d#4,a4,b4]@4 ~@7 [b3,d#4,a4]@4 ~@3]/3", // Am A C#m A D7 Cdim D7 F#dim …
  K: "~ [e3,b3,d4,g#4,b4,e5]@3 ~ [g#4,b4,e5]@3 [e3,b3,d4,g#4,b4,e5]@4 [e3,b3,d4,g#4,b4,e5]@3 ~ [d4,g#4,b4,e5]@3 [e3,b3,d4,g#4,b4,e5]@4 [e3,b3,d4,g#4,b4,e5]@3 ~ [b3,d4,g#4,b4,e5]@3 [a3,e4,a4,c#5,e5]@4 [a3,e4,a4,c#5,e5]@3 c#5 [a3,e4,a4,c#5,e5]@3 [a3,e4,a4,c#5,e5]@4 [a3,e4,a4,c#5,e5]@3, ~@4 [e3,b3,d4]@4 [g#5,b5]@7 [e3,b3]@4 [g#5,b5]@11 ~@8 a5@7 ~@3, ~@13 e3@2 ~@9", // E7 E E7 A E7 G#m E5 G#m
  L: "c#5 [a3,e4,a4,c#5,e5]@3 ~ e5@3 [a3,e4,a4,c#5,e5]@4 [d4,a4,c5,f#5]@3 ~ f#5@3 [d4,a4,c5,f#5]@4 [d4,a4,c5,f#5]@3 ~ [c5,f#5]@3 [d4,a4,c5,f#5]@4 [d4,a4,c5,f#5]@3 ~ [c5,f#5]@3 [b3,d#4,a4,b4,f#5]@4 [b3,d#4,a4,b4,f#5]@3, ~ a5@11 ~@7 [d5,a5]@7 ~@4 [d5,a5]@11 ~@7, ~@4 [a3,e4,a4,c#5]@4 ~@7 [d4,a4,c5]@4 ~@7 [d4,a4]@4 ~@7 [d4,a4]@4 ~@7", // A D7 Cdim D7 Cdim B7 D5 A …
  M: "[~ [d#4,a4,b4,f#5]@3 [b3,d#4,a4,b4,f#5]@4 [b3,d#4,a4,b4,f#5]@3 ~ [b3,d#4,a4,b4,f#5]@3 ~ f#5@3 [b3,d#4,a4,b4,f#5]@4 [a#3,f4,g#4,d5,f5]@3 ~ f5@3 [a#3,f4,g#4,d5,f5]@4 [a#3,f4,g#4,d5,f5]@3 ~ [d5,f5]@3 [a#3,f4,g#4,d5,f5]@4 [a#3,f4,g#4,d5,f5]@3 ~ [g#4,d5,f5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 [c5,e5] [a4,c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 b4 [a3,d4,g4,b4,e5]@3 ~ e5@3 [a3,e4,a4,c5,e5]@3 c5 [a3,e4,a4,c5,e5]@3 ~ e5@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ [c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ [c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 [c5,e5] [a4,c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 b4 [a3,d4,g4,b4,e5]@3 ~ e5@3 [a3,e4,a4,c5,e5]@3 c5 [e4,a4,c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ e5@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ [c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 [c5,e5] [c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 b4 [d4,g4,b4,e5]@3 [e3,a3,d4,g4,e5]@4 [a3,e4,a4,c5,e5]@3 c5 [e4,a4,c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ e5@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ e5@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 [c5,e5] [c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 b4 [d4,g4,b4,e5]@3 [e3,a3,d4,g4,e5]@4 [a3,e4,a4,c5,e5]@3 ~ [a4,c5,e5]@3 [a3,e4,a4,c5,e5]@4 [a3,e4,a4,c5,e5]@3 ~ [e4,a4,c5,e5]@3 [a3,e4,a4,c5,e5]@4 a3@4 a3@4 ~@99, d#5@7 ~@4 d#5@11 ~@49 [d5,g5]@11 a5@29 ~@8 a5@7 ~@7 b4@7 ~@48 d5@11 ~@48 d5@11 ~@19 [c5,e5]@65 ~@42, b3@4 ~@11 [b3,d#4,a4,b4]@4 ~@7 [a#3,f4,g#4,d5]@4 ~@7 [a#3,f4,g#4]@4 ~@7 [a#3,f4]@4 ~@7 [a3,e4]@4 ~@7 e3@4 [e3,a3,d4,g4]@4 ~@7 [a3,e4,a4,c5]@4 ~@7 [a3,e4,a4]@4 ~@7 [a3,e4,a4]@4 ~@7 [a3,e4]@4 ~@7 e3@4 [e3,a3,d4,g4]@4 ~@3 a3@4 ~@11 [a3,e4,a4,c5]@4 ~@7 [a3,e4,a4]@4 ~@7 [a3,e4,a4]@4 ~@7 [e3,a3]@4 b4@7 a3@4 ~@11 [a3,e4,a4,c5]@4 ~@7 [a3,e4,a4,c5]@4 ~@7 [a3,e4,a4]@4 ~@7 [e3,a3]@4 b4@7 [a3,e4]@4 ~@7 a3@4 ~@4 e4@59 ~@48, ~ b5@7 ~@4 b5@11 ~@7 a#5@7 ~@4 a#5@11 ~@8 a5@7 ~@7 b4@7 ~@49 [d5,g5]@11 a5@29 ~@8 a5@7 ~@4 g5@11 a5@29 ~@8 a5@7 ~@4 g5@11 ~@18 a4@11 ~@96]/8", // B7 A#7 Dm A#7 Ddim Am C Am …
})).s("gm_overdriven_guitar").gain(0.26).pan(0.3)

// bass · slap bass 2 · "Bass"
const bass_2 = note(`<
  A@3 B@8 C D E@5 F@6 C G@6 H I@2 J K L@3 M N@2 O P Q@2 R S T@2 U V ~@12 W X Y Z AA AB AA AB AA AB AA AB W X Y Z AC AD
  AC AD AC AD AC AE AA AB AA AB AA AB AA AB W X Y Z AC AD AC AD AC AD AC AF ~
>`.pickRestart({
  A: "[~@21 c3@5 c3@5 c3@5 c3@5 c3@5 c3@4 a#2@5 a#2@5 g#2@5 g#2@5 g#2@5 g#2@5 g#2@5 g#2@4 g2@5 g2@5 f2@5 f2@5 f2@5 f2@5 f2@5 f2@4 f2@5 f2@5 ~@6]/3",
  B: "[~@33 a#2@7 a#2@2 ~ f2@10 a#2@7 a#2@2 f2@10 d2@7 d2@2 ~ a2@9 ~ d2@7 d2@2 a2@9 ~ g2@7 g2@2 ~ d2@10 g2@7 g2@2 d2@10 d#2@7 d#2@2 ~ g#2@10 a#2@7 a#2@2 f2@5 g#2@5 a#2@7 a#2@2 ~ f2@10 a#2@7 a#2@2 f2@10 d2@7 d2@2 ~ a2@9 ~ d2@7 d2@2 a2@9 ~ g2@7 g2@2 ~ d2@10 g2@7 g2@2 d2@10 d#2@7 d#2@2 ~ g#2@10 a#2@2 a#2@2 ~ a#2@2 a#2@2 a#2@2 ~ a#2@2 a#2@2 ~ a#2@2 c2@5 c2@5 g1@5 g1@5 c2@5 c2@4 g1@5 g1@5]/8",
  C: "c2@5 c2@5 g1@5 g1@5 c2@5 c2@4 a#1@5 a#1@5 g#1@5 g#1@4",
  D: "~ d#2@5 d#2@5 g#1@5 g#1@4 d#2@5 d#2@5 g#1@5 g#1@5 d#2@5 d#2@3",
  E: "[~@2 g#1@5 g#1@4 g1@5 g1@5 f1@5 f1@5 a1@5 a1@5 c2@5 c2@4 a1@5 c2@5 f1@5 f1@5 a1@5 a1@5 c2@5 c2@4 a1@5 c2@5 a#1@39 a#2@10 f2@10 a#2@7 a#2@2 f2@5 g#2@5 a#2@7 a#2@2 ~ f2@10 a#2@7 a#2@2 f2@10 d2@7 d2@2 ~ a2@9 ~ d2@4]/5",
  F: "[~@3 d2@2 a2@9 ~ g2@7 g2@2 ~ d2@10 g2@7 g2@2 d2@10 d#2@7 d#2@2 ~ g#2@10 a#2@7 a#2@2 f2@5 g#2@5 a#2@7 a#2@2 ~ f2@10 a#2@7 a#2@2 f2@10 d2@7 d2@2 ~ a2@9 ~ d2@7 d2@2 a2@9 ~ g2@7 g2@2 ~ d2@10 g2@7 g2@2 d2@10 d#2@7 d#2@2 ~ g#2@10 a#2@2 a#2@2 ~ a#2@2 a#2@2 a#2@2 ~ a#2@2 a#2@2 ~ a#2@2 c2@5 c2@5 g1@5 g1@5 c2@5 c2@4 g1@5 g1@5]/6",
  G: "[~ d#2@5 d#2@5 g#1@5 g#1@4 d#2@5 d#2@5 g#1@5 g#1@5 d#2@5 d#2@5 g#1@5 g#1@4 g1@5 g1@5 f1@5 f1@5 a1@5 a1@5 c2@5 c2@4 a1@5 c2@5 f1@5 f1@5 a1@5 a1@5 c2@5 c2@4 a1@5 c2@5 a#1@39 g1@5 g1@5 d2@5 d2@5 g2@5 g2@4 d2@5 g2@5 a#1@39 a2@14 ~ e2@3 ~ e2@5]/6",
  H: "~@2 e2@3 ~ a2@14 e2@14 ~ a2@10 ~ a2@2",
  I: "[~@2 e2@14 ~ a2@10 ~ a2@3 e2@7 ~ g2@7 a2@10 ~ a2@3 ~ e2@7 g2@7 a2@10 ~@2 a2@3 e2@6]/2",
  J: "~@2 g2@7 a2@10 ~ a2@3 ~ e2@7 g2@7 a2@10", K: "~@2 a2@3 e2@7 ~ g2@7 a2@10 ~ a2@3 ~ e2@7 g2@6",
  L: "[~ a2@10 ~ a2@3 ~ e2@7 ~ g2@7 c2@10 ~ c2@3 ~ c2@10 ~ c2@3 c2@10 ~ c2@3 ~ c2@7 c2@7 ~ f2@10 ~ f2@3 ~ f2@10 ~ f2@3 a#1@10 ~ a#1@3 ~ a#1@10]/3",
  M: "~ a#1@3 ~ a1@10 ~ a1@3 ~ e1@10 ~ g1@3 a1@10 ~ a1@3",
  N: "[~ e2@7 g2@7 ~ a2@14 ~ e2@7 e2@7 a2@10 ~ a2@3 ~ a2@14 ~@12 a1@3 a1@7]/2",
  O: "~@4 a1@3 ~ a1@10 ~ a1@3 ~ a1@10 ~ a1@3 ~ d2@10", P: "~ d2@3 d2@10 ~ d2@3 ~ b1@10 ~ b1@3 ~ b1@10 ~ b1@3",
  Q: "[~ e2@10 ~ e2@3 e2@10 ~ e2@3 ~ a1@10 ~ c#2@3 ~ e2@7 c#2@7 ~ d2@10 ~ f#2@3 a2@7 ~ f#2@7 b2@7]/2",
  R: "~@4 b2@3 ~ f#2@10 ~ b2@3 a#2@10 ~@2 a#2@3 a#2@10 ~", S: "a#2@3 ~ a2@10 ~ a2@3 ~ e2@7 g2@7 a2@10 ~@2 a2@3",
  T: "[e2@7 ~ g2@7 a2@10 ~ a2@3 ~ e2@7 g2@7 a2@10 ~ a2@3 ~ e2@7 ~ e2@7 a2@10 ~ a2@3 ~ e2@7]/2",
  U: "e2@7 a2@10 ~ a2@3 ~ e2@7 g2@7 ~ a2@10 ~", V: "a2@3 ~ e2@7 e2@7 a2@10 ~ a2@3 ~ e2@7 g2@7 ~", W: "f2@23 ~ e2@23 ~",
  X: "d2@23 ~ c2@23 ~", Y: "g1", Z: "g2@11 ~", AA: "c2@15 ~", AB: "f2@15 ~", AC: "f2@23 ~ g2@23 ~",
  AD: "c2@23 ~ e2@23 ~", AE: "c2 ~", AF: "c2",
})).s("gm_slap_bass_2").gain(0.36)

// other · synth strings 1 · "Strings"
const synth_strings_1_2 = note("<A B C D@2 E F@3 G ~@6 H@2 E F@3 G ~@86>".pickRestart({
  A: "~@21 [d#5,g5]@4 ~@23", B: "~@3 [d#5,g#5] ~@8", C: "~@3 [f5,a5]@4 ~@35 [f5,d6]@6",
  D: "[~ [d#5,c6]@2 ~ [d5,a#5]@5 ~@24 a#4@24 ~ a#4@4 c5@5 a#4@5 a4@19 ~@5]/2", E: "~ d5@4 f5@2 ~ d5@7 a#4@29 ~@4",
  F: "[~@6 a#4@5 a#4@5 c5@2 c5@5 a#4@7 ~@15 a#4@24 ~ a#4@4 c5@5 a#4@5 a4@19 ~@6 d5@4 f5@2 ~ d5@2 c5@5 a#4@19 ~@2]/3",
  G: "~@16 a#4@2 a#4@5 a#4@5 c5@5 c5@2 a#4@7 ~@6", H: "[~@33 a#4@24 ~ a#4@4 c5@5 a#4@5 a4@19 ~@5]/2",
})).s("gm_synth_strings_1").gain(0.18).pan(0.7)

// chords · overdriven guitar · "Strings"
const overdriven_guitar_3 = note("<~@29 A@2 ~@44 B ~@4 C ~ D ~ E ~@4 F ~ F ~ F ~@6 G ~ D ~ E ~@4>".pickRestart({
  A: "[~@11 a#2@13 ~@8]/2", B: "~@30 [f4,a4]@5 ~@13", C: "~@2 f5@2 ~@3 d6", D: "~@7 [b5,d6]", E: "~@42 [b5,d6]@5 ~",
  F: "~@3 g4", G: "~ f5 ~@2",
})).s("gm_overdriven_guitar").gain(0.24).pan(0.7)

// drums · kick
const kick = s("bd").struct(`<
  A B C D E F G H I J K L M N O C P E F G H I J K L M N O C Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM
  ~@12 AN@3 AO AN@11 AO AN AP@5 AN AO AN@11 AO AN@6 AQ AO ~
>`.pickRestart({
  A: "~@7 x ~@8", B: "~ x ~@2", C: "~ x ~@12 x ~", D: "~@33 x ~@9 x ~@4", E: "~@5 x ~@8 x ~@9 x ~@9 x ~@9 x ~@3",
  F: "~@5 x ~@9 x ~@9 x ~@9 x ~@8 x ~@3", G: "~@6 x ~@9 x ~@9 x ~@8 x ~@9 x ~@2", H: "~@7 x ~@9 x ~@8 x ~@9 x ~@9 x ~",
  I: "~@8 x ~@8 x ~@9 x ~@9 x ~@9 x", J: "~@4 x ~@4 x ~@4 x ~@4 x ~@4", K: "~@9 x ~@9 x ~@9 x ~@8 x ~@9",
  L: "x ~@9 x ~@9 x ~@8 x ~@9 x ~@8", M: "~ x ~@9 x ~@8 x ~@9 x ~@9 x ~@7", N: "~@2 x ~@8 x ~@9 x ~@9 x ~@9 x ~@6",
  O: "~@2 x ~@9 x ~@9 x ~@9 x ~@8 x ~@6", P: "~@4 x ~@9 x ~@8 x ~@9 x ~@9 x ~@4", Q: "~@4 x ~@9 x ~@8 x ~@9 x ~@14",
  R: "~@24 x ~@14 x ~@3 x ~@4", S: "~@2 x ~@3 x ~@13 x ~@14 x ~@12", T: "~@2 x ~@14 x ~@13 x ~@14 x ~",
  U: "~@13 x ~@13 x ~@14 x ~@5", V: "~@9 x ~@14 x ~@13 x ~@9", W: "~@5 x ~@14 x ~@14 x ~@12",
  X: "~ x ~@14 x ~@14 x ~@14 x ~", Y: "~ x ~@7 x ~@2 x ~@14 x ~@14 x ~@5", Z: "~@9 x ~@13 x ~@14 x ~@9",
  AA: "~@5 x ~@14 x ~@13 x ~@13", AB: "~ x ~@14 x ~@14 x ~@13 x ~@2", AC: "~@12 x ~@28 x ~@3 x ~@2",
  AD: "~@4 x ~@3 x ~@14 x ~@3 x ~@6 x ~@3 x ~@9", AE: "~@4 x ~@3 x ~@6 x ~@3 x ~@14 x ~@3 x ~@6 x ~@2",
  AF: "~ x ~@13 x ~@3 x ~@6 x ~@3 x ~@14 x ~@2", AG: "x ~@7 x ~@3 x ~@13 x ~@3 x ~@6 x ~@3 x ~@6",
  AH: "~@8 x ~@2 x ~@7 x ~@2 x ~@14 x ~@3 x ~@6", AI: "x ~@3 x ~@14 x ~@13 x ~@14", AJ: "x ~@14 x ~@14 x ~@13 x ~@3",
  AK: "~@11 x ~@14 x ~@14 x ~@6", AL: "~@7 x ~@14 x ~@14 x ~@10", AM: "~@4 x ~@13 x ~@14 x ~@14", AN: "x ~@3 x!2 ~@2",
  AO: "x", AP: "x ~@7 x ~ x ~@4 x", AQ: "x ~@3 x ~@2 x",
})).gain(0.39)

// drums · snare
const snare = s("sd").struct(`<
  ~@3 A B C D E F G H I J K L M N B C D E F G H I J K L M O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK ~@12
  AL@3 ~ AL@11 ~ AL@7 ~ AL@11 ~ AL@5 AM AN ~@2
>`.pickRestart({
  A: "~@19 x ~@4", B: "x ~@9 x ~@8 x ~@9 x ~@9 x ~@8", C: "~ x ~@8 x ~@9 x ~@9 x ~@9 x ~@7",
  D: "~ x ~@9 x ~@9 x ~@9 x ~@8 x ~@7", E: "~@2 x ~@9 x ~@9 x ~@8 x ~@9 x ~@6", F: "~@3 x ~@9 x ~@8 x ~@9 x ~@9 x ~@5",
  G: "~@4 x ~@8 x ~@9 x ~@9 x ~@6 x ~@2 x ~ x ~ x", H: "~@2 x ~ x ~@2 x ~@6 x ~@9 x ~@9 x ~@8 x ~@4",
  I: "~@5 x ~@9 x ~@9 x ~@8 x ~@9 x ~@3", J: "~@6 x ~@9 x ~@8 x ~@9 x ~@9 x ~@2", K: "~@7 x ~@8 x ~@9 x ~@9 x ~@9 x ~",
  L: "~@7 x ~@9 x ~@9 x ~@9 x ~@8 x ~", M: "~@47 x", N: "~@9 x ~@9 x ~@8 x ~@9 x ~@9", O: "~@9 x ~@9 x ~@8 x ~@19",
  P: "~@31 x ~@14 x ~", Q: "~@13 x ~@14 x ~@13 x ~@5", R: "~@3 x ~@4 x ~@4 x ~@2", S: "~@5 x ~@14 x ~@14 x ~@12",
  T: "~@2 x ~@13 x ~@14 x ~@14 x ~", U: "~@13 x ~@13 x ~@14 x ~@5", V: "~@9 x ~@14 x ~@13 x ~@9",
  W: "~@5 x ~@14 x ~@13 x ~@13", X: "~ x ~@14 x ~@14 x ~@13 x ~@2", Y: "~@4 x ~@4 x ~@4 x ~",
  Z: "~@8 x ~@14 x ~@14 x ~@9", AA: "~@5 x ~@13 x ~@14 x ~@13", AB: "~ x ~@14 x ~@13 x ~@14 x ~@2",
  AC: "~@12 x ~@13 x ~@14 x ~@6", AD: "~@8 x ~@14 x ~@13 x ~@10", AE: "~@4 x ~@14 x ~@14 x ~@13",
  AF: "x ~@4 x ~@4 x ~@4 x", AG: "x ~ x ~@8 x ~@14 x ~@14 x ~@6", AH: "~@8 x ~@13 x ~@14 x ~@10",
  AI: "~@4 x ~@14 x ~@13 x ~@14", AJ: "x ~@14 x ~@13 x ~@14 x ~@3", AK: "~@11 x ~@14 x ~@13 x ~@7", AL: "~ x ~ x",
  AM: "~@4 x ~@6 x!2 ~@3", AN: "~@4 x ~@3 x ~ x!2 ~@4",
})).gain(0.39)

// drums · low tom
const low_tom = s("lt").struct("<~@75 [~@7 x] ~@19 [~@7 x] ~@9 [~@7 x] ~@3>").gain(0.34)

// drums · hihat
const hihat = s("hh").struct(`<
  A B C D E F G H I J ~@6 D E F G H I J ~@7 K L M N O@2 P Q R S T U ~@5 V W X Y Z ~@12 AA@3 AB AA@7 AC AA@3 AB AA@7 ~
  AA@7 AC AA@3 AB AA@7 ~@2
>`.pickRestart({
  A: "~@26 x ~@4 x ~@4 x ~@4 x ~@4 x ~", B: "~@2 x ~@4 x ~@9 x ~@4 x ~@4 x ~@4 x ~@4 x ~@3 x ~@4 x ~",
  C: "~@8 x ~@4 x ~@4 x ~@4 x ~@4 x ~@3 x ~@4 x ~@10", D: "~@33 x ~@2 x ~ x ~ x ~@2 x ~ x ~@2",
  E: "x ~ x ~@2 x ~ x ~@2 x ~ x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~",
  F: "~ x ~ x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~ x ~@2 x",
  G: "~ x ~@2 x ~ x ~@2 x ~ x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~ x ~@2 x ~ x ~@2 x ~ x ~@2",
  H: "x ~ x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~ x ~@2 x ~",
  I: "x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x",
// … 91 more lines

More by The Beatles