Strudelify

Anche un uomo

Mina

KeyE minorTempo95 bpm
0:00/0:00
// Anche un uomo — Mina
// 95 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 105 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(95/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 · synth bass 2
const bass = note(`<
  ~ A@2 B@2 A@2 C@2 D E F G H I J K L M N O P M Q R S E F T U I J K L M N O P M V W X Y Z AA AB AC AD AE AF Y Z AA AB AC
  AD AG D E F T U I J K L M N O P M V W X Y Z AA AB AC AD AE AF Y Z AA AB AC AH AI@2 E F T U I J A@2 B@2 A@2 AJ@2 ~
>`.pickRestart({
  A: "[e2@6 b1@5 ~ b1 ~ a1@10 d2@2 e2@2 g2@2 a2@2]/2", B: "[a1@5 ~ b1@5 ~ b1 ~ e2@17 ~]/2",
  C: "[a1@5 ~ b1@5 ~ b1 ~ e2@10 a1@2 b1@2 d2@2 e2@2]/2", D: "e1", E: "a1@5 ~ a1@7 ~@3", F: "b1@2 ~ b1@4 ~",
  G: "e2@5 ~ e1@10", H: "e1@5 ~ e1@6 ~@4", I: "a1@4 ~@2 a1@7 ~@3", J: "b1@5 ~ b1@7 ~@3", K: "e2@5 ~ e1@8 b1!2",
  L: "e2@5 ~@3 e2@3 ~ b1@3 ~", M: "a1@9 ~ a1 ~@2 a1 ~@2", N: "a1@9 ~ a1 ~@2 a1@2 ~", O: "e2@10 e1 ~@2 e1 ~@2",
  P: "e1@9 ~ e1 ~@2 e1@2 ~", Q: "a1@9 ~ a1 ~@2 a#1 ~@2", R: "b1@10 f#2@3 b2@3, ~@10 f2 ~@5", S: "b1@3 ~",
  T: "e2@12 ~@2 e2 b1", U: "e2@5 ~ e1@6 ~@4", V: "a1@9 a1 a2 e2 c2 a1 e2 a1", W: "b1@6 f#2@3 ~ b2@2 ~@2 b1@2",
  X: "b1@6 b1 ~ b2@4 a2@4", Y: "a1@5 ~ a2@6 ~@2 e2 a2, ~@6 g2 ~@9", Z: "a1@5 ~ a2@7 ~ d2 b1, ~@6 g2 ~@9",
  AA: "e2@7 ~ e1@7 ~", AB: "e1@8 e2@5 ~@3", AC: "a1 a2", AD: "a1@5 e1 a1 a#1 b1@4 d#2@4", AE: "e2@3 e1@4 b1",
  AF: "e2@7 ~ e2@4 b1@3 ~, ~@12 a1 ~@3", AG: "e2@6 e1@8 e2 b1", AH: "a1@8 a2 ~ e2 ~ c2 ~ a1 ~", AI: "b1@3 b2@4 ~",
  AJ: "[a1@5 ~ b1@5 ~ b1 ~ e1@18]/2",
})).s("gm_synth_bass_2").gain(0.46)

