Strudelify

Wild 'N Free (Remix Extended)

Rednex

KeyG majorTempo176 bpm
0:00/0:00
// Wild 'N Free (Remix Extended) — Rednex
// 176 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 159 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(176/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 · whistle
const whistle = note(`<
  A B C D E F G H ~ A B C D E F G H ~@24 A B C D E F G H ~@24 A B C D E F G H ~@48 A B C D E F G H A I@2 J K L M N O P Q
  R S T U V W X Y Z ~@2
>`.pickRestart({
  A: "g6@2 ~@2 g6@3 ~ a6 ~ c7 ~ b6 ~ a6 ~", B: "d7@3 ~ d7@3 ~ d7 ~ e7 ~ b6 ~ c7 ~",
  C: "a6@3 ~ a6@3 ~ a6 ~ c7 ~ b6 ~ a6 ~", D: "g6 ~ g7 ~ f#7 ~ e7 ~ d7 ~ c7 ~ b6 ~ a6 ~",
  E: "g6@3 ~ g6@3 ~ a6 ~ c7 ~ b6 ~ a6 ~", F: "d7@2 ~@2 d7@3 ~ d7 ~ e7 ~ b6 ~ c7 ~",
  G: "a6@2 ~@2 a6@2 ~@2 a6 ~ c7 ~ b6 ~ a6 ~", H: "g6 ~ d7 ~ a6 ~ b6 ~ g6@2 ~@6",
  I: "[d7@3 ~ d7@3 d7 ~ e7 ~ b6 ~ c7 ~ a6@3 ~ a6@2 ~@2 a6 ~ c7 b6 ~ a6 ~ g6 ~]/2",
  J: "g7 ~ f#7 ~ e7 d7 ~ c7 ~ b6 ~ a6 ~ g6@2 ~", K: "g6@2 ~@2 a6 ~ c7 b6 ~ a6 ~ d7@2 ~ d7@2",
  L: "~@2 d7 ~ e7 b6 ~ c7 ~ a6@2 ~ a6@2 ~ a6", M: "~ c7 ~ b6 ~ a6 g6 ~ d7 a6 ~ b6 ~ g6@2 ~",
  N: "~@3 g6@2 ~@2 g6@2 ~ a6 c7 ~ b6 ~ a6", O: "d7@2 ~ d7@2 ~@2 d7 e7 ~ b6 ~ c7 a6@2 ~",
  P: "a6@2 ~@2 a6 c7 ~ b6 a6 ~ g6 ~ g7 f#7 ~ e7", Q: "d7 ~ c7 ~ b6 a6 ~ g6@2 ~ g6@2 ~ a6 ~ c7",
  R: "b6 ~ a6 ~ d7@2 ~ d7@2 ~ d7 e7 ~ b6 ~ c7", S: "a6@2 ~ a6@2 ~@2 a6 c7 ~ b6 a6 ~ g6 d7 ~",
  T: "a6 ~ b6 g6@2 ~@4 g6@2 ~@2 g6@2 ~", U: "a6 c7 ~ b6 a6 ~ d7@2 ~ d7@2 ~ d7 ~ e7 b6",
  V: "~ c7 a6@2 ~@2 a6@2 ~ a6 c7 ~ b6 a6 ~ g6", W: "g7 ~ f#7 ~ e7 d7 ~ c7 b6 ~ a6 g6@2 ~ g6@2",
  X: "~ a6 ~ c7 b6 ~ a6 ~ d7@2 ~ d7@2 ~ d7 e7", Y: "~ b6 c7 ~ a6@2 ~ a6@2 ~ a6 ~ c7 b6 ~ a6",
  Z: "g6 ~ d7 a6 ~ b6 g6@2 ~@8",
})).s("gm_whistle").gain(0.26).pan(0.6)

