Strudelify

NBA Youngboy x Make No Sense

NBA Youngboy

KeyA♭ majorTempo75 bpm
0:00/0:00
// NBA Youngboy x Make No Sense — NBA Youngboy
// 75 bpm, 4/4, key Ab major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 3 "B♭ Trumpet" trumpet (copy of ch 2 "B♭ Clarinet" clarinet); ch 12 "Sousaphone" tuba (copy of ch 11 "Sousaphone" tuba)
// note: Transcription provider: pdmx. https://musescore.com/score/5852985; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 32 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(75/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 · piccolo
const piccolo = note("<A ~@4 B@2 C D E ~@3 F G ~@7 B H I J B H I J K G>".pickRestart({
  A: "~@4 [f6,f7] [c6,c7] [ab5,ab6] ~ [f6,f7] [c6,c7] [ab5,ab6] ~@5", // F C Ab F C Ab
  B: "~ [c6,c7]!2 [ab5,ab6] [bb5,bb6]@2 ~@3 [c6,c7]!2 [ab5,ab6] [bb5,bb6]@2 [ab5,ab6]@2", // C Ab Bb C Ab Bb Ab
  C: "~@2 [c6,c7] [ab5,ab6] [bb5,bb6]@2 ~@2 [bb5,bb6]!3 [ab5,ab6] [c6,c7]@2 [bb5,bb6]@2", D: "~@10 [c6,c7]!6",
  E: "[f6,c7,f7] ~@3", F: "~@2 [f6,f7]@2 ~@2 [f6,f7]@2 ~@2 [f6,f7]@2 [c6,c7]!4", G: "[c6,c7] ~@3",
  H: "~ [c6,c7]!2 [ab5,ab6] [bb5,bb6]@2 ~@3 [f5,f6]!2 [ab5,ab6] [bb5,bb6]@2 [ab5,ab6]@2", // C Ab Bb F Ab Bb Ab
  I: "~@2 [c6,c7]@3 [bb5,bb6]@3 [ab5,ab6] [g5,g6] [f5,f6]@4 ~@2", // C Bb Ab G F
  J: "~@5 [c6,c7]!2 [ab5,ab6] [bb5,bb6] [c6,c7]!2 [ab5,ab6] [bb5,bb6]@2 [ab5,ab6]@2", // C Ab Bb C Ab Bb Ab
  K: "~@2 [f5,f6]@2 ~@2 [f5,f6]@2 ~@2 [f5,f6]@2 [c6,c7]!4", // F C
})).s("gm_piccolo").gain(0.5)

// other · piccolo · soft notes · F C Ab
const piccolo_soft = note("<[[f6,f7] [c6,c7] [ab5,ab6] ~@13] [~@8 ab6 bb6!2 ab6 bb6@2 ~@2]!4 ~@27>")
  .s("gm_piccolo").gain(0.3)

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

// other · french horn · "Mellophone"
const french_horn = note("<A B@4 C@2 D E F ~@3 G F ~@7 H I J K H I J L M F>".pickRestart({
  A: "f4 ~ f4 ~ f4 ~@3", B: "~@8 ab4 bb4!2 ab4 bb4@2 ~@2",
  C: "[~@5 c5!2 ab4 bb4@2 ~@2 ab4@2 c5@4 ~@3 c5!2 ab4 bb4@4 c5@4]/2", D: "g4@3 f4@3 c5@2", E: "~@6 c5!4 ~@4 c5@2",
  F: "f5 ~@3", G: "~ [ab4,c5] ~ [ab4,c5] ~ f5@3", H: "c5@3 c5@3 ab4@2", I: "~ c5!2 ab4 bb4@2 ~@2 db5@4 bb4@4",
  J: "~ c5 f5@4 ~ c5", K: "bb4@3 ~ bb4@2 db5@2", L: "bb4@3 ~ bb4@2 f5@2", M: "~ [ab4,c5] ~ [ab4,c5] ~ [ab4,c5] f5@2",
})).s("gm_french_horn").gain(0.72)

// other · tenor sax · "Tenor Saxophone"
const tenor_sax = note("<A B C D E F G H I J ~@3 K J ~@7 L M N O L M N O K J>".pickRestart({
  A: "[ab3,c4] ~ [ab3,c4] ~ [ab3,c4] ~@3", B: "c4!5 bb3!3 ~@6 ab3 bb3", C: "c4!5 bb3 bb3@2 ~@6 c4!2",
  D: "c4!5 bb3!3 ~@6 c4!2", E: "c4!7 db4 ~@4 [bb3,db4]!4", F: "[ab3,c4]@4 ~ c4!2 ab3 bb3@4 [ab3,c4]@4",
  G: "[ab3,c4]@2 ~@3 c4!2 ab3 [bb3,db4]@4 [bb3,eb4]@4", H: "[eb4,g4]@3 [c4,f4]@3 [ab3,c4]@2",
  I: "~ c4!2 ab3 bb3@2 c4!2 [gb3,bb3]@4 [gb3,bb3]@4", J: "[c4,f4] ~@3",
  K: "[ab3,c4] ~ [ab3,c4] ~ [ab3,c4] ~ [ab3,c4] ~", L: "f4@4 ~ c4!2 ab3 bb3@4 ~@2 c4@2",
  M: "f4@4 ~@5 f4!2 ab4 bb4@2 ab4@2", N: "g4@3 ~ [f4,ab4]@3 ~", O: "~ c5!2 ab4 bb4@2 ~@3 c5!2 ab4 bb4@2 ab4@2",
})).s("gm_tenor_sax").gain(0.4)

