Strudelify

buttercup

Jack Stauber

KeyD majorTempo125 bpm
0:00/0:00
// buttercup — Jack Stauber
// 125 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 8 "Tenor Saxophone" tenor sax (copy of ch 7 "Bass Clarinet" clarinet); ch 11 "Baritone Saxophone" baritone sax (copy of ch 9 "Bassoon" bassoon)
// note: Transcription provider: pdmx. https://musescore.com/score/5935382; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 69 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(125/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 · flute
const flute = note(`<
  A B C D ~@3 E F ~@2 G H I J K L M N O ~ P ~ Q R S T U V A B W X Y Z AA AB ~@3 R F ~@2 G H I J K L M N O ~ P ~ Q R S T
  U A B C AC A B C AD
>`.pickRestart({
  A: "b4@4 b4@4 b4 c#5 d5 e5 f#5 ~ b5 a5", B: "b5 ~ a5 ~ b5 ~ f#5@4 e5 ~ f#5@2 ~@2",
  C: "b4@4 b4@4 b4 c#5 d5 e5 f#5 ~ f#5 a5", D: "b5 ~ d5 ~ e5 ~ f#5@6 ~@4", E: "~@12 f#5@2 f#5 a5",
  F: "b5@8 b5 d6 b5 a5 b5@2 ~@2", G: "~@8 b5 d5 e5 f5 f#5 ~ d5 c#5", H: "b4@2 ~@2 b4@2 ~@2 b4 c#5 b4 a4 b4@2 f#4 a4",
  I: "b4!2 ~@2 b4@2 ~@2 b4 c#5 b4 a4 b4@2 f#4 a4", J: "b4!2 ~@2 b4@2 ~@2 b4 c#5 b4 a4 b4@2 e4!2",
  K: "f#4!2 ~@2 f#4 g#4 a#4 f#4 a#4 b4 c#5 a#4 c#5 d5 e5 f#5", L: "b5@2 ~@2 b5@2 ~@2 b5 c#6 b5 a5 b5@2 f#5 a5",
  M: "b5!2 ~@2 b5@2 ~@2 b5 c#6 b5 a5 b5@2 f#5!2", N: "e5 ~@2 e5 f#5 ~@2 f#5", O: "b5!2 ~@2 b5@4 b5 c#6 b5 a5 b5@2 ~@2",
  P: "b4@4 ~ f#5 a5 b5", Q: "~@8 f#5!4 e5@2 f#5@2", R: "~@10 b4 d5 f#5@2 f#5 a5", S: "b5@11 ~ b5 a5 b5 d6",
  T: "e6@15 ~", U: "d6@15 ~", V: "b4 a4 b4 c#5 d5 e5 f#5 a5 b5@2 ~@2 b5@2 ~@2", W: "b4@4 b4@4 b4 c#5 d5 e5 f#5 ~ g5 a5",
  X: "b5 ~ d5 ~ e5 ~ f#5@6 ~@2 b5!2", Y: "b5@2 f#6@2 f#6@2 ~ f#6", Z: "g6 a6 g6 f#6 f#6@2 c#6 d6",
  AA: "e6@2 e6@2 e6@2 c#6 d6", AB: "e6@2 e6 [e6,f#6] d6@2 c#6@2 b5@4 b6@2 ~@2",
  AC: "b5 ~ d5 ~ e5 ~ f#5@4 f#5 e5 d5@2 d5 c#5", AD: "b5 ~ d5 ~ e5 ~ f#5@6 f#5@2 ~@2",
})).s("gm_flute").gain(0.4)

// other · clarinet · "B♭ Clarinet"
const clarinet = note(`<
  A B C ~ A B C ~ A B A ~ A B C ~ A B A ~ D E@2 F D E@2 G@2 H@15 I A B C ~ A B A ~ D E@2 F D E@2 J K@8
>`.pickRestart({
  A: "b4 ~@3", B: "~@3 b4", C: "f#4 ~@3", D: "b4@2 b4@2 a4!2 a4@2", E: "[g#4!4 f#4 e4 d4@3 a4!3 g#4@2 g#4@2]/2",
  F: "f#4!2 e4 f#4@3 ~@2", G: "[f#4!2 e4 f#4@11 ~@2]/2", H: "b4@3 ~@3 b4@2 ~@2 b4@3 ~@3", I: "~ b4 ~ b4 ~@4",
  J: "f#4!2 e4 f#4@5", K: "b4 ~ b4 ~ b4 ~ b4 ~",
})).s("gm_clarinet").gain(0.3)

// other · clarinet · "B♭ Clarinet"
const clarinet_2 = note(`<
  A B C ~ A B C ~ A B A ~ A B C ~ A B A ~ D E@2 F D E@2 G@2 H@2 I@2 H@2 I@2 H@2 I@2 H@2 I J A B C ~ A B K ~ D E@2 F D
  E@2 L M@8
>`.pickRestart({
  A: "g4 ~@3", B: "~@3 g4", C: "d4 ~@3", D: "b4@2 b4@2 a4!2 a4@2", E: "[g#4!4 f#4 e4 d4@3 a4!3 g#4@2 g#4@2]/2",
  F: "f#4!2 e4 f#4@3 ~@2", G: "[f#4!2 e4 f#4@11 ~@2]/2", H: "g4@3 ~@3 g4@2 ~@2 g4@3 ~@3",
  I: "f#4@3 ~@3 f#4@2 ~@2 f#4@3 ~@3", J: "~ f#4 ~ f#4 ~@4", K: "f#4 ~@3", L: "f#4!2 e4 f#4@5", M: "g4 ~ g4 ~ g4 ~ g4 ~",
})).s("gm_clarinet").gain(0.3)

