Strudelify

Fly Away

Lenny Kravitz

KeyG majorTempo79 bpm
0:00/0:00
// Fly Away — Lenny Kravitz
// 79 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 73 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): 03- Overdriven Guitar, 04- Distortion Guitar.
setcpm(79/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// bass · electric bass finger · "05- Elelctric Bass"
const bass = note(`<
  ~@3 A B C B C ~@8 B C B C B C B C ~@8 B C B C B C B C ~@8 B C B C B C B C B C B C B C B C B C B C B C B C ~
>`.pickRestart({
  A: "~@7 g1", B: "a1@2 a1!4 ~@2 c2@2 c2!4 ~@2", C: "g1@2 g1!4 ~@2 d2@2 d2!4 ~@2",
})).s("gm_electric_bass_finger").gain(0.4)

// bass · slap bass 1 · "06- Slap Bass"
const bass_2 = note("<~@8 A B A B A B A B ~@8 A B A B A B A B ~@8 A B A B A B A B ~@24 C>".pickRestart({
  A: "a1@2 e2 a2 ~@2 b1@2 c2@2 g2 c3 ~@2 f#1@2", B: "g1@2 d2 g2 ~@2 c#2@2 d2@2 a2 d3 ~@2 g1@2", C: "g1 ~@15",
})).s("gm_slap_bass_1").gain(0.5)

// chords · electric guitar clean · "07- Clean Electric Guitar"
const electric_guitar_clean = note(`<
  A B A B A B A B ~@8 A B A B A B A B A B A B A B A B A B A B A B A B ~@8 A B A B A B A B A B A B A B A B A B A B A B A
  B ~
>`.pickRestart({
  A: "[a3,c#4,e4]@2 [a3,c#4,e4]!4 [b3,d4,g4] [g3,b3,d4] [c4,e4,g4]@2 [c4,e4,g4]!4 ~ e4", // A G C
  B: "[g3,b3,d4]@2 [g3,b3,d4]!4 ~ d4 [d4,f#4,a4]@2 [d4,f#4,a4]!4 ~ g3", // G D
})).s("gm_electric_guitar_clean").gain(0.4).pan(0)

// drums · kick
const kick = s("bd").struct("<~@4 A@4 B@8 A@8 B@8 A@8 B@8 A@24 C>".pickRestart({
  A: "x ~ x ~@4 x!2 ~ x ~@5", B: "x!2 ~@2 x!2 ~@2", C: "x",
})).gain(0.4)

// drums · snare
const snare = s("sd").struct(`<
  ~@4 A B A B C@8 A B A B A B A B C@8 A B A B A B A B C@8 A B A B A B A B A B A B A B A B A B A B A B A B ~
>`.pickRestart({
  A: "~@4 x ~@2 x ~@4 x ~@3", B: "~@4 x ~@2 x ~@4 x!2 ~@2", C: "~@4 x ~@2 x ~@4 x ~@2 x",
})).gain(0.4)

// drums · clap
const clap = s("cp").struct(`<
  ~@4 A B A B ~@8 A B A B A B A B ~@8 A B A B A B A B ~@8 A B A B A B A B A B A B A B A B A B A B A B A B ~
>`.pickRestart({
  A: "~@4 x ~@2 x ~@4 x ~@3", B: "~@4 x ~@2 x ~@4 x!2 ~@2",
})).gain(0.4)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@4 A B A B A B@7 A B A B A B A B A B@7 A B A B A B A B A B@7 A B A B A B A B A B A B A B A B A B A B A B A B ~
>`.pickRestart({
  A: "~ x!15", B: "x!16",
})).gain(0.4)

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

stack(bass, bass_2, electric_guitar_clean, kick, snare, clap, hihat, crash)

More by Lenny Kravitz