Strudelify

Whiskey Under the Bridge

Brooks & Dunn

KeyE majorTempo139 bpm
0:00/0:00
// Whiskey Under the Bridge — Brooks & Dunn
// 139 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 11 "PIANO BASS" piano (copy of ch 2 "BASS" electric bass finger)
// note: Full arrangement: all 95 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(139/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 · "BASS"
const bass = note(`<
  ~ A B C D E F G H C I J K L M N O P Q C R S T U V W X Y Z L T AA AB AC J C AD AE AF S AG AH@2 AI AJ S AK AL AM AN AO
  AP AQ AR AS AD AT AU AV AW AX L AY AZ BA BB BC C AD AE AF S AG AH@2 AI AJ S AK AL AM AN AO AN AF AN BD AD BE BF BG BH
  BI@3
>`.pickRestart({
  A: "e1@3 e1@3 e1@3 e1@2 e1", B: "b1@3 b1@3 b1@2 f#1 b1@3", C: "e1!4", D: "b1@2 f#1 b1@3 b1@2 b1 g#1@3",
  E: "e1 e2@2 e2 ~@2", F: "~ b1@2 b1 ~@2", G: "e2@3 e2@3 e2@2 d2 c#2@2 b1", H: "a1@3 a1@3 a1@2 a1 g1 g#1 a1",
  I: "e1@3 e1@3 e1@2 e1 g#1 a1 a#1", J: "b1!4", K: "b1@3 b1@3 b1@2 b1 a#1 b1 c#2", L: "e2@3 e2@3 e2@2 d2 c#2@2 c2",
  M: "b1@3 b1@3 b1@2 a1 g1@3", N: "e1@3 e1@3 e1@2 f#1 g#1@3", O: "a1@3 a1@3 a1@3 a1@2 c#2", P: "e2!3 g#1",
  Q: "b1@3 b1@2 b1 b1@3 b1@3", R: "b1@3 b1@3 c#2@2 b1 g1@2 g#1", S: "e1 g#1 b1 c#2", T: "b1@3 b1@3 b1@2 b1 g#1 a1 b1",
  U: "e1@3 e1@3 f#1@2 e1 g#1@2 g#1", V: "a1@3 a1@3 a1@2 a1!2 b1 c#2", W: "e2@3 e2@3 e2@2 e2 e2@2 b1",
  X: "e2@3 e2@2 e2 e2@2 g#1 a1@2 a#1", Y: "b1@3 b1@3 b1@3 b1@2 f#1", Z: "b1@3 b1@3 b1@2 b1 c#2@2 d2",
  AA: "e1@3 e1@3 e1@2 e1 g#1@3", AB: "a1!4", AC: "e1@3 e1@3 e1@2 g#1 a1@2 a#1", AD: "e1 f#1 g1 g#1",
  AE: "a1@3 c#2@3 e2@3 f#2@2 e2", AF: "a1@3 c#2@3 e2@2 e2 c#2@2 e2", AG: "e1 g#1 e1 f1",
  AH: "f#1@3 a#1@3 c#2@2 c#2 d#2@2 c#2", AI: "b1@3 d#2@3 f#2@2 f#2 g#2@2 f#2", AJ: "b1@3 a1@3 g#1@2 g#1 f#1@3",
  AK: "b1@3 d#2@3 f#2@2 f#2 d#2@2 f#2", AL: "e2@3 g#1@3 b1@3 g#1@2 b1", AM: "a1@3 c#2@3 e2@2 e2 a1@2 c#2",
  AN: "e1 g#1 b1 g#1", AO: "b1@2 b1 d#2@2 d#2 f#2@2 f#2 d#2@2 f#2", AP: "e1@3 g#1@3 b1@3 c#2@2 g#1",
  AQ: "b1@2 b1 b1@2 b1 c#2@2 b1 g#1@2 b1", AR: "e1!2 g#1 a1", AS: "b1@3 b1@3 b1@2 b1 b1@2 b1",
  AT: "a1@3 a1@2 a1 a1@2 a1 b1@2 c#2", AU: "e2@3 e2@2 b1 e2@3 e2@2 b1", AV: "e2@2 b1 e2@2 b1 e2@2 e2 c#2@2 c2",
  AW: "b1@3 b1@2 b1 b1@2 a#1 b1@2 a#1", AX: "b1@2 b1 b1@2 b1 c#2@2 b1 d#2@2 b1", AY: "b1@3 b1@2 b1 b1@2 a1 g1@3",
  AZ: "e1!2 f#1 g#1", BA: "a1@3 a1@3 a1@2 a1 b1@2 c#2", BB: "e2@3 e2@3 e2@2 d2 c#2@3", BC: "b1@3 b1@2 b1 b1@2 b1 b1@3",
  BD: "b1@3 d#2@2 d#2 f#2@2 f#2 d#2@2 f#2", BE: "a1@3 c#2@3 d2@3 d#2@2 d#2", BF: "e2@2 e2 g#1@3 a1@3 a#1@3",
  BG: "b1@2 b1 d#2@2 d#2 f#2@2 f#2 b1@2 b1", BH: "e1@2 e1 g#1@2 g#1 b1@2 b1 c#2@2 c#2",
  BI: "[c#2@2 b1 g1@2 e1@25 ~@6]/3",
})).s("gm_electric_bass_finger").gain(0.8)

