Strudelify
KeyF majorTempo100 bpm
0:00/0:00
// Greensleeves — ANONIMOadattamento per piccola bandadi Alberto Zamolo
// 100 bpm, 3/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 5 "1° Tromba (I)" trumpet (copy of ch 4 "1° Sax Alto (I)" alto sax); ch 8 "2° Sax Alto (II)" alto sax (copy of ch 7 "2° Clarinetto (II)" clarinet); ch 9 "2° Tromba (II)" trumpet (copy of ch 7 "2° Clarinetto (II)" clarinet); ch 12 "Flicorno Mi♭ (II)" french horn (copy of ch 7 "2° Clarinetto (II)" clarinet); ch 15 "Baritono CA (III)" brass section (copy of ch 14 "Sax Tenore (III)" tenor sax); ch 16 "Baritono CB (III)" brass section (copy of ch 14 "Sax Tenore (III)" tenor sax)
// note: Transcription provider: pdmx. https://musescore.com/score/5327941; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 76 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(100/3)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/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.

// chords · baritone sax · "Flauto/Ottavino (I)"
const baritone_sax = note(`<
  ~ A B C D E F G H I J K L M N O P Q J K L M R S T@2 U V L M N O P W X Y L M R S Z AA J K L M N O P Q J K L M R S T@2 U
  V L M N O P W X Y L M R S AB@4
>`.pickRestart({
  A: "d3", B: "c3", C: "f2", D: "bb2@4 [d5,d6] [e5,e6]", E: "[f5,f6]@11 ~ [e5,e6]@4 [g2,d5,d6]@8, d3@2 ~",
  F: "[db5,db6]@11 ~ [b4,b5]@4 [a2,db5,db6]@8, a2@2 ~", G: "~ g2@2, [d5,d6]@23 ~", H: "[d3,d5,d6]", I: "g2 f2 [e2,d5]",
  J: "[d3,f5]@2 [d3,g5]", K: "a5@3 bb5 [d3,a5]@2, d3@2 ~", L: "[c3,g5]@2 [c3,e5]", M: "c3@2 ~ d5 e5@2, c5 ~, ~ c3@2",
  N: "[bb2,f5]@2 [bb2,d5]", O: "bb2@2 ~ db5 d5@2, d5 ~, ~ bb2@2", P: "[a2,e5]@2 [a2,db5]", Q: "[a2,a4]@2 d5",
  R: "f5@3 e5 [bb2,d5]@2, bb2@2 ~", S: "db5@3 b4 [a2,db5]@2, a2@2 ~",
  T: "[d3 ~@3 d3 e3, d5@23 ~ d5@15 ~@9, ~ d3@3 ~@2]/2", U: "[f2,f3,c6]@2 [f2,f3,c6]",
  V: "c6@3 bb5 [f2,f3,a5]@2, [f2,f3]@2 ~", W: "a2@2 a2@2 a5 bb5, a5@15 ~ g2@8", X: "[f2,c6]@2 [f2,c6]",
  Y: "c6@3 bb5 [f2,a5]@2, f2@2 ~", Z: "g3 f3 e3, d5@23 ~", AA: "[d3,d5]@2 [e3,d5]", AB: "[[d3,d5]@2 [d3,d5]@3 ~]/4",
})).s("gm_baritone_sax").gain(0.3)

