Strudelify

Una storia che fa ridere

Pooh

KeyC majorTempo61 bpm
0:00/0:00
// Una storia che fa ridere — Pooh
// 61 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 36, 4/4 at bar 36, 2/4 at bar 60, ...) 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 67 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(61/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("<~@25 A@6 B@3 ~@15 C D@2 E F@5 ~@9>".pickRestart({
  A: "[~@3 [g4,c5,e5]@6 g4@2 g4@2 ~@2 c4@4 [c5,e5,g5] ~ [c5,g5]@2 c4@2 ~ [c5,e5,g5]@2 c3@2 c5@2 e5@2 g5 ~ [b4,d5]@4 g4@4 [b4,d5]@3 ~@3 d4@2 [g5,e6]@2 d6 ~@3 [d4,g5]@2 e6@2 d6@2 c#6@4 [f5,a5,d6]@6 a5@2 [f5,a5,d6]@2 ~@2 d4@4 [a4,e5]@3 d5 ~ [a4,c#5] ~ [a4,d5]@2 ~@2 c#5@2 ~@2 e5 ~ [a4,c5]@4 a3 ~@3 e4@3 ~@3 e4@2 a4@2 c5 ~ [a4,c5] ~ [e4,c5]@2 ~@2 e4@2 [a3,e4,b4]@2 c5 ~ [g4,c5]@5 ~@3 e4@3 ~@3 [g3,e4]@2 [g4,a#4,c5]@2 [e4,a#4] ~ [e4,g4,a#4,c5] ~ e4@2 ~@4 [e4,g4,a#4,c5]@3 ~ [f4,a4,c5]@4 f3@3 ~ [a4,c5]@4 f3@3 f4 ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,c5]@4 [f2,f3]@2, ~@3 c3@16 c3@6 ~@5 c4@6 [g3,g5]@9 ~@3 g4@4 [g3,b5]@4 g4@4 g3@8 d3@16 d3@6 ~@3 d3@8 a2@16 a2@7 ~ a2@7 ~ c3@16 c3@6 ~@2 c3@7 ~ f2@8 ~@9 f2@7 ~@3, ~@11 [c5,e5]@8 ~@13 c5@4 ~@8 g5@4 ~@12 [g5,b5]@4 ~@25 d4@2 ~@4 a4@6 ~@8 [a4,c5]@8 e4 ~@9 a4@5 ~ e4@3 ~@5 [g4,c5]@8 e4 ~@5 [g4,a#4,c5]@5 ~@13 f4@3 ~@16, ~@97 [d4,d5]@4 ~@12 a3@4 ~@4 a3@2 ~@22 c4@4 ~@4 c4@2 ~@4 c4@5 ~@22 [f3,a4]@3 ~@3]/6", // C C5 C Bm C G5 Dm A5 …
  B: "[~@2 [a4,c5]@2 f4 ~ [d3,f#4,a4,d5]@4 d4@2 f#4@2 d4@3 ~ [a3,f#4]@3 ~ [d3,c4,d4]@3 ~ a3@2 d4@2 ~@4 [c4,f#4,a4]@3 ~ [g2,b3,d4,g4]@32 ~@26, ~@2 f4 ~@9 [d3,d5]@9 ~@9 d3@7 ~@59, ~@12 a4@6 ~@4 [f#4,a4]@4 ~@2 [c4,f#4,a4]@4 a3@5 ~@59]/3", // Am D D7 F#dim G D F#m F#dim
  C: "~@3 [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5]@2 g3 ~ [g4,b4,d5] ~ [g3,g4,b4,d5] ~ [g4,b4,d5]@2 [g4,c5,e5]@5 ~ g4@2 [g4,c5,e5]@3 ~ c4 ~@2, ~@17 c3@12 ~@3", // G C
  D: "[~ [c5,e5,g5] ~ [c5,g5]@2 c4@2 [c5,e5,g5]@2 c3@2 [c4,c5]@2 c5@2 g5 ~ [b4,d5,g5]@4 g4@4 [b4,d5,g5]@4 g4 ~ d4@2 [g5,e6]@2 d6 ~ g4 ~ d4@2 [g5,b5,e6]@2 d6@2 c#6@2 ~ [a5,d6]@6 a5 ~ [f5,a5,d6]@2 ~@2 d4 ~@3, ~ c3@6 ~@6 e5 ~@3 g3@8 ~@8 [g3,b5]@4 ~@2 g5 ~ g3@5 ~@2 d3@11 ~@5, ~@12 f5 ~@3]/2", // C C5 C G C Em D5 Dm …
  E: "[a4,e5]@2 d5 ~ [a4,c#5] ~ [a4,d5]@2 ~@2 c#5@2 d5@2 e5 ~ [a4,c5]@4 a3 ~@3 [a4,c5]@4 a3 ~ e4@2, d3@4 d4@2 ~@2 d3@4 d4 ~@3 a2@14 ~@2, ~@10 a4@5 ~@9 e4@3 ~@5", // A5 A D5 Am
  F: "[a4@2 c5 ~ [a4,c5] ~ [e4,c5]@2 ~@2 [e4,a4] ~ [a3,e4,b4] c5 ~ [g4,c5]@5 ~@3 e4@3 ~ c4 ~ [g3,e4] ~ [g4,a#4,c5]@2 [e4,a#4] ~ [e4,g4,a#4,c5] ~ e4@2 ~@2 c4@2 [e4,g4,a#4] ~@3 [f4,a4,c5]@4 f3@3 ~ [f4,a4,c5]@4 f3@2 f4 [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,c5]@4 f2@4 [a4,c5]@2 f4 ~ [d3,f#4,a4,d5]@4 d4@2 f#4@2 d4@3 ~ a3@3 [d3,c4,d4]@3 ~ a3@2 d4@2 d3@2 a3 ~ [c4,f#4,a4] ~@3 [g2,b3,d4,g4]@32 ~@19, a2@6 ~@2 a2@4 ~@3 c3@12 ~@4 c3@6 ~@2 c3@4 ~@4 f2@8 ~@7 f2@6 ~@16 [d3,a4,d5]@7 ~@69, e4 ~@3 a3@2 ~@9 e4@3 ~@5 [g4,c5]@7 ~ e4 ~@3 c4@2 [g4,a#4,c5]@5 ~ c5@2 ~@21 [f3,a4]@3 ~ f3@3 ~ f4 ~@15 f#4 ~@2 [f#4,a4]@4 ~@2 [c4,f#4,a4]@5 ~@56]/5", // Am C A5 Asus2 C5 C C7 Edim …
})).s("gm_piano").gain(0.35).pan(0.4)

