Strudelify

Psycho

Yes

KeyE♭ majorTempo132 bpm
0:00/0:00
// Psycho — yes
// 132 bpm, 4/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (6/8 at bar 1, 4/4 at bar 8) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5958701; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 121 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(132/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 · violin · "Violin II"
const violin = note(`<
  A@2 B C D E ~ F G H I J K@2 L ~ M N O P Q@2 R S T@2 U V W ~ X Y Z AA AB@2 AC AD AE AF Z AA AB@2 AC AD AE AF AG AH AI
  AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC ~ BD@2 BE@2 BF BG BH BI BJ@2 BK@2 BL BM BN BO Y BP BQ BR
  BS BT BU BV BD@2 BE@2 BF BG BH BO BW@2 BO BW BX BY BZ CA BW@2 BO BW BX BY BZ CB@2
>`.pickRestart({
  A: "~@8 g3 ~@7", B: "~@3 b4@11 ~@2", C: "~@13 eb5@3", D: "c5@3 bb4 g4 ~@11", E: "~@8 eb4 ~@7", F: "~@4 eb4!3 f4",
  G: "g4 bb4 g4 ~", H: "~@4 eb4 f4!2 eb4", I: "g4 d4!2 ~", J: "~@4 c5@2 c5@2 f5@2 ~ f5@2 ~ f5 ~",
  K: "g5@4 c5@4 f5@2 ~ f5@2 ~ f5 ~", L: "ab4@8 ab4@2 ~ ab4@2 ~ ab4 ~", M: "eb4@8 eb4@3 eb4@3 eb4@2", N: "eb4",
  O: "g4@8 g4@3 g4@3 g4@2", P: "g4", Q: "eb5 ~@2 bb4 g5 ~@3", R: "ab4@3 ab4@3 ab4@2 ab4@3 ab4@3 ab4@2",
  S: "eb5@3 bb4@3 f5 eb5@4 ~@5", T: "g4@3 bb4 eb5 bb4 g4 eb4", U: "d4@3 g4 d5 bb4 g4 d4", V: "d4@3 g4 d5 c5 bb4 b4",
  W: "~ eb4 f4 g4 f4@3 ~", X: "bb4@3 bb4@3 bb4@2 bb4@3 bb4@3 bb4@2", Y: "bb4 ~@3", Z: "bb4 ab4@4 ~ g4 f4",
  AA: "~@2 bb4 ab4 bb4 ab4 g4 eb4", AB: "[bb4 ab4@4 ~ bb4 ab4@4 ~ bb4!3 c5]/2", AC: "bb4 ~ bb4 g4 f4 ~@2 bb4",
  AD: "bb4 g4 f4 eb4 g4 ~@3", AE: "f4@3 f4@3 g4@2", AF: "ab4@3 ab4@3 bb4@2", AG: "g4@2 bb3!2 g4@2 bb3!2",
  AH: "g4 f4!2 eb4 g4 ~ bb3!2", AI: "g4 f4 eb4 g4 f4 eb4!3", AJ: "g4 f4!2 eb4 g4 ~ f4@2", AK: "d4!2 eb4 f4 c4@4",
  AL: "~@2 eb4@2 c4@2 ~@2 d4!2 eb4@2 c4@4", AM: "~@4 g3 eb4 d4@2", AN: "~ g4 ~@2 g3 f4 g3 c4",
  AO: "g4@3 g4 ~@4 eb4@2 f4@2 bb3@2 c4@2", AP: "bb4@3 ~@5 eb4@2 f4@2 bb3@2 c4@2", AQ: "eb4@3 eb4 ~@4 d4@3 d4 b3@3 d4",
  AR: "g5 bb5 d5!2", AS: "g4!2 ~@6", AT: "g4 bb4 c4!2", AU: "c4!2 c4@2 ~@2 eb4!2", AV: "f4 g4 ab4 bb4",
  AW: "eb5 f5 g5 ab5 bb5@2 c6 d6", AX: "g5 ~ g5 eb5 g5 ~ bb4 eb5", AY: "d5@3 g5 b5 ~@3", AZ: "~@3 g5 b5 ~@3",
  BA: "c5@3 eb5 g5 ~@3", BB: "c5 ~@2 eb5 g5 ~@3", BC: "eb5@3 ab5 c6 ~@3",
  BD: "[bb3 bb3@4 ~ bb3 bb3@4 bb3!2 f4 eb4 c4]/2", BE: "[b3 b3@4 ~ b3 b3@4 ~@5]/2", BF: "c4@2 c4!2 c4@2 ~@2",
  BG: "c4 ~@3 c4@2 ~@2", BH: "eb4!4 eb4@2 ~@2", BI: "eb5!2 c5 eb5 eb5@2 eb5 c5",
  BJ: "[bb4 bb4@4 ~ bb4 bb4@3 bb4!5 ab4]/2", BK: "[b4 b4@4 ~ b4 b4@3 ~ c4 g4!3 ab4]/2", BL: "bb4@2 bb4 g4 f4@2 ~@2",
  BM: "c5 ~@3 c5@2 ~ eb4", BN: "ab4 g4 eb4 ab4 g4@2 ~@2", BO: "bb4@3 bb4@3 bb4!2 eb4@4 ~@4", BP: "d5 ~@3", BQ: "c5 ~@3",
  BR: "ab4 ~@3", BS: "eb4@3 ~@5 c6 ~@7", BT: "b4@3 ~@5 c6 ~@7", BU: "eb6@3 d6@3 c6@2 c6@3 c6@3 d6@2",
  BV: "c6 bb5!3 c6 bb5 f5 eb5", BW: "bb4@3 bb4@3 bb4!2 g4@4 ~@4", BX: "g4 ~", BY: "g4 bb4 g4 f4 eb4 ~@3",
  BZ: "c4@4 ~@2 eb4!2", CA: "ab4 c5 ab4 f4 g4 ~@3", CB: "[ab4 eb4!2 bb3@4 ~]/2",
})).s("gm_violin").gain(0.25)

