Strudelify

Il coraggio che non c'e

Laura Pausini

KeyB♭ majorTempo62 bpm
0:00/0:00
// Il coraggio che non c'e — Laura Pausini
// 62 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 70 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(62/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 · string ensemble 1
const string_ensemble_1 = note(`<
  A B C@2 ~@14 D@3 E F G@3 H I ~@7 J K@2 L M N O P@2 Q R S@2 T U@2 V@2 W X Y@2 Z@2 AA@2 AB@2 AC AD AE AF@3 ~
>`.pickRestart({
  A: "[bb4,bb5]@8 [bb4,bb5]@3 [a4,a5]@3 [g4,g5]@2", B: "[f4,f5]@4 [f4,f5] [g4,g5] [eb4,eb5] [d4,d5]",
  C: "[[d4,d5]@7 [eb4,eb5]@15 ~@10]/2", D: "[~@3 d4 eb4@2 c5 ~ g4@2 f4@2, ~@8 bb3@15 ~ f4@8 ~@16, ~@7 bb4@5]/3",
  E: "[a4,c5] [bb4,d5] d4 c4, ~ g4", F: "c4 ~@3 bb3@4 bb3 ~@3 a3@4, f4 eb4",
  G: "[a3 ~@3 g3@4 [bb3,eb4]@15 ~ [bb4,bb5]@11 [a4,a5]@3 [g4,g5]@2 [f4,f5]@8, d4 ~@5]/3", // Eb5 Bb A G F
  H: "[f4,f5]@2 [g4,g5]@2 [eb4,eb5]@2 [d4,d5]@2 [d4,d5] ~@7", I: "[eb4,eb5]@15 ~", J: "~ d4 eb4@2, bb3@15 ~",
  K: "[c5 ~ g4@2 f4@2 [a4,c5] [bb4,d5], f4 ~@3, ~ bb4@5 ~@2]/2", L: "d4@4 c4@4 c4 ~@3 bb3@4, g4 f4",
  M: "bb3 ~@3 a3@4 a3 ~@3 g3@4, eb4 d4", N: "[bb3,eb4]", O: "d4@15 ~, bb3 ~@15",
  P: "[[bb3,db4,gb4]@2 [ab3,c4,eb4]@4 db4 c4, ~@3 f4, ~@24 ab3 ~@7]/2", Q: "[bb3,db4,gb4]",
  R: "[c4,eb4]@8 [db4,f4]@5 [c4,eb4]@3, ab3@13 ab3 ~@2", // Cm Db Cm
  S: "[[bb3,db4,gb4]@8 ab3@8 ab3 ~@7 db4@4 c4@3 ~, ~ [c4,eb4]@2 f4]/2", T: "[db4,gb4] eb4, bb3, ~@8 gb4 ~@7",
  U: "[[bb3,eb4] ~@7 [c4,f4,a4]@16 c5@2 g4 c5@2 e5@2 e5, g4@7 ~@25]/2", // Eb5 F
  V: "[~@2 b4@3 a4@3 e5@2 g5 d5@2 c5@2 ~ a4@8 g5@8, c5@2 ~@6 g4@7 ~@17, ~ f5@7 ~@7 a5@9 ~@8]/2",
  W: "[b4,d5]@4 [c5,e5]@4 e5 ~@3 d5@4", X: "d5 ~@3 c5@4 c5 ~@3 b4@4", Y: "[b4 ~@3 a4@4 c5@16 c5 ~ g4 c5@2 e5@3]/2",
  Z: "[~@2 b4@3 a4@3 e5@2 ~ d5@2 c5@2 ~ a4@8 g5@8, c5 ~@3 g4@4 ~@8, ~ f5@7 ~@2 g5@2 ~@3 a5@9 ~@8]/2",
  AA: "[[b4,d5]@4 [c5,e5]@4 e5@4 d5@8 c5@4 c5 ~@3 b4@4]/2", AB: "[b4 ~@3 a4@4 [g2,g4,c5,d5]@23 ~]/2",
  AC: "c6@8 c6@3 b5@3 a5@2", AD: "g5@4 g5 a5 f5 e5", AE: "e5@9 e5@3 f5@2 d5@2", AF: "[~ c5@2 ~ c5@44]/3",
})).s("gm_string_ensemble_1").gain(0.1)