// chords · piano · soft notes
const piano_soft = note("<~@25 A B C D E F G ~@17 H@2 I J K L M ~@11>".pickRestart({
  A: "~@7 c4@4 ~@6 g3@2 ~@13", B: "~@2 e5 ~@7 d5@2 ~@6 g5@2 ~@6 b5@2 ~@4", C: "~ d6 ~@2 d4@2 ~@3 a3 ~@6, [g4,g5] ~@7",
  D: "~@11 [e4,a4,c5] ~@13 e4 ~@5 a3", E: "~@9 c4 ~ [e4,g4,c5] ~@20", F: "~@11 [f4,a4,c5] ~@20", G: "a4 ~@19 f#4 ~@11",
  H: "[~@5 g3 ~@15 c4 ~@9 g3@2 ~@14 e5 ~@7 d5 ~@7 g5]/2", I: "~@7 b5 ~@5 [g4,g5] ~ d6 ~@4 d4 ~@9 a3 ~",
  J: "~@22 [e4,a4,c5] ~@9", K: "~@4 e4 ~@5 a3 ~@8 c4 ~ [e4,g4,c5] ~@10", L: "~@21 [f4,a4,c5] ~@10",
  M: "~@8 a4 ~@18 f#4 ~@4",
})).s("gm_piano").gain(0.15).pan(0.4)

