Strudelify
Vorrei incontrarti fra cent'anni (con la partecipazione di Tosca) cover art

1996 · Vorrei incontrarti fra cent'anni

Vorrei incontrarti fra cent'anni (con la partecipazione di Tosca)

Ron

KeyF majorTempo86 bpm
0:00/0:00
// Vorrei incontrarti fra cent'anni (con la partecipazione di Tosca) — Ron
// 86 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 85 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(86/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, A@4 for four bars: edit a riff to change every repeat.

// bass · electric bass finger · "VORREIINC"
const bass = note("<~@12 A@8 B@7 ~ C@8 D@4 E@5 F G@2 H I J K L M N O P@8 Q@5 R@5 ~@5 S@6>".pickRestart({
  A: "[f1@5 ~@5 a1@3 ~ bb1@7 ~@5 e1@3 ~ f1@8 ~@4 a1@3 ~ bb1@7 ~@3 e1 ~ e1@2 ~@2 d2@16 db2@16 c2@10 c2 ~ c2@2 d2@2 c2@7 ~ c2 d2 e2@4 e1@4]/8",
  B: "[a1@5 ~ a1 ~ a1@6 d1@7 ~ d1 ~ d1@2 e1@2 f1@2 g1@7 ~ g1@8 db2@8 c2@4 bb1@3 ~ a1@7 ~ a1 ~ a1@4 ~@2 d1@7 ~ d1 ~ d1@2 e1@2 f1@2 g1@14 ~@4]/7",
  C: "[d1@7 ~ gb1 ~ gb1@2 ~@2 g1@7 ~@3 g1 ~ g1@2 ~@2 d1@7 ~@3 gb1 ~ gb1@2 ~@2 g1@6 ~@2 gb1 g1 a1 ~ a1@2 ~@2 d1@8 ~@2 gb1 ~ gb1@2 ~@2 g1@6 ~@2 gb1 g1 a1 ~ a1@2 ~@2 d1@8 ~@2 gb1 ~ gb1@2 ~@2 g1@6 ~@2 gb1 g1 a1 ~ a1@2 ~@2 b1@2]/8",
  D: "[~@6 gb1 ~ gb1 ~ gb1@3 ~ e1@6 gb1@2 g1@2 a1@4 db1@2 d1@7 ~ d1 e1 gb1 ~ gb1@2 ~@2 g1@6 ~@12]/4",
  E: "[f1@4 ~@2 f1 g1 a1 ~ a1@2 f2@2 bb1@7 ~ a1 bb1 c2 ~ c2@2 e1@2 f1@7 ~ f1 g1 a1 ~ a1@2 f2@2 bb1@6 ~@2 a1 bb1 c2 ~ c2@2 e1@2 d1@6 ~@2 d1 ~ d1 ~ d1@3 ~ db1 ~]/5",
  F: "db1 ~ db1@3 ~ db1 ~ db1 ~ db1@3 ~ c1 ~", G: "[c1 ~ c1@2 ~@2 c1 ~ c1 ~ c1@2 c2@2 a1@7 ~ a1 b1 db2@7 ~]/2",
  H: "d1 ~ d1 ~ d1 ~ d1 ~ d1 ~ d1 ~ d1 ~ d1@2", I: "e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1@2",
  J: "gb1 ~ gb1 ~ gb1 ~ gb1 ~ gb1 ~ gb1 ~ gb1 ~ gb1@2", K: "g1 ~ g1 ~ g1 ~ g1@2 a1 ~ a1 ~ a1 ~ a1 ~",
  L: "f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1@2", M: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1@2",
  N: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1@2", O: "bb1 ~ bb1 ~ bb1 ~ bb1@2 c2 ~ c2 ~ c2 ~ c2 ~",
  P: "[a1@5 ~ a1 ~ a1@6 d1@7 ~ d1 ~ d1@2 e1@2 f1@2 g1@7 ~ g1@8 db2@8 c2@4 bb1@3 ~ a1@2]/4",
  Q: "[a1@5 ~ a1 ~ a1@6 d1@7 ~ d1 ~ d1@2 e1@2 f1@2 g1@7 ~ g1 ~ g1 ~ g1@4 g1@7 ~ g1 ~ g1 ~ g1@3 ~ g1@16 ~@2]/5",
  R: "[c2@5 ~ f1 g1 a1 ~ a1@3 ~ g1@7 ~ a1 bb1 c2 ~ c2@3 ~ f1@6 ~@2 f1 g1 a1 ~ a1@2 ~@2 g1@7 ~ a1 bb1 c2 ~ e1@3 ~ f1@6 ~@12]/5",
  S: "[~@13 f1@5 ~ f1 ~ f1@7 ~ f1@5 ~ f1 ~ f1@7 ~ f1@5 ~ f1 ~ f1@7 ~ f1@5 ~ f1 ~@2 f1@6 ~ f1@13 ~@6]/6",
})).s("gm_electric_bass_finger").gain(0.22)

