Strudelify

Tutto alle tre

Pooh

KeyF majorTempo82 bpm
0:00/0:00
// Tutto alle tre — Pooh
// 82 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 72 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(82/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("<~@13 A B C D E F G H I J K L M N O P@2 Q@8 ~@9 R S@3 T U V W X Y@4 Z AA ~ AB@7 ~@2>".pickRestart({
  A: "~@4 g3 ~@3 [bb3,d4]@4 g3@2 g2@2 ~@2 [c4,f4] ~@3 g2 ~ [c4,f4]@4 a3@2 c4 ~", // Bb F5
  B: "~@4 g3 ~@3 [c4,e4]@4 g3@2 c3@2 ~@2 [c4,e4] ~ g3@2 c3 ~ [c4,e4]@4 g3@2 c3@2", // C
  C: "bb2@2 ~@2 f3@2 ~@2 [bb3,d4]@4 f3@2 bb2@2 ~@2 [a3,c4] ~@3 f2@2 [a3,c4]@4 f3@2 f2@2", // Bb Am
  D: "g2@2 ~@2 g3@2 ~@2 [bb3,d4]@4 g3@2 ~@2 g2 ~ [bb3,d4] ~@3 g2 ~ [bb3,d4]@4 g3@2 g2 ~", // Bb
  E: "bb2 ~@7 [bb3,d4]@4 f3@2 ~@4 c3@2 ~@2 c3 ~ [c4,e4]@4 g3@2 ~@2", // Bb C
  F: "d3 ~@3 a3@2 ~@2 [d4,gb4]@4 a3@2 d3@2 a3 ~ [d4,gb4] ~@3 d3 ~ [d4,gb4]@3 ~ a3@2 ~@2", // D
  G: "~@4 f3@2 ~@2 [bb3,d4]@4 f3@2 bb2 ~@3 [c4,e4] ~@3 c3@2 [c4,e4]@4 g3@2 c3 ~", // Bb C
  H: "[f2,c4,f4]@3 ~ a3@2 c4 ~ [c4,f4]@2 a3@2 c4 ~ [c4,f4] ~@3 [c4,f4]@2 f2 ~ f2@2 [c4,f4]@4 a3@2 ~@2", // F5
  I: "c4@4 a3@3 ~ [c4,f4]@4 a3@2 f2@2 a2@2 [a3,c4,e4] ~ a3@2 a2@2 [a3,c4,e4]@4 a3@2 ~@2, [f2,f4] ~@3, a3@3 ~@29", // F5 Am F
  J: "[bb2,d4,f4]@4 bb3@2 bb2@2 [d4,f4]@4 bb3@2 bb2 ~ d3@2 [a3,d4] ~ a3@2 d3@2 [a3,d4,f4]@4 a3@2 [c3,d3]@2, ~@9 f4 ~@6", // Bb Dm D5 Dm Csus2
  K: "f2@4 f3@2 f2@2 [a3,c4]@4 f3@2 ~@2 c3@2 [g3,c4,e4] ~@5 [g3,c4,e4]@4 ~@2 c3@2, ~@11 c3@3 g3@2", // Am C
  L: "g2@4 ~@2 g2@2 [bb3,d4]@4 g3@2 ~@2 d3@2 [a3,d4,f4] ~ a3@2 d3@2 [a3,d4,f4]@4 a3@2 d3@2, ~@4 g3 ~@11", // Bb Dm
  M: "f2@5 ~ f2@2 [a3,c4,f4]@4 a3@2 f2@2 a2@2 [a3,c4,e4] ~ a3@2 a2@2 [a3,c4,e4]@4 a3@2 a2 ~", // F Am
  N: "bb2@4 bb3@2 bb2@2 [bb3,d4,f4]@4 bb3@2 bb2 ~ d3@2 [a3,d4,f4] ~ a3@2 d3@2 [a3,d4,f4]@4 a3@2 d3 ~", // Bb Dm
  O: "f2@3 ~ f3@2 f2@2 [a3,c4]@4 f3@2 ~@2 c3@2 [g3,c4,e4] ~ g3@2 c3@2 [g3,c4,e4]@4 g3@2 c3@2, ~@4 f3 ~@11", // Am C
  P: "[[bb3,d4]@17 ~@15 d4@22 ~@10, [g2,g3]@13 ~@16 d2@24 ~@11, ~@15 f3@12 ~@5, ~@31 [d3,a3]@23 ~@10]/2", // Bb G D5
  Q: "[~@24 bb3@8 ~@21 g3@4 ~@20 bb3@4 bb3@3 ~ bb3@4 ~@13 a3@4 ~@4 d4@4 d3@4 a3@4 ~@9 d4@4 ~@16 d4@4 ~@8 c4@4 ~@25 a3@4 c4@3 ~@14 a3@4 a3@3 f4 ~ f4@23 ~@11, ~@24 g2@32 ~ g2@16 g2@16 ~@17 a3@9 ~@11 a3@10 ~@3 a3@8 a3@8 ~@4 a3@12 ~ a3@8 ~@4 a3@8 ~@8 [a3,c4]@14 ~@42, ~@24 g3@15 g3@13 ~@9 g3@21 ~@8 d3@24 ~@8 d3@21 d3@12 a2@21 a2@12 a2@20 a2@12 [d3,a3]@24 ~@12, ~@24 d4@12 d4@12 ~ d4@8 d4@24 [d4,g4]@8 ~@9 d4@12 ~@4 [d4,f4]@12 ~@9 d4@16 ~@4 c4@8 ~@4 [c4,e4]@12 ~ [c4,a4]@14 ~@27 d4@23 ~@12, ~@32 bb3@12 bb3@12 ~ bb3@8 bb3@12 ~@17 a3@8 f4@12 ~@21 f4@20 ~@45 e4@20 ~@36]/8", // Am D5 G5 Dm C F
  R: "~@5 g3 ~@3 [bb3,d4]@4 g3@2 g2@2 ~@2 [c4,f4] ~@3 g2 ~ [c4,f4]@4 a3@2 c4", // Bb F5
  S: "[~@5 g3 ~@3 [c4,e4]@4 g3@2 c3@2 ~@2 [c4,e4] ~ g3@2 c3 ~ [c4,e4]@4 g3@2 c3@2 bb2@2 ~@2 f3@2 ~@2 [bb3,d4]@4 f3@2 bb2@2 ~@2 [a3,c4] ~@3 f2@2 [a3,c4]@4 f3@2 f2@2 g2@2 ~@2 g3@2 ~@2 [bb3,d4]@4 g3@2 ~@2 g2 ~ [bb3,d4] ~@3 g2 ~ [bb3,d4]@4 g3@2 g2]/3", // C Bb Am Bb
  T: "~ bb2 ~@7 [bb3,d4]@4 f3@2 ~@4 c3@2 ~@2 c3 ~ [c4,e4]@4 g3@2 ~", // Bb C
  U: "~ d3 ~@3 a3@2 ~@2 [d4,gb4]@4 a3@2 d3@2 a3 ~ [d4,gb4] ~@3 d3 ~ [d4,gb4]@3 ~ a3@2 ~", // D
  V: "~@5 f3@2 ~@2 [bb3,d4]@4 f3@2 bb2 ~@3 [c4,e4] ~@3 c3@2 [c4,e4]@4 g3@2 c3", // Bb C
  W: "~ [f2,c4,f4]@3 ~ a3@2 c4 ~ [c4,f4]@2 a3@2 c4 ~ [c4,f4] ~@3 [c4,f4]@2 f2 ~ f2@2 [c4,f4]@4 a3@2 ~", // F5
  X: "~ a3@3 ~ a3@2 ~@2 [c4,f4]@4 a3@2 f2@2 a2@2 [a3,c4,e4] ~ a3@2 a2@2 [c4,e4]@4 a3@2 ~, ~ [f2,c4,f4]@8 ~@16 a3@2 ~@5", // F5 Am C F5
  Y: "[~ [bb2,d4,f4]@4 bb3@2 bb2@2 [d4,f4]@4 bb3@2 bb2 ~ d3@2 [a3,d4] ~ a3@2 d3@2 [a3,d4,f4]@4 a3@2 [c3,d3]@2 f2@4 f3@2 f2@2 [a3,c4]@4 f3@2 ~@2 c3@2 [g3,c4,e4] ~@5 [g3,c4,e4]@4 ~@2 c3@2 g2@4 ~@2 g2@2 [bb3,d4]@4 g3@2 ~@2 d3@2 [a3,d4,f4] ~ a3@2 d3@2 [a3,d4,f4]@4 a3@2 d3@2 f2@5 ~ f2@2 [a3,c4,f4]@4 a3@2 f2@2 a2@2 [a3,c4,e4] ~ a3@2 a2@2 [a3,c4,e4]@4 a3@2 a2, ~@19 f4@2 ~@34 c3@6 g3@4 ~@8 g3@2 ~@53]/4", // Bb Dm D5 Dm Csus2 Am C Bb …
  Z: "~ bb2@4 bb3@2 bb2@2 [bb3,d4,f4]@4 bb3@2 bb2 ~ d3@2 [a3,d4,f4] ~ a3@2 d3@2 [a3,d4,f4]@4 a3@2 d3", // Bb Dm
  AA: "~ f2@3 ~ f3@2 f2@2 [a3,c4]@4 f3@2 ~@2 [c3,g3,c4,e4]@9 ~@6, ~@9 f3@2 ~@21", // Am C
  AB: "[~@17 bb3@8 ~@21 g3@4 ~@20 bb3@4 ~ bb3@3 ~ bb3@4 ~@12 a3@4 ~@4 d4@4 d3@4 a3@5 ~@8 d4@4 ~@16 d4@4 ~@9 c4@4 ~@24 a3@4 c4@3 ~@14 a3@4 ~@14, ~@17 g2@32 ~ g2@16 g2@16 ~@17 a3@9 ~@12 a3@10 ~@2 a3@8 a3@8 ~@4 a3@12 ~ a3@8 ~@4 a3@8 ~@8 [a3,c4]@14 ~@17, ~@17 g3@15 ~ g3@13 ~@8 g3@21 ~@8 d3@24 ~@9 d3@20 d3@12 a2@21 a2@12 a2@21 a2@12 ~@10, ~@17 d4@12 d4@12 ~ d4@8 d4@25 [d4,g4]@8 ~@8 d4@12 ~@4 [d4,f4]@12 ~@9 d4@16 ~@4 c4@8 ~@5 [c4,e4]@12 [c4,a4]@14 ~@37, ~@25 bb3@12 ~ bb3@12 bb3@8 bb3@12 ~@17 a3@8 f4@12 ~@21 f4@20 ~@45 e4@20 ~@11]/7", // Am G5 Dm C F
})).s("gm_piano").gain(0.22)

