Strudelify
Mad Man Moon cover art

1976 · A Trick of the Tail

Mad Man Moon

Genesis

KeyG majorTempo43 bpm
0:00/0:00
// Mad Man Moon — Genesis
// 43 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 3/4 at bar 3, 4/4 at bar 3, 3/4 at bar 4, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 82 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(43/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 · string ensemble 2 · "CH1"
const string_ensemble_2 = note("<~@3 A@6 B@8 C D@6 E@4 ~@30 F@5 G H I@5 J@6 K ~@5>".pickRestart({
  A: "[~@7 f#4@4 e4@4 e4@4 d4@4 [c#4,e4,a4]@6 [d#4,f#4,a4]@2 f#4@4 e4@4 f#4@4 e4@4 e4@4 d4@4 [g3,d4]@16 [a4,f#5]@4 [g4,e5]@4 [g4,d5]@4 [a4,c#5]@4 [a4,f#5]@4 [g4,e5]@4 [g4,d5], ~@7 [g4,b4,d5]@8 [f#4,a4]@8 ~@8 [g#4,b4]@8 [g4,b4]@8 [f#4,a4]@8 ~@41]/6", // A D#dim G5 D C G5 A D …
  B: "[~@3 [a4,c#5]@4 [e4,c5]@4 ~@4 g#4@8 [b3,e4,g4]@8 [b3,d4,f#4]@8 [c4,e4,g4]@12 [d4,f#4]@4 f#4@4 e4@4 e4@4 d4@4 [c#4,e4,a4]@6 [d#4,f#4,a4]@2 f#4@4 e4@4 f#4@4 e4@4 e4@4 d4@4 [g3,d4]@16 [a4,f#5]@4 [g4,e5]@4 [g4,d5], ~@11 [f4,d5]@12 ~@32 [g4,b4,d5]@8 [f#4,a4]@8 ~@8 [g#4,b4]@8 [g4,b4]@8 [f#4,a4]@8 ~@25]/8", // A C Em Bm C D A D#dim …
  C: "~@3 [a4,c#5]@4 [a4,f#5]@4 [g4,e5]@4 [g4,d5]", // A D C G5
  D: "[~@6 [a4,c#5]@8 [e4,c5]@8 ~@8 g#4@16 [b3,e4,g4]@16 [b3,d4,f#4]@16 [c4,e4,g4]@24 d4@3 e4@3 f#4@2 g#4@16 c#5@16 ~@16 [f4,a4]@8 [e4,g4]@8 [d4,f#4,a4]@8 [f4,a#4,d5]@8 [f4,a4,c5]@2, ~@11 [f4,d5]@12 ~@40 a4@16 ~@17, ~@71 c5@16 ~@9]/6", // A C Em Bm C F Em D …
  E: "[~@3 [g#4,b4]@4 a#4@8 [f4,a4,c5,f5]@8 [g4,b4]@4 [f#4,a4]@4 [c#4,e4,g#4,b4,e5]@4 [d4,f#4]@4 [e4,g#4]@8 [c#4,e4]@4 [d4,f#4]@4 [e4,g#4]@8 ~, ~@3 [f4,d5]@12 ~@8 d5@8 ~@33]/4", // G#m F G F#m C#m7 D E C#m …
  F: "[~@25 f#4@8 e4@8 e4@8 d4@8 [c#4,e4,a4]@12 [d#4,f#4,a4]@4 f#4@8 e4@8 f#4@8 e4@8 e4@8 d4@8 [g3,d4]@32 [a4,f#5]@7, ~@25 [g4,b4,d5]@16 [f#4,a4]@16 ~@16 [g#4,b4]@16 [g4,b4]@16 [f#4,a4]@16 ~@39]/5", // A D#dim G5 D G F#m G#m G …
  G: "~ [g4,e5]@8 [g4,d5]@8 [a4,c#5]@8 [a4,f#5]@7", H: "~ [g4,e5]@8 [g4,d5]@8 [a4,c#5]@8 [e4,c5]@7",
  I: "[~@9 g#4@16 [b3,e4,g4]@16 [b3,d4,f#4]@16 [c4,e4,g4]@24 [d4,f#4]@8 g#4@16 c#5@16 ~@16 [f4,a4]@8 [e4,g4]@8 [d4,f#4,a4]@7, ~ [f4,d5]@24 ~@80 a4@32 ~@23, ~@121 c5@32 ~@7]/5", // Em Bm C D F Em D Dm
  J: "[~ [f4,a#4,d5]@8 [f4,a4,c5]@8 [g#4,b4]@8 a#4@16 [f4,a4,c5,f5]@16 [g4,b4]@8 [f#4,a4]@8 [c#4,e4,g#4,b4,e5]@8 [d4,f#4]@8 [e4,g#4]@16 [c#4,e4]@8 [d4,f#4]@8 [e4,g#4]@16 [c4,e4]@8 [d4,f#4]@8 [e4,g4]@17 ~ [c4,e4]@9 ~ [d4,f#4]@10 ~, ~@17 [f4,d5]@24 ~@16 d5@16 ~@119]/6", // A# F G#m F G F#m C#m7 D …
  K: "[e4,g4]@25 ~@7", // Em
})).s("gm_string_ensemble_2").gain(0.08)

// other · woodblock · "CH1"
const woodblock = note("<~@27 A B C D E F G ~@48>".pickRestart({
  A: "~@31 c#5", B: "c#5!2 ~@2 d#5 ~@2 f#5 ~@2 c#5!2 ~@2 d#5 ~@3 f#5 ~@2 c#5!2 ~@2 d#5 ~@2 f#5 ~@2 c#5",
  C: "c#5!2 ~@2 d#5 ~@2 f#5 ~@2 c#5!3 ~@2 d#5 ~@2 f#5 ~@2 c#5!2 ~@2 d#5 ~@3 f#5 ~@2",
  D: "c#5!2 ~@2 d#5 ~@2 f#5 ~@2 c#5!3 ~@2 d#5 ~@2 f#5 ~@2 e5!3 ~@2 f#5 ~@2 g#5 ~@2",
  E: "e5!2 ~@2 f#5 ~@3 g#5 ~@2 e5!2 ~@2 f#5 ~@2 g#5 ~@2 e5!3 ~@2 f#5 ~@2 g#5 ~@2",
  F: "~@6 a5!3 ~@2 c6 ~@2 c6 ~@2 a5!3 ~@2 c6 ~@2 c6 ~@2 a5!2 ~@2", G: "c6 ~@2 c6 ~@2 a5!3 ~@2 c6 ~@2 c6 ~@17",
})).s("gm_woodblock").gain(0.2)

