Strudelify

Occhi blu non mi mollare

Daniele

KeyB majorTempo127 bpm
0:00/0:00
// Occhi blu non mi mollare — Daniele
// 127 bpm, 4/4, key B major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 127 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(127/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 · fretless bass
const bass = note(`<
  A B C D E F G H I B C D E F G H J K L M N O P Q I B C D E F G H J K L M N O P Q R@2 S T U V W X Y Z I AA C D E F G H I
  B AB D E F G H J K L M N AC AD AE AF AG AH AI AJ AK AL AM@6 AN@6 AO@4 AP@5 AQ@16 AR@8 ~
>`.pickRestart({
  A: "~@4 b2@3 ~@5 b1 ~@3 b2@2 ~@6 b1 ~@3 b2@3 ~, ~@2 b2@2 ~ b2@2 ~",
  B: "b2@4 b1@4 b2@3 ~ b2@3 ~ b1@4 b2@2 ~@2 b2@2 ~@2 b1@3 ~", C: "b2 ~@3 b1@4 b2@2 ~@2 b2@4 b1@4 b2@2 ~@2 b2@4 b1@4",
  D: "b2@2 ~@2 b2@4 b1@4 b2@3 ~ b2@3 ~ b1@3 ~ b2@2 ~@2 b2@4", E: "b1@8 b2@3 ~ b2@4 b1@4 b2@2 ~@6 b1 ~@3, ~@3 b2",
  F: "b2@2 ~@6 b1 ~@3 b2@2 ~@2 b2@4 b1@4 b2@2 ~@2 b2@3 ~, ~ b2@2 ~@5",
  G: "b1@4 b2@3 ~@5 b1 ~@3 b2@3 ~@5 b1 ~@3 b2@3 ~, ~@2 b2@2 ~ b2@2 ~",
  H: "~@4 b1 ~@3 b2@3 ~@5 b1 ~@3 b2@3 ~ b2@2 ~@2 b2@3 ~, b2@2 ~ b2@2 ~@3",
  I: "b1@4 b2@3 ~@5 b1 ~@3 b2@2 ~@6 b1 ~@3 b2@3 ~, ~@2 b2@2 ~ b2@2 ~", J: "g#2@8 ~@4 g#2 ~@3 g#2@14 ~@2",
  K: "g#2@3 ~@9 g#2 ~@3 g#2 ~@3 g#2@6 ~@2 g#2@4", L: "d#2@9 ~@3 d#2@3 ~ d2@9 ~@3 d2@3 ~",
  M: "c#2@9 ~@3 c#2@3 ~ c2@9 ~@3 c2@3 ~", N: "e2@9 ~@3 e2 ~@3 e2@8 ~@4 e2@3 ~", O: "f2@9 ~@3 f2@2 ~@2 f2@12 ~@4",
  P: "c#2@9 ~@3 c#2 ~@3 c#2@15 ~", Q: "f#2@9 ~@3 f#2 ~@3 f#2@2 ~@2 f#2@5 ~@3 f#2@3 ~",
  R: "[b1@9 ~@3 b1@11 ~ [g#1,g#2]@28 ~@2 g#1@3 ~@7, ~@52 g#2@7 ~@5]/2", // G#
  S: "e2@2 ~@2 e2@3 ~ e2@2 ~@2 e2@2 ~@2 e2@2 ~@2 e2@3 ~ e2@2 ~@2 e2@3 ~",
  T: "e2@2 ~@2 e2@3 ~ e2@2 ~@2 e2@3 ~ e2@2 ~@2 e2@3 ~ e2@3 ~ e2 ~@3",
  U: "d#2@3 ~ d#2@2 ~@2 d#2@2 ~@2 d#2@3 ~ d#2@3 ~ d#2@3 ~ d#2@3 ~ d#2@3 ~",
  V: "d2@2 ~@2 d2@4 d2@3 ~ d2@4 d#2@3 ~ d#2@3 ~ d#2@3 ~ d#2@3 ~",
  W: "e2@2 ~@2 e2@3 ~ e2@2 ~@2 e2@3 ~ e2@2 ~@2 e2@3 ~ e2@2 ~@2 e2@3 ~",
  X: "e2@2 ~@2 e2@3 ~ e2@2 ~@2 e2@3 ~ e2@2 ~@2 e2@3 ~ e2@2 ~@2 e2@2 ~@2",
  Y: "d#2@3 ~ d#2@2 ~@2 d#2@2 ~@2 d#2@3 ~ d#2@3 ~ d#2@2 ~@2 d#2@3 ~ d#2@2 ~@2",
  Z: "c#2@3 ~@5 c#2@2 ~@2 c#3@4 f#2@4 f#3@4 f#2@4 f#3@3 ~, ~ c#3@2 ~@5",
  AA: "b2@4 b1@4 b2@2 ~@2 b2@3 ~ b1@4 b2@2 ~@2 b2@2 ~@2 b1@3 ~",
  AB: "b2 ~@3 b1@4 b2@2 ~@2 b2@3 ~ b1@4 b2@2 ~@2 b2@4 b1@4", AC: "f2@9 ~@2 f2@2 ~@2 f2@12 ~@5",
  AD: "c#2@9 ~@2 c#2 ~@3 c#2@15 ~@2", AE: "f#2@9 ~@3 f#2 ~@2 f#2@2 ~@2 f#2@5 ~@4 f#2@3 ~",
  AF: "b1@3 b2@3 ~@5 b1 ~@3 b2@2 ~@7 b1 ~@2 b2@3 ~@2, ~@7 b2@8 ~@4 b2@8 ~@5",
  AG: "b2@3 b1@4 ~ b2@3 ~ b2@3 b1@4 b2@2 ~@3 b2@2 ~ b1@3 ~@2",
  AH: "b2 ~@2 b1@4 b2@2 ~@2 b2@4 b1@4 b2@2 ~@3 b2@3 b1@4 ~",
  AI: "b2@2 ~ b2@4 ~@4 b2@3 ~ b2@3 ~ b1@3 ~ b2@2 ~@2 b2@4 ~, ~@8 b1@5 ~@19",
  AJ: "b1@7 b2@3 ~ b2@4 b1@4 b2@2 ~@6 b1 ~@4, ~@23 b2@8 ~",
  AK: "b2@2 ~@6 b1 ~@2 b2@2 ~@2 b2@4 b1@4 b2@2 ~@2 b2@3 ~@2, ~@3 b2@8 ~@21",
  AL: "b1@3 b2@3 ~@5 b1 ~@3 b2@3 ~@5 b1 ~@3 b2@3 ~@2, ~@8 b2@7 ~@4 b2@8 ~@5",
  AM: "[~@3 b1 ~@4 b2@3 ~@4 b1 ~@3 b2@3 ~ b2@2 ~@2 b2@3 ~ g#2@8 ~@4 g#2 ~@3 g#2@14 ~@2 g#2@3 ~@9 g#2 ~@3 g#2 ~@3 g#2@6 ~@2 g#2@4 d#2@9 ~@3 d#2@3 ~ d2@9 ~@3 d2@3 ~ c#2@9 ~@3 c#2@3 ~ c2@9 ~@3 c2@3 ~ e2@9 ~@3 e2 ~@3 e2@8 ~@4 e2@3 ~@2, b2@8 ~@3 b2@8 ~@173]/6",
  AN: "[f2@9 ~@2 f2@2 ~@2 f2@12 ~@4 c#2@9 ~@3 c#2 ~@3 c#2@15 ~ f#2@9 ~@3 f#2 ~@3 f#2@2 ~@2 f#2@5 ~@3 f#2@3 ~ b1@8 ~@4 b1@11 ~ [g#1,g#2]@28 ~@2 g#1@3 ~@7 e2@2 ~@2 e2@3 ~ e2@2 ~@2 e2@2 ~@2 e2@2 ~@2 e2@3 ~ e2@2 ~@2 e2@3 ~ e2, ~@147 g#2@7 ~@38]/6", // G#
  AO: "[~@3 e2@3 ~ e2@2 ~@2 e2@3 ~ e2@2 ~@2 e2@3 ~ e2@3 ~ e2 ~@3 d#2@3 ~ d#2@2 ~@2 d#2@2 ~@2 d#2@3 ~ d#2@3 ~ d#2@3 ~ d#2@3 ~ d#2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~ d2@4 d#2@3 ~ d#2@3 ~ d#2@3 ~ d#2@3 ~ e2@2 ~@2 e2@3 ~ e2@2 ~@2 e2@3 ~ e2@2 ~@2 e2@3 ~ e2@2 ~@2 e2@3 ~ e2]/4",
  AP: "[~@3 e2@3 ~ e2@2 ~@2 e2@3 ~ e2@2 ~@2 e2@3 ~ e2@2 ~@2 e2@2 ~@2 d#2@3 ~ d#2@2 ~@2 d#2@2 ~@2 d#2@3 ~ d#2@3 ~ d#2@2 ~@2 d#2@3 ~ d#2@2 ~@2 c#2@3 ~@5 c#2@2 ~@2 c#3@4 f#2@4 f#3@4 f#2@4 f#3@3 ~ b1@4 b2@3 ~@5 b1 ~@3 b2@2 ~@6 b1 ~@3 b2@2 ~@2 b2@4 b1@4 b2@3 ~ b2@3 ~ b1@4 b2@2 ~@2 b2@2 ~@2 b1@3 ~ b2, ~@67 c#3@8 ~@28 b2@8 ~@4 b2@8 ~@37]/5",
  AQ: "[~@3 b1@4 b2@2 ~@2 b2@4 b1@4 b2@2 ~@2 b2@4 b1@4 b2@2 ~@2 b2@4 b1@4 b2@3 ~ b2@3 ~ b1@3 ~ b2@2 ~@2 b2@4 b1@8 b2@3 ~ b2@4 b1@4 b2@2 ~@6 b1 ~@3 b2@2 ~@6 b1 ~@3 b2@2 ~@2 b2@4 b1@4 b2@2 ~@2 b2@3 ~ b1@4 b2@3 ~@5 b1 ~@3 b2@3 ~@5 b1 ~@3 b2@3 ~@5 b1 ~@3 b2@3 ~@5 b1 ~@3 b2@3 ~ b2@2 ~@2 b2@3 ~ b1@4 b2@3 ~@5 b1 ~@3 b2@2 ~@6 b1 ~@3 b2@3 ~ b2@4 b1@4 b2@3 ~ b2@3 ~ b1@4 b2@2 ~@2 b2@2 ~@2 b1@3 ~ b2, ~@87 b2@8 ~@4 b2@8 ~@28 b2@8 ~@4 b2@8 ~@4 b2@8 ~@4 b2@8 ~@20 b2@8 ~@4 b2@8 ~@37]/8",
  AR: "[~@3 b1@4 b2@2 ~@2 b2@4 b1@4 b2@2 ~@2 b2@4 b1@4 b2@2 ~@2 b2@4 b1@4 b2@3 ~ b2@3 ~ b1@3 ~ b2@2 ~@2 b2@4 b1@8 b2@3 ~ b2@4 b1@4 b2@2 ~@6 b1 ~@3 b2@2 ~@6 b1 ~@3 b2@2 ~@2 b2@4 b1@4 b2@2 ~@2 b2@3 ~ b1@4 b2@3 ~@5 b1 ~@3 b2@3 ~@5 b1 ~@3 b2@3 ~@5 b1 ~@3 b2@3 ~@5 b1 ~@3 b2@3 ~ b2@2 ~@2 b2@3 ~ [b1,b2]@58 ~@7, ~@87 b2@8 ~@4 b2@8 ~@28 b2@8 ~@4 b2@8 ~@4 b2@8 ~@4 b2@8 ~@77]/8", // B
})).s("gm_fretless_bass").gain(0.51)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note("<~ A@2 B@2 C D ~@35 E@8 F G@2 B@2 C D ~@35 H@2 I@2 J@4 ~@27>".pickRestart({
  A: "[~@4 [g#3,c#4,e4]@3 ~ [g#3,c#4,e4]@3 ~ [g#3,c#4,e4]@2 ~@2 [f#3,b3,d#4]@2 ~@2 [f#3,a#3,c#4]@2 ~@6 [f#3,a#3,d#4]@32 ~@4]/2", // C#m B F# D#m
  B: "[[g#3,c#4,e4]@3 ~ [g#3,c#4,e4]@2 ~@2 [e3,g#3,c#4]@3 ~ [e3,g#3,c#4]@2 ~@2 [d#3,f#3,b3]@3 ~ [g#3,c#4]@5 ~@3 [f#3,a#3,d#4]@31 ~@5, ~@20 e3@3 ~@41]/2", // C#m B C#5 D#m
  C: "~@4 [f#3,a#3,d#4]@3 ~ [f#3,a#3,d#4]@2 ~@2 [e3,g#3,c#4]@2 ~@2 [d#3,f#3,b3]@2 ~@2 [e3,g#3,c#4]@3 ~ [f#3,a#3,c#4,d#4]@2 ~@2 [e3,g#3,c#4]@2 ~@2", // D#m C#m B C#m D#m7 C#m
  D: "~@4 [d#3,f#3,b3]@23 ~@5", // B
  E: "[~@12 d#5@47 ~@17 c#5@52 ~@12 d#5@53 ~@11 c#5@34 ~@18, ~@4 d#4@61 ~@3 c#4@61 ~@3 d#4@62 ~@2 c#4@42 ~@18, ~@8 g#4@54 ~@10 f#4@53 ~@11 g#4@58 ~@6 f#4@38 ~@18]/8",
  F: "[f#3,a#3,d#4]", // D#m
  G: "[~@4 [g#3,c#4,e4]@3 ~ [g#3,c#4,e4]@2 ~@2 [g#3,c#4,e4]@2 ~@2 [f#3,b3,d#4]@2 ~@2 [f#3,a#3,c#4]@2 ~@6 [f#3,a#3,d#4]@32 ~@4]/2", // C#m B F# D#m
  H: "[~@11 d#5@47 ~@6, ~@3 d#4@61, ~@7 g#4@54 ~@3]/2", I: "[~@11 c#5@52 ~, ~@3 c#4@61, ~@7 f#4@53 ~@4]/2",
  J: "[~@11 d#5@53 ~@11 c#5@34 ~@19, ~@3 d#4@62 ~@2 c#4@42 ~@19, ~@7 g#4@58 ~@6 f#4@38 ~@19]/4",
})).s("gm_acoustic_guitar_nylon").gain(0.41)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@6 A B C D E F G D E F H@2 I J K L M N O D E F P D E F Q@2 R J K S M N ~@2 T@2 U@2 V@2 W@2 ~@6 A B P D E F G D E F
  H@2 I J K X Y Z P D E F P D E F AA@2 AB AC AD AE Y AF ~@2 AG@2 AH@2 AI@2 AJ@2 ~@14 AK AL ~@11
