Strudelify

A Man I'll Never Be

Boston

KeyC majorTempo106 bpm
0:00/0:00
// A Man I'll Never Be — Boston
// 106 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: ch 11 "Lead Guitar" named as a guitar, played on overdriven guitar (its lead 2 sawtooth patch is not one)
// note: duplicate parts dropped: ch 9 "Guitar" electric guitar clean (copy of ch 1 "Guitar" acoustic guitar steel)
// note: Full arrangement: all 174 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(106/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.

// other · acoustic guitar steel · "Guitar"
const acoustic_guitar_steel = note(`<
  ~@9 A B C D E@2 F G@2 H I J K L M N ~@14 O P Q R@2 ~@3 S T U V W X Y Z AA T U V W X Y Z AB AC I J K L AD AE AD AE AF
  AG AH AI ~@14 O P Q R@2 ~@32 AJ@2 AK@3 AL@2 AM AN AO@2 AP AQ AR AS AT AU ~@29
>`.pickRestart({
  A: "e4@4 c4@4 e4@4 c4@4 g3@4 c4@4 e4@4 c4@3 ~", B: "d4@4 b3@4 g3@4 d4@4 g3@4 g4@3 ~ d4@4 c4@3 ~",
  C: "c4 a3 e3 c4 a3 c4 e3 a3", D: "b3@4 g3@3 ~ e3@3 ~@5 a3@4 c4@4 e3@4 ~@2 e3@2, ~@12 c4@7 ~@9 c4@4",
  E: "d3 f#3 a3 d4 a3 d4 a3 f#3", F: "b3 g3 d3 b3 g3 b3 a3 g3",
  G: "[c4@4 a3@4 g3@4 ~@4 a3@4 g3@4 ~@4 g3@3 ~@2 f4@18 ~ c4@4 ~@4 f3@4, ~@12 c4@10 ~@2 b3@7 f3@2 c4@11 ~@20, ~@32 a3@2 ~@22 a3@7 ~]/2",
  H: "c4@8 a3@3 ~ b3@7 ~ a3@4 ~@2 c4@4 ~@2", I: "[c3,c4] g3 c4 g3 b2 b3 d4 b3", J: "a2 e3 a3 e3 g2 d3 g3 d3",
  K: "[f2,f3] a3 c4 a3 f3 a3 c4 a3", L: "f3 a3 d4 a3 f3 a3 d4 f3", M: "g3@4 b3@4 g3@3 ~ b3@8 g3@4 b3@4 g3@4",
  N: "c4@8 g3@4 b3@8 g3@4 b3@3 ~ g3 ~@3", O: "~@8 f4@6 ~@6 f4@9 ~@3", P: "~@4 e4@3 ~@3 e4@2 c4@2 b3@2",
  Q: "a3 ~ f4 c4 f3 f4 g3 e3", R: "[f3@6 ~@2 a3@12 [b2,b3]@6 ~@2 b3@3 ~ [c3,g3,c4]@32, ~@8 c4@8 ~@4 g3@11 e3@33]/2",
  S: "c3@4 e3@4 ~@3 c4@9 g3@4 e3@4 c3@2 ~@2, ~@8 g3@5 ~@19", T: "b2 d3 ~@3 g3 b3 g3, ~@8 g3@9 ~@15, ~@12 d4@11 ~@9",
  U: "~ f3 e3 c4 f3 e3 a3 f3, a3@9 ~@23", V: "~@4 f3@4 d3@4 ~@4 g3@4 f3@4 g3@5 ~@3, g3@11 ~ c4@9 ~@11",
  W: "f#3 [a3,d4] [f#3,a3] [a3,d4]@2 g3 f#3 a3", X: "f#3 [a3,d4] f#3 ~@2 e3 d3@2, ~@3 [a3,d4]@3 ~@2",
  Y: "g2 b2 d3 g3@3 g3 e3, ~@12 b3@15 ~@5, ~@12 f3 ~@19",
  Z: "~@2 d3@2 b2@2 [g3,c4]@3 ~ [g3,b3]@4 e3@2, [g3,c4]@5 ~@4 b2@3 ~@4", AA: "c3@2 e3@2 g3@2 c4@4 g3@2 e3@2 c3 ~",
  AB: "f3@4 a3@4 f3@4 c4@7 ~ f3@4 a3@3 ~ f3@3 ~", AC: "[g3,c4]@8 g3@3 ~ [g3,b3]@6 ~ a3@7 b3@5 ~, ~@18 g3@3 ~@11",
  AD: "g3@4 b3@4 g3@3 ~ c4@8 g3@4 b3@4 [g3,c4]@4", AE: "d4 g3 d4 c4 g3 b3 [g3,g4] c4", AF: "~@4 b3@8 c4@7 ~@5 d4@4 ~@4",
  AG: "e4@10 ~@2 f4@8 ~@4 g4@5 ~@3", AH: "a4 f4 c4 b4 ~@2 b4 f4, ~@16 f4@7 ~@9, ~@20 c4@7 ~@5", AI: "c5",
  AJ: "[~@4 c3@4 e3@4 g3@4 c4@8 g3@5 e3@4 c3@2 ~@2 b2@4 d3@4 ~@11 g3@4 b3@4, ~@45 g3@9 ~@10, ~@49 d4@11 ~@4]/2",
  AK: "[~ g3@4 ~@4 f3@4 e3@4 c4@4 f3@4 e3@4 a3@4 f3@4 ~@4 f3@4 d3@4 ~@4 g3@4 f3@4 g3@5 ~@3 f#3@4 [a3,d4]@4 [f#3,a3]@4 [a3,d4]@8 g3@4 f#3@3, ~@5 a3@9 ~@23 g3@11 ~ c4@9 ~@38]/3", // D5 F#m D5
  AL: "[~ a3@4 f#3@4 [a3,d4]@4 f#3@4 ~@8 e3@4 d3@8 g2@3 b2@4 d3@4 ~ g3@12 g3@3, ~@17 [a3,d4]@12 ~@19 b3@15 ~, ~@49 f3 ~@14]/2", // D5
  AM: "~ e3@4 ~@4 d3@4 b2@4 [g3,c4]@6 ~@2 [g3,b3]@7, ~@5 [g3,c4]@10 ~@8 b2@6 ~@3", // C5 G C5
  AN: "~ e3@3 f3@4 a3@4 f3@4 ~ c4@7 f3@4 a3@3 ~",
  AO: "[f3@3 ~@2 c4@7 g3@3 ~@2 b3@5 g3@2 a3@6 b3@5 ~ [c3,c4]@4 g3@4 c4@4 g3@4 b2@4 b3@4 d4@4, ~@2 g3@4 ~@2 g3@3 ~@21]/2", // C
  AP: "b3 a2 e3 a3 e3 g2 d3 g3", AQ: "d3 [f2,f3] a3 c4 a3 f3 a3 c4", AR: "a3 f3 a3 d4 a3 f3 a3 d4",
  AS: "f3@4 g3@4 b3@4 g3@3 ~ c4@8 g3@4 b3@4", AT: "g3 ~ g3!2 ~ g3 ~ [g3,c4], ~@2 c4@6 b3@7 ~", AU: "b3 ~@7",
})).s("gm_acoustic_guitar_steel").gain(0.56).pan(1)

