Strudelify

Darlington County

Bruce Springsteen

KeyG majorTempo126 bpm
0:00/0:00
// Darlington County — Bruce Springsteen
// 126 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 2 "Clean Guitar" electric guitar clean (copy of ch 3 "Jazz Guitar" electric guitar jazz)
// note: Full arrangement: all 76 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(126/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · electric guitar jazz · "Jazz Guitar"
const electric_guitar_jazz = note(`<
  A B C D A B E F G H I J A K L M N O P Q R S A B T U A B T V A B C D A B E F G H I J A K L M N O P Q R S A B T U A B T
  V G W X Y A Z T U G W X Y A Z T U
>`.pickRestart({
  A: "~@2 b3 d4 d4@3 b3", B: "d4!2 b3 [c4,e4]@3 [b3,d4]@2", C: "~@2 b3 d4 d4@2 b3 a3", D: "a3 g3!2 g3@3 ~@2",
  E: "~ g3 b3 d4 d4@2 b3!2", F: "a3 g3@2 g3@5", G: "~@2 e4 g4 g4@3 e4", H: "[e4,g4] [e4,g4]@2 [f4,a4]@3 [e4,g4] g3",
  I: "e4 g4!2 e4!3 d4 e4", J: "[a3,d4] [a3,c4]@2 [g3,c4]@3 ~@2", K: "d4!2 b3 [c4,e4]@3 [b3,d4] g3",
  L: "b3 d4@2 d4!3 g3 b3", M: "a3 g3!2 g3@2 d4 d4@2", N: "~ [f#3,d4]!3 [f#3,d4]@2 [f#3,d4]!2",
  O: "[f#3,d4]!3 [f#3,e4] ~ [f#3,d4]!3", P: "[f#3,b3] [f#3,d4] [f#3,b3] [f#3,d4]@2 [f#3,b3] ~@2",
  Q: "[d4,g4]!3 e4 [d4,g4]@2 [d4,g4]@2", R: "[g3,c4,e4]@6 g4!2", S: "[a3,f4]!2 [g3,e4]!2 [f3,d4]!2 [e3,c4]!2",
  T: "~@2 b3 d4 d4@2 b3@2", U: "[e3,a3] [e3,g3]@2 [d3,g3]@5", V: "[e3,a3] [e3,g3]@2 [d3,g3]@3 ~@2",
  W: "g4!2 e4 [f4,a4]@3 [e4,g4]@2", X: "~@2 e4 g4 g4@2 e4@2", Y: "[b3,e4] [b3,d4]@2 [b3,d4]@5", Z: "d4!2 b3 e4@3 d4@2",
})).s("gm_electric_guitar_jazz").gain(0.31)

// bass · electric bass finger · "Fingered Bass"
const bass = note(`<
  A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A
  B A B A B A B A B A B A B A B A B
>`.pickRestart({
  A: "g2 f2 e2 d2", B: "c2 e2 f2 f#2",
})).s("gm_electric_bass_finger").gain(0.15)

