0:00/0:00
// L'amore vuole amore — Michele Zarrillo
// 114 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 16 piano (copy of ch 5 choir aahs)
// note: Full arrangement: all 130 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(114/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(`<
~@3 A ~@2 B C D E F G D E H I D E F G D E H J K L M N O P Q@2 K L M N O R Q@2 D E F G D E H I S T U V S E H J K L M N
O P Q@2 K L M N O R Q@2 W X Y@2 Z X AA@2 AB AC AD@3 AC AE@2 AF AG AH@3 AG AE@2 AI AJ AK AL AM AN AO@2 AP AQ AR AS AM
AT AU@2 AV AW AX@2 AY AW AZ@2 AV AW AX@2 AY AW AZ@2 BA@2
>`.pickRestart({
A: "[c5,c6] [g4,g5] [f4,f5]@3 ~@3", B: "~@8 c6 g5 c5@5 ~", C: "c6 g5 c5@5 ~ c6 g5 c5@2 c5@4, ~@4 f4@3 ~, ~@10 g4@5 ~",
D: "[g3,c4,eb4]@7 ~", E: "[f3,bb3,d4]@15 ~", F: "[f3,a3,c4]@6 [f3,bb3,d4] [a3,c4]", G: "[f3,a3,c4]@7 ~",
H: "[f3,a3,c4]@11 [f3,a3,f4] [g3,bb3,f4]!2 [g3,bb3,f4]@2", // F Gm7
I: "[f3,a3,f4]@3 ~@2 [g3,bb3,f4]@2 [g3,bb3,f4] [f3,a3,f4]@3 [f3,a3,f4] [g3,bb3,f4]!2 [g3,bb3,f4]@2", // F Gm7 F Gm7
J: "[f3,a3,f4]@3 ~@2 [g3,bb3,c5]@2 [g3,bb3,f4] [f3,a3,c5]@3 [f3,a3,f4] [f3,c4,f4]!2 [f3,c4,f4]@2", // F C7 Gm7 F F5
K: "[c4,eb4,g4]@7 ~@9", // Cm
L: "~@4 c6 ~@4 f4 ~ bb3@2 f3@3, [g3,bb3,d4]@8 bb4@2 c4@3 ~@3, ~@5 bb5@2 c5@3 ~@6, ~@6 f5@3 ~@7", // Gm
M: "[bb3,db4,f4]@7 ~@9", N: "[f3,ab3,c4]@7 ~ [c4,f4]@2 ~ [c4,g4]@3 [c4,ab4]@2", O: "[bb3,eb4,g4]@5 ~@11",
P: "[bb3,d4,f4]@7 ~@9", // Bb
Q: "[eb5 c5@2 d5 bb4@2 c5 ~@2 bb4 g4@2 a4 c4 [a3,c4,f4] [a3,c4,g4], [a3,c4,f4]@7 ~@7 a4@4 ~@14, ~@16 [a3,c4,f4]@7 ~@9]/2", // F Am7 F
R: "~@2 [bb3,c4,f4]@2 ~ [bb3,c4,f4]@3 [bb3,c4,f4]@4 ~@4, bb2@7 ~@9", S: "[g3,eb4]@7 ~", T: "[f3,d4]@15 ~",
U: "[f3,c4]@6 [f3,d4] c4", V: "[f3,c4]@7 ~", W: "~ c6@2 d6 bb5@2 c6 g5, [g3,c4,eb4]@7 ~",
X: "~ bb5 f5@2 g5 c5@2 bb4, [f3,bb3,d4]@15 ~", // Bb
Y: "[[f3,a3,c4,c5]@6 [f3,bb3,d4,eb5] [a3,c4] [f3,a3,c4]@7 ~, ~@7 c5@4 ~@5]/2", // F Bb Am F
Z: "eb6 c6@2 d6 bb5@2 c6 g5, [g3,c4,eb4]@7 ~", // Cm
AA: "[[f3,a3,c4,c5]@11 [f3,a3,f4] [g3,bb3,f4]!2 [g3,bb3,f4]@2 [f3,a3,f4]@3 ~@2 [g3,bb3]@2 [g3,bb3,f4] [f3,a3,c5]@3 [f3,a3,f4] [f3,c4,f4]!2 [f3,c4,f4]@2, ~@12 eb5@2 c5@7 c5 ~@10]/2", // F Gm7 F Gm Gm7 F F5
AB: "[d3,f3,a3,d4]", AC: "[c3,e3,g3,c4]", AD: "[[g2,b2,d3,g3]@7 [bb2,d3,f3,bb3]@4 [c3,e3,g3,c4]@4 [d3,f3,a3,d4]@9]/3",
AE: "[[g2,b2,d3,g3]@7 [bb2,d3,f3,bb3]@4 [c3,e3,g3,c4]@5]/2", AF: "[d3,f3,d4]", AG: "[c3,e3,c4]",
AH: "[[g2,b2,g3]@7 [bb2,d3]@4 [c3,e3]@4 [d3,f3]@9]/3", AI: "~@4 [e4,g4,b4]@7 ~@5",
AJ: "~@4 e6 ~@4 a4 ~ d4@2 a3@3, [b3,d4,gb4]@8 d5@2 e4@3 ~@3, ~@5 d6@2 e5@3 ~@6, ~@6 a5@3 ~@7", AK: "[d4,f4,a4]@7 ~@9",
AL: "[a3,c4,e4]@7 ~ [e4,a4]@2 ~ [e4,b4]@3 [e4,c5]@2", AM: "[d4,g4,b4]@5 ~@11", AN: "[d4,gb4,a4]@7 ~@9",
AO: "[g5 e5@2 gb5 d5@2 e5 ~@2 d5 b4@2 db5 e4 [db4,e4,a4] [db4,e4,b4], [db4,e4,a4]@7 ~@7 db5@4 ~@14, ~@16 [db4,e4,a4]@7 ~@9]/2", // A Dbm7 A
AP: "[e4,g4,b4]@7 ~ [e4,bb4,db5]@7 ~", AQ: "[d4,bb4,db5] [d4,gb4,b4]", AR: "[d4,f4,a4]@7 ~ [d4,f4,ab4]@7 ~",
AS: "[c4,e4,b4]@7 ~ [c4,e4,a4]@7 ~", AT: "~@2 [d4,e4,a4]@2 ~ [d4,e4,a4]@3 [d4,e4,a4]@4 ~@4, d3@7 ~@9",
AU: "[g5 e5@2 gb5 d5@2 e5 ~@2 d5 b4@2 db5 e4 [db4,e4,a4] [db4,e4,b4], [db4,e4,b4]@7 ~@7 db5@4 ~@14, ~@16 [db4,e4,a4]@7 ~@9]/2", // A Dbm7 A
AV: "~ e6@2 gb6 d6@2 e6 b5, [b3,e4,g4]@7 ~", AW: "~ d6 a5@2 b5 e5@2 d5, [a3,d4,gb4]@15 ~",
AX: "[[a3,db4,e4,e5]@6 [d4,gb4,g5] e4 [a3,db4,e4]@7 ~, ~@3 a3 ~@4, ~@7 e5@4 ~@5, ~@14 db4 ~@17]/2", // A Gmaj7 A
AY: "g6 e6@2 gb6 d6@2 e6 b5, [b3,e4,g4]@7 ~", // Em
AZ: "[[a3,db4,e4,e5]@11 [a3,db4,a4] [b3,d4,a4]!2 [b3,d4,a4]@2 [a3,db4,a4]@3 ~@2 [b3,d4]@2 [b3,d4,a4] [a3,db4,e5]@3 [a3,db4,a4] [a3,e4,a4]!2 [a3,e4,a4]@2, ~@12 g5@2 e5@7 e5 ~@10]/2", // A Bm7 A Bm Bm7 A A5
BA: "[[b3,e4,g4]@5 ~@3]/2", // Em
})).s("gm_piano").gain(0.45).pan(0.7)
// chords · electric guitar muted
const electric_guitar_muted = note(`<
~@8 A B C@2 A B C@2 D E F G H I J G K L M N O E P G 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 L
AP AQ AR AS AM AT AU AV AW AX AY V AZ BA BB BC BD BE BF BG BH BI ~@15 BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW ~ BX
BY BZ CA CB CC BZ CD CE CF BZ CG CB@2 BZ CH CB@2 CI ~
>`.pickRestart({
A: "[c4,eb4,g4] ~ [c4,eb4,g4]!2 [c4,eb4,g4]@2 [c4,eb4,g4]!2 ~ [c4,eb4,g4]!2 ~ [c4,eb4,g4] ~ [c4,eb4,g4]!2", // Cm
B: "[d4,f4,bb4]@2 [d4,f4,bb4]!2 [d4,f4,bb4]@2 [d4,f4,bb4]!2 ~ [d4,f4,bb4]!2 ~ [d4,f4,bb4] ~ [d4,f4,bb4]!2", // Bb
C: "[c4,f4,a4]@2 [c4,f4,a4]!2 [c4,f4,a4]@2 [c4,f4,a4]!2 ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4]!2", // F
D: "[c4,eb4,g4] ~ [c4,eb4,g4]!2 [c4,eb4,g4]@2 ~ [c4,eb4,g4] ~ [c4,eb4,g4]!2 ~ [c4,eb4,g4] ~@2 g4", // Cm
E: "[d4,f4,bb4]@2 ~@2 [d4,f4,bb4]@2 ~ [d4,f4,bb4] ~ [d4,f4,bb4]!2 ~ [d4,f4,bb4] ~@3", // Bb
F: "[c4,f4,a4]@2 [c4,f4,a4] ~ [c4,f4,a4]@2 c4 [c4,f4,a4] ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4] ~", // F
G: "[c4,f4,a4]@2 [c4,f4,a4] ~ [c4,f4,a4]@2 ~ [c4,f4,a4] ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4] ~", // F
H: "[c4,eb4,g4] ~ [c4,eb4,g4]!2 [c4,eb4,g4]@2 ~ [c4,eb4,g4] ~ [c4,eb4,g4]!2 ~ [c4,eb4,g4] ~@2 eb4", // Cm
I: "[d4,f4,bb4]@2 ~@2 [d4,f4,bb4]@2 ~ [d4,f4,bb4] ~ [d4,f4,bb4]!2 ~ [d4,f4,bb4] ~ f4 ~", // Bb
J: "[c4,f4,a4]@2 [c4,f4,a4] ~ [c4,f4,a4]@2 ~ [c4,f4,a4] ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4] a4", // F
K: "[c4,eb4,g4] ~ [c4,eb4,g4]!2 [c4,eb4,g4]@2 ~ [c4,eb4,g4] ~ [c4,eb4,g4]!2 ~ [c4,eb4,g4] ~@3", // Cm
L: "[d4,g4,bb4]@2 ~@2 [d4,g4,bb4]@2 ~ [d4,g4,bb4] ~ [d4,g4,bb4]!2 ~ [d4,g4,bb4] ~@3", // Gm
M: "[db4,f4,bb4]@2 [db4,f4,bb4] ~ [db4,f4,bb4]@2 ~ [db4,f4,bb4] ~ [db4,f4,bb4]!2 ~ [db4,f4,bb4] ~ [db4,f4,bb4] ~", // Bbm
N: "[c4,f4,ab4]@2 [c4,f4,ab4] ~ [c4,f4,ab4]@2 ab4 [c4,f4,ab4] ~ [c4,f4,ab4]!2 ~ [c4,f4,ab4] ~ [c4,f4,ab4] f4", // Fm
O: "[bb3,eb4,g4] ~ [bb3,eb4,g4]!2 [bb3,eb4,g4]@2 ~ [bb3,eb4,g4] ~ [bb3,eb4,g4]!2 ~ [bb3,eb4,g4] ~@2 bb3", // Eb
P: "[c4,f4,a4]@2 [c4,f4,a4] ~ [c4,f4,a4]@2 ~ [c4,f4,a4] ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [f4,a4] ~", // F
Q: "[c4,eb4,g4] ~ [c4,eb4,g4]!2 [c4,eb4,g4]@2 [c4,eb4,g4]!2 ~ [c4,eb4,g4]!2 ~ [c4,eb4,g4] ~ g4 eb4", // Cm
R: "[d4,g4,bb4]@2 bb4 ~ [d4,g4,bb4]@2 g4 [d4,g4,bb4] ~ [d4,g4,bb4]!2 ~ [d4,g4,bb4] ~ bb4 [d4,bb4]", // Gm
S: "[db4,f4,bb4]@2 [db4,f4,bb4] ~ [db4,f4,bb4]@2 [db4,bb4] [db4,f4,bb4] ~ [db4,f4,bb4]!2 ~ [db4,f4,bb4] ~ [db4,f4,bb4] f4", // Bbm Gb Bbm
T: "[c4,f4,ab4]@2 [c4,f4,ab4] [f4,ab4] [c4,f4,ab4]@2 [c4,ab4] [c4,f4,ab4] ~ [c4,f4,ab4]!2 ~ [c4,f4,ab4] ~ [c4,f4,ab4] ab4", // Fm
U: "[bb3,eb4,g4] ~ [bb3,eb4,g4]!2 [bb3,eb4,g4]@2 [bb3,eb4,g4]!2 ~ [bb3,eb4,g4]!2 ~ [bb3,eb4,g4] ~@2 [bb3,eb4,g4]", // Eb
V: "[d4,f4,bb4] ~@7", // Bb
W: "[c4,f4,a4]@2 [c4,f4,a4] a4 [c4,f4,a4]@2 c4 [c4,f4,a4] ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4] ~", // F
X: "[c4,f4,a4]@2 [c4,f4,a4] ~ [c4,f4,a4]@2 [c4,f4,a4]!2 ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4] [c4,a4]", // F
Y: "[c4,eb4,g4] ~ [c4,eb4,g4]!2 [c4,eb4,g4]@2 [c4,eb4] [c4,eb4,g4] ~ [c4,eb4,g4]!2 ~ [c4,eb4,g4] ~@2 eb4", // Cm
Z: "[d4,f4,bb4]@2 ~@2 [d4,f4,bb4]@2 f4 [d4,f4,bb4] ~ [d4,f4,bb4]!2 ~ [d4,f4,bb4] ~@2 bb4", // Bb
AA: "[c4,f4,a4]@2 [c4,f4,a4] [c4,f4] [c4,f4,a4]@2 [c4,a4] [c4,f4,a4] ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4] [c4,a4]", // F F5 F
AB: "[c4,f4,a4]@2 [c4,f4,a4] [f4,a4] [c4,f4,a4]@2 c4 [c4,f4,a4] ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4] ~", // F
AC: "[c4,eb4,g4] ~ [c4,eb4,g4]!2 [c4,eb4,g4]@2 [c4,eb4,g4]!2 ~ [c4,eb4,g4]!2 ~ [c4,eb4,g4] ~@2 [c4,eb4,g4]", // Cm
AD: "[d4,f4,bb4]@2 ~@2 [d4,f4,bb4]@2 d4 [d4,f4,bb4] ~ [d4,f4,bb4]!2 ~ [d4,f4,bb4] ~ d4 f4", // Bb
AE: "[c4,f4,a4]@2 [c4,f4,a4] f4 [c4,f4,a4]@2 c4 [c4,f4,a4] ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4] ~", // F
AF: "[c4,f4,a4]@2 [c4,f4,a4] [c4,f4] [c4,f4,a4]@2 [f4,a4] [c4,f4,a4] ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4] ~", // F F5 F
AG: "[c4,eb4,g4] ~ [c4,eb4,g4]!2 [c4,eb4,g4]@2 c4 [c4,eb4,g4] ~ [c4,eb4,g4]!2 ~ [c4,eb4,g4] ~ c4 [c4,g4]", // Cm C5
AH: "[d4,f4,bb4]@2 ~@2 [d4,f4,bb4]@2 ~ [d4,f4,bb4] ~ [d4,f4,bb4]!2 ~ [d4,f4,bb4] ~@2 f4", // Bb
AI: "[c4,f4,a4]@2 [c4,f4,a4] [c4,a4] [c4,f4,a4]@2 [c4,f4,a4]!2 ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4] [c4,a4]", // F
AJ: "[c4,f4,a4]@2 [c4,f4,a4] a4 [c4,f4,a4]@2 [c4,f4,a4]!2 ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4] ~", // F
AK: "[c4,eb4,g4] ~ [c4,eb4,g4]!2 [c4,eb4,g4]@2 [eb4,g4] [c4,eb4,g4] ~ [c4,eb4,g4]!2 ~ [c4,eb4,g4] ~ c4 [c4,eb4,g4]", // Cm Eb Cm
AL: "[d4,f4,bb4]@2 bb4 ~ [d4,f4,bb4]@2 [f4,bb4] [d4,f4,bb4] ~ [d4,f4,bb4]!2 ~ [d4,f4,bb4] ~ bb4 d4", // Bb Bb5 Bb
AM: "[c4,f4,a4]@2 [c4,f4,a4] a4 [c4,f4,a4]@2 [f4,a4] [c4,f4,a4] ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4] a4", // F
AN: "[c4,f4,a4]@2 [c4,f4,a4]!2 [c4,f4,a4]@2 [c4,f4] [c4,f4,a4] ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4] a4", // F F5 F
AO: "[c4,eb4,g4] ~ [c4,eb4,g4]!2 [c4,eb4,g4]@2 [c4,eb4,g4]!2 ~ [c4,eb4,g4]!2 ~ [c4,eb4,g4] ~ c4 [c4,eb4,g4]", // Cm
AP: "[db4,f4,bb4]@2 [db4,f4,bb4]!2 [db4,f4,bb4]@2 [db4,f4,bb4]!2 ~ [db4,f4,bb4]!2 ~ [db4,f4,bb4] ~ [db4,f4,bb4] f4", // Bbm
AQ: "[c4,f4,ab4]@2 [c4,f4,ab4] ~ [c4,f4,ab4]@2 [c4,f4] [c4,f4,ab4] ~ [c4,f4,ab4]!2 ~ [c4,f4,ab4] ~ [c4,f4,ab4] f4", // Fm F5 Fm
AR: "[bb3,eb4,g4] ~ [bb3,eb4,g4]!2 [bb3,eb4,g4]@2 [bb3,eb4,g4]!2 ~ [bb3,eb4,g4]!2 ~ [bb3,eb4,g4] ~@2 [bb3,g4]", // Eb
AS: "[d4,f4,bb4]@2 ~@2 [d4,f4,bb4]@2 ~ [d4,f4,bb4] ~ [d4,f4,bb4]!2 ~ [d4,f4,bb4] ~ bb4 d4", // Bb
AT: "[c4,f4,a4]@2 [c4,f4,a4] [c4,a4] [c4,f4,a4]@2 [c4,a4] [c4,f4,a4] ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4] c4", // F
AU: "[c4,eb4,g4] ~ [c4,eb4,g4]!2 [c4,eb4,g4]@2 ~ [c4,eb4,g4] ~ [c4,eb4,g4]!2 ~ [c4,eb4,g4] ~ eb4 [eb4,g4]", // Cm Eb
AV: "[d4,g4,bb4]@2 bb4 ~ [d4,g4,bb4]@2 ~ [d4,g4,bb4] ~ [d4,g4,bb4]!2 ~ [d4,g4,bb4] ~ bb4 d4", // Gm
AW: "[db4,f4,bb4]@2 [db4,f4,bb4] bb4 [db4,f4,bb4]@2 ~ [db4,f4,bb4] ~ [db4,f4,bb4]!2 ~ [db4,f4,bb4] ~ [db4,f4,bb4] db4", // Bbm
AX: "[c4,f4,ab4]@2 [c4,f4,ab4] [c4,f4] [c4,f4,ab4]@2 c4 [c4,f4,ab4] ~ [c4,f4,ab4]!2 ~ [c4,f4,ab4] ~ [c4,f4,ab4] f4", // Fm F5 Fm
AY: "[bb3,eb4,g4] ~ [bb3,eb4,g4]!2 [bb3,eb4,g4]@2 [eb4,g4] [bb3,eb4,g4] ~ [bb3,eb4,g4]!2 ~ [bb3,eb4,g4] ~@2 [bb3,eb4,g4]", // Eb
AZ: "[c4,f4,a4]@2 [c4,f4,a4]!2 [c4,f4,a4]@2 ~ [c4,f4,a4] ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4] ~", // F
BA: "[c4,f4,a4]@2 [c4,f4,a4] ~ [c4,f4,a4]@2 [c4,a4] [c4,f4,a4] ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4] ~", // F
BB: "[c4,eb4,g4] ~ [c4,eb4,g4]!2 [c4,eb4,g4]@2 g4 [c4,eb4,g4] ~ [c4,eb4,g4]!2 ~ [c4,eb4,g4] ~@2 [c4,g4]", // Cm C5
BC: "[d4,f4,bb4]@2 ~@2 [d4,f4,bb4]@2 ~ [d4,f4,bb4] ~ [d4,f4,bb4]!2 ~ [d4,f4,bb4] ~@2 [d4,f4]", // Bb Dm
BD: "[c4,f4,a4]@2 [c4,f4,a4] c4 [c4,f4,a4]@2 [f4,a4] [c4,f4,a4] ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4]!2", // F
BE: "[c4,f4,a4]@2 [c4,f4,a4]!2 [c4,f4,a4]@2 [c4,f4,a4]!2 ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4] ~", // F
BF: "[c4,eb4,g4] ~ [c4,eb4,g4]!2 [c4,eb4,g4]@2 [c4,eb4,g4]!2 ~ [c4,eb4,g4]!2 ~ [c4,eb4,g4] ~@2 [c4,g4]", // Cm C5
BG: "[d4,f4,bb4]@2 f4 ~ [d4,f4,bb4]@2 [f4,bb4] [d4,f4,bb4] ~ [d4,f4,bb4]!2 ~ [d4,f4,bb4] ~@3", // Bb Bb5 Bb
BH: "[c4,f4,a4]@2 [c4,f4,a4] [f4,a4] [c4,f4,a4]@2 [c4,f4] [c4,f4,a4] ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4] a4", // F F5 F
BI: "[c4,f4,a4]@2 [c4,f4,a4] [c4,f4] [c4,f4,a4]@2 [c4,f4] [c4,f4,a4] ~ [c4,f4,a4]!2 ~ [c4,f4,a4] ~ [c4,f4,a4] ~", // F F5 F F5 F
BJ: "~@7 [b3,e4,g4]", // Em
BK: "~@2 [e4,g4,b4]!2 [e4,g4,b4]@2 [g4,b4] [e4,g4,b4] ~ [e4,g4,b4]!2 ~ [e4,g4,b4] ~ g4 [e4,g4,b4]", // Em G Em
BL: "[gb4,b4,d5]@2 ~@2 [gb4,b4,d5]@2 b4 [gb4,b4,d5] ~ [gb4,b4,d5]!2 ~ [gb4,b4,d5] ~ d5!2", // Bm
BM: "[f4,a4,d5]@2 [f4,a4,d5]!2 [f4,a4,d5]@2 d5 [f4,a4,d5] ~ [f4,a4,d5]!2 ~ [f4,a4,d5] ~ [f4,a4,d5] f4", // Dm
BN: "[e4,a4,c5]@2 [e4,a4,c5] ~ [e4,a4,c5]@2 ~ [e4,a4,c5] ~ [e4,a4,c5]!2 ~ [e4,a4,c5] ~ [e4,a4,c5] [e4,c5]", // Am C
BO: "[d4,g4,b4] ~ [d4,g4,b4]!2 [d4,g4,b4]@2 [d4,b4] [d4,g4,b4] ~ [d4,g4,b4]!2 ~ [d4,g4,b4] ~ d4 [d4,g4]", // G G5
BP: "[gb4,a4,d5]@2 ~@2 [gb4,a4,d5]@2 ~ [gb4,a4,d5] ~ [gb4,a4,d5]!2 ~ [gb4,a4,d5] ~ d5!2", // D
BQ: "[e4,a4,db5]@2 [e4,a4,db5] db5 [e4,a4,db5]@2 [a4,db5] [e4,a4,db5] ~ [e4,a4,db5]!2 ~ [e4,a4,db5] ~ [e4,a4,db5] db5", // A
BR: "[e4,a4,db5]@2 [e4,a4,db5] [e4,db5] [e4,a4,db5]@2 db5 [e4,a4,db5] ~ [e4,a4,db5]!2 ~ [e4,a4,db5] ~ [e4,a4,db5] [e4,db5]", // A Dbm A Dbm
BS: "[e4,g4,b4] ~ [e4,g4,b4]!2 [e4,g4,b4]@2 [g4,b4] [e4,g4,b4] ~ [e4,bb4,db5]!2 ~ [e4,bb4,db5] ~ bb4 [e4,bb4,db5]", // Em G Em Bbdim
BT: "[d4,bb4,db5]@2 [d4,db5] ~ [d4,bb4,db5]@2 d4 [d4,bb4,db5] ~ [gb4,b4,d5]!2 ~ [gb4,b4,d5] ~@2 gb4", // Gb Dmaj7 Gb Bm
BU: "[f4,a4,d5]@2 [f4,a4,d5] d5 [f4,a4,d5]@2 [f4,d5] [f4,a4,d5] ~ [d4,ab4,b4]!2 ~ [d4,ab4,b4] ~ [d4,ab4,b4] ~", // Dm Abdim
BV: "[e4,b4,c5]@2 [e4,b4,c5] [e4,b4] [e4,b4,c5]@2 c5 [e4,b4,c5] ~ [e4,a4,c5]!2 ~ [e4,a4,c5] ~ [e4,a4,c5] a4", // Cmaj7 E5 Cmaj7 Am
BW: "[d4,g4,b4] ~ [d4,g4,b4]!2 [d4,g4,b4]@2 [d4,g4,b4]!2 ~ [d4,g4,b4]!2 ~ [d4,g4,b4] ~@2 [d4,g4,b4]", // G
BX: "[e4,a4,db5]@2 [e4,a4,db5] ~ [e4,a4,db5]@2 ~ [e4,a4,db5] ~ [e4,a4,db5]!2 ~ [e4,a4,db5] ~ [e4,a4,db5] db5", // A
BY: "[e4,a4,db5]@2 [e4,a4,db5] ~ [e4,a4,db5]@2 db5 [e4,a4,db5] ~ [e4,a4,db5]!2 ~ [e4,a4,db5] ~ [e4,a4,db5] [a4,db5]", // A
BZ: "[e4,g4,b4] ~ [e4,g4,b4]!2 [e4,g4,b4]@2 [e4,g4,b4]!2 ~ [e4,g4,b4]!2 ~ [e4,g4,b4] ~ [e4,g4,b4]!2", // Em
CA: "[gb4,a4,d5]@2 [gb4,d5] d5 [gb4,a4,d5]@2 [gb4,a4,d5]!2 ~ [gb4,a4,d5]!2 ~ [gb4,a4,d5] ~ [gb4,a4,d5] [gb4,d5]", // D
CB: "[e4,a4,db5]@2 [e4,a4,db5]!2 [e4,a4,db5]@2 [e4,a4,db5]!2 ~ [e4,a4,db5]!2 ~ [e4,a4,db5] ~ [e4,a4,db5]!2", // A
CC: "[e4,a4,db5]@2 [e4,a4,db5]!2 [e4,a4,db5]@2 [e4,a4,db5]!2 ~ [e4,a4,db5]!2 ~ [e4,a4,db5] ~ [e4,a4,db5] [e4,a4]", // A A5
CD: "[gb4,a4,d5]@2 [gb4,d5] d5 [gb4,a4,d5]@2 [gb4,a4,d5]!2 ~ [gb4,a4,d5]!2 ~ [gb4,a4,d5] ~ [gb4,d5] [gb4,a4,d5]", // D
CE: "[e4,a4,db5]@2 [e4,a4,db5]!2 [e4,a4,db5]@2 [e4,a4,db5]!2 ~ [e4,a4,db5]!2 ~ [e4,a4,db5] ~ [e4,a4,db5] [a4,db5]", // A
CF: "[e4,a4,db5]@2 [e4,a4,db5]!2 [e4,a4,db5]@2 [e4,a4,db5]!2 ~ [e4,a4,db5]!2 ~ [e4,a4,db5] ~ [e4,a4,db5] [e4,db5]", // A Dbm
CG: "[gb4,a4,d5]@2 [gb4,a4,d5]!2 [gb4,a4,d5]@2 [gb4,a4,d5]!2 ~ [gb4,a4,d5]!2 ~ [gb4,a4,d5] ~ [gb4,a4,d5]!2", // D
CH: "[gb4,a4,d5]@2 [gb4,a4,d5] [gb4,a4] [gb4,a4,d5]@2 [gb4,a4,d5]!2 ~ [gb4,a4,d5]!2 ~ [gb4,a4,d5] ~ [gb4,a4,d5]!2", // D Gbm D
CI: "[e4,g4,b4]", // Em
})).s("gm_electric_guitar_muted").gain(0.19).pan(0.3)
// other · string ensemble 2
const string_ensemble_2 = note(`<
~@32 A B C D E ~ F G ~@24 A B C D E ~ F G ~@24 H I J K L M N O P Q R S T ~ U@2 V W@3 V W@3 V W@3 V W@3 X@2
>`.pickRestart({
A: "[eb5,eb6]", B: "[d5,d6]@6 [a4,a5] [bb4,bb5]", C: "[db5,db6]", D: "[c5,c6]@5 [g4,g5]@2 [ab4,ab5]", E: "[eb5,bb5]",
F: "[f4,a4]@3 [g4,bb4]", G: "[a4,c5]", H: "~ [g5,g6]@3", I: "[gb5,gb6]@6 [db5,db6] [d5,d6]", J: "[f5,f6]",
K: "[e5,e6]@5 [b4,b5]@2 [c5,c6]", L: "[g5,d6]", M: "[d5,gb5]", N: "[a4,db5]@3 [b4,d5]", O: "[db5,e5]",
P: "b5 db6, g4", Q: "db6 b5, gb4", R: "a5 ab5, f4", S: "b5 a5, e4", T: "[d4,g5]", U: "[a3,b4]/2", V: "b4", W: "a4/3",
X: "[e2@5 ~@3]/2",
})).s("gm_string_ensemble_2").gain(0.27).pan(0.7)
// bass · fretless bass
const bass = note(`<
~@2 A@2 B C D@2 E F G H E I J K L M N O L M P Q L R S T U V Q W L R S T U X Q W L M N O L M P Q L M N O L M P Q L R S
T U V Q W L R S T U X Q W L M N O L M P Q Y E Z@3 E AA@2 Y E AB@2 AC AD AE@3 AF AG AH AI AJ AK AL AM AN AO AP AQ AR AK
AL AS AT AU AV AS AT AW AK AS AT AU AV AS AT AW AK AX@2
>`.pickRestart({
A: "[c3, f1 ~@31]/2", B: "c3", C: "bb2", D: "[f2@7 f2]/2", E: "c2", F: "bb1", G: "f1", H: "f2@3 f1", I: "bb1@15 ~",
J: "f1@3 f1!3 ~ f1!3 ~ f1!4 ~", K: "f2@10 c2 ~ c2@4, f1 ~@15", L: "c2@2 ~ bb1 c2 bb1@2 c2@2 bb1 c2@2 bb1@2 c2@2",
M: "bb1@2 ~ bb1!2 bb1@2 bb1@2 a1 bb1@2 a1@2 bb1@2", N: "f1@2 ~ f1!2 f1@2 f1@2 f1 f1@2 a1@2 f1@2",
O: "f1@2 ~ f1!2 f1@2 f1@2 f1 f1@2 bb1@2 b1@2", P: "f1@2 ~ f1!2 f1@2 f1@2 f1 f1@2 a1@2 c2@2",
Q: "f2@2 ~ f2!2 f2@2 f2@2 f2 f2@2 a2@2 f2@2", R: "g1@2 ~ g1!2 g1@2 g1@2 g1 g1@2 f1@2 g1@2",
S: "bb1@2 ~ ab1 bb1 ab1@2 bb1@2 bb1 bb1@2 ab1@2 bb1@2", T: "f1@2 ~ f1!2 f1@2 f1@2 f1 f1@2 eb1@2 f1@2",
U: "eb2@2 ~ eb2!2 eb2@2 eb2@2 eb2 eb2@2 d2@2 eb2@2", V: "bb1@2 ~ bb1!2 bb1@2 bb1@2 bb1 bb1@2 eb2@2 eb2@2",
W: "f2@2 ~ f2!2 f2@2 f2@2 f2 f2@2 a2@2 a2@2", X: "bb1 ~ bb1@2 ~ bb1@2 ~ bb1@4 bb2@4", Y: "d2",
Z: "[g1@7 bb1@4 c2@4 d2@9]/3", AA: "[g1@7 bb1@4 c2@5]/2", AB: "[g1@7 bb1@4 c2@4 d2]/2",
AC: "~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~", AD: "d2@2 d2 ~ d2@2 d2 ~ d2 c2 a1 c2 d2 c2 d2 f2",
AE: "[g2@2 g2@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ bb1@8 c2@8 e2@4 b1@2 e2 d2@2 e2@2 d2 e2@2 d2@2 e2@2]/3",
AF: "b1@2 ~ b1!2 b1@2 b1@2 b1 b1@2 a1@2 b1@2", AG: "d2@2 ~ c2 d2 c2@2 d2@2 d2 d2@2 c2@2 d2@2",
AH: "a1@2 ~ a1!2 a1@2 a1@2 a1 a1@2 g1@2 a1@2", AI: "g2@2 ~ g2!2 g2@2 g2@2 g2 g2@2 gb2@2 g2@2",
AJ: "d2@2 ~ d2!2 d2@2 d2@2 d2 d2@2 g2@2 g2@2", AK: "a2@2 ~ a2!2 a2@2 a2@2 a2 a2@2 db3@2 a2@2",
AL: "a2@2 ~ a2!2 a2@2 a2@2 a2 a2@2 db3@2 db3@2", AM: "e2 ~ e2 ~ e2 ~ e2@2 e2@2 e2@2 e2 ~ e2@2",
AN: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2@2", AO: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~",
AP: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~", AQ: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~",
AR: "~@2 d2@2 ~ d2@2 ~ d2@4 d3@4", AS: "e2@2 ~ d2 e2 d2@2 e2@2 d2 e2@2 d2@2 e2@2",
AT: "d2@2 ~ d2!2 d2@2 d2@2 db2 d2@2 db2@2 d2@2", AU: "a1@2 ~ a1!2 a1@2 a1@2 a1 a1@2 db2@2 a1@2",
AV: "a1@2 ~ a1!2 a1@2 a1@2 a1 a1@2 d2@2 eb2@2", AW: "a1@2 ~ a1!2 a1@2 a1@2 a1 a1@2 db2@2 e2@2", AX: "[e2@9 ~@7]/2",
})).s("gm_fretless_bass").gain(0.42)
// other · electric guitar clean
const electric_guitar_clean = note(`<
~@14 A B ~@2 C@2 ~@2 C@2 ~@22 A B ~@2 D@2 ~@2 D@2 ~@24 E F G H I J K L M N O P Q R S@2 ~@18 T@2 ~@2 T@2 ~@2 T@2 ~@2
T@2 ~@2
>`.pickRestart({
A: "~@3 f3@2 ~ f3@2 f3@4 g3@4", B: "~@2 f3@3 f3@2 ~ f3@4 g3@4", C: "~ g4 [c4,g4]!2 g4 ~@11", D: "~ [c4,g4]!4 ~@11",
E: "d5 c5 a4 c5 ~ a4 c5 ~ a4 ~@2 a4 ~ d5 a4 ~", F: "d5 a4 c5 ~ a4 c5 d5 ~@3 a4 c5 ~@3 d5",
G: "a4 c5 d5 a4 c5 d5 a4 c5 d5 a4 c5 d5 a4 ~@2 a4", H: "c5 d5 a4 c5 d5 a4 c5 d5 a4 c5 d5 a4 c5 d5 ~ c5",
I: "~ a4 ~ d5 ~@2 d5 a4 c5 d5 ~@2 d5 ~@2 d5", J: "~ c5 d5 a4 c5 d5 ~ c5 ~ a4 ~@2 a4 c5 d5 a4",
K: "c5 ~ a4 c5 d5 ~ c5 d5 a4 c5 d5 ~ c5 d5 a4 c5", L: "~ a4 c5 d5 a4 ~ d5 a4 c5 ~ a4 ~ d5 a4 c5 d5",
M: "d5 c5 a4 c5 d5 a4 c5 d5 a4 ~ d5 a4 ~@2 a4 ~", N: "~ a4 c5 d5 a4 c5 ~ a4 ~ d5 a4 ~ d5 a4 c5 d5",
O: "a4 c5 d5 a4 c5 d5 a4 ~@2 a4 c5 ~ a4 c5 d5 a4", P: "c5 d5 a4 ~@2 a4 c5 ~ a4 c5 d5 a4 c5 d5 ~ c5",
Q: "d5 a4 c5 d5 a4 c5 ~@2 c5 d5 a4 c5 d5 a4 c5 d5", R: "a4 c5 d5 a4 c5 d5 ~ c5 d5 ~ c5 d5 ~ c5 d5 a4",
S: "[c5 d5 ~ c5 ~ a4 c5 d5 ~ c5 d5 a4 c5 d5@5 ~@14]/2", T: "~ [e4,b4]!4 ~@11",
})).s("gm_electric_guitar_clean").gain(0.15).pan(0.3)
// other · overdriven guitar
// … 159 more lines
More by Michele Zarrillo
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.