Strudelify

Monsters Inc. - The Scare Floor

Randy Newman

KeyG majorTempo210 bpm
0:00/0:00
// Monsters Inc. - The Scare Floor — Randy Newman
// 210 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5946542; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 108 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(210/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 · "B♭ Clarinet"
const clarinet = note(`<
  A B C D C E F@2 G H I@2 J K L@2 G H I@2 J K L@2 M N O@2 P@2 Q R S T U@2 P@2 Q R G V I@2 J K L@2 G V I@2 J K L@2 S T
  U@2 P@2 Q R G V I@2 J K L@2 G V I@2 J K L@2 S T U@2 P@2 Q R ~@4 J K L@2 J K W X Y Z AA Z AA AB AC AD
>`.pickRestart({
  A: "c#4@2 ~@2 c#4@3 c#4", B: "~ c#4 ~@2 c#4!2 ~@2", C: "g4@2 ~@2 g4@3 g4", D: "~ e4 ~ g4 e4 ~@3",
  E: "~ g4 ~@2 a#4 g#4 a4 ~", F: "[c#5@2 ~@2 c#5@3 c#5@9]/2", G: "f4@4 g4@3 f4", H: "~ d4 ~@2 g4 f4 g4!2",
  I: "[~ f4@3 g4!2 ~ f4@4 ~ g4 a4 g4@2]/2", J: "~ a4@3 g4@4", K: "f4@3 d#4@5", L: "[d4@2 d4 f4@3 d4 c#4@2 ~@7]/2",
  M: "~ a#4 ~@3 a#4 ~@2", N: "g#4@3 g4@5", O: "[~ a#4@3 g#4@3 g4@5 ~@4]/2", P: "[~ a#4 ~@2 a#4@3 a#4@4 a4@5]/2",
  Q: "~ a#4@3 a#4@2 ~@2", R: "a4", S: "f4", T: "f4@3 e4@5", U: "[~ f4@3 f4@3 e4@5 ~@4]/2", V: "~ d4 ~@6",
  W: "d4@2 d4 f4@3 d4 c#4", X: "e4!2 a3 ~", Y: "a3@2 ~ a3@2 a3 ~@2", Z: "c#4!3 ~", AA: "c#4@2 ~ c#4@2 c#4 ~@2",
  AB: "d4@4 a3@3 d4", AC: "~ c#4@3", AD: "d4!2 ~@2",
})).s("gm_clarinet").gain(0.25)

// other · trumpet · "B♭ Trumpet"
const trumpet = note(`<
  ~@4 A B C@2 D E F@2 G H I@2 D E F@2 G H I@2 ~ J ~@2 K@2 L M N O P@2 K@2 L M D Q F@2 G H I@2 D Q F@2 G H I@2 N O P@2
  K@2 L M D Q F@2 G H I@2 D Q F@2 G H I@2 N O P@2 K@2 L M ~@4 G H I@2 G H R@2 S T U V W D X Y
>`.pickRestart({
  A: "e4@2 ~@2 e4@3 e4", B: "~ e4 ~@2 a#4 g#4 a4 ~", C: "[g4@2 ~@2 g4@3 a4@9]/2", D: "d5@4 c#5@3 d5",
  E: "~ a4 ~@2 g4 f4 g4 a4", F: "[~ d5@3 c#5 e5 ~ d5@4 ~@5]/2", G: "~ f5@3 e5@4", H: "d5@3 c5@5",
  I: "[a#4@3 a#4@4 a4@2 ~@7]/2", J: "a#3@3 a3@5", K: "[~ g#4 ~@2 g#4@3 g#4@4 g4@5]/2", L: "~ g#4@3 g#4@2 ~@2", M: "g4",
  N: "d4", O: "d4@3 c#4@5", P: "[~ d4@3 d4@3 c#4@5 ~@4]/2", Q: "~ a4 ~@6", R: "[a#4@3 a#4@4 a4@3 a4@2 e4@2 ~@2]/2",
  S: "e4@2 ~ e4@2 e4 ~@2", T: "a4!3 ~", U: "a4@2 ~ a4@2 a4 ~@2", V: "c#5!3 ~", W: "c#5@2 ~ c#5@2 c#5 e5@2", X: "~ a4@3",
  Y: "d5 ~@3",
})).s("gm_trumpet").gain(0.25)

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

