Strudelify
La mia faccia cover art

Il cielo è blu sopra le nuvole

La mia faccia

Pooh

KeyG minorTempo72 bpm
0:00/0:00
// La mia faccia — Pooh
// 72 bpm, 4/4, key G minor. 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 (2/4 at bar 1, 4/4 at bar 1, 2/4 at bar 7, 4/4 at bar 7, ...) 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 79 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(72/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("<~@2 A@2 B C@2 ~@3 D ~@3 E ~@3 F ~@20 G H I@2 J@2 ~@2 K@2 ~@20 L@2 M ~@2 N@5>".pickRestart({
  A: "[~@7 g3 f3@12 ~@12, ~ g5@4 eb4 c4@2 ~@24, ~ eb5@3 ~@12, ~@3 c5@5 ~@24, ~ g4 ~@6]/2",
  B: "~ eb5, a4, ~@3 bb4@13, ~@3 f5@5", C: "[d5@16 ~@16 d5@31 ~, ~@4 db5@11 ~]/2",
  D: "~ bb4, c5@15 ~, ~ d4@3, ~@3 bb3@5", E: "~@3 a4 a4@2 [a4,d5]@2, d3, ~ [a3,d4]@7, ~ gb4@3, ~ eb5",
  F: "~ bb4, c5@15 ~", G: "~@15 g3, ~@9 g5@4 eb4 c4@2, ~@5 eb5@3, ~@11 c5@5, ~@3 g4", H: "f3@3 ~",
  I: "[~@2 eb5 d5, ~@16 a4@33 ~@15, ~@22 bb4@27 ~@15, ~@28 f5@21 ~@15]/2", J: "[~@16 d5@31 ~@17, db5@11 ~@5]/2",
  K: "[~@32 bb4@17 ~@15, ~@8 c5@15 ~@9]/2",
  L: "[~@31 g4, eb5@5 a4@2 d5@2 ~@16 c6@3 eb5 c5 a4@2, ~ c5@7 g4@19 g5@5, ~@2 a4@2 gb4@5 ~@17 a5@6, ~@3 g4@3 eb5@3 ~@15 eb6@8]/2",
  M: "gb4 ~",
  N: "[~@67 [g2,g3,g5]@70 ~@23, ~@4 bb3@14 bb3@33 bb4@54 ~@55, ~@4 g3@17 d5@31 ~@28, ~@13 d4@15 d4@64 ~@68, ~@23 g4@10 bb4@5 g4@64 ~@58]/5", // G
})).s("gm_piano").gain(0.45).pan(1)

// chords · piano · soft notes
const piano_soft = note("<~@2 A ~@7 B ~@7 C ~@20 D ~@7 E@2 ~@30>".pickRestart({
  A: "~ eb5 c5 g4 eb4 ~@11", B: "~ bb3@2 ~@5, bb2", C: "~@3 bb3@5, bb2, ~ bb3@2 ~@5, ~ d4@3",
  D: "~@9 eb5 c5 g4 eb4 ~@3", E: "[~@7 bb3@5 ~@4, ~@16 bb2@33 ~@15, ~@5 bb3@2 ~@9, ~@3 d4@3 ~@2]/2",
})).s("gm_piano").gain(0.25).pan(1)