// bass · fretless bass
const bass = note(`<
  ~@9 A B C D E F G H I J K L M@2 N@2 O P Q R S T@2 U@2 V@2 W@6 X@2 Y@2 Z AA AB AC@2 AD AE AF@3 AG@2 ~@9
>`.pickRestart({
  A: "c2@27 ~@2 c2@2 ~", B: "~ b1@19 ~ g1@3 ~ b1 ~ c2 ~ c#2@2 ~", C: "d2@15 ~ e3@4 d3@4 a2@3 ~ d2@2 ~@2", D: "a1@3 ~",
  E: "g#2@15 ~ e2@8 b2@3 ~ e3@4", F: "a2@7 ~ g2@6 ~@2", G: "f2@3 ~ f1@4 a1@2 a#1 ~ b1@3 ~ c2@12 e2 ~ f2@2",
  H: "g2@23 ~ g2@7 ~", I: "c3@6 ~ b2 c3@6 ~ b2 c3@7 ~@2 c3@7", J: "~ b2@8 g2@7 ~@2 g2@4 g1@3 ~ a1@2 b1@2 c2@2",
  K: "c#2@2 d2@11 ~ a2 ~@3 e3@4 d3@4 a2 ~@3 d2@2", L: "~@2 a2@7 ~ a2@7 ~ a2@7 ~ a2@3 ~ b2@2",
  M: "[~@2 c3@13 ~ c3 ~ a#2@12 ~ a#2@3 ~ a2@4 c2@3 ~ a1@6 ~@2 a2@8 g2@5]/2",
  N: "[~@3 f#2@4 d2@2 ~@2 f#2@4 a2@3 ~ d3@4 a2@3 ~ e3@2 d3@2 a2@3 ~ g2@15 ~ g2@7 ~ g2@5]/2",
  O: "~@3 c2@8 c3@12 g2@3 ~@2 c3@4", P: "g2@4 g2@8 g2@8 g2@4 g1@4 b1@2 c2 ~", Q: "c#2@4 d2@8 d3@8 d3@7 ~ e3@2 ~ d3",
  R: "~ a2@4 a2@7 ~ a2@5 ~ a2@2 ~@2 a2@2 a2@2 b2@2 c3 ~ a2", S: "~ a#2 ~ b2@2 c3@8 c2@7 ~ a#2@11",
  T: "[~ a#2@3 ~ a2@4 c2@3 ~ a1@8 ~ a2@8 f2@8 f#2@4 d2@2 ~@2 f#2@4 a2@3 ~ d3@4 a2@3 ~ e3@2]/2",
  U: "[d3@2 a2@3 ~ g2@15 ~@2 g2@27 ~@5 c2@9]/2",
  V: "[~@3 g2 ~@3 c3@8 ~ c2 ~ a1 ~ g1 ~@3 b1@16 g1@4 b1 ~ c2 ~@3 d2 ~@2 b1 c2 c#2 d2@8]/2",
  W: "[~@4 a2 ~@2 e3@4 d3@4 a2 ~ d2 ~ a2@4 a1@3 ~ a2@22 ~@3 a2 ~@2 g#2@8 e2@7 g#2 ~@3 e3@4 f3@2 e3@2 b2@3 ~ a2@14 a2 ~ g2@7 ~ g2@5 ~@3 f2@4 f1@4 ~ a#1@2 b1@3 ~ c2@4 c3@2 ~@2 c3@3 ~ g2 ~ a2 ~ g2@15 ~ g2@15 ~ c3@6 b2 c3@4, ~@51 e2@2 ~@73 a1@2 ~@64]/6",
  X: "[~@3 b2 c3@7 ~ c3@7 ~ b2@8 g2@7 ~ g2@4 g1@3 ~ a1 ~ b1@2 c2@2 c#2@2 d2@11 ~]/2",
  Y: "[a2 ~@3 e3@4 d3@4 a2 ~@3 d2@3 ~ a2@7 ~ a2@7 ~ a2@7 ~ a2@3 ~ b2@3 ~ c3@12]/2",
  Z: "~ c3 ~ a#2@12 a#2@3 ~ a2@4 c2@3 ~ a1@5", AA: "~@3 a2@7 ~ g2@7 ~ f#2@3 d2@2 ~@2 f#2@3 ~ a2@2",
  AB: "~@2 d3@4 a2@3 ~ e3@2 d3@2 a2@3 ~ g2@14", AC: "[~@2 g2@7 g2@7 ~ c2@8 c3@12 g2@3 ~ c3@4 g2@4 g2@8 g2@7]/2",
  AD: "~ g2@3 ~ g1@4 b1@2 c2 ~ c#2@3 d2@8 d3@7 ~", AE: "d3@6 ~@2 e3@2 d3 ~ a2@4 a2@7 ~ a2@4 ~@2 a2@2",
  AF: "[~@2 a2@2 a2@2 b2@2 c3 ~ a2 ~ a#2 b2@2 c3@8 c2@7 ~ a#2@11 ~ a#2@3 ~ a2@4 c2@3 ~ a1@7 a2@8 f2@8 f#2@4 d2@2 ~@2 f#2@3 ~ a2@3 d3@3]/3",
  AG: "[~ a2@3 ~ e3@2 d3@2 a2@3 ~ g2@16 g2@33 ~@2]/2",
})).s("gm_fretless_bass").gain(0.46)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  ~@9 A B C D E F G H I J K L M@4 N O@2 P@3 Q@6 R@4 S@8 T@7 U@3 V W@2 X Y Z@3
>`.pickRestart({
  A: "c5@24 ~ e4@7", B: "~ g4@31", C: "a4@25 ~@7", D: "~ e4 a4 b4 c5@4", E: "~@8 e5@15 ~ b4@8", F: "c5@16 a4@15 ~",
  G: "a4@15 ~ g4@15 ~", H: "g4@4 f4 e4 f4 d4", I: "[e4,g4]", J: "~ [b3,d4]@31", K: "~ [f4,a4]@15", L: "~ [c4,e4]@15",
  M: "[~@2 [e4,g4]@33 [c4,f4]@32 [f#4,a4]@32 [f4,b4]@29]/4", N: "~@3 [e4,g4]@29", O: "[~ [b3,d4]@8 [f4,a4]@7]/2",
  P: "[~@5 [c4,e4]@32 [e4,g4]@32 [c4,f4]@27]/3", // C Em F5
  Q: "[~@6 [f#4,a4]@32 [f4,b4]@32 ~@17 c5@24 ~ e4@8 g4@31 ~ f4@23 g4@4 a4@3 ~ a4@4 e4@3 ~ a4]/6", // F#m Fdim
  R: "[~@3 b4@4 c5@16 ~@8 e5@15 b4@7 ~ c5@24 a4@4 g4@3 ~ a4@15 g4@15 ~ g4@11]/4",
  S: "[~@5 f4@4 e4@4 f4@3 ~ d4@3 ~ [e4,g4]@31 [b3,d4]@32 [f4,a4]@32 [c4,e4]@31 ~ [e4,g4]@31 [c4,f4]@31 ~ [f#4,a4]@31 [f4,b4]@14]/8", // Em Bm F C Em F5 F#m Fdim
  T: "[~@17 [e4,g4]@32 ~@20 g4 ~ f#4 ~ g4 ~ a4 ~ f#4 ~ g4 [f4,a4]@31 ~ [c4,e4]@31 [e4,g4]@31 ~ [c4,f4]@31 [f#4,a4]@18, ~@49 [b3,d4]@31 ~@144]/7", // Em F C Em F5 F#m Bm
  U: "[~@13 [f4,b4]@33 ~@17 c5@24 ~ e4@8]/3", V: "g4", W: "[f4@6 a4@3 e4 a4 b4 c5@4]/2", X: "e5@3 d5",
  Y: "~ c5@24 a4@7", Z: "[~ f4@8 a4@8 ~ g4@65 ~@13]/3",
})).s("gm_string_ensemble_2").gain(0.32)

// other · string ensemble 1
const string_ensemble_1 = note(`<
  ~@9 A B C D E F G H I J K L M N O@2 P@4 Q@5 ~@3 R@2 S@7 T@5 U@2 V@5 ~@3 W X Y Z AA@2
