Strudelify
L'amore sia con te cover art

1997 · L'Amore Sia Con Te

L'amore sia con te

Masini

KeyA majorTempo59 bpm
0:00/0:00
// L'amore sia con te — Masini
// 59 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 16 acoustic guitar steel (copy of ch 13 electric guitar clean)
// note: Full arrangement: all 75 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(59/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 · electric bass finger
const bass = note(`<
  ~@17 A B C D A B E F G H I J G H I J G H I K L M N K L M N O P Q@3 R@8 S@3 T@2 U V@3 W X Y@4 Z AA AB
>`.pickRestart({
  A: "d2@20 ~ d2 ~@2 d2@24", B: "b1@23 ~ b1@24", C: "f#1@23 ~ f#1@24", D: "a1@23 ~ a1@22 ~@2",
  E: "f#1@23 ~ a1@20 ~ a1 ~@2", F: "a1@23 ~ d2@20 ~ d2 ~@2", G: "d2@24 b1@20 ~ b1 ~@2", H: "b1@24 f#1@20 ~ f#1 ~@2",
  I: "f#1@24 a1@20 ~ a1 ~@2", J: "a1@22 ~@2 d2@20 ~ d2 ~@2", K: "a1@22 ~@2 d2@15 ~@6 d2 ~@2",
  L: "d2@15 ~@3 a1@5 ~ b1@20 ~ b1 ~@2", M: "b1@15 ~@3 e1@5 ~ f#1@20 ~ f#1 ~@2", N: "f#1@16 ~@2 f#1@6 a1@20 ~ a1 ~@2",
  O: "a1@17 ~ a1@6 d1@18 ~@3 d1 ~@2", P: "d1@14 ~ a0@3 a0@3 a#0@3 b0@19 ~@2 b0 ~@2",
  Q: "[b0@16 ~ b0@6 f#1@18 ~@3 f#1 ~@2 f#1@16 ~ f#1@5 ~ a1@19 ~@2 a1 ~@2 a1@16 ~@2 a1@6 d1@19 ~ d1 ~@2 d1@3]/3",
  R: "[~@6 d1@8 ~ a0@6 b0@19 ~ b0 ~@2 b0@16 ~@2 b0@6 f#1@19 ~@2 f#1 ~@2 f#1@16 ~ f#1@6 a1@19 ~@2 a1 ~@2 a1@10 ~@2 a1@11 d1@18 ~@3 d1 ~@2 d1@14 ~ a0@3 a0@3 a#0@3 b0@19 ~ b0 ~@2 b0@16 ~@2 b0@6 f#1@18 ~@2 f#1 ~@2 f#1@16 ~@2 f#1@5 ~ a1@19 ~@2 a1 ~@2 a1@16 ~ a1@6 d1@19 ~@2 d1 ~@2 d1@7 ~@2]/8",
  S: "[d1@8 a0@6 b0@19 ~@2 b0 ~@2 b0@16 ~@2 b0@6 f#1@19 ~ f#1 ~@2 f#1@16 ~@2 f#1@6 a1@19 ~ a1 ~@2 a1@10 ~@2]/3",
  T: "[a1@10 ~@2 d1@19 ~@2 d1 ~@2 d1@7 ~ d1@8 ~ a0@6 b0@19 ~@2 b0 ~@2 b0@13]/2",
  U: "~@4 b0@6 f#1@19 ~@2 f#1 ~@2 f#1@14",
  V: "[~@4 f#1@6 a1@19 ~ a1 ~@2 a1@10 ~@2 a1@11 ~ d1@18 ~@2 d1 ~@2 d1@14 ~ a0@3 a0@3 a#0@3 b0@19 ~@2 b0 ~@2 b0@16]/3",
  W: "~ b0@6 f#1@18 ~@3 f#1 ~@2 f#1@16 ~", X: "f#1@5 ~ a1@19 ~@2 a1 ~@2 a1@16 ~@2",
  Y: "[a1@6 d1@19 ~ d1 ~@2 d1@7 ~@2 d1@8 ~ a0@6 b0@19 ~ b0 ~@2 b0@16 ~@2 b0@6 f#1@19 ~@2 f#1 ~@2 f#1@16 ~ f#1@6 a1@19 ~@2 a1 ~@2 a1@10 ~@2 a1@9]/4",
  Z: "~@2 d1@19 ~@2 d1 ~@2 d1@7 ~@2 d1@8 ~ a0@4", AA: "~@2 b0@19 ~ b0 ~@2 b0@16 ~@2 b0@5", AB: "~ f#1@19 ~@28",
})).s("gm_electric_bass_finger").gain(0.44)

// bass · electric bass finger · soft notes
const bass_soft = note("<A@4 ~@71>".pickRestart({
  A: "[~@11 d2 e2 f#2 e2 d2@9 ~@3 d2 e2 f#2 e2 d2@9 ~@3 d2 e2 f#2 e2 d2@9 ~@8]/4",
})).s("gm_electric_bass_finger").gain(0.16)

