Strudelify
Il clarinetto cover art

1998 · Prima Che Sia Troppo Tardi

Il clarinetto

Renzo Arbore

KeyB♭ majorTempo88 bpm
0:00/0:00
// Il clarinetto — Renzo Arbore
// 88 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 86 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(88/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 · piano
const piano = note(`<
  A@2 B ~@2 C D ~@2 E@2 F G H I J K L@2 M N H I O P Q R S T U V S W X@2 F G H I J K Y@2 Z N AA AB AC P AD AE AF AG AH AI
  AF AG AJ@2 M N H I J AK L@2 M N H I O P AL@4 AM AN AO AP AQ@5
>`.pickRestart({
  A: "[[f1,f2]@15 ~ [c2,c3,g3,bb3,db4,e4]@7 ~ [f1,f2,f3,a3,eb4]@5 ~@11 d5@2 ~@6 eb5@3 ~@5 [b2,f3,ab3,d4]@8, ~@29 [bb1,bb2,f3,bb3,d4]@26 ~ e5@2 ~@6]/2", // F C7 F7 Bdim Bb
  B: "[c3,a3,c4] ~@31, f5 ~@7", C: "~@2 [c3,g3,bb3,eb4] [b2,f3,ab3,d4]", D: "[c3,a3,c4] ~@15 [f3,a3,c4,eb4,f4] ~@15",
  E: "[~@32 [bb3,eb4]@2 ~@3 eb3@3 [g4,bb4,eb5] ~@2 [g4,bb4,eb5] ~ [g4,bb4,eb5] ~@2 [g4,bb4,eb5] ~@2 [g4,bb4,eb5] ~ [g4,bb4,eb5] ~@2 [g4,bb4,eb5] ~@2 [g4,bb4,eb5] ~ [g4,bb4,eb5] ~@2, ~@5 bb1@24 bb2@2 g3@2 ~@31, ~@8 [f3,bb3]@24 eb2@9 ~@23, ~@8 g3@8 d4@5 bb2@3 [a3,d4]@8 eb3@4 ~@28, ~@8 d4@5 bb2@3 ab3@18 ~@30]/2", // Eb5 Eb Bb5 D5
  F: "[g4,bb4,eb5] ~@7 [g4,bb4,eb5] ~@4 eb2@3 [g4,bb4,e5] ~@7 [g4,bb4,e5] ~@7, ~@8 e2 ~@7", // Eb Edim
  G: "[bb4,d5,f5] ~@7 [bb4,d5,f5] ~@7 [bb4,d5,f5] ~@7 [bb4,d5,f5] ~@7, f2 ~@15", // Bb
  H: "[bb4,d5,f5] ~@7 [bb4,d5,f5] ~@7 [d2,d5,f5]@8 [db2,db5,e5]@8, ~ bb4", // Bb Dm Dbm
  I: "[a4,c5,eb5] ~@7 [a4,c5,eb5] ~@7 [a4,c5,eb5] ~@7 [a4,c5,eb5] ~@7, c2 ~@15", // Adim
  J: "[a4,c5,eb5] ~@7 [a4,c5,eb5] ~@7 [a4,c5,eb5] ~@7 [a4,c5,eb5] ~@7", // Adim
  K: "[bb4,d5,f5] ~@4 [eb6,g6]@3 [d6,f6] ~@4 [d6,f6]@3 [db6,e6] ~@4 [db6,e6]@3 [c6,eb6] ~@4 [c6,eb6]@3", // Bb Eb Dm Dbm Cm
  L: "[[bb5,d6] ~@31 [bb3,eb4]@2 ~@3 eb3@3 [g4,bb4,eb5] ~@7 [g4,bb4,eb5] ~@7 [g4,bb4,eb5] ~@4 db2@3, ~@5 bb1@26 g3@2 ~@31, ~@8 [g3,bb3]@21 bb2@5 ~@30, ~@8 [f3,d4]@8 [f3,ab3]@16 eb2@9 ~@23, ~@13 bb2@3 d4@5 bb2@3 [gb3,a3,d4]@8 eb3@4 ~@28]/2", // Bb Eb5 Eb Gm Dm Fm D
  M: "[g4,bb4,e5] ~@7 [g4,bb4,e5] ~@7 [g4,bb4,e5] ~@7 [g4,bb4,e5] ~@4 c2@3, c2 ~@15", // Edim
  N: "[bb4,d5,f5] ~@7 [bb4,d5,f5] ~@7 [bb4,d5,f5] ~@7 [bb4,d5,f5] ~@7, bb1 ~@15", // Bb
  O: "[a4,c5,eb5] ~@7 [a4,c5,eb5] ~@7 [f1,f2,f4,a4,db5]@8 [a1,a2,eb4,g4,c5]@8", // Adim Faug Am7b5
  P: "[bb1,bb2,d4,f4,bb4]@8 [d4,f4]@3 bb4@2 f4@3 [db4,e4]@3 bb4@2 e4@3 [c4,eb4]@3 ~@2 eb4@3, ~ [d2,d3] [db2,db3] [c2,c3], ~@27 bb4@4 ~", // Bb Dm Dbm Cm D Db C
  Q: "[bb1,bb2,bb3,d4] ~@2 [b2,f3,ab3,d4]", // Bb Bdim
  R: "[c3,eb3,a3,c4] ~@7 [f3,a3,c4,eb4] ~@7 [a3,c4,eb4,f4] ~@7 [a3,c4,eb4,f4] ~@7", // Adim F7
  S: "[a3,c4,eb4,f4] ~@7 [a3,c4,eb4,f4] ~@7 [a3,c4,eb4,f4] ~@7 [a3,c4,eb4,f4] ~@7", // F7
  T: "[f3,bb3,d4,f4] ~@7 [f3,bb3,d4,f4] ~@7 [f3,bb3,d4,f4] ~@7 [f3,bb3,d4,f4] ~@7", // Bb
  U: "[f3,bb3,d4,f4] ~@7 [f3,bb3,d4,f4] ~@7 [c3,g3,bb3,eb4]@8 [b2,f3,ab3,d4]@8", // Bb Cm7 Bdim
  V: "[c3,a3,c4] ~@7 [f3,a3,c4,eb4] ~@7 [a3,c4,eb4,f4] ~@7 [a3,c4,eb4,f4] ~@7", // F F7
  W: "[bb3,d4,f4] ~@7 [bb3,d4,f4] ~@7 [bb3,d4,f4] ~@7 [bb3,d4,f4] ~@7", // Bb
  X: "[[bb3,d4,f4] ~@31 [bb3,eb4]@2 ~@3 eb3@3 [g4,bb4,eb5] ~@7 [g4,bb4,eb5] ~@7 [g4,bb4,eb5] ~@7, ~@5 bb1@24 bb2@2 g3@2 ~@31, ~@8 [f3,bb3]@24 eb2@9 ~@23, ~@8 g3@8 d4@5 bb2@3 [a3,d4]@8 eb3@4 ~@28, ~@8 d4@5 bb2@3 ab3@18 ~@30]/2", // Bb Eb5 Eb Bb5 D5
  Y: "[[bb5,d6] ~@31 [bb3,eb4]@2 ~@3 eb3@3 [bb4,eb5,g5] ~@7 [bb4,eb5,g5] ~@7 [bb4,eb5,g5] ~@4 db2@3, ~@5 bb1@26 g3@2 ~@31, ~@8 [g3,bb3]@21 bb2@5 ~@30, ~@8 [f3,d4]@8 [f3,ab3]@16 eb2@9 ~@23, ~@13 bb2@3 d4@5 bb2@3 [gb3,a3,d4]@8 eb3@4 ~@28]/2", // Bb Eb5 Eb Gm Dm Fm D
  Z: "[bb4,e5,g5] ~@7 [bb4,e5,g5] ~@7 [bb4,e5,g5] ~@7 [bb4,db5,gb5]@5 [d5,f5] ~@2, c2@2 ~@27 c2@3", // Edim Gb Dm
  AA: "[bb4,d5,f5] ~@7 [bb4,d5,f5] ~@7 f4@3 ~@2 f4@3 e4@3 bb4@2 e4@3, ~@16 [d2,d4,d5,f5]@9 ~@7, ~@19 bb4@4 ~ [db2,db4,db5,e5]@8", // Bb Dm Dbm
  AB: "[c4,eb4,a4,c5,eb5] ~@7 [a4,c5,eb5] ~@7 [a4,c5,eb5] ~@7 [a4,c5,eb5] ~@7, c2 ~@15", // Adim
  AC: "[a4,c5,eb5] ~@7 [a4,c5,eb5] ~@7 [f1,f2]@5 [f1,f2]@3 [a1,a2]@5 [a1,a2]@3, ~@2 [f4,a4,db5] [eb4,g4,c5]", // Adim F A Faug Cm
  AD: "[bb1,bb2,bb3,d4] ~@5 gb2@2", // Bb
  AE: "[f2,eb4,f4,a4,c5] ~@7 [eb4,f4,a4,c5] ~@7 [eb4,f4,a4,c5] ~@7 [eb4,f4,a4,c5] ~@7", // F7
  AF: "[eb4,f4,a4,c5] ~@7 [eb4,f4,a4,c5] ~@7 [eb4,f4,a4,c5] ~@7 [eb4,f4,a4,db5] ~@7", // F7 Dbaug
  AG: "[f4,bb4,d5] ~@7 [f4,bb4,d5] ~@7 [f4,bb4,d5] ~@7 [f4,a4,db5]@7 ~", // Bb Faug
  AH: "[f4,bb4,d5] ~@7 [f4,bb4,d5] ~@7 [c3,g4,bb4,eb5]@8 [b2,f4,ab4,d5]@8", // Bb Cm7 Bdim
  AI: "[c3,eb4,f4,a4,c5] ~@7 [eb4,f4,a4,c5] ~@7 [eb4,f4,a4,c5] ~@7 [eb4,f4,a4,c5] ~@7", // F7
  AJ: "[[f4,bb4,d5] ~@31 [bb3,eb4]@2 ~@3 eb3@3 [g4,bb4,eb5] ~@7 [g4,bb4,eb5] ~@7 [g4,bb4,eb5] ~@4 db2@3, ~@5 bb1@24 bb2@2 g3@2 ~@31, ~@8 [f3,bb3]@24 eb2@9 ~@23, ~@8 g3@8 d4@5 bb2@3 [a3,d4]@8 eb3@4 ~@28, ~@8 d4@5 bb2@3 ab3@18 ~@30]/2", // Bb Eb5 Eb Bb5 D5
  AK: "[bb4,d5,f5] ~@4 f5@3 [d6,f6] ~@4 f5@3 [db6,e6] ~@4 f5@3 [c6,eb6] ~@4 f5@2 ~", // Bb Dm Dbm Cm
  AL: "[bb1@5 ~@3 [g3,d4]@15 d4@9 ~@47 d5 [a4,b4,c5] [f4,g4] ~@7 [bb4,eb5,g5]@7 ~ [bb4,eb5,g5]@5 ~@3 [bb4,eb5,g5]@5 db2@3 [c2,bb4,e5,g5]@6 ~@2 [bb4,e5,g5]@5 ~@2, [bb2,bb3,d4]@8 bb3@49 [bb2,gb3,a3]@17 [c7,d7] [a6,b6] [f6,g6] [c6,d6,e6] [g5,a5,b5]@2 bb3 eb3@5 eb3@25 ~@17, ~@5 bb1@27 ab3@8 bb2@8 [f3,ab3]@31 g3@9 ~@40, ~@8 f3@15 bb2@9 d4@47 [e5,f5]@2 eb2@29 ~@18, ~@23 g3@41 bb1@9 [e7,f7]@8 eb4@8 ~@39]/4", // G5 Am Fsus2 Eb C7 Edim Bb D …
  AM: "~ [bb4,e5,g5]@5 ~@3 [bb4,e5,g5]@5 c2@3 [bb1,bb4,d5,f5]@5 ~@3 [bb4,d5,f5]@5 ~@2", // Edim Bb
  AN: "~ [bb4,d5,g5]@5 ~@3 [bb4,d5,f5]@5 ~@3 [bb4,d5,f5]@5 ~@3 [bb4,d5,f5]@5 ~@2", // Gm Bb
  AO: "~ [d2,d5,f5]@8 [db2,db5,e5]@8 [c2,a4,c5,eb5]@4 ~@4 [a4,c5,eb5]@3 ~@4, ~ bb4@16 ~@15", // Dm Dbm Adim
  AP: "~ [a4,c5,eb5]@3 ~@5 [a4,c5,eb5]@3 ~@5 [a4,c5,eb5]@3 ~@5 [a4,c5,eb5]@3 ~@4", // Adim
  AQ: "[~ [f1,f2,f4,a4,db5]@8 [a1,a2,eb4,g4,c5]@8 [d4,f4,bb4]@8 ~@2 f4@4 bb4@4 ~@3 e4@4 bb4@4 ~@3 eb4@5 bb4@4 eb4@5 [bb1,bb2]@5 bb1@3 ~@6 [bb2,f4]@2 ~@2 [bb1,f4,ab4]@2 ~@43 ab4@2 ~@9 [a3,b3,c4]@4 [bb1,f2,bb2]@7 ~@12, ~@17 [bb1,bb2]@10 [d2,d3,d4]@11 [db2,db3,db4]@11 [c2,c3,c4]@13 ~@9 bb2@2 [bb1,ab4]@2 c4@5 [bb2,c4]@2 ~ [bb2,c4]@2 [bb2,c4]@2 [bb2,c4]@2 c4@2 [bb1,f4,ab4]@2 [bb1,f4,ab4]@2 [bb2,f4,ab4]@2 [bb2,c4]@2 [bb2,c4]@2 [bb1,c4]@2 bb1@2 [bb1,f4,ab4]@2 [bb2,f4,ab4]@2 [bb2,c4]@2 c4@2 bb1@2 [bb1,f4,ab4]@2 [bb2,f4,ab4]@2 [bb2,c4]@2 [bb2,c4]@2 [bb1,f4]@2 [bb1,f4]@3 [bb1,f4,ab4]@2 ~ bb1@4 [g4,a4,b4,c5] [d4,e4,f4]@5 ~@19, ~@35 f4@5 ~@6 e4@5 ~@12 [f3,bb3,d4]@64 ~@2 c4@3 c4 f4 [d5,e5,f5,g5]@7 ~@19, ~@72 c4@2 [bb2,f4]@2 [bb1,ab4]@3 [bb1,f4,ab4]@2 ~@3 [bb1,f4,ab4]@2 [bb1,f4,ab4]@2 [bb1,f4,ab4]@2 bb2@2 [bb2,c4]@2 c4@2 bb1@2 [bb1,f4,ab4]@2 [f4,ab4]@2 [bb2,f4,ab4]@2 [bb2,c4]@2 c4@2 bb1@2 [bb1,f4,ab4]@2 [bb2,f4,ab4]@2 [bb2,c4]@2 c4@2 bb1@2 [bb1,f4,ab4]@2 ab4@2 [bb2,c4,ab4]@2 [bb2,c4]@4 [bb2,f4,ab4]@2 bb2@9 ~@19, ~@133 [ab4,a5,b5,c6]@8 ~@19]/5", // Faug Am7b5 Bb Bb5 Bb7 Am Bb5 Bb …
})).s("gm_piano").gain(0.28).pan(0.6)

