Strudelify
Talk to Me cover art

2004 · With the Lights Out

Talk to Me

Nirvana

KeyF majorTempo128 bpm
0:00/0:00
// Talk to Me — Nirvana
// 128 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 92 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(128/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, A@4 for four bars: edit a riff to change every repeat.

// chords · distortion guitar · "KDC-Guitar 1"
const distortion_guitar = note(`<
  ~@2 A B@5 C@2 D E@2 F@2 G H I J K@5 L M N O@4 P Q R S T@2 U@2 V W X Y Z@4 AA AB AC AD AE@4 AF@2 AG AH AI AJ@2 AK AL@2
  A AM AN@4 AO@2 D AP AQ AR@2 AS AT AU AV AW AX@4 AY AZ@2 ~@2
>`.pickRestart({
  A: "[g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~", // G5 B5 C5 G5
  B: "[[f3,c4]@4 ~@2 [f3,c4]@4 [f3,c4] [bb3,f4] ~ [bb3,f4] [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4 ~@2 [f3,c4]@4 [f3,c4] ~ [bb3,f4]!2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4 ~@2 [f3,c4]@4 [f3,c4] ~ [bb3,f4]!2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2]/5", // F5 Bb5 G5 B5 C5 G5 F5 Bb5 …
  C: "[~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4 ~ [f3,c4]@4 ~ [f3,c4] [bb3,f4] ~ [bb3,f4] [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~]/2", // G5 B5 C5 G5 F5 Bb5 G5
  D: "[g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@3", // G5 B5 C5 G5 F5
  E: "[~@3 [f3,c4]@4 [f3,c4] [bb3,f4] ~ [bb3,f4] [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4]/2", // F5 Bb5 G5 B5 C5 G5 F5
  F: "[~@2 [f3,c4]@4 [f3,c4] ~ [bb3,f4]!2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4 ~]/2", // F5 Bb5 G5 B5 C5 G5 F5
  G: "~ [f3,c4]@4 ~ [f3,c4] [bb3,f4]!2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2", // F5 Bb5 G5
  H: "~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4 ~", // B5 C5 G5 F5
  I: "[f3,c4]@4 ~ [f3,c4] [bb3,f4] ~ [bb3,f4] [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~", // F5 Bb5 G5
  J: "[b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4 ~@2", // B5 C5 G5 F5
  K: "[[f3,c4]@4 [f3,c4] ~ [bb3,f4]!2 [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4 ~@2 [f3,c4]@4 [f3,c4] ~ [bb3,f4]!2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@3 [f3,c4]@4 ~@2 [f3,c4]@4 ~ [f3,c4] [bb3,f4]@4 ~@8 [g3,d4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2]/5", // F5 Bb5 G5 B5 C5 G5 F5 Bb5 …
  L: "~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2 ~ [g3,d4]@2 ~ [f3,c4]@2 [f3,c4]@2 ~ [f3,c4]@2 ~", // B5 C5 G5 F5
  M: "[f3,c4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~", // F5 Bb5 G5
  N: "[b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2 ~ [g3,d4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~", // B5 C5 G5 F5
  O: "[[f3,c4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2 ~ [g3,d4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 [c4,g4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2 ~ [g3,d4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2]/4", // F5 Bb5 G5 B5 C5 G5 F5 Bb5 …
  P: "~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2", // Bb5 G5 B5
  Q: "~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4 ~ [f3,c4]@4 ~ [f3,c4]", // C5 G5 F5
  R: "[bb3,f4] ~ [bb3,f4] [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~", // Bb5 G5 B5
  S: "[c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4 ~@2 [f3,c4]@4 [f3,c4] ~", // C5 G5 F5
  T: "[[bb3,f4]!2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4 ~@2 [f3,c4]@4 [f3,c4] ~ [bb3,f4]]/2", // Bb5 G5 B5 C5 G5 F5 Bb5
  U: "[[bb3,f4] ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4 ~@2 [f3,c4]@4 ~ [f3,c4] [bb3,f4] ~]/2", // Bb5 G5 B5 C5 G5 F5 Bb5
  V: "[bb3,f4] [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2", // Bb5 G5 B5 C5
  W: "~ [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4 ~@2 [f3,c4]@4 [f3,c4] [bb3,f4] ~ [bb3,f4]", // C5 G5 F5 Bb5
  X: "[bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~", // Bb5 G5 B5 C5
  Y: "[c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4 ~@2 [f3,c4]@4 [f3,c4] ~ [bb3,f4]!2 ~", // C5 G5 F5 Bb5
  Z: "[[bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4 ~@2 [f3,c4]@4 [f3,c4] ~ [bb3,f4]!2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~ [g3,d4]@3 [f3,c4]@4 ~@2 [f3,c4]@4 ~ [f3,c4] [bb3,f4]@4 ~]/4", // Bb5 G5 B5 C5 G5 F5 Bb5 G5 …
  AA: "~@7 [g3,d4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2", // G5 B5 C5
  AB: "~ [c4,g4]@2 ~ [g3,d4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 [bb3,f4]@2 ~ [bb3,f4]@2 ~", // C5 G5 F5 Bb5
  AC: "[bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2 ~", // Bb5 G5 B5 C5
  AD: "[c4,g4]@2 ~ [g3,d4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~", // C5 G5 F5 Bb5
  AE: "[[bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2 ~ [g3,d4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2 [g3,d4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2]/4", // Bb5 G5 B5 C5 G5 F5 Bb5 G5 …
  AF: "[~ [bb3,f4]@2 ~ g3@4 ~@2 g3@3 c4@4 ~@2 c4@2 ~ f4@4 ~@2 eb4@4 ~@2 eb4@3 a3@4 ~ a3@2 ~ bb3@3]/2", // Bb5
  AG: "~@3 g3@4 ~@2 g3@3 c4@4 ~@2 c4@2 ~ f4@3", AH: "~@3 eb4@4 ~@2 eb4@3 a3@4 ~@2 a3@2 ~ ab3@3",
  AI: "~@3 g3@4 ~ g3@3 c4@4 ~@2 c4@2 ~ f4@4",
  AJ: "[~@2 c5@2 ~ c5@2 ~ c5@2 ~@7 f4@4 ~@2 gb3@2 ~ g3@4 ~@2 g3@3 c4@4 ~@2 c4@2 ~ f4@4, ~@11 b4@12 ~@25]/2",
  AK: "~ bb3@16 ~@7", AL: "[~ [g3,c4,g4]@32 ~@4 [bb4,d5,bb5]@8 ~@3]/2",
  AM: "[f3,c4]@4 ~@2 [f3,c4]@4 [f3,c4] ~ [bb3,f4]!2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~", // F5 Bb5
  AN: "[[g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4 ~@2 [f3,c4]@4 ~ [f3,c4] [bb3,f4] ~ [bb3,f4] [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4 ~ [f3,c4]@4 ~ [f3,c4] [bb3,f4] ~ [bb3,f4] [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2]/4", // G5 B5 C5 G5 F5 Bb5 G5 B5 …
  AO: "[~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4 ~@2 [f3,c4]@4 [f3,c4] ~ [bb3,f4]!2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 [bb3,f4]@2 ~ [g3,d4]@2 ~]/2", // G5 B5 C5 G5 F5 Bb5 G5
  AP: "~@3 [f3,c4]@4 [f3,c4] ~ [bb3,f4]!2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~", // F5 Bb5 G5
  AQ: "[g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4", // G5 B5 C5 G5 F5
  AR: "[~@2 [f3,c4]@4 ~ [f3,c4] [bb3,f4] ~ [bb3,f4] [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4]/2", // F5 Bb5 G5 B5 C5 G5 F5
  AS: "~ [f3,c4]@4 ~ [f3,c4] [bb3,f4] ~ [bb3,f4] [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2", // F5 Bb5 G5
  AT: "~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@3 [f3,c4]@4 ~", // B5 C5 G5 F5
  AU: "~ [f3,c4]@4 [f3,c4] ~ [bb3,f4]@4 ~@7 [g3,d4]@2 ~ [g3,d4]@2 ~", // F5 Bb5 G5
  AV: "[g3,d4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2 ~ [g3,d4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~", // G5 B5 C5 G5 F5
  AW: "[f3,c4]@2 ~ [f3,c4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~", // F5 Bb5 G5
  AX: "[[g3,d4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 [c4,g4]@2 ~ [c4,g4]@2 ~ [g3,d4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2 ~ [g3,d4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 [f3,c4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2]/4", // G5 B5 C5 G5 F5 Bb5 G5 B5 …
  AY: "~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2 ~ [g3,d4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2", // B5 C5 G5 F5
  AZ: "[~ [f3,c4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ g5@16 ~@16]/2", // F5 Bb5
})).s("gm_distortion_guitar").gain(0.41)

