Strudelify

Flying Dutchman

Tori Amos

KeyF majorTempo105 bpm
0:00/0:00
// Flying Dutchman — Tori Amos
// 105 bpm, 3/4, key F 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 (3/4 at bar 1, 4/4 at bar 34, 3/4 at bar 43, 4/4 at bar 60, ...) are rendered on a constant 3/4 grid of one bar per cycle
// note: ch 1 "Accordian" named as an organ, played on accordion (its dulcimer patch is not one); ch 2 "Bass" named as a bass, played on electric bass finger (its pad warm patch is not one)
// note: duplicate parts dropped: ch 5 "Harmonium" ocarina (copy of ch 1 "Accordian" accordion)
// note: Full arrangement: all 122 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(105/3)

// 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 · accordion · "Accordian"
const accordion = note(`<
  A B@2 C@2 D E F@2 G@2 H@2 I@2 J@2 B@2 C@2 D E F@2 G@2 H@2 I@2 K@2 L@2 M@2 N O@2 P@2 Q@8 R@8 S@2 T@2 U V W X@2 Y@3 Z AA
  Q@8 R@8 AB@8 R@8 AC@2 AD@2 AE@2 AF@2 AG@2 AH@2 AI AJ@3 AK AL
>`.pickRestart({
  A: "[a4,c5]@7 ~ [ab4,b4]@6 ~@2 [g4,bb4]@5 ~@3", // Am Abm Gm
  B: "[[f4,a4]@13 ~@3 [g4,bb4]@4 ~ [ab4,b4]@3 [a4,c5]@11 ~@2 c5@3 [a4,d5]@3 ~@2 c5@3, f2@37 ~@11]/2", // F Gm Abm Am D5
  C: "[~@8 c5@7 ~ [bb2,db5]@4 ~@4 [b4,d5]@11 ~@2 [f4,b4] ~@2 [f4,b4,e5]@3 ~@2 [f4,d5]@3, bb4@20 f4@15 ~@2 d5@3 ~@8, [bb2,f4]@4 ~@2 g2@5 ~]/2", // Bbm Bm Fdim E Dm Bb5
  D: "[c3,e4,bb4,c5]@20 ~ [e4,c5]@3", E: "[c5,e5]@7 ~ [b4,eb5]@7 ~ d5@5 a4@3, c3@4 bb4 ~",
  F: "[[a4,c5]@7 ~ [ab4,b4]@7 ~ bb4@5 f4@3 [f4,a4]@8 ~@5 [a4,c5]@3 [c3,ab4,b4]@3 ~@2 [g4,bb4]@3, f2@2 ~, ~@4 g4 ~@7]/2", // Am Abm F Am E Gm
  G: "[[f4,a4]@13 ~@3 [g4,bb4]@5 b4@3 eb4@6 ~@2 eb4@2 ~@3 [eb4,a4] ~@2 [eb4,a4,d5]@4 ~ c5@3, f2@41 ~@7, ~@24 [a4,c5]@11 ~@2 c5@3 ~@8]/2", // F Gm Ebdim D Am
  H: "[~@8 c5@7 ~ bb2@2 ~@6 [b4,d5]@11 ~@2 [f4,b4] ~@2 [f4,b4,e5]@3 ~@2 d5@2 ~, bb4@20 f4@15 ~@13, f4@16 db5@7 ~@14 d5@3 ~@8, bb2@13 ~@11 g2@17 ~@7]/2", // Bm Fdim E
  I: "[[e4,bb4,c5]@19 ~@2 c5@3 [g4,bb4,e5]@7 ~ [f4,d5]@7 ~ [e4,bb4,c5]@7 ~, c3@13 ~@3]/2", // C7 Edim Dm C7
  J: "[[a4,c5]@15 ~ [bb2,bb4,d5]@7 ~ [f2,a4,c5]@8 ~@8 [c3,a4,c5]@2 [ab4,b4]@3 [g4,bb4]@3, f5@2 ~, f2 ~@3]/2", // Am Bb F Abm Gm
  K: "[[a4,c5]@15 ~ [bb2,bb4,d5]@7 ~ [f2,a4,c5]@8 ~@16, f5@2 ~, f2 ~@3]/2", // Am Bb F
  L: "[c5@2 ~ a5@2 ~ [a4,f5]@2 ~@2 [a4,f5]@3 [f2,c5]@2 ~ c5@2 ~ [f2,f4]@3 ~ f4@2 ~ [c3,g4]@2 ~ g4@2 ~ [c3,g4]@2 bb4@2 ~ g4@2 ~ g4@2 a4@2 ~ c5@3, f2@10 ~@29 f2@9, a5 ~@4 [c5,g5]@2 ~@8 d5@2 ~ a4@2 ~@16 a4@2 ~ f4@2 ~@3 bb4@2 ~@2]/2", // Dm F5 F C5
  M: "[~@2 c5@2 a5@2 ~ [c5,a5]@2 ~ [a4,f5]@2 ~ [a4,f5]@2 ~@3 d5@2 ~ a4@2 [f2,f4]@3 f4@2 ~@2 [c3,g4]@2 ~ g4@2 ~ [c3,g4]@2 ~ a4@2 ~ f2@4 f4@2, ~@4 f2@10 ~@3 [f2,a4,c5]@3 ~@22 f4@2 ~@4, ~@9 g5@2 ~@9 c5@2 ~@16 bb4@2 ~ g4@2 ~@5]/2", // F Dm F C5 F
  N: "~ f4@2 ~ a4@2 c5 c5@2 ~@3 [c5,g5]@2 [a4,f5]@2 ~ [a4,f5]@3 [f2,c5]@2 d5@2, ~@7 f2@10 ~@7, ~@7 a5 ~@3 a5@2 ~@11", // C5 Dm F5
  O: "[~ a4@2 [f2,f4]@3 f4@2 ~ [c3,g4]@2 ~ g4@2 ~@3 bb4@2 a4@2 ~ f4@2 ~ a4@2 bb4@2 c5@3 ~ c5@2 a5@2 ~ [c5,a5]@2 g5@2 [a4,f5]@2 ~ [a4,f5]@2 ~, c5@2 ~@14 [c3,g4]@2 ~@3 g4@2 ~ g4@2 ~@22, ~@22 f2@10 ~@3 f2@10 ~@3]/2", // F C5 F Dm C5
  P: "[[f2,a4,c5]@2 ~ c5@2 ~ [f2,f4]@3 ~ f4@2 ~ [c3,g4]@2 ~ g4@2 ~ [c3,g4]@2 bb4@2 ~ g4@2 f4@2 ~ f4@2 ~ f4@2 ~@6 [a4,c5]@7 ~, ~@2 d5@2 ~ a4@2 ~@16 a4@2 ~ f2@8 ~@14]/2", // F C5 Am
  Q: "[[ab4,b4]@6 ~@2 [g4,bb4]@5 ~@3 [f4,a4]@13 ~@3 [g4,bb4]@4 ~ [ab4,b4]@3 [a4,c5]@11 ~@2 c5@3 [a4,d5]@3 ~@2 c5@3 ~@8 c5@7 ~ [bb2,db5]@4 ~@4 [b4,d5]@11 ~@2 [f4,b4] ~@2 [f4,b4,e5]@3 ~@2 [f4,d5]@3 [c3,e4,bb4,c5]@20 ~ [e4,c5]@3 [c5,e5]@7 ~ [b4,eb5]@7 ~ d5@5 a4@3 [a4,c5]@7 ~ [ab4,b4]@7 ~ bb4@5 f4@3 [f4,a4]@8, ~@16 f2@37 ~@11 bb4@20 f4@15 ~@2 d5@3 ~@48 bb4@4 ~@20 g4@4 ~@12, ~@64 [bb2,f4]@16 ~@8 g2@20 ~@28 c3@17 ~@7 f2@32]/8", // Abm Gm F Gm Abm Am D5 Bbm …
  R: "[~@5 [a4,c5]@3 [c3,ab4,b4]@3 ~@2 [g4,bb4]@3 [f4,a4]@13 ~@3 [g4,bb4]@5 b4@3 eb4@6 ~@2 eb4@2 ~@3 [eb4,a4] ~@2 [eb4,a4,d5]@4 ~ c5@3 ~@8 c5@7 ~ bb2@2 ~@6 [b4,d5]@11 ~@2 [f4,b4] ~@2 [f4,b4,e5]@3 ~@2 d5@2 ~ [e4,bb4,c5]@19 ~@2 c5@3 [g4,bb4,e5]@7 ~ [f4,d5]@7 ~ [e4,bb4,c5]@7 ~ [a4,c5]@15 ~ [bb2,bb4,d5]@7 ~ [f2,a4,c5]@8, ~@16 f2@41 ~@7 f4@16 db5@7 ~@14 d5@3 ~@56 f5@32, ~@40 [a4,c5]@11 ~@2 c5@3 ~@8 bb4@20 f4@15 ~@93, ~@64 bb2@13 ~@11 g2@17 ~@7 c3@39 ~@9 f2@12 ~@20]/8", // Am E Gm F Gm Ebdim D Bm …
  S: "[~@8 [c3,a4,c5]@2 [ab4,b4]@3 [g4,bb4]@3 c5@2 ~@3 [c5,g5]@2 [a4,f5]@2 ~ [a4,f5]@3 [f2,c5]@2 ~ c5@2 a4@2 [f2,f4]@3 f4@2 ~ [c3,g4]@2 ~ g4@2 ~, ~@8 f2@5 ~@11, ~@16 a5 ~@3 a5@2 ~@9 d5@2 ~@15]/2", // F Abm Gm C5 Dm F5 F C5
  T: "[~@2 bb4@2 ~ g4@2 f4@2 ~ a4@2 bb4@2 c5@3 ~ c5@2 a5@2 ~ [c5,a5]@2 ~ [a4,f5]@2 ~@2 [a4,f5]@2 ~ [f2,a4,c5]@2 ~ c5@2 ~ [f2,f4]@3 ~ f4@2 ~ [c3,g4]@2, ~ [c3,g4]@2 ~ a4@2 ~ f2@10 ~@3 f2@10 ~@18, ~@9 g4@2 ~@14 g5@2 ~@8 d5@2 ~ a4@2 ~@8]/2", // F Dm F C5
  U: "~ g4@2 ~ [c3,g4]@2 bb4@2 ~ g4@2 f4@2 ~ f4@2 ~ f4@2 ~ a4@2 c5@2, ~@8 a4@2 ~ f2@8 ~@5", // C5
  V: "c5@2 ~ a5@2 ~ [a4,f5]@2 ~ [a4,f5]@3 ~@2 d5@2 ~ a4@2 [f2,f4]@3 f4@2, f2@10 ~@3 [f2,c5]@3 ~@8, a5 ~@4 [c5,g5]@2 ~@9 c5@2 ~@6", // Dm F F5 C5
  W: "~@2 [c3,g4]@2 ~ g4@2 ~ [c3,g4]@2 ~ a4@2 ~ f4@2 g4@2 ~ bb4@2 c5@3, ~@10 bb4@2 ~ g4@2 ~@3 a4@2 ~@4, ~@7 f2@5", // C5
  X: "[~@3 a5@2 ~@3 g5@2 [a4,f5]@2 ~ [a4,f5]@2 ~ [f2,a4,c5]@2 d5@2 ~ a4@2 [f2,f4]@3 f4@2 ~ [c3,g4]@2 ~ g4@2 ~@3 bb4@2 a4@2 ~ f4@2 ~ f4@2 ~, ~@2 c5@2 ~@3 [c5,a5]@2 ~@11 c5@2 ~@19 g4@2 ~@5, ~@3 f2@10 ~@23 [c3,g4]@2 ~@4 f2@6]/2", // Dm F C5 F C5
  Y: "[~ f4@2 ~@4 c5@2 ~ a5@2 [c5,g5]@2 [a4,f5]@2 ~ [a4,f5]@3 [f2,c5]@2 ~ c5@2 ~ [f2,f4]@3 ~ f4@2 ~ [c3,g4]@2 ~ g4@2 ~ [c3,g4]@2 bb4@2 ~ g4@2 ~ g4@2 a4@2 ~ c5@3 ~@2 c5@2 a5@2 ~ [c5,a5]@2 ~ [a4,f5]@2 ~ [a4,f5]@2 ~@2, ~@7 f2@10 ~@29 f2@10 ~@3 f2@10 ~@3, ~@7 a5 ~@14 d5@2 ~ a4@2 ~@16 a4@2 ~ f4@2 ~@3 bb4@2 ~@11 g5@2 ~@6]/3", // C5 Dm F5 F C5 F Dm
  Z: "~ d5@2 c5@2 ~ [f2,f4]@3 f4@2 ~@2 [c3,g4]@2 ~ g4@2 ~ [c3,g4]@2 ~ a4@2, [f2,a4,c5]@3 ~@2 a4@2 ~@14 bb4@2 ~", // F C5 F
  AA: "g4@2 f4@2 ~ f4@2 ~ f4@2 ~@6 [a4,c5]@7 ~, ~ f2@4 ~@7", // Am
  AB: "[~@8 [c3,a4,c5]@2 [ab4,b4]@3 [g4,bb4]@3 [f4,a4]@13 ~@3 [g4,bb4]@4 ~ [ab4,b4]@3 [a4,c5]@11 ~@2 c5@3 [a4,d5]@3 ~@2 c5@3 ~@8 c5@7 ~ [bb2,db5]@4 ~@4 [b4,d5]@11 ~@2 [f4,b4] ~@2 [f4,b4,e5]@3 ~@2 [f4,d5]@3 [c3,e4,bb4,c5]@20 ~ [e4,c5]@3 [c5,e5]@7 ~ [b4,eb5]@7 ~ d5@5 a4@3 [a4,c5]@7 ~ [ab4,b4]@7 ~ bb4@5 f4@3 [f4,a4]@8, ~@16 f2@37 ~@11 bb4@20 f4@15 ~@2 d5@3 ~@48 bb4@4 ~@20 g4@4 ~@12, ~@64 [bb2,f4]@16 ~@8 g2@20 ~@28 c3@17 ~@7 f2@32]/8", // F Abm Gm F Gm Abm Am D5 …
  AC: "[~@16 c5@2 ~ a5@2 [c5,g5]@2 [a4,f5]@2 ~ [a4,f5]@3 [f2,c5]@2 d5@2 ~ a4@2 [f2,f4]@3 f4@2 ~@2 [c3,g4]@2 ~ g4@2, ~@8 f2@5 ~@11, ~@16 a5 ~@16 c5@2 ~@13]/2", // C5 Dm F5 F C5
  AD: "[~ [c3,g4]@2 bb4@2 ~ g4@2 f4@2 ~ a4@2 bb4@2 c5@3 ~@3 a5@2 ~@3 g5@2 [a4,f5]@2 ~ [a4,f5]@2 ~@3 d5@2 c5@2 ~ [f2,f4]@3 ~ f4@2 ~, ~@5 a4@2 ~ f2@10 ~@3 f2@10 ~@4 [f2,a4,c5]@3 ~@10, ~@10 g4@2 ~@8 c5@2 ~@3 [c5,a5]@2 ~@13 a4@2 ~@6]/2", // C5 Dm F
  AE: "[[c3,g4]@2 ~ g4@2 ~@3 bb4@2 a4@2 ~ f4@2 ~@2 f4@2 ~ f4@2 ~ a4@2 c5 c5@2 ~@3 [c5,g5]@2 [a4,f5]@2 ~ [a4,f5]@3 [f2,c5]@2 d5@2 ~ a4@2 [f2,f4]@2, ~@7 [c3,g4]@2 ~@3 g4@2 ~@12 a5 ~@3 a5@2 ~@11 c5@2 ~@3, ~@13 f2@8 ~@5 f2@10 ~@12]/2", // C5 Dm F5 F C5
  AF: "[~ f4@2 ~ [c3,g4]@2 ~@2 g4@2 ~@2 bb4@2 a4@2 ~ f4@2 ~ a4@2 bb4@2 c5@3 ~@3 a5@2 ~ [c5,a5]@2 g5@2 [a4,f5]@2 ~ [a4,f5]@2 ~ [f2,a4,c5]@2 ~ c5@2, ~@11 [c3,g4]@2 ~@3 g4@2 ~ g4@2 ~@8 c5@2 ~@14 d5@2 ~, ~@17 f2@10 ~@3 f2@10 ~@8]/2", // C5 F Dm F C5
  AG: "[a4@2 [f2,f4]@3 f4@2 ~ [c3,g4]@2 ~ g4@2 ~ [c3,g4]@2 bb4@2 ~ g4@2 f4@2 ~ f4@2 ~ f4@2 ~@5 c5@2 ~@2 [c5,g5]@2 [a4,f5]@2 ~ [a4,f5]@3 [f2,c5]@2, ~@18 a4@2 ~ f2@8 ~@5 f2@9 ~@5, ~@34 a5 ~@2 a5@2 ~@9]/2", // F C5 Dm F5
  AH: "[~ c5@2 ~ [f2,f4]@3 ~ f4@2 ~ [c3,g4]@2 ~ g4@2 ~ [c3,g4]@2 ~ a4@2 ~ f4@2 ~ a4@2 bb4@2 c5@3 ~ c5@2 a5@2 ~ [c5,a5]@2 ~ [a4,f5]@2 ~ [a4,f5]@2 ~, d5@2 ~ a4@2 ~@14 bb4@2 ~ g4@2 ~ g4@2 ~@14 g5@2 ~@5, ~@23 f2@9 ~@4 f2@9 ~@3]/2", // F C5 F Dm
  AI: "[f2,a4,c5]@2 ~ c5@2 a4@2 [f2,f4]@3 f4@2 ~ [c3,g4]@2 ~ g4@2 ~ [c3,g4]@2 ~ a4@2, ~@2 d5@2 ~@17 bb4@2 ~", // F C5
  AJ: "[~ f4@2 ~@2 f4@2 ~ f4@2 ~@2 c5@2 c5@2 ~@2 [c5,g5]@2 [a4,f5]@2 ~ [a4,f5]@3 ~ d5@2 c5@2 ~ [f2,f4]@3 f4@2 ~ [c3,g4]@2 ~ g4@2 ~ [c3,g4]@2 ~ a4@2 ~ f4@2 ~ a4@2 ~ c5@3 ~@3 a5@2 ~ [c5,a5]@2 ~ [a4,f5]@2 ~ [a4,f5], g4@2 ~@9 a4@2 ~ a5 ~@2 a5@2 ~@12 a4@2 ~@13 bb4@2 ~ g4@2 ~ g4@2 ~ bb4@2 ~@4 c5@2 ~@4 g5@2 ~@3, ~ f2@8 ~@5 f2@9 ~@3 [f2,c5]@3 ~@21 f2@9 ~@3 f2@9 ~]/3", // C5 Dm F C5 F Dm F5
  AK: "~@2 [f2,a4,c5]@2 ~ c5@2 ~ f2@3 f4@2 ~ [c3,g4]@2 ~ g4@2 ~ [c3,g4]@2 ~ a4, ~@4 d5@2 ~ a4@2 ~@13 bb4@2, ~@8 f4 ~@15", // F C5
  AL: "~@2 f4@2 ~ f4@2 ~ f4 ~@15, ~ g4@2 ~@21, ~@2 f2@7 ~@15",
})).s("gm_accordion").gain(0.05).pan(0.4)