// other · tuba · "Euphonium"
const tuba = note("<A B C D E F G H I J ~@3 K L ~@7 M N O P M N O P Q R>".pickRestart({
  A: "f4 ~ f4 ~ f4 ~@3", B: "c4!5 bb3!3 ~@6 ab3 bb3", C: "c4!5 bb3 bb3@2 ~@6 c4!2", D: "c4!5 bb3!3 ~@6 c4!2",
  E: "c4!7 db4 ~@4 [bb3,db4]!4", F: "[c4,f4]@4 ~ c4!2 ab3 bb3@4 ~@2 c4@2",
  G: "[c4,f4]@2 ~@3 c4!2 ab3 bb3@2 ~@2 c4@2 ab4@2", H: "g4@3 f4@2 ~ [f4,ab4]@2", I: "~@6 c4!2 ~@2 c4!2 ~@2 ab4!2",
  J: "ab4 ~@3", K: "~@2 [c4,f4]@2 ~@2 [c4,f4]@2 ~ ab4!2 ~@3 c5!2", L: "[ab4,c5] ~@3",
  M: "f4@4 ~ c4!2 ab3 bb3@4 ~@2 c4@2", N: "f4@4 ~@5 f4!2 ab4 bb4@2 ab4@2", O: "g4@3 ~ [f4,ab4]@3 ~",
  P: "~ c5!2 ab4 bb4@2 ~@3 c5!2 ab4 bb4@2 ab4@2", Q: "~@2 [c4,f4]@2 ~@2 [c4,f4]@2 ~ ab4!2 ~@3 [f4,c5]!2",
  R: "[f4,c5] ~@3", // F5
})).s("gm_tuba").gain(0.64)

// chords · trombone
const trombone = note("<A B C D E F G H I J ~@3 K L ~@7 M N M N M N M N K L>".pickRestart({
  A: "[f3,ab3,c4,f4] ~ [f3,ab3,c4,f4] ~ [f3,ab3,c4,f4] ~@3", B: "c4!5 bb3!3 ~@6 ab3 bb3", C: "c4!5 bb3 bb3@2 ~@6 c4!2",
  D: "c4!5 bb3!3 ~@6 c4!2", E: "c4!7 db4 ~@4 [bb3,db4,f4]!4", F: "[f3,ab3,c4]@3 [f3,ab3,c4]@3 [f3,ab3,c4]@2",
  G: "~@2 [bb3,db4,f4] ~ [bb3,db4,f4] ~ [bb3,db4,f4] ~ [gb3,bb3,db4]@4 [gb3,bb3,eb4]@4", // Bbm Gb Ebm
  H: "[ab3,c4,f4]@3 [ab3,c4,f4]@3 [ab3,c4,f4]@2", I: "~ c4!2 ab3 bb3@2 c4!2 [gb3,bb3,db4]@4 [gb3,bb3,eb4]@4",
  J: "[ab3,c4,f4] ~@3", K: "[f3,ab3,c4,f4] ~ [f3,ab3,c4,f4] ~ [f3,ab3,c4,f4] ~ [f3,ab3,c4,f4] ~",
  L: "[f3,ab3,c4,f4] ~@3", M: "[f3,ab3,c4]@6 [f3,ab3,c4]@2 [f3,ab3,c4]@6 [f3,ab3,c4] ~",
  N: "[gb3,bb3,db4]@6 [gb3,bb3,db4] ~ [gb3,bb3,db4]@4 [gb3,bb3,eb4]@4", // Gb Ebm
})).s("gm_trombone").gain(0.45)

// bass · tuba · "Sousaphone"
const bass = note("<A B C B D E F G H E F G I J K F G L E F G M N ~ G O K F P L J N>".pickRestart({
  A: "f3 c3 f3 ~ f3 c3 f3 ~ f3 c3 f3 ~@5", B: "f2 c2 f2 ~ g2@2 f2@2 ~@2 f1@4 db2 c2", C: "bb1@6 bb2 ab2 gb2@4 eb2@4",
  D: "bb1@6 bb2 ab2 gb2@4 eb2 ~ eb2 ~", E: "f2 c2 f2 ~ g2@2 f2@2 ~@2 f2@2 ~ eb3 db3 c3",
  F: "bb2!2 ~ bb2 ~ bb2!2 ab2 gb2!2 ~ gb2 ~ c3!2 eb3", G: "f3 ~ eb3 ~ c3 ~ ab2 ~ f2@2 ~@2 f3@2 db3 c3", H: "bb2 ~@7",
  I: "bb2@4 ~@2 bb2 ab2 gb2@4 ~ c3!3", J: "f3 c3 f3 ~ f3 c3 f3 ~ f3 c3 f3 ~ c3 ~ c3 ~",
  K: "f3 c3 f3 ~ g3@2 f3@2 ~@2 f2@2 ~ eb3 db3 c3", L: "bb2!2 ~ bb2@2 ~@2 ab2 gb2!2 ~ gb2 ~ c3!3",
  M: "bb2@4 ~@2 bb2 ab2 gb2@4 ~@2 c3 ~", N: "f3 ~@3", O: "bb2@4 ~@4 gb2!2 gb2@2 ~@2 gb3@2",
  P: "f3 ~ eb3 ~ c3 ~ ab2 ~ f2@2 ~@2 f3 ~ db3 c3",
})).s("gm_tuba").gain(0.72)

stack(piccolo, piccolo_soft, alto_sax, french_horn, tenor_sax, tuba, trombone, bass)