// chords · epiano1
const epiano1 = note(`<
  A B C@2 D@2 E F@2 G H@2 ~@6 I J K L M N@2 O P Q R S T U V W@2 X Y Z AA AB AC AD AE AF AG AH AE AF AI AJ AK AL AM AN AO
  AP AQ AR AS AN AT AP AU AV AW AX@5
>`.pickRestart({
  A: "bb4@6 ~@2 bb4@3 a4@3 g4@2", B: "f4@6 ~@2 f4@2 g4@2 eb4@2 d4 ~",
  C: "[d4@6 ~ eb4@15 ~@2 [d4,f4,bb4]@4 [d4,f4,bb4]@4, ~@12 [bb2,bb3]@3 ~]/2", // Bb
  D: "[[c4,f4,a4] [d4,f4,bb4] [bb3,d4,g4]!2 [a3,c4,f4]!2 [bb3,d4,f4]!2, [g2,g3]@3 ~ [eb2,eb3]@7 ~ [d2,d3]@3 ~]/2", // F Bb Gm F Bb G Eb D
  E: "[bb3,d4,f4]!2 [c4,eb4,g4]!2, [g2,g3]@7 ~ [a2,a3]@6 ~@2", // Bb Cm G A
  F: "[[a3,d4,gb4]!2 [bb3,f4,g4] [bb3,eb4,g4] [a3,c4,f4]!2 [bb3,d4,f4]!2, [gb2,gb3]@7 ~ [eb2,eb3]@15 ~ [d2,d3]@6 ~@2]/2", // D Gm7 Eb F Bb Gb Eb D
  G: "[c4,f4,a4] [d4,f4,bb4] [c4,f4,bb4]!2, [g2,g3]@3 ~ [f2,f3]@3 ~", // F Bb Fsus4 G F
  H: "[[bb3,d4,g4]@4 [bb3,d4,g4]@4 [bb3,c4,f4]@4 [bb3,c4,f4]@4 [a3,c4,f4]@7 ~@9, [eb2,eb3]@6 ~@2 [f2,f3]@15 ~@9]/2", // Gm Bbsus2 F Eb F
  I: "~@8 [d4,f4]@2 d4 f4 ~ bb4 ~@2, ~@8 bb4@5 ~@3", // Dm
  J: "[c4,eb4]@2 c4 eb4 ~@4 [d4,f4]@2 d4 f4 ~ bb4 d4 ~, bb4@6 ~@2 bb4@5 ~@3", // Cm Dm
  K: "[f4,bb4] ~@3 [f4,bb4] ~ eb4 ~ [d4,f4]@2 d4 ~@2 bb4@2 ~, eb4@6 ~@2 bb4@3 f4@4 ~", // Bb5 Dm
  L: "[c4,f4,a4]@4 [d4,bb4]@3 ~ d4@3 ~ c4@3 ~, ~@4 f4 ~@3 [g4,bb4]@7 ~", // F Gm
  M: "c4@3 ~ bb3@3 ~ bb3@4 a3@3 ~, [f4,a4]@7 ~ [eb4,g4]@7 ~", // F Eb
  N: "[a3@3 ~ g3@2 ~@2 [bb3,c4,f4]@11 ~@5 d4@2 d4 f4 ~@2 d4 ~, [d4,f4]@6 ~@18 [f4,bb4]@4 ~ bb4@2 ~]/2", // Bbsus2 Dm Bb5
  O: "[c4,bb4]@2 c4 ~@2 c4 g4 ~ f4@2 ~ f4 ~@2 d4 ~, eb4@4 ~ d4@2 ~, ~@3 a4@8 ~@2 bb4@3", // C7
  P: "[f4,bb4] ~@3 eb4 ~ d4 ~ [d4,f4,a4]@2 d4 [g4,bb4,d5]@3 ~@2, eb4@4 ~@7 d4 ~@4, ~ g4@2 ~@5", Q: "[eb4,g4,bb4]@3 ~",
  R: "[d4,bb4]@2 [c4,a4] [d4,bb4], f4", S: "[bb3,g4] [a3,c4,f4], d4 ~@15", T: "[bb3,d4], f4 ~@15",
  U: "[c4,eb4,g4] [a3,d4,gb4]", V: "f4 eb4 [a3,c4,f4]@2, [bb3,g4] ~",
  W: "[[bb3,d4]@8 d4 ~@7 c4@8 [bb3,eb4,g4]@8, f4 ~@7 bb4@16 ~@8]/2", // Bb Eb
  X: "[d4,f4]@2 d4 f4 ~ bb4 ~@2 [c4,eb4]@2 c4 eb4 ~@4, bb4@5 ~@3 bb4@6 ~@2", // Dm Cm
  Y: "[d4,f4]@2 d4 f4 ~ bb4 d4 ~ [f4,bb4] ~@3 [f4,bb4] ~ eb4 ~, bb4@5 ~@3 eb4@6 ~@2", // Dm Bb5
  Z: "[d4,f4]@2 d4 ~@2 bb4@2 ~ [c4,f4,a4]@4 [d4,bb4]@3 ~, bb4@3 f4@4 ~@5 f4 ~@3", // Dm F Gm
  AA: "d4@3 ~ c4@3 ~ c4@3 ~ bb3@3 ~, [g4,bb4]@7 ~ [f4,a4]@7 ~", // Gm F
  AB: "bb3@4 a3@3 ~ a3@3 ~ g3@2 ~@2, [eb4,g4]@7 ~ [d4,f4]@6 ~@2", AC: "[bb3,c4,f4]@11 ~@5",
  AD: "[d4,f4,bb4]@4 ~@2 [d4,f4,bb4]@3 ~@2 d4 ~@2 bb3 f3, ~@9 f3@4 d4@2 ~, ~@10 bb3@2 eb4@3 ~", // Bb
  AE: "[bb3,db4,gb4] ~ [bb3,db4,gb4] ~ [bb3,db4,gb4] ~ [bb3,db4,gb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~", // Gb Ab
  AF: "[ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,db4,f4] ~ [ab3,db4,f4] ~ [ab3,c4,f4] ~ [ab3,c4,f4] ~", // Ab Db Fm
  AG: "[bb3,db4,gb4] ~ [bb3,db4,gb4] ~ [bb3,db4,gb4] ~ [bb3,db4,gb4] ~ [bb3,db4,gb4] ~ [bb3,db4,gb4] ~ [bb3,db4,gb4] ~ [bb3,db4,gb4] ~", // Gb
  AH: "[ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,db4,f4] ~ [ab3,db4,f4] ~ [ab3,db4,f4] [c4,eb4]@2 ~, ~@13 ab3 ~@2", // Ab Db Cm
  AI: "[bb3,db4,gb4] ~ [bb3,db4,gb4] ~ [bb3,db4,gb4] ~ [eb2,eb3,bb3,db4,gb4] [db2,db3] [bb3,eb4,gb4] ~ [bb3,eb4,gb4] ~ [bb3,eb4,gb4] ~ [bb3,eb4,gb4] ~, [eb2,eb3]@3 ~ [c2,c3]@4", // Gb Ebm7 Db Ebm Eb C
  AJ: "[g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~", // Eb F
  AK: "[a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~@6 e4@2 ~, ~@8 e4@3 c4@4 ~, ~@10 g3@5 ~", // F
  AL: "[a3,c4,f4]@6 ~@2 g3@2 g3 c4 ~ e4@2 ~, ~@2 [c4,e4] ~", // F C
  AM: "[a3,c4,f4]@6 ~@2 c4@2 c4 e4 ~@2 c4 ~, ~@8 [e4,g4]@4 ~ g4@2 ~", // F Em
  AN: "[d4,g4,b4]@3 ~ [e4,g4,c5]@2 ~@2 [e4,a4]@3 ~ [d4,a4]@3 ~, ~@8 c4@7 ~", // G C A5 D5
  AO: "[d4,g4]@3 ~ [c4,g4]@3 ~ [c4,f4]@3 ~ [b3,f4]@3 ~, b3@7 ~ a3@7 ~", // G5 C5 F5 Bdim
  AP: "[b3,e4]@3 ~ [a3,e4]@2 ~@2 [a3,c4]@2 a3 c4 ~ f4 ~ c4, g3@6 ~@2 f4@5 ~@3", // E5 A5 Am
  AQ: "~@2 a3 [c4,f4] ~ c4 a3 ~ g3@2 g3 c4 ~ e4@2 ~, ~@2 e4 ~, ~@8 c4 ~@7", // F5
  AR: "[a3,f4]@6 ~@2 [g3,c4]@2 g3 ~@3 g3 ~, c4 ~@7 e4@3 c4@5, ~@13 e4@2 ~", // Dm C5
  AS: "[a3,f4]@6 ~@2 c4@2 c4 e4 ~@2 c4 ~, c4 ~@7 [e4,g4]@4 ~ g4@2 ~", // Dm Em
  AT: "[d4,g4]@4 c4@3 ~ [c4,f4]@3 ~ [b3,f4]@3 ~, b3@7 ~ a3@7 ~, ~@4 g4 ~@11", AU: "~ a3 ~@14",
  AV: "[c3,g4,c5]@4 [g4,c5] ~ e4 g4 d3@3 ~@2 f4 a4 ~, [c2,e4]@5 c3@2 ~ [d2,f4,a4,c5]@6 ~@2, ~@11 b4@3 ~@2, ~@3 d3", // C5 C Dm7
  AW: "~@4 g4 ~ c4 ~ [c4,g4] ~@3 f4 ~ e4@2, e2@7 ~ f2@7 ~, g4@4 d4@3 ~@3 a4@5 ~, ~ e3@3 ~ e3@2 ~ [f3,f4]@4 ~ f3@2 ~, ~ c4@2 ~@5", // C5 F
  AX: "[[g3,g4]@5 [e4,g4] g3 c4 ~ e4@2 ~ f4 ~ d4@2 ~ c4 ~@2 [c2,c3,e3,g3,c4]@45 ~@15, g2@8 ~ [g2,a3,c4]@9 ~@62, [c4,e4] ~@8 f3@5 ~@2 f3@3 ~@61]/5", // G Em C Am7 C
})).s("gm_epiano1").gain(0.15)

