Strudelify

scream

Usher

KeyB♭ majorTempo120 bpm
0:00/0:00
// scream — Usher
// 120 bpm, 4/4, key Bb 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 4 "Bb Trumpet" trumpet (copy of ch 1 "Flute" flute)
// note: Transcription provider: pdmx. https://musescore.com/score/195628; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 41 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 · [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.

// other · alto sax · "Alto Saxophone"
const alto_sax = note("<A B C B D E D E ~@8 F@2 G@2 H@2 I ~ I@2 G@2 I@6 G@2 I@4 J>".pickRestart({
  A: "ab4 c5", B: "~ ab4 bb4 ab4 bb4 ab4 g4 ab4", C: "ab4@4 c5@2 bb4 ab4", D: "[bb4,bb5] ~ [f4,f5]!3 ~ [bb4,bb5] ~",
  E: "[f4,f5]!4 ~@4", F: "f4", G: "db4", H: "bb3", I: "c4", J: "~@2 f4 ~",
})).s("gm_alto_sax").gain(0.3)

// chords · trombone
const trombone = note("<A@2 B@2 A B A@2 C D C E F G F G A@2 B@2 H@2 I ~ A@2 B@4 A@4 B@4 A@2 J>".pickRestart({
  A: "[ab3,c4,f4]", B: "[ab3,db4,f4]", C: "~ bb3 ab3 f3 ~ bb3 ab3 f3", D: "~ bb3 ab3 f3 ~ f3 ~@2",
  E: "~ bb3 ab3 f3 ~ f3 ab3@2", F: "bb3 ~ f3!3 ~ bb3 ~", G: "f3!4 ~@4", H: "[bb3,f4]", I: "[c4,e4]",
  J: "~@2 [ab3,c4,f4] ~", // Fm
})).s("gm_trombone").gain(0.3)

// bass · tuba · "Bb Tuba"
const bass = note("<A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 E@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 F>".pickRestart({
  A: "[f2@2 ~ f2@2 ~ f2@2 ~ f2@2 ~ f2@2 ~ f2@2 ~ f2@2 ~ f2@2 ~ f2@2 ~ f2@2 ~ f2@2]/2",
  B: "[db2@2 ~ db2@2 ~ db2@2 ~ db2@2 ~ db2@2 ~ db2@2 ~ db2@2 ~ db2@2 ~ db2@2 ~ db2@2 ~ db2@2]/2",
  C: "[bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@2 ~ bb1@2]/2",
  D: "[c2@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ c2@2]/2",
  E: "[c2@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ db2@2]/2", F: "~@2 f2 ~",
})).s("gm_tuba").gain(0.3)

stack(alto_sax, trombone, bass)

More by Usher