// other · lead 8 bass lead · "CH1"
const lead_8_bass_lead = note("<~@35 A B C D E F G H I J K L M N O P Q ~@30>".pickRestart({
  A: "~@5 g#5 f5 [g#4,c#5] [c#5,f5] [f5,g#5] [c#5,a#5] [c#5,f#5] [a#4,c#5] f#5 [f#5,a#5] [c#5,g#5] [c#5,f5] [g#4,c#5] [f5,g#5] [c#5,f5] [f#5,b5] d#5 [b4,d#5] [f#5,a#5] [d#5,f#5] [f5,g#5] [g#4,c#5] [c#5,f5] g#5 [c#5,f5] [f#5,a#5] [a#4,c#5]", // C#5 C# Fm F# F#5 A#m F# C#5 …
  B: "[c#5,f#5] [f#5,a#5] [c#5,g#5] [c#5,f5] g#4 [c#5,f5] [f5,g#5] [c#5,b5] [d#5,f#5] [b4,d#5] [f#5,a#5] f#5 [d#5,g#5] [c#5,f5] [g#4,c#5] [f5,g#5] [c#5,f5] [f#5,a5] [a4,c#5] c#5 [b4,f#5] [d#5,f#5] [f5,g#5] [g#4,c#5] [c#5,f5] [f5,g#5] c#5 [f#5,a5] [a4,c#5] [c#5,f#5] [b4,d#5] [e5,f#5]", // F#5 F# C#5 C# Fm C#7 D#m B …
  C: "[a4,c#5] e4 [a4,c#5] [d#4,f#4] [b4,e5] [a4,c#5] [e4,a4] [d#4,c#5] [f#4,b4] d#5 [b4,d#5] [f#4,b4] [d#4,f#4] [b4,d#5]!2 [d#4,f#4] f#4 [b4,d#5] [f#4,b4] [b4,d#5] [d#4,f#4] [f#4,b4] [b4,d#5] [f#4,d#5] b4 [d#4,f#4] [f#4,b4] [b4,d#5] [f#4,d#5] [a4,c#5] [f#4,a4] c#5", // A D#m E5 A A5 D#7 B5 B …
  D: "[c#5,d#5] [a4,d#5] [a4,c#5] [f#4,a4] [c#5,d#5] [a4,c#5] [c#5,d#5] a4 [f#4,a4] [c#5,d#5] [a4,c#5] [c#5,d#5] [f#4,a4] [a4,c#5] d#5 [a4,c#5] [c#5,d#5] [f#4,a4] [a4,c#5] [c#5,d#5] [a4,d#5] [a4,c#5] f#4 [a4,c#5] [c#5,d#5] [a4,d#5] [f#4,b4] [d#4,f#4] [b4,d#5] b4 [f#4,d#5] [f#4,b4]", // C#sus2 Adim A F#m C#sus2 A C#sus2 F#m …
  E: "[d#4,f#4] [b4,d#5] [f#4,b4] [g#4,c#5] [c#4,f4] f4 [g#4,c#5] [f4,g#4] [g#4,c#5] [c#4,f4] [f4,g#4] [g#4,c#5] f4 [g#4,c#5] [c#4,f4] [f4,g#4] [g#4,c#5] [f4,c#5] [e4,g#4] [c#4,e4] g#4 [g#4,c#5] [e4,c#5] [e4,g#4] [c#4,e4] [g#4,c#5] [e4,g#4] c#5 [e4,g#4] [c#4,e4] [g#4,c#5] [e4,g#4]", // D#m B B5 C#5 C# C#5 Fm C#5 …
  F: "[g#4,c#5] [c#4,e4] e4 [g#4,c#5] [e4,g#4] [a4,d5] f#4 [d4,f#4] [a4,d5] [f#4,a4] c#5 [f#4,a4] [c#4,f#4] a4 [a4,c#5] [f#4,c#5] [f#4,a4] c#4 [f#4,a4] [a4,c#5] [f#4,c#5] a4 [c#4,f#4] [f#4,a4] c#5 [f#4,a4] [a4,d5] [d4,f#4] f#4 [a4,d5] [f#4,a4] [a4,c#5]", // C#5 C#m C#5 E D5 D D5 F#m …
  G: "f#4 [c#4,f#4] [a4,c#5] a4 [f#4,d5] [f#4,a4] [d4,f#4] a4 [a4,d5] [f#4,d5] [g#4,b4] e4 [g#4,b4] [b4,d5] g#4 [b4,d5] [e4,g#4] [g#4,b4] d5 [g#4,b4] [b4,c#5] [f4,g#4] g#4 [b4,c#5] [g#4,b4] c#5 [g#4,b4] [f4,g#4] [b4,c#5] b4 [g#4,c#5] [g#4,b4]", // F#5 A D F#m D D5 D G#m …
  H: "[f4,g#4] b4 [b4,c#5] [g#4,c#5] b4 [f4,g#4] [g#4,b4] [b4,c#5] g#4 [b4,d#5]!2 [d#4,f#4] [f#4,b4] [b4,d#5] [f#4,b4] [d#4,f#4] [b4,d#5] b4 [f#4,d#5] [f#4,b4] [d#4,f#4] [b4,d#5] [f#4,b4] [b4,d#5] [d#4,f#4] [f#4,b4] [b4,d#5] [f#4,d#5] [a4,c#5] f#4 [a4,c#5] [c#5,d#5]", // Fm Bsus2 C#5 Fm G#m Bsus2 B D#m …
  I: "[a4,d#5] [a4,c#5] [f#4,a4] [c#5,d#5] [a4,c#5] [c#5,d#5] [f#4,a4] [a4,c#5] [c#5,d#5] a4 [c#5,d#5] [f#4,a4] [a4,c#5] [c#5,d#5] [a4,d#5] [a4,c#5] [f#4,a4] [c#5,d#5] [a4,c#5] [c#5,d#5] [f#4,a4] [a4,c#5] d#5 [a4,c#5] [b4,d#5] [d#4,f#4] [f#4,b4] [b4,d#5] [f#4,d#5] [f#4,b4] [d#4,f#4] [b4,d#5]", // Adim A F#m C#sus2 A C#sus2 F#m A …
  J: "[f#4,b4] [g#4,c#5] f4 [c#4,f4] [g#4,c#5] [f4,g#4] [g#4,c#5] [c#4,f4] [f4,g#4] [g#4,c#5] [f4,c#5] [f4,g#4] [c#4,f4] [g#4,c#5] g#4 [f4,c#5] [e4,g#4] [c#4,e4] [g#4,c#5] [e4,g#4] [g#4,c#5] [c#4,e4] [e4,g#4] [g#4,c#5] [e4,c#5] [e4,g#4] c#4 [e4,g#4] [g#4,c#5] [e4,c#5] [e4,g#4] [c#4,e4]", // B5 C#5 C# C#5 Fm C#5 C# Fm …
  K: "[g#4,c#5] [e4,g#4] d5 [f#4,a4] [d4,f#4] a4 [a4,d5] [f#4,c#5] [f#4,a4] c#4 [f#4,a4] [a4,c#5] [f#4,c#5] a4 [c#4,f#4] [f#4,a4] c#5 [f#4,a4] [a4,c#5] [c#4,f#4] f#4 [a4,c#5] [f#4,a4] [a4,d5] f#4 [d4,f#4] [a4,d5] a4 [f#4,c#5] [f#4,a4] [c#4,f#4] a4", // C#5 E F#m D D5 F#5 F#m A …
  L: "[a4,c#5] [f#4,d5] [f#4,a4] d4 [f#4,a4] [a4,d5] f#4 [b4,d5] [e4,g#4] [g#4,b4] d5 [g#4,b4] [b4,d5] [e4,g#4] g#4 [b4,d5] [g#4,b4] c#5 [g#4,b4] [f4,g#4] [b4,c#5] b4 [g#4,c#5] [g#4,b4] [f4,g#4] b4 [b4,c#5] [g#4,c#5] [g#4,b4] [f4,g#4] [b4,c#5] b4", // A D F#m D5 Bm E G#m Bm …
  M: "[g#4,c#5] [g#4,b4] [f4,g#4] [b4,c#5] [g#4,b4] [a4,c#5] [d4,f#4] [f#4,a4] [a4,c#5] [f#4,c#5] [f#4,a4] [d4,f#4] [a4,c#5] [f#4,a4] c#5 [f#4,a4] [d4,f#4] [a4,c#5] [f#4,a4] [a4,c#5] [d4,f#4] [f#4,a4] [a4,c#5] [f#4,c#5] [f#4,a4] [e4,f#4] [a4,c#5] [f#4,a4] [a4,c#5] [e4,f#4] f#4 [a4,c#5]", // C#5 G#m Fm Bsus2 G#m A D F#m …
  N: "[f#4,a4] [a4,c#5] [e4,f#4] [f#4,a4] [a4,c#5] [f#4,c#5] [f#4,a4] [e4,f#4] [a4,c#5] [f#4,a4] [a4,c#5] [e4,f#4] [f#4,a4] [a4,c#5] f#4 [a4,c#5] [e4,f#4] [f#4,a4] [a4,c#5] [f#4,c#5] [f#4,a4] [d#4,f#4] [a4,c#5] [f#4,a4] [a4,c#5] [d#4,f#4] [f#4,a4] [a4,c#5] [f#4,c#5] g#4 [c#4,f4] [f4,g#4]", // F#m A Esus2 F#m A F#5 F#m Esus2 …
  O: "[g#4,c#5] [f4,c#5] [f4,g#4] [c#4,f4] [g#4,c#5] [f4,g#4] [a#4,c#5] [c#4,f#4] [f#4,a#4] [a#4,c#5] [f#4,c#5] [f#4,a#4] [c#4,f#4] a#4 [a#4,c#5] [f#4,c#5] [f4,g#4] [c#4,f4] [g#4,c#5] [f4,g#4] [g#4,c#5] [c#4,f4] [f4,g#4] [g#4,c#5] [f4,c#5] [f#4,a#4] [c#4,f#4] [a#4,c#5] [f#4,a#4] c#5 [f#4,a#4] [c#4,f#4]", // C#5 C# Fm C# C#5 Fm A#m F#5 …
  P: "[a#4,c#5] [f#4,a#4] [g#4,c#5] [c#4,f4] [f4,g#4] [g#4,c#5] [f4,c#5] [f4,g#4] [c#4,f4] [g#4,c#5] [f4,g#4] [a#4,c#5] f#4 [c#4,f#4] [a#4,c#5] [f#4,a#4] [a#4,c#5] [c#4,f#4] [f#4,a#4] [a#4,c#5] [f#4,c#5] [f#4,a#4] [c#4,f#4] [a#4,c#5] [f#4,a#4] [a#4,c#5] [c#4,f#4] [f#4,a#4] c#5 [f#4,a#4] [f#3,a#3]@2", // A#m F# C#5 C# Fm C#5 C# Fm …
  Q: "[f#3,a#3]@2 [f3,g#3]@2 ~ [f3,g#3]@2 [d#3,f#3]@2 ~@23", // F# Fm D#m
})).s("gm_lead_8_bass_lead").gain(0.02).pan(0.3)

