Strudelify
Dormi, dormi cover art

Cosa succede in città (Original Master)

Dormi, dormi

Rossi Vasco

KeyG majorTempo89 bpm
0:00/0:00
// Dormi, dormi — Rossi Vasco
// 89 bpm, 4/4, key G 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 81 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(89/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.

// other · flute · "Canto"
const flute = note("<~@10 A B@2 ~@68>".pickRestart({
  A: "~@6 e4 g4", B: "[d4@4 ~@2 g3 ~ c4 d4@5 b3@9 ~@9]/2",
})).s("gm_flute").gain(0.72)

// bass · fretless bass · "FretlessBS"
const bass = note(`<
  ~@26 A B C D E F C G E F H I@2 J H I@2 K L@2 M@2 L@2 N@2 O P Q@2 R S T@2 U V W X U V Y Z U V W AA U V Y AB@3 ~@3
>`.pickRestart({
  A: "g1@4 ~@2 g1 ~ g1@7 ~", B: "g1@5 ~ g1 ~ g1@4 b1@4", C: "c2@5 ~ c2@2 b1@6 ~@2", D: "a1@5 ~ a1@2 g1@4 ~@4",
  E: "c2@5 ~ c2@2 b1@7 ~", F: "a1@2 ~ g1@3 ~@2", G: "a1@5 ~ g1@6 b1@4", H: "e2@5 ~ e2 ~ d2@8", I: "c2@5 ~ c2 ~ g1@8",
  J: "d2@5 ~ d2 ~ b1@8", K: "d2 c2", L: "[b1@3 d2@9 c2@4]/2", M: "[b1@6 d2@13 ~ d2@3 ~ c2@8]/2",
  N: "[b1@6 d2@13 ~ d2@3 ~ c2@5 ~ c2@2]/2", O: "b1@6 ~@2 a1@5 ~ a1@2", P: "g1@4 ~@4 c2@5 ~ c2@2",
  Q: "[b1@7 ~ a1@4 ~@2 g1@6 b1@4 c2@5 ~ c2@2]/2", R: "b1 a1", S: "g1@4 b1@4 c2@5 ~ c2@2",
  T: "[b1@8 a1@4 ~@2 g1@10 e2@5 ~ e2 ~]/2", U: "d2@8 c2@5 ~ c2 ~", V: "g1@8 c2@5 ~ c2 ~", W: "g1@8 d2@5 ~ d2 ~",
  X: "b1@8 e2@5 ~ e2 ~", Y: "g1@8 d2@5 ~ d2@2", Z: "g1@4 g1@4 e2@5 ~ e2 ~", AA: "b1@8 c2@5 ~ c2 ~", AB: "[c2@11 ~@5]/3",
})).s("gm_fretless_bass").gain(0.71)

