Strudelify
KeyB minorTempo125 bpm
0:00/0:00
// Cover Me — Bruce Springsteen
// 125 bpm, 4/4, key B minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "overdr Guitar 3" named as a guitar, played on electric guitar clean (its piano patch is not one)
// note: Full arrangement: all 97 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(125/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.

// chords · string ensemble 2 · "slow Strings"
const string_ensemble_2 = note(`<
  ~ A@8 B@4 C D E@8 F@3 G H@8 I J K@8 L M N@8 O@2 L P Q@8 R@2 S@4 T@2 U@2 V W X@2 L G X@2 L G Y@6 Z@4
>`.pickRestart({
  A: "[~@64 b4@63 ~, [b3,d4]@127 ~]/8", B: "[[e4,g4]@32 [d4,f#4]@31 ~, b3@63 ~]/4", C: "[g3,b3,d4]",
  D: "[a3,c#4,e4]@15 ~", E: "[~@15 b6 b6@12 a6@4 f#6@14 g6@2 d6@12 e6@4, b3, [d4,f#4]@3 ~, ~@32 b4@63 ~@33]/8",
  F: "[c#6@12 d6@4 ~@16 [g3,b3,d4]@15 ~, [d4,f#4]@2 ~, ~ b5@2]/3", G: "[a3,c#4,e4,c#6]",
  H: "[[d4,f#4]@32 g4@32 b6@8 a6@8 f#6@7 ~ e6@8 d6@16 e6@16, b3@127 ~, b5@9 ~@7, ~@64 [d4,f#4]@31 ~ [e4,g4]@32]/8", // D Em
  I: "c#6@8 d6@7 ~", J: "e6 f#6", K: "[b5@3 d6 b5@3 d6 g6@2 a6 b6 [d4,f#4,f#6]@4, b3@127 ~, d4@2 [e4,g4] ~]/8",
  L: "[g3,b3,d4,d6]", M: "c#6 d6, [a3,c#4,e4]",
  N: "[b5@7 a5 b5@10 c#6@2 d6@2 e6@2 b6@6 a6@2, b3, [d4,f#4]@95 ~ [e4,g4]@32, ~@32 b4@63 ~ d4 ~@31]/8", // D Em
  O: "[f#6@3 e6, [d4,f#4]@31 ~]/2", P: "c#6@3 d6, [a3,c#4,e4]@15 ~",
  Q: "[b5@3 a5 b5@3 d6 b5@3 a5 b5@2 c#6 d6, b3@127 ~, [d4,f#4]@32 g4@32 [d4,f#4]@31 ~ g4@31 ~]/8", // D
  R: "[c#6@7 ~ d6@8 e6@8 f#6@8, c#4]/2", S: "[b6@5 a6 f#6 e6, d4@63 ~]/4", T: "[d6@3 e6, [e4,g4]]/2",
  U: "[d6@8 c#6@8 b5@8 a5@7 ~, [d4,f#4]@31 ~]/2", V: "[g3,b3,d4,b5]", W: "c#6 d6, [a3,c#4,e4]@15 ~",
  X: "[b3,d4,f#4,b5]/2", Y: "[[b3,d4,f#4]@63 ~ [g3,b3,d4,d6]@16 [a3,e4,c#6]@16, b6@11 ~, b5 ~@3]/6",
  Z: "[[b3,d4,f#4,b5]@55 ~@9]/4", // Bm
})).s("gm_string_ensemble_2").gain(0.28)

// chords · string ensemble 2 · "slow Strings" · soft notes
const string_ensemble_2_soft = note(`<
  ~ A@8 ~@12 B@2 ~@6 C@2 ~@4 D@6 ~@4 E ~@8 F G@2 ~@2 H@2 I@2 ~@2 C@2 J@2 K@8 ~@6 H@2 ~@2 L@4 M N O@4
>`.pickRestart({
  A: "[f#4@127 ~]/8", B: "[e4,g4]/2", C: "[e4@31 ~]/2", D: "[[a#3,c#4]@31 ~@65, f#4@95 ~]/6", E: "c4 ~@15", F: "~ b4@3",
  G: "[~@4 b4@11 ~]/2", H: "[~@8 b4@23 ~]/2", I: "e4/2", J: "[a#3,f#4]/2", K: "[b3@127 ~, f#4 ~]/8",
  L: "[~@8 b4@55 ~]/4", M: "e4 ~@15", N: "c#4@15 ~", O: "[~@4 b4@23 ~@5]/4",
})).s("gm_string_ensemble_2").gain(0.16)

