Strudelify
Tenth Avenue Freeze-Out cover art

1975 · Born to Run

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, A@4 for four bars: 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 I M H I G N O P H Q R S T U V W X Y I Y G H Z@2 AA AB AC AD AE AF X AG AH X B C AI@2
  B C AJ AK AL I G AM AA I AN Y O AO AA AP AQ AR T AS V AT X Y I@2 AU AV AH AW G Y I AT I Y I AT I AV AX@7 AY@2 AZ BA
  BB@2 BC BD BE@2 BF@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@10", H: "f2 ~@5 d2@6 c2@4",
  I: "f2 ~@5 d2@8 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 ~ f2 ~ a1 ~ a1@2 bb1 ~ bb1@2 c2 ~ c2@2", N: "f2 ~@3 f2 ~ d2@8 g2@2", O: "bb2 ~@5 g2@9 ~",
  P: "bb2 ~@3 bb2@2 g2@6 c2@4", Q: "f2 ~@3 f2@2 d2@7 ~ f2@2", R: "c2@5 ~ c2 ~ e2@6 e2 ~", S: "c2@6 g1 ~",
  T: "bb1@6 g1@9 ~", U: "bb1@3 d2@3 f2 ~", V: "f2@2 ~@4 d2@8 c2 ~", W: "f2 ~@3 f2 ~ d2@7 ~ d2 ~",
  X: "f2@3 ~@3 d2@8 c2 ~", Y: "f2 ~@3 f2@2 d2@6 c2@4", Z: "bb1 ~@5 g1@10", AA: "f2 ~@5 d2@7 ~ d2@2",
  AB: "f2 ~ f2@2 ab1 ~ ab1@2 a1 ~ a1@2 bb1 ~ bb1@2", AC: "c2@4 ~@2 c2 ~ g1@5 ~ g1 ~", AD: "c2@5 ~ g2 ~ e2 ~@3 c2 ~@3",
  AE: "bb1@4 a1 ~ g1@10", AF: "bb1@2 d2 ~ f2 ~@11", AG: "f2 ~@3 f2@2 d2@7 ~ c2 ~", AH: "f2 ~@5 d2@8 c2 ~",
  AI: "[bb1@5 ~ bb1 ~ bb1@13 ~ bb1 ~ bb1@4 c2@4]/2", AJ: "bb1@5 ~ bb1 ~ bb1@8", AK: "~@4 c2@6 ~@2 c2 ~@3",
  AL: "f2@3 d2@4 c2", AM: "f2 ~ a1 ~@3 bb1@2 ~@2 b1 ~@3 c2@2", AN: "f2 ~@5 d2@8 d2 ~", AO: "bb2 ~@5 bb1@6 d2@4",
  AP: "f2 ~ f2@2 a1 ~ a1@2 bb1 ~ bb1@2 b1 ~ b1@2", AQ: "c2@12 ~@2 g1 ~", AR: "c2@6 e2 ~ g2@4 e2@2 ~@2",
  AS: "bb1@11 ~ bb1 ~@3", AT: "f2 ~@3 f2@2 d2@8 c2@2", AU: "f2 ~@3 f2 ~ d2@7 ~ c2 ~",
  AV: "f2 ~ f2@2 a1 ~ a1@2 bb1 ~ bb1@2 b1@2 c2@2", AW: "f2 ~@2 a1 f2@2 d2@8 c2@2", AX: "f2 ~@3 f2 ~@3 d2 ~@3 d2 ~@3",
  AY: "[f2 ~@3 f2@2 ~@2 a2@2 c3 ~@3 d3@6 ~ d3 ~@2 a2@5 ~ a2@2]/2", AZ: "d3@3 ~ d3 c3 a2 g2",
  BA: "f2@5 ~ f2@2 c2@4 ~@2 c2@2", BB: "[f2 ~@3 f2@2 ~@2 a2@2 c3 ~@3 d3@6 ~ a2 ~@2 d3@6 a2 ~]/2",
  BC: "d3@6 ~@2 d3@2 c3 ~ a2 ~ g2 ~", BD: "bb2@3 ~@3 c3@5 ~@5", BE: "[c3@3 ~@4 f2@16 d2@4 ~ c2@4]/2",
  BF: "[~ 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 A B D@2 E@3 ~ F@3 ~@13 E@3 ~ G@4 H I G J K@2 L M N@3 ~ A B C@2 O B P Q N@3 ~ J G@3 R I S J K@2 L T E@3 ~
  F@3 ~ J U J U J U J V J V J V J W X W Y Z Y AA@3 AB@4 AC AD@2 AE@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: "[[a4,c5]@4 ~@2 [bb4,d5] ~ [bb4,d5]@20 ~@4]/2",
  E: "[[a4,c5,f5]@19 ~ f4 ~ f4 ~@3 d5 ~@3 [f4,a4,c5]@4 d5 ~@13, ~@6 [f4,a4] ~@5]/3", // F
  F: "[[c5,f5,a5]@20 f4 ~ f4 ~@3 d5 ~@3 [f4,a4,c5]@4 d5 ~@13, ~@6 [f4,a4] ~@5]/3", // F
  G: "~@8 [f4,a4] [e4,ab4] [f4,a4] ~@5", H: "~@4 bb4@2 ~@2 [bb4,d5] [a4,db5] [bb4,d5] ~@5, ~@4 d5 ~@11",
  I: "~@8 [bb4,db5,d5] [a4,d5] bb4 ~@5", J: "~@4 [f4,a4] ~@3 [f4,a4] [e4,ab4] [f4,a4] ~@5",
  K: "[[g4,c5,e5]@19 ~ g4 ~ g4 ~ [g4,ab4] ~ c5 ~@5, ~@12 a4 ~@3]/2", L: "[bb4,d5,f5]",
  M: "[bb4,d5,f5]@3 ~ [bb4,d5,f5] ~ f5@6 d5@2 ~@2", // Bb
  N: "[[a4,c5,f5]@19 ~ f4 ~ f4 ~ [f4,a4]@2 d5 ~@3 [f4,a4,c5]@4 d5 ~@13]/3", O: "[c5,e5]@5 ~ [d5,f5] ~ [d5,f5]@5 ~@3",
  P: "[a4,c5]@5 ~ [bb4,d5] ~ [bb4,d5]@8", Q: "~ [bb4,d5,f5]@2 ~", R: "~@4 [bb4,d5] ~@3 [bb4,d5] [a4,db5] [bb4,d5] ~@5",
  S: "~@4 [a4,c5] ~@3 [f4,a4] [e4,ab4] [f4,a4] ~@5", T: "~@4 [f4,f5]@2 [d4,d5] ~",
  U: "~@4 [f4,a4] ~@3 [f4,a4] [e4,ab4] [f4,a4] [e4,ab4] [f4,a4]@2 c5@2, ~@14 a4 ~", // F E F E F
  V: "~@4 [f4,a4] ~@3 [f4,a4] [e4,ab4] [f4,a4] [e4,ab4] [f4,a4]@2 [a4,c5] ~", // F E F E F Am
  W: "[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
  X: "f4 ~@3 [f4,a4] ~@3 [f4,a4] [e4,ab4] [f4,a4] ~@5", Y: "~@4 [f4,a4,f5] ~@3 [f4,a4,f5] [e4,ab4,e5] [f4,a4,f5] ~@5",
  Z: "[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
  AA: "[[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 …
  AB: "[[f4,a4]@18 ~@2 [f4,a4,f5]@2 ~@2 [ab4,b4,c5,g5,ab5] ~ [c5,e5,c6] ~@3 [d5,d6]@24 ~@2 [d5,f5,d6]@2 [e5,c6] ~ [a4,c5,a5]@2 [g4,bb4,g5] ~, f5@16 ~@8 [a4,a5]@2 ~@4 f5@22 ~@4 [db5,e5,db6] ~ c5@2 ~@4]/4", // F Abmaj7 C D Dm C Am Gm …
  AC: "[bb4,d5,f5]@4 ~@2 [g4,c5,e5]@5 ~@5", // Bb C
  AD: "[[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
  AE: "[~ [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 D G H@2 I@4 J@2 K@2 L M N O P Q R S T@2 U@2 V@2 W@2 X Y Z AA AB AC AD AE AF@2 AG AH AI@2 AJ@2 D G
  AK AL AM G AN AO AP@2 AQ AR AS AT AU AV AW AX AY AZ BA@2 BB BC AJ BD@2 BE@2 BF AJ BG BH BI BJ BK BL BM BN BO BP BQ BR
  BS BT BU BV BW BX BY BV BZ@2 CA CB@4 CC CD@2 CE@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,b4,d5]@6 [g4,c5,e5] ~@5 [c3,c4]@4, [c3,c4]@3 ~, ~ [g4,c5,e5]", // G C
  H: "[[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 …
  I: "[[f2,f3,c5]@6 [d2,d3,d5]@10 [f2,f3,c5]@6 [d2,d3,d5]@10 [f2,f3,c5]@6 [d2,d3,d5]@10 [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 …
  J: "[[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
  K: "[[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
  L: "[f2,g2,f3] ~@3 [c4,f4,a4] ~@9 [d4,f4,a4]@2, ~@3 [d4,f4,a4]@4 ~, ~@3 [d2,d3]", // Fsus2 F Dm D
  M: "[f2,f3] ~@3 [c4,f4,a4] ~ d2@6 [d2,d3]@4, ~@3 [d4,f4,a4]@5", // F D Dm
  N: "[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
  O: "[f2,f3] ~@2 [f2,f3] [c4,f4,a4] ~ [d2,d3]@6 [d2,d3]@4, ~@3 [d4,f4,a4]@4 ~", // F D Dm
  P: "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
  Q: "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
  R: "[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
  S: "[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
  T: "[[c3,c4]@14 [c3,c4]@2 [c3,c4]@15 ~, [g4,c5,e5]@31 ~, d5 ~@31]/2", // C
  U: "[[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
  V: "[[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
  W: "[[f2,f3,c5]@6 [d2,d3,d5]@9 ~ [f2,f3,c5]@6 [d2,d3,d5]@8 [ab5,bb5,db6,eb6] [ab4,bb4,db5,eb5,gb5], [f5,a5]]/2", // F5 D F5 D Absus4 Ebm7 F
  X: "[f2,f3,gb4] ~@2 [f2,f3] [c4,f4,a4] ~@9 [d4,f4,a4]@2, ~@3 [d2,d3]", // Gbmaj7 F Dm D
  Y: "[f2,f3] ~@2 f3 [c4,f4,a4] ~ d2@6 [d2,d3]@2 d4@2, ~@3 [d4,f4,a4]@4 ~", // F D Dm
  Z: "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
  AA: "[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
  AB: "[bb2,bb3] ~@2 bb3 g4 ~ g3@6 ~@2 d4@2, ~@2 d4@5 ~, ~@3 g4@5", // Bb
  AC: "bb3 ~@2 [bb2,bb3] [d4,f4,bb4] ~ g3@6 [g2,g3]@2 g4@2, ~@6 [d4,g4,bb4]@8 bb4 ~", // Bb G Gm
  AD: "f3 ~@2 f2 [c4,f4] ~@7 [d2,d3]@2 [d4,f4] ~, ~@3 [d4,f4,a4]@4 ~", // F5 D Dm
  AE: "[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
  AF: "[e5@16 eb5 ~@9 g4@6, [c3,c4], [g4,c5]@22 c5@9 ~, ~ e5]/2", AG: "[bb2,bb3]@7 g4@8 ~, [bb4,d5], f4@5 ~@11",
  AH: "[bb2,bb3,f4,bb4,d5] ~ [bb2,bb3,f4,bb4,d5] ~ [bb2,bb3,f4,bb4,d5] ~@11", // Bb
  AI: "[[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
  AJ: "[f2,f3,c5]@3 [d2,d3,d5]@5, [f5,a5]", // F5 D F
  AK: "[f4,a4,c5]@6 [f4,bb4,d5] ~@5 [bb2,bb3]@3 ~, [bb2,bb3]@3 ~, ~@8 [f4,bb4,d5]@7 ~", // F Bb
  AL: "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
  AM: "[g4,c5,e5]@6 [a4,d5,f5] ~@5 [d3,d4]@4, [d3,d4]@3 ~, b4 ~@7 [a4,d5,f5]@8", // C Dm D Dm
  AN: "[f4,a4,c5]@6 [f4,bb4,d5] ~@4 bb3@5, [bb2,bb3]@11 ~@5, ~ [f4,bb4,d5]", AO: "~ [c3,c4,d5,f5,bb5]@2 ~",
  AP: "[~@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
  AQ: "[f3,f4,c5]@3 [d3,d4,d5]@5, [f5,a5]", // F5 D F
  AR: "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
  AS: "[f2,f3] ~@2 [f2,f3] [c4,f4,a4] ~@9 [d4,f4,a4]@2, ~@3 [d4,f4,a4]@4 ~, ~@3 d3", // F Dm
  AT: "f3 ~@3 [c4,f4,a4] ~@7 [d2,d3]@2 [d4,f4,a4]@2, ~@3 [d4,f4,a4]@4 ~", // F D Dm
  AU: "f3 ~@3 [c4,f4,a4] ~ [d2,d3]@6 [d2,d3]@2 [d4,f4]@2, ~@3 [d4,f4,a4]@4 ~", // F D Dm
  AV: "[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
  AW: "bb3 ~@2 bb3 [d4,f4,bb4] ~ [d4,g4,bb4]@10, ~@6 g2@7 ~@3", // Bb Gm
  AX: "bb3 ~@2 bb3 [d4,f4,bb4] ~ g3@6 ~@2 [d4,g4,bb4]@2, ~@3 [d4,g4,bb4]@4 ~, ~@3 [g2,g3]", // Bb Gm G
  AY: "f3 ~@2 f3 [c4,f4,a4] ~@9 [d4,f4,a4]@2, ~@3 [d4,f4,a4]@4 ~, ~@3 [d2,d3]", // F Dm D
  AZ: "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
  BA: "[[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
  BB: "[bb2,bb3,f4,bb4]@3 [bb4,d5]@5, d5 ~@5 g4@8 ~@2, ~@3 [g2,g3]@3 ~@2", // Bb5 Bb G
  BC: "[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
  BD: "[[f2,f3,c5]@6 [d2,d3,d5]@9 ~ [f2,f3,c5]@6 [d2,d3,d5]@10, [f5,a5]]/2", // F5 D F5 D F
  BE: "[[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
  BF: "[f2,f3,c5]@3 [d2,d3]@3 [d2,d3]@2, [f5,a5]@15 ~, [g2,d5,g5] ~@5 d5@9 ~", // F5 D F G5
  BG: "[f2,f3,c5]@6 [d2,d3]@4 [d2,d3]@4 d5 ~, [f5,a5]@15 ~, ~@3 d5@4 ~", // F5 D F
  BH: "[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
  BI: "[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
  BJ: "[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
  BK: "[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
  BL: "[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
  BM: "[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
  BN: "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
  BO: "[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
  BP: "[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
  BQ: "[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
  BR: "[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
  BS: "[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
  BT: "[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
  BU: "[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
  BV: "[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
  BW: "[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
  BX: "[f2,f3,c5,f5,a5] ~ [f2,f3,f5,a5] ~ [d2,d3,d5,f5,a5] ~ [d2,d3,d5,f5,a5] ~, ~@4 c5 ~@11", // F Dm
  BY: "[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
  BZ: "[[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
  CA: "[d2,d3]@8 [d2,d3]@3 ~ e3@3 ~, [d5,f5,a5]@15 ~, ~@11 e2@3 ~@2", // D Dm
  CB: "[[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 …
  CC: "[bb2,bb3,d5,f5,bb5]@5 ~ [e5,g5,c6]@6 ~@4, gb5 ~@5 [c3,c4]@4 ~@6", // Bb C
  CD: "[[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
  CE: "[~ [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 B E F G H I J K L M@2 N O@2 P O Q O R S@2 T U V W X Y Z AA AB AC O@3 AD S@2 AE AF AG W AH AI AJ@2 AG AK AL
  O@2 AD A B C@2 A B AM AN AO O@2 AP S@2 AQ AR AG@2 AS AT AU AV AW AX O@4 AY AZ O@2 BA AY BB BC AZ O@2 AZ O AZ BD BE BF
  BG BH BG@3 BH BI@2 BJ BK BL@2 BM BN BO@7