// bass · electric bass finger
const bass = note(`<
  ~@11 A B C D E C F G H I J K L@2 M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AD AH AI AJ@2 AK AL AM AN AO AP AK
  AL AM AN AQ@2 ~@7
>`.pickRestart({
  A: "~@3 c2 f1@4 bb1@7 ~", B: "g1@3 ~ eb2@3 ~", C: "eb2@3 ~ d2@3 ~", D: "g1@3 ~ a1@3 ~", E: "gb1@3 ~ eb2@3 ~",
  F: "g1@3 ~ f1@3 ~", G: "f1@6 ~@2 bb1@7 ~", H: "c2@7 ~ d2@7 ~", I: "eb2@7 ~ f2@7 ~", J: "g2@3 ~ g1@4 eb2@7 ~",
  K: "d2 c2", L: "[bb1@8 f1@15 ~ bb1@8]/2", M: "c2 d2", N: "eb2 g1", O: "f1@10 ~@3 d1 f1 g1",
  P: "bb1@4 ~ bb1 f1 d1 g1@4 ~ g1 d1 f1", Q: "eb1@4 ~@3 eb1 eb1@4 ~@2 f1 eb1", R: "d1@4 ~@3 d1 g1@4 g2@4",
  S: "a1@4 ~ a1 c2 a1 d2@4 gb1@4", T: "eb1@4 ~@4 eb1@4 ~@2 f1 eb1", U: "d1 ~ g1 ~", V: "f1@4 ~@3 f1 f1@4 ~@4",
  W: "bb1 ~ c2 ~", X: "d2 bb2 eb2 ~", Y: "f1@4 ~@4 g1@4 g1 ~@3", Z: "eb1 ~ d1 ~", AA: "c2 ~ bb1 ~", AB: "f1 ~ f1 ~",
  AC: "bb1@2 ~ bb1@4 ~", AD: "gb1@8 gb1 ~@7", AE: "f2@8 f2 ~@7", AF: "eb2@8 eb2 ~@5 eb1 f1", AG: "bb1@8 bb1 ~@4 ab1@3",
  AH: "f2@8 f1@4 f1 ~@3", AI: "eb2@6 eb2 db2 c2@8", AJ: "[f2@6 f1 gb1 g1@16 c2@8]/2", AK: "d2 e2", AL: "f2 g1",
  AM: "a1@4 a2@4 f2@6 c2 f2", AN: "e2 d2", AO: "c2@8 d2@5 d2 f2 d2", AP: "g1 g2 c2@2", AQ: "[c2 g1@2 ~]/2",
})).s("gm_electric_bass_finger").gain(0.4)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note("<~@11 A B C D E F G H I J K L M@2 N O P ~@35 Q R S@2 ~@3>".pickRestart({
  A: "~@13 f3 bb3@2, ~@9 f3@4 ~@3, ~@10 bb3@3 ~@3, ~@11 c4@5",
  B: "~@5 f3 bb3@2 ~@5 bb3 d4@2, ~ f3@4 ~@6 g4@5, ~@2 bb3@3 ~@4 bb3@4 ~@3, ~@3 d4@5 ~@2 d4@3 ~@3",
  C: "~@5 c4 f4@2 ~@5 c4 f4@2, ~ c4@4 ~@4 c4@4 ~@3, ~@2 f4@3 ~@5 f4@3 ~@3, ~@3 a4@5 ~@3 bb4@5",
  D: "~@5 f3 bb3@2 ~@3 eb4@2 g3 c4@2, ~ f3@4 ~@4 g3@4 ~@3, ~@2 bb3@3 ~@5 c4@3 ~@3, ~@3 d4@5 ~@8",
  E: "~@5 gb3 a3@2 ~@5 bb3 eb4@2, ~ gb3@4 ~@6 f4@5, ~@2 a3@3 ~@4 bb3@4 ~@3, ~@3 d4@5 ~@2 eb4@3 ~@3",
  F: "~@5 c4 f4@2 ~@5 bb3 f4@2, ~ c4@4 ~@4 bb3@4 ~@3, ~@2 f4@3 ~@5 f4@3 ~@3, ~@3 a4@5 ~@3 bb4@4 ~",
  G: "~@2 bb3 d4@2 ~ bb3@2 ~@5 f3 bb3@2, ~ g3@2 f4@5 ~@2 bb3@3 ~@3, ~@5 f3@3 ~ f3@4 ~@3, ~@11 c4@5",
  H: "~@5 f4@2 ~@6 f3 bb3@2, ~ eb3@6 ~@2 f3@4 ~@3, ~@2 bb3@6 ~@2 bb3@3 ~@3, ~@3 c4@5 ~@3 c4@5",
  I: "~@5 g3 bb3@2 ~@5 bb3 c4@2, ~ g3@4 ~@6 f4@5, ~@2 bb3@3 ~@4 bb3@4 ~@3, ~@3 eb4@5 ~@2 c4@3 ~@3",
  J: "~@5 c4 bb3@2 ~@6 c4@2, ~ g3@7 ~@3 f4@4 ~, ~@2 bb3@3 ~@4 bb3@3 ~ bb3@2 ~, ~@3 d4@5 ~@2 c4@3 ~@3",
  K: "[a3,c4]@3 ~ [bb3,d4]@3 ~@6 bb3 d4@2, ~@9 bb3@4 ~@3, ~@10 d4@3 ~@3, ~@11 g4@5", // Am Bb
  L: "~@5 bb3 c4@2 ~@6 bb3@2, ~ bb3@4 ~@4 g3@3 ~ g3@3, ~@2 c4@3 ~@5 bb3@3 ~@3, ~@3 f4@5 ~@3 eb4@5",
  M: "[~@5 f3 a3@2 ~@3 bb3@2 c4@2 ~@2 f4@7 ~@5 f4@3, ~ f3@4 ~@4 eb3@15 ~ f3@7, ~@2 a3@3 ~@10 bb3@9 ~@2 bb3@6, ~@3 d4@5 ~@8 c4@8 ~@3 c4@5]/2",
  N: "~@5 g3 ~@7 bb4@3, ~ g3@4 ~@6 f4@5, ~@2 bb3@6 ~ bb3@7, ~@3 eb4@5 ~@2 c4@6",
  O: "~@5 eb4@3 ~@5 g3 ~@2, ~ bb3@7 ~@2 g3@3 ~@3, ~@2 eb4@2 ~@7 d4@5, ~@3 f4@5 ~@8",
  P: "~@3 g4@2 eb4 g4 bb3 ~@8, f3@15 ~, ~ bb3@6 ~@9, ~@2 eb4@3 ~@11",
  Q: "~@5 g3 c4@2 ~@5 a3 c4@2, ~ g3@4 ~@4 a3@4 ~@3, ~@2 c4@3 ~@5 c4@3 ~@3, ~@3 d4@5 ~@3 f4@5",
  R: "~@3 g4@2 c4 d4@2 ~@5 c4 f4@2, ~ c4@4 ~@4 c4@4 ~@3, ~@2 d4@3 ~@5 f4@3 ~@3, ~@11 g4@5",
  S: "[~@6 e3 g3@2 ~@7 f3 a3@3 ~@12, ~ e3@4 ~@5 f3@5 ~@17, ~@2 g3@3 ~@7 a3@4 ~@16, ~@3 c4@6 ~@4 c4@7 ~@12]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.4)

// chords · synth strings 1
const synth_strings_1 = note("<~@11 A@2 B@2 C D@2 E ~@51>".pickRestart({
  A: "[~@8 [d4,f4,bb4]@15 ~ [bb3,d4,g4]@8]/2", B: "[[a3,c4]@15 ~ [bb3,d4]@7 ~ [c4,eb4,g4]@8, f4@23 ~@9]/2",
  C: "[a3,d4,gb4]@8 f4@4 eb4@3 ~, ~ [bb3,g4]", D: "[a3@15 ~ [d4,bb4]@8 [f4,bb4] ~@7, f4@3 ~, c4@8 ~@16 c4@7 ~]/2",
  E: "[bb3,eb4,g4] ~", // Eb
})).s("gm_synth_strings_1").gain(0.4)

// chords · string ensemble 1
const string_ensemble_1_2 = note("<~@28 A B C D E F G ~@35>".pickRestart({
  A: "[bb4,d5]@2 [a4,c5] [bb4,d5], f5", B: "[d5,g5] [a4,c5,f5], bb4 ~@15", C: "[bb4,d5], f5 ~@15",
  D: "[c5,eb5,g5] [a4,d5,gb5]", E: "f5 eb5 [a4,c5,f5]@2, [bb4,g5] ~", F: "[bb4,d5]@8 [bb4,d5] ~@7, f5 ~@15",
  G: "c5 [eb5,g5], ~@8 bb4 ~@7", // Eb
})).s("gm_string_ensemble_1").gain(0.4)

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

// drums · rim
const rim = s("rim").struct("<~@11 [~@3 x] [~ x ~ x]!12 [~@3 x] [~ x ~ x]!2 ~@43>").gain(0.47)

// drums · snare
const snare = s("sd").struct("<~@27 A B@13 C B@3 D B@3 E A B@5 F B@5 ~@8>".pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "~@4 x ~@4 x!2 ~@5", D: "~ x ~@2", E: "~@4 x ~@4 x ~@6", F: "~ x ~@2 x!3 ~@5 x ~@3",
})).gain(0.47)

// drums · low tom
const low_tom = s("lt").struct("<~@34 A ~@6 B ~@8 C ~@5 D ~@13>".pickRestart({
  A: "~@14 x!2", B: "~@15 x", C: "~@4 x!2 ~@10", D: "~@4 x!3 ~@9",
})).gain(0.47)

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

// drums · mid tom
const mid_tom = s("mt").struct("<~@27 A ~@6 B ~@6 C ~@3 D ~@4 E ~@19>".pickRestart({
  A: "~@11 x ~@4", B: "~@13 x ~@2", C: "~@11 x!4 ~", D: "~@3 x", E: "~ x!2 ~@13",
})).gain(0.47)

// drums · open hat
const open_hat = s("oh").struct("<~@24 A ~@2 B ~@6 C ~ D ~@6 D ~@3 D E F ~@2 G A ~@2 H ~@2 I ~ J K ~@7>".pickRestart({
  A: "~ x ~ x ~@4", B: "~@3 x ~@4 x ~@5 x ~", C: "~@5 x ~@2", D: "~@7 x", E: "~@5 x ~@8 x ~",
  F: "~@4 x ~ x ~ x ~@2 x ~@2 x ~", G: "~@7 x ~@8", H: "~ x ~@14", I: "~@3 x ~@4", J: "~@3 x ~@2 x ~",
  K: "~@2 x ~@2 x ~@10",
})).gain(0.47)

// drums · high tom
const high_tom = s("ht").struct("<~@45 [~@9 x!3 ~@4] ~@3 [~@12 x ~@2 x] ~@20>").gain(0.47)

// drums · crash
const crash = s("cr").struct(`<
  ~@15 A ~@5 B ~@2 A ~@3 C ~@2 D ~@2 C@2 E F C ~@2 G C D C H C D I C A ~ A B A@2 J ~ A B A J@2 ~@7
>`.pickRestart({
  A: "~ x", B: "x!3 ~", C: "x", D: "~@3 x", E: "~@15 x", F: "x ~ x!2", G: "x ~@2 x ~@4", H: "~@13 x ~@2",
  I: "x ~@5 x!3 ~@7", J: "~@7 x!2 ~@7",
})).gain(0.47)

// drums · ride
const ride = s("rd").struct(`<
  [x ~@4 x!4 ~@2 x ~@2 x ~]
  [x ~@5 x!3 ~@7]
  [x ~@7 x!5 ~@3]
  ~@63
  [~@4 x!9 ~ x ~]
  [x!2 ~@2 x ~@11]
  ~@2
>`).gain(0.23)

// drums · shaker
const shaker = s("sh").struct("<[x!16]!11 [x!8 ~@8] ~@51 [x!16]!2 [x!4 ~ x!6 ~ x!3 ~] [x!3 ~@13] ~@3>").gain(0.23)

// … 4 more lines

More by Laura Pausini