// chords · electric guitar clean · "Clean 1"
const electric_guitar_clean = note(`<
  ~ A B C D A B C E@4 F@4 G@3 H@3 I J@5 K@2 L M K@2 L N A B C D A B C O@7 P@3 F@4 G@3 H@3 I Q@4 H@3 R S@8 ~
>`.pickRestart({
  A: "~@2 e4 g4 ~@3 f#4, e4@2 ~@2 f#4@3 ~, ~ b3@3 ~ a3@3, ~@3 d4",
  B: "~@2 c4 e4 ~@2 g4 b3, e4@3 ~ d4@2 ~@2, ~ g3@4 g3@3",
  C: "[e3,g3,c4]@2 [e3,g3,d4]@2 [g3,c4,e4]@2 [d4,e4]@2 ~@2 d4@2 b2 c3 d3@2, c3@2 g2 ~, e4 ~@5 g3@4 g3@4 ~@2, ~@6 e3 ~@9", // C Em7 C Dsus2
  D: "~@3 a3 ~@2 b3@2, d3 b2, ~@2 f#4@7 ~@7, ~@4 d4@5 ~ d#4@6",
  E: "[~@9 d3 ~@9 d3 ~@3 g3 ~@7 g3, d3 g2@2 g2@2 ~@2 a2, ~ f#4@4 d3@2 d3@2 ~@4 d3@2 d3@2 d3@2 ~ c3@4 b2@4 ~@4, ~@4 d4@7 ~@5 b3@16 b3@8 ~@4 e4@7 ~ d4@6 ~@2 c4@4, ~@6 a3@5 ~ g3@8 g3@7 ~ g3@8 g3@4 ~@2 g3@4 ~@4 g3@4 g3@4 g3@4 ~@2]/4",
  F: "[~ g3 ~ b3 ~@3 g3 ~@3 g3 [e3,g3,c4,e4] [g3,c4,e4] ~ [g2,b2,d3,g3,d4]@4 ~@4 g3 ~@7 g3, g2 c3 b2 ~@2 c3 b2 a2, ~@2 g4@2 ~ g3@2 ~@2 g3@2 ~@10 g3@2 ~@2 g3@2 g3@2 g3@2 ~, ~@12 e4@7 ~ d4@4 ~@20 e4@7 ~ d4@6 ~@2 c4@4]/4", // C G
  G: "[~ g3 ~ b3 ~@3 g3 ~@3 g3 [e3,g3,c4,e4] [g3,c4,e4] ~ [g2,b2,d3,g3,d4]@5 ~@2 e4 g4, g2 c3 b2 ~@3, ~@2 g4@2 ~ g3@2 ~@2 g3@2 ~@10 b3@3, ~@12 e4@7 ~ d4@4 ~@16 e4@4 ~@4]/3", // C G
  H: "[~@6 f#4@2 ~@4 c4@2 e4@2 ~@4 g4@2 b3@2 [e3,g3,c4]@2 [e3,g3,d4]@2 [g3,c4,e4]@2 [d4,e4]@2 ~@2 d4@2 b2 c3 d3@2 ~@6 a3@2, f#4@6 ~@2 e4@6 ~@10 e4 ~@5 e3 ~@9 d3@8, ~ a3@3 ~ g3@4 g3@3 c3@4 g2@2 ~@4 d4@2, ~@2 d4@2 ~@4 d4@2 ~@5 g3@2 g3@2 ~@2 f#4@3]/3", // C Em7 C Dsus2
  I: "~@2 b3@2 ~@2 e4 g4, b2@4 ~ b3@3, ~ d#4@3 e4@2 ~@2",
  J: "[~@6 f#4@2 ~@4 c4@2 e4@2 ~@4 g4@2 b3@2 [e3,g3,c4]@2 [e3,g3,d4]@2 [g3,c4,e4]@2 [d4,e4]@2 ~@2 d4@2 b2 c3 d3@2 ~@18 d3@2 ~@18 d3@2, f#4@6 ~@2 e4@6 ~@10 e4 ~@5 e3 ~@9 d3@8 g2@16 g2@16, ~ a3@3 ~ g3@4 g3@3 c3@4 g2@2 ~@4 d4@3 d3@2 d3@2 ~@4 d3@2 d3@2 d3@2 ~, ~@4 d4@4 ~@8 d4@4 ~@10 g3@4 g3@4 ~@4 f#4@9 ~@5 b3@16 b3@8, ~@46 a3@5 ~ g3@8 g3@7 ~ g3@8 g3@4]/5", // C Em7 C Dsus2
  K: "[~@3 g3 ~@7 g3 ~ g3 ~ b3, c3 b2 a2 g2, ~ g3@2 ~@2 g3@2 g3@2 g3@2 ~@5, ~@4 e4@7 ~ d4@6 ~@2 c4@4 ~@4 g4@4]/2",
  L: "~@3 g3 ~@3 g3, c3 b2, ~ g3@2 ~@2 g3@2 ~, ~@4 e4@7 ~ d4@4", M: "[e3,g3,c4,e4] [g3,c4,e4] ~ [g2,b2,d3,g3,d4]@4 ~",
  N: "[e3,g3,c4,e4] [g3,c4,e4] ~ [g2,b2,d3,g3,d4]@5", // C G
  O: "[~@3 a3 ~@3 g3 ~@2 d4 a3@7 ~@5 g3 ~@2 d4 a3@8 ~@4 g3 ~@2 d4 a3@7 ~@5 g3, d3@8 c3@8 b2@5 ~@19 c3@8 b2@5 ~@19 c3@8 b2@5 ~@19 c3@8, ~@2 f#4@6 ~@4 d4@8 ~@24 d4@7 ~@25 d4@8 ~@24 d4@4, ~@2 d4@2 ~ g3@2 ~@2 g3@2 ~@10 g3@2 ~@2 g3@2 ~@10 g3@2 ~@2 g3@2 ~@10 g3@2 ~]/7",
  P: "[~@2 d4 a3@8 ~@4 g3 ~@7 g3, b2@5 ~@19 c3@8 b2@8 a2@8, ~ g3@2 ~@10 g3@2 ~@2 g3@2 g3@2 g3@2 ~, ~@28 e4@7 ~ d4@6 ~@2 c4@4]/3",
  Q: "[~@6 f#4@2 ~@4 c4@2 e4@2 ~@4 g4@2 b3@2 [e3,g3,c4]@2 [e3,g3,d4]@2 [g3,c4,e4]@2 [d4,e4]@2 ~@2 d4@2 b2 c3 d3@2 ~@6 a3@2 ~@4 g4@2 b3 ~@5 e4@2 g4@2, f#4@6 ~@2 e4@6 ~@10 e4 ~@5 e3 ~@9 d3@8 g2@7 ~@9, ~@2 a3@6 ~@2 g3@8 g3@6 c3@8 g2@4 ~@8 d4@4 ~@2 g3@5 ~@3 b3@6, ~@2 d4@2 ~@4 d4@2 ~@5 g3@2 g3@2 ~@2 f#4@4 ~@3 e4@2 ~@2]/4", // C Em7 C Dsus2
  R: "~@2 b3@2 ~@2 e4 g4, b2@4 ~ g3@3, ~ d#4@3 e4@2 ~@2",
  S: "[~@6 f#4@2 ~@4 c4@2 e4@2 ~@4 g4@2 b3@2 [e3,g3,c4]@2 [e3,g3,d4]@2 [g3,c4,e4]@2 [d4,e4]@2 ~@2 d4@2 b2 c3 d3@2 ~@6 a3@2 ~@6 g3@2 ~@14 e4@2 ~@5 g4 ~ d4@2 ~@2 g4@34 ~@11, f#4@6 ~@2 e4@6 ~@10 e4 ~@5 e3 ~@9 d3@8 c3@8 b2@8 a2@17 g2@36 ~@11, ~@2 a3@6 ~@2 g3@8 g3@6 c3@8 g2@4 ~@8 d4@4 ~@2 g3@4 ~@4 g3@4 g3@4 g3@7 d3@9 [d3,g3,b3]@35 ~@11, ~@4 d4@4 ~@8 d4@4 ~@10 g3@4 g3@4 ~@4 f#4@8 ~@2 d4@7 ~ d4@4 ~@4 c4@4 ~@3 a3@5 ~@48, ~@39 f#4 ~@24]/8", // C Em7 C Dsus2 G
})).s("gm_electric_guitar_clean").gain(0.4).pan(0.4)

