Strudelify

Voglio andare via

Pooh

KeyC♯ minorTempo90 bpm
0:00/0:00
// Voglio andare via — Pooh
// 90 bpm, 4/4, key C# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 98 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(90/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 · epiano1
const epiano1 = note(`<
  ~@2 A B C D A B C D E F G H I J K L E F G H M N O P Q ~@11 R S F G H M N O P Q ~@19 T@2 U@2 V W X Y ~@12 E F G H Z F G
  H AA@2 ~
>`.pickRestart({
  A: "e4@2 c#4@2 g#3@2 e4@2 c#4@2 g#3@2 e4@2 g#3 ~", B: "d#4 b3 f#3 d#4 b3 f#3 d#4 f#3",
  C: "e4@2 ~@2 g#3@2 e4@2 c#4@2 g#3@2 e4@2 g#3 ~", D: "d#4@2 ~@2 f#3@2 d#4@2 ~@2 f#3@2 d#4@2 f#3 ~",
  E: "~@3 e4@5, c#3, ~ g#3@7, ~ c#4@3", F: "~@5 f#3 ~ f#3, b2, ~@2 f#3@7 ~@7, ~@2 b3@3 ~ b3@2, ~@3 d#4@5",
  G: "~@3 c#4, c#3, ~@2 g#3@7 ~@7, ~@2 c#4@3 ~@3, ~@3 e4@5", H: "~@3 d#4@2 ~ d#4 b3, b2, ~ f#3@7, ~ b3@2 ~, ~@5 e4@2 ~",
  I: "~@3 f#4@5, [f#2,a3]", J: "~@6 e4@9 ~, [e2,b3], ~@2 e3@13 ~, ~@4 g#3@11 ~",
  K: "~@6 d4@9 ~, [d2,a3], ~ d3@7, ~@4 f#3@11 ~", // D5
  L: "~@6 [f#3,c4,d#4]@3 ~ [f#3,c#4,e4] ~ [f#3,d#4,f#4]@3 ~, [g#2,d#3,g#3,c#4]@6 [g#2,d#5]@9 ~, ~@2 d#6@13 ~", // Cdim F#7 D#m G#sus4 G#5
  M: "~@6 f#4@9 ~, [f#2,a3]", N: "~@6 e4@9 ~, b3, ~@2 e3@13 ~, ~@4 g#3@11 ~",
  O: "~@6 d4@9 ~, a3, ~@2 d3@13 ~, ~@4 f#3@11 ~",
  P: "g#3@4 d#3@2 g#3 ~ d#3@4 ~@2 d#3@2, g#2@11 ~ g#2@4, c#4@7 ~ [g#3,c#4]@8, d#3@3 ~@13", // C#5
  Q: "[g#3,c4,d#4]@5 ~ [g#3,c#4,e4]@5 ~ [g#3,d#4,f#4]@4", R: "~@4 d#5 e5 d#5 b4",
  S: "~@3 e4@5, c#3, c#5 ~, ~ g#3@7, ~ c#4@3",
  T: "[c#4@7 ~ c#4@2 d#4@2 e4@2 ~@2 [e2,e3,b3]@15 ~, [c#3,g#3]@14 g#4@5 ~@13]/2", // E5 C#5
  U: "[[b3,c#4]@6 ~@6 b4@2 ~@2 [a2,a3]@5 ~ [g#2,g#3]@3 ~ [f#2,f#3]@2 ~ [e2,e3]@2 ~, [b2,f#3]@7 ~@9, ~@3 b3@4 ~@9, ~@4 c#4@3 ~ [c#4,e4]@8, ~@5 f#4@2 g#4@8 ~]/2", // Bsus2 A G# F# E B5 C#m
  V: "~@4 g#4 d#4 ~ g#4, [c#3,g#3], ~@4 d#4@5 ~@7, ~@3 e4@2 ~ e4@2", // C#5
  W: "[c#4,g#4]@2 g#3 ~@3 g#4 g#3, [e2,e3], g#3@3 ~@3 g#4@4 c#4@6, ~@8 g#3@5 ~@3", // C#5 E
  X: "b3 ~@2 f#4 ~@3 b3, b2@15 ~, [c#4,f#4]@2 c#4@3 f#4@3, ~ b3@5 c#4@2, ~ b4", Y: "[a3,b3]@3 a3, e4, a2@9 ~@7",
  Z: "~@3 e4@5, [f#2,c#3], ~ g#3@7, ~ c#4@3", AA: "[[c#2,c#3,e3,g#3,c#4]@31 ~]/2",
})).s("gm_epiano1").gain(0.4)

