Strudelify

faded

A. Walker

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

// Notation: c3@3 lasts 3 steps · ~ is a rest · "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 · violin · "Violin II"
const violin = note(`<
  ~@12 A B C D@2 E F G H I ~@11 J K ~@2 L M N ~@3 L O P Q R O P Q S T U V S T W@2 U X@4 Y@4 F E F H F Z AA@3 AB@2 AC@2
  AD@2 AE@2 ~@4
>`.pickRestart({
  A: "g4!3 b4", B: "e5!3 d5", C: "b4@4 b4@4 b4@4 b4 a4 g4@2", D: "[f#4@2 f#4@2 f#4@2 d4@4 ~@2 d5!4]/2", E: "g4",
  F: "b4", G: "e5", H: "d5", I: "~ g4!2 ~", J: "~@5 b4!3", K: "b4@3 ~@5", L: "~@5 b4!3, ~@10 a4 ~ a4 ~ a4 ~",
  M: "b4@8 ~@2 g4@2 g4 a4@2 a4", N: "b4 a4@2 g4@2 g4@6 ~@5", O: "g4@2 g4@2 g4@2 g4@2 g4@2 g4@2 b4!4", P: "e5!6 d5!2",
  Q: "b4@2 b4@2 b4@2 b4@2 b4@2 b4@2 b4!4", R: "f#4!8", S: "c5 b4@2 ~", T: "~@7 g4", U: "c5 b4@3", V: "~@3 g4 f#4@3 g4",
  W: "[c5@2 d5@9 g4 f#4@3 g4]/2", X: "[f#4 a4@2 d5@2 c5@2 a4]/4",
  Y: "[~@8 g4 g4@2 a4 g4@2 g4 d5@3 g4 a4 g4@2 g4@2 g4 g4@2 a4 g4@2 g4 d5@3 g4 a4 g4@2 g4@2 g4 g4@2 a4 g4@2 g4 d5@3 g4 a4 g4@2 g4@2 ~@2 b4@2 b4@2 b4@2, ~@58 a4 ~ a4 ~ a4 ~]/4",
  Z: "b4@7 d5", AA: "[b4@2 d5@2 b4@2 d5@2 b4@2 d5@2 b4@2 a4 c5@7 g4@2 c5@4 b4@12 ~@8]/3",
  AB: "[~@3 g4 c5@2 b4@6 ~@3 g4]/2", AC: "[f#4@3 g4 c5@2 b4@4 ~@6]/2", AD: "[~@3 g4 c5@2 d5@9 g4]/2",
  AE: "[f#4@3 g4 c5@2 b4@6 ~@4]/2",
})).s("gm_violin").gain(0.3)

// other · violin · "Violin II" · soft notes
const violin_soft = note("<~@21 A B C D E F G H I J K L ~@56>".pickRestart({
  A: "~@3 g4", B: "b4 e5!3", C: "d5 b4!3", D: "b4@2 a4 g4 f#4@4 f#4@4 f#4@4", E: "f#4@2 g4@4 g4!2",
  F: "g4@2 g4@2 g4@2 g4@2 g4@2 g4!2 g4@2 g4@2", G: "g4!8", H: "g4@2 g4@2 b4@2 b4@2 b4@2 b4!2 a4@2 a4@2", I: "a4!8",
  J: "a4!2 b4!6", K: "b4@2 b4!2 b4@2 b4@2 b4@2 b4@2 b4@2 b4@2", L: "g4@2 g4@2 g4@2 g4!2 f#4@2 f#4@2 f#4@2 f#4@2",
})).s("gm_violin").gain(0.15)