// chords · electric guitar clean · "Clean 1" · soft notes
const electric_guitar_clean_2 = note(`<
  ~@3 A B ~@2 A ~ C ~@3 D E ~@2 D ~@2 F G H ~ F G I@2 ~@3 J ~@3 K ~@2 A B ~@2 A ~@11 D E ~@2 D ~@2 F G H ~ F G ~@2 F G H
  ~ F G ~@6
>`.pickRestart({
  A: "~@4 e3@2 ~@2 b2 ~ d3 ~@5", B: "~@7 f#3", C: "~@3 d3@2 ~@3", D: "~@10 e3@2 c3 ~@3", E: "~@6 g2!2 ~@8",
  F: "~@6 e3 ~", G: "b2 ~ d3 ~@13", H: "~@3 f#3 ~@4", I: "[~@7 d3@2 ~@7]/2", J: "~@2 e3@2 c3 ~@9 g2!2",
  K: "~@2 e3@2 c3 ~@11",
})).s("gm_electric_guitar_clean").gain(0.2).pan(0.4)

// chords · electric guitar clean · "Clean 2"
const electric_guitar_clean_3 = note(`<
  A@2 B ~ C@2 B ~ D@3 ~@7 E F@2 ~ G F@2 ~ H@2 ~@7 A@2 B ~ C@2 B ~@17 E F@2 ~ G F@2 ~ E F@2 ~ I F@2 ~ J K L@2 ~@2
>`.pickRestart({
  A: "[~@16 b3@5 ~ b3 ~@5 g4 f#4 d4@2, ~@15 e3@9 d3@8, ~@4 g3@2 f#4 ~, ~@13 a3@3]/2",
  B: "~@4 d3 e3 ~@6 b3@4, e4 ~, c3@2 ~ d3@5, ~@2 g3@5 ~@3 g3@6",
  C: "[~@8 [e3,f3] f#3@3 [e3,f3] f#3@2 ~ b3@5 ~ b3 ~@5 g4 f#4 d4@2, ~@15 e3@9 d3@8, ~@4 g3@2 f#4 ~, ~@13 a3@3]/2", // Fmaj7
  D: "[~@10 d4@2 ~@2 d4@2 ~@2 d4@2 ~@16 g4@2 d4 ~@9, ~@8 g3@16 g3@15 ~@9, ~@12 g4@7 ~ g4@7 ~ g4@8 ~@12, ~@8 b4@7 ~ b4@4 ~@4, ~@11 d4@2 d4@2 d4@2 d4@2 ~@5]/3",
  E: "~@8 b3@5 ~ b3 ~, ~@7 e3@9, ~ g3",
  F: "[~@4 g4 f#4 d4@2 ~@4 d3 e3 ~@6 b3@4 ~@8, d3@4 c3@2 ~ d3@5 ~@4, f#4 ~ e4@2 ~@4, ~@2 a3@6 ~@2 g3@5 ~@3 g3@6 ~@8]/2",
  G: "[e3,f3] f#3@3 [e3,f3] f#3@2 ~ b3@5 ~ b3 ~, ~@7 e3@9, ~ g3", // Fmaj7
  H: "[~@2 d4@2 ~@2 d4@2 ~@2 d4@2 ~@16 g4@2 d4 ~, g3@16 g3@15 ~, ~@4 g4@7 ~ g4@7 ~ g4@8 ~@4, ~@4 b4@7 ~ b4@4, ~@7 d4@2 d4@2 d4@2 d4@2 ~]/2",
  I: "[e3,f3] f#3@3 [e3,f3] f#3@2 ~ c4@5 ~ c4 ~, ~@7 e3@9, ~ g3", J: "c3 b2", K: "a2@8 ~ d3@7",
  L: "[~@3 b4@26 ~@3, ~ g4@13 ~@2, ~ [b3,d4]@12 ~@3]/2", // Bm
})).s("gm_electric_guitar_clean").gain(0.35).pan(0.6)

