0:00/0:00
// Take Five — Paul Desmond
// 178 bpm, 5/4, key D# minor. 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 121 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(178/5)
// 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 2"
const piano = note(`<
A B C D E F G C H I J K L@4 M@3 N O F G P Q I F G R@6 S@2 T@2 U@3 V W X Y Z AA AB AC AD AE AF AG@3 AH AI@3 ~ AJ@3 AK
AL@4 AM AN AO AP AQ AP AQ AR AS B C AT AU AV AW AX AY AV AZ AW BA BB BC BD BE BB BF BG BH AV AW BI BJ BK AV AW BL BM
BI BN BO BP BQ BR ~@9
>`.pickRestart({
A: "~@19 eb2 ~@2 [gb3,bb3,eb4] ~", // Ebm
B: "~@3 eb2 ~ [gb3,bb3,eb4] ~@4 bb2@4 [db3,ab3,bb3,db4] ~@4 eb2 ~@2 [gb3,bb3,eb4] ~", // Ebm Bbm7 Ebm
C: "~@3 eb2 ~ [gb3,bb3,eb4] ~@4 bb2@4 [db3,ab3,bb3,db4]@2 ~@3 eb2 ~@2 [gb3,bb3,eb4] ~", // Ebm Bbm7 Ebm
D: "~@3 eb2@2 [gb3,bb3,eb4] ~@4 bb2@4 [ab3,bb3,db4] ~@4 eb2@2 ~ [gb3,bb3,eb4] ~, ~@7 db3 ~@4", // Ebm Bbm7 Ebm
E: "~@3 eb2@2 [gb3,bb3,eb4] ~@4 bb2@4 [db3,ab3]@2 ~@3 eb2@2 ~ [gb3,bb3,eb4] ~, ~@14 [bb3,db4] ~@9", // Ebm Db5 Ebm Bbm
F: "~@3 eb2 ~ [gb3,bb3,eb4] ~@4 bb2@4 ~ [bb3,db4]@2 ~@2 eb2@2 ~ [gb3,bb3,eb4] ~, ~@7 [db3,ab3] ~@4", // Ebm Bbm Ebm Db5
G: "~@3 eb2@2 [gb3,bb3,eb4] ~@4 bb2@4 [db3,ab3,db4]@2 ~@3 eb2@2 ~ [gb3,bb3,eb4] ~, ~@14 bb3 ~@9", // Ebm Db5 Ebm
H: "~@3 eb2@2 [gb3,bb3,eb4] ~@4 bb2@4 [db3,ab3,bb3,db4]@2 ~@3 eb2@2 ~ [gb3,bb3,eb4] ~", // Ebm Bbm7 Ebm
I: "~@3 eb2 ~ [gb3,bb3,eb4] ~@4 bb2@4 [db3,ab3,bb3,db4]@2 ~@3 eb2@2 ~ [gb3,bb3,eb4] ~", // Ebm Bbm7 Ebm
J: "~@3 eb2@2 [gb3,bb3,eb4] ~@4 bb2@4 ~ [ab3,bb3,db4]@2 ~@2 eb2@2 ~ [gb3,bb3,eb4] ~, ~@7 db3 ~@4", // Ebm Bbm7 Ebm
K: "~@3 eb2@2 [gb3,bb3,eb4] ~@4 bb2@4 ~ db4@2 ~@2 eb2@2 ~ [gb3,bb3,eb4] ~, ~@7 [db3,ab3] ~@4, ~@15 bb3 ~@8", // Ebm Db5
L: "[~@3 eb2 ~ [gb3,bb3,eb4] ~@4 bb2@4 [ab3,bb3,db4]@2 ~@3 gb3@12 ~@3 f3@9 [bb3,db4,f4]@12 ~@3 [bb3,gb4]@9 [gb3,b3,eb4]@13 ~@5 [f3,b3,eb4]@6 [bb3,db4,f4]@5, ~@14 db3@5 [b3,eb4]@23 ~@16 g3@7 ~@31]/4", // Ebm Bbm7 Bbm Ebm B Fm7b5 Bbm B
M: "[~@3 [bb3,db4] ~@7 g3@3 [g3,db4,e4]@4 ~ [gb3,b3]@12 ~@3 [f3,b3,eb4]@9 [bb3,db4,f4]@13 ~@5 [g3,db4,ab4,db5]@6 [gb3,b3]@5, ~@3 f4@2 ~@5 [db4,gb4]@4 ~@58]/3", // Bbm Dbdim B5 Fm7b5 Bbm Db B5 Gb5
N: "~@3 [gb3,b3] ~@9 [f3,b3,ab4]@2 ~@7 [ab3,b3,eb4,g4] ~", // B5 Fdim Abm
O: "~@5 [ab3,b3,eb4,g4]@3 ~@2 [ab3,d4,gb4]@3 ~ [ab3,d4,gb4]@5 ~@3 [gb3,bb3,eb4] ~", // Abm Abm7b5 Ebm
P: "~@3 eb2 ~ [gb3,bb3,eb4] ~@4 bb2@4 ~ bb3@2 ~@2 eb2 ~@2 [gb3,bb3,eb4] ~, ~@7 [db3,ab3,db4] ~@4", // Ebm Db5
Q: "~@3 eb2@2 [gb3,bb3,eb4] ~@4 bb2@4 ~ [ab3,bb3]@2 ~@2 eb2@2 ~ [gb3,bb3,eb4] ~, ~@7 [db3,db4] ~@4", // Ebm Absus2 Ebm Db
R: "[~@3 eb2 ~ [gb3,bb3] ~@4 bb2@4 db3@2 ~@3 e5 f5@2 [ab3,gb4] f5@2 ~@3 f5@3 ~ f5@2 ~ f5@3 ~ gb5@3 ~@2 eb5@3 [eb4,ab4] ~@6 db4@7 ~@2 [bb3,eb4,ab4]@2 c5@2 ~ db4@2 ~ eb5@3 ~ eb5@3 ~ eb5@2 ~ eb5@4 ~ f5@5 ~@2 [ab3,db4,gb4] ~@14 [b3,d4]@5 ~@6 f5@2 ~ d5@2 eb5@2 ~ f5@2 gb5@2 ~ [bb3,db4,f4] ~ f5 ~ gb5@2 ~ eb5@2 [db4,gb4] ~, ~@22 db4@2 ~@23 eb5@17 ~@3 eb5@4 ~@62 ab5@2 ~@7 f5@2, ~@53 [ab3,gb4]@7 ~@7 gb4@2 ~@23 bb4@20 ~@32, ~@68 ab3 ~@39 [g3,gb4]@6 ~ [gb3,bb3,db4,f4]@9 ~@20]/6", // Gb Ab7 Ab5 Ebsus4 Dbsus4 Bm Bbm Gb5 …
S: "[db5 ~@2 eb5@2 c5@2 ~ db5@2 bb4@2 ab4 [bb3,eb4] ~ ab4@2 ~ bb4 ~ f4@7 eb4 ~ f4@3 ~@2 f4@3 e4 eb4 d4@2 ~ f4 d4@2 ~ eb4@2, ~@13 c5@2 ~@33]/2", // Eb5
T: "[e4@2 ~ g4@2 b4@2 d5@2 ~ g5@2 b5 ~ d6@2 ~ db6@2 ~@2 [bb4,bb5]@6 [gb4,gb5]@2 ~@5 f5@2 ~ ab5@2 d5@2 ~ b4 ~ bb4@2 f4 ~, ~@12 [g3,b3,c4,e4]@7 ~@2 [gb3,bb3,b3,eb4]@11 eb5@2 ~@14, ~@11 [f3,b3,eb4]@3 ~@2]/2", // Bb Gb Cmaj7 Bmaj7 Fm7b5
U: "[ab4@2 ~ [bb3,db4,f4,gb4]@2 f4@2 ~ gb4@2 g4@2 ~ bb4 ~ db5@2 ~ c5@2 ~ b4@2 ~@2 b4@2 db5@2 ~@2 db5@2 ~ [f3,b3,eb4,eb5]@2 ~ [f3,b3,eb4] eb5 f5@3 ~ bb5@2 ~@2 ab5@2 ~@7 [ab3,bb3,db4,f4] ~@6 e5@3 ~@2 eb5@4, ~@3 ab3 ~@9 [g3,db4]@6 ~ [gb3,bb3,b3,eb4]@10 ~@21 db5@8 ~@2 [g3,db4,gb4]@5 ~@6, ~@63 eb5 ~@8]/3", // Gbmaj7 Fm7b5 Bbm7 Gdim Bmaj7 Gb
V: "~@3 [gb3,b3,eb4] ~@2 bb4@2 ab4 ~ b4 db5@2 ~ bb4@2 ~ [f3,b3,eb4] ~ f4@2 ~ eb4@2, ~@3 b4@3 ~@10 ab4@2 ~@6", // B Fm7b5
W: "~ db4@5 ~@2 [ab3,bb3,db4,f4] ~@3 bb3 b3 eb4 ~ g4 b4@2 bb4 ~@2 bb4 ab4", // Bbm7
X: "g4 ~@2 [gb3,bb3,b3,eb4] ~ db5@2 ~ bb4@2 ab4@2 b3 ~ db4@2 ~ d4@2 ~ e4@2 [gb3,b3,eb4] bb3, ~@3 ab4@2 ~@17 f4@2", // Bmaj7 B
Y: "g4@2 ~ ab4 ~ bb4@2 ~ b4@2 db5 ~@2 d5@2 eb5 ~@2 e5 ~@2 f5@3, ~@3 bb1@8 ~@2 [ab3,d4,gb4]@6 ~@5", // Abm7b5
Z: "f5@2 ~@8 [gb3,bb3,db4,f4]@2 ~ [gb3,bb3,db4,f4] ~@6 f5@2 ab5@2", // Gbmaj7
AA: "~ f5@3 ~ db5@3 ~@2 db5@3 [bb3,db4,f4] ~@9 [ab3,db4,gb4], ~@13 eb5@2 ~@9", // Bbm Dbsus4
AB: "~@5 [gb3,bb3,db4]@5 ~@2, ~@9 [bb5,eb6]@14 ~, ~@9 f4@10 ~@5, ~@9 a5@2 ~@13", // Gb Eb5
AC: "~@5 [bb5,eb6]@4 ~@2 ab5 gb5 ~ [ab5,eb6]@3 gb5 ~@6, ~@5 a5 ~@3 eb6@3 ~@12, ~@5 a5 ~@6", // Eb5 Ab5
AD: "~@3 [g3,db4,gb4] ~@8 eb5@2 ~ gb5 ~ ab5@2 ~ a5@2 bb5@2, ~ [gb3,bb3,db4,f4] ~", // Gb Gbmaj7
AE: "~ a5@2 ab5@2 gb5@2 ~ eb5 ~ gb5@2 ~ ab5@2 ~@2 ab5@3 ~ gb5@2 ~",
AF: "bb5@12 ~ [bb3,db4,f4] ~@5 ab5@2 ~ f5@2, ~@9 eb5 ~@2", // Bbm
AG: "[~ db5@3 ~ f5@2 ~ db5@2 bb4@3 [gb3,bb3,db4,f4] eb5@3 c5@2 [eb1,bb1]@22 ~@2 [bb3,eb4,ab4,db5,f5]@26 ~@3, ~@19 ab4@24 ~@29, ~@19 eb2@19 ~@34]/3", // Gbmaj7 Eb5 Bbm7
AH: "~@3 [bb3,eb4,ab4,db5,f5,ab5] ~@20", // Bbm7
AI: "[~@13 [bb3,f4,gb4,db5,ab5] ~@5 [eb3,bb3,gb4]@17 ~@7 [db4,f4,ab4]@8 [gb4,bb4] ~@15 [bb3,db4,ab4]@3 bb4 gb4, ~@19 [db5,ab5]@15 ~@38]/3", // Bbm7 Ebm Db Gb Bbm7 Db5
AJ: "[~@18 [gb3,b3,eb4,gb4,bb4]@12 ~@2 [f3,b3,eb4]@2 ~@13 [ab3,ab4]@2 ~@12 [g3,db4,e4,bb4,e5]@5 ~ [gb3,b3,eb4]@5, ~@17 db5@12 ~@3 [ab4,db5] ~@14 f4 ~@24]/3", // Bmaj7 Fm7b5 Ab Gdim B Db5
AK: "~@3 [gb3,b3,eb4] ~@9 [f3,b3,eb4,ab5,eb6,ab6] ~@8 [gb3,b3,eb4,db5,gb5,bb5] ~", // B Fm7b5 Ebm7
AL: "[~@12 db4 [g3,e4,db5,e5] ~@4 [gb3,b3,eb4]@8 ~ [gb3,b3,eb4,b4,eb5,gb5] ~@8 db5 d5@4 ~@2 [bb3,db4,bb4,db5]@7 ~ [bb3,db4,bb4,db5] ~@6 [gb4,db5,gb5]@4 [e4,f5]@3 ~ d4 ~@3 [gb3,b3,eb4,db5,gb5,bb5]@8 ~@2 [f3,b3,eb4]@10 ~@6, ~@17 [b4,eb5,gb5]@8 ~@11 [f3,b3,eb4,f5]@6 ~ f4 ~@14 [g3,db4,bb5]@12 ~@26, ~@65 e5@4 ~@27]/4", // Dbdim B Bbm Gb5 Fmaj7 Ebm7 Fm7b5 B …
AM: "[eb4,f4,b4,g5]@3 eb5 ~@10 [ab3,d4,ab4,d5,gb5]@4 ~@6", // Ebaug Abm7b5
AN: "~@5 [gb3,bb3,eb4] ~@4 bb2@4 [db3,ab3,bb3]@2 ~@3 eb2@2 ~ [gb3,bb3,eb4] ~", // Ebm Bbm7 Ebm
AO: "~@3 eb2@2 [gb3,bb3,eb4] ~@4 bb2@4 [db3,ab3]@2 ~@3 eb2@2 ~ [gb3,bb3,eb4] ~, ~@14 bb3 ~@9", // Ebm Db5 Ebm
AP: "~@3 eb2 ~ [gb3,bb3,eb4] ~@4 bb2@4 [db3,ab3,bb3]@2 ~@3 eb2@2 ~ [gb3,bb3,eb4] ~", // Ebm Bbm7 Ebm
AQ: "~@3 eb2@2 [gb3,bb3,eb4] ~@4 bb2@4 [db3,ab3,bb3]@2 ~@3 eb2@2 ~ [gb3,bb3,eb4] ~", // Ebm Bbm7 Ebm
AR: "~@3 eb2@2 [gb3,bb3,eb4] ~@4 bb2@4 ~ bb3 ~@3 eb2@2 ~ [gb3,bb3,eb4] ~, ~@7 [db3,ab3] ~@4", // Ebm Db5
AS: "~@3 eb2 ~ [gb3,bb3,eb4] ~@4 bb2@4 [ab3,bb3]@2 ~@3 eb2 ~@2 [gb3,bb3,eb4] ~, ~@14 db3@5 ~@5", // Ebm Absus2 Ebm
AT: "~@3 eb2 ~ [gb3,bb3,eb4] ~@4 bb2@4 db3 ~@4 eb2 ~@2 [gb3,bb3,eb4] ~", // Ebm
AU: "~@3 eb2 ~ [gb3,bb3,eb4] ~@4 b2@4 [b1,a3,b3,d4]@5 e2@2 ~ [g3,b3,e4] ~", // Ebm Bm7 Em
AV: "~@3 e2 ~ [g3,b3,e4] ~@4 b2@4 [d3,a3,b3,d4]@2 ~@3 e2@2 ~ [g3,b3,e4] ~", // Em Bm7 Em
AW: "~@3 e2@2 [g3,b3,e4] ~@4 b2@4 [d3,a3,d4]@2 ~@3 e2@2 ~ [g3,b3,e4] ~, ~@14 b3 ~@9", // Em D5 Em
AX: "~@3 e2 ~ [g3,b3,e4] ~@4 b2@4 ~ a3@2 ~@2 e2 ~@2 [g3,b3,e4] ~, ~@7 [d3,b3,d4] ~@4", // Em G
AY: "~@3 e2@2 [g3,b3,e4] ~@3 b2@4 ~ [d3,a3,b3,d4]@2 ~@3 e2@2 ~ [g3,b3,e4] ~", // Em Bm7 Em
AZ: "~@3 e2@2 [g3,b3,e4] ~@4 b2@4 [d3,a3,b3,d4]@2 ~@3 e2@2 ~ [g3,b3,e4] ~", // Em Bm7 Em
BA: "~@3 e2 ~ [g3,b3,e4] ~@4 b2@4 [a3,b3] ~@4 a2 ~@2 [c4,e4,b4] ~, ~@14 d3@5 ~@5, ~@7 d4 ~@4", // Em Asus2 Cmaj7
BB: "~@5 [c4,e4,b4]@2 ~@3 d2@4 [gb2,c4,e4,a4]@3 ~@2 g2 ~@2 [b3,gb4,a4] ~, ~ a2@2 ~@5", // Cmaj7 Gbm7b5 B7
BC: "~@5 [b3,a4]@2 ~@3 e2@4 [d4,f4,ab4]@5 a2 ~@2 [c4,e4,b4] ~, ~@3 g2@6 ~@5 b2@3 ~@7, ~@5 gb4 ~@18", // B7 Ddim Cmaj7
BD: "~@5 [c4,b4]@2 ~@3 d2@4 [gb2,c4,e4,a4]@3 ~@2 g2 ~@2 [b3,gb4,a4] ~, ~ a2@2 ~@5, ~@5 e4 ~@18", // Cmaj7 Gbm7b5 B7
BE: "~@5 [b3,gb4,a4]@2 ~@3 [e2,d4,gb4,ab4]@4 [d4,f4,ab4]@5 a2 ~@2 [c4,e4,b4] ~, ~@3 g2@6 ~@5 ab2@3 ~@7", // B7 E7 Ddim Cmaj7
BF: "~@5 [b3,gb4,a4]@2 ~@3 e2@4 ~ [d4,f4,ab4]@4 a2 ~@2 [c4,e4,b4] ~, ~@3 g2@6 ~@5 b2@3 ~@7", // B7 Ddim Cmaj7
BG: "~@5 [c4,e4,b4]@2 ~@3 d2@4 [c3,c4,e4,a4]@3 ~@2 b2 ~@2 [a3,eb4,gb4]@2, ~ a2@2 ~@5", // Cmaj7 Am Ebdim
BH: "~@5 [a3,eb4,gb4]@2 ~@3 gb2@4 b2@3 ~@2 e2 ~@2 [g3,b3,e4] ~, ~@3 b2@6 ~ [a3,eb4,g4]@7 ~@7", // Ebdim Em Am7b5
BI: "~@3 e2 ~ [g3,b3,e4] ~@4 b2@4 [d3,a3,b3,d4]@2 ~@3 e2 ~@2 [g3,b3,e4] ~", // Em Bm7 Em
BJ: "~@3 e2@2 [g3,b3,e4] ~@4 b2@4 ~ a3@2 ~@2 e2@2 ~ [g3,b3,e4] ~, ~@7 [d3,b3,d4] ~@4", // Em G
BK: "~@3 e2 ~ [g3,b3,e4] ~@4 b2@4 ~ a3@2 ~@2 e2@2 ~ [g3,b3,e4] ~, ~@7 [d3,b3,d4] ~@4", // Em G
BL: "~@3 e2 ~ [g3,b3] ~@4 b2@4 d3@2 ~@3 e2 ~@2 [g3,b3,e4] ~", // G Em
BM: "~@3 e2 ~ [g3,b3,e4] ~@4 b2@4 [d3,a3,b3,d4] ~@4 e2 ~@2 [g3,b3,e4] ~", // Em Bm7 Em
BN: "~@3 e2 ~ [g3,b3,e4] ~@4 b2@4 [d3,a3,b3] ~@4 e2@2 ~ [g3,b3,e4] ~", // Em Bm7 Em
BO: "~@3 e2 ~ [g3,b3,e4] ~@4 b2@4 [d3,a3,b3]@2 ~@3 e2 ~@2 [g3,b3,e4] ~", // Em Bm7 Em
BP: "~@3 e2 ~ [g3,b3,e4] ~@4 b2@4 [d3,a3,b3] ~@4 e2 ~@2 [g3,b3,e4] ~", // Em Bm7 Em
BQ: "~@3 e2 ~ [g3,b3,e4] ~@3 b2@4 ~ [d3,a3,b3]@2 ~@3 e2 ~@2 [g3,b3,e4] ~", BR: "~@3 e2 ~ [g3,b3] ~@13 e2 ~@4",
})).s("gm_piano").gain(0.48)
// chords · piano · "A.PIANO 2" · soft notes
const piano_soft = note(`<
~@29 A ~@3 B ~@12 C ~@9 D@3 ~@2 E ~@3 F ~@2 G H@8 ~@2 I ~@27 J K J K L M N O N P Q R ~@2
>`.pickRestart({
A: "~@23 bb3", B: "~@22 ab3 ~", C: "~@13 gb3 ~@10",
D: "[~@19 f4@15 ~@11 [eb3,bb3]@7 ~@15 [eb3,gb3,f4]@4 ~, ~@22 gb3@3 ~@11]/3", E: "~@23 c4", F: "~@19 gb3@5",
G: "[ab3,b3,g4] ~@7", H: "~@7 db4 ~@4", I: "~@14 [ab3,bb3,db4] ~@9", J: "~@14 d4 ~@9", K: "~@7 d4 ~@4",
L: "~@5 e4 ~@4 b2@4 [d3,a3,b3,d4] ~@7 [g3,b3,e4] ~", // Bm7 Em
M: "~@3 e2 ~ [g3,b3,e4] ~@3 b2@4 ~ [d3,a3,b3,d4]@2 ~@3 e2 ~@2 [g3,b3,e4] ~", // Em Bm7 Em
N: "~@3 e2 ~ [g3,b3,e4] ~@4 b2@4 [d3,a3,b3,d4] ~@4 e2@2 ~ [g3,b3,e4] ~", // Em Bm7 Em
O: "~@3 e2 ~ [g3,b3,e4] ~@4 b2@4 [d3,a3,d4]@2 ~@3 e2 ~@2 [g3,b3,e4] ~, ~@14 b3 ~@9", // Em D5 Em
P: "~@3 e2 ~ [g3,b3,e4] ~@4 b2@4 [d3,a3,b3,d4]@2 ~@3 e2 ~@2 [g3,b3,e4] ~", // Em Bm7 Em
Q: "~@3 e2 ~ [g3,b3,e4] ~@4 b2@4 [d3,a3,b3,d4] ~@4 e2 ~@2 [g3,b3,e4] ~", // Em Bm7 Em
R: "~@3 e2 ~ [g3,b3,e4] ~@4 b2@4 [d3,a3,b3,d4]@2 ~@8", // Em Bm7
})).s("gm_piano").gain(0.16)
// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
A B@4 C D E F C G H I J K J L J M N O C D E P C G H Q C D C D C D C R S T U T V W X Y C D E P C G H Z C D@2 P C G H AA
S T U T V W X AB C D E P C G H Z E AC E AD AE AF AG AH AE AI AJ AK AL AM AL AN AL AM AO AP AE AF@2 AQ AE AI AJ AR AS
AT AS AT AS AU AS AU AS AT AS AT AS AV ~@2
>`.pickRestart({
A: "~@19 eb2@4 ~", B: "eb2 ~@2 eb2@6 ~ bb1@3 ~ db2@3 ~@2 eb2@4 ~", C: "~@3 eb2@6 ~ bb2@3 ~ db2@3 ~@2 eb2@4 ~",
D: "~@3 eb2@6 ~ bb1@3 ~ db2@4 ~ eb2@4 ~", E: "~@3 eb2@6 ~ bb1@3 ~ db2@3 ~@2 eb2@4 ~",
F: "~@3 eb2@5 ~@2 bb2@3 ~ db2@3 ~@2 eb2@4 ~", G: "~@3 eb2@7 bb1@3 ~ db2@3 ~@2 eb2@4 ~",
H: "~@3 eb2@7 bb1@3 ~ db2@4 ~ eb2@4 ~", I: "~@3 eb2@6 ~ bb2@4 db2@5 ab2@5",
J: "~@3 ab2@4 ~ ab2 ~ db2@3 ~ f2@3 ~@2 gb2@5", K: "~@3 gb2@4 ~@3 eb2@3 ~ bb2@2 ~@3 ab2@5",
L: "~@3 gb2@4 ~ gb2 ~ eb2@3 ~ g2@2 ~@3 ab2@5", M: "~@3 gb2@4 ~@3 a1@3 ~ a2@5 ab2@5",
N: "~@3 ab2@4 ~ ab2 ~ db2@3 ~ b2@3 ~@2 bb1@5", O: "~@3 bb1@4 ~@3 f2@4 bb2@2 ~@8",
P: "~@3 eb2@5 ~@2 bb2@3 ~ db2@4 ~ eb2@4 ~", Q: "~@3 eb2@6 ~ bb2@4 db2@4 ~ eb2@4 ~",
R: "~@3 eb2@6 ~ bb1@3 ~ a1@4 ~ ab2@5", S: "ab1@5 b1@5 db2@4 ab2@5 gb2@5", T: "f2@5 e2@5 eb2@4 g2@5 ab2@5",
U: "bb2@5 b2@5 ~ ab2@2 ~ db2@5 gb2@5, ~@10 db3@2 ~ f2@2 ~@9", V: "gb2@5 eb2@5 db2@4 f2@5 gb2@5",
W: "f2@5 e2@5 eb2@4 bb1@5 ab1@5", X: "bb1@5 b1@5 db2@4 f2@5 f2@5", Y: "f1@5 bb1@5 bb2@4 bb1@5 eb2@4 ~",
Z: "~@3 eb2@6 ~ bb2@4 db2@5 eb2@4 ~", AA: "~@3 eb2@6 ~ bb2 a2 ~ ab2 gb2 ~ eb2 ~ ab1@6",
AB: "f1@5 b1@5 bb1@4 bb2@5 eb2@4 ~", AC: "~@3 eb2@7 bb2@3 ~ db2@3 ~@2 eb2@4 ~",
AD: "~@3 eb2@7 b1@3 ~ b1@3 ~@2 e2@4 ~", AE: "~@3 e2@6 ~ b2@3 ~ d2@3 ~@2 e2@4 ~",
AF: "~@3 e2@6 ~ b1@3 ~ d2@4 ~ e2@4 ~", AG: "~@3 e2@6 b1@3 ~@2 d2@3 ~@2 e2@4 ~",
AH: "~@3 e2@5 ~ b2@3 ~@2 d2@3 ~@2 e2@4 ~", AI: "~@3 e2@7 b1@3 ~ d2@3 ~@2 e2@4 ~", AJ: "~@3 e2@7 b1@3 ~ d2@4 ~ e2@4 ~",
AK: "~@3 e2@6 ~ b2@4 d2@5 a2@5", AL: "~@3 a2@4 ~ a2 ~ d2@3 ~ gb2@3 ~@2 g2@5", AM: "~@3 g2@4 ~@3 e2@3 ~ b2@2 ~@3 a2@5",
AN: "~@3 g2@4 ~ g2 ~ e2@3 ~ ab2@2 ~@3 a2@5", AO: "~@3 a2@4 ~ a2 ~ d2@3 ~ c3@3 ~@2 b1@5",
AP: "~@3 b1@4 ~@3 gb2@4 b2@2 ~@3 e2@4 ~", AQ: "~@3 e2@5 ~@2 b2@3 ~ d2@4 ~ e2@4 ~",
AR: "~@3 e2@6 ~ b2@4 d2@4 ~ e2@4 ~", AS: "~@3 e2@6 ~ b1@3 ~ d2@3 ~@2 e2@4 ~", AT: "~@3 e2@7 b2@3 ~ d2@3 ~@2 e2@4 ~",
AU: "~@3 e2@6 b2@3 ~@2 d2@3 ~@2 e2@4 ~", AV: "~@3 e2@7 b2@3 ~ d2@3 ~@7",
})).s("gm_acoustic_bass").gain(0.54)
// chords · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note(`<
A B@3 C B@7 D@4 E@5 B@7 F@2 ~@2 G@3 H@4 I@7 J ~ K L M@2 N O P Q R@2 S T U V@2 W X Y@2 Z AA@2 AB AC@3 AD AE AF@2 ~ AG
AH AI@7 AJ@4 AK@5 AI@12 AL AM ~@10
>`.pickRestart({
A: "~@22 [eb4,gb4,bb4] ~", B: "~@5 [eb4,gb4,bb4]@2 ~@15 [eb4,gb4,bb4] ~", C: "~@5 [eb4,gb4,bb4] ~@16 [eb4,gb4,bb4] ~",
D: "[~@5 [eb4,gb4,bb4]@2 ~@3 bb4@3 a4@2 bb4@2 b4 ~ b4@3 ~ eb5@2 ~@2 b4@2 ab4@3 ~@2 f4@3 gb4@2 ab4@2 a4 ~ bb4@3 ~ db5@2 ~@2 bb4 ~ gb4@3 ~@2 eb4@3 ~ gb4@3 g4@2 ab4@3 ~ b4@2 ~@2 ab4@2 f4@2 ~@3 db4@3 ~ f4@3 f4@2 gb4@3 f4@2, ~@61 f4@2 ~@22 eb4@2 ~@9]/4", // Ebm
E: "[gb4@2 ~ ab4@2 bb4@3 ~@2 bb4@3 a4@2 bb4@3 ~ b4@3 ~ eb5@2 ~@2 b4@2 ab4@3 ~@2 f4@3 gb4 ~ ab4@2 a4@2 bb4@3 ~ db5@2 ~@2 bb4@2 gb4@3 ~@2 eb4@3 ~ gb4@3 g4 ~ ab4@3 ~ b4@2 ~@2 ab4@2 f4@3 ~@2 db4@3 f4@2 b4@2 ab4@2 f4@12 ~@3 bb4@9 ~@3 [eb4,gb4,bb4] ~, ~@18 bb4@2 ~@41 f4@2 ~@41 d4@11 ~@5, ~@21 gb4@2 ~]/5", // Ebm
F: "[~@5 [eb4,gb4,bb4]@2 ~@15 ab4@6 ~@4 gb4@6 gb4@4 ab4@2 ~@2 ab4 ~]/2", G: "[~@19 [f4,ab4]@33 ~@15 [eb4,gb4]@5]/3",
H: "[~@3 [f4,ab4]@27 ~@13 gb4@14 f4@23 ~@2 e4@9 gb4@5]/4", // Fm
I: "[~@10 f4@23 ~ e4@9 gb4@14 ~ f4@10 f4@13 e4@10 gb4@14 f4@9 ~ g4@14 gb4@10 f4@17 ~@2 [f4,ab4]@3 ~@2 [gb4,bb4]@4 ~]/7", // Fm Gb
J: "[f4,ab4]@5 ~@3", K: "~@22 [bb3,db4,f4] ~",
L: "~@4 db4 [bb3,db4,f4]@3 [bb3,db4,f4] ~ db4@2 ~@3 db4@3 eb4 ~@3 [bb3,db4,f4] ~", // Bbm
M: "~@3 [bb3,db4,f4] ~ [bb3,db4,f4]@3 [bb3,db4,f4] ~@5 db4@3 ~@2 db4@2 ~ [bb3,db4,eb4,f4] ~", // Bbm
N: "~@3 [bb3,db4,f4] ~ [bb3,db4,f4]@3 [bb3,db4,f4] db4@3 ~@3 db4@2 eb4 ~@6", O: "~@19 f4@2 ~@2 ab4",
P: "~@3 gb4 ~@4 d4 ~ f4@3 d4 eb4@4 ~@6", Q: "~@10 eb4@2 ~@2 a4 bb4@3 ~ [bb4,eb5]@4 ~, ~@13 ab4@2 ~@4 a4@2 ~@3",
R: "[[bb4,eb5]@5 ~@14 eb5@2 ~ a4 ab4@4 ~@2 gb4@3 ~@2 eb4@3 gb4@6 ~@5, a4 ~@21 eb5@3 ~@23]/2", // Eb5
S: "~@10 eb4@2 ~ gb4 ~ ab4@3 ~ ab4 [ab4,a4] ~ gb4 ~", // Amaj7
T: "ab4@3 ~@2 gb4@2 ~ eb4@3 ~@2 ab3@3 ~@3 gb3@3 eb3@2, ~@13 a3 ~@10", U: "~@3 eb3 ~@18 eb3 ~",
V: "[ab3@2 ~ bb3 ~ b3@2 ~ eb4 ~ gb4@2 ab4 ~@2 bb4@2 b4@2 ~ c5@2 ~ db5@2 ~@2 bb4@2 ab4@2 ~ gb4@2 g4@2 bb4@2 e4@3 d4 ~ d4 eb4@2 b3@2]/2",
W: "bb3@2 ~ ab3@2 g3@3 ~@2 gb3@2 ~@3 f3@2 ab3@2 ~ b3@2 eb4@2", X: "db4@2 ~ b3@2 bb3@3 ~@6 db4 ~ e4 ~ g4!2 ab4@4",
Y: "[~@3 eb4@2 ~@3 b3@2 bb3@3 ab3@2 ~@4 bb4@3 ~ [eb4,f4]@2 ~ eb4 ~@2 db4 c4@2 ~ b3@9 ~@4 bb3@2]/2", // Ebsus2
Z: "~ bb3 ~ g3@2 ab3@2 bb3 ~@2 b3@2 db4@2 eb4@2 ~ f4@2 ~ g4@2 ab4 ~, b3 ~@11",
AA: "[a4 ~@2 bb4 ~ b4@2 ~ c5 ~ db5@2 b4 ~@2 db5@2 b4 ~ bb4@2 ~@2 [e4,e5]@2 [f4,f5]@2 f5 f4 f5 ~ f4 f5 f4 f5 f4 f5 ~ f4 f5 f4 f5 ~ f4 f5 ~ f4 f5]/2", // E F
AB: "f4 ~ f5 f4 f5 ~ f4 f5 ~ f4 ~@12 [g4,g5] [ab4,ab5]", // G Ab
AC: "[~ [f4,f5]@2 [db4,db5] ~@2 [bb3,bb4]@2 ~ [gb3,gb4]@2 ~ [f3,f4] ~@2 [eb3,eb4]@3 [f3,f4]@14 ~@6 f3 ~ bb3 eb4 f4 ~@3 g4 ab4@4 ~@2 [gb4,bb4]@8 ~@2 db4@3 ~ db4@3 eb4 ~, ~@15 [d3,d4] ~@30 c5@5 ~@21]/3", // F Db Bb Gb F Eb F Gb …
AD: "~@3 [ab4,c5]@5 ~@2 gb4@8 ~ d4 eb4 db4 bb3 ~, ~@3 g4 ~@5 bb4@8 ~@7", // Ab
AE: "a3 ~ ab3 gb3 ~@4 [ab4,c5]@5 ~@2 [gb4,bb4]@9, ~@8 g4 ~@15", // Ab Gb
AF: "[~@3 a4@2 ab4 ~ gb4 eb4 ~ db4@2 ~@3 bb3 ab3 ~ gb3 eb3@19 ~@10]/2", AG: "~@22 [gb4,bb4] ~",
AH: "~@5 [eb4,gb4,bb4]@2 ~@4 g4@8 ~@3 [e4,g4,b4] ~, ~@9 a3@10 ~@5, ~@10 eb4@9 ~@5", // Ebm Em
AI: "~@5 [e4,g4,b4]@2 ~@15 [e4,g4,b4] ~", // Em
AJ: "[~@5 [e4,g4,b4]@2 ~@3 b4@3 bb4@2 b4@2 c5 ~ c5@3 ~ e5@2 ~@2 c5@2 a4@3 ~@2 gb4@3 g4@2 a4@2 bb4 ~ b4@3 ~ d5@2 ~@2 b4 ~ g4@3 ~@2 e4@2 gb4@2 g4@3 ab4@2 a4@3 ~ c5@2 ~@2 a4@2 gb4@2 ~@3 d4@2 e4@2 gb4@3 gb4@2 g4@3 gb4@2]/4", // Em
AK: "[g4@2 ~ a4@2 b4@3 ~@2 b4@3 bb4@2 b4@3 ~ c5@3 ~ e5@2 ~@2 c5@2 a4@3 ~@2 gb4@3 g4 ~ a4@2 bb4@2 b4@3 ~ d5@2 ~@2 b4@2 g4@3 ~@2 e4@2 gb4@2 g4@3 ab4 ~ a4@3 ~ c5@2 ~@2 a4@2 gb4@3 ~@2 d4@2 gb4@2 c5@3 a4@2 gb4@12 ~@3 b4@9 ~@3 [e4,g4,b4] ~, ~@9 b4 ~@50]/5", // Em
AL: "~@5 [e4,g4,b4]@2 ~@15 [g4,b4] ~", AM: "~@5 [g4,b4]@2 ~@17",
})).s("gm_electric_guitar_jazz").gain(0.44).pan(0.6)
// chords · electric guitar jazz · "JAZZ GTR" · soft notes
const electric_guitar_jazz_2 = note("<~@28 A B C D E ~@63 F ~@12 G H I@7 J ~@2>".pickRestart({
A: "~@7 f4, ~@19 gb4@5",
B: "f4@2 ~ f4@2 ~ f4@3 ~@4 f4@3 f4@3 gb4 ~ f4 ~@2, ~@2 gb4@6 ~@2 f4@3 ~@11, ~@5 ab4@6 ab4@6 ~@7",
C: "f4 ~ gb4 f4 ~ ab4 f4 ~ gb4 ~ f4 ab4 ~ f4 gb4 ~ f4 ~ ab4 gb4 ~ f4 ab4 ~",
D: "f4 ~ gb4 f4 ~ ab4 f4 ~ gb4 ~ f4 ab4 ~ f4 gb4 ~ f4 ~ ab4 f4 ~ ab4 f4 ~", E: "gb4 ~ f4 ~@11 [eb4,gb4]@4 ~@6",
F: "~@9 g4@10 ~@5, ~@8 eb4@11 ~@5", G: "~@22 e4 ~", H: "~@5 e4@2 ~@15 [e4,g4,b4] ~",
I: "~@5 [e4,g4,b4]@2 ~@15 [e4,g4,b4] ~", J: "~@5 [e4,g4,b4]@2 ~@17",
})).s("gm_electric_guitar_jazz").gain(0.22).pan(0.6)
// drums · kick
const kick = s("bd").struct(`<
A B@9 C B D B@3 D B@2 E F B@7 D B@5 C B G B@3 H I B E J B@2 K L B C B D B@5 C B M B@4 N B E O B@5 C P Q B@9 C B D B@3
D B@2 E F B@7 D B@4 ~@3 A ~@8
>`.pickRestart({
A: "~@19 x ~@4", B: "~@13 x ~@5 x ~@4", C: "~@14 x ~@4 x ~@4", D: "~@13 x ~@4 x!2 ~@4", E: "~@13 x ~@5 x ~@2 x ~",
F: "~@8 x ~@9 x!2 ~@4", G: "~@13 x ~@4 x ~@5", H: "~@13 x ~@4 x!2 ~@2 x ~", I: "~@8 x ~@4 x ~@5 x ~@4",
J: "~@3 x ~@4 x ~@10 x ~@4", K: "~@13 x ~@10", L: "~@3 x ~@9 x ~@5 x ~@4", M: "~@3 x", N: "~@12 x ~@6 x ~@4",
O: "~@8 x ~@10 x ~@4", P: "~@13 x ~@3 x ~ x ~@4", Q: "~@5 x ~@4 x ~@2 x ~@4 x!2 ~@4",
})).gain(0.24)
// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@109 [~@13 x ~@5 x ~@4]!3 [~@13 x ~@10] [~@13 x ~@5 x ~@4]!5 ~@3>").gain(0.08)
// drums · snare
const snare = s("sd").struct(`<
A B C D E F G H I J B F K J F L M B N H O J B J D P Q R S F G H I J B F T J F D M B N H U F G V W J B F X F G H I J B
F Y J F Z AA AB N H AC F G H I J C J AD B C B AE F G AF I J B F K J AG L M B N H AH J B J D P Q R AI B AJ AK AL AK AM
AN ~@9
>`.pickRestart({
A: "~@18 x!2 ~@4", B: "~@3 x ~@9 x ~@2 x!2 ~@6", C: "~@3 x ~@6 x ~@2 x ~@2 x!2 ~@6", D: "~@3 x ~@6 x ~@3 x ~ x!2 ~@6",
// … 144 more lines
More by Paul Desmond
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.