Strudelify

IL BATTAGLIERO

RP

KeyG majorTempo180 bpm
0:00/0:00
// IL BATTAGLIERO — RP
// 180 bpm, 3/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5854997; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 274 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(180/3)

// 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 · trombone
const trombone = note(`<
  ~@10 A@6 B@4 A@2 B@3 C D A@11 B@2 E F A@6 B@4 A@2 B@3 C D A@11 B@2 E F G H I J K L M N A@4 B@2 O@2 B@5 O@3 A@2 O@2 B P
  Q R G H I J K L M N A@4 B@2 O@2 B@5 O@3 A@2 O@2 B P Q R S@6 T@4 O@4 S@2 U V W X Y Z AA@2 T@2 S@2 O@2 AB AC S@6 T@4 O@4
  S@2 U V W X Y Z AA@2 T@2 S@2 O@2 AB ~ A@4 AD AE AF A@3 T@2 A AD AG AH O@2 S@2 O@2 S@2 O@2 S@2 O@2 S ~ A@4 AD AE AF A@3
  T@2 A AD AG AH O@2 S@2 O@2 S@2 O@2 S@2 O@2 S O S O AI AJ AK AL AM@2
>`.pickRestart({
  A: "~@5 d4@3 ~@3 d4@3 ~@2", B: "~@5 e4@3 ~@3 e4@3 ~@2", C: "a3@3 ~@2 g3@3 ~@3 f3@3 ~@2",
  D: "d4@3 ~@2 d4@3 ~@3 d4@3 ~@2", E: "a3@3 ~@2 f3@3 ~@3 e3@3 ~@2", F: "d3@3 ~@13", G: "c3@3 d3@2 e3@3 f3@3 g3@2 a3@3",
  H: "a#3@5 a#3@3 a3@3 g3@5", I: "a#3@3 a3@2 g3@5 ~ a3@5", J: "a#3", K: "c3@3 d3@2 e3@3 f3@3 g3@2 g#3@3",
  L: "a3@5 a3@3 g3@3 f3@5", M: "a3@3 g3@2 f3@5 ~ g3@5", N: "a3", O: "~@5 c4@3 ~@3 c4@3 ~@2",
  P: "c4@3 ~@2 d4@3 ~@3 e4@3 ~@2", Q: "f4@3 ~@2 c4@3 ~@3 c4@3 ~@2", R: "f4@3 ~@13", S: "~@5 f4@3 ~@3 f4@3 ~@2",
  T: "~@5 g4@3 ~@3 g4@3 ~@2", U: "a#3@5 a3@5 ~ g3@5", V: "f3@5 g3@5 ~ a3@5", W: "g3", X: "d3", Y: "d3@5 f#3@5 ~ a3@5",
  Z: "c4@5 a#3@5 ~ a3@5", AA: "g3/2", AB: "a#3@3 ~@2 c4@3 ~@3 d4@3 ~@2", AC: "a#3@3 ~@13", AD: "~@5 a3@3 ~@3 a3@3 ~@2",
  AE: "~@5 a3@3 ~@3 a#3@3 ~@2", AF: "a3@3 ~@2 d4@3 ~@3 d4@3 ~@2", AG: "g3@3 ~@8 d3@3 ~@2", AH: "g3@3 ~@13",
  AI: "a#3@5 f3@5 ~ d3@5", AJ: "a#2@5 d3@5 ~ f3@5", AK: "a#3@5 ~@10 f3", AL: "f3@5 ~@10 a#3", AM: "[a#3@21 ~@11]/2",
})).s("gm_trombone").gain(0.2)