// chords · electric guitar clean · "Echo guit"
const electric_guitar_clean_4 = note(`<
  ~ A@2 B@2 A@2 C D@8 E@3 F@4 G@5 H@4 I@4 A@2 B@2 A@2 C J@6 K@8 E@3 F@4 L@4 M@4 N@8 ~
>`.pickRestart({
  A: "[~ g3@6 b3 ~@5 g4 f#4 d4@2 ~@4 d3 e3 ~@6 b3@3, e3@8 ~ d3@7 ~ c3@4 ~@2 d3@9, ~ b3@4 ~@4 f#4@4 ~@4 e4@8 ~@7, ~@11 a3@5 ~@3 g3@5 ~@3 g3@5]/2",
  B: "[~ [e3,g3,c4]@2 [e3,g3,d4]@2 [e3,g3,c4,e4]@2 [d4,e4]@2 b2 ~ d4@2 b2 c3 d3@2 ~@6 a3@2 ~@4 b3@2 f#3, ~ c3@8 g2@4 ~@8 d4@5 ~ d#4@5, ~ e4 ~@5 g3@4 g3@4 ~@4 f#4@7 ~@6, ~@7 e3 ~@3 d3 ~@5 d3@8 b2@7]/2", // C Em7 C Dsus2
  C: "~ [e3,g3,c4]@2 [e3,g3,d4]@2 [e3,g3,c4,e4]@2 [d4,e4]@2 b2 ~ d4@2 b2 c3 d3, ~ c3@8 g2@4 ~@3, ~ e4 ~@5 g3@4 g3@4 ~, ~@7 e3 ~@3 d3 ~@4", // C Em7 C Dsus2
  D: "[~@7 a3@2 ~@6 d3@2 ~@20 g3@2 d3 ~@7 g3@2 ~@14 g3@2 ~@2 g3@2 ~@2 b3@2 ~@6 g3@2 ~@6 g3@2 [e3,g3,c4,e4]@2 [e3,g3,c4,e4]@2 c3 ~ [g2,b2,d3,g3,d4]@8 g2!2 ~@6 g3@2 ~@12 c4@2 g3, ~ d3@8 g2@16 g2@15 ~@17 a2@8 g2@8 ~@48 a2@7, ~@3 f#4@7 ~@3 g3@6 d3@4 d3@4 d3@4 d3@4 d3@4 ~@2 c3@8 b2@8 ~@16 c3@8 b2@8 ~@16 c3@8 b2@8 ~@7, ~@5 d4@5 ~ d3@4 ~@2 b3@16 b3@7 ~@5 e4@7 ~ d4@6 ~@2 c4@4 ~@4 g4@4 ~@4 e4@7 ~ d4@4 ~@20 e4@7 ~ d4@6 ~@5, ~@21 g3@8 g3@8 ~@6 g3@4 ~@4 g3@4 g3@4 g3@4 ~@12 g3@4 ~@4 g3@4 ~@20 g3@4 ~@4 g3@4 g3@4 g3@4 ~]/8", // C G
  E: "[~@3 g3@2 ~@2 b3@2 ~@6 g3@2 ~@6 g3@2 [e3,g3,c4,e4]@2 [e3,g3,c4,e4]@2 c3 ~ [g2,b2,d3,g3,d4]@9 ~ g3@6 b3, ~ g2@8 c3@8 b2@8 ~@23, ~@5 g4@4 ~@2 g3@4 ~@4 g3@4 ~@17 e3@8, ~@13 e4@7 ~ d4@4 ~@16 b3@4 ~@3]/3", // C G
  F: "[~@5 g4 f#4 d4@2 ~@4 d3 e3 ~@6 b3@4 [e3,g3,c4]@2 [e3,g3,d4]@2 [e3,g3,c4,e4]@2 [d4,e4]@2 b2 ~ d4@2 b2 c3 d3@2 ~@6 a3@2 ~@4 b3@2 f#3 ~ g3@6 b3, ~ d3@7 ~ c3@4 ~@2 d3@10 c3@8 g2@4 ~@8 d4@5 ~ d#4@5 ~ b3@4 ~@3, ~ f#4@4 ~@4 e4@8 ~@8 e4 ~@5 e3 ~@3 d3 ~@5 d3@8 b2@7 e3@8, ~@3 a3@5 ~@3 g3@5 ~@3 g3@6 ~@6 g3@4 g3@4 ~@4 f#4@7 ~@14]/4", // C Em7 C Dsus2
  G: "[~@5 g4 f#4 d4@2 ~@4 d3 e3 ~@6 b3@4 [e3,g3,c4]@2 [e3,g3,d4]@2 [e3,g3,c4,e4]@2 [d4,e4]@2 b2 ~ d4@2 b2 c3 d3@2 ~@6 a3@2 ~@6 d3@2 ~@20 g3@2 d3, ~ d3@7 ~ c3@4 ~@2 d3@10 c3@8 g2@4 ~@8 d4@5 ~ d3@4 ~@2 b3@16 b3@7, ~ f#4@4 ~@4 e4@8 ~@8 e4 ~@5 e3 ~@3 d3 ~@5 d3@8 g2@16 g2@15, ~@3 a3@5 ~@3 g3@5 ~@3 g3@6 ~@6 g3@4 g3@4 ~@4 f#4@7 ~@3 g3@6 d3@4 d3@4 d3@4 d3@4 d3@4 ~, ~@61 g3@8 g3@8 ~@3]/5", // C Em7 C Dsus2
  H: "[~@7 g3@2 ~@14 g3@2 ~@2 g3@2 ~@2 b3@2 ~@6 g3@2 ~@6 g3@2 [e3,g3,c4,e4]@2 [e3,g3,c4,e4]@2 c3 ~ [g2,b2,d3,g3,d4]@8 g2, ~ c3@8 b2@8 a2@8 g2@8 c3@8 b2@8 ~@15, ~@3 g3@4 ~@4 g3@4 g3@4 g3@4 ~@12 g3@4 ~@4 g3@4 ~@17, ~@5 e4@7 ~ d4@6 ~@2 c4@4 ~@4 g4@4 ~@4 e4@7 ~ d4@4 ~@15]/4", // C G
  I: "[g2 ~@6 g3@2 ~@14 g3@2 ~@2 g3@2 ~@2 b3@2 ~@6 g3@2 ~@6 g3@2 [e3,g3,c4,e4]@2 [e3,g3,c4,e4]@2 c3 ~ [g2,b2,d3,g3,d4]@9, ~ c3@8 b2@8 a2@8 g2@8 c3@8 b2@8 ~@15, ~@3 g3@4 ~@4 g3@4 g3@4 g3@4 ~@12 g3@4 ~@4 g3@4 ~@17, ~@5 e4@7 ~ d4@6 ~@2 c4@4 ~@4 g4@4 ~@4 e4@7 ~ d4@4 ~@15]/4", // C G
  J: "[~@5 d4@2 a3 ~@7 g3@2 ~@4 d4@2 a3@14 ~@10 g3@2 ~@4 d4@2 a3@16 ~@8 g3@2 ~@4 d4@2 a3@9, ~ d3@8 c3@8 b2@5 ~@19 c3@8 b2@5 ~@19 c3@8 b2@5 ~@10, ~@3 f#4@5 ~@3 g3@4 ~@4 g3@4 ~@20 g3@4 ~@4 g3@4 ~@20 g3@4 ~@4 g3@4 ~@9, ~@13 d4@8 ~@24 d4@7 ~@25 d4@8 ~@11]/6",
  K: "[~@15 g3@2 ~@4 d4@2 a3@16 ~@8 g3@2 ~@14 g3@2 ~@2 g3@2 ~@2 b3@2 ~@6 g3@2 ~@6 g3@2 [e3,g3,c4,e4]@2 [e3,g3,c4,e4]@2 c3 ~ [g2,b2,d3,g3,d4]@8 g2!2 ~@6 g3@2 ~@12 c4@2 g3, ~@9 c3@8 b2@5 ~@19 c3@8 b2@8 a2@8 g2@8 c3@8 b2@8 ~@16 c3@8 b2@8 a2@7, ~@11 g3@4 ~@4 g3@4 ~@20 g3@4 ~@4 g3@4 g3@4 g3@4 ~@12 g3@4 ~@4 g3@4 ~@20 g3@4 ~@4 g3@4 g3@4 g3@4 ~, ~@13 d4@7 ~@25 e4@7 ~ d4@6 ~@2 c4@4 ~@4 g4@4 ~@4 e4@7 ~ d4@4 ~@20 e4@7 ~ d4@6 ~@5]/8", // C G
  L: "[~@5 g4 f#4 d4@2 ~@4 d3 e3 ~@6 b3@4 [e3,g3,c4]@2 [e3,g3,d4]@2 [e3,g3,c4,e4]@2 [d4,e4]@2 b2 ~ d4@2 b2 c3 d3@2 ~@4 d4@2 a3@2 ~@4 g4@2 b3 ~ g3@6 b3, ~ d3@7 ~ c3@4 ~@2 d3@10 c3@8 g2@4 ~@12 g2@6 ~@9, ~ f#4@4 ~@4 e4@8 ~@8 e4 ~@5 e3 ~@3 d3 ~@5 d3@8 ~@2 g3@4 ~ e3@8, ~@3 a3@5 ~@3 g3@5 ~@3 g3@6 ~@6 g3@4 g3@4 ~@4 f#4@7 ~@7 b3@4 ~@3]/4", // C Em7 C Dsus2
  M: "[~@5 g4 f#4 d4@2 ~@4 d3 e3 ~@6 b3@4 [e3,g3,c4]@2 [e3,g3,d4]@2 [e3,g3,c4,e4]@2 [d4,e4]@2 b2 ~ d4@2 b2 c3 d3@2 ~@6 a3@2 ~@4 b3@2 f#3 ~ g3@6 c4, ~ d3@7 ~ c3@4 ~@2 d3@10 c3@8 g2@4 ~@8 d4@5 ~ d#4@5 ~ c4@4 ~@3, ~ f#4@4 ~@4 e4@8 ~@8 e4 ~@5 e3 ~@3 d3 ~@5 d3@8 b2@7 e3@8, ~@3 a3@5 ~@3 g3@5 ~@3 g3@6 ~@6 g3@4 g3@4 ~@4 f#4@7 ~@14]/4", // C Em7 C Dsus2
  N: "[~@5 g4 f#4 d4@2 ~@4 d3 e3 ~@6 b3@4 [e3,g3,c4]@2 [e3,g3,d4]@2 [e3,g3,c4,e4]@2 [d4,e4]@2 b2 ~ d4@2 b2 c3 d3@2 ~@4 d4@2 a3@2 ~@6 g3@2 ~@14 e4@3 ~@4 g4 f#4@2 d4@2 ~ [g3,b3,g4]@35 ~@9, ~ d3@7 ~ c3@4 ~@2 d3@10 c3@8 g2@4 ~@16 d4@7 ~ d4@4 ~@4 c4@4 ~@3 a3@5 ~@47, ~ f#4@4 ~@4 e4@8 ~@8 e4 ~@5 e3 ~@3 d3 ~@5 d3@8 c3@8 b2@8 a2@17 ~ [g2,d3]@36 ~@9, ~@3 a3@5 ~@3 g3@5 ~@3 g3@6 ~@6 g3@4 g3@4 ~@4 f#4@7 ~ g3@4 ~@4 g3@4 g3@4 g3@7 d3@9 ~@45]/8", // C Em7 C Dsus2 G G5
})).s("gm_electric_guitar_clean").gain(0.12).pan(0.7)

