Strudelify

O Grande Dia Está Chegando Sopro e Cordas

extrarweldo

KeyD majorTempo85 bpm
0:00/0:00
// O Grande Dia Está Chegando Sopro e Cordas — extrarweldo
// 85 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (2/4 at bar 1, 4/4 at bar 1) are rendered on a constant 4/4 grid of one bar per cycle
// note: ch 2 "Clarinete em Bb" named as a reed, played on clarinet (its pizzicato strings patch is not one); ch 3 "Alto Saxophone" named as a reed, played on alto sax (its tremolo strings patch is not one); ch 4 "Tenor Saxophone" named as a reed, played on tenor sax (its violin patch is not one)
// note: duplicate parts dropped: ch 3 "Alto Saxophone" alto sax (copy of ch 2 "Clarinete em Bb" clarinet); ch 5 "Trompa em F" pizzicato strings (copy of ch 2 "Clarinete em Bb" clarinet)
// note: Transcription provider: pdmx. https://musescore.com/score/6022424; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 101 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(85/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.

// chords · cello · "Flauta"
const cello = note(`<
  A@3 B@5 C@2 D E F G D H@7 I J K@3 L M N@7 O P Q R S T U V W ~ D E F G D H@7 I J K@3 L M N@7 O P Q R S T U V W X Y@4
  Z@2 O P Q R S T U V AA@2 U V AB
>`.pickRestart({
  A: "[~@8 d3!8 d3!4 ~@2 d3!4 ~@2 d3!4 e3!4 ~@2 e3!4 ~@2 e3!4, ~@12 a4@2 d5@13 ~ a4@2 e5@13 ~ d5@2 e5@2]/3",
  B: "[[f#3,f#5]@3 [a3,a5]@4 [b3,b5]@5 b5!2 a5 ~ a3!2 ~@2 f#5 g5 a5 ~ a2@2 a2@2 a2@2 a2@2 a2@8, ~@15 a5@4 a3@3 a3@2 ~@16, ~@23 e5@16 ~]/5", // F# A B
  C: "[d3, d5@15 ~@17]/2", D: "f#3 e3 f#3 g3@3 d4@2", E: "a3", F: "f#4 d4", G: "b3 g3",
  H: "[a3@8 a3@2 a3@2 ~@2 d3@8 f#3@8 g3@10 b3@2 c#4@2 d4@2 ~@2 b4@2 c#5@2 d5@2 ~@2 b3@2 c#4@2 d4@2 ~@2 b4@2 c#5@2 d5@2 ~@2 a2@2 b2@2 c#3@2 ~@2 d5@3 ~@3 [f#3,c#5]@8 g3@10 b3@8, ~@23 d4@5 ~@3 e4@5 ~@3 d3@4 ~@13, ~@54 d5@9 ~@7 e5@9 ~@15 b4@16 ~@2]/7", // F#5
  I: "g5@3 ~ g3 f#3 e3 [d3,g5], e3 ~, ~@3 e5@4 ~", J: "c#5@3 ~@4 c#5, a2 c#3, ~@3 e5@4 ~",
  K: "[f#3@2 f#3@2 f#3@2 [a3,a5]@6 a3@2 ~@10 g2@8 g2@8 g3@4 a3 ~ a3 ~, f#5@6 ~@6 d6@4 b5@23 ~@9, ~@7 g3@5 ~@12]/3", // A
  L: "[a2,d6]@3 ~@3 d6@2 d6@2 d6@2 a5@2 a5@2, ~@3 c#6@3 ~@10, ~ d3 f#3 d3", M: "d5@6 d5!2 c#5@6 c#5!2, a2",
  N: "[a2@2 c#3@2 e3@2 c#3@2 [e3,a5]@2 [a3,a5]@2 a5@2 ~@2 g3@8 g3@2 g3@2 g5@2 a3@4 a3@6 ~@4 a5@2 ~@2 d3@4 e3@4 ~@2 c#6@2 c#6@2 ~@2 g3@2 f#3@2 g3@2 a3@2 g3@2 g3@2 g3@2 ~@2 e5 f#5@2 g5@2 a5@2 b5@2 ~@6 d6 c#6@8 [c#3,a#5]@8, c#6@4 ~@2 c#4@2 ~@12 a3@4 ~@4 f#3@4 ~@7 e3@6 e3!2 f#3@5 ~@4, ~@14 g5@13 ~@3 a5@13 ~@3 c#6@11 ~@5 c#6@4 b5@6 g5@8 ~@9 c#6@2 d6@2 e6@2 ~@17]/7", // A5 A F#
  O: "b2!2, b5@15 ~", P: "e6@4 b5@4 d#6@6 c#6 c6, b2!2",
  Q: "b5!4 ~ b5 ~@2 b3@2 g3@2 b3@2 g3@2, b3 g3 b3 g3 ~@4, ~@7 b5@9",
  R: "c#6!4 ~ c#6 ~@2 c#4@2 a3@2 c#4@2 a3@2, c#4 a3 c#4 a3 ~@4, ~@7 c#6@9",
  S: "[d3,d5] [f#3,f#5] [a3,a5] [c#4,c#6] [d4,d6]@2 [a3,a5]@2", T: "[b3,b5] [g3,g5]",
  U: "[d3,d5] [e3,e5] [g3,g5] [b3,b5]", V: "c#5 a#4@2 e5@2 a#5@2 ~@2 e6 c#6@6, a#3@7 c#6@2 ~@7, ~ f#3",
  W: "b2 b2@2 b2 b2@4, b5@15 ~", X: "e6@4 b5@4 d#6@6 c#6 c6, b3!2",
  Y: "[g3@4 g3!2 g5 a3@2 a3@3 ~@2 a5 ~ d3@2 e3@2 ~ c#6!2 ~ g3 f#3 g3 a3 g3!3 e3, g5@11 ~@3 a5@13 ~@3 c#6@11 ~@5 c#6@4 b5@6 g5@8, ~@3 a3 ~ f#3 ~@2]/4",
  Z: "[e5 f#5@2 g5@2 a5@2 b5@2 ~@6 d6 c#6@8 [c#3,a#5]@8, e3@9 c#6@2 d6@2 e6@2 ~@17, ~@5 e3!2 f#3@5 ~@4]/2", // F#
  AA: "[b2 b2@2 b2 b2@4 ~@8, b5@23 ~@9]/2", AB: "[b3,b5] [a3,b5] [f#3,b5] [d3,b5] d3 [b2,b5] a2 f#2 b2@8, ~@7 b5@9",
})).s("gm_cello").gain(0.4)

