0:00/0:00
// Sister Honey — Stevie Nicks
// 115 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 145 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): Guitar 4.
setcpm(115/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 · electric bass finger · "Bass"
const bass = note(`<
~ A@2 B@2 C D E@2 F G H I J H@2 K L M N@2 O@2 N@2 P Q N@2 R Q N@2 S T U V W X U Y@2 Z U Y@2 AA U Y AB AA U Y AB AA AC
AD AE AF AG AH AI AJ AG AK Y Z U Y@2 AA U Y AB AA U Y AB AA AC AD AE AF AG AH AI AJ AG AL AE AF AG AH AI AJ AG AL AM
AN AO AP AQ AR AN AM AS AT AE AU AV AW AX AF AV AY AX AF AV AY AX AJ AV AW AZ AU AG BA AX AJ BB BC AX AJ AV BA AX AF
AV BD AX AJ AG BC ~@2
>`.pickRestart({
A: "[a1@7 ~]/2", B: "[f1@21 ~@11]/2", C: "a1@15 ~", D: "~@8 a1@7 ~", E: "[f1@28 ~@2 a1 ~]/2", F: "a1 ~@15",
G: "~@4 a1 ~ a1 ~ a1 ~@5 a1@2", H: "~@4 a1 ~@3 a1 ~@5 a1@2", I: "~@2 a1 ~@4 a1", J: "a1 ~@3 a1 ~@3 a1 ~@5 a1@2",
K: "~@4 a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~", L: "a1 ~ a1 ~ a1 ~@3 a1 ~ a1 ~@3 a1@2",
M: "~@2 f1 ~ f1 ~ f1 ~ f1 ~@3 f1 ~ f1 ~", N: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~",
O: "f1 ~ f1 ~ f1 ~@3 f1 ~ f1 ~ f1 ~ f1 ~", P: "f1 ~ f1 ~ f1 ~ f1 ~ f1 ~@3 f1 ~ f1 ~",
Q: "f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~", R: "~@2 f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~",
S: "a1@3 ~ a1@2 ~@2 a1@4 ~@2 a1@2", T: "~@2 f1 ~ f1@3 ~ f1@4 ~@2 f1@2", U: "~@2 f1 ~ f1@4 ~@2 f1@3 ~ a1@2",
V: "~@2 a1 ~ a1@2 ~@2 a1@4 ~@2 a1@2", W: "~@2 a1 ~ a1@4 ~@2 a1 ~ a1@3 ~", X: "f1 ~ f1@2 ~ f1 ~ f1",
Y: "~@2 a1 ~ a1@4 ~@2 a1@2 ~@2 a1@2", Z: "~@2 f1 ~ f1@5 ~ f1@2 ~@2 f1@2", AA: "~@2 f1 ~ f1@4 ~@2 f1@2 ~@2 f1@2",
AB: "~@2 a1 ~ a1@4 ~@2 a1@3 ~ a1@2", AC: "~@2 f1 ~ f1@4 ~@2 f1 ~ f1 ~ f1@2", AD: "~@2 f1 ~ f1@4 ~@2 f1@4 ~@2",
AE: "a1@4 ~@2 a1@2 g1@5 ~ g1@2", AF: "~@2 f1 ~ f1@2 ~@2 f1@8", AG: "e1@6 f1@5 ~ g1@4",
AH: "~@2 a1 ~ a1@2 ~@2 a1@5 ~@3", AI: "a1@6 g1@5 ~ f1@4", AJ: "~@2 f1 ~ f1 ~@3 f1@8",
AK: "~@2 a1 ~ a1 ~@3 a1@2 a1@2 a1@3 ~", AL: "~@2 a1 ~ a1 ~@3 a1@5 ~@3", AM: "f1@4 ~@2 f1 ~ f1@5 ~ f1 ~",
AN: "f1@4 ~@2 f1 ~ f1@4 ~@2 f1 ~", AO: "g1@4 ~@2 g1 ~ g1@4 ~@2 g1@2", AP: "c2@2 ~ c2 b1@2 ~ b1",
AQ: "a1@4 ~@2 a1 ~ a1@4 ~@2 a1 ~", AR: "a1@4 ~@2 a1 ~ a1@4 ~@2 a1@2", AS: "g1@4 ~@2 g1 ~ g1@4 ~@2 g1 ~",
AT: "g1@4 ~@2 g1 ~ g1@6 ~@2", AU: "~@2 f1 ~ f1 ~@3 f1@7 ~", AV: "e1@3 f1@3 g1@2", AW: "~@2 a1 ~ a1@2 ~@2 a1@6 ~@2",
AX: "a1@3 g1@3 f1@2", AY: "~@2 a1 ~ a1 ~@3 a1@6 ~@2", AZ: "a1@5 ~ g1@6 f1@4", BA: "~@2 a1 ~ a1 ~@3 a1@4 ~@4",
BB: "e1@5 ~ f1@6 g1@4", BC: "~@2 a1 ~ a1 ~@3 a1@7 ~", BD: "~@2 a1 ~ a1@2 ~@2 a1@4 ~@4",
})).s("gm_electric_bass_finger").gain(0.55)
// bass · electric bass finger · "Bass" · soft notes
const bass_soft = note("<~@4 A ~ B ~@2 C D E F G E G H I J ~@2 K@2 ~@2 J ~@3 L ~@115>".pickRestart({
A: "~@6 f1 ~ f1@7 ~", B: "a1@5 ~ a1 ~@9", C: "~@2 a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~", D: "a1 ~ a1 ~@7 a1 ~ a1 ~@3",
E: "a1 ~ a1 ~@3 a1 ~@3 a1 ~ a1 ~@3", F: "a1 ~ a1 ~@3 a1 ~ a1 ~ a1 ~ a1 ~@3", G: "~@2 a1 ~@3 a1 ~@3 a1 ~ a1 ~@3",
H: "a1 ~ a1 ~@13", I: "~@6 a1 ~@5 a1 ~@3", J: "~@10 f1 ~@5", K: "~@6 f1 ~@9", L: "f1 ~@15",
})).s("gm_electric_bass_finger").gain(0.31)
// other · epiano2 · "Keyboard"
const epiano2 = note(`<
~ A B C@2 D E F ~ G H I H J@2 K@2 L M N L O P J L Q P L R@2 P S@2 ~@4 T U@2 V@2 W@2 X@2 Y@2 Z@2 AA@2 AB@2 AC@2 ~@10
W@2 X@2 Y@2 Z@2 AA@2 AB@2 AC@2 ~@17 AD@2 AE@3 AF@2 AG@3 ~@38
>`.pickRestart({
A: "a2@2 ~ a2@2 ~ a2@2 ~ a2 ~@6", B: "~@7 f2", C: "[~ f2@3 ~ f2@23 ~@4]/2", D: "~@6 a2@2 a2@2 a2!3 ~ a2@2",
E: "a2!2 ~@2 a2 ~ a2@2 a2@2 a2 ~ a2 ~@3", F: "f2@2 ~ f2@2 ~@11", G: "~@2 a2 ~ a2@2 ~@2 a2@2 a2 ~@3 a2@2",
H: "~@2 a2 ~ a2@2 a2 ~ a2@2 a2 ~@3 a2@2", I: "~@4 a2@3 ~ a2@2 ~ a2 ~@2 a2@2", J: "~@2 a2 ~ a2@3 ~ a2@3 ~@3 a2@2",
K: "~@2 a2 ~ a2@2 a2 ~ a2@2 a2@2 a2 ~ a2@2", L: "~@2 a2 ~ a2@3 ~ a2@3 ~ a2 ~ a2@2",
M: "~@2 f2@2 f2@3 ~ f2@3 ~ f2 ~ f2@2", N: "~@2 a2@2 a2@3 ~ a2@3 ~ a2 ~ a2@2", O: "~@2 f2 ~ f2@3 ~ f2@3 ~ f2 ~ f2@2",
P: "~@2 f2 ~ f2@3 ~ f2@3 ~ f2@2 a2@2", Q: "~@2 f2@5 ~ f2@5 ~ f2@2",
R: "[~@2 a2 ~ a2@3 ~ a2@3 ~ a2@2 ~ a2@2 ~ f2 ~ f2@3 ~ f2@3 ~ f2 ~ f2@2]/2", S: "~@2 a2 ~ a2@3 ~ a2@4 a2 ~ a2@2",
T: "~@4 [a2,e3]@11 ~", U: "[~@20 f3@9 ~@3, ~@4 [f2,c3]@25 ~@3]/2", V: "[~ [a2,e3,a3]@6 ~]/2",
W: "[~@2 [c3,f3]@11 ~@3]/2", X: "[~@4 [e3,a3]@23 ~@5]/2", Y: "[~@4 [c3,f3]@19 ~@9]/2", Z: "[~@4 [e3,a3]@21 ~@7]/2",
AA: "[~ [c3,f3]@5 ~@2]/2", AB: "[~@2 [e3,a3]@9 ~@5]/2", AC: "[~@4 [c3,f3]@17 ~@11]/2",
AD: "[[f3,c4]@4 ~@4 c4@4 ~@4 c4@4 ~@2 f3@3 ~@3 c4@3 ~, ~@6 f3@7 ~ f3@6 ~@6 f3@5 ~]/2", // F5
AE: "[[g3,d4]@2 ~@2 d4@2 ~@2 d4@2 ~@2 d4@2 ~ a3@3 [c4,e4]@6, ~@6 g3@6 ~@2 g3@6 ~@2 g3@6 ~@8 a3@9 ~@3]/3", // G5 C
AF: "[e4@4 ~@4 e4@3 ~@5 c4@4 ~@4 c4@4 ~@2 f3@2, ~@3 a3@3 ~ f3@3 ~ f3@3 ~@2]/2",
AG: "[c4@4 ~@4 c4@5 ~@3 d4@4 ~@4 d4@4 ~@4 d4@4 ~@4 d4@4 ~@4, ~@6 f3@7 ~ g3@6 ~@2 g3@6 ~@2 g3@6 ~@2 g3@6 ~@4]/3",
})).s("gm_epiano2").gain(0.48).pan(0.6)
// other · epiano2 · "Keyboard" · soft notes
const epiano2_soft = note("<~ A@2 ~ B C D E@2 F G H G@3 ~@8 G ~@80 I ~@40>".pickRestart({
A: "[~@10 a2@2 a2@2 ~ a2@3 a2 a2@2 a2@3 a2@3 a2@2 ~ a2 ~]/2", B: "~@14 a2 ~", C: "a2@2 ~ a2!2 ~@11",
D: "~@2 a2!2 ~@7 a2 ~@2 a2 ~", E: "[a2 ~ a2 ~@3 f2@2 f2@20 ~@2 a2 ~]/2", F: "a2 ~@5 a2 ~@5 a2 ~@3", G: "~@12 a2 ~@3",
H: "~@2 a2 ~@9 a2 ~@3", I: "f3 ~@3",
})).s("gm_epiano2").gain(0.24).pan(0.6)
// chords · electric guitar jazz · "Guitar 1"
const electric_guitar_jazz = note(`<
~@6 A@6 B@2 C@2 ~ D@2 E@5 F@6 G@3 ~@7 H@4 I@6 J@6 ~ K@2 L M N@2 O@2 ~ P Q@6 R@8 S@3 T U@2 V@2 W@3 T U@2 V@2 X@2 Y@8
~@38
>`.pickRestart({
A: "[~@11 g5@3 a4@22 ~@4 c5@25 ~@12 g5@16 ~@3, ~@3 a4@4 ~@26 a4@4 e5@10 ~, ~@35 c5@3 ~@10]/6",
B: "[~@5 a5@2 g5@7 ~@2]/2", C: "[~@2 e5@3 d5@3 c5@3 ~@3 a4@8 g4@7 ~@3]/2", D: "[~@4 c5@9 ~ g5@18, ~ a4@15]/2",
E: "[~@11 c5@3 ~ a4@12 d5@4 c5@4 a4@5, ~@7 e5@7 ~@26]/5",
F: "[~@6 b4@8 ~@4 g4@19 ~@9 e5@15 ~ g5@7 ~@11 a5@11 ~@5, ~@14 c5@23 ~ a4@31 ~@9 e5@14 ~@4]/6",
G: "[~@2 a4@8 ~@2 e5@15 ~@5 d5@9 ~@7, ~@10 a4@17 ~@3 a4@10 ~@8]/3",
H: "[~@6 a3@3 ~@18 c5@5, ~ a5@10 ~@14 e4@7, ~@2 e4@4 a4@14 ~@6 e4@19 ~ d4@10 ~@8, ~@2 g5@9 ~@4 d5@7 c4@6 ~@4, ~@2 a3 c5@8 ~@3 a4@7 a4@5 a4@6]/4",
I: "[~@5 d5 ~@5 e4@6 ~@6 d5@4 c5@3 ~ [e4,a4]@5 ~@3 a4@7 ~@2, ~@12 e5@6 e5@16 ~@10 a4@17 ~@15 g4@16 ~@4, ~@14 c5@6 c5@14 ~@8 [e4,g4]@4 e4@15 ~@13 e4@18 ~@4]/6", // A5 Em
J: "[~@14 d5@7 ~@9 [e4,a4]@21 ~@27 d5@7 ~ c5@7 ~@3, ~@10 e4@11 ~ [e4,c5]@6 d4@19 ~@5 e5@18 g4@6 a4@17 ~@3, ~@12 a4@9 ~@5 c4@21 ~@11 c4@19 ~@19, ~@10 d4@3 ~@3, ~@62 a4@12 e4@19 ~@3]/6", // A5 C
K: "[[a3,c4,e4]@6 a3@2 e4@4 ~@2 e4@4 a3@2 [a3,c4,f4]@3 ~ [a3,c4,a4]@8, ~@8 [b3,d4,g4]@9 ~@3 e4@12, ~@12 a3@5 ~@7 f4@6 ~@2]/2", // Am F Am G
L: "[g3,b3,e4]@5 ~ [a3,c4,f4]@4 ~@2 [b3,d4,g4]@4", M: "~@8 [a4,a5]@7 ~, ~@2 a3@13 ~, ~ a4@3 ~@4, ~@4 [e4,e5]@11 ~",
N: "[~@6 [g3,d4,e5]@4 ~@2 [f3,e5]@5 ~@3 f4@3 ~ [c4,f4]@7 ~, [a3,e4]@6 ~@6 c4@11 ~@9, ~@4 a4@5 ~ a4@7 ~ [f3,a4]@13 ~, ~@10 e5@5 ~]/2", // Em7 Fmaj7 F5 A5 F
O: "[[e3,b3,e4]@5 ~ [f3,c4,f4,e5]@4 ~@2 [d4,e5]@6 ~@6 a4@5 ~@3, ~@10 a4@7 ~ a4@6 a5@3 ~@5, ~@6 g3@2 ~ a3@5 ~@2, ~@20 e4@9 ~@3, ~@20 e5@7 ~@5]/2", // E5 Fmaj7 Dsus2
P: "~@4 g4@3 ~ a4@8, ~ e4@7",
Q: "[~@4 [g4,a4]@4 ~@6 e4@4 ~@4 a4@2 ~@10 a4@2 g4@2 ~@2 a4@2 a4@9 ~ g4@2 c5@12 ~@4 a4@2 ~@12 e4@3 ~ g4@4 a4@4, ~@2 d4@10 d4@4 ~@2 e4@6 a4@5 ~ g4@6 ~@2 g4@12 ~@2 a4@14 ~@2 g4@6 ~@4 g4@10 ~@8, ~@8 a4@9 ~@3 g4@6 c4@9 ~ d4@7 ~@23 e4@6 ~@2 d4@8 d4@6 ~@8, ~@34 b4@2 a4@4 ~ a4@5 ~@2]/6", // Gsus2
R: "[~@2 [d4,c5]@2 e4@2 d5@4 ~@4 a4@4 ~@4 a4@2 ~@10 a4@2 [c4,a4]@6 ~@2 c4@2 g4@4 ~@8 [d4,a4]@2 e4 ~ g4@2 ~@2 a4@2 ~@10 c5@6 ~@2 b4@4 g4@2 ~@2 a4@4 ~@4 [e4,g4]@4 a4@4 a4@4 ~@8 g4@4 a4@2, ~@4 a4@10 ~@10 a4@5 ~@13 a4@10 a4@4 ~@12 a4@8 a4@14 ~@16 g4@8 ~@2 g4@6 ~@6, ~@10 e4@7 ~ e4@4 ~@4 d4@8 ~@16 e4@8 ~@2 d4@8 ~@22 e4@6 ~@2 d4@8 ~@8 d4@6 a4@6 ~@2, ~@12 g4@6 ~@2 g4@6 ~@4 g4@6 ~@18 g4@6 ~@4 g4@6 ~@4 g4@5 ~@5 c5@6 ~@28 e4@5 ~@5]/8", // D7 F D5 Em
S: "[~@6 a4@2 ~@12 [g4,a4]@4 a4@6 ~@2 a4@4 e4 ~ a4@4 ~@2 a4@4, a4@3 ~ a4@2 a4@4 ~@14, ~@4 e4@4 ~@2 e4@6 ~@2 e4@5 ~@7 e4@5 ~@7 e4@6]/3", // Gsus2
T: "~ a4@2 ~ a4@3 ~, ~@2 e4@3 ~ e4@9 ~", U: "[a4@4 e4 ~ a4@4 ~@14 a4@6 ~@2, ~@10 e4@5 ~@3 e4@13 ~, ~@6 a4@5 ~@5]/2",
V: "[[e4,a4]@4 e4 ~ a4@4 ~@2 a4@6 ~@2 g4@4 a4@4 ~@4, ~@6 e4@2 ~@2 e4@5 ~@3 e4@9 ~@5]/2", // A5
W: "[a4@4 ~@2 a4@2 ~@12 [g4,a4]@4 a4@6 ~@2 a4@4 e4 ~ a4@4 ~@2 a4@4, ~ e4 a4 a4@2 ~@7, ~@10 e4@6 ~@2 e4@5 ~@7 e4@5 ~@7 e4@6]/3", // Gsus2
X: "[~@3 c4, f3@10 ~@8 f3@9 ~@5, ~ c4@2 c4@3 ~@2, ~@3 a3@7 a3@6]/2",
Y: "[~@12 c4@2 ~@14 c4@2 ~@6 c4@2 ~@6 c4@2 ~@30 c4@2 ~@6 c4@2 ~@6 c4@2 ~@6 c4@2 ~@6 c4@2 a3@6 c4 ~@7 c4@3 ~, ~ g3@6 a3@8 a3@4 ~@4 a3@10 a3@6 a3@4 ~@4 a3@4 ~@13, ~ c4@2 ~@2 c4@2 ~@6 c4@2 c4@2 c4@2 ~@13, ~@6 b3@8 ~@8 b3@9 ~@7 b3@8 ~@8 b3@16 b3@8 ~@8 b3@8 ~@8 b3@8 ~@8 b3@9 ~]/8",
})).s("gm_electric_guitar_jazz").gain(0.32)
// chords · electric guitar jazz · "Guitar 1" · soft notes
const electric_guitar_jazz_2 = note(`<
~@6 A@4 ~ B ~@2 C ~@13 D ~ E ~@22 F@2 ~@8 G ~@2 H ~@3 I ~ J ~@2 K ~@2 L@2 M ~ N O ~ P ~@4 N O ~ P ~@3 Q@2 ~@46
>`.pickRestart({
A: "[~@4 e5@14 ~ a4@13]/4", B: "a4@7 ~", C: "~@11 d5@3 ~@2", D: "~@7 a4@2 ~@7, ~@3 e5 ~@4", E: "~@5 d5@6 ~@5",
F: "[~@4 e4@21 ~@7]/2", G: "a4@9 ~@7", H: "~@5 a4 ~@10", I: "~ e4@2 ~@5", J: "~@14 e4 ~", K: "~@2 g4 ~",
L: "[~@4 g4@3 ~@5 g4@6 ~@12 d4 ~]/2", M: "~@12 d4@3 ~", N: "~@2 e4 ~", O: "~@3 e4 ~@4", P: "e4@2 ~ e4 ~@4",
Q: "[~@10 f3@4 f3@4 ~@9 f3@5]/2",
})).s("gm_electric_guitar_jazz").gain(0.16)
// chords · acoustic guitar steel · "Guitar 2"
const acoustic_guitar_steel = note(`<
~@2 A@4 B@8 C@3 D@3 E@4 F@8 G H I@2 J@8 K@6 L M@2 N@2 O@2 P Q R@2 S@2 T@2 U@3 K@6 L M@2 V W O@2 X@2 R@2 S@2 Y@2 Z@2
R@2 S@2 Y@2 AA@2 AB AC AD@2 AE@2 AF@2 AG AH AI@2 AJ@2 AK AL AM@2 AI@2 AN@2 AO@2 AP@2 AQ@2 AR AS AO@2 AT@2 AU AV AR AW
AO@2 AX@2 AY@2 ~@2
>`.pickRestart({
A: "[~@15 a3@6 c4@5 ~@6, ~@5 c4@16 ~@11, ~@7 a4@16 ~@9]/4",
B: "[~@18 e4@3 e4@2 c4@3 ~@5 c4@2 [a3,c4,e4]@2 c4@2 [c4,e4]@2 c4@8 c4@2 ~@2 [c4,e4]@2 ~@2 c4@3 [c4,e4]@2 c4@3 ~, ~@5 c4@8 ~@5 b3@16 ~@30, ~@7 a4@16 ~@41, ~@21 a3@4 ~@30 a3@2 ~@7]/8", // Am C
C: "[~@10 e4@4 c4@6 c4@6 ~@4 [c4,e4]@6 c4@4 ~@3 a3@3 ~@2, ~ c4@6 ~@8 a3@2 ~@7]/3", // C
D: "[~@2 c4@2 ~@6 [a3,c4]@2 ~@5 a3 c4@2 ~@2 a3 ~, ~@2 e4@7 ~@3, ~@2 c4@3 ~ c4@3 ~@3, ~@3 f3@5]/3", // Am
E: "[~@2 [c4,e4]@2 [c4,e4]@3 c4@3 ~@8 [a3,c4]@2 a3@3 ~@2 a3 [c4,e4]@2 e4@3 [a3,e4], ~ a3@3 ~@3 e4@16 e4@3 ~@6, ~@10 [a3,c4]@5 [a3,c4]@3 ~@2 c4@6 ~@2 c4@4, ~@12 f3@5 f3@15]/4", // C Am C A5 Am
F: "[~@2 [c4,e4]@2 e4@3 ~@3 [a3,c4]@2 ~@3 [a3,c4]@3 ~@7 a3 [a3,c4,e4]@2 e4@3 a3@2 a3 [a3,c4,e4]@2 e4@3 ~@3 [a3,c4]@2 ~@5 f3 [a3,c4]@2 ~@5 a3 [c4,e4]@2 [c4,e4]@4, ~@2 a3@4 ~ e4@16 e4@3 ~@5 e4@3 ~@5 e4@16 e4@3 ~@6, ~@2 c4@3 ~@4 f4@8 ~@15, ~@10 c4@3 ~ c4@3 ~ c4@3 ~@5 c4@3 ~@3, ~@20 a3@5 ~@11 a3@2 ~@6 [a3,c4]@6 ~@2 a3@5 ~@3 a3@3 ~]/8", // C Am C Am
G: "~@2 a3@2 [c4,e4]@4 [c4,e4]@5 ~@3", H: "~@6 a2 [a3,c4], a2@2 a2 ~, ~@2 [c4,e4]@3 [a3,c4,e4]@2 ~",
I: "[~@2 [a3,c4]@3 [a3,c4]@2 ~@3 [a3,c4]@3 ~ f2 [a3,c4,e4], f2@4 ~@3 [a3,c4]@3 ~@3 [f3,a3,c4]@2 ~, ~@2 f2 ~]/2", // Am F
J: "[~@5 [c4,e4]@2 ~@2 a3 [a3,c4,e4]@3 e4 ~@11 a3 ~@4 [f2,e4] ~@10 a3 [a3,c4,e4]@3 e4 a2 c4 ~@2 [a3,c4]@3 ~@10 [a3,c4,e4], a2@4 a2@4 a2@4 ~@3 a3@3 [a3,c4]@3 [a3,c4]@2 c4@3 ~@13 [c4,e4]@3 ~@12 e4@9 ~, ~@4 [a3,c4,e4]@6 ~@4 [c4,e4]@6 ~@8 e4@24 e4@8 ~@32 a4@5 ~@31, ~@14 a3@4 ~@8 [a3,c4]@5 ~ f2@8 f2@4 f2@4 f2@8 f2@4 ~@4 a2@8 a2@4 a2@4 a2@8 ~@8 f2@8 ~@4 f2@4 f2@8 f2@4 [f2,d4]@4, ~@23 a3@2 ~ [a3,c4]@3 [a3,c4]@2 [a3,c4,e4]@3 [a3,c4,e4]@3 [a3,c4,e4]@2 ~@6 [a3,c4]@2 a3@3 ~@3 [a3,c4]@2 [a3,c4]@3 [a3,c4]@3 [a3,c4]@2 ~]/8", // C Am Fmaj7 Am C Am C Am …
K: "[~@5 e4!2 ~@7 a2 c4 ~@14 [f2,e4] a3 ~@5 [a3,c4,e4]@2 ~@6 [a3,c4,e4] a2 [a3,c4], a2@4 a2@2 a2@2 a2@4 a2@2 d4@16 ~ [c4,e4]@3 ~@14, ~@2 [a3,c4,e4]@3 [a3,c4]@2 [c4,e4]@3 [a3,c4,e4]@3 [a3,c4,e4]@2 a3@3 [a3,c4]@3 [a3,c4]@2 [a3,c4]@3 [a3,c4]@3 [a3,c4]@2 ~@3 [a3,c4,e4]@3 ~@2 [a3,c4,e4]@3 [a3,c4,e4]@3 ~@3, ~@16 f2@4 f2@2 e4@8 ~ a4@11 a4@4 a4@2, ~@11 f2 f2@2 f2 ~ a2@2 a2 ~ a2@2 a2 ~]/6", // Fmaj7 Am C Am C Am
L: "f2@4 [f3,a3]@3 ~ f2@2 [a3,c4]@3 ~ [a3,c4]@2, ~@4 a4@9 ~@3, ~@2 c4@3 ~@3", // F Am
M: "[~ c4 [c4,a4]@3 a3 f2 e4 ~@2 [a3,c4,e4]@2 a2 [a3,c4,e4] a2 [a3,c4,e4], f2@3 ~@5 a2@3 ~@5, ~@2 a3@2 ~ [c4,g4]@2 [c4,a4]@3 ~@6]/2", // F Am C5 F
N: "[~@2 c4@2 [a3,e4]@3 ~ a2@2 [a3,c4,e4] ~ a2@2 ~@4 c4@2 a3@2 ~@2 f2@2 [a3,c4]@2 f2@2 [a3,c4]@2, a2@3 ~@5 f2@3 a4@3 ~@2, ~@4 [c4,a4]@7 ~@3 [a3,c4]@4 ~@2 g4@8 ~@4, ~@10 c4@3 ~@3]/2", // A5 Am F Am
O: "[~@4 a3@4 f2@2 a3@2 f2@2 ~@12 [g3,b3,d4]@5 ~, f2@6 ~@10 f2@13 ~@3, ~@2 a4@5 ~@9, ~@2 c4@3 c4@2 [a3,c4]@2 ~ [a3,c4]@5 ~]/2", // G Am
P: "[a3,c4,e4,a4]@7 ~ [g3,b3,d4,a4]@8", Q: "~@4 [a3,c4,a4]@4 [f3,a3,c4,a4]@7 ~, ~ f3@3 ~@4",
R: "[[e3,g3,b3,a4]@5 ~ [f3,a3,c4,a4]@5 ~ [g3,b3,d4,a4]@6 ~@2 [c4,e4,a4]@4 [a3,c4,e4,a4]@7 ~, ~@9 a3@3 ~@4]/2", // Em F G Am
S: "[[a3,c4,e4,a4]@5 ~ [g3,b3,d4,a4]@5 ~ f3@6 f3@2 [f3,a3,c4,a4]@4 [f3,a3,c4,a4]@7 ~, ~@3 [a3,c4,a4]@2 ~@3]/2", // Am G F Am
T: "[[e3,g3,b3,a4]@6 [f3,a3,c4,a4]@5 ~@9 [c4,e4,a4]@3 ~@3 a3@2 [a3,c4,e4]@3 ~, ~@12 [g3,b3,d4]@11 ~@9, ~@3 a4@2 ~@3, ~@18 a3@5 ~@9]/2", // Em F Am G
U: "[~ a3 [a3,e4]@3 [a3,c4,e4] a2 c4 ~@2 [a3,c4]@3 ~@9 f2 [a3,c4,e4], ~@2 c4@2 ~@2 a4@2 f2@4 ~@2 e4@9 ~, ~@7 a3@3 ~@3 [a3,c4]@2 [a3,c4]@3 [a3,c4]@3 [a3,c4]@2 ~, ~@7 f2 f2@2 f2 d4]/3", // A5 Am
V: "~@2 c4@2 [a3,e4]@3 ~ a2@2 [a3,c4,e4] ~ a2@2 ~@2, a2@3 ~@5, ~@2 c4@3 ~@3", // A5 Am
W: "~ c4 a3 ~ f2 [a3,c4] f2 [a3,c4], f2@3 a4@3 ~@2, ~ g4@2 ~, ~@2 c4@3 ~@3", // Am
X: "[[a3,c4,e4,a4]@7 ~ [g3,b3,d4]@8 ~@4 [a3,c4,a4]@4 [f3,a3,c4,a4]@7 ~, ~@4 a4@5 f3@3 ~@4]/2", // Am G Am F
Y: "[[e3,g3,b3,a4]@6 [f3,a3,c4,a4]@5 ~@9 [c4,e4,a4]@4 [a3,c4,e4,a4]@5 ~@3, ~@12 [g3,b3,d4]@15 ~@5, ~@3 a4@2 ~@3, ~@9 a3@3 ~@4]/2", // Em F Am G
Z: "[c4@7 ~ [g3,b3,d4]@6 ~@6 [a3,c4,a4]@4 [f3,a3,c4,a4]@7 ~, ~@4 a4@5 f3@3 ~@4]/2", // G Am F
AA: "[~@3 f3@2 ~@8 f3 ~ g3, f3@3 ~@2 f3@2 ~@2 f3@4 ~@3, ~ [a3,c4]@2 c4@4 ~, ~@3 a3@2 a3@2 [a3,c4]]/2", // Am
AB: "~@2 g3 ~ g3@6 g3@2 [b3,d4]@3 ~, g2 ~, ~ [b3,d4]@2 ~", AC: "~@3 e4, c3, ~ c4@7, ~@2 e4@3 b3@3, ~ b2",
AD: "[~@2 a3@3 a3 ~@3 a3 a3@3 a3 [a3,c4,e4]@2, a2@2 a2 ~, ~ [c4,e4]@2 [c4,e4]@2 [c4,e4]@2 ~, ~@6 a3@3 ~@7]/2", // Am C
AE: "[~@2 f3@3 f3 ~@3 f3 ~@3 f3!3, f2@4 ~@2 f3@3 ~ f3@3 ~@3, ~ [a3,c4]@2 [a3,c4]@2 [a3,c4]@2 [a3,c4], ~@2 f2!2]/2", // Am
AF: "[~@10 g3@2 g3@6 g3@2 ~@6 g3@2 [g3,b3,d4]@3 ~, g2@4 g2@4 ~@2 g3@3 ~@3, ~ g3@4 ~@5 d4@4 ~@2, ~@4 [b3,d4]@8 [b3,d4]@9 ~@3 g2@7 ~]/2", // G Bm
AG: "[a3,c4,e4]@6 a3 ~@7 g3@2, ~ [b3,d4]", AH: "~@4 [a3,c4]@4 [f3,a3,c4]@7 ~, ~ f3@3 ~@4",
AI: "[[e3,b3]@5 ~ [f3,c4]@5 ~ [g3,d4]@6 a3@2 [c4,e4] ~@3 [a3,c4,e4]@7 ~]/2", // E5 F5 G5 C Am
AJ: "[[a3,e4]@6 [g3,d4]@6 [f3,c4]@6 f3 ~ [f3,c4] ~@3 [f3,c4]@6 ~@2]/2", AK: "[e3,b3]@5 ~ [f3,c4]@5 ~ [g3,d4]@4",
AL: "~@2 a3@2 [c4,e4] ~@3 [a3,c4,e4]@7 ~", // C Am
AM: "[[a3,c4,e4]@5 ~ [g3,d4]@5 ~ c4@8 [f3,c4] ~@3 [f3,c4]@7 ~, ~@6 f3@3 ~@7]/2", // Am G5 F5
AN: "[[a3,e4]@5 ~ [g3,d4]@6 f3@6 f3@2 [f3,c4] ~@3 [f3,c4]@6 ~@2, ~@3 c4@2 ~@3]/2", // A5 G5 F5
AO: "[[e3,b3]@5 ~ [f3,c4]@6 [g3,d4]@6 a3@2 e4 ~@3 [a3,e4]@7 ~]/2", // E5 F5 G5 A5
AP: "[[a3,e4]@5 ~ [g3,d4]@6 f3@6 f3@2 [f3,c4]@4 [f3,c4]@7 ~, ~@3 c4@2 ~@3]/2", // A5 G5 F5
AQ: "[~@6 [f3,c4]@6 ~@8 e4 ~@3 [a3,e4]@8, [e3,b3]@11 ~ [g3,d4]@8 ~@12, ~@9 a3@2 ~@5]/2", // F5 A5 E5 G5
AR: "[a3,e4]@5 ~ [g3,d4]@6 [f3,c4]@4", AS: "~@4 c4@2 ~@2 [f3,c4]@7 ~, ~ f3@2 ~@5",
AT: "[[a3,e4]@5 ~ [g3,d4]@5 ~ f3@6 f3@2 [f3,c4] ~@3 [f3,c4]@7 ~, ~@3 c4@2 ~@3]/2", // A5 G5 F5
AU: "[e3,b3]@5 ~ [f3,c4]@6 [g3,d4]@4", AV: "~@2 a3@2 e4 ~@3 [a3,e4]@8", AW: "~@2 f3@2 [f3,c4] ~@3 [f3,c4]@7 ~",
AX: "[[a3,e4]@5 ~ [g3,d4]@5 ~ [f3,c4]@6 f3@2 [f3,c4] ~@3 [f3,c4]@6 ~@2]/2", // A5 G5 F5
AY: "[[e3,b3]@5 ~ [f3,c4]@6 [g3,d4]@6 a3@2 e4 ~@3 [a3,e4]@5 ~@3]/2", // E5 F5 G5 A5
})).s("gm_acoustic_guitar_steel").gain(0.4).pan(0)
// chords · acoustic guitar steel · "Guitar 2" · soft notes
const acoustic_guitar_steel_2 = note(`<
~@2 A@8 B@6 C@6 D@6 E@5 F G@2 H I J@2 K@3 ~ L@2 ~@2 M N O P ~@13 Q@2 ~ L@2 ~@2 M N O P ~@21 R@2 S ~@2 T U ~ V W ~@9 X
~@28
>`.pickRestart({
A: "[~@10 [a3,e4]@20 e4@6 e4@6 a3@4 a3@6 [a3,c4,e4]@6 [a3,e4]@4 [a3,e4]@6 [a3,c4,e4]@6 [a3,e4]@10 [a3,e4]@6 a3@4 ~ a3@11 ~@8 a3@2 [a3,c4,e4]@6 [a3,c4,e4]@4 [a3,e4]@2, ~@21 e4@5 ~@3 c4@5 ~@11 c4@10 ~@9, ~@45 e4@5 ~@5 e4@3 ~@6]/8", // A5 Am A5 Am A5 Am A5
B: "[~@3 [a3,e4]@2 a3@2 [a3,e4]@3 [a3,e4]@2 e4@2 e4 ~@2 [a3,c4,e4]@2 ~@2 [a3,c4,e4]@2 ~@2 a3 a3@2 a3 a3@2 [a3,c4,e4]@2 [a3,e4]@2 [a3,e4]@2 a3@2 [a3,e4]@3 [a3,e4]@3 [a3,c4,e4]@2 ~, ~@12 a3@3 [a3,e4]@2 ~@2 a3@2 ~@2 e4@3 ~@2 e4@3 ~@17, ~@4 e3!2 e3@4 ~@2]/6", // A5 Am A5 Am A5
C: "[~ a3 [a3,e4]@2 [c4,e4]@3 a3@2 a3 [a3,e4]@2 a3@2 a3@4 ~@2 a3@3 a3@2 ~ [a3,e4]@2 [c4,e4]@3 [c4,e4]@3 ~@2 a3@2 a3 a3@3 ~@6, ~@8 a3@3 ~@3 [c4,e4]@6 ~@36 a3@4 ~@2 a3@4 ~@30]/6", // A5 C A5 C
D: "[~@7 a3@2 ~ a3@4 a3 ~@2 a3 ~@10 [a3,c4]@3 ~@3 [a3,c4]@2 ~@8 a3@3 ~, ~ f4@8 ~@2 a3@2 ~@11, ~@25 f3@16 ~@7]/6", // Am
E: "[~@18 f3@16 ~@18 a3@4 ~@6 a3@4 ~@2 a3@4 a3@5 ~@3, ~@12 a3@8 ~@17 f3@32 ~@11]/5", F: "~@2 a3@3 ~@2 f3",
G: "[~@5 f3@2 f3@3 ~@2 f2@2 ~@2, ~@4 f2@3 ~@3 f3@3 ~@3]/2", H: "~@5 a3@2 ~", I: "~@4 a2@2 a2 f3",
J: "[~@2 f3@3 f3@2 f3@8 ~]/2", K: "[~@7 a3@2 ~@3 a2@2 ~ f3 ~@4 f2@2 ~@2, ~@7 e4@4 ~]/3", L: "[~@7 a3@3 ~@5 f3]/2",
M: "~@3 a2", N: "~@12 c4 ~@3", O: "~@2 c4@2 ~@8 f2 ~@3", P: "~@4 f2 ~@2 a3",
Q: "[~@4 a2 ~@2 f3 ~@4 f2@2 ~@2, ~@3 e4@4 ~]/2", R: "[~@7 f3@2 ~@5 f3@2]/2", S: "~@12 g3@3 ~, ~ g2", T: "~ a2",
U: "~ f2", V: "a3 ~@15", W: "~@5 b3@7 ~@4, g2@7 ~@9", X: "~ f3 ~@6",
})).s("gm_acoustic_guitar_steel").gain(0.24).pan(0)
// chords · distortion guitar · "Guitar 3"
const distortion_guitar = note("<~@82 A B@2 C@5 D E@4 F@2 ~@10 G@5 H I@4 J K@8 L M@5 N@4 O@3 P@5 ~>".pickRestart({
A: "~@12 a4@2 g4 [e4,g4]", B: "[a4@19 ~@13]/2",
C: "[a3@21 ~@7 c4@2 d4 a3@7 [d4,e4] a3@4 [c4,d4] c4 a3@5 [b3,c4] b3 a3@4 [c4,d4] c4 ~@2 a4@11 ~ g4@8, ~@31 c4 ~@7 d4 ~@18 a3@6 ~@16]/5", // Dsus2 Csus2 Cmaj7 Csus2
D: "~@2 a4 ~ a4@4", E: "[d5@18 a5@3 e5@3 d5@2 a5@13 ~ g5@11 ~ f5 ~@3 f5@8]/4",
F: "[e5@6 f5@6 g5@8 a5@2 ~@2 a5@7 ~]/2",
G: "[~@4 a5 a5@7 a5@2 a5@14 a5@2 a5@8 a5 a5@5 a5@2 a5@4 a5@2 a5@8 c6 ~ a5 a5@6 ~ c5 ~ a5 ~ d5 a5 ~ e5 ~ e5, ~@61 c6@4 ~@6 c5@2 a5@2 ~ [d5,a5]@2 a5@2]/5", // D5
H: "[d5,a5] ~ d5 [c5,a5] a5 ~ d5 [d5,a5] ~ e5 ~ e5 [d5,a5] ~ d5 [c5,a5], ~ a5@2 ~@2 [c5,a5]@2 ~ a5@2 a5@2 ~ a5@2 ~", // D5 F D5 F
I: "[~ c5 [d5,a5] a5 ~ e5 a5 ~ d5@2 [c5,d5]@2 ~@2 a4 a4@5 e5@2 ~@2 a4 ~ e5 ~ g5 ~ a4 ~@3 e5@2 [a4,e5]@2 ~ g5@3 a4 ~ e5 ~ g5 ~ a4 ~ e5 ~ g5 [a4,g5] ~ [e5,g5] [a4,g5] ~ [e5,g5] [a4,g5] e5 [e5,g5] g5@2, a5@2 ~@2 [d5,a5]@2 ~ [e5,a5]@2 ~@3 [c5,d5]@2 ~@9 g5@2 ~@2 e5@2 g5@2 ~@14 e5@2 g5@2 ~@2 e5@2 ~@11, ~@13 d5@2 ~@7 [e5,g5]@2 ~ a4@3 ~@3 a4@5 ~@2 [a4,g5]@2 ~@3 a4@2 ~@4 a4@4 ~ [a4,e5]@2 ~ [a4,e5]@2 ~ a4@4]/4", // D5 Csus2 A5 A7 Em A7 Em A7 …
J: "[e5,g5]!16", // Em
K: "[[e5,g5]!9 e5 [e5,g5]!2 ~@2 e5 ~ a5 a5@5 e5@2 ~@2 g5 ~ a5 ~ d5 d5@5 e5@2 [d5,e5]@2 [c5,d5]@2 [c5,d5]@2 ~@2 e5 ~ g5@2 ~ a4@3 d5@2 ~@2 a4 ~ g4@2 ~@6 e4 ~ a4@2 [e4,a4]@2 ~@2 a4 ~ d5 d5@3 a4 ~ e5 e5@5 a4 ~ c5 ~ d5 d5@5 a4 ~ e5 ~ g5 ~ a4 ~ e5 ~ g5 ~ a4 ~ e5@2 [e5,g5]@2 [a4,g5]@2 [a4,e5]@2 ~ [a4,g5]@2 e5 ~ e5, ~@12 [e5,g5]@2 ~ e5@2 ~@7 e5@4 ~@16 [a4,d5]@2 ~ e5@3 ~@6 d5@4 ~@9 e4@2 ~@3 [e4,c5]@2 ~@17 c5@2 ~@8 e5@2 g5@2 ~@2 e5@2 g5@3 ~@8 [e5,g5]@2 ~@2 g5@2, ~@13 g5@2 ~@12 g5@2 a5@2 ~@14 a4@2 ~@3 [a4,g5]@2 ~@7 a4@2 ~ g4@8 ~@5 c5@2 a4@2 ~@4 a4@2 ~@6 a4@3 ~@7 a4@2 ~@4 a4@2 ~@4 a4@3 ~@9 a4@3]/8", // Em Dsus2 Csus2 A5 Em A7 A5 A7 …
L: "[a4,g5]@2 e5 [e5,g5]@2 ~@3 g5 ~ a4@2 ~@2 d5@2, ~@2 a4@3 [b4,g5]@2 e5@3 ~@2 [a4,c5]@2 ~@2, ~@6 [b4,e5]@2 ~ g5@2 ~@2 c5@2 ~", // A7 Em Am E5
M: "[~@2 d5 a4 ~ d5 ~ d5 [a4,d5] ~ d5 [a4,d5] a4 ~ d5 ~ d5 [a4,d5] ~ d5 [a4,d5]@2 ~ a4@5 c5 [a4,c5,d5] [g4,d5] ~ a4@2 ~ g4 [e4,a4] g4 e4@2 g4 a4 [g4,a4] [a4,c5] [a4,d5] [a4,c5] [c5,d5] c5 e5@2 ~ [a4,g5] a4@2 a5 ~ e5@2 ~ [g5,a5] e5 [e5,g5,a5] [g5,c6] c6@5 e5 ~ a5 ~ d5 ~ a5 ~ a5 ~@2 a5, [a4,d5]@2 ~@2 [a4,d5]@2 a4@2 ~ a4@2 ~@2 [a4,d5]@2 a4@2 ~ a4@2 ~@2 [a4,d5]@2 ~@7 [g4,a4]@2 ~ [e4,a4]@2 ~@4 e4@3 ~@35 d5@2, ~ a4@2 ~@34 a4@3 ~@6 a4@4 [e5,g5]@2 ~@3 a5@2 ~ [e5,g5]@2 ~@9 e5@2 a5@2 d5@2 c5@2 [c5,a5]@2 ~]/5", // D5 D7 G5 A5 Gsus2 Am D5 Am …
N: "[~@2 a5!2 ~ a5 ~@2 a5 ~@2 a5 ~@2 a5 ~@2 a5 ~@2 a5 ~@2 [a4,a5] a4 ~ a4 ~ [a4,a5] ~ a4 ~ d5@2 [d5,a5]@2 a4 ~ c5@2 ~@2 d5 ~ a4 ~ e5 ~ g5 ~ a4 [a4,e5] ~ g5 [a4,g5] ~ e5 ~ g5 ~ a4 ~ e5@2, [d5,a5]@2 ~@2 d5@2 [d5,a5]@2 ~@2 d5@2 [d5,a5]@2 ~@2 d5@2 [d5,a5]@2 ~@2 d5@2 d5@3 [a4,e5]@2 ~@2 a4@2 ~@4 a4@4 ~@2 d5@2 ~@2 e5@2 g5@2 ~ e5@2 ~@3 e5@2 g5@3 ~@2, ~ e5@2 e5@3 ~ c5@2 [c5,a5]@2 ~@2 e5@2 [e5,a5]@2 ~@2 c5@2 [a4,c5,a5]@2 ~@2 e5@2 ~@2 a5@5 ~@2 a5@4 c5@4 ~ a4@2 ~@8 a4@4 ~@2 a4@2 ~]/4", // A D5 A5 A7 D5 A5 F A5 …
O: "[[a4,e5]@2 [a4,e5] ~ e5 [a4,e5] ~ e5 [a4,e5] ~ e5 [a4,e5] ~ e5 [a4,e5] [a4,e5]@2 [a4,e5]!2 ~ e5 [a4,e5] ~ e5 ~ e5 [a4,g5]!2 ~@2 d5 ~@3 c5@2 [a4,c5]@2 d5 ~ d5 ~ d5@2 d5@2 g4@2, ~@3 a4@2 ~ a4@2 ~ a4@2 ~ a4@2 ~@5 a4@2 ~ a4@2 a4@2 ~@2 a4@3 d5@5 ~@2 a4@10]/3", // A5 A7 Am
P: "[[g4,a4]@2 ~@4 e4@2 ~@2 g4 ~ a4 ~@5 d5@2 ~@2 a4 ~ e5 ~ g5 [a4,g5] ~ e5 a4 e5 c5 ~ d5 [a4,d5] ~ c5 [c5,d5] ~ a4@2 [a4,d5]@2 ~@2 e5 ~ a4 [a4,d5] ~ a4 [a4,c5] ~ a4 [a4,d5] ~ a4 [a4,e5] ~ a4 a4@6 ~@13, ~@2 a4@6 e4@3 g4@2 a4@7 d5@3 a4@2 e5@2 ~ a4@2 ~ a4@2 c5@2 ~ a4@3 d5@2 ~@3 [a4,d5]@2 ~ e5@2 ~ d5@2 ~ c5@2 ~ d5@2 ~ e5@2 ~@19, ~@45 a4@2 ~@33]/5", // Gsus2 A7 D5 Csus2 D5 Am D5 A5 …
})).s("gm_distortion_guitar").gain(0.5).pan(0.6)
// chords · overdriven guitar · "Guitar 4"
const overdriven_guitar = note(`<
// … 114 more lines
More by Stevie Nicks
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.