Strudelify

Jupiter

Gustav Holst

KeyF majorTempo80 bpm
0:00/0:00
// Jupiter — Gustav Holst
// 80 bpm, 3/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5830103; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 41 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(80/3)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · piano
const piano = note("<A B C D E B F G H I J K L M N O P Q R S T U V W X Q R S T U V W Y Q R S T U V W Z>".pickRestart({
  A: "~@4 a3 c4", B: "[bb2,f3,d4]@4 d4@2 f4@2 [c3,g3,e4]@3 c4", C: "f4 g4 f4@2 [a2,f3,c4,e4]@2, [a2,f3] ~@2",
  D: "d4 e4 d4@2 [c3,e3,c4]@2, [bb2,f3] ~@2", E: "[d3,f3,a3]@15 ~ a3@4 c4@4, ~@2 [c3,e3]",
  F: "f4 g4 a4@2 f2 a2, [a2,f3] ~ [c4,a4]", G: "[d4,a4] g4 f4@2 [d3,bb3,d4,g4]@2, [bb2,f3] ~@2",
  H: "~@2 [f3,a3]@2 c5 a4, f4@15 ~ [a2,f3]@8", I: "[c3,g3] g4 ~", J: "[e3,c4,g4]@2 ~@2 c5 a4", K: "~@2 g4@2 a4 c5",
  L: "d5@4 ~ e5, ~@2 [g3,bb3,d5]", M: "[d5,f5] [c3,a3,c5,e5] [bb2,f3]", N: "~ [g2,f3,f4,f5] [f2,f3]",
  O: "~ f4 [g3,bb3,g4]@2 [f3,c4,a4]@2, [bb2,g3] ~@2", P: "e3@2 d3@2 [f4,a4] c5, [g4,c5]@15 ~ c3@8",
  Q: "[bb2,f3,f4,d5]@4 d5@2 f5@2 [c3,g3,g4,e5]@3 c5", R: "[c5,f5] g5 f5@2 [a2,f3,c5,e5]@2, [a2,f3] ~@2",
  S: "d5 e5 d5@2 [c3,g3,e4,c5]@2, [bb2,f3] ~@2", T: "[d3,f3,f4,a4]@15 ~ a4@4 c5@4, ~@2 [c3,e3]",
  U: "[bb2,f3,d5]@4 d5@2 f5@2 [c3,g3,e5]@3 c5", V: "f5 g5 a5@2 f2 a2, [a2,f3] ~ [a4,a5]",
  W: "a5 g5 f5@2 [d3,bb3,bb4,g5]@2, [bb2,f3] ~@2", X: "[f2,a3,a4,f5]@23 ~", Y: "[a4,f5]@5 ~@3",
  Z: "[f2,c3,f3,f4,a4,c5,f5]@23 ~", // F
})).s("gm_piano").gain(0.4)

// chords · piano · soft notes
const piano_soft = note("<~@9 A B C D E F G ~@25>".pickRestart({
  A: "g4@2 ~@2 f4 a4, ~@2 [d3,a3]", B: "~@2 c4 ~ [a2,f3]@2", C: "[c3,g3,g4] ~ [f3,c4]", D: "bb3 a3 ~",
  E: "[d3,a3] ~ [bb4,d5]", F: "[a2,f3,a4,c5] ~ [f4,a4]", G: "g4 ~@5",
})).s("gm_piano").gain(0.25)

stack(piano, piano_soft)

More by Gustav Holst