// chords · synth strings 2
const synth_strings_2 = note(`<
  A@8 ~ B@2 C D B@2 C B ~@24 B@2 C D B@2 C B ~@24 B@2 C D B@2 C B E@4 F@4 E@4 F@4 E@4 F@4 E@4 F@4 ~@16 B@2 C D B@2 C B@2
  G@4 H I J K@2 L M N@2 O P@2 Q R S ~@2
>`.pickRestart({
  A: "[g0,g1]/8", B: "[g3,d4]@7 ~@9", C: "[d3,a3]@7 ~@9", D: "[g3,d4]@6 ~@2 [d3,a3]@5 ~@3",
  E: "[[f3,f4] [e3,e4], [g2,a3,c4,a4,c5]]/4", F: "[[e3,e4] [d3,d4], [g2,g3,b3,g4,b4]]/4",
  G: "[[g3,d4]@7 ~@8 [d3,a3]@6 ~@9 [g3,d4]@5 ~@2 [d3,a3]@5 ~@3 [g3,d4]@6 ~@8 [g3,d4]@5]/4", H: "~@9 [d3,a3]@6 ~",
  I: "~@3 [g3,d4]@3 ~@2", J: "~@3 [g3,d4]@6 ~@7", K: "[[g3,d4]@5 ~@8 [d3,a3]@5 ~@8 [g3,d4]@5 ~]/2",
  L: "[d3,a3]@4 ~@3 [g3,d4]@5 ~@4", M: "~@4 [g3,d4]@5 ~@7", N: "[[d3,a3]@5 ~@8 [g3,d4]@5 ~@7 [g3,d4]@5 ~@2]/2",
  O: "~@6 [g3,d4]@5 ~@5", P: "[~@2 [d3,a3]@5 ~@8 [g3,d4]@4 ~@2 [d3,a3]@4 ~@2 [g3,d4]@5]/2", Q: "~@8 [g3,d4]@5 ~@3",
  R: "~@4 [d3,a3]@5 ~@7", S: "[g3,d4]@5 ~@11",
})).s("gm_synth_strings_2").gain(0.21)

// bass · synth bass 1
const bass = note(`<
  ~@9 A@2 B C A@2 B D ~@8 A@3 B E@2 B A ~@4 F G F H A@2 B C A@2 B D A@3 B E@2 B A@4 B E@2 B A ~@4 F G F H A@2 B C A@2 B
  D ~@8 A@27 B E@2 B A ~@8 A@2 B C A@2 B D A I@2 J K L M N O P Q R S T U V W X Y Z ~@2
>`.pickRestart({
  A: "g1 g2 g1 g2 g1 g2 g1 g2", B: "d1 d2 d1 d2 d1 d2 d1 d2", C: "g1 g2 g1 g2 d1 d2 d1 d2", D: "g1 g2 d1 d2 g1 ~@3",
  E: "e1 e2 e1 e2 e1 e2 e1 e2", F: "c2 c3 c2 c3 c2 c3 c2 c3", G: "d2 d3 d2 d3 g1 g2 g1 g2", H: "d2 d3 d2 d3 g1 ~@3",
  I: "[g1@2 g2@2 g1@2 ~ g1@2 g2@2 g1@2 g2@2 d1@2 d2@2 d1@2 d2@2 d1@2 ~ d1@2 d2@2 g1@2, ~@6 g2@2 ~@17 d2@2 ~@5]/2",
  J: "g2@2 g1@2 ~ d1@2 d2@2 d1@2 d2@2 g1 g2 ~, ~@2 g2 ~@5", K: "g1 ~ g2 ~ g1 ~ g2 g1 ~ g2 ~ g1 ~ g2 g1 ~",
  L: "g2 ~ g1 ~ g2 g1 ~ g2 ~ d1 d2 ~ d1 ~ d2 d1", M: "~ d2 ~ d1 ~ d2 g1 ~ g2 d1 ~ d2 ~ g1 ~@2",
  N: "~@3 g1 ~ g2 ~ g1 g2 ~ g1 g2 ~ g1 ~ g2", O: "g1 ~ g2 g1 ~ g2 ~ g1 g2 ~ g1 ~ g2 d1 ~ d2",
  P: "d1 ~ d2 ~ d1 d2 ~ d1 d2 ~ g1 ~ g2 g1 ~ g2", Q: "d1 ~ d2 ~ d1 d2 ~ g1 g2 ~ g1 ~ g2 g1 ~ g2",
  R: "g1 ~ g2 ~ g1 g2 ~ g1 g2 ~ g1 g2 ~ g1 ~ g2", S: "d1 ~ d2 d1 ~ d2 ~ d1 d2 ~ d1 d2 ~ g1 g2 ~",
  T: "d1 ~ d2 g1 ~@5 g1 ~ g2 ~ g1 g2 ~", U: "g1 g2 ~ g1 g2 ~ g1 ~ g2 g1 ~ g2 g1 ~ g2 g1",
  V: "~ g2 d1 ~ d2 ~ d1 d2 ~ d1 d2 ~ d1 d2 ~ g1", W: "g2 ~ g1 ~ g2 d1 ~ d2 d1 ~ d2 g1 ~ g2 g1 ~",
  X: "g2 g1 ~ g2 g1 ~ g2 ~ g1 g2 ~ g1 g2 ~ g1 g2", Y: "~ g1 g2 ~ d1 d2 ~ d1 d2 ~ d1 ~ d2 d1 ~ d2",
  Z: "g1 ~ g2 d1 ~ d2 g1@2 ~@8",
})).s("gm_synth_bass_1").gain(0.43)

