Strudelify
Low Down cover art

Low Down

Boz Scaggs

KeyB minorTempo112 bpm
0:00/0:00
// Low Down — Boz Scaggs
// 112 bpm, 4/4, key B minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 138 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(112/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 · recorder · "Backup"
const recorder = note(`<
  ~@25 A B C D E F C D ~@16 A B C D E F C D ~@32 A B C D E F C D ~@8 G H I J G H I K G H I J G H I K ~@17
>`.pickRestart({
  A: "[b3,d4,f#4,b4]", // Bm
  B: "[b3,d4,f#4,b4]@2 [a3,c#4,e4,a4] [f#3,b3,d4,f#4] [a3,c#4,e4,a4]@9 ~ [b3,d4,f#4,b4] ~, [a3,c#4,e4,a4] ~@3 a#3 ~@11", // Bm A Bm A Bm A
  C: "[b3,d4,f#4,b4] ~ [a3,c#4,e4,a4]!2 ~ [f#3,b3,d4,f#4] ~ [f#3,b3,d4,f#4] ~ [d3,f#3,b3,d4] ~ [e3,a3,c#4,e4] ~ [f#3,b3,d4] ~@2, ~@13 f#4@2 ~", // Bm A Bm A Bm
  D: "[f#3,f#4]@2 [e3,e4] [d3,d4] [e3,e4]@10 ~@2, e4 ~@15", E: "[b3,d4,f#4,b4]@15 ~",
  F: "[b3,d4,f#4,b4]@2 [a3,c#4,e4,a4] [f#3,b3,d4,f#4] [a3,c#4,e4,a4]@9 ~ [b3,d4,f#4,b4] ~, [a3,c#4,e4,a4] ~@15", // Bm A Bm A Bm A
  G: "[d4,f#4,b4]@15 ~", H: "[d4,f#4,b4]@2 [c#4,e4,a4] [b3,d4,f#4] [c#4,e4,a4]@9 ~ [d4,f#4,b4] ~, [c#4,a4] ~@15",
  I: "[d4,f#4,b4] ~ [c#4,e4,a4]!2 ~ [b3,d4,f#4] ~ [b3,d4,f#4] ~ [f#3,b3,d4] ~ [a3,c#4,e4] ~ [b3,d4,f#4] ~@2", // Bm A Bm A Bm
  J: "[f#3,f#4]@2 [e3,e4] [d3,d4] [e3,e4]@9 ~@3, e4 ~@15", // F# E D E
  K: "[f#3,f#4]@2 [e3,e4] [d3,d4] e4@10 ~@2, [e3,e4] ~@3 e3@8 ~@4", // F# E D E
})).s("gm_recorder").gain(0.1)

// other · piano · "Piano Sol"
const piano = note("<~@121 A B C D E F G@2 H I J K L@2 M N ~>".pickRestart({
  A: "~@6 f#4 ~ f#4 e4 d4 ~ e4@2 d4 b3, ~@7 g4@2 ~@3 d4 ~@3", B: "d4 e4 f#4 a4@7 ~ e4 [f#4,b4] ~ [f#4,a4] e4",
  C: "[f#4,b4]@3 [e4,a4] ~@12", D: "~@4 c#5 d5 c#5 a4@9", E: "~ e4!2 f#4 ~ [g4,a4] ~ e4!2 f#4 ~ a4 ~ f#4 ~ b4",
  F: "~ a4 ~@5 e4!2 f#4 ~ a4 ~@4",
  G: "[~ d4 e4 f#4 ~ a4 ~ d4 e4 f#4 ~ a4 ~ f#4 ~ [f#4,b4]@2 a4 ~ d4 [e4,a4] ~ e4 ~ d4 ~ d4 b3 c#4 ~ d4 a3, ~@20 f#4@2 ~@3 e4@2 ~@5]/2", // B5 A5
  H: "~@8 f#5 g5 f#5 ~ d5@2 e5 d5", I: "~ c#5 ~ d5 ~ c#5 a4 ~ a4 b4 ~ a4 ~ a4 f#4 ~", J: "[b4,e5]@3 [a4,d5] ~@12",
  K: "[b4,e5] [a4,d5] ~ [a4,d5] ~ [b4,e5] ~ b4@9, ~@7 d5@7 ~@2", // E5 D5 E5
  L: "[~@3 b4 e5 f#5 e5 d5 a5@2 f#5 a5 ~ b5 ~ a5@2 f#5 e5 c#5 [e5,a5] f#5 e5 c#5 e5 f#5 e5 d5 ~ e5 ~@2, ~@12 a5 ~@3]/2", // A5
  M: "~@3 b4 e5 f#5 a5 c#5 f#5 ~ f#5!2 ~ d6 ~ c#6, ~@9 a5@2 ~@5", N: "a5@6 ~@4 a5 c#5 ~@4",
})).s("gm_piano").gain(0.25)