>`.pickRestart({
  A: "~@8 [a#3,d#4,f#4] ~@11 [b3,e4,g#4]@2 ~@10", // D#m E
  B: "~@4 [g#3,c#4,e4]@2 ~@2 [g#3,c#4,e4]@2 ~@2 [g#3,c#4,e4]@2 ~@2 [g#3,c#4,e4]@5 ~@3 [a#3,d#4,f#4]@2 ~@6", // C#m D#m
  C: "~@8 [a#3,c#4,d#4,f#4] ~@11 [b3,d#4,g#4] ~@11", // D#m7 G#m
  D: "~@4 [g#3,b3,c#4,e4]@2 ~@2 [g#3,b3,c#4,e4]@2 ~@2 [g#3,b3,c#4,e4]@2 ~@2 [g#3,b3,c#4,e4]@5 ~@3 [a#3,c#4,d#4,f#4] ~@7", // C#m7 D#m7
  E: "~@8 [a#3,d#4,f#4] ~@11 [b3,d#4,f#4,g#4]@2 ~@10", // D#m G#m7
  F: "~@4 [g#3,b3,c#4,e4]@3 ~ [g#3,b3,c#4,e4]@2 ~@2 [g#3,b3,c#4,e4]@2 ~@2 [g#3,b3,c#4,e4]@6 ~@2 [f#3,a#3,c#4,d#4]@3 ~@5", // C#m7 D#m7
  G: "~@8 [a#3,c#4,d#4,f#4] ~@11 [b3,d#4,g#4]@2 ~@10", // D#m7 G#m
  H: "[f#4@4 ~@4 b3@4 ~@12 b3@3 ~@13 b3@3 ~ f#4@4 b3@4 ~@4 f#4@4 b3@2 ~@2, ~@4 g#3@14 ~@2 g#3@15 ~ g#3@10 ~@6 g#3@10 ~@2, ~@12 f#4@11 ~@5 f#4@12 ~@24]/2",
  I: "f4@4 ~@4 a#3@4 f4@2 ~@10 a#3@3 ~ f4@2 ~@2, ~@4 f#3@10 ~@2 f4@7 ~@9, ~@10 d3@5 ~",
  J: "~@12 f4@2 ~@14 d#4@3 ~, f4@8 a#3@7 ~ d#4@8 g#3@7 ~, ~@4 c#3@13 ~@3 c3@11 ~",
  K: "~@3 g#3@2 ~@2 e3, c#4@8 e3@17 ~@7, ~@4 e2@19 ~@3 e2@6, ~@5 c#4@3",
  L: "~@28 c#4@3 ~, f2@18 ~@2 f2@11 ~, ~@4 d#4@27 ~, ~@8 g#3@13 ~@3 g#3@7 ~, ~@3 c#4@3 ~@2",
  M: "~@28 [f#3,b3]@3 ~, c#2@17 ~@3 c#2@10 ~@2, ~@4 b3@21 ~@7, ~@8 e3@13 ~@3 e3@8, ~@12 f#3@11 ~@9", // B5
  N: "~@4 b3@4 ~@20 [c#3,f#3]@3 ~, c#2@20 f#3@7 ~@5, ~@8 c#3@15 ~ c#2@7 ~, ~@6 a#3@9 ~", // F#5
  O: "~@8 [a#3,c#4,d#4,f#4]@2 ~@10 [b3,d#4,g#4] ~@11", P: "~@4 [a#3,c#4,d#4,f#4] ~@5 [b3,d#4,g#4] ~@5",
  Q: "[f#4@4 ~@4 b3@4 ~@12 b3@3 ~@13 b3@3 ~ f#4@4 b3@4 ~@4 f#4@4 b3@2 ~@2, ~@4 g#3@14 ~@2 g#3@15 ~ g#3@10 ~@6 g#3@11 ~, ~@12 f#4@11 ~@5 f#4@12 ~@24]/2",
  R: "f4@4 ~@4 a#3@4 f4@2 ~@2 f4@4 ~@4 a#3@3 ~ f4@2 ~@2, ~@2 f#3@5 ~@3 d3@5 ~",
  S: "~@28 c#4@3 ~, f2@18 ~@2 f2@11 ~, ~@4 d#4@27 ~, ~@8 g#3@13 ~@3 g#3@7 ~, ~@12 c#4@11 ~@9",
  T: "[~@6 d#5@25 ~, ~@4 d#4@59 ~, ~@8 g#4@55 ~]/2", U: "[~@12 c#5@51 ~, ~@4 c#4@59 ~, ~@8 f#4@55 ~]/2",
  V: "[~@3 d#5@13, ~ d#4@15, ~ g#4@7]/2", W: "[~@3 c#5@8 ~@5, ~@4 c#4@41 ~@19, ~@8 f#4@37 ~@19]/2",
  X: "~@27 c#4@3 ~@2, f2@18 ~ f2@11 ~@2, ~@4 d#4@27 ~, ~@7 g#3@13 ~@3 g#3@7 ~@2, ~@12 c#4@11 ~@9",
  Y: "~@27 [f#3,b3]@3 ~@2, c#2@17 ~@2 c#2@10 ~@3, ~@3 b3@21 ~@8, ~@7 e3@13 ~@3 e3@9, ~@11 f#3@11 ~@10", // B5
  Z: "~@3 b3@4 ~@16 c#2@5 [c#3,f#3]@3 ~, c#2@19 f#3@7 ~@6, ~@8 c#3@15 ~@9, ~@12 a#3@19 ~", // F#5
  AA: "[~@7 b3@4 ~@12 b3@3 ~@13 b3@3 ~ f#4@4 b3@4 ~@4 f#4@4 b3@2 ~@3, f#4@6 ~@5 f#4@11 ~@5 f#4@12 ~@25, ~@3 g#3@14 ~@2 g#3@15 ~ g#3@10 ~@6 g#3@11 ~@2]/2",
  AB: "~@7 a#3@4 f4@2 ~@10 a#3@3 ~ f4@2 ~@3, f4@5 ~@10 f4@7 ~@10, ~@3 f#3@10 ~@6 d3@10 ~@3",
  AC: "~@11 f4@2 ~@14 d#4@3 ~@2, f4@7 a#3@7 ~ d#4@8 g#3@7 ~@2, ~@3 c#3@13 ~@3 c3@11 ~@2",
  AD: "~@11 g#3@8 ~@8 e3@4 ~, c#4@10 ~@9 c#4@13, ~@3 e2@19 ~@3 e2@6 ~, ~@7 e3@17 ~@8",
  AE: "~@27 c#4@3 ~@2, f2@18 ~ f2@11 ~@2, ~@3 d#4@27 ~@2, ~@7 g#3@13 ~@3 g#3@7 ~@2, ~@11 c#4@11 ~@10",
  AF: "~@3 b3@4 ~@20 [c#3,f#3]@3 ~@2, c#2@19 f#3@7 ~@6, ~@7 c#3@15 ~ c#2@7 ~@2, ~@11 a#3@18 ~@3", // F#5
  AG: "[~@11 d#5@50 ~@3, ~@3 d#4@59 ~@2, ~@7 g#4@55 ~@2]/2", AH: "[~@11 c#5@50 ~@3, ~@3 c#4@59 ~@2, ~@7 f#4@55 ~@2]/2",
  AI: "[~@11 d#5@53, ~@3 d#4@61, ~@7 g#4@56 ~]/2", AJ: "[~@11 c#5@32 ~@21, ~@3 c#4@41 ~@20, ~@7 f#4@37 ~@20]/2",
  AK: "~@7 [a#3,d#4,f#4] ~@11 [b3,e4,g#4]@2 ~@11", // D#m E
  AL: "~@3 [g#3,c#4,e4]@2 ~@2 [g#3,c#4,e4]@2 ~@2 [g#3,c#4,e4]@2 ~@2 [g#3,c#4,e4]@5 ~@3 [a#3,d#4,f#4]@2 ~@7", // C#m D#m
})).s("gm_acoustic_guitar_steel").gain(0.23)

// chords · brass section
const brass_section = note("<~@42 A B C D B E F G ~@42 H I J K L M N O ~@27>".pickRestart({
  A: "~@8 [e2,g#4] ~@7, ~@16 [c#4,d#4] ~@15", B: "~@4 [e2,c#4,d#4,g#4] ~@11 [e2,c#4,g#4]@2 ~@14, ~@16 d#4 ~@15",
  C: "~@4 [d#2,c#4,f#4,g#4] ~@11 [d#2,c#4,f#4,g#4]@2 ~@14", // D#m7
  D: "~@4 [c#4,f#4,g#4] ~@11 [d2,c#4,f#4]@3 ~@13, ~@4 d2@2 ~@10 g#4 ~@15", // C#sus4 Dmaj7
  E: "~@4 [e2,c#4,d#4,g#4] ~@11 [e2,c#4,d#4,g#4]@4 ~@12", F: "~@4 [d#2,c#4,f#4,g#4] ~@11 [d#2,c#4,f#4,g#4] ~@15",
  G: "~@12 [g#3,b3,c#4,e4]@13 ~@7", H: "~@15 [e2,g#4]@2 ~@15, ~@15 [c#4,d#4] ~@16",
  I: "~@3 [e2,c#4,d#4,g#4] ~@11 [e2,g#4]@2 ~@15, ~@15 [c#4,d#4] ~@16", // C#m E C#sus2
  J: "~@3 [d#2,c#4,f#4,g#4] ~@11 [d#2,c#4,f#4,g#4]@2 ~@15", // D#m7
  K: "~@3 [c#4,f#4,g#4] ~@11 [d2,c#4,f#4]@3 ~@14, ~@3 d2@2 ~@10 g#4 ~@16", // C#sus4 Dmaj7
  L: "~@3 [e2,c#4,d#4,g#4] ~@11 [e2,c#4,g#4]@2 ~@15, ~@15 d#4 ~@16", // C#m
  M: "~@3 [e2,c#4,d#4,g#4] ~@11 [e2,c#4,d#4,g#4]@4 ~@13", // C#m
  N: "~@3 [d#2,c#4,f#4,g#4] ~@11 [c#4,f#4,g#4] ~@16, ~@15 d#2@2 ~@15", O: "~@11 [g#3,b3,c#4,e4]@13 ~@8",
})).s("gm_brass_section").gain(0.51).pan(0.8)

// other · electric guitar jazz
const electric_guitar_jazz = note("<~@99 A@2 B@4 C D E@5 F G@3 H I J K L@2 M@3 ~@2>".pickRestart({
  A: "[~@31 [f#3,a#3,d#4]@32 ~]/2", // D#m
  B: "[~@3 [g#3,c#4,e4]@3 ~ [g#3,c#4,e4]@2 ~@2 [g#3,c#4,e4]@2 ~@2 [f#3,b3,d#4]@2 ~@2 [f#3,a#3,c#4]@2 ~@6 [f#3,a#3,d#4]@32 ~@4 [g#3,c#4,e4]@3 ~ [g#3,c#4,e4]@2 ~@2 [e3,g#3,c#4]@3 ~ [e3,g#3,c#4]@2 ~@2 [d#3,f#3,b3]@3 ~ [g#3,c#4]@5 ~@3 [f#3,a#3,d#4]@31 ~@6, ~@83 e3@3 ~@42]/4", // C#m B F# D#m C#m B C#5 D#m
  C: "~@3 [f#3,a#3,d#4]@3 ~ [f#3,a#3,d#4]@2 ~@2 [e3,g#3,c#4]@2 ~@2 [d#3,f#3,b3]@2 ~@2 [e3,g#3,c#4]@3 ~ [f#3,a#3,c#4,d#4]@2 ~@2 [e3,g#3,c#4]@2 ~@3", // D#m C#m B C#m D#m7 C#m
  D: "~@3 [d#3,f#3,b3]@23 ~@6", // B
  E: "[~@23 f#4@3 ~ a#4 ~@3 a#4@5 ~ a#4@5 ~ f#4 ~@3 a#4 ~ a#4@3 ~ a#4@2 a#4@3 ~ b4@3 ~ c#5@24 f#4@3 ~ a#4 ~@3 a#4@5 ~ a#4@5 ~ f#4 ~@3 a#4 ~ a#4@3 ~ a#4 ~ a#4@3 ~ b4@3 ~ c#5@15 ~@5 b3 ~ c#4 ~ d#4 ~ e4 ~ f#4 ~ g#4 ~ a#4]/5",
  F: "~ b4@2 a#4@2 ~@2 g#4 ~ e4 ~ d#4@2 c#4 ~ f#4@2 e4 ~ d#4 ~ c#4@2 b3@3 ~@3 b3@2 ~",
  G: "[~ b3 ~ g#3 ~@3 b3@4 g#3 ~@3 d#4@3 ~ f#4 ~@3 f#4@3 ~ g#4 ~@3 c#4@8 ~@8 g#3@3 ~ b3 ~ d4@2 c#4@2 ~@2 [b3,c#4] ~@3 b3@3 ~@3 b3 ~ g3 ~ g#3@2 b3 ~@3 d3 ~ c#3@2 b2 ~@3 g#2@3 ~ b2@2 ~@3, ~@15 d4 ~@15 d4 ~@64]/3", // Bsus2
  H: "~@3 f#3 ~ g#3 ~ b3@2 ~@2 b3 ~@3 b3@4 g#3 ~ b3@3 ~ c#4@3 ~@4",
  I: "~@3 f#3 ~ g#3 ~ b3 ~@3 b3 ~@3 b3@3 ~ g#3 ~ b3@4 g#3@3 ~@4",
  J: "~@3 f#3 ~ g#3 ~ b3@2 ~@2 b3 ~@3 b3@3 ~ g#3 ~ b3@2 ~@2 c#4@3 ~@4",
  K: "~@7 g#4 ~ e4 ~ d#4 ~ c#4 ~ b3 ~ a#3 ~@3 f#3 ~ e3 ~ c#3 ~@3 e3 ~ f#3",
  L: "[~ d#3 ~@5 g#3 ~ b3@2 d#4 ~ f#4 ~ d#4 ~@5 g#4 ~ a4@2 a#4 ~ c#5 ~ c5@2 b4@2 a4 ~ a#4 ~ a4 ~@3 f#4 ~ d#4 ~@3 f#4 ~ c#4 ~ b3 ~ g#3 ~ d#4 ~ b3 ~ g#3 ~ c#4 ~ a#3]/2",
  M: "[~ f#3@2 ~@2 e3 ~ d#3@3 ~ a#3 ~@5 d#3 ~ f#3 ~ d3@2 c#3 ~ b2@2 ~@2 g#2 ~ b2@4 c#3@2 d#3 ~ e3@2 f#3@2 g#3 ~ a#3 ~ b3 ~ c#4 ~ d#4 ~ e4@2 f#4 ~ g#4@2 a#4@2 b4@2 a#4@10 ~@6 b3@2 ~@2 f#3@2 ~@4 b2@2 ~@5]/3",
})).s("gm_electric_guitar_jazz").gain(0.45)

// other · electric guitar jazz · soft notes
const electric_guitar_jazz_2 = note("<~@112 A ~@2 B ~@3 C D E F ~ G@2 ~>".pickRestart({
  A: "~@27 g#3 ~@4", B: "~@3 g#3 ~@28", C: "~@27 d#3 ~@4", D: "~@3 e3@2 f#3@2 ~@10 e4@2 f#4@2 ~@11",
  E: "~@7 g#4 ~@5 c#4 ~@18", F: "~@3 f3@2 ~@8 f#3 ~ c#3@2 ~@15",
  G: "[~@9 f#4@2 d#4@2 ~@4 a#3@2 ~@2 d#3@2 ~@4 a#2@22 ~@15]/2",
})).s("gm_electric_guitar_jazz").gain(0.23)

// drums · kick
const kick = s("bd").struct(`<
  A@7 B A@7 C D@7 C A@7 C D@7 C E F D@7 C A@7 B A@3 G H@3 I J@7 I H@7 I J@7 I K L J@7 I H@7 L H@7 L H@7 L ~@3
