Strudelify

Eternally

The Charmaines

KeyD majorTempo120 bpm
0:00/0:00
// Eternally — The Charmaines
// 120 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 2 "SYNBRASS 2" named as a brass, played on synth brass 1 (its acoustic bass patch is not one)
// note: Full arrangement: all 109 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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.

// other · synth brass 1 · "SYNBRASS 2"
const synth_brass_1 = note(`<
  A@2 B@2 C D E F B@2 G C@2 D H I J K L M C D E F B@2 G C@2 D H I J K C N H O P Q R@2 S H@2 O T U V W X Y H O P Q R@2 S
  H@2 O T U V W Z AA T AB AC AD AE@2 AF T@2 AB AG AH AI AJ AK AL T AB AC AD AE@2 AF T@2 AB AG AH AI AJ AF T AI AJ AF T
  AI AJ AF AM AN
>`.pickRestart({
  A: "f2@2 ~ f2 c2@2 d2@2 f2@2 ~ f2 c2@2 d2@2", B: "c2@2 ~ c2 g2@3 ~ c2@2 ~ c2 g2@3 ~",
  C: "f2@2 ~ f2 c2@2 d2 ~ f2@2 ~ f2 c2@2 d2 ~", D: "f2@2 ~ f2 c2@2 d2 ~ f2@3 ~ f#2@3 ~",
  E: "g2@2 ~ g2 d2@3 ~ g2@2 ~ g2 d2@3 ~", F: "g2@2 ~ g2 d2@3 ~ g2 ~ f2 ~ e2 ~ d2 ~",
  G: "f2@2 ~ f2 c2@2 d2@2 f2@2 ~ f2 c2@2 d2 ~", H: "g2@2 ~ g2 d2@2 e2 ~ g2@2 ~ g2 d2@2 e2 ~",
  I: "c3@3 c3 g2@2 a#2 ~ c3@2 ~ c3 g2@2 a#2@2", J: "g2@2 ~ g2 d2@2 e2 ~ g2@2 ~ g2 d2@2 f2@2",
  K: "c3@2 ~ c3 g2@2 a#2 ~ c3@2 ~ c3 g2@2 a#2 ~", L: "f2@2 ~ f2 f2@3 ~ f#2@2 ~ f#2 f#2@3 ~",
  M: "g2@2 ~ g2 g2@2 ~@2 c3@3 ~ c2@3 ~", N: "d3 ~ d3 ~ c3 ~ c3 ~ b2 ~ b2 ~ a2 ~ a2 ~",
  O: "g2@2 ~ g2 d2@2 e2 ~ g2@3 ~ g#2@3 ~", P: "a2@2 ~ a2 e2@3 ~ a2@2 ~ a2 e2@3 ~",
  Q: "a2@2 ~ a2 e2@3 ~ a2 ~ g2 ~ f#2 ~ e2 ~", R: "d2@2 ~ d2 a2@3 ~ d2@2 ~ d2 a2@3 ~",
  S: "g2@2 ~ g2 d2@2 e2@2 g2@2 ~ g2 d2@2 e2 ~", T: "a2@2 ~ a2 e2@2 f#2 ~ a2@2 ~ a2 e2@2 f#2 ~",
  U: "d3@3 d3 a2@2 c3 ~ d3@2 ~ d3 a2@2 c3@2", V: "a2@2 ~ a2 e2@2 f#2 ~ a2@2 ~ a2 e2@2 g2@2",
  W: "d3@2 ~ d3 a2@2 c3 ~ d3@2 ~ d3 a2@2 c3 ~", X: "g2@2 ~ g2 g2@3 ~ g#2@2 ~ g#2 g#2@3 ~",
  Y: "a2@2 ~ a2 a2@2 ~@2 d3@3 ~ d2@3 ~", Z: "g2@2 ~ g2 d2@2 e2 ~ g2@2 ~ g2 d2@2 e2@2",
  AA: "~@3 e2@2 f#2@2 ~ g#2@3 a2@2 b2@2 ~", AB: "a2@2 ~ a2 e2@2 f#2 ~ a2@3 ~ a#2@3 ~",
  AC: "b2@2 ~ b2 f#2@3 ~ b2@2 ~ b2 f#2@3 ~", AD: "b2@2 ~ b2 f#2@3 ~ b2 ~ a2 ~ g#2 ~ f#2 ~",
  AE: "e2@2 ~ e2 b2@3 ~ e2@2 ~ e2 b2@3 ~", AF: "a2@2 ~ a2 e2@2 f#2@2 a2@2 ~ a2 e2@2 f#2 ~",
  AG: "b2@2 ~ b2 f#2@2 g#2 ~ b2@2 ~ b2 f#2@2 g#2 ~", AH: "e3@3 e3 b2@2 d3 ~ e3@2 ~ e3 b2@2 d3@2",
  AI: "b2@2 ~ b2 f#2@2 g#2 ~ b2@2 ~ b2 f#2@2 a2@2", AJ: "e3@2 ~ e3 b2@2 d3 ~ e3@2 ~ e3 b2@2 d3 ~",
  AK: "a2@2 ~ a2 a2@3 ~ a#2@2 ~ a#2 a#2@3 ~", AL: "b2@2 ~ b2 b2@2 ~@2 e3@3 ~ e2@3 ~",
  AM: "a2@2 ~ a2 e2@2 f#2 ~ a2 ~ g#2 ~ f#2 ~ e2 ~", AN: "a2 ~ a2 ~@2 a2 ~ a2!2 ~@7",
})).s("gm_synth_brass_1").gain(0.57)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  A B C D E F G H I J K L M N O P Q C R S E F G H I J K L M N O P Q C E ~ T U V W X Y Z AA AB AC AD AE AF AG AH AI T U V
  W X Y Z AA AB AC AD AE AF AG T ~ AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AJ AK AL AM AN AO AP AQ AR AS AT AU
  AV AW AP AQ AV AW AP AQ AV AW AP AZ ~
