Strudelify

Scooby Doo Theme Medley

Alex Finch

KeyG majorTempo162 bpm
0:00/0:00
// Scooby Doo Theme Medley — Alex Finch
// 162 bpm, 4/4, key G 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/5842593; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 60 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(162/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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 · alto sax · "Alto Saxophone"
const alto_sax = note(`<
  A@2 B C@2 D E@2 F@2 G H I@3 J@5 K L M@2 N L O@2 K L M@2 N L P@3 Q R S@2 Q R T@2 U V@2 W U X@2 Y U Z@2 W U AA@2
>`.pickRestart({
  A: "[~@19 a4@4 a4@3 g4@4 g4@4 f4@7 ~@7]/2", B: "g4@4 a#4@7 d4@7 ~@6", C: "[~ d4@4 c4@7 c4@4 a4@10 a4@4 g4@7 f4@11]/2",
  D: "~@7 a4@2 a4@2 g4", E: "[~ g4@4 f4@7 ~@7 g4@4 a#4@7 d4@7 ~@7 d4@4]/2",
  F: "[c4@7 c4@4 a4@11 a4@3 g4@7 f4@11 ~@5]/2", G: "~@10 a4@3 a4@4 g4@3 g4@4", H: "f4@7 ~@7 g4@4 a#4@6",
  I: "[~ d4@7 ~@8 d4@3 c4@7 c4@4 a4@11 a4@3 g4@7 ~ f4@11 ~@9]/3",
  J: "[~@5 a4@3 a4@4 g4@4 g4@3 f4@7 ~@8 g4@3 a4@7 a#4@7 ~@8 d4@3 c4@7 ~ c4@3 a4@11 a4@4 g4@7 f4@11 ~@14]/5",
  K: "~@4 d#4 f4 d#4 f4", L: "c#4@2 ~ c#4 d#4 f4 d#4 c#4", M: "[c4@2 ~@2 c#4 d#4 ~ f4@3 f4@2 d#4 c#4 ~ d#4]/2",
  N: "a#3@2 ~ c#4 d#4 f4 d#4 f4", O: "[c4@2 ~@2 d#4 f4 d#4 f4@2 ~ c#4@6]/2",
  P: "[c4@2 ~@2 d#4 f4 d#4 f4@2 ~ c#4@8 ~@6]/3", Q: "~@4 c4!2 ~ c4", R: "~@4 c4 d#4 ~ f#4",
  S: "[~@2 f#4 ~ f#4!2 ~ f4@2 ~@7]/2", T: "[~@2 f#4 ~ f#4!2 ~ g#4@4 ~ d#5 f5 d#5 f5]/2",
  U: "c#5@2 ~ c#5 d#5 f5 d#5 c#5", V: "[c5@4 c#5 d#5 ~ f5@3 f5@2 d#5 c#5 ~ d#5]/2", W: "a#4@2 ~ c#5 d#5 f5 d#5 f5",
  X: "[c5@2 ~@2 d#5 f5 d#5 f5@2 ~ c#5@6]/2", Y: "~@4 d#5 f5 d#5 f5",
  Z: "[c5@12 c#5@3 d#5@4 ~@2 f5@9 f5@6 d#5@3 c#5@3 ~@3 d#5@3]/2", AA: "[c5@4 d#5 f5 d#5 f5@2 ~ c#5@6]/2",
})).s("gm_alto_sax").gain(0.21)

// other · alto sax · "Alto Saxophone"
const alto_sax_2 = note(`<
  A@2 B C@2 D E@2 F@2 G H I@3 J@5 ~ K L M N K L O P K L M N K L Q R S P T U S P V@2 K L M N K L W R X@7
>`.pickRestart({
  A: "[~@19 a4@4 a4@3 g4@4 g4@4 f4@7 ~@7]/2", B: "g4@4 a#4@7 d4@7 ~@6", C: "[~ d4@4 c4@7 c4@4 a4@10 a4@4 g4@7 f4@11]/2",
  D: "~@7 a4@2 a4@2 g4", E: "[~ g4@4 f4@7 ~@7 g4@4 a#4@7 d4@7 ~@7 d4@4]/2",
  F: "[c4@7 c4@4 a4@11 a4@3 g4@7 f4@11 ~@5]/2", G: "~@10 c5@3 c5@4 a#4@3 a#4@4", H: "a4@7 ~@7 g4@4 a#4@6",
  I: "[~ d4@7 ~@8 d4@3 c4@7 c4@4 a4@11 a4@3 g4@7 ~ f4@11 ~@9]/3",
  J: "[~@5 a4@3 a4@4 g4@4 g4@3 f4@7 ~@8 g4@3 a4@7 a#4@7 ~@8 d4@3 c4@7 ~ c4@3 a4@11 a4@4 g4@7 f4@11 ~@14]/5",
  K: "a#3!2 ~@6", L: "g#3!2 ~@6", M: "f3!2 ~@6", N: "g3!2 ~@2 g3!2 ~@2", O: "g#3!4", P: "g#3", Q: "~ f3!3", R: "f3",
  S: "d#4", T: "a#3", U: "~ g#3@3", V: "[a#3@6 a#3 g#3@5 ~@4]/2", W: "f3!4",
  X: "[a#3@2 a#3 ~@2 a#3 ~ g#3@3 g#3 ~@2 g#3 ~ f3@3 f3 ~@2 f3 ~ g3@3 g3 ~@2 g3 ~ a#3@3 a#3 ~@2 a#3 ~ g#3@3 g#3 ~ d#4 f4 d#4 f4@2 ~ c#4@6]/7",
})).s("gm_alto_sax").gain(0.22)

// bass · baritone sax · "Baritone Saxophone"
const bass = note(`<
  A@2 B@4 C@2 D@4 E@2 F@4 G@2 ~ H I J K H I L M N O P Q N O R M S@2 L T S@2 U@2 H I J K H I L M V@7
>`.pickRestart({
  A: "[~@19 a2@11 a2@18]/2", B: "[a#2@11 a#2@18 g2@11 g2@18 f2@10 f2@18 a2@10]/4", C: "[~ a2@18 a#2@11 a#2@18]/2",
  D: "[g2@11 g2@18 f2@11 f2@18 a2@10 a2@18 a#2@10]/4", E: "[~ a#2@18 g2@11 g2@18]/2",
  F: "[f2@11 f2@18 a2@11 a2@18 a#2@10 a#2@18 g2@10]/4", G: "[~ g2@18 f2@11 ~@18]/2", H: "f#2!2 ~@6", I: "d#2!2 ~@6",
  J: "c#2!2 ~@6", K: "d#2!2 ~@2 d#2!2 ~@2", L: "c#2!4", M: "c#2", N: "f#2 f#2@7", O: "d#2 d#2@7", P: "c#2 c#2@7",
  Q: "d#2 d#2@3 d#2 d#2@3", R: "~ c#2!3", S: "d#2!4", T: "~ c#2@3", U: "[c#2@2 c#2@2 c#2@2 c#2 d#2@5 ~@4]/2",
  V: "[f#2@7 d#2@8 c#2@8 d#2@8 f#2@8 d#2@5 d#2 f2 d#2 f2@2 ~ c#2@6]/7",
})).s("gm_baritone_sax").gain(0.4)

stack(alto_sax, alto_sax_2, bass)