Strudelify

Just Like That (Full Sax version) (1983)

ABBA

KeyD majorTempo99 bpm
0:00/0:00
// Just Like That (Full Sax version) (1983) — ABBA
// 99 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 112 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(99/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 · synth strings 1 · "Synth Strings"
const synth_strings_1 = note(`<
  A B@2 C@2 D@8 ~@6 E@4 F@6 G@4 H@7 I@2 J@7 K L@6 ~@8 M@3 N@6 A O@4 P@5 Q@6 A B@2 C@2 R@7 S@3 A B@2 T@5
>`.pickRestart({
  A: "d5 c#5, [f#4,a4]", B: "[e5@16 d5@16 e5@31 ~, [g4,b4]]/2",
  C: "[[e4,c#5] d5 c#5 [g4,b4,e5], a4@3 ~, ~@16 f#4@31 ~@17]/2", // C#m Em
  D: "[d5@16 ~@32 [g4,a4]@31 ~@94 d5@35 [g4,b4]@48, ~@16 [g4,b4]@31 ~ d5@125 ~@83, ~@17 e4@62 e4@128 ~ d4@31 ~@17, ~@5 a4@8 ~@3]/8", // Gsus2 G
  E: "[~@8 g4@15 ~ f#4@16 [e4,g4]@16 ~@4 a#4@3 ~, ~@2 b4@13 ~, ~@16 d4@63 ~@33 [f#4,c#5]@16]/4", // Em F#5
  F: "[~@16 g4@30 ~@2 f#4@30 ~ g4@31 ~@46 d5@20 [f#4,a4,d5]@15 c#5, d5@13 ~@3, b4@111 ~ [e4,a4]@64 ~@16]/6", // D A5
  G: "[~@16 e5@12 d5@20 ~@12 c#5@15 [f#4,d5]@8 ~ e4@6 ~@2 f#4@7 ~ g4@7 ~ f#4@19 c#5, ~@4 [g4,b4]@11 a4@17, ~@48 e4@26 ~@9 c#5@8 ~ d5@36]/4", // D G
  H: "[~@16 e5@12 d5@20 ~@13 c#5@15 [f#4,d5]@7 ~ e4@6 ~ d5@21 ~@31 c5@16 [g4,b4]@17 [c#4,a#4]@11 ~@21 g4@14 ~@2, ~@16 [g4,b4]@45 a4@99 ~@27 b4@37, ~@48 e4@26 ~@9 c#5@8 f#4@67 ~@18 f#4@31 ~@17, ~@112 d4@62 ~@14 d4@33 ~@3]/7", // D G F# G
  I: "[d5@11 c#5@8 ~ g4@8 ~@19 c#5@17, a4@63 ~, e4@9 ~ d5@14 ~@8, ~@29 f#4@34 ~]/2",
  J: "[e5@13 d5@15 e5@15 ~@2 c#5@15 [f#4,d5]@7 ~ e4@7 ~ [f#4,d5]@4 d5@16 c#5@16 e5@16 d5@16 e5@31 ~ [e4,c#5]@16 d5@16 c#5@16, [g4,b4]@11 a4@9 [f#4,a4]@8 [g4,b4]@16 a4@12, ~@44 e4@15 ~@8 c#5@9 ~@116 f#4@31 ~]/7", // D C#m G F#m G
  K: "e5 d5, [g4,b4]@31 ~", L: "[~@32 [g4,a4]@31 ~ a4@128, [g4,b4]@31 ~ d5@125 ~@35, ~ e4@62 e4@128 ~]/6",
  M: "[g4@15 ~ f#4@16 [e4,g4]@16, b4, d4@21 ~@11]/3", // Em
  N: "[~@8 a#4@6 ~@18 g4@30 ~@2 f#4@30 ~ g4@31 ~@46 d5@20, f#4@31 ~@97 [e4,a4]@64, c#5@15 ~ d5@156 ~@20, ~@16 b4@111 ~@65]/6", // A5
  O: "[e5@12 d5@20 ~@12 c#5@15 [f#4,d5]@8 ~ e4@6 ~@2 f#4@7 ~ g4@7 ~@20 c#5@17, [g4,b4]@11 a4@21, ~@32 e4@26 ~@9 c#5@8 ~ d5@36 ~@16, ~@46 f#4@17 ~]/4", // D G
  P: "[e5@12 d5@20 ~@13 c#5@15 [f#4,d5]@7 ~ e4@6 ~ d5@21 ~@31 c5@16 [g4,b4]@17, [g4,b4]@45 a4@99 ~@16, ~@32 e4@26 ~@9 c#5@8 f#4@67 ~@18, ~@48 d4@31 ~]/5", // D G
  Q: "[[c#4,a#4]@11 ~@21 g4@14 ~@2 d5@11 c#5@8 ~ g4@8 ~@19 c#5@17 e5@13 d5@15 e5@15 ~@2 c#5@15 [f#4,d5]@7 ~ e4@7 ~ [f#4,d5]@4, f#4@31 ~@17 e4@18 ~@2 d5@28 ~@60 e4@15 ~@21, ~@11 b4@37 a4@63 ~@45 a4@36, ~@12 d4@33 ~@32 f#4@34 ~ [g4,b4]@45 ~@22 c#5@9 ~@4]/6", // F# D G
  R: "[d5@16 ~@32 [g4,a4,d5]@32 ~@16 c#5@16 e5@12 ~@32 c#5@15 [f#4,d5]@8 ~ e4@6 ~@2 f#4@7 ~ g4@7 ~ f#4@19 c#5, ~@16 [g4,b4]@31 ~@33 d5@44 d5@47 ~@8 c#5@8 ~ d5@36, ~@17 e4@62 ~ [f#4,a4]@32 [g4,b4]@44 a4@68, ~@72 e4@13 ~@27]/7", // Gsus2 D G F#m G
  S: "[~@16 e5@13 d5@15 e5@15 ~@2 c#5@15 [f#4,d5]@7 ~ e4@7 ~ [f#4,d5]@4, ~@4 [g4,b4]@11 a4@9, ~@60 e4@15 ~@8 c#5@9 ~@4]/3", // D G
  T: "[[e4,c#5]@16 d5@16 c#5@16 e5@16 d5@16 ~@32 [g4,a4]@31 ~@17, a4@48 ~@33 e4@62 ~@17, ~@16 f#4@31 ~ [g4,b4]@31 ~ [g4,b4]@31 ~ d5@25 ~@23]/5", // C#m Gsus2 G
})).s("gm_synth_strings_1").gain(0.2)