// other · clarinet · "B♭ Clarinet"
const clarinet_3 = note(`<
  A B C ~ A B C ~ A B A ~ A B C ~ A B A ~ D E@2 F D E@2 G@2 H@15 I A B C ~ A B A ~ D E@2 F D E@2 J K@8
>`.pickRestart({
  A: "d4 ~@3", B: "~@3 d4", C: "b3 ~@3", D: "b4@2 b4@2 a4!2 a4@2", E: "[g#4!4 f#4 e4 d4@3 a4!3 g#4@2 g#4@2]/2",
  F: "f#4!2 e4 f#4@3 ~@2", G: "[f#4!2 e4 f#4@11 ~@2]/2", H: "d4@3 ~@3 d4@2 ~@2 d4@3 ~@3", I: "~ d4 ~ d4 ~@4",
  J: "f#4!2 e4 f#4@5", K: "d4 ~ d4 ~ d4 ~ d4 ~",
})).s("gm_clarinet").gain(0.3)

// other · alto sax · "Alto Saxophone"
const alto_sax = note(`<
  A B A C D E ~ F G E ~@2 H I J K H I L M N O@2 P N O@2 Q@2 A B A R S T U V W X ~ F W X ~@2 H I J K H I L M N O@2 P N
  O@2 Y A B A Z A B A AA
>`.pickRestart({
  A: "b4@2 ~@2 b4@2 ~@2 b4 c#5 b4 a4 b4@2 f#4 a4", B: "b4!2 ~@2 b4@4 f#5!2 e5@2 c#5@2 f#5@2",
  C: "b4!2 ~@2 b4@4 f#5@4 ~@2 f#4@2", D: "f#4@2 ~ f#4 f#4@2 ~ f#4", E: "g4 a4 g4 f#4 f#4@2 c#5@2", F: "~@7 f#4",
  G: "f#4@2 ~@2 f#4@2 ~ f#4", H: "b4@3 c#5 d5@2 e5@2", I: "f#5 g5 f#5 e5 d5@2 b4@2", J: "c#5@2 c#5@2 c#5 b4 a#4 b4",
  K: "c#5 ~", L: "c#5@2 e5@2 d5@2 ~ c#5", M: "b4 ~@3", N: "b4@2 b4@2 a4!2 a4@2",
  O: "[g#4!4 f#4 e4 d4@3 a4!3 g#4@2 g#4@2]/2", P: "f#4!2 e4 f#4@3 ~@2", Q: "[f#4!2 e4 f#4@11 ~@2]/2",
  R: "b4!2 ~@2 b4@4 f#5@4 ~@2 b4!2", S: "b4@2 f#5@2 f#5@2 ~ f#5", T: "g5 a5 g5 f#5 f#5@2 c#5 d5",
  U: "e5@2 e5@2 e5@2 c#5 d5", V: "e5@2 e5 [e5,f#5] d5@2 c#5@2 b4@4 ~@2 f#4@2", W: "f#4!4 f#4@3 f#4",
  X: "g4 a4 g4 f#4 f#4@2 ~@2", Y: "f#4!2 e4 f#4@5", Z: "b4!2 ~@2 b4@4 f#5@4 ~@4", AA: "b4!2 ~@2 b4@4 f#5@4 f#5@2 ~@2",
})).s("gm_alto_sax").gain(0.4)

// other · clarinet · "Bass Clarinet"
const clarinet_4 = note(`<
  A B C D A B C D E F G H A I C D E F J K E B G@2 E B G L ~ E B G@2 E B G@2 E B G@2 E B G K A I C@2 E F J K E B G@2 E B
  G L E B G@2 E B G L
>`.pickRestart({
  A: "g3 ~ g3 ~", B: "g3@3 ~@3 g3@2 a3@4 b3@4", C: "f#3!2 ~@2 f#3@2 ~@2", D: "f#3 ~ f#3 ~", E: "g3@3 ~@3 g3@2 g3@4 ~@4",
  F: "g3 ~ a3 b3", G: "f#3!2 ~ f#3 f#3@2 ~@2", H: "f#3 ~@3", I: "g3@3 g3 a3@2 b3@2", J: "f#3!2 ~ f#3 g3@2 ~@2",
  K: "f#3 ~", L: "f#3!3 ~",
})).s("gm_clarinet").gain(0.25)

// other · bassoon
const bassoon = note(`<
  A B C D A B C D E F G H A I C D E F J K E B G@2 E B G L ~ E B G@2 E B G@2 E B G@2 E B G K A I C@2 E F J K E B G@2 E B
  G L E B G@2 E B G L
>`.pickRestart({
  A: "g2 ~ g2 ~", B: "g2@3 ~@3 g2@2 a2@4 b2@4", C: "f#2!2 ~@2 f#2@2 ~@2", D: "f#2 ~ f#2 ~", E: "g2@3 ~@3 g2@2 g2@4 ~@4",
  F: "g2 ~ a2 b2", G: "f#2!2 ~ f#2 f#2@2 ~@2", H: "f#2 ~@3", I: "g2@3 g2 a2@2 b2@2", J: "f#2!2 ~ f#2 g2@2 ~@2",
  K: "f#2 ~", L: "f#2!3 ~",
})).s("gm_bassoon").gain(0.25)

stack(flute, clarinet, clarinet_2, clarinet_3, alto_sax, clarinet_4, bassoon)

More by Jack Stauber