// other · piano · "Piano Sol" · soft notes
const piano_soft = note("<~@121 A B ~ C D ~ E ~@2 F G H I J ~@3>".pickRestart({
  A: "~@11 b3 ~@4", B: "~@14 g#4 ~", C: "~@3 e4 ~@12", D: "~@8 a4 ~@7", E: "~@10 f#4 ~@5", F: "~@2 c#5 ~@3 c#5 ~@9",
  G: "~@15 f#4", H: "~@4 f#4 ~@11", I: "~@14 c#5 ~", J: "~ e5 ~@14",
})).s("gm_piano").gain(0.13)

// other · piccolo
const piccolo = note(`<
  ~@9 A B A B ~@20 A B A B ~ C ~ C ~ C ~ D E F ~@2 A B ~@2 A B ~@6 A B A B ~@36 A B A B A B A B A B A B A B A B A B A B
  A B A B A B A B A B A B A G ~@3
>`.pickRestart({
  A: "~@2 b5 ~ a5 ~ b5 ~ d6 ~ d6 d6@3 e6 ~", B: "~@2 b5 ~ a5 ~ f#5 ~ b5@3 a5@4 ~, ~@8 a5 ~@7", C: "~@10 b5 ~ a5 ~ b5 ~",
  D: "~@14 a5 b5", E: "d6 ~ a5 b5 d6 ~ a5 b5 d6 ~ a5 b5 d6 ~ a5 b5", F: "d6 ~@15", G: "~@2 b5 ~ a5 ~@11",
})).s("gm_piccolo").gain(0.09)

