Strudelify

Low Rider

Yabanada

KeyE♭ majorTempo140 bpm
0:00/0:00
// Low Rider — Yabanada
// 140 bpm, 4/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/4484671; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 52 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(140/4)

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

// other · trumpet · "B♭ Cornet"
const trumpet = note(`<
  ~@8 A B C ~ A B C ~ D E F G H I J K L M N ~ L M N ~ D E F G H I J K L M N ~ L M N ~ L M O@2
>`.pickRestart({
  A: "d4!5 eb4 ~ f4", B: "~@3 bb3 d4 eb4 ~ d4", C: "~ bb3 ~@6", D: "ab4 f4 ab4 f4 ab4 ~@3", E: "c5!3 bb4 c5 ~@3",
  F: "eb4 f4@7", G: "ab4@3 ~", H: "ab5 f5 ab5 f5 ab5 ~@3", I: "c6!3 bb5 c6 ~@3", J: "eb6 f6@7", K: "ab5",
  L: "d5!5 eb5 ~ f5", M: "~@3 bb4 d5 eb5 ~ d5", N: "~ bb4 ~@6", O: "[~ bb4 ~@4 bb4@8 ~@2]/2",
})).s("gm_trumpet").gain(0.3)

// other · alto sax · "Alto Saxophone"
const alto_sax = note(`<
  ~@8 A B C ~ A B C ~ D E F G H I J K L M N ~ L M N ~ D E F G H I J K L M N ~ L M N ~ L M O@2
>`.pickRestart({
  A: "bb3!5 c4 ~ d4", B: "~@3 f3 bb3 c4 ~ bb3", C: "~ f3 ~@6", D: "eb4!5 ~@3", E: "ab4!5 ~@3", F: "ab3 bb3@7",
  G: "bb3@3 ~", H: "eb5!5 ~@3", I: "ab5!5 ~@3", J: "ab5 bb5@7", K: "d5", L: "bb4!5 c5 ~ d5", M: "~@3 f4 bb4 c5 ~ bb4",
  N: "~ f4 ~@6", O: "[~ f4 ~@4 f4@8 ~@2]/2",
})).s("gm_alto_sax").gain(0.3)

// bass · electric bass finger · "5-str. Electric Bass"
const bass = note(`<
  A B A B A B A B A B A B A B A B C@2 D E C@2 F G A B A B A B A B C@2 D E C@2 F G A B A B A B A B H I J@2
>`.pickRestart({
  A: "bb2@2 ~ bb2 f2@2 ~ bb2", B: "~ bb2 ~ f2 ab2!2 bb2 ab2", C: "ab2@3 f2 ab2 ~@3", D: "ab2 bb2 bb2@6", E: "bb2@3 ~",
  F: "ab2 bb2@7", G: "bb2", H: "f2 bb2 ab2 f2 ab2 f2 ~ bb2", I: "~ bb1 ~ d2 f2 eb2 bb1 ab1",
  J: "[bb1!2 ~@4 bb1@8 ~@2]/2",
})).s("gm_electric_bass_finger").gain(0.3)

stack(trumpet, alto_sax, bass)