// other · electric guitar clean
const electric_guitar_clean = note(`<
  A@4 ~@9 B@2 C@2 ~@10 D ~@5 E@2 ~@5 E ~@4 E F G H I J K L M N O P Q@3 R@3 S T@2 U V W@2 X Y@4
>`.pickRestart({
  A: "[~@33 d3@3 e3@3 f#3@2 ~ e3@3 d3@27 ~@9 d3@3 e3@3 f#3@2 ~ e3@3 d3@28 ~@8 d3@3 e3@3 f#3@3 e3@3 d3@27 ~@24]/4",
  B: "[~@33 d3@3 e3@3 f#3@2 ~ e3@3 d3@27 ~@24]/2", C: "[~@11 c#3 d3 e3 d3 c#3@9 ~@8]/2", D: "~@3 c#3 d3 e3 d3 c#3@9",
  E: "~@3 d3 e3 f#3 e3 d3@9", F: "~@8 d3@3 e3@3 f#3@3 e3@3 d3@27 ~", G: "~@8 c#3@3 d3@3 e3@2 d3@3 c#3@27 ~@2",
  H: "~@7 d3@3 e3@3 f#3@3 e3@3 d3@27 ~@2", I: "~@2 d3 e3 f#3 e3 d3@9 ~", J: "~@5 d3@3 e3@3 f#3@3 e3@3 d3@27 ~@4",
  K: "~@4 c#3@3 d3@3 e3@3 d3@3 c#3@27 ~@5", L: "~@4 d3@3 e3@3 f#3@2 e3@3 d3@27 ~@6", M: "~ d3 e3 f#3 e3 d3@9 ~@2",
  N: "~@2 d3@3 e3@3 f#3@3 e3@3 d3@27 ~@7", O: "~ c#3@3 d3@3 e3@3 d3@3 c#3@27 ~@8", P: "d3 e3 f#3 e3 d3@9 ~@3",
  Q: "[d3@3 e3@3 f#3@2 e3@3 d3@27 ~@9 d3@3 e3@3 f#3@3 e3@3 d3@27 ~@8 c#3@3 d3@3 e3@3 d3@3 c#3@27 ~@8 d3@3]/3",
  R: "[e3@3 f#3@3 e3@3 d3@27 ~@8 d3@3 e3@3 f#3@3 e3@3 d3@27 ~@9 d3@3 e3@3 f#3@2 e3@3 d3@27 ~@9 c#3@3 d3@2]/3",
  S: "~ e3@3 d3@3 c#3@27 ~@8 d3@3 e3@3", T: "[f#3@3 e3@3 d3@27 ~@8 d3@3 e3@3 f#3@3 e3@3 d3@27 ~@8 d3@3 e3@3 f#3@2]/2",
  U: "~ e3@3 d3@27 ~@9 c#3@3 d3@3 e3@2", V: "d3 c#3@9 ~@3 d3 e3 f#3",
  W: "[e3@3 d3@27 ~@8 d3@3 e3@3 f#3@3 e3@3 d3@27 ~@8 d3@3 e3@3 f#3@3 e3@2]/2", X: "~ d3@27 ~@8 c#3@3 d3@3 e3@3 d3@3",
  Y: "[c#3@27 ~@9 d3@3 e3@3 f#3@2 e3@3 d3@27 ~@9 d3@3 e3@3 f#3@3 e3@3 d3@27 ~@8 d3@3 e3@3 f#3@3 e3@3 d3@21 ~@29]/4",
})).s("gm_electric_guitar_clean").gain(0.37)

