Strudelify
Midnight Rider cover art

One Way Out

Midnight Rider

The Allman Brothers Band

KeyC majorTempo100 bpm
0:00/0:00
// Midnight Rider — The Allman Brothers Band
// 100 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 64 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(100/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 · acoustic guitar nylon · "A. Guitar"
const acoustic_guitar_nylon = note(`<
  A@4 B C B D@2 E F G H I E J B C B D@2 E F G H I E J B C B D@2 E F G H I E J B C B D@2 E F G H I E J B C B D@2 E F G H
  I E J
>`.pickRestart({
  A: "[~ a#4 c5 ~ [g4,c5]@2 ~@6 g3@4 ~ a#4 c5 ~ [g4,c5]@2 ~ [g4,c5]@8 ~, c4@31 ~, c3@8 c3@7 ~, g4@2 ~@5 [g4,c5]@9 g4@2 ~@14]/2", // C5
  B: "~ a#4 c5 ~ [g4,c5]@2 a#4 c5@8 ~, [c3,c4]@15 ~, g4 ~@7", // C5 C
  C: "~ a#4 c5 ~ [g4,c5]@2 ~ [g4,c5]@8 ~, [c3,c4]@15 ~, g4 ~@2 a#4 ~@4", // C5 C
  D: "~ a#4 c5 ~ [g4,c5]@2 ~ [g4,c5]@8 ~, [c3,c4]@15 ~, g4 ~@7", // C5 C
  E: "~ a#4 c5 ~ [g4,c5]@2 a#4 [g4,c5]@8 ~, [c3,c4]@15 ~, g4 ~@7", // C5 C
  F: "g4@2 c5 ~ [g4,c5]@2 a#4 [g4,c5]@8 ~, [c3,c4]@15 ~", // C5 C
  G: "~ a#4 c5 ~ [g4,c5]@2 a#4 c5@5 a#4 c5@2 a#4, [c3,c4]@15 ~, g4@2 ~@5 g4@8 ~", // C5 C
  H: "[c4,c5]@2 g#4@2 a#4@2 ~ c5@2 g#4 ~@2 g#4 a#4@2 ~, g#2@15 ~, ~@4 g#3@7 d#3@5, ~@3 g#4 ~ a#4 ~@2", // C
  I: "[f4,c5] ~ a#4@2 [f4,c5]@2 a#4 [f4,c5]@3 a#4@2 ~ a#4@3, a#2@15 ~, ~ f4@2 ~@9 [a#3,f4]@3 ~", // F5 A#5
  J: "~ a#4 c5 ~ [g4,c5]@2 a#4 [g4,c5]@8 ~, c4@15 ~, c3@11 ~@5, g4 ~@7", // C5
})).s("gm_acoustic_guitar_nylon").gain(0.36).pan(0.3)

// chords · acoustic guitar nylon · "A. Guitar" · soft notes
const acoustic_guitar_nylon_2 = note(`<
  A@4 B ~ B A@2 ~ C ~ D E ~@2 B ~ B A@2 ~ C ~ D E ~@2 B ~ B A@2 ~ C ~ D E ~@2 B ~ B A@2 ~ C ~ D E ~@2 B ~ B A@2 ~ C ~ D
  E ~@2
>`.pickRestart({
  A: "~@6 a#4 ~@9", B: "~@7 g4@8 ~", C: "~ a#4 ~@14", D: "~@15 g#3", E: "~@2 a#3@5 f3@6 ~@3, ~ a#4@2 ~@13",
})).s("gm_acoustic_guitar_nylon").gain(0.18).pan(0.3)

// bass · fretless bass · "Bass"
const bass = note("<~@3 A@9 B C A@10 B C A@10 B C A@10 B C A@10 B C A D>".pickRestart({
  A: "c3@9 ~ c3@2 g2 a#2@3", B: "g#2@9 ~ g#2@2 d#2 g#2@3", C: "a#2@9 ~ a#2@2 g#2 a#2@3", D: "c3",
})).s("gm_fretless_bass").gain(0.71).pan(0.6)