// other · trombone
const trombone_2 = note(`<
  ~@10 A@6 B@4 A@2 B@3 C D A@5 E@4 A@2 B@2 F G A@6 B@4 A@2 B@3 C D A@5 E@4 A@2 B@2 F G H@5 A I B A@4 H@2 A@2 J K L M N O
  P Q E@2 A@2 H R S T H@5 A I B A@4 H@2 A@2 J K L M N O P Q E@2 A@2 H R S T I@6 U@2 V W M X Y Z AA@2 I@4 AB@2 E@2 U@2
  I@2 A@2 AC AD I@6 U@2 V W M X Y Z AA@2 I@4 AB@2 E@2 U@2 I@2 A@2 AC ~ E@4 AE AF AG E AH@2 U@2 E AE AI AJ A@2 I@2 A@2
  I@2 A@2 I@2 A@2 I ~ E@4 AE AF AG E AH@2 U@2 E AE AI AJ A@2 I@2 A@2 I@2 A@2 I@2 A@2 I A I A AK AL AM AN AO@2
>`.pickRestart({
  A: "~@5 a3@3 ~@3 a3@3 ~@2", B: "~@5 c#4@3 ~@3 c#4@3 ~@2", C: "a3@3 ~@2 g3@3 ~@3 f3@3 ~@2",
  D: "a3@3 ~@2 a3@3 ~@3 a3@3 ~@2", E: "~@5 a#3@3 ~@3 a#3@3 ~@2", F: "a3@3 ~@2 f3@3 ~@3 e3@3 ~@2", G: "d3@3 ~@13",
  H: "~@5 c4@3 ~@3 c4@3 ~@2", I: "~@5 d4@3 ~@3 d4@3 ~@2", J: "c3@3 d3@2 e3@3 f3@3 g3@2 a3@3",
  K: "a#3@5 a#3@3 a3@3 g3@5", L: "a#3@3 a3@2 g3@5 ~ a3@5", M: "a#3", N: "c3@3 d3@2 e3@3 f3@3 g3@2 g#3@3",
  O: "a3@5 a3@3 g3@3 f3@5", P: "a3@3 g3@2 f3@5 ~ a3@5", Q: "c4", R: "c4@3 ~@2 d4@3 ~@3 e4@3 ~@2",
  S: "f4@3 ~@2 a3@3 ~@3 a3@3 ~@2", T: "f4@3 ~@13", U: "~@5 d#4@3 ~@3 d#4@3 ~@2", V: "g4@5 c4@5 ~ d4@5",
  W: "d#4@5 d4@5 ~ c4@5", X: "a3", Y: "d#4@5 c4@5 ~ d4@5", Z: "d#4@5 f4@5 ~ g4@5", AA: "f4/2",
  AB: "~@5 f4@3 ~@3 f4@3 ~@2", AC: "a#3@3 ~@2 c4@3 ~@3 d4@3 ~@2", AD: "a#3@3 ~@13", AE: "~@5 f#3@3 ~@3 f#3@3 ~@2",
  AF: "~@5 a3@3 ~@3 a#3@3 ~@2", AG: "a3@3 ~@2 a#3@3 ~@3 a#3@3 ~@2", AH: "~@5 b3@3 ~@3 b3@3 ~@2",
  AI: "g3@3 ~@8 d3@3 ~@2", AJ: "g3@3 ~@13", AK: "a#3@5 f3@5 ~ d3@5", AL: "a#2@5 d3@5 ~ f3@5", AM: "a#3@5 ~@10 f3",
  AN: "f3@5 ~@10 a#3", AO: "[a#3@21 ~@11]/2",
})).s("gm_trombone").gain(0.2)

