0:00/0:00
// Nineteen Hundred and Eighty Five — McCartney
// 116 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 143 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(116/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 · rock organ · "ORGAN 3"
const rock_organ = note(`<
~@2 A B C D E F G H I J@5 I K I L M N O P Q R M S T@4 M R U V W@8 X@2 ~@2 Y@4 Z@2 ~@2 AA AB Q AC O AD Q AE M AF AG@4 Q
AE Q AH ~@2 Y@4 Z@2 ~@2 A@2 M AI O AJ M AK O AL AG@4 O AE U AM AN@2 AO AP AQ@32 AR AS@2 ~@2
>`.pickRestart({
A: "c4 ~ c5 ~ c4 ~ c5 ~ c4 ~ c5 ~ c4 ~ c5 ~", B: "c4 ~ c5 ~ c4 ~ c5 ~ c4 ~ c5 ~ c4 g4 [a4,b4,c5,d5] [e5,f5,g5]",
C: "[eb4,bb5] ~ [eb5,g5,bb5] ~ [g5,bb5]@2 eb5 ~ [eb4,f5,ab5] ~ [f5,ab5]@2 eb4 ~ eb5 ~, ~@4 eb4 ~@5 eb5 ~@5", // Eb5 Eb Gm Fm7 Fm
D: "[eb4,eb5,g5] ~ [eb5,g5]@2 eb4 ~ eb5 ~ eb4 ~ eb5 ~ [e5,g5]@3 ~, ~@6 [f5,ab5]@4 ~@2 eb4 ~@3", // Eb Em Fm
E: "c4 ~ [c5,g5,bb5] ~ [g5,bb5]@2 c5 ~ [c4,f5,ab5] ~ c5 ~ c4 ~ c5 ~, ~@4 c4 ~@5 [f5,ab5]@4 ~@2", // C7 Gm Fm
F: "c4 ~ c5 ~ c4 ~@3 c4 ~@3 c4 ~ c5 ~, [eb5,g5]@2 ~ c5@3 ~@2", // Eb
G: "eb4 ~ [eb5,g5,bb5] ~ [g5,bb5]@2 eb5 ~ [eb4,f5,ab5] ~ eb5 ~ eb4 ~ eb5 ~, ~@4 eb4 ~@5 [f5,ab5]@4 ~@2", // Eb Gm Fm7 Fm
H: "[eb4,eb5,g5] ~ [eb5,g5]@2 eb4 ~ [f5,ab5]@2 eb4 ~ eb5 ~ [eb5,g5]@2 ~@2, ~@6 eb5 ~@5 eb4 ~@3", // Eb Fm Eb
I: "c4 ~ [c5,g5,bb5] ~ [g5,bb5]@2 c5 ~ [c4,f5,ab5] ~ [f5,ab5]@2 c4 ~ c5 ~, ~@4 c4 ~@5 c5 ~@5", // C7 Gm Fm
J: "[c4 ~ c5 ~ c4 ~@3 c4 ~@3 c4 ~@67, [eb5,g5]@5 ~ c5@72 ~@2]/5", // Eb
K: "[c4,eb5,g5] ~ [c5,eb5,g5] ~ c4 ~ c5 ~ c4 ~ c5 ~ [eb5,g5]@2 c5 ~, ~@6 [f5,ab5]@4 ~@2 c4 ~@3", // Cm Eb Fm
L: "c4 ~ c5 ~ c4 ~@3 c4 ~@3 c4 ~@3, [eb5,g5]@4 ~@2 c5@7 ~@3", // Eb
M: "~@2 [g5,bb5] ~ [g5,bb5]@2 ~@2 [f5,ab5] ~ [f5,ab5]@3 ~@3", // Gm Fm
N: "[eb5,g5] ~ [eb5,g5]@2 ~@2 [f5,ab5]@3 ~@3 [eb5,g5]@2 ~@2", // Eb Fm Eb
O: "~@2 [g5,bb5] ~ [g5,bb5]@3 ~ [f5,ab5] ~ [f5,ab5]@3 ~@3", P: "[eb5,g5]@4 ~@2 [c5,eb5]@5 ~@5",
Q: "~@2 [g5,bb5] ~ [g5,bb5]@2 ~@2 [f5,ab5] ~ [f5,ab5]@4 ~@2", // Gm Fm
R: "[eb5,g5] ~ [eb5,g5]@2 ~@2 [f5,ab5]@4 ~@2 [eb5,g5]@3 ~", S: "[eb5,g5]@2 ~ [c5,eb5]@3 ~@2", T: "[c5@31 ~]/4",
U: "~@2 [g5,bb5] ~ [g5,bb5]@3 ~ [f5,ab5] ~ [f5,ab5]@4 ~@2", V: "[eb5,g5]@4 ~@2 [c5,eb5]@7 ~@3", W: "[c6@7 b5]/4",
X: "[c6@15 ~]/2", Y: "[ab6 g6, [c6,eb6]]/4", Z: "[[bb5,db6,e6,ab6]@31 ~]/2",
AA: "c4 ~ c5 ~ c4 ~ c5@2 c4 ~ c5 ~ c4@2 c5 ~", AB: "c4 ~ c5 ~ c4@2 c5 ~ c4 ~ c5 ~ c4 ~ c5@2",
AC: "[eb5,g5] ~ [eb5,g5]@2 ~@2 [f5,ab5]@3 ~@3 [eb5,g5]@3 ~", AD: "[eb5,g5]@4 ~@2 c5@5 ~@5",
AE: "[eb5,g5] ~ [eb5,g5]@3 ~ [f5,ab5]@4 ~@2 [eb5,g5]@3 ~", AF: "[eb5,g5]@4 ~@2 c5@7 ~@3", AG: "[c5@63 ~]/4",
AH: "[eb5,g5]@4 ~@2 c5@9 ~", AI: "[eb5,g5] ~ [eb5,g5]@2 ~@2 [f5,ab5]@4 ~@2 [eb5,g5]@2 ~@2",
AJ: "[eb5,g5]@3 ~@3 [c5,eb5]@5 ~@5", AK: "[eb5,g5] ~ [eb5,g5]@3 ~ [f5,ab5]@3 ~@3 [eb5,g5]@2 ~@2",
AL: "[eb5,g5]@5 ~ [c5,eb5]@5 ~@5", AM: "[eb5,g5]@5 ~ [c5,eb5]@8 ~@2", AN: "c4/2", AO: "c5", AP: "c6",
AQ: "[c7@7 b6]/4", AR: "c3@2 ~ bb2@3 g2@2 c4@3 bb3@3 g3@2", AS: "[c5@2 ~ bb4@3 g4@2 c5@2 ~@2 [g5,c6,e6]@20]/2",
})).s("gm_rock_organ").gain(0.33).pan(0.4)
// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
~@4 A B C D A B E F G H I J K@3 L M@2 N O M@2 N P Q R S T U@4 V W X@2 Y Z AA AB AC AD AE@2 AF@2 AG@2 AE@2 ~@3 AH M AI
AJ@2 M AI AJ AK AL AM AN AO AP AQ U AR AE@2 AS@2 AG@2 AT@2 ~@3 AU M@2 U AV M B AW AX AY AZ BA BB BC AW BD BE V W X@2
BF BG AA BH BF BG AA BI BF Z AA BH BF Z AA BI BJ Z AA BI BF Z AA BH BK Z AA BH BJ Z AA BI BL BM@3 ~
>`.pickRestart({
A: "eb2@2 c2 bb1 eb2@2 c2 bb1", B: "eb2@4 c2@2 bb1@2 eb2@4 c2@3 ~", C: "c2@3 ~ g1@4 c2@3 ~ g1@4",
D: "c2@4 g1@4 c2@4 g1@3 ~", E: "c2 g1 c2 g1", F: "c2 g1 c2 bb1", G: "ab1 ~ ab1@3 ~ ab1@2 ab1@3 ~ ab1@3 ~",
H: "ab1 ~ ab1@3 ~ ab1@2 ab1@4 ab1@4", I: "c2@2 c2@3 ~ c2@2 c2@4 c2@3 ~", J: "c2 ~ c2@3 ~ c2@2 c2@4 c2@3 ~",
K: "c2@3 ~ c2@3 ~ c2@4 g1@2 bb1@2", L: "c2@3 ~ c2@4 c2@3 ~ c2@2 d2@2", M: "eb2@3 ~ c2@2 bb1@2 eb2@3 ~ c2@2 bb1@2",
N: "c2@2 ~@2 g1@3 ~ c2@3 ~ g1@2 bb1@2", O: "c2@3 ~ g1@3 ~ c2@3 ~ g1@2 c2@2", P: "c2@2 ~@2 g1@3 ~ c2@3 ~ bb1@4",
Q: "ab1@5 ~ ab1@2 ab1@5 ~ ab1 ~", R: "ab1@5 ~ ab1 ~ ab1@5 ~ ab1@2", S: "c2 ~ c2@3 ~ c2@2 c2@5 ~ c2 ~",
T: "c2@5 ~ c2 ~ c2@3 ~ c2@2 g1@2", U: "c2@3 ~ g1@3 ~ c2@4 g1@2 bb1@2", V: "c2", W: "bb1", X: "[ab1@23 ~ g1@8]/2",
Y: "c2@2 ~@2 c2@3 ~ c2@3 ~ c2@3 ~", Z: "bb1@3 ~ bb1@3 ~ bb1@3 ~ bb1@3 ~", AA: "ab1@3 ~ ab1@3 ~ ab1@3 ~ ab1@3 ~",
AB: "ab1 ~ ab1@3 ~ ab1 ~ g1@3 ~ g1@3 ~", AC: "c2@2 ~@2 c2@3 ~ c2@4 g1@2 bb1@2", AD: "c2@3 ~ g1@4 c2@2 g1@2 c2@3 ~",
AE: "db2/2", AF: "ab2/2", AG: "c2/2", AH: "c2@2 ~@2 c2@3 ~ c2@2 bb1@2 c2@2 d2@2",
AI: "eb2@3 ~ c2@2 bb1@2 eb2@3 ~ c2@3 ~", AJ: "c2@3 ~ g1@3 ~ c2@3 ~ g1@3 ~", AK: "c2@3 ~ g1@3 ~ c2@4 bb1@4",
AL: "ab1@6 ab1@2 ab1@5 ~ ab1@2", AM: "ab1 ~ ab1@3 ~ ab1@2 ab1@5 ~ ab1@2", AN: "c2@5 ~ c2@2 c2@5 ~ c2@2",
AO: "c2 ~ c2@3 ~ c2@2 c2@5 ~ c2@2", AP: "c2@4 g1@3 ~ c2@3 ~ g1@3 ~", AQ: "c2@4 g1@2 bb1@2 c2@3 ~ g1@2 bb1@2",
AR: "c2@3 ~ g1@4 c2@3 ~ g1@2 c2@2", AS: "[ab1@14 db2 eb2]/2", AT: "[db2@31 ~]/2", AU: "c2 ~ c2 ~ c2 ~ c2 d2",
AV: "c2@2 g1@2 c2@2 g1 d2", AW: "c2@2 g1@2 c2@2 g1 bb1", AX: "c2@4 g1@4 c2@4 bb1@3 ~", AY: "ab1@6 ab1@2 ab1@7 ~",
AZ: "ab1@2 ab1@3 ~ ab1@2 ab1@7 ~", BA: "c2@5 ~ c2@2 c2@7 ~", BB: "c2@2 c2@3 ~ c2@2 c2@6 g1@2",
BC: "c2@4 g1@3 ~ c2@4 g1@2 bb1@2", BD: "c2 d2 eb2 f2", BE: "eb2 d2 c2 bb1", BF: "c2@3 ~ c2@3 ~ c2@3 ~ c2@4",
BG: "bb1@3 ~ bb1@3 ~ bb1@3 ~ bb1@4", BH: "ab1@3 ~ ab1@3 ~ g1@3 ~ g1@4", BI: "ab1@3 ~ ab1@3 ~ g1@3 ~ g1@3 ~",
BJ: "c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~", BK: "c2@4 g1@4 c2@3 ~ g1@4", BL: "c2@2 ~ bb1@2 ~ g1@2 c2@2 ~ bb1@2 ~ g1@2",
BM: "[c3@2 ~ bb2@2 ~ g2@2 c2@2 ~@2 c1@34 ~@2]/3",
})).s("gm_acoustic_bass").gain(0.38)
// chords · piano · "A.PIANO 2"
const piano = note(`<
A B C D E F G H E F I J K L M@2 N O P Q R S N T U V N W X Y Z@2 AA AB AA W AC AD AE AF AG AH AI AF AJ AK AL@2 AM@2
AN@2 AO@2 AA J AA H AP F AA H R V AQ J AR AS AT AU AV O N AW AX@2 AY@2 AZ@2 BA@2 BB BC BD BE BF BG N H BH BI N BJ BK
BL BM BN AA O BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD CA CE CF@2 CG CH@2 CI CJ@2 CK CL@2 CM CN@2 CO CP@2 CQ
CR@2 CS CT@3 ~
>`.pickRestart({
A: "c2 ~ [c3,g4,bb4] ~ [c2,g4,bb4]@2 c3 ~ [c2,f4,ab4] ~ c3 ~ c2@2 c3 ~, ~@5 [f4,ab4]@2 ~", // C7 Fm
B: "c2@2 c3 ~ c2@2 c3 ~ c2 ~ c3 ~ c2@2 c3 ~, [eb4,g4]@5 ~ [c4,eb4]@10", // Eb Cm
C: "c2@2 [c3,g4,bb4] ~ [g4,bb4]@2 c3 ~ [c2,f4,ab4] ~ c3 ~ c2 ~ c3 ~, ~@4 c2 ~@5 [f4,ab4]@4 ~@2", // C7 Gm Fm
D: "c2 ~ c3 ~ c2@2 c3 ~ c2@2 c3 ~ c2@2 c3 ~, [eb4,g4]@5 ~ [c4,eb4]@10", // Eb Cm
E: "eb2 ~ [eb3,g4,bb4] ~ [g4,bb4]@2 eb3 ~ [eb2,f4,ab4] ~ eb3 ~ eb2 ~ eb3 ~, ~@4 eb2 ~@5 [f4,ab4]@5 ~", // Eb Gm Fm7 Fm
F: "[eb2,eb4,g4] ~ [eb4,g4]@2 eb2 ~ eb3 ~ eb2 ~ eb3 ~ eb2 ~ eb3 ~, ~@2 eb3 ~@3 [f4,ab4]@5 ~ [eb4,g4]@4", // Eb Fm Eb
G: "c2 ~ [c3,g4,bb4] ~ [c2,g4,bb4]@2 c3 ~ [c2,f4,ab4] ~ c3 ~ c2@2 c3 ~, ~@10 [f4,ab4]@5 ~", // C7 Fm
H: "c2@2 c3 ~ c2@2 c3 ~ c2@2 c3 ~ c2@2 c3 ~, [eb4,g4]@5 ~ [c4,eb4]@10", // Eb Cm
I: "c2@2 [c3,g4,bb4] ~ [g4,bb4]@2 c3 ~ [c2,f4,ab4] ~ c3 ~ c2@2 c3 ~, ~@4 c2 ~@5 [f4,ab4]@4 ~@2", // C7 Gm Fm
J: "c2@2 c3 ~ c2@2 c3 ~ c2@2 c3 ~ c2@2 c3 ~, [eb4,g4]@5 ~ [c4,eb4]@9 ~", // Eb Cm
K: "[ab2,ab3,c4,eb4]@5 ~ [ab2,ab3,c4,eb4]@7 ~ [ab3,c4,eb4] ~, ~@7 ab1", // Ab
L: "[ab2,ab3,c4,eb4]@6 [ab2,ab3,c4,eb4]@4 ab2@2 [ab3,c4,eb4]@2 ab2 ~", // Ab
M: "[[c2,c4,eb4]@4 c3@2 [c2,c4,eb4]@8 ~@2 [c2,c4,eb4]@5 ~ [c2,c3]@4 c3@2 c2@2 c3 ~, ~@6 c3@7 ~ c3@7 ~ [c4,eb4]@9 ~]/2", // Cm C Cm
N: "c2@2 [c3,g4,bb4] ~ [c2,g4,bb4]@2 c3 ~ [f4,ab4] ~ c3 ~ c2@2 c3 ~, ~@8 c2@2 [f4,ab4]@5 ~", // C7 Fm
O: "[eb4,g4] ~ [eb4,g4]@2 c2@2 c3 ~ c2@2 c3 ~ c2@2 c3 ~, c2@2 c3 ~@3 [f4,ab4]@5 ~ [eb4,g4]@4", // Eb Fm Eb
P: "c2@2 [c3,g4,bb4] ~ [c2,g4,bb4]@2 c3 ~ [c2,f4,ab4] ~ c3 ~ c2@2 c3 ~, ~@10 [f4,ab4]@5 ~", // C7 Fm
Q: "c2@2 c3 ~ c2@2 c3 ~ c2@2 c3 ~ c2@2 c3 ~, [eb4,g4]@6 [c4,eb4]@9 ~", // Eb Cm
R: "eb2@2 [eb3,g4,bb4] ~ [eb2,g4,bb4]@2 eb3 ~ [eb2,f4,ab4] ~ eb3 ~ eb2 ~ eb3 ~, ~@5 [f4,ab4]@2 ~", // Eb Fm7 Fm
S: "[eb4,g4] ~ eb3 ~ eb2 ~ eb3 ~ eb2 ~ eb3 ~ eb2@2 eb3 ~, eb2@2 [eb4,g4]@4 [f4,ab4]@5 ~ [eb4,g4]@4", // Eb Fm Eb
T: "c2@2 c3 ~ c2@2 c3 ~ c2@2 c3 ~ c2@2 c3 ~, [eb4,g4]@5 ~ c4@10", // Eb
U: "eb2@2 [eb3,g4,bb4] ~ [g4,bb4]@2 eb3 ~ [eb2,f4,ab4] ~ eb3 ~ eb2 ~ eb3 ~, ~@4 eb2 ~@5 [f4,ab4]@4 ~@2", // Eb Gm Fm7 Fm
V: "[eb2,eb4,g4] ~ [eb4,g4]@2 eb2 ~ eb3 ~ eb2 ~ eb3 ~ eb2@2 eb3 ~, ~@2 eb3 ~@3 [f4,ab4]@5 ~ [eb4,g4]@4", // Eb Fm Eb
W: "c2@2 c3 ~ c2@2 c3 ~ c2@2 c3 ~ c2@2 c3 ~, [eb4,g4]@6 c4@9 ~", X: "[ab3,c4]@5 ~ [ab3,c4]@10, [ab2,eb4]",
Y: "[ab3,c4,eb4]@6 [c4,eb4]@9 ~, ab2@15 ~, ~@6 ab3@7 ~@3", // Ab Cm
Z: "[[c2,c3,c4,eb4]@5 ~ [c2,c4,eb4]@8 ~@2 [c4,eb4]@5 ~ c3@3 ~ c3@2 c2@2 c3 ~, ~@6 c3@7 ~ c3@7 ~ [c4,eb4]@10, ~@8 c2@5 ~@3]/2", // Cm
AA: "c2@2 [c3,g4,bb4] ~ [c2,g4,bb4]@2 c3 ~ [f4,ab4] ~ c3 ~ c2@2 c3 ~, ~@4 c2 [f4,ab4]@2 ~", // C7 Fm
AB: "[eb4,g4] ~ [eb4,g4]@2 c2@2 c3 ~ c2@2 c3 ~ [c2,eb4,g4]@2 c3 ~, c2@2 c3 ~@3 [f4,ab4]@5 ~@5", // Eb Cm Fm
AC: "c2@2 c4@2 ~ c4@2 ~ [c4,eb4] ~ c4 [c4,f4] ~ [c4,f4]@2 ~, c4 ~@3 c2@3 ~ c2@2 ~@2 c2@3 ~", // Cm F5
AD: "bb1@2 c4 ~@2 c4@2 ~ [c4,eb4] ~ c4!2 ~ [c4,f4]@3, c4 ~@3 bb1@3 ~ bb1@2 ~ f4@2 ~@3, ~@12 bb1@3 ~", // Cm F5
AE: "ab1@2 c4@2 ~ c4@2 ~ [c4,eb4] ~ c4!2 ~ [c4,f4]@2 ~, c4 ~@3 ab1@3 ~ ab1@2 ~ f4@2 ~@3, ~@12 ab1@3 ~", // Cm F5
AF: "ab1@2 c4@2 ~ [c4,eb4]@2 ~ g1@2 gb4 ~@2 eb4@3, c4 ~@3 ab1@3 ~ g4 ~@2 f4@2 ~@3, ~@3 g1", // Cm
AG: "c2@2 c4 ~@2 c4@2 ~ [c4,eb4] ~ c4!2 ~ [c4,f4]@2 ~, c4 ~@3 c2@3 ~ c2@2 ~ f4@2 ~@3, ~@12 c2@3 ~", // Cm F5
AH: "bb1@2 c4 ~@2 c4@2 ~ [c4,eb4] ~ c4 ~@2 [c4,f4]@3, c4 ~@3 bb1@3 ~ bb1@2 ~ [c4,f4]@2 ~@3, ~@12 bb1@3 ~", // Cm F5
AI: "ab1@2 c4 ~@2 c4@2 ~ [c4,eb4] ~ c4!2 ~ [c4,f4]@3, c4 ~@3 ab1@3 ~ ab1@2 ~ f4@2 ~@3, ~@12 ab1@3 ~", // Cm F5
AJ: "c2@2 c4@2 ~ c4@2 ~ [c2,eb4]@2 c4 ~@2 c4@2 ~, c4 ~@3 c2@3 ~@4 c4@2 ~@3, ~@12 c2@3 ~", // Cm
AK: "c2@2 c4 ~ c2@2 c4!2 ~ c4@3 [c2,c4]@2 ~@2, c4 ~@3 bb3 ~@3 c2@3 ~@5", // C
AL: "[[ab3,bb3]!2 ~ [bb4,db5,e5,ab5], db2, e3 [e3,ab3,bb3], ~ db4@3]/2", // Absus2 Bbm7b5
AM: "[ab4@8 [c5,eb5]@8 [c5,eb5]@8 [ab4,c5,eb5]@7 ~, [ab2,eb3,c4,eb4]@31 ~, ~ ab4@2 ~, ~@16 ab5@15 ~]/2", // Cm Ab
AN: "[[eb4,g4]@8 [g4,c5]@8 g4@8 [c4,eb4,g4]@7 ~, [c2,c3]@31 ~, c4@3 ~, ~ eb4@2 ~, ~@16 [c5,eb5]@15 ~]/2", // Eb C5 Cm C Cm
AO: "[[bb4,db5] ~ [e6,ab6]@2, [db2,db3,e4,ab4]@31 ~, ~@8 [bb4,db5,e5,ab5]@23 ~, ~@15 [bb5,db6]@17]/2", // Bbm E Dbm Bbm7b5 Bbm
AP: "eb2@2 [eb3,g4,bb4] ~ [g4,bb4]@2 eb3 ~ [eb2,f4,ab4] ~ eb3 ~ eb2@2 eb3 ~, ~@4 eb2 ~@5 [f4,ab4]@4 ~@2", // Eb Gm Fm7 Fm
AQ: "c2 ~ [c3,g4,bb4] ~ [g4,bb4]@2 c3 ~ [c2,f4,ab4] ~ c3 ~ c2@2 c3 ~, ~@4 c2 ~@5 [f4,ab4]@4 ~@2", // C7 Gm Fm
AR: "[ab2,ab3,c4,eb4]@3 [ab3,c4,eb4]@4 ab2, ~@6 ab2@7 ~@3", AS: "[ab3,c4,eb4]@6 [ab3,c4,eb4]@9 ~, ab2@15 ~",
AT: "[c3,c4,eb4]@5 ~ [c4,eb4]@8 c3@2, c2@15 ~, ~@6 c3@7 ~@3", // Cm
AU: "[c3,c4,eb4]@5 ~ c3@3 ~ c3@2 c2@2 c3@2, c2@5 ~@3, ~@3 [c4,eb4]@5", // Cm
AV: "c2@2 [c3,g4,bb4] ~ [c2,g4,bb4]@2 c3 ~ [f4,ab4] ~ c3@2 c2@2 c3 ~, ~@4 c2 [f4,ab4]@2 ~", // C7 Fm
AW: "c2@2 c3 ~ c2@2 c3 ~ c2@2 c3@2 c2@2 c3 ~, [eb4,g4]@5 ~ [c4,eb4]@9 ~", // Eb Cm
AX: "[[bb3,db4]@8 ~@16 [bb3,db4,e4,ab4]@7 ~, [db2,db3,ab3]@31 ~, ~ [bb3,db4,e4,ab4]@2 ~, ~@16 [bb4,db5,e5,ab5]@15 ~]/2", // Bbm Bbm7b5 Db5 Bbm7b5
AY: "[ab4@2 ab4@2 ~@3 ab3, ab2@31 ~, [c4,eb4]@16 [c4,eb4,ab4]@15 ~, ~ [c5,eb5]@3]/2", // Cm Ab Cm
AZ: "[g4@8 [g4,c5]@8 g4@8 ~@4 c4@2 c3 ~, c2@26 eb4@5 ~, c4@16 eb4@8 g4@7 ~, eb4@16 c5@15 ~, ~@8 eb5@23 ~]/2", // C5
BA: "[[e4,ab4]@8 [bb4,db5]@7 ~ ab5@8 ab5@7 ~, db2@31 ~, [bb3,db4]@15 ~ [bb4,db5,e5]@16, ~@8 [e4,ab4]@23 ~, ~@24 ab6 ~@7]/2", // E Bbm Bbdim E
BB: "c2@2 [c3,g4,bb4] ~ [c2,g4,bb4]@2 c3 ~ [f4,ab4] ~ [c3,f4,ab4]@2 c2@2 c3 ~, ~@4 c2 ~@3", // C7 Fm
BC: "c2@2 c3@2 c2@2 c3@2 c2@2 c3 ~ c2@2 c3@2, [eb4,g4]@5 ~ [c4,eb4]@10", // Eb Cm
BD: "c2@2 [c3,g4,bb4] ~ [c2,g4,bb4]@2 c3 ~ [f4,ab4] ~ c3@2 c2@2 c3 ~, ~@8 c2@2 [f4,ab4]@5 ~", // C7 Fm
BE: "c2@2 c3 ~ c2@2 c3 ~ c2@2 c3@2 c2@2 c3@2, [eb4,g4]@5 ~ [c4,eb4]@10", // Eb Cm
BF: "eb2@2 [eb3,g4,bb4] ~ [g4,bb4]@2 eb3 ~ [eb2,f4,ab4] ~ eb3 ~ eb2@2 eb3 ~, ~@4 eb2 ~@5 [f4,ab4]@5 ~", // Eb Gm Fm7 Fm
BG: "[eb4,g4] ~ [eb4,g4]@2 eb2@2 eb3 ~ eb2@2 eb3 ~ eb2@2 eb3 ~, eb2@2 eb3 ~@3 [f4,ab4]@5 ~ [eb4,g4]@4", // Eb Fm Eb
BH: "eb2@2 [eb3,g4,bb4] ~ [eb2,g4,bb4]@2 eb3 ~ [f4,ab4] ~ eb3 ~ eb2@2 eb3 ~, ~@4 eb2 [f4,ab4]@2 ~", // Eb Fm
BI: "[eb2,eb4,g4] ~ [eb4,g4]@2 eb2@2 eb3 ~ eb2@2 eb3 ~ eb2@2 eb3 ~, ~@2 eb3 ~@3 [f4,ab4]@5 ~ [eb4,g4]@4", // Eb Fm Eb
BJ: "c2@2 c3 ~ c2@2 c3 ~ c2@2 c3 ~ c2@2 c3@2, [eb4,g4]@5 ~ [c4,eb4]@9 ~", // Eb Cm
BK: "[ab2,ab3,c4,eb4]@6 [ab2,ab3,c4,eb4]@9 ~", BL: "[ab2,ab3,c4,eb4]@5 ~ [ab2,ab3,c4,eb4]@9 ~",
BM: "[c2,c3,c4,eb4]@5 ~ [c2,c4,eb4]@8 c3@2, ~@6 c3@7 ~@3", // Cm
BN: "[c2,c4,eb4]@4 c3 ~ c3@3 ~ c3@2 c3@3 ~, c3 ~@5 [c4,eb4]@9 ~, ~@6 c2@7 ~@3", // Cm
BO: "~@2 [c3,c4,eb4]@4 c2@2 [c3,c4,eb4] ~ [c2,c3,c4,eb4]@5 ~, c2@5 ~@11", // Cm
BP: "[c2,c3,c4,eb4]@5 ~ [c2,c3,c4,eb4]@3 c4!7", // Cm
BQ: "[c2,c4] ~ c4@2 ~@2 c3 ~ [c4,eb4] ~ [c3,c4] c4 ~@2 c3 ~, ~@2 c3 ~ c2@2 ~@2 c2@2 ~@2 c2@2 ~@2, ~@5 c4@2 ~@4 f4@2 [c4,f4]@3", // C Cm C F5
BR: "bb1@2 c4@2 ~@2 bb2 ~ [bb1,eb4]@2 [bb2,c4] [c4,f4] ~@2 bb2 ~, c4 ~ bb2 ~ bb1@2 ~@6 bb1@2 ~@2, ~@5 c4@2 ~ c4 ~@4 [c4,f4]@3", // Eb5 Bbsus2 F5
BS: "ab1@2 c4@2 ~@2 ab2 ~ [ab1,c4] ~ [ab2,c4] c4 ~@2 ab2 ~, c4 ~ ab2 ~ ab1@2 ~@6 ab1@2 ~@2, ~@5 c4@2 ~ eb4@2 ~ f4@2 [c4,f4]@2 ~", // Ab F5
BT: "ab1@2 c4@2 ~@2 ab2 ~ g1@2 [g2,gb4] f4 ~@2 g2@2, c4 ~ ab2 ~ ab1@2 ~@6 g1@2 ~@2, ~@5 [c4,eb4]@3 g4 ~@4 eb4@3", // Gmaj7 Cm
BU: "c2@2 c4@2 ~@2 c3 ~ [c4,eb4] ~ [c3,c4] [c4,f4] ~@2 c3 ~, c4 ~ c3 ~ c2@2 ~@2 c2@2 ~@2 c2@2 ~@2, ~@5 c4@2 ~@6 [c4,f4]@3", // Cm C F5
BV: "bb1@2 c4@2 ~@2 bb2@2 [c4,eb4] ~ [bb2,c4] [c4,f4] ~@2 bb2 ~, c4 ~ bb2 ~ bb1@2 ~@2 bb1@2 ~@2 bb1@2 ~@2, ~@5 c4@3 ~@5 [c4,f4]@3", // Cm Bbsus2 F5
BW: "ab1@2 c4@2 ~@2 ab2 ~ [c4,eb4] ~ [ab2,c4] [c4,f4] ~@2 ab2 ~, c4 ~ ab2 ~ ab1@2 ~@2 ab1@2 ~@2 ab1@2 ~@2, ~@5 c4@2 ~@6 [c4,f4]@2 ~", // Cm Ab F5
BX: "ab1@2 c4@2 ~@2 ab2 ~ g1@2 [g2,gb4] ~@3 g2 ~, c4 ~ ab2 ~ ab1@3 ~@5 g1@2 ~@2, ~@5 [c4,eb4]@3 g4 ~@2 f4@2 eb4@3", // Gmaj7 Cm
BY: "c2@2 c4@2 ~@2 c3 ~ [c2,c4,f4]@2 c3 ~@3 c3 ~, ~@2 c3 ~ c2@2 ~@6 c2@2 ~@2, ~@5 c4@2 ~@4 [c4,f4]@2 [c4,eb4]@3", // F5 Cm
BZ: "bb1 ~ c4@2 ~@2 bb2 ~ [bb1,c4,f4]@2 bb2 [bb1,c4,f4]@2 ~ bb2 ~, ~@2 bb2 ~ bb1@2 ~@10, ~@5 c4@2 ~@6 [c4,eb4]@3", // Bbsus2 Cm
CA: "ab1@2 c4@2 ~@2 ab2 ~ [ab1,c4,f4]@2 ab2 ~@3 ab2 ~, ~@2 ab2 ~ ab1@2 ~@6 ab1@2 ~@2, ~@5 c4@3 ~@3 [c4,f4]@2 [c4,eb4]@3", // Fm F5 Cm
CB: "ab1@2 c4@2 ~@2 ab2 ~ [g1,b3,f4]@2 g2 ~@3 g2@2, ~@2 ab2 ~ ab1@2 ~@6 g1@2 ~@2, ~@5 c4@3 ~@3 [b3,f4]@2 [b3,eb4]@3", // G7 Bdim B
CC: "c2@2 c4@2 ~@2 c3@2 [c2,c4,f4]@2 c3 ~@3 c3 ~, ~@2 c3 ~ c2@2 ~@6 c2@2 ~@2, ~@5 c4@2 ~@4 [c4,f4]@2 [c4,eb4]@3", // F5 Cm
CD: "bb1@2 c4@2 ~@2 bb2 ~ [bb1,c4,f4]@2 bb2 ~@3 bb2 ~, ~@2 bb2 ~ bb1@2 ~@6 bb1@2 ~@2, ~@5 c4@2 ~@4 [c4,f4]@2 [c4,eb4]@3", // Bbsus2 F5 Cm
CE: "ab1@2 c4@2 ~@2 ab2 ~ [g1,b3,f4]@2 g2 ~@3 g2 ~, ~@2 ab2 ~ ab1@3 ~@5 g1@3 ~, ~@5 c4@3 ~@3 [b3,f4]@2 [b3,eb4]@2 ~", // G7 Bdim B
CF: "[[c2,c4,f4]@2 c3 ~ c2@2 [c4,f4]@2 ~@2 c3 ~ [c2,c4,f4]@2 c3 ~ bb1@2 [c4,f4]@2 ~@2 bb2 ~ [bb1,c4,f4]@2 bb2 ~ bb1@2 [c4,f4]@2, ~@3 [c4,f4]@2 ~ c3 ~ c2@2 ~@8 bb2 ~ bb1@2 ~@8 bb2 ~, ~@9 [c4,f4]@2 ~@4 [c4,f4]@3 ~@3 [c4,f4]@2 ~@4 [c4,f4]@3 ~@2]/2", // F5 Bbsus2 F5
CG: "ab1 ~ ab2 ~ [ab1,c4,f4]@2 ab2 ~ ab1@2 [c4,f4]@2 ~@2 ab2 ~, ~ [c4,f4]@2 ~@4 [c4,f4]@3 ab2 ~ ab1@2 ~@2, ~@13 [c4,f4]@2 ~", // Fm F5
CH: "[[ab1,c4,f4]@2 ab2 ~ ab1@2 [c4,f4]@2 g1 ~ g2 ~ [g1,b3,f4]@2 g2 ~ c2@2 [c4,f4]@2 ~@2 c3 ~ [c2,c4,f4]@2 c3 ~ c2@2 [c4,f4]@2, ~@3 [c4,f4]@3 ab2 ~@2 [b3,f4]@2 ~@4 [c4,f4]@2 ~ c3 ~ c2@2 ~@8 c3 ~, ~@21 [c4,f4]@2 ~@4 [c4,f4]@2 ~@3]/2", // Fm F5 G7 F5 Bdim F5
CI: "bb1 ~ bb2@2 [bb1,c4,f4]@2 bb2 ~ bb1@2 [c4,f4]@2 ~@2 bb2 ~, ~ [c4,f4]@2 ~@4 [c4,f4]@2 ~ bb2 ~ bb1@2 ~@2, ~@13 [c4,f4]@3", // Bbsus2 F5
CJ: "[[ab1,c4,f4]@2 ab2 ~ ab1@2 [c4,f4]@2 ~@2 ab2 ~ [ab1,c4,f4]@2 ab2 ~ ab1@2 [c4,f4]@2 ~@2 ab2 ~ [g1,b3,f4]@2 g2 ~ g1@2 [g2,b3,f4]@2, ~@3 [c4,f4]@2 ~ ab2 ~ ab1@2 ~@8 ab2 ~ ab1@2 ~@10, ~@9 [c4,f4]@2 ~@4 [c4,f4]@2 ~@4 [c4,f4]@3 ~@3 [b3,f4]@2 ~@3]/2", // Fm F5 Fm F5 G7 F5 Bdim
CK: "~@2 c3 ~ [c2,c4,f4]@2 c3 ~ c2@2 [c4,f4]@2 ~@2 c3 ~, c2@2 ~@8 c3 ~ c2@2 ~@2, ~ [c4,f4]@2 ~@4 [c4,f4]@3 ~@3 [c4,f4]@3", // F5
CL: "[[bb1,c4,f4]@2 bb2 ~ bb1@2 [c4,f4]@2 bb1 ~ bb2 ~ [bb1,c4,f4]@2 bb2 ~ ab1@2 [c4,f4]@2 ab1 ~ ab2 ~ [ab1,c4,f4]@2 ab2 ~ ab1@2 [ab2,c4,f4]@2, ~@3 [c4,f4]@2 ~ bb2 ~@2 [c4,f4]@2 ~@4 [c4,f4]@3 ab2 ~@2 [c4,f4]@2 ~@4 [c4,f4]@3 ~@2]/2", // Bbsus2 F5 Bbsus2 F5 Fm F5
CM: "~@2 ab2 ~ [ab1,c4,f4]@2 ab2 ~ g1@2 [b3,f4]@2 ~@2 g2@2, ab1@2 ~@8 g2 ~ g1@2 ~@2, ~ [c4,f4]@2 ~@4 [b3,f4]@2 ~@4 [b3,f4]@2 ~", // Fm Bdim F5 Bdim
CN: "[[c2,c4,f4]@2 c3 ~ c2@2 [c4,f4]@2 ~@2 c3 ~ [c2,c4,f4]@2 c3 ~ bb1@2 [c4,f4]@2 ~@2 bb2 ~ [bb1,c4,f4]@2 bb2 ~ bb1@2 [c4,f4]@2, ~@3 [c4,f4]@2 ~ c3 ~ c2@2 ~@8 bb2 ~ bb1@2 ~@8 bb2 ~, ~@9 [c4,f4]@2 ~@4 [c4,f4]@2 ~@4 [c4,f4]@2 ~@4 [c4,f4]@3 ~@2]/2", // F5 Bbsus2 F5
CO: "~@2 ab2 ~ [ab1,c4,f4]@2 ab2 ~ ab1@2 [c4,f4]@2 ~@2 ab2 ~, ab1@2 ~@8 ab2 ~ ab1@2 ~@2, ~ [c4,f4]@2 ~@4 [c4,f4]@3 ~@3 [c4,f4]@2 ~", // Fm F5
CP: "[[ab1,c4,f4]@2 ab2 ~ ab1@2 [c4,f4]@2 ~@2 g2 ~ [g1,b3,f4]@2 g2 ~ c2@2 [c4,f4]@2 ~@2 c3 ~ [c2,c4,f4]@2 c3 ~ c2@2 [c4,f4]@2, ~@3 [c4,f4]@2 ~ ab2 ~ g1@2 ~@10 c2@2 ~@8 c3 ~, ~@9 [b3,f4]@2 ~@4 [c4,f4]@2 ~ c3 ~@2 [c4,f4]@2 ~@4 [c4,f4]@2 ~@3]/2", // Fm F5 G7 F5 Bdim F5
CQ: "~@2 bb2 ~ [bb1,c4,f4]@2 bb2 ~ bb1@2 [c4,f4]@2 ~@2 bb2 ~, bb1@2 ~@8 bb2 ~ bb1@2 ~@2, ~ [c4,f4]@2 ~@4 [c4,f4]@2 ~@4 [c4,f4]@2 ~", // Bbsus2 F5
CR: "[[ab1,c4,f4]@2 ab2 ~ ab1@2 [c4,f4]@2 ~@2 ab2 ~ [ab1,c4,f4]@2 ab2 ~ ab1@2 [c4,f4]@2 ~@2 ab2 ~ [g1,b3,f4]@2 g2 ~ g1@2 [g2,b3,f4]@2, ~@3 [c4,f4]@2 ~ ab2 ~ ab1@2 ~@8 ab2 ~ ab1@3 ~@9, ~@9 [c4,f4]@2 ~@4 [c4,f4]@2 ~@4 [c4,f4]@2 ~@4 [b3,f4]@2 ~@3]/2", // Fm F5 Fm F5 G7 F5 Bdim
CS: "[c2,c3]@2 ~ [bb1,bb2]@3 g1@2 [c2,c3]@2 ~ [bb1,bb2]@3 [g1,g2] ~, ~@6 g2 ~@9", // C Bb C Bb G
CT: "[[c2,c3]@2 ~ [bb1,bb2]@3 [g1,g2] ~ [c2,c3]@2 ~@2 [c2,g3,c4,e4]@34 ~@2]/3", // C Bb G C
})).s("gm_piano").gain(0.44).pan(0.6)
// chords · synth strings 1 · "SYN STR 1"
const synth_strings_1 = note("<~@46 A B C@2 D@2 E@2 ~@20 A F C@2 D@2 E@2 ~@61>".pickRestart({
A: "~ e4 gb4 ab4, ~@4 [ab3,db4]@9 ~@3", B: "e4@4 [eb4,gb4]@4 [e4,ab4]@7 ~, [ab3,db4]", C: "[[ab3,c4,eb4,ab4]@31 ~]/2",
D: "[g3,c4,eb4,g4]/2", E: "[~ [ab3,db4,e4] [ab3,eb4,gb4] [ab3,db4,e4,ab4]@5]/2",
F: "e4@4 [eb4,gb4]@4 [e4,ab4]@7 ~, [ab3,db4]@15 ~", // Ebm E Db5
})).s("gm_synth_strings_1").gain(0.25).pan(0.2)
// other · pad sweep · "SWEEP PAD"
const pad_sweep = note(`<
~@12 A@4 ~@4 B@2 C@2 B@2 C@2 D@2 C@2 E@2 C@2 ~@22 F@2 G@2 F@2 G@2 H@2 I@4 G@2 ~@12 F@2 G@2 F@2 G@2 H@2 I@4 G@2 J@12
K@24 ~ L ~@3
>`.pickRestart({
A: "[c4@31 ~]/2", B: "[eb3,eb4]/2", C: "[c3,c4]/2", D: "[ab2,ab3]/2", E: "[[c3,c4]@31 ~]/2", F: "[eb2,eb3]/2",
G: "[c2,c3]/2", H: "[ab1,ab2]/2", I: "[[c2,c3]@31 ~]/2", J: "[c3@63 ~]/4", K: "[[c3,c4]@63 ~]/4",
L: "c4 e4 g4 ~@3 c6@7 ~@3, ~@3 c5@10 ~@3, ~@4 e5@9 ~@3, ~@5 g5@8 ~@3",
})).s("gm_pad_sweep").gain(0.44).pan(0.7)
// bass · baritone sax · "BARITONSAX"
const bass_2 = note("<~@126 A B C@2 A B D@2 E F G@2 H I@3 ~>".pickRestart({
A: "c2", B: "bb1", C: "[ab1@23 ~ g1@8]/2", D: "[ab1@3 g1]/2", E: "[c2,c3]", F: "[bb1,bb2]",
G: "[[ab1,ab2]@23 ~ [g1,g2]@7 ~]/2", H: "c2@2 ~ bb1@3 g1@2 c2@2 ~ bb1@3 g1 ~",
I: "[c3@2 ~ bb2@3 g2 ~ c2@2 ~@2 c1@36]/3",
})).s("gm_baritone_sax").gain(0.55)
// other · trumpet
// … 151 more lines
More by McCartney
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.