// bass · synth bass 2 · "KAN-Bass"
const bass = note(`<
  ~@3 A@5 B@2 C D@2 E@2 F G H I J@5 K@2 L M@2 N@2 O P Q R S@4 T U V W X@4 Y Z AA AB AC@5 AD@2 AE AF@2 AG@2 AH AI AJ AK
  AL@4 AM@2 C AN AO D@2 F G AP I H AQ@4 AR@2 L AS@2
>`.pickRestart({
  A: "[~@23 g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2 g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2]/5",
  B: "[~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~ f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2 ~]/2",
  C: "g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@3",
  D: "[~@2 f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4]/2",
  E: "[~@2 f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2 ~ g1@2 b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~]/2",
  F: "~ f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2 ~ g1@2", G: "~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~",
  H: "f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2 ~ g1@2 ~", I: "b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2",
  J: "[f1@4 ~@2 bb1@2 bb1@2 ~ bb1@4 ~@2 g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2 ~ g1@2 ~ b1@2 b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~@2 bb1@4 ~@8 g1@2 ~ g1@2 ~ b1@2]/5",
  K: "[~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~ bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2 ~ g1@2 ~ b1@2 ~]/2",
  L: "b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@3",
  M: "[~@3 bb1@2 ~ bb1@2 bb1@4 ~@2 g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4]/2",
  N: "[~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2 ~ g1@2 ~ b1@2 ~ b1@2 c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~]/2",
  O: "~ bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2 ~ g1@2 ~ b1@2 ~ b1@2", P: "~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~",
  Q: "bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~", R: "c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~@2",
  S: "[bb1@2 ~ bb1@2 ~ bb1@4 ~ g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~@2 bb1@2]/4",
  T: "~ bb1@2 ~ bb1@4 ~@2 g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2", U: "~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~@2 bb1@2",
  V: "bb1@2 ~ bb1@4 ~@2 g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~", W: "c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~@2 bb1@2 ~",
  X: "[bb1@2 ~ bb1@4 ~ g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~@2 bb1@4 ~]/4",
  Y: "~@7 g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2", Z: "~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~ bb1@2 ~ bb1@2 ~",
  AA: "bb1@4 ~@2 g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~", AB: "c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~@2 bb1@2 ~ bb1@2 ~",
  AC: "[bb1@4 ~@2 g1@2 g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 g1@2 ~ f1@4 ~@2 f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2]/5",
  AD: "[~ g1@2 ~ f1@4 ~@2 f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~ g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~]/2",
  AE: "g1@2 ~ f1@4 ~@2 f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@3",
  AF: "[~@3 g1@2 ~ g1@2 b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4]/2",
  AG: "[~@2 g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 f1@4 ~@2 f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~]/2",
  AH: "~ g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2", AI: "~ f1@4 ~@2 f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~",
  AJ: "g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~", AK: "f1@4 ~@2 f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~@2",
  AL: "[g1@2 ~ g1@2 ~ b1@2 b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~ f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2]/4",
  AM: "[~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2]/2",
  AN: "~@3 f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2 ~", AO: "g1@2 ~ b1@2 ~ b1@2 c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4",
  AP: "~ f1@4 ~@2 bb1@4 ~@7 g1@2 ~ g1@2 ~",
  AQ: "[b1@2 ~ b1@2 ~ c2@2 c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2 ~ g1@2 ~ b1@2 ~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~ bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2 ~ g1@2 ~ b1@2]/4",
  AR: "[~ b1@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ g1@2 ~ f1@4 ~@2 f1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@2 ~ g1@2 ~ b1@2]/2",
  AS: "[~@3 bb1@2 ~ bb1@2 ~ bb1@4 ~@2 g1@12 ~@21]/2",
})).s("gm_synth_bass_2").gain(0.41)