// bass · fretless bass · "Basso"
const bass = note(`<
  A B@2 C@2 D E F G H E I J K L F G H E M J K N O P Q R S T Q U V W X Y Z AA AB AC AD AE AF AG AH@2 AI@2 AJ@4 AK AL AM@2
  AN AO AP@2 AQ@2 AR@2 AS@2 AT@2 AU AV AU AV AU AV AW@5 ~
>`.pickRestart({
  A: "~@16 g2@11 ~ g2@4", B: "[f2@5 ~ f2@2 eb2@5 ~ eb2@7 ~ eb2@2 f2@5 ~ f2@2]/2",
  C: "[eb2@10 ~@2 eb2@3 ~ d2@11 ~ d2@11 ~ d2@8 c2@10 ~@2 c2@3 ~]/2", D: "bb1@10 ~@2 bb1@4 a1@11 ~ a1@4", E: "d2",
  F: "g2 f2", G: "eb2", H: "f2 eb2", I: "c2", J: "bb1@13 ~ bb1@2", K: "a1 db2", L: "d2@23 ~ gb2@8", M: "a1 d2",
  N: "d2@2 eb2 d2", O: "g2@11 ~ g2@4 f2@11 ~ f2@4", P: "eb2@11 ~ eb2@19 ~", Q: "a1@11 ~ a1@4 d2@16",
  R: "g1@16 eb2@8 d2@7 ~", S: "g2@3 g2 f2@4", T: "eb2@31 ~", U: "g1@31 ~", V: "c2@16 f2@15 ~", W: "bb1", X: "c2 d2",
  Y: "g2", Z: "c3 f2", AA: "bb2", AB: "c3 d2", AC: "g2@11 ~ g2@4 f2@10 ~@2 f2@4", AD: "eb2@5 ~ eb2@7 ~ eb2@2",
  AE: "f2@10 ~@2 f2@4 eb2@10 ~@2 eb2@3 ~", AF: "d2@11 ~ d2@11 ~ d2@8", AG: "c2@10 ~@2 c2@3 ~ bb1@10 ~@2 bb1@4",
  AH: "[a1@11 ~ a1@4 d2@32 g2@16]/2", AI: "[f2 eb2@2 f2]/2", AJ: "[eb2@8 d2@16 c2@16 bb1@13 ~ bb1@2 a1@8]/4",
  AK: "db2 d2", AL: "eb2@8 d2@8 g2@11 ~ g2@4", AM: "[f2@11 ~ f2@4 eb2@11 ~ eb2@19 ~ a1@11 ~ a1@4]/2", AN: "d2 g1",
  AO: "eb2@8 d2@7 ~ g2@12 g2@4", AP: "[f2@16 eb2@31 ~ a1@11 ~ a1@4]/2", AQ: "[d2@16 g1@31 ~ c2@16]/2",
  AR: "[f2@15 ~ bb1@32 c2@16]/2", AS: "[d2 g2@2 c3]/2", AT: "[f2 bb2@2 c3]/2", AU: "d2@16 g2@11 ~ g2@4",
  AV: "f2@5 ~ f2@2 eb2@8", AW: "[d2@20 g1@133 ~@7]/5",
})).s("gm_fretless_bass").gain(0.64)

