Strudelify
Why Are You So Beautiful cover art

`K Heb Je Lief - 50 jaar de muziek, M`n fans, het leven

Why Are You So Beautiful

Rene Froger

KeyD majorTempo126 bpm
0:00/0:00
// Why Are You So Beautiful — Rene Froger
// 126 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 130 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
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, A@4 for four bars: edit a riff to change every repeat.

// chords · piano · "A.PIANO 1"
const piano = note(`<
  ~@2 A@2 B@2 C D E F G H I@2 J K L M N@2 O@2 P Q R@2 S@2 T@2 U V W@2 X Y Z AA AB AC AD AE AF AG AH AI AJ@2 AK@2 AL D AM
  AN AL D AO AP AQ AR AS AT@2 AU AV AW AX@2 AY AZ BA BB BC@2 S@2 T@2 U V W@2 BD BE BF BG BH BI BJ BK BL AG BM AI AJ@2
  AK@2 BN BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB@2 CC@2 CD CE CF CG CH CI CJ CK CL CM@4 ~
>`.pickRestart({
  A: "[~@3 a3 [d3,a3,d4]@4, d2@23 ~@9, [a3,f#4]@3 ~@5, ~@8 d3@7 ~@17]/2", // D5 D
  B: "[~@12 f#4@2 ~@2 f#4@15 ~, g2, ~@10 b3@21 ~, ~@14 b4@17 ~]/2",
  C: "~@3 a3, [d3,a4,f#5]@15 ~, ~@4 a3@7 ~@5, ~@8 d4@7 ~", D: "[d4,d5]@6 [e4,e5]@5 ~ [f#4,f#5]@4, d3@15 ~",
  E: "~@12 [d3,b3,d4]@3 ~, [g2,f#4,d5]", F: "[a2,e3,a3,d4]", G: "f#4@6 ~ a4, [d3,a3]@15 ~, ~@3 d4",
  H: "[c#3,c#4,e4,a4]@15 ~", I: "[[f#3,d4]@3 ~ [a2,f#4]@4, b2@15 ~@17, ~@3 [b3,d4,b4]@5]/2",
  J: "~@7 b4, g2@15 ~, g4@3 d4, [b3,d4]@10 b3@5 ~, ~@8 g3@7 ~", // Bm
  K: "a4@4 a3@2 ~@2 d4@7 ~, [f#2,e4,f#4], a3@3 ~@3 a4@9 ~", L: "[e2,g3,b3,d4]@15 ~", M: "[a2,g3,b3,d4]",
  N: "[f#4@5 a3 e4 a4 [c#3,e4]@8, d3 ~, a3@8 ~@6 a3@17 ~]/2", // C#m
  O: "[b2@8 ~@2 a3 ~ d4 e4!2 f#4, f#4@7 ~, d4@23 ~@9, b3@18 f#3@4 b3@9 ~, ~ a2]/2",
  P: "b3@4 ~@2 b3@3 ~@5 g4@2, g2, [a3,g4]@3 d4, d4@3 ~ d4@6 b3@5 ~", // A7
  Q: "b3@2 g3 ~@4 b3, [e2,d4,g4], ~@3 b3@3 g3@2, ~@10 e3@5 ~", // Em7
  R: "[d4@8 ~@4 d4@2 [d4,b4]@2 [a2,c#4,a4]@15 ~, a2@15 ~@17, g3@3 ~@5, b3@5 b3@2 ~@9, ~@8 e4@6 e4@17 ~]/2", // G A
  S: "[[g2,g3,b3,d4]@31 ~]/2", // G
  T: "[a3@3 ~ a3@4 [f#3,a3,e4]@4 ~@8 f#3@4 d3@4 [b3,d4]@3 ~, f#2@11 ~ b2@19 ~, [f#3,e4]@8 ~@4 [a3,d4,f#4]@15 ~@5]/2", // F#m7 Bm F#7 D
  U: "b3@4 b3@4 [g3,b3,d4]@7 ~, g2, [g3,d4] ~", V: "[g#3,b3,d4]@4 ~@3 d3, e2@15 ~, ~@8 [b3,d4]@7 ~, ~@5 g#3@3, ~@3 e3",
  W: "[[a2,g3,b3,d4]@11 ~ [a2,e3,a3,c#4]@20]/2", // G A
  X: "d4@3 ~ [g3,d4]@4 b3@2 ~@2 b3@2 d4@2, g2, [b4,d5]@4 g4@3 ~, ~@10 a3@5 ~", // G5 Bm
  Y: "c#4@3 ~@9 [a3,a4]@4, a2, [b3,a4]@11 ~@5, e4@7 ~ e4@7 ~, ~ c#4@3", Z: "[d3,a3,c#4,d4,f#4]",
  AA: "[a3,c#4,e4]@2 [a3,d4] [b2,a3,d4], b2@11 ~@5, ~ f#4", AB: "[g2,b3,d4,b4]@15 ~",
  AC: "[b3,c#4,e4]@5 e4 e4@2, a2@15 ~, ~@5 [a3,b4]@3", AD: "[d3,a3,c#4,d4,f#4]@11 ~ c#3@2 b2@2, ~@3 [a3,c#4,e4,a4]",
  AE: "[a2,g3,c4,e4,g4]@8 d4@3 ~ [d3,d4,d5]@4, ~ [f#2,c4,f#4,a4]", // Am7 D F#dim
  AF: "[d4,d5]@2 ~@3 d5 d4 d5, [g2,b4]@15 ~, ~@2 d4@3 ~@3, ~@8 g4@7 ~", // D G
  AG: "[e4,a4,c#5]@3 [e4,a4,c#5]@2 a3 b3 a3, a2@15 ~, ~@5 [c#4,e4]@3", AH: "[a#3,c#4,e4,f#4]@2 [c#4,c#5]!2, a#2@15 ~",
  AI: "[b2,a3,b3,d4,f#4]", AJ: "[[b3,d4,g4]@6 [b3,d4,g4]@4 [d4,f#4,a4]@3 ~ [d4,g4,b4]@17 ~, e2@31 ~]/2",
  AK: "[[b3,d4,g4]@5 ~ [b3,d4,g4]@4 [a3,d4,f#4]@3 ~ [g3,d4,e4]@7 ~ [f#3,g3,b3,d4]@3 ~ [e3,a3,c#4]@6, a2@13 ~ a2@18]/2", // G D Em7 Gmaj7 A
  AL: "[f#3,a3,d4]@3 [a3,a4], d3@7 ~", AM: "[d4,f#4,b4,d5], g2@7 ~",
  AN: "[a3,d4,e4]@3 [a3,d4,e4]@3 [g3,a3,d4]@2, a2@7 ~", AO: "[d4,f#4,b4,d5]@5 b3 [b3,d4,b4]@2, g2@7 ~",
  AP: "[b3,d4]@7 ~ [b3,d4]@8, [a2,e4,a4]", AQ: "f#4@10 ~@4 e4 ~, d3@15 ~, a3@9 ~ a3@6, ~@3 [d4,f#4]",
  AR: "c#4@3 ~@3 a3@2, [c#3,e4,a4]@15 ~, a3@5 ~ a3@5 ~@5, ~ c#4", // A
  AS: "[d4,f#4,a4,d5]@6 ~@2 f#4@7 ~, b2@15 ~, ~@3 [a3,d4,a4]@5", // D D5
  AT: "[[a3,d4,f#4]@12 d4@2 ~@2 a4 b4@15, a2@7 d5@9, ~@16 [g2,d4]@15 ~]/2", // D G5
  AU: "[a3,d4,f#4]@9 ~ [a3,d4]@2 f#4@2 [a3,a4]@2, f#2", AV: "~@4 g3 ~ g3@9 ~, [e2,d4,g4]@15 ~, ~@2 b3@13 ~",
  AW: "[b3,d4,g4] [a3,d4,f#4] [g3,b3,d4] [a3,c#4,e4], a2", // G D G A
  AX: "[[a3,d4,f#4]@9 ~ a3@2 e4@2 a4@2 ~@2 a3@2 ~@6 e4 ~ [e4,e5]@4, d3 c#3, ~@14 a3@4 ~@2 c#4@9 ~@3, ~@16 e4@5 ~ e4@4 ~@6, ~@24 a3@5 ~@3]/2", // D E
  AY: "[b2,d4,f#4,d5]", AZ: "~@2 a3 [d4,d5]@2 d4 [d4,d5]@2, a2, [a3,d4] ~@3, ~ f#3@2 ~@5",
  BA: "d4 ~@2 g4@2 ~@2 g4, g2, d5@3 ~, g4@4 d4@7 ~ d4@4, ~@2 b3@7 ~ b3@5 ~",
  BB: "d4@3 a3@2 b3 g3 b3, [e2,g4], b3@4 ~@2 d4@9 ~", // Em
  BC: "[d4@4 ~@2 d4 [d4,b4] [c#4,a4]@4 [a3,e4] f#4 [a3,a4]@2, a2@15 ~ a2@15 ~, g3@3 ~@5, b3@5 b3@2 ~@9, ~@8 e4@6 e4@9 ~@9]/2", // G F#m A5 A
  BD: "d4@3 ~ [g3,d4]@4 b3@2 ~@2 b3@2 d4@2, g2, [g4,b4]@4 g4@3 ~, ~@10 a3@5 ~", // G5 G
  BE: "[b3,c#4,b4]@5 ~ [a3,a4]@4 ~@2 c#4@2 a3@2, [a2,e3], ~@10 e4@5 ~", BF: "[a3,c#4,d4,f#4]@3 [a3,a4], d3",
  BG: "~ a3 [d4,f#4,a4,d5] [b2,a3,d4,a4,d5], b2@11 ~@5, [e4,f#4,a4,c#5]@7 ~@9", // D Bm7 F#m7
  BH: "b3@4 ~ b3 [d4,b4,d5]@2, g2@15 ~, [d4,b4]@3 ~, ~@2 d3 ~", BI: "[c#4,a4,c#5]@4 ~ e4 e4@2, a2@15 ~, ~@5 [a3,b4]@3",
  BJ: "[d3,a3,c#4,d4,f#4]@11 ~ c#3@2 b2@2, ~@3 [a4,b4,c#5,e5,a5]", // Dmaj7 A
  BK: "[a2,g4,c5,e5,g5]@8 d4@3 ~ [d3,d4,d5]@4, ~ [f#2,c4,f#4,a4]", // Am7 D F#dim
  BL: "~@5 g4 [d4,a4,b4,d5]@2, g2@15 ~, [d4,b4,d5]@5 ~@3, ~@3 d3@5, ~@8 b3@7 ~", // Bm7 G
  BM: "[g4,c#5,e5,g5]@6 ~@2 c#5@7 ~, a#2@15 ~, ~@3 [g4,a#4,f#5]@5", BN: "[d3,f#3,a3,d4]",
  BO: "[a3,a4]@5 ~ [d4,d5]@5 ~ [e4,e5]@4", // A D E
  BP: "f4@3 ~ [a#3,f4]@4 d4@2 ~@2 d4@2 f4@2, a#2, [a#4,d5]@4 a#4@3 ~, ~@10 c4@5 ~", // A#5 A#
  BQ: "[d4,e4,d5]@5 ~ [c4,c5]@4 ~@2 e4@2 c4@2, [c3,g3], ~@10 g4@5 ~", BR: "[c4,e4,f4,a4]@3 [c4,c5], f3",
  BS: "~ c4 [f4,a4,c5,f5] [d3,c4,f4,c5,f5], d3@11 ~@5, [g4,a4,c5,e5]@7 ~@9", // F Dm7 Am7
  BT: "d4@4 ~ d4 [f4,d5,f5]@2, a#2@15 ~, [f4,d5]@3 ~, ~@2 f3 ~", BU: "[e4,c5,e5]@4 ~ g4 g4@2, c3@15 ~, ~@5 [c4,d5]@3",
  BV: "[f3,c4,e4,f4,a4]@11 ~ e3@2 d3@2, ~@3 [c5,d5,e5,g5,c6]", // Fmaj7 C
  BW: "[c3,a#4,d#5,g5,a#5]@8 f4@3 ~ [f3,f4,f5]@4, ~ [a2,d#4,a4,c5]", // Cm7 F Adim
  BX: "~@5 a#4 [f4,c5,d5,f5]@2, a#2@15 ~, [f4,d5,f5]@5 ~@3, ~@3 f3@5, ~@8 d4@7 ~", // Dm7 Dm
  BY: "[g4,c5,e5]@3 [g4,c5,e5]@2 c4 d4 c4, c3@15 ~, ~@5 [e4,g4]@3", // C Em
  BZ: "[a#4,e5,g5,a#5]@6 ~@2 e5@7 ~, c#3@15 ~, ~@3 [a#4,c#5,a5]@5", CA: "[d3,c4,d4,f4,a4]",
  CB: "[[d4,f4,a#4]@6 [d4,f4,a#4]@4 [f4,a4,c5]@3 ~ [f4,a#4,d5]@17 ~, g2@31 ~]/2", // A# F A#
  CC: "[[d4,f4,a#4]@5 ~ [d4,f4,a#4]@4 [c4,f4,a4]@3 ~ [a#3,f4,g4]@7 ~ [a3,a#3,d4,f4]@3 ~ [g3,c4,e4]@6, c3@13 ~ c3@18]/2", // A# F Gm7 A#maj7 C
  CD: "[a3,c4]@3 [c4,c5], f4@3 ~@5, f3 ~@3", CE: "~@6 [g4,g5]@5 ~ [a4,a5]@4, [f4,f5]@3 g3@5, f3 f3@3, ~ c3@7",
  CF: "[f4,a4,d5,f5], a#2@7 ~", CG: "[c4,f4,g4]@3 [c4,f4,g4]@3 [a#3,c4,f4]@2, c3@7 ~",
  CH: "[a3,c4,f4]@11 ~ [c4,c5]@4, f3@3 ~", CI: "[f4,f5]@6 [g4,g5]@5 ~ [a4,a5]@4, f3@15 ~",
  CJ: "[f4,a4,d5,f5]@5 d4 [d4,f4,d5]@2, a#2@7 ~", CK: "[d4,f4]@7 ~ [d4,f4]@8, [c3,g4,c5]",
  CL: "[f3,a3,c4,f4]@14 [c5,c6] ~", CM: "[[d#3,a#3,c5,c6]@15 ~@2 f4@46 ~, ~@15 f2@47 ~@2, ~@16 [a3,c4]@47 ~]/4",
})).s("gm_piano").gain(0.48).pan(0.8)

