Strudelify
Io e te per altri giorni cover art

1973 · Parsifal

Io e te per altri giorni

Pooh

KeyD majorTempo130 bpm
0:00/0:00
// Io e te per altri giorni — Pooh
// 130 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 2/4 at bar 19, 4/4 at bar 19, 2/4 at bar 27, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 157 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(130/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@3 F G@2 H@4 I@2 J@4 K@6 L M N@2 ~@11 O@8 P@2 Q@4 R@4 S@8 ~@35 T@8 U@2 V@5 W@5 ~@35
>`.pickRestart({
  A: "~@11 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~ [d4,f#4,b4] ~@2 [d4,f#4,b4] ~", // Bm
  B: "~ [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~", // Bm D
  C: "~ [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,g4,b4] ~@2 [d4,g4,b4] ~@2 [d4,g4,b4] ~@2 [d4,g4,b4] ~@2 [d4,g4,b4] ~", // D G
  D: "~ [d4,g4,b4] ~@2 [d4,g4,b4] ~@2 [d4,g4,b4] ~@2 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2", // G F#
  E: "[[c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~ [d4,f#4,a4] ~@2 [d4,g4,b4] ~@2 [d4,g4,b4] ~@2 [d4,g4,b4] ~@2 [d4,g4,b4] ~@2 [d4,g4,b4] ~@2 [d4,g4,b4], ~@9 d2@47 ~@16]/3", // F# D G
  F: "~@2 [d4,g4,b4] ~@2 [d4,g4,b4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4]", // G F#
  G: "[~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [g2,d4,g4,b4]@40]/2", // F# G
  H: "[~@7 b1@43 ~ f#1 ~@2 [b1,b3,d4,f#4]@22 ~@2 [a#1,a#3,c#4,f#4]@18, ~@7 [b3,d4,f#4]@47 ~@42]/4", // Bm F# Bm
  I: "[~@6 b1@25 ~ b1 ~@2 a1 ~@2 g1 ~@2 f#1@7, ~ [b3,d4,f#4]@7]/2", // Bm
  J: "[~@5 [a3,d4,f#4]@10 ~@2 [g#1,b3,e4,g#4]@22 ~ [a1,a3,c#4,e4]@22 ~@2 [a3,d4,f#4]@18 a1 ~@2 [a#1,a#3,c#4,f#4]@11, ~@4 a1 ~]/4", // D E A D F#
  K: "[~@9 a#1 ~@2 [b1,b3,d4,f#4]@25 ~@2 [b0,b3,d4,f#4]@23 [f#1,a#3,c#4,f#4]@22 ~@2 b1@25 ~@2 b1 ~@2 a1 ~@2 g1 ~@13 [a3,d4,f#4]@11, ~@43 [b3,d4,f#4]@23 ~@6]/6", // Bm F# D Bm
  L: "~ [g#1,b3,e4,g#4]@22 ~", M: "~ [a1,a3,c#4,e4]@22 ~",
  N: "[[a3,d4,f#4]@18 a1 ~@2 [a#1,a#3,f#4]@27, a1@16 ~@5 c#4@25 ~@2]/2", // D D#m
  O: "[~@68 d3@3 ~@54 e3@3 a3@4 ~@3 d4@4 ~@49 a2@4, ~@19 g2@18 g4@3 d3@3 g4@14 g3@7 g4@7 g4@15 a3@14 a2@28 d2@18 a3@3 a4@22 d3@3 a3@4 a4@8 ~@6, ~@19 g4@12 g3@12 g2@28 a2@22 g4@3 e3@4 g4@14 a3@7 g4@7 ~@4 a3@7 d4@17 d2@25 a3@11, ~@22 d3@12 b3@13 d3@14 b3@11 ~@3 e3@14 c#4@14 e3@14 c#4@9 ~@2 d4@7 ~@4 f4@21 d3@4 d4@21 a1@7, ~@22 g3@3 b3@3 d4@19 g3@3 b3@4 d4@18 ~@3 a3@3 c#4@4 e4@21 a3@4 c#4@3 e4@16 ~@6 d3@7 a3@3 d3@11 a3@14 f4@18 ~@7]/8",
  P: "[a3@3 ~@25 a3@4 ~@14 [d3,a3]@2, ~@3 [c#4,e4]@17 ~@5 d3@7 a3@3 d3@7 a4@6, ~@3 a3@7 ~ a3@7 a3@10 ~@4 [d4,f4]@16, ~@7 a2@14 d2@27, ~@14 a4@25 a3@7 ~@2]/2", // D5 C#m Dm
  Q: "[~@65 f3@4 ~@14 c4@3 ~@8 a3@2, ~@2 [c2,e4]@28 a#1@25 g3@31 ~@4 e3@6, ~@5 c3@11 c3@14 ~@3 c3@8 c4@17 ~@4 c3@7 [f3,a3,c4]@3 c3@4 f3@11 a2@9, ~@9 g3@10 g3@4 g4@25 g3@3 g4@35 ~@10, ~@12 c4@14 g3@11 g3@7 c3@13 ~ f2@22 a3@7 ~@9]/4", // C F
  R: "[~@15 a3@3 ~@26 d3@3 ~@36 a3@3 ~@7 a3@3, ~ [c#4,e4]@17 ~ f4@18 a3@10 ~@4 a3@11 d3@13 ~ a1@20, ~ a3@7 a3@7 ~@4 d4@7 a3@7 d3@7 f4@14 d4@11 a3@4 a4@27, ~@5 e3@13 ~ a3@4 d3@7 d4@17 ~@4 d3@7 f4@17 ~@4 a2@7 a3@4 a2@6, ~@12 a1@6 ~ d2@28 d2@25 a3@11 ~@3 [c#4,e4]@10]/4", // C#m
  S: "[~@5 a3@3 ~@25 f3@3 ~@8 g3@3 ~@7 g3@4 g3@3 ~@11 g3@3 ~@15 c4@3 ~@7 a3@4 ~@14 e4@3 ~@8 [a3,c#4]@3 ~@7 a3@4 ~@3 a2@4 [d2,d3,a3,d4,f#4]@28 ~@14, ~ a4@7 a#1@28 c2@25 g3@11 ~@3 [g3,c4]@8 a#2@11 ~@3 a2@7 a3@3 a2@14 ~@4 a2@7 [a3,c#4]@4 a2@10 ~@46, ~@12 a#2@10 a#2@14 ~@4 c3@7 g3@4 c3@14 a#1@21 g3@7 a3@7 ~@4 c#4@7 a3@10 ~ [a3,c#4]@7 ~@3 a4@17 ~@43, ~@15 f3@11 f3@3 d4@7 c4@21 ~ c4@17 e4@18 [c#4,e4]@11 e4@10 c#4@7 ~ e4@21 [a3,c#4,e4]@6 ~@43, ~@19 a#3@17 ~@11 e4@17 ~@4 c3@25 a1@28 ~ a1@29 ~@41]/8", // A D C5 A C#m A
  T: "[b1@43 ~ f#1 ~@2 [b1,b3,d4,f#4]@22 ~@2 [a#1,a#3,c#4,f#4]@22 ~@2 b1@25 ~ b1 ~@2 a1 ~@2 g1 ~@14 [a3,d4,f#4]@10 ~@2 [g#1,b3,e4,g#4]@22 ~ [a1,a3,c#4,e4]@15, [b3,d4,f#4]@47 ~@48 [b3,d4,f#4]@46 ~@51, ~@65 f#1@17 ~@14]/8", // Bm F# D E A Bm
  U: "[~@9 [a3,d4,f#4]@18 a1 ~@2 [a#1,a#3,c#4,f#4]@18, ~@9 a1@16 ~@23]/2", // D F#
  V: "[~@2 a#1 ~@2 [b1,b3,d4,f#4]@25 ~@2 [b0,b3,d4,f#4]@23 [f#1,a#3,c#4,f#4]@22 ~@2 b1@25 ~@2 b1 ~@2 a1 ~@2 g1 ~@7, ~@79 [b3,d4,f#4]@41]/5", // Bm F# Bm
  W: "[~@6 [a3,d4,f#4]@11 ~ [g#1,b3,e4,g#4]@22 ~@2 [a1,a3,c#4,e4]@22 ~ [a3,d4,f#4]@18 a1 ~@2 [a#1,a#3,f#4]@27 ~@7, ~@65 a1@16 ~@5 c#4@25 ~@9]/5", // D E A D D#m
})).s("gm_piano").gain(0.19).pan(0.7)

// bass · fretless bass
const bass = note(`<
  ~@8 A B@2 ~@19 C@8 D@3 E@6 ~@8 F@3 G@8 H I@8 J@4 K L@4 M@4 N@2 O P Q@8 R S T ~@18 U@8 V@2 W X Y@7 Z@8 AA@8 ~
