Strudelify

Song of Health

Steven Verhelst

KeyG majorTempo82 bpm
0:00/0:00
// Song of Health — Steven Verhelst
// 82 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: metre changes (4/4 at bar 1, 2/4 at bar 11, 4/4 at bar 12) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/6027785; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 15 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(82/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 · trombone · "Trombone 2"
const trombone = note("<~ A@2 B@2 C D E F G H@3 ~@2>".pickRestart({
  A: "[~ d4@2 d4@2 d4@2 c4]/2", B: "[~@4 g3@8 g3@8 g3@8 f#3@2 e3 f#3]/2", C: "g3@6 f#3 g3 a3@6 g3 a3",
  D: "b3@2 c4 b3 e3@2 ~@2", E: "~@2 a3 b3 c4@6 c4@2 a3@2 g3@2", F: "g3@2 f#3 ~", G: "~ g3 d4@3 a3 f#4@2",
  H: "[~ a3 f4@2 e4@6 ~@2 g3@6 f#3@2 ~@4]/3",
})).s("gm_trombone").gain(0.3)

// other · trombone · "Trombone 3"
const trombone_2 = note("<~ A B C D E F G H I J K@3 ~>".pickRestart({
  A: "g3 f#3", B: "f3@4 e3@3 ~", C: "d#3 d3", D: "a#2@2 d3 ~", E: "b3 d4", F: "g3@2 a3 g3 e3@2 ~@2",
  G: "~@6 e3 f#3 g3@2 a3@2 g3@2 e3@2", H: "d3@3 ~", I: "g3@2 a3 g3 a3 f#3 d4@2", J: "a3 f3 d4@2 d4 e3 g3 c4",
  K: "[d4@4 ~@4 e3@12 d3@4 g3@17 ~@7]/3",
})).s("gm_trombone").gain(0.3)

// bass · tuba
const bass = note("<~@5 A B C D E F G H@2 ~>".pickRestart({
  A: "e2 b2 e3@2 d2 a2 d3@2", B: "g1 d2 g2@2 c2@2 ~@2", C: "~@10 c2 d2 e2@2 g2@2", D: "d2 a1 d2 g2 d3@2 ~@2",
  E: "g1 d2 g2@2 f#1 d2 f#2@2", F: "f2 d2 f2@2 e2 c3 e3 g3", G: "c4 ~ c3@2", H: "[d3@4 d2@4 g2@17 ~@7]/2",
})).s("gm_tuba").gain(0.3)

// chords · piano
const piano = note("<A B C D E F G H I J K L M@3>".pickRestart({
  A: "g4 d5 g5 d5 g4 d5 g5 d5", B: "g4 d5 g5 d5 a4 d5 g5 d5, [g3,d4] [f#3,d4]",
  C: "a4 d5 g5 d5 g4 d5 g5 d5, [f3,d4] [e3,c4]", D: "g4 d5 g5 d5 g4 d5 g5 d5, [d#3,a#3] [d3,a#3]",
  E: "g4 d5 g5 d5 g4 d5 f#4 d4, [c#3,a#3] [d3,a3]", // F# D5
  F: "[e2,f#4] [e3,b3] e4 b3 [d2,g4] [f#3,d4] f#4 d4, g4 a4, ~ g3 ~ a3", // Esus2 E5 G5 D
  G: "[g2,g4] [g3,d4] [g4,c5] [d4,b4] [c2,d4] [e3,c4] b3 c4, b4 b3 e4@2, ~@3 g3", // G G5 C5 G Csus2 C
  H: "[a1,c4] [c3,a3] c4 a3 [a2,e4] [e3,c4] [e4,c5] [g4,b4], e4@2 g4 ~, ~ e3 ~ a3", // Am F A5 C G
  I: "d2 a2 d3 g3 ~ d4 g4 a4 d3@4 [d2,d3]@4, [d4,g4,a4] a3 [d4,f#4,a4,d5]@2", // D Dsus4 D
  J: "b4 d4 g4 d4 a4 d4 b4 d4 a4 d4 f#4 d4 a4 d4 d5 d4, b1 d3 b3 d3 f#2 d3 a3 d3",
  K: "a4 d4 f4 d4 a4 d4 d5 d4 g4 d4 g4 c5 g4 c5 d5 g5, f2 d3 a3 d3 e2 c3 e3 c4",
  L: "~ c6@3 ~@4 [c2,c3,b3,c4,e4,g4]@8, [e4,g4,d5,g5] ~@3", // Cmaj7 Em7
  M: "[[d2,c3,g3,a3,c4,e4]@8 g2@2 c3@2 d3@2 ~@2 c4@2 d4@2 g4@2 ~ d5@2 ~ [d5,g5]@20 ~@2, ~ [c4,e4,g4] ~@4, ~@8 g3@6 g3@10 ~ [g1,g2,g4,b4]@20 ~@3]/3", // Am7 G5 C G
})).s("gm_piano").gain(0.25)

stack(trombone, trombone_2, bass, piano)

More by Steven Verhelst