Strudelify
50 primavere cover art

Il cielo è blu sopra le nuvole

50 primavere

Pooh

KeyG majorTempo81 bpm
0:00/0:00
// 50 primavere — Pooh
// 81 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 90 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(81/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.

// bass · fretless bass · "tk2"
const bass = note(`<
  A@8 B@6 C@3 D@8 E@4 F@2 G H I J K F L M N O P Q R S T@3 U V W X Y Z AA AB AC AD AE AF AG AH J AI AJ L AI AG AK AL AM T
  AN AO AP AQ AA AR AS AT AU AV F AK AL AQ AL AW@3
>`.pickRestart({
  A: "[~@16 d1@6 g1@47 ~ g1@48 g1@24 g1@24 g1@23 ~ a1@2]/8",
  B: "[~@22 d1@23 ~ d1@23 ~ d1@23 ~ g1@23 ~ b1@11 ~ b1@12 f#1@2]/6", C: "[~@10 g1@11 ~ d1@23 ~ d1@24 g1@2]/3",
  D: "[~@16 d2@5 ~ g1@23 ~ g1@20 ~ g1@2 ~ a1@23 ~ d1@23 ~ d1@23 ~ d1@23 ~ g1@23 ~ b1@2]/8",
  E: "[~@7 b1@2 ~ b1@6 b2@5 ~ f#1@8 ~ f#1@2 ~ g1@11 ~ d1@17 ~ a1@6 d1@19 d1@6 ~]/4", F: "g1@23 ~", G: "g1@11 ~",
  H: "d2@23 ~", I: "a1@11 ~", J: "a1@17 ~ e2@6", K: "d1@23 ~", L: "b1@23 ~", M: "e2@11 ~ e2@6 d2@5 ~",
  N: "c#2@11 ~ c2@11 ~", O: "d2@11 ~ d3@11 ~", P: "g1@8 ~ g1 ~@2 g1@5 ~ d2@5 ~", Q: "g1", R: "d1@12 d2@11 ~",
  S: "g1@8 ~ g1 ~@2 g1@11 ~", T: "g1@8 ~ g1@2 ~ g1@11 ~", U: "a1@8 ~ a1 ~@2 a1@5 ~ e2@5 ~", V: "a1@8 ~ a1 ~@2 a1@11 ~",
  W: "a1@8 ~ a1@2 ~ a1@6 e2@5 ~", X: "b1@8 ~ b1@2 ~ b1@11 ~", Y: "e1@11 ~ e1@6 e2@6", Z: "e1@10 ~@2 e1@5 ~ b1@5 ~",
  AA: "e1@8 ~ e1@2 ~ e1@11 ~", AB: "a1@8 ~ a1@2 ~ a1@5 ~ a1@2 ~ b1@2 ~", AC: "c#2@8 ~ c#2@2 ~ c#2@8 ~ c#2@2 ~",
  AD: "g#1@8 ~ g#1@2 ~ a1@10 ~@2", AE: "e1@9 e1@2 ~ e1@11 ~", AF: "e1@12 e1@5 ~ e1@5 ~", AG: "a1@23 ~",
  AH: "a1@20 ~ a1@2 ~", AI: "e1@23 ~", AJ: "b1@20 ~ b1@2 ~", AK: "c2@8 ~ c2@2 ~ c2@12", AL: "c2@23 ~",
  AM: "c2@8 ~ c2@15", AN: "d2@17 ~ d2@5 ~", AO: "d2@8 ~ d2@2 ~", AP: "g1@11 ~ g1@11 ~", AQ: "c2@8 ~ c2@2 ~ c2@11 ~",
  AR: "a1@8 ~ a1@14 ~", AS: "f#1@8 ~ f#1@2 ~ f1@11 ~", AT: "g1@8 ~ g1 ~@2 g1@12", AU: "c2@17 ~ g2@5 ~",
  AV: "c2@17 ~ c2@4 ~@2", AW: "[c2@49 ~@23]/3",
})).s("gm_fretless_bass").gain(0.61)

