Strudelify
One Way Out cover art

The Fillmore East Last 3 Nites

One Way Out

The Allman Brothers Band

KeyA minorTempo214 bpm
0:00/0:00
// One Way Out — The Allman Brothers Band
// 214 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 6 "Slide Guitar" overdriven guitar (copy of ch 3 "Organ" rock organ)
// note: Full arrangement: all 228 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(214/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · "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.

// other · electric guitar muted · "Muted Electric Guitar"
const electric_guitar_muted = note(`<
  ~ A B A C A B A D A B A C A B A E F G A H A G A H I J K L A G A H M N K O P G A H F G A H A G A H I J K L A G A H M N
  ~@2 P G A H F G A H A G A H I J K L A G A H M N ~@2 P G A H F G A H A G A H I J K L A G A H M N ~@2 P G A H F G A H A
  G A H I J K L A G A H M N ~@2 P G A H ~@24 I J K L A G A H M N ~@2 P G A H F G A H A G A H I J K L A G A H M N ~@2 P G
  A H M N ~@2 P G A H M N ~@17
>`.pickRestart({
  A: "a2 ~ a3 ~ a3 g3 e3 a3", B: "~ g3 ~ e3 g3!2 a3!2", C: "~ g3 ~ e3 g3!2 e3!2", D: "~ g3 ~ e3 g3 c3@2 ~",
  E: "~ a3 g3 e3 g3!2 e3!2", F: "a2@2 ~@2 a3@2 ~@2 a3@2 g3@2 e3 ~ a3@2", G: "~@2 g3@2 ~@2 e3 ~ g3 ~ g3 ~ a3 ~ a3@2",
  H: "~@2 g3 ~@3 e3 ~ g3 ~ g3@2 e3 ~ e3 ~", I: "d3@3 ~@2 d4 ~@2 d4 ~ c4 ~ a3 ~ d4 ~",
  J: "~@2 c4@2 ~@2 a3 ~ c4 ~ c4@2 d4 ~ d4 ~", K: "d3@2 ~@2 d4@2 ~@2 d4@2 c4 ~ a3 ~ d4@2",
  L: "~@2 c4@2 ~@2 a3@2 c4 ~ c4@2 a3 ~ a3 ~", M: "e3@2 ~@2 e4@2 ~@2 e4 ~ d4 ~ b3 ~ e4@2",
  N: "~@2 d4 ~@3 b3 ~ d4 ~ d4@2 e4 ~ e4@2", O: "~@2 c4@2 ~@2 a3 ~ c4@4 a3 ~ a3 ~",
  P: "~ a2@2 ~ a3 ~@3 a3@2 g3 ~ e3 ~ a3 ~",
})).s("gm_electric_guitar_muted").gain(0.46)

