0:00/0:00
// Sotto il segno dei pesci — Antonello Venditti
// 86 bpm, 4/4, key C major. 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 133 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(86/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 · fretless bass
const bass = note(`<
A B A C A D E C F@2 A D E C A D E C F@2 A D A D G H C F I A D E C A D E C F@2 A D A D G H C F I A D E C A D E C F@2 A
D A D G H C F I A D E C A D E C F@2 A D A D G H C F I A D E C A D E C F@2 A D A D G H C F I A D A D A D A D A D A D A
D A D A D A D A D A D A D J ~
>`.pickRestart({
A: "c2@10 ~@2 g1@3 ~", B: "f1@11 ~ g1@3 ~", C: "d2@15 ~", D: "f1@5 ~ g1@2", E: "c2@11 ~ g1@3 ~", F: "g1@15 ~",
G: "c2@11 ~ g1@4", H: "f1@15 ~", I: "g1", J: "c2",
})).s("gm_fretless_bass").gain(0.51)
// chords · distortion guitar
const distortion_guitar = note(`<
~@4 A B A C D E A B A C F B A C D E A B A B G H C D E A B A C F B A C D E A B A B G H C D E A B A C F B A C D E A B A
B G H C D E A B A C F B A C D E A B A B G H C D E A B A C F B A C D E A B A B G H C D 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 I ~
>`.pickRestart({
A: "[c3,g3,c4]@11 ~ [g2,d3,g3]@4", B: "[f2,c3,f3]@3 [g2,d3,g3]", C: "[d3,a3,d4]", D: "[g2,d3,g3]@15 ~",
E: "[g2,d3,g3]", F: "[g2,c3,g3,c4]@12 [g2,d3,g3]@3 ~", G: "[c3,g3,c4]@3 [g2,d3,g3]", H: "[f2,c3,f3]", I: "[c3,g3,c4]",
})).s("gm_distortion_guitar").gain(0.15).pan(0.3)
// other · synth brass 1
const synth_brass_1 = note(`<
~@14 A@2 ~@17 B C ~@17 D@2 ~@3 E@5 ~@4 F@2 ~@3 G@2 ~@3 H@2 I@2 ~@3 J ~ K@2 ~@3 L M ~@12 N O@8 ~@20
>`.pickRestart({
A: "[~@6 e5!2 e5@2 d5 d5@2 d5 ~ d5@2 c5@4 ~@11]/2", B: "~@6 e5!2 e5@2 d5 d5@2 d5 d5@2", C: "~@2 c5@3 ~@11",
D: "[~@6 c5!2 c5@2 b4!2 ~ b4 b4@4 a4@6 ~@8]/2",
E: "[~@14 d5@4 c5@6 b4@2 c5@2 b4@2 a4@8 ~@9 c5@8 ~ b4@2 c5@2 b4@2 a4@5 ~@13]/5", F: "[~@14 d5@4 c5@5 ~@9]/2",
G: "[~@6 c5!2 c5@2 b4 b4@2 b4 ~ b4@3 a4@6 ~@8]/2", H: "[~@7 f5@2 e5@7]/2",
I: "[~@8 e5!2 e5@2 e5@2 ~ e5@2 d5 e5@10 ~@4]/2", J: "d5@9 ~ c5@4 b4@2", K: "[~@14 d5@4 c5@7 ~@7]/2",
L: "~@6 c5!2 c5@2 b4!2 ~ b4 b4@2", M: "~@2 a4@5 ~@9", N: "~@7 d5",
O: "[~@2 c5@8 b4@4 a4@7 ~@3 c5@2 d5@4 e5@8 d5@4 c5@2 b4@2 c5@8 ~@2 c5@2 d5@4 e5@8 d5@4 c5@2 b4@2 a4@9 ~ c5@2 d5@4 e5@8 d5@4 c5@2 b4@2 c5@14 ~@4]/8",
})).s("gm_synth_brass_1").gain(0.37).pan(0.6)
// chords · violin
const violin = note(`<
~@20 A B A C ~@3 D E ~@10 A B A C ~@3 D E ~@29 A B A C ~@3 D E ~@10 A B A C F G ~ D E ~@28
>`.pickRestart({
A: "~@6 [g4,e5]!2 [g4,e5]@2 [f4,d5]!2 [f4,d5]@2 [e4,c5]!2", B: "[e4,c5]@2 f4 g4 a4@2 b4 c5 d5 e5 f5 g5 a5 g5 f5 e5",
C: "[e4,c5]@5 ~@3", D: "~ g4!2 a4@2 b4@3", E: "d5@15 ~", F: "~@6 [e5,g5]!2 [e5,g5]@2 [d5,f5]!2 [d5,f5]@2 [e5,g5]!2",
G: "[e5,g5] [d5,f5] [c5,e5]@6 ~@8", // Em Dm C
})).s("gm_violin").gain(0.18).pan(0.3)
// chords · piano
const piano = note(`<
A B C@2 D E F@2 G@3 E F@2 D E H@2 G@3 E I E J K L M@3 E F@2 D E H@2 G@3 E I E J K L N@3 E O@2 D E H@2 G@3 E I E J K L
P@2 Q E F@2 D E H@2 G@3 E I E J K L N@3 E F@2 D E H@2 G@3 E I E J K L R@3 S T U V W X Y Z AA AB AC AD AE AF AG AH AI
AJ AK AL AM AN AO AP AQ AR@2
>`.pickRestart({
A: "[g3,c4,e4]@6 c4 [c4,e4] g3@2 d4 [b3,d4] ~@2 [f3,a3,c4] ~, c2@3 ~, c3@2 [c3,c4,e4] [g2,g3,b3,d4]", // C Bm F C G
B: "[f3,a3,c4]@6 [f3,a3,c4] [a3,c4] ~@2 [b3,d4]!2 ~@2 c4 [c4,e4], f2@2 [f2,f3,a3,c4] [g2,g3,b3,d4]", // F Am Bm C F G
C: "[[g3,c4,e4]@6 [c4,e4]!2 g3@2 [b3,d4] [g3,b3,d4] [g2,g3,b3,d4]@2 ~@3 [d4,f4]@2 ~ [a3,d4,f4]@3 [a3,d4,f4]@2 ~@3 a3@2 [a3,c4]@2, c2@12 ~@4 d2@9 [d2,a3,d4]@3 [d2,d4]@4, c3@8 [c3,c4,e4]@4 ~@2 [a3,d4,f4]@4 ~@7 f4@7, ~@16 d3@3 d3@13, ~@13 e4@3]/2", // C Bm G Dm Am D5 D C …
D: "c3@4 ~@2 [g3,c4,e4]!2 g3@2 d4 [b3,d4] ~@2 [f3,a3] [a3,c4], c2@2 [c2,c4,e4] ~, [g3,c4,e4]@3 ~@5, ~ c3@2 [g2,g3,b3,d4]", // C Bm F Am C G
E: "[f3,a3,c4]@6 [f3,a3,c4] [a3,c4] ~@2 [b3,d4]!2 g3@2 [c4,e4]!2, f2@2 [f2,f3,a3,c4] [g2,b3,d4]", // F Am Bm C F G
F: "[[g3,c4,e4]@6 c4 [g3,c4,e4] g3@2 d4 [b3,d4] [g2,g3,b3,d4]@2 ~@3 [d4,f4]@2 ~ [a3,d4,f4]@2 ~@3 a3 [a3,e4]@2 [d2,a3,d4]@2 [a3,c4] ~, c2@3 ~ d2@3 ~, c3@8 [c3,c4,e4]@4 ~@2 [a3,d4,f4]@4 ~@5 [a3,d4,f4]@2 [d4,f4]@3 ~@4, ~@16 d3@3 d3@5 d3@7 ~]/2", // C Bm G Dm A5 D5 Am C …
G: "[[d3,g3] ~ [d3,g3]@2 [d3,g3]@2 ~@6 g2@2 ~@2 [d3,g3,b3]@2 [d3,g3,b3]@2 [d3,g3,b3]@2 ~@6 g1@2 ~@2 c3@2 ~@4 [c4,e4] [g3,c4,e4] g3@2 [b3,d4] [g3,b3,d4] ~@2 [f3,a3] [f3,a3,c4], g1@6 a3@9 g2@8 ~ g2@7 ~@17, g2@4 g2@6 d3@4 d3@2 ~@6 [d3,a3,c4]@4 [d3,b3,d4]@5 ~@5 c3@8 [c3,g3,b3,d4]@4, ~@3 d3@2 [g3,b3]@3 ~@7 [g3,c4,f4]@2 [g3,c4,e4]@2 ~ [c4,e4]@2 ~@2, ~@8 g1@12 g1@7 ~@5 c2@8 c2@8]/3", // G5 G C Bm G F D7 G …
H: "[[g3,c4,e4]@6 c4 [g3,c4,e4] g3@2 d4 [b3,d4] [g2,g3,b3,d4]@2 ~@3 [d4,f4]@2 ~ [a3,d4,f4]@2 ~@3 a3 [a3,e4]@2 a3@2 [a3,c4]@2, c2@3 ~ d2@3 [d2,d4], c3@8 [c3,c4,e4]@4 ~@2 [a3,d4,f4]@4 ~@5 [a3,d4,f4]@2 [d4,f4]@3 ~@4, ~@16 d3@3 d3@5 d3@8]/2", // C Bm G Dm A5 Am D C …
I: "[g3,c4,e4]@2 ~@4 [c4,e4] [g3,c4,e4] g3@2 [b3,d4] [g3,b3,d4] ~@2 [f3,a3] [f3,a3,c4], c2@2 [c2,c4,e4] ~, c3!2 ~ [c3,g3,b3,d4], ~ [g3,c4,e4]@2 ~@5", // C Bm G F C G C
J: "[g3,c4,e4]@6 [g3,c4,e4]!2 [g3,c4,e4]@2 [b3,d4] [g3,b3,d4] [g3,b3,d4]@2 [a3,c4] [f3,a3,c4], c2@3 ~, c3@2 c3 g2", // C Bm G Am F
K: "[f2,a3,c4]@7 ~ f3@2 f3@2 ~ [a3,c4]@3, f3@5 ~@2 f2@5 f2@4, ~@8 [a3,c4]@5 ~@3", // F Am
L: "d2@4 d2@3 ~@2 d3 ~@2 d3@2 d3@2, a3, f3@9 [f3,d4]@2 d2@5, d3@6 ~ d2@3 d3@2 [f3,d4]@4", // Dm
M: "[[d3,g3] ~ [d3,g3] ~ g3@2 [d3,a3]@2 ~@8 [g3,b3]@2 [d3,g3,b3] ~ [g3,b3]@2 [d3,a3,c4]@2 ~@4 g1@2 ~@2 c3@2 ~@4 [c4,e4] [g3,c4,e4] g3@2 [b3,d4] [g3,b3,d4] ~@2 [f3,a3] [f3,a3,c4], g2@7 ~ g2@7 g2@8 ~ g2@5 ~@19, ~@4 g1@6 [d3,g3]@4 d3@2 d3 ~@3 d3 ~@5 [d3,b3,d4]@4 ~@6 c3@8 [c3,g3,b3,d4]@4, ~@4 d3 ~@5 b3@6 ~@14 [g3,c4,f4]@4 [g3,c4,e4]@4 ~@2 [c4,e4]@4 ~@4, ~@12 g1@7 ~ g1@7 ~@5 c2@8 c2@8]/3", // G5 D5 G D7 C Bm G F …
N: "[[d3,g3] ~ [d3,g3] ~ g3@2 [d3,a3]@2 ~@8 [g3,b3]@2 [d3,g3,b3] ~ [g3,b3]@2 [d3,a3,c4]@2 ~@4 g1@2 [d3,d4,f4]@4 ~@4 [c4,e4] [g3,c4,e4] g3@2 [b3,d4] [g3,b3,d4] ~@2 [f3,a3] [f3,a3,c4], g2@7 ~ g2@7 g2@8 ~ g2@7 ~@17, ~@4 g1@6 [d3,g3]@4 d3@2 d3 ~@3 d3 ~@5 [d3,b3,d4]@4 ~@6 c3@8 [c3,g3,b3,d4]@4, ~@4 d3 ~@5 b3@6 ~@18 [g3,c4,e4]@4 ~@2 [c4,e4]@4 ~@4, ~@12 g1@7 ~ g1@7 ~@13 c2@8]/3", // G5 D5 G D7 Dm C Bm G …
O: "[[g3,c4,e4]@6 c4 [g3,c4,e4] g3@2 d4 [b3,d4] [g2,g3,b3,d4]@2 ~@3 [d4,f4]@2 ~ [a3,d4,f4]@2 ~@3 a3 [a3,e4]@2 a3@2 [a3,c4]@2, c2@3 ~ d2@3 [d2,d4], c3@8 [c3,c4,e4]@4 ~@2 [a3,d4,f4]@4 ~@5 [a3,d4,f4]@2 [d4,f4]@3 ~@4, ~@16 d3@3 d3@5 d3@7 ~]/2", // C Bm G Dm A5 Am D C …
P: "[[d3,g3] ~ [d3,g3] ~ g3@2 [d3,a3]@2 ~@8 [g3,b3]@2 [d3,g3,b3] ~ [g3,b3]@2 [d3,a3,c4]@2 ~@4 g1@3 ~, g2@7 ~ g2@7 g2@8 ~ g2@7 ~, ~@4 g1@6 [d3,g3]@4 d3@2 d3 ~@3 d3 ~@5 [d3,b3,d4]@5 ~, ~@4 d3 ~@5 b3@6 ~@16, ~@12 g1@7 ~ g1@7 ~@5]/2", // G5 D5 G D7 G5 G
Q: "~@6 [c4,e4] [g3,c4,e4] g3@2 [b3,d4] [g3,b3,d4] ~@2 [f3,a3] [f3,a3,c4], ~ [g3,c4,e4]@2 ~ c2@4, ~ c3@2 [c3,g3,b3,d4], ~@2 [c4,e4] ~", // C Bm G F C G C
R: "[[d3,g3] ~ [d3,g3] ~ g3@2 [d3,a3]@2 ~@8 [g3,b3]@2 [d3,g3,b3] ~ [g3,b3]@2 [d3,a3,c4]@2 ~@4 g1@2 ~@2 c3@4 ~@2 [g3,c4,e4]!2 g3@2 [g3,b3,d4]!2 ~@2 [f3,a3,c4] [a3,c4], g2@7 ~ g2@7 g2@8 ~ g2@7 ~@5 c3@4 [c3,c4,e4]@4 [g2,g3,b3,d4]@4, ~@4 g1@6 [d3,g3]@4 d3@2 d3 ~@3 d3 ~@5 [d3,b3,d4]@4 [d3,d4,f4]@10 ~@8, ~@4 d3 ~@5 b3@6 ~@16 [g3,c4,e4]@6 ~@10, ~@12 g1@7 ~ g1@7 ~@5 c2@8 ~@8]/3", // G5 D5 G D7 C G F Am …
S: "f2@4 ~@2 a3 [a3,c4] ~@2 [b3,d4]!2 g3@2 c4 [g3,c4,e4], [f3,a3,c4]@7 ~@9, ~ f2 [f2,f3,a3,c4] [g2,b3,d4]", // Am Bm C F G
T: "c3@4 ~@2 [c4,e4] [g3,c4,e4] [c3,g3,c4,e4]@2 [b3,d4]!2 [g2,g3,b3,d4]@2 [f3,a3,c4]!2, c2@11 ~@5, [g3,c4,e4]@3 ~@5, ~ c3 ~@2", // C Bm G F C
U: "[f2,f3,a3,c4]@4 ~ f3@2 ~@2 [f3,a3,c4,f4]@3 [g3,b3] ~ [g3,b3,d4]@2, ~@4 f2@3 f3@2 ~@3 d4@2 ~@2, ~@5 [a3,c4,f4]@3 f2@4 g2@4", // F G F
V: "c3@4 ~@2 [g3,c4,e4]!2 g3@2 [g3,b3,d4] [b3,d4] ~@2 [f3,a3,c4]!2, c2@3 ~, [g3,c4,e4]@3 ~@5, ~ c3 [c3,c4,e4] [g2,g3,b3,d4]", // C G Bm F C G
W: "f2@4 ~@2 [f3,a3,c4]!2 [f2,f3,a3,c4]@2 [g3,b3,d4]!2 g3@2 [g3,c4,e4]!2, [f3,a3,c4]@3 ~@5, ~ f2 ~ [g2,b3,d4]", // F G C F G
X: "[g3,c4,e4]@6 [g3,c4,e4] [c4,e4] g3@2 [g3,b3,d4]!2 ~@2 [f3,a3,c4] [a3,c4], c2@3 ~, c3@2 [c3,c4,e4] [g2,g3,b3,d4]", // C G F Am C G
Y: "f2@4 ~@2 [f3,a3,c4]!2 ~@2 [g3,b3,d4]!2 g3@2 [c4,e4] [g3,c4,e4], [f3,a3,c4]@3 ~@5, ~ f2 [f2,f3,a3,c4] [g2,b3,d4]", // F G C F G
Z: "c3@4 c3@2 [g3,c4,e4]!2 [c3,g3,c4,e4]@2 [g3,b3,d4]!2 ~@2 [f3,a3,c4] [a3,c4], c2@11 ~ [g2,g3,b3,d4]@4, [g3,c4,e4]@3 ~@5", // C G F Am G C
AA: "f2@4 f2@2 [f3,a3,c4] ~@2 [f3,a3,c4]@2 ~@2 [g3,c4,e4]@2 [c4,e4], [f3,a3,c4]@6 ~ [f3,a3,c4]@2 ~@2 [b3,d4]@5, ~@8 f2@3 g3@2 ~@3, ~@3 g2", // F C F Bm
AB: "c3@4 ~@2 [g3,c4,e4]!2 g3@2 [g3,b3,d4]!2 ~@2 [f3,a3,c4]!2, c2@2 [c2,c4,e4] ~, [g3,c4,e4]@3 ~@5, ~@4 c3@7 ~ [g2,g3,b3,d4]@4", // C G F C G
AC: "[f3,a3,c4]@3 f3 ~@4 [f3,f4]@2 [f3,f4] ~ [f3,f4]@2 [f3,f4] ~, f2@6 f3 c3@4 c3@4 ~, ~@4 [g3,c4]@7 ~@5, ~@4 c3@3 f2@8 ~, ~@5 a3@6 ~@5", // F C5
AD: "[c3,c4]@6 [c4,e4] [g3,c4,e4] [c3,g3,c4,e4]@2 [b3,d4] [g3,b3,d4] [g3,b3,d4]@2 [f3,a3,c4] [a3,c4], c2@3 g2, [g3,e4]@5 ~@11", // C Bm G F Am C
AE: "[a3,c4]@6 f3 ~ [f3,a3,c4]@2 [f3,a3,c4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2, f2@3 g2, f3@5 ~@2 c3@5 ~@4", // Am F G
AF: "[g3,c4,e4]@5 ~ [g3,c4,e4]!2 [c4,e4]@2 d4 [g3,b3,d4]!2 ~ [f3,a3,c4] [a3,c4], c2@3 ~, c3@2 [c3,g3] g2", // C G F Am C5
AG: "[f3,a3,c4]@6 [a3,c4] ~@2 f3 ~ f3 ~@2 [a3,c4,f4]@2, f2@5 f2@3, ~@7 [a3,c4,f4]@4 [a3,c4,f4]@3 ~@2, ~@7 f3@2 ~@4 f3@2 ~, ~@8 c3@3 ~ c3@4", // F Am F
AH: "[g3,c4,e4]@5 ~ [g3,c4,e4] [c4,e4] [c3,g3,c4,e4]@2 [b3,d4] [g3,b3,d4] [g3,b3]@2 [f3,a3,c4]!2, c2@3 ~, c3@3 ~@3 [g2,d4]@2", // C Bm G F G5
AI: "f3@3 ~ [f4,f5] ~ [f4,c5,f5]@2, [f2,a3,c4], c3@5 f5 ~@2, ~@3 f4 c5@2 ~@2, ~@7 f3@4 [c3,f3]@5", // F F5 F F5
AJ: "[c3,c4,e4]@6 g3 ~ [g3,c4,e4]@2 [g3,b3] [g3,b3,d4] ~@2 [f3,a3,c4] [a3,c4], c2@3 ~, g3@5 ~@2 c3@5 [g2,g3,b3,d4]@4", // C G F Am G
AK: "[f3,a3,c4]@4 ~ [a3,c4]@2 ~@3 g3 ~ [f3,a3]@2 ~ f3, f2@7 f3@2 f3@2 ~@3 g3@2, c3@3 ~ c3@6 ~ c3@5, ~@5 f3 ~ [a3,c4]@4 ~ c4@4, ~ f2", // F Am F Am
AL: "c3@3 c3@3 [g3,c4,e4]!2 [c3,g3,c4,e4]@2 [g3,b3,d4]!3 ~ [f3,a3,c4]!2, c2@3 g2, [g3,c4,e4]@5 ~@11", // C G F C
AM: "f3@4 ~@2 f3 ~ [f3,a3,c4]@2 [b3,d4] [g3,b3,d4] [b3,d4]@2 [g3,c4,e4]!2, [f2,a3,c4]@7 f2@5 g2@4, ~@4 c3@8 g3 ~@3", // F Bm G Bm C F
AN: "[g3,c4,e4]@6 [g3,c4,e4]!2 [g3,c4,e4]@2 [b3,d4] [g3,b3,d4] [g3,d4]@2 [f3,a3,c4]!2, c2@12 b3 ~@3, c3@2 c3 g2", // C Bm G G5 F
AO: "[f3,a3,c4]@4 ~ f3 ~@3 [a3,c4]@2 f3 ~ [f3,g3] a3 f3, f2@11 ~ f2@4, ~@4 c3@3 f3@2 f3 ~@3 c4@2 ~, ~@5 [a3,f4]@3 c3@8", // F Am Fsus2 Dm
AP: "[f3,g3] g3@3 c3@2 [c4,e4] [g3,c4,e4] [c3,c4]@2 [g3,b3,d4]!3 ~ [f3,a3,c4]!2, c2@3 ~, [c4,e4]@5 ~@3 [g3,e4] ~@7, c3@3 ~@9 g2@4", // Fsus2 C G F C
AQ: "[f3,a3,c4]@5 ~ [f3,a3,c4,f4]!2 [f3,a3] ~ [g3,b3,d4,g4]!3 ~ [g3,b3,d4] [g3,b3,d4,g4], f2@2 [f1,f2,c4,f4] [g1,g2]", // F G F5 G
AR: "[[c2,c3,g3,c4,e4,g4]@9 ~@7]/2", // C
})).s("gm_piano").gain(0.43).pan(0.6)
// chords · piano · soft notes
const piano_soft = note(`<
A B C D E F G H ~@2 I F G H E F G H ~@2 I F I F J K L ~@2 I F G H E F G H ~@2 I F I F J K L ~@2 I F G H E F G H ~@2 I
F I F J K L ~@2 I F G H E F G H ~@2 I F I F J K L ~@2 I F G H E F G H ~@2 I F I F J K L ~@2 M N O P Q ~ R S M T ~@2 U
~ V W X Y Z ~@2 AA ~@2 AB AC ~@2
>`.pickRestart({
A: "~@6 [g3,e4] g3 ~@2 [g3,b3] g3 ~@3 [f3,a3,c4]", B: "~@7 f3 ~@2 g3!2 ~@2 e4 g3", C: "~@6 g3!2 ~@2 g3 ~@5",
D: "~@2 a3@2 ~@2 d4 ~@9", E: "~@10 [g3,b3] g3 ~@2 c4 f3", F: "~@7 f3 ~@2 g3!2 ~@2 g3!2",
G: "~@6 [g3,e4] ~@3 [g3,b3] g3 ~@4", H: "~@2 a3@2 ~@2 [a3,d4,f4] ~@9", I: "~@6 g3 ~@3 g3 ~@3 c4 ~",
J: "~@14 [f3,g3] ~", K: "~@6 f3@2 ~@5 f3 f3@2", L: "~@6 d3@3 ~@7", M: "~@15 f3",
N: "~@6 c4 f3 ~@2 g3!2 ~@2 [g3,e4] ~", O: "~@6 g3 ~@4 g3 ~@4", P: "~@11 f3 ~@4", Q: "~@11 g3 ~@4", R: "~@7 g3 ~@7 f3",
S: "~@14 g3 ~", T: "~@15 g3", U: "~@6 g3 ~@8 f3", V: "~@10 b3 ~@4 f3", W: "~@6 f4 ~@8 f3", X: "~@7 g3 ~@4 a2 ~@3",
Y: "~@5 f4 ~@2", Z: "~@10 d4 ~@4 f3", AA: "~@10 g3 ~@5", AB: "~@6 g3 ~@9", AC: "~@14 g4 ~",
})).s("gm_piano").gain(0.24).pan(0.6)
// drums · kick
const kick = s("bd").struct(`<
~@4 A@5 B A@9 B A@8 B A@9 B A@8 B A@7 C D B A@7 E B A@8 F B A@3 G A@4 B A@8 F B A@3 G A@4 H A@5 C A I A C A I A J A I
A K A L A M A I A N H ~
>`.pickRestart({
A: "x ~@2 x ~@3 x!2 ~@2 x ~@3 x", B: "x ~@2 x ~@3 x ~ x ~@2 x ~@2 x", C: "x ~@2 x ~@3 x!2 ~@3 x ~@2 x",
D: "x ~ x ~@2 x ~@2 x ~@3 x ~@2 x", E: "x ~@2 x ~@3 x!2 ~ x ~@4 x", F: "~ x ~@2 x ~@2 x!2 ~@2 x ~@3 x",
G: "x ~@2 x ~@4 x ~@2 x ~@3 x", H: "x", I: "x ~@2 x ~@2 x ~ x ~@2 x ~@3 x", J: "x ~@2 x ~@3 x!2 ~@3 x ~ x ~",
K: "x ~@4 x ~ x ~@4 x ~@2 x", L: "x ~@2 x ~@2 x ~ x ~@2 x!2 ~@2 x", M: "x ~ x ~ x ~@2 x!2 ~@3 x ~@2 x",
N: "x ~@2 x ~@3 x!2 ~@3 x ~@3",
})).gain(0.45)
// drums · snare
const snare = s("sd").struct(`<
~@4 A@3 B@2 C A@3 D A@3 E F C A@3 G A@3 H C A@8 B C A@5 I A J K A@7 L M C A@5 N A O P A@7 Q R S A@3 T A I A J U A@7 Q
R S A@3 T A I A J V A W A X A Y A Z A AA A AB A AC AD AE A AF A Z A AG A Z A AH ~@2
>`.pickRestart({
A: "~ x ~ x", B: "~@4 x ~@4 x!2 ~@5", C: "~@2 x ~ x!2 ~@2 x ~ x!2 ~@4", D: "~@4 x ~@4 x ~@2 x ~@3",
E: "~ x ~@2 x ~@9 x ~", F: "~@4 x ~@4 x!2 ~@3 x ~", G: "~ x ~@2 x ~@4 x!2 ~@5", H: "~ x ~@2 x ~@4 x!2 ~ x ~@3",
I: "~@4 x ~@4 x!2 ~ x ~ x ~", J: "~ x!2 ~ x!2 ~@2 x ~ x!2 ~@4", K: "~ x!2 ~ x!2 ~@2 x ~ x!2 ~ x ~ x",
L: "~@4 x ~@6 x ~ x!2 ~", M: "x!2 ~@2 x ~ x!2 ~@2 x ~@2 x!2 ~", N: "~@4 x ~@4 x ~@2 x ~ x ~",
O: "~@4 x ~@4 x ~ x ~@4", P: "x ~ x!4 ~@2 x ~ x!2 ~ x ~ x", Q: "~@4 x ~@4 x!2 ~ x!2 ~@2",
R: "x ~ x!2 ~@2 x ~ x!2 ~@5 x", S: "x!3 ~ x!2 ~@2 x ~ x!2 ~ x ~@2", T: "~ x ~@2 x ~@2 x ~ x!2 ~ x!2 ~@2",
U: "x!3 ~ x!2 ~@2 x ~ x!2 ~ x ~ x", V: "x!16", W: "~@4 x ~@4 x ~ x!3 ~@2", X: "~@4 x ~@3 x!3 ~@2 x ~ x",
Y: "~ x ~@2 x ~ x ~ x!3 ~ x!2 ~@2", Z: "~ x ~@2 x ~@2 x ~ x!3 ~ x ~@2", AA: "~@4 x ~@3 x!3 ~@2 x ~@2",
AB: "x!3 ~ x!2 ~ x ~ x!3 ~ x ~@2", AC: "~@4 x ~@8 x ~ x", AD: "~ x ~@2 x ~ x ~@2 x ~@2 x ~@3",
AE: "~@4 x ~@2 x ~ x!3 ~ x ~@2", AF: "x ~ x!3 ~@3 x ~ x!4 ~@2", AG: "~ x ~ x ~ x!2 ~ x!3 ~@2 x ~@2",
AH: "~@4 x ~@3 x!8",
})).gain(0.45)
// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
~@7 A@2 ~@8 A@2 ~@8 A ~@9 A ~@6 B ~ A ~@18 A ~@9 A ~@6 B ~ A ~@9 A ~@6 B ~ A ~@18 C ~@10
>`.pickRestart({
A: "~@13 x ~@2", B: "~@13 x ~ x", C: "~ x ~@7 x ~@6",
})).gain(0.22)
// drums · hihat
const hihat = s("hh").struct(`<
~@4 A B@2 C D E A B@2 F B@3 G D H A B@2 I A B@2 C E A B@7 C E A B@4 J B K E A B@7 L E A B@6 K M A B@7 N E A B@4 J B K
E A B@7 N E A B@4 J B K ~ A F B I A O A I A P A Q A O R S A T A U A T A V A O ~@2
>`.pickRestart({
A: "~ x!7", B: "x!8", C: "x ~ x ~ x ~ x ~ x ~@2 x ~@3 x", D: "~@2 x ~ x ~ x ~ x ~@2 x ~@3 x",
E: "~@3 x ~@3 x ~ x ~@6", F: "x!6 ~ x", G: "x ~ x ~ x ~ x ~ x ~ x ~ x ~@2 x", H: "~@3 x ~@3 x ~ x ~@3 x ~@2",
I: "x!5 ~ x!2", J: "x ~ x ~ x ~ x ~ x ~@2 x ~@4", K: "x ~ x ~ x ~ x ~@2 x ~@5 x", L: "x ~@2 x ~@5 x ~ x ~@4",
M: "~ x ~@5 x ~ x ~@6", N: "x ~ x ~@2 x ~ x ~@3 x ~@4", O: "x!4 ~@4", P: "x!4 ~@2 x ~", Q: "~@4 x ~ x!2",
R: "~ x!5 ~ x", S: "~ x!4 ~ x!2", T: "x", U: "x ~ x!3 ~@3", V: "x!5 ~ x ~",
})).gain(0.39)
// drums · low tom
const low_tom = s("lt").struct(`<
~@3 A ~@3 B@2 C ~@9 D ~@3 D ~@3 B E ~@8 B C ~@7 B@2 ~@8 F C ~@7 B@2 ~@8 G C ~@7 B@2 ~@8 G C ~@7 B H ~@3 D ~ I ~ J ~ I
~ K ~ L ~ J ~ C ~ M ~ N ~ O ~@4
>`.pickRestart({
A: "~@5 x ~ x", B: "~@7 x", C: "~@14 x!2", D: "~@6 x!2", E: "x ~@13 x!2", F: "~@2 x ~@2 x ~@2 x ~@6 x",
G: "~@2 x ~@2 x!3", H: "x!16", I: "~@11 x ~@2 x!2", J: "~@12 x ~ x!2", K: "~@3 x ~@2 x ~@5 x ~ x!2",
L: "~@10 x!3 ~ x ~", M: "~ x ~@5 x", N: "~@11 x!2 ~ x!2", O: "~@12 x!4",
})).gain(0.33)
// drums · open hat
const open_hat = s("oh").struct("<~@122 [~@3 x] ~@10>").gain(0.22)
// drums · mid tom
const mid_tom = s("mt").struct(`<
~@3 A ~@3 B@2 C ~@8 B D ~@8 C ~@8 B C ~@7 B E ~@8 B C ~@7 B E ~@9 E ~@7 B E ~@9 E ~@7 B ~@4 F ~@9 G ~@3 D ~@10
>`.pickRestart({
A: "~@8 x!2 ~@2 x!2 ~@2", B: "~@3 x", C: "~@6 x ~@5 x!2 ~@2", D: "~@3 x ~@4", E: "~@3 x ~@2 x ~", F: "~@11 x ~@4",
G: "~@8 x!2 ~@6",
})).gain(0.39)
// drums · crash
const crash = s("cr").struct(`<
~@4 A ~@3 A@3 ~@7 A@3 ~@3 A ~@4 A ~@8 A@2 ~@7 A@2 ~@8 A@2 ~@8 A ~@9 A ~@8 A ~@9 A ~@8 A ~@3 A ~ A ~ A ~ A ~ A ~ B A@2
~ A C A ~ A ~ A ~ A ~
>`.pickRestart({
A: "x", B: "x ~@8 x ~@2 x ~@3", C: "~@12 x ~@2 x",
})).gain(0.28)
stack(
bass, distortion_guitar, synth_brass_1, violin, piano, piano_soft, kick, snare, snare_soft, hihat, low_tom, open_hat,
// … 2 more lines
More by Antonello Venditti
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.