// chords · epiano1 · "E Piano"
const epiano1 = note(`<
  ~@5 A B A C@3 A D A B A B A B A B A E A B A F A G A B A B A B A B A B A B A B A H A I A B J B A B A B A K@2 L M N A B
  A B A B A F O P Q R S T U V A B A W X Y A Z X AA@2 AB A B A AC AD AE AF AG AH L M N A B A AI@2 AJ AK AL AM AN AO AP
  AQ@3 AR AS AT AU AV AW AX AY AZ BA@2 BB BC BD BE@6 ~@2
>`.pickRestart({
  A: "[g3,b3,d4,f#4]", B: "[g3,b3,c#4,f#4]",
  C: "[[g3,b3,c#4,f#4]@15 ~@17 [g3,b3,c#4,f#4]@16, ~@15 b3@17 ~@16, ~ [g3,d4,f#4] ~, ~@21 b4@26 ~, ~@11 [d5,f#5]@13]/3", // Gmaj7 D
  D: "[g3,b3,c#4]@7 ~", E: "[g3,b3,c#4,f#4]@2 ~ [g3,b3,c#4,f#4] ~ [g3,b3,c#4,f#4] ~@2 [g3,b3,c#4,f#4]@8",
  F: "[g3,b3,c#4,f#4]@15 ~", G: "[g3,b3,c#4,f#4]@7 ~", H: "~@13 d5@3, [g3,b3,c#4], f#4@3 f#4, ~ b4, ~@5 f#5@3",
  I: "[g3,b3,c#4,f#4]@2 ~ [g3,b3,c#4,f#4] ~ [g3,b3,c#4] ~@2 [g3,b3,c#4,f#4]@8", // Gmaj7 C#m7b5 Gmaj7
  J: "~@3 [d5,f#5]@5, [g3,b3,d4], ~@5 b4@11", K: "[~ [c#4,f#4,a4], [b3,d4,e4,g4]]/2", L: "[c#4,f4,a4]", M: "[c4,e4,a4]",
  N: "[b3,d#4,f#4,a4]@15 ~", O: "e4@8 ~@5 c#5@3, [f#3,a3,e5], [c#4,c#5]@3 c#4, a4@5 a4@3, ~ e4",
  P: "d#4@8 ~@5 [b4,f#5]@3, [f#3,b3], [b4,f#5]@13 ~@3, d#5@5 d#5@3, ~@2 d#4!2", // B5
  Q: "e4@4 e4@2 ~ a4, [f#3,a3,c#4,c#5,e5], a4@7 ~, ~@3 e4", // F#m7
  R: "d#4@4 ~@2 b4@2 b4@3 ~@3 d#5 ~, [f#3,b3], d#5 g#5, b4@3 ~ d#5@2 d#4@2, ~@4 d#4@7 f#5@5", // B5
  S: "e4@4 ~@3 c#5, [f#3,a3,e5], c#5@3 c#4, c#4@5 a4@3, a4 e4", // F#m7
  T: "d#4@4 d#4@2 ~@7 b4@3, f#3, b3 d#5, d#5@7 d#4@4 b3@5, b4@3 b4@3 d#4@2",
  U: "[a4,b4]@3 ~@10 c#5 ~@2, [f#3,a3,c#4,e5], c#5@13 ~@3, e4@2 e4!2, ~@5 a4@3", // Asus2 F#m7
  V: "d#4@4 ~@2 b4@2 d#5 ~@2 f#5@4 ~, b3@15 ~, [d#5,f#5] ~, b4@6 ~@2 [b4,g#5]@7 ~, ~@4 d#4@11 ~", // D#m E
  W: "b3@6 ~@7 f#4@3, [g3,c#4], f#4@13 ~@3, ~ b3, ~@5 a4@3", X: "b3@5 ~ g3@2, [d4,f#4], g3@3 ~, ~@5 b3@3",
  Y: "b3@7 b3, [g3,c#4,f#4]", Z: "[g3,b3]@5 ~ b4@2, [c#4,f#4], ~@5 b3@3",
  AA: "[[g3,b3,c#4,f#4]@15 ~@11 b4@6, ~@15 d4@5 d4@12, ~ g3, ~@9 f#5@7, ~@11 d5@5]/2", // Gmaj7
  AB: "~@12 a5@3 ~, [g3,b3,c#4,f#4,c#5,f#5]@15 ~", AC: "f#4@8 ~@5 d5@3, [g3,b3,c#4], ~ f#4, ~@5 f#5@3",
  AD: "~@5 a4@3, [g3,b3,d4,b4]", AE: "[g3,b3,c#4,c#5], f#4@3 ~", AF: "~@3 b4@2 f#5@3, [g3,b3,d4]",
  AG: "g4 ~@2 g4, [b3,e5,g5], d4 [d4,e4], b4@3 b4@2 [b4,d5]@3, ~ g4@2 ~", AH: "[c#4,f#4,a4]",
  AI: "[f#4@5 ~@3 f#4@4 ~ [b4,d5]@3, [g3,b3,c#4] [g3,b3,d4], ~@3 a4 ~@4, ~@7 b4@6 ~@3]/2", // Bm C#m7b5 G
  AJ: "[g3,b3,c#4,b4,c#5,f#5], f#4@3 ~", AK: "f#4@2 f#4 ~, [g3,b3,d4,d5,f#5], b4@7 ~",
  AL: "~@11 f#5@4 ~, [g3,b3]@15 ~, f#4 f#4@2 ~, ~@2 b4@4 b4@9 ~, ~@8 a5@7 ~", AM: "[g3,b3,d4,f#4,d5,f#5], b4@7 ~",
  AN: "f#4@3 ~@3 e5@2, [g3,b3,c#4]@15 ~, ~@6 f#4@9 ~, ~@8 b4@7 ~, ~@10 d5@5 ~", // C#m7b5
  AO: "f#4@6 ~ b4, [g3,b3,d4,d5,f#5], b4@7 ~, ~@3 f#4", AP: "b4@3 ~@3 f#4@2, [b3,c#4,f#5], f#4@3 ~, g3 c#5, ~@3 b4@4 ~",
  AQ: "[[f#4,b4]@6 ~@6 f#4@4 ~@10 g5@4 ~@8 b4@2 b4@3 ~ f#4@4, [g3,b3,d4,d5,f#5]@8 [g3,b3,c#4]@7 b3@9, ~@10 b5@21 ~ f#5@16, ~@16 f#4@4 f#4@2 a5@9 f#4 [b4,d5]@4 f#4@4 d5@3 [b4,e5]@5, ~@18 d5@13 [g3,d4]@17]/3", // B5 Gmaj7 C#m7b5 Bm E5 G5
  AR: "~ c#5 c#5@2, [g3,b3,f#4,b4]", AS: "d4@8 ~@5 [a4,d5]@3, [e3,g3,b3], d5@13 ~@3, [g4,b4]@5 g4@3, ~@2 d4!2",
  AT: "e4@2 ~@5 c#5, [a3,e5], c#5@7 ~, a4@5 a4@3, ~@2 e4!2", // A5
  AU: "d4@4 ~@9 [g4,d5]@3, b3, [b4,d5]@5 b4@3, g4@6 g4@7 ~@3, ~ d4 ~ d4", // G5 Bm
  AV: "e4 ~@2 [e4,a4,e5], a3, e5@4 c#5 c#4@3, c#5@3 a4@3 ~@2, a4 e4@2 ~", // A5
  AW: "d4@4 ~@9 f#5@3, [e3,g3,b3,g4], d5@5 [d5,g5]@3, b4@3 b4@5, ~ d4!3", // Em G5
  AX: "e4@2 ~@5 f#5, a3, e5 c#5, c#5@3 a4@5, a4 e4@2 e4",
  AY: "d4@4 d4@3 ~@6 f#5@3, [b3,b4], g5@5 [d5,g5]@3, d5@7 ~ d4@4 d4@4", // B G5
  AZ: "e4 ~@2 e4, [a3,e5], c#5@7 c#4@3 c#4@6, a4@3 a4 c#5@4, ~ e4@2 ~", // A5
  BA: "[d4@3 ~@5 b4@2 ~@3 d5@2 ~ e4@4 ~@6 a5@2 [e4,a5]@4, [e3,b3]@15 ~ [a3,a4]@16, d5@10 b4@5 ~ c#5@6 c#5@10, b4@6 g4@4 [g4,d5]@2 d4@3 c#4@9 e5@8, g4@4 d4@4 d4@3 e5@4 ~@5 e4@8 ~@4]/2", // A5 E5 A G5
  BB: "d4@3 ~@10 [b4,f#5]@3, [d5,g5]@5 [d5,g5]@3, b4@3 b3@5, ~ d4@2 d4, ~@8 b4@5 ~@3", // B5 G5
  BC: "e4 ~@2 [e4,a4,d5], [a3,e5], c#5!2, a4@3 a4@2 c#4@3, ~ e4@2 ~", // Dsus2 A5
  BD: "f#4@3 ~ f#4@2 ~@2 d5@2 [b4,d5]@2 [f#4,b4]@2 b4@2, [b3,d4], g3@7 ~, [b4,d5]@3 b4@2 f#5@2 ~, ~@3 [d5,a5]", // Bm B5 Bm D5
  BE: "[[g3,b3,f#4,b4,c#5,f#5]@3 [f#4,b4,c#5,f#5] ~ [f#4,b4,c#5,f#5] ~@2 f#4@3 ~ f#4@2 b4 ~@5 f#4@2 ~@6 f#4@2 ~@2 [g3,f#4]@2 ~ [c#4,f#4,b4,c#5] ~ [c#4,f#4,c#5] ~@2 b4@2 ~@2 [f#4,c#5]@3 ~ f#4@4 f#4@2 ~@6 f#4@3 ~ [f#4,b4,c#5]@3 [f#4,b4] ~ [b3,f#4,b4,c#5,f#5] ~@2 f#4@4 f#4@2 b4 ~ b4@6 ~@2 f#4@4 ~@4, ~@7 b3@8 b3@5 f#5@2 f#4@2 a5@2 b5@2 a5@2 b3@4 ~@5 b3@8 b3@12 f#5@4 b3@5 ~@3 b3@8 b3@16 ~, ~@8 [g3,c#4,b4,c#5,f#5]@7 ~ [g3,d4]@16 ~@8 [g3,f#5]@8 [g3,d4]@16 ~@8 [g3,b4,c#5,f#5]@7 ~ [g3,d4,d5]@16, ~@16 f#4@3 d5@13 ~@10 b4@4 ~@2 [b4,d5]@7 d5 f#5 a5@7 ~@32, ~@9 b4@7 ~@4 [f#4,c#5]@2 ~@5 b4@5 ~@8 f#4@2 ~ b4@5]/6", // Gmaj7 F#sus4 Gmaj7 F#sus4 F#5 F#sus4 B5 Bsus2 …
})).s("gm_epiano1").gain(0.15)

