Strudelify

Voltron Theme

Alexander Geringas

KeyF majorTempo160 bpm
0:00/0:00
// Voltron Theme — Alexander Geringas
// 160 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/4567151; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 38 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(160/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 · violin · "Violin II"
const violin = note("<~@7 A B C D@2 E@2 F@2 G H I J K@10 L@4 M C N O>".pickRestart({
  A: "~@7 f4", B: "g3@3 d4@3 c4@2", C: "bb4@3 g4@3 f4@2", D: "[eb4@7 c4]/2", E: "[d4@3 e4@11 c4@2]/2",
  F: "[f4@3 eb4@11 ~@2]/2", G: "c4@3 c4@3 c4@2", H: "c4@3 c4@3 bb3@2", I: "c4 e4 f4 g4!2 b4 c5 d5", J: "c5@3 c5@3 c5@2",
  K: "f4 ~ g4 ~ bb4 ~ g4 ~ c5 ~ f4 ~ g4 ~ bb4 ~", L: "ab4", M: "c4@3 g4@3 f4@2", N: "eb4 f4", O: "g4",
})).s("gm_violin").gain(0.45)

// other · violin · "Violin II" · soft notes
const violin_soft = note(`<
  ~@4
  [c4@3 g4@3 f4@2]
  [bb4@3 g4@3 f4@2]
  [d5 c5 a4 f4 d5 c5 a4 f4]
  [d5 c5 a4 f4 d5 c5 a4 ~]
  ~@30
>`).s("gm_violin").gain(0.2)

// other · viola
const viola = note("<~@7 A B C D@2 E@2 F@2 G@2 H ~ I@2 J@2 K@2 L@2 M N O@2 P@2 Q@2 R H>".pickRestart({
  A: "~ f3!7", B: "g3@3 d4@3 c4@2", C: "bb4@3 g4@3 f4@2", D: "[g4@7 c4]/2", E: "[d4@3 e4@11 c4@2]/2",
  F: "[f4@3 eb4@11 ~@2]/2", G: "c3/2", H: "c3", I: "[e3@21 e3!2 e3@3 e3@3 e3@3]/2", J: "[g3@21 g3!2 g3@3 g3@3 g3@3]/2",
  K: "[a3@21 a3!2 a3@3 a3@3 a3@3]/2", L: "e3@3 e3@5", M: "g3@3 g3@5", N: "eb3", O: "ab3!8", P: "f3!8",
  Q: "c3@3 c3@3 c3@2", R: "eb3!2 f3!2",
})).s("gm_viola").gain(0.3)

// other · viola · soft notes
const viola_soft = note("<[c3!8]!4 [c4@3 g4@3 f4@2] [bb4@3 g4@3 g3@2] [f3!8] [f3 ~@7] ~@30>").s("gm_viola").gain(0.2)

// other · cello · "Violoncello"
const cello = note("<~@7 A B@2 C@2 D@2 C@2 E@2 F ~ G@2 H@2 I@2 J@2 K L M@2 N@2 O@2 P F>".pickRestart({
  A: "~ f3!7", B: "g3@2 g3 g3@3 g3@2", C: "eb3@2 eb3 eb3@3 eb3@2", D: "c3@2 c3 c3@3 c3@2", E: "g2/2", F: "g2",
  G: "[c3@21 c3!2 c3@3 c3@3 c3@3]/2", H: "[eb3@21 eb3!2 eb3@3 eb3@3 eb3@3]/2", I: "[f3@21 f3!2 f3@3 f3@3 f3@3]/2",
  J: "c3@3 c3@5", K: "eb3@3 eb3@5", L: "bb2", M: "ab3!8", N: "f3!8", O: "g2@3 g2@3 g2@2", P: "bb2!2 c3!2",
})).s("gm_cello").gain(0.3)

// other · cello · "Violoncello" · soft notes
const cello_soft = note("<~@5 [c3!8] [f3!8] [f3 ~@7] ~@30>").s("gm_cello").gain(0.2)

// bass · contrabass
const bass = note("<~@7 A B@2 C@2 D@2 C@2 E@2 F ~ G@2 H@2 I@2 J@2 K L M@2 N@2 O@2 P F>".pickRestart({
  A: "~ f2!7", B: "g2@2 g2 g2@3 g2@2", C: "eb2@2 eb2 eb2@3 eb2@2", D: "c2@2 c2 c2@3 c2@2", E: "c2/2", F: "c2",
  G: "[c2@21 c2!2 c2@3 c2@3 c2@3]/2", H: "[eb2@21 eb2!2 eb2@3 eb2@3 eb2@3]/2", I: "[f2@21 f2!2 f2@3 f2@3 f2@3]/2",
  J: "c2@3 c2@5", K: "eb2@3 eb2@5", L: "eb2", M: "gb2!8", N: "f2!8", O: "c2@3 c2@3 c2@2", P: "eb2!2 f2!2",
})).s("gm_contrabass").gain(0.3)

// bass · contrabass · soft notes
const bass_soft = note("<~@2 A@2 B@2 C D ~@30>".pickRestart({
  A: "c2/2", B: "c2!8", C: "f2!8", D: "f2 ~@7",
})).s("gm_contrabass").gain(0.2)

stack(violin, violin_soft, viola, viola_soft, cello, cello_soft, bass, bass_soft)