// other · violin · "FIDDLE"
const violin = note("<~@21 A B ~ C@2 ~ D E F G ~ H I J K L M ~@39 A B ~ N@2 O ~@2 P ~ L Q R@2 S T@3>".pickRestart({
  A: "~@4 b5@7 ~ b5@9 ~@3", B: "~@4 f#5@3 ~ f#5 e5@3 c#5@4 b4@7 ~, ~@7 g#5@2 ~@15",
  C: "[~@4 c#4 ~ e4@2 f#4@2 a4 ~ c#5@5 ~ c#5@4 b4@15 ~@11]/2", D: "~@4 b4@6 d#5@2 f#5@9 e5 ~@2",
  E: "c#5@3 ~ c#5@3 ~ c#5@3 ~ c#5@4 b4@7 ~", F: "~@3 b5@8 ~ b5@10 ~@2",
  G: "~@4 e5 ~ f#5 ~ f#5 e5@2 ~ c#5@3 b4@7 ~@2, ~@7 g#5@2 ~@15", H: "~@4 [c#5,e5]@4 a4@4 [g#4,b4]@11 ~, ~@4 c#5 ~@7",
  I: "b4@17 f#4@4 e4@3", J: "f#4@19 ~@5", K: "~@4 b4 ~ c#5@2 ~ c#5 b4 ~ c#5@2 d5 c#5 b4@2 g4@3 g#4@2 ~, ~@4 d5 ~@7",
  L: "e4@6 f#4@5 g4@7 g#4@6", M: "a4",
  N: "[~@4 c#4 ~ e4@2 f#4@2 a4 ~ c#5@5 ~ c#5@4 b4@14 g#3@2 b3@2 c#4@2 e4@2 f#4@2 g#4@2]/2", O: "b4@11 ~",
  P: "~@2 e4 g#4 b4 c#5 b4@4 ~@2, ~@4 f4 ~@19", Q: "a4 b4 c5 c#5", R: "[e5@11 ~@7 [b4,e5]@3 ~ [b4,d#5]@20 ~@6]/2",
  S: "~@2 e4 g4@2 f#4 e4@3 d4@2 c#4", T: "[b3@2 a3 g#3@2 e3@25 ~@6]/3",
})).s("gm_violin").gain(0.56).pan(0.7)