// other · banjo
const banjo = note(`<
  ~@9 A B C D E B C F ~@20 G H I J A B C D E B C F ~@20 G H I J A B C D E B C F ~@48 A B C D E B C F A K L M N O P Q R S
  T U V W X Y Z AA AB AC ~@2
>`.pickRestart({
  A: "d4 g3 e4 g3 d4 ~ e4 ~ d4 ~@2 d4@2 ~ b3 ~", B: "d4 g3 e4 g3 d4 g3 e4 ~ d4 ~ b3 ~ a3 ~ g3 ~",
  C: "d4 d3 e4 d3 d4 ~ e4 ~ d4 ~@2 d4 ~@2 b3 ~", D: "d4 g3 e4 ~ d4 ~ e4 ~ d4 ~ e4 ~ d4 ~ e4 ~",
  E: "d4 g3 e4 g3 d4 g3 e4 ~ d4 ~@2 d4 ~@2 b3 ~", F: "~@2 d4 ~ a3 ~ b3 ~ g3 ~@7",
  G: "g4@3 e4 d4 ~ d4 ~ b3@2 d4 ~ d4@3 ~", H: "g3 a3 g3 a3 g3 a3 g3 a3 b3@2 g3 ~ g3@3 ~",
  I: "g4@3 e4 d4 ~ d4 ~ b3@2 d4 ~ d4 ~ d4 e4", J: "g4 e4 d4 g4 e4 d4 b3 a3 g3@2 ~@6",
  K: "d4 g3 e4 g3 d4 g3 e4 d4 ~ b3 ~ a3 ~ g3 ~ d4", L: "d3 e4 d3 d4 ~ e4 ~ d4 ~ d4 ~@2 b3 ~ d4 g3",
  M: "e4 ~ d4 ~ e4 d4 ~ e4 ~ d4 ~ e4 ~ d4 [g3,e4] g3", N: "d4 g3 e4 ~ d4 ~ d4 ~@2 b3 ~ d4 g3 e4 [g3,d4] g3",
  O: "e4 ~ d4 ~ b3 a3 ~ g3 ~ d4 [d3,e4] d3 d4 ~ e4 d4", P: "~@2 d4 ~@2 b3 ~@2 d4 a3 ~ b3 ~ g3 ~@2",
  Q: "~@3 d4 g3 e4 g3 d4 e4 ~ d4 ~ d4 ~@2 b3", R: "d4 g3 e4 [g3,d4] g3 e4 ~ d4 b3 ~ a3 ~ g3 d4 d3 e4",
  S: "[d3,d4] ~ e4 ~ d4 ~ d4 ~ b3 ~ d4 g3 e4 d4 ~ e4", T: "d4 ~ e4 ~ d4 e4 ~ d4 [g3,e4] g3 d4 g3 e4 d4 ~@2",
  U: "d4 ~ b3 ~ [g3,d4] e4 g3 [g3,d4] e4 ~ d4 b3 ~ a3 ~ g3", V: "d4 d3 e4 [d3,d4] ~ e4 ~ d4 ~ d4 ~ b3 ~@2 d4 ~",
  W: "a3 ~ b3 g3 ~@5 d4 g3 e4 g3 d4 e4 ~", X: "d4 ~ d4 ~ b3 ~ d4 g3 [g3,e4] d4 g3 e4 d4 ~ b3 a3",
  Y: "~ g3 d4 d3 e4 d3 d4 e4 ~ d4 ~ d4 ~ b3 ~ d4", Z: "[g3,e4] ~ d4 ~ e4 d4 ~ e4 d4 ~ e4 d4 g3 e4 [g3,d4] g3",
  AA: "e4 d4 ~@2 d4 ~ b3 ~ [g3,d4] e4 g3 [g3,d4] e4 ~ d4 b3", AB: "~ a3 g3 ~ d4 [d3,e4] d3 d4 e4 ~ d4 ~ d4 ~@2 b3",
  AC: "~@2 d4 a3 ~ b3 g3 ~@9",
})).s("gm_banjo").gain(0.17).pan(0.4)

