Strudelify
Non siamo in pericolo cover art

L'ultimo abbraccio

Non siamo in pericolo

Pooh

KeyD majorTempo123 bpm
0:00/0:00
// Non siamo in pericolo — Pooh
// 123 bpm, 4/4, key D 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 123 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(123/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 · percussive organ
const percussive_organ = note("<~@98 A@8 ~@17>".pickRestart({
  A: "[~@27 a6@5, ~@2 a4@16 d5 b5@4 e6@9, ~@7 b4@25, ~@11 e5@21, ~@15 g5@17]/8",
})).s("gm_percussive_organ").gain(0.16)

// chords · pad sweep · Asus4
const pad_sweep = note("<~ [~@3 [a1,e4,g4,a4,d5]@5] ~@121>").s("gm_pad_sweep").gain(0.19).pan(1)

// chords · piano
const piano = note(`<
  A B C D E F G@3 H I D J F K@2 L M N O P ~@6 Q@2 R S ~@3 T U ~ V W X Y ~ D Z F G@3 H AA D J F K@2 L M N O P ~@6 Q@2 R S
  ~@3 T U ~ V W X Y ~ AB AC@2 AD AE@4 AB AF@2 AD AG@4 AH@2 ~@7 AI AJ@2 AK@4 AL@2 AM@4 AN@4
>`.pickRestart({
  A: "~@13 [a2,e3,a3,b3,e4]!3", B: "[a2,e3,a3,b3,e4]", C: "[a2,e3,a3,b3,e4] ~@15",
  D: "[a3,d4,g4]@5 ~ [a3,d4,f#4] ~ [a3,d4,f#4]@7 ~", // Dsus4 D
  E: "[a3,c#4] ~ [a3,f#4]@2 [a3,d4,f#4] ~ a3@6 a3@2 ~@2, e4@2 d4 ~@3 [d4,f#4]@8 ~@2", // A D
  F: "[a3,c#4,e4]@5 ~ [a3,d4,f#4] ~ [a3,d4,f#4]@7 ~", // A D
  G: "[[e3,a3,c#4]@3 [f#3,a3,d4]@3 [e3,c#4]@2 [f#3,a3,d4]@4 [e3,a3,c#4]@3 ~@11 d3@5 ~@11 d3@4 a3 ~, ~@6 a3 ~@8 d3@11 ~@5 d3@11 ~@6, ~@16 [g3,a3,d4]@16 [a3,d4]@15 ~]/3", // A D C#m D A Gsus2 D5
  H: "~@7 g3, e2@13 d4@3, ~ b2@7, ~ e3@3, ~@6 g3@2 d4@2 g3 e4@5", I: "[a2,e3,a3,c#4] ~@7",
  J: "[c#4,e4]@2 [a3,d4,f#4] ~ [a3,d4,f#4] ~ a3@4 ~@2 d4@2 a3 ~, a3 ~@5 f#4@9 ~, ~@3 d4@3 ~@2, ~@5 a3@2 ~", // C#m D
  K: "[[e3,a3,c#4]@3 [f#3,a3,d4]@3 [e3,c#4]@2 [f#3,a3,d4]@4 [e3,a3,c#4]@3 ~ [g3,a3,d4]@14 ~@2, ~@6 a3 ~@8 d3@15 ~@2]/2", // A D C#m D A Gsus2
  L: "d3@12 d3@2 a3 ~, [a3,d4]@15 ~", M: "~@13 f#2@2 ~, e2@8 e4@4 e3@3 ~, ~@2 b2@13 ~, ~@4 e3@6 e2@5 ~, ~@6 g3@9 ~",
  N: "~@6 b3 ~@5 a3@2 c#4 ~, g2@7 ~ a2@7 ~, ~@2 d3@6 ~@2 e3@5 ~, ~ g3 ~@2",
  O: "~@6 a3 ~, d3@3 d3@4 ~, ~ a3@5 ~@2, ~@2 d4@5 ~", P: "[a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]@5 ~@5",
  Q: "[[a#3,d4]@8 [a#3,d4,g4]@7 ~, g3@15 ~]/2", R: "a3@4 ~@8 d4@2 a3 ~, f#4@5 f#4@2 ~, d4@3 d4@3 ~@2, ~@2 a3@2 a3@3 ~",
  S: "~@8 a4@5 ~@3, [e3,a3,c#4]@13 ~@3", T: "g3 f#3 e3 d3", U: "a2@7 ~", V: "~@8 d4@5 ~@3, [g3,a#3]@7 ~, d3@5 ~@3",
  W: "[a#3,d4,g4]@7 ~", X: "[a3,d4,f#4]@7 ~", Y: "a3@3 ~@11 a4@2, e3, c#4@11 ~ c#4@4, ~@4 a3@5 ~ a3@6, ~@6 a4@7 ~@3",
  Z: "[a3,c#4] ~ [a3,d4,f#4]@2 [a3,d4,f#4] ~ a3@6 a3@2 ~@2, e4 ~@2 [d4,f#4]@4 ~", AA: "[e3,a3,c#4] ~@7",
  AB: "~@8 [a3,d4,g4]@5 ~ [a3,d4,f#4] ~", // Dsus4 D
  AC: "[[a3,d4,f#4]@7 ~ [a3,c#4] ~ [a3,f#4]@2 [a3,d4,f#4] ~ a3@6 a3@2 ~@2 [a3,c#4,e4]@5 ~ [a3,d4,f#4] ~, ~@8 e4@2 d4 ~@3 [d4,f#4]@8 ~@10]/2", // D A D A D
  AD: "[a3,d4,f#4]@7 ~ [e3,a3,c#4]@3 [f#3,a3,d4]@3 [e3,c#4]@2, ~@14 a3 ~", // D A D C#m
  AE: "[[f#3,a3,d4]@4 [e3,a3,c#4]@3 ~@11 d3@5 ~@11 d3@4 a3 ~@15 g3@2 [e3,a3,c#4]@2 ~@6, ~@7 d3@11 ~@5 d3@11 ~@6 e2@13 d4@3 ~@8, ~@8 [g3,a3,d4]@16 [a3,d4]@15 ~@3 b2@14 ~@8, ~@11 e3@3 ~@2, ~@46 g3@2 d4@2 g3 e4@5 ~@8]/4", // D A Gsus2 D5
  AF: "[[a3,d4,f#4]@7 ~ [c#4,e4]@2 [a3,d4,f#4] ~ [a3,d4,f#4] ~ a3@4 ~@2 d4@2 a3 ~ [a3,c#4,e4]@5 ~ [a3,d4,f#4] ~, ~@8 a3 ~@5 f#4@9 ~@9, ~@7 d4@3 ~@6, ~@9 a3@2 ~@5]/2", // D C#m D A D
  AG: "[[f#3,a3,d4]@4 [e3,a3,c#4]@3 ~ [g3,a3,d4]@14 ~@2 d3@12 d3@2 a3 ~@14 f#2@2 ~@7 b3 ~, ~@7 d3@15 ~@2 [a3,d4]@15 ~ e2@8 e4@4 e3@3 ~@3 d3@6, ~@42 b2@13 ~@9, ~@44 e3@6 e2@5 ~ g2@7 ~, ~@46 g3@9 ~@5 g3@4]/4", // D A Gsus2 D5
  AH: "[~@4 a3@2 c#4 ~@13 a3@2 ~@10, a2@7 ~@3 a3@10 ~@12, ~@2 e3@5 ~ d3@6 d3@8 ~@10, ~@6 d4@5 ~@5]/2",
  AI: "~@8 [a3,c#4,e4]@5 ~ [a3,d4,f#4] ~", AJ: "[[a3,d4,f#4]@20 ~@4 [e3,a3,c#4]@5 ~ [f#3,a3,d4] ~]/2",
  AK: "[[f#3,a3,d4]@20 ~@4 [a3,d4]@14 ~@2 c#4@14 ~@2 [a3,c#4,e4]@5 ~ [a3,d4,f#4] ~, ~@23 [d3,g3]@15 ~ [e3,a3]@14 ~@11]/4", // D D5 A D G5 A5
  AL: "[[a3,d4,f#4]@20 ~@4 [a3,c#4,e4]@5 ~ [a3,d4,f#4] ~]/2", // D A D
  AM: "[[a3,d4,f#4]@20 ~@4 [b3,d4,g4]@14 ~@2 [c#4,e4]@14 ~@2 [a3,c#4,e4]@5 ~ [a3,d4,f#4] ~, ~@23 [d3,g3]@14 ~@2 [e3,a3]@14 ~@11]/4", // D G C#m A D G5 A5
  AN: "[[a3,d4,f#4]@7 ~]/4", // D
})).s("gm_piano").gain(0.29).pan(1)

