Strudelify

Dove sto domani

Pooh

KeyD♭ majorTempo59 bpm
0:00/0:00
// Dove sto domani — Pooh
// 59 bpm, 4/4, key C# 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 4, 4/4 at bar 5, 2/4 at bar 22, ...) 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 65 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(59/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@2 B C D E F G@3 H I F G@3 H J@3 K@2 L@2 M N O P Q R S T U V W X Y Z AA@2 AB@3 AC AD AE AF F G@3 H J@3 K@2 AG@2 M N O
  AH AI@2
>`.pickRestart({
  A: "[~@16 f4@6 ~@2 ab3 db4 [ab3,db4,gb4] [ab3,db4]@3 [ab3,db4,f4]@2, ~@46 ab3@11 ~@39, ~@47 db4@19 ~@15 gb4@15]/2", // Dbsus4 Db5 Db
  B: "[a3,c4]@2 ~ c4@3 ~@4 [c4,gb4] [a3,c4]@2 ~ [c4,f4]@2, eb4@3 eb4@5, ~@9 f4@13 ~@11 gb4@15", // Am Cdim Am F5
  C: "bb3@3 bb3@2 [bb3,db4,f4]@2 bb3 gb4@4 ~@2 db4@2, [db4,f4]@5 ~@3 db4@6 ~@2, ~@4 a3 ~ [c4,gb4]@2", // Bbm Db Cdim
  D: "ab3@6 ab3@6 ab3@3 [ab3,db4,f4]@6 ab3@3 [ab3,c4]@9 ab3@9 [ab3,db4]@5 ~, [db4,f4]@15 ~@9 eb4@23 ~", // Db Ab Db5 Db
  E: "[ab3,c4]@3 [ab3,c4]@2 ab3 [ab3,c4,gb4]@2 ab3@3 ab3@3 ab3@2, eb4@12 f3@11 ~, ~@3 f4@5 ~@3 [db4,f4]@5", // Ab Ab7 Db
  F: "~ db4 [ab3,db4,gb4] [ab3,db4]@2 ab3 [ab3,db4,f4]@2 a3@2 ~ a3@3 a3@2, ~@3 gb4@5 [f3,f4]@8, ~@33 [c4,eb4]@14 ~", // Dbsus4 Db5 Db F Cm
  G: "[~@6 [c4,gb4]@3 [a3,c4]@6 ~@3 [c4,f4]@6 [f3,bb3,db4]@12 f3@3 f3@6 ~@9 f3@3 [f3,bb3]@6 [f3,bb3,db4]@9 [gb3,a3]@6 ~@3 a3@6 db4@6 ~@9 gb3@3 a3@6 [gb3,a3,db4]@9 ~@9 ab3@6 [ab3,db4,f4]@6 ab3@2 ~, ~@3 gb4@5 ~@5 db4@8 ~@3 db4@5 ~@19, ~@13 bb3@6 ~@29, ~@15 f3@3 ~@8 gb3@5 gb3@3 ~@14, ~@16 f4@8 ~@8 gb4@8 f4@5 ~@3]/3", // Cdim Am F5 Bbm Bb5 Bbm Gbm Db
  H: "db4@3 [db4,gb4]@3 [db4,gb4]@3 [ab3,db4]@6 ab3@3 [ab3,db4,f4]@6 ~@9 [ab3,c4]@6 ~@3 [ab3,db4]@4 ~@2, ~@3 gb4@5 ~ ab3@2 ~@5, ~@15 bb3@8 ~", // Gb5 Db5 Db Ab Db5
  I: "~@3 [ab3,c4,f4]@2 [ab3,c4] [ab3,c4,gb4]@2 ab3@3 ab3@3 ab3@2, eb4@12 f3@11 ~, ~@5 f4@3 ~@3 [db4,f4]@5", // Fm Ab Ab7 Db
  J: "[~@9 [ab3,c4,f4]@6 [ab3,c4]@3 [ab3,c4,gb4]@6 ab3@6 ab3@6 ab3@5 ~ eb4@2 ~@7 ab3@3 [ab3,db4]@3 [ab3,db4]@6 [ab3,db4,ab4]@8 ~ ab3@6 ab3@6 ~@3 c4@9 ~@5 ab3@3 ~ [ab3,c4]@6 [ab3,c4,eb4]@8 ~ f3@9 ~@3 bb3@3 [f3,bb3,db4]@7 ~@2, eb4@24 db4@17 ab3@3 ab3@3 ~@37 ab3@17 ~@19 [bb3,db4]@15 ~@9, ~@15 f4@9 f4@21 eb4@12 eb4@14 ~ eb4@23 ~ ab4@23 ~@25, ~@42 db4@5 ~@25 c4@15 ~@42 f3@6 ~@9]/3", // Fm Ab Ab7 Db5 Ab Bbm
  K: "[[gb3,a3]@9 [gb3,a3]@6 [gb3,a3,eb4]@6 ab3@2 ~ ab3@9 ab3@6 [ab3,db4]@8 ~ [g3,bb3]@6 [g3,bb3]@3 [g3,bb3]@6 [g3,bb3]@8 ~@6 gb3@6 ~@4 bb3@2 ~ [bb3,db4]@5 ~, eb4@15 ~@9 f4@23 f4@24 gb3@6 ~@7 gb3@5 gb3@5 ~@2, ~@9 db4@13 ~@2 db4@15 ~@18 eb4@14 bb3@15 ~@10, ~@12 db4@3 ~]/2", // Gbm Ebdim Db5 Gm Bbm
  L: "[ab3@6 ab3@6 ~@6 [ab3,db4]@5 ~ [ab3,eb4]@6 [ab3,c4]@3 [ab3,c4]@6 ab3@5 ab3@3 ~ [b3,e4]@6 b3@3 ~@9 e3@6 ~@9 b3@3 ~@6 b3@5 ~, c4@12 ab3@6 ~@21 [c4,gb4]@9 ~@6 e4@6 e3@3 b3@18 ~@3 b3@3 gb4@8 ~, ~@15 c4@8 ~@10 f4@14 ab4@24 ~@13 ab4@11 ~, ~@57 gb4@15 ~@6 e3@17 ~, ~@57 b3@6 e4@32 ~]/2", // Db5 Ab5 Ab E5 Cdim
  M: "~@9 eb3@6 ~@3 eb3@6 ~@11 eb3@4 ~@3 eb3@5 ~, gb4@23 ~ b4@23 ~, [b3,eb4]@15 b3@32 ~, ~@15 eb4@8 ~@7 eb3@5 ~@4 gb4@8 ~, ~@33 eb4@14 ~", // B
  N: "ab3@9 ab3@6 [ab3,db4,e4]@9 [a3,c4]@6 ~@3 c4@6 [a3,e4]@8 ~, [db4,e4]@5 ~@3 e4@5 ~@3, ~@10 a3@3 ~@3", // Dbm Am A5 Dbm
  O: "[ab3,b3]@6 ab3@3 b3@6 [ab3,b3,e4]@8 ~ [gb3,bb3]@6 gb3@3 bb3@6 [gb3,bb3,e4]@8 ~, e4@5 ~@3 e4@5 ~@3", // Abm E Gb Gb7
  P: "[a3,e4]@6 a3@3 ~@12 a3@2 ~@7 ab3@3 ~@12 ab3@3, db4@4 e3@2 e3@2 ~ e3@3 e3@2 e3@2, ~@3 b3@4 ~@9, ~@9 [a3,e4]@6 [a3,db4,e4]@8 ~ [ab3,b3,e4]@9 [ab3,b3,e4]@6 [ab3,b3,e4]@9", // A5 A E
  Q: "~@9 ab3@3 ab3@3 ~@6 ab3@2 ~ ab3@6 ~@12 [ab3,gb4]@6, eb4@23 ~ eb4@23 ~, [ab3,c4]@12 c4@11 ~@13 f4@11 ~, ~@6 eb3@9 [ab3,db4]@8 ~@7 ab3@6 ab3@6 ~@6, ~@6 eb3@2 ~@3 eb3@2 eb3@2 ~", // Ab7 Ab Db5
  R: "ab3@3 ab3@3 ab3@2 ~ [ab3,db4] [ab3,db4,gb4] [ab3,db4]@2 ab3 [ab3,db4,f4]@2, f3@11 ~@13, ~@3 [db4,f4]@5 ~@3 gb4@5", // Db5 Dbsus4 Db5 Db
  S: "[a3,c4]@3 a3@3 a3@2 ~@2 [c4,gb4] [a3,c4]@2 ~ [a3,c4,f4]@2, [f3,f4] ~, ~@9 [c4,eb4]@14 ~@10 gb4@15", // Am Cdim Am F Cm
  T: "[f3,bb3,db4]@4 f3 f3@2 ~@3 f3 [f3,bb3]@2 [f3,bb3,db4]@3, ~@5 db4@8 ~@3, ~@5 bb3@6 ~@5, ~@7 f3@3 ~@6, ~ f4", // Bbm Bb5 Bbm
  U: "[gb3,a3]@2 ~ a3@2 db4@2 ~@3 gb3 a3@2 [gb3,a3,db4]@3, db4@5 ~@3 gb4@8, ~@2 gb3@5 gb3@3 ~@6", // Gbm
  V: "~@9 ab3@6 [ab3,db4,f4]@6 ab3@2 ~ db4@3 [db4,gb4]@3 [ab3,db4,gb4]@3 [ab3,db4]@6 ab3@3 [ab3,db4,f4]@6, f4@5 ~@6 gb4@5", // Db Gb5 Dbsus4 Db5 Db
  W: "~@9 [ab3,c4]@6 ab3@3 [ab3,db4]@4 ~@2 c4@6 ~@3 [ab3,c4,f4]@6 [ab3,c4]@3 [ab3,c4,gb4]@6, ~@3 ab3@6 ~@6 c4@7 ~@2 eb4@24, ~@6 bb3@16 ~@17 f4@9", // Ab Db5 Fm Ab Ab7
  X: "ab3@6 ab3@6 ab3@5 ~ eb4@2 ~@7 ab3@3 [ab3,db4]@3 [ab3,db4]@6 [ab3,db4,ab4]@8 ~, f4@21 eb4@12 eb4@14 ~, db4@17 ab3@3 ab3@3 ~@25, ~@18 db4@5 ~@25", // Db5
  Y: "ab3@6 ab3@6 ~@3 c4@9 ~@5 ab3@3 ~ [ab3,c4]@6 [ab3,c4,eb4]@8 ~, eb4@23 ~ ab4@23 ~, c4@12 ab3@17 ~@19", // Ab
  Z: "f3@9 ~@3 bb3@3 [f3,bb3,db4]@7 ~@2 [gb3,a3]@9 [gb3,a3]@6 [gb3,a3,eb4]@6 ab3@2 ~, [bb3,db4]@5 ~@3 eb4@5 ~@3, ~@9 f3@6 ~@18 db4@13 ~@2", // Bbm Gbm Ebdim Bbm
  AA: "[ab3@9 ab3@6 [ab3,db4]@8 ~ [g3,bb3]@6 [g3,bb3]@3 [g3,bb3]@6 [g3,bb3]@8 ~@6 gb3@6 ~@4 bb3@2 ~ [bb3,db4]@5 ~ ab3@6 ab3@6 ~@6 [ab3,db4]@5 ~, f4@23 f4@24 gb3@6 ~@7 gb3@5 gb3@5 ~@14 ab3@6 ~@6, db4@15 ~@18 eb4@14 bb3@15 ~@34, ~@48 db4@18 ~@6 c4@15 c4@8 ~]/2", // Db5 Gm Bbm Db5
  AB: "[[ab3,eb4]@6 [ab3,c4]@3 [ab3,c4]@6 ab3@5 ab3@3 ~ [b3,e4]@6 b3@3 ~@9 e3@6 ~@9 b3@3 ~@6 b3@5 ~@10 eb3@6 ~@3 eb3@6 ~@11 eb3@4 ~@3 eb3@5 ~ ab3@9 ab3@6 [ab3,db4,e4]@9, ~@9 f4@14 ab4@24 ~@13 ab4@11 ~@16 eb4@8 ~@10 eb4@14 ~ [db4,e4]@15 ~@9, ~@15 [c4,gb4]@9 ~@6 e4@6 e3@3 b3@18 ~@3 b3@3 gb4@8 ~ gb4@23 ~ b4@23 ~@25, ~@33 gb4@15 ~@6 e3@17 ~@31 eb3@5 ~@4 gb4@8 ~@25, ~@33 b3@6 e4@32 ~ [b3,eb4]@15 b3@32 ~@25]/3", // Ab5 Ab E5 Dbm Cdim B
  AC: "[a3,c4]@6 ~@3 c4@6 [a3,e4]@8 ~ [ab3,b3]@6 ab3@3 b3@6 [ab3,b3,e4]@8 ~, e4@5 ~@3 e4@5 ~@3, ~@2 a3@3 ~@11", // Am A5 Abm E
  AD: "[gb3,bb3]@6 gb3@3 bb3@6 [gb3,bb3,e4]@8 ~ [a3,e4]@6 a3@3 ~@12 a3@2 ~, e4@5 ~@3 db4@4 e3@2 e3@2, ~@11 b3@4 ~, ~@33 [a3,e4]@6 [a3,db4,e4]@8 ~", // Gb Gb7 A5 A
  AE: "~@6 ab3@3 ~@12 ab3@3 ~@9 ab3@3 ab3@3 ~@6 ab3@2 ~, [ab3,b3,e4]@9 [ab3,b3,e4]@6 [ab3,b3,e4]@9 eb4@23 ~, ~@3 e3@9 e3@6 e3@6 [ab3,c4]@12 c4@11 ~, ~@30 eb3@9 [ab3,db4]@8 ~, ~@7 eb3", // E Ab Db5
  AF: "ab3@2 ~@4 [ab3,gb4]@2 ab3@3 ab3@3 ab3@2, eb4@23 ~@10 [db4,f4]@15, ~@6 ab3@6 f4@11 ~@25, ~@9 eb3@6 eb3@6 ~@3 f3@22 ~@2, ~@2 ab3 ~@5", // Ab7 Db
  AG: "[ab3@6 ab3@6 ~@6 [ab3,db4]@5 ~ [ab3,eb4]@6 [ab3,c4]@3 [ab3,c4]@6 ab3@5 ab3@3 ~ [b3,e4]@5 ~@13 e3@6 ~@9 b3@3 ~@6 b3@5 ~, c4@12 ab3@6 ~@21 [c4,gb4]@9 ~@5 b3@3 ~ gb4@15 ~@6 e3@17 ~, ~@15 c4@8 ~@10 f4@14 ab4@24 ~@13 ab4@11 ~, ~@54 e4@6 e3@3 b3@18 ~@3 b3@3 gb4@8 ~, ~@57 b3@6 e4@32 ~]/2", // Db5 Ab5 Ab E5 Cdim
  AH: "[a3,db4,e4]@23 ~@4 [gb3,b3,e4]@3 ~ e4@3 [gb3,b3,e4]@6 [gb3,b3,e4]@8, ~@10 [gb3,b3] ~@5", // A Esus2 B5
  AI: "[~@7 e4@52 ~@37, ~@2 e3@53 ~@41, ~@3 ab3@52 ~@41, ~@5 b3@51 ~@40]/2",
})).s("gm_piano").gain(0.47).pan(0.6)

// chords · piano · soft notes
const piano_soft = note(`<
  ~ A B C D E F@2 G H I J F@2 G H I J ~@2 K L M ~@2 N O P Q R S T U@2 V ~@2 W X ~ Y ~@2 Z AA ~ AB F@2 G H I J ~@2 K L M
  ~@2 N O ~@3
