0:00/0:00
// Danse macabre Op.40 — Saint-Saëns
// 195 bpm, 3/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (3/4 at bar 1, 1/4 at bar 16, 2/4 at bar 17, 3/4 at bar 17, ...) are rendered on a constant 3/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/594276; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 137 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(195/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 B C D E@2 F G H I@3 J@4 K L M L N O P Q R S T U V W X Y Z S T U V W AA AB AC AD AE AF AG AH@3 AI AJ AE AF AG AH@3 AK
AL AM AN H AO I@2 J@4 AP AQ AR AQ AS AT AU AV AW S T U V W X Y Z S T U V W AA AB AX E AY AZ H AO I@2 BA@4 BB BC BD BC
BE@4 BF BG BH BI BJ BK@3 BL@3 BM BN@3 BO BP ~@3 BQ BR BS BT BU
>`.pickRestart({
A: "[a4,eb5]", B: "[d4,a4]", C: "[a4,eb5]@11 [a4,eb5]@5", D: "[d4,a4]@11 [d4,a4]@5",
E: "[a4,eb5]@3 [a4,eb5]@2 [a4,eb5]@3 ~@3 [d4,a4]@3 ~@2", F: "[a4,eb5]@5 [d4,a4]@5 ~ [a4,eb5]@5",
G: "[d4,a4]@5 [a4,eb5]@5 ~ [d2,gb2,a2,d3,d4,gb4,a4,d5]@5", H: "[g1,bb1,d2,g2,g4,bb4,d5,g5]@5 [g3,bb3]@3 ~@3 d3@3 ~@2",
I: "g2@5 [g3,bb3]@3 ~@3 d3@3 ~@2", J: "f2@3 ~@2 [ab3,c4]@3 ~@3 eb3@3 ~@2",
K: "g2@3 ~@2 [g4,bb4]@3 bb5 ~@2 d4@2 a5 ~@2, ~@5 g5 ~@5 g5 ~@4", // Gm
L: "bb5@5 [g4,bb4]@3 bb5 ~@2 d4@2 bb5 ~@2, g3@3 ~@2 a5 ~@5 g5 ~@4", // Gm
M: "a5 [a5,bb5] bb5 g5 ~ [g4,bb4]@3 bb5 ~@2 d4@2 a5 ~@2, g3@3 ~@2 g5 ~@5 g5 ~@4", // Bbmaj7 Gm
N: "ab5@5 [ab4,c5]@3 c6 ~@2 eb4@2 bb5 ~@2, f3@3 ~@2 ab5 ~@5 ab5 ~@4", // Ab
O: "c6@5 [ab4,c5]@3 c6 ~@2 eb4@2 c6 ~@2, f3@3 ~@2 bb5 ~@5 ab5 ~@4", // Ab
P: "bb5 [bb5,c6] c6 ab5 ~ [ab4,c5]@3 c6 ~@2 eb4@2 bb5 ~@2, f3@3 ~@2 ab5 ~@5 ab5 ~@4", // Bbsus2 Ab
Q: "c6@5 [ab4,c5]@3 c6 ~@2 eb4@2 ab5 ~@2, f3@3 ~@2 ab5 ~@5 bb5 ~@4", // Ab
R: "[g3,d4,bb4,g5]@3 ~@2 [g3,bb3]@3 ~@3 d3@3 ~@2", S: "g2@3 ~@2 [bb3,d4,g4]@3 ~@3 [g3,bb3,d4]@3 ~@2",
T: "g2@3 ~@2 [bb3,d4,f4]@3 ~@3 [f3,bb3,d4]@3 ~@2", U: "g2@3 ~@2 [g3,bb3,e4]@3 ~@3 [e3,g3,bb3]@3 ~@2",
V: "g2@3 ~@2 [g3,bb3,eb4]@3 ~@3 [eb3,g3,bb3]@3 ~@2", W: "g2@3 ~@2 [g3,bb3,d4]@3 ~@3 [d3,g3,bb3]@3 ~@2",
X: "a2@3 ~@2 [a3,d4]@3 ~@3 [gb3,bb3]@3 ~@2", Y: "a2@3 ~@2 [a3,db4,e4]@5 ~ [e3,a3,db4]@3 ~@2",
Z: "[d2,d3]@3 ~@2 [a3,d4,gb4]@5 ~ [gb3,a3,d4]@3 ~@2", AA: "a2@3 ~@2 [gb3,a3,d4]@3 ~@3 [a3,d4,gb4]@3 ~@2",
AB: "[a2,a3,d4,gb4,a4]@3 ~@8 [a2,a3,db4,e4,a4]@3 ~@2", // D A
AC: "[d2,d3,d4]@3 ~@2 [d4,gb4]@3 gb5 ~@2 a3@2 e5 ~@2, ~@5 d5 ~@5 d5 ~@4", // D
AD: "gb5@5 [d4,gb4]@3 f5 ~@2 a3@2 f5 ~@2, d3@3 ~@2 e5 ~@5 d5 ~@4", // D
AE: "e5 [e5,f5] f5 d5@2 [d4,gb4]@3 gb5 ~@2 a3@2 e5 ~@2, d3@3 ~@2 d5 ~@5 d5 ~@4", // Fmaj7 D
AF: "gb5@5 [d4,gb4]@3 gb5 ~@2 a3@2 gb5 ~@2, d3@3 ~@2 e5 ~@5 d5 ~@4", // D
AG: "[c2,c3,bb4,eb5,g5]@5 [bb3,eb4,g4]@3 ~@3 [g3,bb3,eb4]@3 ~@2", // Cm7 Eb
AH: "[c2,c3]@3 ~@2 [bb3,eb4,g4]@3 ~@3 [g3,bb3,eb4]@3 ~@2", // C Eb
AI: "[d2,d3]@3 ~@2 [d4,gb4]@3 gb5 ~@2 a3@2 e5 ~@2, ~@5 d5 ~@5 d5 ~@4", // D
AJ: "gb5@5 [d4,gb4,e5]@3 gb5 ~@2 a3@2 gb5 ~@2, d3@3 ~@8 d5 ~@4", // D
AK: "[d2,d3,a3,d4,gb4]@5 [d4,a4]@3 [d4,a4]@3 [d4,a4]@2 [d4,a4]@3", // D D5
AL: "[a4,eb5]@5 [d4,a4]@3 [d4,a4]@3 [d4,a4]@2 [d4,a4]@3", AM: "[a4,eb5]@3 ~@2 [d4,a4]@3 ~@3 [a4,eb5]@3 ~@2",
AN: "[d4,a4]@3 ~@2 [a4,eb5]@3 ~@3 [d2,gb2,a2,d3,d4,gb4,a4,d5]@5", AO: "g2@3 ~@2 [g3,bb3]@3 ~@3 d3@3 ~@2",
AP: "[g1,g2]@5 [g5,g6]@3 [bb5,bb6]@3 [g5,g6]@2 [a5,a6]@3, ~@5 [g3,bb3,d4]@5 ~ [d3,g3,bb3]@5", // G Bb G A Gm
AQ: "[g1,g2,bb5,bb6]@5 [a5,a6]@3 [bb5,bb6]@3 [g5,g6]@2 [bb5,bb6]@3, ~@5 [g3,bb3,d4]@5 ~ [d3,g3,bb3]@5", // Gm A Bb G Bb Gm
AR: "[a5,a6]@3 [g5,g6]@2 [g5,g6]@3 [bb5,bb6]@3 [g5,g6]@2 [a5,a6]@3, [g1,g2]@5 [g3,bb3,d4]@5 ~ [d3,g3,bb3]@5", // A G Bb G A G Gm
AS: "[f1,f2,ab5,ab6]@5 [ab5,ab6]@3 [c6,c7]@3 [ab5,ab6]@2 [bb5,bb6]@3, ~@5 [ab3,c4,eb4]@5 ~ [f3,ab3,c4]@5", // Fm Ab C Ab Bb Ab Fm
AT: "[f1,f2,c6,c7]@5 [bb5,bb6]@3 [c6,c7]@3 [ab5,ab6]@2 [c6,c7]@3, ~@5 [ab3,c4,eb4]@5 ~ [f3,ab3,c4]@5", // F5 Bb C Ab C Ab Fm
AU: "[bb5,bb6]@3 [ab5,ab6]@2 [ab5,ab6]@3 [c6,c7]@3 [ab5,ab6]@2 [bb5,bb6]@3, [f1,f2]@5 [ab3,c4,eb4]@5 ~ [f3,ab3,c4]@5", // Bb Ab C Ab Bb F Ab Fm
AV: "[f1,f2,c6,c7]@5 [ab5,ab6]@3 [c6,c7]@3 [bb5,bb6]@2 [ab5,ab6]@3, ~@5 [ab3,c4,eb4]@5 ~ [f3,ab3,c4]@5", // F5 Ab C Bb Ab Fm
AW: "[g1,g2,g4,g5]@5 [g3,bb3,d4]@5 ~ [d3,g3,bb3]@5", AX: "[d2,d3,d4]@3 ~@8 [d4,a4]@3 ~@2",
AY: "[a4,eb5] ~@2 [d4,a4] ~ [a4,eb5] ~@2 [d4,a4] ~@2 [a4,eb5] ~ [d4,a4] ~@2", // Adim D5 Adim D5 Adim D5
AZ: "[a4,eb5]@3 ~@2 [d4,a4]@3 ~@3 [d2,gb2,a2,d3,d4,gb4,a4,d5]@5", // Adim D5 D
BA: "eb4 [eb4,f4] f4 [eb4,f4] eb4 [eb4,f4] f4 [eb4,f4] eb4 [eb4,f4] f4 [eb4,f4] eb4 [eb4,f4] f4 [eb4,f4], f2@3 ~@2 [ab3,c4]@3 ~@3 f3@3 ~@2", // Ebsus2 Ab
BB: "d4 eb4 ~@3 [g4,bb4,d5,g5]@3 [bb4,bb5]@3 [g4,g5]@2 [a4,a5]@3, [g1,g2]@5 [d3,g3,bb3,d4]@5 ~ [d3,g3,bb3,d4]@5", // Gm Bb G A G Gm
BC: "[g1,g2,bb4,bb5]@5 [a4,a5]@3 [bb4,bb5]@3 [g4,g5]@2 [bb4,bb5]@3, ~@5 [d3,g3,bb3,d4]@5 ~ [d3,g3,bb3,d4]@5", // Gm A Bb G Bb Gm
BD: "[g1,g2,a4,a5]@5 [g4,bb4,d5,g5]@3 [bb4,bb5]@3 [g4,g5]@2 [a4,a5]@3, ~@5 [d3,g3,bb3,d4]@5 ~ [d3,g3,bb3,d4]@5", // Gsus2 Gm Bb G A Gm
BE: "[eb3,eb4]/4", BF: "~@5 g3 ~@2 bb3 ~@2 g3 ~ a3 ~@2, db2 ~",
BG: "db2 eb2 ~ db2 eb2 [db2,g4] ~ eb2 [db2,bb4] eb2 ~ [db2,g4] eb2 [db2,a4] ~ eb2, bb3@5 ~@11", // Dbdim Gb Dbdim Gbm
BH: "db2 eb2 ~ db2 eb2 [db2,eb5] ~ eb2 [db2,g5] eb2 ~ [db2,eb5] eb2 [db2,f5] ~ eb2, bb4@3 ~@13", // Dbsus2 Dbdim Dbsus2 Db
BI: "db2 eb2 ~ db2 eb2 [db2,eb6] ~ eb2 [db2,g6] eb2 ~ [db2,eb6] eb2 [db2,f6] ~ eb2, g5@5 ~@11", // Dbsus2 Dbdim Dbsus2 Db
BJ: "db2@5 ~@11, g6@3 ~@13", BK: "[db2,db3,g3,bb3,eb4,g4]", BL: "[d2,d3,g3,bb3,d4,g4]/3", BM: "[d2,d3,g3,bb3,d4,g4]",
BN: "[d2,d3,g3,bb3,eb4,g4]/3", BO: "[d2,d3,g3,bb3,eb4,g4]", BP: "[c2,c3,eb4,ab4,eb5]@5 ~@11",
BQ: "~@5 [g1,g2] ~@2 [bb1,bb2] ~@2 [a1,a2] ~ [bb1,bb2] ~@2", // G Bb A Bb
BR: "[a1,a2]@3 [g1,g2]@2 [g1,g2] ~@2 [a1,a2] ~@2 [bb1,bb2] ~ [g1,g2] ~@2", BS: "[bb1,d3]@5 ~@11",
BT: "[d2,gb2,a2,d3,d4,gb4,a4,d5]@5 ~@11", BU: "[g1,bb1,d2,g2,g4,bb4,d5,g5]@5 ~@11",
})).s("gm_piano").gain(0.2)
stack(piano)
More by Saint-Saens
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.