// chords · epiano1 · soft notes
const epiano1_soft = note("<~@4 A B ~@2 A B ~@2 C ~ D ~@2 E ~@2 C ~ F ~@18 C ~ F ~@30 G ~@14 C ~@3 C ~@4>".pickRestart({
  A: "~ c#4 ~@6", B: "~ b3 ~@2 b3 ~@3", C: "~@5 g#3@3", D: "~@4 c#4@11 ~, ~ e3@7", E: "~@4 g#5@11 ~",
  F: "~@4 c#4@11 ~, ~@2 e3@13 ~", G: "~@5 a2@3",
})).s("gm_epiano1").gain(0.24)

// bass · electric bass finger
const bass = note(`<
  ~ A B C B D B C E F G H B I J K L M G H B N J O P Q R S T U V W X U Y Z AA AB AC B AD B AD AE Q P Q AF S T U V W X U
  AG AH AI AJ AK AH AL AJ AM AN AO AP AQ ~@7 S T U V W X U AR B AS P AT AU@2 AV@2 AW@2 ~@5
>`.pickRestart({
  A: "~@3 g#2", B: "c#2@15 ~", C: "c#2@3 g#2", D: "c#2@2 g#2 g#1", E: "c#2@7 ~", F: "~@2 g#1 b1", G: "c#2",
  H: "b1@3 g#1", I: "~@5 g#1 b1 c#2", J: "f#1", K: "e1@3 a1", L: "d2@15 ~", M: "g#1@2 d#2 g#2@2 d#2 g#1@2",
  N: "~@4 f#1 g#1 b1 c#2", O: "g#1@3 ~", P: "a1@15 ~", Q: "g#1@15 ~", R: "g#1@5 ~ a#1@6 c2@4", S: "c#1@11 ~ c#1@4",
  T: "e1@10 ~@4 g#1 a1", U: "b1@15 ~", V: "a1@3 g#1@2 f#1@2 e1", W: "c#1@11 ~ c#1@2 d#1@2", X: "e1@13 ~ a1@2",
  Y: "a1@6 g#1@3 ~ f#1@4 e1@2", Z: "c#2@13 ~ c#2 ~", AA: "b1@8 b2@2 f#2@2 b1@2 f#1 ~", AB: "a1", AC: "g#1@7 b1",
  AD: "b1@5 g#1 b1 g#1", AE: "f#1@15 ~", AF: "g#1@3 d#2@3 g#2@2 g#2@3 d#2@3 g#1@2", AG: "a1@3 a1 c#2@2 d#2@2",
  AH: "e2@5 e1!2 ~ e1@7 ~", AI: "d#1@5 d#1!2 ~ d#1@7 ~", AJ: "c#2@5 ~ c#2@2 b1@7 ~", AK: "a1@3 g#1@3 f#1@2",
  AL: "d#1@5 ~ d#1 ~ d#1@7 ~", AM: "a1@3 e2@5 a1@4 g#1@4", AN: "f#1@2 ~ f#1@2 f#1!2 ~ f#1@7 ~",
  AO: "g#1@5 ~ g#1 ~ g#1@7 ~", AP: "g#1 a1 g#1 a1 g#1 a1 g#1 a1", AQ: "c#1", AR: "a1@3 a1 a1@2 b1@2",
  AS: "b1@7 ~ b1@2 c#2@2 b1@2 e1@2", AT: "g#1", AU: "[c#1@3 g#1]/2", AV: "[c#1@24 g#1@4 b1@3 ~]/2", AW: "[c#1@31 ~]/2",
})).s("gm_electric_bass_finger").gain(0.64)