// chords · tuba · "1° Clarinetto (I)"
const tuba = note(`<
  ~ A B C D E F G H@2 I J K L M N O P I J K L Q R S@2 T U K L M N O V T U K L Q R W X I J K L M N O P I J K L Q R S@2 T
  U K L M N O V T U K L Q R Y@4
>`.pickRestart({
  A: "d2", B: "c2", C: "f2", D: "bb2@4 d5 e5", E: "f5@3 e5 [g2,d5]@2, d2@2 ~", F: "db5@3 b4 [a2,db5]@2, a2@2 ~",
  G: "~ g2@2, d5", H: "[d2@3 g2 f2 [e2,d4], d5@5 ~]/2", I: "[d2,d3,f4]@2 [d2,d3,g4]",
  J: "a4@3 bb4 [d2,d3,a4]@2, [d2,d3]@2 ~", K: "[c2,c3,g4]@2 [c2,c3,e4]", L: "[c2,c3]@2 ~ d4 e4@2, c4 ~, ~ [c2,c3]@2",
  M: "[bb2,f4]@2 [bb2,d4]", N: "bb2@2 ~ db4 d4@2, d4 ~, ~ bb2@2", O: "[a2,e4]@2 [a2,db4]", P: "[a2,a3]@2 d4",
  Q: "f4@3 e4 [bb2,d4]@2, bb2@2 ~", R: "db4@3 b3 [a2,db4]@2, a2@2 ~", S: "[d2 ~@3 d2 e2, d4@3 d4@2 ~, ~ d2@3 ~@2]/2",
  T: "[f2,c5]@2 [f2,c5]", U: "c5@3 bb4 [f2,a4]@2, f2@2 ~", V: "a2@2 a2@2 a4 bb4, a4@2 g2", W: "g2 f2 e2, d4",
  X: "[d2,d4]@2 [e2,d4]", Y: "[[d2,d4]@2 [d2,d4]@3 ~]/4",
})).s("gm_tuba").gain(0.3)

// chords · tuba · "Sax Soprano (I)"
const tuba_2 = note(`<
  ~ A B C D E F G H@2 I J K L M N O P I J K L Q R S@2 T U K L M N O V T U K L Q R W X I J K L M N O P I J K L Q R S@2 T
  U K L M N O V T U K L Q R Y@4
>`.pickRestart({
  A: "d2", B: "c2", C: "f2", D: "bb1@4 d5 e5", E: "f5@3 e5 [g2,d5]@2, d2@2 ~", F: "db5@3 b4 [a2,db5]@2, a2@2 ~",
  G: "~ [g1,g2]@2, d5", H: "[d2@3 g2 f2 [e2,d4], d5@5 ~]/2", I: "[d2,f4]@2 [d2,g4]", J: "a4@3 bb4 [d2,a4]@2, d2@2 ~",
  K: "[c2,g4]@2 [c2,e4]", L: "c2@2 ~ d4 e4@2, c4 ~, ~ c2@2", M: "[bb1,f4]@2 [bb1,d4]",
  N: "bb1@2 ~ db4 d4@2, d4 ~, ~ bb1@2", O: "[a1,e4]@2 [a1,db4]", P: "[a1,a3,a4]@2 d4", Q: "f4@3 e4 [bb1,d4]@2, bb1@2 ~",
  R: "db4@3 b3 [a1,db4]@2, a1@2 ~", S: "[d2 ~@3 d2 e2, d4@3 d4@2 ~, ~ d2@3 ~@2]/2", T: "[f2,c5]@2 [f2,c5]",
  U: "c5@3 bb4 [f2,a4]@2, f2@2 ~", V: "a1@2 [a1,a2]@2 a4 bb4, a4@2 [g1,g2]", W: "g2 f2 e2, d4", X: "[d2,d4]@2 [e2,d4]",
  Y: "[[d2,d4]@2 [d2,d4]@3 ~]/4", // D
})).s("gm_tuba").gain(0.3)

// other · alto sax · "1° Sax Alto (I)"
const alto_sax = note(`<
  ~@4 A B C D E@2 F G H I J K L M F G H I B C D N O P H I J K L Q O P H I B C D R F G H I J K L M F G H I B C D N O P H
  I J K L Q O P H I B C S@4
>`.pickRestart({
  A: "~@4 d4 e4", B: "f4@3 e4 d4@2", C: "db4@3 b3 db4@2", D: "d4", E: "[d4@5 d4]/2", F: "f4@2 g4", G: "a4@3 bb4 a4@2",
  H: "g4@2 e4", I: "c4@3 d4 e4@2", J: "f4@2 d4", K: "d4@3 db4 d4@2", L: "e4@2 db4", M: "a3@2 d4", N: "d4@2 ~",
  O: "c5@2 c5", P: "c5@3 bb4 a4@2", Q: "a4@4 a4 bb4", R: "d4@2 d4", S: "[d4@2 d4@3 ~]/4",
})).s("gm_alto_sax").gain(0.3)