// chords · epiano1 · "E Piano" · soft notes
const epiano1_soft = note(`<
  ~@12 A ~@32 B C ~@2 D ~@22 E ~@2 F G ~@3 H ~@3 I ~@2 J K ~@3 L M N O ~@8 P Q N R S T ~@2 U V W X Y Z@2 AA@2 AB@5 AC@3
  AD AE AF AG AH AI AJ ~@2
>`.pickRestart({
  A: "f#4@7 ~", B: "g#3 ~@7", C: "~@5 f#4 ~@10", D: "f#4@5 f#4@11", E: "f#5 ~@10 b4@4 d#5", F: "~@7 c#5",
  G: "~@9 d#5@6 ~, f#3@15 ~, ~@7 f#5@4 ~@5", H: "~@3 b3 ~@4", I: "~@3 a4, ~@11 g3@5", J: "f#4, b4@5 ~@3",
  K: "~@9 a5@3 ~@4", L: "~@3 b4@3 b4@2", M: "f#4@2 f#4!2", N: "~@3 f#4", O: "f#4@2 ~ f#4, ~@2 f#4 ~, ~@5 b4@3",
  P: "~@5 f#4@3", Q: "~@2 f#4!2", R: "~@7 b4, ~@3 f#4", S: "b4 ~@5 f#5@5 ~ f#4@3 ~, c#4@15 ~", T: "~@7 b4",
  U: "~@7 b4, ~ g3", V: "~@3 f#4 f#4@2 ~@2, ~@5 b4@11", W: "~@8 f#4@4 f#4@3 ~", X: "~@13 d5@3",
  Y: "~ c#5 ~ a4@5, [c#4,f#5]", Z: "[~@11 b4@4 ~@5 e4@4 ~@6 b3@2, ~@15 c#4@12 c#4@5]/2",
  AA: "[~@10 d5@3 ~@2 c#4@11 ~@5 g3, [e3,g3]@8 ~@7 b3, ~@2 d4 ~@4 c#5]/2", // Em
  AB: "[~@15 c#4@8 ~@9 e3@15 c#4@8 ~ a4@2 a4@4 ~ b3 ~@13 g4@2 ~, ~@23 c#4@8 g3@17 ~@15 g3@16 ~, ~@13 e5@3 ~@15 [a4,d5] ~@8, ~@15 b3 ~@24]/5", // D5
  AC: "[~@10 c#4@5 b3 b3@6 b4@2 ~@7 c#4@11 ~@6, ~@15 g3@17 ~@16, ~ e3 ~]/3", AD: "~@7 f#4@5 ~@2 [g3,f#4,f#5]@2",
  AE: "c#4@3 [b3,c#4] c#5 [g3,b3,c#4] ~@9 d4", AF: "b4 ~@13 f#4@2", AG: "c#4@2 b4 b3 c#5 b4 ~@8 b4@2, ~ c#4",
  AH: "~@7 f#4@5 ~@2 d5@2", AI: "[c#4,f#5]@3 [c#4,c#5,f#5] c#5 c#4 ~@2 c#4@6 c#5 ~", AJ: "~ f#4 ~@2",
})).s("gm_epiano1").gain(0.07)

