Strudelify

Palladio

Les Claxophones

KeyG majorTempo90 bpm
0:00/0:00
// Palladio — Les Claxophones
// 90 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5101541; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 82 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(90/4)

// 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.

// other · clarinet · "Clarinette en Si♭"
const clarinet = note(`<
  A@2 B C D E F G F H I J K L M N M O P Q P R S G F H T U V W X Y Z AA ~@7 AB AC@2 AD AE AF AG AH AI AJ D C D E F G F H
  I J K L M N M O D C D E F G F H AK AL AM AN AO@2 AP
>`.pickRestart({
  A: "d4 ~@3 d4 ~@3", B: "d4 f4 e4 f4 a3 ~@2 f4 g4 f4 g4 ~@5", C: "~ g4 f4 g4 a#3 ~@2 g4 f4 e4 f4 ~@5",
  D: "~ f4 e4 f4 a3 ~@2 f4 g4 f4 g4 ~@5", E: "~ g4 f4 g4 e4 a#4 a4 g4 f4 e4 d4 ~@5",
  F: "~ f5 e5 f5 a4 ~@2 f5 g5 f5 g5 ~@5", G: "~ g5 f5 g5 a#4 ~@2 g5 f5 e5 f5 ~@5",
  H: "~ g5 f5 g5 e5 a#5 a5 g5 f5 e5 d5 ~@5", I: "~ f5 e5 f5 ~ f5 e5 f5 ~ e5 d5 e5 ~ e5 d5 e5",
  J: "~ d5 c#5 d5 ~ d5 c#5 d5 c#5 d5 e5 c#5 d5 a4 f4 d4", K: "~ f5 e5 f5 a4 f5 e5 f5 g4 e5 d5 e5 g4 e5 d5 e5",
  L: "f4 d5 c#5 d5 f4 d5 c#5 d5 f4 d5 c#5 d5 f4 d5 c#5 d5", M: "c#5!2 b4 c#5 d5!2 c#5 d5 e5!2 d5 e5 f5!2 e5 d5",
  N: "c#5!2 a4 [b4,c#5] d5!2 b4 [c#5,d5] e5!2 c#5 [d5,e5] f5!2 e5 d5", O: "~@4 c#5!4 c#5@4 ~@4",
  P: "d4 ~ d4 ~ d4 ~ d4 ~ d4 ~ d4 ~ d4 ~ d4 ~", Q: "d4 ~ d4 ~ d4 ~ d4 ~ d4 ~ d4 ~ d4 ~ c#4 ~",
  R: "d4 ~ d4 ~ d4 ~ d4 ~ d4 ~ d4 ~ d4 ~ d4 [f4,a4]", S: "[c5,d5] f5 e5 f5 a4 ~@2 f5 g5 f5 g5 ~@5", T: "c4 a#3",
  U: "c4 d4", V: "g4", W: "f4", X: "e4", Y: "d4", Z: "c#4 d4@2 c#4", AA: "a#3!8 a3!8", AB: "f3!4 g3!4 e3!8",
  AC: "~ f5 e5 f5 a4@2 ~@3 f5 e5 f5 a4@2 ~@2", AD: "~ f5 e5 f5 a4@2 ~@3 f5 e5 f5 a4 f4 e4 f4", AE: "a3 f5 e5 f5 d5@12",
  AF: "~ d#5 d5 d#5 c5@12", AG: "~ d5 c5 d5 a#4@12", AH: "~ c5 a#4 c5 a4@12", AI: "~ a#4 a4 a#4 g4@12",
  AJ: "e5 c#5!2 a#4 c#5 a#4!2 g4 a#4 g4!2 e4 g4 e4!2 c#4", AK: "~@2 f5!6 f#5!8", AL: "g5!8 a5!8", AM: "b5!8 c#6!8",
  AN: "d6!8 e6!8", AO: "d6 a5 f#5 a5 d5 a5 f#5 a5 d6 a5 f#5 a5 d5 a5 f#5 a5", AP: "d6",
})).s("gm_clarinet").gain(0.3)

