Strudelify
In The Midnight Hour cover art

1965 · In the Midnight Hour

In The Midnight Hour

Wilson Pickett

KeyE majorTempo120 bpm
0:00/0:00
// In The Midnight Hour — Wilson Pickett
// 120 bpm, 4/4, key E major. Source: mcgill + midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 4 "Trombone" trombone (copy of ch 1 "Baritone Sax" baritone sax); ch 3 "Acc. Bass" acoustic bass (copy of ch 6 "Synth. Bass" synth bass 2)
// note: Full arrangement: all 73 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · alto sax
const alto_sax = note(`<
  A@2 B C@2 D E@2 F@2 G@2 H@2 I J K@2 L@3 M E@2 F@2 G@2 H@2 I J K@2 L@3 ~@14 N O@6 P@6 Q@5 R@4
>`.pickRestart({
  A: "[[f4,a#4,d5]@4 [d#4,g4,c5] [d#4,g4,c5]@2 [d4,f4,a#4]@5 [a#3,d#4,g4]@4]/2", // A# Cm A# D#
  B: "[a#3,d4,f4]@2 [d4,f4,a#4]@2 ~ [d#4,g4,a#4] [d#4,g4,a#4]@2", C: "~@2 [d4,f4,a#4]@2 ~ [d#4,g4,a#4] [d#4,g4,a#4]@2",
  D: "~@2 [d4,f4,a#4]@2 ~ f4 g4 a#4", // A#
  E: "[[f4,a#4,d5]@2 c5 a#4 [d#4,g4,c5] [d#4,g4,a#4]@2 [d4,f4,a#4]@5 ~ g4 a#4 c5]/2", // A# Cm D# A#
  F: "[[f4,a#4,d5]@2 [f4,a#4,d5]@2 [d#4,g4,c5] a#4 c5 [d4,f4,a#4]@5 ~ f4 g4 a#4]/2", // A# Cm A#
  G: "[[f4,a#4,d5]@2 c5 a#4 [d#4,g4,c5] [d#4,g4,a#4]@2 d4 d4@4 ~@2 g4 a#4, ~@7 [f4,a#4]@5 ~@4]/2", // A# Cm D# A#5
  H: "[[f4,a#4,d5]@2 [f4,a#4,d5]@2 [d#4,g4,c5] a#4 g4 c5@2 a#4@3 ~ d5 c5 a#4, ~@7 [d4,f4]@5 ~@4]/2", // A# Cm Dm
  I: "[f4,a4,c5] [f4,a4,c5]@2 [f4,a4,d5]@3 [f4,a4,c5]@2", J: "c5 g4 ~ a#4@9 f4@2 ~@2, d#4@3 ~",
  K: "[[f4,a4,c5] d5 c5 [a4,c5,f5]@2 [a4,c5,g5]@2 d#4 d#4 [d#4,g4,a#4]!2 [d#4,g4,a#4]@3 c5 g4, ~@7 [g4,c5]@2 ~@7]/2", // F Am7 D# C5
  L: "[g4@2 a#4@6 ~@4 [g4,a#4,d#5]@2 [f4,a#4,d5]@6 ~@2 g4!2 [d#4,g4,a#4]@2 [d#4,g4,a#4]@4 [d#4,g#4,c5]@18, d4 ~@5]/3", // D# A# D# G#
  M: "[c4,d#4,a4]@6 a4 f4", N: "~@7 a#4",
  O: "[[f4,a#4,d5]@2 c5 a#4 [d#4,g4,c5] [g4,a#4]@2 [d4,f4,a#4]@5 ~ g4 a#4 c5 [f4,a#4,d5]@2 [f4,a#4,d5]@2 [g4,c5] a#4 c5 [d4,f4,a#4]@5 ~ f4 g4 a#4 [f4,a#4,d5]@2 c5 a#4 [d#4,g4,c5] [g4,a#4]@2 d4 d4@4 ~@2 g4 a#4, ~@5 d#4@15 d#4@16 ~ d#4@11, ~@39 [f4,a#4]@5 ~@4]/6", // A# Cm Gm A# C5 A# Cm Gm …
  P: "[[f4,a#4,d5]@4 [f4,a#4,d5]@4 [g4,c5]@2 a#4@2 g4@2 c5@4 a#4@6 ~@2 d5@2 c5@2 a#4@2 [f4,a4,c5]@2 [f4,a4,c5]@4 [f4,a4,d5]@6 [f4,c5]@4 c5 g4 ~ a#4@9 f4@2 ~@2 [f4,c5]@2 d5@2 c5@2 [c5,f5]@4 [c5,g5]@4 c5@4 a#4@14, ~@4 d#4@20 d#4@15 [d#4,g4]@9, ~@7 [d4,f4]@5 ~@10 a4@10 a4@3 a4@4 ~@9]/6", // A# C5 F Dm F5 C5 D# Dm
  Q: "[[a#3,g4]@4 g4@2 a#4@2 [g4,d5]@2 d5@2 g4@2 [d4,f4,a#4]@10 ~@4 [g4,a#4,d#5]@2 f4@2 f4@4 ~@2 g4!2 [d#4,g4,a#4]@2 [g4,a#4]@4 [d4,f4,a#4]@10 ~@4 [g4,a#4,d#5]@2 f4@2 f4@2 a#4@2 a#4@2 g4@2 a#4@2 a#4@6, d#4@4 d#4@16 ~ d#4@19, ~@15 [a#4,d5]@3 ~@13 [a#4,d5]@2 ~@3 g4@4]/5", // D# G5 A# D# Gm A# D# A#
  R: "[[a#4,d5,f5]@4 [g4,a#4,d#5] [g4,a#4,d#5]@2 [f4,a#4,d5]@5 [g4,a#4,d#5] [g4,a#4,d#5]@2 [a#4,d5,f5]@5 [g4,a#4,d#5] [g4,a#4,d#5]@2 [f4,a#4,d5]@5 [g4,a#4,d#5] [g4,a#4,d#5]@2 [a#4,d5,f5]]/4", // A# D# A# D# A# D# A# D# …
})).s("gm_alto_sax").gain(0.8).pan(0.7)