// chords · string ensemble 2 · "Archi"
const string_ensemble_2 = note(`<
  A@5 B@4 C@2 D@2 E@4 C@2 D@2 F@5 G@5 H I@5 J K@2 L@2 M N@7 O@2 P@3 Q@4 R@4 S@6 T@4 U@6
>`.pickRestart({
  A: "[~ [g2,g4] [f2,f4] [eb2,bb3,eb4]@2 [f2,f4] eb2 ~ d4 [c2,g3,c4,eb4], ~@16 g3@64 a3@32 [d2,bb3,f4]@33 ~@15, ~ d4@2 ~@2 c4@3 ~@2, ~@3 eb4 ~]/5", // G F Eb5 F Cm Bb
  B: "[[g2,bb3,d4] [a2,e3,db4] [d2,gb3]@2 g2 f2 [eb2,eb3]@2, ~ a3@3 [g3,g4]@4, ~ d4@3]/4", // Gm A D Eb G
  C: "[f2 eb2 ~ d4, f4, c4@3 ~, a3 [d2,d3,bb3]]/2", D: "[[c2,c3,c4,eb4]@2 ~ g3, g4, ~ [g2,bb3,d4]]/2",
  E: "[~@2 [d2,d3,gb4]@2 g2 f2 [eb2,eb3]@2, a3 [g3,g4], [a2,db4,e4] d4@3, ~@16 a4@49 ~@63]/4", // D Eb G A
  F: "[~@4 [d2,d3,d4,gb4]@2 [eb2,eb3,c4,eb4,g4] [d2,d3,a4] g2@2 f2@2 ~@4 [c4,eb4]@2 d2 gb2, a3@6 ~ d4@9 ~@4, [a2,db4,e4]@2 ~@2 [g3,g4]@5 [d3,a3,d4,gb4,a4], ~ a4@2 ~@3 [eb2,eb3]@3 ~]/5", // D Cm D5 Cm A G D Eb
  G: "[g2@2 [eb2,eb3,eb4] [d2,d3,a3,gb4] g2@2 [f2,f3]@2 ~@4 [c4,eb4]@2 [gb2,gb3,gb4,a4]@2 [g2,bb3,g4]@4, [bb3,g4]@24 d4@72 ~@16 d4@47 ~, ~@16 g4@41 ~@23, ~ bb3@2 ~@2, ~@32 [eb2,eb3]@25 ~@23]/5", // Eb D F Cm Gbm Gm Eb
  H: "[c3,g3] [f2,f3,a3], [c4,g4]", // C5 F C5
  I: "[[bb2,bb3,d4]@4 [c2,g3,c4]@2 [d2,gb4]@2 ~@2 bb3@2 [c3,eb4]@2 bb4 a4 ~@2 d4@2, f4@3 d4@3 c4@3 ~, ~@3 a3@2 ~@5, ~@4 g4@3 f4@3, ~@4 g2@2 ~ f2 [bb2,bb3]@2]/5", // Bb C5 D Cm Bb
  J: "[c2,c4,eb4] [d2,d4,a4], g4", K: "[[g2,g4] [f2,f4] [eb2,bb3,eb4]@2, g3, d4 ~]/2",
  L: "[[f2,f4] eb2 ~ d4, c4@3 ~, a3 [d2,bb3,f4], ~ eb4@2 ~]/2", M: "[c2,c4,eb4] [g2,bb3,d4], g3",
  N: "[[a2,e3,db4] [d2,gb3]@2 g2 f2 [eb2,eb3]@2 f2 eb2 ~ d4 [c2,c3,c4,eb4]@2 [g2,bb3,d4], a3@3 [g3,g4]@4 c4@3 ~@4, ~ d4@6 f4@4 g4@3, ~@7 a3@2 [d2,d3,bb3]@2 ~@3]/7", // A D Eb Cm Gm G Gm
  O: "[g3 ~@2 [d2,d3,d4,gb4], ~ a3@3, ~ [a2,db4,e4]@2 ~, ~ a4]/2", // D A
  P: "[[eb2,eb3,c4,eb4,g4] [d2,d3,a4] g2@2 f2@2 ~@4 [c4,eb4]@2, ~ d4@9 ~@2, ~ [g3,g4]@5, ~ [eb2,eb3]]/3", // Cm D5 Cm G Eb
  Q: "[d2 gb2 g2@2 [eb2,eb3,eb4] [d2,d3,a3,gb4] g2@2 [f2,f3]@2 ~@4 [c4,eb4]@2, d4@4 ~ d4@9 ~@2, [d3,a3,gb4,a4]@8 [bb3,g4]@13 ~@3 g4@40, ~@3 bb3@4 ~, ~@5 [eb2,eb3]@3]/4", // Eb D F Cm D Eb
  R: "[[gb2,gb3,gb4,a4] [g2,bb3,g4]@2 [c3,g3] [f2,f3,a3] [bb2,bb3,d4]@2 [c2,g3,c4], d4@47 ~ [c4,g4]@32 f4@48]/4", // Gbm Gm C5 F Bb C5
  S: "[[d2,gb4]@2 ~@2 bb3@2 [c3,eb4]@2 bb4 a4 ~@2 d4@2 [c2,c4,eb4]@2 [d2,d4,a4]@2 [g2,g4]@2 [f2,f4]@2 [eb2,bb3,eb4]@2, d4@3 c4@3 ~@3 d4@2 ~, a3@2 ~@7 g3@3, ~ g4@3 f4@3 g4@2 ~@3, ~ g2@2 ~ f2 [bb2,bb3]@2 ~@5]/6", // D Cm D5 G F Eb5 Bb
  T: "[[d2,gb3,a3,d4] [g2,g4] [f2,f4] [eb2,bb3,eb4], ~ g3@3, ~ d4@2 ~]/2", // D G F Eb5
  U: "[[d2,gb3,a3,d4]@20 [g2,g3,bb3,d4]@149 ~@23, ~@20 [g1,g4]@143 ~@29]/6", // D Gm G
})).s("gm_string_ensemble_2").gain(0.2).pan(0.4)