// other · overdriven guitar · "Overdrive"
const overdriven_guitar = note("<~@43 A B@6 C@2 D E F@2 D E G@2 H E I J H E I K L E M J L N I O ~@5>".pickRestart({
  A: "~@4 a3 ~ [d3,f#3]@2 [c3,g3]@8", B: "[[b2,g3]@3 [d3,a3]@9 [c3,g3]@4]/2", C: "[[b2,g3]@3 [d3,a3]@9 c3@4]/2",
  D: "b2 a2", E: "g2 c3", F: "[b2@4 a2@3 g2@5 c3@4]/2", G: "[b2@4 a2@3 g2@5 e3@4]/2", H: "d3 c3", I: "g2 d3",
  J: "b2 e3", K: "g2 e3", L: "d3@8 c3@6 c3 d3", M: "g2@4 b2 c3 d3@10", N: "g2@8 c3@6 c3 d3", O: "c3 ~",
})).s("gm_overdriven_guitar").gain(0.55).pan(0.6)

// other · electric guitar jazz · "Jazz GT"
const electric_guitar_jazz = note(`<
  ~ A B C@2 A B D@4 E F G@2 E F H@2 I J K L I J K M@2 N O N P N O N P A B C@2 A B Q@2 ~@37
>`.pickRestart({
  A: "e3 d3", B: "c3@8 d3 e3 d3@6", C: "[c3@8 g2@4 b2 c3 d3@10 e4 f4 d#5 ~ e4 f4 [f#4,d#5]@2, ~@25 f#4@3 ~@4]/2",
  D: "[c3@8 g2@4 b2 c3 d3@10 g2@16 g2@16 c3@8]/4", E: "b2 a2", F: "g2 c3", G: "[b2@4 a2!2 ~ g2@3 ~@2 c3@4]/2",
  H: "[b2@4 a2!2 ~ g2@3 ~@2 e3@4]/2", I: "d3 c3", J: "d3 e3 d3@6 c3@8", K: "g2@4 b2 c3 d3@10",
  L: "e4 f4 d#5 ~ e4 f4 [f#4,d#5]@2 e3@8, ~ f#4@3 ~@12", M: "g2", N: "c3 b2", O: "a2 g2", P: "a2!2 ~ g2@3 ~@2",
  Q: "[c3@8 g2@4 b2 c3 d3@10 ~@8]/2",
})).s("gm_electric_guitar_jazz").gain(0.23)

