Strudelify
One Step Away cover art

1995 · Music For All Occasions

One Step Away

The Mavericks

KeyC majorTempo100 bpm
0:00/0:00
// One Step Away — The Mavericks
// 100 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: Full arrangement: all 84 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(100/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, A@4 for four bars: edit a riff to change every repeat.

// chords · acoustic guitar steel · "Steel Guitar"
const acoustic_guitar_steel = note(`<
  A B C D@2 E@2 F@2 G H I J I K I L M N O P O Q R S T U V W X Y X Z AA AB O AC O AD AE AF AG AH AI@2 AJ AK AL@2 AM AN AO
  J AP AQ I J AR AS AT N AU N AT AF AV AW AX AY AZ BA BB BA AX BA AX BC BD BA BE BF BG BF BH
>`.pickRestart({
  A: "~@11 g2", B: "~@6 e4@5 ~ [c4,d#4]@3 ~@3 c3@3 ~ a2@2, c3@11 ~ c3@4 ~@8, ~@4 c4@7 ~@5 [c4,e4]@8",
  C: "~@4 [c4,f4]@8 [g2,d4,g4]@5 ~ [d4,g4]@4 b2@2, f2@4 ~@2 g2 ~", // F5 G5
  D: "[~@4 c4 ~ [c4,e4]@4 c4 ~ [c4,d#4]@3 ~@3 c3@3 ~ a2@2 ~@4 [c4,f4]@8 [g2,d4,g4]@5 ~ [d4,g4]@4 b2@2, c3@12 c3@4 [c4,e4]@11 ~@21, ~@8 f2@4 ~@2 g2 ~]/2", // C Cm F5 G5 C
  E: "[~@4 [c4,e4]@6 ~@2 d#4@3 ~ c3@6 a2@2 ~@4 f4@6 c4@2 [g2,d4,g4]@5 ~ g2@4 b2@2, c3@5 ~@3 f2@4 ~@4, ~@10 c4@5 ~ [c4,e4]@10 ~@2 c4@5 ~@9 [d4,g4]@6]/2", // C G5 C G5
  F: "[~@12 [c4,d#4]@3 ~@7 a2@2 ~@4 f4@6 [f2,c4]@2 [g2,d4,g4]@5 ~ [d4,g4]@4 [g2,b2]@2, c3@10 c3@11 ~@3 f2@6 ~@12 g2@3 ~@3, ~@5 c4@5 ~@5 [c4,e4]@11 ~@2 c4@5 ~@15, ~ e4 ~@6]/2", // Cm F5 G5 G C
  G: "c3@10 c3@6 c3@5 ~ a2@2, [c4,e4]@2 ~", H: "f2@4 ~ g2@2 ~ g2@2 ~ b2, g2 ~@23", I: "c3@9 ~ c3@4 ~@2 c3@3 ~@3 a2@2",
  J: "f2@9 ~ g2@4 ~@2 g2@5 ~ b2@2", K: "f2@9 ~ g2@4 ~@2 g2@5 ~ b2@2, ~@16 a2 ~@7", L: "f2@9 ~ g2@4 ~@2 g2@3 ~@3 f#2@2",
  M: "f2@7 ~@3 f2@3 ~@5 f2@2 ~@2 f#2 ~, [a3,c4,f4]@11 ~", // F
  N: "g2@7 ~@3 g2@3 ~@3 g2@2 [a#3,c#4,f#4]@4 f#2 ~, [b3,d4,g4]@5 ~@3", // F# G
  O: "f2@7 ~@3 f2@3 ~@3 f2@3 ~@3 f#2 ~, [a3,c4,f4]@7 ~", // F
  P: "g2@8 ~@2 g2@3 ~@3 g2@2 [a#3,c#4,f#4]@4 f#2 ~, [b3,d4,g4]@17 ~@7", // F# G
  Q: "g2@7 ~@3 g2@4 ~@2 g2@5 ~ [g2,b2]@2, [b3,d4,g4]@5 ~", // G
  R: "[g3,c4,e4]@3 ~ c4@2 [c4,e4]@4 ~@2 [c4,d#4]@3 ~ c3@5 ~ a2@2, c3@9 ~ c3@5 ~ [c4,e4]@8", // C Cm C
  S: "f2@4 ~@2 [f2,f4]@5 ~ [g2,d4,g4]@5 ~ [d4,g4]@4 b2 ~, ~@4 c4@8 f4 ~@5 g2@3 ~@3", // F G5
  T: "c3@4 c4 ~ [c4,e4]@5 ~ [c4,d#4]@3 ~ [c3,c4,e4]@5 ~ c4@2, ~@6 c3@8 ~@7 a2@3", // C Cm C
  U: "~@10 c4@2 [g2,d4,g4]@5 ~ [d4,g4]@4 [g2,b2]@2, f2@5 ~ f2@6 ~@6 g2@3 ~@3, ~@3 f4@7 ~@14, ~@3 c4@5 ~@16", // G5 G
  V: "c3@6 c3@9 c3@4 ~@3 a2@2, [c4,e4]@5 ~@7", W: "f2@5 ~ f2@4 ~@6 g2@3 ~@3 b2@2", X: "c3@5 ~@5 c3@3 ~@3 c3@4 ~@2 a2@2",
  Y: "f2@4 ~@6 g2@3 ~@3 g2@3 ~@3 b2@2", Z: "f2@7 ~@3 g2@3 ~@3 g2@4 ~@2 b2@2", AA: "c3@8 ~@2 c3@3 ~@3 c3@3 ~@3 a2@2",
  AB: "f2@6 ~@4 g2@3 ~@3 g2@4 ~@2 f#2@2", AC: "g2@7 ~@3 g2@3 ~@3 g2@2 [a#3,c#4,f#4]@4 f#2@2, [b3,d4,g4]@5 ~@3",
  AD: "g2@7 ~@2 g2@4 ~@3 g2@4 ~ [f#2,a#3,c#4,f#4]@2 ~, [b3,d4,g4]@17 ~@7", // F# G
  AE: "f2@4 ~ f2@2 ~ f2@2 ~ f#2, [a3,c4,f4]@23 ~, c#4 ~@23", AF: "g2@7 ~@2 g2@4 ~@3 g2@4 ~@2 b2@2, [b3,d4,g4]@5 ~",
  AG: "c4@4 c4@2 [c4,e4]@4 c3@2 [c4,d#4]@3 ~ [c4,e4]@5 ~ c4@2, g3@5 ~@7, c3@8 ~@7 c3@4 ~@2 a2@2 ~, e4 ~@3", // C Cm C
  AH: "~@4 c4@2 [c4,f4]@4 g2@2 [d4,g4]@3 g2@3 [c4,c#4,f#4]@4 [f#2,g2] ~, f2@9 ~@9 b3 ~@5", // F5 G5 F# Gmaj7
  AI: "[[e4,f4] ~@5 b2@5 ~ d3@5 ~ b2@6 g2@6 b2@6 d3@6 b2@5 ~, [b3,d4,g4]@43 ~@5, g2@5 ~@43]/2", // Fmaj7 G
  AJ: "f2@6 a2@6 c3@6 a2@5 ~, [a3,c4,f4]@11 ~", AK: "c2@6 e2@6 g2@5 ~ [f#2,a3,c4,f4]@5 ~, [g3,c4,e4]@3 ~",
  AL: "[g2@6 b2@6 d3@6 b2@6 g2@6 b2@6 d3@6 b2@5 ~, [b3,d4,g4]@23 ~]/2", AM: "d2@6 f#2@6 a2@6 f#2@5 ~, [a3,d4,f#4]@23 ~",
  AN: "g2 f2 e2 d2, [b3,d4,g4]@23 ~", AO: "c3@4 ~ c3@2 ~ c3@2 ~ a2, [g3,c4,e4] ~",
  AP: "c3@8 ~@2 c3@4 ~@2 c3@3 ~@2 a2@3", AQ: "f2@9 ~ g2@4 ~@2 g2@4 ~@2 b2@2", AR: "c3@4 ~ c3@2 ~ c3@2 ~ a2",
  AS: "f2@8 ~@2 g2@4 ~@2 g2@3 ~@2 g2@2 ~", AT: "f2@4 ~ f2@2 ~ f2@2 ~ f#2, [a3,c4,f4]@11 ~",
  AU: "f2@8 ~@2 f2@4 ~@2 f2@3 ~@2 f#2 ~@2, [a3,c4,f4]@23 ~", // F
  AV: "c4@4 ~@6 c3@2 [c4,d#4]@3 ~ c3@3 ~@2 a2@2 ~, g3@13 ~@11, [c3,e4]@6 e4@7 ~@11, ~ c4@2 ~ [c4,e4]@2", // Cm C
  AW: "~@4 [c4,f4]@5 ~@3 [d4,g4]@4 ~@6 b2@2, f2@8 ~ c4@2 ~@7 [d4,g4]@6, ~@5 g2@2 ~ g2@2 ~@2", // F5 G5
  AX: "~@6 [c4,e4]@4 c3@2 [c4,d#4]@3 ~ c3@3 ~@2 a2@2 ~, c3@8 ~@7 [c4,e4]@9", // C Cm C
  AY: "~@3 f4@6 ~ c4 ~ [d4,g4]@4 ~@5 b2@2 ~, f2@9 ~ g2@4 ~@2 g2@4 ~@4, ~@3 c4@4 ~@11 [d4,g4]@5 ~", // G5
  AZ: "~@6 [c4,e4]@4 c3@2 [c4,d#4]@3 ~ e4@5 a2@2 ~, c3@8 ~@7 c4@5 ~@4, ~@16 c3@3 ~@5", // C Cm
  BA: "~@3 f4@6 ~ c4 ~ [d4,g4]@4 ~@5 b2@2 ~, f2@7 ~@3 g2@4 ~@2 g2@4 ~@4, ~@3 c4@4 ~@11 [d4,g4]@5 ~", // G5
  BB: "~@9 c3@3 [c4,d#4]@3 c3@3 ~@3 a2@2 ~, c3 ~@2, ~@6 [c4,e4]@5 ~@4 [c4,e4]@8 ~", // Cm C
  BC: "~@3 [c4,f4]@6 ~ c4 ~ [d4,g4]@4 g2@2 [d4,g4]@4 b2@2, f2@4 ~ g2@2 ~@5", // F5 G5
  BD: "c3@6 [c4,e4]@4 c3@2 [c4,d#4]@3 ~ c3@3 ~@3 a2@2, ~@5 c4@3, ~@2 e4", // C Cm
  BE: "~@6 [c4,e4]@4 c3@2 [c4,d#4]@3 ~ c3@3 ~@3 a2@2, c3 ~ [c4,e4]", // C Cm C
  BF: "~@3 [c4,f4]@6 ~ c4 ~ [d4,g4]@4 ~@6 b2@2, f2@4 ~ g2@2 ~ g2@2 ~@2, ~@3 [d4,g4]", // F5 G5
  BG: "c3@6 [c4,e4]@4 c3@2 [c4,d#4]@3 ~ c3@3 ~@2 a2@2 ~, ~@2 [c4,e4]", BH: "c3 ~@23",
})).s("gm_acoustic_guitar_steel").gain(0.49)

