0:00/0:00
// How Am I Supposed to Live Without You — Michael Bolton
// 66 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 82 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(66/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 · fretless bass
const bass = 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 A B X D E F I H I J K L M Y Z AA AB AC AD AE AF AG AH AI AJ AK AL
AM AN AO AP AQ AR AS AK AL AM AN AO AP AQ AR AS AT AU AV AW
>`.pickRestart({
A: "d2@2 d2 f2", B: "eb2@2 eb2 d2", C: "c2@14 c1 ~ g2@8 d2@8", D: "eb2!2 f2!2", E: "eb2@2 eb2!2", F: "d2@8 g2@6 ~ g2",
G: "eb2!2", H: "d2@2 f2 bb1", I: "eb2@8 eb2@6 ~ eb2", J: "d2 g2 a1 bb1", K: "c2 d2 eb2 c2", L: "f2@2 g2!2",
M: "c2 d2 eb2 f2", N: "bb1@2 eb2 c2", O: "d2@2 d2 c2", P: "bb1@15 ~ bb1@16", Q: "a1 a2", R: "g2 gb2",
S: "f2@2 eb2 c2", T: "bb1@15 ~ bb1@15 ~", U: "a1@13 ~ c2@2 a1@16", V: "g2@2 gb2 f2", W: "e2@7 e2 f2@4 eb2@4",
X: "c2@2 g2 d2", Y: "bb1 d2", Z: "eb2 f2", AA: "g2 f2", AB: "c2@14 c1 ~ f2@8 a1@8", AC: "bb1@7 bb1 d2@7 d2",
AD: "eb2@14 eb1 ~ f2@16", AE: "g2 a1", AF: "b1@2 db2 gb2", AG: "eb2@7 eb2 eb2@4 b1@4", AH: "e2@2 e2 eb2",
AI: "db2@2 ab2 eb2", AJ: "e2@2 gb2!2", AK: "e2@2 e2!2", AL: "eb2 ab2", AM: "e2!2", AN: "eb2@2 gb2 b1",
AO: "e2@8 e2@6 ~ e2", AP: "eb2 ab2 bb1 b1", AQ: "db2 eb2 e2 db2", AR: "gb2@2 ab2!2", AS: "db2 eb2 e2 gb2",
AT: "e2@7 e2 e2@4 db2@4", AU: "eb2@2 db2 eb2", AV: "b1@13 ~ b1 ~ b1@6 gb2@2 b2@2 b2@4 b2 ~", AW: "b1",
})).s("gm_fretless_bass").gain(0.31)
// chords · acoustic guitar nylon · "Nylon Guitar"
const acoustic_guitar_nylon = note(`<
~@16 A B C D E F G H I J K L M N O L M P Q R S T U V W C 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
>`.pickRestart({
A: "~@2 eb3 [g3,d4] ~ [g3,d4] ~@2 [eb2,g3,d4]@4 [eb2,a3,f4]@4, ~ eb2@6 ~@9", // G5 Ebmaj7 F7
B: "[c4,f4]@10 a3@2 [c4,f4]@3 ~@7 f4@4 g4@4 g3@2, ~@16 g2@15 ~, ~@9 g3@4 ~@3, ~@10 bb3@5 ~", // F5
C: "~@2 eb3 [g3,d4] ~ [g3,d4] ~@4 [a3,f4] ~@2 [a3,f4] ~@2, ~ eb2@6 ~@9", // G5 Dm
D: "~@6 a4@4 a3@2 [c4,f4]@3 ~ [f2,ab3,eb4]@8 [bb2,f3,d4]@8, d3@7 ~@9, f4@4 c4@5 ~@23, ~@2 a3@5 ~@25", // F5 Fm7 Bb
E: "~@6 f4@4 eb3@2 [g3,d4]@3 ~@5 [c4,a4]@2 [c4,a4] ~@3 [c4,a4]@4 a3 ~, eb2@7 ~ eb2@8, d4@4 g3@5 ~@9 a3@9 ~@5, ~@2 eb3@5 ~@25", // G5 F
F: "[d3,a3,f4]@4 ~ bb3@3 ~ a3@3 ~ f3@3, ~ [g2,g4] [a2,f4] [bb2,d4]", // Dm G Dm Bb
G: "~ [bb3,eb4]@3 [d3,c4,f4]@4 ~ g3@3 ~ bb3@3, c3 ~ [eb2,d4] [c3,eb4]", // Eb5 Dm7 Ebmaj7 Cm
H: "[bb3,eb4]@10 g3@2 [bb3,eb4]@3 ~@3 [a3,f4]@6 [g2,bb3,f4]@8, ~@2 g2 ~", // Eb5 Dm Gm7
I: "~ bb3@3 ~ c4@3 ~ [g3,d4]@3 ~ bb3@3, [c3,eb4] [d3,f4] eb2 [f3,eb4]", // G5 Cm Dm F7
J: "[bb3,f4]@10 f3@2 [bb3,f4]@3 ~ [eb2,g3,eb4]@8 ~@2 bb3@6, ~@3 [c3,eb4]", // Bb5 Eb Cm
K: "~@6 f4@4 f3@2 [bb3,f4]@3 ~@3 g3@6 ~@2 c4@6, d3@7 ~ [d2,c4]@4 ~@4, f4@4 bb3@5 ~@23, ~@2 f3@5 ~@17 [c3,gb4]@8", // Bb5 D7 Cdim
L: "~@6 f4@4 ~@4 f4 ~@13 f4@4, bb2, ~@2 f3@6 ~@2 f3@9 ~ f3@4 ~@2 f3@6, ~@4 bb3@17 ~ bb3@10",
M: "~@6 a4@4 ~@4 a4 ~@13 a4@4, a2, ~@2 a3@6 ~@2 a3@9 ~ a3@4 ~@2 a3@6, ~@4 c4@17 ~ c4@10",
N: "~@3 g4@5 ~@3 [c4,eb4]@5, g2 gb2, g4 bb3@3 ~ gb3@3, ~ g3@7 ~ eb3@7", // Cm
O: "f4@2 ~ f4@5 ~@3 a4 ~@3 eb4, f3@2 eb2 [c2,eb4], ~@2 bb3@6 ~ a3@3 ~ f3@3, ~@5 c4 ~ a3", // Cm
P: "~@3 g4@5 ~@3 c4 ~@3 f4, g2@2 gb2 ~, g4 bb3@3 ~ gb3 [f3,f4]@2, ~ g3@7 ~ eb3@3 ~@2 bb3@2", // F
Q: "~@6 e4@9 ~@7 a4@2 ~@6 eb4@2, e3@2 f2 [eb2,eb4], ~@2 g3@13 ~@5 c4@4 ~@4 a3@4, ~@4 bb3@11 ~@3 a3@6 ~@2 f3@6", // Eb
R: "~@3 a4@2 ~@2 a4 ~@3 a4 ~@3 f4, d3@2 [d3,a4] f3, ~@2 a3@5 ~@3 a3@6 ~@2 a3@6 ~@4 bb3@4, ~@4 d4@7 ~ d4@4 ~@4 d4@4 ~@8", // D5
S: "~@3 [bb3,g4]@2 ~ g3 [bb3,g4] ~@3 g4 ~@3 a4, ~ eb2@3 ~ eb2@2 ~ [eb2,g4]@4 ~@2 d4@2, ~@2 g3@2 ~@5 g3@3 d3@4, ~@10 bb3@2 ~ a3@3", // Eb
T: "~@6 g4@9 ~@7 bb4@2 ~@6 a4@2, c3@2 g2 d3, ~@2 g3@13 ~@5 d4@4 ~@4 d4@4, ~@4 c4@11 ~@3 bb3@6 ~@2 a3@6",
U: "~@3 d4 ~@3 c4 ~@3 eb4 ~@3 eb4, eb2@2 [eb2,c4]@2 ~ bb3 ~ a3, ~ eb3@3 ~ eb3@3 [f3,eb4]@4 f2@4, ~@2 g3@2 ~@2 g3@2 ~ g3@3 ~ f3@3", // Cm F7
V: "~@6 f4@4 eb3@2 [g3,d4]@3 ~@3 [g3,d4]@6 ~@2 a3@6, eb2@7 ~ eb2@4 [eb2,f4]@4, d4@4 g3@5 ~@23, ~@2 eb3@5 ~@25", // G5 Ebsus2
W: "~@6 a4@4 a3@2 [c4,f4]@3 ~@5 [bb3,f4]@2 [bb3,f4] ~@3 [bb3,f4]@4 g3 ~, d3@7 ~ g2@8, f4@4 c4@5 ~@23, ~@2 a3@5 ~@11 g3@9 ~@5", // F5 Bb5
X: "[c4,f4]@10 a3@2 [c4,f4]@3 ~ [f2,ab3,eb4]@8 ~@2 f3@6, ~@3 [bb2,d4]", // F5 Fm7 Bb
Y: "~@4 [g3,d4]@2 [g3,d4] ~@3 [g3,d4]@4 eb3 ~@5 [c4,a4]@2 [c4,a4] ~@3 [c4,a4]@4 a3 ~, eb2!2, ~@2 eb3@9 ~@7 a3@9 ~@5", // G5 F
Z: "~ [a3,f4]@3 [g2,bb3,g4]@4 [a2,a3,f4]@4 ~ f3@3, d3 ~@2 [bb2,d4]", // Dm Gm Dm Bb
AA: "[c3,bb3,eb4]@4 ~ c4@3 [eb2,g3,d4]@4 [c3,bb3,eb4]@4, ~ [d3,f4] ~@2", // Cm7 Ebmaj7 Cm7 Dm
AB: "~@6 g4@4 g3@2 [bb3,eb4]@3 ~@3 [a3,f4]@6 [g2,bb3,f4]@8, f3@7 ~ g2@4 ~@4, eb4@4 bb3@5 ~@23, ~@2 g3@5 ~@25", // Eb5 Dm Gm7
AC: "~ bb3@3 ~ [c4,f4]@3 ~ [g3,d4]@3 ~ bb3@3, [c3,eb4] d3 eb2 [f3,eb4]", // F5 G5 Cm F7
AD: "~@3 f4@2 ~@2 f4 ~@3 [c4,f4,a4]@2 ~ a3 [c4,f4,a4], bb2 ~, ~@2 f3@5 ~@3 f3@6 ~@2 d3@6 ~@2 d3@4 ~@2, ~@4 bb3@7 ~ bb3@4 ~@4 a3@4 ~@8", // F
AE: "~@3 g4@5 ~@3 a4@2 ~@2 a4, eb2 f2, ~ g3@7 ~@2 f4@3 ~ f4@2, ~@4 bb3@12 ~@2 a3@7 ~ a3@6",
AF: "~@5 g3@3 ~@3 a4@2 ~@2 a4, g2 f2, ~@2 g3@4 [f4,g4]@10 ~@4 c4@7 ~ c4@4, ~@4 bb3@12 ~@2 a3@5 ~@3 a3@6", // Fsus2
AG: "~@5 g3@3 ~@3 a4 ~@3 a4, c3@2 f2 [a2,a4], ~ g3@2 [eb4,g4]@5 ~@2 c4@2 ~@2 c4@2, ~@2 bb3@6 ~ a3@3 ~ a3@3", // A Eb
AH: "~@3 [bb3,f4]@2 ~ f3 [bb3,f4] ~@5 a3@3, ~ bb2@3 ~ bb2@2 ~@2 a3@2 [f4,a4]@5, ~ f3 ~@2 d3@4, ~@5 c4@3", // Bb5 F
AI: "~@3 g4@2 ~@2 g4 ~@5 a3@3, eb2 f2, ~@2 g3@7 ~ g3@6 ~@2 a3@4 a4@10, ~@2 eb4@3 ~ eb4@2 ~@2 c4@6",
AJ: "~@5 g3@3 ~@3 [c4,a4]@2 ~ a3 [c4,a4], g2@8 ~ a2@3 ~ a2@2 ~, ~ g3@2 [f4,g4]@5 ~@8, ~ bb3@3 ~ a3 ~@2", // F Fsus2
AK: "~@3 gb4@2 ~@2 gb4 ~@3 e4 ~@3 e4, b2@4 db3@2 ~ b3, ~@2 gb3@5 ~@3 gb3@6 ~@2 ab3@6 gb3@8, ~@4 b3@7 ~ b3@4 ~@4 b3@4 ~@2 ab3@6",
AL: "~@3 bb4@2 ~@2 bb4 ~@3 bb4 ~@3 gb4, eb3@2 eb3 [b2,gb4], ~@2 bb3@5 ~@3 bb3@6 ~@2 bb3@6 ~@2 gb3@6, ~@4 eb4@7 ~ eb4@4 ~@4 eb4@4 ~@4 b3@4", // B5
AM: "~@3 ab4@2 ~@2 ab4 ~@3 ab4 ~@3 bb4, e2@4 e2@2 ~ eb4, ~@2 ab3@5 ~@3 ab3@6 ~@2 ab3@6 eb3@8, ~@4 b3@7 ~ b3@4 ~@4 b3@4 ~@2 bb3@6",
AN: "~@3 [db4,ab4]@2 ~ ab3 [db4,ab4] ~@3 b4 ~@3 bb4, ~ db3@3 ~ db3@2 ~ [ab2,b4]@4 [eb3,bb4]@4, ~@2 ab3@2 ~@5 b3@3 ~ bb3@3, ~@5 eb4 ~ eb4", // Db5 Abm Eb5
AO: "~@3 [ab3,eb4,gb4]@2 ~ e3 [ab3,eb4,gb4] ~@3 e4 ~@3 e4, ~ e2@3 ~ e2@2 ~@2 ab3@3 ~ gb3@3, ~ e3 ~@2 [gb3,e4]@2 gb2@2, ~@5 b3 ~ bb3", // Ab7 Gb7
AP: "~@2 e3 [ab3,eb4] ~ [ab3,eb4] ~@3 [ab3,eb4]@3 ~ [bb3,gb4]@3, ~ e2@6 ~ e2@4 e2@4", // Ab5 Ebm
AQ: "~@6 bb4@4 bb3@2 [db4,gb4]@3 ~@5 [b3,gb4]@2 [b3,gb4] ~@3 [b3,gb4]@4 ab3 ~, eb3@7 ~ ab2@8, gb4@4 db4@5 ~@23, ~@2 bb3@5 ~@11 ab3@9 ~@5", // Gb5 B5
AR: "~@6 gb4@4 e3@2 [ab3,eb4]@3 ~@5 [db4,bb4]@2 [db4,bb4] ~@3 [db4,bb4]@4 bb3 ~, e2@7 ~ e2@8, eb4@4 ab3@5 ~@9 bb3@9 ~@5, ~@2 e3@5 ~@25", // Ab5 Gb
AS: "[db4,gb4]@10 bb3@2 [db4,gb4]@3 ~@3 a3@6 [b2,gb3,eb4]@8, ~@2 [gb2,e4] ~", // Gb5 B Gb7
AT: "~@4 e3@2 [ab3,eb4]@2 ~@2 [ab3,eb4]@2 ~@10 bb4@4 bb3@2 [db4,bb4]@3 ~, ~ e2@6 ~ e2@7 ~, ~@16 bb4@4 db4@5 ~@7, ~@18 bb3@5 ~@9", // Ab5 Gb
AU: "~ bb3@3 [ab2,b3,ab4]@4 ~ [bb3,gb4]@3 ~ [gb3,eb4]@3, [eb3,gb4] ~ bb2 b2", // Abm Ebm
AV: "[db3,b3,e4]@4 [eb3,db4,gb4]@4 ~ ab3@3 ~ b3@3, ~@2 [e2,eb4] [db3,e4]", // Dbm7 Ebm7 Emaj7 Dbm
AW: "~@4 [b3,e4]@2 [b3,e4] ~@3 [b3,e4]@4 ab3 ~ [ab2,bb3,gb4]@8 [ab2,b3,gb4]@8, gb3 ~, ~@2 ab3@9 ~@21", // E5 Ebm Abm7
AX: "[db3,b3,e4]@4 ~ [db4,gb4]@3 [e2,ab3,eb4]@4 [gb2,bb3,gb4]@4, ~ eb3 ~@2", // Dbm7 Gb5 Emaj7 Gb
AY: "~@4 [ab3,eb4]@2 [ab3,eb4] ~@3 [ab3,eb4]@4 e3 ~ [e2,ab3,eb4]@8 ~@2 bb3@6, e2@2 ~ [e2,gb4], ~@2 e3@9 ~@21", // Ab5 Emaj7 Esus2
AZ: "~@6 bb4@4 bb3@2 [db4,gb4]@3 ~@7 gb4@4 ab4@4 ab3@2, eb3@14 ~@2 ab2@15 ~, gb4@4 db4@5 ~@11 b3@10 ~@2, ~@2 bb3@5 ~@11 ab3@8 ~@6", // Gb5
BA: "~@4 [ab3,eb4]@2 [ab3,eb4] ~@3 [ab3,eb4]@4 e3 ~@5 [db4,bb4]@2 [db4,bb4] ~@3 [db4,bb4]@4 bb3 ~, e2!2, ~@2 e3@9 ~@7 bb3@9 ~@5", // Ab5 Gb
BB: "[db4,gb4]@10 bb3@2 [db4,gb4]@3 ~@3 [a3,e4]@6 ~@2 [gb3,eb4]@6, ~@2 gb2 b2", // Gb5 A5 Ebm
BC: "~@4 e3@2 [ab3,eb4]@2 ~@2 [ab3,eb4]@2 ~@8 [db4,bb4]@2 [db4,bb4] ~@3 [db4,bb4]@4 bb3 ~, ~ e2@6 ~ e2@8, ~@18 bb3@9 ~@5", // Ab5 Gb
BD: "[eb3,bb3,gb4]@4 [ab2,b3,ab4]@4 ~ bb3@3 ~ [gb3,eb4]@3, ~@2 [bb2,gb4] b2", // Ebm Abm Ebm
BE: "~ b3@3 [eb3,db4,gb4]@4 ~ [ab3,eb4]@3 ~ [b3,e4]@3, [db3,e4] ~ e2 db3", // Ebm7 Ab5 E5 Dbm
BF: "~@4 [b3,e4]@2 [b3,e4] ~@3 [b3,e4]@4 ab3 ~ [ab2,bb3,gb4]@8 ~@2 b3@6, gb3@2 ~ [ab2,gb4], ~@2 ab3@9 ~@21", // E5 Ebm Ab7
BG: "~ b3@3 [eb3,db4,gb4]@4 [e2,ab3,eb4]@4 ~ [bb3,gb4]@3, [db3,e4] ~@2 gb2", // Ebm7 Emaj7 Ebm Dbm
BH: "~@3 ab4@5 ~@3 ab4 ~@3 e4, e2@4 e2@2 ~ b3, ~ ab3@7 ~ ab3@3 [db3,e4]@4, ~@2 b3@6 ~@2 b3@2 ~ ab3@3", // Dbm
BI: "~@3 [b3,gb4]@2 ~ gb3 [b3,gb4] ~@3 e4 ~@3 gb4, ~ eb3@3 ~ eb3@2 ~ db3@4 [eb3,gb4]@4, ~@2 gb3@2 ~@5 ab3@3 ~@2 db4@2, ~@10 b3@2 ~ bb3@3", // B5 Ebm
BJ: "[b2,b3,gb4]@11 ~ b3@3 ~, ~@22 gb3@9 ~", BK: "[b2,b3,gb4]",
})).s("gm_acoustic_guitar_nylon").gain(0.25)
// other · pad new age · "Fantasia/Halo Pad"
const pad_new_age = note("<~@7 A B ~@4 C@2 ~@15 D E ~@4 F G ~@44>".pickRestart({
A: "~@12 f4 ~ g4@2 a4@2 f4@2 c4@2 ~ f4@2 c4@3 c5@2 f4@2, ~@11 bb4 ~@4", B: "d5@5 ~@11",
C: "[~@16 g4@2 ~ bb4@4 ~@2 a4@2 ~ bb4@3 eb4@9 ~@24, ~@9 a4 ~@2 f4 ~@19]/2",
D: "~@7 g4 a4 f4 c4 bb4 f4 c4 c5 f4, ~@13 f4@2 ~@17", E: "d5@3 ~@5", F: "~@8 g4 a4 bb4@2 f4 a4 bb4@2", G: "eb4 ~@3",
})).s("gm_pad_new_age").gain(0.27)
// other · pad halo · "Fantasia/Halo Pad"
const pad_halo = note("<~@48 A B C D E@2 F G ~@26>".pickRestart({
A: "~@13 g4 bb4 c5", B: "d5@4 eb5@2 d5@6 c5@2 bb4@2 c5@2 f4@11 ~ d4@2",
C: "f4@8 g4@4 f4@4 eb4@3 d4@3 c4@2 bb3@3 d4@3 c4@2", D: "c4@4 f3@16 ~@8 f5 ~ f5@2",
E: "[f5@11 ~ eb5@2 d5@3 bb4@2 f4@3 d4 eb4 d4@3 bb3@2 c4@2 c4@4 d4@2 bb3@7 g4@2 f4@13 ~ bb4@2 c5@2]/2",
F: "d5@5 ~ eb5@5 ~ d5@4 c5@12 c5@2 d5@2", G: "eb5@5 ~ e5@6 eb5@4 gb5@16",
})).s("gm_pad_halo").gain(0.49)
// other · vibraphone
const vibraphone = note(`<
~@4 A B C@2 D E F@3 G H@2 I@2 J K L M N O P@2 ~ Q R S@2 T U V@2 W@2 X@2 Y@2 Z AA AB AC AD@2 AE@2 ~@6 AF AG@2 AH@2 AI@2
AJ AK AL AM AN@2 AO AP AQ AR AS AT@2 AU@2 AV AW ~@3
>`.pickRestart({
A: "~@4 d4 ~ d4 ~ d4@2 f4@2 d4@2 g4@4 f4@10 eb4@2 d4@2", B: "f4@3 ~ f4 ~ f4@5 ~ f4 ~ f4@5 [c4,d4] ~@10 bb3 ~",
C: "[eb4 ~ eb4@3 eb4@8 eb4@2 ~ eb4@2 d4@4 c4@5 ~ db4 d4@6 c4@5 ~@24, ~@27 bb3@2 ~@35]/2",
D: "~@6 f3@2 d4@2 ~ d4@2 ~ g4@4 f4@10 eb4@2 d4 ~, ~@5 f4 ~@10", E: "f4@4 f4 ~ f4@4 ~ f4 f4@5 d4 ~ c4@3 ~@6 c4@2 d4@2",
F: "[eb4 ~ eb4@4 eb4@6 eb4 ~ eb4@6 d4@2 c4@6 bb3@2 d4@4 c4@11 ~@18 d4@2 f4 ~ f4@2 d4@2 f4@4 ~ f4@2 d4@4 f4 ~ f4@2 d4@2 f4@3 ~ bb3@2 g4@2, ~@30 db4 ~@31 bb3@2 ~@30 gb4 ~]/3",
G: "~ g4@2 d4 c4 ~@11", H: "[~@2 eb4@3 ~ eb4 ~ eb4@4 d4@2 d4@6 c4@2 ~ c4@5 bb3@2 db4 d4@4 c4@14 ~@7 g4@4 a4@4]/2",
I: "[bb4@4 bb4 ~ bb4@6 bb4 ~ bb4@6 a4 ~ a4@6 a4 ~ a4@4 g4@2 f4 ~ f4@4 g4@4 ~@18]/2",
J: "~@2 bb4@3 ~ bb4 ~ bb4@3 ~ bb4@4 bb4@2 a4@3 ~ a4@5 ~ a4@4", K: "a4@4 g4@2 f4@6 g4@7 ~@13",
L: "bb4@3 ~ bb4 ~ bb4@5 ~ bb4 ~ bb4@4 a4@4 c5@8 bb4@2", M: "~ a4@2 g4@2 f4@2 ~ f4@3 g4@3 ~@16 bb3@2",
N: "eb4@3 ~ eb4 ~ eb4@5 d4@2 ~ d4@6 c4@6 ~ c4@2 bb3@2 db4", O: "d4@4 c4@9 ~@17 bb3@2",
P: "[eb4@3 ~ eb4 ~ eb4@6 d4@2 f4@5 d4@3 c4@6 d4@7 c4@3 bb3@6 ~@20, ~@28 db4 ~@35]/2",
Q: "~@6 d4 ~ d4@2 f4@2 d4@2 g4@4 f4@10 eb4@2 d4@2",
R: "f4@3 ~ f4 ~ f4@6 f4 ~ f4@5 eb4 c4@5 ~ c4 ~@2 d4@2 ~, ~@14 c4 ~",
S: "[eb4@3 eb4@2 eb4@7 ~ eb4@3 eb4@2 ~ d4@3 c4@5 bb3@2 d4@5 c4@10 ~@20, ~@29 db4 ~@34]/2",
T: "~@6 f3 db4 d4@2 f4@2 ~ g4@4 ~ f4@10 eb4@2 d4@2, ~@6 d4 ~@9",
U: "f4@3 ~ f4 ~ f4@4 f4@2 g4@7 ~ c4@7 ~ bb3 ~ d4 ~, ~@19 d4@2 ~@11",
V: "[eb4@2 eb4@3 ~ eb4@8 d4@2 eb4@2 d4@3 ~ f4@6 f4 ~ f4@4 [c4,db4] d4@2 c4@10 ~@17]/2", // Dbmaj7
W: "[d4@2 f4 ~ f4@2 d4 ~ f4@4 f4@2 d4@4 f4 ~ f4@2 d4@2 f4@4 bb3@2 g4@4 g4@4 ~ c4@9 ~@16, ~@19 d4 ~@12]/2",
X: "[~@2 eb4 ~ eb4 ~@2 eb4@5 d4@2 f4@7 eb4@4 ~ d4@3 eb4@2 d4@4 c4@12 ~@9 g4@4 a4@4]/2",
Y: "[bb4@4 bb4 ~ bb4@5 ~ bb4 bb4@5 a4@3 ~ a4@4 a4@3 ~ a4@4 g4@2 f4@2 f4@3 g4@11 ~@12]/2",
Z: "~@2 bb4@2 ~ bb4 ~ bb4@4 ~ bb4 ~ bb4@3 a4@6 ~ a4@3 ~ a4@4", AA: "a4@3 g4@2 f4@7 g4@2 ~@18",
AB: "bb4@3 bb4 ~@2 bb4@6 bb4 ~ bb4@5 a4@3 c5@8 bb4@2", AC: "a4@3 g4@3 f4@2 f4@3 g4@9 ~@10 bb3@2",
AD: "[eb4@4 eb4@2 eb4@6 d4@2 d4@4 c4@7 ~ c4@2 bb3@2 c4@6 d4@9 ~@17 bb3@2]/2",
AE: "[eb4@3 ~ eb4 ~ eb4@6 d4@2 f4@6 d4@2 c4@4 d4@9 c4@3 bb3@11 ~@15, ~@26 db4 ~@37]/2", AF: "~@15 b3",
AG: "[eb4@2 gb4 gb4@2 eb4@2 ~ gb4@4 gb4@2 eb4@4 gb4 ~ gb4 ~ gb4@2 ab4@3 b4@2 ~ db5@4 b4@2 ab4@2 gb4@5 eb4@8 ~ eb4@2 db4@4 b3@3 ~@3]/2",
AH: "[~@4 ab4@2 b4 eb5@2 db5 b4@2 b4@2 ab4 db5@2 bb4 ab4 gb4@5 ~@4 ab4@2 bb4@2]/2",
AI: "[b4@4 b4 ~ b4@6 b4 ~ b4@4 bb4@3 ~ bb4@4 ~ bb4@4 bb4@3 ab4@2 gb4@2 gb4@4 ab4@8 ~@14]/2",
AJ: "~@2 b4@3 b4 ~ b4@4 ~ bb4 ~ b4@4 bb4@5 bb4@4 bb4@4 ~", AK: "bb4@6 ab4@2 gb4@5 ab4 ~@18",
AL: "~@2 b4@2 ~ b4 ~@2 b4@4 b4 ~ b4@4 bb4@4 db5@8 b4@2", AM: "bb4@3 ab4@2 gb4@2 ~ gb4@2 ab4@3 ~@19",
AN: "[e4@3 ~ e4 ~ e4@6 eb4@2 eb4@4 db4@7 ~ db4@2 b3@2 eb4@4 db4@10 ~@18 b3 ~]/2",
AO: "e4@3 ~ e4 ~ e4@4 eb4@4 gb4@6 eb4@2 db4@6 eb4@2 ~@2", AP: "~@3 b4@3 b4@2 b4@4 b4@2 b4@4 bb4@5 bb4@4 bb4@4 ~",
AQ: "bb4@2 ab4@2 ~ gb4@2 gb4@5 ab4@2 ~@18", AR: "~@2 b4@3 ~ b4 ~ b4@4 bb4 ~ b4@3 bb4@6 bb4@3 ~ bb4@4 ~",
AS: "bb4@5 ab4@2 gb4@3 ~ ab4 ~@20",
AT: "[b4@3 ~ b4 ~ b4@6 bb4 ~ b4@6 bb4@2 db5@13 b4@3 bb4@2 ab4@3 gb4@5 ab4 ~@13 e4 ~]/2",
AU: "[e4@3 ~ e4 ~ e4@4 eb4@3 ~ eb4@4 db4@8 db4@2 b3@3 db4@7 eb4 ~@23 b3@2]/2",
AV: "e4@3 e4 ~@2 e4@4 eb4@4 gb4@5 eb4@3 db4@6 eb4@4", AW: "db4@3 b3@11 ~@18",
})).s("gm_vibraphone").gain(0.36)
// chords · epiano1 · "Detuned Elec Piano 1"
const epiano1 = note(`<
A@2 B@2 C D E F G H I J K L M N O P Q R S T U V W X@2 Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS
AT@2 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@2 BX@2
>`.pickRestart({
A: "[~@7 a5 ~@2 c6 ~@3 g5 ~@8 d5 ~@2 f5 ~@4 bb4, [eb3,bb5]@12 g5@4 bb5@6 [f4,a5]@8 [a4,d5,f5]@8 f4@6 eb5@4 ~@7 d5@9, g5@7 g4@10 ~@3 c4@11 ~@5 d4@12 ~@6 [f4,bb4]@10, ~@2 bb3@14 eb3@15 ~ d3@16 [g2,g3,g4,bb4,c5]@7 ~ [f2,f3]@8, ~@5 f4@12 ~ a3@13 ~@3 a3@14 ~@12 c5@4]/2", // Eb5 F Dm Bb5 C7 F
B: "[~@7 a4 [d4,g4,bb4]@2 c5 [c4,f4,a4]@3 g4 ~@8 d4 ~@2 d4 ~@4 d4, [eb2,bb4]@16 ~@24 d2@8 [d2,d3,g3,bb3,eb4]@7 ~ [c2,c3]@8, g4@6 g3@10 ~@14 [a3,c4,f4]@18 ~@6 [gb3,a3,d4]@9 ~, ~ bb2@5 g4@2 ~@7 d4@7 eb4@2 ~@6 c4@2, ~@4 f3@12 eb3@15 ~ d3@16 ~@16]/2", // Gm F Eb5 Ebmaj7 C F D
C: "~@4 [c4,d4]@2 ~@2 [c4,d4]@4 ~@3 f4, [bb1,bb2]@3 ~, [c4,d4]@2 ~@5 eb4, ~ f3@2 f3@3 [bb2,c4,d4]@2", // Csus2 Bb Csus2 Bb
D: "c4@2 a3@2 ~@4 c4@3 f4 ~@3 d4, a2@3 [a2,a3,c4,f4], f4@16 ~@13 eb4@3, ~ c4 ~@2, ~@3 a3@3 ~@2", // F
E: "g3@2 ~@5 eb4 ~@4 c4@3 d4, [g2,eb4] [gb2,eb4], bb3!2 c4 ~, ~ g3@3 ~ gb3@3, ~@3 d4 ~@4", // Cm Ebm
F: "~@6 f4@2 [eb3,c4,f4,a4]@3 ~@3 [c3,eb4,c5]@2, f2 ~, ~ [f3,c4,d4]@15 ~@6 [d3,d4,bb4]@10, ~ f5 ~@2, ~@5 d5@3 ~@8", // F7 Cm Dm7 Gm
G: "c5 ~ bb4 ~@3 f4@2 ~@2 f4@2 ~@3 f5, bb2, ~ d5@2 f4@3 ~@6 [f3,c5,d5]@4, ~@8 f3@8 [bb3,c5,d5]@9 ~@3 f4@4", // Dm7 Bb
H: "~ g4 ~@6 [c4,f4]@8 ~@6 g5@2 [a4,c5,g5]@6 f5 ~, a2 ~, ~ a4@15 ~@16, ~@2 c3@4 a3@10 [a3,c4,f4]@9 ~@7, ~ f3 ~@6", // F5 Am7 F
I: "[g4,bb4]@4 [g4,bb4]@3 eb5 [gb2,gb4,c5,eb5]@3 ~ [f4,d5]@3 d5, g2@17 ~@6 f2@9, eb5@7 ~@4 d5 ~@4", // Gm Cdim Dm
J: "[e4,g4,d5]@4 ~@2 bb4 ~ f2@4 [eb2,a3,c4,eb4,g4]@4, e2@7 [f4,a4,c5]@5 ~@4, ~@8 [e4,g4,c5]@7 ~@17", // Em7 Am7b5 F C
K: "~ [a3,d4]@7 ~@8 [a3,d4,f4]@8 ~@6 bb3@2, [d2,f4]@7 d3@9, ~ [a3,d4] ~ [d4,bb4], ~@3 a2 ~@3 [a3,c4,a4]", // D5 Dm D5 Gm Am
L: "bb3@4 [bb3,d4]@3 bb2 [eb3,bb3,eb4,g4]@3 f4 [d3,a3,d4,f4]@4, [eb3,g4] ~", // Bb Eb Dm Eb
M: "eb4@4 ~@3 [f3,g4] [g3,bb3,d4]@4 [d3,a3,d4,f4]@4, [c3,g3] ~, ~@8 eb4@9 ~@15", // Fsus2 Gm Dm C5
N: "~@7 e3 [bb3,c4,eb4,g4]@3 g3 ~@3 e3, [bb3,d4,g4] ~, eb3@3 eb3 f3@3 f3, ~ c4 ~ [c4,eb4,f4,a4]", // Cm7 Gm F7
O: "bb4@8 bb4@4 [bb2,c4,f4,a4] ~ [eb3,eb4,g4,bb4] ~@3 [eb3,c4,a4]@4 ~@6 f3@4, [eb3,eb4,g4]@13 ~@5 f4@14, ~@11 bb2@5, ~@3 eb3, ~@25 [c4,a4]@7", // F Eb Adim Eb F
P: "[d3,a3,f4]@4 ~@2 d3 ~@2 bb3@2 g3 ~@3 f3, ~@8 f4@11 ~@9 [g3,d4]@4, ~@8 a3@6 c4@5 ~@5 [bb3,f4]@8, ~ g2", // Dm G5 Bb5
Q: "[d4,bb4]@8 [d4,bb4]@4 bb2 ~ [eb3,d4,bb4] ~@3 [eb3,c4,a4]@4 ~@6 f3@4, eb3@6 ~@5 bb2@5, ~@3 [eb3,c4,a4]", // Gm Ebmaj7 Adim
R: "[a3,f4]@8 ~@6 d3@2 ~@5 a2@2 ~@7 d3@2, d4@16 f2@2 ~ ab2@4 bb2@2 ~ c3@6, d3@7 ~ [c4,ab4]@4 [d4,bb4]@4, ~@8 [a3,f4]@9 g2@7 ~@4 db3@4", // Dm Fm Gm Dm
S: "[eb3,d4,eb4,bb4]@4 [d4,eb4,bb4]@2 ~ [d4,f4,bb4] [c4,eb4,a4]@4 ~@2 eb3@2, ~@3 bb3 ~@2 [c4,f4,a4]@2, ~@14 eb4 ~@17", // Ebmaj7 Bb Adim F
T: "f4@9 ~@5 gb2@2 [g2,d4,g4,bb4]@6 ~@6 [bb2,bb4,d5]@4, [d3,a3]@17 ~@15, ~@9 f4@8 ~@15, ~@6 f2@2 ~@3 [a2,a4,c5]@5", // Gm Bb D5 Am
U: "[c3,g4,eb5]@8 [d3,f4,d5]@7 ~ [eb4,g4,d5]@8 ~@6 a2@2, ~@15 eb3@17, ~@3 [eb4,g4,c5], ~@7 c3", // Cm Dm Ebmaj7 Cm
V: "c5@4 c5@3 [gb2,f5] [g2,c5]@4 [g3,f4,g4,bb4,d5]@4, [f2,eb4,g4]@16 [f4,a4] ~@15", // Gbmaj7 C5 Gm7 Cm F
W: "[c3,g4,bb4,eb5] [d3,f4,a4,d5] [eb3,g4,bb4,f5] [f2,c4,eb4,bb4]", // Cm7 Dm Eb Fsus4
X: "[[bb2,d4,bb4]@6 g5 a5 [eb4,bb5]@2 c6 [d4,a5]@3 g5 ~@8 d4 [d3,eb4]@3 ~@4 d4, ~@22 ab5 ~@5 c4 ~ f5@18 ~@16, ~@4 [d3,bb3,d4]@2 ~ c3, ~@22 eb4@2 ~@3 d4@3 c4@2]/2", // Bb Eb5 D5 Ebmaj7 Gm
Y: "~@8 [c4,d4]@4 ~@3 f4, bb2@3 [bb2,c4,d4], [c4,d4]@2 [c4,d4]@2 ~@3 eb4, ~ f3@2 f3@3 ~@2", // Csus2 Bb Csus2
Z: "c4@2 ~@6 c4@3 f4 ~@3 d4, [a2,f4]@3 [a2,a3,c4,f4], ~ a3@2 a3@3 ~@2, ~@2 c4@2 ~@3 eb4", // Dm F
AA: "~@14 eb4@2 bb3 ~@11 d4@3 ~, [g2,g3,bb3,eb4] [gb2,gb3,eb4], ~@3 d4 ~@4", // Eb Ebm
AB: "[f3,c4]@4 [f3,c4]@4 [eb3,c4,f4,a4]@3 ~@3 [c3,eb4,c5]@2, [f2,d4]@17 ~@5 [d3,d4,bb4]@10", // F5 F7 Cm Dm Gm
AC: "c5 d5 bb4 ~@5 [c5,d5]@4 ~@3 f5, bb2, ~@6 f4@21 ~ f4@4, ~ f3@2 [f3,c5,d5], ~ bb3", // Csus2 Dm7
AD: "~ d3 ~@2 f4@4 f4@3 g5 [a4,c5,g5]@3 f5, a4@3 ~, [c4,f4]@3 a3@11 ~@2, a2 f3@5 ~@2, ~ c4@2 ~", // Am7 F5
AE: "g4 [g4,bb4] [gb2,gb4,bb4,eb5] [f2,f4,d5], [g2,eb5] ~", // Gm Ebm Dm Cm
AF: "[e4,g4]@4 ~@3 c5 [f2,f4,a4,c5]@4 [eb2,a3,c4,eb4,g4]@4, [e2,d5] ~, ~ [e4,g4,c5] ~@2, ~@3 bb4 ~@4", // Em F Am7b5 E7 C
AG: "[d2,a3,d4]@8 [a3,d4]@6 a2@2 [a3,d4,f4]@7 ~@6 bb3@3, f4@15 ~ d3@16, ~@3 [d4,bb4], ~@7 [a3,c4,a4]", // D5 Dm Gm Am
AH: "bb3@4 [bb3,eb4]@3 bb2 ~@3 f4 [d3,a3,d4,f4]@4, [eb3,g4]@16 [eb3,bb3,eb4,g4]@9 ~@7", // Eb5 Dm Eb
AI: "~@16 g3 g3@7 [d3,a3,d4,f4]@8, [c3,g3,eb4]@15 f3@2 ~@15, ~@8 c4@8 [bb3,d4]@9 ~@7, ~@14 g4@3 ~@15", // Dm Cm Bb
AJ: "~@7 e3 [bb3,c4,eb4,g4]@4 ~@2 f3 e3, g4 ~, eb3@3 eb3 f3@3 ~, ~ [bb3,d4]@16 ~@15, ~@9 c4@7 ~@8 [c4,eb4,f4,a4]@7 ~", // Cm7 Bb F7
AK: "[eb4,bb4] g4 ~@6 [eb4,g4,bb4]@4 [bb2,c4,f4,a4]@2 [eb3,eb4,g4,bb4] ~@3 [eb3,c4]@4 ~@6 f3@4, eb3@7 ~@2 a4@7, ~@11 bb2@5, ~@3 [eb3,c4]", // Eb5 Eb F Eb Cm
AL: "f4@4 ~@5 bb3@2 g3 ~@3 f3, [a3,d4] g2, d3@12 d3@7 ~@9 [g3,d4]@4, ~@8 f4@11 ~@13, ~@7 c4@3 ~@2 [bb3,f4]@4", // D5 G5 Bb5
AM: "[d4,bb4]@8 [d4,bb4]@4 bb2@2 [eb3,d4,bb4] ~@3 eb3@4 ~@6 f3@4, eb3@7 ~@2 [c4,a4]@7, ~@11 bb2@5, ~@3 [eb3,d4,f4]", // Gm Ebmaj7 F Dm
AN: "~@14 d3@2 eb4 ~@4 a2@3 bb2@2 ~@4 d3@2, [a3,f4]@17 ~ [g2,eb4]@7 ~ c3@6, d3@14 ~@2 [f2,c4,ab4]@9 ~@3 db3@4, ~@8 [c4,d4]@9 ~@2 ab2@5 [d4,f4,bb4]@8", // Dm Cm Fm Csus2 Bb
AO: "[d4,eb4,bb4]@2 d4 ~ [c4,a4]@2 ~ eb3, eb3@14 d4@3 ~@7 [c4,f4,a4]@8, ~@8 bb4@7 f4@2 ~@15, ~@3 bb3 eb4@4", // Ebmaj7 F
AP: "f4@4 ~@3 gb2 [g2,d4,g4,bb4]@3 ~@3 [bb2,f4,bb4,d5]@2, [d3,a3,d4]@17 ~@15, ~ f4 ~@2, ~@6 f2@2 ~@3 [a2,a4,c5]@5", // Gm Bb D5 Am
AQ: "[c3,g4,bb4,eb5]@4 [d3,f4,a4,d5]@4 [eb4,g4,d5]@4 ~@3 a2, ~ eb3, ~@3 [eb4,bb4,c5], ~@7 c3", // Cm7 Dm Ebmaj7 Cm7
// … 151 more lines
More by Michael Bolton
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.