Strudelify

lose yourself

S. Hermand

KeyF majorTempo171 bpm
0:00/0:00
// lose yourself — S. Hermand
// 171 bpm, 4/4, key F 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/5930496; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 60 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(171/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.

// chords · piano
const piano = note(`<
  A@7 B@4 C@5 D@3 ~@8 E@2 F@2 E@2 F G H I J K H I L M N I J O P Q L R N I J O P Q L S T
>`.pickRestart({
  A: "[~@9 [d4,a5]@5 ~ [f4,f5]@5 d5@5 a5@5 [c4,g5]@5 ~ [e4,e5]@5 c5@5 g5@5 [bb3,a5]@5 ~ [d4,f5]@5 f4@10 bb3@5 ~ d4@5 c6@2 ~ bb5@2 a5@2 ~ g5@2 ~ [d4,a5]@5 [f4,f5]@5 d5@5 a5@3, ~@20 a4@10 ~@11 g4@10 ~@11 d5@20 ~ f4@10 ~@11 a4@8]/7", // D5 F C5 E Bbmaj7 Dm D5 F
  B: "[~@3 [c4,g5]@5 [e4,e5]@5 c5@5 g5@5 ~ [bb3,a5]@5 [d4,f5]@5 f4@10 ~ bb3@5 d4@5 f4@9, ~@13 g4@10 ~@11 d5@25 ~@5]/4", // C5 E Bbmaj7 Dm
  C: "[~@2 [g3,d5]@5 [bb3,bb4]@5 g4@5 ~ d5@5 f3@5 a3@5 ~@6 bb4@2 a4@2 ~ g4@25 ~@6 a4@5, ~@12 d4@10 ~ c5@15 ~@42, ~@33 c4@10 ~ eb3@20 ~@16]/5", // G5 Bb
  D: "[~ bb4@5 a2@5 e3@5 a3@5 ~ b3@5 db4@20 ~, ~@3 db5@20 ~, ~@2 db4@7 ~@7]/3", E: "~@2 [d5,f5] ~", F: "~@2 [bb4,f5] ~",
  G: "~@2 [f4,bb4] ~", H: "[f4,a4,d5] [d5,f5]", I: "~ [d5,f5]", J: "[a4,d5,f5] [bb4,f5]", K: "~ [bb4,f5]",
  L: "[d4,f4,bb4]@15 ~", M: "[c4,e4,g4]@15 ~", N: "d5 [d5,f5]", O: "~@8 e6@3 bb6 a6@3 g6",
  P: "a6 d6 [d5,f5]@2, [f4,a4] ~", Q: "~@2 [d5,f5] f5", R: "[c4,e4,g4]@4 [c4,e4,g4]@2 f4 a4",
  S: "g4@11 ~ a4@2 f4@2, [c4,e4]@15 ~", T: "d4@15 ~",
})).s("gm_piano").gain(0.3)

// chords · piano
const piano_2 = note(`<
  ~@19 A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C D
>`.pickRestart({
  A: "[d2,a2,d3]!4", B: "[d2,bb2,d3]!4", C: "[d2,bb2,d3]@2 [d2,bb2,d3]@2 [d2,bb2,d3]@2 [d2,bb2,d3] [d2,g2,d3]",
  D: "[d2,f2,a2,d3]@15 ~", // Dm
})).s("gm_piano").gain(0.3)

stack(piano, piano_2)

More by S. Hermand