Strudelify

Sewer

Neople

KeyD majorTempo120 bpm
0:00/0:00
// Sewer — Neople
// 120 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Transcription provider: pdmx. https://musescore.com/score/6327367; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 77 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 · "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.

// chords · piano · "Piano 1"
const piano = note(`<
  A@4 B@4 C@5 D E@3 F@2 G@2 H@2 I J K@2 L M N O P@2 Q R S@2 T U V@2 W@2 X@2 Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM
  AN AO@2 AP AQ AR AS AT AU AV AW AX AY@3 AZ@2
>`.pickRestart({
  A: "[~@3 b4@15 d4@8 [c#4,a4]@8 [a3,d4]@30, ~ [d4,f#4]@8 ~@23]/4", // F#m D5 D
  B: "[~@3 [f#4,b4]@15 d4@8 [c#4,c#5]@4 d5@4 [a3,f#4]@30, ~ [b3,d4]@8 ~@23]/4", // B5 C# D Bm
  C: "[~@3 [f#4,b4]@15 d4@8 [c#4,a4]@8 [a3,d4]@23 ~ e4@4 f#4@4 [g3,b3]@4 [g4,b4] d5 g5 b5 [b4,d5] g5 b5 d6 [g5,b5] d6, ~ [b3,d4]@8 ~@31]/5", // B5 F#m D5 G Bm G Bm
  D: "g6 b6 [b4,d5] g5 b5 d6 [d5,g5] b5 [d6,g6] b6 [g5,b5] d6 [g6,b6] d7 [d6,g6] b6", E: "[d7 g7 [g4,b4,d5]@41 ~@5]/3",
  F: "[d4 a3 d4 e4@2 f#4@2 a4@2 c#5@2 d5 a4@2 [c#4,c#5]@2]/2", // C#
  G: "[[d4,d5]@2 d4 e4@2 f#4@2 a4@2 c#5@2 d5 [a3,a4]@2 a3@2]/2", // D A
  H: "[[f#3,d4,f#4]@2 [f#3,f#4] e4@2 d4@2 [f#3,b3]@3 f#3@2 [e3,e4]@2 [f#3,f#4]@2]/2", // D F# B5 E F#
  I: "[b3,f#4,b4]@2 f#5 [f#4,e5]@2 d5@2 b4", J: "b4 d4@2 b3 c#4@4",
  K: "[[d4,a4,d5]@2 d4 e4@2 f#4@2 a4@2 c#5@2 d5 a4@2 [c#4,c#5]@2]/2", L: "[d4,f#4,d5]@2 d4 e4@2 f#4@2 a4",
  M: "[f#4,f#5] c#5@2 d5 [g4,g5] e5@2 f#5", N: "[f#4,d5,g5] f#5 d5 [d4,f#4] [d4,f#4,b4]@4",
  O: "[b5,a6]@2 [f#4,a4,c#5] [e4,d5]", // B7 F#m E7
  P: "[[g4,b4,g5] f#5 d5@2 [d4,g4] a4 b3 [b3,g4]@3 [b3,g4,b4]@2 g4 [a3,d4,f#4,a4]@2 a3]/2", // G G5 Em D
  Q: "[b3,e4,g4,b4]@2 [e4,g4] f#4@2 g4 b3 [e4,a4]", R: "b3 [c#4,a4,c#5] [d4,a4,d5] [e4,b4,d5,e5]",
  S: "[[c#4,e4,a4,c#5]@3 [e4,a4,d5]@3 [e4,a4,c#5]@4 [e4,b4,e5]@2 [f#4,b4,f#5]@2 [g4,b4,g5]@2]/2", // A Dsus2 A E5 B5 G
  T: "[a4,c#5,f#5,a5]@4 [f#4,a4]@2 [b3,b4] e4", U: "[c#4,a4,c#5]!2 [f#4,d5,f#5] c#4",
  V: "[[d4,f#4,b4,d5]@3 d4 f#4@2 b4 d4@3 [e4,e5] [f#4,b4] [d4,d5]@2 [c#4,a4,c#5]@2]/2", // Bm E B5 D F#m
  W: "[[b3,d4,b4,d5]@4 [b3,g4] d4@2 [g3,d4]@2 [g3,b3,g4] g3@2 [b3,d4,g4,b4] [c#4,a4,c#5] [d4,b4,d5] [e4,c#5,e5]]/2", // Bm Em G5 G F#m G C#m
  X: "[[f#4,d5,f#5] ~ [g4,e5,g5]@2 ~@2 [f#4,a4,c#5,f#5]@4 ~@5 d4, ~@20 c#4@7 b4 [g4,a4] [e4,f#4]@3, ~@3 g5, ~@25 [e5,f#5]@7, ~@13 [c#5,d5]@3]/2", // D C F#m Gsus2 Esus2 Dmaj7
  Y: "[d4,f#4,d5] [a3,d4,f#4]", Z: "[a4,d5,a5]@3 [a3,c#4,f#4,a4] [a3,d4,f#4,a4]@3 [g3,d4]",
  AA: "[g3,a3,d4,g4]@3 g3 [g3,b3,d4,g4]@4", AB: "[g4,b4,e5,g5] [a4,a5] [b4,g5,b5] [d5,f#5,a5,d6]",
  AC: "[a4,d5,f#5,a5]@4 [d4,f#4,a4]@2 f#4 d4", AD: "[e4,f#4,a4,e5]@4 [d4,f#4,a4,d5]@2 f#4 g4",
  AE: "[c#4,g4,a4,c#5]@4 [c#4,g4,a4,c#5]@2 [d4,d5] [c#4,c#5]", AF: "[b3,g4,b4]@4 [d4,g4,b4] [a3,d4,f#4,a4]@3",
  AG: "[e4,g4]@2 e4 f#4 [b3,e4,g4] a4 [d4,b4] c#5", AH: "[c#4,e4,a4,c#5]@3 [e4,a4] [e4,a4,b4,e5]@4",
  AI: "[a3,c#4,f#4,a4]@2 e4 [a4,c#5,a5]", AJ: "[g4,b4,d5,g5]@2 [f#4,f#5]@2 [e4,a4,e5]@3 [d4,d5]",
  AK: "[b3,g4,b4] [g4,b4]", AL: "[b3,d4,g4,b4]@3 b3 [g3,d4,g4] [a3,f#4,a4] [b3,g4,b4] [c#4,a4,c#5]",
  AM: "[d4,b4,d5]@2 [d4,g4]@2 [d4,g4,a4,b4,d5]@2 [e4,a4,e5] [d4,d5]", AN: "[c#4,a4,c#5]@3 c#4 [c#4,g4,a4,c#5]@4",
  AO: "[[d4,f#4,a4,d5]@2 e4 e4@2 f#4@2 a4@2 c#5@2 d5@2 c#5 b4 a4]/2", AP: "[g3,a3,e4,g4]@2 d4 e5@2 f#5@2 a5",
  AQ: "[f#3,a3,d4,f#4] c#6@2 d6@2 [f#3,a3]@2 [f#3,a3]", AR: "[d4,f#4,a4]@4 [d4,f#4]@3 [d4,f#4]",
  AS: "~ [d4,f#4] [d4,f#4]@2 [d4,f#4,a4] [d4,f#4]!2 [b3,d4]", AT: "[b3,e4,g4]@4 e4@3 e4",
  AU: "[e4,g4] e4 [e4,a4]@2 [e4,g4,b4] g4 [e4,d5] f#4", AV: "[a3,c#4,f#4,a4]@4 [a3,c#4,f#4,a4]@3 [f#4,a4]",
  AW: "[e4,e5] f#4 f#4@2 [f#4,d5] f#4@2 [b3,f#4]", AX: "~ [d4,g4]@15, b3",
  AY: "[~ [e4,g4]@3 f#4@4 [c#4,e4]@4 c#4@11 ~ [a3,d4]@11 ~@2 g4@3 f#4@4 e4@4, b3 ~@8 d4 ~@2]/3", // Em C#m D5
  AZ: "[[a3,d4,f#4,a4]@15 ~]/2", // D
})).s("gm_piano").gain(0.35)

stack(piano)

More by Neople