// chords · epiano2
const epiano2 = note(`<
  A B@8 C D E F G H I J K L@2 M N O@2 P Q D E F R H I J K L@2 M N O@2 S T U V W@2 X Y Z AA AB AC W AD AE@2 AF@2 D E F R
  H I J K L@2 M N O@2 AG AH U AI AJ@2 AK AL AM AN AO AC AJ AP AQ@3 AR D E F R H I AS@8 ~
>`.pickRestart({
  A: "~@4 a2 b2 d3 e3",
  B: "[e2@3 ~ [b3,d4,g4] ~ [a3,d4,f#4]@5 ~ [a3,d4,f#4] ~ [g3,b3,c4,e4]@21 ~ [g3,b3,c4,e4] ~ [a3,d4,f#4]@5 ~ [a3,d4,f#4] ~@11 a2@2 b2@2 d3@2 e3@2 ~@4 [b3,d4,e4,g4] ~ [a3,d4,f#4]@5 ~ [a3,d4,f#4] ~ [g3,b3,c4,e4]@21 ~ [g3,b3,c4,e4] ~ [a3,d4,f#4]@5 ~ [a3,d4,f#4] ~ g4@16 b4@2, ~@46 [b3,d4,e4,g4]@21 ~@43 [b3,d4,e4]@18]/8", // G D Cmaj7 D Em7 D Cmaj7 D …
  C: "e2@15 ~", D: "~@4 [b3,c4,e4,g4]@5 ~ [b3,c4,e4,g4]@6, a2@7 ~",
  E: "~@4 [c4,d#4,f#4] ~ [f#3,c4,d#4,f#4]@10, [b1,b2]", F: "~@4 [d4,e4,g4,b4] ~ [d4,e4,g4,b4]@10, e2@7 ~",
  G: "~@3 [b3,d4,f#4,a4]@5, e2", H: "~@4 [b3,c4,e4,g4] ~ b3@5 ~ a3@3 ~, [a1,a2]@15 ~, ~@6 [c4,e4,g4]@9 ~",
  I: "~@4 [a3,c4,d#4,f#4] ~ [a3,c4,d#4,f#4]@9 ~, b1@15 ~", J: "~@4 [g3,b3,d4,f#4] ~ [g3,b3,d4,f#4]@10, e2@15 ~",
  K: "~@4 [g3,b3,e4] ~ [g3,b3,d4,e4]@6 [f#4,a4]@3 ~, e2@15 ~, ~@12 d4 ~@3", // Em Em7 F#m
  L: "[~@4 [b3,c4,e4,g4] ~ [b3,c4,e4,g4]@12 ~@2 [b3,c4,e4] ~ [b3,c4,e4,g4]@9 ~, [a3,e4,g4] ~@7, ~@2 a2@9 ~@21]/2", // Cmaj7 A7
  M: "~@4 [a3,b3,d4,f#4] ~ [a3,b3,d4,f#4]@10, e2@7 ~, ~@2 e3@9 ~@5", // Bm7
  N: "~@4 [g3,b3,d4] ~@8 [g3,b3,e4] ~@2, e2@11 ~ e2@2 ~@2, ~@2 e3@7 ~ e3@4 ~@2, ~@6 [g3,b3,d4,e4]@7 ~@3", // G Em Em7
  O: "[~@4 [b3,c4,e4,g4] ~ [b3,c4,e4,g4]@12 ~@2 [b3,c4,e4] ~ [b3,c4,e4,g4]@9 ~, ~@2 a2@9 ~@21]/2", // Cmaj7
  P: "~@4 [a3,c4,e4,f#4] ~@7 b1@4, b1@11 ~@5, ~@3 [a3,c4,e4,f#4]@5", Q: "[b1,a3,c4] ~@15, d#4@15 ~",
  R: "~@6 [b3,d4,f#4,a4]@6 d4 e4 b3 ~, e2, ~@12 g4@3 ~", S: "~@4 [a3,c4,e4,f#4] ~ [a3,c4,e4,f#4]@10, b1@11 ~@5",
  T: "[a3,c4,d#4]@8 ~@4 [a3,b3,d#4]@3 ~", U: "~@3 [e4,g4,b4] ~@2 [e4,g4,b4]@10",
  V: "~@3 [e4,g4,b4] ~@2 [e4,g4,b4]@6 ~ [e4,g4] ~@2", W: "~@3 [d4,f#4,g4,b4] ~@2 [d4,f#4,g4,b4]@9 ~",
  X: "~@3 [e4,g4,b4] ~@2 [e4,g4,b4]@8 ~@2", Y: "[c4,e4,g4]@7 ~ [c4,d#4,f#4]@7 ~",
  Z: "~@3 [d4,e4,a4] ~@2 [d4,e4,f#4,a4]@9 ~", AA: "[d4,e4,f#4,a4]@2 ~ [d4,e4,f#4,a4] ~@2 [d4,e4,f#4,a4]@7 ~@3",
  AB: "~@3 [e4,g4,b4] ~@2 [c4,e4,g4,b4]@9 ~", AC: "~@3 [c4,e4,g4,b4] ~@2 [c4,e4,g4,b4]@9 ~",
  AD: "~@3 [d4,f#4,g4,b4] ~@2 [d4,f#4,g4,b4]@7 ~@3", // Gmaj7
  AE: "[~@3 [b3,c4,e4,g4] ~@2 [b3,c4,e4,g4]@16 ~@2 [a3,c4,d#4,f#4]@6 ~@2]/2", // Cmaj7 Adim
  AF: "[~@3 [g3,b3,d4,e4] ~@12 b4@14 ~@2, ~@6 [g3,b3,d4,e4]@25 ~]/2", // Em7
  AG: "~@4 [a3,c4,e4,f#4] ~ [a3,e4,f#4]@10, ~@6 c4@5 ~@5", AH: "[a3,c4,d#4]@2 ~ [a3,b3,d#4]",
  AI: "~@3 [e4,g4,b4] ~@2 [e4,g4,b4]@6 ~ [e4,g4,b4] ~@2", // Em
  AJ: "[d4,f#4,g4,b4]@2 ~ [d4,f#4,g4,b4] ~@2 [d4,f#4,g4,b4]@9 ~", // Gmaj7
  AK: "[c4,e4,g4,b4]@2 ~ [c4,e4,g4,b4] ~@2 [c4,e4,g4,b4]@8 ~@2", AL: "[b3,c4,e4,g4]@7 ~ [a3,c4,d#4,f#4]@7 ~",
  AM: "[e4,f#4,a4]@2 ~ [b3,d4,e4,a4] ~@2 [b3,d4,e4,f#4,a4]@9 ~, d4 ~@15", // F#m7 Bm7
  AN: "[b3,d4,e4,f#4,a4]@2 ~ [b3,d4,e4,f#4,a4] ~@2 [b3,d4,e4,f#4,a4]@7 ~@3", AO: "~@3 [e4,g4,b4] ~@2 [e4,g4,b4]@9 ~",
  AP: "[d4,f#4,g4,b4]@2 ~ [d4,f#4,g4,b4] ~@2 [d4,f#4,g4,b4]@7 ~@3", // Gmaj7
  AQ: "[[b3,c4,e4,g4]@2 ~ [b3,c4,e4,g4] ~@2 [b3,c4,e4,g4]@13 [b3,c4,e4,g4] ~@2 [e4,g4]@16 ~@10, ~@22 [b3,c4] ~@25]/3", // Cmaj7 Em Cmaj7
  AR: "[b3,d#4,f#4]@15 ~", // B
  AS: "[e2@3 ~ [b3,d4,g4] ~ [a3,d4,f#4]@5 ~ [a3,d4,f#4] ~ [g3,b3,c4,e4]@21 ~ [g3,b3,c4,e4] ~ [a3,d4,f#4]@5 ~ [a3,d4,f#4] ~@11 a2@2 b2@2 d3@2 e3@2 ~@4 [b3,d4,e4,g4] ~ [a3,d4,f#4]@5 ~ [a3,d4,f#4] ~ [g3,b3,c4,e4]@21 ~ [g3,b3,c4,e4] ~ [a3,d4,f#4]@5 ~ [a3,d4,f#4] ~ [b3,d4,e4]@18, ~@46 [b3,d4,e4,g4]@21 ~@43 g4@16 ~@2]/8", // G D Cmaj7 D Em7 D Cmaj7 D …
})).s("gm_epiano2").gain(0.27).pan(0.6)

