Strudelify

Il vecchio e il bambino

Nomadi

KeyB minorTempo120 bpm
0:00/0:00
// Il vecchio e il bambino — Nomadi
// 120 bpm, 3/4, key B minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: ch 16 "ORGAN CHURCH 2 MT32" named as an organ, played on church organ (its tubular bells patch is not one)
// note: Full arrangement: all 149 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/3)

// 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 · church organ · "ORGAN CHURCH"
const church_organ = note(`<
  ~ A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 E@2 B@2 A@2 F@2 E@2 B@2 A@2 G@3 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 E@2 B@2 A@2 F@2 E@2
  B@2 A@2 H@8 I@8 J@8 K@8 L@8 M@8 N@8 O@7 P@8 Q@8 R@3 S@2 ~
>`.pickRestart({
  A: "[e4,g4,b4]/2", B: "[d4,f#4,a4]/2", C: "[c4,e4,g4]/2", D: "[b3,d#4,f#4]/2", E: "[d4,g4,b4]/2", F: "[d#4,f#4,b4]/2",
  G: "[f#4@8 ~, d#4@5 ~, b3@7 ~@2]/3", H: "[[b3,d#4,f#4]@9 [e4,g4,b4]@8 [d4,f#4,a4]@8 [c4,e4,g4]@7]/8",
  I: "[~ [b3,d#4,f#4]@8 [e4,g4,b4]@8 [d4,f#4,a4]@8 [c4,e4,g4]@7]/8", // B Em D C
  J: "[~ [b3,d#4,f#4]@8 [d4,g4,b4]@8 [d4,f#4,a4]@8 [e4,g4,b4]@7]/8", // B G D Em
  K: "[~ [d#4,f#4,b4]@8 [d4,g4,b4]@8 [d4,f#4,a4]@8 [e4,g4,b4]@7]/8", // B G D Em
  L: "[~@6 [b3,d#4,f#4]@49 [e4,g4,b4]@48 [d4,f#4,a4]@48 [c4,e4,g4]@41]/8", // B Em D C
  M: "[~@7 [b3,d#4,f#4]@48 [e4,g4,b4]@48 [d4,f#4,a4]@48 [c4,e4,g4]@41]/8", // B Em D C
  N: "[~@7 [b3,d#4,f#4]@48 [d4,g4,b4]@45 [d4,f#4,a4]@46 [e4,g4,b4]@46]/8", // B G D Em
  O: "[[d#4,f#4,b4]@46 [d4,g4,b4]@45 [d4,f#4,a4]@46 [e4,g4,b4]@31]/7", // B G D Em
  P: "[~@15 [b3,d#4,f#4]@47 [e4,g4,b4]@48 [d4,f#4,a4]@48 [c4,e4,g4]@34]/8", // B Em D C
  Q: "[~@7 [b3,d#4,f#4]@24 [e4,g4,b4]@24 [d4,f#4,a4]@24 [c4,e4,g4]@17]/8", R: "[~@7 [b3,d#4,f#4]@29]/3",
  S: "[[e4,g4,b4]@43 ~@5]/2", // Em
})).s("gm_church_organ").gain(0.06)

// bass · fretless bass · "BASSO"
const bass = note(`<
  ~@17 A@8 B@4 C@5 D@2 E@5 F@5 G@6 H@8 I@2 J@2 K@8 L@4 M@2 N@2 O@4 P@4 Q@4 R@3 S T@8 U@4 V@2 W@2 X@4 Y Z@3 AA AB@6 AC@4
  AD@8 AE@6 AF AG@2 ~
>`.pickRestart({
  A: "[g2@23 d2@24 e2@24 b1@17 b2@4 a2@4]/8", B: "[g2@23 d2@25]/4", C: "[e2@48 b1@53 ~@19]/5", D: "[e2@23 ~]/2",
  E: "[d2@23 c2@24 b1@13]/5", F: "[~@6 b2@8 a2@8 e2@48 d2@49 ~]/5", G: "[c2@46 b1@32 e2@8 f#2@8 g2@43 ~@3 g2@4]/6",
  H: "[~@48 e2@31 ~@7 e2@8 b1@32 b2@8 a2@8 g2@49 ~, d2@55 ~@137]/8", I: "[d2@44 d2@3 ~]/2", J: "[e2@39 ~ e2@8]/2",
  K: "[b1@54 e2@37 ~@3 e2@4 d2@43 ~ d2@4 ~@2 c2@42 ~@2]/8", L: "[c2@4 b1@34 b2@6 a2@8 e2@39 ~@5]/4",
  M: "[e2@4 d2@43 ~]/2", N: "[d2@4 c2@41 ~@3]/2", O: "[~ b1@17 b2@4 a2@4 g2@12 ~ g2@9, c2 ~@23]/4",
  P: "[~@2 g2@4 d2@21 ~ d2@17 ~ d2@4 e2@26 e2@17 ~@3]/4", Q: "[~ b1@4 b1@9 b1@4 b2@4 a2@4 g2@12 g2@9 ~, e2 ~@23]/4",
  R: "[g2 d2@6 d3@6 e2@5]/3", S: "~@4 e2@19 ~", T: "[e2@3 ~ b1@24 b1@25 ~@2 e2@37 ~@3 e2@4 d2@43 ~ d2@4 ~@2 c2@42 ~]/8",
  U: "[~ c2@4 b1@34 b2@6 a2@8 e2@39 ~@4]/4", V: "[~ e2@4 d2@43]/2", W: "[~ d2@4 c2@41 ~@2]/2",
  X: "[~@3 b1@34 b2@8 a2@8 g2@23 ~@2 g2@17 ~, ~ c2@4 ~@91]/4", Y: "~ g2@3 d2@20",
  Z: "[~ d2@16 ~@2 d2@3 e2@25 e2@16 ~@5 b1@4, ~@33 e2@2 ~]/3", AA: "~@4 b1@17 b1@3",
  AB: "[~@4 b2@8 a2@8 g2@23 g2@17 ~@2 g2@3 d2@23 d3@23 e2@20 ~@3 e2@10]/6", AC: "[~@9 e2@3 ~ b1@23 b1@24 ~@2 e2@34]/4",
  AD: "[~@6 e2@4 d2@43 ~ d2@4 ~@2 c2@42 ~@2 c2@4 b1@34 b2@6 a2@8 e2@36]/8",
  AE: "[~@8 e2@4 d2@43 ~ d2@4 c2@41 ~@5 b1@37 ~, ~@26 c2 ~@9]/6", AF: "~@10 a2@11 g2@3, b2@13 ~@11",
  AG: "[e2@43 ~@5]/2",
})).s("gm_fretless_bass").gain(0.39)