// chords · fiddle
const fiddle = note(`<
  ~@13 A B C D ~@16 E F G H E F G H ~@9 I ~ J ~ K J I ~@8 E F G H E F G H ~@4 A B C D ~@38 L M ~ I ~ J ~ K J I ~@30
>`.pickRestart({
  A: "~@2 [g4,d5]@3 ~ [g4,d5] ~ [g4,d5]@3 ~ [g4,d5]@2 [g4,d5]@2", // G5
  B: "[g4,d5] ~ [g4,d5]@3 ~ [g4,d5] ~ [g4,d5]@3 ~ [g4,d5]@2 [g4,d5]@2", // G5
  C: "[g4,d5] ~ [a4,d5]@3 ~ [a4,d5] ~ [a4,d5]@3 ~ [a4,d5]@2 [a4,d5]@2", D: "~@2 [g4,d5]@3 ~ [g4,d5] ~@9",
  E: "g5@3 e5 d5 ~ d5 ~ b4@2 d5 ~ d5@3 ~",
  F: "[g4,d5] [a4,d5] [g4,d5] [a4,d5] [g4,d5] [a4,d5] [g4,d5] [a4,d5] [b4,d5]@2 [g4,d5] ~ [g4,d5]@3 ~", // G5 D5 G5 D5 G5 D5 G5 D5 …
  G: "g5@3 e5 d5 ~ d5 ~ b4@2 d5 ~ d5 ~ d5 [d5,e5]", // Dsus2
  H: "[d5,g5] [d5,e5] d5 [d5,g5] [d5,e5] d5 [b4,d5] [a4,d5] [g4,d5]@2 ~@6", // G5 Dsus2 G5 Dsus2 Bm D5 G5
  I: "[g4,d5]@2 [g4,d5]!2 [g4,d5]@2 [g4,d5]!2", J: "[a4,d5]@2 [a4,d5]!2 [a4,d5]@2 [a4,d5]!2",
  K: "[b4,e5]@2 [b4,e5]!2 [b4,e5]@2 [b4,e5]!2", L: "g5!2 e5!2 d5!2 e5!2 d5!2 b4!2 a4!2 g4!2",
  M: "g5!4 e5!4 g5!2 e5!2 d5!2 b4!2",
})).s("gm_fiddle").gain(0.38).pan(0.6)