// chords · pad warm
const pad_warm = note("<A@7 B@6 C@8 D E@8 F@4 G@8 H@6 I@8 J@8 K@8 L@3>".pickRestart({
  A: "[~@71 a2@24 d2@24 f#2@24 g2@24 a2@71 ~ d3@48 b2@48 [f#2,c#4], ~@47 d4@287 ~@2, ~@47 g2@25 ~@264, ~ e4@6, ~ a3@4 ~@2]/7", // F#5
  B: "[~@47 a2@48 [d3,f#4]@48 [b2,b3]@48 [f#2,c#4]@24 [a2,d4]@71 ~ d3, ~@47 d4@146 ~@95, ~@143 e4@24 ~@24 a3@94 ~@3]/6", // D B F#5 D5
  C: "[~@47 b2@48 [f#2,c#4]@48 a3@47 ~ d3@48 b2@48 [f#2,c#4]@48 [a2,d4]@48 [d3,f#4], e4, d4@96 ~@47 d4@144 ~@97, ~@143 a2@71 ~@170]/8", // F#5 D5 D
  D: "~@47 [b2,b3,e4]", // E5
  E: "[~@47 [f#2,c#4]@24 a2@48 d3@48 b2@48 [f#2,c#4]@48 a2@49 [d3,f#4]@47 ~ [b2,b3]@23 d4, ~@47 a3@312 e4@24 ~, ~@71 d4@145 ~@47 d4@120 ~]/8", // F#5 D B
  F: "[~@24 [f#2,c#4]@47 a2@48 ~ [d3,f#4]@47 ~ [b2,b3]@24, ~@23 a3@97 ~@72, ~@71 d4@96 e4@25]/4", // F#5 D B
  G: "[~@24 [f#2,c#4]@47 a2@48 d3@48 b2@48 [f#2,c#4]@48 a2@49 [d3,f#4]@47 ~ [b2,b3]@23 d4, ~@23 a3@336 e4@24 ~, ~@71 d4@144 ~@48 d4@120 ~]/8", // F#5 D B
  H: "[~@24 [f#2,c#4]@47 a2@48 ~ d3@48 b2@47 [f#2,c#4]@47 [a2,d4]@26, ~@23 a3@94 ~@2 a3@169, ~@71 d4@144 e4@73, ~@5 f#4@4 ~@3]/6", // F#5 D5
  I: "[~@21 d3@47 b2@47 ~ [f#2,c#4]@47 [a2,d4]@47 d3@47 b2@47 [f#2,c#4]@47 [a2,d4]@33, ~@21 a3@188 ~ a3@174, ~@21 f#4@94 e4@95 f#4@94 e4@80]/8", // F#5 D5 F#5 D5
  J: "[~@15 d3@47 b2@47 [f#2,c#4]@47 [a2,d4]@47 ~ d3@47 b2@47 [f#2,c#4]@47 [a2,d4]@39, ~@15 a3@187 ~ a3@181, ~@15 f#4@94 e4@94 ~ f#4@94 e4@86]/8", // F#5 D5 F#5 D5
  K: "[~@8 d3@47 ~ b2@47 [f#2,c#4]@47 [a2,d4]@47 d3@47 b2@47 ~ [f#2,c#4]@47 [a2,d4]@45, ~@8 a3@188 ~ a3@187, ~@8 f#4@95 e4@94 f#4@94 e4@93]/8", // F#5 D5 F#5 D5
  L: "[~@2 d3@47 b2@41 ~@6 [f#2,c#4,e4]@20 ~@28, ~@2 a3@115 ~@27, ~@2 f#4@95 ~@47]/3", // F#7
})).s("gm_pad_warm").gain(0.18)

