0:00/0:00
// Danse macabre Op.40 — Camille Saint-Saëns
// 186 bpm, 3/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Transcription provider: pdmx. https://musescore.com/score/5948829; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 478 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(186/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 · "Piano 2"
const piano = note(`<
~@25 A ~ B C@2 D E F ~@23 G H I J K L M N O@4 P Q@3 O@4 P Q@3 R S D T U V@3 W@4 X Y Z Y AA AB AC AD AE AF@5 AG AH AI
AF AJ AK AL AM AN AO AP ~@3 AQ AR@3 ~@4 AS AT@3 AU S D AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP
BQ BR BS BT BU BV BW BX BT BY BZ CA CB CC CD CE CF ~@16 CG@4 CH@4 CI@3 CH CJ CH CK CL@4 CM@4 CL@4 CM@4 CL@3 CN@2 CO@2
CL@4 CN@2 CO@2 CP CQ CR CS CT CQ CU CV CW CX CY CZ DA DB DC DD DE ~ DF DG DH ~ DI DJ DK DL DM DN DO DP DQ DP DQ DP@3
DR ~ DR ~ DS ~ DT ~ DU DV DW DX ~@12 DY DZ EA ~@5 EB EC ED ~ C@2 EE D ~@33 EF EG EF EG EF EG@7 EH ~@7 EI EJ EK EL EM
EN@5 EO EP EQ EN@5 ER ES ET ~@3 EU EV@3 EW EX EY EZ FA FB FC FD FE EX EY EZ FA FB FC FD FC FD FC FD FF FG FH FI FJ FK
FL FM FN FO FP FQ FR FS FR FS FT@3 FU@5 ~@2 FV FW@4 ~@35
>`.pickRestart({
A: "[d4,a4]", B: "[d4,a4]@11 [d4,a4]@3 ~@2", C: "~@11 [d4,a4]@3 ~@2", D: "~@5 [d4,a4]@3 ~@8",
E: "[d4,a4]@3 ~@8 [d4,a4]@3 ~@2", F: "[g2,eb3,bb3,g4,bb4]@3 ~@13", G: "~@11 d4@5", H: "g4@10 ~ g4@5",
I: "f4@10 ~ f4@5", J: "e4@10 ~ e4@5", K: "eb4@10 ~ eb4@5", L: "d4@5 g4@5 ~ bb4@5", M: "a4@5 gb4@5 ~ d4@5",
N: "gb4@10 ~ e4@5", O: "[[d2,d3]@61 ~@3, d4@5 ~@59]/4", P: "[g2,c3,g3,eb4,bb4]@3 ~@2 [eb4,g4]@3 ~@3 [bb3,eb4]@3 ~@2",
Q: "[c2,c3]@3 ~@2 [eb4,g4]@3 ~@3 [bb3,eb4]@3 ~@2", // C Eb Eb5
R: "[d3,a3,gb4]@3 ~@2 [d4,a4] ~@2 [d4,a4] ~@2 [d4,a4] ~ [d4,a4] ~@2", // D D5
S: "~@5 [d4,a4] ~@2 [d4,a4] ~@2 [d4,a4] ~ [d4,a4] ~@2", T: "[d4,a4]@3 ~@8 [d2,g2,d3,d4,a4,d5]@3 ~@2",
U: "[g2,bb2,g3,g4,bb4,g5]@3 ~@13", V: "[g2,g3,g4,bb4,d5,g5]@3 ~@13", W: "[f2,f3,ab4,c5,eb5,ab5]@3 ~@13",
X: "[g2,g3,g4,g5]@3 ~@2 g5 ~@2 bb5 ~@2 g5 ~ a5 ~@2", Y: "[g2,g3,bb5]@3 ~@2 a5 ~@2 bb5 ~@2 g5 ~ bb5 ~@2",
Z: "a5 [a5,bb5] ~ g5 ~ g5 ~@2 bb5 ~@2 g5 ~ a5 ~@2, [g2,g3]@3 ~@13", // Bbmaj7 G
AA: "[f2,f3,ab5]@3 ~@2 ab5 ~@2 c6 ~@2 ab5 ~ bb5 ~@2", AB: "[f2,f3,c6]@3 ~@2 bb5 ~@2 c6 ~@2 ab5 ~ c6 ~@2",
AC: "bb5 [bb5,c6] ~ ab5 ~ ab5 ~@2 c6 ~@2 ab5 ~ bb5 ~@2, [f2,f3]@3 ~@13", // Bbsus2 F
AD: "[f2,f3,c6]@3 ~@2 ab5 ~@2 c6 ~@2 bb5 ~ ab5 ~@2", AE: "g5@3 ~@2 [bb3,d4,bb4,d5,g5]@3 ~@3 [g3,bb3,g4,bb4,d5]@3 ~@2",
AF: "~@5 [bb3,d4,bb4,d5,g5]@3 ~@3 [g3,bb3,g4,bb4,d5]@3 ~@2", AG: "~@5 [a3,d5,gb5]@3 ~@3 [a2,a4,d5]@3 ~@2",
AH: "~@5 [a3,db5,e5]@3 ~@3 [a2,a4,db5]@3 ~@2", AI: "~@5 [d3,d5,gb5]@3 ~@3 [d2,a4,d5]@3 ~@2",
AJ: "~@5 [bb3,d4,bb4,d5,g5,bb5]@3 ~@3 [g3,bb3,g4,bb4,d5,g5]@3 ~@2", // Gm
AK: "~@5 [bb4,d5,g5,bb5,d6]@3 ~@3 [g4,bb4,d5,g5,bb5]@3 ~@2", AL: "~@5 [bb4,g5,bb5,g6]@3 ~@3 [g4,bb4,g5,bb5]@3 ~@2",
AM: "~@5 [bb4,g5,bb5,bb6]@3 ~@3 [g4,bb4,g5,bb5,g6]@3 ~@2", // Eb Gm
AN: "~@5 [d5,gb5,a5,d6,gb6,d7]@3 ~@3 [a4,d5,gb5,a5,d6,a6]@3 ~@2", // D
AO: "~@5 [a4,d5,gb5,a5,d6,gb6,d7]@3 ~@3 [a4,db5,e5,db6,e6,db7]@3 ~@2", AP: "[a4,d5,gb5,d6,gb6,d7]@3 ~@13",
AQ: "[c3,g3,bb4,g5]@3 ~@13", AR: "[c3,g3,eb4,bb4]@3 ~@13", AS: "[g3,eb4,bb4,g5]@5 [eb4,bb4,g5]@5 ~ [g3,eb4,bb4]@5",
AT: "[g3,eb4,bb4]@5 [eb4,bb4,g5]@5 ~ [g3,eb4,bb4]@5", // Eb
AU: "[d4,d5,d6]@5 [d4,a4] ~@2 [d4,a4] ~@2 [d4,a4] ~ [d4,a4] ~@2", AV: "[d4,a4]@3 ~@8 [d4,a4,d5,d6]@3 ~@2",
AW: "[g5,bb5,d6,g6]@5 ~@6 d3@3 ~@2", AX: "g3@3 ~@8 g3@3 ~@2", AY: "f3@3 ~@8 f3@3 ~@2", AZ: "e3@3 ~@8 e3@3 ~@2",
BA: "eb3@3 ~@8 eb3@3 ~@2", BB: "d3@3 ~@2 e3@3 ~@3 g3@3 ~@2", BC: "f3@3 ~@2 e3@3 ~@3 d3@3 ~@2",
BD: "e3@3 ~@8 [e3,a3]@3 ~@2", BE: "[f3,d4]@3 ~@8 d4@3 ~@2", BF: "c4@3 ~@8 c4@3 ~@2", BG: "b3@3 ~@8 b3@3 ~@2",
BH: "bb3@3 ~@8 bb3@3 ~@2", BI: "a3@3 ~@2 b3@3 ~@3 d4@3 ~@2", BJ: "c4@3 ~@2 b3@3 ~@3 a3@3 ~@2",
BK: "c4@3 ~@8 [d3,a3,c4,d5]@3 ~@2", BL: "[g2,g3,g4,g5]@3 ~@8 [g4,g5]@3 ~@2", BM: "[f4,f5]@3 ~@8 [f4,f5]@3 ~@2",
BN: "[e4,e5]@3 ~@8 [e4,e5]@3 ~@2", BO: "[eb4,eb5]@3 ~@8 [eb4,eb5]@3 ~@2",
BP: "[d4,d5]@3 ~@2 [e4,e5]@3 ~@3 [g4,g5]@3 ~@2", BQ: "[f4,f5]@3 ~@2 [e4,e5]@3 ~@3 [d4,d5]@3 ~@2",
BR: "[e4,e5]@3 ~@8 [a3,e4,a4,e5]@3 ~@2", BS: "[d4,f4,d5,f5]@3 ~@8 [d4,d5]@3 ~@2", BT: "[c4,c5]@3 ~@8 [c4,c5]@3 ~@2",
BU: "[b3,b4]@3 ~@8 [b3,b4]@3 ~@2", BV: "[bb3,bb4]@3 ~@8 [bb3,bb4]@3 ~@2",
BW: "[a3,a4]@3 ~@2 [b3,b4]@3 ~@3 [d4,d5]@3 ~@2", BX: "[c4,c5]@3 ~@2 [b3,b4]@3 ~@3 [a3,a4]@3 ~@2",
BY: "[bb3,bb4]@3 ~@2 [g3,g4] ~@2 [a3,a4] ~@2 [bb3,bb4] ~ [c4,c5] ~@2", // Bb G A Bb C
BZ: "[d4,d5] ~@2 [db4,db5] ~ [d4,d5] ~@2 [f4,f5] ~@2 [e4,e5] ~ [d4,d5] ~@2", // D Db D F E D
CA: "[g4,g5] ~@2 [gb4,gb5] ~ [g4,g5] ~@2 [bb4,bb5] ~@2 [a4,a5] ~ [g4,g5] ~@2", // G Gb G Bb A G
CB: "[c5,c6] ~@2 [b4,b5] ~ [c5,c6] ~@2 [eb5,eb6] ~@2 [d5,d6] ~ [c5,c6] ~@2", // C B C Eb D C
CC: "[f5,f6] ~@2 [d5,d6] ~ [db5,db6] ~@2 [c5,c6] ~@2 [b4,b5] ~ [bb4,bb5] ~@2", // F D Db C B Bb
CD: "[a4,a5] ~@2 [b4,b5] ~ [db5,db6] ~@2 [d5,d6] ~@2 [e5,e6] ~ [f5,f6] ~@2", // A B Db D E F
CE: "[a4,a5] ~@2 [b4,b5] ~ [c5,c6] ~@2 [db5,db6] ~@2 [d5,d6] ~ [eb5,eb6] ~@2", CF: "[e5,e6]@3 ~@13",
CG: "~@5 [ab4,ab5]@5 ~@6", CH: "~@5 [ab3,ab4,ab5,ab6]@5 ~@6", CI: "~@5 [ab3,ab4,ab5]@5 ~@6",
CJ: "~@5 [ab4,ab5,ab6,ab7]@5 ~@6", CK: "~@11 [bb2,bb3,bb4,bb5]@5",
CL: "~@3 gb3@2 b3@3 eb4@3 gb4@2 gb3@3, [b1,b2]@5 ~@11", CM: "~@3 g3@2 b3@3 d4@3 g4@2 g3@3, [b1,b2]@5 ~@11",
CN: "~@3 e3@2 ab3@3 b3@3 e4@2 e3@3, [b1,b2]@5 ~@11", CO: "~@3 e3@2 bb3@3 db4@3 e4@2 e3@3, [b1,b2]@5 ~@11",
CP: "[b1,b2,gb3,b3,eb4]@5 [b1,b2] ~@2 [eb2,eb3] ~@2 [b1,b2] ~ [db2,db3] ~@2", // B Eb B Db
CQ: "[eb2,eb3,eb4]@3 ~@2 [db2,db3,db4]@3 ~@3 [b1,b2,b3]@3 ~@2", // Eb Db B
CR: "~@5 [g1,g2,g3] ~@2 [b1,b2,b3] ~@2 [g1,g2,g3] ~ [a1,a2,a3] ~@2", // G B G A
CS: "[b1,b2,b3]@3 ~@2 [a1,a2,a3]@3 ~@3 [g1,g2,g3]@3 ~@2", CT: "~@5 [b1,b2] ~@2 [eb2,eb3] ~@2 [b1,b2] ~ [db2,db3] ~@2",
CU: "~@5 [ab1,ab2,ab3] ~@2 [b1,b2,b3] ~@2 [ab1,ab2,ab3] ~ [bb1,bb2,bb3] ~@2", // Ab B Ab Bb
CV: "[b1,b2,b3]@3 ~@2 [bb1,bb2,bb3]@3 ~@3 [ab1,ab2,ab3]@3 ~@2", CW: "b2@5 ~@11",
CX: "~@5 [eb4,eb5] ~@2 [gb4,gb5] ~@2 [eb4,eb5] ~ [f4,f5] ~@2", CY: "[gb4,gb5] ~@4 [f4,f5] ~@5 [eb4,eb5] ~@4",
CZ: "~@5 [eb4,eb5,eb6] ~@2 [gb4,gb5,gb6] ~@2 [eb4,eb5,eb6] ~ [f4,f5,f6] ~@2", // Eb Gb Eb F
DA: "[gb4,gb5,gb6] ~@4 [f4,f5,f6] ~@5 [eb4,eb5,eb6] ~@4", DB: "~@5 [c5,eb5]@3 [eb5,gb5]@3 [c5,eb5]@2 [d5,f5]@3",
DC: "[eb5,gb5]@3 ~@2 [d5,f5]@3 ~@3 [c5,eb5]@3 ~@2", // Ebm Dm Cm
DD: "~@5 [eb4,eb5,eb6]@3 [gb4,gb5,gb6]@3 [eb4,eb5,eb6]@2 [f4,f5,f6]@3", DE: "[g4,g5,g6]@3 ~@13", DF: "~@11 g4@5",
DG: "c5@10 ~ c5@5", DH: "c5@5 ~@11", DI: "~@11 [e4,e5]@5", DJ: "[a4,db5,a5]@10 ~ [a4,db5,a5]@5",
DK: "[f4,d5,d6]@5 ~@6 [f2,f3]@5", DL: "[bb2,bb3]@10 ~ [bb2,bb3]@5", DM: "[a2,a3]@10 ~ [a2,a3,c4,c5]@5",
DN: "[g2,g3,bb4,bb5]@10 ~ [g2,g3,bb4,bb5]@5", DO: "[a4,a5]@5 [a2,a3]@3 ~@3 d3@3 ~@2, [gb2,gb3]@3 ~@13",
DP: "[db3,db4]@3 [g5,g6] ~ [bb2,bb3]@3 [f5,f6] ~@2 [g2,g3,g5,g6]@3 ~@2, [eb5,eb6] ~@4 [eb5,eb6] ~@10", // Db G Bb F G Eb
DQ: "[gb2,gb3]@3 ~@2 [a2,a3]@3 ~@3 d3@3 ~@2", DR: "[db3,db4,eb5,g5,bb5,eb6]@10 ~ [db3,db4,eb5,g5,bb5,eb6]@3 ~@2",
DS: "[b2,b3,d5,f5,ab5,d6]@10 ~ [b2,b3,d5,f5,ab5,d6]@3 ~@2", // Bdim
DT: "[a2,a3,c5,eb5,gb5,c6]@10 ~ [a2,a3,c5,eb5,gb5,c6]@3 ~@2", // Adim
DU: "[c4,eb4,a4,c5,eb5,a5]@10 ~ [c4,eb4,a4,c5,eb5,a5]@3 ~@2", // Adim
DV: "[bb3,d4,g4,bb4,d5,g5]@10 ~ [bb3,d4,g4,bb4,d5,g5]@3 ~@2", // Gm
DW: "[a3,c4,f4,a4,c5,f5]@10 ~ [a3,c4,f4,a4,c5,f5]@3 ~@2", // F
DX: "[g3,bb3,eb4,g4,bb4,eb5]@10 ~ [g3,bb3,eb4,g4,bb4,eb5]@3 ~@2", DY: "eb5@3 d5@2 db5@3 c5@3 b4@2 bb4@3",
DZ: "a4@3 ab4@2 g4@3 gb4@3 f4@2 e4@3", EA: "[bb3,eb4]@3 [c4,d4]@3 ~@10",
EB: "[eb5,g5]@3 [d5,gb5]@2 [db5,f5]@3 [c5,e5]@3 [b4,eb5]@2 [bb4,d5]@3", // Eb D Db C B Bb
EC: "[a4,db5]@3 [ab4,c5]@2 [g4,b4]@3 [gb4,bb4]@3 [f4,a4]@2 [e4,ab4]@3", ED: "[eb4,g4]@3 [d4,gb4]@3 ~@10",
EE: "~@3 [d4,a4]@3 ~@2 [d4,a4]@3 ~@2 [d4,a4]@3", EF: "~@5 [c5,c6]@3 [eb5,eb6]@3 [c5,c6]@2 [d5,d6]@3",
EG: "[eb5,eb6]@3 [c5,c6]@2 [eb5,eb6]@3 [d5,d6]@3 [c5,c6]@2 [a4,a5]@3", EH: "[eb5,eb6]@5 ~@11", EI: "~@13 bb3@3",
EJ: "a3@3 ab3@2 g3@3 gb3@3 f3@2 e3@3", EK: "eb3@3 d3@2 [db3,db4]@3 [c3,c4]@3 [a2,a3]@2 [g2,g3]@3",
EL: "[gb2,gb3]@3 [eb2,eb3]@2 [d2,d3]@3 [c2,c3]@3 [bb1,bb2]@2 [a1,a2]@3", // Gb Eb D C Bb A
EM: "[g1,g2,g5,bb5,d6,g6]@5 [g3,bb3,d4,g5,bb5,d6,g6]@3 [g3,bb3,d4,g5,bb5,d6,g6]@3 [g3,bb3,d4,g5,bb5,d6,g6]@2 [g3,bb3,d4,g5,bb5,d6,g6]@3", // Gm
EN: "[g3,bb3,d4,g5,bb5,d6,g6]@5 [g3,bb3,d4,g5,bb5,d6,g6]@3 [g3,bb3,d4,g5,bb5,d6,g6]@3 [g3,bb3,d4,g5,bb5,d6,g6]@2 [g3,bb3,d4,g5,bb5,d6,g6]@3", // Gm
EO: "[a3,d4,d5,gb5,a5,d6]@5 [d4,gb4,gb5,a5,d6,gb6]@3 [d4,gb4,gb5,a5,d6,gb6]@3 [d4,gb4,gb5,a5,d6,gb6]@2 [d4,gb4,gb5,a5,d6,gb6]@3", // D
EP: "[a3,e4,e5,a5,e6]@5 [a2,a3,e5,a5,e6]@3 [bb2,bb3,e5,a5,e6]@3 [b2,b3,e5,a5,e6]@2 [db3,db4,e5,a5,e6]@3", // A5 A Esus4 A
EQ: "[d3,d4,gb5,a5,d6,gb6]@5 [g3,bb3,g5,bb5,d6,g6]@3 [g3,bb3,g5,bb5,d6,g6]@3 [g3,bb3,g5,bb5,d6,g6]@2 [g3,bb3,g5,bb5,d6,g6]@3", // D Gm
ER: "[a3,d4,gb5,a5,d6,gb6]@5 [d4,gb4,a4,d5,gb5,a5,d6,gb6]@3 [d4,gb4,a4,d5,gb5,a5,d6,gb6]@3 [d4,gb4,a4,d5,gb5,a5,d6,gb6]@2 [d4,gb4,a4,d5,gb5,a5,d6,gb6]@3", // D
ES: "[d4,gb4,a4,d5,gb5,a5,d6,gb6]@5 [d4,gb4,a4,d5,gb5,a5,d6,gb6]@3 [d4,gb4,a4,d5,gb5,a5,d6,gb6]@3 [db4,e4,a4,db5,e5,g5,db6,e6]@2 [db4,e4,a4,db5,e5,g5,db6,e6]@3", // D A7
ET: "[d4,gb4,a4,d5,gb5,a5,d6,gb6]@5 ~@11", // D
EU: "~@5 [d3,d5,gb5,d6]@3 [d3,d5,gb5,d6]@3 [d3,d5,gb5,d6]@2 [d3,d5,gb5,d6]@3", // D
EV: "[c3,gb5,a5,d6,gb6]@5 [d3,d5,gb5,d6]@3 [d3,d5,gb5,d6]@3 [d3,d5,gb5,d6]@2 [d3,d5,gb5,d6]@3", // D7 D
EW: "[bb1,d2,g2,bb2,g5,bb5,d6,g6]@5 ~@11", EX: "[bb2,bb3,g4,d5,g5]@5 [bb2,bb3,g4,d5,g5]@5 ~@6",
EY: "[c3,c4,g4,eb5,g5]@5 [c3,c4,g4,eb5,g5]@5 ~@6", EZ: "[gb2,gb3,d4,a4,d5]@5 [gb2,gb3,d4,a4,d5]@5 ~@6",
FA: "[g2,g3,d4,bb4,d5]@5 [g2,g3,d4,bb4,d5]@5 ~@6", FB: "[c2,c3,c4,eb4,ab4]@5 [c2,c3,c4,eb4,ab4]@5 ~@6",
FC: "[d2,d3,bb3,d4,g4]@5 [d2,d3,bb3,d4,g4]@5 ~@6", FD: "[d3,a3,d4,gb4,a4,d5]@5 [d3,a3,d4,gb4,a4,d5]@5 ~@6",
FE: "[g4,bb4,d5,g5,bb5]@3 [g4,bb4,d5,g5,d6]@2 [g4,bb4,d5,g5,g6]@5 ~@6", // Gm
FF: "[a2,d3,a3,d4,gb4,a4,d5]@5 [a2,d3,a3,d4,gb4,a4,d5]@5 ~@6", // D
FG: "[a2,d3,gb3,a3,d4,gb4,a4,d5]@5 [a2,d3,gb3,a3,d4,gb4,a4,d5]@5 ~@6", // D
FH: "[g4,bb4,g5,bb5,g6]@5 [f4,bb4,d5,f5,d6,f6]@5 ~ [eb4,g4,c5,eb5,g5,eb6]@5", // Gm Bb Cm
FI: "[f4,a4,f5,a5,f6]@5 [eb4,a4,c5,eb5,c6,eb6]@5 ~ [d4,f4,bb4,d5,f5,d6]@5", // F Adim Bb
FJ: "[eb4,g4,eb5,g5,eb6]@5 [d4,g4,bb4,d5,bb5,d6]@5 ~ [c4,eb4,ab4,c5,eb5,c6]@5", // Eb Gm Ab
FK: "[c4,eb4,ab5,c6,eb6,ab6]@3 [c4,eb4,ab5,c6,eb6,ab6]@2 [c4,eb4,ab5,c6,eb6,ab6]@3 [c4,eb4,ab5,c6,eb6,ab6]@3 [c4,eb4,ab5,c6,eb6,ab6]@5", // Ab
FL: "[d4,gb4,gb5,a5,d6,gb6]@3 [d4,gb4,gb5,a5,d6,gb6]@2 [d4,gb4,gb5,a5,d6,gb6]@3 [d4,gb4,gb5,a5,d6,gb6]@3 [d4,gb4,gb5,a5,d6,gb6]@5", // D
FM: "[g3,bb3,g4,bb4,g5]@5 [f3,bb3,d4,f4,d5,f5]@5 ~ [eb3,g3,c4,eb4,g4,eb5]@5", // Gm Bb Cm
FN: "[f3,a3,f4,a4,f5]@5 [eb3,a3,c4,eb4,c5,eb5]@5 ~ [d3,f3,bb3,d4,f4,d5]@5", // F Adim Bb
FO: "[eb3,g3,eb4,g4,eb5]@5 [d3,g3,bb3,d4,bb4,d5]@5 ~ [c3,eb3,ab3,c4,eb4,c5]@5", // Eb Gm Ab
FP: "[c3,eb3,ab4,c5,eb5,ab5]@3 [c3,eb3,ab4,c5,eb5,ab5]@2 [c3,eb3,ab4,c5,eb5,ab5]@3 [c3,eb3,ab4,c5,eb5,ab5]@3 [c3,eb3,ab4,c5,eb5,ab5]@5", // Ab
FQ: "[d3,gb3,gb4,a4,d5,gb5]@3 [d3,gb3,gb4,a4,d5,gb5]@2 [d3,gb3,gb4,a4,d5,gb5]@3 [d3,gb3,gb4,a4,d5,gb5]@3 [d3,gb3,gb4,a4,d5,gb5]@5", // D
FR: "[g4,g5]@5 [g5,g6]@5 ~@6", FS: "[gb4,gb5]@5 [gb5,gb6]@5 ~@6",
FT: "[d4,g4,bb4,d5,g5,bb5,d6,g6]@5 [d4,g4,bb4,d5,g5,bb5,d6,g6]@5 ~@6", // Gm
FU: "[d4,g4,bb4,d5,g5,bb5,d6,g6]@5 [d4,g4,bb4,d5,g5,bb5,d6,g6]@5 ~ [d4,g4,bb4,d5,g5,bb5,d6,g6]@5", // Gm
FV: "eb5@3 ~@5 bb5 ~@2 bb5@3 ~@2", FW: "[eb5@3 ~@2 g5@59]/4",
})).s("gm_piano").gain(0.35)
// chords · piano · "Piano 2" · soft notes
const piano_soft = note(`<
~@4 A@4 ~@4 B@4 ~@16 C D@3 E@4 F@4 G@5 H I J K L M N ~@8 O P Q P ~@4 O P Q P ~@40 R S T S ~@4 R S T S ~@44 U V W X Y Z
AA AB AC Z V W AC AD AE AF AG AH@4 AI@4 AJ@3 AI AK AI AL ~@79 AM AN AM AN AO ~@3 AP AQ@2 AR ~@2 AS AT AU AQ@2 AR ~@2
AV AW AX ~@3 AY AZ BA BB BC BD BE BF BG ~ BH ~ BI BJ BK ~ BL BM BN ~ BO BP ~@2 BQ@8 ~@21 BR ~@108 BS BT@2 BU BV
>`.pickRestart({
A: "[d4,d5] [gb4,a4] ~ [d4,d5] [gb4,a4] [d4,d5] ~ [gb4,a4] [d4,d5] [gb4,a4] ~ [d4,d5] [gb4,a4] [d4,d5] ~ [gb4,a4]", // D Gbm D Gbm D Gbm D Gbm …
B: "[gb4,gb5] [a4,d5] ~ [gb4,gb5] [a4,d5] [gb4,gb5] ~ [a4,d5] [gb4,gb5] [a4,d5] ~ [gb4,gb5] [a4,d5] [gb4,gb5] ~ [a4,d5]", // Gb D5 Gb D5 Gb D5 Gb D5 …
C: "~@5 [eb3,g3,bb3,d4]@3 ~@3 [bb2,d3,g3,bb3]@3 ~@2", D: "[g1,g2]@3 ~@2 [g3,bb3,d4]@3 ~@3 [d3,g3,bb3]@3 ~@2",
E: "[f1,f2]@3 ~@2 [ab3,c4,eb4]@3 ~@3 [eb3,ab3,c4]@3 ~@2", // F Ab
F: "[[g1,g2]@3 ~@13 [g2,g3]@3 ~@13 [g2,g3]@3 ~@13 [g2,g3]@3 ~@13, [bb3,d4]@61 ~@3]/4", // G Bb
G: "[[f2,f3]@3 ~@13 [f2,f3]@3 ~@13 [f2,f3]@3 ~@13 [f2,f3]@3 ~@13 [g2,g3]@3 ~@13, [c4,eb4]@33 ~@7]/5", // F G Cm
H: "~@5 [bb3,g4]@3 ~@3 [g3,d4]@3 ~@2", I: "~@5 [bb3,f4]@3 ~@3 [f3,d4]@3 ~@2", J: "~@5 [g3,e4]@3 ~@3 [e3,bb3]@3 ~@2",
K: "~@5 [g3,eb4]@3 ~@3 [eb3,bb3]@3 ~@2", L: "~@5 [g3,d4]@3 ~@3 [d3,bb3]@3 ~@2",
M: "~@5 [gb2,d4]@3 ~@3 [gb3,a3]@3 ~@2", N: "~@5 [a3,e4]@3 ~@3 [e3,db4]@3 ~@2", O: "~@5 d4@3 gb4@3 d4@2 e4@3",
P: "gb4@5 e4@3 gb4@3 d4@2 gb4@3", Q: "e4@3 d4@2 d4@3 gb4@3 d4@2 e4@3", R: "~@5 d5@3 gb5@3 d5@2 e5@3",
S: "gb5@5 e5@3 gb5@3 d5@2 gb5@3", T: "e5 [e5,gb5] [e5,f5] d5@2 d5@3 gb5@3 d5@2 e5@3",
U: "~@11 [db4,e4,db5,e5,db6]@3 ~@2", V: "[b3,d4,b4,d5,b5]@3 ~@8 [db4,e4,db5,e5,db6]@3 ~@2",
W: "[a3,db4,a4,db5,a5]@3 ~@8 [b3,d4,b4,d5,b5]@3 ~@2", X: "[ab3,b3,ab4,b4,ab5]@3 ~@8 [a3,db4,a4,db5,a5]@3 ~@2",
Y: "[a3,db4,a4,db5,a5]@3 ~@8 [db4,e4,db5,e5,db6]@3 ~@2", Z: "[db4,e4,db5,e5,db6]@3 ~@8 [d4,f4,d5,f5,d6]@3 ~@2",
AA: "[db4,e4,db5,e5,db6]@3 ~@2 [b3,d4,b4,d5,b5]@3 ~@3 [a3,db4,a4,db5,a5]@3 ~@2", // Dbm Bm A
AB: "[db4,e4,db5,e5,db6]@3 ~@8 [b3,d4,b4,d5,b5]@3 ~@2", AC: "[b3,d4,b4,d5,b5]@3 ~@8 [d4,f4,d5,f5,d6]@3 ~@2",
AD: "[d4,f4,d5,f5,d6]@3 ~@8 [e4,g4,e5,g5,e6]@3 ~@2", // Dm Em
AE: "[d4,f4,d5,f5,d6]@3 ~@2 [db4,e4,db5,e5,db6]@3 ~@3 [b3,d4,b4,d5,b5]@3 ~@2", // Dm Dbm Bm
AF: "[d4,f4,d5,f5,d6]@3 ~@8 [d4,f4,d5,f5,d6]@3 ~@2", AG: "[db4,e4,db5,e5,db6]@3 ~@13", AH: "~@11 [a4,a5]@5",
AI: "~@11 [a3,a4,a5,a6]@5", AJ: "~@11 [a3,a4,a5]@5", AK: "~@11 [a4,a5,a6,a7]@5", AL: "~@5 [a2,a3,a4,a5]@5 ~@6",
AM: "[gb3,a3,d4,gb4,a4,d5]@10 ~ [gb3,a3,d4,gb4,a4,d5]@3 ~@2", // D
AN: "[g3,bb3,eb4,g4,bb4,eb5]@10 ~ [g3,bb3,eb4,g4,bb4,eb5]@3 ~@2", AO: "[gb3,a3,d4,gb4,a4,d5]@3 ~@13",
AP: "~@5 a2@3 a2@3 a2@2 a2@3", AQ: "d3@5 a2@3 a2@3 a2@2 a2@3", AR: "d3@5 a2@5 ~ d3@5",
AS: "~@5 [ab3,db4]@3 [g3,c4]@3 [gb3,b3]@2 [f3,bb3]@3", // Db5 C5 B5 Bb5
AT: "[e3,a3]@3 [eb3,ab3]@2 [d3,g3]@3 [db3,gb3]@3 [c3,f3]@2 [bb2,eb3]@3", // A5 Ab5 G5 Gb5 F5 Eb5
AU: "[d2,a2,d3,gb3]@3 ~@2 a2@3 a2@3 a2@2 a2@3", AV: "~@5 [db4,f4]@3 [c4,e4]@3 [b3,eb4]@2 [bb3,d4]@3",
AW: "[a3,db4]@3 [ab3,c4]@2 [g3,b3]@3 [gb3,bb3]@3 [f3,a3]@2 [eb3,g3]@3", AX: "[d3,gb3] ~@15",
AY: "~@11 [db4,g4,bb4]@3 ~@2", AZ: "[db4,g4,bb4,f5] ~@2 [db4,g4,bb4,f5] ~ [db4,g4,bb4,f5]@3 ~@3 [db4,g4,bb4]@3 ~@2",
BA: "[db4,g4,bb4,f5] ~@2 [db4,g4,bb4] ~ [db4,g4,bb4,f5] ~@2 [db4,g4,bb4] ~@2 [db4,g4,bb4,f5] ~ [db4,g4,bb4] ~@2", // Gm7b5 Gdim Gm7b5 Gdim Gm7b5 Gdim
BB: "[db4,g4,bb4,f5]@3 ~@2 [db4,g4,bb4,f5]@3 ~@8", BC: "~@11 [c4,ab4,c5,eb5]@3 ~@2",
BD: "[c4,ab4,c5,eb5,ab5] ~@2 [c4,ab4,c5,eb5,ab5] ~ [c4,ab4,c5,eb5,ab5]@3 ~@8", BE: "~@11 [g4,bb4,db5,g5,db6]@3 ~@2",
BF: "[g4,bb4,db5,g5,db6,gb6] ~@2 [g4,bb4,db5,g5,db6,gb6] ~ [g4,bb4,db5,g5,db6,gb6]@3 ~@3 [a4,db5,e5,g5,db6,e6]@3 ~@2", // Gb A7
BG: "[d2,d3,d5,gb5,a5,d6]@3 ~@13", BH: "f4@3 ~@2 e4@3 ~@3 d4@3 ~@2", BI: "~@5 db4 ~@2 e4 ~@2 db4 ~ d4 ~@2",
BJ: "e4@3 ~@2 d4@3 ~@3 db4@3 ~@2", BK: "eb4@3 ~@2 d4@3 ~@3 c4@3 ~@2", BL: "~@5 b3 ~@2 d4 ~@2 b3 ~ c4 ~@2",
BM: "d4@3 ~@2 c4@3 ~@3 b3@3 ~@2", BN: "d4@3 ~@2 c4@3 ~@3 bb3@3 ~@2", BO: "~@5 a3 ~@2 db4 ~@2 a3 ~ b3 ~@2",
BP: "db4@3 ~@2 b3@3 ~@3 a3@3 ~@2", BQ: "[d2,d3]/8", BR: "~@5 db4@3 c4@3 b3@3 ~@2",
BS: "~@7 d4 ~ eb4 d4 eb4 ~ d4 eb4 d4", BT: "~ eb4 d4 eb4 ~ d4 eb4 d4 ~ eb4 d4 eb4 ~ d4 eb4 d4",
BU: "~ eb4 d4 eb4 ~ d4 eb4 [gb3,a3,d4,d5,gb5]@5 ~@4", BV: "~@7 [g3,bb3,d5,g5]@5 ~@4",
})).s("gm_piano").gain(0.2)
// chords · piano · "Piano 3"
const piano_2 = note(`<
~@17 A B C D E C F A ~@6 G H I@3 J@4 K@4 L@4 M N@2 O@3 P Q R O S T U V W X Y@4 Z AA AB AC AD AE Y AE Z AA AB AC AF@4
AG AH@3 AI@4 AJ AK AL AK AM AN AO AP AQ AR@5 AS AT AU AV@3 AW@2 AX AY AZ BA@3 BB@4 BC@4 BD BE BF BG BH@4 BI BJ BK BL
BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC@2 CD CE CF CG CH CI CJ CK CL CM CN CO CP CL CQ CR CS CT CU CV CW CX
CY CV CR CS CY CZ DA DB DC DD DE DF DG DH DI DJ DK DH DD DE DK DL DM DN DO DP@3 DQ@4 DR DS DT DU DV DW DX DY DZ@2 DP
EA@2 EB@2 EC ED EE EF EG EH EI EJ EK@8 EL EM EN EO EP EQ ER ES ET EU EV EW EX EY EZ FA FB FC FD FE FF FG FF FG FF FG@3
FH FI FH FI FJ FI FK FI FL FM FN FO FP FO FP FO FQ FR@3 FS@4 FT FU FV FW FX FS@3 FT FU FV FW FY ~@2 FZ GA ~@5 GB GC
GD@2 GE@2 GF@2 GG@2 GH@2 GI@2 GF@2 GJ@2 GK@9 GL GM GN GM GO@4 GP GQ@3 GR GS GT GS GU@4 ~@4 GV GW GX GY GZ HA HB HC HD
HE GX GY GZ HF HG HH HI GO@3 HJ HK@3 HL HM HN HO HP HQ HR HS HT HU HV HW HX HQ HR HY HR HY HR HY HZ IA IB IC ID IE IF
IB IC ID IG IH II IJ II IJ IK@3 IL@5 IM@7 IN IO IP IO IQ@2 IR@3 ~@3 IS@8 IT@2 ~@4 IU IV IW IX IY IZ JA JB JC
>`.pickRestart({
A: "[d2,d3]@3 ~@13", B: "[a2,a3]@3 ~@13", C: "[c2,c3]@3 ~@13", D: "[gb2,gb3]@3 ~@13", E: "[a1,a2]@3 ~@13",
F: "[eb2,eb3]@3 ~@13", G: "~@11 [d3,a3,d4,a4,d5]@3 ~@2",
H: "[g1,g2,d4,bb4,d5]@3 ~@2 [g3,bb3,d4]@3 ~@3 [d3,g3,bb3]@3 ~@2", // Gm
I: "[~@5 [g3,bb3,d4]@3 ~@3 [d3,g3,bb3]@3 ~@7 [g3,bb3,d4]@3 ~@3 [d3,g3,bb3]@3 ~@7 [g3,bb3,d4]@3 ~@3 [d3,g3,bb3]@3 ~@2, g2@23 ~]/3", // Gm
J: "[~@5 [ab3,c4,eb4]@3 ~@3 [eb3,ab3,c4]@3 ~@7 [ab3,c4,eb4]@3 ~@3 [eb3,ab3,c4]@3 ~@7 [ab3,c4,eb4]@3 ~@3 [eb3,ab3,c4]@3 ~@7 [ab3,c4,eb4]@3 ~@3 [eb3,ab3,c4]@3 ~@2, f2@61 ~@3]/4", // Ab
K: "[~@5 [g3,bb3,d4]@3 ~@3 [d3,g3,bb3]@3 ~@7 [g3,bb3,d4]@3 ~@3 [d3,g3,bb3]@3 ~@7 [g3,bb3,d4]@3 ~@3 [d3,g3,bb3]@3 ~@7 [g3,bb3,d4]@3 ~@3 [d3,g3,bb3]@3 ~@2, g2@61 ~@3]/4", // Gm
L: "[~@5 [ab3,c4,eb4]@3 ~@3 [eb3,ab3,c4]@3 ~@7 [ab3,c4,eb4]@3 ~@3 [eb3,ab3,c4]@3 ~@7 [ab3,c4,eb4]@3 ~@3 [eb3,ab3,c4]@3 ~@7 [ab3,c4,eb4]@3 ~@3 [eb3,ab3,c4]@3 ~@2, f2@31 ~]/4", // Ab
M: "g2@5 ~@11", N: "[g1,g2]@3 ~@2 d4@3 ~@3 bb3@3 ~@2", O: "[g1,g2]@3 ~@2 bb3@3 ~@3 g3@3 ~@2",
P: "[a1,a2]@3 ~@2 a3@3 ~@3 d4@3 ~@2", Q: "[a1,a2]@3 ~@2 db4@3 ~@3 a3@3 ~@2", R: "[d2,d3]@3 ~@2 a3@3 ~@3 gb3@3 ~@2",
S: "[g1,g2]@3 ~@2 bb3@3 ~@3 f3@3 ~@2", T: "[g1,g2]@3 ~@2 g3@3 ~@3 e3@3 ~@2", U: "[g1,g2]@3 ~@2 g3@3 ~@3 eb3@3 ~@2",
V: "[g1,g2]@3 ~@2 g3@3 ~@3 d3@3 ~@2", W: "[a1,a2]@3 ~@2 a3@3 ~@3 gb3@3 ~@2", X: "[a1,a2]@3 ~@2 a3@3 ~@3 db4@3 ~@2",
Y: "[d2,d3]@3 ~@2 [d4,gb4,a4]@3 ~@3 [a3,d4,gb4]@3 ~@2", Z: "[c2,c3]@3 ~@2 g4 ~@2 bb4 ~@2 g4 ~ a4 ~@2",
AA: "bb4@3 ~@2 eb4 ~@2 g4 ~@2 eb4 ~ f4 ~@2", AB: "g4@3 ~@2 bb3 ~@2 eb4 ~@2 bb3 ~ d4 ~@2",
AC: "eb4@5 eb4 ~@2 eb4 ~@2 eb4 ~ eb4 ~@2", AD: "[d2,d3]@3 ~@2 [d4,gb4,a4]@3 ~@3 [a3,d4,gb4]@3 ~@2, d4@5 ~@11",
AE: "[d2,d3]@3 ~@2 [d4,gb4,a4]@3 ~@3 [a3,d4,gb4]@3 ~@2, gb4@5 ~@11", // D
// … 140 more lines
More by Camille Saint-Saëns
Not in the database
That song isn't here.
Nothing in the database matches this link. It may have been renamed, or the address was mistyped. The closest songs to :
Real transcriptions · Editable patterns · Instrumental
Type a song.
Get Strudel code.
Chords, structure, melody, bass and drums compiled from open transcriptions into Strudel live-coding patterns. Play it here, scrub through the bars, then open it in strudel.cc and start hacking.
Smells Like Teen SpiritNirvana
The JokerSteve Miller Band · 1973
Love Me DoThe Beatles · 1964
I Don't MindJames Brown · 1961
- Real transcriptionsMcGill chord charts, Lakh MIDI and quality-filtered PDMX scores. The library includes alternate transcriptions of some songs.
- One bar, one cycleEvery layer follows the same bar timeline, keeping the code, playback and song structure aligned.
- Instrumental by designDetected vocal parts are removed. Guitar riffs, harmonica and other instrumental leads stay.