// other · clarinet · "Clarinette en Si♭" · soft notes
const clarinet_soft = note("<~@17 A ~@16 B C D C E F G ~@25 A ~@8 H ~@6>".pickRestart({
  A: "c#5!4 ~@12", B: "a4!4 g4!4", C: "a4!4 a#4!4", D: "a#4!4 c5!4", E: "g4!4 a4!4", F: "f4!4 g4!4",
  G: "g4!2 f4!2 e4!2 g4!2", H: "f5!2 ~@14",
})).s("gm_clarinet").gain(0.2)

// other · alto sax · "Saxophone Alto"
const alto_sax = note(`<
  ~@2 A B A C D@4 E F G H I J I K A B A C D@4 L M N O P Q@2 R S T U V W X@2 Y Z AA AB AC@5 AD A B A C D@4 E F G H I J I
  K A B A C D@4 AE AF AG AH AI@2 AJ
>`.pickRestart({
  A: "~ a4 g4 a4 f4 ~@2 a4 a#4 a4 a#4 ~@5", B: "~ a#4 a4 a#4 g4 ~@2 a#4 a4 g4 a4 ~@5",
  C: "~ a#4 a4 a#4 g4 d5 c5 a#4 a4 g4 f4 ~@5", D: "d4!16", E: "~ a4 g4 a4 ~ a4 g4 a4 ~ g4 f4 g4 ~ g4 f4 g4",
  F: "~ f4 e4 f4 ~ f4 e4 f4 e4 f4 g4 e4 a4 f4 d4 a3", G: "~ a4 g4 a4 f4 a4 g4 a4 e4 g4 f4 g4 c#4 g4 f4 g4",
  H: "d4 f4 e4 f4 d4 f4 e4 f4 d4 f4 e4 f4 d4 f4 e4 f4", I: "e4!2 d4 e4 f4!2 e4 f4 g4!2 f4 g4 a4!2 g4 f4",
  J: "e4!2 c#4 [d4,e4] f4!2 d4 [e4,f4] g4!2 e4 [f4,g4] a4!2 g4 f4", K: "e4!8 e4@4 ~@4",
  L: "~ f#4 e4 f#4 d4@2 f#4@2 g4 f#4 g4@6", M: "~ a4 g4 a4 f#4@2 a4@2 a#4 a4 a#4@6", N: "~ a#4 a4 a#4 d4@2 a#4@2 c5@8",
  O: "~ a4 g4 a4 c4@2 a4@2 a#4@8", P: "~ g4 f4 g4 a#3@2 g4@2 a4@8", Q: "[~ f4 e4 f4 a3@2 f4@2 g4@12 f4@4 e4@8]/2",
  R: "d4!4 d#4!4 d4!4 c#4!4", S: "~ f#5 e5 f#5 d5@2 f#5@2 g5 f#5 g5@6", T: "~ a5 g5 a5 f#5@2 a5@2 a#5 a5 a#5@6",
  U: "~ a#5 a5 a#5 d5@2 [d5,e5] [f5,g5,a5] c6@8, ~@8 a#5 ~@7", // Dsus2 F
  V: "~ a5 g5 a5 c5@2 [c5,d5] [e5,f5,g5] a#5@8, ~@8 a5 ~@7", W: "~ g5 f5 g5 a#4@2 [a#4,c5] [d5,e5,f5] a5@8, ~@8 g5 ~@7",
  X: "[~ f5 e5 f5 a4@2 [a4,a#4] [c5,d5,e5] g5@12 f5@4 e5@8, ~@8 f5 ~@23]/2", Y: "d5!4 d#5!4 d5!4 c#5!4",
  Z: "f3@2 ~@3 f4 e4 f4 a3@2 ~@3 f4 e4 f4", AA: "a3@2 ~@3 f4 e4 f4 a3@2 ~@3 f4 e4 f4",
  AB: "a3@2 ~@3 f4 e4 f4 a3 f4 e4 f4 a4 f4 e4!2", AC: "d4 ~ d4 ~ d4 ~ d4 ~ d4 ~ d4 ~ d4 ~ d4 ~", AD: "a3!16",
  AE: "a3!8 d#4!8", AF: "e4!8 f#4!8", AG: "g4!8 f#4!8", AH: "b4!8 a4!8",
  AI: "f#4 d4 a3 d4 f#3 d4 a3 d4 f#4 d4 a3 d4 f#3 d4 a3 d4", AJ: "a4",
})).s("gm_alto_sax").gain(0.3)

stack(clarinet, clarinet_soft, alto_sax)