// chords · electric guitar clean
const electric_guitar_clean_2 = note(`<
  ~@3 A@2 B@2 C D@3 E D B@2 C D B@2 C D@3 E F@7 G@8 H I@8 J K@8 L@7 M@8 N@3
>`.pickRestart({
  A: "[~@15 a3, ~@8 e4@2 a3@2 ~ d4@2 e4@3 a3@2 ~ d4@2 e4@3 a3@2 ~ d4@2 ~, ~@9 d4@2 e4@3 a3@2 ~ d4@2 e4@3 a3@2 ~ d4@2 e4@4 ~]/2",
  B: "[~@15 a3, e4@6 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@8 ~, ~@3 d4@6 e4@9 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@6 e4@12 ~@3]/2",
  C: "~@7 a3, e4@6 a3@8 ~ c#4@6 e4@9 a3@8 ~ c#4@8 ~, ~@3 c#4@6 e4@9 a3@8 ~ c#4@6 e4@12 ~@3",
  D: "~@7 a3, e4@6 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@8 ~, ~@3 d4@6 e4@9 a3@8 ~ d4@6 e4@12 ~@3",
  E: "~@7 a3, e4@6 a3@8 ~ c#4@6 e4@9 a3@8 ~ d4@8 ~, ~@3 c#4@6 e4@9 a3@8 ~ d4@6 e4@12 ~@3",
  F: "[~@6 a3@2 ~@30 a3@2 ~@14 a3@2 ~@14 a3@2 ~@14 a3@2 ~@14 a3@2 ~@7 e4, e4@6 a3@8 ~ d4@8 ~@4 d4@6 e4@9 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@6 e4@12 ~@3 e4@6 a3@8 ~ c#4@6 e4@9 a3@8 ~ c#4@8 ~@4 d4@6 e4@9 a3@8 ~ d4@6 e4@12 ~@3 e4@6 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@8 ~@4 d4@6 e4@9 a3@8 ~ d4@6 e4@12 ~@3 e4@6 a3@8 ~ c#4@8 ~, ~@3 d4@6 e4@12 ~@3 e4@6 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@8 ~@4 c#4@6 e4@9 a3@8 ~ c#4@6 e4@12 ~@3 e4@6 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@8 ~@4 d4@6 e4@9 a3@8 ~ d4@6 e4@12 ~@3 e4@6 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@8 ~@4 c#4@6 e4@9 a3@6]/7",
  G: "[~@6 a3@2 ~@14 a3@2 ~@30 a3@2 ~@14 a3@2 ~@14 a3@2 ~@14 a3@2 ~@14 a3@2 ~@7 e4, ~@3 c#4@6 e4@12 ~@3 e4@6 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@8 ~@4 d4@6 e4@9 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@6 e4@12 ~@3 e4@6 a3@8 ~ c#4@6 e4@9 a3@8 ~ c#4@8 ~@4 d4@6 e4@9 a3@8 ~ d4@6 e4@12 ~@3 e4@6 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@8 ~@4 d4@6 e4@9 a3@8 ~ d4@6 e4@12 ~@3 e4@6 a3@8 ~ c#4@8 ~, ~@6 a3@8 ~ c#4@8 ~@4 d4@6 e4@9 a3@8 ~ d4@6 e4@12 ~@3 e4@6 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@8 ~@4 c#4@6 e4@9 a3@8 ~ c#4@6 e4@12 ~@3 e4@6 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@8 ~@4 d4@6 e4@9 a3@8 ~ d4@6 e4@12 ~@3 e4@6 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@8 ~@4 c#4@6 e4@9 a3@6]/8",
  H: "~@3 a3 ~@3 a3, ~@3 c#4@6 e4@12 ~@3 e4@6 a3@8 ~ d4@8 ~, ~@6 a3@8 ~ c#4@8 ~@4 d4@6 e4@12 ~@3",
  I: "[~@18 a3@6 ~@90 a3@6 ~@42 a3@6 ~@42 a3@6 ~@42 a3@6 ~@41 a3@6 ~@41 a3@6 ~@18 a3@6 e4@2, e4@6 a3@8 ~ d4@8 ~@4 d4@6 e4@9 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@6 e4@12 ~@3 e4@6 a3@8 ~ c#4@6 e4@9 a3@8 ~ c#4@8 ~@4 d4@6 e4@9 a3@8 ~ d4@6 e4@12 ~@3 e4@6 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@8 ~@4 d4@6 e4@9 a3@8 ~ d4@6 e4@11 ~@3 e4@6 a3@8 ~ c#4@6 e4@9 a3@8 ~ c#4@8 ~@3 d4@6 e4@12 ~@5, ~@3 d4@6 e4@12 ~@3 e4@6 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@8 ~@4 c#4@6 e4@9 a3@8 ~ c#4@6 e4@12 ~@3 e4@6 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@8 ~@4 d4@6 e4@9 a3@8 ~ d4@6 e4@12 ~@3 e4@6 a3@8 ~ d4@6 e4@9 a3@8 d4@8 ~@4 c#4@6 e4@9 a3@8 ~ c#4@6 e4@11 ~@3 e4@6 a3@8 ~ d4@8 ~@3]/8",
  J: "~@19 e4@3 ~@20 e4@6, ~ d4@6 e4@9 a3@8 ~ d4@8 ~@3 d4@8 ~@4, ~@4 a3@8 ~ d4@8 ~ e4@8 e4@11 ~@7, ~@27 a3@8 ~@4 a3@8 ~",
  K: "[~@15 a3@6 ~@41 a3@6 ~@41 a3@6 ~@18 a3@6 ~@21 e4@3 ~@41 a3@6 ~@41 a3@6 ~@41 a3@6 ~@18 a3@6 ~@20 e4@3 ~@30 a3@3, d4@6 e4@11 ~@4 e4@6 a3@8 ~ d4@6 e4@8 a3@8 ~ d4@8 ~@4 c#4@6 e4@9 a3@8 ~ c#4@6 e4@11 ~@3 e4@6 a3@8 ~ d4@8 ~@4 d4@6 e4@8 a3@8 ~ d4@8 ~@4 d4@8 ~@4 d4@8 ~@4 d4@8 ~@4 d4@8 ~@3 d4@8 ~@4 d4@8 ~@4 d4@8 ~@4 c#4@8 ~@4 c#4@8 ~@3 c#4@8 ~@4 c#4@8 ~@4 d4@8 ~@4 d4@8 ~@4 d4@8 ~@3 d4@8 ~@4 d4@8 ~@4 d4@8 ~@4 d4@6, ~@3 a3@8 ~ d4@8 ~@4 d4@6 e4@8 a3@8 ~ d4@6 e4@11 ~@4 e4@6 a3@8 ~ c#4@6 e4@8 a3@8 ~ c#4@8 ~@4 d4@6 e4@12 ~@3 e4@6 a3@8 ~ d4@8 ~ e4@8 e4@11 ~ e4@11 ~ e4@11 ~@4 e4@8 ~ e4@11 e4@11 ~ e4@11 ~@4 e4@8 ~ e4@11 ~ e4@11 e4@11 ~@4 e4@8 ~ e4@12 ~@3 e4@8 e4@11 ~@4 e4@8 ~ e4@11 ~ e4@11 ~, ~@168 a3@8 ~@4 a3@8 ~@4 a3@8 ~@15 a3@8 ~@4 a3@8 ~@4 a3@8 ~@16 a3@8 ~@3 a3@8 ~@4 a3@8 ~@16 a3@8 ~@15 a3@8 ~@4 a3@8 ~@4 a3@8 ~@4 a3@8 ~@7]/8",
  L: "[~@8 a3@6 ~@42 a3@6 ~@41 a3@6 ~@17 a3@6 ~@21 e4@3 ~@41 a3@6 ~@112 a3@6 ~@9 e4@6, e4@11 ~@3 e4@6 a3@8 ~ d4@6 e4@9 a3@8 ~ d4@8 ~@4 c#4@8 ~@3 c#4@8 ~@4 c#4@8 ~@4 c#4@8 ~@4 d4@8 ~@4 d4@8 ~@3 d4@8 ~@4 d4@8 ~@4 d4@8 ~@4 d4@8 ~@4 d4@8 ~@3 d4@8 ~@4 d4@8 ~@4 d4@8 ~@4 d4@8 ~@4 d4@8 ~@3 c#4@8 ~@4 c#4@8 ~@4 c#4@8 ~@4 c#4@8 ~@4 d4@8 ~@3 d4@8 ~@4 d4@8 ~@4, ~@6 d4@8 ~@3 d4@6 e4@9 a3@8 ~ d4@6 e4@11 ~@4 e4@8 e4@11 ~ e4@11 ~ e4@11 ~@4 e4@8 ~ e4@12 ~@3 e4@8 e4@11 ~@4 e4@8 ~ e4@11 ~ e4@11 ~ e4@11 ~@3 e4@8 ~ e4@11 ~ e4@11 ~ e4@11 ~@3 e4@8 ~ e4@11 ~ e4@11 ~ e4@11 ~@3 e4@8 ~@2 e4@12 ~@2 e4@8 ~@7, ~@67 a3@8 ~@4 a3@8 ~@4 a3@8 ~@16 a3@8 ~@15 a3@8 ~@4 a3@8 ~@4 a3@8 ~@4 a3@8 ~@3 a3@8 ~@16 a3@8 ~@4 a3@8 ~@4 a3@8 ~@4 a3@8 ~@3 a3@8 ~@4 a3@8 ~@4 a3@8 ~@4 a3@8 ~@3 a3@8 ~@16 a3@8 ~]/7",
  M: "[~@6 e4@3 ~@41 a3@6 ~@41 a3@6 ~@41 a3@6 ~@18 a3@6 ~@21 e4@3 ~@41 a3@6 ~@41 a3@6 ~@41 a3@6 ~@18 a3@6 ~@17 a3@4, d4@8 ~ e4@6 a3@8 ~ d4@6 e4@8 a3@8 ~ d4@8 ~@4 d4@6 e4@9 a3@8 ~ d4@6 e4@11 ~@3 e4@6 a3@8 ~ c#4@6 e4@9 a3@8 ~ c#4@8 ~@3 d4@6 e4@12 ~@3 e4@6 a3@8 ~ d4@8 ~ e4@8 e4@11 ~ e4@11 ~ e4@11 ~@4 e4@8 ~ e4@11 ~ e4@11 e4@11 ~@4 e4@8 ~ e4@11 ~ e4@11 ~ e4@11 ~@3 e4@8 ~ e4@12 ~@3 e4@8 ~ e4@11 ~, ~@3 a3@8 ~ d4@6 e4@8 a3@8 ~ d4@6 e4@11 ~@4 e4@6 a3@8 ~ d4@6 e4@9 a3@8 d4@8 ~@4 c#4@6 e4@9 a3@8 ~ c#4@6 e4@11 ~@3 e4@6 a3@8 ~ d4@8 ~@4 d4@6 e4@9 a3@8 ~ d4@8 ~@3 d4@8 ~@4 d4@8 ~@4 d4@8 ~@4 d4@8 ~@4 d4@8 ~@3 d4@8 ~@4 d4@8 ~@4 c#4@8 ~@4 c#4@8 ~@4 c#4@8 ~@3 c#4@8 ~@4 d4@8 ~@4 d4@8 ~@4 d4@8 ~@4 d4@6, ~@203 a3@8 ~@4 a3@8 ~@4 a3@8 ~@16 a3@8 ~@3 a3@8 ~@4 a3@8 ~@16 a3@8 ~@4 a3@8 ~@3 a3@8 ~@16 a3@8 ~@16 a3@8 ~@7]/8",
  N: "[e4@3 ~@41 a3@6 ~@41 a3@6 ~@9 e4@11 ~@27, ~@3 e4@8 e4@11 ~ e4@11 ~ e4@11 ~@4 e4@8 ~ e4@11 e4@11 ~ e4@11 ~@4 e4@8 ~@39, ~@5 d4@8 ~@4 d4@8 ~@4 d4@8 ~@4 d4@8 ~@4 d4@8 ~@3 d4@8 ~@4 d4@8 ~@4 d4@8 ~@4 c#4@8 ~@36, ~@8 a3@8 ~@4 a3@8 ~@4 a3@8 ~@15 a3@8 ~@4 a3@8 ~@4 a3@8 ~@16 a3@8 ~@33]/3",
})).s("gm_electric_guitar_clean").gain(0.18)