// chords · string ensemble 2 · "tk3"
const string_ensemble_2 = note(`<
  ~@12 A@2 B@4 C@8 D@3 E@3 F G H I J K@2 L M N O P Q R Q R S@3 T U V W X Y Z AA@2 AB@3 AC AD@3 AE AF@3 AG AH@2 AI@2 AJ@3
  AK AL@2 AM AN AO AN AO ~@3
>`.pickRestart({
  A: "[~@11 [f#3,b3]@6 [g3,e4]@6 [a3,d4]]/2", // B5 C D5
  B: "[~@5 [g3,b3]@6 ~@6 [a5,a6]@17 ~ g4@6 f#4@6 [b3,e4], ~@11 [c4,e4]@24 d4@12 ~]/4", // G A E5 C
  C: "[~@5 d4@6 [b3,d4]@12 [g3,c4]@12 [d4,f#4,f#5,d6]@6 [c4,e4,e5,c6]@6 [b3,d4,d5,b5]@6 [a3,c4,c5,a5]@6 [c4,e4,e5,c6]@12 [b3,d4,b4]@12 [f#3,b3]@6 [g3,e4]@6 [a3,d4,a4,a5], ~@71 b5@24 ~, ~@83 b4@12 ~]/8", // Bm C5 D C Bm Am C Bm …
  D: "[~@5 [g3,b3,b4,b5]@6 [c4,e4,c6]@25]/3", E: "[g4@2 f#4@2 e4 f#4, b5]/3", F: "[g4,g5] [f#4,f#5]", G: "[c4,e4]",
  H: "[c4,g4]", I: "[d4,f#4]", J: "[b3,d4]",
  K: "[~@12 b5@5 ~ a5@6 [e4,g5]@24, b4@47 ~, d#4@23 ~@25, ~@12 f#5@11 ~@25]/2", L: "[e4,b4]", M: "[e4,g4], d6@11 ~",
  N: "g4 f#4, d4", O: "e4 d4, b3", P: "[g3,c4,d4]", Q: "[d4,g4] [d4,f#4]", R: "[c4,e4] [d4,f#4]", S: "[a4,c#5]/3",
  T: "[a3,b3,d4]", U: "[e4,g#4,g#5] [d4,f#4,f#5]", V: "[c#4,e4,e5] [b3,d4,d5]", W: "[b3,e4]", X: "[c#4,e4,c#5]",
  Y: "[g#3,c#4] [a3,f#4], [c#5,c#6]", Z: "[b3,e4,b4,b5] [a3,c#4,c#5,c#6]", AA: "[d4,f#4,d6]/2",
  AB: "[a4@2 g#4@2 f#4 g#4, c#6]/3", AC: "[a4,a5] [g#4,b5]", AD: "[[d4,f#4] [d4,a4] [e4,g#4], b5@71 ~]/3",
  AE: "[c#4,e4,a5]", AF: "[[g4,c5] [g4,b4] [e4,a4], c2]/3", AG: "c4@11 ~ b3@11 ~, [g2,f4]@23 ~",
  AH: "[[c5,f5] [c5,e5] [a4,d5] [a4,c5], d2]/2", AI: "[c4@11 ~@13 [c3,e4]@23 ~, [g2,f4]@23 ~@25, ~@12 b3@35 ~]/2",
  AJ: "[[g#4,b5]@23 ~ c6@11 ~@7 a5@6 e5@24, e4@11 ~, ~ a4@2, ~@18 b5@5 ~@13]/3", AK: "[c4,f4,f5] [d4,g4,g5]",
  AL: "[[c4,c5]@11 ~ b3@12 [a3,a4]@11 ~ b3@12, e4@47 ~, ~@12 b4@7 ~@17 b4@10 ~@2]/2", AM: "[a3,c4]@12 [b3,d4]@11 ~",
  AN: "[g4,c5] [g4,b4]", AO: "[e4,a4] [g4,b4]",
})).s("gm_string_ensemble_2").gain(0.31).pan(0.3)

