Strudelify

When I Fall In Love

Celine Dion

KeyE majorTempo79 bpm
0:00/0:00
// When I Fall In Love — Celine Dion
// 79 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 79 bars on a 48-step grid, each part at one level. Source detail keeps the original performance.
setcpm(79/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 B C D E F G H I@4 J@4 K@3 L@2 M N@2 O@2 P@3 Q@2 R S@4 T@6 U Q@2 R V@3 M N@2 O@2 W@3 Q@2 R X@4 Y@6 U Q@2 R Z@5
>`.pickRestart({
  A: "~@17 b3@7 ~@18 a3@5 ~, g#4@25 ~@5 c4@17 ~, e2@3 ~@5, ~@6 b2@12 ~@6 d3@19 ~@5, ~@11 e3@10 ~@3 [f#3,e4]@24", // F#7
  B: "~@9 b3@3 b3@3 ~@6 b3 ~@2, b4@26 ~@4 f3@13 ~@5, g#2@18 ~@6 g4@12 g#4@11 ~, ~@2 d#3@4 ~@2 c#3@7 ~, ~@3 g#3@8 ~",
  C: "~@7 f#4, g#4@22 ~ c#4@22 ~@3, [c#4,e4]@2 f#3@3 g#4 c#3@2, a3@3 c#3@6 b3@14 ~, ~ f#2@42 ~@5", // C#m
  D: "~@18 c4@5 f#3 ~@18 f#3 ~@5, [f2,e4]@17 ~@7 g#4@12 g4@12, [a3,c4]@12 [e3,a3]@11 d#4@25, ~@6 c3@10 ~@7 b2@21 ~@4, ~@15 a3@7 ~@2", // Fmaj7 Am A5
  E: "~@9 e4@2 ~@7 a3@3 g#4@3, e2@6 [e3,b3]@5 f#3 a4@3 f#3@6 ~@3, ~@6 b2@10 ~@6 c3@21 ~@5, ~@23 c4@25, ~@23 a3@7 d#4@18", // E5
  F: "~@17 g#3@6 ~@13 [d#3,g#4]@7 f#4@5, e2@43 ~@5, e4@10 c4@5 ~, ~@6 b2@17 a3@24 ~, ~@6 e3@7 ~@11", // G#5
  G: "~@42 g#4@5 ~, ~ e2@17 e4@27 ~@3, ~@6 b2@18 g#2@23 ~, ~@6 b3@17 ~, ~@12 e3@12 a4@5 b2@7 e3@12",
  H: "~@2 f#3 a3 d#3 ~ d#3 d#4, [f#2,c#4]@23 ~ [f2,c4]@21 ~@3, [a3,e4] f#4@3, ~@6 c#3@18 ~@6 c3@11 ~@7", // F#5 F5 A5
  I: "[~@12 [e3,b3]@6 e4@4 ~@20 b4@6 ~@30 g#3@6 b3@6 g#3@3 ~@39 f#3@6 ~@24 a3@6 ~@18 a4@6, e2@15 ~@9 f#4@23 ~ a4@36 g#4@12 ~@6 c#3@12 a3@12 c#3@17 e3 c4@12 e3@18 c3@7 e3@11, b3@10 ~@13 [d3,d4]@25 c#3@45 ~@3 f#2@42 a3@12 c3@18 c4@24, ~@6 b2@10 ~@6 b2@7 f#3@15 ~@4 f4@12 b3@12 f4@13 ~@11 f#4@84 g#4@6 ~@6, ~@24 b3 c#5@11 b3@17 g#3@13 c#4@42 f#3@12 c#4@22 f#2@44 ~@6]/4", // E5 D
  J: "[~@18 g#3@6 e3@6 g#3@6 ~@6 g#3@3 ~@3 f#3@6 ~@9 a4 ~@2 c5 ~@2 e5@2 ~ g#5@2 ~ b5@3 a#5@2 ~ a5@2 ~ g#5@3 f#5 ~@3 e5@2 ~ d#5 ~@2 e5@5 ~@12 e4@5 ~@19 d4@5 ~@13 d6@3 c#6@2 ~ c6 ~@2 b5@2 ~@2 a5 ~@2 f5 ~@2 g#5 ~@2 f5 ~ [b3,a4]@4 a#5@2 b4@3 g#5@2 ~, b4@47 c4@19 f#3@6 e3@24 g#2@25 ~@5 f#3@13 ~@11 g#3@12 f4@6 f#4@24, g#2@43 ~@3 a2@44 e4@18 b3@22 ~@2 b3@11 ~ f4@9 f5 g#5 b5 b3@18 g#3@12 ~@6, f#4@23 ~ e4@54 f#3@18 ~@6 e3@17 ~ [d3,f#4]@17 ~@7 c#3@43 ~@5, ~@6 e3@6 b3@24 e3@12 g#4@6 e3@6 f#4@24 c4@11 ~ b4@84 b5@3 ~@3 a5@2 ~@4]/4", // B7 D
  K: "[~@20 c#4 ~@9 f#3@6 ~ c#3@5 c#4@5 ~ b3@6 ~@6 [b3,g#4]@6 ~@9 c#5@2 ~ c5@2 ~ b4@2 ~ [a4,a#4]@3 a4@3 b4@4 ~@3 f#4 ~@18 b4@4 ~@12 f#3@6 a4@3 c#5@2 g5, f#2@42 ~@6 c4@2 ~@4 f3@30 g#3@7 ~@5 a4@5 c#3@19 [f#2,c#5]@19 ~@5, e4@23 ~ [c#3,c#4,e4]@10 ~@13 c#3@44 ~@4 f#2@12 f#3@19 c#3@12 ~@6, c#5@18 f#4@4 ~@2 f#4@25 ~@19 f4 g#4@9 f4@16 ~@2 e4@48, f#5@5 c#3@7 f#3@13 ~@11 a3@5 ~ f#3@2 ~@4 [e4,a4]@12 ~@6 g#3@4 b4 d5 b3@18 g#4 ~@5 c#5@17 a4@22 ~@9]/3", // E A#maj7 F#5 C#m A5
  L: "[a3@4 b5@2 ~@4 g#5 ~@2 b5@3 ~@2 g#5@2 ~@2 g5@2 ~@4 b5@2 ~@4 g5 ~ a3@6 d#3 g5@2 ~@21 b3@5 ~@2 a3@5 f#3@6 a3@6 g#4@4 f#4 ~, b4@50 ~@10 e3@10 ~ d#3@19 ~@6, b2@30 d#3@6 b5@3 ~@8 g#5@2 ~ e5@20 ~@2 d#4@22 ~@2, g#4@12 a3@6 b3@31 ~@5 b2@10 ~@8 a4@17 ~@7, g#5@3 ~@3 f#3@18 g4@24 e2@16 ~@32]/2",
  M: "~@6 b2@6 ~@6 g#3@5 ~ f#3@13 c4@11, e4 a3, e2@12 e3@13 ~@23",
  N: "[~@36 b2@6 g#4@6 ~@12 e3@6 c#4@5 ~ d#3@6 ~@11 d#4@7, ~@7 b2@18 ~@5 e3@24 c#3@17 ~@7 c3@6 d#3@11 ~, ~@12 b3@36 c#4@7 a3@5 f#4@36, ~@12 e3@12 [g#2,a4]@23 ~ f#2@20 ~@3 f2@23 ~@2, ~@9 e4@14 ~ e4@12 c4@11 ~]/2", // Amaj7
  O: "[~@12 [e3,b3]@6 e4@4 g#3 ~@19 b4@6 ~@12 b3@6 ~@6 b3@4 ~@2 b3@6 ~@6 b3@6, e2@15 ~@8 b3@7 g#3@18 ~@6 g#3@13 ~@17 [g#3,g#4]@10 ~@2, b3@11 ~@12 f#4@25 a4@35 ~@13, ~@6 b2@10 ~@6 d3@21 ~@5 [c#3,f4]@46 ~@2, ~@4 c#5@2 b3@3 ~@2 f3@4 ~]/2", // E5 G# C#
  P: "[f#2 f#3@5 f#3@5 ~@4 a4@2 c#5 ~@2 e5@2 g#5 ~@2 b5@2 ~@6 b5@3 ~ e4@2 a#5@2 a5 ~ g#5@2 ~ [d5,e5] ~ f#5@3 ~@4 c#5@2 ~@3 b3@5 ~ c#5@2 ~ a4 ~@2 [g#4,b4]@3 ~@5 f#4 ~@7 f#4 ~@2 f#4@2 e4 ~ d#4 ~@6 e3@6 ~@6 e4@5 ~ e3@6 g#3@6 e3@6 g#3@6, f#4@12 [f#3,c#4]@12 d4@12 ~ a3@8 ~ b2@22 ~@4 a2@18 [d#3,g#4]@4 g#2@48 ~@2, ~ f#2@38 ~@3 d4@4 ~ d#4@7 f#3@14 ~@4 f#3@5 a4 d#3@6 g#4 f#3@10 ~ f#4@12 g#3@13 ~@23, ~@6 a3@18 d3@5 b5 f#3@17 a3 c#4@11 d#5@2 ~@4 c#4@7 d#4@23 ~ b3@22 ~@2 [b3,e4]@18 ~@6, ~@6 f#4@18 ~ g#4@3 a4@4 b4@14 ~@2]/3", // Dsus2 G#m F#5 G#5 E5
  Q: "[~@6 e3@6 ~@6 e3@6 ~@18 a4@4 ~@2 b3@6 ~@12 g#3@7 ~@11 b3@6 g#3@2 ~@4, a2@36 [a3,c#4]@10 g#3@4 ~@4 f3@19 c#3@11 c#5@12, [d#4,b4,d#5]@12 c#5@31 ~@5 f4@48, ~@12 a4@18 e3@12 ~@6 c#5@11 ~ b4@36, ~@12 a3@12 c#3@18 ~@4 c#3@15 b3@17 f3@14 ~@4]/2", // A G#m
  R: "~@2 a3 c#4 ~@3 e4, a4, f#2@3 ~ a2@2 f#3@2, ~@6 c#3@13 ~@5 c4@22 ~@2, ~@2 f#3@3 e3@3",
  S: "[~@6 e3@6 ~@6 e3@6 ~@18 c#3@4 ~@2 c#4@6 ~@8 c#5 ~@3 e5@2 g#5 f#3@3 a3@6 b5@3 ~@3 a3@6 c4@3 ~@3 g5 ~@17 b3@5 ~@13 f#3@5 g#4@6 ~ e3@6 ~@12 f#4@2 ~ g#4@2 ~ b4@2 ~ e5 ~@2 f#5@2 ~ e5 ~@2 b5@3 a#5@2 ~@2 f#3@2 ~ e5 ~, b3@48 ~@6 a3@15 ~@3 b5@3 ~@3 d#3@13 ~@2 a#5@3 b3@6 b2@14 ~@4 [d#3,a4]@19 ~@11 b2@9 e4@9 f#3@12 d#3@6 d#4@6, g#2@23 ~ a4@12 g#4@12 e4@11 a4 c#4@8 ~@4 c4@12 b5@11 f#5 e3 e5@11 e3@11 ~ [c4,d#4]@23 b3@24 d#3@7 c4@18, ~@12 e4@13 c#3@13 ~@8 f#2@18 ~@2 e4@6 [d#4,f#4]@23 ~ g#4@25 ~@5 a3@12 ~@5 e4@13 e3@9 ~@2 a2@19 a5@2 ~@4, ~@30 f3@15 ~@2 e3@20 ~@2 b2@22 ~@3 g#5@2 [e2,e4]@21 ~@27 e2@18 g#3@6 a3@24]/4", // D#dim Cm D#m E
  T: "[~@42 g#4@4 g#2 ~@7 a3@6 ~@13 d#4@2 g#4@2 ~ a4@2 ~ c5@2 ~ d#5@2 ~ g5@3 ~@3 f5 f#5 f5 [b2,d#5] ~@11 [e3,b3,e4]@6 b3@5 g#3 [f3,b3]@5 ~ b3@2 ~@4 d4 ~@2 g#4@2 ~ b4@6 ~@18 c#4@6 b3@6 ~@6 g#4@6 b3@5 ~@16 a5 b5@2 e6@3 d#6@2 ~@2 d6@2 c#6@2 ~@2 a5@2 g#5 ~@2 f#5@2 ~ e5 ~@2 a3@6 ~ a3@2 ~@13 d#5 ~@2 b5@3 a#5 ~@2 a5 ~@2 g#5 ~@2 f#5 ~@2 d#5 ~@2 b4 ~@2 d#5 ~@2 b4 ~@3 a4, e4@12 b3@37 ~@5 f#4@58 ~@2 e4@11 g#3@19 a4@30 c#4@30 a3@18 d3@6 f#3@12 ~@6 f#3@6 a3@6 b3@29 ~, ~ e2@17 e4@25 ~@3 f#2@14 e3@6 a3@6 [d#3,f3,g4]@6 c3@6 d#3@10 ~@2 e2@15 ~@20 b3@18 ~ f3@24 g#3@6 b3@3 ~@15 f#3@10 c#6 ~ c#4@5 ~ d4@20 ~@4 d#4@23 ~ [d#4,g#4]@12 [f#4,a4]@11 ~, ~ g#5@11 e3@13 ~@5 e3@24 c#3@17 f2@19 d#4@6 ~ e5@11 ~@12 c#5@17 ~ g#4@2 ~@4 f4@45 ~@2 f#4@71 ~@2 f#3@6 d#3@7 f#3@9 ~@2, ~ [e3,b3]@5 b2@17 ~ [g#2,a4]@12 b2@11 ~ [c#4,e4]@24 c4@23 b3@7 b2@10 ~@7 d3@21 ~@4 c#3@12 b3 c#3@29 ~@5 f#2@43 ~@6 [b2,c#4]@19 ~@5 a2@18 d#3@6]/6", // B E5 Fdim D# G#5 F#m E5 Amaj7 …
  U: "~@6 e3@6 ~@6 e4@5 ~ e3@6 g#3@6 e3@6 g#3@6, b4@7 ~, b3@11 ~ [b3,e4]@9 ~@3, ~@12 g#3@13 ~@23", // E5
  V: "[~@6 e3@6 ~@6 e3@6 ~@18 c#3@4 ~@2 c#4@6 ~@8 c#5 ~@3 e5@2 g#5 f#3@3 a3@6 b5@3 ~@3 a3@6 c4@3 ~@3 g5 ~@17 b3@5 ~@2 a3@5 f#3@6 a3@6 g#4@4 f#4 ~, b3@48 ~@6 a3@15 ~@3 b5@3 ~@3 d#3@13 ~@2 a#5@3 ~@6 b2@6 e3@10 ~ d#3@19 ~@6, g#2@23 ~ a4@12 g#4@12 e4@11 a4 c#4@8 ~@4 c4@12 b5@11 f#5@2 ~ e5@20 ~@2 a4@17 ~@7, ~@12 e4@13 c#3@13 ~@8 f#2@18 ~@2 e4@6 [d#4,f#4]@23 ~ e4@21 ~@3 d#4@22 ~@2, ~@30 f3@15 ~@2 e3@20 ~@2 b2@22 ~@3 g#5@2 e2@16 ~@32]/3", // D#m
  W: "[f#2 f#3@5 f#3@5 ~@4 a4@2 c#5 ~@2 e5@2 g#5 ~@2 b5@2 ~@6 b5@3 ~ e4@2 a#5@2 a5 ~ g#5@2 ~ [d5,e5] ~ f#5@3 ~@4 c#5@2 ~@3 b3@5 ~ c#5@2 ~ a4 ~@2 [g#4,b4]@3 ~@5 f#4 ~@7 f#4 ~@2 f#4@2 ~@2 d#4 ~@6 e3@6 ~@6 e4@5 ~ e3@6 g#3@6 e3@6 g#3@6, f#4@12 [f#3,c#4]@12 d4@12 ~ a3@8 ~ b2@22 ~@4 a2@18 [d#3,g#4]@3 e4@2 ~ f#4@12 g#3@13 ~@23, ~ f#2@38 ~@3 d4@4 ~ d#4@7 f#3@14 ~@4 f#3@5 a4 d#3@6 g#4 f#3@9 g#2@48 ~@2, ~@6 a3@18 d3@5 b5 f#3@17 a3 c#4@11 d#5@2 ~@4 c#4@7 d#4@23 ~ b3@22 ~@2 [b3,e4]@18 ~@6, ~@6 f#4@18 ~ g#4@3 a4@4 b4@14 ~@2]/3", // Dsus2 G#m F#5 G#5 E5
  X: "[~@6 e3@6 ~@6 e3@6 ~@18 c#3@4 ~@2 c#4@6 ~@8 c#5 ~@3 e5@2 g#5 f#3@3 a3@6 b5@3 ~@3 a3@6 c4@3 ~@3 g5 ~@17 b3@5 ~@13 f#3@5 g#4@6 ~ e3@6 ~@12 f#4 ~@2 g#4 ~@2 b4@2 ~ e5 ~@2 f#5@2 ~ e5 ~@2 b5@3 a#5@2 ~@2 f#3@2 ~ e5 ~, b3@48 ~@6 a3@15 ~@3 b5@3 ~@3 d#3@13 ~@2 a#5@3 b3@6 b2@14 ~@4 [d#3,a4]@19 ~@11 b2@9 e4@9 f#3@12 d#3@6 d#4@6, g#2@23 ~ a4@12 g#4@12 e4@11 a4 c#4@8 ~@4 c4@12 b5@11 f#5 e3 e5@11 e3@11 ~ [c4,d#4]@23 b3@24 d#3@7 c4@18, ~@12 e4@13 c#3@13 ~@8 f#2@18 ~@2 e4@6 [d#4,f#4]@23 ~ g#4@25 ~@5 a3@12 ~@5 e4@13 e3@9 ~@2 a2@19 a5@2 ~@4, ~@30 f3@15 ~@2 e3@20 ~@2 b2@22 ~@3 g#5@2 [e2,e4]@21 ~@27 e2@18 g#3@6 a3@24]/4", // D#dim Cm D#m E
  Y: "[~@42 g#4@4 g#2 ~@7 a3@6 ~@13 d#4@2 g#4@2 ~ a4@2 ~ c5@2 ~ d#5@2 ~ g5@3 ~@3 f5 f#5 f5 [b2,d#5] ~@11 [e3,b3,e4]@6 b3@5 g#3 [f3,b3]@5 ~ b3@2 ~@4 d4 ~@2 g#4@2 ~ b4@6 ~@18 c#4@6 b3@6 ~@6 g#4@6 b3@5 ~@16 a5 c#6@2 e6@3 d#6@2 ~@2 d6@2 c#6@2 ~@2 a5@2 g#5 ~@2 f#5@2 ~ e5 ~@2 a3@6 ~ a3@2 ~@13 d#5 ~@2 b5@3 a#5 ~@2 a5 ~@2 g#5 ~@2 f#5 ~@2 d#5 ~@2 b4 ~@2 d#5 ~@2 b4 ~@3 a4, e4@12 b3@37 ~@5 f#4@58 ~@2 e4@11 g#3@19 a4@30 c#4@30 a3@18 d3@6 f#3@12 ~@6 f#3@6 a3@6 b3@29 ~, ~ e2@17 e4@25 ~@3 f#2@14 e3@6 a3@6 [d#3,f3,g4]@6 c3@6 d#3@10 ~@2 e2@15 ~@20 b3@18 ~ f3@24 g#3@6 b3@3 ~@15 f#3@10 b5 ~ c#4@5 ~ d4@20 ~@4 d#4@23 ~ [d#4,g#4]@12 [f#4,a4]@11 ~, ~ g#5@11 e3@13 ~@5 e3@24 c#3@17 f2@19 d#4@6 ~ e5@11 ~@12 c#5@17 ~ g#4@2 ~@4 f4@45 ~@2 f#4@71 ~@2 f#3@6 d#3@7 f#3@9 ~@2, ~ [e3,b3]@5 b2@17 ~ [g#2,a4]@12 b2@11 ~ [c#4,e4]@24 c4@23 b3@7 b2@10 ~@7 d3@21 ~@4 c#3@12 b3 c#3@29 ~@5 f#2@43 ~@6 [b2,c#4]@19 ~@5 a2@18 d#3@6]/6", // B E5 Fdim D# G#5 F#m E5 Amaj7 …
  Z: "[~@6 e3@6 ~@6 e3@6 ~@18 c#3@4 ~@2 c#4@6 ~@8 c#5 ~@3 e5@2 g#5 f#3@3 a3@6 b5@3 ~@3 a3@6 c4@3 ~@3 g5 ~@37 a3@6 g#4@8 ~@26 g#3@10 ~@56, b3@48 ~@6 a3@15 ~@3 b5@3 ~@3 d#3@13 ~@2 a#5@3 ~@23 c4@30 ~@15 e3@23 ~@53, g#2@23 ~ a4@12 g#4@12 e4@11 a4 c#4@8 ~@4 c4@12 b5@11 f#5@2 ~@5 b2@10 ~@2 e4@5 a3@8 d#4@21 ~ e4@47 ~@44, ~@12 e4@13 c#3@13 ~@8 f#2@18 ~@2 e4@6 [d#4,f#4]@23 ~ [e2,e4]@18 ~@4 f#3@2 a4@7 f#3@14 ~@15 b2@27 ~@57, ~@30 f3@15 ~@2 e3@20 ~@2 b2@22 ~@3 g#5@2 ~@12 [e3,b3]@10 c3@24 ~@6 e2@68 ~@24]/5", // D#m E E5
})).s("gm_piano").gain(0.45)

// bass · acoustic bass · "Bass"
const bass = note(`<
  ~@4 A B C D E F G H I J@2 K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH@2 AI AJ X Y Z AA AB AC P Q R S T U V
  W X Y Z AA AB AC AD AE AF AG AH@2 AI AJ X Y Z AA AB AC AK AL@2
>`.pickRestart({
  A: "~ e3@15 ~@2 e3@4 ~@2 e3@22 ~@2", B: "e3@15 ~@3 e3@2 ~@4 e3@22 ~@2", C: "e3@15 ~@3 e3@6 g#2@15 ~@3 g#2@4 ~@2",
  D: "f#2@18 f#3@6 f3@17 ~@2 f2@5", E: "~@2 e2@12 e3@10 ~ d3@15 ~@2 d3@6", F: "~ c#3@25 ~@4 c#4@6 g#3@6 c#3@6",
  G: "f#3@18 f#2@3 ~@4 f#2@21 ~@2", H: "f#3@18 f#2@3 ~@3 f#2@18 ~ f#2@5", I: "g#2@15 ~@3 g#2@2 ~@4 g#2@19 g#3@5",
  J: "[a2@16 ~@2 a3@11 ~@2 a3@14 ~ e3 c3@2 e3@14 ~@3 e3@6 d3@13 ~@5 d3@6, ~@45 f#3@2 ~@49]/2",
  K: "c#3@7 ~@3 c#3@2 c#4@2 g#3@2", L: "f#3@15 ~@3 f#2@2 ~@5 f#2@15 ~@3 f#2@5", M: "~ c#3@14 ~@4 c#3@3 ~@2 c#3@24",
  N: "f#3@15 ~@3 f#3@3 ~@3 f#3@15 ~@3 f#3@5 ~", O: "b2@17 ~@13 b3@10 f#3@3 d#3@2 b2@3",
  P: "~ e3@15 ~@2 e3@4 ~@2 e3@16 ~@2 e3@4 ~@2", Q: "e3@23 ~ e3@5 ~ e3@9 ~@3 e3@2 ~@4",
  R: "e3@15 ~@3 e3@5 ~ g#2@11 ~ g#3@12", S: "~ f#3@16 ~ f#2@5 ~ f2@11 ~ f3@12", T: "e3@14 ~@4 e3@6 d3@15 ~@3 d3@6",
  U: "c#3@15 ~@3 c#3@4 ~@2 c#3@16 ~@2 c#3@6", V: "f#2@7 ~@2 f#2@2 ~ f#2@7 ~@2 f#2@3",
  W: "~ b2@14 ~@3 b2@6 a2@16 ~@2 a2@5 ~", X: "g#2@16 ~@2 g#2@3 ~@3 g#2@6 ~ e3@11 g#2@5 ~",
  Y: "a2@16 ~@3 a2@2 ~@3 a2@17 ~ b2@3 c3@3", Z: "~ c#3@14 ~@3 c#3@3 ~@3 c#3@23 ~",
  AA: "f#2@14 ~@4 f#2@6 a2@14 ~@5 a2@5", AB: "~ g#2@15 ~@2 g#2@6 c#3@23 ~", AC: "f#2 f#3 b2@2",
  AD: "~ e3@14 ~@3 e3@2 ~@4 e3@23 ~", AE: "e3@15 ~@4 e3@2 ~@3 e3@17 ~ e3@4 ~@2",
  AF: "e3@15 ~@3 e3@5 ~ g#2@16 ~@2 g#2@5 ~", AG: "f#2@17 ~ f#3@6 f3@17 ~ f2@6",
  AH: "[e2@11 ~ e3@12 d3@11 b2@11 ~ c#3@15 ~@3 c#3@3 ~@3 c#3@17 ~@2 c#3@4 ~@2]/2", AI: "f#2@8 ~ f#2@2 ~ f#2@8 ~ f#2@3",
  AJ: "~ b2@15 ~@2 b2@6 a2@16 ~@2 a2@5 ~", AK: "~ e3@15 ~@2 e3@4 ~@2 e3@24",
  AL: "[~@4 e3@21 ~@5 e3@2 ~@8 e3@38 ~@18]/2",
})).s("gm_acoustic_bass").gain(0.64)

// chords · string ensemble 2 · "Strings"
const string_ensemble_2 = note("<A@8 B@6 C@2 D@4 E@2 F@5 G@7 H@2 I@6 J@6 K@2 F@5 G@7 H@2 I@6 J@6 L M ~>".pickRestart({
  A: "[[b2,e3,b3]@21 ~@15 f#4@11 g#2 b3@11 ~ b3@9 ~@3 c#2@11 ~@6 g#2@6 f#2 ~@18 b3@5 ~@12 f#2@12 [f2,e4]@23 ~@2 g#4@11 g4@12 ~ e2@2 ~@15 e3@5 ~@13 c4@11 ~@19 b3@5 ~@7 d#4@6 [f#3,b4]@6 a4@6 ~@41 g#4@6 f#2 ~@24 f2 d#3@12 c3@6 [d#3,a3]@5 ~, e4@47 d#3@19 ~@5 [f3,b3]@20 ~@4 a3@7 c#3@41 f3@22 ~ b2@2 b2@24 b2@17 ~@5 [d#3,a3]@24 ~ e3@23 d#3@13 ~@12 e3@71 ~@26, g#4@25 d2@23 a4 ~@22 [c#3,g4]@13 c#3@8 ~@4 f#2@23 c#4@23 ~ c4@18 ~@6 d#4@24 e4@22 ~@25 b3@17 ~@7 c4@25 e4@43 ~@4 c#4@25 [c4,d#4]@20 ~@5, e2@22 d2 a2@18 ~@6 d#4@45 ~@3 c#4@13 f#3@23 a3@35 ~@2 a3@19 ~@5 g#3@21 ~@8 f#3@14 ~@4 g#3@11 ~ g#3@12 a3@19 ~@6 e2@23 a4 g#2@22 e4@7 a3@6 f#4@37, ~@23 [d3,c4]@25 [g#2,b4]@25 ~@10 g#4@60 ~@49 e3@2 e2@45 ~ e2@46 ~ g#2@14 b3@34 f#2@25 f2@24]/8", // E5 Fmaj7 B5 D#dim Fdim D#dim C#dim Cm …
  B: "[e2 ~@10 e3@9 ~@2 d3 ~ b3@5 g#3@6 ~@6 b4@6 ~@12 g#3@6 ~@19 c#3@11 f#2 c#3@2 ~@10 a3@12 b3@11 ~@7 f#2@2 ~@5 f#3@10 ~@7 c#3@4 ~@2 a2@5 g#2@7 ~@5 a4@7 g#2 ~@23 e3@9 ~@2 g#2 g#2@5 g#2@6 ~@12 f#3@16 ~@8 g#4@6 a4@7, e4@23 c#5@18 ~@6 f4@48 f#4@48 ~@12 e4@38 g#2@34 ~@12 g#4@12 f#4@25 ~@12, [b2,g#3]@16 ~@6 g#3@2 d3@23 a4@36 g#4@13 ~@44 f#2@26 b4@14 f#2@12 [f#4,b4]@13 e4@35 a2@48, ~ e2@23 ~@5 f#4@19 c#3@36 ~@17 c#3@41 e3@14 e3@59 ~@12 e3@25 ~@17 f#3@19, ~@35 b3@25 ~@5 b3@24 ~@6 a3@11 ~@25 c#4@11 ~ c4@47 ~@2 b3@45 ~@2 c4@49]/6", // E B5
  C: "[f#4@12 e4@11 ~ d3@11 d3@11 c#3 ~@13 f3@10 ~ f#3@12 ~@6 f3@4 ~@2 f#2, b4@47 c#3@49, g#2@34 ~@12 f3@13 ~@11 f#4@13 ~@13, e3 ~@22 d4@21 ~@2 b3@48 ~@2, ~@24 f#3@22 f4@25 ~@12 [g#3,g#4]@13]/2", // G#
  D: "[~ f#3@17 ~@18 [f#2,a3]@11 ~ c3 ~@34 f3@6 ~@24 f#3@6 ~ f#3@11 [f#3,f#4]@12 [b2,a3,d#4,g#4]@2 a3@13 ~@10 g4@24, a4@51 c#3@44 f#3@12 a3@12 c#3@16 ~@10 [b2,d#4]@47, c#4@47 b3@40 ~@2 b3@6 a4@40 ~@10 g#4@23 ~@24, a3@18 c#3@30 f3@11 g#4@35 ~ c#4@49 ~@14 a3@26 ~@8, ~ f#2@22 f#3@24 f4@46 f#2@42 ~@57]/4", // F#m F# G#m B
  E: "[~@12 [e3,b3]@11 ~@13 a3@10 ~@11 f#4@7 g#4@4 ~@15 c4@6 ~ d#4@6, e2@16 ~@54 a4@21 ~@5, e3@12 ~@12 f#3@23 [g#3,e4]@19 ~@2 f#3@23 ~@5, ~ b3@9 ~@13 c4@12 d#4@13 ~@21 c4@11 ~@16, ~@6 b2@10 ~@30 e3@20 ~@3 a3@2 ~@6 a3@13 ~@6]/2", // E5 C#m
  F: "[~@24 g#2@17 g#4@6 ~@36 f3@12 ~@8 b2@5 [e3,e4]@9 ~@2 d3 ~@11 b3@10 ~@2 c#3 ~@11 f#4@12 g4@12 ~@6 b3@6 ~@35 f#3@8 f#2@6, ~ b3@47 c#4@24 ~@10 d#4@14 ~@23 d4@24 f4@13 ~@23 g#4@12 a4@49, ~@2 e2@15 e4@25 ~@5 e4@12 f#4@24 ~@12 b3@22 g#3@5 ~@4 g#3@18 c#3@36 [c#3,g#3]@11 f#2@22 [f#2,d3] f#3 f#2@5 d3@11 ~@9, ~@8 b2@10 ~@5 a4@22 ~@3 f#2@19 ~@3 f2@2 f2@21 ~@3 [e2,e3]@14 ~@10 d3@25 ~@46 [f#3,a3]@15 a3@34, ~@13 e3@56 ~@2 [d#3,c4]@22 ~@2 b2@6 ~@18 b3@8 ~@16 b3@38 ~@21 c#4@12 d4@26]/5", // E C#5 D E F#m Cm
  G: "[b2 a3@9 ~@6 a3@7 ~ g#3@11 [a3,a4]@12 ~@23 e4@20 ~@4 [b3,d#4]@13 ~@24 e3@4 ~@6 g#3 ~@14 c#4@23 b3@11 ~@13 c#4@12 c4@24 ~@13 e4@10 ~ [d4,a4]@13 g#4@11 ~@24 [d#4,f#4]@24 ~, ~ b2@44 ~@2 e3@77 ~@17 c#3@44 ~@5 f#2@46 ~@4 g#2@24 ~@23 f#2@16 ~@6 b2@21 ~@6, ~ f#4@10 f#3@10 ~@2 g#4@13 ~@11 b4@47 ~@14 a3@33 ~ f4@49 ~@48 b3@46 ~@2 [a3,c#4]@22 ~@2 [a3,c4]@19 ~@6, ~@10 d#4@25 f#4@13 g#2@45 ~ a2@39 ~@9 [f3,b3]@33 ~@4 f3@6 ~@5 [c#3,a3]@26 ~@46 c#3@26 ~@10 e4@14 ~@24, ~@11 b3@60 ~@36 [c#4,e4]@36 ~@72 e3@30 ~@2 e3@16 f3@23 ~@2 e3@19 f#3@20 ~@9]/7", // A B D5 D#m A Am Fdim F#m …
  H: "[b3 b4@16 ~ e3@5 ~@19 [g#4,g#5]@5 ~@30 d#4@6 b4@7 a4@6, g#3@22 ~ a3@6 c4@18 ~@2 [e4,e5]@46 ~, [e2,b2]@18 ~@7 a4@18 ~@27 [a3,c4]@26, e3@12 ~@5 [e4,e5]@7 a5@12 a3@11 ~ g#3@21 d#3@24 ~@3, ~ b3@23 [d#3,f#3]@22 ~ [e3,b3]@24 ~@25]/2", // G# E E5 Am E D#m E5
  I: "[b3@7 ~@3 a3 ~ b3 ~@4 e4 e5@5 a4 [a4,a5]@17 [g#4,g#5]@6 e4 [e4,e5]@11 f#4 ~@2 d4 ~@20 f3@9 ~@3 e3@6 ~@6 b4@6 [e4,e5]@6 ~@18 [b4,b5]@6 ~@12 c#4@11 ~@49 d4 ~@23 d#4 ~@24 d#3@12 ~@5 a4@5 ~@2, g#4@23 g#2@19 ~@5 f#2@23 ~ [f2,a3]@22 ~@2 [e2,b3]@15 ~@10 [c#5,c#6]@16 ~@8 [a4,a5]@35 [g#4,g#5]@12 [c#4,c#5]@24 d3@16 ~@7 b2@46 ~@4, e3@13 b3@32 ~@2 c#4@13 f#4@35 ~@6 b2@10 ~@8 d3@24 c#3@34 ~ c#4@13 a3@47 ~ a3@12 e4 b3@36, g#3@5 ~@2 g#3@10 ~@6 e3@48 ~@7 c3@13 ~@4 g#3@24 c#4@13 d4@23 ~@11 b3@19 c#3@19 f#3@15 ~@8 f#3@38 ~@11 d#4@12, ~@11 b4@7 e4@24 ~@17 f#5@36 ~@12 [e3,b3]@13 f#3@23 ~ f3@22 ~ f3@24 f#2@39 ~@10 [d#4,d#5]@23 ~ [a3,g#4]@12 f#3@8 ~@4]/6", // A G# E B F E5 C# A …
  J: "[~@22 e4@20 ~@4 [b3,d#4]@13 ~@24 e3@4 ~@6 g#3 ~@14 c#4@23 b3@11 ~@13 c#4@12 c4@24 ~@13 e4@10 ~ [d4,a4]@13 g#4@11 ~@24 [d#4,f#4]@24 ~, g#2@45 ~ a2@39 ~@8 c#3@44 ~@5 f#2@46 ~@4 g#2@22 c#3@26 e3@19 f#3@20 ~@9, ~@59 [c#4,e4]@35 [f3,b3]@33 ~@4 f3@6 ~@5 [c#3,a3]@26 ~@23 b3@46 ~@2 [a3,c#4]@22 ~@2 [a3,c4]@19 ~@6, ~@60 a3@33 ~ f4@49 ~@24 e3@30 ~@2 e3@16 f3@23 ~ f#2@16 ~@6 b2@21 ~@6, ~@125 e4@7 ~@12]/6", // B D5 D#m C#m Fdim F#m A Am
  K: "[~@12 [e3,b3]@11 ~@13 a3@10 ~@11 f#4@7 g#4@4 ~@15 c4@6 ~ d#4@6, e3@12 ~@12 f#3@23 [g#3,e4]@19 ~@2 f#3@23 ~@5, ~ b3@9 ~@13 c4@12 d#4@13 ~@21 c4@11 ~@16, ~@6 b2@10 ~@30 e3@20 ~@3 a3@2 ~@6 a3@13 ~@6, ~@70 a4@21 ~@5]/2", // E5 C#m
  L: "e2@2 ~@15 e3@5 ~@15 c4@11, b2@17 ~@12 f#3@16 ~@3, e3@13 ~@9 [d#3,a3]@26, ~ e2@23", // D#dim
  M: "~ e3@12 ~@3, ~ b3@12 ~@11, ~@3 g#3@14 ~@31",
})).s("gm_string_ensemble_2").gain(0.29)

// other · synth strings 1 · "Strings"
const synth_strings_1 = note(`<
  ~@10 A B C D E@2 F G H I J K L M N O@3 P Q R@2 S T U V W X Y Z AA@2 AB Q R@2 S T AC K L M N O@3 P Q R@2 S T U V W X Y
  Z AD ~ AE Q R@2 S T AF@2 ~
>`.pickRestart({
  A: "~@2 a3 c#4", B: "c4", C: "b3", D: "~ a3@47", E: "[e4@24 d4@23 c#4@49]/2", F: "f#4", G: "f4", H: "e4", I: "d#4",
  J: "b3@18 e4@6 a4@17 g#4@7", K: "e4@17 ~@7", L: "~@2 b3 e4 a4@3 g#4", M: "~ e4@11 f#4@18 ~@18",
  N: "~@11 b3@7 e4@6 c#5@17 b4@7", O: "[a4@36 g#4@11 c#4@24 d4@24 d#4@24 [g#3,g#4]@12 ~ a3@12, ~@131 a4@13]/3",
  P: "[b3,b4]@23 ~@13 b3@10 ~@2, ~@23 e4@25", Q: "[b3,d#5]@12 [a3,c#5]@24 ~ a3@9 ~@2, ~@3 c#4",
  R: "[[a3,c#5]@13 [g#3,b4]@23 [b3,c#5]@11 c#4@26 c4@18 ~@5, ~@47 a4@48 ~]/2", S: "b3@11 e4@12 a4@13 g#4@12",
  T: "e4@12 f#4@11 ~", U: "~@2 [b3,b4] [e4,e5] [a4,a5]@3 [g#4,g#5]", V: "[e4,e5]@47 ~",
  W: "~@11 [b3,b4]@6 ~ e4@6 [a4,a5]@17 ~ g#4@6, ~@17 e5@7 ~@17 g#5@7", X: "[e4,e5]@11 [f#4,f#5]@37",
  Y: "~@11 [b3,b4]@6 [e4,e5]@7 ~ c#5@16 ~ b4@6, ~@24 c#6@17 b5@7", Z: "[a4,a5]@35 [g#4,g#5]@13",
  AA: "[f#4@6 g#4 a4, f#5@49 ~@47]/2", AB: "~@18 b3@5 ~, b4@9 ~@7, ~@23 e4@25", AC: "~@18 e4@6 a4@17 g#4@7",
  AD: "[f#4,f#5]", AE: "~@18 b3@5 ~, ~@23 e4@25", AF: "[e4@13 ~@11]/2",
})).s("gm_synth_strings_1").gain(0.29)

// other · trumpet
const trumpet = note(`<
  A B C D ~ E F G H ~ I J@2 ~@8 K L M N ~@2 O@3 ~ P Q R@2 S T@2 U@2 V W X@2 ~ Y Q Z@2 K L M N ~@2 AA@3 ~ AB Q R@2 S T@2
  AC@2 V W AD@2 ~ P Q ~@4
>`.pickRestart({
  A: "~@15 e4 f#4@2 g#4 a4 ~ b4 ~ d#5 e5@18 c5@5 ~, ~@22 c#5@2 d5 ~@23", B: "~ b4@24 ~@23",
  C: "~@16 g#4 ~@2 a4 ~ c#5 ~ e5 ~ g#5@16 f#5@3 ~ g#5@2 ~", D: "e5@6 ~ c5@5 b4@6 ~@6 g#4@12 ~ g4@11, ~@9 a4@5 ~@10",
  E: "~@15 b3@2 ~ e4@2 ~ g#4@3 ~ a4@3 ~@2 a4@3 ~@2 a4@7 ~ g#4@5", F: "b4 ~",
  G: "~@14 a3@2 ~ e4@2 g#4@2 ~@3 a4@3 ~@2 c5@3 ~ d5@2 ~@3 c5@6 a4@3 ~, ~@8 c#4 ~@15",
  H: "b4@2 ~ g#4@18 ~@27, ~ a4 ~@22", I: "~@15 a3@2 ~ c#4@2 ~ e4@2 ~@2 g#4@3 ~@2 b4@2 ~@4 b4@3 a#4@2 ~ a4@2 ~ g#4@2 ~",
  J: "[a4@10 ~@5 a4 ~ e5 ~@3 g#5@2 ~@2 g5@2 ~ f#5@2 ~ e5 ~@3 c5@2 ~ b4@2 ~ a4 ~ a4 ~@3 g#4@10 ~@39, ~@8 c5 ~@39]/2",
  K: "~@15 b3@3 e4@2 ~ g#4@3 a4@2 ~@4 a4@2 ~@4 a4 ~ a4@4 g#4@6, ~@37 b4@2 ~@9", L: "~ a4@2 ~@45, b4@2 ~",
  M: "~@18 a4@2 ~ c#5@3 ~ c5@3 a4@2 ~ f4 ~@2 f4 ~@2 g4@2 f4@2 ~ d#4@2 ~ c4@2 ~", N: "~ e4@17 ~@30",
  O: "[~@36 b3@2 c#4@2 d#4@2 e4@2 ~ g#4@2 a4@2 ~ b4@16 e4@5 ~ e4@15 ~ e4 f#4 ~ g#4 a4 ~ b4 c#5@2 d#5@11 c#5@19 ~@17, ~@44 f#4@2 ~ b4 ~@96]/3",
  P: "~@6 a3@2 ~ b3@2 ~ c#4@2 ~ e4@2 ~ g#4@2 ~ b4 ~@2 c5@4 b4 ~@2 a4@2 ~ f4 ~@2 a4@3 f4@2 ~ d#4@2 ~ c4@2",
  Q: "~ b3@20 ~@27", R: "[~@43 f#4@2 g#4@2 a4@2 b4@16 e5@6 ~ a5@18 g#5@6, ~@21 e4 ~@26]/2", S: "e5@29 ~@19",
  T: "[~@15 b4@2 ~ e5@2 ~ b4@2 ~@2 a5@3 ~@2 a5@3 ~@3 a5@10 ~ f#5@2 e5@9 f#5@24 ~@14, ~@23 g#5 ~@24]/2",
  U: "[~@11 b3@3 c#4@2 ~ e4@2 ~ g#4@2 ~ b4@3 ~@3 c#5@2 ~@3 c#5@3 ~ b4@2 ~ c#5@2 ~ b4@2 ~ e5@3 ~@2 e5@3 ~ e5@2 ~@2 e5@4 c#5@3 b4@2 ~ c#5@18 b4@4 c#5@4]/2",
  V: "f#4@13 ~@11", W: "~@36 b3@2 c#4@2 d#4@2 e4@2 ~ g#4@2 ~, ~@22 f#4 ~",
  X: "[~@2 b4@16 e4@5 ~ e4@15 ~ e4 f#4@2 g#4 a4 ~ b4 c#5@2 d#5@11 c#5@19 ~@17]/2",
  Y: "~@6 a3@2 ~ b3@2 ~ c#4@2 ~ e4@2 ~ g#4@2 ~ b4 ~@2 c5@4 b4@2 ~ a4@2 ~ f4 ~@2 a4@3 f4@2 ~ d#4@2 ~ c4@2",
  Z: "[~@43 f#4@2 g#4@2 a4@2 ~@47, ~@21 e4 ~@26]/2",
  AA: "[~@36 b3@2 c#4@2 d#4@2 e4@2 ~ g#4@2 a4@2 ~ b4@16 e4@5 ~ e4@15 ~ e4 f#4 ~ g#4 a4@2 b4 c#5@2 d#5@11 c#5@19 ~@17, ~@44 f#4@2 ~ b4 ~@96]/3",
  AB: "~@6 a3@2 ~ b3@2 ~ c#4@2 ~ e4@2 ~ g#4@2 ~ b4 ~@2 c5@4 b4@2 ~ a4@2 ~ f4@2 ~ a4@3 f4@2 ~ d#4@2 ~ c4@2",
  AC: "[~@11 b3@3 c#4@2 ~ e4@2 ~ g#4@2 ~ b4@3 ~@3 c#5@2 ~@3 c#5@3 ~ b4@2 ~ c#5@2 ~ b4@2 ~ e5@3 ~@2 e5@3 ~ e5@2 ~@2 e5@4 c#5@3 b4 ~@2 c#5@18 b4@4 c#5@4]/2",
  AD: "[~@2 b4@16 e4@5 ~ e4@15 ~ e4 f#4 ~ g#4 a4 ~ b4 c#5@2 d#5@11 c#5@19 ~@17]/2",
})).s("gm_trumpet").gain(0.45)

// chords · orchestral harp · "Harp"
const orchestral_harp = note(`<
  A B C D E F G H I J K L M ~@6 N O ~@6 P Q ~@2 R S T@2 ~@10 R S U@2 ~@6 V Q ~@2 R S W@2 ~@10 R S X@2 Y@2
>`.pickRestart({
  A: "~@11 c6, ~@25 d4@10 e5@10 ~@3, ~@14 f#4@5 f#5@3 ~@2, ~@10 a4@3 ~@3, ~@32 c5@7 ~@2 a5@6 ~",
  B: "~@2 b4@2 d#5@2 b5 ~@7 c#6 ~, ~ g#4@14 ~@7 c#5@18 ~@8, ~@30 f5@11 ~@7, ~@18 b5@5 ~",
  C: "~@12 c#5@6 e5@2 ~@2 e6@2 g#6@6 e6@6 ~ e5@2 ~@3 a5 ~@5, f#4@19 ~@2 c#6@3 ~@12 c#6@4 ~@8, ~@6 a4@14 a5@3 ~@25",
  D: "~ e5@5 ~@6 a6@5 ~@2 e5@4 ~ d#6@2 g#6@5 d#5@5 d#6 g6@5 ~ d#5@2 ~@3, [f4,a4]@23 ~@25, ~@6 c5@12 ~@6 [b4,b5]@7 ~@5 [a4,a5]@7 ~@5, ~@9 c6@7 ~@32, ~@11 e6@3 ~@34", // F B A
  E: "~@18 e5@5 ~@7 c5@6 ~@6 a5@3 ~@3, ~ e4@22 ~@13 f#5@10 ~@2, ~@6 g#4@14 ~@4 a4@13 ~@11, ~@12 b4@11 ~ d#5@22 ~@2",
  F: "~@12 e5@6 b5@4 ~@2 [f#5,c6,d#6]@6 ~ d#6 ~@4 c6@6 d#5@2 ~@4, e4@16 ~@7 d#5@6 ~ c5@13 ~@5, ~@6 g#4@11 ~@5 a4@20 ~@6, ~@35 a5@8 ~@5, ~@35 f#5@5 ~@8", // Cdim
  G: "~@18 e5@6 ~@12 e5@6 g#5@5 ~, [e4,g#5] ~@2, ~ b5@17 ~@30, ~@7 g#4@13 ~@4 [g#4,a5]@19 ~@5, ~@12 b4@11 ~@7 b4@12 ~@6", // E Amaj7
  H: "~@6 a4@6 c#5@6 a4@6 f4@4 ~@8 d#5@4 c5@3 a4@3 c5@2, f#4@3 ~ g6@3 ~, ~@28 d#6@15 ~@5, ~@30 c6@13 ~@5, ~@33 a5@10 ~@5",
  I: "~@9 g#5@3 ~@9 b5@2 ~, ~ e4@19 ~@5 [d4,c#6]@18 ~@5, ~@7 g#4@12 ~@17 f5@11 ~, ~@13 b4@12 ~@6 b4@11 ~@6", // Dmaj7
  J: "~@18 d5@6 f5@6 ~@7 g#4@4 ~@2 g#5@5, ~ c#4@39 ~@8, ~@6 g#4@24 a5@13 ~@5, ~@12 b4@29 ~@7",
  K: "~@13 f#6@5 ~@19 f#5@3 ~@3 c#5@4 ~, ~ f#4@24 a6@23, ~@6 a4@37 ~@5, ~@10 a5@8 c#5@5 f#5 c#6@24, ~@10 c#5 c#6@8 ~@4 a5@25",
  L: "~@9 c5@2 ~ [e5,c6,e6]@6 c5@6 e5@3 a6@3 f6 ~@8 e5@3 c5@3 a4@3, ~ f#4@28 ~ e6@14 ~@4, ~@7 a4@24 ~@5 a5@10 ~@2, ~@11 a5@7 ~@6 b6@8 ~ c6@12 ~@3", // C
  M: "~@7 b4@6 e5@6 b4@6 e5 ~@22, ~ g#4@25 ~@22",
  N: "~@33 b4@2 d#5@2 ~@2 g5@2 ~ b5@2 ~ e6@2 ~, ~@24 b3@19 ~@5, ~@27 f#4@16 ~@5, ~@5 a4@2 ~", O: "~ e6@8 ~@39",
  P: "~@24 b3@2 ~@2 a4 b4 ~ f#5@2 a5@2 d#5 b4@2 d#5 a5 ~ b5 c#6 d#5 a5 b5 d#6@2, ~@26 d#4@3 ~@19, ~@27 f#4@2 ~ d#5@2 ~@11 f#5@2 ~@3",
  Q: "~ e6@16 ~@31, g#5 ~@15, ~ b5@3 ~@44",
  R: "~@15 f#6@3 e6@3 c#6@3 a5@3 c6@2 ~ e5@3 c5@2 ~@4 c5@2 ~ e5@3 f#5@2 ~, ~@12 a6@5 ~@19 a4@6 ~@6", S: "g#4 ~@3",
  T: "[~@30 a5@2 ~@2 f#6@2 a6@2 f#6@3 d#6@2 c6 e5@2 ~ g#4@2 e4@16 ~@31, ~@24 b4@5 f#5@3 c6@2 ~@12 b4@2 ~@48, ~@26 d#5@5 ~@2 d#6@2 ~@61]/2",
  U: "[~@30 a5@2 ~@2 f#6@2 a6@2 f#6@3 d#6@2 ~ e5 ~@2 g#4@2 e6@8 ~@39, ~@24 b4@5 f#5@3 c6@2 ~@9 c6@2 ~ b4@2 ~@48, ~@26 d#5@5 ~@2 d#6@2 ~@61]/2",
  V: "~@24 b3@2 ~@2 a4 b4 ~ f#5@2 a5@2 d#5 b4@2 d#5 a5@2 ~ c#6 d#5 a5 b5 d#6@2, ~@26 d#4@3 ~@19, ~@27 f#4@2 ~ d#5@2 ~@9 b5@2 f#5@2 ~@3",
  W: "[~@30 a5@2 ~@2 f#6@2 a6@2 f#6@3 d#6@2 ~ e5@2 ~ g#4@2 e4@16 ~@31, ~@24 b4@5 f#5@3 c6@2 ~@9 c6@2 ~ b4@2 ~@48, ~@26 d#5@5 ~@2 d#6@2 ~@61]/2",
  X: "[~@30 a5@2 ~@2 f#6@2 a6@2 f#6@3 d#6@2 c6 e5@2 ~ g#4@2 ~@17 e5@5 ~@14 f#5@8 a5@3, ~@24 b4@5 f#5@3 c6@2 ~@12 b4@2 ~ e4@22 ~@8 c5@10 ~@7, ~@26 d#5@5 ~@2 d#6@2 ~@19 g#4@14 ~@5 a4@15 ~@8, ~@60 b4@11 ~ d#5@24]/2",
  Y: "[~@21 e5@8 b5@5 ~@6 e6@11 ~@45, ~@4 e4@22 ~@11 e5@11 ~@48, ~@12 g#4@15 ~@7 g#4@35 ~@27, ~@13 b5@5 ~@14, ~@39 g#5@11 ~@46]/2",
})).s("gm_orchestral_harp").gain(0.45).pan(0.7)

// drums · kick
const kick = s("bd").struct(`<
  ~@12 A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A
  B A B A B A B ~@3
>`.pickRestart({
  A: "x ~@2 x!2 ~@3", B: "x ~@2 x ~ x ~ x",
})).gain(0.45)

// drums · rim
const rim = s("rim").struct("<~@12 [~ x ~ x]!64 ~@3>").gain(0.5)

// drums · ride
const ride = s("rd").struct("<~@12 [x!4]!64 ~@3>").gain(0.45)

// drums · crash
const crash = s("cr").struct("<~@48 x ~@30>").gain(0.4)

stack(piano, bass, string_ensemble_2, synth_strings_1, trumpet, orchestral_harp, kick, rim, ride, crash)

More by Celine Dion