0:00/0:00
// It Don't Mean a Thing — Duke Ellington
// 194 bpm, 4/4, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 108 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(194/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.
// bass · acoustic bass
const bass = note(`<
~@2 A B C D E F G H I J K L@2 M N@2 O P Q R S T U V W@2 X Y Z AA AB AC AD AE AF AG AH AI@2 AJ AK AL AM AN AO AP AQ AJ
AR AL AS AT AU AV AW AX AY AZ BA BB BC BD BE AY BF BG BH AG BI BJ BK BL BM@2 BN BO@2 AH BP BQ BR BS BT ~ BU BV BW@2 I
BX BY BZ CA CB CC CD BF CE CF CG CH CI CJ CK@3
>`.pickRestart({
A: "g2@3 ~ g2@2 ~@2 g3 d3 ~ g2 e2@3 d2", B: "eb2@3 ~ eb2@3 eb2 d2@3 ~ d2@3 ab2", C: "g2@3 g1 ab2@4 g2@3 ~ g2@2 ~@2",
D: "eb2@2 ~ eb2 ~@3 d2@4 ~ d2 ~@3", E: "g2@3 g1 g2@4 g2@4 bb2@3 g2", F: "g3 d3 ~ g2 ab2@3 gb2 g2@3 g1 e2@4",
G: "eb2@4 eb2@2 ~ d2@4 ~ d2@3 ~", H: "g2@3 ~ g2@3 d2 db2@3 ~ db2@3 db2", I: "c2@2 ~ c1 bb1@3 ~ a1@4 g1@3 c2",
J: "gb2@4 db3@4 gb3@4 db3@3 db2", K: "f2@4 eb2@3 b1@4 ~ b1@2 ~@2",
L: "[bb1@3 ~ d2@7 ~@4 g2@4 ~ g2@2 ~@2 g2@3 ~ g2@4]/2", M: "g3 d3 ~ g2 ab2@3 gb2 g2@3 g1 g2@4",
N: "[eb2@3 ~ eb2@3 eb2 ~@4 d2@2 ~ g2@4 ~ g2@2 ~ db2@5 db2@4]/2", O: "c2@4 bb1@4 a1@4 g1@3 c2",
P: "gb2@4 ab2@3 ~ a2@4 bb2@3 db2", Q: "f3 g2 ~ f2 c2@3 bb1 b1@3 ~ b1@2 ~@2", R: "bb2 f2 ~ bb1 ab2@3 gb2 ~@8",
S: "f2@3 f1 b1@4 bb1@3 bb0 gb2@4", T: "f2@3 ~ f2@4 bb1@3 ~ bb1@4", U: "eb2@4 f2@3 ~ gb2@4 g2@3 e2",
V: "eb2@4 f2@3 ~ gb2@4 g2@3 ab2", W: "[g2@4 db2@4 c2@4 ab2@2 ~ g2@4 g1 db2@4 c2@3 ~ c2@3 gb2]/2",
X: "f2@3 ~ f2@4 ~@8", Y: "eb2@3 eb1 eb2@4 d2@3 d1 ab2@4", Z: "g2@3 ~ g2@2 ~@2 g2@4 bb2@3 g2",
AA: "g2@3 ~ g2@4 g2@3 g1 e2@4", AB: "eb2@3 eb1 eb2@4 a1@3 ~@5", AC: "g2@4 bb2@3 g2 c3 g2 ~ c2 e2@3 d2",
AD: "eb2@3 eb1 eb2@4 ab3 eb3 ~ ab2 d2@3 c2", AE: "db2@3 ~ db2@4 gb2@3 gb1 gb2@4", AF: "c2@4 eb2@3 f2@4 ~ f2@2 ~@2",
AG: "~@4 d2@7 ~ d2 ~@3", AH: "g3 d3 ~ g2 ab2@3 gb2 g2@3 ~ g2@4",
AI: "[g2@3 g1 g2@4 g3 d3 ~ g2 e2@3 eb2@4 ~ eb2@2 ~@2 d3 a2 ~ d2 ab2@3 gb2]/2", AJ: "g2@2 ~ g1 a2@4 bb2@4 d3@3 g2",
AK: "c2@4 d2@3 ~ eb2@4 e2@3 g2", AL: "gb2@4 e2@4 eb2@4 db2@3 gb2", AM: "c2@3 ~ c2@4 b2 gb2 ~ b1 b1@3 a1",
AN: "bb1@4 eb2@4 d2@3 ~ d2@3 ab2", AO: "g2@3 g1 ab2@4 g2@3 g1 ab2@4", AP: "g2@3 g1 ab2@4 g2@3 g1 e2@4",
AQ: "eb2@3 ~ eb2@4 d2@3 ~ d2@2 ~@2", AR: "c2@3 c1 bb1@4 a1@4 g1@3 g2", AS: "c2@3 ~ c2@4 b1@3 ~ b1@4",
AT: "bb1@4 c2@4 db2@4 d2@3 bb1", AU: "f2@2 ~ f1 g2@4 ab2@4 c3@3 f2", AV: "bb1@4 ab1@4 g1@4 f1@3 bb1",
AW: "eb2@4 bb2@4 eb3@4 bb2@3 e2", AX: "eb2@4 d2@4 c2@4 bb1@3 eb2", AY: "g2@4 a2@3 ~ bb2@4 d3@3 g2",
AZ: "c2@4 d2@3 ~ eb2@4 e2@3 bb1", BA: "a1@2 ~ a0 b1@4 c2@4 e2@3 a1", BB: "d2@4 e2@4 f2@4 gb2@3 d2",
BC: "g2@3 ~ g2@3 ab2 g2@4 ab2@4", BD: "g2@4 bb2@3 g2 g2@3 ~ g2@4", BE: "eb2@3 ~ eb2@4 d2@3 ~ d2@4",
BF: "c2@4 d2@4 eb2@4 e2@3 c2", BG: "gb2@3 gb1 e2@4 eb2@4 db2@3 db2", BH: "c2@3 c1 c2@4 b1@4 b1@4",
BI: "g2@3 ~ g2@2 ~@2 g2@4 ab2@4", BJ: "g2@3 ~ g2@3 ab2 g2@4 e2@4", BK: "eb2@4 eb2@4 d3 a2 ~ d2 ab2@3 gb2",
BL: "g2@3 ~ g2@4 c2@3 c1 f2@4", BM: "[e2@3 e1 e2@4 eb2@3 ~ eb2 ~@2 d2@4 ~ d2@2 ~@2 db2@3 ~ db2@4]/2",
BN: "c2@4 c2@4 b1@3 b0 b1@4", BO: "[bb2 f2 ~ bb1 eb2@3 db2 d2@3 d1 ab2@2 ~ g2@4 ~ g2@2 ~@2 g2@4 bb2@3 g2]/2",
BP: "eb2@3 eb1 eb2@4 d2@4 ab2@4", BQ: "g2@4 db2@4 c2@4 e2@3 c2", BR: "e2@3 ~ e2@4 eb2@3 ~ eb2@3 eb2",
BS: "d2@4 d2@4 db2@3 ~ db2@4", BT: "~@4 c2 ~@3 b1@2 ~ b1 ~@3 bb1", BU: "f2@4 g2@3 ~ ab2@4 c3@3 f2",
BV: "bb1@2 ~ bb0 ab1@3 ~ g1@4 f1@3 bb1", BW: "[eb2@4 gb2@4 f2@3 ~ f2@2 ~ gb2@5 ab2@2 ~ g2@4 g1 db2@4]/2",
BX: "g2@3 g1 g2@4 gb2@3 gb1 gb2@4", BY: "f2@3 f1 gb2@4 ~@8", BZ: "eb2@4 g2@3 eb2 d2@3 ~ d2@4",
CA: "g2@3 g1 ab2@4 g2@4 ab2@4", CB: "g2@3 ~ g2@4 g2@4 e2@4", CC: "eb2@3 eb1 eb2@4 ~@8",
CD: "g2@3 g1 d2@4 db2@3 db1 db2@4", CE: "gb2@2 ~ gb1 e2@3 ~ eb2@4 db2@3 gb2", CF: "f3 g2 ~ f2 c2@3 bb1 b1@4 eb2@3 b1",
CG: "bb1 bb2 ~ bb0 a2@4 g2@3 ~ g2@3 f2", CH: "e2@3 ~ e2@4 eb2@3 ~ eb2@4", CI: "d2@3 d1 d2@4 db2@3 ~ db2@4",
CJ: "c2@3 c1 c2@4 b1@3 ~@5", CK: "[~ bb1@9 ~@2]/3",
})).s("gm_acoustic_bass").gain(0.35).pan(0.4)
// bass · acoustic bass · soft notes
const bass_soft = note(`<
~@2 A ~ B ~@7 C D A ~ E A ~@2 C F ~@6 G ~ A ~ H ~@3 I J ~@2 K ~@7 L ~@20 J A ~@4 M ~@2 A ~@13 G ~@3 N ~@11
>`.pickRestart({
A: "~@3 g1 ~@12", B: "~@11 g1 ~@4", C: "~@11 b0 ~@4", D: "~@6 d2 ~", E: "~@8 d2@3 d1 ~@4", F: "~@8 g2@3 g1 gb2@3 gb1",
G: "~@8 f2@3 f1 e2@3 e1", H: "~@12 d2@3 d1", I: "~@11 f1 ~@4", J: "bb1@3 bb0 ~@12", K: "~@3 eb1 ~@12",
L: "~@11 d1 ~@4", M: "~@3 d1 ~@12", N: "~@8 d2@3 d1 d2@3 d1",
})).s("gm_acoustic_bass").gain(0.22).pan(0.4)
// chords · piano
const piano = note(`<
~@2 A B@2 C D@2 E F G H I@2 J K@2 L M N@6 O@3 P Q R S T@2 U V W X Y@2 Z M AA@2 AB AC@2 AD AE AF AG AH AI AJ@2 AK@3
AL@2 AM AN AO AP AQ AR AS AT AU X AV@2 AW@2 AX AY@2 AZ@2 BA BB BC BD BE BF BG@2 BH BI BJ AS BK@2 BL BM BN BO BP BQ@3
BR U BS BT BU@3
>`.pickRestart({
A: "~@3 [e3,bb3,d4,g4]@4 ~ [f3,bb3,d4,a4]@7 ~", // Em7b5 Bbmaj7
B: "[[g3,c4,db4,f4]@4 db4 g4 ~ bb4 [gb3,a3,c4,e4]@2 ~@5 [e3,bb3,d4,g4]@3 ~@6 [f3,bb3,d4,g4]@6 ~@2]/2", // Csus4 Gbm7b5 Em7b5 Gm7
C: "[eb3,g3,db4,f4]@2 ~ [eb3,g3,db4,f4] ~@3 [d3,gb3,c4,e4]@9", // Eb7 D7
D: "[~@3 [g3,bb3,d4]@4 ~ [gb3,a3,bb3,d4]@4 bb3 ~@2 [f3,a3,bb3,d4]@8 [e3,bb3,d4,g4]@3 ~@6]/2", // Gm D Bbmaj7 Em7b5
E: "[g3,c4,db4,f4]@7 ~ [gb3,c4,e4,b4]@4 [gb3,c4,eb4,a4]@4", F: "[e3,g3,bb3,d4]@4 bb3 e4@2 g4 [f3,b3,eb4,bb4]@7 ~",
G: "~@7 c3 [e3,g3,bb3,d4]@2 ~ c3 [e3,g3,bb3,d4]@2 ~@2", // Em7b5
H: "[e3,bb3,db4,ab4]@7 ~ [e3,bb3,db4,ab4]@2 ~ gb2 [e3,bb3,db4,ab4] ~@3", // Bbm7b5
I: "[[eb3,bb3,d4,g4]@7 [bb3,eb4,gb4,db5]@5 eb4 ~@2 [d4,f4,bb4]@5 [c4,e4,gb4,ab4,b4]@7 ~ [c4,gb4,ab4,b4,e5]@4]/2", // Ebmaj7 Ebm7 Bb E
J: "[bb3,g4,d5]@4 d4 g4 ~ bb4 [bb3,gb4,a4,d5]@2 ~@6", // Gm D
K: "[[bb3,f4,a4,d5]@4 bb3 f4@2 g4 [bb3,d4,e4,g4]@6 ~ [g3,db4,f4,c5]@8 ~ [gb3,ab3,c4,e4,b4]@4 [gb3,c4,eb4,a4]@4]/2", // Bbmaj7 Em7b5 Csus4 E Gbdim
L: "[e3,bb3,d4,g4]@2 ~@6 [f3,bb3,b3,eb4]@7 ~", M: "[e3,bb3,d4,g4]@6 ~ [e3,bb3,d4,g4] ~@8",
N: "[[e3,ab3,bb3,eb4]@13 ~@2 [eb3,bb3,d4,g4]@8 ~ [bb3,eb4,gb4,db5]@4 eb4 ~@2 [d4,f4,bb4]@8 ~ [bb3,d4,f4,a4]@2 ~ [bb3,e4,ab4,eb5]@4 [ab3,eb4,g4,c5]@8 [bb3,d4,f4]@8 [ab3,eb4,g4,c5]@3 ~@6 [d4,f4,bb4]@7 [g3,d4,f4,bb4]@7 ~ [g3,d4,f4,bb4] ~@8]/6", // Emaj7 Ebmaj7 Ebm7 Bb Bbmaj7 Ebsus4 Abmaj7 Bb …
O: "[[g3,bb3,d4,f4]@6 ~ [g3,bb3,d4,f4] ~@7 [f3,a3,bb3,d4]@8 ~ [e3,bb3,d4,a4]@2 ~@5 [f3,a3,bb3,d4]@8 ~ [e3,bb3,d4,a4]@7 ~]/3", // Gm7 Bbmaj7 Dsus2 Bbmaj7 Dsus2
P: "[eb3,a3,d4,g4] ~@3 [eb3,a3,b3,d4,g4]@2 [ab3,d4,gb4,b4]@2", Q: "[g3,db4,f4,c5]@4 db4 ~@2 [gb3,c4,e4,a4]@8 ~",
R: "~@3 [bb3,d4,g4]@4 ~ [gb3,bb3,d4,a4]@7 ~", S: "[f3,bb3,d4,g4]@4 bb3 f4 ~ g4 [e3,g3,bb3,d4]@2 ~@6",
T: "[[g3,db4,f4,c5]@4 db4 ~@2 [g3,c4,e4,a4]@5 [gb3,c4,eb4,bb4]@2 ~ [f3,bb3,d4,a4]@8 [e3,bb3,d4,g4]@8 ~]/2", // Csus4 Am7 Cm7b5 Bbmaj7 Em7b5
U: "[bb4,bb5]", // Bb
V: "[db3,ab3,c4,f4]@2 ~ [db3,ab3,c4,f4] ~@3 [db3,ab3,c4,f4] [gb2,bb3,db4,f4] ~@3 [gb2,bb3,db4,f4]@2 ~ [c3,bb3,eb4,g4]", // Dbmaj7 Gbmaj7 Cm7
W: "~@3 [c3,bb3,eb4,g4]!2 ~@3 [f2,bb3,eb4,g4]@2 ~ [f2,bb3,eb4,g4] ~@3 [f2,bb3,eb4,g4]", // Cm7 Eb
X: "[bb2,bb3,d4,f4] ~@3 [d3,gb3,c4,f4,bb4]@7 ~ [d3,d4] ~@3", // Bb D
Y: "[[bb3,d4,g4]@7 ~ [bb3,gb4,a4,d5]@6 ~ [bb3,d4,f4,a4]@8 ~ [bb3,e4,g4,d5]@4 bb3 e4@2 g4]/2", // Gm D Bbmaj7 Em7b5
Z: "~@3 [g3,db4,eb4,bb4]@4 ~@4 [gb3,ab3,c4,e4,b4]@4 ~", // Eb7 E
AA: "[[e3,bb3,c4,g4]@7 ~ [e3,bb3,c4,g4]@2 ~ c3 [e3,bb3,c4,g4] ~@2 [e3,bb3,db4,gb4]@12 ~@5]/2", // C7 Gb7
AB: "[eb3,g3,bb3,d4]@4 bb3 eb4 ~ g4 [bb3,eb4,gb4,db5]@7 ~", // Ebmaj7 Ebm7
AC: "[[bb3,d4,f4]@6 ~ [gb3,ab3,c4,e4,b4]@5 c4 ~@2 [g3,bb3,d4]@8 ~@4 [gb3,bb3,d4,a4]@4 ~]/2", // Bb E Gm D
AD: "~@3 [f3,bb3,d4,g4]@4 [e3,bb3,d4,g4]@5 bb3 e4@2 g4", AE: "[g3,db4,eb4,bb4]@4 db4 ~@2 [gb3,ab3,b3,c4,e4]@8 ~",
AF: "[e3,g3,bb3,d4]@6 ~ [e3,g3,bb3,d4] ~@8", AG: "[e3,a3,bb3,d4]@13 ~@3", AH: "[e3,ab3,bb3,eb4]@13 ~@3",
AI: "[eb3,g3,bb3,c4]@2 ~@5 [bb3,eb4,gb4,db5]@8 ~", // Cm7 Ebm7
AJ: "[[bb3,d4,f4]@6 ~ [bb3,d4,f4] ~@7 [ab3,eb4,f4,c5]@8 ~ [ab3,eb4,f4,c5]@2 ~ f3 [ab3,eb4,f4,c5] ~@3]/2", // Bb Fm7
AK: "[[ab3,d4,g4,c5]@13 ~@2 [g3,bb3,d4,f4]@7 ~ [g3,bb3,d4,f4] ~@7 [g3,bb3,d4,f4]@8 ~ [g3,bb3,d4,f4]@2 ~ eb3 [g3,bb3,d4,f4] ~@3]/3", // Abmaj7 Gm7
AL: "[[f3,bb3,d4,a4]@13 ~@2 [e3,a3,bb3,d4]@8 ~ [e3,a3,bb3,d4]@2 ~ c3 [e3,a3,bb3,d4] ~@3]/2", // Bbmaj7 Dsus2
AM: "[g3,c4,e4,a4]@6 ~ [g3,c4,e4,a4] ~@8", // Am7
AN: "[gb3,ab3,c4,e4,b4]@7 ~ [gb3,ab3,c4,e4,b4]@2 ~ d3 [gb3,ab3,c4,e4,b4] ~@3", // E
AO: "[bb3,d4,g4]@6 ~ [gb3,bb3,d4,a4]@8 ~", AP: "[f3,bb3,d4,g4]@6 ~ [e3,g3,bb3,d4]@8 ~",
AQ: "[g3,c4,db4,f4]@2 ~@6 [gb3,c4,d4,a4]@7 ~", AR: "[e3,g3,bb3,d4]@13 ~@3",
AS: "[e3,bb3,d4,a4]@6 ~ [e3,bb3,d4,a4] ~@8", AT: "~@7 gb2 [e3,bb3,db4,ab4]@3 gb2 [e3,bb3,db4,ab4]@2 ~@2",
AU: "[eb3,g3,bb3,d4] ~@3 [bb3,eb4,gb4,db5] ~@3", // Ebmaj7 Ebm7
AV: "[[g3,bb3,d4]@2 ~@6 [gb3,bb3,d4,a4]@6 ~ [f3,bb3,d4,g4]@8 ~ [e3,bb3,d4,g4]@2 ~@6]/2", // Gm D Gm7 Em7b5
AW: "[~@3 [g3,c4,db4,f4]@4 ~ [gb3,ab3,b3,c4,e4]@2 ~@5 [e3,bb3,d4,g4]@8 ~ [e3,bb3,d4,g4]@2 ~@6]/2", // Csus4 E Em7b5
AX: "[g3,d4,e4,bb4]@4 g3 d4 ~ e4 [gb3,db4,f4,bb4]@2 ~@6", // Em7b5 Gbmaj7
AY: "[[f3,c4,d4,bb4]@2 ~@5 [e3,b3,eb4,ab4]@5 b3 ~@2 [eb3,bb3,c4,g4]@8 ~ [bb3,eb4,gb4,db5]@4 eb4 bb4@2 db5]/2", // Bb Emaj7 Cm7 Ebm7
AZ: "[[a3,d4,f4,c5]@7 ~ [gb3,b3,c4,e4]@2 ~@5 [bb3,d4,g4]@8 ~ [gb3,bb3,d4,a4]@2 ~@6]/2", // Dm7 Esus2 Gm D
BA: "[f3,bb3,d4,g4]@4 bb3 f4@2 g4 [e3,bb3,d4,g4]@2 ~@6", BB: "[g3,db4,f4,c5]@7 ~ [gb3,c4,d4,bb4]@7 ~",
BC: "[e3,g3,bb3,d4]@7 ~ [e3,a3,bb3,d4]@7 ~", BD: "~@3 [g3,d4,e4,bb4]@4 ~ [gb3,db4,eb4,bb4]@4 db4 gb4@2 bb4",
BE: "[f3,c4,e4,bb4]@7 ~ [e3,b3,db4,ab4]@2 ~@6", // Fsus4 Dbm7
BF: "~@4 [c3,bb3,eb4,g4] ~@3 [b2,bb3,eb4,gb4]@2 ~ [b2,bb3,eb4,gb4] ~@3 [bb2,bb3,d4,f4]", // Cm7 Bmaj7 Bb
BG: "[~@15 [ab3,c4,eb4,g4]@12 ~@5]/2", BH: "~@7 bb2 [ab3,c4,d4,g4]@2 ~ bb2 [ab3,c4,d4,g4]@2 ~@2",
BI: "[g3,bb3,d4,f4]@7 ~@4 [eb3,ab3,c4,f4]@4 ~", BJ: "[eb3,a3,c4,gb4]@7 ~ [f3,bb3,d4,a4]@7 ~",
BK: "[[f3,bb3,d4,a4]@7 ~ [e3,ab3,c4,eb4]@2 ~@5 [eb3,a3,b3,d4,g4]@8 ~ [eb3,g3,a3,c4]@2 ~ [ab3,db4,d4,gb4]@5]/2", // Bbmaj7 Ab G Am7b5 Dbsus4
BL: "[g3,bb3,db4,f4]@4 db4 g4 ~ bb4 [gb3,ab3,c4,e4,b4]@7 ~", BM: "[g3,bb3,d4] ~@3 [gb3,a3,bb3,d4] ~@3",
BN: "~@3 [f3,bb3,d4,a4]@4 [e3,bb3,d4,g4]@3 ~@6", BO: "~@3 [g3,c4,db4,f4]@4 ~ [gb3,c4,e4,a4]@4 [gb3,c4,eb4,bb4]@4",
BP: "[e3,bb3,d4,g4]@2 ~@5 [f3,b3,eb4,bb4]@8 ~", // Em7b5 Ebsus2
BQ: "[[e3,g3,bb3,d4]@7 ~ [e3,g3,bb3,d4]@2 ~ c3 [e3,g3,bb3,d4] ~@2 [e3,bb3,eb4,ab4]@8 ~ [e3,bb3,eb4,ab4]@2 ~ gb2 [e3,bb3,eb4,ab4] ~@2 [eb3,bb3,c4,g4]@8 ~ [bb3,eb4,gb4,db5]@4 eb4 bb4 ~ db5]/3", // Em7b5 Emaj7 Cm7 Ebm7
BR: "bb2!2 ~@2 a2@3 ~ g2@3 ~ g2@4, ~@3 [d4,f4,bb4]@4 [bb3,f4,a4,d5]@8 ~", // Bb Bbmaj7
BS: "[d3,c4,f4,bb4]@2 ~ [d3,c4,f4,bb4] ~@3 [d3,c4,f4,bb4] [db3,b3,e4,bb4] ~@3 [db3,b3,e4,bb4]@2 ~ [c3,bb3,e4,g4]", // Bb Bbdim C7
BT: "~@3 [c3,bb3,e4,g4]!2 ~@3 [b2,bb3,e4,gb4] ~@7", BU: "[~ [bb2,ab3,db4,f4,c5]@9 ~@2]/3",
})).s("gm_piano").gain(0.26).pan(0.6)
// other · alto sax
const alto_sax = note(`<
~@2 A B A C ~@7 D E F G H@2 I J K@6 L@2 M N@2 O P Q R S T ~@32 U V W X Y@2 Z@2 U V W X Y@2 AA ~ AB AC@2 ~ AB AD@2 AE E
F G H@2 I J AF Q R AG AH@3
>`.pickRestart({
A: "~@4 g4@2 ~ g4 ~@3 g4!2 ~@3", B: "bb4@2 ~ g4 ~@3 a4@9", C: "bb4@2 ~ g4 ~@3 a4@4 [e4,f4] [d4,eb4] ~@3",
D: "~@4 bb4@6 ~ e4 [d4,eb4] ~@3", E: "g4 gb4", F: "f4 e4", G: "~@3 f4@5 e4 ~@7",
H: "[~@4 g4 ~@3 bb4@2 ~ bb4 ~@3 g4@17]/2", I: "ab4@3 ~", J: "~@3 g4@5 gb4@8",
K: "[~@4 d4@3 f4 g4@3 bb4 ~@3 c5@5 c5 ~@3 c5@2 ~ c5 ~@3 c5@4 [c5,db5] bb4 ~@3 c5@2 ~@2 bb4@3 g4@25 ~@3 g4 bb4@3 c5@5 c5 ~@3 c5@3 c5@5]/6", // Dbmaj7
L: "[~@3 c5 ~@3 c5 c5@2 ~ c5 ~@3 f4@13 ~@4]/2", M: "~@12 d4 ~@3",
N: "[g4@7 ~ g4@2 ~ bb4 ~@3 d5@7 c5 [a4,bb4,b4] [g4,ab4] ~@3 bb4 ~@3]/2", O: "db5@6 ~ c5@4 [c5,db5] bb4 ~@3",
P: "g4@15 ~", Q: "~@11 bb4!2 ~@3", R: "bb4@2 ~ bb4 ~@3 bb4!2 ~@3 bb4@2 ~ bb4", S: "~@3 bb4!2 ~@3 bb4@2 ~ bb4 ~@3 bb4",
T: "bb4 ~@15", U: "~@4 bb4@3 g4 a4@3 bb4 a4@3 g4", V: "bb4@3 g4 a4@3 bb4@4 [bb4,b4] g4 ~@3", W: "f4@15 ~",
X: "~@4 d4@2 ~ e4 ~@3 e4 g4 ~@3", Y: "bb4/2", Z: "[~@3 g4@5 gb4@2 ~ gb4 ~@3 f4@4 d4 ab4@3 a4@4 [a4,bb4] d4 ~@3]/2",
AA: "~@4 g4 ~@3 gb4@2 ~ gb4 ~@3 f4", AB: "~@3 c5 c5@3 c5!2 ~@3 c5@3 c5",
AC: "[c5@3 c5!2 ~@3 c5@2 ~ bb4 ~@3 g4@9 ~@8]/2",
AD: "[c5@3 c5!2 ~@3 ab4@2 ~ ab4 ~@3 g4@4 [g4,ab4] eb4 ~@3 g4@2 gb4 [e4,f4] ~@4]/2", AE: "bb4@6 ~ bb4@9",
AF: "f4 ~@15", AG: "~@3 bb4!2 ~@3 bb4 ~@7", AH: "[~ ab4@9 ~@2]/3",
})).s("gm_alto_sax").gain(0.48).pan(0.4)
// other · alto sax · soft notes
const alto_sax_soft = note("<~@5 A ~@7 B ~@17 C ~@2 D ~@57 E ~@9 D ~@5>".pickRestart({
A: "~@10 [g4,ab4] gb4 ~@4", B: "~@10 [g4,ab4,a4] [f4,gb4] ~@4", C: "~@6 db5 ~@9", D: "~@4 bb4@2 ~ bb4 ~@8",
E: "~@11 eb4 [c4,db4,d4] [a3,bb3,b3] ab3 ~",
})).s("gm_alto_sax").gain(0.24).pan(0.4)
// other · alto sax
const alto_sax_2 = note(`<
~@2 A B A C ~@7 D ~@2 E F@3 G H@6 I@2 ~@3 J K L M N O P Q R S T U V W P Q R S T U V W ~@2 U X ~@2 Y Z ~@4 AA AB AC ~@3
AD AE AF Q AG@2 ~@2 AD AE AF Q AH ~ AI AJ@2 ~ AK AL@2 AM ~@2 E F@3 G AN AO AP AQ AR@3
>`.pickRestart({
A: "~@4 d4@2 ~ d4 ~@3 d4!2 ~@3", B: "f4@2 ~ d4 ~@3 e4@9", C: "f4@2 ~ d4 ~@3 e4@4 eb4 d4 ~@3", D: "~ f4@2 ~",
E: "~@3 db4@5 c4 ~@7", F: "[~@8 f4@2 ~ f4 ~@3 e4@29 ~@4]/3", G: "~@3 eb4@13",
H: "[~@15 g4@5 g4 ~@3 g4@2 ~ g4 ~@3 g4@5 g4 ~@3 g4@2 ~@2 g4@3 d4@25 ~@3 d4 f4@3 a4@5 a4 ~@3 a4@3 a4@5]/6",
I: "[~@3 a4 ~@3 a4 a4@2 ~ a4 ~@3 c4@13 ~@4]/2", J: "bb4@6 ~ g4@4 [g4,ab4] eb4 ~@3", K: "d4@15 ~", L: "~@11 gb4!2 ~@3",
M: "f4@2 ~ f4 ~@3 f4!2 ~@3 f4@2 ~ eb4", N: "~@3 eb4!2 ~@3 eb4@2 ~ eb4 ~@3 eb4", O: "f4 ~@15", P: "~ g4 gb4@2",
Q: "f4 e4", R: "~@3 db4@5 c4@8", S: "bb3@15 ~", T: "d4 ~@11 d4 ~@3", U: "~@8 db4 ~@7", V: "c4 db4", W: "c4",
X: "db4 ~@6 db4 ~@8", Y: "~@8 c4 ~@7", Z: "c4 ~@6 e4@4 [e4,f4] d4 ~@3", AA: "d4", AB: "db4", AC: "c4 ~", AD: "db4 c4",
AE: "~@4 bb3@2 ~ d4 ~@3 d4 e4 ~@3", AF: "g4 gb4",
AG: "[~@3 eb4@5 eb4@2 ~ eb4 ~@3 d4@4 f4 d4@3 c4@4 [c4,db4] c4 ~@3]/2", AH: "~@4 eb4 ~@3 eb4@2 ~ eb4 ~@3 d4",
AI: "~@3 g4 g4@3 g4!2 ~@3 g4@3 g4", AJ: "[g4@3 g4!2 ~@3 g4@2 ~ g4 ~@3 d4@9 ~@8]/2",
AK: "~@3 a4 a4@3 a4!2 ~@3 a4@3 a4", AL: "[a4@3 a4!2 ~@3 e4@2 ~ e4 ~@3 eb4@4 [eb4,e4] c4 ~@3 eb4@2 d4 [c4,db4] ~@4]/2",
AM: "f4@6 ~ f4@9", AN: "d4 ~@15", AO: "~@7 gb4 ~@3 gb4!2 ~@3", AP: "f4@2 ~ f4 ~@3 f4 e4 ~@3 e4@2 ~ eb4",
AQ: "~@3 eb4!2 ~@3 eb4 ~@7", AR: "[~ f4@9 ~@2]/3",
})).s("gm_alto_sax").gain(0.48).pan(0.4)
// other · alto sax · soft notes
const alto_sax_soft_2 = note("<~@34 A ~@33 B ~@23 C ~@9 D ~@5>".pickRestart({
A: "~@4 gb4@2 ~ gb4 ~@8", B: "~ db4", C: "~@11 b3 [ab3,a3,bb3] [f3,gb3,g3] e3 ~", D: "~@2 g4 ~@5",
})).s("gm_alto_sax").gain(0.24).pan(0.4)
// other · tenor sax
const tenor_sax = note(`<
~@2 A B A C ~@7 D E F G H@3 I J@6 K@2 L M@2 N O P Q R S ~@32 T U E V W X Y@2 T U E V W X Z ~ AA AB@2 ~ AC AD@2 AE AF
AG AH H@3 I AI AJ AK AL AM@3
>`.pickRestart({
A: "~@4 bb3@2 ~ bb3 ~@3 bb3!2 ~@3", B: "db4@2 ~ bb3 ~@3 c4@9", C: "db4@2 ~ bb3 ~@3 c4@4 [f3,g3] [d3,eb3] ~@3",
D: "~@4 c4@6 ~ e3 [d3,eb3] ~@3", E: "g3 gb3", F: "f3 e3", G: "~@3 g3@5 gb3 ~@7",
H: "[~@4 g3 ~@3 b3@2 ~ b3 ~@3 bb3@29 ~@4]/3", I: "~@3 bb3@13",
J: "[~@4 d3@3 f3 g3@3 bb3 ~@3 eb4@5 eb4 ~@3 d4@2 ~ d4 ~@3 eb4@5 eb4 ~@3 d4@2 ~@2 d4@3 bb3@25 ~@3 bb3 d4@3 f4@5 f4 ~@3 e4@3 e4@5]/6",
K: "[~@3 f4 ~@3 f4 e4@2 ~ e4 ~@3 a3@13 ~@4]/2", L: "~@12 d3 ~@3",
M: "[g3@7 ~ g3@2 ~ bb3 ~@3 d4@7 c4 [a3,bb3,b3] [g3,ab3] ~@3 bb3 ~@3]/2", N: "f4@6 ~ e4@4 [e4,f4] c4 ~@3",
O: "bb3@15 ~", P: "~@11 c4!2 ~@3", Q: "c4@2 ~ c4 ~@3 c4 bb3 ~@3 bb3@2 ~ bb3", R: "~@3 bb3!2 ~@3 bb3@2 ~ bb3 ~@3 bb3",
S: "c4 ~@15", T: "~@4 bb3@3 g3 a3@3 bb3 a3@3 g3", U: "bb3@3 g3 a3@3 bb3@4 [bb3,b3] g3 ~@3",
V: "~@4 e3@2 ~ bb3 ~@3 bb3!2 ~@3", W: "d4 db4", X: "c4 b3",
Y: "[~@3 bb3@5 bb3@2 ~ bb3 ~@3 a3@4 f3 a3@3 a3@4 [a3,bb3] gb3 ~@3]/2", Z: "~@4 bb3 ~@3 bb3@2 ~ bb3 ~@3 c4",
AA: "~@3 eb4 eb4@3 eb4!2 ~@3 eb4@3 eb4", AB: "[d4@3 d4!2 ~@3 d4@2 ~ d4 ~@3 bb3@9 ~@8]/2",
AC: "~@3 e4 e4@3 e4!2 ~@3 e4@3 e4",
AD: "[e4@3 e4!2 ~@3 bb3@2 ~ bb3 ~@3 a3@4 [a3,bb3] a3 ~@3 a3@2 ab3 [gb3,g3] ~@4]/2", AE: "db4@6 ~ c4@9", AF: "g4 gb4",
AG: "f4 e4", AH: "~@3 g4@5 gb4 ~@7", AI: "g3 ~@15", AJ: "~@11 db4!2 ~@3", AK: "c4@2 ~ c4 ~@3 c4 b3 ~@3 b3@2 ~ bb3",
AL: "~@3 bb3!2 ~@3 bb3 ~@7", AM: "[~ db4@9 ~@2]/3",
})).s("gm_tenor_sax").gain(0.48).pan(0.4)
// other · tenor sax · soft notes
const tenor_sax_soft = note("<~@5 A ~@7 B ~@17 C ~@2 D ~@57 E ~@9 F ~@5>".pickRestart({
A: "~@10 [bb3,b3] ab3 ~@4", B: "~@10 [ab3,bb3,b3] [gb3,g3] ~@4", C: "~@6 db4 ~@9", D: "~@4 db4@2 ~ c4 ~@8",
// … 302 more lines
More by Duke Ellington
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.