Strudelify
She Believes In Me cover art

The Gambler

She Believes In Me

Kenny Rogers

KeyB♭ majorTempo76 bpm
0:00/0:00
// She Believes In Me — Rogers Kenny
// 76 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 76 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(76/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 · "Bass"
const bass = note(`<
  A B C D E F G H I J K L E M G N O P Q B R S T U V W J X Y Z AA AB AC W@2 AD AE D AF AG N I AH K AI A AJ AK H AL P AM B
  R AN AO AP AQ J W AR AE S T AB V J W AS AT D A B A AU ~
>`.pickRestart({
  A: "bb1@7 ~ bb1@8", B: "bb1!2", C: "bb1@7 bb1 bb1@8", D: "bb1 bb2", E: "bb1@7 f1 bb1@8", F: "bb1@8 d2@7 d1",
  G: "eb2@2 eb2 d2", H: "c2@2 f2 eb2", I: "d2@8 d2@6 ~ d2", J: "g2@8 g2@6 ~ g2", K: "c2@8 c2@6 ~ c2",
  L: "f2@8 f2@6 ~ f2", M: "bb1 d2", N: "c2@7 c2 f2@4 eb2@4", O: "d2!2", P: "g2@7 ~ g2@8", Q: "c2@7 c2 f2@8",
  R: "f2@7 ~ f2@8", S: "bb1@8 bb1@6 ~ bb1", T: "bb1@7 f2 bb2@5 f2 bb1 ~", U: "a2@8 a3@6 ~ eb2", V: "d2@8 d3@6 ~ a1",
  W: "g2!2", X: "c2@7 ~ c2@7 b1", Y: "f2@7 f2 f2@7 f1", Z: "bb1@7 ~ bb1@6 ~ f1", AA: "bb1@7 ~ bb1@6 ~ bb1",
  AB: "a2@7 ~ a2@7 a1", AC: "d2@7 ~ d2@7 gb2", AD: "c2@7 c2 c2@7 c1", AE: "f2@7 ~ f2@7 f1", AF: "bb1@7 bb1 d2@8",
  AG: "eb2@7 eb1 eb2@4 d2@4", AH: "g2 g3", AI: "f2!2", AJ: "bb1@7 bb1 d2@7 d1", AK: "eb2@7 eb2 eb2@4 d2@4",
  AL: "d2@7 ~ d2@8", AM: "c2@8 f2@7 f1", AN: "bb1@8 bb1@7 f1", AO: "bb1@7 ~ bb1@4 bb2 f2 bb1 f1",
  AP: "a2@7 ~ a2@6 ~ a2", AQ: "d2@7 ~ d2@6 ~ d2", AR: "c2@7 ~ c2@6 ~ c2", AS: "c2@8 c3@6 ~ g1", AT: "f2@7 ~ f2@7 a1",
  AU: "bb1 ~",
})).s("gm_fretless_bass").gain(0.38)

