0:00/0:00
// Chronologie, Part 2 — Jean Michel Jarre
// 162 bpm, 4/4, key Db major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 8/4 at bar 34, 4/4 at bar 60, 8/4 at bar 161, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 219 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(162/4)
// 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@8 B@8 ~ C D C E F G F G H I@3 J@8 K@2 L@2 M@2 K@2 L@2 M@2 K@2 L@2 N@2 O P Q R S T U V W X Y Z AA AB AC AD W AE AF AG
AH AI AJ AK AL AM AN AO AP AQ AR AS@5 AT AU AV AW AX AY AZ BA BB BC BD BE AX BF AZ BG BH@2 BI BJ BK@2 BI BL BM BN BO@2
C D C E F BP BQ@4 BR AM AN AO AP AQ AR BS@5 AT BT BU AW AX BV AZ BA BW BX BY BZ AX CA AZ CB CC@8 ~@2 CD@6 CE@4 CF CG
CH CI@2 CJ CK CL CM CN CO CP CQ CR CS CT CU CV CW CX CY CJ CK CL CU CN CZ CP DA CJ DB CL CU DC CW CP DD@6
>`.pickRestart({
A: "[db6@2 bb6@2 gb6@28 c6@2 ab6@2 f6@27 ~ b5@2 gb6@2 eb6@28 bb5@2 f6@2 db6@28, [bb2,bb3]@63 ~]/8", // Bb
B: "[db6@2 bb6@2 gb6@28 c6@2 ab6@2 f6@28 b5@2 gb6@2 eb6@27 ~ bb5@2 f6@2 db6@28, [bb2,bb3]]/8", C: "[bb2,bb5,db6]",
D: "[a5,c6]@2 [bb5,db6] [c6,eb6]@2 [bb5,db6] [a5,c6]@2, f3", // Am Bbm Cm Bbm Am
E: "[a5,c6]@2 [bb5,db6] [c6,eb6]@2 [db6,f6] [eb6,gb6]@2, f3", F: "[db3,db6,f6]",
G: "[c6,eb6]@2 [db6,f6] [eb6,gb6]@2 [db6,f6] [c6,eb6]@2, ab3", // Cm Db Ebm Db Cm
H: "[eb6,gb6]@4 [c6,eb6]@3 ~ [db6,f6]@4 [bb5,db6]@4, f3", // Ebm Cm Db Bbm
I: "[[c6,eb6]@4 [a5,c6]@4 [bb5,db6]@3 ~ [g5,bb5]@4 [a5,c6]@32, f3]/3", // Cm Am Bbm Gm Am
J: "[[bb4,db5,f5] [bb4,db5,gb5] [bb4,eb5,gb5] [bb4,db5,f5], bb2]/8", K: "[bb4,db5,gb5]/2", L: "[bb4,eb5,gb5]/2",
M: "[bb4,db5,f5]/2", N: "[~@14 g3 a3, [bb4,db5,f5], ~@26 f3@5 ~]/2",
O: "bb1 ~ bb2 ~ [bb5,db6,gb6]@2 bb2 ~ [bb5,db6,f6]@2 bb2 ~ bb1 ~ bb2 ~, bb3@4 [bb1,bb2] ~@3 bb1 ~@7", // Gb Bbm Bb
P: "[bb2,bb5,db6,f6]@2 bb2@2 bb1 ~ [bb5,db6,gb6]@2 bb1 ~ [bb5,db6,f6]@2 bb2@2 db3@2, bb1 ~@5 bb2 ~@3 bb2 ~ bb1 ~ bb2 ~", // Bbm Gb Bbm
Q: "[ab1,ab5,c6,f6] ~ [ab2,ab5,c6,f6] ~ [ab2,ab5,c6,eb6]@2 ab2 ~ ab1 ~ [ab5,c6,f6]@2 ab1 ~ ab2 ~, ab2@2 ~@2 ab1 ~@5 ab2 ~@5", // Fm Ab Fm
R: "[ab2,ab5,c6,eb6]@2 ab2 ~ ab1 ~ [ab5,c6,f6]@2 ab1 ~ ab2 ~ [ab2,ab5,c6,eb6]@2 eb3@2, ab1 ~@5 ab2 ~@5 ab1 ~ ab2 ~", // Ab Fm Ab
S: "[gb2,gb5,bb5,eb6]@2 gb2 ~ [gb2,gb5,bb5,db6]@2 gb2 ~ gb1 ~ [gb5,bb5,eb6]@2 gb1 ~ gb2 ~, gb1 ~@3 gb1 ~@5 gb2 ~@5", // Ebm Gb Ebm
T: "[gb1,bb5,db6] ~ [gb2,gb5,bb5,db6] ~ [gb1,gb5,bb5,db6] ~ [gb5,bb5,eb6]@2 gb1 ~ [gb5,bb5,db6]@2 gb2@2 db3@2, [gb2,gb5]@2 ~@4 gb2 ~@3 gb2 ~ gb1 ~ gb2 ~", // Gb Ebm Gb
U: "f2@2 f2@2 [f5,bb5,db6]@2 f2 ~ f1 ~ [f5,bb5,c6]@2 f1 ~ f2 ~, f1 ~@3 f1 ~@5 f2 ~@5", // Bbm Fsus4
V: "[f2,f5,bb5,c6]@2 f2@2 f1 ~ [f5,bb5,db6]@2 f1 ~ [f5,c6,eb6]@2 f2@2 [a2,bb5,db6,f6]@2, f1 ~@5 f2 ~@3 f2 ~ f1 ~ f2 ~", // Fsus4 Bbm F7 Bbm
W: "bb2@2 bb2@2 [bb5,db6,gb6]@2 bb2 ~ [bb5,db6,f6]@2 bb2 ~ bb1 ~ bb2 ~, bb1 ~@3 bb1 ~@3 bb1 ~@7", // Gb Bbm
X: "[bb2,bb5,db6,f6]@2 [bb2,bb5,db6,f6]@2 bb1 ~ [bb5,db6,gb6]@2 bb1 ~ [bb5,db6,f6]@2 bb2@2 db3@2, bb1 ~@5 bb2 ~@3 bb2 ~ bb1 ~ bb2 ~", // Bbm Gb Bbm
Y: "[ab1,ab5,c6,f6] ~ [ab5,c6,f6] ~ [ab5,c6,eb6]@2 ab2 ~ ab1 ~ [ab5,c6,f6]@2 ab1 ~ ab2 ~, ab2@2 ab2@2 ab1 ~@5 ab2 ~@5", // Fm Ab Fm
Z: "[ab2,ab5,c6,eb6]@2 ab2@2 ab1 ~ [ab5,c6,f6]@2 ab1 ~ [ab5,c6,eb6]@2 ab2@2 eb3@2, ab1 ~@5 ab2 ~@3 ab2 ~ ab1 ~ ab2 ~", // Ab Fm Ab
AA: "[gb1,gb5,bb5,eb6] ~ [gb5,bb5,eb6] ~ [gb5,bb5,db6]@2 gb2 ~ gb1 ~ [gb5,bb5,eb6]@2 gb1 ~ gb2 ~, gb2@2 gb2@2 gb1 ~@5 gb2 ~@5", // Ebm Gb Ebm
AB: "[gb2,gb5,bb5,db6]@2 gb2@2 gb1 ~ [gb5,bb5,eb6]@2 gb1 ~ [gb5,bb5,db6]@2 gb2@2 db3@2, gb1 ~@5 gb2 ~@3 gb2 ~ gb1 ~ gb2 ~", // Gb Ebm Gb
AC: "[f2,f5,bb5,db6]@2 f2@2 f1 ~ [f5,bb5,c6]@2 f1 ~ f2 ~ f1 ~ f2 ~, f1 ~@5 f2 ~@9", // Bbm Fsus4
AD: "[f1,bb5,c6] ~ [f2,f5,bb5,c6]@2 f1 ~ [f5,bb5]@2 f1 ~ [f5,c6,eb6]@2 f2@2 [a2,bb5,db6,f6]@2, [f2,f5]@2 ~@4 [f2,db6] ~@3 f2 ~ f1 ~ f2 ~", // Fsus4 Bb5 F7 Bbm F Db
AE: "bb5@2 c3 ~ c2 ~ [bb5,db6,f6]@2 c2 ~ [bb5,db6,f6]@2 bb2@2 [f3,bb5,db6,f6]@2, [bb2,db6,f6]@4 ~@2 c3 ~@3 c3 ~@3 c3 ~, c2 ~@11 c2 ~@3", // Bbm
AF: "db3@2 db3@2 [bb5,db6,gb6]@2 db3 ~ [bb5,db6,f6]@2 db3 ~ db2 ~ db3 ~, db2 ~@3 db2 ~@3 db2 ~@7", // Gb Bbm
AG: "[d3,bb5,d6,f6,ab6]@2 d3@2 d2 ~ [bb5,d6,f6,ab6]@2 d2 ~ [bb5,db6,gb6,bb6]@2 d3@2 [bb3,bb5,eb6,gb6]@2, d2 ~@5 d3 ~@3 d3 ~ d2 ~ d3 ~", // Bb7 Gb Ebm
AH: "eb3@2 eb3 ~ [bb5,f6,ab6]@2 eb3 ~ [bb5,eb6,gb6]@2 eb3 ~ eb2 ~ eb3 ~, eb2 ~@3 eb2 ~@3 eb2 ~@7", // Bb7 Ebm
AI: "[e3,db6,e6,g6,bb6]@2 e3 ~ e2 ~ [db6,e6,g6,bb6]@2 e2 ~ [db6,e6,g6,bb6]@2 e3@2 [c4,a5,c6,eb6,f6]@2, e2 ~@5 e3 ~@3 e3 ~ e2 ~ e3 ~", // Edim Dbdim F7
AJ: "f3@2 f3@2 [a5,c6,eb6,gb6]@2 f3 ~ [a5,c6,eb6,f6]@2 f3 ~ f2 ~ f3 ~, f2 ~@3 f2 ~@3 f2 ~@7", // Adim F7
AK: "f3@2 f3@2 f2 ~ [a5,db6]@2 f2 ~ [a5,c6]@2 g2@2 a2@2, [a5,c6,eb6,f6] ~@3, f2 ~@5 f3 ~@3 f3 ~ f2 ~ f3 ~", // A Am F7
AL: "[bb2,bb4,bb5] [db3,db5,db6] [c3,c5,c6] [eb3,eb5,eb6], f2 ~@15", // Bb Db C Eb
AM: "[db3,db5,db6] [f3,f5,f6] [eb3,eb5,eb6] [gb3,gb5,gb6]", AN: "[f3,f5,f6] [db3,db5,db6] [eb3,eb5,eb6] [c3,c5,c6]",
AO: "[db3,db5,db6]@2 [bb2,bb4,bb5]@2 [c3,c5,c6]@2 [bb2,bb4,bb5] [a2,a4,a5]", // Db Bb C Bb A
AP: "[bb1,bb2,bb4,bb5] [db2,db3,db5,db6] [c2,c3,c5,c6] [eb2,eb3,eb5,eb6]", // Bb Db C Eb
AQ: "[db2,db3,db5,db6] [f2,f3,f5,f6] [d2,d3,d5,d6] [f2,f3,f5,f6]", // Db F D F
AR: "[eb2,eb3,eb5,eb6] [gb2,gb3,gb5,gb6] [e2,e3,e5,e6] [g2,g3,g5,g6]", // Eb Gb E G
AS: "[f3@4 ~@4 f3 ~@3 f3 ~@3 [bb5,db6]@3 ~ f3 ~ [f5,a5,c6]@2 f3 ~ [f5,bb5,db6] ~ [f5,c6,eb6]@3 ~ f3 ~@3 [f5,f6]@3 ~ f3 ~ [f5,eb6]@2 f3 ~@3 [f5,bb5,db6]@3 ~ f3 ~ [f5,a5,c6]@2 f3 ~ [f5,bb5,db6] ~ [f5,c6,eb6]@3 ~ f3 ~@3 f3 ~@3 f3 ~@3 bb2@2 f3@2, f2, [f5,f6]@16 f3 ~@11 f3 ~@7 f3 ~@5 c6 ~@5 f1@32, ~@48 f3 ~@11 f3 ~@19]/5", // Bbm F Bbm F7 F F7 Bbm F …
AT: "bb2@2 bb2@2 [bb2,bb5,db6,ab6]@2 bb2@2 [bb5,db6,gb6]@2 bb2 ~ bb1 ~ bb2 ~, bb1 ~@3 bb1 ~@3 bb1 ~@7", // Bbm7 Gb
AU: "[bb2,bb5,db6,f6]@2 bb2@2 bb1 ~ [bb5,db6,ab6]@2 bb1 ~ [bb5,db6,gb6]@2 bb2@2 [f3,ab5,c6,f6]@2, bb1 ~@5 bb2 ~@3 bb2 ~ bb1 ~ bb2 ~", // Bbm Bbm7 Gb Fm
AV: "ab2@2 ab2@2 [ab2,ab5,db6,gb6]@2 ab2@2 [ab5,c6,f6]@2 ab2 ~ ab1 ~ ab2 ~, ab1 ~@3 ab1 ~@3 ab1 ~@7", // Dbsus4 Fm
AW: "[ab2,ab5,c6,eb6]@2 ab2@2 ab1 ~ [ab5,c6,gb6]@2 ab1 ~ [ab5,c6,f6]@2 ab2@2 [eb3,gb5,bb5,eb6]@2, ab1 ~@5 ab2 ~@3 ab2 ~ ab1 ~ ab2 ~", // Ab Ab7 Fm Ebm
AX: "gb2@2 gb2@2 [gb2,gb5,bb5,eb6]@2 gb2@2 [gb5,bb5,db6]@2 gb2 ~ gb1 ~ gb2 ~, gb1 ~@3 gb1 ~@3 gb1 ~@7", // Ebm Gb
AY: "gb2@2 gb2@2 [bb5,db6]@2 gb2 ~ gb1 ~ [gb5,bb5,eb6]@2 [gb2,bb5,db6]@2 db3@2, [gb5,bb5,eb6] ~@3, gb1 ~@3 gb1 ~@5 gb2 ~ gb1 ~ gb2 ~", // Bbm Ebm Gb Ebm
AZ: "f2@2 f2@2 [f2,f5,bb5,db6]@2 f2@2 f1 ~ [f5,bb5,c6]@2 f1 ~ f2 ~, f1 ~@3 f1 ~@5 f2 ~@5", // Bbm Fsus4
BA: "[f1,f5,a5,c6] ~ [f5,a5,c6] ~ [f1,f5,a5,c6] ~ [f5,bb5,db6]@2 f1 ~ [f5,c6,eb6]@2 f2@2 a2@2, f2@2 f2@2 ~@2 f2 ~@3 f2 ~ f1 ~ f2 ~", // F Bbm F7
BB: "bb2@2 bb2@2 [bb2,bb5,db6,gb6]@2 bb2@2 bb1 ~ bb2 ~ bb1 ~ bb2 ~, bb1 ~@3 bb1 ~@3 [bb5,db6,f6]@4 ~@4", // Gb Bbm
BC: "[bb1,bb5,db6,f6] ~ [bb5,db6,f6] ~ [bb1,bb5,db6,f6] ~ [bb5,db6,gb6]@2 bb1 ~ [bb5,db6,f6]@2 bb2@2 f3@2, bb2@2 bb2@2 ~@2 bb2 ~@3 bb2 ~ bb1 ~ bb2 ~", // Bbm Gb Bbm
BD: "[ab2,ab5,c6,f6]@2 ab2@2 [ab1,ab5,c6] ~ ab2@2 ab1 ~ [ab5,db6,f6]@2 ab1 ~ ab2 ~, ab1 ~@3 [ab2,eb6]@2 ~@4 ab2 ~@5", // Fm Ab Db Ab5
BE: "[ab2,ab5,c6,eb6]@2 ab2@2 ab1 ~ [ab5,db6,f6]@2 ab1 ~ [ab5,c6,eb6]@2 ab2@2 eb3@2, ab1 ~@5 ab2 ~@3 ab2 ~ ab1 ~ ab2 ~", // Ab Db Ab
BF: "[gb2,gb5,bb5,eb6]@2 gb2@2 gb1 ~ [gb5,bb5,db6]@2 gb1 ~ [gb5,bb5,eb6]@2 [gb2,gb5,db6]@2 db3@2, gb1 ~@5 gb2 ~@3 gb2 ~ gb1 ~ gb2 ~", // Ebm Gb Ebm Gb5
BG: "[f1,f5,c6] ~ [f5,c6] ~ [f1,f5,c6] ~ [f5,bb5]@2 f1 ~ [f5,a5]@2 f2@2 a2@2, f2@2 f2@2 ~@2 f2 ~@3 f2 ~ f1 ~ f2 ~", // F5 Bb5 F
BH: "[~@2 [f5,bb5,db6] ~@2 [eb5,ab5,c6] ~@2 [db5,gb5,bb5] ~@2 [c5,f5,ab5] ~@2 [bb4,eb5,gb5] ~, bb2]/2", // Bbm Ab Gb Fm Ebm
BI: "~@2 [gb4,bb4,f5] ~@2 [gb4,bb4,eb5] ~@2, [c2,c3]", // Gbmaj7 Ebm C
BJ: "[f4,bb4,db5]@2 ~@4 [f4,a4] ~@3 [a5,c6]@2 [bb5,db6] ~ [c6,eb6] ~, [f1,f2], ~@3 c5 ~@4", // Bbm F Am Bbm Cm F
BK: "[~@2 [f5,bb5,db6] ~@2 [eb5,ab5,c6] ~@2 [db5,gb5,bb5] ~@2 [c5,f5,ab5] ~@2 [bb4,eb5,gb5] ~, [bb1,bb2]]/2", // Bbm Ab Gb Fm Ebm Bb
BL: "[f4,bb4,db5]@2 ~@4 [f4,a4] ~@3 a5@2 [bb5,db6] ~ [c6,eb6] ~, [f1,f2], ~@6 c5@2 ~@2 c6 ~@5", // Bbm F Bbm Cm F
BM: "[db5,ab5,c6]@5 ~ [db5,gb5,bb5]@5 ~ [db5,gb5,bb5]@3 ~, [gb1,gb2]", // Dbmaj7 Gb
BN: "[e5,g5,db6]@5 ~ [e5,g5,c6]@5 ~ [e5,g5,bb5]@3 ~, [e1,e2]", // Dbdim C Edim E
BO: "[[f5,bb5,c6]@5 ~ [f5,bb5,c6]@5 ~ bb5@4 a5@15 ~, [f1,f2], f6@11 ~ [f5,c6,f6]@19 ~]/2", // Fsus4 F F5
BP: "[c6,eb6]@2 [db6,f6] [eb6,gb6]@2 [db6,f6] [c6,eb6]@2, ab2", // Cm Db Ebm Db Cm
BQ: "[[eb6,gb6]@4 [c6,eb6]@3 ~ [db6,f6]@4 [bb5,db6]@4 [c6,eb6]@4 [a5,c6]@4 [bb5,db6]@3 ~ [g5,bb5]@4 [a5,c6]@32, f3]/4", // Ebm Cm Db Bbm Cm Am Bbm Gm …
BR: "[bb2,bb4,bb5] [db3,db5,db6] [c3,c5,c6] [eb3,eb5,eb6]", // Bb Db C Eb
BS: "[f3@4 ~@2 c6@2 f3@4 f3@4 [f3,bb5,db6]@4 ~@2 [f5,a5,c6]@2 ~@2 [f5,bb5,db6] ~ [f3,f5]@4 f3@4 [f3,f6]@4 ~@2 [f5,eb6]@2 f3@4 [f3,f5,bb5,db6]@4 ~@2 [f5,a5,c6]@2 ~@2 [f5,bb5,db6] ~ [f3,eb6]@4 f3@4 f3@4 f3@4 bb2@2 f3@2, f2, f6@16 ~@12 [c6,eb6]@2 ~@12 c6 ~@17 [f5,c6]@2 ~@18, f5@8 ~@8 f5 ~@19 f5@2 ~@2 f3@4 ~@8 f3@4 f3@4 ~@20, ~ f3 ~@3 f3!2 ~ f1@12]/5", // Bbm F Bbm F F7 Bbm F Bbm …
BT: "[bb2,bb5,db6,f6]@2 bb2@2 bb1 ~ [bb5,db6,ab6]@2 bb1 ~ [bb5,db6,gb6]@2 bb2@2 [bb2,c6,f6] ~, bb1 ~@5 bb2 ~@3 bb2 ~ bb1 ~ [f3,ab5]@2", // Bbm Bbm7 Gb Bbsus2 Fm
BU: "ab2@2 ab2@2 [ab2,ab5,c6,gb6]@2 ab2@2 [ab5,c6,f6]@2 ab2 ~ ab1 ~ ab2 ~, ab1 ~@3 ab1 ~@3 ab1 ~@7", // Ab7 Fm
BV: "[gb2,gb5,bb5,eb6]@2 gb2@2 [gb5,bb5,db6]@2 gb2 ~ gb1 ~ [gb2,gb5,bb5,eb6] ~ [gb2,gb5,bb5,db6]@2 db3@2, gb1 ~@3 gb1 ~@7 gb1 ~ gb2 ~", // Ebm Gb Ebm Gb
BW: "bb2@2 bb2@2 [bb2,bb5,db6,gb6]@2 bb2@2 [bb5,db6,f6]@2 bb2 ~ bb1 ~ bb2 ~, bb1 ~@3 bb1 ~@3 bb1 ~@7", // Gb Bbm
BX: "[bb1,bb5,db6,f6] ~ [bb5,db6,f6] ~ [bb1,bb5,db6,f6] ~ [bb5,eb6,gb6]@2 bb1 ~ [bb5,db6,f6]@2 bb2@2 f3@2, bb2@2 bb2@2 ~@2 bb2 ~@3 bb2 ~ bb1 ~ bb2 ~", // Bbm Ebm Bbm
BY: "[ab1,ab5,c6,f6] ~ [ab5,c6,f6] ~ [ab2,ab5,c6,eb6]@2 ab2@2 ab1 ~ [ab5,db6,f6]@2 ab1 ~ ab2 ~, ab2@2 ab2@2 ab1 ~@5 ab2 ~@5", // Fm Ab Db
BZ: "[ab1,ab5,c6,eb6] ~ [ab5,c6,eb6] ~ [ab1,ab5,c6,eb6] ~ [ab5,db6,f6]@2 ab1 ~ [ab5,c6,eb6]@2 ab2@2 eb3@2, ab2@2 ab2@2 ~@2 ab2 ~@3 ab2 ~ ab1 ~ ab2 ~", // Ab Db Ab
CA: "[gb2,gb5,bb5,eb6]@2 gb2@2 gb1 ~ [gb5,bb5,db6]@2 gb1 ~ [gb2,gb5,bb5,eb6] ~ [gb2,gb5,bb5,db6]@2 db3@2, gb1 ~@5 gb2 ~@5 gb1 ~ gb2 ~", // Ebm Gb Ebm Gb
CB: "[f1,f5,a5,c6] ~ [f5,a5,c6] ~ [f1,f5,a5,c6] ~ [f5,bb5]@2 f1 ~ f2 ~ f2@2 a2@2, f2@2 f2@2 ~@2 f2 ~@3 [f5,a5]@6, ~@12 f1 ~ f2 ~", // F Bb5 F
CC: "[[f5,bb5] ~@3, bb2]/8", CD: "[db6@2 bb6@2 gb6@28 c6@2 ab6@2 f6@27 ~ b5@2 gb6@2 eb6@28, bb2]/6",
CE: "[bb5@2 f6@2 ~@3 eb3 c3@4 eb3@4 db3@4 f3@4 eb3@4 gb3@4 bb2@4 db3@4 c3@4 eb3@4 db3@4 f3@4 eb3@4 gb3@4, bb2@7 ~@17 bb6@40, ~@2 db6@13 ~@17]/4",
CF: "[bb1,bb2,bb5] [db2,db3,db6] [c2,c3,c6] [eb2,eb3,eb6]", // Bb Db C Eb
CG: "[db2,db3,db6] [f2,f3,f6] [eb2,eb3,eb6] [gb2,gb3,gb6]", CH: "bb4@2 ~@2 g4 ~ c5@2, [e2,e3,e5,g5], c5@3 ~, ~ bb4@3",
CI: "[c5@2 db5 c5, [f2,f3,bb4,f5], ~ f1]/2", // Bb5
CJ: "bb2@2 bb2@2 [bb2,f5,bb5,eb6]@2 bb2@2 bb1 ~ [f5,bb5,db6]@2 bb1 ~ bb2 ~, bb1 ~@3 bb1 ~@5 bb2 ~@5", // Bbsus4 Bbm
CK: "[bb2,f5,bb5,c6]@2 bb2@2 bb1 ~ [f5,db6]@2 bb1 ~ bb2 ~ bb2@2 f3@2, bb1 ~@5 [bb2,bb5] ~@5 bb1 ~ bb2 ~", // Bbsus2 Db Bb
CL: "ab2@2 ab2@2 [ab2,f5,bb5,eb6]@2 ab2@2 ab1 ~ [f5,bb5,db6]@2 ab1 ~ ab2 ~, ab1 ~@3 ab1 ~@5 ab2 ~@5", // Absus2 Bbm
CM: "[ab2,f5,bb5,c6]@2 ab2@2 ab1 ~ [f5,bb5,db6]@2 ab1 ~ ab2 ~ [ab2,f5,bb5]@2 [ab2,f6] ~, ab1 ~@5 ab2 ~@5 [ab1,eb6] ~ eb3@2", // Fm Bbm Bb7 Db Ab5
CN: "gb2@2 gb2@2 [gb2,f5,bb5,eb6]@2 gb2@2 gb1 ~ [f5,bb5,db6]@2 gb1 ~ gb2 ~, gb1 ~@3 gb1 ~@5 gb2 ~@5", // Ebm Bbm
CO: "[gb2,f5,bb5,c6]@2 gb2@2 gb1 ~ [f5,bb5,db6]@2 gb1 ~ gb2 ~ [gb2,f5,bb5]@2 [gb2,f6] ~, gb1 ~@5 gb2 ~@5 [gb1,eb6] ~ db3@2", // Gbmaj7 Bbm Gbmaj7 Ebm
CP: "f2@2 f2@2 [f2,f5,bb5,c6]@2 f2@2 f1 ~ [f5,bb5,c6]@2 f1 ~ f2 ~, f1 ~@3 f1 ~@5 f2 ~@5", // Fsus4
CQ: "[f1,f5,a5,c6] ~ [f5,a5,c6] ~ [f1,f5,a5,c6] ~ [f5,bb5]@2 f1 ~ [f5,a5,c6]@2 f2@2 [a2,f5,bb5,db6]@2, f2@2 f2@2 ~@2 f2 ~@3 f2 ~ f1 ~ f2 ~", // F Bb5 F Bbm
CR: "bb2@2 bb2@2 [bb2,f5,eb6]@2 bb2@2 bb1 ~ [f5,bb5,db6]@2 bb1 ~ bb2 ~, bb1 ~@3 [bb1,bb5] ~@5 bb2 ~@5", // Bbsus4 Bbm Bb
CS: "[bb1,bb5,c6] ~ bb2@2 bb1 ~ [f5,bb5,db6]@2 bb1 ~ bb2 ~ bb2@2 f3@2, [bb2,f5]@2 ~@4 bb2 ~@5 bb1 ~ bb2 ~", // Bbsus2 Bbm Bb5
CT: "ab2@2 ab2@2 [ab2,f5,bb5,eb6]@2 ab2@2 ab1 ~ [f5,bb5]@2 ab1 ~ ab2 ~, ab1 ~@3 ab1 ~@5 [ab2,db6] ~@5", // Absus2 Bb5 Db5
CU: "[ab2,f5,bb5,c6]@2 ab2@2 ab1 ~ [f5,bb5,db6]@2 ab1 ~ ab2 ~ [ab2,f5,c6]@2 [ab2,f6] ~, ab1 ~@5 ab2 ~@5 [ab1,eb6] ~ eb3@2", // Fm Bbm Fm Db Ab5
CV: "gb2@2 gb2@2 [gb2,gb5,bb5,f6]@2 gb2@2 gb1 ~ [ab5,bb5,eb6]@2 gb1 ~ gb2 ~, gb1 ~@3 gb1 ~@5 gb2 ~@5", // Gbmaj7 Absus2
CW: "[gb2,ab5,bb5,db6]@2 gb2@2 gb1 ~ [ab5,c6]@2 gb1 ~ [gb2,ab5,bb5] ~ gb2@2 db3@2, gb1 ~@5 gb2 ~@5 gb1 ~ gb2 ~", // Gb Ab Gb
CX: "f2@2 f2@2 [f2,f5,bb5,c6,f6]@2 f2@2 f1 ~ [f5,bb5,c6]@2 f1 ~ f2 ~, f1 ~@3 f1 ~@5 f2 ~@5", // Fsus4
CY: "[f1,f5,c6] ~ [f5,c6] ~ [f1,f5,c6] ~ [f5,bb5]@2 f1 ~ [f5,a5]@2 f2@2 [a2,f5,bb5]@2, f2@2 f2@2 ~@2 f2 ~@3 f2 ~ f1 ~ f2 ~", // F5 Bb5 F Bbmaj7
CZ: "[gb2,f5,bb5,c6]@2 gb2@2 gb1 ~ [f5,bb5,db6]@2 gb1 ~ gb2 ~ [gb2,f5,c6]@2 [gb2,f6] ~, gb1 ~@5 gb2 ~@5 [gb1,eb6] ~ db3@2", // Gbmaj7 Bbm F Gbmaj7 Ebm
DA: "[f1,f5,c6] ~ [f5,c6] ~ [f1,f5,c6] ~ [f5,bb5]@2 f1 ~ [f5,c6]@2 f2@2 [a2,f5,c6]@2, f2@2 f2@2 ~@2 f2 ~@3 f2 ~ f1 ~ f2 ~", // F5 Bb5 F5 F
DB: "[bb2,f5,bb5,c6]@2 bb2@2 bb1 ~ [f5,db6]@2 bb1 ~ bb2 ~ bb2@2 db3@2, bb1 ~@5 [bb2,bb5] ~@5 bb1 ~ bb2 ~", // Bbsus2 Db Bb
DC: "ab1 ~ ab2 ~ [gb2,gb5,bb5,f6]@2 gb2@2 gb1 ~ [ab5,bb5,eb6]@2 gb1 ~ gb2 ~, gb2@4 gb1 ~@5 gb2 ~@5", // Gbmaj7 Absus2
DD: "[[f1,f5,c6] ~ [f5,c6] ~ [f1,f5,c6] ~ [f5,bb5]@2 f1 ~ [f5,a5]@2 f2@2 a2@2 [bb0,bb1,bb2]@67 ~@13, f2@2 f2@2 ~@2 f2 ~@3 f2 ~ f1 ~ [f5,bb5]@68 ~@14, ~@14 f2 ~@81]/6", // F5 Bb5 F Bb Bb5
})).s("gm_piano").gain(0.6)
// chords · piano
const piano_2 = note(`<
~@36 A ~ A ~ B ~ B ~ B ~ B ~ B ~ B ~ C ~@105 D ~ E ~ A ~ B ~@17 F@2 G@2 H@2 I@2 J@2 K@2 L@2 M@2 N@2 O@2 P@2 Q@2 R@2
S@3 T U@7
>`.pickRestart({
A: "~@6 [bb5,bb6]@3 ~ [bb5,bb6]@4 ~@2", B: "~@6 [bb5,bb6]@3 ~ [bb5,bb6]@5 ~", C: "~@6 [bb5,bb6]@3 ~ [bb5,bb6]@6",
D: "~@6 [bb5,bb6]@2 ~@2 [bb5,bb6]@3 ~@3", E: "~@3 [bb5,bb6] ~ [bb5,bb6]@2 ~",
F: "[~@3 [eb5,gb5]@3 ~@3 [eb5,gb5]@4 ~@2 [db5,f5]@17]/2", G: "[~@3 [db5,f5]@5 ~@2 [db5,f5]@4 ~ [c5,eb5]@17]/2",
H: "[~@4 [c5,eb5]@4 ~@2 [c5,eb5]@5 [bb4,db5]@16 ~]/2", I: "[~@3 [bb4,db5]@3 ~@3 [bb4,db5]@5 ~ [a4,c5]@15 ~@2]/2",
J: "[~@3 [eb5,gb5]@5 ~@2 [eb5,gb5]@4 ~ [db5,f5]@16 ~]/2", K: "[~@3 [db5,f5]@4 ~@2 [db5,f5]@5 ~ [c5,eb5]@17]/2",
L: "[~@3 [c5,eb5]@5 ~@2 [c5,eb5]@4 ~ [bb4,db5]@15 ~@2]/2", M: "[~@3 [bb4,db5]@5 ~@2 [bb4,db5]@4 ~ [a4,c5]@17]/2",
N: "[~@4 [eb5,gb5]@4 ~@2 [eb5,gb5]@5 [db5,f5]@16 ~]/2", O: "[~@4 [db5,f5]@5 ~ [db5,f5]@5 [c5,eb5]@17]/2",
P: "[~@4 [c5,eb5]@5 ~ [c5,eb5]@5 [bb4,db5]@16 ~]/2", Q: "[~@4 [bb4,db5]@4 ~@2 [bb4,db5]@5 [a4,c5]@17]/2",
R: "[~@3 [eb5,gb5]@4 ~@2 [eb5,gb5]@5 ~ db5@17, ~@14 f5@17 ~]/2", // Ebm
S: "[~@3 [db5,f5]@5 ~@2 [db5,f5]@5 [c5,eb5]@18 ~@3 [c5,eb5]@5 ~@2 [c5,eb5]@4 ~]/3", T: "[bb4,db5]",
U: "[~@3 [bb4,db5]@5 ~@2 [bb4,db5]@4 ~ c5@9 ~@8 [db4,f4]@66 ~@14, ~@15 a4@15 ~@82, ~@12 bb4@37 ~@7]/7", // Bbm Db
})).s("gm_piano").gain(0.8)
// chords · piano
const piano_3 = note("<~@141 A@8 ~@8 B@2 C@2 D@2 E@2 F@2 G@2 H@2 E@2 I@4 J K L M@2 ~@37>".pickRestart({
A: "[~ eb6@31]/8", B: "[db5,f5,bb5]/2", C: "[[bb4,db5,gb5]@31 ~]/2", D: "[bb4,db5,e5,g5]/2", E: "[bb4,b4,eb5,gb5]/2",
F: "[[bb4,db5,f5]@31 ~]/2", G: "[bb4,db5,gb5]/2", H: "[ab4,c5,f5]/2", I: "[bb4,db5,f5]/4",
J: "[bb4,db5,f5] [a4,c5,f5]", K: "[ab4,db5,f5] [bb4,eb5,gb5]", L: "[c5,e5,g5,bb5]", M: "[c5@2 db5 c5, [bb4,f5]]/2",
})).s("gm_piano").gain(0.66)
// other · piano
const piano_4 = note(`<
~@79 A B C D A E F G ~@28 H I J K ~@10 A B C D A E F G ~@3 L@3 M@2 N@4 O@2 P@2 Q@4 R@2 ~@38 S@5 T@4 U V W X Y@3 Z@6
>`.pickRestart({
A: "bb2 db3 c3 eb3", B: "db3 f3 eb3 gb3", C: "f3 db3 eb3 c3", D: "db3@2 bb2@2 c3@2 bb2 a2", E: "db3 f3 d3 f3",
F: "eb3 gb3 e3 g3", G: "f3@15 ~", H: "c5@6 bb4@6 db5@3 ~", I: "db5@6 c5@5 ~ bb4@4", J: "f5@3 f5@2 a5 bb5 c6", K: "f6",
L: "[~@6 f5@2 a5@2 bb5@2 c6@2 bb5@12 c6@2 db6@2 db6@9 ~ db6 c6 db6 c6 bb5 c6 db6 c6]/3",
M: "[db6@7 ~ eb6@2 f6@4 bb6@13 ~ bb6@2 ab6@2]/2",
N: "[bb6@2 ab6@2 gb6 ~ gb6@4 f6@2 gb6@2 eb6@9 ~ eb6@2 f6@2 gb6@2 eb6@4 ~@2 bb6@3 ~ bb6@2 ~ c7@3 a6@9 ~ c7 bb6 a6 gb6 f6 eb6 f6 eb6]/4",
O: "[f6@4 bb6@6 bb6@13 ~ bb6 ab6 gb6 f6 gb6 f6 eb6 db6]/2", P: "[f6@2 bb6@2 eb6 db6@2 c6@4 c6 db6 c6 bb5 ab5]/2",
Q: "[bb5@10 c6@2 db6@2 f6@7 ~ f6@2 bb6@2 a6@2 bb6@2 c7@26 ~@4 db7@2 c7@2]/4", R: "bb6/2",
S: "[~@6 f4@2 a4@2 bb4@2 c5@2 db5@10 eb5@2 f5@12 db5 eb5 c5@2 db5@2 eb5@2 f5@10 gb5@2 ab5@14 eb5@2 f5@2 gb5@2 ab5@2]/5",
T: "[bb5@20 bb5@2 c6@2 db6@2 eb6@4 f6@22 ~@4 bb3 c4 db4 eb4 c4 db4 eb4 f4]/4",
U: "db4 eb4 f4 gb4 eb4 f4 gb4 ab4 f4 gb4 ab4 bb4 f4 gb4 ab4 bb4",
V: "gb4 ab4 bb4 c5 db5 bb4 db5 f5 eb5 f5 db5 eb5 f5 db5 eb5 f5",
W: "gb5 eb5 f5 gb5 ab5 bb5 c6 db6 eb6 bb5 c6 db6 eb6 f6 gb6 ab6", X: "bb6",
Y: "[~@2 f6@2 eb6 db6 c6 bb5@3 ab5 gb5 f5 eb5 db5 c5@9]/3", Z: "[~@2 f4 eb4 db4 c4 a3 bb3@34 ~@7]/6",
})).s("gm_piano").gain(0.5)
// drums · kick
const kick = s("bd").struct("<~@41 [x!4]!66 ~@12 [x!2]!8 [x!4]!30 ~@25 [x!4]!32 ~@5>").gain(0.8)
// drums · snare
const snare = s("sd").struct(`<
~@55 A B A B A B A C A B A B A B A D A B A B A B E F@2 ~@11 A B A B A B A G A B A B A B A ~ F ~@21 F ~@11 A B A B A B
H I A B A B A B J F@2 ~@32 A B A B A B A ~ A B A B A B H K A B A B A B J F@2 ~@4
>`.pickRestart({
A: "~ x ~ x", B: "~@2 x ~@3 x!2", C: "~@4 x ~ x ~@6 x ~@2", D: "~@7 x ~ x!2 ~ x ~ x ~", E: "~ x!2 ~", F: "x",
G: "~@3 x!5", H: "x!2", I: "x ~@2 x ~ x ~@2", J: "~@2 x ~@2 x ~@2", K: "x ~@2 x ~ x!2 ~",
})).gain(0.8)
// drums · low tom
const low_tom = s("lt").struct("<~@78 [~@3 x] ~@49 [~@5 x ~@2] ~@90>").gain(0.8)
// drums · pedal hat
const pedal_hat = s("hh").struct("<~@43 [x!16]!64 ~@20 [x!16]!30 ~@25 [x!16]!32 ~@5>").gain(0.8)
// drums · mid tom
const mid_tom = s("mt").struct("<~@78 [~@4 x!2 ~@2] ~@49 [~ x!2 ~] ~@90>").gain(0.8)
// drums · open hat
const open_hat = s("oh").struct("<~@110 [~@3 x] ~@108>").gain(0.8)
// drums · crash
const crash = s("cr").struct(`<
~@78 A B ~@27 B ~ B C ~@4 B ~@13 B ~@11 B ~@6 D ~@8 B ~@24 B ~ B ~ B ~@10 D ~@16 B ~ E ~@2
>`.pickRestart({
A: "~ x ~@14", B: "x", C: "~@7 x", D: "x ~@2 x ~ x ~@2", E: "~@7 x ~@8",
})).gain(0.8)
// drums · high tom
const high_tom = s("ht").struct("<~@78 [~ x ~@14] ~@135 x ~@4>").gain(0.8)
// … 26 more lines
More by Jean Michel Jarre
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.