Strudelify
KeyD♭ majorTempo120 bpm
0:00/0:00
// Life Style — Chirstopher Lairy and Tyler Gardner
// 120 bpm, 4/4, key Db major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 2 "Bb Clarinet" clarinet (copy of ch 1 "Flute" flute); ch 3 "Alto Saxophone" alto sax (copy of ch 1 "Flute" flute); ch 11 "F Mellophone" french horn (copy of ch 4 "Bb Trumpet" trumpet)
// note: Transcription provider: pdmx. https://musescore.com/score/447041; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 33 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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 · "Bb Trumpet"
const trumpet = note("<~@4 A B@2 ~ A B@2 ~@9 A B@2 ~ A B@2 ~ A B@2 ~ C>".pickRestart({
  A: "~@6 f5 c5 c5@2 ~ c5@2 c5@2 ~", B: "[c5@2 ~ c5@2 c5@2 ~@2 bb4@4 ab4@8 ~@11]/2", C: "bb4 ~@3",
})).s("gm_trumpet").gain(0.3)

// other · trombone
const trombone = note("<A B@3 A C A C A C A C ~@8 A B A ~ A C A C A C A C D>".pickRestart({
  A: "f3", B: "eb3", C: "f3 eb3", D: "f3 ~@3",
})).s("gm_trombone").gain(0.3)

// other · trombone
const trombone_2 = note("<A B@3 A C A C A C A C ~@8 A B A ~ A C A C A C A C D>".pickRestart({
  A: "db3", B: "c3", C: "db3 c3", D: "db3 ~@3",
})).s("gm_trombone").gain(0.3)

// other · trombone
const trombone_3 = note("<A@3 B A C A C A C A C ~@8 A@3 ~ A C A C A C A C D>".pickRestart({
  A: "ab2", B: "a2", C: "ab2!2", D: "ab2 ~@3",
})).s("gm_trombone").gain(0.3)

// bass · tuba · "Bb Tuba"
const bass = note("<A B C@2 D E D E D E D E D F D G D F D G D E D H D E D G D E D G I>".pickRestart({
  A: "gb2", B: "ab2", C: "f2", D: "bb2@3 f2 ~@2 gb2@2 ~@8", E: "~ ab2", F: "gb2 ~ ab2!2", G: "gb2@2 ~@2 ab2@2 db3 c3",
  H: "gb2@4 ab2@2 db3 c3", I: "bb2 ~@3",
})).s("gm_tuba").gain(0.45)

// other · french horn · "Baritone Horn"
const french_horn = note("<A B C@2 D E D E D E D E ~@8 D E D ~ D E D F D E D F G>".pickRestart({
  A: "gb2", B: "ab2", C: "f2", D: "bb2@3 f2 ~@2 gb2@2 ~@8", E: "~ ab2", F: "gb2@2 ~@2 ab2@2 db3 c3", G: "bb2 ~@3",
})).s("gm_french_horn").gain(0.3)

stack(trumpet, trombone, trombone_2, trombone_3, bass, french_horn)