// chords · acoustic guitar nylon · "Nylon Guitar"
const acoustic_guitar_nylon = note(`<
  ~@4 A B C D E F G H I J K L E M N O P Q@2 R S T U V W X@2 R Y T Z AA AB AC AD AE AF E AG AH P O AI AJ AK AL AM AN AO
  AP Q@2 AQ S AR AS AT W AU@2 AV AW AX AY AT AZ A BA BB AC BC ~
>`.pickRestart({
  A: "~@4 [bb3,f4]@2 ~ bb3@4 ~@3 bb3@2, bb2@10 ~ bb2@5, ~@3 f3@2 ~ f3@6 ~ f3@3, ~@7 f4@9", // Bb5
  B: "~@3 f4@2 ~@2 f4 ~@3 [bb3,f4]@2 ~ f3 [bb3,f4], bb2@4 ~ f3 ~@2, ~ f3@3 ~ f3@3 ~ d3@3 ~ d3@2 ~, ~@2 d4@3 ~ d4@2 ~@8", // Bb5
  C: "~@3 [bb3,g4]@2 ~ g3 [bb3,g4] ~@3 g4 ~@3 a4, ~ eb2@3 ~ eb2@2 ~ eb2@4 ~@2 d4@2, ~@2 g3@2 ~@5 g3@3 d3@4, ~@10 bb3@2 ~ a3@3", // Eb
  D: "~@3 g4@5 ~@3 a4 ~@3 a4, c3@2 [f2,a4] eb2, ~ g3@7 ~ a3@3 ~ a3@3, ~ c4@3 ~ c4 ~ c4", // F
  E: "~@3 f4 ~@10 f4 ~, d3, [c4,a4]@2 c4@2 a4@11 ~, ~ a3@4 a3@2 f4@4 c4@5, ~@3 c4@2 a3@3", // F
  F: "~@3 f4 ~@10 f4 ~, g2, [bb3,g4]@2 bb3@2 g4@11 ~, ~ g3@4 g3@2 f4@4 bb3@5, ~@3 bb3@2 g3@3", // Eb
  G: "~@4 [bb3,eb4]@2 ~ bb3@4 ~@3 bb3@2, c3@10 ~ c3@5, ~@3 g3@2 ~ g3@6 ~ g3@3, ~@7 eb4@9", // Eb5
  H: "~@4 [bb3,eb4]@2 ~ bb3@4 ~@3 bb3@2, f3@10 ~ f3@5, ~@3 g3@2 ~ g3@6 ~ g3@3, ~@7 eb4@9", // Eb5
  I: "~@3 f4@2 ~@2 f4 ~@6 f4@2, bb2, ~ f3@3 ~ f3@5 f3@2 ~ f3@3, ~@2 bb3@9 bb3@5",
  J: "~@3 [bb3,f4]@2 ~ f3 [bb3,f4] ~@3 f4@5, ~ bb2@3 ~ bb2@2 ~@2 f3@7, ~ f3 ~@2 d3@4, ~@5 bb3@3", // Bb5
  K: "~@3 g4@5 ~@3 g4 ~@3 a4, eb2@4 eb2@2 ~ d4, g4@2 bb3@6 ~@2 bb3@2 ~ a3@3, ~ g3@7 ~ g3@3 d3@4",
  L: "~@3 g4@5 ~@3 a4 ~@3 a4, c3@2 f2 [eb2,a4], ~ g3@7 ~ a3@3 ~ a3@3, ~ c4@3 ~ c4 ~ c4", // Ebdim
  M: "~@2 bb3@2 ~@9 g3@3, g2, ~ g3@3 f4@2 bb3@4 g3@2 ~@4, ~@5 g3@2 f4@6 ~@3, ~@11 bb3@5",
  N: "~@3 eb4@5 ~@3 eb4@2 ~@2 eb4, c3@8 ~@2 bb3@3 ~ bb3@2, ~ g3@7 f3@8, ~@2 bb3@6 ~ g3@2 ~@2 g3@3",
  O: "~@3 f4@2 ~@9 f4 ~, bb2@5 bb2@3, ~ f3@2 ~@2 f3@7 ~ f3@3, ~@2 bb3@3 ~ bb3@5 bb3@5, ~@7 f4@6 ~@3",
  P: "~@3 eb4@2 ~ g4 ~@8 g4, f3, ~ g3@3 ~ g3@5 g3@2 ~ g3@3, ~@2 bb3@9 bb3@5, ~@7 eb4@6 ~ eb4@2",
  Q: "[~@3 f3 ~ bb3 ~ [bb3,f4]@4 f3@2 ~@7 [bb3,f4]!2 ~ [bb3,f4]@3 ~@4 f4@2, bb2@14 bb3@4 ~ f3@2 ~@5 f3@2 ~ f3@2 ~, ~@4 [bb3,f4]@2 ~@7 f3@2 f4@3 ~@9 bb3@5, ~@8 bb2@7 ~]/2", // Bb5
  R: "c4 ~ g3 [g3,c4]@2 ~ g3 [g3,c4]@3 ~ g3 ~ eb3 [g3,c4]@2, a2@9 ~ a2@5 ~, ~ eb3@2 ~@2 eb3@3 ~@8", // C5
  S: "d3@2 [c4,gb4] ~@2 [c4,gb4] ~@2 [c4,gb4]@2 d3 a3@2 d3 [c4,gb4] ~, ~@4 d3@2 ~ d3@2 ~@7", // Cdim
  T: "~@3 bb4@2 bb3 [d4,bb4] ~@4 g4@2 g3 [bb3,gb4] ~, g2@7 ~ g2@7 ~, bb4@2 d4@3 ~@3 gb4@2 bb3@3 ~@3, ~ bb3@2 ~@6 g3@2 ~@5", // Gm Ebm
  U: "[bb3,f4]@5 g3 [bb3,f4] ~@4 g4@2 g3 [bb3,e4] ~, ~@8 g2@7 ~, ~@8 e4@2 bb3@3 ~@3, ~@9 g3@2 ~@5", // Bb5 Bbdim
  V: "~@2 [bb3,eb4] ~ g3 [bb3,eb4] ~ g3 [bb3,eb4]@2 ~ bb3@2 g3 [bb3,eb4] ~, c3@9 ~ c3@4 ~@2", // Eb5
  W: "eb4 ~ bb3 [bb3,eb4]@2 ~ bb3 [bb3,eb4]@3 ~ bb3 ~ g3 [bb3,eb4]@2, f3@9 ~ f3@5 ~, ~ g3@2 ~@2 g3@3 ~@8", // Eb5
  X: "[~@3 f3 [bb3,f4] ~@2 [bb3,f4]@6 ~@2 f3 ~@3 f3 [bb3,f4] ~ f3 ~@7 f4@2, bb2@8 bb2@7 ~, ~@6 f3@3 ~@4 f3@2 ~@10 f3@4 f3@2 ~, ~@14 bb3@5 ~@4 [bb3,f4]@4 bb3@5]/2", // Bb5
  Y: "~@2 [c4,gb4] ~ a3 [c4,gb4] ~ a3 [c4,gb4]@2 ~ c4@2 a3 [c4,gb4] ~, d3@9 ~ d3@4 ~@2", // Cdim
  Z: "~@2 [bb3,f4]!2 ~ [bb3,f4]@2 g3 ~@3 g4@2 g3 [bb3,e4] ~, g2@8 g2@7 ~, ~ g3@4 ~@3 e4@2 bb3@3 ~@3, ~@9 g3@2 ~@5", // Bb5 Bbdim
  AA: "eb4 ~ bb3 [bb3,eb4]@2 ~ bb3 [bb3,eb4]@3 ~ bb3 ~ g3 [bb3,eb4]@2, c3@9 ~ c3@5 ~, ~ g3@2 ~@2 g3@3 ~@8", // Eb5
  AB: "f2@2 [c4,a4] ~@2 [c4,a4] ~@2 [c4,a4]@2 f2 a3@2 f2 [c4,a4] ~, ~@4 f2@2 ~ f2@2 ~@7", // F
  AC: "~@2 bb3@2 f4 ~@9 f4 ~, bb2, [bb3,f4]@3 ~@3 bb3@5 bb3@5, ~ f3@4 f3@5 f3@6, ~@7 f4@5 ~@4", // Bb5
  AD: "~@3 f4@5 ~@3 f4@5, bb2@4 ~ bb3@3, f4@2 bb3@6 ~ f3@7, ~ f3@7 d3@8",
  AE: "~@3 g4@5 ~@3 g4 ~@3 a4, eb2@4 eb2@2 ~ d4, ~ g3@7 ~ g3@3 [d3,a4]@4, ~@2 bb3@6 ~@2 bb3@2 ~ a3@3", // D5
  AF: "~@3 g4@2 ~@2 g4 ~@3 a4 ~@3 a4, c3@2 [f2,a4] [eb2,a4], ~ g3@3 ~ g3@3 ~ a3@3 ~ a3@3, ~@2 eb4@3 ~ eb4@2 ~@2 c4@2 ~@2 c4@2", // F Ebdim
  AG: "~@3 f4@2 ~ g4 ~@8 g4, g2, ~ g3@3 ~ g3@5 g3@2 ~ g3@3, ~@2 bb3@9 bb3@5, ~@7 f4@6 ~ f4@2",
  AH: "~@3 eb4@2 ~ g4 ~@8 g4, c3, ~ g3@3 ~ g3@5 g3@2 ~ g3@3, ~@2 bb3@9 bb3@5, ~@7 eb4@6 ~ eb4@2",
  AI: "~@3 f4@2 ~@2 f4 ~@3 [bb3,f4]@2 ~ f3 [bb3,f4], bb2 ~, ~ f3@2 ~@2 f3@3 ~ d3@3 ~ d3@2 ~, ~@2 bb3@3 ~ bb3@2 ~@2 f3@2 ~@4", // Bb5
  AJ: "~@3 g4@2 ~@2 g4 ~@3 g4 ~@3 a4, eb2@4 [eb2,g4]@2 ~ d4, ~ g3@3 ~ g3@3 ~ g3@3 d3@4, ~@2 eb4@3 ~ eb4@2 ~@2 bb3@2 ~ a3@3", // Eb
  AK: "~@3 g4@2 ~@2 g4 ~@3 a4 ~@3 a4, c3@2 [f2,a4] eb2, ~ g3@2 ~@2 g3@3 ~ a3@3 ~ a3@3, ~@2 c4@3 ~ c4@2 ~@2 c4@2 ~@2 c4@2", // F
  AL: "~@14 f4 ~, d3@5 d3@3, ~ a3@2 f4@2 a3@7 ~ a3@3, ~@2 c4@2 a4@2 c4@5 c4@5, ~@7 f4@6 ~@3",
  AM: "~@14 f4 ~, g2@5 g2@3, ~ g3@2 f4@2 g3@7 ~ g3@3, ~@2 bb3@2 g4@2 bb3@5 bb3@5, ~@7 f4@6 ~@3",
  AN: "~@3 g4@2 ~@2 g4 ~@3 eb4@2 ~@2 eb4, c3 f3, ~ bb3@3 ~ bb3@3 ~ g3@2 ~@2 g3@3, ~@2 eb4@3 ~ eb4@2 ~@2 bb3@3 ~ bb3@2",
  AO: "~@2 bb3@2 ~@9 f3@3, bb2, ~ f3@3 f4@2 bb3@4 f3@2 ~@4, ~@5 f3@2 f4@6 ~@3, ~@11 bb3@5",
  AP: "~@2 bb3@2 ~@9 g3@3, f3, ~ g3@3 eb4@2 bb3@4 g3@2 ~@4, ~@5 g3@2 eb4@6 ~@3, ~@11 bb3@5",
  AQ: "~@2 [g3,c4] ~ eb3 [g3,c4] ~ eb3 [g3,c4]@2 ~ g3@2 eb3 [g3,c4] ~, a2@9 ~ a2@4 ~@2", // C5
  AR: "~@3 bb4@2 bb3 [d4,bb4] ~@3 [bb3,gb4]!2 ~ [bb3,gb4]@2 g3, g2@7 ~ g2@8, bb4@2 d4@3 ~@11, ~ bb3@2 ~@6 g3@4 ~@3", // Gm Ebm
  AS: "~@2 [bb3,f4]!2 ~ [bb3,f4]@2 g3 ~@2 [bb3,e4]!2 ~ [bb3,e4]@2 g3, g2!2, ~ g3@4 ~@4 g3@4 ~@3", // Bb5 Bbdim
  AT: "~@3 [bb3,eb4]@2 ~@2 [bb3,eb4]@3 ~@4 eb4 ~, ~ c3@4 c3@5 c3@5 ~, ~@2 g3@2 ~@2 g3@5 g3@4 ~, ~@13 bb3@2 ~", // Eb5
  AU: "[~@3 bb3 [bb3,f4] ~ bb3 [bb3,f4]@3 ~ [bb3,f4] ~@2 [bb3,f4]@3 ~@2 bb3 [bb3,f4] ~@9 bb3@2, ~ bb2@16 bb2@9 ~ bb2@5, ~@2 f3@2 ~ f3@4 ~ f3@2 ~ f3@4 ~ f3@2 ~ f3@7 ~ f3@3, ~@23 f4@9, ~@23 bb3@6 ~@3]/2", // Bb5
  AV: "~@3 [g3,c4]@2 ~@2 [g3,c4]@3 ~@4 c4 ~, ~ a2@4 a2@5 a2@5 ~, ~@2 eb3@2 ~@2 eb3@5 eb3@4 ~, ~@13 g3@2 ~", // C5
  AW: "gb4 ~ c4 [c4,gb4]@2 ~ c4 [c4,gb4]@3 ~ c4 ~ a3 [c4,gb4]@2, d3@9 ~ d3@5 ~, ~ a3@2 ~@2 a3@3 ~@8", // Cdim
  AX: "~@2 [d4,bb4]!2 ~ [d4,bb4]@2 bb3 ~@2 [bb3,gb4] ~@2 [bb3,gb4] ~@2, g2 ~, ~ bb3@4 ~@11", // Gm Ebm
  AY: "[bb3,f4]@5 g3 [bb3,f4] ~@3 [bb3,e4]!2 ~ [bb3,e4]@2 g3, ~ g2, ~@9 g3@4 ~@3", // Bb5 Bbdim
  AZ: "~@3 [c4,a4]@2 ~@2 [c4,a4]@3 ~@4 a4 ~, ~ f2@4 f2@5 f2@5 ~, ~@2 a3@2 ~@2 a3@5 a3@4 ~, ~@13 c4@2 ~", // F
  BA: "~@2 [bb3,g4] ~@4 bb3, bb2@10 bb2@5 ~, ~@3 g3@2 ~ g3@6 ~ g3@3, ~@7 g4@9, ~@7 bb3@5 ~@4", // Eb
  BB: "~@3 gb4@2 ~@2 gb4 ~@6 gb4@2, bb2, ~ gb3@3 ~ gb3@5 gb3@2 ~ gb3@3, ~@2 bb3@9 bb3@5", BC: "[bb2,f3,bb3,d4,f4]",
})).s("gm_acoustic_guitar_nylon").gain(0.2).pan(0.2)

