Strudelify

La Woman

The Doors

KeyA majorTempo176 bpm
0:00/0:00
// La Woman — The Doors
// 176 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 320 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(176/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.

// bass · electric bass finger · "Bass"
const bass = note(`<
  ~@3 A B@2 C@13 B@2 C@13 B@2 C@13 B@2 C@10 D E C B F E C@12 B@2 C@13 B@2 C@13 F E C@2 D E C@9 B@2 C@7 G@7 H G@13 H@2
  G@9 I J K L M N E O C P E Q@2 C@6 B@2 R@5 S T@2 U@3 V@2 W@2 X Y@3 Z@3 AA@4 AB@2 AC@2 AD@3 AE@4 AF AG AH@2 AI AJ@2 AK@3
  AL@3 AM AN AO@3 AP@2 AQ AR@2 AS AT@3 AU AV AW@2 AX AY AZ@2 BA@3 BB BC BD@7 BE BF@3 BG BH@3 BI@3 BJ BK@3 BL BM@3 BN@3
  BO BP BQ@2 BR@2 BS@2 BT@3 BG BU@3 BV BW@3 BX@3 BL BY@3 BZ CA
>`.pickRestart({
  A: "~@5 e1 g1 g#1", B: "a1@2 a1@2 a1@2 ~ a1@2 a1 e1@2 g1 ~ g#1@2", C: "a1@2 a1@2 a1@2 ~ a1@2 a1 e1@2 g1@2 g#1@2",
  D: "g1@2 g1@2 g1@2 ~ g1@2 g1 d1@2 f1@2 g1@2", E: "~ c2 ~ g2@2 ~ a2@2, b1@2 d2@3 d2@3",
  F: "g1@2 g1@2 g1@2 ~ g1@2 g1 d1@2 f1 ~ g1@2", G: "a1@2 c#2@2 a2@2 g2@4 e2@2 d2@2 e2 ~",
  H: "a1@2 c#2@2 a2@2 g2@4 e2@2 d2 ~ e2 ~", I: "a2@3 ~ a2@4 a2@8, g#2 ~@15", J: "a2!2 ~ a2@4 a2",
  K: "a2@2 ~@2 a2@3 ~ a2@2 a2@6", L: "a2!4", M: "a2!3 a1", N: "g1@4 g1@4 g1@4 g1@3 ~", O: "a1!4",
  P: "g1@2 g1@2 ~ d1 g1@2, ~@2 g1 ~", Q: "a1@2 a1@2 a1@2 a1@2 a1 ~ e1@2 g1@2 g#1@2",
  R: "[a1@9 ~ a2@12 g2@3 ~ e2 ~@2 d2@2 c2@4 a1@18 a2@4 g#2 a2@4 a2@4 g#2 a2@3 a1@9 g#2, ~@9 g2@2 ~@42 g#2 ~@8 g#2 ~@17]/5",
  S: "a2@6 g2 ~", T: "[~ d2@4 e2@4 ~@10 a2@9 ~ e2@3, ~@5 a1@5 ~@6, ~@9 g#2 ~@6]/2",
  U: "[g2@2 e2@2 a2@2 g2@2 c2@5 a1@8 ~ a2@13 g2@2 ~@2 e2 ~@2 d2 ~ c2@4, ~@21 g#2@2 ~@25]/3",
  V: "[a1@9 ~ a2@12 ~ a2@3 ~ a2@4 g#2, ~@9 g#2@2 ~@11 g#2@2 ~@2 g#2@2 ~@4]/2", W: "[a2@4 a1@8 g#2 a2@13 g2 ~@3 e2@2]/2",
  X: "d2 ~ e2@4 ~ a1@8 g#2", Y: "[a2@26 a1@9 a2@13, ~@35 g2@2 ~@11]/3",
  Z: "[g2@3 ~ e2 ~@3 c2@4 ~ a1@17 g#2 a2@4 a2@4 g#2 a2@4 a2@4, ~@7 d2@2 ~@26 g#2 ~@8 g#2 ~@3]/3",
  AA: "[a1@9 a2@13 g2@2 ~@2 d2@4 ~ e2@4 a1@9 ~ a2@9 ~ e2@2 g2@2 e2@2 ~ a2@2, ~@9 g#2 ~@34 g#2@2 ~@18]/4",
  AB: "[g2@2 c2@5 a1@8 a2@14 g2@2 ~, ~@15 g#2@2 ~@15]/2", AC: "[~ e2 ~@2 d2 c2@5 a1@8 ~ a2@12 ~, ~@9 g#2 ~@6]/2",
  AD: "[~@4 g1@3 ~@2 a1@2 ~@2 a1@6 ~@3 a1@8 c2@9 a1@9]/3",
  AE: "[a1@2 ~@2 a1@4 a1@4 c2@8 a1@3 g1@2 ~@2 e1@3 ~ a1@5 ~@3 a1@7 c2@8 a1@8 a1@2]/4", AF: "~ a1@4 a1@4 c2@7",
  AG: "a1@3 ~ g1@2 ~@2 e1@3 a1@5", AH: "[~@3 a1@7 c2@7 a1@7 ~ a1@2 ~ a1@4]/2", AI: "a1@3 c2@7 a1@3 ~ g1@2",
  AJ: "[~@2 e1@3 a1@5 ~@2 a1@7 c2@7 a1@6]/2",
  AK: "[~ a1@2 ~@2 a1@3 a1@3 ~@7 a1@3 ~ g1@2 ~ e1@3 ~ a1@5 ~ a1@7 c2@6, ~@3 c2@2 ~@7]/3",
  AL: "[~ a1@7 a1@2 ~ a1@3 ~ a1@3 c2@7 a1@2 ~ g1@2 ~ e1@2 ~@2 a1@5 ~ a1@7]/3", AM: "c2@6 a1@7 a1@2 ~",
  AN: "a1@3 a1@3 c2@7 a1@2 ~", AO: "[g1@2 ~ e1@2 ~ a1@4 ~@3 a1@6 c2@6 a1@6 a1@2 ~ a1@3 a1@3 c2@6 a1@2]/3",
  AP: "[~ g1 ~@2 e1@2 ~ a1@4 ~@2 a1@6 c2@6 a1@6 a1]/2", AQ: "~@2 a1@3 a1@3 c2@6 a1@2",
  AR: "[g1 ~@2 e1@2 ~ a1@6 a1@6 c2@5 a1@6 a1 ~@2]/2", AS: "a1@3 ~@2 c2@5 ~ a1@2 g1 ~@2",
  AT: "[e1@2 ~ a1@5 a1@5 c2@5 a1@5 a1 ~@2 a1@2 ~@3 c2@5 a1@2 g1 ~@2 e1@2 a1@5]/3", AU: "a1@5 c2@5 a1@4 a1 ~",
  AV: "~ a1@2 ~@2 c2@5 a1@2 g1 ~ e1@2", AW: "[~ a1@4 a1@4 c2@4 ~ a1@4 a1 ~@2 a1@2 ~@2 c2@4 a1@2 g1]/2",
  AX: "~ e1 a1@2 a1@2 c2@2", AY: "~ a1@4 a1 ~ a1@2 ~@2 c2@4 ~",
  AZ: "[a1@2 g1 ~ e1@2 a1@4 a1@4 c2@4 a1@4 ~ a1 ~ a1@2 ~@2 c2@3]/2",
  BA: "[~ a1@2 g1 ~ e1@2 a1@4 a1@4 c2@4 ~ a1@4 a1 ~ a1@2 ~@2 c2@4 a1@2 g1 ~ e1@2 c2@2 c2@2 c2@2 c2@2]/3", BB: "c2!8",
  BC: "c2 f1 f#1 g1 c2!4",
  BD: "[c2@2 c2@2 c2@2 c2@2 c2@2 c2@2 d#1@2 ~ e1@2 f1@2 f1@2 c2@2 c2@2 d2@2 d2@2 d2@2 d2@2 d2@2 a1@2 c2@2 c#2@2 d2@2 d2@2 d2@2 d2@2 d2@2 a1@2 c2@2 c#2@2 d2@2 d2@2 d2@2 d2@2 d2@2 a1@2 c2@2 c#2@2 d2@2 a1@2 d2@2 e2@2 g2@2 e2@2 g2@2 a2@2 a1@2 a1@2 a1@2 a1@2 a1@2 ~ e1@2 g1@2 g#1@2 a1@2 a1@2 a1@2]/7",
  BE: "a1!2 e1 g1 g#1 a1!3",
  BF: "[a1@2 a1@2 e1@2 g1@2 g#1@2 ~ a1@2 a1@2 a1@2 a1@2 a1@2 e1@2 g1@2 g#1@2 a1@2 a1@2 a1@2 a1@2 a1@2 e1@2 ~ g1@2 g#1@2 a1@2 a1@2]/3",
  BG: "a1!3 e1 g1 g#1 a1!2",
  BH: "[a1@2 a1@2 ~ a1@2 e1@2 g1@2 g#1@2 a1@2 a1@2 a1@2 a1@2 a1@2 e1@2 g1@2 g#1@2 a1@2 a1@2 ~ a1@2 a1@2 a1@2 e1@2 g1@2 g#1@2 a1@2]/3",
  BI: "[a1@2 a1@2 a1@2 a1@2 e1@2 g1@2 g#1@2 ~ a1@2 a1@2 a1@2 a1@2 a1@2 e1@2 g1@2 g#1@2 a1@2 a1@2 a1@2 a1@2 a1@2 e1@2 ~ g1@2 g#1@2]/3",
  BJ: "a1!5 e1 g1 g#1",
  BK: "[a1@2 a1@2 a1@2 a1@2 a1@2 ~ e1@2 g1@2 g#1@2 a1@2 a1@2 a1@2 a1@2 a1@2 e1@2 g1@2 g#1@2 a1@2 a1@2 a1@2 ~ a1@2 a1@2 e1@2 g1@2]/3",
  BL: "g#1 a1!5 e1 g1",
  BM: "[g#1@2 a1@2 ~ a1@2 a1@2 a1@2 a1@2 e1@2 g1@2 g#1@2 a1@2 a1@2 a1@2 a1@2 a1@2 e1@2 g1@2 ~ g#1@2 a1@2 a1@2 a1@2 a1@2 a1@2 e1@2]/3",
  BN: "[g1@2 g#1@2 a1@2 a1@2 a1@2 a1@2 a1@2 ~ e1@2 g1@2 g#1@2 a1@2 a1@2 a1@2 a1@2 a1@2 e1@2 g1@2 g#1@2 a1@2 a1@2 a1@2 ~ a1@2 a1@2]/3",
  BO: "e1 g1 g#1 a1!5", BP: "e1@2 g1@2 g#1@2 ~ g1@2 g1@2 g1@2 g1@2 g1",
  BQ: "[~ d1@2 f1@2 g1@2 ~@2 c2@2 ~@3 g2@3 ~@2 a2@4 ~ a1@2 a1@2 a1@2 a1@2, ~@7 b1@4 d2@6 d2@6 ~@9]/2",
  BR: "[a1 ~ e1@2 g1@2 g#1@2 a1@2 ~ a1@2 a1@2 a1@2 a1 ~ e1@2 g1@2 g#1@2 g1@2 g1@2 g1@2 ~]/2",
  BS: "[g1@2 g1 d1@2 f1@2 g1@2 b1@3 ~@4 g2@4 ~@2 a2@4 a1@2 a1@2 a1@2, ~@12 c2@3 ~@17, ~@13 d2@6 ~ d2@6 ~@6]/2",
  BT: "[~ a1@2 a1 e1@2 g1@2 ~ g#1@2 a1@2 a1@2 a1@2 a1@2 a1 ~ e1@2 g1@2 g#1@2 a1@2 a1@2 a1@2 a1@2 a1@2 e1@2 g1@2 g#1@2 ~ a1@2 a1@2]/3",
  BU: "[a1@2 a1@2 a1@2 e1@2 g1@2 ~ g#1@2 a1@2 a1@2 a1@2 a1@2 a1@2 e1@2 g1@2 g#1@2 a1@2 a1@2 a1@2 a1@2 a1@2 ~ e1@2 g1@2 g#1@2 a1@2]/3",
  BV: "a1!4 e1 g1 g#1 a1",
  BW: "[a1@2 a1@2 ~ a1@2 a1@2 e1@2 g1@2 g#1@2 a1@2 a1@2 a1@2 a1@2 a1@2 e1@2 g1@2 g#1@2 a1@2 ~ a1@2 a1@2 a1@2 a1@2 e1@2 g1@2 g#1@2]/3",
  BX: "[a1@2 a1@2 a1@2 a1@2 a1@2 e1@2 g1@2 ~ g#1@2 a1@2 a1@2 a1@2 a1@2 a1@2 e1@2 g1@2 g#1@2 a1@2 a1@2 a1@2 a1@2 a1@2 ~ e1@2 g1@2]/3",
  BY: "[g#1@2 a1@2 a1@2 a1@2 a1@2 ~ a1@2 e1@2 g1@2 g#1@2 a1@2 a1@2 a1@2 a1@2 a1@2 e1@2 g1@2 g#1@2 a1@2 a1@2 ~ a1@2 a1@2 a1@2 e1@2]/3",
  BZ: "g1 g#1 a1!5 e1", CA: "g1@2 g#1@2 ~ a1@2 a1@2 e1 ~ a1 ~@4",
})).s("gm_electric_bass_finger").gain(0.31)

