Strudelify
Parole parole cover art

Del Mio Meglio Boxset

Parole parole

Mina

KeyA minorTempo122 bpm
0:00/0:00
// Parole parole — Mina
// 122 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 106 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(122/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 · epiano1 · "Parole"
const epiano1 = note(`<
  ~@33 A B C D E F ~ G H I J ~@30 A B C D E F K L H M J ~ N B O D E F P L H I Q B R S@2 T@4 ~
>`.pickRestart({
  A: "[a3,c4]", B: "[a3,c4,e4]", C: "[f4,a4,d5]", D: "[d4,f4,a4]", E: "[a3,d4,f4] ~@15", F: "[f4,g4,d5], [b4,f5]@7 ~",
  G: "[g3,d4,g4] ~@15", H: "[a3,d4,f4]@15 ~", I: "[d4,e4,b4], [g#4,d5]@7 ~", J: "[c4,e4,a4]@15 ~", K: "[d4,g4,d5]@15 ~",
  L: "[a3,c4,e4]@15 ~", M: "[d4,e4,g#4,b4,d5]@15 ~", N: "[g#4,b4,d5,e5] ~@15", O: "[c4,e4,a4] ~@15", P: "[d4,g4,d5]",
  Q: "[c4,e4,a4]", R: "[g3,b3,c4,e4]@8 a4@2 a3 ~ c4@2 d4 ~, a2@11 ~@5",
  S: "[[d4,d#4] e4 ~@10 g3@2 ~@14 d4@2 d4@2, ~ g4@6 ~ d#3@7 ~, ~@3 e4@4 d4@7 ~@2, ~@10 c4@4 a3@16 g#3 ~, ~@13 c4@2 ~]/2", // D#maj7
  T: "[~@2 d3@2 ~@8 g4@3 ~@17 g5@32, c4@15 b3@49, g#3@6 g#3@9 ~ c4@48, ~@4 d3@11 ~@3 b4@46, ~@8 e4@7 ~@2 [e4,g4]@47]/4", // Em
})).s("gm_epiano1").gain(0.25)

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

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  A@3 B C D E F G H I F J K L M N@2 O P@2 Q@2 P@2 R S T H U@2 V W X@2 Y@2 Z@2 AA AB AC AD AE AF C D E F G H I F AG AH AI
  AJ N@2 AK P@2 AL@2 P@2 AM S AN H AO@2 V W X@2 Y@2 Z@2 AP AB AQ AR AE AS AT@2 AU@2 Z@2 AA AB AC AD AV@2 AW AX AY AZ@3
  ~@2