// bass · piano
const bass = note(`<
  ~@3 A@2 B C D E F G A@2 H I J E K L A M N O P Q R@2 S T R U V W X@2 Y Z AA AB AC@2 AD A@2 B C D E F G A@2 H I J E K L
  A M N O P Q R@2 S T R U V W X@2 Y Z AA AB AC@2 AD AE A AF AG AH AI AJ AK AE A AL H AM AI AJ AN AO AP ~@7 AQ AR AS AT
  AU AV AW AR AS AT AU AV AX AY@4
>`.pickRestart({
  A: "d2@2 ~ d2 d2@2 d3@2 d2@2 ~ d2 d2@2 d3@2", B: "b1@2 ~ b1!2 ~ b2@2 b1@2 ~ b1!2 ~ b2@2",
  C: "b1@2 ~ b1 b1@2 b2@2 b1@3 ~ a1@3 ~", D: "g1@2 ~ g1!2 ~ g2@2 g1@2 ~ g1 g1@2 g2@2",
  E: "f#1@2 ~ f#1 f#1@2 f#2@2 f#1@2 ~ f#1 f#1@2 f#2@2", F: "e1@2 ~ e1!2 ~ e2@2 e1@2 ~ e1!2 ~ e2@2", G: "a1@3 ~@13",
  H: "b1@2 ~ b1 b1@2 b2@2 b1@2 ~ b1 b1@2 b2@2", I: "b1@2 ~ b1 b1@2 b2@2 b1@4 a1@3 ~",
  J: "g1@2 ~ g1 g1@2 g2@2 g1@2 ~ g1 g1@2 g2@2", K: "e1@2 ~ e1!2 ~ e2@2 e1 ~ e1@2 ~ f#1@2 ~",
  L: "g1@2 ~ g1 g1@2 g2@2 a1@2 ~ a1 a1@2 a2@2", M: "a1 ~ a1 ~ a1 ~ a1@6 ~@4",
  N: "d2 ~ d2@2 d3@2 d2@2 ~@2 d2@2 d3@2 d2@2", O: "~ d2 d3 d2 ~ d2 d3 d2", P: "~ g1 g2 g1 ~ g1 g2 g1",
  Q: "~@2 g1@2 g2@2 g1@2 ~@2 g1@2 g2@2 g1 ~", R: "~ a1 a2 a1 ~ a1 a2 a1",
  S: "a#1 ~ a#1@2 a#2@2 a#1 ~@3 a#1@2 a#2@2 a#1@2", T: "~ a#1 a#2 a#1 ~ a#1 a#2 a#1", U: "~ a1 a2 a1 ~ a1 a2 ~",
  V: "d2 ~ d2@2 d3@2 a2@2 d2 ~ d2@2 d3@2 d2 ~", W: "~@2 d2@2 d3@2 d2 ~ d2 ~ d2@2 d3@2 d2@2",
  X: "g1 ~ g1@2 g2@2 g1 ~ g1 ~ g1@2 g2@2 g1 ~", Y: "a1 ~ a1@2 a2@2 a1 ~ a1 ~ a1@2 a2@2 a1 ~",
  Z: "a1 ~ a1@2 a2 ~ a1 ~ a1 ~ a1@2 a2@2 a1 ~", AA: "a#1 d2 g2 a2", AB: "a#2@4 a#2@3 ~ a#2@3 ~ a#2@4",
  AC: "a1 a2 a1 a2 a1 a2 a1 a2", AD: "a1 ~@7", AE: "~@8 d2@2 ~ d2 d2@2 d3@2",
  AF: "d2@2 ~ d2 d2@2 d3@2 b1@2 ~ b1!2 ~ b2@2", AG: "b1@2 ~ b1!2 ~ b2@2 b1@2 ~ b1 b1@2 b2@2",
  AH: "b1@3 ~ a1@3 ~ g1@2 ~ g1 g1@2 g2@2", AI: "g1@2 ~ g1 g1@2 g2@2 f#1@2 ~ f#1 f#1@2 f#2@2",
  AJ: "f#1@2 ~ f#1 f#1@2 f#2@2 e1@2 ~ e1!2 ~ e2@2", AK: "e1@2 ~ e1 e1@2 e2@2 a1@3 ~@5",
  AL: "d2@2 ~ d2 d2@2 d3@2 b1@2 ~ b1 b1@2 b2@2", AM: "b1@4 a1@3 ~ g1@2 ~ g1 g1@2 g2@2",
  AN: "e1 ~ e1@2 ~ f#1@2 ~ g1@2 ~ g1 g1@2 g2@2", AO: "a1@2 ~ a1 a1@2 a2@2 d2@2 ~ d2 d2@2 d3@2",
  AP: "d2@2 ~ d2 d2@2 d3@2 ~@8", AQ: "~@8 d2@2 d3!2 d2@2 d3@2", AR: "d2@2 d3!2 d2@2 d3@2 d2@2 d3!2 d2@2 d3@2",
  AS: "d2@2 d3!2 d2@2 d3@2 b1@2 b2!2 b1@2 b2@2", AT: "b1@2 b2!2 b1@2 b2@2 b1@2 b2!2 b1@2 b2@2",
  AU: "b1@2 b2!2 a1@2 a2@2 g1@2 g2!2 g1@2 g2@2", AV: "g1@2 g2!2 g1@2 g2@2 a1@2 a2!2 a1@2 a2@2",
  AW: "a1@2 a2!2 a1@2 a2@2 d2@2 d3!2 d2@2 d3@2", AX: "a1@2 a2!2 a1@2 a2@2 d2@6 d1 ~", AY: "[d1@29 ~@3]/4",
})).s("gm_piano").gain(0.59)

