0:00/0:00
// Sentimental Journey — Dorsey
// 132 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// 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(132/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.
// chords · piano · "#A.Piano"
const piano = note(`<
~@4 A B C D@3 E F G H I J I K@2 L M N O P Q@3 ~ R S T J I U V W X Y ~@14 A Z@2 AA AB@2 AC AD AE@2 AF AG AH AI AJ AK AL
AM O P AN@3 ~ R S T J I U V W X Y ~@5
>`.pickRestart({
A: "~@2 [d4,f#4,a4,b4,d5,f#5,a5,b5,d6] ~@3 [d4,f#4,a4,b4,d5,f#5,a5,b5,d6]@4 ~@2", // Bm7
B: "~@4 [a4,c#5,e5]@2 f#5 ~@3 [a4,c#5,e5]@2 ~ g5 ~ f5@8 ~, ~@4 a5 ~@5 a5 ~ g#5@2 f#5@2 ~@8", // A
C: "~@4 [g4,b4,d5] ~ e4 ~@5 [e4,g4,b4,d5,e5]@4 f#5@2 [d4,d5]@4 [e4,g4,c#5,e5] ~, ~@2 [d4,f#5] ~@5 [g4,b4]@3 ~", // G Em7 D C#dim D G
D: "[~@4 [g3,b3,d4,f#4]@3 ~@3 [g3,d4] ~ [g3,c#4,e4]@4 ~@2 [g3,b3,c#4,e4]@4 [g3,b3,d4,f#4]@8 [g3,b3,d4,f#4]@3 ~ [g3,b3,c#4,e4] ~@5 [b3,f#4]@2 [a3,c#4]@4 [g3,b3,d4,f#4]@8 [g3,b3,d4,f#4]@3 ~ [g3,b3,c#4,e4] ~@5 a3@2 ~@5 a#5, ~@10 b3@6 ~@24 g3@5 ~@27, ~@40 d4 ~@31]/3", // Gmaj7 G5 C#dim C#m7b5 Gmaj7 C#m7b5 B5 A …
E: "a5 ~ g#5 g5 ~ f#5 a5 ~@4 f5 f#5 g5@3 e5@2 f5@4 f#5 ~, [g3,b3,d4]@4 ~ [g3,b3,c#4,f#4]@6 ~", // G Gmaj7
F: "[a3,b3,e4] ~@3 [d4,f#4]@2 ~@4 [a3,b3,d4,f#4]@2 [b3,d4,e4,g4]@4 ~@2 [b3,d4,e4,g4]@5 ~, f#4@2 ~@2 [a3,b3] ~@19", // Asus2 D Bm7 Em7 Asus2
G: "~@2 [a3,b3,d4,f#4] ~@3 [a3,b3,d4,f#4]@5 ~", // Bm7
H: "[a3,c#4,e4]@4 ~@2 [a3,c#4,e4,f#4]@5 ~ [g#3,c4,d#4,f4]@5 ~ [g#3,c4,d#4,f4]@5 ~", // A F#m7 Fm7
I: "[b3,d4,e4,g4]@2 ~ [b3,d4,e4,g4]@2 ~ [b3,c#4,e4,a4]@2 ~ [b3,c#4,e4,a4]@2 ~", // Em7 A
J: "[b3,e4,g4]@4 ~@2 [b3,d4,e4,g4]@4 ~@2 [c#4,e4,a4]@4 ~@2 [g3,b3,c#4,e4,a4]@5 ~", // Em Em7 A A7
K: "[b3,e4,g4]@4 ~@2 [b3,d4,e4,g4]@4 ~@2 [c#4,e4,a4]@4 ~@2 [g3,a3,c#4,e4,a4]@5 ~", L: "[d3,b3,e4,f#4,a4] ~@7",
M: "~@10 g5@2 [d5,d6]@3 ~ [d5,d6] ~@5 e5@2, ~@4 f#5@7 ~@13, ~@5 d5@7 ~@12, ~@5 d6@2 ~@17, ~ b5 ~@2", // D
N: "[b4,c#5,f#5]@4 ~@2 f#5@5 ~@7 a6@3 ~@3, ~@4 c#5@7 a5@11 ~@2, ~@4 c#5@3 ~, ~@16 c#6@5 ~@3", // Bsus2
O: "[a4,b4,d5,f#5]@3 ~@7 d6@2 a5@4 b5@2 f#5@4 a5@2", // Bm7
P: "d5@3 ~@3 [d5,f#5]@3 ~ a4@2 [e5,g5]@2 ~@4 [d5,f#5]@2 ~@2 c#5@2, ~@22 e5 ~", // D Em D
Q: "[[b4,d5]@6 ~@4 [b4,d5]@5 ~ d5 ~ f#4@4 [a4,d5,a5]@7 ~ [d5,d6]@3 ~ [g#4,g#5]@5 ~ g#4@5 ~ [g4,g5]@5 ~ g5 ~ b4@2 g4@2 b4@2 d5@4 ~@8, ~@18 f#5@2 ~@19 g#5@5 ~@10 b5 ~ g5 ~ b5 ~ d6@2 ~@10]/3", // Bm D5 D G# G
R: "~@4 [a3,b3,d4,f#4]@2 g5@2 ~@2 f5 ~ f#5@4 b5 ~ c6@4 ~@2, ~@4 a5 ~@7 [a3,b3,d4,f#4]@10 ~@2", // Bm7
S: "[a3,c#4,e4,c#6]@4 ~@2 [a3,c#4,e4,f#4,c#6]@5 ~ [g#3,c4,d#4,f4,c6]@4 f5 ~ f#5 ~ a5 ~ c6 ~, ~@18 [g#3,c4,d#4,f4]@5 ~", // A F#m7 Fm7
T: "[d4,e4,g4,b5]@5 ~ [b3,d4,e4,g4,b5]@4 ~@2 [b3,c#4,e4,a4]@4 ~@2 [b3,c#4,e4,a4]@4 ~@2, b3 ~@7", // Em7 A
U: "[b3,e4,g4]@4 ~@2 [b3,d4,e4,g4]@4 ~@2 [c#4,e4,a4]@4 f#5 ~ [g3,a3,c#4,e4,a4]@4 b5@2, ~@9 g5 ~@2", // Em Em7 A A7
V: "[b3,e4,g4]@4 b5@2 [b3,d4,e4,g4]@4 g5 ~ [c#4,e4,a4,b5]@4 ~@2 g5 ~ f#5 ~ e5 ~, ~@18 [g3,a3,c#4,e4,a4]@5 ~", // Em Em7 A A7
W: "[f#3,c#4,e4,f#4,a4,f#5]@4 e5 ~ [f#3,c#4,e4,a4,f#5]@4 a5 ~ [b3,c4,f#4,a4,f#5]@5 ~ [b3,c4,d#4,f#4,a4]@5 ~, ~@4 d#4 ~@3", // F#m7 F#dim B7
X: "d5@4 b5 ~ f#5@4 ~@2 b5@3 ~ f#5@6 ~@2, [g3,b3,d4,f#4,a4]@11 ~ [g3,b3,d4,f#4,a4]@10 ~@2", // Gmaj7
Y: "b4@2 a5 ~ f#5 ~ d5@4 ~@2 [g3,a#3,c#4,f#4,a4]@11 ~, [g3,b3,d4,f#4,a4]@11 ~ a#5@6 ~@6", // F# Gmaj7
Z: "[~@4 [a4,c#5,e5]@2 f#5 ~@3 [a4,c#5,e5]@2 ~ g5 ~ f5@7 g4@5 f#4@2 ~ e4@6 ~@4 f#5@2 [d4,d5]@4 [e4,g4,c#5,e5] ~, ~@4 a5 ~@5 a5 ~ g#5@2 f#5@2 ~@6 [b3,d4,e4]@7 f4@2 ~@9 [g4,b4]@6 ~@2]/2", // A D C#dim E7 G
AA: "~@4 [g3,a3,c#4,e4,g4,b4]@3 ~@3 [g4,b4]@6 a5@2 [c#5,f#5]@4 a5@2, ~@10 [g3,a3,c#4,e4]@13 ~", // A7 G F#5 A7
AB: "[[g3,b3,d4,e4]@7 ~@3 [g3,a3,c#4,e4,g4,c#5,e5,a5]@12 ~ a5 [b3,d4,e4,b4,d5]@2 ~ [b3,d4,e4,b4,d5,f#5]@3 [b3,b4] [d4,d5,f#5] ~ b4 [d4,d5,f#5] ~ [g3,d4,g4,b4,d5,f#5]@3 [c#4,g4,b4,c#5,e5] ~@2 [c#4,g4,b4,c#5,e5]@6, [b4,d5,e5,g5]@4 ~@18 g3@2 f#5 ~@8 g3@2 ~@13, ~@23 g4@2 ~@5 g3@2 b3@2 ~@14]/2", // Em7 A7 E7 Bm B D Gmaj7 C#m7b5 …
AC: "[d4,g4]@3 ~ d5@2 [d4,g4]@3 [b4,d5,f#5]@3 [a3,e4,g4,a4,c#5,e5]@4 ~@2 [e4,a4,c#5,e5]@5 ~, ~@3 b4@4 ~@17", // G5 Bm A7 A
AD: "[b3,d4,f#4]@2 ~ [a3,b3,d4,f#4]@2 ~ [g#3,a#3,c#4,g#4,a#4,c#5]@2 [g#4,a#4,c#5,f5] [g#3,a#3,c#4,f4]@2 [a4,b4,d5,f#5], [a4,b4,d5,f#5]@5 ~ f5 ~@5", // Bm Bm7 A#m7 Bm7
AE: "[~@4 [a3,b3,d4,f#4]@2 ~@4 a5@2 f#5@2 ~@2 g5 ~ a5@3 ~@3 [a3,c#4,e4]@4 c#6 ~ [a3,c#4,e4,f#4,a5]@4 c#6@2 c6@2 g#5 ~ c6 ~ [g#3,c4,d#4,f4,g#5]@4 c6@2, ~@12 [a3,b3,d4,f#4]@10 c#6@5 ~@9 [g#3,c4,d#4,f4]@5 ~@7]/2", // Bm7 A F#m7 Fm7 Bm7 Fm7
AF: "[d4,e4,g4,b5]@4 a5 ~ [b3,d4,e4,g4]@4 ~@2 [b3,c#4,e4,a4,b4]@4 c#5@2 b4 ~ c#5@2 e5 ~, b3@3 ~@2 g#5@2 ~@17, ~@3 g5 ~@5 [b3,c#4,e4,a4]@2 ~", // Em7 A
AG: "[b3,e4,g4,c#5]@2 [c#5,f#5,a5] [b3,d4,e4,g4]@2 [c#5,f#5,a5] [c#4,e4,a4]@2 b4 [g3,b3,c#4,e4,a4,c#5]@2 e5", // C#m7b5 F#m Em7 F#m A A7
AH: "[b3,d4,e4,g4,c#5]@4 f5 ~ [b3,d4,e4,g4,f#5]@4 g#5 ~ [b3,c#4,e4,a4,b5]@3 ~@3 [b3,c#4,e4,a4]@4 a5@2, ~@15 a#5@2 g#5@3 ~@4, ~@8 a5 ~@3", // Em7 A
AI: "[b3,e4,g4,d5,d6]@2 ~ [b3,d4,e4,g4,b5]@2 ~ [c#4,e4,a4]@2 [b4,c#5,f#5,a5] [g3,a3,c#4,e4,a4]@2 [b4,c#5,f#5,a5], ~@5 [c#5,c#6]@2 ~@5", // Em7 A F#m A7 F#m C#
AJ: "[b3,e4,g4]@4 a5@2 [b3,d4,e4,g4]@4 ~@2 [c#4,e4,a4]@4 g5 ~ f#5 ~ f5 ~ e5 ~, ~@6 [a4,b4,f#5]@6 a5 ~@5 [g3,a3,c#4,e4,a4]@5 ~", // Em Em7 A B7 A7
AK: "[d3,b3,e4,f#4,a4] ~@7, d5 ~@23", // Bm7
AL: "~@10 g5@2 [d5,d6]@3 ~ [d5,d6] ~@5 e5@2, ~@4 [d5,f#5]@7 ~@13, ~@5 d6@2 ~@17, ~ b5 ~@2", // D
AM: "[b4,c#5,f#5]@4 ~@2 f#5@4 ~@8 a6@3 ~@3, ~@4 c#5@6 a5@11 ~@3, ~@4 c#5@3 ~, ~@16 c#6@5 ~@3", // Bsus2
AN: "[[b4,d5]@6 ~@4 [b4,d5]@5 ~ d5 ~ f#4@4 [a4,d5,a5]@7 ~ [d5,d6]@3 ~ [g#4,g#5]@5 [g#4,g#5]@5 ~@2 [g4,g5]@5 ~ g5 ~ b4@2 g4@2 b4@2 d5@4 ~@8, ~@18 f#5@2 ~@34 b5 ~ g5 ~ b5 ~ d6@2 ~@10]/3", // Bm D5 D G# G
})).s("gm_piano").gain(0.13)
// chords · piano · "#A.Piano" · soft notes
const piano_soft = note(`<
~@6 A B C D E ~@2 F G H G I@2 ~@5 J ~ K ~@2 F G H G I@2 J ~@18 A ~@2 L M N ~ F O H G I@2 ~@5 J ~ K ~@2 F G H G I@2 J
~@7
>`.pickRestart({
A: "~@8 f#4 ~@3", B: "~@10 f#4 ~@13", C: "~@9 e4@2 ~", D: "~@11 b5", E: "f#4@8 ~@7 f#5 ~@8", F: "f#4 ~@5",
G: "g3@3 ~@3 g3@4 ~@2 g3@4 ~@2 g3@4 ~@2", H: "[g3,d4]@4 ~@2 g3@3 ~@3 [g3,b3]@4 ~@8",
I: "[g3,d4]@4 ~@2 g3@3 ~@3 [g3,a3]@4 ~@8", J: "~@3 f#4@2 ~@7", K: "~@2 g4 ~@9", L: "~@3 g3",
M: "[g3,b3,f#4]@4 f#5@2 [g3,b3,f#4]@4 ~@2 [g3,c#4]@4 ~@2 [g3,a3,c#4,g4]@5 ~", N: "a3 ~@2 f4 ~@2",
O: "g3@3 ~@3 g3@4 a#4@2 g3@4 ~@2 g3@4 ~@2",
})).s("gm_piano").gain(0.1)
// bass · acoustic bass · "Ac.Bass"
const bass = note(`<
A B C D E F G@5 H E F G@5 I J K L M N O P ~ E Q G@4 R S T U V W X Y Z AA AB AC AD AE AF AG@2 AH AI AJ AK AL AM AL AN
AO AP AQ AR AS AT AU AV I AW AX AY AZ BA BB BC ~ BD F G@4 R BE BF U BG BH BI BJ@2
>`.pickRestart({
A: "d2@5 ~ c#2@5 ~ b1@5 ~ a1@4 a1 ~", B: "f#2@5 ~ f#2@5 ~ f2@5 ~ f2@5 ~", C: "e2@3 ~@3 e2@3 ~ e2 ~ e2@4 ~@2 e2@5 ~",
D: "a2 ~@7", E: "d2@2 ~ d2@2 ~ a2@2 ~ a2@2 ~", F: "f#2@4 ~@2 f#2@5 ~ f2@4 ~@2 f2@4 ~@2",
G: "e2@3 ~@3 e2@3 ~@3 a2@4 ~@2 a2@4 ~@2", H: "d2@3 ~@3 a2@3 ~@3 a2@4 ~@2 a2@3 ~@3", I: "d2 ~@7",
J: "g2@2 ~ g2@2 ~ b2@2 ~ b2@2 ~", K: "a2@2 ~ e2@2 ~ c#2@2 ~ a2@2 ~", L: "d2@3 ~@3 d2@4 ~@2 a2@4 ~@2 a2@4 ~@2",
M: "d2@3 ~@3 d2@4 ~@2 a2@4 ~@2 d2@4 ~@2", N: "b2@3 ~@3 b2@4 ~@2 f#2@4 ~@2 f#2@4 ~@2",
O: "b2@3 ~@3 b2@4 ~@2 f#2@4 ~@2 b2@4 ~@2", P: "e2@4 ~@2 b2@4 ~@2 e2@3 ~@9", Q: "d2@4 ~@2 d2@5 ~ f2@4 ~@2 f2@4 ~@2",
R: "e2@3 ~@3 e2@3 ~@3 a2@4 ~@2 g2@4 ~@2", S: "f#2@3 ~@3 f#2@4 ~@2 b2@4 ~@2 b2@3 ~@3",
T: "e2@2 ~ e2@2 ~ a2@2 ~ g2@2 ~", U: "e2@4 ~@2 e2@3 ~@3 c#2@4 ~@2 c#2@4 ~@2", V: "d2@2 ~ a2@2 ~ f#2@2 ~ d2@2 ~",
W: "c2@2 ~ c2@2 ~ f2@2 ~ f2@2 ~", X: "a#2@2 ~ f2@2 ~ a#2@2 ~ a#2@2 ~", Y: "a#2@4 ~@2 f2@5 ~ d2@4 ~@2 c#2@4 ~@2",
Z: "c2@3 ~@3 f2@3 ~@3 c2@4 ~@2 c2@4 ~@2", AA: "f1@3 ~@3 c2@3 ~@3 a2@4 ~@2 f2@4 ~@2",
AB: "c2@3 ~@3 f2@3 ~@3 f1@4 ~@2 f1@4 ~@2", AC: "f1@3 ~@3 f1@4 ~@2 f1@4 ~@2 f1@4 ~@2",
AD: "f1@3 ~@3 f1@4 ~@2 f1@4 ~@2 g2@4 g2 ~", AE: "g#2@3 ~@3 g#2@4 ~@2 g2@4 ~@2 g2@4 ~@2",
AF: "c2@2 ~ c2@2 ~ c2@2 ~ c2@2 ~",
AG: "[c2@4 ~@2 c2@3 ~ f2 ~ f2@4 ~@2 f2@3 ~ e2@4 ~@2 e2 ~ e2@4 ~@2 g2@3 ~ f#2@4 ~@2 e2 ~]/2",
AH: "e2@4 ~@2 e2@4 a2 ~ a2@4 ~@2 a2@4 ~@2", AI: "d2@2 ~ f#2@2 ~ a2@2 ~ b2@2 ~", AJ: "d2@2 ~ d2@2 ~ a2@2 ~ b2@2 ~",
AK: "b2@4 ~@2 g2@5 ~ e2@4 ~@2 c#2@4 ~@2", AL: "a1@3 ~@3 c#2@4 ~@2 e2@4 ~@2 g2@4 ~@2",
AM: "a2@3 ~@3 g2@4 ~@2 e2@4 ~@2 c#2@4 ~@2", AN: "e2@2 ~ c#2@2 ~ a2@2 ~ a2@2 ~",
AO: "d2@3 ~@3 f#2@3 ~@3 a2@4 ~@2 a2@3 ~@3", AP: "d2@2 ~ f#2@2 ~ a2@2 ~ f#2@2 ~", AQ: "d2@2 ~ a2@2 ~ a2@2 ~ f2@2 ~",
AR: "e2@3 ~@3 g2@3 ~@3 a2@4 ~@2 e2@4 ~@2", AS: "a2@3 ~@3 g2@3 ~@3 e2@4 ~@2 c#2@4 ~@2",
AT: "a1@3 ~ c#2 ~ e2@3 ~@3 g2@4 ~@2 a2@4 c#2 ~", AU: "e2@3 ~@3 e2@4 ~@2 a2@4 ~@2 a2@4 ~@2",
AV: "a2@2 ~ e2@2 ~ a2@2 ~ a2@2 ~", AW: "g2@2 ~ d3@2 ~ b2@2 ~ g2@2 ~", AX: "a2@4 a2 ~ a2@4 ~@2 a2@4 ~@2 a2@4 ~@2",
AY: "d2@3 ~@3 f#2@4 ~@2 a2@4 ~@2 b2@4 ~@2", AZ: "d3@2 ~ b2@2 ~ a2@2 ~ f#2@2 ~",
BA: "b2@3 ~@3 f#2@4 ~@2 b2@4 ~@2 f#2@4 ~@2", BB: "b2@3 ~@3 b2@4 ~@2 b1@4 ~@2 b1@4 ~@2",
BC: "e2@4 ~@2 b1@4 ~@2 e2@3 ~@9", BD: "d2@2 ~ f#2@2 ~ a2@2 ~ a2@2 ~", BE: "f#2@3 ~@3 f#2@4 ~@2 b1@4 ~@2 b1@3 ~@3",
BF: "e2@2 ~ e2@2 ~ a2@2 ~ a2@2 ~", BG: "d2@2 ~ d2@2 ~ c2@2 ~ c2@2 ~", BH: "b1@2 ~ b1@2 ~ a#1@2 ~ a#1@2 ~",
BI: "a1@2 ~ a1@2 ~ a1@2 ~ a1@2 ~", BJ: "[~@6 a2@3 ~ d2@27 ~@11]/2",
})).s("gm_acoustic_bass").gain(0.25)
// bass · acoustic bass · "Ac.Bass" · soft notes
const bass_soft = note(`<
~@5 A B@2 C@2 D B ~ A B@2 C@2 D ~@6 E ~@3 A B@2 C@2 D E ~ D F A G H I A J K ~@5 B ~@2 H L H ~ B@2 ~ A M H ~@9 N ~@3 A
B@2 C@2 D N ~ D I ~@4
>`.pickRestart({
A: "~@22 f2 ~", B: "~@22 a2 ~", C: "~@10 e2 ~@11 a2 ~", D: "~@10 e2 ~@13", E: "~@22 b2 ~", F: "~@22 d2 ~",
G: "~@22 a#2 ~", H: "~@22 c#2 ~", I: "~@22 c2 ~", J: "~@10 f2 ~@11 f1 ~", K: "~@22 f1 ~", L: "~@22 g2 ~",
M: "~@22 e2 ~", N: "~@22 b1 ~",
})).s("gm_acoustic_bass").gain(0.1)
// chords · muted trumpet · "Mtd.Trmpt"
const muted_trumpet = note("<~@11 A B C D E F G H I ~@71>".pickRestart({
A: "~@4 [a3,d4,e4,g4,b4] ~@5 [c#4,d#4,f#4] ~ [a3,d4,e4,b4]@4 [b3,e4,g4,b4,d5] g4 [a3,d4,e4,b4] ~@5, ~@5 [g#3,a4] ~@6, ~@11 g4@4 ~@9", // Em7 D#m7 Asus4 Em7 Asus4 Amaj7
B: "[b3,f#4,a4,b4,d5]@6 ~@2 [a3,f#4,a4] ~@3, ~@16 [b3,d4] ~@7", C: "[f#3,e4,a4,c#5,e5] [f3,d#4,g#4,c5,d#5]",
D: "~@4 [d4,e4,g4,b4,d5] ~@7 [c#4,e4,g4,a4,c#5]@6 ~@6, e3 ~@3", // Em7 A7
E: "[d4,g4,b4,d5,f#5]@5 ~ [d4,g4,b4,d5,f#5]@3 ~ [c#4,g4,a4,c#5,e5] ~@5 [c#4,e4,g4,a4]@3 ~@5", // Gmaj7 A7
F: "~@4 [e4,g4,b4,d5,f#5]@8 [e4,g4,a4,c#5,e5] ~@9 [d4,e4,g4,b4,d5]@2", // Em7 A7 Em7
G: "~@4 [e4,g4,b4,d5] ~@5 [d4,e4,g4,b4]@2 [c#4,g4,a4]@2 ~@10, ~@4 d4@3 ~@3 d5 ~ e4 ~@11", // Em7 A7
H: "~ [b3,d4,e4,g4,b4]@2 [a3,e4,g4,a4,c#5]@3", I: "[b3,f#4,a4,b4,d5] ~@23",
})).s("gm_muted_trumpet").gain(0.27).pan(0.6)
// chords · tenor sax · "#Tenor Sa"
const tenor_sax = note(`<
A B C ~@3 D E@2 F G ~@9 H I J K L M N ~ O P Q R S@2 T U V W X Y Z AA@3 AB@2 AC@2 AD AE AF@2 ~@16 H I J K L M N ~ O P Q
AG AH@2 AI@2 V W AJ AK AL AM@2
>`.pickRestart({
A: "[a3,b3,d4,f#4]@4 [a3,b3,f#4]@2 [c#3,g#3,a#3,c#4,f4]@4 [d3,a3,b3,d4,f#4]@9 ~@3 [a3,c#4]@2, d3@6 ~@16 [e3,f#3] ~, ~@4 d4 ~@19", // Bm7 B7 A#m7 Bm7 A Esus2
B: "[f#3,a3,c#4,e4]@3 [f#3,a3,b3,d4]@2 [f#3,a3,e4] [f3,g#3,c#4]@2 [f3,g#3,c4]@4", // F#m7 Bm7 F#m7 C# Fm
C: "[e3,b3]@2 ~@8 [e2,b3,d4,f#4,a4]@7 ~ [e2,b3,d4,f#4,a4] ~@5, g3 ~@23", D: "g3",
E: "[~@4 [b3,d4,f#4]@2 [e3,b3,d4]@4 [b3,d4,f#4]@2 [a3,c#4,e4]@5 a#3 ~@4 e3@12 a3@2 ~@4 [a2,g3,b3] ~ a2@3 ~@3, ~@4 g3 ~@13 b3@8 ~@14 f#4@2 ~@6, ~@41 a3@5 ~@2]/2", // Bm E7 Bm A Em
F: "e3@10 a3@2 ~@4 [a2,a3]@2 [e3,e4]@3 a3 a2 ~", G: "~@4 [g3,b3,d4]@8 f#4@6 f4@4 [a3,b3,d4,f#4] ~, ~@6 [g3,b3]@5 ~",
H: "~@4 [d4,b4]@2 [b3,e4,g4]@4 [d4,e4,g4,b4] ~@13, ~@4 [e4,g4] ~@19", // G Em Em7 Em
I: "~@4 [g3,e4,a4]@2 [g3,a3,c#4,e4]@4 [g3,a3,c#4,e4,a4] ~@13, ~@4 [a3,c#4] ~@19", // A7 A
J: "~@10 [b3,d4,f#4] [f#3,a3,b3] [d3,f#3,a3,b3]@4 [f#3,b3,d4]@2 [a3,b3,d4,f#4]@4 [b3,d4,f#4,a4] ~, ~@11 d4@2 ~@3 a3 ~@7", // Bm B7 Bm7 Bm Bm7
K: "~@4 [a3,b3,d4,f#4] [a3,b3,d4,a4] [b3,f#4] ~@17", L: "b3 a#3", M: "a3 g#3", N: "g3 ~",
O: "~@4 [a3,c#4,e4,f#4] ~@11 [a3,b3,d4,f#4] ~@7", P: "~@4 [e3,f#3,a3,c#4] ~@11 [d#3,f3,g#3,c4] ~@7",
Q: "~@4 [e3,g3,b3,d4] ~@11 [e3,g3,a3,c#4] ~@7", // Em7 A7
R: "~@4 [e3,g3,b3,d4] ~ [e3,g3]@5 ~ [e3,g3,b3]@4 [e3,d4] ~ d4@5 ~, ~@6 [b3,d4]@3 ~@2 d4@3 ~@2 [g3,b3]@7 ~, ~@17 e3@6 ~", // Em7 Em E7 Bm G
S: "[~@4 b3 ~ b3@4 [a2,e3,g3,a3,c#4]@9 ~@3 [e3,g3,b3,d4]@5 ~ [e2,e3,g3,b3,d4]@6 [a2,e3,g3,a3,c#4]@8 ~@6, ~@2 [e3,g3,d4]@3 ~@19]/2", // A7 Em7 A7 Em7
T: "~@2 [e2,b3,d4]@3 [a2,a3,c#4]@7, ~ [e3,g3]@5", U: "[f#2,c#4,e4]@10 ~ b2@13, [f#3,a3], ~@5 [c4,d#4]@7",
V: "~ [e3,d4,f#4,a4]@5", W: "~@4 [d4,a4]@9 ~@3 [a#3,c#4,f#4,a4]@8", X: "~@4 [b3,d4,f#4,a4]@12 ~@6 [a#3,c4,d#4,g4] ~",
Y: "~@4 [a#3,c4,d#4,g4]@2 [a3,b3,d4,f#4]@2 [a#3,c4,d#4,g4]@2 ~@2 g4@4 [f3,g#3,c4,d#4]@2 [f#3,a3,c#4,e4]@4 [g3,a#3,d4,f4] ~, ~@5 [a3,b3,d4,f#4] ~@6, ~@11 [a#3,c4,d#4]@5 ~@8", // Cm7 Bm7 Cm7 Fm7 F#m7 Gm7 Bm7 Cm7
Z: "~@4 [f2,f3,a3,a#3,d4]@8 [a#2,f3,a3,a#3,d4]@4 [d3,f3,a3]@3 ~@3 [c3,f3,a3] ~, ~@11 f2", // A#maj7 Dm F
AA: "[[d3,f3,a3,c4]@6 [d3,f3,a3,d4]@4 [d3,f3,d4] ~ [d3,f3,a3,d4,f4]@4 [f3,a3,d4]@2 [c#3,e3,g#3,c#4,f#4]@4 [c#3,e3,g4] ~ [c3,g3,c4]@2 ~@2 [c3,c4]@6 ~@2 d#3@4 ~@2 d3@4 [c3,c4]@14 ~@6 c4@4 [f2,f3] ~, ~@10 a3@2 ~@4 [d3,f4] ~@5 [g#3,c#4]@2 ~@11 d#4@4 ~@2 d4@4 ~@20 c3@4 ~@3, ~@23 d#3@2 ~@9 [d3,d4]@2 ~@4 [f3,f4]@2 ~@22 [f3,f4]@2 ~@6]/3", // Dm7 Dm C#m C#dim C5 C F Dm …
AB: "[~@4 [f3,a#3,c4,d#4,g4] ~@5 a#3@2 [f3,a3]@8 ~@4 f3@3 ~ [f3,a#3,c4,d#4,g4] ~@5 [f3,a3,c4,d#4,g4]@8 ~@6, ~@10 [c4,d#4,g4]@10 ~@2 [c4,d#4,g4]@5 ~@21, ~@10 f3 ~@11 a3@2 ~@24, ~@23 a#3@4 ~@21]/2", // Cm7 F Cm7 F7 Cm
AC: "[[c4,d#4]@6 [c4,d#4]@4 d#4 ~@5 d#4 ~@5 [g#2,a#4]@14 [g2,g#4]@12, [f3,g4]@17 ~@5 [d#3,b3,d#4]@26, a#3@11 d#4@4 ~@33, ~@10 c4@7 ~@31, ~@3 a3@2 ~@7]/2", // Cm G#sus2 G#maj7 Fsus2 G#m
AD: "[a#3,e4,g4]@2 ~@8 [e3,a#3,d4,e4,g4] ~@5 [e3,a#3,d4,e4,g4] ~@5 [e3,a#3,d4,e4,g4] ~, [e3,d4] ~@23", // Edim Em7b5 E7
AE: "[c3,a#3,c4,d#4,g4]@6 [c3,a#3,c4,d#4,g4]@3 ~ [f3,c4,d#4,g4]@12 [e2,g3,b3,d4] ~, ~@9 a3@13 f#4@2", // Cm7 Cm Em7
AF: "[~@4 [e2,d4,f#4,g4] ~ [e2,d4,g4] ~@5 [g2,e3,g3,b3,d4]@4 [f#3,a3,c#4,e4]@2 ~@4 f4 ~ [e2,g3,d4,f#4]@5 ~ [e2,g3,b3,d4,f#4]@4 [a2,g3,b3,c#4,f#4]@14, ~@2 b4 ~@5 f#2@2 ~ [f#2,f#3,a#3,c#4] ~@12, ~@23 b3@5 ~@20]/2", // Em7 F#m7 Em7 F#m F#
AG: "~@4 [e3,g3,b3,d4] ~ [g3,b3,d4]@5 ~ [e3,g3,b3]@4 [e3,d4] ~ d4@5 ~, ~@5 e3@6 d4@4 ~ [g3,b3]@7 ~, ~@17 e3@6 ~", // Em7 G Em E7 G
AH: "[~@4 b3 ~ b3@4 [a2,e3,g3,a3,c#4]@9 ~@3 [b3,d4]@5 ~ [e2,e3,b3,d4]@6 [a2,e3,g3,a3,c#4]@8 ~@6, ~@4 [e3,g3,d4]@6 ~@12 g3@11 ~@15]/2", // A7 Bm E7 A7 Em7
AI: "[~@4 [e2,b3,d4]@6 [a2,a3,c#4]@13 ~ [f#2,c#4]@10 [b2,c4,d#4]@14, ~@4 [e3,g3]@19 e4@11 ~@14, ~ [f#3,a3]]/2", // E7 A F#5 B Em F#m
AJ: "~@10 [a3,b3,d4,f#4,a4]@3 ~@3 [a2,e3,f#3,a3,d4]@3 ~@3 [a3,b3,d4,f#4,a4]@2", // Bm7 D Bm7
AK: "~@4 [e3,f#3,a3,d4]@3 ~@3 [a3,a#3,d4,f#4,a4]@3 ~@3 [a#2,e3,f#3,a3,d4]@3 ~@3 [a3,b3,d4,f#4,a4]@2, ~ b2 ~@6", // D Bm7
AL: "~@4 [a3,b3,d4,a4] ~ [a3,b3,d4,f#4,a4]@3 ~@3 [a3,b3,d4,f#4,a4]@4 [a3,d4,f#4,a4]@2 ~@6, ~@4 f#4@2 ~@10 b3 ~@7", // Bm7 D
AM: "[~@3 [e3,g3,b3,d4]@2 [f#3,a3,c#4,e4]@14 ~@5]/2", // Em7 F#m7
})).s("gm_tenor_sax").gain(0.4).pan(0.3)
// chords · tenor sax · "#Tenor Sa" · soft notes
const tenor_sax_soft = note(`<
~ A ~@2 B C ~ D@2 E F ~@11 G ~@9 H@2 ~@2 I J ~@2 K ~@9 L ~@19 G ~@9 M@2 ~@2 I J ~@3 N@2
>`.pickRestart({
A: "~@5 c#4 ~@6", B: "a3 b3", C: "c#4 [g#3,c4]",
D: "[~@5 g3@5 g3 ~ g3@6 ~@16 c#4 ~@7 [g3,e4]@5 ~, ~@11 [g3,d4]@7 ~@2 d4 ~@3, ~@41 c#4@5 ~@2]/2", // C G5
E: "[b3,d4]@10 c#4 ~@13, g3 ~", F: "~@2 e3@4 c#4@5 ~", G: "~@10 a3 ~@13", H: "[~@4 e2@7 ~@11 e2@4 ~@22]/2",
I: "~ b3@5", J: "~@4 [e3,g3,b3,f#4]@9 ~@3 [e3,g3]@8", K: "~@16 a#2@3 ~@3 d3 ~", L: "~@6 f#4 ~@17",
M: "[~@4 e2@7 ~@11 [e2,e3]@5 ~@21]/2", N: "[~@6 a2@3 ~ d2@27 ~@11]/2",
})).s("gm_tenor_sax").gain(0.24).pan(0.3)
// chords · brass section · "Brass Sec"
const brass_section = note(`<
A B C D ~@22 E F G H I J K@2 ~ L M N O P Q R@2 S T U V W X Y Z@2 ~@6 AA AB AC ~@13 E F G H I AD ~@3 L M N AE AF AG
AH@2
>`.pickRestart({
A: "[a4,b4,d5,f#5]@4 [a4,b4,f#5]@2 [g#4,a#4,c#5,f5]@4 [a4,b4,d5,f#5]@9 ~@3 [a4,c#5]@2, ~@4 d5 ~@17 [e4,f#4] ~", // Bm7 B7 A#m7 Bm7 A Esus2
B: "[f#4,a4,c#5,e5]@3 [f#4,a4,b4,d5]@2 [f#4,a4,c#5,e5] [f4,g#4,c#5]@2 [d#4,f4,g#4,c5]@4", // F#m7 Bm7 F#m7 C# Fm7
C: "[e4,b4]@2 ~@8 [b4,d5,f#5,a5]@7 ~ [b4,d5,f#5,a5] ~@5, [d4,g4] ~@23", // E5 Bm7 G5
D: "~@4 [g4,b4,d5] ~ [g4,b4,d5] ~@5 [c#4,g4,b4]@2 ~@4 [g4,b4,d5]@2 ~@4, ~@12 d5 ~@11", // G C#m7b5 G
E: "~@3 [b3,d4,d5,f#5,a5] ~@2, ~@11 [g3,b4]@4 ~@9", F: "~@22 [f#4,a4,c#5,e5] ~",
G: "~@10 [f#4,a4,b4,d5] ~@11 [e4,a4,c#5] ~, ~@11 f#4", // Bm7 A
H: "~@10 [f4,g#4]@2 ~@10 [d4,g4,b4] ~, ~@10 [d#4,c5] ~@11 e4@2", I: "~@10 [c#4,e4,a4] ~@13, ~@5 g4 ~@6",
J: "~@4 [b4,d5,f#5,a5] ~ [d5,f#5,a5]@5 ~ [b4,d5,f#5,a5]@4 [b4,d5,f#5,a5] ~ [b4,d5,a5]@5 ~, ~@5 b4@5 ~@7 f#5@5 ~@2", // Bm7 D Bm7
K: "[~@23 g4@5 e4 ~ g4@4 e4 ~@13]/2", L: "a4", M: "~@4 [b3,d4,f#4,a4]@19 ~",
N: "~ [b3,d4,f#4,a4]@2 ~ [a#3,c#4,f#4]@2", // Bm7 F#
O: "~@4 [f#3,b3,d4,f#4,a4,d5]@5 ~ [f#3,b3,d4,f#4,a4,d5]@6 [d3,f#3,b3,d4,f#4,a4] ~@5 [d#4,g4,a#4,d5] ~", // Bm7 D#maj7
P: "~@9 [d4,a4,c#5]@2 ~ g4@4 ~@2 [e4,f#4]@4 [f4,g4,a#4,d5] ~, ~@3 d#4@2 d4@2 d#4@2 ~@2 [d#4,a#4,d5]@4 ~ [d#4,f4,g#4,c5]@2 ~@6, ~@4 [g4,a#4,d5]@2 [f#4,a4,c#5]@2 [g4,d5]@2 ~ f#4@2 ~@4 [a4,c#5]@4 ~@3", // Dmaj7 Esus2 Gm7 D#maj7 Fm7 Gm F#m G5 …
Q: "~@4 [f4,a4,a#4,d5]@8 [f4,a4,a#4,d5]@4 [d4,f4,a4]@3 ~@3 [c4,f4,a4] ~", // A#maj7 Dm F
R: "[[d4,f4,a4,c5]@6 [d4,f4,a4,d5]@4 [a4,d5]@2 [d4,f4,a4,f5]@4 [f4,a4]@2 [c#4,e4,g#4,f#5]@4 [c#4,e4,g5] ~ [c4,g4]@2 ~@2 [a#4,c5,d#5,g5]@8 [a#4,c5,d#5,g5] ~@11, ~@10 [d4,f4] ~@5 [d4,f5] ~@5 g#4@2 ~@24, ~@23 d#4@2 ~@23]/2", // Dm7 Dm D5 Dm F C#m C#dim C5 …
S: "~@4 [a4,c5,d#5,g5]@8 [a4,c5,d#5,g5] ~@11", // Am7b5
T: "~@4 [d#4,a#4,d5]@2 ~@4 [d5,g5]@2 [d#4,a4,c5,f5]@7 ~@3 [f4,c5] ~, ~@4 f5 ~@5 [d#4,a#4] ~@11 a4@2", // D#maj7 G5 F7 F5 D#5
U: "[d#4,a#4,d5,f5]@4 [d#4,a#4,d5,g5] ~@5 [d#4,a4,c5,f5]@9 ~@3 [d#4,f4,a4,c5] ~", // A# D#maj7 F7
V: "[d#4,g4,a#4,f5]@6 [d#4,g4,a#4,d#5]@4 [d#4,g4,a#4] ~ [d#4,g4,a4,d5]@4 [d#4,g4,a4,c5] ~@7, ~@5 f5 ~@6", // D# D#maj7 Am7b5
W: "~@4 g5@2 f5 f#5 f5@2 e5@2 d#5@4 d5 ~@7, d#4, [f#4,a#4] b3", // F#
X: "~@2 [e4,g4,a#4,d5] ~@2 [a#3,d4,e4,g4] ~@2 [c4,e4,f#4,a4] ~@2 [d4,g4,a#4]", // Em7b5 F#m7b5 Gm
Y: "[d#4,g4,c5]@5 [d#5,e5] [a#3,d#4,g4,f5]@4 [d#4,g4]@12 [d4,f#4,b4]@2, ~@10 d5@9 ~@3 g4 ~", // Cm Emaj7 D# Bm
Z: "[~@4 [f#4,g4,b4] ~ [f#4,g4,b4,d5]@2 ~@4 [e3,b3,d4,g4]@4 [f#3,c#4,e4,a4]@3 ~@3 a#4 ~@7 [g3,d4,f#4,d5]@4 [g3,c#4,f#4,b4]@13 ~, ~@4 d5@2 ~@16 [f#3,c#4,f4]@2 [g3,d4,f#4]@5 c#5@2 ~@17, ~@23 b4@5 c5@2 ~@18]/2", // Gmaj7 Em7 F#m7 Gmaj7 F#maj7 Gmaj7
AA: "~@11 [d4,d5], ~@22 c#5 ~", // D
AB: "[c4,c5] ~@3 [a#3,a#4]@2 [a3,a4]@4 [g3,g4]@2 [f3,f4]@4 [d#3,d#4]@2 [d3,d4]@4 [f3,f4]@2, ~ [c#4,c#5]@2 b4@2 ~@19, ~ [c4,c5] ~@10", // C A# A G F D# D F …
AC: "[f#3,f#4] ~@23", // F#
// … 70 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.