Strudelify

Feel So High

Des'ree

KeyC majorTempo81 bpm
0:00/0:00
// Feel So High — Des'ree
// 81 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 82 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(81/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.

// chords · piano · "A.PIANO 2"
const piano = note(`<
  A B C D E ~@11 F ~@2 G@2 H I J K L M N O ~@4 P Q@2 R S T U V W@2 X@2 Y@2 Z AA AB@2 AC AD AE AF AG AH AE AF AG AH AE AF
  AG AI@2 AJ AG AH AE AF AK AL@2 AJ AM AH AE AF AK AN@2
>`.pickRestart({
  A: "~@14 c4 d4", B: "[c3,g3,c4,e4]@18 [g2,g3,b3,d4]@27 c4@2 ~",
  C: "[g3,d4]@9 [g3,c4]@9 ~@27 c4@2 ~, a#2@18 [f2,g3,c4]@29 ~, ~@36 f4@11 ~, ~@39 e4@8 ~, ~@42 d4@5 ~", // G5 C5 Fsus2
  D: "~@3 [c5,e5]@2 c4 ~@8 g3@2, [c3,g3,c4,e4]@3 [g2,b3,g4]@5, ~@3 d4@3 c4@2, ~@11 g3@2 d4@3", E: "[a#2,c5,f5,g5,c6]",
  F: "~@15 c5@32 ~, a#3@23 ~, ~@6 c4@41 ~, ~@9 f4@38 ~, ~@12 g4@35 ~",
  G: "[~@3 [a3,c4,e4,g4]@3 [b3,d4,e4,g4]@9 ~ [f4,c5]@15 ~, ~@15 d5@16 ~]/2", // Am7 Em7 F5
  H: "[c3,g3,c4,e4]@18 ~@27 g3@2 ~, ~@18 [g2,d4]@29 ~, ~@18 [g3,a3]@18 g3@6 b3@5 ~, ~@30 g4@17 ~, ~@39 a3@8 ~", // C G5 Gsus2
  I: "[d2,f3]@9 ~@6 f3@3 f3@12 f3@6 ~@9 f3@2 ~, [a3,d4]@18 [a3,c4]@29 ~, ~@9 f3@6 ~@21 f3@6 f2@5 ~, ~@12 d2@6 f2@21 f4@8 ~", // Dm D5 Am
  J: "[c3,g3,c4,e4]@18 g3@9 ~@18 g2@2 ~, ~@18 [g2,b3]@24 g3@5 ~, ~@18 [a3,d4]@18 g3@3 a3@8 ~, ~@27 g3@9 d4@11 ~, ~@30 g4@17 ~", // C G D5
  K: "a#2@3 ~@4 a#3, f3@13 d4@3, c4@11 d4 [c4,f4]@4, d4@9 d4 a#4@6, ~@3 a#2@5", // F5
  L: "c4@9 [c4,d4,g4]@6 c3@2 ~ [g2,g3]@12 ~@3 g3@3 ~@9 g2@2 ~, [c3,g3,e4]@17 ~ b3@29 ~, ~@18 [a3,d4]@18 d4@11 ~, ~@30 g2@12 g3@5 ~, ~@36 g3@3 a3@8 ~", // Csus2 G C D5
  M: "~@15 d3@3 f3@12 ~@12 f4@5 ~, [d2,a3,c4,f4]@18 [f2,c4]@21 a3@8 ~, ~@18 a3@18 g3@11 ~, ~@30 f3@17 ~, ~@33 c3@14 ~", // Dm7 F5
  N: "c4@9 [c4,d4,g4]@6 c3@3 g3@12 ~@15 g2@2 ~, [c3,g3,e4]@18 d4@29 ~, ~@18 [g2,a3]@15 g2@9 g3@5 ~, ~@30 g3@6 a3@11 ~, ~@36 g3@3 g4@8 ~", // Csus2 C Gsus2
  O: "[a#2,f3,c4,d4]@17 ~ [a#2,a#3,c4,f4]@27 ~@3", // A# A#sus2
  P: "~@9 [e4,g4,c5]@8 ~ [e3,g3,b3,e4,g4,b4]@30, [e3,g3,c4]@17 ~@31, ~@9 b4@2 ~@37", // C Em C
  Q: "[~@9 [d4,f4,a#4]@8 ~ [d3,f3,a3]@29 ~@10 [e4,g4,c5]@8 ~ [e3,g3,b3,e4,g4,b4]@29 ~, [d3,f3,a#3]@8 ~ [d4,f4,a4]@18 ~@21, ~@48 [e3,g3,c4]@17 ~@31]/2", // A# Dm C Em A# Dm C
  R: "[c4,f4]@5 ~@3 f4@6 ~@2, [f3,a#3]@43 ~@5, ~@15 f4@6 a#4@22 ~@5, ~@3 c4@4 ~", // F5 A#5
  S: "~@9 d4@6 c4@3 d4@3 e4@15 [a2,g3,c4,e4]@11 ~, [d2,f3,a3,c4]@18 [d2,f3,a3]@19 ~@11, ~ e4@2 ~@5", // Am7 Dm7 Dm
  T: "g3@15 ~@3 g2@3 g3@9 ~@3 g2@2 ~ [g3,c4,e4]@11 ~, [g2,b3,d4]@21 [g2,b3,d4]@14 ~@13, ~@15 g3@6 ~@9 g3@5 ~@13", // C G
  U: "f2@18 ~@6 a3@6 [a3,c4,f4]@6 g3@6 ~@3 f2@2 ~, [c4,f4]@30 ~@6 [c4,e4]@11 ~, a3@24 ~@18 g3@5 ~, ~@6 f2@9 ~", // F F5 C
  V: "[g2,g3,b3,d4]@18 [g2,g3,b3,d4]@9 ~@3 [g3,b3,d4]@6 ~@6 g2@5 ~, ~@9 g2@3 [g3,c4,e4]@4", // G C
  W: "[~@3 d5@3 ~@3 d4@6 c4@2 ~ f3@12 ~@3 d3@3 ~@9 d5@3 ~@30 c4@3 d4@2 ~@10 e3@2 ~, g5@47 ~@4 d5@6 [g3,b3,d4,d5]@6 [d3,d5]@18 g4@9 g4@5 ~, d2@30 f3@6 ~@12 [g3,b3,d4,g5]@12 g5@25 ~@2 e5@9, [d3,f3,a3]@6 e4@11 ~ [d3,a3,c4,e4]@18 [a2,g3,c4,e4]@12 g2@34 ~@2 [e2,g3,c4,e4,d5]@11 ~, c4@6 g4@33 ~@3 g4@12 g4@12 [g3,b3,d4,g4]@16 ~@14]/2", // G D G Dm Am Am7 C G
  X: "[[f3,a3,c4]@2 ~@12 c6 ~ [a3,c4,e4,g4,g6]@16, f2, ~@6 e5@24 f5@3 f3@62 ~, ~@3 [f3,g5]@2 c3@6 g5 a3 g5@18 ~, ~@3 [a3,c4] g4@2 [a3,c4,e4]@3 c5@4 c4 e4 c6@16 ~]/2", // F Am7 Fsus2 Am
  Y: "[~@22 g4@4 ~@3 g4@3, c6@30 c6@15 c5@31 ~@2 c5@15 ~@3, ~@9 g5@30 g5@18 g5@19 ~@20, ~@3 g4@8 ~@5, ~@12 c6@7 ~@5]/2",
  Z: "~@13 g5@3, c5@23 ~, ~@9 g5@28 ~@11, ~@9 g4@14 ~, ~@15 c6@8 ~",
  AA: "~@15 c5, [g5,c6]@23 ~, [g4,c5]@5 g4@2 g4, ~@9 f4@4 f4@3, ~@11 c5@4 ~", // C5
  AB: "[~@10 c5@3 c5@2 ~@7 g4@4 g4@2 g4 g4@3, c6@45 c5@50 ~, ~@9 g5@48 g5@38 ~, ~@3 g4@8 ~@5, ~@48 c6@47 ~]/2",
  AC: "~@3 g5@2 c5 ~@7 g4@3, c6@47 ~, ~@18 g5@29 ~, ~@30 c5@17 ~", AD: "[g4,c5,f5] ~",
  AE: "[e3,g3,c4]@3 ~@4 g4, ~@3 [e3,g3,b3]@5, ~@9 g4@4 b4@3, ~@5 d5@3", // C Em
  AF: "[d3,f3,a#3]@6 ~@7 a4 ~ f5, ~@3 [d3,f3,a3]@5, ~@9 a4@2 [a4,f5]@3 ~@2, ~@5 d5!2 [d5,a5]", // A# Dm D5
  AG: "[e3,g3,c4]@9 ~@12 g4@2 ~, ~@3 [e3,g3,b3]@5, ~@30 g4@9 b4@7 ~@2, ~@33 d5@13 ~@2", // C Em
  AH: "f4@5 ~@3 f4@7 ~, [f3,a#3,c4], ~@5 f4@2 c5@8 ~, ~@9 g4@14 ~", // Fsus4
  AI: "[f4@15 ~@9 f4@18 a5 ~@2 [d5,b5] ~@2 [e5,g5,c6]@7 ~@2 [c5,e5,a5]@7 ~@2 [b4,d5]@24 b4@3 d5@2 ~, [f3,a#3,c4]@8 [e3,g3,c4]@3 [e3,g3,b3,g5]@5, ~@5 f4@2 c5@7 c5@5 ~@13, ~@9 g4@14 ~@25]/2", // G C Am Bm Fsus4 C Em
  AJ: "[a#4,d5,f5]@8 ~ [a#4,c5,f5]@8 ~ a4@10 ~@2 a4@4 ~@2 c5@3 d5@3 a4 ~@5, [d3,f3,a#3]@3 [d3,f3,a3]@5, ~@18 [c5,f5]@16 ~@2 [a4,f5]@7 ~@5", // A# A#sus2 A# Dm F5 Dm
  AK: "[e5,a5,c6]@8 ~ [e5,a5,d6]@7 ~@26 g4@4 ~@2, [e3,g3,c4]@3 [e3,g3,b3]@5, ~@18 [e5,g5,b5]@21 b4@7 ~@2, ~@15 g4@5 ~@4, ~@33 d5@13 ~@2", // Am Dsus2 C Em
  AL: "[[f4,c5,f5,a#5]@15 ~@9 f4@18 a5@3 [d5,b5]@3 [e5,g5,c6]@7 ~@2 [c5,e5,a5]@7 ~@2 [b4,d5]@24 b4@3 d5@2 ~, [f3,a#3,c4]@8 [e3,g3,c4]@3 [e3,g3,b3,g5]@5, ~@5 f4@2 c5@7 c5@5 ~@13, ~@9 g4@14 ~@25]/2", // Fsus4 G C Am Bm Fsus4 C Em
  AM: "[e5,a5,c6]@8 ~ [e5,a5,d6]@7 ~@2 [e5,g5,b5]@8 ~ [d5,g5,a5] ~@2 c5 ~@11 g4@4 ~@2, [e3,g3,c4]@3 [e3,g3,b3]@5, ~@10 [g4,b4,e5,g5]@3 b4@3, ~@33 d5@13 ~@2", // Am Dsus2 Em Dsus4 C Em
  AN: "[[f4,c5,f5,a#5]@5 ~@3 f4@6 a5 [d5,b5] ~@16, [f3,a#3,c4] ~, ~@5 f4@2 c5@7 c5@7 ~@11, ~@9 g4@14 ~@25]/2", // Fsus4 G Fsus4
})).s("gm_piano").gain(0.54).pan(0.4)

// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
  ~@16 A B C D E F G H I F G H J K L@2 M K L@2 N O P Q R S T U V ~@8 W X Y Z AA AB AC AD W X Y Z AA AB AC AD W X Y Z AA
  AB AC AD W X Y Z ~
>`.pickRestart({
  A: "~@15 g1", B: "a1@3 e1@5", C: "g1@17 ~ d1@12 d2@15 g1@3", D: "a1@17 ~ e1@30", E: "a#1@15 c2",
  F: "c1@9 c2@5 ~ c1@2 ~ g1@15 d2@3 g2@9 d2@3", G: "d1@9 d2@6 d1@2 ~ f1@18 f2@3 e2@3 ~@3 d2@3",
  H: "c1@8 ~ c2@6 c1@2 ~ g1@15 d2@2 ~ g2@7 ~@2 d2 ~@2", I: "a#1@14 ~@4 a#1@6 f1@6 a#1@3 c2@3 a#1@7 ~@2 a#1@2 ~",
  J: "a#1@14 ~@4 a#1@18 f1@3 a1@3 a#1@6", K: "a1@15 a2@3 e2@3 a1@3 e1@9 e2@12 e1@2 ~",
  L: "[g1@15 g2@3 d2@3 g1@3 d1@9 d2@5 ~ d1@6 a1@18 a2@3 e2@3 a1@3 e1@9 e2@11 ~ f1@3]/2", M: "a#1@5 f2 ~ a#1 a#2@7 a#1",
  N: "a#1@21 f1@3 a#1@7 ~@2 a#1 ~@2 a#1@12", O: "d1@5 d2 d1@6 a1@4", P: "g1@5 d2 g2@5 g1 e1@4",
  Q: "f1@6 ~@3 f1@7 ~@2 f1@18 a1@12", R: "g1@7 ~@2 g1@5 ~@4 g1@10 ~@2 g1@3 f1@3 g1@3 a1@3 c2@6",
  S: "~@6 d2@6 a1@3 d1, d1@3 ~", T: "g1@10 g1@3 e1@3", U: "f1@8 ~ f1@8 ~ f1@27 c2@3", V: "f2@47 ~",
  W: "a1@9 a2@6 e2@3 e1@8 ~ e1@3 b1@4 ~@2 e2@6 b1@5 ~",
  X: "g1@8 ~ g2@6 d2@3 d1@7 ~@2 d1@3 e1@3 d1@3 f1@3 d1@3 g1@3 d1@2 ~",
  Y: "a1@9 a2@4 ~@2 e2@2 ~ e1@9 e2@2 ~ e1 ~@2 e1@3 e2@5 ~ e1@4 ~@2",
  Z: "a#1@9 a#2@5 ~ f2@2 ~ a#1@8 ~ f2@2 ~ a#1 ~@2 a#1@3 a#2@6 f2@3 a#1@2 ~",
  AA: "a1@6 a2 ~@2 a2@6 e2@3 e1@9 e2@3 e1@3 b1@2 ~ e2@6 b1@3 e1@3",
  AB: "g1@9 g2@6 d2@2 ~ d1@8 ~ b1@3 c2@3 c#2@3 d2@10 ~@2", AC: "a1@3 b2@2 a2 e1@3 b1 e2 b1 e2@4",
  AD: "a#1@9 f2@5 ~ a#1@2 ~ a#2@9 f2@3 c3@3 f2@3 a#2@6 f2@6",
})).s("gm_electric_bass_finger").gain(0.32).pan(0.7)

// chords · synth strings 1 · "SYN STR 1"
const synth_strings_1 = note("<~@13 A@8 ~@8 B@8 C@8 ~@8 D@24 E F@2 G ~>".pickRestart({
  A: "[[a2,a3]@46 [g2,g3]@18 [d2,d3]@30 ~ [a2,a3]@17 [e2,e3]@30 [a#2,a#3]@45 ~@3 [a3,a5,a6]@47 ~@2 [g5,g6]@15 ~@2 [d3,d5,d6]@31 [a3,a5,a6]@47 ~ [c6,c7]@45 ~@4, ~@237 g3@18 ~@79 f3@46 ~@4]/8", // A G D A E A# A G …
  B: "[a4@17 ~@47 f4@20 g4@11 a4@18 g4@29 ~ f4@45 ~@3 c5@17 ~ b4@30 [a#4,d5]@17 [a4,c5]@30 ~@18 b4@30 ~@2 d5@40 ~@8, e5@47 d5@48 e5@48 ~@47 a4@18 g4@31 ~@47 e5@48 ~ f5@41 ~@8, ~@17 g4@48 ~@77 f5@46 ~@3 e5@48 f5@47 c5@30 ~@68]/8", // A# Am
  C: "[[d4,f4,a4,c5]@34 ~ [e4,g4,c5]@11 ~ [d4,g4,b4]@35 ~ [c4,g4,c5]@11 ~@18 f5@18 ~ [e4,g4,c5,c6]@11 ~@2 b5@41 ~@71 b4@31 ~@40 g5@19 ~@38, c6@46 b5@48 a5@37 ~@54 c6@54 b5@50 a5@36 ~@59, ~@94 g5@18 ~@79 d5@97 a4@39 ~@57, ~@95 [c4,f4,a4]@35 ~@12 [d4,g4,b4]@44 ~@5 c5@65 ~@31 c5@59 ~@38, ~@192 d6@97 ~@20 e5@37 ~@38]/8", // Dm7 C G C5 C F G
  D: "[[a4,c5]@16 ~ [g4,b4]@30 [g4,a#4]@16 ~ [f4,a4]@30 [a4,c5]@19 ~ [g4,b4]@28 ~ a#4@2 ~@2 a#4@45, e5@45 ~@2 d5@45 ~@2 e5@47 ~ c5@45 ~@5, ~@143 f5@45 ~@4]/4", // Am G Gm F Am G
  E: "[a4,c5]@8 ~ [g4,b4]@15, e5@15 ~", // Am G
  F: "[a#4@15 [f4,a4]@30 [a4,c5]@19 ~@2 [g4,b4]@28 ~@2, d5@45 e5@47 ~@4, g4@5 ~@11]/2", // F Am G
  G: "a#4@2 ~ a#4@45, [c5,f5]@15 ~", // F5
})).s("gm_synth_strings_1").gain(0.17).pan(0.1)

// other · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note("<~@61 A@4 ~@4 A@8 ~@5>".pickRestart({
  A: "[a3@2 g3@3 a3@3 b3@3 c4@3 b3@3 c4@3 d4@3 e4@3 d4@3 e4@3 f4@3 g4@3 e4@3 f4@3 g4@3 [a#3,a#4]@3 [a3,a4]@3 [a#3,a#4]@3 [c4,c5]@3 [d4,d5]@3 [c4,c5]@3 [d4,d5]@3 [e4,e5]@3 [f4,f5]@3 [e4,e5]@3 [f4,f5]@3 [g4,g5]@3 [a4,a5]@3 [g4,g5]@3 [a4,a5]@3 [b4,b5]@3 [c5,c6]@9 [d5,d6]@8 ~ [b4,b5]@12 [g4,g5]@18 [c5,c6]@49]/4", // A# A A# C D C D E …
})).s("gm_string_ensemble_1").gain(0.26).pan(1)

// drums · kick
const kick = s("bd").struct("<~@13 A@31 B A@3 ~ A@3 ~ A@28 ~>".pickRestart({
  A: "x ~@5 x ~@3 x ~@2 x ~@2", B: "x",
})).gain(0.64)

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@13 A@31 ~ A@3 ~ A@3 ~ A@28 ~>".pickRestart({
  A: "~@5 x ~@3 x ~@6",
})).gain(0.29)

// drums · snare
const snare = s("sd").struct(`<
  ~@13 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 ~ A B A ~ A B A ~ 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 ~