// chords · piano
const piano_2 = note(`<
  ~@21 A@2 B@2 C@2 D@2 E F G@2 H@2 I@2 J@4 ~@19 A@2 B@2 C@2 D@2 E F G@2 H@2 I@2 J@4 ~@43
>`.pickRestart({
  A: "d3/2", B: "[g2,g3]/2", C: "[a2,a3]/2", D: "[a#2,a#3]/2", E: "d3", F: "[a2,a3]@13 ~@3", G: "[[d3,a3]@31 ~]/2",
  H: "[d3,g3,b3]/2", I: "[[e3,a3,c#4]@31 ~]/2", J: "[~ g4 f#4 [c#4,e4], d4@3 ~, [g3,a#3] a3]/4",
})).s("gm_piano").gain(0.19)

// chords · piano
const piano_3 = note(`<
  ~@3 A B C D E F G H A I C J K L M N L O ~@21 A B C D E F G H A I C J K L M N L O ~@21 P Q@2 R S@4 P T@2 R U@3 V W@2
  ~@7 X Y Z AA AB@3 R Z AA AC@3 AD@4
>`.pickRestart({
  A: "[a3,d4,g4]@5 ~ [a3,d4,f#4] ~ [a3,d4,f#4]@7 ~", // Dsus4 D
  B: "[c#4,e4]@2 [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4]@9 ~, a3 ~@15", // C#m D
  C: "[a3,c#4,e4]@5 ~ [a3,d4,f#4] ~ [a3,d4,f#4]@7 ~", // A D
  D: "[a3,c#4,e4]@2 ~ [a3,d4,f#4]@2 ~ [a3,c#4,e4] ~ [a3,d4,f#4]@3 ~ [a3,c#4,e4]@4", E: "[g3,b3,d4]@13 ~@3",
  F: "[f#3,a3,d4]@3 ~", G: "[e3,g3,b3,d4]@15 ~", H: "[e3,a3,c#4] ~@7",
  I: "[a3,c#4,e4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4]@8 ~@2", // A D
  J: "[a3,c#4,e4]@2 ~ [a3,d4,f#4]@2 ~ [a3,c#4,e4] ~ [a3,d4,f#4]@3 ~ [a3,c#4,e4]@3 ~", K: "[g3,b3,d4]@15 ~",
  L: "[f#3,a3,d4]@15 ~", M: "[e3,g3,b3,d4]@9 ~ [e3,g3,b3,d4]@2 ~ [f#3,a3,d4]@2 ~", N: "[g3,b3,d4]@7 ~ [a3,c#4,e4]@7 ~",
  O: "[e3,a3]", P: "~@8 [a3,d4,g4]@5 ~ [a3,d4,f#4] ~",
  Q: "[[a3,d4,f#4]@7 ~ [c#4,e4]@2 [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4]@9 ~ [a3,c#4,e4]@5 ~ [a3,d4,f#4] ~, ~@8 a3 ~@23]/2", // D C#m D A D
  R: "[a3,d4,f#4]@7 ~ [a3,c#4,e4]@2 ~ [a3,d4,f#4]@2 ~ [a3,c#4,e4] ~", // D A D A
  S: "[[a3,d4,f#4]@3 ~ [a3,c#4,e4]@4 [g3,b3,d4]@13 ~@3 [f#3,a3,d4]@12 ~@4 [e3,g3,b3,d4]@15 ~ [e3,a3,c#4]@2 ~@6]/4", // D A G D Em7 A
  T: "[[a3,d4,f#4]@7 ~ [a3,c#4,e4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4]@8 ~@2 [a3,c#4,e4]@5 ~ [a3,d4,f#4] ~]/2", // D A D A D
  U: "[[a3,d4,f#4]@3 ~ [a3,c#4,e4]@3 ~ [g3,b3,d4]@15 ~ [f#3,a3,d4]@15 ~ [e3,g3,b3,d4]@8]/3", // D A G D Em7
  V: "~@2 [e3,g3,b3,d4]@2 ~ [f#3,a3,d4]@2 ~ [g3,b3,d4]@7 ~", // Em7 D G
  W: "[[a3,c#4,e4]@7 ~ [f#3,a3,d4]@15 ~ [e3,c#4]@2 ~@6, ~@24 [a2,a3] ~@7]/2", X: "~@8 [a3,c#4,e4]@5 ~ [a3,d4,f#4] ~",
  Y: "[a3,d4,f#4]@7 ~ [a3,c#4,e4]@2 ~ [a3,d4,f#4]@2 ~ [c#4,e4]@2, ~@14 a3 ~", // D A D C#m
  Z: "[a3,d4,f#4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@5 ~ [b3,d4,f#4] ~", // D A Bm
  AA: "[b3,d4,f#4]@7 ~ [a3,c#4,e4]@2 ~ [b3,d4,f#4]@2 ~ [c#4,e4]@2, ~@14 a3 ~", // Bm A Bm C#m
  AB: "[[b3,d4,f#4]@4 [a3,c#4,e4]@3 ~ [g3,b3,d4]@15 ~ [a3,c#4,e4]@14 ~@2 [a3,c#4,e4]@5 ~ [a3,d4,f#4] ~]/3", // Bm A G A D
  AC: "[[b3,d4,f#4]@3 ~ [a3,c#4,e4]@3 ~ [g3,b3,d4]@16 [a3,c#4,e4]@14 ~@2 [a3,c#4,e4]@5 ~ [a3,d4,f#4] ~]/3", // Bm A G A D
  AD: "[[a3,d4,f#4]@55 ~@9]/4", // D
})).s("gm_piano").gain(0.36)