// chords · pad warm · "Warm Pad"
const pad_warm = note("<~@21 A@2 B C D E F G A@2 H C I E J K ~@17 L@2 M N I O G@2 P@2 H Q I E J R ~@6>".pickRestart({
  A: "[~@16 d4@15 ~, [f3,f4]@31 ~]/2", B: "~@4 c4@9 eb4@3, ~ g3@3", C: "~@3 a4@13, ~ c4@15, ~ gb4@7",
  D: "g4@8 ~@3 [gb4,g4]@5, ~ bb3", E: "~@3 [f4,g4]@5 e4@8, bb3 ~", F: "~@4 eb4@9 g4@3, ~ bb3@3",
  G: "~@3 bb3@5, ~ g4@7, ~ eb4@3", H: "~@3 eb4@13, ~ g3@15, ~ c4@7", I: "g4 gb4", J: "[bb3,g4]",
  K: "~@3 a4@13, ~ a3@15, ~ f4@7", L: "[~@4 bb3@21 ~@4 f4@3, ~@4 f4@9 ~@12 f3@7, ~@27 bb3@5]/2", M: "[g3,eb4]",
  N: "~@3 c4@5, ~ a4@7, ~ gb4@3", O: "~@3 [f4,g4]@5 ~@3 [e4,g4]@5, bb3!2",
  P: "[~@3 f4@25 d4@4, ~ f3@27 ~@4, ~ d4@9 ~@6]/2", Q: "[c4,a4]", R: "~@3 a3@5, ~ a4@7, ~ f4@3",
})).s("gm_pad_warm").gain(0.24).pan(0.2)