// chords · piano · soft notes
const piano_soft = note(`<
  ~@13 A B C D E F ~ G H ~ I J K L M N ~@7 O ~@10 P Q R S T@2 ~ U V@2 W X Y Z AA ~@10
>`.pickRestart({
  A: "~@22 a3 ~@9", B: "~@16 g3 ~@15", C: "~@16 f3 ~@15", D: "~@7 bb3 ~@8", E: "~@14 bb2@2 ~@2 g3 ~ g3 ~@9 c3@2",
  F: "~@20 a3 ~@9 d3 ~", G: "~@4 f4 ~@7 f4 ~@9 a3 ~@7 c4 ~", H: "~@15 a2", I: "~@14 f2 ~@5 g3@2 ~@10",
  J: "~@4 g3@2 ~@8 g2 ~@17", K: "~@20 e4 ~@11", L: "~@20 f4 ~@11", M: "~@14 f2 ~@17", N: "~@29 d4@3",
  O: "~@23 c4@6 ~@3", P: "~@23 a3 ~@8", Q: "~@17 g3 ~@14", R: "~@17 f3 ~@14", S: "~@15 bb3@2 ~@15",
  T: "[~@15 bb2@2 ~@2 g3 ~ g3 ~@9 c3@2 ~@20 a3 ~@9 d3]/2", U: "~@5 f4 ~@7 f4 ~@9 a3 ~@7 c4", V: "[~@31 a2@2 ~@31]/2",
  W: "~@15 f2 ~@5 g3@2 ~@9", X: "~@5 g3@2 ~@8 g2 ~@16", Y: "~@21 e4 ~@10", Z: "~@21 f4 ~@10", AA: "~@15 f2 ~@16",
})).s("gm_piano").gain(0.11)

