Strudelify

Pamela

Toto

KeyC majorTempo98 bpm
0:00/0:00
// Pamela — Toto
// 98 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 70, 4/4 at bar 71) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 134 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(98/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(`<
  ~ A B C D E F G H I J I J I J I J I J I K L M L N I J I J I J I K L M L N O P Q R S T U V I J I J I J I J I J I K L M
  L N O P Q R S T U V W X Y X Y Z AA X AB AC AD AE AF AG@3 AH AI AJ AK@2 AL AM AN AO AI AJ AP@2 AL AM AN AQ X Y X Y X Y
  X Y X Y X Y X Y X Y X Y X Y X Y X AR@8 ~
>`.pickRestart({
  A: "[c4,g4]@11 ~ [c4,f4]@5 ~ [a3,c4,e4]@5 ~", B: "d4@17 ~ c4@2 d4@2 e4 ~", C: "[g3,c4,f4]@23 ~",
  D: "[a3,c4,e4]@12 [c4,e4]@5 ~ [b3,d4]@6, d2 ~@11 g3@12", E: "[a3,c4,g4]@11 ~ [c4,f4]@5 ~ [a3,c4,e4]@5 ~",
  F: "d4@23 ~", G: "[a3,c4,f4]@8 ~ [a3,c4,f4]@3 [g3,c4,e4]@11 ~",
  H: "[f3,a3,d4]@12 [e2,g#3,c4,e4] ~ [e2,g#3,c4,e4] ~@9, d2 ~@23", // Dm Eaug
  I: "a1@2 [g3,a3,c4] ~@2 [g3,a3,c4,e4]@2 ~ [g3,a3,c4,e4] b1!3 c2@2 [g3,a3,c4] ~@2 [g3,a3,c4,e4]@2 ~ [g3,a3,c4,e4] d2!3", // Am7
  J: "e2@2 [g3,a3,c4] ~@2 [g3,a3,c4,e4]@2 ~ [g3,a3,c4,e4] f#2!3 g2@2 [g3,a3,c4,e4]@4 g#2@2 [g#3,c4,e4]@4", // Am7 G#aug
  K: "e2@2 [g3,a3,c4] ~@2 [g3,a3,c4,e4]@2 ~ [g3,a3,c4,e4] f#2!3 [g2,g3,b3,d4,e4]@5 ~ [a2,g3,c4,e4]@6", // Am7 Em7 Am7
  L: "[d2,g3,c4,e4]@2 f4 ~@6 d2!3 [f2,a3,c4,f4]@2 e4 ~@2 [g3,c4,e4]@6 ~, ~@5 [a3,c4,f4]@6 ~@13", // C F C F
  M: "[g2,g3,c4,e4]@2 [g3,d4] ~@3 g2@3 [g3,c4,e4] ~@5 [a2,g3,b3,d4,e4] ~@4 [a2,g3,c4,e4]@4, ~@5 [g3,b3,d4]@4 ~@15", // C G5 C Em7 Am7 G
  N: "[g3,c4,e4]@2 [g3,d4] ~@2 [g3,b3,d4]@5 f#2 f2 [e2,g#3,c4,e4]@12, g2@3 ~@5", // C G5 G Eaug
  O: "[c4,e4]@3 d4@2 e4@7 ~@3 g3@3 f3@3 e3@3, [a2,g3,a3]@12 [f2,a3,c4]@11 ~, ~@2 f3 ~", // C A7 F
  P: "[g2,d3,g3,c4,d4]@12 c4@6 b3@5 ~, ~ [e2,d4,g4]", Q: "g4@5 f4@6 ~ [d3,a3,c4,d4,f4]@11 ~, [f3,a3,c4]@11 ~@13",
  R: "[a#2,c4,d4,f4,a4]@4 ~ [a#2,c4,d4,f4,a#4] ~@3 [a#2,c4,d4,f4,a#4]@8 ~ [a2,c4]@6, ~@9 [f4,a4]@2 ~", // A#maj7 A# Am F
  S: "g3@8 ~ g3@3 f3@8 ~ f3@3, [a#3,d4,g4]@11 ~ [a3,a#3,d4,f4]@11 ~", // Gm A#maj7
  T: "e3@8 ~ e3@3 d#3@5 ~ d#3@6, [a#3,d4,e4,g4]@11 ~ [a#3,d#4,g4]@11 ~", // Em7b5 D#
  U: "[d3,a#3,d4,f4]@8 ~ [d3,a#3,d4,f4]@3 [g2,a#3,c4,f4]@5 ~ [g2,a#3,c4,f4]@6", // A# Gm7
  V: "[g#2,g#3,a#3,c4,d#4]@12 [g3,c4]@2 [f2,g3,c4,f4] ~@3 [g#3,c4]@2 [e2,g#3,c4,e4] ~@3, ~@12 [f2,f4] ~@5 [e2,e4] ~@5", // G# C5 Fsus2 G# Eaug F E
  W: "~@8 [g#4,c5,g5] ~@3 a1@2 [g3,a3,c4] ~@2 [g3,a3,c4,e4]@2 ~ [g3,a3,c4,e4] b1!3, ~@4 [e2,e5] ~@7", // G#maj7 Am7 E
  X: "c2@2 [g3,a3,c4] ~@2 [g3,a3,c4,e4]@2 ~ [g3,a3,c4,e4] d2!3 e2@2 [g3,a3,c4] ~@2 [g3,a3,c4,e4]@2 ~ [g3,a3,c4,e4] f#2!3", // Am7
  Y: "g2@2 [g3,a3,c4,e4]@4 g#2@2 [g#3,c4,e4]@4 a1@2 [g3,a3,c4] ~@2 [g3,a3,c4,e4]@2 ~ [g3,a3,c4,e4] b1!3", // Am7 G#aug Am7
  Z: "c2@2 [g3,a3,c4] ~@2 [g3,a3,c4,e4]@2 ~ [g3,a3,c4,e4] d2!3 e2@3 [g3,a3,c4,e4] ~ [g3,a3,c4,e4]@3 ~ f#2!3, ~@21 [g3,a3,c4,e4]@2 ~", // Am7
  AA: "[g2,g3,a3,c4,e4]@5 ~ [g#2,g#3,c4,e4]@6 a1@2 [g3,a3,c4] ~@2 [g3,a3,c4,e4]@2 ~ [g3,a3,c4,e4] b1!3", // Am7 G#aug Am7
  AB: "[g2,g3,b3,d4,e4]@5 ~ [a2,g3,c4,e4]@6 d2@3 ~@6 d2!3", AC: "f2@3 ~@9 g2@3 ~@3 g2@4 ~@2",
  AD: "~@3 a2 ~@4 a2@4 d2@3 ~@6 d2!3", AE: "f2@3 ~@9 g2@11 ~",
  AF: "[c4,e4]@5 g2 [b3,d4]@6 [a3,c4,g4]@11 ~, g3 ~, g2 ~@23", // C Bm Am7
  AG: "[[c4,f4]@5 ~ [a3,c4,e4]@5 ~@10 g6@5 ~ g6@9 [g3,a3,c4,f4]@23 ~ [f3,a3,c4,e4]@12, ~@12 d4@23 ~@25 d2 ~@11]/3", // F5 Am F Fmaj7
  AH: "[e2,g#3,c4,e4] ~ [e2,g#3,c4,e4] ~@9 [c4,e4]@3 d4@2 e4@7, ~ [a2,g3,a3]", // Eaug C A7
  AI: "~ g3 f3 e3 [g2,d3,g3,c4,d4]@4, [f2,a3,c4]@11 ~@13, f3 ~@3", // Gsus4 F
  AJ: "c4@6 b3@5 ~ g4@5 f4@6 ~, [e2,d4,g4]@12 [f3,a3,c4]@11 ~", // Em7 F
  AK: "[[d3,a3,c4,d4,f4]@11 ~ [a#2,c4,d4,f4,a4]@4 ~ [a#2,c4,d4,f4,a#4] ~@3 [a#2,c4,d4,f4,a#4]@8 ~ [a2,c4]@6 g3@8 ~ g3@3, ~@30 [f4,a4]@4 ~@2 [a#3,d4,g4]@11 ~]/2", // Dm7 A#maj7 A# Am F Gm
  AL: "f3@8 ~ f3@3 e3@8 ~ e3@3, [a3,a#3,d4,f4]@11 ~ [a#3,d4,e4,g4]@11 ~", // A#maj7 Em7b5
  AM: "d#3@5 ~ d#3@6 [d3,a#3,d4,f4]@8 ~ [d3,a#3,d4,f4]@3, [a#3,d#4,g4]@11 ~@13", // A# D#
  AN: "[g2,a#3,c4,f4]@5 ~ [g2,a#3,c4,f4]@6 [g#2,g#3,a#3,c4,d#4]@12", // Gm7 G#
  AO: "[g3,c4]@2 [f2,g3,c4,f4] ~@3 [g#3,c4]@2 [e2,g#3,c4,e4] ~@3 [c4,e4]@3 d4@2 e4@7, [f2,f4] ~@5 [e2,e4] ~@5 [a2,g3,a3]@12", // C5 Fsus2 G# Eaug C F E A7
  AP: "[e4@4 ~ d4@7 [a#2,c4,d4,f4,a4]@4 ~ [a#2,c4,d4,f4,a#4] ~@3 [a#2,c4,d4,f4,a#4]@8 ~ [a2,c4]@6 g3@8 ~ g3@3, [d3,a3,c4,f4]@11 ~@19 [f4,a4]@4 ~@2 [a#3,d4,g4]@11 ~]/2", // A#maj7 A# Am Dm7 F Gm
  AQ: "[g3,c4]@2 [f2,g3,c4,f4] ~@3 [g#3,c4]@2 [e2,g#3,c4,e4] ~@3 a1@2 [g3,a3,c4] ~@2 [g3,a3,c4,e4]@2 ~ [g3,a3,c4,e4] b1!3, [f2,f4] ~@5 [e2,e4] ~@17", // C5 Fsus2 G# Eaug Am7 F E
  AR: "[g2 [g3,a3,c4,e4]@2 g#2 [g#3,c4,e4]@92]/8", // Am7 G#aug
})).s("gm_piano").gain(0.4)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
  ~ A B C@2 D E F G H I H I H I H I H I J I K L K M H I H I H I J I K L K M ~@8 H I H I H I H I H I J I K L K M ~@8 N H
  N H N I N O ~@3 P Q R@2 S ~@16 N H N H N H N H N H N H N H N H N H N H N H N H ~@9
>`.pickRestart({
  A: "c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2 c3@2 ~ c3 ~@2 c3 ~@2, a3@11 ~ a3@5 ~@7",
  B: "c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2, [g3,b3]@17 ~@7", // G
  C: "[a2 ~@2 a2 ~@2 a2 ~@2 a2 ~@2 a2 ~@2 a2@2 ~ a2@5 ~@4 d2 ~@2 d2 ~@2 d2@2 ~ g2 ~@2 g2 ~@2 g2 ~@2 g2@2 ~, a3@23 f3@12 ~ f3@11 ~]/2",
  D: "c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2 c3@2 ~ c3 ~@2 c3 ~@2, ~@12 a3@5 ~@7",
  E: "c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2, [g3,b3]@23 ~", // G
  F: "f2 ~@2 f2 ~@2 f2 ~@2 f2 ~@2 e2 ~@2 e2@2 ~ e2 ~@2 e2 ~@2", G: "~@3 d2 ~@2 d2 ~@2 d2@2 ~@13",
  H: "~@2 e4 ~@11 e4 ~@9", I: "~@2 e4 ~@21", J: "~@2 e4 ~@11 e4 ~@3 g2 ~@5", K: "~@2 a3 ~@11 g3 ~@9", L: "~@2 b3 ~@21",
  M: "~@2 b3 ~@7 g2 ~@13", N: "~@14 e4 ~@9", O: "~@2 e4 ~@3 g2 ~@7 e4 ~@9", P: "~@15 d2 ~@2 d2 ~@2 d2@2 ~",
  Q: "~@3 g2 ~@2 g2 ~@2 g2@2 ~ c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2, f3@11 ~@13",
  R: "[c3 ~@2 c3@2 ~ c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2 d6@3 c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2 c3 ~@2 a2 ~@2 a2 ~@2 a2 ~@2 a2 ~@2, a3@5 ~@7 [g3,b3]@23 ~@13, ~@18 c3 ~@4 d6@4 ~@2 d6@7 ~@12]/2", // G
  S: "a2 ~@2 a2@2 ~ a2 ~@2 a2 ~@5 d2 ~@2 d2 ~@2 d2 ~@2",
})).s("gm_piano").gain(0.24)

// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
  ~ A@2 B C A@2 D E F G F G F G F H F G F I J K L M F G F G F G F I J N L M O P Q R S T U V F G F G F G F G F G F I J N
  L M O P Q R S T U V W X Y X Y X Y X Z AA AB AC AD A AE AF AG AH AI AJ AK AL AM AN AO AH AP AJ AQ AL AR AN AS X AT X Y
  X Y X Y X Y X Y X Y X Y X Y X Y X Y X AU ~@8
>`.pickRestart({
  A: "c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2",
  B: "a1 ~@2 a1 ~@2 a1 ~@2 a1 ~@2 a1 ~@2 a1 ~@2 a1 ~@2 a1 ~@2",
  C: "d2 ~@2 d2 ~@2 d2 ~@2 d2 ~@2 g2 ~@2 g2 ~@2 g2 ~@2 g2 ~@2",
  D: "f2 ~@2 f2 ~@2 f2 ~@2 f2@2 ~ e2 ~@2 e2 ~@2 e2 ~@2 e2 ~@2", E: "d2 ~@2 d2 ~@2 d2 ~@2 d2 ~@2 e2 ~ e2 ~@9",
  F: "a1@3 ~@6 b1 ~@2 c2@3 ~@6 d2 ~@2", G: "e2@3 ~@6 f#2 ~ f#2 g2@2 ~@4 g#2 ~@5",
  H: "e2@3 ~@6 f#2 ~ f#2 g2@3 ~@3 g#2 ~@5", I: "e2@3 ~@6 f#2 ~ f#2 g2@2 ~@4 a2@6", J: "d2@3 ~@6 d2 ~@2 f1@3 ~@9",
  K: "g1@6 g2@4 ~@5 a1@2 ~@3 a1@3 ~", L: "d2@3 ~@6 d2 ~@2 f2@6 ~@6", M: "g2@7 ~@2 g2 f#2 f2 e2@12",
  N: "g1@12 ~@3 a2@2 ~@3 a1@3 ~", O: "a1 ~@2 a1 ~@2 a1 ~@2 a1@2 ~ f2 ~@2 f2 ~@2 f2 ~@2 f2 ~@2",
  P: "g2 ~@2 g2 ~@2 g2 ~@2 g2 ~@2 e2 ~@2 e2 ~@2 e2 ~@2 e2 ~@2",
  Q: "f2 ~@2 f2 ~@2 f2 ~@2 f2@2 ~ d2 ~@2 d2 ~@2 d2 ~@2 d2 ~@2",
  R: "a#1 ~@2 a#1 ~@2 a#1 ~@2 a#1@2 ~ a#1@2 ~ a#1@2 ~ a1@5 ~",
  S: "g1 ~@2 g1 ~@2 g1 ~@2 g1@2 ~ f1 ~@2 f1 ~@2 f1 ~@2 f1 ~@2",
  T: "e1 ~@2 e1 ~@2 e1 ~@2 e1 ~@2 d#2 ~@2 d#2 ~@2 d#2@2 ~ d#2@2 ~",
  U: "d2 ~@2 d2 ~@2 d2 ~@2 d2@2 ~ g1 ~@2 g1 ~@2 g1 ~@2 g1 ~@2",
  V: "g#1 ~@2 g#1 ~@2 g#1 ~@2 g#1@2 ~ f1 ~ f1 ~@3 e1 ~ e1 ~@3", W: "~@8 g1@3 ~ a1@3 ~@6 b1 ~@2, ~@8 e2 ~@15",
  X: "c2@3 ~@6 d2 ~@2 e2@3 ~@6 f#2 ~ f#2", Y: "g2@2 ~@4 g#2 ~@5 a1@3 ~@6 b1 ~@2", Z: "g2@2 ~@4 a2@6 d2@3 ~@6 d2 ~@2",
  AA: "f1 ~@3 g1@4", AB: "~@3 a2@2 ~@3 a2@3 ~ d2@3 ~@6 d3 ~@2", AC: "f2@6 ~@6 g2@7 ~@5",
  AD: "g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2",
  AE: "c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 a1 ~@2 a1 ~@2 a1 ~@2 a1 ~@2",
  AF: "a1 ~@2 a1 ~@2 a1 ~@2 a1 ~@2 d2 ~@2 d2 ~@2 d2 ~@2 d2 ~@2", AG: "e2 ~ e2 ~@9 a2 ~@2 a2 ~@2 a2 ~@2 a2@2 ~",
  AH: "f2 ~@2 f2 ~@2 f2 ~@2 f2 ~@2 g2 ~@2 g2 ~@2 g2 ~@2 g2 ~@2",
  AI: "e2@2 e3 e2@2 ~ e2 ~@2 e2 ~@2 f2 ~@2 f2 ~@2 f2 ~@2 f2@2 ~",
  AJ: "d2 ~@2 d2 ~@2 d2 ~@2 d2 ~@2 a#1 ~@2 a#1 ~@2 a#1 ~@2 a#1@2 ~",
  AK: "a#1@2 a#2 a#1@2 a#2 a2@5 ~ g1 ~@2 g1 ~@2 g1 ~@2 g1@2 ~",
  AL: "f1 ~@2 f1 ~@2 f1 ~@2 f1 ~@2 e1 ~@2 e1 ~@2 e1 ~@2 e1 ~@2",
  AM: "d#1 ~@2 d#1 ~@2 d#1@2 ~ d#1@2 ~ d1 ~@2 d1 ~@2 d1 ~@2 d1@2 ~",
  AN: "g1 ~@2 g1 ~@2 g1 ~@2 g1 ~@2 g#1 ~@2 g#1 ~@2 g#1 ~@2 g#1@2 ~",
  AO: "f1 ~ f1 ~@3 e1 ~ e1 ~@3 a2 ~@2 a2 ~@2 a2 ~@2 a2@2 ~",
  AP: "e2 ~@2 e2 ~@2 e2 ~@2 e2 ~@2 f2 ~@2 f2 ~@2 f2 ~@2 f2@2 ~",
  AQ: "a#1@2 ~ a#1@2 d2 a2@5 ~ g1 ~@2 g1 ~@2 g1 ~@2 g1@2 ~",
  AR: "d#2 ~@2 d#2 ~@2 d#2@2 ~ d#2@2 ~ d2 ~@2 d2 ~@2 d2 ~@2 d2@2 ~", AS: "f1 ~ f1 ~@3 e1 ~ e1 ~@3 a1@3 ~@6 b1 ~@2",
  AT: "g2@2 ~@4 g#2@5 ~ a1@3 ~@6 b1 ~@2", AU: "g2@2 ~@4 g#2 ~@5 a1@3 ~@9",
})).s("gm_electric_bass_finger").gain(0.35)

// bass · electric bass finger · "FINGERDBAS" · soft notes
const bass_soft = note(`<
  ~@9 A B A B A B A B A B A B C ~ D ~ A B A B A B A B C E D ~@9 A B A B A B A B A B A B C E D ~@9 F G F G F G F G H I J
  K ~@20 F G F G F G F G F G F G F G F G F G F G F G F G ~@9