// chords · lead 2 sawtooth · "Synth"
const lead_2_sawtooth = note(`<
  ~@2 A@4 B@5 C D E F B G H I G H I G H J K G H L M N O P@4 Q R S@5 T U V@2 W X Y Z AA AB@2 AC AD AE AF AG@2 X Y Z AH
>`.pickRestart({
  A: "g3 a#3 c4 ~ [g3,c4]@2 a#3 [g3,c4]@8 ~", B: "g3 a#3 c4 ~ c4@2 a#3 c4@8 ~", C: "g3 a#3 c4 ~ c4@2 a#3 g3@8 ~",
  D: "g3 a#3 c4 ~ c4@2 a#3 g#3@8 ~", E: "a#3@15 ~", F: "g3 a#3 c4 ~ c4@2 a#3 c4@9",
  G: "c4 d4 e4 f4 e4 d4 c4 d4 e4 f4 e4 d4 c4 d4 e4 f4", H: "e4 d4 c4 d4 e4 f4 e4 d4 c4 d4 e4 f4 e4 d4 c4 d4",
  I: "e4 f4 e4 d4 c4 d4 e4 f4 e4 d4 c4 d4 e4 f4 e4 d4",
  J: "c4 d#4 g#4 d#4 ~ a#3 g#3 a#3 ~@2 c4 d#4 ~ d#4 ~ [c4,d#4], g#3@2 c4 ~ d#3 ~@2 g#3, ~@9 g#3@2 ~ g#4@3 ~", // Cm
  K: "a#2 f3 a#3 d4 a#3 f3 d4 f4 a#4 f4 d4 a#3 f3 a#2 d4 [f3,a#3,f4]", // A#5
  L: "~ [e3,c4] [e4,g4] ~ [e4,g4] ~ c4 ~@3 c4@2 ~ c4@3, c3@2 c3@2 ~@3 [e4,g4]@9, ~@6 g3 ~", // C Em
  M: "c3 c4 [e4,g4] ~ [e4,g4]@2 c4 [e4,g4]@7 c4@2", N: "~ c4 [e4,g4] ~ [e4,g4]@2 ~ [e4,g4]@9, c3@2 ~@4 c4@9 ~",
  O: "c4 e4 g4 ~ [e4,g4] ~ e4 ~@4 g2@5, ~@7 g4@9", // Em
  P: "[e4 g4 e4 ~ [g4,c5]@2 e4 [g4,c5]@9 ~@2 e4@2 [g4,c5]@2 ~ [g4,c5]@4 ~ [e4,g4] ~ d5@2 [g4,c5,e5] g4 c5 ~ [g4,c5,e5]@2 ~ [c5,e5]@5 g4 c5 [g4,e5] ~ c5 e5 [c5,g5] ~ c5 ~@2 [e5,g5]@3 c5 ~ e5 ~ e5 ~, c3@46 c3@7 c3@4 ~ c3@5 ~, c2@16 ~ c2@15 c2@15 ~ c2@15 ~, ~@4 e4 ~@11 e4@2 g4 ~@3 e4@5 ~ c5@2 c5 ~@7 g4@3 ~@11 [e5,g5]@2 c5@2 ~@4 [g5,c6]@4]/4", // C5 Em C C5 Em C5
  Q: "~@6 d#5 ~@2 g#5 ~@4 d#5 ~, g#1@7 ~, g#5@6 ~@2 c6@2 d#5@3 g#5@2 ~, ~ g#2@6 ~, ~@11 c6@4 ~",
  R: "~ a#5 ~ [a#2,c6]@2 a#5@2 a#2 f5 a#5 d6 a#5 [f5,c6]@2 [a#2,a#5] a#5, a#1!2, [a#2,d6]@2 f5@2 ~@6 a#2@2 a#2 ~@3", // A#sus2 F5 A#
  S: "[[c2,c3] ~ [f5,g5,a#5] c6 ~ [g5,c6]@2 a#5 g5@10 [c6,e6] ~@3 [g5,c6,e6]@10 ~@3 [c6,e6,g6] c2@4 [c6,e6,g6] ~ [c3,c6,e6,g6] ~@3 c5 ~ g5@2 c5 ~ [c5,e5,g5] ~@3 [e5,g5] ~@2 [c5,e5,g5]@8 ~@6 g4 ~ [g4,c5,e5] ~@2 e4 ~, ~@2 c3@37 ~@5 c4@35 ~, ~@2 c2@16 c2@16 ~@10 c3@7 ~ c3@27 ~, ~@8 c6@9 ~@30 e5@3 ~@6 c5@2 ~@22]/5", // C Gm7 C5 C Em C
  T: "[c3,c4,e4,g4,c5] ~@3 [c3,c4,g4,c5]@11 ~, ~@2 e5 ~@5", // C C5
  U: "[c3,c4,e4,g4,c5] ~@2 [e4,g4,c5]@5 [g4,c5,e5] ~@3 [g4,c5,e5]@3 ~, ~@3 [c3,c4]@13", // C
  V: "[~ [c3,c4,e4,g4,c5] ~@2 [e4,g4,c5]@3 ~ [g4,c5,e5] ~@2 [g4,c5,e5]@5 ~ [c3,e4,g4,c5] ~@2 [e4,g4,c5]@4 [g4,c5,e5] ~@2 [g4,c5,e5]@4 ~, ~@2 c4@7 ~@7, ~@4 c3@12 ~@3 [c3,c4]@13]/2", // C
  W: "~ [c3,c4,e4,g4,c5] ~@2 [e4,g4,c5]@3 ~ [g4,c5,e5] ~@3 [g4,c5,e5]@2 c4 g4, ~@3 c4@10 ~@3, ~ c3@3", // C
  X: "[g#2,g#3,g#4,c5,d#5] ~@2 c5@4 ~ c5@2 ~ d#5@3 c5 [g#3,g#4], ~@3 [g#2,g#3]@12 ~, ~@3 [g#4,d#5]@7 g#4@2 ~@4", // G# G#5
  Y: "~ [a#2,a#3,f4,a#4,d5] ~@2 [a#2,a#3,f4,a#4,d5]@8 ~@4", Z: "[c3,c4,c5,e5,g5] ~@3 [c5,e5,g5]@12, ~ [c3,c4]@2 ~",
  AA: "[c2,c3,e5,g5,c6] ~@2 [c2,c3,e5,g5,c6]@13", // C
  AB: "[[c2,c3,e5,g5,c6] ~@2 [e5,g5,c6]@7 ~ g5@2 e5 d5 [c5,e5] g4@3 ~ [c5,e5]@10 g4 ~, ~@3 c3@28 ~, ~@3 c2@13 c2@15 ~, ~@10 b5@2 ~@8 g4@9 ~@3]/2", // C
  AC: "[c2,c3,g4,c5,e5] ~@2 [c3,c4]@6 ~@3 [g2,g3]@3 ~, ~@3 [g4,c5,e5]@13, ~@3 g3 ~@12", // C G C
  AD: "[c2,c3,g4,c5,d#5,e5] ~@2 [c2,c3,g4,c5,e5]@11 [g2,c5]@2, ~@14 e5 ~", // C C5
  AE: "[c2,c3,g4,c5,e5] ~@2 [c2,g4,c5,e5]@10 ~ [g2,c5,e5]@2, ~@3 c3@13", // C
  AF: "[c2,c3,g4,c5,e5] ~@2 [c2,c3,g4,c5,e5]@12 ~", AG: "[c2,c3,e4,g4,c5] ~@2 [c2,c3,e4,g4,c5]@10 ~ [c2,c3,e4,g4,c5] ~",
  AH: "[c2,c3,e4,g4,c5] ~@2 [c2,c3,e4,g4,c5]@13", // C
})).s("gm_lead_2_sawtooth").gain(0.21).pan(0.8)

// drums · ride
const ride = s("rd").struct(`<
  ~@4 A@2 B C D B E F G@2 H A B A B C D B E F G@2 H I A@2 B C D B E F G@2 H A@3 B C D B E F G@2 H A B A B C D B E F G@2
  H I
>`.pickRestart({
  A: "x!5 ~ x!2 ~ x!4 ~ x ~", B: "x ~ x ~ x ~ x!2 ~ x!4 ~ x ~", C: "x!3 ~ x ~ x!2 ~ x!2 ~ x ~ x ~",
  D: "x ~ x!2 ~ x!4 ~ x!5 ~", E: "x ~ x!2 ~ x!4 ~ x!2 ~ x!2 ~", F: "x ~ x ~ x ~ x!2 ~ x ~ x!2 ~ x ~", G: "x!16",
  H: "x!11 ~ x!4", I: "x!5 ~ x!2 ~@8",
})).gain(0.46)

stack(acoustic_guitar_nylon, acoustic_guitar_nylon_2, bass, lead_2_sawtooth, ride)

More by The Allman Brothers Band