>`.pickRestart({
  A: "[~@28 e3@3 ~ [f#3,a3]@2 [f#3,a3,c4]@2 ~@2 [a3,c4,d#4]@3 ~ [a3,c4,d#4,f#4]@2 ~@2 [c4,d#4,f#4,a4]@2, a2@8 a2@6 d4@10 ~@2 b3@5 d#3@3 ~@14, ~@2 e3@6 e3@4 e3@6 e3@6 g2@7 f#2@15 ~@2, ~@4 b3@4 ~@2 b3@6 g2@6 c4@9 ~@17, ~@6 c4@10 ~@4 b3@4 e3@4 ~@3 c3@5 ~@12]/3", // F#m F#dim Adim Cdim
  B: "~ [f2,d3,g#3,c4] ~ [f2,d3,g#3,c4] [f2,c4] [e2,b3] [e2,d3,g#3,b3] ~, ~@2 [d3,g#3] ~", // Dm7b5 F5 E5 E7 Ddim
  C: "[e3,c4]@2 ~@8 [e3,a3,c4] ~@3 [a2,e3,a3,c4]@2, a3 [e3,a3,c4] ~@2, ~@3 e2@3 ~@2", // C Am
  D: "~@6 [a3,d4,f4] ~@3 [a3,d4,f4]@4 d3 ~, ~@3 a2@3 ~@2", // Dm
  E: "[b3,f4,g4]@2 ~@4 d3 ~@3 [b3,f4,g4]@2 ~@2 [g3,b3,f4,g4]@2, g3 [b3,f4,g4] d3 ~", // G7
  F: "~@6 [e2,e3,a3,c4] ~@3 [e3,a3,c4]@4 e2@2, ~@2 e2 ~", // Am
  G: "[e3,a3,c4]@2 ~@8 [e3,a3,c4] ~@3 [a2,e3,a3,c4]@2, a2 [e3,a3,c4] ~@2, ~@3 e2@3 ~@2", // Am
  H: "~@6 [a3,c4,g4] ~@3 [a3,c4,g4]@4 f3 ~, ~@3 c3@3 ~@2", // Am7
  I: "[g#3,d4,e4]@2 ~@4 b2 ~@3 [g#3,d4,e4]@2 ~@2 [e3,g#3,d4,e4]@2, e3 [g#3,d4,e4] b2 ~", // E7
  J: "[a3,d4,f4]@2 ~@8 [a3,d4,f4] ~@3 [d3,a3,d4,f4] ~, d3 [a3,d4,f4] ~@2, ~@3 a2@3 ~@2", // Dm
  K: "~@6 [b3,f4,g4] ~@3 [b3,f4,g4]@4 g3 ~, ~@3 d3@3 ~@2", // G7
  L: "[e3,g3,d4]@2 ~@4 g2 ~@3 [e3,g3,d4]@2 ~@2 [c3,e3,g3,d4]@2, c3 [e3,g3,d4] g2 ~", // Em7 C Em7
  M: "~@6 [c3,a3,c4,g4] ~@3 [a3,c4,g4]@4 c3 ~, ~@2 c3 ~", // Am7
  N: "[[g#3,d4,e4]@2 ~@8 [g#3,d4,e4] ~@3 [e3,g#3,d4,e4]@6 ~@2 [g#3,d4,e4] ~@3 [g#3,d4,e4]@4 e3@2, e3 [g#3,d4,e4] ~@6, ~@3 b2@3 ~@5 b2@3 ~@2]/2", // E7
  O: "[e3,g#3,d4,e4]@2 ~@8 [g#3,d4,e4] ~@3 [e3,g#3,d4,e4] ~, ~ [e3,d4,e4] ~@2, ~@3 b2@3 ~@2", // E7
  P: "[[e3,c4]@2 ~@8 [e3,a3,c4] ~@3 [a2,e3,a3,c4]@6 ~@2 [e3,a3,c4] ~@3 [e3,a3,c4]@4 a2@2, a3 [e3,a3,c4] ~@6, ~@3 e2@3 ~@5 e2@3 ~@2]/2", // C Am
  Q: "[[a3,d4,f4]@2 ~@4 a2 ~@3 [a3,d4,f4]@2 ~@2 [d3,a3,d4,f4]@6 ~@6 [a3,d4,f4] ~@3 [d3,a3,d4,f4] ~, d3 [a3,d4,f4] a2 ~@2 [a3,d4,f4] ~@2, ~@11 d3@3 ~@2]/2", // Dm
  R: "[a3,d4,f4]@2 ~@4 a2 ~@3 [a3,d4,f4]@2 ~@2 [d3,a3,d4,f4]@2, d3 [a3,d4,f4] a2 ~", // Dm
  S: "~@6 [d3,b3,f4,g4] ~@3 [b3,f4,g4]@4 d3@2, ~@2 d3 ~", // G7
  T: "[g3,b3,f4,g4] ~@9 [e3,g3,d4] ~@3 [c3,e3,g3,d4]@2, ~ [c3,g3,d4] ~@2, ~@3 g2@3 ~@2", // G7 Em7 C Csus2
  U: "[[a3,d4,f4]@2 ~@4 a2 ~@3 [a3,d4,f4]@2 ~@2 [d3,a3,d4,f4]@6 ~@2 [a2,a3,d4,f4] ~@3 [a3,d4,f4]@4 a2 ~, d3 [a3,d4,f4] a2 ~@3 a2 ~]/2", // Dm
  V: "[d#3,a3]@2 ~@8 [d#3,a3,b3] ~@3 [b2,d#3,a3,b3]@2, b3 [d#3,a3,b3] ~@2, ~@3 f#2@3 ~@2", // D#dim B7
  W: "~@6 e2@2 ~@2 [e3,d4,e4] ~@3 [e3,g#3,d4,e4]@2", // E7
  X: "[[a3,c4]@2 ~@2 [e3,a3,c4]@4 ~@2 [e3,a3,c4] ~@3 [e3,a3,c4]@6 ~@2 [e3,a3,c4] ~@3 [e3,a3,c4]@4 ~@2]/2", // Am
  Y: "[[a3,d4,f4]@2 ~@2 [a3,d4,f4]@4 ~@2 [a3,d4,f4]@2 ~@2 [a3,d4,f4]@6 ~@2 [a3,d4,f4] ~@3 [a3,d4,f4]@4 ~@2]/2", // Dm
  Z: "[[a3,d4,f4] ~@3 [g3,f4,g4]@4 ~@2 [b3,f4,g4] ~@3 [b3,f4,g4]@5 ~ [b3,f4,g4]@2 [f4,b4]@2 g4@4 f4@2 [b3,f4,g4]@2, ~@22 b3@7 ~@3, ~@24 f4@3 ~@5]/2", // Dm G7 Fdim G7
  AA: "~@2 [c3,g3,d4] ~@3 [e3,g3]@2 [e3,g3,d4]@2 [e3,g3,d4] ~@3 [e3,g3,d4]@2", // Csus2 Em Em7
  AB: "~@6 [e3,a3,c4] ~@3 [e3,a3,c4]@4 ~@2", AC: "[a3,d4,f4]@2 ~@2 [a3,d4,f4]@4 ~@2 [a3,d4,f4] ~@3 [a3,d4,f4]@2",
  AD: "~@2 [g#3,d4,e4] [d4,g#4] e4@2 d4 [g#3,d4,e4], ~@6 g#3@7 ~@3, ~@8 d4@3 ~@5", // E7 Ddim E7
  AE: "[a3,c4]@2 ~@2 [e3,a3,c4]@4 ~@2 [e3,a3,c4]@2 ~@2 [e3,a3,c4] ~", // Am
  AF: "~@2 d4@2 [d4,e4,g#4] ~@5 [e3,d4,e4] ~@3 [e3,g#3,d4,e4]@2", // E7
  AG: "[a2,e3,a3,c4] ~@9 [a3,d4,f4] ~@3 [d3,a3,d4,f4]@2, ~ [a3,d4,f4] ~@2, ~@3 a2@3 ~@2", // Am Dm
  AH: "~@6 [b3,f4,g4] ~@3 [b3,f4,g4]@4 g3@2, ~@3 d3@3 ~@2", // G7
  AI: "[e3,g3,d4]@2 ~@4 g2 ~@3 [e3,g3,d4]@2 ~@2 [c3,e3,g3,d4] ~, c3 [e3,g3,d4] g2 ~", // Em7 C Em7
  AJ: "~@6 [c3,a3,c4,g4] ~@3 [a3,c4,g4]@4 c3@2, ~@2 c3 ~", // Am7
  AK: "[e3,g#3,d4,e4]@2 ~@8 [g#3,d4,e4] ~@3 [e3,g#3,d4,e4]@2, ~ [e3,d4,e4] ~@2, ~@3 b2@3 ~@2", // E7
  AL: "[[a3,d4,f4]@2 ~@4 a2 ~@3 [a3,d4,f4]@2 ~@2 [d3,a3,d4,f4]@6 ~@6 [a3,d4,f4] ~@3 [d3,a3,d4,f4]@2, d3 [a3,d4,f4] a2 ~@2 [a3,d4,f4] ~@2, ~@11 d3@3 ~@2]/2", // Dm
  AM: "[a2,e3,a3,c4] ~@5 a2 ~@3 [a3,d4,f4]@2 ~@2 [d3,a3,d4,f4]@2, ~ [a3,d4,f4] a2 ~", // Am Dm
  AN: "[e3,g3,d4]@2 ~@8 [e3,g3,d4] ~@3 [c3,e3,g3,d4]@2, c3 [e3,g3,d4] ~@2, ~@3 g2@3 ~@2", // Em7 C Em7
  AO: "[[a3,d4,f4]@2 ~@4 a2 ~@3 [a3,d4,f4]@2 ~@2 [d3,a3,d4,f4]@6 ~@2 [a2,a3,d4,f4] ~@3 [a3,d4,f4]@4 a2@2, d3 [a3,d4,f4] a2 ~@3 a2 ~]/2", // Dm
  AP: "~@2 [c3,g3,d4] ~@3 [e3,g3]@2 [e3,g3,d4]@2 [e3,g3,d4] ~@3 [e3,g3,d4] ~", // Csus2 Em Em7
  AQ: "[a3,d4,f4]@2 ~@2 [a3,d4,f4]@4 ~@2 [a3,d4,f4] ~@3 [a3,d4,f4] ~", // Dm
  AR: "~@4 [g#3,d4,e4]@2 [d4,g#4]@2 e4@4 d4@2 [g#3,d4,e4] ~, ~@6 g#3@7 ~@3, ~@8 d4@3 ~@5", // E7 Ddim E7
  AS: "~@2 d4@2 [d4,e4,g#4] ~@5 [g#3,d4,e4] ~@3 [e3,g#3,d4,e4]@2, ~@3 e2@3 ~@2", // E7
  AT: "[[e3,d4,e4] ~@3 [a3,c4]@4 ~@2 [e3,a3,c4] ~@3 [e3,a3,c4]@6 ~@2 [e3,a3,c4] ~@3 [e3,a3,c4]@4 ~@2]/2", // E7 Am
  AU: "[[e3,a3,c4] ~@3 [a3,d4,f4]@4 ~@2 [a3,d4,f4]@2 ~@2 [a3,d4,f4]@6 ~@2 [a3,d4,f4] ~@3 [a3,d4,f4]@4 ~@2]/2", // Am Dm
  AV: "[[a3,c4]@2 ~@2 [e3,a3,c4]@4 ~@2 [e3,a3,c4]@2 ~@2 [e3,a3,c4]@6 ~@2 [e3,a3,c4] ~@3 [e3,a3,c4]@4 ~@2]/2", // Am
  AW: "~@2 [a2,g3,b3,c4] ~ [a2,g3,b3,c4,e4] ~@3 [a2,g3,b3,c4,e4] ~ [a2,g3,b3,c4,e4] ~@3 [a2,g3,c4,e4] ~", // Am7
  AX: "[g2,g3,b3,c4,e4]@2 ~@2 [g2,g3,b3,c4,e4] ~ [g2,g3,b3,c4,e4]@2 ~@2 [g2,g3,b3,c4,e4]@5 ~", // Cmaj7
  AY: "[f#2,d#3,a3,d4] ~ [f#2,d#3,a3,d4]@2 ~@2 [f#2,d#3,a3,d4] ~ [f#2,d#3,a3,d4]@2 ~@2 [f#2,d#3,a3,d4] ~ [f2,d3,g#3,c4]@2", // D Dm7b5
  AZ: "[~@2 [f2,d3,g#3,c4] ~ [f2,d3,g#3,d4] ~ f2 ~ [e2,g#3,c4]@4 [d3,g#3,d4] ~@5 b3@22 ~@8, ~@7 d3@4 ~@4 a2@25 ~@8, ~@2 [c3,e3]@3 ~, ~@17 g3@23 ~@8]/3", // Dm7b5 Ddim Eaug Ddim C
})).s("gm_acoustic_guitar_nylon").gain(0.2)

// other · alto sax
const alto_sax = note("<A B@2 ~@95 C D E@3 ~@3>".pickRestart({
  A: "~@3 e3@3 a3 ~ b3 ~ d4@4 c4@2",
  B: "[b3 a3 ~ c4@6 b3 a3 ~ a3 b3 ~@2 a3 [g3,g#3] [e3,f#3] d#3@10 ~@3, ~@11 g#3@2 ~@2 c4@2 ~@15]/2", // G#maj7 Esus2
  C: "~@4 b2@5 ~ c3@3 e3@2 ~", D: "a3@12 ~ c4@2 b3", E: "[~@2 d4@3 d4@8 c4 ~ d4@2 b3@11 c4@5 b3 a#3 a3@6 ~@7]/3",
})).s("gm_alto_sax").gain(0.35)

// other · alto sax · soft notes
const alto_sax_soft = note("<~@2 A ~@99 B C@2 ~>".pickRestart({
  A: "~@2 f3 ~@13", B: "~@9 [f#3,g3] f3 e3@4 d3", C: "[c3 b2@10 ~@5]/2",
})).s("gm_alto_sax").gain(0.15)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  ~@33 A@2 B@2 C@2 D E F G H@2 ~@29 A@2 I@2 J@2 K@2 L@3 M N@2 O@2 J@2 P Q R@2 S@2 ~@8
>`.pickRestart({
  A: "[a3@3 e4, c4]/2", B: "[[a4,d5], f4 ~@31]/2", C: "[f4@23 ~ d5@8, b4, d4 ~@31]/2", D: "[g4,d5], a#4 ~@15",
  E: "[e4,a4]@15 ~", F: "[d4,f4]@15 ~", G: "[c#4,f#4] ~@7 b4@8, g#4, d4 ~",
  H: "[[e4,a4]@15 [b4,d5]@6 [d4,g#4]@3 ~@8, c4 ~@31]/2", I: "[[a4,d5]@31 ~, f4 ~@31]/2",
  J: "[f4@23 ~ d5@8, b4@31 ~, d4 ~@31]/2", K: "[[g4,d5]@15 [e4,a4]@16 ~]/2",
  L: "[[d4,f4]@15 d4@8 ~ b4@7 c4 a4@16, ~@15 g#4@16 e4@16 ~]/3", M: "[b4,d5]@5 ~@11",
  N: "[[d4,g#4] ~@23 e4@8, c4, a3@23 ~@9]/2", O: "[[a4,d5]@31 ~]/2", P: "[g4,d5]", Q: "[e4,a4]@15 ~, b4 ~@15",
  R: "[[d4,f4]@15 d4@8 ~ b4@8, ~@15 g#4@16 ~]/2", S: "[[e4,a4], c4 ~@31]/2",
})).s("gm_string_ensemble_2").gain(0.12).pan(0.9)