// other · celesta
const celesta = note(`<
  A@4 ~@9 B@2 C@2 ~@7 D@2 E F ~@5 G@2 ~@5 G ~@3 D H I J K L M N O P Q R S T@3 U@3 V W@2 X Y Z@2 AA AB@4
>`.pickRestart({
  A: "[~@11 d4 e4 f#4 e4 d4@9 ~@3 d4 e4 f#4 e4 d4@9 ~@3 d4 e4 f#4 e4 d4@9 ~@8]/4", B: "[~@11 d4 e4 f#4 e4 d4@9 ~@8]/2",
  C: "[~@11 c#4 d4 e4 d4 c#4@9 ~@8]/2", D: "~@24 d5@2 ~@7 e5 ~@8 f#5 ~@5", E: "~@24 c#5 ~@8 d5 ~@8 e5 ~@5",
  F: "~@9 c#4@3 d4@3 e4@3 d4@3 ~@3 c#5 ~@8 d5 ~@8 e5 ~@5, ~@7 c#4@9", G: "~@3 d4 e4 f#4 e4 d4@9",
  H: "~@9 d4@3 e4@3 f#4@3 e4@3 ~@3 d5@2 ~@7 e5 ~@7 f#5 ~@6, ~@7 d4@9",
  I: "~@8 d4@3 e4@3 f#4@3 e4@3 ~@3 c#5 ~@8 d5 ~@8 e5 ~@6, ~@20 d4@27 ~", J: "~@8 c#4@3 d4@3 e4@2 d4@3 c#4@27 ~@2",
  K: "~@7 d4@3 e4@3 f#4@3 e4@3 ~@3 d5@2 ~@7 e5 ~@7 f#5 ~@8, ~@19 d4@27 ~@2",
  L: "~@6 d4@3 e4@3 f#4@3 e4@3 ~@3 d5@2 ~@7 e5 ~@7 f#5 ~@9, ~@6 d4@9 ~",
  M: "~@5 d4@3 e4@3 f#4@3 e4@3 ~@3 c#5 ~@8 d5 ~@8 e5 ~@9, ~@17 d4@27 ~@4", N: "~@4 c#4@3 d4@3 e4@3 d4@3 c#4@27 ~@5",
  O: "~@4 d4@3 e4@3 f#4@2 e4@3 ~@4 d5@2 ~@7 e5 ~@7 f#5 ~@11, ~@5 d4@9 ~@2",
  P: "~@3 d4@3 e4@3 f#4@3 e4@3 ~@3 d5@2 ~@7 e5 ~@7 f#5 ~@12, ~@5 d4@9 ~@2",
  Q: "~@2 d4@3 e4@3 f#4@3 e4@3 ~@3 c#5 ~@7 d5 ~@8 e5 ~@13, ~@14 d4@27 ~@7", R: "~ c#4@3 d4@3 e4@3 d4@3 c#4@27 ~@8",
  S: "d4@3 e4@3 f#4@3 e4@3 ~@4 d5@2 ~@6 e5 ~@8 f#5 ~@14, ~@4 d4@9 ~@3",
  T: "[d4@3 e4@3 f#4@2 e4@3 ~@3 d5@2 ~@7 e5 ~@8 f#5 ~@14 d4@3 e4@3 f#4@3 e4@3 ~@3 c#5 ~@7 d5 ~@8 e5 ~@14 c#4@3 d4@3 e4@3 d4@3 c#4@27 ~@8 d4@3, ~@11 d4@27 ~@21 d4@27 ~@58]/3",
  U: "[e4@3 f#4@3 e4@3 ~@3 d5@2 ~@7 e5 ~@8 f#5 ~@13 d4@3 e4@3 f#4@3 e4@3 ~@3 d5@2 ~@7 e5 ~@8 f#5 ~@14 d4@3 e4@3 f#4@2 e4@3 ~@3 c#5 ~@8 d5 ~@8 e5 ~@14 c#4@3 d4@2, ~@9 d4@27 ~@20 d4@27 ~@20 d4@27 ~@14]/3",
  V: "~ e4@3 d4@3 c#4@27 ~@8 d4@3 e4@3",
  W: "[f#4@3 e4@3 ~@3 d5@2 ~@7 e5 ~@7 f#5 ~@14 d4@3 e4@3 f#4@3 e4@3 ~@3 d5@2 ~@7 e5 ~@7 f#5 ~@14 d4@3 e4@3 f#4@2, ~@6 d4@27 ~@20 d4@27 ~@16]/2",
  X: "~ e4@3 ~@3 c#5 ~@8 d5 ~@8 e5 ~@14 c#4@3 d4@3 e4@2, ~@4 d4@27 ~@17", Y: "d4 c#4@9 ~@3 d4 e4 f#4",
  Z: "[e4@3 ~@3 d5@2 ~@7 e5 ~@7 f#5 ~@14 d4@3 e4@3 f#4@3 e4@3 ~@3 d5@2 ~@7 e5 ~@7 f#5 ~@14 d4@3 e4@3 f#4@3 e4@2, ~@3 d4@27 ~@20 d4@27 ~@19]/2",
  AA: "~@4 c#5 ~@8 d5 ~@8 e5 ~@13 c#4@3 d4@3 e4@3 d4@3, ~ d4@27 ~@20",
  AB: "[c#4@27 ~@9 d4@3 e4@3 f#4@2 e4@3 ~@4 d5@2 ~@7 e5 ~@7 f#5 ~@14 d4@3 e4@3 f#4@3 e4@3 ~@3 d5@2 ~@7 e5 ~@7 f#5 ~@14 d4@3 e4@3 f#4@3 e4@3 ~@3 c#5 ~@7 d5 ~@38, ~@47 d4@27 ~@21 d4@27 ~@20 d4@21 ~@29]/4",
})).s("gm_celesta").gain(0.17)

