0:00/0:00
// Is This Love — Bob Marley
// 121 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 7 "tk7" percussive organ (copy of ch 3 "tk3" percussive organ, 0.323 beats late)
// note: Full arrangement: all 111 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(121/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 · rock organ · "tk1"
const rock_organ = note(`<
~ A B C D E F G H B I J B@2 K L M N O P B@2 O P B@2 K Q R S T U R S V W X Y C@2 Z AA R@4 AB T B AC AD AE AF O AG B@2 I
P B@2 O P B@2 O AH B@2 O Q R S T U R S V W X Y C@2 Z AA R@4 AB T B AC AD AE AF O AG B@2 I P B@2 O P B@2 O Q ~
>`.pickRestart({
A: "~@4 [a4,c#5] ~@5 [f#4,a4,c#5] ~@5 [a4,c#5] ~@5 [f#4,a4,c#5] ~", // A F#m A F#m
B: "~@4 [f#4,a4,c#5] ~@5 [f#4,a4,c#5] ~@5 [f#4,a4,c#5] ~@5 [f#4,a4,c#5] ~", // F#m
C: "~@4 [f#4,a4,d5] ~@5 [f#4,a4,d5] ~@5 [f#4,a4,d5] ~@5 [f#4,a4,d5] ~", // D
D: "~@4 [e4,a4,c#5] ~@5 [e4,a4,c#5] ~@5 [f#4,d5]@2 ~@4 [f#4,a4] ~, ~@16 a4 ~@5 d5@2", // A D F#m
E: "~@4 [f#4,a4] ~@5 [f#4,a4,c#5] ~@5 [f#4,a4,c#5] ~@5 [f#4,a4,c#5] ~, ~@2 c#5 ~@9", // F#m
F: "~@4 [f#4,a4,c#5] ~@5 [f#4,a4,c#5] ~@5 [f#4,g#4,c#5] ~@5 [f#4,a4,c#5] ~", // F#m F#sus2 F#m
G: "~@4 [f#4,a4] ~@5 [f#4,a4,d5] ~@5 [f#4,a4,d5] ~@5 [f#4,a4,d5] ~, ~@2 d5 ~@9", // F#m D
H: "~@4 [f#4,a4,c#5]@2 ~@4 [f#4,a4,c#5]@2 ~@4 [e4,g#4,b4]@3 ~@3 [e4,g#4,b4]@2", // F#m E
I: "~@4 [f#4,a4,d5] ~@5 [f#4,a4,d5] ~@5 [f#4,a4,d5] ~@5 [f#4,a4,c#5] ~", // D F#m
J: "~@4 [e4,a4,c#5] ~@5 [a4,c#5] ~@5 [g#4,c#5] ~@5 [e4,g#4,c#5] ~", // A C#5 C#m
K: "~@4 [f#4,a4,d5] ~@5 [f#4,a4,d5] ~@5 [e4,a4,d5] ~@5 [e4,a4,c#5] ~", // D Dsus2 A
L: "~@4 [e4,a4,c#5] ~@5 [e4,c#5] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~", // A C#m E
M: "~@4 [f#4,a4,c#5] ~@5 [f#4,a4,c#5] ~@5 [f#4,c#5] ~@5 [f#4,a4,c#5] ~", // F#m F#5 F#m
N: "~@4 [f#4,a4,c#5] ~@5 [f#4,a4,c#5] ~@5 [f#4,c#5] ~@5 [f#4,g#4,a#4,c#5] ~", // F#m F#5 F#
O: "~@4 [f#4,a4,d5] ~@5 [f#4,a4,d5] ~@5 [f#4,a4,d5] ~@5 [e4,a4,c#5] ~", // D A
P: "~@4 [e4,a4,c#5] ~@5 [e4,a4,c#5] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~", Q: "~@4 [e4,a4,c#5] ~@5 [e4,a4,c#5] ~@13",
R: "~@4 [g#4,c#5,e5] ~@5 [g#4,c#5,e5] ~@5 [g#4,c#5,e5] ~@5 [g#4,c#5,e5] ~", // C#m
S: "~@4 [g#4,c#5,e5] ~@5 [g#4,c#5,e5] ~@5 [g#4,c#5,e5]@2 ~@4 [g#4,c#5,e5] ~", // C#m
T: "~@4 [f#4,b4,d5] ~@5 [f#4,b4,d5] ~@5 [f#4,b4,d5] ~@5 [f#4,b4,d5] ~", // Bm
U: "~@4 [f#4,b4,d5] ~@5 [b4,d5] ~@5 [f#4,b4,d5]@4 ~@2 [b4,d5] ~", // Bm
V: "~ d#5 ~@2 [f#4,b4,d5] ~@5 [f#4,b4,d5] ~@5 [f#4,b4,d5] ~@5 [f#4,b4,d5]@2", // Bm
W: "~@4 [f#4,b4,d5] ~@5 [f#4,b4,d5] ~@5 [f#4,b4,d5] ~@5 [b4,d5,f#5] ~", // Bm
X: "~@4 [b4,d5,f#5] ~@5 [b4,d5,f#5] ~@5 [a4,c#5,f#5] ~@5 [b4,d5,f#5] ~", // Bm F#m Bm
Y: "~@4 [b4,e5,g#5] ~@5 [b4,e5,g#5] ~@5 [b4,e5,g#5] ~@5 [b4,e5,g#5] ~", Z: "~@4 b4 ~@5 b4 ~@5 c#5 ~@5 d5 ~",
AA: "~@4 e5 ~@5 e5 ~@5 e5 ~@5 e5 ~",
AB: "~@4 [f#4,b4,d5] ~@5 [f#4,b4,d5] ~@5 [f#4,d5]@3 ~@3 [f#4,b4,d5] ~, ~@16 b4 ~@7", // Bm D Bm
AC: "~@4 [f#4,a4,c#5] ~@5 [f#4,a4,c#5] ~@5 [f#4,a4,c#5] ~@7", // F#m
AD: "~@4 [g#4,b4] ~@5 [g#4,b4] ~@5 [f#4,a4,d5]@2 ~@4 [f#4,d5]@2, ~@4 e5@2 ~@4 e5@2 ~@10 a4 ~", // G#m D
AE: "~@4 [g#4,e5]@2 e5 ~@3 [g#4,c#5,e5] ~@5 [f#4,d5] ~@5 [f#4,b4,d5]@2, ~@4 c#5 ~@11 b4@2 ~@6", // C#m D Bm
AF: "~@4 [f#4,a4,c#5] ~@5 [f#4,c#5] ~@5 [f#4,a4,c#5] ~@5 [f#4,a4,c#5] ~", // F#m F#5 F#m
AG: "~@4 [e4,a4,c#5] ~@5 [e4,a4,c#5] ~@5 [e4,g#4,c#5] ~@5 [e4,f#4,c#5] ~", // A C#m F#7
AH: "~@4 [e4,a4,c#5] ~@5 [e4,a4,c#5] ~@5 [f#4,g#4,b4] ~@5 [e4,g#4,b4] ~", // A G#m7 E
})).s("gm_rock_organ").gain(0.27).pan(0.6)
// bass · fretless bass · "tk2"
const bass = note(`<
~ A@2 B@2 C@2 D E F G@2 H@2 I@2 J@2 K@2 L@2 M@2 N@2 O@2 P Q R S T U V W X Y Z AA AB AC@2 AD AE AF AG AH AI AJ AK AL AM
AN@2 AO@2 AP@2 AQ@2 AR@2 AS@2 AT@2 AU@2 AV@2 AW Q R S T U V W X Y Z AA AB AC@2 AD AX AF AG AH AI AJ AK AL AM AY@2 AO@2
AP@2 AQ@2 AR@2 AS@2 AT@2 AZ
>`.pickRestart({
A: "[~@10 c#2@2 e2@4 f#2@2 ~@4 a2@8 f#2@4 c#2@2 e2@3 ~ f#2@4 ~@4]/2",
B: "[~@10 d2@2 d2@4 d3@2 ~@4 c#3@8 ~@4 d3@2 c#3@3 ~ a2 ~ d3@3 ~ c#3@2]/2",
C: "[a2@4 ~@6 c#2@2 e2@3 ~ f#2@2 ~@4 a2@8 f#2@4 c#2@2 e2@4 f#2@2 ~@6]/2", D: "~@5 d2 f#2@2 a2@2 ~@2",
E: "a1@3 ~ a1@3 ~ a1@4 g#1@4 g#1@2 ~@2 g#1@3 ~", F: "f#1 ~@5",
G: "[d2@6 ~@4 c#2@2 f#2@3 ~@3 a1@9 ~ g#1@2 ~@2 a1@3 ~ g#1@3 ~ g#1@2 ~@2 g#1@4]/2",
H: "[f#1@3 ~@7 c#2@2 e2@4 f#2@2 ~@4 a2@8 f#2@3 ~ c2@2 e2@3 ~ f#2@3 ~@5]/2",
I: "[d2@4 d2@2 d2@3 ~ d2@2 f#2@2 ~@4 a1@8 ~@2 a1@3 ~ a1@4 g#1@2 ~@2 g#1@2 ~@2 g#1@4]/2",
J: "[f#1@3 ~@7 c#2@2 e2@4 f#2@2 ~@4 a2@8 f#2@3 ~ c#2@2 e2@3 ~ f#2@2 ~@6]/2",
K: "[d2@4 d2@2 d2@3 ~ d2@2 f2@2 ~@4 a1@8 ~@2 a1@2 ~@2 a1@4 g#1@2 ~@2 g#1@2 ~@2 g#1@4]/2",
L: "[f#1@3 ~@7 c#2@2 e2@3 ~ f#2@2 ~@4 a2@8 f#2@3 ~ c#2@2 e2@3 ~ f#2@2 ~@6]/2",
M: "[d2@3 ~ d2@2 d2@3 ~ d2@2 f#2@2 ~@4 a1@9 ~ a1@2 ~@2 a1@4 g#1@2 ~@2 g#1@2 ~@2 g#1@4]/2",
N: "[f#1@3 ~@7 c#2@2 e2@3 ~ f#2@2 ~@4 a2@8 f#2@3 ~ c#2 ~ e2@3 ~ f#2@2 ~@6]/2",
O: "[d2@3 ~ d2@2 d2@3 ~ d2 ~ f#2@2 ~@4 a1@17 ~ a1@3 ~ b1@4 c2@3 ~]/2",
P: "c#2@3 ~ c#2@2 c#2@3 ~ c#2@2 g#2@4 ~@6 g#2@2", Q: "g#1@3 ~ b1@2 c#2@3 ~ c#2@2 c#2@3 ~ c#2@2 ~@4 f#1 ~",
R: "b1@3 ~ b1@2 b1@3 ~ b1@2 f#2@5 ~@7", S: "f#1@3 ~ a1@2 b1@3 ~ b1@2 b1@3 ~ b1@2 ~@4 b1@2",
T: "c#2@3 ~ c#2@2 c#2@3 ~ c#2@2 g2@5 ~@5 g#2 ~", U: "g#1@3 ~ b1@2 c#2@4 c#2@2 c#2@4 c#2@2 ~@4 f#1@2",
V: "b1@3 ~ b1@2 b1@3 ~ b1@2 f2@6 ~@6", W: "f#1@3 ~ a1@2 b1@4 b1@2 b1@4 b1@2 ~@6", X: "b1@9 ~ c#2@5 ~@3 d2@3 ~@3",
Y: "e2@6 b2@2 ~ f#2@2 ~", Z: "d2@4 d2@2 f#2@3 ~ a2@2 b2@4 b2@2 c3@3 ~ d3@2",
AA: "d2@5 ~ f#2@3 ~ a2@2 b2@4 b2@2 b2@4 d3 ~", AB: "a#1@9 ~ c#2@4 ~@4 d2@3 ~@3",
AC: "[e2@10 ~@2 d3@2 ~@4 c#3@11 ~@5 d3@2 c#3@6 ~@4 d3@2]/2", AD: "c#3@3 ~ d3@2 c#3@7 ~@5 g#2@2 ~@4",
AE: "c#2@4 c#2@2 c#2@3 ~ c#2@2 g#2@4 g#2@2 ~@6", AF: "g#1@3 ~ b1@2 c#2@3 ~ c#2@2 c#2@3 ~ c#2@2 ~@6",
AG: "b1@3 ~ b1@2 b1@3 ~ b1@2 f#2@4 f#2@2 ~@6", AH: "f#1@3 ~ a1@2 b1@3 ~ b1@2 b1@4 b1@2 ~@6",
AI: "f#1@4 f#1@2 f#1@3 ~ f#1@2 c#2@4 c#2@2 ~@6", AJ: "c#2@3 ~ e2@2 f#2@3 ~ f#2@2 f#2@4 f#2@3 ~@5",
AK: "e2@7 ~@5 d2@8 ~@4", AL: "c#2@9 ~@3 b1@7 ~@5", AM: "~@4 f#1@2 f#1@4 f#1@2 a1@4 a1@2 f#1@3 ~@3",
AN: "[d2@8 ~@2 d2@2 f#2@3 ~ a1 ~ a1@9 ~ a1@2 a1@4 a1@2 g#1@2 ~@2 g#1@2 ~@2 g#1@3 ~]/2",
AO: "[f#1@5 ~@5 c#2@2 e2@3 ~ f#2@3 ~@3 a2@8 f#2@3 ~ c2 ~ e2@4 f#2@2 ~@6]/2",
AP: "[d2@4 d2@2 d2@3 ~ d2@2 f#2@2 ~@4 a1@9 ~ a1@2 ~@2 a1@4 g#1@4 g#1@4 g#1@3 ~]/2",
AQ: "[f#1@5 ~@5 c#2@2 e2@3 ~ f#2@2 ~@4 a2@8 f#2@4 c#2@2 e2@3 ~ f#2@2 ~@6]/2",
AR: "[d2@4 d2@2 d2@3 ~ d2 ~ f#2@2 ~@4 a1@8 ~@2 a1@3 ~ a1@4 g#1@3 ~ g#1@2 ~@2 g#1@3 ~]/2",
AS: "[f#1@4 ~@6 c#2@2 e2@3 ~ f#2@2 ~@4 a2@8 f#2@4 c2 ~ e2@3 ~ f#2@3 ~@5]/2",
AT: "[d2@4 d2@2 d2@3 ~ d2@2 f#2@3 ~@3 a1@9 ~ a1@3 ~ a1@4 g#1@4 g#1@4 g#1@3 ~]/2",
AU: "[f#1@4 ~@6 c#2@2 e2@3 ~ f#2@2 ~@4 a2@8 f#2@4 c#2@2 e2@3 ~ f#2@3 ~@5]/2",
AV: "[d2@4 d2@2 d2@3 ~ d2 ~ f#2@3 ~@3 a1@9 ~ a1@3 ~ a1@4 a1@4 b1@4 c2@3 ~]/2",
AW: "c#2@3 ~ c#2@2 c#2@3 ~ c#2 ~ g#2@4 ~@6 g#2@2", AX: "c#2@4 c#2@2 c#2@3 ~ c#2@2 g#2@4 g#2 ~@7",
AY: "[d2@8 ~@2 d2@2 f#2@3 ~ a1@2 a1@9 ~ a1@2 a1@4 a1@2 g#1@2 ~@2 g#1@2 ~@2 g#1@3 ~]/2", AZ: "f#1 ~@2",
})).s("gm_fretless_bass").gain(0.44)
// chords · percussive organ · "tk3"
const percussive_organ = note(`<
~ A@2 B C A@2 D E A F G A@2 F G A@2 F G A@2 F H A@2 F I J K L@2 K@2 L@2 M N@2 O P Q@2 R@3 L@2 A@2 S T A F G A@2 F G
A@2 F G A@2 F G A@2 U V J K L@2 K@2 L@2 M N@2 O P Q@2 R@3 L@2 A@2 S T A F G A@2 F G A@2 F G A@2 F W X
>`.pickRestart({
A: "~@6 [a4,c#5,f#5] ~@11 [a4,c#5,f#5] ~@5", B: "~@6 [a4,d5,f#5] ~@11 [a4,d5,f#5] ~@5",
C: "~@6 [a4,e5]@2 ~@10 [a4,d5,f#5] ~@5, ~@6 c#5 ~@17", D: "~@6 [d5,f#5] ~@11 [a4,d5,f#5] ~@5, ~@3 a4 ~@8",
E: "[c#5,f#5,a5]@11 ~ [b4,e5,g#5]@10 ~@2", F: "~@6 [a4,d5,f#5] ~@11 [a4,c#5,e5] ~@5",
G: "~@6 [a4,c#5,e5] ~@11 [g#4,b4,e5] ~@5", H: "~@6 [a4,c#5] ~@11 [g#4,b4,e5] ~@5, ~@3 e5 ~@8",
I: "~@3 [a4,e5] ~@2 a4@2 b4@2 c5@2, ~@6 c#5 ~@17", J: "~@6 [g#4,c#5] ~@11 [g#4,c#5,e5] ~@5",
K: "~@6 [g#4,c#5,e5] ~@11 [g#4,c#5,e5] ~@5", L: "~@6 [b4,d5,f#5] ~@11 [b4,d5,f#5] ~@5", M: "b4@5 c#5@4 d5@3",
N: "[e5@12 b5@6 f#5@10 ~@2 [d5,f#5,a5] ~@11 [d5,f#5,a5] ~@5]/2", O: "~@6 [d5,f#5,a5] ~@11 [d5,f#5,a5] ~@5",
P: "d5@5 e5@4 f#5@3", Q: "[g#5@10 ~@2 a5@6 g#5@10 ~@2 [c#5,e5,g#5] ~@11 [c#5,e5,g#5] ~@5, ~@12 g#5 ~@35]/2",
R: "~@6 [c#5,e5,g#5] ~@11 [c#5,e5,g#5] ~@5", S: "[g#4,b4,e5]@10 ~@2 [f#4,a4,d5]@9 ~@3",
T: "[g#4,c#5,e5]@3 ~ [f#4,b4,d5]@3 ~", U: "~@6 [a4,d5,f#5] ~@11 [a4,c#5] ~@5, ~@9 e5 ~@2",
V: "~@6 [a4,c#5,e5] ~@5 a4@4 b4@4 c5@4", W: "~@6 [a4,c#5,e5] ~@11 [a4,c#5,e5] ~@5", X: "[a4,c#5,f#5] ~@2",
})).s("gm_percussive_organ").gain(0.33)
// chords · whistle · "tk6"
const whistle = note(`<
~@44 A@2 B@2 C@2 ~@2 D E ~@3 F@2 D E G@2 D E H@2 D E I@2 ~@16 A@2 B@2 C@2 ~@2 D E ~@2 D E ~ D E J@2 D E K@2 ~
>`.pickRestart({
A: "[[e5,g#5]@9 ~@7]/2", B: "[[d5,f#5]@7 ~@5]/2", C: "[c#5@7 ~@5, a4@13 ~@11]/2",
D: "[a4,e5]@6 [b4,f#5]@3 [a4,e5]@2 ~", E: "[c#5,a5]@6 [a4,f#5]@5 ~",
F: "[f#5@5 ~ f#5@5 ~ f#5@3 ~ f#5 ~ f#5@3 ~ e5@8 ~@18]/2",
G: "[a5@4 ~@2 a5@4 ~@2 a5@3 ~ a5 ~ a5@2 ~@2 a5@5 ~@3 e5@4 ~@2 g#5@5 ~ e5@3 ~@3]/2",
H: "[f#5@4 ~@2 f#5@4 ~@2 f#5@4 ~@2 f#5@4 e5@5 ~@3 e5@4 ~@2 g#5@6 e5@4 ~@2]/2",
I: "[a5@5 ~ a5@4 ~@2 a5@4 b5@2 a5@3 ~ a5@4 ~@22]/2",
J: "[a5@5 ~ a5@5 ~ a5@3 ~ a5@2 a5@2 ~@2 a5@5 ~@3 e5@4 ~@2 g#5@6 e5@4 ~@2]/2",
K: "[f#5@3 ~@3 f#5@4 ~@2 f#5@3 ~@3 f#5@3 ~ e5@6 ~@20]/2",
})).s("gm_whistle").gain(0.2).pan(0.4)
// chords · acoustic guitar steel · "tk8"
const acoustic_guitar_steel = note(`<
~ A@2 B@2 C@2 D E F G@2 H@2 I J K@2 L@2 M@2 N O P@2 Q@2 R@2 S T R@2 U@2 V W X Y V Z AA AB AC AD AE AF AG AH AI AJ AK
AL AM AN@2 AO AP AQ@2 AR AS AT@2 AU AV AW@2 AX@2 R@2 S T R@2 AY@2 V W X AZ V Z AA BA BB AD AE AF AG AH AI AJ AK AL AM
AN@2 AO AP AQ@2 AR AS AT@2 AU AV ~
>`.pickRestart({
A: "[~@10 c#4@2 e4@3 ~ f#4@2 ~@4 a4@7 ~ f#4@4 c#4@2 e4@4 f#4@3 ~@5]/2",
B: "[~@10 d4@2 f#4@3 ~ a4@2 ~@4 c5@8 a4@2 ~@2 d5@2 c#5@3 ~ a4@2 d5@4 c#5@2]/2",
C: "[a4@3 ~@7 c#4@2 e4@3 ~ f#4@2 ~@4 a4@8 f#4@4 c#4@2 e4@4 f#4@2 ~@6]/2", D: "~@10 d4@2 f#4@4 a4@3 ~@5",
E: "[f#4,a4]@3 ~ [f#4,a4]@3 ~ [f#4,a4]@3 ~ [e4,g#4]@3 ~ [e4,g#4]@3 ~ [e4,g#4]@2 ~@2", // F#m E
F: "[c#4,f#4]@7 ~@5 e4@4 f#4@3 ~@5", G: "[d4@4 d4@4 d4@4 d4@2 ~@4 c#4@9 ~ e4@2 ~@2 c#5@4 a#4@6 ~@4 b4@2]/2",
H: "[a4@5 ~@7 e4@4 f#4@2 ~@4 a4@7 ~ f#4@3 ~ c#4@2 e4@3 ~ f#4@3 ~@5]/2", I: "d4@4 d4@2 d4@5 ~ f#4@4 a4@2 ~@6",
J: "c#5@7 ~@5 f#4@3 ~ d5@2 c#5@3 ~ a4@2",
K: "[f#4@4 ~@6 c#4@2 e4@4 f#4@3 ~@3 g#4@8 f#4@3 ~ c#4@2 e4@3 ~ f#4@2 ~@6]/2",
L: "[d4@3 ~ d4@2 d4@2 ~@2 d4@2 f#4@3 ~@3 a3@12 ~@4 e4@2 a4@2 ~@2 f#4@2 c#5@4 c#5@2]/2",
M: "[a4@4 ~@6 c#4@2 e4@4 f#4@2 ~@4 a4@8 f#4@3 ~ c#4@2 e4@4 f#4@2 ~@6]/2", N: "d4@2 d4!2 ~ d4 f#4@2 ~@4",
O: "a4@4 [f#4,a4]@3 ~ [f#4,a4]@2 ~@2 [e4,g#4]@3 ~ [f#4,a4]@3 ~ [e4,g#4]@2 ~@2, f#4 ~@11", // F#m E F#m E
P: "[~@10 c#4 ~ e4@3 ~ f#4@2 ~@4 a4@7 ~ f#4@3 ~ c#4@2 e4@4 f#4@2 ~@6]/2",
Q: "[d4@4 d4@2 d4@2 ~@2 d4@2 f#4@4 ~@2 [f#4,a4]@19 ~@11, ~@18 e4 ~@29]/2", R: "~@3 [e4,g#4,c#5] ~@5 [e4,g#4,c#5] ~@2",
S: "~@6 [d4,f#4,b4]@2 ~@8 f#4 ~ b4@3 ~ f#4@2", T: "d4 ~@2 [d4,f#4,b4] ~@5 [d4,f#4,b4] ~@2",
U: "[~@6 [d4,f#4,b4]@2 ~@8 f#4@2 b4@8 ~@4 a4@3 ~ b4@2 c#5@3 ~ b4@2 a4@4 f#4@2]/2", V: "d4@9 ~ e4@8 f#4@3 ~@3",
W: "g#4@17 ~@7", X: "~@6 [d4,f#4,a4] ~@3 [f#4,a4] ~@7 f#4 ~@3 [f#4,a4] ~",
Y: "~@6 [f#4,a4] ~@3 [f#4,a4]@2 ~@6 f#4@2 ~@4", Z: "g#4@9 ~@3 a4@6 g#4@4 ~@2",
AA: "~@6 [g#4,c#5] ~@3 [g#4,c#5] ~@7 [g#4,c#5] ~@3 [g#4,c#5] ~", // C#5
AB: "~@6 [g#4,c#5]@2 ~@2 [g#4,c#5] ~@7 [g#4,c#5]@2 ~@2 [e4,g#4,c#5] ~", // C#5 C#m
AC: "~@6 [g#4,c#5]@2 ~@2 [g#4,c#5]@2 ~@6 [g#4,c#5] ~@3 [g#4,c#5] ~", AD: "~@3 [g#4,c#5] ~ [g#4,c#5] ~@3 [e4,g#4] ~@2",
AE: "f#4@6 b4@5 ~ f#4@6 b4@6", AF: "f#4@6 b4@3 ~@3 b4@3 ~ d5@7 ~", AG: "~@2 f#4 b4@2 ~ f#4@2 ~ f#4@2 e4",
AH: "~@4 c#4@2 e4@3 ~@3 e4@4 f#4@4 ~@4", AI: "g#3@7 ~@5 a3@2 b3@2 a3@2 g#3@2 f#3@2 g#3@2",
AJ: "[a3,c#4]@2 ~@4 [a3,c4]@4 [g#3,b3]@11 ~@3", AK: "~@4 f#3@2 f#3@3 ~ f#3@2 a3@4 a3@2 f#3@3 ~@3",
AL: "d4@6 ~@4 d4@2 f#4@4 ~@2 a3@3 ~@3",
AM: "[f#4,a4]@4 [f#4,a4]@3 ~ [f#4,a4]@2 ~@2 [e4,g#4]@3 ~ [f#4,a4]@3 ~ [e4,g#4]@3 ~", // F#m E F#m E
AN: "[f#4@4 ~@8 e4@4 f#4@2 ~@4 a4@7 ~ f#4@4 c#4@2 e4@3 ~ f#4@4 ~@4]/2", AO: "d4@4 d4@2 ~@4 d4 ~ f#4@3 ~@3 a3@3 ~@3",
AP: "[f#4,a4]@4 [f#4,a4]@3 ~ [f#4,a4]@2 ~@2 [e4,g#4]@3 ~ [f#4,a4]@2 ~@2 [e4,g#4]@3 ~", // F#m E F#m E
AQ: "[f#4@3 ~@9 e4@3 ~ f#4@2 ~@4 a4@8 f#4@3 ~@3 e4@3 ~ f#4@4 ~@4]/2", AR: "d4@4 d4@5 ~ d4 ~ f#4@3 ~@3 a3@3 ~@3",
AS: "[f#4,a4]@4 [f#4,a4]@4 [f#4,a4]@2 ~@2 [e4,g#4]@3 ~ [f#4,a4]@2 ~@2 [e4,g#4]@2 ~@2", // F#m E F#m E
AT: "[f#4@4 ~@8 e4@3 ~ f#4@2 ~@4 a4@8 f#4@4 ~@2 e4@3 ~ f#4@2 ~@6]/2", AU: "d4@4 d4@2 d4@3 ~ d4@2 f#4@3 ~@3 a3@3 ~@3",
AV: "[f#4,a4]@4 f#4@3 ~ [f#4,a4]@2 ~@2 [e4,g#4]@3 ~ [f#4,a4]@3 ~ [e4,g#4]@3 ~", // F#m E F#m E
AW: "[f#4@2 ~@8 c#4 ~ e4@4 f#4@2 ~@4 a4@8 f#4@4 ~@2 e4@4 f#4@3 ~@5]/2",
AX: "[c4@4 d4@6 d4 ~ f#4@2 ~@4 [f#4,a4]@28 ~@2]/2", // F#m
AY: "[~@6 [d4,f#4,b4]@2 ~@8 f#4 ~ b4@8 ~@4 a4@3 ~ b4@2 c#5@3 ~ b4@2 a4@4 f#4@2]/2", // Bm
AZ: "~@6 [f#4,a4] ~@3 [f#4,a4]@2 ~@6 f#4 ~@5", BA: "~@6 [g#4,c#5]@2 ~@2 [g#4,c#5] ~@7 [g#4,c#5]@2 ~@2 [e4,g#4,c#5]@2",
BB: "~@6 [g#4,c#5] ~@3 [g#4,c#5]@2 ~@6 [g#4,c#5] ~@3 [g#4,c#5] ~", // C#5
})).s("gm_acoustic_guitar_steel").gain(0.38).pan(0.8)
// chords · acoustic guitar steel · "tk8" · soft notes
const acoustic_guitar_steel_2 = note(`<
~@9 A ~@2 A ~@2 B ~@12 C ~@3 D@2 E ~@3 F G ~@2 H I J K ~@9 A ~ L ~@2 M ~@2 N A ~ O ~ P ~@2 C ~@3 D@2 E ~@3 F Q ~@2 H I
J K ~@9 A ~ L ~@2 M ~@2 N A ~ O ~
>`.pickRestart({
A: "~@5 c#4 ~@6", B: "~@5 e4 ~@6", C: "~@16 g#4 ~@7", D: "~@3 c#4 ~@8", E: "~@3 b3 ~@8",
F: "~@10 d4 ~@7 [d4,a4] ~@3 d4 ~", G: "~@6 d4 ~@3 d4@2 ~@6 [d4,a4]@2 ~@4", H: "~@6 e4 ~@3 e4 ~@5 c#5 ~@7",
I: "~@10 e4 ~@7 e4@2 ~@4", J: "~@10 e4@2 ~@6 e4 ~@3 e4 ~", K: "~@5 e4 ~@3 c#5 ~@2", L: "~@2 d4 ~@5",
M: "~@10 c#4@3 ~@11", N: "~@10 c#4 ~@13", O: "~@4 a4@3 ~@17", P: "~@5 c4 ~@6", Q: "~@6 d4 ~@3 d4@2 ~@6 [d4,a4] ~@5",
})).s("gm_acoustic_guitar_steel").gain(0.22).pan(0.8)
// other · electric guitar muted · "tk9"
const electric_guitar_muted = note(`<
~ A@2 B@2 C@2 D E F G@2 H@2 I@2 J@2 K@2 L@2 M@2 N@2 O P Q ~ R S ~ T U V W X@2 ~ Y Z@2 ~ AA ~ AB AC ~@7 AD@2 AE@2 AF@2
AG@2 AH@2 AI@2 AJ@2 AK@2 Q ~ R S ~ T U AL W X@2 ~ Y Z@2 ~ AA ~ AB AC ~@7 AD@2 AE@2 AF@2 AG@2 AH@2 AI@2 ~
>`.pickRestart({
A: "[~@10 c#3@2 e3@3 ~ f#3@2 ~@4 a3@8 f#3@4 c#3@2 e3@4 f#3@3 ~@5]/2",
B: "[~@10 d3@2 f#3@3 ~ a3@2 ~@4 e4@8 c#4@2 ~@2 f#4@2 e4@4 c#4@2 f#4@4 e4@2]/2",
C: "[c#4@2 ~@8 c#3@2 e3@3 ~ f#3@2 ~@4 a3@8 f#3@4 c#3@2 e3@4 f3@2 ~@6]/2", D: "~@10 d3@2 f#3@3 ~ a3@3 ~@5",
E: "b3@3 ~ c#4@3 ~ c#4@3 ~ b3@3 ~ c#4@3 ~ b3@3 ~", F: "a3@6 ~@4 c#3@2 e3@3 ~ f#3@3 ~@5",
G: "[d3@4 d3@2 ~@2 d3@3 ~ d3@3 ~@3 a2@17 ~ g#2@12]/2",
H: "[f#2@2 ~@8 c#3 ~ e3@4 f#3@2 ~@4 a3@8 f#3@3 ~ c#3@2 e3@4 f#3@2 ~@6]/2",
I: "[d3@3 ~ d3@2 d3@3 ~ d3 ~ f#3@3 ~@3 a2@18 g#2@12]/2",
J: "[f#2@3 ~@7 c#3 ~ e3@3 ~ f#3 ~@5 a3@4 ~@4 f#3@3 ~ c#3 ~ e3@3 ~ f#3@2 ~@6]/2",
K: "[d3@4 d3@2 d3@3 ~ d3@2 f#3@2 ~@4 a2@18 g#2@12]/2",
L: "[f#2@3 ~@7 c3 ~ e3@3 ~ f#3@2 ~@4 a3@8 f#3@3 ~ c#3@2 e3@3 ~ f#3@2 ~@6]/2",
M: "[d3@4 d3@2 d3@3 ~ d3@2 f#3@2 ~@4 a2@17 ~ g#2@12]/2",
N: "[f#2@2 ~@8 c#3 ~ e3@4 f#3@2 ~@4 a3@8 f#3@3 ~ c#3@2 e3@4 f#3@3 ~@5]/2", O: "d3@4 d3@2 d3@3 ~ d3@2 f#3@2 ~@4 a2@6",
P: "~@4 b4 ~ c5@3 ~ a4@2 b4@2 ~@2 b4@2 c5@2 a4@2 f#4@2", Q: "e4 ~@3", R: "~@12 a#3@2 ~@2 b3@2 ~@2 a3 ~@3",
S: "b3@3 ~@3 e3@2 ~@2 e3 ~ f#3@6 ~@6", T: "b4@16 ~@2 b4@5 ~", U: "b4 ~@2", V: "~@4 f5@5 ~ c#5 ~ e5@2 ~@2 e5@6 ~@2",
W: "b4@9 ~ c#5@6 ~@2 d5@6", X: "[d#5@7 ~@5 b5@16 ~@20]/2", Y: "b4@9 ~ c#5@4 ~@4 d5@4 ~@2",
// … 100 more lines
More by Bob Marley
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.