// bass · electric bass finger
const bass = note(`<
  ~@13 A B C D E F E G H I J K L M N O P Q@8 ~@9 R@2 S@6 T@2 U@3 V W ~ X Y Z AA AB AC AD ~@2
>`.pickRestart({
  A: "g1@5 ~ g1 ~ g1@6 g1@2 f1@5 ~ f1 ~ f1@4 f2@2 f1@2", B: "c2@4 ~@2 c2 ~ c2@7 ~ c2@5 ~ c2@3 ~ c2@5 ~",
  C: "bb1@6 bb1 ~ bb1@7 ~ f1@6 f1@2 f2@6 f1@2", D: "g1@5 ~ g1 ~ g1@6 g2@3 ~ g2@2 g2@2 g1 ~ g2@2 g1@2 g2@2 g1@2",
  E: "bb1@5 ~ bb1 ~ bb1@8 c2@5 ~ c2 ~ c2@5 ~ c2@2", F: "d2@7 ~ d2@5 ~ d2@3 ~ d2@4 d1@2 d2@2 d1@2 a1@2 d1@2",
  G: "f1@4 ~@2 f1 ~ f1@3 ~@3 f1@2 ~@2 f1@2 ~@2 f1 ~ f1@4 ~@4",
  H: "f1@5 ~ f1 ~ f1@4 f2@2 f1@2 a1 ~ a1@2 ~@2 a1 ~ a1@6 a1@2",
  I: "bb1@5 ~ bb1 ~ bb1@5 ~ bb1@2 d2 ~ d2@2 ~@2 d2 ~ d2@2 a1@2 d2@2 f1 ~",
  J: "f1@5 ~ f1 ~ f1@5 ~ f1 ~ c2 ~ c2@3 ~ c2 ~ c2@3 ~ c2@2 f1@2",
  K: "g1@5 ~ g1 ~ g1@4 g2@2 g1 ~ g1 ~ d2@3 ~ d2 ~ d2@2 a1@2 c2@2 a1@2",
  L: "f1@5 ~ f1 ~ f1@4 f2@2 f1 ~ a1 ~ a1@2 ~@2 a1 ~ a1@4 d2 ~ a1 ~",
  M: "bb1@5 ~ bb1 ~ bb1@2 ~@2 d2 ~ bb1 ~ bb1 ~ d2 ~@3 d2 ~ d2@2 a1 ~ c2@2 e1 ~",
  N: "f1@4 ~@2 f1 ~ f1@4 c2 ~ f1 ~ f1@2 c2@3 ~ c2 ~ c2@4 c2@2 f1@2", O: "g1@13 ~@3", P: "d1@15 ~",
  Q: "[~@16 d2@8 g1@12 g1@2 ~@2 g1@13 g2@4 g1@11 ~ g1 ~@3 g1@11 ~ g1@2 ~ a1@2 d2@12 d1 ~@3 d1@14 d1@2 d2@14 ~ d1 ~ d1@5 ~ d1@2 d2@3 ~ d2 ~ d1@2 a1@10 ~@2 a1 ~@4 a1@14 g1@2 a1@10 ~@2 a1 ~@3 a1@12 ~ a1@2 bb1@2 d2@16 d1@16 ~@3]/8",
  R: "[~ g1@5 ~ g1 ~ g1@6 g1@2 f1@5 ~ f1 ~ f1@4 f2@2 f1@2 c2@5 ~ c2 ~ c2@7 ~ c2@5 ~ c2@3 ~ c2@4 ~]/2",
  S: "[~ bb1@6 bb1 ~ bb1@7 ~ f1@6 f1@2 f2@6 f1@2 g1@5 ~ g1 ~ g1@6 g2@3 ~ g2@2 g2@2 g1 ~ g2@2 g1@2 g2@2 g1@2 bb1@5 ~ bb1 ~ bb1@8 c2@5 ~ c2 ~ c2@5 ~ c2@2 d2@7 ~ d2@5 ~ d2@3 ~ d2@4 d1@2 d2@2 d1@2 a1@2 d1@2 bb1@5 ~ bb1 ~ bb1@8 c2@5 ~ c2 ~ c2@5 ~ c2@2 f1@4 ~@2 f1 ~ f1@3 ~@3 f1@2 ~@2 f1@2 ~@2 f1 ~ f1@4 ~@3]/6",
  T: "[~ f1@5 ~ f1 ~ f1@4 f2@2 f1@2 a1 ~ a1@2 ~@2 a1 ~ a1@5 ~ a1@2 bb1@5 ~ bb1 ~ bb1@5 ~ bb1@2 d2 ~ d2@2 ~@2 d2 ~ d2@2 a1@2 d2@2 f1]/2",
  U: "[~ f1@5 ~ f1 ~ f1@5 ~ f1 ~ c2 ~ c2@3 ~ c2 ~ c2@3 ~ c2@2 f1@2 g1@5 ~ g1 ~ g1@4 g2@2 g1 ~ g1 ~ d2@3 ~ d2 ~ d2@2 a1@2 c2@2 a1@2 f1@5 ~ f1 ~ f1@4 f2@2 f1 ~ a1 ~ a1@2 ~@2 a1 ~ a1@4 d2 ~ a1]/3",
  V: "~ bb1@5 ~ bb1 ~ bb1@2 ~@2 d2 ~ bb1 ~ bb1 ~ d2 ~@3 d2 ~ d2@2 a1@2 c2@2 e1",
  W: "~ f1@4 ~@2 f1 ~ f1@4 c2 ~ f1 ~ c2@15", X: "~@9 d2@8 g1@12 g1@2 ~", Y: "~@2 g1@12 g2@4 g1@11 ~ g1 ~",
  Z: "~@2 g1@11 ~@2 g1@2 a1@2 d2@12 d1", AA: "~@3 d1@14 ~ d1@2 d2@12",
  AB: "~@2 d1 ~ d1@5 ~ d1@2 d2@3 ~ d2 ~ d1@2 a1@10 ~@2", AC: "~ a1 ~@3 a1@14 g1@2 a1@10 ~", AD: "~ a1 ~@4 a1@12 ~@14",
})).s("gm_electric_bass_finger").gain(0.33)