// bass · fretless bass
const bass_2 = note("<~@7 A B C B ~@7 D E B E F G H@2 I ~@59 J K@2 L@2 M N O P Q@2 ~>".pickRestart({
  A: "~@4 d#3@3 b2", B: "c#3@7 ~", C: "~@4 d#3@3 ~ f#3@4 b2@4", D: "c#3@4 g#2 b2 c#3 d#3 e3@8", E: "~@4 d#3 e3 d#3 b2",
  F: "f#2@7 ~", G: "g#2@15 ~", H: "[a2@14 d#3@8 g#2@9 ~]/2", I: "g#2@3 a#2@3 c3@2", J: "~@3 b2",
  K: "[c#3@11 ~ d#3@3 b2]/2", L: "[c#3@8 g#3@13 ~@7 e3@4]/2", M: "c#3@15 ~", N: "~@8 b2@2 ~ b2@2 ~ b2 ~",
  O: "b2@3 c#3@13", P: "b2", Q: "[c#2@27 ~@5]/2",
})).s("gm_fretless_bass").gain(0.56)

// other · acoustic guitar nylon
const acoustic_guitar_nylon = note("<~ A@7 B@2 ~@28 C D E D E F G H I J ~@41 K L M N@2 ~@4>".pickRestart({
  A: "[~@22 c#3@21 ~@11 c#3@21 ~@11 c#3@20 ~@2 g#2@4, ~@12 g#2@7 ~ g#2@23 ~ g#2@7 ~ g#2@23 ~ g#2@7 ~ g#2@23 ~@5, ~@16 c#2@27 ~@5 c#2@27 ~@5 c#2@26 ~@6]/7",
  B: "[~@6 c#3@23 ~@3, c#2@29 ~@3]/2", C: "~@12 e4 f#4 g#4 b4", D: "c#5@2 ~ c#5@2 g#4 c#5@2 g#4 c#5@2 ~ c#5@2 g#4@2",
  E: "b4@2 f#4 b4@2 f#4 b4@2 ~ b4@2 ~ e4 f#4 g#4 b4", F: "a4@2 ~ a4@2 e4 a4@2 e4 a4@2 ~ a4@2 e4@2",
  G: "b4@2 f#4 b4@2 f#4 b4@2 ~ b4@2 ~ e4 f#4 g#4 e4", H: "a4 ~ d4 a4 e4 d4 a4 e4 d4 a4 e4 ~ a4 e4 d4 e4",
  I: "g#4 d#4 c#4 g#4@2 d#4 ~ g#4@2 d#4 c#4 g#4@2 d#4 c#4 d#4",
  J: "g#4 d#4 c4 g#4@2 d#4 ~ g#4 g#4@2 d#4 c4 g#4 d#4 ~ d#4", K: "~@12 e4 f#4 g#4 a4",
  L: "b4@2 ~ a4 [g#4,a4]@2 ~ g#4 [f#4,g#4]@2 ~ [e4,f#4] f#4@2 ~ e4", M: "e4@7 ~@9, d#4 ~@15",
  N: "[~@7 [g#4,a4] b4@3 [g#4,a4] a4@2 g#4@5 ~@2 f#4 [d4,e4] ~@9]/2", // Amaj7 Dsus2
})).s("gm_acoustic_guitar_nylon").gain(0.56).pan(0.3)

// other · acoustic guitar nylon · soft notes
const acoustic_guitar_nylon_2 = note("<~@8 A@2 ~@29 B C B C D C E F G ~@45 H ~@4>".pickRestart({
  A: "[~ g#2@6 ~]/2", B: "~@2 g#4 ~@8 g#4 ~@4", C: "~@8 f#4 ~@2 f#4 ~@4", D: "~@2 e4 ~@8 e4 ~@4", E: "~ e4 ~@9 d4 ~@4",
  F: "~@6 c#4 ~@9", G: "~@6 c4 ~@7 c4 ~", H: "~@7 d4 ~@8",
})).s("gm_acoustic_guitar_nylon").gain(0.32).pan(0.3)