>`.pickRestart({
  A: "[f3,a3,c4] ~ [f3,a3,c4] ~@2 a3 ~ [f3,a3,d4] ~ [f3,a3,d4] ~ [f3,a3,d4] [f3,a3,d4]@2 [a3,d4] ~, ~@2 [f3,a3,c4] ~@5", // F Dm D5 F
  B: "[f3,a3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4]!2 ~ [f3,a3,d4] ~ [f3,a3,d4] ~ [f3,a3,d4] [f3,a3,d4]@2 [f3,a3,d4] ~", // F Dm
  C: "[e3,g3,c4] ~ [e3,g3,c4] ~ [e3,g3,c4] ~ [e3,g3,c4] [e3,g3,d4] ~ [e3,g3,d4] ~ [e3,g3,d4]!2 ~ [e3,g3,d4] ~", // C Em7
  D: "[e3,g3,c4] ~ [e3,g3,c4] ~ [e3,g3,c4]!2 ~ [e3,g3,d4]@2 [e3,g3,d4]@2 [e3,g3,d4] g3@2 [e3,g3,d4] ~", // C Em7
  E: "[f3,a3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4] [a3,c4] ~ [f3,a3,d4] ~ [f3,a3,d4] ~ [f3,a3,d4] [f3,a3] ~ [f3,a3,d4] ~", // F Am Dm F Dm
  F: "[f3,a3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4]!2 ~ [f#3,a3,c4] ~ [f#3,a3,c4] ~ [f#3,a3,c4]!2 ~ [f#3,a3,c4] ~", // F F#dim
  G: "[g3,a#3,d4] ~ [g3,a#3,d4] ~ [g3,a#3,d4]!2 ~ [g3,a#3,e4] ~ [g3,a#3,e4] ~@2 a#3 ~ [g3,a#3,e4] ~, ~@11 [g3,a#3,e4]@2 ~@3", // Gm Edim
  H: "[g3,a#3,f4] ~ [g3,a#3,f4] ~ [g3,a#3,f4] ~ [g3,a#3,f4] [g3,a#3,e4] ~ [g3,a#3,e4] ~ [a#3,e4]!2 ~ [g3,a#3,e4] ~, ~@11 g3@3 ~@2", // Gm7 Edim A#dim Edim
  I: "[g3,a#3,c4] ~ [g3,a#3,c4] ~ [g3,a#3,c4] [a#3,c4] ~ [g3,a#3,d4] ~ [g3,a#3,d4] ~ [g3,a#3,d4] [a#3,d4] ~ [g3,a#3,d4] ~", // C7 A#sus2 Gm A# Gm
  J: "[e3,g3,c4] ~ [e3,g3,c4] ~ [e3,g3,c4]!2 ~@2 [g#3,c4] [e3,g#3,c4] ~@2 [g#3,c4]@2 [e3,g#3,c4] ~, ~@7 e3@2 ~@2 e3@2 ~@3", // C G# Eaug G# Eaug
  K: "[f3,a3,c4] ~ [f3,a3,c4] ~@2 [a3,c4] ~ [f3,a3] ~ a3 ~@2 [a3,d4] ~ [a3,d4]@2, ~@4 f3@2 ~@2 [f3,a3,d4]@2 ~ f3@4 ~", // F Am F D5 Dm
  L: "~ [a3,e4] ~ f3 [f3,a3,e4] ~ [f3,a3,e4] [f3,a3,d4] ~ [f3,a3,d4]@2 ~ [f3,a3,d4] ~ [f3,a3,d4] ~, f3 ~@7", // A5 Fmaj7 Dm
  M: "[f3,a3,c4] ~ [f3,a3,c4] ~ f3 [f3,a3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4] ~@2 [a3,c4]@2 [a3,c4] ~, ~@11 f3@4 ~", // F Am
  N: "[f3,a3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4] [a3,c4] ~ [f#3,a3,c4] ~ [f#3,a3,c4] ~ [f#3,a3,c4]!2 ~ [f#3,a3,c4] ~", // F Am F#dim
  O: "[g3,a#3,d4] ~ [g3,a#3,d4] ~ [g3,a#3,d4] [a#3,d4] ~ [g3,a#3,d4] ~ [g3,a#3,e4] ~ [g3,a#3,e4] [g3,a#3]@2 [g3,a#3,e4] ~", // Gm A# Gm Edim Gm Edim
  P: "[e3,g3,c4] ~ [e3,g3,c4] ~ [e3,g3,c4] [g3,c4] ~ [e3,g3,d4] ~ [e3,g3,d4] ~ [e3,g3,d4]!2 ~ [e3,g3,d4] ~", // C C5 Em7
  Q: "[g3,a#3,d4] ~ [g3,a#3,d4] ~ [g3,a#3,d4]!2 ~ [g3,a#3,e4] ~ [g3,a#3,e4] ~ [g3,a#3,e4]!2 ~ [g3,a#3,e4] ~", // Gm Edim
  R: "[f3,a3,c4] ~ [f3,a3,c4] ~@2 [f3,a3,c4] ~ f3 f#3 [f#3,a3,c4] ~ f#3 ~ [f#3,a3,c4] ~ [a3,c4]", // F F#dim Am
  S: "g3 ~ [g3,a#3,d4]!2 ~ [a#3,d4] ~ [d#4,e4] ~ d4 c4 a#3 a3 ~ g3 f#3, ~@4 g3@3 ~@9", // Gm A# Emaj7
  T: "[g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4] [b3,d4] ~ [g3,b3,e4] ~ [g3,b3,e4] ~ [g3,b3,e4] [g3,b3] ~ [g3,b3,e4] ~", // G Bm Em G Em
  U: "[g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4]!2 ~ [g#3,b3,d4] ~ [g#3,b3,d4] ~ [g#3,b3,d4]!2 ~ [g#3,b3,d4] ~", // G G#dim
  V: "[a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]!2 ~ [a3,c4,f#4] ~ [a3,c4,f#4] ~@2 c4 ~ [a3,c4,f#4] ~, ~@11 [a3,c4,f#4]@2 ~@3", // Am F#dim
  W: "[a3,c4,g4] ~ [a3,c4,g4] ~ [a3,c4,g4] ~ [a3,c4,g4] [a3,c4,f#4] ~ [a3,c4,f#4] ~ [c4,f#4]!2 ~ [a3,c4,f#4] ~, ~@11 a3@3 ~@2", // Am7 F#dim Cdim F#dim
  X: "[a3,c4,d4] ~ [a3,c4,d4] ~ [a3,c4,d4] [c4,d4] ~ [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4] [c4,e4] ~ [a3,c4,e4] ~", // D7 Csus2 Am C Am
  Y: "[f#3,a3,d4] ~ [f#3,a3,d4] ~ [f#3,a3,d4]!2 ~@2 [a#3,d4] [f#3,a#3,d4] ~@2 [a#3,d4]@2 [f#3,a#3,d4] ~, ~@7 f#3@2 ~@2 f#3@2 ~@3", // D A# F#aug A# F#aug
  Z: "[g3,b3,d4] ~ [g3,b3,d4] ~@2 [b3,d4] ~ [g3,b3] ~ b3 ~@2 [b3,e4] ~ [b3,e4]@2, ~@4 g3@2 ~@2 [g3,b3,e4]@2 ~ g3@4 ~", // G Bm G E5 Em
  AA: "~ [b3,f#4] ~ g3 [g3,b3,f#4] ~ [g3,b3,f#4] [g3,b3,e4] ~ [g3,b3,e4]@2 ~ [g3,b3,e4] ~ [g3,b3,e4] ~, g3 ~@7", // B5 Gmaj7 Em
  AB: "[g3,b3,d4] ~ [g3,b3,d4] ~ g3 [g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4] ~@2 [b3,d4]@2 [b3,d4] ~, ~@11 g3@4 ~", // G Bm
  AC: "[g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4] [b3,d4] ~ [g#3,b3,d4] ~ [g#3,b3,d4] ~ [g#3,b3,d4]!2 ~ [g#3,b3,d4] ~", // G Bm G#dim
  AD: "[a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4] [c4,e4] ~ [a3,c4,e4] ~ [a3,c4,f#4] ~ [a3,c4,f#4] [a3,c4]@2 [a3,c4,f#4] ~", // Am C Am F#dim Am F#dim
  AE: "[f#3,a3,d4] ~ [f#3,a3,d4] ~ [f#3,a3,d4] [a3,d4] ~ [f#3,a3,e4] ~ [f#3,a3,e4] ~ [f#3,a3,e4]!2 ~ [f#3,a3,e4] ~", // D D5 F#m7
  AF: "[a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]!2 ~ [a3,c4,f#4] ~ [a3,c4,f#4] ~ [a3,c4,f#4]!2 ~ [a3,c4,f#4] ~", // Am F#dim
  AG: "[f#3,a3,d4] ~ [f#3,a3,d4] ~ [f#3,a3,d4] ~ [f#3,a3,d4] [f#3,a3,e4] ~ [f#3,a3,e4] ~ [f#3,a3,e4]!2 ~ [f#3,a3,e4] ~", // D F#m7
  AH: "[g3,b3,d4] ~ [g3,b3,d4] ~@2 [g3,b3,d4] ~ g3 g#3 [g#3,b3,d4] ~ g#3 ~ [g#3,b3,d4] ~ [b3,d4]", // G G#dim Bm
  AI: "a3 ~ [a3,c4,e4]!2 ~ [c4,e4] ~ [f4,f#4] ~ e4 d4 c4 b3 ~ a3 g#3, ~@4 a3@3 ~@9", // Am C F#maj7
  AJ: "[a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] [c#4,e4] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] [a3,c#4] ~ [a3,c#4,f#4] ~", // A C#m F#m A F#m
  AK: "[a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4]!2 ~ [a#3,c#4,e4] ~ [a#3,c#4,e4] ~ [a#3,c#4,e4]!2 ~ [a#3,c#4,e4] ~", // A A#dim
  AL: "[b3,d4,f#4] ~ [b3,d4,f#4] ~ [b3,d4,f#4]!2 ~ [b3,d4,g#4] ~ [b3,d4,g#4] ~@2 d4 ~ [b3,d4,g#4] ~, ~@11 [b3,d4,g#4]@2 ~@3", // Bm G#dim
  AM: "[b3,d4,a4] ~ [b3,d4,a4] ~ [b3,d4,a4] ~ [b3,d4,a4] [b3,d4,g#4] ~ [b3,d4,g#4] ~ [d4,g#4]!2 ~ [b3,d4,g#4] ~, ~@11 b3@3 ~@2", // Bm7 G#dim Ddim G#dim
  AN: "[b3,d4,e4] ~ [b3,d4,e4] ~ [b3,d4,e4] [d4,e4] ~ [b3,d4,f#4] ~ [b3,d4,f#4] ~ [b3,d4,f#4] [d4,f#4] ~ [b3,d4,f#4] ~", // E7 Dsus2 Bm D Bm
  AO: "[g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4]!2 ~@2 [c4,e4] [g#3,c4,e4] ~@2 [c4,e4]@2 [g#3,c4,e4] ~, ~@7 g#3@2 ~@2 g#3@2 ~@3", // E C G#aug C G#aug
  AP: "[a3,c#4,e4] ~ [a3,c#4,e4] ~@2 [c#4,e4] ~ [a3,c#4] ~ c#4 ~@2 [c#4,f#4] ~ [c#4,f#4]@2, ~@4 a3@2 ~@2 [a3,c#4,f#4]@2 ~ a3@4 ~", // A C#m A F#5 F#m
  AQ: "~ [c#4,g#4] ~ a3 [a3,c#4,g#4] ~ [a3,c#4,g#4] [a3,c#4,f#4] ~ [a3,c#4,f#4]@2 ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~, a3 ~@7", // C#5 Amaj7 F#m
  AR: "[a3,c#4,e4] ~ [a3,c#4,e4] ~ a3 [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~@2 [c#4,e4]@2 [c#4,e4] ~, ~@11 a3@4 ~", // A C#m
  AS: "[a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] [c#4,e4] ~ [a#3,c#4,e4] ~ [a#3,c#4,e4] ~ [a#3,c#4,e4]!2 ~ [a#3,c#4,e4] ~", // A C#m A#dim
  AT: "[b3,d4,f#4] ~ [b3,d4,f#4] ~ [b3,d4,f#4] [d4,f#4] ~ [b3,d4,f#4] ~ [b3,d4,g#4] ~ [b3,d4,g#4] [b3,d4]@2 [b3,d4,g#4] ~", // Bm D Bm G#dim Bm G#dim
  AU: "[g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] [b3,e4] ~ [g#3,b3,f#4] ~ [g#3,b3,f#4] ~ [g#3,b3,f#4]!2 ~ [g#3,b3,f#4] ~", // E E5 G#m7
  AV: "[b3,d4,f#4] ~ [b3,d4,f#4] ~ [b3,d4,f#4]!2 ~ [b3,d4,g#4] ~ [b3,d4,g#4] ~ [b3,d4,g#4]!2 ~ [b3,d4,g#4] ~", // Bm G#dim
  AW: "[g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] ~ [g#3,b3,e4] [g#3,b3,f#4] ~ [g#3,b3,f#4] ~ [g#3,b3,f#4]!2 ~ [g#3,b3,f#4] ~", // E G#m7
  AX: "[a3,c#4,e4] ~ [a3,c#4,e4] ~@2 [a3,c#4,e4] ~ a3 a#3 [a#3,c#4,e4] ~ a#3 ~ [a#3,c#4,e4] ~ [c#4,e4]", // A A#dim C#m
  AY: "b3 ~ [b3,d4,f#4]!2 ~ [d4,f#4] ~ g4 g#4 f#4 e4 d4 c#4 ~ b3 a#3, ~@4 b3@3 ~@9", // Bm D
  AZ: "~ [c#4,g#4] ~ a3 [a3,c#4,g#4] ~ [a3,c#4,g#4] [a3,c#4,f#4] ~ [a3,c#4,f#4]@2 ~ [a3,c#4,f#4] ~ [a3,c#4] ~, a3 ~@7", // C#5 Amaj7 F#m A
})).s("gm_acoustic_guitar_steel").gain(0.57).pan(0.2)

// chords · tuba
const tuba = note(`<
  ~@2 A B C D E F G H I J K L M N O P Q@2 C D E F G H I J K L M N O P R S T U V W X Y Z AA AB AC AD AE AF AG AH@2 T U V
  W X Y Z AA AB AC AD AE AF AG AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY@2 AK AL AM AN AO AP AQ AR AS AT AU AV
  AW AX AQ AR AW AX AQ AR AW AX AQ AR AZ