// other · clarinet · "Clarinete em Bb"
const clarinet = note(`<
  ~ A B C@5 D ~@9 E F G@2 H I J K@2 L M N@4 O P Q R S T U V W X Y R ~@9 E F G@2 H I J K@2 L M N@4 O P Q R S T U V W X Z
  R S AA@2 AB@2 P Q R S T U V W X Z K@2 X Z T
>`.pickRestart({
  A: "d4@3 f#4@3 a4@10", B: "c#4@3 e4@3 a4@10", C: "[f#4@3 a4@4 g4@5 b4!2 a4 a4@5 f#4 g4 a4 e4@17]/5", D: "d4",
  E: "b4 c#5 d5 d5@5", F: "b4 c#5 d5 e5@5", G: "[d5@3 ~@3 c#5@7 ~ b4@17 ~]/2", H: "g4@3 e4@4 g4", I: "a4@3 c#5@4 a4",
  J: "f#4@3 a4@3 d5@2", K: "[b4@3 ~]/2", L: "d5@3 c#5@3 d5@2 d5@2 d5@2 a4@2 a4@2", M: "d5@6 d5!2 c#5@6 c#5!2",
  N: "[c#5@4 a4!3 g4@7 g4 a4@7 a4 c#5@6 c#5!3]/4", O: "c#5 b4@3 g4@4", P: "e4 f#4@2 g4@2 a4@2 b4@2 c#5@2 d5@2 e5@2 d5",
  Q: "c#5 a#4", R: "b4", S: "e5@4 b4@4 d#5@6 c#5 c5", T: "b4!4 ~ b4 ~ b4@9", U: "c#5!4 ~ c#5 ~ c#5@9",
  V: "d4 f#4 a4 c#5 d5@2 a4@2", W: "b4 g4", X: "d4 e4 g4 b4", Y: "c#5 a#4@2 e4@2 a#4@2 c#5!2 e5 c#5@6",
  Z: "c#5 a#4@2 e4@2 a#4@2 c#5@2 e5 c#5@6", AA: "[g4@6 g4 a4@7 a4 c#5]/2", AB: "[c#5@5 c#5!2 c#5@2 b4@3 g4@4]/2",
})).s("gm_clarinet").gain(0.4)