>`.pickRestart({
  A: "~@10 ab3@8 [ab3,db4]@6 ~@3 [ab3,gb4]@3 ~@9 ab3@3 ~@6, ~@3 f4@4 ~", // Db5 Ab7
  B: "~@2 [a3,c4] a3@3 [a3,c4]@3 [a3,c4] a3 ~@2 [a3,c4] a3@2", C: "~@11 db4 ~@3 a3@3 a3@6", D: "~@36 c4@11 ~",
  E: "~@2 ab3 ~@13", F: "[~ [ab3,gb4] ~@6 c4@2 a3 ~@4 c4@2 c4 a3 ~@2 [a3,c4] a3@2 ~@8]/2", G: "~@21 a3@3 ~@15 a3@8 ~",
  H: "~@3 gb3@2 ~@3 db4@5 ~@3, ~@7 ab3@4 ~@5", I: "ab3@3 ab3@3 ab3@3 ~@30 c4@7 ~@2, ~@13 ab3 ~@2",
  J: "[ab3,c4]@2 [ab3,c4] ~@13", K: "~@22 db4 ~@25", L: "~@21 gb3@2 ~@25", M: "~@30 eb4@17 ~", N: "~@39 c4@8 ~",
  O: "~@3 ab3@2 ~@6 gb3@2 ~@3", P: "~@21 b3@2 ~@25", Q: "~@15 eb3", R: "~@9 gb4 ~@6",
  S: "~@2 a3 ~@4 c4@2 c4 a3 ~@2 [a3,c4] ~@2", T: "~@15 a3",
  U: "[~@15 a3@8 ~@10 gb3@6 ~@9 db4@15 ~@9 ab3@3 ab3@3 ~@18, ~@15 ab3@4 ~@13]/2", V: "~@8 ab3@2 [ab3,c4] ~@5",
  W: "~@46 db4 ~", X: "~@45 gb3@2 ~", Y: "~@6 eb4@17 ~@25", Z: "~@15 c4@8 ~@10 ab3@6 ~@9", AA: "~@9 gb3@6 ~@30 b3@2 ~",
  AB: "~@7 eb3 ~@8",
})).s("gm_piano").gain(0.27).pan(0.6)

// bass · fretless bass
const bass = note(`<
  ~@11 A@3 B C@5 D E@2 F G H I@3 J@2 K L M N O P Q@2 R@2 S@2 T U V@3 W X Y Z AA@3 D E@2 F G H AB@2 AC@2