// chords · synth brass 2 · "BRASS PAD"
const synth_brass_2 = note("<~@12 A@5 ~@15 B@7 ~@40 C D@5>".pickRestart({
  A: "[[c3,f3,a3]@6 ~@2 [f3,a3,c4] ~ [f3,a3,c4]@3 ~ [f3,bb3,d4]@6 ~@4 [c3,e3,bb3] ~ [c3,e3,bb3]@2 ~@2 [c3,f3,a3]@8 ~@2 [f3,a3,c4] ~ [f3,a3,c4]@2 ~@2 [f3,bb3,d4]@8 ~@2 [c3,e3,bb3] ~ [c3,e3,bb3]@2 ~@2 [d3,f3,a3]@14 ~@4]/5", // F Bb C7 F Bb C7 Dm
  B: "[~@8 [a3,d4,gb4] ~ [a3,d4,gb4]@2 ~@2 [b3,d4,g4]@8 ~@2 [b3,d4,g4] ~ [b3,d4,g4]@2 ~@2 [a3,d4,gb4]@9 ~ [a3,d4,gb4] ~ [a3,d4,gb4]@2 ~@2 [b3,d4,g4]@8 ~@2 [b3,d4,g4] ~ [b3,d4,g4]@2 ~@2 [b3,d4,gb4]@8 ~@2 [a3,db4,gb4] ~ [a3,db4,gb4]@2 ~@2 b3@8 ~@2 [g3,a3,d4] ~ [g3,a3,db4]@2 ~@2 [gb3,a3,d4]@9 ~@9, ~@77 [g3,d4]@8 ~@27]/7", // D G D G Bm Gbm Gsus2 A7 …
  C: "~@13 [f3,a3,c4]@3", // F
  D: "[~@3 [f3,a3,c4] ~ [f3,a3,c4]@4 ~@2 [f3,bb3,d4]@7 ~ [f3,bb3,d4] ~ [f3,bb3,d4]@4 ~@2 [f3,c4,e4]@7 ~ [f3,c4,e4] ~ [f3,c4,e4]@4 ~@2 [f3,bb3,d4,f4]@7 ~ [f3,bb3,d4,f4] ~ [f3,bb3,d4,f4]@5 ~@3 [f3,a3,c4,f4]@13 ~@6]/5", // F Bb Fmaj7 Bb F
})).s("gm_synth_brass_2").gain(0.11).pan(0.4)

