Strudelify

That Ain't No Way to Go

Brooks & Dunn

KeyA majorTempo104 bpm
0:00/0:00
// That Ain't No Way to Go — Brooks & Dunn
// 104 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 7, 4/4 at bar 8) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 9 "CLEAN GTR" electric guitar clean (copy of ch 8 "JAZZ GTR" electric guitar jazz)
// note: Full arrangement: all 93 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): MUTED GTR.
setcpm(104/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.

// chords · piano · "A.PIANO 1"
const piano = note("<A@5 B C D E F G H I B J K@2 F L M N ~@15 O P B Q R S@7 T@2 U@8 ~@35>".pickRestart({
  A: "[~@8 [a2,e3,a3] ~@5 [a2,e3,a3]@9 ~ [f#2,c#3]@2 ~@4 [f#2,c#3,f#3]@9 ~ [g2,d3,g3]@3 ~@3 [g2,d3,g3]@8 ~@2 d4@2 c#4@2 b3 ~ [g2,d3,g3,a3]@18, ~@24 f#3 ~@31 [f#2,d3]@5 ~@19]/5", // A5 F#5 G5 Gsus2 D
  B: "[a2,e3,a3] ~@5 [a2,e3,a3]@9 ~", C: "[a2,f#3,a3] ~@5 [a2,e3,a3]@9 ~", D: "[f#2,c#3,a3] ~@5 [f#2,c#3,a3]@8 ~@2",
  E: "[f#2,c#3,f#3] ~@5 [f#2,c#3,f#3]@9 ~", F: "[g2,d3,a3] ~@5 [g2,d3,a3]@9 ~",
  G: "[f#2,d3,a3] ~@11 f#3@3 ~, ~@3 [f#2,d3,a3]@4 ~", H: "[e2,b2,e3] ~@5 [e2,b2,e3]@9 ~",
  I: "[e2,b2,e3]@2 ~ e2 f#2 a2 b2 c#3", J: "[a2,f#3,a3] ~@5 [a2,e3,a3]@8 e4 [b3,c#4]",
  K: "[f#2,c#3,a3] ~@5 [f#2,c#3,a3]@9 ~", L: "[f#2,d3,a3] ~@5 [f#2,d3,a3]@9 ~", M: "[e2,b2,e3] ~@5 [e2,b2,e3]@8 ~@2",
  N: "[e2,b2,e3]@15 ~", O: "[g2,d3]@15 ~", P: "[f#2,d3]@7 ~ [g2,d3]@8",
  Q: "[f#2,c#3]@2 ~@4 [f#2,c#3,f#3]@9 ~, f#3 ~@15", R: "[g2,d3,g3]@3 ~@3 [g2,d3,g3]@8 ~@2",
  S: "[d4@2 c#4@2 b3 ~ [g2,d3,g3,a3]@18 [a2,e3,a3] ~@5 [a2,e3,a3]@9 ~ [a2,f#3,a3] ~@5 [a2,e3]@8 ~@2 [f#2,c#3] ~@5 [f#2,c#3,a3]@8 ~@2 [f#2,c#3] ~@9 a3@2 a3@2 f#3@2 [g2,d3,g3,a3,b3] ~@5 [g2,d3,g3,a3,b3]@9 ~ [f#2,d3,a3] ~@5 [f#2,d3,a3]@2, [f#2,d3]@5 ~@41 a3@7 ~ a3@2 a3@6 ~@16 [f#2,c#3,e3]@9 ~@25, ~@55 e4@9 ~@48]/7", // Gsus2 A5 D A5 F#5 F#m F#5 G …
  T: "[~@8 [e2,b2,e3] ~@9 e4@6 [e2,b2,e3]@4 ~@2 e2@2, ~@14 b3@11 ~@7, ~@14 [e2,b2,e3]@9 ~@9]/2", // E5
  U: "[f#2@2 a2@2 b2@2 c#3@2 [a2,e3,a3] ~ a4@2 ~@6 a4@2 ~@4 [a2,f#3,a3] ~ a4@2 ~@12 [f#2,c#3,a3] ~@9 a4@2 ~@4 [f#2,c#3,a3] ~ a4@2 ~@6 a4@2 ~@4 [g2,d3,a3] ~ a4@2 ~@6 a4@2 ~@4 [f#2,d3,a3] ~ a4@2 ~@6 a4@2 ~@4 [e2,b2,e3] ~ a4 ~@13 [e2,b2,e3]@8, ~@12 [e5,e6]@6 ~@2 [e5,e6]@6 ~@2 [e5,e6]@6 a4@4 e4@6 [e5,e6]@6 ~@2 [e5,e6]@6 ~@2 [e5,e6]@6 ~@2 [e5,e6]@6 ~@2 [e5,e6]@6 ~@2 [e5,e6]@6 ~@2 [e5,e6]@6 ~@2 [e5,e6]@6 ~@2 [e5,e6]@7 ~ [e5,e6]@7 ~@5, ~@14 [a2,e3,a3]@9 ~@7 [a2,e3,a3]@9 ~@7 [f#2,c#3,a3]@9 ~@7 [f#2,c#3,a3]@9 ~@7 [g2,d3,a3]@9 ~@7 [f#2,d3,a3]@9 ~@7 [e2,b2,e3,e4]@8 ~@10, ~@14 e4@6 ~@2 e4@7 ~ e4@6 [e5,e6]@6 a4@4 e4@6 ~@2 e4@6 ~@2 e4@7 ~ e4@6 ~@2 e4@6 ~@2 e4@6 ~@2 e4@6 ~@2 e4@6 ~@20]/8", // A5 D F#m Gsus2 D E5 E A5 …
})).s("gm_piano").gain(0.38).pan(0.7)

// bass · fretless bass · "FRETLESS"
const bass = note(`<
  A B C D@2 E F G@2 H I J K E F G@2 H I L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH@6 AI AJ AK AL@5 AI AJ AM@2
  AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB AN AO AP AQ AR AS AT BC BD AW AX AY AZ BE@3 BF@3
>`.pickRestart({
  A: "~@8 a1 ~ a1@2 ~@2 a1@2", B: "a1@7 ~ f#1@2 f#1@2 ~@2 f#1@2", C: "f#1@8 g1@2 g1@3 ~ g1 ~",
  D: "[g1@7 ~ f#1@2 f#1@3 ~ g1@17 ~]/2", E: "a1@2 ~@4 a1@9 ~", F: "a1 ~@5 a1@9 ~", G: "f#1 ~@2 f#1@4 ~",
  H: "g1@4 ~@2 g1 ~ g1@7 ~", I: "f#1@3 ~@3 f#1 ~ f#1@6 ~@2", J: "e1@4 ~@2 e1 ~ e1@7 ~", K: "e1@2 ~ e1 f#1 a1 b1 c#2",
  L: "e1@4 ~@2 e1 ~ e1@6 b1@2", M: "e2@13 ~@3", N: "d2@4 ~@2 d2 ~ d2@4 a1@2 b1@2", O: "e2@4 ~@2 e2 ~ e2@3 ~ f#2@2 e2@2",
  P: "c#2@5 ~ c#2 ~ c#2@4 e2@4", Q: "d2@4 ~@2 d2 ~ d2@4 d2@3 ~", R: "a1@5 ~ a1 ~ g#1@7 ~", S: "f#1@5 ~ f#1 ~ e1@7 ~",
  T: "g1@5 ~ g1 ~ f#1@7 ~", U: "e1@5 ~ e1 ~ e1@2 c#2 ~ c#2@2 b1@2", V: "e2@5 ~ e2 ~ e2@2 f#2 ~ f#2@2 e2@2",
  W: "d2@4 ~@2 d2@2 d2@2 a1 ~ a1@2 b1@2", X: "e2@5 ~ e2 ~ e2@4 f#2@2 e2@2", Y: "c#2@5 ~ c#2 ~ c#2@3 ~ e2@3 ~",
  Z: "d2@5 ~ d2@2 d2@4 f#1@2 g1@2", AA: "a1@2 a1@2 ~@2 a1@3 ~ a2@3 ~ e1 ~", AB: "e1@5 ~@3", AC: "g1@15 ~",
  AD: "f#1@7 ~ g1@7 ~", AE: "a1 ~ a1@2 ~@2 a1@2 a1@7 ~", AF: "f#1!2 ~ f#1 f#1@4", AG: "g1@2 g1@3 ~ g1 ~ g1@7 ~",
  AH: "[f#1@2 f#1@3 ~ g1@17 ~ a1@2 ~@4 a1@9 ~ a1 ~@5 a1@9 ~ f#1@2 ~@4 f#1@8 ~@2 f#1@2 ~@4 f#1@8 ~@2 g1@4 ~@2 g1 ~]/6",
  AI: "g1@7 ~ f#1@3 ~@3 f#1 ~", AJ: "f#1@6 ~@2 e1@4 ~@2 e1 ~", AK: "e1@7 ~ e1@4 ~@2 e1@2",
  AL: "[f#1@2 a1@2 b1@2 c#2@2 a1@2 ~@4 a1@9 ~ a1 ~@5 a1@9 ~ f#1@2 ~@4 f#1@8 ~@2 f#1@2 ~@4 f#1@8 ~@2 g1@4 ~@2 g1 ~]/5",
  AM: "[e1@6 b1@2 e2@13 ~@3 d2@4 ~@2 d2 ~]/2", AN: "d2@2 a1@2 a1@2 b1@2 e2@4 ~@2 e2 ~",
  AO: "e2@3 ~ f#2@2 e2@2 c#2@5 ~ c#2 ~", AP: "c#2@4 e2@4 d2@4 ~@2 d2 ~", AQ: "d2@4 d2@2 c#2@2 a1@5 ~ a1 ~",
  AR: "g#1@7 ~ f#1@5 ~ f#1 ~", AS: "e1@7 ~ g1@5 ~ g1 ~", AT: "f#1@7 ~ e1@5 ~ e1 ~",
  AU: "e1@2 c#2 ~ c#2@2 b1@2 e2@5 ~ e2@2", AV: "e2@2 f#2 ~ e2@2 c#2@2 d2@4 ~@2 d2@2",
  AW: "d2@2 a1 ~ a1@2 b1@2 e2@5 ~ e2 ~", AX: "e2@4 f#2@2 e2@2 c#2@5 ~ c#2 ~", AY: "c#2@3 ~ e2@3 ~ d2@5 ~ d2@2",
  AZ: "d2@2 f#1@2 g1@2 g#1@2 a1@2 a1@3 ~ a1@2", BA: "~@2 a1@3 ~ e1@2 e1@6 g#1@2",
  BB: "b1@2 c#2@2 d2@2 e2@2 d2@4 ~@2 d2 ~", BC: "e1@2 c#2 ~ c#2@2 b1@2 e2@2 f#2@2 g#2@2 a2@2",
  BD: "g#2 f#2 e2 c#2 d2@2 ~ d2", BE: "[~@2 a1@3 ~ e1@2 e1@15 ~ g1@15 ~ f#1@7 ~]/3", BF: "[g1@7 ~ a1@28 ~@12]/3",
})).s("gm_fretless_bass").gain(0.49)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  A@5 B C D E F G H I B C D E F G H J K L M N O P Q R@2 S T U V W@2 X@2 Y Z AA AB@2 AC@2 AD AE AF AG AH AI AC@2 AD AE AF
  AG AJ@6 AK AL AM AN@6 AO@6 AK AL AM AN@6 AP@3 AQ@3
>`.pickRestart({
  A: "[~@8 a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ a2@2 [a2,e3,a3]@2 a2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ [f#2,e3,a3]@2 f#2@2 g2@2 g2 ~ g2 ~ g2 ~ g2@2 g2 ~ [g2,b2,d3,g3]@2 ~@2 f#2@2 f#2@2 f#2@2 [g2,b2,d3,g3,b3]@18, ~@8 [e3,a3]@5 ~ [e3,a3]@6 ~@4 [e3,a3]@4 ~@2 [e3,a3]@4 ~@6 [b2,d3,g3]@6 [b2,d3,g3]@5 ~@5 [a2,d3,a3,d4]@5 ~@19]/5", // A5 F#m7 G A5 G D5
  B: "a2 ~ a2 ~ a2 ~ [e3,a3]@2 a2 ~ a2@2 [a2,e3,a3]@2 a2 ~, [e3,a3]@4 ~@2 a2 ~@9", // A5
  C: "[f#3,a3]@2 a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ [a2,e3,a3]@2 a2@2, a2 ~@5 [e3,a3]@4 ~@6", // F#m A5
  D: "f#2@2 f#2 ~ f#2 ~ [e3,a3]@2 f#2@2 f#2 ~ [f#2,e3,a3]@2 f#2 ~, a3@4 ~@2 f#2 ~@9", // A5 F#m7
  E: "[e3,a3]@2 f#2 ~ f#2 ~ [e3,a3]@2 f#2 ~ f#2@2 [f#2,e3,a3]@2 f#2 ~, f#2 ~@5 f#2 ~@9", // A5 F#m7
  F: "g2 ~ g2 ~ g2 ~ [d3,a3]@2 g2 ~ g2 ~ [g2,d3,a3]@2 g2@2, [d3,a3]@4 ~@2 g2 ~@9", // D5 Gsus2 D5
  G: "f#2@2 f#2 ~ f#2 ~ [d3,a3]@2 f#2@2 f#2 ~ [f#2,d3,a3]@2 f#2 ~, a3@4 ~@2 f#2 ~@9", // D5 D
  H: "e2 ~ e2 ~ e2 ~ [e2,e3,a3] ~ e2 ~ [e3,g#3,b3,e4]@2 [e3,a3,b3,e4]@4, [e3,a3] ~@3", // A5 E Esus4 A5
  I: "[e3,e4]@3 e3 f#3 a3 b3 c#4, b3@9 ~@7, g#3 ~@3", J: "[e3,g#3,b3,e4]@7 ~",
  K: "[c#4,f#4]!2 ~ [a3,c#4]!2 [a3,c#4,f#4]!2 ~, a3@2 ~ f#4@2 ~@3", // F#5 A F#m
  L: "[g#3,b3,e4]@2 [b3,e4]@2 [b3,e4]@2 [g#3,b3,e4]@4 [g#3,b3,e4]@2 [e3,g#3,b3,e4]@2 b3 ~, ~ g#3@2 ~@5", // E E5 E
  M: "[b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4]@2 [b3,e4,g#4]@4 [b3,e4,g#4]@2 [b3,e4,g#4] ~ e4 ~", // E E5 E
  N: "[d4,e4]@2 d4@2 [a3,d4]@2 [a3,d4,e4]@4 [a3,d4,e4]@2 [d4,e4]@2 d4 ~, a3 ~@3, ~ e4@2 ~@5", // Dsus2 D5 Asus4 Dsus2
  O: "a3@2 [a3,c#4]@2 a3@2 [a2,e3,a3,c#4] ~ [c#4,e4]@2 [c#4,e4]@4 c#4 ~, [a2,e3]@6 ~@2 e3@7 ~", // A C#m A5
  P: "[a3,c#4]@2 a3@2 a3@2 a3@2 [e3,a3,c#4]@2 a3@2 a3@2 a3 ~, e3@3 ~@2 [e3,c#4]@2 ~, ~ c#4@3 ~@4", // A C#m
  Q: "[d4,g4]@2 [d4,g4]@4 [g3,d4,g4]@2 [e3,a3]@2 [e3,a3]@4 [e3,a3] ~, [b2,g3]@7 ~ f#3@7 ~", // G5 A5 Em
  R: "[[g#3,b3,e4]@2 [g#3,b3,e4]@2 [b3,e4] [e3,a3,b3,e4] [e3,a3,b3,e4]@2 [b3,e4]@4 [b3,e4] [g#3,b3,e4]!2 [d3,b3], e3@7 ~@3 b2@19 ~@3]/2", // E E5 Esus4 E5 E G
  S: "[c#4,f#4]@4 [c#4,f#4]@2 [a3,c#4]@4 [a3,c#4,f#4]@2 [d3,a3,c#4,f#4]@2 a3 ~, d3@3 ~, a3@3 f#4 ~@4", // F#5 A F#m Dmaj7
  T: "[b3,e4]@2 [b3,e4]@4 [b3,e4]@4 [b3,e4]@2 [g#3,b3,e4] ~ g#3 ~, [e3,g#3]@2 ~ g#3@3 ~@2", // E5 E
  U: "[b3,e4,g#4]@2 e4@2 [b3,e4]@2 [b3,e4,g#4]@4 [b3,e4,g#4]@2 [b3,e4,g#4] ~ e4 ~, ~ g#4@2 g#3@4 ~", // E E5 E
  V: "[d4,e4]@2 d4@2 [a3,d4]@2 [a3,d4,e4]@4 [a3,d4,e4]@2 [a3,d4,e4] ~ [a2,d3,g3] ~, a3@2 ~ d3@4 ~, ~ e4@2 ~@5", // Dsus2 D5 Asus4 Dsus4
  W: "[[a3,c#4,e4]@2 [a3,c#4,e4]@2 ~@2 [f#3,a3,d4] ~@3 [e3,a3,c#4] ~@3 e3@2 [e3,g#3,b3,e4]@15 ~, ~@7 [e2,b2]@8 ~]/2", // A D A E E5
  X: "[~@4 g3@2 ~@14 a3@8 g3@3 ~, g2@15 ~ f#2@8 ~@8, ~@2 d3@7 ~ d3@8 d3@8 ~@6, ~@3 a3@4 ~@9]/2",
  Y: "a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ a2@2 [a2,e3,a3]@2 a2 ~, [e3,a3]@5 ~ [e3,a3]@6 ~@4", // A5
  Z: "f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ [f#2,e3,a3]@2 f#2@2, [e3,a3]@2 ~ [e3,a3]@2 ~@3", // F#m7 A5
  AA: "g2@2 g2 ~ g2 ~ g2 ~ g2@2 g2 ~ [g2,b2,d3,g3]@2 ~@2, [b2,d3,g3]@6 [b2,d3,g3]@5 ~@5", // G
  AB: "[f#2@2 f#2@2 f#2@2 [g2,b2,d3,g3,b3]@18 a2 ~ a2 ~ a2 ~ [e3,a3]@2, [a2,d3,a3,d4]@5 ~@19 [e3,a3]@4 ~@2 a2 ~]/2", // G A5 D5 A5
  AC: "[a2 ~ a2@2 [a2,e3,a3]@2 a2 ~ [f#3,a3]@2 a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ [a2,e3,a3]@2 a2@2 f#2@2 f#2 ~ f#2 ~ [e3,a3]@2, ~@8 a2 ~@5 [e3,a3]@4 ~@6 a3@4 ~@2 f#2 ~]/2", // A5 F#m A5
  AD: "f#2@2 f#2 ~ [f#2,e3,a3]@2 f#2 ~ [e3,a3]@2 f#2 ~ f#2 ~ [e3,a3]@2, ~@8 f#2 ~@5 f#2 ~", // F#m7 A5
  AE: "f#2 ~ f#2@2 [f#2,e3,a3]@2 f#2 ~ g2 ~ g2 ~ g2 ~ [d3,a3]@2, ~@8 [d3,a3]@4 ~@2 g2 ~", // F#m7 D5
  AF: "g2 ~ g2 ~ [g2,d3,a3]@2 g2@2 f#2@2 f#2 ~ f#2 ~ [d3,a3]@2, ~@8 a3@4 ~@2 f#2 ~", // Gsus2 D5
  AG: "f#2@2 f#2 ~ [f#2,d3,a3]@2 f#2 ~ e2 ~ e2 ~ e2 ~ [e2,e3,a3] ~, ~@2 [e3,a3] ~", // D A5
  AH: "e2 ~ [e3,g#3,b3,e4]@2 [e3,a3,b3,e4]@4 [e3,e4]@6 e3@2, ~ b3, ~@2 g#3 ~", // E Esus4 E
  AI: "f#3@2 a3@2 b3@2 c#4@2 a2 ~ a2 ~ a2 ~ [e3,a3]@2, ~@8 [e3,a3]@4 ~@2 a2 ~", // A5
  AJ: "[e2 ~ [e3,g#3,b3,e4]@2 [e3,a3,b3,e4]@4 [e3,g#3,b3,e4]@14 ~@2 [c#4,f#4]@2 [c#4,f#4]@2 ~@2 [a3,c#4]@2 [a3,c#4]@2 [a3,c#4,f#4]@2 [a3,c#4,f#4]@2 ~@2 [g#3,b3,e4]@2 [b3,e4]@2 [b3,e4]@2 [g#3,b3,e4]@4 [g#3,b3,e4]@2 [e3,g#3,b3,e4]@2 b3 ~ [b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4]@2 [b3,e4,g#4]@4 [b3,e4,g#4]@2 [b3,e4,g#4] ~ e4 ~ [d4,e4]@2 d4@2 [a3,d4]@2 [a3,d4,e4]@4 [a3,d4,e4]@2 [d4,e4]@2 d4 ~ a3@2 [a3,c#4]@2 a3@2 [a2,e3,a3,c#4] ~, ~@12 a3@2 ~ f#4@2 ~@4 g#3@2 ~@13 a3@2 ~@6 [a2,e3]@3 ~, ~@37 e4@2 ~@9]/6", // E Esus4 E F#5 A F#m E E5 …
  AK: "[c#4,e4]@2 [c#4,e4]@4 c#4 ~ [a3,c#4]@2 a3@2 a3@2 a3@2, e3@7 ~ e3@6 ~@2, ~@5 c#4@3", // C#m A
  AL: "[e3,a3,c#4]@2 a3@2 a3@2 a3 ~ [d4,g4]@2 [d4,g4]@4 [g3,d4,g4]@2, ~@2 [e3,c#4]@4 ~@2 [b2,g3]@7 ~", // A G5 C#m Em
  AM: "[e3,a3]@2 [e3,a3]@4 [e3,a3] ~ [g#3,b3,e4]@4 [g#3,b3,e4]@4, f#3@7 ~ e3@7 ~", // A5 E
  AN: "[[b3,e4]@2 [e3,a3,b3,e4]@2 [e3,a3,b3,e4]@4 [b3,e4]@8 [b3,e4]@2 [g#3,b3,e4]@2 [g#3,b3,e4]@2 [d3,b3]@2 [c#4,f#4]@4 [c#4,f#4]@2 [a3,c#4]@4 [a3,c#4,f#4]@2 [d3,a3,c#4,f#4]@2 a3 ~ [b3,e4]@2 [b3,e4]@4 [b3,e4]@4 [b3,e4]@2 [g#3,b3,e4] ~ g#3 ~ [b3,e4,g#4]@2 e4@2 [b3,e4]@2 [b3,e4,g#4]@4 [b3,e4,g#4]@2 [b3,e4,g#4] ~ e4 ~ [d4,e4]@2 d4@2 [a3,d4]@2 [a3,d4,e4]@4 [a3,d4,e4]@2 [a3,d4,e4] ~ [a2,d3,g3] ~ [a3,c#4,e4]@2 [a3,c#4,e4]@2 ~@2 [f#3,a3,d4] ~, ~@2 b2@19 ~@3 d3@12 ~@4 [e3,g#3]@4 ~@2 g#3@6 ~@10 g#3@8 ~@2 a3@4 ~@2 d3@8 ~@10, ~@12 a3@3 f#4 ~@13 g#4@2 ~@6 e4@2 ~@9]/6", // E5 Esus4 E5 E G F#5 A F#m …
  AO: "[~@2 [e3,a3,c#4] ~@3 e3@2 [e3,g#3,b3,e4]@15 ~ [c#4,f#4]@2 [c#4,f#4]@2 ~@2 [a3,c#4]@2 [a3,c#4]@2 [a3,c#4,f#4]@2 [a3,c#4,f#4]@2 ~@2 [g#3,b3,e4]@2 [b3,e4]@2 [b3,e4]@2 [g#3,b3,e4]@4 [g#3,b3,e4]@2 [e3,g#3,b3,e4]@2 b3 ~ [b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4]@2 [b3,e4,g#4]@4 [b3,e4,g#4]@2 [b3,e4,g#4] ~ e4 ~ [d4,e4]@2 d4@2 [a3,d4]@2 [a3,d4,e4]@4 [a3,d4,e4]@2 [d4,e4]@2 d4 ~ a3@2 [a3,c#4]@2 a3@2 [a2,e3,a3,c#4] ~, ~@3 [e2,b2]@8 ~ a3@2 ~ f#4@2 ~@4 g#3@2 ~@13 a3@2 ~@6 [a2,e3]@3 ~, ~@37 e4@2 ~@9]/6", // A E F#5 A F#m E E5 E …
  AP: "[~@2 [e3,a3,c#4] ~@3 e3@2 [e3,g#3,b3,e4]@15 ~@5 g3@2 ~@14 a3@3 ~, ~@6 [e2,b2]@16 ~@2 g2@15 ~ f#2@8, ~@26 d3@7 ~ d3@8 d3@6, ~@15 a3@4 ~@5]/3", // A E E5
  AQ: "[g3@2 g3@2 g3@2 g3@2 ~ [b3,e4]@29 ~@10, g2@4 [a2,e3,a3]@15 ~@5, [d3,b3]!2 ~@10]/3", // E5 A5 G
})).s("gm_acoustic_guitar_steel").gain(0.33).pan(0.3)

// chords · acoustic guitar steel · "STEEL GTR" · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@7 A ~@2 B ~@4 A ~@2 B ~@2 C D E ~ F G H I@2 J K L M N ~@2 O ~@6 P ~@2 Q ~@4 P ~@2 Q ~@2 R@4 S T U V@3 W@2 X Y Z R@4
  S T U V@3 W@2 X Y Z ~@5
>`.pickRestart({
  A: "e3@3 ~@13", B: "d3 ~@3", C: "d3@14 [a2,d3,b3] ~", D: "e3@3 ~, b2 ~", E: "g#3@4 g#3@9 ~@3, ~@2 g#4 ~@5",
  F: "c#4@2 ~@2 c#4@2 ~@8 e4 ~", G: "~@3 e3 ~@4", H: "d3 ~ d3@4 ~@10", I: "[b2@7 ~@9 [e3,g#3]@10 e3@2 ~@4, e2@31 ~]/2",
  J: "~@4 f#4 ~ a2 ~", K: "~@4 g#3@2 b2@6 e3 ~@3, b2@3 ~@5, ~ e3@2 ~", L: "g#3@3 ~@5", M: "~@2 d3 ~@2 a2 ~@2",
  N: "~@14 g#3 ~", O: "~@5 d3@3, ~@8 g2@7 ~", P: "~@8 e3@3 ~@5", Q: "~@2 d3 ~",
  R: "[~@8 d3@14 [a2,d3,b3] ~ e3@12 ~@4 g#3@4 g#3@9 ~@11, ~@12 b2@4 ~@6 g#4 ~@9]/4", S: "~@4 c#4 ~ c#4 ~",
  T: "~@6 e4 ~@7 e3@2", U: "~@8 d3 ~ d3@4 ~@2, ~@8 g2@7 ~", V: "[~@8 b2@7 ~@9 [e3,g#3]@10 e3@2 ~@12, ~@8 e2@31 ~@9]/3",
  W: "[f#4@2 ~@2 a2@2 ~@6 g#3@2 b2@6 e3 ~@3 g#3@6 ~@2, ~@4 b2@3 ~@9, ~@3 e3@2 ~@3]/2", X: "~@6 d3 ~", Y: "~ a2 ~@6",
  Z: "~@6 g#3 ~@9",
})).s("gm_acoustic_guitar_steel").gain(0.22).pan(0.3)