// other · viola
const viola = note(`<
  A@2 B@2 C D E ~ F@2 G@2 H G ~ I J@2 K L M N O ~ A@4 P@2 Q R S@2 ~ T ~ U ~ V S@2 ~ T ~ U ~ W X Y Z AA AB AC AD ~@4 AE
  AF AG AH AI AJ AK AL AM AN AO AP AQ AR@2 AS@2 AT@2 AU@2 AV@2 AW AX AY AZ BA@2 BB BC ~ BD BE BF BG BH AR@2 AS@2 AT@2 BI
  BJ BK@2 BL@2 AT@2 ~ BM BK@2 BL@2 AT@2 ~ BN@2
>`.pickRestart({
  A: "~@8 g3 ~@7", B: "~@8 f3 ~@7", C: "c5@3 bb4 g4 ~@3 eb4 f4 ~ g4 f4@4", D: "~ eb4 ~ c4@3 ~@10", E: "~@8 c4 ~@7",
  F: "~@4 g3 ~ f3 eb3", G: "~@4 g4 ~ f3 d3", H: "~@4 g4 ~ f3 eb3", I: "bb4 ~@3", J: "eb4@2 ~@3 eb4 g4 f4",
  K: "d4@2 ~@3 d4 g4 f4", L: "~@2 c3!2 ab3!4", M: "g3@4 c3@2 c3@2 ab3!2 ~@2 ab3 bb3 ~@2",
  N: "g3@4 ~@4 c4@3 bb3@3 ab3@2", O: "g3@3 eb3@3 f3@2 f3@4 ~@4", P: "~@8 eb3 ~@7", Q: "g4@3 f4@3 eb4@2 eb4@3 f4@3 g4@2",
  R: "f4 ~@3", S: "[~@7 eb4@2 eb3 g3 bb3 eb4@2 ~@2]/2", T: "g4 g3 b3 d4 g4@2 ~@2", U: "c5 c4 g4 c5 eb5 ~@3",
  V: "ab4 ab3 c4 eb4 ab4@2 ~@2", W: "ab4 ab3 eb4 ab4 c5@2 ~@2", X: "bb3@2 ~ eb3 bb3@4", Y: "bb3@2 ~ eb3 bb3@2 ~@2",
  Z: "d4@2 ~ g3 d4@4", AA: "d4@2 ~ g3 d4@2 ~@2", AB: "g3@2 ~ c3 g3@4", AC: "g3@2 ~ c3 g3@2 ~@2",
  AD: "c4 d4 eb4 f4 eb4 c4 d4@2", AE: "d5!2 f5 g5", AF: "eb5 c5 ~@6", AG: "c4!2 f4 g4", AH: "ab4 g4 eb4@2 ~@2 ab4 g4",
  AI: "f4 eb4 d4 bb3", AJ: "g3@2 bb3!2 g3@2 eb4 bb3", AK: "bb4 ~ g4 eb4", AL: "~@6 g4 d4", AM: "d5 b4", AN: "bb3 ~",
  AO: "g4 ~ eb4 ~", AP: "ab4@2 ~ eb4 ~@2 ab4 eb4", AQ: "~@2 c4 ab3 c4 ab3 eb3 ab3",
  AR: "[eb4@2 ~@5 eb4@2 eb3 g3 bb3 eb4 ~@3]/2", AS: "[g4@2 ~@5 g4@2 g3 d4 g4 b4 ~@3]/2",
  AT: "[~@7 c5@2 c4 eb4 g4 c5@2 ~@2]/2", AU: "[~@7 ab4@2 ab3 eb4 ab4 c5@2 ~@2]/2",
  AV: "[g4 f4@4 ~ g4 f4@3 g4 f4 g4 f4 eb4 c4]/2", AW: "g4 f4@4 ~ g4 f4", AX: "b3 ~@3", AY: "c5@2 c5!2 c5@2 ~ c5",
  AZ: "c5!2 g4 ab4 bb4@2 ~@2", BA: "[eb4!2 c4 eb4 eb4@2 ~ g4@3 ab3 eb4 ab4 c5 ~@2]/2", BB: "~@2 eb5 ~", BC: "~@2 d5 ~",
  BD: "eb5 ~@3", BE: "c5@3 bb4@3 bb4@2 f4@3 eb4@3 eb4@2", BF: "c5@3 bb4@3 bb4@2 f4@3 eb4@3 ~@2",
  BG: "eb5@3 d5@3 c5@2 c5@3 c5@3 d5@2", BH: "c5 bb4!3 c5 bb4 f4 eb4", BI: "~@7 ab4", BJ: "g4@2 ab3 eb4 ab4 c5@3",
  BK: "[~@7 eb4@2 eb3 bb3 eb4 g4@4]/2", BL: "[g4@2 ~@5 g4@2 g3 d4 g4 b4@4]/2", BM: "ab4 ab3 c4 ab4 c5@2 ~@2",
  BN: "[eb4@2 c4 eb3@4 ~]/2",
})).s("gm_viola").gain(0.3)