// chords · piano · "AC PIANO"
const piano = note("<~@40 A@4 B C D@2 E F G H I J K L ~@17 M N O P@3 Q@2 ~@4>".pickRestart({
  A: "[[c4,f4,a4]@6 ~@2 [c4,f4,a4] ~ [c4,f4,a4]@2 ~@2 [d4,f4,bb4]@6 ~@4 [c4,e4,bb4] ~ [c4,e4,bb4]@2 ~@2 [c4,f4,a4]@7 ~@3 [c4,f4,a4] ~ [c4,f4,a4]@2 ~@2 [d4,f4,bb4]@7 ~@3 [c4,e4,bb4] ~ [c4,e4,bb4]@2 ~@2 [d4,f4,a4] ~]/4", // F Bb C7 F Bb C7 Dm
  B: "[d4,f4,a4] ~ [d4,f4,a4] ~@3 [d4,f4,a4] ~ [d4,f4,a4] ~ [d4,f4,a4] ~@3 [db4,f4,bb4] ~", // Dm Bbm
  C: "[db4,f4,bb4] ~ [db4,f4,bb4] ~@3 [db4,f4,bb4] ~ [db4,f4,bb4] ~ [db4,f4,bb4] ~@3 [c4,f4,a4] ~", // Bbm F
  D: "[[c4,f4,a4] ~ [c4,f4,a4] ~@3 [c4,f4,a4] ~ [c4,f4,a4] ~ [c4,f4,a4] ~ [c4,f4,a4] ~ [a3,d4,a4]@6 ~@2 [a3,db4,a4]@6 ~@4, ~@14 gb4 ~@17]/2", // F D5 A
  E: "[d3,a3,gb4,a4] ~ [d3,a3,gb4,a4] ~ [d3,a3,gb4,a4] ~ [d3,a3,gb4,a4] ~ [d3,a3,gb4,a4] ~ [d3,a3,gb4,a4] ~ [d3,a3,gb4,a4] ~ [d3,a3,gb4,a4] ~", // D
  F: "[e3,b3,g4,b4] ~ [e3,b3,g4,b4] ~ [e3,b3,g4,b4] ~ [e3,b3,g4,b4] ~ [e3,b3,g4,b4] ~ [e3,b3,g4,b4] ~ [e3,b3,g4,b4] ~ [e3,b3,g4,b4] ~", // Em
  G: "[gb3,db4,a4,db5] ~ [gb3,db4,a4,db5] ~ [gb3,db4,a4,db5] ~ [gb3,db4,a4,db5] ~ [gb3,db4,a4,db5] ~ [gb3,db4,a4,db5] ~ [gb3,db4,a4,db5] ~ [gb3,db4,a4,db5] ~", // Gbm
  H: "[g3,d4,b4,d5] ~ [g3,d4,b4,d5] ~ [g3,d4,b4,d5] ~ [g3,d4,b4] ~ [a3,e4,db5,e5] ~ [a3,e4,db5,e5] ~ [a3,e4,db5,e5] ~ [a3,e4,db5,e5] ~, ~@3 d5 ~@4", // G A
  I: "[f3,c4,a4,c5] ~ [f3,c4,a4,c5] ~ [f3,c4,a4,c5] ~ [f3,c4,a4,c5] ~ [f3,c4,a4,c5] ~ [f3,c4,a4,c5] ~ [f3,c4,a4,c5] ~ [f3,c4,a4,c5]@2", // F
  J: "[g3,d4,bb4,d5] ~ [g3,d4,bb4,d5] ~ [g3,d4,bb4,d5] ~ [g3,d4,bb4,d5] ~ [g3,d4,bb4,d5] ~ [g3,d4,bb4,d5] ~ [g3,d4,bb4,d5] ~ [g3,bb4,d5]@2, ~@14 d4 ~", // Gm
  K: "[a3,e4,a4,c5,e5] ~ [a3,e4,a4,c5,e5] ~ [a3,e4,a4,c5,e5] ~ [a3,e4,a4,c5,e5] ~ [a3,e4,a4,c5,e5] ~ [a3,e4,a4,c5,e5] ~ [a3,e4,a4,c5,e5] ~ [e4,a4,c5,e5] ~, ~@7 a3", // Am
  L: "[bb3,f4,bb4,d5,f5,gb5] ~ [bb3,f4,bb4,d5,f5] ~ [bb3,f4,bb4,d5,f5] ~ [bb3,f4,bb4,d5] ~ [c4,g4,c5,e5,g5] ~ [c4,g4,c5,e5,g5] ~ [c4,g4,c5,e5,g5] ~ [c4,g4,c5,e5,g5] ~, ~@3 f5 ~@4", // Bb C
  M: "~@3 a4 ~ a4 ~ a4, ~ [f3,c4]@6 ~, ~@2 f4@5 ~, ~@2 f5 c5", // F5
  N: "~@4 f4@2 bb4 ~ bb4 c5 ~@2 a4@2 g4@2, bb3@6 ~@2 c4@7 ~, ~@2 d4@4 ~@4 e4@3 ~@3, ~@11 bb4@2 ~@3",
  O: "~@6 a2 f2, a4@7 ~, ~ f4@3 f3 c3@2 ~, ~@4 c4@9 ~@3, ~@6 a3@7 ~@3",
  P: "[~@4 f3@2 bb3@2 ~@5 g3@2 c4@2 ~@5 f3@2 a3@3 ~@5 a3@2 d4@3 ~@8 bb3@3, bb2@6 ~@2 c3@7 ~@2 f2@8 ~@2 gb2@8 ~@2 g2@9 ~@2, ~@2 d3@4 ~@4 e3@5 ~@4 c3@6 ~@4 a2@6 ~@5 bb2@7 ~, ~@32 d3@5 ~@5 d3@5 ~]/3",
  Q: "[~@6 g3@4 c4@3 f2@8 ~@11, c3@5 ~@11, ~@3 e3@6 ~@23]/2",
})).s("gm_piano").gain(0.17).pan(0.4)