// other · alto sax
const alto_sax_2 = note(`<
  ~@4 A@2 B C@4 D@2 ~ E@3 F@4 G@4 H I J K L M@2 N O@2 P@2 Q@2 R S@5 T@2 U V@2 W X Y@2 ~ Z@3 ~ AA@3 AB@4 H AC AD@4 AE AF
  AG@2 AH AI AJ@8 AK@2 AL@2 AM@2 AN AO@3 ~@10
>`.pickRestart({
  A: "[~@6 e3@2 a3 ~ c4 c4@2 ~ a3@7 a3 ~@2 d4@2 f4@2 ~@4]/2", B: "~@2 f4@3 d4 ~@2",
  C: "[c4@23 ~ c4 ~ c4 ~ a3 ~ c4 c4@2 ~@4 a3@8 ~@2 b3@15 ~@2]/4",
  D: "[~@6 e3@4 a3 ~ c4 ~@2 a3@6 ~ a3 ~ d4@2 f4@2 ~@4]/2",
  E: "[c4@3 ~ c4 ~ c4@2 e4 ~ g4@2 ~@3 f4@13 ~@2 f4 e4@5 b3 ~ e4@4 b3 ~ e4 ~ e4@2, ~@7 e4 ~@16]/3",
  F: "[~@2 b3@29 c4@7 a4@6 ~@2 a4@5 a4@2 ~ c4@4 c4@2 c4@2 c4 ~]/4",
  G: "[a3@2 ~@2 a4 ~ a4@34 a4@3 a4 [e4,a4] ~ a4@5 a4@2 ~ c4@3 ~ c4@2 c4@2 c4 ~]/4", // A5
  H: "a3@2 ~@2 a4 ~ a4 ~ a4@2 f4@2 f4 ~ f4 ~", I: "g4@10 ~ f4@2 d4!2 ~", J: "c4@2 ~@2 g4 ~ g4 ~ g4@2 e4@2 e4 ~ e4@2",
  K: "f4@13 ~@3", L: "~@4 a3 ~ f4@4 a3 ~ f4 ~ f4@2", M: "[~@2 a3@13 b3@3 f#3@2 a3@2 a3@2 b3@2 b3@2 b3@2 d#4 d4]/2",
  N: "~@2 e4@11 ~ e4 ~", O: "[e4@4 c4 ~ e4 ~ e4@2 c4 ~ e4 ~ e4@4 c4@11 e4 ~@2]/2",
  P: "[f4@4 d4 ~ f4 ~ f4@2 d4@2 f4 ~ f4@4 d4@12 f4 ~]/2",
  Q: "[g4@4 d4 ~ g4 ~ g4@2 d4 ~ g4 ~ g4@4 ~@12 g4 ~, f4 ~@31]/2", R: "g4@3 ~ e4 ~ g4 ~ g4@2 e4@2 g4@2 g4@2",
  S: "[a4@2 e4 ~ a4 ~ a4@3 ~ e4 ~ a4 ~ a4@5 ~ a4@6 ~ f4@2 f4 ~ b3@2 ~ b3@8 g#4 b3 e4@2 e4 e4@2 ~@14 b3@16 ~, ~@30 a3@2 ~@15 g#4 ~@32]/5",
  T: "[~@6 e3 ~ a3 ~ c4 c4@2 a3@7 ~@2 a3 ~ d4@2 f4@2 ~ f4 ~@2]/2", U: "~@2 f4@3 ~ f4 ~",
  V: "[c4@24 c4 ~ c4 ~ a3@2 c4 ~]/2", W: "~@2 a3@2 ~ a3@9 ~@2", X: "b3@15 ~",
  Y: "[~@6 e3@4 a3 ~ c4 c4@2 a3@6 ~ a3 ~ d4@2 f4@2 ~@4]/2",
  Z: "[c4@3 ~ c4 ~ c4@2 e4 ~ g4 ~@4 f4@14 ~ f4 e4@4 ~ b3 ~ e4@4 b3 ~@3 e4@2]/3",
  AA: "[~@15 c4@6 ~ a4@4 a4@2 ~@2 a4@5 ~ a4@2 c4@3 ~ c4 ~ c4@2 c4 ~]/3",
  AB: "[a3@2 ~@2 a4 ~ a4@33 ~ a4@3 ~ a4 e4 a4@5 ~ a4@2 c4@4 c4@2 c4@2 c4 ~]/4", AC: "g4@10 f4@2 d4 ~ d4 ~",
  AD: "[~@4 g4 ~ g4 ~ g4@2 e4@2 e4 ~ e4 f4@14 ~ f4@5 ~ a3 ~ f4@4 a3 ~ f4 ~ f4@4 a3@13 ~, b3]/4",
  AE: "~@4 a3 ~ a3@2 b3@2 b3@2 b3 ~ d#4@2, b3 ~, ~@3 f#3@2 ~@11", AF: "d4 e4@6 e4",
  AG: "[e4@4 c4 ~ e4 ~ e4@2 c4 ~ e4 ~ e4@4 c4@12 e4 ~]/2", AH: "f4@4 d4@2 f4 ~ f4@2 d4@2 ~@2 f4@2",
  AI: "~@2 d4@12 f4 ~",
  AJ: "[g4@4 d4@2 g4 ~ g4@2 d4@2 g4 ~ g4@3 ~ d4@11 g4 ~@6 e4@2 g4 ~ g4@2 e4 ~ g4@2 g4 a4@2 ~ e4 ~ a4 ~ a4@3 ~ e4 ~ a4 ~ a4@5 ~ a4@7 f4@2 f4 a3 b3@2 ~ b3@8 g#4 b3 e4@2 e4 e4@3 ~@2 e4@11 d4@2 ~ b3@2 b3@2 g#3 ~ g#3@2 e3 ~ e3!2 e4 ~, f4@75 ~@36 c4 ~@16]/8",
  AK: "[e4@4 c4 ~ e4 ~ e4@2 c4 ~ e4 ~ e4@4 c4@2 c4@2 a3 ~ a3@2 e3 ~ e3 ~ e4 ~]/2",
  AL: "[f4@4 d4 ~ f4 ~ f4@2 d4 ~ f4 ~ f4@4 d4@12 f4 ~, e4 ~@31]/2",
  AM: "[g4@4 d4 ~ g4 ~ g4@2 d4@2 g4 ~ g4@4 ~@12 g4 ~, f4 ~@31]/2", AN: "g4@4 e4@2 g4 ~ g4@2 e4@2 g4 ~ g4@2",
  AO: "[a4@2 e4 ~ a4 ~ a4@3 ~ e4 ~ a4 ~ a4@4 ~@2 a4@7 f4@2 f4 a3 b3@2 ~@2 b3@7 g#4 b3 e4@2 e4 ~]/3",
})).s("gm_alto_sax").gain(0.12)