// chords · tenor sax · "Tenor Saxophone"
const tenor_sax = note(`<
  A B C D@5 E@2 F G H I J K@3 L@5 M N@2 O P Q R@7 S T U V W X Y Z AA ~ F G H I J K@3 L@5 M N@2 O P Q R@7 S T U V W X Y Z
  AA T AB@6 S T U V W X Y AC AD@2 Y AC AE
>`.pickRestart({
  A: "~@8 d4!8", B: "d4!3 f#3@3 d4!4 ~@2 d4!4, d3@3 d4 ~@2 a3@10", C: "e4!3 e3@3 e4!4 ~@2 e4!4, c#3@3 e4 ~@2 a3@2 a3@8",
  D: "[[f#3,f#4]@3 [a3,a4]@4 [d3,b4]@5 b3!2 a3 ~ a4!2 ~@2 f#3 g3 a3 ~ d5@2 d5@2 d5@2 d5@2 a4@4 e4@4, ~@15 a3@5 ~@3 e3@17, ~@19 a4@3 a4@2 ~@16]/5", // F# A G
  E: "[d4, d3 ~]/2", F: "f#4 e4 f#4 g4@3 b4@2", G: "a4 c#5", H: "f#5 e5 d5 c#5@3 a4@2", I: "g4", J: "g4 b4",
  K: "[a4@4 a4!2 ~ f#4@4 e4@4 b3@5 b3 c#4 d4!2]/3",
  L: "[b2@2 c#3@2 d3@2 ~@2 b3@2 c#4@2 d4@2 ~@2 b2@2 c#3@2 d3@2 ~@2 a4@2 b4@2 c#5@2 ~@2 d3@3 ~@3 [f#3,d5]@8 b4@10 b4@2 c#5@2 d5@2 ~@2 g3@6 ~@8 g3@2, d4@4 ~@3 e4@5 ~@3 d5@4 ~@12 d5@5 e5@4, ~@6 d3@10 ~@6 e3@10 ~@14 d3@17 ~@7 e3@8 ~@2]/5", // D
  M: "a5 e5 d5 c#4 ~@3 a3, a3@3 a4@3 e4@2, ~@4 c#4@3 ~",
  N: "[f#4@2 f#4@2 f#4@2 [a3,a4]@6 a4@2 ~@10 g4 [e4,f#4] f#4 [d4,e4] e4 [c#4,d4] d4 [b3,c#4], f#3@6 ~@6 d4@4 b3@15 ~, ~@7 g4@5 ~@4]/2", // A Esus2 Dsus2 Dmaj7 Bsus2
  O: "g3@8 g4@4 a4 ~ a4 ~", P: "d4@2 c#4!2 [c#4,d4]@2 [d4,f#4]@2 [d4,a4]@2 [d4,f#4]@2 [a3,d4]@2 [a3,c#4]@2",
  Q: "[d4,e4] [c#4,d4] d4 [e4,f#4] g4 [e4,f#4] [d4,f#4] [d4,g4,a4] b4 [g4,a4] a4 [b4,c#5] d5 [b4,c#5] [c#4,c#5] [c#4,d5,e5], ~@4 c#4@3 ~", // Dsus2 Dmaj7 Esus2 D Dsus4 Gsus2 Bsus2 C# …
  R: "[f#5 [d5,e5] e5 [f#5,g5] a5 [f#5,g5] g5 [a5,b5] a3@2 a3@2 a3@2 ~@2 g5@8 d5@2 d5@2 g3@2 d5@4 c#5@6 c#5@2 c#5@2 [a3,c#5]@2 c#4@12 c#4@2 c#4@2 ~@4 b3@6 g4@2 g4@2 f#4@2 ~@2 e3 f#3@2 g3@2 a3@2 b3@2 ~@6 d4 c#4@8 [a#3,c#5]@8, c#4@4 c#6@2 a5@2 ~@15 c#5@7 c#5@2 d5@4 ~@3 g4@6 b4!2 a#4@5 ~@4, ~@14 g3@14 ~@2 a3@14 ~@18 c#4@4 ~@6 g3@8 ~@9 c#4@2 d4@2 e4@2 ~@17]/7", // Dsus2 Gmaj7 Asus2 A A#m
  S: "b4!2, b3", T: "e4@4 b3@4 d#4@6 c#4 c4, b4!2", U: "b3!4 ~ b3 ~@2 d5@2 b4@2 d5@2 b4@2, d5 b4 d5 b4 ~@4, ~@7 b3@9",
  V: "c#4!4 ~ c#4 ~@2 c#5@2 a4@2 c#5@2 a4@2, c#5 a4 c#5 a4 ~@4, ~@7 c#4@9",
  W: "[d3,d4] [f#3,f#4] [a3,a4] [c#4,c#5] [d4,d5]@2 [a3,a4]@2", X: "[b3,b4] [g3,g4]",
  Y: "[d3,d4] [e3,e4] [g3,g4] [b3,b4]", Z: "c#4 a#3@2 e3@2 a#3@2 c#4!2 e4 c#4@6, a#4 f#4", AA: "b3 b3@2 b3 b3@4, f#3",
  AB: "[g5@8 d5@2 d5@2 g3@2 d5@4 c#5@6 c#5@2 c#5@2 [a3,c#5]@2 c#4@12 c#4@2 c#4@2 ~@4 b3@6 g4@2 g4@2 f#4@2 ~@2 e3 f#3@2 g3@2 a3@2 b3@2 ~@6 d4 c#4@8 [a#3,c#5]@8, g3@6 ~ a3@7 ~ c#5@7 c#5@2 d5@4 ~@3 g4@6 b4!2 a#4@5 ~@4, ~@46 c#4@4 ~@6 g3@8 ~@9 c#4@2 d4@2 e4@2 ~@17]/6", // A A#m
  AC: "c#4 a#3@2 e3@2 a#3@2 ~@2 e4 c#4@6, a#4@7 c#4@2 ~@7, ~ f#4", AD: "[b3 b3@2 b3 b3@4 ~@8, f#3@3 ~]/2",
  AE: "[b3,b4] [b3,a4] [b3,f#4] [b3,d4] d4 b3 a3 ~ b4@8, ~@7 b3@9", // B B7 B5 Bm
})).s("gm_tenor_sax").gain(0.4)