// chords · acoustic guitar steel · "AC GUITAR"
const acoustic_guitar_steel = note(`<
  A@7 B@3 C D@2 E@7 F G@2 H@2 I@2 ~ J@8 K@3 ~@17 F G@2 L@2 G@2 L@2 M@2 ~@2 N@4 O ~@5 P@6
>`.pickRestart({
  A: "[[f2,c3,f3,a3]@6 ~@2 [f3,a3,c4] ~ [f3,a3,c4]@2 a2@2 [d3,f3,bb3]@6 [d3,f3,bb3]@2 ~@2 [c3,e3,g3,c4] ~ [c3,e3,g3,c4]@2 e2@2 f2@6 [c4,f4]@2 ~@2 [f3,a3,c4] ~ [f3,a3,c4]@2 a2@2 [d3,f3,bb3]@6 [d3,f3,bb3]@2 ~@2 [c3,e3,g3,c4] ~ c3@2 e2@2 ~@6 [c4,f4]@2 ~@2 [f3,a3,c4] ~ [f3,a3,c4]@2 a2@2 [d3,f3,bb3]@6 [d3,f3,bb3]@2 ~@2 [c3,e3,g3,c4] ~ [c3,e3,g3,c4]@2 e2@2 ~@6 [c4,f4]@2 ~@2 [f3,a3,c4] ~ [f3,a3,c4]@2 a2@2 [bb2,d3,f3,bb3]@2, ~@6 a2@5 ~@3 bb2@8 e2@5 ~@3 [c3,f3,a3]@8 a2@5 ~@3 bb2@8 e2@4 [e3,g3,c4]@4 [f2,c3,f3,a3]@8 a2@5 ~@3 bb2@8 e2@4 ~@4 [f2,c3,f3,a3]@8 a2@5 ~@5]/7", // F Bb C F5 F Bb C F5 …
  B: "[~@4 [d3,f3,bb3]@2 ~@2 [c3,e3,g3,c4] ~ c3@2 e2@2 d3@6 d4@2 ~@2 [e3,g3,c4] ~ [e3,g3,c4]@2 a2@2 g2@6 d4@2 g2@2 [e2,g3,c4]@4 [c3,e3,bb3]@4, ~@6 e2@4 [e3,g3,c4]@4 [f3,a3]@8 a2@4 ~@4 [d3,f3,bb3]@9 ~ e3@2 ~@6]/3", // Bb C C7 C F Bb
  C: "[f3,a3]@3 ~ [f3,a3]@2 ~@2 [f3,a3,c4] ~ [f3,a3,c4]@2 a2@2 [bb2,d3,f3,bb3]@2, [f2,c3]@6 a2@5 ~@5", // F Bb F5
  D: "[~@4 [d3,f3,bb3]@2 ~@2 [c3,e3,g3,c4] ~ [c3,e3,g3]@2 e2@2 ~@6 [c4,f4]@2 ~@2 [f3,a3,c4] ~ [f3,a3,c4]@2 a2@2 [bb2,d3,f3,bb3]@2, ~@6 e2@4 c4@4 [f2,c3,f3,a3]@8 a2@5 ~@5]/2", // Bb C F5 F Bb F
  E: "[~@4 [d3,f3,bb3]@2 ~@2 [c3,e3,g3,c4] ~ [c3,e3]@2 e2@2 f2@6 [c4,f4]@2 ~@2 [f3,a3,c4] ~ [f3,a3,c4]@2 a2@2 [d3,f3,bb3]@6 [d3,f3,bb3]@2 ~@2 [c3,e3,g3,c4] ~ [c3,e3,g3,c4]@2 e2@2 a3@4 d4@4 a3@4 d4@4 db4@4 f4@3 ~ db4@4 f4@4 ~@4 f4@4 c4@4 f4@4 c4@4 g4@4 c4@4 g4@4 ~@2, ~@6 e2@4 [g3,c4]@4 [c3,f3,a3]@8 a2@5 ~@3 bb2@8 e2@4 ~@4 [d3,f3]@14 ~@2 bb3@17 ~@33, ~@62 [db3,g3]@15 ~ [c3,a3]@14 ~@2 [c3,g3,bb3]@16 ~@2, ~@70 f4 ~@7 c4@6 ~@28]/7", // Bb C F5 F Bb C C5 F …
  F: "~ a3 [c4,e4] a3 ~ a3 [c4,e4] a3, a2@7 ~ a2@6 ~@2", // C
  G: "[~@2 d4@2 [f4,a4]@2 d4@2 d3@2 e3@2 f3@2 ~@4 d4@2 [g4,bb4]@2 d4 ~@3 d4@2 [g4,bb4] ~ [db3,e4,g4,bb4]@2, d3@6 ~@8 g3@8 ~@2 g3@5 ~@3]/2", // F Gm Dbdim
  H: "[~@2 [db3,e4,g4,bb4]@2 ~@2 [e4,a4]@2 ~@2 [bb2,e4,g4]@3 ~ [a2,c4,e4,a4]@4 ~@2 a4@2 c4@2 ~@2 c4@2 ~@2 c4@2, ~@5 c3@2 ~@11 a2@5 ~ a2@8, ~@5 e4 ~ [e4,a4]]/2", // Dbdim A5 Edim Am A5
  I: "[~@2 d4@2 ~@2 d4@2 d3@2 e3@2 f3@2 [g3,d4,g4,bb4]@11 ~@7, d3@7 ~@25, ~ [f4,a4] ~@6]/2", // Gm F
  J: "[[d3,a3,d4,gb4]@7 ~ [d3,a3,d4,gb4] ~ [d3,a3,d4,gb4]@3 ~ [g2,b3,d4,g4]@8 ~@2 [g2,b3,d4,g4] ~ [g2,b3,d4,g4]@3 ~ [d3,a3,d4,gb4]@8 ~@2 [d3,a3,d4,gb4] ~ [d3,a3,d4,gb4]@3 ~ d4@6 d4@2 ~@2 [a2,b3,d4,g4] ~ [a2,b3,d4,g4]@3 ~ [d3,a3,d4,gb4]@9 ~ [d3,a3,d4,gb4] ~ [d3,a3,d4,gb4]@3 ~ [g2,b3,d4,g4]@8 ~@2 [g2,b3,d4,g4] ~ [g2,b3,d4,g4]@3 ~ [d3,a3,d4,gb4]@8 ~@2 [d3,a3,d4,gb4] ~ [d3,a3,d4,gb4]@2 ~@2 [g2,b3,d4,g4]@7 ~@3 [g2,b3,d4,g4] ~ [g2,b3,d4,g4]@2 ~@2 [b2,b3,d4,gb4]@2, ~@23 [g2,b3,g4]@4 ~@37]/8", // D G D G D G D G …
  K: "[~@8 [gb2,a3,db4,gb4] ~ [gb2,a3,db4,gb4]@3 ~ [e2,b3,e4,g4]@6 ~@4 [a2,a3,d4,e4] ~ [a2,a3,d4,e4]@2 ~@2 [d3,gb3,a3,d4]@8 ~@10]/3", // Gbm Em Asus4 D
  L: "[~@2 [db3,e4,g4,bb4]@2 ~@2 [e4,a4]@2 ~@2 [bb2,e4,g4]@3 ~ a2@2 a2 ~ a3@2 [c4,e4]@2 a3@2 ~@2 a3@2 [c4,e4]@2 a3@2, ~@5 c3@2 ~@7 [c4,e4,a4]@4 ~@6 a2@6 ~@2]/2", // Dbdim A5 Edim C Am
  M: "[~@2 d4@2 [f4,a4]@2 d4@2 d3@2 e3@2 f3@2 ~@4 d4@2 [g4,bb4]@2 d4 ~@3 d4@2 [g4,bb4] ~@3, d3@6 ~@8 g3@8 ~@2 g3@5 ~@3]/2", // F Gm
  N: "[~ f4@6 ~ [a2,c4,e4,g4] ~ [a2,c4,e4,g4]@2 ~@2 [bb3,d4,f4]@3 ~ bb4@2 a4@2 bb4@2 a4@2 f4@2 d4@2 [f2,f3,a3,c4]@7 ~@3 [a2,c4,e4,g4] ~ [a2,c4,d4,e4,g4]@2 ~@2 [bb3,d4]@6 ~@3 c3 [e3,g3,c4] ~ g4@2 bb3@4, [f2,c3,f3,a3,c4]@6 ~@8 g2@8 ~@8 c3 ~@15 f4@9 ~@9, ~@23 g2@4 ~@5]/4", // Am7 Bb F Am7 Bb C F
  O: "[f3,a3]@3 ~@5", // F
  P: "[~@15 f3@2 ~@8 f3@2 ~@4 f3@2 ~@6 f4@2 f3@2 e4@4 f3@2 ~@4 e4@2 ~@2 f3@2 ~@4 f3@2 ~@9 f3 ~@3 f4@13 ~@5, ~@13 [f2,a3,c4]@6 f3@4 f4@4 d4@6 f4@4 [bb3,d4]@4 ~@8 f4@4 c4@4 ~@10 f3@5 f4@5 ~@19, ~@17 f4@4 [f2,c4]@6 [bb2,bb3]@8 ~@2 bb2@6 [f2,c4]@8 ~@2 f2@6 [bb2,bb3,d4]@8 ~@3 [bb2,d4]@7 [c3,a3,c4]@13 ~@6, ~@21 a3@4 ~@10 f3@4 ~@12 f3@4 f4@4 ~@6 f4@5 bb3@5 ~ f2@13 ~@7]/6", // F Bb F5 Bb F5 Bb F
})).s("gm_acoustic_guitar_steel").gain(0.19).pan(0.3)