// chords · epiano1 · "E.PIANO 1"
const epiano1 = note(`<
  ~@20 A@2 B ~@2 C@4 A@2 B ~@2 D@2 ~@21 E F@3 ~ G@2 H I@2 F@3 ~ J@2 K@3 ~ L@2 M I@2 F@3 ~ J@2 ~@5
>`.pickRestart({
  A: "[~@2 [a3,c#4,e4]@2 [a3,c#4,e4]@2 [a3,c#4,e4]@2 [f#3,b3,d4] [e3,a3,c#4]@3 [e3,a3,c#4]@2 c#4@16 d4 c#4, ~@7 [e4,a4]@9]/2", // A Bm A A5
  B: "[b3,e4,g#4]@3 ~", // E
  C: "[[b3,d4,f#4]@2 [a3,c#4,e4]@4 [a3,c#4]@6 [a3,d4,f#4]@2 [b3,d4,f#4]@4 [a3,c#4,e4]@4 [a3,c#4,e4] [f#3,b3,d4] [e3,a3,c#4]@4 [a3,d4,f#4]@2 [b3,d4,f#4]@4 [a3,c#4,e4]@4 [f#3,b3,d4]@2 [e3,a3,c#4]@2 [a3,c#4,f#4]@4 [g#3,b3,e4]@18]/4", // Bm A D Bm A Bm A D …
  D: "[[a3,c#4,e4] [a3,c#4,e4]@2 [b3,d4,f#4]@2 [a3,c#4,e4]@2 [g#3,b3,e4]@2 ~@7]/2", E: "~@5 [a3,c#4,e4]!3",
  F: "[[f#3,b3,d4] [e3,a3,c#4]@3 [e3,a3,c#4]@2 c#4@16 d4 c#4 [b3,e4,g#4]@12 ~@12, ~ [e4,a4]@3 ~@4]/3", // Bm A E A5
  G: "[~@8 [b3,d4,f#4]@2 [a3,c#4,e4]@4 [a3,c#4]@6 [a3,d4,f#4]@2 [b3,d4,f#4]@4 [a3,c#4,e4]@4 [a3,c#4,e4] [f#3,b3,d4]]/2", // Bm A D Bm A Bm
  H: "[e3,a3,c#4]@2 [a3,d4,f#4] [b3,d4,f#4]@2 [a3,c#4,e4]@2 [f#3,b3,d4]", // A D Bm A Bm
  I: "[[e3,a3,c#4] [a3,c#4,f#4]@2 [g#3,b3,e4]@9 ~ [a3,c#4,e4]!3]/2", // A F#m E A
  J: "[~@4 [a3,c#4,e4] [a3,c#4,e4]@2 [b3,d4,f#4]@2 [a3,c#4,e4]@2 [g#3,b3,e4]@2 ~@3]/2", // A Bm A E
  K: "[~@4 [e3,a3,c#4]@2 c#4@16 d4 c#4 [b3,e4,g#4]@12 ~@12, ~ [e4,a4]@3 ~@4]/3", // A E A5
  L: "[~@8 [b3,d4,f#4]@2 [a3,c#4,e4]@4 [a3,c#4]@4 [a3,d4,f#4]@4 [b3,d4,f#4]@4 [a3,c#4,e4]@4 [a3,c#4,e4] [f#3,b3,d4]]/2", // Bm A D Bm A Bm
  M: "[e3,a3,c#4]@4 [a3,d4,f#4]@2 [b3,d4,f#4]@4 [c#4,e4,a4]@4 [a3,c#4,e4] [f#3,b3,d4]", // A D Bm A Bm
})).s("gm_epiano1").gain(0.32).pan(0.6)

