Strudelify

Exactly Like You

James

KeyC majorTempo161 bpm
0:00/0:00
// Exactly Like You — James
// 161 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 1 vibraphone (copy of ch 2 voice oohs)
// note: Full arrangement: all 85 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(161/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 · electric guitar jazz
const electric_guitar_jazz = note(`<
  [e4@6 b3@4 ~@2 d4@5 ~@2 a3@4 ~]
  [c4@5 ~@2 e3@4 ~@2 b3@5 ~ a3@4 ~]
  [~@3 g3@2 ~ a3@2 ~ b3@2 ~ d4@2 ~ c4@2 ~ b3@2 ~ a3@2 ~]
  [g3@11 ~@7 g4@3 ~@3]
  ~@81
>`).s("gm_electric_guitar_jazz").gain(0.4)

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

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A B C D E F G H I J K L M N O P@2 Q R S@2 T U V W X Y Z AA AB AC AD AE AF AG@2 AH AI AJ AK AL AM AN AO AP AQ AR AS AT
  AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL@2 BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB ~
>`.pickRestart({
  A: "~ e4@6 [g3,e4] ~@5 e3@5 ~ b3 ~@4, c4@3 ~@6 e3 ~@2", B: "~@7 [e3,c4,e4] ~@5 d#3@5 d#3@2 ~@4",
  C: "~ [g3,b3,f4]@6 ~@11 [d3,g3] f4 ~@4", D: "d3@7 ~@5", E: "~@6 [e3,g3,e4] ~@17", F: "~@7 [g3,b3] ~@11 [b3,e4] ~@4",
  G: "~@17 a3@2 [a3,f4] ~@4", H: "~ c#4@6 [g3,e4] ~@11 c#4 ~@4, e3 ~@3", I: "~ f4@5 d4 ~@11 a3 ~@5",
  J: "~@17 g3@2 [e3,b3] ~@4", K: "~@18 d3 ~@5", L: "~@7 [c#4,e4] ~@11 [c#4,e4] ~@4", M: "~@6 e3@2 ~@10 [g3,c4] e4 ~@4",
  N: "~@7 [b3,e4] ~@10 g3 ~@5, ~@3 e3 ~@8", O: "~@7 f4 ~@8 c4@2 [d3,a3] f4 ~@4",
  P: "[~@16 c#4@2 [e3,g3] ~@11 f4 ~@11 [f3,a3] ~@5, ~@3 c#4@2 ~@3]/2", Q: "~@6 [e3,e4]@2 ~@9 e3 ~@6",
  R: "f#3@6 ~ [c4,f4]@5 d3@10 ~@2", S: "[~@5 d3 ~@6 [e3,c4]@3 [g3,c4] ~@5 e3 ~@2, ~@4 b3@5 ~@7]/2",
  T: "e3@6 [e3,g3]@2 ~@4 e3@6 ~ e4@2 ~@3, ~@9 g3 ~@2", U: "f#4@3 ~@6 [a3,f#4] ~@2",
  V: "~@6 [d3,c4]@2 ~@10 [d3,a3,c4] ~@5", W: "b3@3 b3 ~@2 b3@3 [d3,g3] ~@2", X: "[d3,g3,f4]@3 [d3,b3] ~@4 d3 ~@3",
  Y: "[e3,g3]@6 e4@2 ~@4 f3@6 [c4,f4] ~@5", Z: "[g3,e4]@6 c4 ~@3 g3@6 [g3,c4]@2 ~ e4 ~@4",
  AA: "~ c4@5 ~@7 g3@5 g3@2 ~@4", AB: "~@7 [c4,e4] ~@10 c4@2 ~@4", AC: "~ c4@5 c4@2 ~@11 b3@2 ~@3, ~@9 [e3,g3] ~@2",
  AD: "~ c4@6 ~@3 [e3,g3]@6 ~@2 g3 ~@5", AE: "~ b3@5 g3@2 ~@16", AF: "~ f4@5 b3@2 ~@2 g3@6 ~@2 g3@2 ~@4",
  AG: "[~ [c4,e4]@5 g3@2 ~@5 a3@5 c4@2 ~@2 e3@6 e3@2 c4 e4 ~@2 e3@8 ~ e4 ~@4, g3 ~@7]/2", // C
  AH: "~ f4@5 ~ f4@2 ~@4 f4@6 f3@2 ~@3, ~@2 f3 ~@5", AI: "~@17 f3@3 ~@4", AJ: "g3@3 ~@6 g3 ~@2",
  AK: "~@12 g3@6 ~ e4@5, ~@3 e3", AL: "~@7 [f3,a3,d4]@2 ~@15", AM: "~@19 b3@5",
  AN: "~ b3@5 ~ e4@6 e4@5 e3@6, e3 b3 ~@2", AO: "~ d4@5 a3@4 d4@6 b3@2 b3@6",
  AP: "~@6 g3@2 ~@5 b3@5 b3@2 ~@4, ~@2 g3 ~", AQ: "e3@6 ~ c4@3 ~@8 [e3,g3]@2 ~@4", AR: "~@3 d3 ~@5 [d3,a3,c4,f#4] ~@2",
  AS: "~@7 c4@2 ~ c4@6 [a3,c4]@2 ~ f#4 ~@4, ~@3 d3 ~@8", AT: "~ f4@5 ~ f4@2 ~@4 c#4@6 [c#4,g4]@2 ~@3, ~@3 g3 ~@8",
  AU: "~ b3@5 d3@3 ~ b3@6 ~@3 b3@2 ~@3, d3@2 ~@4 d3 ~", AV: "~ [c4,e4]@5 c4@2 ~@5 c4@6 [c4,f4] ~@4, ~@2 a3 ~",
  AW: "~@3 g3@2 e3 ~@6, ~ c4 ~@2", AX: "~ e4@6 ~@5 e3@6 ~ e4@2 ~@3, e3@3 ~@6 b3 ~@2", AY: "~ c4@5 e3@2 ~@4 g3@6 ~@6",
  AZ: "[a3,f#4]@6 [a3,c4]@2 ~@5 c4@5 ~@6, ~@12 a3@5 ~@7", BA: "~@6 [a3,c4]@2 ~@10 d3 ~@5",
  BB: "~@3 [b3,f4] ~@2 [g3,g4]@3 d3 ~@2", BC: "g3@6 f4@2 ~@8 d3@2 b3 f4 ~@4", BD: "~ c4@6 ~@6 f4@5 f4 ~@5, e3 ~@3",
  BE: "c4@6 e3 ~@9 c4@2 e3@2 ~@4", BF: "e3@6 ~ e4@2 ~@4 e4@5 [e3,g3]@2 ~@4, ~@3 [e3,g3] ~@8",
  BG: "~ [c4,e4]@6 c4 ~@5 [e3,g3]@5 ~ e4@2 ~@3, ~@9 c4 ~@2", BH: "~@13 b3@5 ~ b3@2 ~@3, ~@6 e3@3 g3 ~@2",
  BI: "~@7 e4 ~@2 [e3,c4]@6 ~@3 c4 ~@4, ~@3 g3 ~@8", BJ: "~ [g3,b3]@6 f4@2 ~@4 [g3,b3]@5 ~ b3@2 ~@3, ~@9 d3 ~@2",
  BK: "~ b3@5 ~@4 d3@6 ~@8", BL: "[~ e4@6 ~@11 f3@2 ~@2 [e3,g3]@6 g3@2 ~@18, e3@6 ~@16 c4@9 ~@17]/2",
  BM: "~@7 [d4,f4]@2 ~@10 d4@2 ~@3", BN: "~ f3@5 ~ c4 ~@8 g#3@3 ~@5",
  BO: "~ c4@6 ~@6 g3@5 ~ e4@2 ~@3, e3@6 ~ e4@11 e3@3 ~@3", BP: "~ g3@5 ~@7 e4@6 e4@5, ~@2 e3 ~",
  BQ: "~ [a3,d4]@6 [a3,d4,f4]@2 ~@4 d4@6 [a3,d4,f4] ~@4", BR: "~ [g#3,f4]@6 ~@3 c4@8 ~@6, ~@5 g#3@3 ~@4",
  BS: "e3@6 g3@6 ~ g3@5 ~ b3@5, ~@3 g3", BT: "~ f4@6 ~@3 a3@6 g3@2 ~@4 [d3,g3]@2, f3@5 ~@7",
  BU: "~@3 [g3,e4] ~@2 e3@3 ~@3", BV: "~ e4@6 e4@2 ~@10 e4@2 ~@3, e3@3 ~@6 c4 ~@2",
  BW: "~ c4@6 ~@6 c4@5 a3@2 ~@4, ~@12 d3@5 ~@7", BX: "~@8 d3 ~@3", BY: "~ f4@5 [d3,b3]@2 ~@5 c#4@5 a#3@2 ~@4",
  BZ: "~ b3@5 ~ f4@2 ~@2 d3@5 f4@3 b3@2 ~@3, ~@6 d3@3 ~ [g3,f4]@6 d3 ~@7", CA: "e3@6 g3@2 ~@11 f4 ~@4, ~@9 f3 ~@2",
  CB: "~@10 g3@2 e3 c4 ~@5 e4@5, e3@5 ~@7, ~@3 g3@2 ~@7, ~@7 e4@6 ~@5 c4@6",
})).s("gm_acoustic_guitar_steel").gain(0.15).pan(0.9)

// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@6 A ~@2 B ~@12 C ~ D ~@2 E ~ F ~ G ~ H ~ G ~ I ~@2 J K L M ~@2 N ~@2 O P ~@2 Q ~@11 R S ~@3 T ~ U K ~@2 V ~ N ~@6
>`.pickRestart({
  A: "~@13 c4@6 ~@5", B: "~@13 [b3,e4]@6 ~@5", C: "~@13 c4@5 ~@6, ~@12 a3@5 ~@7", D: "f4 ~ g4 ~", E: "~@5 c4@3 e3 ~@3",
  F: "~ g3@6 ~@6 g3@5 ~@6", G: "~@18 e3 ~@5", H: "~@9 d3 ~@2", I: "~@19 f4 ~@4", J: "~@13 f3@6 ~@5", K: "~@3 f3@2 ~@7",
  L: "~@13 g3@6 ~@5", M: "~@10 f4@9 ~@5", N: "~ a3@6 ~@17", O: "~ [g3,f4]@6 ~@9 b3@2 ~@6", P: "~@3 g3 ~@8",
  Q: "~@13 e4@6 ~@5", R: "~@3 d3 ~@8", S: "~@13 f4@6 ~@5", T: "~ e4@6 ~@17", U: "~@13 a3@6 ~@5", V: "~ c4@5 ~@18",
})).s("gm_acoustic_guitar_steel").gain(0.1).pan(0.9)

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

// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_4 = note(`<
  ~@5 A B ~@2 C B D ~@9 E ~@4 F G ~@3 H I J K ~@3 L M ~ N ~@2 O P Q R ~ S ~@8 F ~@4 D ~ T ~@3 U ~@2 V W ~@3 X ~ Y ~@2 Z
  ~@2
>`.pickRestart({
  A: "~ b3@6 ~@6 e4@6 ~@5, g3 ~@3", B: "~ c4@5 d3@2 ~@16", C: "g3 ~@3", D: "~@18 e3 ~@5", E: "~@13 e4@6 ~@5",
  F: "~ e4@5 ~@18", G: "e3 ~@3", H: "e3@3 g3 ~@8", I: "~@13 g4@6 ~@5", J: "~ g3@5 d3@2 ~@16", K: "~@13 f4@6 ~@5",
  L: "~ e4@6 ~@17", M: "~ g3@5 ~@18", N: "~@19 f4@5", O: "~ [g3,c4]@5 ~@12 e3@2 ~@4", P: "~ g3@6 ~@6 g3@5 ~@6",
  Q: "~@2 a3 ~", R: "~@6 a3@2 ~@8 f#4@3 ~@5", S: "~@5 f4@3 ~@4", T: "~@18 d3 ~@5", U: "~ g#3@6 ~@17",
  V: "~@13 f3@5 ~@6", W: "~@5 f4@4 g3@3", X: "~@13 [g3,c4]@5 ~@6", Y: "d3@3 a3 ~@8", Z: "~@9 a3 ~@2",
})).s("gm_acoustic_guitar_steel").gain(0.1).pan(0.4)

// chords · acoustic guitar steel
const acoustic_guitar_steel_5 = note(`<
  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI@2 AJ AK AL AM AN AO ~ AP@2 AQ AR AS AT
  AU AV AW@2 AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP ~ BQ BR BS BT BU BV BW BX BY BZ CA ~