// bass · electric bass finger · "Bass"
const bass = note(`<
  ~@17 A B C D E F G H I J K L I J K L I J K L I J K M N O P ~@3 Q R S@2 T U V W X Y Z AA T U V W A B C D E AB AC@2 AD@2
  G AE AF@2 I J K L I J K L I J K L I J K M AG AH AI R AJ AK T U V W Q R AJ AK T U V AL@2 AM@2 AN AO@2 AP AQ ~ AR@6 AS
  AT AU AV AW AX AY AZ BA BB BC BD@2 BE BF BG BH BI BJ BK@2 BL@2 BK@2 BL@2 BK@2 BL@2 BM@2 BN BO BP BQ BP BQ BP BR@3 ~@5
>`.pickRestart({
  A: "f2@4 f1@2 f2@4 f1@2 f2@2 f1 ~", B: "g2@4 g1@2 g2@2 g1@2 a2@3 b2@3", C: "c2@11 ~ c2@4 b1@10 ~@2 b1@4",
  D: "a1@9 ~@3 a1@4 g1@9 ~@3 g1@4", E: "f1@11 ~ e2@3 ~", F: "d2@12 f2@8 a2@4 f2@7 ~", G: "g2!8", H: "g2!5 e2 f2 g2",
  I: "a1@15 ~ d#1@4 a1@7 d#1@2 ~@3", J: "b1 g1", K: "f1@5 f1 a1 b1", L: "c2@2 d2 b1@5",
  M: "e1@5 ~@3 e2@2 e1@2 e2@17 ~@3", N: "d2@11 ~ d2@19 ~", O: "f2@16 g2@15 ~", P: "c2@7 ~", Q: "c2@27 ~ c2@4",
  R: "b1@3 g1", S: "[a1@26 ~ a1@4 g1@33]/2", T: "f#1@6 f#1 e1", U: "d1@2 d2@3 d2@2 c2", V: "g1 g2 g1 g2@4 g1",
  W: "g2 f2 g2@5 g2 a2@2 g2@2 e2@2 g2@2", X: "c2@3 e2@2 f2@2 g2", Y: "b1@17 ~@2 b1@3 ~ c2@4 b1@4 ~",
  Z: "a1@24 g1@3 ~ a1@4", AA: "g1@7 g1", AB: "d2!8", AC: "[g2@26 e2@2 f2@2 e2 f2]/2", AD: "[g2@30 f2!2]/2",
  AE: "g2@2 g2@2 g2@2 g2@2 g2@2 g2@2 g2@2 g2 a2", AF: "f2!8", AG: "d2@11 ~ d2@16 e2@4", AH: "f2@2 a2 c3@2 b2 a2 b2",
  AI: "c2@7 c2", AJ: "a1@13 ~ a1@2", AK: "g1", AL: "[~ f2@30 d#2@32 ~]/2", AM: "[c#2@30 ~ f#1@25 f2@8]/2",
  AN: "d#2@15 ~", AO: "g#2@15 ~", AP: "g2", AQ: "~ g2@15",
  AR: "[~@4 c2@32 b1@32 ~ a1@32 g1@31 f#1@24 e1@8 d1@26 ~@2]/6", AS: "d1@4 g1@27 ~",
  AT: "~@4 g2 a2@4 g2@6 ~ f2@7 ~ e2@2 ~@2 d2@4", AU: "~ c2@3 e2@2 f2@2", AV: "g2@4 ~ b1@17 ~@2 b1@3 c2@5",
  AW: "b1@4 a1@24 ~ g1@3", AX: "a1 g1@7", AY: "g1 f#1@6 f#1", AZ: "e1 d1@2 d2@3 d2@2", BA: "c2 g1 g2 g1 g2@4",
  BB: "g1@2 g2 f2 g2@5 g2 a2@2 g2@2 e2@2", BC: "g2 f2@2 f1 f2@2 f1 f2",
  BD: "[f1@2 ~@2 g2@8 g1@4 g2@4 g1@4 a2@6 b2@6 c2@11 ~ c2@4 b1@10 ~@2]/2", BE: "b1@4 a1@9 ~@3 a1@4 g1@9 ~@3",
  BF: "~ g1@3 f1@22 ~@2 e2@4", BG: "~ d2!7", BH: "d2 g2!7", BI: "g2@2 g3@2 g3@2 g3@2 g3@2 g3@2 g3@2 f3 d3",
  BJ: "c3@2 b2@2 a1@15 ~ d#1@4 a1@8", BK: "[d#1 ~ b1@8 g1@8 f1@10 f1@2 a1@2]/2",
  BL: "[b1@4 c2@8 d2@4 b1@20 a1@15 ~ d#1@4 a1@8]/2", BM: "[d#1 ~ b1@8 g1@8 f1@2 f1@2 f1@2 f1@2 f1@2 f1@2 a1@2]/2",
  BN: "b1 c2!3 g1!4", BO: "g1!2 a1@2 a1@2 a1@2 a1@2 a1@2 a1@2 a1@2", BP: "a1 b1!3 g1!4", BQ: "g1 a1!7",
  BR: "[g1 f1@16 ~@7]/3",
})).s("gm_electric_bass_finger").gain(0.72).pan(0.4)