// other · clarinet · "2° Clarinetto (II)"
const clarinet = note(`<
  ~@2 A B C D E F G@2 ~@16 H I J K L M N O I@2 J K P Q@2 R ~@16 H I J K L M N O I@2 J K P S@5
>`.pickRestart({
  A: "~@4 a4 b4", B: "c5@3 b4 a4@2", C: "d5@4 d5 e5", D: "f5@3 e5 d5@2", E: "db5@3 b4 db5@2", F: "d5", G: "[d5@5 ~]/2",
  H: "f4 f4@2", I: "f4", J: "e4@2 e4 d4 c4@2", K: "c4@3 d4 e4@2", L: "d4@2 d4", M: "d4@3 db4 d4@2", N: "db4@2 db4",
  O: "e4", P: "d4@3 e4 d4@2", Q: "[db4@3 b3 a3@8]/2", R: "a3@2 ~", S: "[db4@3 b3 a3@10 a3@12 ~@4]/5",
})).s("gm_clarinet").gain(0.3)

// other · clarinet · "2° Clarinetto (II)" · soft notes
const clarinet_soft = note(`<
  ~@10 A B C D E F G H A B C D I J@2 K ~@16 A B C D E F G H A B C D I J@2 K ~@18
>`.pickRestart({
  A: "d4@2 e4", B: "f4@3 g4 f4@2", C: "e4@2 e4 d4 c4@2", D: "c4@3 d4 e4@2", E: "d4@2 d4", F: "d4@3 db4 d4@2",
  G: "db4@2 db4", H: "e4@2 ~", I: "d4@3 e4 d4@2", J: "[db4@3 b3 a3@8]/2", K: "a3@2 ~",
})).s("gm_clarinet").gain(0.2)

// other · trombone · "Trombone (II)"
const trombone = note(`<
  ~@2 A B C D E F G@2 ~@16 H I J K L M N O I@2 J K P Q@2 R ~@16 H I J K L M N O I@2 J K P S@5
>`.pickRestart({
  A: "~@4 a3 b3", B: "c4@3 b3 a3@2", C: "d4@4 d4 e4", D: "f4@3 e4 d4@2", E: "db4@3 b3 db4@2", F: "d4", G: "[d4@5 ~]/2",
  H: "f3 f3@2", I: "f3", J: "e3@2 e3 d3 c3@2", K: "c3@3 d3 e3@2", L: "d3@2 d3", M: "d3@3 db3 d3@2", N: "db3@2 db3",
  O: "e3", P: "d3@3 e3 d3@2", Q: "[db3@3 b2 a2@8]/2", R: "a2@2 ~", S: "[db3@3 b2 a2@10 a2@12 ~@4]/5",
})).s("gm_trombone").gain(0.3)

// other · trombone · "Trombone (II)" · soft notes
const trombone_soft = note(`<
  ~@10 A B C D E F G H A B C D I J@2 K ~@16 A B C D E F G H A B C D I J@2 K ~@18
>`.pickRestart({
  A: "d3@2 e3", B: "f3@3 g3 f3@2", C: "e3@2 e3 d3 c3@2", D: "c3@3 d3 e3@2", E: "d3@2 d3", F: "d3@3 db3 d3@2",
  G: "db3@2 db3", H: "e3@2 ~", I: "d3@3 e3 d3@2", J: "[db3@3 b2 a2@8]/2", K: "a2@2 ~",
})).s("gm_trombone").gain(0.2)

stack(baritone_sax, tuba, tuba_2, alto_sax, clarinet, clarinet_soft, trombone, trombone_soft)