// bass · electric bass finger · "Bass"
const bass = note(`<
  ~ A B A C D B D B E F G B E H E B I J K L K M A B A B D N A B D O A F K J P J K M E Q R S T E U V W M G B D B G B D B
  I J P J P J D B E H E B D H A B E F D B E H A B ~
>`.pickRestart({
  A: "c2 d2 d#2 e2", B: "f2@5 ~ f2@5 ~ g2@5 ~ g2@5 ~", C: "f2@4 c2@2 f2@5 ~ g2@4 d2@2 g2@5 ~",
  D: "c2@5 ~ e2@6 g2@6 f#2@6", E: "c2@3 e2@3 g2@3 c2@2 ~", F: "f2@5 ~ f2@5 ~ g2@4 d2@2 g2@5 ~",
  G: "c2@3 e2@3 g2@3 c2@2 f#2", H: "f2@5 ~ f2@4 g#2 ~ g2@5 ~ g2@5 ~", I: "f2@3 a2@3 c3@3 f2@2 g#2",
  J: "g2@3 b2@3 d3@3 g2@2 ~", K: "f2@3 a2@3 c3@3 f2@2 ~", L: "g2@3 b2@3 d3@3 g2@2 f#2", M: "g2@3 b2@3 d3@3 g2@2 c#2",
  N: "f2@5 ~ f2@5 ~ g2@5 ~ g2@4 c#2 ~", O: "f2@4 c2@2 f2@5 ~ g2@5 ~ g2@5 ~", P: "f2@5 ~ e2@6 f2@6 f#2@5 ~",
  Q: "f2@5 ~ f2@5 ~ g2@5 ~ f#2@5 ~", R: "g2@6 b2@6 d3@6 e3@4 g1 ~", S: "g2@3 b2@3 d3@3 b2@2 ~",
  T: "f2@3 a2@3 c3@3 f2@2 c#2", U: "g2 b2 d3 b2", V: "g2@5 ~ g2@6 f#2@6 e2@4 ~@2", W: "d2@3 f#2@3 a2@3 d2@2 g#2",
})).s("gm_electric_bass_finger").gain(0.43)

