Strudelify

The Next Time I Fall

Amy Grant

KeyA minorTempo108 bpm
0:00/0:00
// The Next Time I Fall — Amy Grant
// 108 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 2/4 at bar 27, 4/4 at bar 28, 2/4 at bar 57, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 110 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(108/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 · fretless bass · "FRETLESS"
const bass = note(`<
  ~@3 A B C D E F G H F I J I K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS
  AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BF BX BD BY BZ CA CB CC CD
  CE BV CF CG CH CI CJ CK BY BB CL CB CM CN CO CP CQ CR CS CT@2
>`.pickRestart({
  A: "~ a1", B: "a1@7 e1 a1@7 ~", C: "a1@5 e1 a1 ~ a1@7 a2", D: "a2@7 a1 a1@7 a1", E: "a1@7 a1 d2@7 ~",
  F: "d2@8 e2@7 ~", G: "e2 f#2", H: "f#3@8 d2@7 ~", I: "e2@8 a1@7 ~", J: "a1@8 d2@7 d2", K: "a1 f#2", L: "g#2 f#2",
  M: "f#3@8 d2@7 d1", N: "d2@8 d#2@7 ~", O: "d#2 g#2", P: "g#3 a1", Q: "a2@8 d2@7 d2", R: "e2 a1", S: "a1@6 ~ a1 f#2@8",
  T: "g#2@7 g#2 a1@4 c#2@4", U: "d2 d3", V: "e2@7 ~ e2@8", W: "b1 a1", X: "g#2@6 f#2@2 e2@5 ~@2 e2",
  Y: "d2@8 e2@5 ~@2 e2", Z: "f#2@7 ~ f#2@7 a#1", AA: "b1@8 a1@6 ~ a1", AB: "g#2@6 f#2@2 e2 ~@6 g#1",
  AC: "f#2@8 g#2@6 ~ g#2", AD: "a1 c#2", AE: "f#2@8 f#3@6 ~ a1", AF: "f#2@7 ~ f#2@6 ~ f#2", AG: "a1@8 a2@6 ~ c2",
  AH: "a1@6 ~ a1 a1@7 a0", AI: "d2@7 ~ d2@7 d1", AJ: "e2@7 ~ e2@6 ~ e2", AK: "f#2@7 ~ f#2@7 f#1", AL: "d2@8 e2@6 ~ e2",
  AM: "a1@7 ~ a1@8", AN: "d2@8 e2@7 e1", AO: "a1 a2", AP: "f#2 g#2", AQ: "f#2 f#3", AR: "d2@8 d2@7 d2",
  AS: "d#2@7 ~ d#2@8", AT: "g#2@7 ~ g#2@8", AU: "a#1@7 ~ a#1@8", AV: "d#2@8 f2@7 f2", AW: "a#1!2", AX: "g2 a1",
  AY: "a#1@4 d2@4 d#2@7 ~", AZ: "d#2 f2", BA: "f2 c2", BB: "a#1 a1", BC: "a2@6 ~ c2 d#2@8", BD: "f2@6 ~ f2 g2@7 ~",
  BE: "g2@7 b1 c2@8", BF: "a#1@8 a1@7 ~", BG: "a1@6 ~ a1 g2@8", BH: "a1@6 ~ a1 a#1@8", BI: "d2@6 ~ d2 g2@7 ~",
  BJ: "g2@6 ~ g2 g2@7 ~", BK: "g2@7 f2 a#1@6 ~ a#1", BL: "a#1@7 a#0 a#1@6 ~ a#1", BM: "a#1@7 a#0 d#2@8",
  BN: "d#3@6 ~ a#1 f2@7 ~", BO: "f2@6 ~ f2 g2@8", BP: "g2@6 ~ g2 g2@7 d3", BQ: "g3@5 d3 g2 ~ d#2@7 ~",
  BR: "d#2@7 e2 f2@7 ~", BS: "f2@7 d2 g2@6 ~ g2", BT: "g2@7 g1 a1@7 ~", BU: "a1@7 d2 a#1@7 ~",
  BV: "a#1@6 ~ a#1 a#1@7 ~", BW: "a#1@6 ~ a#1 c2@8", BX: "a1@7 a0 d#2@8", BY: "g2@7 g1 c2@8", BZ: "a#1@8 a1@6 ~ a1",
  CA: "a1@7 a0 g2@8", CB: "a1 a#1", CC: "d2@8 g2@7 ~", CD: "g2@7 e2 g2@7 ~", CE: "g2@7 f2 a#1@7 ~",
  CF: "a#1@6 ~ a#1 d#2@7 ~", CG: "d#2@6 ~ d#2 f2@7 ~", CH: "f2@6 ~ f2 c2@8", CI: "a#1@6 ~ a#1 a1@7 ~",
  CJ: "a1@7 d2 d#2@8", CK: "f2@8 g2@6 ~ g2", CL: "a2@6 ~ c2 g2@8", CM: "d2@8 g2@6 ~ g2", CN: "g2@7 g1 g2@7 ~",
  CO: "g2@6 ~ g2 a#1@8", CP: "a#2@6 ~ c#2 a#1@7 ~", CQ: "a#1@7 a#0 d#2@7 ~", CR: "d#2@7 d#1 f2@8",
  CS: "f2@4 f2@4 a#1@7 a#1", CT: "[a#1@3 ~ f2 a#2 a#2@2 a#2 a#1@17 ~@6]/2",
})).s("gm_fretless_bass").gain(0.31)