// chords · electric guitar clean · "KDC-Guitar 2"
const electric_guitar_clean = note("<A B C ~@52 D E F G H@4 I J ~@23 K L M@2>".pickRestart({
  A: "[g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~", // G5 B5 C5 G5
  B: "[f3,c4]@4 ~@2 [f3,c4]@4 ~ [f3,c4] [bb3,f4] ~ [bb3,f4] [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~", C: "g3 ~@2",
  D: "~@4 [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~", // G5 B5 C5
  E: "~ [g3,d4]@2 ~ [f3,c4]@4 ~@2 [f3,c4]@4 [f3,c4] ~ [bb3,f4]!2 [bb3,f4]@2 ~ [bb3,f4]@2 ~", // G5 F5 Bb5
  F: "[bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2", // Bb5 G5 B5 C5
  G: "[g3,d4]@2 ~ [f3,c4]@4 ~@2 [f3,c4]@4 [f3,c4] ~ [bb3,f4]!2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~", // G5 F5 Bb5
  H: "[[bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 ~ [f3,c4]@4 ~@2 [f3,c4]@4 ~ [f3,c4] [bb3,f4] ~ [bb3,f4] [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2 [f3,c4]@4 ~@2 [f3,c4]@4 ~ [f3,c4] [bb3,f4] ~ [bb3,f4] [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2]/4", // Bb5 G5 B5 C5 G5 F5 Bb5 G5 …
  I: "~ [g3,d4]@2 ~ [g3,d4]@2 ~ [b3,gb4]@2 ~ [b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@4 ~@2 [g3,d4]@2", // G5 B5 C5 G5
  J: "~ [f3,c4]@4 ~@2 [f3,c4]@4 [f3,c4] ~ [bb3,f4]!2 ~ [bb3,f4]@2 [bb3,f4]@2 ~ [bb3,f4]@2 ~", // F5 Bb5
  K: "~@16 [g3,d4]@2 [g3,d4]@2 ~ [g3,d4]@2 ~", // G5
  L: "[b3,gb4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2 ~ [c4,g4]@2 ~ [g3,d4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~ [f3,c4]@2 ~", // B5 C5 G5 F5
  M: "[[f3,c4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [bb3,f4]@2 ~ [g3,d4,g4,d5,g5]@12 ~@21]/2", // F5 Bb5 G5
})).s("gm_electric_guitar_clean").gain(0.41)