// chords · piano
const piano = note(`<
  ~ A B C D E F G H C I J K C L E I M N O P Q R A S G I J T J U A F E V Q P W R W P J X Y@2 Q G Z@2 AA AB A AC C F J S A
  I W P O P Q AD C AE G AE E AF J AC A I A AG G AH J K C AI ~
>`.pickRestart({
  A: "[c3,g3,c4,e4]", B: "[f3,c4,f4,a4] [g3,b3,d4]", C: "~@2 g3@6 ~ g3@3, c2, ~ [c4,e4,g4]@5, ~@2 c3",
  D: "[f3,c4,f4,a4] [b3,f4,g4,d5]", E: "~@5 [c4,g4]@7, ~ c3@5, ~ g3@3", F: "[a3,c4,f4] [g3,b3,d4]", G: "[g3,e4,g4,c5]",
  H: "~@2 [a3,c4,f4,a4]@4 ~@5 [b3,f4,g4], f2@3 ~ g2@2, ~@3 g3", I: "[a3,c4,f4]@6 ~@5 [b3,f4,g4], ~@2 g2, ~@3 g3",
  J: "[g3,c4,e4]", K: "~ [a3,c4,f4,a4]@2 ~ [b3,d4,f4,g4]@2, f2 g2", L: "[a3,c4,f4]@3 ~ [b3,d4,f4,g4]@2, ~ g2",
  M: "~@5 [c4,a4]@7, ~ f2@5, ~ a3@3", N: "[b3,d4,f4,g4]", O: "[a3,f4,a4,c5]", P: "[g3,b3,d4]", Q: "[a3,c4,f4]",
  R: "~@2 b3@6 ~ b3@3, g2, ~ [d4,f4,g4]@5", S: "~ [a3,c4,f4,a4]@2 [b3,f4,g4,d5]@3, f2 ~", T: "[a3,c4,f4] [b3,f4,g4,d5]",
  U: "~@5 [c4,a4] ~@5 [b3,f4,g4], ~ f2@2 ~ g2@2, ~ a3 ~ g3", V: "[f3,c4,f4,a4]@3 ~ [b3,d4,f4,g4]@2, ~ g2",
  W: "~@2 a3@6 ~ a3@3, f2, ~ [c4,f4,a4]@5", X: "[a3,c4,f4]@6 ~@2 [b3,d4,f4,g4] ~@2 f#2, ~@2 g2 ~",
  Y: "[~@44 g4@3 ~, [g3,b3,d4]@47 ~, ~@36 f5@11 ~, ~@40 d5@7 ~]/2", // G
  Z: "[b3@17 ~@5 d5@2, d5@11 ~, g4@5 g4, f4@19 f4@5, ~@17 b3@7]/2", AA: "[d3,a3,d4,f#4]",
  AB: "~@5 [b3,f4,g4]@7, ~ g2@5, ~ g3@3", AC: "~ [a3,c4,f4,a4]@2 [g3,b3,d4]@3, f2 ~", AD: "[b3,f4,g4,d5]",
  AE: "[a3,c4,f4] [b3,d4,f4,g4]", AF: "~@5 [c4,a4] [b3,d4,f4,g4]@6, ~ f2@2 ~@3, ~ a3 ~@2",
  AG: "[f3,c4,f4,a4] [b3,d4,f4,g4]", AH: "[f3,c4,f4,a4]@6 ~@5 [b3,f4,g4], ~@2 g2, ~@3 g3",
  AI: "~@5 [c4,a4] [b3,f4,g4,d5]@6, ~ f2@2 ~@3, ~ a3 ~@2", // F G7
})).s("gm_piano").gain(0.36)