>`.pickRestart({
  A: "e4@4 d4@4 ~ c4@4 b3@4 c4@8 e4@7", B: "~ g3@16 d4@4 g3@3 ~ a3@4 g3@3", C: "~@4 d3@4 f3@4 a3@4 d4@15 ~",
  D: "a3@15 ~ e4@4 c4@4 b3@4 a3@3 ~", E: "g#3@4 b3@4 e4@4 d4@4 e4@8 g#3@7 ~", F: "a3 c4 e4 d4 e4 c4 a3 g3",
  G: "f3@16 c3@15 ~", H: "g3@15 ~ f3@4 e3@4 f3@4 d3@4", I: "c3", J: "~ g3@31", K: "~ d3@15", L: "~ a3@15",
  M: "~@2 c3@15 ~ a#2@14", N: "~@3 a2@29", O: "[~@3 d3@32 g2@29]/2",
  P: "[~@3 c3@32 ~ g3@32 d3@32 ~ a2@16 a2@3 ~ a2 ~ b2 ~ c3@3]/4",
  Q: "[~ b2@4 c3@15 ~ a#2@15 ~ a2@31 ~@2 d3@32 g2@31 ~@27]/5",
  R: "[~@7 e4@4 c4@4 b3@4 a3@4 g#3@4 b3@4 e4@3 d4@4 e4@8 g#3@7 ~ a3@4 c4@4 e4@2]/2",
  S: "[~@2 d4@4 e4@4 c4@4 a3@4 g3@3 ~ f3@15 c3@15 ~ g3@16 f3@4 e3@4 f3@4 d3@4 c3@31 g3@32 d3@32 a3@31 ~ c3@12]/7",
  T: "[~@3 a#2@15 ~ a2@30 ~@2 d3@31 g2@30 ~ c3@32 g3@15]/5",
  U: "[~@5 [g2,g3] ~ [f#2,f#3] ~ [g2,g3] ~ [a2,a3] ~ [f#2,f#3] ~ [g2,g3] d3@31 ~ a2@16]/2", // G F# G A F# G
  V: "[a2@3 ~ a2 ~ b2 ~ c3@3 ~ b2@3 c3@15 ~ a#2@15 ~ a2@29 ~@2 d3@31 g2@32 ~@19]/5", W: "~@4 e4 c4 b3 a3",
  X: "g#3 b3 e4 d4 e4@2 g#3@2", Y: "~ a3@4 c4@4 e4@4 d4@4 e4@4 c4@4 a3@4 g3@3", Z: "~ f3@16 ~ c3@14",
  AA: "[~@2 g3@49 ~@13]/2",
})).s("gm_string_ensemble_1").gain(0.38).pan(0.6)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@15 A@3 B C D E@4 F G@3 H I J K@2 ~@6 L@3 M N O P Q R S@3 T U@2 V W@2 ~@9
>`.pickRestart({
  A: "[~@32 [d4,g4]@7 ~ [b3,d4,g4]@5 ~ [g3,b3,d4,g4]@4 [g3,b3,d4,g4]@2 [g3,b3,d4,g4]@6 [g3,b3,d4,g4]@2 [g3,b3,d4,g4]@3 ~ [g3,c4,e4]@7 ~ [e3,g3,c4,e4]@6 [e3,g3,c4,e4]@4 ~ [e3,g3,c4,e4] ~ [e3,g3,c4,e4]@5 ~ [e3,g3,c4,e4] ~ [e3,g3,c4,e4]@3, ~@31 [g3,b3]@6 ~@2 g3@6 ~@18 e3@7 ~@26]/3", // G5 G C G
  B: "~ [b3,d4,g4]@4 [b3,d4,g4]@3 ~ [b3,d4,g4]@3 ~ [b3,d4] ~ [b3,d4]@3 ~@2 [g3,b3,d4,g4]@2 [g3,b3,d4,g4]@5 ~ [b3,d4,g4] ~ [b3,d4,g4]@2, g3@5 g3@7 ~ [g3,g4]@5 ~@10 g3@4", // G Bm G
  C: "~@2 [d4,f4]@5 ~ [f3,a3,d4,f4] ~ [f3,a3,d4,f4]@3 ~ [f3,a3,d4,f4]@5 ~ [f3,a3,d4,f4] ~ [f3,a3,d4,f4]@4 [f3,a3,d4,f4] ~ [f3,a3,d4,f4]@3 ~, ~ [f3,a3]@6 ~@25", // Dm F
  D: "[f3,a3,d4,f4] ~ [a3,c4,e4]@3 ~ [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@5 ~ [e3,a3,c4,e4]@3 ~ [e3,a3,c4,e4] ~ [e3,a3,c4,e4]@5 ~ [e3,a3,c4,e4] ~ [e3,a3,c4,e4]@2, ~ e3@4 ~@27", // Dm Am
  E: "[~@2 [g3,c4,e4]@3 ~ [e3,g3,c4,e4]@3 ~ [e3,g3,c4,e4]@5 ~ [e3,g3] ~ [e3,g3,a#3,e4]@3 ~ [e3,g3,a#3,e4]@3 ~ [e3,g3,a#3,e4]@4 ~ [e3,g3,a#3,e4]@2 ~@2 f4@3 ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@6 [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@5 ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [a3,d4,f#4]@3 ~ [f#3,a3,d4,f#4]@3 ~ [f#3,a3,d4,f#4]@5 ~ [f#3,a3,d4,f#4]@3 ~ [f#3,a3,c4,f#4] ~ [f#3,a3,c4,f#4]@5 ~ [f#3,a3,c4,f#4] ~ [f#3,a3,c4,f#4]@4 [g3,b3,d4,f4]@3 ~ [g3,b3,d4,f4]@4 [g3,b3,d4,f4]@4 [g3,b3,d4,f4] ~ [g3,b3,d4,f4] ~ [g3,b3,d4,f4]@4 [g3,b3,d4,f4] ~ [g3,b3,d4,f4] ~ [g3,b3,d4,f4]@4 [g3,b3,d4,f4], ~ e3@4 ~@29 [f3,a3,c4]@4 ~@28 f#3@4 ~@58]/4", // C Em Edim F D F#dim G7 F
  F: "~ [g3,b3,d4,f4]@2 [e3,g3,c4,e4]@7 ~@2 e4@5 [e3,g3,c4,e4]@4 [e3,g3,c4,e4] ~ [e3,g3,c4,e4]@5 ~@2 [e3,g3,c4,e4] ~, ~@11 [e3,g3,c4]@6 ~@15", // G7 C
  G: "[[e3,g3,c4,e4]@3 ~ [d4,g4]@4 [b3,d4,g4]@3 ~ [b3,d4,g4]@3 ~ [b3,d4] ~ [b3,d4]@3 ~ [g3,b3,d4,g4] ~ [g3,b3,d4,g4]@5 ~ [b3,d4,g4] ~ [b3,d4,g4]@3 ~ [d4,f4]@5 ~ [f3,a3,d4,f4] ~ [f3,a3,d4,f4]@3 ~ [f3,a3,d4,f4]@6 ~ [f3,a3,d4,f4] ~ [f3,a3,d4,f4]@4 [f3,a3,d4,f4] ~ [f3,a3,d4,f4]@3 ~ [f3,a3,d4,f4] ~ [c4,e4]@3 ~ [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@6 [e3,a3,c4,e4]@3 ~ [e3,a3,c4,e4] ~ [e3,a3,c4,e4]@5 ~ [e3,a3,c4,e4], ~@3 [g3,b3]@5 g3@7 ~ [g3,g4]@5 ~@9 g3@5 [f3,a3]@6 ~@27 [e3,a3]@4 ~@24]/3", // C G5 G Bm G Dm C Am …
  H: "~ [e3,a3,c4,e4]@3 ~ [g3,c4,e4]@3 ~ [e3,g3,c4,e4]@3 ~ [e3,g3,c4,e4]@5 ~ [e3,g3] ~ [e3,g3,a#3,e4]@3 ~ [e3,g3,a#3,e4]@3 ~ [e3,g3,a#3,e4]@3, ~ e3 ~@6", // Am C Em Edim
  I: "~@2 e3@2 ~ [a3,c4,f4]@3 ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@6 ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@5 ~, ~ [g3,a#3,e4]@2 ~ f3@4 ~@24", // F Edim
  J: "[f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [d4,f#4]@3 ~ [f#3,a3,d4,f#4]@3 ~ [f#3,a3,d4,f#4]@5 ~ [f#3,a3,d4,f#4]@3 ~ [f#3,a3,c4,f#4] ~ [f#3,a3,c4,f#4]@5 ~, ~@5 [f#3,a3]@4 ~@23", // F D F#dim F#m
  K: "[[f#3,a3,c4,f#4] ~ [f#3,a3,c4,f#4]@4 [g3,b3,d4,f4]@32 ~@26]/2", // F#dim G7
  L: "[~@21 [b3,d4,g4]@7 ~ [b3,d4,g4]@5 ~ [g3,b3,d4,g4]@4 [g3,b3,d4,g4]@2 [g3,b3,d4,g4]@6 [g3,b3,d4,g4]@2 [g3,b3,d4,g4]@3 ~ [c4,e4]@7 ~ [g3,e4]@5 [e3,g3,c4,e4]@4 [e3,g3,c4,e4] ~ [e3,g3,c4,e4]@5 ~ [e3,g3,c4,e4] ~ [e3,g3,c4,e4]@3 ~ [g3,b3,d4,g4]@4 [b3,d4,g4]@3 ~ [b3,d4,g4]@3 ~, ~@20 g3@6 ~@2 g3@6 ~@18 [e3,g3]@7 ~ [e3,c4]@6 ~@22 g3@7 ~]/3", // G C G Em C
  M: "[b3,d4] ~ [b3,d4]@3 ~ [g3,b3,d4,g4] ~ [g3,b3,d4,g4]@5 ~ [b3,d4,g4] ~ [b3,d4,g4]@3 ~ [d4,f4]@5 ~ [f3,a3,d4,f4] ~ [f3,a3,d4,f4]@3 ~, [g3,g4]@5 ~@9 g3@5 [f3,a3]@6 ~@7", // Bm G Dm G F
  N: "[f3,a3,d4,f4]@5 ~ [f3,a3,d4,f4] ~ [f3,a3,d4,f4]@4 [f3,a3,d4,f4] ~ [f3,a3,d4,f4]@3 ~ [f3,a3,d4,f4] ~ [a3,c4,e4]@3 ~ [e3,a3,c4,e4]@3 ~ [e3,a3,c4,e4]@4, ~@19 e3@4 ~@9", // Dm Am
  O: "~@2 [e3,a3,c4,e4]@3 ~ [e3,a3,c4,e4] ~ [e3,a3,c4,e4]@5 ~ [e3,a3,c4,e4] ~ [e3,a3,c4,e4]@3 ~ [c4,e4]@3 ~ [e3,g3,c4,e4]@3 [e3,g3,c4,e4]@5, ~@19 [e3,g3]@4 ~@9", // Am C Em
  P: "~ [e3,g3] ~ [e3,g3,a#3,e4]@3 ~ [e3,g3,a#3,e4]@3 ~ [e3,g3,a#3,e4]@4 [e3,g3,a#3,e4]@2 ~@2 [a3,c4,f4]@3 ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@5, ~@9 f3@2 ~@5", // Em Edim F
  Q: "~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@5 ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@2 ~ [a3,d4,f#4]@3 ~ [f#3,a3,d4,f#4]@3 ~ [f#3,a3,d4,f#4]@5 ~, ~@17 f#3@4 ~@11", // F D
  R: "[f#3,a3,d4,f#4]@3 ~ [f#3,a3,c4,f#4] ~ [f#3,a3,c4,f#4]@5 ~ [f#3,a3,c4,f#4] ~ [f#3,a3,c4,f#4]@4 [g3,b3,d4,f4]@3 ~ [g3,b3,d4,f4]@4 [g3,b3,d4,f4]@3 ~ [g3,b3,d4,f4] ~", // D F#dim G7
  S: "[[g3,b3,d4,f4] ~ [g3,b3,d4,f4]@3 [g3,b3,d4,f4] ~ [g3,b3,d4,f4] ~ [g3,b3,d4,f4]@3 ~ [g3,b3,d4,f4] ~@3 [g3,c4,e4]@7 ~ [g3,c4,e4]@5 ~ [e3,g3,c4,e4]@4 [e3,g3,c4,e4] ~ [e3,g3,c4,e4]@5 ~ [e3,g3,c4,e4] ~ [e3,g3,c4,e4]@3 ~ [b3,d4,g4]@4 [b3,d4,g4]@3 ~ [b3,d4,g4]@3 ~ [b3,d4] ~ [b3,d4]@3 ~ [g3,b3,d4,g4] ~ [g3,b3,d4,g4]@5 ~ [b3,d4,g4] ~ [b3,d4,g4]@2 ~ [a3,d4,f4]@5 ~ [f3,a3,d4,f4] ~ [f3,a3,d4,f4]@3 ~ [f3,a3,d4,f4]@4, ~@15 [g3,b3,d4,f4]@2 ~@31 g3@4 ~ g3@7 ~ [g3,g4]@5 ~@9 g3@5 ~@16, ~@16 e3@7 ~ e3@6 ~@49 f3@6 ~@11]/3", // G7 C G Bm G Dm G7 G
  T: "~@2 [f3,a3,d4,f4] ~ [f3,a3,d4,f4]@3 ~ [f3,a3,d4,f4] ~ [f3,a3,d4,f4]@3 ~ [f3,a3,d4,f4] ~ [a3,c4,e4]@3 ~ [e3,a3,c4,e4]@3 ~ [e3,a3,c4,e4]@5 ~ [e3,a3,c4,e4]@2, ~@15 e3@4 ~@13", // Dm Am
  U: "[~@2 [e3,a3,c4,e4] ~ [e3,a3,c4,e4]@5 ~ [e3,a3,c4,e4] ~ [e3,a3,c4,e4]@3 ~ e4@3 [e3,g3,c4,e4]@3 ~ [e3,g3,c4,e4]@5 ~ [e3,g3] ~ [e3,g3,a#3,e4]@3 ~ [e3,g3,a#3,e4]@3 ~ [e3,g3,a#3,e4]@4 [e3,g3,a#3,e4]@2 ~@2 [a3,c4,f4]@3 ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@5 ~ [f3,a3,c4,f4]@3, ~@15 [e3,g3,c4]@3 ~@28 f3@4 ~@14]/2", // Am C Em Edim F C
  V: "[f3,a3,c4,f4] ~ [f3,a3,c4,f4]@5 ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [d4,f#4]@3 ~ [f#3,a3,d4,f#4]@3 ~ [f#3,a3,d4,f#4]@5 [f#3,a3,d4,f#4]@3 ~ [f#3,a3,c4,f#4], ~@13 [f#3,a3]@4 ~@15", // F D F#dim F#m
  W: "[~ [f#3,a3,c4,f#4]@5 ~ [f#3,a3,c4,f#4] ~ [f#3,a3,c4,f#4]@3 ~ [b3,d4,f4]@15 ~@2 f4@14 ~@2 g3@18, ~@12 g3@16 g3@16 b2@19 ~, ~@29 [b3,d4]@16 d3@18 ~]/2", // F#dim Bdim Bm
})).s("gm_acoustic_guitar_steel").gain(0.19)