// chords · acoustic guitar steel · "GUITAR-ACOU."
const acoustic_guitar_steel = note(`<
  ~ A B A B C D A E F@4 G B G H G B I J G J K L M@2 N@2 O B G H G B G ~ P@2 Q@2 R S T ~ G B G H G B G J I B I H G@2 N@2
  G J G H G B G ~ U@2 V@2 W@2 T ~ G B G H G B G H G B ~@2 G B G X@3
>`.pickRestart({
  A: "~ [e3,g#3,b3,e4]@2 [e3,g#3,b3,e4]", B: "~ [f#3,b3,d#4]@2 [f#3,b3,d#4]",
  C: "~@4 [e3,g#3,b3,e4]@8 [e3,g#3,b3,e4]@3 ~@9, ~@4 d4 ~@7 d4 ~@11", D: "~@4 [f#3,b3,d#4]@8 [f#3,b3,d#4]@3 ~@9",
  E: "~ [e3,a3,c#4]@2 [e3,a3,c#4]", // A
  F: "[~@6 [e3,g#3,b3]@12 [g#3,b3]@12 [g#3,b3,e4]@12 [g#3,b3,e4]@7 ~@5 [f#3,b3,d#4]@12 [f#3,b3,d#4]@12 [f#3,b3,d#4]@12 [f#3,b3,d#4]@6, ~@6 a#3 ~@11 e3@31 ~@47]/4", // E G#m E B
  G: "~ [g#3,b3,e4]@2 [g#3,b3,e4]", H: "~ [a3,c#4,e4]@2 [a3,c#4,e4]", I: "~ [g#3,e4]@2 [g#3,b3,e4], ~ b3 ~@2",
  J: "~ [f#3,d#4]@2 [f#3,b3,d#4], ~ b3 ~@2", K: "~ [g#3,b3]@2 [g#3,b3,e4], ~@6 e4@7 ~@11",
  L: "~ [c#4,e4] ~ [a3,c#4,e4], ~ a3@2 ~", M: "[~ [g#3,b3,e4]@2 [g#3,b3,e4]@2 [g#3,b3,e4]@2 [g#3,b3,e4]]/2",
  N: "[~ [f#3,b3,d#4]@2 [f#3,b3,d#4]@2 [f#3,b3,d#4]@2 [f#3,b3,d#4]]/2", O: "~ [b3,e4] ~ [g#3,b3,e4], ~ g#3@2 ~",
  P: "[~ [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]]/2", // A
  Q: "[~ [e3,g#3,b3]@2 [e3,g#3,b3]@2 [e3,g#3,b3] ~@2]/2", R: "~ [a#3,c#4] ~ [f#3,a#3,c#4], ~ f#3@2 ~",
  S: "~ [a#3,c#4,f#4]@2 [a#3,c#4,f#4]", T: "~ [b3,d#4,f#4]@2 [b3,d#4,f#4]",
  U: "[~ [e3,a3,c#4]@2 [a3,c#4]@2 [a3,c#4,e4]@2 [a3,c#4,e4], ~@3 e3@5]/2", // A
  V: "[~@6 [g#3,b3]@12 [g#3,b3,e4]@12 [g#3,b3,e4]@7 ~@11, ~ e4 ~@6]/2", // G#m E
  W: "[~ [a#3,c#4,f#4]@2 [a#3,c#4,f#4]@2 [a#3,c#4,f#4]@2 [a#3,c#4,f#4]]/2", // F#
  X: "[~@6 [f#3,d#4]@3 ~ [g#3,e4]@51 ~@11, ~@6 b3@55 ~@11]/3", // D#m C#m
})).s("gm_acoustic_guitar_steel").gain(0.48).pan(0.3)