// chords · string ensemble 1 · "Stringz"
const string_ensemble_1 = note(`<
  ~@49 A B A B A B A C D E F G H@4 I@4 ~@8 J@7 ~ K@4 L@6 A M D E F G N@2 O@2 N@2 P@2 N@2 O@2 N@2 Q@2 ~@4 C R C S C R C R
  T R T R T ~@4
>`.pickRestart({
  A: "[b3,d4,f#4]", B: "[b3,c#4,f#4]", C: "[b3,d4,g4]", D: "[c#4,f#4,a4]", E: "~@3 b4, [c#4,f4,a4]", F: "[c4,e4,a4]",
  G: "[d#4,f#4,a4,b4]", H: "[a6@15 g6]/4", I: "[f#6@31 ~]/4", J: "[d4 c#4 d4 c#4 ~@3, a5@27 ~]/7", K: "b5/4",
  L: "[d4 c#4 b3 a3 d4 c#4, a5@47 ~]/6", M: "[b3,e4,g4]", N: "[d4@4 ~@3 g6, a6@7 ~, ~ c#4]/2",
  O: "[d4@16 ~@14 [b5,e6] f#6, f#6@15 ~, ~ c#4]/2", P: "[d4@16 c#4@14 b5 e6, f#6@15 ~]/2",
  Q: "[d4@16 c#4@15 ~, f#6@15 ~]/2", R: "[c#4,e4,a4]", S: "[c#4,e4,a4], a#4 ~@15", T: "[d4,f#4,b4]",
})).s("gm_string_ensemble_1").gain(0.04)