>`.pickRestart({
  A: "~@10 b1!2 ~@10 d2!2", B: "~@10 f#2 ~@13", C: "~@10 d2 f1 ~@11 f1", D: "~@10 d2!2 ~@11 f2", E: "~@14 a1 ~@9",
  F: "~@22 b1!2", G: "~@10 d2!2 ~@10 f#2 ~", H: "~@22 d2 f1", I: "~@11 f1 ~@12", J: "~@2 a1 ~@19 d3 d2",
  K: "~@11 f2 ~@12",
})).s("gm_electric_bass_finger").gain(0.2)

// chords · brass section · "BRASS 1"
const brass_section = note(`<
  ~@25 A ~@3 A ~@6 B ~@7 C ~@4 A ~ D E A ~ D E ~ F G H ~@7 C I J K L M ~@8 N O@2 P Q R S@5 T Q R S@5 U ~@3 V ~ W L X ~@3
  V ~@7 V ~@12
>`.pickRestart({
  A: "~@3 [a4,c5,e5,g5,a5]@2 ~@7", B: "~@12 [a3,a4] [g3,g4] [a3,a4] [c4,c5] [a3,a4] [c4,c5] [d4,d5]@2 [e4,e5]@4",
  C: "~@12 [f4,g4,a#4,c5] ~ [f4,g4,a#4,c5] ~@3 [e4,c5,d5,g5]@2 [e4,g#4,c5,d5,g5] ~@3, ~@18 g#4 ~@5", // Fsus4 C
  D: "g4@12 e4 ~@10 g4", E: "~@2 g4 ~@2 e4 ~@2 a4 ~@2 g4 ~@2 e4@4 d4@2 c4 d4@2 c4",
  F: "~@15 [b3,d4,g4] ~@4 [e4,g4,c5]@4", G: "f4 e4, [c4,a4]",
  H: "~@15 [e3,e4] [g3,g4] [a3,a4] [c4,c5] [d4,d5] [e4,e5] [g4,g5]@2 [a4,a5]", // E G A C D E G A
  I: "~@2 [g3,a3,g4,a4] [c4,c5] [d4,d#4,d5] d#5 ~ [c4,c5] ~@10 [a4,c5,e5,g5,a5]@4 ~@2, ~@3 [e4,e5] ~@8", // Gsus2 C D#maj7 C Am7 E
  J: "a4@6 g4 ~@2 f#4 g4@8 f#4 ~@2 e4@2 ~", K: "~@5 g4@3", L: "e4 ~@10 g4 ~@2 g4 ~@2 e4 ~@2 a4 ~@2 g4",
  M: "~@2 e4@4 d4@2 c4 d4@2 c4 ~@12", N: "~@3 b3", O: "[c4@3 d4@3 c4@17 ~]/2",
  P: "[e4,g#4,c5,d5,g5] ~ [e4,g#4,c5,d5,g5] ~@21", Q: "c5@12 b4@4 ~ c5@4 d5@3", R: "g4@2 ~ c4",
  S: "[g4@4 f4@4 ~ e4@3 f4@18 ~@6 [g4,a#4]@12 [f4,a4]@12 e4@12 [a#3,d#4]@12 a#3@3 a#4@3 ~@3 a#3 ~@2 c4@5 ~ a#3@6 c4@3 ~ c4@7 ~, ~@36 [a#3,d4]@36 ~@12 c4@12 ~@15 d4@2 ~@7, ~@60 g4@24 f4@24 d#4@11 ~]/5", // Gm F D#5 A#
  T: "[f4,g4,a#4,c5] ~ [f4,g4,a#4,c5] ~@3 [e4,c5,d5,g5]@2 [e4,g#4,c5,d5,g5] ~@15, ~@6 g#4 ~@17", // Fsus4 C
  U: "[f4,g4,a#4,c5] ~ [f4,g4,a#4,c5] ~@3 [e4,c5,d5,g5]@2 [e4,g#4,c5,d5,g5] ~@9 [a4,c5,e5,g5,a5]@4 ~@2, ~@6 g#4 ~@17", // Fsus4 C Am7
  V: "~@9 [a4,c5,e5,g5,a5]@2 ~", W: "~ g4", X: "~@2 e4@4 d4@2 c4 d4@2 c4 ~@6 [a4,c5,e5,g5,a5]@4 ~@2",
})).s("gm_brass_section").gain(0.56)

// chords · synth brass 1 · "SYNBRASS 1"
const synth_brass_1 = note("<~@27 A@2 ~@2 A@2 ~@36 B C D ~ E F G@3 H I J K ~@23 L ~@3 L ~@3 L ~@20>".pickRestart({
  A: "[~ f#5 g5@4 [b4,d5,f#5] ~@2 [a4,c5,e5] ~@2 [a4,d5,f#5]@5 [g4,c5,e5] ~@2 [f#4,a4,d5] ~@2 [f#4,a4,d5]@3 [f#4,g4,a4,a#4,d5,d#5] [e4,g4,c5] ~@20, ~ [c5,e5]@4 ~@43]/2", // Bm Am D C D D#maj7 C
  B: "~@13 f#5 g5@4 [b4,d5,f#5] ~@2 [a4,c5,e5] ~@2, ~@13 [c5,e5]@4 ~@7", // Bm Am C
  C: "[a4,d5,f#5]@6 [a4,c5,e5] ~@2 [f#4,a4,d5] [g4,c5,e5]@7 ~ [f#4,a4,d5] ~@2 [e4,g4,c5] [f#4,a4,d5]@2, ~@22 c5 ~", // D Am D C D C D
  D: "~@2 [g4,c5] [a4,d5] ~@2 [f#4,a4,d5]@2 [e4,g4,c5] [e4,f#4,a4] [f#4,a4,d5]@3 ~ [f#4,g4,a4,a#4,d5,d#5] [e4,g4,c5] ~@8, ~@3 f#4@2 [g4,c5,e5]@2 ~@17", // C5 D5 D C F#m7 D D#maj7 C
  E: "~@9 a5 c6 d6 e6 c6 d6 a5 [g5,e6] c6 b5 g5 e5 d5 a5 g5", // C
  F: "e5 d5 c5 e5 d5 c5 a4!2 c5 a4 c5 d5 e5 ~@2 d5@4 ~@2 [d6,d#6,e6] ~@2, ~@15 c5 ~@8",
  G: "[[c6,c#6] ~@7 c6 d6 ~ d#6 ~@2 d#6 d6 [a5,c6] d#5 d5 [a4,c5] ~@3 d#5 d5 ~@4 e5@2 ~@2 [a3,d4]@5 [d4,g4] [e4,a4]@5 [g4,c5] [a4,d5]@5 [d5,g5] [e5,a5]@5 ~@4 [g3,c4,e4]@2 f4 ~@2 [a3,c4,f4]@6 ~, d6@6 ~@5 [e6,g6]@5 ~ [e6,g6]@5 ~ [e6,g6]@5 ~@44, ~@17 e5@2 ~@4 e5@2 ~@8 [g3,c4] ~@38]/3", // C#maj7 Am D5 G5 A5 C5 D5 G5 …
  H: "[a3,c4,f4]@2 e4 ~@2 [g3,c4,e4]@6 ~ [g3,c4,e4]@2 [g3,d4] ~@2 [g3,b3,d4]@4 [g3,c4,e4] ~@2", // F C G5 G C
  I: "~@3 [g3,b3,d4,e4] ~@4 [g3,c4,e4]@3 ~ [g3,c4,e4]@2 f4 ~@2 [a3,c4,f4]@6 ~", // Em7 C F
  J: "[a3,c4,f4]@2 e4 ~@2 [g3,c4,e4]@6 ~ [g3,c4,e4]@2 [g3,d4] ~@2 [g3,b3,d4]@4 [a3,c4]@3", // F C G5 G Am
  K: "[g3,c4,e4]@4 ~ [g3,b3,d4]@7 ~@12", L: "[c6,e6,g6,a6] ~",
})).s("gm_synth_brass_1").gain(0.36)

// chords · synth brass 1 · "SYNBRASS 1" · soft notes
const synth_brass_1_soft = note("<~@71 A ~@3 B C D E D F ~@53>".pickRestart({
  A: "~@2 e4 ~@6 c4 ~@14", B: "~@20 d#6 d6 [a5,c6] ~", C: "~ [a4,c5] d#6 d6 [a5,c6] d#5 d5 [a4,c5] ~@16",
  D: "~@14 a3 ~@9", E: "~@2 g3 ~@11 b3 ~@9", F: "~@2 g3 ~@11 b3 ~@6 g3@3",
})).s("gm_synth_brass_1").gain(0.18)

// chords · distortion guitar · "DISTORTION"
const distortion_guitar = note(`<
  ~@5 A B ~@14 C D C E ~@3 F@2 ~@2 G C D C H I J K@2 L@2 M N O P Q ~@9 C D C H I J K@2 L@2 M N R S@2 T ~@4 U@2 V@2 W@2
  ~@2 X Y Z@5 AA AB Y Z@5 AA AC ~@4 AD@2 ~@2 AE AF ~@3 AG@2 AH ~@2 AI AJ@2 ~ AK ~@9
