0:00/0:00
// Fire Lake — Bob Seger
// 123 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 110 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(123/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 · piano
const piano = note("<~@8 A@2 ~@10 B C ~@23 D@7 E@5 ~@44 F@5 G@4>".pickRestart({
A: "[~@5 e4@3 g4 ~@4 b4 ~@2 e5@5 d5@2 a#4 b4 ~@4 a4@5 ~@30, ~@5 d#4 ~@10 d5@2 ~@46]/2",
B: "~@8 e4@5 d4@3 e4@6 ~@2 [f#3,a3,d4]@5 ~@3, ~@4 [g3,b3]@7 ~@5", C: "[d3,g3,b3]@25 ~@7",
D: "[[g4,c5,e5]@26 ~@5 [f#4,b4,d5]@29 ~@3 b4@8 g4@4 e4@12 b3@8 g3@8 e3@4 b2@20 [d4,f#4,b4]@22 ~@2 [d4,f#4,b4]@7 ~ [d4,f#4,a4]@14 ~@2 [d4,f#4,b4]@14 ~@2 [e4,a4]@20 ~@4 e4@4 a4@5, ~@191 c4@17 ~@3 c4@8 ~@5]/7", // C Bm D Bm A5
E: "[~@7 b4@4 c5@12 d5@6 ~@2 e5@8 ~@16 e5@6 ~@2 [g4,b4,e5]@8 ~@16 e5@5 ~@3 d5@8 ~@16 d5@7 ~ [g4,b4,d5]@16 ~@6 g2@2 f#2 ~@5 e2@3, ~@39 g4@22 ~@10 g4@22 ~@10 g4@23 ~@34, ~@43 c5@18 ~@14 b4@17 ~@15 b4@19 ~@34]/5", // Em G
F: "[~@39 g5@5 ~@3 c5@5 ~@3 e4@5 c4@3 ~@8 e3@5 ~@3 c4@5 ~@3 e4@5 g4@3 ~@8 a5@5 ~@3 c5@5 ~@3 e4@5 c4@3 ~@8 c3@5 ~@3 a3@5 ~@3 c4@5 e4@3 g5, ~@31 e6@8 ~@29 d3@5 ~@3 g3@5 ~@3 d4@6 ~@5 e6@8 ~@29 b2@5 ~@3 e3@5 ~@3 b3@6 ~@6, ~@36 c6@5 ~@3 e5@5 ~@3 g4@6 ~@5 c3@8 ~@29 c6@5 ~@3 e5@5 ~@3 a4@6 ~@5 a2@8 ~@25]/5",
G: "[~@7 b4@5 ~@3 d4@5 ~@3 g3@5 d3@3 [b3,d4,g4]@95 ~@2, ~@4 d5@5 ~@3 g4@5 ~@3 b3@6 ~@102]/4", // G
})).s("gm_piano").gain(0.7).pan(0.4)
// chords · piano · "Honky"
const piano_2 = note(`<
~ A@2 B@2 A@2 C@2 A@2 C@2 A@2 D@4 C@2 A@2 E@2 A@2 C@2 A@2 C@2 A@2 C@2 A@2 C@2 F@2 G@2 ~@11 H I@3 J K@3 L@8 M@8 N@16
O@8 P@5 ~
>`.pickRestart({
A: "[~@13 g3@2 ~@30 d3@2 ~ a3@6 ~@2 [d3,a3,d4,f#4]@8, g3@11 ~@5 d3@12 ~@4 d3@11 ~@21, ~@8 [b3,d4,g4]@10 ~@6 [b3,d4,g4]@11 ~@5 [a3,d4,f#4]@10 ~@14]/2", // D G D
B: "[~@8 b5@3 ~@2 [e3,a5]@3 ~@21 [e5,a5]@3 [b3,e4]@5 a5@2 ~ [e3,g3,b3,e4,b5]@6 ~@2 [a3,d4,f#4,d5,f#5,a5]@7 ~, e3@8 [b3,e4]@8 b5@19 ~@5 b5@2 ~@3 e5@9 ~@10, ~@5 [e5,a5]@5 ~@3 e5@5 ~@6 [g3,b3,e4]@11 ~@21 f#3@4 ~@4, ~@8 b2@7 ~ e3@6 ~@10]/2", // A5 E5 Em D E5 A5 Em
C: "[e3@8 ~@5 e3@2 ~@25 [b3,e4]@5 ~@3 [e3,g3,b3,e4]@5 ~@3 [a3,d4,f#4]@7 ~, ~@4 [b3,e4]@4 b2@7 ~ e3@6 ~@10, ~@24 [g3,b3,e4]@11 ~@21 f#3@4 ~@4]/2", // E5 Em D E5 Em
D: "[~@5 a5@3 b5@2 ~@3 [e3,a5]@3 ~@8 a5@2 ~@11 a5@3 [b3,e4]@5 a5@2 ~ [e3,g3,b3,e4]@5 ~@3 [a3,d4,f#4]@7 ~@14 g3@2 ~@30 d3@2 ~ a3@6 ~@2 [d3,a3,d4,f#4]@8, [e3,e5,g5]@4 [b3,e4]@4 b2@7 ~ [e5,g5]@31 ~@17, ~@24 [g3,b3,e4]@11 ~@5 b5 ~@7 b5 ~@23 [b3,d4,g4]@10 ~@6 [b3,d4,g4]@11 ~@5 [a3,d4,f#4]@10 ~@14, ~@32 e3@12 ~@12 f#3@4 ~@4 g3@11 ~@5 d3@12 ~@4 d3@11 ~@21]/4", // A5 E5 Em D Em E5 Em G …
E: "[e3@8 ~@5 e3@2 ~@22 [g4,b4,e5] ~@2 [g4,b4,e5]@2 ~@3 [f#4,a4,d5] ~@2 [e3,g3,b3,e4,g4,b4,e5]@6 ~@2 [a3,d4,f#4,a4,d5]@7 ~, ~@4 [b3,e4]@4 b2@7 ~ e3@6 ~@6 f#3@2 ~@2, ~@24 [g3,b3,e4]@11 ~@5 [b3,e4]@5 ~@19]/2", // Em D Em D E5 Em E5
F: "[~@13 g3@2 ~@30 d3@2 ~ a3@6 ~@2 [d3,a4,d5,f#5]@8, g3@11 ~@5 d3@12 ~@4 d3@11 ~@21, ~@8 [b4,d5,g5]@10 ~@6 [b4,d5,g5]@11 ~@5 [a4,d5,f#5]@11 ~@13]/2", // D G D
G: "[e3@8 ~@5 e3@2 ~@25 [b4,e5]@5 ~@3 [e3,g4,b4,e5]@5 ~@3 [f#4,a4,d5]@7 ~, ~@4 [b4,e5]@4 b2@7 ~ e3@6 ~@6 d3@2 ~@2, ~@24 [g4,b4,e5]@11 ~@29]/2", // E5 Em D E5 Em
H: "~@31 d3",
I: "[~@7 d3@2 ~@6 d3@2 ~@6 d3@2 ~@6 d3@2 ~@6 d3@2 ~@6 d3@2 ~@6 d3@2 ~@6 d3@2 ~@6 d3@2 ~@6 d3@2 ~@6 d3@2 ~@6 d3]/3",
J: "~@7 d3@2 ~@6 d3@2 ~@6 d3@2 ~@6 [d3,d5,f#5,a5]", // D
K: "[~@7 [d5,f#5,a5]@2 ~@12 d3 ~ d3 ~@21 g3@2 ~@30 d3@2 a3@6 ~@2 [a3,d4,f#4]@8 e3, ~@7 d3 ~@23 g3@11 ~@5 d3@12 ~@4 d3@11 ~@13 d3@6 ~@3, ~@39 [b3,d4,g4]@10 ~@6 [b3,d4,g4]@11 ~@5 [a3,d4,f#4]@10 ~@15]/3", // D G D
L: "[~@13 e3@2 ~@24 [b3,e4]@5 ~@3 [e3,g3,b3,e4]@5 ~@3 [a3,d4,f#4]@7 ~@15 g3@2 ~@30 d3@2 a3@6 ~@2 [a3,d4,f#4]@8 ~@6 a5@2 b5@2 ~@4 [e3,a5]@2 ~@8 a5@2 ~@12 a5@2 [b3,e4]@5 ~ a5@2 [e3,g3,b3,e4]@5 ~@3 [a3,d4,f#4]@7 ~@15 g3@2 ~@30 d3@2 a3@6 ~@2 [a3,d4,f#4]@8 e3, ~@7 [b3,e4]@8 b2@14 ~@2 e3@12 ~@28 [b3,d4,g4]@10 ~@6 [b3,d4,g4]@11 ~@5 [a3,d4,f#4]@10 ~@22 [b3,e4]@9 ~@7 [g3,b3,e4]@11 ~@5 b5 ~@7 b5 ~@23 [b3,d4,g4]@10 ~@6 [b3,d4,g4]@11 ~@5 [a3,d4,f#4]@10 ~@15, ~@23 [g3,b3,e4]@11 ~@21 f#3@4 ~@4 g3@11 ~@5 d3@12 ~@4 d3@11 ~@13 d3@6 ~@2 [e3,e5,g5]@10 ~@6 b2@14 ~@2 [e5,g5]@62 ~@35, ~@159 e3@12 ~@12 f#3@4 ~@4 g3@11 ~@5 d3@12 ~@4 d3@11 ~@13 d3@6 ~@3]/8", // E5 Em D A5 E5 Em D E5 …
M: "[~@13 e3@2 ~@24 [b3,e4]@5 ~@3 [e3,g3,b3,e4]@5 ~@3 [a3,d4,f#4]@7 ~@15 g3@2 ~@30 d3@2 a3@6 ~@2 [a3,d4,f#4]@8 ~@6 a5@2 b5@2 ~@4 [e3,a5]@2 ~@8 a5@2 ~@11 a5@3 [b3,e4]@5 a5@2 ~ [e3,g3,b3,e4]@5 ~@3 [a3,d4,f#4]@7 ~@14 g3@2 ~@30 d3@2 ~ a3@6 ~@2 [a3,d4,f#4]@8 e3, ~@7 [b3,e4]@8 b2@14 ~@2 e3@12 ~@28 [b3,d4,g4]@10 ~@6 [b3,d4,g4]@11 ~@5 [a3,d4,f#4]@10 ~@22 [b3,e4]@9 ~@7 [g3,b3,e4]@11 ~@5 b5 ~@7 b5 ~@23 [b3,d4,g4]@10 ~@6 [b3,d4,g4]@11 ~@5 [a3,d4,f#4]@10 ~@15, ~@23 [g3,b3,e4]@11 ~@21 f#3@4 ~@4 g3@11 ~@5 d3@12 ~@4 d3@11 ~@13 d3@6 ~@2 [e3,e5,g5]@10 ~@6 b2@14 ~@2 [e5,g5]@62 ~@35, ~@159 e3@12 ~@12 f#3@4 ~@4 g3@11 ~@5 d3@12 ~@4 d3@11 ~@13 d3@6 ~@3]/8", // E5 Em D A5 E5 Em D E5 …
N: "[~@12 e3@2 ~@25 [b3,e4]@5 ~@3 [e3,g3,b3,e4]@5 ~@3 [a3,d4,f#4]@7 ~@14 g3@2 ~@30 d3@2 ~ a3@6 ~@2 [a3,d4,f#4]@8 ~@5 a5@3 b5@2 ~@3 [e3,a5]@3 ~@8 a5@2 ~@11 a5@3 [b3,e4]@5 a5@2 ~ [e3,g3,b3,e4]@5 ~@3 [a3,d4,f#4]@7 ~@14 g3@2 ~@30 d3@2 ~ a3@6 ~@2 [a3,d4,f#4]@8 e3, ~@7 [b3,e4]@8 b2@14 ~@2 e3@12 ~@28 [b3,d4,g4]@10 ~@6 [b3,d4,g4]@11 ~@5 [a3,d4,f#4]@10 ~@22 [b3,e4]@9 ~@7 [g3,b3,e4]@11 ~@5 b5 ~@7 b5 ~@23 [b3,d4,g4]@10 ~@6 [b3,d4,g4]@11 ~@5 [a3,d4,f#4]@10 ~@15, ~@23 [g3,b3,e4]@11 ~@21 f#3@4 ~@4 g3@11 ~@5 d3@12 ~@4 d3@11 ~@13 d3@6 ~@2 [e3,e5,g5]@10 ~@6 b2@14 ~@2 [e5,g5]@62 ~@35, ~@159 e3@12 ~@12 f#3@4 ~@4 g3@11 ~@5 d3@12 ~@4 d3@11 ~@13 d3@6 ~@3]/8", // E5 Em D A5 E5 Em D E5 …
O: "[~@12 e3@2 ~@25 [b3,e4]@5 ~@3 [e3,g3,b3,e4]@5 ~@3 [a3,d4,f#4]@7 ~@14 g3@2 ~@30 d3@2 ~ a3@6 ~@2 [a3,d4,f#4]@8 ~@5 a5@3 b5@2 ~@3 [e3,a5]@3 ~@8 a5@2 ~@11 a5@3 [b3,e4]@5 a5@2 ~ [e3,g3,b3,e4]@5 ~@3 [a3,d4,f#4]@7 ~ c2@12 ~ c2@2 ~ c2@12 ~@4 c2@9 ~@4 c2 ~@2 c2@13 ~@3 a2, ~@7 [b3,e4]@8 b2@14 ~@2 e3@12 ~@28 [b3,d4,g4]@10 ~@6 [b3,d4,g4]@11 ~@5 [a3,d4,f#4]@10 ~@22 [b3,e4]@9 ~@7 [g3,b3,e4]@11 ~@5 b5 ~@7 b5 ~@80, ~@23 [g3,b3,e4]@11 ~@21 f#3@4 ~@4 g3@11 ~@5 d3@12 ~@4 d3@11 ~@13 d3@6 ~@2 [e3,e5,g5]@10 ~@6 b2@14 ~@2 [e5,g5]@62 ~@35, ~@159 e3@12 ~@12 f#3@4 ~@69]/8", // E5 Em D A5 E5 Em D E5 …
P: "[~@12 a2 ~@2 a2@8 c3@6 ~@2 a2@10 ~@3 a2@2 ~ a2@7 ~ e3@6 ~@2 g2@13 g2@2 ~ g2@13 ~@3 g2@9 ~@4 g2 ~@2 g2@6 ~@2 c4@5 ~@3 [d3,g3,b3]@27 ~@6]/5", // G
})).s("gm_piano").gain(0.64).pan(0.6)
// chords · piano · "Honky" · soft notes
const piano_soft = note(`<
~@3 A ~@3 B ~@3 B ~@3 C ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 D ~@20 E ~@3 F ~@3 E ~@3 F ~@3 E ~@3 G ~@3 E ~@3 G ~@3
E ~@3 G ~@9
>`.pickRestart({
A: "~@5 b5@2 ~ g3@9 ~@15", B: "~@8 g3@9 ~@15", C: "~@13 g5@3 b5@3 ~@13, ~@8 g3@9 ~@15, ~@13 e5@5 ~@14",
D: "~@8 g4@9 ~@15", E: "~@7 g3@9 ~@16", F: "~@13 g5@2 b5@3 ~@14, ~@7 g3@9 ~@16, ~@13 e5@5 ~@14",
G: "~@12 g5@3 b5@3 ~@14, ~@7 g3@9 ~@16, ~@12 e5@5 ~@15",
})).s("gm_piano").gain(0.4).pan(0.6)
// chords · epiano1 · "E-Piano 3"
const epiano1 = note(`<
~ A B C@2 A B C@2 A B D@2 A B C@2 A B C@2 A B E@2 A B D@2 A B E@2 A B D@2 A B D@2 A B C@2 F@5 G@7 ~@4 H@4 I@16 J@16
K@5 ~@8
>`.pickRestart({
A: "[b3,d4,g4]@7 ~", B: "[a3,d4,f#4]@15 ~", C: "[[g3,b3,e4]@55 ~@9]/2",
D: "[e4@40 b4@5 ~@3 b4@5 d5@3 [d4,f#4,a4,b4]@5 a4@3, [g3,b3]@55 ~@9, ~@40 [e4,g4]@15 ~@9, ~@45 a4@5 ~@14]/2", // Bm7 G Em
E: "[e4@40 [g5,e6]@5 [b4,a5]@2 ~ [e4,e5,b5]@5 d5@2 ~ [f#4,a5,b5,d6]@5 a5@3, [g3,b3]@55 ~ b4 ~@4 a4 ~@2, ~@40 [e4,e5,b5]@8 b4 ~@7 e5@2 ~@6, ~@40 b4@2 ~@3 d5 ~@2 e6@3 ~@13]/2", // C B7 E5 Bm7 G E5
F: "[[g4,c5,e5]@22 ~ [g4,c5,e5]@5 ~@3 [f#4,b4,d5]@21 ~@3 [f#4,b4,d5]@5 ~@3 [e4,g4,b4]@53 ~@3 [e4,g4,b4]@6 ~@2 [d4,f#4,b4]@29 ~@3 [d4,f#4,a4]]/5", // C Bm Em Bm D
G: "[~@15 [d4,f#4,b4]@13 ~@3 [c4,e4,a4]@59 ~@5 [g4,c5,e5]@30 ~@2 [g4,b4,e5]@21 ~@3 [g4,b4,e5]@5 ~@3 [g4,b4]@22 ~@2 b4@3 ~ b4@3 ~ g4@18 ~@15, ~@159 d5@50 ~@15]/7", // Bm Am C Em G
H: "[~@31 [b3,d4,g4]@28 ~@4 [a3,d4,f#4]@30 ~@2 [g3,b3,e4]@33]/4", // G D Em
I: "[~@7 b4@6 ~@2 b4@6 ~@2 [d4,f#4,a4,b4]@6 a4@2 [b3,d4,g4]@28 ~@4 [a3,d4,f#4]@30 ~@2 [g3,b3,e4]@55 ~@9 [b3,d4,g4]@28 ~@4 [a3,d4,f#4]@30 ~@2 [g3,b3,e4]@33, ~@7 [e4,g4]@15 ~@234, ~@13 a4@5 ~@3 d5@4 ~@231]/8", // Bm7 G D Em G D Em
J: "[~@7 b4@5 ~@3 b4@5 d5@3 [d4,f#4,a4,b4]@5 a4@3 [b3,d4,g4]@28 ~@4 [a3,d4,f#4]@30 ~@2 [g3,b3,e4]@55 ~@9 [b3,d4,g4]@28 ~@4 [a3,d4,f#4]@30 ~@2 [g3,b3,e4]@33, ~@7 [e4,g4]@15 ~@234, ~@12 a4@5 ~@239]/8", // Bm7 G D Em G D Em
K: "[~@7 b4@5 ~@3 b4@5 d5@3 [d4,f#4,a4,b4]@5 a4@3 [b3,d4,g4]@28 ~@4 [a3,d4,f#4]@30 ~@2 [g3,b3,e4]@55 ~@10, ~@7 [e4,g4]@15 ~@138, ~@12 a4@5 ~@143]/5", // Bm7 G D Em
})).s("gm_epiano1").gain(0.37).pan(0.4)
// bass · electric bass pick · "Picked 1"
const bass = 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 A B C D A B C D A B C D A B C D A B C E F@7 G@8 H I@7 J@8 K@8 L@16
M@6 N@3 ~
>`.pickRestart({
A: "g2@11 ~@2 g2@2 ~ d2@12 ~@4", B: "d2@11 ~@2 d2@2 ~ a2@6 ~@2 d2@6 ~@2", C: "e2@10 ~@3 e2@2 ~ b1@14 ~@2",
D: "e2@12 ~@4 e2@5 ~@3 f#2@4 ~@4", E: "e2@12 ~@4 e2@5 ~@3 d2@4 ~@4",
F: "[c3@28 ~@3 b2@31 ~ e2@32 e3@31 ~ b2@32 b2@16 c3@8 b2@8 a2@15 ~ e3@7 ~ c3@8 a2]/7",
G: "[~@15 a2@6 ~@2 b2@5 ~@3 c3@29 ~@3 c3@29 ~@3 g2@23 ~ d3@6 ~@2 g2@19 ~@5 f#2 ~@5 e2@2 d2@3 ~@5 d2@3 ~@5 d2@3 ~@5 d2@3 ~@5 d2@3 ~@5 d2@3 ~@5 d2@3 ~@5 d2@3 ~@5 d2@3 ~@5 d2@3 ~@5 d2@3 ~@5 d2@3 ~@5 d2, ~@149 g2@4 ~@103]/8",
H: "~@7 d2@3 ~@5 d2@3 ~@5 d2@4 ~@4 d2",
I: "[~@7 d2@2 ~@12 d2@2 d2@2 ~@6 g2@11 ~@3 g2@2 d2@12 ~@4 d2@11 ~@3 d2@2 a2@6 ~@2 d2@6 ~@2 e2@10 ~@4 e2@2 b1@14 ~@2 e2@12 ~@4 e2@5 ~@3 f#2@4 ~@4 g2@11 ~@3 g2@2 d2@12 ~@4 d2@11 ~@3 d2@2 a2@6 ~@2 d2@6 ~@2 e2]/7",
J: "[~@13 e2@2 b1@14 ~@2 e2@12 ~@4 e2@5 ~@3 f#2@4 ~@4 g2@11 ~@3 g2@2 d2@12 ~@4 d2@11 ~@3 d2@2 a2@6 ~@2 d2@6 ~@2 e2@10 ~@4 e2@2 b1@14 ~@2 e2@12 ~@4 e2@5 ~@3 f#2@4 ~@4 g2@11 ~@3 g2@2 d2@12 ~@4 d2@11 ~@3 d2@2 a2@6 ~@2 d2@6 ~@2 e2]/8",
K: "[~@13 e2@2 b1@14 ~@2 e2@12 ~@4 e2@5 ~@3 f#2@4 ~@4 g2@11 ~@2 g2@2 ~ d2@12 ~@4 d2@11 ~@2 d2@2 ~ a2@6 ~@2 d2@6 ~@2 e2@10 ~@3 e2@2 ~ b1@14 ~@2 e2@12 ~@4 e2@5 ~@3 f#2@4 ~@4 g2@11 ~@2 g2@2 ~ d2@12 ~@4 d2@11 ~@2 d2@2 ~ a2@6 ~@2 d2@6 ~@2 e2]/8",
L: "[~@12 e2@2 ~ b1@14 ~@2 e2@12 ~@4 e2@5 ~@3 f#2@4 ~@4 g2@11 ~@2 g2@2 ~ d2@12 ~@4 d2@11 ~@2 d2@2 ~ a2@6 ~@2 d2@6 ~@2 e2@10 ~@3 e2@2 ~ b1@14 ~@2 e2@12 ~@4 e2@5 ~@3 f#2@4 ~@4 g2@11 ~@2 g2@2 ~ d2@12 ~@4 d2@11 ~@2 d2@2 ~ a2@6 ~@2 d2@6 ~@2 e2]/8",
M: "[~@12 e2@2 ~ b1@14 ~@2 e2@12 ~@4 e2@5 ~@3 d2@4 ~@4 c3@9 ~@4 c3@2 ~ c3@13 ~@3 c3@9 ~@4 c3 ~@2 c3@8 b2@6 ~@2 a2@9 ~@4 a2@2 ~ a2@12 ~@4 a2@9 ~@4 a2 ~@2 a2@8 e3@6 ~@2 g2, ~@183 d#3 ~@8]/6",
N: "[~@12 g2@2 ~ g2@13 ~@3 g2@10 ~@3 g2@2 ~ g2@8 d3@5 ~@3 g2@25 ~@8]/3",
})).s("gm_electric_bass_pick").gain(0.8)
// chords · synth strings 2 · "Digi- JP"
const synth_strings_2 = note("<~@25 A B C@2 A B C@2 A B C@2 A B C@2 ~@4 D@7 E@8 F G@8 H@32 I@8 ~>".pickRestart({
A: "[b3,d4,g4]@15 ~", B: "[a3,d4,f#4]@29 ~@3", C: "[[g3,b3,e4]@45 ~@3 [g3,b3,e4]@4 ~@4 [a3,d4,f#4]@4 ~@4]/2",
D: "[[g3,c4,e4]@30 ~ [f#3,b3,d4]@28 ~@4 [e3,g3]@62 ~@34 a3@16 b3@14 ~@2 [c3,e3,a3]@33, ~@63 b3@97 ~@64, ~@127 [d3,f#3]@62 ~@35]/7", // C Bm Em Am D
E: "[~@31 c5@31 ~ b4@30 ~@2 [b4,d5]@60 ~@4 [d4,f#4,a4]@97, ~@31 g4@124 ~@101, ~@31 e5@62 ~@163]/8", // Bm D
F: "~@31 [d4,f#4,a4]", // D
G: "[~@7 [d4,f#4,a4]@2 ~@14 [d4,f#4,a4]@8 [b3,d4,g4]@30 ~@2 [a3,d4,f#4]@29 ~@3 [g3,b3,e4]@45 ~@3 [g3,b3,e4]@4 ~@4 [a3,d4,f#4]@4 ~@4 [b3,d4,g4]@30 ~@2 [a3,d4,f#4]@29 ~@3 [g3,b3,e4]@33]/8", // D G D Em D G D Em
H: "[~@15 [g3,b3,e4]@4 ~@4 [a3,d4,f#4]@4 ~@4 [b3,d4,g4]@30 ~@2 [a3,d4,f#4]@29 ~@3 [g3,b3,e4]@45 ~@3 [g3,b3,e4]@4 ~@4 [a3,d4,f#4]@4 ~@4 [b3,d4,g4]@30 ~@2 [a3,d4,f#4]@29 ~@3 [g3,b3,e4]@33]/8", // Em D G D Em D G D …
I: "[~@15 [g3,b3,e4]@4 ~@4 [a3,d4,f#4]@4 ~@4 [c4,e4,g4]@58 ~@6 [c4,e4,a4]@61 ~@3 [b3,d4,g4]@89 ~@8]/8", // Em D C Am G
})).s("gm_synth_strings_2").gain(0.26)
// chords · synth strings 2 · "Digi- JP" · soft notes
const synth_strings_2_soft = note("<~@33 A B C@2 A B C@2 A B D@2 ~@65>".pickRestart({
A: "[b4,d5,g5]", B: "[a4,d5,f#5]", C: "[[b4,e5,g5]@48 [b4,e5,g5]@4 ~@4 [d5,f#5,a5,d6]@3 ~@5]/2",
D: "[[b4,e5,g5]@48 [b4,e5,g5]@4 ~@4 [f#4,a4,d5]@3 ~@5]/2", // Em D
})).s("gm_synth_strings_2").gain(0.17)
// chords · rock organ · "organ"
const rock_organ = note("<~@41 A B C@2 D@5 E@2 F@8 ~@41 G@8 ~>".pickRestart({
A: "[b4,d5,g5]@15 ~", B: "[a4,d5,f#5]@7 ~", C: "[[g4,b4,e5]@23 ~ [g4,b4,e5]@2 ~@2 [f#4,a4,d5]@3 ~, ~@56 a#4 ~@7]/2",
D: "[[g4,c5,e5]@31 [f#4,b4,d5]@29 ~@3 [g4,e5]@64 [f#4,d5,b5]@32 [f#4,a5], ~@63 b4@97]/5", // C Bm C Bm F#m
E: "[~@15 [b4,b5]@16 [a4,c5,e5,a5]@33]/2", // B Am
F: "[~@15 a5@8 b5@8 [c5,c6]@32 b5@32 [d5,g5,b5,d6]@62 ~@2 [d5,f#5,a5]@97, ~@31 g4@124 ~@101, ~@31 [e5,g5,e6]@64 ~@161, ~@63 b4@92 ~@101]/8", // C G D Em
G: "[~@31 [c6,e6,g6]@55 ~ [c6,e6,g6]@7 ~@49 c7@15 ~ [d6,g6,b6]@89 ~@8, ~@95 [c6,e6,a6]@62 ~@99]/8", // C G Am
})).s("gm_rock_organ").gain(0.61).pan(0.7)
// chords · acoustic guitar steel · "gitarre"
const acoustic_guitar_steel = note(`<
~ A B C D A B C D A B C D A B C E A B C E A B C E A B C E A B C E A B C E A B C E A B C E F@8 G@4 H@5 I J K@2 I J K@2
I J K@2 I J L@2 M N O@2 M N O@2 M N O@2 M N O@2 M N O@2 M N O@2 P@2 Q@2 R S@2 ~
>`.pickRestart({
A: "~@5 [b3,d4,g4]@3 [b3,d4,g4]@4 ~ [b3,d4,g4]@4 ~@4 [b3,d4,g4]@3 [b3,d4,g4]@4 ~ [b3,d4,g4]@3", // G
B: "~@5 [a3,d4,f#4]@3 [a3,d4,f#4]@4 ~ [a3,d4,f#4]@4 ~@4 [a3,d4,f#4]@3 [a3,d4,f#4]@4 ~ [a3,d4,f#4]@3", // D
C: "~@5 [g3,b3,e4]@3 [g3,b3,e4]@4 ~ [g3,b3,e4]@4 ~@4 [g3,b3,e4]@3 [g3,b3,e4]@4 ~ [g3,b3,e4]@3", // Em
D: "[g3,b3,e4]@4 ~@4 [g3,b3,e4]@4 ~@4 [g3,b3,e4]@4 ~ [g3,b3,e4]@3 [a3,d4,f#4]@3 [a3,d4,f#4]@2 [a3,d4,f#4]@3, ~@24 f#3@7 ~", // Em D
E: "[g3,b3,e4]@4 ~@4 [g3,b3,e4]@4 ~@4 [g3,b3,e4]@4 ~ [g3,b3,e4]@3 [a3,d4,f#4]@2 [a3,d4,f#4]@3 [a3,d4,f#4]@3, ~@24 f#3@7 ~", // Em D
F: "[e4@8 ~@15 e4@8 ~@24 d4@8 ~@56 b3@7 ~@121 d5@8 e5, ~@8 g3@12 ~@19 f#3@11 ~@21 b3@12 ~@4 e3@11 ~@5 e3@12 ~@20 f#4@11 ~@5 b3@12 ~@4 f#4@12 ~@4 b3@13 ~@3 e4@11 ~@5 a3@12 ~@4 b4@12 ~@13, ~@16 c4@11 ~@4 d4@11 ~@5 b3@11 ~@5 e4@11 ~@5 g3@11 ~@5 b2@12 ~@4 g3@12 ~@4 b4@11 ~@5 d4@11 ~@5 b4@11 ~@5 d4@12 ~@4 a4@11 ~@5 c4@13 ~@3 a4@12 ~@4 c5@11 ~@6]/8",
G: "[~@23 e5@8 g4@7 ~@17 e5@8 g4@8 ~@16 d5@8 ~@16 g3@15 ~@2, ~@7 g4@24 ~@8 g4@24 ~@8 g4@20 ~@8 g4@7 ~ b3@10 ~@11, ~@15 c5@16 [b4,e5]@11 ~@5 b4@16 [b4,d5]@12 ~@4 b4@13 ~@3 b4@7 ~ d4@7 ~@18]/4", // E5 Bm
H: "[~@7 [f#3,a3,d4]@5 ~ [f#3,a3,d4]@2 [f#3,a3,d4]@5 ~@3 [f#3,a3,d4]@4 ~@2 [f#3,a3,d4]@2 [f#3,a3,d4]@5 ~@3 [f#3,a3,d4]@5 ~ [f#3,a3,d4]@2 [f#3,a3,d4]@6 ~@2 [f#3,a3,d4]@5 ~ [f#3,a3,d4]@2 [f#3,a3,d4]@6 ~@2 [f#3,a3,d4]@5 ~ [f#3,a3,d4]@2 [f#3,a3,d4]@5 ~@3 [f#3,a3,d4]@6 [f#3,a3,d4]@2 [f#3,a3,d4]@6 ~@2 [f#3,a3,d4]@4 ~@2 [f#3,a3,d4]@2 [f#3,a3,d4]@6 [f#3,a3,d4]@4 ~@4 [f#3,a3,d4]@2 [f#3,a3,d4]@4 ~@4 [f#3,a3,d4]@4 ~@21]/5", // D
I: "~@5 [b3,d4,g4]@2 [b3,d4,g4]@4 ~@2 [b3,d4,g4]@4 ~@4 [b3,d4,g4]@2 [b3,d4,g4]@4 ~@2 [b3,d4,g4]@3", // G
J: "~@5 [a3,d4,f#4]@2 [a3,d4,f#4]@4 ~@2 [a3,d4,f#4]@4 ~@4 [a3,d4,f#4]@2 [a3,d4,f#4]@4 ~@2 [a3,d4,f#4]@3", // D
K: "[~@5 [g3,b3,e4]@2 [g3,b3,e4]@4 ~@2 [g3,b3,e4]@4 ~@4 [g3,b3,e4]@2 [g3,b3,e4]@4 ~@2 [g3,b3,e4]@2 [g3,b3,e4]@4 ~@4 [g3,b3,e4]@4 ~@4 [g3,b3,e4]@4 ~@4 [a3,d4,f#4]@3 [a3,d4,f#4]@3 [a3,d4,f#4]@3, ~@53 [g3,b3,e4]@4 ~@7, ~@55 f#3@7 ~@2]/2", // Em D Em
L: "[~@5 [g3,b3,e4]@2 [g3,b3,e4]@4 ~@2 [g3,b3,e4]@4 ~@3 [g3,b3,e4]@3 [g3,b3,e4]@4 ~ [g3,b3,e4]@3 [g3,b3,e4]@4 ~@4 [g3,b3,e4]@4 ~@4 [g3,b3,e4]@4 ~ [g3,b3,e4]@3 [a3,d4,f#4]@3 [a3,d4,f#4]@2 [a3,d4,f#4]@4, ~@55 f#3@7 ~@2]/2", // Em D
M: "~@4 [b3,d4,g4]@3 [b3,d4,g4]@4 ~ [b3,d4,g4]@4 ~@4 [b3,d4,g4]@3 [b3,d4,g4]@4 ~ [b3,d4,g4]@4", // G
N: "~@4 [a3,d4,f#4]@3 [a3,d4,f#4]@4 ~ [a3,d4,f#4]@4 ~@4 [a3,d4,f#4]@3 [a3,d4,f#4]@4 ~ [a3,d4,f#4]@4", // D
O: "[~@4 [g3,b3,e4]@3 [g3,b3,e4]@4 ~ [g3,b3,e4]@4 ~@4 [g3,b3,e4]@3 [g3,b3,e4]@4 ~ [g3,b3,e4]@3 [g3,b3,e4]@4 ~@4 [g3,b3,e4]@4 ~@4 [g3,b3,e4]@4 ~ [g3,b3,e4]@3 [a3,d4,f#4]@3 [a3,d4,f#4]@2 [a3,d4,f#4]@4, ~@55 f#3@7 ~@2]/2", // Em D
P: "~@4 [c4,e4,g4]@3 [c4,e4,g4]@4 ~@4 [c4,e4,g4]@4 ~@4 [c4,e4,g4]@4 ~@5", // C
Q: "~@4 [c4,e4,a4]@3 [c4,e4,a4]@4 ~@4 [c4,e4,a4]@4 ~@4 [c4,e4,a4]@4 ~@5", // Am
R: "~@4 [d4,g4,b4]@3 [d4,g4,b4]@4 ~@4 [d4,g4,b4]@4 ~@4 [d4,g4,b4]@4 ~@5", // G
S: "[~@4 [d4,g4,b4]@3 [d4,g4,b4]@4 ~@4 [d4,g4,b4]@4 ~@4 [d4,g4,c5]@5 ~@3 [d4,g4,b4]@26 ~@7]/2", // G Csus2 G
})).s("gm_acoustic_guitar_steel").gain(0.49).pan(0.6)
// drums · kick
const kick = s("bd").struct(`<
~ A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B C D@6 E@2 D E D F@4 G H@3 I H@3 I H@3 I H@3 J K@3
J K@3 J K@3 J K@3 J K@3 J K@3 J K@3 J K@2 ~@2
>`.pickRestart({
A: "x ~@12 x ~@2 x ~@15", B: "x ~@12 x ~@2 x ~@7 x ~@7", C: "x", D: "~@31 x", E: "~@23 x ~@7 x",
F: "~@7 x ~@7 x ~@7 x ~@7 x", G: "~@7 x ~@23 x", H: "~@13 x ~ x ~@15 x", I: "~@13 x ~ x ~@7 x ~@7 x",
J: "~@12 x ~@2 x ~@7 x ~@7 x", K: "~@12 x ~@2 x ~@15 x",
})).gain(0.72)
// drums · rim
const rim = s("rim").struct(`<
A B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C ~@11 D E@2 F ~@50
>`.pickRestart({
A: "x!4", B: "~ x ~ x", C: "~ x ~@2", D: "~@31 x", E: "~@7 x ~@7 x ~@7 x ~@7 x", F: "~@7 x ~@7 x ~@7 x ~@8",
})).gain(0.64)
// drums · snare
const snare = s("sd").struct("<A ~@58 B C D E@27 F E@7 F E@9 G ~@2>".pickRestart({
A: "~@3 x", B: "~@31 x", C: "~@7 x ~@7 x ~@7 x ~@7 x", D: "~@7 x ~@13 x ~ x ~@5 x ~@2", E: "~@7 x ~@15 x ~@8",
F: "~@7 x ~@12 x ~@2 x ~@4 x ~@3", G: "~@7 x ~@15 x ~@7 x",
})).gain(0.72)
// drums · hihat
const hihat = s("hh").struct("<~ A@44 B C@7 D C@2 E ~@4 F G@14 H I@30 J ~@2>".pickRestart({
A: "x ~@4 x ~@2 x ~@4 x ~@2 x ~@4 x ~@2 x ~@4 x ~@2", B: "x ~@7 x ~@14 x ~@7 x", C: "~@7 x ~@7 x ~@7 x ~@7 x",
D: "~@7 x ~@7 x ~@5 x ~ x ~@7 x", E: "~@7 x ~@7 x ~@3 x ~@12", F: "~@31 x",
G: "~@5 x ~ x ~@5 x ~ x ~@5 x ~ x ~@5 x ~ x", H: "~@5 x ~ x ~@5 x ~ x ~@4 x ~@2 x ~@4 x ~@2 x",
I: "~@4 x ~@2 x ~@4 x ~@2 x ~@4 x ~@2 x ~@4 x ~@2 x", J: "~@4 x ~@2 x ~@4 x ~@2 x ~@4 x ~@2 x ~@4 x ~@3",
})).gain(0.64)
// drums · low tom
const low_tom = s("lt").struct("<~@107 [~@28 x ~@2 x] ~@2>").gain(0.64)
// drums · mid tom
const mid_tom = s("mt").struct("<~@77 A ~@15 A ~@10 B C ~ D ~@2>".pickRestart({
A: "~@15 x ~@2 x ~ x ~@2 x ~@8", B: "~@12 x ~@2 x ~@7 x ~@8", C: "~@7 x ~@4 x ~@2 x ~@7 x ~@8",
D: "~@15 x ~ x ~@2 x ~@2 x ~@8",
})).gain(0.64)
// drums · open hat
const open_hat = s("oh").struct(`<
~@4 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@6 B C D E ~ F G@4 ~@4 F ~@3 F ~@3 F ~@3 F ~@3 F
~@3 F ~@3 F ~@3 F ~@3 F ~@3 F ~@3 F ~@4
>`.pickRestart({
A: "~@3 x", B: "~@26 x ~@2 x ~ x", C: "~@31 x", D: "~@23 x ~@7 x", E: "~@18 x ~@4 x ~@8", F: "~@23 x ~@8",
G: "~@3 x ~@7 x ~@7 x ~@7 x ~@4",
})).gain(0.8)
// drums · high tom
const high_tom = s("ht").struct("<~@44 A ~@31 B C ~@14 B C ~@7 D E F ~@2 B C ~@2>".pickRestart({
A: "~@16 x ~ x ~@2 x ~@2 x ~ x ~@2 x ~@2", B: "~@31 x", C: "~@2 x ~ x ~@2 x ~@4 x ~@19",
D: "~@15 x ~@2 x ~ x ~@2 x ~ x ~@2 x ~@3", E: "~@5 x!2 ~@9", F: "~@12 x ~@2 x ~@4 x ~@2 x ~@8",
})).gain(0.64)
// drums · crash
const crash = s("cr").struct("<~@24 A ~@7 A ~@12 B ~@2 C ~@11 C D ~@35 E ~@3 C@2 F C F C G ~@2>".pickRestart({
A: "~@2 x!2", B: "x", C: "~@31 x", D: "~@7 x ~@24", E: "~@15 x ~@7 x ~@8", F: "~@23 x ~@7 x", G: "~@15 x ~@15 x",
})).gain(0.72)
// drums · ride
// … 15 more lines
More by Bob Seger
Against The Wind1980 · G major · 110 bpmNight Moves1977 · A♭ major · 115 bpmOld Time Rock & Roll1979 · F♯ major · 140 bpmAmerican Storm1986 · A major · 151 bpmEven Now1983 · E major · 152 bpmLike A Rock1986 · A♭ major · 83 bpmRock And Roll Never Forgets1977 · E major · 157 bpmTryin' To Live My Life Without You1981 · D major · 104 bpm
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.