0:00/0:00
// Love Walked In — Gershwin
// 120 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 98 bars on a 32-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, A@4 for four bars: edit a riff to change every repeat.
// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
A B C D@2 E@2 F@4 G H@2 I@2 J@3 K@2 L M@5 N O@3 P@2 Q@2 R S@3 T@3 U@8 V@3 W@3 X@5 Y@3 Z@2 AA AB@2 AC AD@2 AE@3 AF@3
AG@3 AH@3 AI@2 AJ@3 AK@3 AL@2 AM AN ~@2
>`.pickRestart({
A: "~@5 c2 ~ c2@8 ~@5 c2 ~ c2@8 ~@2", B: "~@2 c2 ~@2 c2@8 ~@4 c2 ~ c2@5 ~@8", C: "a2@8 ~ d2@3 ~@5 gb2@2 ~@5 g2@8",
D: "[~@4 db2@2 ~ c2@10 ~@2 gb1@2 ~ f1@14 bb1@6 ~@6 bb1@2 ~ a1@7 eb2@6, ~@4 d2 ~@59]/2",
E: "[~@2 d2@7 gb2@7 g2@13 d2@2 b1@12 c2@6 ~@9 [f3,g3]@2 e3@4]/2", // Fsus2
F: "[~ g2@2 ~ c2@5 eb2 ~ f2@7 b1@7 ~ bb1@12 a1 ~ a1@13 eb2@2 d2@6 ~ gb2@6 ~@2 g2@5 ~@2 g1@7 b1@7 ~ d2@7 c2@13 ~@2 gb2@12 eb2@2, ~@70 db2 ~@6 d2@2 ~@49]/4",
G: "~@13 bb2 ~ bb3@15 ~@2", H: "[~@20 f2@7 bb2@14 ~ d2@12 bb1@2 ~ a1@7]/2",
I: "[eb2@7 d2@7 ~ gb2@7 ~@15 g1@10 f2 ~ e2@2 eb2@13, ~@22 g2@25 ~@17]/2",
J: "[bb1@2 eb2@2 ~@5 eb2@7 ~@6 a1@9 d2@2 ~@6 gb2@2 ~@5 g2@3 ~@5 db2@3 ~@4 c2@5 gb2@5 ~@2 f2@16 ~ bb2@6]/3",
K: "[~@2 d2@7 ~@15 d2@12 gb1@2 g1@7 ~ a1@7 bb1@7 b1@4]/2", L: "~@2 c2@7 gb2@7",
M: "[~ f2@10 c2@2 b1@2 ~ bb1@12 db2@2 a1@13 eb2@2 d2@7 gb2@8 g2@7 a2@7 bb2@6 ~@2 b2@7 c3@12 g2@2 ~@6 g2@2 gb2@8 f2@14 c2@13 ~@2 f1@12]/5",
N: "bb1@2 ~ f2@2 ~@5 b1@7 bb1@14 ~",
O: "[f2@12 bb2@2 ~ b2@6 ~ e2@7 bb2@7 ~ eb2@7 a2@12 eb2@2 ~ d2@7 gb2@7 g2@7 ~ db2@7 c2@6 ~@2]/3",
P: "[~@4 f2@2 ~@6 f2@2 a1@7 bb1@7 ~ b1@7 c2@7 d2@8 eb2@6 ~ e2@6]/2",
Q: "[~@2 f2@4 eb2@2 ~ d3@7 c3@8 bb2@7 a2@7 eb2@7 ~ d2@7 ab2@5 gb2@2 g2@4]/2", R: "~ d2@2 ~ g1@7 a1@7 bb1@7 ~ c2@6",
S: "[~ d2@7 g1@7 ~ c2@7 f1@7 bb2@7 ~ a2@7 bb1@7 a1@8 eb2@7 d2@7 gb2@8 g2@7 a2@7]/3",
T: "[bb2@7 ~ b2@7 c3@8 d3@7 eb3@6 ~ e3@6 ~@2 f3@4 c3@2 ~ f2@7 g2@8 ab2@8 ~@6 g2@8 f2@7]/3",
U: "[eb2@7 d2@7 ~ c2@7 bb1@7 ab1@7 ~ a1@7 eb2@7 d2@7 ~ gb2@7 g2@7 a2@8 bb2@7 f2@7 eb2@7 ~ bb2@6 ~ eb3@7 eb2@5 ab2@2 ~ a2@7 eb2@7 d2@7 ~ gb2@6 ~ g2@5 db2@2 g1@8 c2@7 e2@8 f2 ~@3 f2@2 ~ a1@7 bb1@7 ~ b1@7 c2@7 a1@7 ~ eb2@7 d2@7 g1@7 ~ d2@6]/8",
V: "[~ a2@7 g2@7 ~ gb1@7 db2@7 ab2@8 gb2@7 f2@5 gb2 ~ d3@7 ~ c3@7 bb2@7 a2@7 ~ eb2@7 d2@6 ~, ~@8 db2 ~@39]/3",
W: "[ab2@7 ~ g2@5 gb2@2 a2@7 d2@7 ~ a2@7 g2@7 f2@8 e2@7 db2@8 c2@7 g1@7 c2@8 gb1@7]/3",
X: "[f1@7 g1@8 ab1@7 a1@7 bb1@8 c2@7 d2@7 gb2@8 b2@7 f2@7 eb2@7 ~ bb2@5 gb2 ~ a2@7 eb2@7 ~ d2@6 ~ ab2@5 gb2@2 g2@5 d2@2 ~ g1@7 c2@7 e2@8 f2@7 eb2@6]/5",
Y: "[~ d2@7 ~ ab1@5 bb1 ~ g1@7 db2@8 c2@7 gb2@7 ~ f2@7 c3@7 d3@8 c3@7 a2@7 eb2@7 ~ d2@6, ~@53 d3@2 ~@41]/3",
Z: "[~ gb2@5 eb2@2 g2@8 a2@7 bb2@7 b2@7 ~ c3@7 d3@7 eb3@7 ~ e3@4]/2", AA: "~ eb3@2 f3@7 b2@8 bb2@7 d2@6 ~",
AB: "[~@8 eb2@7 d2@7 gb1@7 ~ g1@7 a1@7 bb1@8 b1@5 bb1@2 ~@5]/2", AC: "~@2 d2@7 ~ eb2@6 ~ e2@8 f2@4 eb2 ~@2",
AD: "[c3@7 d3@7 ~ db3@7 c3@7 gb2@7 ~ f2@7 b1@7 bb1@5 f2 ~@2 eb3@5]/2",
AE: "[~@2 d3@7 bb1@5 db2 ~@2 a1@5 db2 ~ d3@7 c3@8 gb2@7 g2@7 a2@7 ~ bb2@6 ~ c3@7 bb2@8 f2@7 eb2@6]/3",
AF: "[~ bb2@7 ~ a2@7 eb2@7 d2@6 ~@2 ab2@5 gb2 ~ bb2 ~@2 g2 ~ d2@2 g1@8 c2@7 e2@8 f2@10 ~@2 b1@2 bb1@10 ~@2 bb1@2]/3",
AG: "[~ a1@11 ~ db2@2 ~ d2@7 gb2@7 g2@8 ~@5 bb2 ~ d3@7 db3@7 ~ c3@7 g2@7 c2@7 ~ gb2@7 f2@5 ~@2]/3",
AH: "[~@5 b2@2 ~ bb2@7 d2@7 a2 ~@4 a2@2 ~ eb2@6 ~ d2@7 gb2@7 ~ g2@19 e3@2 ~ d3@5 c2@14 eb3@2 ~]/3",
AI: "[~@5 db3@2 ~@5 gb2@3 f2@14 c2@12 g1@2 ~ f1@7 g1@8 ab1@5]/2",
AJ: "[~@2 a1@7 bb1@28 ~@2 b2@7 e2@7 bb2@7 ~ eb2@6 ~ a2@12 eb2@2 ~ d2@7 gb2@6]/3",
AK: "[~ g2@8 db2@7 c2@7 gb2@7 ~ a2@12 d2@2 eb2@13 db2@2 d2@12 a1@2 ~ gb1@12 ab1 ~ g1@7]/3",
AL: "[~ a1@7 bb1@7 ~ b1@7 c2@7 d2@8 eb2@6 ~ e2@5 f2@3 ~@4 f3@3 e3@3 ~]/2",
AM: "~@3 eb3@4 ~ d3@2 ~@5 db3@3 c3@2 ~@6 gb1@4 ~@2", AN: "f1@9 ~@23",
})).s("gm_acoustic_bass").gain(0.27).pan(0.3)
// bass · acoustic bass · "ACOU BASS" · soft notes
const bass_soft = note(`<
~@3 A ~@6 B C@2 D ~@4 E F ~ G ~@2 H I J ~@3 K@2 ~ L ~@2 M ~@2 N O P ~@3 Q R ~@8 S ~@11 T U@2 V ~ W ~ X Y ~@12 Z ~@9
>`.pickRestart({
A: "~@17 g1 ~@14", B: "~@15 e2 ~@2 f2@2 ~@12", C: "[~ f2@14 ~@15 a3@7 f3@7 ~ c3@7 ~@12]/2", D: "~@4 db2 ~@11",
E: "~@12 a2 ~@3", F: "~@9 a2@15 ~@8", G: "~ bb1 ~@30", H: "~@23 bb2 ~@8", I: "~@8 c2@5 ~@19", J: "~@17 a1 ~@14",
K: "[~@31 e2@6 ~@27]/2", L: "~ eb2 ~@14 f2 ~@15", M: "~@30 c2 ~", N: "~@15 bb2 ~@16", O: "~@5 eb3 ~@10",
P: "~@10 a2@7 ~@15", Q: "~@14 ab2 ~@17", R: "~@24 eb2 ~@7", S: "~@15 gb1 ~@16", T: "a2 ~@3",
U: "[~@27 c2@9 ~@18 eb2 ~@9]/2", V: "~@5 f2 ~@6 f2 ~@9 f2 ~@9", W: "~@29 eb2 ~@2", X: "~@4 ab2 ~@27",
Y: "~@9 ab2 ~@22", Z: "~@4 gb2 ~@27",
})).s("gm_acoustic_bass").gain(0.13).pan(0.3)
// chords · piano · "A.PIANO 1"
const piano = note(`<
A@2 B@3 C@5 D E@6 F@2 G@2 H@7 I J@2 K L@3 M N O P@4 Q R S T@2 U@3 V W X@2 Y Z AA@2 AB@2 AC AD AE AF@2 AG AH AI AJ AK
AL AM AN AO AP@3 AQ@5 AR AS AT@2 AU@2 AV AW AX@4 AY AZ@3
>`.pickRestart({
A: "[~ a3@12 [db4,eb4,ab4,bb4,eb5]@15 [d4,e4,a4,d5]@14 [db4,eb4,ab4,bb4,db5]@14 ~ [a3,d4,g4,c5] ~@6, [c4,d4,g4,c5]@7 ~@25]/2", // Dbsus2 Dsus2 Dbsus2 Am7 Csus2
B: "[[g3,db4,f4]@9 ~ e4@2 ~@5 [gb3,eb4,ab4,c5]@2 ~@5 db4@13 eb4@15 [db4,d4]@2 ~@5 a3@10 a4@12 d4@2 ~ c4@3 ~@3 [g3,db4,f4]@3 ~@3, ~@9 a4@2 ~@43 c4@15 ~@27]/3", // Gm7b5 Ab7 Dmaj7 Gm7b5
C: "[~@2 [g3,e4,a4]@3 ~@4 [gb3,eb4,ab4,c5]@7 ~ bb4 b4@11 a4 ~ b4@2 c5@2 b4@2 ~@2 b4@5 ~@7 bb3 ~@4 d4 ~ f4 ~ gb4@3 ~@4 g4@3 ~@2 ab3 ~@2 g4@2 a4@3 d4@8 c4 ~ e4@2 ~@3 f4@2 ~@2 d4@2 ~ e4@2 c4@13 f4@2 [c4,a4]@3 ~@5 [gb3,c4,a4]@3 ~@4 d5@4 ~@3 d5@6 ~ d5@3 eb5 d5@2 ~ c5@2 d5@3, ~@16 a4@2 ~@26 c5@26 ~@5 c5@6 ~@36 c4 ~@8 c5@3 ~@5 a4@14 ~@12, ~@50 f3@2 ~@13 [bb3,db4]@7 ~@3 ab4 ~@14 ab3@11 ~@16 g3@4 ~@27 [f3,b3]@12]/5", // A7 Ab7 F Gbdim Bbm Fdim
D: "~@2 eb5@3 ~@4 bb3 ~@4 c5@2 b4@2 bb4@5 [ab3,bb3,eb4]@9, ~ g5@6 ~@9, ~@5 e5@9 ~@18", // Absus2
E: "[~ db6@2 d6@33 [ab3,bb3,d4,f4] ~ [eb3,bb3,d4,a4]@4 ~@4 eb3@3 ~@4 [eb3,gb3,f4,a4,bb4]@7 [d3,g3,a4,c5,e5]@12 c5@2 ~ f5@2 e5@2 c5@2 ~@3 d5@2 e5@2 ~@6 g3@2 ~@3 e4 ~ g4 ~@2 ab4@4 ~@3 a4@7 [bb3,bb4]@12 bb3 d4 ~ [f3,bb3,d4]@2 ~@3 bb4@2 [bb3,c5]@5 [ab3,bb4]@2 ~@5 [ab3,db4,f4]@7 bb3@2 ~ [f4,g4]@3 ~@4 [db4,eb4]@7 ~@6 [g3,db4,f4,c5,f5,a5]@9 ~, ~ [eb3,g3,bb3,d4,f5,bb5,f6]@35 g3@6 ~@3 [g3,a3,c5]@4 ~@3 [a3,d4,db5,f5]@8 f4@4 ~@10 e5@2 ~@13 d5@29 ~@12 c5@2 ~ a4@4 ~ bb3 ~@53, ~@94 c4 ~@14 eb4@8 ~@21 d4@7 db4 ~@15 db4@3 ~@28]/6", // Bb7 Ebmaj7 Ebm Am7 Bb Bbsus2 Absus2 Db …
F: "[[gb3,eb5,bb5]@3 ~@4 [gb3,c5,c6]@6 ~@2 [db5,db6]@3 ~@4 d6@7 ~ [bb3,d5]@5 [bb3,eb4,g5]@2 ~@5 [a5,c6]@11 ~@3 c4 ~@2 e4@2 ~@3, ~@29 f5@5 ~ db5 ~@6 [g5,ab5]@2 ~@20]/2", // Ebm Gbdim Db Bb Eb Am Abmaj7
G: "[f4@2 ~@3 d4 ~ e4@2 ~ c4@11 c4 g3 ~ [g3,a4]@2 ~@5 [gb3,ab4,c5]@3 ~@5 [a3,b4]@14 ~ c5@2 ~@5 b4@3, ~@21 f4@2 ~@8 db4 ~@21 b4@2 ~@9]/2", // Gsus2 Ab7 Asus2
H: "[~@9 [a3,bb3] ~@8 [bb3,eb4,e4]@20 ~ [a3,d4,g4] ~ [d4,c5]@5 [ab3,d4,c5] ~ [ab3,c5]@3 ~@4 c5@3 ~@5 c5@3 ~@4 [db4,f4,f5]@6 bb3 ~ [gb3,a5]@11 ~@4 [f3,e4,d6]@12 [a3,b3,e4,d5,a5,d6]@2 [b3,e4]@5 [b3,e4]@2 ~ [f3,a3]@5 [f3,a3,bb3,d4,e5,a5,c6]@16 ~ [e3,eb4]@13 ~ [eb3,g3,bb3,d4,bb5,d6,f6]@34 [g3,bb3,d4]@4 ~ [eb3,bb3,a4]@4 ~ gb3@11 ~ [c5,f5]@2 ~ [d3,c4,e5]@14, ~@2 c5@36 a5@2 ~@22 db4@3 ~@24 [gb3,c4,f4,c5,a5]@3 [a3,c4,a5]@14 ~ [f3,a3,d5,d6]@7 e4@12 ~@59 f4@10 [eb3,a3]@14 ~@15, ~@90 c6@4 ~@13 a5@8 [b3,d5,d6]@12 ~@9 [ab3,bb3,ab5,c6]@15 ~@34 eb3@2 ~@2 [g3,d4]@5 [d4,c5]@14 ~@16, ~@56 c5@7 ~@12 f5@17 ~@11 gb3 ~@8, ~@112 c6@8 e6@32 ~@57 g5@14 ~]/7", // Bbmaj7 Eb Dsus4 D7 Dm7b5 Ab Db Gbm …
I: "~@10 g5@2 f5@2 ~ gb4@2 ~@3 e5 ~ d5 ab3@2 ~@2 d5@2 ~ c5 ~, [a3,g4]@12 ~@17 db4@3, ~@5 c5@7 ~@20, ~@8 f5@4 ~@3 e5 ~@16", // A7
J: "[~@3 c5@2 [db4,f4]@3 bb4@2 c5@2 ~ ab4@2 ~@3 g3@2 ~@6 gb3@12 ~ ab4 [bb3,a4]@3 ~@4 [f3,bb3,d4,g4,bb4]@8 ~@3 [f3,bb3]@6, ~@17 [db4,f4]@2 ~@20 [d4,c5]@3 ~@15 [d4,f4]@6 ~]/2", // Db Bbmaj7 Gm7 Bb5 Db D7 Dm
K: "~ [bb3,db4,e4,g4]@5 [a3,c4] ~@6 [bb6,db7]@2 ~@2 [a6,c7] ~@2 [gb6,bb6]@2 ~ [f6,a6]@2 c6 ~ [db6,gb6]@2 ~ c6@2, ~@3 f4 ~@12", // Bbdim Am Bbm Am Gb F Gb5
L: "[a5@2 db6@2 ~ c6@2 f5@2 [gb5,bb5]@2 [f5,a5]@2 ~@3 db5@2 c5@2 ~@3 [bb4,db5]@2 ~ [a4,c5]@2 f4@2 ~ [gb4,bb4]@2 [f4,a4]@2 ~@3 c4 ~@10 g4@4 ~ c4 ~ d4@2 e4@2 ~@3 d4@5 ~@3 d4@6 c4@3 ~@6 a4@2 ~@8, ~@4 a5@2 ~@10 gb5 ~@31 d4@2 ~@35 [gb3,c4]@6 ~@5, ~@49 eb4@2 ~@34 [ab4,c5]@3 ~@8]/3", // Gb F Bbm Am Gb F Gbdim Ab
M: "~@11 [f3,bb3,d4] a4@2 bb4 ~ d5@2 f5@2 a5@3 gb5 g5 ~ a5@2 bb5 ~ c6 d6, ~@13 bb3@3", // Bb
N: "~ f6@2 e6@2 ~ d6@2 db6 ~ c6 ~ bb5@2 a5@2 ~ ab5@2 ~@2 eb5@2 db5@2 c5 ~ bb4@2 g4 ab4@2, ~@5 eb6@2 ~@9 g5@2 ~@14",
O: "a4 ~@2 db5 ~@2 db5 ~ c5@3 f4@7 ~@4 db4@4 ~ f4 ~@4, ~@2 d5@2 ~ d5@2 ~@25",
P: "[c5 ~ d5@2 ~ c5@3 ~ a4@2 ~ f4@3 ~ d4@2 bb3@2 ~ b3@2 g4@2 ~ f4@5 gb3@2 [g3,e4]@6 ~ d4@4 ~@2 eb3 c4@4 ~@3 [eb3,b3]@5 ~@2 d3@5 ~ f4@2 ~@3 eb4@2 f4@2 [eb3,bb3,d4]@3 ~@2 c4@6 ~@9 eb3@2 ~@8 eb3@2 ~@5 a5@2 ~ g5@2 ~ eb5@2 d5@2 c5 ~@4, ~@60 bb3@3 ~@28 c4@9 ~@18 f5@2 ~@8, ~@96 bb3 ~@31]/4", // C Abm Ebmaj7
Q: "db5@2 a4@2 ab4@2 ~ d3@2 eb4@2 c4@2 db4@2 d4 ~ g4@2 gb4@2 ~ f4@2 ~ bb3@3 ~@4, ~@3 gb4 ~@12, ~@7 f4 ~@24",
R: "~@3 [bb3,c4] ~ d4@3 ~@2 eb4@2 d4@2 eb4@2 ~ db4 ~@2 d4@2 g4 ~@2 a4@2 d5@3 a4@2, ~@19 gb3@5 ~@8", // Bbsus2
S: "~@2 bb4@2 ~ d4 ~ gb4@2 a4@3 gb4@2 ~ g4@2 d4@2 bb3@2 ~ g3@2 c4@3 a3@2 db4@2 ~, c5 ~@15, ~ bb3@2 ~@29",
T: "[bb3@2 eb4@2 ~ c4@2 f4@3 db4@2 g4@2 ~@3 a4@2 ~ f4@2 bb4@3 ~@2 c5@2 ~@3 d5@2 ~ b4 ~ e5@3 c5@2 f5@2 ~ d5@2 g5@2 ~ e5 ~ a5@2 ~@2 bb5@2 [f3,d4]@2 ~ f5@2 ~, ~@14 eb4@2 ~@13 db4@10 ~@5 gb3@12 ~@2 bb3 ~@5, ~@15 [ab3,c4,db4]@10 ~@5 f4@9 ~@25]/2", // Dm Dbmaj7
U: "[a5@2 bb5@2 a5 ~@2 bb5@2 a5@2 ~ f5@2 c5 ~ f5@3 f4 ~ [bb4,f5]@3 ab4@2 a4 ~@2 f4 ~ d4@4 ~ bb3 ~ f4@4 ~@4 [g3,db4]@5 ~@3 [gb3,c4,f4]@4 ~@4 d4@4 ~ [f3,b3,f4]@2 ~@2 a4@2 ~ d4@2 f4@3 ~@2 f4@3 ~@5 d4@2 ~@5, ~@16 bb4 ~@53 [ab4,d5]@3 ~@23]/3", // Bb5 Gdim F Fdim Abdim
V: "~@2 [f3,b3,d4]@3 ~@11 bb3@2 ~@6 bb6@2 ~ g6 ~ a6 e6 ~, ~@23 c7@2 ~ gb6@2 ~@4", // Bdim
W: "db6 eb6@2 c6 bb5 ~@2 db6@2 a5 g5 ~@2 gb5 ~ e5 ~ eb5 ~@2 c5@6 ~@4 c5 ~, ~@6 eb6@2 ~@4 a5@2 ~@5 db5@2 ~@11",
X: "[~@2 g5@2 ~ f5@2 a5 ~ c6 ~ e6 ~ f6@2 e6@2 d6 c6@2 ~ a5@2 ~ g5 bb5@2 ~@3 f5 bb5@2 ab5@2 gb5 f5 ~@2 eb5 d5 ~ f5@2 d5 ~ bb4 ~ g4 bb4 ~ d5 ~ f5@2 e5@2 d5@2 bb4@2 ~ c5@2, ~@2 e5 ~@7 bb5 ~@21]/2",
Y: "b4@2 bb4 ~ c5@2 a4@2 bb4@2 a4 ~ g4 gb4@2 ~@2 f4@2 ~ e4@2 ~ c4@3 ~@2 c4@3 ~",
Z: "~@3 eb4@2 ~@3 db5 d5@2 f4@3 ~@2 f4@2 f4@4 ~@3 f4@4 ~@3, ~@8 f5@3 ~@21",
AA: "[~ [eb3,f4]@4 ~@3 d4@3 ~@2 f4@2 [eb3,gb3,a3,d4]@5 f4@3 d4@4 ~@3 [d3,a3,c4,f4]@5 g4@2 ~ d4@3 ~@2 [a3,d4,f4]@2 ~ g4@3 ~ a4@2 bb4@4 ~ c5 ~@2 [a3,d4]@3 ~, ~ [bb3,d4]@2 ~@3 g4@2 ~@7 a4@2 ~@47, ~@7 f4@2 ~@28 f4@2 ~@20 [gb4,db5]@4 ~]/2", // Ebsus2 D Dm7 Dm D5 Bb Gb5
AB: "[~ [d4,d5] [ab3,gb4,e5]@5 ~ f5@5 [db4,f4,g5]@4 ~ ab3@4 ~ [a4,a5]@6 ~@3 c5 ~@2 d5 ~ f5 ~@2 a5@2 ~@2 ab5 a5@2 f5@2 ~@2 c5 ~@2 f5@4 f5@2 ~@4, ~@2 d4@3 ~@2 [ab3,db4,f4]@4 ~@6 [db4,f4,ab4,ab5]@5 ~ [g3,db4,f4]@12 ~@4 [gb3,c4,f4,c6]@3 ~@2 c6@3 ~@17]/2", // D Dbm Gm7b5 A Db Gm7b5 F
AC: "~@4 [f3,d4]@2 ~@6 a6@3 ~@2 g6@3 ~ e6@3 ~@2 e6@2 c6@3 ~, ~@4 bb3 ~@20 f6@2 ~@5", // Dm
AD: "d6@3 ~ c6@3 a5@2 ~ g5@3 ~@2 [f3,gb5]@3 f5@3 ~ d5@2 ~ bb4@4 ~ [bb3,g4] ~, ~@15 bb3 ~@16", // Gbmaj7 Eb
AE: "e5@4 eb5@2 ~ d5@5 db5 ~ [d4,c5]@3 ~@2 d5@3 ~ a4@2 ~@2 bb3 ~ [ab3,c5]@3, ~@13 bb4 ~@2", // D7 Ab
AF: "[~@2 d5@2 ~@3 a4 ~@2 bb4 ~ db4@2 d5@2 ~ a4 ~ bb4 ~@2 c5@3 ~@7 a4 ~@2 c5@2 d5@2 ~@2 bb4@3 ~@9 a4 ~@2 c5@2 d5@2 a4@2 bb4 ~, ~@12 c5 ~@14 gb3@10 ~@27]/2",
AG: "c5@2 d5@2 c5@2 bb4@2 ~ g4@2 ~ f4 ~@7 bb3 c5@2 b4@2 bb4@2 a4 ab4@2 e4 ~, ~@4 a4 ~@11",
AH: "~@2 db4@2 c4@2 ~ e4 ~@2 g4@2 ~ f4 ~ a4 ~ c5 ~ e5@2 ~ e5@2 f5@2 ~ d5@4 c5, ~@13 e5 ~@2",
AI: "~ bb4 d5@2 c5@2 bb4@2 ~@2 bb4@2 a4@2 g4 ab4@2 gb4 ~ f4@2 eb4@2 d4 c4@2 b3@2 ~@4",
AJ: "~@11 a3@2 ~ bb3 ~ d4 ~ f4@2 a4@2 ~@3 g4@2 ~ d4@2 f4@2",
AK: "~@3 f4@2 ~@3 f4@2 ~ e4@3 ~ d4@2 c4@4 ~ b3@2 bb3@3 ~@3 bb3@2, ~@29 c4@2 ~",
AL: "~@5 a3@3 ~@2 bb3@4 ~ c4@4 ~ [eb3,bb3,d4]@3 ~ eb4@2 ~ f4@2 g4@2 ~", // Ebmaj7
AM: "a4@2 ~@3 [bb3,d4,eb4]@2 ~ c5@2 d5@2 ~ eb5@2 f5@2 ~ g5@2 [a3,d4,g4]@2 ~ a5@2 bb5@2 ~ c6@2 d6@2, ~@2 bb4@5 ~@25", // Ebmaj7 Dsus4
AN: "~ e6 ~ f6 ~ g6@2 ~ a6@2 bb6 ~@4 d7@2 f7@3 eb7@2 d7@2 ~ c7 ~ bb6@2 gb6@2 ~, ~@2 a3@2 ~@13 db4 ~@14",
AO: "[gb3,f4,f6]@2 ~ eb6@2 d6@2 c6@2 bb5@2 ~ b5 ~@2 [f3,e4]@2 ~@3 db6@2 ~ e6@2 db6@2 d6@2 ~ c6@2, c4 ~@14 b3 ~@16", // Gbmaj7 Fmaj7
AP: "[bb5@2 a5@2 ~ g5@2 f5@2 ~ e5 ~ [ab3,db4,eb5]@2 ~ db5@2 c5@2 bb4@2 ~ ab4@2 f4@2 [c4,db4] g3 ~ db4@2 c4@2 ~ bb3 ~@4 f3@2 a2@2 a3@2 ~ f3@2 ~ bb3@2 g3@2 c4@2 ~ [gb3,a3]@2 ~ d4@2 b3@2 e4@2 ~ c4@2 f4@2 [f3,b3]@2 g4@2 ~ e4@2 a4@3 f4@2 bb4@2 ~ [bb3,g4] ~ c5@2 g4 ~@2 d5@2 ~ c5, ~@12 f4 ~@13 eb4@2 ~@68]/3", // Absus4 Dbmaj7 Gbm Fdim Eb
AQ: "[~@2 [a3,d4,g4]@2 ~@5 [db4,c5] ~ [g5,ab5,c6]@4 a5 ~@3 c5@3 ~@2 [ab3,d4,g4]@2 ~@5 f5@2 ~ [db4,f4] ~@4 [db4,f4] ~ [g3,db4,f4,f5]@4 ~@3 [e4,a5]@3 ~@4 ab5 [gb3,f4]@3 ~@4 [f3,a3,c4,e4,d5,g5,b5]@12 f3@2 ~ [f3,a3,b3,e4]@4 ~ [a3,b3,e4]@4 [b3,e4]@2 ~@4 f3@14 [e3,ab3,bb3,eb4,c5,e5]@15 [a3,e5,a5]@12 gb3@2 e4@3 ~@2 g4@2 f4 ~@2 e4@2 d4@2 c4@2 ~@4 c4@2 f4@2, ~@34 c5@2 ~@19 [c4,c6]@4 ~@19 e5@2 ~@2 eb5@7 [b3,e4,db5,db6]@3 [a3,bb3,d4,c5]@15 ~@15 a4@2 ~@10 c4 ~ ab3@10 ~@14, ~@55 c5@2 ~@21 e6@17 ~@65, ~@83 eb6@12 ~@65, ~@83 f3@4 [d5,d6]@5 c6@29 ~@39]/5", // Dsus4 Dbmaj7 Abmaj7 G Db Gm7b5 A5 Gbmaj7 …
AR: "~@5 a4@2 ~@5 [gb3,c4,ab4,c5]@4 ~@4 [c4,e4,a4,d5]@12, ~@6 eb4 ~@9", // Ab7 Am
AS: "c5@2 ~ g5@2 ~ d5@2 c5 ~ d5@5 eb5@3 ~@4 [bb3,d4] ~@5 c5@2 b4@2, ~ [f3,e4]@3 ~@7 f3 ~@4, ~@2 d5@3 eb5@2 ~@8 g5@13 ~@4, ~@3 b3@5 ~@10 e5@10 ~@4", // Bb Fmaj7
AT: "[~@6 [e3,bb3]@9 ~ [eb3,g3,bb3,f4]@26 [eb3,g3,bb3,d4]@9 ~ [eb3,g3,bb3,d4]@7 [eb3,gb3,a3,d4]@5, ~ bb4@14 [bb4,f5]@28 ~@8 a4@8 c5@3 ~@2, ~@5 eb4@10 ~@27 f4@17 ~@5]/2", // Edim Eb Ebmaj7 D Bb5
AU: "[~@2 [eb3,gb3,a3,d4,f4,a4,c5,f5]@7 ~ [d3,a3,c4,g4,c5]@14 ~@5 c5@2 f5@2 ~ g5@2 f5@2 e5 ~@4 e5 ~@2 d5 ~@4 d5@2 c5 ~@4 c5 ~@2 bb4 ~@2, ~@9 [e5,g5]@15 [a3,d4,f4]@10 ~@30]/2", // D7 Dsus4 Em Dm
AV: "~ bb4 ~@7 [g3,db4,f4] ~@9 [gb3,c4,eb4]@12 ~, ~@4 a4@27 ~", // Gm7b5 Cdim
AW: "[d4,c5]@2 ~@5 [f3,bb3,d4,g4,bb4]@9 ~ [f3,bb3,d4]@6 ~ [e3,db4]@6 ~@2, [f4,a4] ~@15 g4@7 a4@6 ~@3, ~@12 bb3 ~@3", // D7 Gm7 Bb Dbm F
AX: "[~@5 [g3,db4]@4 [g3,db4]@5 [g3,db4]@7 [g3,db4,eb4,ab4,c5]@8 ~ gb3@6 ~ [gb3,c4]@6 ~ [gb3,c4,eb4,ab5,c6]@7 [gb3,c4,eb4,eb5,ab5,c6,eb6]@8 db6 ~@11 e4@2 [e5,e6]@3 ~@4 [e4,d5,d6]@3 ~@4 [f3,bb3,c5,c6]@3 ~@5 [f3,a3,bb3]@6 ~ eb5 ~ e5@5 ~ [bb3,g4]@4 ~ [a3,d4,f4,f5]@2 ~@4 [bb3,eb4,g4,bb4,d5,f5]@4 [a3,d4,gb4,a4,db5,e5]@2 ~, ~@4 c4@25 [c4,eb4,eb5]@8 ~@22 [f3,g5,g6]@14 ~@29 [bb3,a4,a5]@6 ~@20, ~@9 f4@20 c5@3 ~@4 c5@23 a3@11 [a3,c4,f5,f6]@2 ~@22 [bb4,bb5]@2 ~@7 eb4@6 [eb4,g5]@5 ~@14, ~@14 a4@16 ~@6 [eb4,eb5,ab5]@7 eb5@7 ~@10 d6@13 ~@55]/4", // Gdim Abmaj7 Gbdim Ab7 E E7 Fsus4 Bbmaj7 …
AY: "~@4 [ab3,db4,f4,ab4,c5]@4 d5 [e4,g4]@2 ~@4 [gb3,b3,bb4,db5]@4 [f3,d4,f4]@2 ~@5 [gb2,db3,ab3,bb3,eb4,ab4]@5 ~, ~@3 eb5@4 ~@2 [c4,b4] ~@4 eb4@5 [bb3,a4,c5] ~@12", // Dbmaj7 Em Gb Dm Ebm7 Cmaj7 F
AZ: "[~@13 b6@32 ~@3, [f2,c3,g3,a3,d4,g4]@2 ~, ~@11 a5@32 ~@5, ~@3 d6@8 ~, ~@25 g6@64 ~@7]/3", // Dm7
})).s("gm_piano").gain(0.4).pan(0.6)
// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
A@2 B@2 ~ C@2 D ~ E F ~ G@2 H@2 I J@2 K L@5 ~@2 M N O@2 P Q R S@3 T U V W X Y Z AA AB@2 AC AD AE AF AG ~ AH AI AJ ~@3
AK AL AM AN AO@2 ~ AP ~ AQ AR AS AT AU ~ AV AW AX ~ AY AZ BA@2 BB ~ BC@2 ~ BD ~ BE BF BG@3 BH ~@3
>`.pickRestart({
A: "[~@14 c4@7 b3@7 ~@4]/2",
B: "[~@10 [g3,c4]@3 ~@4 c4@2 ~@5 [f3,b3]@13 ~@2 e3@13 ~@12, ~@37 [ab3,bb3,c4]@15 ~@12]/2", // C5 Fdim Ab
C: "[~@2 c4@3 ~@4 c4@7 ~ [f3,a3,c4,e4]@13 ~@7 a4@2 ~@25, ~@15 [f3,b3,e4]@7 ~@10]/2", D: "~@2 e3@3 ~@11 a3@8 ~@8",
E: "~@3 [f3,c4,e4]@7 e4@6", F: "~@3 d5 ~@5 [f3,d4]@2 ~@21",
G: "[~@14 d4@3 ~@11 c4@14 d4@6 ~@2 d4@5 ~@9, ~@42 [a3,g4]@13 ~@9]/2", // A7
H: "[~@13 [gb3,c4]@8 ~ [f3,d4,g4]@13 f3 ~@8 f3@6 ~@14]/2", I: "~@2 g3@3 ~@4 g3@7 ~@16",
J: "[[c4,f4]@3 ~@4 [c4,f4]@6 ~@2 [f3,b3,e4]@3 ~@4 [f3,b3,e4,d5]@6 ~@2 [f3,d4]@5 ~ e3@2 ~@19 g3 ~ ab3@4 ~]/2", // F5 E Bdim Dm
K: "~@24 c4@3 ~@5",
L: "[c4@3 ~@4 [f3,c4,e4,g4]@12 g4@2 ~@3 b4@2 a4@2 ~@13 f3@2 ~@8 e3@20 ~@2 [a3,g4]@5 g4 ~ [d4,g4]@3 ~@4 [ab3,d4,g4]@4 ~@4 [g3,f4]@3 ~@4 g3@7 ~ [c4,f4]@11 ~@4 d5@12 ~@8 a3@2 ~@13, ~@22 [f3,a3,b3,e4]@13 ~@15 ab3@21 ~@54 e5@2 ~@33]/5", // C A7 G5 G G7 F5 Fmaj7
M: "~@9 c5@7, ~@17 a3@14 ~", N: "d4@12 ~@3 [a3,d4] ~@7 gb4@2 ~@5 [ab3,f4]@2, ~@23 d4 ~@8",
O: "[~@5 g3@2 ~@17 bb3 ~@2 c4@12 ~ f3@3 ~@12 ab3@2 ~@7, ~@15 a4@23 ~@26]/2", P: "~ e3@5 ~@24 f6 ~",
Q: "~@14 c5 ~@4 f5 ~ a4@2 ~@9", R: "~@9 d4@4 ~ g3 ~@4 e4@2 ~ gb3 ~@5 d4 ~ c4@2, ~@9 c4 ~@22",
S: "[~@5 c4@2 ~@24 f3@3 ~@25 d4@13 ~@11 e5@2 ~@11, ~@5 gb3 ~@24 d4@3 ~@63, ~@31 bb3 ~@27 f3@8 ~@29]/3",
T: "db4 ~@6 b4 ~@14 g3@3 ~@5 a4 ~", U: "~@13 a3@2 ~", V: "~@8 f3@5 ~@2 e3@5 ~ d3 ~@10", W: "~@3 d4 ~@2 g3 ~@9",
X: "~ g3@2 ~@7 [g3,bb3,d4]@2 ~@19 db4", Y: "a3 ~@6 c4@2 ~@12 d4@2 ~@9, ~@7 a3 ~@24", Z: "~@5 g3 ~@13 c4@6 ~@7",
AA: "~ f3@2 ~@29", AB: "[~@25 g4 ~@4 g3@8 ~@6 [c4,f4]@10 f5 ~@9, ~@15 a4 ~@16]/2", AC: "~@17 b4@2 ~@13",
AD: "~@13 g4 f4 ~", AE: "~@21 d4@3 ~@8", AF: "~@16 [f3,d4]@3 ~@13", AG: "~@27 g4 d4 ~@2 d5", AH: "~@29 g4 ~@2",
AI: "~@16 d4 ~@15", AJ: "~@23 d4 ~@7 d4", AK: "~@8 ab5 ~@2 f5 ~@5 d5@2 ~@13", AL: "~@17 d4 ~@14", AM: "~@30 e3 ~",
AN: "~@12 db4 ~ a3@2 ~@12 d4@4", AO: "[~@12 g3@2 ~@13 c4@11 ~@2 a4 ~@13 b3 ~@9]/2",
AP: "~@6 d4 ~@4 e4@2 ~@4 bb3 ~@14", AQ: "~@23 f4 ~@8", AR: "~ d4 ~@4 d4 ~@25", AS: "g3@4 ~@16 g3 ~@11",
AT: "~@5 g4@2 ~@25", AU: "~@2 [d4,g4]@2 ~@8 c7@2 ~@4 g3 ~@13, ~@17 f4@2 ~@13", AV: "~@6 c4 ~@9", AW: "~@5 a3 ~@26",
AX: "~@21 f3@2 ~@9, ~@21 d4 ~@10", AY: "~@3 g3 ~@3 g3 ~@9 g3@3 ~@5 a5@2 ~@5, ~@16 c4@3 ~@13",
AZ: "~@23 a3@2 ~ f3@3 ~@3, ~@25 a3@3 ~@4", BA: "[~@25 db4 d4@13 ~@25]/2", BB: "~@5 f3@3", BC: "[~@8 d4@13 ~@11]/2",
BD: "~@7 gb4 ~@24", BE: "bb3 f3 ~@13 ab3@2 ~@15", BF: "~@15 ab4",
BG: "[~@27 e4@12 f3@2 [f3,a3,b3,e4]@3 ~@4 [f3,a3,b3]@4 ~@3 [a3,d4]@4 ~@3 d4@7 ~ e3@6 e3@3 ~@17, ~@13 c4@6 ~@29]/3", // Fmaj7 Bm7b5 D5
BH: "~@9 g3 ~@5 gb4@4 ~@13",
})).s("gm_piano").gain(0.24).pan(0.6)
// drums · kick
const kick = s("bd").struct(`<
A B C D E F G H I J K L M N O P Q R B S T U V W X O Y Z AA AB AC AD AE AF W AG AH AI AJ AK AL AC AM AN AF AO AP AH AQ
AR AS AT AU AV AN AW AX M AY AZ BA BB G BC BD BE BF BG BH C BI P BJ G BK S J U BL W BM BN BO BP AK BQ BR BS U R W X BT
BU BV ~@3
>`.pickRestart({
A: "x ~@11 x ~@14 x ~ x ~@2", B: "~@5 x ~@10", C: "~@7 x ~@16 x ~@7", D: "~@5 x ~@13 x ~@2 x ~@9",
E: "~@2 x ~@14 x ~ x ~@11 x", F: "~@29 x ~@2", G: "~@7 x ~@5 x ~@2", H: "~@9 x ~@13 x ~@8", I: "~@7 x ~@6 x ~",
J: "~@2 x!2 ~@5 x ~@6", K: "~ x ~ x ~@11 x ~@16", L: "~ x ~@11 x ~@13 x ~@4", M: "~@10 x ~@16 x ~@4", N: "~ x ~@2",
O: "~@5 x ~@16 x ~@9", P: "~@2 x ~@16 x ~@12", Q: "x ~@16 x ~@4 x ~@8 x", R: "~@14 x ~@14 x ~@2",
S: "~@7 x ~ x ~@11 x ~@10", T: "~@4 x ~@14 x ~@12", U: "~@4 x ~@11 x ~@14 x", V: "~@6 x ~@14 x ~@6 x ~@3",
W: "~@11 x ~@16 x ~@3", X: "~@8 x ~@16 x ~@6", Y: "~@3 x ~@14 x ~@13", Z: "x ~@16 x ~@12 x ~",
AA: "~@12 x ~@2 x ~@11 x ~@4", AB: "~@3 x ~@2 x ~", AC: "~@7 x ~@14 x ~@9", AD: "~@7 x ~@11 x ~@12",
AE: "~ x ~@2 x ~@3", AF: "~@2 x ~@11 x ~@16 x", AG: "~@9 x ~@13 x ~@2 x ~@5", AH: "~@6 x ~@16 x ~@8",
AI: "~@3 x ~@14 x ~ x ~@11", AJ: "~ x ~@28 x ~", AK: "~@15 x ~@11 x ~@4", AL: "~@13 x ~@11 x ~@6",
AM: "~@7 x ~@12 x ~@11", AN: "~@5 x ~@11 x ~@14", AO: "~@12 x ~@14 x ~@4", AP: "~@9 x ~@16 x ~@5",
AQ: "~@4 x ~@13 x ~@2 x ~@10", AR: "~ x ~@14 x ~ x ~@12 x", AS: "~@13 x ~@2 x ~@11 x ~@3", AT: "~@25 x ~@6",
AU: "~@10 x ~@12 x ~@8", AV: "~@3 x ~@6 x ~@5", AW: "~@3 x ~@11 x ~@14 x ~", AX: "~@3 x ~@4", AY: "~@7 x ~@24",
AZ: "~@4 x ~@16 x ~@10", BA: "~@2 x ~@16 x ~@11 x", BB: "~@4 x ~@2 x", BC: "~@9 x ~ x ~@11 x ~@8", BD: "~@21 x ~@10",
BE: "~@3 x ~@5 x ~@6", BF: "~ x ~@13 x ~@16", BG: "~@3 x ~@6 x ~@3 x!2", BH: "~@10 x ~@14 x ~ x ~@4",
BI: "~@5 x ~@13 x ~@12", BJ: "x ~@28 x ~@2", BK: "~@11 x ~@12 x ~@7", BL: "~ x ~@11 x ~@14 x ~@3",
BM: "~@8 x ~@14 x ~@6 x ~", BN: "~@13 x ~@6 x ~@11", BO: "~@3 x ~@16 x ~@11", BP: "x ~@16 x ~@11 x ~@2",
BQ: "~@5 x ~@6 x ~@3", BR: "~@9 x ~@12 x ~@9", BS: "~@4 x ~@2 x ~@11 x ~@12", BT: "~@6 x ~@14 x ~ x ~@8",
BU: "~@3 x ~@28", BV: "~ x ~@16 x ~@12 x",
})).gain(0.05)
// drums · rim
const rim = s("rim").struct(`<
A B C D E F G H I J K L M C N E F O P Q J R L M S N E T O H Q U R L V S N W T X Y P Z R AA V B AB D AC X G P AD AE K A
B C D AC F G H I J K A M C N E F O H AF J R L M C N E T O H Q J R L V S N W T ~@3
>`.pickRestart({
A: "~@11 x ~@4", B: "~@19 x ~@12", C: "~@17 x ~@14", D: "~@7 x ~@8", E: "~@3 x ~@4", F: "~@9 x ~@22", G: "~@3 x ~@12",
H: "~ x ~@6", I: "~ x ~@28 x ~", J: "~@7 x", K: "~@25 x ~@6", L: "~@23 x ~@8", M: "~@5 x ~@2", N: "~@15 x ~@16",
O: "~@7 x ~@24", P: "~@3 x ~@28", Q: "~@2 x ~@28 x", R: "~@13 x ~@2", S: "~@9 x ~@6", T: "~@5 x ~@10",
U: "~@29 x ~@2", V: "~@21 x ~@10", W: "~@13 x ~@18", X: "~ x ~@2", Y: "~@5 x ~@26", Z: "x ~@28 x ~@2", AA: "~@3 x",
AB: "~ x", AC: "~@11 x ~@20", AD: "x ~@14 x", AE: "~@27 x ~@4", AF: "~ x ~@29 x",
})).gain(0.21)
// drums · snare
const snare = s("sd").struct(`<
A B ~ C D ~@5 E F ~ G H ~@3 I ~@5 F J ~@3 K L M N L O N ~ P ~@2 Q L M K L ~@2 R ~@2 S ~@4 T ~@2 U H D ~ V W ~@5 U ~ D
~ C ~@3 F ~@4 X ~ M ~@3 Y Z O AA AB AC AD ~@3
>`.pickRestart({
A: "~@5 x ~@2 x ~@3 x ~@6 x ~@7 x ~@4", B: "~@2 x!2 ~ x ~@4 x ~@6 x ~@2 x ~@3 x ~@7", C: "~@19 x ~@12", D: "~@3 x",
E: "~@15 x", F: "~ x ~@30", G: "x", H: "~@27 x ~@4", I: "~@10 x ~@4 x ~ x ~ x ~@12", J: "~@5 x ~@2", K: "~@5 x ~@10",
L: "~@7 x ~@24", M: "~@3 x ~@4", N: "~@31 x", O: "~ x ~@6", P: "~@13 x ~@2", Q: "~@10 x ~@2 x ~@18",
R: "~@21 x ~@2 x ~@7", S: "~@21 x ~@10", T: "x ~@2 x ~@21 x ~@6", U: "~@11 x ~@4", V: "~@3 x ~@3 x ~@8", W: "~ x",
// … 93 more lines
More by Gershwin
Summertime (From Porgy and Bess)A minor · 72 bpmA Foggy DayA♭ major · 120 bpmAn American in ParisC major · 122 bpmBess, you is my woman now (Porgy, Bess)G minor · 104 bpmBy StraussG major · 111 bpmFor You, for Me, for EvermoreE♭ major · 102 bpmGershwin MedleyG minor · 170 bpmIt Ain't Necessarily SoG minor · 84 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.