// bass · fretless bass · "FRETLESS"
const bass = note(`<
  ~@2 A@2 B@2 C D E F G H I J K L M N O P Q F K R J F S@2 T@2 U M V@2 W X Y Z AA AB AC AD W AE AF AG AH@2 AI F AJ@2 K J
  C D E F G H I AK K L AL AM O P AN AO AP AQ AR AS AP AT AU@2 AP M AV@2 K AW AX AY AZ BA BB BC BD BE BF I BG@2 AE AR BH
  BI BJ BK BL BM BN BO BP BQ BJ BR BS O BT BU BV BW BX BY BF BV BZ CA CB BV CC CD CE@3 ~
>`.pickRestart({
  A: "[d2@27 ~ d2@2 f#2@2]/2", B: "[g2@31 ~]/2", C: "d2@11 ~ a2@4", D: "d3@5 ~ e3@5 ~ f#3@4", E: "[g1,d3]@11 ~ g1@4",
  F: "a1@15 ~", G: "d3@15 ~", H: "c#3@15 ~", I: "b2@15 ~", J: "a2@15 ~", K: "g2@15 ~", L: "f#2@15 ~", M: "e2@15 ~",
  N: "a1@3 ~ a1@2 a1 b1", O: "d2@15 ~", P: "c#2@15 ~", Q: "b1@15 ~", R: "e2@13 ~ b2@2, ~@14 a2 ~", S: "[g2@14 a2 g2]/2",
  T: "[f#2@11 ~ b2@15 ~ d3@2 f#2@2]/2", U: "g2@13 ~ f#2@2", V: "[a1@11 ~ a2@16 a1@4]/2", W: "g1@15 ~", X: "a1@7 c2",
  Y: "d2@6 a1 c2", Z: "b1@11 ~ b1@3 ~", AA: "g1@11 ~ g1 ~ g1@2", AB: "a1@11 ~ a1 ~ e2@2", AC: "d2@11 ~ c#2@2 b1@2",
  AD: "a1 f#1", AE: "a1@7 a1", AF: "a#1@15 ~", AG: "b1@2 f#2@2 c#3@4 b2 ~ f#2@2 d2@2 c#2@2",
  AH: "[e1@14 ~ b2, ~@30 a2 ~]/2", AI: "a2@6 a2 ~", AJ: "[d3@31 ~]/2", AK: "a2@11 ~ e2@2 f#2 ~",
  AL: "e2@11 ~ b2@2 a#2@2", AM: "a2@9 ~ a2 ~ a2@2 b2@2", AN: "b1@6 ~ b1", AO: "a1@11 ~ e2@2 f#2@2",
  AP: "g2@11 ~ b1@2 d2@2", AQ: "e2@11 ~ g2@2 b2@2", AR: "a2@13 ~ e2@2", AS: "a1@7 ~ e2@2 f#2@2 a2@2 f#2@2",
  AT: "g2@7 ~ g2@7 ~", AU: "[f#2@11 ~ b2@11 ~ d2@2 e2@2 f#2@2 d2@2]/2", AV: "[a1@11 ~ a2@19 ~]/2", AW: "a2@7 c3",
  AX: "d3@6 a2 c3", AY: "b2@11 ~ f#2@2 a2@2", AZ: "g2@11 ~ g2 ~ g2@2", BA: "a2@11 ~ a2 ~ e3@2", BB: "d3@13 ~ a2 ~",
  BC: "a1@3 ~ e3@3 ~ a2@2 g2@2 f#2@3 ~, ~@4 d3 ~@11", BD: "g2@13 ~ g2@2", BE: "a2@7 a2", BF: "a#2@11 ~ a#2@3 ~",
  BG: "[g3@4 g3@2 g3 ~@3 a3@4 b3@10 g3@7 ~, e2 ~]/2", BH: "d2@11 ~ d2@2 e2@2", BI: "a2 b2 d3@2 f#3@2 a1@2",
  BJ: "a#1@11 ~ a#1 ~ a#1@2", BK: "c2@7 e2", BL: "f2@11 ~ f2@2 f2@2", BM: "d2@9 ~ a1@2 a1@2 a1@2",
  BN: "a#1@11 ~ c2 ~ c2 d2", BO: "c2@13 ~ c2@2", BP: "f2@10 f2@2 f2 ~ f2@2", BQ: "c3@6 c3 a#2 f2@4 a1@4",
  BR: "c2@7 ~ a#1@7 ~", BS: "a1@7 ~ c#2@7 ~", BT: "g2@13 ~ d2@2", BU: "a#3 a3 g3 d3 a#2 a2 g2 d3", BV: "c3@15 ~",
  BW: "c2@15 ~", BX: "f2@11 ~ c2@4", BY: "f2@2 c3@2 f3@2 g3@5 ~ a3@4", BZ: "f2@7 c3", CA: "f3@5 ~ g3@5 ~ a3@4",
  CB: "f3@15 ~", CC: "f2@15 ~", CD: "d#2", CE: "[f1@47 ~]/3",
})).s("gm_fretless_bass").gain(0.4)

