Strudelify

steven universe - let me drive my van into your heart

Greg Universe

KeyG majorTempo120 bpm
0:00/0:00
// steven universe - let me drive my van into your heart — Greg Universe
// 120 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (7/8 at bar 1, 4/4 at bar 2) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5889735; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 42 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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 B C D E F G H A B C D E F G ~@2 I J K L M N O A B C D E F P Q R S T Q U V W@3
>`.pickRestart({
  A: "a#3@2 a#3@2 a#3@2 a#3 ~@7 a#3@2", B: "c4@3 ~@13", C: "f4@2 f4@2 f4@2 f4 ~@7 f4@2", D: "g4@3 ~@13",
  E: "a#3@2 ~ a#3@2 a#3!3", F: "c4@2 ~ c4@2 c4!3", G: "f4@2 ~ f4@2 f4!3", H: "f4@3 ~@13", I: "~ c5!3 d5@2 c5 a#4",
  J: "~ a#4@3 ~@2 f4 g4", K: "~ f4 g4 f4 g4 f4@2 ~", L: "f4@2 ~@4 d#4 f4", M: "~ d#4 f4 d#4 f4 g4@3",
  N: "f4@2 ~ d#4 d4 d#4 f4 d4", O: "f4 ~@3", P: "~@6 g4@2 f4@3 g4 ~@2 g4@2", Q: "~ f4 g4 a4 a#4!2 a4 a#4",
  R: "~ g4@6 c5", S: "~ a#4 c5 d5 c5 a#4 g4 f4", T: "~ g4@6 g4", U: "~ f4 g4@2 ~@4", V: "c4", W: "[~@7 f4@10 ~@7]/3",
})).s("gm_alto_sax").gain(0.3)

// other · alto sax · "Alto Saxophone"
const alto_sax_2 = note(`<
  ~ A B C D E F G D A B C D E F G ~ H@2 I@2 J@2 K L A B C D E F M N O P Q@2 O R S@3
>`.pickRestart({
  A: "g3@2 g3@2 g3@2 g3 ~@7 g3@2", B: "a3@3 ~@13", C: "d4!4 ~@3 d4", D: "d4@3 ~@13", E: "g3@2 ~ g3@2 g3!3",
  F: "a3@2 ~ a3@2 a3!3", G: "d4@2 ~ d4@2 d4!3", H: "g#4/2", I: "g4/2", J: "a#3/2", K: "d4@2 ~ c4 a#3 c4 d4 a#3",
  L: "c4 ~@3", M: "~@6 a#4@2 a4@3 a#4 ~@2 a#4@2", N: "~ a4 a#4 c5 d5 c5 a#4 g4", O: "d#4@2 ~ d#4@2 d#4!3",
  P: "f4@2 ~ f4@2 f4!3", Q: "g4@2 ~ g4@2 g4!3", R: "a3", S: "[~@6 d4@11 ~@7]/3",
})).s("gm_alto_sax").gain(0.3)

// other · alto sax · "Alto Saxophone"
const alto_sax_3 = note(`<
  ~ A B C D E F G H A B C D E F G ~ I J K@2 L@2 M N A B C D E F O P Q R G@2 Q S T@3
>`.pickRestart({
  A: "d#3@2 d#3@2 d#3@2 d#3 ~@7 d#3@2", B: "f3@3 ~@13", C: "a#3@2 a#3@2 a#3@2 a#3 ~@7 a#3@2", D: "g3@3 ~@13",
  E: "d#3@2 ~ d#3@2 d#3!3", F: "f3@2 ~ f3@2 f3!3", G: "a#3@2 ~ a#3@2 a#3!3", H: "a#3@3 ~@13", I: "a#3", J: "d4",
  K: "d#4/2", L: "c#4/2", M: "a#3@2 ~ a3 g3 a3 a#3 g3", N: "f3 ~@3", O: "~@6 g4@2 f4@3 g4 ~@2 g4@2", P: "~ g4!3 f4!4",
  Q: "g3@2 ~ g3@2 g3!3", R: "a3@2 ~ a3@2 a3!3", S: "c4 a#3 c4 d4 c4 a#3 g3 f3", T: "[a#3@4 ~ a#3@12 ~@7]/3",
})).s("gm_alto_sax").gain(0.3)

stack(alto_sax, alto_sax_2, alto_sax_3)