// chords · lead 7 fifths
const lead_7_fifths = note(`<
  ~@17 A B A B A B A C ~@16 D@2 E F G D E H ~@44 I J I K ~@7 L ~ A M A@2 M A M ~@16 D@2 E F G D E H D N O P@2 Q R S T@2
  U V W X Y Z AA AB AC AD ~@2
>`.pickRestart({
  A: "[d5,b5]@8 ~@4 [d5,b5] ~ [d5,b5] ~", B: "[d5,b5] ~@3 [d5,b5] ~ [d5,b5] ~@3 [d5,b5] ~ [d5,b5]!4",
  C: "[d5,b5] ~@3 [d5,b5] ~ [d5,b5] ~@3 [d5,b5] ~@5", D: "~ g3 ~ g3 ~ g3 ~ g3", E: "~ d4 ~ d4 ~ d4 ~ d4",
  F: "~ g3 ~ g3 ~ a3 ~ a3", G: "~@3 g3@2 ~@2 g3@2 ~@2 g3@2 ~ g3@2", H: "~ g3 ~ g3!2 ~@3", I: "[d5,b5]@8 ~@6 [d5,b5] ~",
  J: "~@4 [d5,b5] ~@5 [d5,b5] ~@3 [d5,b5] ~", K: "~@4 [d5,b5] ~@11", L: "[d5,b5] ~",
  M: "~@4 [d5,b5] ~@5 [d5,b5] ~ [d5,b5]!3 ~", N: "~@2 g3@2 ~@2 g3@2 ~ g3@2 ~@2 g3@2 ~",
  O: "~ d4@2 ~@2 d4@2 ~@2 d4@2 ~ d4@2 ~@2",
  P: "[g3@2 ~@2 g3@2 ~ a3@2 ~@2 a3@2 ~@2 g3@2 ~@2 g3@2 ~ g3@2 ~ g3@2 ~@2 g3@2 ~]/2",
  Q: "g3@2 ~@2 g3@2 ~ g3@2 ~ d4@2 ~@2 d4@2", R: "~ d4@2 ~@2 d4@2 ~ g3@2 ~ g3@2 g3@2 ~",
  S: "~@3 [d5,b5]@6 ~@4 [d5,b5] ~ [d5,b5]", // G
  T: "[~@3 [d5,b5] ~@4 [d5,b5] ~ [d5,b5]!3 [d5,b5]@6 ~@4 [d5,b5]!2 ~@4 [d5,b5] ~@2]/2", // G
  U: "~@2 [d5,b5] ~ [d5,b5]!2 ~ [d5,b5]@6 ~@3", V: "[d5,b5] ~ [d5,b5] ~@4 [d5,b5] ~@3 [d5,b5] ~ [d5,b5]!3",
  W: "[d5,b5]@6 ~@4 [d5,b5]!2 ~@4", X: "[d5,b5] ~@4 [d5,b5] ~@3 [d5,b5]@6 ~",
  Y: "~@3 [d5,b5]!2 ~@4 [d5,b5] ~@4 [d5,b5]!2", Z: "[d5,b5]!2 [d5,b5]@6 ~@4 [d5,b5]!2 ~@2",
  AA: "~@2 [d5,b5] ~@4 [d5,b5]!4 [d5,b5]@5", AB: "~@4 [d5,b5] ~ [d5,b5] ~@4 [d5,b5] ~@3 [d5,b5]",
  AC: "~ [d5,b5]!2 ~ [d5,b5]@6 ~@3 [d5,b5] ~ [d5,b5]", AD: "~@3 [d5,b5] ~@12",
})).s("gm_lead_7_fifths").gain(0.32).pan(0.4)