// chords · piano · "CH2"
const piano = note(`<
  A@3 B C D E F G H I J K C D E F G H I J L@8 M@5 N O P Q R S T U V W X Y Z AA AB AC AD AE AF@3 AG AH AI AJ@7 AK@7 AL@4
  AM@6
>`.pickRestart({
  A: "[~@18 f#4 g4 a4 b4 e4@8 [c4,c5]@4 [b3,b4]@4 a4@7 ~ f#4 g4 a4 b4 d4@8 [b3,b4]@4 [a3,a4]@4 g4@7 ~ f#4 g4 a4 b4 ~@4 [b3,f#4,g4]@2 [b3,f#4,g4]@2 [b3,f#4,g4]@4 [b3,f#4,g4]@4 ~@2, ~@38 a3 ~@27 g3@4 ~@8 e4@16 ~@2]/3", // C B A Gmaj7
  B: "~ [b3,f#4,g4]!2 [b3,f#4,g4]@2 [b3,f#4,g4]@2 [f#4,g4,b4] b3 f#4 g4 e4 b3 e4 g4 [e4,f#4,a4]", // Gmaj7 F#m7
  C: "a3 e4 f#4 d4 a3 d4 f#4 [e4,a4] c#4 e4 f#4 [c#4,e4,a4] a3 [d#4,f#4,a4] a3 [f#4,g#4,b4]", // A5 A D#dim G#m7
  D: "b3 f#4 g#4 e4 b4 e4 g#4 [f#4,g4,b4] b3 f#4 g4 [e4,b4] b3 g3 g4 [e4,f#4,a4]", // Gmaj7 E5 F#m7
  E: "a3 e4 f#4 [d4,a4] a3 d4 f#4 d4 g3 d4 e4 [d4,f#4]@2 d4 f#4 [g3,d4,e4]", // D5 D Em7
  F: "g3@2 [d4,e4]@2 [d4,e4]@2 [d4,e4]@2 g3@2 d4 e4 d4@2 [d4,f#4]@2 a3@2 b3@2 d4@2 e4@2 g3@4 a3@2 [b3,d4]@2", // Dsus2 D Bm
  G: "f#3 g3 b3 [c#4,a4] b3 c#4 e4 [d4,f#4] a3 b3 d4 e4 g3@2 a3 [b3,d4]", // F#m D Bm
  H: "f#3 g3 b3 [c#4,a4] b3 c#4 e4 [c4,e4,b4] b3 c4 e4 [f4,c5] c4 f4 a4 [g#4,b4,d5]", // F#m Cmaj7 F5 G#dim
  I: "f4 g#4 b4 [g#4,d5] c5 b4 d5 ~ [g3,d4]!3 ~ [g3,d4] ~ [g3,d4] [d4,f#4], ~@7 g4@4 b4@2 g4@2 ~", // G#dim G5 D
  J: "b3 d4 f#4 [d4,b4]@2 [d4,f#4]@2 [g3,d4,e4] g3 [g3,d4,e4]!3 g3 [g3,d4,e4]!3", // G D Em7
  K: "g3@2 [g3,d4,e4]@2 [g3,d4,e4]@2 [a3,d4,f#4]@3 [a3,d4,g4]@3 [a3,d4,f#4,a4]@2 [f#4,g4,b4]@2 b3@2 f#4@2 g4@2 e4@2 b3@2 e4@2 g4@2 [e4,f#4,a4]@2", // Em7 D Dsus4 D Gmaj7 F#m7
  L: "[g3@2 [g3,d4,e4]@2 [g3,d4,e4]@2 [a3,d4,f#4]@3 [a3,d4,g4]@3 [a3,d4,f#4,a4]@2 [b3,e4,g#4,b4]@4 [b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4]@4 [c#4,f#4,a4]@4 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c4,e4,a4]@2 [c4,e4,a4]@2 [c4,e4,a4]@2 [c4,e4,a4]@2 [c4,e4,a4]@4 [c4,e4,a4]@4 [c4,f4,a4]@4 [c4,f4,a4]@2 c5@2 [c4,e4,g4]@4 [c4,e4,g4]@2 c5@2 [d4,f#4,a4]@4 [d4,f#4]@2 a4@2 [d4,f4,a#4,d5]@4 [d4,f4,a#4]@2 d5@2 [f4,a4,c5]@8 [g#3,b3,d4]@3 [g#3,b3,d4]@3 [g#3,b3,d4]@2 [f3,a#3,d4]@4 [f3,a#3,d4]@2 [f3,a#3,d4]@2 [f3,a#3,d4]@4 [f3,a#3,d4]@4 [f3,a3,c4]@4 [f3,a3]@4 [f3,a3,e4,f4]@4 [f3,a3,c4]@4 [g3,b3,e4]@8 [f#3,a3,d4]@8 ~@3 g#3@3 g#3@2 ~@3 g#3@3 g#3@2 ~@3 g#3@3 g#3@2 g#3@3 g#3@3 g#3@2 ~@3 g#3@3 g#3@2 ~@3 g#3@3 g#3@2 ~@3 g#3@3 g#3@2 g#3@3 g#3@3 g#3@2 [c#4,f4,g#4]@4 [c#4,f#4,a#4]@3 [c#4,f#4,a#4]@3 [c#4,f4,g#4]@4 ~ [d#4,f#4,b4]@3 [c#4,f#4,a#4]@3 [c#4,f4,g#4]@4 ~ [c#4,f#4,a#4]@3 [c#4,f#4,a#4]@3 [c#4,f4,g#4]@2, ~@79 [c#4,e4]@4 [d4,f#4]@4 [e4,g#4]@8 [c#4,e4]@4 [d4,f#4]@4 [e4,g#4]@8 ~@17]/8", // Em7 D Dsus4 D E F#m Am F …
  M: "[~@2 [d#4,f#4,b4]@3 [c#4,f#4,a#4]@3 ~ [c#4,f4,g#4]@4 [c#4,f#4,a4]@3 [c#4,f#4]@3 [c#4,f4,g#4]@4 ~ [b3,d#4]@3 [b3,d#4,f#4]@3 [c#4,f4,g#4]@4 ~ [c#4,f#4,a4]@3 [c#4,f#4]@3 [c#4,f4,g#4]@4 [b3,d#4]@3 [b3,d#4,f#4]@3 ~ [b3,e4,g#4]@4 [c#4,e4,a4]@3 [b3,d#4,f#4]@3 [b3,e4,g#4]@4 ~ [a3,c#4]@3 [b3,d#4]@3 [b3,e4,g#4]@4 ~ [c#4,e4,a4]@3 [b3,d#4,f#4]@3 [b3,e4,g#4]@4 [a3,c#4]@3 [b3,d#4]@3 ~ [c#4,f4]@3 [d#4,g4]@3 [c4,f4,a4]@4 [d4,f4,a#4]@3 [e4,g4]@3 [c4,f4,a4]@4 ~ [a#3,d4]@3 [c4,e4]@3 [c4,f4,a4]@4 ~ [d4,f4,a#4]@3 [e4,g4]@3 [c4,f4,a4]@4 ~ [a#3,d4]@3 [c4,e4]@3 [d4,f#4]@3 [e4,g#4]@3 [c#4,f#4,a#4] a#3 ~ [c#4,f#4,a#4] [d#4,f#4,b4] ~ b3 ~ [f4,g#4] g#3]/5", // B F# C# F#m F#5 C# B C# …
  N: "~ [d#4,f#4,a#4] a#3 ~ [d#4,f#4,a#4] [c#4,d#4] ~ f#3 [c#4,f4,g#4] ~ g#3 [c#4,f#4,a#4] ~ a#3 [c#4,f#4,a#4] ~ [d#4,f#4,b4] b3 ~ [f4,g#4] ~ g#3 [d#4,f#4,a#4] ~ a#3 [d#4,f#4,a#4] ~ [b3,d#4] f#3 ~ [b3,d#4,f#4] f#3", // D#m C#sus2 C# F# B Fm D#m B
  O: "~ [f4,g#4] g#3 ~ g#4 g#5 f5 [g#4,c#5] [c#5,f5] [f5,g#5] [c#5,a#5] [c#5,f#5] [a#4,c#5] f#5 [f#5,a#5] [c#5,g#5] [c#5,f5] [g#4,c#5] [f5,g#5] [c#5,f5] [f#5,b5] d#5 [b4,d#5] [f#5,a#5] [d#5,f#5] [f5,g#5] [g#4,c#5] [c#5,f5] g#5 [c#5,f5] [f#5,a#5] [a#4,c#5]", // Fm C#5 C# Fm F# F#5 A#m F# …
  P: "[c#5,f#5] [f#5,a#5] [c#5,g#5] [c#5,f5] g#4 [c#5,f5] [f5,g#5] [c#5,b5] [d#5,f#5] [b4,d#5] [f#5,a#5] f#5 [d#5,g#5] [c#5,f5] [g#4,c#5] [f5,g#5] [c#5,f5] [f#5,a5] [a4,c#5] c#5 [b4,f#5] [d#5,f#5] [f5,g#5] [g#4,c#5] [c#5,f5] [f5,g#5] c#5 [f#5,a5] [a4,c#5] [c#5,f#5] [b4,d#5] [e5,f#5]", // F#5 F# C#5 C# Fm C#7 D#m B …
  Q: "[a4,c#5] e4 [a4,c#5] [d#4,f#4] [b4,e5] [a4,c#5] [e4,a4] [d#4,c#5] [f#4,b4] d#5 [b4,d#5] [f#4,b4] [d#4,f#4] [b4,d#5]!2 [d#4,f#4] f#4 [b4,d#5] [f#4,b4] [b4,d#5] [d#4,f#4] [f#4,b4] [b4,d#5] [f#4,d#5] b4 [d#4,f#4] [f#4,b4] [b4,d#5] [f#4,d#5] [a4,c#5] [f#4,a4] c#5", // A D#m E5 A A5 D#7 B5 B …
  R: "[c#5,d#5] [a4,d#5] [a4,c#5] [f#4,a4] [c#5,d#5] [a4,c#5] [c#5,d#5] a4 [f#4,a4] [c#5,d#5] [a4,c#5] [c#5,d#5] [f#4,a4] [a4,c#5] d#5 [a4,c#5] [c#5,d#5] [f#4,a4] [a4,c#5] [c#5,d#5] [a4,d#5] [a4,c#5] f#4 [a4,c#5] [c#5,d#5] [a4,d#5] [f#4,b4] [d#4,f#4] [b4,d#5] b4 [f#4,d#5] [f#4,b4]", // C#sus2 Adim A F#m C#sus2 A C#sus2 F#m …
  S: "[d#4,f#4] [b4,d#5] [f#4,b4] [g#4,c#5] [c#4,f4] f4 [g#4,c#5] [f4,g#4] [g#4,c#5] [c#4,f4] [f4,g#4] [g#4,c#5] f4 [g#4,c#5] [c#4,f4] [f4,g#4] [g#4,c#5] [f4,c#5] [e4,g#4] [c#4,e4] g#4 [g#4,c#5] [e4,c#5] [e4,g#4] [c#4,e4] [g#4,c#5] [e4,g#4] c#5 [e4,g#4] [c#4,e4] [g#4,c#5] [e4,g#4]", // D#m B B5 C#5 C# C#5 Fm C#5 …
  T: "[g#4,c#5] [c#4,e4] e4 [g#4,c#5] [e4,g#4] [a4,d5] f#4 [d4,f#4] [a4,d5] [f#4,a4] c#5 [f#4,a4] [c#4,f#4] a4 [a4,c#5] [f#4,c#5] [f#4,a4] c#4 [f#4,a4] [a4,c#5] [f#4,c#5] a4 [c#4,f#4] [f#4,a4] c#5 [f#4,a4] [a4,d5] [d4,f#4] f#4 [a4,d5] [f#4,a4] [a4,c#5]", // C#5 C#m C#5 E D5 D D5 F#m …
  U: "f#4 [c#4,f#4] [a4,c#5] a4 [f#4,d5] [f#4,a4] [d4,f#4] a4 [a4,d5] [f#4,d5] [g#4,b4] e4 [g#4,b4] [b4,d5] g#4 [b4,d5] [e4,g#4] [g#4,b4] d5 [g#4,b4] [b4,c#5] [f4,g#4] g#4 [b4,c#5] [g#4,b4] c#5 [g#4,b4] [f4,g#4] [b4,c#5] b4 [g#4,c#5] [g#4,b4]", // F#5 A D F#m D D5 D G#m …
  V: "[f4,g#4] b4 [b4,c#5] [g#4,c#5] b4 [f4,g#4] [g#4,b4] [b4,c#5] g#4 [b4,d#5]!2 [d#4,f#4] [f#4,b4] [b4,d#5] [f#4,b4] [d#4,f#4] [b4,d#5] b4 [f#4,d#5] [f#4,b4] [d#4,f#4] [b4,d#5] [f#4,b4] [b4,d#5] [d#4,f#4] [f#4,b4] [b4,d#5] [f#4,d#5] [a4,c#5] f#4 [a4,c#5] [c#5,d#5]", // Fm Bsus2 C#5 Fm G#m Bsus2 B D#m …
  W: "[a4,d#5] [a4,c#5] [f#4,a4] [c#5,d#5] [a4,c#5] [c#5,d#5] [f#4,a4] [a4,c#5] [c#5,d#5] a4 [c#5,d#5] [f#4,a4] [a4,c#5] [c#5,d#5] [a4,d#5] [a4,c#5] [f#4,a4] [c#5,d#5] [a4,c#5] [c#5,d#5] [f#4,a4] [a4,c#5] d#5 [a4,c#5] [b4,d#5] [d#4,f#4] [f#4,b4] [b4,d#5] [f#4,d#5] [f#4,b4] [d#4,f#4] [b4,d#5]", // Adim A F#m C#sus2 A C#sus2 F#m A …
  X: "[f#4,b4] [g#4,c#5] f4 [c#4,f4] [g#4,c#5] [f4,g#4] [g#4,c#5] [c#4,f4] [f4,g#4] [g#4,c#5] [f4,c#5] [f4,g#4] [c#4,f4] [g#4,c#5] g#4 [f4,c#5] [e4,g#4] [c#4,e4] [g#4,c#5] [e4,g#4] [g#4,c#5] [c#4,e4] [e4,g#4] [g#4,c#5] [e4,c#5] [e4,g#4] c#4 [e4,g#4] [g#4,c#5] [e4,c#5] [e4,g#4] [c#4,e4]", // B5 C#5 C# C#5 Fm C#5 C# Fm …
  Y: "[g#4,c#5] [e4,g#4] d5 [f#4,a4] [d4,f#4] a4 [a4,d5] [f#4,c#5] [f#4,a4] c#4 [f#4,a4] [a4,c#5] [f#4,c#5] a4 [c#4,f#4] [f#4,a4] c#5 [f#4,a4] [a4,c#5] [c#4,f#4] f#4 [a4,c#5] [f#4,a4] [a4,d5] f#4 [d4,f#4] [a4,d5] a4 [f#4,c#5] [f#4,a4] [c#4,f#4] a4", // C#5 E F#m D D5 F#5 F#m A …
  Z: "[a4,c#5] [f#4,d5] [f#4,a4] d4 [f#4,a4] [a4,c#5] f#4 [b4,d5] [e4,g#4] [g#4,b4] d5 [g#4,b4] [b4,d5] [e4,g#4] g#4 [b4,d5] [g#4,b4] c#5 [g#4,b4] [f4,g#4] [b4,c#5] b4 [g#4,c#5] [g#4,b4] [f4,g#4] b4 [b4,c#5] [g#4,c#5] [g#4,b4] [f4,g#4] [b4,c#5] b4", // A D F#m A Bm E G#m Bm …
  AA: "[g#4,c#5] [g#4,b4] [f4,g#4] [b4,c#5] [g#4,b4] [a4,c#5] [d4,f#4] [f#4,a4] [a4,c#5] [f#4,c#5] [f#4,a4] [d4,f#4] [a4,c#5] [f#4,a4] c#5 [f#4,a4] [d4,f#4] [a4,c#5] [f#4,a4] [a4,c#5] [d4,f#4] [f#4,a4] [a4,c#5] [f#4,c#5] [f#4,a4] [e4,f#4] [a4,c#5] [f#4,a4] [a4,c#5] [e4,f#4] f#4 [a4,c#5]", // C#5 G#m Fm Bsus2 G#m A D F#m …
  AB: "[f#4,a4] [a4,c#5] [e4,f#4] [f#4,a4] [a4,c#5] [f#4,c#5] [f#4,a4] [e4,f#4] [a4,c#5] [f#4,a4] [a4,c#5] [e4,f#4] [f#4,a4] [a4,c#5] f#4 [a4,c#5] [e4,f#4] [f#4,a4] [a4,c#5] [f#4,c#5] [f#4,a4] [d#4,f#4] [a4,c#5] [f#4,a4] [a4,c#5] [d#4,f#4] [f#4,a4] [a4,c#5] [f#4,c#5] g#4 [c#4,f4] [f4,g#4]", // F#m A Esus2 F#m A F#5 F#m Esus2 …
  AC: "[g#4,c#5] [f4,c#5] [f4,g#4] [c#4,f4] [g#4,c#5] [f4,g#4] [a#4,c#5] [c#4,f#4] [f#4,a#4] [a#4,c#5] [f#4,c#5] [f#4,a#4] [c#4,f#4] a#4 [a#4,c#5] [f#4,c#5] [f4,g#4] [c#4,f4] [g#4,c#5] [f4,g#4] [g#4,c#5] [c#4,f4] [f4,g#4] [g#4,c#5] [f4,c#5] [f#4,a#4] [c#4,f#4] [a#4,c#5] [f#4,a#4] c#5 [f#4,a#4] [c#4,f#4]", // C#5 C# Fm C# C#5 Fm A#m F#5 …
  AD: "[a#4,c#5] [f#4,a#4] [g#4,c#5] [c#4,f4] [f4,g#4] [g#4,c#5] [f4,c#5] [f4,g#4] [c#4,f4] [g#4,c#5] [f4,g#4] [a#4,c#5] f#4 [c#4,f#4] [a#4,c#5] [f#4,a#4] [a#4,c#5] [c#4,f#4] [f#4,a#4] [a#4,c#5] [f#4,c#5] [f#4,a#4] [c#4,f#4] [a#4,c#5] [f#4,a#4] [a#4,c#5] [c#4,f#4] [f#4,a#4] c#5 [f#4,a#4] [f#3,a#3]@2", // A#m F# C#5 C# Fm C#5 C# Fm …
  AE: "[f#3,a#3]@2 [f3,g#3]@2 ~ [f3,g#3]@2 [d#3,f#3]@2 [d#3,f#3]@2 ~ [f3,g#3] ~ [f3,g#3]@2 [d#4,f#4,a#4] ~ a#3 [d#4,f#4,a#4] ~ a#3 [c#4,f4,g#4] ~@2 [c#4,f4,g#4]@2 [d#4,f#4,b4]@3 [c#4,f#4,a#4]@2", // F# Fm D#m Fm D#m C# B F#
  AF: "[~ [f3,g#3] ~@2 [f3,g#3]@2 [d#4,f#4,a#4] a#3 ~ [d#4,f#4,a#4] a#3 ~ [c#4,f4,g#4] ~ [c#4,f4,g#4]@2 ~ [d#4,f#4,b4]@3 [c#4,f#4,a#4]@3 [c#4,f4,g#4] ~ [c#4,f4]@2 ~ [c#4,f#4,a4]@3 [c#4,f#4]@3 [c#4,f4,g#4] ~ [c#4,f4]@2 [b3,d#4]@3 [b3,d#4,f#4]@3 ~ [c#4,f4,g#4] ~ [c#4,f4]@2 [c#4,f#4,a4]@3 [c#4,f#4]@3 [c#4,f4,g#4] ~@2 [c#4,f4]@2 [b3,d#4]@3 [b3,d#4,f#4]@3 [b3,e4,g#4] ~@2 [b3,e4,g#4]@2 [c#4,f#4,a4]@3 [c#4,f#4]@3 [b3,e4,g#4] ~ [b3,e4,g#4]@2 ~ [a3,c#4]@3 [b3,d#4]@3 [b3,e4,g#4] ~ [b3,e4,g#4]@2 ~ [c#4,f#4,a4]@3]/3", // Fm D#m C# B F# C# F#m F#5 …
  AG: "[c#4,f#4]@3 [b3,e4,g#4] ~ [b3,e4,g#4]@2 [a3,c#4]@3 ~ [b3,d#4]@3 [c#4,e4] g#3 ~ [d#4,g4] a#3 ~ [c4,f4,a4] ~ [c4,f4,a4]@2 ~ [d4,f4,a#4]@3 [c4,e4,g4]@3 [c4,f4,a4]", // F#5 E A B C#m D# F A# …
  AH: "~ [c4,f4,a4]@2 [a#3,d4]@3 [c4,e4]@3 ~ [c4,f4,a4] ~ [c4,f4,a4]@2 [d4,f4,a#4]@3 [c4,e4,g4]@3 [c4,f4,a4] ~@2 [c4,f4,a4]@2 [a#3,d4]@3 [c4,e4]@3 [d4,f#4]", // F A# C F A# C F A# …
  AI: "~ a#3 [d4,f#4] ~ a#3 [c#4,f#4,a#4] ~ a#3 ~ [c#4,f#4,a#4]!2 ~ [c#4,f#4,a#4] a#3 ~ [c#4,f#4,a#4]!2 ~ [c#4,f#4,a#4] a#3 ~ [c#4,f#4,a#4]!2 ~ [c#4,f#4,a#4] ~ a#3 [c#4,f#4,a#4]@3 [g#4,a#4,c#5] ~", // D F# A#m7
  AJ: "[c#4 [g#4,a#4,c#5] ~ [g#4,a#4,c#5]!2 ~ c#4 ~ [g#4,a#4,c#5]!2 ~@2 c#4@2 [g#4,a#4,c#5]@2 [g#4,a#4,c#5]@2 ~ c#4@2 [g#4,a#4,c#5]@2 c#4@2 ~@2 b3@2 f#4@2 g4@2 e4@2 b3@2 e4@2 g4@2 ~ a4 a3@2 e4@2 f#4@2 d4@2 a3@2 d4@2 f#4@2 [e4,a4]@2 c#4@2 e4@2 f#4@2 ~@2 a3@2 ~ a4 a3@2 ~@2 b3@2 f#4@2 g#4@2 e4@2 b4@2 e4@2 g#4@2 ~@2 b3@2 f#4@2 g4@2 [e4,b4]@2 b3@2 g3@2 g4@2 ~@2 a3@2 e4@2 f#4@2 [d4,a4]@2 a3@2 d4@2 f#4@2 d4@2 g3@2 d4@2 e4@2 [d4,f#4]@4 d4@2 f#4@2 ~@2 g3@2 [d4,e4]@2 [d4,e4]@2 [d4,e4]@2 g3@2 d4 e4 d4@2 [d4,f#4]@2 a3@2 b3@2 d4@2 e4@2 g3@4 a3@2 [b3,d4]@2 f#3@2 g3@2 b3@2 [c#4,a4]@2 b3@2 c#4@2 e4@2 [d4,f#4]@2 a3@2 b3@2 d4@2 e4@2 g3@4 a3@2 [b3,d4]@2 f#3@2 g3@2 b3@2 [c#4,a4]@2 b3@2 c#4@2 e4@2 ~@2 b3@2 c4@2 e4, ~@11 [g#4,a#4,c#5]@2 ~@5 [g#4,a#4,c#5]@2 ~@5 [f#4,g4]@2 ~@14 [e4,f#4]@2 ~@22 [c#4,e4]@2 ~@2 [d#4,f#4]@2 ~@2 [f#4,g#4]@2 ~@14 [f#4,g4]@2 ~@14 [e4,f#4]@2 ~@30 [g3,d4]@2 ~@79 b4@2 ~@4, ~@26 b4@2 ~@38 a4@2 ~@6 b4@2 ~@14 b4@2 ~@14 a4@2 ~@30 e4@2 ~@77 [c4,e4]@2 ~@5]/7", // A#m7 A5 E5 D5 D Dsus2 D Bm …
  AK: "[~ [f4,c5]@2 c4@2 f4@2 a4@2 [g#4,b4,d5]@2 f4@2 g#4@2 b4@2 [g#4,d5]@2 c5@2 b4@2 d5@2 ~@2 [g3,d4]@2 [g3,d4]@2 [g3,d4]@2 ~@2 [g3,d4]@2 ~@2 [g3,d4]@2 [d4,f#4]@2 b3@2 d4@2 f#4@2 [d4,b4]@4 [d4,f#4]@4 [g3,d4,e4]@2 g3@2 [g3,d4,e4]@2 [g3,d4,e4]@2 [g3,d4,e4]@2 g3@2 [g3,d4,e4]@2 [g3,d4,e4]@2 [g3,d4,e4]@2 g3@2 [g3,d4,e4]@2 [g3,d4,e4]@2 [a3,d4,f#4]@3 [a3,d4,g4]@3 [a3,d4,f#4,a4]@2 [b3,e4,g#4,b4]@4 [b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4]@4 [c#4,f#4,a4]@4 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c4,e4,a4]@2 [c4,e4,a4]@2 [c4,e4,a4]@2 [c4,e4,a4]@2 [c4,e4,a4]@4 [c4,e4,a4]@4 [c4,f4,a4]@4 [c4,f4,a4]@2 c5@2 [c4,e4,g4]@4 [c4,e4,g4]@2 c5@2 [d4,f#4,a4]@4 [d4,f#4]@2 a4@2 [d4,f4,a#4,d5]@4 [d4,f4,a#4]@2 d5@2 [f4,a4,c5]@8 [g#3,b3,d4]@3 [g#3,b3,d4]@3 [g#3,b3,d4]@2 [f3,a#3,d4]@4 [f3,a#3,d4]@2 [f3,a#3,d4]@2 [f3,a#3,d4]@4 [f3,a#3,d4]@4 [f3,a3,c4]@4 [f3,a3]@4 [f3,a3,e4,f4]@4 [f3,a3,c4]@4 ~ e4@6, ~@25 g4@8 b4@4 g4@4 ~@176 [g3,b3]@7]/7", // F5 G#dim G5 D G D Em7 D …
  AL: "[~@2 d4@7 ~@3 g#3@3 g#3@2 ~@3 g#3@3 g#3@2 ~@3 g#3@3 g#3@2 g#3@3 g#3@3 g#3@2 ~@3 g#3@3 g#3@2 ~@3 g#3@3 g#3@2 ~@3 g#3@3 g#3@2 g#3@3 g#3@3 g#3@2 ~@3 g3@3 g3@2 ~@3 g3@3 g3@2 ~@3 g3@3 ~ g3@2 g3@3 g3@3 ~ g3@2 ~@4 g3@3 g3@2 ~@5 g3@4 g3@3, ~ [f#3,a3]@8 [c#4,e4]@8 [d4,f#4]@8 [e4,g#4]@16 [c#4,e4]@8 [d4,f#4]@8 [e4,g#4]@16 [c4,e4]@8 [d4,f#4]@8 [e4,g4]@17 ~ [c4,e4]@9 ~ [d4,f#4]@10 ~]/4", // F#m C#m D E C#m D E C …
  AM: "[~@4 g3@4 g3@3 g3@4 ~ g3@5 g3@3 [g#3,c#4,e4]@14 ~@9 d#4 e4 f#4 g#4 c#4@8 [a3,a4]@4 [g#3,g#4]@4 [f#3,f#4]@8 d#4 e4 f#4 g#4 b3@8 [g#3,g#4]@4 [f#3,f#4]@4 [e3,e4]@8 d#4 e4 f#4 g#4 c#4@4 [g#3,d#4,e4]@2 [g#3,d#4,e4]@2 [g#3,d#4,e4]@4 [g#3,d#4,e4]@4 ~@4 [g#3,d#4,e4]@2 [g#3,d#4,e4]@2 ~ [g#3,d#4,e4]@4 [g#3,d#4,e4]@31 ~@25, [e4,g4]@25 ~@167]/6", // C#m A G# F# G# F# E Emaj7 …
})).s("gm_piano").gain(0.2).pan(0.7)