// chords · piano
const piano = note("<~ A B C D E F G H A B C I E F G J K L M N O P ~@20 Q@2 R@2 ~@73 S@8 T ~@40 U@3 V@2>".pickRestart({
  A: "[e4,g4,g5]@3 ~ [e5,g5]@2 ~@2 g4@2 c5@2 c5@2 g4@2, c4@4 c5 ~ c4@7 ~@3, ~@5 [e5,g5]@3", // Em
  B: "[g4,b4,d5]@4 b4@4 g4@4 [g4,b4,d5]@4 g4@4 [b4,d5]@8 g4@3 ~, b3@10 ~@2 b3@19 ~", // G Bm
  C: "[e4,c5]@2 a4@2 [a4,c5]@2 e4@2 ~@2 c5@2 a4@2 c5 ~, a3@5 ~ a3@4 a3@6, a4@3 ~@13 a4@8 ~@8", // C Am
  D: "~@4 b3@4 d4@4 [g4,b4]@5 ~@3 e5@4 d5@4 c5@4, g3@11 ~ g3@12 g3@8, [g4,b4] ~@3", // G
  E: "[a4,c5]@2 a4@2 d4@2 [a4,c5]@3 ~@3 [e3,g4]@4, f#3@11 ~ f#3@11 ~@9", // Am Em
  F: "f#4@2 d4@2 f#4@2 [a4,d5]@3 ~ [a4,d5]@3 ~ d4@2, d3", G: "[g4,b4] d4 b3 [g4,b4] d4 [g4,b4] d4 b3, g3",
  H: "d4!2 a3 c4!2 g3 [b3,d4] [c3,g3], [g3,f4]@10 ~@2 [g3,e4]@9 ~@11", // Bm C5 G7 C
  I: "~@4 b3@4 d4@4 [g4,b4]@5 ~@3 g4@4 c5@4 a4@4, g3@11 ~ g3@12 g3@8, [g4,b4] ~@3", // G
  J: "d4!2 a3 [g3,c4] c4 g3 [b3,d4] [c3,g3], [g3,f4]@10 ~@2 e4@9 ~@11", // C5 Bm C5 G7
  K: "[f4,a4]@12 [f4,a4]@10 ~@2 [f4,a4,c5]@5 ~@3, c5@23 ~@9", // F
  L: "[g4,c5,d5]@11 ~ [g4,b4]@6 ~@2 [g4,b4]@6 b4@4 ~@2, ~@12 d5@15 ~@5", M: "[g4,c5,e5]@14 ~@2 [g4,b4,d5]@15 ~",
  N: "a4@3 g4 [e4,g4,b4]@3 f4, c5@11 ~@21, e4 ~@3", O: "[f4,a4,c5]@12 [e4,g4,c5]@3 ~", P: "[d4,f4,a4,d5] ~@3",
  Q: "[~@2 g3 e3 ~ g3 e3 ~ a3 f3 ~ a3 ~@3 b3, c3@12 ~@4 c3@8 ~@4 c3@8 ~@4 c3@8 f3@7 ~@9, ~@4 [c4,e4]@5 ~ [c4,e4]@5 ~ [c4,f4]@5 ~ [c4,f4]@6 c5@4, ~@13 c3@2 ~]/2", // C F5
  R: "[[c3,c4]@2 g3 e3 ~ g3 e3 ~ a3 f3 ~ a3 f3 ~ [a3,c5]@2, ~@4 [c4,e4]@4 c3@4 ~@2 c3@4 ~@2 c3@4 ~@2 c3@5 ~, ~@10 [c4,e4]@5 ~ [c4,f4]@5 ~ [c4,f4]@6 ~@4]/2", // C Am C F5
  S: "[~@4 [e4,g4,g5]@6 ~@2 [e5,g5]@4 ~@4 g4@4 c5@4 c5@4 g4@4 [g4,b4,d5]@4 b4@4 g4@4 [g4,b4,d5]@4 g4@4 [b4,d5]@8 g4@3 ~ [e4,c5]@4 a4@4 [a4,c5]@4 e4@4 ~@4 c5@4 a4@4 c5@2 ~@6 b3@4 d4@4 [g4,b4]@5 ~@3 g4@4 c5@4 a4@4 [a4,c5]@4 a4@4 d4@4 [a4,c5]@6 ~@6 [e3,g4]@8 f#4@4 d4@4 f#4@4 [a4,d5]@6 ~@2 [a4,d5]@6 ~@2 d4@4 [g4,b4]@4 d4@4 b3@4 [g4,b4]@4 d4@4 [g4,b4]@4 d4@4 b3@4 d4@4 d4@4 a3@4 [g3,c4]@4 c4@4 g3@4 [b3,d4]@4, ~@4 c4@8 c5@2 ~@2 c4@14 ~@6 b3@10 ~@2 b3@19 ~ a3@10 ~@2 a3@8 a3@12 g3@11 ~ g3@12 g3@8 f#3@11 ~ f#3@11 ~@9 d3@32 g3@32 [g3,f4]@10 ~@18, ~@24 [e5,g5]@12 ~@32 a4@3 ~@13 a4@8 ~@8 [g4,b4]@8 ~@132 e4@9 ~@7]/8", // Em G Bm C Am G Am Em …
  T: "[c3,g3] ~@7", // C5
  U: "[~@27 [e5,g5]@6 c5@6 ~@5 [e3,c5]@6 ~@5 c5@6 ~@5 c5@6 ~@6 a#4@7 f5@6 c6@5, ~@5 f3@17 ~@5 e3@14 ~@9 d#3@17 ~@5 d3@20 ~@4, ~@5 [f5,a5]@9 ~@2 [f5,a5]@9 ~@14 [e5,g5]@8 ~@3 [d#5,g5]@8 ~@3 [d#5,g5]@8 ~@3 [d5,f5]@10 ~@14, ~@11 c5@9 ~@2 c5@8 ~@66]/3", // Em C F Em D# Dm
  V: "[~@2 [c2,c3,c4,e4,c5]@53 ~@9]/2", // C
})).s("gm_piano").gain(0.48).pan(0.9)