// other · tremolo strings · "Trompete em Bb"
const tremolo_strings = note(`<
  A@3 B@5 C ~@9 D E F@2 G H I J@2 K L M@5 N O P Q R S T U V W X ~@9 D E F@2 G H I J@2 K L M@5 N O P Q R S T U V W X Q Y
  Z@3 N O P Q R S T U V W AA@2 V W R
>`.pickRestart({
  A: "[~@6 a4 d5@7 a4 e5@7 d4 e4]/3", B: "[f#4@3 a4@4 d4@5 b4!2 a4 a4@5 f#4 g4 a4 e4@17]/5", C: "d4",
  D: "g4!2 ~@4 g4!2 ~@8", E: "a4!2 ~@4 a4!2 ~@8", F: "[d4@3 ~@3 f#4@7 ~ b4@17 ~]/2", G: "g4@3 e4@4 g4",
  H: "a4@3 c#5@4 a4", I: "f#4@3 a4@3 d5@2", J: "[b4@3 ~]/2", K: "d5@3 c#5@3 d5@2 d5@2 d5@2 a4@2 a4@2",
  L: "d5@6 d5!2 c#5@6 c#5!2", M: "[e5@4 a4!3 g4@7 g4 a4@7 a4 c#5@6 c#5!2 c#5@2 b4@3 g4@4]/5",
  N: "e4 f#4@2 g4@2 a4@2 b4@2 c#5@2 d5@2 e5@2 d5", O: "c#5 a#4", P: "b4", Q: "e5@4 b4@4 d#5@6 c#5 c5",
  R: "b4!4 ~ b4 ~ b4@9", S: "c#5!4 ~ c#5 ~ c#5@9", T: "d4 f#4 a4 c#5 d5@2 a4@2", U: "b4 g4", V: "d4 e4 g4 b4",
  W: "c#5 a#4@2 e4@2 a#4@2 c#5@2 e5 c#5@6", X: "d5", Y: "g4@6 g4 a4", Z: "[a4@6 a4 c#5@6 c#5!2 c#5@2 b4@3 g4@4]/3",
  AA: "[d5@3 ~]/2",
})).s("gm_tremolo_strings").gain(0.4)