// bass · electric bass finger · "Fing Bass"
const bass = note(`<
  ~ A@3 B A@2 C D E F A@2 G H C I A@3 D J K A@2 L H A M N O A P N E Q R A@3 D N S A@2 L H A T A B A U S@2 A@2 L H A D V
  S A W V O X R Y A@2 D N V A@2 L Z A@2 L H A@2 AA H C A C A AB H C@3 AC
>`.pickRestart({
  A: "b1@4 ~@2 b1 ~ d2@3 ~ a1@3 ~", B: "b1@4 ~@2 b1 ~ d2@3 ~ f#1 ~ a1 ~", C: "b1@4 ~@2 b1 ~ d2@3 ~ a1@2 ~@2",
  D: "b1@4 ~@2 b1 ~ d2@3 ~ a1 ~ b1 ~", E: "e2@4 ~@2 e2 ~ b1@3 ~ d2@3 ~", F: "e2@5 ~ e2 ~ b1@3 ~ d2 ~ b1 ~",
  G: "g1@5 ~ g1 ~ g1 ~ g1 ~ f#1 ~ g1 ~", H: "a1@4 ~@2 a1 ~ a1 ~ a1 ~ f#1 ~ a1 ~", I: "b1@5 ~ b1 ~ d2@3 ~ a1@3 ~",
  J: "e2@4 ~@2 e2@2 b1 ~ b1 ~ d2 ~ b1 ~", K: "e2@4 ~@2 e2 ~ b1 ~ b1@2 d2@2 b1 ~", L: "g1@5 ~ g1 ~ g1 ~ g1@3 ~ g1 ~",
  M: "b1@4 ~@2 b1 ~ d2@3 ~ b1@3 ~", N: "e2@4 ~@2 e2 ~ b1@3 ~ d2 ~ b1 ~", O: "e2@4 ~@2 e2@2 b1@4 d2 ~ b1 ~",
  P: "b1@3 ~ a1@3 ~ a1@3 ~ b1@2 ~@2", Q: "f#2@5 ~ f#2 ~ f#2 ~ f#2@3 ~ f#2 ~",
  R: "f#2@2 f#1 ~ f#1@2 f#2@2 f#1@2 f#2 ~ a1@2 a2@2", S: "e2@4 ~@2 e2@2 b1@3 ~ d2 ~ b1 ~",
  T: "b1@4 ~@2 b1 ~ d2@4 f#1@2 a1 ~", U: "b1@4 ~@2 b1 ~ d2@4 a1 ~ b1 ~", V: "e2@4 ~@2 e2 ~ b1@4 d2 ~ b1 ~",
  W: "b1@4 a1@3 ~ a1@3 ~ b1@2 f#1@2", X: "f#2@5 ~ f#2@2 f#2@2 f#2 ~ f#2 ~ f#2 ~", Y: "b1@4 ~@2 b1 ~ d2@4 a1@3 ~",
  Z: "a1@4 ~@2 a1 ~ a1 ~ a1@2 f#1 ~ a1 ~", AA: "g1@4 ~@2 g1 ~ g1 ~ g1@3 ~ g1 ~", AB: "g1@4 ~@2 g1 ~ g1 ~ g1@2 ~@2 g1 ~",
  AC: "b1@2 f#1@2 a1 ~ b1@2 ~@8",
})).s("gm_electric_bass_finger").gain(0.52)