// other · distortion guitar · "DIST.GUIT"
const distortion_guitar = note("<~@32 A@2 ~@4 B@2 ~@2 C@2 ~@41>".pickRestart({
  A: "[~@5 d3 e3 gb3 g3 a3 b3 db4 d4 b3 d4@4 ~@14]/2", B: "[~@10 gb4@4 e4@7 ~@11]/2",
  C: "[~@7 g3 ab3 a3 [b3,c4] d4 f4 d4 f4@5 ~@13, ~@3 f3 ~@12]/2", // Cmaj7
})).s("gm_distortion_guitar").gain(0.07).pan(0.6)

// chords · string ensemble 2 · "STRINGS 1"
const string_ensemble_2 = note("<~@16 A@7 B@3 ~@2 C@8 D@3 E@2 F@7 ~@4 G H@2 I ~@22 J@7>".pickRestart({
  A: "[a3@14 [g3,db4]@16 ~@24 e4@9 ~@15 f4@31 bb4@3, ~@30 c4@33 c4@31 ~@18, ~@40 f4@14 ~@9 g4@15 ~@34, ~@23 bb3@9 a3@15 ~@9]/7", // Gdim
  B: "[~@5 [c4,a4]@4 bb3@5 c4@32 ~@2, ~@3 g4@7 ~@6]/3", // F
  C: "[[a3,gb4]@14 [b3,g4]@16 [a3,gb4]@15 [b3,g4]@16 [a3,gb4]@17 [b3,g4]@15 [a3,gb4]@17 g4@15 gb4@3, d4, ~@55 b3@9]/8", // D Em D Em D Em D
  D: "[~@8 a3@6 b3@10 ~@4 db4@2 ~ gb4@15 g4@2, ~@7 db4@7 g4@17 ~@17, ~@7 d4@7 ~ d4@9, ~ a3]/3",
  E: "[~@7 [f3,c4]@5 [a3,c5]@3 [bb3,d4,bb4], ~@7 f4@9, ~@7 a4@8 ~]/2", // F5 Am Bb
  F: "[~@7 [e3,g4,c5]@6 f3@11 [a3,c5]@6 [bb3,d4,bb4]@10 [e3,c4,g4,c5]@6 [d3,d4,a4]@16 [db3,bb4]@16 c3@16 d5@8 db5@8 ~@2, ~@7 c4@16 ~@71 [a2,e4]@16 ~@2, ~@13 f4@27 ~@6 f4@47 ~@19, ~@13 a4@16 ~@49 a4@32 ~@2]/7", // C Am Bb C D5 Gb A5
  G: "c5@5 bb4 a4 c5", H: "[bb4@3 f5@4 g5@4 a5@2 f5 g5 a5]/2", I: "bb5@3 c6@5",
  J: "[~@4 bb3@25 [f3,a3,c4]@14 [g3,bb3,d4]@16 [a3,e4]@16 [bb3,d4]@18 [f3,a3,c4,f5]@14 ~@5, ~@29 f2@57 ~@26, ~@59 c4@15 ~ f4@22 ~@15, ~@75 [c4,db4] ~@36]/7", // F Gm A5 Bb F Dbmaj7
})).s("gm_string_ensemble_2").gain(0.07).pan(0.6)