// other · viola · soft notes
const viola_soft = note(`<
  ~@55
  [~ bb4 ~@2 g4 f4 eb4 c4]
  [eb4@3 eb4 ~@4 g4@2 f4@2 eb4@2 c4@2]
  [g4@3 ~@5 g4@2 f4@2 eb4@2 c4@2]
  [g4@3 g4 ~@4 g4@3 f4 eb4@3 c5]
  ~@62
>`).s("gm_viola").gain(0.2)

// other · cello · "Violoncello"
const cello = note(`<
  A@2 B@2 C@2 D ~ E F G@2 H I J K L M N O P@2 Q R A@2 S T U@2 V ~ W@2 X@2 Y@2 Z AA W@2 X@2 Y@2 Z ~ AB AC AD AE AF AG AH
  AI AB AJ AD AE AF AG AK AL AM AN AO AP AQ AR AS AA AT AU AV AW AX AY Z ~ AZ@2 BA@2 BB BC BD ~ BE BF BG ~ BH BI BJ BK
  BL BM BN BO BP BQ BR ~ BL ~ BN ~ BP BS BT BU BL ~ BN ~ BP BS BT BV@2
>`.pickRestart({
  A: "eb2 ~@7 eb3 ~@7", B: "g2 ~@7 d3 ~@7", C: "c3 ~@7 g3 ~@7", D: "ab2 ~@7 eb3 ~@7", E: "eb2 ~@5 eb3 ~ bb3 ~@7",
  F: "eb2 ~@2 eb3 bb3 ~@3", G: "g2 ~@2 bb3 b3 ~@3", H: "c3 ~@2 bb3 c4 ~@3", I: "c3 ~@2 eb3 g3 ~@3",
  J: "ab2 ~@2 eb3 g3 ~ ab2 ~", K: "~@8 eb3 eb3@3 eb3 f3@3", L: "[bb2,g3] bb3 g3@2",
  M: "bb2 ~@3 bb2@2 bb2@2 eb3@2 f3@2 f3@2 eb3@2", N: "g3 d3 d3@2", O: "d3@2 ~@3 d3 g3 f3", P: "c3@2 ~@3 eb3 g3 f3",
  Q: "ab2@2 ~@3 eb3 g3 f3", R: "bb3@4 ~ bb2!3", S: "d3 ~@7 d4 ~@7", T: "d3 ~@7 b3 ~@7", U: "c4 ~@7 g3 ~@7",
  V: "c4@3 c4@3 c4@2 c4@3 c4@3 c4@2", W: "[eb2@2 bb2 eb3 g3@2 ~ eb2@2 ~@7]/2", X: "[g2@2 d3 g3 b3@2 ~ g2@2 ~@7]/2",
  Y: "[c2@2 g2 c3 eb3@2 ~ c2@2 ~@7]/2", Z: "ab2@2 eb3 ab3 c4@2 ~@2", AA: "ab2 ~@3", AB: "eb2@2 ~ eb3 g3@4",
  AC: "eb2@2 ~ eb3 g3@2 eb3 c3", AD: "g2@2 ~ g3 b3@4", AE: "g2@2 ~ g3 b3@2 g3 d3", AF: "c2@2 ~ c3 eb3@4",
  AG: "c2@2 ~ c3 eb3@2 c3 g2", AH: "ab2@2 ~ ab3 ~@4", AI: "g2 ~@2 eb3", AJ: "eb2@2 ~ eb3 g3@2 eb3 bb2",
  AK: "ab2@2 ~ ab3 c4@4", AL: "ab2@2 ~ ab3 c4@2 ab3 eb3", AM: "eb2@2 eb3 bb3 g3@2 c4 bb3", AN: "~ bb3 eb3 bb3 ~@3 bb3",
  AO: "g2@2 g3 d4 b3@2 ~@2", AP: "~ d4 g3 d4 ~@2 g4 d4", AQ: "c2@2 c3 g3 eb3@2 c4 g3", AR: "~ g3 c3 g3 eb4@2 c4 g3",
  AS: "ab2@2 ab3 ~ c4@2 ~@2", AT: "eb2@2 bb2 eb3 g3 ~@3", AU: "eb2 ~@2 eb2", AV: "g2@2 d3 g3 b3 ~@3", AW: "g2 ~@2 g2",
  AX: "c2@2 g2 c3 eb3 ~@3", AY: "c3 ~@3", AZ: "[eb2@2 bb2 eb3 g3 ~@2 eb3@2 eb2 bb2 eb3 g3 ~@3]/2",
  BA: "[g2@2 d3 g3 b3 ~@2 g3@2 g2 d3 g3 b3 ~@3]/2", BB: "c2@2 g2 c3 eb3@2 ~ c4", BC: "c4 c3 eb3 g3 c4@2 ~@2",
  BD: "ab2@2 eb3 ab3 c4 ~@3", BE: "eb4 g4 eb4 ~", BF: "d4 g4 d4 ~", BG: "c4@3 bb3 c4@3 d4 c4@3 bb3 g3@4",
  BH: "[c3,g3]@3 ~@13", BI: "[g2,d3]@3 ~@13", BJ: "[c3,g3] ~@3", BK: "[ab2,eb3]@2 [ab2,eb3]!6",
  BL: "eb2@2 bb2 eb3 g3@4", BM: "eb2", BN: "g2@2 d3 g3 b3@4", BO: "g2", BP: "c2@2 g2 c3 eb3@4", BQ: "c3",
  BR: "ab2@2 eb3 ab3 c4@4", BS: "eb3", BT: "ab2@2 c3 eb3 ab3@4", BU: "ab3 bb3",
  BV: "[~ ab2 eb3 ab3 ~ eb3 ab3 eb3@7 ~@2]/2",
})).s("gm_cello").gain(0.3)

stack(violin, viola, viola_soft, cello)

More by Yes