// other · string ensemble 2
const string_ensemble_2 = note(`<
  ~@11 A@2 B C D E F G D H I J K L M J K N ~@2 O@2 P@2 Q@2 ~@2 R@2 S@2 T ~ U V W X Y Z AA AB Y AC AD AE AF AG AD AH AI
  ~@2 AJ@2 AK@2 AL@2 ~@2
>`.pickRestart({
  A: "[~@4 e4@4 f4@4 e4@5 ~@3 e4@3 f4@4 g4@4 c5@4 e4@4 f4@4 e4@5 ~@4 e4@4 f4@4 ~@4]/2", B: "bb4 a4", C: "g4",
  D: "d5 c5", E: "[d4,bb4]", F: "f5 e5", G: "d5@31 ~", H: "a4@29 ~@3, f4@13 ~@3",
  I: "~@16 a4@2 ~@2 e4 ~@3 d4@4 db4@3 ~", J: "bb4@3 ~ f4@2 ~@2 e4@4 d4@3 ~ d5@2 ~@2 a4@2 ~@2 g4@4 f4@2 ~@2",
  K: "f5@2 ~@2 c5 ~@3 bb4@4 a4@2 ~@2 g5@2 ~@2 e5 ~@3 d5@4 c5 ~@3",
  L: "bb5@2 ~@2 g5 ~@3 f5@4 e5@3 ~ d6@2 ~@2 a5@2 ~@2 g5@4 f5@2 ~@2", M: "~@16 a4@2 ~@2 e4@2 ~@2 d4@4 db4@3 ~",
  N: "bb5 ~@7", O: "[~@8 g3@4 a3@4 ~ bb3@4 e4@4 d4@28 ~@11]/2", P: "[~@10 d4@4 e4@4 f4@4 bb4@4 a4@23 ~@15]/2",
  Q: "[~@6 c5@4 b4@2 a4@2 e4@13 ~@5]/2", R: "[~@7 g4@4 c4@4 d4@5 e4 f4@2 c4@5 e4 f4@2 ~]/2",
  S: "[~@23 d4@2 c4 ~ bb3@4 bb3@8 bb4@2 bb3@3 ~@3 [c4,c5]@3 ~@5 c4@5 ~@4, ~@31 bb4 ~@23 c5@2 ~@7]/2", // C
  T: "~@7 d4 ~ e4 ~ gb4 ~ a4 ~ d4 ~ e4 ~ gb4 ~ a4 ~ d4 ~ e4 ~ gb4 ~ a4 ~@2", U: "~@4 e4@4 f4@4 e4@5 ~@4 e4@3 f4@4 g4@4",
  V: "c5@4 e4@4 f4@4 e4@5 ~@4 e4@4 f4@4 ~@3", W: "~ bb4@15 ~ a4@15", X: "~ g4@31", Y: "~ d5@16 c5@15",
  Z: "~ [d4,bb4]@31", AA: "~ f5@16 e5@15", AB: "~ d5@31", AC: "~ a4@29 ~@2, ~ f4@26 ~@5",
  AD: "~@17 a4@2 ~@2 e4@2 ~@2 d4@4 db4@3", AE: "~ bb4@3 ~ f4@2 ~@2 e4@4 d4@3 ~ d5@2 ~@2 a4@2 ~@2 g4@4 f4@2 ~",
  AF: "~ f5@2 ~@2 c5 ~@3 bb4@4 a4@2 ~@2 g5@2 ~@2 e5 ~@3 d5@4 c5 ~@2",
  AG: "~ bb5@2 ~@2 g5 ~@3 f5@4 e5@3 ~ d6@2 ~@2 a5 ~@3 g5@4 f5@2 ~",
  AH: "~ bb4@2 ~@2 f4@2 ~@2 e4@4 d4@3 ~ d5@2 ~@2 a4@2 ~@2 g4@4 f4@2 ~",
  AI: "~ f5@2 ~@2 c5 ~@3 bb4@4 a4@2 ~@2 [g4,g5]@2 ~@13", AJ: "[~ g3@2 a3@2 bb3@2 e4@2 d4@14 ~@9]/2",
  AK: "[~@3 d4@4 e4@4 f4@4 bb4@4 ~ a4@23 ~@21]/2", AL: "[~@5 c5@8 b4@4 a4@4 e4@26 ~@17]/2",
})).s("gm_string_ensemble_2").gain(0.32)