// chords · electric guitar clean · "overdr Guitar 3"
const electric_guitar_clean = note(`<
  A B C@3 D E D F G H I J K L M@2 N E D F G H I J K L O@2 P Q R S T U V W X Y Z AA AB AC AD@2 K AE AF@2 AG AH AI AJ@2
  AK@3 AL AM AN AO P Q R S T U V W X Y Z AA AP AQ AR AS K L AT AU K AV AW@2 AX AY AZ@7 BA@2 BB
>`.pickRestart({
  A: "~@5 d6 e5 f#5", B: "~@2 [f#4,b4,d5]!2 [f#4,b4,d5]@2 [f#4,b4,d5]@2 [f#4,a4,d5]@3 ~ [e4,a4,c#5,d6]@2 e6@2, b5@3 ~",
  C: "[~@2 [f#4,b4,d5,a5] [f#4,b4,d5] ~@3 e6 [f#4,a4,d5]@3 ~ [e4,a4,c#5]@2 ~@4 [f#4,b4,d5]!2 ~ e6 ~ e6 [f#4,a4,d5,f#6]@2 e6 d6 [e4,a4,c#5,b5]@2 b5@4 [f#4,b4,d5,d6] [f#4,b4,d5] [f#4,b4,d5,b5]@2 [f#4,b4,d5,e5,a5]@2 [f#4,a4,d5,f#5]@2 e5@2 [f#4,a4,d5,f#5]@2 e5 d5, ~@4 [f#4,b4,d5,b5]@2 [f#4,b4,d5]@2 ~@4 e6@9 ~@27, ~@5 d6@2 ~ f#6@6 f#6@6 [f#4,b4,d5,f#6]@2 [f#4,b4,d5,d6]@2 ~@24]/3", // Bm7 Bm D A Bm D A Bm …
  D: "b4@2 [f#4,b4,d5,f#5] [f#4,b4,d5] [f#4,b4,d5,e5]@2 [f#4,b4,d5]@2 [f#4,a4,d5]@3 ~ [e4,a4,b4,c#5]@3 ~", // Bm D A
  E: "~@2 [f#4,b4,d5,f#5] [f#4,b4,d5] [f#4,b4,d5,e5]@2 [f#4,b4,d5]@2 [f#4,a4,d5]@2 ~@2 [e4,a4,c#5]@3 ~, ~@5 d5@2 ~", // Bm D A
  F: "~@2 [f#4,b4,d5,f#5] [f#4,b4,d5] [f#4,b4,d5,e5]@2 [f#4,b4,d5]@2 [f#4,a4,d5]@2 d5@2 [e4,a4,c#5]@2 d5@2", // Bm D A
  G: "~@2 [e4,g4,b4]!2 [e4,g4,b4]@2 [e4,g4,b4]@2 [e4,a4,b4]@3 ~ [e4,g4,b4]@3 ~, d5@5 ~@11", // Em Esus4 Em
  H: "~@2 [e4,g4,b4,f#5] [e4,g4,b4] [e4,g4,b4,e5]@2 [e4,g4,b4,e5]@2 [e4,a4,b4,d5]@2 d5@2 [e4,g4,b4,c#5]@2 d5@2", // Em Esus4 C#m7b5
  I: "d5@2 [f#4,b4,d5]!2 [f#4,b4,d5]@2 [f#4,b4,d5]@2 [f#4,a4,d5]@3 ~ [e4,a4,c#5]@3 ~", // Bm D A
  J: "~@2 [f#4,b4,d5]!2 [f#4,b4,d5]@2 [f#4,b4,d5]@2 [f#4,a4,d5]@2 d5@2 d5 d5@2 ~, ~@12 [f#4,a4]@3 ~", // Bm D F#m
  K: "d5!2 [g4,b4,d5]!6, [g4,b4] ~@3", // G
  L: "c#5@2 c#5@2 ~ c#5 [e4,a4,c#5]@2 [e4,a4,c#5]@2 [e4,a4,c#5]@2 [e4,a4,c#5]@2 [e4,a4,c#5]@2, e5, [e4,a4]@2 [e4,a4,c#5] ~@5", // A A5 A
  M: "[[b4,d5]@2 [f#4,b4,d5]!2 [f#4,b4,d5]@2 [f#4,b4,d5]@2 [f#4,a4,d5]@3 ~ [e4,a4,c#5]@3 ~@3 [f#4,b4,d5]!2 [f#4,b4,d5]@2 [f#4,b4,d5]@2 [f#4,a4,d5]@3 ~ [e4,a4,c#5]@3 ~, f#5@7 ~]/2", // Bm D A Bm D A
  N: "~@2 [f#4,b4,d5,f#5] [f#4,b4,d5] [f#4,b4,d5,e5]@2 [f#4,b4,d5]@2 [f#4,a4,d5]@3 ~ [e4,a4,b4,c#5]@3 ~", // Bm D A
  O: "[[b4,d5]@2 [f#4,b4,d5]!2 [f#4,b4,d5]@2 [f#4,b4,d5]@2 [f#4,a4,d5]@3 ~ [e4,a4,c#5]@3 ~@3 [f#4,b4,d5]!2 [f#4,b4,d5]@2 [f#4,a4,b4,d5]@2 ~ g4 f4 ~ [f#4,a4,d5]@3 ~, f#5@7 ~, ~@24 [f#4,a4,d5]@3 d4@2 ~@3]/2", // Bm D A Bm Bm7 D
  P: "~@2 [e4,g4,b4,e5]@2 [e4,g4,b4,e5]@2 [e4,g4,b4,d5]@2 [e4,g4,b4,e5]@2 [e4,g4,b4]!2 [e4,g4,b4]@2 [e4,g4,b4]@2", // Em Em7 Em
  Q: "[e4,g4,b4]@2 [e4,g4,b4,e5]@2 [e4,g4,b4,e5]@2 [e4,g4,b4]@2 [e4,g4,b4,f#5]@2 [e4,g4,b4]@2 [e4,g4,b4]@3 ~, ~@3 d5@4 ~", // Em
  R: "[f#4,b4,d5] f#5 [f#4,b4,d5] [f#4,b4,d5,e5]!2 [f#4,b4,d5]!3", // Bm
  S: "[f#4,b4,d5,f#5]@3 ~ [e4,a4,c#5,e5]@3 ~ [e4,a4,c#5,e5]@2 d5@2 [f#4,b4,d5]@3 ~", // Bm A Bm
  T: "[e4,g4,b4] [e4,g4,b4,e5]!2 [e4,g4,b4,d5] [e4,g4,b4] [e4,g4,b4,e5] [e4,g4,b4]!2, ~@4 d5@3 ~", // Em Em7 Em
  U: "[e4,g4,b4] [e4,g4,b4,e5] [e4,g4,b4] [e4,g4,b4,d5] ~ [e4,g4,b4]!3, ~@4 [e4,g4,b4,e5] ~@3, ~@9 d5@6 ~", // Em Em7 Em
  V: "[f#3,c#4,f#4,b4,c#5] [f#3,c#4,f#4,b4,c#5,f#5]!3 [f#3,c#4,f#4,b4,c#5] ~ [f#3,c#4,f#4,b4,c#5]!2, ~@5 [f#3,c#4,f#4,b4,c#5,f#5] ~@2, ~@11 f#5@4 ~", // F#sus4
  W: "[f#3,c#4,f#4,b4,c#5] [f#3,c#4,f#4,b4,c#5,a5] [f#3,c#4,f#4,b4,c#5,f#5] [f#3,c#4,f#4,b4,c#5,f5] [f#3,c#4,f#4,b4,c#5,e5] [f#3,c#4,f#4,b4,c#5] [a3,e4,a4,c#5,d5] a3", // F#sus4 F#m F#sus4 A
  X: "~@2 [f#4,b4,d5,f#5] [f#4,b4,d5] [f#4,b4,d5,f#5]@2 [f#4,b4,d5,e5]@2 [f#4,a4,d5,e5]@2 d5@2 [e4,a4,c#5,d5]@3 ~", // Bm D A
  Y: "~@2 [f#4,b4,d5,f#5] [f#4,b4,d5] [f#4,b4,d5,e5]@2 [f#4,b4,d5]@2 [f#4,a4,d5]@2 d5@2 [e4,a4,c#5]@3 ~, ~@4 e5@3 ~", // Bm D A
  Z: "~@2 [f#4,b4,d5,f#5] [f#4,b4,d5] [f#4,b4,d5,f#5]@2 [f#4,b4,d5,e5]@2 [f#4,a4,d5,e5]@2 d5!2 [e4,a4,c#5]@2 d5@2", // Bm D A
  AA: "~@2 [f#4,b4,d5,f#5] [f#4,b4,d5] [f#4,b4,d5,e5]@2 [f#4,b4,d5]@2 [f#4,a4,d5,e5]@2 d5@2 [e4,a4,c#5]@2 d5@2", // Bm D A
  AB: "[d5,a5]@2 [e4,g4,b4]!2 [e4,g4,b4]@2 [e4,g4,b4]@2 [e4,a4,b4,b5]@3 ~ [e4,g4,b4,d6]@3 ~, ~ b5@3 ~@4", // D5 Em Esus4 Em7
  AC: "~@2 [e4,g4,b4,f#5] [e4,g4,b4] [e4,g4,b4,e5]@2 [e4,g4,b4,d5]@2 [e4,a4,b4,d5]@2 d5@2 [e4,g4,b4,c#5]@2 d5@2, e6 ~@3", // Em Em7 Esus4 C#m7b5
  AD: "[d5@2 [e4,f#4,b4,d5] [f#4,b4,d5] [e4,f#4,b4,d5]@2 [f#4,b4,d5]@2 [e4,f#4,a4,d5]@2 f#4@2 d4 b3@5 [f#4,b4,d5]!2 [b3,f#4,b4,d5]@2 [f#4,b4,d5]@2 a3 ~ d5@2 [b3,f#4,a4,d5]@3 ~, ~@12 [e4,a4,c#5]@3 ~@9 [f#4,a4,d5]@3 ~@5, ~@25 b3@3 ~@4]/2", // Bm D Bm Bm7 A D
  AE: "c#5@2 c#5@2 ~ c#5 [e4,a4,c#5]@2 [e4,a4,c#5]@2 [e4,a4,c#5]@2 [e4,a4,c#5]@2 [e4,a4,c#5,d5]@2, e5, [e4,a4]@2 [e4,a4,c#5] ~@5", // A A5 A
  AF: "[[b4,d5]@2 [e4,f#4,b4,d5] [f#4,b4,d5] [f4,f#4,b4,d5]@2 [f#4,b4,d5]@2 [e4,f#4,a4,d5]@2 ~@2 [e4,a4,c#5]@3 ~ [e4,e5]@2 [d4,f#4,b4,d5,f#5] [f#4,b4,d5] ~ d5 [f#4,d5]@2 [d4,f#4,a4,d5]@2 b3@2 [e4,a4,b4,c#5]@3 ~, f#5@9 ~@2 b4@2 ~@3, ~@5 f#4@2 ~@3 [e4,f#4,b4,d5,e5] ~@5]/2", // Bm D A E Bm D A Bm
  AG: "[b4,b5]@2 [f#4,b4,d5]!2 [f#4,b4,d5,b5]@2 [f#4,b4,d5]@2 [f#4,a4,b4,d5,b5]@3 ~ [e4,a4,b4,c#5,b5]@3 ~", // B Bm Bm7 A
  AH: "[b4,b5]@2 [f#4,b4,d5]!2 [f#4,b4,d5,b5]@2 [f#4,b4,d5]@2 [f#4,a4,b4,d5,b5]@2 [b4,b5]!3 [f#4,f#5]!3, ~@12 [e4,a4,c#5]@3 ~", // B Bm Bm7 B F# A
  AI: "[d5,d6]@2 [f#4,b4,d5]!2 [f#4,b4,c#5,d5,c#6]@2 [f#4,b4,d5]@2 [f#4,a4,b4,d5,b5]@3 ~ [e4,a4,c#5,a5]@2 [b4,b5]@2", // D Bm Bm7 A B
  AJ: "[[b4,b5]@2 [f#4,b4,d5]!2 [f#4,b4,d5,b5]@2 [f#4,b4,d5]@2 [b4,d5,b5] d5 [e5,f#5]@2 a5 f#5 b5@4 [e4,g4,b4,b5] [e4,g4,b4,a5] [e4,g4,b4,e5]@2 ~@2 [e4,a4,b4]@3 ~ [b4,e5] b4 d5 e5, ~@8 [f#4,a4]@3 ~ [e4,a4,c#5]@3 ~@7 [e4,g4,b4]@2 ~@4 [e4,g4]@3 ~, ~@23 f#5@4 ~@5]/2", // B Bm Esus2 Em Esus4 E5 F#m A …
  AK: "[[f#4,f#5]@2 [e4,g4,b4]!2 [e4,g4,b4,e5]@2 [e4,f#4,g4,b4,f#5]@2 [e4,a4,b4]@2 [e4,e5]@2 [e4,g4,b4]@3 ~@2 [a#4,f5] [f#4,b4,d5]!2 [f#4,b4,d5]@2 [f#4,b4,d5]@2 [f#4,a4,d5]@3 ~ [e4,a4,c#5]@3 ~@3 [f#4,b4,d5]!2 [f#4,b4,d5,e5,f#5]@2 [f#4,b4,d5]@2 f#5 b5 a5 f#5 [d5,e5] d5 [f#4,b4]@2, e4 ~@11 [f#4,f#5]@5 ~ e5@18 ~@12, ~@18 a4@6 ~@16 [f#4,a4,d5]@3 ~ [f#4,a4]@3 ~]/3", // F# Em Esus4 E Em A#5 Bm D …
  AL: "[a4,b4] b4 d5 e5 ~ g#5 ~ g#5 ~ g#5 ~ a5 [g4,a4,b4,d5]@2 ~ [e4,b4], [g4,d5]@3 ~ [g4,b4,d5,a5]@2 [g4,b4,d5,a5]@2 [g4,b4,d5,a5]@2 [g4,b4,d5,a5]@2 ~@2 [g4,b4,c5,d5]@2", // Asus2 G E5 G5 G
  AM: "~ b4 d5 e5 ~ g#5 ~ g#5 ~ g#5 ~ a5 [e4,a4,b4,c#5,e5]@2 [e4,a4,c#5] [e4,a4], [e4,a4,c#5]@3 ~ [e4,a4,c#5,a5]@2 [e4,a4,c#5,a5]@2 [e4,a4,c#5,a5]@2 [e4,a4,c#5,a5]@2 ~@4", // A A5 A
  AN: "f#5 g5 [f#4,b4,d5,f#5] [f#4,b4,d5,g5] ~ g5 ~ g5 [f#4,a4,d5,f#5]@2 g5 f#5 g5 f#5 g5 f#5, ~@4 [f#4,b4,d5,f#5]@2 [f#4,b4,d5,f#5]@2 ~@4 [e4,a4,c#5]@3 ~", // Bm Gmaj7 D Bm A
  AO: "g5 f5 [f#4,b4,d5,g5] [f#4,b4,d5,f5] ~ f5 ~ f5 g5 f5 d5@2 [e4,a4,c#5,d5]@4, ~@4 [f#4,b4,d5,g5]@2 [f#4,b4,d5,g5]@2 [f#4,a4,d5]@3 ~@5", // Gmaj7 Bm A Gmaj7 D
  AP: "e4@2 [e4,g4,b4]!2 [e4,g4,b4]@2 [e4,g4,b4]@2 ~ d4@3 [b3,e4,g4,b4]@3 ~, d5@3 ~@5, ~@2 f#4@6 [e4,a4,b4]@3 ~@5", // Em Esus4
  AQ: "f#5@2 [e4,g4,b4,e5] [e4,g4,b4] [e4,g4,b4,e5]@2 [e4,g4,b4,d5]@2 [e4,a4,b4,d5]@2 d5@2 [e4,g4,b4,d5]@2 d5@2, b3 d4 ~@2", // Em Em7 Esus4 Em7
  AR: "d5@2 [f#4,b4,d5]!2 [f#4,b4,d5]@2 [f#4,b4,d5]@2 [f#4,a4,d5,b5]@3 ~ [e4,a4,c#5,b5]@3 a5, ~ d6@3 ~@4", // Bm Bm7 A
  AS: "~@2 [f#4,b4,d5]!2 [f#4,b4,d5,b5]@2 ~ a5 b5 a5 [d5,f#5]@2 d5@2 d5@2, b5@4 ~@2 [f#4,b4,d5]@2 [f#4,a4,d5]@3 ~ [f#4,a4,d6]@4", // Bm D Bm D
  AT: "[b4,d5,a5]@2 [f#4,b4,d5]!2 [f#4,b4,d5]@2 [f#4,b4,d5]@2 b5 a5 f#5@2 f#5 e5 d5@2, f#5@5 ~@3, ~@2 b5@6 [f#4,a4,d5]@3 ~ [e4,a4,c#5]@3 ~", // Bm7 Bm D A
  AU: "[f#4,f#5]@2 [e4,f#4,b4,d5,e5] [d4,f#4,b4,d5] [f#4,b4,d5]@2 [f#4,d5]@2 [f#4,a4,d5]@3 ~ [e4,a4,c#5,d5]@3 ~, ~@3 b4@3 ~@2", // F# Bm D A
  AV: "c#5@2 [b3,c#5]@2 ~ c#5 [e4,a4,c#5]@2 [e4,a4,c#5]@2 [e4,a4,c#5]@2 [e4,a4,c#5]@2 [e4,f#4,a4,c#5]@2, e5, [e4,a4]@2 [e4,a4,c#5] ~@5, ~@5 d4@3 ~@8", // Bsus2 A F#m7 A5 A
  AW: "[[g4,b4,d5]@2 [f#4,b4,d5]!2 [f#4,b4,d5]@2 [f#4,b4,d5]@2 [f#4,g4,a4,d5]@2 a4@2 [e4,a4,c#5]@3 ~@3 [f#4,b4,d5]!2 [f#4,b4,d5]@2 [f#4,b4,d5]@2 [f#4,a4,d5]@2 d5@2 [e4,a4,c#5]@2 d5@2, f#5@7 ~, ~ a4@3 ~@12]/2", // G Bm D A Bm D A
  AX: "d5!2 [g4,b4,d5]!4 [g4,b4,d5,g5] [g4,b4,d5,f#5], [g4,b4] ~@3", // G Gmaj7 G
  AY: "e5!2 ~ [e4,a4,c#5] [e4,a4,c#5,e5] [e4,a4,c#5]!3, [e4,a4,c#5]@2 [e4,a4,c#5] ~@5, ~@5 e5@2 ~@9", // A
  AZ: "[[b4,d5]@2 [f#4,b4,d5]!2 [f#4,b4,d5]@2 [f#4,b4,d5]@2 [b3,f#4,a4,d5]@3 ~ [e4,a4,c#5]@3 ~@3 [b3,f#4,b4,d5]!2 ~@3 e4 [f#4,a4,d5]@3 ~ [e4,f#4,a4,c#5]@2 b4@4 [b3,f#4,b4,d5]!2 ~ b3 [b3,e4,f#4,b4,d5] f#4 [e4,f#4] f#4@3 [e4,a4,c#5]@2 b4@4 [f#4,b4,d5]!2 ~@3 e5 [f#4,a4,d5,f#5]@3 ~ [e4,a4,b4,c#5,e5,b5]@2 ~ d5 ~ e5 [f#4,b4,d5,f#5] [f#4,b4,d5] [f#4,b4,d5,e5]@2 ~ d5 [f#4,a4,b4,d5]@3 ~ [e4,a4,b4,c#5,b5]@2 b4@4 [f#4,a4,b4,d5] [f#4,b4,d5] ~ b4 ~@2 [f#4,a4,d5]@3 ~ [b3,e4,a4,b4,c#5,a5]@2 b4@4 [f#4,b4,d5]!2 [b3,f#4,b4,d5]@2 ~ [b3,b4] [b3,f#4,a4,b4,d5]@2 ~ [b3,b4] e5 ~ [b3,b4,e5]@2, f#5@28 ~@2 b5@6 ~@10 b5@6 ~@10 b5@6 ~@10 b5@6 ~@22 f#5@2 ~ d5@2 ~, ~@2 b3@6 ~@4 d4 ~@7 [d4,f#4,b4,d5]@2 [f#4,b4,d5]@2 ~@16 [a4,d5]@3 ~@7 a5@3 f#5@2 ~@32 b4@5 ~@10 [f#4,b4,d5]@2 ~@8, ~@21 e4@2 ~@13 [d4,f#4,b4,d5]@2 ~@8 d4@2 ~@4 [f#4,b4,d5]@2 [f#4,b4,d5]@2 ~@6 b4@2 b4@2 ~@4 [f#4,b4,d5]@2 ~@12 [f#4,b4,d5]@2 [f#4,b4,d5]@2 ~@6 [b3,a5]@6 ~@8 [b3,e4,a4,b4,c#5]@3 ~]/7", // Bm Bm7 A Bm D F#m7 Bm Esus2 …
  BA: "[b4@2 [f#4,b4,d5,f#5] [f#4,b4,d5] [f#4,b4,d5]@2 ~ b4 [f#4,a4,b4,d5]@2 [b4,f#5]@2 [e4,a4,c#5,e5]@2 e5@3 ~ [f#4,b4,d5,f#5] [f#4,b4,d5] [f#4,b4,d5,b5]@2 ~ a5 [f#4,a4,d5,b5]@3 ~ [e4,a4,c#5,d6]@3 ~, ~@3 [f#4,b4,d5] ~@2 b4@3 ~@2 [f#4,b4,d5] ~@4]/2", // Bm Bm7 B5 A Bm Bm7 A Bm
  BB: "~@2 [f#4,b4,d5] [e4,f#4,b4,d5] [f#4,b4,d5]@2 ~ f#4@4 ~@5, ~@3 [e4,f#4,b4,d5] ~@4", // Bm
})).s("gm_electric_guitar_clean").gain(0.36)

