0:00/0:00
// Bound for the Floor — Local H
// 121 bpm, 4/4, key F# 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: duplicate parts dropped: ch 3 "sargpepp67" distortion guitar (copy of ch 1 "Kopesetic by" distortion guitar); ch 6 distortion guitar (copy of ch 5 distortion guitar); ch 8 electric guitar muted (copy of ch 7 electric guitar muted)
// note: Full arrangement: all 112 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 program 28.
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 · distortion guitar · "Kopesetic by"
const distortion_guitar = note(`<
A B C D A B C D A B C D A B C D A B C D A B C D ~ E F G H I J K L B C D A B C D A B C D A B C D ~ E F G H I J K M N O
P Q R S T U@2 V@2 W@2 X@2 Y Z AA AB AC AD AE AB AF AG AH AI AF AG AE AJ AK N O P Q R S T U@2 V@2 W@2 X@2 A B C D A B C
~
>`.pickRestart({
A: "[g#2,d#3,g#3,a#3] ~ [g#2,d#3,g#3,a#3] ~ [g#2,d#3,g#3,a#3]!2 ~ [b2,d#3,f#3,a#3]", // G#sus2 Bmaj7
B: "~@2 [b2,d#3,f#3,a#3]@2 [b2,d#3,f#3,a#3]@2 ~@2 [b2,d#3,f#3,a#3] ~ [b2,d#3,f#3,a#3]@2 [b2,d#3,f#3,a#3]@2 [a#2,d#3,g#3,a#3] ~", // Bmaj7 D#sus4
C: "[f#2,f#3,a#3] ~@3 [f#2,d#3,f#3,a#3]@2 ~@2 [f#2,d#3,f#3,a#3]@2 [f#2,d#3,f#3,a#3]@2 ~@2 [c#3,d#3,g#3,a#3] ~", // F# D#m C#sus2
D: "~ [c#3,d#3,g#3,a#3]!2 ~ [c#3,d#3,g#3,a#3] [c#3,d#3,g#3] [c#3,d#3,g#3,a#3] [c#3,d#3,g#3], ~@5 b3@2 ~", // C#sus2
E: "~@4 [b3,c#4,f#4]@9 ~@3", F: "~ [f#3,c#4,f#4]@2 ~", G: "~@4 [g#3,c#4,d#4,g#4]@7 ~@5", H: "~ [g#3,a#3,d#4]@2 ~",
I: "~ [b3,c#4,f#4]@5 ~@2", J: "~@4 [f#3,c#4]@7 ~@5", K: "~ [c#4,d#4,g#4]@3 ~@4",
L: "[g#2,d#3,g#3,a#3,d#4] ~ [g#2,d#3,g#3,a#3] ~ [g#2,d#3,g#3,a#3]!2 ~ [b2,d#3,f#3,a#3]", // G#sus2 Bmaj7
M: "[g#3,a#3,d#4] ~ [g#3,d#4]@4 ~@2", N: "~@2 [f#4,c#5]@5 ~", O: "~ [f#3,c#4]@2 ~", P: "~ [c#4,g#4]@2 ~",
Q: "~@4 [g#3,d#4]@7 ~@5", R: "~@4 [b3,f#4]@7 ~@5", S: "~@4 [f#3,c#4,f#4]@7 ~@5",
T: "~ [c#4,d#4,g#4]@2 ~, ~ g#3@5 ~@2", U: "[~@2 d#4@2 ~ d#4 ~ [b3,f#4]@2 [b3,f#4] [b3,f#4]@4 ~@2, ~ g#3@2 ~@5]/2",
V: "[~@4 [f#3,c#4]@4 ~@2 [f#3,c#4]@2 ~@2 [c#4,g#4]@3 ~ [c#4,g#4] ~ [c#4,g#4]@6 ~@6, ~@7 g#3@6 ~@3]/2", // F#5 C#5
W: "[d#4@2 ~@2 d#4@5 ~ [g#3,d#4]@4 [b3,f#4]@14 ~@4, g#3 ~@3]/2", X: "[[f#4,c#5]@6 ~ [c#4,g#4]@4 ~ a#3 b3 a#3 f#3]/2",
Y: "[g#2,d#3]@2 [g#2,d#3] ~ [g#2,d#3] ~ [g#2,d#3] ~ [g#2,d#3]@2 [g#2,d#3]@2 [g#2,d#3]@2 [g#2,d#3] ~", // G#5
Z: "[b2,f#3]@2 [b2,f#3]@2 [b2,f#3]@2 [b2,f#3]@2 [b2,f#3]@2 [b2,f#3]@2 [b2,f#3]@2 [b2,f#3] ~", // B5
AA: "[f#2,c#3] ~ [f#2,c#3] ~ [f#2,c#3] ~ [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3] ~", // F#5
AB: "[c#3,g#3] ~ [c#3,g#3]@2 [c#3,g#3]@2 [c#3,g#3]@2 [c#3,g#3]@2 [c#3,g#3]@2 [c#3,g#3]@2 [c#3,g#3] ~", // C#5
AC: "[g#2,d#3] ~ [g#2,d#3]@2 [g#2,d#3]@2 [g#2,d#3]@2 [g#2,d#3]@2 [g#2,d#3]@2 [g#2,d#3]@2 [g#2,d#3] ~", // G#5
AD: "[b2,f#3] ~ [b2,f#3]@2 [b2,f#3]@2 [b2,f#3]@2 [b2,f#3]@2 [b2,f#3]@2 [b2,f#3]@2 [b2,f#3] ~", // B5
AE: "[f#2,c#3] ~ [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3]@2", // F#5
AF: "[g#2,d#3]!8", AG: "[b2,f#3] ~ [b2,f#3]@2 [b2,f#3]@2 [b2,f#3]@2 [b2,f#3]@2 [b2,f#3]@2 [b2,f#3]@2 [b2,f#3]@2",
AH: "[f#2,c#3] ~ [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3] ~", // F#5
AI: "[c#3,g#3]@2 [c#3,g#3]@2 [c#3,g#3]@2 [c#3,g#3]@2 [c#3,g#3]@2 [c#3,g#3]@2 [c#3,g#3]@2 [c#3,g#3] ~", // C#5
AJ: "[c#3,g#3] ~ [c#3,g#3]@2 [c#3,g#3]@2 [c#3,g#3]@2 [a#2,a#3]@2 [b2,b3]@2 [a#2,a#3]@2 [f#2,f#3]@2", // C#5 A# B A# F#
AK: "~ [g#3,d#4]@2 ~", // G#5
})).s("gm_distortion_guitar").gain(0.25).pan(1)
// bass · electric bass finger
const bass = note(`<
~@2 A B C D E F G H I J K H E J G H E J K H I F L@2 M@2 N@2 O@2 G H I J K H E J G H E J K H I F L@2 M@2 N@2 O@2 P@2 Q
R S@2 T@2 U@2 V@2 W@2 X@2 Y Z AA AB AC AD AA AE AC Z AA AE AC Z AF AG P@2 Q R S@2 T@2 U@2 V@2 W@2 X@2 C D E F G H I ~
>`.pickRestart({
A: "f#1@2 ~@2 f#1 ~@3 f#1 ~ f#1@2 d#1@2 c#2 ~", B: "~@2 c#2 ~ c#2@2 ~@2 c#2 ~ c#2@2 c#2@2 f#1@2",
C: "g#1 ~@3 g#1@2 ~@2 g#1 ~ g#1@2 d#1@2 b1@2", D: "~@2 b1 ~ b1 ~@3 b1 ~ b1 ~ b1@2 g#1@2",
E: "f#1@2 ~@2 f#1@2 ~@2 f#1 ~ f#1@2 d#1@2 c#2 ~", F: "~@2 c#2 ~ c#2@2 f#1@2 a#1@2 b1@2 a#1@2 f#1@2",
G: "g#1@2 ~@2 g#1@2 ~@2 g#1 ~ g#1@2 d#1@2 b1@2", H: "~@2 b1 ~ b1@2 ~@2 b1 ~ b1 ~ b1@2 g#1@2",
I: "f#1@2 ~@2 f#1@2 ~@2 f#1 ~ f#1@2 d#1@2 c#2@2", J: "~@2 c#2 ~ c#2@2 ~@2 c#2 ~ c#2 ~ c#2@2 f#1@2",
K: "g#1@2 ~@2 g#1@2 ~@2 g#1 ~ g#1@2 d#1@2 b1 ~", L: "[g#1@8 ~@2 g#1@2 a#1@2 b1@5 ~ b1@4 ~@2 b1@4 g#1@2]/2",
M: "[f#1@4 f#1@6 f#1@2 g#1 ~ c#2@6 c#2@2 f#1@2 a#1@2 b1@2 a#1@2 f#1@2]/2",
N: "[g#1@9 ~ g#1@2 a#1 ~ b1@6 b1@6 b1@4 g#1@2]/2",
O: "[f#1@3 ~ f#1@5 ~ f#1@2 g#1@2 c#2@8 f#1@2 a#1@2 b1@2 a#1@2 f#1@2]/2",
P: "[g#1@3 ~ g#1@5 ~ g#1@2 a#1@2 b1@12 ~@4 g#1@2]/2", Q: "f#1@3 ~ f#1@4 ~@2 f#1@2 g#1@2 c#2@2",
R: "~ c#2@2 ~ a#1 b1 a#1 f#1", S: "[g#1@2 ~@2 g#1@8 a#1 ~ b1@4 ~@2 b1@7 ~@3 g#1@2]/2",
T: "[f#1@3 ~ f#1@4 ~@2 f#1@2 g#1@2 c#2@5 ~ c#2@4 a#1@2 b1@2 a#1@2 f#1@2]/2",
U: "[g#1@2 ~@2 g#1@4 ~@2 g#1@2 ~@2 b1@5 ~ b1@4 ~@2 b1@2 ~@2 g#1@2]/2",
V: "[f#1@2 ~@2 f#1@4 ~@2 f#1@2 g#1@2 c#2@5 ~ c#2@4 a#1@2 b1@2 a#1@2 f#1@2]/2",
W: "[g#1@3 ~ g#1@5 ~ g#1@2 ~@2 b1@4 ~@2 b1@7 ~@3 g#1@2]/2", X: "[f#1 ~ f#1@2 ~ f#1 g#1 c#2@4 f#1 a#1 b1 a#1 f#1]/2",
Y: "g#1!8", Z: "b1@2 b1@2 b1@2 b1@2 b1@2 b1@2 b1@2 b1 ~", AA: "f#1@2 f#1@2 f#1@2 f#1@2 f#1@2 f#1@2 f#1@2 f#1 ~",
AB: "c#2!8", AC: "g#1@2 g#1@2 g#1@2 g#1@2 g#1@2 g#1@2 g#1@2 g#1 ~", AD: "b1!8",
AE: "c#2@2 c#2@2 c#2@2 c#2@2 c#2@2 c#2@2 c#2@2 c#2 ~", AF: "f#1!8",
AG: "c#2@2 c#2@2 c#2@2 f#1@2 a#1@2 b1@2 a#1@2 f#1 ~",
})).s("gm_electric_bass_finger").gain(0.72)
// chords · clavinet
const clavinet = note(`<
~@8 A@2 B C@3 B D E F G H G I J K L M N O N P Q ~ R@2 B S@3 B T U I V W U X Y Z AA P AB P L P AC P AD AE AF AG AH AE
AF AG AI AJ AK AL AM AN AO AP AQ AR AS AR AS AR AS AT AU AV AW AX AY AV AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM
BN BO BN BP BQ BR BS BR BQ BR ~
>`.pickRestart({
A: "[~@8 a#4 ~ a#4 ~ a#4 ~ f#4@6 ~@12]/2", B: "~@8 a#4 ~ a#4 ~ a#4 ~ a#4@2",
C: "[~@2 g#4@2 ~@2 d#4@2 ~@2 a#4@2 ~@2 a#4@5 ~@5 a#4 ~ a#4 ~ g#4 ~ a#4@9 ~@9]/3",
D: "~@2 g#4@2 ~@2 d#4@2 ~@4 a#4 ~ g#4 ~", E: "a#4 ~@3 a#4 ~ g#4 ~ a#4 ~ a#4@2 g#4 ~ a#4 ~",
F: "~@2 a#4 ~ a#4 ~ g#4 ~ a#4 ~ a#4 ~ a#4 ~ g#4 ~", G: "a#4 ~@3 a#4 ~ g#4 ~ a#4 ~ a#4 ~ g#4 ~ a#4 ~",
H: "~@2 a#4 ~ a#4 ~ g#4 ~ a#4@3 ~ a#4 ~ g#4 ~", I: "~@2 a#4 ~ a#4@2 g#4 ~ a#4 ~ a#4 ~ a#4 ~ g#4 ~",
J: "a#4 ~@3 a#4 ~@3 a#4 ~ a#4 ~ g#4 ~ [g#4,a#4] ~", K: "~@2 a#4 ~ a#4@2 g#4 ~ a#4@3 ~ [a#3,a#4] ~ [g#3,g#4] ~",
L: "[a#3,a#4]@3 ~@5", M: "~@12 [a#3,a#4]@2 [g#3,g#4] ~", N: "[a#3,a#4] ~@3", O: "~@12 [a#3,c4,a#4] ~ [g#3,g#4] ~",
P: "~@12 [a#3,a#4] ~ [g#3,g#4] ~", Q: "[a#3,a#4]@5 ~@11", R: "[~@8 a#4 ~ a#4@2 g#4@2 a#4@11 ~@7]/2",
S: "[~@2 g#4@2 ~@2 d#4@2 ~@2 a#4@2 ~@2 a#4@5 ~@5 a#4 ~ a#4@2 b4 ~ f#4@10 ~@8]/3", T: "~ g#4 ~ d#4 ~@2 a#4 g#4",
U: "a#4 ~@3 a#4@2 ~@2 a#4 ~ a#4 ~@3 a#4@2", V: "a#4 ~@3 a#4 ~@3 a#4 ~ a#4@2 ~@2 a#4 ~",
W: "~@2 a#4 ~ a#4@2 g#4 ~ a#4@3 ~ a#4 ~ g#4 ~", X: "~@2 a#4 ~ a#4@2 g#4 ~ a#4 ~ a#4 ~ a#4@2 g#4 ~",
Y: "a#4@2 ~@2 a#4@2 ~@2 a#4 ~ a#4 ~@3 a#4 ~", Z: "~@2 a#4 ~ a#4@2 g#4 ~ a#4@2 ~@2 [a#3,a#4] ~ [g#3,g#4] ~",
AA: "~ a#3@7 ~@8, a#4 ~", AB: "[a#3,a#4] ~", AC: "[a#3,a#4]@5 ~@3",
AD: "[a#3,a#4]@3 ~ [a#3,a#4]@3 ~ [a#3,a#4] ~ [a#3,a#4]@3 ~ [a#3,a#4]@2", // A#
AE: "~@2 [a#3,a#4] ~ [a#3,a#4] ~ [g#3,g#4] ~ [a#3,a#4] ~ [a#3,a#4] ~ [a#3,a#4] ~ [g#3,g#4] ~", // A# G# A# G#
AF: "[a#3,a#4]@3 ~ [a#3,a#4] ~ [g#3,g#4] ~ [a#3,a#4] ~ [a#3,a#4] ~ [g#3,g#4] ~ [a#3,a#4]@2", // A# G# A# G# A#
AG: "~@2 [a#3,a#4] ~ [a#3,a#4] ~ [g#3,g#4] ~ [a#3,a#4]@3 ~ [a#3,a#4] ~ [g#3,g#4] ~", // A# G# A# G#
AH: "[g#3,g#4] g#4 ~@2 [a#3,a#4]@3 ~ [a#3,a#4] ~ [a#3,a#4]@2 ~@2 [a#3,a#4]@2, [a#3,a#4]@3 ~@13", // G# A#
AI: "[a#3,a#4,d#5]@3 ~ [a#3,a#4,d#5]@3 ~ [a#3,a#4,d#5] ~ [a#3,a#4,d#5]@3 ~ [a#3,a#4,d#5]@2, g#4 ~@9 f5 ~@5", // D#5
AJ: "~@2 [a#3,a#4,d#5] ~ [a#3,a#4] ~ [g#3,g#4,c#5] ~ [a#3,a#4,d#5] ~ [a#3,a#4,d#5] ~ [a#3,a#4,d#5] ~ [g#3,g#4,c#5] ~, ~@2 d#5 ~@5", // D#5 A# C#5 D#5 C#5
AK: "[a#3,a#4,d#5]@3 ~ [a#3,a#4,d#5]@3 ~ [a#3,a#4,d#5] ~ [a#3,a#4,d#5]@2 ~@2 [a#3,a#4,d#5]@2", // D#5
AL: "~@2 [a#3,a#4,d#5] ~ [a#3,a#4] ~ [g#3,g#4,a#4,c#5] ~ [a#3,a#4,d#5] ~ [a#3,a#4,d#5] ~ [a#3,a#4,d#5] ~ [g#3,a#3,g#4,c#5,d5] ~, ~@2 d#5 ~@5", // D#5 A# A#m7 D#5 A#7
AM: "[a#3,a#4,d#5]@2 ~@2 [a#3,a#4,d#5]@2 ~@2 [a#3,a#4,d#5] ~ [a#3,a#4,d#5]@2 ~@2 [a#3,a#4,d#5]@2", // D#5
AN: "~@2 [a#3,a#4,d#5] ~ [a#3,a#4,d#5] ~ [g#3,g#4,c#5] ~ [a#3,a#4,d#5] ~ [a#3,a#4,d#5] ~ [a#3,a#4,d#5] ~ [g#3,g#4,c#5] ~", // D#5 C#5 D#5 C#5
AO: "[a#3,a#4,d#5]@3 ~ [a#3,a#4,d#5]@2 ~@2 [a#3,a#4,d#5] ~ [a#3,a#4,d#5]@3 ~ [a#3,a#4,d#5]@2", // D#5
AP: "~@2 [a#3,a#4,d#5] ~ [a#3,a#4,d#5] ~ [g#3,g#4,c#5] ~ [a#3,g#4,a#4,d#5] ~ [a#3,a#4,d#5] ~ [a#3,a#4] ~ [g#3,g#4,c#5] ~, ~@6 d#5 ~", // D#5 C#5 D#sus4 D#5 A# C#5
AQ: "[a#4,d#5] ~@7", AR: "~@12 d#5 ~ c#5 ~", AS: "d#5 ~@7", AT: "~@12 d#5@2 c#5 ~",
AU: "[a#4,d#5]@2 ~@2 a#4@2 ~@2 a#4 ~ a#4@2 g#4 ~ a#4@2", // D#5
AV: "~@2 a#4 ~ a#4@2 g#4 ~ a#4 ~ a#4 ~ [a#4,d#5]@2 [g#4,c#5] ~", // D#5 C#5
AW: "[a#4,d#5]@2 ~@2 a#4 ~@3 a#4 ~ a#4@2 g#4 ~ a#4@2", // D#5
AX: "~@2 a#4 ~ a#4@2 g#4 ~ b4@2 a#4 ~ d#5@2 [g#4,c#5] ~, ~@12 a#4 ~@3", // C#5
AY: "[a#4,d#5]@2 ~@2 a#4@2 g#4 ~ a#4 ~ a#4@2 g#4 ~ a#4@2", // D#5
AZ: "~@2 a#4 ~ a#4@2 g#4 ~ b4@2 a#4 ~ [a#4,d#5]@2 [g#4,c#5] ~", // D#5 C#5
BA: "[d#4,a#4,d#5]@3 ~ [d#4,a#4,d#5]@3 ~ [d#4,a#4,d#5] ~ [a#4,d#5] ~ [c#4,g#4,c#5] ~ [d#4,a#4,d#5,f5]@2, ~@5 d#4 ~@2", // D#5 C#5 D#sus2
BB: "~@2 [d#4,a#4,d#5] ~ [d#4,d#5]@2 [c#4,g#4,c#5] ~ [d#4,a#4,d#5] ~ [d#4,a#4,d#5] ~ [d#4,a#4,d#5] ~ [c#4,g#4,c#5] ~, ~@4 a#4 ~@11", // D#5 D# C#5 D#5 C#5
BC: "[d#4,a#4,d#5]@3 ~ [d#4,a#4,d#5] ~ [c#4,g#4,c#5] ~ [d#4,a#4,d#5] ~ [d#4,a#4,d#5] ~ [c#4,g#4,c#5] ~ [d#4,a#4,d#5]@2", // D#5 C#5 D#5 C#5 D#5
BD: "~@2 [d#4,a#4,d#5] ~ [a#4,d#5] ~ [c#4,g#4,c#5] ~ [e4,b4,e5]@2 [d#4,a#4,d#5] ~ [d#4,a#4,d#5] ~ [c#4,g#4,c#5] ~, ~@2 d#4 ~@5", // D#5 C#5 E5 D#5 C#5
BE: "[d#4,a#4,d#5]@3 ~ [a#4,d#5]@2 ~@2 [d#4,a#4,d#5] ~ [d#4,a#4,d#5] ~ a#4 ~ [d#4,a#4,d#5] ~, ~@4 d#4 ~@11", // D#5
BF: "~@2 [d#4,a#4,d#5] ~ [d#4,a#4,d#5] ~ [c#4,g#4,c#5] ~ [d#4,a#4,d#5,f5] ~ [d#4,a#4,d#5] ~ [d#4,a#4,d#5] ~ [c#4,g#4,c#5] ~", // D#5 C#5 D#sus2 D#5 C#5
BG: "[d#4,a#4,d#5]@2 ~@2 [d#4,a#4,d#5] ~@3 [d#4,a#4,d#5] ~ [d#4,a#4,d#5] ~ a#4 ~ [d#4,a#4,d#5]@2", // D#5
BH: "~@2 [d#4,a#4,d#5] ~ [d#4,a#4,d#5] ~ [c#4,g#4,c#5] ~ [e4,a#4,e5] ~ [d#4,a#4,d#5] ~ [d#4,a#4,d#5] ~ [c#4,g#4,c#5] ~", // D#5 C#5 Edim D#5 C#5
BI: "[d#4,a#4,d#5]@3 ~ [d#4,a#4,d#5,g#5]@3 ~ [d#4,a#4,d#5,g#5] ~ [d#4,a#4,d#5,g#5]@2 a#4 ~ [d#4,a#4,d#5,g#5]@2, f5 ~@15", // D#5 D#sus4
BJ: "~@2 [d#4,a#4,d#5,g#5] ~ [d#4,a#4,d#5,g#5] ~ [c#4,g#4,c#5,f#5] ~ [d#4,a#4,d#5,g#5] ~ [d#4,a#4,d#5,g#5] ~ [d#4,a#4,d#5,g#5] ~ [c#4,g#4,c#5,f#5] ~", // D#sus4 C#sus4 D#sus4 C#sus4
BK: "[d#4,a#4,d#5,g#5]@2 ~@2 [d#4,a#4,d#5,g#5] ~ a#4 ~ [d#4,a#4,d#5,g#5] ~ [d#4,a#4,d#5,g#5] ~ [d#4,a#4] ~ [d#4,a#4,d#5,g#5]@2", // D#sus4 D#5 D#sus4
BL: "~@2 [d#4,a#4,d#5,g#5] ~ [d#4,a#4,d#5,g#5,a#5] ~ [c#4,g#4,c#5,f#5] ~ [d#4,a#4,d#5,g5,g#5] ~ [d#4,a#4,d#5,g#5] ~ [d#4,a#4,d#5,g#5] ~ [c#4,g#4,c#5,f#5] ~", // D#sus4 C#sus4 D# D#sus4 C#sus4
BM: "[d#4,a#4,d#5,g#5]@3 ~ [d#4,a#4,d#5,a#5]@3 ~ [d#4,a#4,d#5,a#5] ~ [d#4,a#4,d#5,a#5]@3 ~ [d#4,a#4,d#5,a#5]@2, g5 ~@15", // D#sus4 D#5
BN: "~@2 [d#4,a#4,d#5,a#5] ~ [d#4,a#4,d#5,a#5] ~ [c#4,g#4,c#5,g#5] ~ [d#4,a#4,d#5,a#5] ~ [d#4,a#4,d#5,a#5] ~ [d#4,a#4,d#5,a#5] ~ [c#4,g#4,c#5,g#5] ~", // D#5 C#5 D#5 C#5
BO: "[d#4,a#4,d#5,a#5]@2 ~@2 [d#4,a#4,d#5,a#5] ~ [c#4,g#4,c#5,g#5] ~ [d#4,a#4,d#5,a#5] ~ [d#4,a#4,d#5,a#5] ~ [c#4,g#4,c#5,g#5] ~ [d#4,a#4,d#5,a#5]@2", // D#5 C#5 D#5 C#5 D#5
BP: "[d#4,a#4,d#5,a#5] ~@7", BQ: "~@12 a#4@2 g#4 ~", BR: "a#4 ~@7", BS: "~@12 a#4 ~ g#4 ~",
})).s("gm_clavinet").gain(0.8)
// chords · distortion guitar
const distortion_guitar_2 = note(`<
~@23 A B@2 C@2 D@2 C@2 ~@15 A B@2 C@2 D@2 C@2 E@2 F@2 G@2 H@2 I@2 H@2 E@2 H@2 J@8 K@8 E@2 F@2 G@2 H@2 I@2 H@2 E@2 H@2
~@8
>`.pickRestart({
A: "~@4 [a#2,a#3] [b2,b3] [a#2,a#3] [f#2,f#3]", // A# B A# F#
B: "[g#2@4 ~ g#2 a#2 b2@5 a#2 b2 a#2 g#2, d#3@7 ~@9, g#3@6 ~ [f#3,b3]@8 ~]/2", // B5
C: "[f#2@4 ~ f#2 g#2 [c#3,g#3]@4 ~ [a#2,a#3] [b2,b3] [a#2,a#3] [f#2,f#3], [c#3,f#3]@6 ~ c#4@5 ~@4]/2", // C#5 A# B A# F# F#5
D: "[g#2@4 ~ g#2 a#2 b2@5 a#2 b2 a#2 g#2, d#3@7 f#3@8 ~, g#3@6 ~ b3@9]/2",
E: "[g#2@9 ~ g#2@2 a#2@2 b2@10 a#2@2 b2@2 a#2@2 g#2@2, [d#3,g#3]@14 [f#3,b3]@17 ~]/2", // G#5 B5
F: "[f#2@4 ~ f#2 g#2 [c#3,g#3,c#4]@5 [a#2,a#3] [b2,b3] [a#2,a#3] [f#2,f#3], [c#3,f#3]@13 ~@19]/2", // C#5 A# B A# F# F#5
G: "[g#2@9 ~ g#2@2 a#2@2 b2@10 a#2@2 b2@2 a#2!2 g#2@2, [d#3,g#3]@7 [f#3,b3]@9]/2", // G#5 B5
H: "[f#2@9 ~ f#2@2 g#2@2 [c#3,g#3,c#4]@10 [a#2,a#3]@2 [b2,b3]@2 [a#2,a#3]@2 [f#2,f#3]@2, [c#3,f#3]@13 ~@19]/2", // C#5 A# B A# F# F#5
I: "[g#2@4 ~ g#2 a#2 b2@5 a#2 b2 a#2 g#2, [d#3,g#3]@7 [f#3,b3]@9]/2", // G#5 B5
J: "[a#3@2 a#3@2 a#3@2 g#3 ~ a#3@4 g#3 ~ a#3@4 a#3 ~ a#3 ~ g#3 ~ a#3@4 ~ g#3 a#3@4 a#3@2 a#3@2 g#3@2 a#3@4 g#3 ~ a#3@4 a#3@2 a#3@2 g#3@2 a#3@4 g#3 ~ a#3@4 a#3@2 a#3@2 g#3@2 a#3@4 g#3 ~ a#3@4 a#3@2 a#3@2 g#3@2 a#3@4 g#3 ~ a#3@4 a#3@2 a#3@2 g#3@2 a#3@4 g#3 ~ a#3@4 a#3@2 a#3 ~ g#3 ~ a#3@4 g#3 ~ a#3@2]/8",
K: "[~@2 a#3@2 a#3@2 g#3 ~ a#3@4 g#3 ~ a#3@4 a#3@2 a#3@2 g#3@2 a#3@4 g#3@2 a#3@4 a#3@2 a#3@2 g#3@2 a#3@4 g#3@2 a#3@4 a#3@2 a#3@2 g#3@2 a#3@4 ~ g#3 a#3@4 a#3@2 a#3@2 g#3@2 a#3@4 g#3 ~ a#3@4 a#3@2 a#3@2 g#3@2 a#3@4 g#3@2 a#3@4 a#3@2 a#3@2 g#3@2 a#3@4 g#3@2 a#3@4 a#3@2 a#3@2 a#3 ~ [a#2,a#3]@2 [b2,b3]@2 [a#2,a#3]@2 [f#2,f#3]@2]/8", // A# B A# F#
})).s("gm_distortion_guitar").gain(0.39).pan(1)
// drums · kick
const kick = s("bd").struct(`<
~@2 A B A B A B A B A B A B A B A B A C A B A C A B A D A B A E A B A B A B A B A B A C A B A C A B A D A B A F G B G
H I B G J G B G K G B G L A B A B A B A C A B A B A B A M G B G H I B G J G B G K G B G L A B A B A B A ~
>`.pickRestart({
A: "x ~@3 x!2 ~ x", B: "~ x ~@2 x!2 ~@2", C: "~ x ~@2 x ~@3", D: "~@2 x ~@3 x ~@3 x!2 ~@2 x ~",
E: "~@2 x ~@3 x ~@3 x!2 ~@4", F: "x ~ x ~@4 x ~@3 x ~@4", G: "x!2 ~@2 x!2 ~ x", H: "~@2 x ~@5 x ~ x!2 ~@4",
I: "x ~ x ~@6 x!2 ~@3 x ~", J: "~@2 x ~@3 x ~ x ~ x!2 ~ x ~@2", K: "~ x ~ x ~ x ~@2", L: "~@2 x ~@5 x ~ x!2 ~ x ~@2",
M: "~@2 x ~@5 x ~@4 x ~@2",
})).gain(0.8)
// drums · snare
const snare = s("sd").struct(`<
~@2 A@21 B A@3 C A@3 C A@15 B A@3 C A@3 D A E A F A G@2 H G@2 A I A@3 F A@7 E A G@6 J A E A F A G@2 H G@2 A I A@3 F
A@7 ~
>`.pickRestart({
A: "~ x ~ x", B: "~ x ~@2", C: "~@4 x ~@3 x!2 ~@2 x ~@3", D: "~@4 x ~@3 x!2 ~@2 x!4", E: "~@4 x ~@7 x ~@2 x",
F: "~@4 x ~@2 x ~ x ~@2 x ~ x!2", G: "~@4 x ~@2 x ~@4 x ~@3", H: "~@4 x ~@4 x ~@2 x ~ x!2", I: "~@4 x ~@2 x!3 ~ x!5",
J: "~@4 x ~@2 x ~@2 x ~ x ~ x!2",
})).gain(0.8)
// drums · low tom
const low_tom = s("lt").struct("<~@23 A ~@7 B ~@15 A ~@8 C ~@31 C ~@23>".pickRestart({
A: "~@11 x!2 ~ x ~", B: "~@7 x", C: "~@3 x",
})).gain(0.8)
// drums · hihat
const hihat = s("hh").struct(`<
~@2 A@5 B C A@14 ~@9 C A@6 B C A@6 ~@25 D@8 E D E D E D E F ~@16 A@3 B C A@2 ~
>`.pickRestart({
A: "x!4", B: "x!3 ~", C: "~ x!3", D: "x!8", E: "~ x!6 ~", F: "x!5 ~@3",
})).gain(0.8)
// drums · open hat
const open_hat = s("oh").struct("<~@23 A ~@15 B ~@7 A ~@32 C ~ C ~ C ~ C ~@25>".pickRestart({
A: "x!2 ~@2 x ~@3", B: "~@3 x", C: "x ~@6 x",
})).gain(0.8)
// drums · ride
const ride = s("rd").struct(`<
~@24 A B C B A B C D ~@16 A B C B A B C ~ C E F G H B C I H B H J C K C L ~@16 C E F G H B C I H B H J C K C L ~@8
>`.pickRestart({
A: "~ x!6 ~", B: "x!8", C: "~ x!4 ~ x ~", D: "x!4 ~@4", E: "~@2 x!6", F: "x ~ x!5 ~", G: "~ x!4 ~@3",
H: "~@2 x!3 ~ x ~", I: "~ x!3 ~@4", J: "x!5 ~@3", K: "~ x!7", L: "~ x ~@6",
})).gain(0.64)
// drums · ride · soft notes
const ride_soft = s("rd").struct(`<
~@57 A B ~ B ~@2 C B ~ B ~@2 C ~ C ~@17 A B ~ B ~@2 C B ~ B ~@2 C ~ C ~@8
>`.pickRestart({
A: "x!2 ~@6", B: "~ x ~@6", C: "x",
})).gain(0.32)
// drums · china
// … 10 more lines
More by Local H
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.