// chords · orchestral harp
const orchestral_harp = note("<~ A@3 ~@28 B C D E F ~@38>".pickRestart({
  A: "d4@9 a4@9 e5@10 ~@20", B: "~@3 a5@3 ~@2, ~ a3@2 ~, ~@5 a4@7 ~@4, ~@4 c#5@5 ~@3, ~@17 e5@20 ~@11",
  C: "~@4 d7@3 ~, ~@7 d6@7 ~@2, ~@11 f#6@10 ~@3, ~@23 a6@20 ~@5",
  D: "~@7 d7@6 ~@3, ~@6 d6@7 ~@3, ~@19 f#6@20 ~@9, ~@5 a6@5 ~@2", E: "~@45 d6 ~@2",
  F: "a6 ~@2 e6 ~@2 a6 ~@2 e6 ~@2 c#7 ~@35",
})).s("gm_orchestral_harp").gain(0.26)

// chords · string ensemble 1
const string_ensemble_1 = note("<~@3 A@2 B ~@11 C@2 D E@5 ~@3 F@6 G@8 H@8 I@8 J@8 K@8 L>".pickRestart({
  A: "[~@24 d6@23 ~, ~@8 d4@23 ~]/2", B: "[a4,d5,d6] ~@7", C: "f#4/2", D: "e4",
  E: "[~@48 f#4@95 [c#4,e4]@24 [a3,d4]@49 ~@24, d4@3 ~@2]/5", // C#m D5
  F: "[~@119 c#4@61 ~@36 d5@72, ~@23 f#4@97 ~@60 d4@108, ~@48 a4@167 f#4@73]/6",
  G: "[~@12 b5@12 [e4,a4,a5]@95 [f#4,d5]@96 c#4@61 ~@35 f#4@73, ~@119 a4@193 ~@72, ~@215 c#5@73 d5@96, ~@23 d4@9]/8", // A5 D
  H: "[~@11 d5@13 [e4,a4,e5]@96 [a4,d6]@83 ~ b5@11 [e4,a5]@94 [f#4,d6]@75, ~@120 f#4@95 a4@169, ~@203 b4@13 ~@168]/8", // A5 D5 A5 D
  I: "[~@8 [b4,b5]@12 [e4,a4,a5]@94 ~ d6@82 [b4,b5]@12 [e4,a5]@94 [f#4,d6]@81, ~@114 f#4@95 ~@175, ~@114 a4@83 ~@12 a4@175]/8", // B A5 B A5 D
  J: "[~@2 [b4,b5]@11 [e4,a4,a5]@95 [a4,d6]@83 [b4,b5]@11 ~ e4@93 ~ d6@82 [b4,b5]@5, ~@108 f#4@94 a4@177 ~@5, ~@101 a5@47 f#4@44]/8", // B A5 D5 B
  K: "[~@7 [e4,a4,a5]@94 ~ d6@82 [b4,b5]@12 [e4,a5]@94 d6@83 [b4,b5]@11, ~@101 f#4@95 ~@94 f#4@94, ~@101 a4@83 ~@12 a4@177 ~@11]/8", // A5 B A5 B
  L: "[e4,a4,a5]@5 ~@7", // A5
})).s("gm_string_ensemble_1").gain(0.2)

