Strudelify

Clair de lune Op. 46 Nr. 2

Gabriel Fauré

KeyD♭ majorTempo39 bpm
0:00/0:00
// Clair de lune Op. 46 Nr. 2 — FAURE Gabriel
// 39 bpm, 3/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 59 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(39/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 · "A.PIANO 1"
const piano = note("<A B@2 C@7 D@2 E@3 F@2 G@3 H@2 I@2 J K L@5 M@6 N O@7 P@6 Q@8>".pickRestart({
  A: "~@16 [db5,f5]@10 ~ eb5@3 [db5,f5]@2, ~ ab5@5 ~@2", // Db
  B: "[~@2 eb5@16 ~@5 [c5,eb5]@3 db5@4 ~@16 c5@3 db5@3 ~ c5@11, ~@20 db5@5 ~ bb4@17 ~@21, ~@31 f5@13 ~@20, ~@39 db5@10 ~@15]/2", // Cm
  C: "[~@8 bb4@3 c5@2 ~@4 bb4@2 ~@12 ab4@2 gb4@9 ~@23 f4@2 ~@12 eb4@3 ~ db4@9 c4@12 ~@11 f5@10 db5@10 ~@11 eb5@17 ~@10 db5@10 db5@9 ~@11 eb5@18 ~@3, ~@13 bb4@4 ~@2 ab4@4 ab4@5 gb4@5 ~@10 f4@13 ~@5 f4@4 ~@2 eb4@4 ~ eb4@5 db4@6 ~@42 f5@17 f5@21 ~@7 [eb4,eb5]@22 ~@32, ~@15 eb5@4 ~@2 bb4@5 eb4@17 ~@10 db4@14 ~@2 f4@5 bb3@17 ~@17 [f3,ab3]@26 ~@33 db4@25 ~@32, ~@63 bb4@4 ~@48 ab5@19 ~@4 eb5@7 ~@22 db5@6 [ab4,ab5]@18 ~@5 eb5@7 ~@21, ~@183 f5@16 f5@22 ~@3]/7", // Eb Fm Ab
  D: "[~@22 db5@9 ~, ~ [db4,db5]@26 ~@37, ~@4 [eb4,eb5]@23 ~@37, ~@7 [bb4,bb5]@16 f5@12 f5@27 ~@2, ~@7 f5@6 [ab4,ab5]@14 ~@5 eb5@6 eb5@24 ~@2]/2", // Db Eb Bb Ab
  E: "[~@6 bb5@10 eb6@3 [eb5,eb6]@2 ~@3 [db5,bb5,db6]@2 [db5,bb5,db6]@2 bb5@2 [c5,gb5,bb5,c6]@2 [c5,gb5,bb5,c6]@2 bb5@5 [db5,bb5,db6]@6 [bb4,gb5,bb5]@10 ~@8 bb5@10 bb5@4 bb5@3 bb5@2 bb5@2 bb5@2 bb5@2 bb5@2 [db5,bb5,db6]@3 [c5,bb5,c6]@3, ~@6 f6@39 ~@28 gb6@19 ~@4, ~@22 [eb5,eb6]@24 ~@17 [f5,f6]@14 [f5,f6]@5 [f5,f6]@11 ~@3, ~@28 [db5,db6]@11 ~@41 [eb5,eb6]@4 [eb5,eb6]@4 [eb5,eb6]@5 ~@3, ~@34 [c5,gb5,c6]@11 ~@41 [db5,db6]@4 ~@6]/3", // Eb Gb Cm7b5 Gb Ebm Gb C7 Eb …
  F: "[eb6 [db5,db6]@8 gb5@10 ~@13 gb5@4 [gb4,gb5]@3 ~@5 [gb4,c5,gb5]@2 [gb4,c5,eb5,gb5]@2 [gb4,c5,eb5,gb5]@2 [c5,eb5]@2 eb5@2 [gb4,c5,eb5,gb5]@7 ~@3, ~ bb5 ~@7 [bb4,bb5]@20 [c5,c6]@10 ~@25, ~@11 gb4@7 ~@7 [gb4,gb5]@2 ~@5, ~@22 gb5@10 [bb4,bb5]@7 ~@25, ~@13 [ab4,ab5]@7 ~@6 [ab4,ab5]@5 ~]/2", // Db Gb Gbdim Cdim Cm Cdim Bb C …
  G: "[~@10 gb5@4 [gb4,gb5]@4 ~@4 [gb4,bb4,eb5,gb5]@2 [gb4,bb4,eb5,gb5]@2 [gb4,bb4,eb5,gb5] ~@5 [gb4,bb4,eb5,gb5]@7 ~@12 bb5@4 [bb4,bb5]@4 ~@4 [bb4,gb5,bb5]@2 [bb4,gb5,bb5]@2 [bb4,gb5,bb5]@2 ~@3 [bb4,gb5]@3 [db5,bb5,db6]@2 ~ [eb5,bb5,eb6]@4 ~ ab6@12 ~, ~ gb4@13 ~@13 [gb4,bb4,eb5,gb5]@4 ~@11 gb4@17 ~@37, ~ gb5@9 [bb4,bb5]@7 ~@25 bb4@9 [db5,gb5,db6]@8 ~@11 [c5,ab5,c6]@6 ~@20, ~@4 [ab4,ab5]@14 ~@11 [ab4,c5,f5,ab5]@9 ~@7 [ab4,ab5]@14 ~@10 [bb4,gb5,bb5]@3 ~@24, ~@7 [db5,db6]@11 ~@24 [db5,gb5]@5 [eb5,eb6]@11 ~@14 bb5@2 ~@8 [ab5,db6]@13 ~]/3", // Gb Ebm Bb Ebm Gb Eb5 Ebm Bb …
  H: "[~@2 [db6,ab6]@7 ~@5 ab6@13 ~@8 ab5@11 ab4@11 ~ [ab4,b4]@4 db5@2, ~ ab5@7 ~@5 [ab5,db6]@14 ~@4 ab4@15 f4@6 ~@12]/2", // Db5 Abm Db5
  I: "[~@2 ab4@11 [ab4,b4]@8 db5@4 ~@2 [f4,db5]@6 [f4,db5]@4 [db5,f5]@2 ~@5 [bb4,db5]@2 ~@4 db4@2 ~ db4@9 ~@2, ~@2 f4@6 ~@17 [ab4,eb5]@14 ~@3 f5@20 ~@2, ~@27 f5@10 ~@3 [eb5,g5]@22 ~@2, ~@46 [bb4,db5]@15 ~@3, ~@24 f4@7 ~]/2", // Abm Db Bbm Ab5 Eb Bbm
  J: "~@9 c5@5 f5@3 bb4@10 c5@5",
  K: "f5@3 ~@14 [gb4,eb5]@2 bb4 ~@3 bb4@9, ~@3 gb5@12 gb4 bb4@3 ~@13, ~@9 gb4@2 f5@9 bb5@12, ~@5 bb4 db5@4 ~@6, ~@12 gb4 bb4 d5@6 ~@12", // Ebm
  L: "[ab5@10 ab5@10 [ab5,b5]@5 db6@3 ab5@10 [ab5,b5]@4 ab5 ~@15 [b5,e6] ~@4 a5 ~@4 [a5,db6]@4 db6 a5 ~@5 a5@3 ~ [a5,db6] a6@4 ~ db6 ~@10 a4 a5@4 ~ a5 ~@16 [eb5,gb5]@2 ~@4 a4@3 ~@12 [db4,e4]@4 ~@6 bb3@4 db4@2, ~@10 f5@5 ~@13 f5@5 ~@11 db6@8 db6@5 ab5@3 ~@2 ab5@2 ~@3 gb5@5 gb5@2 ~@3 gb5@5 gb5@2 ~@6 gb5@10 ~@5 [e5,db6]@2 e6@6 ab5@3 [gb5,a5]@5 [e5,ab5]@4 e5@7 ab4@2 [gb4,a4]@5 ~@2 gb4@7 ~@4 ab3@8, ~@46 db5@3 e6@9 ~@5 db6@2 ~@13 db6@5 ~@11 db5@5 db5@2 ~@6 db6@4 db6@14 ~@2 eb5@9 ab4@12 ~@12, ~@48 ab5@5 ab5 ab6@5 ab6@5 gb6@10 gb6@10 ~@4 db7@2 ~@5 a4@5 ~@9 eb6@16 ~@2 b4@4 ~ b4@7 ~@21, ~@48 e5@3 [db5,e5]@8 ~@34 gb4@5 gb4@3 ~@8 b5@2 a5@2 b5@12 db5@4 db5@7 e4@8 ~@4 [gb3,db4,eb4]@12]/5", // Abm E5 A Ebm Dbm Gbm E Gbm …
  M: "[[c4,gb4]@4 [gb4,bb4]@2 ~@7 bb3@4 db4@2 [c4,gb4]@5 bb4@2 ~@2 [ab4,f5]@2 [gb4,ab4] ~@5 db4@2 ~ gb4 ~@3 eb4 ~@3 f5@2 gb4 ~@13 eb4@6 ~@3 gb4@2 ~@2 eb4 ~@2 bb4 ~ eb4 ~ gb5@4 bb5@2 ~@6 eb4@2 ~@4 eb4 ~@4 bb5@3 ~@25 a5@2 ~@10 b5@2 ~@9 a5@4 ~@9 f6@10 f6@12, eb4 ~@6 [gb3,db4,eb4]@12 ~@13 [gb4,bb4]@6 ~@3 c4@4 [db4,bb4]@4 ~@3 bb4@17 eb5@2 eb4@3 bb4 gb4@2 eb4 gb4@2 gb4@2 ~@10 gb4@2 gb4@4 gb4@2 gb4@2 ~@12 gb5@6 gb5@5 eb5@2 bb5@6 gb5@3 ~@7 gb5@5 ~@6 gb5@7 ~@31, ~@11 ab3@8 eb4 ~@4 gb4 ~ db4@4 eb5@9 ~@10 eb5@12 c4@21 ~@11 bb4@6 bb4@3 ~@7 eb6@27 ~@12 eb6@41 ~@3, ~@34 bb3@4 ~ [bb3,ab4]@6 ~@7 gb4@7 ab4@24 ~@7 eb5@12 gb5@8 ~@3 eb5@6 eb5@2 c6@15 db6@12 ~@22 ab6@20 ~@2, ~@54 bb3@2 db4@26 ~@9 eb4@4 ~@2 eb4@4 ~@14 bb5@11 gb5@6 eb5@4 ~@5 eb5@7 ~@44]/6", // Cdim Gb Cdim Db Gbsus2 Ebm7 Gb Bb7
  N: "~@8 eb6@21 ~@2 db6, eb6@7 ~@25, ~@3 [db6,f6]@24 ~@5", // Db
  O: "[~@5 db6@5 db6@10 ~@15 c6@19 ~@16 bb5@4 ~@21 gb5@12 f5@14 ~@13 f5@4 ~@21 [bb4,db5]@12 [ab4,c5]@12 ~@12 f5@11 db5@11 ~@4 eb5@3, ~@2 [c6,eb6]@23 ~@3 c6@7 ~@23 bb5@6 gb5@10 f5@12 ~@2 gb5@7 ~@30 [eb5,gb5]@12 ~ eb5@7 eb5@9 eb5@17 ~@53, ~@5 bb5@15 db6@11 db6@23 ~@7 c6@13 ~@3 bb5@7 ~@45 f5@5 ~@7 f5@7 ~@58 f5@18, ~@10 f6@15 ~@39 bb5@6 ~@4 ab5@7 ab5@10 [f5,ab5]@16 ~@16 [db5,f5]@6 db5@9 ~@13 db5@8 ~@28 [f3,ab3]@29 ~@8, ~@67 eb6@7 ~@57 bb5@6 ~@58 ab5@21 ~@8]/7", // Bbm Ab Cm Ebm Fm Db Fm
  P: "[~@6 eb5@18 ~@56 db5@12 ~@10 f4@9 f4@9 ~@10 [gb4,bb4]@10 bb4@9 ~@7 c5@5 ~@13 ab4@13 ~@5, ~@28 db5@8 ab5@20 ~@5 eb5@8 eb5@23 ~@6 eb4@21 ~@4 gb4@7 db5@19 ~@12 f5@26 ~@5, ~@31 [eb4,eb5]@25 ~@39 db4@7 ~@21 [bb3,db4]@26 ~@4 [c4,gb4]@21 ~@18, ~@47 f5@17 f5@28 ~@10 bb4@17 ~@7 ab4@23 ~@4 bb4@34 ~@5]/6", // Gb Eb Bbm Cdim
  Q: "[~ db4 ~@4 f4@2 ~@4 db4 ~@5 f4 ~@12 db5@11 ~@5 db5 ~@5 [c5,f5]@2 ~@4 db5 ~@5 f5 ~@12 db6@13 ~@25 e6@14 ab6@32 ~ ab6@64 ~@29, ab3@2 ~@2 ab3@3 ~@4 ab3@2 ~@3 ab3@4 ~@44 c5@3 b5@24 [ab5,b5]@39 ~@126, ~@5 c4@2 ~@10 c4@2 ~ b4@22 ~@4 ab4@2 ~@4 ab4@3 ~@3 ab4@2 ~@3 ab4@4 ~@36 db6@26 ~@33 f6@64 ~@30]/8", // F5 Abm
})).s("gm_piano").gain(0.62)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
  A B C@2 D@3 E F G F H I@2 J K L ~@4 M N ~@8 O P@2 ~ Q ~ R@5 S ~ T@5 U V W@2 X ~ Y Z@3