// chords · acoustic guitar nylon · "Nylon gtr"
const acoustic_guitar_nylon = note(`<
  A B C D@2 E F G ~@7 H I J K L M N@2 O P Q R@2 S T U V W@2 X@4 Y Z AA@2 AB AC AD AE@4 AF@3 AG AH AI AJ AK AL AM AN AO@3
  AP@4 AQ B AR B AR B AS@5 ~
>`.pickRestart({
  A: "~@16 g4@14 g4 a4", B: "bb4 g4 ab4@2", C: "eb4@16 f4@6 f4@5 f4@5",
  D: "[f4@10 eb4@5 eb4@25 ~@8 eb4@5 ~ g4@4 ~ eb4@4 ~]/2", E: "d4@5 ~ g4@4 ~ d4@5 db4@8 db4@2 e4@2 a4@2 g4@2",
  F: "gb4@6 d4 e4 gb4 g4 a4 bb4 c5 d5 ~@2", G: "d5 ~",
  H: "~@4 d4@4 ~@4 g3@3 ~@13 bb3@4, g2@8 f2@7 ~, g3 g4 ~ g4, ~@5 d4@3 ~@8",
  I: "~@20 bb2@3 ~@9, eb2@31 ~, ~@4 bb2@11 ~@17, ~@8 eb3@23 ~, ~@3 g3@5",
  J: "~@20 c3@4 ~@4 c3@3 ~, f2, ~@4 c3@12 c4@13 ~@3, ~@8 f3@13 ~@3 f3@7 ~",
  K: "c4@4 f3@4 ~@2 f3@2 eb4 d4 bb3 f3, bb2@13 ~@3, ~@2 bb3 ~", L: "c3@3 ~ d3@3 ~",
  M: "~ d3 ~@2 g3@4, g2@3 ~, ~@8 a3@7 ~@17, ~@3 d3@4 ~",
  N: "[~@8 a3@8 ~@20 a3@4 ~@4 a3@5 ~@15, a2@27 ~@5 d3@16 ~@16, ~@6 a4@5 ~@5, ~@5 d4 ~@2]/2", O: "~ d3 g3 bb3",
  P: "bb3@2 a3 g3", Q: "a3@4 d4@3 c4", R: "[c4@8 bb3@8 a3@8 bb3@16 d3@8 g3@9 bb3@7]/2", S: "~ bb3@15 eb3@16",
  T: "eb3@2 d3 a3", U: "a3@7 g3 bb3@8", V: "~@3 eb4 g4@2 a4@2, c3 f2, ~ g3@3 ~@4, ~ c4@3",
  W: "[~@3 d4 ~@6 c4@2 ~ a3 gb4@2, bb2@6 d4@3 g3@3 ~@4, ~ f3@7 c3@4 d3@3 ~, ~@4 bb3@6 f4@11 ~@11, ~@8 a4@13 ~@11]/2",
  X: "[~@4 g3@4 d4@2 ~@5 g3 ~@8 g4@2 ~@14 a4@2 f3@2 ~@2 f3@2 ~@6 eb4@2 [d3,g4]@4 gb4@4, g2@26 d4@6 ~@8 c4@9 ~@3 c4@13 ~@7 bb3@11 ~@5 g4@17 ~@23, ~@4 d3@16 g3@7 ~ bb3@4 ~@4 g3@12 f3@14 ~@6 f3@12 ~@20 g3@12 ~@16, ~@22 d3@7 ~@3 c3@16 ~@16 bb2@28 ~@4 c3@12 ~@20, ~@24 g4@16 ~@4 eb4@9 ~@3 a4@16 ~@4 d4@21 ~@7 c4@8 ~@16]/4", // G5
  Y: "g4@14 g4 a4 bb4@8 g4@8", Z: "ab4 eb4", AA: "[f4@6 f4@5 f4@5 f4@10 eb4@5 eb4@25 ~@8]/2",
  AB: "eb4@5 ~ g4@4 ~ eb4@4 ~ d4@5 ~ g4@5 d4@5", AC: "db4@4 db4 e4 a4 g4 gb4@6 d4 e4",
  AD: "gb4@2 g4@2 a4@2 bb4@2 c5@2 d5@2 ~@4 d5@4 d4@4 ~@4 g3@3 ~, ~ g2, ~@2 g3 g4, ~@13 d4@3",
  AE: "[~@8 g4@8 ~@20 bb2@3 ~@5 bb2@3 ~@21 c3@4 ~@4 c3@3 ~ c4@8 f3@8 ~@4 f3@4 eb4@2 d4@2 bb3@2 f3@2 ~@12 eb4@4, f2@14 ~@2 eb2@31 ~ f2@32 ~@48, ~@20 bb2@11 ~@21 c3@12 ~@16 bb2@26 ~@6 c3@12 ~@4, ~@24 eb3@23 ~@9 f3@13 ~@3 f3@7 ~@37 g3@12, ~@28 g3@20 ~@16 c4@13 ~@19 bb3@8 ~@24]/4",
  AF: "[d3@3 ~@2 d3 ~@2 g3@4 ~@2 a3@2 ~@5 a3 ~ a3, ~@16 g2@24 ~@8 a2@27 ~@13 d4@8, ~@24 a3@7 ~@41 a4@20 ~@4, ~@7 d3@4 ~@9 d3@4]/3",
  AG: "~@3 d3", AH: "g3 bb3 bb3@2", AI: "a3 g3 a3@2", AJ: "d4@3 c4 c4@2 bb3@2", AK: "a3 bb3@2 d3",
  AL: "g3@9 bb3@8 bb3@15", AM: "eb3!2", AN: "d3@4 a3@4 a3@7 g3",
  AO: "[bb3@4 ~@3 eb4 g4@2 a4@2 ~@3 d4 ~@6 c4@2, ~@4 c3@4 f2@4 bb2@6 d4@3 g3@3, ~@5 g3@3 ~@5 f3@7 c3@4, ~@12 c4@12 ~@4 bb3@6 f4@11 ~@3, ~@32 a4@13 ~@3]/3",
  AP: "[~@4 a3@4 ~@4 a3@3 ~@17 d4@4 ~@10 g3@2 ~@16 g4@4 ~@28 a4@4 f3@4 ~@4 f3@4 ~@12 eb4@4, d3@12 ~@4 g2@26 d4@6 ~@8 c4@9 ~@3 c4@13 ~@7 bb3@11 ~@5 g4@17 ~@7, ~@8 gb4@9 ~@3 d3@16 ~@2 d3@7 ~@3 c3@16 ~@16 bb2@28 ~@4 c3@12 ~@4, ~@24 g3@9 ~@3 g3@7 ~ bb3@4 ~@4 g3@12 f3@14 ~@6 f3@12 ~@20 g3@12, ~@28 bb3@9 ~@3 g4@16 ~@4 eb4@9 ~@3 a4@16 ~@4 d4@21 ~@7 c4@8]/4",
  AQ: "~@12 d4@4 g4@14 g4 a4, [d3,g4] gb4 ~@2, ~@2 a3@5 ~@9", AR: "a4@16 g4@14 g4 a4", AS: "[a4@20 ~ g4@135 ~@4]/5",
})).s("gm_acoustic_guitar_nylon").gain(0.48).pan(0.6)