// chords · synth brass 2 · "Alto Sax"
const synth_brass_2 = note("<~@37 A@3 B@2 C@2 D@2 E F G@2 H I ~@21>".pickRestart({
  A: "[a4@6 a4 f4 [f4,a#4,d5]@2 c5 a#4 [d#4,g4,c5] [d#4,g4,a#4]@2 [d4,f4,a#4]@5 ~ g4 a#4 c5, d#4 ~]/3", // A# Cm D# A#
  B: "[[f4,a#4,d5]@2 [f4,a#4,d5]@2 [d#4,g4,c5] a#4 c5 [d4,f4,a#4]@5 ~ f4 g4 a#4]/2", // A# Cm A#
  C: "[[f4,a#4,d5]@2 c5 a#4 [d#4,g4,c5] [d#4,g4,a#4]@2 d4 d4@4 ~@2 g4 a#4, ~@7 [f4,a#4]@5 ~@4]/2", // A# Cm D# A#5
  D: "[[f4,a#4,d5]@2 [f4,a#4,d5]@2 [d#4,g4,c5] a#4 g4 c5@2 a#4@3 ~ d5 c5 a#4, ~@7 [d4,f4]@5 ~@4]/2", // A# Cm Dm
  E: "[f4,a4,c5] [f4,a4,c5]@2 [f4,a4,d5]@3 [f4,a4,c5]@2", F: "c5 g4 ~ a#4@9 f4@2 ~@2, d#4@3 ~",
  G: "[[f4,a4,c5] d5 c5 [a4,c5,f5]@2 [a4,c5,g5]@2 d#4 d#4 [d#4,g4,a#4]!2 [d#4,g4,a#4]@3 c5 g4, ~@7 [g4,c5]@2 ~@7]/2", // F Am7 D# C5
  H: "g4 a#4@3 ~ [d#4,g4,a#4] [d#4,g4,a#4]@2, d4 ~", I: "~@2 [d4,f4,a#4]@2 ~ f4 ~@2",
})).s("gm_synth_brass_2").gain(0.8).pan(0.7)