>`.pickRestart({
  A: "g4 ~ g4 ~ a#4@3 ~@2 g4 ~ g4 a#4@2 ~@2", B: "g4 ~ g4 ~ a#4@2 ~@3 g4 ~ g4 a#4@2 ~@2",
  C: "~@4 f4@2 a4 c5 ~ d5 ~ c5 a4@2 ~@2", D: "~@4 f4 ~ a4 ~ f#4@5 ~@3", E: "g4 ~ a#4 d5@4 ~ e5@7 ~, ~@3 c#5 ~@12",
  F: "[a#4,f5]@7 ~ [a#4,e5]@5 ~@3", G: "[e5,a#5]!2 ~@4 [e5,a#5]!2 ~@8",
  H: "[e5,g5,a#5]!2 ~@4 [e5,g5,a#5]!2 ~@4 [e5,g#5]@3 ~", I: "[f5,a5]!2 ~@6 [f5,a5,d6]!2 ~@6",
  J: "[f5,a5,e6]!2 ~@6 [f5,a5,d6]!2 ~@6", // Fmaj7 Dm
  K: "[f5,a5,c6] ~@3 [f5,a5,c6]!2 ~@2 [f5,a5,c6] ~@2 [f5,a5,c6] ~ [f5,a5,c6]!2 ~", // F
  L: "[f5,a5,c6] ~@3 [f5,a5,c6]!2 ~@2 [f#5,a5,c6] ~@2 [f#5,a5,c6] ~ [f#5,a5,c6]!2 ~", // F F#dim
  M: "[g5,a#5,d6] ~@3 [g5,a#5,d6]!2 ~@3 [g5,a#5,d6] ~ [g5,a#5,d6] [g5,a#5,d6]@2 [g5,a#5,d6] ~", // Gm
  N: "[g5,a#5,e6]!2 ~ [g5,a#5,e6] ~ [g5,a#5,e6]!2 ~@2 [g5,a#5,e6] ~ [g5,a#5,e6] [g5,a#5,e6]@2 [a#5,e6] ~", // Edim A#dim
  O: "[g5,a#5,d6]", P: "[g5,a#5,e6]@15 ~", Q: "[f6@5 c6 f6 f#6@6 d6 f#6 g6@6 d6 f#6 g6 c7 a#6 g6 e6 c6 ~@3]/2",
  R: "[f4,a4,c5]@15 ~", S: "d5 ~ d5 ~ c5 ~ c5 ~ b4 ~ b4 ~ a4 ~ a4 ~", T: "~@4 g4@2 b4 d5 ~ e5 ~ d5 b4@2 ~@2",
  U: "~@4 g4 ~ b4 ~ g#4@5 ~@3", V: "a4 ~ c5 e5@4 ~ f#5@7 ~, ~@3 d#5 ~@12", W: "c5@7 ~ [c5,f#5]@5 ~@3",
  X: "[f#5,c6]!2 ~@4 [f#5,c6]!2 ~@8", Y: "[f#5,a5,c6]!2 ~@4 [f#5,a5,c6]!2 ~@4 [f#5,a#5]@3 ~",
  Z: "[g5,b5]!2 ~@6 [g5,b5,e6]!2 ~@6", AA: "[g5,b5,f#6]!2 ~@6 [g5,b5,e6]!2 ~@6",
  AB: "[g5,b5,d6] ~@3 [g5,b5,d6]!2 ~@2 [g5,b5,d6] ~@2 [g5,b5,d6] ~ [g5,b5,d6]!2 ~", // G
  AC: "[g5,b5,d6] ~@3 [g5,b5,d6]!2 ~@2 [g#5,b5,d6] ~@2 [g#5,b5,d6] ~ [g#5,b5,d6]!2 ~", // G G#dim
  AD: "[a5,c6,e6] ~@3 [a5,c6,e6]!2 ~@2 c6 [a5,c6,e6] ~ [a5,c6,e6] [a5,c6,e6]@2 [a5,c6,e6] ~", // Am
  AE: "[a5,c6,f#6]!2 ~ [a5,c6,f#6] ~ [a5,c6,f#6] [a5,c6] ~@2 [a5,c6,f#6] ~ [a5,c6] [a5,c6,f#6]@2 [c6,f#6] ~", // F#dim Am F#dim Am F#dim Cdim
  AF: "[a5,c6,e6]", AG: "[a5,c6]@15 ~", AH: "[g6@5 d6 g6 g#6@6 [d6,e6] g#6 a6@6 e6 g#6 a6 d7 c7 a6 f#6 d6 ~@3]/2",
  AI: "[g4,b4,d5]@15 ~", AJ: "~@3 [e4,b4,e5]@2 [f#4,b4,f#5]@2 ~ [g#4,d5,g#5]@2 ~ [a4,e5,a5]@2 [b4,b5]@2 ~",
  AK: "~@4 a4@2 c#5 e5 ~ f#5 ~ e5 c#5@2 ~@2", AL: "~@4 a4 ~ c#5 ~ a#4@5 ~@3",
  AM: "b4 ~ d5 f#5@4 ~ g#5@7 ~, ~@3 f5 ~@12", AN: "[d5,a5]@7 ~ [d5,g#5]@5 ~@3", AO: "[g#5,d6]!2 ~@4 [g#5,d6]!2 ~@8",
  AP: "[g#5,b5,d6]!2 ~@4 [g#5,b5,d6]!2 ~@4 [g#5,c6]@3 ~", AQ: "[a5,c#6]!2 ~@6 [a5,c#6,f#6]!2 ~@6",
  AR: "[a5,c#6,g#6]!2 ~@6 [a5,c#6,f#6]!2 ~@6", // Amaj7 F#m
  AS: "[a5,c#6,e6] ~@3 [a5,c#6,e6]!2 ~@2 [a5,c#6,e6] ~@2 [a5,c#6,e6] ~ [a5,c#6,e6]!2 ~", // A
  AT: "[a5,c#6,e6] ~@3 [a5,c#6,e6]!2 ~@2 [a#5,c#6,e6] ~@2 [a#5,c#6,e6] ~ [a#5,c#6,e6]!2 ~", // A A#dim
  AU: "[b5,d6,f#6] ~@3 [b5,d6,f#6]!2 ~@2 d6 [b5,d6,f#6] ~ [b5,d6,f#6] [b5,d6,f#6]@2 [b5,d6,f#6] ~", // Bm
  AV: "[b5,d6,g#6]!2 ~ [b5,d6,g#6] ~ [b5,d6,g#6]!2 ~@2 [b5,d6,g#6] ~ [b5,d6,g#6] [b5,d6,g#6]@2 [d6,g#6] ~", // G#dim Ddim
  AW: "[b5,d6,f#6]", AX: "[b5,d6,g#6]@15 ~",
  AY: "[a6@5 e6 a6 a#6@6 [e6,f#6] a#6 b6@6 f#6 a#6 b6 e7 d7 b6 g#6 e6 ~@3]/2", // Esus2
  AZ: "[a4,c#5,e5,a5,a6] ~ [a4,c#5,e5,a5,a6] ~@2 [a4,c#5,e5,a5,a6] ~ [a4,c#5,e5,a5,a6]!2 ~@7", // A
})).s("gm_tuba").gain(0.8).pan(0.3)

// chords · tuba
const tuba_2 = note(`<
  ~@2 A B C D E F G H I J K L M N O P Q@2 C D E F G H I J K L M N O P R S T U V W X Y Z AA AB AC AD AE AF AG AH@2 T U V
  W X Y Z AA AB AC AD AE AF AG AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY@2 AK AL AM AN AO AP AQ AR AS AT AU AV
  AW AX AQ AR AW AX AQ AR AW AX AQ AR AZ