>`.pickRestart({
  A: "~@12 f4@6 e4@5 [e4,f4], ~@12 e4 ~@11", B: "d4",
  C: "~@5 [a3,c4] [a3,c4]@3 d#4 f#3 ~@6 [g3,c4] [g3,c4]@3 d4 e3 ~, ~@5 f4@5 ~@7 e4@5 ~@2", // Am C5
  D: "~@5 [b3,d4] [b3,d4]@3 [f4,c#5] g#3 ~@13, ~@5 [g4,d5]@5 ~@14", // Bm C# G5
  E: "~@5 [b3,d4] [b3,d4]@3 f4 g#3 ~@7 [g#5,c6,e6]@6, ~@5 g4@5 ~ [g#3,c4,e4]@12 ~, ~ e3", // Bm G#aug
  F: "[~@8 g3 a3 ~ g3 c4 ~ g3 d4 ~ g3 d4 ~ g3 c4@2 a3@7 ~@18]/2",
  G: "a#4@10 g#4 e4 a#4 ~ a4@7 [e4,f4,g4] [b3,c4,d4] [g3,a3]", // Em Bm Gsus2
  H: "~@5 [b3,d4] [b3,d4]@3 f4 g#3 ~ e3@12, ~@5 g4@5 ~ [g#3,c4,e4]@12 ~", I: "a2@12 g4@5 f4@4 e4@2 [e4,f4]",
  J: "d4@10 c#4 c4 a#3@6 a3@5 [b3,c4], ~@12 b3 ~@11", K: "[a3@20 ~ [d3,g3]@2 ~ d3@22 b2 [a2,a#2], ~@23 f3@2 ~@23]/2",
  L: "[g2@9 a3@7 a#3 g3@3 ~ g3@2 ~ e3@9 f3 ~@2 [a#2,d#3]@12, ~@17 a3 ~@5 f3@2 ~@9 g3@14]/2", // D#5
  M: "f3@2 ~ [a#3,c4,f4]@3 f3 ~@2 f3 ~@2 [c4,f4]@3 f3 ~@2 [a#3,f4]@3 ~@2 e3, ~@18 f3@5 ~", // A#sus2 F5 A#5
  N: "[d#3,g#3]@3 [f3,a#3]@2 [d#3,g#3]@4 ~@5 [a#3,c4,f4]@2 ~@4 [g#3,c4,e4]@2 ~@2, ~@3 c4@5 ~@16", O: "~@12 g4 d4@10 ~",
  P: "c4@2 d4 a3@18 [g3,g#3] [e3,f3,f#3] [c#3,d3,d#3]", Q: "[a#2,b2,c3] a2 ~@22", R: "~@4 [c4,e4,g4] ~@7",
  S: "[~@22 d5@4 c5 d5@2 ~ d5@2 c5 a4@2 d5@3 [d5,d#5] c5 ~@4 e4 a4@2 e4, ~@29 e5@2 ~@17]/2", // D#maj7
  T: "a4@2 a4@3 [e4,f4,f#4,g#4] [b3,c4,d4] ~@17", // Bm
  U: "[~@6 [a3,c#4,f4] [a#3,d4,d#4,g4] ~ [c4,c#4] d4 [d#4,f#4,g4,b4] g5@14 f5 ~ e5 ~ d5 ~ c5 e5 d5 c5 ~ d5 ~ c5 b4 ~ g4@2 ~ b4 [b4,c5] c5, ~@4 [b3,e4,a4] ~@13 b4 ~@3 a4 ~]/2", // Aaug D#maj7 C#maj7 B Cmaj7 Esus4
  V: "[[g4,a4] b4 [b4,c5] [g4,a4] [e4,f4,f#4] d#4 g#4 a4 [e4,f#4] d4 [b3,c4] c4 d4@6 g4@2 a4 g4@2 d4@5 [a3,c4] ~ d4 d4@6 ~ d4@4 f4@6, ~@12 c#4 ~@18 c4 ~@16]/2", // Gsus2 Cmaj7 Gsus2 Esus2 Cmaj7 Am
  W: "[a#4@4 d5@2 e5@2 f5@2 g5@2 g5@35 ~]/2", X: "~ a2", Y: "g4@5 f4@4 e4@2 [e4,f4] d4@10 c#4 c4",
  Z: "[a#3@6 a3@5 [b3,c4] a3@20 ~ [d3,g3]@2 ~ d3@22 b2 [a2,a#2] g2@9 a3@8 a#3 g3@3 f3@3 e3@9 f3 ~@2 [a#2,d#3]@12 f3@2 ~ [a#3,c4,f4]@3 f3 ~@2 f3 ~@2, b3 ~@34 f3@2 ~@57 g3@14 ~@12]/5", // Cmaj7 G5 A#maj7 D#5 A#sus2
  AA: "[c4,f4]@3 f3 ~@2 [a#3,f4]@3 ~@2 e3 [d#3,g#3]@3 [f3,a#3]@2 [d#3,g#3]@4 ~@3, ~@6 f3@5 ~@4 c4@5 ~@4", // F5 A#5 G#5 A#5 G#5
  AB: "~ [a#3,c4,f4] ~@2 [g#3,c4,e4] ~ a2@6", AC: "~ [a#3,c4,f4] ~@2 [g#3,c4,e4] ~@7",
  AD: "[~@6 a2@2 c3@2 d3@2 a#3@2 g3@2 a3@19 ~@13]/2", AE: "g4@6 g4@2 e4 c4@2 d4 a3@5 g#3 [f#3,g3] f3 a3 e4 a4 [e4,g4]",
  AF: "d5 ~", AG: "[~@20 e4@2 g4 ~ [a#3,a#4,f5]@10 ~@2 g#4@2 d5@2 g5@2 d5@2 a#5@2 d5@2, ~@23 e4@2 ~@10 e4@2 ~@11]/2",
  AH: "d6@4 ~ c6@7 ~@12", AI: "~@14 d5@3 c5 a5@2 d5@3 c5",
  AJ: "[g5@2 d5@3 c5 d5@4 ~ d5@4 c5@2 ~ a4@11 [e4,f4,f#4,g4] [a3,b3,c4,d4] ~@17]/2", AK: "~@11 [c5,g5]@2 ~@11",
})).s("gm_distortion_guitar").gain(0.4).pan(0.8)

// chords · distortion guitar · "DISTORTION" · soft notes
const distortion_guitar_soft = note(`<
  ~@21 A B A C ~@8 D B A C ~@3 E ~@2 F ~@13 A B A C ~@3 E ~@2 F ~@9 G ~@11 H ~@2 I ~@4 H ~@2 I ~@33
>`.pickRestart({
// … 221 more lines

More by Toto