>`.pickRestart({
  A: "~ x ~ x ~@7 x!2 ~ x ~", B: "~@3 x ~@3 x ~ x ~ x!2 ~@2 x",
})).gain(0.29)

// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
  ~@13 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 ~ A B A ~ A B A ~ 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 ~
>`.pickRestart({
  A: "~@5 x ~ x ~ x ~@6", B: "~ x ~@3 x ~@10",
})).gain(0.14)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@13 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 ~ A B A C A B A D 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 ~
>`.pickRestart({
  A: "x ~ x!5 ~ x!2 ~@2 x!3 ~", B: "x ~ x!8 ~@2 x!2 ~@2", C: "x ~@8 x ~@2 x!2 ~@2", D: "x",
})).gain(0.43)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  ~@13 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 ~ A B A ~ A B A ~ 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 ~
>`.pickRestart({
  A: "~ x ~@5 x ~@8", B: "~ x ~@14",
})).gain(0.14)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@13 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 ~ A B A B A B A ~ 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 ~
>`.pickRestart({
  A: "~@10 x ~@4 x", B: "~@5 x ~ x",
})).gain(0.57)

// drums · crash
const crash = s("cr").struct(`<
  ~@13 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@2 A ~@8 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@4
>`.pickRestart({
  A: "x",
})).gain(0.43)

// drums · high tom
const high_tom = s("ht").struct(`<
  ~@13 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 ~ A B A ~ A B A ~ 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 ~