// chords · piano · "Acoustic Piano"
const piano = note(`<
  A@12 B C D ~ E C D ~ F@4 G@5 H@4 I@4 J@4 K@4 L@2 M N O@2 P Q R@2 S@2 T U V W X@2 Y@2 Z AA AB AC AD AE AF AG AD AE AF
  AG AH AI AH AI AJ AK AL@2 AM AN@2 AO AP@4 AQ AR AS AT AU AV AW AX AS AY AZ BA BB@3 BC X@2 Y@2 BD@2 BE@2 ~@48 BF BG BH
  BI@2 X@2 Y@2 BD@2 BJ@2 BK BL BM BN BM BO BM BP BQ ~ BR@2 BS@2 BT@4 ~@2 BU@3 ~@2 BV@4 BW BX@2 ~ BY BZ@2 ~@2 CA@7 CB
  CC@2 CD CE CF@5 CG CH@2 CI CJ CK@3 CL@2 ~ CM@2 CN CO@2 ~ CP ~@2 CQ ~@2 CR ~ CS CT CU@2 CV CW CX@3 CY CZ@2 DA DB DC@2
  DD DE DF DG@4 DH DI DJ@2 DK DL DM@2 DN DO@2 DP DQ@2 DR DS@6 ~@16 DT@2
>`.pickRestart({
  A: "a1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~", B: "g#3 a3@15", C: "g3", D: "f#3@6 d3 e3", E: "a3, g#3 ~@15",
  F: "[~@4 a3 ~@3 a3 ~ a3@2 a2 ~ a3@4 ~@2 a3@2 ~@2 a3 ~ a3@2 a2 ~ a3@5 ~ a3@2 ~@2 a3 ~ a3@2 ~@2 a3@5 ~ a3@4 e3@2 f#3@2 g3@2 e3 ~]/4",
  G: "[~@4 a3 ~@3 a3 ~ a3@2 ~@2 a3@4 ~@2 a3 ~@3 a3@2 a3@2 ~@2 a3@5 ~ a3 ~@3 a3@2 a3@2 ~ a3@5 ~@2 a3 ~@3 a3 ~ a3@2 ~@2 a3@4 ~@2 a3@3 ~ e3@2 f#3@2 g3@2 e3@2]/5",
  H: "[a3@3 ~ [d#4,e4,g4] ~@3 a3 ~ a3@2 ~@2 a3@4 ~@2 a3@3 ~ a3@2 a3@2 ~@2 a3@4 ~@2 [d#4,e4,g4] ~@3 a3 ~ a3@2 ~@2 a3@5 ~ a3@4 ~@2 f#3@2 g3@3 ~, ~@14 e3 ~]/4", // D#
  I: "[a3@2 ~@2 [d#4,e4,g4] ~@3 a3 ~ a3@2 ~@2 a3@5 ~ a3@2 ~@2 a3 ~ a3@2 ~@2 a3@5 ~ [d#4,e4,g4] ~@3 a3 ~ a3@2 ~@2 a3@5 ~ a3@4 e3@2 f#3@2 g3@2 e3@2]/4", // D#
  J: "[a3@3 ~ [d#4,e4,g4] ~@3 a3 ~ a3@2 ~@2 a3@4 ~@2 a3@2 ~@2 a3 ~ a3 ~@3 a3@5 ~ [d#4,e4,g4] ~@3 a3 ~ a3@2 ~@2 a3@5 ~ a3@4 e3@2 f#3@2 g3@3 ~]/4", // D#
  K: "[a3@2 ~@2 [d#4,e4,g4] ~@3 a3 ~ a3@2 ~@2 a3@4 ~@2 a3@2 ~@2 a3 ~ a3@2 ~@2 a3@5 ~ [d#4,e4,g4] ~@3 a3 ~ a3@2 ~@2 a3@4 ~@2 a3@4 e3@2 f#3@2 g3@3 ~]/4", // D#
  L: "[a3@2 ~@2 [d#4,e4,g4] ~@3 a3 ~ a3@2 ~@2 a3@5 ~ a3@2 ~@2 a3 ~ a3@2 ~@2 a3@2]/2", // D#
  M: "[a3,c#4,e4]@3 ~ [a3,d4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,d4,e4]@2 ~@2", // A Asus4 A Asus4
  N: "[a3,c#4,e4]@2 ~@2 [a3,e4]@2 e4@2 c#4@2 a3 ~ g3 ~ e3 ~, ~@4 d4 ~@11", // A A5
  O: "[~@4 a3@2 ~@2 a3 ~ a3@2 ~@2 a3@5 ~ a3@2 ~@2 a3 ~ a3@2 ~@2 a3@2]/2", P: "a3!8", Q: "a3@4 ~@3 a3",
  R: "[~@4 a3@2 ~@2 a3 ~ a3 ~@3 a3@4 ~@2 a3@2 ~@2 a3 ~ a3@2 ~@2 a3 ~]/2",
  S: "[c#5@2 ~@2 c5 c#5@3 b4@2 c#5@2 a4@2 b4@2 c#5@2 a4@2 b4@2 c#5@3 ~@5 a3@2, c5 ~@3 a3@4 a3@17 ~@7]/2",
  T: "[e4,a4,c#5]@3 ~ [e4,a4,c#5]@4 a3@2 [e4,a4,c#5]@4 a3 ~", // A
  U: "[e4,a4,c#5]@3 ~ [e4,a4,c#5]@4 a3@2 [e4,a4,c#5]@4 a3@2", // A
  V: "[e4,a4,c#5]@3 ~ [e4,a4,c#5]@4 a3@2 [e4,a4,c#5]@4 a3@2, ~@4 a3 ~@11", // A
  W: "[e4,a4,c#5]@3 ~ [e4,a4,c#5]@4 a3@2 [e4,a4,c#5]@4 ~@2", X: "[g3,d4,g4,b4]/2", Y: "[a3,e4,a4,c#5]/2",
  Z: "[g3,d4,g4,b4]@2 [g3,d4,g4,b4]@2 ~ [g3,g4,b4]@2 d4, ~@2 d4 ~", // G
  AA: "[g3,g4,b4]@2 ~ [g3,g4,b4]@2 ~ [g3,g4,b4]@2, ~@2 d4@2 ~ d4@2 ~", // G
  AB: "[a3,e4,a4,c#5]@2 [a3,e4,a4,c#5]@2 ~ [a3,a4,c#5]@2 e4, ~@2 e4 ~", // A
  AC: "[a3,a4,c#5]@2 ~ [a3,a4,c#5]@2 ~ a3@2, ~@4 e4@5 ~@7", AD: "[a4,c#5]@2 [a4,c#5]@2 b4 c#5 b4 a4, c5 ~@3 c5 ~@11",
  AE: "c#5@2 b4@4 a4@4 a4@2 b4@2 a4 ~", AF: "[a4,c#5]@4 [a4,c#5]@4 b4 ~ c#5@2 b4@2 a4@2, c5 ~@3 c5 ~@11",
  AG: "c#5 b4@2 a4@4 ~", AH: "[a4,c#5] ~ [a4,c#5] e4 g4 a4 g4 e4", AI: "[a4,c#5]@2 ~@2 b4@2 c#5@7 ~@3",
  AJ: "g5@4 f#5@2 e5 ~ f#5@4 e5@2 d5 ~, g4 f#4", AK: "e5@4 d5@2 c#5 ~ d5@4 c#5@2 b4 ~, e4 d4",
  AL: "[[c#4,a4] c#5@2 a4 c#5@2 a4 c#5@2 a4 c#5 a4 c#5 g4@2 ~]/2", // F#m
  AM: "~@4 a4@2 g4@2 [a3,e4] ~ [a3,e4] ~ g4 ~ [e4,a4]@2", AN: "~@4 a4@2 g4@2 [a3,e4] ~ [a3,e4] ~ g4@2 [e4,a4]@2",
  AO: "~@4 a4@2 g4 ~ [a3,e4] ~ [a3,e4] ~ g4 ~ [e4,a4]@2", AP: "~@4 d#4 e4@2 ~ e4 ~@3 g4@2 a4 ~, ~@4 g4@2 ~@4 e4@5 ~",
  AQ: "~@4 d#4 e4@2 ~@9, ~@2 g4 ~@5", AR: "e5@3 ~ d5@2 c#5@2 d5@2 c#5@2 a4@2 g4 ~, d#5 ~@15",
  AS: "a4@2 ~@2 a4@2 e4@2 g4@2 a4@2 g4@2 e4 ~", AT: "e5@3 ~ d5@2 c#5@2 d5@2 c#5@2 a4@2 g4@2, d#5 ~@15",
  AU: "e4@2 g4@3 ~ a4@4 g4@2 a4@2 a4@2", AV: "c5@4 g4@2 a4@5 ~@5", AW: "e5@4 d5@3 ~ c#5@2 b4@2 c#5@2 b4 ~, d#5 ~@15",
  AX: "c#5 b4@2 a4@2 ~ g4 a4, ~@5 e4@2 ~", AY: "a4@3 ~ g4@2 e4@2 g4@2 a4 ~ c#5@2 d5@2", AZ: "e5@2 d5@2 c#5 b4 c#5 d5",
  BA: "e5 d5@2 c#5@3 ~@2",
  BB: "[a4 ~ a4 ~ a4!2 ~ a4@2 ~ a4 ~ a4!2 ~ [a4,e5]@2 ~ [a4,d5] ~ [a4,c#5] ~ [a4,d5] ~, ~@30 d#5 ~@17]/3", // A5 D5 A D5
  BC: "[a4,c#5]@2 ~@2 [a4,d5]@2 ~@2 [a4,c#5] ~ [a4,c#5]@6", // A D5 A
  BD: "[[g3,d4,g4,b4]@4 [g3,d4,g4,b4]@4 ~@2 [d4,g4,b4]@4 ~@2 [d4,g4,b4]@3 ~@3 [d4,g4,b4]@4 ~@2 [d4,g4,b4]@4, ~@4 g3@2 ~ g3@2 ~ g3@2 ~ g3@2 ~]/2", // G
  BE: "[[a3,e4,a4,c#5]@4 [a3,e4,a4,c#5]@4 ~@2 [e4,a4,c#5]@4 ~@2 [e4,a4,c#5]@3 ~@3 [e4,a4,c#5]@4 ~@2 [e4,a4,c#5]@4, ~@4 a3@2 ~ a3@2 ~ a3@2 ~ a3@2 ~]/2", // A
  BF: "[a4,c#5]@3 ~ [a4,c#5]@3 ~ [a4,c#5]@6 e4 ~", BG: "[a4,c#5] ~ [a4,c#5]@2 e4 ~ [a4,c#5]@4 e4 ~ [a4,c#5]@2 e4 ~",
  BH: "[a4,c#5]@2 e4 ~ [a4,c#5]@2 e4 ~ [a4,c#5] ~ [a4,c#5]@6", BI: "[e4,a4,c#5]",
  BJ: "[[a3,e4,a4,c#5]@4 [a3,e4,a4,c#5]@4 ~@2 [e4,a4,c#5]@4 ~@2 [e4,a4,c#5]@3 ~@3 [e4,a4,c#5]@5 ~@5, ~@4 a3@2 ~ a3@2 ~ a3@2 ~@4]/2", // A
  BK: "[a4,c#5]@2 ~@2 [a4,c#5]@4 e4@2 [a4,c#5]@4 e4 ~", // A
  BL: "c#5@3 ~ b4 ~ [a4,c#5]@3 ~ [a4,b4] ~ c#5@2 [a4,b4] ~, a4@3 ~@5", // A Asus2
  BM: "[a4,c#5]@2 ~@2 [a4,c#5]@4 e4 ~ [a4,c#5]@4 e4 ~", // A
  BN: "[a4,c#5]@3 ~ [a4,b4] ~ [a4,c#5]@3 ~ [a4,b4] ~ c#5@2 a4 ~, ~@12 a4 ~@3", // A Asus2 A Asus2
  BO: "[a4,c#5]@2 ~@2 [a4,b4] ~ [a4,c#5]@3 ~ [a4,b4] ~ c#5@2 [a4,b4] ~, ~@12 a4 ~@3", // A Asus2 A Asus2
  BP: "[a4,c#5]@3 ~ e4 ~ [a4,c#5]@3 ~@3 g#3@4", BQ: "a3 ~", BR: "[~@3 e3@18 ~@9 e3 ~]/2",
  BS: "[g3@2 a3@2 ~@3 c4@2 ~@2 a3@10 ~@11, ~@3 b3 ~@12]/2",
  BT: "[~ c#4 d4@2 ~@2 d4@4 c4@2 a3@23 ~ e3@2 ~ g3@2 a3@2 ~@2 a3@13 ~@6, ~@5 c#4@2 ~@57]/4",
  BU: "[~@4 a3@2 d4@2 d#4@2 d4@3 c4@2 a3@2 c4@2 d4@2 ~@3 a3@14 ~@10]/3", BV: "[~@10 a3@43 ~@11]/4",
  BW: "~@3 d4@2 d#4@2 d4@2 c4@2 ~ a3@2 c4@2", BX: "[d#4 ~@3 a3@14 ~@14]/2", BY: "~@7 a3@2 d4@2 d#4@2 ~ d4@2",
  BZ: "[c4@2 a3@2 c4@2 d4@2 ~@3 a3@10 ~@11]/2",
  CA: "[~@13 [a2,c#3,e3,a3]@9 [a2,c#3,e3,a3]@8 [c3,e3,g3,c4]@9 [a2,c#3,e3,a3]@13 ~@8 e3@8 g3@3 a3@3 ~@5 [a2,c#3,e3,a3]@8 [a2,c#3,e3,a3]@7 [c3,e3,g3,c4]@8 [a2,c#3,e3,a3]@10]/7", // A C A C A
  CB: "~@9 e3@7", CC: "[a3@4 e3@2 ~@5 [a2,c#3,e3,a3]@7 ~ [a2,c#3,e3,a3]@7 [c3,e3,g3,c4]@6]/2",
  CD: "~ [a2,c#3,e3,a3]@11 e3@4", CE: "g3@3 a3@7 g3@4 e3@2",
  CF: "[~@5 [a2,c#3,e3,a3]@7 [a2,c#3,e3,a3]@7 [c3,e3,g3,c4]@7 [a2,c#3,e3,a3]@10 ~ e3@3 g3@4 a3@10 c4@6 ~ [a2,c#3,e3,a3]@6 ~ e3@6 [c3,e3,g3,c4]@6, ~@67 [a2,c#3,a3]@7 ~@6]/5", // A C A C A
  CG: "~ [a2,c#3,e3,a3]@10 ~@5", CH: "[~@2 a3@7 g3@3 e3@3 g3@4 [a2,c#3,e3,a3]@6 [a2,c#3,e3,a3]@7]/2",
  CI: "[c3,e3,g3,c4]@3 [a2,c#3,e3,a3]@5", CJ: "~@6 e3@7 g3@3",
  CK: "[a3@3 ~@3 [a2,c#3,e3,a3]@6 ~ [a2,c#3,e3,a3]@6 [c3,e3,g3,c4]@6 ~@6 d4@3 a3@3 g3@3 e3@6 g3@2, ~@25 [a2,c#3,e3,a3]@9 ~@14]/3", // A C A
  CL: "[~ a3@3 ~@3 [c#3,e3,a3]@6 [c#3,e3,a3]@6 [e3,g3,c4]@6 [c#3,e3,a3]@5 ~@2, ~@25 a2 ~@6]/2", // A C A
  CM: "[~@6 [c#3,e3,a3]@6 [c#3,e3,a3]@6 [e3,g3,c4]@5 [c#3,e3,a3]@5 ~@4]/2", CN: "~@4 a2 ~@3",
  CO: "[~@3 [c#3,e3,a3]@5 [c#3,e3,a3]@5 [e3,g3,c4]@5 [c#3,e3,a3]@5 ~@9]/2", CP: "~@5 a2@2 ~@9", CQ: "~@11 a2@2 ~@3",
  CR: "~@7 a2", CS: "~@7 a2@4 a2@4 ~", CT: "~@4 a2@5 ~@7",
  CU: "[a2@2 ~@10 [c4,e4,g4]@6 [c4,f4,a4]@4 ~@2 [c4,e4,g4]@3 ~ [c4,f4,a4]@3 ~]/2", // C F C F
  CV: "[c4,e4,g4] ~ [c4,e4,g4]@3 ~ [c4,e4,g4]@4 ~@2 [c4,f4]@4, ~@6 a4 ~", // C F5
  CW: "[c4,e4,g4] ~ [c4,f4,a4] ~ [c4,e4,g4] ~ [c4,f4,a4] ~", // C F C F
  CX: "[~ [c4,e4,g4] ~ [c4,e4,g4]@6 ~@6 d4@2 [d4,g4,b4]@2 [d4,f#4,a4]@3 ~ d4@2 ~@2 d4@2 [d4,g4,b4]@2 [d4,f#4,a4]@3 ~@5 d4 ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ d4, ~@13 [f#4,a4]@5 ~@7 [f#4,a4]@4 ~@19]/3", // C G D G D F#m
  CY: "~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4]", // D
  CZ: "[~ c7 [a6,b6] [f6,g6] [d6,e6] [b5,c6] [g5,a5] [e5,f5] [c5,d5] [a4,c#5,e5]@2 d5@2 e5@2 [a4,d5]@4 ~ c#5@2 d5@2 [a4,c#5]@3 ~ [a4,c#5] ~ [a4,d5] ~]/2", // Asus2 Fsus2 Dsus2 Cmaj7 Gsus2 Fmaj7 Csus2 A …
  DA: "[a4,c#5] ~ [a4,d5] ~ [a4,c#5] ~ e4@2 g4@2 [a4,c#5,e5]@2 d5@2 e5@2", // A D5 A
  DB: "[a4,d5]@4 c#5@2 d5@2 [a4,c#5]@3 ~@2 [a4,c#5] ~ [a4,d5]", // D5 A D5
  DC: "[~ [a4,c#5] ~ [a4,d5] ~ [a4,c#5] ~@3 a4 ~ [c#5,e5]@2 a4 ~ [c#5,e5]@2 ~@2 [c#5,e5]@3 ~@2 [c#5,e5]@2 a4 ~ [c#5,e5]@4]/2", // A D5 A C#m
  DD: "a4 ~ [c#5,e5]@2 ~@2 [c#5,e5]@2 ~@2 a4 ~@2 e5@2 ~, ~@12 a4@3 ~, ~@13 d#5 ~@2", // C#m
  DE: "[a4,d5]@3 ~@2 [a4,c#5]@2 ~@2 [a4,d5]@2 ~@2 [a4,c#5]@2 ~", // D5 A D5 A
  DF: "~ [a4,d5]@2 ~@2 [a4,c#5] ~ [a4,c#5]@4 a4 ~ [c#5,e5]@2 a4", // D5 A C#m
  DG: "[~@2 [c#5,e5]@2 ~@2 [c#5,e5]@3 ~ [c#5,e5]@2 a4 ~ [c#5,e5]@4 a4 ~ [c#5,e5]@2 ~@2 [c#5,e5]@2 ~@5 [a4,e5]@3 ~ [a4,d5]@3 ~ [a4,c#5]@2 ~@2 [a4,d5]@2 ~@2 [a4,c#5]@2 ~@2 [a4,d5]@2 [a4,c#5]@6 ~@3 a4 ~, ~@31 d#5 ~@32]/4", // C#m A5 D5 A D5 A D5 A
  DH: "[a4,d5,g5]@3 ~ f#5 g5@2 ~ [a4,d5,f#5]@3 ~ [a4,d5,f#5]@3 ~, f#5 ~@3 [a4,d5]@3 ~@9", // Dsus4 D D5
  DI: "[a4,c#5,e5] a4 [a4,d5,f#5] [a4,c#5,e5]@3 ~@2", // A D A
  DJ: "[~ [d5,g5]@3 ~ f#5 g5@2 ~ [d5,f#5]@2 e5@2 d5@2 b4@2 e5@2 a4@2 g4@2 ~ e4@4 ~@4, ~ f#5 ~@3 d5@3 ~@24]/2", // G5 D
  DK: "a3@2 [e4,a4,c#5]@2 a3@2 [e4,a4,c#5]@3 ~ [e4,a4,c#5]@3 ~ [e4,a4,c#5]@2", // A
  DL: "a3@2 [e4,a4,c#5]@5 a3@2 [e4,a4,c#5]@3 ~ [e4,a4,c#5]@3", // A
  DM: "[~ a3@2 [e4,a4,d5]@2 [e4,a4,c#5]@2 [e4,a4,b4]@4 [e4,a4,d5]@2 [e4,a4,c#5]@2 [e4,a4,b4]@4 ~ [e4,a4,d5]@2 [e4,a4,c#5]@2 [e4,a4,b4]@2 [e4,a4,c#5]@4 ~@2]/2", // Dsus2 A Esus4 Dsus2 A Esus4 Dsus2 A …
  DN: "~@2 a3@2 [e4,a4,c#5]@2 a3@2 [e4,a4,c#5]@3 ~ [e4,a4,c#5]@3 ~", // A
  DO: "[~ [e4,a4,c#5]@2 a3@2 [e4,a4,c#5]@4 a3@2 [e4,a4,c#5]@3 ~ [e4,a4,c#5]@3 ~ a3@2 [e4,a4,c#5]@2 a3@2 [e4,a4,c#5]@3 ~@2 [e4,a4,c#5]@2]/2", // A
  DP: "~@2 [e4,a4,c#5]@2 a3@2 [e4,a4,c#5]@4 a3@2 [e4,a4,c#5]@3 ~", // A
  DQ: "[[e4,a4,c#5]@3 ~ a3@2 [g3,d4,g4,b4]@4 ~ [g3,d4,g4,b4]@4 ~@2 [d4,g4,b4]@4 ~@2 [d4,g4,b4]@3 ~@3 [d4,g4,b4]@3, ~@15 g3@4 ~@2 g3@4 ~@2 g3@4 ~]/2", // A G
  DR: "~@3 [d4,g4,b4]@4 ~ [a3,e4,a4,c#5]@4 [a3,e4,a4,c#5]@4, ~ g3@4 ~@11", // G A
  DS: "[~@2 [e4,a4,c#5]@4 ~@2 [e4,a4,c#5]@3 ~@3 [e4,a4,c#5]@5 ~@2 [e4,a4,c#5]@4 [g3,d4,g4,b4]@4 [g3,d4,g4,b4]@4 ~@2 [d4,g4,b4]@4 ~@2 [d4,g4,b4]@3 ~@3 [d4,g4,b4]@4 ~@3 [d4,g4,b4]@4 [a3,e4,a4,c#5]@4 [a3,e4,a4,c#5]@4 ~@2 [e4,a4,c#5]@4 a3@3 [e4,a4,c#5]@3 ~@3 [e4,a4,c#5]@4 ~@2 [e4,a4,c#5]@4 ~@5, a3@4 ~@2 a3@4 ~@2 a3@4 ~@3 a3@4 ~@10 g3@4 ~@2 g3@4 ~@2 g3@4 ~@3 g3@4 ~@10 a3@4 ~@9 a3@4 ~@2 a3@4 ~@7]/6", // A G A
  DT: "[a4@2 b4@2 [a4,c#5,a5]@4 [a4,c#5,a5]@4 [a4,b4,a5]@2 ~@2 b4@2 c#5@2 ~ [a4,d5,a5]@2 c#5@2 [a4,c#5,a5] ~ [a4,c#5,a5] ~@4, ~@7 [a4,a5]@2 ~@7]/2", // A Asus2 D5 A
})).s("gm_piano").gain(0.2)

