Strudelify

straight no chaser

Davis Miles

KeyF majorTempo180 bpm
0:00/0:00
// straight no chaser — Miles Davis
// 180 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5260062; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 60 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(180/4)

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

// bass · acoustic bass
const bass = note(`<
  A B C D@2 E F G H I J ~ K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH@2 AI AJ@5 AK AL AM AN AO AP AQ AR AS
  AT AU AV AW AX AY AZ BA
>`.pickRestart({
  A: "~ c2 f2 a2 bb2 a2 bb2 a2", B: "bb2 a2 f2 d2 f2 g2 ~@2", C: "~@2 c2!2 d2 f2 g2 d2",
  D: "[f2@3 g2 ~ f2 c3 bb2@3 f2 d2 ab2 f2 ~@2]/2", E: "~ bb1 d2 f2 ab2 a2 bb2 ab2", F: "a2@2 c3 d3 c3 a2 f2 d2",
  G: "bb2 g2 a2@2 eb2 g2 bb2 c3", H: "a2 bb2 d2 f2 a2 g2@3", I: "~@2 c2@2 eb2 g2 ~ a2 bb2@2 a2@2 f2@2 d2@2",
  J: "c2@2 d2 f2 g2@2 ~@2", K: "~ f2 d3@2 c3 a2 f2 d2", L: "b2 a2 bb2@2 db2 b1 c2 d2", M: "eb2 f2 g2 bb2 d3 eb3 f3 e3",
  N: "eb3@2 bb2@2 b2 c3 ~ db3 d3@2 db3@2 c3@2 a2@2", O: "f2 eb2 d2@2 d3 eb3 d3@2", P: "f2 a2 c3 b2 bb2 f2 ~@2",
  Q: "~ c2 e2 bb2!2 a2@3", R: "e2@2 g2 e2 gb2 d2@3", S: "~@3 d2 gb2 a2 c3 b2", T: "bb2@2 d2 gb2 a2 bb2 a2 g2",
  U: "f2 d2 c2 bb1 a1 c2 d2 f2", V: "~@3 d2 f2!4", W: "~ f2 f3@4 d3 db3", X: "c3 a2 ~@3 f2 a2 bb2",
  Y: "a2@2 f2 e2 eb2 g2 ~@2", Z: "~@2 c2@2 eb2 g2 ~ bb2 g2@2 ab2@2 a2@2 f2@2", AA: "gb2 g2 eb2 c2 f2 a1 bb1 eb2",
  AB: "d2@2 e2@2 g2 d2 f2 g2", AC: "f2 a2 d3 db3 c3 a2 ~ c3", AD: "bb2 ab2 ~ bb2 ab2 bb2 ~@2", AE: "~ g2 bb2 d3 ~@3 g2",
  AF: "bb2 c3 d3 db3 ~ bb2 e3 f3", AG: "~ e3@2 d3 c3 f2 b2 d3", AH: "[d3 db3 c3 a2 f2 d2 bb2 a2@3 f2 d2 g2 d2 g2@2]/2",
  AI: "~@5 c2 f2 a2",
  AJ: "[bb2 a2 f2 c2 a2 c2 d2 eb2@3 ~@3 c3 d3 c3@3 ~@2 f2 c2 b2 bb2@3 ~ c2 f2 ab2 bb2 a2@3 ~@3 c2 f2 a2]/5",
  AK: "bb2 a2 f2 c2 f2 a2 ~@2", AL: "~ f2 ab2 f2 bb2@2 ab2@2", AM: "~ f2 ab2@2 f2@2 eb2@2",
  AN: "~ d2 f2 ab2 bb2!2 a2@2", AO: "f2 d2 f2@2 eb2 c2 ~@2", AP: "~@3 c2@2 c2 eb2 c2", AQ: "e2 g2 e2 f2 a2 c3 b2 ab2",
  AR: "a2 ab2 a2 f2 e2 d2 eb2 f2", AS: "a2 bb2 ~ c3 d3@2 db3@2 c3@2 a2@2 f2@2 eb2@2", AT: "d2 c3 b2 a2 bb2 d2 f2 g2",
  AU: "ab2 bb2 ~ ab2 bb1@2 d2@2 f2@2 ab2@2 g2@2 f2@2", AV: "e2@2 g2@2 a2 bb2 ~ c3 d3@2 db3@2 c3@2 bb2@2",
  AW: "a2 f2 a2 ab2 e2 f2 gb2 e2", AX: "f2@2 d2 bb1 a1 bb1 d2 f2", AY: "a2@2 f2 d2 bb1 d2 f2 a2",
  AZ: "c3 b2 ~ bb2 a2@4 bb2 a2 ~ ab2 g2@4", BA: "a2@2 f2 g2@3 c2@2",
})).s("gm_acoustic_bass").gain(0.3)

// chords · piano
const piano = note(`<
  A B A@2 B@2 A C D E A E A B A@2 B@2 A C D E A E A B A@2 B@2 A C D E A E A B A@2 B@2 A C D E A E A B A@2 B@2 A C D E A
  E
>`.pickRestart({
  A: "[f4,a4,c5,eb5] ~@2 [f4,a4,c5,eb5] ~@4", B: "[f4,ab4,bb4,d5] ~@2 [f4,ab4,bb4,d5] ~@4",
  C: "[a4,c5,e5,g5] ~@2 [a4,c5,d5,gb5] ~@4", D: "[g4,bb4,d5,f5] ~@2 [g4,bb4,d5,f5] ~@4",
  E: "[g4,bb4,c5,e5] ~@2 [g4,bb4,c5,e5] ~@4", // C7
})).s("gm_piano").gain(0.2)

stack(bass, piano)

More by Davis Miles