0:00/0:00
// Penso Positivo — Jovanotti
// 135 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 7 trombone (copy of ch 5 muted trumpet)
// note: Full arrangement: all 164 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(135/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.
// bass · fretless bass
const bass = note(`<
~ A B C B C B C B D E F G H I J@2 K L M N O P Q R S T U V W@2 X@2 Y@2 Z AA AB AA AC AD AE AF AG AH AG AH AG AH AG AH
AG AH AG AH AG AH AG AH AI ~@4 AG AH AG AH AG AH AJ AK AL AM@7 AN AO AP AQ AP AQ AP AQ AP AQ AP AQ AP AQ AP AQ AR AS
AQ AP AQ AP ~ AT AU ~@4 AV AW AX AY@8 AZ BA BB BC BD BE ~@3 BF BG BH BG BI ~@4 BJ BK@2 BL@2 BM@2 BN BO BP BQ BR BS BT
BU BT BV BW BX ~@3 BY@2 BZ@2
>`.pickRestart({
A: "~@6 a1@4 ~ c2@4 d2@4 ~ e2@3 e2", B: "d2 ~ g1 g#1@2 ~ a1@4 ~ c2@4 d2@4 ~ e2@4",
C: "g2@2 ~ a2 ~@2 a1@4 ~ c2@4 d2@4 ~ e2@3 e2", D: "g2@2 ~ a2@2 ~ a1@2 ~@16", E: "g3@4 ~@2 a1@4 c2@4 ~ d2@4 e2@3 e2 ~",
F: "d2 g1 ~ g#1@2 ~ a1@4 c2@4 ~ d2@4 e2@4 ~", G: "g2@2 ~ a2 ~@2 a1@4 c2@4 ~ d2@4 e2@3 e2 d2",
H: "~ g1 g#1@2 ~ a1@4 ~ c2@4 d2@5 e2 d3 ~ c#3 c3", I: "~ a2 g2 ~ e2 a1@4 ~ c2@4 d2@4 ~ e2@3 e2 d2",
J: "[~ g1 g#1@2 ~ a1@4 ~ c2@4 d2@4 ~ e2@4 g2@2 ~ a2 ~@2 a1@4 c2@4 ~ d2@4 e2@3 e2 ~ d2]/2",
K: "g1 ~ g#1@2 ~ a1@4 c2@4 ~ d2@4 e2@4 g2@2", L: "~@2 a2@2 ~ a1@2 ~@17", M: "~@4 a1@4 ~ c2@4 d2@4 ~ e2@3 e2 d2 ~",
N: "g1 g#1@2 ~ a1@4 ~ c2@4 d2@4 ~ e2@4 g2@2", O: "~ a2 ~@2 a1@4 ~ c2@4 d2@4 e2@3 e2 ~ d2 g1",
P: "~ g#1@2 ~ a1@4 c2@4 ~ d2@4 e2@4 ~ g2@2", Q: "~ a2 ~@2 a1@4 c2@4 ~ d2@4 e2@3 e2 d2 ~ g1",
R: "~ g#1@2 ~ a1@4 c2@4 d2@4 ~ e2@4 g2@2 ~", S: "a2 ~@2 a1@4 ~ c2@4 d2@4 ~ e2@3 e2 d2 ~ g1",
T: "g#1@2 ~ a1@4 ~ c2@4 d2@4 ~ e2@4 g2@2 ~", U: "a2@2 ~ a1@4 c2@4 ~ d2@4 e2@3 e2 ~ d2 g1 ~",
V: "g#1@2 ~ a1@4 c2@4 ~ d2@4 e2@4 ~ g2@2 ~",
W: "[a2 ~@2 a1@4 c2@4 ~ d2@4 e2@3 e2 d2 ~ g1 g#1@2 ~ a1@4 ~ c2@4 d2@4 ~ e2@4 g2@2 ~ a2]/2",
X: "[~@2 a1@4 ~ c2@4 d2@4 ~ e2@3 e2 d2 ~ g1 g#1@2 ~ a1@4 ~ c2@4 d2@4 ~ e2@4 g2@2 ~ a2]/2",
Y: "[~@2 a1@4 c2@4 ~ d2@4 e2@3 e2 ~ g1@2 ~ g#1@2 ~ a1@2 ~@14 e2@4 d#2 [c#2,d2]]/2", // Dmaj7
Z: "~@2 a1@4 c2@4 ~ d2@4 e2@3 e2 d2 ~ g1 g#1@2", AA: "~ a1@4 ~ c2@4 d2@4 ~ e2@4 g2@2 ~ a2 ~",
AB: "~ a1@4 ~ c2@4 d2@4 ~ e2@3 e2 d2 ~ g1 g#1@2", AC: "~ a1@4 c2@4 ~ d2@4 e2@3 e2 ~ d2 g1 ~ g#1@2",
AD: "~ a1@4 c2@4 ~ d2@4 e2@4 g2@2 ~@2 a2 ~", AE: "~ a1@4 c2@4 d2@4 ~ e2@3 e2 g1@2 ~ g#1@2 ~",
AF: "a1@3 ~@2 c2@3 d2@3 a2@3 ~ g#2 [f#2,g2] ~@7", AG: "a1@4 ~ c2@4 d2@4 ~ e2@3 e2 d2 ~ g1 g#1@2 ~",
AH: "a1@4 ~ c2@4 d2@4 ~ e2@4 g2@2 ~ a2 ~@2", AI: "a1", AJ: "a1@4 ~ c2@4 d2@4 ~ e2@3 e2 g1@2 ~ g#1@2 ~", AK: "a1 ~@11",
AL: "~ g#1 g1 [e1,f#1] d#1 d1 ~@18, a1 ~@11", // Esus2
AM: "[a1@4 c2@4 ~ d2@4 e2@3 e2 d2 ~ g1 g#1@2 ~ a1@4 ~ c2@4 d2@4 ~ e2@4 g2@2 ~ a2 ~@2 a1@4 c2@4 ~ d2@4 e2@3 e2 ~ d2 g1 ~ g#1@2 ~ a1@4 c2@4 d2@4 ~ e2@4 g2@2 ~ a2 ~@2 a1@4 ~ c2@4 d2@4 ~ e2@3 e2 d2 g1 ~ g#1@2 ~ a1@4 c2@4 ~ d2@4 e2@4 g2@2 ~@2 a2 ~@2 a1@4 c2@4 d2@4 ~ e2@3 e2 g1@2 ~ g#1@2 ~ a1@3]/7",
AN: "~@7 a1", AO: "~ c2@4 ~ d2@4 e2@3 e2 d2 ~ g1 ~ g#1@2 a1@4", AP: "~ c2@4 d2@4 ~ e2@4 g2@2 ~ a2 ~@2 a1@4",
AQ: "~ c2@4 d2@4 ~ e2@3 e2 d2 ~ g1 g#1@2 ~ a1@4", AR: "~ c2@4 d2@4 ~ e2@4 g2@2 ~ a2 ~@2 a1@2 ~@2",
AS: "~@7 g3@2 ~ a1@2", AT: "~@11 c3@2 ~ g2@2 ~ a2 c3 ~ e3@2 ~@2", AU: "~@5 d3 c#3 ~ c3@2 ~@4 g1 ~@2 g#1 ~@2 a1@3 ~",
AV: "~@19 a1@2 ~ a1@2", AW: "~@10 g1@8 ~ a1@3 a1@2", AX: "~@9 c2@7 ~@2 a1@2 ~ a1@2 ~",
AY: "[~@18 a2@4 ~ g#2@4 g2@5 ~ e2 ~ d#2 d2 ~ c#2 c2 ~ b1 a1@4 c2@4 ~ d2@4 e2@3 e2 ~ d2 g1 ~ g#1@2 ~ a1@4 c2@4 ~ d2@3 d2 a2 ~ g#2 g2 ~ e2 d2 ~ c2 b1 ~ a1@4 c2@4 ~ d2@4 e2@3 e2 d2 ~ g1 ~ g#1@2 a1@4 ~ c2@4 d2@3 d2 ~ e2@2 ~ e2 g2@2 g2 a2 ~@2 a1@4 ~ c2@4 d2@4 ~ e2@3 e2 d2 ~ g1 g#1@2 ~ a1@4 ~ c2@4 d2@4 ~ e2@4 g2@2 ~ a2 ~@2 a1@4 c2@3]/8",
AZ: "~@2 d2@4 e2@3 e2 ~ d2 g1 ~ g#1@2 ~ a1@4 c2@3", BA: "~@2 d2@4 e2@4 g2@2 ~@2 a2@2 ~ a1@4 c2@3",
BB: "~@2 d2@4 e2@3 e2 d2 ~ g1 g#1@2 ~ a1@4 ~ c2@3", BC: "~ d2@4 ~ e2@4 g2@2 ~ a2 ~@2 a1@4 ~ c2@3",
BD: "~ d2@4 ~ e2@3 e2 d2 ~ g1 g#1@2 ~ a1@4 ~ c2@3", BE: "~ d2@4 e2@4 ~ g2@2 ~ a2 ~@2 a1@6 ~@2", BF: "~@15 a1@4 ~@5",
BG: "e2 ~@2 g2@6 a2@4 ~@2 a1@5 ~@4", BH: "e2@2 ~ g2@2 ~@2 g2@4 ~ e2@2 ~ a1@5 ~@4",
BI: "e2@2 ~ g2@2 ~@2 g2@4 ~ e2@2 a1@2 g#1 [f#1,g1] [d#1,e1] d1 ~@4", // Gmaj7 Emaj7
BJ: "~@15 g#1 [f#1,g1] [d#1,e1] d1 ~@5, ~@7 a1 ~@4", // Gmaj7 Emaj7
BK: "[~@13 a1@4 ~ c2@4 d2@4 ~ e2@3 e2 d2 ~ g1 g#1@2 ~ a1@4 ~ c2@4 d2@2]/2",
BL: "[~ d2 ~ a2 g#2 ~ g2 e2 ~ d2 c2 ~ b1 a1@4 ~ c2@4 d2@4 ~ e2@3 e2 d2 ~ g1 g#1@2 ~ a1@4 ~ c2@4 d2@2]/2",
BM: "[~ d2 e2@2 ~ e2 ~ g2!2 ~ a2 ~@2 a1@4 c2@4 ~ d2@4 e2@3 e2 ~ d2 g1 ~ g#1@2 ~ a1@4 c2@4 ~ d2@2]/2",
BN: "~@2 e2@4 g2@2 ~ a2 ~@2 a1@4 ~ c2@4 d2@3", BO: "~@2 e2@3 e2 d2 ~ g1 g#1@2 ~ a1@4 ~ c2@4 d2@3",
BP: "~@2 e2@4 g2@2 ~ a2@2 ~ a1@2 [g1,g#1] [e1,f#1] d#1 d1 ~@6", BQ: "~@12 a1@4 c2@4 ~ d2@3",
BR: "~ e2@3 e2 ~ d2 g1 ~ g#1@2 ~ a1@4 c2@4 ~ d2@3", BS: "~ e2@4 g2@2 ~@2 a2 ~ a1@4 ~ c2@4 d2@4",
BT: "~ e2@3 e2 d2 ~ g1 g#1@2 ~ a1@4 ~ c2@4 d2@4", BU: "~ e2 ~ c#3 ~ c3 a2 ~ g2 ~ e2 a1@4 ~ c2@4 d2@4",
BV: "e2@4 ~ g2@2 ~ a2 ~@2 a1@4 c2@4 ~ d2@4", BW: "e2@3 e2 d2 ~ g1 ~ g#1@2 ~ a1@4 c2@4 ~ d2@4",
BX: "e2@4 g2@2 ~ a2@2 ~ a1@6 ~@8",
BY: "[~@4 g3@4 ~@2 a1@4 c2@4 ~ d2@4 e2@3 e2 d2 ~ g1 ~ g#1@2 ~ a1@4 c2@4 d2@3 d2 ~ a2]/2",
BZ: "[g#2 ~ g2 e2 ~ d2 c2 ~ b1 a1@4 ~ c2@4 d2@4 ~ e2@3 e2 g1 ~@2 g#1@2 ~ a1@4 ~@11]/2",
})).s("gm_fretless_bass").gain(0.29)
// bass · fretless bass · soft notes
const bass_soft = note("<~@9 A B ~@24 C ~@6 D ~@54 E ~@54 F ~@6 G H ~@3>".pickRestart({
A: "~@18 a2 a#2 [b2,c3] c#3 d#3 [e3,f3]", B: "~@3 [e3,f3] [c3,c#3,d#3] [a#2,b2] ~@18", C: "[a#1,b1] a1 ~@22",
D: "~@17 [d#2,e2] [c2,d2] ~@5", E: "~@8 a2 a#2 [b2,c3] c#3 d#3 e3 f3 ~@2 [e3,f3] [c#3,d#3] [a#2,b2,c3] ~@4",
F: "~@2 d3 ~@21", G: "~@22 a2 [a#2,b2]", H: "c3 c#3 [d#3,e3] f3 ~@3 [d#3,e3,f3] [c3,c#3] [a#2,b2] ~@14",
})).s("gm_fretless_bass").gain(0.13)
// chords · muted trumpet
const muted_trumpet = note(`<
A ~@9 B C D E@2 F@3 G ~@7 H ~@3 I J K@2 L ~@7 M N@2 O@2 ~@6 P Q R@3 ~@20 S T U ~@3 V ~ W X Y ~@3 Z ~@3 Z ~@17 AA AB
AC@7 AD AE AF@3 ~@20 AG AH AI@2 AJ AK AL AM@4 ~ AN AO AP AQ
>`.pickRestart({
A: "~@6 [f#4,a4] ~@5 [g4,a#4,d#5]@12, ~@3 d5 ~@8", B: "~@6 [a4,e5,a5]@3 ~@12 [e4,g4] ~@2",
C: "~ [f#4,a4] ~@4 [f#4,a4] ~@11 [g4,b4]!2 ~ [g4,b4]!2 ~", // F#m G
D: "[g4,b4] [a4,c5] ~@10 [g4,c5] ~@2 [g#4,b4] ~@2 [a4,c5]@4 [g#4,b4] ~", // G Am C5 G#m Am G#m
E: "[[a4,c5] [b4,c#5] [c5,d5] ~ [a4,c5] [a#4,c#5]@4 ~ [g#4,b4] [a4,c5]@4 ~ [f#4,a4] [g4,a#4] ~ [e4,g#4] [f4,a4] ~ [d4,g4] [d#4,f#4]@3 ~@9 d#4 ~ e4 c5 ~ e4 f4 ~ c#5 ~@4]/2", // Am Bsus2 Csus2 Am A#m G#m Am F#m …
F: "[~@2 [d4,e4] ~ [d#4,f4] [a#4,c#5] ~ [d#4,f4] [e4,f#4] ~ [c5,d5] [e4,g4] ~ [f4,g#4] [c#5,f5] ~ f#4 [d5,f#5] ~@5 [c5,a5]@9 [b4,g#5] [c5,a5] ~ [b4,g#5] [a#4,g5] ~ [a4,f#5] [g#4,f5] ~ [g4,e5] ~@5 [g#5,d6]@13 ~@2 [f#5,b5]@2 ~ [g5,c6]@2 ~@3 [g4,a4] [e3,f3,b4,c5]]/3", // Dsus2 D#sus2 A#m D#sus2 Esus2 Csus2 Em Fm …
G: "[d5,e5] [f5,g5] [d5,a5,b5] [e5,f5,g5,a5,a#5,b5,c6,d6] ~ e6@2 ~@17", // Dsus2 Fsus2 Bm7 Em7
H: "~@5 [b4,f#5] ~@3 [c5,g5] ~@5 [c5,g5] ~@5 [c5,g5] ~@2", I: "~@22 [c5,e5] [d5,g5]", J: "~ [e5,a5] ~@22",
K: "[~@8 [e5,g5]@6 [d5,f#5]@6 [c5,e5]@6 [a4,d#5]@16 ~@2 [g4,g5] ~@2 [g#4,g#5]]/2", // Em D C Adim G G#
L: "~@2 [a4,a5] [d5,e5,g5] [a4,c5] ~@19", M: "~@3 [c4,f#4,a4]", N: "[[d4,g4,b4]@20 ~ [c4,f#4,a4]@3]/2",
O: "[[b3,g4]@13 ~@3]/2", P: "~@15 a5 ~ g5 f#5 ~ a5 ~@2 g5", Q: "~@5 g5 ~@5 g5 ~@12",
R: "[[d4,f#4,a4]@37 ~@5 [g4,b4,d5]@4 ~ [a4,c5,e5]@2 ~@8 [g4,b4,d5] ~ [g4,b4,d5] [a4,c5,e5] ~ [c5,e5] [g4,b4,d5] ~ [a4,c5,e5] ~@2 [g4,b4,d5] ~@2 [a4,c5,e5]]/3", // D G Am G Am C G Am …
S: "~@13 e5 [c#5,f5] ~ [d5,f#5] [c#5,f5] ~ [c5,e5] ~@4, ~@13 c5@2 ~@9", // C# D C# C
T: "~@3 a4@2 b4 [c5,d5,e5] [f5,g5] a5 ~@12 [a4,c5,e5]@3", U: "g4 f#4 [e4,f4] ~@21",
V: "~@11 c4@2 ~ a4@2 e4 g4 ~@6, ~@10 a3@2 ~ e4@2 ~@9", W: "~@22 a4 ~", X: "~@22 [b4,f#5] ~",
Y: "~@2 [c5,g5] ~@5 [c5,g5] ~@5 [c5,g5] ~@9", Z: "~@16 [c5,e5] [d5,g5] ~ [e5,a5] ~@4",
AA: "b4@3 ~ a4@2 ~@3 g4 ~@2 a4@2 ~@10, ~@3 c5@2 ~@19", AB: "b4@3 c5 a4@2 ~@3 g4@2 ~@2 a5 ~@10",
AC: "[b4@3 c5 a4@2 ~@3 g4 ~@2 a4 ~@10 b4@3 c5 ~ a4@2 ~@2 g4 ~@4 a5 ~@9 b4@3 c5@2 a4@2 ~@2 g4 ~@2 a4@2 ~@10 b4@3 c5 ~ a4@2 ~@2 g4 ~@4 a5 ~@9 b4@3 c5@2 a4@2 ~@2 g4 ~@2 a4@2 ~@10 b4@3 c5 a4@2 ~@3 g4 ~@3 a5 ~@10 b4@3 ~ a4@2 ~@3 g4 ~ a4@2 ~@10 b4@2, ~@73 c5 ~@10]/7",
AD: "~ c5 ~ a4@2 ~@2 g4@2 ~@3 a5 ~@9 b4@2", AE: "~ c5 ~ a4@2 ~@2 g4 ~@2 a4 ~@11 b4@2",
AF: "[~ c5 ~ a4@2 ~@2 g4 ~@3 a5 ~@4 [e5,a5,e6]@42 ~@14]/3", AG: "~@4 [a4,e5,a5] ~@3",
AH: "~@3 [e4,g4] ~@3 [f#4,a4] ~@4 [f#4,a4] ~@11", // Em F#m
AI: "[[g4,b4]!2 ~ [g4,b4]!2 ~ [g4,b4] [a4,c5] ~@9 [g4,c5] ~@2 [g#4,b4] ~@2 [a4,c5]@4 ~ [g#4,b4] [a4,c5] ~ [b4,c#5] [c5,d5] ~ [a4,c5] [a#4,c#5]@4 ~ [g#4,b4] [a4,c5]@4 ~ [f#4,a4] [g4,a#4]]/2", // G Am C5 G#m Am G#m Am Bsus2 …
AJ: "~ [e4,g#4] [f4,a4] ~ [d4,g4] [d#4,f#4]@3 ~@9 d#4 ~ e4 c5 ~ e4 f4", // E F G5 D#m
AK: "~ c#5 ~@6 [d4,e4] [d#4,f4] ~ [a#4,c#5] [d#4,f4] ~ [e4,f#4] [c5,d5] ~ [e4,g4] [f4,g#4] ~ [c#5,f5] f#4 ~ [d5,f#5]", // Dsus2 D#sus2 A#m D#sus2 Esus2 Csus2 Em Fm …
AL: "~@5 [c5,a5]@9 [b4,g#5] [c5,a5] ~ [b4,g#5] [a#4,g5] ~ [a4,f#5] [g#4,f5] ~ [g4,e5]", // F E F E D# D C# C
AM: "[~@5 [g#5,d6]@13 ~@2 [f#5,b5]@2 ~ [g5,c6]@2 ~@3 [e3,g4,a4,b4] [f3,c5] [d5,e5,f5] [g5,a5] [d5,e5,b5,c6] [f5,g5,a5,a#5,b5,d6] [e5,e6]@42 ~@20, ~@17 a5@2 ~@29]/4", // G#dim B5 C5 Em F5 Dm Gsus2 Cmaj7 …
AN: "~@16 b4@3 ~ a4@2 ~@2, ~@19 c5@2 ~@3", AO: "~ g4 ~@2 a4@2 ~@10 b4@2 c5 ~ a4@2 ~@2",
AP: "g4@2 ~@3 a5 ~@3 a4@11 a4@4, ~@3 d#5@5", AQ: "~@3 [g4,g5] ~@2 [g#4,g#5] ~@2 [a4,a5] ~@14",
})).s("gm_muted_trumpet").gain(0.49).pan(0.3)
// chords · muted trumpet · soft notes
const muted_trumpet_soft = note("<~@10 A ~@6 B C ~@26 D@2 ~@40 E ~@60 F ~@7 G@3 ~@5>".pickRestart({
A: "~@9 g4 [e4,f4] d4 c4 ~@11", B: "~@23 [g3,a3]",
C: "[b3,c4,d4,e4] [f4,g4,a4] [b4,c5] ~ a5 ~ d6 c6 [a5,b5] ~ g5 ~@13", D: "[e4@19 ~@5]/2", E: "g4 a4 ~ a4 ~@20",
F: "~@15 g4 [e4,f4] d4 c4 ~@5", // Fmaj7
G: "[~@5 [g3,a3,b3] [c4,d4,e4] [f4,g4,a4,b4] c5 ~@3 d6 [b5,c6] ~ g5 ~@56, ~@7 a5@19 ~@10]/3", // G C G7 Cmaj7
})).s("gm_muted_trumpet").gain(0.25).pan(0.3)
// chords · electric guitar muted
const electric_guitar_muted = note(`<
~@22 A B ~@2 C D ~@19 E ~@2 F@2 ~@13 G@2 H@2 ~ I ~@9 J K L M N O L M P M L M Q M L M ~ R S R S ~ T ~@10 U V U V W@2
X@2 Y@2 Z ~ AA ~ Z ~ AB AC AD AC AE ~@5 AF ~ AF ~ AF ~ AG ~@14 AH ~ AI ~
>`.pickRestart({
A: "~@17 [g4,c5,g5] ~ [g4,c5,g5]!2 ~ [g4,c5,g5]!2", B: "~ [g4,c5,g5] [g4,c5,g5]@3 f5 [f4,f#4,b4,e5] a#4 ~@16",
C: "~@17 [g4,c5,g5]!2 ~ [g4,c5,g5]!2 ~ [g4,c5,g5]", // C5
D: "[g4,c5,g5] ~@3 [f4,f#4,b4,e5,f5] ~ a#4 ~@17, ~ [g4,c5,g5]@2 ~@9", E: "[g4,c5,g5]@3 [f#4,f5] [f4,b4,e5] a#4 ~@18",
F: "[~@14 [g4,c5,g5]!2 ~ [g4,c5,g5] [g4,c5,g5]@2 [g4,c5,g5]!2 ~ [g4,c5,g5]@3 [f#4,e5,f5] [f4,a#4,b4] ~@20]/2", // C5 A#
G: "[~@14 [g4,c5,g5]!2 ~ [g4,c5,g5] [g4,c5,g5]@2 [g4,c5,g5] [g4,c5,g5]@2 [g4,c5,g5]@3 [f#4,e5,f5] [f4,a#4,b4] ~@20]/2", // C5 A#
H: "[~@14 [g4,c5,g5]!2 ~ [g4,c5,g5] [g4,c5,g5]@2 [g4,c5,g5]!2 ~@2 g3 ~ [f4,f#4,b4,e5,f5] [f#3,a#4] ~@2 g3@2 ~@16, ~@23 [g4,c5,g5]@4 ~@21]/2", // C5 Esus2 F# C5
I: "g3@2 ~ f#3 ~@2 g3@2 ~@16", J: "~@21 g3 ~@2", K: "f#3 ~@2 g3@2 ~@19", L: "~@20 g3@2 ~ f#3", M: "~ g3 ~@10",
N: "~@10 [g4,c5,g5]!2 ~ [g4,c5,g5] [g4,c5,g5]@2 [g4,c5,g5]!2 ~@2 g3 ~ [f#4,e5,f5] [f#3,f4,b4], ~@19 [g4,c5,g5]@4 ~", // C5 B C5
O: "a#4 ~ g3@2 ~@20",
P: "~@10 [g4,c5,g5]!2 ~ [g4,c5,g5] [g4,c5,g5]@2 [g4,c5,g5]!2 ~@2 g3 ~ [f4,f#4,b4,e5,f5] [f#3,a#4], ~@19 [g4,c5,g5]@4 ~", // C5 Esus2 F# C5
Q: "~@20 g3 ~ [f4,f#4,b4,e5,f5] [f#3,a#4]", R: "~@20 g3 ~@2 f#3", S: "~@2 g3 ~@5 g3 ~@2 f#3 ~ g3@2 ~ a3 ~@2 f#3@4 g3",
T: "~@5 e3@2 ~ g3@5 ~ a3@3 ~@3 a2@4", U: "~@18 g3 ~@2 f#3 ~@2", V: "g3 ~@11",
W: "[~@7 [g4,c5,g5]!2 ~ [g4,c5,g5]!2 ~ [g4,c5,g5]!2 ~@2 g3 ~ [f#4,f5] [f#3,f4,b4,e5] a#4 ~ g3@2 ~@23, ~@4 [g4,c5,g5] ~@7]/2", // C5 F#maj7 Esus2 C5
X: "[~@17 g3 ~@2 f#3 ~@2 g3@2 ~@23]/2",
Y: "[~@6 [g4,c5,g5] ~ [g4,c5,g5]!2 ~ [g4,c5,g5]!2 ~ [g4,c5,g5] ~@2 g3 [f4,f#4,b4,e5,f5] ~ [f#3,a#4] ~@2 g3@2 ~@23, ~@15 [g4,c5,g5]@4 ~@29]/2", // C5 Esus2 F# C5
Z: "~@16 g3 ~@2 f#3 ~@2 g3@2", AA: "~@16 g3 [f4,f#4,b4,e5,f5] ~ [f#3,a#4] ~@2 g3@2",
AB: "~@15 a2@3 f#3 ~@2 g3@2 ~, ~@15 g3 ~@8", AC: "e3 ~@2 g3@6 a3@4 ~@2 a2@5 ~@4",
AD: "e3@2 ~ g3@2 ~@2 g3@4 ~ e3@2 ~ g3 ~@2 f#3 ~@2 g3@2 ~, ~@15 a2@5 ~@4", AE: "e3@2 ~ g3@2 ~@2 g3@4 ~ e3@2 ~@10",
AF: "~@13 g3 ~@2 f#3 ~@2 g3@2 ~@3", AG: "~@12 g3 ~@2 f#3 ~@2 g3@2 ~@4", AH: "~@10 g3 ~@2 f#3 ~@2 g3@2 ~@6",
AI: "~@9 g3 ~@2 f#3 ~@2 g3@2 ~@7",
})).s("gm_electric_guitar_muted").gain(0.13).pan(0.2)
// chords · electric guitar muted · soft notes
const electric_guitar_muted_2 = note(`<
~@23 A ~@3 B ~@19 C ~@3 D ~@13 E F ~ G ~@15 H I ~@2 J K ~@2 J K ~@23 L ~@3 M ~@3 N ~@38
>`.pickRestart({
A: "~@7 [d#4,c5,d5] [c#4,g#4] f#4 ~@14", B: "~@6 [c#4,d#4,g#4,c5,d5] f#4 ~@16",
C: "~@5 [d#4,c5,d5] [c#4,f#4,g#4] ~@17", D: "~@3 [d#4,d5] [c#4,g#4,c5] f#4 ~@18", E: "~@4 c#4 ~@19",
F: "~@3 [d#4,d5] [g#4,c5] f#4 ~@18", G: "~@3 [c#4,d#4,g#4,c5,d5] ~ f#4 ~@18", H: "~@23 d5",
I: "[c#4,d#4,g#4,c5] f#4 ~@22", J: "~@23 [c#4,d#4,g#4,c5,d5]", K: "~ f#4 ~@22", L: "~@20 d5 [c#4,d#4,g#4,c5] f#4 ~",
M: "~@20 [c#4,d#4,g#4,c5,d5] f#4 ~@2", N: "~@19 [c#4,d#4,g#4,c5,d5] f#4 ~@3",
})).s("gm_electric_guitar_muted").gain(0.09).pan(0.2)
// drums · kick
const kick = s("bd").struct(`<
A B C@3 B C@3 D B E@3 F G@3 H I J@2 K L K M N O P Q O R@2 S T U@4 V@2 W X W@3 Y W@3 Z W@3 AA W@3 Z AB W@7 Z W AC Z
AB@2 AD AE AF AG@2 AH AI AJ AK AL@2 AM AL@3 AN AL@3 AM AL@3 AO AP AL@3 AM AL AQ AR AS ~@7 AT AU@3 AV AW@2 AX AY AZ@3
BA BB@3 BC BD@3 BE BF BG@2 BH BI BJ BK@3 BL BM BN BO BP BQ BR@2 BS BT BU@3 BV ~@3 BW BX@2 BY
>`.pickRestart({
A: "~ x!2 ~", B: "~@6 x ~@4 x ~@3 x ~@7 x", C: "~@3 x ~@2 x ~@4 x ~@3 x ~@7 x", D: "~ x ~@2",
E: "~@3 x ~@2 x ~@3 x ~@4 x ~@6 x ~", F: "~@5 x ~@4 x ~@3 x ~@7 x ~", G: "~@2 x ~@2 x ~@3 x ~@4 x ~@6 x ~@2",
H: "~@5 x ~@18", I: "~@4 x ~@4 x ~@3 x ~@7 x ~@2", J: "~ x ~@2 x ~@4 x ~@3 x ~@7 x ~@2",
K: "~ x ~@2 x ~@3 x ~@4 x ~@6 x ~@3", L: "~@4 x ~@3 x ~@4 x ~@6 x ~@3", M: "x ~@2 x ~@4 x ~@3 x ~@7 x ~@3",
N: "x ~@2 x ~@4 x ~@5 x ~@5 x ~@3", O: "~@3 x ~@3 x ~@4 x ~@6 x ~@4", P: "x ~@2 x ~@3 x ~@4 x ~@6 x ~@4",
Q: "x ~@2 x ~@3 x ~@4 x ~@6 x ~@3 x", R: "~@2 x ~@4 x ~@3 x ~@7 x ~@3 x", S: "~@2 x ~@3 x ~@4 x ~@6 x ~@5",
T: "~ x ~@10", U: "~ x ~@4 x ~@3 x ~@7 x ~@3 x ~", V: "~ x ~@3 x ~@4 x ~@6 x ~@4 x ~",
W: "x ~@4 x ~@3 x ~@7 x ~@3 x ~@2", X: "x!4 ~@4", Y: "x ~@4 x ~@3 x ~@8 x ~@5", Z: "x ~@4 x ~@3 x ~@7 x ~@6",
AA: "x ~@4 x ~@5 x ~@5 x ~@6", AB: "x", AC: "x ~@4 x ~@3 x ~@11 x ~@2", AD: "x ~@3 x ~@4 x ~@6 x ~@3 x ~@2 x",
AE: "~@4 x ~@3 x ~@7 x ~@3 x ~@2 x", AF: "~@3 x ~@4 x ~@6 x ~@4 x ~@2 x", AG: "~@3 x ~@3 x ~@7 x ~@3 x ~@2 x ~",
AH: "~@2 x ~@4 x ~@6 x ~@4 x ~@2 x ~", AI: "~@2 x ~@3 x ~@7 x ~@3 x ~@2 x ~@2", AJ: "~@7 x",
AK: "~ x ~@4 x ~@6 x ~@4 x ~ x ~@3", AL: "~ x ~@3 x ~@7 x ~@3 x ~@2 x ~@3", AM: "~ x ~@3 x ~@7 x ~@6 x ~@3",
AN: "~ x ~@5 x ~@5 x ~@6 x ~@3", AO: "~ x ~@3 x ~@7 x ~@10", AP: "~@5 x", AQ: "x ~@4 x ~@6 x ~@4 x ~@2 x ~@3",
AR: "x ~@4 x ~@8 x ~@2 x ~@2 x ~@3", AS: "~@3 x!2 ~@7", AT: "~@11 x ~@2 x ~@2 x!2 ~@3 x ~",
AU: "~@3 x ~@6 x ~@4 x ~@2 x ~@3 x ~", AV: "~@2 x ~@7 x ~@6 x ~@4 x ~", AW: "~@2 x ~@7 x ~@3 x ~@2 x ~@4 x ~",
AX: "~@2 x ~@6 x ~@4 x ~@2 x ~@3 x ~@2", AY: "~@3 x ~@5 x ~@7 x ~@3 x ~@2", AZ: "~ x ~@7 x ~@3 x ~@2 x ~@4 x ~@2",
BA: "~ x ~@6 x ~@7 x ~@3 x ~@3", BB: "~ x ~@6 x ~@4 x ~@2 x ~@3 x ~@3", BC: "x ~@7 x ~@6 x ~@4 x ~@3",
BD: "x ~@6 x ~@4 x ~@2 x ~@3 x ~@4", BE: "x ~@6 x ~@7 x ~@8", BF: "~@7 x ~@2 x ~@2 x!2 ~@4 x ~@3 x",
BG: "~@7 x ~@3 x ~@2 x ~@4 x ~@3 x", BH: "~@6 x ~@4 x ~@2 x ~@3 x ~@4 x", BI: "~@6 x ~@4 x ~@2 x ~@9",
BJ: "~@6 x ~@2 x ~@2 x!2 ~@4 x ~@3 x ~", BK: "~@6 x ~@3 x ~@2 x ~@4 x ~@3 x ~", BL: "~@5 x ~@7 x ~@3 x ~@4 x ~",
BM: "~@5 x ~@4 x ~@2 x ~@3 x ~@4 x ~", BN: "~@5 x ~@4 x ~@2 x ~@3 x ~@3 x ~@2", BO: "~@5 x ~@3 x ~@2 x ~@4 x ~@5 x",
BP: "~@5 x ~@6 x ~@11", BQ: "~@4 x ~@2 x ~@2 x ~ x ~@3 x ~@4 x ~@2", BR: "~@4 x ~@4 x ~@2 x ~@3 x ~@4 x ~@2",
BS: "~@4 x ~@3 x ~@2 x ~@4 x ~@3 x ~@3", BT: "~@4 x ~@6 x ~@4 x ~@3 x ~@3", BU: "~@3 x ~@4 x ~@2 x ~@3 x ~@4 x ~@3",
BV: "~@3 x ~@6 x ~@13", BW: "~@10 x ~@3 x ~@4 x ~@4", BX: "~@2 x ~@4 x ~@2 x ~@3 x ~@3 x ~@5",
BY: "~@2 x ~@3 x ~@2 x ~@14",
})).gain(0.56)
// drums · clap
const clap = s("cp").struct("<~@110 [~ x ~@11 x ~@10] [x!2]!3 ~@50>").gain(0.48)
// drums · snare
const snare = s("sd").struct(`<
A B@4 C B@3 D E F G H I H@2 J K J@3 L M@3 N O P@2 Q R P Q S T@3 U@3 V W V@3 X V@7 Y V@3 Z AA V@3 AB X@2 Z@3 AC AD AA@2
AE AF AG AH AI AJ AK AL AM@7 AN AM@3 AO AM@3 AP ~ AM@3 AO AM@2 AQ AA ~@7 AR AS AT AU@5 AV AW@3 AX AY@3 AZ AY@2 BA BB
BC BA@3 BD BE BF@2 BG BH@3 BI BJ BK BL@3 BM BL BN@2 BO ~@3 BP@3 BQ
>`.pickRestart({
A: "~ x!2 ~", B: "x ~@11 x ~@4 x ~@6", C: "x ~@2 x ~ x ~@6 x ~@4 x ~@6", D: "x!2 ~@2", E: "~@3 x!2 ~",
F: "x ~@2 x!2 ~", G: "x ~@10 x ~@4 x ~@6 x", H: "~@11 x ~@4 x ~@6 x", I: "~@2 x ~ x ~@6 x ~@4 x ~@6 x",
J: "~@10 x ~@4 x ~@6 x ~", K: "~@5 x ~@18", L: "~@5 x ~ x ~@3 x", M: "~@9 x ~@4 x ~@6 x ~@2",
N: "~@9 x ~@5 x!2 ~@4 x ~@2", O: "~@2 x ~@6 x ~@3 x ~@7 x ~@2", P: "~@8 x ~@4 x ~@6 x ~@3",
Q: "~@8 x ~@4 x ~@6 x ~@2 x", R: "~ x ~@6 x ~@4 x ~@6 x ~@3", S: "~ x ~@10", T: "~@7 x ~@4 x ~@6 x ~@4",
U: "~@7 x ~@3 x ~@7 x ~@4", V: "~@6 x ~@4 x ~@6 x ~@5", W: "~ x", X: "~@6 x ~@4 x ~@6 x ~ x!2 ~ x",
Y: "~@6 x ~@5 x!2 ~@4 x ~@4 x", Z: "~@6 x ~@4 x ~@6 x ~@2 x ~ x", AA: "x", AB: "~@6 x ~@4 x ~@3 x ~ x!2 ~ x!2 ~ x",
AC: "~@6 x ~@4 x ~@5 x!2 ~@2 x ~ x", AD: "~@6 x ~@4 x ~@6 x ~@2 x ~@2", AE: "~@6 x ~@3 x ~@6 x ~@6",
// … 112 more lines
More by Jovanotti
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.