>`.pickRestart({
  A: "~@8 g1 ~@2 a1@3 ~@3 b1@3 ~@2 c#2@2", B: "[~@4 d2@4 ~@2 e2@4 ~@2 f#2@3 ~@3 g2@6 ~@3 b2 ~@16]/2",
  C: "[b1@7 ~@2 b1@3 b2@5 b1@4 ~@2 a1@8 ~ a1@3 d2@5 ~ d2@6 g1@12 g2@6 g1@4 ~@2 f#1@7 ~ f#1@3 f#2@6 f#1@6 b1@12 ~@6 b1@6 a1@7 ~@2 a1@3 d2@5 ~ d2@6 g1@8 g1@3 g2@6 g1@4 ~@2 f#1@9 f#1 ~@2 f#2@3 f#1@4 f#2@4 ~ d2@3, ~@106 b2@11 ~@75]/8",
  D: "[~@6 d2@3 a2@8 d2@2 ~ d2@7 ~@2 d2@3 g2@5 ~ d2@5 ~ g1@7 ~@2 g1@3 d2@6 g1@4 ~@2 f#1@4]/3",
  E: "[~@5 f#1@3 c#2@5 f#1@6 g1@47 ~@34 a3@3 a#3@4 a3@20 ~@17, ~@71 a1@53 ~@20]/6", F: "[~@19 d2@53]/3",
  G: "[~@4 a1@28 a#1@28 c2@29 a#1@28 ~@29 a2@28 d2@14 d3@4, ~@39 a1@19 ~@6]/8", H: "~@7 d2@3 d2@13 d3",
  I: "[~@2 a2@3 d2@6 g2@19 d2@6 ~ f#2@15 d2@3 f#2@6 ~@16 e3@4 ~@3 e3@3 e2@12 e3@4 b2@3 e2@6 a2@19 e2@6 f#2@13 f#1@3 c#2@3 f#2@6 d#2@13 b2@9 d#2@3 ~ d#2@4, ~@31 e2@11 ~@54]/8",
  J: "[~@2 f#1@6 b1@6 f#1@7 e1@12 ~@7 e1@4 ~@2 e1@12 e2@3 ~ b1@3 e1@6 a1@16 e2@3 a2@6, ~@33 e2@13 ~@50]/4",
  K: "g2@16 e2@3 g2@5", L: "[~ d2@13 d3@9 d2@3 ~ d2@12 d3@3 a2@3 d2@6 ~ g2@19 d2@6 f#2@16 d2@3]/4",
  M: "[f#2@6 ~@16 e3@4 ~@2 e3@3 e2@13 e3@3 b2@3 e2@6 a2@19 e2@6 f#2@13 f#1@2, ~@3 e2@11 ~@34]/4",
  N: "[~ c#2@3 f#2@6 ~ d#2@12 b2@9 ~ d#2@3 d#2@6 f#1@6]/2", O: "b1@6 ~ f#1@6 e1@11",
  P: "~@4 e1@2 ~ e1@5, ~@2 e2@13 ~@9",
  Q: "[~@3 e2@3 b1@3 e1@6 a1@16 e2@3 a2@6 g2@16 e2@3 g2@6 ~ d2@15 a1@3 d2@6 ~ d#2@16 b1@3 d#2@6 e2@17 ~@2 e2@6 ~@22 a1@2 ~@11 a2@6 ~@3 a2@5 ~ b1, ~@141 a1@19 ~@6 a1@12 ~@4 a1@9 ~, ~@154 a2@13 ~@25]/8",
  R: "~@3 c#2@2 ~@4 d2@2 ~@4 e2 ~@5 f#2 ~@2", S: "~@3 g2 ~@5 a2 ~@5 b2@6 ~@3", T: "b2 ~@23",
  U: "[~@17 d2@12 d3@8 d2@3 d2@12 d3@3 a2@3 d2@6 g2@18 d2@6 f#2@14 d2@3 f#2@6 ~@15 e3@4 ~@2 e3@3 e2@12 e3@3 b2@3 e2@6 a2@17 e2@6 f#2@10, ~@37 e2@7 ~@20]/8",
  V: "[~@2 f#1@3 c#2@3 f#2@6 d#2@12 b2@8 d#2@3 d#2@6 f#1@5]/2", W: "~ b1@6 f#1@6 e1@11",
  X: "~@7 e1@4 ~@2 e1@11, ~ e2@12 ~@11",
  Y: "[~ e2@2 b1@3 e1@6 a1@15 e2@3 a2@6 g2@15 e2@3 g2@6 d2@14 a1@3 d2@6 d#2@15 b1@3 d#2@6 e2@16 ~@2 e2@6 ~@20 a1@2 ~@10 a2@5, ~@131 a1@18 ~@5 a1@12 ~@2, ~@71 a2@6 ~@7]/7",
  Z: "[~@4 a2@5 ~ b1@23 a1@24 g1@47 b1@23 ~ a1@24 g1@40, ~ a1@8 ~@183]/8",
  AA: "[~@7 b1@23 ~ a1@23 g1@47 b1@23 ~ a1@24 g1@43]/8",
})).s("gm_fretless_bass").gain(0.35)

// other · string ensemble 1
const string_ensemble_1 = note(`<
  ~@15 A@2 ~@2 B@3 ~@2 C@2 ~@2 D@2 ~@7 E@8 F@2 ~@21 G H@3 ~ I J@8 ~ K L@3 ~ M@2 N O P@8 ~@7 Q ~@3 R S@2 ~@2 T@2 ~@2 U@2
  ~@2 V@4 ~ W@4 X@2 Y@6 ~@16