// bass · electric bass finger · "Bass"
const bass = note(`<
  ~ A B C D E F G H I J K L M N O P Q R C D S T G H U R C L S T O V W X Y@2 Z AA AB AC AD AE@3 AF AG@2 AH AI AJ@3 AK
  AL@2 AM AN@3 AO AP@2 W AQ AR@2 AS AT AU AC AV AW@3 AF AG@2 AH AI AJ@3 AK AL@2 AM AX@4 AF AY@2 AZ AI BA@3 AF BB@2 AZ
  BC@3 BD BE BF BG@2 BH BI BJ@3 BK BL BM@2 BN BO
>`.pickRestart({
  A: "f2@8 ~ f2 g2 ab2", B: "a2@10 ~ a2", C: "bb2@3 ~ a2@3 ~ ab2@3 ~", D: "g2@3 ~ bb2@3 ~ d3@3 ~", E: "c3@9 ~@2 c3",
  F: "g2@3 ~ bb2@3 ~ c3@3 g2", G: "f2@3 ~ g2@3 ~ a2@3 ~", H: "bb2@3 ~ a2@3 ~ g2@3 ~", I: "f2@7 ~ f2@2 g2 a2",
  J: "a2@9 ~ a2 ~", K: "bb2@3 ~ a2@3 ~ ab2@3 f2", L: "g2@3 ~ b2@3 ~ d3@3 ~", M: "c3@9 ~ eb3@2",
  N: "e3@3 ~ d3@3 ~ c3@3 ~", O: "f2@3 ~ a2@3 ~ c3@3 ~", P: "f2@6 ~@2 c2@2 d2 e2", Q: "f2@14 ~@2 f2@3 ~ gb2@2 g2@2",
  R: "a2@6 ~ f2 a2@3 ~", S: "c3@9 ~ c3 ~", T: "g2@3 ~ bb2@3 ~ c3@3 ~", U: "f2@7 ~ f2@2 g2 ab2", V: "f3@5 ~",
  W: "f2@4 ~@2 c3@4 ~@3 f2@4 ~@2 c3@4 ~", X: "~@2 c3@4 ~@2 g2@3 ~ c3@2 ~ f2@2 ~ c3@2 ~ f2@3",
  Y: "[~@4 f2@4 ~@2 c3@4 ~@3 f2@4 ~@2 c3@4 ~@3 c3@4 ~@2 g2@4 ~@2 f2@2 ~@2 a2@2]/2",
  Z: "~ c3@5 ~ f2@4 ~@3 c3@4 ~@2 f2@4", AA: "~@3 c3@4 ~@2 c3@4 ~@3 g2@3 c3@2 ~ f2@2",
  AB: "~ c3@2 ~@2 f2@3 ~@3 f2@4 ~@3 c3@4 ~@2", AC: "f2@4 ~@2 c3@4 ~@3 c3@4 ~@2 g2@4 ~",
  AD: "~@2 f2@2 ~ a2@2 ~ f2@6 ~@2 c3@6 ~@2", AE: "[d3@3 ~ eb3@3 ~ f2@8 ~ f2 g2 ab2 a2@10 ~ a2 bb2@3 ~]/3",
  AF: "a2@3 ~ ab2@3 ~ g2@3 ~", AG: "[bb2@3 ~ d3@3 ~ c3@9 ~@2 c3 g2@3 ~]/2", AH: "bb2@3 ~ c3@3 g2 f2@3 ~",
  AI: "g2@3 ~ a2@3 ~ bb2@3 ~", AJ: "[a2@3 ~ g2@3 ~ f2@7 ~ f2@2 g2 a2 a2@9 ~ a2 ~ bb2@3 ~]/3",
  AK: "a2@3 ~ ab2@3 f2 g2@3 ~", AL: "[b2@3 ~ d3@3 ~ c3@9 ~ eb3@2 e3@3 ~]/2", AM: "d3@3 ~ c3@3 ~ f2@3 ~",
  AN: "[a2@6 ~@2 c3@6 ~@2 f2@12 ~@4 c2@4 d2@2 e2@2 f2@4 ~@3 c3@4 ~@2 f2@4 ~@3 c3@4 ~@2 c3@4 ~@2]/3",
  AO: "~ g2@3 c3@2 ~ f2@2 ~ c3@2 ~@2 f2@3 ~@3 f2@4",
  AP: "[~@2 c3@4 ~@3 f2@4 ~@2 c3@4 ~@3 c3@4 ~@2 g2@4 ~@3 f2@2 ~ a2@2 ~ c3@5 ~@2]/2",
  AQ: "~@2 c3@4 ~@2 g2@3 c3@2 ~ f2@2 ~@2 c3@2 ~ f2@3",
  AR: "[~@3 f2@4 ~@3 c3@4 ~@2 f2@4 ~@3 c3@4 ~@2 c3@4 ~@3 g2@4 ~@2 f2@2 ~ a2@2 ~]/2",
  AS: "~ f2@5 ~ f2@4 ~@3 c3@4 ~@2 f2@4", AT: "~@2 c3@4 ~@3 c3@4 ~@2 g2@3 ~ c3@2 ~ f2@2",
  AU: "~ c3@2 ~ f2@3 ~@4 f2@4 ~@2 c3@4 ~@3", AV: "~@2 f2@2 ~ a2@2 ~ f2@6 ~@10",
  AW: "[~@8 f2@8 ~ f2 g2 ab2 a2@10 ~ a2 bb2@3 ~]/3",
  AX: "[a2@6 ~@2 c3@6 ~@2 f2@12 ~@4 c2@4 d2@2 e2@2 f2@14 ~@2 f2@3 ~ gb2@2 g2@2 a2@12 ~@2 f2@2 a2@6 ~@2 bb2@6 ~@2]/4",
  AY: "[bb2@3 ~ d3@3 ~ c3@9 ~ c3 ~ g2@3 ~]/2", AZ: "bb2@3 ~ c3@3 ~ f2@3 ~",
  BA: "[a2@3 ~ g2@3 ~ f2@7 ~ f2@2 g2 ab2 a2@6 ~ f2 a2@3 ~ bb2@3 ~]/3", BB: "[b2@3 ~ d3@3 ~ c3@9 ~ c3 ~ g2@3 ~]/2",
  BC: "[a2@6 ~@2 c3@6 ~@2 f3@20 ~@4 f2@4 ~@3 c3@4 ~@2 f2@4 ~@3 c3@4 ~@3 c3@4 ~]/3",
  BD: "~ g2@3 ~ c3@2 ~ f2@2 ~ c3@2 ~@2 f2@3 ~@3 f2@3", BE: "~@4 c3@4 ~@3 f2@4 ~@2 c3@4 ~@3",
  BF: "c3@4 ~@3 g2@5 ~ f2@2 ~@2 a2@2 ~ c3@4",
  BG: "[~@2 f2@4 ~@3 c3@4 ~@2 f2@4 ~@3 c3@4 ~@2 c3@4 ~@3 g2@3 c3@2 ~ f2@2 ~ c3@2 ~@2]/2",
  BH: "f2@3 ~@3 f2@4 ~@3 c3@4 ~@2 f2@4 ~", BI: "~@2 c3@4 ~@2 c3@4 ~@2 g2@4 ~@3 f2@2 ~",
  BJ: "[a2@2 ~ f2@5 ~@2 f2@4 ~@2 c3@4 ~@2 f2@4 ~@2 c3@3 ~@4 c3@4 ~@2 g2@3 c3@2 ~ f2@2 ~ c3@2 ~@2 f2@2 ~@4 f2@4 ~@2 c3@3 ~@3]/3",
  BK: "f2@4 ~@3 c3@4 ~@2 c3@4 ~@2 g2@4 ~", BL: "~ f2@2 ~@2 a2@2 ~ c3@5 ~ f2@4 ~@2 c3@4",
  BM: "[~@2 f2@4 ~@2 c3@3 ~@3 c3@4 ~@2 g2@3 c3@2 ~ f2@2 ~ c3@2 ~ f2@2 ~@4 f2@3 ~@3 c3@3 ~]/2",
  BN: "~@2 f2@4 ~@2 c3@3 ~@3 c3@4 ~@2 g2@4", BO: "~@2 f2@2 ~ a2@2 ~ f2@5 ~@11",
})).s("gm_electric_bass_finger").gain(0.26)