// other · piano
const piano_4 = note(`<
  ~@21 A B C D E F ~@4 G H I J K L ~@23 A B C D E F ~@4 G H I J K L ~@22 M N@7 O P Q R S T U P Q R S T V ~@4
>`.pickRestart({
  A: "d3 ~ d3!4 a2 ~ d3 ~ d3!4 a2 ~", B: "d3 ~ d3!4 a2!2 d3!2 a2!2 d3!2 a2!2", C: "g3 ~ g3!4 d3 ~ g3 ~ g3!4 d3 ~",
  D: "g3 ~ g3!4 d3!2 g3!2 d3!2 g3!2 d3 ~", E: "a3 ~ a3!4 e3 ~ a3 ~ a3!4 e3 ~", F: "a3 ~ a3!4 e3!2 a3!2 e3!2 a3 ~@3",
  G: "d3 ~ a2!2 d3!2 a2 ~ d3 ~ a2!2 d3!2 a2 ~", H: "d3 ~ a2!2 d3!2 a2!2 d3!2 a2!2 d3!2 a2 ~",
  I: "g3 ~ d3!2 g3!2 d3 ~ g3 ~ d3!2 g3!2 d3 ~", J: "g3 ~ d3!2 g3!2 d3!2 g3!2 d3!2 g3!2 d3 ~",
  K: "a3 ~ e3!2 a3!2 e3 ~ a3 ~ e3!2 a3!2 e3 ~", L: "a3 ~ e3!2 a3!2 e3!2 a3!2 e3!2 ~@4", M: "~@8 a2 ~ a2 e3 a3 d3 e2 ~",
  N: "a2 ~ a2 e3 a3 d3 e2 ~ a2 ~ a2 e3 a3 d3 e2 ~", O: "a2 ~ a2 e3 a3 e3 a2 ~ d3 e3 f#3 a3 d3 e3 f#3 a3",
  P: "d3 e3 f#3 a3 d3 e3 f#3 a3 d3 e3 f#3 a3 d3 e3 f#3 a3", Q: "d3 e3 f#3 a3 d3 e3 f#3 a3 b2 c#3 d3 f#3 b2 c#3 d3 f#3",
  R: "b2 c#3 d3 f#3 b2 c#3 d3 f#3 b2 c#3 d3 f#3 b2 c#3 d3 f#3",
  S: "b2 c#3 d3 f#3 b2 c#3 d3 f#3 g2 a2 b2 d3 g2 a2 b2 d3", T: "g2 a2 b2 d3 g2 a2 b2 d3 a2 b2 c#3 e3 a2 b2 c#3 e3",
  U: "a2 b2 c#3 e3 a2 b2 c#3 e3 d3 e3 f#3 a3 d3 e3 f#3 a3", V: "a2 b2 c#3 e3 a2 b2 c#3 e3 ~@8",
})).s("gm_piano").gain(0.25)