>`.pickRestart({
  A: "~@4 f5@12 ~@11 c5@4 ~", B: "~@2 c5@16 ~@2 bb4@5 ~@7", C: "[~@14 ab4@3 bb4@3 ~ ab4@16 gb4@14 gb4@7 ~@6]/2",
  D: "[~@11 eb4@9 ~@7 gb4@8 ~@25 ab3@12 ~@24, ~@24 f4@5 ~@67]/3", E: "~@5 [gb4,bb4]@11", F: "~@23 f4@9",
  G: "~@21 db5@8 ~@3, ~@4 [gb4,bb4]@25 ~@3", H: "bb4@12 bb4@3 ~, f4@15 ~",
  I: "[~@16 [eb5,bb5]@3 bb5@2 ~ bb5@2 ~@40, ~@6 f5@39 ~@19]/2", J: "~@9 gb5@19 ~@4", K: "~@2 bb5@7 ~@23",
  L: "~@6 eb5 ~@3 c5 ~@5", M: "~ eb5@13 ~@18", N: "~@21 f4@6 ~@5", O: "~@25 gb4 ~@6",
  P: "[db4@4 ~@4 gb4 gb4@4 ~@2 ab4@2 ab4 ~@10 gb4@12 ~@8 bb4@2 ~@14, ~@27 [ab3,bb3]@24 ~@13]/2", Q: "~@3 eb5",
  R: "[c6@7 ~ c6@20 ~@3 bb5@6 ~@30 ab5@19 ~@7 ab5@13 ~@14 eb5@7 eb5@12 a4@12 ~@9, ~@52 bb5@11 bb5@23 ~@74, ~@60 ab5@7 ~@23 gb5@6 ~@64]/5",
  S: "~@5 db5@5 ~@6",
  T: "[~@34 f5@22 ~@12 db5@11 [f4,db5]@11 ~@3 [f4,bb4]@31 ~@10 db4@9 [ab3,db4]@9 ~@8, ~@29 [gb4,bb4]@26 ~@5 db4@28 ~@39 ab3@16 ~@17, ~@17 ab4@5 ~@18]/5", // Db Bb5 Db5 Gb
  U: "~@12 gb4@9 ~@11", V: "~ ab4@13 [c4,gb4]@13 ~@5, ~ c5@26 ~@5", W: "[~@31 e4@11 ~@22, ~@10 ab4@11 ~@11]/2",
  X: "~@3 ab5@24 ~@5", Y: "~ f6@15", Z: "[~ [ab5,db6]@32 ~@15]/3",
})).s("gm_piano").gain(0.31)

// chords · piano · "A.PIANO 1"
const piano_2 = note("<A ~@2 B@2 C D@2 E F@2 G@4 H@7 I@6 J@3 K@5 L@2 M@7 N@6 O@7 ~>".pickRestart({
  A: "~ f4@15", B: "[~@19 eb4@7 db4@27 ~@11]/2", C: "~@3 gb3@8 ~@21",
  D: "[~@15 [f4,ab4]@23 gb2@26, ~@9 db2@29 db3@4 ~@22]/2", E: "~@7 f3@25, ~@7 ab3@16 ~@9",
  F: "[~@33 b3@6 ~@25, ~@30 ab2@29 ~@5]/2",
  G: "[~@48 eb4@3 eb4@2 ~@3 [db4,gb4]@2 [db4,gb4,bb4]@2 [gb4,bb4]@2 [c4,gb4,bb4]@2 [c4,gb4,bb4]@2 [gb4,bb4]@5 [db4,bb4]@6 db4@10 ~@18 gb4@4 gb4@3 gb4@2 bb4@2 gb4 ~@3 gb4@2 [db4,gb4]@3 [c4,gb4]@3, ~@30 eb1@47 ~@11 [eb1,eb2,bb2]@37 ~@3, ~@31 eb2@47 ~@39 db4@4 ~@7, ~@54 eb4@24 ~@17 f4@14 f4@5 f4@11 ~@3, ~@60 db4@6 c4@11 ~@35 eb4@4 [eb4,bb4] gb4 bb4 eb4@5 ~@4]/4", // Gb5 Gb Cm7b5 Gb Gb5 Cdim Eb5
  H: "[~ [db4,gb4]@7 ~ eb4@8 ~@9 c4@3 ~@7 gb3@3 ~@5 gb3@2 [gb3,eb4]@2 [c4,eb4]@2 eb4@2 eb4@2 [gb3,c4,eb4]@7 ~@10 db4@3 ~@4 gb3@4 ~@4 [gb3,bb3]@2 [bb3,eb4]@2 [gb3,bb3,eb4] ~@5 [gb3,bb3,eb4]@7 ~@16 bb3@4 ~@4 bb3@2 [bb3,db4,gb4]@2 [db4,gb4]@2 ~@3 [db4,gb4]@2 ~ [db4,gb4,bb4]@2 ~@4 [db5,f5]@13 ~@3 e5@8 ~@3 eb5@15 ~@3 c5@16 ~ ab2 ~ f3 ~@6 c4@2 ~@4 e4@2, ~@18 [ab1,ab2]@22 [a1,a2]@22 [bb1,bb2]@20 [c2,c3]@20 ~ [db2,db3]@20 [eb2,eb3]@18 ~@65 db2@2 db3@2 ab3@4 f3@4 ~ e3@5, ~@26 ab3@14 ~@10 [gb3,c4]@4 ~@11 gb3@13 ~@13 [gb3,bb3,eb4]@4 ~@11 gb3@17 ~@37 [bb4,db5]@9 ~@2 db5@16 ~@26 c3@3 f4 ~@4 b3@3, ~@29 c4@10 ~@26 bb3@9 [bb3,db4,gb4]@7 ~@25 bb3@5 eb4@4 [db4,gb4,bb4]@8 ~@11 [c4,eb4,ab4]@6 ~@2 [eb4,gb4,bb4]@4 ~@12 e4@10 ~ [eb4,gb4]@18 ~ eb4@18 ~@5 db4@4 ab3@3 ~@2 ab3@4, ~@32 [bb3,eb4,gb4]@7 ~@13 ab3@10 ~@3 db4@3 ab3@14 ~@11 [ab3,c4,f4]@9 ~@4 db4@3 ab3@14 ~@10 [bb3,db4,gb4]@3 bb3@3 ~@5 [f4,ab4]@14 ~ ab4@9 ~@2 ab4@17 ~@2 gb4@17 ~@6 f2@6 ab2@6]/7", // Gb5 Ebm Cm Cdim Gb Eb5 Ebm Gb …
  I: "[~@12 f4 ~@6 e4 ~@11 ab3@2 ~@4 db3@2 ab2 ~@11 bb2@2 ~@6 bb2@2 ~@11 gb4 ~@6 f4 ~@11 gb4 ~@5 f4 ~@15 eb4@3 ~@8 bb4 ~@10 ab5@2 ~@10 f5 ~@6 ab5@2 ~@9 f5 ~@3 b4@2 e5 ~@2 b4@3 ~ [ab4,b4]@4 ~@3 e5@2 ~@2 db5@3, ~@2 db2@4 ab3@2 ~@2 ab3@3 ~@2 ab3@5 ~@2 ab2@8 db4@10 ~@2 eb3@5 eb4@15 bb4@9 db4@2 ~@3 ab3@4 ~@3 gb3 bb3@2 gb2@4 db4@2 ~@3 ab3@4 ~@2 [eb3,gb3]@9 d4@6 d4@10 gb5@2 ~@3 ab4 c5@2 e5@4 ~@2 db4@2 db5@4 [ab4,c5]@2 ~@2 ab4@5 ~@2 ab3@3 db5@4 [ab4,c5]@2 ~@2 ab4@3 ~@2 [e4,ab4]@4 e4@5 [e4,ab4]@2 db5@4 a4@4, ~@3 ab2@4 [f2,db4]@4 c4@2 ~@3 b3@4 ~@3 db3@6 f4@4 ab3 f3 db3 ab2@2 ~@3 bb2@7 bb3@6 bb2 eb3 g3 bb3@5 ~@2 gb3 bb3@2 gb4@3 bb3@2 ~@3 f3@5 ~@2 eb3@5 db3@4 f2@5 c4@3 ~@3 bb3 eb4 gb4@3 f4@9 ~ gb4@4 bb5@4 bb4@2 bb5@11 ~@3 [f4,ab4]@2 ~ c4@4 ~@3 b4@4 ~@3 db4@2 ab4@2 ~ f4@3 ~ e4@4 ~ db4@5 db4@10 ~@5, ~@4 db3@3 ~ c3@4 ~ ab2@8 db2@19 eb2@9 g3 eb3@3 eb2@9 ab2@4 c4@2 ~ [db3,gb3]@4 ~ c3@4 c4@3 ~@3 c4@5 bb3@2 ~@3 f3@5 ~ bb2@16 ~@2 bb4@4 eb4@6 [ab3,c4]@10 db3@5 ~@2 f4@3 ~ e4@4 e5@3 ~@3 f4@2 ~ c4@4 ~@6 b3@16 ~@4, ~@5 f3@2 ~@2 f3@3 ~@2 e3@4 ab4@3 ~@3 f3 ab3 db4@2 ab4@11 ~@4 g3 bb3 eb4 g4@12 eb3@4 ~ eb3@5 gb2@5 f2@7 ~ ab2@4 gb4@3 gb3@3 ~ c3@6 ~ eb2@17 ~@4 gb5@3 gb4@5 ~@2 e4@8 ~ ab3@4 [f3,ab3]@5 [ab3,b3]@7 ~ db3@5 [f3,ab3]@5 [ab3,b3]@5 ~@12 b4@4 ab4@5]/6", // Abm Ebm Ab E Db Fm Gb5 Ab …
  J: "[~@7 db5@3 ~@7 db5@3 ~@3 e5@3 ~@7 e4@3 ~@4 a4@3 ~@17 gb3 ~@5 db4@2 ~@5 db3@2 ~@2 gb2@2 ~@2 db3@2 ~@12 eb3, gb4@5 f4@5 e4@10 ~@7 eb4@9 ~@2 db4@5 ~ db4@8 [a4,db5]@10 ~ e3@7 a3@5 a3@9 ~@12, ~ a4@5 [gb4,a4]@4 gb4@5 [eb4,gb4]@5 [db4,e4]@6 b3@10 ~@10 gb4 a4 db5 e5 gb5@7 e4 db4 a3@2 gb2@11 e3@3 gb2@2 ~@3 gb2@4 ab2@2 ab2@2 ab2@2 ab2@2 ab2@2 ab2@2, ~@2 db5@5 ~@4 a4@5 a4@4 ~ a4@5 ~@2 gb4@8 ~@3 e4@4 ~@2 e4@6 e5@11 ~@2 gb3 a3@3 [db4,e4]@7 ~@21, ~@12 db5@5 ~@5 db5@4 ~@6 [a3,db4]@5 ab3@6 gb3@11 gb4 e4 gb4@6 db3@9 gb3@4 ~ db3@3 db3@2 ~@4 eb3@2 eb3@2 eb3@2 eb3@2 eb3@2 ~]/3", // A Gbm Ebm Dbm A
  K: "[~@4 ab2@2 eb3 ~@11 eb3 ~@3 eb3@2 ab2 ~@4 eb3 ~@4 ab3@2 [ab3,eb4]@2 eb3 ~@9 eb3 ~@3 ab3@2 ~@3 eb3@2 ~@21 db4@2 ~@4 bb4@2 eb5 ~@7 bb3@4 db4@2 ~@3 bb4@4 ~@3 db5@4 ~@2 db5@4 ~@9 db5@5 ~@4 db5@9 ~@11, ab2@2 ab2@2 ~@3 ab2@2 ab2@2 ab2@2 ab2@2 ab2@2 ab2@2 ab2@2 ab2@2 ~@3 ab2@2 ab2@2 ab2@8 ~@5 ab2@2 ab2@2 ab2@2 ~ ab2@33 ~@47 a4@7 ~ a4@11 ~@11, ~ eb3@2 eb3@2 ~@3 eb3@2 eb3@2 eb3@2 eb3@2 eb3@2 ~@2 eb3@2 ~@3 eb3@4 ~@2 eb3@2 eb3@4 ~@5 eb3@2 eb2@2 eb2@3 ~@5 ab3@3 ~@2 ab3@2 ab3@2 ab3@6 [gb3,db4]@6 ab3@8 ~ eb4@5 ~@5 ab3@8 c4@7 ~@15 db5@7 ~@29, ~@27 eb2@3 ~@2 ab3@2 ~@5 ab3@6 ~@6 eb3@4 eb4@22 bb3@6 c4@6 ~ gb3@12 ~@2 gb4@5 ~ gb4@6 gb4@6 gb4@6 gb4@8 gb4@12 ~@12, ~@60 eb3@2 eb3@3 eb3@17 ~@3 gb4@5 ~@13 eb4@6 ~@2 bb4@6 bb4@6 bb4@13 ~@24]/5", // Ab5 Gb5
  L: "[~@4 c6@11 ~@3 f5@12 ~@2, ~@2 ab4@27 ~@2 a4@29 ~@4, ~@5 f5@25 ~@4 eb5@26 ~@4]/2",
  M: "[~@15 f4@9 ~@4 ab4@26 ~@8 eb5@10 ~@2 c5@10 ~@11 bb4@12 ~@20 bb4@10 ~ eb4@10 ~@9 ab4@15 ~@23 b3@21 ~ db3@4 ~@3, db5@24 eb4@21 ~@11 eb4@17 [f4,ab4]@12 ~@8 gb4@14 ~@17 f4@14 ~@17 f4@16 ~@19 [f4,ab4]@27 ~@7, ~@2 f5@23 ~@36 db5@13 ~@150, ~@3 ab5@21 ~@48 c4@13 ~@3 bb3@19 ~@15 db4@15 db4@11 ~@5 db4@18 ~@13 [db2,ab2]@32 ~@8]/7", // Fm Db5
  N: "[~@36 db4@21 ~@4 eb4@31 f2@28 ~@20 eb4@9 ~@12 ab5@26 ~@5, ~@28 f3@29 ~@63 eb2@30 ab2@37 ~@5, ~@154 eb3@33 ~@5]/6",
  O: "[~@4 f3@3 ~@3 f3@3 ~@2 f3@4 ~@4 ab3@18 ~@4 f4@3 ~@3 f4@3 ~@3 f4@3 ~@2 f4@5 ~@8 e5@15 ~ ab3@39 ~@8 db4@22 ~@64, ~@2 f2@5 db2@6 ~ c3@6 ~ e3@20 ~@7 f3@6 db3@6 ~@12 ab4@19 ~@133, ~@3 c3@4 ~ ab2@5 f2@7 ab2@22 ~@7 c4@5 ~ ab3@5 f3@7 ab3@24 ~@43 db3@64 ~@26, ~@56 db4@4 ~ c4@6 ~@3 e4@21 ~@133]/7",
})).s("gm_piano").gain(0.47)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft_2 = note("<A@7 B C D@3 E@3 F@2 G H@2 I@2 ~ J K L ~@6 M N@2 O P@8 Q@4 ~ R S@3 T@5 ~>".pickRestart({
  A: "[~@75 [eb4,gb4]@26 db4@14 c4@7 ~@17 [a3,c4]@9 ~ bb3@21 ~@24 ab2@30, ~@2 ab4@30 ~@17 [f4,ab4]@35 ~@17 eb4 ~@20 bb3@27 ab3@15 ~@6 [f3,ab3]@30 ~@24, ~@24 [gb4,a4]@33 ~@131 [eb3,gb3]@12 ~@24]/7", // Ebm Am Fm Gbm Ebm
  B: "~@5 [db3,gb3,bb3,db4]@11", C: "~@13 db4@10 [ab3,db4]@8 ~, ~@3 [f2,db3]@28 ~, ~@13 f4@18 ~",
  D: "[db3@4 db4@26 ~@9 f4@19 ~@18 db4@18 ~@2, gb2@29 ~@4 f3@31 [f3,bb3,eb4]@32, ~@4 [db3,gb3,bb3]@55 bb2@35 ~@2, ~@39 b3@55 ~@2, ~@39 db4@37 ~@20]/3", // Ebsus2 Gb
  E: "[~@6 [gb4,bb4]@10 [gb4,bb4]@3 [gb4,bb4]@2 ~ [gb4,bb4]@2 bb4@2 ~@13 gb4@6 [bb3,gb4]@10 ~@8 [gb4,bb4]@10 bb4@4 bb4@3 bb4@2 gb4@2 ~@4 bb4@2 bb4@3 bb4@3, ~@6 f4@39 ~@28 eb5@19 ~@4]/3", // Gb Ebm Gb
  F: "[~ bb4@7 ~ [bb3,gb4]@8 ~@9 eb4@6 ~@12 [c4,eb4]@2 c4@2 gb3@2 ~@14, ~@11 gb3@7 ~@14]/2", G: "~@11 eb4 gb3 ~@3",
  H: "[~@31 [db4,gb4]@2 ~@2 bb3@2 ~@27]/2", I: "[~@27 ab3@19 ~@18]/2", J: "f3 ~@15", K: "~@14 ab4@3 ~@15",
  L: "~ ab4@2 ~@29", M: "~@25 ab3@2 ~@5", N: "[~@23 c5@2 ~ db4@10 ~@28]/2", O: "~@23 db5@9, ~@5 gb4@3, ~@11 a4@5",
  P: "[~@20 f4@10 ~@20 f4@10 ~@3 bb4@25 ~@21 eb4@9 ~@5 bb4@15 ~@17 eb4@15 ~ [f3,c4,eb4]@12 ~@17 bb3@12 ~@3 bb3@20 ~@7 ab2@6 ~@8, ~ f4@19 ~@10 f4@20 ~@10 f4@19 ~@11 gb4@28 db4@19 ~@11 c3@23 ~@28 gb3@12 ~ f3@23 [eb3,gb3,c4]@12 ~@9, ~@3 c5@26 ~@4 c5@27 ~@2 ab4@27 ~@5 c5@24 ~@4 gb4@16 ~@12 gb3@21 ~@12 ab3@19 ~@12 ab3@21 ~@21, ~@6 ab5@24 ~@7 a5@22 ~@36 eb5@23 ~@36 c4@17 ~@14 bb3@15 ~@56, ~@97 gb5@21 ~@72 ab4@12 ~@54]/8", // F7 Cdim
  Q: "[~@30 [db3,gb3,bb3,db4]@26 ~@12 [b3,f4]@20 ~@25 db4@11 ~@4, ~@25 gb2@31 ~ ab2@32 bb2@35 ~@4, ~@15 ab3@16 ~, ~@93 [f3,bb3]@31 ~@4]/4", // Gb Bdim Bb5
  R: "~@2 eb3@19 ~@11",
  S: "[~@14 ab3@13 ~@4 f3@3 ~@7 db3@4 ~@18 ab4@10 ~@3 db4@4 ~@16, ~@27 db2@7 ~@26 gb4@13 ~@23, ~@29 ab2@5 ~@24 e4@15 db3@7 ~@16, ~@30 db3@4 ~@23 b3@17 ~ ab3@6 ~@15]/3",
  T: "[~@10 b4@17 ~@25 ab2@13 ~@33 f5@62, ~@4 b3@22 ~@2 b3@8 e5@30 ~@7 ab3@23 db4@64, ~@30 e4@35 ~ db2@11 f4@20 [ab4,db5]@63, ~@16 ab4@17 ~ ab2@6 ab4@2 db5@2 f5 ab5@32 ~@3, ~@34 b4@32 ~@5 f3@23 db6@64 ~@2]/5", // Db5
})).s("gm_piano").gain(0.23)

stack(piano, piano_soft, piano_2, piano_soft_2)

More by Gabriel Fauré