>`.pickRestart({
  A: "[~@21 db2 ~@2 db2@31 ~@2 db2@2 ~ eb2@4 ab2@3 ~ db2@3 ab2@42 ~ f2@2 ~ a2@2 ~ bb2@23 ~]/3", B: "f3@3 bb2 a2@4",
  C: "[~@3 a2@3 ~ b2@2 ~@2 b2@9 ~ a2@3 ab2@9 ab1@19 ~@4 ab2 ~@3 eb3@8 db3@2 ~@2 db3@6 c3@3 ab2@24 ab1@3 ab2@3 gb2@3 eb2@3 d2@3 ~@30 db3@2 db3 ~@9 db2@6 c2@33 ab1@3 c2@3 eb2@3 ab2@2 ~@4 bb2@24, ~@3 db2 ~@2, ~@156 db3@11 ~@73]/5",
  D: "a2@23 ab2@24 ~", E: "[g2@24 gb2@18 ~@2 gb2@2 g2 ab2@3 ab1@2 ~@19 ab2@10 ab1@3 ab2@6 gb2@6, ~@54 ab1@25 ~@17]/2",
  F: "e2@20 b1@3 ~ e2@9 b1@3 e2@12", G: "eb2@33 b1@3 eb2@3 b1@2 ~ gb2@2 b1@3 ~", H: "db2@20 ~ db2@3 c2@19 ~@2 c2@3",
  I: "[b1@20 ~ b1@3 bb1@19 ~ bb1@3 a1@24 ~ ab1@23 ab2@32 ~@2 gb2@12 db2 ~@2]/3",
  J: "[db2@31 ~@2 db2@2 ~ eb2@4 ab2@3 ~ db2@3 ab2@42 ~ f2@2 ~ a2@2 ~]/2", K: "bb2@23 ~ f3@18 bb2@6",
  L: "a2@26 ~ a2@3 ~ b2@2 ~@2 b2@9 ~ a2@3", M: "ab2@9 ab1@19 ~@4 ab2 ~@3 eb3@8 db3@2 ~@2",
  N: "db3@2 c3 ab2@9 ab2 gb2 eb2 d2", O: "~@30 db3@2 db3 ~@9 db2@6, db2@5 ~, ~@36 db3@11 ~",
  P: "c2@33 ab1@3 c2@3 eb2@3 ab2@2 ~@4", Q: "[bb2@24 a2@23 ab2@24 ~ g2@24]/2",
  R: "[gb2@18 ~@2 gb2@2 g2 ab2@3 ab1@2 ~@19 ab2@10 ab1@3 ab2@6 gb2@6 e2@20 b1@3 ~, ~@30 ab1@25 ~@41]/2",
  S: "[e2@9 b1@3 e2@12 eb2@33 b1@3 eb2@3 b1@2 ~ gb2@2 b1@3 ~ db2@20 ~ db2@3]/2", T: "c2@19 ~@2 c2@3 b1@20 ~ b1@3",
  U: "bb1@19 ~ bb1@3 a1@24 ~", V: "[ab1@23 ab2@32 ~@2 ab2@3 eb3@3 ab2@8 ~ db2@31 ~@5 eb2@4 ab2@3 ~@29]/3",
  W: "~@24 bb2@23 ~", X: "f3@3 ~ a2@4", Y: "~@11 b2@9 ~@28", Z: "~@4 eb3@3 ~ db3@2 ~@6",
  AA: "[~@12 ab2@3 gb2@3 eb2@3 d2@3 ~@30 db3@2 db3 ~@9 db2@6 c2@33 ab1@3 c2@3 eb2@3 ab2@2 ~@4 bb2@24, ~@3 db2@5 ~@10, ~@60 db3@11 ~@73]/3",
  AB: "[b1@20 ~ b1@3 bb1@19 ~ bb1@3 a1@24 ~ b1@24]/2", AC: "[~ e1@27 ~@20]/2",
})).s("gm_fretless_bass").gain(0.47)

// bass · fretless bass · soft notes
const bass_soft = note("<~@47 A@2 B C@3 ~@12>".pickRestart({
  A: "[~@9 db2@2 ~@9 db2@3 ab2@42 ~ f2@2 ~ a2@2 ~@25]/2", B: "~@3 bb2 ~@4",
  C: "[~@3 a2@3 ~ b2@2 ~@12 a2@3 ab2@9 ab1@19 ~@4 ab2 ~@11 db3@2 ~@8 c3@3 ab2@24 ab1@3 ~@36]/3",
})).s("gm_fretless_bass").gain(0.27)

// bass · fretless bass
const bass_2 = note("<~@46 A@4 B@3 ~@12>".pickRestart({
  A: "[~@24 ab2@4 eb3@3 ~ eb3@3 ~@2 eb3@22 ~ gb3@6 eb3@5 ~ eb3@9 eb3@3 a2@3 a2@31 ~@2 bb2@4 f3@2 ~@2 f3@2 ~@2 f3@20 bb2@2 ~@2 gb3@6 eb3@5 ~ eb3@9 db3@3 eb3@8 db3@4]/4",
  B: "[eb3@14 db3@3 b2@3 a2@2 ~ ab2@4 ~ f3@3 ~ f3@3 eb3@19 ~@2 ab2 ~@2 eb3@8 ~ db3@2 ~@2 db3@6 c3@3 ab2@3 ab2@33 ~@27]/3",
})).s("gm_fretless_bass").gain(0.56)

// other · pad metallic
const pad_metallic = note(`<
  ~ A B C D@3 ~@4 E@7 ~@4 F G H I@5 ~@4 J K L@4 M@2 N@4 O@2 ~@4 P Q R S@2 T U@2 V@4 ~