>`.pickRestart({
  A: "[~@8 [b1,b3]@2 ~ a1@2 ~ [g1,g3]@2 ~ [f#1,f#3]@13 ~@18, ~@11 a3 ~@36]/2", // B G F#
  B: "[~@10 [d2,d4] ~@2 [c#2,c#4]@18 ~@2 [c#2,c#4] ~@2 [b1,b3]@27 ~@9]/3", // D C# B
  C: "[~@17 [b1,b3]@2 ~ a1@2 ~ g1@2 ~ [f#1,f#3]@13 ~@9, ~@20 a3 ~@2 g3 ~@24]/2", // B F#
  D: "[~@18 [d2,d4] ~@2 [c#2,c#4]@25 ~@2]/2", // D C#
  E: "[~@62 e6@6 f#6@18 d6@6 ~@23 b5@52 c#6@25, ~@21 d6@43 ~@28 c#6@25 ~@75]/8", F: "[~@4 e6@31 ~@13]/2",
  G: "~@19 a4@5", H: "[~ b4@6 d5@6 ~ g5@51 ~@7]/3", I: "~@3 g5", J: "[~@7 f#5@25 g5@6 a5@6 ~ b5@50 a5@97]/8",
  K: "~@11 a4@6 b4@6 ~", L: "[d5@2 g5@17 ~@5]/3", M: "[~@11 g5@12 f#5@25]/2", N: "g5@7 a5@6 b5@6 a5@5",
  O: "~ g5@3 f#5@3 g5@5", P: "[~@3 f#5@12 e5@38 f#5@6 g5@7 f#5@37 g5@7 a5@6 g5@19 b4@6 c#5@50 ~]/8",
  Q: "~ [b1,b3]@2 ~ a1@2 ~ [g1,g3]@2 ~ [f#1,f#3]@13 ~, ~@4 a3 ~@19", R: "~@3 [d2,d4] ~@2 [c#2,c#4]@18",
  S: "[~@2 [c#2,c#4] ~@2 [b1,b3]@27 ~@16]/2", // C# B
  T: "[~@10 [b1,b3]@2 ~ a1@2 ~ g1@2 ~ [f#1,f#3]@13 ~@16, ~@13 a3 ~@2 g3 ~@31]/2", // B F#
  U: "[~@11 [d2,d4] ~@2 [c#2,c#4]@25 ~@9]/2", V: "[~@22 a4@5 b4@6 d5@6 g5@48 ~@9]/4",
  W: "[~@14 g5@12 f#5@23 g5@6 a5@6 b5@6 a5@6 g5@6 f#5@6 g5@11]/4", X: "[~ e5@3, ~ f#5@13 ~@34]/2",
  Y: "[f#5@6 g5@6 f#5@35 g5@6 a5@6 g5@18 b4@6 c#5@47 ~@14]/6",
})).s("gm_string_ensemble_1").gain(0.28).pan(0.2)

// other · brass section
const brass_section = note(`<
  A B C D E F G@3 H@2 ~@88 I@2 J K ~@19 L@2 M@2 N@2 O@2 ~@10 P Q R S@4 T U V W X Y Z AA AB ~