// chords · epiano2 · soft notes
const epiano2_soft = note(`<
  ~@10 A B C D ~ E F G A H I J A H K L A B C D ~ E F G A H I J A H M ~@17 A B C D ~ E F G A H I J A H N@3 ~@15 A B C D ~
  E ~@9
>`.pickRestart({
  A: "a1@7 ~", B: "~@4 f#3 ~@11", C: "~@2 e3@9 ~ e3 ~ e3@2", D: "~@4 b3 ~@11, ~@2 e3@13 ~", E: "b2@15 ~",
  F: "~@2 e3@9 ~ e3 ~ e3 ~", G: "~@4 d4 ~@11, ~ e3@6 ~", H: "~@4 g4 ~@7 a2@3 ~, a1", I: "~@7 e3",
  J: "~@4 e4 ~@8 d4 ~@2", K: "~@2 b2@7 ~ b2@6", L: "b2 ~@15", M: "~@2 b2@7 ~@7", N: "[~@2 b2@7 ~ b2@25 ~@13]/3",
})).s("gm_epiano2").gain(0.11).pan(0.6)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  ~@8 A@2 B C D@2 E F G@2 H@2 I@2 J@3 K B C D@2 E F G@2 H@2 I@2 J@3 L ~@16 B C D@2 E F G@2 H@2 I@2 J@3 K ~@16 B C D@2 E
  F ~@9