// chords · piano
const piano = note(`<
  A B C D E F G@2 H I J@2 K L M@2 H I N@2 K L M@2 O P Q@2 R@2 S T U V W X R@2 S T H I J@2 K L M@2 H I N@2 K L M@2 U V W
  X R@2 S T H I J@2 K L M@2 H I N@2 K L M@2 U V W X R@2 S T Y Z AA@2 AB AC AD@2 K L AE@2 AF AG AH AI AJ AK AL AM
>`.pickRestart({
  A: "[a1,a2,c#3,g3,a3]@2 ~@2 [c#3,g3,a3]@3 [c#3,g3,a3], ~@2 [a1,a2] ~", // A7 A
  B: "~ [c#3,g3,a3] a2@2 [c#3,g3,a#3] [c#3,g3,a3] [a1,a2]@2, [a1,a2] ~ [a1,a2] ~", // A7 Gdim A7 A
  C: "[a1,a2,g3,a#3,c#4]@2 ~@2 [g3,a#3,c#4]@3 [g3,a#3,c#4], ~@2 [a1,a2] ~", // Gdim A
  D: "~ [a#3,e4] ~ [c#4,g4] [a1,a2]@2 [a1,a2]@2, [a1,a2]@2 a2@2 [a#3,e4] ~@3", // A#dim C#dim A A#dim
  E: "[a1,a2,g3,a#3,c#4,e4]@2 ~@2 [g3,a#3,c#4,e4]@3 [g3,a#3,c#4,e4], ~@2 [a1,a2] ~", // A7 Gdim A
  F: "~ [g3,a#3,c#4,e4] a2@2 [a#2,a#3] [g#2,g#3] [a2,a3]@2, [a1,a2] ~@3", // Gdim A# G# A
  G: "[[a1,a2,c#4,d#4,g4]@4 a2@4 [a1,a2]@4 ~@4 [a1,a2]@4 a2 a1 ~ a2!2 a1 ~ a2 a2@4, ~@8 [c#4,d#4,g4]@6 [c#4,e4,g4,a4]@17 ~, ~@3 a2 ~@4]/2", // A7 A D#7 A7
  H: "d2@2 d2@2 e2@2 ~ [f4,a4,d5], [f4,a4,d5]@4 [g4,a4,c#5]@3 ~, ~@3 e2", // Dm A7
  I: "~ [d4,f4,a4] f2@2 g4 f4 g4 [f4,a4], f2 ~ e2!2", // Dm F
  J: "[~@2 d2@2 [g4,a4,c#5] [g4,a4,e5] ~@2 f2@2 f2@2 g4 a4 [e2,g4,a#4]@2, d2 ~ e2!2 ~@2 e2 ~, ~@2 [f4,a4,d5]@5 ~@7 [f4,a4,d5]@8 ~@10]/2", // A7 Edim Dm
  K: "~ d2 e2!2, d2 ~@3, ~@2 [a4,b4,d5,f5]@5 ~ [g4,a4,c#5,e5]@8", // Bm7b5 A7
  L: "f2 ~ f#2!2, [f4,a4,d5]@6 [d#4,f#4,a4,c5]@9 ~, ~ f2 ~@2", // Dm D#dim
  M: "[[g2,d4,g4]@2 d4 ~ g#2@2 d4 c#4 a2@2 [a2,a3]@2 [a1,a2]@2 [a1,a2]@2, a#4@3 a#4@4 ~ c#4 ~@7, ~ g2 ~ g#2 ~@4, ~@6 f4@5 ~@3 [e4,g4,a4]@4 ~@14]/2", // G5 A A7
  N: "[~@2 d2@2 [g4,a4,c#5] [g4,a4,e5] ~@2 f2@2 f2@2 g4 a4 [e2,g4,a#4]@2, d2 ~ e2!2 ~@2 e2 ~, ~@2 [f4,a4,d5]@5 ~@7 [f4,a4,d5]@8 ~@2 a3@8]/2", // A7 Edim Dm
  O: "~ [a#3,d4,f4] g#2@2 ~ [a#3,d4,f4] g#2@2, g#1 ~ g#1 ~", // A#
  P: "g#1 ~ a1 a2, [g#3,a#3,d4,f4]@6 [g3,a3,c#4,e4]@9 ~, ~ g#2 ~@2", // A#7 A7
  Q: "[~ g#2 a#1 ~ a1 a2 a1 a2, g#1 ~@2 d2 ~@4, ~@2 [a#3,d4,f4]@5 ~ [g#3,d4,f4]@6 [g3,c#4,e4]@9 ~@9]/2", // A# Ddim C#dim
  R: "[~ [a#3,d4,f4,g#4] g#2@2 g#1@2 ~@2 g#1@2 ~@2 a1@2 a2@2, g#1@4 ~@4 [a#3,d4,f4,g#4]@6 [a#3,d4,f4,g#4]@8 [a3,c#4,e4,g4]@9 ~, ~@3 g#2 ~ g#2 ~@2]/2", // A#7 A7
  S: "~ g#2 [g#1,a#3,d4,f4,g#4] g#2, g#1 ~@3, ~@2 [a#3,d4,f4,g#4]@5 ~@9", T: "a1 a2 c#2 c#3, [a3,c#4,e4,g4]@15 ~",
  U: "g#2 g#1", V: "g#2 a1", W: "g#2 a#1", X: "a2 a1",
  Y: "~@2 d2@2 e1@2 ~ [f5,a5,d6], d1 ~@2 e2, ~@2 [f5,a5,d6]@5 ~ [g5,a5,c#6]@6 ~@2", // Dm A7
  Z: "~ [d5,f5,a5] f2@2 a6 f6 c#6 a5, f1 ~ e1 e2", // Dm
  AA: "[~@4 d2@4 [g5,a5,c#6]@2 [g5,a5,e6]@2 ~@4 f1@4 ~@2 a5@2 [e1,g5]@3 g#5 e2@4, d1 ~ e1 e2 ~ f2 ~@2, ~@2 [f5,a5,d6]@5 ~@7 [f5,a5,d6]@8 ~@6 a5@2 ~@2]/2", // A7 Em Dm
  AB: "~ d2 e1 e2, d1 ~@3, ~@2 [a4,b4,d5,f5]@5 ~ [g4,a4,c#5,e5]@8", // Bm7b5 A7
  AC: "f1 ~ f#1 f#2, [f4,a4,d5]@6 [d#4,f#4,a4,c5]@9 ~, ~ f2 ~@2", // Dm D#dim
  AD: "[[f#1,d4,g4]@2 d4 ~ g#1@2 d4 c#4 a2@2 [a2,a3]@2 [a1,a2]@2 [a1,a2]@2, a#4@3 a#4@4 ~ c#4 ~@7, ~ g2 ~ g#2 ~@4, ~@6 f4@5 ~@3 [e4,g4,a4]@4 ~@14]/2", // Gmaj7 A A7
  AE: "[[g2,d4,g4]@2 d4 ~ g#2@2 d4 ~ a2@2 [a2,c#4,e4,g4,a4]@2 [a2,g3,a3,c#4,e4]@2 a2@2, a#4@3 a#4@4 ~@9, ~ g2 ~ g#2 ~@4, ~@6 f4@5 ~@3 [c#4,e4,g4,a4]@5 ~@13]/2", // G5 A7
  AF: "[a2,g3,a3,c#4,e4]@2 ~@3 [g3,a3,c#4,e4] a2@2, ~ a2!2 ~, ~@3 [g3,a3,c#4,e4]@2 ~@3", AG: "[a2,c#4,e4,g4,a4]!3 a2",
  AH: "[a2,c#4,e4,g4,a4]@2 ~@3 [c#4,e4,g4,a4] a2@2, ~ a2!2 ~, ~@3 [c#4,e4,g4,a4]@2 ~@3", AI: "[a2,e4,g4,a4,c#5]!3 a2",
  AJ: "[a2,e4,g4,a4,c#5]@2 ~@3 c#5 [a2,e5]@2, ~ a2!2 ~, ~@3 [e4,g4,a4,c#5]@2 [e4,g4,a4]@2 ~", // A7 A5 A7
  AK: "d2 e2 f2@2 e2 f2 g2 [f2,f4,a4,d5], [f4,a4,d5]@4 [g4,a4,c#5]@3 ~", AL: "~ [a1,a2,c#4,e4,g4,a4]@3",
  AM: "[d2,d3,f4,a4,d5] [d1,d2] ~@2", // Dm D
})).s("gm_piano").gain(0.25)

stack(clarinet, trumpet, trombone, piano)

More by Randy Newman