0:00/0:00
// Autumn in New York — Dorsey
// 112 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 83 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(112/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 D E F G H E@2 I J K A L M E N O P K N Q R S T U V W X Y Z AA AB AC AD AA AE AF AG AH AI AJ AK AL AM AN AO AP AQ
AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP S BQ BR BS BT BU BV BW
>`.pickRestart({
A: "c2@12 g2@10 c2 ~", B: "c2@12 g2@10 c1 ~", C: "d2@8 d1 ~ d2 ~ g2@12", D: "d2@3 ~ d2@2 a2@6 g2@10 c#2@2",
E: "c2@12 g2@11 ~", F: "c2@9 ~ c2@2 g2@8 ~@2 g2 ~", G: "d2@6 g2@5 c#2", H: "d2 ~@11",
I: "d2@3 ~ d2@2 a2@6 g2@8 g1 ~ g2 ~", J: "d2 g2 d2 g2", K: "c2 g2", L: "d2@12 a2@11 ~", M: "d2@5 ~@7 g2@11 ~",
N: "c2@10 g2@2 c3@3 ~ g2@2 c2@6", O: "d2 a2", P: "g2@10 g1 ~ d2@4 a2 ~ g2@6", Q: "g2 d3", R: "c2@12 g2@6 c2@4 c1 ~",
S: "f2 f3 c3 a2", T: "f2 g2 g#2 c3", U: "~@4 g1 ~ g2@4 g1 ~ c2@4 c2 ~ b1@6, c2 ~@3",
V: "c2@4 c2 ~ c#2@6 d2@4 d1 ~ d#2@6", W: "e2@3 ~ e1 ~ f#2@5 ~ g2@6 b2@4 e2@2", X: "a1 ~ a1 b1@3 c#2@3 e2@3",
Y: "d2@3 e2@3 f2@3 a2@2 d2", Z: "g2@3 g2@3 g2@2 g1 g2@3", AA: "c2@3 g2@3 c3@3 g2@2 c#2", AB: "c3 c2 e2 g2",
AC: "d2@3 a2@3 d3@3 a2@2 g#2", AD: "g2@5 ~ g2@6 d2@4 d1 ~ g2@4 g1 ~", AE: "c2 c3 g2 e2",
AF: "g2@3 a2@3 a#2@3 d3@2 g2", AG: "c2 g2!2 c2", AH: "f2@3 c3@3 f3@3 c3@2 f#2", AI: "f2@3 g2@3 g#2@3 c3@2 f2",
AJ: "c2 d2 e2 g2", AK: "a1 b1 c#2 e2", AL: "d2@5 d2 e2@5 e2", AM: "f2@10 f2@2 g2@5 ~ g1@4 d2 ~",
AN: "c2 ~ c2 d2@3 e2@3 g2@3", AO: "c2 g2 e2 c2", AP: "d2@3 a2@3 d3@3 a2@2 a2",
AQ: "g#2@2 ~@2 g#1@7 ~ a#1@3 ~@3 c2@3 ~@3", AR: "c#2 ~ c#2 d#2@3 f2@3 g#2@3", AS: "c#2 c#3 g#2 f2", AT: "c#2!3 g#2",
AU: "c#2@4 c#2 ~ g2@6 g#2@6 c#2@3 ~ c#2@2", AV: "f#2 c#3 a#2 f#2", AW: "f#2 c#3 a2 f#2",
AX: "c#2@3 g#2@3 c#3@3 g#2@2 d2", AY: "c#2@4 c#1@2 c#2@6 d#2@6 e2@4 e1 ~", AZ: "f2@3 ~ f1 ~ g2@5 ~ g#2@6 c3@4 f2@2",
BA: "a#2 a#1 d2 f2", BB: "a1@4 e1@2 e2@5 ~ c2@6 a1@3 ~ e1@2", BC: "d2@6 e2@6 f#2@5 ~ c#2@6",
BD: "~@4 d#2@8 a#2@5 ~ d#2@2 ~@4", BE: "d#2 ~@11", BF: "~@4 d#2 ~ d#3@4 d#2 ~ a1@5 ~ a1@6, g#2 ~@3",
BG: "g#2 a#2 c3 d#3", BH: "a#1@4 a#0 ~ c2@6 c#2@6 f2@4 a#1@2", BI: "d#2 a#2 g2 d#2",
BJ: "g#2@6 a1@6 a#1@4 a#1 ~ b1@6", BK: "c3@6 g2@6 ~@4 g#1 ~ g#2@4 g#1 ~, ~@2 c#2 ~",
BL: "d#2@4 a#1@2 a#2@5 ~ f#2@6 d#2@3 ~ a#1@2", BM: "g#2 d#3 c3 g#2", BN: "c#2@6 d#2@6 e2@6 f2@5 ~",
BO: "f#2@4 c#2 ~ g#2@6 a#2@4 c#2 ~ c#3@4 c#2 ~", BP: "g#2@3 d#3@3 g#3@3 d#3@2 f#2",
BQ: "a#1@4 a#1 ~ b1@6 c2@4 c2 ~ c2@6", BR: "c#3@6 g#2@6 d#2@3 ~ d#2@2 a#2@6",
BS: "g#2@4 d#2@2 d#3@5 ~ c3@6 g#2@3 ~ d#2@2", BT: "g#2 g#3 d#3 c3", BU: "a#1@3 c2@3 c#2@3 f2@2 e1", BV: "e2@23 ~",
BW: "g#2 ~@11",
})).s("gm_acoustic_bass").gain(0.16).pan(0.3)
// chords · piano
const piano = note(`<
A@2 B C D E F G H@2 I J@2 K L M N@3 O E@2 P Q R S@2 T U@2 V W X@2 Y Z@2 AA@2 AB@2 AC AD@2 AE AF@2 AG@2 AH AI AJ@2 AK@4
AL AM@2 AN AO AP AQ AR AS@2 AT AU AV AW AX AY AZ BA BB@2 BC BD@3 BE BF
>`.pickRestart({
A: "[[e3,g3,c4]@11 [e3,c4,g4]@13]/2", B: "[f3,c4,d4,a4]@5 [f3,c4,d4,a4]@7", C: "[f3,c4,d4,a4]!2", D: "[e3,c4,g4]",
E: "[e3,g3,c4]", F: "[f3,a3,c4,d4] [f3,b3,d4,g4]", G: "[f3,c4,d4,a4] ~@11",
H: "[c5,e5] ~@2 [c5,e5] ~@2 [b4,e5]@2 c5 [a4,e5] ~@2, [e3,c4,g4]", // C E5 A5 C
I: "[c5,f5] ~@2 [c5,f5] ~@2 [b4,f5]@2 c5 [a4,f5]@2 b4, [f3,a3,c4,d4] [f3,b3,d4,g4]", // F5 Bdim Dm Dm7 G7
J: "[[f3,c4,d4,a4,c5,f5]@2 ~@4 [g3,b4]@4 ~@2 [a3,c5,g5]@4 ~@2 [b3,d5,g5] ~@5 [c5,e5]@2 ~@4 [c5,e5]@2 ~@4 [b4,e5]@4 c5@2 [a4,e5]@2 ~@4, ~@11 [e3,c4,g4]@13]/2", // Dm7 G Am7 G C E5 A5 C
K: "[c5,e5] ~@2 [c5,e5] ~@2 [b4,e5]@2 c5 [a4,e5] ~@2, [e3,g3,c4]", // C E5 A5 C
L: "[c5,f5] ~@2 [c5,f5] ~@2 [b4,f5]@2 c5 [a4,f5]@2 b4, [f3,a3,c4,d4]", // F5 Bdim Dm Dm7
M: "[f3,a3,c4,d4,c5,f5]@2 ~@10 e4@5 ~ d#4@5 ~, ~@12 [g3,b3,a4]@11 ~", // Dm7 G
N: "[[e3,c4,g4]@22 [e3,g3,c4]@23 ~ [f3,c4,d4,a4]@26]/3", O: "[f3,b3,d4,g4]@2 [f3,a3,c4,d4] [f3,b3,d4,g4]",
P: "[f3,g3,a#3,d4]", Q: "[e3,a#3,c4,g4]@5 [f3,g3,a#3,d4]@4 [e3,a#3,c4,g4]@3", R: "[a3,c4,f4]",
S: "[[g#3,c4,f4]@11 [e3,b3,d4,g4]@7 [e3,c4,g4]@6]/2", T: "[e3,g3,c4]@2 [f3,c4,d4,a4] [f#3,c#4,d#4,a#4]",
U: "[~@10 [g3,d4,e4,b4]@11 ~ [g3,c#4,e4,a4]@23 ~@3]/2", V: "~@5 [f3,a3,c4,d4]@7",
W: "[f3,a3,c4,d4]@5 [b4,f5]@3 [g4,d5]@4, ~@5 [g3,b3,d4,f4]@7", X: "[[e3,c4,g4]@11 [e3,c4,g4]@13]/2",
Y: "[f3,c4,d4,a4]", Z: "[~@10 [f3,b3,d4,g4]@2 [f3,a3,c4,d4]@4 [f3,b3,d4,g#4]@5 ~ [e3,c4,g4]@26]/2",
AA: "[[e3,g3,c4]@11 [f3,a#3,d4,g4]@13]/2", // C Gm7
AB: "[[e3,g3,a#3,c4]@12 [f3,a#3,d4,g4]@4 [e3,a#3,c4,g4]@5 ~ [a3,c4,f4]@23 ~@3]/2", AC: "~@5 [g#3,c4,f4]@7",
AD: "[[e3,c4,g4]@22 [g3,c#4,e4,a#4]@23 ~@3]/2", AE: "~@2 [a3,c4,f4]@3 d2 ~@2 [b3,d4,g4]@3 e2, d2@5 ~ e2@5 ~",
AF: "[~@2 [c4,e4,a4]@3 f2 ~@2 [c4,f4,a4]@3 [e3,c4,g4]@13, f2@10 ~@2 g2@11 ~@25]/2", // Am F C
AG: "[[e3,c4,g4]@22 [f3,a3,c4,d4]@23 ~@3]/2", // C Dm7
AH: "g#2@2 ~@2 [g#1,d#3,f#3,g#3,c4]@7 ~ [a#1,d#3,f#3,a#3,c#4]@3 ~@3 [c2,f#3,a3,c4,d#4]@3 ~@3", AI: "[f3,g#3,c#4]",
AJ: "[[f3,c#4,g#4]@22 [f3,b3,d#4,g#4]@11 ~ [f3,b3,d#4,g#4]@8 [f#3,g#3,c4,e4]@6]/2", // C# Fm7b5 Caug
AK: "[[f3,b3,c#4,g#4]@12 [f#3,g#3,b3,d#4]@6 [f3,b3,c#4,g#4]@4 [a#3,c#4,f#4]@23 ~ [f#3,a3,c#4]@23 ~ [f3,c#4,g#4]@26]/4", // C#7 G#m7 C#7 F# F#m C#
AL: "[f3,g#3,c#4]@5 [f#3,c#4,d#4,a#4]@4 [g3,b3,d4,e4]@3", AM: "[[g#3,d#4,f4,c5]@11 [g#3,d4,f#4,a#4]@13]/2",
AN: "[g3,c4,e4,a4]", AO: "[g3,c4,e4,a4]@11 ~", AP: "~@4 [d#2,g#3,c#4,f4]@8 [a#2,g#3,c#4,f4]@5 ~ d#2@3 ~@3",
AQ: "[g3,a#3,c#4,f4] ~@11", AR: "[g#3,c4,d#4] [g3,b3,c#4,e4]", AS: "[~@10 [c4,d#4,g#4]@11 ~ [g#3,a#3,c#4,f4]@26]/2",
AT: "~@5 [f4,b4] ~@2 [f4,b4] ~@2 f4, [d#3,g3,b3,c#4]", // Fdim D#aug
AU: "[g3,c4,d#4,a#4]@3 [g#4,c#5] [f4,a#4]@2, ~ [f3,g#3,a#3,c#4]", // Cm7 C#5 A#5 A#m7
AV: "[a#3,d#4,g4,c5]@5 [c5,f5]@3 [g#4,d#5]@4, ~@5 [g#3,c4,c#4,f4]@7", AW: "[c#4,f#4,a#4,d#5]", AX: "[c4,e4,f#4,g#4]",
AY: "[f4,g#4,c#5]", AZ: "[a#3,e4,g#4,c#5]", BA: "[c4,d#4,g#4]",
BB: "[~@10 [f4,c#5]@2 ~@4 [f4,c#5]@2 ~@4 [g#3,c#4,f4,a#4]@11 ~ [a#3,d#4,g4,c5]@14, [f3,a3,c#4,d#4]@11 ~@13]/2", // C# A#m7 Cm7 Faug
BC: "[c4,f4,g#4,d#5]@3 [g#4,c#5] [f4,a#4]@2, ~ [d#3,g#3,a#3,c#4]", // Fm7 C#5 A#5 D#sus4
BD: "[~@10 [c4,g#4,d#5]@11 ~ [c4,g#4,d#5]@23 ~ [g#3,c#4,f4,a#4]@26]/3", BE: "[e2,a2,e3,a3,c#4,f#4]@23 ~",
BF: "[g#3,c4,d#4] ~@11", // G#
})).s("gm_piano").gain(0.13).pan(0.3)
// other · alto sax
const alto_sax = note(`<
A@2 B@2 C@2 D E ~@6 F G ~@4 H I ~ J@2 K@2 L M@2 N@2 ~@4 O P Q R@2 S T@2 U V W X Y Z AA AB@2 AC AD AE@2 AF@2 AG@2 AH@2
AI@2 AJ@2 AK@2 AL@2 AM@2 AN AO AP AQ AR@3 AS@2 AT
>`.pickRestart({
A: "[e4@42 a3@3 ~ d4 [d#4,e4]]/2", B: "[f4@47 ~]/2", C: "e4 ~@2 e4 ~@2 b3@2 c4 a3 ~@2",
D: "f4 ~@2 f4 ~@2 b3@2 c4 a3 ~@2", E: "f4 ~@11", F: "~@4 c4@3 ~@3 a3@2 b3@4 c4@2 a3@4 b3@2",
G: "c4@2 f4@4 e4@3 d#4@3", H: "g4 a4", I: "b4@6 c5@5 ~", J: "[~@2 e4 c4@2 e4 f4@2 d4 g4@2 a4@6 f4 e4@2 d4@4]/2",
K: "[g#4@4 g4@4 f4@4 e4@3 ~@3 d4@4 g4@25 ~]/2", L: "~@5 g4 a4@2 a#4@4", M: "[b4@2 a4 g4@2 b4@13 a4@2 g4@2 f4@2]/2",
N: "[a4@6 e4 ~]/2", O: "~@11 d#4", P: "e4@11 ~", Q: "~@2 d4 d4@2 d4 ~@2 d4 d4@2 d4",
R: "[~@2 g4@4 f4@2 d#4 e4@2 c5@9 a4@4]/2", S: "g4@5 d#4 e4@2 c#4 d4 ~@2", T: "[~@4 c5@7 ~ g4@2 ~@4 e4@4 f4@19 ~@7]/2",
U: "~@4 c4@7 ~@5 d4@7 ~", V: "~@4 e4@7 ~@5 f4@7 ~", W: "~@3 c5 ~@2 b4@2 c5 a4 ~@2", X: "c5 ~@2 c5 ~@2 b4@2 c5 a4 ~@2",
Y: "c5 ~@2 c5 ~@2 b4@2 c5 a4@2 b4", Z: "c5@11 ~ c#4@3 ~@3 d#4@3 ~@3", AA: "f4@3 e4@2 f4 ~@2 e4 f4@2 f4",
AB: "[~@6 g#4@4 f4@8 c#5@4 g#4@25 ~]/2", AC: "~@2 f4@4 f#4@2 d#4 g#4@2 a4", AD: "a#4@4 f#4@2 ~@10 f4@3 ~@3 d#4@2",
AE: "[a4@4 g#4@4 f#4@4 f4@3 ~@3 d#4@4 g#4@25 ~]/2", AF: "[~@4 g#4@8 a#4@3 ~@3 b4@4 c5@6 a#4@2 g#4@4 c5@11 ~@3]/2",
AG: "[~@4 c5@2 a#4@4 g#4@2 c5@15 ~ c5@2 b4@4 a4@2 c5@4 b4@4 a4@4]/2", AH: "[c5@4 b4@4 a4@4 c5@4 b4@2 a4@4 c5@25 ~]/2",
AI: "[~@6 g#4@2 ~@4 g4@4 g#4@2 f4@4 d#4@25 ~]/2", AJ: "[~@4 g#4@8 g4@4 g#4@2 f4@4 d#4@25 ~]/2",
AK: "[~@4 d#4@3 ~@3 f4@2 d#4@4 d4@2 c#4@4 c4@12 b3@2 c4@10 b3@2]/2", AL: "[c4@10 d#4@2 c4@3 ~@3 d#4@4 f4@24 ~@2]/2",
AM: "[~@2 d4 d#4@2 f4@4 d#4@2 g#4@12 ~]/2", AN: "~@2 d#4@9 d4", AO: "d#4@11 ~", AP: "~@3 f#4@2 f4@3 c4 c#4@2 d#4",
AQ: "f4 d#4", AR: "[f4@4 ~ [a#4,b4] c5@12 d#4@4 g#4@48 d#4@2]/3", AS: "g#4@23 ~", AT: "g#4 ~@11",
})).s("gm_alto_sax").gain(0.3).pan(0.6)
// other · alto sax · soft notes
const alto_sax_soft = note("<~ A ~@14 B C D E ~@11 F G@2 H@2 ~@41 I ~@5>".pickRestart({
A: "~@20 a#3 [b3,c4] c#4 ~", B: "~@4 d4@3 ~@3 g3@2 c4@4 d4@2 c4@4 g3@2", C: "d4@2 c4 ~@9",
D: "~@4 e4@3 ~@3 a3@2 d4@4 e4@2 d4@4 a3@2", E: "e4@2 d4 ~@9", F: "~@18 d#4@5 ~", G: "[~ e4@7]/2",
H: "[~@3 f4@11 ~@10]/2", I: "~@3 [f#4,g4] [g#4,a4] ~@19",
})).s("gm_alto_sax").gain(0.15).pan(0.6)
// other · alto sax
const alto_sax_2 = note(`<
~@4 A@2 B C ~@7 D E F G H ~@3 I@2 J@2 K L@2 M@2 ~@4 N O P Q@2 R S@2 T U V W X Y Z ~@2 AA AB AC@2 AD@2 ~@14 AE O ~@6 AF
~
>`.pickRestart({
A: "c4 ~@2 c4 ~@8", B: "d4 ~@2 d4 ~@8", C: "d4 ~@11", D: "~ b3", E: "~@4 b3@3 ~@5 a3@4 b3@2 a3@4 ~@2",
F: "b3@2 a3 ~@9", G: "~@4 c4@3 ~@5 c4@4 c4@2 c4@4 ~@2", H: "b3@2 b3 ~@9",
I: "[~@2 c4 a#3@2 c4 d4@2 a#3 e4@2 f4@6 d4 c4@2 c4@4]/2", J: "[f4@4 e4@4 d4@4 c4@3 ~@3 c4@4 e4@25 ~]/2",
K: "~@5 e4 f4@2 f#4@4", L: "[g4@2 f#4 f4@2 g4@13 g4@2 e4@2 c#4@2]/2", M: "[f4@36 b3@11 ~]/2", N: "~@11 b3",
O: "c4@11 ~", P: "~@2 a#3 a#3@2 a#3 ~@2 a#3 a#3@2 a#3", Q: "[~@2 e4@4 d4@2 c#4 d4@2 a4@9 f4@4]/2",
R: "e4@5 d4 c4@2 b3 c4 ~@2", S: "[~@4 a4@7 ~ e4@2 ~@4 c4@4 c#4@19 ~@7]/2", T: "~@4 a3@7 ~@5 b3@7 ~",
U: "~@4 c4@7 ~@5 d4@7 ~", V: "~@3 a4 ~@2 a4@2 a4 g4 ~@2", W: "a4 ~@2 a4 ~@2 a4@2 a4 g4 ~@2",
X: "a4 ~@2 a4 ~@2 g4@2 a4 f4@2 g4", Y: "g#4@11 ~ a#3@3 ~@3 c4@3 ~@3", Z: "c#4@3 c4@2 c#4 ~@2 c4 c#4@2 c#4",
AA: "~@4 c#4@8 d#4@4 b3@2 f4@5 ~", AB: "f#4@4 d#4@2 ~@10 c#4@3 ~@3 c#4@2",
AC: "[f#4@4 f4@4 d#4@4 c#4@3 ~@3 c#4@4 f4@25 ~]/2", AD: "[~@4 f4@8 f#4@3 ~@3 g4@4 g#4@6 g4@2 f4@4 g#4@11 ~@3]/2",
AE: "~@2 a#3@9 b3", AF: "e4@23 ~",
})).s("gm_alto_sax").gain(0.3).pan(0.7)
// other · tenor sax
const tenor_sax = note(`<
~@4 A@2 B C ~@7 D E F G H ~@3 I@2 J@2 K L M N@2 ~@4 O P Q R@2 S T@2 U V W X Y Z AA ~@2 AB AC AD@2 AE@2 ~@14 AF AG ~@6
AH ~
>`.pickRestart({
A: "g3 ~@2 g3 ~@8", B: "a3 ~@2 a3 ~@8", C: "a3 ~@11", D: "~ f3", E: "~@4 e3@3 ~@5 e3@4 e3@2 e3@4 ~@2",
F: "e3@2 e3 ~@9", G: "~@4 f3@3 ~@5 f3@4 f3@2 f3@4 ~@2", H: "f3@2 f3 ~@9",
I: "[~@2 g3 f3@2 g3 g3@2 f3 a#3@2 c4@6 a3 g3@2 f3@4]/2", J: "[c4@4 g#3@4 g#3@4 f3@3 ~@3 f3@4 b3@14 a3@11 ~]/2",
K: "~@5 a3 c4@2 c#4@4", L: "d4@2 c4 b3@2 d4@7", M: "c#4@3 c#4 a3 g3", N: "[a3@36 f3@11 ~]/2", O: "~@11 f#3",
P: "g3@11 ~", Q: "~@2 f3 f3@2 f3 ~@2 f3 f3@2 f3", R: "[~@2 a#3@4 g3@2 f#3 g3@2 e4@9 c4@4]/2",
S: "g#3@5 g#3 f3@2 e3 f3 ~@2", T: "[~@4 e4@7 ~ a3@2 ~@4 g3@4 g3@19 ~@7]/2", U: "~@4 d3@7 ~@5 e3@7 ~",
V: "~@4 f3@7 ~@5 a3@7 ~", W: "~@3 e4 ~@2 d4@2 e4 c4 ~@2", X: "e4 ~@2 e4 ~@2 d4@2 e4 c4 ~@2",
Y: "d4 ~@2 d4 ~@2 d4@2 d4 c4@2 b3", Z: "c4@11 ~ d#3@3 ~@3 f#3@3 ~@3", AA: "g#3@3 g3@2 g#3 ~@2 g3 g#3@2 g#3",
AB: "~@2 g#3@4 g#3@2 f#3 b3@2 c4", AC: "c#4@4 a#3@2 ~@10 g#3@3 ~@3 f#3@2",
AD: "[c#4@4 a3@4 a3@4 f#3@3 ~@3 f#3@4 c4@25 ~]/2", AE: "[~@4 a#3@8 c#4@3 ~@3 d4@4 d#4@6 c#4@2 c4@4 a#3@11 ~@3]/2",
AF: "~@2 e3@9 d3", AG: "d#3@11 ~", AH: "b2@23 ~",
})).s("gm_tenor_sax").gain(0.3).pan(0.4)
// other · baritone sax · "Bari Sax"
const baritone_sax = note(`<
A@2 B@2 A@2 B C ~@7 D E F G H I J@2 K@2 L@2 M N@2 O P ~@3 Q R S T U@2 V W@2 X Y Z AA AB AC AD@2 AE AF AG AH@2 AI@4 AJ
AK AL AM@2 AN@2 AO AP AQ@2 AR@2 AS@2 AT AU AV AW AX AY AZ
>`.pickRestart({
A: "c3 ~@3 g2 ~@3", B: "d3 ~@3 g2 ~@3", C: "d3 ~@11", D: "~ g2", E: "~@4 d3@3 ~@3 g2@2 c3@4 d3@2 c3@4 g2@2",
F: "d3@2 c3 ~@9", G: "~@4 e3@3 ~@3 a2@2 d3@4 e3@2 d3@4 a2@2", H: "e3@2 d3 ~@9", I: "~@11 g2",
J: "[c3@2 ~@16 c3@4 g2@19 ~@7]/2", K: "[~@2 e3 c3@2 e3 f3@2 d3 g3@2 a3@6 f3 e3@2 d3@4]/2",
L: "[g#3@4 g3@4 f3@4 e3@3 ~@3 d3@4 g3@25 ~]/2", M: "~@5 g3 a3@2 a#3@4", N: "[b3@2 a3 g3@2 b3@13 a3@2 g3@2 f3@2]/2",
O: "d3", P: "g2@23 ~", Q: "~@4 g2@7 ~ a2@3 ~@3 b2@3 ~@3", R: "~@11 b2", S: "c3@11 ~",
T: "~@2 g2 g2@2 g2 ~@2 g2 g2@2 c3", U: "[~@2 g3@4 f3@2 d#3 e3@2 c4@9 a3@4]/2", V: "g3@5 f3 e3@2 c#3 d3 ~@2",
W: "[~@4 c4@7 ~ g3@4 e3@2 c3@4 a2@19 ~@5 a2@2]/2", X: "d2@5 d2 e2@5 e2", Y: "f2@10 f2@2 g2@11 ~",
Z: "~@3 c4 ~@2 b3@2 c4 a3 ~@2", AA: "c4 ~@2 c4 ~@2 b3@2 c4 a3 ~@2", AB: "c4 ~@2 c4 ~@2 b3@2 c4 a3@2 g3",
AC: "f#3@11 ~ a#2@3 ~@3 c3@3 ~@3", AD: "[c#3@6 c3@4 c#3@2 ~@4 c3@2 c#3@4 c#3@25 ~]/2", AE: "~@3 c#3 ~@2 c#3@3 g#2@3",
AF: "c#3 ~ f3@4 f#3@2 d#3 g#3@2 a3", AG: "a#3@4 f#3@2 ~@10 f3@3 ~@3 d#3@2",
AH: "[a3@4 g#3@4 f#3@4 f3@3 ~@3 d#3@4 g#3@25 ~]/2",
AI: "[~@4 g#3@8 a#3@3 ~@3 b3@4 c4@6 a#3@2 g#3@4 f3@11 ~ a#2@20 a#2@4 a2@26]/4", AJ: "d2", AK: "~@4 d#2@19 ~",
AL: "d#2 ~@11", AM: "[~@10 a2@12 g#2@19 ~@7]/2", AN: "[~@10 a#2@12 d#2@19 ~@7]/2", AO: "~ g#2@2 ~ a#2@2",
AP: "~ c3@2 ~ c#3@2", AQ: "[~@4 d#3@8 a#2@6 d#2@4 g#2@19 ~@7]/2", AR: "[~@5 c#3@4 c#3@2 f#2@12 g2]/2",
AS: "[g#2@9 g#2@2 f2@10 ~@2 f2]/2", AT: "a#2@5 a#2 c3@5 c3", AU: "c#3@5 c#2 d#2@6", AV: "~@3 g#2 ~@2 g#2@6",
AW: "g#2 ~@2 g#2 ~@2 g#2@6", AX: "~@3 a#2 ~@2 a#2@6", AY: "e2@23 ~", AZ: "g#2 ~@11",
})).s("gm_baritone_sax").gain(0.3).pan(0.8)
// other · trumpet · "Trumpet 1"
const trumpet = note(`<
A@2 B@2 ~@18 C@2 ~@2 D E F G ~ H I H I J K L@2 ~ M N O P Q R S ~@2 T U@2 V W X ~ Y Z AA@3 AB AC AD AE@4 AF AG AH@2
AI@2 AJ@2 AK AL AC AM AC AN W
>`.pickRestart({
A: "e5@2 ~@4 e5@2 ~@8 e5@3 ~@5", B: "f5@2 ~@4 f5@2 ~@8 f5@3 ~@5",
C: "[~@4 d5@3 ~@3 c#5@2 d5@4 g4@2 a#4@4 d5@13 ~@13]/2", D: "~@4 d5@3 ~@3 d5@2 c5@4 g4@7 ~", E: "d5@2 c5 ~@9",
F: "~@16 e5@3 ~@3 b4@2", G: "e5@2 e5!2 ~@8", H: "~@3 c5@3 b4@2 c5@2 a4@2", I: "g4@23 ~",
J: "~@4 b4@7 ~ c5@3 ~@3 d5@3 ~@3", K: "e5@3 d#5@2 e5 ~@2 d#5 e5 ~@2",
L: "[~@4 g5@7 ~ e5@2 ~@4 g5@4 a5@12 a5@2 ~@4 f5@2 g5@4 a5@2]/2", M: "~@2 a4 c5@2 e5 ~@6", N: "~@2 e5 ~@8 d#5",
O: "e5 ~@11", P: "~@4 e5@7 ~ f5@3 ~@3 g5@3 ~@3", Q: "a5@11 ~ g5@11 ~", R: "e5@11 ~ c5@11 ~", S: "c5@23 ~",
T: "~@4 c5@7 ~ c#5@3 ~@3 d#5@3 ~@3", U: "[f5@6 e5@4 f5@2 ~@4 e5@2 f5@4 f5@19 ~@7]/2",
V: "~@6 g#5@2 ~@4 g#5@4 f5@2 a#5@5 ~", W: "g#5 ~@11", X: "~@5 c#5 ~@6", Y: "~@6 f5@4 g#5@3 ~@3 f5@2 d#5@2 ~@4",
Z: "f5 ~@11", AA: "[~@16 c5@2 d#5@4 g5@19 ~ g5@4 g5@26]/3", AB: "e5@23 ~", AC: "~@3 g#5 ~@2 g5@2 g#5 f5 ~@2",
AD: "d#5 ~@11", AE: "[~@4 g#4@2 c5@4 d#5@12 d#5@19 ~@7]/2", AF: "~ c5@2 ~ c#5@2", AG: "~ d#5@2 ~ f5@2",
AH: "[~@4 f#5@8 a#4@4 c#5@2 d#5@4 f5@19 ~@7]/2", AI: "[~@10 g#5@8 f5@4 d#5@11 ~ c#5@2 c5@4 c#5@7 ~]/2",
AJ: "[~@4 g#5@7 ~ d#5@2 ~@4 c5@4 c#5@20 ~@6]/2", AK: "~ c#5@2 ~ d#5@2", AL: "~@4 f5@8 g#5@11 ~",
AM: "g#5 ~@2 g#5 ~@2 g5@2 g#5 f5 ~@2", AN: "g#5@23 ~",
})).s("gm_trumpet").gain(0.35).pan(0.6)
// other · trumpet · "Trumpet 2"
const trumpet_2 = note(`<
A@2 B@2 C@2 D@2 ~@14 E@2 ~@2 F G H I ~@5 J K L@2 ~ M N O P Q R ~@3 S T@2 U V W ~ X Y Z@3 AA AB O AC@2 AD@2 AE AF AG@2
AH@2 AI@2 AJ AK AL AM AB AN AO
>`.pickRestart({
A: "c5@2 ~@4 c5@2 ~@8 c5@3 ~@5", B: "d5@2 ~@4 d5@2 ~@8 d5@3 ~@5", C: "[e4@42 a4@5 [a#4,b4]]/2", D: "[c5@9 ~@7]/2",
E: "[~@4 a#4@3 ~@3 a4@2 a#4@4 ~@2 g4@4 a#4@13 ~@13]/2", F: "~@4 b4@3 ~@3 b4@2 a4@4 ~@8", G: "b4@2 a4 ~@9",
H: "~@16 d5@3 ~@5", I: "c#5@2 c#5!2 ~@8", J: "~@4 g4@7 ~ a4@3 ~@3 b4@3 ~@3", K: "c5@3 b4@2 c5 ~@2 b4 c5 ~@2",
L: "[~@4 e5@7 ~ c5@2 ~@4 e5@4 f5@12 f5@2 ~@4 d5@2 d5@4 e5@2]/2", M: "~@2 f4 a4@2 c5 ~@6", N: "~@2 c5 ~@8 b4",
O: "c5 ~@11", P: "~@4 c#5@7 ~ c#5@3 ~@3 e5@3 ~@3", Q: "f5@11 ~ e5@11 ~", R: "c5@11 ~ a4@11 ~",
S: "~@4 g#4@7 ~ a#4@3 ~@3 c5@3 ~@3", T: "[c#5@6 c5@4 c#5@2 ~@4 c5@2 c#5@4 c#5@19 ~@7]/2",
U: "~@6 d#5@2 ~@4 d#5@4 c#5@2 e5@5 ~", V: "d#5 ~@11", W: "~@5 a#4 ~@6", X: "~@6 c#5@4 d#5@3 ~@3 c#5@2 a#4@2 ~@4",
Y: "c#5 ~@11", Z: "[~@16 g#4@2 c5@4 e5@19 ~ e5@4 e5@26]/3", AA: "c5@23 ~", AB: "~@3 f5 ~@2 e5@2 f5 c#5 ~@2",
// … 217 more lines
More by Dorsey
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.