Strudelify

Wild Days

Fool's Garden

KeyG majorTempo126 bpm
0:00/0:00
// Wild Days — Fool's Garden
// 126 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 110 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 30.
setcpm(126/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.

// other · french horn
const french_horn = note("<~@41 A B C D@2 B E@2 F G A H ~@2 I J ~@20 K L M N ~@29>".pickRestart({
  A: "b3", B: "c4", C: "d4", D: "[f4@9 c4@2 b3@13]/2", E: "[d4@9 g4@2 f4@13]/2", F: "g3@23 ~", G: "a3", H: "~ a#3@22 ~",
  I: "g4 ~ g4 ~ f#4 ~ f#4 ~", J: "f4 ~ f4 ~ e4 ~ e4 ~", K: "[g3,g4] [g#3,e4]", L: "[a3,c#4] [b3,d#4]",
  M: "e4@11 ~ g4@12, c#4", N: "g3 ~@11, a#3 ~@23",
})).s("gm_french_horn").gain(0.33).pan(0.7)

// other · ocarina
const ocarina = note("<[g4@7 ~@5 g4@6 ~@6] [g4@5 ~@7 g4@5 ~@7]!8 ~@101>").s("gm_ocarina").gain(0.28)

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  ~@23 A B@8 ~@9 C D E D F D E G E H I J@2 K A L M@2 N@8 ~@10 E O P Q ~ R S T U V W@2 U V X Y@5 U V W@2 U V X Z@5 ~
>`.pickRestart({
  A: "~ a#3@11 c4@12", B: "[d4@11 ~ g4@180]/8", C: "g3@23 ~", D: "a3", E: "b3", F: "g3", G: "c4@23 ~", H: "c4", I: "d4",
  J: "d#4/2", K: "d4@7 ~", L: "d4@11 ~ g4@12", M: "[a#4 [f#4,a4], g4]/2", N: "[a#4 [c4,f4] ~@6, g4]/8",
  O: "c#4@11 ~ b3@12", P: "a#3@12 ~ e4@11", Q: "g3 ~@7", R: "[g3,d4]", S: "[g3,e4]", T: "[a3,f#4]@23 ~", U: "[c4,g4]",
  V: "[b3,g4]", W: "[c4@24 [d4,a4]@23 ~, g4]/2", X: "c4@11 ~ d4@12, g4",
  Y: "[d#4@24 [c4,a4]@24 ~@24 [g3,e4]@24 [a3,f#4]@23 ~, g4]/5", Z: "[d#4 [c4,a4] d4@3, g4]/5",
})).s("gm_string_ensemble_1").gain(0.25)

// other · flute
const flute = note("<~ A@2 B@2 A@2 C@2 ~@101>".pickRestart({
  A: "[b4@3 c5]/2", B: "[d5@3 e5]/2", C: "[d5@18 e5@5 ~]/2",
})).s("gm_flute").gain(0.21)

// chords · electric guitar clean
const electric_guitar_clean = note("<~@17 A@3 B C D E F@5 ~@20 A@3 B C D E F@5 ~@49>".pickRestart({
  A: "[[d4,g4]@3 ~@3 [d4,g4]@2 ~@4 [d4,g4]@2 ~@4 [d4,g4]@4 ~@2 g3@2 ~@4 [d4,g4]@3 ~@3 [d4,g4]@3 ~@3 [d4,g4]@4 [d4,g4]@4 ~@4 [d4,g4]@3 ~@3 [d4,g4]@3 ~@3 [d4,g4]@6, ~@11 [d4,g4]@2 ~@23]/3", // G5
  B: "[c4,g4]", C: "a3", D: "f#3", E: "~@3 d4, g3@11 ~ f#3@11 ~, ~@6 d4@11 ~@7",
  F: "[~@6 d4@6 e3@6 d4@4 ~@2 a#4@22 ~@2 f#4@22 ~@3 a#4@21 ~@2 f4@19 ~@5, f3@12 ~@10 [a#3,g4]@24 a3@25 d#4@24 ~@25, ~@47 c4@25 ~@22 g3@21 ~@5, ~@14 a#3@5 c4@4 ~]/5", // D#
})).s("gm_electric_guitar_clean").gain(0.32).pan(0.7)

// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note(`<
  ~@17
  [~@4 g3 ~@11 g3@2 ~@6]!2
  [g3 ~@15 g3@3 ~@5]
  ~@29
  [~@4 g3 ~@11 g3@2 ~@6]!2
  [g3 ~@15 g3@3 ~@5]
  ~@58
>`).s("gm_electric_guitar_clean").gain(0.14).pan(0.7)

// bass · electric bass finger
const bass = note(`<
  ~@16 A B C D E F G H I J K L M N O P Q R S T U V W X Y ~@7 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB
  AC AD AE AF AG@2 N O P Q R S T U V W X Y ~ O P Q R S T U V W X Y AH@4
>`.pickRestart({
  A: "~@5 f2@3 d2 c2@2 d2", B: "g2@2 ~@4 g2@3 ~@3 g2@3 ~@3 g2@4 g2@2", C: "a2@2 ~@4 a2@3 ~@3 a2@3 ~@3 a2@4 a2@2",
  D: "b2@2 ~@4 b2@3 ~@3 b2@2 ~@4 b2@3 ~ b2@2", E: "c3@11 c3", F: "a2@11 a2", G: "f#2@11 f#2",
  H: "g2@2 ~@4 g2@2 ~@4 f#2@2 ~@4 f#2@3 ~@3", I: "f2@3 ~@3 f2@2 ~@4 e2@2 ~@4 e2@2 ~@4", J: "d#2", K: "d2", L: "c2",
  M: "f1@23 ~", N: "g1@5 ~ g1@5 ~ g1@4 ~@2 g1@3 ~ g1@2", O: "a1@4 ~@2 a1@5 ~ a1@4 ~@2 a1@4 a1@2",
  P: "d2@4 ~@2 d2@4 ~@2 d2@4 ~@2 d2@3 ~ d2@2", Q: "c2 g2 c2 c3 c2 g2", R: "g1@3 ~@3 g1@3 ~@3 g1@3 ~@3 g1@4 g1@2",
  S: "a1@3 ~@3 a1@3 ~@3 a1@3 ~@3 a1@3 ~ a1@2", T: "d2@4 ~@2 d2@4 ~@2 d2@3 ~@3 d2@4 d2@2",
  U: "c2@4 c2@4 c2@4 g2@4 c2@4 g2@2 g2 ~", V: "g1@3 ~@3 g1@3 ~@3 g1@3 ~@3 g1@3 ~ g1@2",
  W: "c2@3 ~@3 c2@4 ~@2 d2@3 ~@3 d2@3 ~@3", X: "d#2@9 ~@3 a#2@4 d#2@4 a#2@4, ~@5 d#2@2 ~@5", Y: "f2@3 c3 f2 c3",
  Z: "g1@3 ~@13 g1@2 d2@4 g1@2", AA: "d#2@3 ~ g1@2 ~@16 g1@2", AB: "e2 c2", AC: "d#2@5 ~ d2@6 c2@6 a1@6",
  AD: "g1@3 ~@3 g1@2 ~@4 g#1@3 ~@3 g#1@3 ~@3", AE: "a1 ~ a1 ~ b1 ~ b1 ~", AF: "c#2 e2",
  AG: "[g1@3 ~@12 [e6,f#6]@2 ~@2 [e6,f#6]@3 ~ [g#5,a#5]@2 ~ [g#5,a#5]@3 ~ [c#6,d#6]@2 [c#6,d#6]@3 ~@2 [e5,f#5]@3 [a5,d#6]@2 ~@6]/2", // Esus2 G#sus2 C#sus2 Esus2 Adim
  AH: "[g1@73 ~@2 g1@4 ~@17]/4",
})).s("gm_electric_bass_finger").gain(0.41)

// chords · distortion guitar
const distortion_guitar = note("<~@8 A ~@30 B C ~@7 D ~@22 E@2 ~@6 F ~@12 B C ~@10 E@2 ~@3 G>".pickRestart({
  A: "~@4 c5@2 b4@4 a4@2 [f4,c5]@2 ~@2 f4 ~ [f4,c5]@2 d5@2 [d4,b4]@2, ~@2 f4@3 ~@7", B: "~@4 a#3 d#3", C: "~@10 f3 ~",
  D: "~@4 c5@2 b4@4 g4@2 [d4,g4]@2 ~@2 d4 ~ [d4,g4]@2 a4@2 [d4,g4]@2, ~@2 f4@3 ~@7", // G5
  E: "[~ a#3@2 ~@2 d#3@2 ~@2 a#3@2 a3@2 f3@2 ~, ~@9 a3@9 ~@3 f3@17 ~@10]/2", F: "~ e3", G: "~@2 d3@3 ~@7",
})).s("gm_distortion_guitar").gain(0.29).pan(0.8)

// chords · clavinet
const clavinet = note(`<
  ~@9 A B C D E F G H ~@24 A B C D E F G H I J K L M N O P Q R S T ~@12 U V W X Y Z AA AB ~@29
>`.pickRestart({
  A: "[b3,d4,g4]@2 ~@4 [b3,d4,g4]@2 ~@4 [b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~ g3 ~, g2 ~@23", // G
  B: "[a3,c4,g4]@3 ~@3 [a3,c4,g4]@3 ~ f3 ~ [a3,c4,g4]@3 ~@3 c3@4 f3 ~, f2 ~@15 [a3,c4,f4]@6 ~@2", // Am7 F
  C: "[g2,b3,d4,g4]@2 ~@4 [b3,d4,g4]@2 ~@4 [b3,d4,g4]@3 ~@3 [b3,d4,g4]@4 d3@2, ~@16 g3@5 ~@3", // G
  D: "[f2,a3,c4,g4]@2 ~@4 [a3,c4,g4]@3 ~ f3 ~ [a3,c4,g4]@3 ~ a3@2 f3@4 c3@2, ~@16 [c4,f4]@5 ~@3", // F Am7 F5
  E: "[g2,b3,d4,g4] ~@2 [b3,d4,g4] ~@2 [b3,d4,g4] ~@2 [b3,d4,g4] ~ d3, ~@8 g3@3 ~", // G
  F: "[f2,a3,c4,g4]@2 ~@4 [a3,c4,g4]@3 ~ f3@2 [a3,c4,g4]@2 ~@4 c3@4 f3@2, ~@16 [a3,c4,f4]@5 ~@3", // F Am7 F
  G: "[g2,b3,d4,g4]@2 ~@4 [b3,d4,g4]@2 ~@4 [b3,d4,g4]@2 ~@4 [b3,d4,g4]@3 ~ d3@2, ~@8 g3@3 ~", // G
  H: "[f2,c4,g4]@3 ~@3 [c4,g4]@3 ~ f3 ~ [c4,g4]@2 ~@4 f3@4 c3 ~, ~@8 [a3,c4,f4]@3 ~", // Fsus2 C5 F
  I: "[g2,b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~@3 [b3,d4,g4]@4 g2@2", // G
  J: "[a2,a3,c4,g4]@3 ~@3 [a3,c4,g4]@3 ~@3 [a3,c4,g4]@3 ~@3 [a3,c4,g4]@4 a2@2", // Am7
  K: "[b2,b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~@3 [b3,d4,g4]@4 b2@2", // G
  L: "[a#3,d#4,g4]@3 ~@3 [a#3,d#4,g4]@3 ~@3 [a#3,d#4,g4]@3 ~@3 [a#3,d#4,g4]@5 ~, c3@23 ~", // D#
  M: "[a2,g3,c4,d#4] ~ [g3,c4,d#4] ~ [g3,c4,d#4] ~ [g3,c4,d#4]@2", // Am7b5 Cm
  N: "[f#3,c4,d#4]@2 ~@4 [f#3,c4,d#4]@3 ~@3 [f#3,c4,d#4]@3 ~@3 [f#3,c4,d#4]@6, d3", // Cdim
  O: "[g2,g3,a#3,d4] ~ [g2,g3,a#3,d4] ~ [f#2,f#3,a#3,d4] ~ [f#2,f#3,a#3,d4] ~", // Gm F#aug
  P: "[f2,f3,a#3,d4]@3 ~@3 [f2,f3,a#3,d4]@3 ~@3 [e2,g3,a#3,d4]@3 ~@3 [e2,g3,a#3,d4]@5 ~", Q: "[d#2,g3,a#3,d#4]",
  R: "[d3,f#3,a3,c4,f#4]", S: "[c2,c3,g3,a#3,d#4]", T: "[f2,g3,c4,f4]@19 ~@5",
  U: "[g2,g3,b3,d4]@3 ~@3 [g3,b3,d4]@3 ~@3 [g3,b3,d4]@2 ~@4 [g3,b3,d4]@3 ~ g2@2", // G
  V: "[d#3,g3,b3,d#4]@3 ~@3 [g3,b3,d#4]@3 ~@3 [g3,b3,d#4]@2 ~@4 [g3,b3,d#4]@4 d#3@2", // D#aug Gaug
  W: "[e3,g3,c4,e4]@3 ~@3 [g3,c4,e4]@3 ~@3 [g3,c4,e4]@3 ~@3 [g3,c4,e4]@4 c3@2", // C
  X: "[d#3,g3,c4,d#4] ~ [g3,c4,d#4] ~ [g3,c4,d#4] ~ [g3,c4,d#4] ~", Y: "[g2,g3]@11 ~ [g#2,g#3]@12",
  Z: "[a2,a3]@11 ~ [b2,b3]@12, g3 ~@23", AA: "[c#3,c#4]@12 [e3,e4]@11 ~", AB: "[g2,g3] ~@7",
})).s("gm_clavinet").gain(0.26).pan(0.2)

// chords · shamisen
const shamisen = note("<~ A B C D E F G B ~@101>".pickRestart({
  A: "[g2,b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~ g3@2", // G
  B: "[f2,a3,c4,g4]@3 ~@3 [a3,c4,g4]@3 ~@3 [a3,c4,g4]@3 ~@3 c3@4 f3@2, ~@5 f3@3 [a3,c4,f4]@3 ~", // F Am7 F
  C: "[g2,b3,d4,g4]@2 ~@4 [b3,d4,g4]@3 ~@3 [b3,d4,g4]@2 ~@4 [b3,d4,g4]@3 ~ g3@2", // G
  D: "[f2,a3,c4,g4]@3 ~@3 [a3,c4,g4]@3 ~@3 [a3,c4,g4]@2 ~@4 c3@4 f3@2, ~@5 f3@3 [a3,c4,f4]@3 ~", // F Am7 F
  E: "[g2,b3,d4,g4]@2 ~@4 [b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~ g3@2", // G
  F: "[f2,a3,c4,g4]@2 ~@4 [a3,c4,g4]@3 ~@3 [a3,c4,g4]@2 ~@4 c3@4 f3@2, ~@5 f3@3 [a3,c4,f4]@3 ~", // F Am7 F
  G: "[g2,b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~@3 [b3,d4,g4]@2 ~@4 [b3,d4,g4]@3 ~ g3@2", // G
})).s("gm_shamisen").gain(0.29).pan(0.8)

// chords · piano
const piano = note("<~@9 A B C B C D C E F G H I J K L M N O P Q ~@44 R S T U V W X Y ~@29>".pickRestart({
  A: "[g2,b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~@3 [b3,d4,g4]@2 ~@4 [b3,d4,g4]@4 g3@2", // G
  B: "[f2,a3,c4,g4]@3 ~@3 [a3,c4,g4]@3 ~@3 [a3,c4,g4]@2 ~@4 c3@4 f3@2, ~@5 f3@3 [a3,c4,f4]@3 ~", // F Am7 F
  C: "[g2,b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~ d3@2, ~@9 g3@2 ~", // G
  D: "[f2,a3,c4,g4]@3 ~@3 [a3,c4,g4]@3 ~@3 [a3,c4,g4]@2 ~@4 f2@3 ~ f3@2, ~@5 f3@3 [a3,c4,f4]@3 ~", // F Am7 F
  E: "[f2,a3,c4,g4]@3 ~@3 [a3,c4,g4]@3 ~@3 [a3,c4,g4]@2 ~@4 c3@4 f3@2, ~@10 f3@6 [a3,c4,f4]@7 ~", // F Am7 F
  F: "[g2,b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~@3 [b3,d4,g4]@4 g2@2", // G
  G: "[a2,a3,c4,g4]@3 ~@3 [a3,c4,g4]@3 ~@3 [a3,c4,g4]@3 ~@3 [a3,c4,g4]@4 a2@2", // Am7
  H: "[b2,b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~@3 [b3,d4,g4]@4 b2@2", // G
  I: "[a#3,d#4,g4]@3 ~@3 [a#3,d#4,g4]@3 ~@3 [a#3,d#4,g4]@3 ~@3 [a#3,d#4,g4]@5 ~, c3@23 ~", // D#
  J: "[a2,g3,c4,d#4] ~ [g3,c4,d#4] ~ [g3,c4,d#4] ~ [g3,c4,d#4]@2", // Am7b5 Cm
  K: "[f#3,c4,d#4]@2 ~@4 [f#3,c4,d#4]@3 ~@3 [f#3,c4,d#4]@3 ~@3 [f#3,c4,d#4]@6, d3", // Cdim
  L: "[g2,g3,a#3,d4] ~ [g2,g3,a#3,d4] ~ [f#2,f#3,a#3,d4] ~ [f#2,f#3,a#3,d4] ~", // Gm F#aug
  M: "[f2,f3,a#3,d4]@3 ~@3 [f2,f3,a#3,d4]@3 ~@3 [e2,g3,a#3,d4]@3 ~@3 [e2,g3,a#3,d4]@5 ~", N: "[d#2,g3,a#3,d#4]",
  O: "[d3,f#3,a3,c4,f#4]", P: "[c2,c3,g3,a#3,d#4]", Q: "[f2,g3,c4,f4]@19 ~@5", R: "[g3,b3,d4]@23 ~",
  S: "[g3,b3,d#4]@23 ~", T: "[g3,c4,e4]@11 ~ [g3,c4,e4]@11 ~", U: "[g3,c4,d#4]@11 ~ [a3,c4,d#4]@10 ~@2",
  V: "[g2,b3] [g#2,b3]", W: "[a2,c#4]@12 [b2,d#4]@11 ~", X: "[a#2,e4]@12 [c#3,g4]@11 ~", Y: "[g2,g4] ~@11",
})).s("gm_piano").gain(0.29).pan(0.8)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@29 A B C D E F G@2 H I@8 ~@15 A B C D E F G@2 H J@8 K L M ~ A B C D E F G@2 H N@8 F G@2 H O P Q R@2 ~ S
>`.pickRestart({
  A: "[d4,g4]@3 ~@8 g3, g3@5 g3@3 g3@3 ~, ~ [d4,g4] d4 [d4,g4], ~@13 g4@5 ~@6", // G5
  B: "[e4,a4]@3 ~@6 a4@2 a3, a3@5 a3@3 a3@3 ~, ~ a4@2 ~, ~@6 e4@6 e4@11 ~", // A5
  C: "[a4,d5]@3 ~@8 d4, d4@5 d4@3 d4@3 ~, ~ d5@2 d5, ~ a4 a4@2", D: "[g4,c5]@3 ~@8 c4, c4@5 c4@3 c4@3 ~, ~ [g4,c5]!3",
  E: "[d4,g4]@3 ~@8 g3, g3@5 g3@3 g3@3 ~, ~ [d4,g4]!3", F: "[e4,a4]@3 ~@8 a3, a3@5 a3@3 a3@3 ~, ~ [e4,a4]!3",
  G: "[[a4,d5]@6 ~@12 [a4,d5]@4 d4 ~ c5@6 ~@16 c4@2, d4@5 d4@3 d4@3 ~ c4@5 c4@2 c4@2 c4@2 ~, ~@6 [a4,d5]@6 [a4,d5]@6 ~@5 g4@7 c5@10 c5@8, ~@15 g4@3 g4@4 g4@2]/2", // D5
  H: "[d4,g4]@3 ~@6 [d4,g4]@2 g3, g3@5 g3@3 g3@3 ~, ~ [d4,g4]!2 ~", // G5
  I: "[[g4,c5]@3 ~@2 c4 [a4,d5]@3 ~@2 [d4,g4] [a#4,d#5]@3 ~@8 d#4 [f4,c5]@3 ~@6 [f4,c5] ~@62, c4@5 a#3@91, ~@3 [g4,c5]@3 d4@5 ~ d#4@5 d#4@3 d#4@3 ~ c4@5 c4@3 c4@2 ~@62, ~@3 [a4,d5] ~ [a#4,d#5]!3 ~ [f4,c5]!2 ~@21]/8", // C5 D5 G5 D#5 F5 C5 D5 D#5 …
  J: "[[g4,c5]@6 ~@4 c4@2 [a4,d5]@6 ~@4 [d4,g4]@2 [a#4,d#5]@6 ~@16 d#4@2 [f4,c5]@6 ~@12 [f4,c5]@2 ~@100 [g2,b3,g4]@3 ~@3 d4@2 ~@2 g4@2 ~@6 b4@4 g#4@2, c4@5 a#3@91, ~@3 [g4,c5]@3 d4@5 ~ d#4@5 d#4@3 d#4@3 ~ c4@5 c4@3 c4@2 ~@52 g3@4 g#2@5 ~, ~@18 [a4,d5]@6 ~@6 [a#4,d#5]@6 [a#4,d#5]@6 [a#4,d#5]@6 ~@6 [f4,c5]@6 [f4,c5]@6 ~@110 b3@5 ~@3 g#3@6 ~@2, ~@31 b3]/8", // C5 D5 G5 D#5 F5 G C5 D5 …
  K: "~@4 a3@2 ~@4 a3@2 ~@6 d#4@4 b3 ~, a2@12 b2@11 ~, ~ e4 ~@2, ~@8 c#4@4 ~@4 f#3@7 ~", L: "[c#3,a#3,g4]@23 ~",
  M: "[b3,d4,g4] ~@7", // G
  N: "[[g4,c5]@3 ~@2 c4 [a4,d5]@3 ~@2 [d4,g4] [a#4,d#5]@3 ~@8 d#4 [f4,c5]@3 ~@6 [f4,c5] ~@14 [e4,a4]@3 ~@6 a4@2 a3 [a4,d5]@3 ~@8 d4 [g4,c5]@3 ~@8 c4 [d4,g4]@3 ~@8 g3, c4@5 a#3@91, ~@3 [g4,c5]@3 d4@5 ~ d#4@5 d#4@3 d#4@3 ~ c4@5 c4@3 c4@2 ~@14 a3@5 a3@3 a3@3 ~@4 a4@3 a4@6 ~@3 [g4,c5]@3 [g4,c5]@3 [g4,c5]@3 ~@3 [d4,g4]@3 [d4,g4]@3 [d4,g4]@3, ~@3 [a4,d5] ~ [a#4,d#5]!3 ~ [f4,c5]!2 ~@6 a4@2 ~@2 d5@2 d5 ~@8, ~@102 e4@6 e4@11 ~ d4@10 d4@6 d4@6 ~@2 c4@10 c4@6 c4@6 ~@2 g3@10 g3@6 g3@6 ~@2]/8", // C5 D5 G5 D#5 F5 A5 D5 C5 …
  O: "[g4,c5]@3 ~@2 [a#3,c4] [a4,d5]@3 ~@2 [d4,g4], c4@5 ~ d4@5 ~, ~ [g4,c5] ~ [a4,d5]", // C5 A#sus2 D5 G5 C5 D5
  P: "[a#4,d#5]@3 ~@8 d#4, d#4@5 d#4@3 d#4@3 ~, ~ [a#4,d#5]!3", // D#5
  Q: "[f4,c5]@3 ~@6 [f4,c5] ~@2, c4@5 c4@3 c4@2 ~@2, ~ [f4,c5]!2 ~", // F5
  R: "[[g3,d4]@9 ~@16 d4@6 ~@4 [d4,g4]@10 ~@3, g4@11 d4@5 d4@5 d4@4 ~@7 d4@2 ~@14, ~@9 g3@4 g4@5 g4@5 g4@2 g4@10 ~@13, ~@14 g3@5 ~ g3@4 g3@7 g3@2 g3@12 ~@3]/2", // G5
  S: "~@4 g4@3 ~@17, g2@7 ~@17, ~@2 g3@5 ~@17, ~@3 d4@4 ~@17",
})).s("gm_acoustic_guitar_steel").gain(0.34).pan(0.2)