// other · violin
const violin = note("<~@30 A B C D E F G H ~@30 I J@2 K L@2 ~@3 M N O@3 ~ I J@2 K L@2 P@4>".pickRestart({
  A: "~ a5, ~@8 g#5 ~@7", B: "~@2 g#5 a5 g#5@2 e5@2 g#5 a5 g#5@2 e5@2 b4@2", C: "c#5@5 ~@3",
  D: "~ d5 c#5 a4 d5 c#5 a4 f#4, ~@8 c#5 ~@7", E: "e4@9 ~@7", F: "b3", G: "~ g5", H: "e5@15 ~",
  I: "a5@9 ~ a5@2 g#5@2 e5@2, g#5 ~@15", J: "[a5 g#5 e5 b4 c#5@5 ~@4 d5 c#5 a4, g#5 ~@31]/2",
  K: "d5 c#5 a4 f#4 e4@4, c#5 ~@15", L: "[~@8 b3@15 ~@9]/2", M: "~ a4", N: "g#4@7 ~ f#4@8",
  O: "[e4@8 d4@14 f#4@2 e4@19 ~@5]/3", P: "[~@3 g5 e4@8 a3@14 ~@6]/4",
})).s("gm_violin").gain(0.27)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel_3 = note("<A@5 ~@31 B C D E F G@2 ~@50>".pickRestart({
  A: "[~@14 a4@9 ~@7 a4@9 ~@7 a4@9 ~@5 a3@2 d4@17 ~, ~@8 a4@4 a3@11 ~@3 e4@13 ~ a4@4 a3@11 ~@3 e4@21 ~, ~@10 e4@13 ~ a4@4 a3@12 ~@2 d4@13 ~ a4@23 ~]/5",
  B: "~@7 g3, g4@3 f#4@3 e4@2, ~ d4@3 d4@4, ~@4 g3@5 ~ g3@4 ~@2",
  C: "~@3 d4 ~@3 a3, d4@3 ~@3 e4@2, ~ d3@4 d3@3, ~ a3 b3@2", D: "~@6 a4@9 ~, a4@4 a3@11 ~, ~@2 e4@13 ~",
  E: "~@6 a4@9 ~, a4 a3@3, ~@2 e4@13 ~", F: "~@6 a4@9 ~, a4@4 a3@11 ~, ~@2 d4@13 ~",
  G: "[~@4 a3@2 d4@17 ~@9, a4@23 ~@9, ~@2 e4@21 ~@9]/2",
})).s("gm_acoustic_guitar_steel").gain(0.38).pan(0.7)