// other · alto sax · soft notes
const alto_sax_soft_2 = note(`<
  ~@5 A@2 ~@2 B ~ C D@2 ~ E ~@3 F ~@5 G ~@2 H@2 ~@4 I ~@3 J ~@4 K ~@2 L@2 ~ M@2 ~@2 D@2 N ~ O P@2 Q ~@3 R ~ G ~ S ~@7 T
  ~@3 U ~@2 V ~@7 J ~@3 W@3 ~@8
>`.pickRestart({
  A: "[~@13 f4 f4@4 ~@10 f4 ~ b3@2]/2", B: "~ a3 ~@6", C: "~@13 c4@2 ~", D: "[~@13 f4 f4@12 d4@3 f4@2 ~]/2",
  E: "~@13 f4 ~@2", F: "~@12 e4 ~@3", G: "~@15 f4", H: "[~@7 f4@3 ~@6]/2", I: "~@15 e4", J: "~@3 d4@11 ~@2",
  K: "~@3 e4@10 ~@2 c4", L: "[~@14 f4@5 ~@7 d4@2 ~@2 b3@2]/2", M: "[~@15 c4@2 ~@15]/2", N: "~@14 e4 ~",
  O: "~@13 e4 ~@2", P: "[~@2 b3@29 ~]/2", Q: "~@12 [e4,a4] ~@3", R: "~@11 a4 ~@4", S: "c4@3 ~@13", T: "e4 ~@11 f4 ~@3",
  U: "g4 ~@3", V: "~@15 g#4", W: "[~@15 e4@3 ~@2 e4@17 ~@11, ~@15 g#4 ~@32]/3",
})).s("gm_alto_sax").gain(0.08)