// other · string ensemble 1 · "Strings"
const string_ensemble_1 = note(`<
  A B@2 A ~@15 C D E@2 F G H I J K E@2 F G H I L K ~@7 M N@2 O P@2 Q ~ R Q E@2 F G H I S K E@2 F G H I L T A B@2 U@2 ~
>`.pickRestart({
  A: "d4", B: "eb4/2", C: "~@2 f4 bb4", D: "bb4@15 ~", E: "f4/2", F: "g4", G: "gb4", H: "g4 gb4", I: "f4 e4",
  J: "eb4@7 ~", K: "f4", L: "eb4", M: "~ bb4@3", N: "bb4/2", O: "~@2 g4 a4", P: "c5/2", Q: "bb4", R: "~@8 f4@4 bb4@3 ~",
  S: "eb4@15 ~", T: "f4@15 ~", U: "[d4@3 ~]/2",
})).s("gm_string_ensemble_1").gain(0.09).pan(0.7)

// chords · epiano2 · "Electric Piano 1"
const epiano2 = note(`<
  A B C D ~@17 E@2 F G H I J K L@2 M N O P Q R ~@17 S@2 T U V W X Y L@2 F U Z AA AB AC AD AE C AF ~@2
>`.pickRestart({
  A: "~@5 d5 ~ [bb4,c5], d4, bb4@13 d5@3, ~ f5, ~@6 c5 ~", B: "g4@4 f5 d5 ~ [bb4,c5], ~@6 c5 ~, ~@13 d5@3",
  C: "gb4@4 ~ f4 ~ eb4, ~ gb4, ~@3 f4", D: "~ eb4 ~ eb4 d4@4, d4!2 ~@2",
  E: "[[f3,bb3]@9 ~@9 bb3 ~@12 d4, bb2@29 f3 f4@2, d4@12 c4 f4@12 f3 d4 f4 bb4@4, f4@10 bb3@5 d4@6 c4@11, ~@9 f3@7 bb3 f3@2 bb3@13]/2", // Bb5
  F: "~ c4@2 eb4@2 ~@2 c4@2 ~@2 eb4@2 ~ c4@2, a2, g3@3 g3@2 g3@3, eb3@4 ~ eb3@4 eb3@3 ~ eb3@3",
  G: "~ gb4@2 a4@2 ~@2 gb4@2 ~@2 a4@2 ~ gb4@2, d3, c4@3 c4@2 c4@3, a3@4 ~ a3@4 a3@3 ~ a3@3",
  H: "[g2,d4,bb4]@7 bb3 [g2,bb3,gb4,g4]@7 g3, bb3@5 ~@3 g3@5 ~@3", // Gm
  I: "~@5 g2@3 ~@3 e4@2 g4 e4@2, [g3,bb3,f4,g4] g2, ~@9 g3@5 ~@2, ~@5 bb3@3", // Gm7
  J: "~@15 g4, c3, [bb3,eb4]@7 eb4, g3@12 ~ g3@3, ~@7 [g4,bb4,c5]@8 ~", // Eb5 C7
  K: "~@15 g4, f3, [bb3,eb4]@7 eb4, g3@12 ~ g3@3, ~@7 [g4,bb4,c5]@8 ~", // Eb5 C7
  L: "[~@2 bb2@11 ~@3 f4@12 [bb4,f5,bb5]@3 ~, [bb3,f4]@15 bb3@14 ~@3, f3@13 bb2@17 ~@2, ~@7 f3@8 ~]/2", // Bb5
  M: "~@15 eb4, a2, [g3,c4]@7 c4, eb3@12 ~ eb3@3, ~@7 [eb4,g4,a4]@8 ~", // C5 Am7b5
  N: "d3@9 ~@5 gb4 ~, [c4,gb4,a4]@13 c4@3, a3@11 a3@4 ~, ~@9 d3@6 ~", // Gbdim
  O: "bb3@2 ~@3 bb4@3 ~@6 g3@2, g2!2, [d4,bb4]@3 d4@5 ~@2 bb3@6, ~@2 bb3@6 ~ g3@4 g4@3, ~@11 gb4@5", // Gm
  P: "g3@2 ~@3 f4@3 g3@2 ~@3 e4@3, g2!2, [bb3,f4,g4]@3 bb3@5 [bb3,e4,g4]@3 bb3@5, ~ g3@3 ~ g3@3", // Gm7 Edim
  Q: "c3@9 ~@5 eb4 ~, [bb3,eb4,g4]@13 bb3@3, g3@11 g3@4 ~, ~@9 c3@6 ~", // Eb
  R: "~@14 a4!2, f2, [c4,a4]@7 ~, a3@12 ~ a3@3, ~@7 [c5,f5]@8 ~", // F F5
  S: "[~@15 f4, ~ bb2@6 f5@22 bb3@3, ~@2 f3@12 bb3@13 bb2@5, ~@3 bb3@3 bb4@26, ~ f4@6 f3]/2",
  T: "a2@9 ~@5 c4 ~, [g3,c4,eb4]@13 g3@3, eb3@11 eb3@4 ~, ~@9 a2@6 ~", // Cm
  U: "~@15 a4, d3, [c4,gb4]@7 gb4, a3@12 ~ a3@3, ~@7 [a4,c5,d5]@8 ~", // Cdim D7
  V: "[g2,d4,bb4]@7 bb3 ~@3 gb4@2 g4 gb4@2, bb3@5 ~@3 g2@8, ~@9 g3@5 ~@2, ~@5 bb3@3", // Gm
  W: "~@3 [bb3,f4,g4]@5 ~@3 [bb3,e4,g4]@5, g2!2, ~ g3@3 ~ g3@3", // Gm7 Edim
  X: "bb3@5 ~@6 g4@2 ~ c5 ~, c3@15 ~, c5@13 bb3@2 ~, [eb4,g4]@7 bb3@2 eb4@6 ~, ~@5 g3@10 ~", // Eb
  Y: "bb3@5 ~@6 g4@2 ~ c5 ~, f3@15 ~, c5@13 bb3@2 ~, [eb4,g4]@7 bb3@2 eb4@6 ~, ~@5 g3@10 ~", // Eb
  Z: "~@6 bb3@2 ~@3 g3 ~@2 [bb3,gb4,g4]@2, g2!2, ~ bb3@5 ~@3 [bb3,gb4,g4]@4 g3@3, ~ d4@3 ~@4, ~@3 bb4@5 ~@8", // Eb
  AA: "~@6 g3@2 ~@5 g2@3, g2 ~, ~ g3@4 g4@3 ~@8, ~ bb3@3 [g3,bb3,e4,g4]@4, ~@3 f4@5 ~@8", // Edim
  AB: "~ eb4@2 g4@2 ~@2 eb4@2 ~@2 g4@2 ~ eb4@2, c3, bb3@3 bb3@2 bb3@3, g3@4 ~ g3@4 g3@3 ~ g3@3",
  AC: "c4@5 ~@4 a4 ~ a4@2 ~ f5 ~, f2@15 ~, f5@13 ~@3, a4@7 c4@5 ~ c4@2 ~, ~@5 a3@10 ~",
  AD: "[d4,bb4]@4 ~ d5 ~ [bb4,c5], ~@4 f5@2 c5 ~, ~@13 d5@3", AE: "g4@4 ~ d5 ~ [bb4,c5], ~@4 f5@2 c5 ~, ~@13 d5@3",
  AF: "[f3,bb3,d4]", // Bb
})).s("gm_epiano2").gain(0.22).pan(0.8)