// chords · epiano1 · "E.PIANO 1"
const epiano1 = note(`<
  ~@20 A@2 B@2 C D E F G H I J K L M N O P Q D R S T U V U W X Y Z G AA AB AC AD AE@3 AF@2 AG@2 AH@2 AI AJ@2 AK@8 AL@5
  AM@2 AN@2 AO@2 AP AQ@7 AR@2 AS@2 AT@2 AU AV@6 AW@3
>`.pickRestart({
  A: "[~@22 e4!2 ~@5 d3@3, ~ a2@2 ~, ~@8 [e3,a3,e4]@13 e3@3 [a3,d4,a4]@8, ~@15 [a4,c#5]@8 ~@9]/2", // A5 D5 A
  B: "[~@3 g#3 ~@2 [b3,g#4]@2 ~ e4@2 e4@2 ~@2 e4@2 ~@2 e4@2 ~ e4@2 [f#3,d4,a4]@7 a3, e2 a2@2 ~, ~ [b3,g#4]@4 g#3@3 a3@6 a3@4 a3@6 a3@5 ~@3, ~@8 e3@4 ~ e3@4 e3@3 ~ e3@3 ~@8]/2", // E D E
  C: "~@6 g#3@2 ~ [e3,a3,e4]@3 ~@3 e4, g#2@2 a2 c#3, ~ g#3@5 ~@7 e3@3, ~ b3@3 ~@3 a3, ~@3 g#4@5 ~@8", // A5
  D: "[a3,d4,a4]@4 ~ [a3,d4,a4] ~@2 [a3,d4,a4]@8, d3@5 ~@2 d3@9", // D5
  E: "~ a4@2 a4@2 ~@2 a4@2 ~@2 a4@2 ~ a4@2, e3, d4@3 d4@2 d4@3, a3@4 ~ a3@4 a3@3 ~ a3@3",
  F: "[b2,a3,d4,f#4]@7 f#3 ~@6 e3@2, f#3@5 ~@3 a2@8, ~@9 e3@5 ~@2, ~@5 a3@3, ~@11 e4@5", // Bm7
  G: "b3@5 ~@4 g#4 ~ g#4@2 ~ e5 ~, g#2@15 ~, e5@13 ~@3, g#4@7 b3@5 ~ b3@2 ~, ~@5 g#3@10 ~",
  H: "a3@2 ~@3 a4@3 g#3@2 ~@3 g#4@3, d3 e2, [d4,a4]@3 d4@5 ~@2 g#3@6, ~@2 a3@6 [b3,g#4]@3 b3@5", // D5 E
  I: "~@14 a4!2, f#2, [a3,c#4,a4]@13 a3@3, ~@7 [c#5,f#5]@8 ~", // A F#5
  J: "~@3 d4@2 f#4 d4@2 [a2,a3,e4]@7 e3, b2 ~, ~ f#3@5 ~@2 e3@5 ~@3, ~ a3@3 ~@4", // A5
  K: "g#2@9 ~@5 g#4 ~, [b3,g#4]@13 b3@3, g#3@11 g#3@4 ~, ~@9 g#2@6 ~", // E
  L: "[f#3,d4,a4]@7 a3 ~@3 [b3,g#4]@5, a3@5 ~@3 g#2@8, ~@5 g#3@3", // D E
  M: "~@3 e4@2 ~ e4 ~@4 e3 ~@2 [a3,e4]@2, a2 ~, ~ e3@5 ~@2 c#3@8, ~@2 a3@6 ~ [a3,e4]@4 e3@3", // A5
  N: "f#3@9 ~@5 a4 ~, [d4,a4]@13 d4@3, a3@11 a3@4 ~, ~@9 f#3@6 ~", // D5
  O: "b3@5 ~@4 g#4 ~ g#4@2 ~ e5 ~, f#2@15 ~, e5@13 ~@3, g#4@7 b3@5 ~ b3@2 ~, ~@5 g#3@10 ~",
  P: "c4@5 ~@4 a4 ~ a4@2 ~ f5 ~, a2@15 ~, f5@13 ~@3, a4@7 c4@5 ~ c4@2 ~, ~@5 a3@10 ~",
  Q: "[b3,d4,b4]@4 ~ [b3,d4,b4] ~@2 [b3,d4,b4]@8, a2@5 ~@2 a2@9", // Bm
  R: "[g#3,b3,g#4]@4 ~ [g#3,b3,g#4] ~@2 [g#3,b3,g#4]@8, e2@5 ~@2 e2@9", // G#m
  S: "[a3,c#4,a4]@4 ~ [a3,c#4,a4] ~@2 [a3,c#4,a4]@8, f#2@5 ~@2 f#2@9", // A
  T: "~@6 a3@2 [e2,b3,g#4]@7 g#3, d3 ~, ~ a3@5 ~@2 g#3@5 ~@3, ~ d4@3 ~@4, ~@3 a4@5 ~@8", // E
  U: "a3@5 ~@4 e4 ~ e4@2 ~ c#5 ~, a2@15 ~, c#5@13 ~@3, e4@7 a3@5 ~ a3@2 ~, ~@5 e3@10 ~",
  V: "~@5 d3@3 [e2,b3,g#4]@7 g#3, [a3,d4,a4]@8 g#3@5 ~@3", // E D5
  W: "~@3 a3 ~@2 [d4,a4]@2 [g#2,b3,g#4]@7 g#3, f#3 ~, ~ [d4,a4]@4 a3@3 g#3@5 ~@3", // D5 G#m D5
  X: "c#4@5 ~@4 a4 ~ a4@2 ~ f#5 ~, f#2@15 ~, f#5@13 ~@3, a4@7 c#4@5 ~ c#4@2 ~, ~@5 a3@10 ~",
  Y: "~@3 g#3 ~@2 [b3,g#4]@2 [d3,d4,a4]@7 a3, d2 ~, ~ [b3,g#4]@4 g#3@3 a3@5 ~@3", // E D5 E
  Z: "~ f#4@2 f#4@2 ~@2 f#4@2 ~@2 f#4@2 ~ f#4@2, d#3, b3@3 b3@2 b3@3, f#3@4 ~ f#3@4 f#3@3 ~ f#3@3",
  AA: "[f3,a#3,f4]@4 ~ [f3,a#3,f4] ~@2 [f3,a#3,f4]@8, a#2@5 ~@2 a#2@9", // A#5
  AB: "g3@2 ~@3 g4@3 a3@2 ~@3 a4@3, d#2 f2, [a#3,g4]@3 a#3@5 [c4,a4]@3 c4@5, ~ g3@3 ~ a3@3", // D# F
  AC: "a#2@9 ~@5 f4 ~, [a#3,f4]@13 a#3@3, f3@11 f3@4 ~, ~@9 a#2@6 ~", // A#5
  AD: "~@3 g3 ~@3 a3, g2 a2, ~ g3@5 ~@4 c4@6, ~@2 a#3@6 ~ a3@5 ~@2, ~@3 g4@5 ~@3 a4@5",
  AE: "[a#3@2 ~ a#3 ~@2 f3@2 ~ g4@2 g4@2 ~@2 g4@2 ~@2 g4@2 ~ g4@2 a#3@5 ~@4 g4 ~ g4@2 ~ d#5 ~@4 d#4@2 g4 d#4@2, [a#2,f4]@4 ~@4 d#2@16 f2@15 ~ c3@8, ~@2 f3@2 [d3,d4]@4 a#3@6 a#3@4 a#3@6 d#5@13 ~@11, ~@8 g3@4 ~ g3@4 g3@3 ~ g3@3 g4@7 a#3@5 ~ a#3@2 ~@3 a#3@6, ~@29 g3@10 ~@2 g3@5 ~@2]/3", // A#5 D
  AF: "[~@3 f3 ~@2 [a#3,f4]@2 ~ a4@2 a4@2 ~@2 a4@2 ~@2 a4@2 ~ a4@2 ~@3 [a#3,g4]@5, a#2 a2@2 d#2, ~ [a#3,f4]@4 f3@3 c4@6 c4@4 c4@6 ~@8, ~@8 a3@4 ~ a3@4 a3@3 ~ a3@3 ~@2 g3@6]/2", // A#5 D# A#5
  AG: "[[f2,c4,a4]@7 a3 g2@9 ~@5 a#4 ~@4 g3 ~@2 [a#3,d#4,g4]@2, a3@5 ~@3 [d4,a#4]@13 d4@3 ~@8, ~@8 a#3@11 a#3@4 ~@2 [a#3,d#4,g4]@4 g3@3, ~@17 g2@6 ~ c3@8]/2", // F D# Gm D#
  AH: "[~@6 f3@2 c4@5 ~@4 a4 ~ a4@2 ~ f5 ~@7 g3@2, a#2@8 a2@15 ~ g2@8, ~ f3@5 ~@7 a3@10 ~@2 g3@5 ~@2, ~@2 a#3@6 a4@7 c4@5 ~ c4@2 ~@3 a#3@6, ~@3 f4@5 f5@13 ~@6 g4@5]/2",
  AI: "a3@2 ~@3 a4@3 ~@3 f3 ~@2 [a#3,f4]@2, a2 a#2, [c4,a4]@3 c4@5 ~@8, ~@2 a3@6 ~ [a#3,f4]@4 f3@3", // A#5 F A#5
  AJ: "[~@6 f3@2 ~@14 g4!2 [a3,c4,a4]@4 ~ [a3,c4,a4] ~ g2, d3@8 g2@16 g2@5 ~@3, ~ f3@5 ~@2 [g3,a#3,g4]@13 g3@3 ~@8, ~ a#3@3 ~@12, ~@3 f4@5 ~@7 [a#4,d#5]@8 ~@9]/2", // Am Gm D#5
  AK: "[[a3,c4,a4]@8 ~@14 a#4!2 ~@14 c5!2 ~ g4@2 g4@2 ~@2 g4@2 ~@2 g4@2 ~ g4@2 ~@14 a4!2 [d3,g3]@9 ~@9 g3 ~@12 a#3 ~@14 g4!2 [a3,c4,a4]@4 ~ [a3,c4,a4] ~ f2, ~@8 a#1@16 a#1@16 d#2@16 f2@16 g2@29 d3 d4@2 ~@24, ~@8 [a#3,c#4,a#4]@13 a#3@3 [c4,d#4,c5]@13 c4@3 a#3@6 a#3@4 a#3@6 [a3,c4,a4]@13 a3@3 a#3@12 a3 d4@12 d3 a#3 d4 g4@4 ~@7 [a#4,d#5]@8 ~@9, ~@15 [c#5,f#5]@8 ~@8 [d#5,g#5]@8 ~ g3@4 ~ g3@4 g3@3 ~ g3@3 ~@7 [c5,f5]@8 ~ d4@10 g3@5 a#3@6 a3@11 [g3,a#3,g4]@13 g3@3 ~@8, ~@81 d3@7 g3 d3@2 g3@13 d#2@16 f2@5 ~@3]/8", // Am G5 Am A#m Cm Am D#5 F#5 …
  AL: "[[a3,c4,a4]@8 ~@14 g4!2 c4@5 ~@4 a4 ~ a4@2 ~ f5 ~ [a#3,d#4]@9 ~@21 g4 d#4 ~@3 [a#3,d#4,g4]@5, ~@8 g2@16 a2@15 ~ a#2@12 a#4@4 a#2@11 d#5@2 a#4@2 ~@9, ~@8 [g3,a#3,g4]@13 g3@3 a4@7 c4@5 ~ c4@2 ~ [g4,a#4]@11 g4@14 a#4 g5@5 ~@9, ~@15 [a#4,d#5]@8 ~ f5@13 ~@13 d#4@5 g5@2 a#3@14 ~ c3@8, ~@29 a3@10 ~@10 a#3@5 d#5@5 d#4@12 ~@3 g3@6]/5", // Am D#5 D# Gm D#5
  AM: "[~@3 f4@2 ~ f4 ~@15 a4!2 ~@3 g4@2 ~ g4 ~, a#2 a2@2 d#2, ~ f3@5 ~@9 [c5,f5]@8 ~@3 a#3@6, ~@2 a#3@6 [a3,c4,a4]@13 a3@3 ~ g3@5 ~@2]/2", // F5 Am
  AN: "[~@5 f2@3 g2@9 ~@5 a#4 ~@7 g3@2, [a3,c4,a4]@8 [d4,a#4]@13 d4@3 ~@2 a#3@6, ~@8 a#3@11 a#3@4 ~@2 g3@4 g4@3, ~@17 g2@6 ~ c3@8, ~@27 d#4@5]/2", // Am Gm
  AO: "[~@3 f3 ~@2 [a#3,f4]@2 c4@5 ~@4 a4 ~ a4@2 ~ f5 ~ g3@2 ~@3 g4@3, a#2@8 a2@15 ~ g2@8, ~ [a#3,f4]@4 f3@3 f5@13 ~@6 a#3@5, ~@8 a4@7 c4@5 ~ c4@2 ~@3 g3@6, ~@13 a3@10 ~ [a#3,g4]@4 ~@4]/2", // A#5 D#
  AP: "~@3 a3 ~@2 [c4,a4]@2 f3@2 ~@3 f4@3, a2 a#2, ~ [c4,a4]@4 a3@3 [a#3,f4]@3 a#3@5, ~@5 f3@3", // F A#5
  AQ: "[f3@2 ~@3 f4@3 [g3,a#3,g4]@4 ~ [g3,a#3,g4] ~@2 [g3,a#3,g4]@8 ~ a4@2 a4@2 ~@2 a4@2 ~@2 a4@2 ~ a4@2 a#1@9 ~@5 a#4 ~ a#1@9 ~@5 c5 ~ d#2@9 ~@5 g4 ~@2 g4@2 g4@2 ~@2 g4@2 ~@2 g4@2 ~ g4@2 ~@5 c3@3, d3@8 g2@5 ~@2 g2@9 g2@16 ~@9 a#1@6 ~@10 a#1@6 ~@10 d#2@6 ~ f2@16 ~@8, [a#3,f4]@3 a#3@5 ~@16 c4@6 c4@4 c4@6 [c#4,a#4]@13 c#4@3 [d#4,c5]@13 d#4@3 g3@11 g3@4 ~ g3@4 ~ g3@4 g3@3 ~ g3@3 [g3,a#3,d#4,g4]@8, ~@2 f3@6 ~@16 a3@4 ~ a3@4 a3@3 ~ a3@3 a#3@11 a#3@4 ~ c4@11 c4@4 ~ [a#3,g4]@13 a#3@3 a#3@6 a#3@4 a#3@6 ~@8]/7", // Gm A#5 F# Cm D#
  AR: "[f3@2 ~@3 f4@3 ~ a4@2 a4@2 ~@2 a4@2 ~@2 a4@2 ~ a4@2 ~@5 d#2@3, a#2 a2@2 ~, [a#3,f4]@3 a#3@5 c4@6 c4@4 c4@6 ~@8, ~@2 f3@6 a3@4 ~ a3@4 a3@3 ~ a3@3 [g3,a#3,g4]@8]/2", // A#5 Gm
  AS: "[~@6 a3@2 [a#3,d4,a#4]@4 ~ [a#3,d4,a#4] ~@2 [a#3,d4,a#4]@8 [c3,a#3,d#4,g4]@7 g3, f2@8 g2@5 ~@2 g2@9 ~@8, ~ a3@5 ~@18 g3@5 ~@3, ~ c4@3 ~@12, ~@3 a4@5 ~@24]/2", // A# Cm7
  AT: "[f3@2 ~@3 f4@3 [a3,c4,a4]@4 ~ [a3,c4,a4] ~@2 [a3,c4,a4]@8 ~@6 g3@2, a#2@8 a2@5 ~@2 a2@9 g2@8, [a#3,f4]@3 a#3@5 ~@18 a#3@6, ~@2 f3@6 ~@17 g3@5 ~@2, ~@27 g4@5]/2", // Am A#5
  AU: "~@5 a2@3 ~@6 f3@2, [a3,c4,a4] a#2, ~@9 f3@5 ~@2, ~@5 a#3@3, ~@11 f4@5", // Am
  AV: "[~@3 [a#3,f4]@5 [g3,a#3,g4]@4 ~ [g3,a#3,g4] ~@2 [g3,a#3,g4]@8 ~@14 a4!2 c#4@5 ~@4 a#4 ~ a#4@2 ~ f#5 ~ [c4,d#4,c5]@4 ~ [c4,d#4,c5] ~@2 [c4,d#4,c5]@8 a#3@5 ~@4 g4 ~ g4@2 ~ d#5 ~@4 a4@2 ~ a4 ~, d3@8 g2@5 ~@2 g2@9 g2@16 a#1@15 ~ a#1@5 ~@2 a#1@9 d#2@15 ~ f2@8, ~@2 f3@6 ~@16 [a3,c4,a4]@13 a3@3 a#4@7 c#4@5 ~ c#4@2 ~@17 g4@7 a#3@5 ~ a#3@2 ~@2 a3@5 ~@2, ~@31 [c5,f5]@8 ~ f#5@13 ~@19 d#5@13 ~@11, ~@45 a#3@10 ~@22 g3@10 ~@3 c4@6]/6", // A#5 Gm Cm Am F5
  AW: "[~@2 a3@2 ~@2 g3@2 c4@9 f3@5 ~ d5@2 [a#2,c4,f4]@17 ~@6, [f2,f4] [f2,d#4] [a#2,f4]@4 ~@6, ~@11 c4 ~@12]/3", // A#sus2 F F7 A#5
})).s("gm_epiano1").gain(0.31)

