0:00/0:00
// Subdivisions — Rush
// 134 bpm, 3/4, key B minor. 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 (7/8 at bar 1, 4/4 at bar 17, 7/8 at bar 47, 4/4 at bar 54, ...) are rendered on a constant 3/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: ch 8 "Bass backup" named as a bass, played on electric bass finger (its distortion guitar patch is not one)
// note: duplicate parts dropped: ch 9 "Keys Solo" lead 2 sawtooth (copy of ch 11 "Solo Backup" pad warm)
// note: Full arrangement: all 250 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): Guitar2.
setcpm(134/3)
// 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 · lead 2 sawtooth · "Synth bass"
const bass = note(`<
A@5 B@5 C@4 D@8 E@4 F@5 G@4 H@2 I@2 J@4 K@5 L@4 M N O P@7 Q@6 R S T M N O U V@3 W X@4 Y Z@5 Y AA@3 AB AC@4 AD@8 AE@8
AF@5 AG@7 AH@5 AI@4 AJ@2 AK AL@7 AM@7 AN@2 AJ@2 AO@2 AP@5 AQ AR AS AT AU AV AQ AR AS AT AU AW AX AY AZ BA BB BC AZ BA
BB BC AZ BA BB BC AZ BA BB BC BD BE BF BC BD BE BG BH BD BE BF BC BD BE BI BJ BD BE BK BC BD BE BL BC AZ BM AZ BA AZ
BM AZ BN AZ BM AZ BA AZ BM AZ BN BO BM BO BP@4 BQ@8 ~@2
>`.pickRestart({
A: "[~@13 f#2@5 f#2@5 f#2@8 f#2@5 ~ f#2@5 f#2@8 f#2@5 f#2@5 ~ f#2@8 f#2@5 f#2@5 f#2, ~@13 f#1@67]/5",
B: "[~@7 f#2@5 ~ f#2@5 f#2@8 f#2@5 f#2@5 ~ f#2@8 f#2@5 f#2@5 f#2@8 f#2@5 ~ f#2@5 f#2@6, ~@7 f#1@73]/5",
C: "[~@2 f#2@5 f#2@5 ~ f#2@8 f#2@5 f#2@5 f#2@8 f#2@5 ~ f#2@5 f#2@8 f#2@5 f#2, ~ f#1@31]/4",
D: "[~@5 f#2@8 f#2@5 f#2@5 f#2@5 ~ f#2@5 f#2@5 ~ f#2@5 f#2@5 f#2@5 ~ f#2@5 f#2@5 ~ f#2@5 f#2@5 f#2@5 ~ f#2@5 f#2@5 ~ f#2@5 b1@10 ~ b1@11 a1@7, ~@13 f#1@86 ~@29]/8",
E: "[~@3 a1@11 b1@10 ~ b1@10 ~ a1@10 ~ a1@10 b1@7]/4", F: "[~@4 b1@11 a1@10 ~ a1@10 g1@8 ~ a1@13 b1@19 a1@3]/5",
G: "[g1@8 a1@13 b1@20 ~@2 g1@2 g1@5 ~@4 a1@2 a1@5 ~@3]/4", H: "[b1@2 ~ b1@5 ~@3 b1@2 ~ b1@5 ~@3 g1@2 ~ g1@5 ~@2]/2",
I: "[~ a1@2 a1@5 ~ b1@21 ~@2]/2", J: "[~@2 [f#1,f#2]@18 ~ [f#1,f#2]@24 [f#1,f#2]@18 ~]/4",
K: "[[f#1,f#2]@24 [b1,b2]@18 [a1,a2]@19 [b1,b2]@19]/5", L: "[[a1,a2]@18 [b1,b2]@19 [a1,a2]@19 g1@2 g1@5 ~]/4",
M: "~@2 a1@2 ~ a1@5 ~@3 b1@2 ~", N: "b1@5 ~@3 b1@2 b1@5 ~", O: "~@2 g1@2 ~ g1@5 ~@3 a1@2 ~",
P: "[a1@5 ~@3 [f#1,f#2]@18 [f#1,f#2]@24 [f#1,f#2]@18 ~ [f#1,f#2]@24 [b1,b2]@19]/7", // F# B
Q: "[[a1,a2]@18 [b1,b2]@19 [a1,a2]@19 [b1,b2]@18 [a1,a2]@19 g1@2 ~]/6", R: "g1@5 ~@3 a1@2 a1@5 ~",
S: "~@2 b1@2 ~ b1@5 ~@3 b1@2 ~", T: "b1@5 ~@3 g1@2 g1@5 ~", U: "a1@5 ~@3 b1@2 b1@5 ~",
V: "[~@2 b1@2 ~ b1@5 ~@3 g1@16 a1@8 b1@5 a1@3 g1@3]/3", W: "a2!2 g2@3 b2@3 a2@2 g2@3 f#2!2 ~",
X: "[e2@2 d2@3 c#2@3 d2@2 a1@3 g1@5 ~@3 g1@5 g1@3 a1@8 b1@5 a1@3 g1@8 g1@5 g1@3 a1@3]/4", Y: "a1@5 b1@5 a1@3 g1@2 ~",
Z: "[g1@5 g1@5 g1@3 a1@5 b1@5 ~ b1@2 a1@3 g1@5 ~@3 g1@5 g1@3 a1@8 b1@5 a1@3 g1@8 g1@5 g1@3 a1@3]/5",
AA: "[g1@5 g1@5 g1@3 a1@5 b1@5 ~ b1@5 g1@7 ~ g1@5 g1@3 a1@3]/3", AB: "~ a1@4 b1@4 a1@4 g1@3",
AC: "[g1@2 f#1@3 g1@5 g1@3 a1@8 b1@5 g1@3 a1@13 g1@3 b1@8 a1@8 g1@3]/4",
AD: "[g1@2 f#1@3 g1@5 g1@3 a1@8 b1@5 g1@3 a1@13 a1@3 b1@8 a1@8 g1@8 g1@8 a1@8 b1@8 a1@8 a1@8 b1@8 a1@8 g1@3]/8",
AE: "[~@5 g1@8 a1@8 b1@8 a1@8 a1@8 b1@8 a1@8 g1@8 g1@8 a1@8 b1@8 a1@8 a1@8 b1@8 a1@8 g1@3]/8",
AF: "[~@5 g1@8 a1@8 b1@8 a1@8 a1@8 b1@8 a1@8 g1@8 g1@8 a1@3]/5",
AG: "[~@6 b1@8 f#2@5 f#2@5 ~ f#2@8 f#2@5 f#2@5 f#2@8 [f#1,f#2]@18 ~ [f#1,f#2]@24 [f#1,f#2]@18, ~@14 f#1@37 ~@61]/7", // F#
AH: "[~ [f#1,f#2]@24 [b1,b2]@18 [a1,a2]@19 [b1,b2]@18]/5", AI: "[~ [a1,a2]@19 [b1,b2]@19 [a1,a2]@18 g1@2 ~ g1@4]/4",
AJ: "[~@4 a1@2 ~ a1@5 ~@3 b1@2 b1@5 ~@3 b1@2 ~ b1@4]/2", AK: "~@4 g1@2 ~ g1@5 ~@3 a1",
AL: "[~ a1@5 ~@3 [f#1,f#2]@18 ~ [f#1,f#2]@24 [f#1,f#2]@18 ~ [f#1,f#2]@24 [b1,b2]@17]/7", // F# B
AM: "[~ [a1,a2]@19 [b1,b2]@19 [a1,a2]@18 [b1,b2]@19 [a1,a2]@19 g1@2 g1@5 ~@3 a1@2 ~ a1@4]/7", // A B A B A
AN: "[~@4 b1@2 ~ b1@5 ~@3 b1@2 b1@5 ~@3 g1@2 ~ g1@4]/2", AO: "[~@4 g1@2 ~ g1@5 ~@3 a1@2 a1@5 ~@3 b1@2 ~ b1@4]/2",
AP: "[~@4 b1@2 ~ b1@5 ~@3 g1@16 a1@8 b1@5 a1@3 g1@2 g1 ~ g1 d2 g2 ~ a2@2 b2@3 a2@3 g2@4 f#2@4 e2@4 d2@5]/5",
AQ: "g1@5 ~@3 g1@5 g1@3", AR: "a1@8 b1@5 a1@3", AS: "g1@8 g1@5 g1@3", AT: "a1@2 a1@5 ~ b1@5 a1@3",
AU: "g1@2 g1@5 ~ g1@5 g1@3", AV: "a1@5 b1@5 b1@3 a1@3", AW: "a1@5 b1@5 b1@6", AX: "g1@7 ~ g1@5 g1@3",
AY: "a1!2 b1 a1", AZ: "g1!2", BA: "a1 b1", BB: "a1!2", BC: "b1 a1", BD: "g1@3 g1@2 f#1@3 g1@5 g1@3",
BE: "a1@8 b1@5 g1@3", BF: "a1@3 a1@2 g1@3 a1@5 g1@3", BG: "~@4 b1@4 e2@5 e2@3, a1@7 ~@9",
BH: "a2@4 e3@4 ~@5 d3@3, ~ f#3", BI: "a2 g2 f#2 e2", BJ: "d2 c#2 b1 a1", BK: "a1@13 g1@3", BL: "a1@13 a1@3",
BM: "a1 f#1", BN: "a1@5 b1@5 ~ d2@5", BO: "g1", BP: "[~ a1@8 ~ f#1@8 g1@24 g1@22]/4",
BQ: "[~@3 g1@58 ~ [g1,d2]@49 [g1,g2]@4 ~@13]/8", // G5 G
})).s("gm_lead_2_sawtooth").gain(0.51)
// bass · fretless bass · "Bass"
const bass_2 = note(`<
A@2 B@8 C@6 D@8 E@7 F@3 G H I J@2 K L@2 M@2 N ~@10 O@2 P@2 Q@2 ~@14 R@3 S T@4 U V@5 U W@3 X Y Z AA@2 AB@2 AC AD@8 AE@8
AF AG AH@4 AI@2 AJ@2 AK ~@10 AL@2 AM@4 ~@14 AN@3 AO@2 AP AQ AR AS AT AU AP AQ AR AS AT AV AR AW AX AY AZ BA AX AY AZ
BA AX AY AZ BA BB AY BC BA BD BE BF BA BD BE BG BH BD BE BI BA BD BE BJ BK BD BL BM BA BD BN BO BP AX BQ AX AY AX BQ
AX BR AX BQ AX AY AX BQ AX BR BB BQ BB BS BT@3 BU@8 ~@2
>`.pickRestart({
A: "[~@13 [f#1,f#2]@19]/2", B: "[[f#1,f#2]@18 [f#1,f#2]@37 [f#1,f#2]@19 [f#1,f#2]@18 ~ [f#1,f#2]@35]/8",
C: "[~@2 [f#1,f#2]@19 [f#1,f#2]@18 ~ [f#1,f#2]@37 [f#1,f#2]@19]/6", // F#
D: "[~@2 [f#1,f#2]@21 ~ [f#1,f#2]@21 [f#1,f#2]@22 b1@22 a1@21 b1@18]/8", // F#
E: "[~@4 a1@21 b1@22 a1@21 g1@8 ~ a1@13 b1@19 a1@3]/7", F: "[g1@8 a1@13 b1@20 ~@2 g1@2 g1@3]/3",
G: "~@6 a1@2 a1@3 ~@5", H: "b1@2 ~ b1@3 ~@5 b1@2 ~ b1@2", I: "~@6 g1@2 ~ g1@3 ~@4", J: "[~ a1@2 a1@3 ~@3 b1@22 ~]/2",
K: "~@2 [f#1,f#2]@10 ~ [f#1,f#2]@2 ~", L: "[[f#1,f#2]@10 [f#1,f#2]@8 [f#1,f#2]@2 ~ [f#1,f#2]@8 [f#1,f#2]@2 ~]/2",
M: "[[f#1,f#2]@8 [f#1,f#2]@2 [f#1,f#2]@10 ~ [f#1,f#2]@8 [f#1,f#2]@2 ~]/2", N: "[f#1,f#2] ~",
O: "[~@8 [f#1,f#2]@10 [f#1,f#2]@2 ~ [f#1,f#2]@10 ~]/2", // F#
P: "[[f#1,f#2]@8 [f#1,f#2]@2 [f#1,f#2]@8 [f#1,f#2]@2 ~ [f#1,f#2]@8 [f#1,f#2]@2 ~]/2", // F#
Q: "[[f#1,f#2]@10 [f#1,f#2]@8 [f#1,f#2]@2 ~ [f#1,f#2]@8 ~@3]/2", // F#
R: "[~@13 g1@7 ~ g1@4 ~ g1@3 a1@8 b1@4 ~ a1@3 g1@3]/3", S: "a2!2 g2@3 b2@3 a2@2 g2@3 f#2!2 ~",
T: "[e2@2 d2@3 c#2@3 d2@2 [a1,a2]@3 g1@5 ~@3 g1@4 ~ g1@3 a1@7 ~ b1@5 a1@3 g1@7 ~ g1@5 g1@3 a1@2 ~, ~@13 g2@21 ~@30]/4", // A
U: "a1@5 b1@5 a1@3 g1@2 ~",
V: "[g1@4 ~ g1@5 g1@3 a1@5 b1@5 ~ b1@2 a1@3 g1@5 ~@3 g1@4 ~ g1@3 a1@7 ~ b1@5 a1@3 g1@7 ~ g1@5 g1@3 a1@2 ~]/5",
W: "[g1@4 ~ g1@5 g1@3 a1@5 b1@5 ~ b1@5 g1@7 ~ g1@5 g1@3 a1@3]/3", X: "~ a1@5 b1@4 a1@3 g1@3",
Y: "g1@2 f#1@3 g1@5 g1@3 a1@2 ~", Z: "a1@2 a1@3 b1@5 g1@3 a1@2 ~", AA: "[a1@2 a1@2 ~ a1@5 g1@3 b1@8 a1@8 g1@3]/2",
AB: "[g1@2 f#1@3 g1@5 g1@3 a1@5 a1@3 b1@5 g1@3 a1@2 ~]/2", AC: "a1@2 a1@2 ~ a1@5 a1@3 b1@3",
AD: "[~ b1@4 a1@4 ~ a1@3 g1@8 g1@8 a1@8 b1@8 a1@8 a1@8 b1@8 a1@8 g1@8 g1@8 a1@8 b1@8 a1@8 a1@8 b1@3]/8",
AE: "[~@5 a1@8 g1@8 g1@8 a1@8 b1@8 a1@8 a1@8 b1@8 a1@8 g1@8 g1@8 a1@8 b1@8 a1@8 a1@8 b1@3]/8", AF: "~@5 a1@8 g1@3",
AG: "~ g1@3 ~ g1@3 ~ g1@3 ~ a1@3", AH: "[~@2 a1@3 ~ b1@3 ~@5 [f#1,f#2]@19 [f#1,f#2]@18 [f#1,f#2]@10 ~ [f#1,f#2]@2]/4",
AI: "[~ [f#1,f#2]@10 [f#1,f#2]@8 [f#1,f#2]@2 ~ [f#1,f#2]@8 [f#1,f#2]@2]/2", // F#
AJ: "[~ [f#1,f#2]@8 [f#1,f#2]@2 [f#1,f#2]@10 ~ [f#1,f#2]@8 [f#1,f#2]@2]/2", AK: "~ [f#1,f#2]@8 ~@7",
AL: "[~@9 [f#1,f#2]@10 ~ [f#1,f#2]@2 ~ [f#1,f#2]@9]/2", // F#
AM: "[~ [f#1,f#2]@8 [f#1,f#2]@2 ~ [f#1,f#2]@8 [f#1,f#2]@2 ~ [f#1,f#2]@8 [f#1,f#2]@2 [f#1,f#2]@10 ~ [f#1,f#2]@8 [f#1,f#2]@2 ~ [f#1,f#2]@8 ~]/4", // F#
AN: "[~@15 g1@7 ~ g1@4 ~ g1@3 a1@8 b1@4 ~ a1@3 g1]/3",
AO: "[~ g1 ~ g1 d2 g2 ~ a2@2 b2@3 a2@3 g2@4 f#2@4 e2@4 d2@5]/2", AP: "g1@5 ~@3 g1@4 ~ g1@3", AQ: "a1@7 ~ b1@5 a1@3",
AR: "g1@7 ~ g1@5 g1@3", AS: "a1@2 a1@5 ~ b1@5 a1@3", AT: "g1@2 g1@4 ~@2 g1@5 g1@3", AU: "a1@5 b1@5 b1@3 a1@3",
AV: "a1@5 b1@5 b1@5 ~", AW: "a1!2 b1 a1", AX: "g1!2", AY: "a1 b1", AZ: "a1!2", BA: "b1 a1", BB: "g1", BC: "a1",
BD: "g1@3 g1@2 f#1@3 g1@5 g1@3", BE: "a1@8 b1@5 g1@3", BF: "a1@3 a1@2 g1@3 a1@5 g1@3, ~@8 g1 ~@7",
BG: "~@4 b1@4 e2@5 e2@3, a1@7 ~@9", BH: "a2@4 e3@4 ~@5 d3@3, ~ f#3", BI: "a1@3 a1@2 g1@3 a1@5 g1@3",
BJ: "a2 g2 f#2 e2", BK: "d2 c#2 b1 a1", BL: "a1@2 ~ a1@2 a1@3 b1@5 g1@3", BM: "a1@2 ~ a1@2 a1@2 ~ a1@5 g1@3",
BN: "a1@5 a1@3 b1@5 g1@3", BO: "a1@2 ~ a1@2 a1@2 ~ a1@5 a1@3", BP: "b1@3 ~ b1@4 a1@4 ~ a1@3", BQ: "a1 f#1",
BR: "a1@5 b1@5 ~ d2@5", BS: "~ a1@8 ~ f#1@6", BT: "[~ g1@12 d2@11]/3", BU: "[~@3 g1@59 d2@49 [g1,g2]@6 ~@11]/8",
})).s("gm_fretless_bass").gain(0.56)
// chords · lead 2 sawtooth · "Keys"
const lead_2_sawtooth = note(`<
~@5 A@5 B@6 C@4 D@4 E@7 F@3 G@2 H@3 I@4 J@5 K@4 L M N O@7 P@6 Q R S T U V W X ~@15 Y@4 ~@27 Z@4 AA@5 AB@7 AC@7 AD@6
AE@2 AF@2 AG@2 AH@2 ~@16 AI AJ AI ~@39 AK AL AK AM@3 AK AN AK AL AK AO@3 AK AP@4 AQ@8 ~@6
>`.pickRestart({
A: "[~@7 g#4@14 f4@5 [c#4,f#4,a#4]@19 g#4@13 f4@5 [c#4,f#4,a#4]@17, ~@7 [c#4,c#5]@19 ~@19 c#5@20 ~@15, ~@45 c#4@18 ~@17]/5", // F# C#
B: "[~@15 g4@5 ~ [a3,c#4,e4]@18 f#4@14 ~@5 [a3,c#4,e4]@19 g#4@13 f4@5 ~, ~@2 [b3,d4]@19 ~@18 [b3,d4]@20 ~@18 [c#4,c#5]@19, ~@2 f#4@15 ~@36 a4@7 ~@36]/6", // A Bm C#
C: "[c#4@24 g#4@13 f4@5 ~ [c#4,f#4,a#4]@21, [f#4,a#4]@13 ~@19, ~@24 [c#4,c#5]@19 ~@21]/4", // F# C#
D: "[~@3 f#4@11 g4@11 ~@32 g4@7, ~@3 [b3,d4]@22 [a3,c#4,e4]@23 ~@16, ~@23 [b3,d4]@9, ~@46 f#4@13 ~@5]/4", // Bm A Bm
E: "[~@36 a4@11 ~@21 [g3,b3,d4]@9 [a3,c#4,e4]@13 [b3,d4,f#4]@22, ~@4 [a3,c#4,e4]@23 ~@20 [a3,c#4,e4]@23 ~@42, ~@25 [b3,d4,f#4]@23 ~@64]/7", // G A Bm A Bm
F: "[[g3,b3,d4]@8 [a3,c#4,e4]@13 [b3,d4,f#4]@22 g2@2 g2@3]/3", // G A Bm
G: "[[g3,b3,d4]@2 ~@4 a2@2 a2@3 [a3,c#4,e4]@3 ~@2 b2@2 ~ b2@3 [b3,d4,f#4]@2 ~@3 b2@2 ~ b2@2, ~@3 [g3,b3,d4]@5 ~@6 e4@7 ~@11, ~@14 [a3,c#4]@5 ~@5 [b3,d4,f#4]@5 ~@3]/2", // G A Bm G A Bm
H: "[~ [b3,d4,f#4]@2 [b3,d4,f#4]@3 g2@2 ~ g2@2 [g3,b3,d4]@2 ~ [g3,b3,d4]@3 a2@2 a2@3 [a3,c#4,e4]@3 [b3,d4,f#4]@21 ~@2]/3", // Bm G A Bm
I: "[~@2 g#4@13 ~ f4@5 [c#4,f#4,a#4]@24 g#4@13 f4@5 ~, ~@2 c#5@19 ~@24 c#5@19, ~@2 c#4@17 ~@26 c#4@17 ~@2]/4", // F#
J: "[[c#4,f#4,a#4]@24 ~@18 [a3,c#4,e4]@19 f#4@11 g4@8, ~@24 [b3,d4,f#4]@20 ~@17 [b3,d4]@19]/5", // F# A Bm
K: "[~@18 f#4@11 a4@8 [a3,c#4,e4]@20 ~@4 [g3,b3,d4]@2 ~, [a3,c#4,e4]@5 ~@11, ~@9 [b3,d4]@10 ~@13]/4", // A G A Bm
L: "[g3,b3,d4]@5 ~@3 [a3,c#4,e4]@2 [a3,c#4,e4]@6", M: "~@2 [b3,d4,f#4]@2 ~ [b3,d4,f#4]@5 ~@3 [b3,d4,f#4]@2 ~",
N: "[b3,d4,f#4]@2 ~@2 [g3,b3,d4] [g3,b3,d4]@2 ~", // Bm G
O: "[~@2 [a3,e4]@6 g#4@13 f4@5 [c#4,f#4,a#4]@24 g#4@13 ~ f4@5 [c#4,f#4,a#4]@24 [b3,d4,f#4]@19, ~@2 c#4@4 ~@2 c#5@19 ~@23 c#5@19 ~@43, ~@8 c#4@17 ~@25 c#4@17 ~@45]/7", // A5 F# Bm
P: "[~@18 f#4@11 g4@8 [a3,c#4,e4]@19 ~@10 a4@8 [a3,c#4,e4]@20 ~@2, [a3,c#4,e4]@5 ~@9 f#4@3 ~@7, ~@9 [b3,d4]@10 ~@9 [b3,d4]@10 ~@10]/6", // A Bm
Q: "~@2 [g3,b3,d4]@2 ~ [g3,b3,d4]@5 ~@3 [a3,c#4,e4]@3", R: "[a3,c#4]@5 ~@3 [b3,d4,f#4]@2 [b3,d4,f#4]@5 ~, e4@7 ~@9",
S: "~@2 [b3,d4,f#4]@2 ~ [b3,d4,f#4]@4 ~@4 [g3,b3,d4]@2 ~", T: "[g3,b3,d4]@5 ~@3 [e3,a3,c#4]@2 [e3,a3,c#4]@5 ~",
U: "~@2 [f#3,b3,d4]@2 ~ [f#3,b3,d4]@5 ~@3 [f#3,b3,d4]@2 ~", V: "[f#3,b3,d4]@4 ~@4 [d3,g3,b3]@2 [d3,g3,b3]@5 ~",
W: "~@2 [a3,c#4,e4]@3 [a3,c#4]@5 ~@3 [b3,d4,f#4,a4]@2 ~, ~@5 e4@7 ~@4", // A Bm7
X: "[b3,d4,f#4,a4]@5 ~@3 [b3,d4,f#4,a4]@2 [b3,d4,f#4,a4]@4 ~@2", // Bm7
Y: "[~@13 [g3,b3]@16 [a3,c#4]@8 [b3,d4]@5 [a3,c#4]@3 b3@16 ~@3]/4", // G A Bm A
Z: "[~@3 g#4@13 ~ f4@5 [c#4,f#4,a#4]@24 g#4@13 f4@5, ~@3 c#5@19 ~@42, ~@3 c#4@17 ~@26 [c#4,c#5]@18]/4", // F# C#
AA: "[~ [c#4,f#4,a#4]@24 ~@18 [a3,c#4,e4]@19 f#4@11 g4@7, ~@25 [b3,d4,f#4]@20 ~@17 [b3,d4]@18]/5", // F# A Bm
AB: "[~@20 f#4@11 a4@8 [a3,c#4,e4]@20 ~@4 [g3,b3,d4]@2 [g3,b3,d4]@5 ~@3 [a3,c#4,e4]@3 [a3,c#4]@5 ~@3 [b3,d4,f#4]@2 ~ [b3,d4,f#4]@5 ~@3 [b3,d4,f#4]@2 [b3,d4,f#4]@4 ~@4 [g3,b3,d4]@2 ~ [g3,b3,d4]@4, ~ [a3,c#4,e4]@21 ~@90, ~@20 [b3,d4]@20 ~@36 e4@7 ~@29]/7", // A G A Bm G A Bm
AC: "[~@4 c#4@4 ~ g#4@13 ~ f4@5 [c#4,f#4,a#4]@24 g#4@13 f4@5 ~ [c#4,f#4,a#4]@24 [b3,d4,f#4]@17, ~@4 [a3,e4]@7 ~@101, ~@9 c#5@19 ~@24 c#5@19 ~@41, ~@9 c#4@17 ~@26 c#4@17 ~@43]/7", // F# Bm A5
AD: "[~ [a3,c#4,e4]@19 f#4@11 g4@8 ~@18 f#4@11 a4@8 [a3,c#4,e4]@20, ~@20 [b3,d4]@19 [a3,c#4,e4]@20 ~@37, ~@57 [b3,d4]@20 ~@19]/6", // A Bm A Bm
AE: "[~@4 [g3,b3,d4]@2 ~ [g3,b3,d4]@5 ~@3 [a3,c#4,e4]@2 [a3,c#4]@5 ~@3 [b3,d4,f#4]@2 ~ [b3,d4,f#4]@4, ~@17 e4@7 ~@8]/2", // G A Bm
AF: "[~@4 [b3,d4,f#4]@2 ~ [b3,d4,f#4]@4 ~@4 [g3,b3,d4]@2 [g3,b3,d4]@5 ~@3 [e3,a3,c#4]@2 ~ [e3,a3,c#4]@4]/2", // Bm G A
AG: "[~@4 [f#3,b3,d4]@2 ~ [f#3,b3,d4]@5 ~@3 [f#3,b3,d4]@2 [f#3,b3,d4]@4 ~@4 [d3,g3,b3]@2 ~ [d3,g3,b3]@4]/2", // Bm G
AH: "[~@4 [a3,c#4,e4]@3 [a3,c#4]@5 ~@3 [b3,d4,f#4,a4]@2 [b3,d4,f#4,a4]@5 ~@3 [b3,d4,f#4,a4]@2 ~ [b3,d4,f#4,a4]@4, ~@7 e4@7 ~@18]/2", // A Bm7
AI: "[g3,b3]", AJ: "~@2 [b3,d4] [a3,c#4], [a3,c#4]@5 ~@3", AK: "[g3,b3,d4,g4]", AL: "[a3,e4] [f#3,f#4], [c#4,a4]",
AM: "[[a3,c#4,e4,a4] b4 [g3,g4]@2 [e4,a4] [f#3,f#4], ~ [b3,d4]@3 [a3,c#4]@2]/3", // A G A5 F# Bm A
AN: "~@11 [a4,d5]@5, [a3,c#4,e4,a4]@3 f#4@5, ~@5 d4@11, ~@5 b4@8 ~@3, ~@5 b3@6 ~@5", // D5 A
AO: "[[a3,c#4,e4,a4] ~ [g3,g4]@2 [e4,a4] [f#3,f#4], ~@8 [b3,d4]@25 ~@15, ~@4 [f#4,b4]@5 ~@7 [a3,c#4]@8]/3", // A G A5 F# Bm B5 A
AP: "[~@2 [b3,g4]@2 [e4,a4] f#3 [g3,b3,d4,g4]@2, [a3,c#4,e4,a4]@3 f#4@5 g3@9 ~@15, ~@5 d4@27 [a3,c#4]@16 ~@16, ~@5 [b3,b4]@6 [a4,d5]@7 ~@22 f#4@10 ~@14]/4", // Em A5 G A B D5
AQ: "[~ [a3,c#4,e4,a4]@9 [d4,f#4,b4]@8 [d3,g3,g4]@110, ~@5 b3@59]/8", // A Bm G5
})).s("gm_lead_2_sawtooth").gain(0.48)
// chords · string ensemble 1 · "Keys2"
const string_ensemble_1 = note(`<
~@5 A@5 B@6 C@4 D@4 E@7 F@8 G@4 H@5 I J@6 K@7 L@8 M@7 N@3 ~@11 O@2 P@8 Q@8 R@8 S@3 ~@2 T@4 U@5 V@7 W@7 X@6 Y@8 ~@16 Z
AA@2 AB AC@3 AB AC@3 AB AC@3 AB AD@3 ~@15 AE AF AG AH AI AJ AK AL@2 AM AN AO@6 AP AQ AR@6 AS AT AU AV@8 ~@4 AW
>`.pickRestart({
A: "[~@7 g#4@14 f4@5 [c#4,f#4,a#4]@19 g#4@13 f4@5 [c#4,f#4,a#4]@17, ~@7 [c#4,c#5]@19 ~@19 c#5@20 ~@15, ~@45 c#4@18 ~@17]/5", // F# C#
B: "[~@15 g4@6 ~@18 f#4@13 ~@6 [a3,c#4,e4]@19 g#4@13 f4@5 ~, ~@2 [b3,d4]@20 ~@17 [b3,d4]@20 ~@18 [c#4,c#5]@19, ~@2 f#4@15 ~@4 [a3,c#4,e4]@20 ~@12 a4@7 ~@36]/6", // A Bm C# A
C: "[c#4@24 g#4@13 f4@5 ~ [c#4,f#4,a#4]@21, [f#4,a#4]@13 ~@19, ~@24 [c#4,c#5]@19 ~@21]/4", // F# C#
D: "[~@3 f#4@11 g4@11 ~@21 f#4@11 [g4,d5]@7, ~@3 [b3,d4,b4,f#5,b5]@22 [a3,c#4,e4,a4,e5,a5]@23 ~@16, ~@23 [b3,d4,b4,f#5]@9]/4", // G5 Bm A Bm
E: "[~@68 [g3,b3,d4,g4,d5]@9 ~@13 f#5@19 e5@3, ~@4 a4@28 ~@4 a4@35 ~@41, ~@4 [a3,c#4,e4,e5,a5]@24 ~@19 [a3,c#4,e4,e5,a5]@23 ~@7 [a3,c#4,e4,a4,e5]@15 ~@20, ~@25 [b3,d4,f#4,f#5,b5]@23 ~@42 [b3,d4,f#4,b4]@22]/7", // G A Bm
F: "[[g3,b3,d4,g4,d5]@8 ~@13 [b3,d4,f#4,b4,f#5]@22 ~@27 [b3,d4,f#4,b4]@8 ~@24 [a3,c#4,e4,a4]@3 ~@2 b2@18 ~@3, ~@8 [a3,c#4,e4,a4,e5]@15 ~@20 g2@11 a2@12 ~@20 g2@11 a2@12 ~@19, ~@48 [g3,b3,d4,g4]@8 ~@3 [a3,c#4,e4,a4]@8 ~@14 [b3,d4,f#4,b4]@8 ~@2 b3@12 ~@2 [b3,d4,f#4,b4]@22 ~, ~@64 b2@22 ~@5 [g3,d4,g4]@8 ~@29]/8", // G Bm A G A Bm G5
G: "[~@2 g#4@13 ~ f4@5 [c#4,f#4,a#4]@24 g#4@13 f4@5 ~, ~@2 c#5@19 ~@24 c#5@19, ~@2 c#4@17 ~@26 c#4@17 ~@2]/4", // F#
H: "[[c#4,f#4,a#4]@24 ~@18 [a3,c#4,e4]@19 f#4@11 g4@8, ~@24 [b3,d4,f#4]@20 ~@17 [b3,d4]@19]/5", I: "[a3,c#4,e4]",
J: "[~@2 f#4@11 a4@8 [a3,c#4,e4]@19 ~@26 [b3,d4,f#4,b4]@8 ~@19 a2@3, ~@2 [b3,d4]@20 ~@18 g2@12 ~@9 b2@21 ~@14, ~@45 [g3,b3,d4,g4]@8 ~@3 [a3,c#4,e4,a4]@8 ~@13 [b3,d4,f#4,b4]@8 ~@3 [g3,b3,d4,g4]@8, ~@25 a2@6 ~@10 g2@6 ~]/6", // A Bm G A Bm G
K: "[~@2 [a3,e4,a4]@6 g#4@13 f4@5 [c#4,f#4,a#4]@24 g#4@13 ~ f4@5 [c#4,f#4,a#4]@24 [b3,d4,f#4]@19, ~@2 c#4@4 ~@2 c#5@19 ~@23 c#5@19 ~@43, ~@8 c#4@17 ~@25 c#4@17 ~@45]/7", // A5 F# Bm
L: "[~@18 f#4@11 g4@8 [a3,c#4,e4]@19 ~@10 a4@8 [a3,c#4,e4]@19 ~@27 [b3,d4,f#4,b4]@8, [a3,c#4,e4]@20 ~@36 f#4@12 ~@30 [g3,b3,d4,g4]@8 ~@3 [a3,c#4,e4,a4]@8 ~@11, ~@18 [b3,d4]@20 ~@18 [b3,d4]@20 ~@17 g2@11 a2@12 ~@12, ~@57 b2@7]/8", // A Bm A G A Bm
M: "[~@34 [b3,d4,f#4]@8 ~@35 [b3,d4,f#4,a4]@8 ~@8 g3@16 a3@3, ~@2 [b3,d4,f#4,b4]@8 ~@3 [g3,b3,d4,g4]@8 ~@3 [a3,c#4,e4]@8 ~@13 [b3,d4,f#4]@8 ~@8 a2@12 ~@15 [b3,d4,f#4,a4]@8 ~@16, ~@8 g2@12 ~@9 b2@21 ~@6 [d3,g3,b3,d4]@8 ~@2 [e3,a3,c#4,e4,a4]@8 ~@3 b4@19 ~@16, ~@18 a2@12 ~@20 g2@12 ~@10 b2@21 ~@19]/7", // Bm Bm7 Bm G A Bm Bm7 G …
N: "[~@13 a3@13 ~@11 a3@9 ~@2, ~@5 b3@41 ~@2]/3", O: "[~@13 g3@16 a3@3]/2",
P: "[~@13 [g3,d4]@16 [a3,e4]@8 ~@8 [a3,e4]@16 b3@8 ~@8 [g3,d4]@16 [a3,e4]@8 ~@8 [a3,e4]@16 [b3,f#4]@3, ~@5 b3@7 ~@25 [b3,f#4]@11 ~@13 f#4@11 ~@56, ~@10 a3@5 ~@54 [a3,e4]@11 ~@21 [b3,f#4]@11 ~@16]/8", // G5 A5 G5 A5 B5 A5 B5
Q: "[~@5 [a3,e4]@8 g3@16 a3@8 b3@8 ~@16 b3@8 ~@8 g3@16 a3@8 b3@8 ~@16 b3@3, ~@45 a3@19 ~@5 a3@10 ~@30 a3@19]/8", // A5
R: "[~@13 g3@16 a3@8 b3@8 ~@16 b3@8 ~@8 g3@16 a3@8 b3@8 ~@16 b3@3, ~@5 a3@10 ~@30 a3@19 ~@5 a3@10 ~@30 a3@19]/8",
S: "[~@29 [a3,c#4,e4,a4]@9 [f#4,b4]@10, ~@5 a3@10 ~@23 [b3,d4]@8 ~@2, ~@13 [g3,b3,d4]@19 ~@16]/3", // A B5 Bm G
T: "[~@3 g#4@13 ~ f4@5 [c#4,f#4,a#4]@24 g#4@13 f4@5, ~@3 c#5@19 ~@42, ~@3 c#4@17 ~@26 [c#4,c#5]@18]/4", // F# C#
U: "[~ [c#4,f#4,a#4]@24 ~@18 [a3,c#4,e4]@19 ~@14 a5@4, ~@25 [b3,d4,f#4]@20 ~@17 [b3,d4]@18, ~@62 [f#4,f#5]@11 g4@7, ~@36 g5@3 ~]/5", // F# A Bm F#
V: "[~@20 [f#4,f#5]@11 [a4,a5]@8 ~@45 [b3,d4,f#4,b4]@8 ~@13 [g3,b3,d4,g4]@6 a2, ~ [a3,c#4,e4,e5]@21 ~@17 [a3,c#4,e4,e5]@20 ~@4 [g3,b3,d4,g4]@8 ~@2 [a3,c#4,e4,a4]@8 ~@14 [b3,d4,f#4,b4]@8 ~@9, ~@20 [b3,d4]@20 ~@17 g2@11 a2@11 b2@21 g2@12]/7", // F# A Bm G A G A Bm
W: "[~@4 [a3,e4,a4]@5 g#4@13 ~ f4@5 [c#4,f#4,a#4]@24 g#4@13 f4@5 ~ [c#4,f#4,a#4]@24 [b3,d4,f#4]@17, ~@4 c#4@4 ~ c#5@19 ~@24 c#5@19 ~@41, ~@9 c#4@17 ~@26 c#4@17 ~@43]/7", // A5 F# Bm
X: "[~ [a3,c#4,e4]@19 [f#4,f#5]@11 ~@26 [f#4,f#5]@11 [a4,a5]@8 [a3,c#4,e4,e5]@19 g2, ~@20 [b3,d4]@20 ~@17 [b3,d4]@20 ~@19, ~@31 g4@9 ~@56, ~@31 g5@4 ~@4 [a3,c#4,e4,e5]@20 ~@37, ~@11 a5@4 ~@17]/6", // A F# A Bm A
Y: "[~@25 [b3,d4,f#4,b4]@8 ~@35 [b3,d4,f#4]@8 ~@35 [b3,d4,f#4,a4]@8 ~@2 [b3,d4,f#4,a4]@7, ~@4 [g3,b3,d4,g4]@8 ~@3 [a3,c#4,e4,a4]@8 ~@13 [b3,d4,f#4,b4]@8 ~@3 [g3,b3,d4,g4]@8 ~@2 [a3,c#4,e4]@8 ~@14 [b3,d4,f#4]@8 ~@2 [d3,g3,b3,d4]@8 ~@3 [e3,a3,c#4,e4,a4]@8 ~@3 b4@17, ~@9 a2@11 b2@21 g2@11 a2@11 b2@21 g2@11 a2@12 ~@21, ~@105 b2@21 ~@2]/8", // Bm Bm7 G A Bm G A Bm …
Z: "g3", AA: "[~@2 b3 ~ g3@4, a3@10 ~@2 a3@7 ~@13]/2", AB: "a3 b3", AC: "[~@2 b3 ~ g3@2, a3@19 ~@5 a3@10 ~@14]/3",
AD: "[~@8 b3@4 a3@5 ~@7, a3@19 ~@29]/3", AE: "[g2,d3]", AF: "[a2,e3] [b2,f#3]", AG: "[a2,e3], f#3 ~@15",
AH: "[b2,f#3] [a2,e3]", AI: "~ a2 ~@14, [g2,d3]", AJ: "~ d3 ~@6 [b2,f#3]@8, [a2,e3]@9 ~@7", AK: "[a2,e3]",
AL: "[~ e3 ~@14 [g3,b3,d4,g4,b4]@16, [b2,f#3]@8 e3@11 ~@13, ~@9 a2@11 ~@12]/2", // G B5
AM: "[a3,e4] [f#3,c#4], [a4,c#5], c#4@7 ~@9", AN: "[b3,d4,g4,b4]",
AO: "[[a3,c#4,e4,c#5] [f#4,d5] ~@2 e4 [f#3,c#4] ~@4 [g3,b3,d4,g4,b4]@2, a4@16 [g3,g4,b4]@18 ~@14 [g3,b3,d4,g4,b4]@18 ~@3 [b3,b4]@6 [a4,d5]@7 ~@14, ~@8 [b3,d4]@24 [a3,a4,c#5]@18 ~@14 [a3,c#4,e4,a4,c#5]@6 f#4@11 ~@15, ~@32 c#4@7 ~@30 d4@11 ~@16]/6", // A D F#5 G B D5 Bm A
AP: "e4 [f#3,c#4], [a3,a4,c#5], c#4@7 ~@9", AQ: "[g3,b3,d4,g4,b4]",
AR: "[[a3,c#4,e4,c#5] [f#4,d5] ~@2 e4 [f#3,c#4] ~@4 [g3,b3,b4]@2, a4@16 [g3,g4,b4]@18 ~@14 [g3,b3,d4,g4,b4]@18 ~@3 [b3,b4]@6 [a4,d5]@7 ~@14, ~@8 [b3,d4]@24 [a3,a4,c#5]@18 ~@14 [a3,c#4,e4,a4,c#5]@6 f#4@11 ~@15, ~@32 c#4@7 ~@30 d4@27]/6", // A D F#5 G B D5 Bm A
AS: "[e4,c#5] [f#3,a4], [a3,c#4]", AT: "[g3,b3,d4,b4]", AU: "~ [a3,c#4,e4,c#5]@8 ~ [b3,d4,f#4,a4]@6",
AV: "[~@2 b4@24 [d3,b3]@25 g5@77, ~ [g2,g3,g4,d5]@63]/8", AW: "~@15 c-1",
})).s("gm_string_ensemble_1").gain(0.4)
// chords · electric guitar clean · "Guitar2"
const electric_guitar_clean = note(`<
~@76 A ~ A B A ~ A ~ A ~ A ~ A ~ A ~ A ~@69 C@2 D ~ D ~ D ~ D ~ D ~ D E ~@32 F ~@8 G ~ G ~ G ~ G ~ G ~ G ~ G ~ G ~@18
>`.pickRestart({
A: "b2 ~", B: "d3@13 ~@3", C: "[~@3 b3@3 ~@5 a2@7 ~@14, ~@3 d3@14 ~@15]/2", D: "a2@8 b2@5 ~@3", E: "~@13 b2@3",
F: "~ a4 ~@2", G: "~ [g2,d3]",
})).s("gm_electric_guitar_clean").gain(0.52)
// bass · electric bass finger · "Bass backup"
const bass_3 = note(`<
~@77 A B C@2 ~@12 D E F G@2 H@2 I J ~@56 K@3 L@2 M ~@12 N O ~@21 P Q R S T U R S V W ~@37 X@2 ~@2
>`.pickRestart({
A: "~@13 g1@3", B: "a2!2 g2@3 b2@3 a2@2 g2@3 f#2!2 ~", C: "[e2@2 d2@3 c#2@3 d2@2 a1@3 g1@11 ~@8]/2", D: "~@13 g2@2 ~",
E: "g2@2 f#2@3 g2@5 g2@3 a2@2 ~", F: "a2@2 a2@3 b2@5 g2@3 a2@2 ~", G: "[a2@2 a2@2 ~ a2@5 g2@3 b2@8 a2@8 g2@3]/2",
H: "[g2@2 f#2@3 g2@5 g2@3 a2@5 a2@3 b2@5 g2@3 a2@2 ~]/2", I: "a2@2 a2@2 ~ a2@5 a2@3 b2@3",
J: "~ b2@4 a2@4 ~ a2@3 ~@3", K: "[~@15 g1@7 ~ g1@4 ~ g1@3 a1@8 b1@4 ~ a1@3 g1]/3",
L: "[~ g1 ~ g1 d2 g2 ~ a2@2 b2@3 a2@3 g2@4 f#2@4 e2@4 d2@4 ~]/2", M: "g1@11 ~@5",
// … 277 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.