// chords · acoustic guitar steel · "GUITAR-ACOU.2"
const acoustic_guitar_steel_2 = note(`<
  ~ A B A C D E F G H@2 B I J I K L M I J ~ M B A L A M N B J B O P A Q R S T U V W X Y Z AA AB AC K U A I J I M I AD AE
  AF A AG AH M I M P AI AC K AD U AJ A AK AL Y AM AN AO AC K P AP AQ AR AS K AT AD AU AV AC AR AW@3
>`.pickRestart({
  A: "~@4 [g#3,b3,e4] ~@7 [g#3,b3,e4]@12", B: "~@4 [f#3,b3,d#4] ~@7 [f#3,b3,d#4]@12",
  C: "~@4 [f#3,b3,d#4] ~@7 [b3,d#4]@6 ~@6, ~ f#3", D: "~ [e3,g#3,b3,e4]@2 [e3,g#3,b3,e4] ~@2, ~@12 d4 ~@11",
  E: "~@4 [f#3,b3,d#4]@8 [f#3,b3,d#4]@3 ~@9", F: "~@4 [e3,g#3,b3,d4,e4] ~@7 [e3,g#3,b3,e4]@10 ~@2",
  G: "~@4 [e3,a3,c#4] ~@7 [e3,a3,c#4]@9 ~@3", // A
  H: "[~@4 [g#3,b3,e4] ~@7 [g#3,b3,e4]@15 g#3 [b3,e4] ~@7 [g#3,b3,e4]@12]/2", // E E5 E
  I: "~@4 [f#3,b3,d#4] ~@7 [f#3,b3,d#4]@11 ~", J: "~@4 [g#3,b3,e4] ~@7 [g#3,b3,e4]@11 ~",
  K: "~@4 [g#3,b3,e4] ~@7 [g#3,b3,e4]@9 ~@3", L: "~@4 [a3,c#4,e4] ~@7 [a3,c#4,e4]@11 ~",
  M: "~@4 [g#3,b3,e4] ~@7 [g#3,b3,e4]@10 ~@2", N: "~@4 [f#3,b3,d#4] ~@7 [f#3,b3]@12, ~@6 d#4@5 ~",
  O: "b3 ~@3 [g#3,e4]@3 ~@5 [g#3,b3]@12, ~@4 b3 ~@7 e4@10 ~@2", P: "~@4 [a3,c#4,e4] ~@7 [a3,c#4,e4]@10 ~@2",
  Q: "~@2 [f#3,b3,d#4] ~@3 [f#3,b3,d#4]@6", R: "b3 ~@3 [g#3,b3,e4] ~@7 [g#3,b3,e4]@6 ~@6",
  S: "[e3,g#3]@5 ~ [f#3,a3]@6 [g3,a#3]@6 g#3@6, ~@9 b3@2 ~", T: "~@4 [e3,a3,c#4] ~@7 [a3,c#4,e4]@12",
  U: "~@4 [a3,c#4,e4] ~@7 [a3,c#4,e4]@12", V: "~@2 [g#3,b3,e4] ~@3 [g#3,b3,e4]@6",
  W: "~@4 [g#3,b3,e4] ~@7 [e3,g#3,b3]@3 ~@3 [f3,a3,c4]@3 ~@3", X: "~@4 [f#3,a#3,c#4] ~@7 [a#3,c#4,f#4]@10 ~@2",
  Y: "~@4 [a#3,c#4,f#4] ~@7 [a#3,c#4,f#4]@10 ~@2", Z: "~@4 [b3,d#4,f#4] ~@7 [b3,d#4,f#4]@12",
  AA: "~@4 [b3,d#4] ~@5 [a3,c#4] ~@5 [g#3,b3] ~@5 [f#3,a3] ~", AB: "~@4 [e3,g#3,b3] ~@7 [e3,g#3]@9 ~@3, ~@12 b3@7 ~@5",
  AC: "~@4 [f#3,b3,d#4] ~@7 [f#3,b3,d#4]@9 ~@3", AD: "[e3,g#3] [f#3,a3] [g3,a#3] [g#3,b3]",
  AE: "[a3,c#4] [b3,d4] [c4,d#4] [c#4,e4]", AF: "~@4 [b3,e4,g#4] ~@7 [b3,e4,g#4]@10 ~@2",
  AG: "~@3 [f#3,b3,d#4] ~@8 [f#3,b3,d#4]@12", AH: "~@4 [f#3,b3,d#4] ~@9 [f#3,b3]@7 ~@3, ~@4 d#4@3 ~",
  AI: "~@4 [g#3,b3,e4] ~@7 [b3,e4]@8 ~@4, ~@2 g#3 ~", AJ: "~@4 [a3,c#4,e4] ~@7 [a3,c#4,e4]@9 ~@3",
  AK: "~@4 [g#3,b3,e4] ~@7 [e3,g#3,b3]@2 ~@4 [f3,a3,c4]@2 ~@4", AL: "~@4 [f#3,f#4] ~@7 [a#3,f#4]@9 ~@3, ~@12 c#4 ~@11",
  AM: "~@4 [b3,d#4,f#4] ~@7 [b3,d#4,f#4]@8 ~@4", AN: "~@4 [b3,d#4] ~@5 [a3,c#4]@2 ~@4 [g#3,b3] ~@5 [f#3,a3] ~",
  AO: "~@4 [e3,g#3,b3] ~@7 [g#3,b3]@11 ~, ~@4 e4@3 ~", AP: "~@4 [g#3,b3,e4] ~@7 [b3,e4]@10 ~@2, ~ g#3",
  AQ: "~@4 [f#3,b3,d#4] ~@7 [f#3,b3,d#4]@10 ~@2", AR: "~@4 [g#3,b3,e4] ~@7 [g#3,b3,e4]@8 ~@4",
  AS: "~@4 [a3,c#4,e4] ~@7 [a3,e4]@10 ~@2, ~ c#4", AT: "~@4 [f#3,b3,d#4] ~@7 [f#3,b3,d#4]@6 ~@6",
  AU: "[a3,c#4]@6 [b3,d4]@6 [c4,d#4]@6 [c#4,e4]@5 ~", AV: "~@4 [b3,e4,g#4] ~@7 [b3,e4,g#4]@9 ~@3",
  AW: "[[g#3,b3,e4] ~@5 [f#3,b3,d#4] ~@3 [g#3,b3,e4]@50 ~@12]/3", // E B E
})).s("gm_acoustic_guitar_steel").gain(0.48).pan(0.7)