// chords · string ensemble 2 · "STRINGS 1" · soft notes
const string_ensemble_2_soft = note("<~@16 A B@2 ~@2 C@7 ~@57>".pickRestart({
  A: "f3@7 ~", B: "[~@7 a3@8 ~]/2",
  C: "[~@14 [bb3,d4]@15 ~ e4@16 ~@31 [bb3,d4]@19 ~@16, ~@29 db4@8 ~@9 a3@31 ~@35, ~@62 f4@35 ~@15]/7", // Bb
})).s("gm_string_ensemble_2").gain(0.05).pan(0.6)

// chords · string ensemble 1 · "STRINGS 2"
const string_ensemble_1 = note(`<
  ~@20 A@8 B C@2 ~@5 D E ~@2 F@8 G H I J K L@2 M@4 N@4 O@6 P@4 ~ Q R S T U ~@3 V@3
>`.pickRestart({
  A: "[~@14 f4@9 ~ f4@2 g4@2 a4@2 bb4@15 ~ bb4@4 bb4@4 a4@4 g4@20 f4@9 ~ f4@2 g4@2 a4@2 ~@4 a5@2 bb5@2 a5@2 bb5@2 a5@2 bb5@2 a5@2 bb5@2 a5@2 bb5@2 [a3,bb3] [f3,g3] [e3,bb5]@3 [d3,a5]@2 [e3,bb5]@3, ~@47 bb4@13 ~@4, ~@59 a5 ~@4]/8", // Bbmaj7 Fsus2 Edim D5 Edim
  B: "gb3 ~, a5@3 ~@5", C: "[~@2 g5@2 gb5@2 g5@2 gb5@2 d5@2 b4@2 a4@11 ~@7]/2", D: "~ b4 a4 b4 gb4 e4 d4 e4",
  E: "~@8 [d4,g4] ~ [db4,g4] ~@5", // G5 Dbdim
  F: "[a4@7 ~ a4 ~ a4@4 ~@10 g4 ~ g4@3 ~ a4@9 ~ a4 ~ a4@4 ~@10 g4 ~ g4@4 [f4,a4]@16 [g4,bb4]@16 ~@2 ab4@2 a4@2 e5@2 d5@2 ab5@2 a5@2 e6@2 [d5,d6]@8 [e5,db6]@9 ~, f4@23 ~@6 f4@25 ~@40 a4@4 ~@30, ~@7 bb4@8 ~@8 bb4@8 ~@16 c5@8 ~@9]/8", // F Gm D Dbm
  G: "[gb4,a4] ~ [gb4,a4] ~ [gb4,a4] ~ [gb4,a4] ~ [gb4,a4] ~ [e4,g4] ~ [d4,gb4] ~ [gb4,a4] ~", // Gbm Em D Gbm
  H: "[g4,b4] ~ [g4,b4] ~ [g4,e5] ~ [g4,d5] ~ [g4,db5] ~ [g4,b4] ~ [g4,a4] ~ [g4,b4] ~", // G C G5 Gdim G Gsus2 G
  I: "[a4,db5] ~ [a4,db5] ~ [a4,db5] ~ [a4,db5] ~ [a4,db5] ~ [a4,db5] ~ [a4,db5] ~ [a4,db5] ~", // A
  J: "b4 db5 d5 e5 db5 d5 e5 b5, g4 ~ g4 ~ g4 ~ g4 ~ a4 ~ a4 ~ a4 ~ a4 ~",
  K: "[f4,a4] ~ [f4,a4] ~ [f4,a4] ~ [f4,a4] ~ [f4,a4] ~ [f4,a4] ~ [f4,a4] ~ [f4,a4] ~, c6@5 bb5 a5 c6", // F
  L: "[[g4,bb4] ~ [g4,bb4] ~ [g4,bb4] ~ [g4,bb4] ~ [g4,bb4] ~ [g4,bb4] ~ [g4,bb4] ~ [g4,bb4] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~, bb5@3 f6@4 g6@4 a6@2 f6 g6 a6]/2", // Gm Am
  M: "[[bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [a4,c5]@10 [g4,bb4]@2 [f4,a4]@2 [e4,g4]@6 f4@3 ~ [d3,f4]@2 [e3,g4]@2 [f3,a4]@2 [g3,g4,bb4]@16 [db3,e4,bb4]@2, bb6@8 c7@10 ~@18 d4@25 ~@3, ~@16 a3@14 d3@9 ~@25]/4", // Bb C Am Gm F Em Dm Em …
  N: "[~@2 [db3,e4,bb4]@3 ~ [c3,e4,a4]@3 ~ [bb2,e4,g4]@4 [a4,c5]@12 [g4,bb4]@2 a4@2 [e4,g4]@4 f4@5 ~ [d3,f4]@2 [e3,g4]@2 [f3,a4]@2 [g3,g4,bb4]@15 ~ [db3,e4,bb4]@2, ~@14 a2@16 d3@9 ~@25, ~@28 f4 ~@5 d4@27 ~@3]/4", // Bbdim Am Edim Am Gm Em Dm Em …
  O: "[~@2 [db3,e4,bb4]@3 ~ [c3,e4,a4]@3 ~ [bb2,e4,g4]@3 ~ [a4,c5,c6]@11 ~ [g4,bb5]@2 [a4,a5]@2 [e4,g4,g5]@5 ~ [f4,f5]@3 ~ [d3,f4,f5]@2 [e3,g4,g5]@2 [f3,a4,a5]@2 [g3,bb4,bb5]@11 ~ [g3,bb4,bb5]@2 [a3,f4,c5,c6]@2 [bb3,g4,db5]@13 ~ [c4,c5]@2 [db4,bb4]@10 [c4,a4]@4 [bb3,g4]@4, ~@14 a2@16 d3@9 ~@57, ~@25 bb4@3 f4 ~@6 d4@23 ~@4 db6@10 ~@24]/6", // Bbdim Am Edim Am Gm A Em F …
  P: "[~@8 [c5,e5,g5] ~ [e5,g5]@2 ~@2 f5@4 bb5@2 a5@2 ~@2 a5@2 f5@2 d5@2 [f3,a4]@8 ~@2 [a3,a4,c5,e5,g5] ~ [e5,g5]@2 ~@2 f5@10 ~@8, f4@5 ~@17 bb5@2 c3@7 ~@10 [a3,c5]@2 ~@2 [g3,bb4]@11 ~@8, ~ a3@13 ~@9 c5@7 c5@6 ~@28]/4", // C Em F Am7 Em Am Gm
  Q: "~@3 g3", R: "~@7 f4", S: "c4@2 bb3@2 ~@9 g3@3", T: "~@11 a3@5", U: "d4@5 ~@11",
  V: "[~@15 bb5@2 a5@2 bb5@3 a5@2 f5@3 d5@2 f5@13 ~@6]/3",
})).s("gm_string_ensemble_1").gain(0.11).pan(0.6)