// chords · pad sweep
const pad_sweep = note("<~@13 A B C D@8 E@4 F@4 G@5 ~@38>".pickRestart({
  A: "d2", B: "b1", C: "f#2",
  D: "[~@48 d2@48 b1@48 f#2@48 a1@47 ~ d2@48 b1@48 f#2@24 a1@24, a1@47 ~@337, ~@36 [a3,d4,a4]@202 ~ [a3,d4,a4]@145]/8", // D5
  E: "[~ d2@2 b1@2 f#2@2 a1, ~ [a3,d4,a4]@15]/4", // D5
  F: "[~@24 d2@48 b1@48 f#2@48 ~@19 a2@3 c#3@2, ~ [a3,d4,a4]@15, ~@7 a1]/4", // D5
  G: "[~ a2@3 e3@5 ~@15 d2@48 b1@48 f#2@48 a1@47 ~@25, ~@12 [a3,d4,a4]@203 ~@25]/5", // D5
})).s("gm_pad_sweep").gain(0.53)

// chords · pad sweep · soft notes
const pad_sweep_soft = note("<~ A@5 ~@69>".pickRestart({
  A: "[~@71 e6@34 ~@135, [d4,a4,e5]@239 ~, a5@47 ~@18 a5@175, ~ d5@9]/5", // Dsus2
})).s("gm_pad_sweep").gain(0.16)

// chords · timpani
const timpani = note("<~@36 A ~@3 B ~@2 C D ~@7 E ~@3 F ~@3 G ~@3 H ~@10>".pickRestart({
  A: "~@24 [g1,e2]@13 ~@11", B: "~@2 [g1,e2] ~", C: "~@6 g2@2 ~@7 f2@2 ~@4 e2 ~@8 g2@2 ~@4 f2@2 ~ e2 ~@2 d2 ~@5",
  D: "~@6 g2@2 ~@4 f2@2 ~ e2 ~@2 d2 ~@29", E: "~@3 [g1,e2]@2 ~@3", F: "~@5 [g1,e2]@4 ~@7", G: "~ [g1,e2] ~@2",
  H: "~@3 [g1,e2]@4 ~@9", // C
})).s("gm_timpani").gain(0.51).pan(0.4)

