Strudelify
Stop the world (vogliamo tornare a giocare) cover art

Liberi di volare

Stop the world (vogliamo tornare a giocare)

Nomadi

KeyD minorTempo160 bpm
0:00/0:00
// Stop the world (vogliamo tornare a giocare) — Nomadi
// 160 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 166 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(160/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 · electric bass finger
const bass = note(`<
  ~@3 A B@2 C@2 D@3 E B@2 C@2 D@2 B F G H I J K H L M G H I J K H L N O@2 P@2 Q@2 R@2 C@2 D@2 S@2 B F T H I J K H L M G
  H I J K H L N O@2 P@2 Q@2 R@2 C@2 D@2 S@2 C U V W V X Y Z Y AA V W V X Y AB AC ~@8 AD C@2 D@2 S@2 B F B@2 C@2 D@2 B AE
  C@2 D@2 S@2 C AF V W V X Y Z Y AG V W V X Y AB Y AG V W V X Y Z Y AG V W V X Y Z Y AG AC ~
>`.pickRestart({
  A: "~@3 d3", B: "d2!4", C: "bb1!4", D: "f1!4", E: "f1 c1 f1 c2", F: "d2@2 d2@2 d2 c2@3", G: "bb1 ~@3 bb1@10 e1@2",
  H: "f1 ~ f1@4 c1 f1", I: "c2 ~@3 c2@8 g1@2 c2@2", J: "g1 ~ g1@4 d1 g1", K: "bb1 ~@3 bb1@8 f1@2 bb1@2",
  L: "c2 ~@3 c2@10 g1@2", M: "c2 ~ c2@2 c2 d2 c2@2", N: "c2@2 ~@2 c2@11 ~", O: "d2/2", P: "bb1/2", Q: "f1/2",
  R: "[d2@7 a2]/2", S: "a1!4", T: "bb1 ~@3 bb1@8 g1@2 bb1@2", U: "bb1@2 bb1@2 bb1 c2@3", V: "d2 ~ d2 ~ d2 ~ d2 ~",
  W: "d2@2 ~@2 d2@3 ~ d2 ~ c2@6", X: "d2@2 ~@2 d2@3 ~ d2@4 c2@4", Y: "bb1 ~ bb1 ~ bb1 ~ bb1 ~",
  Z: "bb1@2 ~@2 bb1@3 ~ a1 ~ c2@6", AA: "bb1@2 ~@2 bb1@3 ~ bb1@2 c2@6", AB: "bb1@2 ~@2 bb1@3 ~ e2@2 f2@6",
  AC: "a1!5 ~ a1!2", AD: "~@2 d2 c2", AE: "d2!3 c2", AF: "bb1!2 c2!2", AG: "bb1@2 ~@2 bb1@3 ~ g2@2 f2@6",
})).s("gm_electric_bass_finger").gain(0.71)