// chords · overdriven guitar · "Rythym Guitar"
const overdriven_guitar = note(`<
  ~@23 A B C D E F C D E F C D G H I D J@2 ~@27 K L@2 M@2 N O P Q C D E F C D E F C D G H I D J@2 R S T@4 U V@3 W X Y@2
  U Z N AA AB AC@2 AD AE AF AG AH@2 ~@7 AI@6 AJ@4 AK@6 O AL AM@3 AN AM@3 AO AP@7 AQ@8 ~@6
>`.pickRestart({
  A: "g2 ~@3 g2 ~ g2 ~ g2 ~ [g2,d3] ~ [g2,d3] ~ d3@2, ~@14 g2 ~", B: "g2!4 [g2,d3]!4, d3 ~ d3 ~ d3 ~ d3 ~@9",
  C: "[a2,e3]@29 ~@3", D: "[a2,d3] [g2,b2]", E: "[f2,c3]@15 ~", F: "[c3,g3]@12 [g2,d3]@17 ~@3", G: "[f2,c3]@31 ~",
  H: "[c3,g3]@3 [g2,d3]@5", I: "[a2,e3]", J: "[c3, f2 ~]/2", K: "~@6 d2@2 d2@2 d2@2 d2@2 d2!2",
  L: "[[g2,d3]@30 [f2,c3]!2]/2", M: "[g2, d3@15 ~]/2", N: "g2", O: "[g2,d3]!8", P: "[f2,c3]!8",
  Q: "[f2,c3]@2 [f2,c3]@2 [f2,c3]@2 [f2,c3]@2 [f2,c3]@2 [f2,c3]@2 [f2,c3]!2 c3 [f2,c3]", R: "~@7 e2",
  S: "[f2,c3]@2 a2 [c3,f3]@2 c3 [b2,g3] [f2,c3]", T: "[[c3,g3]@31 b2@32 a2@32 g2@33]/4", U: "f#2@7 e2",
  V: "[f#2@27 e2@4 g2@64 ~]/3", W: "c3", X: "b2", Y: "[a2@31 g2@33]/2", Z: "f#2", AA: "f3", AB: "d#3",
  AC: "[c#3@30 ~ f#2@25 f3@8]/2", AD: "d#3@15 ~", AE: "g#3@15 ~", AF: "g#3", AG: "g3", AH: "[~@2 g3@43 ~@19]/2",
  AI: "[~@21 [f#4,g4,g#4,a4] ~ g4 [e4,f4] [c4,d4] [a3,b3] [f3,g3] e3 d3 b2 ~ f2 e2 ~ d#2 ~ c3@31 [b2,d3]@32 [a2,e3]@32 [g2,d3]@32 [f#2,d3]@28, ~@31 [g2,a2]@2 ~@3 g3@32 ~@124]/6", // Fmaj7 Csus2 Asus2 Fsus2 Bm A5 G5 D …
  AJ: "[[e2,c3]@4 ~ f#2@31 ~ g2@63 [f2,c3]@28, ~@4 d3@32 b2@63 ~@29]/4", // C F5
  AK: "[~@5 d3@31 ~ c3@15 ~ b2@15 ~ c3@15 [g2,b2]@16 [f2,a2]@24 [e2,g2]@8 ~ d2@31 [g2,d3]@4 [g2,d3]@4 [g2,d3]@4 [g2,d3]@4 [g2,d3]@4 [g2,d3]@4 [g2,d3]@4, ~ g2@8 e3@4 d3@4 a2@4 ~@12 f2@8 ~@7]/6", // G F Em G5
  AL: "~ [g2,d3]@2 ~@2 a2@27, ~@3 [g2,d3]@2 ~@27, ~ e3@7", // G5
  AM: "[~@5 [a2,d3]@16 [g2,b2]@16 [f2,c3]@30 ~@2 [c3,g3]@12 [g2,d3]@15]/3", AN: "~@5 [a2,e3]@27",
  AO: "~@5 a2@27, ~ e3@7",
  AP: "[~@5 [a2,d3]@16 [g2,b2]@16 [f2,c3]@31 ~ [c3,g3]@12 [g2,d3]@20 [a2,e3]@32 [a2,d3]@16 [g2,b2]@16 f2@31 [c2,g2]@4 [c2,g2]@4 [c2,g2]@4 [g2,d3]@4 [g2,d3]@4 [g2,d3]@4 [g2,d3]@4, ~@165 c3@38 ~@21]/7", // D5 G F5 C5 G5 A5 D5 G …
  AQ: "[[g2,d3]@2 [g2,d3]@2 [e3,a3]@32 [g3,b3]@12 [g2,b2]@4 [g2,b2]@16 [e3,a3]@32 [b2,d3]@12 [g2,b2]@4 [g2,b2]@16 [e3,a3]@32 [b2,d3]@10 ~@2 g2 ~ g2 ~ [g2,b2]@16 [f2,a2]@60, ~@44 b2 ~@19]/8", // G5 A5 G A5 Bm G A5 Bm …
})).s("gm_overdriven_guitar").gain(0.8).pan(0.9)