// other · electric guitar clean · "GUITAR-CLEAN"
const electric_guitar_clean = note(`<
  ~@11 A B C D ~ E C ~ F G ~@32 H I J K ~@4 L M N O ~@18 P@2 ~@6 Q R@3
>`.pickRestart({
  A: "~@4 d4@2 b3@4 g#3@2 b3@3 ~@3 a3@3 ~@3", B: "g#3@3 ~ g#3@2 f3@2 f#3@2 a3@2 d3@2 d#3@2 f#3@2 a3@2 d#3@2 f#3@2",
  C: "e3", D: "~@6 [a3,c#4]@3 ~ [a3,c#4]@14", E: "~@2 a2 c3 c#3 e3 g3 e3 f#3 e3 c3 c#3",
  F: "~@2 f#3@2 e3 c#3 e3@2 f#3@2 e3 c#3", G: "b2 ~ d3 ~@2 b3@7, ~ d#3@3",
  H: "e2 ~ e2 ~ e2@2 g2@2 g#2@2 b2@2 e3 ~ e3 ~ e3@2 g3@2 g#3@2 b3@2",
  I: "[b3,e4]@4 ~@2 [b3,d#4]@3 ~ [b3,d4]@9 ~@3 g4@2", J: "g#4 e4 g#4 a4 f#4 a4 a#4 g4 a#4 b4 g#4 b4",
  K: "c#5 a4 c#5 d5 ~ d5 d#5 c5 d#5 e5 c#5 e5, ~@2 b4 ~@3", L: "e5@6 b4@5 ~ d5@6 g#4@4 b4@2",
  M: "[c#4,a4]@2 ~ d#4@2 ~ b4@2 d#4@2 a#4@2 d#4@2 a4@2 d#4@2 g#4@2 d#4@2 f#4@2, ~ d4 ~@10", // F#m
  N: "e5@2 g4@2 g#4@2 d5@2 g4@2 g#4@2 c#5@2 g4@2 g#4@2 b4@2 g#4@2 f#4 ~",
  O: "e4@2 c4@2 c#4@2 [c#4,a4]@3 ~ [c#4,g4]@6 c4@2 c#4@2 ~@2 g4@2, ~@5 e4", // F#m C#dim
  P: "[e4!3 [e4,g#4]@2 ~ [e4,g#4]@3 [d4,g#4] ~ e4@10 ~@3, ~@9 f#4@2 c#4@9 ~@4]/2", Q: "~@2 e3 g3@2 f#3 e3@2 ~ d3@2 c#3",
  R: "[b2 ~ a2 g#2@2 e2@25 ~@6]/3",
})).s("gm_electric_guitar_clean").gain(0.8).pan(0.3)