>`.pickRestart({
  A: "x ~@2 x!2 ~@3", B: "x ~@3 x!2 ~ x", C: "x ~@2 x!2 ~@2 x", D: "x ~@2 x ~@3 x", E: "x ~@2 x ~@2 x ~",
  F: "~@4 x!2 ~ x", G: "x ~@10 x ~@3 x ~@15 x", H: "~@11 x ~@3 x ~@15 x", I: "~@11 x ~@3 x ~@11 x ~@3 x",
  J: "~@11 x ~@15 x ~@3 x", K: "~@11 x ~@11 x ~@8", L: "~@15 x ~@3 x ~@7 x ~@3 x",
})).gain(0.44)

// drums · rim
const rim = s("rim").struct("<A@16 ~@8 A@8 ~@18 A@11 B C@3 D ~@7 E C@7 D ~@17 E C@23 D ~@3>".pickRestart({
  A: "x!4", B: "x ~@6 x ~@7 x ~@7 x ~@7 x", C: "~@7 x ~@7 x ~@7 x ~@7 x", D: "~@7 x ~@7 x ~@7 x ~@8", E: "~@31 x",
})).gain(0.44)

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

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

// drums · mid tom
const mid_tom = s("mt").struct("<~@23 A ~@15 A ~@9 A ~@23 B ~@15 B ~@9 B ~@27>".pickRestart({
  A: "~@7 x", B: "~@27 x ~@4",
})).gain(0.24)

// drums · open hat
const open_hat = s("oh").struct(`<
  A@7 B A@7 C ~@7 D A@7 C ~@7 D ~@9 D A@7 B A@3 E@4 F ~@7 G E@7 F ~@7 G ~@9 G E@7 H E@7 H E@7 H I ~@2
>`.pickRestart({
  A: "~ x ~ x", B: "~@2 x ~@2 x!3", C: "~@2 x ~@3 x!2", D: "~@7 x", E: "~@7 x ~@15 x ~@8", F: "~@7 x ~@15 x ~@3 x ~@4",
  G: "~@27 x ~@4", H: "~@7 x ~@11 x ~@3 x ~@3 x ~@4", I: "~@31 x",
})).gain(0.44)

// drums · open hat · soft notes
const open_hat_soft = s("oh").struct(`<
  ~@124
  [~@8 x ~@4 x ~@2 x ~@4 x ~@6 x ~@3]
  [~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~]
  ~
>`).gain(0.24)

// drums · crash
const crash = s("cr").struct(`<
  ~@8 A ~@6 B A ~@7 A ~@6 B A ~@7 C ~ A ~@7 A ~@7 A ~@6 D ~@7 E ~@7 D ~@7 E F E ~@31 E ~@3
>`.pickRestart({
  A: "x", B: "~ x", C: "x ~@2 x ~@2 x ~", D: "~@15 x ~@15 x", E: "~@31 x", F: "~@11 x ~@11 x ~@8",
})).gain(0.44)
// … 21 more lines

More by Daniele