Strudelify
Diamante cover art

Pop Ballads

Diamante

Randy Crawford

KeyF majorTempo120 bpm
0:00/0:00
// Diamante — Randy Crawford
// 120 bpm, 4/4, key F major. 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 129 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 27.
setcpm(120/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
const acoustic_guitar_steel = note(`<
  ~ A B C D E B C F G@2 H G I@2 J K C@2 L C M@2 C D N@2 O P N@2 O P Q R A B C D E B C F G@2 H G I@2 J K S@2 T S U@2 S D
  N@2 O P N@2 O P N@2 O P N@2 O P V@7 W A B C D E B S D N@2 O P N@2 O P N@2 O P N@2 O P V X W Y A B C D E B C@2 A B C D
  C D ~@4
>`.pickRestart({
  A: "[d4,g4]@3 [bb3,d4]@2 [bb3,d4,g4]!3, ~@3 g4 ~@4", B: "[bb3,d4,g4]@3 [bb3,d4,g4]@2 [bb3,d4,g4]!2 ~",
  C: "[a3,c4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4]!3", D: "[a3,c4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4]!2 ~",
  E: "[bb3,d4,g4]@3 [bb3,d4,g4]@2 [bb3,d4,g4]!3", F: "[bb3,d4,f4]@3 [bb3,d4,f4]@2 [bb3,d4,f4]!2 ~",
  G: "[a3,c4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4] [a3,c4,f4]@2", // F
  H: "[a3,c4,f4]@3 [g3,a3,c4,f4]@2 [g3,a3,c4,f4] [g3,a3,c4,f4]@2", // F
  I: "[bb3,d4,f4]@3 [bb3,d4,f4]@2 [bb3,d4,f4] [bb3,d4,f4]@2", // Bb
  J: "[a3,c4,f4]@6 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@3 ~", K: "~ [d4,f4,bb4]@2 [d4,f4,bb4]@2 [d4,f4,bb4]!2 ~",
  L: "[a3,c4,f4]@3 [g3,a3,c4,f4]@2 [g3,a3,c4,f4]!3", M: "[bb3,d4,f4]@3 [bb3,d4,f4]@2 [bb3,d4,f4]!3",
  N: "[g3,c4,e4]@3 [g3,c4,e4]@2 [g3,c4,e4]!3", O: "[f3,bb3,d4]@3 [f3,a3,c4]@2 [f3,a3,c4]!3",
  P: "[f3,a3,c4]@3 [f3,a3,c4]@2 [f3,a3,c4]!3", Q: "[f3,bb3,d4]@3 [f3,bb3,d4]@2 [f3,bb3,d4]!3",
  R: "[f3,bb3,d4]@2 [f3,bb3,d4]@2 [g3,c4,e4]@2 [g3,c4,e4] ~", S: "[a3,c4,f4]@2 [a3,c4,f4] [a3,c4,f4]@2 [a3,c4,f4]!3",
  T: "[a3,c4,f4]@2 [a3,c4,f4] [g3,a3,c4,f4]@2 [g3,a3,c4,f4]!3", // F
  U: "[bb3,d4,f4]@2 [bb3,d4,f4] [bb3,d4,f4]@2 [bb3,d4,f4]!3", V: "~@5 [f4,bb4,d5]!3", W: "~@5 [a4,d5,f5]!3",
  X: "~@5 [f4,bb4,d5] [g4,c5,e5]!2", Y: "~@5 [g4,c5,e5]!3",
})).s("gm_acoustic_guitar_steel").gain(0.15).pan(1)

// chords · synth strings 1
const synth_strings_1 = note(`<
  ~ A@2 B@2 A@2 C D ~@16 E@2 F@2 E@2 G@2 H@2 A@2 B@2 A@2 C D ~@16 E@2 F@2 E@2 G@2 E@2 G@2 E@2 G@2 I@4 J@3 K ~@2 B@2 A@2
  B@2 E@2 F@2 E@2 G@2 E@2 G@2 E@2 G@2 L@2 M@2 A@2 B@2 A@2 B@2 A@2 B@4 N@3 ~
>`.pickRestart({
  A: "[g3,bb3,d4]/2", B: "[[f3,a3,c4]@31 ~]/2", C: "[f3,a3,c4]", D: "[f3,bb3,d4]", E: "[g3,c4,e4]/2",
  F: "[[f3,bb3,d4]@3 [f3,a3,c4]@13]/2", G: "[[bb3,d4,f4]@3 [a3,c4,f4]@13]/2", H: "[[f3,bb3,d4]@23 ~ [g3,c4,e4]@8]/2",
  I: "bb2/4", J: "bb2/3", K: "c3 d3", L: "[[f3,bb3,d4]@7 [g3,c4,e4]]/2", M: "[[a3,d4,f4]@3 [g3,c4,e4]]/2",
  N: "[[f3,a3,c4]@11 ~]/3", // F
})).s("gm_synth_strings_1").gain(0.09)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  ~ A@6 B@4 ~ C@7 ~ D@5 ~@3 E@3 ~ F G@4 H@8 ~ I@3 ~ J@3 K@4 ~@13 L@3 ~@3 M@6 ~@3 N O@3 ~ P@7 ~ Q@4 ~@4 R@5 S@4 T@2 U V@8
  W@2 ~
>`.pickRestart({
  A: "[~@16 d3@2 ~@4 bb3@4 ~@4 f4@2 e4 ~@62 a4, g3@10 a3@3 bb3@6 c4@12 d3@4 c5@2 a4@7 c5@3 bb4, ~ bb3@4 f4@4 d3@9 a3@7 c3@7 g3@16, ~@2 d4@14 f4@10 f3@7 bb3@15, ~@6 a4@27 e4@21 g3@4 a3@10 d4@28]/6",
  B: "[~ [a3,c4], [a4,bb4]@31 [f3,g3]@32 ~, ~@3 c4@13 ~@16, ~@9 f3@5 bb3@16 ~@2, ~@10 bb3 d4@16 ~@5]/4", // Am Bbmaj7 Fsus2
  C: "[~@16 d4@31 ~@33 c4@32, ~@6 c4@32 ~@9 c4@23 d4@32 ~@10, ~@7 f4@32 ~@8 bb3@21 bb3@32 ~@12, ~@4 a4@3 a4@16 ~@10 f3@16 ~@7, ~@12 g4@32 ~@4 a3@31 [g3,a3]@32 ~]/7", // Gsus2
  D: "[a4@4 ~@12 f4@6 ~@26 a3@31 ~, c4@11 f4@16 ~@13, f4@12 f4@2 g4@32 ~ [c4,d4]@32 ~, ~@2 a4@3 a4@16 ~@19, ~@3 c5@16 ~@21]/5", // Csus2
  E: "[~@5 a3@16 ~@3, ~ a3@4 ~@19, ~ c3@8 ~@3, ~@3 g3@16 ~@5]/3", F: "~@7 a4",
  G: "[~@21 f4@10 f4, a4@8 f4@9 bb3@15, ~@4 g4@9 f4 g4@22 d4@28, ~@3 bb4@13 g3@16, ~@6 d4@6 e4@7 a4@13]/4",
  H: "[~@3 [a3,c4], e4@26 a3@8 bb3@30 a4@31 [f3,g3]@32 ~, ~@2 g3@8 f3 g3@3 f3@4 d4@16 ~ c4@13 ~@16, ~@3 c4@12 d3@4 c5@2 a4@7 c5@13 f3@2 d4@16 ~@5, ~@9 c3@7 g3@15 bb4@11 bb3@16 ~@6]/8", // Am Fsus2
  I: "[~ f4@2, ~ c4@4 f4 c4@16 ~@2, ~ f4@3 a4@16 ~@4, ~ a4@2 bb4@16 ~@5, ~ c5@8 ~@3]/3",
  J: "[~ a4@2, ~ bb3 g4@8 ~@2, ~@5 c4@4 bb4 d5@32 ~@6, ~@3 d4@3 c5@16 ~@2, ~@7 f4@7 bb4@32 ~@2]/3",
  K: "[~@8 c5 ~@5 f4@16 ~@2, ~@15 c6@10 g4@32 ~@7, ~@18 g5@8 f4 c4@32 ~@5, ~@19 c5@2 c5@2 g4 c5@32 ~@8, ~@10 f5 f5@16 ~@5]/4",
  L: "[~@5 c5 ~ g4@16 ~, ~ g4@2 g4@3 g4 ~@17, ~@3 a4@32 ~@13, ~@4 c5@6 ~@3 c5@32 ~@3, ~ f4@4 ~]/3",
  M: "[~@2 c5 ~@4 a4 ~@23 d5@16 ~, ~@2 a4@3 ~ c5@22 c5@31 f5@32 ~@5, ~@3 bb4@18 g4@11 g5@32 ~@32, ~@16 a4@13 d5 f5 d5@29 c5@32 ~@4, ~@11 bb4@6 f5@11 e5@16 ~@4]/6",
  N: "~@15 [g3,a3], ~@7 f3", // Gsus2
  O: "[[g3,a3]!2 [a3,c4]!2 [c4,d4]!2 [d4,f4]!2 [f4,g4]!2 [g4,a4]!2 a4 [a4,c5] [c5,d5]!2 f5 [d5,f5]@31, f3 d4 c5@4, ~ g3@4 f4@16 ~@3, ~ a3@2 g4@8 ~, ~@3 c4@4 a4@16 ~]/3", // Gsus2 Am Csus2 Dm Fsus2 Gsus2 Am Csus2 …
  P: "[~@5 e4@2, ~ c3@4 c4 d4@13 c4@16 ~@4 f4@16 ~, ~@2 g3@5 f4@15 d4@16 a4@16 ~@2, ~@3 a3@5 e4@3 c4@3 g4@10 bb3@16 ~@16, ~@4 bb3@11 c4 e4@11 a3@16 ~@13]/7",
  Q: "[~@2 a4@2 a4 ~ g4@2 g4 ~ f4@2 f4 ~@9 c4@32 ~@10, ~ bb4@3 d4@8 ~@4, ~@5 a4@3 a4@32 ~@24, ~@9 g4@4 [f4,g4]@32 ~@19, ~@7 e4@16 ~@9]/4", // Fsus2
  R: "[~@11 d5@5, ~ g5@2 c5@2 f5@9 c4@28 a3@4 [f4,g4]@5 f5@29, ~@2 f5@2 g5@9 f4@31 [c4,d4]@4 d5 e5@31, ~@6 c5@2 c5@32 ~ g3@4 e4@4 f5 g5@30, ~@7 f4@2 g4 f4 c4 g4@31 bb3@4 [a4,bb4]@6 c5@27]/5", // Fsus2 Csus2 Bbmaj7
  S: "[~@19 c4@13, g3@10 a3 bb3@16 ~@5, ~ bb3@4 f4@4 d3@9 a3@14, ~@2 d4@13 f4@16 ~, ~@3 a4@13 e4@16]/4",
  T: "[~@31 a4, g3@15 bb4, ~ bb3@15, ~ d4@7, ~@3 c5@2 a4@7 c5@4]/2", U: "~@3 c4@5, [a4,bb4]",
  V: "[~@4 c4 ~@3 c4 ~@3 c4 ~@99 [g4,a4]@16, ~@5 [c4,d4]@4 [c4,d4]@4 d4@5 bb3@4 c5@4 a4@10 a3@10 bb4@32 ~ [f4,g4]@32 f4@17, ~@3 a3@2 a3@2 c4@10 d3@7 a4@15 a4@15 a3@10, ~@7 a3@3 d4@10 c5@15 g3@5 c4@15 c4@9, ~@8 g3@11 bb3@8 g3@3 a3@8 a3@5 g3@3 a3@5 g3@13]/8", // Gsus2 Csus2 Fsus2
  W: "[~@2 g4@5 ~, ~ c4@13 ~@2, ~@5 f4@23 ~@4]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.21).pan(0.7)

// chords · acoustic guitar nylon · soft notes
const acoustic_guitar_nylon_2 = note("<~@76 A ~@8 B C ~@39 D@2 ~>".pickRestart({
  A: "~@5 a4@9 ~@2", B: "~@13 [f3,g3] a3@2", C: "c4!2 d4!2 f4!2 g4!2 a4!2 c5!2 [c5,d5] d5 f5@2",
  D: "[~@11 a4@17 ~@4]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.09).pan(0.7)

// other · kalimba
const kalimba = note("<~@75 A B C D B C D E ~@46>".pickRestart({
  A: "~@5 d3 c4 a3 c4 ~ a3 g3 f3 ~@3", B: "~ d3 c4 a3 c4 ~ a3 g3 f3 ~@4 d3 c4 a3",
  C: "c4 ~ a3 g3 f3 ~@4 d3 c4 a3 c4 ~ a3 g3", D: "f3 ~@4 d3 c4 a3 c4 ~ a3 g3 f3 ~@3", E: "~ d3 c4 a3 c4 ~ a3 g3 f3 ~@7",
})).s("gm_kalimba").gain(0.11)

// other · pad metallic
const pad_metallic = note("<~@79 A B ~@44 C@4>".pickRestart({
  A: "c5", B: "d5", C: "[c5@49 ~@15]/4",
})).s("gm_pad_metallic").gain(0.29).pan(0.6)

// chords · electric guitar clean
const electric_guitar_clean = note("<~@26 A@5 B@4 ~@25 C@8 A@5 D@4 ~@13 E@2 F@8 G@8 ~@2 H ~@12 I J@3 ~@2>".pickRestart({
  A: "[~@4 g3@8 ~@3 [f3,bb3]@6 f3@19 ~ a3@6 [g3,c4]@16 c4@11 ~@5 f3, ~@40 g3@7 ~@16 g3@7 ~@10]/5", // Bb5 C5
  B: "[~@5 f3@9 ~ [f3,a3]@16 [f3,bb3]@16 f3@8 [g3,c4]@8 ~]/4", // F Bb5 C5
  C: "[~@4 g3@8 ~@3 [f3,bb3]@6 f3@19 ~ a3@6 [g3,c4]@16 c4@11 ~@5 f3@6 f3@9 ~ a3@16 g3@15 ~@2, ~@40 g3@7 ~@16 g3@7 ~@25 f3@32 ~]/8", // Bb5 C5
  D: "[~@5 f3@9 ~ [f3,a3]@16 ~ [f3,bb3,d4]@18 ~@14, ~@31 d3@18 ~@15]/4", E: "[~@15 g3@15 ~@2, ~@7 [a3,c4,f4] ~@8]/2",
  F: "[~@4 g3@8 ~@3 [f3,bb3]@6 f3@19 ~ a3@6 [g3,c4]@16 c4@11 ~@5 f3@6 f3@9 ~ f3@32 ~, ~@40 g3@7 ~@16 g3@7 ~@25 a3@16 ~@17]/8", // Bb5 C5
  G: "[~@4 g3@8 ~@3 [f3,bb3]@6 f3@19 ~ a3@6 [g3,c4]@16 c4@11 ~@5 f3@6 f3@9 ~ f3@30 ~@3, ~@40 g3@7 ~@16 g3@7 ~@25 a3@16 ~@17]/8", // Bb5 C5
  H: "~ [c4,e4], ~@7 g3@8 ~", I: "~@2 c4 bb3@3 ~@2, ~ a3@2 ~@5",
  J: "[~@4 c4@2 bb3@6 ~@4 f4@19 ~@13, ~ a3@2 ~@4 f3 ~@16, ~@15 [a3,c4]@20 ~@13]/3", // Am
})).s("gm_electric_guitar_clean").gain(0.11).pan(0.1)

// chords · french horn
const french_horn = note(`<
  ~@2 A B@2 C@3 D E@4 F@2 G D E@4 F@2 H@2 I@2 J@2 I@2 J@2 K@2 L@2 H@2 M@2 N O E@4 F@2 G D P@4 Q@2 H@2 I@2 J@2 I@2 J@2
  I@2 J@2 I@2 J@2 R@4 S@3 T U@2 B@2 U@2 V@2 W@2 X@2 W@2 X@2 W@2 X@2 W@2 X@2 Y@2 Z@2 L@2 H@2 L@2 H@2 L@2 H@4 AA@3 ~
>`.pickRestart({
  A: "[bb3,d4,f4]", B: "[f4@11 g4@3 f4@2, [a3,c4]]/2", C: "[[bb3,d4]@2 [a3,c4], f4]/3", D: "[f3,bb3,d4]",
  E: "[~@19 g3@5 ~@8, [f3,a3,c4]]/4", F: "[f3,bb3,d4]/2", G: "[f3,a3,c4]", H: "[f3,a3,c4]/2", I: "[g3,c4,e4]/2",
  J: "[[f3,bb3,d4]@3 [f3,a3,c4]@13]/2", K: "[[f3,bb3,d4]@3 [g3,c4,e4]]/2", L: "[g3,bb3,d4]/2",
  M: "[~@2 e4 f4, [g3,bb3,d4]]/2", N: "[a3,c4,f4]", O: "[g3,bb3,d4]",
  P: "[~@19 g3@5 ~@2 f4@2 e4@3 c4, [f3,a3], c4@31 ~]/4", Q: "[~ c4, [f3,bb3,d4]]/2", R: "[f3,bb3,c4,d4]/4",
  S: "[f3,bb3,c4,d4]/3", T: "[g3,c4,e4] [a3,d4,f4]", U: "[~@2 a4 g4, [bb3,d4,f4]]/2", V: "[a3,c4,f4]/2",
  W: "[c4,e4,g4]/2", X: "[[bb3,d4,f4]@3 [a3,c4,f4]@13]/2", Y: "[[f3,bb3,c4,d4]@7 [g3,c4,e4]]/2",
  Z: "[[a3,d4,f4]@3 [g3,c4,e4]]/2", AA: "[[a3,c4,f4]@11 ~]/3",
})).s("gm_french_horn").gain(0.18).pan(0.7)

// bass · electric bass finger
const bass = note(`<
  ~ A@2 B C D A B E B F B@2 G H I J F K F B L@2 F M N O P Q N@2 R S T U D V B W D A B J B X B Y Z AA AB J B AC B AD AE
  AF B@2 N AG AH AI N AG AJ AI N AK AL AI N AG AM AN AO@4 AP@3 AQ D A B W D AR B AS N AG AH AT N AG AJ AI N AK AJ AI N
  AG AM AN AU@2 AV@2 D AW B W D AX B AY D AX AZ@3 BA BB@3 ~
>`.pickRestart({
  A: "g1@6 d1@5 ~ d1@4", B: "f1@6 c2@5 ~ c2@4", C: "f1@3 c1@3 f1 gb1", D: "g1@3 d2@3 d2@2", E: "c1@6 c2@5 ~ c2@4",
  F: "f1@3 c2@3 c1@2", G: "bb1@3 f2@3 f1@2", H: "bb1@3 f2@3 c2@2", I: "f1@3 c2@3 f1@2", J: "c2@3 c2@3 c2@2",
  K: "f1@3 c2@3 f2 c2", L: "bb1@3 f2@3 f2@2", M: "f1@3 c2@3 c2 a1", N: "c2@3 c2@3 g1@2", O: "c2@3 c2 c2@2 g1@2",
  P: "bb1@3 f1@4 e1", Q: "f1@3 c2 c2@2 f1@2", R: "bb1@3 f1@3 c1@2", S: "f1@3 f1@3 c2 b1", T: "bb1@5 ~ bb1@6 f1@4",
  U: "bb1 c2", V: "g1@3 d1@2 d2 d1@2", W: "f1@3 d2 c2 bb1 a1 f1", X: "f1@3 c2@3 f2@2", Y: "f1@3 c2@3 f1 c2",
  Z: "bb1@3 bb1@3 bb1 f1", AA: "bb1@3 bb1@3 g1 c2", AB: "f1@3 c2@3 c2 ~", AC: "f1@3 c2@3 c1 g1", AD: "f1@3 c2@3 c2 f1",
  AE: "bb1@5 ~ bb1@8 f1@2", AF: "bb1@3 bb1@3 bb1 c2", AG: "c2@3 c2@3 g1 c2", AH: "bb1@3 f1@5",
  AI: "f1@5 ~ f1@6 a1@2 bb1@2", AJ: "bb1@6 f1@7 ~ c1@2", AK: "c2@5 ~ c2@4 c2@2 g1@2 c2@2", AL: "bb1@5 ~ f1@8 c2@2",
  AM: "bb1@6 f1@9 ~", AN: "f1@3 f1@3 c2 g1", AO: "bb1/4", AP: "bb1/3", AQ: "c2 d2", AR: "g1@6 d1@5 ~ a1@4",
  AS: "f1@6 c1@5 ~ a1@2 bb1@2", AT: "f1@3 f1@3 f1 bb1", AU: "[bb1@7 c2]/2", AV: "[d2@3 c2]/2", AW: "g1@3 d1@2 d1 g1 d1",
  AX: "g1@3 d1@3 g1@2", AY: "f1@5 ~ f1@5 ~ f1@2 gb1@2", AZ: "f1@7 f1", BA: "f1", BB: "[f1@7 ~]/3",
})).s("gm_electric_bass_finger").gain(0.48)

// other · lead 2 sawtooth
const lead_2_sawtooth = note("<~@82 A B C D E F G@2 H I ~@37>".pickRestart({
  A: "~ g3 a3 bb3 c4 d4 e4 f4 g4 a4 bb4 c5 d5 [e5,f5] g5 a5", B: "bb5 c6 d6@2 ~ d6 ~ d6@2 c6@7", C: "~@4 a5 c6 d6!2",
  D: "c6@6 a5@8 g5 f5", E: "d5@2 c5@5 ~", F: "a5@2 bb5@2 a5@2 bb5 ~ c6@4 c6@4, ~@8 b5 ~@7",
  G: "[c6@10 ~@2 e6@10 f6 d6 c6@5 ~ [ab5,a5] g5]/2", H: "~ c5@13 d5 a4", I: "c5@7 ~@9",
})).s("gm_lead_2_sawtooth").gain(0.46)

// drums · kick
const kick = s("bd").struct("<~ [x ~@6 x]!124 x ~@3>").gain(0.4)

// drums · rim
const rim = s("rim").struct("<~ [~@2 x ~@2 x ~ x]!124 ~@4>").gain(0.3)

// drums · pedal hat
const pedal_hat = s("hh").struct("<~ [~ x]!124 ~@4>").gain(0.3)

// drums · crash
const crash = s("cr").struct(`<
  ~ A ~@2 A ~ B C ~@2 A ~@3 A ~ A ~@4 A ~@2 D E A ~ A ~ A ~@2 A F A ~@2 A ~ B C ~@2 A ~@3 A ~ A ~ A@2 ~ A ~@2 D E A ~ A
  ~ A ~@2 A@2 ~ A ~ A ~@2 A@8 ~ A ~@3 A ~ A E A ~ A ~ A ~@2 A@2 ~ A ~ A ~@3 D ~@2 A ~@2 A ~ B C ~ A ~@2 A ~ B ~@4
>`.pickRestart({
  A: "~@3 x", B: "x", C: "~@3 x ~@4", D: "~ x ~@6", E: "x ~@2 x", F: "~ x",
})).gain(0.2)

// drums · ride
const ride = s("rd").struct(`<
  A B@7 C D E@4 F E G D F E H E I@2 J E I K L M I K N E H B@7 C D E@4 F E G D F E O E I@2 J E I K L M I K N D I K L M I
  K N E L E L F L F L D E@4 F E G E I K L M I K N D I K L M I K N P Q R S B@7 C B@5 T U ~@3
>`.pickRestart({
  A: "~@14 x!2", B: "x ~@2 x ~ x!2 ~", C: "~ x!2 ~ x!3 ~", D: "x ~@2 x!2 ~@3", E: "~@3 x!2 ~@3", F: "~ x ~ x!2 ~@3",
  G: "~ x ~ x!2 ~ x ~", H: "~@6 x!3 ~@7", I: "~@3 x!3 ~@2", J: "x!3 ~ x!3 ~", K: "~@3 x!2 ~ x ~", L: "~ x ~ x!3 ~@2",
  M: "~@3 x!2 ~@2 x", N: "~ x ~ x ~ x!2 ~", O: "~@2 x!3 ~@3 x!3 ~@5", P: "x!2 ~ x ~ x ~ x", Q: "x ~@4 x ~ x",
  R: "x ~@2 x ~ x ~ x", S: "x ~ x ~@5 x ~@5 x!2", T: "x ~@5 x ~@3 x ~@3 x!2", U: "x",
})).gain(0.25)

// drums · congas
const congas = s("conga:18").struct("<~ [~ x!2 ~ x!2 ~@2]!124 ~@4>").gain(1.27)

// drums · shaker
const shaker = s("sh").struct("<~ [~@2 x ~@2 x!3]!124 x ~@3>").gain(0.25)

stack(
  acoustic_guitar_steel, synth_strings_1, acoustic_guitar_nylon, acoustic_guitar_nylon_2, kalimba, pad_metallic,
  electric_guitar_clean, french_horn, bass, lead_2_sawtooth, kick, rim, pedal_hat, crash, ride, congas, shaker
)

More by Randy Crawford