// other · piano · "CH3"
const piano_2 = note(`<
  A@2 B@5 C@4 D@5 C@4 E@8 F G H I@2 J K L M N O P Q@2 R S T@2 U V W X Y Z AA AB AC@8 AD@3 AE@2 AF@3 AG AH AI@3 AJ@7
>`.pickRestart({
  A: "[~@11 a2 c3 e3 a3@5 a2 d3 f#3@4 b2 d3 f#3 b3@4]/2",
  B: "[~ g2 c3 e3 g3@3 ~ b2@7 e2@8 ~@2 d3@2 d3@4 ~@2 c3@2 c3@2 c3@2 b1 f#2 ~ e3 b2@2 f#3@2 ~@2 e3@2 e3@4 ~@2 d3@2 d3@4 ~@2 c3@2 c3@4 [b1,b2]@2 b2 d3 f#3 b3@3 [c2,c3], ~@7 e2@8 ~@8 d2@8 c2@8 ~@2 b2@2 ~@4 e2@8 d2@8 c2@8 ~@9]/5", // B C
  C: "[~@6 e3@2 c3@2 e3@3 b2 e3@6 b2@2 e3@8 e3@6 b2@2 e3@8 e3@6 b2@2 e3@8 e3@6 b2@2 e3@8 a2@8 d2@8 f2@16 e3@16 b2@2, ~@7 e2@8 e2@8 e2@8 e2@8 ~@25]/4",
  D: "[~@6 f#3@2 b3@2 f#3@2 b2@2 c3@8 e3@2 g3@2 e3@2 c3@2 [c2,c3]@8 d3@3 d3@3 d3@2 ~@4 d3@4 d3@8 ~@4 c3@4 c3@4 c3@4 b1@2 f#2@2 ~@2 e3@2 b2@4 f#3@4 ~@4 e3@4 e3@8 ~@4 d3@4 d3@8 ~@4 c3@4 c3@8 [b1,b2]@4 b2@2 d3@2 f#3@2 b3@6 [c2,c3]@2, ~@19 d2@4 d2@8 c2@8 ~@2 b2@2 ~@4 e2@8 d2@8 c2@8 ~@9]/5", // C B C
  E: "[~@6 f#3@2 b3@2 f#3@2 b2@2 c3@8 e3@2 g3@2 e3@2 c3@2 [c2,c3]@8 d3@3 d3@3 d3@2 e3@4 e3@4 e3@4 e3@4 f#3@4 f#3@4 f#3@4 f#3@4 c3@2 f#3@2 f#3@2 c3@2 f#3@4 f#3@4 [f3,a3]@4 [f3,a3]@4 [e3,g3]@4 [e3,g3]@4 [f#3,a3]@4 [f#3,a3]@4 [f3,a#3]@4 [f3,a#3]@4 [a3,c4]@3 [a3,c4]@3 [a3,c4]@2 f3@4 f3@4 [a#1,a#2]@4 a#2@4 a#2@4 a#2@4 f3@8 e3@8 [a1,a2]@8 e2@8 e3@4 e3@4 e3@4 e3@4 e3@4 e3@4 e3@4 e3@4 d3@4 d3@4 d3@4 d3@4 d3@4 d3@4 d3@4 d3@4 [g#2,c#3] g#3, ~@19 d2@4 e2@8 f#2@16 c3@4 c3@4 c3@4 c3@4 f3@4 f2@4 ~@24 e2@16 d2@16 ~]/8", // C F Em F#m A#5 Am A# A …
  F: "[g#2,c#3] g#3 [g#2,f#3] ~ a#3 [g#2,f#3] ~ a#3 [g#2,c#3] ~ g#3 [g#2,c#3,g#3] ~ [g#2,f#3] b3 ~ [g#2,f#3] ~ a#3 [g#2,c#3] ~ [g#2,c#3,g#3] g#3 ~ [g#2,f#3] a#3 ~ [g#2,f#3] a#3 ~ [g#2,c#3] g#3", // C#5 G#7 C#5 G#7 C#5 G#7 C#5
  G: "[g#2,c#3] g#3 [g#2,f#3] ~ b3 [g#2,f#3] ~ a#3 ~ [g#2,c#3] g#3 [g#2,c#3] g#3 [g#2,f#3] ~ a3 [g#2,f#3] ~ a#3 [g#2,c#3] ~ g#3 [g#2,c#3,g#3] ~ [g#2,d#3] f#3 ~ [g#2,d#3] ~ f#3 [g#2,c#3] ~", // C#5 G#7 C#5 G#7 C#5 G#5 C#5
  H: "[g#2,c#3,g#3] g#3 ~ [g#2,f#3] a3 ~ [g#2,f#3] a#3 ~ [g#2,c#3] g#3 [g#2,c#3] g#3 [g#2,d#3] ~ f#3 [g#2,d#3] ~ f#3 ~ [b2,e3] g#3 [b2,e3] g#3 [b2,e3] ~ a3 [b2,e3] ~ f#3 [b2,e3] ~", // C#5 G#7 C#5 G#5 E5
  I: "[g#3 [b2,e3,g#3] ~ b2 e3@3 ~ b2 [b2,e3] ~ [b2,e3,g#3] g#3 ~ [b2,e3] a3 ~ [b2,e3] f#3 ~ [b2,e3] g#3 [b2,e3] g#3 b2 ~ e3@3 b2 ~@2 g#3@3 g#3 ~ [c3,f3] a3 [c3,f3] a3 [c3,f3] ~ a#3 [c3,f3] ~ a#3 [c3,f3] ~ a3 [c3,f3] a3 c3 ~ f3@3 c3 [c3,f3] ~ a3 [c3,f3,a3] ~ [c3,f3], ~@31 [g#2,c#3]@6 ~@27]/2", // E E5 E E5 F5 F F5 C#5
  J: "a#3 ~ [c3,f3] a#3 ~ [c3,f3] a3 [c3,f3] a3 ~ c3 f3@3 c3 ~ d3 g#3@4 ~ c#3@10", K: "~ b2@10 a#2@11 g#2@10",
  L: "~ [c#2,c#3]@4 f4@3 ~ f4 f#4@3 ~ f#4 f4@3 f4 ~ g#4@3 f#4 ~ f4@3 f4 ~ f#4@2", // C#
  M: "~ f#4 f4@3 ~ f4 g#4@3 f#4 ~ f4 ~ c#4 b3 ~ f#4 c#4 ~ b3 ~ f4 c#4 ~ b3 ~ f#4 c#4 ~ b3 c#4",
  N: "~ a3 ~ f#3 a3 ~ c#4 d#4 ~ c#4 b3 a3 ~ b3 d#4@5 ~@8 d#4 c#4 b3 a3 b3",
  O: "c#4 d#4@5 ~@8 d#4 ~ c#4 b3 a3 [b3,c#4] d#4 c#4 b3 a3 [b3,c#4] d#4 c#4 b3 [a3,b3] c#4 d#4 c#4", // Bsus2 Asus2
  P: "[a3,b3] b3 c#4 b3@3 g#3 ~ b3 g#3 ~ b3 ~ b3@4 g#3@3 ~ e3 g#3 ~ e3 g#3@6 ~", // Asus2
  Q: "[c#2 d2@2 e2@2 f#2@2 ~ a2@2 [f#2,f#3]@5 [e2,e3]@5 c#2@2 d2@2 e2@2 ~ g#2@2 a2@2 [f#2,f#3]@3 [e2,e3]@2 [b2,b3]@3 ~@2 [d3,d4]@10 ~ [c#3,c#4]@10 ~@2, ~@7 g#2@2 ~@17 f#2@2 ~@12 [a2,a3]@2 ~@22]/2", // F# E F# E B D C# A
  R: "~@7 d#4@2 c#4 b3 a3 b3 d#4@4 ~@9 d#4 c#4 b3 a3 b3 c#4",
  S: "d#4@5 ~@8 d#4 c#4 b3 a3 b3 c#4 d#4 [b3,c#4] a3 b3 c#4 [c#4,d#4] b3 a3 [b3,c#4] d#4 c#4 b3 [a3,b3]", // Bsus2 C#sus2 Bsus2 Asus2
  T: "[c#4 b3@3 g#3 ~ b3 g#3 ~ b3 b3@4 ~ g#3@3 e3 ~ g#3 e3 ~ g#3@6 c#2 ~@2 e2@2 f#2@2 g#2@2 ~ [f#2,f#3]@5 [e2,e3]@5 ~@2 d2@2 e2@2 f#2@2 ~ a2@2 [f#2,f#3]@3 ~, ~@31 d2@2 ~@5 a2@2 ~@10 c#2@2 ~@5 g#2@2 ~@5]/2", // F# E F#
  U: "~ [b2,b3]@3 ~ [a2,a3]@2 [d3,d4]@10 [c#3,c#4]@10 ~@5, [e2,e3] ~@15", // B A D C# E
  V: "~@3 c#4@2 b3 a3 g#3 a3 c#4@4 ~@9 c#4 b3 a3 g#3 a3 b3 c#4@4, ~@9 b3 ~@22",
  W: "~@8 c#4 ~ b3 a3 g#3 a3 b3 [b3,c#4] a3 g#3 [a3,b3] c#4 b3 a3 [g#3,a3] b3 c#4 [a3,b3] g#3 a3 [g#2,g#3]@3 ~, ~@28 b3 ~@3", // Bsus2 Asus2 Amaj7 Asus2 G#
  X: "[g#2,g#3] [c3,c4]@4 ~ [a#2,a#3]@9 [g#2,g#3]@3 [g#2,g#3] ~ [c3,c4]@3 [c3,c4] [a#2,a#3]@8", // G# C A# G# C A#
  Y: "~@2 [g#2,g#3]@3 [g#2,g#3] [c3,c4]@3 [c3,c4] ~ [a#2,a#3]@9 [g#2,g#3]@4 ~ [c3,c4]@3 [c3,c4] ~ [f#2,a#2]@2", // G# C A# G# C F#
  Z: "[f#2,a#2]@2 [f2,g#2]@2 ~ [f2,g#2]@2 [d#2,f#2]@2 [d#2,f#2]@2 ~ c#3@3 c#3@4 c#3@3 a#3@3 a#3@3 ~ a#3 ~@2, ~@6 c#2@5 d#3@5", // F# Fm D#m
  AA: "a#3 g#3@3 g#3 ~ g#3@6 a#3@3 a#3@3 a#3 ~@2 a#3 ~ a#3@3 a#3@3 a#3 ~@2, ~ c#3@11 d#3@11 d#3@9",
  AB: "a#3 ~ a#3@3 a#3@3 a#3 ~@2 a#3 ~ a#3@3 a#3@3 a#3 ~@2 a#3 a#3@3 ~ a#3@3 a#3 ~, ~@2 d#3@11 d#3@10 d#3@9",
  AC: "[~ a#3 e3@3 e3@4 ~ e3@3 e3@3 e3@4 ~ e3@3 e3@3 e3@4 ~ e3@3 e3@3 e3@4 ~ e3@3 c#3@3 d#3@3 f3@3 f3@4 ~ f3@3 f3@3 f3@4 f3@3 ~ f3@3 f3@4 f3@3 f3@3 ~ f3@4 f3@3 d3@3 e3@3 [e2,e3]@25 [d#2,d#3]@27 ~@4 d3@4 d3@8 ~@4 c3@4 c3@4 c3@4 b1@2 f#2@2 ~@2 e3@2 b2@4 f#3@4 ~@4 e3@4 e3@8 ~@4 d3@4 d3@8 ~@4 c3@4 c3@8 [b1,b2]@4 b2@2 d3, ~@2 e2@11 e2@11 e2@11 e2@11 ~@6 f2@11 f2@11 f2@10 f2@11 ~@58 d2@16 c2@16 ~@4 b2@4 ~@8 e2@16 d2@16 c2@16 ~@7]/8", // E D# B
  AD: "[~ f#3@2 b3@6 [c2,c3]@8 e3@2 c3@2 e3@3 b2 e3@6 b2@2 e3@8 e3@6 b2@2 e3@8 e3@6 b2@2 e3@8 e3@6 b2@2 e3@8 a2@7, ~@25 e2@16 e2@16 e2@16 e2@16 ~@7]/3", // C
  AE: "[~ d2@8 f2@16 e3@16 b2@8 f#3@2 b3@2 f#3@2 b2@2 c3@7]/2",
  AF: "[~ e3@2 g3@2 e3@2 c3@2 [c2,c3]@8 d3@3 d3@3 d3@2 e3@4 e3@4 e3@4 e3@4 f#3@4 f#3@4 f#3@4 f#3@4 c3@2 f#3@2 f#3@2 c3@2 f#3@4 f#3@4 [f3,a3]@4 [f3,a3]@4 [e3,g3]@4 [e3,g3]@4 [f#3,a3]@4 [f#3,a3]@3, ~@17 d2@8 e2@16 f#2@32 c3@8 c3@8 c3@7]/3", // C F Em F#m
  AG: "~ [f3,a#3]@4 [f3,a#3]@4 [a3,c4]@3 [a3,c4]@3 [a3,c4]@2 f3@4 f3@4 [a#1,a#2]@4 a#2@3, ~ c3@8 f3@8 f2@8 ~@7", // A#5 Am A#
  AH: "~ a#2@4 a#2@4 f3@8 e3@8 [a1,a2]@7", // A
  AI: "[~ e2@8 e3@4 e3@4 e3@4 e3@4 e3@4 e3@4 e3@4 e3@4 d3@4 d3@4 d3@4 d3@4 d3@4 d3@4 d3@4 d3@4 ~@4 e3@4 e3@4 e3@4 e3@4 e3@3, ~@9 e2@32 d2@32 a2@20 ~@3]/3",
  AJ: "[~@2 e3@4 e3@4 ~ [a2,d3]@4 ~ d3@5 [a2,d3]@5 [a2,d3]@5 ~ [a2,d3]@5 d3@6 d3@6 ~ d3@6 [c#2,c#3]@14 ~@13 f#2@2 a2@2 c#3@2 f#3@10 f#2@2 b2@2 d#3@2 f#3@6 g#2@2 b2@2 d#3@2 g#3@10 a2@2 c#3@2 e3@2 a3@6 c#2@2 g#2@2 c#3@12 c#2@18 c#2@26 ~@25, ~@11 d2@45 ~@168]/7", // D5 C#
})).s("gm_piano").gain(0.25)