// drums · kick
const kick = s("bd").struct(`<
  ~@17 A B A B A B A C B C B C B C B C B C B C@2 D C@3 D C@3 E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE
  AF AG
>`.pickRestart({
  A: "x ~@6 x!2 ~@7", B: "x!2", C: "x ~@7 x ~@6 x", D: "x ~@2 x ~@3 x!2 ~@6 x", E: "x ~@22 x ~@20 x ~@2 x",
  F: "~@22 x ~@20 x ~@2 x ~", G: "~@22 x ~@19 x ~@2 x ~@2", H: "~@21 x ~@19 x ~@2 x ~@3", I: "~@20 x ~@20 x ~@2 x ~@3",
  J: "~@19 x ~@20 x ~@2 x ~@4", K: "~@6 x ~@6 x!2 ~", L: "~@18 x ~@19 x ~@2 x ~@6", M: "~@17 x ~@19 x ~@2 x ~@7",
  N: "~@16 x ~@20 x ~@2 x ~@7", O: "~@5 x ~@6 x!2 ~@2", P: "~@14 x ~@20 x ~@2 x ~@9", Q: "~@14 x ~@19 x ~@2 x ~@10",
  R: "~@13 x ~@19 x ~@2 x ~@11", S: "~@4 x ~@6 x!2 ~@3", T: "~@11 x ~@20 x ~@2 x ~@12", U: "~@10 x ~@20 x ~@2 x ~@13",
  V: "~@10 x ~@19 x ~@2 x ~@14", W: "~@9 x ~@19 x ~@2 x ~@15", X: "~@8 x ~@20 x ~@2 x ~@15",
  Y: "~@7 x ~@20 x ~@2 x ~@16", Z: "~@2 x ~@6 x!2 ~@5", AA: "~@6 x ~@19 x ~@2 x ~@18", AB: "~@5 x ~@19 x ~@2 x ~@19",
  AC: "~@4 x ~@20 x ~@2 x ~@19", AD: "~ x ~@6 x!2 ~@6", AE: "~@2 x ~@20 x ~@2 x ~@21", AF: "~@2 x ~@19 x ~@2 x ~@22",
  AG: "~ x ~@46",
})).gain(0.46)

// drums · rim
const rim = s("rim").struct("<~@17 [~ x ~@2]!7 [~ x ~ x] [~@3 x]!3 ~@47>").gain(0.52)

// drums · snare
const snare = s("sd").struct(`<
  ~@28 A B@14 ~ C B D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF
>`.pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "~ x ~@4 x ~", D: "~@11 x ~@23 x ~@12", E: "~@11 x ~@22 x ~@13", F: "~@10 x ~@22 x ~@14",
  G: "~@3 x ~@7 x ~@4", H: "~ x ~@2 x ~", I: "~@7 x ~@23 x ~@16", J: "~@7 x ~@2 x ~ x ~@2 x ~@14 x ~@17",
  K: "~@6 x ~@22 x ~@18", L: "~@5 x ~@23 x ~@18", M: "~ x ~@5 x ~@4", N: "~ x ~@7 x ~@6", O: "~@3 x ~@22 x ~@21",
  P: "~@2 x ~@22 x ~@22", Q: "~ x ~@23 x ~@22", R: "x ~@2 x ~@2 x ~@2 x ~@14 x ~@22 x", S: "~@23 x ~@23 x",
  T: "~@11 x ~@11 x", U: "~@7 x ~@7 x", V: "x ~@2 x ~@2 x ~@14 x ~@22 x ~@3", W: "~@20 x ~@22 x ~@4",
  X: "~@19 x ~@23 x ~@4", Y: "~@3 x ~@3 x", Z: "~@17 x ~@23 x ~@6", AA: "~@17 x ~@22 x ~@7", AB: "~@16 x ~@22 x ~@8",
  AC: "~@15 x ~@23 x ~@2 x ~ x ~@2 x", AD: "~@7 x ~@11 x ~@4", AE: "~@13 x ~@23 x ~@10", AF: "~@13 x ~@34",
})).gain(0.66)

// drums · clap
const clap = s("cp").struct("<~@36 [~@3 x] [~ x ~ x]!7 [~ x ~@2] ~@30>").gain(0.52)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@17 A@7 B C@3 D E@14 F G@2 H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ
>`.pickRestart({
  A: "~@5 x ~@2", B: "~@6 x ~@3 x!2 ~ x!2 ~", C: "~@2 x!2 ~ x!2 ~@3 x!2 ~ x!2 ~", D: "~@2 x!2 ~ x!2 ~@2 x ~ x ~ x!2 ~",
  E: "~ x ~ x ~ x!2 ~@2 x ~ x ~ x!2 ~", F: "~@3 x ~ x!3 ~@3 x ~ x!2 ~", G: "~@3 x ~ x!2 ~@4 x ~ x!2 ~",
  H: "~@8 x ~@5 x ~@2 x ~@14 x ~@5 x ~@2 x ~@6", I: "~@8 x ~@5 x ~ x ~@14 x ~@5 x ~@2 x ~@7",
// … 137 more lines

More by Masini