// drums · kick
const kick = s("bd").struct(`<
  ~@3 A B C D E D F G H I H J K J L M N O N P Q P R S T U T V W V X Y Z AA Z AB AC AB AD AE AF AG AF AH AI AH AJ AK AL
  AM AN AO AP AO AQ AR AQ AS AT AU AV AU AW AX AY C B E D F G F AZ H I K J BA M L O N O BB P R S ~@2
>`.pickRestart({
  A: "~@11 x ~@11 x", B: "~@2 x ~@8 x ~@11 x", C: "~@23 x", D: "~ x ~@8 x ~@11 x ~", E: "~@11 x", F: "~@7 x",
  G: "x ~@2 x ~@3 x", H: "~@20 x ~@2 x", I: "~@2 x ~@2 x", J: "~@7 x ~@11 x ~@4", K: "~@19 x ~@2 x ~", L: "~@6 x!2",
  M: "~ x ~ x", N: "~@17 x ~@2 x ~@3", O: "~@5 x ~@11 x ~@6", P: "~ x ~@2 x ~", Q: "~@10 x ~@5 x ~@2 x ~@4",
  R: "~@5 x!2 ~", S: "~ x ~@3 x ~@2", T: "~@14 x ~@2 x ~@6", U: "~ x ~@5 x ~@4", V: "~ x ~@11 x ~@10",
  W: "~@13 x ~@2 x ~@7", X: "~@4 x!2 ~@2", Y: "x!2", Z: "~@11 x ~@2 x ~@8 x", AA: "~@11 x ~@12", AB: "~@5 x ~@6",
  AC: "~@10 x ~@2 x ~@8 x ~", AD: "~@3 x!2 ~@2 x", AE: "~@3 x ~@4", AF: "~@8 x ~@2 x ~@8 x ~@3", AG: "~ x ~",
  AH: "~@7 x ~@16", AI: "~ x ~@5 x ~@2 x ~@8 x ~@4", AJ: "~@2 x!2 ~@2 x ~", AK: "~ x ~@2", AL: "~@6 x ~ x ~@8 x ~@6",
  AM: "~@5 x ~@18", AN: "~@5 x ~@2 x ~@8 x ~@6", AO: "~ x ~@4", AP: "~@4 x ~@2 x ~@8 x ~@7", AQ: "~ x!2 ~@2 x ~@2",
  AR: "~ x ~@6", AS: "~ x ~@10", AT: "~@2 x ~@2 x ~@8 x ~@9", AU: "~ x ~@22", AV: "~ x ~@2 x ~@8 x ~@10",
  AW: "x!2 ~@2 x ~@3", AX: "x", AY: "x ~@2 x ~@7 x ~@11 x", AZ: "x ~ x ~@2 x", BA: "~@13 x ~@4 x ~@2 x ~@2",
  BB: "~@16 x ~@2 x ~@4",
})).gain(0.41)