>`.pickRestart({
  A: "[~ [e3,g3,b3], ~@15 b2@17]/2", B: "~@7 a3, a2, ~ e3@2 g4@5, ~ a3@2 c4",
  C: "~@3 c4@2 ~ b3 a3, d#3, ~ f#3@5 ~@2, ~@4 a3@7 ~@5",
  D: "[~@14 g3@2 ~@6 b3@3 ~ e4@2 ~@2 b3@2, e2@7 ~ e2@8, ~@4 g3@7 ~ b3@6 e3@4 ~@10, ~@3 f#4@7 g3@2 ~@4]/2",
  E: "~@12 g3@3 ~, a2@15 ~, ~@2 e3@7 ~ e3@5 ~, ~@2 g3@3 ~@3, ~@6 c4@9 ~",
  F: "~@12 d#3 ~ c4@2, d#3@11 ~@5, ~ a3@5 a3@2, ~@4 c4@5 ~ c4@4 ~@2, ~@3 f#4@5",
  G: "[~@6 b3 ~ [b3,f#4]@2 g3@2 [b3,f#4]@2 g3 ~ [b3,e4]@10 e4 ~@5, e2@11 ~@5, ~ g3 ~@6]/2", // B5 E5
  H: "[~@13 e4@3, a2@7 ~ a2@7 ~, ~ e3@4 c4@4 e3@2 c4@5, ~@3 e4@9 ~@4, ~@20 b3@9 ~@3]/2",
  I: "[~@4 e3 ~@5 g3 ~@4 g3, e2@14 b3@4 e3@9 ~@5, ~@2 e3@4 f#4@15 ~ f#4@10, ~@4 g3@12 e2@13 ~@3, ~@10 d4@11 ~@5 d4@6]/2",
  J: "[~@42 f#4@5 ~, a2@10 e4@13 ~@3 c4@9 ~ c4@11 ~, ~@2 b3@4 g4@14 a3@7 ~@7 a3@4 ~@10, ~@4 c4@9 ~ c4@7 ~ g4@12 ~@4 e4@7 ~@3, ~@8 b3@8 a2@16 b2@11 ~@5]/3",
  K: "~ d#4@13 ~@2, [a3,c4]@7 ~", L: "~ d#4@9 ~@6, [a3,c4]@5 ~@3",
})).s("gm_acoustic_guitar_nylon").gain(0.2).pan(0.2)

// chords · acoustic guitar nylon · soft notes
const acoustic_guitar_nylon_2 = note(`<
  ~@10 A B C D ~@2 E F G@2 H I J K@2 L A B C D ~@2 E F G@2 H I J K@2 M ~@16 A B C D ~@2 E F G@2 H I J K@2 L ~@16 A B C D
  ~@11