// other · string ensemble 2 · "3rd Strings"
const string_ensemble_2 = note(`<
  A@4 ~@15 B C D@2 E F G@2 C H D@2 E F I@3 J ~@7 K L@2 M N O ~@2 B P D@2 E Q G@2 P H D@2 E R I@3 S ~@6
>`.pickRestart({
  A: "[bb4@15 ~]/4", B: "~@2 g4 bb4", C: "g4@15 ~", D: "bb4/2", E: "c5", F: "a4", G: "[bb4@3 g4]/2", H: "bb4@15 ~",
  I: "[bb4 g4]/3", J: "f4", K: "~ eb5@3", L: "[d5@31 ~]/2", M: "~@2 eb4 d4", N: "c4@4 f4@3 eb4", O: "d4@3 ~",
  P: "g4@7 ~", Q: "a4@7 ~", R: "a4@15 ~", S: "f4@7 ~",
})).s("gm_string_ensemble_2").gain(0.09).pan(0.6)

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

// drums · rim
const rim = s("rim").struct("<~@4 A@7 ~ A@8 ~@17 A@7 ~ A@8 ~@17 A@4 ~@2>".pickRestart({
  A: "~ x ~ x",
})).gain(0.54)

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

// drums · low tom
const low_tom = s("lt").struct("<~@11 A ~@8 B ~@7 A ~@7 C ~@7 A ~@8 B ~@7 C ~@7 B ~@6>".pickRestart({
  A: "~@7 x", B: "~@14 x!2", C: "~@3 x",
})).gain(0.42)

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

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  ~@3 A B C B@5 D B@3 C B C E B F B@2 G H B@3 I B@3 E G B@2 J B C B@2 K C B I B@3 L B@2 M C F B@3 N B@3 J B O P Q B O M
  F B@4 ~@2
