Strudelify
Keep Looking cover art

1988 · Stronger Than Pride

Keep Looking

Sade

KeyD majorTempo94 bpm
0:00/0:00
// Keep Looking — Sade
// 94 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "Organ" named as an organ, played on drawbar organ (its dulcimer patch is not one); ch 13 "Acoustic guitar" named as a guitar, played on acoustic guitar steel (its piano patch is not one)
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 120 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(94/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 · drawbar organ · "Organ"
const drawbar_organ = note(`<
  A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C E F G F G F G F G H B C D A B C D A B C D A B C D A B C
  D A B I@2 ~@8 A B C D A B C D A B C D A B I@2 A B C D A B I@2 A B C D A B C D A B C D A B C D A B C D A B C D
>`.pickRestart({
  A: "[a4,b4,d5,f#5]", B: "[f#4,a4,c#5,e5]", C: "[a4,c5,e5]", D: "[g4,b4,d5]", E: "[g4,b4,d5]@5 ~@11",
  F: "[c5,e5,g5,b5]", G: "[b4,d5,f#5,a5]", H: "[a4,b4,d5,f#5]@13 ~@3", I: "[~ [g4,b4,d5], [a4,c5,e5]]/2",
})).s("gm_drawbar_organ").gain(0.05)

// bass · electric bass finger · "Bass"
const bass = note(`<
  A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D E F G H E F I J A B C D A B C D A B C D A B C D A B C
  D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B
  C D
>`.pickRestart({
  A: "e2 ~ e2 ~@4 e3 ~ e3 ~ d3@3 a2 ~", B: "e2 ~ e2 ~@4 a2 ~ a2 ~ g2@3 e2@2", C: "d3 ~ d3 ~@4 d3 ~ d3 ~ d3 ~ d3@3",
  D: "e3 ~ e3@2 ~@3 e3 ~ b2 ~ a2@3 g2@2", E: "a2 ~ a2 ~@8 e2 g2@2 e2@2", F: "a2 ~ a2 ~@4 c3 ~ c3 ~ c3 e3@2 g3@2",
  G: "a2 ~ a2 ~@7 e2 ~ g2 e2 g2@2", H: "a2 ~ a2 ~@4 b2 ~ b2 ~ b2 e3@2 g3@2",
  I: "a2 ~ a2 ~@4 e2 [f2,g2] e2 g2 e2 a2@2 c3@2", J: "e3@2 g3 ~@4 g3 ~ g3 ~ g3@3 e3@2",
})).s("gm_electric_bass_finger").gain(0.46)

// other · electric guitar muted · "Jazz guitar"
const electric_guitar_muted = note("<~@40 [~@4 a4!2 ~@2 a4!2 ~@6]!4 ~@36 [~@4 a4!2 ~@2 a4!2 ~@6]!40>")
  .s("gm_electric_guitar_muted").gain(0.51)

// chords · piano · "CONGA HI" · D F#7 D#m F#7 D F#7 D#m F#7
const piano = note(`<
  [d4 ~@2 d4 ~@2 e4!2 d#4!2 e4 ~ e4 ~ e4 ~]!16
  [[f#3,d4] f#3!2 [f#3,d4] f#3!2 [f#3,e4]!2 [f#3,d#4]!2 [f#3,e4] f#3 [f#3,e4] f#3 [f#3,e4] f#3]!16
  [d4 ~@2 d4 ~@2 e4!2 d#4!2 e4 ~ e4 ~ e4 ~]!8
  [[f#3,d4] f#3!2 [f#3,d4] f#3!2 [f#3,e4]!2 [f#3,d#4]!2 [f#3,e4] f#3 [f#3,e4] f#3 [f#3,e4] f#3]!72
  [f#3!16]!8
>`).s("gm_piano").gain(0.41)

// other · acoustic guitar steel · "Acoustic guitar"
const acoustic_guitar_steel = note("<~@64 A B C D A B C D E F G H I J K L ~@35 M ~@4>".pickRestart({
  A: "e3 ~ e3 ~@9 [b3,e4,g4]@2 ~@2", B: "[d3,e3] ~ e3 ~@8 b2 d3 e3 g3 b2", C: "d3 ~ d3 ~@13", D: "e3 ~ e3 ~@13",
  E: "~@6 e3 f#3 f#3@3 g3@3 a3@2", F: "b3@10 e3 f#3 g3 a3 b3 c4", G: "a3@10 g3@3 f#3@2 d3", H: "e3@7 ~, d#3 ~@15",
  I: "g4@10 f#4@3 d4@3, f#4 ~@15", J: "d#4 ~@13 a3 a#3", K: "b3@6 a3 ~@7 f#3 g3", L: "~@10 [d#4,e4] ~ f#4 ~ g4 ~",
  M: "~@10 e4 ~ e4 f#4!2 g4",
})).s("gm_acoustic_guitar_steel").gain(0.41)

// other · acoustic guitar steel · "Acoustic guitar" · soft notes
const acoustic_guitar_steel_2 = note("<~@77 [e4@7 ~] [~@7 b3 g3@6 ~@2] [e3 ~] [f#4@13 ~@3] ~@39>")
  .s("gm_acoustic_guitar_steel").gain(0.26)

// drums · kick
const kick = s("bd").struct("<[x ~@6 x ~ x ~@6]!112 ~@8>").gain(0.41)

// drums · snare
const snare = s("sd").struct("<[~ x ~ x]!112 ~@8>").gain(0.46)

// drums · hihat
const hihat = s("hh").struct("<[~@2 x!14]!112 ~@8>").gain(0.36)

// drums · open hat
const open_hat = s("oh").struct("<x!112 ~@8>").gain(0.41)

// drums · lt
const lt = s("lt").struct("<~@40 [~ x ~ x]!72 ~@8>").gain(0.51)

stack(
  drawbar_organ, bass, electric_guitar_muted, piano, acoustic_guitar_steel, acoustic_guitar_steel_2, kick, snare, hihat,
  open_hat, lt
)

More by Sade