>`.pickRestart({
  A: "~@5 e3@3", B: "~@13 f#3 ~@2, ~@5 b2@3, ~@6 f#3 ~", C: "~@2 e3@7 ~ d4@3 ~@3", D: "~@3 d4, ~ [d3,g3]",
  E: "~ b2@3 ~@4", F: "~@10 b3 ~@5", G: "[~@4 a3@3 ~ a3@4 ~@2 a3@5 ~@5 e3@3 ~ e3@2 b3@2, ~@3 e3 ~@4]/2", H: "~@3 e3",
  I: "~@2 g3 b3, ~@6 e3 ~", J: "~@4 e3@3 ~ e3@3 ~ e3@4",
  K: "[~@14 a3@2 ~@12 b2@2 e4 ~, ~@2 e3@9 ~ e3@4 ~@16, ~@2 e4@3 ~@3]/2", L: "b2@7 ~", M: "b2@5 ~@3",
})).s("gm_acoustic_guitar_nylon").gain(0.1).pan(0.2)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  ~ A@8 ~@17 B C@2 D E F G@2 H I ~@4 J K L ~@6 M N@3 O@3 ~@10 H I ~@4 P Q L ~@6 M N@3 R@3 S@2 ~ C@2 T E F A@8 ~
>`.pickRestart({
  A: "[~@3 [a3,d4]@4 [g3,c4]@12 [a3,d4]@4 [g3,b3]@12 [a3,d4]@4 [g3,c4]@12 [a3,d4]@4 [g3,b3]@9, ~@39 b5@25]/8", // D5 C5 D5 G D5 C5 D5 G
  B: "[f#3,c4,e4]", C: "[g4@8 f#4@7 ~ [b3,d4]@16, [a3,d#4]@15 a4@17]/2", D: "[g3,b4]@15 ~, b3 ~@15",
  E: "b4@8 a4@7 ~, [c4,e4]@15 ~", F: "c5@7 b4@7 ~@2, [d#4,f#4]@7 ~",
  G: "[[f#4,a4]@15 ~@7 b4@2 e5@2 b5@2 a5@2 d6@2, d4@23 ~@9, ~@2 [e4,g4] ~]/2", H: "g5@2 c6 ~ c5 ~ e5@7 ~@3",
  I: "c5 d5 c5 ~ c5 ~ e5@3 ~ c5@2 b4@4", J: "~@6 b4 a4", K: "b4@5 ~ b4@2 e5@3 f#5@5", L: "e5", M: "~@4 e5 f#5 g5 a5",
  N: "[b5@22 a5 g5]/3", O: "[f#5@2 d5@2 b4@4 g4@2 f#4@2 ~ b3@2 ~@9 e4@15 ~ d#4@8, ~@12 d4@2 ~ c4@24 f#4@9]/3",
  P: "a3@5 e4@4 f#4@2 ~ b4@2 a4@2", Q: "~ e4@2 ~@2 b4@2 ~ e5@4 f#5@4, b4 ~ f#4 ~@5",
  R: "[f#5@2 d5@2 b4@4 g4@2 f#4@2 ~ b3@2 ~@9 e4@16 e4@8, ~@5 c4@8 ~@3]/3", S: "[[b3,f#4]@31 ~]/2", T: "[g3,b3,b4]@15 ~",
})).s("gm_string_ensemble_2").gain(0.27)

// chords · string ensemble 2 · soft notes
const string_ensemble_2_soft = note("<~ A ~@3 B@5 ~@22 C@2 ~@22 D@2 ~@27 E ~@2 F G ~@10 B@5>".pickRestart({
  A: "[g3,b3]@3 ~@5", B: "[~@14 b4@51 ~@15]/5", C: "[b3@27 ~@5]/2", D: "[[b3,e4]@15 ~]/2", E: "~@6 d4 ~", F: "e4",
  G: "d#4@7 ~",
})).s("gm_string_ensemble_2").gain(0.16)