// other · string ensemble 2 · soft notes
const string_ensemble_2_soft = note("<~@11 A@2 B@2 C D E F G@2 ~@18 H@3 ~@3 I@2 J@2 K L M N O@2 ~@17>".pickRestart({
  A: "[~@16 c4@5 ~@27 c4@5 ~@6 e4@2 ~@3, c3@15 ~, ~@23 e3@39 ~@2]/2", B: "[[d4,g4]@16 f4@15 ~ e4@31 ~, ~@8 c4@23 ~]/2",
  C: "bb3@15 ~ c4@16, f4@31 ~", D: "g4@15 ~", E: "[bb3,f4] [c4,e4]", F: "[a3,d4]",
  G: "[[bb3,f4]@15 ~ c4@41 ~@7, ~@16 e4@15 ~@33]/2", H: "[~@30 c5@16 d5@16 ~ bb4@27 ~@6, ~@62 bb3@19 ~@15]/3",
  I: "[~@16 c4@4 ~@29 c4@5 ~@6 e4@2 ~@2, c3@61 ~@3, ~@24 e3@39 ~]/2",
  J: "[~ [d4,g4]@15 ~ f4@15 ~ e4@31, ~@17 c4@46 ~]/2", K: "~ bb3@15 ~ c4@15, ~ f4@31", L: "~ g4@30 ~",
  M: "~ [bb3,f4]@16 [c4,e4]@15", N: "~ [a3,d4]@31", O: "[~ [bb3,f4]@15 ~ c4@41 ~@6, ~@17 e4@16 ~@31]/2",
})).s("gm_string_ensemble_2").gain(0.18)

// chords · pad warm
const pad_warm = note("<~@11 A@2 B C D E F G H@2 I J@4 K@3 ~ L@8 ~@7 M@2 N O P Q R S T@2 U V@6 ~ W@8 ~>".pickRestart({
  A: "[[c2,g3,c4]@31 ~]/2", B: "g3@15 ~ [a3,c4]@16", C: "[g3,c4]", D: "[bb3,d4]@15 ~ [a3,c4]@15 ~", E: "[g3,bb3]@31 ~",
  F: "[bb3,d4] [g3,c4]", G: "[a3,d4]", H: "[[bb3,d4]@16 g3@15 ~ a3@30 ~@2, ~@8 c4@23 ~]/2", I: "[a3,c4]@31 ~",
  J: "[bb3 ~@3 bb3 d4 c4@2, d4@31 ~ c4@32 ~@64, ~@16 a3@32 g3@31 ~ a3@48]/4",
  K: "[bb3@15 ~@49 bb3@17 ~@15, d4 c4 ~, ~@8 a3@16 g3@15 ~@9]/3",
  L: "[~@24 [g3,bb3]@65 ~ [a3,d4]@65 c4@65 ~ d4@18 ~@17, ~@155 a3@82 ~@19]/8", M: "[[c2,g3,c4]@63 ~]/2",
  N: "~ g3@15 ~ [a3,c4]@15", O: "~ [g3,c4]@31", P: "~ [bb3,d4]@15 ~ [a3,c4]@15", Q: "~ [g3,bb3]@31",
  R: "~ [bb3,d4]@16 [g3,c4]@15", S: "~ [a3,d4]@31", T: "[~ [bb3,d4]@16 g3@15 ~ a3@30 ~, ~@17 c4@46 ~]/2",
  U: "~ [a3,c4]@31", // Am
  V: "[~ bb3@16 ~@48 bb3@16 d4@16 c4@32 bb3@15 ~@17 c4 ~@15 c4@15, ~ d4@31 ~ c4@32 ~@64 d4@32 ~@31, ~@17 a3@32 g3@31 ~ a3@48 ~@16 a3@32 ~@15]/6",
  W: "[~@17 [g3,bb3]@65 ~ [a3,d4]@65 a3@83 ~@25, ~@148 c4@65 ~@43]/8", // Gm D5
})).s("gm_pad_warm").gain(0.16)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  A@2 B C A@2 D E F G H@3 I J K L M N O P Q R S T U V W X ~@2 Y Z AA AB AC AD@7 G AE@3 AF AG AH AI AJ AK AL AM AN AO AP
  AQ AR AS AT ~ AU@7 ~@2