// other · acoustic guitar steel · "Steel Guitar"
const acoustic_guitar_steel_2 = note(`<
  ~@9 A B C@3 B D@2 E F@4 G@3 ~@2 A B D@2 A B D@2 E H@2 I@2 J@2 ~ K L M N K L O@2 A B P@2 A B D@2 E F@4 J@2 Q R@6 S@4
  R@4 T@2 ~
>`.pickRestart({
  A: "~ c5 b4 a4", B: "b4@6 a4@6 f4@6 a4@5 ~", C: "[a4@3 ~ g4@45 ~@5 c5@6 b4@6 a4@6]/3", D: "[a4@4 g4@43 ~]/2",
  E: "~@6 f4@6 a4@6 c5@5 ~", F: "[c5@6 b4@6 a4@4 b4@13 ~ f4@6 a4@6 c5@5 ~]/2",
  G: "[c5@5 ~ b4@8 ~@2 a4@2 b4@3 c5@38 ~@13]/3", H: "[c5@6 b4@6 a4@4 b4@13 ~ f4@6 a4@9 c5@3]/2",
  I: "[~@4 c5@5 b4@2 ~ a4@3 b4@14 ~ f4@6 a4@6 c5@5 ~]/2", J: "[c5@2 b4@3 a4 b4 c5@9]/2", K: "~@6 g4@6 b4@6 d5@5 ~",
  L: "c5 b4 a4 g4", M: "a4@11 ~ a4@4 g4@4 f4@3 ~", N: "g4", O: "[a4@3 ~ a4@3 ~ a4@3 ~ a4@3 ~ g4@3 ~ a4@3 b4@25]/2",
  P: "[a4 g4@10 ~]/2", Q: "~@12 b4@3 ~ a4@4 b4@3 ~", R: "[c5@35 ~ b4@3 ~ a4@4 b4@3 ~]/2",
  S: "[c5@35 ~ b4@4 a4@4 b4@2 ~ c5@35 ~@2 b4@3 ~ a4@4 b4@3 ~]/4", T: "[c5@35 ~ b4@3 ~ a4@4 b4@2 ~ c5]/2",
})).s("gm_acoustic_guitar_steel").gain(0.8).pan(1)