// chords · pad sweep
const pad_sweep = note("<~ A@8 ~@10 B C@2 D@3 ~@7 E@2 ~ B C@2 D@3 ~@23 E@2 ~ B C@2 D@3 ~@23 A@8 ~>".pickRestart({
  A: "[~@4 [f#5,a5] [g5,b5] [d5,f#5,a5]@7 ~ [c5,e5,g5]@19 ~@3 [c5,e5] [d5,f#5,a5] [a4,d5,f#5]@8 [b4,g5,b5]@19 ~@3 [f#5,a5] [g5,b5] [f#5,a5]@6 ~@2 [c5,e5,g5]@19 ~@3 [c5,e5] [d5,f#5,a5] [a4,d5,f#5]@7 ~ [b4,g5,b5]@18, ~@18 g5 ~@16 d5@4 ~@11 g5 ~@13]/8", // F#m G D C D Em F#m G …
  B: "[a2,g3,b3,c4,e4]", C: "[[g3,b3,d4,f#4]@15 ~ [g3,b3,d4,e4]@15 ~, [e2,e3]]/2",
  D: "[[a2,g3,b3,c4,e4]@21 ~@5 [g3,c4,e4]@21 ~]/3", E: "[[b3,d4,e4,g4]@7 ~]/2",
})).s("gm_pad_sweep").gain(0.22)

// other · lead 1 square
const lead_1_square = note(`<
  ~ A@2 B@2 C@2 D@2 ~@11 E F@2 ~@13 E F@2 ~@3 G H ~ I J ~@3 G H ~@22 G H ~ I J ~@3 G H ~@12 A@2 B@2 C@2 D@2 ~
>`.pickRestart({
  A: "[~@4 a5 b5 a5@7 ~ g5@18]/2", B: "[~@5 a5 f#5@7 ~ b5@18, ~@2 g5 ~@13]/2", C: "[~@4 a5 b5 a5@6 ~@2 g5@18]/2",
  D: "[~@5 a5 f#5@6 ~@2 b5@18, ~@2 g5 ~@13]/2", E: "b4 ~ d5@14", F: "[~@2 a4 b4 a4@8 d5@2 e5@16 ~@2]/2",
  G: "~@8 b3 [c4,c#4] d4 [d#4,e4] f4 [f#4,g4] g#4 [a4,a#4]", // C#maj7 Emaj7 Gmaj7 A#maj7
  H: "b4 [c5,c#5] d5 [d#5,e5] f5 [f#5,g5] g#5 [a5,a#5] b5@7 ~", I: "a5 ~ g5 ~ f#5 ~ d5 ~ b4 ~ g4 ~ f#4 ~ d4 ~",
  J: "b3@3 ~@13",
})).s("gm_lead_1_square").gain(0.16).pan(0.8)

// other · lead 1 square
const lead_1_square_2 = note(`<
  ~ A@2 B@2 C@2 D@2 ~@11 E@3 ~@13 E@3 ~@3 F G H I ~@4 F G ~@22 F G H I ~@4 F G ~@12 A@2 B@2 C@2 D@2 ~
>`.pickRestart({
  A: "[~@4 f#5 g5 f#5@7 ~ e5@18]/2", B: "[~@4 e5 f#5 d5@7 ~ g5@18]/2", C: "[~@4 f#5 g5 f#5@6 ~@2 e5@18]/2",
  D: "[~@4 e5 f#5 d5@6 ~@2 g5@18]/2", E: "[~@2 f#5 g5 f#5 g5 f#5@12 d5 e5 d5@8 b4@2 c5@15 ~@3]/3",
  F: "~@8 g3 [g#3,a3] a#3 [b3,c4] c#4 [d4,d#4] e4 [f4,f#4]", // Amaj7 Cmaj7 D#maj7 F#maj7
  G: "g4 [g#4,a4] a#4 [b4,c5] c#5 [d5,d#5] e5 [f5,f#5] g5@7 ~", H: "~@12 a5 ~ g5 ~",
  I: "f#5 ~ d5 ~ b4 ~ g4 ~ f#4 ~ d4 ~ b3@3 ~",
})).s("gm_lead_1_square").gain(0.16).pan(0.2)