// other · pad bowed · "BOWEDGLASS"
const pad_bowed = note(`<
  A@6 B C@7 D E F G ~ H I@2 J@2 ~@4 K ~@3 K ~@6 L M N O ~@2 P ~ Q ~@3 R ~ S ~@4 T U ~@2 T U ~@7 V@2 W ~@6 T U ~@2 T U
  ~@5 X@3 T Y ~@9 Z@4 ~
>`.pickRestart({
  A: "[~ [d4,e4,f#4,a4]@11 ~ [e4,f#4,g#4,b4]@8 e5 d5@2 c#5@6 b4@5 f#4@8 ~@2 f#4@11 [a3,b3,c#4]@32 ~@6 a4@2, ~@24 [e4,a4]@11 [d4,e4,g#4,a4]@21 e4@8 ~@32]/6", // D E A A5 Dsus2
  B: "g#4@2 e4@9 ~@5",
  C: "[~@8 e5@6 d5@6 c#5@4 c#5@6 b4@10 g#4@2 a4@4 f#5@10 e5@5 ~ d5@6 c#5@4 c#5@6 b4@9 ~@3 e4@2 a4@2 e4@7 ~@11]/7",
  D: "~@7 e4", E: "a4 e4@3 ~@4", F: "~@6 a4 [b3,g#4], ~@12 c#4 ~@3", G: "~@2 [g#3,e4]@5 ~@9", H: "~@4 e4@3 a4",
  I: "[g#4 e4@2 ~ e4 b4 a4 e4@4 ~@5]/2", J: "[~@8 e4@2 b4@2 a4@2 e5@9 ~@9]/2", K: "b4@3 a4 g#4@4", L: "e5@3 d5@3 c#5@2",
  M: "c#5@5 b4@10 ~", N: "g#4 a4@2 f#5@5", O: "a4 g#4", P: "e4@2 b4@2 a4@2 e4@7 ~@3",
  Q: "~@3 [c#5,a5]@2 ~ [b4,g#5]@3 ~ [g#4,e5]@5 ~", R: "f4@2 c5@2 a#4@2 f4@9 ~", S: "f4 c5 a#4 f4@4 ~",
  T: "~@4 c5@3 a#4", U: "a4 ~", V: "[~@10 [d5,a#5]@4 [f5,a5]@4 [d5,f5]@3 ~ [a#4,d5]@7 [c5,d#5]@2 ~]/2",
  W: "f5 [g4,a#4] ~@2, d5 ~@7", X: "[~@4 f5@3 d#5@3 d5@2 c5@8 ~@4]/3", Y: "a4@7 ~@9",
  Z: "[~@8 f5@6 d#5@6 d5@3 ~ d5@6 c5@6 a#4@2 ~@2 [a#4,c5,d5,f5]@18 ~@6]/4", // A#
})).s("gm_pad_bowed").gain(0.56)

