Strudelify

Mississippi (version #3)

Bob Dylan

KeyF majorTempo100 bpm
0:00/0:00
// Mississippi (version #3) — Bob Dylan
// 100 bpm, 3/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 166 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(100/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 · acoustic guitar nylon · "Right Hand"
const acoustic_guitar_nylon = note(`<
  A B A C D E F G@2 H I J K@2 L M N O@2 P Q R S T B A C U E F V@2 W X Y Z@2 AA AB F AC@2 P AD AE AF T AG AH@2 U E F V@2
  W X Y Z@2 AA AB F AC@2 P AD AE AF T AG AH@2 U E F V@2 W X Y Z@2 AA AB F AC@2 P AD AE AF T AG AH@2 U E F V@2 W X Y Z@2
  AA AB F AC@2 P AD AE AF T AG AH@2 U E F V@2 W X Y Z@2 AA AB F AC@2 P AD AE AF T AG AH@2 U E F V@2 W X Y Z@2 AA AB F
  AC@2 P AD AE AF T AI@3 ~
>`.pickRestart({
  A: "~@8 [a3,c4]@7 ~ [a3,c4]@7 ~, f4@23 ~", B: "~@8 [f3,a3]@7 ~ [g3,bb3,d4]@6 e4@2, c4@5 ~@3",
  C: "~@8 [g3,bb3]@7 ~ c5@7 ~, c4@5 ~@3", D: "c5@7 ~ c4@7 ~@5 a4@4, ~@8 a4@11 ~@5, ~@2 [a3,c4]",
  E: "a4@7 ~ [a3,c4,f4]@7 ~ [a3,c4]@7 ~", F: "d4@7 ~ [bb3,d4,f4]@7 ~ [bb3,d4,f4]@7 ~",
  G: "[~@8 [c4,f4]@7 ~ [c4,f4]@7 ~@13 a4@4 a4@4 a4@4, a4@3 ~, ~@32 [c4,f4]@8 [c4,f4]@7 ~]/2", // F5
  H: "a4@7 ~ [a3,c4,f4]@7 ~ [a3,c4,f4]@7 ~", I: "d4@7 ~ [f3,a3,c4]@7 ~ c4@4 c4@4, ~@16 [f3,a3]@7 ~",
  J: "d4@7 ~ [bb3,d4]@7 ~ [bb3,d4]@4 [bb3,g4]@4, ~@8 f4@11 ~@5", // Bb Eb
  K: "[~@8 [a3,c4]@7 ~ [a3,c4]@7 ~@9 [a3,c4]@7 ~ c5@7 ~, f4@13 ~@3]/2", L: "c5@7 ~ [c4,f4,a4]@7 ~ [d4,f4,bb4]@7 ~",
  M: "a4@7 ~ [c4,eb4,f4]@7 ~ c4@4 c4@4", N: "d4@4 f4@11 ~ f4@7 ~",
  O: "[~@8 [c4,e4]@7 ~ [c4,e4]@7 ~@9 [c4,e4]@7 ~ f4@7 ~, g4@13 ~@3]/2", // C
  P: "~@8 [f3,a3]@7 ~ d4@4 d4@4, f4@15 ~ [f3,a3]@7 ~", Q: "d4@7 ~ [e3,a3,c4]@7 ~ f4@7 ~",
  R: "~@12 d4@4 [f3,a3,d4]@7 ~, f4 ~, ~@8 [f3,a3]@7 ~@9", S: "d4@7 ~ [f3,a3]@7 ~ [f3,a3]@7 ~, ~@4 c4@7 ~",
  T: "d4@7 ~ [bb3,d4,f4]@7 ~ [bb3,e4,g4]@7 ~", U: "c5@7 ~ [c4,f4,a4]@7 ~ [c4,f4,a4]@7 ~",
  V: "[~@8 [c4,f4]@7 ~ [c4,f4]@7 ~@9 [c4,f4]@7 ~ [c4,f4,a4]@7 ~, a4@13 ~@3]/2", // F5 F
  W: "a4@4 ~@4 [a3,c4]@7 ~ [a3,c4,f4]@7 ~, ~@4 f4@11 ~@9", X: "d4@4 ~@4 [f3,a3]@7 ~ c4@4 c4@4, ~@4 c4@11 ~ [f3,a3]@7 ~",
  Y: "d4@7 ~ [bb3,d4]@7 ~@5 g4@4, ~@2 f4@3 ~, ~@16 [bb3,d4]@7 ~", // Bb
  Z: "[~@8 [a3,c4]@7 ~ [a3,c4]@7 ~@9 [a3,c4]@7 ~ c5@4 c5@4, f4@13 ~@3]/2", // Am
  AA: "c5@7 ~ [c4,f4,a4]@7 ~ a4@4 a4@4, ~@16 [c4,f4]@7 ~", AB: "g4@7 ~ [c4,eb4,f4]@7 ~ c4@4 c4@4",
  AC: "[~@8 [c4,e4]@7 ~ [c4,e4]@7 ~ [c4,e4]@7 ~ f4@7 ~ f4@7 ~, g4@31 ~@17]/2", // C
  AD: "d4@7 ~ [f3,a3]@7 ~@5 f4@4, ~@8 c4@11 ~@5, ~@2 [f3,a3]", AE: "f4@4 ~@4 [f3,a3]@7 ~ [f3,a3,d4]@7 ~, ~@4 d4@11 ~@9",
  AF: "d4@7 ~ [f3,a3]@7 ~ [f3,a3]@7 ~, ~@8 c4@15 ~", AG: "~@8 [f3,a3]@7 ~ [f3,a3]@7 ~, f4",
  AH: "[~@8 [a3,c4]@7 ~ [a3,c4]@7 ~@9 [g3,bb3]@7 ~ c5@7 ~, f4@31 ~@17, ~@8 c4@5 ~@3]/2", // Am Gm
  AI: "[~@8 [f3,a3]@7 ~ [f3,a3]@7 ~@9 [f3,a3]@7 ~ [f3,a3]@7 ~ [a3,c4]@7 ~@17, f4@55 ~@17]/3", // F Am
})).s("gm_acoustic_guitar_nylon").gain(0.36)

// other · acoustic guitar nylon · "Left Hand"
const acoustic_guitar_nylon_2 = note(`<
  A B A C A B D A B A B D A B A E D B F G H G H I A B J A B D A B A B D A B A E D B F G H G H I A B J A B D A B A B D A
  B A E D B F G H G H I A B J A B D A B A B D A B A E D B F G H G H I A B J A B D A B A B D A B A E D B F G H G H I A B
  J A B D A B A B D A B A E D B F G H G H I A B J A B D A B A B D A B A E D B F G H G H I A B K L
>`.pickRestart({
  A: "f2@11 ~", B: "c3@11 ~", C: "c3@14 ~@2 c3@7 ~", D: "bb2@11 ~", E: "f2@7 ~ g2@7 ~ a2@7 ~", F: "c3@7 ~@5",
  G: "d3@11 ~", H: "a2@11 ~", I: "bb2@14 ~@2 c3@7 ~", J: "f2@7 ~@5", K: "f2@7 ~@9 c3@2 ~@6", L: "f2 ~@11",
})).s("gm_acoustic_guitar_nylon").gain(0.36)

stack(acoustic_guitar_nylon, acoustic_guitar_nylon_2)

More by Bob Dylan