0:00/0:00
// Grazie, prego, scusi — Celentano
// 120 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 16 "tk16" piano (copy of ch 5 "tk5" choir aahs)
// note: Full arrangement: all 65 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · acoustic bass · "tk2"
const bass = note(`<
~@5 A@8 B ~ C@5 D@3 E F G H I J@5 ~@4 K L M N O P Q R S ~ T U V W X Y Z AA AB AC AD ~ AE AF AG AH AI AJ
>`.pickRestart({
A: "[~@5 c3@3 ~@3 g2@3 ~@3 e2@3 ~@3 c2@4 ~@2 f2@3 ~@3 c2@3 ~@3 f2@3 ~@3 c2@3 ~@3 e2@3 ~@3 g#2@3 ~@3 b2@3 ~@3 e2@4 ~@2 a1@3 ~@3 a1@3 ~@3 a1@3 ~@3 a1@4 ~@2 d2@4 ~@6 f#2 ~ a2@4 ~@2 a1@3 ~@3 a1@5 ~@5 c#2 ~ e2@3 ~@3 e1@3 ~@3 a1@5 ~@5 c#2 ~ e2@4 ~@2 a1@3 ~@3 d2@5 ~@5 f#2 ~ a2@3 ~@3 a1]/8",
B: "~@5 d2@3 ~@16",
C: "[~@5 g2@4 ~@2 e2@3 ~@3 d2@3 ~@3 b1@4 ~@2 g1@3 ~@3 a#1@3 ~@3 d2@4 ~@2 e2@3 ~@3 a2@3 ~@7 a2 ~ a2@3 ~@3 a1@4 ~@2 a1@5 ~@5 c#2 ~ e2@4 ~@2 e2@3 ~@3 d2@3 ~@9 d2@4 ~@3]/5",
D: "[~@5 a1@3 ~ a1 ~ a1@4 ~@2 a1@3 ~ a1 ~ a1@2 ~ a1 ~@2 d2@4 ~@5 a2 ~@2 d2@5 a2@4 ~@2 e2@4 ~@5 a2 ~@2 e2@5 ~ a2@2]/3",
E: "~@3 e2@5 ~@4 a2 ~@2 e2@5 ~ a2@3", F: "~@3 d2@4 ~@4 a2@2 ~ d2@5 ~ a2@3 ~", G: "~@2 a1@5 ~@4 d2@5 d2@4 ~@2 d2 ~",
H: "~ a2@7 ~@2 d2 ~@2 d2@5 ~ d2@3 ~@2", I: "g2@6 ~@3 d2@6 ~@3 d2@4 ~@2",
J: "[g2@6 ~@2 d2@6 ~@3 d2@4 ~@2 d2@6 ~@3 a2@2 a1@3 ~@3 a2@3 ~@3 a1@6 ~@3 a2@2 ~ a1@4 ~ a1@3 ~@3 d2@12 ~@3 d2@2 ~ d2@2 ~ d2 ~ d2@6 ~@6 a2@3 g2@3 f2@3 e2@2 ~@5]/5",
K: "~@4 c3 ~ g2 ~", L: "e2@3 ~@3 c2@4 ~@2 f2@3 ~@3 c2@3 ~@3", M: "f2 ~ c2 ~ e2 ~ g#2 ~",
N: "b2@3 ~@3 e2@4 ~@2 a1@3 ~@3 a1@3 ~@3", O: "a1@3 ~@3 a1@4 ~@2 d2@4 ~@6 f#2 ~",
P: "a2@4 ~@2 a1@3 ~@3 a1@5 ~@5 c#2 ~", Q: "e2@3 ~@3 e1@3 ~@3 a1@5 ~@5 c#2 ~", R: "e2@4 ~@2 a1@3 ~@3 d2@5 ~@5 f#2 ~",
S: "a2 ~ a1 ~ d2 ~@3", T: "~@12 g2@4 ~@2 e2@3 ~@3", U: "d2@3 ~@3 b1@4 ~@2 g1@3 ~@3 a#1@3 ~@3",
V: "d2@4 ~@2 e2@3 ~@3 a2@3 ~@7 a2 ~", W: "a2@3 ~@3 a1@4 ~@2 a1@5 ~@5 c#2 ~", X: "e2@4 ~@2 e2@3 ~@3 d2@3 ~@9",
Y: "d2@4 ~@8 a#1@5 ~ a#1@5 ~", Z: "a#1@5 ~ a#1@3 ~@3 d#2@3 ~@3 d#2@3 ~@3",
AA: "d#2@3 ~@3 d#2@2 ~ a#1@3 a#2@2 ~@4 a#2@2 ~@4", AB: "a#2@2 ~@4 a#2@2 ~ f2@3 a#2@2 ~@4 a#2@2 ~@4",
AC: "a#2@3 ~@3 a#2@2 ~ f2@3 d#2@3 ~@3 d#2@3 ~@3", AD: "d#2 ~ d#2 a#1 d#2 ~@3", AE: "~@12 g#2@4 ~@2 f2@3 ~@3",
AF: "d#2@3 ~@3 c2@4 ~@2 g#1@3 ~@3 b1@3 ~@3", AG: "d#2@4 ~@2 f2@3 ~@3 a#2@3 ~@7 a#2 ~",
AH: "a#2@3 ~@3 a#1@4 ~@2 a#1@5 ~@5 d2 ~", AI: "f2@4 ~@2 f2@3 ~@6 a#1 ~ a#1!2 ~@2 a#1 ~@2",
AJ: "a#1@2 ~ a#1 ~@2 a#1 ~@2 a#1 ~@2 d#2@2 ~@10",
})).s("gm_acoustic_bass").gain(0.5)
// chords · accordion · "tk3"
const accordion = note(`<
~@5 A B C D E F@2 G H@4 I@5 ~@15 J K L M N O P Q R S T@3 U V W X Y Z AA AB AC AD@3 AE AF AG
>`.pickRestart({
A: "~@5 [e4,g4,a#4] ~@5 [e4,g4,a#4] ~@5 [e4,g4,a#4] ~@5 [e4,g4,a#4]", // Edim
B: "~@2 [e4,g4,a#4]@2 ~ [c4,f4,a4] ~@5 [c4,f4,a4] ~@5 [c4,f4,a4] ~@5 [c4,f4,a4]", // Edim F
C: "~@2 [c4,f4,a4]@2 ~ [d4,e4,g#4,b4] ~@5 [d4,e4,g#4,b4] ~@5 [d4,e4,g#4,b4] ~@5 [d4,e4,g#4,b4]", // F E7
D: "~@2 [d4,e4,g#4,b4]@3 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4]", // E7 A
E: "~@2 [c#4,e4,a4]@2 ~ [d4,f#4,a4,d5] ~@9 [d4,f#4,a4,d5] ~ [d4,f#4,a4,d5] ~@5 [d4,f#4,a4,d5]", // A D
F: "~@5 [e4,g4,c#5] ~@9 [e4,g4,c#5] ~ [e4,g4,c#5] ~@5 [e4,g4,c#5]", // C#dim
G: "~@5 [d4,f#4,a4,d5] ~@9 [d4,f#4,a4,d5] ~ [d4,f#4,a4,d5] ~@5 [d4,f#4,a4,d5]", // D
H: "[~@5 [d4,f#4,a4,d5] ~@5 [c5,e5]@6 [b4,d5]@6 [a4,c5]@6 [f#4,a4]@6 [d4,f#4]@6 [c4,e4]@6 [b3,d4]@5 ~ [g4,b4]@17 ~ [b4,d5]@5 ~ [a#4,d5]@17 ~@2]/4", // D C Bm Am F#m D C Bm …
I: "[~@5 [a2,a3,d4,f#4]@3 ~@7 [a2,a3,d4,f#4] ~ [a2,a3,d4,f#4]@2 ~@4 [a2,a3,d4,f#4]@3 ~@3 [a3,c#4,e4,a4] ~@9 [a2,a3,c#4,e4,a4] ~ [a2,a3,c#4,e4,a4]@3 ~@3 [a2,a3,c#4,e4,a4]@2 ~@4 [a4,d5,f#5] ~@5 [d5,f#5]@3 [e5,g5]@3 [f#5,a5]@5 ~ [g5,b5]@3 [a5,c#6]@2 ~ a5@12 a#5@9 ~@22, ~@29 a2@2 ~@46 c#6@21 ~@22]/5", // D A D Em F#m G A
J: "~@12 [e4,g4,a#4] ~@5 [e4,g4,a#4] ~@5", // Edim
K: "[e4,g4,a#4] ~@5 [e4,g4,a#4] ~@2 [e4,g4,a#4]@2 ~ [c4,f4,a4] ~@5 [c4,f4,a4] ~@5", // Edim F
L: "[c4,f4,a4] ~@5 [c4,f4,a4] ~@2 [c4,f4,a4]@2 ~ [d4,e4,g#4,b4] ~@5 [d4,e4,g#4,b4] ~@5", // F E7
M: "[d4,e4,g#4,b4] ~@5 [d4,e4,g#4,b4] ~@2 [d4,e4,g#4,b4]@3 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5", // E7 A
N: "[c#4,e4,a4] ~@5 [c#4,e4,a4] ~@2 [c#4,e4,a4]@2 ~ [d4,f#4,a4,d5] ~@9 [d4,f#4,a4,d5] ~", // A D
O: "[d4,f#4,a4,d5] ~@5 [d4,f#4,a4,d5] ~@5 [e4,g4,c#5] ~@9 [e4,g4,c#5] ~", // D C#dim
P: "[e4,g4,c#5] ~@5 [e4,g4,c#5] ~@5 [e4,g4,c#5] ~@9 [e4,g4,c#5] ~", // C#dim
Q: "[e4,g4,c#5] ~@5 [e4,g4,c#5] ~@5 [d4,f#4,a4,d5] ~@9 [d4,f#4,a4,d5] ~", // C#dim D
R: "[d4,f#4,a4,d5] ~@5 [d4,f#4,a4,d5] ~@5 [d4,f#4,a4,d5] ~@5 [c5,e5]@6", S: "[b4,d5] [a4,c5] [f#4,a4] [d4,f#4]",
T: "[[c4,e4]@6 [b3,d4]@6 [g4,b4]@17 ~ [b4,d5]@5 ~ [a#4,d5]@17 ~@7 [a2,a3,d4,f#4]@3 ~@7 [a2,a3,d4,f#4] ~]/3", // C Bm G Bm A# D
U: "[a2,a3,d4,f#4]@2 ~@4 [a2,a3,d4,f#4]@3 ~@3 [a3,c#4,e4,a4] ~@9 [a2,a3,c#4,e4,a4] ~, ~@6 a2 ~@5", // D A
V: "[a2,a3,c#4,e4,a4]@3 ~@3 [a2,a3,c#4,e4,a4]@2 ~@4 [a4,d5,f#5] ~@5 [d5,f#5]@3 [e5,g5]@3", // A D Em
W: "[f#5,a5]@5 ~ [g5,b5]@3 [a5,c#6]@2 ~ [f4,a#4,d5]@2 ~@4 [f4,a#4,d5] ~@2 [f4,a#4,d5] ~@2", // F#m G A A#
X: "[f4,a#4,d5] ~@2 [f4,a#4,d5] ~@2 [f4,a#4,d5] ~@2 [f4,a#4,d5] ~@2 [a#3,d#4,g4] ~@5 [a#3,d#4,g4] ~@5", // A# D#
Y: "[a#3,d#4,g4] ~@5 [a#3,d#4,g4] ~@2 [a#3,d#4,g4]@3 [g#3,d4,f4] ~@5 [g#3,d4,f4] ~@5", // D# Ddim
Z: "[g#3,d4,f4] ~@8 [g#3,d4,f4]@4 ~@5 [g#3,d4,f4] ~@5", // Ddim
AA: "[g#3,d4,f4] ~@5 g#3 ~@2 [a#3,d#4,g4]@4 ~@5 [a#3,d#4,g4] ~@5", // Ddim D#
AB: "[a#3,d#4,g4] ~@5 [a#3,d#4,g4] ~@2 [a#3,d#4,g4]@2 ~ [d#4,g4,a#4,d#5] ~@5 [c#5,f5]@6", // D# C#
AC: "[c5,d#5] [a#4,c#5] [g4,a#4] [d#4,g4]", // Cm A#m Gm D#
AD: "[[c#4,f4]@6 [c4,d#4]@6 [g#4,c5]@17 ~ [c5,d#5]@5 ~ [b4,d#5]@17 ~@7 [a#2,a#3,d#4,g4]@3 ~@7 [a#2,a#3,d#4,g4] ~]/3", // C# Cm G# Cm B D#
AE: "[a#2,a#3,d#4,g4]@2 ~@4 [a#2,a#3,d#4,g4]@3 ~@3 [a#3,d4,f4,a#4] ~@9 [a#2,a#3,d4,f4,a#4] ~, ~@6 a#2 ~@5", // D# A#
AF: "[a#2,a#3,d4,f4,a#4]@3 ~@3 [a#2,a#3,d4,f4,a#4]@2 ~@9 [f4,a#4]!2 ~ [f4,a#4]!2 ~@2", // A# A#5
AG: "[f4,a#4] ~@2 [f4,a#4] ~@2 [f4,a#4] ~@2 [f4,a#4] ~@2 a#4@2 ~@10, ~@12 d#5 ~@11", // A#5
})).s("gm_accordion").gain(0.41).pan(0.6)
// chords · string ensemble 1 · "tk7"
const string_ensemble_1 = note("<~@13 A@4 B@2 C@3 ~@23 D E F@2 G H I J@6 K L@2 M N O P>".pickRestart({
A: "[~@11 [c6,e6]@6 [b5,d6]@6 [a5,c6]@6 [f#5,a5]@6 [d5,f#5]@6 [c5,e5]@6 [b4,d5]@6 [d5,b5]@17 ~ [d5,b5,d6]@5 ~ [d5,g5,a#5]@13 ~@6]/4", // C Bm Am F#m D C Bm G …
B: "[~@11 b5@2 ~ f#5 d5@2 a4@11 ~@20, ~@13 a5@2 ~@33]/2",
C: "[~@11 [d5,f#5]@3 [e5,g5]@3 [f#5,a5]@5 ~ [g5,b5]@3 [a5,c#6]@2 ~ a5@12 a#5@10 ~@21, ~@29 c#6@22 ~@21]/3", // D Em F#m G A
D: "~@3 [c6,e6]", E: "[b5,d6] [a5,c6] [f#5,a5] [d5,f#5]",
F: "[[c5,e5]@6 [b4,d5]@6 [d5,b5]@17 ~ [d5,b5,d6]@5 ~ [d5,g5,a#5]@12]/2", G: "~@18 b5@2 ~ f#5 d5@2, ~@10 a5 ~",
H: "a4@11 ~@13", I: "~@6 [d5,f#5] [e5,g5]",
J: "[[f#5,a5]@5 ~ [g5,b5]@3 [a5,c#6]@2 ~ [f5,g#5,d6]@22 ~@2 [d#5,g5]@24 [d5,g#5]@48 [d#5,g5]@24 ~@6 [c#6,f6]@6, ~@3 a#5@8 ~]/6", // F#m G A Ddim D# Ddim D# C#
K: "[c6,d#6] [a#5,c#6] [g5,a#5] [d#5,g5]", // Cm A#m Gm D#
L: "[[c#5,f5]@6 [c5,d#5]@6 [d#5,c6]@17 ~ [d#5,c6,d#6]@5 ~ [d#5,g#5,b5]@12]/2", M: "~@18 c6@2 ~ g5 d#5@2, ~@10 a#5 ~",
N: "a#4@11 ~@13", O: "~@15 a#5 ~ a#5!2 ~@2 a#5 ~@2", P: "c6@2 ~ a#5 ~@2 d6@2 ~ a#5 ~@2 d#6@2 ~@10",
})).s("gm_string_ensemble_1").gain(0.28).pan(0.3)
// chords · brass section · "tk8"
const brass_section = note("<~@20 A B C D E F G H I@2 J@2 ~@31 K L>".pickRestart({
A: "~@5 [c#5,e5,a5]!2 ~@2 [c#5,e5,a5] ~ [c#5,e5,a5] ~@2 [c#5,e5,a5] ~@2 [c#5,e5,a#5]!2 ~ [c#5,e5,a#5]!2 ~ [c#5,e5,a#5]", // A A#dim
B: "~@2 [c#5,e5,a#5] ~@5 [a4,b4,d5,f#5]@3 ~@3 [a4,b4,d5,f#5] ~@2 [a4,b4,d5,f#5] ~@2 [a4,b4,d5,f#5]!3 ~", // A#dim Bm7
C: "~ [a4,b4,d5,f#5] ~@5 [b4,c#5,e5,g5]@3 ~@3 [b4,c#5,e5,g5] ~@2 [b4,c#5,e5,g5] ~@2 [b4,c#5,e5,g5]!2 ~ [b4,c#5,e5,g5] ~", // Bm7 C#m7b5
D: "~ [b4,c#5,e5,g5] ~@4 [b4,c#5,e5,g5]@2 ~@4 [b4,c#5,e5,g5] ~@2 [b4,c#5,e5,g5] ~@2 [b4,c#5,e5,g5]!2 ~ [b4,c#5,e5,g5] ~@2", // C#m7b5
E: "[b4,c#5,e5,g5] ~@5 [a4,b4,d5,f#5]@3 ~@2 [a4,b4,d5,f#5]@2 ~@4 e4 ~ f#4 g4 ~ a4 b4", // C#m7b5 Bm7
F: "g4 ~ [a4,a5] ~@2 [e5,e6]@3 ~@3 [d5,d6]@4 ~ [c5,c6]@4 ~@2 [a4,a5]@2", // A E D C A
G: "~ [a2,d3]@12 [e5,e6] [f#5,f#6] [e5,e6] [a2,d3,d5,d6] ~ [a2,d3,e5,e6] ~ [e5,f#5,e6,f#6] [d5,d6]@2 ~, ~ [f#4,f#5]@2 ~@18 [a2,d3] ~@2", // D5 E F# E D5 Asus4 Esus2 D …
H: "~@4 b5@4 ~ [b4,b5] ~@2 [d5,d6] ~@2 [g4,g5] ~@2 [b4,b5] ~@2 [d4,d5] ~@2, ~@3 b4@4 ~@17", // B D G B D
I: "[~@3 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [g4,a#4,d5,e5]@12 ~@2 [f#4,a4,b4,d5]@21 ~@4]/2", // A# Em7b5 Bm7
J: "[~@10 [c#4,e4,g4,b4]@3 a4 ~ [c#4,e4,g4,c#5] ~@2 [c#4,e4,g4,c#5] ~@2 [d4,f#4,a4,b4,d5]@12 ~@3 [d4,f#4,a4,b4,d5] ~@2 [d4,f#4,a4,b4,d5] ~@2 [d4,f#4,a4,b4,d5] ~ [d4,f#4,a4,b4,d5]@2 ~@2]/2", // C#m7b5 C#dim Bm7
K: "~@15 [d5,f5,g#5,a#5] ~ [d5,f5,g#5,a#5]!2 ~@2 [d5,f5,g#5,a#5] ~@2", // A#7
L: "[d5,f5,g#5,a#5] ~@2 [d5,f5,g#5,a#5] ~@2 [d5,f5,g#5,a#5] ~@2 [d5,f5,g#5,a#5] ~@2 [g5,a#5] ~@11, ~@6 d#5 ~@5", // A#7 Gm
})).s("gm_brass_section").gain(0.6).pan(0.7)
// other · trombone · "tk9"
const trombone = note("<~@21 A@2 B@2 C D E@3 F@2 ~@33>".pickRestart({
A: "[~@5 b3@2 ~ a3 ~@14 b3@2 ~ a3 ~ b3@2 ~ a3@2 ~ g3@2 ~ c#3@11]/2",
B: "[~@4 b3@2 ~ a3@4 ~@10 b3@2 ~ a3 ~@2 b3@3 a3@2 ~ f#3@2 ~ d3@11 ~, ~@3 a1@43 ~@2]/2", C: "~ d2@11",
D: "~ [a2,d3]@11 ~ d2@11", E: "[g2@30 ~@2 d3@3 e3@3 g3@3 a#3@3 e3@2 ~ b3@3 ~@8 a1@11 ~ b3@2, ~@50 a3@19 ~@3]/3",
F: "[~ a3@2 ~ b3@2 ~ a3@2 ~@6 a1 ~@2 a1 ~@2 d3@13 ~@2 [d2,d3] ~@2 [d2,d3] ~@2 d2@2 [d2,d3]@3 ~, ~@42 d3 ~@5]/2", // D
})).s("gm_trombone").gain(0.62).pan(0.2)
// other · alto sax · "tk11"
const alto_sax = note("<~@21 A@2 B C ~@3 D@2 ~@35>".pickRestart({
A: "[~@5 b4@3 a4@2 ~@12 a#4 b4@2 ~ a4 ~@2 b4@2 a4@3 g4@2 ~ c#4@10 ~, ~@5 a#4 ~@42]/2",
B: "~@3 a#4 b4@3 a4@2 ~@12 b4@2 ~, ~@21 a#4 ~@2", C: "a4 ~@2 b4@2 ~ a4@2 ~ f#4@2 ~ d4@11 ~",
D: "[~@23 b3@3 a3@16 ~@6]/2",
})).s("gm_alto_sax").gain(0.54).pan(0.7)
// chords · piano · "tk12"
const piano = note("<A B@2 ~ C@2 ~@15 D@3 E F G H I@4 J@4 K@2 ~@27>".pickRestart({
A: "~@13 [d2,d3,f3,a3]@11", // Dm
B: "[~@11 d7@3 ~@7 [d3,f3,a3]@12 ~@10 d7@4 ~, ~@3 [e3,g3,a#3]@12 ~@20 [e3,g3,a#3]@12 ~, ~@6 d4@2 a4 d5 a6@4 ~@26 a4@2 [f6,a6]@4 ~@2, ~@7 f4@2 d6@10 ~@19 d4@3 d6@6 ~, ~@9 f6@4 ~@26 f4@2 d5@2 ~@5]/2", // Dm Edim F
C: "[~@16 a6@13 ~@19, ~@3 a2@5 g4@2 a4@15 ~@23, ~@4 [c#3,e3]@7 c#5@2 c#6@13 ~@22, ~@6 [g3,c#4]@8 e6@13 ~@21, ~@7 e4@5 [e5,g5]@13 ~@23]/2", // C#m Gdim Em
D: "[~@8 [f#3,a3,d4]@2 ~@4 [a3,d4]@8 [f#3,a3,d4]@4 ~@2 f#3 ~@2 g3 ~@2 [g3,c#4,e4] ~@2 [c#4,e4]@6 g3 ~@2 [g3,c#4,e4]@4 ~ g3 ~@2 e4 ~@5 [g3,c#4,e4]@8 ~ [g3,c#4,e4]@3, ~@14 f#3@6 ~@17 g3@5 ~@30]/3", // D D5 D C#dim C#m C#dim
E: "~@3 [f#3,a3,d4]@5 ~@3 [f#3,a3,d4]@7 ~@2 [f#3,a3,d4]@4", F: "~@11 [f#3,a3,d4]@4 ~@4 [f#3,a3,d4] ~@4",
G: "~@4 [f#3,c4,e4]@4 ~@2 [f#3,c4,e4]@8 ~ [f#3,c4,e4]@4 ~", // F#m7b5
H: "~@3 [g3,b3,d4]@4 ~@2 [b3,d4]@6 g3 ~@2 [g3,b3,d4]@3 g3 ~@2, ~@9 g3@5 ~@10", // G Bm G
I: "[~@2 [g3,a#3,d4]@4 ~@2 [a#3,d4]@6 g3@2 ~ [g3,a#3]@2 ~ [g3,a#3] ~@2 [a2,a3,d4,f#4]@5 ~@6 a2@4 ~@2 [a2,a3,d4,f#4]@3 ~@6 g3@4 ~@2 [g3,c#4,e4]@6 a2@2 [g3,c#4,e4]@2 ~@4 [d3,a3,f#4]@5 ~ a3 ~@2 [a3,d4,f#4]@5 ~ d3@3 [a3,d4,f#4]@2 ~@3 [d3,a3,d4,f#4]@3 ~, ~@8 g3@4 ~@5 d4@5 ~@10 [a3,d4,f#4]@8 ~@6 a2@5 ~@45]/4", // Gm A# Gm D C#dim D
J: "[~@20 [d2,d3,f3,a3]@11 ~@11 d7@7 ~@2 [d3,f3,a3]@11 ~@11 d7@3 ~@20, ~@34 [e3,g3,a#3]@6 [d5,d6,f6]@10 ~@18 d4@3 d6 [f6,a6]@4 ~@20, ~@37 d4@4 a6@8 ~@20 f4@10 ~@17, ~@38 f4@11 ~@15 [g3,a#3]@6 a4@10 ~@16, ~@39 a4@11 ~@15 e3@6 d5@9 ~@16]/4", // Dm Edim Dm F Gm
K: "[~@23 a6@11 ~@14, ~@10 a2@25 ~@13, ~@11 [c#3,e3]@5 a4@2 [c#5,e5] g5 c#6 e6@11 ~@16, ~@13 g3@2 g4@19 ~@14, ~@7 e4@10 ~@7]/2", // C#m
})).s("gm_piano").gain(0.38).pan(0.4)
// chords · acoustic guitar steel · "tk13"
const acoustic_guitar_steel = note(`<
~@5 A B C@7 ~ D E@4 F@2 G H I J K L M@3 N ~@5 O P Q R S T U V W ~ X Y Z AA AB AC AD AE AF AG AH ~ AI AJ AK AL AM AN
>`.pickRestart({
A: "~@5 [c3,g3,c4,e4] ~@5 [c3,g3,c4,e4] ~@5 [c3,g3,c4,e4] ~@5 [c3,g3,c4]", // C C5
B: "~@2 [c3,g3,c4,e4]@3 [f2,f3,a3,c4] ~@5 [f2,f3,a3,c4] ~@5 [f2,f3,a3,c4] ~@5 [f2,f3,a3]", // C F
C: "[~@2 [f2,f3,a3,c4]@2 ~ [e2,e3,g#3,b3] ~@5 [e2,e3,g#3,b3] ~@5 [e2,e3,g#3,b3] ~@5 [e3,g#3]@2 ~ [e3,g#3] ~@2 [a2,a3]@2 ~@4 [a2,a3,c#4,e4] ~@5 [a2,a3,c#4,e4] ~@2 [a3,c#4] ~@2 [a2,a3,c#4,e4]@3 ~@3 [d3,a3,d4,f#4]@4 ~@6 [d3,a3,d4,f#4] ~ [d3,a3,d4,f#4]@4 ~@2 [d3,a3,f#4]@4 ~@2 [a2,g3,c#4,e4]@3 ~@7 [a2,g3,c#4,e4] ~ [a2,g3,c#4,e4]@4 ~@2 [a2,g3,c#4,e4]@3 ~@3 [a2,g3,c#4,e4]@4 ~@6 [a2,g3,c#4,e4] ~ [a2,g3,c#4,e4]@4 ~@2 [a2,g3,c#4,e4]@3 ~@3 [d3,a3,d4,f#4]@3 ~@7 [d3,a3,d4,f#4] ~ [d3,a3,d4,f#4]@4 ~@2 [d3,a3,d4,f#4]@3 ~@3 [d3,a3,d4,f#4]@3 ~@16, ~@23 [e2,b3]@5 ~@43 d4@2 ~@95]/7", // F E A D A7 D E5
D: "~@5 [b3,d4,g4] ~@5 [b3,d4,g4] ~@5 [b3,d4,g4] ~@5 [b3,d4,g4]", // G
E: "[~@2 [b3,d4]@3 d4 ~@5 [a#3,d4,g4] ~@5 [a#3,d4,g4] ~@5 [d4,g4]@3 a#3 ~@2 [a2,a3,d4,f#4]@5 ~@5 [a2,a3,d4,f#4] ~ [a2,a3,d4,f#4]@3 ~@3 a2@3 ~@3 [a2,g3,c#4,e4]@5 ~@5 [a2,g3,c#4,e4] ~ [a2,g3,c#4,e4]@4 ~@2 [a2,g3,c#4,e4]@3 ~@3 [d3,a3,d4,f#4]@3 ~@9 [d3,a3,d4,f#4]@3 ~@4, ~@2 g4@5 ~@16 a#3@2 ~@71]/4", // Bm Gm G5 D A7 D
F: "[~@5 [a3,c#4,e4]@3 ~ [a3,c#4,e4] ~ [a3,c#4,e4]@2 ~ [a3,c#4,e4] ~@2 [a#3,c#4,e4]@3 ~ [a#3,c#4,e4] ~ [a#3,c#4,e4]@2 ~ [a#3,c#4,e4] ~@2 d3@4 [a3,f#4] ~ d3 ~@7 d3@2 ~ [a3,f#4] ~, ~@38 [a3,f#4]@7 ~@3]/2", // A A#dim D
G: "~ d3 ~@2 a2@4 g3 ~ a2@2 ~ [g3,c#4,e4]@6 a2@3 [g3,e4]@2", // C#dim C
H: "a2 ~@2 a2@3 ~@2 [g3,c#4,e4] a2 ~ g3 [g3,c#4,e4]@7 a2@2 [g3,c#4,e4]@3", // C#dim
I: "g3 ~@2 d3@4 [a3,f#4] d3 ~@2 [a3,f#4]@6 d3@3 [a3,f#4]@2 ~ d3", // D
J: "~@2 d3@4 [a3,c4,f#4] ~@4 [c4,f#4]@8 [d3,a3,c4,f#4]@2 ~ a3 ~, ~@5 a3@4 ~@3", // F#dim Cdim D7
K: "~ d3@4 [a3,c4,f#4] ~ d3 ~@2 [a3,c4,f#4]@7 ~@2 f#4@4 ~, ~@9 [a3,c4]@2 ~", // F#dim Am
L: "g2@4 ~@2 g2 ~@2 [b3,d4,g4]@6 g2@2 ~ [b3,d4,g4]@3 ~ g2 ~, ~@5 [b3,d4,g4]@2 ~@17", // G
M: "[~@5 g2 ~@2 [a#3,d4,g4]@6 g2@3 [a#3,d4,g4]@3 g2 ~@2 [a3,f#4]@4 ~ a3 d4 ~@2 f#4@5 d3@3 [a3,d4,f#4]@3 d3 ~@6 g3@2 e4 ~@2 [g3,c#4,e4]@5 a2@3 [g3,c#4,e4]@3 a2 ~@2 [d3,a3,f#4]@3, ~@4 [a#3,d4,g4]@2 ~@21 d3@9 ~@10 a2@9 ~@17, ~@31 [a3,d4]@6 ~@13 c#4 ~@21]/3", // Gm D C#dim D Gm D5
N: "~@3 [a3,d4]@2 ~ [a3,d4,f#4]@5 ~ d3@3 [a3,d4,f#4]@2 d3 ~@6, ~ d3@8 ~@15", // D5 D
O: "~@12 [c3,g3,c4,e4] ~@5 [c3,g3,c4,e4] ~@5", // C
P: "[c3,g3,c4,e4] ~@5 [c3,g3,c4] ~@2 [c3,g3,c4,e4]@3 [f2,f3,a3,c4] ~@5 [f2,f3,a3,c4] ~@5", // C C5 C F
Q: "[f2,f3,a3,c4] ~@5 [f2,f3,a3] ~@2 [f2,f3,a3,c4]@2 ~ [e2,e3,g#3,b3] ~@5 [e2,e3,g#3,b3] ~@5", // F E
R: "[e2,e3,g#3,b3] ~@5 [e3,g#3]@2 ~ [e3,g#3] ~@2 [a2,a3]@2 ~@4 [a2,a3,c#4,e4] ~@5, ~@6 [e2,b3]@5 ~@13", // E A E5
S: "[a2,a3,c#4,e4] ~@2 [a3,c#4] ~@2 [a2,a3,c#4,e4]@3 ~@3 [d3,a3,d4,f#4]@4 ~@6 [d3,a3,d4,f#4] ~", // A D
T: "[d3,a3,d4,f#4]@4 ~@2 [d3,a3,f#4]@4 ~@2 [a2,g3,c#4,e4]@3 ~@7 [a2,g3,c#4,e4] ~, ~@3 d4 ~@8", // D A7
U: "[a2,g3,c#4,e4]@4 ~@2 [a2,g3,c#4,e4]@3 ~@3 [a2,g3,c#4,e4]@4 ~@6 [a2,g3,c#4,e4] ~", // A7
V: "[a2,g3,c#4,e4]@4 ~@2 [a2,g3,c#4,e4]@3 ~@3 [d3,a3,d4,f#4]@3 ~@7 [d3,a3,d4,f#4] ~", // A7 D
W: "[d3,a3,d4,f#4]@4 ~@2 [d3,a3,d4,f#4]@3 ~@3 [d3,a3,d4,f#4]@3 ~@9", X: "~@12 [b3,d4,g4] ~@5 [b3,d4,g4] ~@5",
Y: "[b3,d4,g4] ~@5 [b3,d4,g4] ~@2 [b3,d4]@3 d4 ~@5 [a#3,d4,g4] ~@5, ~@9 g4@5 ~@10", // G Bm Gm
Z: "[a#3,d4,g4] ~@5 [d4,g4]@3 a#3 ~@2 [a2,a3,d4,f#4]@5 ~@5 [a2,a3,d4,f#4] ~, ~@3 a#3 ~@8", // Gm G5 D
AA: "[a2,a3,d4,f#4]@3 ~@3 a2@3 ~@3 [a2,g3,c#4,e4]@5 ~@5 [a2,g3,c#4,e4] ~", // D A7
AB: "[a2,g3,c#4,e4]@4 ~@2 [a2,g3,c#4,e4]@3 ~@3 [d3,a3,d4,f#4]@3 ~@9", // A7 D
AC: "[d3,a3,d4,f#4]@3 ~@9 [a#2,d4]@5 ~ [a#2,f4]@2 ~ [a#2,d4,f4,a#4]@2 ~, ~@3 a#4@2 ~", // D A# A#5 A#
AD: "[a#2,d4,f4,a#4]@2 ~ [a#2,d4,f4,a#4]@2 ~ [a#2,d4,f4,a#4] ~@2 [a#2,d4,f4,a#4] ~@2 [a#3,d#4,g4] ~@5 [a#3,d#4,g4] ~@5", // A# D#
AE: "[a#3,d#4,g4] ~@5 [a#3,d#4,g4]@3 a#3 ~@8 [f3,a#3,d4] ~@5", // D# A#
AF: "[f3,a#3,d4] ~@5 [f3,a#3,d4] ~@2 [f3,a#3,d4]@3 ~@6 [f3,a#3,d4] ~@5", // A#
AG: "[f3,a#3,d4] ~@5 [f3,a#3,d4] ~@2 a#3 ~@2 [a#3,d#4,g4] ~@5 [a#3,d#4,g4] ~@5", // A# D#
AH: "[a#3,d#4,g4] ~@5 [a#3,d#4,g4] ~@2 [a#3,d#4,g4]@2 ~ [d#3,a#3,d#4,g4]@3 ~@9", // D#
AI: "~@12 [c4,d#4,g#4] ~@5 [c4,d#4,g#4] ~@5", // G#
AJ: "[c4,d#4,g#4] ~@5 [c4,d#4,g#4] ~@2 [c4,d#4]@3 d#4 ~@5 [b3,d#4,g#4] ~@5, ~@9 g#4@5 ~@10", // G# Cm G#m
AK: "[b3,d#4,g#4] ~@5 [d#4,g#4]@3 b3 ~@2 [a#2,a#3,d#4,g4]@5 ~@5 [a#2,a#3,d#4,g4] ~, ~@3 b3 ~@8", // G#m G#5 D#
AL: "[a#2,a#3,d#4,g4]@3 ~@3 a#2@3 ~@3 [a#2,g#3,d4,f4]@5 ~@5 [a#2,g#3,d4,f4] ~", // D# A#7
AM: "[a#2,g#3,d4,f4]@4 ~@2 [a#2,g#3,d4,f4]@3 ~@8 [a#3,d4] [f3,a#3,d4] ~@2 [f3,a#3,d4] ~@2, ~@8 [a#2,f3] ~@3", // A#7 A# A#5
AN: "[a#2,f3,a#3,d4] ~@2 [a#2,f3,a#3,d4] ~@2 [a#2,f3,a#3,d4] ~@2 [a#2,f3,a#3,d4] ~@2 [d#2,g3,a#3,d#4]@2 ~@10", // A# D#
})).s("gm_acoustic_guitar_steel").gain(0.24).pan(0.4)
// drums · kick
const kick = s("bd").struct(`<
~@5 A@4 ~@6 A@2 ~@4 B C D E F G H I J K L ~@5 M N@3 O ~@5 M N O ~@3 M N@3 O ~ M N O ~@3
>`.pickRestart({
A: "~@5 x ~@5 x ~@5 x ~@5 x", B: "~@5 x ~@8 x ~@2 x ~@4 x ~", C: "~@4 x ~@8 x ~@2 x ~@5 x ~", D: "~ x ~@2 x!2 ~ x",
E: "~@3 x ~@7 x ~@2 x ~@5 x ~@3", F: "~@2 x ~@8 x ~@2 x ~@4 x ~@4", G: "~ x ~@8 x ~@2 x ~@5 x ~@4",
H: "x ~@2 x!2 ~ x ~", I: "x ~@7 x ~@2 x ~@5 x ~@5 x", J: "~@4 x!2 ~@2 x ~@2 x", K: "~@7 x ~@2 x ~@4 x ~@5 x ~@2",
L: "~@6 x ~@2 x ~@5 x ~@4 x ~@3", M: "~@2 x!2", N: "x!4", O: "x!2 ~@2",
})).gain(0.42)
// drums · snare
const snare = s("sd").struct(`<
~@5 A B@3 C D@3 E F G B C D H I J K L M N O P Q R S T ~@5 U V@3 W X@3 Y ~ Z V W X Y AA AB V@3 AC ~ Z V W X AD AE
>`.pickRestart({
A: "~@5 x ~@5 x ~@5 x ~@5 x", B: "~@2 x!4 ~@5 x ~@5 x ~@5 x", C: "~@2 x!4 ~@9 x ~ x ~@5 x",
D: "~@5 x ~@9 x ~ x ~@5 x", E: "~@5 x ~@18", F: "~@18 x!6", G: "x!6 ~@5 x ~@5 x ~@5 x", H: "~@5 x ~@11 x ~@6",
I: "~@5 x!2 ~@2 x ~ x ~@2 x ~@2 x!2 ~ x!2 ~ x", J: "~ x ~@5 x ~@4", K: "~ x ~@8 x ~@9 x ~ x ~", L: "~ x ~@10 x ~@11",
M: "x ~@7 x ~@10 x!2 ~@2 x", N: "~@11 x ~@10 x ~", O: "~@7 x ~@9 x ~ x ~ x ~@2", P: "~@3 x ~@3 x",
Q: "~@5 x ~@10 x!2 ~@2 x ~@3", R: "~@8 x ~@10 x ~@4", S: "~@4 x ~@9 x!2 ~@2 x ~@5", T: "~ x ~ x", U: "~@2 x!2",
V: "x ~@5 x ~@2 x!4 ~@5 x ~@5", W: "x ~@5 x ~@2 x!4 ~@9 x ~", X: "x ~@2 x ~@2 x ~@4 x", Y: "x!3 ~",
Z: "~ x!12 ~@5 x ~@5", AA: "x ~@11 x ~ x ~@2 x!2 ~@2 x ~@2", AB: "x ~ x!2 ~ x!2 ~@2 x ~@2 x ~@5 x ~@5",
AC: "x ~@5 x ~@2 x!4 ~@11", AD: "x ~@5 x ~@8 x ~ x!2 ~@2 x ~@2", AE: "x!5 ~@3",
// … 81 more lines
More by Celentano
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.