// other · synth strings 1
const synth_strings_1 = note(`<
  ~@4 A@4 B@2 C@2 A@4 B@2 D@2 ~@23 E F@4 G@2 H@2 ~@23 E F@4 G@2 H@2 I J K L M@4 I J K L N@2 ~@2 O@2 P@2 Q@2 R@2 F@4 G@2
  H@2 S@2 T@2 U@2 V@2 F@4 G@2 H@2 I J K L W X Y Z I J K L N@2 AA Z AB@4 AC@4 AB@4 AC@4 ~@2
>`.pickRestart({
  A: "[[d4,d5]@5 [c4,c5] [d4,d5] [c4,c5]]/2", B: "[[a3,a4]@6 [g3,g4] [f3,f4]]/2", C: "[[a3,a4]@7 ~]/2",
  D: "[[d3,d4]@7 ~]/2", E: "~@2 [a3,a4] [c4,c5]", F: "[d5@6 e5 f5@2 c5@5 a4 g4]/4", G: "[a4@23 ~ g4@4 f4@4]/2",
  H: "[d4@31 ~]/2", I: "d3 ~ d3 ~", J: "d3@2 ~@2 [f3,g3] [c3,f3]@3", K: "d3@5 ~@3 d3@4 ~@4", L: "d3@4 ~@4 g3@2 f3@5 ~",
  M: "[[bb3,d4]@29 c4@3, f4@63 ~]/4", N: "[[bb3,d4,f4]@12 e3 f3@3]/2", O: "[d4,f4,a4,d5]/2", P: "[bb3,d4,bb4,d5]/2",
  Q: "[f3,f4,a4,c5]/2", R: "[a4@6 a4 c5, [d3,f4,d5]]/2", S: "[d5@6 e5 f5]/2", T: "[d5@23 ~ e5@4 f5@4]/2",
  U: "[c5@23 ~ e5@4 f5@4]/2", V: "[~@16 e5@4 f5@3 ~ a4@4 c5@4, d5@31 ~, a4@5 ~@3]/2", W: "bb2@4 ~@4 bb2@5 ~@3",
  X: "bb2@5 ~@3 bb2@2 c3@4 ~@2", Y: "bb2@6 ~@2 bb2@5 ~@3", Z: "bb2@7 ~ g3@2 f3@6", AA: "~@8 bb2@5 ~@3",
  AB: "[[d3,a3,d4,d5]@63 ~]/4", AC: "[[bb3,d4,f4,bb4]@63 ~]/4",
})).s("gm_synth_strings_1").gain(0.48).pan(0.4)

// other · overdriven guitar
const overdriven_guitar = note("<~@84 A B C D@2 E F G@3 H@4 I ~@49 J K L M N@2 O@2 P@2 Q R S T@3 I ~>".pickRestart({
  A: "~@6 a4 c5 d5@2 e5@2 ~ f5@2 ~", B: "~ f5@13 d5 c5", C: "d5@14 ~ g4", D: "[~ g5@5 f5 e5@2 d5 c5 ~ d5@4]/2",
  E: "c6@6 g4@2 f4@7 ~", F: "[g2,a2] ~ bb3@2 c4@2 db4 ~ d4@2 f4@2 d4@2 c4@2",
  G: "[g3@2 f3@2 [d2,e2,f2] ~ g3@12 f3@2 d3@16 ~@2 a4@6 a4@4]/3", // Dm
  H: "[[a4,a6]@8 [a4,a6]@10 g4@3 [d4,f4]@2 ~ [bb4,c5]@2 c5@2 ~ d4@2 ~@7 g4 f4@5 e4@6 f4@6 d4@4 e4@4, ~@28 [e4,f4]@2 ~ c4@2 ~@31, ~@32 d4@11 ~@21]/4", // A Dm Bbsus2 Fmaj7
  I: "a3 c4 a3 c4 a3 c4 a3 ~@5 a2 ~ a2@2, ~ a3", J: "~@15 g4", K: "[a4,c5]@2 d5 ~ f5@2 ~@2 f5@6 d5 c5",
  L: "d5@14 a4 [e4,f4,g4]", M: "d4 ~ g5@12 f5@2",
  N: "[e5@2 d5@2 c5@7 ~ d5@7 [f4,g4,a4,b4] [b3,c4,d4,e4] [f3,g3] ~ c3 ~@2 c7@6, ~@11 f5@2 ~@19]/2", // G7 Cmaj7 Fsus2
  O: "[c5@5 c5 [f4,g4,a4] [c4,d4,e4] [a3,b3] ~ e5@2 g5@2 [d4,d5]@4 f4@2 g3@2 f3@2 d3@7 ~]/2", // F C Asus2 D
  P: "[f3@4 d3@2 c3@2 d3@2 f3@2 d3@6 [e3,f3] [b2,c3,d3] a2 ~ [c2,d2,e2,f2,g2] [a2,b2,c3] [d3,e3] ~ f4@6, ~@26 g3 ~@5]/2", // Fmaj7 Bm C Am Dsus2
  Q: "a4@5 ~ g4@5 ~ f4@4", R: "~@2 d4@5 ~ c4@2 f3@6", S: "d4@3 ~, c4 ~@15",
  T: "[~@2 d3@2 f3@2 g3 ~ a3@2 d4@2 f4@6 g2 ~ c4@2 d4@2 f4@2 a4@2 c5@20, ~@28 a4 ~@19]/3",
})).s("gm_overdriven_guitar").gain(0.44)