>`.pickRestart({
  A: "~@3 x ~@8 x ~@3", B: "~@3 x ~@8 x ~@2 x",
})).gain(0.71)

// drums · high tom · soft notes
const high_tom_soft = s("ht").struct(`<
  ~@13 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A
  ~ A ~ A ~ A ~ A ~ A ~@2
>`.pickRestart({
  A: "~@7 x",
})).gain(0.07)

// drums · tambourine
const tambourine = s("tb").struct("<~@53 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 C A C ~>".pickRestart({
  A: "x ~@13 x!2", B: "x ~@42 x!5", C: "x ~@14 x",
})).gain(0.21)

// drums · tambourine · soft notes
const tambourine_soft = s("tb").struct("<~@54 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ B ~ B ~>".pickRestart({
  A: "~@41 x!2 ~@5", B: "~@7 x",
})).gain(0.07)

// drums · congas
const congas = s("conga:13").struct("<~@13 A@31 ~ A@3 ~ A@3 ~ A@7 B A@7 B A@7 B A@4 ~>".pickRestart({
  A: "~@3 x ~@12", B: "~@9 x ~@17 x!2 ~@7 x ~@7 x!2 ~@2",
})).gain(0.91)

// drums · congas
const congas_2 = s("conga:18").struct(`<
  ~@13 A@2 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B ~ A@2 B ~ A@2 B ~ A@2 B A@3 B C A@2 B A@3 B C A@2 B A@3 B C A@2 B
  A ~
>`.pickRestart({
  A: "~@2 x ~@8 x!2 ~@3", B: "~ x ~@4 x ~", C: "~@2 x ~@8 x ~@4",
})).gain(0.91)

// drums · congas
const congas_3 = s("conga:33").struct(`<
  ~@13 A B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C ~ A B C ~ A B C ~ A B C A@2 B C D A B C A@2 B C D A
  B C A@2 B C D A B C A ~
>`.pickRestart({
  A: "~@6 x!2 ~ x!2 ~@3 x!2", B: "~@6 x!2 ~ x!2 ~@2 x!3", C: "~@6 x ~@2 x!2 ~@3 x!2", D: "~@7 x",
})).gain(0.91)

// drums · cabasa
const cabasa = s("cabasa:4").struct(`<
  ~@12
  [~@47 x]
// … 46 more lines

More by Des'ree