// chords · overdriven guitar · "Guitar"
const overdriven_guitar = note(`<
  A B C D E F G H I@2 J K L M N O P Q R S T U V W X W Y Z AA AB AC AD AE AF AC AD AG AH AI AJ AK AL AM AN AO E L AP A B
  AQ I AR I@2 AS AT AU AV AW AV AX AY AZ BA BB T BC BD BA BE BF BG BH BI BJ BK BL BM BJ BN BO BP BQ BR BN BS AC BT BU B
  C D E F G BV AB AC AD AE BS AC BT BU B C D E F G ~
>`.pickRestart({
  A: "~@4 [a3,d4] ~ [a3,d4] ~@5 [a3,d4] ~ [a3,d4] ~@5 [a3,c#4] ~ [a3,c#4] ~@5 [a3,c#4] ~ [a3,c#4] ~", // D5 A
  B: "~@4 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4] ~@5 [b3,d4] ~ [b3,d4] ~@5 [b3,d4] ~ [b3,d4] ~", // E5 Bm
  C: "~@4 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4] ~", // E5
  D: "~@4 [d4,e4] ~ [d4,e4] ~@5 [c#4,e4] ~ [c#4,e4] ~@5 [a3,d4] ~ [a3,d4] ~@5 [a3,d4] ~ [a3,d4] ~", // Dsus2 C#m D5
  E: "~@4 [a3,c#4] ~ [a3,c#4] ~@5 [a3,c#4] ~ [a3,c#4] ~@5 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4] ~", // A E5
  F: "~@4 [b3,d4] ~ [b3,d4] ~@5 [b3,d4] ~ [b3,d4] ~@4 [b3,e4] ~ [b3,e4] ~@6 [b3,e4] ~ [b3,e4] ~", // Bm E5
  G: "~@4 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4] ~@5 [a3,d4] ~ [a3,d4] ~@5 [a3,d4] ~ [a3,d4] ~", // E5 D5
  H: "~@4 [a3,d4] ~ [a3,d4] ~@5 [a3,d4] ~ [a3,d4] ~@5 [a3,d4] ~@2 [a3,d4] ~@4 d4 a3 [a3,d4] ~", // D5
  I: "~@4 [a3,d4] ~ [a3,d4] ~@5 [a3,d4] ~ [a3,d4] ~@5 [a3,d4] ~ [a3,d4] ~@5 [a3,d4] ~ [a3,d4] ~", // D5
  J: "~@4 [a3,d4] ~ [a3,d4] ~@5 [a3,d4] ~ [a3,d4] ~@6 [a3,d4] ~ [a3,d4] ~@5 [a3,d4] ~ [a3,d4]", // D5
  K: "~@4 [a3,c#4] ~ [a3,c#4] ~@5 [a3,c#4] ~ [a3,c#4] ~@5 [b3,d4] ~ [b3,d4] ~@5 [b3,d4] ~ [b3,d4] ~", // A Bm
  L: "~@4 [b3,d4] ~ [b3,d4] ~@5 [b3,d4] ~ [b3,d4] ~@5 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4] ~", // Bm E5
  M: "~@4 [b3,e4] ~ [b3,e4]@2 ~@4 [b3,e4] ~ [b3,e4] ~@5 [c#4,e4] ~ [c#4,e4] ~@5 [c#4,e4] ~ [c#4,e4] ~", // E5 C#m
  N: "~@4 [c#4,e4] ~ [c#4,e4] ~@5 [c#4,e4] ~ [c#4,e4] ~@5 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4]@2", // C#m E5
  O: "~@4 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4] ~@5 [c#4,e4] ~ [c#4,e4] ~@5 [c#4,e4] ~ [c#4,e4] ~", // E5 C#m
  P: "~@4 [c#4,e4] ~ [c#4,e4] ~@5 [c#4,e4] ~ [c#4,e4] ~@5 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4] ~", // C#m E5
  Q: "~@4 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4]@2 ~@4 [c#4,e4] ~ [c#4,e4] ~@5 [c#4,e4] ~ [c#4,e4] ~", // E5 C#m
  R: "~@4 [c#4,e4] ~ [c#4,e4] ~@5 [c#4,e4] c#4 e4 ~@5 [e4,f#4] ~ [e4,f#4]@2 ~@4 [e4,f#4] ~ [e4,f#4] ~", // C#m Esus2
  S: "~@4 [d4,f#4] ~ [d4,f#4] ~@13 [b3,d4] ~ [b3,d4]@2 ~@4 [b3,d4] ~ [b3,d4] ~", // D Bm
  T: "~@4 [b3,d4] ~ [b3,d4] ~@5 [b3,d4] ~ [b3,d4] ~@5 [b3,d4] ~ [b3,d4]@2 ~@4 [b3,d4] ~ [b3,d4]@2", // Bm
  U: "~@4 [b3,d4] ~ [b3,d4] ~@5 [b3,d4] ~ [b3,d4]@2 ~@4 [b3,d4] ~ [b3,d4] ~@5 [b3,d4] ~ [b3,d4] ~", // Bm
  V: "~@4 [b3,d4] ~ [b3,d4]@2 ~@4 [b3,d4] ~ [b3,d4]@2 ~@4 [b3,c#4] ~ [b3,c#4]@2 ~@4 [a#3,c#4] ~ [a#3,c#4] ~", // Bm Bsus2 A#m
  W: "~@4 [b3,d4] ~ [b3,d4] ~@5 [b3,d4] ~ [b3,d4] ~@5 [b3,e4] ~ [b3,e4]@2 ~@4 [b3,e4] ~ [b3,e4] ~", // Bm E5
  X: "~@4 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4]@2 ~@4 [b3,d4] ~ [b3,d4]@2 ~@4 [b3,d4] ~ [b3,d4] ~", // E5 Bm
  Y: "~@4 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4] ~@5 [d4,e4] ~ [d4,e4] ~@5 [d4,e4] ~ [d4,e4] ~", // E5 Dsus2
  Z: "~@4 [d4,e4] ~ [d4,e4] ~@5 [d4,e4] ~ [d4,e4] ~@6 [c#4,e4] ~ [c#4,e4] ~@5 [c#4,e4] ~ [c#4,e4]", // Dsus2 C#m
  AA: "~@4 [c#4,e4] ~ [c#4,e4] ~@5 [c#4,e4] ~ [c#4,e4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4] ~", // C#m D
  AB: "~@4 [a3,c#4,f#4] ~ [a3,c#4,f#4] ~@5 [a3,c#4,f#4] ~ [a3,c#4,f#4]@2 ~@4 [b3,d4,g4] ~ [b3,d4,g4] ~@5 [b3,d4,g4] ~ [b3,d4,g4] ~", // F#m G
  AC: "~@4 [b3,d4,g4] ~ [b3,d4,g4] ~@5 [b3,d4,g4] ~ [b3,d4,g4] ~@5 [b3,e4,g4] ~ [b3,e4,g4] ~@5 [b3,e4,g4] ~ [b3,e4,g4] ~", // G Em
  AD: "~@4 [a3,c#4,e4] ~ [a3,c#4,e4] ~@5 [a3,c#4,e4] ~ [a3,c#4,e4] ~@5 [a3,c#4,e4] ~ [a3,c#4,e4] ~@5 [a3,c#4,e4] ~ [a3,c#4,e4] ~", // A
  AE: "~@4 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,d4] f#4 [a3,d4,f#4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4] ~", // D D5 D
  AF: "~@4 [a3,c#4,f#4] ~ [a3,c#4,f#4] ~@5 [a3,c#4,f#4] ~ [a3,c#4,f#4] ~@5 [b3,e4] g4 [b3,e4,g4] ~@5 [b3,e4] g4 [b3,e4,g4] ~", // F#m E5 Em E5 Em
  AG: "~@4 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4] ~", // D
  AH: "~@4 [a3,d4] f#4 [a3,d4,f#4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,c4,f#4] ~ [a3,c4,f#4] ~@5 [a3,c4,f#4] ~ [a3,c4,f#4]@2", // D5 D F#dim
  AI: "~@4 [b3,d4,g4] ~ [b3,d4,g4] ~@5 [b3,d4,g4] ~ [b3,d4,g4] ~@5 [a#3,c#4,f#4] ~ [a#3,c#4,f#4] ~@5 [a#3,c#4,f#4] ~ [a#3,c#4,f#4] ~", // G F#
  AJ: "~@4 [b3,d4,f#4] ~ [b3,d4,f#4] ~@5 [b3,d4,f#4] ~ [b3,d4,f#4] ~@5 [b3,d4,g4] ~ [b3,d4,g4] ~@5 [b3,d4,g4] ~ [b3,d4,g4] ~", // Bm G
  AK: "~@4 [a3,d4,e4] ~ [a3,d4,e4] ~@5 [a3,d4,e4] ~ [a3,d4,e4] ~@5 [a3,c#4,e4] ~ [a3,c#4,e4] ~@5 [a3,c#4,e4] ~ [a3,c#4,e4] ~", // Asus4 A
  AL: "~@4 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [c#4,f#4] a3 [a3,c#4,f#4]@2 ~@4 [a3,c#4,f#4] ~ [a3,c#4,f#4] ~", // D F#5 F#m
  AM: "~@5 [b3,d4,g4] [b3,g4] d4 ~@4 [b3,d4,g4] ~ [b3,d4,g4] ~@5 [b3,d4,g4] ~ [b3,d4,g4] ~@5 [b3,d4,g4] ~ [b3,d4,g4] ~", // G Em G
  AN: "~@4 [b3,e4,g4] ~ [b3,e4,g4] ~@5 [b3,e4,g4] ~ [b3,e4,g4] ~@6 [a3,c#4,e4] ~ [a3,c#4,e4] ~@5 [a3,c#4,e4] ~ [a3,c#4,e4]", // Em A
  AO: "~@4 [a3,c#4,e4] ~ [a3,c#4,e4] ~@5 [a3,c#4,e4] ~ [a3,c#4,e4] ~@5 [a3,d4] ~ [a3,d4] ~@5 [a3,d4] ~ [a3,d4] ~", // A D5
  AP: "~@4 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4] ~@5 [d4,e4] ~ [d4,e4] ~@5 [c#4,e4] ~ [c#4,e4] ~", // E5 Dsus2 C#m
  AQ: "~@3 [b3,e4] ~ [b3,e4] ~@6 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4] ~", // E5
  AR: "~@4 [a3,d4] ~@2 [a3,d4] ~@4 d4 a3 [a3,d4] ~@5 [a3,d4] ~ [a3,d4] ~@5 [a3,d4] ~ [a3,d4] ~", // D5
  AS: "~@5 [a3,d4] ~ [a3,d4] ~@5 [a3,d4] ~ [a3,d4] ~@4 [a3,c#4] ~ [a3,c#4] ~@5 [a3,c#4] ~ [a3,c#4] ~", // D5 A
  AT: "~@4 [b3,d4] ~ [b3,d4] ~@5 [b3,d4] ~ [b3,d4] ~@5 [b3,d4] ~ [b3,d4] ~@5 [b3,d4] ~ [b3,d4] ~", // Bm
  AU: "~@4 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4]@2 ~@4 [b3,e4] ~ [b3,e4] ~", // E5
  AV: "~@4 [c#4,e4] ~ [c#4,e4] ~@5 [c#4,e4] ~ [c#4,e4] ~@5 [c#4,e4] ~ [c#4,e4] ~@5 [c#4,e4] ~ [c#4,e4] ~", // C#m
  AW: "~@4 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4]@2 ~@4 [b3,e4] ~ [b3,e4] ~@9", // E5
  AX: "~@4 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4]@2", // E5
  AY: "~@4 [c#4,e4] ~ [c#4,e4] ~@5 [c#4,e4] ~ [c#4,e4] ~@5 [c#4,e4] ~ [c#4,e4] ~@5 [c#4,e4] c#4 e4 ~", // C#m
  AZ: "~@4 [e4,f#4] ~ [e4,f#4]@2 ~@4 [e4,f#4] ~ [e4,f#4] ~@5 [d4,f#4] ~ [d4,f#4] ~@9", // Esus2 D
  BA: "~@4 [b3,d4] ~ [b3,d4]@2 ~@4 [b3,d4] ~ [b3,d4] ~@5 [b3,d4] ~ [b3,d4] ~@5 [b3,d4] ~ [b3,d4] ~", // Bm
  BB: "~@4 [b3,d4] ~ [b3,d4]@2 ~@4 [b3,d4] ~ [b3,d4]@2 ~@4 [b3,d4] ~ [b3,d4] ~@5 [b3,d4] ~ [b3,d4]@2", // Bm
  BC: "~@4 [b3,c#4] ~ [b3,c#4]@2 ~@4 [a#3,c#4] ~ [a#3,c#4] ~@5 [b3,d4] ~ [b3,d4] ~@5 [b3,d4] ~ [b3,d4] ~", // Bsus2 A#m Bm
  BD: "~@4 [b3,e4] ~ [b3,e4]@2 ~@4 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4]@2", // E5
  BE: "~@4 [b3,e4] ~ [b3,e4]@2 ~@4 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4] ~@5 [b3,e4] ~ [b3,e4] ~", // E5
  BF: "~@4 [d4,e4] ~ [d4,e4] ~@5 [d4,e4] ~ [d4,e4] ~@5 [d4,e4] ~ [d4,e4] ~@5 [d4,e4] ~ [d4,e4] ~", // Dsus2
  BG: "~@5 [c#4,e4] ~ [c#4,e4] ~@5 [c#4,e4] ~ [c#4,e4] ~@4 [c#4,e4] ~ [c#4,e4] ~@5 [c#4,e4] ~ [c#4,e4] ~", // C#m
  BH: "~@4 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,c#4,f#4] ~ [a3,c#4,f#4] ~@5 [a3,c#4,f#4] ~ [a3,c#4,f#4]@2", // D F#m
  BI: "~@4 [b3,d4,g4] ~ [b3,d4,g4] ~@5 [b3,d4,g4] ~ [b3,d4,g4] ~@5 [b3,d4,g4] ~ [b3,d4,g4] ~@5 [b3,d4,g4] ~ [b3,d4,g4] ~", // G
  BJ: "~@4 [b3,e4,g4] ~ [b3,e4,g4] ~@5 [b3,e4,g4] ~ [b3,e4,g4] ~@5 [a3,c#4,e4] ~ [a3,c#4,e4] ~@5 [a3,c#4,e4] ~ [a3,c#4,e4] ~", // Em A
  BK: "~@4 [a3,c#4,e4] ~ [a3,c#4,e4] ~@5 [a3,c#4,e4] ~ [a3,c#4,e4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,d4] f#4 [a3,d4,f#4] ~", // A D D5 D
  BL: "~@4 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,c#4,f#4] ~ [a3,c#4,f#4] ~@5 [a3,c#4,f#4] ~ [a3,c#4,f#4] ~", // D F#m
  BM: "~@4 [b3,e4] g4 [b3,e4,g4] ~@5 [b3,e4] g4 [b3,e4,g4] ~@5 [b3,d4,g4] ~ [b3,d4,g4] ~@5 [b3,d4,g4] ~ [b3,d4,g4] ~", // E5 Em E5 Em G
  BN: "~@4 [a3,c#4,e4] ~ [a3,c#4,e4] ~@5 [a3,c#4,e4] ~ [a3,c#4,e4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4] ~", // A D
  BO: "~@4 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,d4] f#4 [a3,d4,f#4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4] ~", // D D5 D
  BP: "~@4 [a3,c4,f#4] ~ [a3,c4,f#4] ~@5 [a3,c4,f#4] ~ [a3,c4,f#4]@2 ~@4 [b3,d4,g4] ~ [b3,d4,g4] ~@5 [b3,d4,g4] ~ [b3,d4,g4] ~", // F#dim G
  BQ: "~@4 [a#3,c#4,f#4] ~ [a#3,c#4,f#4] ~@5 [a#3,c#4,f#4] ~ [a#3,c#4,f#4] ~@5 [b3,d4,f#4] ~ [b3,d4,f#4] ~@5 [b3,d4,f#4] ~ [b3,d4,f#4] ~", // F# Bm
  BR: "~@4 [b3,d4,g4] ~ [b3,d4,g4] ~@5 [b3,d4,g4] ~ [b3,d4,g4] ~@5 [a3,d4,e4] ~ [a3,d4,e4] ~@5 [a3,d4,e4] ~ [a3,d4,e4] ~", // G Asus4
  BS: "~@4 [c#4,f#4] a3 [a3,c#4,f#4]@2 ~@4 [a3,c#4,f#4] ~ [a3,c#4,f#4] ~@6 [b3,d4,g4] [b3,g4] d4 ~@4 [b3,d4,g4] ~ [b3,d4,g4] ~", // F#5 F#m G Em G
  BT: "~@5 [a3,c#4,e4] ~ [a3,c#4,e4] ~@5 [a3,c#4,e4] ~ [a3,c#4,e4] ~@4 [a3,c#4,e4] ~ [a3,c#4,e4] ~@5 [a3,c#4,e4] ~ [a3,c#4,e4] ~", // A
  BU: "~@4 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4]@2 ~@4 [a3,c#4] ~ [a3,c#4] ~@5 [a3,c#4] ~ [a3,c#4] ~", // D A
  BV: "~@20 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4] ~", // D
})).s("gm_overdriven_guitar").gain(0.2)