// chords · acoustic guitar nylon · "Nylon gtr" · soft notes
const acoustic_guitar_nylon_2 = note(`<
  ~@6 A ~@8 B@2 ~@2 C ~ D ~@10 E@2 F ~ G H ~@6 I J ~@2 K ~ L@2 ~@10 M N ~@2 O P ~@11
>`.pickRestart({
  A: "~@14 eb5 c5", B: "[~@20 d4@3 ~@37 bb2@3 ~, ~@4 f3@5 ~@7]/2", C: "~@3 eb4 ~@4, ~ g3@3 ~@4, ~@8 c4@7 ~@17",
  D: "~@20 a3@3 ~@5 a3@3 ~, ~@4 e3@23 ~@5, ~@3 db4@3 ~@2, ~ e4", E: "[~@28 bb3@8 ~@9 eb4@3 g4@8 ~@4 a3@3 ~]/2",
  F: "~@12 bb3@9 ~@11", G: "~@11 bb3@5", H: "~@22 d4@3 ~@3 d4@4, ~@10 a3@5 ~", I: "~@6 eb5 c5 ~@8",
  J: "~@4 d4@3 ~@5 bb3@5 ~@15, f3@5 ~@3", K: "~@24 c4@7 ~",
  L: "[~@36 a3@3 ~@5 a3@3 ~@17, ~@20 e3@23 ~@21, ~@7 db4@3 ~@6, ~@2 e4 ~]/2", M: "~@12 bb3@8 ~@9 eb4@3", N: "g4 ~@3",
  O: "~@3 bb3@5 ~@8", P: "~@6 d4@3 ~@23",
})).s("gm_acoustic_guitar_nylon").gain(0.24).pan(0.6)