// other · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  ~@8 A@2 B@6 C@5 D@4 E@7 F@2 ~@80 G@2 H@2 I J@4 K@2 L M@3 N@4 O@6 P@4 Q@6
>`.pickRestart({
  A: "[~@23 e5@13 b4@4 e5@3 f#5@5]/2",
  B: "[g5@7 f#5@2 ~@6 e5@2 ~@6 d5@12 a4@4 d5@4 e5@4 f#5@8 e5@2 ~@6 d5@2 ~@6 c5@12 g4@4 c5@4 d5@4 e5@8 d5@2 ~@6 c5@2 ~@6 b4@16 c5@9]/6",
  C: "[b4@23 g5@12 d5@4 g5@4 a5@4 d6@7 d6@7 ~@4 b5@2 a5@2 g5@2 f#5@7 f#5@4 g5@4 ~ a5@3 f#5@4 d5@15 e5@2 f#5@2 e5@2 d5@2 e5@3, ~@62 d6@5 ~@53]/5",
  D: "[~@10 b4@4 e5@4 f#5@5 g5@8 f#5@8 e5@8 f#5@16 g5@8 f#5@16 g5@3 ~ e5@2 ~ d5@2, ~@7 e5@5 ~@78 f#5@3 ~@3]/4",
  E: "[g5@6 ~ g5@4 ~@3 g5@4 a5@4 d6@7 ~ d6@7 ~@4 b5@2 ~ g5@3 f#5@8 f#5@4 g5@4 a5@3 f#5@5 d5@15 d5@2 e5@2 f#5@2 e5@2 ~@2 e5@7 ~ e5@4 ~@3 e5@4 f#5@4 g5@8 f#5@6 ~@2 e5@8 d#5@17 e5@8, ~@11 d5@5 ~@22 d6@5 a5@2 ~@50 d5@2 ~@11 b4@5 ~@55]/7",
  F: "[f#5@31 ~@17]/2", G: "[~@6 g3@4 g4@4 g5@3 g6@4 g5@4 g6@3 ~ g3@4 ~@3 g5@4 g6@4 g5@4, ~@33 g4@7 ~@8]/2",
  H: "[g6@3 ~ d3@4 d4@4 d5@3 d6@4 d5@4 d6@3 ~ d3@4 d4@4 d5@3 d6@3 ~ d5@4 d6@2]/2",
  I: "~ e3@5 e4@3 e5@4 e6@3 ~ e5@4 e6@3",
  J: "[~@4 e4@4 e5@4 e6@3 e5@4 e6@3 ~ b2@4 b3@4 b4@4 b5@3 b4@4 b5@2 ~@2 b2@4 ~@3 b4@4 b5@4 b4@4 b5@3 ~@5 g4@3 g5@4 g6@4 g5@4 g6@3 ~ g3@4, ~ e3@6 ~@43 b3@5 ~@14 g3@7 ~@20]/4",
  K: "[g4@3 g5@4 g6@4 g5@3 g6@4 ~ d3@4 d4@4 d5@3 d6@4 ~@3 d6@3 ~ d3@4 d4@3, ~@34 d5@5 ~@9]/2",
  L: "~ d5@4 d6@4 d5@4 d6@3 ~@4 e4@4, ~@16 e3@7 ~",
  M: "[e5@4 e6@3 e5@4 e6@3 ~ e3@4 ~@4 e5@4 e6@3 e5@4 e6@3 ~@5 b3@4 b4@3 b5@4 b4@4 b5@3 ~@5 b3@4 b4@3, ~@19 e4@7 ~@12 b2@7 ~@16 b2@7 ~@4]/3",
  N: "[~ b5@4 ~@9 g5@32 f#5@8 g5@7 a5@33 g5@2, ~@5 b4@12 ~@79, ~@10 b5@7 ~@79]/4",
  O: "[~@5 a5@10 g5@32 a5@8 g5@7 f#5@16 g5@8 f#5@20 e5@32 f#5@6]/6", P: "[~@2 g5@9 a5@33 g5@7 a5@10 g5@28 f#5@7]/4",
  Q: "[~ g5@8 f#5@61 e5@53 ~@21]/6",
})).s("gm_string_ensemble_1").gain(0.38)

// chords · piano
const piano = note(`<
  ~@34 A@8 B@4 C@4 D@6 E@2 F@6 G@8 H@8 I@4 J@4 K@8 L@6 M@8 N@6 O@2 P@7 Q@6 R@8 S@7 T@2 ~