// drums · kick
const kick = s("bd").struct("<~@33 A B C D E F G H I J K@2 L M N O P Q R S T U V W ~@10>".pickRestart({
  A: "~@23 x ~@8", B: "~@3 x ~@3 x ~@10 x ~ x ~@3 x ~@7", C: "~@4 x ~@4 x!2 ~ x ~@3",
  D: "~@4 x ~@2 x ~@9 x ~ x ~@3 x ~@8", E: "~@7 x ~@11 x ~@3 x ~@8", F: "~@3 x ~@4 x!2 ~ x ~@4",
  G: "~@3 x ~@5 x ~ x ~@4", H: "~@3 x ~ x ~@5 x ~@5 x ~@3 x ~@5 x ~@4", I: "~@3 x ~ x ~@5 x ~@5 x ~ x ~ x ~@10",
  J: "~ x!2 ~@2 x ~@2 x ~ x ~@5", K: "~ x ~@2 x!2 ~@2", L: "~@2 x ~ x ~@5 x ~@3 x ~ x ~ x ~ x ~@4 x ~@6",
  M: "~ x ~ x ~@5 x ~@5 x ~@3 x ~@5 x ~@6", N: "~ x ~ x ~@5 x ~@5 x ~@3 x ~@4 x ~@7",
  O: "x!2 ~@2 x ~@2 x ~ x ~@2 x ~ x!2", P: "x ~ x!2 ~ x ~@2 x ~@2 x ~ x ~ x ~ x ~@13 x",
  Q: "~ x ~@5 x ~@5 x ~@3 x ~@5 x ~@7 x", R: "~ x ~@5 x ~@5 x ~@2 x ~@13 x ~", S: "x ~@2 x ~ x!4 ~@6 x",
  T: "x ~@5 x ~@3 x ~ x!2 ~ x ~@5 x ~@7 x ~ x", U: "~@5 x ~@5 x ~@3 x ~@5 x ~@7 x!2 ~",
  V: "~@4 x ~@3 x ~ x ~ x ~ x ~@5 x ~@6 x ~ x ~@2", W: "~@3 x ~@3 x ~@3 x ~ x ~@15 x ~@2",
})).gain(0.52)