// chords · acoustic guitar steel · "Guitar"
const acoustic_guitar_steel_3 = note(`<
  ~ A B C D E D E D E B E F E G C F H I H J H J A G C B A D C B C B K D L M N J O P K Q R@2 S K T@2 U V C D E D C G A B
  O I L W H I A B E G A G K B A G C G C D E G C F ~
>`.pickRestart({
  A: "~@6 c4@4 e4@11 ~@3, c3@7 ~, ~ g3@4 ~", B: "~@4 f2@2 a3@3 ~@7 e3@2 [g3,b3,d4]@4 ~@2, f4@3 ~@5",
  C: "~@6 [g3,c4] ~, c3@13 ~@3 c3@4 ~@4, ~@4 g3@11 ~@9, ~@3 c4@5 ~@4, ~@10 e4@11 ~@3", // C5
  D: "~@4 g3@2 [a3,c4,f4]@4 ~@6 g2@2 g3@3 ~@3, ~@4 d4@3 ~", // F
  E: "~@10 g3@6 ~@2 c4@3 ~@3, ~@4 c3@9 ~@3 c3@5 ~@3, ~@3 e4@8 ~", F: "~@2 g3 [a3,c4,f4]@2 ~@3 e3 [g3,b3,d4]@2 ~",
  G: "~@4 f2@2 a3@3 ~@7 g2@2 g3@3 ~@3, f4@3 ~ d4@3 ~",
  H: "[a3,c4,f4]@4 ~@2 [a3,c4,f4]@3 ~ [a3,c4,f4]@6 ~@2 [a3,c4,f4]@3 ~ [a3,c4,f4]@2, ~@4 f2@11 ~ f2@6 ~@2", // F
  I: "[g3,b3,d4]@4 ~@2 [g3,b3,d4]@3 ~ [g3,b3,d4]@6 ~@2 [g3,b3,d4]@4 ~@2, ~@2 g2@9 ~", // G
  J: "[g3,b3,d4]@4 ~@2 [g3,b3,d4]@2 ~@2 [g3,b3,d4]@6 g2@2 [g3,b3,d4]@3 ~@3, ~@4 g2@11 ~@9", // G
  K: "~@6 e4 ~, c4@3 g3@8 ~, ~@2 c3@5 ~@5, ~@10 c4@11 ~@3",
  L: "[a3,c4,f4]@4 ~@2 [a3,c4,f4]@3 ~ [a3,c4,f4]@6 ~@2 [a3,c4,f4]@4 ~@2, ~@2 f2@9 ~", // F
  M: "[g3,b3,d4]@4 ~@2 [g3,b3,d4]@3 ~ [g3,b3,d4]@6 ~@2 [g3,b3,d4]@3 ~ [g3,b3,d4]@2, ~@4 g2@11 ~ g2@6 ~@2", // G
  N: "[a3,c4,f4]@10 ~@2 [c4,f4]@5 ~ [a3,c4,f4]@3 ~@3, ~@10 f2@5 ~@9, ~@4 a3 ~@3", // F F5 F
  O: "[a3,c4,f4]@4 ~@2 [a3,c4,f4]@3 ~ [a3,c4,f4]@6 ~@2 [a3,c4,f4]@3 ~@3, ~@4 f2@7 ~@5 f2@4 ~@4", // F
  P: "[g3,b3,d4]@4 ~@2 [g3,b3,d4]@3 ~ [g3,b3,d4]@6 ~@2 [g3,b3,d4]@3 ~@3, ~@4 g2@7 ~@5 g2@4 ~@4", // G
  Q: "~@4 f2@2 a3@3 ~@3 [g3,b3,d4]@4 ~@2 [a#3,c#4,f#4]@4 ~@2, f4@3 ~@5", // G F#
  R: "[~@6 b3@4 d4@6 ~@2 b3@4 d4@6 ~@2 b3@4 ~@8 b3@3 ~@3, ~@4 g3@11 ~ g3@11 ~ g3@11 ~ g3@5 ~@3, ~@17 d4@4 ~@3]/2",
  S: "~@10 a3@6 ~@2 c4@3 ~@3, ~@4 f2@9 ~@3 f2@5 ~@3, ~@3 f4@8 ~",
  T: "[~@11 f4@3 ~@9 b3, g2, ~@4 f3@9 ~@3 f3@7 ~@5 f3@9 ~@3 f3@8, ~@3 g3@11 ~@10, ~@5 d4@4 b3@6 ~@2 b3@4 d4@3]/2",
  U: "~@6 d4@4 f#4@11 ~@3, d3@7 ~, ~ a3@4 ~", V: "~@6 d4 ~, b3@3 g3@8 ~, ~@2 g2@5 ~@5, ~@10 b3@11 ~@3",
  W: "[g3,b3,d4]@10 ~@2 [b3,d4]@5 ~ [g3,b3,d4]@3 ~@3, ~@10 g2@5 ~@9, ~@4 g3 ~@3", // G Bm G
})).s("gm_acoustic_guitar_steel").gain(0.22)