>`.pickRestart({
  A: "[~@5 b4@2 ~ e5@2 b4@3 e4@3 e5@3 b4@2 e4@3 e5@2 b4@3 ~@2 e5@3 b4@2 ~@3 e5@3 b4@3 ~@7 a4@3 d5@3 a4@3 d4@3 ~@2 a4@3 ~@5 a4@3 ~@5 a4@3 ~@3 d5@2 a4@3 ~@8 g4@2 ~ c5@2 g4@3 c4@3 c5@3 g4@2 c4@3 c5@2 g4@3 ~@2 c5@3 g4@2 ~@3 c5@3 g4@3 ~@7 f#4@3 b4@3 f#4@3 b3@3 ~@2 f#4@3 ~@5 f#4@3 ~@5 f#4@3 ~@3 b4@2 f#4@4 ~@2, e3@45 ~@2 d3@47 ~@2 c3@45 ~@2 b2@47 ~@2, ~@3 e4@4 ~@22 e4@4 ~@3 e4@7 ~@2 e5@5 d4@4 ~@10 d5@4 ~ d4@5 ~@3 d4@5 ~@3 d4@5 ~@9 c4@4 ~@22 c4@4 ~@3 c4@7 ~@7 b3@4 ~@15 b3@5 ~@3 b3@5 ~@3 b3@5 ~@6, ~@72 d5@4 ~@4 d5@4 ~@9 d5@8 ~@40 c5@6 ~@13 b4@4 ~@4 b4@4 ~@4 b4@4 ~@12]/8",
  B: "[~@5 b4@2 ~ e5@2 b4@3 e4@3 e5@3 b4@2 e4@3 e5@2 b4@3 ~@2 e5@3 b4@2 ~@3 e5@3 b4@3 ~@7 a4@3 d5@3 a4@3 d4@3 ~@2 a4@3 ~@5 a4@3 ~@5 a4@3 ~@3 d5@2 a4@4 ~@2, e3@45 ~@2 d3@47 ~@2, ~@3 e4@4 ~@22 e4@4 ~@3 e4@7 ~@2 e5@5 d4@4 ~@10 d5@4 ~ d4@5 ~@3 d4@5 ~@3 d4@5 ~@6, ~@18 d5 ~ d5 ~@3]/4",
  C: "[~@5 g4@2 ~ c5@2 g4@3 c4@3 c5@3 g4@2 c4@3 c5@2 g4@3 ~@2 c5@3 g4@2 ~@3 c5@3 g4@3 ~@7 f#4@3 b4@3 f#4@3 b3@3 ~@2 f#4@3 ~@5 f#4@3 ~@5 f#4@3 ~@3 b4@2 f#4@4 ~@2, c3@45 ~@2 b2@47 ~@2, ~@3 c4@4 ~@22 c4@4 ~@3 c4@7 ~@2 c5@5 b3@4 ~@10 b4@4 ~ b3@5 ~@3 b3@5 ~@3 b3@5 ~@6, ~@18 b4 ~ b4 ~@3]/4",
  D: "[~@3 g3@2 d4@3 g4@3 d4@2 g3@3 g4@3 d4@2 g3@3 g4@3 d4@2 g3@3 g4@3 d4@2 ~@3 g4@2 ~ d4@2 ~@8 a4@2 ~ d5@2 a4@2 ~ d4@3 d5@3 a4@2 d4@3 d5@2 a4@3 d4@3 ~@2 a4@3 ~@3 d5@2 a4@3 ~@5 e4@3 b4@3 e5@3 b4@2 e4@3 e5@2 b4@2 ~ e4@3 ~@2 b4@2 e4@4 ~@2 b4@3 ~@3 e5@2 b4@3 e5@3, g2@44 ~@4 d3@45 ~@3 e3@45 ~@3, ~@37 g3@6 ~@2 g4@5 ~ d4@4 ~@25 d5@4 ~ d4@7 ~ d5@5 ~@22 e5@4 ~@4 e5@4 ~ e4@6 ~@5]/6",
  E: "[~@3 b3@2 f#4@3 b4@2 f#4@2 ~@3 b4@3 f#4@2 ~@3 b4@3 f#4@2 b3@3 b4@3 f#4@3 ~@3 b4@2 f#4@2 b4@4, b2@15 ~, ~@13 b3@4 ~@3 b3@5 ~@12 b3@8 ~@3]/2",
  F: "[~@2 g3@3 d4@3 g4@3 d4@2 g3@3 g4@3 d4@2 g3@3 ~@2 d4@3 g3@3 ~@2 d4@3 ~@3 g4@2 d4@3 ~@8 a4@2 ~ d5@3 a4@2 d4@3 d5@3 a4@2 d4@3 ~@2 a4@3 ~@3 d5@3 a4@2 ~@3 d5@2 a4@3 ~@5 e4@3 b4@2 ~ e5@2 b4@3 e4@3 ~@2 b4@3 e4@3 e5@3 ~ e4@4 ~@2 b4@2 ~@4 e5 b4@2 ~ e5@4, g2@46 ~@2 d3@45 ~@3 e3@44 ~@4, ~@24 g4@4 ~@4 g4@4 ~ g3@6 ~@2 g4@5 ~ d4@4 ~@17 d5@4 ~ d4@5 ~@3 d4@7 ~ d5@5 ~@14 e5@4 ~@7 b4@2 ~@3 e5@4 e4@7 ~@5]/6",
  G: "[~@3 b3@2 ~@2 b4@3 f#4@3 b3@3 b4@2 ~@5 b4@3 f#4@2 ~@3 b4@4 ~@24 b4@2 ~ e5@2 b4@3 e4@3 e5@3 b4@2 e4@3 e5@2 b4@3 ~@2 e5@3 b4@2 ~@3 e5@3 b4@3 ~@7 a4@3 d5@3 a4@3 d4@3 ~@2 a4@3 ~@5 a4@3 ~@5 a4@3 ~@3 d5@2 a4@3 ~@8 g4@2 ~ c5@2 g4@3 c4@3 c5@3 g4@2 c4@3 c5@2 g4@3 ~@2 c5@3 g4@2 ~@3 c5@3, b2@54 e3@45 ~@2 d3@47 ~@2 c3@42, ~@5 f#4@4 ~@9 f#4@4 ~@35 e4@4 ~@22 e4@4 ~@3 e4@7 ~@2 e5@6 ~@13 d5@4 ~@4 d5@4 ~@4 d5@4 ~@9 d5@8 ~@37, ~@20 b3@5 ~@3 b3@5 ~@71 d4@4 ~@15 d4@5 ~@3 d4@5 ~@3 d4@5 ~@9 c4@4 ~@22 c4@4 ~@3 c4@6]/8",
  H: "[g4@3 ~@7 f#4@3 b4@3 f#4@3 b3@3 ~@2 f#4@3 ~@5 f#4@3 ~@5 f#4@3 ~@3 b4@2 f#4@4 ~@7 b4@2 ~ e5@2 b4@3 e4@3 e5@3 b4@2 e4@3 e5@2 b4@3 ~@2 e5@3 b4@2 ~@3 e5@3 b4@3 ~@7 a4@3 d5@3 a4@3 d4@3 ~@2 a4@3 ~@5 a4@3 ~@5 a4@3 ~@3 d5@2 a4@4 ~@7 g4@2 ~ c5@2 g4@3 c4@3 c5@3 g4@2 c4@3 c5@2 g4@3 ~@2 c5@3 g4@2 ~@3 c5@3, ~@3 c5@5 b3@4 ~@10 b4@4 ~ b3@5 ~@3 b3@5 ~@3 b3@5 ~@9 e4@4 ~@22 e4@4 ~@3 e4@7 ~@7 d4@4 ~@15 d4@5 ~@3 d4@5 ~@3 d4@5 ~@9 c4@4 ~@22 c4@4 ~@3 c4@6, ~@5 b2@47 ~@2 e3@45 ~@2 d3@47 ~@2 c3@42, ~@30 b4@4 ~@4 b4@4 ~@57 e5@6 ~@13 d5@4 ~@4 d5@4 ~@4 d5@4 ~@54]/8",
  I: "[g4@3 ~@7 f#4@3 b4@3 f#4@3 b3@3 ~@2 f#4@3 ~@5 f#4@3 ~@5 f#4@3 ~@3 b4@2 f#4@4 ~@5 g3@2 d4@3 g4@3 d4@2 g3@3 g4@3 d4@2 g3@3 g4@3 d4@2 g3@3 g4@3 d4@2 ~@3 g4@2, ~@3 c5@5 b3@4 ~@10 b4@4 ~ b3@5 ~@3 b3@5 ~@3 b3@5 ~@43 g3@5, ~@5 b2@47 ~@2 g2@42, ~@15 b4@2 ~@2 b4@2 ~@27]/4",
  J: "[~ d4@2 ~@8 a4@2 ~ d5@2 a4@2 ~ d4@3 d5@3 a4@2 d4@3 d5@2 a4@3 d4@3 ~@2 a4@3 ~@3 d5@2 a4@3 ~@5 e4@3 b4@3 e5@3 b4@2 e4@3 e5@2 b4@2 ~ e4@3 ~@2 b4@2 e4@4 ~@2 b4@3 ~@3 e5@2, ~@3 g4@5 ~ d4@4 ~@25 d5@4 ~ d4@7 ~ d5@5 ~@22 e5@4 ~@4 e5@4 ~ e4@5, ~@2 d3@15 ~ e3@14]/4",
  K: "[b4@3 e5@3 ~@3 b3@2 f#4@3 b4@2 f#4@2 ~@3 b4@3 f#4@2 ~@3 b4@3 f#4@2 b3@3 b4@3 f#4@3 ~@3 b4@2 f#4@2 b4@4 ~@2 g3@3 d4@3 g4@3 d4@2 g3@3 g4@3 d4@2 g3@3 ~@2 d4@3 g3@3 ~@2 d4@3 ~@3 g4@2 d4@3 ~@8 a4@2 ~ d5@3 a4@2 d4@3 d5@3 a4@2 d4@3 ~@2 a4@3 ~@3 d5@3 a4@2 ~@3 d5@2 a4@3 ~@5 e4@3 b4@2 ~ e5@2 b4@3 e4@3 ~@2 b4@3 e4@3 e5@3 ~ e4@4 ~@2 b4@2 e4@4 e5 b4, ~@6 b2@45 ~@3 g2@46 ~@2 d3@45 ~@3 e3@42, ~@19 b3@4 ~@3 b3@5 ~@12 b3@8 ~@27 g4@4 ~@4 g4@4 ~ g3@6 ~@2 g4@5 ~ d4@4 ~@17 d5@4 ~ d4@5 ~@3 d4@7 ~ d5@5 ~@14 e5@4 ~@7 b4@2 ~@3 e5@4 ~@6]/8",
  L: "[~@2 e5@4 ~@3 b3@2 ~@2 b4@3 f#4@3 b3@3 b4@2 ~@5 b4@3 f#4@2 ~@3 b4@4 ~@16 e4@3 b4@2 ~ e5@2 b4@3 e4@3 e5@2 b4@3 e4@3 e5@2 b4@2 e4@3 e5@3 b4@2 ~@3 e5@2 b4@3 ~@8 a4@3 d5@3 a4@2 d4@3 d5@3 ~@5 d5@3 ~@5 d5@3 ~@5 d5@2, ~@6 b2@49 e3@45 ~@2 d3@42, ~@11 f#4@4 ~@9 f#4@4 ~@63 e4@7 ~ e5@6 ~@16 a4@4 ~@4 a4@4 ~@4 a4@4 ~@3, ~@26 b3@5 ~@3 b3@5 ~@66 d4@4 ~@14 d4@5 ~@3 d4@5 ~@3 d4@5]/6",
  M: "[~ a4@3 ~@5 c4@3 g4@2 ~ c5@2 g4@3 c4@3 c5@2 g4@3 c4@3 c5@2 g4@2 c4@3 c5@3 g4@2 ~@3 c5@2 g4@3 ~@8 f#4@3 b4@3 f#4@2 b3@3 b4@3 ~@5 b4@3 ~@5 b4@3 ~@5 b4@3 f#4@4 ~@4 e4@3 b4@2 ~ e5@2 b4@3 e4@3 e5@2 b4@3 e4@3 e5@2 b4@2 e4@3 e5@3 b4@2 ~@3 e5@2 b4@3 ~@8 a4@3 d5@3 a4@2 d4@3 d5@3 ~@5 d5@3 ~@5 d5@3 ~@5 d5@2, ~@4 d5@8 ~@31 c4@7 ~ c5@6 b3@4 ~@12 f#4@4 ~@4 f#4@4 ~@4 f#4@4 ~@46 e4@7 ~ e5@6 ~@16 a4@4 ~@4 a4@4 ~@4 a4@4 ~@3, ~@7 c3@45 ~@2 b2@47 ~@2 e3@45 ~@2 d3@42, ~@75 b3@5 ~@3 b3@5 ~@3 b3@5 ~@57 d4@4 ~@14 d4@5 ~@3 d4@5 ~@3 d4@5]/8",
  N: "[~ a4@4 ~@4 c4@3 g4@2 ~ c5@2 g4@3 c4@3 c5@2 g4@3 c4@3 c5@2 g4@2 c4@3 c5@3 g4@2 ~@3 c5@2 g4@3 ~@8 f#4@3 b4@3 f#4@2 b3@3 b4@3 ~@5 b4@3 ~@5 b4@3 ~@5 b4@3 f#4@4 ~@4 g3@3 d4@2 g4@3 d4@2 g3@3 g4@3 d4@2 g3@3 g4@2 d4@3 ~@2 g4@3 d4@2 ~@3 g4@2 d4, ~@7 c3@45 ~@2 b2@47 ~@2 g2@41, ~@43 c4@7 ~ c5@6 b3@4 ~@12 f#4@4 ~@4 f#4@4 ~@4 f#4@4 ~@51, ~@75 b3@5 ~@3 b3@5 ~@3 b3@5 ~@35 g3@4 ~@3 g3@6]/6",
  O: "[~@9 a4@2 ~ d5@2 a4@2 ~ d4@2 d5@3 a4@2 d4@3 d5@3 a4@2 d4@3 ~@2 a4@3 ~@3 d5@2 a4@2 d5, ~@2 g4@4 ~ d4@4 ~@24 d5@4 ~ d4@7 ~, ~@4 d3@43 ~]/2",
  P: "[~@4 e4@3 b4@3 e5@2 b4@3 e4@2 e5@3 b4@2 e4@3 ~@2 b4@2 e4@3 e5@3 b4@2 ~@3 e5@2 b4@2 ~ e5@2 ~@5 f#4@3 b4@2 f#4@2 ~ b3@3 b4@2 f#4@2 b3@3 b4@2 f#4@3 b3@3 ~@2 f#4@3 ~@3 b4@2 f#4@2 b4@3 ~@3 g3@2 d4@3 g4@3 d4@2 g3@3 ~@2 d4@2 g3@3 g4@3 d4@2 g3@3 g4@2 d4@3 ~@3 g4@2 d4@3 g4@3 ~@4 a4@2 ~ d5@3 a4@2 d4@2 d5@3 a4@2 d4@3 ~@2 a4@3 d4, ~@2 e3@42 ~@3 b2@42 ~@4 g2@43 ~@6 d4@4 ~@16 d5@4 ~@2, ~@25 e5@4 ~@8 e4@6 ~@8 b3@3 ~@24 b4@4 ~ b3@7 ~@19 g4@4 ~@16 g3@5 ~@6 d3@28]/7",
  Q: "[~@4 a4@2 ~@3 d5@3 a4@2 ~@5 e4@2 b4@2 ~ e5@3 b4@2 e4@3 e5@3 b4@2 e4@3 e5@3 ~ e4@3 e5@3 ~@5 e5 b4@2 ~ e5@3 ~@3 b3@2 f#4@3 b4@2 f#4@3 b3@3 ~ f#4@3 b3@3 ~@2 f#4@2 ~@3 b4@4 ~@19 b4@2 ~ e5@2 b4@3 e4@3 e5@2 b4@3 e4@3 e5@2 b4@2 e4@3 e5@3, ~@2 d5@4 d4@6 ~@2 d5@5 ~@24 b4@2 ~@5 b4@2 ~@26 b4@3 ~@4 b4@4 ~@55, ~@17 e3@42 ~@3 b2@47 ~ e3@34, ~@51 e4@7 ~@31 b3@5 ~@19 e4@4 ~@27]/6",
  R: "[b4@2 ~@3 e5@3 b4@3 ~@7 a4@3 d5@3 a4@3 d4@3 ~@2 a4@3 ~@5 a4@3 ~@7 d4@4 d5@2 a4@3 ~@8 g4@2 ~ c5@2 g4@3 c4@3 c5@2 g4@3 c4@3 c5@2 g4@2 c4@3 c5@3 g4@2 ~@3 c5@3 g4@3 ~@7 f#4@3 b4@3 f#4@3 b3@3 ~@2 f#4@3 ~@5 f#4@3 ~@7 b3@4 b4@2 f#4@4 ~@7 b4@2 ~ e5@2 b4@3 e4@3 e5@2 b4@3 e4@3 e5@2 b4@2 e4@3 e5@3, ~@2 e4@7 ~@2 e5@5 d4@4 ~@10 d5@4 ~ d4@5 ~@3 d4@5 a4@4 ~@13 c4@4 ~@29 c4@7 ~@7 b3@4 ~@15 b3@5 ~@3 b3@5 f#4@4 ~@13 e4@4 ~@27, ~@13 d3@47 ~@2 c3@45 ~@2 b2@47 ~@2 e3@34, ~@38 d5@4 ~@4 d5@4 ~@9 d5@8 ~@40 c5@6 ~@13 b4@4 ~@4 b4@4 ~@4 b4@4 ~@46]/8",
  S: "[b4@2 ~@3 e5@3 b4@3 ~@7 a4@3 d5@3 a4@3 d4@3 ~@2 a4@3 ~@5 a4@3 ~@7 d4@4 d5@2 a4@4 ~@7 g4@2 ~ c5@2 g4@3 c4@3 c5@2 g4@3 c4@3 c5@2 g4@2 c4@3 c5@3 g4@2 ~@3 c5@3 g4@3 ~@7 f#4@3 b4@3 f#4@3 ~@5 f#4@3 b3@4 ~@3 f#4@4 b3@4 ~@6 b3@5 b4@3 f#4@5 ~@3, ~@2 e4@7 ~@2 e5@5 d4@4 ~@10 d5@4 ~ d4@5 ~@3 d4@5 a4@4 ~@13 c4@4 ~@29 c4@7 ~@7 b3@4 ~@7 b3@5 ~@21 f#4@5 ~@14, ~@13 d3@47 ~@2 c3@45 ~@2 b2@56 ~@3, ~@38 d5@4 ~@4 d5@4 ~@57 c5@6 ~@13 b4@4 ~@5 b4@5 ~@6 b4@5 ~@17]/7",
  T: "[~@9 b4@3 ~@2 e5@5 b4@4 e4@5 e5@20, e3@43 ~@5, ~@5 e4@7 ~@36]/2",
})).s("gm_piano").gain(0.38)

// other · piccolo · "FLAUTO"
const piccolo = note("<~@66 A@6 B@2 C@2 D@2 E@2 F@2 ~@16 G@8 H@8 ~@15 I@8 J@2 K@7 L@2 ~>".pickRestart({
  A: "[~@6 e5@30 f#5@8 g5@8 a5@32 g5@7 f#5@8 e5@31 f#5@8 g5@6]/6", B: "[~ f#5@33 b5@7 a5@7]/2",
  C: "[~ e5@32 f#5@8 ~ g5@6]/2", D: "[~ a5@34 g5@7 f#5@6]/2", E: "[~@2 e5@33 f#5@7 g5@6]/2", F: "[~@2 f#5@45 ~]/2",
  G: "[~@7 e5@30 f#5@8 g5@8 a5@31 g5@8 f#5@8 e5@30 f#5@9 g5@7 f#5@32 b5@8 a5@6]/8",
  H: "[~ e5@33 f#5@8 ~ g5@7 a5@34 g5@7 f#5@8 e5@32 f#5@8 g5@8 f#5@45]/8",
  I: "[~@14 e5@30 f#5@8 g5@8 a5@32 g5@7 f#5@8 e5@31 f#5@8 g5@7 f#5@33 b5@6]/8", J: "[~ a5@8 e5@32 f#5@7]/2",
  K: "[~@2 g5@7 a5@34 g5@7 f#5@8 e5@33 f#5@7 g5@8 f#5@53 ~@9]/7", L: "[~ e5@42 ~@5]/2",
})).s("gm_piccolo").gain(0.35)

// chords · acoustic guitar nylon · "ACOUGUITAR"
const acoustic_guitar_nylon = note("<~@66 A@4 B@4 C@8 D@8 E@8 F@4 G@4 H@8 I@6 J@7 K@6 L@4 M@6 N@3 O@2 ~>".pickRestart({
  A: "[~@9 b4@22 b4@8 a4@8 b4@7 ~@3 a4@23 a4@8 g4@8, ~@3 e2@16 ~@8 d2@16 ~@5, ~@7 [b2,e3]@32 ~@16 [a2,d3]@32 ~@9, ~ [b3,e4]@4 ~@2 [a3,d4]@4 ~]/4", // E5 D5 E5 D5
  B: "[a4@6 ~@3 g4@22 g4@7 f#4@8 e4@7 ~@4 f#4@32 ~@7, ~@3 c2@16 ~@8 b1@16 ~@5, ~@7 [g2,c3]@32 ~@16 [f#2,b2]@32 ~@9, ~@8 [g3,c4]@32 ~@13 f#4@3 [f#3,b3]@32 ~@8]/4", // C5 B5 C5 B5
  C: "[~@9 b4@21 b4@7 a4@7 b4@10 ~@3 a4@21 a4@7 g4@8 ~@12 g4@21 g4@7 f#4@8 e4@7 ~@16 g4@9 f#4@18 ~, ~@3 e2@16 ~@8 d2@16 ~@8 c2@16 ~@8 b1@16 ~@5, ~@7 [b2,e3]@32 ~@16 [a2,d3]@32 ~@16 [g2,c3]@32 ~@16 [f#2,b2]@32 ~@9, ~@8 [b3,e4]@32 ~@16 [a3,d4]@32 ~@5 a4@11 [g3,c4]@32 ~@12 f#4@4 [f#3,b3]@32 ~@8, ~@153 f#4@20 ~@19]/8", // E5 D5 C5 B5 E5 D5 C5 B5
  D: "[~@7 g4@15 g4@8 d5@8 c5@7 ~@10 d4@15 d4@8 a4@7 g4@8 ~@10 e4@15 e4@8 b4@7 a4@8 ~@10 f#4@6 f#4@8 g4@8 a4@8 b4@8 c5@3, ~@3 [g2,d3,g3]@16 ~@8 [d2,a2,d3]@16 ~@8 [e2,b2,e3]@16 ~@8 [b1,f#2,b2]@16 ~@5, ~@7 d4@32 ~@16 a3@32 ~@16 b3@32 ~@16 [f#3,b3]@32 ~@9, ~@7 d5@23 ~@15 d5@25 ~@33 b4@23 ~@15 b4@18 ~@33, ~@55 a4@23 ~@15 a4@25 ~@74]/8", // G5 D5 E5 B5
  E: "[~@7 g4@16 g4@7 d5@8 c5@8 ~@9 d4@14 d4@9 a4@8 g4@7 ~@10 e4@15 e4@8 b4@7 a4@8 ~@10 f#4@7 f#4@7 g4@9 a4@18, ~@5 b4@19 ~@31 a4@23 ~@15 a4@26 ~@73, ~@3 [g2,d3,g3]@16 ~@8 [d2,a2,d3]@16 ~@8 [e2,b2,e3]@16 ~@8 [b1,f#2,b2]@16 ~@5, ~@7 d4@32 ~@16 a3@32 ~@16 b3@32 ~@16 [f#3,b3]@32 ~@9, ~@7 d5@23 ~@16 d5@24 ~@33 b4@23 ~@15 b4@18 ~@33]/8", // G5 D5 E5 B5
  F: "[~@9 b4@23 b4@8 a4@7 b4@8 ~@2 a4@24 a4@8 g4@7, ~@7 [e2,b2]@32 ~@16 [d2,a2]@32 ~@9, ~ [e3,b3]@4 ~@2 [d3,a3]@4 ~, ~@9 e4@32 ~@16 d4@32 ~@7]/4", // E5 D5 E5 D5
  G: "[a4@7 ~@2 g4@23 g4@7 f#4@7 e4@8 ~@3 [b3,f#4]@32 ~@7, ~@7 [c2,g2]@32 ~@16 [b1,f#2]@32 ~@9, ~ [c3,g3]@4 ~@2 [b2,f#3]@4 ~, ~@9 c4@32 ~@13 f#4@3 ~@39]/4", // B5 C5 B5 C5 B5
  H: "[~@9 b4@21 b4@8 a4@7 b4@10 ~@2 a4@22 a4@7 g4@8 ~@11 g4@22 g4@7 f#4@7 e4@8 ~@16 g4@8 f#4@18 ~, ~@7 [e2,b2]@32 ~@16 [d2,a2]@32 ~@16 [c2,g2]@32 ~@16 [b1,f#2]@32 ~@9, ~ [e3,b3]@4 ~@2 [d3,a3]@4 ~@2 [c3,g3]@4 ~@2 [b2,f#3]@4 ~, ~@9 e4@32 ~@16 d4@32 ~@5 a4@11 c4@32 ~@12 f#4@4 b3@32 ~@7, ~@153 f#4@20 ~@19]/8", // E5 D5 C5 B5 E5 D5 C5 B5
  I: "[~@22 g4@7 d5@8 c5@7 ~@9 d4@15 d4@7 a4@7 g4@8 ~@9 e4@15 e4@7 b4@7 a4@7 b4@9, ~@7 [g2,d3,g3,d4]@30 ~@15 d2@30 ~@16 [e2,b2]@30 ~@16, ~@7 g4@15 ~@31 [a2,d3,a3]@30 ~@16 [e3,b3]@30 ~@15, ~@8 d5@21 ~@15 d5@24 ~@31 b4@22 ~@23, ~@53 a4@22 ~@15 a4@24 ~@30]/6", // G5 E5 D5 E5
  J: "[~ f#4@6 f#4@7 g4@8 a4@7 b4@8 c5@8 ~@17 g4@7 d5@7 c5@7 ~@9 d4@14 d4@8 a4@7 g4@8 ~@9 e4@14 e4@8 b4@7 a4, [b1,f#2,b2,f#3]@30 ~@16 [g2,d3,g3,d4]@30 ~@15 [d2,a2]@30 ~@16 [e2,b2,e3]@30 ~, ~ b3@30 ~@14 b4@18 ~@29 a4@22 ~@15 a4@24 ~@15, ~@23 g4@8 ~@15 [d3,a3]@15 ~@8 b3@15, ~@47 d5@22 ~@14 d5@23 ~@32 b4@22 ~@8]/7", // B5 G5 D5 E5 D5
  K: "[~@16 f#4@6 f#4@7 g4@8 a4@18 ~@9 b4@23 b4@8 a4@8 b4@7 ~@2 a4@24 a4@8, ~@6 b4@17 ~@40 [e3,b3]@32 ~@16 [d3,a3]@32 ~, ~@15 [b1,f#2,b2,f#3,b3]@30 ~@17 [e2,b2]@32 ~@16 [d2,a2]@32 ~@2, ~@4 e4@2 ~ d4@2]/6", // E5 D5 B5 E5 D5
  L: "[g4@8 a4@6 ~@2 g4@23 g4@7 f#4@8 e4@7 ~@3 [b3,f#4]@32, ~@7 [c2,g2]@16 ~@8 [b1,f#2]@16 ~, ~@15 [c3,g3]@32 ~@16 [b2,f#3]@32 ~, ~@16 c4@32 ~@13 f#4@3 ~@32]/4", // B5 C5 B5 C5 B5
  M: "[~@16 b4@22 b4@7 a4@7 b4@10 ~@2 a4@22 a4@7 g4@8 ~@11 g4@22 g4@7 f#4@3, ~@7 [e2,b2]@16 ~@8 [d2,a2]@16 ~@8 [c2,g2]@16 ~, ~@15 [e3,b3]@32 ~@16 [d3,a3]@32 ~@16 [c3,g3]@32 ~, ~@16 e4@32 ~@16 d4@32 ~@5 a4@11 c4@32]/6", // E5 D5 C5 E5 D5 C5
  N: "[~@5 e4@7 ~@16 g4@10 f#4@23 ~@11, ~@12 f#4@3 [b2,f#3]@37 ~@20, ~@14 [b1,f#2]@37 ~@21, ~@16 b3@37 ~@19, ~@8 f#4@11 ~@17]/3", // B5
  O: "[~@4 b4@39 ~@5, e2@43 ~@5, ~ b2@42 ~@5, ~@2 e3@41 ~@5, ~@3 [b3,e4]@40 ~@5]/2", // E5
})).s("gm_acoustic_guitar_nylon").gain(0.33)

// other · church organ · "ORGAN CHURCH 2 MT32"
const church_organ_2 = note("<A@2 B@2 C@2 D@3 E F@4 G@2 H@2 I@4 J@3 K L M N@3 O@3 ~@115>".pickRestart({
  A: "[~@19 e5@2 ~@2 e5@8 b5@4 ~@5 b5@3 ~@5]/2", B: "[b5@7 a5@8 b5@8 d5@8 a5@3 ~@6 a5@3 ~@5]/2",
  C: "[a5@7 g5@8 a5@8 c5@8 ~ g5@3 ~@5 g5@2 ~@6]/2", D: "[g5@8 f#5@8 e5@7 f#5@16 g5@8 f#5@21 ~@4]/3",
  E: "e5@8 b5@4 ~@4 b5@3 ~@5", F: "[b5@7 a5@8 b5@8 d5@8 a5@4 ~@4 a5@4 ~@4 a5@9 g5@8 a5@7 c5@8 g5@4 ~@5 g5@4 ~@4]/4",
  G: "[g5@8 f#5@7 e5@8 f#5@16 g5@9]/2", H: "[~ f#5@22 g4@9 d5@3 ~@5 d5@3 ~@5]/2",
  I: "[d5@7 c5@8 b4@8 d5@48 e4@8 b4@3 ~@5 b4@2 ~@7]/4", J: "[b4@7 c5@8 b4@25 c5@7 b4@25]/3",
  K: "g4@8 d5@3 ~@5 d5@3 ~@5", L: "d5@7 c5@9 b4@8", M: "d5@7 e5@8 d5@5 ~@4",
  N: "[d5@16 e5@4 d5@6 e4@6 b4@2 ~@6 b4@3 ~@4 b4@9 a4@8 g4@8]/3", O: "[b4@8 c5@7 ~ b4@33 ~@23]/3",
})).s("gm_church_organ").gain(0.25)

// drums · kick
const kick = s("bd").struct(`<
  ~@81 A B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ C ~@3 D ~@3 D ~@3 D ~@2 E D B F G H I J K L M N O P Q R@2 ~ S ~ R ~ S ~ R ~ S ~
  R ~ S ~@5