>`.pickRestart({
  A: "g3 ~ g3 ~ a#3@3 ~@2 g3 ~ g3 a#3@2 ~@2", B: "g3 ~ g3 ~ a#3@2 ~@3 g3 ~ g3 a#3@2 ~@2",
  C: "~@4 f3@2 a3 c4 ~ d4 ~ c4 a3@2 ~@2", D: "~@4 f3 ~ a3 ~ f#3@5 ~@3", E: "g3 ~ a#3 d4@4 ~ e4@7 ~, ~@3 c#4 ~@12",
  F: "[a#3,f4]@7 ~ [a#3,e4]@5 ~@3", G: "[e4,a#4]!2 ~@4 [e4,a#4]!2 ~@8",
  H: "[e4,g4,a#4]!2 ~@4 [e4,g4,a#4]!2 ~@4 [e4,g#4]@3 ~", I: "[f4,a4]!2 ~@6 [f4,a4,d5]!2 ~@6",
  J: "[f4,a4,e5]!2 ~@6 [f4,a4,d5]!2 ~@6", // Fmaj7 Dm
  K: "[f4,a4,c5] ~@3 [f4,a4,c5]!2 ~@2 [f4,a4,c5] ~@2 [f4,a4,c5] ~ [f4,a4,c5]!2 ~", // F
  L: "[f4,a4,c5] ~@3 [f4,a4,c5]!2 ~@2 [f#4,a4,c5] ~@2 [f#4,a4,c5] ~ [f#4,a4,c5]!2 ~", // F F#dim
  M: "[g4,a#4,d5] ~@3 [g4,a#4,d5]!2 ~@3 [g4,a#4,d5] ~ [g4,a#4,d5] [g4,a#4,d5]@2 [g4,a#4,d5] ~", // Gm
  N: "[g4,a#4,e5]!2 ~ [g4,a#4,e5] ~ [g4,a#4,e5]!2 ~@2 [g4,a#4,e5] ~ [g4,a#4,e5] [g4,a#4,e5]@2 [a#4,e5] ~", // Edim A#dim
  O: "[g4,a#4,d5]", P: "[g4,a#4,e5]@15 ~", Q: "[f5@5 c5 f5 f#5@6 d5 f#5 g5@6 d5 f#5 g5 c6 a#5 g5 e5 c5 ~@3]/2",
  R: "[f3,a3,c4]@15 ~", S: "d4 ~ d4 ~ c4 ~ c4 ~ b3 ~ b3 ~ a3 ~ a3 ~", T: "~@4 g3@2 b3 d4 ~ e4 ~ d4 b3@2 ~@2",
  U: "~@4 g3 ~ b3 ~ g#3@5 ~@3", V: "a3 ~ c4 e4@4 ~ f#4@7 ~, ~@3 d#4 ~@12", W: "c4@7 ~ [c4,f#4]@5 ~@3",
  X: "[f#4,c5]!2 ~@4 [f#4,c5]!2 ~@8", Y: "[f#4,a4,c5]!2 ~@4 [f#4,a4,c5]!2 ~@4 [f#4,a#4]@3 ~",
  Z: "[g4,b4]!2 ~@6 [g4,b4,e5]!2 ~@6", AA: "[g4,b4,f#5]!2 ~@6 [g4,b4,e5]!2 ~@6",
  AB: "[g4,b4,d5] ~@3 [g4,b4,d5]!2 ~@2 [g4,b4,d5] ~@2 [g4,b4,d5] ~ [g4,b4,d5]!2 ~", // G
  AC: "[g4,b4,d5] ~@3 [g4,b4,d5]!2 ~@2 [g#4,b4,d5] ~@2 [g#4,b4,d5] ~ [g#4,b4,d5]!2 ~", // G G#dim
  AD: "[a4,c5,e5] ~@3 [a4,c5,e5]!2 ~@2 c5 [a4,c5,e5] ~ [a4,c5,e5] [a4,c5,e5]@2 [a4,c5,e5] ~", // Am
  AE: "[a4,c5,f#5]!2 ~ [a4,c5,f#5] ~ [a4,c5,f#5] [a4,c5] ~@2 [a4,c5,f#5] ~ [a4,c5] [a4,c5,f#5]@2 [c5,f#5] ~", // F#dim Am F#dim Am F#dim Cdim
  AF: "[a4,c5,e5]", AG: "[a4,c5]@15 ~", AH: "[g5@5 d5 g5 g#5@6 [d5,e5] g#5 a5@6 e5 g#5 a5 d6 c6 a5 f#5 d5 ~@3]/2",
  AI: "[g3,b3,d4]@15 ~", AJ: "~@3 [e3,b3,e4]@2 [f#3,b3,f#4]@2 ~ [g#3,d4,g#4]@2 ~ [a3,e4,a4]@2 [b3,b4]@2 ~",
  AK: "~@4 a3@2 c#4 e4 ~ f#4 ~ e4 c#4@2 ~@2", AL: "~@4 a3 ~ c#4 ~ a#3@5 ~@3",
  AM: "b3 ~ d4 f#4@4 ~ g#4@7 ~, ~@3 f4 ~@12", AN: "[d4,a4]@7 ~ [d4,g#4]@5 ~@3", AO: "[g#4,d5]!2 ~@4 [g#4,d5]!2 ~@8",
  AP: "[g#4,b4,d5]!2 ~@4 [g#4,b4,d5]!2 ~@4 [g#4,c5]@3 ~", AQ: "[a4,c#5]!2 ~@6 [a4,c#5,f#5]!2 ~@6",
  AR: "[a4,c#5,g#5]!2 ~@6 [a4,c#5,f#5]!2 ~@6", // Amaj7 F#m
  AS: "[a4,c#5,e5] ~@3 [a4,c#5,e5]!2 ~@2 [a4,c#5,e5] ~@2 [a4,c#5,e5] ~ [a4,c#5,e5]!2 ~", // A
  AT: "[a4,c#5,e5] ~@3 [a4,c#5,e5]!2 ~@2 [a#4,c#5,e5] ~@2 [a#4,c#5,e5] ~ [a#4,c#5,e5]!2 ~", // A A#dim
  AU: "[b4,d5,f#5] ~@3 [b4,d5,f#5]!2 ~@2 d5 [b4,d5,f#5] ~ [b4,d5,f#5] [b4,d5,f#5]@2 [b4,d5,f#5] ~", // Bm
  AV: "[b4,d5,g#5]!2 ~ [b4,d5,g#5] ~ [b4,d5,g#5]!2 ~@2 [b4,d5,g#5] ~ [b4,d5,g#5] [b4,d5,g#5]@2 [d5,g#5] ~", // G#dim Ddim
  AW: "[b4,d5,f#5]", AX: "[b4,d5,g#5]@15 ~",
  AY: "[a5@5 e5 a5 a#5@6 [e5,f#5] a#5 b5@6 f#5 a#5 b5 e6 d6 b5 g#5 e5 ~@3]/2", // Esus2
  AZ: "[a3,c#4,e4,a4,a5] ~ [a3,c#4,e4,a4,a5] ~@2 [a3,c#4,e4,a4,a5] ~ [a3,c#4,e4,a4,a5]!2 ~@7", // A
})).s("gm_tuba").gain(0.8).pan(0.8)

// drums · kick
const kick = s("bd").struct("<[x!4]!67 [x ~@7 x ~@2 x ~ x ~@2] [x!4]!40 [x ~ x ~@2 x ~ x!2 ~@7]>").gain(0.6)

// drums · rim
const rim = s("rim").struct("<~@108 [x ~ x ~@2 x ~ x!2 ~@7]>").gain(0.6)

// drums · snare
const snare = s("sd").struct(`<
  [~ x ~ x]!35
  [~@2 x ~@3 x ~@3 x ~@3 x!2]
  [~ x ~ x]!31
  ~
  [~ x ~ x]!40
  [x ~ x ~@2 x ~ x!2 ~@7]
>`).gain(0.6)

// drums · hihat
const hihat = s("hh").struct("<~@35 [~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x] ~@73>").gain(0.53)

// drums · mid tom
const mid_tom = s("mt").struct("<~@67 x ~@41>").gain(0.38)

// drums · open hat
const open_hat = s("oh").struct(`<
// … 70 more lines