0:00/0:00
// Witchcraft — Frank Sinatra
// 120 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 91 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. 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.
// bass · acoustic bass · "Jazz Bass"
const bass = note(`<
~@2 A B C D E F G D H I J K L M N O P Q R S T U V W H X Y Z H AA AB AC AD AE AF AG L AH AI AJ H AK AL AM AN AO AP AQ Y
AR R AS AT AU AV AW H O AX AY AZ BA BB BC BD BE BF BG BH BI BJ@2 BK BL BM BN@2 BO BP@3 BQ BR BS@6
>`.pickRestart({
A: "c2@3 ~@2 c1 ab2@5 ~ db2@6 ab2@4 db2@2", B: "db2@6 b1@6 bb1@6 db2@5 ~", C: "c2@3 g1@2 c2 b1@3 gb2@2 b1",
D: "b1@5 ~ b1@4 ~@2 bb1@6 f2@4 bb1@2", E: "eb2@6 bb1@4 eb2@2 db2@2 eb3 ~ e3 ~ [f3,b3]@4 ~@2",
F: "db2@4 db1 ~ f2@6 gb2@5 ~ db2@3 ~@3", G: "c2@5 ~ c2@4 ~@2 b1@6 gb2@4 b1@2", H: "eb2@6 f2@6 g2@5 ~ e2@4 ~@2",
I: "eb2@5 ~ eb2@4 ~@2 eb2@3 ~@2 eb1 eb2@5 ~", J: "a3@5 ~ a3@5 ~ ab3@4 gb1 ~ g3@5 ~",
K: "gb3@2 c3 ~ a2 ~ ab2@6 gb2@6 gb2@5 ~", L: "f2@4 f1 ~ ab2@6 bb2@5 ~ f2@3 ~@3",
M: "bb1@3 ~@2 f2@7 c2@4 f2@2 bb1@5 ~", N: "eb2@3 ~ eb2@5 ~@2 eb1 eb2@5 ~ eb2@4 ~@2",
O: "eb2@4 eb1 ~ g2@6 ab2@5 ~ eb2@3 ~@3", P: "c4@5 ~ b3@5 ~ bb3@4 ab1 ~ a3@5 ~",
Q: "ab3@2 eb3 ~ c3 ~ bb2@6 ab2@6 d2@5 ~", R: "db2@6 b1@6 bb1@6 a2@5 ~", S: "ab2@3 ~ db2@7 ~ db2@4 ~@2 db2@5 ~",
T: "gb2@6 ab2@6 bb2@5 ~ gb2@4 ~@2", U: "f2@5 ~ f2@4 ~@2 f2@3 ~@2 f1 bb1@5 ~", V: "bb1@4 bb0 ~ eb2@5 ~ e2@5 ~ f2@5 ~",
W: "gb2@3 ~ db2 ~ bb1@6 ~ bb1@5 e2@4 ~@2", X: "eb2@5 ~ eb2@4 ~@2 eb2@5 ~ eb2@4 ~@2",
Y: "~@6 c3@4 ab1 ~ eb3@5 ~ ab3@4 ~@2, ab2@5 ~@7", Z: "ab2@6 gb2@6 f2@6 e2@5 ~",
AA: "eb2@5 ~ d2@5 ~ c2@3 ~@2 c1 bb1@3 ~@2 bb0", AB: "a1@6 d2@6 eb2@5 ~ eb2@4 ~@2",
AC: "d2@5 ~ d2@4 ~@2 d2@5 ~ d2@3 ~@2 d1", AD: "g2@6 f2@6 e2@6 e2@5 ~", AE: "g2@6 g2@4 g1 ~ bb2@5 ~ g3@4 ~@2",
AF: "~@6 bb2@4 g1 ~ d3@5 ~ g3@4 ~@2, g2@5 ~@7", AG: "g2@6 g2@4 g2@2 g2@5 ~ g2@5 ~",
AH: "f2@6 f2@4 f2@2 f2@5 ~ f2@4 ~@2", AI: "bb1@6 d2@6 eb2@5 ~ e2@6", AJ: "f2@3 a2@3 bb2@3 bb1@2 ~",
AK: "eb2@6 bb2@4 eb2@2 eb2@3 ~@2 eb1 eb2@5 ~", AL: "gb3@5 ~ c3@5 gb2 d3@5 gb2 a2@5 ~",
AM: "c3@3 ~ ab2 ~ f2@5 ~ gb2@4 ~ c2 gb2@5 ~", AN: "f2@5 ~ f2@4 ~@2 f2@5 ~ b1@3 ~@2 b0",
AO: "b1@3 ~ bb1@5 ~@2 bb0 eb2@6 eb2@4 ~@2", AP: "~ bb1@3", AQ: "~@8 bb2 eb2@3",
AR: "ab2@6 eb2@4 ab2@2 ab2@5 ~ ab2@3 ~@2 ab1", AS: "db2@6 db2@4 db2@2 db2@5 ~ db2@3 ~@2 db1",
AT: "gb2@6 db2@4 gb2@2 gb2@5 ~ gb2@3 ~@2 gb1", AU: "f2@3 ~@2 f1 b1@5 ~ b1@6 gb1@4 b1@2",
AV: "bb1@5 ~ bb1@5 ~ bb1@3 ~@2 bb0 bb1@5 ~", AW: "~@6 d2@4 bb0 ~ f2@5 ~ bb2@4 ~@2, bb1@5 ~@7",
AX: "ab2@6 bb2@6 c3@5 ~ a2@4 ~@2", AY: "ab2@5 ~ ab2@4 ~@2 ab2@2 bb3 ~ b3 ~ [c4,gb4]@4 ~@2",
AZ: "eb2@6 d2@6 c2@6 e2@5 ~", BA: "eb2@3 bb2@2 eb2 eb2@3 bb1@2 eb2", BB: "a1@6 bb1@6 c2@5 ~ eb2@4 ~@2",
BC: "d2@6 a2@4 d2@2 d2@3 ~@2 d1 ab2@3 ~@2 ab1", BD: "g2@6 bb2@5 g2 c3@5 ~ db3@5 ~",
BE: "d3@5 g2 gb3@5 g2 g3@2 ~@2 d3 ~@2 g2@3 ~@2", BF: "g2@6 bb2@6 c3@5 ~ db3@6", BG: "d3@3 gb3@3 g3@3 g2@2 ~",
BH: "f2@6 ab2@6 bb2@5 ~ b2@6", BI: "c3@3 e3@3 f3@3 f2@2 ~",
BJ: "[~@4 bb1@8 b1@9 ~ c2@8 db2@9 ~ d2@2 ~@5 eb1, ~@23 eb2]/2", BK: "eb2@4 eb1 ~ f2@6 g2@5 ~ ab2@4 eb1 ~",
BL: "bb2@6 c3@5 eb1 d3@5 eb1 eb3@3 ~@3", BM: "gb2@6 e2@6 d2@6 c2@5 ~",
BN: "[gb2@5 ~ a2@5 ~ b2@6 c3@4 f2@7 ~ f2@4 ~@2 f2@3 ~@2 f1 b1@5 ~]/2", BO: "b1@2 bb1 ~@2 bb1@4 bb1@2 eb2",
BP: "[~@6 eb2@2 ~@4 db2@4 db2@2 ~@4 c2@8 c2@2 ~@4 b1@4 b1@2 ~@4 e2@11 b1 e2@2 e1@9 ~ b1@2]/3",
BQ: "e2@2 e2 e1@3 e2@2 e2@4", BR: "~ eb2@3 ~@20",
BS: "[~@9 f2@17 b1@8 ~ e2@8 a1@8 ab1@8 ~ db2@8 gb2@8 eb2@50 ~@18]/6",
})).s("gm_acoustic_bass").gain(0.51).pan(0.4)
// chords · piano
const piano = note(`<
~@2 A@2 B C D E F G H I J K L M N O P Q R S T U V@2 W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL O AM AN AO AP AQ AR@2
AS AT AU AV AW AX AY AZ BA BB BC BD BA BE BF BG BH BI BJ BK BL@2 BM@2 BN BO@2 BP BQ ~ BR@3 BS BT ~@3 BU@3
>`.pickRestart({
A: "[g4@2 e4 c4 ~ g3 [c4,gb4,bb4,f5]@4 ~@6 bb5@2 [f5,gb5]@4 ~@2 eb5@4 ~@16 g4@2 ab4 ~, ~@6 [g3,b3,g4,ab4,eb5]@5 [f5,gb5]@3 eb5@8 ~@2, ~@24 [g4,ab4]@18 b3@5 ~, ~@24 b3@15 ~ g3@7 ~, ~@4 g3 f5@3]/2", // Fsus4 Gbmaj7 Abm Gbmaj7 Abmaj7
B: "[eb3,bb3,eb4,g4,c5]@11 ~@2 b2@4 [bb3,eb4,gb4,db5]@2 ~@5", // Cm7 Ebm7
C: "~ b2@4 ~ ab5@2 bb5@2 db6@2 db6@2 bb5@2 db6@8, ~@5 [bb3,eb4,gb4,db5]@2 ~@5 [d3,ab3,d4,gb4,b4]@11 ~", // Ebm7 Abm7b5
D: "~@4 [g3,c4,eb4,bb4]@2 ~@7 [b3,g4,ab4,g5,eb6]@4 ~@7, ~@3 ab5 ~@2", // Cm7 Abm
E: "~@4 bb4@2 db5@2 ~@2 f5@2 db5@4 ~@2 bb4@2 g4@2 ab4 ~, eb5 ab4@8 b3@2 ~, ab4 g3@7 eb5@12 ~@4, ~ g4@18 ~@5, ~ b3@15 g3@6 ~@2",
F: "~ c3@4 [eb3,bb3,d4,g4]@2 ~@9 [bb3,db4,eb4,gb4]@2 ~@6", // Ebmaj7 Ebm7
G: "db6@4 c6 b5 bb5@4 ~@5 e5 eb5 d5 db5@6, [eb3,bb3,eb4,gb4,db5]@10 f5@5 ~@9, ~@12 [d3,ab3,d4,f4,b4]@11 ~", // Ebm7 Ddim
H: "~@4 [g3,eb4,bb4] ~@7 [g3,eb4,bb4]@11 ~", I: "~@4 [g3,eb4,bb4]@2 ~@6 [g3,eb4,bb4]@4 ~@2 g4@2 eb4 b3 ~ g3",
J: "~@13 [eb3,a3,eb4,gb4]@3 ~@8, ~@3 c5 ~@2", // Ebdim
K: "[eb3,a3,eb4,gb4,c5]@7 ~@4 [eb3,a3,eb4,c5]@6 gb2 [eb3,a3,eb4,gb4,c5]@3 ~@3, ~@5 gb4@3 ~@4", // Ebdim Adim Ebdim
L: "ab3@15 ~@5 eb4@2 g4 ~, [eb4,g4,c5]@18 ab3@5 ~, eb3@12 ~@4 eb3@7 ~", // Cm
M: "[ab3,d4,g4,c5]@3 ~@2 [eb3,ab3,eb4,g4,c5]@13 [ab3,c4,d4,g4]@4 ~@2", // Abmaj7
N: "[gb3,c4,eb4,a4]@3 ~@2 [g3,c4,eb4,bb4]@6 ~@5 [g3,bb3,c4,eb4]@2 ~@6", // Gbdim Cm7
O: "~@4 [g3,c4,eb4,bb4] ~@7 [g3,c4,eb4,bb4]@11 ~", P: "~@4 [g3,c4,eb4,bb4] ~@6 ab2 [g3,c4,eb4,bb4]@11 ab2",
Q: "~ [g3,c4,eb4,bb4]@4 [g3,c4,eb4,bb4] ~@5 [g3,c4,eb4,bb4]@6 ab2 [g3,c4,eb4,bb4]@2 ~@4", // Cm7
R: "~@4 [g3,bb3,b3,eb4] ~@7 [g3,bb3,b3,eb4]@11 ~", // Eb
S: "[gb3,b3,eb4,bb4]@3 ~@4 [a3,d4,gb4,d5,b5]@4 ~@7 [b3,f4,bb4,eb5]@4 ~@2, ~@3 gb5@2 ~@7", // Bmaj7 Bm7 Bmaj7
T: "~@12 [bb3,eb4,gb4,db5]@3 ~@2 [bb3,eb4,gb4,db5]@2 ~@5", // Ebm7
U: "[eb3,a3,eb4,gb4,b4]@11 ~ [a3,eb4,gb4,db5]@4 ~@2 [a3,eb4,gb4,db5]@4 ~@2", // B7 Ebm7b5
V: "[~@12 [a3,eb4,ab4,db5]@3 ~@2 [a3,eb4,ab4,db5]@2 ~@3 [a3,eb4,ab4,db5]@12 ~@2 [a3,eb4,ab4,db5]@4 ~ bb2 [a3,eb4,ab4,db5]@2 ~@4]/2", // Amaj7
W: "~@12 [d4,g4,bb4,f5]@3 ~@2 [d4,g4,bb4,f5]@2 ~@5", // Gm7
X: "~@4 [d4,g4,bb4,f5]@2 ~@7 [g3,c4,eb4,c5,bb5]@4 ~@7, ~@3 eb5 ~@2", // Gm7 Cm7
Y: "~@5 gb4 bb4@4 ~ eb5@5 ~ ab2 [d4,gb4,bb4,eb5]@3 ~@3, d4@2 ~", Z: "~@4 [d4,gb4,bb4,f5] ~@7 [d4,gb4,bb4,f5]@11 ~",
AA: "g3@15 ~@5 d4@2 f4 ~, [d4,f4,bb4]@18 g3@5 ~, d3@12 ~@4 d3@7 ~", // Bb
AB: "[c4,g4,bb4,eb5]@4 ~@5 [bb3,d4,f4,a4]@2 ~ g4@2 eb4 d4 ~ bb3 ~@3 [eb4,g4,c5]@2 ~", // Cm7 Bbmaj7 Cm
AC: "~@12 [eb4,g4,c5]@3 ~@2 [eb4,g4,c5]@2 ~@5", // Cm
AD: "[gb3,c4,gb4,ab4,eb5]@11 ~ [c4,gb4,bb4,eb5]@4 ~@2 [c4,eb4,gb4,bb4]@4 ~@2", // Ab7 Cm7b5
AE: "~@12 [bb3,g4,d5]@3 ~@2 [bb3,g4,d5]@2 ~@5", // Gm
AF: "bb3@15 ~@5 eb4@2 g4 ~, [eb4,g4,eb5]@18 bb3@5 ~, eb3@12 ~@4 eb3@7 ~", // Eb
AG: "~@12 [e3,bb3,d4,g4]@3 ~@2 [e3,bb3,d4,g4]@2 ~@5", // Em7b5
AH: "~ g2@4 [g3,eb4,bb4]@2 ~@8 [g3,eb4,bb4]@2 ~ [bb3,d4,g4]@4 ~@2", AI: "~@12 [f3,ab3,c4]@3 ~@2 [f3,ab3,c4]@2 ~@5",
AJ: "~ [ab3,f4,ab4,f5,db6]@4 ~@7 [d3,ab3,d4,f4,c5]@11 ~, ab5 ~@5", // Db Dm7b5
AK: "~@4 [ab3,d4,f4,c5] ~@6 bb2 [ab3,d4,f4,c5]@11 bb2", // Dm7b5
AL: "~ [ab3,d4,f4,c5]@4 [ab3,d4,f4,c5] ~@5 [ab3,d4,f4,c5]@6 bb2 [ab3,d4,f4,c5]@2 ~@4", // Dm7b5
AM: "~ eb3@4 [g3,c4,eb4,bb4]@2 ~@8 [g3,c4,eb4,bb4]@2 ~ [g3,b3,eb4]@4 ~@2", AN: "[eb3,gb3,a3,c4]@23 ~",
AO: "[eb3,gb3,a3,c4]@4 ~ [eb3,gb3,a3,c4]@2 ~@4 [eb3,gb3,a3,c4]@5 gb2 ~ [eb3,gb3,a3,c4]@3 ~@3", // Ebdim
AP: "~ f3@4 [eb3,ab3,c4,g4]@2 ~@5 [eb3,ab3,c4,g4]@4 ~@2 [a3,eb4,gb4,d5]@4 ~@2", // Abmaj7 D
AQ: "[a3,eb4,g4,c5]@3 ~@2 [ab3,eb4,g4,c5]@6 ~ [d3,ab3,d4,f4,b4]@11 ~", AR: "[~ [g3,g4]@7]/2",
AS: "~ c4@15 ~@4 f4@2 ab4 ~, [ab4,eb5]@9 c4@2 ~, ~ f4@18 ~@5, ~ f3@14 ~ f3@6 ~@2", // Ab5
AT: "~@4 [c4,g4,bb4,eb5]@2 ~@6 [c4,eb4,g4,bb4]@4 ~@5 [c4,eb4,f4,ab4]@2 ~", // Cm7 Fm7
AU: "~@12 [b3,f4,bb4,eb5]@3 ~@2 [b3,f4,bb4,eb5]@2 ~@5", // Bmaj7
AV: "~@4 [b3,gb4,bb4,eb5]@2 ~@6 [b3,gb4,bb4,eb5]@4 ~@5 [b3,f4,a4,d5]@2 ~", // Bmaj7 Bm7b5
AW: "[eb3,bb3,eb4,gb4,db5]@11 ~@4 [bb3,eb4,gb4,db5]@2 ~ [bb3,f4,ab4,db5]@4 ~@2", // Ebm7 Bbm7
AX: "[a3,eb4,gb4,d5]@4 ~@2 [a3,eb4,ab4,db5]@4 ~@3 [a3,eb4,ab4,eb5,db6]@4 ~@7, ~@3 ab5 ~@2", // D Amaj7
AY: "g4@2 d4 c4 ~ ab3 [gb3,c4,eb4,a4]@4 ~@2 [f3,ab3,c4,eb4]@4 ~@2 [ab3,d4,g4,c5]@4 ~@2", // Gbdim Fm7 Abmaj7
AZ: "~@4 [ab3,c4,d4,g4] ~@7 [ab3,c4,d4,g4]@11 ~", BA: "~@12 [g3,d4,f4,bb4]@3 ~@2 [g3,d4,f4,bb4]@2 ~@5",
BB: "~@4 [g3,bb3,d4,f4] ~@7 [g3,bb3,d4,f4]@11 ~", BC: "~@4 [gb3,bb3,d4,f4] ~@7 [gb3,bb3,d4,f4]@11 ~",
BD: "~ [d4,gb4,bb4,gb5,eb6]@4 ~@8 [c4,gb4,bb4,gb5,f6]@4 ~@7, bb5 ~@2 bb5 ~@2", // Ebm Fsus4
BE: "~@4 [g3,bb3,d4,f4]@2 ~@6 [c3,g3,c4,eb4,bb4]@11 ~", BF: "~@12 [g3,a3,c4,eb4]@3 ~@2 [g3,a3,c4,eb4]@2 ~@5",
BG: "~ [c4,gb4,bb4,gb5,d6]@4 ~@7 [gb3,c4,d4,bb4]@4 ~@5 [gb3,c4,f4,bb4]@2 ~, bb5 ~@5", // Daug Gbaug Gbmaj7
BH: "[g3,d4,g4,bb4,g5]@3 ~@2 g2 [g4,bb4,g5]@10 ~@2 g4@2 bb4@2 g5 ~, ~@6 g3@17 ~, ~@3 d4@4 ~ d4@3 ~", // Gm
BI: "[g3,d4,g4,g5]@4 [g3,d4,g4,bb4] ~@5 [d4,g4,g5]@6 g2 ~ [g3,d4,g4,bb4]@3 ~@3, ~@10 g3@5 ~@9", // G5 Gm G5 Gm
BJ: "~@13 [g3,d4,g4,bb4]@3 ~@8, ~@3 g5 ~@2", // Gm
BK: "[g3,d4,g4,bb4,g5]@7 ~@4 [g3,d4,g4,g5]@6 g2 [g3,d4,g4,bb4,g5]@3 ~@3, ~@5 bb4@3 ~@4", // Gm G5 Gm
BL: "[~@12 [f3,ab3,c4]@3 ~@2 [f3,ab3,c4]@2 ~@3 [f3,ab3,c4]@12 ~@2 [f3,ab3,c4]@4 ~ f3 [f3,ab3,c4]@2 ~@4]/2", // Fm
BM: "[~@4 [bb1,d3]@8 [b1,eb3]@9 ~ [c2,e3]@8 [db2,f3]@9 ~ [d2,gb3]@2 ~@4 [eb2,g3]@2]/2", BN: "~@11 c7",
BO: "[bb6@4 ~ [eb4,g4,bb4] ~@2 eb6@4 ~ [eb4,g4,bb4]@3 ~ eb3 ~ [eb4,g4,bb4]@2 ~@16 [eb3,a3,eb4,gb4]@3 ~@8, ~@4 g6@4 ~@4 c6@4 bb5@3 ~@3 a5@26, ~@9 c5 ~@2]/2", // Eb Ebdim
BP: "~@4 ab5@2 a5@2 b5@2 ~@2 d6@2 eb6@2 ~ gb2 [eb3,a3,eb4,gb4,c5,gb6]@2 a6@2 c7@2, [eb3,a3,eb4,gb4,c5]@7 ~@3 gb4@6 ~@8, ~@5 c6 ~@2 f6 ~@3, ~@11 [eb3,a3,eb4,c5]@6 ~@7", // Ebdim Adim
BQ: "~ f3@4 [ab3,c4,eb4,g4]@2 ~@17, bb6 ~@7", // Abmaj7
BR: "[~@6 [db2,ab2,eb3,f3,bb3]@2 [db2,ab2,eb3,f3,bb3] ~@2 [c2,g2,eb3,f3,bb3]@4 [c2,g2,eb3,f3,bb3] ~@2 [b1,ab2,eb3,ab3,bb3]@2 [b1,ab2,eb3,ab3,bb3] ~@2 [e2,b2,ab3,bb3,eb4]@13]/3", // Bbm7 Cm7 Abm Emaj7
BS: "~@2 [e2,b2,ab3,bb3]", BT: "[eb2,bb2,g3,bb3] ~@7", BU: "[~ [db4,f4,c5]@8 ~@3, ~@5 a3@48 ~@19]/3",
})).s("gm_piano").gain(0.42).pan(0.6)
// other · alto sax · "Alto Sax 1"
const alto_sax = note(`<
~ A B ~@2 C D@2 E@2 ~ F G H I ~ J K@2 L M N@2 O P Q R@2 S@3 T@3 ~ U@3 V ~ W X Y Z I AA AB AC AD@2 AE AF AG AH AI AJ@2
AK AL@6 AM@3 AN AO AP@2 AQ AR@2 ~@4 AS AT ~ AU@3 AV@2 AW@5
>`.pickRestart({
A: "~@21 [eb4,e4] d4 [c4,db4]", B: "bb3 ~@11, b3 ~@23", C: "f4 db4", D: "[bb3@8 b3 c4 db4 d4 eb4@34 ~@2]/2",
E: "[f4@6 bb4@17 ~]/2", F: "~@12 bb3@2 ~@4 b3@4 ~ g3", G: "c4@2 c5 ~@9", H: "~@16 c5@4 db5 c5 bb4@2",
I: "c5@2 c4 ~@9", J: "~@18 c4@3 ~ eb4@2, ~@17 bb3@2 ~@5", K: "[g4@3 g4@3 g4@2 bb4 g4@2 eb4@12 ~]/2",
L: "~@4 d4@2 eb4@4 eb5@8 db5 c5 bb4 ab4 g4 f4", M: "eb4@2 eb4 ~@9",
N: "[~@16 bb3@2 db4@4 ab4@18 g4 gb4 f4 e4 eb4 d4 db4 c4]/2", O: "b3@6 c4@5 ~",
P: "f4 e4 f4 e4 g4 f4 g4 f4 g4 f4 ab4 g4", Q: "bb4 ~@11", R: "[~@4 f4@2 ~@6 f4@2 ~@8 f4@6 gb4 f4 eb4@4 bb3@2 ~@12]/2",
S: "[~@4 d4@2 ~@6 d4@2 ~@8 d4@6 eb4 d4 bb3@4 b3@2 c4@4 eb4@2 f4@4 bb4@6 f4@4 bb4@4 f4@3 ~@3 bb4@4 eb4@2]/3",
T: "[~@4 f4@8 g4@5 ab4 bb4@4 c5@48 ~@2, ~@18 a4 ~@53]/3",
U: "[~@10 eb4@2 gb4@2 g4@2 bb4@2 c5@2 bb4@2 c5@30 ~@7 db4 d4@3 ~@2 db4 d4@4 g3@2, ~@29 g3 ~@6]/3", V: "bb3@2 ab3 ~@9",
W: "~@3 c5@2 f5 bb4@3 bb4@2 eb5", X: "ab4@6 ab4@4 c5@2 e4@4 f4@2 ~@5 b3", Y: "c4 ~@7", Z: "~@2 bb3 c4@2 c5@4 c5@2 ~",
AA: "~@16 c4@4 db4 c4 bb3@2", AB: "c4 ~@11", AC: "d4@4 eb4@2 ~@4 eb4@6 e4 eb4 d4@4 eb4@2",
AD: "[~@5 a3 bb3@2 c4@3 db4@3 gb4@3 g4@7, ~@9 bb3@2 ~@37]/2", AE: "~@2 eb4@4 eb4 ~@2 f4 ~@2",
AF: "f4@3 ~@3 g4@4 g4@6 gb4@2 f4@2 ~@4", AG: "~@2 eb4 ~@3 eb4@2 eb4 ~@3", AH: "eb4@2 eb4 ~@2 eb4@3 f4 e4 ~@2",
AI: "~@4 eb4@3 ~@3 eb4@8 f4@2 ~@4", AJ: "[eb4@3 ~@3 gb4@2 ~@4 gb4@4 f4@2 eb4@4 f4@8 eb4@4 c4@2 f4@4 bb3@2 ~@6]/2",
AK: "~@5 bb3@4 c4 ~@2",
AL: "[bb4@10 f4@26 ~@4 bb4@2 f4@4 bb4@12 f4@26 ~@4 bb3@2 c4@4 bb4@6 f4@4 gb4 f4 eb4@2 f4@4 gb4 f4 eb4@4 f4@18 ~@8]/6",
AM: "[~@2 b3 c4@2 d4 eb4@2 g4 c5@2 f5@6 eb5 d5 bb4 f4 eb4@2 d4@12 ~]/3", AN: "~@6 eb4@2 bb4 ~@3",
AO: "~@6 e4@2 bb4 ~@3", AP: "[~@6 d4@2 bb4 db4@2 c4@13]/2", AQ: "db4 d4",
AR: "[~@2 e4 f4@2 bb4 f4@2 db5@3 gb4@3 g4 c5@2 b4 bb4@2 gb4 f4@2 eb4]/2", AS: "~@2 c4@4 c4 ~@2 d4 ~@2",
AT: "d4@4 eb4@2 ~@4 eb4@6 f4 eb4 d4@4 eb4@2", AU: "[~@3 eb4 ~@2 f4@2 bb4@24 bb4@4]/3",
AV: "[bb4@3 ~@14 eb4@16 c5@11 b4 [a4,bb4] ab4 [gb4,g4]]/2", AW: "[f4 e4 d4@17 eb4@84 ~@17, ~@2 eb4 ~@117]/5",
})).s("gm_alto_sax").gain(0.56).pan(0.4)
// other · alto sax · "Alto Sax 2"
const alto_sax_2 = note(`<
~ A B ~@14 C@2 D E ~@5 F@2 G@3 H@3 ~@7 I J ~@2 K L M N@2 O P Q R S T@2 ~@7 U@3 ~@11 V W ~@3 X Y@7
>`.pickRestart({
A: "~@21 [c4,db4] b3 [a3,bb3]", B: "g3 ~@11, ab3 ~@23", C: "[f4@3 f4@3 f4@2 g4 f4@2 c4@12 ~]/2",
D: "~@10 ab4@8 ab4 g4 f4 eb4 db4 c4", E: "b3@2 b3 ~@9", F: "[~@4 d4@2 ~@6 d4@2 ~@8 d4@6 eb4 d4 c4@4 g3@2 ~@12]/2",
G: "[~@4 c4@2 ~@6 c4@2 ~@8 c4@6 ~@18 f4@6 d4@4 f4@4 d4@3 ~@3 f4@4 c4@2]/3",
H: "[~@4 bb3@8 eb4@6 eb4@4 g4@23 ~ ab4@24 ~@2]/3", I: "~@23 a3", J: "bb3 ~@7", K: "~@8 a3@3 ~", L: "ab3 ~@11",
M: "~@4 c4@2 ~@4 c4@6 db4 c4 b3@4 bb3@2", N: "[~@8 gb3@3 ab3@3 db4@3 e4@7]/2", O: "~@2 c4@4 c4 ~@2 c4 ~@2",
P: "c4@3 ~@3 eb4@4 eb4@6 db4@2 c4@2 ~@4", Q: "~@2 b3 ~@3 b3@2 b3 ~@3", R: "b3@2 b3 ~@2 b3@3 d4 db4 ~@2",
S: "~@4 bb3@3 ~@3 bb3@8 bb3@2 ~@4", T: "[d4@3 ~@3 db4@2 ~@4 db4@6 db4@4 c4@8 c4@4 a3@2 eb4@4 ~@8]/2",
U: "[~@11 d5@6 b4 bb4 f4 d4 bb3@2 bb3@12 ~]/3", V: "~@2 ab3@4 ab3 ~@2 b3 ~@2",
W: "d4@4 c4@2 ~@4 c4@6 db4 c4 b3@4 bb3@2", X: "~@2 eb4",
Y: "[f4@3 ~@14 bb3@16 g4@8 ~ gb4@8 a3@8 ~ bb3@8 c4@8 b3@8 ~ b3@8 c4@59 ~@17]/7",
})).s("gm_alto_sax").gain(0.56).pan(0.4)
// other · alto sax · "Alto Sax 2" · soft notes
const alto_sax_soft = note("<~@5 A B@2 C@2 ~@81>".pickRestart({
A: "db4 ab3", B: "[g3@10 ab3 a3 bb3@34 ~@2]/2", C: "[eb4@6 db4@12 gb4@5 ~]/2",
})).s("gm_alto_sax").gain(0.32).pan(0.4)
// other · tenor sax · "Tenor Sax 2"
const tenor_sax = note(`<
~ A B ~@14 C@2 D E ~@5 F@2 G@3 H@3 ~@6 I J K ~@2 L M N O@2 P Q R S T U@2 ~@7 V@3 ~@11 W N ~@3 X Y@7
>`.pickRestart({
A: "~@21 [eb3,e3] d3 [c3,db3]", B: "bb2 ~@11, b2 ~@23", C: "[c4@3 c4@3 c4@2 eb4 c4@2 ab3@12 ~]/2",
D: "~@4 d3@2 eb3@4 eb4@8 db4 c4 bb3 ab3 g3 f3", E: "eb3@2 eb3 ~@9", F: "[~@2 g3 ~@3 g3 ~@4 g3@4 g3@2 c3 ~@6]/2",
G: "[~@4 gb3@2 ~@6 gb3@2 ~@8 gb3@6 g3 ab3 bb3@4 b3@2 c4@4 eb3@2 f3@4 bb3@6 g3@4 bb3@4 g3@3 ~@3 bb3@4 g3@2]/3",
H: "[~@4 f3@8 bb3@5 a3 g3@4 g3@23 ~ gb3@24 ~@2, ~@18 ab3 ~@53]/3", I: "~@6 d4@2 db4 c4@3",
J: "b3@4 bb3@2 a3@6 ab3@4 ~@7 e3", K: "f3 ~@7", L: "~@16 eb3@4 f3 g3 bb3@2", M: "eb3 ~@11",
N: "eb3@2 eb3 ~@2 g3@4 f3@2 eb3", O: "[~@8 c3@3 db3@3 ab3@3 g3@7]/2", P: "~@2 f3@4 f3 ~@2 ab3 ~@2",
Q: "ab3@3 ~@3 ab3@4 ab3@6 a3@2 ab3@2 ~@4", R: "~@2 f3 ~@9", S: "g3@2 gb3 ~@2 gb3@3 gb3 f3 ~@2",
T: "~@4 eb3@3 ~@3 eb3@8 eb3@2 ~@4", U: "[eb3@3 ~@3 eb3@2 ~@4 eb3@6 eb3@4 d3@8 gb3@4 eb3@2 f3@4 bb2@2 ~@6]/2",
V: "[~@9 c4@2 gb4@6 db4 c4 gb3 eb3 c3@2 d3@12 ~]/3", W: "~@2 c3@4 c3 ~@2 eb3 ~@2", X: "~@2 ab3",
Y: "[g3@3 ~@14 e3@16 a3@17 eb3@8 ~ d3@8 db3@8 c3@8 ~ f3@8 e3@8 db3@50 ~@18]/7",
})).s("gm_tenor_sax").gain(0.56).pan(0.4)
// other · tenor sax · "Tenor Sax 2" · soft notes
const tenor_sax_soft = note("<~@5 A B@2 C@2 ~@81>".pickRestart({
A: "eb3 d3", B: "[eb3@6 f3@17 ~]/2", C: "[g3@6 eb3@12 ab3@5 ~]/2",
})).s("gm_tenor_sax").gain(0.32).pan(0.4)
// other · baritone sax · "Bari Sax"
const baritone_sax = note(`<
~ A B ~@2 C D@2 E@2 ~@6 F G@2 H I ~@4 J@2 K@4 L@3 M N O P Q R S T U ~@2 V W X Y@2 ~ Z AA AB AC AD@2 AE AF@6 AG@3 N O P
Q R AH@2 AI AJ AK@2 AL X AM@4 AN@7
>`.pickRestart({
A: "~@21 [ab3,a3] g3 [f3,gb3]", B: "eb3 ~@11, e3 ~@23", C: "b3 bb3", D: "[eb3@6 db4@17 ~]/2",
E: "[c4@6 b3@12 d4@5 ~]/2", F: "~@18 c4@3 ~ eb4@2, ~@17 bb3@2 ~@5", G: "[bb4@3 bb4@3 bb4@2 c5 bb4@2 f4@12 ~]/2",
H: "~@4 d4@2 eb4@4 c5@8 bb4 ab4 g4 f4 eb4 db4", I: "f4@2 f4 ~@9",
J: "[~@12 eb3@2 eb3 ~@2 eb3 ~@3 eb3@3, ~@23 bb3@2 ~@23]/2",
K: "[e3 f3 gb3 g3 ab3 a3 bb3@4 eb3@2 ~@12 ab3@4 ab3@2 ~@4 ab3@2 ~@6 ab3@12 bb3@4 b3@2 c4@4 eb4@2 f4@4 g4@6 f4@4 g4@4 f4@3 ~@3 g4@4 eb4@2, ~@23 eb3@2 ~@71]/4",
L: "[~@4 d4@8 c4@5 db4 bb3@4 a3@23 ~ d3@24 ~@2, ~@18 c4 ~@53]/3", M: "~@10 gb3@2 g3@3 ~@7 gb3@2",
N: "g3@3 ~@7 gb3@2 g3@4 g3@2 ~@4 gb3@2", O: "g3@3 ~@6 gb3@2 g3@3 ~@8 gb3@2",
// … 253 more lines
More by Frank Sinatra
My Way (live)C major · 82 bpmNew York, New York (theme du film)G minor · 112 bpmStrangers in the NightC major · 93 bpmEbb TideC major · 82 bpmLuck Be a LadyE♭ major · 157 bpmWhat Is This Thing Called Love?A minor · 70 bpmYoung At HeartG minor · 80 bpmA Nightingale Sang in Berkeley SquareE♭ major · 76 bpm
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.