// chords · electric guitar muted · "GUITAR-MUTES"
const electric_guitar_muted = note(`<
  ~ A B C D E F A G A@2 B@2 H I A G A B A J A B A G A@2 B@2 A I A G H B A K G@2 A L M@2 B N A D H O H B H B A B P Q A@2
  B@2 A D A G R B A S G@2 A T M@2 B U A B A G V D A O A W K X A Y C Z@3
>`.pickRestart({
  A: "[e2,b2] ~ [e2,b2] [e2,c#3] ~ [e2,c#3] [e2,b2] ~ [e2,b2] [e2,c#3] ~ [e2,c#3]", // E5 C#m E5 C#m
  B: "[b2,f#3] ~ [b2,f#3] [b2,g#3] ~ [b2,g#3] [b2,f#3] ~ [b2,f#3] [b2,g#3] ~ [b2,g#3]", // B5 E B5 E
  C: "[e2,b2,g#3] ~ [e2,b2] [e2,c#3] ~ [e2,c#3] [e2,b2] ~ [e2,b2] [e2,c#3] ~ [e2,c#3]", // E E5 C#m E5 C#m
  D: "[b2,f#3] ~ [b2,f#3] [b2,g#3] ~ [b2,g#3] [b2,f#3] ~ [b2,f#3] [b2,g#3] ~ [b2,f#3]", // B5 E B5 E B5
  E: "~@2 [e2,b2]@3 ~ [e2,b2] ~@5", F: "~@2 [b2,f#3]@3 ~ [b2,f#3] ~@5",
  G: "[a2,e3] ~ [a2,e3] [a2,f#3] ~ [a2,f#3] [a2,e3] ~ [a2,e3] [a2,f#3] ~ [a2,f#3]", // A5 D A5 D
  H: "[e2,b2] ~ [e2,b2] [e2,c#3] ~ [e2,c#3] [e2,b2] ~ [e2,b2] [e2,c#3] ~ [e2,b2]", // E5 C#m E5 C#m E5
  I: "[b2,f#3] ~ [b2,f#3] [b2,g#3] ~ [b2,g#3] [b2,f#3] ~ [b2,f#3] [b2,f#3,g#3] ~ [b2,g#3]", // B5 E B5 G#m7 E
  J: "[b2,f#3]@2 [b2,f#3] ~@3 [b2,f#3]@5 ~", K: "e2 f#2 g2 g#2",
  L: "[e2,b2] ~ [e2,b2] [e2,c#3] ~ [e2,c#3] [e2,b2] ~ [e2,b2] [f2,c3] ~@2", // E5 C#m E5 F5
  M: "[f#2,c#3] ~ [f#2,c#3] [f#2,d#3] ~ [f#2,d#3] [f#2,c#3] ~ [f#2,c#3] [f#2,d#3] ~ [f#2,d#3]", // F#5 D#m F#5 D#m
  N: "[b2,f#3] ~ [b2,f#3] a2 ~@2 g#2 ~@2 f#2 ~@2", // B5
  O: "[a2,e3] ~ [a2,e3] [a2,f#3] ~ [a2,f#3] [a2,e3] ~ [a2,e3] [a2,f#3] ~ [a2,e3]", // A5 D A5 D A5
  P: "[e2,b2] ~ [e2,b2] f#2@2 ~ g2@2 ~ g#2@2 ~", Q: "a2 ~@11",
  R: "[e2,b2] ~ [e2,b2] [e2,c#3] ~ [e2,c#3] [e2,b2] ~ [e2,b2] [e2,b2,c#3] ~ [e2,c#3]", // E5 C#m E5 C#m7 C#m
  S: "e2 ~ e2 f#2 ~ f#2 g2 ~ g2 g#2 ~ g#2", T: "[e2,b2] ~ [e2,b2] [e2,c#3] ~ [e2,c#3] [e2,b2] ~@2 [f2,c3] ~@2",
  U: "[b2,f#3] ~@2 a2 ~@2 g#2 ~@2 f#2 ~@2", // B5
  V: "[e2,b2] ~ [e2,b2] [e2,c#3] ~ [e2,c#3] [e2,b2] ~ [e2,b2] [e2,c#3] ~ [d2,e2,c#3]", // E5 C#m E5 C#m
  W: "[b2,f#3] ~ [b2,f#3] [b2,g#3] ~ [b2,g#3] [b2,f#3] ~ [b2,f#3] [b2,f#3,g#3] ~ [b2,f#3]", // B5 E B5 G#m7 B5
  X: "a2@2 ~ c#3@3 d3@3 d#3@3",
  Y: "[b2,d#3,f#3] ~ [b2,f#3] [b2,g#3] ~ [b2,g#3] [b2,f#3] ~ [b2,f#3] [b2,g#3] ~ [b2,g#3]", // B B5 E B5 E
  Z: "[[e2,b2] ~@4 b2@27 ~@4, ~@5 e2@26 ~@5]/3", // E5
})).s("gm_electric_guitar_muted").gain(0.64).pan(0.3)

