Strudelify

Honky Tonk Truth

Brooks & Dunn

KeyB majorTempo146 bpm
0:00/0:00
// Honky Tonk Truth — Brooks & Dunn
// 146 bpm, 4/4, key B 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 4 "PIANO PAD" piano (copy of ch 5 "GUITAR-CLEAN" electric guitar clean)
// note: Full arrangement: all 127 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): GUITAR-CLEAN 2.
setcpm(146/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(`<
  ~@7 A B@3 C D E F G F H D I@2 E F J@2 F D K L@3 M N@2 O@2 L@2 P Q N R S@2 L@2 P T N U S@2 D E F G F H D I@2 E F J@2 F
  D K L@3 M N@2 O@2 L@2 P Q N@2 S@2 L@3 M N@2 O@2 L@2 P Q N@2 S V@2 L P T N R ~@3 A B W@6 X B W@6 X ~
>`.pickRestart({
  A: "c#1!2 d1!2 d#1!2 e1!2", B: "a1!8", C: "a1 ~@3", D: "a1!4", E: "a1!3 g1", F: "e1!4", G: "e1@2 e1@2 e1 b0 c#1 b0",
  H: "e1@2 e1@2 e1@2 e1 g1", I: "[a1@2 a1@2 a1 e1 g1 a1@3 a1@2 a1@2 a1@2]/2",
  J: "[e1@2 e1@2 e1 b0 c#1 e1@3 e1@2 e1@2 e1@2]/2", K: "a1 ~@7", L: "f#1!2 a1 a#1 c#2!2 a1 a#1",
  M: "f#1!2 a1 a#1 f#1 ~ f1 ~", N: "e1!2 g1 g#1 b1!2 g1 g#1", O: "a1!2 c2 c#2 e2!2 c2 c#2",
  P: "b1!2 d#1@2 f#1@2 g#1 f#1", Q: "b1!2 d#1@2 f#1@2 g#1@2", R: "e1 ~@7", S: "a1@2 c#1@2 e1@2 f#1 e1",
  T: "b1@2 d#1@2 f#1@2 g#1 f#1", U: "e1!2 g1 g#1 b1!2 g#1 b1",
  V: "[a1@2 c#1@2 e1@2 f#1 f#1@2 f#1 a1 a#1 c#2!2 a1 a#1]/2", W: "[a1@2 a1@2 a1@2 a1 a1@2 a1!7]/2", X: "a1 g1 f1 e1",
})).s("gm_electric_bass_finger").gain(0.72)

// chords · overdriven guitar · "DIST-2"
const overdriven_guitar = note("<~@4 A B A B ~@98 A B A B ~@17>".pickRestart({
  A: "~@4 [g3,c#4]@2 ~@2 [f#3,c#4] ~ [g3,c#4]@2 ~@2 [g3,c#4,d4]@2", // Gdim F#5 Gdim G
  B: "~@4 [g3,d4]@2 ~@2 [f#3,d4] ~ [g3,d4]@2 ~@2 [g3,c#4]@2", // G5 D G5 Gdim
})).s("gm_overdriven_guitar").gain(0.68)

// other · violin · "FIDDLE"
const violin = note("<~@42 A@3 B@2 C@3 ~@34 D E@2 F G ~ H@2 ~@2 I J@2 ~ K L@2 ~@26>".pickRestart({
  A: "[~@14 a5@5 ~ a5@3 ~ c#5@2 e5@2 b4@2 a#4@4 c#5@2 e5@2 c#5 a#5@3 ~@2 a#5@4]/3",
  B: "[c#5@2 e5@2 d#5@2 a4@2 a#4@2 g#4@2 ~ d5@2 d#5@2 ~ e5@2 f5@2 f#5@2 d#5@2 ~ f#4@3 a4@2, ~@6 f#4 ~@6 b4 ~@2]/2",
  C: "[f#4@2 ~ d#4@2 ~ b3@2 a3@2 f#3@2 f3@2 e3@19 ~@15, ~ e4 ~@22]/3", D: "~@2 c#5@2 e5@2 c#5 a#5@3 ~@2 a#5@4",
  E: "[c#5@2 e5@2 d#5@2 a4@2 a#4@2 g#4@2 f#4@2 c#4@4 e4@2 d#4@2 a3@2 a#3@2 g#3 ~ f#3@2 e3@2]/2", F: "f#3@4 f#3 ~ f3 ~",
  G: "e3@3 ~", H: "[~@2 a4@6 g4@2 ~ e4 ~@2 c#4@4 ~ b3@4 ~ a3@6 ~@2, ~@8 a4 ~ f#4@2 ~@6 e4@2 ~@12]/2",
  I: "d#5@2 e5@2 f5@2 ~ d5 ~ c#5@2 ~ b4@2 d#4@2, ~@3 f#5 d#5 ~@3", J: "[e4@2 f4@2 f#4@2 d4@2 d#4@2 b3@2 a3@3 g#3@17]/2",
  K: "~@5 e4 c#4@2 ~ g4 f#4 e4 c#4@2 ~ [f#4,g4], ~ a4 f#4 ~@5, ~@3 g4@2 ~@3 a4@2 ~@4 a4@2", // Gmaj7
  L: "[e4 ~ c#4 ~ c#4@9 ~ f#3@18]/2",
})).s("gm_violin").gain(0.58).pan(0.7)

// other · electric guitar clean · "GUITAR CLEAN"
const electric_guitar_clean = note(`<
  ~@8 A B C D ~@2 E F@2 ~ G H@2 ~ I J K L M N ~@19 O P@2 Q R@2 ~@57 A S@10 B T S@2 B ~
>`.pickRestart({
  A: "a2 ~ a2@2 c#3 ~ c#3@2 e3 ~ e3 ~ f#3@2 e3 ~", B: "f#3@5 ~ f#3@4 e3@2 c#3@2 a2@2",
  C: "~@2 a2@2 c#3 ~ c#3@2 e3 ~ e3@2 f#3@2 e3 ~", D: "f#3 ~@3", E: "~@4 [e3,b3] ~@5 [e3,b3] ~@5",
  F: "[~@2 [e3,d4] ~ c#4 ~@3 [e3,c#4] ~ [e3,b3]@10 ~@12]/2", G: "~@2 [e4,a4] ~@5 [e4,a4] ~@7",
  H: "[~ b3@2 ~ b3 a3@5 ~@6]/2", I: "~@2 [g#3,b3] ~@5 [g#3,b3] ~@7",
  J: "~@2 d4@2 c#4 ~@3 [g#3,c#4]@2 [g#3,b3]@6, ~ g#3@2 ~@5", K: "~@10 [b3,c#4,e4] ~@5", L: "[b3,e4] ~@7",
  M: "~@2 b2@2 c#3@2 e3 ~ f#3@2 e3 ~ b2@4", N: "a2 ~@7", O: "~@5 e4 f#4 g4",
  P: "[g#4@2 e5@2 g4 d#5 f#4@6 ~@2 e4@4 c#5@2 d#4 c5 d4@6 c5@2 b4@2]/2", Q: "a4@4 g4@2 f#4@2 e4@3 ~ c#4@2 b3@2",
  R: "[a3@3 ~ g3@2 f#3@2 e3 ~ c3@2 b2@2 a2@6 ~@12]/2",
  S: "[f#3@5 ~ f#3@4 e3@2 c#3@2 a2@4 a2@2 c#3 ~ c#3@2 e3 ~ e3 ~ f#3@2 e3 ~]/2",
  T: "~@2 a2@2 c#3 ~ c#3@2 e3 ~ e3 ~ f#3@2 e3 ~",
})).s("gm_electric_guitar_clean").gain(0.72).pan(0.3)

// other · electric guitar clean · "GUITAR CLEAN" · soft notes
const electric_guitar_clean_2 = note("<~@8 A ~@6 B ~@94 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@2>".pickRestart({
  A: "~@8 c#3 ~@7", B: "~@4 e3 ~@11",
})).s("gm_electric_guitar_clean").gain(0.4).pan(0.3)

// chords · electric guitar clean · "GUITAR-CLEAN"
const electric_guitar_clean_3 = note(`<
  ~@8 A B A ~ C@2 D E D@2 A F G C H I D J K L M N O P Q@2 R A S N T@2 U ~ V@2 N@2 T@2 U W V@4 W X U W V@4 U@2 W Q Y ~ M
  N O P Q@2 R A S N T@2 U ~ V@2 M N O P Q@2 R A S N T@2 U ~ V@2 N@2 T@2 U Z ~@4 V@6 AA AB V@8 ~
>`.pickRestart({
  A: "~@4 [e3,a3,c#4] ~@5 [e3,a3] ~@3 [e3,a3,c#4] ~", B: "~@4 [e3,a3,c#4] ~@5 [e3,a3] ~ a3 ~ [e3,a3,c#4] ~",
  C: "~@4 [e3,a3,c#4] ~@5 [e3,a3,c#4] ~@3 [e3,a3,c#4] ~", D: "~@4 [e3,b3,e4] ~@5 [e3,b3,e4] ~@3 [e3,b3,e4] ~",
  E: "~@4 [e3,b3,e4] ~@5 e3 ~@3 [e3,b3,e4] ~", F: "~@4 [a3,c#4] ~@5 [e3,a3,c#4] ~@3 [e3,a3,c#4] ~",
  G: "~@4 [e3,a3,c#4] ~@5 [e3,a3,c#4] ~ a3 ~ [e3,a3,c#4] ~", H: "~@4 [e3,b3,e4] ~@5 [e3,b3,e4] ~@3 [e3,b3] ~",
  I: "~@4 [e3,b3,e4] ~@5 [e3,b3] ~@3 [e3,b3,e4] ~", J: "~@4 [e3,b3,e4] ~@5 [e3,b3] ~@3 [e3,b3] ~",
  K: "~@4 [e3,a3] ~@5 [e3,a3] ~@5", L: "[e3,a3,c#4] ~@15", M: "~@4 [f#3,a#3] ~@5 a#3 ~@3 [f#3,a#3,c#4] ~",
  N: "~@4 [f#3,a#3,c#4] ~@5 [f#3,a#3,c#4] ~@3 [f#3,a#3,c#4] ~", // F#
  O: "~@4 [a#3,c#4] ~@5 [f#3,a#3,c#4] ~@3 [f#3,a#3,c#4] ~", P: "~@4 [f#3,a#3,c#4] ~@3 [f#3,a#3,c#4] ~@3 [f3,a3,c4] ~@3",
  Q: "~@4 [e3,g#3,b3] ~@5 [e3,g#3,b3] ~@3 [e3,g#3,b3] ~", R: "~@4 [e3,a3,c#4] ~@5 [e3,a3,c#4] ~@3 [e3,a3] ~",
  S: "~@4 [f#3,a#3,c#4] ~@5 [f#3,a#3,c#4] ~@3 [a#3,c#4] ~", T: "~@4 [f#3,b3,d#4] ~@5 [f#3,b3,d#4] ~@3 [f#3,b3,d#4] ~",
  U: "~@4 [g#3,b3,e4] ~@5 [g#3,b3] ~@3 [g#3,b3,e4] ~", V: "~@4 [a3,c#4,e4] ~@5 [a3,c#4,e4] ~@3 [a3,c#4,e4] ~",
  W: "~@4 [g#3,b3,e4] ~@5 [g#3,b3] ~@3 [g#3,b3] ~", X: "~@4 [g#3,b3,e4] ~@5 [g#3,b3,e4] ~@3 [g#3,b3] ~",
  Y: "~@4 [e3,a3] ~@5 [e3,a3] ~@3 [e3,a3,c#4] ~", Z: "[e3,g#3,b3] ~@7",
  AA: "~@4 [a3,c#4,e4] ~@5 [a3,b3,c#4,e4] ~@3 [a3,c#4,e4] ~", // A
  AB: "~@4 [a3,b3,c#4,e4] ~@5 [a3,c#4,e4] ~@3 [a3,c#4,e4] ~", // A
})).s("gm_electric_guitar_clean").gain(0.32)

// chords · electric guitar clean · "GUITAR-CLEAN" · soft notes
const electric_guitar_clean_4 = note(`<
  ~@8 A B C ~@4 D E F C G H ~ I J ~ K L ~ M N O ~@3 P C Q ~@3 J ~@3 R ~@3 J K ~@4 K I J K ~@4 J@2 K S L ~ M N O ~@3 P C
  Q ~@3 J ~@3 M N O ~@3 P C Q ~@3 J ~@3 R ~@3 J ~@7 T ~@3 U V ~@9
>`.pickRestart({
  A: "~@10 c#4 ~ e3 ~@3", B: "c#4 ~@9 c#4 ~ [e3,c#4] ~@3", C: "~@10 c#4 ~@5", D: "~@10 [b3,e4] ~ b3 ~@3",
  E: "~@12 [b3,e4] ~@3", F: "~@12 e4 ~@3", G: "~@4 e3 ~@11", H: "~@9 a3 ~@6", I: "~@14 e4 ~", J: "~@10 e4 ~@5",
  K: "~@10 e4 ~@3 e4 ~", L: "~@4 c#4 ~@5 c#4 ~@5", M: "~@10 [f#3,c#4] ~@5", N: "f#3 ~@3 e4 ~@11",
  O: "~@4 f#3 ~@7 c#4 ~@3", P: "~@14 c#4 ~", Q: "~@14 f#3 ~", R: "~@12 c#4 ~@3", S: "~@12 b3 ~@3", T: "~@14 b3 ~",
  U: "~@4 b3 ~@11", V: "~@10 b3 ~@3 b3 ~",
})).s("gm_electric_guitar_clean").gain(0.24)

// other · electric guitar clean · "GUITAR-CLEAN 2"
const electric_guitar_clean_5 = note("<~@11 [~@2 a3 ~@5] ~@115>").s("gm_electric_guitar_clean").gain(0.68).pan(0.3)

// other · distortion guitar · "GUITAR-DIST"
const distortion_guitar = note("<~@4 [~ a2 ~ a2 ~@4]!4 ~@98 [~ a2 ~ a2 ~@4]!4 ~@17>")
  .s("gm_distortion_guitar").gain(0.54)

// chords · electric guitar muted · "GUITAR-MUTES"
const electric_guitar_muted = note(`<
  ~@8 A B C D E F G H I H J K L M N H O P Q D R S R T I U V F R W X Y Z AA V AB R AC AD AE I AF AG AH E F G H I H J K L
  M N H O P Q D R S R T I U V F R W X Y Z AA V AB R S R T I U V F R W X Y Z AA V AB R AC AD AE I AI ~@4 V AB V AB V AB V
  AB V AB V AB V AB V AB ~
>`.pickRestart({
  A: "[a2,e3] ~ [a2,e3] ~ [a2,f#3] ~@3 [a2,e3] ~ [a2,e3] ~ [a2,f#3] ~ [a2,e3]@2", // A5 D A5 D A5
  B: "~@2 [a2,e3] ~ [a2,f#3] ~@3 [a2,e3] ~ [a2,e3] ~ [a2,f#3] ~ [a2,e3] ~", // A5 D A5 D A5
  C: "[a2,e3] ~ [a2,e3] ~ [a2,f#3]@2 ~@2 [a2,e3] ~ [a2,e3] ~ [a2,f#3] ~ [a2,e3] ~", D: "[a2,e3] ~@15",
  E: "[a2,e3] ~ [a2,e3] ~ [a2,f#3]@2 ~@2 [a2,e3] ~ [a2,e3] ~ [a2,f#3] ~ [a2,e3]@2, ~@14 f#3 ~", // A5 D A5 D A5
  F: "~@2 [a2,e3] ~ [a2,f#3]@2 ~@2 [a2,e3] ~ [a2,e3] ~ [a2,f#3]@2 [a2,e3] ~", // A5 D A5 D A5
  G: "[e2,b2] ~ [e2,b2] ~ [e2,c#3] ~@3 [e2,b2] ~ [e2,b2] ~ [e2,c#3] ~ [e2,b2]@2", // E5 C#m E5 C#m E5
  H: "~@2 [e2,b2] ~ [e2,c#3]@2 ~@2 [e2,b2] ~ [e2,b2] ~ [e2,c#3]@2 [e2,b2] ~", // E5 C#m E5 C#m E5
  I: "[e2,b2] ~ [e2,b2] ~ [e2,c#3]@2 ~@2 [e2,b2] ~ [e2,b2] ~ [e2,c#3] ~ [e2,b2]@2", // E5 C#m E5 C#m E5
  J: "[a2,e3] ~ [a2,e3] ~ [a2,f#3]@2 ~@2 [a2,e3]@2 ~@2 [a2,f#3] ~ [a2,e3]@2", // A5 D A5 D A5
  K: "~@2 [a2,e3] ~ [a2,f#3,g#3] ~ [a2,e3] ~ [a2,e3] ~ [a2,e3] ~ [a2,f#3]@2 [a2,e3] ~", // A5 D A5 D A5
  L: "[a2,e3] ~ [a2,e3] ~ [a2,f#3]@2 ~@2 [a2,e3] ~ e3 ~ [a2,f#3] ~ [a2,e3]@2", // A5 D A5 D A5
  M: "~@2 [a2,e3] ~ [a2,f#3]@2 ~@2 [a2,e3] ~ [a2,e3] ~ [a2,f#3,g#3] ~ [a2,e3,f#3] ~", // A5 D A5 D F#m7
  N: "[e2,b2] ~ [e2,b2] ~ [e2,c#3]@2 ~@2 [e2,b2]@2 ~@2 [e2,c#3] ~ [e2,b2]@2", // E5 C#m E5 C#m E5
  O: "[e2,b2] ~ [e2,b2] ~ [e2,c#3] ~@3 [e2,b2]@2 ~@2 [e2,c#3]@2 [e2,b2]@2", // E5 C#m E5 C#m E5
  P: "~@2 [e2,b2] ~ [e2,c#3]@2 ~@2 [e2,b2] ~ [e2,b2] ~ [e2,c#3] ~ [e2,b2]@2", // E5 C#m E5 C#m E5
  Q: "[g2,a2,e3] ~ [a2,e3] ~ [a2,e3,f#3] ~@3 [a2,e3] ~ [a2,e3] ~ [a2,f#3]@2 e3 ~", // A7 A5 F#m7 A5 D
  R: "[f#2,c#3] ~ [f#2,c#3] ~ [f#2,d#3]@2 ~@2 [f#2,c#3] ~ [f#2,c#3] ~ [f#2,d#3] ~ [f#2,c#3]@2", // F#5 D#m F#5 D#m F#5
  S: "~@2 [f#2,c#3] ~ [f#2,d#3] ~ [f#2,c#3] ~ [f#2,c#3] ~ [f#2,c#3] ~ [f#2,d#3]@2 [f#2,c#3] ~", // F#5 D#m F#5 D#m F#5
  T: "~@2 [f#2,c#3] ~ [f#2,d#3] ~ [f#2,c#3] ~ [f#2,c#3]@2 ~@2 [f2,c3]@2 ~@2", // F#5 D#m F#5 F5
  U: "~@2 [e2,b2] ~ [e2,c#3] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2] ~ [e2,c#3]@2 b2 ~", // E5 C#m E5 C#m
  V: "[a2,e3] ~ [a2,e3] ~ [a2,f#3]@2 ~@2 [a2,e3] ~ [a2,e3] ~ [a2,f#3] ~ [a2,e3]@2", // A5 D A5 D A5
  W: "~@2 [f#2,c#3] ~ [f#2,d#3]@2 ~@2 [f#2,c#3] ~ [f#2,c#3] ~ [f#2,d#3] ~ [f#2,c#3]@2", // F#5 D#m F#5 D#m F#5
  X: "[b2,f#3] ~ [b2,f#3] ~ [b2,g#3]@2 ~@2 [b2,f#3] ~ [b2,f#3] ~ [b2,g#3] ~ [b2,f#3]@2", // B5 E B5 E B5
  Y: "~@2 [b2,f#3] ~ [b2,g#3]@2 ~@2 [b2,f#3] ~ [b2,f#3] ~ [b2,g#3] ~ [b2,f#3] ~", // B5 E B5 E B5
  Z: "[e2,b2] ~ [e2,b2] ~ [e2,c#3] ~@3 [e2,b2] ~ [e2,b2] ~ [e2,c#3] ~ [e2,b2] ~", AA: "[e2,b2] ~@15",
  AB: "~@2 [a2,e3] ~ [a2,f#3]@2 ~@2 [a2,e3] ~ [a2,e3] ~ [a2,f#3] ~ [a2,e3] ~", // A5 D A5 D A5
  AC: "~@2 [f#2,c#3] ~ [f#2,d#3]@2 ~@2 [f#2,c#3] ~ [f#2,c#3] ~ [f#2,d#3]@2 [f#2,c#3] ~", // F#5 D#m F#5 D#m F#5
  AD: "[b2,f#3] ~ [b2,f#3] ~ [b2,g#3]@2 ~@2 [b2,f#3] ~ [b2,f#3] ~ [b2,g#3] ~ [b2,f#3]@2, ~@14 g#3 ~", // B5 E B5 E B5
  AE: "~@2 [b2,f#3] ~ [b2,f#3,g#3] ~ [b2,f#3] ~ [b2,f#3] ~ [b2,f#3] ~ [b2,g#3]@2 [b2,f#3,g#3] ~", // B5 G#m7 B5 E G#m7
  AF: "~@2 [e2,b2] ~ [e2,c#3]@2 ~@2 [e2,b2] ~ [e2,b2] ~ [e2,f#2,c#3,d3] ~ [e2,b2]@2", // E5 C#m E5 Dmaj7 E5
  AG: "[a2,e3] ~ [a2,e3] ~ [a2,e3,f#3] ~@3 [a2,e3] ~ e3 ~ [a2,f#3] ~ [a2,e3]@2", // A5 F#m7 A5 D A5
  AH: "~@2 [a2,e3] ~ [a2,f#3]@2 ~@2 [a2,e3] ~ [a2,e3] ~ [a2,f#3,g#3] ~ [a2,e3] ~", AI: "[e2,b2]@3 ~@13",
})).s("gm_electric_guitar_muted").gain(0.48)

// other · piano · "PIANO 1"
const piano = note(`<
  ~ A B C D ~@2 E F ~@44 G H I ~@2 J K@2 G L M N O P Q ~@28 R S T U@2 V W@2 X Y ~@3 Z AA ~@16
>`.pickRestart({
  A: "~@2 a2 ~ [c#3,e3]@2 a2@2 ~@2 g2@2 ~@2 f#2@2, ~@4 c3 ~@3 g1@4 f#1@4", B: "e1 [e1,e2] [e1,e2,e3]!2 [g#1,g#2,g#3]!4",
  C: "[b1,b2,b3]!4 [e2,e3,e4]!4", D: "[a1,a2,c#3,e3,a3]@3 ~@13",
  E: "~@7 [a#3,c4,d4,d#4,f4,g4] [a4,a#4,c5,d5,d#5,f5,g5,a5,a#5] [c6,d6,d#6,f6,g6,a6,a#6] ~ [d6,d#6,f6,g6,a6] [f5,g5,a5,a#5,c6] [a4,a#4,c5,d5,d#5] [c4,d4,d#4,f4,g4] [g3,a3,a#3]", // Cm7 Am7b5 Cm7 Dm F Adim Cm Gm
  F: "a2@5 ~@11", G: "~@7 [g5,b5]", H: "g#5@2 e5@2 d5@2 b4 ~ d5 ~ b4 ~ [b4,e5] ~ b4 ~, ~@9 c#5@2 ~@5",
  I: "d5 c#5 b4 ~ [b4,e5] ~ [g#4,b4]@6 ~@4", J: "c6 b5 a5 ~ c6 b5 a5 ~ c6 b5 a5 ~ c6 b5 a5 ~",
  K: "[[a4,e5,g5] ~ [a4,e5,g5] ~ [d5,f#5] ~ c5@2 c#5@2 a4@10 ~@12, ~@2 a4 e5@7 ~@6]/2", // A7 D
  L: "g#5@2 d5 ~ [g5,b5]@2 g#5@2 e5 ~ [g5,b5]@2 g#5@2 d5 ~, ~@10 g#5 ~@5", // G
  M: "[g5,b5]@2 g#5@2 e5 ~ [g#5,b5] ~ d5 g#5 [d5,g#5] ~@5, ~@3 d5 ~@4", N: "~@7 [e4,b4,e5], ~@14 a#4 ~",
  O: "~ b4 e5 b4 [e4,e5]@2 ~@10, ~@4 b4 ~@11", // E
  P: "~@2 [c5,c6] ~ [c5,c6] ~ [c5,c6] ~ [c5,c6] ~ [a4,a5] ~ [g4,g5] ~ e4@2, ~@14 e5 ~", Q: "[a4,a5] ~@7, g#5 ~@15",
  R: "~@2 g5 g#5 e6 g5 g#5 e6 ~ g#5 ~ g5 g#5 ~@2 g#5, ~@4 g5 e6 ~ g5", S: "e6 g#5 e6@2 ~@5 g#5 ~@6",
  T: "~@2 [c6,c#6,e6] ~@7 c6 ~@3 [c6,e6] ~, ~@7 c#6", U: "[~@10 [c#6,e6] ~@3 [a#5,c#6]@12 ~@4 [a#5,f#6]@2]/2",
  V: "~@4 [a#5,f#6] ~@5 f#6 ~@3 [a#5,f#6] ~", W: "[~@4 [b5,d#6] ~@9 d#6@4 ~@2 d#6 ~@9 b5 ~, ~@14 b5 ~@17]/2",
  X: "~@4 [g#5,b5] ~@5 g#5 ~@5", Y: "[g#5,b5] ~@7",
  Z: "~@5 [a#2,c3,d3] [d#3,f3,g3,a3,a#3,c4] [d4,d#4,f4,g4,a4,a#4,c5,d5,d#5] [f5,g5,a5,a#5,c6,d6,d#6,f6,g6] [a6,a#6] [g#6,a6] [c#6,e6,f#6] [f#5,g#5,b5] [b4,c#5,e5] [e4,f#4,g#4] [b3,c#4]", // A# Cm7 Dm7 F7 A#maj7 Amaj7 F#7 G#m7 …
  AA: "[e3,f#3,g#3] ~@15", // E
})).s("gm_piano").gain(0.72).pan(0.3)

// other · piano · "PIANO 1" · soft notes
const piano_soft = note("<~@2 A ~@59 B C ~ D ~@30 E F G H ~ I J K L ~@22>".pickRestart({
  A: "~ e3 ~@6", B: "~ a5 ~@14", C: "~@7 g#5 ~@8", D: "~@2 e4 ~@13", E: "~@13 e6@2 ~",
  F: "~@4 g#5 e6@2 g#5!2 ~@7, ~@5 g#5 ~ e6@3 ~@6", G: "~@10 e6 ~ [c#6,e6] ~@3", H: "e6 c#6 e6 c#6 ~@12",
  I: "~ a#5!2 ~@7 a#5 ~@5, ~ f#6@2 ~@13", J: "~@10 d#6 ~@5", K: "~@10 [b5,d#6] ~@3 d#6 ~", L: "~@10 b5 ~@3 [g#5,b5] ~",
})).s("gm_piano").gain(0.4).pan(0.3)

// chords · piano · "PIANO 2"
const piano_2 = note(`<
  ~@8 A@2 B@2 A@2 C@4 A@4 C@4 D ~ E@2 F@2 C@2 A@2 G@2 H@2 I ~ A@2 E@2 H@2 J@2 K@2 A@2 C@4 A@4 C@4 D ~ E@2 F@2 C@2 A@2
  G@2 H@2 I ~ A@2 G@2 L@2 C@2 M@2 E@2 N@2 I O P@4 Q@3 ~@5 R@2 A@2 R@2 A@2 R@2 A@2 R@2 A@2 ~
>`.pickRestart({
  A: "[a1,c#3,e3,a3]/2", B: "[[a1,c#3,e3,a3]@5 ~@3]/2", C: "[e1,b2,e3,g#3]/2", D: "[a1,c#3,e3,a3]",
  E: "[[f#1,c#3,a#3], f#3@7 ~]/2", // F#
  F: "[[f#1,c#3,f#3,a#3]@21 ~@3 [f#1,c#3,f#3,a#3]@2 ~@2 [f1,c3,a3]@2 ~@2, ~@28 [f3,g#3] ~@3]/2", // F# F Fm
  G: "[f#1,c#3,f#3,a#3]/2", H: "[b1,d#3,f#3,b3]/2", I: "[e1,e3,g#3,b3]", J: "[e1,e3,g#3,b3]/2", K: "[a1,e3,a3,c#4]/2",
  L: "[[f#1,c#3,f#3,a#3]@11 ~ [f#1,c#3,f#3] ~ [f1,c3,a3] ~, ~@24 a#3 ~@3 [d3,f3] ~@3]/2", // F# F#5 F Dm
  M: "[[a1,c#3], [e3,a3]@27 ~@5]/2", N: "[[d#3,b3]@27 ~@5, b1, f#3@25 ~@7]/2", O: "[e1,e3]@15 ~, [g#3,b3]@13 ~@3",
  P: "[[a1,c#3,e3,a3,c#4]@29 ~ [c#3,f#3,a#3]@32 ~@2, ~@15 f#1@17]/4", // A F#
  Q: "[[d#3,f#3,b3]@13 ~@3 [e1,e3,g#3,b3]@8, b1@2 ~]/3", R: "[[a1,c#3,e3,a3]@7 ~]/2",
})).s("gm_piano").gain(0.61).pan(0.6)

// chords · electric guitar jazz · "STEEL PBD=2"
const electric_guitar_jazz = note(`<
  ~@7 A@5 ~@24 B@2 ~@2 C@2 ~@34 B@2 ~@2 D@2 E@2 ~@8 B@2 ~@6 F@2 ~@2 G ~@4 H@3 ~ I@3 ~ J@7 ~ K ~
>`.pickRestart({
  A: "[~@16 e4@29 ~@2 a4@17 ~@16, ~@15 [a3,c#4]@30 ~ [a3,c#4,e4]@19 ~@15]/5", B: "[~ [a#4,c#5]@7]/2",
  C: "[~@2 g#4@4 b4@2 f#4@2 e4 ~ [f#4,a4]@6 ~@14]/2", D: "[~ f#4 c#4@2 e4 b3 a3 g#3@3 ~@6]/2",
  E: "[~@4 [c#4,e4]@2 ~@2 [c#4,e4]@4 b3@2 [c#4,e4]@11 ~@7]/2", F: "[~@8 [a#4,c#5]@21 ~@3]/2",
  G: "~@2 g#4@4 b4@2 f#4@2 e4 ~ [a3,f#4]@4", H: "[~@5 [c#4,e4]@18 ~]/3", I: "[~@5 [c#4,a4]@19]/3",
  J: "[~@10 [e4,c#5]@56 ~@8 [a4,c#5]@37 ~]/7", K: "~@7 [c#4,a4]",
// … 71 more lines

More by Brooks & Dunn