// other · orchestra hit · G
const orchestra_hit = note("<~@9 [[g3,g4,g5]@5 ~@19] ~@100>").s("gm_orchestra_hit").gain(0.34)

// chords · synth strings 1
const synth_strings_1 = note("<~@25 A ~@3 B C D E F E G H I J K L@8 ~@13 B C D M@2 N@2 O@3 K ~@38>".pickRestart({
  A: "a#4@19 ~@5", B: "[g3,d4]", C: "[g3,e4]", D: "[a3,f#4]@23 ~", E: "[c4,g4]", F: "[b3,g4]@23 ~", G: "[d4,a4]@23 ~",
  H: "[c4,g4]@23 ~", I: "[b3,g4]", J: "c4@11 ~ d4@12, g4", K: "[d#4,g4]", L: "[c4,a4]/8",
  M: "[g4@24 [b3,g4]@23 ~, c4]/2", N: "[g4@24 d4@23 ~, c4]/2",
  O: "[g4@23 ~ [b3,g4]@24 ~@12 d4@12, c4@59 ~@13, ~@2 g4]/3", // Em
})).s("gm_synth_strings_1").gain(0.21)

// drums · kick
const kick = s("bd").struct(`<
  ~@24 A B C B D B@3 C B@3 E B@3 F G ~@15 B C H A B@3 C B@3 E B@3 F ~@7 I J B@3 C B@3 E B@3 F G B@2 C B@3 E B@2 K L G
  ~@2 M
>`.pickRestart({
  A: "~ x", B: "x ~@2 x!2 ~", C: "x!2", D: "x ~@6 x ~ x ~@2", E: "x ~@2 x ~@4 x ~@3", F: "x ~@4 x ~@6", G: "x",
  H: "x ~@5 x ~ x ~@2 x", I: "~@5 x!2 ~ x ~@2 x", J: "~@7 x!2 ~@3", K: "x ~@7 x ~@2 x", L: "~@2 x ~@2 x ~@6",
  M: "~ x ~@4",
})).gain(0.39)

