Strudelify

Starset My Demons

Rickey C Battle jr

KeyA♭ majorTempo90 bpm
0:00/0:00
// Starset My Demons — Rickey C Battle Jr
// 90 bpm, 4/4, key Ab major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 1 "Flute" flute (copy of ch 5 "B♭ Trumpet" trumpet); ch 2 "B♭ Clarinet" clarinet (copy of ch 5 "B♭ Trumpet" trumpet); ch 3 "Alto Saxophone" alto sax (copy of ch 6 "Horn in F" french horn); ch 9 "Baritone Horn" french horn (copy of ch 4 "Tenor Saxophone" tenor sax); ch 7 "Mellophone" french horn (copy of ch 6 "Horn in F" french horn); ch 11 "Tuba" tuba (copy of ch 12 "Tuba" tuba)
// note: Transcription provider: pdmx. https://musescore.com/score/5610558; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 69 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(90/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 · trumpet · "B♭ Trumpet"
const trumpet = note("<~@10 A B@2 C@2 B@2 C@2 D E ~@12 F@2 G@4 H I J ~@15 A B@2 C@2 B@2 C@2 D E ~>".pickRestart({
  A: "~ [g4,g5]!2 [bb4,bb5]", B: "ab5@2 ~@2 ab5@2 ~ ab5 ~ ab5 bb5@2 f5@2 f5@2", C: "ab5@3 f5@3 ab5@3 f5@3 ab5@4",
  D: "ab5!2 ~ ab5 g5@2 ab5 f5", E: "g5@2 ~ c5 ab5@2 [g5,g6] [f5,f6]",
  F: "[~@8 [f5,ab5]@2 ~ [f5,ab5]@2 ~ [eb5,g5]@4 [f5,ab5]@2 ~@2 f5@2 ab5@3 g5@3 eb5@2]/2", // Fm Eb Fm
  G: "[c5@2 ~@6 f5@3 f5@3 eb5@4 f5@2 ~@2 f5@2 [c5,ab5]@3 [bb4,g5]@3 [ab4,f5]@4 ~@6 f5@2 ~ f5@2 ~ eb5@4 f5@2 ~@2 f5@2 ab5@3 g5@3 f5@2]/4", // Fm Eb Db
  H: "~ c5 g5 ab5 g5 f5 g5 ab5", I: "g5 g5@3 ~@2 g5 ab5", J: "g5 g5@5 f5@2",
})).s("gm_trumpet").gain(0.5)

// other · trumpet · "B♭ Trumpet" · soft notes
const trumpet_soft = note("<~@2 A B C B D B C B E ~@31 F G H I J K J L M N O L P Q R E ~@11>".pickRestart({
  A: "~@2 ab5 f5 ab5@2 f5@2", B: "bb5 ab5 g5 ab5 g5@2 f5@2", C: "~ ab5 f5!2 ab5@2 f5!2", D: "~ ab5 f5!2 ab5@2 f5@2",
  E: "[f4,f5] ~@3", F: "~ eb5", G: "eb5 bb4!2 db5", H: "c5 ~ ab4@2", I: "ab4 g4 bb4 c5", J: "c5!2", K: "c5 bb4 bb4@2",
  L: "db5 c5 bb4 ab4", M: "ab4!2 bb4 c5", N: "bb4 c5", O: "ab4@3 ~", P: "ab4@4 g4@3 ab4 g4@4 f4@4",
  Q: "ab4@4 g4@3 ab4 g4@4 c5@4", R: "ab4",
})).s("gm_trumpet").gain(0.25)

// other · french horn · "Horn in F"
const french_horn = note("<~@10 A B C D E F G H I J@2 ~@12 K@2 L@4 M N O ~@15 A B C D E F G H I J@2 ~>".pickRestart({
  A: "~ [g4,g5]!2 [bb4,f5]", B: "ab4", C: "c5@4 ~@2 c5 db5 eb5@8", D: "~@4 bb4 c5 db5 eb5 f5@8",
  E: "~@4 g4 f4!2 g4 ab4 g4 f4 g4 ab4@4", F: "db5@6 db5 eb5 f5@4 eb5@4", G: "c5@4 ~@2 f5!2", H: "~@3 f5@3 ~@3 f5@3 ~@4",
  I: "[ab4,ab5]@3 [f4,f5]@3 [ab4,ab5]@3 [f4,f5]@3 [ab4,ab5]@4", J: "[ab4!2 f5@2 c5@2 f5 eb5@3 ~ c5 c5@2 g5 f5]/2",
  K: "[~@8 [f5,ab5]@2 ~ [f5,ab5]@2 ~ eb5@4 f5@2 ~@2 f5@2 ab4@3 g4@3 eb5@2]/2", // Fm
  L: "[c5@2 ~@6 f5@3 f5@3 eb5@4 f5@2 ~@2 f5@2 [c5,ab5]@3 [bb4,g5]@3 [ab4,f5]@4 ~@6 f5@2 ~ f5@2 ~ eb5@4 f5@2 ~@2 f5@2 ab5@3 g5@3 f5@2]/4", // Fm Eb Db
  M: "~ c5 g4 ab4 g4 f4 g4 ab4", N: "g4 g4@3 ~@2 [g4,bb4] [ab4,c5]", O: "[g4,bb4] [g4,bb4]@5 [f4,ab4,f5]@2",
})).s("gm_french_horn").gain(0.5)