// chords · pad warm · "tk6"
const pad_warm = note(`<
  A@7 B@7 C@8 D@7 E F G H I J K L M N@2 O P Q J R@4 S T S L ~@2 U V W X Y@2 Z AA T S L O AB V AC AD AE AF AG@2 AH AI AJ
  AK@2 AL AM AN AO AM AN AM AN AP ~@2
>`.pickRestart({
  A: "[~@11 [g4,b4]@6 [f#4,a4]@6 [e4,g4]@6 [f#4,a4]@6 [g4,b4]@6 [f#4,a4]@6 [e4,g4]@6 [f#4,a4]@6 [d4,g4]@6 [d4,f#4]@6 [b3,e4]@6 [d4,f#4]@6 [g2,d4,g4], ~@22 g2@95 ~ g2@48 ~@2, ~@35 d6@15 ~@34]/7", // G F#m Em F#m G F#m Em F#m …
  B: "[~@5 [d4,f#4]@6 [a2,a3,c4]@12 [d4,f#4]@6 [c4,e4]@6 [b3,d4]@6 [a3,c4]@6 [c4,e4]@6 [d4,f#4]@6 [g2,b3,d4]@12 [b3,d#4]@6 [b3,e4]@6 [d4,f#4], ~@46 d3@47 ~ d3@23 ~@51]/7", // D Am D C Bm Am C D …
  C: "[~@5 [d4,g4]@6 [g3,c4]@24 [d4,g4]@6 [d4,f#4]@6 [b3,e4]@6 [d4,f#4]@6 [d4,g4]@6 [d4,f#4]@6 [a3,c4]@12 d4@6 c4@6 b3]/8", // G5 C5 G5 D E5 D G5 D …
  D: "[~@5 a3@6 [c4,e4]@6 [d4,f#4]@6 [b3,d4]@12 d#4@6 e4@6 f#4@6 g4@6 [g3,c4]@25]/7", E: "[d4,g4]", F: "[d4,f#4]",
  G: "[b3,e4] [d4,f#4]", H: "[d4,g4] [d4,f#4]", I: "[a3,c4]", J: "[g3,c4]", K: "[a3,c4] [a3,d4]", L: "[b3,d4]",
  M: "[f#3,b3]", N: "[[g3,b3]@3 [g3,c4]]/2", O: "[a3,d4]", P: "[g3,b3] [f#3,b3]", Q: "[e3,b3] [f#3,b3]",
  R: "[[g4,b4] [f#4,a4] [e4,g4] [f#4,a4] [g4,b4] [f#4,a4] [e4,g4] [f#4,a4], g2@95 ~, ~@8 d6@5 ~@3]/4", // G F#m Em F#m G F#m Em F#m
  S: "[e4,a4] [e4,g#4]", T: "[c#4,f#4] [e4,g#4]", U: "[d4,f#4] [e4,g#4]", V: "[c#4,e4]", W: "f4 f#4", X: "g#4 e4",
  Y: "[a3,d4]/2", Z: "[e4,a4]", AA: "[e4,g#4]", AB: "[b3,d4] [b3,e4]", AC: "[c4,e4]", AD: "[b3,e4]", AE: "[a3,e4]",
  AF: "[c4,f4] [b3,f4]", AG: "[d4@22 ~@2 c4@23 ~, f4@47 ~]/2", AH: "a3@11 ~ b3@11 ~, f3@23 ~", AI: "[b3,e4]@23 ~",
  AJ: "e4@11 ~ d4@12, b3@23 ~", AK: "[c4@23 ~@13 c4@12, a3@35 ~@13, ~@24 e4@23 ~]/2", AL: "[a3,c4]@11 ~ [b3,d4]@12",
  AM: "[c4,e4] [b3,e4]", AN: "[a3,e4] [b3,e4]", AO: "[a3,c4] [b3,d4]", AP: "[g3,d4,e4]",
})).s("gm_pad_warm").gain(0.23).pan(0.4)

