0:00/0:00
// Blanket On The Ground — Billie Jo Spears
// 177 bpm, 4/4, key C 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 151 bars on a 24-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 program 25.
setcpm(177/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.
// other · electric guitar jazz
const electric_guitar_jazz = note(`<
~@20 A@2 B C D@3 ~ E@3 ~@2 F@3 ~@14 G@7 H@2 ~ I@3 ~@24 J@6 K@3 L@3 ~@2 M@2 ~@15 N@3 O@3 P@2 Q ~ R@3 ~@20
>`.pickRestart({
A: "[[a#4,d5]@21 ~@2 [a#4,g5]@21 ~@4]/2", B: "[a#4,a5]@11 ~", C: "[a#4,a#5]@7 ~", D: "[~@11 d5@46 ~@15]/3",
E: "[~@29 c5@43, ~@11 f4@61, ~@23 a4@49]/3", F: "[~ d5@2, ~@5 f4@67, ~@17 a#4@55]/3",
G: "[~@24 a#4@10 ~ [f4,d5]@9 ~@3 g5@9 ~@3 g5@9 ~@3 g5@10 ~@2 g5@9 ~@3 g5@10 ~@3 g5@9 ~@2 g5@6 ~ f5@5 ~ c5@6 d#5@5 d5@20 ~@4 a#4, ~@11 f4@21 ~@136]/7", // Dm
H: "[~@4 d5@2 f4@3 ~@6 f4 ~ d4@4 c4 ~ d4@19 ~@6, ~@9 a#4@10 ~@29]/2",
I: "[~@11 [f4,a4]@6 ~@6 [a4,c5]@6 ~@6 [c5,f5]@5 ~@7 [f5,a5]@20 ~@5]/3", // F Am F5 F
J: "[~@23 [c5,e5]@21 ~@4 a5@21 ~@2 [c5,b5]@21 ~@4 c5@19 ~@4 e5@8 ~@4 e5@8 ~@5, ~@47 c5@21 ~@27 c6@19 ~@30]/6", // C Cmaj7
K: "[e5@8 ~@4 e5@8 ~@3 e5@26 ~@23]/3",
L: "[~@16 b4@7 g4@8 ~@11 g4@10 ~@20, ~@10 g4@2 ~@27 b4@12 ~@21, ~@11 d5@10 ~@13 d5@18 ~@20]/3",
M: "[e4@16 ~@8 c4@19 ~@5, ~@17 g3@27 ~@4]/2", N: "[~@11 c4@11 ~ e4@9 ~@3 d4@12 a4@23 ~@2]/3",
O: "[a4@5 c5@3 ~ f5@3 a4@5 c5@4 f5@2 a4@5 ~ c5@3 ~ f5@2 ~ a4@6 c5@3 f5@2 c5@3 ~ a4 ~@2 a4@5 c5@3 ~ f5@2 c5@5 ~@2]/3",
P: "[~@6 c5@6 g5@2 ~@2 e5@6 d5 d5@5 ~ e5@4 ~ c6@13 ~]/2", Q: "c6@13 ~@11",
R: "[~@11 d5@3 ~ c5@8 b4@9 ~@3 b4@3 ~ a4@7 ~ g4@6 d5@10 ~@9]/3",
})).s("gm_electric_guitar_jazz").gain(0.12)
// bass · fretless bass
const bass = note(`<
A@8 B@3 C D@4 A@2 E F G@3 H I@3 J K@3 L G@2 M N O@4 G@3 H P@3 Q G@2 R N O@4 G@3 H P@4 G@2 A@2 B@3 S I@3 T U@3 V W@3 X
I@3 S I@3 T U@3 V W@3 X I@2 Y Z P K P AA I@2 AB AC AD@3 AE I AF Y AG P K P AA I AH I AI AD W AJ AK I@3 S B@4 AL@4 AM@4
B@2 AN
>`.pickRestart({
A: "a#1@7 ~@5 a#1@7 ~@5", B: "c2@7 ~@5 c2@7 ~@5", C: "c2@6 ~@6 c2@5 ~ g1@5 ~", D: "f1 ~ f1 ~", E: "a#1@7 ~@17",
F: "~@6 f1@5 ~ g1@4 ~@2 a1@4 ~@2", G: "a#1@7 ~@5 f1@7 ~@5", H: "a#1@6 ~@6 f1@5 ~ a#1@5 ~", I: "c2@7 ~@5 g1@7 ~@5",
J: "c2@6 ~@6 g1@5 ~ c2@4 ~@2", K: "f1@7 ~@5 c2@7 ~@5", L: "f1@6 ~@6 c2@4 ~@2 f1@5 ~",
M: "a#1@4 ~@2 a#1@4 ~@2 a#1@5 ~ a#1@5 ~", N: "a#1@3 ~@3 a#1@4 ~@2 c2@4 ~@2 d2@5 ~", O: "d#2@7 ~@5 a#1@6 ~@6",
P: "f2@7 ~@5 c2@7 ~@5", Q: "f2@3 ~@3 c2@2 ~ f2@3", R: "a#1@5 ~ a#1@3 ~@3 a#1@4 ~@2 a#1@4 ~@2",
S: "c2@2 ~ g1@2 ~ a1@2 ~ b1@2 ~", T: "c2@7 ~@5 g1@5 ~ c2@5 ~", U: "d2@7 ~@5 a1@7 ~@5", V: "d2@7 ~@5 a1@5 ~ d2@5 ~",
W: "g1@7 ~@5 d2@7 ~@5", X: "g1@7 ~@5 d2@5 ~ g1@4 ~@2", Y: "c2@2 ~@4 c2@2 ~@4 c2@3 ~@3 c2@3 ~@3",
Z: "c2@2 ~@4 c2@3 ~@3 d2@4 ~@2 e2@4 ~@2", AA: "f2@7 ~@3 g2@3 ~@3 f2@2 d2@5 ~", AB: "c2@7 ~@5 g2@6 ~@6",
AC: "c2@7 ~@3 g1@2 g1@2 ~@2 c2@2 e2@4 ~@2", AD: "g2@7 ~@5 d2@7 ~@5", AE: "g2@7 ~@5 d2@5 ~ g2@5 ~",
AF: "c2@6 ~@6 g1@11 ~", AG: "c2@3 ~@3 c2@4 ~@2 d2@3 ~@3 e2@4 ~@2", AH: "c2@7 ~@5 g1@5 ~ a1@5 ~",
AI: "c2@4 ~@2 c2@5 ~ d2@5 ~ e2@5 ~", AJ: "g2@7 ~@5 d2@7 ~@3 d2@2", AK: "g2@3 ~@3 g2@3 ~@3 e2@2 ~@2 g2@2 e2@6",
AL: "d2@7 ~@5 d2@7 ~@5", AM: "g1@7 ~@5 g1@7 ~@5", AN: "c2@2 ~@4 g1@3 ~@3 c2@8 ~@4",
})).s("gm_fretless_bass").gain(0.32)
// chords · synth strings 1
const synth_strings_1 = note(`<
~@20 A@4 B@4 C@4 D@2 E@2 F@4 A@4 G@4 D@2 H@2 F@4 I@4 J@4 D@2 ~@6 K@4 L@4 M@4 K@8 N@4 O@4 P@2 Q@2 R@4 K@4 M@4 P@2 S@2
T@8 U@3 V@4 W@4 X@8 Y@3 Z
>`.pickRestart({
A: "[[a#3,d4,f4]@47 ~]/4", B: "[[a#3,c4,e4,g4]@23 ~]/4", C: "[[c4,d#4]@95 ~, [f4,a4]@73 ~@23]/4",
D: "[[a#3,d4,f4]@23 ~]/2", E: "[[a#3,d4,g#4]@23 ~, f4]/2", F: "[[a#3,d#4,g4]@47 ~]/4", G: "[[c4,d#4,f4,a4]@47 ~]/4",
H: "[[a#3,d4,g#4]@47 ~, f4@11 ~@5]/2", I: "[[a#3,f4]@47 ~, d4@67 ~@29]/4", J: "[[c4,d#4,f4]@47 ~, a4@5 ~@11]/4",
K: "[[c4,e4,g4]@47 ~]/4", L: "[[c4,d4,f#4,a4]@47 ~]/4", M: "[[d4,f4,g4,b4]@47 ~]/4", N: "[[c4,d4,f#4,a4]@23 ~]/4",
O: "[[d4,f4]@95 ~, b4@13 ~@11, g4 ~@2]/4", P: "[[c4,e4,g4]@23 ~]/2", Q: "[[e4,g4,a#4]@47 ~, c4@19 ~@29]/2",
R: "[[c4,f4,a4]@47 ~]/4", S: "[[c4,g4,a#4]@47 a4, e4@11 ~@5]/2",
T: "[[c4,f4]@94 ~@2 [c4,e4]@94 ~ b4, ~@95 g4@94 ~@3]/8", U: "[[d4,f4], g4@3 ~]/3", V: "[~ g4@3, ~@23 [c4,e4]@73]/4",
W: "[~ c4@3, ~@23 [e4,g4]@73]/4", X: "[~@8 [c4,d4]@31 ~ [d4,b4]@24, ~@23 [f#4,a4]@93 ~@3 [f4,g4]@73]/8",
Y: "[~ g4@2, ~@23 [c4,e4]@49]/3", Z: "~@6 b4@3 ~@2 [c4,e4,g4]@5 ~@8, ~@5 [d4,f4,g4]@3 ~@16",
})).s("gm_synth_strings_1").gain(0.06)
// other · string ensemble 1
const string_ensemble_1 = note(`<
~@36 A@4 B@4 C@2 ~@2 D@4 E@2 ~@2 B@4 F@2 ~@2 G@2 ~@36 H@6 I@4 J@2 ~@2 K@4 L@4 I@4 J@2 ~@21
>`.pickRestart({
A: "[g5@77 ~@19]/4", B: "[f5@47 ~]/4", C: "[c5@9 ~@7]/2", D: "[d5@5 ~]/4", E: "[g5@11 ~@5]/2", F: "[c5@5 ~@3]/2",
G: "[a#4@9 ~@7]/2", H: "[c5@48 a5@95 ~]/6", I: "[g5@95 ~]/4", J: "[d5@9 ~@7]/2", K: "[e5@5 ~]/4", L: "[a5@95 ~]/4",
})).s("gm_string_ensemble_1").gain(0.13).pan(0.4)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
~@24 A@4 B@4 ~ C ~@10 B@4 ~@12 B@3 D ~@16 E@4 ~@8 F@4 E@4 ~@12 E@2 G E ~@12 E@4 ~@8 F@4 E@4 ~ H I
>`.pickRestart({
A: "~@18 g3@5 ~", B: "~@3 a3", C: "~@3 a#3", D: "~@9 a3@2 ~", E: "~ d4 ~ d4", F: "~ a3 ~ a3",
G: "~@6 d4@5 ~@7 d4@5 ~", H: "~@22 [g3,c4,e4] ~", I: "[g3,c4,e4] ~ d4 ~@5",
})).s("gm_acoustic_guitar_steel").gain(0.09).pan(0.3)
// chords · acoustic guitar steel
const acoustic_guitar_steel_2 = note(`<
A B A B A B A B C D C D E F E F A G H ~ I J@2 K L M N O P@3 Q R S T U V@3 W X Y X Z P AA AB AC X AD AE AF AG V@3 X@4 P
AH P@2 X@2 AI ~ AJ AK AJ AK AJ AK AJ AK AL AM AL AM AN AO AN@2 AJ AK AJ AP AQ AR AS AQ AT AU@2 AV AW AX AY@2 AZ@2 BA
BB@2 BC BD BE@2 BF BG@3 BH@2 BI@2 BF BA BJ@8 BK@5 AJ AK AJ AK AJ AK AJ AK AL BL AL AM AN AO AN AO AJ@2 BM
>`.pickRestart({
A: "~@6 [f3,a#3,d4,f4]@7 ~@5 [f3,a#3,d4,f4]@6", B: "~@3 [f3,a#3,d4,f4]@3 ~@2 [f3,a#3,d4,f4] [f3,a#3,d4,f4]@3",
C: "~@6 [e3,g3,a#3,c4,e4]@7 ~@5 [e3,g3,a#3,c4,e4]@6", // C7
D: "~@6 [e3,g3,a#3,c4,e4]@5 ~@5 [e3,g3,a#3,c4,e4]@2 [e3,g3,a#3,c4,e4]@6", // C7
E: "~@6 [f3,a3,c4,d#4,f4]@7 ~@5 [f3,a3,c4,d#4,f4]@6", // F7
F: "~@3 [f3,a3,c4,d#4,f4]@3 ~@2 [f3,a3,c4,d#4,f4] [f3,a3,c4,d#4,f4]@3", // F7
G: "~@6 [f3,a#3,d4,f4]@6 ~@4 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4]@3 ~@3", H: "[f3,a#3,d4,f4]@5 ~@19",
I: "[a#3,d4,f4]@6 [d4,f4] ~@3 [a#3,d4,f4]@6 [a#3,d4,f4]@2 [a#3,d4,f4]@3 ~ [a#3,d4,f4] ~, ~@3 a#3@2 ~@7", // A# Dm A#
J: "[f3,a#3,d4,f4]@3 [a#3,d4]@2 [a#3,d4,f4]@3 [a#3,d4,f4] [a#3,d4,f4]@2 [a#3,d4,f4], ~@6 [f3,f4] ~@17", // A# F
K: "[f3,a#3,d4,f4]@6 [a#3,d4]@4 [a#3,d4,f4]@6 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4]@3 ~@3, ~@3 f3 ~@8, ~@6 f4 ~@17", // A#
L: "[g3,a#3,c4,e4]@6 [g3,c4,e4] ~@3 [a#3,c4,e4]@6 [a#3,c4,e4]@2 [a#3,c4,e4]@3 ~ [g3,a#3,c4,e4]@2, ~@3 a#3@2 ~@7", // C7 C C7
M: "[g3,a#3,c4,e4]@6 [g3,c4,e4] ~@3 [a#3,c4,e4]@6 [a#3,c4,e4]@2 [c4,e4]@2 ~@2 [g3,a#3,c4,e4]@2, ~@3 a#3@2 ~@4 a#3@2 ~", // C7 C C7 C C7
N: "[g3,a#3,c4,e4]@3 [a#3,c4]@2 [a#3,c4,e4]@3 [a#3,c4,e4] [a#3,c4]@2 [g3,a#3,c4,e4], ~@6 [g3,e4] ~@11 e4 ~@5", // C7 A#sus2 C7 A#sus2 C7 C
O: "[g3,a#3,c4,e4]@6 [a#3,c4]@4 [a#3,c4,e4]@6 [a#3,c4,e4]@2 [a#3,c4,e4]@4 [a#3,c4,e4] ~, ~@6 [g3,e4] ~@17", // C7 A#sus2 C7 C
P: "[a3,c4,d#4,f4]@6 [a3,d#4,f4] ~@3 [c4,d#4,f4]@6 [c4,d#4,f4]@2 [c4,d#4,f4]@4 [c4,d#4,f4] ~, ~@3 c4@2 ~@7", // F7
Q: "[a3,c4,d#4,f4]@6 [c4,d#4]@4 [c4,d#4,f4]@6 [c4,d#4,f4]@2 [c4,d#4]@5 ~, ~@6 [a3,f4] ~@11 f4@3 ~@3", // F7 Cm F7 Cm Dm
R: "[f3,a#3,d4,f4]@6 [f3,a#3,d4,f4] ~@3 [a#3,d4,f4]@6 [a#3,d4,f4]@2 [a#3,d4,f4]@4 [a#3,d4,f4] ~", // A#
S: "[f3,a#3,d4,f4]@6 [d4,f4] ~@3 [d4,f4]@6 [d4,f4]@2 [d4,f4]@4 [d4,f4] ~, ~@6 a#3@4 a#3@13 ~, ~@3 f3 ~@8", // A# Dm
T: "[a#3,d4,f4]@5 ~ [g#3,a#3,d4,f4]@3 ~@3 [g#3,a#3,d4,f4]@6 [g#3,a#3,d4,f4]@4 ~@2", // A# A#7
U: "[g#3,a#3]@6 [g#3,d4,f4]@4 ~@2 [g#3,a#3,d4,f4]@4 [g#3,a#3,d4,f4]@2 [g#3,a#3,d4,f4]@4 [g#3,a#3,d4,f4] ~, [d4,f4]@2 ~ a#3@3 ~@6", // G#sus2 Ddim A#7 Dm
V: "[g3,a#3,d#4,g4]@6 [g3,d#4,g4] ~@3 [a#3,d#4,g4]@6 [a#3,d#4,g4]@2 [a#3,d#4,g4]@4 [a#3,d#4,g4] ~, ~@3 a#3@2 ~@7", // D# Cm D#
W: "[g3,a#3,d#4,g4]@6 [d#4,g4] ~@3 [a#3,d#4,g4]@6 [a#3,d#4,g4]@2 [a#3,d#4,g4]@4 [a#3,d#4,g4] ~, ~@3 a#3@2 ~@7", // D#
X: "[f3,a#3,d4,f4]@6 [f3,d4,f4] ~@3 [a#3,d4,f4]@6 [a#3,d4,f4]@2 [a#3,d4,f4]@4 [a#3,d4,f4] ~, ~@3 a#3@2 ~@7", // A# Dm A#
Y: "[f3,a#3,d4,f4]@6 [f3,d4]@2 ~@2 [a#3,d4,f4]@6 [a#3,d4,f4]@2 [a#3,d4,f4]@4 [a#3,d4,f4] ~, ~@3 a#3@2 ~@7, ~@6 f4 ~@17", // A# Dm A#
Z: "[f3,a#3,d4,f4]@6 [a#3,d4]@4 [a#3,d4,f4]@6 [a#3,d4,f4]@2 [a#3,d4,f4]@4 [a#3,d4,f4] ~, ~@6 [f3,f4] ~@17", // A# F
AA: "[a3,c4,d#4,f4]@6 [a3,d#4,f4] ~@3 [c4,d#4,f4]@6 [c4,d#4,f4]@2 [c4,d#4,f4]@3 ~ [c4,d#4,f4] ~, ~@3 c4@2 ~@7", // F7
AB: "[a3,c4,d#4,f4]@3 [c4,d#4]@2 [c4,d#4,f4]@3 [c4,d#4,f4] [c4,d#4,f4]@2 [c4,d#4,f4], ~@6 [a3,f4] ~@17", // F7 Cm F7 Dm
AC: "[a3,c4,d#4,f4]@6 [c4,d#4]@4 [c4,d#4,f4]@6 [c4,d#4,f4]@2 [c4,d#4,f4]@4 [c4,d#4,f4] ~, ~@6 [a3,f4] ~@17", // F7 Cm F7 Dm
AD: "[f3,a#3,d4,f4]@6 [d4,f4] ~@3 [a#3,d4,f4]@6 [a#3,d4,f4]@2 [a#3,d4,f4]@4 [a#3,d4,f4] ~, ~@3 a#3@2 ~@7, ~@3 f3 ~@8", // A# Dm A#
AE: "[f3,a#3,d4,f4]@6 [g#3,d4,f4] ~@3 [g#3,a#3,d4,f4]@6 [g#3,a#3,d4,f4]@2 [g#3,a#3,d4,f4]@4 [g#3,a#3,d4,f4] ~, ~@3 a#3@2 ~@7", // A# Ddim A#7
AF: "[g#3,a#3,d4,f4]@6 [d4,f4] ~@3 [g#3,a#3,d4,f4]@6 [g#3,a#3,d4,f4]@2 [g#3,a#3,d4,f4]@4 [g#3,a#3,d4,f4] ~, ~@3 a#3@2 ~@7, ~@3 g#3 ~@8", // A#7 Dm A#7
AG: "[g3,a#3,d#4,g4]@6 [g3,a#3,d#4,g4]@2 ~@2 [a#3,d#4,g4]@6 [a#3,d#4,g4]@2 [a#3,d#4,g4]@4 [a#3,d#4,g4] ~", // D#
AH: "[a3,c4,d#4,f4]@6 [a3,d#4,f4]@2 ~@2 [c4,d#4,f4]@6 [c4,d#4,f4]@2 [c4,d#4,f4]@4 [c4,d#4,f4] ~, ~@3 c4@2 ~@7", // F7
AI: "[f3,a#3,d4,f4]@5 ~@7", AJ: "~ [e3,g3,c4,e4] ~ [e3,g3,c4,e4]",
AK: "~@3 [e3,g3,c4,e4]@3 ~@2 [e3,g3,c4,e4] [e3,g3,c4,e4]@3", AL: "~@6 [a3,c4,d4,f#4]@7 ~@5 [a3,c4,d4,f#4]@6",
AM: "~@6 [a3,c4,d4,f#4]@6 ~@4 [a3,c4,d4,f#4]@2 [a3,c4,d4,f#4]@5 ~", AN: "~@6 [g3,b3,f4,g4]@7 ~@5 [g3,b3,f4,g4]@6",
AO: "~ [b3,f4,g4] ~ [b3,f4,g4], ~@5 g3@7 ~@3 g3@2 g3@6 ~, ~@8 [b3,f4,g4] ~@3", // G7
AP: "~@6 [e3,g3,c4,e4]@7 ~@5 [e3,g3,c4,e4]@4 ~@2", // C
AQ: "[e3,g3,c4,e4]@6 [g3,c4,e4] ~@3 [g3,c4,e4]@6 [g3,c4,e4]@2 [g3,c4,e4]@4 ~@2", // C
AR: "[g3,c4,e4]@6 [g3,c4,e4] ~@3 [g3,c4,e4]@6 [g3,c4,e4]@2 [g3,c4,e4]@3 ~@3, e3 ~@2", // C
AS: "[e3,g3,c4,e4]@6 [e3,g3,c4,e4] ~@3 [g3,c4,e4]@6 [g3,c4,e4]@2 [g3,c4,e4]@3 ~@3", // C
AT: "[a3,c4,d4,f#4]@6 [c4,d4,f#4] ~ [c4,d4,f#4] ~ [c4,d4,f#4]@6 [c4,d4,f#4]@2 [d4,f#4]@3 ~@3, ~@3 c4", // D7 D
AU: "[[a3,c4,d4,f#4]@6 [d4,f#4] ~@3 [c4,d4,f#4]@6 [c4,d4,f#4]@2 [c4,d4,f#4]@4 [c4,d4,f#4] ~ [c4,d4,f#4]@6 [d4,f#4] ~@3 [c4,d4,f#4]@6 [c4,d4,f#4]@2 [c4,d4,f#4]@4 [c4,d4,f#4] ~, ~@6 c4@4 ~@13 a3@7 c4@4 ~@14]/2", // D7 D D7 D D7
AV: "[a3,c4,d4,f#4]@6 [d4,f#4] ~@3 [c4,d4,f#4]@6 [c4,d4,f#4]@2 [c4,d4,f#4]@4 ~@2, ~@3 c4@2 ~@7", // D7 D D7
AW: "[g3,b3,f4,g4]@6 [b3,f4,g4] ~@3 [b3,f4,g4]@6 [b3,f4,g4]@2 [b3,f4,g4]@4 [b3,f4,g4] ~", // G7
AX: "[g3,b3,f4,g4]@6 [b3,f4,g4] ~@3 [b3,f4,g4]@6 [b3,f4,g4]@2 [b3,f4,g4]@2 ~@4", // G7
AY: "[[g3,b3,f4,g4]@6 [b3,f4,g4] ~@3 [b3,f4,g4]@6 [b3,f4,g4]@2 [b3,f4,g4]@5 ~ [b3,f4,g4]@6 [b3,f4,g4] ~@3 [b3,f4,g4]@6 [b3,f4,g4]@2 [b3,f4,g4]@4 [b3,f4,g4] ~, ~@23 g3@7 ~@18]/2", // G7
AZ: "[[e3,g3,c4,e4]@6 [e3,g3,c4,e4] ~@3 [g3,c4,e4]@6 [g3,c4,e4]@2 [g3,c4,e4]@4 ~@2 [g3,c4,e4]@6 [g3,c4,e4] ~@3 [g3,c4,e4]@6 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4] ~, ~@23 e3@7 ~@18]/2", // C
BA: "[e3,g3,c4,e4]@6 [g3,a#3,c4,e4] ~@3 [g3,a#3,c4,e4]@6 [g3,a#3,c4,e4]@2 [g3,a#3,c4,e4]@4 [g3,a#3,c4,e4] ~", // C C7
BB: "[[g3,a#3,c4,e4]@6 [g3,a#3,c4,e4] ~@3 [g3,a#3,c4,e4]@6 [g3,a#3,c4,e4]@2 [g3,a#3,c4,e4]@4 [g3,a#3,c4,e4] ~ [a3,c4,f4]@6 [a3,c4,f4] ~@3 [a3,c4,f4]@6 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4] ~, ~@23 f3@7 ~@18]/2", // C7 F
BC: "[f3,a3,c4,f4]@6 [a3,c4,f4] ~@3 [a3,c4,f4]@6 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4] ~", // F
BD: "[f3,a3,c4,f4]@6 [a3,f4] ~@3 [a3,c4,f4]@6 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4] ~, ~@3 c4@2 ~@7", // F Dm F
BE: "[[f3,a3,c4,f4]@6 [a3,f4] ~@3 [a3,c4,f4]@6 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4] ~ [g3,c4,e4]@6 [g3,c4,e4] ~@3 [g3,c4,e4]@6 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4] ~, ~@6 c4@4 ~@13 e3@7 ~@18]/2", // F Dm F C
BF: "[e3,g3,c4,e4]@6 [g3,c4,e4] ~@3 [g3,c4,e4]@6 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4] ~", // C
BG: "[[e3,g3,c4,e4]@6 [g3,c4,e4] ~@3 [g3,c4,e4]@6 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4] ~ [g3,c4,e4]@6 [g3,c4,e4] ~@3 [g3,c4,e4]@6 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4] ~ [b3,f4,g4]@6 [b3,f4,g4] ~@3 [b3,f4,g4]@6 [b3,f4,g4]@2 [b3,f4,g4]@4 [b3,f4,g4] ~, ~@23 e3@7 ~@17 g3@7 ~@18]/3", // C G7
BH: "[[g3,b3,f4,g4]@6 [b3,f4,g4] ~@3 [b3,f4,g4]@6 [b3,f4,g4]@2 [b3,f4,g4]@4 [b3,f4,g4] ~ [b3,f4,g4]@6 [b3,g4] ~@3 [b3,f4,g4]@6 [b3,f4,g4]@2 [b3,f4,g4]@4 [b3,f4,g4] ~, ~@23 g3@7 f4@4 ~@14]/2", // G7 Em G7
BI: "[[g3,b3,f4,g4]@6 [b3,g4] ~@3 [b3,f4,g4]@6 [b3,f4,g4]@2 [b3,f4,g4]@4 [b3,f4,g4] ~ [g3,c4,e4]@6 [g3,c4,e4] ~@3 [g3,c4,e4]@6 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4] ~, ~@6 f4@4 ~@13 e3@7 ~@18]/2", // G7 Em G7 C
BJ: "[[g3,a#3,c4,e4]@6 [g3,a#3,c4,e4] ~@3 [g3,a#3,c4,e4]@6 [g3,a#3,c4,e4]@2 [g3,a#3,c4,e4]@4 [g3,a#3,c4,e4] ~ [a3,c4,f4]@6 [a3,c4,f4] ~@3 [a3,c4,f4]@6 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4] ~ [a3,c4,f4]@6 [a3,c4,f4] ~@3 [a3,c4,f4]@6 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4] ~ [a3,c4,f4]@6 [a3,c4,f4] ~@3 [a3,c4,f4]@6 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4] ~ [a3,c4,f4]@6 [a3,c4,f4] ~@3 [a3,c4,f4]@6 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4] ~ [g3,c4,e4]@6 [g3,c4,e4] ~@3 [g3,c4,e4]@6 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4] ~ [g3,c4,e4]@6 [g3,c4,e4] ~@3 [g3,c4,e4]@6 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4] ~ [g3,c4,e4]@6 [g3,c4,e4] ~@3 [g3,c4,e4]@6 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4] e3, ~@23 f3@7 ~@17 f3@7 ~@17 f3@7 ~@17 f3@7 ~@17 e3@7 ~@17 e3@7 ~@17 e3@7 ~@18]/8", // C7 F C
BK: "[[g3,c4,e4]@6 [g3,c4,e4] ~@3 [g3,c4,e4]@6 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4] ~ [b3,f4,g4]@6 [b3,f4,g4] ~@3 [b3,f4,g4]@6 [b3,f4,g4]@2 [b3,f4,g4]@4 [b3,f4,g4] ~ [b3,f4,g4]@6 [b3,f4,g4] ~@3 [b3,f4,g4]@6 [b3,f4,g4]@2 [b3,f4,g4]@4 [b3,f4,g4] ~ [b3,f4,g4]@6 [b3,f4,g4] ~@3 [b3,f4,g4]@6 [b3,f4,g4]@2 [b3,f4,g4]@4 [b3,f4,g4] ~ [b3,f4,g4]@6 [b3,f4,g4] ~@3 [b3,f4,g4]@6 [b3,f4,g4]@2 [b3,f4,g4]@6, ~@23 g3@7 ~@17 g3@7 ~@17 g3@7 ~@17 g3@7 ~@18]/5", // C G7
BL: "~ [c4,d4,f#4] ~ [c4,d4,f#4], ~@5 a3@6 ~@4 a3@2 a3@7, ~@8 [c4,d4,f#4] ~@3", // D7
BM: "~@3 [g3,b3,f4,g4] ~@2 [g3,c4,e4]@3 ~@3, ~@5 d3@2 ~@4 e3@7 ~@6", // G7 C
})).s("gm_acoustic_guitar_steel").gain(0.08).pan(0.7)
// chords · electric guitar muted
const electric_guitar_muted = note(`<
~@36 A B C D E F G H I J K L M N O P A Q R S G T E U V W X Y Z AA AB ~@5 AC@3 AD AE@3 AF AG@3 AH AC@3 AI AJ AK AL AM
AN AO AP AQ AR AS AT AU AJ AV AW AX AY AZ X BA BB BC AK BD BE BF AR BG BH BI BJ BK X AZ X L BL BM BN AX BO BP BQ BR
BS@4 BT BU BV BW BX BY BZ CA CB CC CB CD CE CF CG
>`.pickRestart({
A: "d#4@2 ~@8 d#4 ~ a#3@2 ~@8 a#3 ~", B: "d#4@6 d#4@4 ~@2 f4@2 ~@2 f4 ~ c4@2 ~@4, ~@5 d#4@7",
C: "d#4@10 ~@2 a#3@2 ~@8 a#3 ~, ~@5 d#4@7", D: "d#4@5 d#4@3 ~ a#3 ~@2, ~@8 d#4@3 ~",
E: "a#3@10 ~@2 f3@3 ~@7 f3@2, ~@5 a#3@7", F: "a#3@3 a#3@2 ~ c4 ~ c4 g3 ~@2, ~@5 a#3@7",
G: "a#3@10 ~@2 f3@2 ~@8 f3 ~, ~@5 a#3@7", H: "a#3@5 a#3@3 ~ f3 ~@2, ~@8 a#3@3 ~",
I: "f4@2 ~@8 f4 ~ c4@2 ~@4 c4@2 ~@2 c4 ~", J: "f4@6 ~@6 c4@2 ~@8 c4 ~, ~ f4@3",
K: "f4@10 ~@2 c4@2 ~@4 d4@3 ~ c4 ~, ~@5 f4@7", L: "f4@5 ~ c4 ~@2 f4@2 ~, ~@5 f4@4 ~@3",
M: "a#3@10 ~@2 f3@4 ~@6 f3 ~, ~@5 a#3@7", N: "a#3@3 a#3@2 ~ c4 ~ c4 g3 ~@2, ~@5 a#3@6 ~",
O: "a#3@3 ~@7 a#3 ~ f3@3 ~@5 f3@2 ~@2", P: "a#3@6 ~@6 f3@2 ~@2 f3 ~ g3@3 ~@3, ~@6 a#3@17 ~",
Q: "d#4@3 d#4@2 ~ f4 ~ f4 c4 ~@2, ~@5 d#4@7", R: "d#4@10 ~@2 a#3 ~@9 a#3 ~, ~@5 d#4@7",
S: "d#4@10 ~@2 a#3@2 ~@2 a#3 ~ d#4@4 ~@2, ~@5 d#4@4 ~@3", T: "a#3@5 a#3@3 ~ c4 ~@2, ~@2 a#3",
U: "a#3@6 a#3@4 ~@2 c4@2 ~@2 c4 ~ f3@2 ~@4, ~@5 a#3@6 ~", V: "f4@10 ~@2 c4@3 ~@7 c4 ~, ~@5 f4@7",
W: "f4@6 f4@4 ~@2 c4@2 ~@2 c4 ~ d4@2 ~@4, ~@5 f4@7", X: "f4@10 ~@2 c4@2 ~@8 c4 ~, ~@5 f4@7",
Y: "f4@6 ~@6 c4@2 ~@4 f4@4 c4 ~, ~ f4@2 ~", Z: "a#3@10 ~@2 f3@3 ~@7 f3 ~, ~@5 a#3@7",
AA: "~@10 f3@2 ~@4 f3 ~ g3@3 ~@3, a#3@11 ~", AB: "a#3 ~@7", AC: "c3 ~@5 g2 ~@5", AD: "c3 ~@5 g2 ~@2 c3 ~@2",
AE: "d3 ~@5 a2 ~@5", AF: "d3@2 ~@10 a2@2 ~@4 d3 ~@5", AG: "g2 ~@5 d3 ~@5", AH: "g2 ~@5 d3 ~@2 g2 ~@2",
AI: "~@6 g3 ~@5 a3 ~@5 b3@2 ~@4, c4@23 ~", AJ: "c4 ~@9 c4 ~ g3@2 ~@8 g3 ~", AK: "c4@10 ~@2 g3@2 ~@8 g3 ~, ~@5 c4@7",
AL: "c4@10 ~@2 g3 ~@9 g3 ~, ~@5 c4@7", AM: "c4@8 ~@4 g3@2 ~@4 c4@3 ~@3, ~@4 c4@5 ~@3",
AN: "d4 ~@9 d4 ~ a3@2 ~@8 a3 ~", AO: "d4@10 ~@2 a3 ~@9 a3 ~, ~@5 d4@7", AP: "d4@10 ~@2 a3@2 ~@8 a3 ~, ~@5 d4@7",
AQ: "d4@5 ~ a3 ~@2 d4 ~@2, ~@5 d4@4 ~@3", AR: "g4@10 ~@2 d4@2 ~@8 d4 ~, ~@5 g4@7", AS: "g4@8 ~@2 g4 ~ d4@2 ~@8 d4 ~",
AT: "g4@4 ~@6 g4 ~ d4@2 ~@8 d4 ~", AU: "g4@10 ~@2 d4@2 ~@4 g4@3 ~@3, ~@5 g4@4 ~@3",
AV: "c4@10 ~@2 g3@2 ~@8 g3 ~, ~@5 c4@6 ~", AW: "c4@2 ~@8 c4 ~ g3@3 ~@3 g3@3 ~@3",
AX: "c4@10 ~@2 g3@3 ~@3 c4@4 ~@2, ~@5 c4@4 ~@3", AY: "f4@3 ~@7 f4@2 c4@2 ~@8 c4 ~",
AZ: "f4@3 f4@2 ~ g4 ~ g4 d4 ~@2, ~@5 f4@7", BA: "f4@6 ~@6 c4@3 ~@3 f4@4 ~@2, ~ f4@2 ~",
BB: "c4@10 ~@2 g3@3 ~@7 g3 ~, ~@5 c4@7", BC: "c4@6 c4@4 ~@2 g3@2 ~@2 g3@2 a3@3 ~@3, ~@5 c4@7",
BD: "c4@3 c4@2 ~ d4 ~ d4 c4@2 ~, ~@5 c4@4 ~@3", BE: "g4@2 ~@8 g4 ~ d4@2 ~@4 d4 ~@5",
BF: "g4@2 ~@8 g4@2 d4@2 ~@4 e4@3 ~ d4 ~", BG: "g4@10 ~@2 d4@2 ~@2 d4 ~ g4@4 ~@2, ~@5 g4@4 ~@3",
BH: "c4@2 ~@8 c4 ~ g3@2 ~@10", BI: "c4@5 ~ g3 ~@4 a3, ~@5 c4@6 ~", BJ: "c4@3 ~@7 c4@2 g3@2 ~@4 g3@2 ~@4",
BK: "c4@10 ~@2 g3@2 ~@2 g3@2 c4@5 ~, ~@5 c4@4 ~@3", BL: "c4@10 ~@2 g3@3 ~@7 g3@2, ~@5 c4@7",
BM: "c4@10 ~@2 g3@2 ~@2 g3 ~ a3@2 ~@4, ~@5 c4@7", BN: "c4@5 ~ g3 ~@4 g3, ~@5 c4@7", BO: "g4@2 ~@8 g4 ~ d4@2 ~@8 d4@2",
BP: "g4@5 g4@3 ~ d4 ~@2, ~@2 g4", BQ: "g4@6 ~@4 g4 ~ d4@2 ~@8 d4 ~", BR: "g4@5 ~ d4 ~@2 g4@2 ~, ~@5 g4@4 ~@3",
BS: "[c4@23 ~]/4", BT: "~@10 g3@2 ~@4 g3 ~ a3@2 ~@4, c4", BU: "~@10 g3 ~@5 g3 ~ a3@3 ~ g3 ~, c4",
BV: "~@10 g3 ~@5 g3 ~ c4@6, c4@3 ~", BW: "~@10 g3 ~@5 c4@4 ~@2 g3 ~, c4@2 ~", BX: "d4@5 d4@3 d4 d4@3",
BY: "d4@3 d4@2 d4 d4@2 ~ e4 ~@2, ~@2 d4", BZ: "d4@10 ~@6 a3 ~ d4@6, ~@5 d4@4 ~@3",
CA: "d4@10 ~@6 a3 ~ d4@3 ~@3, ~@5 d4@4 ~@3", CB: "g4@10 g4@6 ~@2 d4 ~@5, ~@2 g4",
CC: "g4@10 ~@6 d4 ~ e4 ~@5, ~@5 g4@7", CD: "g4@10 g4@6 g4@4 ~@2 d4 ~", CE: "c4@10 ~@6 g3 ~ a3@2 ~@4, ~@5 c4@7",
CF: "c4@9 ~@6 g3 ~@2 c4@6, ~@3 c4@3 ~@2", CG: "c4 ~@5 g3@2 ~@4 c4@2 ~@10",
})).s("gm_electric_guitar_muted").gain(0.17).pan(0.3)
// bass · slap bass 2
const bass_2 = note(`<
~@72 A B@2 C D@3 E F@3 G B A@2 H A@3 C D@2 I J F@3 K A B L M N O P Q A@2 R S T@3 U A@2 L M N O N Q A V A M T F W X Y
~@3 Z@4 AA@4 AB@4 Z@2 AC
>`.pickRestart({
A: "c2 ~@3 g1 ~@3", B: "c2@7 ~@5 g1@3 ~@9", C: "c2 ~@3 g1 ~ c2 ~", D: "d2 ~@3 a1 ~@3",
// … 53 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.