Strudelify

Dolly Suite Op.56

Gabriel Fauré

KeyE♭ majorTempo198 bpm
0:00/0:00
// Dolly Suite Op.56 — Gabriel Fauré
// 198 bpm, 3/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: sustain pedal (CC 64) lengthens the held notes
// note: Transcription provider: pdmx. https://musescore.com/score/5904511; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 165 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(198/3)

// 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
const piano = note(`<
  A@5 ~ B@4 C@7 ~ D@6 E@5 ~ B@4 C@7 ~ F@5 ~@2 G@2 H I J@2 H I K L M N@2 O@2 P ~ Q H I J@2 H I K L M N@2 O@2 P R S@2 T@2
  U@2 V@2 S@2 T@2 W@2 X@2 S@2 T@2 Y@2 V@2 S@2 T@2 Z@2 AA@2 AB AC AD@2 AE ~ AF AG AH AI AJ@2 AB AC AK AL@2 ~ AM AN AO AP
  AQ ~ AR@2 AS@6 AT@2 AU@4 AV@4 AW@8 ~
>`.pickRestart({
  A: "[~@9 [g3,bb3,eb4]@11 ~@5 [ab3,c4,eb4]@11 ~@19 g3@2 ab3@3 bb3@3 c4@2 d4@3 [g3,eb4]@5 ~@7, ~@4 eb2@16 ab2@16 bb2@16 eb2@5 ~@23, ~@41 d4@13 ~@26, ~@41 ab3@11 ~@28, ~@47 gb3@8 ~@25]/5", // Eb Ab Cm
  B: "[~@9 [g3,bb3,eb4,g4]@11 ~@5 [bb3,c4]@11 ~@11 c4@5 f3@5 eb4@6 a4, ~ c3@4 eb3@4 gb3@4 ~@3, ~@41 [eb4,bb4]@11 ~@5 ab4@5 ~@2]/4", // Eb Bbsus2 Eb5
  C: "[~@4 bb2@5 [g3,bb3]@11 [f3,ab3]@15 ~@6 [g3,bb3,eb4]@11 ~@5 [ab3,c4,eb4]@11 ~@11 eb4@5 bb3@3 gb3@2 g3@3 bb3@3 db4@2 e4@3 [ab3,f4]@5 ~@7, ~@9 d4@26 ~ eb2@16 ab2@16 bb2@16 ab2@20 ~@8, ~@73 [ab3,d4]@11 e4@11 ~@17]/7", // Gm Fm Eb Ab Db Abdim
  D: "[~@9 [eb3,a3,c4,eb4]@11 ~@5 [d3,g3,bb3,d4]@11 ~@5 [g3,bb3,e4]@11 ~@5 [ab3,d4,f4]@11 [eb2,g3,bb3,eb4]@5 d5@3 c5@3 b4@2 bb4@3 a4@3 ab4@2 g4@3 gb4@3 f4, ~ f2@4 g2@4 [c2,c3]@4 [bb1,bb2]@4 ~@7]/6", // Adim Gm Edim Ddim Eb C Bb
  E: "[~ e4@3 ~@5 [g3,bb3,eb4]@11 ~@5 [ab3,c4,eb4]@11 ~@19 g3@2 ab3@3 bb3@3 c4@2 d4@3 [g3,eb4]@5 ~@7, ~@4 eb2@16 ab2@16 bb2@16 eb2@5 ~@23, ~@41 d4@13 ~@26, ~@41 ab3@11 ~@28, ~@47 gb3@8 ~@25]/5", // Eb Ab Cm
  F: "[~@9 [eb3,a3,c4,eb4]@11 ~@5 [d3,g3,bb3,d4]@11 [c2,c3]@5 [g3,bb3,e4]@10 ~ [bb1,bb2]@5 [ab3,d4,f4]@10 ~ [eb2,g3,bb3,eb4]@5 ~@7, ~ f2@4 g2@4 ~@11]/5", // Adim Gm C Edim Bb Ddim Eb
  G: "[~@21 ab3@5 ~ g3@5, ~@15 d3@16 ~]/2", H: "gb3@3 e3@2 gb3@3 ab3@3 bb3@5, db3@15 ~",
  I: "ab3@3 gb3@2 ab3@3 bb3@3 c4@5, eb3@15 ~", J: "[db4@5 c4@5 ~@11 ab3@5 ~ e3@5, ~@11 bb3@10 ~@11, ~@16 d3@15 ~]/2",
  K: "db4@5 c4@5 ~ bb3@5", L: "bb3@3 ab3@2 bb3@3 c4@3 d4@5, [ab1,ab2]@15 ~",
  M: "c4@3 bb3@2 c4@3 d4@3 e4@5, [bb1,bb2]@15 ~", // Bb
  N: "[eb4@3 d4@2 eb4@3 f4@3 ~@10 f4@5 ~ eb4@5, [b1,b2]@15 ~ [c2,c3]@15 ~, ~@11 gb4@11 ~@10]/2", // B C
  O: "[~@27 d4@5, [b1,b2]@11 d4@13 bb3@8, d4@8 b3@8 ~@5 ab3@11, ~@3 d3@13 [bb1,bb2]@16, ~@5 g3@11 ~@3 d3@13]/2", // B Bb
  P: "~@8 g3@3 bb3@5, eb2@15 ~, ~@3 bb2@8 ~@5, ~@5 eb3@5 ~@6", Q: "~@5 ab3@5 ~ g3@5, d3@15 ~",
  R: "~@11 [ab1,ab2]@5, ~@5 [eb3,ab3,c4]@11", // Ab
  S: "[~@5 [bb1,bb2]@5 ~@6 [db2,db3]@5 ~@6 [c2,c3]@5, [eb3,g3,db4]@11 [eb3,g3,bb3]@10 [eb3,ab3,eb4]@11]/2", // Bb Db C Eb7 Eb Ab5
  T: "[~@5 [eb2,eb3]@5 ~@6 [db2,db3]@5 ~@6 [c2,c3]@5, [a3,c4,f4]@11 [bb3,db4,gb4]@10 [bb3,e4,g4]@11]/2", // Eb Db C F Gb Edim
  U: "[~@5 [e1,e2]@5 ~@6 [ab1,ab2]@5 ~@6 [bb1,bb2]@5, [b3,e4,ab4]@11 [b3,eb4,gb4]@10 [ab3,d4,e4]@11]/2", // E Ab Bb E B E7
  V: "[~@5 [c2,c3]@5 ~@6 [eb2,eb3]@5 ~@6 [ab1,ab2]@5, [g3,c4,eb4]@11 [g3,bb3,db4]@10 [eb3,ab3,c4]@11]/2", // C Eb Ab Cm Gdim Ab
  W: "[~@5 [b1,b2]@5 ~@6 [g1,g2]@5 ~@6 [c2,c3]@5, [ab3,eb4,ab4]@11 [g3,b3,eb4]@10 [eb3,g3,c4]@11]/2", // B G C Ab5 Gaug Cm
  X: "[~@5 [eb2,eb3]@5 ~@6 ab2@5 ~@6 [ab1,ab2]@5, [db3,g3,bb3]@11 [c3,eb3,ab3]@10 [eb3,ab3,c4]@11]/2", // Eb Ab Gdim Ab
  Y: "[~@5 [e1,e2]@5 ~@6 [ab1,ab2]@5 ~@6 [bb1,bb2]@5, [b3,e4,ab4]@11 [b3,eb4,gb4]@10 [ab3,db4,e4]@11]/2", // E Ab Bb E B Dbm
  Z: "[~@5 [b1,b2]@5 ~@6 [g1,g2]@5 ~@6 [c2,c3]@5, [ab3,eb4,ab4]@11 [f3,b3,eb4]@10 [eb3,g3,c4]@11]/2", // B G C Ab5 Fm7b5 Cm
  AA: "[~@5 [eb2,eb3]@5 ~@6 [ab1,ab2]@5 ~@11, [db3,g3,bb3]@11 [c3,eb3,ab3]@11 ~@10]/2", AB: "~@5 [g3,bb3,eb4]@11, eb2",
  AC: "~@5 [ab3,c4,eb4]@11, ab2", // Ab
  AD: "[~@19 g3@2 ab3@3 bb3@3 c4@2 d4@3, bb2@16 eb2@5 ~@11, ~@5 d4@13 ~@14, ~@5 ab3@11 ~@16, ~@11 gb3@8 ~@13]/2",
  AE: "[g3,eb4]@5 ~@11", AF: "~@5 [g3,bb3,eb4,g4]@11, c3", AG: "~@5 [bb3,c4]@11, eb3",
  AH: "~@11 c4@5, gb3, ~@5 [eb4,bb4]@11", AI: "f3@5 ab4@5 ~ a4@5, ~@5 eb4@11",
  AJ: "[bb2@5 [g3,bb3]@11 [f3,ab3]@15 ~, ~@5 d4@26 ~]/2", AK: "~@11 eb4@5, bb2, ~@5 [ab3,d4]@11",
  AL: "[bb3@3 gb3@2 g3@3 bb3@3 db4@2 e4@3 [ab3,f4]@5 ~@11, ab2@5 ~@3, e4@11 ~@21]/2", AM: "~@5 [eb3,a3,c4,eb4]@11, f2",
  AN: "~@5 [d3,g3,bb3,d4]@11, g2", AO: "[c2,c3]@5 [g3,bb3,e4]@10 ~", AP: "[bb1,bb2]@5 [ab3,d4,f4]@10 ~",
  AQ: "[eb2,g3,bb3,eb4]@5 ~@11", AR: "[~@2 bb3@6 c4@7 db4@8 d4@3 eb4@3 d4@3]/2",
  AS: "[c4@2 ~@8 ab3@3 bb3@3 c4@2 d4@5 ~ c4@2 bb3@3 c4@3 d4@2 e4@5 ~ eb4@2 d4@3 eb4@3 f4@2 ~@6 [db2,db3,bb3,db4]@15 ~ [db2,db3,ab3,b3,f4]@15 ~ [gb2,gb3,bb3,gb4]@5 ~@3, ~ bb3@4 ~@20 gb4@10 ~@13, ~@8 [ab1,ab2]@15 ~ [bb1,bb2]@15 ~ [b1,b2]@15 ~@41]/6", // Gb Db7 Gb Ab Bb B
  AT: "[~@8 bb3@5 c4@5 db4@6 d4@3 eb4@3 d4@2]/2",
  AU: "[c4@3 ~@8 ab3@3 bb3@2 c4@3 d4@5 c4@3 bb3@3 c4@2 d4@3 e4@5 eb4@3 d4@3 eb4@2 f4@3 ~@5 [db2,db3,bb3,db4]@8, ~@3 bb3@8 ~@40 gb4@13, ~@8 [ab1,ab2]@15 ~ [bb1,bb2]@15 ~ [b1,b2]@15 ~@9]/4", // Gb Ab Bb B
  AV: "[~@3 [b1,b2,ab3,eb4,f4,ab4]@10 ~ [bb1,bb2,ab3,d4,f4,ab4]@10 ~@28 g4@5 [db2,db3,bb3,db4,gb4]@7, ~@24 eb2@25 eb4@8 ~@7, ~@24 g4@22 bb3@11 ~@7, ~@24 eb4@19 g3@14 ~@7, ~@24 [g3,bb3]@3 bb2@3 eb3@2 g3@3 bb3@5 [bb2,eb3]@17 ~@7]/4", // Fm7b5 Bb7 Gb Gm Eb5
  AW: "[~@4 [b1,b2,ab3,eb4,f4,ab4]@11 [bb1,bb2,ab3,d4,f4,ab4]@11 ~@29 g4@5 ~@29 g4@10 [eb2,bb2,g3,bb3,eb4,g4]@29, ~@27 eb2@22 bb3@3 eb4@8 g4@20 g3@6 eb4@13 ~@29, ~@27 g4@19 g3@14 eb2@23 bb3@16 ~@29, ~@27 eb4@16 bb2@17 eb4@17 bb2@22 ~@29, ~@27 [g3,bb3]@2 bb2@3 eb3@3 g3@3 bb3@5 eb3@17 [g3,bb3]@3 bb2@3 eb3@3 g3@2 bb3@6 eb3@32 ~@19]/8", // Fm7b5 Bb7 Eb Gm
})).s("gm_piano").gain(0.25)

stack(piano)

More by Gabriel Fauré