// bass · acoustic bass
const bass = note(`<
  ~@2 A B C D E F C G H I J K L E M N O P Q K R S T U A R C D E F C G H I J K L E M N O P Q K R S T V W X Y Z AA E C AB
  O AC Q AD AE AF AG AH O P Q K R S T AI AJ@2 AK AL AM AN AO AP@3 AQ AR
>`.pickRestart({
  A: "c3@3 ~@13 f2@4 ~@12", B: "c3@4 ~@12 f2@4 ~@9 c3@3", C: "bb2 ~@3 f2 ~@3", D: "bb2@5 ~@11 c3@7 ~ b2@8",
  E: "c3@5 ~@11 f2@5 ~@11", F: "c3@5 ~@11 f2@4 ~@12", G: "bb2@4 ~@4 bb2@8 bb3@8 bb2@7 ~", H: "eb3 ~@3 bb2 ~@3",
  I: "eb3@3 ~@13 e3@3 ~@13", J: "f3@3 ~@13 f2@3 ~@13", K: "bb2 ~@3 d3@2 db3@2", L: "c3@4 ~@12 f2@5 ~@11",
  M: "bb2@3 ~@29", N: "~@8 bb2@5 bb3@3 bb2@5 bb3@3 bb2@5 bb3@2 ~", O: "eb3@4 ~@12 bb2@4 ~@9 db3@3",
  P: "c3@4 ~@12 c3@5 ~@8 c3@2 ~", Q: "bb2@3 ~@13 f2@4 ~@12", R: "c3 ~@3 f2 ~@3", S: "c3 ~@3 f2@2 f3@2",
  T: "bb2@5 ~@3 d3@8 db3@8 c3@8", U: "bb2@5 ~@19 db3@7 ~", V: "bb2@5 ~@19 gb2@7 ~", W: "f2@4 ~@12 c3@11 ~@2 f2 ~@2",
  X: "f2@3 ~@13 c3@10 ~ f3@2 c3@2 ~", Y: "bb2@4 ~@12 f2@5 ~@11", Z: "bb2@5 ~@11 c3@8 b2@7 ~",
  AA: "c3@4 ~@9 f2 ~@2 f2@5 ~@11", AB: "bb2@5 bb3@8 bb2@3 bb3@8 bb2@2 ~ f3@2 e3@3", AC: "c3@4 ~@12 c3@4 ~@9 c3@3",
  AD: "bb2@3 ~@13 d3@8 db3@7 ~", AE: "c3@3 ~@13 f2@3 ~@13", AF: "c3@4 ~@12 f2@3 ~@13", AG: "bb2 ~@7",
  AH: "~@5 bb2@3 bb3@5 ~@3 bb3@5 bb2@3 bb3@5 bb2@3", AI: "bb2@3 ~@5 bb2@24", AJ: "[bb2@24 ~ bb2@24 eb3@15]/2",
  AK: "~ bb2@16 c3@14 ~", AL: "~ g2@10 ~@6 bb2@7 ~@8", AM: "~ f2@12 ~@4 bb2@13 ~@2", AN: "~ d3@8 db3@8 c3@8 ~@7",
  AO: "~ f2@13 ~@3 c3@12 ~@3",
  AP: "[~ f2@8 f3@8 bb2@6 ~@4 d3@10 ~ db3@11 c3@12 ~ bb2@4 ~@2 bb2 ~@4 bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2!2 ~ bb2!3 ~ bb2!6 ~ bb2]/3",
  AQ: "~ bb2!3 ~ bb2 ~ bb2!3 ~@2 bb2!9 ~ bb2!8 ~ bb2", AR: "bb2!4 ~@9 bb2@5 ~@14",
})).s("gm_acoustic_bass").gain(0.35)

