Strudelify

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: 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 AM
  AN AO AP AM AQ AR AS AT AU AV@2 AW AX AY AZ@2 BA BB BC BD BE@2 S@2 T@2 U V W@2 BF BG BH BI BJ BK BL BM BN AG BO AI
  AJ@2 AK@2 BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD@2 CE@2 CF CG CH CI CJ CK CL CM CN CO@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]@5 ~ [e4,e5]@5 ~ [f#4,f#5]@3 ~, d3",
  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,d5]@6 [e4,e5]@5 ~ [f#4,f#5]@4, d3@15 ~", AN: "[d4,f#4,b4,d5], g2@7 ~",
  AO: "[a3,d4,e4]@3 [a3,d4,e4]@3 [g3,a3,d4]@2, a2@7 ~", AP: "[f#3,a3,d4]@11 ~ [a3,a4]@4, d3@3 ~",
  AQ: "[d4,f#4,b4,d5]@5 b3 [b3,d4,b4]@2, g2@7 ~", AR: "[b3,d4]@7 ~ [b3,d4]@8, [a2,e4,a4]",
  AS: "f#4@10 ~@4 e4 ~, d3@15 ~, a3@9 ~ a3@6, ~@3 [d4,f#4]", // D
  AT: "c#4@3 ~@3 a3@2, [c#3,e4,a4]@15 ~, a3@5 ~ a3@5 ~@5, ~ c#4", // A
  AU: "[d4,f#4,a4,d5]@6 ~@2 f#4@7 ~, b2@15 ~, ~@3 [a3,d4,a4]@5", // D D5
  AV: "[[a3,d4,f#4]@12 d4@2 ~@2 a4 b4@15, a2@7 d5@9, ~@16 [g2,d4]@15 ~]/2", // D G5
  AW: "[a3,d4,f#4]@9 ~ [a3,d4]@2 f#4@2 [a3,a4]@2, f#2", AX: "~@4 g3 ~ g3@9 ~, [e2,d4,g4]@15 ~, ~@2 b3@13 ~",
  AY: "[b3,d4,g4] [a3,d4,f#4] [g3,b3,d4] [a3,c#4,e4], a2", // G D G A
  AZ: "[[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
  BA: "[b2,d4,f#4,d5]", BB: "~@2 a3 [d4,d5]@2 d4 [d4,d5]@2, a2, [a3,d4] ~@3, ~ f#3@2 ~@5",
  BC: "d4 ~@2 g4@2 ~@2 g4, g2, d5@3 ~, g4@4 d4@7 ~ d4@4, ~@2 b3@7 ~ b3@5 ~",
  BD: "d4@3 a3@2 b3 g3 b3, [e2,g4], b3@4 ~@2 d4@9 ~", // Em
  BE: "[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
  BF: "d4@3 ~ [g3,d4]@4 b3@2 ~@2 b3@2 d4@2, g2, [g4,b4]@4 g4@3 ~, ~@10 a3@5 ~", // G5 G
  BG: "[b3,c#4,b4]@5 ~ [a3,a4]@4 ~@2 c#4@2 a3@2, [a2,e3], ~@10 e4@5 ~", BH: "[a3,c#4,d4,f#4]@3 [a3,a4], d3",
  BI: "~ 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
  BJ: "b3@4 ~ b3 [d4,b4,d5]@2, g2@15 ~, [d4,b4]@3 ~, ~@2 d3 ~", BK: "[c#4,a4,c#5]@4 ~ e4 e4@2, a2@15 ~, ~@5 [a3,b4]@3",
  BL: "[d3,a3,c#4,d4,f#4]@11 ~ c#3@2 b2@2, ~@3 [a4,b4,c#5,e5,a5]", // Dmaj7 A
  BM: "[a2,g4,c5,e5,g5]@8 d4@3 ~ [d3,d4,d5]@4, ~ [f#2,c4,f#4,a4]", // Am7 D F#dim
  BN: "~@5 g4 [d4,a4,b4,d5]@2, g2@15 ~, [d4,b4,d5]@5 ~@3, ~@3 d3@5, ~@8 b3@7 ~", // Bm7 G
  BO: "[g4,c#5,e5,g5]@6 ~@2 c#5@7 ~, a#2@15 ~, ~@3 [g4,a#4,f#5]@5", BP: "[d3,f#3,a3,d4]",
  BQ: "[a3,a4]@5 ~ [d4,d5]@5 ~ [e4,e5]@4", // A D E
  BR: "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#
  BS: "[d4,e4,d5]@5 ~ [c4,c5]@4 ~@2 e4@2 c4@2, [c3,g3], ~@10 g4@5 ~", BT: "[c4,e4,f4,a4]@3 [c4,c5], f3",
  BU: "~ c4 [f4,a4,c5,f5] [d3,c4,f4,c5,f5], d3@11 ~@5, [g4,a4,c5,e5]@7 ~@9", // F Dm7 Am7
  BV: "d4@4 ~ d4 [f4,d5,f5]@2, a#2@15 ~, [f4,d5]@3 ~, ~@2 f3 ~", BW: "[e4,c5,e5]@4 ~ g4 g4@2, c3@15 ~, ~@5 [c4,d5]@3",
  BX: "[f3,c4,e4,f4,a4]@11 ~ e3@2 d3@2, ~@3 [c5,d5,e5,g5,c6]", // Fmaj7 C
  BY: "[c3,a#4,d#5,g5,a#5]@8 f4@3 ~ [f3,f4,f5]@4, ~ [a2,d#4,a4,c5]", // Cm7 F Adim
  BZ: "~@5 a#4 [f4,c5,d5,f5]@2, a#2@15 ~, [f4,d5,f5]@5 ~@3, ~@3 f3@5, ~@8 d4@7 ~", // Dm7 Dm
  CA: "[g4,c5,e5]@3 [g4,c5,e5]@2 c4 d4 c4, c3@15 ~, ~@5 [e4,g4]@3", // C Em
  CB: "[a#4,e5,g5,a#5]@6 ~@2 e5@7 ~, c#3@15 ~, ~@3 [a#4,c#5,a5]@5", CC: "[d3,c4,d4,f4,a4]",
  CD: "[[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#
  CE: "[[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
  CF: "[a3,c4]@3 [c4,c5], f4@3 ~@5, f3 ~@3", CG: "~@6 [g4,g5]@5 ~ [a4,a5]@4, [f4,f5]@3 g3@5, f3 f3@3, ~ c3@7",
  CH: "[f4,a4,d5,f5], a#2@7 ~", CI: "[c4,f4,g4]@3 [c4,f4,g4]@3 [a#3,c4,f4]@2, c3@7 ~",
  CJ: "[a3,c4,f4]@11 ~ [c4,c5]@4, f3@3 ~", CK: "[f4,f5]@6 [g4,g5]@5 ~ [a4,a5]@4, f3@15 ~",
  CL: "[f4,a4,d5,f5]@5 d4 [d4,f4,d5]@2, a#2@7 ~", CM: "[d4,f4]@7 ~ [d4,f4]@8, [c3,g4,c5]",
  CN: "[f3,a3,c4,f4]@14 [c5,c6] ~", CO: "[[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 S T U@2 V@2 W M X@2 Y Z AA AB AC AD AE AF Y AG AH AI AJ@2 AK F AL@2 K
  J C D E F G H I AM K L AN AO O P AP AQ AR AS AT AU AR AV AW@2 AX M AY@2 K AZ BA BB BC BD BE BF BG BH BI I BJ@2 BK BL
  BM BN BO BP BQ BR BS BT BU BV BW BX BY O BZ CA CB CC CD CE BI CB CF CG CH CB CI CJ CK@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: "a2", T: "a1",
  U: "[g2@14 a2 g2]/2", V: "[f#2@11 ~ b2@15 ~ d3@2 f#2@2]/2", W: "g2@13 ~ f#2@2", X: "[a1@11 ~ a2@16 a1@4]/2",
  Y: "g1@15 ~", Z: "a1@7 c2", AA: "d2@6 a1 c2", AB: "b1@11 ~ b1@3 ~", AC: "g1@11 ~ g1 ~ g1@2", AD: "a1@11 ~ a1 ~ e2@2",
  AE: "d2@11 ~ c#2@2 b1@2", AF: "a1 f#1", AG: "a1@7 a1", AH: "a#1@15 ~", AI: "b1@2 f#2@2 c#3@4 b2 ~ f#2@2 d2@2 c#2@2",
  AJ: "[e1@14 ~ b2, ~@30 a2 ~]/2", AK: "a2@6 a2 ~", AL: "[d3@31 ~]/2", AM: "a2@11 ~ e2@2 f#2 ~",
  AN: "e2@11 ~ b2@2 a#2@2", AO: "a2@9 ~ a2 ~ a2@2 b2@2", AP: "b1@6 ~ b1", AQ: "a1@11 ~ e2@2 f#2@2",
  AR: "g2@11 ~ b1@2 d2@2", AS: "e2@11 ~ g2@2 b2@2", AT: "a2@13 ~ e2@2", AU: "a1@7 ~ e2@2 f#2@2 a2@2 f#2@2",
  AV: "g2@7 ~ g2@7 ~", AW: "[f#2@11 ~ b2@11 ~ d2@2 e2@2 f#2@2 d2@2]/2", AX: "g2@11 ~ b1 ~ d2@2",
  AY: "[a1@11 ~ a2@19 ~]/2", AZ: "a2@7 c3", BA: "d3@6 a2 c3", BB: "b2@11 ~ f#2@2 a2@2", BC: "g2@11 ~ g2 ~ g2@2",
  BD: "a2@11 ~ a2 ~ e3@2", BE: "d3@13 ~ a2 ~", BF: "a1@3 ~ e3@3 ~ a2@2 g2@2 f#2@3 ~, ~@4 d3 ~@11", BG: "g2@13 ~ g2@2",
  BH: "a2@7 a2", BI: "a#2@11 ~ a#2@3 ~", BJ: "[g3@4 g3@2 g3 ~@3 a3@4 b3@10 g3@7 ~, e2 ~]/2", BK: "a1@13 ~ a1@2",
  BL: "a2@7 e2", BM: "d2@11 ~ d2@2 e2@2", BN: "a2 b2 d3@2 f#3@2 a1@2", BO: "a#1@11 ~ a#1 ~ a#1@2", BP: "c2@7 e2",
  BQ: "f2@11 ~ f2@2 f2@2", BR: "d2@9 ~ a1@2 a1@2 a1@2", BS: "a#1@11 ~ c2 ~ c2 d2", BT: "c2@13 ~ c2@2",
  BU: "f2@10 f2@2 f2 ~ f2@2", BV: "c3@6 c3 a#2 f2@4 a1@4", BW: "a#1@11 ~ a#1@2 a#1@2", BX: "c2@7 ~ a#1@7 ~",
  BY: "a1@7 ~ c#2@7 ~", BZ: "g2@13 ~ d2@2", CA: "a#3 a3 g3 d3 a#2 a2 g2 d3", CB: "c3@15 ~", CC: "c2@15 ~",
  CD: "f2@11 ~ c2@4", CE: "f2@2 c3@2 f3@2 g3@5 ~ a3@4", CF: "f2@7 c3", CG: "f3@5 ~ g3@5 ~ a3@4", CH: "f3@15 ~",
  CI: "f2@15 ~", CJ: "d#2", CK: "[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 I J K L M N G H O J P Q R S T U V@2 W X Y@2 Z AA AB AC Z AD AE AF AG AH AI AJ AK@2 AL@2 AM AN
  AO AP AQ AR AS F G H I AT AU AV M N AW AX AY AZ P BA BB BC BD BE BF@2 BG X BH@2 Z AA AB AC Z AD AE AF AG AH AI AJ AK@2
  AL@2 BI ~@13 BJ@2 BK@2 BL BM BN BO BP BQ BR BS BT BU@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,d4,f#4]!2", J: "[a3,b3,d4,f#4]@7 ~ [a3,b3,d4,f#4]@8",
  K: "[b3,d4,g4]@8 [b3,d4,g4]@7 ~", L: "[a3,e4,f#4]@7 ~@5 f#3@3 ~, ~ [a3,d4,f#4]",
  M: "[g3,b3,e4]@7 ~ g3@3 ~ g3@4, ~@8 [b3,e4]@7 ~", N: "[b3,d4,g4] [a3,d4,f#4] [g3,b3,d4,f#4] [a3,c#4,e4]",
  O: "[a3,d4,f#4]@2 ~ b3, ~ [a3,d4,f#4]", P: "[b3,d4,g4]@4 d4 ~@2 g4, ~@2 g4 d4, ~@5 b3@3",
  Q: "b3@3 ~ b3@2 d4@2 b3@4 g3@2 b3@2, g4 ~, d4@6 ~@2 [d4,g4]@7 ~", R: "[d4,e4,a4]@7 ~ d4@3 ~ a3@4, ~@8 [e4,a4]@7 ~",
  S: "[c#4,e4,a4]@7 ~ a4@4 a4@4, ~ [c#4,e4]", T: "[b3,a4] [b3,g4] [b3,d4,g4] [b3,d4,f#4], d4@7 ~@9",
  U: "[b3,d4,f#4]@3 ~ [b3,d4,e4]@4 [b3,d4,e4]@4 [b3,d4]@4, a3@7 ~ g3@8", // Bm E7 Bm
  V: "[[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
  W: "[a4,d5,a5] [g4,b4,g5]!2 [f#4,b4,f#5]", X: "[f#4,g#4,f#5] [e4,g#4,e5]!2 [d4,g#4,d5]",
  Y: "[[g3,a3,b3,d4]@11 ~ a3@16 a3@4, ~@3 [c#4,e4]@5]/2", Z: "[b3,d4,g4]@7 ~ [b3,d4,g4]@8", AA: "[a3,c#4,e4]!2",
  AB: "[a3,c#4,f#4]@8 c#4@3 ~ c#4@4, ~ [a3,f#4]", AC: "[a3,c#4,e4] [a3,d4,f#4]", AD: "[a3,c#4,e4]@8 [a3,c#4,e4]@7 ~",
  AE: "[a3,c#4,f#4]!2", AF: "[g3,c4,e4]@7 ~ [a3,d4,f#4]@8", AG: "[g3,b3,d4]@4 [b3,d4]@2 ~@2 [b3,d4]@7 ~, ~@6 g3@9 ~",
  AH: "[a3,c#4,e4]@7 ~ [a3,c#4,e4]@7 ~", AI: "[a#3,c#4,e4]@8 [a#3,c#4,e4,g4]@7 ~",
  AJ: "[b3,d4,f#4]@7 ~ [b3,d4]@4 b3@2 d4@2, ~ f#4", // Bm
  AK: "[[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
  AL: "[[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
  AM: "[f#3,a3,d4]@12 a4@3 ~", AN: "[d4,a4,d5]@6 [e4,e5]@5 ~ [f#4,f#5]@4, [d3,f#3,a3]@15 ~", AO: "[a3,b3,d4,f#4]",
  AP: "[a3,d4,e4]@5 ~ e4@4 ~@2 [a3,d4]@2 a4@2, ~@3 [a3,d4]@3 ~@2, ~@10 e4@5 ~", AQ: "[a3,d4,f#4]@11 e5 a4@3 ~",
  AR: "[d4,a4,d5]@6 [e4,e5]@5 ~ [f#4,f#5]@4, [d3,f#3,a3]", AS: "[b3,d4,f#4,a4]",
  AT: "[a3,b3,d4,f#4]@3 [a3,b3,c#4,e4]@3 [a3,b3,d4]@2", AU: "d4@7 ~@5 g3@4, b3, g3@5 ~@3, ~ d4", AV: "[a3,d4,f#4]",
  AW: "d4@4 ~@8 f#4@3 ~, f#4@5 ~@3, a3@7 ~ a3@8, ~ d4@3", AX: "[c#4,e4]@2 ~@2 a3 e4 ~ e4, a3@3 c#4@5, ~ e4 ~ a3",
  AY: "a3 ~@2 f#4, [d4,f#4]@7 ~ d4@7 ~, ~@4 a3@11 ~", AZ: "[a3,b3,d4,f#4]@5 ~ [a3,b3,c#4,e4]@5 ~ [a3,b3,d4]@4",
  BA: "[b3,d4,g4]@4 [a3,d4,f#4]@6 [d4,f#4]@2 ~@2 d4 ~, ~@10 a3@5 ~, ~@3 e4", // G D
  BB: "[a3,d4,e4]@7 ~ d4@3 ~ d4@3 ~, ~@8 [a3,e4]@7 ~", BC: "[a3,d4]@7 ~ [a3,c#4]@8, e4",
  BD: "[b3,d4,a4]@4 [b3,d4,g4]@3 ~ [b3,d4,g4]@4 [b3,d4,f#4]@4", // Bm7 G Bm
  BE: "[b3,d4,f#4]@4 [b3,d4,e4]@3 ~ d4@3 ~ d4@4, a3 [g3,b3,e4]", // Bm E7 Em
  BF: "[~@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
  BG: "[a4,b4,d5,a5] [g4,b4,g5]!2 [f#4,b4,f#5]", // Bm7 G B5
  BH: "[[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
  BI: "[f#3,a3,d4]", // D
  BJ: "[[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#
  BK: "[[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
  BL: "[a3,c4,f4]@12 c5@3 ~", BM: "[f4,c5,f5]@6 [g4,g5]@5 ~ [a4,a5]@4, [f3,a3,c4]@15 ~", BN: "[c4,d4,f4,a4]",
  BO: "[c4,f4,g4]@5 ~ g4@4 ~@2 [c4,f4]@3 ~, ~@3 [c4,f4]@3 ~@2, ~@10 g4@5 ~", BP: "[c4,f4,a4]@12 c5@3 ~",
  BQ: "[f4,c5,f5]@6 [g4,g5]@5 ~ [a4,a5]@4, [f3,a3,c4]", BR: "[f4,a4,c5,d5]", BS: "[d4,f4,a4,c5]", BT: "[a3,c4,f4]",
  BU: "[[a#3,c4,d#4]@15 ~ [c4,f4]@48, g3@13 ~@2 a3@48 ~]/4", // Cm7 F5
})).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)
// … 103 more lines

More by Rene Froger