>`.pickRestart({
  A: "~@11 [b3,b4]@4 ~@7 [f#4,f#5]@2", B: "~@4 [e4,e5]@2 ~ [f#4,f#5]@4 ~@13",
  C: "~@10 [d4,d5]@4 ~@2 [e4,e5]@2 ~ [f#4,f#5]@3 ~@2", D: "~ [d4,d5]@5 ~@4 [c#4,c#5]@3 ~@2 [d4,d5]@2 ~ [e4,e5]@3 ~@3",
  E: "[c#4,c#5]@3 ~@6 [d4,d5]@4 ~@8 [f#4,f#5]@3", F: "~@3 [e4,e5]@2 ~ [f#4,f#5]@4 ~@14",
  G: "[~@8 [d4,d5]@4 ~@2 [e4,e5]@2 ~ [f#4,f#5]@3 ~@3 [d4,d5]@3 ~@6 [c#4,c#5]@3 ~@3 [d4,d5]@2 ~ [e4,e5]@3 ~@3 [c#4,c#5]@5 ~@4 [b3,b4]@3 [c#4,c#5]@3 ~@3 [d4,d5]@3 ~@2 [e4,e5]@2]/3", // D E F# D C# D E C# …
  H: "[~@4 [f#4,f#5]@3 ~@3 [g4,g5]@3 ~@3 [a4,a5]@3 ~@3 b4@7 ~@2 [d5,d6]@5 ~@12, ~@22 b5@5 ~@21]/2", // F# G A D
  I: "[~@23 [b3,b4]@3 ~ [c#4,c#5]@3 ~@3 [d4,d5]@3 ~@3 [e4,e5]@3 ~@3 [f#4,f#5]@3]/2", // B C# D E F#
  J: "~@3 [g4,g5]@3 ~@3 [a4,a5]@3 ~@3 b4@7 ~@2, ~@15 b5@5 ~@4", K: "[d5,d6]@5 ~@19",
  L: "[~@5 [f#4,f#5]@4 ~ e4@2 ~ [f#4,f#5]@24 ~@3 [b3,b4]@8, ~@10 e5 ~@37]/2", // F# B
  M: "[~@4 [g4,g5]@4 ~@2 f#5@2 ~ [g4,g5]@27 ~@8, ~@10 f#4 ~@37]/2", // G
  N: "[~@3 [g4,g5]@4 ~@2 f#4@2 ~ [g4,g5]@26 ~@10, ~@9 f#5 ~@38]/2", // G
  O: "[~@2 [a4,a5]@5 ~ [g4,g5]@2 ~ [f#4,f#5]@26 ~@11]/2", P: "~@10 [b3,b4]@3 [c#4,c#5]@3 ~@3 [d4,d5]@3 ~@2",
  Q: "~ [e4,e5]@3 ~@2 [f#4,f#5]@3 ~@3 [g4,g5]@2 ~@4 [a4,a5]@3 ~@3", R: "[b4,b5] ~ [d5,d6]@2 [c#4,c#5] ~ [d4,d5] ~",
  S: "[[e4,e5]@3 ~@3 [f#4,f#5]@3 ~@3 [g4,g5]@2 ~@4 [a4,a5]@3 ~@2 [b4,b5]@3 ~@3 [d5,d6]@6 [c#4,c#5]@3 ~@3 [d4,d5]@3 ~@3 [e4,e5]@3 ~@3 [f#4,f#5]@3 ~@3 [g4,g5]@2 ~@4 [a4,a5]@3 ~@3 [b4,b5]@3 ~@3 [d5,d6]@6 [c#4,c#5]@3 ~@2 [d4,d5]@3 ~@3 [e4,e5]@2]/4", // E F# G A B D C# D …
  T: "~@4 [f#4,f#5]@3 ~@3 [g4,g5]@2 ~@4 [a4,a5]@3 ~@3 [b4,b5]@2", // F# G A B
  U: "~@4 [d5,d6]@6 [c#4,c#5]@3 ~@3 [d4,d5]@3 ~@3 [e4,e5]@2", // D C# D E
  V: "~@4 [f#4,f#5]@3 ~@2 [g4,g5]@2 ~@4 [a4,a5]@3 ~@3 [b4,b5]@3", W: "~ [d5,d6]@2 [c#4,c#5] ~ [d4,d5] ~ [e4,e5]",
  X: "~@3 [f#4,f#5]@3 ~@3 [g4,g5]@2 ~@4 [a4,a5]@3 ~@3 [b4,b5]@3", // F# G A B
  Y: "~@2 [d5,d6]@6 [c#4,c#5]@3 ~@3 [d4,d5]@3 ~@3 [e4,e5]@3 ~", // D C# D E
  Z: "~@2 [f#4,f#5]@3 ~@3 [g4,g5]@2 ~@4 [a4,a5]@3 ~@3 [b4,b5]@3 ~", // F# G A B
  AA: "~@2 [d5,d6]@6 [c#4,c#5]@3 ~@3 [d4,d5]@3 ~@2 [e4,e5]@3 ~@2", // D C# D E
  AB: "~ [f#4,f#5]@3 ~@3 [g4,g5]@2 ~@4 [a4,a5]@3 ~@3 [b4,b5]@3 ~@2", // F# G A B
})).s("gm_brass_section").gain(0.37)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  A@8 B@3 ~@19 C@7 D@7 ~@11 E@5 F@5 G@8 H@7 I@4 J@4 K@6 L@8 ~@19 M@8 N@6 O@6 P@8 Q@8
>`.pickRestart({
  A: "[~@11 [b2,b5]@23 [a2,a5]@24 [g2,b5]@24 [f#2,a#5]@23 [d2,a5]@47 [g2,b5]@24 [f#2,a#5]@16]/8", // B A G F# D5 G F#
  B: "[~@8 [g2,b5]@47 ~@17]/3", // G
  C: "[[b2,b4]@23 [a2,a4]@23 ~ [g2,g4]@24 [f#2,f#3,a#3,a#4]@23 [b2,b4]@24 [a2,a4]@24 [g2,g4]@23 [f#2,f#3,c#4,a#4]@3, f#4, b3@71 ~@23 b3@71 ~@3]/7", // B A G F# B A G F#
  D: "[~@21 [d3,f#4]@47 ~@24 [f#2,f#3,c#4,f#4]@23 [g2,g3,d4,g4,d5]@48 ~@5, ~@21 [d4,d5]@71 ~@76, ~@21 d2@42 ~@5 [g2,g3,g4]@24 ~@76, ~@45 c#5@13 ~@26]/7", // D F#5 G5 D G
  E: "[~@19 [d1,d2,d3,d4]@57 [a1,a2,c#3,e4]@28 [d2,d3,d4]@16, ~@19 a3@85 ~@16]/5", // D A D
  F: "[~@12 c4@22 d4@7 c4@21 d4@7 e4@21 f4@8 e4@21 f#4, ~@4 [c3,f3]@19 ~@17, ~@12 c2@28 ~ [a#1,a#2]@28 [a1,a2,a3]@51]/5", // F5 A# A
  G: "[~@5 [d2,d3,a4]@54 [g2,g3,g4,g5]@26 [f#2,a3,f#4,f#5]@25 e4@18 ~ b4@6 d4@25 [a2,c#4]@25 [f#2,b3,b4,f#5]@7, ~@5 d5@104 ~ e5@76 ~@6, ~@55 [e2,g5]@25 c#5@16, ~@135 a4@50 ~@7]/8", // D5 G F#m A B5 Em
  H: "[~@6 [a#3,a#4]@12 g5@13 f#5@18 ~ a5@6 g5@6 f#5@6 ~ [e3,e4]@25 [d3,d4]@25 d5@13 ~@31 e5@5, ~@18 b4@101 [a3,c#4,a4]@49, ~@18 d#5@51 e5@88 f#5@8 ~@3, ~@18 [b2,b3]@38 [d#3,d#4]@13 g5@50 ~@13 c#5@32 ~@4]/7", // A# E D A B D#
  I: "[~ [d2,d3,a4]@51 [g2,g3,g4,g5]@25 [f#2,a3,f#4,f#5]@19, ~ d5@95]/4", // D5 G F#m
  J: "[~@6 e4@18 ~ b4@6 d4@25 [a2,c#4]@25 [b3,b4]@13 [a#3,a#4]@2, ~@3 e5@38 ~@7, ~@3 [e2,g5]@25 c#5@20, ~@31 a4@50 [f#2,f#5]@15]/4", // A B A# Em F#
  K: "[~@11 g5@12 f#5@18 ~ a5@6 g5@7 f#5@6 [e3,e4]@25 [d3,d4]@25 d5@13 c#5@20, ~@11 b4@101 ~@32, ~@11 d#5@50 g5@50 [a3,c#4,a4]@33, ~@11 [b2,b3]@37 [d#3,d#4]@13 e5@83]/6", // E D A B D#
  L: "[~@11 e5@6 ~ [d3,d4,d5]@25 [d#3,d#4,d#5]@25 [e3,e4,b4,e5]@25 [d4,d5]@13 [c#4,c#5]@12 [b3,b4]@13 [c#4,c#5]@12 b5@49, ~@5 f#5@8 ~@5 a4@50 ~@25 [a2,a3,a4]@51 ~@48]/8", // D D# E5 D C# B C# A
  M: "[~@17 [d2,d3,a4]@47 [g2,g3,g4,g5]@24 [f#2,a3,f#4,f#5]@23 e4@17 ~ b4@6 d4@24 [a2,c#4]@23 [f#2,b3,b4,f#5]@10, ~@17 d5@94 e5@71 ~@10, ~@111 [e2,g5]@47 ~ c#5@33, ~@135 a4@47 ~@10]/8", // D5 G F#m A B5 Em
  N: "[~@2 [a#3,a#4]@12 g5@12 f#5@17 a5@6 g5@6 f#5@6 [e3,e4]@24 [d3,d4]@23 d5@12 c#5@24, ~@14 b4@95 ~@35, ~@14 d#5@47 g5@47 [a3,c#4,a4]@36, ~@14 [b2,b3]@35 [d#3,d#4]@12 e5@83]/6", // A# E D A B D#
  O: "[f#5@6 e5@6 [d3,d4,d5]@23 [d#3,d#4,d#5]@24 [e3,e4,b4,e5]@23 ~ [d4,d5]@11 [c#4,c#5]@12 [b3,b4]@12 [c#4,c#5]@12 [b1,b2,b3]@14, ~@12 a4@47 ~@24 [a2,a3,a4]@47 ~@14]/6", // D D# E5 D C# B C# B …
  P: "[~@9 [a1,a2,a3,c#4]@24 [g1,g2,b3,d4]@47 [b1,b2,b3]@23 ~ [a1,a2,a3,c#4]@24 [g1,g2,b3,d4]@47 [b1,b2,b3]@17]/8", // A G B A G B
  Q: "[~@7 [a1,a2,a3,c#4]@23 [g1,g2,b3,d4]@47 [b1,b2,b3]@23 ~ [a1,a2,a3,c#4]@24 [g1,g2,b3,d4]@47 ~@20]/8", // A G B A G
})).s("gm_string_ensemble_2").gain(0.21).pan(0.6)