// chords · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note(`<
  ~ A B C@2 ~@14 D@2 E F G H I J K L@2 M F G N O@2 ~@2 P@3 Q@2 ~@14 R@6 S T@8 U@6 V@3 W@6 X@3 Y@3
>`.pickRestart({
  A: "~ g#3 a3 f#3@5", B: "~ g#3 a3 g3@5", C: "[~@2 a3@2 b3@2 c#4@2 d4 ~ [c#4,d4] c#4 b3@2 a3@16 ~@2]/2",
  D: "[~@5 a3!2 ~ e3@8, ~@14 e4@17 ~]/2", E: "~ [c#4,e4]@14 ~, [d3,f#3,a3]@15 ~",
  F: "~@3 [g#3,b3,e4]@5, e2, ~ b2@7, ~ e3@3", G: "~@3 e4@5, c#3, ~ g#3@7, ~ b3@3",
  H: "~@4 e4@2 ~@4 e4@5 ~, d3, ~ a3@7, ~@3 d4@5", I: "a3 c#4 e4@2 g#3 c#4 e4@2", J: "f#3@2 a3@2 e4@4 e3@2 a3@2 e4@3 ~",
  K: "d3 g3 a3 d4@2 f#3 a3@2", L: "[[e2,b2,e3,g#3]@9 ~ a3 ~ a3@2 ~@2 g#3@2 ~@4 e4@10, ~@5 [e3,b3]@11, ~@7 e4@4 ~@5]/2",
  M: "~ [c#4,e4]@15, [d3,f#3,a3]", N: "~@3 f#3@3 f#3@2, d3, ~ a3@7, ~ d4@3",
  O: "[[a2,c#4,e4] ~ [a2,c#4,e4]@3 ~ [a2,a3,d4,f#4]@3 ~ [a2,a3,c#4,e4]@2 ~@2 [g#3,b3,e4]@2 [b2,g#3,b3,e4]@15 ~, a3@4 ~@10 e2@17 ~]/2", // A D A E
  P: "[~@10 g#3@2 a3@2 f#3@11 ~ g#3@2 a3@2 g3@10 ~@2 a3@2 b3@2 c#4@2]/3", Q: "[d4 ~ [c#4,d4] c#4 b3@2 a3@16 ~@10]/2",
  R: "[~@2 a3@2 a3@2 ~@2 [e3,b3]@16 ~ [c#4,e4]@15 ~@6 [g#3,b3,e4]@10 ~@6 e4@10 ~@4 e4@2 ~@4 e4@5 ~ a3@2 c#4@2 e4@4, ~@3 e4@9 ~@9 b2@7 c#3@8 d3@8 ~@4, ~@8 g#3@2 ~@14 [d3,f#3,a3]@15 ~ e2@16 ~@4 b3@12 ~@6 d4@10 ~@8, ~@22 e3@6 ~ g#3@7 ~ a3@7 ~@4]/6", // E5 C#m E D
  S: "g#3 c#4 e4@2 f#3 a3 e4@2",
  T: "[e3@2 a3@2 e4@3 ~ d3@2 g3@2 a3@2 ~@4 f#3@2 a3@4 [b2,e3,g#3]@10 a3 ~ a3@2 ~@2 g#3@2 ~@4 e4@10 ~ [c#4,e4]@15 ~@6 [g#3,b3,e4]@10 ~@6 e4@10 ~@6 f#3@6 f#3@4 [a2,c#4,e4] ~ [a2,c#4,e4]@3 ~ [a2,a3,d4,f#4]@2, ~@14 d4@6 ~@4 e2@8 ~@2 [e3,b3]@21 ~ [d3,f#3,a3]@16 e2@16 ~@4 b3@12 ~@4 d4@12 ~@8, ~@19 e4@4 ~@14 b2@7 c#3@8 d3@8 ~@4, ~@38 e3@6 ~ g#3@7 ~ a3@7 a3@2 ~@2]/8", // E C#m E A D E5 D
  U: "[~@2 [a2,a3,c#4,e4]@2 ~@2 [g#3,b3,e4]@2 [b2,g#3,b3,e4]@15 ~@2 [c#4,e4]@14 ~@7 [g#3,b3,e4]@10 ~@6 e4@10 ~@4 e4@2 ~@4 e4@5 ~ a3@2 b3@2 c#4@2 e4@2, ~@6 e2@17 ~ [d3,f#3,a3]@15 ~ e2@16 ~@4 b3@12 ~@6 d4@10 ~@8, ~@21 b2@7 c#3@8 d3@8 ~@4, ~@22 e3@6 ~ g#3@7 ~ a3@7 ~@4]/6", // A E C#m E D
  V: "[g#3@2 c#4@2 e4@4 f#3@2 a3@2 ~@4 e3@2 a3@2 e4@3 ~ d3@2 g3@2 a3@2 d4@4 f#3@2 a3@4 [e2,b2,e3,g#3]@8, ~@2 e4 ~@5]/3", // E
  W: "[~@2 a3 ~@5 g#3@2 ~@4 e4@2 e4@4 [g#3,e4]@4 ~ [c#4,e4]@15 ~@6 [g#3,b3,e4]@10 ~@6 e4@10 ~@6 f#3@6 f#3@4 [a2,a3,c#4,e4] ~ [a2,a3,c#4,e4]@3 ~ [a2,a3,d4,f#4]@2, ~ e3@11 [d3,f#3,a3]@8 e2@8 ~@20, ~@2 b3@12 b3@5 ~@25 e3@12 ~@2 g#3@14 ~@2 a3@14 ~@8, ~@2 a3@2 ~@17 b2@7 c#3@8 d3@8 ~@4, ~@3 e4@4 ~@23 b3@6 ~@2 d4@6 ~@4]/6", // C#m E A D
  X: "[~@2 [a2,a3,c#4,e4]@2 ~@2 [g#3,b3,e4]@2 [b2,g#3,b3,e4]@15 ~@5 d4@12 [f#3,a3,d4]@7 ~, ~@6 e2@17 ~ g3@16 ~@8, ~@26 a3@13 ~@9]/3", // A E D
  Y: "[~@4 d4@4 ~ c#4@27 ~@12, g3@8 [e3,a3]@27 ~@13, ~ a3@3 ~@20]/3", // A5
})).s("gm_electric_guitar_jazz").gain(0.27).pan(0.3)

// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note("<~@14 A B@2 ~@2 C ~@32 D E ~@2 F ~@36>".pickRestart({
  A: "~@14 b2 ~", B: "c#3 ~@5 c#3 ~@9", C: "b2 ~@5 b2 ~@7 e2 ~", D: "~@6 b2 ~ c#3 ~@5 c#3 ~", E: "~@8 c#3 ~@5 c#3 ~",
  F: "~@8 b2 ~@5 b2 ~",
})).s("gm_electric_guitar_muted").gain(0.33).pan(0.4)

// other · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz_2 = note("<~@3 A@3 ~@27 B C ~@7 D@3 ~@6 E@2 ~@8 F@2 ~@13 G H ~@10 I@4 ~>".pickRestart({
  A: "[~@7 e4@14 ~@3]/3", B: "~ d4 c#4 a3 d4 c#4 a3 f#3", C: "e3@5 ~@11", D: "[~@3 e4@14 ~@7]/3",
  E: "[~@14 e5@9 ~ d#5@7 ~]/2", F: "[~@7 d4@2 e4@7, ~@5 a4@4 ~@7, ~@12 e4@5 ~@15]/2", G: "~ d5", H: "e4@4 g4@5 ~@7",
  I: "[~@8 g4@15 ~ d4@16 [a4,e5]@16 ~@8]/4", // A5
})).s("gm_electric_guitar_jazz").gain(0.29).pan(0.9)

// other · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz_3 = note("<~@51 A@3 ~@22 B C ~@10 D@4 ~>".pickRestart({
  A: "[~@7 b4@10 ~@7]/3", B: "~@5 c#5@2 b4", C: "b4 ~@3", D: "[~@8 b3@15 ~ a3@14 ~@2 c#5@16 ~@8]/4",
})).s("gm_electric_guitar_jazz").gain(0.29).pan(0.9)

// drums · kick
const kick = s("bd").struct(`<
  A B@3 ~ C@4 D@4 C@4 D@3 E D@13 F G@2 H D@3 C A@5 B@4 A@4 B@2 H I B@7 J K B@3 L M A B@3 N B@3 J K B@3 L M O I P ~@2
>`.pickRestart({
  A: "~@4 x ~@2 x", B: "x ~@3 x ~@2 x", C: "x ~@2 x ~@4", D: "x ~@2 x!2 ~@3", E: "x ~@4 x ~ x", F: "x!2 ~ x ~ x ~ x",
// … 72 more lines

More by Brooks & Dunn