0:00/0:00
// Love Is Like Oxygen (extended version) — Sweet
// 124 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 15 "Distorted" distortion guitar (copy of ch 5 "Overdrive" overdriven guitar)
// note: Full arrangement: all 189 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(124/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 nylon · "Nylon"
const acoustic_guitar_nylon = note(`<
~@3 A@3 ~ B@3 ~@78 C@3 ~ D@4 ~@11 E F@2 G@3 H@3 ~ I@7 J@2 K L@3 M@4 ~@43 N@3 ~ O@3 ~@5
>`.pickRestart({
A: "[e4@24 e4@3 ~ a4@3 c5@4 b4@25 ~@12, [e3,b3]@7 ~@2]/3", // E5
B: "[~@16 e4@21 ~@3 a4@4 c5@3 b4@25, ~@2 [e3,b3]@7, ~@37 e4@35]/3", // E5
C: "[~@8 e4@24 e4@3 a4@3 ~ c5@3 b4@24 ~@6, ~ [e3,b3]@7 ~]/3", // E5
D: "[~@23 e4@21 e4@3 a4@3 ~ c5@3 b4@24 ~@18, ~@23 [e3,b3]@56 ~@17]/4", E: "~@13 e4@6 d4@5",
F: "[~@2 c4@6 a3@7 d4@6 ~ c4@6 b3@6 ~ b3@2 ~@4 e4@6 ~]/2",
G: "[d4@6 c4@7 a3@6 ~@7 b3@7 g3@13 e4@6 ~ d4@6 c4@6 ~ a3@6, ~@5 d4@2 ~@11]/3",
H: "[d4@6 ~ c4@6 ~ b3@6 g3@6 ~ g3@26 ~@19]/3",
I: "[~@10 c5@6 a#4@6 ~ g#4@6 f4@7 a#4@6 ~ g#4@6 g4@6 ~ g4@2 ~@4 c5@6 ~ a#4@6 ~ g#4@6 f4@6 ~@7 g4@7 d#4@12 ~ c5@6 ~ a#4@6 g#4@6 ~ f4@6 a#4@6 ~ g#4@6 ~ g4@6 d#4@6 ~, ~@10 c4@26 d4@26 d#4@26 ~ d4@26 d#4@13 d#4@13 ~@27, ~@89 a#4@8 ~@71]/7",
J: "[d#4@23 ~]/2", K: "~@4 d#4@6 ~ c#4@6 ~ b3@6",
L: "[g#3@7 c#4@6 b3@7 a#3@6 a#3@2 ~ b3@2 c#4@2 d#4@6 ~ c#4@6 b3@7 g#3@6 c#4@7 a#3@6]/3",
M: "[~ f#3@13 d#4@6 c#4@6 ~ b3@6 g#3@6 ~ c#4@6 ~ b3@6 a#3@6 ~ f#3@6 f#3@26 ~@4]/4",
N: "[~ e4@24 ~@4 a4@3 c5@3 b4@24 ~@13, ~ [e3,b3]@56 ~@15, ~@25 e4@31 ~@16]/3", // E5
O: "[~@16 e4@21 e4@3 a4@3 ~ c5@3 b4@24 ~, ~@2 [e3,b3]@7]/3", // E5
})).s("gm_acoustic_guitar_nylon").gain(0.32).pan(0.3)
// chords · acoustic guitar nylon · "Nylon" · soft notes
const acoustic_guitar_nylon_2 = note("<~@109 A ~@9 B ~ C@5 ~@63>".pickRestart({
A: "~@13 c4@2 d4@3 ~@6", B: "~@10 g#4@2 a#4@3 ~@9",
C: "[~@19 [f2,c3,f3,g#3]@12 ~ [f2,c3,f3,g#3]@12 ~ [f2,c3,f3,a#3]@12 ~@2 a#3@12 ~ d#3@46 ~@2, ~@45 c4@26 ~@49, ~@29 f2@30 ~, ~@29 [c3,f3]@6 ~@25]/5", // Fm Fsus4 F5
})).s("gm_acoustic_guitar_nylon").gain(0.16).pan(0.3)
// chords · accordion · "Organ"
const accordion = note("<A@3 ~@2 B@3 ~@78 C@3 ~ D@3 ~@2 E@4 ~@75 F@4 ~ B@3 ~@2 G@4 ~>".pickRestart({
A: "[~@16 [f4,a4]@7 [f4,a4]@7 [f4,a4]@14 a4@7 a4@7 a4@14, ~@16 c4@27 ~ d4@28]/3", // F
B: "[~@8 [f4,a4]@7 [f4,a4]@7 [f4,a4]@14 a4@7 a4@7 a4@14 ~@8, ~@8 c4@27 ~ d4@28 ~@8]/3", // F
C: "[[f4,a4]@7 [f4,a4]@7 [f4,a4]@14 a4@7 a4@7 a4@14 ~@16, c4@27 ~ d4@28 ~@16]/3", // F
D: "[~@15 [f4,a4]@7 [f4,a4]@7 [f4,a4]@14 a4@7 a4@7 a4@14 ~, ~@15 c4@27 ~ d4@28 ~]/3", // F
E: "[~@7 [g3,g4]@3 [a3,a4]@80 ~@6]/4", // G A
F: "[~@17 [f4,a4]@7 [f4,a4]@7 [f4,a4]@14 a4@7 a4@7 a4@14 ~@23, ~@17 c4@27 ~ d4@28 ~@23]/4", // F
G: "[[g3,g4]@3 [a3,a4]@80 ~@13]/4", // G A
})).s("gm_accordion").gain(0.48).pan(0.1)
// bass · electric bass pick · "Bass"
const bass = note(`<
A@3 B ~ C@4 ~@5 D E D F D G D H I J K L D F D M I N K O ~@8 P Q R S P Q R T@2 D U D V I W K L D E D V I X K L ~@8 P Q
R S P Q R Y@3 Z AA AB@3 AC@4 ~ AD@2 ~@29 AE AF AG@8 AH@3 AI@2 AJ@2 AK@6 AL@6 ~@3 AM AN AO AP AQ AR AS AT@2 AN AU AP AQ
AV AS AW@5 ~ AX@4 ~ AY@5
>`.pickRestart({
A: "[~@16 f2@20 ~ f2@3 f2@2 e2@2 d2@28]/3", B: "e2@5 ~", C: "[~@8 f2@20 ~ f2@3 f2@2 e2@2 d2@28 e2@20 ~@12]/4",
D: "a2@4 ~@5 a2@4 ~@5 a2@3 ~ g#2@2", E: "e2@4 ~@5 e2@3 ~@6 g2@2 ~ g#2@2 ~", F: "e2 ~@2 e2 ~@2 g2 g#2",
G: "e2@3 ~@6 e2@3 ~@6 g2@2 ~ g#2@2 ~", H: "e2@3 ~@6 e2@4 ~@5 e2@3 d#2@3", I: "d2@4 ~@5 d2@4 ~@5 d2@6",
J: "e2@3 ~@6 e2@3 ~@6 e2@2 ~ e2@3", K: "f2@4 ~@5 f2@4 ~@5 f2@3 ~@3", L: "f#2@2 f#2!2 g#2@2 g#2 ~",
M: "e2@4 ~@5 e2@4 ~@5 e2@3 d#2@3", N: "e2 ~@2 e2 ~@2 e2!2", O: "f#2@6 f#2@3 f#2@3 g#2@6 g#2@4 ~@2", P: "d2", Q: "e2",
R: "f2 a2", S: "c2", T: "a2@2 ~ a2@2 ~ a2@2 ~ a2@2 ~ a2@2 ~ a2@2 ~ a2@2 ~ a2@2 ~",
U: "e2@4 ~@5 e2@4 ~@5 g2@2 ~ g#2@2 ~", V: "e2 ~@2 e2 ~@2 e2 d#2", W: "e2@4 ~@5 e2@4 ~@5 e2@2 ~ e2@2 ~",
X: "e2@3 ~@6 e2@3 ~@6 e2@2 ~ e2@2 ~", Y: "a1@2 ~ a1@2 ~ a1@2 ~ a1@2 ~ a1@2 ~ a1@2 ~ a1@2 ~ a1@2 ~", Z: "a1!8",
AA: "f2@20 ~ f2@3", AB: "[f2 e2 d2@14 e2@10 ~@10]/3",
AC: "[~@15 f2@20 ~ f2@3 ~@2 e2@2 d2@28 e2@20 ~@5, ~@20 f2 ~@27]/4", AD: "[~@7 g1@3 a1@26 ~@12]/2", AE: "~ g#1@5",
AF: "~@7 f#1@17", AG: "[~@9 g#1@26 f#1@26 ~ e1@26 f#1@26 g#1@53 c2@19 ~ b1@2 c2@2 d2]/8",
AH: "[~ g1@15 ~@3 a#1@4 b1@3 ~@2 c2@17 ~@2 b1@2 ~ c2@2 ~@2 g1@15 ~@3, ~@13 d2 ~@4]/3",
AI: "[g1@4 f#1@3 ~ f1@10 ~ d#1@2 ~ f1@9 ~@2 f1@2 g1@11 f1@2]/2", AJ: "[g1@3 ~ a#1@2 ~@3 b1@2 ~@2 c2@13 ~@22]/2",
AK: "[~@18 a1@19 g#1@2 ~ a1@2 ~@2 e1@15 ~@3 g1@4 g#1@3 ~ a1@17 ~@3 g#1@2 a1@2 b1@3 e1@15 ~@2 e1@5 d#1@3 ~ d2@10 ~ c2@2 d2@8, ~@21 b1@2 ~@49]/6",
AL: "[~@3 d1@2 ~ e1@10 d1@2 ~ e1@3 ~ e1@2 ~@2 d#1@2 ~@3 d1@17 d2@2 ~ e2@2 f2@4 c2@26 c2@3 ~ b1@22 ~ e1@22 ~@11]/6",
AM: "~@17 a2@4 ~@3", AN: "~@2 a2@4 ~@5 a2@3 ~ g#2@2 e2@4 ~@3", AO: "~@2 e2@4 ~@5 g2@2 ~ g#2@2 ~ a2@4 ~@3",
AP: "~@2 a2@4 ~@5 a2@3 ~ g#2@2 e2@3 ~@4", AQ: "~@2 e2@3 ~@6 e2@3 d#2@3 d2@4 ~@3", AR: "~@2 d2@4 ~@5 d2@6 e2@4 ~@3",
AS: "~@2 e2@3 ~@6 e2@2 ~ e2@2 ~ f2@4 ~@3", AT: "[~@2 f2@4 ~@5 f2@3 ~@3 f#2@6 f#2@3 f#2@3 g#2@6 g#2@3 ~@3 a2@4 ~@3]/2",
AU: "~@2 e2@3 ~@6 g2@2 ~ g#2@2 ~ a2@4 ~@3", AV: "~@2 d2@4 ~@5 d2@6 e2@3 ~@4",
AW: "[~@2 f2@4 ~@5 f2@3 ~@3 f#2@6 f#2@3 f#2@3 g#2@6 g#2@3 ~@3 f2@20 ~ f2@3 f2@2 e2@2 d2@28 e2@20 ~@3]/5",
AX: "[~@8 f2@20 ~ f2@3 ~@2 e2@2 d2@28 e2@20 ~@12, ~@33 f2@2 ~@61]/4", AY: "[g1 a1@36 ~@3]/5",
})).s("gm_electric_bass_pick").gain(0.8).pan(0.8)
// chords · viola
const viola = note(`<
A@3 B@4 C@3 ~@4 D E D F D E D F G H I J D E D F G H I J ~@17 D E D F G H I J D E D F G H I J ~@19 K@6 L@7 ~@27 M@8
~@24 N O P Q R S T U V O P Q R S T U W X Y Z@4 AA@3 AB@4 ~
>`.pickRestart({
A: "[~@16 f4@3 a4@2 ~@2 c5@6 ~ c5@12 ~@2 f4@3 a4@2 ~@2 d5@6 ~ d5@13 ~]/3",
B: "[e4@3 a4@2 ~@2 c5@3 b4@46 f4@3 a4@2 ~@2 c5@6 ~ c5@12 ~@2 f4@3 a4@2 ~@2 d5@5]/4",
C: "[~@2 d5@13 ~ e4@3 a4@2 ~@2 c5@3 b4@46]/3",
D: "[e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2", // C
E: "[d4,g4,d5] ~@2 [d4,g4,d5] ~@2 [d4,g4,d5] ~@2 [d4,g4,d5] ~@2 [d4,g4,d5] ~@2 [d4,g4,d5] ~@2 [d4,g4,d5] ~@2 [d4,g4,d5] ~@2", // G5
F: "[g4,d5,g5] ~@2 [g4,d5,g5] ~@2 [g4,d5,g5] ~@2 [g4,d5,g5] ~@2 [g4,d5,g5] ~@2 [g4,d5,g5] ~@2 [g4,d5,g5] ~@2 [g4,d5,g5] ~@2", // G5
G: "[a3,d4,a4] ~@2 [a3,d4,a4] ~@2 [a3,d4,a4] ~@2 [a3,d4,a4] ~@2 [a3,d4,a4] ~@2 [a3,d4,a4] ~@2 [d4,a4] ~@2 [a3,d4,a4] ~@2, ~@9 a3 ~@2", // D5
H: "[c4,e4,c5] ~@2 [c4,e4,c5] ~@2 [c4,e4,c5] ~@2 [c4,e4,c5] ~@2 [c4,e4,c5] ~@2 [c4,e4,c5] ~@2 [c4,e4,c5] ~@2 [c4,e4,c5] ~@2", // C
I: "[f4,a4,f5] ~@2 [f4,a4,f5] ~@2 [f4,a4,f5] ~@2 [f4,a4,f5] ~@2 [f4,a4,f5] ~@2 [a4,f5] ~@2 [f4,a4,f5] ~@2 [f4,a4,f5] ~@2, ~@15 f4@2 ~@7", // F Dm F
J: "[d4,f#4,d5] ~@2 [d4,f#4,d5] ~@2 [d4,f#4,d5] ~@2 [d4,f#4,d5] ~@2 [g#4,e5] ~@2 [g#4,e5] ~@2 [g#4,e5] ~@2 [g#4,e5] ~@2", // D C#m
K: "[f4@3 a4@2 ~@2 c5@6 ~ c5@12 ~@2 f4@3 a4@2 ~@2 d5@6 ~ d5@13 ~ e4@3 a4@2 ~@2 c5@3 b4@45 f4@3 ~ a4@2 ~ c5@6 ~ c5@12 ~@2 f4@3 ~ a4]/6",
L: "[~@2 d5@6 ~ d5@13 ~ e4@3 a4@2 ~@2 c5@3 b4@45 ~ g3@3 [a3,a6]@80 ~@6]/7", M: "[~@5 d#4@187]/8",
N: "~@17 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5]", // C
O: "~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [d4,g4,d5] ~@2 [d4,g4,d5] ~@2 [d4,g4,d5]", // C G5
P: "~@2 [d4,g4,d5] ~@2 [d4,g4,d5] ~@2 [d4,g4,d5] ~@2 [d4,g4,d5] ~@2 [d4,g4,d5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5]", // G5 C
Q: "~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [g4,d5,g5] ~@2 [g4,d5,g5] ~@2 [g4,d5,g5]", // C G5
R: "~@2 [g4,d5,g5] ~@2 [g4,d5,g5] ~@2 [g4,d5,g5] ~@2 [g4,d5,g5] ~@2 [g4,d5,g5] ~@2 [a3,d4,a4] ~@2 [a3,d4,a4] ~@2 [a3,d4,a4]", // G5 D5
S: "~@2 [a3,d4,a4] ~@2 [a3,d4,a4] ~@2 [a3,d4,a4] ~@2 [d4,a4] ~@2 [a3,d4,a4] ~@2 [c4,e4,c5] ~@2 [c4,e4,c5] ~@2 [c4,e4,c5], ~@11 a3@2 ~@11", // D5 C
T: "~@2 [c4,e4,c5] ~@2 [c4,e4,c5] ~@2 [c4,e4,c5] ~@2 [c4,e4,c5] ~@2 [c4,e4,c5] ~@2 [f4,a4,f5] ~@2 [f4,a4,f5] ~@2 [f4,a4,f5]", // C F
U: "~@2 [f4,a4,f5] ~@2 [f4,a4,f5] ~@2 [a4,f5] ~@2 [f4,a4,f5] ~@2 [f4,a4,f5] ~@2 [d4,f#4,d5] ~@2 [d4,f#4,d5] ~@2 [d4,f#4,d5], ~@4 f4 ~@7", // F Dm F D
V: "~@2 [d4,f#4,d5] ~@2 [g#4,e5] ~@2 [g#4,e5] ~@2 [g#4,e5] ~@2 [g#4,e5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5]", // D C#m C
W: "~@2 [d4,f#4,d5] ~@2 [g#4,e5] ~@2 [g#4,e5] ~@2 [g#4,e5] ~@2 [g#4,e5] ~@2 f4@3 ~ a4@2 ~", // D C#m
X: "c5@6 ~ c5@12 ~@2 f4@3", Y: "a4@2 ~@2 d5@6 ~ d5@13",
Z: "[~ e4@3 a4@2 ~@2 c5@3 b4@45 f4@3 ~ a4@2 ~ c5@6 ~ c5@12 ~@2 f4@3 ~ a4@2 ~ d5@5]/4",
AA: "[~@2 d5@13 ~ e4@3 a4@2 ~@2 c5@3 b4@45 ~]/3", AB: "[g3@3 [a3,a6]@80 ~@13]/4",
})).s("gm_viola").gain(0.64).pan(0.7)
// chords · overdriven guitar · "Overdrive"
const overdriven_guitar = note(`<
A@3 B@8 C D E D C D E D C D E F G H I D C D E F J H I ~@17 D E D E F J H I D C D E F G H I ~@15 K@2 L@2 M N@8 O@5 ~@34
P@7 Q@3 R@3 S@6 ~ T U V U V U V U W X Y Z@2 U AA U W X Y AB@4 AC@7 AD@5
>`.pickRestart({
A: "[~@4 [f2,c3,f3]@7 [d2,a2,d3]@7]/3", // F5 D5
B: "[e4@3 a4@4 c5@3 c5@11 ~@4 e5@3 ~@4 c6@3 ~ b5@17 ~@3 [f2,c3,f3]@28 [d2,a2,d3]@28 e4@3 a4@4 c5@3 c5@11 ~ e5@2 ~ a5@3 ~@4 b5@24 [e3,a3,e4]@3 [e2,a3] ~@2 e2 ~@2 [e3,a3,e4]@3 [e2,a3] ~@2 e2 ~@2 [e3,a3,e4]@3 [d#3,g#3,d#4]@3, e2@7 ~@7 e2@7 ~@3, [b2,e3]@28 ~ a5@4 ~@100 e4@3 a4@4 c5@3 b4@29 ~@20, ~@24 e4@3 ~ a4@3 c5@4 b4@17 ~@60 [b2,e3]@28 ~ c6@4 ~@47]/8", // F5 D5 A5 G#5 E5
C: "[d3,g3,d4]@3 [e2,g3] ~@2 [e2,g3] ~@2 [d3,g3,d4]@2 ~ [e2,g3] ~@2 [e2,g3] ~@2 [d3,g3,d4]@3 [d#3,g#3,d#4]@3", // G5 Em G5 Em G5 G#5
D: "[e3,a3,e4]@3 [e2,a3] ~@2 e2 ~@2 [e3,a3,e4]@3 [e2,a3] ~@2 e2 ~@2 [e3,a3,e4]@3 [d#3,g#3,d#4]@3", // A5 G#5
E: "[d3,g3,d4]@3 [e2,g3] ~@2 [e2,g3] ~@2 [d3,g3,d4]@3 [e2,g3] ~@2 [e2,g3] ~@2 [d3,g3,d4]@3 [d#3,g#3,d#4]@3", // G5 Em G5 Em G5 G#5
F: "[d3,a3,c4]@3 [e2,a3] ~@2 e2 ~@2 [d3,a3,c4]@3 [e2,a3] ~@2 e2 ~@2 [d3,a3,c4]@3 [d#3,g#3,d#4]@3", // D7 A5 D7 A5 D7 G#5
G: "[e3,c4,e4]@3 [e2,c4] ~@2 [e2,c4] ~@2 [e3,c4,e4]@2 ~ [e2,b3] ~@2 [e2,b3] ~@2 [e3,b3,e4]@3 [d#3,g#3,d#4]@3", // C E5 G#5
H: "[f3,a3,c4]@3 [e2,a3] ~@2 e2 ~@2 [f3,a3,c4]@3 [e2,a3] ~@2 e2 ~@2 [f3,a3,c4]@3 ~@3", I: "[d3,a3,f#4] [e3,b3,g#4]",
J: "[e3,c4,e4]@3 [e2,c4] ~@2 [e2,c4] ~@2 [e3,c4,e4]@3 [e2,b3] ~@2 [e2,b3] ~@2 [e3,b3,e4]@3 [d#3,g#3,d#4]@3", K: "a2",
L: "e2", M: "[f2,c3,f3]",
N: "[~@4 [d2,a2,d3]@28 e4@3 a4@3 ~ c5@3 c5@11 ~@4 e5@2 ~ a5@3 ~ c6@2 ~ b5@17 ~@3 [f2,c3,f3]@28 [d2,a2,d3]@28 e4@3 a4@3 ~ c5@3 c5@11 ~ e5@2 ~ a5@3 ~ c6@2 ~ b5@17, ~@32 e2@56 ~@55 e2@49, ~@32 [b2,e3]@28 ~@83 [b2,e3]@28 ~@21, ~@56 e4@3 a4@3 ~ c5@3 b4@17 ~@81 e4@3 a4@3 ~ c5@3 b4@18]/8", // D5 F5 D5 E5
O: "[~@7 g2@3 a2@7 ~@103, ~@7 a4@110 ~@3]/5",
P: "[~@23 g4@7 f4@6 d#4@7 g4@6 f4@7 d#4@7 d4@6 d4@2 d#4@2 ~ f4@2 g4@6 f4@7 d#4@6 c4@7 f4@7 d4@6 a#3@13 g4@7 f4@7 d#4@6 c4@7 f4@6 d#4@7]/7",
Q: "[d4@6 a#3@7 a#3@53 [c5,e5]@6]/3", // C
R: "[~ d5@6 [a4,c5]@6 ~ a4@6 [b4,d5]@7 [a4,c5]@6 ~ b4@6 [g4,b4]@2 [g#4,c5]@2 ~@3 e5@6 [b4,d5]@7 [a4,c5]@6 [e4,a4]@6, b4@7 ~@6 e4@7 ~@13 g4@7 ~@4 b4@2 c5@7 ~@19, ~@45 d5@2 ~@25]/3", // Am Bm Am G G# Bm Am A5
S: "[~ [b4,d5]@6 ~ b4@6 [e4,g4]@13 [c5,e5]@7 [b4,d5]@6 ~ c5@6 [e4,a4]@6 ~ d5@6 [a4,c5]@7 [g4,b4]@6 [e4,g4]@7 [c5,e5]@6 [b4,d5]@7 [a4,c5]@7 [e4,a4]@6 [b4,d5]@7 [a4,c5]@6 [g4,b4]@7 [e4,g4]@7 ~@11, ~@7 g4@7 ~@26 a4@7 ~@6 b4@7 ~@84]/6", // Bm Em C Bm A5 Am G Em …
T: "~@17 [e3,a3,e4]@3 [e2,a3] ~@2 e2", // A5
U: "~@2 [e3,a3,e4]@3 [e2,a3] ~@2 e2 ~@2 [e3,a3,e4]@3 [d#3,g#3,d#4]@3 [d3,g3,d4]@3 [e2,g3] ~@2 [e2,g3]", // A5 G#5 G5 Em
V: "~@2 [d3,g3,d4]@3 [e2,g3] ~@2 [e2,g3] ~@2 [d3,g3,d4]@3 [d#3,g#3,d#4]@3 [e3,a3,e4]@3 [e2,a3] ~@2 e2", // G5 Em G5 G#5 A5
W: "~@2 [d3,g3,d4]@3 [e2,g3] ~@2 [e2,g3] ~@2 [d3,g3,d4]@3 [d#3,g#3,d#4]@3 [d3,a3,c4]@3 [e2,a3] ~@2 e2", // G5 Em G5 G#5 D7 A5
X: "~@2 [d3,a3,c4]@3 [e2,a3] ~@2 e2 ~@2 [d3,a3,c4]@3 [d#3,g#3,d#4]@3 [e3,c4,e4]@3 [e2,c4] ~@2 [e2,c4]", // D7 A5 D7 G#5 C
Y: "~@2 [e3,c4,e4]@2 ~ [e2,b3] ~@2 [e2,b3] ~@2 [e3,b3,e4]@3 [d#3,g#3,d#4]@3 [f3,a3,c4]@3 [e2,a3] ~@2 e2", // C E5 G#5 F A5
Z: "[~@2 [f3,a3,c4]@3 [e2,a3] ~@2 e2 ~@2 [f3,a3,c4]@3 ~@3 [d3,a3,f#4]@12 [e3,b3,g#4]@12 [e3,a3,e4]@3 [e2,a3] ~@2 e2]/2", // F A5 F D E A5
AA: "~@2 [d3,g3,d4]@2 ~ [e2,g3] ~@2 [e2,g3] ~@2 [d3,g3,d4]@3 [d#3,g#3,d#4]@3 [e3,a3,e4]@3 [e2,a3] ~@2 e2", // G5 Em G5 G#5 A5
AB: "[~@2 [f3,a3,c4]@3 [e2,a3] ~@2 e2 ~@2 [f3,a3,c4]@3 ~@3 [d3,a3,f#4]@12 [e3,b3,g#4]@12 [f2,c3,f3]@28 [d2,a2,d3]@27]/4", // F A5 F D E F5 D5
AC: "[~ e4@3 a4@3 ~ c5@3 c5@11 ~@4 e5@3 [a4,a5]@3 ~ c6@2 ~ b5@17 ~@3 [f2,c3,f3]@28 [d2,a2,d3]@28 e4@3 a4@3 ~ c5@3 c5@11 ~ e5@2 ~ a5@3 ~ c6@2 ~ b5@24, ~ e2@56 ~@55 e2@56, ~ [b2,e3]@28 ~@83 [b2,e3]@28 ~@28, ~@25 e4@3 ~@4 c5@3 b4@17 ~@81 e4@3 a4@3 ~ c5@3 b4@24 ~]/7", // A F5 D5 E5
AD: "[g2@3 a2@7 ~@110, a4@37 ~@3]/5",
})).s("gm_overdriven_guitar").gain(0.71).pan(0.4)
// chords · overdriven guitar · "Overdrive"
const overdriven_guitar_2 = note(`<
~@4 A@2 ~@2 B C@2 ~@78 D@2 ~@2 E@3 ~@38 F@5 G@8 H@2 I@5 ~@24 J@2 ~@2 K@2 ~@5
>`.pickRestart({
A: "[~ e4@3 a4@4 c5@3 b4@17 ~@20]/2", B: "~@14 e4@3 a4@4 c5@3", C: "b4/2",
D: "[~@9 e4@2 ~ a4@3 ~ c5@2 ~ b4@17 ~@12, ~@8 a4@3 c5@3 ~ e5@3 d5@17 ~@13]/2",
E: "[~@20 [e4,a4]@3 ~ a4@3 [c5,e5]@3 ~ b4@24 ~@17, ~@23 c5@3 ~@4 d5@24 ~@18]/3", // A5 C
F: "[~@23 [g2,c3]@26 [a#2,d3]@18 [a#1,a#2]@3 ~ [b1,b2]@3 ~@2 [g2,c3]@26 [g2,d3]@18]/5", // C5 A# B C5 G5
G: "[[g2,d3]@3 ~ [f#2,c#3]@3 ~ [f2,c3]@21 ~@6 [g2,d3]@17 [a#2,f3]@3 ~@2 [b2,f#3]@3 ~@25 f#4@2 g4 c5@2 ~ g4 [g4,c5]@22 [e2,a2]@26 [g2,b2]@18 [g1,g2]@3 ~ [g#1,g#2]@3 ~ [e2,a2]@26, ~@61 [c3,g3]@54 ~@77, ~@42 f4 ~@2 a#4 ~@50]/8", // G5 F#5 F5 G5 A#5 B5 C5 A5 …
H: "[~ [e2,b2]@17 [e2,b2]@3 ~@2 [d#2,a#2]@3 ~ [d2,a2]@21]/2", // E5 D#5 D5
I: "[~@5 [e2,b2]@18 [e2,b2]@3 ~ [d#2,a#2]@3 ~@2 [d2,a2]@26 [c3,g3,c4]@26 [c3,g3,c4]@3 ~ [e2,b2,e3,b3]@23 ~@9]/5", // E5 D#5 D5 C5 E5
J: "[~@2 e4@3 [a4,c5]@3 ~ c5@2 ~ b4@17 ~@19, ~ a4@3 ~@4 e5@3 d5@17 ~@20]/2", // Am
K: "[~@14 e4@2 ~ a4@3 [c5,e5]@3 ~ b4@24, ~@13 a4@3 c5@3 ~@4 d5@24 ~]/2", // C
})).s("gm_overdriven_guitar").gain(0.64).pan(0.7)
// chords · epiano1
const epiano1 = note("<~@34 A@4 B@4 ~@25 C@4 B@4 ~@23 D E@5 F@4 G@2 H@4 I@6 J@4 ~ K@2 ~@62>".pickRestart({
A: "[[c4,a4]@19 ~@6 d5@19 ~@13 a4@13 ~@20 a3@6, e3@23 ~ [b3,d4]@23 ~ [a3,c4]@23 a3@16 d4@9, a3@21 ~@2 g3@23 ~ f3@23 ~@2 d4@9 a4@13 ~@2, ~@24 g4@19 ~@5 a5@6 c5@9 ~@9 [f#4,a5]@6 d5@13 ~@5, ~@51 e5@8 ~@16 f#5@9 f#4@12]/4", // F Bm Am F#m
B: "[~@9 [a4,e5]@14 ~@7 d5@17 ~@10 e5@9 ~@27 f#4@3, e3@23 ~@24 f3@23 ~@2 f#6@3 d6@3 a5@3 f#5@3 e5@3 d5@7 ~@2, a3@21 ~@2 g3@23 ~@2 [a3,c4]@23 a3@23 ~@2, ~@3 c4@19 ~@2 [b3,d4,g4]@23 ~ e4@6 c5@9 ~@9 f#4@18 a4@5 ~, ~@6 e4@18 ~@3 b4@21 ~@3 a4@9 ~@12 d4@23 ~]/4", // A5 Am G
C: "[[c4,a4]@19 ~@6 d5@19 ~@13 a4@13 ~@20 a3@6, a3@21 ~@2 g3@23 ~ f3@23 ~@2 d4@9 a4@13 ~@2, ~@24 [b3,d4]@23 ~ [a3,c4]@23 a3@16 d4@9, ~@24 g4@19 ~@5 a5@6 c5@9 ~@9 [f#4,a5]@6 d5@13 ~@5, ~@51 e5@8 ~@16 f#5@9 f#4@12]/4", // F Bm Am F#m
D: "~@11 e4, ~@9 e5@2 ~, ~@5 a4",
E: "[~@9 a4@3 ~@30 c5@2 d5@3 e5@4 ~@4 a4@3 ~@8 a4@3 ~@8 g4@3 ~@4 g4@2 g4@13 ~@18 e4@2 a4, ~ d5@4 e4@4 ~@3 e4@4 e4@4 d5@5 e4@4 g4@4 b4@5 e4@4 ~@16 e4@4 a4@4 ~@5 a4@4 d4@4 ~@3 d4@18 ~ a4@5 ~@2 a4@5 ~@2 a4@4 ~, ~@3 a4@4 c5@4 ~@3 a4@4 a4@4 g4@5 c5@4 e4@4 ~ g4@4 b4@4 ~@9 d5@4 ~@3 c5@4 e4@4 ~ e4@4 b3@26 ~@5 e4@5 ~ e4@5 ~@5, ~@73 d5@5 ~@2 b4@5 ~@14 e5@5 ~@2 d5@5 ~ c5@5 ~@3]/5",
F: "[~@25 g4@2 ~@3 e4@2 [d4,g4]@4 e4@16 ~@6 e3@15 ~@20 a4@3, ~ a4@5 d5@4 e4@4 g4@5 b4@4 e4@4 ~@27 e4@20 ~@13 a4@4 ~@5, ~@3 e4@5 g4@4 c5@5 e4@4 g4@4 ~@3 g4@4 ~@4 a4@15 ~ a4@15 ~@18 e5@4 ~@2 d5@4 ~, ~@56 a3@26 ~@7 e4@4 ~@3]/4", // G5
G: "[~@8 a4@3 ~@8 e4@3 ~@8 g4@3 ~@4 c5@2 ~@2 e5@4 ~@3, e4@4 a4@4 ~@5 a4@4 g4@5 ~@2 g4@4 b4@5 ~@2 b4@4 d5@4 ~@5, ~@2 c5@4 e4@4 ~ e4@4 d5@5 ~@2 c5@4 e4@4 ~@3 e4@4 ~@11]/2",
H: "[~@6 c5@3 ~@8 a4@3 ~@11 g4@2 g4@13 ~@15 a4@3 ~@2 a4@2 ~@24 g4@2 g4@2, d5@4 e4@4 ~@3 e4@4 e4@5 b3@26 ~@4 e4@5 ~@2 e4@5 ~@2 e4@5 ~ e4@5 ~@2 e4@5 ~ e4@5 ~@2 e4@4 ~@2, ~@2 a4@4 ~@3 a4@4 a4@4 ~@3 d5@4 g4@4 d4@18 ~@2 a4@5 ~@2 a4@5 ~@8 a4@5 ~@2 g4@5 ~ g4@5 ~@2 g4@4 ~@4, ~@22 d4@4 b4@5 ~@15 e5@5 ~@2 d5@5 ~ c5@5 ~@8 d5@5 ~@2 c5@5 ~ b4@5 ~@6]/4",
I: "[e4@2 ~ [d4,g4]@4 a4@15 ~@7 e3@9 ~@17 a6@26 ~ f4@26 c4@26 d#4@10, ~@7 e4@17 ~ e4@20 ~@2 e4@35 ~@62, ~@22 a4@15 ~@3 e3@9 e5@33 ~@62, ~@27 a3@17 a3@9 e6@26 ~@29 c7@14 ~@22, ~@17 a5@3 ~@28]/6", // G5
J: "[~@10 g#6@7 ~@19 g#6@7 ~@20 g#6@6 a#6@13 ~@14, ~@17 a#6@26 d#6@22 ~@31]/4", K: "[~@2 f6@25 ~@21]/2",
})).s("gm_epiano1").gain(0.24).pan(0)
// chords · epiano1 · soft notes
const epiano1_soft = note("<~@98 A@5 B@8 C@2 D@4 ~@7 E ~@64>".pickRestart({
A: "[~@18 [e3,a3]@26 b3@26 ~@5 e4@4 ~@41, ~@71 [e3,a3]@26 ~@23, ~@73 a4@4 ~@43]/5", // A5
B: "[~@3 f2@26 ~ [g2,d3]@26 [a2,a3]@24 ~@11 a4@13 ~@5 [e3,a3]@26 b3@26 ~@5 e4@4 ~@22, ~@84 c3@15 ~@62 [e3,a3]@26 ~@5, ~@87 a2@22 ~@55 a4@4 ~@24]/8", // G5 A A5
C: "[~@11 f2@13]/2", D: "[[g2,d3]@26 ~ [a2,a3]@24 ~@11 a4@13 ~@21, ~@55 c3@6 ~ c3@6 ~@28, ~@57 a2@22 ~@17]/4",
E: "f6@5 ~",
})).s("gm_epiano1").gain(0.08).pan(0)
// chords · piano · "GPiano"
const piano = note(`<
~@34 A B C D E F G H I J K L M N O P Q R S R T U V W X R S R T U V W X A B C D E F Y H I J K L M N O P Z AA AB ~@10
AC@4 ~@26 AD AE AF@2 AG AH AI AJ ~@55
>`.pickRestart({
A: "c6@11 ~@7 a5@4 ~@2, ~@18 g5 ~@5", B: "b5@7 ~@5 g5@6 a5@6", C: "~@6 a#6 ~, ~@18 a6 ~@5", D: "d6@2 ~ a6",
E: "c6 ~@2 a5", F: "b5 ~@2 a6", G: "a5@4 ~@5 a6@3", H: "a5 ~@3", I: "[a3,d4,f4]", J: "[c4,g4,c5]",
K: "[a3,f4,a4] [f4,c5]", L: "e4@2 e4 g4, c4", M: "[f3,d4,f4]", N: "c6@3 b5, [c4,g4]", O: "[a3,c4,f4,a5] [c4,a4,c5]",
P: "[d4,f4,a#4]@2 ~ [d4,f4,a#4] ~@2 [d4,f4,a#4] ~@2 [d4,f4,a#4]@2 ~ [d4,f4,a#4] ~@2 [d4,f4,a#4] ~@2 [d4,f4,a#4] ~@2 [d4,f4,a#4] ~@2", // A#
Q: "[e4,b4,e5,e6] ~@2 [e4,b4]@2 ~ b4@2 ~ b4@3 e4@3 b4@3 [e4,b4] ~@2 b4@3, ~@3 b5 ~@2 e4 ~@2 e4 ~@2 b4 ~@2 e4 ~@5 e4 ~@2", // E5
R: "[e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2 [e3,e4,c5] ~@2", // C
S: "[d4,g4,d5] ~@2 [d4,g4,d5] ~@2 [d4,g4,d5] ~@2 [d4,g4,d5] ~@2 [d4,g4,d5] ~@2 [d4,g4,d5] ~@2 [d4,g4,d5] ~@2 [d4,g4,d5] ~@2", // G5
T: "[g4,d5,g5] ~@2 [g4,d5,g5] ~@2 [g4,d5,g5] ~@2 [g4,d5,g5] ~@2 [g4,d5,g5] ~@2 [g4,d5,g5] ~@2 [g4,d5,g5] ~@2 [g4,d5,g5] ~@2", // G5
U: "[a3,d4,a4] ~@2 [a3,d4,a4] ~@2 [a3,d4,a4] ~@2 [a3,d4,a4] ~@2 [a3,d4,a4] ~@2 [a3,d4,a4] ~@2 [d4,a4] ~@2 [a3,d4,a4] ~@2, ~@9 a3 ~@2", // D5
V: "[c4,e4,c5] ~@2 [c4,e4,c5] ~@2 [c4,e4,c5] ~@2 [c4,e4,c5] ~@2 [c4,e4,c5] ~@2 [c4,e4,c5] ~@2 [c4,e4,c5] ~@2 [c4,e4,c5] ~@2", // C
W: "[f4,a4,f5] ~@2 [f4,a4,f5] ~@2 [f4,a4,f5] ~@2 [f4,a4,f5] ~@2 [f4,a4,f5] ~@2 [a4,f5] ~@2 [f4,a4,f5] ~@2 [f4,a4,f5] ~@2, ~@15 f4@2 ~@7", // F Dm F
X: "[d4,f#4,d5] ~@2 [d4,f#4,d5] ~@2 [d4,f#4,d5] ~@2 [d4,f#4,d5] ~@2 [g#4,e5] ~@2 [g#4,e5] ~@2 [g#4,e5] ~@2 [g#4,e5] ~@2", // D C#m
Y: "a5 ~@2 a6",
Z: "[d4,f4,a#4,a#5]@2 ~ [d4,f4,a#4] ~@2 [d4,f4,a#4] ~@2 [d4,f4,a#4,f5]@2 ~ [d4,f4,a#4] ~@2 [d4,f4,a#4] ~@2 [d4,f4,a#4] ~@2 [d4,f4,a#4] ~@2, ~@3 f5@2 ~ d5@2 ~@4 a#5@2 ~ f5@2 ~@7", // A#
AA: "[e4,b4,e5,e6] ~@2 [e4,b4]@2 ~ [e4,g#5] ~@2 b4@3 e4@3 b4@3 [e4,b4] ~@2 b4@3, ~@3 b5 ~@2 b4@2 ~ e4 ~@2 b4 ~@2 e4 ~@5 e4 ~@2", // E5 E E5
// … 134 more lines
More by Sweet
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.