// chords · piano
const piano = note(`<
  ~@27 A@2 B C D E F G H I J@2 K L M N O P@6 Q@2 ~@7 R S T U V S T U W X Y U Z AA AB AC AD AE@4 ~
>`.pickRestart({
  A: "[~@6 a4 ~ c5@2 e5@2 d5@4, ~@14 b4@2 g4@7 ~@9, ~@15 e4@7 ~@10]/2",
  B: "c5@8 ~@4 a4 ~@2 f#4, ~@3 [b4,d5], ~@13 a4@3, ~@7 g4", C: "d5 e5 d5 ~, g4@3 ~",
  D: "~@12 a4 ~@2 f#4, ~@3 [b4,d5], ~@13 a4@3, ~@7 g4", E: "g4 e5@3 d5@4", F: "c5@3 ~ b4@2 g5@2",
  G: "c5@3 ~ [c5,e5]@4 [b4,d5]@8", H: "[a4,c5]@5 ~ [g4,b4,d5]@10", I: "[b3,e4,g4] [a3,d4,f#4]",
  J: "[c4,e4,g4] [b3,d4,g4]", K: "[d4,f#4,a4] [b3,d#4,f#4]",
  L: "[b4,e5,g5]@4 [g5,b5]@4 ~@7 b4, ~ a4, ~@8 [d5,f#5]@5 f#5@3, ~@3 b5, ~@7 d5", M: "[g4,c5,e5] [g4,b4,d5]",
  N: "[e4,g4,c5] [g4,c5,e5] [g4,b4,d5]@2", O: "[d4,a4,d5,f#5] [e4,g4,c5]",
  P: "[[g4,b4,d5]@3 [f#4,a4,d5]@9 [e4,g4,c5]@4]/2", Q: "[[g4,b4,d5]@3 [f#4,a4,d5]@9 ~@4]/2", R: "~ [b3,e4,g4]",
  S: "[a3,d4,f#4] [c4,e4,g4]", T: "[b3,d4,g4] [c4,e4,g4]", U: "[b3,d4,g4] [d4,f#4,a4]", V: "[b3,d#4,f#4] [b3,e4,g4]",
  W: "[b3,d4,g4] [b3,e4,g4]", X: "[a3,d4,f#4]@8 [g4,c5,e5]@3 ~ [g4,c5,e5]@4", Y: "[g4,b4,d5] [c4,e4,g4]",
  Z: "[b3,d#4,f#4] [g4,c5,e5]", AA: "[a4,d5,f#5] [g4,c5,e5]", AB: "[g4,b4,d5] [g4,c5,e5]", AC: "[g4,b4,d5] [f#4,a4,d5]",
  AD: "~@7 d5 d5@4 d6@4", AE: "[c5@4 g5@4 ~ c5@4 f#5@5 [b4,d5,g5]@42 ~@4]/4",
})).s("gm_piano").gain(0.72)