// other · piano
const piano_5 = note("<~@27 A B C D ~@6 A E C F ~@25 A B C D ~@6 A E C F ~@43>".pickRestart({
  A: "a#2 d3 g3 a3", B: "a#3@2 e3 c#3", C: "d3", D: "a2@15 ~", E: "a#3 g3 e3 c#3", F: "[a2,e3,a3]",
})).s("gm_piano").gain(0.55)

// chords · piano
const piano_6 = note("<~@106 A B C D E@3 F C D G@3 H@4>".pickRestart({
  A: "~@8 [a4,c#5,e5]@5 ~ [a4,d5,f#5] ~", B: "[a4,d5,f#5]@7 ~ [a4,c#5,e5]@2 ~ [a4,d5,f#5]@2 ~ [c#5,e5]@2, ~@14 a4 ~",
  C: "[a4,d5,f#5]@3 ~ [a4,c#5,e5]@3 ~ [a4,c#5,e5]@5 ~ [b4,d5,f#5] ~", // D A Bm
  D: "[b4,d5,f#5]@7 ~ [a4,c#5,e5]@2 ~ [b4,d5,f#5]@2 ~ [c#5,e5]@2, ~@14 a4 ~", // Bm A Bm C#m
  E: "[[b4,d5,f#5]@4 [a4,c#5,e5]@3 ~ [g4,b4,d5]@15 ~ [a4,c#5,e5]@14 ~@2 [a4,c#5,e5]@5 ~ [a4,d5,f#5] ~]/3", // Bm A G A D
  F: "[a4,d5,f#5]@7 ~ [a4,c#5,e5]@2 ~ [a4,d5,f#5]@2 ~ [a4,c#5,e5] ~", // D A D A
  G: "[[b4,d5,f#5]@3 ~ [a4,c#5,e5]@3 ~ [g4,b4,d5]@16 [a4,c#5,e5]@14 ~@2 [a4,c#5,e5]@5 ~ [a4,d5,f#5] ~]/3", // Bm A G A D
  H: "[[a4,d5,f#5]@55 ~@9]/4", // D
})).s("gm_piano").gain(0.38).pan(0.4)