>`.pickRestart({
  A: "[e3,g3]@6 ~ c4 ~@5 b3@5 ~@6, ~@3 e3 ~@8", B: "~@13 f#4@6 a3@2 ~@3", C: "~ d3@6 [d3,b3,f4] ~@16",
  D: "~ [b3,f4]@14 ~@9", E: "~ e4@6 ~@10 e3 [e3,g3] e4 ~@4, e3@3 ~@5 g3 ~@3", F: "~@7 e4 ~@11 g3 ~@4, ~@3 e3 ~@8",
  G: "~@7 f4@2 ~@10 c4 ~@4, ~@3 a3 ~@8", H: "~ g3@6 c#4 ~@9 e3!2 e4@2 ~@3, ~@8 g3 ~@3", I: "a3@6 [f3,f4] ~@9 a3@2 ~@6",
  J: "~@7 g3 ~@9 e3 ~ [g3,e4] ~@4", K: "~@7 f4@2 ~@8 [d3,a3]@2 ~@5, ~@3 a3 ~@8",
  L: "~ g3@6 ~@11 g3 ~@5, e3@3 ~@5 g3 ~@3, ~@17 e3@2 ~@5", M: "~@3 [g3,c4] ~@4 e3 ~@3", N: "~@17 e3 ~ [b3,e4] ~@4",
  O: "~@6 a3@2 ~@11 c4@2 ~@3", P: "~@7 e4 ~@8 g3@2 ~@6", Q: "~@6 [f3,d4] ~@10 f3 ~ f4 ~@4",
  R: "~@6 g3@2 ~@9 g3 e3 e4 ~@4, ~@8 c4 ~@3", S: "~ d4@5 a3@6 ~@10 d3@2, ~@13 [c4,f#4]@11",
  T: "~@5 g3 ~@6, g3@5 ~@7, ~ g4@12 ~@11", U: "~ e4@6 ~@6 b3@5 [g3,b3]@2 ~@4, ~@2 e3 ~",
  V: "~ e4@6 [c4,e4] ~@16, g3 ~@3", W: "a3@6 c4@2 ~@10 d3@3 ~@3", X: "~@3 f#4 ~@8", Y: "d3@3 ~@3 [d3,g3]@3 b3 ~@2",
  Z: "~@6 f4@2 ~@2 g3@6 g3@2 ~ f4 ~@4, ~@9 b3@9 [d3,b3]@2 ~@4", AA: "~@6 g3@2 ~@5 c4@5 a3@2 ~@4, ~@2 a3 ~",
  AB: "c4@6 ~@12 g3 ~@5", AC: "~@7 c4@2 ~@4 e3@5 ~ e4 ~@4, ~@3 [e3,g3] ~@5 e3 ~@2",
  AD: "~ e4@5 ~ g3@2 ~@10 e4@2 ~@3, e3@3 e3 ~@5 [e3,g3] ~@2", AE: "~ e4@5 g3@2 ~@5 b3@6 ~@5",
  AF: "~ e4@5 ~ e4 ~@2 c4@6 c4@3 [c4,e4] ~@4, ~@3 e3 ~@8", AG: "~ f4@6 [b3,f4]@2 ~@10 b3@2 ~@3, ~@9 g3 ~@2",
  AH: "d3@6 ~ f4@2 ~@7 d3@2 f4 ~@5, ~@3 g3 ~@8",
  AI: "[e3@6 e3@2 ~@11 f4@2 ~ c4@9 ~@11 a#3 c4 ~@4, ~@9 f3 ~ g3@3 ~@10]/2", AJ: "~ a3@6 ~@6 [f3,d4]@6 f4 ~@4",
  AK: "~ [f3,c4]@5 ~ g#3@2 ~ f3@6 g#3@3 c4 ~@4", AL: "~@7 e4@12 ~@5, ~ [e3,g3] ~@2", AM: "~ [e3,c4]@6 e4 ~@5 d4@6 g3@5",
  AN: "~ [f3,a3]@6 ~@6 d4@6 f4 ~@4", AO: "~@8 g3 ~@3, ~@10 c4@9 ~@5",
  AP: "[~ f4@6 d4@3 [f3,a3]@6 ~@3 f4@11 e4@2 ~@5 e4@6 e4@2 ~@3, f3@5 ~@3 d3@3 ~@7 e3@3 ~@3]/2", // F
  AQ: "~ e4@5 e3@3 ~@9 c4@2 ~@4", AR: "~@7 [c4,f#4]@2 ~@15, ~@3 a3 ~@8", AS: "~ f#4@6 f#4 ~@10 d3@2 ~@4, [a3,c4] ~@3",
  AT: "~ [d3,g3]@5 d3@2 ~@5 a#3@6 ~@5", AU: "~@7 f4@2 ~@2 d3@5 [g3,f4]@3 ~@5, ~@5 g3@3 ~@4", AV: "g3 ~ f3 ~",
  AW: "[~ c4@6 ~@17 [g3,c4]@6 ~ e4 ~@5 b3@5 [e3,g3]@2 ~@4, ~@13 d#3@20 ~@3 g3@6 ~@6]/2", AX: "g3@3 g3 ~@5 [g3,c4] ~@2",
  AY: "[e3,c4]@3 ~@6 [d3,a3,c4,f#4] ~@2", AZ: "~@8 d3 ~@3", BA: "f4@3 g3 ~@5 [b3,g4] ~@2",
  BB: "[d3,b3,f4]@6 [d3,g3,b3]@2 ~@2 [d3,g3]@6 g3@2 g3 ~@5, ~@3 b3@3 ~@2", BC: "~@2 f3 ~",
  BD: "e4@6 [g3,c4] e4 ~@2 e3@6 ~@3 e4 ~@4", BE: "~ c4@5 ~@13 [b3,e4] ~@4", BF: "~@7 g3@2 ~@9 e3@2 ~@4, ~@3 e3 ~@8",
  BG: "~ e4@5 [g3,c4]@2 ~@5 e4@6 ~@5, ~@2 g3 ~", BH: "~@7 c4@2 ~ g3@6 [e3,g3,c4]@2 g3 e4 ~@4, ~@3 e3 ~@8",
  BI: "~ d3@5 ~ b3@2 ~@15, ~@3 g3 ~@8", BJ: "~ g3@6 f4@2 ~ g3@6 d3@2 f4 ~@5, d3 ~@3",
  BK: "~@3 [e3,e4] ~@2 f3@3 [a3,c4] ~@2", BL: "~@6 [e3,g3,c4] e4 ~@10 e3 e4 ~@4",
  BM: "~ [a3,f4]@5 [f3,a3]@3 ~@4 [a3,d4]@6 a3@2 ~@3", BN: "~ c4@5 ~ [f3,g#3,f4]@2 ~ g#3@6 c4@2 ~ [c4,f4] ~@4",
  BO: "g3@3 [e3,g3]@3 e3@3 g3 ~@2", BP: "~ c4@5 ~ c4 ~@16, ~@3 [e3,g3] ~@8", BQ: "~ c4@5 ~ c4@3 ~@14, f3@3 g#3@2 ~@7",
  BR: "~ b3@5 [e3,b3]@6 ~ b3@6 e4@5, ~@2 e3 ~", BS: "~ d4@6 [d4,f4]@3 f3@6 ~@2 b3@6",
  BT: "~ g3@5 e3@2 ~@4 g3@6 ~ e4@2 ~@3, e3@5 ~@13 b3@2 ~@4", BU: "~ c4@5 ~ c4@3 ~@2 e3@5 ~ [e3,g3]@2 ~@4, ~@2 e3 ~@5",
  BV: "d3@6 ~ [c4,f#4]@2 ~@9 [d3,c4,f#4]@2 ~@4", BW: "~ f#4@5 d3@2 ~@2 c4@6 ~@2 [d3,a3]@2 ~@4, a3 ~@3",
  BX: "~ [d3,g3]@5 ~ f4@2 ~@4 a#3@6 c#4@2 ~@3", BY: "~ f4@6 b3@2 ~ b3@6 [g3,b3]@2 d3@3 ~@3",
  BZ: "~@7 e4 ~@5 f4@6 ~@5, ~@3 [e3,c4] ~@2 a3@3 ~@3", CA: "~ c4@6 ~@6 g3 ~@10",
})).s("gm_acoustic_guitar_steel").gain(0.15).pan(0)

// … 185 more lines

More by James