// chords · pad warm · "Warm pad"
const pad_warm = note("<~@36 A B@2 C A B@2 D E@6 F@2 G H I@2 G H J@2 K@3 L K@3 M K@3 N K@3 O P@5>".pickRestart({
  A: "[b3,e4] [a3,f#4]", B: "[c4 b3 c4 b3, g4]/2", C: "[d4,a4]@2 b4 f#4, ~ d#4", D: "[d4,a4] [c4,e4,g4]",
  E: "[[b3,d4,g4]@3 [d4,f#4,a4]@9 [c4,e4,g4]@4]/2", F: "[[b3,d4,g4]@3 [d4,f#4,a4]@9 [c4,e4]@4]/2", G: "[b3,d4] [a3,c4]",
  H: "[g3,b3] [c4,e4]", I: "[[b3,d4]@4 [a3,c4]@3 [g3,b3]@5 [c4,e4]@4]/2",
  J: "[[b3,d4]@4 [a3,c4]@3 [g3,b3]@5 [b3,e4]@4]/2", K: "[[a3,f#4] c4 b3 c4 b3 [d4,a4], ~ g4@4 ~]/3",
  L: "b4 f#4 [b3,e4]@2, d#4 ~", M: "[d4,g4] [b3,e4]", N: "b4 f#4 [c4,e4]@2, d#4 ~", O: "[g3,c4,e4] [g3,b3,d4]",
  P: "[[g3,a3,c4]@9 [g3,a3,d4]@9 [g3,b3,d4]@47 ~@15]/5", // Am7 Gsus2 G
})).s("gm_pad_warm").gain(0.35)