// other · lead 4 chiff
const lead_4_chiff = note(`<
  ~@17 A B C D E F G H ~@24 I J K L M N O P I J K L M N O P ~@32 I Q R Q ~ R J Q R Q R J@4 Q ~@8 A B C D E F G H S@8 T@2
  U V W X Y Z@2 AA AB AC@2 AD AE AF AG AH AI@2 ~@2
>`.pickRestart({
  A: "g2@3 ~ g2@3 ~ g2@2 a2@2 b2@2 g2@2, g1@5 ~@3", B: "~@4 g2@3 ~ g2@2 a2@2 b2@2 g2@2, g1@5 ~@3",
  C: "~@2 g2 ~ g2 a2 b2 [g1,g2], g1@5 ~@3", D: "a2 ~ a2 ~ a2 b2 a2 d1, d1@5 ~@3",
  E: "g2@3 ~ g2@2 ~@2 g2@2 a2 ~ b2@2 g2@2, e1@5 ~@3", F: "~@2 g2 ~ g2 a2 b2 e1, e1@5 ~@3",
  G: "g2 ~ g2 ~ g2 a2 b2 g2, d1@5 ~@3", H: "~@2 g2 ~ a2 b2 a2 g2, g1@5 ~@3", I: "g2@3 ~ g2@3 ~ g2@2 a2@2 b2@2 g2@2",
  J: "~@4 g2@3 ~ g2@2 a2@2 b2@2 g2@2", K: "~@2 g2 ~ g2 a2 b2 g2", L: "a2 ~ a2 ~ a2 b2 a2 ~",
  M: "g2@3 ~ g2@2 ~@2 g2@2 a2 ~ b2@2 g2@2", N: "~@2 g2 ~ g2 a2 b2 ~", O: "g2 ~ g2 ~ g2 a2 b2 g2",
  P: "~@2 g2 ~ a2 b2 a2 g2", Q: "~@4 g2@3 ~ g2@2 a2@2 b2@2 ~@2", R: "~@7 g2",
  S: "[g2@3 ~ g2@2 ~@2 g2@2 a2@2 b2@2 g2@4 ~@2 g2@3 ~ g2@2 a2@2 b2@2 a2@4 ~@2 a2@3 ~ a2@2 b2@2 a2@2 g2@4 ~@2 g2@2 ~@2 g2@2 a2@2 b2@2 g2@4 ~@2 g2@3 ~ g2@2 a2@2 b2@2 g2@4 ~@2 g2@2 ~@2 g2@2 a2@2 b2@2 a2@4 ~@2 a2@3 ~ a2@2 b2@2 a2@2 g2@4 ~@2 g2@2 ~@2 g2@2 a2@2 b2@3 ~]/8",
  T: "[g2@3 ~ g2@2 ~@2 g2@2 a2@2 b2@2 g2@4 ~@2 g2@3 g2@2 a2@2 b2@2 a2@3]/2",
  U: "~@3 a2@2 ~@2 a2@2 ~ a2@2 g2@4, ~@9 b2@2 ~@5", V: "~@2 g2@2 ~ g2 ~ a2@2 b2@2 g2@3 ~@2",
  W: "g2@2 ~@2 g2@2 ~ b2@2 g2@3 ~@2 g2@2, ~@3 a2 ~@4", X: "~@2 g2@2 ~ b2 ~ a2@3 ~@2 a2@2 ~ a2, ~@2 a2 ~@5",
  Y: "~ b2@2 a2 ~ g2@3 ~ g2@2 ~@2 g2 a2 ~",
  Z: "[b2@3 g2@2 ~@2 g2@2 ~@2 a2 ~ b2@2 g2@3 ~ g2@2 ~@2 g2 a2 ~ b2@2 a2@3 ~, ~@5 g2 ~@10]/2",
  AA: "a2@2 ~@2 a2 b2@2 a2 g2@3 ~@2 g2@2 ~", AB: "g2 ~ a2 ~ b2 g2@3 ~@2 g2@2 ~ g2 ~ a2",
  AC: "[b2 ~ g2@3 ~@2 g2@2 ~ g2 a2 ~ b2 ~ a2@3 ~ a2@2 ~@2 a2 b2 ~ a2 g2@3 ~@2]/2",
  AD: "g2@2 ~ g2 ~ a2 b2@2 ~ g2@2 ~@2 g2@2 ~", AE: "g2 a2 ~ b2 g2@3 ~@2 g2@2 ~ g2 ~ a2 b2",
  AF: "~ a2@3 ~@2 a2@2 ~ a2 b2 ~ a2 g2@3", AG: "~@2 g2@2 ~ g2 ~ a2 b2 ~ g2@3 ~ g2@2",
  AH: "~ g2 ~ a2 b2 ~ g2@3 ~@2 g2@2 ~ g2 a2", AI: "[~ b2 a2@3 ~@2 a2@2 ~ a2 ~ b2 a2 ~ g2@3 ~ g2@2 ~ g2@3 ~@7]/2",
})).s("gm_lead_4_chiff").gain(0.6).pan(0.4)

