Strudelify

Lowrider

Josh Famous

KeyG minorTempo140 bpm
0:00/0:00
// Lowrider — Josh Famous
// 140 bpm, 4/4, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5240873; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 32 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(140/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.

// other · trombone · "Tenor Trombone"
const trombone = note("<~@8 A B C ~ A D E ~ F G F G F G F G F G H ~@5>".pickRestart({
  A: "d3 ~ bb2 ~", B: "g2@2 ~@2 f2 gb2 g2@2", C: "b2 g2@2 ~@5", D: "g2@2 ~@2 f2 g2 f2 g2", E: "g2 g2@3 ~@4",
  F: "f2 g2 ~ bb2 ~ c3 ~ d3", G: "~ f3 ~ g3 f3 g3 f3 g3", H: "~@7 [g2,g3]",
})).s("gm_trombone").gain(0.4)

// other · trombone · "Tenor Trombone" · soft notes
const trombone_soft = note("<~@28 [d3 ~ bb2 ~] [g2@2 ~@2 f2 gb2 g2@2] [b2 g2@2 bb2 ~ c3 ~ d3] [~ f3 ~ g3 f3 g3!3]>")
  .s("gm_trombone").gain(0.2)

// bass · trombone · "Bass Trombone"
const bass = note("<~@4 A B A B A B A B A B A B A B A B A B A B A B A B A B C D>".pickRestart({
  A: "f2 g2 ~ bb2 ~ c3 ~ [d2,d3]", B: "~ f2 ~ g2 f2 g2 f2 g2", C: "f2 g2 ~ bb2 ~ c3 ~ d3",
  D: "~ [f2,f3] ~ [g2,g3] [f2,f3] [g2,g3]!3", // F G F G
})).s("gm_trombone").gain(0.4)

// drums · cowbell
const cowbell = s("cb").struct("<A B A B A B A B 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 ~ x!3 ~ x!2", B: "x ~ x!2 ~ x!3",
})).gain(0.5)

stack(trombone, trombone_soft, bass, cowbell)