// chords · acoustic guitar steel · "Guitar" · soft notes
const acoustic_guitar_steel_4 = note(`<
  ~@2 A ~ B C B C B C A C D C ~@2 D ~@9 A ~ B ~ A ~ A E B ~@2 F ~ G H E ~ I ~ J E ~ K ~ L ~ B C B ~@3 A G ~@2 L ~@3 A C
  ~@3 E A ~@5 B C ~@2 D ~
>`.pickRestart({
  A: "~@8 g2 ~@3", B: "~@2 f2 ~@9", C: "~@6 g3 ~", D: "~@2 f2 ~@5 g2 ~@3", E: "~@16 c3@5 ~@3", F: "~@4 f2 ~",
  G: "~@6 f2 ~@5", H: "~@6 g2 ~@5", I: "g2@11 ~@13", J: "~@6 a3 ~", K: "~ g3@3", L: "~@16 g2@5 ~@3",
})).s("gm_acoustic_guitar_steel").gain(0.11)

// other · piano
const piano_2 = note("<~@29 A B@3 C D E F E G E H I@2 ~@41>".pickRestart({
  A: "~@10 g5@2 [c6,e6]@3 g5@2 ~ [b5,d6]@3 g5@2 ~", // C Bm
  B: "[[a5,c6]@5 e5 [g5,b5]@2 e5 [f5,a5]@2 ~ g5@21 ~@3, ~@22 e5@43 ~@7]/3", // Am G F
  C: "~@8 e5@2 g5@2 c6@3 ~ b5@2 ~@2 a5@2 g5@2", D: "f5@2 ~@2 f5@3 ~ f5@2 a5@2 g5@5 ~ g5@4 f#5@2", E: "f5",
  F: "g5@3 f#5", G: "g5@15 ~ g5@5 f#5@2 ~", H: "g5", I: "[e5@9 ~@7]/2",
})).s("gm_piano").gain(0.55)