// chords · piano · "Snare"
const piano = note(`<
  ~ A@32 B C D E F G H I J K L@15 M N O P Q R S T U V W X Y Z AA L@31 AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR
  AS
>`.pickRestart({
  A: "gb2 ~@7 [e2,gb2] ~@7 [e2,gb2] ~@7", B: "gb2 ~@2 e2 ~ [e2,gb2] ab2 ~@3 e2 ~@2 gb2 ~ e2!2 ~ gb2 ab2 ~@3 e2",
  C: "~@2 gb2 ~@2 e2 ~ [e2,gb2] ab2 ~@3 e2 ~@2 gb2 ~@2 [e2,gb2] ~ e2 ab2 ~ e2", // Esus2
  D: "e2 ~ e2 ~ gb2 ~@2 e2 ~ [e2,gb2] ab2 ~@2 e2 ~@3 gb2 ~@2 e2 [e2,gb2] ~ ab2", // Esus2
  E: "~@2 e2 ~@3 gb2 ~@2 e2 [e2,gb2] ~ ab2 ~ e2!2 ~@2 gb2 ~@3 [e2,ab2] ~", // Esus2 E
  F: "~ [e2,gb2] ~@2 e2 ~ e2 gb2 ~@3 e2 [e2,gb2] ~ ab2 ~@2 e2 ~@2 gb2 ~ e2 ~", // Esus2
  G: "e2 gb2 ~ ab2 ~@2 e2 ~@2 gb2 ~@2 e2 ~ [e2,gb2] ~ ab2 ~@2 e2 ~@2 gb2 ~", // Esus2
  H: "~ [e2,gb2] ~ e2 ~ ab2 e2 ~ e2!2 ~ gb2 ~@2 e2 ~ [e2,gb2] ~ ab2 ~@2 e2 ~@2", // Esus2
  I: "gb2 ~@2 e2 ~ [e2,gb2] ab2 ~@3 e2 ~@2 gb2 ~@2 e2 ~ [e2,gb2] ab2 ~ e2 ~ e2", // Esus2
  J: "~@2 gb2 ~@2 [e2,gb2] ~@2 [e2,ab2] ~@15", K: "e2 ~@7 e2 ~ e2 ~@3 e2 ~ gb2 ~@7",
  L: "[e2,gb2] ~@7 [e2,gb2] ~@7 gb2 ~@7", M: "[e2,gb2] ~@7 [e2,gb2] ~@7 gb2 ~@3 e2 [e2,gb2] ~ ab2",
  N: "~@2 e2 ~@2 gb2 ~ e2!2 ~ gb2 ~ ab2 ~@2 e2 ~@2 gb2 ~@2 e2 ~ [e2,gb2]", // Esus2
  O: "~ ab2 ~@2 e2 ~@2 gb2 ~@2 [e2,gb2] ~ e2 ~ ab2 e2 ~ e2!2 ~ gb2 ~@2 e2", // Esus2
  P: "~ [e2,gb2] ab2 ~@3 e2 ~@2 gb2 ~@2 e2 ~ [e2,gb2] ab2 ~@3 e2 ~@2 gb2 ~", // Esus2
  Q: "~ e2 ~ [e2,gb2] ab2 ~ e2 ~ e2 ~@2 gb2 ~@2 [e2,ab2] ~@2 [e2,gb2] ~@2 e2 ~ e2 ~", // Esus2 E Esus2
  R: "gb2 ~@2 e2 ~ [e2,gb2] ab2 ~@2 e2 ~@3 gb2 e2 ~ e2 gb2 ~ ab2 ~@2 e2 ~", // Esus2
  S: "~@2 gb2 ~@2 e2 [e2,gb2] ~ ab2 ~@2 e2 ~@2 gb2 ~@3 [e2,gb2] e2 ~ ab2 ~ e2", // Esus2
  T: "e2 ~ e2 gb2 ~@3 e2 [e2,gb2] ~ ab2 ~@2 e2 ~@2 gb2 ~@3 e2 [e2,gb2] ~ ab2", // Esus2
  U: "~@2 e2 ~@2 gb2 ~@2 e2 ~ [e2,gb2] ~ ab2 e2 ~ e2 ~@2 gb2 ~@2 [e2,gb2] ~@2", // Esus2
  V: "~ [e2,ab2] ~@2 e2!2 ~ gb2 ~@2 e2 ~ [e2,gb2] ~ ab2 ~@2 e2 ~@2 gb2 ~ e2!2", // E Esus2
  W: "~ gb2 ab2 ~@3 e2 ~@2 gb2 ~@2 e2 ~ [e2,gb2] ab2 ~@3 e2 ~@2 gb2 ~", // Esus2
  X: "~ [e2,gb2] ~ e2 ab2 ~ e2 ~ e2!2 ~ gb2 ~@2 e2 ~ [e2,gb2] ab2 ~@2 e2 ~@3", // Esus2
  Y: "gb2 ~@2 e2 ~ [e2,gb2] ab2 ~@2 e2 ~@3 gb2 ~@2 e2 [e2,gb2] ~ ab2 ~ e2!2 ~", // Esus2
  Z: "~@2 gb2 ~@2 [e2,ab2] ~@2 [e2,gb2] ~@3 e2 ~ e2 ~@9", AA: "e2 ~@7 e2 ~@5 e2 ~ gb2 ~@7",
  AB: "e2 ~@7 e2 ~@7 gb2 ~@2 e2 ~ [e2,gb2] ~ ab2", AC: "~@2 e2 ~@2 gb2 ~ e2 ~ e2 gb2 ~ ab2 ~@2 e2 ~@3 gb2 ~@2 e2 ~",
  AD: "[e2,gb2] ab2 ~@3 e2 ~@2 gb2 ~@2 [e2,gb2] ~ e2 ~ ab2 e2 ~ e2 ~ e2 gb2 ~@2", // Esus2
  AE: "~ e2 [e2,gb2] ~ ab2 ~@2 e2 ~@3 gb2 ~@2 e2 ~ [e2,gb2] ab2 ~@3 e2 ~@2", // Esus2
  AF: "gb2 ~@2 e2 ~ [e2,gb2] ~ ab2 e2 ~ e2 ~@2 gb2 ~@3 [e2,ab2] ~@2 [e2,gb2] ~@2 e2", // Esus2 E Esus2
  AG: "~ e2 gb2 ~@3 e2 [e2,gb2] ~ ab2 ~@2 e2 ~@2 gb2 ~ e2 ~ e2 gb2 ~ ab2 ~", // Esus2
  AH: "~ e2 ~@2 gb2 ~@3 e2 [e2,gb2] ~ ab2 ~@2 e2 ~@2 gb2 ~@2 [e2,gb2] ~ e2 ~", // Esus2
  AI: "ab2 e2 ~ e2 ~ e2 gb2 ~@2 e2 ~ [e2,gb2] ~ ab2 ~@2 e2 ~@2 gb2 ~@2 e2 ~", // Esus2
  AJ: "[e2,gb2] ~ ab2 ~@2 e2 ~@2 gb2 ~@2 e2 ~ [e2,gb2] ab2 ~ e2 ~ e2 ~@2 gb2 ~@2", // Esus2
  AK: "[e2,gb2] ~@2 [e2,ab2] ~@3 e2!2 ~ gb2 ~@2 e2 [e2,gb2] ~ ab2 ~@2 e2 ~@2 gb2 ~", // Esus2 E Esus2
  AL: "e2!2 ~ gb2 ab2 ~@3 e2 ~@2 gb2 ~@2 e2 [e2,gb2] ~ ab2 ~@2 e2 ~@2 gb2", // Esus2
  AM: "~@2 [e2,gb2] ~ e2 ~ ab2 e2 ~ e2!2 ~ gb2 ~@2 e2 ~ [e2,gb2] ab2 ~@2 e2 ~@2", // Esus2
  AN: "gb2 ~@2 e2 ~ [e2,gb2] ~ ab2 ~@2 e2 ~@2 gb2 ~@2 e2 ~ [e2,gb2] ab2 ~ e2!2 ~", // Esus2
  AO: "~ gb2 ~@3 [e2,ab2] ~@2 [e2,gb2] ~@2 e2!2 ~ gb2 ~@2 e2 [e2,gb2] ~ ab2 ~@2 e2", // E Esus2
  AP: "~@2 gb2 e2 ~ e2 ~ gb2 ab2 ~@2 e2 ~@2 gb2 ~@2 e2 ~ [e2,gb2] ab2 ~@2 e2", // Esus2
  AQ: "~@2 gb2 ~@2 [e2,gb2] ~ e2 ab2 ~ e2!2 ~ e2 gb2 ~@2 e2 ~ [e2,gb2] ab2 ~@2 e2", // Esus2
  AR: "~@2 gb2 ~@2 e2 ~ [e2,gb2] ab2 ~@2 e2 ~@2 gb2 ~@2 e2 ~ [e2,gb2] ab2 ~ e2!2", // Esus2
  AS: "~@2 gb2 ~@2 [e2,ab2] ~@2 [e2,db3] ~@15", // E Dbm
})).s("gm_piano").gain(0.31)

stack(accordion, bass, piano)

More by Tori Amos