// bass · acoustic bass · soft notes
const bass_soft = note("<~@3 A ~@7 B ~@23 B ~@14 C D ~@13 E ~@17 F G H>".pickRestart({
  A: "~@27 f2@2 ~@3", B: "~@13 eb3@2 ~@17", C: "~@13 c3 ~@18", D: "~@13 f2@3 ~@16", E: "~@13 bb2@3 ~@16",
  F: "~@3 bb2 ~ bb2!2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~@4 bb2 ~@3 bb2 ~@8", G: "~@4 bb2 ~ bb2 ~@4 bb2 ~@20",
  H: "~@4 bb2@7 ~@21",
})).s("gm_acoustic_bass").gain(0.23)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  ~@4 A B ~@2 C D E ~@2 F ~@4 G H I@2 J K ~@4 A B ~@2 C D E ~@2 L ~@4 M N@3 J K ~@4 A B ~@2 C D E ~@2 L ~@4 O P Q R S T
  U V ~@4 W X Y@6
>`.pickRestart({
  A: "~@13 bb2@2 ~ c3@7 ~ c3@8", B: "bb2@21 ~@11", C: "~@13 [bb2,bb4]@2 ~ [c3,c5]@7 ~ [c3,c5]@8",
  D: "~ g4 ab4 a4, [bb2,bb4]@21 ~@11", E: "bb4@7 ~@9", F: "~@16 f4@7 ~ e4@8", G: "~@16 g4@11 ~@5",
  H: "~@13 bb4@2 ~ bb4@10 ~@6", I: "[~@5 f4 ~@2 g4@5 bb4 ~@2 d5@5 f5 ~@2 g5@5 d5@12 ~@23]/2",
  J: "~@13 a5@2 ~ [f5,a5]@13 ab5@3", K: "[eb5,g5]@11 ~@5", L: "~@16 f4@7 ~@9",
  M: "[eb5,g5]@5 ~@3 [eb5,g5]@6 ~@2 [eb5,g5]@6 ~@2 [eb5,g5]@6 ~@2", // Eb
  N: "[[e5,g5]@7 ~ [e5,g5]@6 ~@2 [e5,g5]@7 ~ [db5,gb5]@5 [d5,f5]@5 ~@3 f4 ~@2 g4@5 bb4 ~@2 d5@5 f5 ~@2 g5@5 d5@12 ~@23]/3", // Em Gb5 Dm
  O: "[eb5,g5]@2 ~@3 [eb5,g5]@2 ~ eb5@3 g5 ~ eb5@2 ~ eb5@4 ~ [eb5,g5]@2 ~ [eb5,g5]@2 ~ [eb5,g5]@2 [eb5,g5]@2 ~, ~@8 g5 ~@7 g5 ~@15", // Eb
  P: "e5@4 ~ [e5,g5]@2 ~ [e5,g5]@2 e5@2 ~ [e5,g5]@2 ~ [e5,g5]@2 ~ g5 ~ g5@2 ~ [e5,g5]@2 g5@2 ~ [e5,g5]@3, g5 ~@17 e5@2 ~@12", // Em
  Q: "f5@7 ~@15 bb5@2 g5@5 ~ d5@2", R: "bb4@14 ~@13 d5@2 db5@3", S: "c5@12 ~ a5@2 ~ [d5,f5]@13 g5@3",
  T: "[c5,eb5]@11 ~@5", U: "~@8 f4@2 ~ bb4@2 f4@3 e4@3 bb4@3 ~@2 eb4@3 ~@5", V: "d4 ~@7",
  W: "~@9 f5@2 bb4@3 d5@2 f4@9 ~@7", X: "~ d5@7 ~ db5@8 c5@11 ~@2 a5@2",
  Y: "[~ [d5,f5]@13 g5@3 [c5,eb5]@23 ~@19 f4@3 ~ bb4@3 ~ f4@3 e4@4 bb4@4 ~@3 eb4@5 ~@9 [bb2,f3,f4]@4 ~@9 d4 ~@16 bb2 [bb2,f3,ab3,d4,f4] ~@12 f3 [f3,ab3,d4,f4]@2 [bb2,f3,ab3,d4,f4] ~@6 [f3,d4,f4] ~@14 [bb2,f3] [bb2,f3,ab3,d4,f4]@6 ~@21, ~@94 d4@10 [ab3,d4]@2 ab3@2 ~@2 [bb2,f3]@2 [bb2,f3,f4]@2 [bb2,f3]@2 [bb2,f3]@2 [bb2,ab3,d4]@2 ~ [bb2,f3]@2 [bb2,f3]@2 ~@3 [bb2,f3]@2 [bb2,f3]@2 [bb2,f3]@2 [bb2,ab3,d4]@2 [ab3,d4,f4]@2 [ab3,d4,f4]@2 ~@3 [ab3,d4,f4]@2 [ab3,d4,f4]@2 ~@3 [ab3,d4,f4]@2 [ab3,d4,f4]@2 [ab3,d4,f4]@2 ~@3 [ab3,d4]@2 [ab3,d4,f4]@2 [ab3,d4,f4]@2 ~@27, ~@94 ab3@5 f3@2 [bb2,f3]@2 [bb2,f3]@2 [bb2,f3]@2 [bb2,f3,ab3]@2 [bb2,f3,ab3,d4]@2 [ab3,d4]@2 [ab3,d4,f4]@2 [ab3,d4,f4]@2 [f3,ab3,d4,f4]@2 [bb2,f3,f4]@2 ~@16 [bb2,f3]@2 bb2@3 ~@2 [bb2,f3]@2 [bb2,f3]@2 [bb2,ab3]@3 [bb2,f3]@2 [bb2,f3]@2 [bb2,f3]@2 [bb2,ab3]@2 ~ [bb2,f3,f4]@2 [bb2,f3]@2 ~@28, ~@100 [ab3,f4]@2 f4@2 f4@8 ~@8 [ab3,d4,f4]@2 [ab3,d4,f4]@2 [f3,ab3,d4,f4]@2 ~ [ab3,d4,f4]@2 [ab3,d4,f4]@2 [ab3,d4,f4]@2 [f3,ab3,d4,f4]@2 f3@2 ~@10 [f3,ab3,d4,f4]@2 ~@7 [f3,ab3,d4,f4]@2 [bb2,f3,d4,f4]@2 ~@32]/6", // Dm Cm Bb5 Bb7 Ddim Bb7 Dm Bb5 …
})).s("gm_acoustic_guitar_nylon").gain(0.27)

// chords · acoustic guitar nylon · soft notes
const acoustic_guitar_nylon_2 = note(`<
  ~@14 A ~@3 B C ~@2 D ~@14 E A ~@7 D ~@14 E A ~@3 F G ~ H I ~ J K ~@4 L M N O@4 ~