// other · orchestral harp
const orchestral_harp = note(`<
  ~@2 A ~ B C D E F G ~@17 H@2 I J H@2 I J K L M ~@10 H@2 I J H@2 I J ~@19 H@2 I J H@2 I J K L M ~ A N B C D E F G ~@3
>`.pickRestart({
  A: "~@6 c#4 d#4 e4 ~ [d#4,e4] d#4 c#4 ~ d#4 ~", B: "~@5 c#4 e4 f#4 g#4 ~ [f#4,g#4] f#4 e4 ~ f#4 ~",
  C: "~@2 d#4 ~ d#4 ~ d#4 ~@3 e4 ~ d#4 [d#4,e4] c#4 ~", D: "~@6 c#5 d#5 e5 ~ [d#5,e5] d#5 c#5 ~ d#5 ~",
  E: "~@2 b4 ~ f#4 ~@11", F: "~@5 c#5 e5 f#5 g#5 ~ [d#5,f#5] ~ [c#5,e5] ~ [d#5,f#5]@2",
  G: "~@2 [b4,d#5] ~ [b4,d#5] ~ b4@2 ~@2 [c#5,e5] ~ [b4,d#5] ~ [g#4,c#5]@2, ~@6 d#5 ~@9", // B C#m B C#5
  H: "~@2 c#4 ~ d#4 ~ e4 ~ g#4 ~ d#4 ~ e4 ~ g#4 ~", I: "~@2 b3 ~ c#4 ~ d#4 ~ f#4 ~ c#4 ~ d#4 ~ f#4 ~",
  J: "~@2 a3 ~ b3 ~ e4 ~ a3 ~ b3 ~ e4 ~ a3@2", K: "~@2 g#3 ~ c#4 d#4 e4 f#4 g#4 ~ e4 ~ [c#4,c#5] ~ [g#3,b4] ~",
  L: "~@2 b3 ~ f#4 ~ b4 ~@3 g#4 ~ f#4 ~ e4 ~", M: "~@4 c#4 d#4 e4 f#4 g#4 ~ c#5 ~ g#4 ~@3", N: "~@2 b3 ~ f#3 ~@11",
})).s("gm_orchestral_harp").gain(0.41)

// chords · synth strings 1
const synth_strings_1 = note(`<
  ~@6 A B C B A ~@7 D E F G H I J K@2 ~@8 L M N O ~@48 D E F G D E F G P@2 ~
>`.pickRestart({
  A: "[c#4,g#4]", B: "[b3,f#4] [f#4,b4]", C: "[c#4,g#4]@15 ~", D: "[c#4,e4,g#4]", E: "[b3,d#4,f#4]@15 ~",
  F: "[c#4,e4,g#4]@15 ~", G: "[b3,d#4,f#4]", H: "[f#3,a3,c#4]", I: "[g#3,b3,e4]", J: "[a3,d4,f#4]",
  K: "[c#4@8 c4@3 [c#4,e4]@3 [c4,d#4,f#4]@2, g#3@7 ~, d#4@11 ~@5]/2", L: "[e4,g#4,c#5]", M: "[d#4,f#4,b4]",
  N: "[a3,c#4,e4,g#4]", O: "[g#3,b3,d#4,f#4]", P: "[[c#4,e4,g#4]@27 ~@5]/2",
})).s("gm_synth_strings_1").gain(0.39)

