Strudelify

leshphon

Neople

KeyB♭ majorTempo55 bpm
0:00/0:00
// leshphon — Neople
// 55 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/6268459; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 27 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(55/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.

// chords · piano
const piano = note("<A B A C@2 D E F G H I J K L M N O P Q R S T U V W X Y>".pickRestart({
  A: "g5 d6!3", B: "d6 c6 bb5 a5 g5@2 gb5@2", C: "[d6@4 c6@4 [a4,bb5]@4 a5@19 ~]/2",
  D: "[bb4,d5,g5,bb5]@2 [a4,d5,a5] [bb3,g4] [d4,g4,d5]@4", E: "[d5,d6] [c5,c6] [bb4,bb5] [a4,a5] [g4,g5]@2 [f4,f5]@2",
  F: "[bb4,d5,g5,bb5]@2 [a4,d5,a5] [bb3,d4,g4] [d4,g4,d5]@2 g3 bb3", // Gm D5 Gm G5
  G: "[d5,f5,a5,d6]@2 [a4,d5,a5]@2 [g4,g5] [f4,f5] [d4,d5] [a4,a5]", // Dm D5 G F D A
  H: "[eb4,g4,c5,eb5]@2 [eb4,g4] f4 [g4,eb5,g5]@4 [a4,g5,a5]@2 eb4 f4 [g4,c5,eb5,g5] f4 g4 f4", // Cm Eb Cm A7 Cm
  I: "[d4,g4,d5]@2 [d4,g4] gb4 [g4,g5]@4 [a4,d5,g5,a5]@2 [bb3,d4,g4,bb4] gb4 [d4,g4,d5,g5] f4 [g3,d4,g4] f4", // G5 G Dsus4 Gm G5
  J: "[c4,g4,c5]@2 [c4,g4] [d4,f4] [g4,g5]@2 c4 d4 [eb4,g4,bb4] f4 [eb4,g4]@2 [a4,g5,a5]@2 c4@2", // C5 Dm G Eb A7
  K: "[d5,d6]@2 [d5,d6]@2 [d5,d6]!4", // D
  L: "[d4,g4]@2 [bb4,bb5] [a4,a5] [d4,g4,g5]@2 [d4,g4]@2 [g4,a4,d5]@4 [g4,d5]@2 [f4,f5] [g4,g5]", // G5 Bb A G5 Gsus2 G5 F G
  M: "[d5,g5,d6] [g4,c5] g4 c5 [d4,g4,bb4,d5]@2 [d4,gb4,a4,c5]@2", // G5 C5 Gm D7
  N: "[d4,g4]@2 [bb4,bb5] [a4,a5] [d4,g4,g5]@2 [d4,g4]@2 [d4,f4,g4,a4,d5]@2 [d4,f4,g4]@2 [d4,d5]@2 [bb3,f4] [d4,g4]", // G5 Bb A G5 Dm G7 D Bb5 …
  O: "[g4,bb4,d5,g5] c5 [g3,c4,g4] c5 [g4,bb4,eb5,g5]@2 [gb4,a4,d5,gb5]@2", // Gm C5 Eb D
  P: "[g4,c5,eb5]@2 eb4 f4 [g4,g5]@2 g4@2 [g4,bb4,d5,g5]@4 [g4,bb4,g5] a5 [g4,bb4,g5] f5", // Cm G Gm
  Q: "[g4,a4,c5,g5]@2 [f4,c5,f5] f5 [eb4,g4,eb5]@2 [d4,g4,d5]@2 [d5,gb5,bb5,d6]@4 [c5,gb5,a5,c6]@2 [c4,a4]@2", // Am7 F5 Eb G5 Daug Gbdim F
  R: "[g4,d5,g5]@2 [bb4,bb5] [a4,a5] [g4,bb4,g5]@2 [d4,f4,a4]@2 [c4,eb4,g4]@2 [bb4,bb5] [a4,a5] [g4,bb4,g5]@2 [f4,a4]@2", // G5 Bb A Gm Dm Cm Bb A …
  S: "[g4,eb5,g5]@2 [bb4,bb5] [a4,a5] [g4,c5,g5]@2 g4@2 [g4,c5,d5,g5]@4 [gb4,a4,d5,gb5]@4", // Cm Bb A C5 Gsus4 D
  T: "[g4,d5]@2 bb5 a5 bb5@4 [a4,d5,f5,a5]@4 [eb4,g4,eb5,g5]@2 eb4@2", // G5 Dm Eb
  U: "[d4,g4,bb4,d5] [d4,g4] [a4,d5] a3 d4 a3 [d4,bb4]@2", V: "[g3,d4,g4]@2 g4 a4 bb4@4 [a3,d4,eb4,a4]@4 [g3,d4,g4]@4",
  W: "[g3,c4,d4,g4] [g3,a3] [c4,d4,eb4,g4,a4] [g3,bb3,d4,eb4,g4]", // Gsus4 Gsus2 Am7b5 Ebmaj7
  X: "[c4,g4]@2 f6 c6 d6@2 a5@2 [d4,f4,a4,d5]@2 d6@2 d6@2 d6@2", Y: "d6@15 ~",
})).s("gm_piano").gain(0.3)

stack(piano)

More by Neople