Strudelify

Pixar

Andrea Motas

KeyD majorTempo112 bpm
0:00/0:00
// Pixar — Andrea Motas
// 112 bpm, 3/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Transcription provider: pdmx. https://musescore.com/score/5161150; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 97 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(112/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.

// other · violin
const violin = note(`<
  A@2 B A C@2 D E F G H I C J K L F M N O P Q R S T U V W@2 X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AN AP@2
  ~@3 AQ@3 AR AS@4 AT@3 ~@7 AU AV AW@2 AX AY@2 AZ BA@2 BB@2 BC BD BE@8 BF@4
>`.pickRestart({
  A: "f#4!24", B: "a4!24", C: "~ d4@2", D: "~ b3 d4", E: "a3 c#4 e4", F: "~ b3 c4", G: "~@2 c#4 b3 a3@2",
  H: "~ a3 c#4 e4 a4@2", I: "~ f#4 a4", J: "~ c#4@2", K: "~@2 a3 c4 f#4@2", L: "e4 d#4@2", M: "~@2 e4 d4 c#4@2",
  N: "~ f#4!2 a4 c#5@2", O: "d#5 f#4@2", P: "~@2 e4 d4 c#4 b3", Q: "a3@2 ~", R: "~@4 a4 d5", S: "f#5 e5 d5",
  T: "f#5 d5 a5", U: "f#5@4 a4 a5", V: "f#5@4 e5 d5", W: "f#5@2 e5@3 d5", X: "a4", Y: "a5@2 e5@3 d5", Z: "a5 c#5@2",
  AA: "f#4@2 a4@2 c#5@4 e5@3 c#5", AB: "d5@2 ~", AC: "a3@19 c#4@2 b3@3", AD: "c#4@8 a3@11 b3@2 c#4@3",
  AE: "c4@2 a3@3 e4", AF: "d#4@2 d#4", AG: "g3", AH: "a3@8 ~@2 f#4 b4", AI: "c#5@2 c#5@3 a4",
  AJ: "b4@2 a4 g4 f#4@4 ~@4", AK: "d5@2 b4@3 g4", AL: "e4@4 f#4 f4", AM: "f#4", AN: "~ f#4@2", AO: "~@2 a3 d4 f#4 a4",
  AP: "a4/2", AQ: "[~@10 f5@2 ~ a5@2 f5@2 ~ e5@20 ~@2 f5@2 a5@2 ~ e5@2 d5@5 ~@3 d5@2 f5@2 ~ d5@2 c5@10]/3",
  AR: "~@3 d5@2 a5@5 g5@5 ~@3 d5@2 a5@4",
  AS: "[~ g5@5 e5 f5@4 d5@20 ~@3 f5@2 g5@2 ~ f5@2 e5@20 ~@2 e5@2 ~ g5@2 e5@2 ~ c5@5 ~@2 c5@2 ~ e5@2 c5@2 ~ a#4@5 ~@2 a#4@2 ~]/4",
  AT: "[c5@2 a#4@2 ~@16 f4@15 c4@25 ~@12]/3", AU: "~@6 e4@2 ~ g4@2 e4@2 ~ c4@2 e4@2 ~@3 c4@2 ~",
  AV: "e4@2 c4@2 ~ a#3@2 c4@2 ~@3 e4@2 ~ g4@2 e4@2 ~ c4@2 e4@2",
  AW: "[~@3 g4@2 ~ a#4@2 g4@2 e4@2 ~ g4@2 ~@3 f4@2 a4@2 ~ f4@2 c4@2 ~ f4@2 ~@3 c4@2 f4@2 ~ c4@2 a3@2 ~ c4@2 ~@3]/2",
  AX: "f4@2 a4@2 ~ f4@2 c4@2 ~ f4@2 ~@3 d4@2 f#4@2 ~ d4@2 a3@2",
  AY: "[~ d4@2 ~@5 c#4@2 ~ d4@2 d#4@2 ~ e4@2 f4@2 ~ f#4@2 g4@2 ~ g#4@2 a4@2 ~ a#4@2 a#4@2 ~ a4@2 g#4@2 ~ g4@2 f#4@2 ~ f4@2]/2",
  AZ: "e4@2 d#4@2 ~ d4@2 c#4@2 ~ c4@2 b3@2 ~ e4@5 g4@2 ~@2", BA: "[~@4 d4@2 e4@5 a#3@5 b3@5 c4@15 ~@12]/2",
  BB: "[~@8 a#3 c4 ~@3 e4 f4 ~@8 f4@2 e4@2 ~ f4@2 a4@2 ~@6 c4@4 f4@5 ~]/2", BC: "~@2 a3@2 c4@2 ~ f#4@2 a4@2 ~@8 b4@5",
  BD: "g4@2 ~@8 d4@2 ~ b3@2 g4@2 ~@7",
  BE: "[~ e4 f4 ~@3 c4 d4 ~@3 b3@10 d4@5 e4@15 d4@15 c4@15 a#3@15 c5@30 e5@20 ~@2 f5@2 ~ a5@2 f5@2 ~ e5@15 ~@5 c5@4 c5@5 ~@5 a#4@5 a#4@5 ~@2]/8",
  BF: "[~@3 a4@5 a4@5 a4@69 ~@14]/4",
})).s("gm_violin").gain(0.3)