// chords · brass section · "Brass"
const brass_section = note(`<
  A@2 B C@2 D E@2 F@2 G@2 H@2 I J K@2 L@3 M E@2 F@2 G@2 H@2 I J K@2 L@3 M E@2 F@2 G@2 H@2 I J K@2 N D E@2 F@2 G@2 H@2 I
  J O@2 P@5 Q@4
>`.pickRestart({
  A: "[[f4,a#4,d5]@4 [d#4,g4,c5] [d#4,g4,c5]@2 [d4,f4,a#4]@5 [a#3,d#4,g4]@4]/2", // A# Cm A# D#
  B: "[a#3,d4,f4]@2 [d4,f4,a#4]@2 ~ [d#4,g4,a#4] [d#4,g4,a#4]@2", C: "~@2 [d4,f4,a#4]@2 ~ [d#4,g4,a#4] [d#4,g4,a#4]@2",
  D: "~@2 [d4,f4,a#4]@2 ~ f4 g4 a#4", // A#
  E: "[[f4,a#4,d5]@2 c5 a#4 [d#4,g4,c5] [d#4,g4,a#4]@2 [d4,f4,a#4]@5 ~ g4 a#4 c5]/2", // A# Cm D# A#
  F: "[[f4,a#4,d5]@2 [f4,a#4,d5]@2 [d#4,g4,c5] a#4 c5 [d4,f4,a#4]@5 ~ f4 g4 a#4]/2", // A# Cm A#
  G: "[[f4,a#4,d5]@2 c5 a#4 [d#4,g4,c5] [d#4,g4,a#4]@2 d4 d4@4 ~@2 g4 a#4, ~@7 [f4,a#4]@5 ~@4]/2", // A# Cm D# A#5
  H: "[[f4,a#4,d5]@2 [f4,a#4,d5]@2 [d#4,g4,c5] a#4 g4 c5@2 a#4@3 ~ d5 c5 a#4, ~@7 [d4,f4]@5 ~@4]/2", // A# Cm Dm
  I: "[f4,a4,c5] [f4,a4,c5]@2 [f4,a4,d5]@3 [f4,a4,c5]@2", J: "c5 g4 ~ a#4@9 f4@2 ~@2, d#4@3 ~",
  K: "[[f4,a4,c5] d5 c5 [a4,c5,f5]@2 [a4,c5,g5]@2 d#4 d#4 [d#4,g4,a#4]!2 [d#4,g4,a#4]@3 c5 g4, ~@7 [g4,c5]@2 ~@7]/2", // F Am7 D# C5
  L: "[g4@2 a#4@6 ~@4 [g4,a#4,d#5]@2 [f4,a#4,d5]@6 ~@2 g4!2 [d#4,g4,a#4]@2 [d#4,g4,a#4]@4 [d#4,g#4,c5]@18, d4 ~@5]/3", // D# A# D# G#
  M: "[c4,d#4,a4]@6 a4 f4", N: "g4 a#4@3 ~ [d#4,g4,a#4] [d#4,g4,a#4]@2, d4 ~",
  O: "[[f4,a4,c5] d5 c5 [a4,c5,f5]@2 [a4,c5,g5]@2 c5@2 a#4@7, ~@7 [d#4,g4]@9]/2", // F Am7 D#
  P: "[[a#3,d#4,g4]@4 g4@2 a#4@2 [d#4,g4,d5]@2 d5@2 g4@2 [d4,f4,a#4]@10 ~@4 [g4,a#4,d#5]@2 f4@2 f4@4 ~@2 g4!2 [d#4,g4,a#4]@2 [d#4,g4,a#4]@4 [d4,f4,a#4]@10 ~@4 [g4,a#4,d#5]@2 f4@2 f4@2 a#4@2 a#4@2 g4@2 a#4@2 a#4@6, ~@15 [a#4,d5]@3 ~@13 [a#4,d5]@2 ~@3 [d#4,g4]@4]/5", // D# D#maj7 A# D# A# D# A# D#
  Q: "[[a#4,d5,f5]@4 [g4,a#4,d#5] [g4,a#4,d#5]@2 [f4,a#4,d5]@5 [g4,a#4,d#5] [g4,a#4,d#5]@2 [a#4,d5,f5]@5 [g4,a#4,d#5] [g4,a#4,d#5]@2 [f4,a#4,d5]@5 [g4,a#4,d#5] [g4,a#4,d#5]@2 [a#4,d5,f5]]/4", // A# D# A# D# A# D# A# D# …
})).s("gm_brass_section").gain(0.49).pan(0.3)

