0:00/0:00
// Mi ritorni in mente — Battisti Lucio
// 76 bpm, 4/4, key G 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 82 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(76/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 · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
~ A@3 ~@4 B ~ C D E F G H I J K L ~@25 B ~ M N E F G H I J K L ~@7 O P Q@3 R S@3 P T@4 ~@4
>`.pickRestart({
A: "[~ [g5,g6]@22 ~@2 [a5,a6] ~@3 [d5,d6]@26 ~@2 e5@2 ~@2 [g4,g5]@21 ~@7 [g4,g5] ~ [a4,a5] ~@4, ~@57 e6 ~@38]/3", // G A D G A
B: "~@17 b3@4 a3@4 ~@7, ~@3 e4@5", C: "~@9 a3@4 ~@19", D: "~@9 e4@4 a4@3 ~@9 f#4@4 a4@3",
E: "~@4 d4@5 f#4@4 b4@4 ~@7 b4@5 d5@3, ~@20 f#4@9 ~@3", F: "~@9 b4@4 e5@3 ~@9 d5@3 f#5@2 ~@2, ~@4 g4@11 ~@6 a4@8 ~@3",
G: "~@4 g5@4 f#5@4 g5@2 ~@6 g5@2 ~ f#5@2 ~@3 g5@2 ~@2, ~@27 f#5@2 ~@3",
H: "~@4 g5@4 f#5@4 g5@2 ~@6 g5@2 ~ f#5@2 ~@2 f#5@2 g5 ~@2", I: "~@4 c5@4 e5@4 g5@4 b5@4 ~ a5@4 g5@4 e5@3",
J: "~ c5@31", K: "~@9 b4@3 e5@4 d5@14 ~@2, ~ g4@7", L: "~ c#5@4 e5@4 g5@3 b5@4 a5@9 ~@7",
M: "~@9 a3@4 c4@3 ~@5 [g3,e4]@3 b2@4 ~ d4@3, ~ e3@3 ~@4", N: "~@9 e4@4 a4@3 ~@5 d4@4 f#4@4 a4@3, ~ a3@15 ~@16",
O: "~ [a3,a4]@4 [b3,b4]@4 [c#4,c#5]@4 e4@4 [b4,b5]@8 [a4,a5]@7, ~@13 e5@2 ~@17", // A B C# B A
P: "~ [g#4,g#5]@3 [a4,a5]@4 [g#4,g#5]@4 [c#4,c#5]@4 [f#4,f#5]@16", // G# A G# C# F#
Q: "[[e4,e5]@4 [f#4,f#5]@4 [e4,e5]@4 ~@5 d5@22 ~@2 [d4,d5]@2 [c#4,c#5]@2 ~@2 b3@17 ~ b3@3 [c#4,c#5]@4 [d4,d5]@4 f#5@4 ~ c#6@8 [b4,b5]@7, ~@12 a3@4 d4@22 ~@38 f#4@3 ~@17, ~@13 a4@5 ~@29 b4@22 ~@11 c#5@9 ~@7]/3", // E F# E D C# D B
R: "~ [a4,a5]@3 [b4,b5]@4 [a4,a5]@4 [d4,d5]@5 [f#4,f#5]@15", // A B A D F#
S: "[~ [e4,e5]@3 [f#4,f#5]@4 [e4,e5]@4 ~ [g#3,g#4]@4 [e4,e5]@23 ~ [e4,e5]@2 [d4,d5]@3 ~ [c#4,c#5]@25 [e4,e5]@4 [g#4,g#5]@3 ~@2 [b4,b5]@8 [a4,a5]@7]/3", // E F# E G# E D C# E …
T: "[~ [e4,e5]@3 [f#4,f#5]@4 [e4,e5]@4 [a3,a4]@4 [d4,d5]@21 ~@3 [d4,d5]@3 [e4,e5]@2 ~@2 f#5@33 [e4,e5]@32 ~@16, ~@23 f#4@17 ~@24]/4", // E F# E A D E
})).s("gm_string_ensemble_1").gain(0.2)
// chords · string ensemble 1 · "STRINGS" · soft notes
const string_ensemble_1_soft = note(`<
~@3 A@3 B@2 C D E F ~@2 G@5 H ~@6 I@6 J@5 K@6 L@2 C D M N ~@2 G@5 H ~@25
>`.pickRestart({
A: "[~@31 g3@51 ~@14]/3", B: "[~ g4@16 ~@16 c5@15 ~ [b4,d5]@15, ~ b4@31 ~@16 g5@16, ~@17 e5@32 ~@15]/2",
C: "~@9 c4@4 ~@11 g3@3 ~ e3@4, ~@5 a3@9 ~@18",
D: "~@12 a4@5 ~@4 a3@4 d4@3 ~@4, ~ d3@13 ~@3 d3@11 ~@4, ~@5 a3@10 ~@17, ~@9 d4@9 ~@14",
E: "~@13 c4@3 ~ c3@4 [g3,e4]@3 b2@4 g3@4, ~ a2@10 ~@21, ~ e3@3 ~@4", F: "~@5 c4@4 ~@12 d4@5 ~@6, ~ a3@15 ~@16",
G: "[~ b4@31 ~@33 c4@23 ~ c4 ~ c4 ~@3 c4@33 ~ [b3,d4]@31, ~ g4@87 ~@7 g4@37 ~@28, ~@33 e4@55 ~@72]/5", // Bm
H: "~ [c#4,e4]@21 ~@10", I: "[~@17 [c5,e5]@63 ~ [g4,d5]@63 ~ a4@47, ~@17 a4@61 ~@2 b4@64 [c5,e5]@48]/6",
J: "[~@17 g4@64 f#5@31 ~ [c5,e5]@31 [b4,d5]@16, ~@4 d5@25 ~@11, ~@16 b4@97 g5@47]/5", // C Bm
K: "[~@16 [c5,e5]@33 [b4,d5]@32 [c5,e5]@25 ~@7 [d4,f#4,a4]@64 [g4,b4]@15, g4@113 ~@64 d4@4 ~@11]/6", // C Bm C D G
L: "[~@33 c5@15 ~ [b4,d5]@15, ~ b4@31 ~@16 g5@16, ~@17 e5@32 ~@15]/2", M: "~ a2@10 ~@6 c3@4 ~@7 g3@4",
N: "~@5 c4@4 ~@23",
})).s("gm_string_ensemble_1").gain(0.07)
// chords · piano · "ACOU/MTGTR"
const piano = note("<~ A B C@2 D ~@76>".pickRestart({
A: "~@25 [d4,g4]@5 b3 ~, ~ [g2,g3]@30 ~, ~ [d4,g4]@8 [d4,g4]@8 [d4,g4]@8 ~@7, ~@5 b3@8 b3@8 b3@9 ~@2", // G5 G G5
B: "~@25 [d4,f#4]@4 b3@2 ~, ~ [b2,f#3]@30 ~, ~ [d4,f#4]@8 [d4,f#4]@8 [d4,f#4]@8 ~@7, ~@5 b3@8 b3@8 b3@8 ~@3", // D B5 D
C: "[~@13 c4@4 [c3,g3,c4,e4,g4]@2 ~@8 [a3,a4]@3 ~ b3@6 ~@20 [d4,g4]@4 b3@2 ~, ~ [c3,g3]@16 ~@14 g2 ~@5 b3@8 b3@8 b3@8 ~@3, ~ [e4,g4]@8 [e4,g4]@8 ~@14 [d4,g4]@10 [d4,g4]@8 [d4,g4]@8 ~@7, ~@5 c4@8 ~@12 [g3,g4]@5 ~ g3@32 ~]/2", // C A G5 C5 Em G5 G
D: "~@29 b3@3, ~ [d4,g4]@8 [d4,g4]@12 d4@4 g3@7, ~@5 b3@8 b3@4 a3@15, ~@15 g3@8 g4@9, ~@19 b3@8 d4@5", // G5
})).s("gm_piano").gain(0.39)
// chords · acoustic guitar nylon · "ACOU/MTGTR"
const acoustic_guitar_nylon = note(`<
~@6 A B C D E@2 F G H B C I J K ~@9 L M@4 N@8 O A P@3 Q R@4 S@4 T@8 U V W X@8 Y@3 ~@4
>`.pickRestart({
A: "~@13 e3@4 ~@12 d3@3, ~ e3@12 ~@4 d3@12 ~@3, ~@5 g3@12 ~@4 g3@11, ~@9 b3@8 ~@8 b3@7",
B: "~@13 c3@4 ~@12 b2@3, ~ c3@12 ~@4 b2@12 ~@3, ~@5 e3@12 ~@4 e3@11, ~@9 g3@8 ~@8 g3@7",
C: "~@13 c4@4 ~@12 c4@3, ~ a2@16 a2@15, ~@5 e3@13 ~@3 e3@11, ~@9 g3@8 ~@8 g3@7",
D: "~@29 f#4@3, ~ d3@16 d3@15, ~@5 a3@12 ~@4 a3@11, ~@9 d4@16 d4@7, ~@13 f#4@16 ~@3",
E: "[~@13 c4@4 ~@4 g3@2 c4@2 ~@4 g3@2 c4@2 ~@12 c4@4 ~@12 f#4@3, ~ a2@13 ~@3 c3@6 ~@2 b2@6 ~@2 a2@13 ~@11 d4@7, ~@5 e3@10 ~@4 e3@5 ~@3 d3@5 ~@5 e3@10 ~@2 d3@13 ~@2, ~@9 g3@7 ~@25 g3@7 ~@5 a3@9 ~@2]/2",
F: "~@29 d4@3, ~ b2@15 ~ b2@12 ~@3, ~@5 f#3@12 ~@4 f#3@9 ~@2, ~@9 b3@13 ~@3 b3@7, ~@13 d4@9 ~@10",
G: "~@9 b3@4 e4@4 ~@8 d4@4 f#4@2 ~, ~ e3@13 ~@3 d3@14 ~, ~@5 g3@10 ~@6 a3@10 ~",
H: "~@5 g3@4 b3@4 e3@2 ~@14 d3@3, ~ e3@8 ~@8 d3@12 ~@3, ~@21 g3@11, ~@25 b3@7",
I: "~@25 g3@4 e3@3, ~ c3@27 ~@4, ~@5 e3@23 ~@4, ~@9 g3@12 c4@11, ~@13 c4@4 e4@15",
J: "~@13 b3@4 ~@8 g3@4 d3@3, ~ g2@29 ~@2, ~@5 d3@21 ~@6, ~@9 g3@12 b3@11, ~@17 d4@15",
K: "~@9 a3@4 c#4@2 ~@2 e4@4 ~@4 [a3,c#4]@5 ~@2, ~ a2@12 ~@4 a2@13 ~@2, ~@5 e3@9 ~@11 e4@3 ~@4", L: "~@17 d5@12 c5@3",
M: "[~@11 b4@2 a#4@2 a4 ~@97 f5@12 d#5@3, ~@17 a2@111]/4",
N: "[~@11 d5@2 c#5@2 c5 ~@189 a3@2 a3@2 [a3,d4,f#4,a4]@24 ~@4 [a3,d4,f#4]@2 [d3,a3] ~ [a3,d4,f#4]@15, ~@17 b2@239, ~@205 [d4,f#4,a4]@4 ~@47]/8", // D D5 D
O: "~@17 g2@4 d3@4 b3@4 g2@3",
P: "[~@13 c3@4 ~@28 c4@4 ~@12 c4@4 ~@28 f#4@3, ~ c3@12 ~@4 b2@12 b2@60 d4@7, ~@5 e3@12 ~@4 e3@12 a2@16 a2@47, ~@9 g3@8 ~@8 g3@8 ~@4 e3@12 ~@4 e3@12 d3@8 d4@8 d3@15, ~@41 g3@8 ~@8 g3@8 ~@4 a3@8 f#4@8 a3@11]/3",
Q: "~@13 c4@4 ~@6 c4@2 ~@4 g3@2 c4, ~ a2@31, ~@5 e3@10 ~@2 c3@4 g3@4 ~@2 d3@5, ~@9 g3@7 ~@3 e3@5 ~ b2@7",
R: "[~@13 c4@4 ~@12 f#4@4 ~@28 d4@4 ~@8 b3@4 e4@4 ~@8 d4@4 f#4@2 ~@6 g3@4 b3@4 e3@2 ~@14 d3@3, ~ a2@127, ~@5 e3@10 ~@2 d3@13 ~@3 b2@12 d4@8 f#3@9 ~@3 e3@13 ~@3 d3@14 ~@2 e3@9 ~@7 d3@8 b3@7, ~@9 g3@7 ~@5 a3@9 ~@7 f#3@12 b2@79, ~@25 d4@8 ~@8 b3@13 ~@3 b3@8 ~@4 g3@10 ~@6 a3@10 ~@22 g3@11]/4",
S: "[~@13 c3@4 ~@28 c4@4 ~@12 c4@4 ~@24 g3@4 e3@4 ~@24 g3@4 d3@3, ~ c3@12 ~@4 b2@12 b2@99, ~@5 e3@12 ~@4 e3@12 a2@16 a2@79, ~@9 g3@8 ~@8 g3@8 ~@4 e3@13 ~@3 e3@12 c3@8 g3@4 c4@4 e4@16 ~@4 d3@4 g3@4 b3@4 d4@15, ~@41 g3@8 ~@8 g3@8 ~@4 e3@16 c4@12 g2@20 b3@11]/4",
T: "[~@9 a3@4 c#4@2 ~@2 e4@4 ~@4 [a3,c#4]@5 ~@226, ~ a2@16 a2@239, ~@5 e3@9 ~@11 e4@3 ~@228]/8", // A
U: "~@29 f#3@3, ~@21 a3@11, ~@25 c#4@7",
V: "~@13 e3@4 ~@12 d3@3, ~ e3@12 ~@4 d3@12 ~@3, ~@5 a3@12 ~@4 f#3@11, ~@9 c#4@8 ~@8 a3@7",
W: "~@13 c#3@4 ~@12 d4@3, ~ c#3@12 ~@4 b2@15, ~@5 f#3@12 ~@4 f#3@11, ~@9 a3@8 ~@8 a3@7",
X: "[~@13 d4@4 ~@28 g#4@3 ~@13 d4@4 ~@6 d4@2 ~@4 a3@2 d4@2 ~@12 d4@4 ~@12 g#4@4 ~@28 e4@4 ~@8 c#4@4 f#4@4 ~@8 e4@4 g#4@2 ~@14 f#3@4 ~@12 e3@4 ~@12 d3@4 ~@12 c#3@4 ~@12 d4@3, ~ b2@48 b2@32 b2@160 b2@15, ~@5 f#3@12 e3@12 g#4@12 e4@7 ~@21 a3@4 ~@16 a3@7 ~@5 b3@9 ~@7 g#3@12 c#3@12 ~@44 c#4@8 ~@8 c#4@8 ~@8 a3@8 ~@8 a3@8 ~@8 a3@7, ~@9 a3@8 ~@4 b3@12 e3@15 ~@5 f#3@10 ~@2 d3@6 ~@2 c#3@6 ~@26 e4@8 ~@8 c#4@12 g#3@9 ~@3 f#3@13 ~@3 e3@14 ~@2 f#3@12 ~@4 e3@12 ~@4 d3@12 ~@4 c#3@12 ~@19, ~@25 e4@12 b3@11 ~@9 a3@7 ~@3 f#3@5 ~@3 e3@5 ~@5 f#3@10 ~@2 e3@13 ~@3 c#3@12 e4@9 ~@3 c#4@8 ~@4 a3@10 ~@6 b3@10 ~@6 a3@12 ~@4 a3@12 ~@4 f#3@12 ~@4 f#3@12 ~@4 f#3@11]/8",
Y: "[~@13 d4@4 ~@24 a3@4 f#3@4 ~@12 c#4@4 ~@8 a3@5 ~@18, ~ b2@92 ~@3, ~@5 f#3@12 d3@20 d4@13 ~@7 a3@12 c#4@12 ~@15, ~@9 a3@8 ~@4 f#3@23 ~@9 e3@21 ~@22, ~@25 a3@4 d4@4 f#4@16 ~@16 e4@15 ~@16]/3",
})).s("gm_acoustic_guitar_nylon").gain(0.39)
// chords · electric guitar muted · "ACOU/MTGTR"
const electric_guitar_muted = note("<~@20 A B C D E F G H I@5 J@6 K@8 ~@10 L@5 M N ~@18>".pickRestart({
A: "~ c4@3 ~ c5 ~@3 [e5,a#5]@4 c5 ~@3 g4 ~ [f5,b5]@3 ~ g4 ~ [f5,b5]@4 g4 ~ d5", // Edim Fdim
B: "~ c4@4 c5 ~ a#4 ~ [g5,a#5]@4 a#4 ~ e5 ~ g4 ~ [f5,b5]@3 ~ g4 ~ [f5,b5]@4 g4 ~ d5, ~@9 d5 ~@22", // Gm Fdim
C: "~ c4@4 e5 ~ a#4 ~ [g5,a#5]@4 a#4 ~ e5 ~@3 [f5,b5]@3 ~ g4 ~ [f5,b5]@4 g4 ~@2", // Gm Fdim
D: "~ c4@4 ~@2 a#4 ~ [g5,a#5]@4 a#4 ~ e5 ~@3 [f5,b5]@3 ~ a4 ~ [f5,b5]@4 g4 ~ [g2,a2,b2,d5]", // Gm Fdim G
E: "~ [g2,a2,b2] ~ e5@3 ~ [a2,b2] ~ e5@2 d5@2 b4 ~ [b2,e4] ~ a4@4 ~@2 a4@3 ~@5 g#4", // G Asus2 E5
F: "~ a4@4 ~@2 a4@4 ~@2 g4@2 g#4 ~ a4@4 ~@2 a4@4 e4 ~ g4@2 g#4",
G: "~ a4@2 g4 ~ e4 ~ d5@4 c5@2 a4@2 g4 ~ a2 ~ a2 ~ a2 ~ [c5,e5,g5,a5]@3 ~ a2 ~@4", // Am7
H: "~ a2@2 a2@2 ~@2 [c5,e5,g5,a5]@3 ~ a2@2 ~@4 a2 ~ a2 ~ a2 ~ [c5,e5,g5,a5]@3 ~ a2 ~@3 a2", // Am7
I: "[~ a2 ~@3 a2 ~ [c5,e5,g5]@4 a2 ~@3 a2 ~ g2@2 ~@2 g2 ~ [b4,d5,g5]@4 g2 ~@3 g2@2 g2 ~ g2 ~@3 [b4,d5,g5]@4 g2@2 ~@38 a2 ~@3 [c5,e5,g5]@4 a2 ~@5 a2 ~ a2 ~ a2 ~ [c5,e5,g5,a5]@3 ~ a2 ~@3 a2 ~ a2 ~ a2 ~ a2 ~ [c5,e5,g5]@4 a2 ~ a2@2 a2 ~ a2 ~ [e5,g5,a5,c6]@2 a2 ~ a2 ~ a2 ~ [c5,e5,g5,a5]@2 a2 ~ a2 ~ g2@4 ~@2 [b4,d5,g5]@4 g2@2 g2@2 ~, ~@7 a5@2 ~@38 g2@98 ~@4 g2@6 ~@5, ~@119 a5@2 ~@39]/5", // C G C Am7 C Am7 G
J: "[~@3 g2@2 ~@2 [b4,d5,g5]@3 ~ g2@2 g2@2 ~@34 f#5@3 ~@5 [b4,d5,f#5]@3 ~ b2 ~ [b4,d5,f#5] ~ b3 ~ [b4,d5,f#5] ~ b2 ~ b3 ~ [d5,f#5]@5 ~ b4 ~ a#2@4 ~@4 [c5,e5,g5] ~ b2 ~ b2 ~ [c5,e5,g5] ~@3 e5 ~ b2 ~@3 [c5,e5,g5]@3 ~ a#2 ~ a#2 ~ b2@2 ~@2 b2 ~ b2 ~ [b4,d5,g5] ~@3 b2 ~ [b4,d5,g5]@2 b2 ~ [b4,d5,g5] ~ b2 ~ b2 ~ [b4,d5,g5]@4 b2 ~ b4 ~ b2@3 ~@3 b2 ~ [c5,e5,f5,g5]@2 f#2 ~@3 [c5,e5] a5 ~@2 [c5,e5,g5] ~ e2 ~@3 [c5,e5,g5]@4 e2 ~ c5 ~ b2@3 ~@3 b2 ~ [b4,d5,f5] ~ b2 ~ b2 ~ [b4,d5,g5], ~@5 g2@6 ~@4 g2@177, ~@7 c5 ~@65 b4@3 ~@116]/6", // G Bm D C G C Bdim G
K: "[~ b2 ~ [b4,d5,g5] ~ b2 ~ b2 ~ [d5,g5]@4 b2 ~ b2 ~ [c5,e5,g5]@239, ~@9 b4@2 ~@245, ~@9 f5 ~@246]/8", // G G5 C
L: "[~ c4@4 ~@4 a#5@4 ~@4 g4 ~ [f5,b5]@3 ~ g4 ~ [f5,b5]@4 g4 ~ d5 ~ c4@5 ~ a#4 ~ a#5@4 a#4 ~@3 g4 ~ [f5,b5]@3 ~ g4 ~ [f5,b5]@4 g4 ~ d5 ~ c4@4 ~@2 a#4 ~ a#5@4 a#4 ~@5 [f5,b5]@3 ~ g4 ~ [f5,b5]@4 g4 ~@3 c4@5 ~ a#4 ~ a#5@3 ~ a#4 ~@5 [f5,b5]@3 ~ a4 ~ [f5,b5]@4 g4 ~ [g2,a2,b2,d5] ~ [a2,b2] ~ e5@4 [a2,b2] ~@3 d5@2 b4 ~ [b2,e4] ~ [a2,b2] ~@5 [a2,b2] ~@3 d5@2 b4 ~ [b2,e4], ~@5 c5@8 c5@24 ~@4 d5 ~@5 e5@22 e5@10 e5@22 ~@10 e5@20 ~@6 e5@10 e5@8 ~@5, ~@9 e5@32 g5@32 g5@36 ~@20 g2@17 ~@14]/5", // Fdim G Asus2 E5 Asus2 E5
M: "~ a4 ~ a4 ~@3 a4 ~@3 a4 ~@3 a4 ~@3 a4 ~@3 a4 ~@3 a4@2 ~@2 a4",
N: "~ a4@2 g#4 ~ g#4 ~ g#4 ~ [g#4,a#4]@2 f#4 ~ f#4 ~ f#4 ~ f#4@2 e4 ~ e4 ~ e4 ~ e4@2 d4 ~ d4@2 b3", // G#sus2
})).s("gm_electric_guitar_muted").gain(0.39)
// chords · electric guitar muted · "ACOU/MTGTR" · soft notes
const electric_guitar_muted_2 = note("<~@21 A B C D E F G H I J K L@2 ~ K M N O ~@19 P B Q ~@21>".pickRestart({
A: "~@9 e5@2 ~@21", B: "~ c#4 ~@15 g4 ~@13 d5", C: "~@5 e5 ~@26", D: "~@27 e4@2 g4 ~@2", E: "~@11 e4@2 ~@19",
F: "~@29 a2 ~ a2", G: "~@5 a2 ~@7 a2 ~ a2 ~@13 a2 ~@2", H: "~@3 a2@2 ~@8 a2 ~@5 g2 ~@9 g2 ~@2",
I: "~@5 g2 ~@7 g2 ~@18", J: "~@31 a2", K: "~@13 a2 ~@18", L: "[~@31 g2@2 g2@2 ~@29]/2",
M: "~@3 [c5,g5] ~@13 a2@2 b2 ~@7 b2 ~@4", N: "~@21 c5 ~@9 g5", O: "~ e2 ~@5 e2 ~@9 a#2 ~@7 g5 ~@6",
P: "~@9 e5@6 ~@17", Q: "~@5 e5@10 ~@17",
})).s("gm_electric_guitar_muted").gain(0.22)
// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
~ A B C@3 D E F G H I J K D E L@2 M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH@2 AI AJ D E F G H I J K D E AK@2
M AL O AM Q R AN AO AP AQ AR AS AT AU AV AW AX AY AZ AS BA@3 ~@4
>`.pickRestart({
A: "~ g3@13 ~ g3 ~ g3 ~@3 g3@5 ~ g3@5", B: "~ b3@14 b2 ~ b2 ~@3 b2@4 ~@2 b2@5",
C: "[~ c3@13 ~ c3 ~ c3@2 ~@12 g2@34 ~@24 g3@7]/3", D: "~ e3@10 ~@2 e3@3 ~ d3@10 ~@2 d3@3", E: "~ c3@16 b2@15",
F: "~ a2@10 ~@2 a2@2 ~@2 a2@15", G: "~ d3@10 ~@2 d3@3 ~ d3@10 ~@2 d3@3", H: "~ a2@10 ~@2 a2@4 c3@8 b2@7",
I: "~ a2@11 ~ a2@4 d3@11 ~ d3@3", J: "~ b2@12 b2@3 ~ b2@15",
K: "~ e3@10 ~@2 e3@2 ~@2 d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3@3",
L: "[~ a2@10 ~@2 a2@2 ~@2 a2@8 ~@2 b2@2 ~@2 c3@15 ~ g3@2 c4@2 g3@2 c3@4 c3@6 c3, ~@25 a2@8 ~@31]/2",
M: "~ g2@14 d3@2 g3@6 d3 ~ g2@3 ~ g2@2 g#2", N: "~ a2@10 e3 ~ a3@2 e3 ~ a2@3 ~ e3@4 a3@4 ~@3",
O: "~ c3@3 ~ c3@3 ~ c3@5 ~ f#3 ~ g3@4 f3@2 e3 ~ d3 ~ b2 ~ g2@3",
P: "~ c3@3 ~ c3@5 ~ e3 ~ f3@2 f#3@2 g3@3 ~ f3@2 e3@2 d3@2 b2 ~ g2@2 ~",
Q: "~ c3@3 ~ c4@4 ~@2 a#3 ~ a3@2 f#3 ~ g3@4 f#3 ~ f3@2 e3 ~ d3@2 b2 ~ g2",
R: "~ c3@3 ~ c3@5 ~ e3@2 f3@2 f#3@2 g3@3 ~ g3@3 ~ g3@4 ~@2 g3",
S: "~ e3@3 ~ e3@2 ~@2 e3@5 ~ e3 ~ a3@3 ~ a3@6 e3@2 g3@2 g#3",
T: "~ a3@3 ~ a3@6 e3@2 g3@2 g#3 ~ a3@3 ~ a3@5 ~ e3@2 g3 ~ g#3",
U: "~ a3@2 g3@2 e3 ~ d#3@2 d3@2 c3@2 a2@2 ~@2 a3@4 ~@2 a3@3 ~ e3 ~ g3 ~ g#3",
V: "~ a3@4 ~@2 a3@2 ~@2 g3 ~ g#3@2 ~@2 a3@5 ~ a3@2 ~@2 e3@2 g3 ~ g#3",
W: "~ a3@5 ~ a3@3 ~ g#3 ~ a3@2 ~@2 g3@4 ~@2 g3@3 ~ d3 ~ f3 ~ f#3",
X: "~ g3@4 ~@2 g3@3 ~ f3 ~ f#3 ~@3 g3@5 ~ g3@3 ~ d3 ~ f3@2 f#3",
Y: "~ g3@4 ~@2 g3@3 ~ f3 ~ f#3 ~ g3 ~ a3@4 ~@2 a3@3 ~ e3 ~ g3 ~ g#3",
Z: "~ a3@4 ~@2 a3@3 ~ g3 ~ g#3@2 ~@2 a3@4 ~@2 a3@3 ~ e3 ~ g3 ~ g#3",
AA: "~ a3@4 ~@2 a3@2 ~@2 g3 ~ a3@3 ~ g3@4 ~@2 g3@3 ~ d3 ~ e3 ~ f3",
AB: "~ g3@5 ~ g3@2 ~@2 d3 ~ f3 ~ f#3 ~ g3@5 ~ g3@3 ~ d3 ~ f3 ~ f#3",
AC: "~ g3@4 ~@2 g3@3 ~ d3@2 f3 ~ f#3 ~ b3@5 ~ b3@2 ~@2 b3@2 a3 ~ f#3",
AD: "~ b3@2 a3@2 f#3 ~ b2@4 f#3 ~ a3@2 b3 ~ c4@4 ~@2 c4@2 ~@2 c4@2 a3@2 g3",
AE: "~ c4@2 a3@2 g3 ~ c3@3 ~ c3@2 c4@2 ~@2 g3@4 ~@2 g3@2 ~@2 g3@2 e3@2 d3",
AF: "~ g3@2 e3@2 d3 ~ g2@4 d3 ~ e3@2 ~@2 c4@2 c4@2 ~@2 c4@2 ~@2 c4@2 a3@2 g3",
AG: "~ c4@2 a3@2 g3 ~ c3@4 g3 ~ a3@2 ~@2 g3@4 ~@2 g3@2 ~@2 g3@2 e3@2 d3",
AH: "[~ g3@2 e3@2 d3 ~ g2@4 d3@2 e3@4 c3@26 ~@6 d3@6 ~@2 d3@7]/2",
AI: "~ d3@7 ~ d3@6 ~@2 d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3",
AJ: "~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ g3@8 ~@4 g3@3",
AK: "[~ a2@10 ~@2 a2@2 ~@2 a2@8 ~@2 b2@2 ~@2 c3@15 ~ g3@2 c4@2 g3@2 c3@3 ~ c3@6 c3, ~@25 a2@8 ~@31]/2",
AL: "~ a2@10 e3@2 a3@2 e3 ~ a2@3 ~ e3@4 a3@4 ~@3",
AM: "~ c3@3 ~ c3@5 ~ e3@2 f3@2 f#3@2 g3@3 ~ f3@2 e3@2 d3@2 b2 ~ g2@2 ~",
AN: "~ e3@2 ~@2 e3@2 ~@2 e3@5 ~ e3 ~ e3@2 ~@2 e3@2 ~@2 e3@5 ~ e3",
AO: "~ e3 ~ e3@2 ~@2 e3 ~@3 e3 ~@3 e3@2 ~@2 e3@2 ~@2 e3@2 ~@2 e3@3 ~ a3",
AP: "~ a3@2 g#3 ~ g#3 ~ g#3 ~ g#3@2 f#3 ~ f#3 ~ f#3 ~ f#3@2 e3 ~ e3 ~ e3 ~ e3@2 d3 ~ d3 ~ b2",
AQ: "~ a3@8 ~@4 a3@4 f#3@10 ~@2 f#3@3", AR: "~ e3@10 ~@2 e3@4 d3@15", AS: "~ c#3@16 b2@10 ~@2 b2@2 ~",
AT: "~ b2@16 e3@10 ~@2 e3@3", AU: "~ e3@10 ~@2 e3@4 b2@10 ~@2 b2@3", AV: "~ d3@8 c#3@8 b2@11 ~ b2@3",
AW: "~ e3@11 ~ e3@4 c#3@12 c#3@3", AX: "~ c#3@16 f#3@10 ~@2 f#3@2 ~",
AY: "~ e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ e3@4 f#3@10 ~@2 f#3@3", AZ: "~ e3@10 ~@21",
BA: "[~ b2@8 ~@2 c#3 ~@3 d3@15 ~ a3@2 d4@2 a3@2 d3@4 d3@6 d3 ~ a2@14 e3@2 a3@6 e3 ~ a2@3 ~@20, ~@9 b2@8 ~@79]/3",
})).s("gm_acoustic_bass").gain(0.44)
// drums · kick
const kick = s("bd").struct(`<
~ A B C ~@10 A D E F B G H I H J I K L M N O P Q M R P N M S T U V W X A D A D B A D Y A D E F B G H I H J Z U AA AB
AC AD AC@2 AE AF AC C AC AD AG AC AH ~@4
>`.pickRestart({
A: "~ x ~@13 x ~ x ~@3 x ~@10", B: "~ x ~@15 x ~@3 x ~@5 x ~@4", C: "~ x ~@15 x ~@13 x", D: "~ x ~@15 x ~@3 x ~@10",
E: "~ x ~@13 x ~@5 x ~@5 x ~@3 x", F: "~@17 x ~@3 x ~@10", G: "~ x ~@3 x ~@7 x ~@7 x ~@3 x ~@6",
H: "~ x ~@3 x ~@9 x ~ x ~@3 x ~ x ~@3 x ~@3 x", I: "~ x ~@3 x ~@9 x ~ x ~@9 x ~@3 x",
J: "~ x ~@3 x ~@9 x ~ x ~@3 x ~ x ~@3 x ~@4", K: "~ x ~@3 x ~@11 x ~@3 x ~ x ~@3 x ~@4",
L: "~ x ~@3 x ~@9 x ~ x ~@3 x ~@10", M: "~ x ~@3 x ~ x ~@9 x ~@3 x ~@10", N: "~ x ~@3 x ~ x ~@9 x ~@5 x ~@8",
O: "~ x ~@3 x ~@15 x ~@5 x ~@4", P: "~@3 x ~@13 x ~@3 x ~ x ~@8", Q: "~ x ~@3 x ~ x ~@9 x ~@14",
R: "~ x ~@3 x ~ x ~@13 x ~@5 x ~@4", S: "~ x ~@3 x ~ x ~@9 x ~@3 x ~ x ~@8", T: "~ x ~@5 x ~@9 x ~@5 x ~@8",
U: "~ x ~@30", V: "~@18 x ~@2 x ~@3 x ~@3 x ~@2", W: "~ x ~@3 x ~@3 x ~@3 x ~@11 x ~@6",
X: "~ x ~@3 x ~ x ~ x ~ x ~ x ~ x ~ x ~@3 x ~@9 x", Y: "~ x ~@15 x ~@14", Z: "~ x ~@3 x ~@9 x ~ x ~@3 x ~@9 x",
AA: "~@17 x ~@3 x ~@9 x", AB: "~ x ~@11 x ~@3 x ~@13 x", AC: "~ x ~@3 x ~@11 x ~@14", AD: "~ x ~@3 x ~@11 x ~@13 x",
AE: "~ x ~@3 x ~@5 x ~@5 x ~@13 x", AF: "~@2 x ~@2 x ~@11 x ~@14", AG: "~@5 x ~@5 x ~@3 x ~@16", AH: "~ x ~@3 x ~@26",
})).gain(0.34)
// drums · kick · soft notes
const kick_soft = s("bd").struct(`<
~@2 A B ~@10 C D E F A ~@2 G ~ D G A H@2 I J ~ G H ~@2 I H ~ K L ~ M N C D C D A C D ~ C D E F A ~@2 G ~ D ~@3 O B P B
A P B@2 O B@2 Q R ~@5
>`.pickRestart({
A: "~@15 x ~@15 x", B: "~@15 x ~@16", C: "~@13 x ~@17 x", D: "~@31 x", E: "~@19 x ~@12", F: "~@15 x ~@11 x ~@3 x",
G: "~@21 x ~ x ~@8", H: "~@23 x ~@8", I: "~@21 x ~@10", J: "~@7 x ~@24", K: "~@5 x ~@15 x ~@10", L: "~@5 x ~@26",
M: "~@27 x ~ x ~ x", N: "~@3 x ~@25 x ~@2", O: "~@29 x ~@2", P: "~@15 x ~@13 x ~@2", Q: "~@3 x ~@27 x",
R: "~@11 x ~@3 x ~@15 x",
})).gain(0.17)
// drums · snare
const snare = s("sd").struct(`<
~ A@2 B ~@9 C A@2 D A@9 E A@2 F G A@2 F G A@4 H ~ I J A@7 K A@2 D A@8 ~ L A@8 M H A N A H ~@4
>`.pickRestart({
A: "~@9 x ~@15 x ~@6", B: "~@9 x ~@7 x ~@14", C: "~@23 x ~ x ~ x ~ x ~@2", D: "~@9 x ~@17 x ~@3 x",
E: "~ x ~ x ~@3 x ~@17 x ~@6", F: "~@9 x ~@7 x ~ x ~@12", G: "~@25 x ~@6", H: "~@9 x ~@22",
I: "~@9 x ~@7 x ~@7 x ~@6", J: "~ x ~@3 x ~ x ~ x ~ x ~ x ~ x ~@9 x ~@6", K: "~@9 x ~@13 x ~ x ~ x ~ x ~@2",
L: "~@9 x ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~@6", M: "~@7 x ~ x ~ x ~ x ~@11 x ~@6", N: "~@11 x ~@3 x ~@9 x ~@6",
})).gain(0.57)
// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
~@13 A ~@2 B ~@2 C ~@20 D E F ~@7 A ~@2 B ~@2 C ~@6 G ~@8 H ~@2 I ~@6
// … 98 more lines
More by Battisti Lucio
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.