>`.pickRestart({
  A: "eb4@15 ~@17", B: "~@13 g4@2 ~@17", C: "~@13 e4@2 ~ e4@10 ~@6", D: "~@13 f5@2 ~@14 e5@3", E: "~@3 e4",
  F: "~@3 g5@2 ~@8 g5@2 ~@4 g5 ~@12, ~ eb5 ~@14", G: "~@3 g5 ~@7 g5 ~@9 e5@2 ~@3 e5@2 ~@4", H: "~@12 f4 ~@3",
  I: "~@13 f5@2 ~@14 eb5@3", J: "~@8 f5@2 ~ bb5@2 f5@3 e5@3 bb5@2 [e4,e5]@3 eb5@3 [bb4,bb5]@2 [eb4,eb5]@3", K: "d5 ~@7",
  L: "~@3 d5 ~@12", M: "~@15 f5", N: "~@14 eb5@3 ~@15",
  O: "[~@27 f5@3 ~ bb5@3 ~ f5@3 e5@4 bb5@4 [e4,e5]@3 eb5@5 [bb4,bb5]@4 ~@12 ab3@2 ~@2 d4@2 ~@27 f4@2 ~@23, ~@29 [eb4,eb5]@32 ~@3, ~@31 d5@32 ~]/4", // E Bb Eb
})).s("gm_acoustic_guitar_nylon").gain(0.12)

// other · clarinet
const clarinet = note("<~@49 A B C D@2 E F G@2 ~@28>".pickRestart({
  A: "~@6 bb2 d3 f3 d4@2 ~@2 d4@3 eb4@3 ~@2 eb4@3 e4@3 ~@2 e4@3", B: "f4@3 ~@2 g4@5 ~ f4@2 e4@3 eb4@10 ~@3 e4@3",
  C: "f4@3 ~@2 g4@5 ~ f4@2 ~ e4@2 eb4@7 ~ e4@2 f4@3 g4@2 e4",
  D: "[~ g4 ~@3 d4@4 ~ db4 d4@4 ~ d4@20 ~ f2 d3 bb3 d4@4 ~ d4@3 eb4@3 ~@2 eb4@3 e4@3 ~@2 e4@3, f4@5 db4 ~@32 f3@2 ~@24]/2",
  E: "~ f4@3 ~ g4@5 ~ f4@2 e4@3 eb4@12 ~ e4@3", F: "f4@3 ~@2 g4@5 ~ f4@2 e4@2 ~ eb4@7 ~ e4@2 f4@3 g4@2 e4",
  G: "[f4@5 ~ d4@4 ~ d4@4 ~@2 d4@21 ~@26]/2",
})).s("gm_clarinet").gain(0.38)

// other · clarinet · soft notes
const clarinet_soft = note("<~@49 [~@5 f2@2 ~@25] ~@2 [~@16 db4 ~@15] ~@3 [~@5 db4 ~@4 db4 ~@5 db4 ~@15] ~@29>")
  .s("gm_clarinet").gain(0.21)

// chords · pad warm
const pad_warm = note(`<
  ~@2 A B C D E B C F G H@2 I J K L F M N O I J P Q ~ A B C D E B C F M R S I J ~@2 F T U V I J P Q ~@8 F W X Y Z AA ~@2
  F T U V I J P Q ~@2 AB@6 AC@5