>`.pickRestart({
  A: "f5@11 gb5@3 f5@2", B: "eb5@3 f5@3 eb5@5 gb5@3 f5@2", C: "db5@35 c5@7 db5@6",
  D: "[f5@12 eb5@18 f5@3 gb5@3 ab5@23 ~@13]/3",
  E: "[~@24 f5@31 ~@2 gb5@9 f5@6 eb5@32 ~ gb5@9 f5@6 db5@35 c5@7 db5@5 ~ db5@35 ~ c5@6 db5@6 f5@35 gb5@6 ~ f5@6 eb5@17 db5@6 eb5@6 eb5@6 ~ f5@6 gb5@6 ab5@24]/7",
  F: "~@6 f5 gb5", G: "ab5@15 ~", H: "b5@17 gb5@6 ~ eb5@11 e5@6 ~ gb5@6",
  I: "[e5@23 gb5@23 ~ ab5@24 gb5@24 e5@18 db5@6 b4@24 c5@18 db5@6 ~ eb5@12 f5@6 gb5@5 f5@32 ~@17]/5",
  J: "~@29 c5@6 ~ db5@6 eb5@6", K: "f5 ~@7",
  L: "[ab5@18 eb5@6 c5@12 db5@5 eb5@6 db5@25 eb5@23 f5@24 eb5@24 db5@24 ~ c5@18 db5@6]/4",
  M: "[eb5@11 f5@7 gb5@6 ab5@43 ~@5 b5@17 gb5@6 ~]/2",
  N: "[eb5@11 e5@6 ~ gb5@6 e5@23 gb5@23 ~ ab5@24 gb5@24 e5@18 db5@6 b4@24 c5@18 db5@6 ~]/4",
  O: "[eb5@12 f5@6 gb5@5 f5@32 ~@41]/2", P: "~@5 c5@6 ~ db5@6 eb5@6 f5@6 ~@18", Q: "~@4 ab5@3 eb5",
  R: "c5@12 db5@5 eb5@6 db5@25", S: "[eb5@23 f5@24 eb5@24 db5@24 ~]/2", T: "c5@18 db5@6 eb5@11 f5@7 gb5@6",
  U: "[ab5@43 ~@4 b5@17 ~ gb5@6 ~ eb5@11 e5@6 ~ gb5@6]/2", V: "[e5@23 gb5@23 ~ ab5@24 gb5@24 e5@50 ~@47]/4",
})).s("gm_pad_metallic").gain(0.72).pan(0.4)

// other · pad metallic
const pad_metallic_2 = note("<~ A B C ~@7 B C ~@4 B C ~@10 A ~@5 A ~@16 B C ~@8 D E ~>".pickRestart({
  A: "~@2 f5@6 ~@3 f5@6 ~@3 f5@6 ~@3 f5@6 ~@3 f5@6 ~@4", B: "~@26 f5@6 ~@3 f5@6 ~@3 f5@4", C: "~@5 f5@6 ~@3 f5@6 ~@28",
  D: "~@24 e5@6 ~@4 e5@6 ~@3 e5@5", E: "~@5 e5@7 ~@3 e5@7 ~@3 e5@7 ~@16",
})).s("gm_pad_metallic").gain(0.48).pan(1)

// other · pad metallic · soft notes
const pad_metallic_soft = note("<~ A@2 B ~@8 B ~@5 B ~@10 A@2 ~@4 A@2 ~@16 B ~@9 C ~>".pickRestart({
  A: "[~@47 f5@6 ~@43]/2", B: "~@23 f5@6 ~@19", C: "~@35 e5@7 ~@6",
})).s("gm_pad_metallic").gain(0.24).pan(1)

// chords · string ensemble 2
const string_ensemble_2 = note("<~ A@5 ~@5 B@8 C@6 D@4 E@6 F@2 G@3 H@2 I@4 J@8 C@6 K@5>".pickRestart({
  A: "[[ab3,db4]@46 ~ [a3,eb4]@47 ~ bb3@24 [a3,gb4]@24 f4@24 [c4,eb4]@48 ~@25, f4@118 ~@25 ab3@72 ~@25, ~@46 c4@48 ~ db4@73 ~@72]/5", // Db5 Adim D Cm
  B: "[~@24 [ab3,db4]@46 ~ eb4@48 bb3@48 [a3,gb4]@47 ~ f4@49 [c4,eb4]@48 db4@48 [c4,eb4]@24, ~@12 f4@72 ~@23 ab3@49 ab3@36, ~@70 [a3,c4]@49 db4@145 ~@120]/8", // Db5 D Cm Am
  C: "[~@24 [f3,bb3]@23 ~ [gb3,a3]@23 [ab3,f4]@24 g3@23 ~ gb3@24 ~@25 c4@23 e4@47 ~@2 eb4@47 ~, ~@47 eb4@24 ~@24 bb3@48 ab3@48 b3@95 ~@2]/6", // Bb5 Gbm Db
  D: "[db4@23 c4@24 b3@24 gb4@24 ~@24 [e3,b3]@24 [eb3,ab3,eb4]@48 ~, e4@71 db4@48 ~@73, ~@95 e4@49 ~@48]/4", // E5 Ab5
  E: "[[ab3,db4]@46 ~ [a3,eb4]@48 bb3@48 [a3,gb4]@47 ~ f4@49 [c4,eb4]@48, f4@72 ~@23 ab3@49, ~@46 c4@49 db4@145 ~@48]/6", // Db5 Adim D Cm
  F: "[db4 [c4,eb4], ab3]/2", // Cm
  G: "[[f3,bb3]@23 ~ [gb3,a3]@23 [ab3,f4]@24 g3@23 ~ gb3@24 ab3@25, ~@23 eb4@24 ~@24 bb3@48 ~@25]/3", // Bb5 Gbm Db
  H: "[c4@23 e4@47 ~@2 eb4@24, ~@23 b3@73]/2",
  I: "[~@24 db4@23 c4@24 b3@24 gb4@24 ~@24 [e3,b3]@24 [eb3,ab3,eb4]@25, ~@24 e4@71 db4@48 ~@49, ~@119 e4@49 ~@24]/4", // E5 Ab5
  J: "[~@24 [ab3,db4]@46 ~ [a3,eb4]@48 bb3@48 [a3,gb4]@47 ~ f4@49 [c4,eb4]@48 db4@48 [c4,eb4]@24, ~@12 f4@72 ~@23 ab3@49 ab3@36, ~@70 c4@49 db4@145 ~@120]/8", // Db5 Adim D Cm
  K: "[db4@23 c4@24 b3@24 gb4@24 ~@24 [b2,gb3,eb4]@26 ~ [e2,e3]@52 ~@42, e4@71 db4@47 ~ b3@71 ~@50, ~@95 [a2,e3,a3]@25 ~@25 ab3@47 ~@48, ~@96 e5@83 ~@61, ~@145 e4@41 ~@54]/5", // B E A5
})).s("gm_string_ensemble_2").gain(0.32).pan(0.1)

// chords · string ensemble 2 · soft notes
const string_ensemble_2_soft = note("<~@5 A@7 ~@53>".pickRestart({
  A: "[~@24 [ab3,db4]@46 ~ [a3,eb4]@48 bb3@48 [a3,gb4]@47 ~ f4@49 [c4,eb4]@48 ~@24, ~@12 f4@72 ~@23 ab3@49 ~@12, ~@70 c4@49 db4@145 ~@72]/7", // Db5 Adim D Cm
})).s("gm_string_ensemble_2").gain(0.16).pan(0.1)

// other · string ensemble 1
const string_ensemble_1 = note("<~ A@5 ~@5 B@3 C@7 D@3 E@5 F@4 G@2 H I J@8 K@4 C@7 D@3 L@4 M@2>".pickRestart({
  A: "[db3@47 c3@48 bb2@24 a2@24 ~@24 ab1@48 ~@25, ~@143 ab2@73 ~@24]/5", B: "[~@24 db3@47 c3@48 bb2@25]/3",
  C: "[~@22 a2@50 ~@48 ab1@48 db3@48 c3@48 bb2@23 a2@24 ab2@24 g2, ~@3 ab2@4 ~@7]/7",
  D: "[~@23 gb2@24 ab2@48 e3@48 ~]/3", E: "[eb3@47 db3@24 c3@24 b2@24 db3@24 a2@24 ab2@24 ab2@48 ~]/5",
  F: "[db3@47 c3@48 bb2@47 a2@50]/4", G: "[~ ab1, ab2]/2", H: "db3", I: "c3",
  J: "[bb2@23 a2@24 ab2@24 g2@24 gb2@24 ab2@48 e3@48 ~ eb3@47 db3@24 c3@24 b2@24 db3@24 a2@24 ab2]/8",
  K: "[~@23 ab2@48 ~ db3@47 c3@48 bb2@25]/4", L: "[eb3@47 db3@24 c3@24 b2@24 db3@24 a2@24 b2@25]/4",
  M: "[~ e2@54 ~@41]/2",
})).s("gm_string_ensemble_1").gain(0.35)

// other · string ensemble 1 · soft notes
const string_ensemble_1_soft = note("<~@5 A@7 ~@17 B ~@16 C@2 ~@17>".pickRestart({
  A: "[~@24 db3@47 c3@48 bb2@47 a2@50 ~@48 ab1@48 ~@24, ~@9 ab2@4 ~]/7", B: "db2@3 ~", C: "[~@2 db2@3 ~@3]/2",
})).s("gm_string_ensemble_1").gain(0.17)

// other · string ensemble 2
const string_ensemble_2_2 = note("<~ A@5 ~@11 B@2 C@3 D@8 ~@4 E@3 F@3 G@7 ~@5 B@2 C@3 H@6 I@2>".pickRestart({
  A: "[f4@32 gb4@8 f4@7 eb4@9 f4@9 eb4@14 gb4@10 f4@6 db4@35 c4@7 db4@6 f4@24 eb4@47 ~@26]/5",
  B: "[~@5 [c4,eb4]@6 [db4,f4]@6 [eb4,gb4]@6 [f4,ab4]@47 eb4@26]/2", // Cm Db Ebm Fm
  C: "[~@5 c4@6 db4@6 eb4@5 ~@2 db4@70 eb4@24 ~ db4@24 c4]/3",
  D: "[~@17 db4@6 eb4@11 f4@6 gb4@7 ab4@48 b4@47 ~ ab4@23 ~ a4@24 ab4@47 ~ a4@23 ab4@24 ~ c4@17 db4@7 eb4@12 f4@5 gb4@7 f4@13 ~@36]/8",
  E: "[~@29 [c4,eb4]@6 [db4,f4]@6 [eb4,gb4]@6 [f4,ab4]@47 eb4@31 c4@6 db4@6 eb4@5 ~@2]/3", // Cm Db Ebm Fm
  F: "[db4@70 eb4@24 ~ db4@24 c4@18 db4@6 eb4]/3",
  G: "[~@10 f4@6 gb4@7 ab4@48 b4@47 ~ ab4@23 ~ a4@24 ab4@47 ~ a4@23 ab4@24 ~ c4@17 db4@7 eb4@12 f4@5 gb4@7 f4@18 ~@7]/7",
  H: "[~@17 db4@6 eb4@11 f4@6 gb4@7 ab4@48 b4@47 ~ ab4@23 ~ a4@24 ab4@47 ~ a4@23 b4@25 ~]/6", I: "[~ b4@53 ~@42]/2",
})).s("gm_string_ensemble_2").gain(0.39).pan(0.8)

// other · piano
const piano_2 = note(`<
  A@2 B C D@2 E@3 F@2 G E@3 F@2 H@3 I@3 J K L M N O P Q R S T U V W X@4 Y Z AA AB AC AD E@3 F@2 H@3 AE@4 AF L M AG@3