// drums · snare
const snare = s("sd").struct(`<
  ~@3 A B C D E D F G F H I J K J L M N O P Q R Q S T U V W X Y X Z AA AB AC AD AE AF AE AG AH AI AJ AK AL AM AL AN AO
  AP AQ AR AS AT AS AU AV AW AX AW AY AZ AY BA BB B C B E D E G F G I H K J K M L BC P O R Q R T BD ~
>`.pickRestart({
  A: "~@11 x ~ x!2 ~ x!2 ~@2 x ~ x ~", B: "~@5 x ~@2 x ~@8 x ~@6", C: "~@5 x ~@5 x ~@5 x ~@6",
  D: "~@4 x ~@2 x ~@8 x ~@7", E: "~@2 x ~@2 x ~@2 x ~@3", F: "~ x ~ x ~ x ~@2", G: "~ x!2 ~@2 x ~@2",
  H: "~@2 x ~@2 x ~@8 x ~@9", I: "~ x ~@2 x ~@2 x ~@4", J: "~ x ~@2 x ~@8 x ~@10", K: "~ x ~@5 x ~@5 x ~@10",
  L: "x!3 ~", M: "x!2 ~@2 x ~@3", N: "x ~@5 x ~@4 x ~@11 x", O: "~@2 x ~@8 x ~@11 x", P: "~@5 x ~@5 x ~@11 x",
  Q: "~ x ~@8 x ~@11 x ~", R: "~@2 x ~@2 x ~@5 x", S: "~ x ~ x ~@3 x", T: "x ~@2 x ~@3 x",
  U: "~@3 x ~@4 x ~@11 x ~@2 x", V: "~@2 x ~@2 x", W: "~@2 x ~@5 x ~@11 x ~@2 x", X: "~@7 x ~@11 x ~@4",
  Y: "~ x ~@5 x ~@11 x ~@2 x ~", Z: "x ~ x ~@3 x!2", AA: "~ x ~ x", AB: "x ~@5 x ~@10 x ~@2 x ~@3",
  AC: "~@5 x ~@11 x ~@5 x", AD: "~@5 x ~@11 x ~@2 x ~@3", AE: "~@2 x ~@5 x ~@2 x", AF: "~@4 x ~@11 x ~@2 x ~@4",
  AG: "~ x ~@3 x!2 ~", AH: "~ x ~@3 x ~ x", AI: "~@3 x ~@10 x ~@2 x ~@6", AJ: "~ x ~@5 x ~@2 x ~",
  AK: "~@2 x ~@11 x ~@2 x ~@6", AL: "~ x ~@11 x ~@5 x ~@4", AM: "~ x ~@11 x ~@2 x ~@7", AN: "x ~@3 x!2 ~@2",
  AO: "x ~ x!2", AP: "x ~@10 x ~@2 x ~@8 x", AQ: "~@11 x ~@5 x ~@5 x", AR: "~@11 x ~@2 x ~@8 x",
  AS: "~@5 x ~@2 x ~@2 x", AT: "~@10 x ~@2 x ~@8 x ~", AU: "~@3 x!2 ~@2 x", AV: "~@3 x ~ x ~ x",
  AW: "~@8 x ~@2 x ~@8 x ~@3", AX: "~@4 x ~@2 x ~@2 x ~", AY: "~@7 x ~@5 x ~@5 x ~@4", AZ: "~@7 x ~@2 x ~@8 x ~@4",
  BA: "~@2 x!2 ~@2 x ~", BB: "~ x!3", BC: "x ~@2 x ~@7 x ~@11 x", BD: "~ x ~ x ~@4",
})).gain(0.41)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@3 A B@2 C@3 D@2 E@3 F@3 G@2 H B@2 C I C D@2 E@3 F@3 G@2 H B@2 C@3 D@2 E@3 J K F G@2 H B@2 C@3 D@2 E@3 F@3 G@2 H B@2
  C@3 D@2 E@3 F@2 L G@2 H B@2 C@3 D M ~
