0:00/0:00
// Dimmi chi dorme accanto a me — Zero
// 186 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 272 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(186/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, A@4 for four bars: edit a riff to change every repeat.
// other · piano
const piano = note("<~@119 [f#2@3 d3@3 a3@2] ~@99 [f#2@3 d3@3 a3@2] ~@52>").s("gm_piano").gain(0.45)
// bass · electric bass finger
const bass = note(`<
A B C D E F G H I B C D E F G H I B J K L M N O P B C D E F G Q R S T U V@2 J W X Y L Z I B C D AA B J K L M N O P B C
D AB F G Q AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AH AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK
BL BM BN BO BP BQ BR BS BT BM BU BV BW AH BX BY BZ BA C CA CB BQ AX CC CD BA CE CF CG BI BJ BK BL BM BN CH CI CJ CK CL
CM B C D E F G H I B J K L M N O P B C D E F G CN CO AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS CP AU AV AW AH AX
AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR CQ CR BM BU BV BW AH BX BY BZ BA C CA CB BQ AX CC CD BA CE
CF CS BI BJ BK CT BM BN CU CV BI BJ BK BL BM BN BO BP BQ BR CQ CR BM BU BV CW BI BJ BK BL BM BN BO BP BQ BR CQ CR BM
BU CX CY CZ@2 ~
>`.pickRestart({
A: "~@6 g2 ~ g1@8", B: "a1@11 ~ a1 ~ e1 ~", C: "a1 g1", D: "f1@11 ~ f1 ~ c1 ~", E: "f1 e1", F: "d1@15 ~",
G: "g1@5 ~ g1@8 g1 ~", H: "c2@13 ~@3", I: "b1 e1", J: "a1@6 a1 ~ g1@8", K: "f1@8 f1@4 f1 ~@3", L: "f1@6 f1 ~ e1@8",
M: "d1@11 ~ d1@2 ~@2", N: "g1@7 ~ g1@2 d1 ~ d1@4", O: "c1@7 ~ c1@2 ~@2 c1 ~ c1@2", P: "b1@4 b1 ~ b1 ~ e1@4 e1@4",
Q: "c1@13 ~ c1 ~", R: "c1@3 c2", S: "f1@7 ~ f1 ~@3 f1 ~ f1 ~", T: "f1@6 f1@3 ~ f1@6", U: "b1@10 ~@2 b1 ~ b1@2",
V: "[g#1@13 ~@3 a1@7 ~ a1@2 ~@4 a1 ~, ~@14 g#1@5 ~@13]/2", W: "f#1@6 ~@4 f#1 ~@3 f#1 ~",
X: "f#1@5 ~ f#1 ~@3 f#1 ~ f#1@2 f#1 ~", Y: "f1@8 f1@4 f1 ~ f1 ~", Z: "d1@8 ~@4 d1 ~ d1@2", AA: "e1 e2",
AB: "f1@6 f1 ~@7 f1 ~", AC: "c1@3 c1", AD: "c#1@12 ~@2 c#1 ~", AE: "c#1@5 ~ g1@2 ~@4 c#1 ~ c#1@2",
AF: "f#1@12 ~@2 f#1 ~", AG: "a#1@7 ~@9", AH: "b1@9 ~@3 b1 ~ b1 ~", AI: "b1@6 b1 ~@5 b1 ~ b1@2",
AJ: "e1@9 ~@3 e1 ~ a1 ~", AK: "g#1@9 ~@5 g#1 ~", AL: "a1@6 ~@8 a1 ~", AM: "a1@12 a1 ~ a1@2", AN: "d1@6 ~@8 a1 ~",
AO: "d1@7 ~ d2@8", AP: "f1@7 ~@5 f1 ~ f1 ~", AQ: "f1@6 ~@2 f1@7 ~", AR: "e1@9 ~@3 e1 ~ g#1 ~", AS: "g#1@14 g#1 ~",
AT: "c#2@11 ~@3 c#2 ~", AU: "a1@15 ~", AV: "f#1@10 ~@4 b1 ~", AW: "a#1@5 ~ f#1@2", AX: "b1@15 ~",
AY: "e1@12 e1 ~ a1 ~", AZ: "g#1@5 ~ g#1@3 ~ g#1 ~ g#1 ~@3", BA: "a1@6 ~@6 a1 ~ a1 ~", BB: "a1@4 ~@2 a1 ~@5 a1 ~ a1@2",
BC: "d#1@6 ~@8 d#1 ~", BD: "d#1@3 d#1@3 d#2@2", BE: "d2@11 ~ d2 ~@3", BF: "d2@12 d2 ~ a1@2", BG: "d1@5 ~ d1@2",
BH: "e1@8 f#1@7 ~", BI: "g1@11 ~ g1 ~ g1 ~", BJ: "g1@6 g2@7 ~ g1 ~", BK: "e1@5 ~@7 e2 ~ b1@2", BL: "e1@3 ~ e1@4",
BM: "a1@9 ~@3 a1 ~ a1 ~", BN: "a1@5 ~ a1@4 a1@4 ~@2", BO: "d1@9 ~@5 a1@2", BP: "d2@7 ~ c2@8", BQ: "b1@11 ~@3 b1 ~",
BR: "b1@6 b1@7 ~ b1 ~", BS: "e1@5 ~@9 e2 ~", BT: "~ e2 d2 d#2 e2@4", BU: "a1@7 ~ a1@7 ~", BV: "d#1@5 ~@7 d#1 ~ d#1@2",
BW: "d1@7 ~ c2@8", BX: "b1!2", BY: "e1@10 ~@2 b1 ~ e2 ~", BZ: "e1@7 ~ g#1@7 ~", CA: "f#1@6 ~@6 f#1 ~ f#1 ~",
CB: "d1@4 a1@2 d2@2 c2@7 ~", CC: "f1@5 ~@9 f1 ~", CD: "e1@4 g#1@2 e1 g#1", CE: "a1@5 ~ a1@4 a1@5 ~",
CF: "d#1@13 ~ a1@2", CG: "d2@7 ~ d2@8", CH: "d#1@6 ~ d#1", CI: "d#1@7 ~ d2@8", CJ: "g1@10 ~@4 g1 ~", CK: "g1 d2",
CL: "g2@13 ~ g1 ~", CM: "g0", CN: "c1@11 ~@3 c1 ~", CO: "c1 c2", CP: "c#2@11 ~ c#2@2 e2@2", CQ: "e1@5 ~@9 e1 ~",
CR: "e2@4 g2 e2 b1@2", CS: "d2@11 ~ d2@4", CT: "e2 e2@3", CU: "d#2@9 ~@3 a1 ~ d#2 ~", CV: "d2@7 ~ d1@8",
CW: "d1 a1 d2@2", CX: "d#1@5 ~@7 d#1 ~ d#1 ~", CY: "e2 ~ d2 ~ b1 a1 g1 e1", CZ: "g1/2",
})).s("gm_electric_bass_finger").gain(0.45)
// chords · epiano2
const epiano2 = note(`<
~ A@2 B@2 C D E F G@2 H@2 I J K F ~@28 A@2 L M A@2 B@2 C D E N O@2 L P Q R S@2 T@2 U V W@2 X Y Z@2 AA AB AC@2 AD AE
T@2 U V W@2 X Y Z@2 AF@2 AG@2 AH AI AJ@2 AK AL AM@2 AN AO AP@2 AQ AR@4 AS AT@2 AU AV Z@2 AW@2 AX@2 AY AZ BA@2 BB BC
AJ@2 AK AL AM@2 BD@2 BE@3 BF A@2 B@2 C D E F ~@8 A@2 B@2 C BG BH@2 T@2 U V W@2 X Y Z@2 AA AB AC@2 AD AE BI@2 U BJ W@2
X Y Z@2 AF@2 AG@2 AH AI AJ@2 AK AL AM@2 AN AO AP@2 AQ AR@4 AS AT@2 AU AV Z@2 AW@2 AX@2 AY AZ BK@2 BB BC AJ@2 AK AL
AM@2 BD BL AJ@2 AK AL AM@2 AN AO AP@2 AQ AR@4 BM AJ@2 AK AL AM@2 AN AO AP@2 AQ AR@4 BN@4
>`.pickRestart({
A: "[[a4,c5]@23 ~ [g4,b4]@8]/2", B: "[[e4,a4]@3 [e4,g4]]/2", C: "[c4,f4]", D: "e4@9 d4@7, g4@15 ~", E: "[g4,b4]",
F: "a4 g#4, d5@15 ~", G: "[[a5,c6]@23 ~ [g5,b5]@8]/2", H: "[[e5,a5]@3 [e5,g5]]/2", I: "[c5,f5]", J: "[g4,c5,f5]",
K: "[e5,g5]", L: "[e4,a4]", M: "[g#3,d4,e4]@15 ~", N: "[a3,d4,e4] [g#3,d4]", O: "[[a4,c5]@23 ~ [g4,a4,b4]@8]/2",
P: "[c5,a5]@15 ~", Q: "[c4,f4,a4]", R: "[d4,f4,b4]", S: "[g4,b4,e5]/2", T: "[~@3 g5, [g4,b4,e5]]/2",
U: "[b4,c#5,f#5]", V: "[c#4,f#4,a#4,c#5]", W: "[f#4,b4,d5]/2", X: "[e4,a4,d5]@15 ~", Y: "~@3 e5@5, [g#4,b4]",
Z: "[[e4,g4,c5]@31 ~]/2", AA: "[g4,a4,d5]@15 ~", AB: "[f#4,a4,d5]", AC: "[d4,f4,a4,b4]/2", AD: "[e4,a4,b4]",
AE: "[g#4,b4,e5]", AF: "[[c4,g4,a4]@16 [a4,c5]@7 ~ [c5,g5]@8, d#4@31 ~, ~ g4]/2",
AG: "[~@11 e5@2 g5@3, [c4,e4,g4,b4]@31 ~, ~@20 c5@7 ~@5]/2", AH: "[a4,d5,f#5]", AI: "[c5,e5,g5] [d5,f#5,a5]",
AJ: "[[d4,g4,a4,b4]@31 ~]/2", AK: "[a3,d4,f#4]@6 [b3,e4,g4]@5 ~ [e4,f#4,a4]@4", AL: "[b3,e4,g4] [a3,d4,f#4]",
AM: "[c4,e4,g4]/2", AN: "[c4,e4] ~@15, g4", AO: "a4@7 ~ a4@7 ~, [d4,f#4]@15 ~",
AP: "[~@13 g4@3, d5@31 ~, [d4,b4]@29 ~@3, g4@25 ~@7, ~@20 g5@11 ~]/2", AQ: "[a4,d5,f#5]@8 [b4,e5,g5]@7 ~",
AR: "[[a4,d5,f#5]@7 ~ [g4,b4,e5]@6 ~@28 e4@5 ~ [d#4,g4]@16, ~@14 [c5,e5,g5]@33 b4@17, ~@16 a4@31 ~@17, ~@17 g4@30 ~@17, ~@18 g3 c4@4 ~@9]/4", // D Em D# C
AS: "[d4,g4,a4] [d4,f#4,a4]", AT: "[[b3,d4,f4]@31 ~]/2", AU: "[b3,e4,a4]@15 ~", AV: "[e4,g#4] [e4,g#4,e5], b3",
AW: "[[d4,f#4]@13 ~@11 [a4,d5]@7 ~, a3@7 ~, ~@8 [d4,f#4]@7 ~]/2", AX: "[b4,d5,f5]/2", AY: "[f4,b4,d5,f5]",
AZ: "g#4 b4, [e4,e5]", BA: "[~@12 c6@19 ~, [g4,c5]@31 ~, e4@29 ~@3, ~@3 e5@12 ~]/2", BB: "[c4,d#4,g4]@15 ~",
BC: "[a3,g4]@7 ~ [a3,f#4]@8, d4", BD: "[c4,d#4,g4]", BE: "[[g4,d5]@12 g4@3 ~ g5@8, b4@32 b4 ~@15, ~ d5]/3",
BF: "[b4,d5,g5] ~@3", BG: "~ g4, [b3,f4]", BH: "[~@3 [b4,e5,g5]@5, [e4,g4] ~]/2", BI: "[a4,c#5,e5]/2",
BJ: "~@6 f#5@9 ~, [c#4,f#4,a#4,c#5]", // F#
BK: "[[e4,c5]@3 [d4,b4]@3 [c4,g4]@8 ~@2, c6@3 ~, ~@3 b5@11 ~@2, ~@12 g5@19 ~]/2", BL: "[d4,g4,a4]",
BM: "[d4,f#4,a4]@15 ~", BN: "[[d4,f#4,a4]@14 ~@3 g3@41 ~@6, ~@7 g4@23 ~@2, ~@15 d4@46 ~@3, ~@16 b3@43 ~@5]/4",
})).s("gm_epiano2").gain(0.44).pan(0.4)
// chords · pad warm
const pad_warm = note(`<
~ A@2 B@2 C D E F A@2 B@2 C@2 E F G@2 H@2 I J K L G@2 H@2 I J M@2 N@3 O P@4 Q@2 R S A@2 T O G@2 H@2 I J K L G@2 U@2 I
J M@4 V@2 W@2 X@2 Y@2 Z AA AB@2 X@2 M@2 V@2 W@2 X@2 Y@2 AC@2 M@2 AD AE AF@2 AG AH AI@3 AJ AK@2 AL AM AN@3 AO AP@2 AQ@2
AR@2 AS@2 AT@3 AU AV@2 AW AX AF@2 AG AH AY@2 AZ@2 BA@3 ~ A@2 B@2 C D E F G@2 H@2 I J K L G@2 H@2 I J M@4 V@2 W@2 X@2
Y@2 Z AA AB@2 X@2 BB@2 BC@2 W@2 X@2 Y@2 AC@2 M@2 AD AE AF@2 AG AH AI@3 AJ AK@2 AL AM AN@3 AO AP@2 AQ@2 AR@2 AS@2 AT@3
AU AV@2 AW AX AF@2 AG AH AI@3 AJ AF@2 AG AH AI@3 AJ AK@2 AL AM AN@3 BD AF@2 AG AH AI@3 AJ AK@2 AL AM BE@2 BF BD BG@3
>`.pickRestart({
A: "[[c4,e4,a4,c5]@23 ~ [e4,g4,b4]@8]/2", B: "[[c4,e4,a4]@13 [b3,e4,g4]@3]/2", C: "[a3,c4,f4]",
D: "e4@6 ~@2 [d4,f4]@7 ~, b3, g4@5 ~@3", E: "[c4,e4,g4,b4]@7 ~", F: "[a3,d4,f4]@7 ~ [g#3,d4,e4]@8",
G: "[[a3,c4,e4]@23 ~ [g3,b3,e4]@8]/2", H: "[[a3,c4,e4]@23 ~ [b3,e4,g4]@7 ~]/2", I: "[f3,a3,c4]", J: "[g3,b3]",
K: "[e3,g3,b3]", L: "a3 g#3, d4", M: "[g3,b3,e4]/2", N: "[[f3,a3,d4]@47 ~]/3", O: "[e3,g#3,d4]@15 ~",
P: "[[g3,c4]@32 [f#3,c4]@31 ~, e4@63 ~]/4", Q: "[[a3,c4,f4]@23 ~ [b3,e4,g4]@7 ~]/2", R: "[d3,a3,c4]@15 ~",
S: "[f3,a3,d4]@7 ~ [e3,g#3,d4]@8", T: "[c4,e4,a4]@15 ~", U: "[a3,c4,e4]/2",
V: "[b3@13 ~@3 a#3@15 ~, [c#4,f#4]@31 ~]/2", W: "[a3,d4]/2", X: "[a3@16 g#3@15 ~, e4@15 ~]/2",
Y: "[[g3,c4,e4]@31 ~]/2", Z: "[g3,c4]", AA: "[f#3,d4]", AB: "[[f3,a3,d4]@31 ~]/2", AC: "[[g3,c4,d#4]@15 ~]/2",
AD: "[a3,d4,f#4]@15 ~", AE: "[g3,c4,e4]@7 ~ [f#3,a3,d4]@7 ~", AF: "[[g3,b3]@31 ~]/2",
AG: "[f#3,a3]@3 [g3,b3]@3 [b3,e4]@2", AH: "[g3,b3] [f#3,a3]", AI: "[e3,a3,c4]/3", AJ: "[f#3,a3,d4]@7 ~ [a3,c4]@6 ~@2",
AK: "[g3,b3,d4]/2", AL: "[a3,d4] [b3,e4]", AM: "[a3,d4]@7 [g3,b3]@6 ~@3",
AN: "[g3@7 ~@4 c4@4 ~ b3@7 ~, e3@7 ~@5, ~@16 g3@13 ~@2 [g3,d#4]@14 ~@3]/3", AO: "g3@7 ~ f#3@7 ~, d4@7 ~",
AP: "[[f3,a3,d4,f4]@31 ~]/2", AQ: "[a3@14 ~@2 g#3@15 ~, [e3,e4]@15 ~]/2", AR: "[a3@7 ~ g3@7 ~, [c4,e4]@29 ~@3]/2",
AS: "[[f#3,a3,d4]@15 ~]/2", AT: "[a3,d4,f4]/3", AU: "[g#3,b3,e4]@15 ~", AV: "[[e3,g3,c4]@31 ~]/2", AW: "[g3,c4,d#4]",
AX: "~@8 f#4@7 ~, [a3,d4,g4]", AY: "[e3,a3,c4]/2", AZ: "[[c4,d#4,g4]@15 ~]/2", BA: "[[g3,b3,d4]@15 ~]/3",
BB: "[a3,c#4,e4]/2", BC: "[b3@13 ~@3 a#3@15 ~, [c#4,e4]@31 ~]/2", BD: "[f#3,a3,d4]",
BE: "[g3@7 ~@4 c4@4 ~, e3@7 ~, ~@16 g3@13 ~@3]/2", BF: "[g3,b3,d#4]@7 ~", BG: "[[d3,g3,b3]@11 ~]/3",
})).s("gm_pad_warm").gain(0.32)
// other · marimba
const marimba = note(`<
~@2 A B C D E F G ~ A B C D E F G H I J K L M N O P Q R K S T U V W X Y Z AA AB AC AD AE K AF AG ~ AH AI AJ H I J K L
M N AK P Q R K S T U V AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA AL AM AN AO AP AQ AR AS BB AU BC BD BE BF BG BH
BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD CE CF CG CH CI CJ BU BV CK BX BI BJ BK BL BM BN CL
CM ~@5 A B C D E F G H I J K L M N O P Q R K S T U V AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA AL AM AN AO AP AQ
AR AS BB AU BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD CE CF CG CH CI CJ BU
BV CK BX BI BJ BK BL BM BN CN BP BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BI BJ BK BL BM BN BO BP BQ BR BS BT
BU BV BW BX ~@3
>`.pickRestart({
A: "~@2 e4@2 a4 ~ c5@2 b4@2 ~@6", B: "~@3 [c4,a4] ~@4", C: "~@4 e4 ~ a4 ~ g4@2 e4@2 c4@2 ~@2",
D: "~@6 c4@2 ~@6 [c4,f4] ~, ~@6 f4 ~@9", E: "~@6 [b3,g4] ~@7 b3 ~", F: "~@6 [b3,e4] ~@3 b3 ~@3 g3 ~",
G: "~@2 a3 ~@3 a3 ~ g#3 ~@7", H: "~@6 c5@2 ~@6 a3 ~", I: "e3@2 ~@2 a4 ~ c5@2 b4@2 g4 ~ e4@2 ~@2",
J: "a3@2 ~@4 e4@2 ~@4 c4 ~@3", K: "a3 ~@3 e4 ~ a4 ~ g4@2 e4@2 c4@2 b3 ~", L: "a3@2 ~@2 c4@2 f4 ~@9, g3 ~@15",
M: "b3@2 ~@4 [b3,g4] ~@9", N: "e3 ~@3 d4 ~ b3@2 ~@2 b3 ~@3 g3 ~, ~@6 e4 ~@9", O: "a3 ~@3 d4 ~ a3 ~@3 g#3 ~ e4 ~ d4 ~",
P: "c4@2 ~@4 c5@2 ~@6 a3 ~", Q: "e3@2 ~@2 a4 ~ c5@2 b4@2 g4 ~@3 e4 ~", R: "a3@2 ~@4 [c4,e4]@2 ~@6 c4 ~",
S: "a3@2 ~@2 c4@2 [c4,f4] ~@9, g3 ~@15", T: "b3@2 ~@4 [b3,g4] ~@3 e3 ~@3 c4 ~",
U: "e2 ~@3 d3 ~ g3@2 ~@6 b3 ~, ~@6 b3 ~@9", V: "e3 ~@3 e4 ~ [g3,e4] ~@3 [b3,g4] ~@3 c4 ~",
W: "~@4 a3 ~ [a3,d4]@2 ~@8", X: "~@4 a3 ~ a3@2 ~@2 d4@2 ~@4, ~@6 d4 ~@3 a4 ~@5",
Y: "f3@2 b3 ~ d4 ~ [d4,a4] ~@3 f4 ~@3 a3 ~", Z: "g#3 ~ b3 ~@3 [e4,g#4] ~@3 [g#4,b4] ~@5",
AA: "~@4 e4 ~ [e4,c5]@2 ~@8", AB: "a3 ~@3 e4 ~ [e4,c5]@2 b4 ~@3 c4 ~ a3 ~", AC: "f#3@2 ~@2 c4 ~ [e4,c5] ~@7 a3 ~",
AD: "f#3 ~@3 e4 ~ [e4,c5] ~@3 [c4,a4] ~@3 c4 ~", AE: "a3@2 ~@2 c4 ~ [f4,a4]@2 ~@4 c4 ~@3",
AF: "d3 ~@3 c4 ~ f4@2 ~@2 c4 ~@3 a3 ~, ~@6 c4 ~@9", AG: "b2 ~ a3 ~ d4 ~ f4 ~@3 e4 ~@5",
AH: "~@2 e4@2 a4 ~ c5@2 b4@2 ~@4 c3 ~", AI: "~@4 c4 ~ [c4,a4]@2 ~@4 a3 ~@3", AJ: "~@4 e4 ~ a4 ~ g#4@2 e4@2 ~@4",
AK: "a3 ~ d4 ~ e4 ~ a4 ~@3 d4 ~@3 g#3 ~", AL: "~@2 b3 ~ e4 ~ g4 ~@9", AM: "~@4 e4 ~ [e4,g4] ~@9",
AN: "~@2 f#3 ~ c#4 ~ [c#4,f#4] ~@9", AO: "a#3@2 ~@2 c#4 ~ f#4 ~@3 c#5 ~@5", AP: "~@4 [a3,f#4] ~ [a3,b3,f#4] ~@9",
AQ: "~@2 a3 ~ d4 ~ a3 ~@3 [d4,f#4] ~@3 e3 ~", AR: "~@4 d4 ~ [d4,a4] ~@7 a3 ~", AS: "[g#3,b4] ~@5 e5 ~@3 [b4,e5] ~@5",
AT: "e3 ~ g3 ~ [c4,g4] ~ [g4,c5] ~@3 g4 ~@5", AU: "e3 ~ g3 ~ c4 ~ [e4,g4] ~@3 [g4,c5] ~@5",
AV: "g4@2 ~@4 g4 ~@3 a4 ~@5", AW: "a3 ~ d4 ~ f#4 ~ d5@2 ~@2 d4@2 ~@2 d4 ~, ~@6 f#4 ~@3 a4 ~@5",
AX: "~@2 f3 ~ d4 ~ d4@2 ~@8, ~@6 a4 ~@9", AY: "f3 ~ a3 ~ d4 ~ [d4,f4] ~@3 [d4,a4] ~@3 d4 ~",
AZ: "~@2 d4 ~ a4 ~ d4@2 ~@2 d4 ~@3 g#3 ~, ~@6 a4 ~@9", BA: "~@3 c4 ~@2 [d4,b4] ~, ~@6 a4 ~@9",
BB: "e3 ~ g3 ~ [c4,g4] ~ [g4,c5] ~@9", BC: "~@6 [c4,d#4] ~@9",
BD: "~@2 c4 ~ d#4 ~ [d#4,g4] ~@3 g4@2 ~@2 d#3 ~, ~@10 c5 ~@5", BE: "[g4,b4]@2 ~@2 d4 ~ [e4,g4] ~@7 [e4,c5] ~",
BF: "~@4 [g4,c5] ~ [c5,e5] ~@7 d3 ~", BG: "~@2 a3 ~ d4 ~ f#4 ~@3 a3 ~@3 f#4 ~",
BH: "[c4,e4] ~@3 c4@2 e3 ~ d4@2 ~@2 d4 ~ f#3 ~, ~@8 a4 ~@7", BI: "~@4 d3 ~ g3 ~@7 g3 ~", BJ: "~@6 a3 ~@3 b3 ~@5",
BK: "~@6 e3 ~@9", BL: "b3 ~ a3 ~ d3 ~ a3 ~@3 [a3,d4] ~@3 d3 ~", BM: "~@6 e4@2 ~@6 a3 ~, ~@6 c4 ~@9",
BN: "e3@2 ~@2 e3 ~ a3 ~@3 [a3,c4] ~@5", BO: "~@6 g4@2 ~@2 [f#3,a3] ~@5, ~@6 d4 ~@9", BP: "~@6 a3 ~@5 d4 ~@3",
BQ: "~@4 g3 ~ a3 ~@9", BR: "~@2 g3 ~@11 g3 ~", BS: "~@4 [a3,d4] ~ a3 ~ [b3,e4]@2 b3 ~ a3 ~ g4 ~",
BT: "~@2 d4 ~@3 a3 ~@3 a3 ~ b3 ~@3", BU: "~@4 e4 ~ c5 ~@7 e4 ~", BV: "a3@2 ~@2 a3 ~ c4 ~@3 e4 ~@5",
BW: "[d#4,b4]@2 ~@4 [d#4,b4] ~@3 [d#4,b4] ~@5", BX: "[d4,a4]@2 ~@4 d4 ~@3 a3 ~@5", BY: "~@6 [a3,a4] ~@3 f3 ~@5",
BZ: "~@2 d3 ~ f3 ~ [a3,a4] ~@3 f3 ~ d4@2 ~@2", CA: "~@4 b3 ~ e4 ~@3 [e4,a4] ~@5",
CB: "~@4 e4 ~@3 [g#4,b4]@2 ~@4 g#3 ~", CC: "[g4,c5]@2 ~@4 e4@2 ~@6 a3 ~, ~@6 c4 ~@9",
CD: "g3@2 ~@2 e4 ~ g4 ~@5 [g4,c5] ~@3", CE: "~@4 d4 ~ a4 ~@5 a4 ~@3", CF: "[d4,f#4]@3 ~@5 [a4,d5]@3 ~@5",
CG: "~@4 f4 ~ a4 ~@3 a3 ~@5", CH: "~@4 a3 ~ f4@2 ~@2 a4 ~@5", CI: "~@4 a3 ~ f4@2 ~@2 [d4,a4] ~@5",
CJ: "~@2 b3 ~ d4 ~ e4 ~@3 b4 ~@3 g3 ~", CK: "[d#4,b4]@2 ~@4 [d#4,b4] ~@3 [d#4,b4] ~@3 d3 ~",
CL: "~@6 d#4 ~@5 [d#4,g4] ~@3", CM: "d#3 ~@5 c4@2 ~@2 g4 ~@5", CN: "~@6 g4@2 ~@2 [a3,d#4] ~@5, ~@6 d#4 ~@9",
})).s("gm_marimba").gain(0.27)
// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
A@3 B C D E F G H@2 I J K@2 L M N ~@27 O@2 P Q R ~@46 S@3 ~@16 T U V W X Y Z ~ AA AB AC@2 AD AE ~@2 AF AG@2 ~@2 AH AI
AJ@2 AK AL@2 B AM D AN F M N ~@48 AO AP AQ AR ~ AS AT ~ AU AV AW ~@4 AX AY AZ@2 BA BB BC@2 BD BE BF BG BH@2 AD BI ~ AO
AP AQ AR ~ AS BJ ~ AO AP AQ AR ~ AS AT ~ AU AV AW ~@5 AO AP AQ AR ~ AS AT ~ AU AV AW ~@7
>`.pickRestart({
A: "[~@19 [c4,a4]@2 ~ [d4,b4]@2 ~ [e4,c5]@3 [b3,e4]@3 ~@2 e4@9 e4@3 ~@3, ~@14 e4@11 ~@23, ~@15 c4@4 ~@12 c4@14 ~@3, ~@16 a3@23 ~@9]/3", // F G C E5
B: "e4@4 ~ d4@3, d4 ~@7", C: "[d#4,e4] ~@9 e4@4 f4 e4, f4@5 ~@3", D: "d4@10 ~ c4@5", E: "~ e4@8 ~ d4@5 ~, d4 ~@7",
F: "[d4,d#4] e4@14 ~", G: "~@4 a3 ~@5 g#3@2 ~@4",
H: "[~@2 [c4,a4]@3 ~ [d4,b4]@2 ~ e4@2 ~ e4@2 ~@3 e4@9 e4@3 ~@3, ~@8 c5@3 b3@2 ~@2 c4@14 ~@3]/2", // F G
I: "[e4,f#4] g4@7 ~@2 f4@6", J: "e4@10 d4@4 e4 d4", K: "[c4@5 ~@3 b3@2 c4@2 d4@2 g3@2, ~@7 g3 ~@8, ~@15 c4@2 ~@15]/2",
L: "d4 e4@4 ~ e4@10", M: "~ c4 b3 a3 g#3 b3 d4 f4", N: "d4 e4@15",
O: "[~@3 [c4,a4]@2 ~ [d4,b4]@2 ~ [e4,c5]@3 [b3,e4]@3 ~@2 e4@9 e4@3 ~@3, ~@15 c4@14 ~@3]/2", // F G C E5
P: "~ g4@8 ~ f4@6, e4 ~@7", Q: "e4@7 ~@3 d4@3 ~ e4@2", R: "c4@5 ~@11, d4 ~@15",
S: "[~@16 g4@23 ~@9, ~@14 b3@13 ~@21, ~@15 d4@20 ~@13]/3", T: "~@5 e4@3, ~@2 e3@5 ~, ~@6 b3@9 ~",
U: "~@6 b3@2 e4@7 ~, e3 ~", V: "c4", W: "~@6 c4@5 e4@5, g3@3 ~", X: "~@3 a3", Y: "[d4,f#4] ~", Z: "~@6 f3@5 a3@5",
AA: "~@10 d4@5 ~, ~@3 a3@3 ~@2", AB: "~@6 [g#3,e4]@9 ~", AC: "[~@3 g3@3 c4@6 ~@4]/2", AD: "d#3@13 ~@3", AE: "d3@3 ~",
AF: "a3@5 ~ b3@4 ~@2 d4@2 ~@2", AG: "[b3@3 ~ g3@4, ~@14 e4@11 ~@7, ~@15 c4@15 ~@2]/2", AH: "~@8 d4@7 ~",
AI: "~@4 g3 ~ [g3,a3]@2 ~@2 b3@2 ~@4", AJ: "[a3@7 ~ g3@10 d3 ~ g3 ~ [g3,a3]@2 ~@2 b3 ~@5]/2", AK: "g3@11 ~@5",
AL: "[~@3 [c4,a4]@2 ~ [d4,b4]@2 ~ [e4,c5]@3 [b3,e4]@3 ~ e4@10 e4@2 ~@4, ~@15 c4@14 ~@3]/2", // F G C E5
AM: "f4@10 e4@4 f4 e4, d4 ~@15", AN: "d4@2 e4@8 d4@5 ~", AO: "~@4 d4@2 a3@4 d4@5 ~", AP: "a3@6 b3@5 ~ d4@4",
AQ: "b3@8 a3@6 ~ a3, ~@7 b3", AR: "g3@7 ~@9", AS: "~@7 a3", AT: "d4 ~", AU: "~@6 d4@4 g4@5 ~", AV: "f#4@7 ~ g4@8",
AW: "f#4@7 ~ e4@7 ~", AX: "~@2 d4 f4@2 d4@2 a3", AY: "~ d4@2 f4@3 ~@2",
AZ: "[~@16 e3@6 ~@6 b3@3 ~, ~@4 e3@10 d4@7 ~@3 e4@7 ~, ~@6 b3@9 ~@17, ~@5 a3@3 ~@8]/2",
BA: "~@6 g3@6 c4@3 ~, c4@11 ~@5", BB: "~@6 c4@5 ~@5, g3@3 ~", BC: "[~@4 d4@3 ~, ~@6 d3@11 ~@15, ~@12 a3@11 ~@9]/2",
BD: "~@6 f3@5 ~ a3@4", BE: "~@3 a3@2 f3@2 ~, ~@2 d4@3 ~@3", BF: "~@10 a3@5 ~, ~@3 f3@3 ~@2",
BG: "~ e3 ~ e4@3 ~@2, ~@4 b3@5 ~@7", BH: "[[e4,c5]@4 ~@2 [d4,b4]@3 ~@3 c4@16 ~@4, ~@12 g4@13 ~@7]/2",
BI: "~@8 d4@7 ~, d3@3 ~", BJ: "d4@7 ~ d4@8",
})).s("gm_acoustic_guitar_nylon").gain(0.49).pan(0.6)
// drums · kick
const kick = s("bd").struct(`<
~ A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B
A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B@3 A B A B A B A B A B A B A B A B 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 D A B A B A B A B A B A B A B A B A B A B A B A E A B A B A B A B A B A B A
B A B A B A B A B A B A B A B A B@3 A B A B A B A B A B A B A B A B 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 B A B A B A B A B A B A B A B A B A B A B A B A B@2 ~@2
>`.pickRestart({
A: "x ~@2 x", B: "x", C: "x!2 ~ x", D: "x ~ x!2 ~ x!3", E: "x ~@6 x",
})).gain(0.72)
// drums · rim
const rim = s("rim").struct("<~@187 [~@14 x!2] [x!2 ~@6] ~@83>").gain(0.4)
// drums · snare
const snare = s("sd").struct(`<
~ A@2 B C A@2 B D A@2 B C A@2 B D A@2 B C A@2 B D A@2 B C A@2 B D A@2 B C A@2 B C A@2 B C A@2 B C E@2 B F E@2 B F E@2
B F E@2 B F E@2 B F E@2 B F E@2 B F E@2 B F E@2 B F E@2 B F E@2 B F E@2 B G E@2 B F E@2 B G E@2 B G E@2 B G E@2 B F
// … 77 more lines
More by Zero
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.