// other · trombone
const trombone = note(`<
  A@3 B@5 C ~@9 D E F@2 G H I J@2 K L M@5 N O P Q R S T U V W P ~@9 D E F@2 G H I J@2 K L M@5 N O P Q R S T U V W P Q
  X@4 N O P Q R S T U V W J@2 V W R
>`.pickRestart({
  A: "[~@6 a3 d4@7 a3 e4@7 d3 e3]/3", B: "[f#3@3 a3@4 g3@5 b3!2 a3 a3@5 f#3 g3 a3 e3@17]/5", C: "d3",
  D: "g3!2 ~@4 g3!2 ~@8", E: "a3!2 ~@4 a3!2 ~@8", F: "[d3@3 ~@3 f#3@7 ~ d3@17 ~]/2", G: "g3@3 e3@4 g3",
  H: "a3@3 c#4@4 a3", I: "f#3@3 a3@3 d4@2", J: "[b3@3 ~]/2", K: "d4@3 c#4@3 d4@2 d4@2 d4@2 a3@2 a3@2",
  L: "d4@6 d4!2 c#4@6 c#4!2", M: "[a3@4 a3!3 g3@7 g3 a3@7 a3 c#4@6 c#4!2 c#4@2 b3@3 g3@4]/5",
  N: "e3 f#3@2 g3@2 a3@2 b3@2 c#4@2 d4@2 e4@2 d4", O: "c#4 a#3", P: "b3", Q: "e4@4 b3@4 d#4@6 c#4 c4",
  R: "b3!4 ~ b3 ~ b3@9", S: "c#4!4 ~ c#4 ~ c#4@9", T: "d3 f#3 a3 c#4 d4@2 a3@2", U: "b3 g3", V: "d3 e3 g3 b3",
  W: "c#4 a#3@2 e3@2 a#3@2 c#4@2 e4 c#4@6", X: "[g3@6 g3 a3@7 a3 c#4@6 c#4!2 c#4@2 b3@3 g3@4]/4",
})).s("gm_trombone").gain(0.25)

// other · viola
const viola = note(`<
  A B C D@2 E F G H@2 I J K L I M@7 N O P@2 Q R S T U@2 V W@3 X@2 Y Z AA AB AC AD AE ~ I J K L I M@7 N O P@2 Q R S T U@2
  V W@3 X@2 Y Z AA AB AC AD AE X U@2 V W@3 X@2 Y Z AA AB AC AD AE ~ AC AD AF
>`.pickRestart({
  A: "~@8 d4!8", B: "d4!4 ~@2 d4!4 ~@2 d4!4", C: "e4!4 ~@2 e4!4 ~@2 e4!4", D: "[f#4@3 a4@4 b4@5 ~@4]/2",
  E: "a4!2 ~ a4@3 a4@2", F: "a3!4", G: "e4 c#4", H: "a3/2", I: "f#3 e3 f#3 g3@3 d4@2", J: "a4", K: "f#4 d4", L: "b3 g3",
  M: "[a4@4 a4!2 ~ d4@4 f#4@4 g4@5 b4 c#5 d5 d5@5 b3 c#4 d4 e4@5 a3 b3 c#4 d4@4 e4@4 g4@5 e4@4]/7",
  N: "e4@4 g4 f#4 e4 d4", O: "c#4 a3",
  P: "[f#4@2 f#4@2 f#4@2 a4@6 a4@2 g4@10 g4 [e4,f#4] f#4 [d4,e4] e4 [c#4,d4] d4 [b3,c#4]]/2", Q: "g3@8 g3@4 a3 ~ a3 ~",
  R: "a3 d4 f#4 d4",
  S: "e4 [c#4,d4] d4 [e4,f#4] g4 [e4,f#4] f#4 [g4,a4] b4 [g4,a4] a4 [b4,c#5] d5 [b4,c#5] c#5 [d5,e5]", // Dmaj7 Esus2 Gsus2 Bsus2 Dsus2
  T: "f#4 [d4,e4] e4 [f#4,g4] a4 [f#4,g4] g4 [a4,b4] c#5@4 a4@4", U: "[d4@4 d4!2 ~ e4@2 e4@3 e4@4]/2", V: "d4 e4 f#4@2",
  W: "[g4 f#4 g4 a4 g4!3 e4@6 d4!2 c#4@5 a#3@4]/3", X: "b3!2", Y: "d4 b3 d4 b3 d4 b3 d4 b3",
  Z: "e4 a3 e4 a3 e4 a3 e4 a3", AA: "d4 f#4 a4 c#5 d5@2 a4@2", AB: "b4 g4", AC: "d4 e4 g4 b4", AD: "c#5 f#4",
  AE: "b3 b3@2 b3 b3@4", AF: "b4 a4 f#4 d4!2 b3 a3 f#3 b4@8",
})).s("gm_viola").gain(0.4)

stack(cello, clarinet, tenor_sax, tremolo_strings, trombone, viola)

More by extrarweldo