// other · overdriven guitar · "Guitar"
const overdriven_guitar = note("<~@57 A@2 B C D ~@7 E F@2 G@2 H I J K ~@19 L@2 B M N O P ~@34>".pickRestart({
  A: "[~@4 e4 f#4 a4@13 ~@3 e4@10]/2", B: "~@4 e4 f#4 a4@10",
  C: "~@2 d#4@2 ~@2 e4@2 ~@2 f#4@4 [b3,c4] [d3,e3,f3,g3,a3]", D: "[a2,b2,c3] ~@15",
  E: "~@6 g#5@5 ~ g#5@4, ~@6 f#5 ~@5 f#5 ~@3", F: "[c#5@6 c#5@4 b4@14 g#4 f#4 g#4@3 ~ g#4 a4, ~@6 b4 ~@25]/2",
  G: "[g#4@4 f#4 e4 f#4@4 e4 d4 e4@8 [d4,e4]@2 ~ c#4@3 e4@3 g#4@3]/2", // Dsus2
  H: "b4 b3 [b3,b4]!6 b3 ~ [f3,g3] [a3,b3] d#5@2 e5 ~, ~@9 b4@3 ~@4", I: "e5@2 d#5 c#5@3 d#5 e5",
  J: "e5@2 d#5 c#5 d#5@2 c#5 b4 c#5@2 b4 a4 b4@2 [f4,g4] [a3,b3,c4,d4,e4]", K: "[d3,e3,f3,g3] ~@15",
  L: "[~@4 [e4,f#4] ~@3 [e4,f#4] ~ a4@8 ~@14]/2", // Esus2
  M: "~@2 d#4@2 ~@2 e4@3 ~ f#4@4 [d4,e4,f4] [f3,g3,a3,b3,c4], ~@10 e4 ~@5", // Dm F
  N: "[g2,a2,b2,c3,d3,e3] f2 f#4 [g#4,b4,c5,d5] f#5@3 ~ [d5,e5,f#5] e5 d5!6, ~@4 e5 ~@11", O: "d5!2 ~ d5!12 ~",
  P: "d5 ~@15",
})).s("gm_overdriven_guitar").gain(0.25)