// other · lead 5 charang · "Lead"
const lead_5_charang = note(`<
  ~@88 A B@2 C@2 D@2 E F G H I J K L M@2 N O P Q R S T U V W X Y Z@2 AA@2 AB AC AD AE AF@4 AG@2 AH AI AJ@2 R AK AL ~@6
  AM AN AO AP AQ AL ~@3 AR@2 AS AT ~@61 AU@3 AV@6 ~
>`.pickRestart({
  A: "~@4 a4 ~ a4 ~", B: "[c5@18 d5@8 c5@2 a4@3 ~]/2", C: "[a4@8 c5@13 ~@3 a4@3 ~ c5@2 ~@2]/2",
  D: "[d5@24 c5@2 a4@5 ~]/2", E: "a4@4 g4 e4 a4 e4", F: "g4@2 a4@2 g4@2 e4@2 a4@2 e4@2 g4@2 e4 ~",
  G: "f#4@4 a4@3 ~ a4@4 b4@2 f#4@2", H: "a4@4 b4@2 f#4@2 a4@2 b4@3 ~@3", I: "f#4@2 a4 f#4 a4@2 b4 a4",
  J: "~@4 d5 b4@3, b4@5 ~@3", K: "a4@7 ~ a4@6 f#4@2", L: "a4 b4@3 a4 f#4@3",
  M: "[a4@8 a4@3 ~ a4@2 e5@5 ~ e5@3 ~ e5@2 ~@2 e5@3 ~]/2", N: "e5@7 ~ e5@7 ~", O: "d5@7 ~ c5@8",
  P: "a4@2 c5 ~ c5@2 d5 c5, ~@7 a4@2 ~@7", Q: "d5@4 e5@3 ~ c5@2 d5@2 c5@4", R: "a4@8 g4@2 e4@2 a4@3 e4",
  S: "g4@2 e4@2 d4@3 ~ c4@4 a3@3 ~", T: "a3@2 d4 ~ d4@2 c4 d4", U: "~@4 c4@9 d4@3",
  V: "~ e4@2 ~ g4@2 ~@3 d4@3 e4@2 ~@2", W: "g4@2 ~@2 d4@3 ~ e4@2 ~@2 g4@3 ~", X: "d4@3 ~ e4@2 ~@2 g4@2 ~@2 d4@3 ~",
  Y: "e4@2 g4@3 d4@2 ~ e4@2 ~@2 g4@2 ~@2", Z: "[a4@5 ~ a4@5 ~ c5@6 a4@6 g4@2 ~@2 e4@3 ~]/2",
  AA: "[c4@13 b3@7 a3@3 ~ a3@4 g3@3 ~]/2", AB: "f3 f#3 a3 ~ a3@2 b3 f#3", AC: "a3@2 b3 f#3 a3 b3 ~@2",
  AD: "~ f#3@3 a3@2 f#3@2 a3@4 b3@2 a3@2", AE: "b3@4 d4 b3@3",
  AF: "[a3@8 ~@12 g4@6 ~@4 g4@9 ~ g4@4 ~@2 g4@6 b4@4 c5@4 d5@3 ~, ~@8 d4@34 ~@2 d4@9 ~@11]/4",
  AG: "[d5@7 ~ d5@3 ~ c5@2 d5@17 ~]/2", AH: "d5@4 ~ d5@2 ~ d5@2 ~@2 d5@2 ~@2", AI: "d5@2 c5 ~ d5 c5 a4 ~",
  AJ: "[a4@7 ~ a4@3 ~ a4@2 c5@6 d5@2 ~@2 d5@2 c5@2 a4@2 ~@2]/2", AK: "g4@2 e4@2 d4@2 ~@2 c4@3 ~ a3@2 ~@2",
  AL: "a3@11 ~@5", AM: "~@6 e4 ~", AN: "g4@15 ~", AO: "g4@5 ~ e4@2 ~@2 d4@5 c4", AP: "d4 ~ d4@6",
  AQ: "c4 ~ a3@5 ~ c4@8", AR: "[~@4 d4@3 c4 d4@2 c4 ~@3 d4@5 c4 d4@4 c4@2 d4@4 e4@2]/2",
  AS: "a4@2 g4@2 e4@2 d4@5 ~ a3 ~@3, ~@11 c4@2 ~@3", AT: "c4@8 a3@7 ~",
  AU: "[~@15 e4@5 g4@5 a4@4 e4@5 c5@8 ~ c5@4 ~]/3",
  AV: "[~ a4@3 ~ e4@2 ~@3 d4@2 ~@3 c#4@5 a3@2 ~@3 e3@2 ~@3 d3@10 ~ c#3@49 ~@6, ~@25 f3 ~@70]/6",
})).s("gm_lead_5_charang").gain(0.72)

// bass · electric bass finger · "Bass Guitar"
const bass = note(`<
  ~@17 A B A B A B C@2 D E F G A B H@2 I J D K A B A B A B A B A B C@2 D E F G A B H@2 I J L ~ A B A B A B A B A B C@2 D
  E F G A B H@2 I J L ~ A B A B A B A B A B C@2 D E F G A B H@2 I J L ~ A B A B A B A B A B C@2 D E F G A B H@2 I J L ~
  A B A B M ~@23 D E F G A B H@2 I J L ~ A B A B A B A B A B C@2 D E F G A B H@2 I J L ~ A B A B I J L ~ A B A B I J N@5
  ~@2 O P@2 Q@6 ~
>`.pickRestart({
  A: "a1 ~ a1 ~ e1 ~ e1 a1", B: "~ a1 e1@2 g1@2 g#1@2",
  C: "[a1@2 ~@2 a1@2 ~@2 e1@2 ~@2 e1@2 a1@5 ~ a1@4 ~ c2@3 c#2@4]/2", D: "d2@2 ~@2 d2@2 ~@2 a1@3 ~ a1@2 d2@2",
  E: "~ d2 a1@2 c2@2 c#2@2", F: "d2@2 ~@2 d2@3 ~ a1@2 ~@2 a1@2 d2@2", G: "~ d2 e1@2 g1@2 g#1@2",
  H: "[a1@2 ~@2 a1@2 ~@2 e1@2 ~@2 e1@2 a1@5 ~ a1@4 c2@4 d2@4]/2", I: "e2@2 ~@2 e2@3 ~ b1@2 ~@2 b1@2 e2@2",
  J: "~ e2 b1@2 d2@2 e2@2", K: "~@2 d2@2 ~ f1 ~@2 g1@4 g#1@4, ~ e1 ~@2", L: "d2 ~@7",
  M: "a1@4 ~ f1 e1 d1 ~@8, ~@2 g1 ~@5", N: "[~ d2@66 ~@13]/5", O: "~@5 a1@10 ~",
  P: "[a1@4 c#2@7 ~@2 c#2@5 ~ d2@8 ~ d2@4]/2", Q: "[~ d#2@8 ~ d#2@4 ~ e2@3 ~@12 a#2@10 a2@51 ~@5]/6",
})).s("gm_electric_bass_finger").gain(0.52)