>`.pickRestart({
  A: "[g4,c5,e5]@5 ~ [a4,d5,f5] ~ [a4,d5,f5]@8, [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: "[f4,a4,c5]@6 [f4,bb4,d5] ~@7 [g5,bb5] ~, [bb1,bb2]@15 ~, ~@8 [f4,bb4,d5]@7 ~, ~@3 f2", // F Bb Gm Bb
  F: "g5@2 [f5,a5]@2 [f5,a5]@2 [g5,bb5] ~@7 [d5,f5]@2, [bb1,bb2,bb5]@7 ~ [c2,c3,bb5]@8, ~ g5@2 ~ g5@2 [e5,g5]@2, ~@5 a5@3, ~@5 f5@2 ~", // F Gm Dm Bb C7 Em
  G: "~@3 [a4,d5,f5] a4@2 ~ [d5,f5], [d2,d3], [g4,c5,e5]@5 ~ a4@2, ~@4 [d5,f5]@3 ~", // Dm D C Dm
  H: "g4@2 ~ [c5,e5] g4@2 g4 [g4,c5,e5], [c2,c3], [b4,d5]@5 ~@3, ~@2 g4@2 [c5,e5]@3 ~", // C Bm C
  I: "f4@4 f4@2 [bb4,d5] ~ f4@4 f4@2 [a4,c5]@2, [bb1,bb2], [a4,c5]@7 ~ [bb4,d5]@6 f4 ~", // Bb Am Bb Am Bb
  J: "f4@4 f4@2 [f4,bb4,d5] ~@5 [g4,c5,e5]@3 ~, [bb1,bb2,a4,c5]@6 ~@2 [c2,c3,f4,bb4,d5]@7 ~", // Bb C F Bb
  K: "g4@4 g4@2 [a4,d5,f5] ~ [a4,d5,f5]@6 a4@2, [d2,d3], [c5,e5]@7 ~@9", // Dm D C
  L: "g4@2 g4 [g4,c5,e5] g4@2 g4!2, [c2,c3], [b4,d5] [c5,e5]", // C Bm C
  M: "[[f4,a4,c5]@5 ~ [f4,bb4,d5] ~ [f4,bb4,d5]@19 ~@5, [bb1,bb2]@7 ~]/2", // F Bb
  N: "[a4,c5,e5,f5] ~ [a4,c5,f5] ~ [a4,c5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~, [f2,f3]@2 ~@4 [d2,d3]@9 ~", // Fmaj7 F Dm F D
  O: "[f2,f3,a4,c5,f5] ~ [a4,c5,f5] ~ [a4,c5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~, ~@6 [d2,d3]@9 ~", // F Dm D
  P: "[f2,f3,a4,c5,f5] ~ [a4,c5,f5] ~ [a4,c5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~@3, ~@3 [d2,d3]@3 ~@2", // F Dm D
  Q: "[f2,f3,a4,c5,f5] ~ [a4,c5,f5] ~ [a4,c5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~, ~@3 [d2,d3]@4 ~", // F Dm D
  R: "[f2,f3,a4,c5,f5] ~ [a4,c5] ~ [a4,c5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~, ~@6 [d2,d3]@9 ~", // F Am F Dm D
  S: "[f2,f3,c4,f4,a4] ~@5 [d2,d3,d4,f4,a4]@9 ~", T: "[f2,f3,c4,f4,a4] ~@5 [d4,f4,a4] ~@5 f4!2 ~ f4, ~@6 [d2,d3]@9 ~",
  U: "[f2,f3,a4] ~ c5@2 [d4,g4]@2 f4 ~ [d4,g4]@2 f4 ~ d4@2 [d4,f4] ~, f4@2 ~@2 ab4 ~ [d2,d3]@7 ~@3, ~@8 ab4 ~@3 db4 ~@3", // F G5 Dm D
// … 134 more lines

More by Bruce Springsteen