// chords · lead 2 sawtooth · "Seq"
const lead_2_sawtooth = note("<~@43 A B C D E F G H I ~@29>".pickRestart({
  A: "~@8 [g3,d4] ~ [g3,d4] ~ [g3,d4]!4", B: "~ [g3,d4]!2 ~ [g3,d4]!3 [a3,d4] ~ [a3,d4]!2 ~ [a3,d4]!4",
  C: "~ [a3,d4]!2 ~ [a3,d4]!2 ~ [a3,d4] [d4,g4] ~ [d4,g4] ~ [d4,g4]!4", // D5 G5
  D: "~ [d4,g4]!2 ~ [d4,g4]!3 [d4,a4] ~ [d4,a4]!2 ~ [d4,a4]!4", // G5 D5
  E: "~ [d4,a4]!2 ~ [d4,a4]!2 ~ [d4,a4] [d4,g4] ~ [d4,g4] ~ [d4,g4]!4", // D5 G5
  F: "~ [d4,g4]!2 ~ [d4,g4]!3 [a4,d5] ~ [a4,d5]!2 ~ [a4,d5]!4", // G5 D5
  G: "~ [a4,d5]!2 ~ [a4,d5]!2 ~ [a4,d5]!2 ~ [a4,d5] ~ [a4,d5]!4", // D5
  H: "~ [a4,d5]!2 ~ [a4,d5]!3 [d5,a5] ~ [d5,a5]!2 ~ [d5,a5]!4", I: "~ [d5,a5]!2 ~ [d5,a5]!2 ~ [d5,a5] ~@8",
})).s("gm_lead_2_sawtooth").gain(0.64)

// other · overdriven guitar · "Distorted"
const overdriven_guitar_2 = note("<~@59 A B@2 ~ C@3 ~ A B@2 ~ C@3 ~@7>".pickRestart({
  A: "~ e4", B: "[f#4@2 e4 [e4,f#4] d4@2 e4@4 d4 [d4,e4] c4@2 b3@8 ~@10]/2",
  C: "[e3@2 b3@2 e3@2 b3@2 g4@2 a4@2 b4 a4 a4@4 g4@2 f#4@2 g4@4 f#4 [f#4,g4] e4@2 d4@7 ~@11, ~@14 b4 ~@33]/3", // Gmaj7
})).s("gm_overdriven_guitar").gain(0.51).pan(0.4)

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

// drums · rim
const rim = s("rim").struct("<~@26 [~@3 x]!10 [~ x ~ x]!7 [~ x ~@2] ~@37>").gain(0.8)

// drums · snare
const snare = s("sd").struct("<~@43 A B@6 C A B@7 A B@7 D B@7 ~@6>".pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "~ x ~@2", D: "~ x!3 ~ x!3 ~@4 x ~@3",
})).gain(0.8)

// drums · hihat
const hihat = s("hh").struct("<~@26 A B A B A B A B A B A B A C A B A D E@3 F G@2 H ~@30>".pickRestart({
  A: "x!3 ~ x ~ x ~", B: "x ~ x ~ x ~ x!2", C: "x!4", D: "x ~ x!6", E: "x!3 ~ x!4", F: "x!3 ~ x!3 ~", G: "x!7 ~",
  H: "x!3 ~@5",
})).gain(0.56)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct("<~@26 A B C B D B C B D B D B D E D B D F ~@37>".pickRestart({
  A: "~@3 x ~ x ~@2", B: "~ x ~ x ~@4", C: "~@3 x ~@3 x", D: "~@3 x ~ x ~ x", E: "~ x ~@3 x ~@2", F: "~ x ~@6",
})).gain(0.24)

// drums · low tom
const low_tom = s("lt").struct("<~@51 [x ~@2 x ~@2 x!2 ~@8] ~@7 [x ~ x ~@2 x ~@10] ~@7 [~@3 x ~@2 x ~@9] ~@13>")
  .gain(0.8)

// drums · mid tom
const mid_tom = s("mt").struct("<~@50 A B ~@6 C B ~@7 D ~@13>".pickRestart({
  A: "~@13 x ~@2", B: "x!2 ~@2", C: "~@15 x", D: "~ x!2 ~@2 x ~@10",
})).gain(0.8)

// drums · open hat
const open_hat = s("oh").struct("<~@26 A B@3 ~ B@3 ~ B ~ B ~ C ~ B ~@2 D@3 C A@2 D ~@30>".pickRestart({
  A: "~@7 x", B: "~@5 x ~@2", C: "~@3 x ~@3 x", D: "~@3 x ~@4",
// … 26 more lines

More by Rossi Vasco