Strudelify

Preludes Op.28

Chopin Frederic

KeyE♭ majorTempo40 bpm
0:00/0:00
// Preludes Op.28 — Frederic Chopin
// 40 bpm, 4/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 8 "B♭ Trumpet" trumpet (copy of ch 2 "B♭ Clarinet" clarinet); ch 11 "B♭ Trumpet" trumpet (copy of ch 3 "B♭ Clarinet" clarinet); ch 15 "Trombone" trombone (copy of ch 14 "Trombone" trombone)
// note: Transcription provider: pdmx. https://musescore.com/score/2793561; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 14 bars on a 48-step grid, each part at one level. Source detail keeps the original performance.
setcpm(40/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 · clarinet · "B♭ Clarinet"
const clarinet = note("<A B C D E F G H@5 I@2>".pickRestart({
  A: "g4@4 ab4@4 g4@3 f4 eb4@4", B: "eb4@4 f4@4 eb4@3 db4 c4@4", C: "d4@4 e4@4 g4@3 f4 eb4@4",
  D: "d4@4 g4@4 b4@3 a4 g4@4", E: "eb5!2 d5!2", F: "c5@4 d5@4 b4@3 a4 g4@4", G: "c5@4 ab4@4 g4@3 f4 eb4@4",
  H: "[~ eb4@13 ~ f4@13 eb4@11 d4@4 c4@15 eb5@12 eb5@12 d5@12 d5@12 c5@12 d5@12 b4@9 a4@3 g4@12 c5@12 ab4@12 g4@9 f4@3 eb4@13 eb4@13 ~ f4@13 eb4@10]/5",
  I: "[~ d4@4 c4@15 c5@72 ~@4]/2",
})).s("gm_clarinet").gain(0.2)

// other · clarinet · "B♭ Clarinet"
const clarinet_2 = note("<A B C D E F G H@5 I@2>".pickRestart({
  A: "eb4@4 eb4@4 eb4@3 d4 c4@4", B: "c4@4 db4@4 c4@3 bb3 ab3@4", C: "b3@4 c4@4 g4@3 f4 c4@4", D: "c4 d4 gb4 d4",
  E: "g4@4 ab4@4 ab4@3 gb4 g4@4", F: "g4@4 gb4@4 g4@3 a4 d4@4", G: "g4 c4 d4 c4",
  H: "[~ c4@13 ~ db4@13 eb4@11 d4@4 c4@15 g4@12 ab4@12 ab4@9 gb4@3 g4@12 g4@12 gb4@12 g4@9 a4@3 d4@12 g4@12 c4@12 d4@12 c4@13 c4@13 ~ db4@13 eb4@10]/5",
  I: "[~ d4@4 c4@15 g4@72 ~@4]/2",
})).s("gm_clarinet").gain(0.2)

// other · clarinet · "B♭ Clarinet"
const clarinet_3 = note("<A B C D E F G H@7>".pickRestart({
  A: "c4!2 b3 g3", B: "ab3!2 g3 eb3", C: "f3 bb3 c4!2", D: "gb3 b3 d4!2", E: "eb4!2 d4!2", F: "c4@4 d4@4 d4@3 c4 b3@4",
  G: "c4 ab3 g3!2",
  H: "[~ ab3@13 ~ ab3@13 g3@15 g3@15 eb4@12 eb4@12 d4@12 d4@12 c4@12 d4@12 d4@9 c4@3 b3@12 c4@12 ab3@12 g3@12 g3@13 ab3@13 ~ ab3@13 g3@15 g3@15 eb4@72 ~@4]/7",
})).s("gm_clarinet").gain(0.2)

// other · alto sax · "Alto Saxophone"
const alto_sax = note("<A B C D E F G H@7>".pickRestart({
  A: "c4!2 b3 c4", B: "ab3!2 g3 ab3", C: "f3 g3 ab3 g3", D: "c4 b3 d4 b3", E: "g4@4 ab4@4 ab4@3 gb4 g4@4",
  F: "g4@4 gb4@4 g4@3 a4 g4@4", G: "g4 c4 d4 c4",
  H: "[~ ab3@13 ~ ab3@13 g3@15 g3@15 g4@12 ab4@12 ab4@9 gb4@3 g4@12 g4@12 gb4@12 g4@9 a4@3 g4@12 g4@12 c4@12 d4@12 c4@13 ab3@13 ~ ab3@13 g3@15 g3@15 eb4@72 ~@4]/7",
})).s("gm_alto_sax").gain(0.2)

// other · alto sax · "Alto Saxophone"
const alto_sax_2 = note("<A B C D E F G H@7>".pickRestart({
  A: "g3 ab3 g3 eb3", B: "eb3 f3 db3 eb3", C: "d3 e3 ab3 g3", D: "gb3 g3 c4 b3", E: "eb4!2 d4!2",
  F: "c4@4 c4@4 d4@3 c4 b3@4", G: "c4 ab3 g3!2",
  H: "[~ eb3@13 ~ f3@13 f3@15 eb3@15 eb4@12 eb4@12 d4@12 d4@12 c4@12 c4@12 d4@9 c4@3 b3@12 c4@12 ab3@12 g3@12 g3@13 eb3@13 ~ f3@13 f3@15 eb3@15 c4@72 ~@4]/7",
})).s("gm_alto_sax").gain(0.2)

// other · baritone sax · "Baritone Saxophone"
const baritone_sax = note("<A B C D E F G H@7>".pickRestart({
  A: "c3 f2 g2 c3", B: "ab2 db2 eb2 c3", C: "g2 c3 f2 c3", D: "a2 g2 d2 g2", E: "c3 c4 b3 bb3", F: "a3 ab3 g3 f3",
  G: "eb3 f3 b2 c3",
  H: "[~ ab2@13 ~ db2@13 g2@15 c3@15 c3@12 c4@12 b3@12 bb3@12 a3@12 ab3@12 g3@12 f3@12 eb3@12 f3@12 b2@12 c3@13 ab2@13 ~ db2@13 g2@15 c3@15 g3@72 ~@4]/7",
})).s("gm_baritone_sax").gain(0.2)

// other · trombone
const trombone = note("<A B C D E F G H@7>".pickRestart({
  A: "c3 f2 g2 c3", B: "ab2 db3 eb3 ab2", C: "g2 c2 f2 c3", D: "d3 g2 d2 g2", E: "c3 c4 b3 bb3", F: "a3 ab3 g3 f3",
  G: "eb3 f3 b2 c3",
  H: "[~ ab2@13 ~ db3@13 g2@15 c3@15 c3@12 c4@12 b3@12 bb3@12 a3@12 ab3@12 g3@12 f3@12 eb3@12 f3@12 b2@12 c3@13 ab2@13 ~ db3@13 g2@15 c3@15 g3@72 ~@4]/7",
})).s("gm_trombone").gain(0.2)

// other · trombone
const trombone_2 = note("<A B C D E F G H@7>".pickRestart({
  A: "c2 f2 g2!2", B: "ab2 db2 eb2 ab2", C: "g2 c2 f2 c3", D: "a2 g2 d2 g2", E: "c2 c3 b2 bb2", F: "a2 ab2 g2 f2",
  G: "eb2 f2 b1 c2",
  H: "[~ ab2@13 ~ db2@13 g2@15 c2@15 c2@12 c3@12 b2@12 bb2@12 a2@12 ab2@12 g2@12 f2@12 eb2@12 f2@12 b1@12 c2@13 ab2@13 ~ db2@13 g2@15 c2@15 c3@72 ~@4]/7",
})).s("gm_trombone").gain(0.2)

// bass · tuba · "Euphonium"
const bass = note("<A B C D E F G H@7>".pickRestart({
  A: "c3 f2 g2 c3", B: "ab2 db3!2 ab2", C: "g2 c3 f2 c3", D: "a2 g2 d3 g2", E: "c3!2 b2 bb2", F: "a2 ab2 g2 f2",
  G: "eb3 f3 b2 c3",
  H: "[~ ab2@13 ~ db3@13 g2@15 c3@15 c3@12 c3@12 b2@12 bb2@12 a2@12 ab2@12 g2@12 f2@12 eb3@12 f3@12 b2@12 c3@13 ab2@13 ~ db3@13 g2@15 c3@15 c3@72 ~@4]/7",
})).s("gm_tuba").gain(0.2)

stack(clarinet, clarinet_2, clarinet_3, alto_sax, alto_sax_2, baritone_sax, trombone, trombone_2, bass)

More by Chopin Frederic