// other · overdriven guitar · "Guitar" · soft notes
const overdriven_guitar_soft = note("<~@60 A ~@13 B C D ~@24 E F ~@35>".pickRestart({
  A: "~@14 [d4,d#4,e4] ~", B: "~@10 [b3,a4] ~@3 d#5 ~", C: "~@5 d#5 ~@10, ~@2 e5 ~@5", D: "~@4 c#5 ~@9 a4 ~",
  E: "~ e2 ~@14", F: "~@2 d5 ~@12 d5",
})).s("gm_overdriven_guitar").gain(0.11)

// chords · brass section · "Hornz"
const brass_section = note("<~@57 A@2 B@2 C@4 ~@32 A@2 B@2 C@4 ~@33>".pickRestart({
  A: "[[a3,a4]@7 [b3,b4]]/2", B: "[[a3,a4]@15 ~]/2", C: "[b3@63 ~, d4 ~@3]/4",
})).s("gm_brass_section").gain(0.19)

// chords · brass section · "Hornz" · soft notes
const brass_section_soft = note("<~@61 A@4 ~@36 A@4 ~@33>".pickRestart({
  A: "[~ c#4 d4 c#4, f#4@63 ~]/4",
})).s("gm_brass_section").gain(0.1)

// bass · electric bass pick · "1stBass"
const bass = note(`<
  ~@5 A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B C D E F A
  B A B A B A B G H I J K L M N A B A B A B A B A B A B A B A B A B A B C D E F A O P Q R Q S Q S Q T O U V W O X Y Z O
  AA AB AC AB AD AE AF O AG Q AH AI AJ AK AL AM ~
>`.pickRestart({
  A: "e1@2 ~@5 e1 e1@2 ~@6", B: "a1@2 ~@5 a1 a1@2 ~@6", C: "d2@2 ~ d2 ~ d2 ~@2 d2@6 ~@2",
  D: "c#2@2 ~ c#2 ~ c#2 ~@2 c#2@6 ~@2", E: "c2@2 ~ c2 ~ c2 ~@2 c2@6 ~@2", F: "b1@2 ~ b1 ~ b1 ~@2 b1@6 ~@2",
  G: "f#1 ~ f#1 ~@2 f#1 ~ c#1 f#1@2 ~@5 f#1", H: "b1 ~ b1@2 f#1 b1 ~ f#1 b1@2 ~ f#1 b1@2 c#2 f#1",
  I: "f#2 c#2 f#1 ~@2 f#1 ~ c#1 f#1@2 ~@5 f#1", J: "b1@2 ~ b1 ~ b1 ~ f#1 b1 ~@2 f#1 b1@2 c#2 f#1",
  K: "f#2 c#2 f#1@2 ~ f#1 ~ c#1 f#1@2 ~ d#1 f#1@2 g#1@2", L: "b1 ~ b1@2 g#1 b1 ~ f#1 b1 ~@2 f#1 b1@2 c#2 f#1",
  M: "f#2 c#2 f#1 ~@2 f#1 ~ c#1 f#1@2 ~@5 [f#1,g#1]", N: "b1 ~ b1 ~ f#1 b1 ~ f#1 b1@2 ~ f#1 b1@2 c#2@2",
  O: "a1@2 ~ a1 ~ a1 ~ e1 a1 ~@2 e1 a1@2 b1@2", P: "e2 b1 e1 ~@2 a1 ~ e1!2 ~@5 g1 ~",
  Q: "a1 ~@2 a1 ~ a1 ~ e1 a1 ~@2 e1 a1@2 b1 e1", R: "[e2,f2] b1 e1 ~@2 b1 ~ e1!2 ~@5 g1 e1",
  S: "e2 b1 e1 ~@2 e2 ~ e1 e1@2 ~@4 g1 e1", T: "e2 b1 e1 ~@2 a1 ~ e1!2 ~@2 e1 g1 ~ e1 ~",
  U: "e1 ~@4 e1 ~ e1 e1@2 ~@4 g1 e1", V: "a1@2 ~ a1 ~ a1 ~ e1 a1 ~@2 e1 a1@2 b1 e1",
  W: "e2 b1 e1 ~@2 e2 ~ e1 e1@2 ~ e1 g1 ~ e1 ~", X: "e1@2 ~@3 e1 ~ e1!2 ~@5 e1@2",
  Y: "a1@2 ~ a1 ~ a1 ~ e1 a1 ~@2 e1 a1@2 b1 [e1,g1]", Z: "e2 b1 e1 ~@2 e2 ~ e1!2 ~@5 e1 ~",
  AA: "e1 ~@4 e1 ~ e1 e1@2 ~ g1 e1@2 b1@2", AB: "a1 ~@2 a1 ~ a1 ~ e1 a1 ~@2 e1 a1@2 d2 e2",
  AC: "e1 ~ e1 ~@2 e1 ~ e1 e1@2 ~@4 e1@2", AD: "e1 ~ e1 ~ a1 e1 ~@2 e1@2 ~@2 a1 ~ e1 ~",
  AE: "a1@2 ~ a1 ~ a1 ~ e1 a1 ~@2 d2 a1 ~ d2 a1", AF: "e2 b1 e1 ~@2 e2 ~ e1!2 ~ b1 ~@3 e1 g1",
  AG: "~@2 e1 ~@2 e1 ~ g1 e1@2 ~@2 a1 ~ e1 g1", AH: "e2 b1 e1 ~@2 e2 ~ g1 e1 ~@2 g1 e1@2 g1 ~",
  AI: "a1@2 ~ a1 ~ a1 ~ e1 a1@2 ~ e1 a1 b1@2 a1", AJ: "e1 ~ e1 ~ a1 e1 ~ g1 e1@2 ~@2 [a1,d2] ~ e1 g1",
  AK: "a1 ~@2 a1 ~ a1 ~ e1 a1 ~@2 e1 a1@2 b1 [e1,f1,g1]", AL: "e2 b1 e1 ~@2 e2 ~ [f1,g1] e1 ~@2 g1 e1@2 g1@2",
  AM: "a1 ~@2 a1 ~ a1 ~ e1 a1@2 ~@6",
})).s("gm_electric_bass_pick").gain(0.25)

// bass · slap bass 1 · "Slappy"
const bass_2 = note(`<
  ~ A@4 ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~@5 B ~
  A ~ B ~ A C D C D C D C D ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~@5 B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~
  B ~ A ~ B ~ A ~ B ~@3
>`.pickRestart({
  A: "~@14 d3 e3", B: "~@12 a3@2 d3 e3", C: "~@10 e3 ~ e3@4", D: "~@11 e3 d#3@3 ~",
})).s("gm_slap_bass_1").gain(0.22)

// chords · electric guitar jazz · "2ndBass"
const electric_guitar_jazz = note("<~@56 A@5 ~@35 A@5 ~@37>".pickRestart({
  A: "[~@14 [e3,b3]@15 ~ [d#3,a3]@15 ~ [d3,g3]@15 ~ [c#3,g3]@17 ~]/5", // E5 D#dim G5 C#dim
})).s("gm_electric_guitar_jazz").gain(0.11)
// … 91 more lines

More by Boz Scaggs