// other · french horn · "Horn in F" · soft notes
const french_horn_soft = note("<A@2 B C D C E F G H I ~@31 J K L M N O N P Q R S P Q R T I ~@11>".pickRestart({
  A: "f4@2 ab4 f4 ~ f4 ab4 f4", B: "~@2 ab4 f4 ab4@2 f4@2", C: "bb4 ab4 g4 ab4 g4@2 f4@2", D: "~ ab4 f4!2 ab4@2 f4!2",
  E: "~ ab4 f5!2 ab4@2 f5@2", F: "~ ab4 f5!2 g4@2 f5@2", G: "~ ab4 f5!2 ab4@2 f5!2", H: "bb4 ab4 g4 ab4 g4@2 f5@2",
  I: "[f4,f5] ~@3", J: "~ eb5", K: "eb5 bb4!2 db5", L: "c5 ~ ab4@2", M: "ab4 g4 bb4 c5", N: "c5!2", O: "c5 bb4 db5 bb4",
  P: "db5 c5 bb4 ab4", Q: "ab4!2 bb4 c5", R: "bb4 c5", S: "ab4@3 ~", T: "ab4",
})).s("gm_french_horn").gain(0.2)

// chords · trombone
const trombone = note("<~@11 A B C D A E C F C G ~@12 H E A E H E A I J ~@16 A B C D A E C F C G ~>".pickRestart({
  A: "[f3,ab3,db4]", B: "[g3,c4,eb4]", C: "[f3,ab3,c4]", D: "[eb3,g3,bb3]@3 ~", E: "[g3,bb3,eb4]", F: "[eb3,g3,bb3]",
  G: "[g3,bb3,eb4]@6 [f3,ab3,c4]!2", H: "[ab3,c4,f4]", I: "[eb3,g3,c4] ~", J: "~@3 [f3,ab3,c4]",
})).s("gm_trombone").gain(0.5)

// chords · trombone · soft notes
const trombone_soft = note("<~@2 A B C B A B C B ~@34 D E F G H A H I A ~ H I A ~@12>".pickRestart({
  A: "[f3,ab3,c4]", B: "[eb3,g3,bb3]", C: "[f3,ab3,db4]", D: "~ ab3", E: "ab3 g3 bb3 g3", F: "ab3@4 g3@3 ab3 g3@4 f3@4",
  G: "ab3@4 g3@3 ab3 g3@4 ~@4", H: "[ab3,c4,eb4]", I: "[g3,c4,eb4,g4]",
})).s("gm_trombone").gain(0.2)

// bass · tuba
const bass = note("<~@10 A B C D E B C F G B H I J B K F L M N O G B P Q R S R Q R ~ T U ~@27>".pickRestart({
  A: "[f1,f2,f3] [g1,g2,g3] [ab1,ab2,ab3] [bb1,bb2,bb3]", B: "db3@2 ~@5 db3 ~ db3 db3@2 ~@2 db3@2",
  C: "eb3@2 ~@5 eb3 ~ eb3 eb3@2 ~@2 eb3@2", D: "f3@2 ~@2 f3@2 ~@2 f3@2 f3@2 ~@2 c3 eb3",
  E: "f3@2 ~@2 f3@2 ~@2 f3@2 ~@2 f3 eb3 c3 eb3", F: "f3 ~ f3 ~ f3 ~ f3 e3", G: "eb3 ~ bb3 ~ ab3 ~ c3 ~",
  H: "c3!2 c3@2 ~@3 eb3 ~ eb3 eb3@2 ~@2 f3@2", I: "f3@2 ~@5 f3 ~ f3 f3@2 ~@2 f3@2", J: "eb3 c3 bb3 ~ ab3 ~ bb2 c3",
  K: "c3!2 ~ g2 ~ g2 c2@2 ~ eb3 eb3@2 c3 bb2 c3 eb3", L: "eb3@2 ~@2 bb3@2 ~@2 ab3@2 ~@2 c3 bb2!2 c3",
  M: "db3@2 ~@5 db3 ~ db3 db3@2 ~ db3 c3 db3", N: "eb3@2 bb2@2 eb2@2 ~ eb3 ~ eb3 eb3@2 ~@2 c3 eb3",
  O: "f3@2 eb3@2 bb2@2 ab2@2 f1@3 ~ f3@2 e3@2", P: "c3!2 ~ g2 ~ g2 c2@2 ~ eb3 eb3@2 c3 bb2 ab2 g2", Q: "[f1,f2]",
  R: "[eb1,eb2]", S: "[db1,db2]", T: "c3!2 ~ c3 ~ c3!2 ~", U: "f2 g2 ab2 c3",
})).s("gm_tuba").gain(0.5)

// bass · tuba · soft notes
const bass_soft = note("<A@3 B C B D E F E ~@32 C B A G C B A H C B A G C B A H ~@3 I J K L M J N O>".pickRestart({
  A: "f2", B: "eb2", C: "db2", D: "f2!4", E: "eb2!4", F: "db2!4", G: "ab2", H: "f2 g2 ab2 c3",
  I: "f3 ~ g3 ~ ab3 g3 f3 eb3", J: "db3@2 ~@5 db3 ~ db3 db3@2 ~@2 db3@2", K: "eb3@2 ~@5 eb3 ~ eb3 eb3@2 ~@2 eb3@2",
  L: "f3 ~ f3 ~ f3 ~ f3 e3", M: "eb3 ~ bb3 ~ ab3 ~ c3 ~", N: "c3!2 c3@2 ~@3 eb3 ~ eb3 eb3@2 ~@2 f3@2", O: "f3 ~@7",
})).s("gm_tuba").gain(0.25)

stack(trumpet, trumpet_soft, french_horn, french_horn_soft, trombone, trombone_soft, bass, bass_soft)

More by Rickey C Battle jr