0:00/0:00
// Don't Let It Show — Alan Parsons
// 130 bpm, 4/2, key Db major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 4 "String Lead 1" fretless bass (copy of ch 2 "Church Organ Lead" electric bass finger); ch 7 "Strings3 Lead" synth strings 2 (copy of ch 6 "String Lead 2" string ensemble 2); ch 6 "String Lead 2" acoustic bass (copy of ch 7 "Strings3 Lead" synth strings 1)
// note: Full arrangement: all 68 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(130/8)
// 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 · muted trumpet · "Sax Melody"
const muted_trumpet = note("<~@50 A B A B C D C D E F E F E F E F E F>".pickRestart({
A: "[e4,ab4,b4]@3 [gb4,a4,db5]@3 [ab4,b4,d5]@4 [a4,db5,e5]@5 ~", // E Gbm Abdim A
B: "~@2 [e4,ab4,b4] [gb4,a4,db5]@2 [ab4,b4,d5]@2 [a4,db5,e5]@2 [ab4,b4,d5]@2 [gb4,a4,db5]@2 [e4,ab4,b4]@2 ~", // E Gbm Abdim A Abdim Gbm E
C: "[gb4,a4,db5]@3 [ab4,b4,eb5]@3 [a4,db5,e5]@4 [b4,eb5,gb5]@5 ~", // Gbm Abm A B
D: "~ [gb4,a4,db5]@2 [ab4,b4,eb5]@2 [a4,db5,e5]@2 [b4,eb5,gb5]@2 [a4,db5,e5]@2 [ab4,b4,eb5]@2 [gb4,a4,db5]@2 ~", // Gbm Abm A B A Abm Gbm
E: "[ab4,b4,eb5]@3 [bb4,db5,f5]@3 [b4,eb5,gb5]@4 [db5,f5,ab5]@5 ~", // Abm Bbm B Db
F: "~ [ab4,b4,eb5]@2 [bb4,db5,f5] [bb4,eb5,gb5]@2 [db5,f5,ab5]@2 [bb4,eb5,gb5]@2 [bb4,db5,f5]@2 [ab4,b4,eb5]@3 ~", // Abm Bbm Ebm Db Ebm Bbm Abm
})).s("gm_muted_trumpet").gain(0.72)
// chords · church organ · "Church Organ Lead"
const church_organ = note(`<
A B C D E F G H E I J@2 K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AA AO AP AQ@2 AR AS
AT ~@18
>`.pickRestart({
A: "[db4,ab4,db5,f5]@8 eb5 f5 eb5 ab5@2 f5 eb5@2, ~@8 [c4,ab4]@7 ~", // Db Fm
B: "[bb3,f4,bb4,db5]@7 ~ c5 db5 c5 f5@2 db5 c5@2, ~@8 [ab3,f4]@7 ~", // Bbm Db
C: "bb4@3 c5@3 db5@2 db5@2 f5@2 eb5@2 db5@2, [bb3,db4,f4,g4]@15 ~", // Gm7b5
D: "[ab3,eb4]@4 [ab3,c4]@3 [ab4,c5], [ab4,db5]@13 ~@3", E: "[db4,ab4,db5,f5]@7 ~ [c4,ab4,eb5]@7 ~",
F: "[bb3,f4,bb4,db5]@7 ~ [ab3,f4,c5]@7 ~", G: "[bb3,eb4,bb4,db5,f5]@7 ~ [bb3,db4,db5,g5,bb5]@7 ~",
H: "[eb4,db5,gb5,bb5]@7 ~ [eb4,c5,gb5,ab5]@7 ~, ab3@15 ~", I: "[bb3,f4,bb4]@7 ~ [ab3,f4,bb4]@7 ~, db5@15 ~",
J: "[[g3,bb4,db5,f5]@7 ~ [g3,db5,f5]@7 ~ [ab3,db5]@7 ~ [ab3,c5,eb5,ab5]@7 ~, ~@8 bb5@15 ~@9, ~@16 gb5@15 ~]/2", // Gm7b5 Db5 Ab
K: "[bb2,bb3,f4,bb4]@7 ~ [ab2,ab3,f4,bb4]@7 ~", L: "[g2,g3,eb4,bb4]@7 ~ [eb2,eb3]@7 ~",
M: "[ab2,ab3,eb4,ab4]@7 ~ [gb2,gb3,eb4,ab4]@7 ~", N: "[f2,f3,db4,ab4]@7 ~ [db2,db3,f4,ab4,db5]@7 ~",
O: "[bb2,ab3,f4,bb4]@7 ~ [f3,c4,eb4]@7 ~", P: "[gb2,gb3,gb4,bb4]@7 ~ [ab2,ab3,gb4,bb4,eb5]@7 ~",
Q: "[db3,db4,ab4,db5,f5]@7 ~ [c3,c4,ab4,eb5]@7 ~", R: "[bb2,bb3,f4,bb4,db5]@7 ~ [ab2,ab3,f4,c5]@7 ~",
S: "[g3,f4,g4,bb4]@7 ~ [g3,f4,g4,bb4]@7 ~, db5@15 ~", T: "[ab3,f4,ab4,bb4]@7 ~ [ab3,f4,ab4,bb4]@7 ~, db5@15 ~",
U: "[ab3,eb4,gb4,bb4,db5]@7 ~ [ab2,ab3,gb4,bb4,db5,gb5]@7 ~", // Ebm7 Gb
V: "[db2,db3]@2 [db2,db3]@3 [db2,db3,ab4,db5,f5]@3 [c2,c3]@2 [c2,c3]@3 [c2,c3,ab4,c5,eb5]@3, [ab4,db5,f5]@5 ~@3 [ab4,c5,eb5]@5 ~@3", // Db C Ab Db Ab
W: "[bb1,bb2]@2 [bb1,bb2]@3 [bb1,bb2,f4,bb4,db5]@3 [ab1,ab2]@2 [ab1,ab2]@3 [ab1,ab2,f4,ab4,c5]@3, [f4,bb4,db5]@5 ~@3 [f4,ab4,c5]@5 ~@3", // Bb Bbm Ab Fm Bbm Fm
X: "[gb1,gb2,gb4,bb4]@3 [gb1,gb2,ab4,c5]@3 [gb1,gb2]@5 ~ gb2 f2@2 db2, ~@6 [gb4,bb4,db5]@9 ~", // Gb Ab7 Gb
Y: "[eb2,eb3,gb4,bb4,db5]@3 [eb2,eb3,ab4,c5,eb5]@3 [gb4,bb4,db5,f5]@8 [ab2,ab3]@2, ~@6 [eb2,eb3]@7 ~@3", // Ebm7 Ab Gbmaj7 Ab Eb
Z: "[db3,db4,f4,ab4]@2 ~@2 db4 eb4 f4 gb4 [eb4,ab4] bb4 ab4 [gb4,db5]@4 ~, ~@2 db3@5 ~ [c3,c4]@2 [c3,c4]@5 ~", // Db Ab5 Gb5 C
AA: "[bb2,bb3]@2 ~@3 [f4,bb4,db5]@3 [ab2,ab3]@2 ~@3 [f4,bb4,db5]@3, [f4,bb4,db5]@5 ~@3 [f4,bb4,db5]@5 ~@3, ~@2 [bb2,bb3]@5 ~@3 [ab2,ab3]@5 ~", // Bb Bbm Ab Bbm Bb Ab
AB: "[bb4,db5,f5]@3 [db5,f5,bb5]@2 ~@5 [db5,f5,bb5]@2 ~@2 [db5,f5,bb5]@2, [g2,g3]@5 [f2,f3]@3 [eb2,eb3]@5 [eb2,eb3]@3, ~@3 [bb4,db5,f5]@2 ~ [bb4,db5,f5] ~", // Bbm G F Eb Bbm
AC: "[db5,gb5,bb5]@3 [bb4,db5,gb5]@2 ~@3 [ab2,ab3]@4 ~@2 [c5,eb5,gb5]@2, [ab2,ab3]@5 [ab2,ab3]@3 ~@5 [ab2,ab3]@3, ~@6 [bb4,db5,gb5]@5 ~ [bb4,db5,gb5]@2 ~@2", // Gb Ab Cdim Ab Gb
AD: "db3@2 ~@3 [ab4,db5,f5]@3 [c3,c4]@2 ~@3 [ab4,c5,eb5]@3, [ab4,db5,f5]@5 ~@3 [ab4,c5,eb5]@5 ~@3, ~@2 db3@5 ~@3 [c3,c4]@5 ~", // Db C Ab Db Ab C
AE: "[bb2,bb3]@2 ~@6 [ab2,ab3]@2 ~@3 [f4,bb4,db5]@3, [f4,bb4,db5]@5 [f4,bb4,db5]@8 ~@3, ~@2 [bb2,bb3]@5 ~@3 [ab2,ab3]@5 ~", // Bb Ab Bbm Bb Ab
AF: "[db4,f4,bb4]@3 [db4,f4,bb4]@2 ~@3 [eb2,eb3]@5 ~ [db4,f4,bb4]@2, [g2,g3]@5 [g2,g3]@3 ~@5 [eb2,eb3]@3, ~@6 [db4,f4,bb4]@7 ~@3", // Bbm Eb Bbm G Eb Bbm
AG: "[db4,f4,bb4]@3 [db4,f4,bb4]@2 ~@3 [ab2,ab3]@4 ~@2 [db4,gb4,ab4]@2, [ab2,ab3]@5 [ab2,ab3]@3 ~@5 [ab2,ab3]@3, ~@6 [db4,f4,bb4]@5 ~ [db4,f4,bb4]@2 ~@2", // Bbm Ab Dbsus4 Ab Bbm
AH: "[db4,f4,bb4] db4 f4 [db4,f4,bb4]@2 [bb2,bb3,bb4,db5]@3 [db4,f4,bb4] db4 f4 [db4,f4,bb4]@2 [ab2,ab3,bb4,db5]@3, [bb2,bb3]@2 [bb2,bb3]@3 ~@3 [ab2,ab3]@2 [ab2,ab3]@3 ~@3", // Bbm Bbm7 Bb Ab
AI: "[g2,g3]@5 [g2,g3]@3 ~ [bb4,db5]!2 [ab4,c5]@2 [g4,bb4] [g4,bb4]@2, [bb4,db5,f5]@8 [eb2,eb3]@5 [eb2,eb3]@3", // G Bbm Ab Gm Bbm Eb
AJ: "[eb4,ab4,b4] eb4 ab4 [ab4,b4]@2 [ab2,ab3,b4,eb5]@3 [eb4,ab4,b4] eb4 ab4 [ab4,b4]@2 [gb2,gb3,b4,eb5]@3, [ab2,ab3]@2 [ab2,ab3]@3 ~@3 [gb2,gb3]@2 [gb2,gb3]@3 ~@3", // Abm B Ab Gb
AK: "[f2,f3]@5 [f2,f3]@3 ~ [ab4,c5]!2 [gb4,bb4]@2 [f4,ab4] [f4,ab4]@2, [db4,ab4,c5]@8 [db2,db3]@5 [db2,db3]@3", // F Ab Gb Fm Dbmaj7 Db
AL: "[db4,f4,bb4]@3 ~@3 c5 bb4 [f2,f3,f4,a4,c5]@5 ~ f4@2, [bb2,bb3]@2 db5 ~@5, ~@5 [bb2,bb3]@3 ~@5 [f2,f3]@3", // Bbm F Bb F
AM: "[eb2,eb3,gb4,bb4,eb5]@5 [eb2,eb3,gb4,bb4,eb5]@3 [gb4,bb4,eb5]@4 ~ [gb4,bb4,eb5]@3, ~@8 [ab2,ab3]@3 ~ [ab2,ab3]@3 ~", // Ebm Ab
AN: "[db3,db4]@2 ~@3 [ab4,db5,f5]@3 [c3,c4]@2 ~@3 [ab4,c5,eb5]@3, [ab4,db5,f5]@5 ~@3 [ab4,c5,eb5]@5 ~@3, ~@2 [db3,db4]@5 ~@3 [c3,c4]@5 ~", // Db C Ab Db Ab Db C
AO: "[f4,g4,bb4]@3 [f4,g4,bb4]@3 ~@2 [bb2,bb3]@3 ~ [bb2,bb3,f4,g4,bb4,db5]@2 [f4,g4,bb4,db5]@2, [bb2,bb3]@6 [f4,g4,bb4,db5]@5 ~@5", // Gm7 Bb Gm7b5 Bb Gm7b5
AP: "[f4,ab4,bb4]@3 [f4,ab4,c5]@3 g4@2 [bb2,bb3,ab4]@3 ~ [bb2,bb3,f4,g4,bb4,db5]@2 [f4,ab4,bb4,db5]@2, [bb2,bb3]@6 [f4,bb4,db5]@5 ~@5", // Bb7 Fm Bb7 Gm7b5 Bbm7 Bb Bbm
AQ: "[[ab2,ab3,eb4,gb4,bb4,db5]@3 ~ [ab2,ab3]@2 [eb4,gb4,bb4,db5]@2 [eb4,gb4,bb4,db5]@4 [ab2,ab3]@2 ~@2 [db2,db3]@2 [db2,db3]@3 [db2,db3]@3 eb5 f5 eb5 ab5@2 f5 eb5@2, ~@3 [eb4,gb4,bb4,db5]@3 ~@2 [ab2,ab3]@3 ~@3 ab4@9 ~ ab4@7 ~, ~@16 [db5,f5]@7 ~ [c2,c3]@2 [c2,c3]@3 [c2,c3]@3]/2", // Ebm7 Ab Ebm7 Ab Db Ebm7 Ab Db …
AR: "[bb1,bb2]@2 [bb1,bb2]@3 [bb1,bb2]@3 c5 db5 c5 f5@2 db5 c5@2, [f4,bb4,db5]@7 ~ f4@7 ~, ~@8 [ab1,ab2]@2 [ab1,ab2]@3 [ab1,ab2]@3", // Bb Bbm Ab
AS: "[gb1,gb2,gb4,bb4]@3 [gb1,gb2,gb4,bb4]@3 [gb1,gb2]@5 ~ gb2 f2@2 db2, ~@6 [gb4,bb4,db5]@9 ~", // Gb
AT: "[eb2,eb3,gb4,bb4,db5]@3 [eb2,eb3,ab4,c5,eb5]@3 [eb2,eb3,gb4,bb4,db5,f5]@9 ~", // Ebm7 Ab Ebm7
})).s("gm_church_organ").gain(0.32)
// chords · electric bass finger · "Church Organ Lead"
const electric_bass_finger = note("<~@50 A B A C D E D E F G F G F G F G F G>".pickRestart({
A: "[a2,a3,e4,ab4,b4]@3 ~ [a2,a3]@2 ~@2 [a2,a3]@2 ~@2 [a2,a3]@2 ~@2, ~@3 [gb4,a4,db5]@3 [ab4,b4,d5]@4 [a4,db5,e5]@5 ~", // E A Gbm Abdim A
B: "[a2,a3]@2 [e4,ab4,b4] ~@2 [ab4,b4,d5]@2 ~@2 [ab4,b4,d5]@2 ~@2 [e4,ab4,b4]@2 ~, ~@3 [gb4,a4,db5]@2 ~@2 [a4,db5,e5]@2 ~@2 [gb4,a4,db5]@2 ~@3, ~@2 [a2,a3] ~ [a2,a3] ~ [a2,a3] ~", // A E Abdim E Gbm A Gbm A
C: "[a2,a3]@2 [e4,ab4,b4] [gb4,a4,db5]@2 [ab4,b4,d5]@2 ~@2 [ab4,b4,d5]@2 ~@3 [a2,a3]@2, ~@7 [a4,db5,e5]@2 ~@2 [gb4,a4,db5]@2 [e4,ab4,b4]@2 ~, ~@4 [a2,a3] ~ [a2,a3] ~", // A E Gbm Abdim A Gbm E A
D: "[b2,b3,gb4,a4,db5] ~ [b2,b3]!6, ~ [b2,b3] ~@6, ~@3 [ab4,b4,eb5]@3 [a4,db5,e5]@4 [b4,eb5,gb5]@5 ~", // Gbm B Abm A B
E: "~@7 [b2,b3], [b2,b3]!7 ~, ~ [gb4,a4,db5]@2 [ab4,b4,eb5]@2 [a4,db5,e5]@2 [b4,eb5,gb5]@2 [a4,db5,e5]@2 [ab4,b4,eb5]@2 [gb4,a4,db5]@2 ~", // B Gbm Abm A B A Abm Gbm
F: "[db2,db3,ab4,b4,eb5] ~ [db2,db3]!6, ~ [db2,db3] ~@6, ~@3 [bb4,db5,f5]@3 [b4,eb5,gb5]@4 [db5,f5,ab5]@5 ~", // Abm Db Bbm B Db
G: "~@3 [bb4,db5,f5] [db2,db3,bb4,eb5,gb5]@2 [db2,db3,db5,f5,ab5]@2 [db2,db3,bb4,eb5,gb5]@2 [db2,db3,bb4,db5,f5]@2 [db2,db3,ab4,b4,eb5]@2 [db2,db3]@2, [db2,db3]!2 ~@6, ~ [ab4,b4,eb5]@2 ~@13", // Bbm Ebm7 Db Ebm7 Bbm Abm Db Abm
})).s("gm_electric_bass_finger").gain(0.32)
// chords · string ensemble 1 · "String Lead 1"
const string_ensemble_1 = note(`<
~@12 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 Q AE AF AG@2 AH AI AJ ~@18
>`.pickRestart({
A: "db5@7 ~ db5@7 ~", B: "~@4 bb4 [bb4,db5] [bb3,eb4] [bb4,db5], db5@5 ~@3", C: "b4@7 ~ b4@7 ~",
D: "b4@5 [ab4,b4] [ab3,db4] [ab4,b4]", E: "db5@7 ~ [a4,c5]@7 ~", F: "[bb4,eb5]@7 ~ [gb4,bb4,eb5]@7 ~",
G: "[ab4,db5,f5]@7 ~ [ab4,eb5]@7 ~", H: "[f4,bb4,db5]@7 ~ [f4,c5]@7 ~",
I: "[f4,g4,bb4]@7 ~ [f4,g4,bb4]@7 ~, db5@15 ~", J: "[f4,ab4,bb4]@7 ~ [f4,ab4,bb4]@7 ~, db5@15 ~",
K: "[eb4,gb4,bb4,db5]@7 ~ [gb4,bb4,db5,gb5]@7 ~", // Ebm7 Gb
L: "[db2,db3]@2 [db2,db3]@3 [db2,db3,ab4,db5,f5]@3 [c2,c3]@2 [c2,c3]@3 [c2,c3,ab4,c5,eb5]@3, [ab4,db5,f5]@5 ~@3 [ab4,c5,eb5]@5 ~@3", // Db C Ab Db Ab
M: "[bb1,bb2]@2 [bb1,bb2]@3 [bb1,bb2,f4,bb4,db5]@3 [ab1,ab2]@2 [ab1,ab2]@3 [ab1,ab2,f4,ab4,c5]@3, [f4,bb4,db5]@5 ~@3 [f4,ab4,c5]@5 ~@3", // Bb Bbm Ab Fm Bbm Fm
N: "[gb1,gb2,gb4,bb4]@3 [gb1,gb2,ab4,c5]@3 [gb1,gb2]@5 ~ gb2 f2@2 db2, ~@6 [gb4,bb4,db5]@9 ~", // Gb Ab7 Gb
O: "[eb2,eb3,gb4,bb4,db5]@3 [eb2,eb3,ab4,c5,eb5]@3 [gb4,bb4,db5,f5]@8 [ab2,ab3]@2, ~@6 [eb2,eb3]@7 ~@3", // Ebm7 Ab Gbmaj7 Ab Eb
P: "db3@2 db3@5 ~ [c3,c4]@2 [c3,c4]@5 ~, [ab4,db5,f5]@7 ~ [ab4,eb5]@7 ~", // C Db Ab5
Q: "[bb2,bb3]@2 ~@3 [f4,bb4,db5]@3 [ab2,ab3]@2 ~@3 [f4,bb4,db5]@3, [f4,bb4,db5]@5 ~@3 [f4,bb4,db5]@5 ~@3, ~@2 [bb2,bb3]@5 ~@3 [ab2,ab3]@5 ~", // Bb Bbm Ab Bbm Bb Ab
R: "[bb4,db5,f5]@3 [db5,f5,bb5]@2 ~@5 [db5,f5,bb5]@2 ~@2 [db5,f5,bb5]@2, [g2,g3]@5 [f2,f3]@3 [eb2,eb3]@5 [eb2,eb3]@3, ~@3 [bb4,db5,f5]@2 ~ [bb4,db5,f5] ~", // Bbm G F Eb Bbm
S: "[db5,gb5,bb5]@3 [bb4,db5,gb5]@2 ~@3 [ab2,ab3]@4 ~@2 [c5,eb5,gb5]@2, [ab2,ab3]@5 [ab2,ab3]@3 ~@5 [ab2,ab3]@3, ~@6 [bb4,db5,gb5]@5 ~ [bb4,db5,gb5]@2 ~@2", // Gb Ab Cdim Ab Gb
T: "db3@2 ~@3 [ab4,db5,f5]@3 [c3,c4]@2 ~@3 [ab4,c5,eb5]@3, [ab4,db5,f5]@5 ~@3 [ab4,c5,eb5]@5 ~@3, ~@2 db3@5 ~@3 [c3,c4]@5 ~", // Db C Ab Db Ab C
U: "[bb2,bb3]@2 ~@6 [ab2,ab3]@2 ~@3 [f4,bb4,db5]@3, [f4,bb4,db5]@5 [f4,bb4,db5]@8 ~@3, ~@2 [bb2,bb3]@5 ~@3 [ab2,ab3]@5 ~", // Bb Ab Bbm Bb Ab
V: "[db4,f4,bb4]@3 [db4,f4,bb4]@2 ~@3 [eb2,eb3]@5 ~ [db4,f4,bb4]@2, [g2,g3]@5 [g2,g3]@3 ~@5 [eb2,eb3]@3, ~@6 [db4,f4,bb4]@7 ~@3", // Bbm Eb Bbm G Eb Bbm
W: "[db4,f4,bb4]@3 [db4,f4,bb4]@2 ~@3 [ab2,ab3]@4 ~@2 [db4,gb4,ab4]@2, [ab2,ab3]@5 [ab2,ab3]@3 ~@5 [ab2,ab3]@3, ~@6 [db4,f4,bb4]@5 ~ [db4,f4,bb4]@2 ~@2", // Bbm Ab Dbsus4 Ab Bbm
X: "[db4,f4,bb4] db4 f4 [db4,f4,bb4]@2 [bb2,bb3,bb4,db5]@3 [db4,f4,bb4] db4 f4 [db4,f4,bb4]@2 [ab2,ab3,bb4,db5]@3, [bb2,bb3]@2 [bb2,bb3]@3 ~@3 [ab2,ab3]@2 [ab2,ab3]@3 ~@3", // Bbm Bbm7 Bb Ab
Y: "[g2,g3]@5 [g2,g3]@3 ~ [bb4,db5]!2 [ab4,c5]@2 [g4,bb4] [g4,bb4]@2, [bb4,db5,f5]@8 [eb2,eb3]@5 [eb2,eb3]@3", // G Bbm Ab Gm Bbm Eb
Z: "[eb4,ab4,b4] eb4 ab4 [ab4,b4]@2 [ab2,ab3,b4,eb5]@3 [eb4,ab4,b4] eb4 ab4 [ab4,b4]@2 [gb2,gb3,b4,eb5]@3, [ab2,ab3]@2 [ab2,ab3]@3 ~@3 [gb2,gb3]@2 [gb2,gb3]@3 ~@3", // Abm B Ab Gb
AA: "[f2,f3]@5 [f2,f3]@3 ~ [ab4,c5]!2 [gb4,bb4]@2 [f4,ab4] [f4,ab4]@2, [db4,ab4,c5]@8 [db2,db3]@5 [db2,db3]@3", // F Ab Gb Fm Dbmaj7 Db
AB: "[db4,f4,bb4]@3 ~@3 c5 bb4 [f2,f3,f4,a4,c5]@5 ~ f4@2, [bb2,bb3]@2 db5 ~@5, ~@5 [bb2,bb3]@3 ~@5 [f2,f3]@3", // Bbm F Bb F
AC: "[eb2,eb3,gb4,bb4,eb5]@5 [eb2,eb3,gb4,bb4,eb5]@3 [gb4,bb4,eb5]@4 ~ [gb4,bb4,eb5]@3, ~@8 [ab2,ab3]@3 ~ [ab2,ab3]@3 ~", // Ebm Ab
AD: "[db3,db4]@2 ~@3 [ab4,db5,f5]@3 [c3,c4]@2 ~@3 [ab4,c5,eb5]@3, [ab4,db5,f5]@5 ~@3 [ab4,c5,eb5]@5 ~@3, ~@2 [db3,db4]@5 ~@3 [c3,c4]@5 ~", // Db C Ab Db Ab Db C
AE: "[f4,g4,bb4]@3 [f4,g4,bb4]@3 ~@2 [bb2,bb3]@3 ~ [bb2,bb3,f4,g4,bb4,db5]@2 [f4,g4,bb4,db5]@2, [bb2,bb3]@6 [f4,g4,bb4,db5]@5 ~@5", // Gm7 Bb Gm7b5 Bb Gm7b5
AF: "[f4,ab4,bb4]@3 [f4,ab4,c5]@3 g4@2 [bb2,bb3,ab4]@3 ~ [bb2,bb3,f4,g4,bb4,db5]@2 [f4,ab4,bb4,db5]@2, [bb2,bb3]@6 [f4,bb4,db5]@5 ~@5", // Bb7 Fm Bb7 Gm7b5 Bbm7 Bb Bbm
AG: "[[ab2,ab3,eb4,gb4,bb4,db5]@3 ~ [ab2,ab3]@2 [eb4,gb4,bb4,db5]@2 [eb4,gb4,bb4,db5]@4 [ab2,ab3]@2 ~@2 [db2,db3]@2 [db2,db3]@3 [db2,db3]@3 eb5 f5 eb5 ab5@2 f5 eb5@2, ~@3 [eb4,gb4,bb4,db5]@3 ~@2 [ab2,ab3]@3 ~@3 ab4@9 ~ ab4@7 ~, ~@16 [db5,f5]@7 ~ [c2,c3]@2 [c2,c3]@3 [c2,c3]@3]/2", // Ebm7 Ab Ebm7 Ab Db Ebm7 Ab Db …
AH: "[bb1,bb2]@2 [bb1,bb2]@3 [bb1,bb2]@3 c5 db5 c5 f5@2 db5 c5@2, [f4,bb4,db5]@7 ~ f4@7 ~, ~@8 [ab1,ab2]@2 [ab1,ab2]@3 [ab1,ab2]@3", // Bb Bbm Ab
AI: "[gb1,gb2,gb4,bb4]@3 [gb1,gb2,gb4,bb4]@3 [gb1,gb2]@5 ~ gb2 f2@2 db2, ~@6 [gb4,bb4,db5]@9 ~", // Gb
AJ: "[eb2,eb3,gb4,bb4,db5]@3 [eb2,eb3,ab4,c5,eb5]@3 [eb2,eb3,gb4,bb4,db5,f5]@9 ~", // Ebm7 Ab Ebm7
})).s("gm_string_ensemble_1").gain(0.56)
// chords · string ensemble 2 · "String Lead 2"
const string_ensemble_2 = note(`<
~@12 A B C D E F G H I J K L M N O G P Q R L S T U V W X Y Z AA L P AB AC AD@2 AE AF O ~@18
>`.pickRestart({
A: "db5@7 ~ db5@7 ~", B: "~@4 bb4 [bb4,db5] [bb3,eb4] [bb4,db5], db5@5 ~@3", C: "b4@7 ~ b4@7 ~",
D: "b4@5 [ab4,b4] [ab3,db4] [ab4,b4]", E: "db5@7 ~ [a4,c5]@7 ~", F: "[bb4,eb5]@7 ~ [gb4,bb4,eb5]@7 ~",
G: "[ab4,db5,f5]@7 ~ [ab4,eb5]@7 ~", H: "[f4,bb4,db5]@7 ~ [f4,c5]@7 ~",
I: "[f4,g4,bb4]@7 ~ [f4,g4,bb4]@7 ~, db5@15 ~", J: "[f4,ab4,bb4]@7 ~ [f4,ab4,bb4]@7 ~, db5@15 ~",
K: "[eb4,gb4,bb4,db5]@7 ~ [gb4,bb4,db5,gb5]@7 ~", L: "[ab4,db5,f5]@5 [ab4,db5,f5]@3 [ab4,c5,eb5]@5 [ab4,c5,eb5]@3",
M: "[f4,bb4,db5]@5 [f4,bb4,db5]@3 [f4,ab4,c5]@5 [f4,ab4,c5]@3", N: "[gb4,bb4]@3 [ab4,c5]@3 [gb4,bb4,db5]@9 ~",
O: "[gb4,bb4,db5]@3 [ab4,c5,eb5]@3 [gb4,bb4,db5,f5]@9 ~", // Gb Ab Gbmaj7
P: "[f4,bb4,db5]@5 [f4,bb4,db5]@3 [f4,bb4,db5]@5 [f4,bb4,db5]@3", // Bbm
Q: "[bb4,db5,f5]@3 [db5,f5,bb5]@3 [bb4,db5,f5]@4 [db5,f5,bb5]@2 [bb4,db5,f5]@2 [db5,f5,bb5]@2", // Bbm
R: "[db5,gb5,bb5]@3 [bb4,db5,gb5]@3 [bb4,db5,gb5]@5 ~ [bb4,db5,gb5]@2 [c5,eb5,gb5]@2", // Gb Cdim
S: "[f4,bb4,db5]@5 [f4,bb4,db5]@8 [f4,bb4,db5]@3", T: "[db4,f4,bb4]@3 [db4,f4,bb4]@3 [db4,f4,bb4]@7 ~ [db4,f4,bb4]@2",
U: "[db4,f4,bb4]@3 [db4,f4,bb4]@3 [db4,f4,bb4]@5 ~ [db4,f4,bb4]@2 [db4,gb4,ab4]@2", // Bbm Dbsus4
V: "[db4,f4,bb4] db4 f4 [db4,f4,bb4]@2 [bb4,db5]@3 [db4,f4,bb4] db4 f4 [db4,f4,bb4]@2 [bb4,db5]@3", // Bbm
W: "[bb4,db5,f5]@9 [bb4,db5]!2 [ab4,c5]@2 [g4,bb4] [g4,bb4]@2", // Bbm Ab Gm
X: "[eb4,ab4,b4] eb4 ab4 [ab4,b4]@2 [b4,eb5]@3 [eb4,ab4,b4] eb4 ab4 [ab4,b4]@2 [b4,eb5]@3", // Abm B Abm B
Y: "[db4,ab4,c5]@9 [ab4,c5]!2 [gb4,bb4]@2 [f4,ab4] [f4,ab4]@2", // Dbmaj7 Ab Gb Fm
Z: "[db4,f4,bb4]@3 ~ db5@2 c5 bb4 [f4,a4,c5]@5 ~ f4@2", // Bbm F
AA: "[gb4,bb4,eb5]@5 [gb4,bb4,eb5]@3 [gb4,bb4,eb5]@5 [gb4,bb4,eb5]@3", // Ebm
AB: "[f4,g4,bb4]@3 [f4,g4,bb4]@3 [f4,g4,bb4,db5]@5 ~ [f4,g4,bb4,db5]@2 [f4,g4,bb4,db5]@2", // Gm7 Gm7b5
AC: "[f4,ab4,bb4]@3 [f4,ab4,c5]@3 g4@2 ab4@3 ~ [f4,g4,bb4,db5]@2 [f4,ab4,bb4,db5]@2, ~@6 [f4,bb4,db5]@5 ~@5", // Bb7 Fm Gm7b5 Bbm7 Bbm
AD: "[[eb4,gb4,bb4,db5]@3 [eb4,gb4,bb4,db5]@3 [eb4,gb4,bb4,db5]@2 [eb4,gb4,bb4,db5]@5 ~@3 [db5,f5]@7 ~ eb5 f5 eb5 ab5@2 f5 eb5@2, ~@14 ab4@9 ~ ab4@7 ~]/2", // Ebm7 Db
AE: "[f4,bb4,db5]@7 ~ c5 db5 c5 f5@2 db5 c5@2, ~@8 f4@7 ~", AF: "[gb4,bb4]@3 [gb4,bb4]@3 [gb4,bb4,db5]@9 ~",
})).s("gm_string_ensemble_2").gain(0.56)
// chords · synth strings 1 · "Strings3 Lead"
const synth_strings_1 = note("<~@50 A B A B C D C D E F E F E F E F E F>".pickRestart({
A: "[e3,ab3,b3]@3 [gb3,a3,db4]@3 [ab3,b3,d4]@4 [a3,db4,e4]@5 ~", // E Gbm Abdim A
B: "~@2 [e3,ab3,b3] [gb3,a3,db4]@2 [ab3,b3,d4]@2 [a3,db4,e4]@2 [ab3,b3,d4]@2 [gb3,a3,db4]@2 [e3,ab3,b3]@2 ~", // E Gbm Abdim A Abdim Gbm E
C: "[gb3,a3,db4]@3 [ab3,b3,eb4]@3 [a3,db4,e4]@4 [b3,eb4,gb4]@5 ~", // Gbm Abm A B
D: "~ [gb3,a3,db4]@2 [ab3,b3,eb4]@2 [a3,db4,e4]@2 [b3,eb4,gb4]@2 [a3,db4,e4]@2 [ab3,b3,eb4]@2 [gb3,a3,db4]@2 ~", // Gbm Abm A B A Abm Gbm
E: "[ab4,b4,eb5]@3 [bb4,db5,f5]@3 [b4,eb5,gb5]@4 [db5,f5,ab5]@5 ~", // Abm Bbm B Db
F: "~ [ab4,b4,eb5]@2 [bb4,db5,f5] [bb4,eb5,gb5]@2 [db5,f5,ab5]@2 [bb4,eb5,gb5]@2 [bb4,db5,f5]@2 [ab4,b4,eb5]@3 ~", // Abm Bbm Ebm Db Ebm Bbm Abm
})).s("gm_synth_strings_1").gain(0.56)
// other · reed organ · "Reed Organ Melody"
const reed_organ = note("<~@18 A B C@2 D@3 ~@2 E F@3 G H I@2 J@2 K@2 L M N B O@2 P Q R S ~@19>".pickRestart({
A: "~@4 f5!4 eb5 f5 eb5 ab5@2 f5 eb5 [eb5,f5]", B: "db5@5 ~@3 c5 db5 c5 f5@2 db5 c5 bb4",
C: "[bb4@3 c5@3 db5@3 ~ f5@2 eb5@2 db5 eb5@2 db5 bb4@3 ~@5 f5@2 eb5 db5@3]/2",
D: "[~@10 ab5@2 [eb5,f5] db5@2 ~@7 f5@2 eb5@5 ~ f5@2 eb5 ~@15, ~@5 db5@8 ~@3]/3", // Ebsus2
E: "~@4 db4 eb4 f4 gb4 ab4 bb4 ab4 db5@2 f4 eb4 [eb4,f4]", // Ebsus2
F: "[db4@3 ~@9 bb3 c4 db4 f4@6 ~@7 db4 f4 db4 eb4@6 ~@11]/3", G: "~@4 db4 eb4 f4 gb4 ab4 bb4 ~ ab4 db5 f5 ~ eb5",
H: "[eb5,f5] db5@3 ~@4 f5@2 eb5 db5@2 eb5@2 db5", I: "[bb4@3 ~@7 f5@2 eb5 db5@2 eb5@12 ~@5]/2",
J: "[~@4 f4 gb4 f4 bb4@2 c5 bb4 db5@2 f5 db5 f5@6 ~@3 db5!3 c5@2 bb4 bb4@2]/2",
K: "[~@4 eb4 e4 eb4 ab4@2 bb4 ab4 b4@2 db5 b4 eb5@6 ~@3 b4!3 bb4@2 ab4@3]/2", L: "~@4 db5@2 c5 bb4 c5@5 ~ f4@2",
M: "eb5@8 ab5@7 [eb5,f5]", N: "db5@2 ~@2 f5!4 eb5 f5 ~ eb5 ab5 f5 eb5 [db5,f5]",
O: "[bb4@3 c5@3 db5@3 ~ f5@2 eb5 db5!2 eb5@2 db5 bb4@4 ~@4 f5@2 eb5 db5@3]/2", P: "~@10 f5 ab5 [eb5,f5] db5@3",
Q: "ab5 gb5", R: "bb5 ab5", S: "[eb5,f5] db5@10 ~@5",
})).s("gm_reed_organ").gain(0.56)
// drums · kick
const kick = s("bd").struct("<~@22 A B@2 C D E@3 F E@3 F E@3 F E F@2 E F ~@2 E@2 F@2 G@18>".pickRestart({
A: "~@6 x ~@2 x!7", B: "~@2 x ~ x ~ x!2 ~ x ~ x!2 ~ x ~", C: "~ x!2 ~ x!12", D: "~ x!2 ~ x!11 ~", E: "~ x ~ x",
F: "~ x ~@2", G: "x!2",
})).gain(0.56)
// drums · snare
const snare = s("sd").struct("<~@22 A B@2 C D E@3 F E@3 F E@3 F E G F E H I@2 E@2 F@2 J@18>".pickRestart({
A: "~@6 x ~@2 x!2 ~@5", B: "x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x", C: "~@2 x ~@2 x!3 ~ x ~ x ~ x!3",
D: "~@2 x ~@2 x!3 ~ x ~ x ~ x ~@2", E: "x!8", F: "x ~ x ~ x ~ x ~ x ~ x ~ x!3 ~", G: "x ~ x ~ x ~ x ~ x ~ x ~ x!4",
H: "x ~ x ~ x ~ x ~ x ~ x!3 ~ x ~", I: "x!3 ~ x ~ x ~ x ~ x!2 ~ x!2 ~", J: "x ~ x!7 ~ x!6",
})).gain(0.4)
// drums · hihat
const hihat = s("hh").struct(`<
~@22
[~@6 x ~@2 x!2 ~@3 x!2]
[~@2 x ~@4 x ~@4 x ~@3]!2
[~ x ~@2 x ~ x!2 ~ x ~ x ~@4]!2
~@41
>`).gain(0.56)
// drums · mid tom
const mid_tom = s("mt").struct("<~@44 [x!3 ~ x ~@5 x!2 ~ x!2 ~]!2 ~@22>").gain(0.4)
// drums · open hat
const open_hat = s("oh").struct("<~@27 A@3 B A@3 B A@3 B A C B A D ~@2 A@2 B@2 E@18>".pickRestart({
A: "~ x ~ x", B: "~@4 x ~@5 x ~ x!3 ~", C: "~@4 x ~@5 x ~ x!4", D: "~@4 x ~ x ~ x ~ x!3 ~ x ~", E: "x ~ x!7 ~ x!6",
})).gain(0.4)
// drums · crash
const crash = s("cr").struct(`<
~@25
[x ~@2 x ~@2 x ~@9]!2
[~ x ~ x]!16
// … 10 more lines
More by Alan Parsons
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.