0:00/0:00
// Just One of Those Things — Parker Charlie
// 120 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 146 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(`<
A@5 B@2 C D E@2 F G H I J K L M N O P Q R S T U J V H W X Y Z M AA O AB AC AD AE AF AG V AH AI AJ AA U AK AL AM AN AO
AP AQ AR AS AT AU V AV AW X AX AY AZ AA BA BB X BC BD@2 BE U BF BG BH AC K BI BJ BK O BL BM BN BO BG BE U BP BG BQ AC
K Z BR BK BS P X N BO BT BU@2 BV BW@4 BX@2 BY BZ@2 CA AG CB CC CD CE CF CG CH CI CJ CK CL AA CM@2 CN@5 CO ~@2 CP@4
>`.pickRestart({
A: "[~@22 d2@7 ~ db2@2 ~@4 c2@4 b1@2 ~@4 bb1@43 ~@5 ab1@7 ~ g1@2 ~@4 gb1@4 f1@2 ~@4 e1@2]/5",
B: "[~@6 a1@11 ~ a2@4 d3@6 d2 ~ db3@6 c3@6 b2@4 bb1 ~]/2", C: "bb2@4 bb1 ~ a2@6 g2@6 f2@4 f1 ~",
D: "e2@4 e1 ~ f2@6 g2@6 e2@4 e1 ~",
E: "[bb2@4 bb1 ~ ab2@6 a2@6 db2@4 d2@6 d1@2 e2@4 d1 ~ f2@4 d1@2 a2@6, ~@22 db1 ~@25]/2",
F: "d3@4 d1@2 c3@6 b2@4 d1@2 a2@4 d1 ~", G: "e2@5 ~ b2@6 g2@4 ~@2 e2@4 e1 ~",
H: "db3@4 a0 ~ b2@6 a2@4 a0 ~ g2@4 a0 ~", I: "c2@4 c1 ~ eb1@6 g1@6 c2@4 c1 ~",
J: "a3@4 f1 ~ g3@6 f3@4 f1 ~ eb3@4 f1 ~", K: "b1@4 b0 ~ d1@6 f1@6 b1@4 b0 ~", L: "bb1@5 ~ f2@6 db2@4 ~@2 bb1@4 bb0 ~",
M: "c3@4 a0 ~ b2@6 a2@4 a0 ~ g2@4 a0 ~", N: "ab2@4 ab1 ~ c2@6 eb2@6 ab2@4 ab1 ~",
O: "bb3@4 g1 ~ a3@6 g3@4 g1 ~ f3@4 g1 ~", P: "c2@6 ~ c2@5 e2@6 e2@4 c1 ~", Q: "f2@4 f1 ~ c2@6 f2@2 ~@2 gb2@6 gb1 ~",
R: "gb2@4 gb1 ~ c2@6 gb2@4 g2@6 g2@2", S: "g2@4 ~@2 g2@4 g1 ~ g2@2 ~@2 e2@6 e2@2",
T: "e2@4 e1 ~ a1@4 a0 ~ e1@4 d2@6 d1 ~", U: "d2@4 d1 ~ f1@6 a1@6 d2@4 d1 ~", V: "e2@4 e1 ~ g1@6 bb1@6 e2@4 e1 ~",
W: "c2@5 ~ g2@6 eb2@4 ~@2 c2@4 c1 ~", X: "f2@4 f1 ~ a1@6 c2@6 f2@4 f1 ~", Y: "b1@4 ~@2 b1@4 b0 ~ b1@4 ~@2 b1@4 b0 ~",
Z: "bb1@4 bb0 ~ db1@6 f1@6 bb1@4 bb0 ~", AA: "ab2@5 ~ eb3@6 c3@4 ~@2 ab2@4 ab1 ~",
AB: "c2@5 ~ g2@6 e2@4 ~@2 c2@4 c1 ~", AC: "f2@5 ~ c3@6 a2@4 ~@2 f2@4 f1 ~", AD: "bb1@5 a1@4 ab1 ~@2",
AE: "g1@4 g0@2 g1@4 g0 ~ g2@4 g1@2 c2@6", AF: "f1@4 f2@2 f2@6 bb1@4 bb2@2 bb1@4 bb2 ~",
AG: "eb2@5 ~ bb2@6 g2@4 ~@2 eb2@4 eb1 ~", AH: "f2@5 ~ c3@6 ab2@4 ~@2 f2@4 f1 ~",
AI: "bb1@4 bb0 ~ d1@6 f1@6 bb1@4 bb0 ~", AJ: "eb2@4 eb1 ~ bb1@6 eb2@4 eb1 ~ bb1@6",
AK: "g2@4 g1 ~ b1@6 d2@6 g2@4 g1 ~", AL: "e3@4 c1 ~ d3@6 c3@4 c1 ~ b2@4 c1 ~",
AM: "a1@4 a0 ~ e1@6 g2@4 ~@2 g2@4 g1 ~", AN: "gb2@5 ~ c3@6 a2@4 ~@2 gb2@4 gb1 ~",
AO: "ab3@4 f1 ~ g3@6 f3@4 f1 ~ eb3@4 f1 ~", AP: "e2@4 ~@2 e2@4 e1 ~ e2@4 e2@2 eb2@4 eb1 ~",
AQ: "eb2@5 ~ a2@6 gb2@4 ~@2 eb2@4 eb1 ~", AR: "e2@5 ~ b2@6 ab2@4 ~@2 e2@4 e1 ~",
AS: "db3@4 a0 ~ b2@6 a2@4 a0 ~ db2@4 db1 ~", AT: "d2@4 d1@2 a2@4 a1 ~ e3@4 e2@2 eb3@6",
AU: "d3@4 d2@2 db3@6 c3@4 c2@2 b2@4 b1 ~", AV: "a1@5 ~ e2@6 db2@4 ~@2 a1@4 a0 ~", AW: "c2@6 ~ db2@5 eb2@6 eb2@4 c1 ~",
AX: "bb1@4 ~@2 c2@6 db2@4 bb0 ~ d2@4 bb0 ~", AY: "eb2@4 eb1 ~ g1@6 bb1@6 eb2@4 eb1 ~",
AZ: "a1@4 a0 ~ e1@6 a1@4 ab2@6 ab2@2", BA: "g2@4 g1 ~ d2@6 g2@4 g2@2 db2@4 db1 ~",
BB: "c2@6 d3@4 ~@2 c2@4 c2@2 c2@4 c1 ~", BC: "d3@4 bb0 ~ c3@6 bb2@4 bb0 ~ a2@4 bb0 ~",
BD: "[e1@3 ~ e1@8 bb1@4 a1@2 ~@4 g1@7 ~ f1@4 e1@2 ~@4 a1@8]/2", BE: "f3@4 d1 ~ e3@6 d3@4 d1 ~ c3@4 d1 ~",
BF: "e2@5 ~ bb2@6 g2@4 ~@2 e2@4 e1 ~", BG: "a1@4 a0 ~ db1@6 e1@6 a1@4 a0 ~",
BH: "c2@4 ~@2 d2@6 eb2@4 c1 ~ eb2@4 c1 ~", BI: "db3@4 bb0 ~ c3@6 bb2@4 bb0 ~ ab2@4 bb0 ~",
BJ: "a1@5 ~ e2@6 c2@4 ~@2 a1@4 a0 ~", BK: "c4@4 ab1 ~ bb3@6 ab3@4 ab1 ~ gb3@4 ab1 ~",
BL: "c2@4 ~@2 c2@4 c1 ~ c2@4 c1 ~ g1@6", BM: "a3@4 f1 ~ g3@6 f3@4 f1 ~ e3@4 f1 ~",
BN: "gb2@4 gb1 ~ a1@6 c2@6 gb2@4 gb1 ~", BO: "g2@4 g1 ~ bb1@6 d2@6 g2@4 g1 ~",
BP: "g3@4 e1 ~ f3@6 e3@4 e1 ~ d3@4 e1 ~", BQ: "eb3@4 c1 ~ d3@6 c3@4 c1 ~ bb2@4 c1 ~",
BR: "a1@4 a0 ~ c1@6 e1@6 a1@4 a0 ~", BS: "g2@5 ~ d3@6 bb2@4 ~@2 g2@4 g1 ~", BT: "f1@4 ~@2 f2@4 f1 ~ bb1@6 bb1@4 ~@2",
BU: "[eb2@4 eb1 ~ bb1@6 g1@4 ~@2 e1@12 e2@6 bb1@4 bb0 ~ eb1@6]/2", BV: "f1@4 f0@2 g1@4 g0 ~ ab1@4 ab0@2 a1@6",
BW: "[bb1@4 bb0@2 f2@6 bb2@4 bb1@2 bb1@4 bb2@7 ~ bb1@12 ~@4 bb2@7 ~ bb1@12 ~@4 bb2@7 ~ bb1@11 ~ ab2@2 ~@4]/4",
BX: "[g2@4 g1 ~ f2@6 d2@4 d1 ~ g2@4 c2@7 ~ c3@6 b2@4 ~@2 b2@4 b1 ~]/2", BY: "a2@4 a1 ~ a2@6 g2@4 ~@2 g2@4 g1 ~",
BZ: "[gb2@4 ~@2 gb1@4 gb0 ~ c2@4 f1 ~ f2@12 c2@6 ab2@4 ~@2 f1@4 f2@2]/2", CA: "e2@4 e1 ~ b1@6 e2@4 e1 ~ eb2@4 eb2@2",
CB: "d2@2 ~@4 d2@11 ~ c2@2 ~@4", CC: "b1@4 f1@2 ~@4 e1@7 ~ a1@2 ~@4", CD: "d2@4 d1@2 db2@4 db1 ~ d2@4 d1@2 ab2@6",
CE: "a2@4 a1@2 g2@6 gb2@4 gb1@2 f2@4 f1 ~", CF: "e2@4 ~@2 d2@6 bb1@4 bb0 ~ e1@6",
CG: "a1@4 a0 ~ ab1@6 a1@4 a0 ~ b1@5 ~", CH: "c2@4 c1@2 d2@4 d1 ~ eb2@4 eb1@2 e2@6",
CI: "f2@4 f1@2 f1@6 c2@4 c1@2 b1@4 b0 ~", CJ: "bb1@4 bb0 ~ bb1@6 a1@4 ~@2 a1@6", CK: "eb2@4 ~@2 g2@6 c3@4 c2 ~ bb2@6",
CL: "a1@4 ~@2 a1@4 a0 ~ a1@2 ~@2 ab2@6 ab2@2", CM: "[g1@9 ~ g1@2 ~@6 a1@29 ~]/2",
CN: "[a1@2 ~@20 d2@7 ~ db2@2 ~@4 c2@4 b1@2 ~@4 bb1@43 ~@5 ab1@7 ~ g1@2 ~@4 gb1@4 f1@2 ~@4 e1@2]/5",
CO: "~@6 a1@11 ~ eb2@4 d2@2", CP: "[eb2@17 ~@5 eb2@19 ~ eb2@54]/4",
})).s("gm_acoustic_bass").gain(0.18).pan(0.4)
// bass · acoustic bass · "Jazz Bass" · soft notes
const bass_soft = note(`<
~@12 A ~@4 B ~@3 C ~@2 D ~@5 E ~ F ~@2 G ~ E H ~@3 I ~ H ~@2 G ~@3 J K ~ L I A ~@4 M N ~ O ~@2 G ~ P ~@6 A ~ Q H ~@2 M
~@2 Q ~@9 H ~@4 R C ~@3 S ~@8 T J U V ~ I ~@4 L W ~@2 X Y Z G ~@14
>`.pickRestart({
A: "~@4 e1 ~@11 e1 ~@7", B: "~@4 bb0 ~@11 bb0 ~@7", C: "~@11 c1 ~@12", D: "~@4 g1 ~@19", E: "~@4 c1 ~@11 c1 ~@7",
F: "~@4 b0 ~@11 b0 ~@7", G: "~@4 ab1 ~@11 ab1 ~@7", H: "~@4 f1 ~@11 f1 ~@7", I: "~@4 eb1 ~@11 eb1 ~@7",
J: "~@16 g1 ~@7", K: "~@4 gb1 ~@11 gb1 ~@7", L: "~@4 e1 ~@19", M: "~@4 a0 ~@11 a0 ~@7", N: "~@11 db1 ~@12",
O: "~@4 bb0 ~@19", P: "~@10 c1 ~@13", Q: "~@4 c1 ~@19", R: "~@4 g1 ~@11 g1 ~@7", S: "~@4 f1 ~@17 bb0 ~",
T: "~@4 c1 ~@11 b1 ~@7", U: "~@4 gb1 ~@19", V: "~@16 f1 ~@7", W: "~@22 b0 ~", X: "~@16 a0 ~@7", Y: "~@4 eb1 ~@19",
Z: "~@4 a0 ~@19",
})).s("gm_acoustic_bass").gain(0.1).pan(0.4)
// chords · piano
const piano = note(`<
~@9 A@3 B C D E F G H I J 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 AM AN AO AP AQ AR AS AT
S ~@2 AU C AV AW AX AY AZ Y BA BB BC AX BD@2 BE@2 AU BF BG BH F BI BJ I Z BK BL BM BN BO BP BQ BR BO AV BS BT G BJ I
BU BV BL BW AD BX ~@24 BY@2 BZ@2 CA ~@4 CB ~@2 CC@4
>`.pickRestart({
A: "[~@22 [f3,a3,c4,e4,a4]@17 ~@2 [f3,f4,a4,e5]@22 ~ [f3,c4,f4,e5]@2 ~@6, ~@40 c4@21 ~@3 a4 ~@7]/3", // Fmaj7
B: "[d4,gb4,b4]@12 ~@4 [b4,b5]@7 ~, [e2,e3,g3]@23 ~", C: "[a2,f3,g3,db4,f4]@5 ~", D: "[c3,g3,bb3,f4,g4,d5]@7 ~",
E: "~ [a3,eb4,gb4,d5] ~@9 [a3,eb4,gb4,d5]@13", F: "[d4,f4,b4]@12 ~@4 [b4,b5]@7 ~, [b2,f3,a3]@23 ~",
G: "[bb2,f3,g3,db4,f4]@5 ~", H: "~ [g3,c4,e4,a4] ~@9 [g3,c4,e4,a4]@13", I: "[ab2,bb3,c4,gb4,bb4,eb5]@7 ~",
J: "[g2,a3,bb3,f4,a4]@5 ~", K: "~ [e3,ab3,bb3,eb4] ~@9 [e3,ab3,bb3,eb4]@13",
L: "[f2,f3,a3,e4,g4,c5]@3 [f3,a3,e4,a4,c5] [gb2,eb3,a3,eb4,gb4]@2", // Fmaj7 Ebdim
M: "[gb2,eb3,a3,c4,eb4,gb4]@3 [eb3,a3,c4,gb4] d5 a4, ~@2 [f3,bb3,d4]", // Gbdim Ebdim Bb
N: "[g2,f3,bb3,d4,f4,a4]@12 [a3,bb3,d4,f4]@4 ~ ab3@7, ~@2 [e3,c4,d4]", O: "~@6 c5@11 ~ bb4@4 a4@2",
P: "[d3,a3,c4,f4,a4]@5 ~", Q: "[f2,f3,a3,eb4,g4,c5]@7 ~", R: "[d4,e4,bb4]@12 ~@4 [bb4,bb5]@7 ~, [e2,e3,g3]@23 ~",
S: "~ [g3,db4,f4,a4] ~@9 [g3,db4,f4,a4]@13", T: "~ [f3,bb3,d4,g4] ~@9 [f3,bb3,d4,g4]@13",
U: "~ [eb3,a3,d4,gb4] ~@9 [eb3,a3,d4,gb4]@13", V: "[b2,a3,d4,gb4,a4,db5] [b2,a3,d4,f4,a4,b4]",
W: "[db4,f4,bb4]@12 ~@4 [bb4,bb5]@7 ~, [bb2,f3,a3]@23 ~", X: "[a2,e3,g3,c4,e4]@5 ~",
Y: "~ [gb3,d4,f4,bb4] ~@9 [gb3,d4,f4,bb4]@13", Z: "[g2,a3,bb3,f4,a4,d5]@7 ~",
AA: "~ [gb3,bb3,d4,a4] ~@9 [gb3,bb3,d4,a4]@13", // D
AB: "[e3,a3,c4,g4]@4 f3@2 [f3,bb3,db4,ab4]@3 ~@7 f3@7 ~, ~@10 [e3,a3,c4,g4]@13 ~", // Am7 Bbm7 Am7
AC: "[g3,c4,d4,g4]@5 [gb3,b3,db4,gb4]@4 [gb3,bb3,c4,f4] ~@2", AD: "~@6 [c4,c5]@11 ~ [d4,d5]@2 ~@4",
AE: "[eb4,eb5]@9 ~ [g4,g5]@13 ~", AF: "[eb2,eb3,g3,d4,f4,bb4]@7 ~", AG: "~ [g3,db4,e4,bb4] ~@9 [g3,db4,e4,bb4]@13",
AH: "[f2,f3,bb3,eb4,g4,c5]@7 ~", AI: "[bb2,f3,ab3,d4,f4,c5]@7 ~", AJ: "[eb2,eb3,g3,d4,f4,bb4] [eb3,g3,d4,f4,g4,bb4]",
AK: "[g3,c4,eb4,bb4]@4 bb3@2 [ab3,db4,e4,b4]@3 ~@7 bb3@8, ~@5 [g3,c4,eb4,bb4]@7", AL: "[d3,a3,c4,g4,a4]@5 ~",
AM: "[g2,ab3,db4,f4,ab4]@5 ~", AN: "[c3,g3,b3]@23 ~, [e4,g4,d5] ~", AO: "[a2,g3,c4,e4,g4,b4] [g2,e3,g3,c4,e4,a4]",
AP: "~ [a3,e4,gb4,c5] ~@9 [a3,e4,gb4,c5]@13", AQ: "[f2,f3,ab3,d4,f4]@5 ~",
AR: "[e3,a3,d4,gb4,a4,b4]@6 b4 gb4@2 [gb3,c4,eb4,a4]@3, ~@2 [d3,a3,b3] ~", // Bm7 Gbdim Bm7
AS: "~ [gb3,c4,eb4,a4] ~@9 [gb3,c4,eb4,a4]@13", AT: "[d4,e4,c5]@12 ~@4 [c5,c6]@7 ~, [e2,e3,ab3]@23 ~",
AU: "[e2,e3,g3,d4,e4,bb4]@7 ~", AV: "[c3,g3,bb3,f4,g4]@5 ~", AW: "~ [eb3,gb3,a3,d4] ~@9 [eb3,gb3,a3,d4]@13",
AX: "[d4,f4,c5]@12 ~@4 [c5,c6]@7 ~, [bb2,f3,a3]@23 ~", AY: "[db4,f4,bb4]@12 ~@4 [bb4,bb5]@7 ~, [eb2,eb3,g3]@23 ~",
AZ: "[a2,e3,g3,c4,e4,b4]@3 [a2,g3,c4,g4,a4] eb5 bb4, ~@2 [gb3,d4,eb4]", // Am7 D
BA: "[g2,a3,c4,f4,a4,d5]@2 [f3,c4,d4,a4] [gb3,ab3,b3,eb4]", // Dm7 Abm7
BB: "[c2,a3,bb3,f4,g4,d5]@2 [f3,g3,bb3,d4] [g3,bb3,db4,e4]", BC: "[f2,f3,a3,d4,g4,c5]@7 ~",
BD: "[~@4 [a3,a4]@8 [bb3,bb4]@4 [c4,c5]@2 ~@4 [d4,d5]@7 ~ [e4,e5]@4 [f4,f5]@2 ~@4 [bb4,bb5]@8]/2", // A Bb C D E F Bb
BE: "[d3,a3,c4,f4,a4,e5]@7 ~", BF: "~ [g3,db4,gb4,b4] ~@9 [g3,db4,gb4,b4]@13",
BG: "[eb4,g4,d5]@12 ~@4 [d5,d6]@7 ~, [c3,g3,bb3]@23 ~", BH: "[f2,f3,a3,eb4,gb4,c5]@7 ~",
BI: "[db4,f4,bb4]@12 ~@4 [bb4,bb5]@7 ~, [bb2,f3,g3]@23 ~", BJ: "[c4,e4,a4]@12 ~@4 [a4,a5]@7 ~, [a2,e3,g3]@23 ~",
BK: "[c3,e3,bb3,d4,e4,g4] [c3,e3,bb3,db4,e4,g4]", BL: "[f2,f3,a3,e4,g4,c5]@7 ~",
BM: "~ [eb3,a3,c4,gb4] ~@9 [eb3,a3,c4,gb4]@13", BN: "[g2,a3,c4,f4,a4]@5 ~",
BO: "[db4,f4,a4]@12 ~@4 [a4,a5]@7 ~, [a2,f3,g3]@23 ~", // Dbaug A Dm
BP: "[f3,b3,d4,a4]@4 a3@2 [gb3,c4,eb4,bb4]@3 ~@7 a3@8, ~@5 [f3,b3,d4,a4]@7", BQ: "[d3,a3,b3,f4,a4]@5 ~",
BR: "[e2,e3,g3,d4,e4]@5 ~", BS: "[eb4,g4,c5]@12 ~@4 [c5,c6]@7 ~, [f2,f3,a3]@23 ~", BT: "[b2,f3,a3,d4,f4,b4]@7 ~",
BU: "~ [f3,bb3,d4,a4] ~@9 [f3,bb3,d4,a4]@13", BV: "[c3,g3,bb3,e4,g4,d5]@7 ~",
BW: "[gb4,bb4,eb5]@12 ~@4 [eb5,eb6]@7 ~, [ab2,bb3,c4]@23 ~", BX: "[eb4,eb5]@5 [g4,g5]@7",
BY: "[[c3,g3,c4,e4,g4,b4]@18 ~@4 [gb3,c4,f4,bb4]@25 ~]/2", // Cmaj7 Gbmaj7
BZ: "[[f3,bb3,d4,a4]@9 ~ [f3,bb3,d4,a4]@2 ~@6 [g3,db4,eb4,bb4]@29 ~]/2", CA: "[g3,d4,e4,bb4] ~@11",
CB: "~@6 c5@11 ~ db5@4 d5@2", CC: "[~@22 eb2@19 ~ [a4,c5,f5,a5]@54, ~@11 [g3,c4,f4]@37]/4",
})).s("gm_piano").gain(0.15).pan(0.6)
// other · alto sax
const alto_sax = note(`<
~ A@4 B ~@12 C@2 D@2 ~@4 E@2 F@2 G@4 H@2 I@2 J K L M ~@10 N@2 O@2 P@2 ~@4 Q R S@2 ~ T@2 U ~@2 V@2 W ~@29 X Y Z ~@2
AA@4 AB@2 ~@5 AC AD AE AF@2 ~ AG AH AI ~@6 A@4 AJ AK AL AM@4
>`.pickRestart({
A: "[~@6 e4@2 ~@4 d4@4 d4@2 ~@4 c4@43 ~@5 f4@7 ~ e4@2 ~@4 f4@4 d4@2 ~@4 d4@2]/4", B: "~@6 a4@11 ~ g4@4 f4@2",
C: "[~@4 e4@7 ~ c4@4 d4@2 ~@4 ab4@19 ~@7]/2", D: "[d4@11 ~ bb3@4 d4@2 ~@4 db4@19 ~ c4@2 ~@4]/2",
E: "[~@22 g3@25 ~]/2", F: "[~@6 bb3@11 ~ c4@4 db4@26]/2", G: "[~@6 d4@5 a3@12 db4@7 d4@5 a4@13]/4",
H: "[~@6 a3@2 c4 a3@2 c4@13]/2", I: "[bb3@8 ~@3 g4 a4@10 gb4@25 ~, ~@12 ab4 ~@35]/2", J: "~@5 e4 ~@6",
K: "c4@5 b3@4 c4 ~@2", L: "~@3 d4@6 d4 ~@2", M: "eb4@10 d4@13 ~", N: "[~@6 ab4@5 g4@13]/2",
O: "[gb4@10 gb4@2 ~@6 f4@29 ~]/2", P: "[~@6 d4@5 db4@13]/2", Q: "d4", R: "d5@10 b4@7 ~ ab4@2 ~@4",
S: "[f4@12 e4@4 f4@2 ~@4 eb4@4 d4 ~@21]/2", T: "[~@22 a4@19 ~ gb4@2 ~@4]/2", U: "f4@10 d4@7 ~ gb4@2 ~@4",
V: "[~@6 d4@2 eb4 ~@2 e4@4 d4@2 db4 ~@2 f4@4]/2", W: "e4@2 eb4 ~@21", X: "~@6 d4@11 ~ d4@2 ~@4", Y: "eb4@5 d4@7",
Z: "f4@9 ~ f4@2 ~@12", AA: "[c4@12 db4@9 ~ d4@24 c4@24 c4@25 ~]/4", AB: "[c4@12 b3@9 ~ b3@26]/2",
AC: "~@6 f4@11 ~ f4@2 ~@4", AD: "d4@4 d4@2 ~@4 g4@7 ~ f4@2 ~@4", AE: "f4 ~@11",
AF: "[~@10 e4@2 eb4@4 d4@2 ~@4 d4@24 ~ c4, ~@23 db4]/2", AG: "~@6 d4@15 ~ d4@2", AH: "~@10 eb4@7 ~ d4@2 ~@4",
AI: "c4@12 b3@4 c4@2 ~@5 b3, ~@11 c4", AJ: "~@6 f4@11 ~ gb4@4 f4@2", AK: "~@4 eb4@7 ~ d4@2 ~@4 db4@2 ~@4",
AL: "c4@10 a3@7 ~ g3@2 ~@4", AM: "a3/4",
})).s("gm_alto_sax").gain(0.3).pan(0.4)
// other · alto sax · soft notes
const alto_sax_soft = note("<~@36 A ~@28 B ~@8 C ~@49 D E ~@2 F G ~@16>".pickRestart({
A: "~@7 b3 [c4,db4] [d4,eb4,e4] f4 gb4 ~@12", B: "~@2 db4 [bb3,b3,c4] a3 ~@19", C: "~@3 [c4,db4,d4] ~@20",
D: "~@23 b3", E: "[a3,bb3] ~@23", F: "~@23 bb3", G: "[ab3,a3] ~@23",
})).s("gm_alto_sax").gain(0.15).pan(0.4)
// other · tenor sax
const tenor_sax = note(`<
A@5 B ~@3 C@2 D E@2 F D G@2 H@2 I@2 J@3 K L@2 M@2 N@4 O@2 P@2 Q R S T ~@2 U V@2 W X@2 Y ~ Z@2 AA@2 Z@2 AB@2 AC@2 AD AE
AF@2 ~ AG@2 AH AI AJ@3 AK ~@15 AL AM@3 AN AO@2 AP AQ@2 AR@2 ~@2 AS AT Y ~@2 AU@4 AV@2 ~@5 AW AX AY AZ@2 BA BB BC BD BE
BF@2 BG@2 BH@5 B BI BJ BK@4
>`.pickRestart({
A: "[~@22 a3@7 ~ a3@2 ~@4 a3@4 a3@2 ~@4 g3@43 ~@5 c4@7 ~ b3@2 ~@4 bb3@4 a3@2 ~@4 b3@2]/5",
B: "~@6 db4@11 ~ db4@4 c4@2", C: "[~@22 a4@25 ~]/2", D: "a4@10 ab4@7 ~ a4@2 ~@4", E: "[a4@47 ~]/2", F: "a4@23 ~",
G: "[a4@12 a4@10 g4@25 ~]/2", H: "[~@4 c4@7 ~ a3@4 c4@2 ~@4 f4@19 e4 d4@2 ~@4, ~@42 eb4 ~@5]/2",
I: "[bb3@11 ~ a3@4 bb3@2 ~@4 bb3@19 ~ c4@2 ~@4]/2", J: "[d4@21 ~ d4@14 db4@4 d4@2 ~@4 c4@25 ~]/3", K: "c4 ~@11",
L: "[~@18 f3@4 a3@25 ~]/2", M: "[~@6 g3@11 ~ d4@4 c4@26]/2", N: "[~@6 bb3@5 gb3@12 a3@7 a3@5 db4@13]/4",
O: "[~@6 c4@2 db4 c4@2 bb3@13]/2", P: "[a3@10 bb3 [b3,c4] d4@10 d4@25 ~, ~@12 db4 ~@35]/2", Q: "~@5 a3 ~@6",
R: "a3@5 g3@4 gb3 ~@2", S: "~@3 bb3@6 bb3 ~@2", T: "c4@10 b3@13 ~", U: "~ eb4", V: "[d4@3 b3]/2", W: "c4 eb4",
X: "e4/2", Y: "d4@9 ~ d4@2 ~@12", Z: "[~@6 c4@5 c4@13]/2", AA: "[d4@10 d4@2 ~@6 d4@29 ~]/2",
AB: "[a3@2 ab3 [f3,gb3,g3] ~@18 a3@12 ab3@7 ~ a3@2 ~@4]/2", AC: "[a3@47 ~]/2", AD: "bb3",
AE: "a4@10 gb4@7 ~ eb4@2 ~@4", AF: "[d4@12 db4@4 d4@2 ~@4 c4@4 [bb3,b3] [g3,ab3,a3] gb3 ~@19]/2",
AG: "[~@10 c4@2 b3@4 c4@2 ~@4 d4@19 ~ e4@2 ~@4]/2", AH: "d4@10 c4@7 ~ db4@2 ~@4", AI: "f4@23 ~",
AJ: "[~@3 a4@2 g4 f4@2 d4 c4@2 a3@7 bb3@2 db4 ~@2 b3@4 a3@2 ab3 ~@2 db4@4]/3", AK: "db4@2 c4 [a3,bb3,b3] ~@20",
AL: "~ db3@3", AM: "[d3@5 e3@3 f3 g3@2 a3@25]/3", AN: "~@6 bb3@11 ~ a3@2 ~@4",
AO: "[g3@10 f3@3 ~@3 e3@2 f3@4 d4@19 ~ f3@2 ~@4]/2", AP: "c4@3 b3@2 bb3@7", AQ: "[~@6 g3@2 e3 f3@2 gb3@7 bb3@6]/2",
AR: "[a3@6 f3@2 d3 eb3@2 e3@13]/2", AS: "~@6 bb3@11 ~ bb3@2 ~@4", AT: "c4@5 b3@7",
AU: "[ab3@12 ab3@9 ~ bb3@24 a3@24 ab3@25 ~]/4", AV: "[a3@12 bb3@9 ~ a3@26]/2", AW: "~@6 c4@11 ~ d4@2 ~@4",
AX: "a3@4 a3@2 ~@4 d4@7 ~ db4@2 ~@4", AY: "e4 ~@11", AZ: "[~@10 b3@2 bb3@4 a3@2 ~@4 bb3@24 ~ [bb3,b3], ~@23 c4]/2",
BA: "[ab3,a3] ~@23", BB: "~@6 bb3@15 ~ a3@2", BC: "~@10 bb3@7 ~ a3@2 ~@4",
BD: "g3@12 gb3@4 g3@2 ~@5 [f3,gb3], ~@11 g3", BE: "[eb3,e3] ~@9 gb3@7 ~ g3@2 ~@4",
BF: "[e4@9 ~@2 d4@6 d3 db3@3 d3 ~@2]/2", BG: "[c4@18 db4@29 ~]/2",
BH: "[db4@2 ~@20 a3@7 ~ a3@2 ~@4 a3@4 a3@2 ~@4 g3@43 ~@5 c4@7 ~ b3@2 ~@4 bb3@4 a3@2 ~@4 b3@2]/5",
BI: "~@4 bb3@7 ~ a3@2 ~@4 ab3@2 ~@4", BJ: "g3@10 ab3@7 ~ d3@2 ~@4", BK: "g3/4",
})).s("gm_tenor_sax").gain(0.3).pan(0.4)
// other · tenor sax
const tenor_sax_2 = note(`<
A@5 B ~@12 C@2 D@2 E@3 F G@2 H@2 I@4 J@2 K@2 L M N O ~ P Q@2 R@2 S T U ~ V@2 W@2 X@2 ~@4 Y Z AA@2 ~ AB@2 AC AD ~ AE@2
AF ~@29 AG AH AI ~@2 AJ@4 AK@2 ~@5 AL AM AN AO@2 ~ AP AQ AR ~@5 A@5 B AS AT AU@4
>`.pickRestart({
A: "[~@22 f3@7 ~ e3@2 ~@4 f3@4 g3@2 ~@4 d3@43 ~@5 gb3@7 ~ f3@2 ~@4 eb3@4 eb3@2 ~@4 g3@2]/5",
B: "~@6 g3@11 ~ g3@4 f3@2", C: "[~@4 a3@7 ~ g3@4 a3@2 ~@4 c4@19 ~@7]/2",
D: "[a3@11 ~ f3@4 a3@2 ~@4 ab3@19 ~ c3@2 ~@4]/2", E: "[d3@21 ~ d3@14 db3@4 d3@2 ~@4 c3@25 ~]/3", F: "c3 ~@11",
G: "[~@18 e3@4 eb3@25 ~]/2", H: "[~@6 d3@11 ~ e3@4 g3@26]/2", I: "[~@6 eb3@5 eb3@12 f3@7 f3@5 g3@13]/4",
J: "[~@6 e3@2 ab3 g3@2 gb3@13]/2", K: "[f3@11 ab3 bb3@10 bb3@25 ~, ~@12 a3 ~@35]/2", L: "~@5 d3 ~@6",
M: "d3@5 db3@4 d3 ~@2", N: "~@3 f3@6 e3 ~@2", O: "ab3@10 ab3@13 ~", P: "~ bb3", Q: "ab3/2", R: "[g3@3 bb3]/2",
S: "c4", T: "b3", U: "a3@9 ~ a3@2 ~@12", V: "[~@6 a3@5 ab3@13]/2", W: "[g3@10 g3@2 ~@6 gb3@29 ~]/2",
X: "[~@6 ab3@5 g3@13]/2", Y: "g3", Z: "gb4@10 eb4@7 ~ a3@2 ~@4", AA: "[c4@12 b3@4 c4@2 ~@4 g3@4 gb3 ~@21]/2",
AB: "[~@10 bb3@2 a3@4 ab3@2 ~@4 bb3@19 ~ b3@2 ~@4]/2", AC: "bb3@10 bb3@7 ~ bb3@2 ~@4", AD: "f3@23 ~",
AE: "[~@6 g3@2 g3 ~@2 f3@4 e3@2 d3 ~@2 g3@4]/2", AF: "f3@2 e3 ~@21", AG: "~@6 f3@11 ~ e3@2 ~@4", AH: "ab3@5 ab3@7",
AI: "g3@9 ~ g3@2 ~@12", AJ: "[~@22 g3@24 gb3@24 f3@25 ~]/4", AK: "[f3@12 f3@9 ~ e3@26]/2", AL: "~@6 a3@11 ~ a3@2 ~@4",
AM: "f3@4 eb3@2 ~@4 ab3@7 ~ g3@2 ~@4", AN: "f3 ~@11", AO: "[~@10 f3@2 e3@4 eb3@2 ~@4 g3@24 ~ gb3, ~@23 g3]/2",
AP: "~@6 eb3@15 ~ eb3@2", AQ: "~@10 e3@7 ~ eb3@2 ~@4", AR: "d3@12 db3@4 d3@2 ~@5 c3, ~@11 db3",
// … 329 more lines
More by Parker Charlie
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.