>`.pickRestart({
  A: "[~@7 bb3 ~@16 d3 ~@5 c4@2, g3@4 g3@4 ~@2 g4@22 ~@6 e4@4 c4@7 ~@5 c4@4 g4@6, ~@2 bb3@12 ~@2 f3@6 f4@10 c3@17 ~ e3@14, ~@6 d4@9 ~@3 a3@8 a3@4 a3@19 ~@7 e4@8, ~@20 c4@8 c4@5 ~@3 c4@4 g3@6 g3@6 g3@10 ~@2]/2",
  B: "~@15 a3, eb3@6 d4@8 d4@17 ~, ~ g3@4 g3@3 f3@3 g4@5, ~@2 bb3@4 bb3@2 ~ a3@4 a3 f4@2, ~@5 c4@3",
  C: "~@16 d3@2 ~@10 c4@3 ~, c3@18 e3@13 ~, ~@4 c4@4 g3@6 g3@5 ~ g3@4 g4@7 ~, ~@6 e4@4 c4@9 ~@3 c4@4 g3@5 ~",
  D: "~@30 a3 ~, eb3@6 d4@8 d4@17 ~, ~@2 g3@8 g3@6 f3@6 g4@9 ~, ~@2 bb3@4 bb3@2 ~ a3@4 a3 f4@2, ~@20 c4@11 ~",
  E: "[bb3,d4]@6 [d4,a4]@2 ~@4 bb3@2 [d4,a4] ~ a4@2 g4@2 bb3 ~ [d4,a4] ~ [bb3,a4]@2 ~@2 bb3@2 d4 ~, g2@14 g2@15 ~@3, ~@8 [bb3,d4,a4]@6 ~@2 d4@5 ~@3 d4@5 ~@3, ~@5 g4@2 ~@6 g4@2 ~", // Bb D5 Bbmaj7
  F: "[f3,bb3,d4]@2 ~ [bb3,d4] ~ f3 ~ bb2 c4@3 ~@4 c3, bb2@6 f3@2 c3@7 ~, ~ f3 [bb3,d4]@2 [g3,e4]@2 g3!2, ~@11 c4@5, ~@13 e4@3", // Bb C
  G: "d4@4 ~@2 d4@2 d4@4 ~@14 d4@2 d4@2 a3 ~, d3@12 d4@4 a3@6 d4@4 gb4@5 ~, ~@2 a3@2 gb4@8 a3@3 ~, ~@14 d3@4 d4@4 g4@9 ~, ~@20 d3@11 ~",
  H: "[~@14 bb3@2 ~@14 c4@2 ~@32 d3@2 ~@20 c4@6 g3@2 c4 ~, eb3@16 f3@16 c4@2 g3@2 c4@2 e4@4 c4@2 g3@2 e4@4 c4@2 g3@2 c4@4 e4@2 g3@4 ~@2 e3@29 ~, bb3@2 bb3@2 g3@2 g3@2 ~@3 f4@20 c4@3 ~ c4@3 c4@4 g3@4 ~@2, ~@2 g3@4 d4@10 ~@4 c4@6 c4@4 ~@2 c3@32 ~@8 e4@6 g4@17 ~, ~@5 bb3@2 ~@2 a3@5 a3@18 ~@2 g3@3 g3@4 e4@4 ~@3]/3",
  I: "~@4 [d4,g4] ~@3 [d4,g4]@5 ~ [c4,f4] ~@3 [c4,f4] ~@5 f4@4 c4@2 ~@2, ~@24 c4@3 ~@5", // G5 F5
  J: "~@4 [c4,e4] ~@3 [c4,e4]@4 ~@2 [c4,e4] ~@3 [c4,e4] ~@5 [c4,e4]@2 g4@2 c4 ~ e4 ~", // C
  K: "~@4 [bb3,f4] ~@3 f4@4 bb3 ~ [c4,f4] ~@3 [c4,f4] ~@5 [c4,f4]@4 c4 ~@3, ~@8 bb3@3 ~@21", // Bb5 F5
  L: "~@4 [d4,g4] ~@3 [d4,g4]@4 [d4,g4] ~ [d4,g4] ~@3 [d4,f4] ~@5 [d4,f4]@2 g4@2 d4 ~@3", // G5 Dm
  M: "~@4 [bb3,f4] ~@3 f4@4 bb3@2 e4 ~@3 [c4,e4] ~@3 e4 ~ c4@2 g4@4 ~@2, ~@8 bb3@3 ~@13 g4 ~@7", // Bb5 C
  N: "~@4 [d4,gb4] ~@3 [d4,gb4]@4 d4 ~ [d4,a4] ~@3 [d4,a4] ~@3 [d4,a4]@4 gb4 ~@5", // D D5
  O: "~@4 [bb3,f4] ~@3 f4@4 bb3 ~ e4 ~@3 [c4,e4] ~@5 [c4,e4]@4 ~@4, ~@8 bb3@3 ~@21", // Bb5 C
  P: "~@4 [c4,f4] ~@3 f4@4 ~@2 f4 ~@3 a4 ~@5 [c4,f4]@3 ~@5, ~@4 c4 ~@11", // F5
  Q: "~@8 [c4,f4]@5 ~ [c4,f4] ~@3 [c4,e4] ~@5 [c4,e4]@6 ~@2", // F5 C
  R: "~@4 f4 ~@3 f4@5 ~ [d4,f4] ~@3 [d4,f4] ~@5 [d4,f4]@6 d4 ~, ~@8 d4 ~@23", // Dm
  S: "~@4 [c4,f4] ~@3 [c4,f4]@6 c4 ~@3 [c4,e4] ~@5 [c4,e4]@7 ~", // F5 C
  T: "~@4 [d4,f4] ~@3 [d4,f4]@6 d4 ~@3 [d4,f4] ~@5 [d4,f4]@7 ~", // Dm
  U: "~@4 [c4,f4] ~@3 [c4,f4]@5 ~ [c4,f4] ~@3 [c4,e4] ~@5 [c4,e4]@6 c4 ~", // F5 C
  V: "~@4 [d4,f4] ~@3 [d4,f4]@5 ~ d4 ~@3 [d4,f4] ~@5 [d4,f4]@6 ~@2", // Dm
  W: "~@4 [c4,f4] ~@3 [c4,f4]@5 ~ [c4,f4] ~@3 [c4,e4] ~@5 [c4,e4]@4 c4@2 ~@2", X: "[bb3,d4]@17 ~@15",
  Y: "bb3@11 ~@6 bb3@12 ~@3, g3@6 ~@11 g3@8 ~@7", Z: "~ bb3@10 ~@6 bb3@8 ~@7, ~ g3@4 ~@12 g3@5 ~@10",
  AA: "~ [a3,d4]@6 ~@2 [a3,d4]@6 ~", AB: "~@3 a3@12 ~@4 [a3,d4]@9 ~@4, ~@3 d4@9 ~@20",
  AC: "~@3 [a3,c4]@12 ~@5 [a3,c4]@10 ~@2", // Am
  AD: "[~@4 [a3,c4]@11 ~@6 [a3,c4]@7 ~ [a3,d4]@13 ~@34 bb3@2 ~@32 d3@2 ~@10 c4@4 ~@31 a3 ~ [bb3,d4]@6 [d4,a4]@2 ~@4 bb3@2 [d4,a4] ~ a4@2 g4@2 bb3 ~ [d4,a4] ~ [bb3,a4]@2 ~@2 bb3@2 d4 ~ [f3,bb3,d4]@4 ~@2 [bb3,d4]@2 ~@2 f3@2 ~@2 bb2@2 c4@6 ~@2 g3@3 ~@4 c3@2, ~@62 g3@4 g3@4 ~@2 g4@22 ~@6 e4@4 c4@7 ~@5 c4@4 g4@6 ~@6 d4@8 ~ d4@17 ~@9 [bb3,d4,a4]@6 ~@22 f3@6 ~@2 f3@4 [g3,e4]@10 ~@3 g3@4, ~@64 bb3@12 ~@2 f3@6 f4@10 c3@17 ~ e3@14 eb3@8 ~@9 f3@6 g4@9 ~@11 g4@4 ~@12 g4@4 ~@29 e4@6, ~@68 d4@10 ~@2 a3@8 a3@4 a3@19 ~@7 e4@8 ~@4 bb3@8 ~ bb3@4 ~@2 a3@8 a3@2 f4@4 ~@16 d4@5 ~@3 d4@5 ~@11 [bb3,d4]@8 ~@6 c4@10 ~, ~@82 c4@8 c4@5 ~@3 c4@4 g3@6 g3@6 g3@10 ~@4 g3@8 ~ g3@6 ~@4 c4@11 ~ g2@14 g2@15 ~@3 bb2@14 ~@2 c3@14 ~@3]/7", // Am D5 Bb D5 Bbmaj7 Bb Bbmaj7 C …
  AE: "[~@14 bb3@2 ~@14 c4@2 ~@33 d3@2 ~@20 c4@6 g3@2 c4, eb3@16 f3@16 c4@2 g3@2 c4@2 e4@4 c4@3 g3@2 e4@4 c4@2 g3@2 c4@4 e4@4 c4@6 ~@2 c4@6 c4@8 g3@8 ~@3, bb3@4 bb3@4 g3@4 g3@4 ~@6 f4@39 g3@4 ~@2 e3@29, ~@2 g3@4 d4@10 ~@4 c4@6 c4@4 ~@2 c3@32 ~@9 e4@6 g4@17, ~@10 bb3@4 ~@4 a3@10 a3@36 ~@5 g3@6 g3@8 e4@8 ~@5]/3",
  AF: "~@5 [d4,g4] ~@3 [d4,g4]@5 ~ [c4,f4] ~@3 [c4,f4] ~@5 f4@4 c4@2 ~, ~@25 c4@3 ~@4", // G5 F5
  AG: "~@5 [c4,e4] ~@3 [c4,e4]@4 ~@2 [c4,e4] ~@3 [c4,e4] ~@5 [c4,e4]@2 g4@2 c4 ~ e4", // C
  AH: "~@5 [bb3,f4] ~@3 f4@4 bb3 ~ [c4,f4] ~@3 [c4,f4] ~@5 [c4,f4]@4 c4 ~@2, ~@9 bb3@3 ~@20", // Bb5 F5
  AI: "~@5 [d4,g4] ~@3 [d4,g4]@4 [d4,g4] ~ [d4,g4] ~@3 [d4,f4] ~@5 [d4,f4]@2 g4@2 d4 ~@2", // G5 Dm
  AJ: "~@5 [bb3,f4] ~@3 f4@4 bb3@2 e4 ~@3 [c4,e4] ~@3 e4 ~ c4@2 g4@4 ~, ~@9 bb3@3 ~@13 g4 ~@6", // Bb5 C
  AK: "~@5 [d4,gb4] ~@3 gb4@4 d4 ~ [d4,a4] ~@3 [d4,a4] ~@3 [d4,a4]@4 gb4 ~@4, ~@9 d4@2 ~@21", // D D5
  AL: "~@5 [bb3,f4] ~@3 f4@4 bb3 ~ e4 ~@3 [c4,e4] ~@5 [c4,e4]@4 ~@3, ~@9 bb3@3 ~@20", // Bb5 C
  AM: "~@5 [c4,f4] ~@3 f4@4 ~@2 f4 ~@3 a4 ~@5 [c4,f4]@3 ~@4, ~@9 c4@2 ~@21", // F5
  AN: "~@9 [c4,f4]@5 ~ [c4,f4] ~@3 [c4,e4] ~@5 [c4,e4]@6 ~", // F5 C
  AO: "~@5 f4 ~@3 f4@5 ~ [d4,f4] ~@3 [d4,f4] ~@5 [d4,f4]@6 d4, ~@9 d4 ~@22", // Dm
  AP: "~@5 [c4,f4] ~@3 [c4,f4]@6 c4 ~@3 [c4,e4] ~@5 [c4,e4]@7", // F5 C
  AQ: "~@5 [d4,f4] ~@3 [d4,f4]@6 d4 ~@3 [d4,f4] ~@5 [d4,f4]@7", // Dm
  AR: "~@5 [c4,f4] ~@3 [c4,f4]@5 ~ [c4,f4] ~@3 [c4,e4] ~@5 [c4,e4]@6 c4", // F5 C
  AS: "~@5 [d4,f4] ~@3 [d4,f4]@5 ~ d4 ~@3 [d4,f4] ~@5 [d4,f4]@6 ~", // Dm
  AT: "~@5 [c4,f4] ~@3 [c4,f4]@5 ~ [c4,f4] ~ [c4,e4]@7 ~@8", // F5 C
  AU: "[~@25 bb3@11 ~@6 bb3@12 ~@4 bb3@10 ~@7 bb3@8 ~@8 [a3,d4]@12 ~@4 [a3,d4]@12 ~@5 a3@12 ~@4 [a3,d4]@9 ~@8 [a3,c4]@12 ~@4 [a3,c4]@10 ~@6 [a3,c4]@11 ~@24, ~@25 g3@6 ~@11 g3@8 ~@8 g3@4 ~@13 g3@5 ~@44 d4@9 ~@91]/7", // D5 Am
})).s("gm_electric_guitar_clean").gain(0.16).pan(0.3)

// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note(`<
  A B C D@2 B E F ~ G ~@2 H ~ I J ~@2 K L M ~ N ~@6 O ~@2 P ~@5 Q R S T ~ G ~@2 U ~ V W ~@2 X Y Z ~ AA ~@8 AB ~@6
