0:00/0:00
// Marathon — Rush
// 150 bpm, 4/4, key B major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Full arrangement: all 174 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(150/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest · "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.
// other · violin · "Synth 1"
const violin = note(`<
~@5 A@8 B@4 C D@4 E@2 F@2 G@5 H@2 I@4 J@7 K@2 L@2 M@3 N@8 O@4 P Q@4 ~@5 R@3 S@2 T@2 U@2 V@2 ~@90
>`.pickRestart({
A: "[~@18 f#4@62 e4@49 ~ c#4@3 d#4@3 d#4@6 ~ d#4@6 ~ d#4@3 c#4@3 b3@26 ~ b3@3 c#4@6]/8",
B: "[~ c#4@3 c#4@6 ~ c#4@3 b3@3 a3@26 ~ a3@3 d#4@3 d#4@6 ~ d#4@6 c#4@3 ~ b3@23 b3@3 b3@3]/4",
C: "~ b3@3 c#4@6 ~ c#4@3 c#4@6 e4@3 ~", D: "[c#4@33 ~@13 f#4@40 ~@10]/4", E: "[~@3 e4@40 ~@5]/2", F: "[~ a4@5]/2",
G: "[f#4@53 e4@46 e4@3 e4@3 ~ d#4@3 d#4@6 d#4@5]/5", H: "[~@2 d#4@3 c#4@3 ~ b3@26 f#3@3 c#4@3 ~ c#4@6]/2",
I: "[c#4@6 ~ b3@6 ~ a3@29 d#4@3 ~ d#4@3 d#4@3 d#4@6 ~ d#4@3 f#4@26 ~ b3@3 b3@3]/4",
J: "[c#4@3 ~ c#4@3 c#4@3 c#4@6 ~ e4@3 c#4@33 ~@14 f#4@40 ~@12 e4@40 ~@9]/7", K: "[~ a4@10 ~]/2",
L: "[~@3 f#3@6 b3@6 ~ a3@32]/2", M: "[~ e3@20 b3@33 d#4@18]/3",
N: "[~@2 d#5@6 d#5@6 ~ c#5@3 b4@16 ~ c#4@26 c#5@3 ~ d#5@6 c#5@16 ~ b3@13 b4@6 ~ b4@3 b4@6 ~ b4@6 b4@6 ~ d#5@6 ~ d#5@9 d#5@3 ~ d#5@6 b4@3 ~ c#5@6 c#5@25]/8",
O: "[~@2 d#4@20 d#5@6 d#5@3 ~ f#5@6 f#5@16 ~@7 f#5@3 ~ g#5@10 f#5@3 g#5@6 f#5@6 ~ d#5@5]/4",
P: "~@2 c#5@10 ~@6 b5@3 ~ b5@2", Q: "[~ b5@6 ~ a#5@3 g#5@6 f#5@20 b4@3 ~ g#5@20 ~@6 e5@3 f#5@6 ~ f#5@16 ~@3]/4",
R: "[~ f#4@5]/3", S: "[d#4 d#4@2 d#4@2 d#4 c#4 b3@8 f#3]/2", T: "[c#4 c#4@2 c#4@2 b3@2 a3@9]/2",
U: "[d#4!3 d#4@2 d#4 f#4@8 b3!2]/2", V: "[c#4!3 c#4@2 e4 c#4@10]/2",
})).s("gm_violin").gain(0.56)
// other · synth bass 1 · "Synth 1"
const synth_bass_1 = note(`<
~@84 A@2 B@2 C@2 D@2 E@2 F G H I J@3 K F L M@2 N@2 O P ~@3 Q@4 R@7 S@4 T U@2 V@4 T W@2 X@2 Y@5 Z@8 AA@8 AB@6 AC@2 AD@5
>`.pickRestart({
A: "[~ f#4@3]/2", B: "[~ e4@3]/2", C: "[~ a4@3]/2", D: "[~ f#3 b3 a3@5]/2", E: "[e3@3 b3@5]/2", F: "d#4@3 d#5",
G: "d#5@2 c#5 b4@5", H: "c#4", I: "c#5 d#5@2 c#5@5",
J: "[b3@4 b4@2 b4 b4@2 b4@2 b4@2 d#5@2 d#5@3 d#5 d#5@2 b4 c#5@2]/3", K: "c#5", L: "d#5 f#5@2 f#5@5",
M: "[~@2 f#5 g#5@3 f#5 g#5@2 f#5@2 d#5@2 c#5@3]/2", N: "[~@2 b5!2 b5@2 a#5 g#5@2 f#5@6 b4]/2", O: "g#5@3 ~",
P: "e5 f#5@2 f#5@5", Q: "[~@2 f#4@13 a4]/4", R: "[g#4@14 f#4@13 a4]/7", S: "[g#4@28 ~@2 f#4!2]/4",
T: "f#4@2 f#4 a4@4 f#4", U: "[e4 d4 e4@2 b3@9 c#4@2 a3]/2", V: "[e4@2 e4 e4@2 d4 ~ b3@21 ~@2 f#4!2]/4",
W: "[e4 d4 e4@2 b3@9 c#4@3]/2", X: "[b4@2 a4@2 a4@2 f#4 a4@2 f#4@5 b4@2]/2", Y: "[a4@2 a4@2 f#4 b4@7 e5@28]/5",
Z: "[d5@14 e5@14 d#4@6 d#5@2 d#5@2 c#5 b4@5 c#4@8 c#5 d#5@2 c#5@5 b3@4]/8",
AA: "[b4@2 b4 b4@2 b4@2 b4@2 d#5@2 d#5@3 d#5 d#5@2 b4 c#5@2 c#5@8 d#4@6 d#5@2 d#5 f#5@2 f#5@5 ~@2 f#5 g#5@3 f#5 g#5@2 f#5@2 d#5@2 c#5@3 ~@2 b5!2]/8",
AB: "[b5@2 a#5 g#5@2 f#5@6 b4 g#5@6 ~@2 e5 f#5@2 f#5@5 f4@6 f5@2 f5@2 d#5 c#5@6 ~@3]/6",
AC: "[d#5@2 d#5@2 d#5@2 c#5 c5@6 ~ c#5!2]/2",
AD: "[c#5@2 a#4 f#4 a#4 c#5@2 a#4@6 a#5@5 ~@2 f#5 g#5@2 g#5@5 c#5@12]/5",
})).s("gm_lead_8_bass_lead").gain(0.56)
// other · synth brass 1 · "PrecLdGui"
const synth_brass_1 = note(`<
~@2 A@4 B@7 ~ C@3 D@5 E@2 F@2 G@7 ~ H@3 I@7 J@2 K@2 L@3 M@8 N O@4 P@3 Q ~@2 R@2 S@2 T@2 U@2 V ~ W@2 X@2 Y@2 Z@2 AA@2
AB@2 AC@2 AD AE AF AG AH@3 AI AD AJ AK@2 AL@2 AM AN ~@3 AO@4 AP@7 AQ@4 AR AS@2 AT@4 AR AU@2 AV@2 AW@5 AX@8 AY@8 AZ@6
BA@2 BB@5
>`.pickRestart({
A: "[~@2 f#3 e4@6 e3 b3 a4@5]/4", B: "[~@6 c#4@50 c#4@49 ~@4 c#4@16 ~@7 f#3@26 ~@4 a3@6]/7",
C: "[~@23 c#4@20 f#3@23 ~@6]/3", D: "[~@4 a3@53 ~@13 c#4@40 ~@10]/5", E: "[~@3 a3@40 ~@5]/2", F: "[~ d4@5]/2",
G: "[c#4@53 b3@46 ~@7 c#4@16 ~@7 f#3@26 ~@3 a3@3 ~@7]/7", H: "[~@19 c#4@46 ~@7]/3",
I: "[a3@53 ~@14 c#4@40 ~@12 a3@40 ~@9]/7", J: "[~ d4@10 ~]/2", K: "[~@3 f#4@13]/2",
L: "[~ b4@13 a4@6 ~ f#4@33 b3@18]/3",
M: "[~@8 b4@6 ~@4 g#4@16 ~ a#3@26 a#4@3 ~@7 a#4@16 ~ g#3@13 g#4@6 ~@4 g#4@26 ~ b4@29 a#4@25]/8", N: "~ b3@10 ~",
O: "[~@4 b4@3 ~@7 e5@16 ~@11 c#5@10 ~@3 c#5@6 c#5@6 ~ a#4@16 ~@13]/4",
P: "[~ g#5@6 ~@4 b4@6 b4@20 ~@4 e5@20 ~@6 c#5@3 ~@2]/3", Q: "~@5 c#5@16 ~@3", R: "[~ f#3 e4@6]/2",
S: "[e3 b3 a4@6]/2", T: "c#4/2", U: "[c#4@5 ~@2 f#3@8 ~]/2", V: "a3 ~@7", W: "[c#4@7 ~]/2", X: "a3/2",
Y: "[~ c#4@3]/2", Z: "[~ a3@3]/2", AA: "[~ d4@3]/2", AB: "[~ f#4@3]/2", AC: "[b4@2 a4 f#4@5]/2", AD: "b3@3 ~",
AE: "b4@2 ~ g#4@5", AF: "a#3", AG: "a#4 ~@2 a#4@5", AH: "[g#3@4 g#4@2 ~ g#4@8 b4@9]/3", AI: "a#4", AJ: "b4 ~@2 e5@5",
AK: "[~@3 c#5@3 ~ c#5@2 c#5@2 a#4@5]/2", AL: "[~@4 g#5@2 ~ b4@2 b4@6 ~]/2", AM: "e5@3 ~", AN: "c#5 ~@2 c#5@5",
AO: "[~@2 d4@13 e4]/4", AP: "[e4@14 d4@13 e4]/7", AQ: "[e4@7 ~]/4", AR: "d4@2 ~ f#4@4 ~",
AS: "[~@2 b3@2 f#3@9 a3@2 ~]/2", AT: "[b3@7 g#3@21 ~@4]/4", AU: "[~@2 b3@2 f#3@9 a3@3]/2",
AV: "[g#4@2 ~@2 e4@2 ~ e4@7 g#4@2]/2", AW: "[~@2 e4@2 ~ g#4@7 d5@28]/5",
AX: "[a4@14 d5@14 b3@6 ~@2 b4@2 ~ g#4@5 a#3@8 a#4 ~@2 a#4@5 g#3@4]/8",
AY: "[g#4@2 ~ g#4@8 b4@9 a#4@8 b3@6 ~@2 b4 ~@2 e5@5 ~@3 c#5@3 ~ c#5@2 c#5@2 a#4@5 ~@4]/8",
AZ: "[g#5@2 ~ b4@2 b4@6 ~ e5@6 ~@2 c#5 ~@2 c#5@5 c#4@6 ~@2 c#5@2 ~ g#4@6 ~@3]/6",
BA: "[c5@2 c5@2 c5@2 a#4 g#4@6 ~@3]/2", BB: "[a#4@2 a#4@2 a#4@2 g#4 f#4@6 f#5@5 ~@2 d#5 ~@2 d#5@5 g#4@12]/5",
})).s("gm_synth_brass_1").gain(0.42)
// other · synth brass 2 · "PrecLdGui"
const synth_brass_2 = note(`<
A@2 B@4 C@6 D@3 ~@2 E@2 F@7 G@6 H@5 I@2 J@7 K@3 ~ L M@8 N O@4 P@3 Q R@2 S@2 T@2 U@2 V ~ I@2 W@2 I@2 X@4 Y@2 Z@2 ~@2 AA
AB AC AD AE@3 ~@73
>`.pickRestart({
A: "[~@5 f#3@3 b3@16]/2", B: "[~ b2 f#2 b2@6 ~ b2 e3@5]/4", C: "[~@6 b3@50 a3@49 ~@4 f#3@16 ~@19]/6",
D: "[~@18 e3@49 ~@5]/3", E: "[~ e3@11]/2", F: "[~@15 f#3@46 ~@7 f#3@46 ~ d3@53]/7",
G: "[b3@53 a3@46 ~@7 f#3@16 ~@22]/6", H: "[~@14 e3@53 f#3@46 ~@7]/5", I: "e3/2",
J: "[~@12 f#3@46 ~@7 f#3@46 d3@53 ~@4]/7", K: "[~@9 e4@40 ~@23]/3", L: "~ f#3@3",
M: "[~@8 f#4@6 ~@4 e4@16 ~ f#3@26 f#4@3 ~@7 f#4@16 ~ e3@13 e4@6 ~@4 e4@26 ~ g#4@29 f#4@25]/8", N: "~ f#3@10 ~",
O: "[~@4 f#4@3 ~@7 b4@16 ~@11 a#4@10 ~@3 a#4@6 a#4@6 ~ f#4@16 ~@13]/4",
P: "[~ e5@6 ~@4 g#4@6 g#4@20 ~@4 b4@20 ~@6 a#4@3 ~@2]/3", Q: "~@5 a#4@16 ~@3", R: "[~@4 f#3@6 ~ b3@37]/2",
S: "[b2 f#2 b2@6]/2", T: "[~ b2 e3@6]/2", U: "b3/2", V: "f#3@5 ~@3", W: "[f#3@7 ~]/2", X: "[~ f#3@7]/2", Y: "d3/2",
Z: "[~ e4@3]/2", AA: "f#3@3 ~", AB: "f#4@2 ~ e4@5", AC: "f#3", AD: "f#4 ~@2 f#4@5", AE: "[e3@4 e4@2 ~ e4@8 g#4@9]/3",
})).s("gm_synth_brass_2").gain(0.42)
// other · violin · "PrecLdGui"
const violin_2 = note(`<
~@101 A B C D@2 E@2 F G ~@3 H@4 I@7 J@4 K ~ L M@4 K ~ N O@2 P@5 ~ Q@7 R@8 S@6 T@2 U@5
>`.pickRestart({
A: "f#4", B: "f#3@3 ~", C: "f#4 ~@2 b4@5", D: "[~@3 a#4@3 ~ a#4@2 a#4@2 f#4@5]/2", E: "[~@4 e5@2 ~ g#4@2 g#4@6 ~]/2",
F: "b4@3 ~", G: "a#4 ~@2 a#4@5", H: "[~@2 b3@13 b3]/4", I: "[b3@14 b3@13 b3]/7", J: "[b3@7 ~]/4", K: "b3@2 ~ b3@4 ~",
L: "~@5 f#3@2 ~", M: "[g#3@7 e3@21 ~@4]/4", N: "~@5 f#3@3", O: "[e4@2 ~@2 b3@2 ~ b3@7 e4@2]/2",
P: "[~@2 b3@2 ~ e4@7 a4@28]/5", Q: "[~@6 a4@14 f#3@6 ~@2 f#4@2 ~ e4@5 f#3@8 f#4 ~@2 f#4@5 e3@4]/7",
R: "[e4@2 ~ e4@8 g#4@9 f#4@8 f#3@6 ~@2 f#4 ~@2 b4@5 ~@3 a#4@3 ~ a#4@2 a#4@2 f#4@5 ~@4]/8",
S: "[e5@2 ~ g#4@2 g#4@6 ~ b4@6 ~@2 a#4 ~@2 a#4@5 g#3@6 ~@2 g#4@2 ~ f4@6 ~@3]/6",
T: "[g#4@2 g#4@2 g#4@2 f#4 d#4@6 ~@3]/2", U: "[f#4@2 ~ a#4@2 a#4@6 ~ c#5@6 ~@2 c5 ~@2 c5@5 f4@12]/5",
})).s("gm_violin").gain(0.42)
// other · bassoon · "Power Bas"
const bassoon = note(`<
A@7 B C D@3 E F G@2 H I J@2 K L M@2 N@2 O@2 P@2 Q R@2 S T@2 U V W@2 X Y@3 Z AA@3 AB AC AD@4 AE@5 AF@6 AG@5 AH@2 AI@2
AJ@10 AK@2 AL AM AN AO AP@2 AN AQ AR@2 AS@2 AT@2 AU AV AR@2 AS@2 AW@2 AX AY AZ BA BB BC BD BE BF BG BH BI BC BD BE BF
BG BH BI BJ BK@3 BL@2 BM@2 BK@3 BN@2 BO BP BQ BR BS BT BU BV BW@2 BX@6 BY@2 BZ@4 CA@4 CB@4 CC@4
>`.pickRestart({
A: "[~@3 b3@6 ~ f#3@6 b3@37 ~ a3@6 ~@6 a3@36 ~@6 b3@6 e4@36 f#3@3 b2@3 ~@3 b3@6 b3 a3 ~]/7",
B: "f#3@3 a3@3 f#3@3 b2@3 ~@4 b3@6 b3@2", C: "a3@2 f#3@3 a3@3 f#3@3 b2@3 ~@4 b3@6",
D: "[~@2 a3@2 f#3@3 a3@3 ~ f#3@3 b2@3 ~@4 b3@6 b3@2 ~ f#3@3 ~ a3@3 f#3@3 b2@3 ~@4 b3@6 ~@2 a3@2 f#3@3 a3@3 ~ f#3@3 b2@3 ~@2, ~ b3@2 ~@26 a3@2 ~@23 b3@2 ~@16]/3",
E: "~ b3@6 ~ b3@2 ~ f#3@3 ~ a3@3 f#3@3 b2@3, ~@5 a3 ~@6", F: "~@4 b3@6 ~@2 a3@2 f#3@3 a3@3 f#3@3 ~, ~@11 b3@2 ~@11",
G: "[b2@3 ~@3 b3@6 ~ b3@2 ~ f#3@3 ~ a3@3 f#3@3 b2@3 ~@4 b3@6 b3@2 a3@2 f#3@3 a3@2, ~@15 a3@2 ~@31]/2",
H: "~ f#3@3 ~ b2@3 ~@3 b3@6 ~ b3@2 ~ f#3@3, ~@10 a3 ~", I: "~ a3@3 f#3@3 b2@3 ~@4 b3@6 b3@2 a3@2",
J: "[f#3@3 a3@3 f#3@3 ~ b2@3 ~@3 b3@6 ~ b3@2 ~ f#3@3 ~ a3@3 b2@3 b2@3 b2@3 ~ b2@3 b2@2, ~@25 a3@2 ~@21]/2",
K: "~ b2@3 ~ b2@3 b2@3 b2@3 ~ b2@3 b2@3 b2@3", L: "~ b2@3 b2@3 b2@3 b2@3 ~ d3@3 d3@3 d3@3 ~",
M: "[d3@3 d3@3 d3@3 ~ d3@3 d3@3 d3@3 ~ d3@3 d3@3 d3@3 d3@3 ~ e3@3 d3@3 b2@3 ~ g2@3 g2@2]/2",
N: "[~ g2@3 ~ g2@3 g2@3 g2@3 ~ f#2@3 g2@3 a2@6 ~ a2@3 g2@3 a2@6 ~ a2@6 ~]/2",
O: "[f#3@3 b2@3 ~@4 b3@6 b3@2 a3@2 f#3@3 a3@3 f#3@3 b2@3 ~@4 b3@6 ~@2 a3@2 f#3@2, ~@43 b3@2 ~@3]/2",
P: "[~ a3@3 ~ f#3@3 b2@3 ~@4 b3@6 b3@2 ~ f#3@3 ~ a3@3 f#3@3 b2@3 ~@4 b3@6 ~, ~@23 a3@2 ~@23]/2",
Q: "~ a3@2 f#3@3 a3@3 ~ f#3@3 b2@3 ~@3 b3@5, b3 ~@11",
R: "[~@2 b3@2 ~ f#3@3 ~ a3@3 f#3@3 b2@3 ~@4 b3@6 ~@2 a3@2 f#3@3 a3@3 f#3@3 ~ b2@3 ~@3, ~@4 a3@2 ~@23 b3@2 ~@17]/2",
S: "b3@6 ~ b3@2 ~ f#3@3 ~ a3@3 f#3@3 b2@3 ~, ~@9 a3@2 ~@13",
T: "[~@3 b3@6 b3@2 a3@2 f#3@3 a3@3 f#3@3 ~ b2@3 ~@3 b3@6 ~ b3@2 ~ f#3@3 ~ a3@3 f#3@2, ~@19 a3 ~@4]/2",
U: "~ b2@3 ~@4 b3@6 b3@2 a3@2 f#3@3 a3@3", V: "f#3@3 ~ b2@3 ~@3 b3@6 ~ b3@2 ~ f#3@3 ~, ~@19 a3@2 ~@3",
W: "[a3@3 f#3@3 b2@3 ~@4 b3@6 b3@2 a3@2 f#3@3 a3@3 b2@3 ~ b2@3 b2@3 b2@3 ~ b2@3 b2@2]/2",
X: "~ b2@3 b2@3 ~ b2@3 b2@3 b2@3 ~ b2@3 b2@3",
Y: "[b2@3 ~ b2@3 b2@3 d3@3 ~ d3@3 d3@3 d3@3 d3@3 ~ d3@3 d3@3 d3@3 ~ d3@3 d3@3 d3@3 ~ d3@3 d3@3 e3@3 ~ d3@3 b2@3 g2@3 g2@3 ~ g2@2]/3",
Z: "~ g2@3 g2@3 ~ g2@3 f#2@3 g2@3 ~ a2@6", AA: "[a2@3 ~ g2@3 a2@6 ~ a2@6 b2@10 f#2@3 b2@26 ~ b2@10 f#2@2]/3",
AB: "~ g2@3 g2@3 ~ g2@3 g2@3 g2@3 ~ g2@3 f#2@3", AC: "g2@3 ~ a2@13 a2@7", AD: "[~@6 b2@40 e2@13 f#2@37]/4",
AE: "[~@9 f#2@6 ~ e2@53 g#2@26 a#2@13 ~ a#2@6 g#2@3 a#2@2]/5", AF: "[~@2 b2@39 e2@13 ~ f#2@46 f#2@6 ~ e2@36]/6",
AG: "[~@3 e2@13 ~ e2@26 f#2@20 f#2@6 ~ b3@6 f#3@6 ~ b3@37]/5", AH: "[a3 ~ a3@6]/2", AI: "[~ b3 e4@6]/2",
AJ: "f#3@3 b2@3 ~@3 b3@6 b3 ~ a3 f#3@3 a3@3", AK: "b2!8", AL: "d3!8", AM: "d3!5 e3 d3 b2", AN: "g2!6 f#2 g2",
AO: "a2@2 a2 g2 a2@2 a2@2", AP: "[b2@3 f#2 b2@8 b2@3 f#2]/2", AQ: "a2!2", AR: "[b2@3 e2]/2", AS: "[f#2@7 f#2]/2",
AT: "e2/2", AU: "g#2", AV: "a#2@4 a#2@2 g#2 a#2", AW: "[e2@3 e2]/2", AX: "e2", AY: "f#2@3 f#2",
AZ: "d3 a2 d3 e3 d3 f#3 b2 d3", BA: "a3 d3 e3 d3 f#3 b2 d3 a2", BB: "d3 e3 d3 f#3 b2 d3 a3 d3",
BC: "e3 d3 f#3 b2 d3!3 e3", BD: "d3 f#3 b2 d3@2 d3 e3 d3", BE: "f#3 b2 d3!3 e3 d3 f#3", BF: "b2 d3!3 e3 d3 f#3 b2",
BG: "d3@2 d3 e3 d3 f#3 b2 d3", BH: "d3!2 e3 d3 f#3 b2 d3@2", BI: "d3 e3 d3 f#3 b2 d3!3", BJ: "e3 d3 f#3 b2 b2@2 b2@2",
BK: "[b3@3 b2@4 b3@3 b2@2 b2@2 b3@3 b2@4 b3@3]/3", BL: "[e2@2 e2@2 e3@3 e2@4 e3@3 e2@2]/2",
BM: "[e2@2 e3@3 e2@4 e3@3 b2@2 b2@2]/2", BN: "[e2@9 e2!7]/2", BO: "e2!8", BP: "e2!4 d3 a2 d3 e3",
BQ: "a2 f#3 b2 d3 a3 d3 e3 a2", BR: "f#3 b2 d3!3 e3 a2 f#3", BS: "b2 d3@2 d3 e3 a2 f#3 b2",
BT: "d3 a2 d3 e3 a2 f#3 b2 d3", BU: "a3 d3 e3 a2 f#3 b2 d3!2", BV: "d3 e3 a2 f#3 b2 d3@2 d3",
BW: "[e3 a2 f#3 b2 b2@12]/2", BX: "[e2@2 f#2@7 f#2 e2@8 g#2@4 a#2@2]/6", BY: "[a#2@2 g#2 a#2 b2@12]/2",
BZ: "[e2@2 f#2@7 f#2 e2@6]/4", CA: "[e2@2 e2@4 f#2@3 f#2 c#3@6]/4", CB: "[f#2@2 g#2@7 g#2 f#2@6]/4",
CC: "[f#2@2 f#2@4 g#2@3 g#2 c#4@6]/4",
})).s("gm_bassoon").gain(0.54)
// bass · tenor sax · "Metal Bas"
const bass = note(`<
A@3 B@2 C@2 D E F@3 G H I@2 J K L@2 M N O@2 P@2 Q@2 R@2 S T@2 U V@2 W X Y@2 Z AA@3 AB AC@3 AD AE AF@4 AG@5 AH@6 AI@4
AJ AK AJ AL AM AN@10 AO@2 AP AQ AR AS AT@2 AR AU AV@2 AW@2 AX@2 AY AZ AV@2 AW@2 BA@2 AM BB BC BD BE BF ~@13 BG BH@3
BI@2 BJ@2 BH@3 BK@2 BL BM BN BO BP BQ BR BS BT@2 BU@6 BV@2 BW@4 BX@4 BY@4 BZ@4
>`.pickRestart({
A: "[~@3 b1@20 b1@6 ~ b1@24 b1@18]/3", B: "[b1 b1@4 e1@3]/2", C: "[e1@6 e1@24 f#2@3 b1@3 ~@3 b2@6 b2 a2 ~]/2",
D: "f#2@3 a2@3 f#2@3 b1@3 ~@4 b2@6 b2@2", E: "a2@2 f#2@3 a2@3 f#2@3 b1@3 ~@4 b2@6",
F: "[~@2 a2@2 f#2@3 a2@3 ~ f#2@3 b1@3 ~@4 b2@6 b2@2 ~ f#2@3 ~ a2@3 f#2@3 b1@3 ~@4 b2@6 ~@2 a2@2 f#2@3 a2@3 ~ f#2@3 b1@3 ~@2, ~ b2@2 ~@26 a2@2 ~@23 b2@2 ~@16]/3",
G: "~ b2@6 ~ b2@2 ~ f#2@3 ~ a2@3 f#2@3 b1@3, ~@5 a2 ~@6", H: "~@4 b2@6 ~@2 a2@2 f#2@3 a2@3 f#2@3 ~, ~@11 b2@2 ~@11",
I: "[b1@3 ~@3 b2@6 ~ b2@2 ~ f#2@3 ~ a2@3 f#2@3 b1@3 ~@4 b2@6 b2@2 a2@2 f#2@3 a2@2, ~@15 a2@2 ~@31]/2",
J: "~ f#2@3 ~ b1@3 ~@3 b2@6 ~ b2@2 ~ f#2@3, ~@10 a2 ~", K: "~ a2@3 f#2@3 b1@3 ~@4 b2@6 b2@2 a2@2",
L: "[f#2@3 a2@3 f#2@3 ~ b1@3 ~@3 b2@6 ~ b2@2 ~ f#2@3 ~ a2@3 b1@3 b1@3 b1@3 ~ b1@3 b1@2, ~@25 a2@2 ~@21]/2",
M: "~ b1@3 ~ b1@3 b1@3 b1@3 ~ b1@3 b1@3 b1@3", N: "~ b1@3 b1@3 b1@3 b1@3 ~ d2@3 d2@3 d2@3 ~",
O: "[d2@3 d2@3 d2@3 ~ d2@3 d2@3 d2@3 ~ d2@3 d2@3 d2@3 d2@3 ~ e2@3 d2@3 b1@3 ~ g1@3 g1@2]/2",
P: "[~ g1@3 ~ g1@3 g1@3 g1@3 ~ f#1@3 g1@3 a1@6 ~ a1@3 g1@3 a1@6 ~ a1@6 ~]/2",
Q: "[f#2@3 b1@3 ~@4 b2@6 b2@2 a2@2 f#2@3 a2@3 f#2@3 b1@3 ~@4 b2@6 ~@2 a2@2 f#2@2, ~@43 b2@2 ~@3]/2",
R: "[~ a2@3 ~ f#2@3 b1@3 ~@4 b2@6 b2@2 ~ f#2@3 ~ a2@3 f#2@3 b1@3 ~@4 b2@6 ~, ~@23 a2@2 ~@23]/2",
S: "~ a2@2 f#2@3 a2@3 ~ f#2@3 b1@3 ~@3 b2@5, b2 ~@11",
T: "[~@2 b2@2 ~ f#2@3 ~ a2@3 f#2@3 b1@3 ~@4 b2@6 ~@2 a2@2 f#2@3 a2@3 f#2@3 ~ b1@3 ~@3, ~@4 a2@2 ~@23 b2@2 ~@17]/2",
U: "b2@6 ~ b2@2 ~ f#2@3 ~ a2@3 f#2@3 b1@3 ~, ~@9 a2@2 ~@13",
V: "[~@3 b2@6 b2@2 a2@2 f#2@3 a2@3 f#2@3 ~ b1@3 ~@3 b2@6 ~ b2@2 ~ f#2@3 ~ a2@3 f#2@2, ~@19 a2 ~@4]/2",
W: "~ b1@3 ~@4 b2@6 b2@2 a2@2 f#2@3 a2@3", X: "f#2@3 ~ b1@3 ~@3 b2@6 ~ b2@2 ~ f#2@3 ~, ~@19 a2@2 ~@3",
Y: "[a2@3 f#2@3 b1@3 ~@4 b2@6 b2@2 a2@2 f#2@3 a2@3 b1@3 ~ b1@3 b1@3 b1@3 ~ b1@3 b1@2]/2",
Z: "~ b1@3 b1@3 ~ b1@3 b1@3 b1@3 ~ b1@3 b1@3",
AA: "[b1@3 ~ b1@3 b1@3 d2@3 ~ d2@3 d2@3 d2@3 d2@3 ~ d2@3 d2@3 d2@3 ~ d2@3 d2@3 d2@3 ~ d2@3 d2@3 e2@3 ~ d2@3 b1@3 g1@3 g1@3 ~ g1@2]/3",
AB: "~ g1@3 g1@3 ~ g1@3 f#1@3 g1@3 ~ a1@6", AC: "[a1@3 ~ g1@3 a1@6 ~ a1@6 b1@10 f#1@3 b1@26 ~ b1@10 f#1@2]/3",
AD: "~ g1@3 g1@3 ~ g1@3 g1@3 g1@3 ~ g1@3 f#1@3", AE: "g1@3 ~ a1@13 a1@7", AF: "[~@6 b1@40 e1@13 f#1@37]/4",
AG: "[~@9 f#1@6 ~ e1@53 g#1@26 a#1@13 ~ a#1@6 g#1@3 a#1@2]/5", AH: "[~@2 b1@39 e1@13 ~ f#1@46 f#1@6 ~ e1@36]/6",
AI: "[~@3 e1@13 ~ e1@26 f#1@20 f#1@6 ~ b1@19 b1@6 ~]/4", AJ: "b1", AK: "b1@3 b1", AL: "e1@3 e1", AM: "e1",
AN: "f#2@3 b1@3 ~@3 b2@6 b2 ~ a2 f#2@3 a2@3", AO: "b1!8", AP: "d2!8", AQ: "d2!5 e2 d2 b1", AR: "g1!6 f#1 g1",
AS: "a1@2 a1 g1 a1@2 a1@2", AT: "[b1@3 f#1 b1@8 b1@3 f#1]/2", AU: "a1!2", AV: "[b1@3 e1]/2", AW: "[f#1@7 f#1]/2",
AX: "e1/2", AY: "g#1", AZ: "a#1@4 a#1@2 g#1 a#1", BA: "[e1@3 e1]/2", BB: "f#1@3 f#1", BC: "d2 a1 d2 e2 d2 f#2 b1 d2",
BD: "a2 d2 e2 d2 f#2 b1 d2 a1", BE: "d2 e2 d2 f#2 b1 d2 a2 d2", BF: "e2 d2 f#2 b1 ~@4", BG: "~@2 b1!2",
BH: "[b2@3 b1@4 b2@3 b1@2 b1@2 b2@3 b1@4 b2@3]/3", BI: "[e1@2 e1@2 e2@3 e1@4 e2@3 e1@2]/2",
BJ: "[e1@2 e2@3 e1@4 e2@3 b1@2 b1@2]/2", BK: "[e1@9 e1!7]/2", BL: "e1!8", BM: "e1!4 d2 a1 d2 e2",
BN: "a1 f#2 b1 d2 a2 d2 e2 a1", BO: "f#2 b1 d2!3 e2 a1 f#2", BP: "b1 d2@2 d2 e2 a1 f#2 b1",
BQ: "d2 a1 d2 e2 a1 f#2 b1 d2", BR: "a2 d2 e2 a1 f#2 b1 d2!2", BS: "d2 e2 a1 f#2 b1 d2@2 d2",
BT: "[e2 a1 f#2 b1 b1@12]/2", BU: "[e1@2 f#1@7 f#1 e1@8 g#1@4 a#1@2]/6", BV: "[a#1@2 g#1 a#1 b1@12]/2",
BW: "[e1@2 f#1@7 f#1 e1@6]/4", BX: "[e1@2 e1@4 f#1@3 f#1 c#2@6]/4", BY: "[f#1@2 g#1@7 g#1 f#1@6]/4",
BZ: "[f#1@2 f#1@4 g#1@3 g#1 c#2@6]/4",
})).s("gm_electric_bass_finger").gain(0.8)
// drums · kick
const kick = s("bd").struct(`<
~@7 A B C D E F 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 AG R AH AI AJ AK AL AM I AN K AO AP AQ D AR
F R H AS AT AU AV AC AW AX AY AB AZ AD BA@3 BB BA@10 BB BA@9 BB BA@6 BB BA@9 BB@4 ~@4 BC ~@8 BB BA@14 BB@4 BA@17 BB
BA@9 ~
>`.pickRestart({
A: "~@6 x ~@5 x ~@6 x ~@4", B: "~@2 x ~@5 x ~@2 x ~@9 x ~@2", C: "~@11 x ~@12", D: "x ~@2 x ~@9 x ~@10",
E: "~ x ~ x ~@4 x ~@3", F: "~@5 x ~@2 x ~@9 x ~@5", G: "~@7 x ~@3 x ~@8 x ~@3", H: "~@10 x ~@2 x ~@9 x",
I: "~@4 x!2 ~@2", J: "~ x ~@13 x ~@2 x ~@5", K: "~@4 x ~@12 x ~@2 x ~@3", L: "~@6 x ~@13 x ~@2 x",
M: "~@9 x ~@12 x ~", N: "~ x ~@9 x ~@3 x ~@8", O: "~ x ~@12 x ~@9", P: "~@3 x ~@2 x ~@9 x ~@3 x ~@3",
// … 108 more lines
More by Rush
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.