0:00/0:00
// Footstompin' Music — Grand Funk Railroad
// 250 bpm, 1/8, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 1871 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(250/0.5)
// 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.
// bass · acoustic bass
const bass = note(`<
~@3 A@3 B@5 C@4 D@3 E@6 F@3 G@3 H@5 I@7 J@3 K@8 L@7 M@6 N@5 O@3 P@7 Q@5 R@4 J@3 K@8 L@7 M@6 N@5 O@3 P@7 Q@5 S@6 T@4
M@6 N@5 O@3 P@7 Q@5 R@4 J@3 K@8 L@7 M@6 N@5 O@3 P@7 Q@5 R@4 J@3 K@8 L@7 M@6 N@5 O@3 P@7 Q@5 R@4 J@3 K@8 L@7 M@6 N@5
O@3 P@7 Q@5 R@4 J@3 K@8 L@7 M@6 N@5 O@3 P@7 Q@5 U@4 V@3 W@5 X@6 T@4 M@6 N@5 O@3 P@7 Q@5 U@4 V@3 Y@6 Z@2 AA AB@3 AC@2
AD AE@3 AF@3 AG@3 AH@3 AI@3 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AI@3 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AI@3
Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AJ@3 AK@3 AL@5 AM@4 AN@2 AO AP@3 AQ@3 AR@3 AS@2 AT@3 AU@7 AV@3 AW@8 AX@4 AY@3
AZ@6 BA@3 BB@3 BC@6 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AI@3 BD@3 BE@6 V@3 BF@3 BG@6 AY@3 BH@3 BI@3 BJ@3 BK@3 BL@2
BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8 BT@7 BH@3 BI@3 BJ@3 BK@3 BL@2 BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8 BT@7 BH@3 BI@3
BJ@3 BK@3 BL@2 BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8 BT@7 BH@3 BI@3 BJ@3 BK@3 BL@2 BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8
BT@7 BH@3 BI@3 BJ@3 BK@3 BL@2 BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8 BT@7 BH@3 BI@3 BJ@3 BK@3 BL@2 BM@4 BN@3 BO@2 BP
BQ@3 V@3 BR@3 BS@8 BT@7 BH@3 BI@3 BJ@3 BK@3 BL@2 BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8 BT@7 BH@3 BI@3 BJ@3 BK@3 BL@2
BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8 BT@7 BH@3 BI@3 BJ@3 BK@3 BL@2 BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8 BT@7 BH@3 BI@3
BJ@3 BK@3 BL@2 BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8 BT@7 BH@3 BI@3 BJ@3 BK@3 BL@2 BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8
BT@7 BH@3 BI@3 BJ@3 BK@3 BL@2 BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8 BU@6 BV@6 T@4 M@6 N@5 O@3 P@7 Q@5 U@4 V@3 W@5 X@6
T@4 M@6 N@5 O@3 P@7 Q@5 U@4 V@3 Y@6 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AI@3 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3
AH@3 AI@3 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AI@3 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AJ@3 AK@3 AL@5 AM@4
AN@2 AO AP@3 AQ@3 AR@3 AS@2 AT@3 AU@7 AV@3 AW@8 AX@4 AY@3 AZ@6 BA@3 BB@3 BC@6 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3
AI@3 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AI@3 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AI@3 Z@2 AA AB@3 AC@2 AD
AE@3 AF@3 AG@3 AH@3 AI@3 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 BW@3 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AI@3 Z@2
AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AI@3 BX@7 ~@43 BY@7 BZ@4 CA@4 CB@8 CC@3 CD@6 CE@5 CF@5 CG@5 CH@8 CI@5 CJ@8 CK@2
CL@4 CM@2 CN CO@7 CP@4 CQ@7 CR@5 CS@3 AD CT@4 CU@8 AA CV CW@2 CX CY@3 AD CZ@8 DA@5 DB@5 DC@7 DD@5 DE@3 DF DG@3 AD DH@2
DI DJ@8
>`.pickRestart({
A: "[~ c2@11 g1@4]/3", B: "[~ c2@35 ~@11 c2@33, ~@39 g1@15 ~@26]/5", C: "[~@14 c2@39 g1@11, ~@5 g1@16 ~@43]/4",
D: "[c2@37 g1@11]/3", E: "[c2@37 ~@10 c2@38 g1@11, ~@38 g1@15 ~@43]/6", F: "[c2@19 g1@5]/3", G: "[~ c2@18 g1@5]/3",
H: "[c2@35 ~@12 c2@33, ~@37 g1@16 ~@27]/5", I: "[~@16 c2@37 ~@8 c2@36 g1@15, ~@6 g1@17 ~@33 g1@17 ~@39]/7",
J: "[~@2 a1@33 g1@13]/3", K: "[a#1@34 a1@10 b1@39 a#1@11 ~ c2@33]/8",
L: "[~@4 g1@10 c2@36 ~@12 c2@39 g1@11, ~@53 g1@15 ~@44]/7", M: "[c2@37 g1@10 c2@38 g1@11]/6",
N: "[c2@37 ~@10 c2@33, ~@38 g1@15 ~@27]/5", O: "[~@7 c2@17, ~@7 g1@15 ~@26]/3",
P: "[~@5 g1@10 c2@38 g1@10 c2@37 ~ g1@11]/7", Q: "[c2@7 ~@2 c2@7, ~@18 g1@7 ~@15]/5", R: "[~@2 g1@11 c2@36 g1@15]/4",
S: "[~@2 g1@13 c2@37 g1@10 c2@34]/6", T: "[~@14 c2@39 g1@11, ~@5 g1@15 ~@44]/4", U: "[~@2 g1@13 c2@39 g1@10]/4",
V: "[c2@37 ~ g1@10]/3", W: "[c2@35 ~@11 a1@34, ~@37 g1@14 ~@29]/5", X: "[~@3 g1@12 c2@37 g1@10 c2@34]/6",
Y: "[d#2@37 ~@9 d2@37 g1 g1@12, ~@37 g1@14 ~@45]/6", Z: "[c2@27 ~@5]/2", AA: "g1", AB: "[e2@2 c2]/3", AC: "f2/2",
AD: "c2", AE: "[g2@32 c2@15 ~]/3", AF: "[f2@16 c2@7 ~]/3", AG: "[a2@32 c2@13 ~@3]/3", AH: "[d#2@32 c2@15 ~]/3",
AI: "[d2@8 g1@3 ~]/3", AJ: "[d2@32 g1 g1@12 ~@3]/3", AK: "[~ c2@35 g1@12]/3", AL: "[~ c2@33 g1@13 c2@33]/5",
AM: "[~@2 g1@13 e2@37 g1@12]/4", AN: "[f2@31 ~]/2", AO: "~@5 f1@11", AP: "[~ a1@17 f1@6]/3",
AQ: "[~ a#1@35 ~ f1@11]/3", AR: "[~ b1@35 f1@10 ~@2]/3", AS: "[c2@15 ~]/2", AT: "[~@2 g1@10 ~ c2@33 ~@2]/3",
AU: "[~ g1@12 ~ c2@36 g1@11 e2@38 g1@13]/7", AV: "[f2@34 ~ f1@12 ~]/3",
AW: "[~ a1@35 ~ f1@10 a#1@34 ~@2 f1@12 b1@32 ~]/8", AX: "[~@4 g1@11 c2@36 ~ g1@12]/4", AY: "[c2@35 ~ g1@12]/3",
AZ: "[c2@35 ~@2 g1@9 e2@38 g1@12]/6", BA: "[~ f2@34 f1@12 ~]/3", BB: "[a1@35 f1@13]/3",
BC: "[a#1@34 g1@13 b1@34 ~@3 g1@11 ~]/6", BD: "[~@4 c2@34 ~ g1@9]/3",
BE: "[~ c2@16 ~@6 c2@18 ~ g1@6, ~@19 g1@7 ~@22]/6", BF: "[~@2 c2@35 ~ g1@10]/3", BG: "[c2@36 ~@2 g1@9 c2@36 g1@13]/6",
BH: "[~@2 c2@31 ~ g1@13 ~]/3", BI: "[c2@33 g1@13 ~@2]/3", BJ: "[~ c2@37 g1@10]/3", BK: "[c2@35 ~@3 g1@10]/3",
BL: "[~ c2@29 ~@2]/2", BM: "[~@4 g1@11 a1@34 ~@5 g1@10]/4", BN: "[~ a#1@32 ~@4 g1@11]/3", BO: "[~ b1@30 ~]/2",
BP: "~@7 g1@9", BQ: "[~@2 c2@33 ~ g1@12]/3", BR: "[c2@37 ~@2 g1@9]/3",
BS: "[~ c2@37 g1@9 c2@38 ~@9 c2@34, ~@86 g1@13 ~@29]/8", BT: "[~@15 c2@36 g1@12 c2@36 g1@7 ~@6, ~@8 g1@13 ~@91]/7",
BU: "[~@5 c2@12 g1@4 c2@9 ~@2, ~@8 g1@13 ~@75]/6", BV: "[c2@26 g1@5 c2@17]/6",
BW: "[d2@31 ~ g1@12 ~@4, ~@31 d2@2 ~@15]/3", BX: "[~ a#1@24 ~@3]/7", BY: "[~ f1@27]/7",
BZ: "[~@8 f1@21 ~ f1@20 f1@14]/4", CA: "[~@7 f1@20 ~ f1@21 ~ f1@14]/4",
CB: "[~@4 f1@22 ~ f1@19 ~ f1@21 f1@21 ~ f1@19 ~ f1@18]/8", CC: "[~@3 f1@22 ~ f1@22]/3",
CD: "[~@8 f1@35 f2@30 ~ f2@22]/6", CE: "[~@4 f2@25 ~ f2@29 ~ f2@20]/5", CF: "[~@12 f2@33 ~ f2@34]/5",
CG: "[~@11 f2@69]/5", CH: "[~@9 f1@93 c2@26]/8", CI: "[~@3 c2@21 c2@20 ~ c2@20 ~ c2@14]/5",
CJ: "[~@7 c2@21 c2@18 ~ c2@22 ~ c2@19 c2@21 ~ c2@17]/8", CK: "[~@6 c2@21 ~@5]/2",
CL: "[~@7 c3@41 a#2@16, a#2@11 ~@21]/4", CM: "c3/2", CN: "a#2", CO: "[c3@28 a#2@17 ~@43 a#2@24, ~@45 c3@54 ~@13]/7",
CP: "[g2@25 f2@20 ~@2 d#2@17]/4", CQ: "[~@3 g1@20 a#1@21 c2@28 ~@2 c2@21 c2@17]/7",
CR: "[~@3 c2@20 ~ c2@20 ~@2 c2@21 c2@13]/5", CS: "[~@6 c2@22 c2@19 ~]/3", CT: "[~@6 c2@21 ~@2 c2@21 c2@14]/4",
CU: "[~@12 c3@42 ~@19 g2@17 f2@18 ~@2 d#2@18, ~@7 a#2@12 ~@35 a#2@28 ~@46]/8", CV: "~ a#1@15", CW: "[~ c2@7]/2",
CX: "~ c2@15", CY: "[~@7 c2@20 c2@20 ~]/3", CZ: "[~@5 c2@21 ~ c2@18 c2@22 ~ c2@19 ~ c2@21 c2@19]/8",
DA: "[~@10 c3@42 ~@19 g2@9, ~@5 a#2@12 ~@35 a#2@28]/5", DB: "[~@8 f2@18 ~@2 d#2@18 g1@17 a#1@17]/5",
DC: "[~@2 c2@28 ~ c2@21 ~ c2@20 c2@20 ~ c2@18]/7", DD: "[~@3 c2@21 ~ c2@18 c2@22 ~ c2@14]/5", DE: "[~@2 c2@7 c2@7]/3",
DF: "~ c2@7", DG: "[~@7 c2@20 ~ c2@20]/3", DH: "[~@6 c2@21 ~@2 e2@3]/2", DI: "~@3 f2@6 g2@7",
DJ: "[~@3 a2@9 a#2@13 ~@5 g2@9 f2@7 e2@9 ~@7 [c1,c2]@65 ~, ~@25 a2@8 ~@22 d2@11 ~@62]/8", // C
})).s("gm_acoustic_bass").gain(0.35)
// bass · acoustic bass · soft notes
const bass_soft = note(`<
~@3 A@3 B@5 C@4 D@3 E@6 F@3 G@3 H@6 I@6 ~@8 J@6 K@4 L@6 M@5 N@3 O@7 P@5 Q@4 ~@8 J@6 K@4 L@6 M@5 N@3 O@7 P@5 J@6 K@4
L@6 M@5 N@3 O@7 P@5 Q@4 ~@8 J@6 K@4 L@6 M@5 N@3 O@7 P@5 Q@4 ~@8 J@6 K@4 L@6 M@5 N@3 O@7 P@5 Q@4 ~@8 J@6 K@4 L@6 M@5
N@3 O@7 P@5 Q@4 ~@8 J@6 K@4 L@6 M@5 N@3 O@7 P@5 R@4 S@3 T@3 ~@2 J@6 K@4 L@6 M@5 N@3 O@7 P@5 R@4 S@3 U@6 V@2 ~ W@3 X@2
Y Z@3 AA@3 AB@3 AC@3 AD@3 V@2 ~ W@3 X@2 Y Z@3 AA@3 AB@3 AC@3 AD@3 V@2 ~ W@3 X@2 Y Z@3 AA@3 AB@3 AC@3 AD@3 V@2 ~ W@3
X@2 Y Z@3 AA@3 AB@3 AC@3 AD@3 AE@3 B@5 AF@4 AG@2 ~@10 AH@2 AI@3 AJ@7 AK@3 ~@8 AL@4 T@3 AM@6 AN@3 ~@9 V@2 ~ W@3 X@2 Y
Z@3 AA@3 AB@3 AC@3 AD@3 AO@3 AP@6 S@3 AQ@3 AR@6 T@3 AS@3 T@3 AT@3 T@3 AU@2 ~@10 AV@3 S@6 AW@8 AX@7 AS@3 T@3 AT@3 T@3
AU@2 ~@10 AV@3 S@6 AW@8 AX@7 AS@3 T@3 AT@3 T@3 AU@2 ~@10 AV@3 S@6 AW@8 AX@7 AS@3 T@3 AT@3 T@3 AU@2 ~@10 AV@3 S@6 AW@8
AX@7 AS@3 T@3 AT@3 T@3 AU@2 ~@10 AV@3 S@6 AW@8 AX@7 AS@3 T@3 AT@3 T@3 AU@2 ~@10 AV@3 S@6 AW@8 AX@7 AS@3 T@3 AT@3 T@3
AU@2 ~@10 AV@3 S@6 AW@8 AX@7 AS@3 T@3 AT@3 T@3 AU@2 ~@10 AV@3 S@6 AW@8 AX@7 AS@3 T@3 AT@3 T@3 AU@2 ~@10 AV@3 S@6 AW@8
AX@7 AS@3 T@3 AT@3 T@3 AU@2 ~@10 AV@3 S@6 AW@8 AX@7 AS@3 T@3 AT@3 T@3 AU@2 ~@10 AV@3 S@6 AW@8 AX@7 AS@3 T@3 AT@3 T@3
AU@2 ~@10 AV@3 S@6 AW@8 AY@6 AZ@6 K@4 L@6 M@5 N@3 O@7 P@5 R@4 S@3 T@3 ~@2 J@6 K@4 L@6 M@5 N@3 O@7 P@5 R@4 S@3 U@6 V@2
~ W@3 X@2 Y Z@3 AA@3 AB@3 AC@3 AD@3 V@2 ~ W@3 X@2 Y Z@3 AA@3 AB@3 AC@3 AD@3 V@2 ~ W@3 X@2 Y Z@3 AA@3 AB@3 AC@3 AD@3
V@2 ~ W@3 X@2 Y Z@3 AA@3 AB@3 AC@3 AD@3 AE@3 B@5 AF@4 AG@2 ~@10 AH@2 AI@3 AJ@7 AK@3 ~@8 AL@4 T@3 AM@6 AN@3 ~@9 V@2 ~
W@3 X@2 Y Z@3 AA@3 AB@3 AC@3 AD@3 V@2 ~ W@3 X@2 Y Z@3 AA@3 AB@3 AC@3 AD@3 V@2 ~ W@3 X@2 Y Z@3 AA@3 AB@3 AC@3 AD@3 V@2
~ W@3 X@2 Y Z@3 AA@3 AB@3 AC@3 AD@3 V@2 ~ W@3 X@2 Y Z@3 AA@3 AB@3 AC@3 BA@3 V@2 ~ W@3 X@2 Y Z@3 AA@3 AB@3 AC@3 AD@3
V@2 ~ W@3 X@2 Y Z@3 AA@3 AB@3 AC@3 AD@3 ~@78 BB@4 BC@5 BD@5 BE@6 ~@5 BF@7 BG@8 BH@2 BI@4 BJ@2 BK BL@7 BM@5 ~ BN@5 BO@5
BP@3 Y BQ@4 BR@8 ~@2 BS@2 BT BU@3 Y BV@8 BW@8 ~@2 BX@7 BY@5 BZ@3 CA CB@3 Y CC@7 ~@4
>`.pickRestart({
A: "[~@3 c1@34 ~@11]/3", B: "[~ c1@35 ~@11 c1@33]/5", C: "[~@14 c1@39 ~@11]/4", D: "[c1@13 ~@3]/3",
E: "[c1@37 ~@10 c1@38 ~@11]/6", F: "[c1@19 ~@5]/3", G: "[~@2 c1@39 ~@7]/3", H: "[c1@35 ~@12 c1@36 ~@13]/6",
I: "[c1@37 ~@8 c1@39 ~@12]/6", J: "[~@15 c1@38 ~@9 c1@34]/6", K: "[~@7 c1@21 ~@4]/4", L: "[c1@37 ~@10 c1@39 ~@10]/6",
M: "[c1@37 ~@10 c1@33]/5", N: "[~@7 c1@17]/3", O: "[~@15 c1@39 ~@9 c1@37 ~@12]/7", P: "[c1@7 ~@2 c1@7]/5",
Q: "[~@13 c1@39 ~@12]/4", R: "[~@15 c1@39 ~@10]/4", S: "[c1@37 ~@11]/3", T: "[c1@35 ~@13]/3",
U: "[d#1@20 ~@3 d1@20 ~@5]/6", V: "[c1@27 ~@5]/2", W: "[e1@2 c1]/3", X: "f1/2", Y: "c1", Z: "[g1@32 c1@15 ~]/3",
AA: "[f1@16 c1@7 ~]/3", AB: "[a1@32 c1@13 ~@3]/3", AC: "[d#1@32 c1@15 ~]/3", AD: "[d1@17 ~@7]/3",
AE: "[~ c1@36 ~@11]/3", AF: "[~@15 e1@38 ~@11]/4", AG: "[f1@31 ~]/2", AH: "[c1@15 ~]/2", AI: "[~@13 c1@33 ~@2]/3",
AJ: "[~@14 c1@36 ~@11 e1@39 ~@12]/7", AK: "[f1@17 ~@7]/3", AL: "[~@15 c1@36 ~@13]/4", AM: "[c1@35 ~@11 e1@39 ~@11]/6",
AN: "[~ f1@34 ~@13]/3", AO: "[~@2 c1@17 ~@5]/3", AP: "[~ c1@16 ~@6 c1@18 ~@7]/6", AQ: "[~@2 c1@35 ~@11]/3",
AR: "[c1@36 ~@11 c1@38 ~@11]/6", AS: "[~@2 c1@31 ~@15]/3", AT: "[~ c1@37 ~@10]/3", AU: "[~ c1@29 ~@2]/2",
AV: "[~@2 c1@33 ~@13]/3", AW: "[~ c1@38 ~@8 c1@38 ~@9 c1@34]/8", AX: "[~@15 c1@39 ~@9 c1@36 ~@13]/7",
AY: "[~@5 c1@13 ~@3 c1@9 ~@2]/6", AZ: "[c1@26 ~@5 c1@17]/6", BA: "[d1@31 d1@2 ~@15]/3", BB: "[~@11 f1@31 f1@22]/4",
BC: "[~@4 f1@25 ~ f1@29 ~ f1@20]/5", BD: "[~@12 f1@33 ~ f1@34]/5", BE: "[~@11 f1@78 ~@7]/6",
BF: "[~@6 c1@28 ~ c1@21 c1@20 ~ c1@20 ~ c1@14]/7", BG: "[~@7 c1@21 c1@18 ~ c1@22 ~ c1@19 c1@21 ~ c1@17]/8",
BH: "[~@6 c1@21 ~@5]/2", BI: "[~@7 c2@41 a#1@16, a#1@11 ~@21]/4", BJ: "c2/2", BK: "a#1",
BL: "[c2@28 a#1@17 ~@43 a#1@24, ~@45 c2@54 ~@13]/7", BM: "[g1@25 f1@20 ~@2 d#1@24 ~@9]/5",
BN: "[~@12 c1@28 ~@2 c1@21 c1@17]/5", BO: "[~@3 c1@20 ~ c1@20 ~@2 c1@21 c1@13]/5", BP: "[~@6 c1@22 c1@19 ~]/3",
BQ: "[~@6 c1@21 ~@2 c1@21 c1@14]/4", BR: "[~@12 c2@42 ~@19 g1@17 f1@18 ~@2 d#1@18, ~@7 a#1@12 ~@35 a#1@28 ~@46]/8",
BS: "[~ c1@7]/2", BT: "~ c1@15", BU: "[~@7 c1@20 c1@20 ~]/3", BV: "[~@5 c1@21 ~ c1@18 c1@22 ~ c1@19 ~ c1@21 c1@19]/8",
BW: "[~@10 c2@42 ~@19 g1@17 f1@18 ~@2 d#1@20, ~@5 a#1@12 ~@35 a#1@28 ~@48]/8",
BX: "[~@2 c1@28 ~ c1@21 ~ c1@20 c1@20 ~ c1@18]/7", BY: "[~@3 c1@21 ~ c1@18 c1@22 ~ c1@14]/5", BZ: "[~@2 c1@7 c1@7]/3",
CA: "~ c1@7", CB: "[~@7 c1@20 ~ c1@20]/3",
CC: "[~@6 c1@17 [d1,d2]@6 e1@6 f1@6 g1@10 a1@9 a#1@13 ~@5 g1@9 f1@7 e1@9 d1@9, ~@73 a1@8 ~@31]/7", // D
})).s("gm_acoustic_bass").gain(0.2)
// bass · tuba
const bass_2 = note(`<
~@3 A@3 B@5 C@4 D@3 E@6 F@3 G@3 H@5 I@7 J@3 K@8 L@7 M@6 N@5 O@3 P@7 Q@5 R@4 J@3 K@8 L@7 M@6 N@5 O@3 P@7 Q@5 S@6 T@4
M@6 N@5 O@3 P@7 Q@5 R@4 J@3 K@8 L@7 M@6 N@5 O@3 P@7 Q@5 R@4 J@3 K@8 L@7 M@6 N@5 O@3 P@7 Q@5 R@4 J@3 K@8 L@7 M@6 N@5
O@3 P@7 Q@5 R@4 J@3 K@8 L@7 M@6 N@5 O@3 P@7 Q@5 U@4 V@3 W@5 X@6 T@4 M@6 N@5 O@3 P@7 Q@5 U@4 V@3 Y@6 Z@2 AA AB@3 AC@2
AD AE@3 AF@3 AG@3 AH@3 AI@3 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AI@3 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AI@3
Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AJ@3 AK@3 AL@5 AM@4 AN@2 AO AP@3 AQ@3 AR@3 AS@2 AT@3 AU@7 AV@3 AW@8 AX@4 AY@3
AZ@6 BA@3 BB@3 BC@6 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AI@3 BD@3 BE@6 V@3 BF@3 BG@6 AY@3 BH@3 BI@3 BJ@3 BK@3 BL@2
BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8 BT@7 BH@3 BI@3 BJ@3 BK@3 BL@2 BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8 BT@7 BH@3 BI@3
BJ@3 BK@3 BL@2 BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8 BT@7 BH@3 BI@3 BJ@3 BK@3 BL@2 BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8
BT@7 BH@3 BI@3 BJ@3 BK@3 BL@2 BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8 BT@7 BH@3 BI@3 BJ@3 BK@3 BL@2 BM@4 BN@3 BO@2 BP
BQ@3 V@3 BR@3 BS@8 BT@7 BH@3 BI@3 BJ@3 BK@3 BL@2 BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8 BT@7 BH@3 BI@3 BJ@3 BK@3 BL@2
BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8 BT@7 BH@3 BI@3 BJ@3 BK@3 BL@2 BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8 BT@7 BH@3 BI@3
BJ@3 BK@3 BL@2 BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8 BT@7 BH@3 BI@3 BJ@3 BK@3 BL@2 BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8
BT@7 BH@3 BI@3 BJ@3 BK@3 BL@2 BM@4 BN@3 BO@2 BP BQ@3 V@3 BR@3 BS@8 BU@6 BV@6 T@4 M@6 N@5 O@3 P@7 Q@5 U@4 V@3 W@5 X@6
T@4 M@6 N@5 O@3 P@7 Q@5 U@4 V@3 Y@6 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AI@3 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3
AH@3 AI@3 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AI@3 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AJ@3 AK@3 AL@5 AM@4
AN@2 AO AP@3 AQ@3 AR@3 AS@2 AT@3 AU@7 AV@3 AW@8 AX@4 AY@3 AZ@6 BA@3 BB@3 BC@6 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3
AI@3 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AI@3 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AI@3 Z@2 AA AB@3 AC@2 AD
AE@3 AF@3 AG@3 AH@3 AI@3 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 BW@3 Z@2 AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AI@3 Z@2
AA AB@3 AC@2 AD AE@3 AF@3 AG@3 AH@3 AI@3 BX@7 ~@43 BY@7 BZ@4 CA@4 CB@8 CC@3 CD@6 CE@5 CF@5 CG@5 CH@8 CI@5 CJ@8 CK@2
CL@4 CM@2 CN CO@7 CP@4 CQ@7 CR@5 CS@3 AD CT@4 CU@8 AA CV CW@2 CX CY@3 AD CZ@8 DA@5 DB@5 DC@7 DD@5 DE@3 DF DG@3 AD DH@2
DI DJ@8
>`.pickRestart({
A: "[~ c3@11 g2@4]/3", B: "[~ c3@35 ~@11 c3@33, ~@39 g2@15 ~@26]/5", C: "[~@14 c3@39 g2@11, ~@5 g2@16 ~@43]/4",
D: "[c3@37 g2@11]/3", E: "[c3@37 ~@10 c3@38 g2@11, ~@38 g2@15 ~@43]/6", F: "[c3@19 g2@5]/3", G: "[~ c3@18 g2@5]/3",
H: "[c3@35 ~@12 c3@33, ~@37 g2@16 ~@27]/5", I: "[~@16 c3@37 ~@8 c3@36 g2@15, ~@6 g2@17 ~@33 g2@17 ~@39]/7",
J: "[~@2 a2@33 g2@13]/3", K: "[a#2@34 a2@10 b2@39 a#2@11 ~ c3@33]/8",
L: "[~@4 g2@10 c3@36 ~@12 c3@39 g2@11, ~@53 g2@15 ~@44]/7", M: "[c3@37 g2@10 c3@38 g2@11]/6",
N: "[c3@37 ~@10 c3@33, ~@38 g2@15 ~@27]/5", O: "[~@7 c3@17, ~@7 g2@15 ~@26]/3",
P: "[~@5 g2@10 c3@38 g2@10 c3@37 ~ g2@11]/7", Q: "[c3@7 ~@2 c3@7, ~@18 g2@7 ~@15]/5", R: "[~@2 g2@11 c3@36 g2@15]/4",
S: "[~@2 g2@13 c3@37 g2@10 c3@34]/6", T: "[~@14 c3@39 g2@11, ~@5 g2@15 ~@44]/4", U: "[~@2 g2@13 c3@39 g2@10]/4",
V: "[c3@37 ~ g2@10]/3", W: "[c3@35 ~@11 a2@34, ~@37 g2@14 ~@29]/5", X: "[~@3 g2@12 c3@37 g2@10 c3@34]/6",
Y: "[d#3@37 ~@9 d3@37 g2 g2@12, ~@37 g2@14 ~@45]/6", Z: "[c3@27 ~@5]/2", AA: "g2", AB: "[e3@2 c3]/3", AC: "f3/2",
AD: "c3", AE: "[g3@32 c3@15 ~]/3", AF: "[f3@16 c3@7 ~]/3", AG: "[a3@32 c3@13 ~@3]/3", AH: "[d#3@32 c3@15 ~]/3",
AI: "[d3@8 g2@3 ~]/3", AJ: "[d3@32 g2 g2@12 ~@3]/3", AK: "[~ c3@35 g2@12]/3", AL: "[~ c3@33 g2@13 c3@33]/5",
AM: "[~@2 g2@13 e3@37 g2@12]/4", AN: "[f3@31 ~]/2", AO: "~@5 f2@11", AP: "[~ a2@17 f2@6]/3",
AQ: "[~ a#2@35 ~ f2@11]/3", AR: "[~ b2@35 f2@10 ~@2]/3", AS: "[c3@15 ~]/2", AT: "[~@2 g2@10 ~ c3@33 ~@2]/3",
AU: "[~ g2@12 ~ c3@36 g2@11 e3@38 g2@13]/7", AV: "[f3@34 ~ f2@12 ~]/3",
AW: "[~ a2@35 ~ f2@10 a#2@34 ~@2 f2@12 b2@32 ~]/8", AX: "[~@4 g2@11 c3@36 ~ g2@12]/4", AY: "[c3@35 ~ g2@12]/3",
AZ: "[c3@35 ~@2 g2@9 e3@38 g2@12]/6", BA: "[~ f3@34 f2@12 ~]/3", BB: "[a2@35 f2@13]/3",
BC: "[a#2@34 g2@13 b2@34 ~@3 g2@11 ~]/6", BD: "[~@4 c3@34 ~ g2@9]/3",
BE: "[~ c3@16 ~@6 c3@18 ~ g2@6, ~@19 g2@7 ~@22]/6", BF: "[~@2 c3@35 ~ g2@10]/3", BG: "[c3@36 ~@2 g2@9 c3@36 g2@13]/6",
BH: "[~@2 c3@31 ~ g2@13 ~]/3", BI: "[c3@33 g2@13 ~@2]/3", BJ: "[~ c3@37 g2@10]/3", BK: "[c3@35 ~@3 g2@10]/3",
BL: "[~ c3@29 ~@2]/2", BM: "[~@4 g2@11 a2@34 ~@5 g2@10]/4", BN: "[~ a#2@32 ~@4 g2@11]/3", BO: "[~ b2@30 ~]/2",
BP: "~@7 g2@9", BQ: "[~@2 c3@33 ~ g2@12]/3", BR: "[c3@37 ~@2 g2@9]/3",
BS: "[~ c3@37 g2@9 c3@38 ~@9 c3@34, ~@86 g2@13 ~@29]/8", BT: "[~@15 c3@36 g2@12 c3@36 g2@7 ~@6, ~@8 g2@13 ~@91]/7",
BU: "[~@5 c3@12 g2@4 c3@9 ~@2, ~@8 g2@13 ~@75]/6", BV: "[c3@26 g2@5 c3@17]/6",
BW: "[d3@31 ~ g2@12 ~@4, ~@31 d3@2 ~@15]/3", BX: "[~ a#2@24 ~@3]/7", BY: "[~ f2@27]/7",
BZ: "[~@8 f2@21 ~ f2@20 f2@14]/4", CA: "[~@7 f2@20 ~ f2@21 ~ f2@14]/4",
CB: "[~@4 f2@22 ~ f2@19 ~ f2@21 f2@21 ~ f2@19 ~ f2@18]/8", CC: "[~@3 f2@22 ~ f2@22]/3",
CD: "[~@8 f2@35 f3@30 ~ f3@22]/6", CE: "[~@4 f3@25 ~ f3@29 ~ f3@20]/5", CF: "[~@12 f3@33 ~ f3@34]/5",
CG: "[~@11 f3@69]/5", CH: "[~@9 f2@93 c3@26]/8", CI: "[~@3 c3@21 c3@20 ~ c3@20 ~ c3@14]/5",
CJ: "[~@7 c3@21 c3@18 ~ c3@22 ~ c3@19 c3@21 ~ c3@17]/8", CK: "[~@6 c3@21 ~@5]/2",
CL: "[~@7 c4@41 a#3@16, a#3@11 ~@21]/4", CM: "c4/2", CN: "a#3", CO: "[c4@28 a#3@17 ~@43 a#3@24, ~@45 c4@54 ~@13]/7",
CP: "[g3@25 f3@20 ~@2 d#3@17]/4", CQ: "[~@3 g2@20 a#2@21 c3@28 ~@2 c3@21 c3@17]/7",
CR: "[~@3 c3@20 ~ c3@20 ~@2 c3@21 c3@13]/5", CS: "[~@6 c3@22 c3@19 ~]/3", CT: "[~@6 c3@21 ~@2 c3@21 c3@14]/4",
CU: "[~@12 c4@42 ~@19 g3@17 f3@18 ~@2 d#3@18, ~@7 a#3@12 ~@35 a#3@28 ~@46]/8", CV: "~ a#2@15", CW: "[~ c3@7]/2",
CX: "~ c3@15", CY: "[~@7 c3@20 c3@20 ~]/3", CZ: "[~@5 c3@21 ~ c3@18 c3@22 ~ c3@19 ~ c3@21 c3@19]/8",
DA: "[~@10 c4@42 ~@19 g3@9, ~@5 a#3@12 ~@35 a#3@28]/5", DB: "[~@8 f3@18 ~@2 d#3@18 g2@17 a#2@17]/5",
DC: "[~@2 c3@28 ~ c3@21 ~ c3@20 c3@20 ~ c3@18]/7", DD: "[~@3 c3@21 ~ c3@18 c3@22 ~ c3@14]/5", DE: "[~@2 c3@7 c3@7]/3",
DF: "~ c3@7", DG: "[~@7 c3@20 ~ c3@20]/3", DH: "[~@6 c3@21 ~@2 e3@3]/2", DI: "~@3 f3@6 g3@7",
DJ: "[~@3 a3@9 a#3@13 ~@5 g3@9 f3@7 e3@9 ~@7 [c2,c3]@65 ~, ~@25 a3@8 ~@22 d3@11 ~@62]/8", // C
})).s("gm_tuba").gain(0.35)
// bass · tuba · soft notes
const bass_soft_2 = note(`<
~@3 A@3 B@5 C@4 D@3 E@6 F@3 G@3 H@6 I@6 ~@8 J@6 K@4 L@6 M@5 N@3 O@7 P@5 Q@4 ~@8 J@6 K@4 L@6 M@5 N@3 O@7 P@5 J@6 K@4
L@6 M@5 N@3 O@7 P@5 Q@4 ~@8 J@6 K@4 L@6 M@5 N@3 O@7 P@5 Q@4 ~@8 J@6 K@4 L@6 M@5 N@3 O@7 P@5 Q@4 ~@8 J@6 K@4 L@6 M@5
N@3 O@7 P@5 Q@4 ~@8 J@6 K@4 L@6 M@5 N@3 O@7 P@5 R@4 S@3 T@3 ~@2 J@6 K@4 L@6 M@5 N@3 O@7 P@5 R@4 S@3 U@6 V@2 ~ W@3 X@2
Y Z@3 AA@3 AB@3 AC@3 AD@3 V@2 ~ W@3 X@2 Y Z@3 AA@3 AB@3 AC@3 AD@3 V@2 ~ W@3 X@2 Y Z@3 AA@3 AB@3 AC@3 AD@3 V@2 ~ W@3
X@2 Y Z@3 AA@3 AB@3 AC@3 AD@3 AE@3 B@5 AF@4 AG@2 ~@10 AH@2 AI@3 AJ@7 AK@3 ~@8 AL@4 T@3 AM@6 AN@3 ~@9 V@2 ~ W@3 X@2 Y
Z@3 AA@3 AB@3 AC@3 AD@3 AO@3 AP@6 S@3 AQ@3 AR@6 T@3 AS@3 T@3 AT@3 T@3 AU@2 ~@10 AV@3 S@6 AW@8 AX@7 AS@3 T@3 AT@3 T@3
AU@2 ~@10 AV@3 S@6 AW@8 AX@7 AS@3 T@3 AT@3 T@3 AU@2 ~@10 AV@3 S@6 AW@8 AX@7 AS@3 T@3 AT@3 T@3 AU@2 ~@10 AV@3 S@6 AW@8
AX@7 AS@3 T@3 AT@3 T@3 AU@2 ~@10 AV@3 S@6 AW@8 AX@7 AS@3 T@3 AT@3 T@3 AU@2 ~@10 AV@3 S@6 AW@8 AX@7 AS@3 T@3 AT@3 T@3
AU@2 ~@10 AV@3 S@6 AW@8 AX@7 AS@3 T@3 AT@3 T@3 AU@2 ~@10 AV@3 S@6 AW@8 AX@7 AS@3 T@3 AT@3 T@3 AU@2 ~@10 AV@3 S@6 AW@8
AX@7 AS@3 T@3 AT@3 T@3 AU@2 ~@10 AV@3 S@6 AW@8 AX@7 AS@3 T@3 AT@3 T@3 AU@2 ~@10 AV@3 S@6 AW@8 AX@7 AS@3 T@3 AT@3 T@3
AU@2 ~@10 AV@3 S@6 AW@8 AY@6 AZ@6 K@4 L@6 M@5 N@3 O@7 P@5 R@4 S@3 T@3 ~@2 J@6 K@4 L@6 M@5 N@3 O@7 P@5 R@4 S@3 U@6 V@2
~ W@3 X@2 Y Z@3 AA@3 AB@3 AC@3 AD@3 V@2 ~ W@3 X@2 Y Z@3 AA@3 AB@3 AC@3 AD@3 V@2 ~ W@3 X@2 Y Z@3 AA@3 AB@3 AC@3 AD@3
// … 380 more lines
More by Grand Funk Railroad
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.