Strudelify
Tall, Tall Trees cover art

Genuine: The Alan Jackson Story

Tall, Tall Trees

Alan Jackson

KeyG majorTempo146 bpm
0:00/0:00
// Tall, Tall Trees — Alan Jackson
// 146 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 87 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
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 · acoustic bass
const bass = note(`<
  A B C D E F G H I J K L I M N O P Q R L I S T U V W G X I J R L Y F G H I J K L I M N O P Q R L I Z@2 G H I J K L I M
  N O P Q R L I S T U V W G X I J R L AA ~ A B C Y AB AC@3
>`.pickRestart({
  A: "~@3 g2", B: "~ g2 g2@2 b1@2 c2@2", C: "~ c2 c2@3 ~ d2@2", D: "~@2 d2 ~ d2@5 ~@3 g2@4",
  E: "~@2 g2 ~ g2@4 d2@4 g2@3 ~", F: "d2@3 ~ e2@3 ~ f#2@3 ~ g2@4", G: "~@2 g2 ~ g2@6 ~@2 d2@4",
  H: "~@2 d2@2 a2@7 ~ d2@4", I: "~@2 d2 ~ d2@6 ~@2 g2@4", J: "~@2 g2 ~ d2@6 ~@2 g2@4", K: "~@2 g2 ~ g2@4 b1@4 c2@4",
  L: "~@2 c2 ~ c2@6 ~@2 d2@4", M: "~@2 g2 ~ d2@3 ~ d2@2 c#2 ~ g2@4", N: "~@2 g2 ~ g2@7 ~ d2@4",
  O: "~@2 d2 ~ a2@7 ~ d2@4", P: "~ d2 d2@3 ~ g2@2", Q: "~@2 g2 ~ d2@7 ~ g2@4", R: "~@2 g2 ~ g2@4 b1@3 ~ c2@4",
  S: "g2@4 [g#2,a2] ~@3 b2@4 c3@4, ~@8 a#2 ~@7", T: "~@2 c3@2 e2@4 f#2@3 ~ g2@4", U: "~@2 g2@2 d3@3 ~ g1@3 ~ a1@3 ~",
  V: "~@3 d2", W: "~@12 g2@3 ~", X: "~@2 d2 ~ a2@6 ~@2 d2@4", Y: "~@2 d2 ~ d2@5 ~@3 g2@3 ~",
  Z: "~@2 g2 ~ g2@6 ~@2 g2@4", AA: "~@2 d2 ~ d2@5 ~@3 g1@2 ~@2", AB: "~@2 g2@2 d2@5 ~ g2@2 ~@2 g2@2",
  AC: "[d2 ~ g2@16 ~@6]/3",
})).s("gm_acoustic_bass").gain(0.46)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A@2 B C D E@7 F@5 G@4 H@3 I J@4 K@4 L@7 F@5 M@4 D N@7 F@5 G@4 H@3 I O@4 P@4 Q R@3 S@5
>`.pickRestart({
  A: "[~@12 d4@3 ~ d4@2 d4@4 [c#3,d3,e3,g3] ~ [d3,g3]@2 [f3,a3,d4] ~@5, ~@12 b3@9 ~ b3@4 ~@6, ~@18 d3 ~@13]/2", // C#dim G5 Dm
  B: "~@2 e4@4 g3 ~ g3@2 [f3,a3]@2 a3@4, ~@6 e4@4 ~@2 d4 ~@3, ~@2 c3 ~, ~@8 c4 ~@7", // F
  C: "d4@2 [f#3,a3] ~@3 a3@2 [f#3,a3]@2 [c3,f3]@2 [d3,g3]@4, ~@2 d4@3 ~@3 d3 ~@3 [c3,c#3] ~@3", // F#m F5 G5 C#maj7
  D: "[b3,d4] ~@7 [d3,b3] ~@3 d3 ~@3, g3@3 ~@5, ~ d4@4 ~@3", // Bm G
  E: "[d4 ~ d4@3 ~ [d3,g3]@2 [b3,d4] ~@3 d3 ~@3 d4 ~ d4@4 ~@2 [d3,g3,b3]@2 [c3,f3,b3] ~ f#3@4 ~@2 d4@4 ~@2 f#3 ~ d4@8 d4@4 ~@2 d3@2 [c3,f3] ~ [d3,g3]@3 ~@7 g3 ~ [b3,d4] ~@3 d3 ~@5 d4@4 ~@2 d3@2 [f3,a3,d4] ~ [f#3,b3,c4] ~@3 e4@2 e4@4 [g3,c4] ~@3 f3@2 [c#3,d3] ~@3, ~@8 g3@8 ~@6 d4@4 d4@8 ~@4 d4@4 ~@16 d4@8 ~@8 d4@8 ~@4 b3@4 ~@12 e4@4 e4 ~@5, ~@5 b3@7 ~ a3@7 a3@10 b3@5 ~ g3@9 ~@8 [a3,d4]@3, ~@28 d3@12 ~@2 f#3 ~@7 d3 ~@3 [f#3,d4]@4 ~@2 [c3,c#3] ~@31 c3@12 c3@4 ~@4]/7", // G5 Bm G F F5 G5 Bm Dm …
  F: "[f#3 ~ d4@4 ~@2 [d3,a3]@2 [c3,f3] ~ [c3,c#3,f#3,a3,a#3] ~@3 [g3,b3]@6 d3@2 [g3,d4] ~@3 d3 ~@3 b3 ~ d4@4 g3@2 d3@2 [c3,f3,g3,b3,d4] ~ [d3,f#3]@3 ~ d4 ~ f#3 ~@3 f#3@2 [d3,a3] ~@9 d4@4 f#3 ~ [d3,f#3]@2 [c3,f3] ~ [d3,g3]@3 ~, d3@8 ~@4 d3@9 ~@3 d3@2 ~@40 f#3 ~@9 [c3,c#3] ~@3, a3@3 d4@2 d4@4 ~@4 d4@4 ~@8 d4@4 d4@4 ~@2 d4@2 ~@3, ~@6 [g3,b3]@2 ~@13 a3@6 ~ f#3@3 ~ a3@3 a3@3 ~@2]/5", // D5 F5 F# G G5 G7 D D5 …
  G: "[[b3,d4] ~@7 [d3,b3,d4] ~@7 [f#3,g3] ~ d4@4 g3@2 [d3,g3,b3]@2 [a3,d4]@2 [g3,c4,e4]@4 ~@2 e4@4 g3 ~@3 f3@2 f#3@4 d4 ~ d4@4 ~@2 [d3,f#3,a3] ~ [c3,f3] ~ [c#3,f#3] ~@3, g3@6 g3@10 ~@2 g3 ~@9 [f#3,a3,b3] ~@13 a3@8 ~@10 g3@3 ~, ~@5 d4@4 ~@2 d4@2 ~@3 c4@3 [c4,e4]@2 d4@3 ~@3 d4@2 ~@3, ~@12 d3@11 ~@3 [c3,f3] ~ c3@12 c3@4 ~@6 d3 ~@13, ~@42 e4 ~@21]/4", // Bm G Gmaj7 G D5 C D F5 …
  H: "[b3 ~ [d3,b3,d4] ~@5 [d3,g3]@2 c#3 ~ [f3,f#3] e4@3 ~ e4 e4@4 ~@5 d4 c3 d4@3 ~ d4 ~@4 b3@2 d3 ~ a3 c3 ~ [c#4,f#4]@2 ~, ~@3 d4@3 c3@6 c3@2 d3@2 d3@4 ~@2 [e3,a3] ~, ~@12 [g3,c4]@4 [g3,c4]@10 [f3,a3]@2 [g3,b3]@6 [b3,d4]@4 d4@5 ~@5, ~@22 e4@5 ~@8 g3@7 ~@6]/3", // G G5 F#maj7 F#5 A5 C5 F G …
  I: "~@3 [d3,f#3,a3,d4]", // D
  J: "[~@12 [b3,d4]@6 [b3,d4]@4 ~@2 d3@2 ~ [c3,f3] [a3,d4]@6 [a3,d4]@4 [a3,d4]@2 [a3,d4]@2 ~@3 f#3@3 a3@2 [a3,d4]@4 ~ f#3 ~@3 [c3,f3] [c3,c#3] d3@3, ~@6 d3@6 ~@2 [d3,f#3]@6 [d3,f#3]@2 d3@6 [d3,f#3] ~@3, ~@12 g3@10 d4@6 ~@14 d4@8 ~@4 d4@2 ~ d4@7, ~@22 [g3,b3]@4 [a3,b3]@2 b2 ~@13 a3@6 f#3@6 a3@5 ~ [g3,b3]@4]/4", // Bm F5 D5 F5 C#maj7 D G Asus2 …
  K: "[[d3,g3,d4]@2 ~ d3@3 ~ d3 ~@3 g3@2 b3@3 ~ d4 d4@4 ~@2 [d3,b3]@2 ~ c3 [f#3,a3,b3,c4] [c4,e4]@5 ~@8 [f3,a3,c4,d4,d#4]@2 ~ d4@3 d4@2 d4@4 d4@2 [a3,d4]@2 f#3 ~ [c#3,f#3] d3@3, b3@6 b3@2 d3@8 [d3,b3]@8 ~@2 [f3,a3,d4]@2 [c3,g3]@6 ~ c3@5 c3@4 c3@14 ~ c3@2 ~@3, ~@2 [g3,d4]@4 [g3,d4]@3 b3@4 g3@14 ~@8 g3@8 ~ f#3@10 ~@4 [f3,a3]@2 [g3,b3]@4, ~@5 d4@3 ~@3 d4@2 ~@4 [c4,e4]@2 [c4,e4]@2 ~ [d3,a3]@2 a3@4 ~ d4@3, ~@24 d3@3 [d3,f#3]@2 ~@3]/4", // G5 G F#dim C F7 D5 F#5 G …
  L: "[d4 ~ d4@4 ~ d3 ~@2 [b3,d4]@2 g3@4 d4 ~ d4@4 ~@2 [d3,g3,b3]@2 [c3,f3,b3] ~ f#3@4 ~@2 d4@4 ~@2 f#3 ~ d4@8 d4@4 ~@2 d3@2 [c3,f3] ~ [d3,g3]@3 ~@7 g3 ~ [b3,d4] ~@3 d3 ~@5 d4@4 ~@2 d3@2 [f3,a3,d4] ~ [f#3,b3,c4] ~@3 e4@2 e4@4 [g3,c4] ~@3 f3@2 [c#3,d3] ~@3, g3@12 ~@10 d4@4 d4@8 ~@4 d4@4 ~@16 d4@8 ~@8 d4@8 ~@4 b3@4 ~@12 e4@4 e4 ~@5, [d3,b3]@3 [b3,d4]@2 ~ b3@6 ~ a3@7 a3@10 b3@5 ~ g3@9 ~@8 [a3,d4]@3, ~@8 d3@4 d3 ~@15 d3@12 ~@2 f#3 ~@7 d3 ~@3 [f#3,d4]@4 ~@2 [c3,c#3] ~@31 c3@12 c3@4 ~@4]/7", // Bm G F F5 G5 Bm Dm B …
  M: "[[b3,d4] ~@7 [d3,b3,d4] ~@7 [f#3,g3] ~ d4@4 g3@2 [d3,g3,b3]@2 [a3,d4]@2 [g3,c4,e4]@4 ~@2 e4@4 g3 ~@3 f3@2 f#3@4 d4 ~ d4@4 ~@2 [d3,f#3,a3] ~ [c3,f3,d4] ~ [d3,g3]@4, g3@6 g3@10 ~@2 g3 ~@9 [f#3,a3,b3] ~@13 a3@8 ~@14, ~@5 d4@4 ~@2 d4@2 ~@3 c4@3 [c4,e4]@2 d4@3 ~@3 d4@2 ~@3, ~@12 d3@11 ~@3 [c3,f3] ~ c3@12 c3@4 ~@6 d3 ~@9 [c3,c#3] ~@3, ~@42 e4 ~@21]/4", // Bm G Gmaj7 G D5 C D Dm7 …
  N: "[d4 ~ d4@3 ~ [d3,g3]@2 [b3,d4] ~ [b3,d4]@2 g3@4 d4 ~ d4@4 ~@2 [d3,g3,b3]@2 [c3,f3,b3] ~ f#3@4 ~@2 d4@4 ~@2 f#3 ~ d4@8 d4@4 ~@2 d3@2 [c3,f3] ~ [d3,g3]@3 ~@7 g3 ~ [b3,d4] ~@3 d3 ~@5 d4@4 ~@2 d3@2 [f3,a3,d4] ~ [f#3,b3,c4] ~@3 e4@2 e4@4 [g3,c4] ~@3 f3@2 [c#3,d3] ~@3, ~@4 [d3,g3]@2 b3@6 ~ a3@7 a3@10 b3@5 ~ g3@9 ~@8 [a3,d4]@3, ~@12 d3 ~@9 d4@4 d4@8 ~@4 d4@4 ~@16 d4@8 ~@8 d4@8 ~@4 b3@4 ~@12 e4@4 e4 ~@5, ~@28 d3@12 ~@2 f#3 ~@7 d3 ~@3 [f#3,d4]@4 ~@2 [c3,c#3] ~@31 c3@12 c3@4 ~@4]/7", // G5 Bm G F F5 G5 Bm Dm …
  O: "[~@12 [b3,d4]@6 [b3,d4]@4 ~@2 d3@2 ~ [c3,f3] [a3,d4]@6 [a3,d4]@4 [a3,d4]@2 ~ d4 ~@3 f#3@3 a3@2 [a3,d4]@4 ~ f#3 ~@3 [c3,f3] [c3,c#3] d3@3, ~@6 d3@6 ~@2 [d3,f#3]@6 [d3,f#3]@2 d3@6 [d3,f#3] ~@3, ~@12 g3@10 d4@6 ~@12 a3@2 d4@8 ~@4 d4@2 ~ d4@7, ~@22 [g3,b3]@4 [a3,b3]@2 b2 ~@13 a3@6 f#3@6 a3@5 ~ [g3,b3]@4]/4", // Bm F5 D5 F5 C#maj7 D G Asus2 …
  P: "[[d3,g3,d4]@2 ~ d3@3 ~ d3 ~@3 g3@2 b3@3 ~ d4 d4@4 ~@2 [d3,b3]@2 ~ c3 [f#3,a3,b3,c4] [c4,e4]@5 ~@8 [f3,a3,c4,d4,d#4]@2 ~ d4@3 d4@2 d4@4 d4@2 [a3,d4]@2 ~ c3 [d3,g3,b3,d4]@3 ~, b3@6 b3@2 d3@8 [d3,b3]@8 ~@2 [f3,a3,d4]@2 [c3,g3]@6 ~ c3@5 c3@4 c3@14 ~@6, ~@2 [g3,d4]@4 [g3,d4]@3 b3@4 g3@14 ~@8 g3@8 ~ f#3@10 ~@4 [f3,f#3,a3,d4]@2 ~@4, ~@5 d4@3 ~@3 d4@2 ~@4 [c4,e4]@2 [c4,e4]@2 ~ [d3,a3]@2 a3@4 ~@4, ~@24 d3@3 [d3,f#3]@2 ~@3]/4", // G5 G F#dim C F7 D5 G Dm …
  Q: "f#3 ~@15",
  R: "[~@12 d4@3 ~ d4@2 d4@4 [c#3,d3,e3,g3] ~ [d3,g3]@2 [f3,a3,d4] ~ [g3,e4]@5 ~ e4@4 g3 ~ g3@2 [f3,a3]@2 a3@4, ~@12 b3@9 ~ b3@4 ~@2 c4@10 e4@4 ~@2 d4 ~@3, ~@18 d3 ~@9 c3@12 c3@4 ~@4, ~@28 f#3 ~@11 c4 ~@7]/3", // C#dim G5 Dm C F
  S: "[d4@2 [f#3,a3] ~@3 a3@2 [f#3,a3]@2 [c3,f3]@2 [c#3,d3] [d3,b3]@3 ~@3 d2 ~@6 d4@4 b3 [c#3,d3,a3] [a2,d3,f#3]@2 ~@2 d2 [d3,g3,b3,d4]@32 ~@11, ~@2 d4@4 d4@6 g3@6 d4@4 d4@4 ~@4 d4@7 ~@43, ~@8 d3 ~@3 g2@20 [g2,c#3] ~@3 g2@32 ~@12, ~@13 d4@3 b3@6 [g3,b3]@9 ~ a3@4 ~@44, ~@16 d3@8 d3@6 ~@7 c#3 ~@42]/5", // F#m F5 Dmaj7 G Dmaj7 D G Gdim …
})).s("gm_acoustic_guitar_steel").gain(0.31)

// chords · violin
const violin = note(`<
  A B C D E F ~@7 G@8 H ~@3 I@6 J@2 K L M@2 N O P@2 Q ~@16 R@8 H ~@3 S@6 T@2 ~ A B C D U V@3