// bass · fretless bass · "CH4"
const bass = note("<~@3 A@5 B@4 C@5 D@8 E@3 ~@2 F@4 G H ~@22 I@2 J@5 K L@2 M@2 N O@4 ~@7>".pickRestart({
  A: "[~@14 d3@16 c3@16 b2@8 b3@4 b3@3 b2 e3@6 e3@2 e4@6 b3@2 d3@16 c4@16 b3@12 ~@2 a2 b2 c3@16 e3@16 ~@2, ~@31 e2@8 ~@41]/5",
  B: "[~@13 b2 ~@6 b3@10 b3@6 b3@10 a3@8 d3@8 f3@16 e3@7 e2 e2@4 ~@2 f#2 g2 b2@8 b3@4 ~@2 a2 b2 c3@6 g3@2 c4@4 c4@4 c3@2, ~@7 e3@8 ~@49]/4",
  C: "[~@4 b2 c3 d3@8 d3@16 c3@16 b2@8 b3@4 b3@3 b2 e3@6 e3@2 e4@6 b3@2 d3@16 c4@16 b3@12 ~@2 a2 b2 c3@16 e3@16 ~@2, ~@31 e2@8 ~@41]/5",
  D: "[~@13 b2 ~@6 b3@10 b3@6 b3@10 a3@8 d3@8 f3@16 e3@7 e2 e2@4 ~@2 f#2 g2 b2@8 b3@4 ~@2 a2 b2 c3@6 g3@2 c4@4 c4@4 c3@6 b2 c3 d3@3 d3@3 d3@2 e3@4 e3 ~ b2 ~ e3 ~ e3@4 ~ e3 f#3@4 c#3@2 f#3@4 f#4@3 f#4@3 f#3@4 f#3@2 c3@2 f#3@6 f#3@2 f3@6 f3!2 c4 c4@3 c4!4 c4@4 c4@4 c4@4 c4@2 c3@2 f3@4 f3@4 f3@4 f2@4 a#2@6 a#2!2 a#2@4 a#2 c3 d3 e3 f3@2, ~@7 e3@8 ~@113]/8",
  E: "[~ f3@2 f3@2 e2@2 a2@2 a2!2 e2@4 e3@16 d3@16 ~]/3",
  F: "[~@16 b2@3 ~ e3@9 b2 e3@9 ~ b2 e3@9 b2 ~ e3@11 c#3@6 f3@9 c3 f3@9 ~ c3 f3@9 c3 ~ f3@11 d3@6 c#3@10]/4",
  G: "~ b2@10 a#2@11 g#2@10", H: "~ c#3@4 ~@27", I: "[~@25 d3@16 c3@16 b2@7]/2",
  J: "[~ b3@4 b3@3 b2 e3@6 e3@2 e4@6 b3@2 d3@16 c4@16 b3@12 ~@2 a2 b2 c3@16 e3@16 ~@15 b2 ~@6 b3@10 b3@6 b3@10 a3@7, ~@9 e2@16 ~@96 e3@16 ~@23]/5",
  K: "~ d3@8 f3@16 e3@7",
  L: "[e2 e2@4 ~@2 f#2 g2 b2@8 b3@4 ~@2 a2 b2 c3@6 g3@2 c4@4 c4@4 c3@6 b2 c3 d3@2 ~ d3@2 ~ d3@2 e3@4 e3 ~ b2]/2",
  M: "[~ e3 ~ e3@4 ~ e3 f#3@4 c#3@2 f#3@4 f#4@3 f#4@3 f#3@4 f#3@2 c3@2 f#3@6 f#3@2 f3@6 f3!2 c4 c4@3 c4!4 c4@4 c4@3]/2",
  N: "~ c4@4 c4@2 c3@2 f3@4 f3@4 f3@4 f2@4 a#2@6 a#2",
  O: "[a#2 a#2@4 a#2 c3 d3 e3 f3@4 f3@4 f3@4 e2@4 a2@4 a2@2 a2@2 e2@8 e3@32 d3@32 ~@23]/4",
})).s("gm_fretless_bass").gain(0.09)

