Strudelify

We Don't Give A Damn

Jamar R. Davis

KeyA♭ majorTempo90 bpm
0:00/0:00
// We Don't Give A Damn — Jamar R. Davis
// 90 bpm, 4/4, key Ab major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "Flute" named as a pipe, played on flute (its brass section patch is not one); ch 3 "B♭ Clarinet 2" named as a reed, played on clarinet (its string ensemble 1 patch is not one)
// note: duplicate parts dropped: ch 11 "B♭ Trumpet 2" trumpet (copy of ch 3 "B♭ Clarinet 2" clarinet); ch 13 "Mellophone" brass section (copy of ch 5 "Alto Saxophone" brass section); ch 15 "Baritone 1" french horn (copy of ch 6 "Tenor Saxophone" french horn); ch 7 "Euphonium (Treble Clef)" french horn (copy of ch 6 "Tenor Saxophone" french horn)
// note: Transcription provider: pdmx. https://musescore.com/score/5936809; license: https://creativecommons.org/publicdomain/zero/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(90/4)

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

// chords · brass section · "B♭ Clarinet 1" · Db
const brass_section = note(`<
  [ab3!2 ~ ab3!3 ~ ab3, ~ db5 ~ c5]!3
  [ab3!2 ~ ab3!3 c5 ~, ~ db5 ~@2]
  [c5@2 ~ c5 db5@2 eb5@2 c5@4 ~@4, g3]!4
  [[ab3,f5] ~@3]
  ~@15
  [ab3 db5 ab3 f5]!4
  [c5@2 ~ c5 db5@2 eb5@2 c5@4 ~@4, g3]!4
  [[ab3,f5] ~@3]
>`).s("gm_brass_section").gain(0.48)

// other · clarinet · "B♭ Clarinet 2"
const clarinet = note(`<
  [~ db4 ~ c4]!3
  [~@2 db4@2 ~@2 c4 ~]
  [c4@2 ~ c4 db4@2 eb4@2 c4@4 ~@4]!4
  [f4 ~@3]
  ~@15
  [~ db4 ~ f4]!4
  [c4@2 ~ c4 db4@2 eb4@2 c4@4 ~@4]!4
  [f4 ~@3]
>`).s("gm_clarinet").gain(0.3)

// other · brass section · "Alto Saxophone"
const brass_section_2 = note(`<
  [~ db5 ~ c5]!3
  [~@2 db5@2 ~@2 c5 ~]
  [c5@2 ~ c5 db5@2 eb5@2 c5@4 ~@4]!4
  [f5 ~@3]
  ~@15
  [~ db5 ~ f5]!4
  [c5@2 ~ c5 db5@2 eb5@2 c5@4 ~@4]!4
  [f5 ~@3]
>`).s("gm_brass_section").gain(0.3)

// other · french horn · "Tenor Saxophone"
const french_horn = note("<A@3 B C D@2 E F ~@15 G@2 H I J K@2 L F>".pickRestart({
  A: "f4!2 ~ f4!3 ~ f4", B: "f4!2 ~ f4!3 ~@2", C: "~@3 ab3", D: "g3@2 ~ ab3", E: "g3 ~", F: "f4 ~@3", G: "f4 ~ f4 ~",
  H: "ab4 ~ ab4 ~", I: "[ab4,c5] ~ [ab4,c5] ~", J: "~@3 ab4", K: "g4@2 ~ ab4", L: "g4 ~",
})).s("gm_french_horn").gain(0.3)

// other · trumpet · "B♭ Trumpet 1"
const trumpet = note(`<
  [~ db6 ~ c6]!3
  [~@2 db6@2 ~@2 c6 ~]
  [c6@2 ~ c6 db6@2 eb6@2 c6@4 ~@4]!4
  [f6 ~@3]
  ~@15
  [~ db6 ~ f6]!4
  [c6@2 ~ c6 db6@2 eb6@2 c6@4 ~@4]!4
  [f6 ~@3]
>`).s("gm_trumpet").gain(0.45)

// bass · tuba · "Baritone 2"
const bass = note("<A@3 B C D@2 E F G@3 H@4 G@4 H@4 I@2 J K C D@2 E L>".pickRestart({
  A: "f3@2 ~ f2 ~@2 f3@2 ~ f2 f3@2 ~@2 f3@2, f2 ~ f3@2 ~@2 f2 ~ f3@2 f2 ~@5",
  B: "f3@2 ~ f2 ~@2 f3@2 ~ f2 f3@2 ~@4, f2 ~ f3@2 ~@2 f2 ~ f3@2 f2 ~@5", C: "c3 ~@2 c3 ~@2 c3 ~@2 c3!2 ~ ab3@4",
  D: "c3 ~@2 c3 ~@2 c3 ~@2 c3!2 ~ ab3@4, g3 ~", E: "c3 ~@2 c3 ~@2 c3 ~@2 c3!2 ~@5, g3 ~",
  F: "f3@3 f3 ~@2 f3 ~@2 f3!2 ~@5", G: "f3 ~@2 f3 ~@2 f3 ~@2 f3!2 ~@5", H: "c3 ~@2 c3 ~@2 c3 ~@2 c3!2 ~@5",
  I: "f3 ~ f3 ~", J: "ab3 ~ ab3 ~", K: "[ab3,c4] ~ [ab3,c4] ~", L: "f3 ~@3",
})).s("gm_tuba").gain(0.72)

// other · brass section · "Trombone 1"
const brass_section_3 = note(`<
  [f4!2 ~ f4!3 ~ f4]!3
  [f4!2 ~ f4!3 ~@2]
  eb4!4
  [f4 ~@3]
  ~@15
  [f4 ~ f4 ~]!4
  eb4!4
  [f4 ~@3]
>`).s("gm_brass_section").gain(0.8)

// bass · tuba · "Sousaphone"
const bass_2 = note("<A@4 B@4 C@4 B@4 C@4 B@4 ~@4 B@4 D>".pickRestart({
  A: "f2 ~@2 f2 ~@2 f2 ~@2 f2!2 ~@5", B: "c3 ~@2 c3 ~@2 c3 ~@2 c3!2 ~@5", C: "f3 ~@2 f3 ~@2 f3 ~@2 f3!2 ~@5",
  D: "f3 ~@3",
})).s("gm_tuba").gain(0.72)

stack(brass_section, clarinet, brass_section_2, french_horn, trumpet, bass, brass_section_3, bass_2)