Strudelify

geyser

Mitski

KeyD majorTempo150 bpm
0:00/0:00
// geyser — Mitski
// 150 bpm, 6/8, key D 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/5345448; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 116 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(150/3)

// 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.

// bass · choir aahs · "Bass"
const bass = note(`<
  ~@51 A B C D E F G D E B C D E F G D E@3 H@2 I@2 J G E@2 H@2 I@2 J G C E C E H J E@2 C E C E H J E@2 C E C E H J E@2 B
  D B D K L M@2
>`.pickRestart({
  A: "f#3@5 f#3@5 ~ f#3@5", B: "g3!2", C: "g3@5 g3@5 ~ g3@5", D: "d3!2", E: "d3@5 d3@5 ~ d3@5", F: "c#3!2",
  G: "c#3@5 c#3@5 ~ c#3@5", H: "b2@5 b2@5 ~ b2@5", I: "c3@5 c3@5 ~ c3@5", J: "a2@5 a2@5 ~ a2@5", K: "b2", L: "a2",
  M: "d3",
})).s("gm_synth_bass_1").gain(0.4)

// bass · choir aahs · "Bass" · soft notes
const bass_soft = note("<A@8 ~@2 A@8 ~@2 B@5 C@7 D@3 E@5 F@5 G@2 H@3 I ~@65>".pickRestart({
  A: "b2/8", B: "[e3 d3]/5", C: "[b2@40 e3@67 ~@5]/7", D: "[~ g3@5]/3", E: "[d3 c#3]/5",
  F: "[d3@40 g3@10 g3@10 g3@7 g3@6 g3@7]/5", G: "[d3@10 d3@10 d3@7 d3@5]/2",
  H: "[~ d3@7 c#3@10 c#3@10 c#3@7 c#3@6 c#3@7]/3", I: "b2!2",
})).s("gm_synth_bass_1").gain(0.15)

stack(bass, bass_soft)