// other · piano
const piano_7 = note("<~@106 A B C B D E A B C B D E A F ~@3>".pickRestart({
  A: "~@8 e4 ~@5 f#4 ~", B: "f#4 ~@7 e4 ~@2 f#4 ~@2 e4 ~", C: "f#4 ~@3 e4 ~@3 e4 ~@5 f#4 ~", D: "f#4 ~@3 e4 ~@3 d4 ~@7",
  E: "~@8 e4 ~@7", F: "f#4 ~@15",
})).s("gm_piano").gain(0.51).pan(0.6)

// drums · kick
const kick = s("bd").struct("<~@3 A@7 B A@30 B A@7 B A@30 B C A@7 C A@8 B ~@7 D E@11 F B ~@3>".pickRestart({
  A: "x!2", B: "x", C: "~ x", D: "~@2 x!2", E: "x!4", F: "x ~ x ~ x ~@2 x",
})).gain(0.8)

// drums · snare
const snare = s("sd").struct(`<
  ~@3 A@7 ~ A@9 B A@9 B A@10 ~ A@7 ~ A@9 B A@9 B A@10 ~ C A@6 B C A@8 B ~@5 D E F A@11 B ~@4
>`.pickRestart({
  A: "~ x ~ x", B: "~ x ~@2", C: "~@3 x", D: "~@8 x!8", E: "x!16", F: "x!8 ~@4 x ~@3",
})).gain(0.8)