// chords · acoustic guitar steel · "Steel gtr"
const acoustic_guitar_steel = note(`<
  A@6 B@2 C D E F@2 G H ~ C I E F@2 G J K@3 L@4 M ~@7 N@3 O@5 P@6 Q@4 R@5 ~@6 S T@2 U@8 ~
>`.pickRestart({
  A: "[~@44 d3@4 ~@60 a3@3 ~@29 d3@4 ~@44 db4@4, ~@16 g2@16 f2@16 eb2@24 d4@16 f3@12 c3@12 d3@12 d3@4 c4@16 ~@8 eb3@9 ~@3 d3@12 ~@4 e3@12, ~@20 d3@13 ~@3 d3@4 d4@28 eb3@2 bb2@6 eb3@7 ~ c3@15 eb2@12 ~ d2@32 eb2@12 g3@12 g3@8 ~@16, ~@24 g3@27 ~ bb2@12 bb3@28 a3@12 f3@7 ~@5 f3@28 ~@4 bb2@11 ~ g2@16 a2@16, ~@28 bb3@21 ~@7 eb3@4 g3@20 f2@16 c4@15 ~@9 a3@12 d3@4 a3@23 ~@13 bb3@8 ~@4 a3@8]/6",
  B: "[~@30 eb5@2 d5@31 ~, d3@61 ~@3, ~@4 a3@57 ~@3, ~@4 d4@2 gb4 g4 a4 bb4 c5 d5 eb5 f5 d5@2 ~@16, ~@10 e4@23 ~@31]/2",
  C: "d4@2 c4 bb3", D: "~@16 f3@7 ~@9, a3@12 c3@15 ~@5, ~@2 f2@5 ~", E: "~@3 c4 bb3@2 a3@2, bb2, c4@8 f3@23 ~, ~ d3@7",
  F: "[g2@21 ~@19 g3@4 a3@3 ~ bb3@4 d4@4 ~@4 d3@4, g3@9 d3@5 g4@2, ~@32 g2@31 ~]/2", G: "a4, a2@11 ~@5",
  H: "~@12 gb4@3 ~ eb5@8 d5@8, d3, ~ a3@7, ~@8 d4@7 ~@17", I: "~@16 f3@7 ~@9, a3 ~, ~@2 f2@5 ~, ~@12 c3@15 ~@5",
  J: "~@12 gb4@3 ~@5 c4@2 ~@6 d4@2 gb4@2, d3@16 c3@5 ~@3 d3@8, ~@2 a3@6 ~ g3@3 ~ a3@3, ~@8 d4@7 ~@7 eb4@4 ~@6",
  K: "[~@5 g3 ~@7 g3 ~ g3 ~@2 c4 ~@3 d4 gb4, g2@6 g4@5 c4@5 ~ g3@3 d3@3 ~, ~ d3@6 g3 g2@6 g4@4 ~@6, ~@8 g3@8 d4@24 g3@8 eb4@16 ~@12 eb4@8 a3@9 ~@3, ~@6 bb3@12 c3@12 ~@2 a2@7 ~@9]/3",
  L: "[~@6 bb4@2 ~@2 eb4 g4 ~@2 d4 ~@11 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 d4@2 ~@2 d4@2, g3@6 ~@2 eb3@3 ~ d3@2 ~@2 g2@16 c3@15 ~ a2@8 d3@8, ~@4 d4@12 ~@2 bb3@6 ~@2 a3@4 ~@6 d3@20 g4@17 ~@7 eb4@22 ~@26, ~@8 g4@9 ~@13 gb4@6 ~@4 g3@8 d4@21 ~@3 c4@29 ~@3 c4@8 ~@16, ~@11 bb3@6 ~@5 g4@7 ~ gb4@2]/4",
  M: "~@5 g3 g4@2, g2, ~ d3@7, ~ g3 d4@2, ~@3 bb3@5",
  N: "[~@28 d3@4 ~@60 a3@3 ~, g2@4 f2@4 eb2@6 d4@4 f3@3 c3@3, ~@4 d3@13 ~@3 d3@4 d4@28 eb3@2 bb2@6 eb3@7 ~ c3@15 eb2@12 ~, ~@8 g3@27 ~ bb2@12 bb3@28 a3@12 f3@7 ~, ~@12 bb3@21 ~@7 eb3@4 g3@20 f2@16 c4@15 ~]/3",
  O: "[~@28 d3@4 ~@44 db4@4 ~@30 eb5@3 ~@31 d4@16, d2@32 eb2@12 g3@12 g3@8 ~@24 d4@4 gb4@2 g4@2 a4@2 bb4@2 c5@2 d5@2 eb5@2 f5@2 d5@5 ~@47, d3@12 d3@4 c4@16 ~@8 eb3@9 ~@3 d3@12 ~@4 e3@12 d3@61 ~@19, ~@4 f3@28 ~@4 bb2@11 ~ g2@16 a2@16 ~@10 e4@23 ~@47, ~@8 a3@12 d3@4 a3@23 ~@13 bb3@8 ~@4 a3@8 ~@4 a3@57 ~@19]/5",
  P: "[c4@8 bb3@8 ~@16 f3@7 ~@21 c4@4 bb3@8 a3@8 g2@21 ~@19 g3@4 a3@3 ~ bb3@4 d4@4 ~@4 d3@4 a4@32 ~@12 gb4@3 ~, ~@16 a3@17 ~@15 c4@8 f3@23 ~ g3@37 ~@19 g4@8 ~@36 a3@12, ~@24 f2@20 ~@8 d3@28 ~@36 d3@21 ~@39 d3@16, ~@28 c3@15 ~@5 bb2@32 ~@32 g2@31 ~ a2@22 ~@18 d4@7 ~]/6",
  Q: "[~@2 c4 ~@3 d4 gb4 ~@10 g3@2 ~@14 g3@2 ~@2 g3@2 ~@4 c4@2 ~@6 d4@2 gb4@2 ~@6 bb4@2, c3@5 ~ eb4@4 a3@6 g2@24 g4@20 c4@20 ~@4 g3@12 d3@12 ~@12 g4@8, ~@2 g3@6 d3@9 ~@3 d3@24 g3@4 g2@24 g4@16 ~@28 d4@12, ~@24 g3@8 d4@24 g3@8 eb4@16 ~@12 eb4@8 a3@9 ~@3 g3@12 ~@4, ~@14 bb3@12 c3@12 ~@2 a2@7 ~@17]/4",
  R: "[~@2 eb4 g4 ~@2 d4 ~@11 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 d4@2 ~@2 d4@2 ~@10 g3@2 g4@4 ~@8, eb3@6 ~@2 d3@4 ~@4 g2@32 c3@30 ~@2 a2@16 d3@16 g2@33 ~@15, ~@2 bb3@6 ~@2 a3@4 gb4@6 d3@20 g4@17 ~@7 eb4@22 ~@34 g3@8 d4@16 ~@16, ~@24 g3@8 d4@21 ~@3 c4@29 ~@3 c4@8 ~@20 d3@29 ~@15, ~@28 bb3@24 ~@20 g4@28 ~@4 gb4@9 ~@11 bb3@20 ~@16]/5",
  S: "~@7 bb3, ~ g2, ~@5 d3@3, ~@3 g3",
  T: "[~@3 d3 ~@11 bb3, f2@17 ~@3 bb2@20 d4@4 gb4@4 g2@4 d3@4 g3@8, ~ d3@2 ~ eb2@12, ~@2 d4@5 g3 d3 a3@7, ~@3 eb3@5]/2",
  U: "[~@12 d3@4 ~@32 g3@14 ~@54 g3@111 ~@29, f2@17 ~@3 bb2@24 gb4@52 a3@64 ~@96, ~@4 d3@8 ~@4 eb2@20 a3@4 d4@40 ab3@35 d3@112 ~@29, ~@8 d4@20 g3@4 d3@32 bb3@50 bb2@113 ~@29, ~@24 eb3@38 g3 a3@9 g3@41 g2@115 ~@28]/8",
})).s("gm_acoustic_guitar_steel").gain(0.24).pan(0)