// bass · fretless bass · "Bass"
const bass = note(`<
  A B@2 C D E F@6 G H I J K L M N O P Q R S T U V W X@2 Y Z AA@2 AB AC@2 AD@2 AE AF AG AH AI AJ AK@2 AL AM@3 AN@4 AO AP
  AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN@2 BO BP@2 BQ@3 BR B@2 C D E BS@2 BT@2 BU BV
  BQ@3 BR B@2 C D E BW@2
>`.pickRestart({
  A: "~@2 d2@6 e2@4 f2@2 ~@2 f#2@10 ~ f#2@4 ~", B: "[~@4 g2@14 ~ g2@4 ~ f#2 ~@3 e2@24 e2@7 ~ e2@4]/2",
  C: "a2@10 ~@2 a2@2 ~@5 d2@5 e2@3 ~ f2 ~@3", D: "f#2@11 f#2@4 ~ g2@16", E: "~@3 g2@4 ~ f#2 ~@3 e2@20",
  F: "[~@3 e2@5 g2 ~@3 a2@16 a2@19 ~ a2@128 g2@5 ~ g2@2 ~@4 g2 ~@3]/6", G: "g2@8 ~@8 e2@5 ~ e2@2 ~@5 e2 ~@2",
  H: "e2@8 ~@8 a2@5 ~@2 a2@2 ~@3 a2 ~@3", I: "a2@9 ~@7 e2@4 ~@3 e2@2 ~@3 e2 ~@3", J: "e2@8 ~@8 a2@5 ~ a2 ~@5 a2 ~@3",
  K: "a2@8 ~@8 e2@4 ~@2 e2 ~@5 e2 ~@3", L: "e2@8 ~@8 a2@4 ~@2 a2@2 ~@4 a2 ~@3", M: "a2@8 ~@8 d2@4 ~@2 d2@2 ~@4 d2 ~@3",
  N: "d2@6 ~@10 g2@5 ~ g2 ~@5 g2 ~@3", O: "g2@8 ~@8 b2@5 ~ b2@2 ~@5 b2 ~@2", P: "b2@8 ~@8 g2@4 ~@3 g2 ~@4 g2 ~@3",
  Q: "e2@8 ~@8 f#2@4 ~@2 f#2@2 ~@4 f#2 ~@3", R: "b2@9 ~@7 e2@4 ~@2 e2@2 ~@4 e2 ~@3",
  S: "e2@8 ~@8 b1@5 ~@2 b1 ~@5 b1 ~@2", T: "b1@8 ~@8 e2@4 ~@2 e2 ~@6 e2 ~@2", U: "e2@8 ~@8 a2@5 ~@2 a2 ~@4 a2 ~@3",
  V: "a2@8 ~@8 a2@4 ~@2 a2@2 ~@4 a2 ~@3", W: "~ a2@8 ~@7 d2@11 ~ d2@4",
  X: "[f#2@14 ~@2 g2@26 ~@2 g2@3 ~ e2@10 ~@2 e2@4]/2", Y: "a2@12 ~ a2@14 ~ a2@3 ~", Z: "d2@14 ~@3 d2@10 ~ d2@4",
  AA: "[f#2@16 g2@11 ~ g2@19 ~ e2@10 ~@2 e2@4]/2", AB: "a2@15 ~ a2@9 ~@3 a2@3 ~",
  AC: "[d2@7 ~ a2@7 ~ f#2@4 e2@4 d2@3 ~ d2@21 c2@14 ~]/2", AD: "[g2@16 f#2@8 a#2@4 b2@20 ~ g2@15]/2",
  AE: "a2@20 ~ g2 ~@10, ~@20 a2@11 ~", AF: "d2@10 ~@2 d2@4 f#2@15 ~", AG: "g2@3 g2@5", AH: "e2@11 ~ e2@4 a2@15 ~",
  AI: "a2@10 ~ a2@4 ~@3 d2@6 e2@4 f2@2 ~@2", AJ: "f#2@10 ~ f#2@4 ~@5 g2@12",
  AK: "[~@3 g2@4 ~ f#2 ~@3 e2@24 e2@7 ~ e2@4 a2@10 ~@2 a2@2 ~@2]/2", AL: "~@3 d2@5 e2@3 ~ f2 ~@3 f#2@11 f#2@4 ~",
  AM: "[g2@18 ~ g2@4 ~ f#2 ~@3 e2@21 ~@2 e2@5 g2 ~@3 a2@16 a2@19 ~]/3", AN: "a2/4",
  AO: "g2@5 ~ g2@2 ~@4 g2 ~@3 g2@8 ~@8", AP: "e2@5 ~ e2@2 ~@5 e2 ~@2 e2@8 ~@8", AQ: "a2@5 ~@2 a2@2 ~@3 a2 ~@3 a2@9 ~@7",
  AR: "e2@4 ~@2 e2@3 ~@3 b1@4 d2@3 ~@5 e2@2 ~@6", AS: "a2@5 ~ a2 ~@5 a2 ~@3 a2@8 ~@8",
  AT: "e2@4 ~@2 e2 ~@5 e2 ~@3 e2@8 ~@8", AU: "a2@4 ~@2 a2@2 ~@4 a2 ~@3 a2@8 ~@8",
  AV: "d2@4 ~@2 d2@2 ~@4 d2 ~@3 d2@6 ~@10", AW: "g2@5 ~ g2 ~@5 g2 ~@3 g2@8 ~@8", AX: "b2@5 ~ b2@2 ~@5 b2 ~@2 b2@8 ~@8",
  AY: "g2@4 ~@3 g2 ~@4 g2 ~@3 e2@8 ~@8", AZ: "f#2@4 ~@2 f#2@2 ~@4 f#2 ~@3 b2@9 ~@7",
  BA: "e2@4 ~@2 e2@2 ~@4 e2 ~@3 e2@8 ~@8", BB: "b1@5 ~@2 b1 ~@5 b1 ~@2 b1@8 ~@8", BC: "e2@4 ~@2 e2 ~@6 e2 ~@2 e2@8 ~@8",
  BD: "a2@5 ~@2 a2 ~@4 a2 ~@3 a2@8 ~@8", BE: "a2@4 ~@2 a2@2 ~@4 a2 ~@4 a2@8 ~@7", BF: "d2@10 ~@2 d2@4 f#2@11 ~ f#2@4",
  BG: "g2@26 ~@2 g2@3 ~", BH: "e2@11 ~ e2@4 a2@12 a2@3 ~", BI: "a2@11 ~ a2@4 d2@13 ~@3",
  BJ: "d2@12 d2@3 ~ f#2@11 ~ f#2@4", BK: "g2@28 ~ g2@3", BL: "e2@10 ~@2 e2@3 ~ a2@11 ~ a2@2 ~@2",
  BM: "a2@10 ~@2 a2@3 ~ d2@8 a2@8", BN: "[~ f#2@7 ~ f#2@3 d2@36 g2@16]/2", BO: "~ f#2@7 a#2@4 b2@20",
  BP: "[g2@16 a2@12 g2@8 a2@10 ~@2 d2@11 ~ d2@4]/2", BQ: "[f#2@13 ~ f#2@2 g2@19 ~ g2@8 e2@8 ~ e2@7 a2@15 ~@2 a2@19]/3",
  BR: "d2@2 ~@6 e2@4 f2@2 ~@2 f#2@10 ~ f#2@4 ~, ~ d2@10 ~@5", BS: "[~@3 e2@5 g2 ~@3 a2@16 a2@19 ~ d2@10 ~@2 d2@4]/2",
  BT: "[f#2@11 ~ f#2@4 g2@26 ~@2 g2@3 ~ e2@11 ~ e2@4]/2", BU: "a2@12 a2@3 ~ a2@11 ~ a2@4", BV: "d2@13 ~@3 d2@11 ~ d2@4",
  BW: "[~@3 e2@5 g2 ~@3 a2@16 a2@19 ~@17]/2",
})).s("gm_fretless_bass").gain(0.26)