// chords · lead 1 square
const lead_1_square = note(`<
  ~@25 A B C D E F G H ~@16 A B C I J K L H A B C D E F L H ~@24 M N O P M P Q P M N O P M P Q P M N O P M P Q P R S T U
  V W X H A B C I J K L H ~@30
>`.pickRestart({
  A: "[g2,d3,g3]@3 ~ [d3,g3] ~ [g2,d3,g3] ~ [g2,d3,g3]@2 ~@2 [g2,d3,g3] ~ [g2,d3,g3] ~", // G5
  B: "~@2 [g2,d3,g3] ~ [g2,d3,g3] ~ [d3,g3] ~ [g2,d3,g3]@2 ~@2 [g2,d3,g3] ~ [g2,d3,g3] ~", // G5
  C: "~@2 [g2,d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [g2,d3,g3]@2 ~@2 [g2,d3,g3] ~ [g2,d3,g3] ~", // G5
  D: "~@2 [a2,d3,a3] ~ [d3,a3] ~ [a2,d3,a3] ~ [a2,d3,a3]@2 ~@2 [a2,d3,a3] ~ [b2,e3,b3] ~", // D5 E5
  E: "~@2 [b2,e3,b3] ~ [e3,b3] ~ [b2,e3,b3] ~ [b2,e3,b3]@3 ~ [b2,e3,b3] ~ [b2,e3,b3] ~", // E5
  F: "~@2 [b2,e3,b3] ~ [b2,e3,b3] ~ [e3,b3] ~ [b2,e3,b3]@3 ~ [b2,e3,b3] ~ [b2,e3,b3] ~", // E5
  G: "[a2,d3,a3]@2 ~@2 [d3,a3] ~ [a2,d3,a3] ~ [a2,d3,a3]@2 ~@2 [a2,d3,a3] ~ [g2,d3,g3] ~", // D5 G5
  H: "~@2 [g2,d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [g2,d3,g3]@3 ~ [g2,d3,g3]@2 ~@2", // G5
  I: "~@2 [a2,d3,a3] ~ [d3,a3] ~ [a2,d3,a3] ~ [a2,d3,a3]@2 ~@2 [a2,d3,a3] ~ [e2,b2,e3] ~", // D5 E5
  J: "~@2 [e2,b2,e3] ~ [e2,e3] ~ [e2,b2,e3] ~ [e2,b2,e3]@3 ~ [e2,b2,e3] ~ [e2,b2,e3] ~", // E5 E E5
  K: "~@2 [e2,b2,e3] ~ [e2,b2,e3] ~ [e2,e3] ~ [e2,b2,e3]@3 ~ [e2,b2,e3] ~ [e2,b2,e3] ~", // E5 E E5
  L: "~@2 [a2,d3,a3] ~ [d3,a3] ~ [a2,d3,a3] ~ [a2,d3,a3]@2 ~@2 [a2,d3,a3] ~ [g2,d3,g3] ~", // D5 G5
  M: "[g1,g2]@3 ~@3 [g1,g2]@3 ~@3 [g1,g2]@2 ~@2", N: "[g1,g2]@3 ~@3 [g1,g2]@3 ~ [g1,g2]@2 [f1,f2]@2 [e1,e2]@2",
  O: "[g1,g2]@3 ~@3 [g1,g2]@3 ~@3 [g1,g2]@3 ~", P: "[g1,g2]@4 ~@2 [g1,g2]@3 ~ [g1,g2]@2 [f1,f2]@2 [e1,e2]@2",
  Q: "[g1,g2]@4 ~@2 [g1,g2]@3 ~@3 [g1,g2]@2 ~@2", // G
  R: "[g2,d3,g3]@3 ~ [d3,g3] ~ [g2,d3,g3] ~ [g2,d3,g3]@3 ~ [g2,d3,g3] ~ [g2,d3,g3] ~", // G5
  S: "~@2 [g2,d3,g3] ~ [g2,d3,g3] ~ [d3,g3] ~ [g2,d3,g3]@3 ~ [g2,d3,g3] ~ [g2,d3,g3] ~", // G5
  T: "~@2 [g2,d3,g3] ~ [d3,g3] ~ [d3,g3] ~ [g2,d3,g3]@3 ~ [g2,d3,g3] ~ [g2,d3,g3] ~", // G5
  U: "~@2 [a2,d3,a3] ~ [d3,a3] ~ [a2,d3,a3] ~ [a2,d3,a3]@2 ~@2 [a2,d3,a3] ~ [e3,g3,b3] ~", // D5 Em
  V: "~@2 [e3,g3,b3] ~ [e3,b3] ~ [e3,g3,b3] ~ [e3,g3,b3]@3 ~ [e3,g3,b3] ~ [e3,g3,b3] ~", // Em E5 Em
  W: "~@2 [e3,g3,b3] ~ [e3,g3,b3] ~ [e3,b3] ~ [e3,g3,b3]@3 ~ [e3,g3,b3] ~ [e3,g3,b3] ~", // Em E5 Em
  X: "~@2 [a2,d3,a3] ~ [d3,a3] ~ [a2,d3,a3] ~ [a2,d3,a3]@3 ~ [a2,d3,a3] ~ [g2,d3,g3] ~", // D5 G5
})).s("gm_lead_1_square").gain(0.27).pan(0.4)