// other · viola
const viola = note(`<
  ~@4 A B C D B E@2 F A B C D ~ G H I J@2 ~@11 K L M N O K L M P Q R S T U V S T U W B C D B X@2 F Y Z@8 AA AB AC AD AA
  AB AC AD AE@4 B C D B G H AF AG@2
>`.pickRestart({
  A: "g3", B: "b3", C: "e4", D: "d4", E: "f#3/2", F: "e3", G: "g4!3 b4", H: "e5!3 d5", I: "b4@4 b4@4 b4@4 b4 a4 g4@2",
  J: "[f#4!3 d4@3 ~@2]/2", K: "~@2 g4!2", L: "g4 b4 e5!2", M: "e5 d5 b4!2", N: "b4@4 b4@4 b4@2 a4 g4 f#4@4",
  O: "f#4!2 e4@2", P: "b4@4 b4@2 a4 g4 f#4@4 f#4@4", Q: "f#4 e4@3", R: "~@5 b3!3, ~@10 a3 ~ a3 ~ a3 ~",
  S: "e3 g3!2 b3 e3 b3 g3 b3", T: "c3 g3 e3 g3 c3 g3 e3 g3", U: "g3 d4 b3 d4 g3 d4 b3 d4",
  V: "d3 a3 f#3 a3 d3 a3 f#3 a3", W: "d3 a3 f#3 a3 g3@4", X: "f#3", Y: "g3 ~",
  Z: "[~@2 g4@2 d5@2 d5 b4@3 g4@2 d5@2 d5 b4@3 g4@2 d5@2 d5 a4@3 g4@2 g4@6 g4@2 d5@2 d5 b4@7 c5@4 ~@6 g4 g4@2 a4 g4@2 g4 d5@3 g4 a4 g4@2 g4@2 g4 g4@2 a4 g4@2 g4 d5@3 g4 a4 g4@2 g4@2 g4 g4@2 a4 g4@2 g4 d5@3 g4 a4 g4@2 g4@2 g4 g4@2 a4 g4@2 g4 d5@3 g4 a4 g4@2 g4@2 ~@2 b4@2 b4@2 b4@2, ~@122 a4 ~ a4 ~ a4 ~]/8",
  AA: "g4@2 g4@2 g4@2 g4@2 g4@2 g4@2 b4!4", AB: "e5!6 d5!2", AC: "b4@2 b4@2 b4@2 b4@2 b4@2 b4@2 b4!4", AD: "f#4!8",
  AE: "[g3 b3@2 e4@2 d4@2 b3]/4", AF: "b4@4 b4@4 b4@4 b4@2 a4 g4", AG: "[f#4!3 e4@3 ~@2]/2",
})).s("gm_viola").gain(0.3)

// other · viola · soft notes
const viola_soft = note("<~@21 A@5 B C D@2 E B C F ~@55>".pickRestart({
  A: "[~@2 g3@4 b3@4 e4@4 d4@3 g4@2 g3]/5", B: "e3 g3!2 b3 e3 b3 g3 b3", C: "c3 g3 e3 g3 c3 g3 e3 g3",
  D: "g3 d4 b3 d4 g3 d4 b3 d4", E: "d3 a3 f#3 a3 d3 a3 f#3 a3", F: "g3 ~",
})).s("gm_viola").gain(0.2)

// other · cello · "Violoncello"
const cello = note(`<
  A B C D A B C D A B C D A B C D E A B C D A B C D F@5 G H I J K L M N J K L M N O G P G H G@3 Q K L R K L@2 R A K L R
  A K L R K B L@2 R K B L R K B L R K B L R K B L R ~
>`.pickRestart({
  A: "e3 g3!2 b3 e3 b3 g3 b3", B: "c3 g3 e3 g3 c3 g3 e3 g3", C: "g3 d4 b3 d4 g3 d4 b3 d4",
  D: "d3 a3 f#3 a3 d3 a3 f#3 a3", E: "~@4 d3!4", F: "[e4 d4@2 g3@3 b3@4 e4@4 d4@4 c4@2]/5", G: "b3", H: "e4", I: "d4",
  J: "b3@4 e3 g3!2 b3", K: "e3 b3 g3 b3 c3 g3 e3 g3", L: "c3 g3 e3 g3!2 d4 b3 d4", M: "g3 d4 b3 d4 d3 a3 f#3 a3",
  N: "d3 a3 f#3 a3 b3@4", O: "b2@4 ~ b3!3, ~@10 a3 ~ a3 ~ a3 ~", P: "g3", Q: "e4@4 e3 g3!2 b3",
  R: "d3 a3 f#3 a3 e3 g3!2 b3",
})).s("gm_cello").gain(0.2)

stack(violin, violin_soft, viola, viola_soft, cello)