// other · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note("<~@99 A B C D@2 B E F G@2 H I@2 ~@18>".pickRestart({
  A: "~@13 f5 [g5,a5] c6, ~@6 [d5,e5] ~", B: "d6", C: "e6@3 f6@3 g6@2", D: "[c6@28 ~ f5 [g5,a5] c6, ~@14 [d5,e5] ~]/2",
  E: "g6@3 e6@3 d6@2", F: "c6", G: "[a#5 a5 g5 f5@2 d5@3]/2", H: "e5@3 f5@3 g5@2", I: "[a#5@3 a5@5]/2",
})).s("gm_string_ensemble_1").gain(0.48)

// chords · epiano2 · "E.PIANO 2"
const epiano2 = note(`<
  ~@2 A@2 B@2 C D E F G H G I J K L M G H N I O P Q R S T U@2 V W X@2 Y Z AA AB Y Z AC AD AE Z AF AG AH@2 AI@2 AJ AK AL
  AM AN AK AO F G H G AP AQ AR L M AS AT AU AP O AV AW AX AY AZ BA@2 BB W BC@2 Y Z AA AB Y Z AC AD AE Z AF AG AH@2 AI@2
  BD ~@13 BE@2 BF@2 BG BH BI BJ BK BH BL BM BN BO@4 ~
>`.pickRestart({
  A: "[[a3,d4,f#4]@15 ~]/2", B: "[[a3,b3,d4,f#4]@31 ~]/2", C: "[a3,d4,f#4]@12 a4@3 ~",
  D: "[d4,a4,d5]@6 [e4,e5]@5 ~ [f#4,f#5]@4", E: "[d4,b4,d5]", F: "[a3,d4,e4]", G: "[a3,d4,f#4]@7 ~ [a3,d4,f#4]@7 ~",
  H: "[a3,c#4,e4,f#4]@7 ~ [a3,c#4,e4,f#4]@7 ~", I: "[a3,b3,d4,f#4]@7 ~ [a3,b3,d4,f#4]@8",
  J: "[b3,d4,g4]@8 [b3,d4,g4]@7 ~", K: "[a3,e4,f#4]@7 ~@5 f#3@3 ~, ~ [a3,d4,f#4]",
  L: "[g3,b3,e4]@7 ~ g3@3 ~ g3@4, ~@8 [b3,e4]@7 ~", M: "[b3,d4,g4] [a3,d4,f#4] [g3,b3,d4,f#4] [a3,c#4,e4]",
  N: "[a3,d4,f#4]@2 ~ b3, ~ [a3,d4,f#4]", O: "[b3,d4,g4]@4 d4 ~@2 g4, ~@2 g4 d4, ~@5 b3@3",
  P: "b3@3 ~ b3@2 d4@2 b3@4 g3@2 b3@2, g4 ~, d4@6 ~@2 [d4,g4]@7 ~", Q: "[d4,e4,a4]@7 ~ d4@3 ~ a3@4, ~@8 [e4,a4]@7 ~",
  R: "[c#4,e4,a4]@7 ~ a4@4 a4@4, ~ [c#4,e4]", S: "[b3,a4] [b3,g4] [b3,d4,g4] [b3,d4,f#4], d4@7 ~@9",
  T: "[b3,d4,f#4]@3 ~ [b3,d4,e4]@4 [b3,d4,e4]@4 [b3,d4]@4, a3@7 ~ g3@8", // Bm E7 Bm
  U: "[[a3,c#4,e4]@12 d4@11 ~ [d3,d4]@4 [a4,d5,a5]@4, ~@3 [f#3,a3,b3]@4 ~]/2", // A D D5 B7
  V: "[a4,d5,a5] [g4,b4,g5]!2 [f#4,b4,f#5]", W: "[f#4,g#4,f#5] [e4,g#4,e5]!2 [d4,g#4,d5]",
  X: "[[g3,a3,b3,d4]@11 ~ a3@16 a3@4, ~@3 [c#4,e4]@5]/2", Y: "[b3,d4,g4]@7 ~ [b3,d4,g4]@8", Z: "[a3,c#4,e4]!2",
  AA: "[a3,c#4,f#4]@8 c#4@3 ~ c#4@4, ~ [a3,f#4]", AB: "[a3,c#4,e4] [a3,d4,f#4]", AC: "[a3,c#4,f#4]!2",
  AD: "[g3,c4,e4]@7 ~ [a3,d4,f#4]@8", AE: "[g3,b3,d4]@4 [b3,d4]@2 ~@2 [b3,d4]@7 ~, ~@6 g3@9 ~",
  AF: "[a#3,c#4,e4]@8 [a#3,c#4,e4,g4]@7 ~", AG: "[b3,d4,f#4]@7 ~ [b3,d4]@4 b3@2 d4@2, ~ f#4",
  AH: "[[b3,d4,g4]@4 [b3,d4,g4] ~ [b3,d4,g4]@4 [d4,f#4,a4]@4 d4@12 ~@2 b3@2 e4@2, ~@7 [g4,b4]@8 ~, ~@26 g3@5 ~]/2", // G D G
  AI: "[[b3,d4,g4]@4 [b3,d4,g4]@2 [b3,d4,g4]@3 ~ [a3,d4,f#4]@3 ~ [g3,d4,e4]@6 [g3,d4,e4]@2 [f#3,g3,a3,d4]@4 [e3,g3,a3,c#4]@6]/2", // G D Em7 D A7
  AJ: "[f#3,a3,d4]@12 a4@3 ~", AK: "[d4,a4,d5]@6 [e4,e5]@5 ~ [f#4,f#5]@4, [d3,f#3,a3]@15 ~", AL: "[a3,b3,d4,f#4]",
  AM: "[a3,d4,e4]@5 ~ e4@4 ~@2 [a3,d4]@2 a4@2, ~@3 [a3,d4]@3 ~@2, ~@10 e4@5 ~", AN: "[a3,d4,f#4]@11 e5 a4@3 ~",
  AO: "[b3,d4,f#4,a4]", AP: "[a3,b3,d4,f#4]@3 [a3,b3,c#4,e4]@3 [a3,b3,d4]@2", AQ: "d4@7 ~@5 g3@4, b3, g3@5 ~@3, ~ d4",
  AR: "[a3,d4,f#4]", AS: "d4@4 ~@8 f#4@3 ~, f#4@5 ~@3, a3@7 ~ a3@8, ~ d4@3",
  AT: "[c#4,e4]@2 ~@2 a3 e4 ~ e4, a3@3 c#4@5, ~ e4 ~ a3", AU: "a3 ~@2 f#4, [d4,f#4]@7 ~ d4@7 ~, ~@4 a3@11 ~",
  AV: "[b3,d4,g4]@4 [a3,d4,f#4]@6 [d4,f#4]@2 ~@2 d4 ~, ~@10 a3@5 ~, ~@3 e4", // G D
  AW: "[a3,d4,e4]@7 ~ d4@3 ~ d4@3 ~, ~@8 [a3,e4]@7 ~", AX: "[a3,d4]@7 ~ [a3,c#4]@8, e4",
  AY: "[b3,d4,a4]@4 [b3,d4,g4]@3 ~ [b3,d4,g4]@4 [b3,d4,f#4]@4", // Bm7 G Bm
  AZ: "[b3,d4,f#4]@4 [b3,d4,e4]@3 ~ d4@3 ~ d4@4, a3 [g3,b3,e4]", // Bm E7 Em
  BA: "[~@4 a3@8 d4@11 ~ [d3,d4]@4 [a4,d5,a5]@4, [c#4,e4]@3 [f#3,a3,b3]@4 ~]/2", // D D5 C#m B7
  BB: "[a4,b4,d5,a5] [g4,b4,g5]!2 [f#4,b4,f#5]", // Bm7 G B5
  BC: "[[e3,b3,d4]@2 ~@3 g3 a3@3 ~@5 e3@2, g3@6 d4@5 ~ c#4@10 e4@10, ~@4 e3@7 ~@7 e3@8 a3@6, ~@2 b3 e4@2 a3 c#4@2]/2", // E7
  BD: "[f#3,a3,d4]", // D
  BE: "[[d4,f4,a#4]@4 [d4,f4,a#4] ~ [d4,f4,a#4]@4 [f4,a4,c5]@4 f4@12 ~@2 d4@2 g4@2, ~@7 [a#4,d5]@8 ~, ~@26 a#3@5 ~]/2", // A# F A#
  BF: "[[d4,f4,a#4]@4 [d4,f4,a#4]@2 [d4,f4,a#4]@3 ~ [c4,f4,a4]@3 ~ [a#3,f4,g4]@6 [a#3,f4,g4]@2 [a3,a#3,c4,f4]@4 [g3,a#3,c4,e4]@6]/2", // A# F Gm7 F C7
  BG: "[a3,c4,f4]@12 c5@3 ~", BH: "[f4,c5,f5]@6 [g4,g5]@5 ~ [a4,a5]@4, [f3,a3,c4]@15 ~", BI: "[c4,d4,f4,a4]",
  BJ: "[c4,f4,g4]@5 ~ g4@4 ~@2 [c4,f4]@3 ~, ~@3 [c4,f4]@3 ~@2, ~@10 g4@5 ~", BK: "[c4,f4,a4]@12 c5@3 ~",
  BL: "[f4,a4,c5,d5]", BM: "[d4,f4,a4,c5]", BN: "[a3,c4,f4]", BO: "[[a#3,c4,d#4]@15 ~ [c4,f4]@48, g3@13 ~@2 a3@48 ~]/4",
})).s("gm_epiano2").gain(0.36).pan(0.3)

// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
  ~@26 A@2 B@2 C@4 D@2 E F G H E I J K L M N@2 O@2 P@2 ~@19 Q R@2 A@2 B@2 C@4 D@2 E F G H E I J K L M N@2 O@2 P@2 S@2 T
  U V W T X Y Z AA AB AC@2 AD@2 AE@2 ~@12
>`.pickRestart({
  A: "[a4@4 g4@8 f#4@8 e4@7 d4@5]/2", B: "[e4@3 d4@5]/2", C: "[a4@4 g4@8 f#4@8 e4@8 d4@15 c#4@20 ~]/4",
  D: "[[b3,g4] [a3,c#4,e4], d4@31 ~]/2", E: "[a3,c#4,d4,f#4]", F: "[c#4,e4] [d4,f#4], a3", G: "[b3,d4,g4]",
  H: "[a3,b3,c#4,e4]", I: "[g3,c4,e4] [a3,d4,f#4]", J: "[g3,b3,d4]", K: "[a3,c#4,e4]", L: "[a#3,c#4,e4]",
  M: "[b3,d4,f#4]", N: "[g3,b3,d4]/2", O: "[[g3,b3,e4]@11 f#3@2 [e3,c#4]@3, d4@13 ~@3, ~@22 a3@9 ~]/2",
  P: "[f#3,a3,d4]/2", Q: "g4@4 f#4@5 e4@4 d4@3", R: "e4/2", S: "[[d4,a#4] [c4,e4,g4], f4@31 ~]/2", T: "[c4,e4,f4,a4]",
  U: "[e4,g4] [f4,a4], c4", V: "[d4,f4,a#4]", W: "[c4,d4,e4,g4]", X: "[a#3,d#4,g4] [c4,f4,a4]", Y: "[a#3,d4,f4]",
  Z: "[c4,e4,g4]", AA: "[c#4,e4,g4]", AB: "[d4,f4,a4]", AC: "[a#3,d4,f4]/2",
  AD: "[[a#3,d4,g4]@11 a3@2 [g3,e4]@3, f4@13 ~@3, ~@22 c4@9 ~]/2", AE: "[a3,c4,f4]/2",
})).s("gm_string_ensemble_2").gain(0.2)

// other · french horn · "FR.HORN"
const french_horn = note("<~@99 A B C D E F G D H@2 C I F ~@18>".pickRestart({
  A: "a3@3 d4@3 e4@2", B: "f4", C: "e4 d4", D: "c4", E: "e4 f4 e4 c4", F: "d4", G: "e4", H: "[a#4 a4 g4 f4@2 d4@3]/2",
  I: "c#4",
})).s("gm_french_horn").gain(0.56).pan(0.6)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note("<~@100 A B C D E B F G H I J K ~@18>".pickRestart({
  A: "a#2@6 a#2!2", B: "c3", C: "f2@12 f2@2 [a2,a#2] [c3,c#3]", D: "d3@7 ~ d3@6 c#3 c3", E: "a#2", F: "f2@14 a#2 b2",
  G: "~@6 b2 a#2 a2@8, c3 ~", H: "a#2@14 ~ b2, ~@7 a#2", I: "c3 a#2", J: "a2@8 c#3@7 ~",
  K: "d3@6 ~ c#3 ~@8, ~@3 d3 ~@4",
})).s("gm_overdriven_guitar").gain(0.48).pan(0.2)

// chords · overdriven guitar · "OVERDRIVE" · soft notes · Cmaj7 A#maj7
const overdriven_guitar_soft = note("<~@106 [~@14 a2 ~] ~@4 [~@8 [b2,c3] [a2,a#2] f#2 ~@5] ~@18>")
  .s("gm_overdriven_guitar").gain(0.24).pan(0.2)

// other · orchestral harp · "HARP" · Asus2 C Fsus2 Am
const orchestral_harp = note("<~@99 [~@12 [a3,b3] [c4,d4,e4] [f4,g4] [a4,b4,c5]] [d5 ~@15] ~@29>")
  .s("gm_orchestral_harp").gain(0.24).pan(0.9)

// other · orchestral harp · "HARP" · soft notes · Fmaj7
const orchestral_harp_soft = note("<~@99 [~@8 d3@2 [e3,f3] g3 ~@4, ~@8 c3 ~@7] ~@30>")
  .s("gm_orchestral_harp").gain(0.12).pan(0.9)

// drums · kick
const kick = s("bd").struct(`<
  ~@2 A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A
  B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B
// … 98 more lines

More by Rene Froger