0:00/0:00
// Ain't Misbehavin' — Basie
// 88 bpm, 4/4, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 71 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(88/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 · "Jazz Bass"
const bass = note(`<
A B C@2 D E@2 F@2 G H I J K L M@2 N@2 O P Q R@4 S T U V@2 W X Y Z AA AB AC@2 AD@2 AE@2 AF@2 AG AH AI AJ AK AL AM AN AO
AP AQ AR AS@2 AT AU AV AW AX AY@4 AZ@3
>`.pickRestart({
A: "c2@23 ~", B: "ab2@23 ~", C: "[~@4 f1@4 f1@4 f1@6 f1@4 f2@8 f2@5 ~ bb1@6 bb1@6]/2",
D: "eb3 bb2 eb2 f2@2 eb2 e2@2 e1 gb2@3", E: "[f2@4 f1@2 b1@6 bb1@5 ~ bb1@4 eb2@7 ~ ab2@6 g2@4 g1@2 a2@6]/2",
F: "[ab2@5 ~@5 d2@2 db2@5 ~ db2@4 eb2@6 eb1@2 eb2@6 c2@6 e2@4 c2@2, ~ ab2 ~@6]/2",
G: "f2@2 f1 f2@3 bb2 f2 bb1 ab2@2 gb2", H: "g2@5 ~ db2@4 ~@2 c2@5 ~@5 gb2@2, ~@3 c2",
I: "f2@4 f1@2 f2@6 bb1@5 ~ bb1@6", J: "eb2@5 ~ eb2@6 e2@5 ~ e2@6", K: "f2@5 ~ f2@6 gb2@5 ~ gb2@6",
L: "g2@3 bb2@2 g2 bb1@2 ~ a1@2 ~", M: "[ab2@5 ~ ab2@6 db2@5 ~ db2@4 eb2@8 g2@4 eb2@2 c2@4 c1@2 c2@6]/2",
N: "[f2@5 ~@5 b1@2 bb1@4 bb0@2 e2@4 eb2@6 ~@2 eb2@3 ~@3 db2@5 ~ db2@3 ~@3, ~ f2 ~@6]/2",
O: "eb2@5 ~ eb2@3 ~@3 g2@4 g1@2 db2@6", P: "c2@3 ~ c1 ~ d2@5 ~ eb2@6 g2@4 c2@2", Q: "ab2@3 eb3@3 ab3@3 eb3@2 db2",
R: "[c2@6 d2@5 ~ eb2@6 g2@4 c2@6 c1@2 c2@4 c2@5 ~ bb1@5 ~ bb1@6 ~@2 bb1@4 ~@2 b1@6 db2@4 c2@6 ~@2 c2@3 ~@3 f2@4 ~@2 f2@5 ~]/4",
S: "bb1@4 ~@2 b1@4 ~@2 c2@5 ~ c2@6", T: "f2@4 b1@7 ~ bb1@5 ~@5 e2@2, ~@3 bb1", U: "eb2@2 eb1 eb2@3 e2@3 g2@2 e2",
V: "[f3@2 c3@2 f2@2 b1@4 a1@2 bb1@4 bb0@2 b1@4 bb1@6 ~@2 bb1@3 ~@3 a1@4 ab2@7 ~]/2",
W: "ab2@5 ~@5 d2@2 db2@4 db1@2 e2@6, ~ ab2 ~@2", X: "bb1@3 ~ c2@2", Y: "f1 bb1", Z: "eb2@5 ~ eb2@6 c2@4 c1@2 c2@6",
AA: "f2@5 ~ bb1@4 e2@6 e1@2 e2@6", AB: "eb2@5 ~ eb2@5 ~ e2@6 gb2@6",
AC: "[f2@6 b1@4 bb1@6 ~@2 bb1@3 ~ eb2@7 ~ eb2@6 g2@4 g1@2 g2@6]/2",
AD: "[ab2@4 ab1@2 d2@6 db2@5 ~ db2@4 eb2@6 eb1@2 eb2@6 c2@5 ~ c2@6]/2",
AE: "[f2@4 f1@2 b1@6 bb1@5 ~ bb1@4 g2@6 ~@2 g2@3 ~@3 c2@6 gb2@6]/2",
AF: "[f2@5 ~ f2@6 bb1@6 e2@4 eb2@6 ~@2 eb2@3 ~@3 e2@5 ~@5 gb2@2, ~@7 e2]/2", AG: "f2@5 ~ f2@6 gb2@4 gb1@2 gb2@6",
AH: "g2@4 g1@2 g2@6 bb1@5 ~ a1@5 ~", AI: "ab3 eb3 ab2 d2@2 c2 db2@2 db1 db2@3",
AJ: "eb2@5 ~ eb2@6 c2@5 ~@5 gb2@2, ~@3 c2", AK: "f2@2 f1 b1@3 bb1@3 e2@3", AL: "eb2@2 eb1 gb2@3 f3 c3 f2 g2@2 f2",
AM: "gb2@5 ~ gb2@4 g2@2 ~@4 g1@7 ~", AN: "c2 ~@11", AO: "ab2 ~@11", AP: "f2 ~@11",
AQ: "~@10 d2@2 eb2@4 eb2@5 ~ bb1@2", AR: "~@2 bb1@4 b1@3 d2@2 b1",
AS: "[c2@4 c1@2 c2@6 f2@4 f2@2 ~@4 bb1@7 ~ b1@6 c2@4 c1@2 c2@6]/2", AT: "f2@5 ~ b1@5 ~ bb1@5 ~ bb1@4 ~@2",
AU: "eb2@5 ~ eb2@5 ~ c2@4 c1@2 c2@6", AV: "f2@4 f1@2 b1@6 bb1@5 ~ bb1@6",
AW: "bb2@2 f2@2 bb1@2 e2@4 d2@2 eb2@4 eb1 ~ a1@4 a0 ~", AX: "ab2@2 ab2@3 db2@3 db2@2 db2@2",
AY: "[~ bb1@13 ~@4 c2@9 f1@13 bb1@13 ~ bb2@11 bb2@2 bb1@11 bb1@2 bb1@13 ab1@3]/4",
AZ: "[~@2 a1@4 bb1@4 ~ eb2@56 ~@5]/3",
})).s("gm_acoustic_bass").gain(0.31).pan(0.4)
// bass · acoustic bass · "Jazz Bass" · soft notes
const bass_soft = note("<~@10 A ~@3 B ~@3 C D ~@4 E F G ~@3 H ~@6 I ~@4 J ~ D ~@10 K ~@3 L ~@11>".pickRestart({
A: "~@10 db1 ~@13", B: "~@16 bb0 ~@5 a0 ~", C: "~@5 eb1@2 ~@10 db1@2 ~@5", D: "~@5 eb1@2 ~@17",
E: "~@4 bb0 ~@5 bb0 ~@13", F: "~@5 c1@2 ~@9 f1 ~@7", G: "~@4 bb0 ~@5 b0 ~@13", H: "~@5 bb0@2 ~@17",
I: "~@17 bb0@2 ~@5", J: "~@5 g1@2 ~@17", K: "~@2 c2 d2@2 ~@7", L: "~@22 bb0 ~",
})).s("gm_acoustic_bass").gain(0.22).pan(0.4)
// chords · piano
const piano = note(`<
A B C D E@4 F@3 G H I J K@7 L M N O@2 P Q R@2 S T U V W X Y Z@2 AA@2 AB AC AD AE@2 AF@2 AG AH AI AJ AK AL AM AN AO@2
AP@3 AQ AR AS@2 AT@2 AU@3
>`.pickRestart({
A: "[bb3,eb4,g4,d5]@23 ~", B: "[c4,gb4,bb4,f5]@23 ~", C: "[eb4,eb5,eb6]", D: "~@8 bb5 bb4@3",
E: "[~@4 [g3,bb3,c4,eb4]@5 ~ [g3,db4,e4,bb4]@4 ~@8 [ab3,eb4,f4,c5]@11 ~ [ab3,d4,g4,c5]@11 ~ [g3,bb3,c4,f4]@12 ~@2 [f3,b3,eb4,g4]@6 b3@2 ~@2 [c4,eb4,ab4]@11 ~@3 [f3,b3,eb4,bb4]@3 ~@9]/4", // Cm7 Gdim Fm7 Abmaj7 Gm7 Ebaug Ab Ebsus2
F: "[~@4 [g3,eb4,bb4]@5 ~@7 [e3,bb3,db4,g4]@5 ~ [eb3,f3,ab3,c4]@11 ~ [ab3,d4,g4,c5]@7 ~ d4@2 ~@2 [f3,b3,e4,a4]@8 [f3,b3,eb4,bb4]@4 [e3,a3,bb3,d4]@7 ~ bb3@2 e4@2 g4 ~]/3", // Eb Edim Fm7 Abmaj7 Fmaj7 Ebsus2 Dsus2
G: "[eb3,a3,d4,g4]@10 ~@6 [ab3,d4,gb4,b4]@5 ~@3", // Ebmaj7 Abm7b5
H: "~@5 eb2 ~@5 e2, eb2@5 ~ e2@5 ~, ~ [g3,bb3,c4]@2 ~ [g3,bb3,db4]@2", // C7 Gdim
I: "~@5 f2 ~@2 [eb3,bb3,c4]@4, f2@5 ~ gb2@6, ~ [eb3,ab3,c4]@2 ~@3", // Cm7 Ab
J: "[bb3,f4,a4,d5]@3 ~@7 [ab3,db4,f4,c5]@8 [g3,db4,gb4,b4]@4 ~@2", // Bbmaj7 Dbmaj7 Gmaj7
K: "[~@4 [f3,c4,eb4,ab4]@5 ~@3 [f3,b3,eb4,bb4]@10 [g3,eb4,bb4]@7 ~ eb4@2 g4@2 bb4 ~ [e3,bb3,db4,g4]@6 bb3@2 ~@2 [eb3,f3,ab3,c4]@4 ~@10 [ab3,c4,d4,g4]@10 [g3,bb3,c4,f4]@11 ~@3 [f3,b3,eb4,ab4]@3 ~@7 [g3,bb3,c4,eb4]@4 ~@10 [f3,b3,eb4,ab4]@3 ~@7 [eb3,g3,bb3,d4]@21 ~@3 [gb3,bb3,c4,eb4]@11 ~ [gb3,bb3,c4,eb4]@2 ~@12]/7", // Fm7 Ebsus2 Eb Edim Fm7 Abmaj7 Gm7 Fm7b5 …
L: "[bb3,eb4,g4,c5]@9 ~ [bb3,eb4,g4,c5]@2 ~@12", // Cm7
M: "[bb3,d4,e4,g4]@6 bb3@2 e4@2 g4 ~ [bb3,c4,e4,g4]@4 [d4,a4,c5,f5]@8", // Em7b5 C7 Dm7
N: "[d4,f4,a4,c5]@3 [d4,a4,c5,f5]@3 [d4,ab4,b4,f5]@5 ~", // Dm7 Ddim
O: "[[bb3,eb4,g4,c5]@10 [a3,b3,eb4,g4,d5]@5 ~ [a3,eb4,gb4,db5]@5 ~ [ab3,d4,f4,c5]@8 [a3,eb4,ab4,db5]@6 [bb3,d4,e4,a4]@6 bb3@2 e4@2 g4 ~]/2", // Cm7 G Ebm7b5 Dm7b5 Amaj7 Bbmaj7
P: "[a3,eb4,g4,c5]@3 [a3,db4,eb4,ab4]@3 [ab3,d4,g4,c5]@5 ~", Q: "~@4 [g3,eb4,bb4]@5 ~ [g3,db4,e4,bb4]@7 ~ g3@2 ~@4",
R: "[~@4 [ab3,eb4,g4,c5]@5 ~ [ab3,d4,gb4,c5]@11 ~ [ab3,bb3,db4,f4]@4 ~@8 [g3,db4,gb4,b4]@5 ~ [g3,c4,eb4,bb4]@8]/2", // Abmaj7 Ab7 Bbm7 Gmaj7 Cm7
S: "[g3,c4,eb4,bb4]@6 c4@2 g4@2 bb4 ~ [f3,b3,eb4,bb4]@3 ~@9", // Cm7 Ebsus2
T: "~@4 [eb3,eb4]@2 [f3,f4]@4 [eb3,eb4]@2 [bb3,bb4]@3 [a3,a4] [bb3,bb4]@8", // Eb F Eb Bb A Bb
U: "~@4 [f3,f4]@2 [g3,g4]@4 [f3,f4] [b3,b4] [c4,c5]@3 [b3,b4] [c4,c5]@4 [bb3,bb4]@4", // F G F B C B C Bb
V: "[g3,bb3,c4,f4]@6 c4@2 g4@2 bb4 ~ [e3,bb3,db4,ab4]@10 ~@2", // Gm7 Bbm7b5
W: "[eb3,a3,d4,g4]@6 [eb3,a3,d4,g4,b4]@4 [ab3,d4,f4,c5]@11 ~@3", // Ebmaj7 G Dm7b5
X: "[g3,c4,f4,bb4]@6 c4@2 ~@2 [g3,db4,e4,bb4]@11 ~@3", Y: "[ab3,eb4,g4,c5]@10 [ab3,d4,g4,c5]@11 ~@3",
Z: "[[g3,eb4,bb4]@10 [f3,g3,b3,eb4]@11 ~ [g3,c4,eb4,bb4]@4 ~@10 [f3,b3,eb4,bb4]@6 b3@2 f4@2 ab4 ~]/2", // Eb Ebaug Cm7 Ebsus2
AA: "[[g3,eb4,bb4]@10 [bb3,e4,ab4,db5]@11 ~ [ab3,c4,eb4,g4]@4 ~@14 [ab3,c4,d4,g4]@5 ~@3]/2", // Eb Bbm7b5 Abmaj7
AB: "[f3,ab3,b3,eb4]@5 [e3,bb3,d4,a4]@6 ~", AC: "~@4 [eb3,g3,a3,db4]@5 ~@3 [ab3,c4,d4,g4]@3 ~@9",
AD: "[g3,eb4,bb4]@6 eb4@2 g4@2 bb4 ~ [g3,db4,e4,bb4]@10 ~@2", // Eb Gdim
AE: "[[ab3,c4,eb4,f4]@10 [a3,c4,eb4,gb4]@11 ~ [bb3,f4,g4,d5]@11 ~@3 [db4,ab4,bb4,f5]@4 [db4,gb4,g4,b4]@8]/2", // Fm7 Adim Gm7 Bbm7 Gbsus4
AF: "[[c4,g4,bb4,eb5]@3 ~@13 [b3,eb4,f4,bb4]@5 ~ [g4,bb4,eb5]@4 ~@8 [bb3,e4,ab4,db5]@11 ~@3]/2", // Cm7 Bmaj7 Eb Bbm7b5
AG: "~@4 [ab3,eb4,g4,c5]@5 ~@3 [ab3,d4,g4,c5]@3 ~@9", AH: "~@4 [g3,eb4,bb4]@5 ~@7 [eb3,ab3,c4,g4]@5 ~@3",
AI: "[eb3,gb3,a3,c4]@4 [g3,eb4,bb4]@5 ~ [f3,b3,eb4,g4]@11 ~@3", AJ: "[eb3,g3,bb3,d4] ~@11",
AK: "[gb3,bb3,c4,f4] ~@11", AL: "[a3,eb4,g4,d5] ~@11",
AM: "~@2 [c2,c3,g3,bb3,e4] [d2,d3,g3,bb3,f4]@2 [d2,d3,g3,bb3,f4] [eb2,c4,gb4,a4,eb5]@3 [eb2,bb3,c4,e4,g4]@2 ~", // C7 Gm7 Ebdim C7
AN: "~@4 [d4,f4,a4,c5]@5 ~ [d4,f4,ab4,b4]@4 ~@10", // Dm7 Ddim
AO: "[c2@5 ~ c2@6 f2@4 f2@2 ~@4 bb1@7 ~ [a3,eb4,ab4,db5]@6 ~@4 [bb3,d4,e4,a4]@5 ~@3]/2", // Amaj7 Bbmaj7
AP: "[[a3,b3,d4,eb4,g4]@6 [a3,b3,eb4,gb4]@6 [ab3,d4,g4,c5]@6 [ab3,d4,g4,c5]@4 [g3,c4,f4,bb4]@7 ~ c4@2 g4@2 bb4 ~ [e3,bb3,db4,ab4]@3 ~@7 [eb3,ab3,c4,g4]@4 ~@10 [ab3,c4,d4,g4]@3 ~@9]/3", // G B7 Abmaj7 Gm7 Bbm7b5 Abmaj7
AQ: "[ab3,db4,f4,c5] ~@3 [g3,db4,f4,c5]@2 [g3,db4,gb4,b4]@2", // Dbmaj7 Csus4 Gmaj7
AR: "[f3,c4,eb4,ab4]@2 [f3,b3,eb4,a4]@3 [db3,ab3,b3,eb4,g4]@3 [db3,ab3,b3,eb4,gb4]@2 [db3,ab3,b3,eb4,f4]@2", // Fm7 F7 Abm Abm7 Db7
AS: "[~@5 [eb3,eb4]@2 [f3,f4]@4 ~ [eb3,eb4]@2 [bb3,bb4]@3 ~ [bb3,bb4]@8 ~@6 [f3,f4]@2 [g3,g4]@4 [f3,f4] ~ [c4,c5]@3 ~ [b3,b4] [c4,c5]@3, ~@18 [a3,a4] ~@21 [b3,b4] ~@7]/2", // Eb F Eb Bb F G F C …
AT: "[~ [bb3,bb4]@4 ~ [eb3,eb4]@12 ~@12 bb2@2 [bb1,eb3,ab3,c4,ab4,c5]@13 [ab2,gb3,c4,f4,c5]@3, ~@19 bb2@11 ~@18, ~@23 [e3,db4]@9 ~@16]/2", // Bb Eb Ab Fm Dbm
AU: "[~@2 [a2,g3,db4,gb4,c5]@4 [bb2,ab3,d4,g4,c5]@4 ~ [eb2,bb2,g3,c4,f4,a4,c5]@56 ~@5]/3", // Gbm Gm Cm7
})).s("gm_piano").gain(0.26).pan(0.6)
// other · alto sax
const alto_sax = note(`<
A B C@2 ~@4 D E@2 F ~@2 G@2 D H I D A ~ J@3 K@2 L ~@7 M N ~@13 O P Q R S@2 T U V W@2 X Y@2 ~@2 Z@2 ~@3
>`.pickRestart({
A: "eb4", B: "f4", C: "[~@4 eb4@4 c4@4 eb4@3 ~@3 c4@4 ab3@26]/2", D: "~ gb4",
E: "[~@4 c4@2 c4@4 c4@2 g4@4 g4@2 g4@4 eb4@6 [e4,f4,gb4] [g4,ab4] bb4@4 g4@14, ~@30 a4 ~@17]/2", // Abmaj7
F: "~ a3 c4 a3 c4 a3 b3@2 d4@4", G: "[bb3@12 db4@3 ~@3 db4@4 c4@12 b3@14]/2", H: "~@2 c4 c4@2 c4 g4@2 g4@2 g4@2",
I: "bb4 ~", J: "[eb4@11 e4@12 d4@6 ~@7]/3", K: "[d5@3 ~@3 c5@4 d5@2 g4@4 gb4@2 ~@4 f4@8 gb4@4 g4@11 [f4,gb4] ~@2]/2",
L: "~@2 a3 ~@9", M: "~@12 d4@4 g4@7 ~", N: "f4 ~@11", O: "~ bb3@2 ~ c4@2", P: "~@4 c4@2 a3@4 c4@2 ~@4 f4@7 ~",
Q: "~@2 bb4 bb4@2 g4 bb4@2 g4@4", R: "~@2 bb4 bb4@2 gb4 bb4@2 gb4@4",
S: "[~@2 a4@2 g4@2 a4@2 g4@2 a4@2 g4@4 a4@2 g4@4 c5@5 [a4,bb4] [gb4,g4,ab4] [e4,f4] d4@4 d4@2 eb4@4 e4@8, ~@30 eb4 ~@17]/2", // Bbmaj7 Fmaj7
T: "~@2 d4@4 d4@5 d4", U: "eb4@2 eb4 eb4@2 eb4 eb4@2 eb4 ~@3", V: "~@2 f4 gb4@2 g4@7", W: "[~@11 bb4@7 ab4@6]/2",
X: "g4@10 gb4@9 ~@5", Y: "[~@2 f4 f4@2 f4 bb4@2 bb4 b4@2 c5@3 ab4 f4@2 eb4@3 eb4@2 eb4@2]/2",
Z: "[~@6 f4@13 e4@13 ~@16]/2",
})).s("gm_alto_sax").gain(0.48).pan(0.4)
// other · alto sax · soft notes · Emaj7 Dmaj7 Fmaj7 Ebmaj7 Dbmaj7 Bmaj7
const alto_sax_soft = note(`<
~@26
[~@22 [eb4,e4] [db4,d4]]
~@28
[~@3 b4 ~@20]
~@5
[~@18 [e4,f4] [d4,eb4] [c4,db4] [bb3,b3] a3 ~]
~@9
>`).s("gm_alto_sax").gain(0.24).pan(0.4)
// other · tenor sax
const tenor_sax = note(`<
A B C@2 D E F G H I@2 J ~@2 K@2 H L M N A ~ O@3 P@2 Q@2 E R S ~@2 T@2 ~@16 U V W@2 X Y Z AA@2 AB AC@2 ~@2 AD@5
>`.pickRestart({
A: "bb3", B: "c4", C: "[~@4 a3@4 a3@4 a3@3 ~@3 a3@4 eb3@14 d3@12]/2", D: "~@2 eb3 f3@2 eb3 bb3@6",
E: "f3@2 g3 f3@2 c4@7", F: "~@2 bb3 c4@2 bb3 eb4@5 d4", G: "f4@4 eb4@2 c4@4 g3@3 ~@3 gb3@2 f3@3 ~@3",
H: "~@3 eb3 f3 eb3 db4@6",
I: "[~@4 ab3@2 ab3@4 ab3@2 d4@4 d4@2 d4@4 b3@6 [c4,db4] [d4,eb4] f4@4 e4@14, ~@30 e4 ~@17]/2", // Dbmaj7 Ebmaj7
J: "~ g3 a3 g3 a3 g3 ab3@2 b3@4", K: "[f3@12 ab3@3 ~@3 g3@4 gb3@12 gb3@14]/2", L: "~@2 ab3 ab3@2 ab3 d4@2 d4@2 d4@2",
M: "f4@6 ~ g4 bb4 ab4 eb4 gb4", N: "f4 eb4 f4@2 c4 eb4 eb4@6", O: "[bb3@11 bb3@12 c4@6 ~@2 f3 g3 ab3 b3 d4]/3",
P: "[g4@3 ~@3 g4@4 g4@2 eb4@4 eb4@2 ~@4 d4@8 eb4@4 e4@11 [d4,eb4] ~@2]/2", // Ebmaj7
Q: "[~@2 eb3 ~@5 bb2 c3@2 eb3@4 f3@2 eb3 bb3@6]/2", R: "~@2 bb3 c4@2 bb3 eb4@6",
S: "~@4 f4@2 eb4@2 c4@2 eb3@2 g3@4 gb3@2 f3@3 ~@3", T: "[~@3 b4 c5 b4 c5@4 bb4@2 c5@24 ~@12]/2",
U: "~@2 g4 g4@2 eb4 g4@2 eb4@4", V: "~@2 gb4 gb4@2 eb4 gb4@2 eb4@4",
W: "[~@2 gb4@2 eb4@2 gb4@2 eb4@2 gb4@2 eb4@4 gb4@2 eb4@4 g4@5 [f4,gb4] [d4,eb4,e4] [c4,db4] bb3@4 bb3@2 a3@4 bb3@8, ~@30 b3 ~@17]/2", // Gbmaj7 Dbmaj7
X: "~@2 c4@4 b3@5 b3", Y: "bb3@2 bb3 bb3@2 bb3 a3@2 a3 ~@3", Z: "~@2 d4 eb4@2 e4@7",
AA: "[~@4 f3@2 gb3@4 g3@3 ~@3 bb3@2 c4@4 f4@14 eb4@12]/2", AB: "eb4@10 d4@9 ~@5",
AC: "[~@2 db4 db4@2 db4 g4@2 g4 g4@2 ab4@3 f4 eb4@2 b3@3 b3@2 b3@2]/2",
AD: "[~@6 c4@13 db4@13 c4@13 c4@5 db4@4 d4@5 ~@7 bb3@5 a3@9 g3@3 ~@2 bb2@31 ~@4, ~@42 b2 ~@17]/5",
})).s("gm_tenor_sax").gain(0.48).pan(0.4)
// other · tenor sax · soft notes · Dbmaj7 Bmaj7 Dbmaj7 Bmaj7 Amaj7 Gmaj7 Ebsus2
const tenor_sax_soft = note(`<
~@26
[~@22 [c4,db4] [bb3,b3]]
~@34
[~@18 [c4,db4] [bb3,b3] [ab3,a3] [gb3,g3] f3 ~]
~@7
[~@6 db3 ~@5, ~@11 [eb3,f3]@2 ~@11]
~
>`).s("gm_tenor_sax").gain(0.24).pan(0.4)
// other · tenor sax
const tenor_sax_2 = note(`<
A B C@2 ~@4 D E@2 F ~@2 G@2 H I J K L ~ M@3 N@2 O ~@7 P Q ~@5 R S ~@6 T U V@2 W@2 X Y Z AA@2 AB AC@2 ~@2 AD@3 ~@2
>`.pickRestart({
A: "g3", B: "gb3", C: "[~@4 c4@4 g3@4 c4@3 ~@3 g3@4 g3@26]/2", D: "~ bb3",
E: "[~@4 f3@2 g3@4 f3@2 c4@4 b3@2 c4@4 g3@5 ab3 [a3,bb3,b3] [c4,db4] eb4@4 d4@14, ~@30 d4 ~@17]/2", // Dbmaj7
F: "~ eb3 f3 eb3 f3 eb3 e3@2 ab3@4", G: "[d3@12 f3@3 ~@3 e3@4 eb3@12 ab2@14]/2", H: "~ c4",
I: "~@2 g3 a3@2 g3 d4@2 d4@2 d4@2", J: "d4 ~", K: "~ db4", L: "a3", M: "[g3@11 g3@12 a3@6 ~@7]/3",
N: "[eb4@3 ~@3 eb4@4 eb4@2 d4@4 c4@2 ~@4 c4@8 db4@4 d4@11 [c4,db4] ~@2]/2", O: "~@2 g3 ~@9", P: "~@12 ab3@4 ab3@7 ~",
Q: "g3 ~@11", R: "f4 e4", S: "eb4 d4", T: "~ g3@2 ~ ab3@2", U: "~@4 a3@2 gb3@4 bb3@2 ~@4 b3@7 ~",
V: "~@2 eb4 eb4@2 c4 eb4@2 c4@4",
W: "[~@2 eb4@2 c4@2 eb4@2 c4@2 eb4@2 c4@4 eb4@2 c4@4 d4@5 [c4,db4] [a3,bb3,b3] [g3,ab3] f3@4 f3@2 gb3@4 g3@8, ~@30 gb3 ~@17]/2", // Dbmaj7 Abmaj7
X: "~@2 f3@4 f3@5 f3", Y: "g3@2 g3 g3@2 g3 d4@2 c4 ~@3", Z: "~@2 c4 db4@2 d4@7", AA: "[~@11 c4@7 bb3@6]/2",
AB: "ab3@10 ab3@8 g3 ~@5", AC: "[~@2 bb3 c4@2 bb3 eb4@2 eb4 e4@2 f4@3 eb4 c4@2 g3@3 g3@2 g3@2]/2",
AD: "[~@6 g3@26 ab3@13 gb3@5 g3@4 ab3@5 ~@13]/3",
})).s("gm_tenor_sax").gain(0.48).pan(0.4)
// other · tenor sax · soft notes · Bmaj7 Amaj7 Fmaj7 Ebmaj7 Dbmaj7
const tenor_sax_soft_2 = note("<~@26 [~@22 [bb3,b3] [ab3,a3]] ~@34 [~@18 gb3 [e3,f3] [d3,eb3] [c3,db3] b2 ~] ~@9>")
.s("gm_tenor_sax").gain(0.24).pan(0.4)
// other · baritone sax · "Bari Sax"
const baritone_sax = note(`<
A B C@2 D E F G H I@2 J K L M@2 H N O P A ~ Q@3 R@2 S@2 E T U V W X Y Z ~@5 AA W ~@6 AB AC AD AE AF@2 AG AH AI AJ@2 AK
AL@2 AM@7
>`.pickRestart({
A: "c3", B: "ab2", C: "[~@4 f2@4 f2@4 f2@3 ~@3 f2@4 f2@14 bb2@12]/2", D: "~@2 eb3 f3@2 eb3 bb3@6",
E: "f3@2 g3 f3@2 c4@7", F: "~@2 bb3 c4@2 bb3 eb4@5 d4", G: "f4@4 eb4@2 c4@4 g3@3 ~@3 gb3@2 f3@3 ~@3",
H: "~@3 eb3 f3 eb3 e3@6", I: "[~@4 eb3@2 eb3@4 eb3@2 ab3@4 ab3@2 ab3@4 g3@7 [ab3,a3] b3@4 bb3@14, ~@30 bb3 ~@17]/2",
J: "~ c3 eb3 c3 eb3 c3 d3@2 g3@4", K: "eb2@5 eb2 e2@5 e2", L: "f2@5 f2 gb2@6",
M: "[g2@12 bb2@3 ~@3 a2@4 ab2@12 db2@14]/2", N: "~@2 eb3 eb3@2 eb3 ab3@2 ab3@2 ab3@2", O: "g3 db2",
P: "eb2@12 g2@10 [ab2,a2] [bb2,b2]", Q: "[c3@11 c3@12 bb2@6 ~@2 f3 g3 ab3 b3 d4]/3",
R: "[bb3@3 ~@3 bb3@4 bb3@2 a3@4 a3@2 ~@4 ab3@8 a3@4 bb3@11 [ab3,a3] ~@2]/2", // Amaj7
S: "[~@2 f2 ~@5 bb2 c3@2 eb3@4 f3@2 eb3 bb3@6]/2", T: "~@2 bb3 c4@2 bb3 eb4@6",
U: "~@4 f4@2 eb4@2 c4@2 eb3@2 g3@4 gb3@2 f3@3 ~@3", V: "bb2@3 ~ c3@2", W: "f2 bb2", X: "eb2@5 eb2 c2@5 c2",
Y: "f2@10 f2@2 bb2@4 e2@7 ~", Z: "eb2 ~@11", AA: "g2 c2", AB: "eb2@5 eb2 f2@5 f2",
AC: "gb2@5 ~ gb2@4 g2@2 ~@4 g2@7 ~", AD: "~@2 c4 c4@2 bb3 c4@2 bb3@4", AE: "~@2 c4 c4@2 ab3 c4@2 ab3@4",
AF: "[~@2 c4@2 a3@2 c4@2 a3@2 c4@2 a3@4 c4@2 a3@4 bb3@5 a3 [gb3,g3,ab3] [e3,f3] d3@4 d3@2 eb3@4 e3@8, ~@30 eb3 ~@17]/2", // Fmaj7
AG: "~@2 bb2@4 b2@5 b2", AH: "c3@2 c3 c3@2 c3 f2@2 f2 ~@3", AI: "~@2 ab3 a3@2 bb3@7",
AJ: "[~@4 f3@2 gb3@4 g3@3 ~@3 bb3@2 c4@4 g3@14 e3@12]/2", AK: "eb3@10 bb2@8 a2 ~@5",
AL: "[~@2 ab3 ab3@2 ab3 db4@2 db4 db4@2 eb4@3 c4 ab3@2 g3@3 gb3@2 f3@2]/2",
AM: "[~ bb2@13 ~@4 c3@9 f2@13 bb2@13 ~ bb2@39 ab2@5 a2@4 bb2@5 ~@7 bb3@5 a3@9 g3@3 ~@2 bb2@31 ~@4]/7",
})).s("gm_baritone_sax").gain(0.48).pan(0.4)
// other · baritone sax · "Bari Sax" · soft notes · Gmaj7 Fmaj7 Gmaj7 Fmaj7 Ebmaj7 Bsus2 Ebsus2
// … 296 more lines
More by Basie
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.