>`.pickRestart({
  A: "[f3,c4]", B: "~@3 db4", C: "[bb3,d4]", D: "~@3 d4", E: "[a3,c4]", F: "~ g3 ab3 a3", G: "bb3@15 ~",
  H: "[~ [g3,e4] [f3,d4]@2, ~ bb3@3]/2", I: "~@2 [f3,d4] [e3,db4]", J: "[eb3,c4]", K: "f4 eb4", L: "d4 ~@15", M: "bb3",
  N: "g3", O: "d4", P: "~@2 [f3,db4] [eb3,c4]", Q: "[d3,bb3] ~@3", R: "g4 e4", S: "f4", T: "[eb3,g3,bb3]",
  U: "[e3,g3,bb3]", V: "[d3,f3,bb3]", W: "eb4@31 ~", X: "e4@31 ~", Y: "d4@31 ~", Z: "~@2 [d4,f4] [db4,e4]",
  AA: "[c4,eb4]", AB: "[~@17 [eb3,g3,bb3]@32 [e3,g3,bb3]@32 [d3,f3,bb3]@48 [f3,d4]@8 [e3,db4]@8 [eb3,c4]@32 ~@15]/6",
  AC: "[~ [f3,db4]@8 [eb3,c4]@8 d3@10 [d3,f3]@11 [db3,e3]@11 [c3,eb3]@13 [bb2,d3,f3]@78 ~@20, ~@17 bb3@123 ~@20]/5", // Db Cm Dm Dbm Cm Bb
})).s("gm_pad_warm").gain(0.13).pan(0.4)

// other · string ensemble 1
const string_ensemble_1 = note("<~@9 A B ~@6 A B ~@14 A C ~@6 A D ~@14 A C ~@6 A D ~@19>".pickRestart({
  A: "~ g3 ab3 a3", B: "bb3 ~@3", C: "bb3@5 ~@11", D: "bb3@9 ~@23",
})).s("gm_string_ensemble_1").gain(0.27)

// chords · piano
const piano_2 = note("<A@2 ~@40 B C ~@6 D E F G H I J K ~@28>".pickRestart({
  A: "[~@6 f4 ~ g4 ~@4 bb4 ~@2 [e4,g4,db5]@3 ~@2 g4 f4 db4 [eb4,f4,c5]@5 [d4,f4,bb4]@8 ~@27, ~@10 bb4 ~@21]/2", // Dbdim F7 Bb
  B: "g5 ~@7 [bb4,g5] ~@7 [bb4,g5] ~@7 [bb4,g5] ~@7", C: "[e5,g5] ~@7 [bb4,e5,g5] ~@7 [bb4,e5,g5] ~@7 [bb4,gb5]@5 ~@3",
  D: "c5", E: "~ c5!2 db5, f5", F: "d5@3 [a4,db5]", G: "[bb4,d5]@3 [db5,e5]", H: "[c5,f5]@25 ~@7", I: "~@3 db5",
  J: "d5@23 ~ [a4,db5]@8", K: "[bb4,d5]@7 ~",
})).s("gm_piano").gain(0.12)

// chords · piano · soft notes · Eb5 Dm Bb
const piano_soft = note(`<
  ~@42
  [[bb4,eb5] ~@7 eb5 ~@7 eb5 ~@7 eb5 ~@7]
  [bb4 ~@23 db5@4 ~ [d5,f5] ~@2]
  [[bb4,d5,f5] ~@31]
  ~@7
  [f5@3 ~]
  ~@33