// chords · acoustic guitar nylon · "tk7"
const acoustic_guitar_nylon = note(`<
  ~ A@2 B@5 C@5 D@7 E@5 F@4 G@2 H I J K L M N O P Q R@2 S T@4 U@2 V W X Y Z AA AB AC AD@2 AE@2 AF AG AH AI AJ AK AL@3 AM
  AN AO AP@2 AQ AR AS AT AU@2 AT AV@4 AW ~@2
>`.pickRestart({
  A: "[~ d4@3 b4@3 g4@3 a4@6 d5@16 ~@2 c5@3 b4@3 a4@3 g4@5]/2",
  B: "[~ d4@3 b4@3 g4@3 ~@6 d4 ~ e4 d4@26 ~@10 g3 ~@2 f#3@12 ~@9 e3@2 ~ f#3@10 ~@11 g3@2 ~ f#3@10 ~@2 a2@2, ~@10 a4@35 ~ g2@21 ~@3 g2@22 ~@2 g2@23 ~@3, ~@46 g3@6 d4@23 ~ d4@16 ~@5 b3@8 ~@15, ~@49 b3@7 ~@14 e3@7 ~@23 d4@17 ~@3, ~@73 g3@7 ~@14 g3@8 ~@18]/5",
  C: "[~@13 g4@8 ~@7 d4@3 ~@3 [c4,e4]@10 ~@11 d4@2 ~ [a3,c4]@11 ~@13 f#4@10 ~@5 g3@3 b3@3 a3@2 ~ c4@2 ~ b3@3 a3@2 ~ g3@2 ~ b2@2, ~ e3@20 ~ d2@23 ~ d2@23 ~ d2@23 ~ g2@17 ~@9, ~@4 g3@17 ~@4 a3@6 ~@18 f#3@20 ~@7 c4@17 ~@27, ~@7 c4@14 ~@10 f#4@14 ~@7 b3@5 ~@16 a3@19 ~@2 d3@14 ~@12, ~@79 e4@14 ~@27]/5", // C Am
  D: "[~@7 d#4@3 ~@9 e4@2 ~@7 d4@3 f#4@2 ~@7 d4@4 ~@3 [e4,a4]@20 ~@4 e4@20 ~@12 g3 ~@2 f#3@12 ~@9 e3@2 ~ f#3@10 ~@11 g3@2 ~ f#3@10 ~@2 a2@2, ~ f#3@9 b2@11 ~ [f#2,f#3]@12 [g2,g3]@10 ~@2 [d2,g3,c4]@20 ~@4 [d2,g3]@22 ~@2 g2@21 ~@3 g2@22 ~@2 g2@23 ~@3, ~@4 a3@6 ~@3 g3@8 ~@4 a3@8 ~@61 g3@6 d4@23 ~ d4@16 ~@5 b3@8 ~@15, ~@16 b3@5 ~@16 b3@7 ~@26 c4@20 ~@7 b3@7 ~@14 e3@7 ~@23 d4@17 ~@3, ~@121 g3@7 ~@14 g3@8 ~@18]/7", // A5 F# G Csus2 G5
  E: "[~@13 g4@8 ~@7 d4@3 ~@3 [c4,e4]@10 ~@11 d4@2 ~ [a3,c4]@11 ~@13 f#4@10 ~@11 g4@3 ~@6 d4@3 b3@2 ~ b2@2, ~ e3@20 ~ d2@23 ~ d2@23 ~ d2@23 ~ g2@23 ~@3, ~@4 g3@17 ~@4 a3@6 ~@18 f#3@20 ~@7 c4@17 ~@4 b3@15 ~@8, ~@7 c4@14 ~@10 f#4@14 ~@7 b3@5 ~@16 a3@19 ~@14 a4@10 ~@4, ~@79 e4@14 ~@7 d4@9 g4@8 ~@3]/5", // C Am
  F: "[~@7 d#4@3 ~@9 e4@2 ~@7 d4@3 f#4@2 ~@7 d4@4 ~@3 [c4,e4]@9 ~@2 a4@9 ~@3 e4@10 ~@3 e4@10 ~@3, ~ f#3@9 b2@11 ~ [f#2,f#3]@12 [g2,g3]@10 ~@2 d2@21 ~@3 d2@24 ~@2, ~@4 a3@6 ~@3 g3@8 ~@4 a3@8 ~@13 g3@10 g3@3 ~@10 [g3,c4]@11 ~ g3@11 ~@4, ~@16 b3@5 ~@16 b3@7 ~@13 [c4,e4]@3 ~@22 c4@10 ~@4]/4", // C F# G C5 C
  G: "[~@2 d4 ~@3 g4@2 ~@2 d4 f#4@2 ~ f#4@2, g2@11 ~ g2@11 ~, g4@8 ~ g4@8 ~@7 f#4@7 ~@17, ~@3 b3@11 ~ b3@11 ~ b3@11 ~ b3@9]/2",
  H: "~@3 d4 ~@2 f#4@5 ~, g2@23 ~, e4@6 ~@3 e4@13 ~@2, ~@3 b3@19 ~@2",
  I: "~@3 c4@3 d4@3 e4@3 [d4,f#4]@11 ~, d2@23 ~, g3@11 ~@13", // D
  J: "~@12 e4@11 ~, a2@7 ~, ~@3 e3@20 ~, ~ a3@3, ~@9 c4@14 ~",
  K: "~@15 e4@8 ~, a2@7 ~, ~@3 e3@19 ~@2, ~@3 a3@8 ~, ~@9 c4@13 ~@2",
  L: "~@6 f#4@5 ~, d2@11 ~, ~@3 a3@19 ~@2, ~@3 c4@8 ~, ~@9 e4@13 ~@2",
  M: "~@21 b3@2 ~, g2@18 d4@5 ~, ~@3 b3@12 g4@8 ~, ~@6 d4@6 a4@11 ~, ~@9 b4@14 ~",
  N: "~@6 f#4@5 ~, b2@11 ~, ~@3 a3@19 ~@2, ~@3 b3@8 ~, ~@9 d#4@13 ~@2",
  O: "~@18 [d2,g3]@5 ~, e2@9 e4@14 ~, ~@3 g3@9 e2@5 ~@7, ~@6 b3@8 ~ b3@8 ~", // G5
  P: "~@9 e4@3 ~@9 e4@2 ~, c#2@10 ~@2 c2@11 ~, ~@3 g3@9 ~@3 g3@8 ~, ~@6 b3@6 ~@6 b3@5 ~",
  Q: "~@6 f#4@5 ~, d2@23 ~, ~@3 g3@20 ~, ~@3 c4@8 ~, ~@9 e4@13 ~@2",
  R: "[~@9 g3 ~@2 f#3@12 ~@9 e3@2 ~ f#3@10 ~@2, g2@21 ~@3 g2@22 ~@2, g3@6 d4@23 ~ d4@16 ~@2, ~@3 b3@7 ~@14 e3@6 ~@18, ~@9 g3@2 ~@5]/2",
  S: "~@12 f#4@11 ~, [d2,g3]@23 ~, ~@3 c4@20 ~, ~@6 d4@17 ~, ~@9 e4@14 ~", // G5
  T: "[~@3 d4@3 b4@3 g4@3 a4@6 d5@16 ~@2 c5@3 b4@3 a4@3 g4@5 ~ d4@3 b4@3 g4@2 ~@7 d4 e4 ~ d4@26 ~, ~@60 a4@35 ~]/4",
  U: "[~@9 a3 ~@2 g#3@12 ~@9 f#3@2 ~ g#3@10 ~@2, a2@21 ~@3 a2@22 ~@2, a3@6 e4@23 ~ e4@16 ~@2, ~@3 c#4@7 ~@14 f#3@7 ~@17, ~@9 a3@2 ~@5]/2",
  V: "~@9 a3@2 ~ g#3@10 ~@2, a2@23 ~, a3 ~@2, ~@3 c#4@8 ~@13, ~@6 e4@17 ~",
  W: "~@15 a4@8 ~, b2@11 ~, ~@3 f#3@20 ~, ~@6 a3@17 ~, ~@9 d4@14 ~",
  X: "~@6 e4@3 ~@3 [d4,f#4]@10 ~@2, e2@23 ~, ~@3 b3@6 g#4@14 ~", // D
  Y: "~@9 e4@2 ~ [b3,d4]@11 ~, e2@23 ~, ~@3 g#3@20 ~, ~@6 c#4@5 ~@13", // Bm
  Z: "~@6 g#4@5 ~, e2@23 ~, ~@3 b3@19 ~@2, ~@6 d4@17 ~, ~@9 f#4@14 ~",
  AA: "~@6 a4@3 b4@3 d5@3 c#5@3 b4@3 a4@2 ~, a2@23 ~, ~@3 e4@20 ~",
  AB: "~@9 f4@3 ~@9 f#4@2 ~, c#3@11 ~ c#3@11 ~, ~@3 g#3@9 ~@3 a3@8 ~, ~@6 b3@6 ~@6 c#4@5 ~",
  AC: "~@6 e4@3 g#4@2 ~@7 e4@4 ~@2, [g#2,g#3]@11 ~ [a2,a3]@10 ~@2, ~@3 b3@8 ~@4 c#4@7 ~@2", // G# A
  AD: "[~ f#4@19 ~@4 [e3,f#4,b4]@23 ~, e2@23 ~@25, [a3,d4]@19 ~@4 [a3,d4]@23 ~@2]/2", // Esus2 D5
  AE: "[~@2 e4 ~@3 a4@2 ~@2 e4 g#4@2 ~ g#4@2, a2@11 ~ a2@11 ~, a4@8 ~ a4@8 ~@7 g#4@7 ~@17, ~@3 c#4@11 ~ c#4@11 ~ c#4@11 ~ c#4@9]/2",
  AF: "~@3 e4 ~@2 g#4@5 ~, a2@23 ~, f#4@6 ~@3 f#4@13 ~@2, ~@3 c#4@19 ~@2",
  AG: "~@3 d4@3 e4@3 f#4@3 [e4,g#4]@11 ~, e2@23 ~, a3@11 ~@13", // E
  AH: "~@12 f#4@11 ~, b2@7 ~, ~ f#3@7, ~ b3@3, ~@9 d4@14 ~",
  AI: "~@15 f#4@8 ~, b2@7 ~, ~@3 f#3@19 ~@2, ~@3 b3@8 ~, ~@9 d4@13 ~@2",
  AJ: "~@6 g#4@5 ~, e2@11 ~, ~@3 b3@19 ~@2, ~@3 d4@8 ~, ~@9 f#4@13 ~@2",
  AK: "~@12 d4@3 c#4@2 ~ b3@2 ~ a3@2 ~, a2@17 ~@7, ~ e3@3 ~@4, ~@6 a3@11 ~@7, ~@9 b3@8 ~@7",
  AL: "[c4@10 ~@2 d4@4 ~@2 g4@2 ~ b3@15 ~@3 d4@2 ~ g4 ~@2 a3@12 b3@2 ~ c4@3 ~ d4@3 ~@2 e4@3]/3", AM: "f4@17 ~@7",
  AN: "f4@5 ~ a4@2 ~ g4@5 ~ e4@8 ~", AO: "~@3 c4@2 ~ f4@2 ~ e4@6 c4@7 ~@2",
  AP: "[a3@11 ~ b3@2 ~ a3 b3@2 c4 d4@2 e4@9 a4@2 ~ g4@14 ~]/2",
  AQ: "~@9 e4@3 f4@11 ~, e2@23 ~, ~@3 g#3@20 ~, ~@6 b3@17 ~", AR: "~@9 e4@13 ~@2, a2@11 ~, ~@3 e3@20 ~, ~@6 a3@17 ~",
  AS: "~@15 a3 ~@2 d4@5 ~, [f#2,e3]@2 ~, ~ a3@4 ~@3, ~@3 e4@5 ~@4, ~@12 [f2,f3]@11 ~", // F#7 F
  AT: "~@9 a3 ~@2 [g3,b3,g4]@11 ~, g2@23 ~, ~@3 f4@8 ~@13, ~@3 a3@5 ~@16, ~@6 c4@5 ~@13", // G
  AU: "[~@9 c4 ~@2 b3@12 ~@9 a3@2 ~ b3@10 ~@2, c3@21 ~@3 c3@22 ~@2, c4@6 g4@23 ~ g4@16 ~@2, ~@3 e4@7 ~@14 a3@6 ~@18, ~@9 c4@2 ~@5]/2",
  AV: "[~@3 g4@3 e5@3 c5@3 d5@6 g5@16 ~@2 f5@3 e5@3 d5@3 c5@5 ~ g4@3 e5@3 c5@2 ~@7 g4 a4 ~ g4@13 g4 a4 g4@8 ~@4, ~@60 d5@35 ~]/4",
  AW: "~@3 e4@20 ~, e3@23 ~, ~ g3@22 ~, ~@2 c4@21 ~",
})).s("gm_acoustic_guitar_nylon").gain(0.37).pan(0.3)

