Strudelify
KeyB♭ majorTempo120 bpm
0:00/0:00
// Coco — Lucky Chops
// 120 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 6 "Saxofone Tenor" tenor sax (copy of ch 4 "Saxofone Alto" alto sax)
// note: Transcription provider: pdmx. https://musescore.com/score/2954081; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 106 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. 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 · "Trompete em B♭"
const trumpet = note(`<
  ~@6 A@2 B C B D B C B E F G H I B C B E ~@2 J K L M N O P Q R I P Q R S T ~@2 U B C B D B C B E F G H I B C B E ~@2 J
  K L M N O P Q R I P Q R S V W T ~@10 P Q R I P Q R I X Y Z I P Q R AA AB
>`.pickRestart({
  A: "f5/2", B: "~ f4 c5!2 c5@2 c5 ~", C: "c5@2 c5 ~ ab4 bb4 c5!2", D: "bb4 ab4 c5@2 f4@2 ~@2",
  E: "bb4 ab4 c5@2 ab4@2 ~@2", F: "~@2 eb5 db5 c5@2 c5 ~", G: "c5@2 c5 ~ c5@2 ab4@2", H: "~ ab4 eb5 db5 c5@2 c5 ~",
  I: "c5 bb4 ab4@2", J: "f4@2 f4!2 f4@2 f4!2", K: "f4 eb4 c4 eb4 f4 ~@3", L: "bb4@3 b4@3 c5@3 ~ db5@3 d5@3",
  M: "eb5 e5 f5 gb5", N: "g5 ab5 a5@2", O: "bb5", P: "~@2 f5 eb5 db5 c5 bb4 ab4", Q: "c5 eb5 eb5@2",
  R: "~ ab4 f5 eb5 db5 c5 bb4 ab4", S: "c5 bb4 ab4 g4", T: "f4", U: "~@5 bb4!3", V: "f4 ~ f4 ab4", W: "eb5 db5 c5 bb4",
  X: "~@4 eb5 ab5 ab5@2 ab5@2 g5@2 f5@2 eb5@2", Y: "f5@4 g5@4 f5 ab5 g5@4 g5@2", Z: "~ eb5 ab5!3 g5 f5 eb5",
  AA: "c5@4 bb4@4 ab4@3 f5 g5@4", AB: "f5",
})).s("gm_trumpet").gain(0.45)

// other · clarinet · "Clarinete em B♭"
const clarinet = note(`<
  ~@4 A B A C D@8 E F E G E F E H ~@4 I J I J E F E G E F E G K ~@23 I J I J E F E G E F E G L M N ~@3 O P O P O Q R E F
  E G E F E G E F E G E F Q R D
>`.pickRestart({
  A: "c5!2 ~ c5 bb4!2 ~ bb4", B: "eb5!2 ~ eb5 ab4!2 ~ ab4", C: "eb5!2 ~ eb5 db5 c5 db5 eb5", D: "db5",
  E: "ab4!2 ~ ab4 c5!2 ~ c5", F: "ab4!2 ~ ab4 f4!2 ~ f4", G: "ab4!2 ~ ab4 db4 c4 db4 eb4",
  H: "ab4!2 ~ ab4 db4 c4 db4 ~", I: "f5@2 f5!2 f5@2 f5!2", J: "f5 eb5 c5 eb5 f5 ~@3", K: "eb4", L: "ab4 ~ ab4 c5",
  M: "g5 f5 eb5 db5", N: "f5", O: "eb5 ab4", P: "c5 bb4", Q: "f4 eb4 f4 eb4 g4 f4 g4 f4 ab4 g4 ab4 g4 ab4 g4 ab4 g4",
  R: "bb4 ab4 bb4 ab4 c5 bb4 c5 bb4 eb5@8",
})).s("gm_clarinet").gain(0.4)

// other · clarinet · "Clarinete em B♭" · soft notes
const clarinet_soft = note("<~@23 A@2 ~@18 B ~@8 C D C E C D C F@2 ~@45>".pickRestart({
  A: "[~@7 eb4@9]/2", B: "~@5 bb4!3", C: "ab4!2 ~ ab4 c5!2 ~ c5", D: "ab4!2 ~ ab4 f4!2 ~ f4",
  E: "ab4!2 ~ ab4 db4 c4 db4 eb4", F: "[ab4!2 ~ ab4 db4 c4 db4 eb4@9]/2",
})).s("gm_clarinet").gain(0.2)

// other · french horn · "Trompa em F"
const french_horn = note(`<
  ~@4 A B A C D E D F D E D F A B A C A B A G ~@8 A B A C A B A C H ~@41 I J K J K L M A B A C A B A C A B A C A B L M N
>`.pickRestart({
  A: "ab3!2 ~ ab3 g3!2 ~ g3", B: "c4!2 ~ c4 f3!2 ~ f3", C: "c4!2 ~ c4 ab3 g3 ab3 bb3", D: "f3!2 ~ f3 eb3!2 ~ eb3",
  E: "ab3!2 ~ ab3 db3!2 ~ db3", F: "ab3!2 ~ ab3 db3 c3 db3 eb3", G: "c4!2 ~ c4 ab3 g3 ab3 ~", H: "bb3", I: "~ f3",
  J: "ab3 g3", K: "c4 f3", L: "f3 eb3 f3 eb3 g3 f3 g3 f3 ab3 g3 ab3 g3 ab3 g3 ab3 g3",
  M: "bb3 ab3 bb3 ab3 c4 bb3 c4 bb3 eb4@8", N: "ab3",
})).s("gm_french_horn").gain(0.3)

// other · french horn · "Trompa em F" · soft notes
const french_horn_soft = note(`<
  ~@23 A B ~@3 C@2 D E ~@11 F G H G I G H G I J K J L J K J L B ~@3 M@3 N J K J L J K J L O P Q ~@3 R ~@23
>`.pickRestart({
  A: "~@7 bb3", B: "c4", C: "f3 ~ f3 ~", D: "f3@2 f3!2 f3@2 f3!2", E: "f3 eb3 c3 eb3 f3 ~@3", F: "~@5 db3!3",
  G: "f3!2 ~ f3 eb3!2 ~ eb3", H: "ab3!2 ~ ab3 db3!2 ~ db3", I: "ab3!2 ~ ab3 db3 c3 db3 eb3", J: "ab3!2 ~ ab3 g3!2 ~ g3",
  K: "c4!2 ~ c4 f3!2 ~ f3", L: "c4!2 ~ c4 ab3 g3 ab3 bb3", M: "f3!4", N: "f3!5 ~@3", O: "c3 ~ c3 eb3",
  P: "bb3 ab3 g3 f3", Q: "f3", R: "c4 ~",
})).s("gm_french_horn").gain(0.2)

stack(trumpet, clarinet, clarinet_soft, french_horn, french_horn_soft)

More by Lucky Chops