Strudelify

Somebody Else

The

KeyC majorTempo90 bpm
0:00/0:00
// Somebody Else — The
// 90 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5959593; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 52 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 · [...]/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("<~@10 A@8 B@4 ~ C@4 D E F@3 G H I J K@5 L M@7 N@2 O>".pickRestart({
  A: "~ c5 ~ c5", B: "c5 ~ c5 ~ c5 ~ c5 ~", C: "[~@4 d4@2 ~ e4@13 a4@2 ~ e4@9]/4", D: "d4@4 d5@2 ~ c5", E: "c5",
  F: "[c5@8 a5@4 ~@2 e5@6 ~@2 d5 e5 d5@20 ~@4]/3", G: "e4!4", H: "e4 d4 e4!2", I: "d4!3 c4", J: "d4!2 e4!2",
  K: "[~@2 f4@10 a4@2 ~ g4@11 e5@2 d5@2 ~ a3@7 ~ g5]/5", L: "~ a3@6 ~",
  M: "[b3@12 b3@2 ~ a3@13 c4@2 ~ b3@13 b3@2 ~ a3@9]/7", N: "[~@4 a3@2 ~ b3@9]/2", O: "b3",
})).s("gm_violin").gain(0.25)

// other · violin · "Violin II" · soft notes
const violin_soft = note("<A B C@2 D E C@2 D F ~@42>".pickRestart({
  A: "c5", B: "c5@3 ~ c5@3 ~ c5@3 ~ c5@3 ~", C: "c5!4", D: "d5!4", E: "b4!4", F: "b4!3 ~",
})).s("gm_violin").gain(0.15)

// other · violin
const violin_2 = note("<~ A@8 B C D C@2 E D F G C H I C J A@16 K L M@7 N@3 O>".pickRestart({
  A: "[~@4 b3@2 ~ a3@13 c4@2 ~ b3@13 b3@2 ~ a3@13 c4@2 ~ b3@9]/8", B: "~ b3", C: "c4", D: "b3", E: "c4@3 d4",
  F: "b3@3 d4", G: "c4 b3", H: "g3", I: "g#3", J: "e4 d4", K: "~@2 b3 ~", L: "~ c5!5 ~@2", M: "~ c5!5 ~ g5",
  N: "[~ c5@10 ~ a4@2 ~ g4@9]/3", O: "g4",
})).s("gm_violin").gain(0.3)

// other · cello · "Violoncello"
const cello = note(`<
  ~ A@8 B C D E@2 C F E G C D H E I J@2 K L M N K L M N K L M N K L M N O P M N Q L R@2 C D@2
>`.pickRestart({
  A: "[~@4 g2@2 ~ f2@13 a2@2 ~ g2@13 g2@2 ~ f2@13 a2@2 ~ g2@9]/8", B: "~@4 g2@3 g2", C: "f2", D: "g2", E: "a2",
  F: "g2@3 e2", G: "a2!2", H: "e2", I: "d3!2", J: "[d2@8 g2@4 ~@2 f2@4 ~ f2 ~@4 f2@2 ~ f2 ~@3 e2]/2",
  K: "f2@2 ~ f2 ~@2 f2 g2 a2@2 ~ a2 ~@4", L: "g2@2 ~ g2 ~@4 g2@2 ~ g2 ~@4", M: "g2@2 ~ g2 ~@2 f2 g2 a2@2 ~ a2 ~@4",
  N: "f2@2 ~ f2 ~@4 f2@2 ~ f2 ~@4", O: "f3@2 ~ f2 ~@2 f2 g2 a2@8", P: "g2!4", Q: "f2@2 ~ f2 ~@4 a2@2 ~ a2 ~@4",
  R: "[g2@2 ~ g2 ~@2 f2 g2 a2@2 ~ a2 ~@2 f2@18]/2",
})).s("gm_cello").gain(0.4)

stack(violin, violin_soft, violin_2, cello)