// chords · electric guitar jazz · "Elec Guitar"
const electric_guitar_jazz = note(`<
  ~@8 A B@2 ~@6 C D E F E G H@2 ~@11 I E J E K@2 L@3 M N O@2 P Q ~@2 R S B@2 ~@2 E J E J E G T ~ U@2 V@2 W@2 X@2 V@2 U@2
  Y@4 Z
>`.pickRestart({
  A: "c6 a5 g5 f5", B: "[e5@3 ~]/2", C: "[f4,a4,c5] ~@3 [f4,a4,c5]@16 ~@4",
  D: "[g4,b4,d5]@13 ~@5 [f#4,a#4]@4 ~@2, ~@3 c#5", E: "[f4,a4,c5]@11 ~", F: "[g4,b4,d5]@17 ~@4 [f#4,a#4,c#5]@2 ~",
  G: "[g4,b4,d5]@7 ~", H: "[[e4,g4]@41 ~@7]/2", I: "~ c5@7 d5@5 ~@5 [f#4,a#4,c#5]@6, [g4,b4]@7 ~@5",
  J: "[g4,b4,d5]@13 ~@5 [f#4,a#4,c#5]@5 ~", K: "[[g4,b4,d5]@20 ~@3 [e4,g4]@25]/2",
  L: "[~@18 [f#4,a#4,c#5]@5 ~ [b4,d5]@42 ~@6, ~@23 g4@42 ~@7]/3", M: "[f4,a4,c5]@7 ~",
  N: "[e4,g4]@18 [f#4,a#4,c#5]@5 ~", O: "[[g4,b4,d5]@3 ~]/2", P: "[f#4,a4,d5]@19 ~@5", Q: "[g4,b4,d5]@23 ~",
  R: "~ c6 b5 a5", S: "b5 a5 g5 f5", T: "[e4,g4]@23 ~", U: "[[e4,g4]@17 ~@7]/2", V: "[[e4,g4]@29 ~@19]/2",
  W: "[~ c6 b5 a5 g5 f5 e5 d5, [e4,g4]@17 ~@7]/2", X: "[[e4,g4]@17 ~@7, c5@7 ~@9]/2", Y: "[[e4,g4]@37 ~@11]/2",
  Z: "[e4,g4] ~@23", // Em
})).s("gm_electric_guitar_jazz").gain(0.3)

// drums · kick
const kick = s("bd").struct("<~ [x ~@5 x ~@4 x]!82 ~>").gain(0.35)

// drums · snare
const snare = s("sd").struct("<~ A@7 B A@7 C A@5 B A@3 C A@7 B A@5 D A C A@7 B A@7 C A@5 B A@9 C A@7 B ~>".pickRestart({
  A: "~ x ~ x", B: "~@3 x ~@5 x ~ x", C: "~@3 x ~@5 x!3", D: "~@3 x ~@4 x!2 ~ x",
})).gain(0.4)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@16 A ~@5 A ~@3 A ~@15 A ~@15 A ~@15 A ~@9>".pickRestart({
  A: "~@7 x!2 ~@3",
})).gain(0.25)

// drums · hihat
const hihat = s("hh").struct("<~ A@16 ~@6 A@12 ~@6 A@18 ~@6 A@18 ~>".pickRestart({
  A: "x!4",
})).gain(0.4)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct("<~ A@7 B A@8 ~@6 A@12 ~@6 A B A@16 ~@6 A@9 B A@7 B ~>".pickRestart({
  A: "~@2 x ~@2 x ~@2 x ~@2 x", B: "~@2 x ~@2 x ~@2 x ~@3",
})).gain(0.25)

// drums · open hat
const open_hat = s("oh").struct("<~@8 A ~@33 A ~@31 A ~@7 A ~>".pickRestart({
  A: "~@11 x",
})).gain(0.3)

// drums · crash
const crash = s("cr").struct("<~@17 x ~@17 x ~@23 x ~@24>").gain(0.3)

// drums · ride
// … 17 more lines

More by The Mavericks