// chords · string ensemble 1 · "Strings"
const string_ensemble_1 = note(`<
  A B@2 C@3 D@7 E F@4 G@8 H@2 I@7 J@7 K@2 L@6 M@6 N O@2 P Q@6 R S@3 T@8 U@2 V W@2 X@7 B@2 Y@8 Z@5 AA@6 AB
>`.pickRestart({
  A: "d4@16 c#4@15 ~, a3", B: "[e4@8 d4@8 g3@15 ~, b3]/2",
  C: "[d4@8 c#4@8 d4@15 c#4@16 ~ e4@12 d4@20 g3@16, a3@47 b3@49]/3",
  D: "[~@164 a4@4 d5@6 c#5@2 ~@20 g4@2 ~@2 g4@4 f#4@2 ~@2 f#4@2 g4@3 ~@2 g4@5 a4@2 ~@2, ~@15 a3@161 ~@48, ~@15 d4@123 ~@3 d4@36 ~@47, ~@111 e4@65 d5@24 ~@24]/7",
  E: "a4 b4 ~ b4@3 c#5 ~ c#5@6 b4 ~",
  F: "[b4@4 a4 ~ a4@6 g4@2 ~@2 g4@21 ~@11 c#5@4 b4@2 ~@2 b4@3 a4@2 ~ a4@6 g4@2 ~@2 g4@4 f#4@2 g4@6 f#4@4 g4@4 a4@2 b4@14 ~@3 g4@4 f#4@5 g4@4 a4@2 b4@2]/4",
  G: "[~@4 a4@4 g#4@4 a4@25 ~@2 a#4@8 b4@8 ~ d#4@4 e4@8 f#4@4 g4@4 b4@2 c#5@6 d5@4 b4@23 ~ [g4,d5]@3 ~ [g4,d5]@3 ~ [g4,d5]@2 ~@2 [g4,d5]@2 [e4,c#5]@16 ~@2 [b4,c#5]@3 ~ c#5@4 [a#4,d5]@4 [a#4,e5]@2 f#5@6 d5@3 ~ f#4@7 ~@9 d#4@4 e4@8 f#4@4 g4@4 b4@2 c#5@5 ~ d5@4 b4@23 ~ b4@4 c#5@7 ~ b4@4, ~@148 b4@3 ~@7 b4@9 b4@15 ~@74]/8", // G5 C#m Bsus2 A# A#dim
  H: "[~@4 a4@7 ~ a4@52]/2",
  I: "[~@4 [g4,a4,d5]@3 ~ a4 a4@2 ~@2 [f#4,a4,d5]@6 d5 [f#4,a4,d5]@2 ~@2 [f#4,a4,d5]@2 ~@2 [f#4,d5]@2 [f#4,a4,c#5]@5 a4 [f#4,a4,c#5]@3 ~ c#5 c#5@4 ~ [a4,c#5]!2 [b4,e5] [g4,b4,e5]@3 [b4,e5] [g4,b4]@2 ~ [g4,b4,e5]@3 ~ [b4,d5] [b4,d5]@7 g5@3 ~ [d5,g5]@3 ~ e5@4 [b4,e5]@4 [b4,d5] [g4,b4,d5] ~@2 [b4,d5]@4 ~ f#4 ~@6 [d5,f#5]@4 [d5,f#5]@3 ~ [a4,d5,f#5]@7 [g4,a4,c#5,e5]@3 ~ d#5 [g4,a4,d5]@3 ~ [f#4,a4,d5]@7 ~ [g4,a4,d5]@3 ~ g4 g4@2 ~ [f#4,a4,d5]@7 ~ [f#4,a4,d5]@2 ~@2 [f#4,a4,d5]@2 ~@2 [f#4,d5]@2 [f#4,a4,c#5]@5 ~ [f#4,a4,c#5]@2 ~@2 [f#4,a4,c#5]@5 ~ [a4,c#5] [f#4,c#5] [b4,e5] [g4,b4,e5]@3 [g4,b4,e5]@2 ~@2 [g4,b4,e5]@3 ~ [b4,d5]@8 [b4,d5,g5]@2 ~@2 [b4,d5,g5]@3 ~ [b4,e5,g5]@7 ~ [g4,b4,d5]@3 ~ [g4,b4,d5]@3 ~ [e4,a4,c#5]@4, ~@8 [g4,d5]@3 ~@17 a4 ~@11 [f#4,a4]@5 ~@2 f#4@2 ~@4 e5 ~@7 g4@10 ~@5 g5@9 ~@7 e4@4 ~@128, ~@76 b4 ~@11 g4@2 ~@2 [a4,c#5]@7 ~ a4@2 ~@2 a4 ~@31 [a4,d5]@3 ~@17 a4 ~ g4 ~@16 a4@2 ~@11 g4@5 ~@31]/7", // Gsus2 D F#m A E5 Em E5 G …
  J: "[~@4 [a4,d5,f#5]@3 a4 [a4,d5,f#5]@2 ~ f#5 [a4,d5,f#5]@6 ~ [g4,c#5,e5]@3 ~ [g4,a4,d5] [g4,a4,d5]@3 [f#4,d5] [f#4,a4,d5]@11 [f#4,a4] [d4,f#4,a4]@7 d4 [d4,f#4]@4 ~ [e4,f#4]@3 [f#4,a4]@3 ~ a4@18 ~ a4 a4@3 b4 b4@3 c5 c5@3 b4 b4@19 ~ [a#4,c#5]@4 ~@3 [c#5,e5] [c#5,e5]@3 ~ [d5,f#5]@11 ~ f#5@7 b4 ~@3 e5 e5@4 ~@3 e5 [a4,d5]@4 d5@11 c#5 c#5@6 ~@2 [g4,a4,d5] [g4,a4,d5]@2 [g4,a4,d5]@2 [g4,a4,d5]@2 ~ [f#4,a4] [f#4,a4,d5]@6 [f#4,a4,d5] [f#4,a4,d5]@3 ~ [f#4,a4,d5]@3 ~ [f#4,d5]@2 [f#4,a4,c#5]@5 ~ [f#4,a4,c#5]@2 ~@2 [f#4,a4,c#5]@5 ~ [f#4,a4,c#5]!2, ~@52 g4@3 ~@5 d5@52 ~@4 [b4,d5]@5 ~@15 d5@13 ~@3 f#5@5 ~@67, ~@143 g4@10 ~@3 e5@23 ~@8 d5@2 ~@35, ~@144 b4@15 ~ a4@19 ~@25 a4 ~@19]/7", // D C#dim Gsus2 D F#m D Esus2 F#m …
  K: "[b4 [g4,b4]@3 [g4,b4,e5]@3 ~ [g4,b4,e5]@3 ~ b4@4 b4@4 [d5,g5]@3 ~ [d5,g5]@3 ~ [e5,g5]@8 [g4,b4,d5]@3 ~ [g4,b4,d5]@3 ~@2 e4@5 ~@2 [a4,f#5]@3 ~ [a4,f#5]@3 ~ [a4,d5,f#5]@4, e5@3 ~@9 [g4,d5]@7 ~@9 b4@6 ~@10 [a4,c#5]@7 ~@13]/2", // G Em G5 Em G D G5 A
  L: "[~@4 [g4,c#5,e5]@2 ~@2 [g4,a4,d5]@2 ~@6 d4@16 c#4@15 ~ e4@16 d4@16 g3@30 ~@2 d4@8 c#4@8 d4@15 c#4@16 ~ e4@12 d4@20, ~@3 [f#4,a4]@9 ~@16 a3@12 ~@8, ~@12 d5@23 ~@157, ~@16 a3@32 b3@65 ~@46 b3@33]/6", // C#dim Gsus2 F#m
  M: "[g3@29 ~@151 a4@4 d5@6 c#5@2, ~@31 a3@161, ~@31 d4@123 ~@3 c#4@35, ~@127 e4@65]/6",
  N: "~@20 [g4,b4]@3 ~ [g4,b4]@4 [d#4,f#4]@2 ~@2, d5@3 ~", // G D#m
  O: "[[d#4,f#4]@2 [e4,g4]@3 ~@2 g4@5 [f#4,a4]@2 ~@2 [f#4,a4]@2 [g4,b4]@3 ~ [g4,b4]@6 [a4,c#5]@3 ~ c#5@12 [g4,b4]@2 ~@2 [g4,b4]@4 [f#4,a4] ~ [f#4,a4]@6 [e4,g4]@2 ~@2, ~@6 e4@5 ~@20 a4@13 ~@20]/2", // D#m Em F#m G A G F#m Em
  P: "[e4,g4]@21 ~@11", // Em
  Q: "[[a4,c#5]@4 [g4,b4]@3 ~ [g4,b4]@3 ~ f#4 ~ [f#4,a4]@6 [e4,g4]@2 ~@2 [e4,g4]@4 f#4@2 [e4,g4]@6 ~ d#4@3 g4@4 [f#4,a4]@2 g4@17 ~@2 e4@2 ~ d#4@4 [e4,g4]@4 a4@2 [g4,b4]@6 [f#4,a4]@4 [f4,g#4]@4 f#4@27 a#4@8 b4@8 ~ d#4@4 e4@8 f#4@4 g4@4 b4@2 c#5@6 d5@4 b4@23 ~, ~@11 a4@2 ~@11 d#4 ~@3 d#4 ~@7 f#4@4 e4@3 ~@3 b4@14 ~@3 g4@4 f#4@5 ~@4 f#4 ~@15 a4@25 ~@75]/6", // A G F#m Em F#m Em G F#m …
  R: "[g4,d5]@3 ~ [g4,d5]@3 ~ [g4,d5]@2 ~@2 [g4,d5]@2 [e4,c#5]@16 ~@2", // G5 C#m
  S: "[[b4,c#5]@3 ~ c#5@4 [a#4,d5]@4 [a#4,e5]@2 f#5@6 [f#4,d5]@3 ~ d4@11 ~@5 d#4@4 e4@8 f#4@4 g4@4 b4@2 c#5@5 ~ d5@4 b4@23 ~, ~@4 b4@3 ~@7 b4@9 b4@15 ~@58, ~@24 f#4@7 ~@65]/3", // Bsus2 A# A#dim D
  T: "[b4@4 c#5@7 ~ b4@8 a4@7 ~ a4@54 ~@2 [g4,a4,d5]@3 ~ a4 a4@2 ~@2 [f#4,a4,d5]@6 d5 [f#4,a4,d5]@2 ~@2 [f#4,a4,d5]@2 ~@2 [f#4,d5]@2 [f#4,a4,c#5]@5 a4 [f#4,a4,c#5]@3 ~ c#5 c#5@4 ~ [a4,c#5]!2 [b4,e5] [g4,b4,e5]@3 [b4,e5] [g4,b4]@2 ~ [g4,b4,e5]@3 ~ [b4,d5] [b4,d5]@7 g5@3 ~ [d5,g5]@3 ~ e5@4 [b4,e5]@4 [b4,d5] [g4,b4,d5] ~@2 [b4,d5]@4 ~ f#4 ~@6 [d5,f#5]@4 [d5,f#5]@3 ~ [a4,d5,f#5]@7 [g4,a4,c#5,e5]@3 ~ d#5 [g4,a4,d5]@3 ~ [f#4,a4,d5]@7 ~ [g4,a4,d5]@3 ~ g4 g4@2 ~ [f#4,a4,d5]@7 ~ [f#4,a4,d5]@2 ~@2 [f#4,a4,d5]@2 ~@2 [f#4,d5]@2 [f#4,a4,c#5]@5 ~ [f#4,a4,c#5]@2 ~@2 [f#4,a4,c#5]@5 ~ [a4,c#5] [f#4,a4,c#5], ~@88 [g4,d5]@3 ~@17 a4 ~@11 [f#4,a4]@5 ~@2 f#4@2 ~@4 e5 ~@7 g4@10 ~@5 g5@9 ~@7 e4@4 ~@80, ~@156 b4 ~@11 g4@2 ~@2 [a4,c#5]@7 ~ a4@2 ~@2 a4 ~@31 [a4,d5]@3 ~@17 a4 ~ g4 ~@17]/8", // Gsus2 D F#m A E5 Em E5 G …
  U: "[[b4,e5] [g4,b4,e5]@3 [g4,b4,e5]@2 ~@2 [g4,b4,e5]@3 ~ [b4,d5]@8 [b4,d5,g5]@2 ~@2 [b4,d5,g5]@3 ~ [b4,e5,g5]@7 ~ [g4,b4,d5]@3 ~ [g4,b4,d5]@3 ~ [e4,a4,c#5]@6 ~@2 [a4,d5,f#5]@3 a4 [a4,d5,f#5]@2 ~ f#5 [a4,d5,f#5]@4, ~@12 g4@5 ~@47]/2", // E5 Em Bm G Em G A D
  V: "~@3 [g4,c#5,e5]@3 ~ [g4,a4,d5] [g4,a4,d5]@3 [f#4,d5] [f#4,a4,d5]@11 [f#4,a4] [d4,f#4,a4]@7 d4", // C#dim Gsus2 D F#m D
  W: "[[d4,f#4]@4 ~ [e4,f#4]@3 [f#4,a4]@3 ~ a4@18 ~ a4 a4@3 b4 b4@3 c5 c5@3 b4 b4@19 ~, ~@4 g4@3 ~@5 d5@52]/2", // D Esus2 F#m
  X: "[[a#4,c#5]@4 ~@3 [c#5,e5] [c#5,e5]@3 ~ [d5,f#5]@11 ~ f#5@7 b4 ~@3 e5 e5@4 ~@3 e5 [a4,d5]@4 d5@11 c#5 c#5@6 ~@2 [g4,a4,d5] [g4,a4,d5]@2 [g4,a4,d5]@2 [g4,a4,d5]@2 ~ [f#4,a4] [f#4,a4,d5]@6 [f#4,a4,d5] [f#4,a4,d5]@3 ~ [f#4,a4,d5]@3 ~ [f#4,d5]@2 [f#4,a4,c#5]@5 ~ [f#4,a4,c#5]@2 ~@2 [f#4,a4,c#5]@5 ~ [f#4,a4,c#5]!2 b4 [g4,b4]@3 [g4,b4,e5]@3 ~ [g4,b4,e5]@3 ~ b4@4 b4@4 [d5,g5]@3 ~ [d5,g5]@3 ~ [e5,g5]@8 [g4,b4,d5]@3 ~ [g4,b4,d5]@3 ~@2 e4@5 ~@2 [a4,f#5]@3 ~ [a4,f#5]@3 ~ [a4,d5,f#5]@6 ~@2 [g4,c#5,e5]@2 ~@2 [g4,a4,d5]@2 ~@6 d4@15 ~ c#4@15 ~, ~@4 [b4,d5]@5 ~@15 d5@13 ~@3 f#5@5 ~@67 e5@3 ~@73 d5@23 ~@13, ~@31 g4@10 ~@3 e5@23 ~@8 d5@2 ~@63 b4@6 ~@10 [a4,c#5]@7 ~@29 a3@32, ~@32 b4@15 ~ a4@19 ~@25 a4 ~@31 [g4,d5]@7 ~@57 [f#4,a4]@36, ~@207 c#5@16 ~]/7", // A#m C#m D D5 Gsus2 F#m D F#m …
  Y: "[d4@8 c#4@8 d4@15 c#4@16 ~ e4@12 d4@20 g3@29 ~@23 [g4,a4,d5]@2 ~@3 [g4,a4,d5]@2 ~@2 [f#4,a4,d5]@6 d5 [f#4,a4]@4 [f#4,a4,d5]@3 ~ [f#4,d5]@2 [f#4,a4,c#5]@5 a4 [f#4,a4,c#5]@3 ~ c#5 c#5@4 ~ [a4,c#5]!2 [b4,e5] [g4,b4,e5]@3 [b4,e5] [g4,b4]@2 ~ [g4,b4,e5]@3 ~ [b4,d5] [b4,d5]@7 g5@3 ~ [d5,g5]@3 ~ e5@4 [b4,e5]@4 [b4,d5] [g4,b4,d5] ~@2 [b4,d5]@4 ~ f#4 ~@6 [d5,f#5]@4 [d5,f#5]@3 ~ [a4,d5,f#5]@7 [g4,a4,c#5,e5]@3 ~ d#5 [g4,a4,d5]@3 ~ [f#4,a4,d5]@4, a3@47 b3@64 a3@145, ~@111 d4@123 ~@22, ~@148 d5@2 ~@6 a4 ~@11 [f#4,a4]@5 ~@2 f#4@2 ~@4 e5 ~@7 g4@10 ~@5 g5@9 ~@7 e4@4 ~@32, ~@204 b4 ~@11 g4@2 ~@2 [a4,c#5]@7 ~ a4@2 ~@2 a4 ~@23]/8", // Gsus2 D F#m D F#m A E5 Em …
  Z: "[~@4 [g4,a4,d5]@3 ~ g4 g4@2 ~ [f#4,a4,d5]@7 [f#4,a4,d5] [f#4,a4,d5]@3 ~ [f#4,a4,d5]@3 ~ [f#4,d5]@2 [f#4,a4,c#5]@5 ~ [f#4,a4,c#5]@2 ~@2 [f#4,a4,c#5]@5 ~ [f#4,a4,c#5]!2 b4 [g4,b4]@3 [g4,b4,e5]@3 ~ [g4,b4,e5]@3 ~ b4@4 b4@4 [d5,g5]@3 ~ [d5,g5]@3 ~ [e5,g5]@8 [g4,b4,d5]@3 ~ [g4,b4,d5]@3 ~@2 e4@5 ~@2 [a4,f#5]@3 ~ [a4,f#5]@3 ~ [a4,d5,f#5]@6 ~@2 [g4,c#5,e5]@2 ~@2 [g4,a4,d5]@2 ~@6 d4@15 ~ c#4@15 ~, ~@8 [a4,d5]@3 ~@17 a4 ~@19 e5@3 ~@9 [g4,d5]@7 ~@9 b4@6 ~@10 [a4,c#5]@7 ~@25 [f#4,a4]@36, ~@124 d5@23 ~@13, ~@4 a3, ~@143 c#5@16 ~]/5", // Gsus2 D F#m G Em G5 Em G …
  AA: "[e4@16 d4@16 g3@30 ~@2 d4@8 c#4@8 d4@15 c#4@16 ~ e4@12 d4@20 g3@29 ~@2 [a3,d4] ~@16, b3@64 a3@47 b3@64 ~@17]/6", // D5
  AB: "~@4 [g4,a4,d5]@2 ~@3 [g4,a4,d5]@2 ~@2 [f#4,a4,d5]@14 ~@5", // Gsus2 D
})).s("gm_string_ensemble_1").gain(0.26)

