0:00/0:00
// Your Smiling Face — Taylor James
// 144 bpm, 4/4, key G# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 112 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(144/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.
// bass · electric bass finger · "bass"
const bass = note(`<
A B C D E F G H I J K L M N G O P Q K L R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AE AM AN AO AP AQ AR AS
AT AR AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BQ BY BZ CA CB BN CC
CD CE CF CG CH CI CJ CK BX CL CM CN CO CP CQ BW BX CR CS CT CU CV CW CX
>`.pickRestart({
A: "~@2 gb2@2 ab2 ~ a2 ~@3 bb2 ~@3 b2 ~", B: "b1@5 ~ b1 ~ b1@4 ~@2 b1 ~", C: "b1@4 ~@2 b1 ~ b1@4 ~@2 b1 ~",
D: "b2@4 ~@2 b2@3 ~ b2 ~@3 b2 ~", E: "b1@4 ~@2 b1 ~ b2@4 ~@2 b2 ~", F: "e2@5 ~ e2 ~ eb2@5 ~ eb2 ~",
G: "db2@5 ~ db2 ~ b1@4 ~@2 b1 ~", H: "a1@5 ~ a1 ~ ab1@5 ~ ab1 ~", I: "gb1@5 ~ b1@6 ~@2 d2 eb2",
J: "e2@4 ~@2 e2@8 eb2 ~", K: "db2@5 ~ db2@6 e2 ~ f2 ~", L: "gb2@4 ~@2 gb2 ~ gb2@4 ~@2 gb2 ~",
M: "b1@4 ~@2 b1@6 db2 ~ eb2 ~", N: "e2@4 ~@2 e2 ~ eb2@5 ~ eb2 ~", O: "a1@5 ~ a1 ~ ab1@4 ~@2 ab1 ~",
P: "gb1@5 ~ b1@6 d2 ~ eb2 ~", Q: "e2@4 ~@2 e2@6 ~@2 e2 ~", R: "b1@5 ~@2 b1 ~@2 c2@3 ~ c2 ~",
S: "db2@5 ~ db2 ~ ab2@5 ~ ab2 ~", T: "a2@5 ~ a2 ~ bb2@5 ~ bb2 ~", U: "b2@4 ~@2 b2 ~ c3@4 ~@2 c3 ~",
V: "db3@5 ~ db3 ~ b2@4 ~@2 b2 ~", W: "a2@6 a2@7 ~ a2 ~", X: "ab2@4 ~@2 ab2 ~ ab2@5 ~ ab2 ~",
Y: "gb2@5 ~ gb2 ~ ab2@4 ~@2 ab2 ~", Z: "a2@5 ~ a2@3 ~ a2 ~ db2 ~ c2 ~", AA: "b1@4 ~@2 b1 ~ b1@5 ~ b1@2",
AB: "ab1@4 ~@2 ab1 ~ ab1@4 ~@2 ab1 ~", AC: "db2@5 ~ db2 ~ db2@3 ~ db2 ~ ab1 ~", AD: "gb2@5 ~ gb2 ~ f2@5 ~ f2 ~",
AE: "eb2@5 ~ eb2 ~ db2@5 ~ db2 ~", AF: "b1@5 ~ b1 ~ bb1@5 ~ bb1 ~", AG: "ab1@4 ~@2 ab1 ~ db2@2 ab1 ~ e2 ~ f2 ~",
AH: "gb2@2 ~ gb2@3 f2@2", AI: "eb2@5 ~ eb2@6 bb1@2 a1 ~", AJ: "ab1@5 ~ ab1@5 ~ ab1@4",
AK: "db2@4 ~@2 db2 ~@3 db2@2 f2@2 db2 ~", AL: "gb2@4 ~@2 gb2 ~ f2@5 ~ f2 ~", AM: "b1@4 ~@2 b1 ~ bb1@4 ~@2 bb1 ~",
AN: "ab1@4 ~@2 ab1 ~@5 ab1 ~ f2@2, ~@4 db2@3 ~", AO: "gb2@5 ~ gb2 ~ gb2@4 f2 ~ e2@2",
AP: "eb2@4 ~@2 eb2 ~ eb2@4 bb1@2 a1 ~", AQ: "ab1@5 ~ ab1 ~ ab2@4 eb2@2 d2@2", AR: "db2@5 ~ db2@2 d2@5 ~ d2 ~",
AS: "eb2@4 ~@2 eb2 ~ bb2@5 ~ bb2 ~", AT: "b1@5 ~ b1 ~ c2@5 ~ c2@2", AU: "eb2@5 ~ eb2 ~ db2@4 ~@2 db2 ~",
AV: "b1@4 ~@2 b1 ~ b1@5 ~ b1 ~", AW: "bb1@5 ~ bb1 ~ bb1@5 ~ bb1@2", AX: "ab1@5 ~ ab1@3 ~ ab1@3 ~ ab1 ~",
AY: "ab1 ~ ab2 ~ bb2@2 b2 ~@3 c3 ~@3 db3 ~", AZ: "db2@5 ~ db2 ~ db2@5 ~ db2 ~", BA: "db2@5 ~ db2 ~ db2@4 ~@2 db2 ~",
BB: "db2@4 ~@2 db2 ~ db2@3 db2 ~@2 db2 ~", BC: "~@2 bb2 ~ c3 ~ db3 ~@3 d3 ~@3 eb3 ~",
BD: "eb2@5 ~ eb2 ~ eb2@4 ~@2 eb2 ~", BE: "eb2@4 ~@2 eb2 ~ eb2@4 ~@2 eb2 ~", BF: "ab2@5 ~ ab2 ~ g2@4 ~@2 g2 ~",
BG: "f2@4 ~@2 f2 ~ eb2@5 ~ eb2 ~", BH: "db2@4 ~@2 db2 ~ c2@5 ~ c2 ~", BI: "bb1@3 ~@3 bb1 ~ eb2@5 ~ eb2 ~",
BJ: "ab1@3 ab2@3 ab1 ab2", BK: "f2@5 ~ f2 ~ f1@4 f2@2 f1@2", BL: "bb1@6 bb2@5 ~ f2 ~ e2@2",
BM: "eb2@7 ~ f2@2 eb2 ~ c2 ~ bb1 ~", BN: "ab1@4 ~@2 ab1 ~ g2@5 ~ g2 ~", BO: "f2@5 ~ f2 ~ eb2@4 ~@2 eb2 ~",
BP: "db2@5 ~ db2 ~ c2@5 ~ c2 ~", BQ: "bb1@4 ~@2 bb1 ~ eb2@3 ~ bb1@2 eb2 ~", BR: "ab1@6 c2 ~ eb2@4 ab1@2 ab2 ~",
BS: "f2@5 ~ f2@2 f1@4 f2@2 b1@2", BT: "bb1@4 ~@2 bb1 ~ bb1@4 db2 ~ d2 ~",
BU: "eb2@5 ~ eb2@3 ~ [gb2,g2] ~ eb2 ~ [b1,c2] ~", BV: "ab2@5 ~ ab2 ~ g2@5 ~ g2 ~",
BW: "f2@4 c2 ~ f2 ~ eb2@4 b1 ~ eb2 ~", BX: "db2@4 a1 ~ db2 ~ c2@4 ~@2 c2 ~", BY: "ab1@6 ab2@6 ab1@2 ab2 ~",
BZ: "f2@5 ~ f2@2 c2@4 f2@2 b1@2", CA: "bb1@4 ~@2 bb1 ~ bb2@4 f2 ~ bb1 ~", CB: "eb2@7 ~ f2 ~ eb2 ~ c2 ~ bb1 ~",
CC: "f2@4 ~@2 f2 ~ eb2@4 ~@2 eb2 ~", CD: "db2@4 ~@2 db2 ~ c2@4 ~@2 c2 ~", CE: "bb1@4 ~@2 bb2 ~ eb2@4 bb1 ~ ab2 ~",
CF: "ab1@5 ~ ab2@4 eb2 ~ c2@2 e2@2", CG: "f2@6 f1@5 ~ f2 ~ b1@2", CH: "bb1@5 ~ f2 ~ bb2@3 ~ f2@2 b1 ~",
CI: "eb2@4 b1 ~@3 eb2 ~ eb2 ~ f2 ~ g2 ~", CJ: "ab2@4 c2 ~ ab2 ~ g2@4 c2 ~ g2 ~",
CK: "f2@4 c2 ~ f2 ~ eb2@4 [b1,c2] ~ eb2 ~", CL: "bb1@3 eb2@4 a1", CM: "ab1@4 ~@2 ab1 ~ ab2@3 ~ eb2 ~ e2 ~",
CN: "f2@3 f1@2 f2@2 b1", CO: "bb1@5 ~@5 b1 ~ f2 ~ e2 ~, ~@3 bb2@3 ~@2", CP: "eb2@4 ~@2 eb2 ~ f2@3 ~ g2@3 ~",
CQ: "ab2@3 ~ d2 ~ ab2 ~ g2@4 [c2,d2] ~ g2 ~", CR: "bb1@4 ~@2 bb1 ~ eb2@6 a1@2",
CS: "ab1@5 ~ ab2@4 ~@2 eb2 ~ e2@2, ~@11 ab1@2 ~@3", CT: "f2@4 ~@2 f2 ~ f1@3 ~ f2@2 b1@2",
CU: "bb1@6 ~@4 bb1 ~ f2@2 e2@2, ~@3 bb2@3 ~@2", CV: "eb2@6 bb2@8 bb1 ~", CW: "ab2 ~ c2 ~@3 db2 ~@3 d2 ~@3 eb2 ~",
CX: "ab1",
})).s("gm_electric_bass_finger").gain(0.54)
// chords · acoustic guitar steel · "guitar"
const acoustic_guitar_steel = 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@2 AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ@2 AR AS AT
AU AV@2 AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU@3 BV BW BX BY BZ CA CB CC CD CE CF
CG CH@2 CI CJ CK CL CM CN CO CP CI CJ CK CL CM CN CO CP CI CQ CR
>`.pickRestart({
A: "[e3,a3,db4]", B: "~@2 d4@2 eb4@2 gb4 ~@3 b4 ~ ab4 ~@3", C: "[db4,e4,a4]",
D: "~@3 e4@2 a4@2 b3, ~@2 [a3,db4]@9 ~@5", E: "~@4 [e3,ab3,b3,e4,ab4] ~@7 [eb4,gb4,b4] ~ e3 ~",
F: "~@4 b3 ~ db4@2 ~@2 b3 ~ [e4,ab4,b4] ~ [a3,b3] ~, [db4,e4]@3 ~@5", // E Asus2 Dbm
G: "db4@4 a3@2 db4@2 ~@2 b3 ~ [e4,ab4] ~ b3 ~, [e4,a4]@8 e3@5 ~@3", // E A5
H: "~@4 db4@2 a3@2 ~@4 gb3@2 a3 ~, [db4,gb4] ~ a4@2, ~ gb3@2 ~@5", // Gb5
I: "~@2 [b3,e4,ab4] ~ [b3,e4,ab4] ~ [ab3,a3,b3,e4,ab4] ~@3 [b3,e4,ab4] ~@3 [db3,b3,e4,ab4] ~", // E Dbm7
J: "~@2 ab3 ~ [db4,ab4]@2 b3@3 ~ b3@4 ~@2, e3@3 [e3,ab3,db4,ab4]@4 ~, [b3,db4,gb4] ~@3", // Db5 Dbm Bsus2
K: "[db3,a3,db4,e4,gb4]@2 [a3,e4,ab4] ~ [gb3,a3,db4,e4,ab4] ~ [gb3,a3,db4,e4,ab4] ~@3 [db4,e4,ab4] ~@3 [db4,e4,ab4] ~, ~@10 [db3,gb3]@3 ~@3", // Gbm7 Amaj7 Gbm7 Dbm Gb5
L: "[e4,gb4,b4]@2 a3@2 [e4,ab4] ~ gb3 ~ [a3,b3,e4] ~ eb3@2 a3@2 db4 ~, eb3@6 ~@4 a3 ~@5, a3 ~@9 [db4,gb4]@4 ~@2", // Esus2 E Asus2 Gb5
M: "e3@2 b3 ~ [e4,ab4] ~ b3 ~ b2 ~@3 [eb4,gb4] ~ a3 ~", N: "db3@5 ~ ab3 ~@3 b3 ~ [e4,ab4] ~@3, e4 ~, ab3@3 ~@13",
O: "[db4,e4]@4 a3@2 db4@2 [a3,b3] ~@3 [e4,ab4,b4]@2 b3 ~, a3 ~@7", // Dbm Asus2 E
P: "a3@4 gb3@2 [a3,db4] ~@3 b2@2 a3@2 db4 ~, [db4,a4]@3 ~@5, gb4 ~@7 a4@5 ~@3", // A Gbm
Q: "~@4 [e3,b3,gb4] ~ [e3,ab3,db4,gb4]@3 ~ [e3,ab3]@2 b3 ~ [db4,e4] ~, ~@5 [db4,e4,ab4]@2 ~, ~@10 b3 ~@5", // Esus2 Dbm E Dbm
R: "[e3,ab3,b3,db4,e4,gb4]@2 ~@2 [ab3,b3,e4,ab4]@2 ~@2 [e3,ab3,b3,db4]@4 b3 ~ db4 ~, ~@4 [e4,ab4] ~@3", // Dbm7 E Dbm7 E
S: "[gb3,gb4] ~ [db3,gb3,a3,db4] ~ [gb3,a3,db4,ab4] ~ [db3,gb3,a3,db4,ab4] ~@3 [db3,db4]@2 a3@2 db4 ~, ~@5 [gb3,ab4]@2 ~, ~@10 a3 ~@5", // Gb Gbm Db Gbsus2
T: "[a3,eb4,gb4,b4]@3 ~ [a3,eb4,ab4] ~ eb3 ~ [a3,e4]@2 ~@2 a3@3 ~, [eb3,gb3] ~ eb3 ~, ~@8 db4 ~ [c4,eb4,gb4]@5 ~", // B7 Ab A5 Ebm Cdim
U: "[db3,db4]@4 ab3@2 db4 ~ b3@2 ~@2 [b3,eb4]@2 ab3 ~, e4@3 e4@2 ab2@2 ~, ~@12 ab3 ~@3", // Db B
V: "[db4,e4,a4]@5 ~ [bb3,db4,g4]@8 e4 ~, ~@6 e4@7 ~@3", // A Gdim
W: "~@4 eb3 ~ a3 ~ [eb3,c4,eb4]@4 ~@2 c4 ~, [b3,e4,ab4]@7 ~ gb4@7 ~, ~@3 a3", // Cm E
X: "db3@2 e3 ~ ab3@2 db4 ~ gb3@3 ~ gb3 ~ eb4 ~, [db4,e4]@3 ~ [b3,eb4]@3 ~, ~@8 bb2 ~@7", // Dbm B
Y: "~@2 a3 ~ [db4,e4,a4] ~@3 a3 ~ e3@2 [db4,e4,a4] ~ a3 ~", // A
Z: "~@2 b3@2 [e4,ab4,b4] ~@7 [e4,ab4,b4] ~ b3 ~, e3@6 ~@4 ab3@5 ~", // E
AA: "~@4 db3 ~@3 [e3,ab3,b3]@4 b3 ~@3, [a3,db4,e4,a4]@6 ~@2 [e4,ab4]@7 ~", // E A E
AB: "[[e4,a4]@2 [e4,a4]@4 e3 e3@2 ~ a3@2 eb3@3 ~ a3@4 eb3@2 gb3@2 a3@2 eb4@2 gb4 ~ a3 ~, db4@6 a4@5 ~ b4@19 ~, ~@2 [e3,a3] ~@3 [a3,db4]@3 ~@7 eb3@2 ~@14, ~@7 e4@5 [eb4,gb4]@10 ~@10]/2", // A5 A Ebm
AC: "gb3@2 ~@2 gb3 ~ b3@4 gb3@2 b3 ~ eb4 ~, ab2@9 ~@7, [b3,eb4]@6 eb4@7 ~@3", // B
AD: "~@2 gb3@2 bb3@2 ~@4 db3@2 bb3 ~ db4 ~, [db3,gb4]@3 ~@5, db4@2 ~ [db4,f4]@3 ~@2", // Gb5 Db
AE: "[db3,bb3]@4 [gb3,bb3] ~ db4 ~ f3 ~ ab3 ~ [db4,f4,ab4] ~ ab3 ~, [db4,gb4,bb4]@3 ~@5, gb3 ~@15", // Gb Db Gb
AF: "eb3@4 [gb3,bb3] ~ eb4 ~ db4@4 bb3 ~ db4 ~, [eb4,gb4]@3 ~@5", // Gb Ebm
AG: "b2@2 gb3 ~ [eb4,gb4,b4] ~ gb3 ~ [db4,bb4]@4 [gb3,bb3]@2 ~@2, ~@8 gb4 ~@7", // B Gb
AH: "ab2@4 gb3@2 ~@4 a3 ~ f4 ~ db4 ~, [b3,eb4,ab4]@6 ab4@9 ~, ~@3 [db4,f4]@3 ~@2", // Abm Db
AI: "[gb3,db4]@4 bb3 ~ [bb3,db4,ab4] ~ [bb3,db4,gb4]@3 bb3 gb4 ~ [bb3,db4,gb4] ~, gb4@3 ~@5 gb3@7 ~", // Gb5 Bbm7 Gb
AJ: "[bb3,db4,gb4]@2 [bb3,eb4,ab4] ~@3 bb3@2 [eb4,gb4]@2 eb4@2 bb3@2 eb4 ~, ~@3 gb3@4 ~, ~@3 eb3@3 ~@2, ~@10 bb3 ~@5", // Gb Ebsus4 Ebm
AK: "ab2 ~ ab3 ~ [b3,eb4,bb4] ~@3 [b3,eb4]@2 ab3@2 b3 ~ gb4 ~, ~@6 ab2@5 ~@5, ~@8 ab3 ~@7", // Bmaj7 B
AL: "[db4,gb4]@4 db4@2 ~@6 bb3@2 db4 ~, db3@3 [db4,f4]@3 ~@2, ~@5 db3@2 ~", // Gb5 Db
AM: "[db4,gb4,bb4]@4 bb3 ~ db4 ~@5 ab3 ~ db4 ~, gb3@3 ~@5 [db4,f4]@6 ~@2, ~@2 db3 ~, ~@10 ab4@5 ~", // Gb Db
AN: "[eb3,db4]@4 bb3@2 db4 ~@5 db4@2 f4 ~, gb4 ~@7 f3@6 ~@2, ~@2 db4 ~, ~@10 ab3@5 ~", // Eb7
AO: "[b2,eb4]@4 gb3 ~ eb4 ~ [gb3,db4,gb4,bb4]@4 [a3,bb3] ~ b3 ~, gb4@7 ~ bb3 ~@7", // B Gb Bbmaj7
AP: "[ab2,b3]@2 gb3@2 ~@6 ab3@2 db4@2 [ab3,f4] ~, [eb4,ab4]@3 f3@4 ~, ~@3 [db4,f4]@3 ~@2", // Abm Db Ab5 Db
AQ: "[[bb3,db4,bb4]@4 ~@2 [bb3,db4,ab4] ~ [bb3,db4,ab4]@2 ~@2 bb3 ~ [gb3,eb4,gb4]@3 ~ gb3@2 ~@2 gb3@4 bb3@2 gb4 ~ bb3 ~, db3@3 ~ [db3,gb3]@2 ~ eb3@8 ~, gb3@2 ~@12 bb3@7 ~@11, ~@18 [eb4,ab4]@9 ~@5]/2", // Bbm Bbm7 Ebm Gb5 Ab5
AR: "[b3,eb4,bb4]@2 ~ [b3,eb4]@2 ab3 ~@2, ab2@5 ~@3, ab3 ~ ab3@2 ~@4, ~@6 ab4@7 ~@3, ~@6 gb4 ~@9", // Bmaj7 B
AS: "~@2 [b3,gb4,ab4] ~ [gb3,b3,gb4,ab4]@2 ab4 [b3,gb4] ~@3 [b3,d4,f4]@5, ~@10 ab4@5 ~", // Abm7 B5 Bdim
AT: "bb3@2 ~@2 bb3@2 db4 ~ bb3@2 bb2 ~ bb3 ~ db4 ~, [eb3,gb3,eb4,gb4]@6 ~@2 [f4,bb4]@7 ~, ~@8 db4@5 ~@3", // Ebm Bb5
AU: "eb3@4 gb3@2 eb4 ~ [eb3,gb3]@4 a3@4, [eb4,gb4,b4]@6 ~@2 c5@7 ~, gb3 ~@7 a3@2 ~@6", // Ebm B
AV: "[bb3 ~@3 bb3@2 db5 ~ [b3,d5]@4 [g3,ab3] ~@7 bb3@2 db4@2 [f3,db4,f4]@4 ab3@2 db4 ~, [db3,gb3,db5]@3 ~ f3@3 ~ [eb3,db4,bb4]@3 ~@5, ~@4 ab3 ~@2 b3@2 gb3@2 ~@5, ~@4 gb4 ~@3]/2", // Bm Abmaj7 Db Gb5 Eb7
AW: "[eb4,gb4,b4]@3 ~@3 [eb4,gb4,b4] ~@3 [eb4,gb4]@3 ~ eb4 ~, ~@5 b4@2 ~", // B Ebm
AX: "[db4,gb4,bb4]@5 ~ [db4,bb4] ~@3 [db4,gb4,bb4]@2 a3 ~ b3 ~", // Gb
AY: "[b3,eb4,ab4]@5 ~@7 b3@2 eb4 ~, ab2@7 ~, ab3@8 ~@2 ab3@5 ~, gb4 ~@5 ab4@8 ~@2, ~@3 [b3,eb4]@3 ~@2", // Abm B
AZ: "ab2 ~ ab3 ~ bb3@2 b3 ~@3 c4 ~@3 db4 ~", BA: "[eb3,gb3,b3,eb4,gb4,b4,db5]",
BB: "~@2 e3@2 f3@2 ab3 ~@3 db4 ~@3 bb3 ~", BC: "[b3,eb4,gb4,b4]@15 ~", BD: "ab3 ~ bb3 ~ c4 ~ db4 ~@3 d4 ~@3 eb4 ~",
BE: "[eb3,db4,f4,ab4]@5 ~ [eb3,db4,f4,ab4] ~ [eb3,db4,f4,ab4]@5 ~ [eb3,db4,f4] ~", // Db
BF: "~@2 [gb3,gb4]@2 [g3,g4]@2 [bb3,bb4] ~@3 [eb3,eb4]@5 ~", // Gb G Bb Eb
BG: "~@4 [c4,eb4,ab4] ~ ab3 ~ eb3@3 ~ [eb4,g4,bb4] ~ bb3 ~", // Ab Eb
BH: "~@4 f3@2 [ab3,c4]@2 ab2 ~ ab3 ~ [c4,eb4,gb4,ab4] ~ ab3 ~, ab4 ~, [c4,eb4]@3 ~@5", // Ab Ab7 Cm
BI: "f3@4 ab3@2 db4 ~ [c4,eb4]@4 c3 ~ c4 ~, [db4,f4]@3 ~ ab4@4, ~@4 c3 ~@3, ~@8 b3 ~@7", // Cm Db
BJ: "f3@2 ab3 ~ [db4,f4,bb4] ~ ab3 ~ db3 ~ [db4,f4,ab4]@3 ~ db4 ~", // Bbm Db
BK: "[eb3,c4,eb4,g4,bb4] ~ [eb3,c4,eb4,ab4,c5] ~ [ab4,c5] ~ [ab4,c5] ~@3 [eb3,ab3,ab4,c5] ~@3 [ab4,c5] ~", // Cm7 Ab
BL: "[f3,ab3,eb4,ab4,bb4]@3 ~ [f3,ab3,eb4,ab4,c5]@3 ~ [ab3,eb4,ab4,c5]@4 f3 ~ ab3 ~, ~@4 f3 ~@3", // Fm7 Ab
BM: "ab4 a4 [ab3,db4,c5] ~ [bb2,f3,ab3,db4,c5] ~ [db4,c5] [bb2,f3,ab3] ~@2 [bb2,f3,ab3,db4,c5]@2 ab3 ~@3, [bb2,f3,ab3,db4]@3 ~@13", // Dbmaj7 Bbm7 Dbmaj7 Bb7 Bbm7
BN: "[eb3,g3,bb3,db4,eb5] ~@3 [eb3,bb3,db4,c5] ~ bb3 ~ bb4 ~ c5 ~ bb3 ~ c4 ~, ~@7 g3@5 ~@4", // Eb7
BO: "eb3 ~ ab3 ~ [c4,eb4,gb4,ab4,bb4] ~ ab3 ~ eb3@4 [eb4,g4] ~ bb3 ~", // Cm7b5 Eb
BP: "c4@4 ab3 ~ c4@2 eb3@2 ab3 ~ [c4,eb4,gb4,ab4] ~ ab3 ~, f4@7 ~@9, ab3 ~@15", // Ab7
BQ: "f3@4 [ab3,a3] ~@5 eb3@2 ab3@2 c4 ~, [db4,f4]@6 [eb4,ab4]@9 ~, ~@3 c4@3 ~@2", // Amaj7 Db Ab5
BR: "[f3,db4,f4]@4 ~@2 db4 ~@5 db4@2 f4 ~, ab3 ~ ab3@2 [db4,f4,ab4]@2 ~@2, ~@10 eb3@5 ~", // Db
BS: "[c4,eb4,ab4] ~ [eb3,c4,c5] ~ [eb3,ab3,c4,c5] ~ [eb3,ab3,c4,c5] ~@3 [eb3,c4,c5]@4 [ab3,c4] ~, ~@10 ab3 ~@5", // Ab Cm Ab Cm Ab
BT: "[f3,ab3,bb4]@3 ~ [f3,ab3,c5]@3 ~ f3@4 ab3@2 ~@2, ~@8 c5@7 ~, ~@4 ab3 ~@3", // Bb7 Fm
BU: "[[bb2,f3,ab3,bb4]@2 c5 ~ [f3,c5] ~ [bb2,f3,ab3,c5] ~@3 [bb2,f3,c5]@2 ~@2 c5 ~ [eb3,g3,eb5]@4 [db4,c5] ~ [gb3,g3] ~ bb4 ~ eb3@4 g3 ~ eb3 ~@3 [c4,eb4,gb4,ab4] ~ ab3 ~ eb3@4 g3 ~ c4 ~, ~@10 ab3 ~ ab3@23 ~@5 eb4@6 ~@2, ~@16 db5 ~@9 c5@2 ~@12 g4@8]/3", // Bb7 F5 Fm Bbsus2 Eb Dbmaj7 Gmaj7 Ab7
BV: "f3@3 ~ ab3 ~ c4 ~ [eb3,c4]@4 ab3@2 c4 ~, [c4,f4]@7 ~ eb4@7 ~, ab3 ~@15", // Cm F5
BW: "f3@4 ab3 ~ db4@2 eb3@3 ~ ab3@2 c4 ~, [db4,f4]@3 ~ [c4,eb4]@3 ~, ab3 ~@7", // Db Cm
BX: "[f3,db4]@4 ~@2 db4 ~ [db4,f4,ab4]@4 eb3@2 ~@2, ab3@2 ~@2 ab3@4 eb3@3 ~@5", // Db
BY: "[ab3,db4,bb4]@2 [eb3,c5] ~ [eb3,eb4,c5] ~ [eb3,ab3,eb4,ab4,c5] ~@3 eb3@2 ab3@2 eb4 ~, ~@5 [eb4,c5]@2 ~, ~@10 ab4 ~@5", // Bbm7 Cm Ab Cm
BZ: "[f3,ab3,eb4,bb4]@3 ~ [f3,ab3,c5]@3 ~ f3@4 ab3@2 eb4 ~, ~@4 [eb4,c5]@3 ~, ~@4 ab3 ~@3", // Fm7 Fm Cm
CA: "[bb2,f3,bb4]@2 [ab3,c5] ~ [bb2,f3,ab3,c5] ~ [ab3,c5]@4 ~@2 ab3@2 f4 ~, ab3 ~@5 [bb2,f3]@6 ~@4, ~@5 c5@2 ~", // Bb5 Ab Fm Ab Bb5
CB: "[eb3,g3,bb3,db4]@4 c5 ~ db4 ~ [db4,ab4]@2 bb4@2 [g3,bb3] ~ c4 ~, eb5@3 ~@5 eb3@4 ~@4, ~@8 g3 ~@7", // Eb7 Db5 Gm
CC: "eb3 ~ ab3 ~ [c4,eb4,gb4,ab4] ~ ab3 ~@7 bb3 ~, ~@3 [eb4,g4]", // Ab7 Eb
CD: "~@2 ab3 ~ [c4,f4] ~ f3 ~@3 eb3@2 ab3@2 c4 ~, ~@5 [c4,eb4]@2 ~", // F5 Cm
CE: "f3@2 ab3 ~ [db4,f4,ab4] ~ [f3,gb3] ~ c4@2 ~@2 [c4,eb4,ab4]@2 ab3@2, ~@5 eb3@2 ~", // Db Gbmaj7 Ab
CF: "f3@3 ~@3 db4 ~ [db4,f4,ab4]@4 eb3@2 db4 ~, [db4,f4]@3 ~@5, ~@4 ab3@4 eb3@3 ~@5", // Db
CG: "[db3,db4,bb4] ~ [eb4,c5] ~ [gb3,eb4,c5] ~ [eb4,c5]@3 ~@3 ab3@2 eb4 ~, ~@6 gb3 ~@3 [eb4,c5]@4 ~@2", // Gb Cm Cdim Cm
CH: "[[f3,ab3,bb4]@3 ~ [f3,ab3,c5]@3 ~ [f3,ab3]@3 ~ ab3@2 ~@2 [db4,f4,bb4] ~ c5 ~ [db4,f4,c5] ~ [ab3,db4,f4,c5]@3 ~ [db4,f4,c5] ~ ab3 ~@3, ~@8 c5@6 ~ bb2@4 ~@13, ~@8 [f3,ab3] ~@2 f3@3 ~@2]/2", // Bb7 Fm Bbm Dbmaj7 Fm
CI: "[db4,eb5] ~@3 c5 ~ db4 ~ bb4 ~ [eb3,g3,c5]@2 bb3 ~ c4 ~, [eb3,g3]@3 ~@5", // Dbsus2 Cm Eb
CJ: "eb3 ~ ab3 ~ [c4,eb4,gb4,ab4] ~ ab3 ~@2 g3 ~@2 bb3 ~ c4 ~, ~ g4, ~@4 eb4@3 ~, ~@8 eb3@3 ~@5", // Ab7
CK: "c4@4 ab3 ~ c4 ~ eb3@4 ab3@2 c4@2, f4 ~, f3@3 ~@5 ab3@2 ~@6, ab3 ~@7 [c4,eb4]@6 ~@2", // Cm
CL: "~@4 [db4,f4,ab4] ~ ab3 ~ c4@2 eb3@2 ab3@2 c4 ~, db3@5 ~@11, ~ f3@2 ~ [eb4,ab4]@3 ~", // Db Ab5
CM: "[ab3,db4,bb4]@4 f3@2 ~ ab3@3 [db4,f4]@2 eb3@2 [ab3,db4] ~, [f3,f4] ~@5 [db4,f4,ab4]@3 ~ ab4 ~@5", // Bbm7 Db Db5 F Db
CN: "bb4 ~ [eb3,ab3,db4,c5] ~ [eb3,ab3,eb4,c5] ~ [ab3,eb4]@4 [eb4,ab4,c5]@2 ab3@2 eb4 ~, ~@3 eb3@3 ~@2, ~@3 [ab4,c5] ~@4", // Ab Ab5 Ab
CO: "[f3,ab3]@4 c5@2 b4 ~@3 f3@4 ab3 ~, bb4@3 ~@3 c5@7 ~@3", // Fm
CP: "[bb2,f3,ab3]@2 c5 ~ [db4,f4,c5] ~ [ab3,db4,f4,c5]@3 ~ [db4,f4,c5] ~ ab3 ~@3, [db4,f4,bb4] ~@5 f3@6 ~@4", // Bb7 Dbmaj7 Bbm
CQ: "ab3@2 c4 ~@3 db4 ~@3 d4 ~@3 eb4 ~", CR: "[ab2,eb3,g3,c4,f4,bb4]",
})).s("gm_acoustic_guitar_steel").gain(0.43)
// chords · acoustic guitar steel · "guitar" · soft notes
const acoustic_guitar_steel_2 = note(`<
~@6 A ~@3 B C D ~@2 E F G ~ H ~@3 I J K L M ~@2 N O ~ P ~@2 Q R S T U V W X Y Z AA ~@18 AB AC ~@2 AD ~ AE ~ AF AG ~ AH
AI ~@2 AJ AK AL ~@2 AM AN AO AP ~ AQ ~ AR AS ~@3 AT AU ~ AR AS ~@3 AT AU ~ AR AS ~@2
>`.pickRestart({
A: "~@4 ab3 ~@4 e3 ~@6", B: "~@2 [ab3,b3] ~@5", C: "gb3 ~@7", D: "gb3@2 ~@3 gb3 ~@2", E: "~ e3@2 ~@13",
F: "~@3 gb4@3 ~@10", G: "~@4 db4 ~@11", H: "[db3,a3,db4] ~ ab4 ~ db3 ~@11", I: "~@6 gb3 ~@9", J: "~@9 b2@3 ~@4",
K: "e3 ~@7", L: "~@9 b3 ~@6", M: "~@12 ab3 ~@3", N: "~@8 gb3 ~@7", O: "bb3 ~@15", P: "~@2 db3 ~, ~@6 gb4@7 ~@3",
Q: "bb3@2 db3@2 ~@8 db4 ~@3, ~@4 db3@3 ~", R: "gb3@2 eb3 ~@7 ab4@3 eb3 ~@2", S: "~@2 ab2 ~@13",
T: "~@2 bb3 ~ bb3@2 ~@10", U: "~@4 gb3 ~@11", V: "~ gb4@2 ~@5", W: "~@4 eb3 ~@7 gb3 ~@3", X: "~ gb3 ~@14",
Y: "gb4 ~ gb4@2 gb3@2 ~@4 [db4,gb4] ~@5", Z: "~@5 gb3@2 ~", AA: "~@14 db4 ~", AB: "~@2 f3@3 ~@11", AC: "~@2 ab3 ~@13",
AD: "~@7 bb3@2 eb3@3 ~@4", AE: "~@2 f3 ~@13", AF: "bb2 ~@3", AG: "ab3 ~ ab3 ~@13", AH: "~@4 ab3 ~@11",
AI: "~@4 bb3 ~@11", AJ: "~@4 f3 ~@11", AK: "bb2@4 ~@10 db4 ~", AL: "~@4 ab3 ~@5 ab3 ~@5", AM: "~@8 bb3 ~ g3@3 ~@3",
AN: "~@8 eb3@2 bb3 ~@5", AO: "~ f3@2 ~@13", AP: "~@4 ab3 ~@3", AQ: "~@2 gb3 ~@13", AR: "~@2 db4 ~@13",
AS: "~ e5 ~@4 bb3 ~@9, bb3@5 ~@11", AT: "bb2@2 ~@4 ab4 ~", AU: "eb3 ~@11 eb3@2 ~@2",
})).s("gm_acoustic_guitar_steel").gain(0.21)
// drums · kick
const kick = s("bd").struct(`<
~ A B A B A B A B A B A B A B A C A B A B A B A B A B A B A B A D A B A B A B A B A B A B A B A C A B A B A B A B A B
A B A B A D A B A B A B A B A B A B A B A C A B A B A B A B A B A B A B A D A B A B A B A B A B A B A E F
>`.pickRestart({
A: "x ~@3 x!2 ~@2", B: "x ~@2 x ~ x ~@2", C: "x ~@2 x ~@4", D: "x ~@2 x ~ x ~ x", E: "x", F: "x ~@11 x!4",
})).gain(0.61)
// drums · snare
const snare = s("sd").struct(`<
~ A@3 B A@3 C A@3 D A@3 E A@3 F A@3 G A@3 F A@7 B A@3 C A@3 D A@3 E A@3 F A@3 G A@3 F A@7 B A@3 C A@3 D A@3 E A@3 F
A@3 G A@3 F A@7 B A@3 C A@3 D A H I
>`.pickRestart({
A: "~ x ~ x", B: "~@4 x ~@7 x ~@2 x", C: "~@4 x ~@7 x!4", D: "~@2 x ~@3 x!2", E: "~@4 x ~@3 x!3 ~@5",
F: "~@4 x ~@7 x!2 ~ x", G: "~@4 x!3 ~@9", H: "~ x ~ x ~ x ~ x", I: "x!5 ~@11",
})).gain(0.61)
// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
~@4 A ~@3 B ~@23 C ~@3 A ~@3 B ~@23 C ~@3 A ~@3 B ~@23 C ~@3 A ~@3 B ~@7
>`.pickRestart({
A: "~@7 x", B: "~@5 x ~@10", C: "~@2 x!2 ~@12",
})).gain(0.2)
// drums · low tom
const low_tom = s("lt").struct(`<
~@8 A ~@7 B ~@7 C ~@7 D ~@7 A ~@7 B ~@7 C ~@7 D ~@7 A ~@7 B ~@7 C ~@7 D ~@7 A ~@6 E
>`.pickRestart({
A: "~@7 x", B: "~@13 x!2 ~", C: "~@12 x!4", D: "~@5 x ~@2", E: "~@8 x!4 ~@4",
})).gain(0.54)
// drums · hihat
const hihat = s("hh").struct("<~ [x!8]!109 ~@2>").gain(0.48)
// … 16 more lines
More by James Taylor
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.