// other · lead 8 bass lead · "CH4"
const lead_8_bass_lead_2 = note("<~@37 A B@2 C@2 A D E@2 F G H ~@33>".pickRestart({
  A: "~@19 f#2@12 ~", B: "[~@7 f#2@15 ~@3 f#2@10 g#2@14 c#3@14 ~]/2",
  C: "[c#2 d2@2 e2@2 f#2@2 ~ a2@2 f#3@5 e3@5 c#2@2 d2@2 e2@2 ~ g#2@2 a2@2 f#3@3 e3@2 b3@3 ~@2 d4@10 ~ c#4@10 ~@2, ~@7 g#2@2 ~@17 f#2@2 ~@12 a3@2 ~@22]/2",
  D: "~@6 f#2@15 ~@3 f#2@8",
  E: "[~ g#2@14 c#3@14 c#2 ~@2 e2@2 f#2@2 g#2@2 ~ f#3@5 e3@5 ~@2 d2@2 e2@2 f#2@2 ~ a2@2 f#3@3 ~, ~@31 d2@2 ~@5 a2@2 ~@10 c#2@2 ~@5 g#2@2 ~@5]/2",
  F: "~ b3@3 ~ a3@2 d4@10 c#4@10 ~@5, e3 ~@15", G: "~@14 f#2@9 ~@9", H: "~ f#2@9 ~@9 f#2@9 ~@4",
})).s("gm_lead_8_bass_lead").gain(0.27)

