0:00/0:00
// Torna a casa — Zucchero
// 122 bpm, 4/4, key B minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 111 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 31.
setcpm(122/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 · synth brass 1
const synth_brass_1 = note("<~@31 A B A C D E F ~@26 A B A C D E F ~@11 G H I J@2 K L M ~@21>".pickRestart({
A: "[f#3,b3,d4]@11 ~", B: "[g3,b3,d4]@11 ~ [a3,c#4,e4]@11 ~", C: "[g3,b3,d4]@11 ~ [a3,c#4]@11 ~, ~@4 e4@3 ~",
D: "[b3,d4,f#4]@11 ~", E: "[a2,c#4,e4]@23 ~, a3@5 ~", F: "~ f#4, [f#3,a#3,c#4,e4]",
G: "~@4 [a3,d4,f#4]@5 ~@7 [d4,e4,g4,d5]@6 ~@2", H: "~@2 [a3,d4,f#4,a4]@3 ~@3 [b3,d4,g4,b4]@3 ~",
I: "[a4,c#5,e5]@5 [a4,c#5,e5]@7", J: "[[a4,d5,f#5,a5]@9 [a4,c#5,e5,a5]@8 [a4,c#5,e5]@4 [a4,c#5,e5]@3]/2",
K: "[a4,d5,f#5]@5 [f#4,a4,d5]@4 [c#4,e4,a4]@3", L: "[a4,c#5,e5,a5]", M: "[a#4,d5,f#5]@23 ~",
})).s("gm_synth_brass_1").gain(0.16)
// chords · synth brass 1 · soft notes
const synth_brass_1_soft = note("<~@32 A B ~@3 C ~@27 A B ~@3 C ~@40>".pickRestart({
A: "~@12 a#3 ~@11", B: "g3 ~@11", C: "f#2",
})).s("gm_synth_brass_1").gain(0.07)
// chords · piano
const piano = note("<~@75 A B C D E F@2 G H ~@27>".pickRestart({
A: "[f5,b5] ~ [f#5,b5] ~ [f5,b5] ~ [e5,b5] ~ [d5,b5] ~ [b4,b5] ~ a4@2 b4@2 d5 ~ [f#4,b4]@2 f4 ~ e4 ~, ~@12 d5 ~ e5 ~@9", // Fdim B5 Fdim E5 G B B5
B: "[d4,b4]@3 ~ [e4,b4] ~ e4 f#4 ~@2 [b3,b4] ~ [d4,b4]@2 ~@2 [e4,b4] ~ e4 f4 f#4 ~ a4 ~, ~@6 b4@2 ~@10 b4@3 ~@3", // G E5 B G E5
C: "f4 e4 ~@2 [d4,b4] ~ [e4,b4]@2 ~@2 [b3,b4]@3 ~@3 d5 ~ f5 f#5 d5 ~ [g5,b5] ~, b4 ~@8 a5 ~@2", // G E5 B G
D: "[f5,a5,b5] ~ f#5 ~ d5 ~ b4 ~ a4 ~ [e4,d5] ~ [f4,d5] ~ [f#4,d5] ~ [g4,d5] ~ [g#4,d5] ~ [a4,d5] ~ [f4,d5] ~", // Bm7b5 E7 Dm D G5 G#dim D5 Dm
E: "[f#4,d5] ~ [g4,d5] ~ [g#4,d5] ~ [a4,d5] ~ [f4,d5] ~ [f#4,d5] ~ [g4,d5] ~ [g#4,d5] ~ [a4,d5] ~ [f#4,d5]@2 ~@4", // D G5 G#dim D5 Dm D G5 G#dim …
F: "[[f#3,a#3,f#5] [d4,a#4,f#5] [f#3,a#3,a#4] [f#3,d4,a#4,f#5] [d4,f#5] [f#3,a#4] [a#4,e5]@2 ~@2 [f#4,d5]@5 ~ [e4,c#5]@5 ~@4 f#4 ~ f4 e4 ~ [b3,f#4]@2 ~@2 [b3,e4,g4,b4] ~ [d4,f#4,b4]@3 ~ b3 ~ [e4,b4]@3 ~ d4 ~, ~@3 a#3@2 ~ c#4@4 [e3,f#3,a#3]@11 ~ [d4,b4]@8 [d4,b4] ~@5 b3 ~@11]/2", // F# Daug F# F#aug D F# A#dim D …
G: "e5@2 [f4,f5]@2 f#5@2 a5@2 [e4,e5]@2 f5@2 f#5@2 a5@2 b4@2 f#5@2 a5@2 [b4,b5] ~, e4 ~@3 f#4 ~ a4 ~@3 f4 ~ f#4 ~ a4 ~ b5 ~ f#4 ~ a4 ~@3", // F E B
H: "[d5,d6] ~ [e5,d6,e6] ~ [f5,f6] ~ [f#5,f#6] ~ [a5,a6] ~ [b5,b6] ~ [d6,d7]@2 ~ d6 d7 [d6,d7] ~ d6 [d6,d7] d7 d6 ~", // D E7 F F# A B D
})).s("gm_piano").gain(0.35)
// bass · fretless bass
const bass = note(`<
~@8 A B C D A E C F G H I J I K L M G H I J I K L M N O P Q R S T@3 A B C D A E C F U H I J I K L M U H I J I K L M N
O P Q R S V@2 W ~ X Y Z AA AB AC AD AE AF AG AH AI AH AJ AK V@2 AL ~@2 A B C D A E C F A B C D A E C F
>`.pickRestart({
A: "b1@5 ~ b1@6 a1@5 ~ a1@6", B: "g1@5 ~ g1@6 f#1@5 ~ f#1@6", C: "e1@5 ~ e1@6 d2@5 ~ d2@6",
D: "c#2@6 f1@6 f#1@3 ~ f#1@2 c#2@6", E: "g1@5 ~ g1@6 f#1@5 ~ f#1@5 ~", F: "c#2@6 f#1@3 ~ b1@2 ~@12",
G: "b1@5 ~ b1@5 ~ a1@5 ~ a1@4 ~@2", H: "g1@5 ~ g1@5 ~ f#1@5 ~ a#1@5 ~", I: "b1@5 ~ b1@5 ~ a1@4 ~@2 a1@5 ~",
J: "g1@5 ~ g1@5 ~ f#1@5 ~ c#2@5 ~", K: "g1@5 ~ g1@5 ~ f#1@5 ~ f#1@5 ~", L: "e1@5 ~ e1@5 ~ f#1@5 ~ f#1@5 ~",
M: "b1@5 ~ b1@5 ~ f#1@5 ~ c#2@4 ~@2", N: "e1@5 ~ e1@5 ~ f#1@5 ~ a#1@6",
O: "b1@4 [e1,f1]@2 c#2@5 ~ d2@4 f#1 ~ c#2@3 ~ b1 ~, c2 ~@23", P: "e1@3 ~ e1 ~ e1@6 f#1@6 a#1@6",
Q: "b1@3 f#2@3 b2@3 a#2@2 ~, ~@12 a2 ~@11", R: "a2@5 ~ e2@6 a1@6 e2@3 ~ a1@2", S: "a#1@3 f#1@3 a#1@3 c#2@2 ~",
T: "[b1@5 ~ b1@4 ~@2 a1@3 ~ a1@3 ~@3 g1@50]/3", U: "b1@4 ~@2 b1@5 ~ a1@5 ~ a1@4 ~@2",
V: "[b1@5 ~ b1@4 ~@2 a1@3 ~ a1@3 ~@3 g1@8 g1@4 ~@2 g1@4 ~@2 g1@4 ~@2]/2",
W: "g1@4 ~@2 g1@4 ~@2 a1@2 ~@2 a1 ~ a1@2 ~@2 b1@2",
X: "b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ [b1,c2] [d2,e2,f2] [g2,a2] [a2,b2] [f2,g2] [d2,e2] [b1,c2] ~", // Cmaj7 Dm Gsus2 Asus2 Fsus2 Dsus2 Cmaj7
Y: "a1@7 ~@3 a1 ~ a1@3 ~ a1 ~ c2 c#2@3 a1 ~", Z: "d2@3 ~ a1 ~ d3@2 c#3 ~ b2@2 a2 ~ g2 ~ f#2@2 e2 d2 ~ b1 ~@2",
AA: "a1@7 ~@3 a1 ~ a1@2 ~@2 a1 ~ c2 c#2@3 a1@2",
AB: "d2@4 a1 ~ d2@3 ~ a1@2 d2 ~ d2 ~@2 b1@2 a1 ~ g#1 ~@2, ~@8 c#2 ~@3",
AC: "f#1@8 ~@2 f#1 ~ f#1@4 f#1 ~ a#1@3 ~ f#1 ~", AD: "b1@9 ~ f#1 ~ b1@4 f#1 ~ b1@3 ~@3",
AE: "d2 ~ d2 ~ d2@6 d#1@2 e1@4 e2@5 ~ f1@2", AF: "f#1@4 f#2@5 ~ f#1@2 g1@4 g2@2 g#1@3 ~ g#2@2, ~@12 f1 ~@11",
AG: "a1@6 a1@8 ~@2 a1 ~ c#2@4 a1 ~", AH: "d2@5 ~ d2@5 ~ d2@5 ~ c#2@5 ~",
AI: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1@5 ~ a1@2 c#2@3 ~ a1 ~", AJ: "a1@5 ~ a1@5 ~ a1@5 ~ a1@2 g#1 ~ g1 ~",
AK: "f#1@5 ~ f#1@5 ~ f#1@3 ~ f#1@2 a#1@4 f#1@2", AL: "g1@2 ~ e1@2 ~ f#1@4 ~ b1",
})).s("gm_fretless_bass").gain(0.45)
// chords · pad new age
const pad_new_age = note(`<
A B@2 C D E@2 F@3 G@6 H I J K L M N O H I J K L M N P ~@6 Q@3 R@8 H I J K L M N O H I J K L M N P ~@6 S@3 ~@16 T@4 U@3
V@8 W@6
>`.pickRestart({
A: "~@4 [d5,d6] [b4,b5] ~@2 [a4,a5] ~@2 [d5,d6], b3@12 [a3,e5,e6]@7 ~@5, [b4,b5]@2 [b4,b5]@3 ~ a4@2 ~ [f#3,f#4,f#5]@3, ~ [d5,d6]@3 ~@3 [c#5,c#6]@2 ~ [a4,a5]@2, ~@3 [f#5,f#6]@2 ~@7", // D B A D A5 B F# D …
B: "[g4@2 ~@6 [b4,b5]@2 [d5,d6] ~@5 [f#4,f#5]@2 [b4,b5]@2 [f#4,f#5]@2 ~@2 e4@2 ~@6 [g4,g5]@2 [b4,b5]@2 ~@8 [a4,a5]@2 [f#4,f#5]@2, g3@12 [f#3,c#5,c#6]@7 ~@3 b4@4 [e4,e5]@2 [b3,b4]@6 ~@2 d4@4 [d4,d5]@6 ~@2, [b4,b5]@8 ~@6 [a4,a5]@5 ~@3 b5@12 ~@4 [f#4,f#5]@4 [f#4,f#5]@4 ~@2, ~@2 [g4,g5]@4 [g4,g5]@5 ~ f#4@4 ~@2 d#3@4 ~@2 e3@12 d3@12, ~@4 [d4,d5]@7 ~@7 d#4@6 [g4,g5]@6 [e4,e5]@4 ~@2 [a4,a5]@8 ~@4]/2", // B D F# B F# G B A …
C: "~@10 [c#5,c#6] ~@7 [a#3,a#4]@5 ~, c#3 [a#2,a#5], [g#4,g#5]@8 [g#4,g#5]@4 ~@2 [f#4,f#5]@9 ~, c#4@2 [c#4,c#5]@3 ~ [a#3,a#4]@3 ~@3, ~@2 [e4,e5]@4 [e4,e5]@6 ~@4 [c#4,c#5]@7 ~", // C# A# G# F# C# A# E C#
D: "~@4 [d4,d5] b3 ~@2 [a3,a4] ~@2 [d4,d5], b2@12 [a2,e4,e5]@7 ~@5, [b3,b4]@4 [b3,b4]@5 ~@3 a3@4 ~@2 [f#2,f#3,f#4]@6, ~ [d4,d5]@3 ~@3 [c#4,c#5]@2 ~ [a3,a4]@2, ~@6 [f#4,f#5]@4 b4@7 ~@7", // D A D A5 B F# D C# …
E: "[g3@2 ~@6 [b3,b4]@2 [d4,d5] ~@5 [f#3,f#4]@2 [b3,b4]@2 [f#3,f#4]@2 ~@2 e3@2 ~@6 [g3,g4]@2 [b3,b4]@2 ~@8 [a3,a4]@2 [d3,f#3,f#4]@2, g2@12 [f#2,c#4,c#5]@7 ~@3 b3@4 [e3,e4]@2 [b2,b3]@6 ~@2 d3@4 [d3,d4]@6 ~@2, [b3,b4]@8 ~@6 [a3,a4]@5 ~@3 b4@12 ~@4 [f#3,f#4]@4 [f#3,f#4]@4 ~@2, ~@2 [g3,g4]@4 [g3,g4]@5 ~ f#3@4 ~@2 d#2@4 ~@2 e2@12 d2@12, ~@4 [d3,d4]@7 ~@7 d#3@6 [g3,g4]@6 [e3,e4]@4 ~@2 [a3,a4]@8 ~@4]/2", // B D F# B F# G B A …
F: "[~@2 [e3,e4]@2 [c#3,c#4]@2 [f#2,f#3,a#3]@4 [b2,b4]@4 ~@2 b4@2 [c#5,c#6]@4 [d5,d6]@6 c#5@2 [b4,b5]@4 [c#5,c#6]@6 [b4,b5]@2 a4@4 b4@6 a4@2 g4@4 a4@6 [g4,g5]@2 f#4@3 ~ [e3,b3,g4,g5]@2, [c#2,g#3,g#4]@6 ~@4 b3 ~@11 [b3,d4,f#4]@10 ~@2 [a3,c#4,e4]@11 ~ [g3,b3,d4]@10 ~@2 [f#3,a3,c#4]@10 ~@4, c#3@4 ~@2 a#4@6 ~@4 b5 ~@11 c#6 ~@17 b5@5 ~@21]/3", // E C# F# B C# D B C# …
G: "[~@4 [f#4,f#5]@2 [e4,e5]@3 ~ [f#4,f#5]@6 e4@2 d4@4 e5@8 [b4,b5]@4 [a#4,a#5] ~@5 [b4,b5]@2 c#5@4 d5@6 [c#5,c#6]@2 b4@4 [c#5,c#6]@6 b4@2 a4@3 ~ [b4,b5]@6 a4@2 g4@4 a4@6 g4@2 f#4@3 ~ [g4,g5]@6 [f#4,f#5]@2 e4@3 ~ [f#4,f#5]@6 [e4,e5]@2 d4@4 e5@8 [a#4,a#5]@3 ~ [f#3,b4,b5] ~@5 f#3 b3 [d4,f#4] ~@3 f#4 ~, ~@10 [d3,f#3,a3]@10 ~@2 [e3,g#3,b3,e4]@10 ~@2 [f#3,a#3,c#4]@9 ~@3 [b3,d4,f#4]@10 ~@2 [a3,c#4,e4]@11 ~ [g3,b3,d4]@10 ~@2 [f#3,a3,c#4]@10 ~@2 [e3,g3,b3]@10 ~@2 [d3,f#3,a3]@10 ~@2 [e3,g#3,b3,e4]@10 ~@2 [b3,d4]@2 ~@12, ~@16 e5 ~@65 a5@5 ~@57]/6", // F# E F# B A# B C# B …
H: "~@6 [a3,c#4,e4]@5 ~, ~ a2", I: "[g2,a4]@5 b3@7, b4, [e4,f4] ~@2", J: "~@12 [a2,a3,e4,a4,c#5]@11 ~",
K: "[g2,f4,a4,b4,e5]@10 [e4,a4,c#5]@13 ~, ~@5 [f#2,f#3]@5 ~@2", L: "~@12 [a2,a3,b3,e4]@11 ~",
M: "[g2,b3,e4,f4,a4,b4]@9 ~ [f#2,b3,e4,f#4,b4]@13 ~", N: "[e3,b3,g4,b4,d5,f#5]@11 ~ [f#3,a3,f#4,a4,c#5,e5]@11 ~",
O: "[a3,d4,f#4,b4,d5]@9 ~ [f#3,a#3,e4,f#4,a#4,d5]@13 ~, f#3@7 ~@17", P: "[a3,d4,f#4,b4,d5]@5 ~@3, f#3@13 ~@11",
Q: "[~@6 [f#4,b4,d5]@3 ~@3 [e4,a4,c#5]@7 ~@3 b4@42 b4@2 [c#5,c#6]@4 [b3,f#4,d5,d6]@2, ~@22 [d4,g4]@49 ~, ~@64 b5 ~@5 d4 ~]/3", // Bm A C# Bm G5
R: "[~@4 c#5@2 [b4,b5]@4 [c#5,c#6]@6 b4@2 a4@4 b4@6 a4@2 g4@4 a4@6 [g4,g5]@2 f#4@3 ~ [g4,g5]@6 [f#4,f#5]@2 [e4,e5]@3 ~ [f#4,f#5]@6 e4@2 d4@4 e5@8 [b4,b5]@4 [a#4,a#5] ~@5 [b4,b5]@2 c#5@4 d5@6 [c#5,c#6]@2 b4@4 [c#5,c#6]@6 b4@2 a4@3 ~ [b4,b5]@6 a4@2 g4@4 a4@6 g4@2 f#4@3 ~ [g4,g5]@6 [f#4,f#5]@2 e4@3 ~ [f#4,f#5]@6 [e4,e5]@2 d4@4 e5@8 [a#4,a#5]@3 ~ [f#3,b4,b5] ~@5 f#3 b3 [d4,f#4] ~@3 f#4 ~, ~@4 c#6 ~@5 [a3,c#4,e4]@11 ~ [g3,b3,d4]@10 ~@2 [f#3,a3,c#4]@10 ~@2 [e3,b3]@10 ~@2 [d3,f#3,a3]@10 ~@2 [e3,g#3,b3,e4]@10 ~@2 [f#3,a#3,c#4]@9 ~@3 [b3,d4,f#4]@10 ~@2 [a3,c#4,e4]@11 ~ [g3,b3,d4]@10 ~@2 [f#3,a3,c#4]@10 ~@2 [e3,g3,b3]@10 ~@2 [d3,f#3,a3]@10 ~@2 [e3,g#3,b3,e4]@10 ~@2 [b3,d4]@2 ~@12, ~@16 b5 ~@5 b5@5 ~@37 e5 ~@65 a5@5 ~@57]/8", // B C# G F# E F# B A# …
S: "[~@6 [f#4,b4,d5]@3 ~@3 [e4,a4,c#5]@7 ~@3 [d4,g4,b4]@31 ~ [d4,g4,b4]@2 ~@4 [e4,a4,c#5]@7 ~@3 [d4,f#4,b4]@2]/3", // Bm A G A Bm
T: "[~@6 [f#4,b4,d5]@3 ~@3 [e4,a4,c#5]@7 ~@3 [d4,g4,b4]@31 ~ [d4,g4,b4]@2 ~@4 [a3,c#4,e4,a4,c#5]@8 ~@2 [d4,f#4,b4]@3 ~@23, ~@54 [b3,f#4]@6 ~@10 [f#3,b3]@5 ~@21]/4", // Bm A G A Bm B5
U: "[~@16 b4@2 [c#5,c#6]@4 [d5,d6]@6 c#5@2 [b4,b5]@4 [c#5,c#6]@6 [b4,b5]@2 a4@4 b4@6 a4@2 g4@4 a4@6 [g4,g5]@2 f#4@3 ~ [e3,b3,g4,g5]@2, ~@16 b5 ~@5 [b3,d4,f#4]@10 ~@2 [a3,c#4,e4]@11 ~ [g3,b3,d4]@10 ~@2 [f#3,a3,c#4]@10 ~@4, ~@28 c#6 ~@17 b5@5 ~@21]/3", // C# D B C# B G Em Bm …
V: "[~@4 [f#4,f#5]@2 [e4,e5]@3 ~ [f#4,f#5]@6 e4@2 d4@4 e5@8 [b4,b5]@4 [a#4,a#5] ~@5 [b4,b5]@2 c#5@4 d5@6 [c#5,c#6]@2 b4@4 [c#5,c#6]@6 b4@2 a4@3 ~ [b4,b5]@6 a4@2 g4@4 a4@6 g4@2 f#4@3 ~ [g4,g5]@6 [f#4,f#5]@2 e4@3 ~ [f#4,f#5]@6 [e4,e5]@2 d4@4 e5@8 [a#4,a#5]@3 ~ [f#3,b4,b5] ~@5 b4@2 [c#5,c#6]@4 [d5,d6]@6 c#5@2 [b4,b5]@4 [c#5,c#6]@6 [b4,b5]@2 a4@4 b4@6 a4@2 g4@4 a4@6 [g4,g5]@2 f#4@3 ~ [e3,b3,g4,g5]@2, ~@10 [d3,f#3,a3]@10 ~@2 [e3,g#3,b3,e4]@10 ~@2 [f#3,a#3,c#4]@9 ~@3 [b3,d4,f#4]@10 ~@2 [a3,c#4,e4]@11 ~ [g3,b3,d4]@10 ~@2 [f#3,a3,c#4]@10 ~@2 [e3,g3,b3]@10 ~@2 [d3,f#3,a3]@10 ~@2 [e3,g#3,b3,e4]@10 ~@2 [b3,d4]@2 ~@10 [b3,d4,f#4]@10 ~@2 [a3,c#4,e4]@11 ~ [g3,b3,d4]@10 ~@2 [f#3,a3,c#4]@10 ~@4, ~@16 e5 ~@65 a5@5 ~@49 b5 ~@11 c#6 ~@17 b5@5 ~@21]/8", // F# E F# B A# B C# B …
W: "[~@4 [f#4,f#5]@2 [e4,e5]@3 ~ [f#4,f#5]@6 e4@2 d4@4 e5@8 [b4,b5]@4 [a#4,a#5] ~@5 [b4,b5]@2 c#5@4 d5@6 [c#5,c#6]@2 b4@4 [c#5,c#6]@6 b4@2 a4@3 ~ [b4,b5]@6 a4@2 g4@4 a4@6 g4@2 f#4@3 ~ [g4,g5]@6 [f#4,f#5]@2 e4@3 ~ [f#4,f#5]@6 [e4,e5]@2 d4@4 e5@8 [f#4,f#5]@3 ~ [f#3,b4,b5] ~@13, ~@10 [d3,f#3,a3]@10 ~@2 [e3,g#3,b3,e4]@10 ~@2 [f#3,a#3,c#4]@9 ~@3 [b3,d4,f#4]@10 ~@2 [a3,c#4,e4]@11 ~ [g3,b3,d4]@10 ~@2 [f#3,a3,c#4]@10 ~@2 [e3,g3,b3]@10 ~@2 [d3,f#3,a3]@10 ~@2 [e3,g#3,b3,e4]@10 ~@2 [b3,d4]@2 ~@12, ~@16 e5 ~@65 a5@5 ~@57]/6", // F# E F# B A# B C# B …
})).s("gm_pad_new_age").gain(0.08).pan(0.6)
// chords · pad new age · soft notes
const pad_new_age_soft = note(`<
~@8 A B C D@2 E F ~@2 G ~@7 G ~@15 A B C D@2 H F ~@2 G ~@7 G ~@36 A B C D@2 H F ~ A B C D@2 H F ~
>`.pickRestart({
A: "~@6 a5 ~", B: "~@4 a5 ~ g5@3 ~ a5@6 ~@2 f#5@3 ~@3", C: "~@9 d5@2 ~",
D: "[~@18 c#6@3 ~ d6@6 ~@2 b5@3 ~@7 b5@2 a5@3 ~@3]/2", E: "~@4 a5 ~ g5@3 ~@7 g5@2 f#5@3 ~@3",
F: "~@6 e5@3 ~@9 d5@4 ~@2", G: "~@5 [f#2,e4,f#4]@7", H: "~@4 a5@2 g5@3 ~@7 g5@2 f#5@3 ~@3",
})).s("gm_pad_new_age").gain(0.05).pan(0.6)
// other · overdriven guitar
const overdriven_guitar = note(`<
~@16 A B C D E F G@2 H I J K L M N@2 O P Q@2 R S ~@11 A B C D T@2 U@2 V I W X Y Z N@2 O P Q@2 AA S AB ~@11 AC AD@2 AE
AF AG@2 ~@21
>`.pickRestart({
A: "~@4 b4@3 ~ c#5@2 ~@2 c#5@4 ~ b4@3 ~@2 b4@2", B: "e5@4 ~ d5@5 c#5@4 ~@10",
C: "~@4 f#5@3 ~@2 f#5@2 ~ f#5@3 ~@2 e5@3 ~ d5@3", D: "~ e5@3 b4@3 ~ d5@3 ~ c#5@4 ~@8",
E: "~@4 b4@3 ~ c#5@3 ~ d5@4 b4@2 ~@3 b4@2 ~", F: "e5@4 ~ d5@4 e5@3 f#5@5 ~@7",
G: "[~@4 b4 ~@2 b4@2 ~ b4 ~ c#5@3 ~ b4@2 ~ a4@3 ~ b4@7 ~@18]/2", H: "~@4 b4@3 ~ c#5@2 ~@2 d5@3 ~ b4@3 ~@2 b4@2 ~",
I: "e5@3 ~ d5@3 ~@2 c#5@3 ~ c#5@5 ~@6", J: "~@4 b4@2 f#5@3 ~ f#5 ~ f#5@2 ~@2 e5@3 ~ d5@3 ~",
K: "e5@3 ~ b4@3 d5@3 ~ c#5@3 ~ c#5@6 ~@3", L: "~@4 b4@3 ~ c#5@3 ~ d5@3 ~ b4@3 ~@2 b4@2 ~",
M: "~ e5@3 d5@2 ~@2 e5@3 ~ f#5@7 ~@5",
N: "[~@4 b4 ~@2 b4@2 ~ b4 ~ c#5@3 ~ b4@2 a4@3 ~ b4@5 ~ b4 ~ b4@3 ~ b4@5 ~@9]/2", O: "~@4 d5@3 ~ d5@3 ~ c#5@4 e5@7 ~",
P: "d5 ~ c#5 b4@10 ~@11", Q: "[~@4 d5@3 ~ d5@3 ~ e5@3 ~ d5@4 e5@6 ~ d5@11 ~@10]/2",
R: "f#5@3 ~ e5@18 f#5@2, ~@4 d#5 ~@19", S: "g5@6 f#5@4 ~@3 f#5@5 e5@5 ~",
T: "[~@4 b4@3 ~ c#5@3 ~ d5@4 b4@5 ~ e5@7 ~ d5@3 ~ e5@5 f#5@5 ~@4]/2",
U: "[~@4 b4 ~@2 b4@2 ~ b4 ~ c#5@3 ~ b4@2 ~ a4@2 ~@2 b4@7 ~@18]/2", V: "~@4 b4@3 ~ c#5@2 ~@2 c#5@3 ~ b4@3 ~@2 b4@2 ~",
W: "~@4 f#5@3 ~ f#5@2 ~@2 f#5@3 ~ e5@3 ~@2 d5@3", X: "e5@3 ~ b4@3 ~ d5@3 ~ c#5@3 ~ c#5@6 ~@2",
Y: "~@4 b4@3 ~ c#5@3 ~ d5@3 ~ b4@3 ~@3 b4@2", Z: "e5@2 ~@2 e5@2 ~ d5@3 e5@5 ~ f#5@6 ~@2", AA: "f#5@3 ~ e5@18 f#5@2",
AB: "d5@5 ~@19", AC: "~@2 f#5", AD: "[~ f#5@4 e5@13 f#5@3 ~ g5@8 f#5@2 ~@2 f#5@5 ~ e5@2 d5@5 ~]/2",
AE: "~@4 e5@3 ~ e5@2 ~@2 e5@3 ~ e5@2 ~@2 e5@2 ~@2", AF: "e5@3 ~@13 f#5@8, ~@2 d5@7 ~@3",
AG: "[f#5@3 ~ e5@13 ~ f#5@3 ~ g5@8 f#5@2 ~@2 f#5@6 e5@2 d5@4 ~@2]/2",
})).s("gm_overdriven_guitar").gain(0.49)
// chords · epiano2
const epiano2 = note(`<
A B@2 C D E@2 F@3 G@6 H I J K L M N O H I J K L M N P Q R S R T U V@3 W@8 H I J K L M N O H I J K L M N X Q R S R T U
Y@3 ~@16 Y@3 ~ Z@3 AA@8 AB@6
>`.pickRestart({
A: "~@4 d6 b5 ~@2 a5 ~@2 d6, b4@12 [a4,e6]@7 ~@5, b5@2 b5@3 ~@4 [f#4,f#5]@3, ~ d6@3 ~@3 c#6@2 ~ a5@2, ~@3 f#6@2 ~@7", // A5 F#
B: "[~@8 b5@2 d6 ~@5 f#5@2 b5@2 f#5@2 ~@10 g5@2 b5@2 ~@8 a5@2 f#5@2, g4@12 [f#4,c#6]@7 ~@7 e5@2 b4@6 ~@6 d5@6 ~@2, b5@8 ~@6 a5@5 ~@3 b5@12 ~@2 a5@8 ~@4, ~@2 g5@4 g5@5 ~@13 g5@6 e5@4 ~@4 f#5@4 f#5@4 ~@2, ~@4 d5@7 ~@7 d#4@4 ~@2 e4@12 d4@12]/2", // F#5
C: "~@10 c#6 ~@7 a#4@5 ~, c#4 [a#3,a#5], g#5@8 g#5@4 ~@2 f#5@9 ~, ~ e5@2 e5@3 ~@6, ~@4 c#5@5 ~@7 c#5@7 ~", // A#
D: "~@4 d5 ~@3 a4 ~@2 d5, b3@12 [a3,e5]@7 ~@5, b4@4 b4@5 ~ b4@7 ~ [f#3,f#4]@6, ~ d5@3 ~@3 c#5@2 ~ a4@2, ~@3 f#5@2 ~@7", // A5 F#
E: "[~@8 b4@2 d5 ~@5 f#4@2 b4@2 f#4@2 ~@10 g4@2 b4@2 ~@8 a4@2 [d3,f#4]@2, g3@12 [f#3,c#5]@7 ~@7 e4@2 b3@6 ~@6 d4@6 ~@2, b4@8 ~@6 a4@5 ~@3 b4@12 ~@2 a4@8 ~@4, ~@2 g4@4 g4@5 ~@13 g4@6 e4@4 ~@4 f#4@4 f#4@4 ~@2, ~@4 d4@7 ~@7 d#3@4 ~@2 e3@12 d3@10 ~@2]/2", // D F#5
F: "[~@2 e4@2 c#4@2 ~@4 b4@4 ~@2 b4@2 c#5@4 d5@6 c#5@2 b4@4 c#5@6 b4@2 a4@4 b4@6 a4@2 g4@4 a4@6 g4@2 f#4@3 ~ [e3,b3,g4]@2, c#3 ~@5, g#4@5 ~ [f#3,a#4]@6 ~@34 [g3,b3,d4]@10 ~@2 [f#3,a3,c#4]@10 ~@4, ~@10 b3 ~@11 [b3,d4,f#4]@10 ~@2 [a3,c#4,e4]@11 ~@27]/3", // Em F# G F#m Bm A
G: "[~@4 f#4@2 e4@3 ~@7 e4@2 d4@4 ~@8 b4@4 a#4 ~@5 b4@2 c#5@4 d5@6 c#5@2 b4@4 c#5@6 b4@2 a4@3 ~ b4@6 a4@2 g4@4 a4@6 g4@2 f#4@3 ~ g4@6 f#4@2 e4@3 ~@7 e4@2 d4@4 ~@8 a#4@3 b4 [b3,d4]@2 ~@4 f#3 b3 [d4,f#4] ~@2 f#4 ~@2, ~@9 f#4@6 ~@90 f#4@7 ~@32, ~@10 [d3,f#3,a3]@10 ~@2 [e3,g#3,b3,e4]@10 ~@2 [f#3,a#3,c#4]@9 ~@3 [b3,d4,f#4]@10 ~@2 [a3,c#4,e4]@11 ~ [g3,b3,d4]@10 ~@2 [f#3,a3,c#4]@10 ~@2 [e3,g3,b3]@10 ~@2 [d3,f#3,a3]@10 ~@2 [e3,g#3,b3,e4]@10 ~@2 f#3 ~@13]/6", // Bm D E F# Bm A G F#m …
H: "~@6 [a3,c#4,e4]@5 ~, ~ a2", I: "[g2,a4]@5 [f#2,b3,e4,f#4]@7, b4, [e4,f4] ~@2", J: "~@12 [a2,a3,e4,a4,c#5]@11 ~",
K: "[g2,f4,a4,b4,e5]@10 [e4,a4,c#5]@13 ~, ~@5 [f#2,f#3]@5 ~@2", L: "~@12 [a2,a3,b3,e4]@11 ~",
M: "[g2,b3,e4,f4,a4,b4]@9 ~ [f#2,b3,e4,f#4,b4]@13 ~", N: "[e3,b3,g4,b4,d5,f#5]@11 ~ [f#3,a3,f#4,a4,c#5,e5]@11 ~",
O: "[a3,d4,f#4,b4,d5]@9 ~ [f#3,a#3,e4,f#4,a#4,d5]@13 ~, f#3@7 ~@17", P: "[f#3,a3,d4,f#4,b4,d5]@3 ~@5",
Q: "[g4,b4,d5]@11 ~ [e4,a4,c#5]@10 ~@2", R: "[f#4,b4,d5]@11 ~", S: "[g4,b4,d5]@11 ~ [f#4,a4,c#5]@10 ~@2",
T: "[e4,a4,c#5]@11 ~", U: "[f#4,a#4,c#5,f#5]@23 ~",
V: "[~@6 [b2,b3,d4,f#4]@3 ~@3 [a2,a3,c#4,e4]@8 ~@44 b4@2 c#5@4 [f#4,d5]@2, ~@22 [g2,b3,d4]@48 [b3,d4] ~]/3", // Bm A D G Bm
W: "[~@4 c#5@2 b4@4 c#5@6 b4@2 a4@4 b4@6 a4@2 g4@4 a4@6 g4@2 f#4@3 ~ g4@6 f#4@2 e4@3 ~@7 e4@2 d4@4 ~@8 b4@4 a#4 ~@5 b4@2 c#5@4 d5@6 c#5@2 b4@4 c#5@6 b4@2 a4@3 ~ b4@6 a4@2 g4@4 a4@6 g4@2 f#4@3 ~ g4@6 f#4@2 e4@3 ~@7 e4@2 d4@4 ~@8 a#4@3 b4 [b3,d4]@2 ~@4 f#3 b3 [d4,f#4] ~@2 f#4 ~@2, ~@10 [a3,c#4,e4]@11 ~ [g3,b3,d4]@10 ~@2 [f#3,a3,c#4]@10 ~@2 [e3,b3]@10 ~ f#4@6 ~@90 f#4@7 ~@32, ~@58 [d3,f#3,a3]@10 ~@2 [e3,g#3,b3,e4]@10 ~@2 [f#3,a#3,c#4]@9 ~@3 [b3,d4,f#4]@10 ~@2 [a3,c#4,e4]@11 ~ [g3,b3,d4]@10 ~@2 [f#3,a3,c#4]@10 ~@2 [e3,g3,b3]@10 ~@2 [d3,f#3,a3]@10 ~@2 [e3,g#3,b3,e4]@10 ~@2 f#3 ~@13]/8", // Bm D A G F#m E5 D E …
X: "[a3,d4,f#4,b4,d5]@3 ~@5, f#3@7 ~@17", // Bm7
Y: "[~@6 [b2,b3,d4,f#4]@3 ~@3 [a2,a3,c#4,e4]@8 ~@2 [g2,b3,d4]@31 ~ [g3,b3,d4]@2 ~@4 [a3,c#4,e4]@8 ~@2 [b3,d4,f#4]@2]/3", // Bm A G A Bm
Z: "[~@16 b4@2 c#5@4 d5@6 c#5@2 b4@4 c#5@6 b4@2 a4@4 b4@6 a4@2 g4@4 a4@6 g4@2 f#4@3 ~ [e3,b3,g4]@2, ~@22 [b3,d4,f#4]@10 ~@2 [a3,c#4,e4]@11 ~ [g3,b3,d4]@10 ~@2 [f#3,a3,c#4]@10 ~@4]/3", // Em Bm A G F#m
AA: "[~@4 f#4@2 e4@3 ~@7 e4@2 d4@4 ~@8 b4@4 a#4 ~@5 b4@2 c#5@4 d5@6 c#5@2 b4@4 c#5@6 b4@2 a4@3 ~ b4@6 a4@2 g4@4 a4@6 g4@2 f#4@3 ~ g4@6 f#4@2 e4@3 ~@7 e4@2 d4@4 ~@8 a#4@3 b4 [b3,d4]@2 ~@4 b4@2 c#5@4 d5@6 c#5@2 b4@4 c#5@6 b4@2 a4@4 b4@6 a4@2 g4@4 a4@6 g4@2 f#4@3 ~ [e3,b3,g4]@2, ~@9 f#4@6 ~@90 f#4@7 ~@80, ~@10 [d3,f#3,a3]@10 ~@2 [e3,g#3,b3,e4]@10 ~@2 [f#3,a#3,c#4]@9 ~@3 [b3,d4,f#4]@10 ~@2 [a3,c#4,e4]@11 ~ [g3,b3,d4]@10 ~@2 [f#3,a3,c#4]@10 ~@2 [e3,g3,b3]@10 ~@2 [d3,f#3,a3]@10 ~@2 [e3,g#3,b3,e4]@10 ~@2 f#3 ~@11 [b3,d4,f#4]@10 ~@2 [a3,c#4,e4]@11 ~ [g3,b3,d4]@10 ~@2 [f#3,a3,c#4]@10 ~@4]/8", // Bm Em D E F# Bm A G …
AB: "[~@4 f#4@2 e4@3 ~@7 e4@2 d4@4 ~@8 b4@4 a#4 ~@5 b4@2 c#5@4 d5@6 c#5@2 b4@4 c#5@6 b4@2 a4@3 ~ b4@6 a4@2 g4@4 a4@6 g4@2 f#4@3 ~ g4@6 f#4@2 e4@3 ~@7 e4@2 d4@4 ~@8 f#4@3 b4 [b3,d4]@2 ~@12, ~@9 f#4@6 ~@90 f#4@7 ~@32, ~@10 [d3,f#3,a3]@10 ~@2 [e3,g#3,b3,e4]@10 ~@2 [f#3,a#3,c#4]@9 ~@3 [b3,d4,f#4]@10 ~@2 [a3,c#4,e4]@11 ~ [g3,b3,d4]@10 ~@2 [f#3,a3,c#4]@10 ~@2 [e3,g3,b3]@10 ~@2 [d3,f#3,a3]@10 ~@2 [e3,g#3,b3,e4]@10 ~@2 f#3 ~@13]/6", // Bm D E F# Bm A G F#m …
})).s("gm_epiano2").gain(0.2).pan(0.4)
// chords · electric guitar clean
const electric_guitar_clean = note(`<
~@7 A@3 B@6 ~ C D@3 ~@4 E F G@2 H@2 I@2 J@2 K ~ L@6 B@6 ~ M N O@2 ~@2 P ~ Q R S T U@2 I@2 J@2 K ~ V@4 ~@16 W@3 ~ A@3
X@8 Y@6
>`.pickRestart({
A: "[~@22 [d4,f#4]@9 ~@3 [a3,c#4,e4]@9 ~@3 [g3,b3]@9 ~@3 [f#3,c#4]@8 ~@4 [b3,d4]@2]/3", // D A G F#5 Bm
B: "[~@10 d4@9 ~@3 [e3,g#3,c#4]@9 ~@3 [a#3,c#4]@8 ~@4 [b3,d4,f#4]@10 ~@2 [a3,c#4,e4]@9 ~@3 [g3,b3,d4]@10 ~@2 [f#3,a3,c#4]@9 ~@3 [g3,b3,d4]@9 ~@3 [f#3,a3,d4]@10 ~@2 [e3,g#3,c#4]@8 ~@4 [b3,d4,f#4] ~@5 f#3 [b3,d4] f#4 ~@2 b4 ~@2]/6", // C#m A#m Bm A G F#m G D …
C: "~@14 b3 ~ d4 ~ e4@5 d4", D: "[e4 ~@2 b3@25 ~@14 e4@4 d4@12 ~@14]/3", E: "~@15 d4 e4 ~ f#4 ~ a4 g#4 ~ g4",
F: "f#4 ~ e4 d4 ~ b3 e4 ~ d4 b3@3 ~@12", G: "[~@3 [f#4,a4]@5]/2", H: "[~@11 a4@12 ~, ~@8 e4@15 ~]/2",
I: "[~@24 g4@11 ~ [c#4,e4]@10 ~@2, ~@22 g3@13 ~@13, ~@23 [b3,d4]@12 ~@13, ~@8 b4@3 ~@5]/2", // C#m Bm
J: "[~@6 b4@16 ~@2 [b4,d5]@11 ~ [e4,f#4,a4]@11 ~, ~@23 [d4,g4]@12 ~@13]/2", K: "~@5 b4@5 ~@2",
L: "[~@24 d4@12 c#4@10 b3@41 ~@7 [d4,f#4]@9 ~@3 [a3,c#4,e4]@9 ~@3 [g3,b3]@9 ~@3 [f#3,c#4]@8 ~@4 [b3,d4]@2, ~@23 [f#3,b3]@13 a3@8 ~@100]/6", // D A G F#5 Bm B5
M: "~@20 b3 ~ b3 ~", N: "b3@2 a3 ~ f#3 ~ d4@3 ~ a3 b3@9 ~@4", O: "[~@12 c5@11 ~, ~@9 e4@14 ~]/2",
P: "~@18 [c#4,c#5]@3 ~ [b3,b4]@2", Q: "~@12 c#5 ~ d5 a#4 ~ c#5 b4 ~ f#4 e4 ~ d4", R: "f#4 ~ e4 ~@2 c#4 ~@18",
S: "~@14 b3 ~ d4 ~ e4 ~ e4 ~ e4 ~", T: "d4 ~@23", U: "[~@18 e4@4 d4@15 ~@11]/2",
V: "[~@24 d4@12 c#4@10 b3@41 ~@9, ~@23 [f#3,b3]@13 a3@8 ~@52]/4", W: "[d4@12 c#4@10 b3@41 ~@9, ~@3 a3@2 ~@13]/3",
X: "[~@10 d4@9 ~@3 [e3,g#3,c#4]@9 ~@3 [a#3,c#4]@8 ~@4 [b3,d4,f#4]@10 ~@2 [a3,c#4,e4]@9 ~@3 [g3,b3,d4]@10 ~@2 [f#3,a3,c#4]@9 ~@3 [g3,b3,d4]@9 ~@3 [f#3,a3,d4]@10 ~@2 [e3,g#3,c#4]@8 ~@4 [b3,d4,f#4] ~@11 [d4,f#4]@9 ~@3 [a3,c#4,e4]@9 ~@3 [g3,b3]@9 ~@3 [f#3,c#4]@8 ~@4 [b3,d4]@2]/8", // C#m A#m Bm A G F#m G D …
Y: "[~@10 d4@9 ~@3 [e3,g#3,c#4]@9 ~@3 [a#3,c#4]@8 ~@4 [b3,d4,f#4]@10 ~@2 [a3,c#4,e4]@9 ~@3 [g3,b3,d4]@10 ~@2 [f#3,a3,c#4]@9 ~@3 [g3,b3,d4]@9 ~@3 [f#3,a3,d4]@10 ~@2 [e3,g#3,c#4]@8 ~@4 [b3,d4,f#4] ~@13]/6", // C#m A#m Bm A G F#m G D …
})).s("gm_electric_guitar_clean").gain(0.22).pan(0.7)
// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note(`<
~@7 A@4 B ~@13 C ~@6 D ~@7 A@4 B ~@5 E ~@8 F ~ G ~@3 D ~@28 A@4 B ~@3 A@4 B ~@4
>`.pickRestart({
A: "[~@22 b3@9 ~@15 d4@9 ~@3 a3@8 ~@4 g3@9 ~@3 [f#3,a3]@9 ~@5]/4", B: "~@5 f#3@4 ~@3", C: "~@14 b3 ~@9",
D: "~@6 f#3@5 ~", E: "~@16 b3 ~ b3 ~@5", F: "~@3 d4 ~@2 b3@4 ~@14", G: "~@2 e4 ~ b3@6 ~@14",
})).s("gm_electric_guitar_clean").gain(0.13).pan(0.7)
// drums · kick
const kick = s("bd").struct(`<
~@8 A@7 B A@22 C ~@2 A@7 B A@22 C D C E F A@6 G H A@6 C D C ~@2 A@7 B A@7 I
>`.pickRestart({
A: "x!2", B: "x", C: "x ~@5 x ~ x ~@2 x", D: "~@5 x ~@2 x ~@3", E: "~@2 x", F: "x ~ x!10", G: "~@2 x ~@5 x ~@2 x",
H: "~ x ~@2 x ~", I: "x ~@2 x ~ x ~@6",
})).gain(0.49)
// drums · snare
const snare = s("sd").struct("<~@7 A B@7 C B@15 D B@16 C B@15 E B@9 F G B@6 H I B@9 ~ B@8 J B@7 K>".pickRestart({
A: "~@9 x ~ x", B: "~ x ~ x", C: "~@3 x ~ x ~@3 x ~ x", D: "~@3 x ~@5 x ~ x", E: "~@3 x ~@2 x ~@4 x", F: "~@3 x",
G: "~@8 x!4", H: "x!2 ~@3 x!2 ~@4 x", I: "~@5 x!2 ~@5", J: "~@3 x ~ x ~@3 x ~@2", K: "~@3 x ~ x ~@6",
})).gain(0.49)
// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@7 [~@16 x!2 ~@6] ~@56 [~@13 x!2 ~@3 x ~ x ~@3] ~@9 [~ x ~@2] [x ~ x!6 ~@4] ~@35>")
.gain(0.27)
// drums · hihat
const hihat = s("hh").struct("<~@7 A B@7 C B@32 C B@26 ~ B@26 D B@7 E>".pickRestart({
A: "~@5 x ~@6", B: "x!4", C: "x ~@2 x ~ x ~@3 x ~ x", D: "x ~@2 x ~ x!2 ~@2 x ~@2", E: "x ~@2 x ~ x ~@6",
})).gain(0.49)
// … 76 more lines
More by Zucchero
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.