// chords · overdriven guitar · "Rythym Guitar" · soft notes
const overdriven_guitar_soft = note(`<
  ~@23 A ~@15 B@3 C D ~@3 E@4 F G@3 H I J@2 F K L@2 M D N O P Q ~@4 R ~@17 B@3 ~@80
>`.pickRestart({
  A: "d3 ~ [g2,d3] ~ d3 ~ d3 ~ d3 ~@7", B: "[~@31 e2@32 d2@33]/3", C: "f2", D: "g2", E: "[c3@31 b2@32 a2@32 g2@33]/4",
  F: "f#2@7 e2", G: "[f#2@27 e2@4 g2@64 ~]/3", H: "c3", I: "b2", J: "[a2@31 g2@33]/2", K: "f#2",
  L: "[g2@43 ~ g2@6 ~@2 g2@3 ~ g2@2 g2@2 g2@2 g2@2]/2", M: "f2@31 ~", N: "c3 b2", O: "a2@15 g2@16 ~", P: "f2@3 e2",
  Q: "d2!3 ~@5", R: "d3",
})).s("gm_overdriven_guitar").gain(0.32).pan(0.9)

// chords · rock organ · "Organ"
const rock_organ = note("<~@160 A B@8 ~@5>".pickRestart({
  A: "~ [e5,a5,c6,a6]@7", // Am
  B: "[~@4 [e5,b5,d6,a6]@12 g6@4 g6@16 [a5,c6,a6]@32 a6@12 g6@4 [g5,b5,d6,g6]@16 [e5,a5,c6,a6]@32 a6@12 g6@4 [g5,b5,d6,g6]@16 [f4,f5,a5,c6,f6]@65 ~@27, ~@4 [d5,g5,b5,d6]@5 e5@12 ~@12 [e5,b5,d6]@4 ~@27, ~@17 [b5,d6]@4 ~@43]/8", // Esus4 Am G Am G F G E7 …
})).s("gm_rock_organ").gain(0.64).pan(0.7)