// bass · electric bass pick · "CH4"
const bass_2 = note("<~@50 A B C@2 D E F@3 ~@23>".pickRestart({
  A: "~@2 c#3@3 ~@6 c#3@3 ~@6 c#3@3 ~@7 f#2 ~, ~@2 c3 ~@8 c3 ~@8 c3 ~@11",
  B: "f#2 ~ f2 ~@2 f2 ~ d#2 ~ d#2 ~@2 c#3 ~ c#3!2 c#3@2 ~ c#3@2 ~ c#3!2 ~ c#3 ~ c#3@2 ~ c#3@2",
  C: "[~ c#3!2 ~ c#3 ~ c#3@2 ~ c#3@2 ~ c#3!4 ~ c#3@2 ~ c#3@2 ~ c#3!4 ~ c#3@2 ~ c#3@2 ~ c#3!4 c#3@2 ~ c#3@2 ~@2 c#3 ~ c#3!2 c#3@2 ~ c#3@2 ~ c#3!2 ~ c#3!3 ~@2 b2]/2",
  D: "~@2 e3!2 ~ e3 ~ e3 ~@2 e3 ~ b2 e3!4 ~ e3 ~@2 b2 ~@2 e3!4 ~ e3 ~@2",
  E: "e3 b2 ~ e3!5 ~@6 f2@3 g2@3 f2 f3 f2 f3 ~ f2 ~@2 f3 f2 ~ [f2,f3]", // F
  F: "[~ f2 f3 f2 ~@2 f3 ~ f2 ~ [f2,f3] ~ f2 f3 f2 ~@2 f3 ~ f2!2 f3 ~ f2 f3 f2 ~@5 f#2@3 g#2@3 e2@25 d#2@27 ~@7]/3", // F
})).s("gm_electric_bass_pick").gain(0.28)