// other · piano
const piano = note("<~@36 A B C ~ D E F ~@25 G H I J K L M ~@12 N@2 O P Q R@3>".pickRestart({
  A: "[e2,e3,e4]@6 [f#2,f#3,f#4]@6 [g3,g4]@5 ~ [g#2,g#3,g#4]@6, ~@2 g2 ~", // E F# G G#
  B: "g5 [g6,a6]@2 [a5,e6] a6 ~ e6 ~ [e6,a6] ~ [e6,a6]!2 ~ [e6,a6] ~ [e6,a6] ~ [e6,a6] a5 [e6,a6] ~ [e6,a6] a5 ~, [a5,d#6] ~@11", // Gsus2 A5 Adim
  C: "~@8 [a3,b3] [c4,d4,e4,f4,g4] [a4,b4,c5,d5] [e5,f5,g5,a5,b5] [c6,d6,e6,f6,g6] [a6,b6] ~ [g6,a6] [c6,d6,e6,f6] [g5,a5,b5] [d5,e5,f5] [a4,b4,c5] [e4,f4,g4] [b3,c4,d4] [g3,a3] [e3,f3]", // Asus2 C D7 Em C Asus2 Gsus2 Dm7 …
  D: "~@4 [e4,g#4,b4,e5] ~ [f4,a4,c5,f5] ~", E: "[f#4,a#4,c#5,f#5]@23 ~", F: "[f#5,c#6,f#6]@11 ~, a#5@5 ~",
  G: "[e3,e4]@4 ~@2 [f#2,f#3,f#4]@6 [g3,g4]@5 ~ [g#2,g#3,g#4]@5 ~, e2 ~ g2 ~", // E F# G G#
  H: "[a5,d#6,g6] ~@2 a6 a5 [e6,a6] ~@2 a6 ~@6 a5 ~@8, a6 ~@6 e6 ~@4", // Am7b5 A5
  I: "~@10 f3 [d4,e4,f4,g4,a4,b4] [c5,d5,e5,f5,g5,a5,b5] [c6,d6,e6,f6,f#6,g6,a6] [g#6,b6,c7] ~ [e6,f6,g6] [b5,c6,d6] [e5,f5,g5,a5] [a4,b4,c5,d5] [e4,f4,g4] [b3,c4,d4] [f3,g3,a3] ~", // Em7 Cmaj7 D7 G# Em Bm Fmaj7 D7 …
  J: "~@16 [e5,b5,e6] ~@5 e4 ~", K: "[e5,b5,e6] ~@11 [e2,e3,g#3,b3,e4]@3 ~@3 [f3,a3,c4,f4] ~@5, ~@6 f2 ~",
  L: "[f#2,f#3,a#3,c#4,f#4]@13 ~@11", M: "f#5@2 ~@10 c#6 ~ [f#5,c#6,f#6] ~@9",
  N: "[[e4,e5]@4 ~@2 [f#4,f#5]@4 ~@2 g5@4 ~@2 [g#4,g#5]@4 ~@2 a5@4 ~@2 b5@4 ~@2 [c5,c6]@4 ~@2 [c#5,c#6]@3 ~@3, ~@11 g4@4 ~@8 a4@4 ~@2 b4@3 ~@16]/2", // E F# G# C C#
  O: "[e5,e6]@3 e6 ~@3 e6 ~ e6 [e5,e6] e5 ~@6 [e5,e6] ~@5", P: "~@4 [d#5,d#6] ~@7 [d#5,d#6]@6 ~@6",
  Q: "~@2 [e4,e5] [g4,g5]@2 [f#4,f#5] [e4,e5]@2 ~ [d4,d5]@2 [c#4,c#5]", // E G F# E D C#
  R: "[[b3,b4] ~ [a3,a4] [g#3,g#4]@2 [e3,e4]@25 ~@6]/3", // B A G# E
})).s("gm_piano").gain(0.56).pan(0.6)

// other · piano · soft notes
const piano_soft = note("<~@37 A B ~@30 C D ~@3 E ~@14 F ~@5>".pickRestart({
  A: "~@5 a5 ~ a5 ~ a5 ~ a5 ~ a5!2 ~@2 a5 ~@2 a5 ~@3", B: "~@13 c7 ~@10",
  C: "~@3 a5 ~@2 a5 [e6,a6] [a5,e6] a5 [e6,a6] a5 [e6,a6] a5 a6 ~@9, ~ e6 ~@10", D: "~@10 [g3,a3,b3,c4] ~@13",
  E: "~@3 f#5 [c#6,f#6] [f#5,c#6] f#6 [f#5,c#6,f#6] ~ [f#5,c#6,f#6] f#5 [c#6,f#6] [f#5,f#6] ~@11, ~ c#6@2 ~@21, ~ f#6 ~@10", // F#5 F#
  F: "~@2 e5@3 e6 e5 ~ e5 ~@15",
})).s("gm_piano").gain(0.32).pan(0.6)