>`.pickRestart({
  A: "~@3 x ~@3 x ~@3 x", B: "~ x ~@2", C: "~@4 x ~@2 x ~@16", D: "~@7 x ~@16", E: "~@7 x ~@7 x ~@7 x",
  F: "~ x ~@2 x ~@19", G: "~@3 x ~@18 x ~", H: "~ x ~@10", I: "~ x ~@18 x ~@3", J: "x ~@18 x ~@3 x", K: "~@9 x ~ x",
  L: "~@9 x ~@10 x ~@3", M: "~@15 x ~@3 x ~@4", N: "~@3 x", O: "~@6 x ~@6 x ~@3 x ~@6", P: "~ x ~ x!2 ~",
  Q: "~@11 x ~@3 x ~@8", R: "~@7 x ~@4", S: "~@11 x ~@2 x ~@9",
})).gain(0.3)

// drums · snare
const snare = s("sd").struct(`<
  ~@83 A B ~ C D E ~@2 A B ~ C D E ~ F G F@2 ~ G F H ~ I F J F K ~@2 L M N O P Q R S T U V W X Y Z ~@20
>`.pickRestart({
  A: "x!3 ~@9", B: "~@8 x!2 ~@2", C: "x!4 ~@7 x", D: "x ~@3 x!2 ~@6", E: "~ x ~@2", F: "~@7 x ~@16", G: "~@13 x!4 ~@7",
  H: "~@17 x ~ x ~ x ~ x", I: "~@11 x ~ x ~ x ~ x ~@6", J: "~@17 x ~ x ~ x ~@2", K: "~@15 x ~ x ~@6", L: "~@7 x ~@3 x",
  M: "~@13 x ~@7 x ~@2", N: "~@3 x ~ x", O: "~@11 x ~@3 x ~ x ~ x ~@4", P: "~@10 x ~@6 x ~@6", Q: "~@9 x ~@6 x ~@7",
  R: "~@7 x ~@7 x ~@8", S: "~@3 x ~@3 x ~@4", T: "~@5 x ~@7 x ~@10", U: "~ x ~ x ~@2", V: "~@3 x ~@7 x ~@12",
  W: "~@2 x ~@3 x!2 ~ x ~@14", X: "~ x ~@6 x ~@14 x", Y: "~@7 x ~@14 x ~", Z: "~ x!4 ~@2 x ~@4",
})).gain(0.27)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@82 A ~ B ~ C D ~@2 A ~ B ~ C D ~@9 E ~@3 E ~ F ~@37>".pickRestart({
  A: "~@9 x!3", B: "~@7 x ~@4", C: "~@9 x!2 ~", D: "~ x ~@2", E: "~@5 x ~@2", F: "~@11 x ~ x ~@10",
})).gain(0.17)

// drums · low tom
const low_tom = s("lt").struct("<~@84 A B ~@2 C D A ~ A B ~@2 C D ~@51>".pickRestart({
  A: "x!3 ~@9", B: "~@9 x!3", C: "~@7 x!5", D: "x",
})).gain(0.23)

// drums · hihat
const hihat = s("hh").struct("<~@114 A B C D E F G H I J K L M N O ~@20>".pickRestart({
  A: "~@11 x ~@2 x ~@3 x ~@3 x ~", B: "~@2 x ~@6 x ~@3 x ~@7 x ~@2", C: "~@8 x ~@3 x ~@3 x ~@3 x ~@2 x",
  D: "~@7 x ~@3 x ~@7 x ~@4", E: "~@6 x ~@3 x ~@3 x ~@2 x ~@3 x ~@2", F: "~@5 x ~@3 x ~@6 x ~@7",
  G: "~@4 x ~@2 x ~@3 x ~@3 x ~@3 x ~@4", H: "~@3 x ~@2 x ~@7 x ~@9", I: "~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@6",
  J: "x ~@3 x ~@7 x ~@10 x", K: "~@3 x ~@3 x ~@3 x ~@2 x ~@7 x ~", L: "~@2 x ~@6 x ~@11 x ~@2",
  M: "~ x ~@2 x ~@3 x ~@3 x ~@7 x ~@2 x", N: "~@7 x ~@11 x ~@2 x ~", O: "~ x ~ x ~ x ~@6",
})).gain(0.23)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct("<~@115 A ~ B ~ C ~ D ~ E ~ F ~ G ~@21>".pickRestart({
  A: "~@17 x ~@6", B: "~@5 x ~@2", C: "~ x", D: "~@5 x ~@6", E: "~ x ~", F: "~ x ~@2", G: "~ x ~@6",
})).gain(0.17)

// drums · mid tom
const mid_tom = s("mt").struct("<~@81 A B C ~ D ~@2 E F ~ C ~ D ~@2 E G ~@15 H I ~@5 J K ~@27>".pickRestart({
  A: "~@5 x ~ x ~ x ~ x", B: "~ x ~@2 x ~@19", C: "~@7 x!2 ~ x!2", D: "~@3 x!6 ~@3", E: "x!3 ~@9", F: "~ x!2 ~@3 x!6",
  G: "~ x!2 ~@3 x!3 ~@3", H: "~@11 x ~@3 x ~@3 x ~@3 x", I: "~ x ~@3 x ~@18", J: "~@23 x",
  K: "~ x ~ x ~@6 x ~ x ~ x ~ x ~ x ~ x ~@3",
})).gain(0.27)

// drums · mid tom · soft notes
const mid_tom_soft = s("mt").struct("<~@83 [~@2 x!2] ~@7 [~@2 x!2] ~@57>").gain(0.17)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@116 A B ~ C ~ D ~ E ~ F ~ G ~@2 H I ~@2 H I ~@2 H I ~@2 H I ~@2 J K ~
>`.pickRestart({
  A: "~ x ~@22", B: "~@11 x", C: "~@5 x", D: "~@3 x", E: "~@5 x ~@2", F: "~@13 x ~@10", G: "~@11 x ~@12", H: "~@23 x",
  I: "x!13 ~@11", J: "~@16 x ~ x ~ x!2 ~ x", K: "~ x ~ x ~ x!2 ~ x ~ x ~ x ~ x!2 ~ x ~@6",
// … 34 more lines

More by Nomadi