// chords · pad warm · "WARM PAD"
const pad_warm = note("<A@8 ~@102>".pickRestart({
  A: "[~ [d2,a2,f#3]@11 ~ b2@11 [a2,e3,c#4]@11 f#3@19 ~@2 [a1,e2,a2]@64 ~@8, ~@12 [e2,g#3]@11 ~@12 a2@16 ~@77, ~@35 d2@14 ~@79]/8", // D A A5 E
})).s("gm_pad_warm").gain(0.36)

// chords · acoustic guitar nylon · "NYLON GTR"
const acoustic_guitar_nylon = note(`<
  ~@3 A@7 B@4 C@2 D@2 E@4 F@2 G H I J K L M N K O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK@3 AL AM AN@2 AL
  AO AP AQ AR@2 AS@8 AT@4 AU@2 AV@2 AW@2 AX AY AZ BA@2 BB@3 BC@2 BD@2 BE@2 BF BG@5 BH BI@3
>`.pickRestart({
  A: "[~@11 e4@2 ~@14 e4@2 ~@9 e4@2 ~@3 e4@2 ~@14 e4@2 ~@9 e4@2 ~@3 a4@2 ~@2 a4 ~@6 a4@2 ~@3 g#4@2 ~@2 g#4 ~@6 g#4@2 ~@3 a4@2 a3@2 a4, ~@8 a2@11 a2@4 ~ a2@11 a2@5 a2@11 a2@4 ~ a2@11 a2@5 ~@16 e2@16 f#2@8, ~@9 e3@3 ~ e3@7 e3@4 ~ e3@3 ~ e3@7 e3@4 ~ e3@3 ~ e3@7 e3@4 ~ e3@3 ~ e3@7 e3@4 d3@16 ~@24, ~@10 b3@4 b3@6 ~ b3@4 ~ b3@3 ~ b3@7 b3@3 ~@2 b3@4 b3@6 ~ b3@4 ~ b3@3 ~ b3@7 b3@3 ~ a3@3 ~ a3@5 a3@2 ~ a3@3 ~ g#3@3 ~ g#3@5 g#3@2 ~ g#3@3 ~ a3@3 ~@4, ~@15 e4@6 ~ e4@4 ~@5 e4@6 ~@10 e4@6 ~ e4@4 ~@5 e4@6 ~@5 d4@9 d4@5 ~@2 b3@9 b3@5 ~@2 c#4@6]/7",
  B: "[~@6 a4@2 ~@2 d4@2 a4 ~@9 a4 ~@5 [b3,g#4]@2 ~ b3@4 ~@3 b3@2 ~@3 e4@2 ~@2 e4 ~@6 e4@2 ~@3 [d4,a4]@2 ~ a3 [d4,a4], ~@2 a3@2 ~ a3@3 d3@16 e2@10 ~ e2@5 a2@16 ~@8, ~@3 c#4@5 [d4,a4]@3 ~@3 d4@5 d4@5 ~@18 a3@9 a3@5 ~@2 a3@2 ~@4, ~@9 a3@3 ~ a3@5 a3@6 ~@3 g#3@2 ~ g#3@6 ~ g#3@3 ~ e3@3 ~ e3@5 e3@2 ~ e3@3 ~ d3@3 ~ d3@2 ~, ~@15 a4@5 ~@11 g#4@9 ~@24]/4", // E D5
  C: "[~@3 g#4@2 ~@2 g#4 ~@3 e4@2 ~@9 e4 ~@4 a4@5, e2@4 a2@5 a2@3 ~@4, ~ g#3@2 ~@2 g#3@3 ~ e3@2 ~@2 e3@7 ~ e3@3 f#3@8, ~@2 b3@3 ~ b3@2 ~@2 a3@3 ~ a3@5 a3@5 ~ a3@7, ~@15 e4@6 ~@5 d4@6]/2",
  D: "[~@3 [b3,g#4]@2 ~ g#3 [b3,g#4] ~@2 c#4@2 a4 ~@9 a4 ~@6 g#3@3, ~ g#2@3 ~ g#2@2 ~ f#2@16 d2@8, ~@2 g#3@2 ~@4 [c#4,a4]@3 ~@3 c#4@5 c#4@5 ~@2 b3@6, ~@9 a3@3 ~ a3@5 a3@6 ~ g#3@3 ~@4, ~@15 a4@5 ~@7 g#4@5]/2", // E F#m
  E: "[~@5 a3@3 ~@2 b3@2 ~@9 f#3@3 ~@3 g#4@2 ~@2 g#4 ~@6 g#4@2 ~@2 a3@2 e4 ~@9 e4 ~@4 a4@5, d3 d#3@2 g#2@2 a2@2 ~, ~ a3@2 a4@5 ~@4 f#4@2 b3@4 f#3@2 ~@5 g#3@3 ~ g#3@5 g#3@2 ~ g#3@3 [a3,e4]@3 ~@3 a3@5 a3@5 ~ a3@7, ~@2 d4@6 ~ f#3@3 ~ f#3@2 f#4@6 ~@26 e4@5 ~@6 d4@6, ~@19 b3@5 ~@2 b3@9 b3@5 ~ e3@3 ~ e3@5 e3@6 d3@8]/4", // A5
  F: "[~@5 g#3@3 ~@3 e4@2 ~@9 e4 ~@4 a4@2 ~@2 a4, e2@4 a2@5 a2@3 ~@4, ~ g#3@2 g#4@5 ~@2 a3@3 ~ a3@5 a3@5 ~ a3@2 ~@2 a3@3, ~@2 b3@6 ~ e3@2 ~@2 e3@7 ~ e3@3 f#3@8, ~@15 e4@6 ~@5 d4@3 ~ d4@2]/2",
  G: "~@3 [b3,g#4]@2 ~ g#3 [b3,g#4] ~@3 e4 ~@3 e4, ~ g#2@3 ~ g#2@2 ~ [a2,e4]@4 ~@2 a3@2, ~@2 g#3@2 ~@5 e3@3 c#3@4, ~@10 a3@2 ~ e3@3", // E A5
  H: "~@4 [d4,a4]@2 ~ d4@4 ~@3 d4@2, d3@10 ~ d3@5, ~@3 a3@2 ~ a3@6 ~ a3@3, ~@7 a4@9", // D5
  I: "~@4 [d4,a4]@2 ~ d4@4 ~@3 d4@2, e3@10 ~ e3@5, ~@3 a3@2 ~ a3@6 ~ a3@3, ~@7 a4@9", // D5
  J: "~@3 f#4@2 f#3 [a3,d4] ~@4 e4@2 e3 [a3,e4] ~, b2@7 ~ a2@7 ~, d4@2 a3@3 ~@3 e4@2 a3@3 ~@3, ~ f#3@2 ~@6 e3@2 ~@5", // D5 A5
  K: "~@3 [b3,g#4]@2 ~@2 [b3,g#4]@3 ~@4 g#4 ~, ~ g#2@4 g#2@5 g#2@5 ~, ~@2 g#3@2 ~@2 g#3@5 g#3@4 ~, ~@13 b3@2 ~", // E
  L: "~@2 a3 [d4,a4] ~ [d4,a4] ~@5 g#4@2 g#3 [b3,g#4] ~, ~ d3@6 ~ e2@7 ~, ~@8 g#4@2 b3@3 ~@3, ~@9 g#3@2 ~@5", // D5 E
  M: "f#2@2 [c#4,a4] ~@2 [c#4,a4] ~@2 [c#4,a4]@2 f#2 a3@2 f#2 [c#4,a4] ~, ~@4 f#2@2 ~ f#2@2 ~@7", // F#m
  N: "~@2 f#3 [a3,d4] ~ [a3,d4] ~@4 [e3,c#4] ~@2 [e3,c#4] ~@2, ~ b2@6 ~@9", // D5 C#m
  O: "~@2 [d4,a4]!2 ~ [d4,a4]@2 a3 ~@2 [b3,g#4]!2 ~ [b3,g#4]@2 g#3, f#3 g#2, ~ a3@4 ~@4 g#3@4 ~@3", // D5 E
  P: "[a3,e4]@5 e3 [a3,e4] ~@4 e4@2 ~@2 e3, ~ c#3, ~@9 e3@4 ~@3, ~@10 a3@5 ~", // A5
  Q: "f#3@2 [d4,a4] ~@2 [d4,a4] ~@2 [d4,a4]@2 f#3 a3@2 f#3 [d4,a4] ~, ~@4 f#3@2 ~ f#3@2 ~@7", // D5
  R: "~@2 [b3,g#4] ~ g#3 [b3,g#4] ~ g#3 [b3,g#4]@2 ~ b3@2 g#3 [b3,g#4] ~, f#2@9 ~ f#2@4 ~@2", // E
  S: "a2@2 [c4,a4] ~@2 [c4,a4] ~@2 [c4,a4]@2 a2 a3@2 a2 [c4,a4] ~, ~@4 a2@2 ~ a2@2 ~@7", // F
  T: "b4 ~ d4 [d4,b4]@2 ~ d4 [d4,b4]@3 ~ d4 ~ b3 [d4,b4]@2, a2@9 ~ a2@4 ~@2, ~ b3@2 ~@2 b3@3 ~@8", // G
  U: "~@3 [d4,a4]@2 ~@2 [d4,a4]@3 ~@4 a4 ~, ~ d3@4 d3@5 d3@5 ~, ~@2 a3@2 ~@2 a3@5 a3@4 ~, ~@13 d4@2 ~", // D5
  V: "~@3 [b3,g#4]@2 ~@2 [b3,g#4]@3 ~@4 g#4 ~, ~ e2@4 e2@5 e2@5 ~, ~@2 g#3@2 ~@2 g#3@5 g#3@4 ~, ~@13 b3@2 ~", // E
  W: "~@3 [c#4,a4]@2 ~@2 [c#4,a4]@3 ~@4 a4 ~, ~ f#2@4 f#2@5 f#2@5 ~, ~@2 a3@2 ~@2 a3@5 a3@4 ~, ~@13 c#4@2 ~", // F#m
  X: "[d4,a4]@5 a3 [d4,a4] ~@4 g#4@2 ~@2 g#3, ~ e2, ~@9 g#3@4 ~@3, ~@10 b3@5 ~", // D5
  Y: "~@3 e4@2 ~@9 e4 ~, a2@5 a2@3, ~ e3@2 ~@2 e3@7 ~ e3@3, ~@2 a3@3 ~ a3@5 a3@5, ~@7 e4@6 ~@3",
  Z: "~@5 a3@3 ~@3 g#4@5, d3 e2, ~ a3@2 a4@5 g#4@2 b3@6, ~@2 d4@6 ~ g#3@7",
  AA: "~@4 [a3,e4]@2 ~ a3@4 ~@3 a3@2, a2@10 ~ a2@5, ~@3 e3@2 ~ e3@6 ~ e3@3, ~@7 e4@9", // A5
  AB: "~@3 a4@2 ~@2 a4 ~@3 g#4@2 ~@2 g#4, f#3 g#2, ~ a3@2 ~@2 a3@3 ~ g#3@3 ~ g#3@3, ~@2 d4@3 ~ d4@2 ~@2 e4@3 ~ e4@2",
  AC: "~@4 [c#4,a4]@2 ~ c#4@4 ~@3 c#4@2, f#2@10 ~ f#2@5, ~@3 a3@2 ~ a3@6 ~ a3@3, ~@7 a4@9", // F#m
  AD: "~@3 g#4@5 ~@3 [d4,a4]@2 ~ a3 [d4,a4], d2 ~, ~ g#3@7 ~ d3@3 ~ d3@2 ~, ~ b3@3 ~ a3 ~@2", // D5
  AE: "~@3 f#4@2 ~@2 f#4 ~@6 f#4@2, d#3, ~ f#3@3 ~ f#3@5 f#3@2 ~ f#3@3, ~@2 b3@9 b3@5",
  AF: "~@3 g#4@2 ~@9 g#4 ~, g#2@5 g#2@3, ~ g#3@2 ~@2 g#3@7 ~ g#3@3, ~@2 b3@3 ~ b3@5 b3@5, ~@7 g#4@6 ~@3",
  AG: "~@3 f4@2 ~@2 f4 ~@6 f4@2, a#2, ~ f3@3 ~ f3@5 f3@2 ~ f3@3, ~@2 a#3@9 a#3@5",
  AH: "~@3 [a#3,g4]@2 ~ g3 [a#3,g4] ~@3 a4@2 ~@2 a4, ~ d#2@3 ~ d#2@2 ~ f2@8, ~@2 g3@2 ~@5 a3@3 ~ a3@3, ~@10 f4@3 ~ f4@2", // D#
  AI: "~@2 a#3@2 f4 ~@9 f4 ~, a#2, [a#3,f4]@3 ~@3 a#3@5 a#3@5, ~ f3@3 ~ f3@5 f3@6, ~@7 f4@5 ~@4", // A#5
  AJ: "~@3 g4@2 ~@2 g4 ~@3 a4@5, g2 a2, ~ g3@3 ~ g3@3 ~ a3@7, ~@2 d#4@3 ~ d#4@2 ~@2 c4@6",
  AK: "[~@3 f4 ~@3 f4 ~@3 g4@2 ~@9 g4 ~@3 a#3@2 g4 ~@9 g4 ~@3 g3 [a#3,d#4] ~ [a#3,d#4] ~@2, [a#2,f4]@4 ~@2 a#3@2 ~@2 a#3@3 ~ a#3@5 a#3@5 [a#3,g4]@3 ~@3 a#3@5 a#3@5 ~@8, ~ f3@3 [d3,f4]@4 d#2@10 d#2@6 f2@16 ~ c3@6 ~, ~@2 a#3@2 ~ f3@3 ~ g3@2 ~@2 g3@7 ~ g3@3 ~ g3@3 ~ g3@5 g3@6 ~@8, ~@15 g4@6 ~@10 g4@5 ~@12]/3", // D#5 A#5 D# Dm
  AL: "~@2 [a#3,f4]!2 ~ [a#3,f4]@2 f3 ~@2 [c4,a4] ~ a3 [c4,a4] ~ a3, a#2 a2, ~ f3@4 ~@11", // A#5 F
  AM: "[c4,a4]@2 ~ c4@2 a3 [c4,a4] ~@3 g3 [a#3,g4] ~ [a#3,g4] ~@2, ~@2 a2@4 ~@3 d#2@6 ~", // F D#
  AN: "[~@2 [a3,f4] ~@2 [a3,f4] ~@5 [d4,a#4]@2 ~@2 [d4,a#4]@3 ~@4 a#4 ~@3 g3 [a#3,d#4] ~ [a#3,d#4] ~@2, ~@9 g2@4 g2@5 g2@5 ~@2 c3@6 ~, ~@10 a#3@2 ~@2 a#3@5 a#3@4 ~@9, ~@21 d4@2 ~@9]/2", // Dm Gm D#5
  AO: "[c4,a4]@2 ~ c4@2 a3 [c4,a4] ~@3 [a#3,g4]!2 ~ [a#3,g4]@2 g3, ~ a2@2 ~ g2@4, ~@9 g3@4 ~@3", // F D#
  AP: "~@2 [a3,f4] ~@2 [a3,f4] ~@4 [a#3,f4]!2 ~ [a#3,f4]@2 f3, ~ a#2, ~@9 f3@4 ~@3", // Dm A#5
  AQ: "~@2 [a#3,f4]!2 ~ [a#3,f4]@2 f3 ~@2 [a#3,g4] ~ g3 [a#3,g4] ~ g3, d3 g2, ~ f3@4 ~@11", // A#5 D#
  AR: "[[a#3,g4]@2 ~ a#3@2 g3 [a#3,g4] ~@4 [c4,a4]@2 ~@2 [c4,a4]@3 ~@4 a4 ~@3 [c#4,a#4] ~ a#3 [c#4,a#4] ~ a#3, ~@2 g2@4 ~@3 g2@4 g2@5 g2@5 ~ a#1@8, ~@10 a3@2 ~@2 a3@5 a3@4 ~@9, ~@21 c4@2 ~@9]/2", // D# F F#
  AS: "[[c#4,a#4]@2 ~ c#4@2 a#3 [c#4,a#4] ~ a#1@2 [d#4,c5] ~@2 [d#4,c5] ~@2 [d#4,c5]@2 a#1 c4@2 a#1 [d#4,c5] ~ d#2@2 [a#3,g4] ~@2 [a#3,g4] ~@2 [a#3,g4]@2 d#2 g3@2 d#2 [a#3,g4] ~@4 [c4,a4]@2 ~@2 [c4,a4]@3 ~@4 a4 ~@3 [d4,a#4] ~@2 [d4,a#4] ~ a#3 [d4,a#4] ~ a#3 [d4,a#4]@2 a#3 [d4,a#4] ~@3 [d4,a#4] ~@4 a#4@2 ~@2 a#4@2 ~ d4 ~@4 [a#3,g4]@2 ~@2 [a#3,g4]@3 ~@4 g4 ~ f2@2 [c4,a4] ~@2 [c4,a4] ~@2 [c4,a4]@2 f2 a3@2 f2 [c4,a4] ~ g2@2 [a#3,g4] ~@2 [a#3,g4] ~ g2, ~@2 a#1@4 ~@6 a#1@2 ~ a#1@2 ~@11 d#2@2 ~ d#2@2 ~@8 f2@4 f2@5 f2@5 ~ g2@15 ~ g2@16 ~ d#2@4 d#2@5 d#2@5 ~@5 f2@2 ~ f2@2 ~@11 g2@2 ~@2, ~@42 a3@2 ~@2 a3@5 a3@4 ~@22 a#3@3 ~ a#3@3 ~ a#3@3 ~@2 g3@2 ~@2 g3@5 g3@4 ~@25, ~@53 c4@2 ~@23 d4@4 d4@3 ~@16 a#3@2 ~@25]/8", // F# Cm D# F Gm D# F D#
  AT: "[[a#3,g4]@2 g2 g3@2 g2 [a#3,g4] ~ a4 ~ c4 [c4,a4]@2 ~ c4 [c4,a4]@3 ~ c4 ~ a3 [c4,a4]@2 ~@3 g4@2 ~ g4 ~@4 [a#3,g4] ~@7 [a#3,g4] ~@2 [a#3,g4]@4 ~@4 g4 ~@3 [a#3,d#4]!2 ~ [a#3,d#4]@2 g3, ~@8 a2@9 ~ a2@4 ~@3 a#1@15 a#1@9 ~ a#1@6 ~@8, ~@9 a3@2 ~@2 a3@3 ~@10 a#3@8 ~@4 [a#3,g4]@4 ~@11 a#3@3 ~ g3@4 ~@3, ~@26 g3@3 g3@3 ~@2 g3@2 ~ g3@4 ~ g3@2 ~ g3@5 ~ g3@5 c3@8]/4", // D# F D# D#5 D#
  AU: "[~@3 f4@2 f3 [a#3,f4] ~@4 [c4,a4]@2 ~@2 [c4,a4]@3 ~@4 a4 ~@3 [a#3,g4]!2 ~ [a#3,g4]@2 g3, a#2@7 ~@2 a2@4 a2@5 a2@5 ~ d#2@8, f4@2 a#3@3 ~@5 a3@2 ~@2 a3@5 a3@4 ~@2 g3@4 ~@3, ~ f3@2 ~@18 c4@2 ~@9]/2", // A#5 F D#
  AV: "[~@3 a4@2 a3 [c4,a4] ~ a#4 ~ d4 [d4,a#4]@2 ~ d4 [d4,a#4]@3 ~ d4 ~ a#3 [d4,a#4]@2 ~@2 [a#3,d#4]!2 ~ [a#3,d#4]@2 g3, f2@7 ~ g2@9 ~ g2@4 ~@2 c3@8, a4@2 c4@3 ~@27, ~ a3@2 ~@6 a#3@2 ~@2 a#3@3 ~@9 g3@4 ~@3]/2", // F Gm D#5
  AW: "[~@3 f4@2 f3 [a#3,f4] ~@4 [c4,a4]@2 ~@2 [c4,a4]@3 ~@4 a4 ~@3 [a#3,g4]!2 ~ [a#3,g4]@2 g3, a#2@7 ~@2 a2@4 a2@5 a2@5 ~ g2@8, f4@2 a#3@3 ~@5 a3@2 ~@2 a3@5 a3@4 ~@2 g3@4 ~@3, ~ f3@2 ~@18 c4@2 ~@9]/2", // A#5 F D#
  AX: "~@2 [c4,a4]!2 ~ [c4,a4]@2 a3 [a#3,f4]@5 f3 [a#3,f4] ~, a2 ~, ~ a3@4 ~@11", // F A#5
  AY: "~@3 f4@2 f3 [a#3,f4] ~@3 [a#3,g4] ~ g3 [a#3,g4] ~ g3, d3@7 ~ g2@8, f4@2 a#3@3 ~@11, ~ f3@2 ~@13", // A#5 D#
  AZ: "[a#3,g4]@2 ~ a#3@2 g3 [a#3,g4] ~@3 [c4,a4] ~ a3 [c4,a4] ~ a3, ~ g2@2 ~ g2@4", // D# F
  BA: "[[c4,a4]@2 ~ c4@2 a3 [c4,a4] ~ a#4 ~ c#4 [c#4,a#4]@2 ~ c#4 [c#4,a#4]@3 ~ c#4 ~ a#3 [c#4,a#4]@2 ~@2 [d#4,c5] ~ c4 [d#4,c5] ~ c4, ~@2 g2@4 ~@2 a#1@9 ~ a#1@4 ~@2 a#1@8, ~@9 a#3@2 ~@2 a#3@3 ~@16]/2", // F F# Cm
  BB: "[[d#4,c5]@2 ~ d#4@2 c4 [d#4,c5] ~ d#2@2 [a#3,g4] ~@2 [a#3,g4] ~@2 [a#3,g4]@2 d#2 g3@2 d#2 [a#3,g4] ~ g4 ~ a#3 [a#3,g4]@2 ~ a#3 [a#3,g4]@3 ~ a#3 ~ g3 [a#3,g4]@2 ~@3 g4@2 g3 [a#3,d#4] ~, ~@2 a#1@4 ~@6 d#2@2 ~ d#2@2 ~@7 f2@9 ~ f2@4 ~@2 c3@7 ~, ~@25 g3@2 ~@2 g3@3 ~@8 d#4@2 a#3@3 ~@3, ~@41 g3@2 ~@5]/3", // Cm D# D#5
  BC: "[~@2 [a#3,f4]!2 ~ [a#3,f4]@2 f3 a2@2 [c4,a4] ~@2 [c4,a4] ~@2 [c4,a4]@2 a2 a3@2 a2 [c4,a4] ~@4 g4@2 g3 [a#3,g4] ~, a#2@8 ~@4 a2@2 ~ a2@2 ~@7 d#2@7 ~, ~ f3@4 ~@19 g4@2 a#3@3 ~@3, ~@25 g3@2 ~@5]/2", // A#5 F D#
  BD: "[~@3 a4@2 a3 [c4,a4] ~@4 [d4,a#4]@2 ~@2 [d4,a#4]@3 ~@4 a#4 ~@3 g3 [a#3,d#4] ~ [a#3,d#4] ~@2, f2@7 ~@2 g2@4 g2@5 g2@5 ~@2 c3@6 ~, a4@2 c4@3 ~@16 d4@2 ~@9, ~ a3@2 ~@7 a#3@2 ~@2 a#3@5 a#3@4 ~@9]/2", // F Gm D#5
  BE: "[~@2 [a#3,f4]!2 ~ [a#3,f4]@2 f3 ~@3 [c4,a4]@2 ~@2 [c4,a4]@3 ~@4 a4 ~@3 g3 [a#3,g4] ~ [a#3,g4] ~@2, a#2@8 ~ a2@4 a2@5 a2@5 ~@2 g2@6 ~, ~ f3@4 ~@5 a3@2 ~@2 a3@5 a3@4 ~@9, ~@21 c4@2 ~@9]/2", // A#5 F D#
  BF: "~@2 [a3,f4] ~@2 [a3,f4] ~@2 [a#3,f4]@5 f3 [a#3,f4] ~", // Dm A#5
  BG: "[~@2 [a#3,f4]!2 ~ [a#3,f4]@2 f3 g2@2 [a#3,g4] ~@2 [a#3,g4] ~@2 [a#3,g4]@2 g2 g3@2 g2 [a#3,g4] ~ a4 ~ c4 [c4,a4]@2 ~ c4 [c4,a4]@3 ~ c4 ~ a3 [c4,a4]@2 ~@3 [c#4,a#4]@2 ~@2 [c#4,a#4]@3 ~@4 a#4 ~@4 [d#4,c5]@2 ~@2 [d#4,c5]@3 ~@4 c5 ~@3 [a#3,g4] ~ g3 [a#3,g4] ~ g3, d3@8 ~@4 g2@2 ~ g2@2 ~@7 g2@9 ~ g2@4 ~@3 a#1@4 a#1@5 a#1@5 ~@2 a#1@4 a#1@5 a#1@5 ~ d#2@8, ~ f3@4 ~@20 a3@2 ~@2 a3@3 ~@10 a#3@2 ~@2 a#3@5 a#3@4 ~@14 d#4@2 ~@9, ~@53 c#4@2 ~@3 c4@2 ~@2 c4@5 c4@4 ~@9]/5", // A#5 D# F F# Cm D#
  BH: "[a#3,g4]@2 ~ a#3@2 g3 [a#3,g4] ~ [c4,a4]@5 a3 [c4,a4] ~, ~ d#2@2 ~@5", // D# F
  BI: "[~ [a3,f4]@3 ~ g3@3 [a#2,c4,f4]@12 ~ c4@3 ~ [a#2,c4,f4]@17 ~@6, f2@4 [f2,d#4]@4 ~@12 f3@5 ~@23]/3", // Dm A#sus2 F7
})).s("gm_acoustic_guitar_nylon").gain(0.26)

// drums · kick
const kick = s("bd").struct(`<
  ~@12 A B A B A B A@3 B A B A C A@2 D A D A D A D A D A D A D A@3 C A C A C A E A C A C B F G A H A I A H A H A H F G A
  H A I A H A H D J A H A H A H A I A H D H A H A H D H A H D H A H A H A K L ~
>`.pickRestart({
  A: "x!2", B: "x ~@3 x ~@2 x", C: "x ~@2 x!2 ~@3", D: "x ~@7 x ~@6 x", E: "x ~@4 x!2 ~@8 x", F: "x ~@10 x!2 ~ x ~",
  G: "~ x", H: "x ~@6 x!2 ~@7", I: "x ~@4 x ~ x!2 ~@7", J: "~@7 x!2 ~@7", K: "x ~@6 x!2 ~@6 x", L: "x ~@7 x!2 ~@6",
})).gain(0.36)

// drums · rim
const rim = s("rim").struct("<~@12 A B@6 C A B@5 ~@17 B@7 ~ B@5 C ~@53>".pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "~ x ~@2",
})).gain(0.46)

// … 108 more lines

More by Amy Grant