// chords · drawbar organ · "Organ 1"
const drawbar_organ = note(`<
  A B C D A B E F G H I J A K L M N O P Q R S T B U V A B U W A B C D A B E F G H I J A K L M X Y P Q R S T B U V A B U
  W G Z AA AB A AC U V AD Z AA AB A AC U V
>`.pickRestart({
  A: "~@2 b4 d5 d5@3 b4", B: "d5!2 b4 [c5,e5]@3 [b4,d5]@2", C: "~@2 b4 d5 d5@2 b4 a4", D: "a4 g4!2 g4@3 ~@2",
  E: "~ g4 b4 d5 d5@2 b4!2", F: "a4 g4@2 g4@5", G: "[c5,d5] [e5,f5] [g5,a5] [b5,c6] e5@2 g5@2 g5@6 e5@2",
  H: "[e5,g5] [e5,g5]@2 [f5,a5]@3 [e5,g5] g4", I: "e5 g5!2 e5!3 d5 e5", J: "[a4,d5] [a4,c5]@2 [g4,c5]@3 ~@2",
  K: "d5!2 b4 [c5,e5]@3 [b4,d5] g4", L: "b4 d5@2 d5!3 g4 b4", M: "a4 g4!2 g4@2 d5 d5@2",
  N: "~ [f#4,c5,d5]!3 [f#4,c5,d5]@2 [f#4,c5,d5]!2", O: "[f#4,c5,d5]!3 [f#4,e5] ~ [f#4,c5,d5]!3",
  P: "[f#4,b4] [f#4,d5] [f#4,b4] [f#4,d5]@2 [f#4,b4] ~@2", Q: "[d5,g5]!3 e5 [d5,g5]@2 [d5,g5]@2",
  R: "[g4,c5,e5]@6 g5!2", S: "[a4,f5]!2 [g4,e5]!2 [f4,d5]!2 [e4,c5]!2",
  T: "[g4,a4] [b4,c5] [d5,e5] [f#5,g5] b4@2 d5@2 d5@6 b4@2", U: "~@2 b4 d5 d5@2 b4@2", V: "[e4,a4] [e4,g4]@2 [d4,g4]@5",
  W: "[e4,a4] [e4,g4]@2 [d4,g4]@3 ~@2", X: "~ [f#4,d5]!3 [f#4,d5]@2 [f#4,d5]!2", Y: "[f#4,d5]!3 [f#4,e5] ~ [f#4,d5]!3",
  Z: "g5!2 e5 [f5,a5]@3 [e5,g5]@2", AA: "~@2 e5 g5 g5@2 e5@2", AB: "[b4,e5] [b4,d5]@2 [b4,d5]@5",
  AC: "d5!2 b4 e5@3 d5@2", AD: "~@2 e5 g5 g5@3 e5",
})).s("gm_drawbar_organ").gain(0.28)

// drums · kick
const kick = s("bd").struct("<A@8 B A@13 C A@15 B A@13 C A@7 C A@15>".pickRestart({
  A: "x!4", B: "x ~@2 x!2 ~ x ~", C: "x ~@2 x ~@4 x ~ x ~ x ~@3",
})).gain(0.22)

// drums · snare
const snare = s("sd").struct("<A@8 B A@7 C A@5 D A@15 B A@7 C A@5 D A@7 D A@15>".pickRestart({
  A: "~ x ~ x", B: "~@2 x!2 ~@8 x ~@3", C: "x!2 ~ x", D: "~ x!3 ~@2 x ~",
})).gain(0.22)

// drums · hihat
const hihat = s("hh").struct("<A@8 B A@13 C A@15 B A@13 C A@7 C A@15>".pickRestart({
  A: "x!7 ~", B: "x!2 ~ x!4 ~", C: "x ~@2 x",
})).gain(0.22)

// drums · low tom
const low_tom = s("lt").struct("<~@8 A ~@13 B ~@15 A ~@13 B ~@7 B ~@15>".pickRestart({
  A: "~@5 x ~@10", B: "~@4 x ~@4 x ~@6",
})).gain(0.22)

// drums · open hat
const open_hat = s("oh").struct("<[~@7 x]!22 [~ x ~@5 x] [~@7 x]!29 [~ x ~@5 x] [~@7 x]!7 [~ x ~@5 x] [~@7 x]!15>")
  .gain(0.22)

// drums · mid tom
const mid_tom = s("mt").struct("<~@16 A ~@5 B ~@23 A ~@5 B ~@7 B ~@15>".pickRestart({
  A: "~ x ~@14", B: "~@7 x!2 ~@7",
})).gain(0.22)

// drums · crash
const crash = s("cr").struct("<~@16 A ~@5 B ~@23 A ~@5 B ~@7 B ~@15>".pickRestart({
  A: "~ x ~@6", B: "~@5 x ~@2",
})).gain(0.22)

// drums · high tom
const high_tom = s("ht").struct("<~@8 A ~@13 B ~@15 A ~@13 B ~@7 B ~@15>".pickRestart({
  A: "~ x ~@2", B: "~ x",
})).gain(0.22)

stack(electric_guitar_jazz, bass, drawbar_organ, kick, snare, hihat, low_tom, open_hat, mid_tom, crash, high_tom)

More by Bruce Springsteen