0:00/0:00
// Blue Monk — Thelonious Monk
// 120 bpm, 4/4, key A# 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: Full arrangement: all 112 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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(`<
~@2 A B C@2 D E F@2 G H@2 I J K L M N O@3 P Q@2 R S T U V W X Y Z AA AB AC AD AE AF@2 AG AH AI@2 AJ AK AL@2 AM AN AO
AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE@2 BF BG BH BI BJ BK@3 BL BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ
CA@2 CB@2 CC CD CE CF@2 CG CH CI CJ CK CL CM CN@3 CO
>`.pickRestart({
A: "~ f3@2 ~ [gb3,eb4]@2 ~ [db4,e4]@2 ~@3 d4@8 ~@4, [bb3,d4]@2 ~@2 c4 ~@2 g3 ~@3 [ab3,f4]@9 ~@4, ~@6 db4 ~@5", // Ebm Dbm Bb Db
B: "[bb3,eb4,g4]@2 ~@2 [ab3,b3,ab4]@3 [f4,a4]@2 ~@2 [bb3,db4,g4]@9 ~@4, g3@4 e4 ~@2 a3@4 gb4@2 ~@11, ~@7 c4 ~@3 bb4@7 ~@6", // Eb Abm F Gdim
C: "[[f3,bb3,d4,f4]@3 ~ [g3,bb3,eb4,g4]@3 [f3,f4]@2 ~ e4@3 [eb3,eb4]@3 [f2,a3]@2 ~ a2@3 ~ bb2@5 a2@5 ~ [f3,c4]@9 ~@2 gb4 ~@2, ~@10 e3 ~@7 db4@3 ~ f3@10 ~ ab3@9 ~@6, ~@22 [bb3,d4]@6 db4@4 ~@2 ab2@11 ~@3]/2", // Bb Eb F Eb F F5 Bb
D: "~ g3@4 [ab3,ab4]@3 ~ a3@3 ~ bb3@8 ~@3, [bb3,eb4,g4]@3 ~@5 a4@2 ~@2 [db4,g4,bb4]@8 ~@4, ~@6 gb4 ~@5", // Ab Eb Gdim
E: "[bb3,g4]@4 [b3,b4]@2 ~ c4@2 ~ bb4 db5 bb4 ~ [bb4,db5] ~ db5 db5@2 ~@3 c4 ~, bb4@6 c5@2 ~@2 db4@9 ~@5, ~@16 bb4@3 ~@5", // Eb B Bbm
F: "[[f3,db4,d4,f4]@3 ~ [g3,g4]@2 ~ f3@3 [e3,e4] ~ [eb3,eb4]@4 [f2,a3]@2 [a2,db4]@3 ~ f3@20 f4 ~ f4 ~ f4 ~, ~@3 f4 ~@7 bb2@11 ~@2, ~@22 bb3@17 ~@9, ~@22 d4@15 ~@11]/2", // Db G E Eb F A
G: "e4 f4@3 ~@6 f2@11 ~@3, ~ f3@4 ~",
H: "[~ f3@3 [g3,g4]@2 ~ [f3,f4]@3 e3 e4 ~ eb4@3 a3@2 db4@3 ~ [f3,bb3]@5 ~ f3 ~@2 f4@3 g4@2 ~ f4@3 e4@2 ~ eb4@3 f3@2, f4@3 ~@9 eb3@3 ~ f2@4 ~@2 bb2@10 ~@16, ~@22 d4@3 ~@23]/2", // G F Bb5
I: "~ [a3,db4]@4 [bb3,d4]@16 ~@3", J: "[ab2,d3]@5 ~@12 [ab2,d3]@7, [f3,bb3,d4]@5 ~",
K: "g3@3 ~ ab3@2 ~ a3@2 ~ bb3@5 gb3 g3@5 ~ eb3 ~, g2@7 ~, eb3@19 ~@5",
L: "~ f3@3 [g3,bb3,eb4,g4]@2 ~ [f3,bb3,f4]@2 ~ bb3 ~@2 [eb3,db4]@4 ~@2 eb3@3 ~@2, [bb3,d4,f4]@3 ~@10 f3@2 ~@9, ~@13 g3 ~@10", // Eb Bb5 Eb7 Bb
M: "[f3,bb3,d4]@3 ~@2 a3@2 ~@2 eb3@4 ~@2 d3@6 ~@3, ~@4 db4@4 ~ c4@15, ~@4 e3@2 ~@3 ab3@13 ~@2", // Bb
N: "[eb3,g3]@4 ~ f3@3 ~ [gb3,a3]@2 ~ [g3,bb3]@9 ~ eb3 ~, ~@4 ab3@3 ~@17", // Eb Gbm Gm
O: "[[g3,bb3]@3 ~@2 [ab3,b3]@3 ~ [a3,c4]@2 bb3 ~ db4 bb3 db4 ~ db4@2 ~@5 [bb3,db4,d4,f4]@3 ~@2 g3@2 [f3,f4]@3 e4 e3 ~ eb4@5 db4@2 ~@2 [bb3,d4]@17 ~@4 f4@4 ~, gb3 ~@15 bb3@3 ~@3 f3@5 ~ [bb3,g4]@2 ~@7 eb3@8 ~ f3@20 e4@2 ~@4]/3", // Gm Abm Am Bb F Bb Eb
P: "[e4,f4]@2 ~@2 f3@2 ~@4 e2@2 f2@3 ~ f1@4 ~@2 f1 ~", // Fmaj7
Q: "[~ [bb2,d3,f3]@4 ~ [bb2,d3,f3]@3 ~ f2 ~ [a2,c3,f3]@3 ~ f2 ~@2 [a2,db3]@3 ~ [bb2,d3]@8 ~@9 [f2,b2,d3,g3]@3 ~@5]/2", // Bb F A Bb G7
R: "[bb2,eb3,g3]@2 ~ [eb3,g3] ~@4 a2 ~@3, ~@6 bb2 ~@8 [eb3,a3,f4]@2 ~@7", // Eb F7
S: "~ ab3@6 ~@3 bb2@2 db3@2 ~@2 d3@2 f3@2 ~@2 gb3@2, [d3,c4,f4,bb4] ~@3", // Bb
T: "g3@3 ~ bb3@2 ~ g3@2 ~ gb3@2 ~ f3@2 ~ eb3 ~@2 db3@3 d3@2", U: "~ f3@4 ~ g3@3 ~@5 ab3@3 ~ g3@5 ~, ~@13 g3@2 ~@9",
V: "f3@8 ~ gb3 g3@2 ab3@8 ~@2 ab3@2", W: "~ g3@2 ~ bb3@2 c4@3 ~ bb3 ~@2 db4@3 ~@2 bb3@4 ~@2, ~@6 c4 ~@5",
X: "~@4 e4@6 ~ c4@2 bb3@5 ~@6, ~@5 db4 ~@6", Y: "~@4 a3@2 ~ bb3@2 ~ c4@2 ab3 a3@3 c4@2 ~ f4@2 ~ db4@2",
Z: "~ d4@3 c4@3 bb3@3 ~@14", AA: "~@7 g3@2 ~ ab3@2 ~ a3@3 c4 ~@2 f4@2 ~ g4@2",
AB: "~ ab4@2 ~ a4@2 ~ ab4@2 ~ g4@2 ~ gb4@3 ~ e4 ~ eb4@3 db4@2, ~@8 f4 ~@3",
AC: "~ d4@2 ~ bb3@2 ~ ab3@4 ~@2 g3@3 b3@2 ~ d4@2 ~ eb4@2",
AD: "~ b3@2 ~ d4@2 c4@3 ~ a3@2 ~ f3@3 e3@2 ~ eb3@3 db3@2, bb3 ~@11",
AE: "~ d3@3 f3@2 g3@3 ~ f3 ~@2 ab3@4 ~ f3@3 ~ gb3@2, ~@6 g3 ~@5",
AF: "[g3@3 ~ bb3@2 bb3@2 ~@2 c4@2 ~ db4@2 c4 bb3@2 ~ c4@3 ~ bb3@2 ~@15 bb3 ~ db4@2 eb4 ~ e4@2]/2",
AG: "f4 ~ bb4@2 f4@2 ~ e4 ~ eb4@2 db4@2 d4@2 f4@2 d4@2 db4 c4@2 bb3 ~",
AH: "bb3@4 ~@2 bb3@4 gb3@2 ~ g3@2 ~ bb3@2 c4@2 ~@2 c4@2",
AI: "[~@3 c4 bb3 ~ c4@3 ~@3 c4@2 b3 bb3 ~@2 a3@2 ~ g3@2 ~ f3@5 ~ bb3@3 ~ f3@2 bb3@2 ~@2 c4@2 ~ db4@2 ~ d4@2, ~@2 db4@2 ~@13 db4@2 ~ ab3@2 ~ gb3@2 ~@23]/2",
AJ: "~ f4@3 ~ d4 ~ gb4@3 g4@2 ~@4 g4@2 ~ g4@2 ~ b3@2, ~@18 bb4@3 eb4@2 ~",
AK: "a4@3 ~ ab4@2 ~ g4@2 ~ gb4@3 f4@2 ~ e4@2 ~ eb4@2 ~ c4@2",
AL: "[db4@2 d4@2 f4 ~@2 f4@2 ~ g4@4 db4 c4 ~ bb3 c4@4 bb3@8 ~@3 [ab3,bb3]@2 ~ [g3,bb3]@4 ~@2 [g3,bb3]@4 ~@2]/2", // Absus2 Gm
AM: "[gb3,bb3]@4 ~@2 [gb3,bb3]@4 ~@3 [f3,bb3]@4 ~ [eb3,bb3]@2 ~@2 [db3,bb3]@2", AN: "~ d3@8 ~@15",
AO: "~@4 [db4,bb4]@2 ~@10 [db4,g4,bb4] g3 ~@4 [g3,g4,bb4]@2, ~@4 [g3,g4] ~@17 db4 ~", // Gb Gdim Gm G
AP: "~ [bb3,d4,f4]@4 ~@11 [eb4,a4,eb5]@2 ~@6, ~@16 a3 ~@7", // Bb Ebdim
AQ: "~@4 [ab3,d5,f5]@2 ~@7 [ab3,g4]@3 ~@3 ab3@3 ~@2, ~@3 db5@2 ~@19, ~@4 [d4,g4] ~@7 [d4,c5,f5,bb5]@4 ~@2 [d4,g4,c5,f5,bb5]@3 ~@3", // Ddim Abmaj7 G5 Bb Gm7
AR: "~ g3@2 ~@13 [g3,c4,f4] ~@7, [c4,f4,bb4,eb5,bb5]@3 ~@13 [bb4,eb5]@2 ~@6", // Csus4 Cm7 Eb5
AS: "[db4,g4,c5,e5]@3 ~@3 [bb3,e4,a4,db5]@3 ~@3 [g3,db4,gb4,bb4]@3 ~ gb4 ~@2 e3@4 ~, ~@9 [bb3,eb4]@2 ~, ~@9 g4 ~@2", // C A Gb Eb5
AT: "~ f3@7 ~ f3 ~@2 a3@12, f4@11 ~@13, [bb3,d4]@9 ~@3 eb3@10 ~@2, db4 ~@11", // Bb
AU: "[d3,bb3]@3 ~@13 [f3,b3,e4,ab4,d5,g5]@2 ~@6", // Gm E7
AV: "~@10 [eb3,a3,d4] ~@3 d5@2 d4 [eb3,a3] ~ g4@2 ~@3, ~@12 db5@2 ~@4 [c5,eb5]@3 ~@3, ~@13 [g4,f5]@3 ~@8", // D Ebdim Cm G7
AW: "~@12 eb4 [a3,g4] ~@2 [a3,eb4,g4] ~@2 [a3,eb4,g4,db5,f5]@2 ~@3, ~@6 [db5,f5] ~ [eb5,g5] ~@3", // A7 Am7b5 Aaug Db Eb
AX: "~@4 [ab3,d4,g4,c5,f5,bb5]@2 ~@7 [f3,b3]@4 ~@2 f3@2 ~@3, ~@12 [ab4,d5,g5]@5 ~ [b3,ab4,d5,g5]@4 ~@2", // Gm7 Fdim G
AY: "[bb3,a4,d5,gb5]@5 ~ [bb3,a4,gb5]@4 ~@2 [d4,c5,f5]@5 ~ [eb3,a3,d4]@2 ~@4, e3@3 ~@3 [e3,d5]@2 ~@4 [eb3,a3]@3 ~@3 [b4,f5]@4 ~@2", // D Dm7 D E7 Ebdim Bdim
AZ: "[ab3,d4,g4,c5,f5]@3 ~@13 [d4,g4,f5] ~@7, ~@15 bb5@2 ~@7, ~@8 [ab3,c5] ~@3", // Dm7b5 G7 Ab
BA: "~@4 [g3,db4,eb4,db5,g5,bb5] ~@11 [eb4,db5,g5,c6] ~@3 g5 g3 ~@2, ~@8 [g3,db4] ~ [db4,eb4,db5,c6] ~", // Eb7 Cm Gdim Cm
BB: "[gb3,db4] f4@2 ~@13 [a3,eb4,d5]@5 ~@3, [c5,f5,bb5]@4 ~@12 [a4,gb5]@7 ~, ~ d4 ~@22", // Gb5 D Fsus4 D
BC: "c5 b4, [d4,f5]@23 ~, [ab3,g4]@7 ~", // Dm Abmaj7
BD: "[c4,f4,bb4,eb5]@5 ~ [g3,c4,f4,c5,f5]@4 ~@3 g3@3 ~@2 [g3,c4,f4,c5,f5]@4 ~@2, g3@3 ~@9 [c4,f4,bb4,eb5]@5 ~@7", // Cm7 Csus4 Cm7
BE: "[bb3 ~ [g4,bb4,e5] ~ e4 ~ [g4,bb4,e5]@2 ~@2 [db4,e4,g4,bb4]@2 ~@2 [db4,e4,g4] ~ bb3 [db4,e4]@4 g3@2 ~ a3@4 ~@12 [a3,db4,gb4]@8, ~@23 [d4,f4]@5 ~@20, ~@23 db4@2 ~@15 eb3@6 ~@2]/2", // Edim Dbdim Dbm Gbm Dm
BF: "[ab3,c4,f4]@12 [f3,b3,ab4]@11 ~, d3@5 ~ eb4@4 ~@2", BG: "[g3,bb3,eb4,g4]@2 ~@6 [g3,eb4,g4] ~@3, ~@16 bb3 ~@7",
BH: "~@4 [eb3,a3,d4,g4,b4] ~@3 [eb3,a3,b4]@3 ~ [eb3,a3,eb4,g4,d5]@5 ~ [eb3,eb4,g4,d5]@3 ~@3, ~@8 [d4,g4] ~@9 a3@5 ~", // G B7 Ebmaj7 G5
BI: "[ab3,d4,g4,c5]@5 ~ [ab3,g4,c5]@5 ~ [f3,b3,eb4,ab4]@5 ~ [f3,b3,eb4,ab4]@4 ~@2, ~@3 d4 ~@8", // Abmaj7 Fm7b5
BJ: "[eb3,a3,c4,eb4,g4]@5 ~ [eb3,a3,c4,eb4,g4]@3 ~@7 eb3@4 ~@2 eb3@2, ~@2 [a3,db4,f4]", // Am7b5 Aaug
BK: "[~ [ab2,c4]@4 ~@20 eb3@21 ~@2 [bb2,d3]@5 ~@13 [eb3,a3,db4]@6, [d3,g3,f4,bb4]@5 ~@17 bb3@24 ~@26, ~@23 g3@25 ~@24, ~@12 f3@13 ~@11]/3", // Ab Bb Ebm7b5 Gm7
BL: "~ f3@3 ~@20, [bb3,d4] ~@7", BM: "[f3,bb3,eb4] ~@5", BN: "~@4 [g4,bb4] ~@17 g3@2, ~@3 db4@2 ~@16 [db4,g4]@3",
BO: "[f3,d4,f4] ~@7", // Dm
BP: "~@4 [bb3,d4]@2 ~@3 d3@2 ~@2 d4@2 ~@2 [f3,b3,d4]@2 ~@2 [f3,d4] ~@2, ~@4 d3 ~@3 [bb3,d4]@2 ~@2 [f3,b3]@2 ~@7 b3@2 ~", // Bb Bdim Dm Bb Fdim
BQ: "[eb3,c4] ~@7", BR: "f4 [g3,e4]@2 [a3,f4] ~@2 c4@2 ~@16, a3@2 ~@3 a4@2 ~@17",
BS: "~ [d4,bb4]@3 [db4,a4]@3 [d4,bb4]@2 ~@4 [b3,g4]@3 [a3,gb4]@2 ~ g4@2 ~@3, ~@19 b3 ~@4", // Gm Gbm Gm Em D
BT: "~@16 [eb3,a3,f4]@3 ~@5", BU: "~@5 c3@3 ~ db3@3 ~ d3@9 ~@2, ~ [d3,bb3,d4]@6 ~@17, ~ bb2@3 ~@20, ~@2 ab2@5 ~@17",
BV: "[eb2,eb3]@4 [f2,f3]@4 gb3@3 g2@11 ~@2, ~@8 gb2@2 ~ g3@8 ~@5", BW: "[f2,f3]@3 [f1,eb3]@2 ~",
BX: "[f2,d3]@3 ~@2 e2@2 ~@2 [eb2,c3]@10 ~@5, ~@4 db3@3 ~@17", // Dm Cm
BY: "g3@2 ab3 a3 ~ [g3,bb3]@5 ~@2, g2@3 ~@7 eb3@8 ~@6, ~@5 gb3 ~@6", // Gm
BZ: "[g3,bb3]@3 ~ [ab3,b3]@2 ~ a3@2 ~ a3 db4 bb3 ~@2 bb3@4 ~@4 db3, ~@6 c4@3 ~@5 db4@4 ~@6, ~@7 b3 ~@2 bb3@2 ~@12", // Gm Abm
CA: "[[f2,d3]@3 ~ g3@2 f3@3 ~ e3@2 eb3@2 ~@2 f2 ~ db3@3 ~ [bb2,d3]@14 ~@12, f3 ~@7, ~@4 gb3 ~@43]/2", // Dm Bb
CB: "[[e4,f4]@3 ~ f3@2 ~@15 f3 ~@2 [bb3,d4,f4]@3 ~ [bb3,g4]@2 ~ bb3@2 ~ e4 ~ eb4@3 ~ f3 ~ db4@3 ~ [bb3,d4]@2, ~@9 f2@35 ~@4, ~@27 eb4@2 ~ f4@2 ~@16]/2", // Fmaj7 Bb Eb Bb
CC: "~@7 [f3,f4]@3 [g3,g4]@2 ~ [f3,f4]@3 [e3,e4] ~@2 eb4@3 a3@2, ~@18 eb3@2 ~@2 f2 ~", // F G F E
CD: "[a2,db4]@3 ~ [bb2,d4]@18 ~@2", CE: "~ ab2@4 ~@19, [ab3,d4]@5 ~@19",
CF: "[~ [g3,g4,bb4]@3 ~@12 [g3,g4,bb4]@2 ~@3 g3 ~ db4 f3@4 ~@8 [eb3,db4,f4]@4 ~@2 [eb3,db4,f4]@4 ~@2, ~@23 [d4,f4]@5 ~@20]/2", // Gm Db Dm
CG: "[d3,d4,f4]@3 ~@14 ab3@7, ~@2 f4, ~@8 bb4@3 ~, ~@17 c4@4 ~@3", CH: "~ [g3,eb4,bb4]@7 ~@16",
CI: "~@16 g4@2 e4@2 db4 ~ bb3 ~, [bb3,db4]@7 ~@5, ~ e3@23", // Bbm
CJ: "[f3,d4,f4]@5 ~ [f3,d4,f4]@4 ~@2 [a3,eb4]@5 ~ [a3,eb4]@3 ~@3, db4 ~@11", // Dm Adim
CK: "~@4 db4 ~ d4@2 f4 ~ gb4@2 g4@3 ~ bb4@2 ~ c5@3 db5@2", CL: "~ d5@3 ~@12 [f4,e5,f5]@3 ~@2 f2@2 ~",
CM: "~@19 a2@3 [bb2,d4]@2, ~@6 db4 ~", // Bb
CN: "[~@6 d4 [f3,bb3]@2 ~@2 g3@2 ~ f3@2 ~@2 e3@2 ~@2 [g3,a3,c4,eb4]@5 f2@2 ~@4 [a2,g3,db4]@3 ~@13 bb3@2 [ab3,bb3]@2 ab3 ~@3 bb3@10 [f6,g6] [d6,e6] [a5,b5,c6] [f5,g5] [c5,d5,e5], ~@6 [db4,f4]@2 ~@2 [bb3,eb4,g4]@2 ~ [bb3,db4,f4]@2 ~@2 [g3,bb3,db4,e4]@2 ~@3 eb3@4 ~@15 [f3,d4]@26 ~@5, ~@41 bb3@6 bb3@2 ~@4 bb3@2 bb3@2 ~@15, ~@41 ab3@4 ~ ab3@2 ab3@2 ~@4 ab3@2 ab3@11 ~@5, ~@42 bb2@25 ~@5]/3", // Bb5 Am7b5 A7 Absus2 Fsus2 Dsus2 Am Fsus2 …
CO: "[g4,a4,b4] [d4,e4,f4] [a3,b3,c4] [e3,f3,g3] [c3,d3] [a2,b2] [e2,f2,g2] d2 c2 ~@15", // G Dm Am Em Csus2 Asus2 Em
})).s("gm_piano").gain(0.4)
// chords · piano
const piano_2 = note("<~@2 A B C D E F C A G@2 C A ~@98>".pickRestart({
A: "[bb2,f3,bb3,d4]", B: "[eb3,g3,bb3,db4]", C: "[bb2,f3,bb3,d4] [f3,a3,c4,eb4]",
D: "[bb2,f3,bb3,d4] [bb2,f3,ab3,d4]", E: "[eb3,g3,bb3,eb4]", F: "[e3,g3,bb3,db4,e4]", G: "[f3,a3,c4,eb4]",
})).s("gm_piano").gain(0.4).pan(0.3)
// bass · acoustic bass
const bass = note(`<
~@2 A B C D E F G H I J H K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL O P AM AN AO AP AQ AR AS
X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL O P AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ@2 BA@2 BB BC BD BE BF BG BH BI
BJ@2 BK BL@2 BM BN BO BP BQ BR BS BT BU BV BW BX@3 BY
>`.pickRestart({
A: "bb1@8 ~@2 bb1@2 f2@9 ~@3", B: "eb2@8 ~@2 eb2@2 bb2@6 g2@5 ~", C: "bb1@3 ~@2 bb1 f1@4 ~ a1",
D: "bb1@6 c2@5 ~ db2@6 d2@6", E: "eb2@5 ~@5 eb2@2 bb2@7 ~@3 eb2@2", F: "e2@7 ~@3 e2 ~ bb2@6 e2@6",
G: "f2@6 ~@4 f2@2 f1@7 ~@3 f1@2", H: "bb1 d2 eb2 e2", I: "f2@7 ~@3 f2@2 f1@7 ~@3 f1@2",
J: "f2@6 e2@5 ~ f2@4 f1@2 a1@6", K: "f2@6 gb2@5 ~ g2@6 a2@6", L: "bb2@2 ~ a2@3 bb2@3 e2@3",
M: "eb2@9 ~ db2@2 eb2@6 a1@6", N: "bb1@5 ~ f1@6 a1@6 c2@4 a1@2", O: "bb1 ~ bb1 c2 ~ c2 db2 ~ db2 d2 ~ d2",
P: "eb2@5 ~ d2@6 eb2@5 ~ bb1@3 ~ eb2@2", Q: "e2@6 eb2@6 e2@5 ~ bb1@4 e2@2", R: "f2@7 ~@3 f2@2 f1@8 ~@2 f1@2",
S: "bb1@6 d2@5 ~ eb2@4 bb1@2 e2@5 ~", T: "f2 e2 f2 f1", U: "f2@4 ~@2 f2@3 ~ g2 ~ a2@5 ~ f2@5 ~",
V: "bb2@5 ~ ab2@6 g2@6 db2@6", W: "c2@6 e2@6 f2@5 ~ a1@3 ~@3", X: "bb1@4 ~ bb1 d2@4 ~ d2",
Y: "eb2@8 ~@2 eb2@2 e2@7 ~@3 e2@2", Z: "~ f2@4 e2 f2@3 a1@3", AA: "bb1@6 c2@6 db2@6 d2@5 ~",
AB: "eb2@9 ~ d2@2 eb2@3 ~ bb1@2 ~@4 eb2@2", AC: "e2@9 ~ eb2@2 e2@6 bb1@4 e2@2", AD: "f2@4 ~@2 f2@6 eb2@4 ~@2 eb2@5 ~",
AE: "d2 ab1 g1 b1", AF: "c2@3 d2@3 eb2@2 c2 gb2@3", AG: "f2@3 eb2@2 e2 f2@3 a1@3", AH: "bb1@6 ab1@5 ~ g1@6 db2@6",
AI: "c2 gb1 f1 a1", AJ: "bb1@6 c2@5 ~ db2@4 bb1@2 d2@6", AK: "eb2@6 f2@5 ~ gb2@4 eb2@2 g2@6",
AL: "f2@6 eb2@4 e2@2 f2@3 ~ f1@2 a1@5 ~", AM: "e2@5 ~ bb1@4 e2@2 g2@3 ~ bb1@2 e2@3 ~ e2@2",
AN: "f2@4 ~@2 f2@4 f2@2 eb2@4 ~@2 f2@5 ~", AO: "d2@5 ~ f2@3 ~ gb2@2 g2@5 ~ b1@5 ~",
AP: "c2@2 ~@2 c2@2 d2@5 ~ eb2@5 ~ e2@5 ~", AQ: "f2@5 ~ f1@6 g1@6 a1@5 ~", AR: "bb1@5 ~ bb1@3 ~ a1@2 g1@5 ~ g1@5 ~",
AS: "c2@5 ~ c2@4 ~@2 f2@5 ~ f1@5 ~", AT: "~ bb1@6 c2@5 db2@6 ~ d2@3 bb1@2",
AU: "~ eb2@2 ~@2 e2@2 ~@2 f2@2 ~@2 g2@4 ~ bb2@3 ~ gb2@2", AV: "f2@5 ~ eb2@2 ~@2 e2@2 f2@2 ~ a1@2 ~@7",
AW: "~@3 bb1@2 ~ c2@2 db2 ~ d2@2 f2@2 ~@2 ab2@2 b2@3 ~ ab2@2",
AX: "bb2@3 ~ bb2@2 ab2@2 ~ bb2@2 ~ g2@3 ~ eb2@3 ~@3 eb2 ~, ~@11 gb2@2 ~@11",
AY: "e2@3 ~ g2 ~ bb2@2 ~ bb2@2 ~ g2@3 e2 ~@2 g2@3 ~ e2 ~, ~@4 db3 ~@7",
AZ: "[f2@3 ~@2 f2@2 ~@2 f2@2 ~ eb2@3 ~@2 eb2@3 ~ eb2@2 ~ d2@6 ~@3 c2 ab1@2 g1@3 ~ b1@2 ~@6, ~@23 db2@2 ~@23]/2",
BA: "[~@6 c2 ~ b1@2 c2 ~ eb2@2 ~ eb2 ~ g2@2 gb2 ~ g2 ~ f2@3 ~ f2@2 ~ gb2@3 ~ gb2@2 ab2@2 ~@2 ab2@2 a2@2 ~@2 a2@2, ~@7 d2 ~@16]/2",
BB: "~ bb2@5 ~ bb2@2 ~ bb2@2 ~ b2@3 g2 ~@2 d3@3 b2@2", BC: "~ c3@5 gb2@5 ~@5 a2@2 ~ c3@3 db3@2, ~@13 f2@5 ~@6",
BD: "~ d3@3 ~ eb3@3 ~ e3@2 ~ f3@10 ~@2", BE: "g3@3 ~ ab3@2 a3@3 ~ bb3@10 ~@4",
BF: "f3@3 ~ g3@2 f3@2 ~@2 e3@2 eb3@3 a2@2 ~ db3@3 d3@3", BG: "~@3 db3@4 ~@2 c3@11 ~@4",
BH: "g2@3 ~ ab2@2 a2@2 ~@2 bb2@11 ~@3", BI: "bb2@3 ~ b2@2 c3@2 ~@2 db3@9 ~@5",
BJ: "[f2@3 ~ g2@2 f2@3 ~ e2@2 eb2@3 ~ a1@2 db2@3 ~ d2@19 ~ f2@3 ~ f2 ~]/2", BK: "f2@3 ~ f1@2 ~@4 f1@9 ~@3 f1 ~",
BL: "[f2@3 ~ g2@2 f2@3 ~ e2 ~ eb2@3 ~ a1@2 ~ db2@3 d2@5 ~ d2@2 f2@3 ~ g2@2 ~ f2@3 e2@2 ~ eb2@3 a1@2]/2",
BM: "~ db2@3 d2@2 f1@2 ~@2 f1@2 g1@2 ~@2 g1@2 a1@2 ~@2 a1 ~", BN: "bb1@2 ~@2 bb1@2 c2@4 ~@2 db2@5 ~ d2@5 ~",
BO: "eb2@5 ~ f2@5 ~ gb2@5 ~ g2@5 ~", BP: "f2@4 ~@2 f2@4 f1@2 eb2@6 db2@5 ~", BQ: "d2@5 ~ c2@5 ~ bb1@5 ~ d2@5 ~",
BR: "eb2@5 ~ f2@5 ~ gb2@5 ~ g2@6", BS: "e2@6 db2@5 ~ g2@6 e2@5 ~", BT: "f2@4 ~@2 f2@3 ~ f2@2 f1@4 ~@2 f1@5 ~",
BU: "bb1@5 ~ d2@5 ~ eb2@5 ~ e2@5 ~", BV: "f2@8 ~@2 f2@2 f1@7 ~@3 f1@2", BW: "f2@8 ~@2 f2@2 f1@5 ~ a1@5 ~",
BX: "[bb1@2 ~@4 f2@3 ~ g2@2 ~@2 f2@2 ~@2 e2@2 ~@2 eb2@4 f1@4 ~@2 a1@6 ~@4 bb1@28 ~@2]/3", BY: "~@9 bb1@4 ~@11",
})).s("gm_acoustic_bass").gain(0.4)
// drums · kick
const kick = s("bd").struct("<~@111 [~@3 x ~@4]>").gain(0.45)
// drums · clap
const clap = s("cp").struct("<~@63 A B C ~ D E F G B H I ~@23 J ~ A B C ~ D E F G B H ~@2 K>".pickRestart({
A: "x!2 ~@9 x", B: "~@11 x", C: "~@4 x ~@5 x ~@4 x ~@8", D: "~@2 x ~@2 x ~@6", E: "~@5 x ~ x", F: "~ x ~@2",
G: "~@8 x ~@2 x", H: "~ x ~@4", I: "~@5 x ~@5 x", J: "~@4 x!2", K: "~@3 x ~@4",
})).gain(0.4)
// drums · pedal hat
const pedal_hat = s("hh").struct(`<
A B C@2 D E C@2 F G H C@2 I J K L M C@3 E C@2 F G C@23 G C@23 G C@7 N C@4 ~@2 C E C@2 F G H C@2 I J K L M C@3 E C@2 O
~@3
>`.pickRestart({
A: "x!2", B: "x!4", C: "~ x ~ x", D: "~@3 x ~@4 x ~ x ~", E: "x ~@2 x", F: "x!2 ~ x", G: "~ x!3",
H: "~@6 x ~@10 x ~@6", I: "~@3 x ~@5 x ~ x", J: "~@7 x ~@10 x ~@5", K: "~@2 x ~@6 x ~@2", L: "~@6 x ~@10 x!2 ~@5",
M: "x!2 ~ x!2 ~ x!2 ~ x ~@2", N: "~@6 x ~@10 x ~@3 x ~@2", O: "x",
})).gain(0.4)
// drums · open hat
const open_hat = s("oh").struct("<~@9 A ~ B C ~@4 D ~@7 A ~@31 A ~ B C ~@4 D ~@7 A ~@27 D ~@10>".pickRestart({
A: "~ x", B: "~@11 x", C: "~@5 x ~@6", D: "~@7 x",
})).gain(0.35)
// drums · crash
const crash = s("cr").struct("<~@109 [~@3 x] ~ [~@3 x ~@4]>").gain(0.45)
// drums · ride
const ride = s("rd").struct(`<
~@2 A@3 B C D B A E B D F A F B G A@3 B C D B A ~@24 A@3 B C D B A E B D F A F B G A@3 B C D B A ~@12 H I J K L M E@2
N O P Q A F B G A@3 B C D R S ~@2
>`.pickRestart({
A: "x ~@2 x ~ x!2 ~@2 x ~@2", B: "x ~ x!2 ~@2 x ~@2 x ~ x", C: "x ~@2 x ~@2 x ~@2 x ~ x",
D: "x ~@2 x ~@2 x ~ x!2 ~@2", E: "x ~@2 x ~ x!2 ~@2 x ~ x", F: "x ~ x!2 ~@2 x ~@2 x ~@2",
G: "x ~@2 x ~ x!2 ~ x!2 ~@2", H: "~ x ~@11 x ~@10", I: "x ~@12 x ~@10", J: "x ~@8 x ~@2 x ~@9 x ~",
K: "~@2 x ~@2 x ~@6", L: "x ~@3 x ~@2 x ~@2 x ~@13", M: "x ~ x!2 ~ x ~@6", N: "~ x ~@8 x ~ x ~@11",
O: "x ~@8 x ~@2 x ~@5 x ~@3 x ~", P: "~@7 x ~@2 x ~@2 x ~@5 x ~@2 x ~",
Q: "~ x ~@2 x ~@2 x ~@3 x ~ x ~@2 x ~@2 x ~@2 x ~", R: "x ~@3 x ~ x ~@3 x ~@2 x ~@3 x ~@4 x ~",
S: "~@3 x ~@6 x ~@7 x ~@5",
})).gain(0.3)
stack(piano, piano_2, bass, kick, clap, pedal_hat, open_hat, crash, ride)
More by Thelonious Monk
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.