Strudelify

sadness and sorrow

Tyler Gift

KeyG majorTempo120 bpm
0:00/0:00
// sadness and sorrow — Tyler Gift
// 120 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/1509616; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 28 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · flute
const flute = note("<~@4 A@2 B@2 C D E F@2 G H I J K H L H G H M J G N@2>".pickRestart({
  A: "[f#5@2 e5@2 b4@19 ~ e5@4 g5@4]/2", B: "[a5@8 e5@13 ~@3 g5@8]/2", C: "f#5 e5 b4@9 ~ e5@2 g5@2", D: "a5@4 e5@11 ~",
  E: "g5@4 f#5 g5 a5 d5", F: "[e5@23 ~@3 e5@2 f#5@2 g5@2]/2", G: "a5 b5 e5 g5@2 f#5@3", H: "e5@15 ~",
  I: "g5 a5 g5 f#5@4 b5", J: "b5 a5", K: "a5 c6 f#5 g5@2 e5 f#5@2", L: "g5 a5 g5 f#5@3 ~@2", M: "g5 a5 g5 f#5@3 b5@2",
  N: "[e5@23 ~@9]/2",
})).s("gm_flute").gain(0.48)

// bass · tuba · "Euphonium"
const bass = note("<~ A@3 ~@11 B ~ B ~@10>".pickRestart({
  A: "[e3@5 ~]/3", B: "e3",
})).s("gm_tuba").gain(0.12)

// other · clarinet · "Bass Clarinet"
const clarinet = note("<~ A B@2 C ~ D E F G H ~@4 I A J K L M ~@3 N O P@2>".pickRestart({
  A: "g3", B: "[e3 b3 g4 f#4@2 d4@2 ~]/2", C: "[b3,d4] [g3,b3]", D: "d4 b3 f#4 d4 [b3,e4]@4", E: "f#4 d4 g3 f#3 d4@4",
  F: "b3 e3", G: "~@2 f#4 d4", H: "b3 a3", I: "g4 d4 b3 g3 a3@4", J: "b3", K: "a3", L: "b3 a3 b3 f#3@5", M: "e3",
  N: "g3 b3 g3 e3 a3 g3 e3 d3", O: "c3 b2", P: "[e3@3 ~]/2",
})).s("gm_clarinet").gain(0.38)

// other · baritone sax · "Baritone Saxophone"
const baritone_sax = note("<~@4 A@2 B ~ C D E F ~@3 G ~ F ~@10>".pickRestart({
  A: "[a3 g3 d3@14]/2", B: "e3 g3 b3 d3 a3@4", C: "b2", D: "e3 g3", E: "e3@4 c3 b2 a2 f#3", F: "e3", G: "c3",
})).s("gm_baritone_sax").gain(0.3)

stack(flute, bass, clarinet, baritone_sax)