0:00/0:00
// All For You — Sister Hazel
// 139 bpm, 4/4, key G# major. 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 122 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): Clean Guitar, Dist Guit, Dist Guit, Gt Harmonic (Lead).
setcpm(139/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 · acoustic guitar steel · "Steel String"
const acoustic_guitar_steel = note(`<
A@2 B@2 C@2 B@2 D E F G H I J K@2 L@2 M N O@2 P@2 Q R@4 C@2 B@2 D E F G H I J S@2 O@2 M N O@2 P@2 T U V W X Y@2 Z AA@3
AB@2 AC@2 AD@2 AE@2 AD@6 AF@5 C@2 B@2 D E F G AG I AH AI@2 AJ ~@9 L@2 M N O@2 P@2 L@2 M N O@2 P@2 Q AK
>`.pickRestart({
A: "[~@8 f3@2 ~ [bb3,db4]@2 ~@2 bb3, ~@15 f4@11 [db4,f4]@6, ~@15 [bb3,db4]@7 eb4@10, ~@5 f3@2 f3, ~@13 bb3@2 ~]/2", // Bbm Db Bbm
B: "[eb3@4 ~@2 [bb3,eb4]@4 ~@2 eb3@3 ~ f3@4 ~@2 [bb3,db4]@4 ~@4 bb3@2, g4@10 [bb3,eb4,g4]@5 db4@7 eb4@10, [bb3,eb4]@6 f4@9 f4@11 bb3@4 ~@2, ~@2 eb3@4 ~@2 bb3@3 ~@2 [db4,f4]@3, ~@5 f3@2 f3]/2", // Eb5 Bbm Eb Eb5 Db
C: "[eb3@4 ~@2 [bb3,eb4]@4 ~@2 eb3@3 ~ f3@4 ~@2 [bb3,db4]@4 ~@4 bb3@2, g4@10 [bb3,eb4,g4]@5 [bb3,db4]@7 eb4@10, [bb3,eb4]@6 f4@8 ~ f4@11 [db4,f4]@6, ~ eb3@2 ~@2 f3@2 f3, ~@13 bb3@2 ~]/2", // Eb5 Bbm Eb Bbm Eb5 Db
D: "eb3@4 ~@2 [bb3,eb4,f4]@4 ~@2 eb3@2 f3 ~, g4@5 ~@3, [bb3,eb4]@3 ~@2 [bb3,eb4,g4]@3, ~@2 eb3@3 ~@3", // Bbsus4 Eb5 Eb
E: "f3@2 f3 [f3,ab3,bb3]@2 f3@2 f3, [ab3,c4]@3 ~@2 [ab3,c4]@3", // Bb7 Ab
F: "bb2@2 ~ f3@2 ~ bb2 f3, db4@10 [f3,db4]@5 ~, [f3,bb3]@6 [bb3,c4]@9 ~, ~ bb2@2 ~", // Db Bb5 Bbsus2
G: "c3@2 ~ [f3,ab3]@2 ~@2 f3, c4@5 [ab3,c4]@3, [f3,ab3]@3 bb3@5, ~ c3@2 c3, ~@5 f3@2 ~", // Fm Ab Fm
H: "bb2@2 ~ [f3,bb3]@2 ~ bb2 f3, db4@5 [bb3,db4]@3, [f3,bb3]@3 c4@5, ~ bb2@2 ~, ~@5 f3@2 ~", // Bb5 Bbm Bb5
I: "f3@2 f3 [f3,ab3]@2 f3@2 f3, [c3,ab3,c4]@3 bb3@3 ~@2, ~@5 [ab3,c4]@3", // Fm Ab
J: "f3@2 f3 [f3,bb3,c4]@2 ~ bb2 f3, [bb2,db4]@5 f3@2 ~, bb3@3 ~@2 [bb3,db4]@3", // Fsus4 Bbm
K: "[~@4 eb3@5 eb3@3 eb3@2 eb3@2 eb3@2 eb3@4 eb3@2 eb3@2 ~@2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2, ~@2 [ab3,bb3,eb4]@4 [ab3,bb3,eb4]@3 [g3,bb3,eb4]@3 [g3,bb3,eb4]@2 ~@2, ~@26 eb3@5 ~]/2", // Eb Absus2 Eb
L: "[[c4,eb4,ab4]@4 [c4,eb4,ab4] ~ [db4,eb4,ab4]@4 [db4,eb4,ab4]@2 [db4,eb4,ab4] ~ [bb3,db4,ab4]@4 [bb3,db4,ab4]@2 [bb3,db4,ab4] ~ [bb3,eb4,ab4] ~@3 [bb3,eb4,g4]@2 [bb3,eb4,g4]@2 [bb3,eb4,ab4] ~]/2", // Ab Dbsus2 Bbm7 Ebsus4 Eb Ebsus4
M: "[c4,eb4,ab4]@4 [c4,eb4,ab4] ~ [db4,eb4,ab4]@4 [db4,eb4,ab4]@2 [db4,eb4,ab4] ~ [bb3,db4,ab4]@2", // Ab Dbsus2 Bbm7
N: "~@2 [bb3,db4,ab4]@2 ~@2 [bb3,eb4,ab4]@2 ~@2 [bb3,eb4]@2 [bb3,eb4,ab4]@2 [bb3,eb4,ab4] ~, ~@5 g4@2 ~", // Bbm7 Ebsus4 Eb5 Ebsus4
O: "[[c4,eb4,ab4]@4 [c4,eb4,ab4] ~ [db4,eb4,ab4]@4 [db4,eb4,ab4]@2 [db4,eb4,ab4] ~ [bb3,db4,ab4]@4 [bb3,db4,ab4]@2 [bb3,db4,ab4] ~ [bb3,eb4,ab4]@2 ~@2 [bb3,eb4,g4]@2 [bb3,eb4,g4]@2 [bb3,eb4,ab4] ~]/2", // Ab Dbsus2 Bbm7 Ebsus4 Eb Ebsus4
P: "[[c4,eb4,ab4]@4 [c4,eb4,ab4] ~ [db4,eb4,ab4]@4 [db4,eb4,ab4]@2 [db4,eb4,ab4] ~ [bb3,db4,ab4]@4 [bb3,db4,ab4]@2 [bb3,db4,ab4] ~ [bb3,eb4,ab4]@2 ~@2 [bb3,eb4,g4] ~ [bb3,eb4,g4]@2 [bb3,eb4,ab4] ~]/2", // Ab Dbsus2 Bbm7 Ebsus4 Eb Ebsus4
Q: "[c4,eb4,ab4]@4 ~@2 [db4,ab4]@3 ~ [eb4,ab4]@3 ~ [c4,ab4]@2", // Ab Db5 Ab5 Fm
R: "[~@16 f3@4 ~@2 [bb3,db4]@4 ~@4 bb3@2 eb3@4 ~@2 [bb3,eb4]@4 ~@2 eb3@3 ~ f3@4 ~@2 [bb3,db4]@4 ~@4 bb3@2, [c4,ab4]@13 bb3 f3@2 [bb3,eb4]@2 eb3@4 ~@4 f3@4 f3@2, ~@15 f4@11 db4@21 db4@7 eb4@10, ~@15 db4@5 f3@6 f4@12 f4@9 f4@11 bb3@4 ~@2, ~@16 bb3@6 eb4@10 g4@10 [bb3,eb4,g4]@5 ~ bb3@6 ~@4 [db4,f4]@6]/4", // Bbm Eb5 Bbm Fm Eb5 Eb Db
S: "[~@4 eb3@5 eb3@3 eb3@2 eb3@2 eb3@2 eb3@4 eb3@2 eb3@2 ~@2 [g3,bb3,eb4]@2 [g3,bb3,eb4] ~, ~@2 [ab3,bb3,eb4]@4 [ab3,bb3,eb4]@3 [g3,bb3,eb4]@3 [g3,bb3,eb4]@2 ~@2, ~@26 eb3@5 ~]/2", // Eb Absus2 Eb
T: "[ab3,c4,eb4,ab4]@5 ~ [ab3,db4,eb4,ab4]@3 ~ [ab3,eb4,ab4]@4 [ab3,c4,eb4,ab4] ~", // Ab Absus4 Ab5 Ab
U: "ab3@4 ~@8 ab3@2 [c4,eb4,ab4] ~, [c4,eb4,ab4]@3 [c4,eb4,ab4]@2 [c4,eb4,ab4]@2 ~, ~ ab3!2 ~", // Ab
V: "db4 ~@4 db4 ~ ab3, ab3@5 ab3@2 ~, ab4@3 ab4@5, eb4@2 eb4@3 eb4@3, ~ db4@4 ~ db4@2",
W: "~@2 c4 ~@2 c4 ~ f3, f2, ~ f3@3 f3@2 c4@2, ~@3 ab4@5, ~@3 [c4,f4]@2 f4@3", // F5
X: "db4 ~@9 db4@2 ~@2 ab3@2, db3!2, eb4@3 ab4@5, ab3@2 ab3@3 ab3 db4@2, ~ db4@2 [db4,eb4]@2 eb4@3", // Dbsus2
Y: "[~@2 ab3@2 ~@6 c4@2 ~@4 db4 ~@9 db4@2 ~@2 ab3@2, f3@4 f3@3 ab3@3 ab3@3 ab3 db4@2, ~ c4@2 ab4@5 ~ db4@2 [db4,eb4]@2 eb4@3, ~ ab3@2 c4 db3@2 db3@2, ~@3 c4@2 f4@3 eb4@3 ab4@5]/2", // Dbsus2
Z: "ab3 ~@13 f3@2, c4@3 ab4@5, f3@2 f3@2 f3@3 ~, ~ ab3@2 ab3@3 ab3@2, ~@3 c4@2 c4@3",
AA: "[db4 ~@4 db4 ~ ab3 ~ bb3 ~@5 bb3 eb3 ~@2 [bb3,eb4] eb3!2 [eb3,bb3,eb4,g4] ~, db3@2 db3@2 eb3@2 eb3!2 ~ eb3 ~@2, eb4@3 ab4@7 ~@3 ab4@4 ~@7, ab3@2 ab3@3 ab3 db4@2 ~@2 [bb3,eb4,ab4]@3 bb3@2 ~ [bb3,eb4]@3 ~ [bb3,eb4,ab4]@2 ~@2, ~ db4@2 [db4,eb4]@2 eb4@3 eb4@2 ~@3 eb4@3 g4@6 ~@2]/3", // Eb5 Eb Ebsus4 Eb5 Ebsus4 Dbsus2
AB: "[[c4,eb4,ab4]@2 [c4,eb4,ab4]@2 ~@2 [db4,eb4,ab4]@4 [db4,eb4,ab4] ~@7 [db4,f4,ab4]@2 bb3 ~ [bb3,eb4,g4]@4 [bb3,eb4,g4]@2 [bb3,eb4,g4]@2 bb3 ~, ~@7 [db4,f4]@2 ~@7, ~@4 bb3 ~@3]/2", // Ab Dbsus2 Db Eb Db
AC: "[[c4,eb4,ab4]@2 [c4,eb4,ab4]@2 c4 ~ [db4,eb4,ab4]@4 [db4,eb4,ab4] ~@7 [db4,f4,ab4]@2 bb3 ~ [bb3,eb4,g4]@4 [bb3,eb4,g4]@2 [bb3,eb4,g4]@2 bb3 ~, ~@7 [db4,f4]@2 ~@7, ~@4 bb3 ~@3]/2", // Ab Dbsus2 Db Eb Db
AD: "[[c4,eb4,ab4]@2 [c4,eb4,ab4]@2 c4 ~ [db4,eb4,ab4]@4 [db4,eb4,ab4]@2 ~@6 [db4,f4,ab4]@2 bb3 ~ [bb3,eb4,g4]@4 [bb3,eb4,g4]@2 [bb3,eb4,g4]@2 bb3 ~, ~@7 [db4,f4]@2 ~@7, ~@4 bb3 ~@3]/2", // Ab Dbsus2 Db Eb Db
AE: "[[c4,eb4,ab4]@2 [c4,eb4,ab4]@2 ~@2 [db4,eb4,ab4]@4 [db4,eb4,ab4]@2 db4 ~ db4@2 ~@2 [db4,f4,ab4]@2 bb3 ~ [bb3,eb4,g4]@4 [bb3,eb4,g4]@2 [bb3,eb4,g4]@2 bb3 ~, ~@7 f4@2 ~@7, ~@4 bb3 ~@3]/2", // Ab Dbsus2 Db Eb
AF: "[[c4,eb4,ab4]@2 [c4,eb4,ab4]@2 ~@2 [db4,eb4,ab4]@4 [db4,eb4,ab4] ~@7 [db4,f4]@12 ~@2 f3@4 ~@2 [bb3,db4]@4 ~@4 bb3@2 eb3@4 ~@2 [bb3,eb4]@4 ~@2 eb3@3 ~ f3@4 ~@2 [bb3,db4]@4 ~@4 bb3@2, ~@14 [db4,f4]@4 ab4@24 bb3@2 f3@19 ~@5 f3@8 f3@4, ~@16 bb3@14 f4@12 db4@21 db4@7 eb4@10, ~@31 [bb3,db4]@7 eb4@10 g4@6 f4@9 f4@11 bb3@4 ~@2, ~@36 f3@6 f4@6 [bb3,eb4]@4 eb3@6 [bb3,eb4,g4]@5 ~ bb3@6 ~@4 [db4,f4]@6]/5", // Ab Dbsus2 Db Bbm Eb5 Bbm Db Bbm …
AG: "bb2@2 ~ [f3,bb3]@2 ~@2 f3, db4@5 [bb3,db4]@3, [f3,bb3]@3 c4@5, ~ bb2@2 bb2, ~@5 f3@2 ~", // Bb5 Bbm Bb5
AH: "f3@2 f3 [f3,bb3,c4]@2 ~@2 f3, [bb2,db4]@5 f3@2 ~, bb3@3 ~@2 [bb3,db4]@3, ~@3 bb2", // Fsus4 Bbm
AI: "[~@2 bb3@3 bb3 bb3@2 bb3 bb3@2 bb3!5, ~@2 [eb4,ab4]@4 [eb4,ab4]@3 g4@5 ~@2, ~@9 eb4@3 ab4@4, ~@6 eb4 [eb4,g4]]/2", // Ab5 Eb
AJ: "[c4,eb4,ab4]@3 ~@13", AK: "[c4,ab4] ~",
})).s("gm_acoustic_guitar_steel").gain(0.38)
// bass · electric bass pick · "Picked Bass"
const bass = note(`<
~@8 A B C D E B F G H I@2 J K L@2 M N O P ~@7 A B C D E B F G H I@2 J K L@2 M N Q P R S R T U V U W X Y Z AA AB AC AD
AA AE AF AG AA AH AI AJ AK AL AM ~@6 A B C D E B F AN AO AP ~@9 AQ AR AQ AS AT@2 AQ AU AV@2 J K AW@2 J N O P
>`.pickRestart({
A: "~@6 c1 ~", B: "f1@11 ~ f1@2 ~@2", C: "~@6 bb1@5 ~ bb1@2 ~@2", D: "f1@5 ~ f1 ab1", E: "~@6 bb1@5 ~@3 c2@2",
F: "bb1@5 ~@9 c2 ~", G: "~ eb2@2 ~", H: "~ eb2 ~@6",
I: "[ab1@5 ~ db2@4 db2@2 ~@2 bb1@4 bb1@2 ~@2 eb1@4 eb1@3 ~ ab1 ~]/2", J: "ab1@2 ~ db2@2 db2 ~ bb1",
K: "~@2 db2 ~ d2 ~ eb2@4 db2 ~ c2@2 ~ ab1", L: "[ab1@5 ~ db2@3 ~ db2@2 ~@2 bb1@4 bb1 ~@3 eb1@4 eb1@2 ~@2 ab1 ~]/2",
M: "ab1@4 ~@2 db2@4 db2@3 ~ bb1@2", N: "~@2 c2 ~ db2 ~ eb2@3 ~ db2 ~ c2 ~ ab1 ~", O: "ab1@5 ~ ab1@2 ~@2 ab1@2 ~@4",
P: "ab1@13 ~@3", Q: "ab1@5 ~ ab1@3 ~ ab1@2 ~@4", R: "db2@15 ~", S: "f1@14 ab1 ~",
T: "f1 ~ ab1 ~ bb1 ~ bb1@6 ab1 ~ f1@2", U: "db2", V: "f1@7 ~", W: "~@2 eb2!2 ~@3 eb2",
X: "eb2@2 eb2@2 eb2@2 eb2@2 eb2@2 eb2@2 eb2@2 eb2 ~", Y: "ab1!2 ~ db2 ~ db2 ~ ab1",
Z: "bb1 ~ bb1@2 ~@2 eb1@2 ~@2 eb1 ~ eb1@3 ~", AA: "ab1 ~ ab1@2 ~@2 db2@2 ~@2 db2@2 ~@2 ab1@2",
AB: "bb1@2 db1@2 d1@2 eb1@3 ~ eb1 ~ eb1@3 ~", AC: "ab1@2 ab1@2 ~@2 db2@4 db2 ~@3 ab1@2",
AD: "bb1 db2 d2 eb2 ~ eb2 eb2@2", AE: "bb1@2 db1@2 d1@2 eb1@3 ~ eb1 ~ eb1@2 ~@2",
AF: "ab1@2 ab1@2 ~@2 db2@3 ~ db2@2 ~@2 ab1@2", AG: "bb1@2 ab1@2 f1@2 eb1@3 ~ eb1 ~ eb1@4",
AH: "bb1@2 db2@2 d2@2 eb2@4 db2@2 c2@3 ~", AI: "ab1!2 ~ db2 ~ db2 ~ bb1", AJ: "~@2 bb1@2 ~@2 eb1@3 ~ eb1 ~ eb1@3 ~",
AK: "ab1 ~ ab1@2 ~@2 db2@2 ~@2 db2 ~@3 ab1@2", AL: "bb1 db2 d2 eb2@2 db2 c2 ab1", AM: "bb1 ~", AN: "~@2 eb1@4 eb1!2",
AO: "~ eb1!6 ~", AP: "ab1@3 ~@13", AQ: "ab1@4 ~@2 db2@3 ~ db2@2 ~@2 bb1@2", AR: "~@2 c2 ~ db2 ~ eb2@4 db2 ~ c2@3 ~",
AS: "~@2 bb1@2 ~@2 eb1@2 ~@2 eb1@3 ~ g1@2",
AT: "[ab1@4 ~@2 db2@2 ~@2 db2@2 ~@2 bb1@4 c2 ~ db2 ~ eb2@3 ~ db2@2 c2@2 ~@2]/2",
AU: "~@2 bb1@3 ~ eb1@4 ~@2 eb1@2 ~@2", AV: "[ab1@5 ~ db2@4 db2 ~@3 bb1@4 bb1@3 ~ eb1@4 eb1@3 ~ ab1 ~]/2",
AW: "[ab1@5 ~ db2@3 ~ db2@2 ~@2 bb1@4 bb1 ~@3 eb1@4 eb1@3 ~ ab1 ~]/2",
})).s("gm_electric_bass_pick").gain(0.55)
// bass · electric bass pick · "Picked Bass" · soft notes
const bass_soft = note(`<
~@8 A B C ~ D B E F G ~@8 H ~@8 A B C ~ D B E F G ~@8 H ~@6 H ~ I ~@24 A B C ~ D B E ~ J ~@26 H ~
>`.pickRestart({
A: "~@7 eb1", B: "~@7 ab1", C: "bb1@2 ~@5 c2", D: "bb1@2 ~@4 bb1 ~", E: "~@3 bb1@2 ~ bb1 ~", F: "~@3 eb2",
G: "eb2@2 ~@2 eb2@2 eb2@2 eb2@2 eb2@2 eb2@2 eb2 ~", H: "~@14 ab1 ~", I: "~@4 eb2!3 ~", J: "eb1 ~@6 eb1",
})).s("gm_electric_bass_pick").gain(0.35)
// chords · electric guitar clean · "Clean Guitar"
const electric_guitar_clean = note(`<
~@8 A@2 B ~ C@2 D ~ E F ~ F ~ F ~ F ~ G H ~@7 A@2 B ~ C@2 D ~ I F ~ J ~ F ~ F ~@2 K@2 L M N O P M Q@2 R@14 S@2 ~@7 A@2
B ~ C@2 D ~@12 F ~ F ~ F ~ F ~ F ~ F ~ F ~ F ~ G H
>`.pickRestart({
A: "[~@15 c4@15 ~@2]/2", B: "~@10 bb3@5 ~, ~@2 f3@5 ~, ~@6 db4@9 ~", C: "[~@6 ab4@8 c4@17 ~, ~@2 c4@5 ~@9]/2",
D: "~@4 [f4,bb4]@3 ~, ~@3 db4@4 ~", E: "bb3@7 bb3 ab4@2 ~@6", F: "~ [ab3,eb4] ~@6", G: "~@14 eb4 ~", H: "eb4@9 ~@7",
I: "bb3@7 bb3 ab4@3 ~@5", J: "~@2 [ab3,eb4]@3 ~@11", K: "[~@14 ab3 ~, ~@15 eb4@7 eb4@9 ~, ~@10 ab4@5 ~]/2",
L: "~@6 ab3 ~, ~@2 ab4@5 ~, ~@3 eb4@4 ~", M: "~@6 ab3 ~", N: "~ c4@2 ~, ab4@3 ~, ~ eb4@5 ~@2", O: "~ ab3@5 ab3 ~",
P: "~@6 eb4@9 ~, ~@4 ab4@11 ~", Q: "[~@8 ab4@10 ~@2 g4@4 ~@2 bb3@5 ~, ~@6 bb3@4 ~@8 eb4@13 ~]/2",
R: "[~@4 ab3 ~@9 bb3@4 bb3@2 ~@12]/2",
S: "[~@4 ab3 ~@9 bb3@4 bb3@2 bb3 ~ [bb3,eb4]@4 [bb3,eb4]@2 [bb3,eb4]@2 bb3 ~]/2", // Eb5
})).s("gm_electric_guitar_clean").gain(0.3).pan(0.7)
// chords · electric guitar clean · "Clean Guitar" · soft notes
const electric_guitar_clean_2 = note(`<
~@16 A ~@3 B ~@4 C ~@16 A ~@3 B ~@4 C ~@7 D E ~@31 F G ~@13 B ~@7 B ~@4 C ~
>`.pickRestart({
A: "~@5 bb3@2 ~", B: "~@4 bb3 ~@11", C: "~@4 ab3 ~@11", D: "~ ab3@5 ~@2", E: "~@15 bb3", F: "~@7 bb3",
G: "~@5 bb3 ~@10",
})).s("gm_electric_guitar_clean").gain(0.15).pan(0.7)
// chords · distortion guitar · "Dist Guit"
const distortion_guitar = note("<~@20 A ~@4 B C ~@19 A ~@60 A ~@7 A ~@4 B C>".pickRestart({
A: "~@6 g3 ~", B: "~@14 eb3 ~", C: "eb3@7 ~",
})).s("gm_distortion_guitar").gain(0.26).pan(0.2)
// chords · distortion guitar · "Dist Guit"
const distortion_guitar_2 = note(`<
~@8 A@2 B ~ C@2 D ~ E F ~ F ~ F ~ F ~ G H ~@7 A@2 B ~ C@2 D ~ I F ~ J ~ F ~ F ~@6 K L ~@27 A@2 B ~ C@2 D ~@12 F ~ F ~
F ~ F ~ F ~ F ~ F ~ F ~ G H
>`.pickRestart({
A: "[~@15 c4@15 ~@2]/2", B: "~@10 bb3@5 ~, ~@2 f3@5 ~, ~@6 db4@9 ~", C: "[~@6 ab4@8 c4@17 ~, ~@2 c4@5 ~@9]/2",
D: "~@4 [f4,bb4]@3 ~, ~@3 db4@4 ~", E: "bb3@7 bb3 ab4@2 ~@6", F: "~ [ab3,eb4] ~@6", G: "~@14 eb4 ~", H: "eb4@9 ~@7",
I: "bb3@7 bb3 ab4@3 ~@5", J: "~@2 [ab3,eb4]@3 ~@11", K: "~@5 eb4@3", L: "ab3",
})).s("gm_distortion_guitar").gain(0.19).pan(0.7)
// chords · distortion guitar · "Dist Guit" · soft notes
const distortion_guitar_soft = note("<~@16 A ~@3 B ~@4 C ~@16 A ~@3 B ~@4 C ~@55 B ~@7 B ~@4 C ~>".pickRestart({
A: "~@5 bb3@2 ~", B: "~@4 bb3 ~@11", C: "~@4 ab3 ~@11",
})).s("gm_distortion_guitar").gain(0.06).pan(0.7)
// chords · rock organ · "Organ 3"
const rock_organ = note("<~@43 A@2 B@2 C@2 D@2 E F G H G H G H G I J ~@60>".pickRestart({
A: "[[c5,eb5,ab5]@6 [db5,eb5,ab5]@8 [bb4,db5,f5,ab5]@8 [bb4,eb5,ab5]@4 bb4 ~ [bb4,eb5,g5]@3 ~]/2", // Ab Dbsus2 Bbm7 Ebsus4 Eb
B: "[[c5,eb5,ab5]@6 [db5,eb5,ab5]@8 [bb4,db5,ab5]@7 ~ [bb4,eb5,ab5]@4 bb4 ~ [bb4,eb5,g5]@4]/2", // Ab Dbsus2 Bbm7 Ebsus4 Eb
C: "[[c5,eb5,ab5]@5 ~ [db5,eb5,ab5]@8 [bb4,db5,ab5]@7 ~ [bb4,eb5,ab5]@4 bb4 ~ [bb4,eb5,g5]@3 ~]/2", // Ab Dbsus2 Bbm7 Ebsus4 Eb
D: "[[c5,eb5,ab5]@5 ~ [db5,eb5,ab5]@7 ~ [bb4,db5,ab5]@7 ~ [bb4,eb5,ab5]@5 ~ [bb4,eb5,g5]@3 ~]/2", // Ab Dbsus2 Bbm7 Ebsus4 Eb
E: "[c5,eb5,ab5]@5 ~ [db5,ab5]@3 ~ [eb5,ab5]@4 c5 ~", F: "[c5,eb5,ab5]", G: "[db5,f5,ab5]", H: "[c5,f5,ab5]",
I: "[bb4,eb5,ab5]", J: "[bb4,eb5,g5]@8 [bb4,eb5,ab5]@3 ~ [bb4,eb5,g5]@3 ~",
})).s("gm_rock_organ").gain(0.24).pan(0.2)
// chords · overdriven guitar · "Overdrive 1"
const overdriven_guitar = note("<~@62 A B C D A E F D C G C H A I C J K ~@43>".pickRestart({
A: "[eb3,ab3]@2 [eb3,ab3]@2 ~@2 [ab2,db3]@4 [ab2,db3] ~@3 ab2@2", // Ab5 Db5
B: "bb2 ~ [bb2,f3] ~ [bb2,f3] ~ [bb2,eb3]@4 eb3@2 [bb2,eb3]@2 ~@2", C: "[eb3,ab3]!2 ~ [ab2,db3]@2 [ab2,db3] ~ ab2",
D: "bb2 ~ [bb2,f3] ~ [bb2,f3] ~ [bb2,eb3]@4 bb2@2 [bb2,eb3] ~@3", // Bb5 Eb5
E: "bb2 ~ [bb2,f3]@2 [bb2,f3] ~ [bb2,eb3]@4 [bb2,eb3]@2 [bb2,eb3] ~ eb3 ~", // Bb5 Eb5
F: "[eb3,ab3]@2 [eb3,ab3] ~@3 [ab2,db3]@4 [ab2,db3]@2 ~@2 ab2@2", // Ab5 Db5
G: "bb2 ~ [bb2,f3] ~ [bb2,f3] ~ [bb2,eb3]@4 [bb2,eb3]@2 [bb2,eb3] ~ eb3 ~", // Bb5 Eb5
H: "bb2 ~ [bb2,f3]@2 [bb2,f3] ~ [bb2,eb3]@4 [bb2,eb3]@2 [bb2,eb3] ~@3", // Bb5 Eb5
I: "bb2 ~ [bb2,f3]@2 [bb2,f3] ~ [bb2,eb3]@3 ~ [bb2,eb3]@2 [bb2,eb3]@2 ~@2", // Bb5 Eb5
J: "bb2 ~ [bb2,f3] ~ [bb2,f3] ~ [bb2,eb3]@4 ~@2 [bb2,eb3]@2 eb3 ~", K: "bb2@3 ~@5",
})).s("gm_overdriven_guitar").gain(0.19).pan(1)
// chords · overdriven guitar · "Overdrive 1" · soft notes
const overdriven_guitar_soft = note("<~@63 A ~ B ~@3 B C ~@2 D ~@3 E ~@44>".pickRestart({
A: "~@10 bb2@2 ~@2 eb3 ~", B: "~@10 eb3@2 ~@2 eb3 ~", C: "~@3 g2@2 ~@3", D: "~@14 eb3 ~",
E: "~@10 [bb2,eb3]@2 ~@2 bb2 ~", // Eb5
})).s("gm_overdriven_guitar").gain(0.1).pan(1)
// other · distortion guitar · "Lead Dist Guit"
const distortion_guitar_3 = note("<~@62 A@2 B C D@4 E@3 F@2 G@2 H I ~@33 A@2 B C J@5 K>".pickRestart({
A: "[ab3@4 c4@2 db4 ~ eb4!2 ~ eb4 eb4@2 eb4 eb4@3 eb4@4 eb4@2 eb4@2 f4 ~ f4@2 ab4 ~]/2", B: "ab4@2 g4 ~ g4@2 f4 ~",
C: "f4@2 eb4 ~ c4 ~ eb4@2 ~@2 c4@6",
D: "[ab3@4 c4 ~ bb3@4 db4@3 ~ c4@4 eb4@2 f4@2 g4@2 ab4@2 bb4 ~ bb4@9 ~ bb4@8 bb4@5 ~ ab4 bb4 ~ g4@3 ab4@3 ~ ab4 ~, ~@54 ab4@3 ~@7]/4",
E: "[~@4 ab4@2 bb4 ~ c5@2 db5@2 eb5@2 eb5@7 ~ eb5@4 eb5@4 eb5@8 eb5@6 ~@2 [db5,eb5] c5]/3", // Dbsus2
F: "[db5@4 ~@2 bb4 c5 db5 eb5 db5 c5 db5 c5 bb4 c5@2 ~ bb4@4 ab4 f4 ab4@4 f4@2 eb4 c4]/2",
G: "[eb4@4 c4 bb3 c4 bb3 ab3 bb3 c4 eb4 f4 eb4 f4 ab4@5 ~ bb4@9 ab4@2]/2", H: "ab5@10 f5 eb5 f5 eb5 f5 ab5",
I: "f5@9 ~@7",
J: "[ab3@4 c4 ~ bb3@4 db4@3 ~ c4@4 eb4@2 f4@2 g4@2 ab4@2 bb4 ~ bb4@9 ~ bb4@8 bb4@5 ~ ab4 bb4 ~ g4@3 ab4@3 ~ ab4@4 ~@4 bb4@3 ~ bb4@5 ~, ~@54 ab4@3 ~@23]/5",
K: "bb4@5 ~@3",
})).s("gm_distortion_guitar").gain(0.45)
// drums · kick
const kick = s("bd").struct(`<
~ A@2 B A@3 B@2 A@5 B C D E D E D E D E@3 B A@2 B A@3 B@2 A@5 B C D E D E D E D E@3 B A F B@3 F B G B E@3 H E H@3 E
H@3 E@2 F H A@2 B A@3 B@2 A@5 B I ~ A B@7 J B E D E D E D E@3 D E D E D E@3 B
>`.pickRestart({
A: "x ~@6 x", B: "x", C: "~@2 x ~@4 x", D: "~ x ~ x ~ x ~ x", E: "x ~@2 x ~ x ~ x", F: "x ~@2 x ~@4",
G: "x ~@2 x ~@3 x", H: "x ~@2 x ~ x ~@2", I: "~@2 x ~@2 x ~@2", J: "x ~@2 x!2 ~@2 x",
})).gain(0.64)
// drums · kick · soft notes
const kick_soft = s("bd").struct(`<
~@3 A ~@3 A@2 ~@20 A ~@3 A@2 ~@20 A B ~@2 B ~@5 A ~ A@2 ~@2 A@3 ~@2 C A ~@2 A ~@3 A@2 ~@9 A@6 ~@21
>`.pickRestart({
A: "~@7 x", B: "~@3 x ~@4", C: "~@5 x ~ x",
})).gain(0.32)
// drums · rim
const rim = s("rim").struct("<~ A@14 ~@12 A@14 ~@37 A@14 ~@2 A@8 ~@20>".pickRestart({
A: "~ x ~ x",
})).gain(0.8)
// drums · snare
const snare = s("sd").struct("<~@15 A B C@7 D A ~@15 A B C@9 E F@8 G C@16 ~@14 H I ~@9 J C@16 A ~>".pickRestart({
A: "~@3 x", B: "~@4 x ~@3 x ~@2 x!2 ~@3", C: "~ x ~ x", D: "~@3 x!2 ~@7 x ~@3", E: "~@3 x!2 ~@3 x ~@2 x ~@4",
F: "~ x", G: "~@2 x ~ x!2 ~@2 x ~ x ~ x!2 ~@2", H: "~@6 x!2", I: "x!7 ~", J: "~@4 x ~@2 x ~@2 x ~ x ~ x!2",
})).gain(0.8)
// … 66 more lines
More by
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.