// bass · synth bass 2 · "Synth. Bass"
const bass = note(`<
  A@2 B@4 C B C B C B C D E F G@2 C H@2 I C B C B C B C D E F G@2 C H@2 I C B C B C B C D E F G@2 C B C B C B C B C D E
  F J K L C B C B C B C B
>`.pickRestart({
  A: "[a#1@4 d#2 d#2@2 a#1@5 d#2@4]/2", B: "a#1@2 d2 f2 d#2!2 g2 a#2", C: "a#1@2 d2 f2 d#2 d#2@3",
  D: "a#1@2 d2 f2 a#1!2 c2 c#2", E: "d2@3 a2@2 d2@2 d2", F: "d#2@3 a#1@2 d#2@2 d#2", G: "[f2@3 c2@4 c2@2 c2@2 c2@5]/2",
  H: "[a#1@2 d2 f2 d#2!2 g2 g#2@4 d#2@2 g#2 d#2@2]/2", I: "f2@3 f2!3 a2 f2", J: "f2@3 c2@4 c2", K: "c2 c2@2 c2@4 c2",
  L: "c2",
})).s("gm_synth_bass_2").gain(0.6).pan(0.7)

// drums · kick
const kick = s("bd").struct("<~@5 A B@7 C B@7 C B@7 C B@7 C B@6 D B@10 C B@17>".pickRestart({
  A: "~@4 x ~@2 x", B: "x!2", C: "x ~@3 x ~@2 x", D: "x!4",
})).gain(0.8)

// drums · snare
const snare = s("sd").struct("<~@5 A B@7 C B@7 C B@7 C B@7 C B@6 D B@10 C B@17>".pickRestart({
  A: "~@5 x!2 ~", B: "~ x ~ x", C: "~@2 x ~@2 x!2 ~", D: "x!4",
})).gain(0.8)

// drums · hihat
const hihat = s("hh").struct("<A@5 B A@7 B A@7 B A@7 B A@7 B A@6 C A@10 B A@16 ~>".pickRestart({
  A: "x!8", B: "x!5 ~@3", C: "x!4",
})).gain(0.72)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct("<~@72 [x!8]>").gain(0.24)

// drums · low tom
const low_tom = s("lt").struct("<~@5 A ~@7 A ~@7 A ~@7 A ~@7 A ~@17 A ~@17>".pickRestart({
  A: "~@7 x",
})).gain(0.08)

// drums · crash
const crash = s("cr").struct("<~@5 A ~@7 A ~@7 A ~@7 A ~@7 A ~@17 A ~@17>".pickRestart({
  A: "~@7 x",
})).gain(0.8)

stack(alto_sax, synth_brass_2, brass_section, bass, kick, snare, hihat, hihat_soft, low_tom, crash)

More by Wilson Pickett