Strudelify

Tenth Avenue Freeze-Out

Bruce Springsteen

KeyF majorTempo116 bpm
0:00/0:00
// Tenth Avenue Freeze-Out — Bruce Springsteen
// 116 bpm, 4/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: pitch bends are ignored
// note: bank select 127 (Roland MT-32 map) read through the MT-32 patch table: ch 7 "Organ" Elec Org 4 -> drawbar organ
// note: ch 11 "Sax" named as a reed, played on alto sax (its piano patch is not one)
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 122 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(116/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(`<
  ~@7 A B C D E B C F@2 G H I J K L M N H O G P Q R L S T U V W X Y Z AA M AA AB H AC@2 AD AE AF AG AH AI AJ AK O AL B C
  AM@2 B C AN AO AP M AB AQ AR M AS AA AT AU AV AW AX AY AZ BA X BB BC AA M O BD BE O BF AB AA O BB O AA M BG M BE BH@6
  BI BJ@2 BK BL BM@2 BN BO BP@2 BQ@5
>`.pickRestart({
  A: "~@6 c2 ~", B: "d2@5 ~ d2 ~ d2@8", C: "c2@5 ~ c2 ~ c2@8", D: "bb1@5 ~ bb1 ~ bb1@6 f1@2",
  E: "bb1@5 ~ f1 ~ bb1@4 c2@4", F: "[bb1@5 ~ bb1 ~ bb1@20 c2 ~@3]/2", G: "f2 ~@5 d2@9 ~", H: "f2 ~@5 d2@6 c2@4",
  I: "f2 ~@5 d2@7 ~ c2@2", J: "f2 ~@3 f2@2 d2@6 c2 ~@3", K: "f2 ~@2 d2@4 c2", L: "f2 ~@5 d2@6 c2@3 ~",
  M: "f2 ~@5 d2@8 c2@2", N: "f2 ~ f2 ~ a1 ~ a1@2 bb1 ~ bb1@2 c2 ~ c2@2", O: "f2 ~@5 d2@8 c2 ~",
  P: "f2 ~@3 f2 ~ d2@8 g2@2", Q: "bb2 ~@5 g2@9 ~", R: "bb2 ~@3 bb2@2 g2@6 c2@4", S: "f2 ~@3 f2@2 d2@7 ~ f2@2",
  T: "c2@5 ~ c2 ~ e2@6 e2 ~", U: "c2@6 g1 ~", V: "bb1@6 g1@9 ~", W: "bb1@3 d2@3 f2 ~", X: "f2@2 ~@4 d2@8 c2 ~",
  Y: "f2 ~@3 f2 ~ d2@7 ~ d2 ~", Z: "f2@3 ~@3 d2@8 c2 ~", AA: "f2 ~@3 f2@2 d2@6 c2@4", AB: "f2 ~@5 d2@10",
  AC: "bb1 ~@5 g1@10", AD: "f2 ~@5 d2@7 ~ d2@2", AE: "f2 ~ f2@2 ab1 ~ ab1@2 a1 ~ a1@2 bb1 ~ bb1@2",
  AF: "c2@4 ~@2 c2 ~ g1@5 ~ g1 ~", AG: "c2@5 ~ g2 ~ e2 ~@3 c2 ~@3", AH: "bb1@4 a1 ~ g1@10", AI: "bb1@2 d2 ~ f2 ~@11",
  AJ: "f2@4 ~@2 d2@8 c2 ~", AK: "f2 ~@3 f2@2 d2@7 ~ c2 ~", AL: "f2@3 ~@3 d2@7 ~ c2 ~",
  AM: "[bb1@5 ~ bb1 ~ bb1@13 ~ bb1 ~ bb1@4 c2@4]/2", AN: "bb1@5 ~ bb1 ~ bb1@8", AO: "~@4 c2@6 ~@2 c2 ~@3",
  AP: "f2@3 d2@4 c2", AQ: "f2 ~ a1 ~@3 bb1@2 ~@2 b1 ~@3 c2@2", AR: "f2 ~@5 d2@8 d2@2", AS: "f2 ~@5 d2@8 d2 ~",
  AT: "bb2 ~@5 g2@10", AU: "bb2 ~@5 bb1@6 d2@4", AV: "f2 ~@5 d2@7 ~ d2 ~",
  AW: "f2 ~ f2@2 a1 ~ a1@2 bb1 ~ bb1@2 b1 ~ b1@2", AX: "c2@12 ~@2 g1 ~", AY: "c2@6 e2 ~ g2@4 e2@2 ~@2",
  AZ: "bb1@3 g1@5", BA: "bb1@11 ~ bb1 ~@3", BB: "f2 ~@3 f2@2 d2@8 c2@2", BC: "f2@2 ~ d2@4 c2",
  BD: "f2 ~@3 f2 ~ d2@7 ~ c2 ~", BE: "f2 ~ f2@2 a1 ~ a1@2 bb1 ~ bb1@2 b1@2 c2@2", BF: "f2 ~@2 a1 f2@2 d2@8 c2@2",
  BG: "f2 ~@3 f2@2 d2@8 c2 ~", BH: "f2 ~@3 f2 ~@3 d2 ~@3 d2 ~@3", BI: "f2@2 ~@2 f2 ~@3 d2@2 ~@2 d2 ~@3",
  BJ: "[f2 ~@3 f2@2 ~@2 a2@2 c3 ~@3 d3@6 ~ d3 ~@2 a2@5 ~ a2@2]/2", BK: "d3@3 ~ d3 c3 a2 g2",
  BL: "f2@5 ~ f2@2 c2@4 ~@2 c2@2", BM: "[f2 ~@3 f2 ~@3 a2@2 c3 ~@3 d3@7 a2 ~@2 d3@6 a2 ~]/2",
  BN: "d3@6 ~@2 d3@2 c3 ~ a2 ~ g2 ~", BO: "bb2@3 ~@3 c3@5 ~@5", BP: "[c3@3 ~@4 f2@16 d2@4 ~ c2@4]/2",
  BQ: "[~ a1@5 g1@7 f2@14 f2 f2@9 ~ f1@22 f1@14 ~@6, ~@37 c2@2 ~@41]/5",
})).s("gm_electric_bass_finger").gain(0.43)

// chords · brass section · "Horns"
const brass_section = note(`<
  ~@8 A B C@2 D B E@2 F@3 ~ G@3 ~@13 H@3 ~ I@4 J K I L M@2 N O P@3 ~ D B C@2 Q R S T U@3 ~ L I@3 V K W L M@2 N X F@3 ~
  G@3 ~ L Y L Y L Y L Z L Z L AA L AB AC AD AE AF AG AH@3 AI@4 AJ AK@2 AL@4 ~
>`.pickRestart({
  A: "[c5,e5]@5 ~ [d5,f5] ~ [d5,f5]@6 ~@2", B: "[b4,d5]@5 ~ [c5,e5] ~ [c5,e5]@5 ~@3",
  C: "[[a4,c5]@5 ~ [bb4,d5] ~ [bb4,d5]@12 ~@12]/2", D: "[c5,e5]@5 ~ [d5,f5] ~ [d5,f5]@5 ~@3",
  E: "[[a4,c5]@4 ~@2 [bb4,d5] ~ [bb4,d5]@20 ~@4]/2", // Am Bb
  F: "[[a4,c5,f5]@19 ~ f4 ~ f4 ~@3 d5 ~@3 [f4,a4,c5]@4 d5 ~@13, ~@6 [f4,a4] ~@5]/3", // F
  G: "[[c5,f5,a5]@20 f4 ~ f4 ~@3 d5 ~@3 [f4,a4,c5]@4 d5 ~@13, ~@6 [f4,a4] ~@5]/3", // F
  H: "[[a4,c5,f5]@20 f4 ~ f4 ~@3 d5 ~@3 c5@4 d5 ~@13, ~@12 [f4,a4]@2 ~ [f4,a4]@3 ~@6]/3", // F
  I: "~@8 [f4,a4] [e4,ab4] [f4,a4] ~@5", J: "~@4 bb4@2 ~@2 [bb4,d5] [a4,db5] [bb4,d5] ~@5, ~@4 d5 ~@11",
  K: "~@8 [bb4,db5,d5] [a4,d5] bb4 ~@5", L: "~@4 [f4,a4] ~@3 [f4,a4] [e4,ab4] [f4,a4] ~@5",
  M: "[[g4,c5,e5]@19 ~ g4 ~ g4 ~ [g4,ab4] ~ c5 ~@5, ~@12 a4 ~@3]/2", N: "[bb4,d5,f5]",
  O: "[bb4,d5,f5]@3 ~ [bb4,d5,f5] ~ f5@6 d5@2 ~@2", // Bb
  P: "[[a4,c5,f5]@18 ~@2 f4 ~ f4 ~ [f4,a4]@2 d5 ~@3 [f4,a4,c5]@4 d5 ~@13]/3", Q: "[c5,e5]@6 [d5,f5] ~ [d5,f5]@4 ~@4",
  R: "[b4,d5]@5 ~ [c5,e5] ~ [c5,e5]@4 ~@4", S: "[a4,c5]@5 ~ [bb4,d5] ~ [bb4,d5]@8", T: "~ [bb4,d5,f5]@2 ~",
  U: "[[a4,c5,f5]@19 ~ f4 ~ f4 ~ [f4,a4]@2 d5 ~@3 [f4,a4,c5]@4 d5 ~@13]/3", // F
  V: "~@4 [bb4,d5] ~@3 [bb4,d5] [a4,db5] [bb4,d5] ~@5", W: "~@4 [a4,c5] ~@3 [f4,a4] [e4,ab4] [f4,a4] ~@5",
  X: "~@4 [f4,f5]@2 [d4,d5] ~", Y: "~@4 [f4,a4] ~@3 [f4,a4] [e4,ab4] [f4,a4] [e4,ab4] [f4,a4]@2 c5@2, ~@14 a4 ~",
  Z: "~@4 [f4,a4] ~@3 [f4,a4] [e4,ab4] [f4,a4] [e4,ab4] [f4,a4]@2 [a4,c5] ~", // F E F E F Am
  AA: "~@4 [f4,a4] ~@3 [f4,a4] [e4,ab4] [f4,a4] [e4,ab4] f4@2 [a4,c5] ~, ~@11 a4@2 ~@3", // F E F E Am
  AB: "[f4,a4] ~@3 [f4,a4] ~@3 [f4,a4] [e4,ab4] [f4,a4] [e4,ab4] [f4,a4]@2 [a4,c5] ~", // F E F E F Am
  AC: "f4 ~@3 [f4,a4] ~@3 [f4,a4] [e4,ab4] [f4,a4] ~@5", // F E F
  AD: "[f4,a4] ~@3 [f4,a4] ~@3 [f4,a4] [e4,ab4] [f4,a4] [e4,ab4] [f4,a4]@2 a4@2, ~@14 c5 ~", // F E F E F
  AE: "~@4 [f4,a4,f5] ~@3 [f4,a4,f5] [e4,ab4,e5] [f4,a4,f5] ~@5", // F E F
  AF: "[f4,a4,b4] ~@3 [f4,a4,f5] ~@3 [f4,a4,f5] [e4,ab4,e5] [f4,a4,f5] [e4,ab4,e5] [f4,a4,f5]@2 [a4,c5,a5] ~", // Bm7b5 F E F E F Am
  AG: "~@4 [f4,f5] ~@3 [f4,a4,f5] [e4,ab4,e5] [f4,a4,f5] ~@5, ~@2 a4 ~@5", // F E F
  AH: "[[a4,f5] ~@3 [f4,a4] ~@3 [ab4,b4,c5,ab5] ~ [c5,e5,c6] ~@3 [d5,f5,d6]@24 ~@2 [d5,f5,d6]@2 [e5,c6] ~ [a4,c5,a5]@2 [g4,bb4,g5] ~, ~@4 f5@2 ~@2 [a4,a5]@2 ~@4 e5 ~@25 [db5,e5,db6] ~ c5@2 ~@4]/3", // Dm F Ab C Dm C Am Gm …
  AI: "[[f4,a4]@18 ~@2 [f4,a4,f5]@2 ~@2 [ab4,b4,c5,g5,ab5] ~ [c5,e5,c6] ~@3 [d5,d6]@24 ~ e5 [d5,f5,d6]@2 [c5,e5,c6] ~ [a4,c5,a5]@2 [g4,bb4,g5] ~, f5@16 ~@8 [a4,a5]@2 ~@4 f5@22 ~@4 [db5,db6] ~@7]/4", // F Abmaj7 C D Dm C Am Gm …
  AJ: "[bb4,d5,f5]@4 ~@2 [g4,c5,e5]@5 ~@5", // Bb C
  AK: "[[g4,c5,e5]@2 ~@4 e5 a4@14 ~@3 [d4,d5]@4 [c4,c5]@2 ~@2, ~@6 [c5,f5]@15 ~@11]/2", // C D C F5
  AL: "[~ [a3,a4]@3 ~@3 g3@2 ~@51 [a4,c5,f5]@2 ~@2, ~@7 g4 ~@5 [f3,f4]@51, ~@35 f5@25 ~@4, ~@45 f6@18 ~]/4", // A F
})).s("gm_brass_section").gain(0.51).pan(0.4)

// chords · drawbar organ · "Organ"
const drawbar_organ = note(`<
  ~@4 A B C@2 D E F@2 G H I@2 J@4 K@2 L@2 M N O P Q R S T U@2 V@2 W@2 X@2 Y Z AA AB AC AD AE AF AG@2 AH AI AJ@2 AK@2 AL
  AM AN AO AP AM AQ AR AS@2 AT AU AV AW AX AY AZ BA BB BC BD@2 BE BF AK BG@2 BH@2 BI AK BJ BK BL BM BN BO BP BQ BR BS BT
  BU BV BW BX BY BZ CA CB CC CD@2 CE CF@4 CG CH@2 CI@4 ~
>`.pickRestart({
  A: "[g4,c5,e5]@6 [a4,d5,f5] ~@5 [d3,d4]@3 ~, d3@3 ~, ~ [a4,d5,f5]", B: "[b4,d5]@6 [c5,e5] ~ [c5,e5]@8, [c3,c4,g4]",
  C: "[[a4,c5]@6 [bb4,d5] ~@7 [bb2,bb3]@2 [bb2,bb3]@12 [c3,c4,g4,c5,e5]@4, f4@7 ~, [bb2,bb3]@7 ~@9, ~@2 [bb4,d5]@5 ~]/2", // Am Bb C Bb
  D: "[g4,c5,e5]@6 [a4,d5,f5] ~@5 [d3,d4]@4, [d3,d4]@3 ~, ~ [a4,d5,f5]", // C Dm D Dm
  E: "[b4,d5]@6 [c5,e5] ~@5 [c3,c4]@4, g4, [c3,c4]@3 ~, ~@8 [c5,e5]@7 ~", // Bm C
  F: "[[a4,c5]@6 [bb4,d5] ~@7 [bb2,bb3]@2 [bb2,bb3]@12 [c3,c4,g4,c5,e5]@4, [bb2,bb3]@7 ~@9, f4@2 [f4,bb4,d5]@5 ~]/2", // Am Bb C Bb
  G: "[g4,c5,e5]@6 [a4,d5,f5] ~@5 [d3,d4]@3 ~, [d3,d4]@3 ~, ~@8 [a4,d5,f5]@7 ~", // C Dm D Dm
  H: "[g4,b4,d5]@6 [g4,c5,e5] ~@5 [c3,c4]@3 ~, [c3,c4]@3 ~, ~@8 [g4,c5,e5]@7 ~", // G C
  I: "[[bb2,bb3,f4,a4,c5]@4 ~@2 [bb3,f4,bb4,d5] ~ [f4,d5]@8 ~@7 c3@9, ~@4 [bb2,bb3,bb4]@7 [g2,a2]@5, ~ [c5,f5], ~@16 [g4,a4,b4]@5 [e2,f2]@11, ~@16 [e4,f4] [f3,g3,c4,d4] [a2,b2,c3,d3,e3] [e2,f2,g2] c2@12]/2", // F Bb Dm Bb Gsus2 F5 G Fmaj7 …
  J: "[[f2,f3,c5]@6 [d2,d3,d5]@10 [f2,f3,c5]@6 [d2,d3,d5]@9 ~ [f2,f3,c5]@6 [d2,d3,d5]@9 ~ [f2,f3,c5]@5 ~ [d2,d3,d5]@6 [bb5,c6] [gb5,ab5] ~@2, [f5,a5]@57 ~@7, g5 ~@5 c2 ~@57]/4", // F5 D F5 D F5 D F5 D …
  K: "[[f2,f3,c5]@3 [d2,d3]@3 [d2,d3]@2 [f2,f3,c5]@3 [d2,d3,d5]@5, [f5,a5]@31 ~, b5 ~@5 d5@10 ~@16]/2", // F5 D F5 D F
  L: "[[f2,f3,c5]@6 [d2,d3,d5]@9 ~ [f2,f3,c5]@6 ~@8 [db6,eb6] [db5,gb5,ab5,bb5], [f5,a5], ~@11 [d2,d3,d5]@5]/2", // F5 D F5 Dbsus2 Gb F D
  M: "[f2,g2,f3] ~@3 [c4,f4,a4] ~@9 [d4,f4,a4]@2, ~@3 [d4,f4,a4]@4 ~, ~@3 [d2,d3]", // Fsus2 F Dm D
  N: "[f2,f3] ~@3 [c4,f4,a4] ~ d2@6 [d2,d3]@4, ~@3 [d4,f4,a4]@5", // F D Dm
  O: "[f2,f3] ~@3 [c4,f4,a4] ~ [d2,d3]@6 ~@2 [d4,f4,a4]@2, ~@3 [d4,f4,a4]@4 ~, ~@3 [d2,d3]", // F D Dm D
  P: "[f2,f3] ~@2 [f2,f3] [c4,f4,a4] ~ [d2,d3]@6 [d2,d3]@4, ~@3 [d4,f4,a4]@4 ~", // F D Dm
  Q: "bb3 ~@2 bb3 [d4,f4,bb4] ~ [g2,g3]@6 ~@2 d4@2, ~@3 [g4,bb4]@5, ~@3 d4@4 ~, ~@3 [g2,g3]", // Bb G Gm G
  R: "bb3 ~@2 bb3 [d4,f4,bb4] ~ [g2,g3]@6 ~@2 [d4,g4,bb4]@2, ~@3 [d4,g4,bb4]@4 ~, ~@3 [g2,g3]", // Bb G Gm G
  S: "[f2,f3] ~@2 f3 [c4,f4] ~ [d2,d3]@6 ~@2 [d4,f4]@2, ~@3 [d4,f4,a4]@4 ~, ~@3 [d2,d3]", // F F5 D Dm D
  T: "[f2,f3] ~@2 [f2,f3] [c4,f4,a4] ~ d3@4 ~@2 [d4,f4,a4]@4, ~@3 [d4,f4,a4]@3 ~@2, ~@10 [d2,d3]@5 ~", // F Dm D
  U: "[[c3,c4]@14 [c3,c4]@2 [c3,c4]@15 ~, [g4,c5,e5]@31 ~, d5 ~@31]/2", // C
  V: "[[bb2,bb3,f4]@6 [g2,g3,g4]@10 [bb2,bb3,f4]@5 ~@7 [eb5,gb5,ab5,bb5] db5 ~@2, [bb4,d5]@11 ~@5]/2", // Bb5 G Bb5 Ebm Bb
  W: "[[f2,f3,c5]@3 [d2,d3,d5]@5 [f2,f3,c5]@3 [d2,d3,d5]@5, [f5,a5], [d5,b5] ~@5 c2 ~@25]/2", // F5 D F5 D F G
  X: "[[f2,f3,c5]@6 [d2,d3,d5]@10 [f2,f3,c5]@6 [d2,d3,d5]@8 [ab5,bb5,db6,eb6] [ab4,bb4,db5,eb5,gb5], [f5,a5]@31 ~]/2", // F5 D F5 D Absus4 Ebm7 F
  Y: "[f2,f3,gb4] ~@2 [f2,f3] [c4,f4,a4] ~@9 [d4,f4,a4]@2, ~@3 [d2,d3]", // Gbmaj7 F Dm D
  Z: "[f2,f3] ~@2 f3 [c4,f4,a4] ~ d2@6 [d2,d3]@2 d4@2, ~@3 [d4,f4,a4]@4 ~", // F D Dm
  AA: "f3 ~@3 [c4,f4,a4] ~ [d2,d3]@6 ~@2 [d4,f4,a4]@2, ~@3 [d4,f4,a4]@4 ~, ~@3 [d2,d3]", // F D Dm D
  AB: "[f2,f3] ~@2 f2 [c4,f4,a4] ~ d3@4 ~@2 [d4,f4,a4]@4, ~@3 [d4,f4,a4]@3 ~@2, ~@10 [d2,d3]@5 ~", // F Dm D
  AC: "[bb2,bb3] ~@2 bb3 g4 ~ g3@6 ~@2 d4@2, ~@2 d4@5 ~, ~@3 g4@5", // Bb
  AD: "bb3 ~@2 [bb2,bb3] [d4,f4,bb4] ~ g3@6 [g2,g3]@2 g4@2, ~@6 [d4,g4,bb4]@8 bb4 ~", // Bb G Gm
  AE: "f3 ~@2 f2 [c4,f4] ~@7 [d2,d3]@2 [d4,f4] ~, ~@3 [d4,f4,a4]@4 ~", // F5 D Dm
  AF: "[f2,f3] ~@2 [f2,f3] [c4,f4,a4] ~ [d2,d3]@4 ~@2 [d4,f4,a4]@4, ~@3 [d4,f4,a4]@3 ~@2, ~@10 [d2,d3]@5 ~", // F D Dm D
  AG: "[e5@16 eb5 ~@9 g4@6, [c3,c4], [g4,c5]@22 c5@9 ~, ~ e5]/2", AH: "[bb2,bb3]@7 g4@8 ~, [bb4,d5], f4@5 ~@11",
  AI: "[bb2,bb3,f4,bb4,d5] ~ [bb2,bb3,f4,bb4,d5] ~ [bb2,bb3,f4,bb4,d5] ~@11", // Bb
  AJ: "[[f2,f3,c5]@6 [d2,d3]@5 ~ d2@4 [f2,f3,c5]@6 [d2,d3,d5]@10, [f5,a5], ~@3 d5@5 ~@8, ~@11 d3@4 ~@17]/2", // F5 D F5 D F
  AK: "[f2,f3,c5]@3 [d2,d3,d5]@5, [f5,a5]", // F5 D F
  AL: "[g4,c5,e5]@6 [a4,d5,f5] ~@5 [d3,d4]@4, [d3,d4]@3 ~, ~@8 [a4,d5,f5]@7 ~", // C Dm D Dm
  AM: "[g4,b4,d5]@6 [g4,c5,e5] ~@5 [c3,c4]@4, [c3,c4]@3 ~, ~ [g4,c5,e5]", // G C
  AN: "[f4,a4,c5]@6 [f4,bb4,d5] ~@5 [bb2,bb3]@3 ~, [bb2,bb3]@3 ~, ~@8 [f4,bb4,d5]@7 ~", // F Bb
  AO: "bb4 ~@13 db5@2, [eb4,gb4,ab4]@7 [db3,eb3] gb3 [ab3,bb3] db4 eb4 gb4@4, db4@3 bb2@5, ~ [gb3,ab3,bb3]@4 [gb2,ab2]@11, ~ eb3 db3@2 eb2@12", // Ab7 Dbsus2 Absus2 Gb Gbsus2
  AP: "[g4,c5,e5]@6 [a4,d5,f5] ~@5 [d3,d4]@4, [d3,d4]@3 ~, b4 ~@7 [a4,d5,f5]@8", // C Dm D Dm
  AQ: "[f4,a4,c5]@6 [f4,bb4,d5] ~@4 bb3@5, [bb2,bb3]@11 ~@5, ~ [f4,bb4,d5]", AR: "~ [c3,c4,d5,f5,bb5]@2 ~",
  AS: "[~@4 c5@2 [d3,d4]@10 [f3,f4]@6 ~ c5@8 ~, [f3,f4]@3 d5@8 [d3,d4]@5, ~@4 [f5,a5]@27 ~]/2", // D F D F
  AT: "[f3,f4,c5]@3 [d3,d4,d5]@5, [f5,a5]", // F5 D F
  AU: "c5 ~ [f3,f4,c5,f5,a5] ~@3 [f3,f4,c5] ~@3 [d3,f5,a5]@2 ~@2 [d3,d4,d5,f5,a5] ~, ~@6 [f5,a5]@2 ~@2 [d4,d5] ~@5", // F F5 Dm F D
  AV: "[f2,f3] ~@2 [f2,f3] [c4,f4,a4] ~@9 [d4,f4,a4]@2, ~@3 [d4,f4,a4]@4 ~, ~@3 d3", // F Dm
  AW: "f3 ~@3 [c4,f4,a4] ~@7 [d2,d3]@2 [d4,f4,a4]@2, ~@3 [d4,f4,a4]@4 ~", // F D Dm
  AX: "f3 ~@3 [c4,f4,a4] ~ [d2,d3]@6 [d2,d3]@2 [d4,f4]@2, ~@3 [d4,f4,a4]@4 ~", // F D Dm
  AY: "[f2,f3] ~@2 f2 [c4,f4,a4] ~ d3@4 ~@2 [d4,f4,a4]@3 ~, ~@3 f3@2 ~ [d4,f4,a4]@6 ~@4, ~@10 d3@5 ~", // F Dm
  AZ: "bb3 ~@2 bb3 [d4,f4,bb4] ~ [d4,g4,bb4]@10, ~@6 g2@7 ~@3", // Bb Gm
  BA: "bb3 ~@2 bb3 [d4,f4,bb4] ~ g3@6 ~@2 [d4,g4,bb4]@2, ~@3 [d4,g4,bb4]@4 ~, ~@3 [g2,g3]", // Bb Gm G
  BB: "f3 ~@2 f3 [c4,f4,a4] ~@9 [d4,f4,a4]@2, ~@3 [d4,f4,a4]@4 ~, ~@3 [d2,d3]", // F Dm D
  BC: "f3 ~@2 [f2,f3] [c4,f4,a4] ~ d3@4 ~@2 [d4,f4]@4, ~@3 [d4,f4,a4]@3 ~@2, ~@10 [d2,d3]@5 ~", // F Dm D
  BD: "[[c5,e5]@12 eb5 ~ c5@4 ~@4 [c5,e5]@4 ~ [g4,c5,e5] ~@4, [c3,c4]@26 [c3,c4]@3 ~@3, g4@14 ~@4 g4@9 ~@5, d5 ~@11 e5@7 ~@13]/2", // C
  BE: "[bb2,bb3,f4,bb4]@3 [bb4,d5]@5, d5 ~@5 g4@8 ~@2, ~@3 [g2,g3]@3 ~@2", // Bb5 Bb G
  BF: "[bb2,bb3]@6 [bb2,bb3]@2 [bb2,bb3]@4 [ab5,bb5,db6,eb6] [ab4,db5,eb5,gb5] [eb4,gb4] ~, [f4,bb4,d5]@3 ~", // Bb Absus4 Ebm Bb
  BG: "[[f2,f3,c5]@6 [d2,d3,d5]@9 ~ [f2,f3,c5]@6 [d2,d3,d5]@10, [f5,a5]]/2", // F5 D F5 D F
  BH: "[[f2,f3,c5]@6 [d2,d3,d5]@6 [gb5,ab5,bb5,db6] [gb4,ab4,db5] eb4 ~ c5@5 ~ [d2,d3]@6 [d2,d3]@4, [f5,a5]@13 ~@2 [f2,f3]@7 d5@10, ~ [f5,a5]]/2", // F5 D Gb Gbsus2 D F
  BI: "[f2,f3,c5]@3 [d2,d3]@3 [d2,d3]@2, [f5,a5]@15 ~, [g2,d5,g5] ~@5 d5@9 ~", // F5 D F G5
  BJ: "[f2,f3,c5]@6 [d2,d3]@4 [d2,d3]@4 d5 ~, [f5,a5]@15 ~, ~@3 d5@4 ~", // F5 D F
  BK: "[f2,f3,c5,f5,a5] ~@5 [d2,d3,d5,f5,a5]@5 ~ [d5,f5,a5]@2 [d5,f5,a5]@2, ~@11 [d2,d3]@5", // F Dm D
  BL: "[f2,c5,f5]@3 [d2,d3]@2 [d2,d3] ~ [d2,d3], a5@3 ~, f3@3 ~@3 [d5,f5]@6 [d5,f5,a5]@4", // F5 D Dm
  BM: "[f2,f3] ~@3 [c5,f5,a5]@2 [d2,d3]@4 [d2,d3]@2 ~@2 [d2,d3]@2, ~@3 [f2,f3]@3 [d5,f5,a5]@6 [d5,f5,a5]@4, ~@6 e2 ~@9", // F D F Dm
  BN: "[f2,f3] ~@3 [f2,f3]@2 [d2,d3]@3 ~ [d2,d3]@2 [d5,f5,a5]@2 [d2,d3] ~, ~ [c5,f5,a5]@2 [d5,f5,a5]@3 ~@2", // F D Dm D F Dm
  BO: "[f2,f3] ~@2 [f2,f3] [c5,f5,a5]@2 [d2,d3]@4 [d2,d3]@2 ~@2 d3@2, ~@3 [d5,f5,a5]@3 [d5,f5,a5]@2", // F D Dm
  BP: "[f2,f3] ~@2 [f2,f3] [c5,f5,a5]@2 [d2,d3]@4 [d2,d3]@2 ~ [d2,d3]@2 ~, ~@3 [d5,f5,a5]@3 [d5,f5,a5]@2", // F D Dm
  BQ: "f3 ~@2 f3 c5@2 [d2,d3]@4 [d2,d3]@2 [d5,f5,a5]@2 [d2,d3]@2, ~@3 f2@3 d5@6 ~@4, ~ [f5,a5]@2 ~", // D Dm D F
  BR: "[c5,f5,a5]@2 ~@2 [d2,d3,d5,f5,a5] ~ [d2,d3]@4 d3@2 [d5,f5,a5]@4, [f2,f3] ~@5 [d5,f5,a5]@6 ~@4, ~@5 d2@3", // F Dm D Dm F Dm
  BS: "[f2,f3,c5]@3 [d2,d3]@2 [d2,d3] ~ [d2,d3], [f5,a5]@3 ~, ~@3 d5@3 [d5,f5,a5]@2", // F5 D F Dm
  BT: "[f2,f3,c5,f5,a5] ~ [c5,f5] [f2,f3,c5,f5,g5,a5]@3 [d2,d3]@4 ~@4 [d2,d3]@2, ~@3 [d5,f5,a5]@3 [d5,f5,a5]@2, ~@5 [d2,d3]@2 ~", // F F5 F D Dm D
  BU: "[f2,f3,c5,f5,a5] ~@2 [f2,f3] [c5,f5,a5]@2 [d2,d3]@4 [d2,d3]@2 [d5,f5,a5]@4, ~@3 [d5,f5,a5]@3 ~@2", // F D Dm
  BV: "[f2,f3,c5,f5,a5] ~@3 [c5,f5,a5]@2 [d2,d3]@4 [d2,d3]@2 ~ [d2,d3]@2 ~, ~@3 [f2,f3]@3 [d5,f5,a5]@6 [d5,f5,a5]@4", // F D F Dm
  BW: "[f2,f3,c5,f5,a5]@2 ~@2 [f2,f3,c5,f5,a5]@3 ~ [d2,d3,d5,f5]@2 ~@2 [d2,d3,d5,f5,a5]@3 ~, ~@4 g5 ~@3 a5 ~@7", // F Dm
  BX: "[f2,f3,c5,f5,a5]@2 ~@2 [f2,f3,f5,a5]@2 ~@2 [d2,d3,d5,f5,a5]@3 ~ [d2,d3,d5,f5,a5]@3 ~, ~@4 c5 ~@3 e5 ~@7", // F Dm
  BY: "[c5,f5,a5] ~@3 [f2,f3,c5,f5,a5]@2 ~@2 [d2,d3,d5,f5,a5]@2 ~@2 [d2,d3,d5,f5,a5]@2 ~@2, [f2,f3] ~@7", // F Dm F
  BZ: "[f2,c5,f5,a5]@2 ~@2 [f2,f3,c5,f5,a5]@2 ~@2 [d2,d3,d5,f5,a5]@2 ~@2 [d2,d3,d5,f5,a5]@3 ~, f3 ~@15", // F Dm
  CA: "[f2,f3,c5,f5,a5] ~ [f2,f3,f5,a5] ~ [d2,d3,d5,f5,a5] ~ [d2,d3,d5,f5,a5] ~, ~@4 c5 ~@11", // F Dm
  CB: "[f2,f3,c5,f5,a5]@2 ~@2 [f2,f3,c5,f5,a5]@2 ~@2 [d2,d3,d5,f5,a5]@2 ~@2 [d2,d3,d5] ~@3, ~@6 [f5,a5] ~", // F Dm D F
  CC: "[c5,f5,a5] ~@3 [f2,f3,f5,a5]@2 ~@2 [d2,d3,d5,f5,a5]@2 ~@2 [d2,d3,d5,f5,a5]@2 ~@2, [f2,f3]@2 ~@2 c5 ~@11", // F Dm F
  CD: "[[f2,f3,c5,f5,a5]@2 ~@2 [f2,c5,f5,a5]@2 ~@2 [d2,d3,d5,f5,a5] ~ [d2,d3,d5,f5,a5] ~@3 [d5,f5]@9 ~ [d5,f5]@8, ~@4 f3 ~@9 a5@17 ~, ~@14 [d2,d3] ~@17]/2", // F Dm D
  CE: "[d2,d3]@8 [d2,d3]@3 ~ e3@3 ~, [d5,f5,a5]@15 ~, ~@11 e2@3 ~@2", // D Dm
  CF: "[[f2,f3]@6 ~@2 [c5,f5,a5]@8 [c6,f6,a6]@8 [f6,g6,a6] [b5,c6,d6,e6] [f5,g5] [a4,b4,c5] g4 ~ [d2,d3,a4,d5,f5]@10 [d2,d3]@6 ~@6 [d2,d3]@4 [d2,d3,d5,f5,a5]@2 [d2,d3] ~ [d5,f5,a5]@3 ~, [c5,f5,a5]@4 ~@16 [d5,f5,a5]@4 [d5,f5,a5]@4 ~ [d5,f5,a5] ~@2, ~@6 [f2,f3]@19 ~@21 [d2,d3]@6 ~@7 [d2,d3]@2 ~@3]/4", // F Cmaj7 Fsus2 Am Dm D Dm D …
  CG: "[bb2,bb3,d5,f5,bb5]@5 ~ [e5,g5,c6]@6 ~@4, gb5 ~@5 [c3,c4]@4 ~@6", // Bb C
  CH: "[[c3,c4,e5,g5,c6]@3 ~@4 [f2,f3,c5,f5,a5]@16 [a4,d5]@5 c5@2 ~@2, a5 ~@22 db5 ~@8]/2", // C F D5
  CI: "[~ [f4,a4]@5 g4@3 ~@5 [f2,f3,c5,f5,a5]@4 [f2,f3] [f2,f3,c5,f5,a5] [c5,f5] [f2,f3,c5,f5] [c5,f5] ~ [c5,f5] [c5,f5]@5 ~@2 c6 [c6,f6,a6]@29 ~@2, ~ ab4 ~@21 [f2,f3]@2 f2@7 [b5,d6]@2 ~@30, ~@30 b4@3 [f2,f3]@12 ~@19, ~@31 [d5,f5,g5,a5]@3 ~@30]/4", // F F5 F Bm F Dm
})).s("gm_drawbar_organ").gain(0.17).pan(0.2)

// chords · drawbar organ · "Organ" · soft notes
const drawbar_organ_soft = note(`<
  ~@4 A ~@8 B C D ~@8 E F ~ G H@2 I J ~@2 K ~@5 L M N O P Q R ~@12 S ~@2 T ~@5 U V W X Y Z AA AB ~@16 AC ~ AD AE ~ AF AG
  AH ~@11 AI ~ AJ ~@4 AK@2 ~@2
>`.pickRestart({
  A: "d4@3 ~", B: "~@14 bb3 ~", C: "~@6 bb2 ~@9",
  D: "~@7 b4, [d5,g5]@9 [f3,g3] a3 [b3,c4] [d4,e4,f4] [g4,a4]@3, ~ a3@7 [d3,e3]@8, ~ d2@3, ~@7 b2@9", // G5 Fsus2 Cmaj7 Dm Gsus2 Dsus2
  E: "~@3 [d2,d3]@3 ~@2", F: "~@3 [f2,f3] ~@2 d3@6 ~@4", G: "~@7 [d4,f4,a4]", H: "~@3 bb2 ~@12",
  I: "~@3 f2 a4 ~@9 a4@2", J: "~@3 d2@2 ~@3", K: "~@12 bb3@3 ~", L: "~@3 [d4,f4,a4]@4 ~, ~@3 [d2,d3]@3 ~@2",
  M: "~@3 f2 ~@2 d3@6 ~@2 [f4,a4]@2", N: "f2 ~@2 [f2,f3] ~@12", O: "~@3 f3 ~@2 d2@4 ~@6",
  P: "~@3 bb2 f4 ~ g2@6 [g2,g3]@3 ~, ~ bb4@3", Q: "~@3 g2@3 ~ d4", R: "~@3 f3 a4 ~ [d2,d3]@6 ~@2 a4 ~",
  S: "~@13 bb4@3, ~@3 ab4", T: "~@11 bb2@5", U: "~@3 [d2,d3]@3 d2@2", V: "~@3 [f2,f3] ~@2 [d2,d3]@6 ~@4",
  W: "f2 ~@2 [f2,f3] ~@10 a4@2", X: "~@6 d2@4 ~ d2@5", Y: "~@3 bb2 ~@2 g3@7 [g2,g3]@2 ~", Z: "bb2 ~@2 bb2 ~@2 g2@6 ~@4",
  AA: "f2 ~@2 f2 ~@2 [d2,d3]@6 ~@4", AB: "f2 ~@5 d2@4 ~@2 a4@4", AC: "~@7 [c2,d2]", AD: "f2 ~@15", AE: "~@13 d3@3",
  AF: "~@2 a5 ~@13", AG: "~@7 d2, ~@13 [d3,e3]@3", AH: "~@2 f5 ~@13", AI: "~@11 d5 ~@4",
  AJ: "~@14 [f5,a5] ~, ~@13 [d2,d3]@2 ~", // F D
  AK: "[~@4 a5!2 [f2,f3,a5] ~ a5 a5@5 ~ e5@2 ~@15, ~@9 f3@8 ~@15, ~@14 c5@3 ~@15]/2", // F
})).s("gm_drawbar_organ").gain(0.08).pan(0.2)

// chords · piano
const piano = note(`<
  A B C@2 D E F G H I J K L M N@2 O P Q R P S P T U@2 V W X Y Z AA AB AC AD AE Q P@2 AF U@2 AG AH AI Y AJ AK AL@2 AM AN
  AO P@2 AF AP B C@2 AP E AQ AR Q P@2 AS U@2 AT AU AI@2 AV AW AX AY AZ BA P@3 Q BB BC P Q BD BB BE BF BC BG P BH P BC BI
  BJ BK BL BM BN BL@2 BM BO@2 BP BQ BR@2 BS BT BU@7
>`.pickRestart({
  A: "[g4,c5,e5]@5 ~ [a4,d5,f5] ~ [a4,d5,f5]@7 ~, [d2,d3]", B: "[g4,b4,d5]@6 [g4,c5,e5] ~ [g4,c5,e5]@8, [c2,c3]",
  C: "[[f4,a4,c5]@6 [f4,bb4,d5] ~@7 [g5,bb5]@2 ~@2 [f5,a5]@2 [f5,a5]@2 [g5,bb5]@2 ~@4 [e5,g5]@2 [d5,f5] ~, [bb1,bb2]@12 f2@10 ~@2 [c2,c3,bb5]@7 ~, ~@8 [f4,bb4,d5]@14 ~@4 [f5,a5]@5 ~, ~@16 [bb1,bb2]@15 ~, ~@8 [g5,bb5]@3 ~ g5@2 ~@2]/2", // F Bb Gm F Gm Em Dm Bb …
  D: "~@3 [a4,d5,f5] [a4,d5,f5]@4, [d2,d3], [g4,c5,e5]@9 ~@7", // Dm D C
  E: "[g4,b4,d5]@6 [g4,c5,e5] ~ [g4,c5,e5]@7 ~, [c2,c3]@15 ~", // G C
  F: "[f4,a4,c5]@6 [f4,bb4,d5] ~@7 [g5,bb5] ~, [bb1,bb2]@15 ~, ~@8 [f4,bb4,d5]@7 ~, ~@3 f2", // F Bb Gm Bb
// … 154 more lines

More by Bruce Springsteen