// drums · kick
const kick = s("bd").struct("<~ [x!4]!95 [x ~ x!2 ~@2 x ~@9]>").gain(0.66)

// drums · snare
const snare = s("sd").struct("<A B@15 C B@11 D B@2 E F B@3 D B@11 G B@11 G B@2 E F B@3 G B@27 H>".pickRestart({
  A: "~ x", B: "~ x ~ x", C: "~ x ~@6", D: "~ x!2 ~@2 x!3", E: "~@4 x ~@7 x ~ x!2", F: "x ~@5 x!3 ~@7",
  G: "~@2 x ~ x ~ x ~ x ~ x ~ x ~ x!2", H: "~ x ~@2",
})).gain(0.66)

// drums · low tom
const low_tom = s("lt").struct("<[~@7 x] ~@15 [~@10 x!3 ~ x ~] ~@15 [~@2 x!3 ~@9 x ~] ~@31 [~@2 x!3 ~@9 x ~] ~@32>")
  .gain(0.59)

// drums · hihat
const hihat = s("hh").struct(`<
  A B@4 C B@7 C B@2 ~ C B@7 C B@2 D ~@7 D C B@7 C B@2 E ~@11 E ~@7 E C B@7 C B@3 C B@3 C B@5 C B@4 ~
>`.pickRestart({
  A: "x!3 ~", B: "x!8", C: "~@2 x!6", D: "x!3 ~@2 x!3", E: "~ x!7",
})).gain(0.39)