// other · overdriven guitar · soft notes
const overdriven_guitar_soft = note("<~@86 A B ~@2 C ~@8 D ~@50 E F ~ G H ~@2 I ~@4 J ~@3>".pickRestart({
  A: "~@14 [a4,b4,c5] [e4,f4]", B: "[c4,d4] ~@15", C: "b2 ~@15", D: "a3 c4 a3 c4 a3 c4 a3 c4 a3 c4 a3 ~@5",
  E: "~@14 [b4,c5] ~", F: "c4 ~@15", G: "~@2 c5 ~@2 a3 [d3,e3] b2 a2 ~@7", H: "~@5 b4 ~@10", I: "~@9 f3 ~@6",
  J: "~@2 [a2,b2] ~@13", // Asus2
})).s("gm_overdriven_guitar").gain(0.25)

// chords · overdriven guitar
const overdriven_guitar_2 = note(`<
  ~@4 A@2 B@2 C@4 A@2 B@2 C@4 D E F G D E H I D E F G D E H J A@2 K@2 L@2 A@2 M@2 N@2 O@2 P@2 D E F G D E H I D E F G D
  E H Q A@2 K@2 L@2 A@2 M@2 N@2 O@2 R@2 S T U V W X Y Z S T U V W AA ~@10 M@2 N@2 O@2 P@4 AB@2 AC@2 P@2 M@2 N@2 O@2 R@2
  S T U V W X Y Z S T U V W AA Y Z S T U V W X Y Z S T U V W X Y Z ~@2
>`.pickRestart({
  A: "[~ d4@3, d3, ~ a3@7]/2", B: "[~@8 f4@23 ~, f3@7 ~, ~@2 bb3@13 ~]/2", C: "[~ f4@3, f3@15 ~, ~@4 a3@27 ~]/2",
  D: "[bb2,f3,bb3]!2 ~@2", E: "~ [f2,a3,c4,f4]@3 [f2,a3,c4,f4]@2 ~@2", F: "[g2,c3,e3,e4]!2 ~@2",
  G: "~@2 [g2,d3,g3,g4]@6 [g2,d3,g3,g4]@4 [d2,e2,f2] ~ [d2,e2,f2] ~", H: "[g2,c3,e3]!2 ~@2",
  I: "~@2 [c3,e3,g3,c4]@5 ~ [c3,e3,g3,c4]@4 ~@4", J: "~ [e3,g3,c4,e4]@3 [e3,g3,c4,e4]@4", K: "[~ f4@3, f3, ~ bb3@7]/2",
  L: "[~ f4@3, f3, ~ c4@7]/2", M: "[bb2,f3,bb3]/2", N: "[f2,c3,f3]/2", O: "[a2,e3,a3]/2", P: "[d3,a3,d4]/2",
  Q: "~ [e3,g3,c4]@3 [e3,g3,c4]@4", R: "[d3,f3,bb3]/2", S: "d3 ~ d3 ~", T: "d3@2 ~@2 g3 [c3,f3]@3",
  U: "d3@4 ~@4 d3@5 ~@3", V: "d3@7 ~ g3@2 f3@6", W: "bb2@7 ~ bb2@7 ~", X: "bb2@7 ~ a2@2 f3@6", Y: "bb2@5 ~@3 bb2@6 ~@2",
  Z: "bb2@7 ~ bb2@2 c3@6", AA: "bb2@7 ~ e3@2 f3@6", AB: "[bb2,d3,f3]/2", AC: "[c3,f3,a3]/2",
})).s("gm_overdriven_guitar").gain(0.21).pan(0.7)