// other · synth brass 2 · "Syn Brass"
const synth_brass_2 = note("<~@15 A@2 B C D E F G H@2 I@2 J@2 K@2 ~@13 L@2 M@4 N@3 O P@2 Q@2 P@2 R ~@18>".pickRestart({
  A: "[g4@23 ~ c4@4 g4@4]/2", B: "f4@3 eb4", C: "~@2 bb3 a3, f4", D: "eb4", E: "d4 g3", F: "db4", G: "d4",
  H: "[~ d4 g4 bb4@3 a4 g4]/2", I: "[a4@6 g4 a4]/2", J: "[~ d4 g4 bb4@3 a4 g4, bb4@23 ~@41]/2", K: "[a4@3 g4]/2",
  L: "[~@8 g4@23 ~]/2", M: "[c4 g4 f4@3 eb4 ~@2 bb3 a3 eb4@4 d4@2, ~@3 f4@2 ~@3]/4", N: "[g3@2 db4@4 d4@4 ~ d4]/3",
  O: "g4 bb4@3", P: "[a4 g4 a4@6]/2", Q: "[g4 a4 ~ d4 g4 bb4@3, ~@16 bb4@23 ~@25]/2", R: "g4 ~",
})).s("gm_synth_brass_2").gain(0.42).pan(0.2)