>`.pickRestart({
  A: "[b3,d4] ~ [a3,d4] ~ [g3,e4] ~ [a3,f#4] ~ [b3,g4] ~ a4@2 [a#3,c#4,a4] [b3,d4,b4]@3, ~@10 c4 ~@5", // Bm D5 C D Em A#m Bm
  B: "[c#4,d4] ~ [d4,b4]@2 [a#3,c#4,a#4] [b3,d4,b4]@3 [d4,b4]@2 [d4,b4]@2 [a#3,b3,d#4,b4] [c4,e4,c5]@3, b3 ~ b3 ~, b4 ~@7", // Dmaj7 G A#m Bm G Bmaj7 C
  C: "[e4,c5]@2 [e4,c5]@2 [b3,d#4,b4] [c4,e4,c5]@3 [e4,c5]@2 [e4,a4]@2 [c4,e4,b4] [c#4,f4,c5,c#5] d5@2, c4@4 ~@4 c4@4 ~ [d4,f#4]@3", // C B C A5 Cmaj7 C#maj7 D
  D: "[f#4,d5]@2 [f#4,d5]@2 [c#4,f4] ~ c5@2 [d4,f#4,b4]@2 a4@2 [a#3,c#4] ~ g4@2, d4@4 d5@2 ~@7 [b3,d4]@3, ~@5 [d4,f#4]@3 ~@2 e4 ~ f#4@2 ~@2", // D C# Bm A#m Bm D
  E: "[d4,g4]@2 [d4,g4]@2 [a#3,c#4,f#4] [b3,d4,g4]@3 g4@2 g4@2 [a#3,f#4,a#4] ~ b4@2, b3 ~ b3 ~, ~@8 d4 ~ d4 ~@2 g4@2 ~", // G5 F# G D#m
  F: "[g4,b4]@2 [g4,b4]@2 [g4,a#4] [g4,b4]@3 [g4,b4]@2 [g4,b4]@6, ~@2 f#4 ~@5", // G Gm G
  G: "[~@12 [c4,c#4,f4,f#4] g4@3 ~ e5 ~@2 f#4 ~ g4@2 g4@2 b4 [c#4,f#4] [c4,c#4,f4] f#4@2 ~ a4@2 a4@2 [c#4,f4,g#4] f#4@3 [f4,a4] ~ a4@2 [c#4,f4] f#4@2 ~ a4@2 a4@2 [c#4,f4] ~ a4@2 f#4@2 ~ f4 [c#4,f#4] ~ g4@2 b4 ~@2 a4 [c#4,f#4] c#4 ~@2 b4@2 b4 [c#4,f#4,a#4] [c#4,f#4,a4] [g4,b4]@3 b4@2 b4 ~ [c#4,f#4] g4 [g4,b4]@2 [g4,b4]@2 b4 c#4 [b3,d#4] e4@3 g4 ~ g4@2 [b3,f#4]@2 e4@2 ~@4 [c4,e4] ~ [c#4,f4,g#4] ~@3 a4@2 [c#4,f4] ~@5 a4@2 [c#4,f#4] [d4,g4]@3, ~@13 d4@6 a#4@2 d4@6 ~@2 d4@6 ~@2 d4@7 ~ d4@6 ~@2 d4@6 ~@2 d4@6 ~@2 [d4,g4]@6 ~@2 d4@6 ~@2 d4@5 ~@3 c4@7 ~@2 c4@6 ~@2 d4@6 ~ d4@6 ~@5, ~@16 [g4,b4]@2 b4@2 c#4@2 b4@4 ~@6 f#4@4 ~@4 f#4@4 ~@4 f#4@4 g#4@2 ~@2 a4 ~ a4@2 ~@6 b4@2 ~@15 a#4@2 ~@17 g4@4 g4@4 a4@4 ~@2 g#4@2 a4@4 ~@6, ~@53 f#4@3 ~@8 g4@4 ~@12 g4@4 ~@2 f#4 ~@9 e4@4 d#4 ~@3 e4@4 ~@2 f#4@2 f#4@4 ~ f#4@2 ~ f#4@4 ~@4]/8", // C#maj7 F#5 C#maj7 C# F C# F#5 F# …
  H: "b4@2 b4 ~ [c#4,f#4] ~@3 b4 ~@2 f#4 ~@4, g4@4 ~ [d4,g4]@5 b4@2 ~@4", // F#5 G5
  I: "[~@12 [f#4,a#4] b4@3 b4@2 b4@2 [f#4,a#4] b4@3 b4 ~ b4@2 [f4,g#4,a4] a4@3 a4 ~ a4@2 [f4,g#4] a4@3 a4@2 ~ g#4 f4 a4@3 a4 ~ a4@2 [f4,g#4] a4@3 a4 ~ a4@2 [f4,f#4,a#4] b4@3 b4 ~ b4 ~ f#4 b4@3 b4@2 b4@2 [f#4,a#4] b4@3 b4@2 ~ a#4 f#4 [g4,b4]@3 b4 ~ b4 a#4 d#4 e4@3, ~@13 g4@6 ~@2 g4@7 ~ f#4@6 ~@2 f#4@7 ~ f#4@7 ~ f#4@7 ~ g4@6 a#4@2 g4@6 ~@2 g4@6 ~@5 g4@4 g4@4, ~@21 d4 ~@19 b4 ~@6]/6", // F# F Fm F#maj7 F# G
  J: "[e4@2 g4@2 [d#4,f#4] g4@3 g4 ~ g4@2 [e4,g4] f4 g#4@2 a4@2 a4@2 [f4,g#4] ~ a4@2 a4 ~ a4@2 ~@4, ~@5 e4@7 ~@2 f#4@6 ~ f#4@7 ~@4]/2", // D#m Em Fm
  K: "[b3,d4] ~ [a3,d4] ~ [g3,e4] ~ [a3,f#4] ~ [b3,g4] ~ a4@2 ~ b4@3, ~@10 c4 ~@5", // Bm D5 C D Em
  L: "b4@2 b4@2 a#4 b4@3 b4@2 b4@2 c5@4",
  M: "[c5@2 b4@2 c5@2 b4@2 a4@4 b4 ~ b4@2 c5@2 d5@2 f5 f#5@3 f#5@2 f#5@2 a#4 b4@3, ~@8 g#4 ~@3 a4@7 ~@13]/2",
  N: "b4@2 b4@2 a#4 b4@3 b4@3 ~ g4@2 a4@2", O: "b4@2 d5@2 g5@4 g5 ~ g5@2 g5@2 f#5 ~",
  P: "[e5@2 c5@2 g4@7 ~ [f#4,f5] f#5@5 f#5@2 f#5@2 e5@2 c5@2 a4 ~ g4@4]/2", Q: "g4@2 g4@2 f#4 g4@3 g4@2 g4@2 ~@4",
  R: "[~@12 [c4,c#4,f4,f#4] g4@3 ~ e5 ~@2 f#4 ~ g4@2 g4@2 b4 [c#4,f#4] [c4,c#4,f4] f#4@2 ~ a4@2 a4@2 [c#4,f4,g#4] f#4@3 [f4,a4] ~ a4@2 [c#4,f4] f#4@2 ~ a4@2 a4@2 [c#4,f4] ~ a4@2 f#4@2 ~ f4 [c#4,f#4] ~ g4@2 b4 ~@2 a4 [c#4,f#4] c#4 ~@2 b4@2 b4 [c#4,f#4,a#4] [c#4,f#4,a4] [g4,b4]@3 b4@2 b4 ~ [c#4,f#4] g4 [g4,b4]@2 [g4,b4]@2 b4 c#4 [b3,d#4] e4@3 g4 ~ g4@2 [b3,f#4]@2 e4@2 ~@4 [c4,e4] ~ [c#4,f4,g#4] ~@3 a4@2 [c#4,f4] ~@5 a4@2 [c#4,f#4] [d4,g4]@3, ~@13 d4@6 a#4@2 d4@6 ~@2 d4@6 ~@2 d4@7 ~ d4@6 ~@2 d4@6 ~@2 d4@6 ~@2 [d4,g4]@6 ~@2 d4@6 ~@2 d4@5 ~@3 c4@7 ~@2 c4@6 ~@2 d4@6 ~@2 d4@6 ~@4, ~@16 [g4,b4]@2 b4@2 c#4@2 b4@4 ~@6 f#4@4 ~@4 f#4@4 ~@4 f#4@4 g#4@2 ~@2 a4 ~ a4@2 ~@6 b4@2 ~@15 a#4@2 ~@17 g4@4 g4@4 a4@4 ~@2 g#4@2 a4@4 ~@6, ~@53 f#4@3 ~@8 g4@4 ~@12 g4@4 ~@2 f#4 ~@9 e4@4 d#4 ~@3 e4@4 ~@2 f#4@2 f#4@4 ~ f#4@2 ~ f#4@4 ~@4]/8", // C#maj7 F#5 C#maj7 C# F C# F#5 F# …
  S: "[~@12 [f#4,a#4] b4@3 b4@2 b4@2 [f#4,a#4] b4@3 b4 ~ b4@2 [f4,g#4,a4] a4@3 a4 ~ a4@2 [f4,g#4] a4@3 a4@2 ~ g#4 f4 a4@3 a4 ~ a4@2 [f4,g#4] a4@3 a4 ~ a4@2 [f4,f#4,a#4] b4@3 b4 ~ b4 ~ f#4 b4@3 b4@2 b4@2 [f#4,a#4] b4@3 b4@2 b4@2 [f#4,a#4] [g4,b4]@3 b4 ~ b4 a#4 d#4 e4@3, ~@13 g4@6 ~@2 g4@7 ~ f#4@6 ~@2 f#4@7 ~ f#4@7 ~ f#4@7 ~ g4@6 a#4@2 g4@6 ~@2 g4@6 ~@5 g4@4 g4@4, ~@21 d4 ~@26]/6", // F# F Fm F#maj7 F# G
  T: "[e4@2 g4@2 [d#4,f#4] g4@3 g4 ~ g4@2 [e4,g4] f4 g#4@2 a4@2 a4@2 [f4,g#4] ~ a4@2 a4 ~ a4@2 [d4,g4]@2 ~@2, ~@5 e4@7 ~@2 f#4@5 ~@2 f#4@7 ~@4]/2", // D#m Em Fm G5
  U: "g5 ~@3 b5@2 g5@2 e5@2 d5@2 b4@2 d5 ~", V: "[b4 a4 g4@16 ~@6, a#4 ~ a#4 ~@45]/3",
})).s("gm_violin").gain(0.26)

// chords · electric guitar clean
const electric_guitar_clean = note("<~@33 A@2 B C@2 D E F G@2 H I@2 J K L@3 ~@32 M N@3>".pickRestart({
  A: "[~@12 b3@4 ~@2 d4@2 [a#3,b3,c#4] [b3,d4]@3 d4@2 d4 ~ [c#4,d#4,e4,f4] [d4,f#4]@3, ~@12 d4@6 ~@11 c#4 ~@2, ~@4 b3 ~ b3 ~]/2", // A#m Bm D
  B: "f#4@2 f#4@2 [c#4,f4] [d4,f#4]@3 [d4,f#4]@2 f#4 ~ [c#4,f4] [d4,f#4]@3, d4@4 ~@4 f4 ~@7", // C# D C# D
  C: "[f#4@2 f#4@2 [c#4,f4] [d4,f#4]@3 [d4,f#4]@2 f#4 ~ b3@4 ~@2 d4 ~ [a#3,c#4] [b3,d4]@3 d4@2 d4@2 [a#3,c#4] [b3,d4]@3, d4@2 ~@4 d4@3 ~@7, f4 ~@15 b3@4 ~@4 b3@4 ~@4]/2", // C# D A#m Bm A#m Bm
  D: "d4@2 d4@2 [a#3,c#4] [b3,d4]@3 d4@2 d4@2 [c4,e4]@4, b3@4 ~@4 b3@4 d#4 ~@3", // A#m Bm C
  E: "e4@2 e4@2 [b3,d#4] [c4,e4]@3 e4@2 e4@2 [c#4,e4,f4] [d4,f#4]@3, c4 ~ c4 ~", // B C C# D
  F: "f#4@2 f#4@2 [c#4,f4] [d4,f#4]@3 [d4,f#4]@2 [c#4,e4] ~ [a#3,c#4] [b3,d4]@3, d4 ~@3", // C# D C#m A#m Bm
  G: "[~ d4 d4@2 [a#3,c#4] b3@3 ~@2 d4@2 b3@4 ~@2 d4@2 [a#3,b3,c#4] b3@3 d4@2 d4 ~ [c#4,d#4] d4@2 ~, b3@3 ~@5 b3@4 d4@6 ~@11 c#4 ~@2, ~@4 b3 ~ b3 ~]/2", // A#m C#sus2
  H: "~@2 f#4@2 [c#4,f4] [d4,f#4]@3 [d4,f#4]@2 f#4 ~ [c#4,f4] d4@3, d4@4 ~@4 f4 ~@7", // C# D C#
  I: "[f#4@2 f#4@2 [c#4,f4] [d4,f#4]@3 [d4,f#4]@2 f#4 ~ b3@4 ~@2 d4 ~ [a#3,c#4] b3@3 ~@2 d4@2 [a#3,c#4] b3@3, d4@2 ~@4 d4@3 ~@7, f4 ~@15 b3@4 ~@4 b3@4 ~@4]/2", // C# D A#m
  J: "~@2 d4@2 a#3 b3@3 ~@2 d4@2 [c4,e4]@4, b3 ~ b3 ~", K: "~@2 e4@2 [b3,d#4] c4@3 ~@2 e4@2 c#4 d4@3, c4 ~ c4 ~",
  L: "[~@2 f#4@2 [c#4,f4] d4@3 d4@2 ~@2 b3@4 ~@2 d4@2 [a#3,b3,c#4] [b3,d4]@3 d4@2 d4 ~ [d#4,e4] ~@5 d4@2 [a#3,b3,c#4] [b3,d4]@3 d4@2 d4 ~ [d#4,e4] ~@3, d4@2 ~@4 d4@3 ~@5 d4@3 ~@7, ~@4 b3 ~ b3!2 b3 ~ b3 ~]/3", // C# A#m Bm Emaj7 A#m Bm Emaj7
  M: "b3@4 [c#4,d4]@2 b3 ~ a3@2 g3@2 e3@2 ~@2", N: "[g3 ~ b3@16 ~@6]/3",
})).s("gm_electric_guitar_clean").gain(0.31)

// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note("<~@33 A ~@2 B ~@3 C D E F B G H I J A ~@37>".pickRestart({
  A: "~@12 c#4 ~@3", B: "~@12 d#4 ~@3", C: "~@10 f4 ~@5", D: "~@5 d4@5 ~@2 c#4 ~@3", E: "~@5 d4@3 ~@4 [e4,f4] f#4@3",
  F: "f#4@2 ~@11 f#4@3", G: "~@5 d4@3 d4@2 ~@3 d4@3", H: "d4@2 ~@2 c#4 d4@3 d4@2 ~@2 d#4 ~@3",
  I: "e4@2 ~@3 e4@3 e4@2 ~@2 [e4,f4] f#4@3", J: "f#4@2 ~@3 f#4@3 [f4,f#4]@2 [c#4,e4,f4] ~ c#4 ~@3",
})).s("gm_electric_guitar_clean").gain(0.15)

// chords · acoustic guitar steel
const acoustic_guitar_steel_2 = note("<A@5 B@5 C@4 ~@19 B@5 D@7 E F@2 G@2 H@5 C@4 ~@20 I@6 ~@2>".pickRestart({
  A: "[~@12 [g4,b4]@13 ~@3 [c4,e4,g4]@13 ~@3 [f#4,a4]@14 ~@2 [d4,b4]@20, ~@6 d4@4 ~@12 d4@6 ~@2 g4@7 ~@3]/5", // G C F#m G
  B: "[~@12 [d4,g4,b4]@12 c#4 ~@3 [d4,a4]@27 ~@5 [d4,g4]@20, ~@14 f#4@11 ~@5 b4@9 ~]/5", // G D5 G5
  C: "[~@12 [c4,e4,g4]@13 ~@3 [d4,f#4,a4]@12 f4 ~@3 [d4,g4]@16 ~@4, ~@44 b4@13 ~@7]/4", // C D G5
  D: "[~@12 [c4,e4,g4]@13 ~@3 [d4,f#4,a4]@12 f4 ~@3 [d4,g4]@16 [g4,b4]@13 ~@3 [d4,f#4,a4]@15 ~ [d4,f#4,a4]@14 ~@2 g4 ~@3, ~@44 b4@13 ~@3 d4@10 ~@42]/7", // C D G5 G D
  E: "g3@4 ~ b3@3 d4@4 ~@2 g4 ~", F: "[g4 ~ g4 ~ g4 ~ g4 ~ g4 ~@2 f4 e4@9 ~@7 a#4@3 ~]/2",
  G: "[g4@4 f#4@3 ~ e4@3 ~ d4 ~ a4@4 g4@2 d4@2 e4@2 g4@2 g4@2 e4@2 d4@2]/2",
  H: "[b3@2 d4@2 a3@4 d3@2 e3@2 [b3,d4]@16 [d4,a4]@27 ~@5 [d4,g4]@20, ~@6 g3@4 ~@4 f#4@11 ~@5 b4@9 ~]/5", // Bm D5 G5
  I: "[~@12 [g4,b4]@13 ~@3 [c4,e4,g4]@13 ~@3 [d4,f#4,a4]@14 ~@2 d4@28 ~@8, ~@3 d4@2 ~@10 b4@5 ~@4, ~@30 g4@7 ~@11]/6", // G C D
})).s("gm_acoustic_guitar_steel").gain(0.26)

// chords · electric guitar clean
const electric_guitar_clean_3 = note(`<
  ~@6 A@7 B@2 ~@2 C@5 D@2 ~@10 A@7 E ~@3 F G H I@2 ~ A@7 B@2 ~@2 C@5 D@2 ~@18