// chords · string ensemble 1 · "STRINGS 2" · soft notes
const string_ensemble_1_soft = note("<~@20 A ~@5 B@2 ~@28 C ~@12 D@5 E F@2 G H ~@6>".pickRestart({
  A: "g4@7 ~", B: "[d5@27 ~@5, bb5 ~@15]/2", C: "e4@5 ~@3",
  D: "[~@8 a4 ~ [a4,c5]@3 [g4,bb4]@16 ~ f4@8 ~@3 a4@2 ~@2 [g4,d5]@10 c4@25, ~@13 [g3,d5]@10 ~@32 c5@8 ~@17]/5", // Am Gm G5
  E: "bb3@2 a3 ~", F: "[a3@8 ~@12 a3@9 ~@3, ~ f3@2 ~]/2", G: "~ c4@9 ~@6", H: "~@5 bb3@10 ~",
})).s("gm_string_ensemble_1").gain(0.05).pan(0.6)

// other · music box · "MUSICBOX"
const music_box = note(`<
  ~@40
  [~@4 f6 ~ e6 ~ d6 ~ c6 ~ a5 ~ bb5 ~]
  [~@4 f6 ~ e6 ~ d6 ~ c6 ~ bb5 ~ a5 ~]
  [~@4 f6 ~ e6 ~ d6 ~ c6 ~ a5 ~ bb5 ~]
  [~@4 f6 ~ e6 ~ d6 ~ c6 ~ bb5 ~ a5 ~]
  ~@41
>`).s("gm_music_box").gain(0.14).pan(0.6)

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

