Strudelify

Pep Band Nightmare

Mr_Fulla

KeyC minorTempo120 bpm
0:00/0:00
// Pep Band Nightmare — Mr_Fulla
// 120 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/190636; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 65 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.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · flute
const flute = note("<~@40 A ~ B ~ A ~ C D E@2 F E@3 F ~ E@2 F E@3 F ~@2>".pickRestart({
  A: "~@6 c6@2 g5@3 eb5@2 c5@3", B: "~@6 bb5!2 g5@3 c6@2 c6@3", C: "c6 bb5 ~ g5 bb5 g5 ~ eb5 c6@3 g5@2 eb5@3",
  D: "bb4 c5 ~ eb5 f5 g5 ~ bb5 eb6@3 d6@2 c6@3", E: "c5@4 c5@2 c5 f5 c6!2 c6@2 c6@2 c6@2",
  F: "g5 f5 g5@2 ~ f5 g5 f5 eb5@2 eb5 f5 g5 f5 g5 bb4",
})).s("gm_flute").gain(0.3)

// other · clarinet · "Bb Clarinet"
const clarinet = note("<~@6 A B ~@32 C ~ D ~ C ~ A B E@2 F G E@2 F G E@2 F G E@2 F G ~>".pickRestart({
  A: "g5@3 f5@2 eb5@3 c5@3 bb4@2 g4@3", B: "eb5@3 c5@2 g4@3 f4@3 eb4@2 d4@3", C: "~@6 eb5@2 c5@3 bb4@2 c5@3",
  D: "~@6 eb5!2 c5@3 bb4@2 c5@3", E: "c5@12 bb4 c5 eb5 f5", F: "g5 f5 eb5 g5", G: "c5",
})).s("gm_clarinet").gain(0.3)

// other · alto sax · "Alto Saxophone"
const alto_sax = note("<~@40 A ~ B ~ A ~ C D E@16 ~>".pickRestart({
  A: "~@6 c4@2 g4@3 eb4@2 c4@3", B: "~@6 bb3!2 g3@3 c4@2 c4@3", C: "c4 bb3 ~ g3 bb3 g3 ~ eb3 c4@3 g3@2 eb3@3",
  D: "bb3 c4 ~ eb4 f4 g4 ~ bb4 eb5@3 d5@2 c5@3", E: "c4!2 g4 c4 ~ c4 ~ c4",
})).s("gm_alto_sax").gain(0.3)

// other · tenor sax · "Tenor Saxophone"
const tenor_sax = note("<~@24 A B A B A B A B A B A B A B A B C@9 D E ~ C D E ~ C D E ~ C D E ~@2>".pickRestart({
  A: "eb3!2 g3 eb3 ab3 eb3 g3 eb3", B: "c3 d3", C: "~ c3 eb3 f3 g3 c3 ~ c3", D: "~ c3 eb3 f3 g3 ab3 g3 eb3",
  E: "f3@3 f3 eb3@2 g3 c3",
})).s("gm_tenor_sax").gain(0.3)

// other · baritone sax · "Baritone Saxophone"
const baritone_sax = note(`<
  ~@8 A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C D@9 E F ~ D E F ~ D E F ~ D E F ~@2
>`.pickRestart({
  A: "c3@3 c3 ~@4", B: "eb3@3 eb3 bb2@3 bb2", C: "ab2@3 ab2 bb2@3 bb2", D: "~ f3 eb3 f3 g3 eb3 ~ c3",
  E: "~ f3 eb3 f3 g3 f3 eb3 c3", F: "g3@3 f3 eb3@2 d3 c3",
})).s("gm_baritone_sax").gain(0.3)

// other · french horn · "F Mellophone"
const french_horn = note(`<
  ~@6 A B C D E ~ C D E ~ C D E ~ C D E ~ C D E ~ C D E ~ C D E ~ C D E ~ C@8 F@2 G H F@2 G H F@2 G H F@2 G H ~
>`.pickRestart({
  A: "g4@3 f4@2 eb4@3 c4@3 bb3@2 g3@3", B: "eb4@3 c4@2 g3@3 f4@3 eb4@2 d4@3", C: "~ f3 eb3 f3 g3 eb3 ~ c3",
  D: "~ f3 eb3 f3 g3 f3 eb3 c3", E: "g3@3 f3 eb3@2 d3 c3", F: "c4@12 bb3 c4 eb4 f4", G: "g4 f4 eb4 g4", H: "c4",
})).s("gm_french_horn").gain(0.3)

// other · french horn · "Baritone Horn"
const french_horn_2 = note(`<
  ~@6 A B C D E ~ C D E ~ C D E ~ C D E ~ C D E ~ C D E ~ C D E ~ C D E ~ C@9 D E ~ C D E ~ C D E ~ C D E ~@2
>`.pickRestart({
  A: "g3@3 f3@2 eb3@3 c3@3 bb2@2 g2@3", B: "eb3@3 c3@2 g2@3 f3@3 eb3@2 d3@3", C: "~ c3 eb3 f3 g3 c3 ~ c3",
  D: "~ c3 eb3 f3 g3 ab3 g3 eb3", E: "f3@3 f3 eb3@2 g3 c3",
})).s("gm_french_horn").gain(0.3)

// other · trombone
const trombone = note(`<
  A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A
  C A B A C A
>`.pickRestart({
  A: "c3!2 ~@6", B: "eb3!2 ~@2 bb2!2 ~@2", C: "ab2!2 ~@2 bb2!2 ~@2",
})).s("gm_trombone").gain(0.3)

// bass · tuba · "C Tuba"
const bass = note(`<
  A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A
  C A B A C D
>`.pickRestart({
  A: "c3@3 c3 ~@4", B: "eb3@3 eb3 bb2@3 bb2", C: "ab2@3 ab2 bb2@3 bb2", D: "c3!2 ~@6",
})).s("gm_tuba").gain(0.3)

// bass · electric bass finger · "Electric Bass"
const bass_2 = note(`<
  A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A
  C A B A C A
>`.pickRestart({
  A: "c2!2 ~@6", B: "eb2!2 ~@2 bb1!2 ~@2", C: "ab1!2 ~@2 bb1!2 ~@2",
})).s("gm_electric_bass_finger").gain(0.3)

// other · electric guitar clean · "Electric Guitar"
const electric_guitar_clean = note("<~@48 A@2 B C A@2 B C A@2 B C A@2 B C ~>".pickRestart({
  A: "c4@12 bb3 c4 eb4 f4", B: "g4 f4 eb4 g4", C: "c4",
})).s("gm_electric_guitar_clean").gain(0.3)

// drums · high tom
const high_tom = s("ht").struct(`<
  A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A
  B A B A B A
>`.pickRestart({
  A: "x!2 ~@6", B: "x!2 ~@2 x!2 ~@2",
})).gain(0.3)

stack(
  flute, clarinet, alto_sax, tenor_sax, baritone_sax, french_horn, french_horn_2, trombone, bass, bass_2,
  electric_guitar_clean, high_tom
)