// other · pizzicato strings
const pizzicato_strings = note("<~@63 A B C@2 D E F G ~@26>".pickRestart({
  A: "~@11 a4", B: "~@2 c5@2 ~@8 f4@2 ~@3 a4@2 ~@5",
  C: "[~@3 a4@2 ~@3 c5@2 ~@8 f#4@2 ~@3 a4@2 ~@8 d5@2 ~@3 g5@2 ~@8]/2", D: "b4@2 ~@3 d5@2 ~@8 d5@2 ~@3 g5@2 ~@2",
  E: "~@6 b4@2 ~@3 d5@2 ~@3 e5@2 ~@6", F: "~@7 d5@2 ~@13 c5@2", G: "~@13 a#4@2 ~@9",
})).s("gm_pizzicato_strings").gain(0.3)

// other · viola
const viola = note(`<
  A B C D E@2 F G F H I J E@2 K L M N I O P Q R S T U V W X Y X Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AN ~ AP ~
  AQ AR@6 AS ~@2 AT@3 ~@6 AU@8 AV@2 ~ AW AX AY AZ@2 BA@3 BB BC BD@6
>`.pickRestart({
  A: "f#3!24, a3@5 ~", B: "f#3!20 [f#3,d4] [f#3,c#4] f#3 [f#3,b3], b3@2 ~@2 d4 ~", C: "a3!24, c#4@3 c#4 e4 f#4",
  D: "f#3!24, b3", E: "~ f#3@2", F: "~ g3@2", G: "c#4 b3 a3 g3 f#3@2", H: "~ a3 g3", I: "~ f#3 a3 c#4 e4@2",
  J: "f#3 a3 d4@2 c#4@2", K: "~ c4@2", L: "~ f#3 a3 b3 d#4@2", M: "~ g3 e4", N: "~@2 a3 c#4 e4@2", O: "d#4@3 e4 f#4@2",
  P: "~ g3 a3 b3 c#4@2", Q: "~ g3 a3 c#4 e4@2", R: "~ a3 d4 f#4@3", S: "~ f#3 a3@2 d4@2", T: "~ e3 a3@2 d4 f#3",
  U: "e3 f#3 g3 a3 b3 c#4", V: "~ b3 c#4", W: "d4 e4 f#4", X: "g3 a3 b3", Y: "c#4 d4 e4", Z: "c#4@3 d4 e4@2",
  AA: "a3@3 b3 c#4@2", AB: "d4@4 a3 a4", AC: "f#4@19 e4@2 d4@3", AD: "f#4@8 e4@11 f#4@2 g4@3", AE: "a4@2 f#4@3 a4",
  AF: "b4", AG: "a4@2 e4@3 d4", AH: "a3@2 c#4@3 ~", AI: "e4@2 e4@3 f#4", AJ: "d#4@8 ~ d#4 e4 f#4", AK: "g4@2 d4@3 b3",
  AL: "c#4@2 c#4", AM: "d4", AN: "~ b3@2", AO: "~ d4@2", AP: "f#3", AQ: "~@2 f4@5 e4",
  AR: "[e4@2 e4 ~@4 e4 ~@4 f4@15 e4@3 e4@2 e4 ~@4 e4 ~@4 f4@15 e4@14 d4@15 c4@15 g3@15 a3@15 b3@13]/6",
  AS: "~@2 g3@15 ~@7", AT: "[~@10 a3@5 a#3@5 c4@7 d4@2 ~ e4@5 ~@5 c4@5 d4@5 e4@10 ~@12]/3",
  AU: "[~@13 a#3@2 c4@2 ~ d4@2 e4@2 ~ g4@2 a4@2 ~ c5@12 a#4 a4 ~ g4@13 a4@2 a#4@5 a4@2 ~@6 g4@2 d5@5 a4@4 g4@5 a4@12 ~ g4 f#4 f4@13 ~@2 a4@5 g4@2 ~@8 a4@5 f#4@5 d4@5 b3@5 a4@10 g4@5 d4@5 f4@5 g4@12 ~ f4 e4, ~@116 f4@2 ~@13 f4@2 ~@59]/8",
  AV: "[d4@5 [g3,c4]@5 ~@6]/2", AW: "~@8 a3@10 ~@5 a#3", AX: "c4 ~@3 g3 a3 ~@8 c4@10", AY: "~@4 a3@10 ~@5 g4@5",
  AZ: "[d4@2 ~@8 d4@10 f3@2 ~ e3@2 f3@2 ~ g3@2 a3@2 ~ a#3@2 ~@5 b3@8]/2",
  BA: "[~@7 g3@10 ~@5 f3@10 ~@5 e3@25 ~@5 a3@5]/3", BB: "a#3@5 c4@7 d4@2 ~ e4@5 ~@4", BC: "~ c4@5 d4@5 e4@5 ~@8",
  BD: "[~@7 c5@5 c5@5 ~@5 a4@4 a4@5 ~@5 f4@5 f4@5 e4@5 ~@3 f4@2 a4@2 ~ f4@2 e4@69 ~@14]/6",
})).s("gm_viola").gain(0.3)