// chords · piano · "PIANO 2"
const piano_2 = note(`<
  ~ A B A C D E F G H I J K L M N O P K Q R N S N T U V W X Y Z AA AB N M AC ~ AD AE AF AG AH@2 AI AJ U AK AL AD AC AM
  AN M V W AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE@2 BF BG BH@2 BI@2 N T BJ BK P BL BM AI BN ~ BM BO BP BQ@3
>`.pickRestart({
  A: "e3 ~@3 [b3,e4,g#4] ~@7 [b3,e4,g#4]@12", B: "b2@4 [b3,d#4,f#4] ~@7 [b3,d#4,f#4]@12",
  C: "b2 ~@3 [b3,d#4,f#4] ~@7 [b3,d#4,f#4]@10 ~@2", D: "~@4 [b3,e4]@8 [e3,b3,e4,g#4]@3 ~@9, ~ [e3,g#4]@3 ~@4",
  E: "~@4 [b2,d#4,f#4]@8 [b2,b3,d#4,f#4]@3 ~@9, ~ b3@3 ~@4", // B
  F: "~@4 [e4,g#4] ~@5 e3 ~ [b3,e4,g#4]@8 ~@2 [e4,g#4] ~, ~@2 b3 ~@8 b3", // E
  G: "a2@4 [a3,c#4,e4] ~@5 a2 ~ [a3,c#4,e4]@7 ~@3 [c#4,e4] ~, ~@11 a3", H: "e3 ~@3 [b3,e4,g#4] ~@7 [b3,e4,g#4]@10 ~@2",
  I: "e3 ~@3 [g#3,b3,e4] ~@7 [g#3,b3,e4]@11 b2", J: "~@4 [f#3,b3,d#4] ~@7 [f#3,b3,d#4]@8 ~@4",
  K: "~@4 [b3,d#4,f#4] ~@7 [b3,d#4,f#4]@9 ~@3", L: "b2 ~@3 [g#3,b3] ~@7 [g#3,b3,e4]@10 ~@2, ~@2 e4 ~@9",
  M: "~@4 [f#3,b3] ~@7 [f#3,b3,d#4]@11 ~, ~@2 d#4 ~@9", N: "~@4 [g#3,b3,e4] ~@7 [g#3,b3,e4]@11 ~",
  O: "~@4 [c#4,e4] ~@7 [a3,c#4,e4]@12, ~@2 a3 ~@9", P: "~@4 [g#3,b3,e4] ~@7 [g#3,b3,e4]@10 ~@2",
  Q: "~@4 [g#3,b3] ~@7 [g#3,b3,e4]@12, ~@2 e4 ~@9", R: "~@4 [f#3,d#4]@2 ~@6 [f#3,b3,d#4]@11 ~, ~@4 b3 ~@19",
  S: "~@4 [f#3,b3,d#4] ~@7 [f#3,b3,d#4]@11 ~", T: "~@4 [a3,c#4,e4] ~@7 [a3,c#4,e4]@11 ~",
  U: "~@4 [g#3,b3,e4] ~@7 [g#3,b3]@12, ~@6 e4@5 ~", V: "~@4 [g#3,b3] ~@7 [g#3,b3,e4]@9 ~@3, ~@2 e4 ~@9",
  W: "~@4 [b3,d#4,f#4] ~@7 [b3,d#4,f#4]@10 ~@2", X: "~@4 [d#4,f#4,b4] ~@7 [d#4,f#4]@9 ~@3, ~@2 b4 ~",
  Y: "~@4 [g#3,b3,e4] ~@7 [g#3,b3]@11 ~, ~@4 e4@3 ~", Z: "~@4 [f#3,b3] ~@7 [f#3,b3,d#4]@10 ~@2, ~@2 d#4 ~@9",
  AA: "e3@4 [g#3,b3,e4] ~@7 [g#3,b3,e4]@11 ~", AB: "~@4 [a3,c#4,e4] ~@7 [c#4,e4]@11 ~, ~@4 a3@3 ~",
  AC: "~@4 [g#3,b3,e4] ~@7 [g#3,b3,e4]@12", AD: "~@4 [a3,c#4,e4] ~@7 [a3,c#4,e4]@12",
  AE: "~@4 [a3,c#4,e4] ~@7 [a3,c#4]@10 ~@2, ~@3 e4@2 ~", AF: "~@4 [g#3,b3,e4] ~@9 g#3@9 ~, ~@12 [b3,e4]@11 ~",
// … 112 more lines

More by Brooks & Dunn