>`.pickRestart({
  A: "~@13 x ~@2", B: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x", C: "~@5 x ~ x ~ x ~@6", D: "~@5 x ~@2 x!2 ~@3 x ~ x",
  E: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~@2", F: "~ x ~ x ~@12", G: "~ x ~ x ~ x ~@3 x ~@3 x ~ x",
  H: "~ x ~@5 x ~ x ~ x ~@3 x", I: "~ x ~ x ~ x ~ x ~@7 x", J: "~ x ~@3 x ~ x ~@8", K: "~ x ~@3 x ~ x ~ x ~ x ~ x ~ x",
  L: "~@5 x ~@3 x ~@6", M: "~ x ~ x ~ x ~ x ~ x ~@3 x ~ x", N: "~ x ~@9 x ~ x ~ x", O: "~ x ~@5 x ~ x ~ x ~ x ~ x",
  P: "~ x ~ x ~ x ~@3 x ~ x ~ x ~ x", Q: "~ x ~@7 x ~ x ~@3 x",
})).gain(0.18)

// drums · mid tom
const mid_tom = s("mt").struct("<~@3 A ~@7 B ~@8 C ~@7 B ~@7 D ~@7 B ~@8 C ~@7 D ~@7 C ~@6>".pickRestart({
  A: "~@14 x!2", B: "~@11 x ~@4", C: "~@9 x!2 ~ x ~@3", D: "~ x ~@2",
})).gain(0.42)
// … 64 more lines

More by Kenny Rogers