// chords · piano · "Acoustic Piano" · soft notes
const piano_soft = note(`<
  ~@133 A@7 B A@8 C@5 D@2 C@9 E ~@75 F G@2 H@2 I J K L M N@3 O@2 P@2 Q@2 R ~@40 S@2 T U@2 V W@4 X@3 Y Z@3 ~@2
>`.pickRestart({
  A: "a2@2 c#3@2 a3@2 g3@4 e3@2 d3@2 e3 ~", B: "a2@2 c#3@2 a3@2 g3@4 e3@2 d3 ~ e3 ~",
  C: "[a2,a5]@2 [c#3,c#6]@2 [a3,a6]@2 [g3,g6]@4 [e3,e6]@2 [d3,d6]@2 [e3,e6] ~", // A C# A G E D E
  D: "[a2,a5]@2 [c#3,c#6]@2 [a3,a6]@2 [g3,g6]@4 [e3,e6]@2 [d3,d6] ~ [e3,e6] ~", E: "a5 ~@7",
  F: "~@5 c#5@5 e4@3 [a4,c#5,e5]@3, ~@2 [a4,e5]@3 ~@3", // A A5
  G: "[e4@2 ~ [a4,c#5,e5]@2 ~ [a4,c#5,e5]@3 e4@2 ~ [a4,c#5,e5]@6 e4@2 ~ [a4,c#5,e5]@3 e4 ~@2 [a4,c#5,e5] ~@2 [a4,c#5,e5]@2]/2", // A
  H: "[e4@2 ~ [a4,c#5,e5]@6 e4 ~@3 c#5@2 e4@2 ~ [a4,c#5] ~@2 [a4,c#5,e5]@2 e4@2 ~ [a4,c#5,e5]@6, ~@12 [a4,e5]@3 ~@3 e5@2 ~@12]/2", // A A5
  I: "e4@2 [a4,c#5,e5]@2 ~ e4 ~@2 [a4,c#5,e5] ~@4 e4@2 ~, ~@11 [a4,c#5,e5]@4 ~", // A
  J: "[a4,c#5,e5]@5 e4@3 [a4,c#5,e5]@2 e4 ~@2 [a4,c#5,e5] ~@2", // A
  K: "[a4,c#5,e5]@2 e4 ~@2 [a4,c#5,e5]@5 e4@2 [a4,c#5,e5]@3 e4", // A
  L: "~ [a4,c#5,e5] ~@2 [a4,c#5,e5]@2 e4@2 ~@6 e4@2, ~@9 [a4,c#5,e5]@5 ~@2, ~@11 [c#3,e3,a3]@5", // A
  M: "[a4,c#5,e5]@2 e4 ~@2 [a4,c#5,e5] ~ [a4,c#5,e5]@2 ~ e4 ~ [a4,c#5,e5]@4, [c#3,e3,a3]@5 [e3,g3,c4]@5 [c#3,e3,a3]@4 ~@2", // A C A
  N: "[~ e4 ~ [a4,c#5,e5]@2 e4 ~ [a4,c#5,e5] ~@2 [a4,c#5,e5]@2 e4 ~@6 e4@2 ~@2 e4 ~ [e3,g3,c4]@3 [a4,c#5,e5]@2 e4 ~ [a4,c#5,e5]@5 e4 ~ [a4,c#5,e5]@2 e4 ~ [a4,c#5,e5] ~ [a4,c#5,e5]@2 e4, ~@14 [a4,c#5,e5]@5 ~@6 [a4,c#5,e5] ~@22, ~@17 [c#3,e3,a3]@4 [c#3,e3,a3,a4,c#5,e5]@4 ~@5 [c#3,e3,a3]@4 ~@14]/3", // A C A
  O: "[~@6 e4@2 ~@2 e4 ~ [e3,g3,c4]@3 [a4,c#5,e5]@2 e4 ~ [a4,c#5,e5]@4 e4 ~ [a4,c#5,e5]@2 e4 ~ [a4,c#5,e5] ~@2, ~@2 [a4,c#5,e5]@5 ~@5 [a4,c#5,e5] ~@19, ~@4 [c#3,e3,a3]@4 [c#3,e3,a3,a4,c#5,e5]@4 ~@5 [c#3,e3,a3]@4 ~@11]/2", // C A
  P: "[[a4,c#5,e5]@2 e4 ~@5 e4@2 c#5@2 e4 ~ [a4,c#5,e5] ~ [a4,c#5,e5]@2 [c#3,e3,a3]@3 [a4,c#5,e5]@4 e4 ~ [a4,c#5,e5]@2 e4 ~ [a4,c#5,e5], ~@4 [a4,c#5,e5]@5 ~@9 e4 ~@13, ~@3 [c#3,e3,a3]@2 [c#3,e3,a3,a4,e5]@2 [e3,g3,c4]@2 ~@7]/2", // A C
  Q: "[~ [a4,c#5,e5]@2 e4 ~@5 e4@2 [c#5,e5]@2 e4 ~ [a4,c#5,e5] ~ [a4,c#5,e5]@2 ~ e4 ~ [a4,c#5,e5]@4 e4 ~ [a4,c#5,e5]@2 e4 ~, ~@5 [a4,c#5,e5]@5 ~@22, ~@7 [c#3,e3,a3]@4 [c#3,e3,a3,a4]@4 [e3,g3,c4]@4 ~ [c#3,e3,a3]@4 ~@8]/2", // A C#m A C A
  R: "[a4,c#5,e5] ~ [a4,c#5,e5]@2 e4 ~ [a4,c#5,e5]@2 ~@8", // A
  S: "[~@11 [a4,c#5]@4 [a4,c#5]@4 [a4,b4]@2 ~@2 b4@2 c#5@2 ~ [a4,d5]@2 c#5@2, ~@21 a4@4 ~@7]/2", // A Asus2 D5
  T: "b4 [a4,c#5]@2 e4 a4 b4 [a4,c#5]@2", // A
  U: "[[a4,c#5]@4 [a4,b4]@2 ~@2 b4@2 ~ c#5@2 [a4,d5]@2 c#5@2 b4@2 [a4,c#5]@4 e4@2 a4@2 b4@2 [a4,c#5]@3, ~@3 a4@2 ~@11]/2", // A Asus2 D5 A
  V: "~ [a4,c#5]@4 [a4,b4]@2 ~@3 b4@2 c#5@2 [a4,d5]@2, ~@2 a4 ~", // A Asus2 D5
  W: "[c#5@2 b4@2 [a4,c#5]@4 e4@2 a4@2 b4@2 [a4,c#5]@4 [a4,c#5]@4 ~ [a4,b4]@2 ~@2 b4@2 c#5@2 [a4,d5]@2 c#5@2 b4@2 [a4,c#5]@4 e4@2 a4@2 b4@2 [a4,c#5]@4 ~ [a4,c#5]@4 [a4,b4]@2 ~@2 b4@2 c#5@2, ~@25 a4@4 ~@29 a4@4 ~@2]/4", // A Asus2 D5 A Asus2
  X: "[[a4,d5]@2 c#5@2 b4@2 [a4,c#5]@4 e4@2 a4@2 ~ b4@2 [a4,c#5]@4 [a4,c#5]@4 [a4,b4]@2 ~@2 b4@2 c#5@2 [a4,d5]@2 c#5@2 b4@2 [a4,c#5]@4 ~ e4@2 a4@2, ~@27 a4@4 ~@17]/3", // D5 A Asus2 D5 A
  Y: "b4 [a4,c#5]@2 [a4,c#5]@2 [a4,b4] ~ b4, ~@3 a4", // A Asus2
  Z: "[c#5@2 [a4,d5]@2 c#5@2 b4@2 [a4,c#5]@4 ~ e4@2 a4@2 b4@2 [a4,c#5,a5]@4 [a4,c#5,a5]@4 [a4,b4,a5]@2 ~@2 b4@2 c#5@2 [a4,d5,a5]@2 c#5@2 ~ b4@2 [a4,c#5,a5]@4 e4@2, ~@29 [a4,a5]@4 ~@15]/3", // D5 A Asus2 D5 A
})).s("gm_piano").gain(0.1)

// chords · piano · "Electric Piano"
const piano_2 = note(`<
// … 153 more lines

More by The Doors