// chords · synth strings 2 · "Synth Strings"
const synth_strings_2 = note("<~@19 A@3 B@7 ~@33 C@5 D@4 E@2 ~@39>".pickRestart({
  A: "[~@16 g4@31 d5@32 ~ g4@16, ~@16 b4@79 ~]/3",
  B: "[e4@16 b4@8 a#4@7 d5@17 g4@31 ~ d5@32 g4@32 d5@32 d5@3 ~@2 d5@10 d5@8 ~@25, ~@16 c#5@15 b4@112 ~ a4@56 ~@24]/7",
  C: "[~@31 a4@24 a#4@8 ~ g4@31 [f#4,d5]@33 ~@16 e4@16, ~@31 d4@96 ~ g4@32, ~@31 f#4@32 ~ b4@79 ~@17]/5", // D
  D: "[b4@8 a#4@7 d5@17 g4@31 ~ d5@32 g4@32, c#5@15 b4@112 ~]/4", E: "[d5@32 d5@3 ~@2 d5@10 d5@8 ~@9, a4@7 ~]/2",
})).s("gm_synth_strings_2").gain(0.2)

// chords · tremolo strings · "Tremolo String" · Dsus2 D5 Dsus2 D5 Dsus2 D Dsus2 A5 …
const tremolo_strings = note(`<
  ~@26
  [~@16 [d5,e5] ~@5 [d5,e5,a5]@2 ~@4 [d5,a5]@2 ~@2, ~@16 a5@2 ~@10 e5 ~@3]
  [~@3 [d5,e5,a5] ~ [d5,e5,a5] ~ [d5,e5,a5] ~ [d5,e5,a5] ~ [d5,e5,a5] ~@5 [d5,e5,a5] ~@4 e5 [d5,a5] ~@5 [d5,e5,a5] ~@2]
// … 34 more lines

More by ABBA