// other · trombone
const trombone_3 = note(`<
  ~@10 A@6 B@4 A@2 B@3 C D A@4 E F@4 A@2 B@2 G H A@6 B@4 A@2 B@3 C D A@4 E F@4 A@2 B@2 G H F@5 A I B A@4 F@2 A@2 F@5 A@3
  F@2 A@2 F J K L F@5 A I B A@4 F@2 A@2 F@5 A@3 F@2 A@2 F J K L M N O P M N Q@2 R@2 A@4 I@6 S@2 F@2 R@2 I@2 A@2 T U M N
  O P M N Q@2 R@2 A@4 I@6 S@2 F@2 R@2 I@2 A@2 T ~ F@4 V W X F@3 R@2 F V Y Z A@2 I@2 A@2 I@2 A@2 I@2 A@2 I ~ F@4 V W X
  F@3 R@2 F V Y Z A@2 I@2 A@2 I@2 A@2 I@2 A@2 I A I A AA AB AC AD AE@2
>`.pickRestart({
  A: "~@5 f3@3 ~@3 f3@3 ~@2", B: "~@5 a3@3 ~@3 a3@3 ~@2", C: "a3@3 ~@2 g3@3 ~@3 f3@3 ~@2",
  D: "f3@3 ~@2 f3@3 ~@3 f3@3 ~@2", E: "~@5 f#3@3 ~@3 f#3@3 ~@2", F: "~@5 g3@3 ~@3 g3@3 ~@2",
  G: "a3@3 ~@2 f3@3 ~@3 e3@3 ~@2", H: "d3@3 ~@13", I: "~@5 a#3@3 ~@3 a#3@3 ~@2", J: "c4@3 ~@2 d4@3 ~@3 e4@3 ~@2",
  K: "f4@3 ~@2 f3@3 ~@3 f3@3 ~@2", L: "f4@3 ~@13", M: "a#3@5 a3@5 ~ g3@5", N: "f3@5 g3@5 ~ a3@5", O: "g3", P: "d3",
  Q: "g3/2", R: "~@5 c4@3 ~@3 c4@3 ~@2", S: "~@5 d4@3 ~@3 d4@3 ~@2", T: "a#3@3 ~@2 c4@3 ~@3 d4@3 ~@2", U: "a#3@3 ~@13",
  V: "~@5 d3@3 ~@3 d3@3 ~@2", W: "~@5 a3@3 ~@3 a#3@3 ~@2", X: "a3@3 ~@2 g3@3 ~@3 g3@3 ~@2", Y: "g3@3 ~@8 d3@3 ~@2",
  Z: "g3@3 ~@13", AA: "a#3@5 f3@5 ~ d3@5", AB: "a#2@5 d3@5 ~ f3@5", AC: "a#3@5 ~@10 f3", AD: "f3@5 ~@10 a#3",
  AE: "[a#3@21 ~@11]/2",
})).s("gm_trombone").gain(0.2)

// bass · tuba
const bass = note(`<
  ~@9 A B@6 C@4 B@2 C@3 D B@6 E@4 B@2 C@2 F B@7 C@4 B@2 C@3 D B@6 E@4 B@2 C@2 F B G@5 H I C B@4 G@2 H@2 G@5 H@3 E@2 H@2
  G J H@2 G@5 H I C B@4 G@2 H@2 G@5 H@3 E@2 H@2 G J H@2 K@6 G@4 H@4 K@6 B@2 E@2 G@2 K@2 H@2 L@2 K@6 G@4 H@4 K@6 B@2 E@2
  G@2 K@2 H@2 L K E@4 B M E@4 G@2 E B N O H@2 K@2 H@2 K@2 H@2 K@2 H@2 K@2 E@4 B M E@4 G@2 E B N O H@2 K@2 H@2 K@2 H@2
  K@2 H@2 K H K H K H P Q R@2
>`.pickRestart({
  A: "~@5 a2@4 b1@3 c#2@4", B: "d2@5 ~@11", C: "a2@5 ~@11", D: "a2@5 g2@5 ~ f2@5", E: "g2@5 ~@11",
  F: "a2@5 f2@5 ~ e2@5", G: "c2@5 ~@11", H: "f2@5 ~@11", I: "a#2@5 ~@11", J: "c2@5 d2@5 ~ e2@5", K: "a#1@5 ~@11",
  L: "a#1@5 c2@5 ~ d2@5", M: "d2@5 a2@3 ~@3 a#2@3 ~@2", N: "g2@5 ~@6 d2@3 ~@2", O: "g2@3 ~@13", P: "a#1@5 ~@10 f2",
  Q: "f2@5 ~@10 a#1", R: "[a#1@21 ~@11]/2",
})).s("gm_tuba").gain(0.25)

stack(trombone, trombone_2, trombone_3, bass)

More by RP