// drums · kick
const kick = s("bd").struct("<~@19 A@3 B A@9 C A@12 ~@15 A@3 B A@9 C A@28 ~@2 D ~>".pickRestart({
  A: "x ~@2 x!2 ~@2 x", B: "x", C: "x ~@6 x", D: "~@3 x ~@4",
})).gain(0.35)

// drums · rim
const rim = s("rim").struct(`<
  ~@19 A@3 B A@3 C A@3 C A@2 ~@11 D ~@15 A@3 B A@3 C A@3 C A@2 ~@11 E ~@12 A@3 C ~@4
>`.pickRestart({
  A: "x ~@4 x ~@2", B: "~ x ~@6", C: "~ x ~@3 x ~@2", D: "~@3 x ~ x ~@2", E: "~@5 x ~@2",
})).gain(0.35)

// drums · snare
const snare = s("sd").struct(`<
  ~@4 A B@8 C B@3 C D B@3 D B@9 E ~@11 F B@9 C B@3 C D B@3 D B@9 E ~@11 F ~@18 G ~
>`.pickRestart({
  A: "~@3 x!2 ~@2 x", B: "x ~@2 x!2 ~@2 x", C: "x ~@5 x ~ x ~ x!2 ~@2 x ~", D: "x ~@3 x ~ x ~ x ~@2 x ~@2 x ~",
  E: "x ~@5 x ~ x ~@2 x ~@4", F: "~@11 x ~@4", G: "~@3 x ~@12",
})).gain(0.25)

// drums · clap
const clap = s("cp").struct(`<
  ~@13 A ~@3 A B ~@3 B ~@9 B C D@2 E C F D E C F D G ~@9 A ~@3 A B ~@3 B ~@9 B C D@2 E C F D E C F D H C D@2 E C F D E C
  F D E ~@8
>`.pickRestart({
  A: "~@3 x", B: "~@2 x!2", C: "x ~@4 x ~@2", D: "~@5 x ~@2", E: "~ x ~@3 x ~@2", F: "~@10 x ~ x!2 ~@2",
// … 95 more lines

More by Mina