// other · shanai · "CH5"
const shanai = note("<~@3 A@4 B ~@4 A@4 B ~@65>".pickRestart({
  A: "[~@12 e6 f#6@2 a6@4 f#6@4 g6 a6!2 b6@3 g#6 a6 g#6@6 e6 f#6 g6 f#6 e6 b5 g5 f#5 e5 b4 e5@4 d5@4 ~ e5 g5 a5 b5 a5 g5 f#5 e5]/4",
  B: "b5@6 ~ e6@8 ~",
})).s("gm_shanai").gain(0.02).pan(0.8)

// other · pad poly · "CH5"
const pad_poly = note("<~@43 [~@5 g#5 f#5 f5 f#5 g#5 c#5@4 ~@18] ~@38>").s("gm_pad_poly").gain(0.15).pan(0.8)

// chords · synth strings 1 · "CH5"
const synth_strings_1 = note("<~@52 A@4 ~@26>".pickRestart({
  A: "[~@20 c5@15 a4@3 g4@3 a4@3 ~@7 [a#4,c#5]@37 [a#4,c#5]@12 ~@28]/4", // A#m
})).s("gm_synth_strings_1").gain(0.17).pan(0.8)

// other · lead 2 sawtooth · "CH5"
const lead_2_sawtooth = note("<~@55 A B C@2 ~@23>".pickRestart({
  A: "~@12 e6 ~ f#6@3 a6@6 f#6@6 g6 ~ a6", B: "a6 ~ b6@4 g#6 ~ a6 ~ g#6@9 e6 f#6 ~ g6@2 f#6 e6 ~ b5 g5@2 f#5 e5",
  C: "[~ b4 e5@6 ~ d5@6 ~ e5@2 g5 ~ a5 b5 a5 ~ g5 ~ f#5 e5 ~ b5@9 ~@2 e6@14 ~@10]/2",
})).s("gm_lead_2_sawtooth").gain(0.02).pan(0.8)

// … 105 more lines

More by Genesis