// other · lead 4 chiff
const lead_4_chiff = note("<~@18 A B A B C D E F G ~@71>".pickRestart({
  A: "c#5 g#4 c#4 g#4 g#5 g#4 c#4 g#4 c#5 g#4 c#4 g#4 g#5 g#4 c#4 g#4",
  B: "b4 f#4 b3 f#4 f#5 f#4 b3 f#4 b4 f#4 b3 f#4 f#5 f#4 b3 f#4", C: "a4 e4 a3 e4 e5 e4 a3 e4 a4 e4 a3 e4 e5 e4 a3 e4",
  D: "b4 f#4 b3 f#4 e5 f#4 b3 f#4 b4 f#4 b3 f#4 b4 f#4 b3 f#4", E: "a4 e4 a3 e4 d5 e4 a3 e4 a4 e4 a3 e4 d5 e4 a3 e4",
  F: "g#4 d#4 g#3 d#4 c#5 d#4 g#3 d#4 g#4 d#4 g#3 d#4 c#5 d#4 g#3 d#4",
  G: "g#4 d#4 g#3 d#4 c5 d#4 g#3 d#4 g#4 d#4 g#3 d#4 c5 d#4 g#3 d#4",
})).s("gm_lead_4_chiff").gain(0.19)

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  ~@27 A@3 B@4 C ~@4 D E D E F G H I@2 A@3 B@4 C J@2 K L J@2 M N O P Q R@2 S T U@2 V W A@3 B@4 C X Y Z AA ~@11
>`.pickRestart({
  A: "[[c#3,g#4,c#5] [e2,g#5] [b2,d#5,f#5], e5@2 ~, ~ b4@2]/3", // C#5 E B
  B: "[~@3 g#2@2 ~@2 e2 [c#3,g#4]@8 [e2,g#5]@8 [b2,d#5,f#5]@8, e5@3 ~, c#5 b4, a4 ~@3]/4", // C#5 E B
  C: "~@3 g#2@2 ~@2 e2, [a4,c#5,e5]", D: "[g#3,d#4,e4] ~@3 [g#3,d#4,e4] ~@3 [g#3,d#4,e4] ~@3 [g#3,d#4,e4] ~@3",
  E: "[f#3,b3,d#4] ~@3 [f#3,b3,d#4] ~@3 [f#3,b3,d#4] ~@3 [f#3,b3,d#4] ~@3", // B
  F: "[e3,a3,c#4] ~@3 [e3,a3,c#4] ~@3 [e3,a3,c#4] ~@3 [e3,a3,c#4] ~@3", G: "[e3,b3,e4]@15 ~", H: "[a3,d4,e4]",
  I: "[c#4 c4, [d#3,g#3]]/2", J: "[[e3,e5,g#5] [d#3,f#4,f#5], b4]/2", K: "[c#3,g#4,c#5,e5] [b2,f#4,b4,d#5]",
  L: "[a2,a4]@3 [g#2,g#4]@3 [f#2,a4]@2, [e4,c#5]", M: "[c#3,g#4,c#5,e5] [b2,g#4,b4,e5]", N: "[e4,a4,c#5]@3 [b4,e5], a2",
  O: "[f#2,e5,a5]", P: "[g#2,g#4], [c#5,g#5] ~@15", Q: "[a4,c#5,d#5,g#5]", R: "[c#5,g#5,c#6]/2",
  S: "~ b5, [b4,d#5,f#5]", T: "[a4,b4,e5]", U: "[~ e5, [c#5,c#6]]/2", V: "[f#5,b5,f#6]", W: "[a5,e6,g#6]",
  X: "[e4,g#4,c#5]", Y: "[d#4,f#4,b4]", Z: "[a3,c#4,e4,g#4]", AA: "[g#3,b3,f#4]",
})).s("gm_string_ensemble_1").gain(0.33)

// chords · string ensemble 1 · soft notes
const string_ensemble_1_soft = note("<~@30 A ~@3 A ~@16 A ~@3 A ~@22 A ~@3 A ~@3 B ~@11>".pickRestart({
  A: "a2@3 ~@2 f#2@2 ~", B: "d#4",
})).s("gm_string_ensemble_1").gain(0.2)

// chords · distortion guitar
const distortion_guitar = note(`<
  ~@47 A B C D E B C D F C G H I C G H J K L M N ~@6 O B C D E B C D F B P Q A ~@11