// drums · snare
const snare = s("sd").struct("<~@33 A B C D E F@2 G H I@3 J K L M N O P Q R S T U ~@10>".pickRestart({
  A: "~@31 x", B: "~ x", C: "x!2", D: "x ~@14 x ~@15 x", E: "~@15 x ~@15 x", F: "~@7 x ~@7 x", G: "~@13 x ~@15 x ~@2",
  H: "~@13 x ~@14 x ~@3", I: "~@3 x ~@3 x", J: "~@12 x ~@14 x ~@4", K: "~@11 x ~@15 x ~@4", L: "~@11 x ~@14 x ~@5",
  M: "~@5 x ~@7 x ~@2", N: "~@25 x ~@6", O: "~@9 x ~@15 x ~@6", P: "~@9 x ~@14 x ~@7", Q: "~ x ~ x",
  R: "~@8 x ~@14 x ~@8", S: "~@7 x ~@15 x ~@8", T: "~@3 x ~@7 x ~@4", U: "~@5 x ~@26",
})).gain(0.52)

// drums · low tom
const low_tom = s("lt").struct("<~@49 [~@11 x ~ x ~ x ~@16] ~@17>").gain(0.52)

// drums · hihat
const hihat = s("hh").struct("<~@33 A B C D E F@2 G H C@3 I E J F K G L C M N O P ~@10>".pickRestart({
  A: "~@23 x ~@3 x ~@3 x", B: "~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3", C: "x!8",
  D: "x ~@3 x ~@2 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x", E: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x",
  F: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x", G: "~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2",
  H: "~ x ~@9 x ~@7 x ~@5 x ~@2 x ~@3", I: "x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2 x ~@3 x",
  J: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2 x ~@3 x ~@3 x ~", K: "~@2 x ~@18 x ~@3 x ~@3 x ~@2",
  L: "~ x ~@3 x ~@3 x ~@3 x ~@2 x ~@3 x ~@3 x ~@3 x ~@3", M: "x ~@3 x ~@3 x ~@3 x ~@2 x ~@3 x ~@3 x ~@3 x ~@3 x",
  N: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2 x ~", O: "~@2 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2 x ~@2",
  P: "~ x ~@3 x ~@3 x ~@22",
})).gain(0.39)