// chords · lead 1 square · soft notes
const lead_1_square_soft = note(`<
  ~@25 A B C D E F D C ~@16 A B C D E F D C A B C D E F D C ~@48 A B C D G H D C A B C D E F D C ~@30
>`.pickRestart({
  A: "~@4 g2 ~@11", B: "~@6 g2 ~@9", C: "~@4 g2 ~ g2 ~@9", D: "~@4 a2 ~@11", E: "~@4 b2 ~@11", F: "~@6 b2 ~@9",
  G: "~@4 g3 ~@11", H: "~@6 g3 ~@9",
})).s("gm_lead_1_square").gain(0.14).pan(0.4)

// chords · string ensemble 1
const string_ensemble_1 = note("<~@112 A B ~@42 C@3>".pickRestart({
  A: "~@7 g4", B: "g3 ~@7", C: "[~ [d4,g4]@6 ~]/3",
})).s("gm_string_ensemble_1").gain(0.55).pan(0.6)

// drums · kick
const kick = s("bd").struct(`<
  ~@4 A@3 B@2 C@56 D@8 C@8 ~@4 A@3 E C@49 F G H I J K L@2 M@3 L N O P Q R S T ~@2
>`.pickRestart({
  A: "x ~@4 x ~ x", B: "x ~ x ~ x!4", C: "x!4", D: "~ x", E: "x ~@2 x ~@4", F: "x ~@3 x ~@2 x ~@3 x ~@3 x",
  G: "~@3 x ~@3 x ~@2 x ~@3 x ~", H: "~@2 x ~@2 x ~@3 x ~@3 x ~@2", I: "x ~@3 x ~@2 x ~@3 x ~@2 x ~",
  J: "~@2 x ~@2 x ~@3 x ~@2 x ~@2 x", K: "~@3 x ~@2 x ~@2 x ~@3 x ~@2", L: "x ~@2 x ~@3 x ~@2 x ~@2 x ~@2",
  M: "x ~@3 x ~@2 x ~@2 x ~@2 x ~@2", N: "x ~@2 x ~@2 x ~@2 x ~@3 x ~@2", O: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x",
  P: "~@2 x ~@3 x ~@2 x ~@2 x ~@2 x", Q: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~", R: "~ x ~@2 x ~@3 x ~@2 x ~@2 x ~",
// … 77 more lines

More by Rednex