// chords · orchestral harp · "tk8"
const orchestral_harp = note(`<
  ~@27 A B ~@3 C ~@3 D ~@3 E F ~@5 G ~@10 H I ~@8 J K@2 L M@3 N O P Q R S T U S T S T ~@3
>`.pickRestart({
  A: "~@21 a3 b3 ~", B: "c4 d4 ~ e4 f#4 ~ g4 a4@2 b4@2 ~ d5@2 e5@2 ~ g5 ~ a5@2 ~ c6@2, ~@11 c5@2 ~@3 f#5@2 ~@3 b5@2 ~",
  C: "d2@3 a2@3 e3@2 ~ [g3,d5,g5] ~@2 d2@3 [d3,d5,f#5] ~@8", D: "g5@8 ~ d6@13 ~@2",
  E: "~@9 d5 e5 ~ [d5,f#5] ~@2 g5 ~@2 a5 ~@2 d6 ~@2", F: "[b5,d6] ~@23",
  G: "~@3 g4 b4 ~ a4 d5 ~ b4 e5 ~ d5 g5 ~ e5 a5 ~ g5 ~@5", H: "~@22 [d5,f#5] b4",
  I: "a4@3 ~@9 [g#5,a5] [e5,f#5] [c#5,d5] [a4,b4] [f#4,g#4] [d4,e4] [b3,c#4] [g#3,a3] [e3,f#3] [c#3,d3] [a2,b2] [e2,g#2]", // Amaj7 Esus2 Dmaj7 Asus2 F#sus2 Dsus2 Bsus2 Amaj7 …
  J: "~@6 [d4,g4] ~@8 [d4,g4] ~@8", K: "~@6 [b3,e4] ~@8 [b3,e4] ~@8", L: "~@6 [c4,f4] ~@8 [d4,f4] ~@8",
  M: "~@6 [f4,a4] ~@8 [f4,a4] ~@8", N: "~@6 [d4,e4,g4] ~@8 [d4,e4,g4] ~@8", O: "~@6 [g#4,b4] ~@8 [g#4,b4] ~@8",
  P: "~@6 [a4,c5] ~@8 [a4,c5] ~@8", Q: "~@6 [e4,a4] ~@8 [e4,a4] ~@8", R: "~@6 [a4,c5] ~@8 [g4,b4] ~@8",
  S: "~@6 [g4,c5] ~@8 [g4,b4] ~@8", T: "~@6 [e4,a4] ~@8 [g4,b4] ~@8", U: "~@6 [c4,f4,g4] ~@8 [d4,g4] ~@8",
})).s("gm_orchestral_harp").gain(0.37).pan(0.6)