>`).s("gm_piano").gain(0.04)

// chords · banjo
const banjo = note(`<
  ~@2 A@2 B C A@2 B@2 D E B F G H I ~ J K L M N O P ~ A@2 B C A@2 B@2 D E B F O H I ~ J K L M N O P ~ A@2 B C A@2 B@2 D
  E B F G H I ~ J K L M N O P ~@2 Q R S T U V W ~@4
>`.pickRestart({
  A: "[eb4,a4,c5] ~@7 [eb4,a4,c5] ~@7 [eb4,a4,c5] ~@7 [eb4,a4,c5] ~@7", // Adim
  B: "[d4,f4,bb4] ~@7 [d4,f4,bb4] ~@7 [d4,f4,bb4] ~@7 [d4,f4,bb4] ~@7", // Bb
  C: "[d4,f4,bb4] ~@7 [d4,f4,bb4] ~@7 [d4,f4] ~@7 [eb4,ab4,b4]@2 ~@6, ~@8 bb4 ~@7", // Bb Dm Abm
  D: "[eb4,g4] ~@7 [eb4,g4,bb4] ~@7 [eb4,g4,bb4] ~@7 [eb4,g4,bb4] ~@7, bb4 ~@15", // Eb
  E: "[eb4,g4,bb4] ~@7 [eb4,g4] ~@7 [e4,g4,bb4] ~@7 [e4,g4,bb4] ~@7, ~@4 bb4 ~@11", // Eb Edim
  F: "[d4,f4,bb4] ~@7 [d4,f4,bb4] ~@7 [d4,f4,bb4] ~@7 [db4,f4,bb4] ~@7", // Bb Bbm
  G: "[c4,eb4,a4] ~@7 [c4,eb4] ~@7 [c4,eb4,a4] ~@7 [c4,eb4] ~@7, ~@4 a4 ~@7 a4 ~@3", // Adim Cm Adim Cm
  H: "[c4,eb4,a4] ~@7 [c4,eb4,a4] ~@7 [eb4,ab4,b4] ~@7 [eb4,a4,c5] ~@7", I: "[d4,f4,bb4] ~@31",
  J: "[eb4,g4,bb4]@2 ~@6 [eb4,g4,bb4] ~@7 [eb4,g4,bb4] ~@7 [eb4,g4] ~@7, ~@12 bb4 ~@3", // Eb
  K: "[e4,g4,bb4] ~@7 [e4,g4,bb4] ~@7 [e4,g4,bb4] ~@7 [e4,g4,bb4] ~@7", // Edim
  L: "[d4,f4,bb4] ~@7 [d4,f4] ~@7 [d4,f4,bb4] ~@7 [d4,f4,bb4] ~@7, ~@4 bb4 ~@11", // Bb Dm Bb
  M: "[d4,f4,bb4] ~@7 [d4,f4,bb4] ~@7 [d4,f4,bb4] ~@7 [db4,f4] ~@7, ~@12 bb4 ~@3", // Bb Db
  N: "[c4,eb4] ~@7 [c4,eb4,a4] ~@7 [c4,eb4,a4] ~@7 [c4,eb4,a4] ~@7, a4 ~@15", // Cm Adim
  O: "[c4,eb4,a4] ~@7 [c4,eb4] ~@7 [c4,eb4,a4] ~@7 [c4,eb4,a4] ~@7, ~@4 a4 ~@11", P: "[d4,f4,bb4] ~@15",
  Q: "~@17 [eb4,g4,bb4]@2 ~@6 [eb4,g4,bb4] ~@6", // Eb
  R: "~ [eb4,g4,bb4] ~@7 [eb4,g4] ~@7 [e4,g4,bb4] ~@7 [e4,g4,bb4] ~@6, ~@9 bb4@2 ~@21", // Eb Edim
  S: "~ [e4,g4,bb4] ~@7 [e4,g4,bb4] ~@7 [d4,f4,bb4] ~@7 [d4,f4] ~@6, ~@25 bb4@2 ~@5", // Edim Bb Dm
  T: "~ [d4,f4,bb4] ~@7 [d4,f4,bb4] ~@7 [d4,f4,bb4] ~@7 [d4,f4,bb4] ~@6", // Bb
  U: "~ [d4,f4,bb4] ~@7 [db4,f4] ~@7 [c4,eb4] ~@7 [c4,eb4,a4] ~@6, ~@9 bb4@2 ~@6 a4@2 ~@13", // Bb Db Cm Adim
  V: "~ [c4,eb4,a4] ~@7 [c4,eb4,a4] ~@7 [c4,eb4,a4] ~@7 [c4,eb4] ~@6, ~@25 a4@2 ~@5", // Adim Cm
  W: "~ [c4,eb4,a4] ~@7 [c4,eb4,a4] ~@7 [d4,f4,bb4]@2 ~@13", // Adim Bb
})).s("gm_banjo").gain(0.35).pan(0.3)

// chords · pad poly
const pad_poly = note("<~@50 A B C D E F G H ~@28>".pickRestart({
  A: "c5", B: "~ c5@2 db5, f5", C: "[d5,f5]@3 [a4,db5]", D: "[bb4,d5]@3 [db5,e5]", E: "[c5,f5]@31 ~", F: "~@3 db5",
  G: "d5@23 ~ [a4,db5]@8", H: "[bb4,d5]@7 ~",
// … 112 more lines

More by Renzo Arbore