0:00/0:00
// Lovely Lady — The Brecker Brothers
// 80 bpm, 4/4, key A# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 62 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(80/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 · piano · "G&G Productions"
const piano = note(`<
A@2 B@2 C@3 D E F G H I J K L@2 M N O P Q R S T U V W X Y Z AA@2 AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP@4 AQ@2
AR AS AT E AU AV AW@3
>`.pickRestart({
A: "[[bb3,db4,f4]@5 [db4,f4]@2 bb3 ~@3 c4@2 ~@2 c4 ~@6 eb4@4 ~@3 db4 eb4 db4, ab3@4 db4@3 ~, bb2 ab2 gb2@2, ~@8 eb4@5 eb4@6 bb3@7 ~@2 bb3@2 ~@2, ~@11 gb3 ~ gb3@2 ~]/2", // Bbm Db
B: "[bb3@2 ~@3 db4@2 ~@4 ab3@2 ab3 ~@2 [eb2,db4]@2 ~ [f2,f3,ab3,c4]@3 bb3@6 ~ bb3 ~ bb3, bb2@8 ab2@7 ~@7 [gb2,db4]@8 ~@2, ~@2 ab3@8 ~@5 bb3@2 ~@11 gb3@2 ~@2, ~@3 bb3@4 ~@4 c4@4 ~@15 db4@2, ~@5 eb4 ~ eb4@6 eb4@4 ~ eb4@4 ~@10]/2", // Eb7 Fm Gb5
C: "[[bb2,ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] ~ [ab3,bb3,f4] bb2 [c4,eb4]@3 ~@2 c4@2 ab3 [bb3,db4]@10 gb3@2 ~ db4 eb4 ~@4 ab3@2 f4@2 ab3 db4 c4@2 ~@2 c4@2 ~, ~@6 db4@2 ab2@8 gb2@15 ~ bb2@8 ab2@7 ~, ~@8 ab3@5 ~@15 bb3@2 ~@2 bb3@6 ~@2 ab3@5 ab3 ~@2, ~@11 eb4@7 ~@13 db4@3 ~ db4@5 eb4@3 eb4@5, ~@35 f4 ~@12]/3", // Bbm7 Bb7 Cm Bbm
D: "bb3@3 bb3@6 eb4 db4 bb3!3 [ab3,db4] ~, gb2@5 ~@3, db4@4 ~@2 db4 ~", // Db5
E: "[bb2,ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] bb2 [ab2,ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ab2", // Bbm7 Ab
F: "[gb2,bb3,db4] ~ [bb3,db4] ~ [bb3,db4] ~ [gb2,bb3,db4] ~ [bb3,db4] ~ [bb3,db4] gb2 [ab2,c4,eb4]@2 [ab3,c4,eb4] ab2, ~@12 ab3 ~@3", // Gb Bbm Gb Bbm Ab
G: "[bb2,ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] bb2 [ab2,ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~", // Bbm7 Ab
H: "[f2,f3,ab3,c4,eb4]@3 [f3,ab3,c4,eb4]@2 f2 bb3@4 ~@4 gb3!2, ~@3 f2 ~@2 [gb2,db4]@6 gb2@2 bb3@2, ~@6 eb4 ~@3 [gb3,bb3]@3 db4@2 ~", // Fm7 Gb5 Gb
I: "[bb2,bb3,db4] ~ [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] bb2 [ab2,ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ab2", // Bbm Bbm7 Ab
J: "[gb2,bb3,db4] ~ [bb3,db4] ~ [gb2,bb3,db4] ~ [f2,f3,ab3,c4] ~ eb4 ~ ab3@2 ab3 ~ db4@2, ~@6 eb4@2 c4@5 [gb2,bb3]@3, ~@5 [f2,eb4]@2 ~", // Gb Bbm Gb Fm Gb F7
K: "[bb3,f4]@2 [bb3,db4,f4] ~ [bb3,f4] ~ [bb3,db4,f4] bb2 ab3@2 ab3@2 c4@2 [ab3,c4] ~, bb2@6 ~@2 ab2@7 ~, ~@2 db4 ~ [c4,eb4]@2 eb4@2, ~@12 ab3 ~@3", // Bb5 Bbm Bb5 Bbm Ab Cm
L: "[[f2,f3,ab3,c4,eb4]@3 [f3,ab3,c4] ~@2 [gb2,bb3]@7 ~@11 db4 eb4@2 ~@2 eb4@3, ~@3 [f2,eb4]@2 ~ db4@5 ~@2 eb4@2 bb3@4 ab3@4 ab3@8 ~, ~@6 f2 ~@7 db4@2 bb2@8 ab2@8, ~@21 [db4,f4]@4 c4@6 ~]/2", // Fm7 Fm Gb F7 Db
M: "[bb3,db4]@3 ~@7 gb2@3 ~@2 c4, gb2@10 ab3 ~@2 ab2@3, ~@3 db4@11 ~@2, ~@6 bb3@7 ~ ab3@2", // Bbm
N: "~@14 c4 ab3, bb2@7 ab3@2 ~ ab3@4 ~@2, ~ ab3@2 bb3 ab2@4, ~@3 bb3@2 f4@3 ~@4 eb4@4, ~@4 db4@4 ~@3 c4@2 ~@3",
O: "db4@3 eb4 ~@5 gb3@2 ~ [f2,f3,ab3,c4]@4, [gb2,bb3]@3 eb4@5, ~@3 db4@8 ~@5, ~@3 [gb2,bb3]@3 ~@2", // Fm Gb
P: "~@3 [ab3,db4,f4]@5 [ab3,c4]@5 ~ c4 ab3, [bb2,bb3] ab2, ~@8 eb4@4 ~ eb4@3", // Db Ab Bb
Q: "~@6 bb3@3 ~@3 db4 ~ bb3 ab2, [gb2,db4]@6 eb4 ~, bb3@5 ~@4 [gb3,bb3]@4 db4@2 ~, ~@3 eb4@8 gb2@4 ~", // Gb5 Gb
R: "f4@2 f4@2 [ab3,f4]@2 [ab3,f4] bb2 [ab3,eb4]@4 ~@2 ab3 ~, bb2@7 ~ [ab2,c4]@7 ~, [ab3,bb3,db4] [bb3,db4] ~ eb4", // Db Ab5 Ab Bbm7 Bbm
S: "[gb2,bb3,db4] ~@2 [f2,f3,ab3,c4,eb4] ~@2 bb3@6 eb4@2 bb3 gb2, ~@6 [gb2,db4]@9 ~", // Gb Fm7 Gb5
T: "[bb2,bb3,db4,f4] ~ [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] bb2 [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ c4@2 [ab3,c4] gb2, ~@2 ab2 eb4, ~@12 ab3 ~@3", // Bbm Bbm7 Ab
U: "[gb2,bb3,db4]@4 [bb3,db4]@2 gb3@2 gb3@2 gb3@2 ~ gb3 bb3 ab2, eb4 ~@5 db4@7 db4@2 ~, ~@6 [gb2,bb3]@4 bb3 ~ [gb2,bb3]@3 ~", // Gb Bbm Gb
V: "[bb2,ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] bb2 [c4,eb4]@2 [ab3,c4,eb4] ~ [ab3,c4] ~ [ab3,c4] ab2, ~@4 ab2@3 ~, ~@8 ab3 ~@3 eb4@2 eb4@2", // Bbm7 Cm Ab
W: "[bb3,db4]@2 ~ [f2,f3,ab3,c4]@3 bb3@4 ~@2 bb3!2 [bb3,db4] gb2, gb2 ~ eb4@4 [gb2,db4]@5 gb2@2 ~@3, ~@5 bb3 db4 ~", // Bbm Fm Bbm Gb5
X: "[bb2,bb3,db4,f4] ~ [bb3,db4,f4] ~ [bb3,db4,f4] ~ [bb3,db4,f4] bb2 [c4,eb4]@2 [c4,eb4]@2 [ab3,c4] ~ [ab2,ab3,c4] ~, ~@2 ab2 ~, ~@8 ab3 ~ ab3 ~ eb4@2 eb4@2", // Bbm Cm Ab
Y: "eb4@3 ~ [f3,ab3] ~ bb3@4 gb3@2 ~@2 [bb3,eb4] gb2, [f2,c4]@6 [gb2,db4]@7 db4@2 ~, ab3 ~@3 eb4@2 ~@6 bb3@2 ~@2", // Fm Eb5 F5 Gb5
Z: "[bb2,ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] bb2 c4@2 [ab3,c4]@2 [ab3,c4] ~ ab3 ab2, ~@4 ab2@3 ~, ~@2 eb4!2, ~@8 ab3 ~@7", // Bbm7 Ab
AA: "[[gb2,bb3,db4] ~@2 [f2,f3,c4,eb4]@3 [gb2,bb3]@7 db4!2 [c4,db4] ab3@3 ~ ab3 ~ ab3@7 ~ ab3 ~, ~@3 [e2,ab3] ~@2 db4@6 ~ eb4@6 eb4@9 ~@4, ~ db2, ~@16 c4@13 [c4,eb4]@3]/2", // Gb F7 Gb Dbmaj7 E Cm
AB: "bb3@3 bb3@2 ~ [bb3,db4]@7 db4 ~ gb2, [gb2,db4]@3 gb2@4 bb3, ~@3 eb4@5 ~@5 eb4@3", // Bbm Gb5
AC: "eb4@3 ~@3 [f3,ab3]@7 ~ [f3,ab3] f3, c4@13 [c4,eb4]@3, [db2,f3,ab3]@3 db2@5, ~@3 eb4@9 ~@4", // Fm Cm Db
AD: "bb3@3 bb3@2 ~ eb2@4 gb2@3 ab2@3, db4@7 ~, eb2@6 [gb3,bb3]@9 ~, ~@3 eb4@13", // Gb
AE: "f3@3 ~@3 eb4@5 ~@3 [f3,ab3]!2, [db2,c4], ab3@13 ~@3, eb4@6 ~@7 eb4@3, ~@3 f3@11 ~@2", // Fm Dbmaj7
AF: "[c2,g3,bb3,c4,eb4]@6 g3@3 ~ g3@2 ~ b2@3, ~@3 bb3@5, ~@3 [c2,c4,eb4]@3 [g3,c4,eb4]@2", // Cm7 Cm
AG: "[bb3,db4]@2 bb3 [bb2,bb3,eb4]@3 [bb2,bb3] ~, bb2@3 ~@5, ~@2 db4@5 ~", // Bbm Eb5 Bb
AH: "~@2 [bb2,bb3,db4,eb4] ~ [bb2,bb3,db4,eb4] ~@3 [f2,f3,c4,eb4]@4 [gb2,bb3,db4]@4, ~@4 ab3 ~@3, ~@8 g3 ~@7", // Eb7 F7 Gb
AI: "[bb2,ab3,bb3,db4,f4] ~ [ab3,bb3,db4,gb4] ~ [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] bb2 [ab2,ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ab2", // Bbm7 Gb Bbm7 Ab
AJ: "[gb2,bb3,db4] ~ [bb3,db4] ~ [bb3,db4] ~ [gb2,bb3,db4] ~ [bb3,db4] ~ [bb3,db4] ~ [gb2,db4]@2 bb3 ab2, ~@12 bb3 ~@3", // Gb Bbm Gb Bbm Gb5
AK: "[bb2,ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] bb2 [ab2,ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] [ab2,a2]", // Bbm7 Ab Amaj7
AL: "[gb2,bb3,db4] ~ [f3,ab3,c4]@2 [f3,ab3,c4] ~ gb2@4 ~ gb3 ~@2 db4 [bb3,db4,eb4], ~@2 f2@4 ~@4 gb2@3 bb3@2 ~, ~@2 b3 ~ eb4@2 [bb3,db4]@6 gb3@2 ~@2", // Gb Fm Eb7 Bbm
AM: "[bb2,bb3,db4,f4] ~ [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] bb2 [ab2,ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,b3,c4,eb4] ab2", // Bbm Bbm7 Ab
AN: "gb2@2 db4 ~ [f3,ab3,eb4] ~ [gb2,bb3]@2 ~@2 bb3 ~ bb3 ~ [bb3,db4] ab2, ~@3 f2@3 db4 ~ bb3@2 db4@2 db4@2 ~@2, ~@9 gb2@2 gb2@2 ab2@2 ~", // Fm7 Gb Bbm
AO: "[bb3,f4]@2 [ab3,db4,f4] ~ [ab3,bb3,db4] ~ [ab3,bb3,db4,f4] bb2 ~@2 [ab3,c4,eb4] [ab3,eb4]@2 ~ ab2@2, bb2@5 ~@3 ab2@5 [ab3,eb4]@3, [ab3,db4] ~ bb3@2 [eb2,f4]@2 ~@5 c4@5", // Bb5 Db Bbm7 Ab Ab5 Db5 Ebsus2
AP: "[[f2,f3,ab3,c4]@3 [f2,f3,ab3,c4] ~@2 [gb2,bb3,db4]@7 ~ bb3 ~ bb3@7 f4@4 ~@2 bb3@2 ~ c4@7 ~@4 [b3,c4]@2 ab3@2 ~ [ab3,c4]@7 db4 ~@5 f3@2 f2, ~@13 gb3@2 db4@2 ~@10 eb4@11 ~ eb4@15 ~ eb4@9, ~@16 bb2@15 ab3@11 ~@6 f3@11 ab3@4 ~, ~@32 ab2@16 f2@15 ~]/4", // Fm Gb Cmaj7 Ab
AQ: "[~@10 [bb3,db4] bb3 ~@2 ab2 ~@6 bb3@2 ~ ab3@5 [db4,f4]@2 [ab3,bb3], [bb3,db4]@10 ~ db4@2 ~@5 bb3@2 f4@9 ~@3, gb2@3 gb2@3 ab2 a2 bb2@8, ~@3 gb3@6 gb3@2 ~@2 ab3@2 ab3@2 ab3@6 bb3@7 ~@2, ~@19 db4@10 ~@3]/2", // Bbm Db Absus2 Bbm
AR: "~ c4@6 [ab3,c4]@5 ab2 [ab2,ab3,bb3,c4,eb4]@3, ab3@7 ~@9, eb4@5 ~@2 eb4@4 ~@5, ~ ab2@11 ~@4", // Ab
AS: "[f2,f3,ab3,eb4]@2 [f2,f3,ab3,eb4]@2 [f2,f3,ab3,eb4]@2 [f2,f3,ab3,c4,eb4]@2 [f2,f3,ab3,c4,eb4]@2 [f2,f3,ab3,c4,eb4]@2 [f2,f3,ab3,c4,eb4]@2 [f3,ab3,c4] ~, c4@3 ~@4 [f2,eb4]", // Fm7 Fm F7
AT: "[gb2,db4,eb4]@2 [gb2,db4,eb4]@2 [gb3,bb3,db4,eb4] ~ [gb2,gb3,bb3,eb4] ~ [gb2,gb3,bb3,db4] gb2 [gb2,gb3,bb3,db4] ~ eb4 [ab3,c4,eb4]@2 ab2, [gb3,bb3] ~ [gb3,bb3] ~ gb2@2 db4@2 eb4@2 eb4@2 ~@4, ~@11 gb2@2 ab2 ~@2", // Ebm7 Ebm Gb Ab Gb
AU: "[f2,f3,ab3,c4,eb4] ~ [f3,ab3,c4,eb4] ~ [f2,f3,ab3,c4] ~ bb3@2 bb3 ~ [gb3,bb3]@2 gb2!2 [gb3,bb3] gb2, ~@2 eb4 gb2@3 ~@2, ~@6 db4@4 ~@2 db4@3 ~", // Fm7 Fm Gb
AV: "[bb3,db4]@2 [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] bb2 [c4,eb4]@2 [c4,eb4]@2 [ab2,c4,eb4]@2 ab2 ~, bb2@3 ~ ab2@2 ~@2, [ab3,f4] ~@7 ab3 ~ ab3 ~ ab3 ~@3", // Bbm Bbm7 Cm Ab Db
AW: "[[f2,f3,ab3,c4,eb4] ~@2 [f2,f3,ab3,c4,eb4] ~@2 bb3@3 ~@2 bb3@2 db4 ~@10 f4@12 ~@12, ~ gb2@5 ~@2, ~@6 db4@6 ~ eb4@2 ~@3 eb4@5 gb3@13 ~@12, ~@9 gb3@9 ~@2 db4@16 ~@12, ~@14 f4@7 bb3@15 ~@12]/3", // Fm7
})).s("gm_piano").gain(0.42)
// bass · piano
const bass = note(`<
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 AH AI AJ AK AL AM AN AO AP AQ AR AS AT AQ AU
AV AW AX AY AZ BA BB BC BD BE BF BG@3
>`.pickRestart({
A: "bb1 ab1", B: "gb1@7 db2 gb2 db2 gb1@3 ab1@3", C: "bb1@7 bb2 ab1@7 ~", D: "gb1@5 db2 gb2@7 db2 ~@2",
E: "bb1@8 ab1@7 ~", F: "gb1@6 ~ db2 gb2 db2 gb1@2 ~ gb1 ab1@2", G: "bb1@5 f2 bb2 f2 ab1@3 ab2 ~ ab2@2 ab1",
H: "~@6 gb1@6 db2 gb2 ab1@2", I: "bb1 ~@3 bb2 ~ bb1@2 ab1@2 ~ ab2 ~ ab1@2 ~",
J: "f1@2 ~ gb1@3 gb1@3 gb1 db2 gb1 gb2@2 db2 gb1", K: "bb1@3 bb2 ~@2 gb1 ~ ab1@3 ab2 ~@2 ab1 ~",
L: "f1@2 f2 f1@2 f2 gb1@3 gb1 db2 gb1 gb2@2 db2 gb1", M: "bb1@3 bb2 ~ bb2 ~ bb1 ab1@2 ~@2 ab2 ~@2 ab1",
N: "gb1 ~ gb1@2 gb2 ~ gb1@2 ~ eb1 db2 eb1 eb2 f1 [e2,f2] gb1", O: "bb1@3 [ab2,bb2] ~@3 bb1 ab1@4 ab2@3 ~",
P: "[f1,f2]@3 [f1,f2]@3 gb1@5 gb1 db2 gb2 db2 ab1, ~@6 gb2@3 ~@7", Q: "bb1@7 ~ ab1@5 eb2 ab2 eb2",
R: "gb1@5 ~ gb1@3 gb1 ab1@2 ~ a1@2 a1", S: "bb1@5 f2 bb2 ~ ab1@6 eb2 ab2",
T: "~@2 gb1@4 ~ db1 ~ db1 eb1!2 gb1 ~ ab1 ~", U: "bb1@5 f2 bb2 f2 ab1@5 eb2 ab2 eb2",
V: "gb1@9 db2 gb2 db2 gb1@2 ab1 ~", W: "bb1@5 f2 bb2 f2 ab1@5 ab2@2 ab1",
X: "f1@2 ~ f1@2 ~ gb1@3 db2 gb2 db2 ab1@2 a1@2", Y: "bb1@3 bb2 ~ bb1 f2 bb2 ab1@3 eb2 ab2@2 eb2 ab1",
Z: "gb1@4 ~ gb1 db2@3 gb2@2 db2 gb1 db2 gb1 ab1", AA: "bb1@3 f2 bb2 f2 bb1@2 ab1@3 ab2 ~ ab1@3",
AB: "gb1@3 gb2 ~@5 gb1 [f1,f2]@2 ~ [gb1,gb2]@3", AC: "bb1@3 f2 bb2 f2 bb1@2 ab1@3 ab2 ~ ab1@2 ab1, b1 ~@15",
AD: "gb1@10 db2@2 gb2@2 db2 gb1", AE: "bb1@3 [e2,f2] bb2 f2 bb1@2 ab1@3 ab2@3 ab1@2",
AF: "f1@2 ~ f1 ~@2 gb1@5 db2 gb2 db2 ab1@2", AG: "bb1@7 ~@8 bb1", AH: "gb1@7 db2 gb2 db2 gb1@3 eb1@3",
AI: "db1@6 ~ ab1 db2 ab1 db1@3 ~@2 db1", AJ: "eb1@7 bb1 eb2 bb1 eb1@6", AK: "gb1@3 ~@4 ab1 db2 ab1 db1@2 eb1@2 eb1 ~",
AL: "~@6 c1@3 g1 c2@3 g1@3", AM: "bb1@7 f2 bb2 f2 bb1@2 bb1 bb1@2 ~", AN: "~ bb1!7 gb1 ~ f1@3 gb1@3",
AO: "bb1@4 bb2 ~@2 bb1 ab1@3 ab2 ~@4", AP: "gb1@3 gb2 ~@2 gb1@3 gb2 gb1 ~ ab1 ab2 ab1 a1",
AQ: "bb1@3 f2 bb2 f2 bb1@2 ab1@3 ab2 ~@2 ab1 ~", AR: "gb1@3 gb2 ~@2 gb1@3 gb2 gb1 ab1 ab2 a1@2 a2",
AS: "bb1@3 f2 bb2 f2 bb1@2 ab1@3 eb2 ab2 eb2 ab1@2", AT: "gb1@3 db2 gb2 db2 gb1@3 gb2 gb1 gb2 ab1 ab2 a1 a2",
AU: "f1@3 f1@2 ~ gb1@5 db2 gb2 db2 ~@2", AV: "bb1 ~@7 bb1 ~ bb1 ~@5", AW: "bb1 gb1 bb1 ab1!2 ~@2 eb1 ab1 eb1 ab1 ~@5",
AX: "gb1 ~ gb1 ~ ab1 ~ gb1 ~ f1@4 f1 ~@2 db1", AY: "gb1@2 gb1@5 bb1 ~ bb1 gb1 ab1!2 a1@2 a1",
AZ: "bb1@2 bb1@2 ~@3 eb2 ab2 eb2 bb1 ~@5", BA: "ab1 ~ ab1@2 ~@3 f1 ab1 ~ ab1 ~@2 ab1@2 ~",
BB: "~@2 gb1 ~ f1@3 f1!2 ~ f1@2 f1@2 f1@2", BC: "gb1@2 gb1!2 db2 gb2 gb1 db2 gb1 gb2 gb1 db2 gb1 gb2 ab1!2, a1 ~@15",
BD: "bb1@2 f2 bb1 bb2@2 f2 bb1 ab1@3 ab2@3 e2 ab1", BE: "~@2 f1@2 [e2,f2] f1 gb1@3 db2 gb2 db2 gb1 ab1 ab2 [a1,b1]",
BF: "bb1@3 f2 bb2 f2 bb1@2 ab1@3 eb2 ab2 eb2 ab1 ~", BG: "[f1@2 ~ [f1,f2] ~@6 gb2!2 ~ gb2 ~@34, ~@3 gb1@16 ~@5]/3",
})).s("gm_piano").gain(0.4)
// bass · piano · soft notes
const bass_soft = note("<~@12 A ~@3 B ~ C D ~ E ~@10 F ~ G ~ H ~ I J ~@7 K L M N ~@2 O ~@5 P Q@2>".pickRestart({
A: "~@10 ab1 ~@5", B: "~@7 bb1 ~@8", C: "~@8 f2 ~@7", D: "~@13 gb1 ~@2", E: "~@15 ab1", F: "~@7 db2@8 ~",
G: "~@13 db1@2 ~", H: "~@3 db1@4 ~@9", I: "~@15 bb1", J: "~@9 gb1 ~@6", K: "~@14 gb2 ~", L: "~@7 gb1 ~@7 gb1",
M: "~@15 eb1", N: "~@13 f1 ~@2", O: "~@15 gb1", P: "~@9 db2 ~ db2!3 gb2 [db2,gb2]",
Q: "[[db2,gb2]!2 db2!2 [db2,gb2] ~ gb2 ~@4 db2@13 ~@8, ~ gb2 ~@2 gb2@8 ~@4]/2", // Gb5
})).s("gm_piano").gain(0.25)
// other · rock organ
const rock_organ = note(`<
A@2 B C D@3 E F G H I J@2 K L M N O P Q@2 R@2 S T@2 U V W X Y Z ~ AA AB AC@2 AD AE AF AG AH AI AJ AK@2 AL AM AN AO AP
AQ AR AS AT AU AV AW AX@3
>`.pickRestart({
A: "[[f5,ab5,bb5] ~@3 bb5@19 ~ [ab5,bb5] ~ ab5 f5@3 ab5 bb5, db6 ~@7]/2", B: "ab5@11 ~ ab5@2 bb5 ~",
C: "db6@3 eb6@3 db6@6 ~ [f5,g5] ab5 bb5", D: "[db6@3 bb5@20 ~ bb5 ab5 f5 ab5@2 f5 ~ eb5@8 db5@6 bb4 db5 eb5]/3",
E: "f5@9 f5 gb5 f5@3 f5 ab5", F: "~@2 db6 ~ db6@3 bb5@3 [ab5,bb5] ~@3 f5!2",
G: "ab5@2 [ab5,bb5] ~ bb5 ~ db6 ~@5 f6@2 eb6 db6, ~@12 eb6 ~@3", H: "eb6@2 db6 db6@3 bb5 ~@6 f5 ~ ab5, db6 ~@15",
I: "bb5@2 db6 bb5@2 ~@11", J: "[~@3 ab5 bb5 db6 eb6 ~ [eb6,e6] ~@15 f6@2 eb6 db6 eb6@2 db6 ~, ~@8 f6@15 ~ eb6 ~@7]/2",
K: "[db6,eb6] db6 bb5 bb5@3 ~@7 bb5@2 [f5,ab5], ~@13 ab5 ~@2", L: "ab5 f5 [f5,ab5] eb5@2 [db5,eb5] db5!2 bb4@4 ~@4",
M: "~@7 f5 ab5 ~ f5 ~ f5 eb5 ~ eb5", N: "~ db5 ~ db5@2 c5 ~ c5@5 ~@4",
O: "~@6 c6 db6 ~@2 db6 ~ eb6@2 db6!2, ~@9 c6@2 ~ db6 ~@3", P: "c6@2 bb5@7 ~@7",
Q: "[~@2 [eb6,e6] ~@3 eb6 db6 [db6,eb6] eb6 db6 db6@2 c6 ~ c6@2 bb5@2 ab5 ~ ab5@2 bb5@3 ~@3 f5 ab5 bb5, ~ f6@2 ~@13]/2", // Emaj7 Dbsus2
R: "[db6 ~ [eb6,e6] ~ [db6,eb6] ~@5 [ab6,bb6] ~@3 bb6@6 [ab6,bb6] ab6 ab6@2 f6 ~ [bb6,b6] [ab6,bb6] f6 ~ f6 ~, ~@2 f6@2 ~@6 c7@4 ~@8 f6 ~@9]/2", // Emaj7 Dbsus2 Absus2 Bmaj7 Absus2
S: "eb6@2 eb6 ~ eb6@2 f6@8 ~@2, ~@4 db6 ~ e6 ~@9",
T: "[~@4 f5@2 ab5@2 bb5 ~ db6 ~ eb6@2 eb6@4 db6@4 bb5@5 ~@3 c6 db6, ~@12 db6 ~ db6 ~@17]/2",
U: "c6@2 db6 c6@2 db6 bb5@5 ~ f5 ab5 bb5 c6", V: "[db6,d6] ~ eb6 [e6,f6] ~ f6@9 eb6 ~, ~@5 eb6 ~@10",
W: "~@8 f6@2 eb6 ~ eb6@2 db6 ~, ~@8 eb6 ~@3 db6 ~@3", X: "db6@3 [db6,eb6] db6@2 c6@8 c6 db6",
Y: "c6@2 bb5@3 ~ bb5@6 ~@2 [f5,g5] ab5", Z: "bb5 ~ bb5 ~ bb5@11 ~", AA: "~@2 bb5 c6", AB: "~ f6",
AC: "[~@12 c6 db6 c6@5 bb5@9 f5 ab5 bb5 c6]/2", AD: "c6@2 eb6 e6",
AE: "f6@4 f6@2 f6 ~ [e6,f6] eb6 c6 ~ db6!2 bb5 db6", AF: "db6",
AG: "~@4 [db6,eb6,e6] ~ eb6 db6 eb6@2 db6 ~ db6@2 bb5 ~, ~@4 f6@2 ~@2 db6 ~@7", AH: "bb5@2 ab5 ~@13",
AI: "~ f5 ab5 ~ bb5@2 ~@4 f5 ab5 bb5 db6 d6 ~",
AJ: "[eb6,e6] ~@2 [eb6,e6] e6 ~ [db6,eb6] ~@2 f6@3 e6 f6 ~@2, f6@3 f6@3 f6@3 ~@7", // Emaj7 Dbsus2
AK: "[e6 f6 ab6 e6 f6 ab6 e6 f6 ab6 e6 f6 ab6 bb6@2 ab6 ~@3 ab6!2 f6 ab6 f6@4 eb6 e6@2 db6 eb6@2, ~@12 ab6 ~ bb6@6 ~@12]/2",
AL: "db6@2 bb5@4 bb5@6 f5 ab5 bb5 ab5", AM: "bb5 ~@15", AN: "~@13 c6 db6 ~",
AO: "eb6 f6@2 f6 ~ f6!2 ~ eb6 [db6,eb6] ~@6, ~ eb6 ~@14", AP: "~@9 bb5@2 ab5 [f5,ab5] ~ f5 [f5,ab5]",
AQ: "ab5 ~ bb5 ~@13", AR: "~@5 c6 eb6 [eb6,f6]!2 f6 [eb6,f6]!3 eb6 ~ [eb6,f6]",
AS: "[eb6,f6] eb6 [eb6,f6] eb6!2 [eb6,f6]!2 f6 f6@2 f6@2 f6@2 f6@2", // Ebsus2
AT: "gb6!2 gb6@2 gb6@2 bb6@4 [ab6,b6] ~@2 bb6 f6 ~, f6 ~@4 bb6 ab6 ~", // Abm
AU: "db6@4 eb6@4 gb6 f6@3 eb6@3 ~, ~@4 db6 ~@11", AV: "eb6 db6 [bb5,b5] bb5@6 f5 ab5 bb5!2 ab5 f5 ab5",
AW: "bb5 db6 db6@2 db6@3 ~ eb6@3 ~ [db6,eb6,e6] ~@3, ~@8 db6 ~@3 f6@4", // Dbm
AX: "[ab6@3 ab6@2 ~ bb6@31 ~@11, ~@3 gb6 ~@2 ab6 ~@41]/3",
})).s("gm_rock_organ").gain(0.4)
// other · rock organ · soft notes
const rock_organ_soft = note(`<
~@2 A ~@2 B ~@7 C D ~@6 E ~ F G ~@3 H ~@3 I@3 J K ~@2 L M ~ N ~ O ~ P ~@3 Q ~@2 R S T ~ U V W@3
>`.pickRestart({
A: "~@15 bb5", B: "~@8 ab5 ~@7", C: "~@12 db6 ~@3", D: "~@6 ab5 ~@9", E: "~@2 bb5 ~@5", F: "~@15 eb6",
G: "~@2 db6 ~@3 eb6 ~@9", H: "~ db6 ~@14", I: "[~@15 ab5@25 ~@8]/3", J: "eb6 ~", K: "c6@4 db6 c6@7 ~@4",
L: "~@7 eb6!2 ~ b5 ~@5", M: "bb5 ~@15", N: "~@3 ab5 ~@12", O: "~@7 ab6", P: "~@12 eb6 ~ db6 ~",
Q: "~@3 eb6 ~ eb6!2 ~@3 db6 ~@5", R: "~@14 f6 ~", S: "~@3 f6 ~@3 eb6 ~@8", T: "~@15 ab5", U: "db6 ~@15",
V: "~@11 db6 ~@4", W: "[~@22 db6@15 ~@11, ~@14 f6@23 ~@11]/3",
})).s("gm_rock_organ").gain(0.25)
// chords · electric guitar clean
const electric_guitar_clean = note(`<
A B A C D E F G H I J K L M N O P Q R@2 S T@3 U V W X Y Z AA AB AC@3 AD@2 AE AF AG AH AI AA AJ AA AK AL AM AN AO AP AQ
AR AS AT AU AV AW AX AY@3
>`.pickRestart({
A: "~ [bb3,db4] ~@2 [bb3,db4] ~@2 [bb3,db4] ~@4 [bb3,db4] [ab3,c4]@3", // Bbm Ab
B: "~ [gb3,bb3] ~@2 [gb3,bb3] ~@2 [gb3,bb3] ~@5 [ab3,c4]@2 ~", C: "~ [gb3,bb3] ~@2 [gb3,bb3] ~@11",
D: "~@2 [ab3,db4] ~@2 [ab3,db4] ~@2 [ab3,db4] ~@3 [ab3,db4] [ab3,c4]@2 ~", // Db5 Ab
E: "~@2 [gb3,bb3] ~@2 [gb3,bb3] ~@2 [gb3,bb3] ~@2 [gb3,bb3] ~@2 [gb3,bb3] ~", // Gb
F: "~@2 [ab3,db4] ~@2 [ab3,db4] ~@2 [ab3,db4] ~@3 [ab3,db4] [ab3,c4]@3", // Db5 Ab
G: "~@2 [gb3,bb3] ~@2 [gb3,bb3] ~@2 [gb3,bb3] ~@4 gb3 ab3 bb3", H: "~@2 bb3@7 ~ [ab3,db4]!2 ~ [ab3,db4] ~@2",
I: "[ab3,c4]!2 ~@2 c4 [ab3,c4] ~@2 [gb3,bb3] ~@2 [gb3,bb3] ~@2 [gb3,bb3] ~", // Ab Gb
J: "~@2 [ab3,db4] ~@2 [ab3,db4] ~@2 [ab3,c4]!2 ~@2 [ab3,c4]!2 ~@2", // Db5 Ab
K: "[f3,ab3] ~@2 [f3,ab3] ~@2 [gb3,bb3]!2 ~@2 [gb3,bb3]!2 ~@2 [gb3,bb3] ~", // Fm Gb
L: "~@2 [ab3,db4] ~@2 [ab3,db4] ~@2 [ab3,db4] [ab3,c4] ~@2 c4@3 [ab3,c4], ~@12 ab3 ~@3", // Db5 Ab
M: "~@3 [bb3,db4] ~ [bb3,db4] ~@2 [bb3,db4]!2 ~@2 [bb3,db4]!2 ~@2", // Bbm
N: "~@2 db4 [ab3,db4] ~ [ab3,db4] ~@2 db4 [ab3,db4] ~@2 [ab3,c4]@3 [ab3,c4]", O: "~@3 [gb3,bb3]@3 db4@2 ~@6 f3 ab3",
P: "bb3 db4 eb4 ~ bb3@2 eb4 ~@2 db4 ~ f4@2 db4 ~ f4, ~@3 db4@2 ~@5 bb3@4 bb3@2",
Q: "~ c4@2 eb4@2 ~ c4 a3 ~@2 db4 ~@3 db4 bb3, ab3@4 ~ ab3@2 ~@2 bb3@2 bb3@2 bb3@2 ~, ~@6 f4 ~",
R: "[~@2 db4 ~@2 bb3 ~ bb3@2 ~@9 db4 ~ db4@2 ~ db4@2 bb3 db4 bb3@2 ~ gb3@2, ab3@11 ~ ab3@2 ab3@2 gb3@6 gb3@8 ~@2, ~@3 bb3@2 ~ db4@2 ~@2 bb3@2 ~@3 c4@2 bb3@4 ~ bb3@2 ~@8, ~@4 f4@2 ~@3 f4@2 db4@2 eb4@2 ~@14 db4@3]/2",
S: "ab3@2 ~ db4 ~@5 db4 ~@2 ab3@2 ~ ab3, ~ bb3!3 ab3@2 ~@2, ~@5 f4@2 db4@2 ~@2 eb4@2 ~ c4@2",
T: "[~@4 bb3 ~@3 bb3 ~ bb3 db4 ~ bb3 ~ bb3@6 ~@2 eb4 ab3@3 db4@2 eb4@6 ~@13, gb3@6 ~ db4@2 ~@39, ~ bb3 ~ bb3 ~@7 bb3 ~@12, ~@3 db4@2 ab4@2 ~@2 ab4@2 ~ ab4@2 f4@7 f4@2 ~@25]/3",
U: "[bb3,eb4] ~@2 [ab3,db4] ~ [ab3,db4]@3 [ab3,db4] ~@2 [ab3,db4] ~ [ab3,db4]@2 ~", // Eb5 Db5
V: "[ab3,c4] ~ [ab3,c4] ~@2 bb3 ~@2 [gb3,bb3] ~@2 [gb3,bb3] ~@2 [gb3,bb3] ~", // Ab Gb
W: "[ab3,a3,db4] ~@2 [ab3,db4] ~ [ab3,db4] ~@2 [ab3,db4] ~ [ab3,c4]@3 [ab3,c4] ~@2", // Amaj7 Db5 Ab
X: "[gb3,bb3]@3 [gb3,bb3] ~ [gb3,bb3] ~@2 [gb3,bb3] ~@2 [gb3,bb3] ~ [gb3,bb3] ~@2", // Gb
Y: "~@2 [bb3,db4] ~@2 [bb3,db4]@3 [bb3,db4] ~ [ab3,c4]@3 [ab3,c4] ~@2", // Bbm Ab
Z: "[gb3,bb3]@3 [gb3,bb3] ~@2 [gb3,bb3] ~@2 [gb3,bb3] ~@2 [gb3,bb3]@3 [gb3,bb3]", // Gb
AA: "~@2 [ab3,db4] ~@2 [ab3,db4] ~@2 [ab3,db4] ~ [ab3,c4]@3 [ab3,c4] ~@2", AB: "~@2 [f3,ab3]@3 ~ [gb3,bb3]@9 ~",
AC: "[~@12 ab3@2 c4 ~@8 [f4,ab4]@2 f4@2 eb4@3 ~@6 eb4 g4@3 ~@6 c4@2, ~@10 f3@5 eb4@7 ~@8 c4@4 ab3@8 ab3@4 ~@2, ~@17 [gb3,bb3]@14 ~ f3@14 ~@2, ~@35 c4@8 eb4@5, ~@37 f4 ~@2 g4@6 ~@2]/3", // Fm Gb
AD: "[~@10 ab4@3 db4@2 ~ f3@2 ~ eb4@2 f4@3 ~@6 c4@2, gb3@15 ~ ab3@5 [gb3,bb3]@11, ~@2 bb3@13 ~@17, ~@4 db4@7 ~@4 c4@2 ~ c4@2 ~@7 eb4@5, ~@7 f4@9 ~@8 g4@8]/2", // Gb
AE: "~@3 db4@2 f4@2 eb4@7 ~ eb4, gb3@3 ~@5, ~@2 bb3@3 ~@2 c4 ~@6 f4@2",
AF: "~@2 f4 ab4 bb4 ab4 ~ bb4 ab4 f4 bb4 ab4 f4 bb4 f4 ~, bb3 ~@3",
AG: "~ [bb4,eb5] ~ [bb4,eb5]!2 bb4 eb5 ~ [eb6,gb6,ab6,bb6] [bb5,db6,gb6] ab5 bb5@2 eb5 bb4 ~", // Eb5 Ebm Gb
AH: "~@2 [bb3,eb4] ~@2 eb4 ~@2 [bb3,eb4] ~ [ab3,db4]@3 [ab3,db4] ~@2", // Eb5 Db5
AI: "~@2 [gb3,bb3] ~@2 [gb3,bb3] ~@2 [gb3,bb3] ~@2 [gb3,bb3]@2 ~ [gb3,bb3] ~", // Gb
AJ: "~@2 [gb3,bb3] ~@7 bb3@3 [gb3,bb3] ~@2, ~@10 gb3 ~@5", // Gb
AK: "~@2 [gb3,bb3] ~@2 [gb3,bb3] ~@2 [gb3,bb3] ~@2 [gb3,bb3]@2 ~ [ab3,c4] ~", // Gb Ab
AL: "~@5 [bb3,db4] ~@2 [bb3,db4] ~ [ab3,c4]@3 [ab3,c4] ~@2", // Bbm Ab
AM: "[f3,ab3]@2 ~ [f3,ab3] ~@2 [gb3,bb3]@4 ~@2 gb3 ab3 bb3 db4", AN: "eb4@13 ~ bb3 db4, ~@13 ab3@2 ~",
AO: "eb4 ~ f4 eb4@10 ab3 bb3 db4", AP: "eb4@2 db4 bb3@11 ~ bb3", AQ: "db4@14 ab3 bb3",
AR: "db4 eb4 f4 eb4@11 bb3 db4", AS: "~ eb4 ~ bb3@10 ~ bb3 db4, ~ db4@6 ~",
AT: "db4@2 c4@6 [f3,ab3,c4,eb4]@2 [f3,ab3,c4,eb4]@2 [f3,ab3,c4,eb4] ~ [f3,ab3,c4,eb4] ~", // Fm7
AU: "[gb3,bb3,db4,f4]@2 [gb3,bb3,db4,f4]@2 [gb3,bb3,db4,f4]@2 [gb3,bb3,db4,f4] ~ [gb3,bb3,db6,eb6,gb6,ab6] [gb5,ab5,bb5] [eb6,gb6,ab6] bb5 [bb4,eb5] gb4 ab3!2", // Gbmaj7 Ebm7 Gb Ab7 Eb5
AV: "~@2 [bb3,eb4]!2 ~ [bb3,eb4] ~ [ab3,db4] ~@2 db4 [ab3,db4] ~ [ab3,db4]@2 [ab3,db4]", // Eb5 Db5
AW: "[ab3,c4]@2 [ab3,c4]!2 ~ [ab3,c4] ~@2 [gb3,bb3] ~ [gb3,bb3]@3 [gb3,bb3] ~@2", // Ab Gb
AX: "~@2 [ab3,db4]!2 ~ [ab3,db4]@3 [ab3,db4] ~ [ab3,c4]@3 [ab3,c4] ~@2", // Db5 Ab
// … 129 more lines
More by
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.