>`.pickRestart({
  A: "[~@16 [a4,b4]@2 ~@2 b4@2 ~@6 f#4@13 ~@3 a4 b4@6 a4 b4@6 ~@2 g4@13 ~@3 [e4,g4]@14 ~@2 [f#4,a4]@13 ~@3 g5@2 ~@2, ~@15 f#4@9 f#4@4 ~@84, ~@22 a4@4 a4@16 ~@3 a#4 ~@66]/7", // Asus2 Em F#m
  B: "[~ d5@2 ~@5 a4@2 a4@2 g4@11 ~@9, g5@3 b4@2 ~ b4@16 ~@10, ~ c5 ~@6]/2",
  C: "[~@12 [d4,g4,b4]@12 f#4 ~@3 [c4,e4,g4]@14 ~@2 [f#4,a4]@13 ~@3 b4@13 ~ c#4 ~@5, ~@44 d4@11 ~@4 [d4,g4]@15 ~@6]/5", // G C F#m G5
  D: "[~@12 b4@17 ~@3]/2", E: "~@4 a4!2 ~@2, ~ [d5,g5]@3 c5@4 ~@8, ~@3 b4@2 ~ b4@6 ~@4",
  F: "~ b3@4 d4@3 f4@4 [g#4,b4]@2 b4 ~", G: "b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ g4@3 ~", H: "g4 ~ e4@2 c4 ~ [e5,f#5] ~",
  I: "[e5@2 ~@2 d5@2 ~@2 c5@2 ~@2 b4@7 ~@13]/2",
})).s("gm_electric_guitar_clean").gain(0.31)

// chords · electric guitar clean · soft notes
const electric_guitar_clean_4 = note("<~@7 A B C ~@25 A B C ~@14 A B C ~@32>".pickRestart({
  A: "~@2 a#4 ~@13", B: "~@10 g#4 ~@5", C: "~@5 a4 ~@2",
})).s("gm_electric_guitar_clean").gain(0.2)

// chords · piano
const piano = note("<~@21 A@3 B C@3 D@6 ~@32 A@3 B E@8 F G ~@7>".pickRestart({
  A: "[~@12 [g3,c4,e4]@13 ~@3 [g3,b3]@10 a#3 ~ a#3@2 b3 ~ [a3,c#4]@3 ~, ~@28 [c#4,d4] ~@9 g3@5 ~ [g#3,d#4] ~@3]/3", // C G A Dmaj7 G#5
  B: "c4 ~@11 [a3,d4,f#4]@3 ~", // D
  C: "[~@12 [g3,b3]@5 ~@3 a#3 ~ b3@2 d4@2 f#3 ~ [f#3,a3]@15 ~ [f#3,a3,d4]@4, ~@12 d4@11 ~@25, ~@9 g3@4 ~@11]/3", // G F#m D
  D: "[~@2 b3 ~@5 a3@2 ~@2 [g3,b3,d4]@14 ~@2 a#3@2 b3@3 ~ b3@4 ~@2 b3@2 c4 ~ g3@12 g3@2 [g#3,c#4] ~ [d4,f#4]@12 ~@4 [g3,b3]@16 ~@4, ~@2 f#3@9 ~@85, ~@4 c4@4 ~@36 [c4,e4]@15 ~@37, ~@3 d4@2 ~@9 d4@5 d4@2 ~@17 d4@7 ~@3]/6", // G C#5 D G C
  E: "[~@12 [g3,b3]@5 ~@3 a#3 ~ b3@2 d4@2 f#3 ~ [f#3,a3]@15 ~ [f#3,a3,d4]@6 ~@6 a3@2 ~@2 [g3,b3,d4]@14 ~@2 a#3@2 b3@3 ~ b3@4 ~@2 b3@2 c4 ~ g3@12 g3@2 [g#3,c#4] ~ [d4,f#4]@12 ~@4 [g2,g3] ~ [g2,g3] ~, ~@12 d4@11 ~@29 c4@4 ~@36 [c4,e4]@15 ~@21, ~@18 g3@8 ~@24 f#3@9 ~@69, ~@27 d4@2 ~@9 d4@5 d4@2 ~@19]/8", // G F#m D G C#5 D G C
  F: "[g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [g2,g3] ~", // G
  G: "[g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [g2,g3] ~@5", // G
})).s("gm_piano").gain(0.36)

// chords · piano · soft notes
const piano_soft = note("<~@23 A ~@2 B@2 ~ C@2 D ~@36 A ~@2 B@2 ~ C@2 D ~@10>".pickRestart({
  A: "~@12 e4@2 g#3 ~", B: "[~@12 d4@15 ~@5]/2", C: "[~@6 g3@7 ~@3]/2", D: "~@12 a3 ~@3",
})).s("gm_piano").gain(0.2)

// drums · kick
const kick = s("bd").struct("<A B@20 C B D ~ A B@7 E B@32 C B D ~ A B@6 D ~ A B@3 F G ~@2>".pickRestart({
  A: "~@3 x", B: "~ x!2 ~@3 x ~", C: "~ x ~@4 x ~", D: "~ x!2 ~@5", E: "~ x ~ x ~@2 x ~", F: "~ x!2 ~ x!2 ~ x", G: "x",
})).gain(0.51)

// drums · snare
const snare = s("sd").struct("<A B@4 C B@15 D B E F A B@7 G B@16 H B@15 D B E F A B@6 E ~@2 B@3 I ~@3>".pickRestart({
  A: "~ x", B: "x!2", C: "x ~@2 x!2 ~@3", D: "x ~@3 x ~ x!3 ~ x!2 ~@4", E: "x ~ x!2", F: "~@3 x", G: "x!3 ~",
  H: "x ~@2 x!3 ~@2", I: "x ~@2 x ~@2 x ~",
})).gain(0.51)

// drums · low tom
const low_tom = s("lt").struct("<~@79 [~ x] ~@7>").gain(0.51)

// drums · pedal hat
const pedal_hat = s("hh").struct("<A B C B@20 D ~ A B@42 D ~ A B@6 D ~ A B@2 E B F ~@2>".pickRestart({
  A: "~@6 x!2", B: "~ x!3 ~ x!3", C: "~ x!3 ~ x!2 ~", D: "~ x!3 ~ x ~@2", E: "~ x!3 ~@2 x!2", F: "~ x ~@6",
})).gain(0.31)

// drums · open hat
const open_hat = s("oh").struct("<~ A@23 ~@2 A@6 B A@36 ~@2 A@7 ~@2 A@4 C ~@2>".pickRestart({
  A: "x!2", B: "~ x", C: "x",
})).gain(0.31)

// drums · crash
const crash = s("cr").struct("<A ~@20 A ~@44 A ~@12 A ~@4 B ~@2>".pickRestart({
  A: "~@3 x", B: "~ x ~@2",
})).gain(0.31)

stack(
  bass, acoustic_guitar_steel, violin, electric_guitar_clean, electric_guitar_clean_2, acoustic_guitar_steel_2,
  electric_guitar_clean_3, electric_guitar_clean_4, piano, piano_soft, kick, snare, low_tom, pedal_hat, open_hat, crash
)

More by Alan Jackson