0:00/0:00
// #40 — Dave Matthews Band
// 92 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 2/4 at bar 3, 4/4 at bar 4, 2/4 at bar 6, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 96 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(92/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 · "Track01"
const acoustic_guitar_steel = note(`<
A@5 B@5 C@4 D E@4 F G@4 H I@4 H J@6 K@6 L M@5 N@4 O P@8 Q R S T@5 U V W@3 X@7 Y@6 Z@3 AA@6
>`.pickRestart({
A: "[~@12 c4@31 ~@3 c4@33 ~@5 [g3,c4]@2 [g3,c4]@2 ~@4 [g3,c4]@2 ~@8 g3 ~ g3@4 [g3,c4]@7 ~ c4@2 c4@2 [g3,c4]@5 [g3,c4] g3@2 ~@6 g3@2 g3@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 [g3,c4]@2, ~@8 f2@35 g2@36 ~@17 f2@31 ~ g2@32, ~@9 c3@35 d3@35 ~ c3@8 b2@13 ~@59, ~@10 g3@35 g3@34 ~@15 [g3,c4]@7 ~ c4@6 ~@8 g3@4 ~@6 c4@8 c4@6 ~@20]/5", // C5
B: "[~@4 [g3,c4]@2 [g3,c4]@2 ~@4 [g3,c4]@2 [g3,c4]@2 ~@6 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 [g3,c4]@2 ~@6 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 [g3,c4]@2 ~@4 [g3,c4]@2 [g3,c4]@2 ~@4 [g3,c4]@2 ~@9 g3 ~ g3@4 [g3,c4]@7 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 ~@8 c4@2 c4@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 [g3,c4]@2, c3@8 b2@8 f2@31 ~ g2@31 ~ c3@8 b2@6 [g3,c4]@8 ~ c4@6 ~@17 [g3,c4]@8 g3@6 ~@20, ~@96 f2@31 ~ g2@31 ~]/5", // C5
C: "[~@4 [g3,c4] ~@7 [g3,c4] ~ [g3,c4]@2 ~@6 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 g3@2 ~@6 [g3,c4]@6 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 ~@6 [g3,c4]@2 ~@6 [g3,c4] ~@9 [g3,c4] ~ [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 [g3,c4]@2, c3@13 ~@67 c3@9 ~@7 f2@31 ~, ~@3 [g3,c4]@3 ~@17 c4@4 ~@12 [g3,c4]@2 ~@2 [g3,c4]@3 ~ [g3,c4]@4 ~@13, ~@8 b2@8 f2@31 ~ g2@31 ~@9 b2@14 ~@26]/4", // C5
D: "~@6 [g3,c4]@2 [g3,c4]@4 [g3,c4]@7 ~ [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 [g3,c4]@2, g2@31 ~", // C5
E: "[~@4 [g3,c4]@2 [g3,c4]@2 ~@4 [g3,c4] ~ [g3,c4]@2 ~@6 [g3,c4]@2 [g3,c4]@4 [g3,c4]@7 ~ [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 [g3,c4]@2 ~@6 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 [g3,c4]@2 ~@4 [g3,c4]@2 [g3,c4]@2 ~@4 [g3,c4] ~ g3@2 ~@6 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 [g3,c4]@2, c3@8 b2@8 f2@31 ~ g2@31 ~ c3@8 b2@39 ~, ~@47 c4@4 ~@13, ~@96 f2@31 ~]/4", // C5
F: "~@6 [g3,c4]@2 [g3,c4]@4 [g3,c4]@7 ~ g3@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 [g3,c4]@2, g2@31 ~, ~@19 c4@2 ~@11", // C5
G: "[~@12 [g3,c4] ~ [g3,c4]@2 ~@6 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 [g3,c4]@2 ~@4 [g3,c4] ~ [g3,c4]@2 ~@4 [g3,c4]@2 ~@8 [g3,c4]@6 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 [g3,c4]@2, c3@7 b2@8 ~ f2@31 ~ g2@32 c3@8 b2@9 ~@31, ~@2 [g3,c4] c4@3 ~@42 f2@16, ~@5 g3@6 ~@35 [g3,c4]@8 ~@40 [g3,c4]@7 ~@27]/4", // C5
H: "~@3 [g3,c4] [g3,c4]@2 [g3,c4]@4 [g3,c4]!2 [g3,c4]@2 [g3,c4]!2, g2", // C5
I: "[~@4 [g3,c4]@2 g3@2 ~@4 [g3,c4] ~ g3@2 ~@6 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@4 ~@6 [g3,c4] ~ [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 [g3,c4]@2 ~@4 [g3,c4]@2 g3@2 ~@4 [g3,c4] ~@9 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 g3@2 [g3,c4]@2, c3@3 c4@3 ~ c4@4 ~@32 c4@3 ~ [g3,c4]@2 ~@15, ~@8 b2@8 f2@30 ~@2 g2@32 c3@7 ~ b2@8 f2@32]/4", // C5
J: "[~@4 [g3,c4]@2 ~@6 [g3,c4]@2 [g3,c4] ~@7 [d3,a3]@2 d3@3 ~ [d3,d4]@11 ~ d3@8 ~@6 [d3,g3,b3] ~ [d3,g3,b3,d4]@3 ~ [d3,g3,b3,d4]@11 ~ [d3,g3,b3,d4]@5 ~@3 [d3,a3,d4,f#4]@31 ~ f#2@6 ~@2 [g3,d4,g4]@12 ~@8 d3@4 [d3,g3,d4,g4]@8 [a3,c#4,e4]@12 [a3,c#4,e4]@12 [a2,e3,a3,c#4,e4]@8 [b2,f#3,b3,d4,f#4]@8, c3@14 ~@10 a3@15 ~ [a3,d4]@16 ~@64 d3@20 ~@52, ~@3 [g3,c4]@3 ~@5 d4@3 ~@52 [g3,d4,g4]@6 ~@24, ~@8 b2@8 f#2@31 ~ g2@30 ~@42 [g2,b2]@32 [a2,e3]@24 ~@16]/6", // C5 D5 D G D G5 A Bm …
K: "[~@2 [g#2,e3,g#3,b3,e4]@18 [d3,a3,d4,f#4]@16 f#2@4 [g3,d4,g4]@6 [g3,d4,g4]@3 ~@3 [g3,d4,g4]@4 [e3,a3]@3 ~@3 [a3,c#4,e4]@6 [e3,a3,c#4,e4]@3 ~ [b2,f#3,b3,d4,f#4]@6 [g#2,e3,g#3,b3,e4]@18, ~@40 [g2,b2]@16 a2@15 ~@25, ~@40 d3@9 [g3,d4,g4]@3 ~@4 [c#4,e4]@6 ~@34, ~@50 d3@6 ~@3 a3@3 ~@34, ~@15 e3@2 ~@7]/6", // E D G5 A5 A Bm E G …
L: "[b2,b3]@6 [c3,c4]@9 b2", // B C
M: "[~@4 [g3,c4] ~@7 [g3,c4] ~ g3@2 ~@6 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 [g3,c4]@2 ~@4 [g3,c4]@2 [g3,c4]@2 b2@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 [g3,c4]@2, c3@6 [g3,c4]@5 ~@3 c4@4 ~@28 [g3,c4]@8 ~@40 [g3,c4]@8 ~@24 [g3,c4]@8 ~@26, ~@4 b2@4 f2@32 ~@8 f2@31 ~, ~@24 g2@16 c3@4 ~@20 g2@15 ~]/5", // C5
N: "[~@2 [g3,c4] ~ b2@2 [g3,c4] ~@4 [g3,c4] [g3,c4]@2 [g3,c4]@4 [g3,c4]!2 [g3,c4]@2 [g3,c4] ~@4 [g3,c4] [g3,c4]@2 [g3,c4]@4 [g3,c4]!2 [g3,c4]@2 [g3,c4] ~@3 [g3,c4] ~ b2@2 [g3,c4] ~@4 [g3,c4] [g3,c4]@2 [g3,c4]@4 [g3,c4]!2 [g3,c4]@2 [g3,c4]!2, c3@3 [g3,c4]@3 ~ [g3,c4]@4 ~@12 [g3,c4]@4 ~@12 [g3,c4]@3 ~ [g3,c4]@3 ~ [g3,c4]@4 ~@13, ~@16 f2@64 c3@7 ~@41, ~@24 g2@19 ~@5 f2@16]/4", // C5
O: "~ [g3,c4]@2 [g3,c4] [g3,c4]@3 [g3,c4]@2 [g3,c4]!3 [g3,c4]@2 [g3,c4]!2, g2@15 ~", // C5
P: "[~@4 [g3,c4]@2 ~@2 b2@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@6 [g3,c4]@2 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 ~@6 [g3,c4]@2 ~@2 b2@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 ~@6 [g3,c4]@2 ~@2 b2@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@6 [g3,c4]@2 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 ~@4 [g3,c4]@4 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 [g3,c4]@2 ~@4 [g3,c4]@2 ~@6 [g3,c4]@2 [g3,c4] ~, c3@14 ~@2 f2@62 ~@18 f2@32 g2@38 ~@10 f2@31 ~ g2@32 ~@16, ~@3 [g3,c4]@3 ~ [g3,c4]@4 ~@12 [g3,c4]@4 ~@12 [g3,c4]@3 ~ [g3,c4]@3 ~ [g3,c4]@4 ~@12 [g3,c4]@4 ~@12 [g3,c4]@3 ~ [g3,c4]@3 ~ [g3,c4]@4 ~@12 [g3,c4]@2 ~@18 [g3,c4]@3 ~@2, ~@48 g2@31 ~ c3@8 ~@72 c3@14 ~@66 c3@8 b2@8]/8", // C5
Q: "~@3 [d3,a3,d4]@3 a3@4 a3 [d3,a3] [a3,d4]@2 [a3,d4]!2, f#2, ~@3 [d3,d4]@3 d3@2", // D5 D
R: "~@3 [g3,d4] [g3,d4]@2 [g3,b3,d4]@4 [g3,b3,d4]!2 [g3,b3,d4]@4, [g2,d3], ~@3 b3@3 ~@10", S: "[d3,a3,d4,f#4]",
T: "[[f#2,a3]@7 ~ [d3,g3]@6 ~@6 [g3,d4]@6 ~@6 [g3,d4,g4]@8 [a2,e3,a3,c#4,e4]@6 ~@22 e3@4 [b2,f#3,b3,d4,f#4]@12 [g#2,e3,g#3,b3,e4]@36 [d3,a3,d4]@32 [f#2,a3]@7 ~, ~ [g2,b2]@4 ~ a2@3 ~@11, ~@8 [d4,g4]@12 g4@12 ~@88 f#4@39 ~, ~@7 g3@3 ~@3 [g3,d4]@3 ~@7 [a3,c#4,e4]@3 [a3,c#4,e4]@6 [a3,c#4,e4]@4 ~@44, ~@4 d3@3 d3@3 ~@2 e3@3 e3@2 ~@23]/5", // F#m G5 A Bm E D5 F#m G …
U: "[d3,g3]@3 ~@3 [g3,d4,g4]@3 ~@3 [g3,d4,g4]@4, g2, b2@11 b2@5, [d4,g4]@2 d3@3 d3@3, ~@3 g3@3 ~@3 [g3,d4,g4]@3 ~@4", // G5
V: "[e3,a3,c#4,e4]@3 ~@7 e3 ~ [a3,c#4,e4]@4, a2, ~@3 [a3,c#4,e4]@3 [a3,c#4,e4]@6 ~@4, ~@4 e3@6 ~ e3@5", // A
W: "[[b2,f#3,b3,d4,f#4]@12 [g#2,e3,g#3,e4]@36 [b2,b3]@12 [c3,c4]@18 b2@2 ~@4 [g3,c4] ~@7 [g3,c4] ~ [g3,c4]@2, ~@80 c3@6 [g3,c4]@5 ~@5, ~@11 b2]/3", // Bm C#m B C C5
X: "[~@6 [g3,c4] ~ [g3,c4]@3 ~ [g3,c4]@6 c4 ~ [g3,c4] ~ [g3,c4] ~ [g3,c4]@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@7 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 ~@6 [g3,c4]@2 ~@2 b2@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 c4@2 c4@2 [g3,c4]@3 [g3,c4]@2 g3@2 c3@4 [g3,c4]@2 ~@2 b2@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@6 [g3,c4]@2 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 ~@2 c3@2, f2@30 [g3,c4]@8 ~@23 [g3,c4]@6 ~@2 [g3,c4]@6 ~@2 [g3,c4]@8 ~@24 [g3,c4]@8 ~@14 g3@4 ~@5 c4@6 ~@2 [g3,c4]@6 ~@2 [g3,c4]@8 ~@24 [g3,c4]@8 ~@24 [g3,c4]@4, ~@32 g2@30 ~ c3@7 ~@9 f2@30 ~@2 g2@30 ~@17 f2@61 ~@5, ~@95 g2@15 ~@2]/7", // C5
Y: "[~@2 [g3,c4]@2 ~ b2@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@6 [g3,c4]@2 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 ~@2 c3@4 [g3,c4]@2 ~@2 b2@4 [g3,c4]@2 ~@7 [g3,c4]@2 [g3,c4]@4 [g3,c4]@6 c4@2 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@6 [g3,c4]@2 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@4 [b2,c3]@12 c3@20 c3@3 [g3,c4], ~@4 [g3,c4]@5 ~@2 [g3,c4]@8 ~@24 [g3,c4]@8 ~@24 [g3,c4]@6 ~@2 [g3,c4]@6 ~@2 [g3,c4]@7 ~@24 [g3,c4]@8 ~@62, ~@13 f2@64 ~@16 f2@30 ~@69, ~@45 g2@38 ~@41 g2@32 ~@36]/6", // C5 Cmaj7 C5
Z: "[~@3 b2@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@8 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@6 [g3,c4]@2 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 [g3,c4]@2 [b2,c3]@12 c3@9, ~ [g3,c4]@6 ~@2 [g3,c4]@8 ~@24 [g3,c4]@8 ~@47, ~@11 f2@30 ~@2 g2@32 ~@21]/3", // C5 Cmaj7 C5
AA: "[~@14 [g3,c4]@2 [g3,c4]@2 b2@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@6 [g3,c4]@2 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4 [g3,c4]@2 ~@8 [g3,c4]@2 [g3,c4]@4 [g3,c4]@6 [g3,c4]@2 [g3,c4]@2 [g3,c4]@2 [g3,c4]@3 [g3,c4]@2 [g3,c4] ~ [b2,g3,c4]@12 [c3,g3,c4]@86 ~@5, ~@5 c3@4 ~@3 [g3,c4]@4 ~@12 [g3,c4]@4 ~@64, ~@13 f2@15 ~ g2@15 ~@52]/6", // C5 Cmaj7 C5
})).s("gm_acoustic_guitar_steel").gain(0.25).pan(0.6)
// bass · electric bass finger · "Track03"
const bass = note(`<
~@33 A@8 B ~ C@3 D E F@3 G H I@3 J K L@3 M N O P Q@4 R S T@2 U V W@5 X@4 Y Z@6 AA AB AC@3
>`.pickRestart({
A: "[~@16 f#1@7 ~ g1@32 a1@32 b1@12 g#1@10 e1@26 d2@31 ~ f#1@8 g1@31 ~ a1@32 b1@12 g#1@4]/8", B: "~@2 e2@13 ~",
C: "[c2@8 b1@7 ~ f1@4 ~@2 f1@2 ~@4 f1@15 ~ f1@4 g1@4 ~@2 g1@3 ~@3 g1@15 ~ g1@4 c2@7 ~ b1@7 ~]/3",
D: "f1@5 ~ f1@2 ~@4 f1@15 ~ f1@3 ~", E: "g1@4 ~@2 g1@3 ~@3 g1@7 ~ g1@4 ~@2 g1@5 ~",
F: "[c2@7 ~ b1@7 ~ f1@5 ~ f1@3 ~@3 f1@11 ~ f1@7 ~ g1@5 ~ g1@3 ~@3 g1@14 ~@2 g1@4 c2@7 ~ b1@7 ~]/3",
G: "f1@5 ~ f1@2 ~@4 f1@8 f1@6 ~@2 f1@3 ~", H: "g1@4 ~@2 g1@3 ~@3 g1@12 ~@4 g1@4",
I: "[c2@7 ~ b1@7 ~ f1@5 ~ f1@3 ~@3 f1@15 ~ f1 ~ f1@2 g1@5 ~ g1@2 ~@4 g1@7 ~ g1@4 ~@2 g1@6 c2@7 ~ b1@7 ~]/3",
J: "f1@5 ~ f1@2 ~@4 f1@15 ~ f1@4", K: "g1@4 ~@2 g1@3 ~@3 g1@7 ~ g1 ~ g1@5 ~ g1@3 ~",
L: "[c2@6 ~@2 b1@7 ~ f1@5 ~ f1@3 ~@3 f1@10 ~@2 f1@5 ~@3 g1@5 ~ g1@4 ~@2 g1@10 ~@2 g1@6 ~@2 c2@7 ~ c2@8]/3",
M: "f#1@9 ~@3 f#1@11 ~ f#1@5 ~@3", N: "g1@11 ~ d2@12 g1@7 ~", O: "d2@31 ~", P: "f#1@3 ~@11 d2@2, ~ g1@3",
Q: "[g2@8 ~@6 e2@6 a2@8 e2@12 b1@8 f#2@4 ~@8 e2@22 ~@6 d2@31 ~ f#1@6 ~@2, ~@2 a1@3 ~@8 g#1@8 ~@11]/4",
R: "g1@11 ~ g1@3 ~", S: "~@6 e2@6 a2@7 ~ e2@4 a1@4 e2@4, a1@21 ~@11", T: "[b1@6 f#2@5 ~ g#1@35 ~@17]/2",
U: "~@8 c2@3 ~ b1@4", V: "f1@4 ~@2 f1@2 ~@4 f1@11 ~ f1@6 ~@2",
W: "[g1@4 ~@2 g1@2 ~@4 g1@19 c2@6 ~@2 b1@6 ~@2 f1@5 ~ f1@2 ~@4 f1@20 g1@5 ~ g1@2 ~@4 g1@19 c2@6 ~@2 b1@6 ~@2 f1@5 ~ f1@2 ~@4 f1@20 g1@2]/5",
X: "[~@4 g1@3 ~@3 g1@19 ~ c2@6 ~ b1@6 ~@2 f1@5 ~ f1@3 ~@3 f1@16 d2@4 g1@5 ~ g1@2 ~@4 g1@11 ~ g1@6 ~@2 c2@7 ~ b1@7 ~ f1@3]/4",
Y: "~@2 f1@2 ~@4 f1@19 ~ g1@4",
Z: "[~@2 g1@2 ~@4 g1@11 ~ g1@7 ~ c2@30 ~@2 c2@7 b1@7 ~ f1@5 ~ f1@3 ~@3 f1@12 f1@6 ~@2 g1@5 ~ g1@3 ~@3 g1@7 ~ g1@5 ~ g1@5 ~ c2@30 ~ c2@6 ~@2 b1@7 ~ f1@6]/6",
AA: "f1@3 ~@3 f1@14 ~@2 f1@3 ~ g1@4 ~@2", AB: "g1@3 ~@3 g1@8 g1@3 ~ g1@6 ~ c2@7", AC: "[~@5 c2@82 ~@9]/3",
})).s("gm_electric_bass_finger").gain(0.45)
// drums · kick
const kick = s("bd").struct(`<
~@30 A@3 B C@2 D E F A G ~@2 H I@2 J K L I@2 J@2 M N O P Q L I R J S@2 T U V C@2 W@2 X ~ B J Y Z AA AB AC AD AE AF AG
AH AI AJ AK AL AM AN AO AP AQ ~@2
>`.pickRestart({
A: "~ x", B: "~@2 x!2", C: "~@3 x", D: "~ x ~@6", E: "~ x ~@2", F: "~ x!2 ~", G: "~@2 x!2 ~@4 x ~@5 x ~",
H: "~@8 x ~@2 x ~@2 x ~", I: "~ x!2 ~@5 x ~@2 x ~@2 x ~", J: "x ~@2 x ~@2 x ~@2 x!2 ~@5",
K: "x ~@2 x ~@2 x ~@2 x!3 ~@4", L: "x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~", M: "x ~@2 x ~@2 x ~ x ~@5 x ~",
N: "~ x ~@6 x ~@2 x ~@2 x ~", O: "~@2 x ~@5 x ~@2 x ~@2 x ~", P: "x ~@2 x ~@2 x ~@2 x ~@6",
Q: "x ~@2 x ~@2 x ~@3 x ~@5", R: "~ x ~@2 x ~@3 x ~@2 x ~@4", S: "x", T: "x ~ x ~@4 x", U: "~@4 x ~@9 x!2",
V: "~@2 x ~@2 x ~@2", W: "x ~@9 x!2 ~@4", X: "x ~@2 x ~@4", Y: "x ~@5 x ~@5 x ~@4 x ~ x ~@11 x",
Z: "~@5 x ~@5 x ~@3 x ~@5 x ~@5 x ~@4", AA: "~@3 x ~@11 x ~@5 x ~@5 x ~@4", AB: "~@3 x ~ x ~@8 x ~@5 x ~@9 x ~",
AC: "~@2 x ~@2 x ~@3 x!2 ~@4 x", AD: "~@2 x ~@2 x ~@3 x ~@5 x", AE: "~@2 x ~@10 x ~@5 x ~@5 x ~@6",
AF: "~ x ~@11 x ~@5 x ~@5 x ~@6", AG: "~ x ~ x ~@9 x ~@5 x ~@9 x ~@2", AH: "~ x ~@2 x ~@3 x ~@5 x ~",
AI: "~ x ~@2 x ~@2 x!2 ~@5 x ~", AJ: "~@2 x ~@4 x", AK: "~@3 x ~@7 x ~@5 x ~@5 x ~@7 x",
AL: "~@11 x ~@5 x ~@5 x ~@5 x ~ x", AM: "~ x ~@9 x ~@11 x ~@8", AN: "~@5 x ~@3 x ~@3 x ~@2",
AO: "x ~@2 x ~@2 x!3 ~@4 x ~@2", AP: "x ~@5 x ~@5 x ~ x ~@10 x ~@6", AQ: "~ x ~@3 x ~@26",
})).gain(0.5)
// drums · snare
const snare = s("sd").struct(`<
~@40 A ~@2 B C@3 D C E@2 C D C@3 D@2 C E F G H I ~@2 J ~@3 K ~@3 A@2 L M N O P Q R S T U ~ V W X ~ Y Z ~@3
>`.pickRestart({
A: "~ x ~@2", B: "~@3 x", C: "~ x ~ x", D: "~@4 x ~@7 x ~@2 x", E: "~@4 x ~@2 x ~@4 x ~@3", F: "~@6 x!2 ~@4 x ~@3",
G: "~@4 x ~@7 x ~ x!2", H: "~@4 x ~@2 x ~@8", I: "x", J: "x ~ x!2 ~@12", K: "~@12 x ~ x!2", L: "~@7 x ~@15 x ~@8",
M: "~@23 x ~@8", N: "~@6 x ~@4 x ~@2 x ~", O: "~@3 x ~@7 x ~@4", P: "~@3 x ~@12", Q: "~@5 x ~@5 x ~@9 x ~@10",
R: "~@11 x ~@9 x ~@10", S: "~@5 x ~@5 x ~@9 x ~@3 x ~ x ~@4", T: "~ x ~@6", U: "~@2 x ~@7 x ~ x!2 ~@2",
V: "~@19 x ~@12", W: "~@3 x ~@5 x ~@9 x ~@12", X: "~@3 x ~@3 x ~ x ~@22", Y: "~ x ~@7 x ~@2 x ~@3",
Z: "~@2 x ~@15 x ~@10 x ~@2",
})).gain(0.5)
// drums · low tom
const low_tom = s("lt").struct("<~@37 A B ~@23 A ~@2 B ~@3 C ~@4 C D ~ E F G H ~ I ~ J ~@2 K ~@8>".pickRestart({
A: "~@14 x!2", B: "x", C: "~@3 x", D: "~@23 x ~@8", E: "~@7 x ~@5 x ~@18", F: "~@7 x ~@24", G: "~@7 x",
H: "~@11 x ~ x ~@2", I: "~@5 x ~@26", J: "~@5 x ~@2", K: "~@7 x ~ x ~@22",
})).gain(0.5)
// drums · hihat
const hihat = s("hh").struct("<~@43 A B@2 C B D B@2 C B E F G H I J H K L M ~@33>".pickRestart({
A: "~@3 x", B: "x!4", C: "~ x!3", D: "x!2 ~ x", E: "x ~ x ~@2 x ~ x", F: "x ~ x ~ x ~ x!3 ~ x ~ x ~ x ~",
G: "x!2 ~ x!2 ~ x ~ x ~ x ~ x ~@3", H: "x!8", I: "x ~ x ~ x ~ x ~ x!3 ~ x ~ x ~", J: "x!4 ~ x!3", K: "x!7 ~",
L: "~ x!4 ~ x!2", M: "~ x!3 ~@4",
})).gain(0.45)
// drums · mid tom
const mid_tom = s("mt").struct("<~@33 A ~ B ~@7 C ~@16 D ~ E F ~@4 G ~@4 H ~@12 I J ~ K L ~ I M ~@2>".pickRestart({
A: "~@3 x!2 ~@11", B: "~ x", C: "~@2 x!3 ~ x!2 ~@8", D: "~@14 x!2", E: "~@9 x ~ x!2 ~ x ~", F: "~@11 x!2 ~ x!2",
G: "~@8 x!3 ~@5", H: "~@10 x!2 ~@2 x!2", I: "~@31 x", J: "~ x ~@30", K: "~@18 x!2 ~@12", L: "~@11 x!2 ~@3", M: "x",
})).gain(0.45)
// drums · open hat
const open_hat = s("oh").struct("<~@43 A B@9 C ~ D E ~ F ~@2 G ~@34>".pickRestart({
A: "~@5 x ~ x", B: "~ x ~ x ~ x ~ x", C: "~ x ~ x ~@2 x ~", D: "~@7 x ~@6 x ~", E: "~@9 x ~@6", F: "~ x",
G: "~@2 x ~@2 x ~@2",
})).gain(0.45)
// drums · high tom
const high_tom = s("ht").struct("<~@39 A ~@2 B C ~@18 D ~@5 E ~@4 E ~@12 F ~@2 G H ~@5>".pickRestart({
A: "~ x ~@2", B: "~@14 x!2", C: "x", D: "~ x", E: "~@6 x!2 ~@8", F: "~@12 x!2 ~@2", G: "~@16 x!2 ~@14",
H: "~@3 x!2 ~@2 x!2 ~@7",
})).gain(0.45)
// drums · crash
const crash = s("cr").struct(`<
~@38 A ~ B ~@2 A ~@2 C ~ A ~@2 C ~@9 C@3 D ~ E F@2 C ~ G ~ H C ~ I ~ J ~ J K ~ L ~ M N O ~ P Q ~ R S ~@2
>`.pickRestart({
A: "~ x", B: "~@4 x ~@2 x", C: "x", D: "x!2 ~@2", E: "~@2 x ~@2 x ~@2", F: "~@3 x", G: "x ~@2 x ~@4", H: "~@2 x!2",
I: "~@15 x ~@16", J: "~@15 x", K: "~@13 x ~@18", L: "~@29 x ~@2", M: "~@7 x", N: "~@2 x ~@4 x", O: "~@3 x ~@7 x ~@20",
P: "~@11 x ~@11 x ~@8", Q: "~@9 x ~@3 x ~@2", R: "~@25 x ~@6", S: "~@5 x ~@26",
})).gain(0.5)
// drums · crash · soft notes
const crash_soft = s("cr").struct("<~@33 [~@2 x!2] ~ [~@3 x] [~ x ~@6] [~ x ~@2]!2 ~@57>").gain(0.3)
// drums · ride
const ride = s("rd").struct(`<
~@30 A ~@3 B C ~@2 D E F ~@23 G H I J ~ K L ~ M N O P Q R S T U V W X Y Z ~ AA AB AC AD AE AF ~@3
>`.pickRestart({
A: "~ x", B: "~@3 x", C: "~ x ~@2 x ~@3", D: "~@7 x", E: "~@2 x ~ x ~@2 x", F: "~ x!2 ~@5", G: "~@7 x!2 ~ x ~@3 x ~",
H: "x ~ x ~ x!2 ~ x", I: "x!2 ~@6", J: "~@2 x!2 ~ x ~@2", K: "~@3 x!2 ~ x ~@3 x ~ x ~ x ~",
L: "x ~@2 x!2 ~ x ~@3 x ~ x ~ x ~", M: "~@4 x ~@2 x", N: "~ x ~@2", O: "~ x!7",
P: "x ~@3 x ~@3 x ~@3 x ~@2 x ~@3 x ~@3 x ~ x ~ x ~@3 x", Q: "~@3 x ~@3 x ~@3 x ~@7 x ~@3 x ~@3 x ~@3 x",
R: "~@3 x ~ x ~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x", S: "~@3 x ~@3 x ~@2 x ~@3 x ~@3 x ~@3 x ~@3 x ~@5",
T: "~ x ~ x ~ x ~ x ~ x ~ x!3 ~ x", U: "~ x ~ x ~ x ~ x!3 ~ x ~ x ~@2",
V: "x ~@4 x ~@3 x ~@7 x ~@3 x ~@3 x ~@3 x ~@2", W: "~ x ~ x ~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2",
X: "~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@6", Y: "~ x ~@2 x ~@3 x ~@3 x ~ x ~ x ~@3 x ~@3 x ~@3 x ~@3",
Z: "x!7 ~", AA: "~@15 x ~@3 x ~@3 x ~@3 x ~ x ~ x", AB: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x",
AC: "~@3 x ~@3 x ~@24", AD: "~@5 x ~@9 x", AE: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x",
AF: "~@2 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2 x ~@10",
})).gain(0.45)
// drums · ride · soft notes
const ride_soft = s("rd").struct("<~@30 A B C ~ D E ~@2 F G ~ H I ~@22 J ~@3 K ~@2 L M ~@22>".pickRestart({
A: "~@11 x ~@4", B: "~@2 x ~ x ~ x!3 ~@2 x!2 ~ x ~", C: "~ x ~@4 x!3 ~@7", D: "~@2 x ~@2 x ~@2 x ~@7",
E: "x ~@4 x!3 ~@8", F: "~@11 x!2 ~@3", G: "~@2 x!2 ~@2 x!2 ~@3 x!2 ~@3", H: "~@12 x ~ x!2", I: "x!4 ~@4",
J: "~@6 x!2 ~@8", K: "~@15 x", L: "x ~@2 x!2 ~ x ~@4 x ~@4", M: "~ x ~@6",
})).gain(0.25)
stack(
acoustic_guitar_steel, bass, kick, snare, low_tom, hihat, mid_tom, open_hat, high_tom, crash, crash_soft, ride,
ride_soft
)
More by Dave Matthews Band
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.