// drums · kick
const kick = s("bd").struct(`<
  ~@9 A ~@3 A ~@3 B@42 ~@2 B@22 ~@2 B@22 ~@2 B@22 ~@2 B@4 C@22 ~@2 B@10 ~@2 B@22 ~@2 B@6 ~@2 B@6 ~@3 D ~@3 E ~ F D G ~@4
  A
>`.pickRestart({
  A: "x", B: "x!2", C: "x ~@3 x!2 ~@2", D: "~@15 x", E: "~@5 x ~@9 x", F: "~ x ~@4 x ~", G: "~@13 x ~@2",
})).gain(0.43)

// drums · snare
const snare = s("sd").struct(`<
  ~@8 A ~@3 A ~@3 A B@14 C B@3 D B@3 D B@18 E F A B@10 G H B@6 I H B E F A B@11 E B@9 E F A B@11 E B@9 E F A B@26 J@2
  B@9 E F K B@11 E B@9 E F A B@5 E F A B@5 E F ~@2 A ~@2 L ~ M ~ N ~ O ~@2 P ~
>`.pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "~@4 x ~@7 x ~@2 x", D: "~@2 x ~@3 x!2", E: "~@2 x ~@2 x!2 ~", F: "x",
  G: "~ x!2 ~@3 x!2", H: "~ x!3 ~ x!2 ~", I: "~ x!2 ~ x ~ x!2", J: "x!4", K: "~ x ~ x!2 ~@2 x!2 ~ x ~ x ~ x ~",
  L: "~@5 x ~@10", M: "~@4 x ~@8 x ~@2", N: "~ x ~@8 x ~@5", O: "~@9 x ~@6", P: "~@7 x",
})).gain(0.5)

// drums · low tom
const low_tom = s("lt").struct("<~@72 A ~@7 B ~@133 C ~@2 D ~@4 E ~@3 F ~>".pickRestart({
  A: "~@6 x!2", B: "~@7 x", C: "~@13 x ~@2", D: "~@9 x ~@5 x", E: "~@3 x ~@4 x ~@7", F: "~@15 x",
})).gain(0.57)

// drums · pedal hat
const pedal_hat = s("hh").struct("<[x!4]!17 ~@211>").gain(0.5)

// drums · mid tom
const mid_tom = s("mt").struct("<~@58 A ~@23 A ~@23 A ~@23 A ~@39 A ~@23 A ~@7 A ~@7 A ~@17>".pickRestart({
  A: "~@3 x",
})).gain(0.57)

// drums · open hat
const open_hat = s("oh").struct("<~@8 [~@3 x] ~@3 [~@3 x] ~@215>").gain(0.64)

// drums · crash
const crash = s("cr").struct(`<
  ~@17 A ~@13 B ~@3 B ~@3 B ~@9 A ~@9 A ~ A ~@11 A ~@7 A ~ A ~ A ~@11 A ~@9 A ~ A ~@11 A ~@9 A ~ A ~@27 A ~@9 A ~ A ~@11
  A ~@9 A ~ A ~@5 A ~ A ~@5 A ~@6 C ~@3 D E ~@3 A
>`.pickRestart({
  A: "x", B: "~@7 x", C: "~@5 x ~@10", D: "~@13 x ~@2", E: "~@9 x ~@6",
})).gain(0.64)

// drums · ride
const ride = s("rd").struct(`<
  ~@9 A B C D C D C D@43 ~@2 D@22 ~@2 D@22 ~@2 D@22 ~@2 D@38 ~@2 D@22 ~@2 D@6 ~@2 D@6 ~@7 E F G H ~@6
>`.pickRestart({
  A: "~@4 x ~@3 x ~@3 x ~@2 x", B: "~ x!3", C: "x ~@3 x ~@3 x ~@3 x ~@2 x", D: "x!4", E: "~@5 x ~@4 x ~@4 x",
  F: "~@4 x ~@3 x ~@4 x ~@2", G: "~@2 x ~@4 x ~@4 x ~@3", H: "~ x ~@3 x ~@4 x ~@4 x",
})).gain(0.5)

stack(electric_guitar_muted, lead_5_charang, bass, kick, snare, low_tom, pedal_hat, mid_tom, open_hat, crash, ride)

More by The Allman Brothers Band