// chords · harpsichord
const harpsichord = note(`<
  ~@10 A B C D E F G H I J K C L M F N O P Q R ~@16 S@5 T@4 U@4 V@7 ~@36 C W X Y Z AA AB AC AD AE AF F AG AH AI AJ AK AL
  AM AN ~@35
>`.pickRestart({
  A: "~@7 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~", // Bm
  B: "~ [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~ [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2", // Bm
  C: "[d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2", // Bm
  D: "[d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2", // Bm F#
  E: "[c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [d4,f#4,b4] ~ [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4]", // F# Bm
  F: "~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4]", // Bm
  G: "~@2 [d4,f#4,b4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2 [e4,g#4,b4]", // Bm D E
  H: "~ [e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2 [c#4,e4,a4] ~@2 [c#4,e4,a4] ~@2 [c#4,e4,a4] ~", // E A
  I: "~ [c#4,e4,a4] ~@2 [c#4,e4,a4] ~@2 [c#4,e4,a4] ~@2 [c#4,e4,a4] ~@2 [c#4,e4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~", // A D
  J: "~ [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2", // D F#
  K: "[c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2", // F# Bm
  L: "[d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~ [d4,f#4,b4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4]", // Bm F#
  M: "~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4]", // F# Bm
  N: "~@2 [d4,f#4,a4] ~ [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~", // D
  O: "~ [e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2 [e4,g#4,b4] ~", // E
  P: "~ [c#4,e4,a4] ~@2 [c#4,e4,a4] ~@2 [c#4,e4,a4] ~@2 [c#4,e4,a4] ~@2 [c#4,e4,a4] ~@2 [c#4,e4,a4] ~@2 [c#4,e4,a4] ~ [c#4,e4,a4] ~@2", // A
  Q: "[d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [c#4,f#4,a#4] ~@2", // D F#
  R: "[c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2", // F#
  S: "[~@8 a4@4 ~@3 d5@4 ~@53 a4@3 ~@25 a4@4 ~@14 [d4,a4]@2, ~@8 d3@18 a4@3 a5@22 d4@3 a4@4 a5@8 ~@9 a4@7 ~ a4@3 a5@25 a4@3 a5@6, ~@8 d5@7 ~@4 f5@21 d4@4 d5@17 a4@11 ~@3 [c#5,e5]@15 a4@10 ~@4 [d5,f5]@16, ~@12 d4@7 a4@3 d4@11 a4@14 f5@18 ~@3 a3@11 a3@14 ~@4 d4@7 a4@3 d4@11 ~@2, ~@12 a4@7 d5@17 d3@29 a2@28 d3@27]/5", // D5 C#m Dm
  T: "[~@65 f4@4 ~@14 c5@3 ~@8 a4@2, ~@2 [c3,e5]@28 a#2@25 g4@31 ~@4 e4@6, ~@5 c4@11 c4@14 ~@3 c4@8 c5@17 ~@4 c4@7 [f4,a4,c5]@3 c4@4 f4@11 a3@9, ~@9 g4@10 g4@4 g5@25 g4@3 g5@35 ~@10, ~@12 c5@14 g4@11 g4@7 c4@13 ~ f3@22 a4@7 ~@9]/4", // C F
  U: "[~@15 a4@3 ~@26 d4@3 ~@36 a4@3 ~@7 a4@3, ~ [c#5,e5]@17 ~ f5@18 a4@10 ~@4 a4@11 d4@13 ~ a2@20, ~ a4@7 a4@7 ~@4 d5@7 a4@7 d4@7 f5@14 d5@11 a4@4 a5@27, ~@5 e4@13 ~ a4@4 d4@7 d5@17 ~@4 d4@7 f5@17 ~@4 a3@7 a4@4 a3@6, ~@12 a2@6 ~ d3@28 d3@25 a4@11 ~@3 [c#5,e5]@10]/4", // C#m
  V: "[~@5 a4@3 ~@25 f4@3 ~@8 g4@3 ~@7 g4@4 g4@3 ~@11 g4@3 ~@15 c5@3 ~@7 a4@4 ~@14 e5@2 a4 ~@8 [a4,c#5]@3 ~@7 a4@4 ~@3 a3@4 ~@18, ~ a5@7 a#2@28 c3@25 g4@11 ~@3 [g4,c5]@8 a#3@11 ~@3 a3@7 a4@3 a3@14 ~@4 a3@7 [a4,c#5]@4 a3@10 ~@22, ~@12 a#3@10 a#3@14 ~@4 c4@7 g4@4 c4@14 a#2@21 g4@7 a4@7 ~@4 c#5@7 a4@9 ~@2 [a4,c#5]@7 ~@3 a5@18 ~@18, ~@15 f4@11 f4@3 d5@7 c5@21 ~ c5@17 e5@18 [c#5,e5]@11 e5@10 c#5@7 ~ e5@21 [a4,c#5,e5]@7 ~@18, ~@19 a#4@17 ~@11 e5@17 ~@4 c4@25 a2@28 ~ a2@29 ~@17]/7", // A C5 A C#m A
  W: "[d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~ [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4]", // Bm
  X: "~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [c#4,f#4,a#4]", // Bm F#
  Y: "~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [d4,f#4,b4]", // F# Bm
  Z: "~@2 [d4,f#4,b4] ~ [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~", // Bm
  AA: "~ [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,a4] ~", // Bm D
  AB: "~ [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2 [e4,g#4,b4] ~ [e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2", // D E
  AC: "[e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2 [c#4,e4,a4] ~@2 [c#4,e4,a4] ~@2 [c#4,e4,a4] ~@2 [c#4,e4,a4] ~@2 [c#4,e4,a4] ~@2", // E A
  AD: "[c#4,e4,a4] ~@2 [c#4,e4,a4] ~@2 [c#4,e4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2", // A D
  AE: "[d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4]", // D F#
  AF: "~@2 [c#4,f#4,a#4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4]", // F# Bm
  AG: "~@2 [d4,f#4,b4] ~ [d4,f#4,b4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~", // Bm F#
  AH: "~ [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~", // F# Bm
  AI: "~ [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 [d4,f#4,a4] ~ [d4,f#4,a4] ~@2", // Bm D
  AJ: "[d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2", // D E
  AK: "[e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2 [e4,g#4,b4] ~@2 [c#4,e4,a4] ~@2 [c#4,e4,a4] ~@2", // E A
  AL: "[c#4,e4,a4] ~@2 [c#4,e4,a4] ~@2 [c#4,e4,a4] ~@2 [c#4,e4,a4] ~@2 [c#4,e4,a4] ~ [c#4,e4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4]", // A D
  AM: "~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4]", // D F#
  AN: "~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@9", // F#
})).s("gm_harpsichord").gain(0.2).pan(0.3)