>`.pickRestart({
  A: "~@23 x", B: "~@5 x ~@5 x ~@5 x ~@5 x", C: "~@2 x ~@2 x ~@2 x ~@2 x", D: "~ x ~ x ~ x ~ x",
  E: "~ x ~@2 x ~@2 x ~@2 x ~", F: "~ x ~@5 x ~@5 x ~@5 x ~@4", G: "x!4", H: "x ~@5 x ~@4 x ~@5 x ~@5 x",
  I: "~@8 x ~@2 x", J: "~ x ~@5 x ~@5 x ~@10", K: "~@7 x ~@5 x ~@5 x ~@4", L: "~ x ~@16 x ~@5", M: "~ x ~ x ~@4",
})).gain(0.41)

// drums · china
const china = s("cr").struct(`<
  ~@3 A B C D E D F G H I H J K J L M N O P Q R Q S T S U V W X W Y Z AA AB AC AD AE AD AF AG AH AI AJ AK J AL AM AN AO
  C AP E AQ E AR F AR H AS K AT K AU L AV C B E D E G F I H I K J AW M L O P O AX Q AY T AZ ~
>`.pickRestart({
  A: "~@23 x", B: "~@11 x ~@11 x", C: "~@5 x ~@5 x ~@5 x ~@5 x", D: "~@5 x ~@5 x", E: "~@2 x ~@2 x ~@2 x ~@2 x",
  F: "~ x ~ x ~ x ~ x", G: "~@3 x ~@3 x", H: "~ x ~@2 x ~@2 x ~@2 x ~", I: "~@2 x ~@2 x", J: "~@7 x ~@11 x ~@4",
  K: "~ x ~@5 x ~@5 x ~@5 x ~@4", L: "x!4", M: "~ x ~ x", N: "x ~@5 x ~@4 x ~@5 x ~@6", O: "~@5 x ~@11 x ~@5 x",
  P: "~@5 x ~@5 x ~@5 x ~@6", Q: "~@2 x ~@5 x ~@2 x", R: "~@2 x", S: "~ x ~ x ~ x ~@2", T: "~ x ~@3 x ~ x",
  U: "~ x ~@5 x ~@2 x ~", V: "~ x ~@2 x ~@2 x ~@4", W: "~ x ~@11 x ~@5 x ~@4", X: "~ x ~@5 x ~@5 x ~@10", Y: "x!3 ~",
  Z: "x ~ x!2", AA: "x ~@5 x ~@4 x ~@11 x", AB: "~@11 x ~@5 x ~@5 x", AC: "~@5 x ~@5 x ~@11 x", AD: "~@5 x ~@2 x ~@2 x",
  AE: "~@2 x ~@2 x ~@5 x", AF: "~ x ~ x ~@3 x", AG: "~@3 x ~ x ~ x", AH: "~@3 x ~@4 x ~@11 x ~@3",
  AI: "~@4 x ~@2 x ~@2 x ~", AJ: "~ x ~@2 x ~@5 x ~", AK: "~@7 x ~@5 x ~@10", AL: "~@7 x ~@5 x ~@4 x ~@5",
  AM: "x!2 ~ x", AN: "~ x!3", AO: "x ~@5 x ~@10 x ~@6", AP: "~@5 x ~@11 x ~@6", AQ: "~ x ~@2 x ~", AR: "~ x ~@3 x ~@2",
  AS: "~ x ~@5 x ~@4", AT: "~ x ~@11 x ~@10", AU: "x!2", AV: "x ~@10 x ~@11 x", AW: "~ x ~@16 x ~@5",
  AX: "~@2 x ~@2 x ~@2 x ~@3", AY: "~@2 x ~@2 x ~@6", AZ: "~ x ~ x ~@4",
})).gain(0.41)

// drums · ride bell
const ride_bell = s("rd").struct(`<
  ~@3 A B C D E D F G H I H I J K L M N O P Q R Q S T S U V W X Y Z AA AB AC AD AE AF AE AG AH AI AJ AK AL AM AN AO AP
  AQ AR AS AT AU AT AV AW AV AX AY AZ BA AZ BB BC BB C B E D E G F I H I J K Y M L O P O BD Q BD T BE ~
>`.pickRestart({
  A: "~@23 x", B: "~@11 x ~@12", C: "~@5 x ~@5 x ~@5 x ~@5 x", D: "~@5 x ~@6", E: "~@2 x ~@2 x ~@2 x ~@2 x",
  F: "~ x ~ x ~ x ~ x", G: "~@3 x ~@4", H: "~ x ~@2 x ~@2 x ~@2 x ~", I: "~ x ~", J: "~ x ~@5 x ~@5 x ~@5 x ~@4",
  K: "~@7 x ~@16", L: "x!4", M: "~ x ~@2", N: "x ~@5 x ~@4 x ~@5 x ~@6", O: "~@5 x ~@17 x", P: "~@5 x ~@5 x ~@5 x ~@6",
  Q: "~@2 x ~@8 x", R: "~@2 x", S: "~ x ~ x ~ x ~@2", T: "~ x ~@5 x", U: "~ x ~@8 x ~", V: "~ x ~@2 x ~@2 x ~@4",
  W: "~ x ~@17 x ~@4", X: "~ x ~@5 x ~@5 x ~@10", Y: "~ x ~@16 x ~@5", Z: "x!3 ~", AA: "x ~@2 x",
// … 10 more lines

More by Nirvana