// chords · percussive organ
const percussive_organ = note(`<
  ~@20 A B C D A B E@2 A B C D A B E@2 F@2 G@2 H@2 I@2 ~@8 A B C D A B E@2 A B C D A B E@2 F@2 G@2 H@2 I@2 ~@30 J@2 ~@58
>`.pickRestart({
  A: "[f5,bb5,d6]", B: "[f5,a5,c6]", C: "[e5,g5,c6]", D: "[d5,g5,bb5]", E: "[e5,g5,c6]/2", F: "[d6,f6,a6]/2",
  G: "[f5,bb5,d6]/2", H: "[f5,a5,c6]/2", I: "[f5,a5,d6]/2", J: "d3/2",
})).s("gm_percussive_organ").gain(0.35).pan(0.4)

// chords · distortion guitar
const distortion_guitar = note(`<
  ~@84 A B A C D E F G A B A C D H I ~@33 A B A C D E F G A B A C D H F G A B A C D E F G A B A C D E F G I ~
>`.pickRestart({
  A: "[a2,d3]@4 ~@4 [a2,d3]@5 ~@3", B: "[a2,d3]@2 ~@2 [a2,d3] c3@3", C: "[a2,d3]@4 ~@4 [a2,d3]@7 ~",
  D: "[bb2,f3]@4 ~@4 [bb2,f3]@5 ~@3", E: "[bb2,f3]@5 ~@3 a2@2 [c3,f3]@6", F: "bb2@4 ~@4 [bb2,f3]@5 ~@3, f3 ~@15",
  G: "[bb2,f3]@5 ~@3 bb2@2 [c3,f3]@6", H: "[bb2,f3]@5 ~@3 e3@2 f3@6", I: "[a2,e3,a3]!5 ~ [a2,e3,a3]!2",
})).s("gm_distortion_guitar").gain(0.48).pan(0.9)

// chords · rock organ
const rock_organ = note(`<
  ~@2 A@2 B@2 C@2 D@4 B@2 C@2 E@4 ~@24 F@2 G@2 H@2 I@2 ~@24 F@2 G@2 H@2 F@2 ~@23 J K@2 G@2 H@2 I@4 L@2 M@2 I@2 F@2 G@2
  H@2 F@2 ~@34
>`.pickRestart({
  A: "[b2,c3,d3,e3,f3,g3]/2", B: "[a4,d5,f5]/2", C: "[d5,f5,bb5]/2",
  D: "[[c5,f5,a5]@56 ~ [f2,g2,a2,b2,c3,d3] [e3,f3,g3] [a3,b3,c4] [d4,e4,f4] [g4,a4] [b4,c5,d5] [e5,f5]]/4", // F Dm7 Em Am Dm Gsus2 Bm Fmaj7
  E: "[[d5,f5,a5]@63 ~]/4", F: "[f5,bb5,d6]/2", G: "[f5,a5,c6]/2", H: "[e5,a5,c6]/2", I: "[f5,a5,d6]/2",
  J: "~@10 [e2,f2,g2] [a2,b2,c3] [d3,e3,f3,g3] [a3,b3,c4,d4] [e4,f4] [g4,a4]", K: "[[f5,bb5,d6], b4 ~@31]/2",
  L: "[bb5,d6,f6]/2", M: "[a5,c6,f6]/2",
})).s("gm_rock_organ").gain(0.33).pan(0.4)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@4 A B A C D B D E A B A C D B F G ~@16 H@2 I@2 J@2 K@2 L@2 M@2 N@2 O@2 ~@16 H@2 I@2 J@2 K@2 L@2 M@2 N@2 P@2 ~@24 L@2
  M@2 N@2 O@2 Q@2 R@2 S@2 O@2 L@2 M@2 N@2 P@2 ~@34