// other · pizzicato strings
const pizzicato_strings_2 = note("<~@63 A B C@2 D E F ~@9 G@2 ~@16>".pickRestart({
  A: "~@11 f4", B: "~@2 f4@2 ~@8 c4@2 ~@3 c4@2 ~@5",
  C: "[~@3 f4@2 ~@3 f4@2 ~@8 c4@2 ~@3 f#4@2 ~@8 f4@2 ~@3 b4@2 ~@8]/2", D: "d4@2 ~@3 f4@2 ~@8 f4@2 ~@3 b4@2 ~@2",
  E: "~@6 d4@2 ~@3 f4@2 ~@3 c5@2 ~@6", F: "~@7 a#4@2 ~@13 g4@2", G: "[~@7 [e4,g#4]@5 ~@4]/2",
})).s("gm_pizzicato_strings").gain(0.3)

// other · cello
const cello = note(`<
  A B C B D E F G F H I E J G K E L M N O P F D E H Q D R S T U V W X J G K E L M Y Z P F AA AB AA AB ~ D ~ AC@2 AD@5
  AE@5 AF ~@7 AG AH AI AJ@2 AK@2 AL@2 ~ AM@5 ~@2 AN@3 AO@6
>`.pickRestart({
  A: "d3!24", B: "b2!24", C: "f#2!24", D: "d2", E: "b2", F: "e2", G: "c#3", H: "a2", I: "f#2", J: "d3", K: "c3",
  L: "e2 b2 c3", M: "c#3@2 a2", N: "f#3", O: "d#3 f#3 b3", P: "g2", Q: "b2@2 a2", R: "d3 e3 f#3", S: "e3 f#3 g3",
  T: "a3 b3 c#4", U: "e2 f#2 g2", V: "a2@3 b2 c#3@2", W: "f#2@3 g2 a2@2", X: "b2@2 ~", Y: "f#2@2 c#3", Z: "d#3 f#3 b2",
  AA: "a2 f#3 d4@4", AB: "b2 f#3 d4@4", AC: "[~@6 f3@5 ~@10 c3@5 ~@10 d3@5 ~@7]/2",
  AD: "[~@3 c3@5 d3@5 e3@5 f3@15 c3@14 d3@15 c3@15 b2@15 d3@15 b2@13]/5",
  AE: "[~@2 d3@15 c3@15 g2@15 c3@15 e3@15 f2@30 g2@13]/5", AF: "~ c3@5 ~@6", AG: "~@4 c3@5 ~@10 g2@5",
  AH: "~@10 c2@5 ~@9", AI: "~ g2@5 ~@9 f2@5 ~@4", AJ: "[~@6 c3@5 ~@10 f2@5 ~@10 d2@5 ~@7]/2",
  AK: "[~@3 b2@5 a3@10 g3@5 d3@5 f3@5 g3@12 ~ f3 e3]/2", AL: "[d3@5 e3@5 ~@6]/2",
  AM: "[~@3 f3@15 c3@15 d3@14 c3@15 b2@15 g2@15 b2@15 d3@13]/5", AN: "[~@14 f2@30 g2@15 c2@5 ~@8]/3",
  AO: "[~@2 f4@15 e4@14 d4@15 c4@15 c4@30 f2@39 ~@14]/6",
})).s("gm_cello").gain(0.3)

// other · pizzicato strings
const pizzicato_strings_3 = note("<~@63 A@5 B C D ~@8 E@2 ~@16>".pickRestart({
  A: "[~@17 f2@14 c3@15 d3@15 c3@15 b2@15 g3@15 b2@14]/5", B: "~ d3@15 e3@2 ~@6", C: "~@7 d3@2 ~@13 c3@2",
  D: "~@13 a#2@2 ~@9", E: "[~@7 c3@5 ~@4]/2",
})).s("gm_pizzicato_strings").gain(0.3)

stack(violin, pizzicato_strings, viola, pizzicato_strings_2, cello, pizzicato_strings_3)

More by Andrea Motas