// drums · rim
const rim = s("rim").struct("<~@24 [~@5 x ~@6] ~@79 [~@13 x ~@10] ~@5>").gain(0.21)

// drums · snare
const snare = s("sd").struct(`<
  ~ A@3 B A C A D ~@15 E F@3 G F@3 H F@3 I J F@2 K L M L M L M L N L M L M L M O P F@3 Q F@3 H F@3 I J F@2 K M@3 R M@2 S
  T U F@3 H F@3 I J F@2 K ~ F@2 H F@3 I J F V W ~@4
>`.pickRestart({
  A: "~@3 x ~@5 x ~ x", B: "~@3 x ~@4 x ~@2 x", C: "~@3 x ~@4 x!2 ~ x", D: "~@3 x ~@3 x ~ x ~@2",
  E: "~@5 x ~ x ~ x ~@2", F: "~ x ~ x", G: "~@6 x ~@4 x!2 ~@3 x ~@3 x ~ x ~", H: "~@3 x ~ x ~ x ~@2 x!2",
  I: "~ x ~@3 x ~ x ~ x!3", J: "~ x!3", K: "~ x ~ x ~@2 x ~@2 x ~@2", L: "~@3 x ~ x ~@3 x ~@2",
  M: "~@2 x!2 ~ x ~@3 x ~@2", N: "~@2 x!2 ~ x ~ x ~ x ~@2", O: "~@2 x!2 ~ x ~@2 x!2 ~ x", P: "~@2 x!2 ~ x!2 ~@2 x ~@2",
  Q: "x!2 ~ x ~@3 x!2 ~@3", R: "~@2 x!2 ~ x ~@2 x ~@3", S: "~@2 x!2 ~ x ~@6", T: "x!2 ~@4", U: "x ~ x ~@2 x!2 ~@2 x!3",
  V: "~ x ~ x ~@2 x ~@5", W: "x",
})).gain(0.34)
// … 54 more lines

More by Fool's Garden