>`.pickRestart({
  A: "~@8 g3@4 g3@3 ~@9 f3@8", B: "~@2 g3@6 ~@4 e4@5 ~@13 g3@2", C: "~ eb3 ~ f3",
  D: "[~@2 g3@6 ~@4 e4@18 ~@10 g3@4 g3@3 ~@9 f3@8, ~@30 e4@17 ~@17]/2", E: "~@8 eb3@8 ~@8 f3@7 ~", F: "~@6 d4 ~@9",
  G: "~@5 a3@3 ~@8", H: "~@26 e4@5 ~", I: "~@22 e4 ~@9", J: "~@22 f4 ~@9", K: "~@28 d4 ~@3", L: "~@22 e4 ~@5 c4 ~@3",
  M: "c4 ~@11 c4 ~@7 c4@2 ~@6 c4 ~@3", N: "~@10 d4@3 ~@19", O: "~ a3@3 ~@4", P: "~@24 g3 ~@7",
  Q: "~@6 g3@4 g3@3 ~@9 f3@8 ~@2", R: "g3@6 ~@4 e4@5 ~@13 g3@2 ~@2", S: "~@6 eb3@8 ~@9 f3@7 ~@2", T: "~@11 d4@2 ~@19",
  U: "~@27 e4@5", V: "~@23 e4 ~@8", W: "~@23 f4 ~@8", X: "~@29 d4 ~@2", Y: "~@23 e4 ~@5 c4 ~@2",
  Z: "~ c4 ~@11 c4 ~@7 c4@2 ~@6 c4 ~@2", AA: "~@11 d4@3 ~@18", AB: "~@17 g3 ~@14",
})).s("gm_electric_guitar_clean").gain(0.1).pan(0.3)

// other · flute
const flute = note("<~@14 A ~@3 B ~ C ~@27 D ~@3 E ~ F ~@17>".pickRestart({
  A: "~@2 e4 ~ f4 ~ g4 ~ c5 ~ e4 ~ f4 ~ g4 ~ c4 ~ e4 ~ f4 ~ g4 ~ f4@2 e4@2 c4 ~ d4 ~",
  B: "~@2 gb4 ~ g4 ~ a4@2 d5 ~ gb4 ~ g4@2 a4 ~ d4 ~ gb4 ~ g4 ~ a4 ~ g4@2 gb4 ~ d4 ~ a3 ~",
  C: "f4@2 ~@6 f4@3 ~@3 f4 ~@3 f4 ~@3 e4 ~ f4@3 ~@5",
  D: "~@3 e4 ~ f4@2 g4 ~ c5 ~ e4 ~ f4 ~ g4 ~ c4 ~ e4 ~ f4 ~ g4@2 f4@2 e4 ~ c4 ~ d4",
// … 347 more lines

More by Pooh