// chords · violin
const violin = note("<~@169 A@5>".pickRestart({
  A: "[~@61 g3@11 f3@26 c3@53 ~@9, ~@5 c4@146 ~@9]/5",
})).s("gm_violin").gain(0.31)

// other · distortion guitar · "Lead Guitar"
const distortion_guitar = note(`<
  ~@25 A B C D E B F G H@2 I ~@35 J@2 ~@4 A B C D E B F G H@2 I ~@5 K L M N O P Q R S T U V W X Y@2 Z AA AB AC AD AE AF
  AG AH AI@7 ~@19 AJ AK AL AM AN AK AO AP AQ@4 ~@18
>`.pickRestart({
  A: "a3@8 e3@2 a3@4 a3 b3", B: "a3@3 g3 g3@3 e3", C: "a3 b3 a3@8 e3@2 a3@2 b3@2", D: "c4@4 d4@2 b3@4 a3@2 d4@2 c4 d4",
  E: "c4@7 ~ e3@2 a3@4 a3 b3", F: "a3@9 ~ a3@2 c4 ~ d4 ~", G: "d4@4 f4 ~ d4@6 c4@2 b3@2", H: "c4/2", I: "f3",
  J: "[g4 a4 g4 ~ a4 g4 ~ [g4,a4] ~ a4 g4 ~ g4@2 a4 g4 a4@2 g4 a4 g4 a4@2 g4 a4 g4 a4@2 g4 a4 g4 a4@2 g4 a4 g4 ~ a4 g4 ~ g4@2 a4 g4 ~ a4 g4 ~ f5@16, ~@11 a4@2 ~@26 a4@2 ~@23]/2", // Gsus2
  K: "~@7 e2", L: "f2@7 a2@4 c3@3 ~@2 c3@4 b2@6 ~@2 b2@4", M: "c4@6 c4@2 e4@2 f4@4 g4 a4",
  N: "g4@4 d4@8 c4@4 d4@8 ~@2 b3@5 ~, ~@12 b3 ~@3, ~@25 c4@2 ~@5", O: "[a3,c4]@8 c5@19 ~ e4@2 f4 ~", P: "g4@13 ~@2 g4",
  Q: "a4@2 b4@2 c5@2 b4@2 c5@2 d5 c5 d5 f#5 g5 a5@12 ~ d5@2 e5@2", R: "d5@5 ~ a4@2 b4@2 c5@2 d5@2 a4 c5",
  S: "d5 c5@7 b4@6 ~ g4 ~ c5@4 b4@3 a4@2 b4 a4 g4@4", T: "e5@8 c5 g4@3 e5@2 f5@2 g4@14 ~@2, ~@16 g5@11 ~@5",
  U: "e4@13 ~ e4@2 f4@4 e4@4 d4 e4@2 d4@2 c4@3", V: "g4@7 c4 f4@2 e4 d4 b3@4",
  W: "a3@13 ~ e5@2 ~ e5@2 c5 e5 g5@2 ~@2 g5@2 ~ c5@2 e5@2, ~@16 g5@2 ~@5 e5@2 ~@2 e5@2 ~@3, ~@12 c5 ~@3",
  X: "g5@10 g5 ~ e5 g5 ~ e5 d5 ~ c5 ~ d5 ~ e5 ~ c5 ~ d5 ~ e5 ~ c5 ~",
  Y: "[d5@16 d5@2 c5@2 e5@2 d5@2 c5@2 a#5@14 ~@4 a3@4 b3@4 c4@4 d4@5 c4@2 d4]/2",
  Z: "c4@4 b3@6 ~@2 g3@4 c4@4 ~ b3 c4 ~ a3@4 g3@4, ~@24 b3 ~@7",
  AA: "a3@4 b3@8 g3@4 c4@4 ~ b3 c4 ~ a3@4 g3@4, ~@24 b3 ~@7",
  AB: "d#4@10 ~@2 g#3@4 d#4@4 ~ c#4 d#4 ~ c4@4 c#4@2 d#4@2, ~@24 c#4 ~@7", AC: "f4@12 c#4@3 f4@6 ~@3 d#4 f4@2 f#4@4 ~",
  AD: "a#4@12 ~@3 a#4@16 ~", AE: "a#4@12 f#4@4 g#4@8 f#4@3 ~ f4@2 f#4 f4",
  AF: "d#4@10 ~@2 g#4@4 c5@8 a#4@2 c5 a#4 g#4@4", AG: "c5@10 ~@2 g#4@4 c5@8 a#4@2 c5 a#4 g#4@4", AH: "c5",
  AI: "[~ b4@96 ~@15]/7", AJ: "~ a3@4 e3 a3@2", AK: "a3 b3 a3@6 g3@2 g3@6", AL: "e3@2 a3 b3 a3@8 e3@2 a3@2",
  AM: "b3 c4@2 d4 b3@2 a3 d4", AN: "c4 d4 c4@7 ~ e3@2 a3@4", AO: "e3@2 a3@9 ~ a3@2 c4 ~",
  AP: "d4 ~ d4@4 f4 ~ d4@6 c4@2", AQ: "[b3@4 c4@64 ~ f3@32 ~@27]/4",
})).s("gm_distortion_guitar").gain(0.72).pan(1)

