0:00/0:00
// Glory Of Love — Peter Cetera
// 71 bpm, 4/4, key F minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 29, 4/4 at bar 30, 2/4 at bar 47, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 81 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): Overdriven Guitar.
setcpm(71/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
const piano = note(`<
A B C D E F G H I J K@2 L@2 M N O P Q@2 R S T U V W X Y@5 Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS
AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK@8 BL@2 BM ~
>`.pickRestart({
A: "e4@2 [e4,c5] [f4,d5] [g4,e5]@6 c4 [d4,e4] f4@2 e4@2, [c2,c3,g3]@3 [a1,a2,a3,c4], c4@5 ~@3", // C Dm C Dsus2 C5 Am
B: "~@6 c5 f5 d5@7 g2, [bb1,bb2,f3,bb3,d4]@15 ~, ~@5 f4@3 ~@8", // Bb
C: "e4@2 [e4,c5] [f4,d5] [g4,e5]@6 c4 [d4,e4] f4@2 ~ f4, [c2,c3,g3]@3 [a2,a3,c4], c4@5 ~@2 e4", // C Dm C Dsus2 C5 Am
D: "~@6 c5 f5 ~@6 bb3@2, [bb2,f3,d4]@15 ~, bb3@3 ~, ~@5 f4@3 d5@8", // Bb
E: "[g3,c4,e4]@12 ~@3 g4, c3@11 ~ c3@4, ~@13 g3@2 ~, ~@7 c4", F: "[b3,d4,g4]@12 ~@2 g4 d4, g2@5 ~ g2@2, ~@13 g3@2 ~",
G: "[c3,g3,c4,e4] [f2,a3,c4,f4]", H: "g2@4 ~@4 [b3,d4]@5 d4 g4 d4, [g3,c4,e4] g3, ~ g2@3",
I: "~@2 g3 ~ [f2,f4]@2 ~ f4, [c3,c4,e4] [a3,c4], ~@3 f2", // F C Am
J: "[bb3,d4]@5 ~ bb3 d4 eb4@4 d4@2 bb3@2, bb2 eb2, f3@4 ~ f3@2 ~ [g3,bb3]@6 ~@2", // Bb Gm
K: "[[eb3,ab3,c4]@2 [eb3,ab3,c4]@2 [eb3,ab3,bb3]@2 [eb3,ab3,bb3]@2 [eb3,ab3,c4]@2 [eb3,ab3,c4]@2 [eb3,ab3,bb3]@2 ab3 g2, ab2@12 ab2@3 ~, ~@7 [eb3,bb3]]/2", // Ab Ebsus4 Ab Ebsus4 Eb5
L: "[[c3,g3]@8 ~@2 g3@2 ~@2 c4 e4 [b3,d4]@12 d4 b3 g3 f3, e4@13 g3@15 ~@4, c4@3 c3 g2@4, ~@8 c2@7 ~@17]/2", // C5 Bm
M: "~ e2 [a3,c4,f4]!2, [g3,c4,e4] a2", N: "[g3,c4,e4]@4 [g3,c4,e4]@3 ~ [g3,b3]@4 g3 ~ g3 b3, g2, ~@4 d4@3 ~",
O: "[g3,c4]@6 g3 c4 [a3,f4]@6 f4@2, [c3,e4] [a2,c4]", // C5 Dm C Am
P: "[f3,bb3]@4 ~@2 f3 bb3 eb4@4 d4@2 [g3,bb3] ~, [d2,d4] g2, ~@4 [g3,bb3]@3 ~", // Bb5 Gm D Gm
Q: "[[ab3,c4]@2 ~@2 [f3,bb3,d4]@2 ~@2 [ab3,c4,eb4]@2 ~@2 [bb3,d4,f4]@2 ~ ab2, ab2@6 ab2@7 ~ ab2@7 ~ ab2@7 ~@3, ~ [eb3,ab3,c4] ~ [f3,bb3,d4] ~ [ab3,c4,eb4] ~ [bb3,d4,f4]]/2", // Ab Bb Ab Bb Ab Bb Ab Bb
R: "[g3,c4,e4]@3 ~@3 c3@2 [a3,c4,f4]@4 [a3,c4,f4]@3 ~, c3 [g3,c4,e4] f2@2", // C F C
S: "[c4,d4,g4]@3 ~@3 e2@2 [c4,d4,g4]@3 ~ [b3,d4,g4]@2 g4 f4, e2@2 [c4,d4,g4]@2 g2@2 ~ g2", // Csus2 G Csus2
T: "[g3,c4,e4]@3 ~ [g3,c4,e4]@4 [a3,c4,f4]@4 [a3,c4,f4]@4, c3@8 a2@7 ~", // C F
U: "[a3,c4,e4]@4 [f3,c4,e4]@4 g4 d4@2 c4 b3 c4 d4@2, d2@4 [g2,b3]@2 g2 ~", // Am Fmaj7 G
V: "[g3,c4,e4]@3 ~ [g3,c4,e4]@4 [g3,c4,e4]@3 ~ [f3,a3,e4]@2 d2@2, a2@2 d2 ~", // C Fmaj7
W: "[g3,c4,e4]@3 ~ [g3,c4,e4]@2 e2@2 [ab2,ab3,c4,e4]@4 [ab2,ab3,b3,d4]@2 ab2@2, e2 ~@3", // C Abaug Abdim
X: "[a2,g3,c4,e4]@4 [g3,c4,e4]@2 a2@2 [a3,c4,e4]@3 ~ [a3,c4,e4]@2 d3@2, ~@2 d3 ~", // Am7 C Am
Y: "[[g3,c4,d4]@3 ~ [g3,c4,d4]@4 e4@2 [e4,c5] [f4,d5] [g4,e5]@6 c4 [d4,e4] f4@2 e4@2 ~@6 c5 f5 d5@6 bb4@2 [c4,e4,g4]@4 [c4,e4,g4]@4 [c4,e4,g4]@3 ~ [c4,e4,g4] g3 c4 ~ [b3,d4]@4 [b3,d4,g4]@4 [b3,d4,g4]@4 ~ d4 [f2,b3]@2 [g3,c4,e4]@3 ~ [g3,c4,e4]@2 e2@2, g2@8 [c2,g3]@12 [a2,a3,c4]@4 [bb2,f3,bb3,d4]@15 ~ c3@16 g2@14 ~@10, ~@8 c4@10 ~@11 f4@3 ~@23 g4@5 ~@8 g4@4 ~@8]/5", // Gsus4 C Dm C Dsus2 C Bm G …
Z: "[f2,c4]@4 ~@2 f2@2 [g3,c4,e4]@3 ~ [g3,c4,e4]@2 g2@2, [a3,f4]@3 ~ [a3,c4,f4]@4 g2@4 ~@4, e4 ~@15", // F5 C Dm F
AA: "[g3,b3,d4]@3 ~@3 d2@2 [g3,c4,e4]@4 [g3,c4,e4]@3 ~, g2@3 ~ e2@4, ~ [g3,b3,d4] ~@2", // G C G
AB: "[a2,a3,c4,f4]@4 [a3,c4,f4]@2 a2@2 [f3,bb3,d4]@4 [f3,bb3,d4]@2 bb2 bb1", // F Bb
AC: "[g2,g3,bb3,eb4]@2 ~ g2 [ab2,ab3,c4] ~ [ab3,c4] ab2, ~@2 [g3,bb3,eb4]@2 ~ ab1@2 ~", // Eb Ab Eb
AD: "[ab1,f3,bb3,d4]@2 ~@3 ab2 ab1 ~@3 ab2@2 [ab3,c4,eb4]@2 ab1@2, ~@2 ab2@2 ~@3 ab1@3 ~@6, ~@3 [f3,bb3,d4]@4 ~ [ab3,c4,eb4]@4 ~@4", // Bb7 Ab Bb Ab
AE: "~@2 ab2 ab1@2 ~ ab2 ~ [g3,c4,e4]@3 ~ [g3,c4,e4]@4, [bb3,d4,f4]@4 ~ [bb3,d4,f4]@3 c3@8", // C Bb
AF: "[a3,c4,f4]!2 [g3,c4,d4,g4]!2, f2 ~", // F Gsus4
AG: "[g2,d4,g4]@4 [g3,b3,d4,g4]@2 g2@2 [g3,c4,e4]@3 ~ [g3,c4,e4]@2 ~ g3, [g3,c4]@3 ~@5 c3@4 ~@2 c3@2", // G5 G C C5
AH: "[a3,c4,f4]@3 ~@3 a2@2 [a3,c4,e4]@3 ~@3 d2@2, a2 [a3,c4,f4] d2 [a3,c4,e4]", // F Am F Am
AI: "[g2,d4]@4 b3 c4 ~ g2 [a2,c4]@4 [g3,c4,e4]@2 a2@2, [g3,b3]@3 ~@3 [b3,d4]@2 [g3,e4]@3 ~@5", // G5 Am C G Bm C
AJ: "[d2,e4]@2 [f3,a3,c4,e4] d2 [e2,c4]@2 [g3,c4,e4] e2, [f3,a3]@3 ~@5 [g3,e4]@3 ~@5", // Dsus2 Fmaj7 C F C
AK: "[ab2,ab3,e4]@2 ~ ab2 [a2,g3,c4,e4]@2 ~ a2, ~ [b3,d4] ~ [g3,c4,e4]", // Dbm Am7 Bm C
AL: "[f3,a3,e4]@3 ~ [f3,a3,d4]@2 d2@2 [g2,g3,c4,d4]@4 [g3,c4,d4]@2 g2@2, d2 ~@3", // Fmaj7 Dm Gsus4
AM: "[c3,c4]@4 ~@2 c3@2 [c2,a3,c4,f4]@2 c3 ~@2 c3 c2@2, [g3,e4]@3 ~ [g3,c4,e4]@4 ~@3 [g3,c4,e4]@5", // C F C
AN: "[ab3,c4]@3 ~ [ab3,c4]@3 g2 [ab3,c4,f4]@3 ~ [ab3,c4,f4]@2 bb2 c3, f2@3 ~ ab2@3 ~, ~@2 f3 ~@5", // Ab Fm
AO: "[d3,f3,bb3,d4]@4 [bb2,f3,bb3,d4]@4 [eb2,g3,bb3,eb4]@4 eb4 d4 c4@2, ~@12 [eb2,g3,bb3]@3 ~", // Bb Eb
AP: "[f3,ab3,c4]@4 [f3,ab3,c4]@3 g2 [ab3,c4]@3 ~ [ab3,c4,f4]@2 bb2@2, f2@7 ~ ab2@6 ~@2", // Fm Ab Fm
AQ: "[c2,g3,c4,eb4] [eb2,g3,c4,eb4] [f2,ab3,c4,f4] [f1,ab3,c4,f4]", // Cm Fm
AR: "[bb2,f3,bb3,d4]@4 [bb1,f3,bb3,d4]@4 [g3,bb3,eb4]@4 [g3,bb3,eb4]@3 eb2, ~@8 eb2@7 ~", // Bb Eb
AS: "[f3,bb3,d4]@4 [f3,bb3,d4]@3 ~ [f3,bb3,c4]@4 [f3,a3,c4]@3 a2, d2@8 f2@7 ~", // Bb Fsus4 F
AT: "[f3,bb3,d4]!2 [g3,bb3,eb4]!2, bb2@7 ~ g2@7 ~", // Bb Eb
AU: "[g3,c4,eb4]@4 [g3,c4,eb4]@4 [ab2,c4]@4 ~ ab1 ab2@2, c2@7 ~ [ab3,eb4]@3 ~ [ab3,c4,eb4]@4", // Cm Ab Ab5 Ab
AV: "[ab3,db4,f4]@3 ~ [ab3,db4,f4]@4 [bb3,db4,gb4]@4 [bb3,db4,gb4]@4, db2 gb2", // Db Gb
AW: "[ab3,db4,eb4]@2 [ab3,db4,eb4,ab4]@2 [ab2,db4,eb4,ab4]@2 [ab3,c4,eb4] ab2", // Absus4 Ab
AX: "[ab3,db4,f4]@3 ~ [ab3,db4,f4]@2 ~ ab3 [bb3,db4,gb4]@3 ~@3 bb2@2, db3@2 ~ c3 bb2@2 [bb3,db4,gb4]@2", // Db Gb
AY: "[bb3,db4,f4]@3 ~@3 eb2@2 [ab2,eb4]@4 c4 db4 [ab2,c4,eb4]@2, eb2@4 [bb3,db4,f4]@4 [ab3,c4]@3 ~@3 db4 ~", // Bbm Ab5 Ab Bbm Ab
AZ: "[bb2,db4]@2 [ab3,db4,f4] bb2 [eb2,f4]@2 [gb3,bb3,db4,f4] eb2, [ab3,f4]@3 ~@5 [gb3,bb3]@3 ~@5", // Bbm Db Ebsus2 Gbmaj7 Db Gb
BA: "[f2,db4]@2 [ab3,db4,f4] f2 [a2,a3,f4]@2 ~ a2, [ab3,f4]@3 ~@9 [a3,eb4]@4", // Db Dm Db Adim
BB: "[bb2,ab3,db4,f4]@4 ~@2 bb2@2 [gb3,bb3,f4]@3 ~ [gb3,bb3,eb4]@2 eb2@2, ~ [ab3,db4,f4] eb2 ~", // Bbm7 Gbmaj7 Ebm Db
BC: "[ab2,ab3,db4,eb4]@2 [ab3,db4,eb4] ab2 [db2,db4]@2 ~ db2, bb3 ~@7 [ab3,f4]@3 ~ [ab3,db4,f4]@4", // Absus4 Db
BD: "[gb2,bb3,db4,gb4]@3 ~ gb2@2 db4@2 [ab3,db4,eb4]@3 ~ [ab3,db4,eb4]@4, ~@3 f4@4 ~@9, ~@3 [bb3,db4]@2 ~ bb3 ~ f2@4 ~@4", // Gb Absus4 Bbm
BE: "[ab3,c4,eb4]@3 ~@3 ab2 c3 [ab3,db4,f4]@3 ~@3 db3@2, ab2 [ab3,c4,eb4] db3 [ab3,db4,f4]", // Ab Db Ab Db
BF: "[bb3,db4,f4]@3 ~ [bb3,db4,f4]@2 bb2@2 [eb2,gb3,bb3,eb4]@4 [gb3,bb3,eb4]@2 eb2@2, bb2 ~@3", // Bbm Ebm
BG: "[ab2,ab3,c4,eb4]@4 [ab3,c4,eb4]@2 ab2@2 [ab3,db4]@3 ~ [ab3,db4,f4]@2 bb2@2, ~@2 bb2 ~", // Ab Db5 Db
BH: "[eb2,gb3,bb3,eb4]@2 [gb3,bb3,db4] eb2 [f2,ab3,db4,f4]@2 [ab3,db4,f4] f2, ~@8 e4 ~@7", // Ebm Gb Db
BI: "[a3,c4,f4]@3 ~ [a3,c4,eb4]@2 a2@2 [bb2,bb3]@4 [f3,ab3,db4]@2 bb2@2, a2@4 ~@4 [f3,db4]@3 ~@5", // F Adim Bb Db
BJ: "[eb2,gb3,bb3,eb4]@2 [gb3,bb3,db4] eb2 [ab2,db4]@2 ~ ab2, ~@8 [ab3,eb4]@3 ~ [ab3,db4,eb4]@4", // Ebm Gb Db5 Ab5 Absus4
BK: "[[bb2,ab3,bb3,db4,f4]@2 ~ [ab3,bb3,eb4]@3 ~ [ab3,bb3]@8 ~ bb2 [ab3,bb3,db4] ~ [ab3,bb3,eb4]@2 f4 ~ [gb2,gb3,bb3,db4]@4 [ab2,ab3,c4,eb4]@4 bb2@3 ~@6 bb2 [ab3,bb3,f4] eb4 bb2 [ab3,bb3,eb4] ~@2 [bb2,eb4] ~@5 ab3 bb3 [gb2,bb3,db4]@4 [ab2,ab3,eb4]@4 ~@5 [ab3,bb3,f4] bb2 [ab3,bb3,eb4] bb2 [ab3,bb3,f4]@2 ~@4 bb2 ~@2 [ab3,bb3,f4] eb4 ~ [ab3,bb3]@2 db4 [gb2,gb3,bb3,db4]@4 [ab2,ab3,c4,eb4]@3 ~ [ab3,bb3]@2 ~@2 bb1@3 [ab3,bb3,f4] eb4 ~ [ab3,bb3,f4] eb4 bb2 [ab3,bb3,f4] ~ [ab3,bb3,eb4] ~@2 bb2 ~@2 f4 eb4 db4 [gb2,gb3,bb3,db4]@4 [ab2,ab3,c4,eb4]@4 [ab3,bb3,f4], ~@2 bb1@21 ~@12 bb1@20 ~@10 bb1@13 ~ bb1@7 ~@28 bb1@5 ~@9, ~@6 bb2@3 ~@40 bb2@6 gb3@2 ~@6 [ab3,bb3,f4]@4 ~@8 [ab3,bb3,eb4]@5 ~@3 bb2@4 ~@8 bb2@4 ~@29, ~@7 f4@11 ~@13 [ab3,bb3,f4]@9 ~@6 [ab3,bb3,f4]@6 ~ f4@2 ~@4 c4@3 ~@33 f4 ~ [ab3,bb3,f4]@4 ~@10 [ab3,bb3,f4]@4 ~ [ab3,bb3]@2 ~@10]/8", // Bbm7 Absus2 Bbm7 Absus2 Gb Ab Bb7 Absus2 …
BL: "[~ [ab3,bb3,f4] ~@2 [f3,ab3,bb3,db4] ~ [f3,db4] ~ [f3,bb3,db4]@2 ~ [f3,bb3,eb4] ~ [f3,ab3,db4] ~@3 bb2@2 bb1 ~ bb1 [f3,bb3,eb4] gb2@2 [gb3,bb3,db4] ~ [ab2,ab3,c4,eb4]@3 ~ ab3, bb2@17 ~@13 ab2@2, ~@15 [f3,bb3,eb4]@5 ~@12]/2", // Bb7 Bbm7 Db Bbm Ebsus2 Db Ebsus2 Gb …
BM: "[bb2,db4,f4]@3 [ab3,db4,f4] ~ bb2 ~@3 [ab3,db4,f4] eb4 bb2 [ab3,db4,f4] ~ [ab3,eb4] [ab3,db4,f4], ~@7 bb1@4 ~@5", // Bbm Db Ab5 Db
})).s("gm_piano").gain(0.63)
// bass · acoustic bass · "Bass"
const bass = note(`<
A B A C D E F G H I J K L M N O P Q R@2 S T U V W X Y Z@4 AA AB AC AD AE R AF AG AH AI AJ AK AL Q D AM AN AO AP AQ AR
AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK@2 BL BJ BL BJ BL BJ BL BJ ~
>`.pickRestart({
A: "c2@3 a1", B: "bb1", C: "bb1@3 g2", D: "c1", E: "g1", F: "c1 f1", G: "g1@8 g1@3 g2@5", H: "c2 a1", I: "bb1 g1",
J: "ab1", K: "ab1@7 g1", L: "c1@14 d2 e2", M: "g1@12 d2 b1 g1 f1", N: "e1 f1", O: "g1@12 g2!2 b1 d2", P: "e2 a1",
Q: "d2 g1", R: "ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~", S: "c1@6 e1@2 f1@6 f1!2", T: "e1@6 e1 f1 g1@6 g1!2",
U: "c2@6 b1@2 a1@7 a1", V: "d1@6 f1@2 g1@5 d1 g1@2", W: "a1@6 c2 db2 d2@7 d2", X: "e1@8 ab1@4 e1@3 ab1", Y: "a1 d2",
Z: "[g1!2 c1@3 a1 bb1@4 c1@3 e1 g1@2]/4", AA: "g1@3 f1 e1@4", AB: "f1@3 f1 g1@4", AC: "g1@4 g1@2 b0 d1 e1@4 e1@4",
AD: "a1@2 a1@2 bb1@2 d1 f1", AE: "g1@7 g1 ab1 ~ ab1 ~ ab1 ~ ab1 ~", AF: "ab1 ~ ab1 ~ ab1 ~ ab1 ~ c1@6 d1 e1",
AG: "f1@7 f1 e1@6 e1 f1", AH: "g1@7 g1 c2@7 c2", AI: "a1@7 a1 d2@7 d2", AJ: "g1@4 g1@2 g2@2 a1@6 c2 db2",
AK: "d2@7 d2 e1@8", AL: "ab1@4 e1@3 ab1 a1@8", AM: "f1@7 f1 ab1@6 bb1 c2", AN: "d2 bb1 eb2@2",
AO: "f1@7 g1 ab1@6 bb1@2", AP: "c2@4 eb2@4 f1@4 f1@2 f1!2", AQ: "bb1@6 bb1 d1 eb1@8", AR: "d1@6 eb1@2 f1@4 f1@2 f1!2",
AS: "bb1@6 bb1!2 g1@7 g1", AT: "c2!2 ab1!2", AU: "db1@6 db1 f1 gb1@4 gb1@4", AV: "f1@4 f1@4 ab1@3 bb1 c2@2 ab1@2",
AW: "db2@6 c2@2 bb1@7 bb1", AX: "eb1!2 ab1!2", AY: "bb1@3 f1 eb1@2 eb1@2", AZ: "f1@6 f1@2 a1@4 a1@3 f1",
BA: "bb1@3 f1 eb1@4", BB: "ab1@4 ab1@4 db1@6 db1 f1", BC: "gb1 f1", BD: "ab1@3 bb1 c2@2 ab1 c2 db1@8",
BE: "bb1@7 bb1 eb1@7 eb1", BF: "ab1@8 bb1@6 bb1 f1", BG: "eb1 f1", BH: "a1@4 f1@3 a1 bb1@7 bb1", BI: "eb1@2 ab1!2",
BJ: "bb1@3 bb1 ~@4 bb1 eb1 f1 ~ bb1 ab1 f1 db2",
BK: "[bb1@3 bb1 ~@3 gb1@4 ab1@4 bb1@5 ~@4 bb1 eb1 f1 ~ bb1 ab1 f1 db2]/2", BL: "bb1@3 bb1 ~@3 gb1@4 ab1@4 bb1",
})).s("gm_acoustic_bass").gain(0.69)
// other · piano · "Electric Piano"
const piano_2 = note(`<
A B C B D E F G H I J@2 K L M N O P J@2 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 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 BU BV ~
>`.pickRestart({
A: "c3 ~ e4 f4 g4@3 ~@9", B: "c4 bb3 f3 c4 ~ bb3 f3 c4!2 bb3 f3 c4 ~ bb3 f3 c4", C: "c4 ~ e4 f4 g4@3 ~@9",
D: "g4 c4 g3 g4 ~ c4 g3 c4 g4 c4 g3 g4 ~ c4 g3 c4", E: "g4 c4 g3 g4 ~ c4 g3 c4 g4 c4 g3 g4 ~ g3 g4 f4",
F: "e4 c4 g3 g4 ~ e4 c4 e4 f4 c4 a3 f4 ~ c4 a3 c4", G: "g4 e4 c4 g4 ~ c4 e4 c4 g4 d4 b3 g4 ~ b3 d4 b3",
H: "e4 c4 g3 g4 ~ c4 e4 c4 f4 c4 a3 f4 ~ a3 f4!2", I: "d4 f3 bb3 f4 ~ f3 bb3 d4 eb4 g3 bb3 eb4 ~ g3 bb3 eb4",
J: "c4 bb3 eb3 c4 ~ bb3 eb3 bb3 c4 bb3 f3 c4 ~ bb3 f3 bb3", K: "e4 g3 d4 g4 ~ c4 d4 g3 e4 g3 c4 g4 ~ g3 e4 c4",
L: "g4 b3 d4 g4 ~ d4 b3 d4 g4 b3 d4 g4@2 b3 d4 b3", M: "e4 g3 c4 g4 ~ c4 e4 g3 f4 a3 c4 f4 ~ a3 c4 a3",
N: "g4 e4 c4 g4 ~ g3 c4 e4 g4 b3 d4 g4 ~ b3 d4 b3", O: "e4 g3 c4 e4 ~ g3 c4 g4 e4 a3 c4 f4 ~ a3 c4 a3",
P: "d4 f3 bb3 f4 ~ f3 d4 bb3 eb4 g3 bb3 d4 g3 bb3!2 g3", Q: "[g3,e4] ~@3 [g3,c4] ~@3 [a3,f4] ~@3 [a3,c4] ~@3",
R: "[c4,g4] ~@3 [c4,g4] ~@3 [c4,g4] ~@3 [b3,g4] ~ g4 f4", S: "[c4,e4]@2 ~@2 [g3,e4] ~@3 [a3,f4] ~@3 [a3,c4] ~@3",
T: "[c4,e4] ~@3 [c4,e4] ~@3 g4 d4 ~ c4 b3 c4 d4 ~", U: "[g3,e4] ~@3 [g3,c4] ~@3 [a3,c4] ~@3 [f3,a3] ~@3",
V: "[g3,e4] ~@3 [g3,c4] ~@3 [ab3,e4] ~@3 [ab3,d4] ~@3", W: "[g3,c4] ~@3 [c4,e4] ~@3 [a3,c4] ~@3 [a3,c4] ~@3",
X: "[c4,d4] ~@3 [c4,d4] ~@3 [g3,e4] ~ e4 f4 g4@2 ~@2", Y: "~@8 c4 bb3 f3 c4 ~ bb3 f3 c4",
Z: "c4 bb3 f3 c4 ~ bb3 f3 bb3 [g3,c4] ~@3 [c4,e4] ~@3", AA: "g4 e4 c4 g4 ~ e4 ~ e4 g4 ~ b3 g4 ~ d4 b3 ~",
AB: "d4 b3 g3 g4 ~ d4 b3 e4!2 ~ c4 g3 ~ e4 ~@2", AC: "f4 a3 c4 f4@2 a3 c4 a3 e4 c4 g3 e4 ~ g3 c4 g3",
AD: "d4 ~ b3 g4 ~ b3 d4 b3 e4 ~@2 e4 ~ g3 c4 e4", AE: "f4 ~ a3 c4 ~ a3 f4 a3 d4 f3 bb3 f4 ~ bb3 d4 f3",
AF: "eb4 g3 bb3 d4 ~ g3 c4 g3 c4 bb3 eb3 c4 ~ bb3 eb3 bb3",
AG: "c4 bb3 f3 c4 ~ bb3 f3 bb3 c4 bb3 eb3 c4 ~ bb3 eb3 bb3",
AH: "c4 bb3 f3 c4 ~ bb3 f3 bb3 [c4,e4] ~ g3 ~ g4 ~ c4 e4", AI: "g4 ~ a3 c4 ~ f4 a3 c4 g4 ~ c4 g4@2 c4 d4 ~",
AJ: "g4 c4 d4 g4 c4 g4 b3 g4 e4@2 g3 c4 ~ e4 g3 c4", AK: "f4 a3 c4 a4 ~@2 f4 ~ d4 f3 a3 d4 ~ f4 d4 a3",
AL: "g4 d4 ~ c4 b3 c4 d4 ~ e4 ~ g3 c4 ~ e4 ~@2", AM: "d4 ~@3 [f3,a3] ~@3 [c4,e4] ~@3 [e4,g4] ~@3",
AN: "[d4,ab4] ~@3 [d4,e4] ~@3 [c4,e4] ~@3 e4 g3 c4 d4", AO: "f4 ~ a3 d4 ~@2 a3 ~ [c4,d4]@2 ~@2 [c4,d4] ~@3",
AP: "c4 ~@2 e4 ~@4 f4 ~@2 e4 ~@2 c4 ~", AQ: "c4 bb3 f3 c4@2 bb3 f3 bb3 c4 bb3 f3 c4@2 bb3 f3 bb3",
AR: "d4 bb3 f3 d4@2 bb3 f3 bb3 eb4 bb3 g3 eb4@2 g3 eb4!2", AS: "c4 ab3 f3 c4@2 ab3 f3 ab3 c4 bb3 f3 c4@2 bb3 f3 bb3",
AT: "eb4 c4 g3 c4 eb4 c4 g3 c4 eb4 c4 g3 c4!2 ab3 f3 ab3", AU: "d4 bb3 f3 d4 ~ bb3 f4 bb3 eb4 g3 bb3 ~ g3 ~ bb3 ~",
AV: "d4 f3 bb3 d4 ~ f3 bb3 f3 c4@2 ~@2 c4@2 ~@2, ~@8 bb3 ~@3 a3 ~@3",
AW: "f4 bb3 d4!2 ~ [e3,f3] bb3 d4 eb4 g3 bb3!2 ~ g3 eb4 g3", // Fmaj7
AX: "[c4,eb4]@2 ~@2 [c4,eb4] ~@3 [ab3,eb4] ~@3 [ab3,c4] ~@3", // Cm Ab5 Ab
AY: "f4 ab3 db4 ~ db4 ab3 f4 bb3 gb4 ~ bb3 db4 bb3 ~ gb4 bb3",
AZ: "eb4@2 ~@3 ab3 eb4 ab3 c4 ~ ab3 eb4 ab3@2 ab4 ab3, db4 ~@15",
BA: "eb4@2 db4 ab3@2 f4 ~ ab3 db4 bb3 ~ gb4@3 bb3 ~", BB: "[gb3,bb3]@3 ~ db4@2 ~@2 ab4 eb4 ~ db4 c4 db4 eb4 ~",
BC: "[bb3,db4] ~@3 [bb3,db4] ~@3 [gb3,bb3]@2 ~@2 [gb3,bb3] ~@3", // Bbm Gb
BD: "[ab3,db4] ~@3 [ab3,f4] ~@3 [a3,eb4]@2 ~@2 [a3,c4] ~@3", // Db5 Db Adim Am
BE: "db4@2 ~@2 db4 ~ gb3 bb3 [gb3,bb3]@2 ~@2 [bb3,db4]@2 ~@2, bb3 ~@15", // Gb Bbm
BF: "[ab3,db4,eb4] ~@3 ab3@2 ~@2 f4 ~ ab3 db4 ~ f4 ab3 db4, ~@4 db4 ~@11", // Absus4
BG: "gb4 bb3 db4 ~ bb3@2 db4 ab3 c4@3 ab3@2 ~ c4 ~",
BH: "[ab3,db4]@3 ~ [ab3,eb4]@2 db4 ab3 f4 ab3 db4 ab3@2 f4 ab3 ~", // Db5 Ab5
BI: "[bb3,db4]@3 ~ bb3@2 db4 ~ eb4 ~ gb3 bb3 ~ db4 gb3 ~, ~@4 f4 ~@11", // Bbm
BJ: "c4@2 ~@2 ab3@2 bb3 ~ db4@2 ~@2 [bb3,db4] ~@3, bb3 ~@7 f4 ~@7", BK: "bb3 ~ c4 ~ db4 ~ db4@2 ~@2 ab3 ~@5",
BL: "a3 ~ bb3 ~ c4 ~ eb4 ~@3 db4 ~@5", BM: "[f3,bb3] ~@3 [bb3,db4] ~@3 [ab3,db4] ~@3 [ab3,db4] ~@3",
BN: "[ab3,db4] ~@2 [ab3,db4] ~ ab3 bb3 db4 ~ bb3 ab3 [ab3,db4] ~ bb3 ab3 bb3", // Db5
BO: "bb3 ab3 bb3 [ab3,db4] ~ ab3 bb3 [gb3,bb3]@2 ~@2 [ab3,c4] ~ ab3 bb3 db4", // Db5 Gb Ab
BP: "~ ab3 bb3 [ab3,db4] ~ ab3 bb3 ab3 bb3 ab3 bb3 [ab3,db4] ~ ab3 [ab3,bb3] ab3", // Db5 Absus2
BQ: "bb3 ab3 bb3 [ab3,db4] ~ ab3 bb3 [gb3,bb3]@2 ~@2 c4@2 ab3 bb3 ab3, ~@11 ab3 ~@4", // Db5 Gb
BR: "bb3 ~ ab3 [ab3,db4] ~ ab3 bb3 ab3 bb3 ab3!2 [ab3,db4] ~ ab3 bb3 ab3", // Db5
BS: "bb3 ab3 bb3 [ab3,db4] ~ ab3 bb3 ~@4 [ab3,c4] ~@3 bb3", // Db5 Ab
BT: "~ ab3 ~ [ab3,db4] ~ ab3 bb3 ab3 bb3 ab3 bb3 [ab3,db4] ~ ab3 bb3 ab3", // Db5
BU: "bb3 ab3 bb3 [ab3,db4] ~ ab3 bb3 [gb3,bb3] ~ gb3 bb3 [ab3,c4] ~ ab3 c4 ab3", // Db5 Gb Ab
BV: "bb3 ab3 bb3 [ab3,db4] ~ ab3 bb3 ab3 bb3 ab3 bb3 [ab3,db4] ~ ab3 bb3 ab3", // Db5
})).s("gm_piano").gain(0.53)
// other · electric guitar jazz · "Electric Guitar"
const electric_guitar_jazz = note(`<
~@16 A B C@2 D E D F G H I J ~@5 K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AF AH AI AJ AK AL AM AN AO AP AQ
AR AS AT AU AV AW AX AY AZ BA BB BC BD ~
>`.pickRestart({
A: "~@2 f4 e4", B: "d4@7 ~ eb4@4 d4@4", C: "ab3 eb3!2 ~ bb3!2 ab3!2 f3 ~ f3 [db4,d4] c4!2 bb3!2",
D: "~@2 g3!2 d4!2 c4!2 ~@3 a3 d4!2 c4!2", E: "~@3 a3 d4!2 c4!2 g3!3 c4 b3!2 g3!2",
F: "~@2 g3 a3 e4 [e4,f4] d4 c4 d4!2 c4 d4@2 b3 c4!2", G: "a3 ~ a3!2 d4!2 c4!2 a3 ~@2 a3 [f4,c5]@4",
H: "e3 ~@2 e3 d4!2 c4!2 e3 ~@2 e3 e4@3 ~", I: "a3 ~@2 a3 e4@3 d4 a3 ~ a3!2 f4@3 ~", J: "[d4,g4]!2 ~@2",
K: "~@12 c4 d4 e4 ~", L: "f4@4 e4@3 [e4,f4] d4@8", M: "eb4@4 d4@4 ab3 eb3!2 ~ bb3!2 ab3!2",
N: "f3 ~ f3 [db4,d4] c4!2 bb3!2 ab3 eb3!2 ~ bb3!2 ab3!2", // Dmaj7
O: "f3 [db4,d4] c4 bb3 [db4,d4]@2 c4 bb3 ~@2 g3!2 d4!2 c4!2", P: "~@3 a3 d4!2 c4!2 ~@3 a3 d4!2 c4!2",
Q: "g3!3 c4 b3!2 g3!2 ~@2 g3!2 d4!2 c4!2", R: "~@3 a3 d4!2 c4!2 ~@2 g3 a3 e4 [e4,f4] d4 c4",
S: "d4!2 c4 d4@2 b3 c4!2 a3 ~ a3!2 d4!2 c4!2", T: "a3 ~@2 a3 [f4,c5]@4 e3 ~@2 e3 d4!2 c4!2",
U: "e3 ~@2 e3 e4@3 ~ a3 ~@2 a3 e4@3 d4", V: "a3 ~ a3!2 f4@3 ~ [d4,g4]@4 [d4,g4]@4",
W: "c3@4 c4@3 c3 [c4,f4]@3 [c4,e4]@5", X: "f2@7 g2 ab2@6 bb2 c3", Y: "d3 bb2 eb3@2", Z: "f2@7 g2 ab2@6 bb2 ~",
AA: "c3@4 eb3@4 f2@4 f2@2 f2!2", AB: "[d4,f4]@4 [bb3,f4]@3 ~ [eb4,g4]@5 [bb3,eb4,g4]@2 bb3",
AC: "[d4,f4]@4 bb3 [d4,f4]@3 [bb3,f4]@4 [a3,f4]@3 ~", AD: "[d4,f4]@4 bb3 [d4,f4]@2 bb3 [eb4,g4]@4 bb3 [eb4,g4]@3",
AE: "eb4@5 ~ eb4@2 [c4,eb4]@4 [c4,eb4]@4, c4 ~, ~@5 g4@3 ~@8", AF: "~@2 ab3!2 eb4!2 db4!2 ~@3 bb3 eb4!2 db4!2",
AG: "~@3 bb3 eb4!2 db4!2 ab3!3 db4 c4!2 ab3!2", AH: "~@2 ab3 bb3 f4 [f4,gb4] eb4 db4 eb4!2 db4 eb4@2 c4 db4!2",
AI: "bb3 ~ bb3!2 eb4!2 db4!2 bb3 ~@2 bb3 [gb4,db5]@4", AJ: "f3 ~@2 f3 eb4!2 db4!2 f3 ~@2 f3 f4@3 ~",
AK: "bb3 ~@2 bb3 f4@3 eb4 bb3 ~ bb3!2 gb4@3 ~", AL: "[eb4,ab4]@4 [eb4,ab4]@4 ~@2 ab3!2 eb4!2 db4!2",
AM: "~@3 bb3 eb4!2 db4!2 ~@3 bb3 eb4!2 db4!2", AN: "ab3!3 db4 c4!2 ab3!2 ~@2 ab3!2 eb4!2 db4!2",
AO: "~@3 bb3 eb4!2 db4!2 ~@2 ab3 bb3 f4 [f4,gb4] eb4 db4", AP: "eb4!2 db4 eb4@2 c4 db4!2 ~@2 bb3!2 eb4!2 db4!2",
AQ: "bb3 ~@2 bb3 [gb4,db5]@4 f3 ~@2 f3 eb4!2 db4!2", AR: "f3 ~@2 f3 f4@3 ~ bb3 ~@2 bb3 f4@3 eb4",
AS: "bb3 ~ bb3!2 gb4@3 ~ [eb4,ab4]@4 [eb4,ab4]@4", AT: "bb2!2 ~ ab3 bb3!2 ~ bb3 ~ ab3 ~@3 f3 ab3 bb3",
AU: "bb3 ~ ab3 bb3 ~ ab3 bb3 bb2 ~@2 ab3 f3 db4!2 c4!2", AV: "ab3 bb3 bb2 f3 bb3 ~ ab3 bb3 ~ bb3 ab3 f3 ab3!2 ~ bb3",
AW: "bb3 ~ bb3!2 ~ f3 ab3 bb3 ~ bb3 ~@3 c4 ab3 ~", AX: "[bb2,bb3] ~@2 bb3 ~ bb3 f3 bb2 ~ ab3 bb3 f3 bb3 ~ ab3 bb3",
AY: "f3 ab3 bb3 ~ db4!2 c4 f3 ~ ab3 bb3 f3 bb3 ~ bb3!2",
AZ: "f3 bb3 ab3 bb2 f3 ~ ab3 bb3 f3 bb3 ab3 f3 bb3 ~ ab3 bb3",
BA: "~ bb3 ab3 f3 ~ db4 c4 f3 ab3 ~ ab3 bb3 f3 bb3 c4 ab3", BB: "~ bb3 ~ bb2 ab3 ~ ab3 bb3 ~ bb3 ~@2 eb4@2 db4 ~",
BC: "~ bb3 ~ bb2 ab3 bb3 ~ f3 ~@5 ab3 ~ bb2", BD: "~ bb3 ab3 ~ bb3 ~ ab3 bb3 ~@4 eb4!2 db4 bb3",
})).s("gm_electric_guitar_jazz").gain(0.66).pan(0.4)
// chords · distortion guitar
const distortion_guitar = note(`<
~@16 A B C@2 ~@13 D E F G H ~@8 I J K L M N O P@2 Q R S T U T V W X Y Z AA AB@2 ~@12
>`.pickRestart({
A: "~@4 c4 d4 e4 g4 f4@4 e4@4", B: "d4@2 eb4 d4",
C: "ab3 ~ eb3 ~ [bb3,eb4]!2 [ab3,eb4]!2 [f3,d4] ~ f3 [db4,d4,f4] c4 [c4,f4] [bb3,f4]!2", D: "~@12 c4 d4 e4 g4",
E: "f4 e4 d4@2", F: "eb4@4 d4@4 ab3 ~ eb3 ~ [bb3,eb4]!2 [ab3,eb4]!2",
G: "[f3,d4] ~ f3 [db4,d4,f4] c4 [c4,f4] [bb3,f4]!2 ab3 ~ eb3 ~ [bb3,eb4]!2 [ab3,eb4]!2", // Dm Db F5 Bb5 Eb5 Ab5
// … 172 more lines
More by Peter Cetera
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.