// other · pad new age · "tk9"
const pad_new_age = note("<~@52 A B C D ~@12 E ~ F G H ~ I J ~@11 K ~@2>".pickRestart({
  A: "g#5@10 ~@2 f#5@11 ~", B: "e5@11 ~ d5@11 ~", C: "f#5@11 ~", D: "e5@23 ~", E: "[c5,c6] ~@11", F: "[a4,a5] ~@23",
  G: "[f4,f5] ~@23", H: "[d5,d6] ~@23", I: "[a4,a5] ~@11", J: "[g4,g5] ~@11", K: "[c5,c6]@5 ~",
})).s("gm_pad_new_age").gain(0.34).pan(0.4)

// drums · kick
const kick = s("bd").struct("<[~@11 x] [~@7 x ~@2 x ~@11 x ~]!27 [~@7 x ~@3 x ~@12] [x ~@2 x!2 ~@3]!58 ~@3>").gain(0.37)

// drums · clap
const clap = s("cp").struct(`<
  ~@2 A ~ A ~@3 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ B ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~
  C ~ C ~ C ~ C ~@2 C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~@4
>`.pickRestart({
  A: "~@2 x", B: "~@17 x ~@6", C: "~@3 x",
})).gain(0.41)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@4 A ~@5 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@4 B ~@3 B ~@3 B ~@3
  B ~@6
