Strudelify

Stereo Hearts

_yung_gravy_

KeyG majorTempo90 bpm
0:00/0:00
// Stereo Hearts — _yung_gravy_
// 90 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5965865; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 29 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(90/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · baritone sax · "Baritone Saxophone"
const baritone_sax = note("<A B A C D E D F G H I J K L K L M N O P A B A B A B A B Q>".pickRestart({
  A: "a#3 g3", B: "f3 a3", C: "f3@2 a3 c4", D: "a#3!4 g3!4", E: "f3!4 a3!4", F: "f3!4 a3!2 a3@2",
  G: "a#3 ~ f4@2 d4 a#3 ~ a3", H: "~@2 c4 a#3 ~ f4 ~@2", I: "a#3 ~ f4@2 d4 a#3@2 ~", J: "a#2@3 c3@3 c3@2", K: "a#2 g2",
  L: "d3 a2", M: "~ d4!4 c4 a#3 c4", N: "d4 d#4 f4 f4@3 ~@2", O: "d3 a#2", P: "f3@2 c3 ~", Q: "f3 ~@7",
})).s("gm_baritone_sax").gain(0.25)

// other · baritone sax · "Baritone Saxophone"
const baritone_sax_2 = note("<A B A B C D C E F G H I J K L M N O N P A B A B A B A B Q>".pickRestart({
  A: "d3 a#2", B: "d3 c3", C: "d3!4 a#2!4", D: "d3!4 c3!4", E: "d3!4 c3!2 c3@2", F: "a#2 ~ f4 a#3@2 d4 ~ a3",
  G: "~@2 a3 a#3 ~ a3 ~@2", H: "a#3 ~ f4 a#3@2 d4@2 ~", I: "g2@3 a2@3 a2@2", J: "g2 d#2", K: "a#2 f2",
  L: "~ d4!4 c4 a#3 c4", M: "d4 d#4 d4 c4@3 ~@2", N: "a#2 g2", O: "d3 a2", P: "d3@2 a2 ~", Q: "a#2 ~@7",
})).s("gm_baritone_sax").gain(0.3)

// other · baritone sax · "Baritone Saxophone"
const baritone_sax_3 = note("<A B A B C D C E F G H I J K L M L M L N A B A B A B A B O>".pickRestart({
  A: "g3 d#3", B: "a#2 f3", C: "g3!4 d#3!4", D: "a#2!4 f3!4", E: "a#2!4 f3!2 f3@2", F: "a#2 ~ a#2 ~@2 a#2 ~ a2",
  G: "~@3 a2 ~ a2 ~@2", H: "d#2 ~ d#2 ~@2 d#2 ~@2", I: "d#2@4 d#2 g2 f2@6 f2@4", J: "~ d4!4 c4 a#3 c4",
  K: "d4 d#4 d4 c4@3 ~@2", L: "g2 d#2", M: "a#2 f2", N: "a#2@2 f2 ~", O: "a#2 ~@7",
})).s("gm_baritone_sax").gain(0.3)

stack(baritone_sax, baritone_sax_2, baritone_sax_3)