>`.pickRestart({
  A: "~ d4 f4 d4", B: "a4@13 ~@3", C: "bb4@13 ~@3", D: "~ c4 f4 c4", E: "~ c4, a4@13 ~@3", F: "~ a3 d4 f4",
  G: "~@2 f4@2 d4@3 ~, a4@13 ~@3", H: "[~ d4 ~@4 d4@2, d3, ~@4 f4@3 ~ a4@8, ~@3 d4@2 f4@3]/2",
  I: "[~ d4 ~@4 d4@2, f3, ~@4 f4@3 ~ bb4@8, ~@3 d4@2 c4@3]/2",
  J: "[~ c4 ~@4 c4 ~, f3@7 ~, ~@4 f4@3 ~ a4@6 ~@2, ~@3 c4@2 f4@2 ~]/2",
  K: "[~ d4 ~@4 c4 ~, d3@7 ~, ~@4 f4@3 ~ a4@6 ~@2, ~@3 d4@2 f4@2 ~]/2",
  L: "[~ d4 ~@2 bb4@4, bb3, ~@4 f4@3 ~@9, ~@3 d4@2 ~@3]/2", M: "[~ c4 ~@2 a4@4, ~@4 f4@3 ~@9, ~@3 c4@2 ~@3]/2",
  N: "[~@4 c4@4 ~@16 e4@7 ~, ~@4 e4@3 ~ a4@6 ~@2, ~@3 c4@2 ~@3]/2",
  O: "[~ d4 ~@4 d4 ~, ~@4 f4@3 ~ a4@6 ~@2, ~@3 d4@2 f4@2 ~]/2",
  P: "[~ d4 ~@4 d4@2, ~@4 f4@3 ~ bb4@6 ~@2, ~@6 d4@4 f4@5 ~]/2", Q: "[~ a3 ~@2 a4@4, ~@4 d4@3 ~@9, ~@3 f4@2 ~@3]/2",
  R: "[~ d4 ~@2 bb4@4, ~@4 f4@3 ~@9, ~@3 d4@2 ~@3]/2", S: "[~@4 c4@4 ~@16 f4@7 ~, ~@4 f4@3 ~ a4@6 ~@2, ~@3 c4@2 ~@3]/2",
})).s("gm_acoustic_guitar_steel").gain(0.47).pan(0.4)

// chords · piano
const piano = note(`<
  ~@36 A B C D E F G H I@2 J@2 K@2 L@2 ~@16 A B C D E F G H I@2 J@2 K@2 M@2 ~@24 I@2 J@2 K@2 L@4 I@2 J@2 L@2 I@2 J@2 K@2
  M@2 ~@34
>`.pickRestart({
  A: "[d5,f5,a5,d6] ~@3 [d5,f5,a5,d6] ~@3 [d5,f5,a5,d6] ~@3 [d5,f5,a5,d6] ~@3", // Dm
  B: "[d5,f5,a5,d6] ~@3 [d5,f5,a5,d6] ~@3 [d5,f5,a5,d6] ~@7", // Dm
  C: "[f5,bb5] ~@3 [d5,f5,bb5] ~@3 [d5,f5,bb5] ~@3 [d5,f5,bb5] ~@3, d5 ~@7", // Bb5 Bb
  D: "[d5,f5,bb5] ~@3 [d5,f5,bb5] ~@3 [d5,f5,bb5] ~@7", E: "[c5,f5,a5] ~@3 [c5,f5,a5] ~@3 [c5,f5,a5]@2 ~@6",
  F: "[c5,f5,a5] ~@3 [c5,f5,a5] ~@3 [c5,a5]@2 ~@6, ~@8 f5 ~@7", // F
  G: "[f5,a5,d6] ~@3 [f5,a5,d6] ~@3 [f5,d6]@2 ~@6, ~@8 a5 ~@7", H: "[f5,a5,d6] ~@3 [f5,a5,d6] ~@3 [f5,a5,d6] ~@7",
  I: "[bb4,d5,f5] ~@3 [bb4,d5,f5] ~@3 [bb4,d5,f5] ~@3 [bb4,d5,f5] ~@3", // Bb
  J: "[a4,c5,f5] ~@3 [a4,c5,f5] ~@3 [a4,c5,f5] ~@3 [a4,c5,f5] ~@3", // F
  K: "[a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3", // Am
  L: "[f4,a4,d5] ~@3 [f4,a4,d5] ~@3 [f4,a4,d5] ~@3 [f4,a4,d5] ~@3", // Dm
  M: "[f4,bb4,d5] ~@3 [f4,bb4,d5] ~@3 [f4,bb4,d5] ~@3 [f4,bb4,d5] ~@3", // Bb
})).s("gm_piano").gain(0.39)

// chords · lead 8 bass lead
const lead_8_bass_lead = note(`<
  ~@44 A@6 ~@3 B C@2 ~@5 D E@2 ~@12 F@6 ~@26 F@6 ~@2 G@4 H I@3 J@6 K@2 L M@2 ~ N O@2 ~ P Q R ~ N O@2 ~@19