// drums · low tom
const low_tom = s("lt").struct("<~@88 [~@5 x!3] [x ~ x!3 ~@11] ~@33>").gain(0.8)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@3 A B C D A E F G H D I D H J K D L M N O@2 P O@3 Q O R S O@7 S O ~ A B C D A E F G H D I D H J K D L M N O@2 P O@3
  Q O R S O@7 S O ~ T D U V W X Y Z T AA Y I W AB AC I AD AE AF@5 AG ~ AH AI@3 AJ AI AJ AI@3 AJ AI AK ~@4
>`.pickRestart({
  A: "~@2 x!3 ~ x!3 ~ x!3 ~ x!2", B: "x ~ x!3 ~@3 x ~@2 x!2 ~@3", C: "x ~ x!3 ~ x!3 ~@2 x!2 ~@2 x",
  D: "x ~ x!3 ~ x!3 ~ x!3 ~@3", E: "x ~ x!3 ~@2 x!2 ~ x!3 ~@3", F: "x ~ x!3 ~ x!3 ~@2 x!2 ~@3", G: "x",
  H: "~@2 x!3 ~ x!3 ~ x!3 ~@2 x", I: "x ~ x!3 ~ x!3 ~ x!3 ~ x!2", J: "x ~ x ~ x ~ x!3 ~ x!3 ~@3",
  K: "x ~@2 x!2 ~ x!3 ~ x!3 ~ x!2", L: "~@2 x!3 ~@2 x!2 ~ x ~ x ~@3", M: "x ~ x!3 ~ x!2 ~@8", N: "~ x!2 ~ x ~ x ~",
  O: "x!4", P: "x ~ x ~ x!3 ~", Q: "x ~ x!3 ~ x ~", R: "x ~ x!2 ~@4", S: "~ x!3", T: "~@10 x!3 ~ x!2",
  U: "x ~@2 x!2 ~@3 x ~ x!3 ~ x!2", V: "x ~@2 x!2 ~@2 x!2 ~ x!3 ~ x!2", W: "x ~ x!3 ~@5 x!3 ~ x!2",
  X: "x ~ x!3 ~ x!3 ~ x!3 ~@2 x", Y: "x ~ x!3 ~@3 x ~ x!3 ~ x!2", Z: "x ~@2 x!2 ~@3 x ~@7",
  AA: "x ~ x!3 ~@2 x!2 ~ x!3 ~ x!2", AB: "x ~ x!3 ~@2 x!2 ~ x ~ x ~ x!2", AC: "x ~ x!3 ~@3 x ~@2 x!2 ~ x!2",
  AD: "x ~ x!3 ~@5 x!3 ~@2 x", AE: "x ~ x ~ x ~@7 x!2 ~@2", AF: "x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2",
  AG: "x!2 ~@2 x!2 ~@2 x ~@7", AH: "~@12 x!4", AI: "x!2 ~@2 x!6 ~@2 x!4", AJ: "x!2 ~@2 x!4 ~@4 x!4",
  AK: "x!2 ~@2 x!4 ~@8",
})).gain(0.56)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  ~@4 A B ~@2 C D ~ E ~@3 E F G ~ H ~ I J@2 K J@3 L J G ~@10 M ~ A B ~@2 C D ~ E ~@3 E F G ~ H ~ I J@2 K J@3 L J G ~@10
  M ~ N G K ~ E ~ G ~ C ~@3 H D ~ E F ~@24
>`.pickRestart({
  A: "~@6 x!2 ~@2 x ~@5", B: "~@5 x ~ x", C: "~@3 x ~@4", D: "~@5 x ~@2", E: "~@7 x", F: "~@3 x ~@12", G: "~ x ~@6",
  H: "~@6 x ~@4 x ~@4", I: "~@3 x ~ x ~ x", J: "~ x ~ x ~ x ~ x", K: "~ x ~ x ~@4", L: "~ x ~@3 x ~ x", M: "x",
  N: "~@14 x!2",
})).gain(0.32)
// … 79 more lines

More by Pooh