>`.pickRestart({
  A: "~@2 x", B: "~@3 x",
})).gain(0.37)

// drums · ride
const ride = s("rd").struct(`<
  ~@8 A@3 ~ A@3 ~ A@3 ~ A@3 ~ A@3 ~ A B@2 ~ B@3 ~ B@3 ~ B@3 ~ B@3 ~ B@3 ~ B@3 ~ B@3 ~ B@3 ~ B@3 ~@2 B@3 ~ B@3 ~ B@3 ~
  B@3 ~ B@2 C ~@2
>`.pickRestart({
  A: "~ x ~@4", B: "~ x ~@2", C: "x",
})).gain(0.37)

// drums · tambourine
const tambourine = s("tb").struct("<~ [~@5 x ~@6]!27 [~@11 x ~@12] [~ x]!58 ~@3>").gain(0.41)

// drums · cabasa
const cabasa = s("cabasa:4").struct(`<
  [~@11 x]
  [~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~]!27
  [~ x ~@2 x ~@2 x ~@3 x ~@2 x ~@2 x ~@3 x ~@2]
  [x!8]!58
  ~@3
>`).gain(1.16)

// drums · claves
const claves = s("clave:2").struct(`<
  ~@6 A@2 ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B@2 ~@3 B ~@3 B ~@3 B
  ~@3 B ~@5
>`.pickRestart({
  A: "~@2 x", B: "~@3 x",
})).gain(1.79)

// drums · woodblocks
const woodblocks = s("woodblock:5").struct(`<
  ~ A ~ A ~ A@3 ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B
  ~ B ~ B ~ B ~ B@2 ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~@3
>`.pickRestart({
  A: "~@2 x", B: "~@3 x",
// … 14 more lines

More by Pooh