>`.pickRestart({
  A: "[[bb3,d4]@23 ~ [f4,a4]@12 f4@26 e4@26 ~@8, ~@9 c4@4 ~@11]/6", B: "~@3 e4", C: "[g4@7 a4@2 f4@3 ~@4]/2",
  D: "~@2 e4 ~", E: "[g4@7 a4@2 f4@5 ~@2]/2", F: "[[bb3,d4]@12 [f4,a4]@6 f4@13 e4@13 ~@4, ~@9 c4@4 ~@11]/6",
  G: "[[a3,d4]@12 [c4,f4,a4]@6 d4@8 [c4,f4] ~ [d4,f4] ~ [c4,f4]@2, ~@9 bb3@3 ~@4, ~@18 f4 ~@13]/4", H: "[a3,c4,f4]",
  I: "[~@8 d4@3 ~ c4@2 d4@4 c4@2 a3@16 ~@12]/3", J: "[[bb3,d4]@12 [f4,a4]@6 f4@13 e4@13 ~@3 [a3,e4], ~@9 c4@4 ~@11]/6",
  K: "[bb3,f4]/2", L: "[a3,d4,d5] ~", M: "[~@8 [f4,d5,f5]@10 [d4,a4,d5]@7 ~@7]/2", N: "[d4,f4,bb4] ~",
  O: "[~@4 [f4,bb4,f5]@5 [f4,bb4,d5]@5 ~@2]/2", P: "[d4,f4,a4] ~", Q: "~ [f4,d5,f5]", R: "~ [d4,a4,d5]@4 ~@3",
})).s("gm_lead_8_bass_lead").gain(0.05)

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

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

// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
  A@3 B ~@7 C ~@7 C ~@23 D ~@39 C ~@8 E ~ E ~@12 F ~@22 G ~@9 H ~ H ~@23
>`.pickRestart({
  A: "~ x!3 ~ x!3", B: "x!2 ~@6", C: "~@3 x ~@4", D: "~ x ~@2", E: "~@14 x!2", F: "~@2 x!2 ~@4", G: "~ x", H: "~@7 x",
})).gain(0.32)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@20 A B C@2 A B C D A B C@2 A B C D ~@16 A B C@3 B C D A B C@2 A B C D ~@16 E F G H E F E H A C@2 B I F ~@42 A C@2 B
  I F J D ~@15 K ~@2
>`.pickRestart({
  A: "~ x!3", B: "x!3 ~", C: "x!4", D: "x", E: "~@2 x ~ x ~ x!2", F: "x ~ x!3 ~ x!2", G: "x ~ x ~ x ~ x!2",
  H: "x ~ x!3 ~@2 x", I: "~@4 x ~ x!2", J: "~@2 x!2", K: "x!2 ~@2",
})).gain(0.48)

// drums · low tom
const low_tom = s("lt").struct("<~@75 [~@6 x!2] ~@90>").gain(0.72)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@35 A ~@15 B ~@23 C ~@7 B ~@11 D ~@19 B ~@7 E ~@7 F ~@7 A ~@3 G ~@2 H I ~@7 A ~@5 A J K ~@2
>`.pickRestart({
  A: "~@6 x!2", B: "x ~@2 x ~@4", C: "~@2 x!2 ~@4", D: "~@14 x!2", E: "x ~@3 x!2 ~@2", F: "~@4 x!4", G: "~@7 x",
  H: "~@4 x!2 ~@2", I: "~@5 x!2 ~", J: "~@3 x", K: "x ~@5 x!2",
// … 50 more lines

More by Nomadi