>`.pickRestart({
  A: "[~@63 db3@6 db3@14 ~ db3@9 ~@3, ~@45 db2@50 ~]/2", B: "~@3 c3@12 c3@8 ~ c3@12 c3@9 c3@3, c2",
  C: "~@6 bb2@6 bb2@6 bb2@6 ~@9 a2@6 a2@5 a2@3 ~, bb1 a1",
  D: "[~@9 ab2@9 ab2@6 ~@6 ab2@9 ab2@5 ab2@15 ~ ab2@9 ab2@3 ~@6 db3@9 ~@9, ab1@12 ab1@24 db2@11 ~, ~@75 ab2@20 ~]/2",
  E: "[~@4 db3@4 ~@12 a2@3 a2 ~@3 bb2@3 ~@11 a2@5 a2@2, db2@24 a1@22 ~@2 a1@24 bb1@48 a1@23 ~, ~ ab2@7 ~@5 a2@7 ~@28]/3",
  F: "[~@3 a2@9 ~@18 db3@6 ~@6 db3@18 db3@12 ab2@12 ab2@9 ab2@2 ~, ~@12 db2@24 ab1@11 ~, ~@9 ab2@15 ~@8]/2",
  G: "~ ab2@3 ab2@3 ab2 ~@2 db3@3 ~@3, ab1@12 db2@11 ~, ~@27 ab2@20 ~",
  H: "[~@3 ab2@9 ab2@9 ab2@3 db3@9 db3@5 db3@8 ~ db3@12 ~ db3@6 db3@5 ~@10 c3@12 c3@3 ~@2 c3@9 c3@6 ~ c3@5 ~@7 bb2@12 bb2@5 ~, ab1@24 db2@47 ~ c2@47 ~ bb1@23 ~]/3",
  I: "[~@5 a2@12 ~ a2@5 ~@7 ab2@6 ab2@5 ab2@6 ~@3 g2@9 g2@6 g2@6 gb2@9 ~ gb2@11 gb2@3 ~@10 ab2@12 ab2@3 ~@12 ab2@6 ab2@5 ~, a1@23 ab1@23 ~ g1@24 gb1@23 ~ ab1@48 ~]/3",
  J: "e2@24 ~@3 b2@20 ~, ~ e2", K: "~@6 bb2@18 ~@3 bb2@20 ~, eb2@23 ~ eb2@23 ~",
  L: "~@6 db3@12 db3@6 ~@3 c3@15 c3@5 ~, db2@23 ~ c2@23 ~", M: "~@3 b2@15 b2@5 ~@4 db3@15 db3@5 ~, b1@23 ~ gb2@23 ~",
  N: "a2@23 ~ ab2@24", O: "ab2@23 ~ ab2@24", P: "~@2 db3@3 ~@7 db3@4, db2@11 ~ db2@12, ~@3 ab2@20 ~@4 ab2@21",
  Q: "~ a2@4 ~@7 a2@3 a2, a1@11 ~ a1@12, ~@5 a2@7 ~@4", R: "~@3 bb2@3 bb2@2 ~ bb2@3 bb2@2 ~@2, bb1",
  S: "~ a2@5 a2@2 ~ a2@3 a2@2 ~@2, a1@23 ~ a1@24", T: "~ db3!2 db3@3 db3@2, db2, ~ ab2@15",
  U: "ab2@12 ab2@9 ab2@2 ~@4 ab2@9 ab2@9 ab2@3, ab1@11 ~ ab1@12",
// … 75 more lines

More by Pooh