0:00/0:00
// Disco Inferno — The Trammps
// 130 bpm, 4/4, key C minor. Source: mcgill + midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 132 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(130/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 · clavinet
const clavinet = note(`<
~ A B@7 C D E F@2 G H I J K@2 L@3 M@3 N O P Q R P S P T U V W X Y Z AA AB@4 AC@3 AD@2 P S AE T AE AF AG AH AI P AJ R
AK AL V AM@2 AN@3 AO@6 AP@2 AQ AR AS AT AU@2 AF AV AW AX Z AY X AZ BA BB BC BD@2 BA BE@2 BF@2 BG@2 BH@6 BI@5 BA AK BJ
BK BL BM BN BO AY P AK R V BP AE BQ
>`.pickRestart({
A: "[f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~", // Ebsus2
B: "[[f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ c2@3 ~ c2 ~ g2 ~ c2 ~ eb2@2 f2@2 bb1 ~ c2@3 ~ c2 ~ g2 ~ c2 ~ [eb2,g3,bb3,eb4] ~ [f2,g3,bb3,eb4] ~ [bb1,a3,c4,f4] ~ c2@3 ~ c2 ~ g2 ~ c2 ~ eb2 ~ f2 ~ bb1 ~ c2@3 ~ [c2,c3] ~ a1 ~ [a1,c3] ~ [bb1,f3,bb3,d4] ~ [bb1,f3,bb3,d4] ~ [b1,f3,a3,c4] ~ c2@3 ~ c2 ~ g2 ~@9 c2@3 ~ [c2,c3] ~ g2 ~ [c2,c3] ~ [eb2,f3,bb3,d4]@2 [f2,c3] ~@3 [eb3,g3,bb3] ~, ~@14 [g3,bb3,eb4]@25 ~@7 [g3,bb3,eb4]@20 ~@12 [g3,bb3,eb4]@24 ~@8 c2@2]/7", // Ebsus2 Eb F C Am Bb F C …
C: "~@2 [c2,c3] ~ [g2,g3,eb4] ~ c2 ~ [eb2,eb4]@2 ~@4 c2@2, ~@14 c3 ~", // C Cm Eb
D: "~@2 [c2,c3] ~ [a1,f3,bb3] ~ [a1,g3,c4] ~ [bb1,c4] ~@5 c3 ~", // C Bbmaj7 Am7 Bbsus2
E: "~@2 [c2,c3] ~ [g2,f3,bb3] ~ [c2,c3] ~ [eb2,bb3]@2 f2 ~@3 c3@2, ~@8 f3 ~@7", // C Gm7 C Eb5
F: "[~@2 [c2,c3] ~ g2@2 [c2,c3] ~ [g3,bb3,eb4] ~ [f2,g3,bb3,eb4] ~ [f3,bb3] ~ [c2,g3,bb3,eb4]@4 [c2,c3] ~@5 [f3,bb3] ~ [f2,g3,c4] ~ bb1 ~ c2@2, ~@8 eb2@2 ~@2 bb1@2 ~@16 c3 ~]/2", // C Eb Bb5 Cm7 C Bb5 Fsus2
G: "~@2 [c2,c3] ~ a1 ~ [a1,c3] ~ bb1 ~ bb1 ~ [b1,c3] ~ c2@2, ~@14 c3 ~", // C Am Cmaj7
H: "~@2 [c2,c3] ~ [g2,g3,bb3] ~ [c2,c3] ~@7 c2@2, ~@14 c3 ~", // C Gm C
I: "[f3,bb3] ~ [c2,c3] ~ [g2,f3,bb3] ~ c2 ~ [eb2,bb3]@2 [f2,g3,c4] ~ bb1 ~ c2@2, ~@8 f3 ~@5 c3 ~", // Bb5 C Gm7 Eb5 Fsus2
J: "~@2 [c2,c3] ~ [g2,g3,bb3,eb4] ~ [c2,c3] ~ [eb2,bb3,d4]@2 [f2,g3,bb3,eb4] ~@5, ~@8 f3 ~@7", // C Eb C Ebmaj7 Eb
K: "[~@2 c3 ~ [a1,g3,c4] ~ a1 ~ [bb1,a3] ~ [bb1,c4] ~ [c2,a3] ~ [f3,a3,c4]@4 ~@2 [e3,g3]@3 ~ [f3,a3,c4] ~@7]/2", // Am7 Bbmaj7 Bbsus2 F Em F
L: "[~@4 [f3,a3]@2 ~@2 [f3,bb3,d4] ~@5 [g3,c4,e4]@5 ~ [a3,f4]@2 ~@2 f4 ~@5 [c4,e4]@4 g3 ~ [a3,f4]@2 ~@2 [a3,c4]@2 [g3,e4] ~@5, ~@20 c4 ~@9 g3@3 ~@3 c4 ~@3 f4 ~@7]/3", // F Bb C Dm C Dm Am C
M: "[~@4 [e3,g3,c4] ~@3 [f3,a3,c4] ~@5 [f3,bb3,d4]@4 f3 ~ [a3,c4] ~@9 [g3,c4,e4]@5 ~ [c4,f4] ~@3 [a3,f4] ~ [g3,c4,e4] ~@5, ~@18 a3 ~ c4 ~@3]/3", // C F Bb Am C F5 Dm C
N: "~@4 [a3,c4] ~@3 [g3,bb3,eb4] ~ [a3,c4,f4] ~@3 c2@2", O: "~@2 c2 ~ g2 ~ c2 ~ eb2 ~@3 bb1 ~ c2@2",
P: "~@2 c2 ~ g2 ~ c2 ~ eb2@2 f2 ~ bb1 ~ c2@2", Q: "~@2 c2 ~ g2 ~ c2 ~ eb2 ~ f2 ~ bb1 ~@3",
R: "~@2 c2 ~ a1 ~ a1 ~ bb1 ~ bb1 ~ b1 ~ c2@2", S: "~@10 f2 ~ bb1 ~ c2@2", T: "~@2 c2 ~ a1 ~@9 c2@2",
U: "~@2 c2@2 ~@2 c2 ~ eb2 ~ f2 ~ bb1 ~ c2@2", V: "~@2 c2 ~ g2 ~ c2 ~ eb2@2 f2 ~@5",
W: "~@6 c2 ~ eb2@2 f2@2 bb1@2 c2@2", X: "~@2 c2@2 a1 ~ a1@2 bb1 ~ bb1 ~ b1 ~ c2@2", Y: "~@5 f2 bb1 c2",
Z: "~@2 c2 ~ g2@2 c2 ~ eb2@2 f2 ~ bb1@2 c2@2", AA: "~@2 c2 ~ g2 ~@9 c2@2",
AB: "[~@2 c2 ~ a1 ~ a1 ~ bb1 ~ bb1 ~ c2 ~ [f3,a3,c4]@4 [f3,c4] ~ g3 ~@3 [f3,a3]@3 ~ f3 ~ [bb3,d4]@4 f3 ~ [f3,c4]@2 ~@8 c4@4 g3 ~ [a3,c4] ~@3 [a3,c4]@2 [g3,c4,e4] ~@5, ~@24 c4@4 ~@2 f3@3 ~@3 a3 ~@9 g3@3 ~@3 f4@2 ~@2 f4 ~@7]/4", // F F5 F Bb F5 Am C
AC: "[~@4 [c4,f4] ~@3 [a3,c4,f4] ~ [g3,c4,e4] ~@3 [a3,c4]@4 f3 ~@5 [f3,a3] ~@5 [bb3,d4]@4 f3 ~ [f3,a3,c4] ~@3 [f3,bb3,d4] ~@7, ~@14 f3@3 ~@13 f3@3 ~@15]/3", // F5 F C Am F Bb F Bb
AD: "[~@4 [a3,c4] ~@3 [a3,c4]@2 [g3,c4,e4] ~@3 [g3,c4,e4]@5 ~ a3 ~@3 bb3 ~ [a3,c4,f4] ~@3 c2@2, ~@8 f4 ~@23]/2", // Am C F
AE: "~@2 c2 ~ g2 ~ c2 ~ eb2 ~ f2 ~ bb1 ~ c2@2", AF: "~@2 c2 ~ g2 ~ c2 ~ eb2@2 ~@6",
AG: "~@4 g2 ~ c2 ~ eb2@2 f2 ~ bb1@2 c2@2", AH: "~@2 c2 ~ a1 ~ a1 ~ bb1 ~ bb1 ~ b1 ~@3",
AI: "~@8 eb2@2 f2 ~ bb1@2 c2@2", AJ: "~@2 c2 ~@9 bb1 ~ c2@2", AK: "~@2 c2 ~ g2 ~ c2 ~@9",
AL: "~@2 c2 ~ g2 ~ c2 ~ eb2@2 f2@2 bb1@2 c2@2",
AM: "[~@6 a1 ~ bb1 ~ bb1 ~ c2 ~ [f3,a3,c4]@5 ~ [e3,g3,c4]@2 ~@2 [f3,c4] ~@7]/2", // F C F5
AN: "[~@4 [f3,a3,c4] ~@3 [f3,bb3,d4] ~@5 [g3,c4,e4]@5 ~ [a3,c4,f4] ~@5 e4 ~@3 [g3,c4,e4]@5 ~ [a3,c4,f4] ~@3 [a3,c4]@2 [g3,c4] ~@5, ~@40 f4 ~@7]/3", // F Bb C F C F Am C5
AO: "[~@2 a3 ~ [g3,c4,e4] ~@3 [a3,c4,f4] ~@5 [bb3,d4,f4]@4 ~@2 [a3,f4] ~@9 [g3,c4,e4]@5 ~ [a3,c4,f4] ~@3 [c4,f4]@2 [g3,e4] ~@3 e4@5 ~ c4 ~@3 [c4,f4]@2 [g3,c4,e4] ~@11 bb1 ~@3 bb1 ~@9 bb1 ~ bb1 ~ [a3,d4,f4]@2 bb1 ~ [a3,d4,f4]@2 c2 ~, ~@40 a3 ~@15 a3 ~@5 [f3,bb3,d4]@25 ~@9]/6", // C F Bb Dm C F F5 C …
AP: "[[a3,d4] ~@3 [g3,c4,e4]@2 ~@12 c2 ~@3 c2 ~ d2@2 e2 ~ d2 ~ c2 ~, ~@8 [g3,c4,e4]@23 ~]/2", // D5 C
AQ: "~@6 bb1 ~ c2@2 d2 ~ c2 ~ bb1@2", AR: "~@6 bb1 ~ c2@2 d2 ~ c2 ~ bb1 ~", AS: "[g3,e4] ~@15",
AT: "~@2 g2 ~ f2 ~ f2 eb2 ~ eb2@2 ~ d2 ~ d2 ~, g4 ~@3",
AU: "[g2 ~ g2 ~ f2 ~ f2 ~@7 c2@4 c2 ~ g2 ~ c2 ~ eb2@2 f2 ~ bb1@2 c2@2]/2", AV: "~@4 g2 ~ c2 ~ eb2@2 f2@2 bb1@2 c2@2",
AW: "~@2 c2@2 a1 ~ a1@2 bb1 ~ bb1 ~ b1 ~@3", AX: "~@4 eb2 f2 bb1 c2", AY: "~@2 c2 ~@9 bb1@2 c2@2",
AZ: "~@2 c2 ~ g2@2 c2 ~@9", BA: "~@2 c2 ~ g2 ~ c2 ~ eb2@2 f2 ~ bb1@2 c2@2", BB: "~@2 c2 ~ g2 ~ c2 ~ eb2@2 f2@2 ~@4",
BC: "~@6 a1@2 bb1 ~ bb1@2 b1 ~ c2@2", BD: "[~@2 c2 ~ g2 ~ c2 ~ eb2@2 f2@2 bb1@2 c2@4 ~@8 f2@2 bb1@2 c2@2]/2",
BE: "[~@2 c2 ~ a1 ~@9 [f3,a3,c4]@4 [f3,a3,c4] ~ [e3,g3,c4] ~@3 [f3,a3,c4] ~@7]/2", // F C F
BF: "[~@2 [bb3,d4] ~ [f3,a3,c4] ~@3 [f3,bb3,d4] ~@5 [g3,c4,e4]@4 g3 ~@5 [a3,f4] ~ [g3,c4,e4] ~@3 [g3,c4,e4]@2]/2", // Bb F Bb C Dm C
BG: "[~@2 [g3,c4,e4] ~ f4 ~@3 c4@2 [g3,c4,e4] ~@3 [f3,a3,c4]@5 ~ [e3,g3,c4] ~@3 [f3,a3] ~@7]/2", // C F C F
BH: "[~@4 [f3,a3,c4] ~@3 [f3,bb3,d4] ~@5 [g3,c4,e4]@5 ~ [a3,c4,f4] ~@5 [c4,e4] ~@3 [g3,c4,e4]@5 ~ [a3,c4,f4] ~@3 [a3,c4]@2 e4 ~@3 c4@5 ~ [e3,g3,c4] ~@3 [f3,a3,c4] ~@5 [f3,bb3,d4]@5 ~ [f3,a3] ~@9 [g3,c4,e4]@5 ~ [a3,c4,f4] ~@3 [a3,f4] ~ [g3,c4,e4] ~@5, ~@40 f4 ~@47 c4@2 ~@6]/6", // F Bb C F C F Am C …
BI: "[~@4 [a3,c4] ~@3 [a3,c4,f4]@2 [g3,c4,e4] ~@3 [f3,a3,c4]@5 ~ c4 ~@3 c4 ~@5 [f3,bb3,d4]@5 ~ [f3,a3,c4] ~@3 [f3,bb3,d4] ~@5 [g3,e4]@5 ~@5 [a3,c4,f4]@2 [g3,e4] ~@3 [g3,c4,e4]@5 ~ [a3,c4,e4,f4] ~@5 [c4,f4] ~@5]/5", // Am F C F Bb F Bb C …
BJ: "~@2 c2!2 g2@2 c2 ~ eb2@2 f2@2 bb1 ~ c2@2", BK: "~@2 c2@2 a1 ~ a1 ~ bb1 ~@7",
BL: "~@4 g2 ~ c2 ~ eb2@2 f2 ~ bb1 ~ c2@2", BM: "~@2 c2 ~ g2 ~ c2 ~ eb2@2 f2 ~ bb1 ~@3",
BN: "~@8 eb2@2 f2 ~ bb1 ~ c2@2", BO: "~@2 c2 ~ a1@2 a2 ~ bb1@2 bb2 ~ b1@2 c2@2", BP: "~@6 c2 ~ eb2 ~ f2 ~ bb1@2 c2@2",
BQ: "~@10 bb1 ~ b1 ~ [c2,g3]@2, ~@14 [bb3,eb4] ~", // C5 Eb5
})).s("gm_clavinet").gain(0.4)
// bass · slap bass 2 · "El Bass"
const bass = note(`<
~ A B C@3 D C@2 E F G H C I C@3 J@2 K L M N O P Q@2 R C S E R E F T C@2 U@2 V C W X Y L Z AA Y AB@2 C@3 AC@2 C R AD AE
E AF S C@2 E AG AH AI AJ AK N AL AM AN AO AP AQ@2 AR@2 AS AT AU@2 C@2 AV C@2 H AW AX H G AY H C@2 AZ@2 AL BA BB N BC
AM BD@2 AL AJ BE@2 AL BF BG@2 C BH D E BI V I V BI C BJ C AE BK AV
>`.pickRestart({
A: "eb3 ~ eb3 ~ db3 ~ db3 ~ b2 ~ b2 ~ ab2 ~ ab2 ~", B: "f2 ~ f2 ~ eb2 ~ eb2 ~ db2 ~ db2 ~ bb1@2 c2@2",
C: "~@2 c2 ~ g2@2 c2 ~ eb2@2 f2@2 bb1@2 c2@2", D: "~@2 c2@2 a1 ~ a1 ~ bb1 ~ bb1 ~ b1 ~ c2@2",
E: "~@2 c2 ~ g2@2 c2 ~ eb2@2 f2@2 bb1 ~ c2@2", F: "~ c2 a1 a2 bb1 bb2 b1 c2", G: "~ c2 g2 c2 eb2 f2 bb1 c2",
H: "~@2 c2@2 g2@2 c2 ~ eb2@2 f2@2 bb1@2 c2@2", I: "~@2 c2@2 a1 ~ a1@2 bb1 ~ bb1 ~ b1 ~ c2@2",
J: "[~@2 c2@2 a1 ~ a1 ~ bb1 ~ bb1 ~ c2 ~ f2@4 ~@2 e2@3 ~ d2@2 c2@2 ~@2 bb1@2]/2",
K: "~@2 bb1 ~ a1@3 ~ g1@2 a1 ~ d2 ~ c2@2", L: "~@2 c2 ~ c2@3 ~ c2 ~ c2@3 ~ c2@2",
M: "~@2 c2 ~ c2@3 ~ c2@2 d2@2 c2@2 f2@2", N: "~@2 f2 ~ e2@3 ~ d2@3 ~ c2 ~ bb1@2",
O: "~@2 bb1 ~ a1@3 ~ g1@2 a1 ~ g1 ~ c2@2", P: "~@2 c2@2 e1@4 f1 ~ gb1@3 ~ g1@2",
Q: "[~@2 g1 ~ bb1@2 c2 ~ bb1@2 a1@3 ~ c2@6 g2@2 c2 ~ eb2@2 f2@2 bb1 ~ c2@2]/2",
R: "~@2 c2 ~ g2@2 c2 ~ eb2@2 f2 ~ bb1@2 c2@2", S: "~@2 c2 ~ a1 ~ a1 ~ bb1 ~ bb1 ~ b1 ~ c2@2",
T: "~@2 c2@2 g2 ~ c2@2 eb2@2 f2@2 bb1@2 c2@2",
U: "[~@2 c2@2 a1@2 a2@2 bb1@2 bb2@2 b1@2 c2@4 c3 ~ g2 ~ c2 ~ eb2@2 f2 ~ bb1@2 c2@2]/2",
V: "~@2 c2 ~ g2 ~ c2 ~ eb2@2 f2@2 bb1@2 c2@2", W: "~@2 c2@2 a1 ~ a1@2 bb1 ~ bb1 ~ c2 ~ f2@2",
X: "~@2 f2 ~ e2 ~ e2@2 d2 ~ d2@2 c2 ~ bb1@2", Y: "~@2 bb1 ~ a1@3 ~ g1@2 bb1@2 d2 ~ c2@2",
Z: "~@2 c2 ~ c2@3 ~ c2@2 a1@2 c2@2 f2@2", AA: "~@2 f2 ~ e2@4 d2@4 c2 ~ bb1@2",
AB: "[~@2 c2 ~ c2@3 ~ c2@2 e1@2 f1@2 g1@4 g1@2 bb1 ~ c2 ~ bb1@2 a1@2 ~@2 c2@2]/2",
AC: "[~@2 c2@2 a1 ~ a1@2 bb1 ~ bb1 ~ b1 ~ c2@4 c2 ~ g2@2 c2 ~ eb2@2 f2@2 bb1@2 c2@2]/2",
AD: "~@2 c2@2 a1@2 a1@2 bb1 ~ bb1 ~ b1@2 c2@2", AE: "~@2 c2 ~ g2@2 c2 ~ eb2@2 f2 ~ bb1 ~ c2@2",
AF: "~@2 c2 ~ g2@2 c2 ~ eb2@2 f2@2 c2 ~ c2@2", AG: "~@2 c2 ~ a1 ~ a1 ~ bb1 ~ bb1 ~ c2 ~ f2@2",
AH: "~@2 f2 ~ e2@3 ~ d2@4 c2 ~ bb1@2", AI: "~@2 bb1 ~ a1@3 ~ g1 ~ bb1 ~ d2 ~ c2@2",
AJ: "~@2 c2 ~ e1@3 ~ f1@3 ~ gb1 ~ g1@2", AK: "~@2 g1 ~ a1@3 ~ bb1 ~ bb1 ~ c2 ~ f2@2",
AL: "~@2 bb1 ~ a1@3 ~ g1@2 bb1 ~ d2 ~ c2@2", AM: "~@2 c2 ~ c2@3 ~ c2@3 ~ c2 ~ c2@2",
AN: "~@2 c2 ~ c2@3 ~ bb1@2 a1@3 ~ bb1@2", AO: "~@2 bb1 ~ bb1@3 ~ d2@3 ~ f2@2 d2 ~",
AP: "bb1@5 ~ bb1 ~ c2@2 d2@2 c2@2 bb1 ~", AQ: "[c2@4 ~@2 c2 ~ d2@2 e2@2 d2@2 c2@7 ~ c2 ~ d2@2 e2@2 d2@2 c2@2]/2",
AR: "[bb1@5 ~ bb1 ~ c2@2 d2@2 c2@2 bb1@6 ~@2 bb1 ~ c2@2 d2@2 c2@2 bb1 ~]/2", AS: "c2 ~@15",
AT: "g2 ~ g2 ~ f2 ~ f2 eb2 ~ eb2 ~@2 d2 ~ g1@2",
AU: "[g2 ~ g2 ~ f2 ~ [e2,f2] eb2 ~ eb2@2 ~ d2 ~ c2@4 c2 ~ g2@2 c2 ~ eb2@2 f2 ~ bb1@2 c2@2]/2", // Fmaj7
AV: "~@2 c2@2 a1 ~ a1@2 bb1 ~ bb1 ~ b1@2 c2@2", AW: "~@2 c2@2 a1@2 a1 ~ bb1 ~ bb1 ~ b1 ~ c2@2",
AX: "~@2 c2 ~ g2@2 c2@2 eb2@2 f2@2 bb1@2 c2@2", AY: "~@2 c2@2 a1@2 a1@2 bb1 ~ bb1 ~ b1 ~ c2@2",
AZ: "[~@2 c2@2 a1@2 a2@2 bb1@2 bb2@2 c2@2 f2@5 ~ e2@3 ~ d2@4 c2 ~ bb1@2]/2",
BA: "~@2 c2 ~ e1@3 ~ f1@3 ~ gb1 ~ g1@2, ~@8 e1 ~@7", BB: "~@2 g1 ~ a1@2 g1 ~ bb1@3 ~ c2 ~ f2@2",
BC: "~@2 bb1 ~ a1@3 ~ g1@2 d2 ~ d2 ~ c2@2", BD: "[~@2 c2 ~ c2@2 g1 ~ a1@2 c2@2 a1@2 f2@5 ~ e2@3 ~ d2@4 c2 ~ bb1@2]/2",
BE: "[~@2 g1 ~ a1@2 g1 ~ bb1@2 g1 ~ c2 ~ f2@6 e2@3 ~ d2@3 ~ c2 ~ bb1@2]/2", BF: "~@2 c2 ~ c2@2 ~@2 c2@3 ~ c2 ~ c2@2",
BG: "[~@2 c2 ~ c2@3 ~ bb1@2 a1@2 ~@2 c2@6 g2@2 c2 ~ eb2@2 f2@2 bb1@2 c2@2]/2",
BH: "~@2 c2 ~ g2 ~ c2 ~ eb2@2 f2 ~ bb1 ~ c2@2", BI: "~@2 c2 ~ g2 ~ c2 ~ eb2@2 f2 ~ bb1@2 c2@2",
BJ: "~@2 c2 ~ a1 ~ a1@2 bb1 ~ bb1 ~ b1 ~ c2@2", BK: "~@2 c2 ~ g2 ~ c2 ~ eb2@2 f2@2 bb1 ~ c2@2",
})).s("gm_slap_bass_2").gain(0.46)
// chords · epiano2 · "Rhodes"
const epiano2 = note(`<
~ A B@8 C@6 D@8 E F G@6 H@6 I@5 J@5 K@2 L@6 M@8 N@3 ~@15 O P ~ Q@4 R@4 S@8 T@8 U@2 V@4 W@8 X@8 Y
>`.pickRestart({
A: "[f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~", // Ebsus2
B: "[[f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [f3,bb3,b3,eb4] ~ [bb3,db4,eb4] d4 [bb3,eb4]@22 ~@2 [g3,bb3] ~ [a3,c4,eb4,f4] ~@3 [g3,bb3,eb4]@22 ~@4 [d4,f4]@2 [d4,f4,bb4] ~ [c4,f4,a4] ~ [bb3,eb4,g4]@23 ~@3 [g3,bb3] ~ [a3,c4,f4] ~@3 [g3,bb3,eb4]@18, ~@14 g3@24 ~@2 eb4@2 ~@30 bb4 ~@31 eb4@2 ~@22]/8", // Ebsus2 Eb7 Eb5 Gm F7 Eb Dm Bb …
C: "[~@8 [d4,f4,bb4] ~ [d4,f4,bb4] ~ [c4,f4,a4] ~ [bb3,eb4,g4]@23 ~@3 [g3,bb3] ~ [a3,c4,f4] ~@3 [g3,bb3,eb4]@23 ~@3 [d4,f4,bb4] ~ [d4,f4,bb4] ~ [c4,f4,a4] ~ [bb3,eb4,g4]@18, ~@20 eb4 ~@27]/6", // Bb F Eb Gm F Eb Bb F …
D: "[~@8 [g3,bb3] ~ [a3,c4,f4] ~@3 [g3,bb3,eb4]@26 ~@6 [a3,c4,f4]@5 ~ [g3,c4,e4] ~@3 [a3,c4] ~ [g3,c4,e4] ~@3 [f3,bb3,d4]@5 ~ [f3,c4]@2 ~@2 [f3,bb3,d4]@6 [g3,c4,e4]@5 ~ [a3,c4,f4] ~@3 [a3,c4] ~ [g3,c4,e4] ~@3 [g3,c4,e4]@5 ~ [a3,c4,f4] ~@3 [a3,c4] ~ [g3,c4,e4] ~@3 [a3,c4,f4]@5 ~ [g3,c4,e4] ~@3 [a3,c4,f4]@2 c4 a3 [g3,c4,e4] ~ [f3,bb3,d4]@2, ~@8 eb4@2 ~@46 f4@2 ~@10 a3 ~@19 f4@2 ~@14 f4@2 ~@22]/8", // Gm F Eb F C Am C Bb …
E: "~@4 [f3,a3,c4] ~@3 [f3,bb3,d4]@6 [g3,c4,e4]@2, ~@14 b3 ~", // F Bb C
F: "~@2 g3 ~ [a3,c4,f4] ~@3 [a3,f4]@2 [g3,c4,e4] ~@3 [g3,c4,e4]@2, ~@8 c4 ~@7", // F Dm C
G: "[~@4 [a3,c4,f4] ~@3 [g3,bb3,eb4] ~ [a3,c4,e4,f4] ~@3 [g3,bb3,eb4]@24 ~@2 [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [a3,c4,f4] ~ [g3,bb3,eb4]@22 ~@4 [d4,f4,bb4] ~@3 [c4,f4,a4] ~ [bb3,eb4,g4]@18]/6", // F Eb Fmaj7 Eb F Eb Bb F …
H: "[~@8 [g3,bb3,eb4]@2 [a3,c4,f4] ~@3 [g3,bb3,eb4]@25 ~ [bb3,d4] ~ [f3,bb3,d4] ~ [f3,a3,c4] ~ [g3,bb3,eb4]@25 ~ [g3,bb3] ~ [a3,c4,f4] ~@3 [g3,bb3,eb4]@18, ~@20 f3 ~@15 eb4 ~@11]/6", // Eb F Eb Bb F Eb Gm F …
I: "[~@8 [d4,f4]@2 [d4,f4,bb4] ~ [c4,f4,a4,b4] ~ [bb3,eb4,g4]@23 ~@3 [g3,bb3] ~ [a3,c4,f4] ~@3 [g3,bb3,eb4]@24 ~@2 a3@2 c4 ~@3 [f3,a3,c4]@2, ~@8 bb4 ~@31 eb4@2 ~@38]/5", // Dm Bb F Eb Gm F Eb F
J: "[~@2 f3 ~ [e3,g3,c4] ~ c4 ~ [f3,a3,c4] ~@5 [f3,bb3,d4]@5 f3 [f3,a3,c4] ~@3 [f3,bb3,d4] ~ [f3,bb3,d4] ~@3 [g3,c4,e4]@5 ~ [a3,c4,f4]@2 ~@2 [a3,c4] ~ [g3,c4,e4] ~@3 [g3,c4,e4]@5 ~ [a3,c4,f4] ~@3 [a3,c4] ~ [g3,c4,e4] ~@3 [a3,c4,f4]@6 [g3,c4,e4] ~@3 [a3,c4,f4]@2 ~@4 [bb3,d4,f4]@2, ~@20 f4 ~@7 f4 ~@11]/5", // C F Bb F Bb C F Am …
K: "[~@4 [a3,c4,f4] ~@3 [bb3,d4,f4] ~@5 [g3,c4,e4]@5 ~ [a3,c4]@2 ~@2 [a3,c4,f4]@2 [g3,c4,e4] ~@3 [g3,c4,e4]@2, ~@20 f4 ~@11]/2", // F Bb C Am F C
L: "[~@4 [a3,c4,f4] ~@3 [bb3,d4] ~ [a3,c4] ~@3 [g3,bb3,eb4]@23 ~@3 [g3,bb3] ~ [a3,c4,f4] ~@3 [g3,bb3,eb4]@23 ~@3 [f3,bb3,d4] ~ [f3,bb3,d4] ~ [f3,a3,c4] ~ [g3,bb3,eb4]@18, ~@4 f4@2 ~@14 eb4 ~@27]/6", // F Bb Am Eb Gm F Eb Bb …
M: "[~@8 [g3,bb3] ~ [a3,c4,f4] ~@3 [g3,bb3,eb4]@25 ~ [f3,bb3,d4] ~ [f3,bb3,d4] ~ [f3,a3,c4] ~ [g3,bb3,eb4]@22 ~@4 [g3,bb3] ~ [a3,c4,f4] ~@3 [g3,bb3,eb4]@22 ~@4 [f3,bb3,d4] ~ [f3,bb3,d4] ~ [f3,a3,c4] ~ [g3,bb3,eb4]@18, ~@4 eb4 ~@31 eb4 ~@27]/8", // Gm F Eb Bb F Eb Gm F …
N: "[~@8 [g3,bb3] ~ [a3,c4,f4] ~@3 [g3,bb3,eb4]@23 ~ g3@2 a3@2 c4@2 a3 ~@3, ~@4 eb4 ~@19]/3", // Gm F Eb
O: "g4 ~ g4 ~ f4 ~ f4 eb4 ~ eb4!2 ~ d4 ~ c4 ~", P: "g4 ~ g4 ~ f4 ~ f4 eb4 ~ eb4!2 ~ d4 ~@3",
Q: "[~@8 [d4,f4,bb4] ~ [d4,f4,bb4] ~ [c4,f4,a4] ~ [bb3,eb4,g4]@23 ~@3 [g3,bb3,eb4]@2 g3 ~ [a3,c4,f4] ~ [g3,bb3,eb4]@18]/4", // Bb F Eb F Eb
R: "[~@8 [d4,f4,bb4]@2 bb4 ~ [c4,f4,a4] ~ [bb3,eb4,g4]@23 ~@3 [g3,bb3,eb4]@3 ~ [a3,c4,f4] ~ [g3,bb3,eb4]@18]/4", // Bb F Eb F Eb
S: "[~@8 [d4,f4,bb4]@3 ~ [c4,f4,a4] ~ [bb3,eb4,g4]@24 ~@2 [bb3,d4,f4]@3 ~ [a3,c4,f4] ~ [g3,bb3,eb4]@25 ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [a3,c4,f4] ~ [g3,bb3,eb4]@23 ~ g3@2 a3@2 c4 ~@3 [a3,c4,f4]@6 [g3,c4,e4] ~@3 [a3,c4,f4] ~@5 [bb3,d4,f4]@2]/8", // Bb F Eb Bb F Eb F Eb …
T: "[~@4 [a3,c4,f4] ~@3 [bb3,d4,f4] ~@5 [g3,c4,e4]@5 ~ [a3,c4]@2 ~@2 [c4,f4]@2 [g3,c4,e4] ~@3 [g3,c4,e4]@5 ~ [a3,c4,f4] ~@3 [a3,c4] ~ [g3,c4,e4] ~@3 [a3,c4,f4]@6 [g3,c4,e4] ~@3 [a3,c4] ~@5 [bb3,d4,f4]@5 ~ [a3,c4,f4] ~@3 [bb3,d4,f4] ~@5 [g3,c4,e4]@5 ~ [a3,f4] ~@3 [a3,c4,f4]@2 [g3,c4,e4] ~@3 g3@4 g3 ~ [a3,c4,f4] ~@3 [c4,f4]@2 [g3,c4,e4] ~@3 [a3,c4,f4]@6 [g3,c4,e4] ~@3 [a3,c4,f4] ~@5 [bb3,d4,f4]@2, ~@20 f4 ~@3 a3 ~@15 f4@2 ~@14 f4@2 ~@36 [c4,e4]@6 ~@4 a3 ~@23]/8", // F Bb C Am F5 C F Am …
U: "[~@4 [a3,c4,f4] ~@3 [bb3,d4,f4] ~@5 [g3,c4,e4]@4 g3 ~ [a3,c4,f4] ~@3 [a3,c4,f4]@2 [g3,c4,e4] ~@3 [g3,c4,e4]@2]/2", // F Bb C F C
V: "[~@2 g3 ~ [a3,c4,f4] ~@3 [a3,c4,f4]@2 [g3,c4,e4] ~@3 [a3,c4,f4]@6 [g3,c4,e4] ~@3 [a3,c4,f4] ~@5 [bb3,d4,f4]@5 ~ [a3,c4,f4] ~@3 [bb3,d4,f4] ~@5 [g3,c4,e4]@5 ~ [a3,c4,f4] ~@3 [a3,c4,f4]@2 [g3,e4] ~@3 [g3,c4,e4]@2]/4", // F C F C F Bb F Bb …
W: "[~@4 [a3,c4,f4] ~@3 [d4,bb4] ~ [c4,f4,a4] ~@3 [bb3,eb4,g4]@24 ~@2 [g3,bb3,eb4]@3 ~ [a3,c4,f4] ~ [g3,bb3,eb4]@22 ~@4 [d4,f4,bb4]@3 ~ [c4,f4,a4] ~ [bb3,eb4,g4]@23 ~@3 [g3,bb3,eb4]@4 [a3,c4,f4] ~ [g3,bb3,eb4]@18, ~@4 f4 ~@59]/8", // F Gm F Eb F Eb Bb F …
X: "[~@8 [d4,f4,bb4]@3 ~ [c4,f4,a4] ~ [bb3,eb4,g4]@22 ~@4 [g3,bb3,eb4]@3 ~ [a3,c4,f4] ~ [g3,bb3,eb4]@22 ~@6 [f4,bb4]@2 [c4,a4] ~ [bb3,eb4,g4]@22 ~@4 [g3,bb3,eb4]@3 ~ [a3,c4,f4] ~ [g3,bb3,eb4]@18, ~@74 d4 ~@35 a3 ~@17]/8", // Bb F Eb F Eb Bb5 F Eb …
Y: "~@8 [d4,f4,bb4]@3 ~ [c4,f4,a4] ~ [eb4,g4,bb4,c5] ~", // Bb F Cm7
})).s("gm_epiano2").gain(0.29)
// chords · epiano2 · "Rhodes" · soft notes
const epiano2_soft = note("<~@66 A@8 B@3 C@2 D@2 E ~@2 F@2 ~@46>".pickRestart({
A: "[~@14 [a3,c4,f4]@5 ~ [g3,c4,e4] ~@3 [a3,c4,f4] ~@5 [bb3,d4,f4]@5 ~ [a3,c4,f4] ~@3 [bb3,d4,f4] ~@5 [g3,c4,e4]@5 ~ [a3,c4]@2 ~@2 [a3,c4] ~ [g3,c4,e4] ~@3 [g3,c4,e4]@6 [a3,c4,f4] ~@3 [a3,c4] ~ [g3,c4,e4] ~@3 [a3,c4,f4]@5 ~ [g3,c4,e4] ~@3 [a3,c4,f4] ~@5 [bb3,d4,f4]@5 ~ [a3,c4,f4] ~@3 [bb3,d4,f4] ~@5 [g3,c4,e4]@5 ~ [a3,c4,f4] ~@3 [a3,c4] ~ [g3,c4,e4] ~@3 [g3,c4,e4]@2, ~@52 f4 ~@3 f4@2 ~@14 f4@2 ~@46 f4@2 ~@6]/8", // F C F Bb F Bb C Am …
B: "[~@4 [a3,c4,f4] ~ f4 ~ [a3,c4] ~ [g3,c4,e4] ~@3 [bb3,d4,f4]@6 [d4,f4] ~@3 [bb3,d4,f4]@2 ~@2 bb3 ~ [bb3,d4,f4]@8 bb3 ~ [a3,d4,f4]@3 ~ [a3,d4,f4]@3 ~, ~@8 f4@2 ~@10 bb3@2 ~@18 b3 ~@7]/3", // F Am C Bb Dm Bb Dm
C: "[[g3,f4]@2 e4@2 g3 ~ [c4,e4]@20 g3@2 [g3,c4,e4] ~@3, c4@5 ~ g3@19 ~@7]/2", // G7 C
D: "[[bb3,d4,f4]@12 ~@2 [bb3,d4]@15 ~@3, ~@14 f4@17 ~]/2", E: "[c4,e4] ~@15, ab3 ~@7", F: "[[bb3,eb4,g4]@11 ~@5]/2",
})).s("gm_epiano2").gain(0.16)
// chords · brass section · "Brass"
const brass_section = note(`<
~ A B ~@4 C D ~@9 E@3 F@6 ~@6 G H ~@7 E@3 F@6 ~@15 E@3 F@6 I@2 J@2 I@2 K ~ L@2 M ~@4 N O ~@7 E@3 P@8 Q@6 ~@2 R S ~@2 T
~ U V W X@5
>`.pickRestart({
A: "[f3,b3,eb4] ~ [f3,b3,eb4] ~ [f3,b3,eb4] ~ [f3,b3,eb4] ~ [f3,b3,eb4] ~ [f3,b3,eb4] ~ [f3,b3,eb4] ~ [f3,b3,eb4] ~", // Fm7b5
B: "[f3,b3,eb4] ~ [f3,b3,eb4] ~ [f3,b3,eb4] ~ [f3,b3,eb4] ~ [f3,b3,eb4] ~ [f3,b3,eb4] ~ [f3,b3,eb4] ~ [g3,bb3,eb4]@2", // Fm7b5 Eb
C: "~@2 [c3,c4] ~ c4@2 [g2,g3] ~ [bb2,bb3] ~ [c3,c4]@2 ~@4, ~@4 c3 ~@11", // C G Bb C
D: "~@8 [d4,f4]@2 [d4,f4,bb4] ~ [c4,f4,a4] ~ [bb3,eb4,g4]@2, ~@8 bb4 ~@7", // Dm Bb F Eb
E: "[~@8 a3@2 c4 ~ a3 ~ [a3,c4,f4]@6 [g3,c4,e4]@2 ~@2 [a3,c4,f4]@5 ~ [bb3,d4]@5 ~ [a3,c4] ~@3 [bb3,d4,f4]@5 ~ [g3,c4,e4]@2, ~@30 f4@9 ~ db4 ~@7]/3", // F C F Bb Am Bb C
F: "[~@4 [a3,c4]@2 ~@2 [a3,c4,f4]@2 [g3,e4] ~@3 [g3,c4,e4]@6 [a3,c4,f4] ~@3 [a3,c4,f4]@2 [g3,e4] ~@3 [a3,c4,f4]@6 [g3,e4] ~@3 [a3,c4,f4]@4 ~@2 [bb3,d4]@5 ~ [a3,c4] ~@3 [bb3,d4,f4]@4 ~@2 [g3,c4,e4]@6 [a3,c4,f4] ~@3 [a3,c4,f4]@2 [g3,e4] ~@3 [c4,e4]@6 [a3,f4] ~@3 [bb3,f4]@2 [a3,c4] ~@5, ~@4 f4 ~@31 c4@2 ~@8 f4@6 ~@26 g3@5 ~@5 d4 ~@7]/6", // Am F C F C F C F …
G: "~@2 [c3,c4] ~ [c3,c4]@3 ~ [c3,c4] ~ [c3,c4]@3 ~@3", // C
H: "~@8 [f4,bb4] ~ [f4,bb4] ~ [c4,f4,a4] ~ [bb3,eb4] ~, ~@4 d4 ~@2 g4", I: "[[bb2,f3,d4]@12 ~@2 [bb2,f3,d4]@17 ~]/2",
J: "[[c3,g3,e4]@12 ~@2 [c3,g3,e4]@17 ~]/2", K: "[c3,g3,e4] ~@15", L: "[~@14 [c3,g3,bb3,eb4]@5 ~@13]/2",
M: "~@8 bb4 ~ a4 ~ g4 ~ eb4@2", N: "~@2 c3 ~ c3@3 ~ [c3,c4] ~ [c3,c4]@2 ~@4, ~@4 c4 ~@11",
O: "~@8 [d4,f4,bb4]@2 [f4,bb4] ~ [c4,f4,a4]@2 [bb3,g4]@2, ~@14 eb4 ~", // Bb Bb5 F Eb
P: "[~@4 [a3,c4]@2 ~@2 [a3,c4,f4]@2 [g3,e4] ~@3 [g3,c4,e4]@6 [a3,c4,f4] ~@3 [a3,c4,f4]@2 [g3,e4] ~@3 [a3,c4,f4]@6 [g3,e4] ~@3 [a3,c4,f4]@4 ~@2 [bb3,d4]@5 ~ [a3,c4] ~@3 [bb3,d4,f4]@4 ~@2 [g3,c4,e4]@6 [a3,c4,f4] ~@3 [a3,c4,f4]@2 [g3,e4] ~@3 [c4,e4]@6 [a3,f4] ~@3 [a3,bb3,f4]@2 [a3,c4] ~ a3 ~ [a3,c4,f4]@6 [g3,c4,e4]@2 ~@2 [a3,c4,f4]@5 ~ [bb3,d4]@5 ~ [a3,c4] ~@3 [bb3,d4,f4]@5 ~ [g3,c4,e4]@2, ~@4 f4 ~@31 c4@2 ~@8 f4@6 ~@26 g3@5 ~@5 d4 ~@21 f4@9 ~ db4 ~@7]/8", // Am F C F C F C F …
Q: "[~@4 [a3,c4]@2 ~@2 [a3,c4,f4]@2 [g3,e4] ~@3 [g3,c4,e4]@6 [a3,c4,f4] ~@3 [a3,c4,f4]@2 [g3,e4] ~@3 [a3,c4,f4]@6 [g3,e4] ~@3 [a3,c4,f4]@4 ~@2 [bb3,d4]@5 ~ [a3,c4] ~@3 [bb3,d4,f4]@4 ~@2 [g3,c4,e4]@6 [a3,c4,f4] ~@3 [a3,c4,f4]@2 [g3,e4] ~@3 [c4,e4]@6 [a3,f4] ~@3 [bb3,f4]@2 [a3,c4] ~@3 [c3,g3,bb3,eb4]@2, ~@4 f4 ~@31 c4@2 ~@8 f4@6 ~@26 g3@5 ~@5 d4 ~@7]/6", // Am F C F C F C F …
R: "~@2 [c3,c4] ~ [c3,c4]@3 ~ [c3,c4] ~ [c3,c4]@2 ~@4", S: "~@8 [d4,f4,bb4]@3 ~ [c4,f4,a4] ~ [bb3,eb4,g4]@2",
T: "~@2 [c3,c4] ~ [c3,c4]@2 ~@2 [c3,c4] ~ [c3,c4]@2 ~@4", U: "~@8 [bb3,bb4]@3 ~ [a3,a4]@2 [g3,g4] ~",
V: "~@2 [eb3,eb4] ~@13", W: "~@6 [c3,c4] ~ [eb3,eb4] ~ eb4@2 [d3,d4]@2 c4@2, ~@10 eb3 ~@3 c3 ~",
X: "~@14 [c4,g4,bb4,eb5] ~", // Cm7
})).s("gm_brass_section").gain(0.32)
// drums · kick
const kick = s("bd").struct(`<
~ A@2 B C@6 D C@7 E B C@2 F G C@2 H B C@14 A B C@6 H B C@10 D C@3 I B C@6 H B C@2 F C F C@18 I B C@6 E B C@6 H B C@14
H
>`.pickRestart({
A: "x!8", B: "~ x!3", C: "x!4", D: "x ~ x ~ x!3 ~", E: "x ~ x ~ x!4", F: "x ~ x ~ x ~ x!2", G: "~ x!2 ~ x ~ x ~",
H: "x ~ x ~ x!2 ~ x", I: "x ~ x ~ x ~@2 x",
})).gain(0.6)
// drums · snare
const snare = s("sd").struct(`<
A B C D@15 E D@7 F D@15 G D@7 F D@15 H D@14 ~ I J D@15 K D@7 E D@7 L D@15 L
>`.pickRestart({
A: "~@3 x", B: "x!8", C: "x!7 ~", D: "~ x ~ x", E: "~@2 x ~@2 x!2 ~", F: "~@2 x ~ x!2 ~@2", G: "~ x!6 ~",
H: "~ x!2 ~ x!3 ~", I: "~@7 x", J: "~@6 x!2", K: "~ x!2 ~@2 x!2 ~", L: "~@2 x ~ x!2 ~ x",
})).gain(0.54)
// drums · clap
const clap = s("cp").struct("<~@3 [~ x ~ x]!129>").gain(0.42)
// drums · low tom
const low_tom = s("lt").struct("<~@18 [~@4 x!3 ~] ~@8 [~ x ~@6] ~@38 [~@5 x!2 ~] ~@65>").gain(0.36)
// drums · hihat
const hihat = s("hh").struct(`<
~@3 A@2 B C A D A C A E A F G C A B H C A C I D C B G C A C A C A H A C A C A C A ~ C J H D C@3 B C@9 H C@5 ~ C@6 E K
A C@4 H L M N C@3 D C@3 H C@3 D C D C O C H C@3 D C B A C@6 B E C@4 H C H C@3 D C@3 B
>`.pickRestart({
A: "~ x ~ x ~ x ~ x", B: "~ x ~ x ~@4", C: "~ x ~ x ~ x ~@2", D: "~ x ~@3 x ~@2", E: "~ x ~ x ~@3 x",
F: "~@3 x ~@3 x", G: "~@3 x ~ x ~ x", H: "~@3 x ~ x ~@2", I: "x ~@2 x ~ x ~@2", J: "~@5 x ~@2", K: "~ x ~@6",
L: "x!8", M: "~ x!6 ~", N: "~ x!2 ~ x!2 ~@2", O: "~@2 x!4 ~@2",
// … 31 more lines
More by The Trammps
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.