// other · taiko drum
const taiko_drum = note(`<
  ~ A B C@5 D ~ B C@6 B@2 C@4 D ~ B@2 C@6 B@2 C@4 D ~@2 E@15 ~ B C@6 B@2 C@4 D ~@2 E@22 B C@6 ~@2
>`.pickRestart({
  A: "~@12 c6 ~ c6 ~", B: "~@14 c6 ~", C: "c6 ~@13 c6 ~", D: "c6 ~@15", E: "~@10 c6 ~ c5 ~ c6 ~",
})).s("gm_taiko_drum").gain(0.22).pan(0.8)

// other · electric guitar jazz
const electric_guitar_jazz = note("<~@26 A ~@31 B ~ C@2 D ~ E F ~@24 A ~@14>".pickRestart({
  A: "~@7 b4", B: "~@3 d5 ~ a#4 ~@2", C: "[~@12 a3 ~ a3@7 ~@11]/2", D: "~@4 e4@11 ~", E: "f#4 ~@2 g4@2 ~@2 a4",
  F: "~@2 b4@3 ~@11",
})).s("gm_electric_guitar_jazz").gain(0.05).pan(0.4)

// chords · pad poly
const pad_poly = note("<~@42 A@2 B@2 C@2 D@2 E@2 D@2 C@2 F@2 ~@16 E@2 D@2 C@2 D@2 E@2 D@2 A@2 G ~@16>".pickRestart({
  A: "[g3,b3,c4,e4]", B: "[g3,b3,d4,f#4]", C: "[[g3,b3,c4,e4]@3 [a3,c4,d#4,f#4]]/2", D: "[g3,b3,d4,f#4]/2",
  E: "[g3,b3,c4,e4]/2", F: "[g3,b3,e4]/2", G: "[b3,e4,f#4]",
})).s("gm_pad_poly").gain(0.17).pan(0.7)

// other · acoustic guitar steel
const acoustic_guitar_steel = note("<~@65 A B C D E F G H ~@16 I J K L ~@12>".pickRestart({
  A: "~@6 g2@2 a2@2 b2@2 e3@2 f#3 ~", B: "[f#3,g3]@2 ~ g3@3 f#3@2 g3@2 ~ g3@3 f#3@2",
  C: "g3@5 ~@2 g3 [g#3,a3]@2 g3@2 f#3@2 g3@2, ~@3 f#3 ~@4", D: "b2", E: "~@8 b2@3 e3@3 f#3 ~",
  F: "[f#3,g3]@2 ~ g3@3 f#3@2 g3@2 ~ g3@3 f#3 ~", G: "g3@5 ~@2 g3 [g#3,a3]@2 g3@2 f#3@2 g3 ~, ~@3 f#3 ~@4",
  H: "f#3@11 ~@5", I: "~@2 b2@2 d3@3 c3", J: "f#2@7 g2", K: "a2 c3 b2 a2", L: "g2@7 ~",
})).s("gm_acoustic_guitar_steel").gain(0.44)

// drums · kick
const kick = s("bd").struct(`<
  ~@18 A@4 B A B@2 A@4 B A B@2 A@4 B A B@2 C@15 B A@4 B A B@2 A@4 B A B@2 C@22 D ~ D ~ D ~ D ~@2
>`.pickRestart({
  A: "x ~@6 x", B: "x", C: "x!2", D: "x ~@2 x ~@3 x",
})).gain(0.64)

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@22 A ~ A ~@5 A ~ A ~@5 A ~ A ~@21 A ~ A ~@5 A ~ A ~@32>".pickRestart({
  A: "~@7 x",
})).gain(0.43)

// drums · rim
const rim = s("rim").struct("<~@41 [~@7 x] ~@31 [~@7 x] ~@22 [~ x!3] [x!4]!6 ~@2>").gain(0.43)

// drums · snare
const snare = s("sd").struct("<~@34 A@7 B C@15 ~@9 A@7 B C@22 ~@9>".pickRestart({
  A: "~ x ~ x", B: "~ x ~@2", C: "~@3 x ~@12",
})).gain(0.43)

// drums · hihat
// … 79 more lines

More by Mina