// drums · mid tom
const mid_tom = s("mt").struct("<~@49 [~@3 x ~ x ~ x ~@3 x ~ x ~ x ~@16] ~@17>").gain(0.52)

// drums · open hat
const open_hat = s("oh").struct("<~@41 [~@7 x ~@7 x ~@16] ~@14 [~@29 x ~@2] ~@10>").gain(0.59)

// drums · high tom
const high_tom = s("ht").struct("<~@41 [~@9 x ~ x ~@5 x ~ x ~@12] ~@7 [~@3 x ~ x ~ x ~@24] ~@17>").gain(0.46)

// drums · crash
const crash = s("cr").struct("<~@41 [~@21 x ~@10] ~@7 [~@17 x ~@14] ~@6 [~@13 x ~@18] ~@10>").gain(0.33)

// drums · congas
const congas = s("conga:33").struct("<~@16 A B C D@2 E F G F H I J K L M N O ~@34>".pickRestart({
  A: "~@9 x!2 ~@2 x!2 ~", B: "x ~@5 x ~ x ~@5 x ~ x ~@6 x ~@3 x ~ x ~@2", C: "~ x ~@7 x ~@5 x ~@2 x ~@5 x ~@3 x ~ x ~",
  D: "~ x ~@3 x ~@2 x!2 ~@2 x ~ x!2", E: "~@2 x ~@7 x ~@5 x ~ x ~@5 x ~@4 x ~ x",
  F: "~@3 x ~@7 x ~@7 x ~@5 x ~@3 x ~ x", G: "~@3 x ~@7 x ~@5 x ~ x ~@5 x ~@3 x ~ x",
  H: "~@3 x ~@5 x ~ x ~@5 x ~@8 x ~@3 x ~", I: "x ~ x ~@2 x!2 ~@2 x!2 ~@2 x ~ x",
  J: "x ~@3 x ~@7 x ~@5 x ~@4 x ~ x ~@5 x", K: "~ x ~@3 x ~@5 x ~ x ~@7 x ~@5 x ~@3 x",
  L: "~ x ~@3 x ~@7 x ~@7 x ~@5 x ~@3 x", M: "~ x ~@3 x ~@7 x ~@6 x ~@7 x ~@3", N: "x!2 ~ x ~@2 x!2 ~@3 x ~@2 x!2",
  O: "~ x ~@14",
})).gain(1.26)

stack(
  piano, piano_soft, bass, string_ensemble_2, string_ensemble_1, acoustic_guitar_steel, kick, snare, low_tom, hihat,
  mid_tom, open_hat, high_tom, crash, congas
)

More by Pooh