// other · french horn
const french_horn = note(`<
  ~@80 A@2 B@8 C@2 ~ D@3 E@4 ~@21 F@6 G@3 H I@2 ~ J K@6 ~ L M@2 ~ N O P ~ Q R S ~ T U ~
>`.pickRestart({
  A: "[~ d4@38 a3@9]/2",
  B: "[~@4 b3@25 c#4@12 d4@12 ~ g4@25 f#4@12 ~ d4@12 e4@25 f#4@25 ~@13 f#4@6 ~ g4@6 a4@5 ~ c5@6]/8",
  C: "[b4@6 ~ a4@6 b4@25 ~@10]/2", D: "[~@4 c#4@6 d4@6 e4@6 ~ g4@6 f#4@6 e4@6 ~ f#4@18 g4@6 ~ a4@5]/3",
  E: "[~ c5@6 b4@6 ~ a4@6 g4@19 b3@6 d4@13 c#4@12 d4@12 ~ e4@10 ~@3]/4",
  F: "[~@17 d4@35 a3@12 b3@24 c#4@11 d4@12 g4@24 f#4@9]/6", G: "[~@3 d4@12 e4@23 f#4@23 ~@11]/3",
  H: "~@2 f#4@6 g4@5 a4@5 ~ c5@5", I: "[~ b4@6 a4@6 b4@23 ~@12]/2", J: "c#4@6 d4@6 e4@5 ~ g4@6",
  K: "[f#4@6 e4@5 ~ f#4@17 g4@6 a4@6 c5@6 b4@5 ~ a4@5 ~ g4@18 b3@5 ~ d4@11 c#4@11 ~ d4@11 ~ e4@9 ~@17]/6",
  L: "~@4 c#4 ~ d4 ~", M: "[e4@3 ~@3 f#4@3 ~@3 g4@3 ~@3 a4@3 ~@2 b4@3 ~@3 d5@6 ~@13]/2",
  N: "~@11 c#4@3 ~@2 d4@3 ~@3 e4@2", O: "~@4 f#4@3 ~@3 g4@3 ~@3 a4@3 ~@3 b4@2", P: "~@2 d5@3 ~@7",
  Q: "~@3 c#4 ~ d4 ~ e4", R: "~ f#4 ~ g4 ~ a4 ~ b4", S: "~ d5@3 ~@8", T: "~@8 c#4@3 ~@3 d4@3 ~@2 e4@3 ~@2",
  U: "~ f#4@3 ~@3 g4@3 ~@3 a4@3 ~@3 b4@3 ~@2",
})).s("gm_french_horn").gain(0.16).pan(1)
// … 206 more lines

More by Pooh