// other · taiko drum · "Taiko"
const taiko_drum = note("<~@22 A B ~@2 A B ~@24 C ~@3 C ~@16 D ~@2 E ~@2>".pickRestart({
  A: "~@8 b2 ~@3 b2 ~@3", B: "b2 ~@15", C: "b2 ~@3 b2 ~@3 b2 ~@7", D: "~@10 b2 ~@5", E: "~@3 b2@2 ~@27",
})).s("gm_taiko_drum").gain(0.8)

// other · recorder
const recorder = note("<~@27 A@2 B@2 ~@25 C D E@2 F ~@18>".pickRestart({
  A: "[bb4 d4 g4 bb4@3 a4 g4]/2", B: "[a4@3 g4]/2", C: "~@2 bb4 d4", D: "g4 bb4@3", E: "[a4 g4 a4@6]/2", F: "g4 ~",
})).s("gm_recorder").gain(0.56).pan(1)

// drums · kick
const kick = s("bd").struct("<A@6 ~ B@15 C D@3 E D@4 B@13 A@8 F G@3 F G@3 A@13 ~@6>".pickRestart({
  A: "~@4 x ~@2 x", B: "x ~@2 x ~@4", C: "x ~@2 x!2 ~ x ~", D: "x", E: "x ~ x!2", F: "x!3 ~", G: "~ x",
})).gain(0.72)

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

// drums · clap · soft notes
const clap_soft = s("cp").struct(`<
  ~ A ~ A ~ A ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B@8 C@7 B ~ B ~ B ~@2 A ~ A ~ A ~ A ~ A@8 D@7 A ~ A ~ A ~@6
>`.pickRestart({
  A: "~ x ~@6", B: "~@5 x ~@2", C: "~@7 x", D: "~@3 x ~@4",
})).gain(0.32)

// drums · snare
const snare = s("sd").struct(`<
  A B A C A B ~ D E D F D E D F D E D F D E D F A@8 ~@7 D E D F D E A B A C A B A C ~ E@8 ~@6 A B A B A B ~@6
>`.pickRestart({
  A: "~@3 x", B: "x!2 ~ x", C: "x ~@7 x ~@14 x ~@8", D: "~ x!3", E: "~ x ~@2", F: "~@7 x ~@24",
})).gain(0.32)

// drums · pedal hat
const pedal_hat = s("hh").struct("<A B@5 C B@16 ~@15 B@6 A B@7 C ~@14 A B@5 D ~@5>".pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "~ x ~@2", D: "~@5 x ~@10",
})).gain(0.64)

// drums · open hat
const open_hat = s("oh").struct("<~@22 A ~@3 A ~@25 B ~@3 B ~@17 C D E ~@2>".pickRestart({
  A: "~@2 x!2", B: "x!2 ~@2", C: "~@8 x!2 ~ x ~ x!4 ~ x!4 ~ x!4 ~ x!4", D: "~ x!3 ~@3 x ~@3 x ~@20", E: "~@3 x ~@28",
})).gain(0.24)

// drums · open hat · soft notes
const open_hat_soft = s("oh").struct("<~@73 [~@24 x!2 ~ x ~@2 x!2] [x ~@2 x ~ x ~@26] [~@17 x ~@14] ~@3>").gain(0.08)

// drums · crash
const crash = s("cr").struct("<A ~@22 B ~@3 B ~@10 B ~@13 A ~@3 A ~@10 A ~ A ~ A ~ C ~@5>".pickRestart({
  A: "~ x", B: "x", C: "~@5 x ~@2",
// … 38 more lines

More by Pooh