>`.pickRestart({
  A: "[g#2,d#3,g#3]", B: "[c#3,g#3,c#4]", C: "[e3,b3]", D: "[f#3,b3]", E: "[e3,a3]@3 g#3@2 f#3@2 e3",
  F: "[e3,a3]@3 c#3@3 d#3@2", G: "d#3", H: "[g#3,c#4] [f#3,b3]", I: "[e3,a3]@3 g#3@3 f#3@2", J: "[e3,a3]@3 g#3",
  K: "[f#3,c#4]", L: "[g#3,d#4]@15 ~", M: "g#3@2 a3@2 g#3@2 a3@2 g#3@2 a3@2 g#3@3 ~", N: "[g#3,c#4]", O: "[e3,a3]",
  P: "[b2,f#3]@4 d#3 e3 d#3 b2", Q: "[a2,e3]",
})).s("gm_distortion_guitar").gain(0.35)

// chords · pizzicato strings · C#m E B D#m C#m E
const pizzicato_strings = note(`<
  ~@35
  [c#4 ~ g#4 ~ [c#5,e5] ~ [e5,g#5] ~@9]
  [b3 ~ f#4 ~ [b4,d#5] ~ [d#5,f#5] ~@9]
  [a3 ~ e4 ~ [c#5,e5] ~ [e5,g#5] ~@9]
  ~@60
>`).s("gm_pizzicato_strings").gain(0.56)

// chords · piano
const piano = note(`<
  ~@25 A B C D E F C D E F G H I J ~@7 K ~ C D E L C D E M N O P Q R S T U V W X Y@2 Z@2 AA AB AC AD AA AB AE AF AA AB
  AE AG AH AI AJ AK ~@11
>`.pickRestart({
  A: "~@6 c#4@9 ~, g#3@4 g#3@11 ~, ~@2 d#3@13 ~", B: "[g#3,c4,d#4]@5 ~ [c#4,e4]@5 ~ [d#4,f#4]@4",
  C: "[c#4,e4]@2 ~@5 g#3, c#3, g#3@3 ~ g#3@9 ~@3, ~@3 c#4@5, ~@5 e4@3", // C#m
  D: "[b3,e4]@2 ~@5 b3, e3, g#4@9 ~ g#4@6, ~@4 b3@9 ~@3, ~@3 e4@5", // E5
  E: "c#4@2 ~@5 b3, b2, f#4@9 ~ f#4@6, b3@3 ~ b3@9 ~@3, ~@3 c#4@5",
  F: "[a3,c#4,e4]@5 ~ [g#3,c#4,e4]@4 f#3@4 e3@2, ~@5 [c#4,e4]@3", G: "~@7 g#3, c#3, ~ g#3@4 g#4@3, ~ c#4@3, ~@3 e4@5",
  H: "~@5 f#4@3, b2, ~ f#3@7, ~ b3@3, ~@3 d#4@5", I: "[c#4,e4]@2 ~@3 e4@3, [a2,g#4], a3@3 ~ a3@12, ~@3 c#4@5",
  J: "~@3 g#4@5, [g#2,g#3,b3,d#4,g#5], ~ d#5@7, ~ b4@3", K: "~@6 g#4@9 ~, g#3@15 ~, ~ c#4@6 ~, ~@2 d#4@5 ~",
  L: "[a3,c#4,e4]@5 ~ [g#3,c#4,e4]@4 f#3@4 e3@2, ~@5 e4@3, ~@10 c#4 ~@5", // A C#m
  M: "[a3,c#4,e4]@5 ~ [g#3,c#4,e4]@4 ~@2 [d#3,f#3,b3]@4", // A C#m B
  N: "b3@2 ~ b3@2 ~ [b3,e4,f#4]@3 ~ b3@3 ~ b3@2, e3@15 ~, [e4,g#4]@5 ~@5 [e4,g#4]@6", // Bsus4 E
  O: "[f#3,c#4,d#4]@5 ~ [b3,d#4]@4 f#3 ~@3 d#3@2, d#3@13 ~@3, ~@6 f#3@3 ~@3 [f#3,b3,d#4]@4", // D#m7 B
  P: "c#3@2 g#3 c#3 b2@2 ~ b2, [c#4,e4]@7 ~ [b3,e4]@8, g#3@3 ~@5 g#3@3 ~ g#3@4", // C#m E5
  Q: "[a2,a3,b3,e4]@5 ~ g#3@3 ~ g#3 ~ [f#2,a3,b3,e4]@4, ~@3 [g#2,b3,e4]@3 ~@2", // Asus2 F#m7 E
  R: "[b3,e4]@3 ~ [b3,f#4] ~ [b3,g#4]@4 ~@2 e4@2 f#4@2, e3@4 ~ e3@3, ~@3 b3", // E5 B5 E
  S: "[d#4,f#4,c#5]@5 ~ [d#4,f#4]@3 ~ d#4@2 ~@2 d#4@2, d#3@5 f#4@3, ~@3 b4@5, ~@3 d#3", // D#m7 D#m
  T: "[c#3,g#3,c#4,e4]@5 ~ [c#3,g#3,c#4]@2 b2@5 ~ b2@2, ~ [g#3,b3,e4]", // C#m C#5 E
  U: "a3@3 ~@2 [a2,e3] [g#2,g#3,b3,e4]@2, c#4@3 ~, a2@2 a3 ~, e3@2 ~ e3@2 ~@3", // A5 E
  V: "a3@4 ~@2 a3@3 ~@3 f#3@2 f#2 ~, f#2@13 ~@3, e4@9 ~@7, f#3@3 ~ f#3@5 ~ [a3,e4]@5 ~", // A5
  W: "[g#3,c#4,d#4]@4 g#3 ~ g#3@4 ~@2 g#3@3 ~, g#2@9 ~ g#2@5 ~, ~@6 [c#4,d#4]@9 ~", // G#sus4 C#sus2
  X: "[g#2,g#3] [a2,a3] [g#2,g#3] [a2,a3] [g#2,g#3] [a2,a3] [g#2,g#3] [a2,a3]", // G# A G# A G# A G# A
  Y: "[c#4@7 ~ c#4@2 d#4@2 e4@2 ~@2 [e2,e3,b3]@15 ~, [c#3,g#3]@14 g#4@13 ~@5]/2", // E5 C#5
  Z: "[[b3,c#4]@6 ~@6 b4@2 ~@2 [a2,a3]@5 ~ [g#2,g#3]@3 ~ [f#2,f#3]@2 ~ [e2,e3]@2 ~, [b2,f#3] ~, ~@6 b3@9 ~@17, ~@8 c#4@7 ~ [c#4,e4]@16, ~@5 f#4@2 g#4@8 ~]/2", // Bsus2 A G# F# E B5 C#m
  AA: "~@4 g#4 d#4 ~ g#4, [c#3,g#3], ~@4 d#4@5 ~@7, ~@3 e4@2 ~ e4@2", // C#5
  AB: "[c#4,g#4]@2 g#3 ~@3 g#4 g#3, [e2,e3], g#3@3 ~@3 g#4@4 c#4@6, ~@8 g#3@5 ~@3", // C#5 E
  AC: "b3 ~@2 f#4 ~@3 b3, b2@15 ~, [c#4,f#4]@2 c#4@3 f#4@3, ~ b3@5 c#4@2, ~ b4", // F#5
  AD: "a2@9 ~@3 a3@4, e4, [a3,b3]@3 ~, ~@5 a2@3", // Asus2
  AE: "b3 ~@2 f#4 ~@3 b3, b2, [c#4,f#4]@2 c#4@3 f#4@3, ~ b3@5 c#4@2, ~ b4", // F#5
  AF: "[a2,a3,b3,e4]@5 ~ [g#2,g#3,b3,e4]@4 f#2@3 e2@3, ~@5 [a3,b3,e4]@3", // Asus2 E Asus2
  AG: "[a3,b3,e4]@5 ~ [a3,b3,e4]@4 a2@2 [b2,b3,c#4,f#4]@3 ~, a2@9 ~@7", // Asus2 Bsus2
  AH: "c#4@4 ~@2 c#4 ~ c#4@4 ~@2 c#4 ~, [e4,g#4]@7 ~ [e4,g#4]@6 ~@2, c#3@3 ~ c#3@7 ~ c#3@4", // E
  AI: "[d#4,f#4]@6 b3 ~ b3@2 ~@2 b3@2 ~@2, b2@9 ~ b2@6, b3@5 ~@3 [d#4,f#4]@7 ~", // D#m
  AJ: "[c#4,e4,g#4]@3 ~@3 a2@2, a2@5 ~ a2@6 ~@4, d#4 ~@7 [c#4,e4,g#4]@8", AK: "[g#2,g#3,b3,d#4,f#4]",
})).s("gm_piano").gain(0.48)

// drums · kick
const kick = s("bd").struct(`<
  ~@2 A B A B A B A B A C A D A C A C A C A C A C A C A@2 C A C A C A C A C A B A C A C A C A C B@2 E B F B G B@2 E H E
  I E H E J E J B@2 ~@3 A C A K B E B L B G B M D@3 B N J N J N J N J ~@3
>`.pickRestart({
// … 71 more lines

More by Pooh