// drums · mid tom
const mid_tom = s("mt").struct("<[~@3 x] ~@15 [~@3 x!2 ~@3] ~@15 [~@3 x] ~@31 [~@3 x] ~@32>").gain(0.59)

// drums · high tom
const high_tom = s("ht").struct("<[~@5 x ~@2] ~@15 [~ x ~@2] ~@15 [~@10 x!2 ~@4] ~@31 [~@10 x!2 ~@4] ~@32>").gain(0.59)

// drums · crash
const crash = s("cr").struct(`<
  ~ A ~@3 A ~@7 A ~@2 A@2 ~@7 A ~@3 A ~@3 A ~@3 A ~@7 A ~@3 A ~@7 A@2 ~@2 A ~@3 A ~@3 A ~@7 A ~@3 A ~@3 A ~@5 A ~@4 B
>`.pickRestart({
  A: "x", B: "~@3 x ~@4",
})).gain(0.46)

// drums · ride
const ride = s("rd").struct("<~@29 A@2 B ~ A@3 ~@13 A@11 ~ A@2 B ~ A@3 ~@29>".pickRestart({
  A: "x!8", B: "x!7 ~",
})).gain(0.59)

stack(
  string_ensemble_2, string_ensemble_2_soft, bass, electric_guitar_clean, kick, snare, low_tom, hihat, mid_tom,
  high_tom, crash, ride
)

More by Bruce Springsteen