// other · overdriven guitar · "Lead Guitar"
const overdriven_guitar_2 = note(`<
  ~@25 A@2 B C@3 D E F@3 ~@35 G H ~@4 A@2 B C@3 D E F@3 ~@7 I J K L M N O P Q R S T U@2 V W X Y Z AA AB AC AD AE@3 ~@23
  AF AG AH AI AJ AG AK AL AM@4 ~@18
>`.pickRestart({
  A: "[~ a3@16 e3@4 a3@8 a3@2 b3@2 a3@12 g3@4 g3@12 e3@3]/2", B: "~ a3@2 b3@2 a3@16 e3@4 a3@4 b3@3",
  C: "[~ c4@8 d4@4 b3@8 a3@4 d4@4 c4@2 d4@2 c4@14 ~@2 e3@4 a3@8 a3@2 b3@2 a3@12 g3@4 g3@12 e3@3]/3",
  D: "~ a3@18 ~@2 a3@4 c4@2 ~@2 d4@2 ~", E: "~ d4@8 f4@2 ~@2 d4@12 c4@4 b3@3", F: "[~ c4@64 f3@31]/3",
  G: "~ g4 ~ g4 ~@7 g4 ~ g4@2 ~ g4 ~@2 g4 ~ g4 ~@2 g4 ~ g4 ~@2 g4 ~ g4",
  H: "~@2 g4 ~ g4 ~@2 g4 ~ g4@2 ~ g4 ~@2 g4 ~ f5@15", I: "c4@6 c4@2 e4@2 f4@4 g4 a4",
  J: "g4@4 d4@8 c4@4 d4@8 ~@2 b3@5 ~, ~@12 b3 ~@3, ~@25 c4@2 ~@5", K: "[a3,c4]@8 c5@19 ~ e4@2 f4 ~", L: "g4@13 ~@2 g4",
  M: "a4@2 b4@2 c5@2 b4@2 c5@2 d5 c5 d5 f#5 g5 a5@12 ~ d5@2 e5@2", N: "d5@5 ~ a4@2 b4@2 c5@2 d5@2 a4 c5",
  O: "d5 c5@7 b4@6 ~ g4 ~ c5@4 b4@3 a4@2 b4 a4 g4@4", P: "e5@8 c5 g4@3 e5@2 f5@2 g4@14 ~@2, ~@16 g5@11 ~@5",
  Q: "e4@13 ~ e4@2 f4@4 e4@4 d4 e4@2 d4@2 c4@3", R: "g4@7 c4 f4@2 e4 d4 b3@4",
  S: "a3@13 ~ e5@2 ~ e5@2 c5 e5 g5@2 ~@2 g5@2 ~ c5@2 e5@2, ~@16 g5@2 ~@5 e5@2 ~@2 e5@2 ~@3, ~@12 c5 ~@3",
  T: "g5@10 g5 ~ e5 g5 ~ e5 d5 ~ c5 ~ d5 ~ e5 ~ c5 ~ d5 ~ e5 ~ c5 ~",
  U: "[d5@16 d5@2 c5@2 e5@2 d5@2 c5@2 a#5@11 ~@7 a3@4 b3@4 c4@4 d4@5 c4@2 d4]/2",
  V: "c4@4 b3@6 ~@2 g3@4 c4@4 ~ b3 c4 ~ a3@4 g3@4, ~@24 b3 ~@7",
  W: "a3@4 b3@8 g3@4 c4@4 ~ b3 c4 ~ a3@4 g3@4, ~@24 b3 ~@7",
  X: "d#4@10 ~@2 g#3@4 d#4@4 ~ c#4 d#4 ~ c4@4 c#4@2 d#4@2, ~@24 c#4 ~@7", Y: "f4@12 c#4@3 f4@6 ~@3 d#4 f4@2 f#4@4 ~",
  Z: "a#4@12 ~@3 a#4@16 ~", AA: "a#4@12 f#4@4 g#4@8 f#4@3 ~ f4@2 f#4 f4",
  AB: "d#4@10 ~@2 g#4@4 c5@8 a#4@2 c5 a#4 g#4@4", AC: "c5@10 ~@2 g#4@4 c5@8 a#4@2 c5 a#4 g#4@4", AD: "c5",
  AE: "[~ b4@33 ~@14]/3", AF: "~@5 a3@16 e3@4 a3@7", AG: "~ a3@2 b3@2 a3@12 g3@4 g3@11",
  AH: "~ e3@4 a3@2 b3@2 a3@16 e3@4 a3@3", AI: "~ b3@4 c4@8 d4@4 b3@8 a3@4 d4@3", AJ: "~ c4@2 d4@2 c4@14 ~@2 e3@4 a3@7",
  AK: "~ e3@4 a3@18 ~@2 a3@4 c4@2 ~", AL: "~ d4@2 ~@2 d4@8 f4@2 ~@2 d4@12 c4@3", AM: "[~ b3@4 c4@64 f3@32 ~@27]/4",
})).s("gm_overdriven_guitar").gain(0.72).pan(0.2)

// other · overdriven guitar · "Lead Guitar" · soft notes · Gsus2
const overdriven_guitar_soft_2 = note(`<
  ~@71
  [~@2 a4 ~@2 a4 g4 ~ [g4,a4] ~ a4 ~ a4@2 ~ a4 ~ a4@2 ~ a4 ~ a4@2 ~ a4 ~ a4@2 ~ a4 ~]
  [a4@2 ~ a4 ~@2 a4 ~ a4@2 ~ a4 ~@2 a4 ~@17]
  ~@101
>`).s("gm_overdriven_guitar").gain(0.4).pan(0.2)

// drums · kick
// … 76 more lines

More by Boston