// drums · rim
const rim = s("rim").struct("<~@32 [~ x ~ x]!7 ~ [~ x ~ x]!7 ~@33 [~ x ~@7 x ~@6]!3 [~ x ~@14] ~>").gain(0.36)

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

// drums · low tom
const low_tom = s("lt").struct("<~@39 A ~@7 B ~ C ~ D ~@3 E ~@3 C ~@3 D ~@21>".pickRestart({
  A: "~@2 x!2 ~@10 x ~", B: "~@13 x!2 ~", C: "~@3 x", D: "~@7 x", E: "~@12 x!2 ~@2",
})).gain(0.28)

// drums · pedal hat
const pedal_hat = s("hh").struct(`<
  ~@12 A B C B C@5 D C E C F ~@2 G H I B I J I C F C@2 K G B F L F@2 M ~ G C@4 N C@2 G B@2 O C@2 P ~ Q C R ~@2 C@3 S
  ~@12
>`.pickRestart({
  A: "x!4 ~ x!3", B: "x!7 ~", C: "x!8", D: "x!5 ~ x!2", E: "x!3 ~ x ~ x ~", F: "x!3 ~ x!4", G: "~ x!7",
  H: "x ~ x!3 ~ x ~", I: "x!6 ~ x", J: "~ x!5 ~ x", K: "x!2 ~@6", L: "x ~ x ~@2 x!2 ~ x ~ x ~ x ~@3",
  M: "x!3 ~ x!2 ~ x", N: "x ~ x ~ x ~ x ~ x ~ x ~@2 x!2 ~", O: "x!4", P: "~ x ~ x ~ x ~@2", Q: "x ~ x!6",
  R: "~ x ~ x ~ x ~ x", S: "x!2 ~ x!3 ~@2",
})).gain(0.16)

// drums · mid tom
const mid_tom = s("mt").struct("<~@39 A ~@7 B ~ C ~ B ~@3 D ~@3 E ~@3 F ~@21>".pickRestart({
  A: "~ x ~@4 x ~@3 x ~@5", B: "~@5 x ~@2", C: "~@10 x!2 ~@4", D: "~@8 x!2 ~@6", E: "~@7 x!2 ~@7",
  F: "~@10 x ~ x!2 ~@2",
})).gain(0.24)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@13 A ~ A ~@2 B C ~ D ~ E ~ F G ~@2 H I A I J I ~ F ~ K ~@2 A F L F@2 M ~ N O N ~ O P ~ Q ~@4 K ~ A ~ N ~@2 I ~@2 R S
  T ~@10 D ~
>`.pickRestart({
  A: "~@7 x", B: "~@9 x ~@6", C: "~@5 x ~@3 x ~@6", D: "~@5 x ~@2", E: "~@3 x ~ x ~ x", F: "~@3 x ~@4", G: "x",
  H: "~ x ~@3 x ~ x", I: "~@3 x", J: "x ~@2 x", K: "~@9 x ~@3 x ~@2", L: "~@7 x ~@6 x ~", M: "~@3 x ~@2 x ~",
  N: "~@13 x ~ x", O: "~@15 x", P: "~@12 x ~@2 x", Q: "~@5 x ~@10", R: "~ x ~@3 x ~@10", S: "~@5 x ~ x ~@8",
  T: "~ x ~ x",
})).gain(0.16)

// drums · high tom
const high_tom = s("ht").struct("<~@39 x ~@45>").gain(0.32)

// drums · crash
const crash = s("cr").struct(`<
  ~@19 A B ~@7 B ~@11 B ~@5 A C ~@2 B ~ B ~@3 B A@2 D ~ A@2 D ~ A@2 ~@12 E ~@3 E ~
>`.pickRestart({
  A: "~@7 x", B: "x", C: "~ x ~@2", D: "~@3 x ~@3 x", E: "~@13 x ~@2",
})).gain(0.24)
// … 13 more lines

More by Ron