0:00/0:00
// Ho Difeso Il Mio Amore — Nomadi
// 52 bpm, 12/8, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (3/2 at bar 1, 12/8 at bar 1) are rendered on a constant 12/8 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 37 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(52/6)
// 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 · "basso"
const bass = note("<~ A B C D E F G H I J K L M N O P Q R ~ S T U V W X Y Z AA AB AC AD AE AF AG AH@2>".pickRestart({
A: "~@21 e2@7 ~@2 e2 ~", B: "d2@8 ~ d2 ~ e2@8 e2 ~ d2@8 ~ d2 ~", C: "e2@8 ~ e2 ~ d2@7 ~ d2 ~ c2@8 ~ c2 ~",
D: "g2@8 ~ g2 ~ f2@8 f2 ~ e2@7 ~@2 b1 ~", E: "e2@8 ~ e2 ~ d2@7 ~ d2 ~ e2@8 ~ e2 ~",
F: "d2@8 ~ d2 ~ c2@8 c2 ~ g2@8 ~ g2 ~", G: "f2@8 ~ f2 ~ e2@6 ~@2 b2 ~ a2@5 a2@3 ~ a2 ~, ~@9 e2 ~@6",
H: "a1@7 a2@2 g2@2 c2@5 c2@3 c2 ~ c2@7 c2@2 b1@2", I: "e2@8 ~ e2 ~ d2@8 d2 ~ e2@8 ~ e2 ~",
J: "d2@8 ~ d2 ~ e2@5 e3 ~ b2 ~ g2 d2@7 ~@2 d2 ~", K: "e2@5 e3 ~ b2 ~ g2 ~ d2@7 ~ d2 ~ c2@5 ~ c3 g2 ~ e2 ~",
L: "g2@7 ~@2 g2 ~ f2@8 f2 ~ e2@7 ~@2 b1 ~", M: "e2@5 e3 ~ b2 ~ g2 ~ d2@8 ~ d2 e2@5 ~ e3 b2 ~ g2 ~",
N: "d2@7 ~@2 d2 ~ c2@7 ~ c2 ~ g2@8 ~ g2 ~", O: "f2@8 ~ f2 ~ e2@5 e3 ~ b2 g2 ~ a2@5 ~ a1 ~@2 a1 ~",
P: "a1@7 e2@2 a2 ~ c2@5 c3 ~@3 c2 c2@6 ~@2 c3 b2 ~", Q: "e2@5 e2 ~@3 e2 ~ d2@8 ~ d2 e2@8 ~ e2 ~",
R: "d2@8 ~ d2 ~ e2@5 e3 ~ b2 g2 ~ e2@7 ~@4", S: "~@5 b2 ~ b2 ~ b2 ~ e2@5 e3 ~ b2 g2 ~ d2@5 d3 ~ a2 ~ f2 ~",
T: "c2@5 c3 ~ g2 ~ e2 ~ b2@4 ~ b2 ~ a2 ~ b2 e2@7 ~@2 e2 ~", U: "c2@6 ~ c2 ~ d2 ~ e2@6 ~ e2 ~ d2 c2@6 ~@2 c2 d2 ~",
V: "a2@6 ~ b2 ~ c3 ~ b2@6 ~ b2 ~ a2 a2@7 b2 ~ c3 ~", W: "b2@5 b2 ~ b2 ~ b2 ~ e2@5 e3 ~ b2 ~ g2 d2@8 ~ d2 ~",
X: "e2@5 e3 ~ b2 ~ g2 ~ d2@8 d2 ~ c2@8 ~ c2 ~", Y: "g2@8 ~ g2 ~ f2@8 f2 ~ e2@5 ~ e3 b2 ~ g2 ~",
Z: "e2!2 ~ e2 ~ e2 ~ e2 ~ e2 ~ d2!2 ~ d2 ~ d2 ~ d2!2 ~ e2 ~ e2 ~ e2 ~ e2!2 ~ e2 ~",
AA: "d2 ~ d2!2 ~ d2 ~ d2 ~ d2 ~ c2!2 ~ c2 ~ c2 ~ c2!2 ~ g2 ~ g2 ~ g2 ~ g2!2 ~ g2 ~",
AB: "f2 ~ f2!2 ~ f2 ~ f2 ~ f2 ~ e2!2 ~ e2 ~ e2 ~ e2!2 ~ a2@5 ~ a2@3 a2 ~",
AC: "a2@4 ~ a2 g2 a2@2 b2 ~ c2@5 c2@3 ~ c2 c2@6 ~ c2 ~ c2 ~",
AD: "e2 ~ e2!2 ~ e2 ~ e2 ~ e2 ~ d2!2 ~ d2 ~ d2 ~ d2!2 ~ [e2,f#2] ~ e2 ~ e2 ~ e2!2 ~ e2 ~", // Esus2
AE: "d2 ~ d2!2 ~ d2 ~ d2 ~ d2 ~ e2 ~ e2!2 ~ e2!2 ~ e2 ~ e2!2 ~ e2!4 ~ e2!2 ~",
AF: "a2@4 ~ a2@3 ~ a2 ~ a2@5 a2 g2 f2 [a2,b2] ~ c2@5 ~ c2@3 c2 ~, ~@21 d2 ~@10", // Asus2
AG: "c2@6 ~ c2 ~ c2 ~ e2@2 e2!2 ~ e2 ~ e2!2 ~ d2 ~ [d2,e2] ~ d2 ~ d2!2 ~ d2 ~", // Dsus2
AH: "[e2 ~ e2!2 ~ e2 ~ e2 ~ e2 ~ d2!2 ~ d2 ~ d2 ~ d2 ~ d2 e2@19 ~@24]/2",
})).s("gm_acoustic_bass").gain(0.41)
// chords · pad warm · "tappetto"
const pad_warm = note("<~ A B C@3 D E@3 F G@3 H I@3 J ~ K L@3 M N O P@2 Q@2 A R@5>".pickRestart({
A: "[g3,b3,e4]@10 [f#3,a3,d4]@11 [g3,b3,e4]@11", B: "[f#3,a3,d4]@11 [g3,b3,e4]@10 [f#3,a3,d4]@11",
C: "[[g3,b3,e4]@11 [f#3,a3,d4]@10 [c4,e4]@11 [b3,d4]@11 [f3,a3,c4]@10 [e3,g3]@11 [g3,e4]@10 [f#3,a3,d4]@11 [g3,b3,e4]@11, ~@21 g3@22 ~@10 b3@22 ~@21]/3", // Em D C Bm F Em C D …
D: "[f#3,a3,d4]@10 ~ f4 ~@9 [b3,d4]@11, ~@5 g3@11, ~@10 [c4,e4]@11 ~@11", // D Bm C
E: "[[f3,a3,c4]@10 ~ e3@10 [c#4,e4]@20 ~@23 [b3,e4]@10 [f#3,a3,d4]@11 [g3,b3,e4]@11, ~@10 [g3,b3]@11 a3@21 g4@21 ~@33, ~@43 [c4,e4]@22 ~@31, ~@16 g3@9 ~@7]/3", // F C#m E5 D Em G C
F: "[f#3,a3,d4]@10 [g3,b3,e4]@11 ~@2 f#3@9, ~@21 [a3,d4]@11", // D Em D5
G: "[[g3,b3,e4]@10 [f#3,a3,d4]@11 [c4,e4]@11 [b3,d4]@10 ~@3 d4 ~@7 [e3,g3]@11 [g3,e4]@10 [f#3,a3,d4]@11 [g3,b3,e4]@11, ~@21 g3@21 [f3,a3,c4]@11 b3@22 ~@21]/3", // Em D C Bm Em C D Em …
H: "[f#3,a3,d4]@10 [c4,e4]@11 [b3,d4]@11, ~@10 g3@21 ~", // D C Bm
I: "[[f3,a3,c4]@10 [e3,b3,e4]@11 [a3,c#4,e4]@21 ~ g3@21 [g3,b3]@11 [f#3,a3,d4]@10 [g3,b3,e4]@11, ~@14 e4@11 ~@7, ~@21 c4@10 ~@17]/3", // F E5 A G D Em
J: "[f#3,a3,d4]@11 [g3,b3,e4]@21", K: "~@10 [g3,b3,e4]@11 [f#3,a3,d4]@11",
L: "[[e3,g3,c4]@10 [d#3,f#3]@11 e4@11 [e3,c4]@10 [b3,e4]@11 c4@10 ~ [a3,c#4]@10 ~ b3@10 [e3,a3,c#4]@11, ~@10 b3@21 ~@22 e3@20 ~ [d#3,f#3]@10 ~@12, ~@21 g3@43 ~@32]/3", // C D#m C E5 A D#m
M: "[d#3,f#3,b3]@11 [g3,b3,e4]@10 [f#3,a3,d4]@11", N: "[g3,b3,e4]@10 [f#3,a3,d4]@11 [e3,g3,c4]@11",
O: "[d3,g3,b3]@10 [f3,a3,c4]@11 [e3,g3,b3]@11", // G F Em
P: "[[g3,b3,e4]@10 [f#3,a3,d4]@11 [g3,e4]@11 [f#3,a3,d4]@10 [e3,c4]@11 [d3,b3]@11, ~@21 b3@13 ~@8 g3@21 ~]/2", // Em D C D C G
Q: "[[f3,a3,c4]@10 [g3,b3]@11 [a3,c#4]@20 ~ [g3,c4,e4]@21 ~, ~@5 e3@16 ~@11]/2", // F G A C
R: "[[f#3,a3,d4]@10 [g3,b3]@22 ~ [a3,c#4]@20 c4@21 ~ b3@10 [f#3,a3,d4]@10 [g3,b3,e4]@11 [f#3,a3,d4]@11 [e3,g3,b3]@22 ~@21, ~@10 e3@43 [g3,e4]@32 ~@75]/5", // D G A D Em D Em C
})).s("gm_pad_warm").gain(0.28)
// other · flute · "flauto"
const flute = note("<~@5 A@2 B ~ C D E F G@2 H ~@2 I J K L M N O P Q R@2 S ~@7>".pickRestart({
A: "[e4@16 d4 e4 [f#4,g4] f#4 d4 e4@16 d4 e4 f#4 g4 [d4,f#4] c4@11 b4@11]/2", B: "a4@7 g4@2 a4@2 e4@10 ~@11",
C: "e5@10 d5@11 e5@11", D: "d5@11 e4@16 [d4,e4] f#4 g4 f#4 d4", E: "e4@16 d4 e4 [f#4,g4] f#4 d4 c4@11",
F: "b4@11 a4@10 e4@11", G: "[e5@16 [d5,e5] f#5 g5 f#5 d5 e5@16 d5 e5 f#5 g5 f#5 d5 c5@10 b4@11]/2",
H: "a4@11 e4@12 ~@9", I: "~@15 b4",
J: "e5@7 f#5@2 ~@2 e5 d5@6 ~ f#5@2 e5 d5 c5@5 d5@2 e5@2, ~@9 g5@2 ~@21, ~@5 f#5 ~@3 e5 ~@6",
K: "d#5@9 b4@2 e5@7 ~ g5@2 a5 g5 f#5@5 g5@2 a5@2, ~@9 f#5 ~@6",
L: "g5 e5@6 f#5@2 ~ f#5@11 b5@7 b5@2 a5@2, ~ f#5 ~@7 g5@2 ~@21",
M: "[f#5,g5] e5@6 g5@2 ~ b5@7 ~@2 a5@2 g5 e5@8 g5@2, ~ g5 ~@7 a5@2 ~@7 b5@2 ~@2 f#5 ~@9", // Gmaj7
N: "a5@7 b5@2 c6@2 b5@7 ~ b5@2 a5@7 b5@2 c6@2, ~@9 c6 ~@6", O: "b5@9 b4@2 e5@16 [d5,e5] f#5 g5 f#5 d5",
P: "e5@16 [d5,e5] f#5 g5 f#5 d5 c5@11", Q: "b4@11 a4@10 e4@9 b3@2",
R: "[e4@16 d4 [e4,f#4] g4 ~ d4 e4@16 d4 ~ [f#4,g4] f#4 d4 c4@11 b3@11, ~@19 f#4@2 ~@17 e4@2 ~@24]/2", // Esus2 Gmaj7
S: "a3@5 e4@5 ~@6",
})).s("gm_flute").gain(0.37)
// other · string ensemble 1 · "strings"
const string_ensemble_1 = note("<~@2 A@2 B C@2 D@2 E F@2 G H@2 I@2 J K ~@5 L M B N@2 O@3 P Q@2 R@2>".pickRestart({
A: "[~@11 e5@15 d5 e5 f#5 g5 ~ e5@17 d5 e5 [f#5,g5] f#5 d5 c5@11, ~@15 f#5 ~@16, ~@31 d5 ~@32]/2", // Gmaj7
B: "b4@7 c5@2 d5@2 a4@7 ~ a4@2 e4@9 b4@2, ~@9 g4 ~@6",
C: "[e5@16 d5 e5 f#5 g5 d5 e5@16 d5 e5 f#5 [f#5,g5] ~ d5 c5@10 b4@7 c5@2 d5@2, ~@19 f#5@2 ~@43]/2", // Gmaj7
D: "[a4@7 g4@2 a4@2 e4@10 ~@16 a5@5 ~@17 c6@5, ~@21 a4@21 ~@11 g5@11, ~@27 c#5@15 c5@22, ~@32 e5@11 ~@5 e5@16]/2",
E: "b5@11 a5@10 b5@11", F: "[a5@11 e5@15 d5 e5 f#5 g5 f#5 e5@16 ~ [d5,e5] f#5 g5 f#5 d5 c5@11, ~@31 d5 ~@32]/2",
G: "b4@7 c5@2 ~ a4@8 ~ a4@2 e4@9 b4@2, ~@9 d5@2 ~@7 g4@2 ~@12",
H: "[e5@16 d5 e5 f#5 g5 d5 e5@16 d5 e5 f#5 [f#5,g5] d5 c5@11 b4@7 c5@2 d5@2, ~@19 f#5@2 ~@43]/2", // Gmaj7
I: "[a4@7 ~ a4@2 e4@11 ~@16 a5@5 ~@16 c6@6, ~@7 g4@2 ~@12 a4@21 c5@22, ~@27 c#5@16 ~@10 g5@11, ~@32 e5@11 ~@5 e5@16]/2",
J: "b5@10 a5@11 [e5,b5]@11", K: "[d5,a5]@10 [c5,e5]@21 ~", L: "~@9 b4@2 e5@15 d5 ~ f#5 g5 f#5 d5, ~@27 e5@2 ~@3",
M: "e5@16 d5 [e5,f#5] g5 f#5 ~ c5@11, ~@10 d5 ~@5", // Esus2
N: "[e5@15 d5 ~ [e5,f#5] g5 f#5 d5 e5@16 d5 e5 f#5 [f#5,g5] d5 c5@11 b4@7 c5@2 d5@2]/2", // Esus2 Gmaj7
O: "[a4@7 g4@2 ~ e4@11 ~@16 a5@5 ~@17 c6@5 b5@10 [d5,a5]@11 [e5,b5]@11, ~@9 a4@2 ~@10 a4@20 ~@12 g5@10 ~@33, ~@27 c#5@15 c5@20 ~@34, ~@32 e5@11 ~@5 e5@27 ~@21]/3", // D5 E5
P: "[d5,a5]@5 ~@11", // D5
Q: "[~@16 a5@5 ~@16 c6@6 b5@10 a5@11, ~ a4@20 ~@11 g5@10 ~@22, ~@5 c#5@16 c5@21 ~@22, ~@10 e5@11 ~@5 e5@16 ~@22]/2",
R: "[[e5,b5]@10 [d5,a5]@11 ~@16 e2@13 ~@14, ~@21 [b4,e5]@29 ~@14, ~@32 [e3,e4]@19 ~@13]/2", // E5 D5 E5 E
})).s("gm_string_ensemble_1").gain(0.32)
// chords · acoustic guitar steel · "guitar"
const acoustic_guitar_steel = note("<~ A@2 B C@2 D E@2 F G H I@2 J K@2 L M N@3 O P@2 Q R@2 S T@2 U@2 V@4>".pickRestart({
A: "[~@9 [b3,e4]@2 ~@2 d4 ~@2 d4@2 ~@6 e4 g4 ~@4 [b3,e4]@2 ~@5 a3@2 f#4@2 [a3,d4]@2 ~@3 b3@5 ~@4 d4@6 ~ d4@2, e3@7 g4@5 a3@2 ~ a3@3 f#4@5 b3@2 ~ [b3,e4]@2 g4@6 a3@2 d4@3 ~@4 e4@10 ~ a3@10, ~ g3@9 ~ d3@8 d4@3 g3@10 ~ f#3@8 ~@2 e3@8 ~@2 d3@11, ~@2 b3@2 [b3,g4] b4@8 ~ f#4@2 a4@8 ~@3 b4@8 [d4,f#4]@2 a4@6 ~@9 b4@5 ~@7, ~@3 e4@6 ~@3 f#3@8 a3 e3@9 ~@2 d3@9 ~@4 g3@11 ~@8]/2", // E5 D5 E5 Em D
B: "~@2 e4@6 ~ e4@2 ~ d4@6 ~ d4@2 ~@2 c4@6 ~ c4@2, e3@9 ~@2 [d3,a3]@10 c3@9 ~@2, ~ b3@10 ~@11 g3@8 ~@2", // D5
C: "[~@2 g4@6 ~ g4@2 ~@2 f4@6 ~@20 e4@2 e4@2 ~ d4@6 ~ d4@2 ~@2 e4@6 ~ e4@2, g3@9 ~@2 f3@9 f4@2 b3@7 ~ b3@7 ~ b3@5 ~ a3@9 ~ b3@10, ~ d4@10 ~ c4@9 e3@7 ~ e3@8 e3@4 ~@2 d3@9 ~ e3@9 ~@2, ~@23 e4@8 ~ e4@7 ~@25]/2",
D: "~@2 d4@6 ~ d4@2 ~ c4@6 ~ c4@2 ~@2 g4@6 ~ g4@2, d3@9 ~@2 [c3,g3]@9 ~@2 d4@10, ~ a3@10 ~@10 g3@9 ~@2", // C5
E: "[~@2 f4@5 ~ f4@3 ~ e4@4 ~@2 e4@4 ~@15 e5@3 ~@11 c5@2 ~@7 g4@2 c5@2, f3@8 ~@3 [e3,b3]@5 e3@5 ~@4 e4@7 a3@9 ~@3 c3@18 ~@2, ~ c4@10 ~@6 b3@4 ~ a3@5 a4@7 e4@7 ~@5 g3@16 ~@2, ~@36 a4@6 ~@6 c4@7 c5@2 g4 c4@6, ~@50 g4@2 ~ e5@9 ~@2]/2", // E5
F: "~@2 e4@6 ~ e4@2 ~ a3@7 ~ a3 ~@2 e4@6 ~ e4@2, e3@9 ~@2 d3@9 ~ e3@9 ~@2, ~ b3@10 ~ d4@6 ~ d4@3 b3@10",
G: "~@2 d4@6 ~ d4@2 ~ e4@6 ~ e4@2 ~@2 d4@6 ~ d4@2, d3@9 ~@2 e3@9 ~ d3@9 ~@2, ~ a3@8 ~@3 b3@10 a3@9 ~",
H: "~@2 e4@6 ~ e4@2 ~ d4@6 ~ d4@2 ~@2 c4@6 ~ c4@2, e3@9 ~@2 [d3,a3]@9 ~ c3@9 ~@2, ~ b3@10 ~@11 g3@8 ~@2", // D5
I: "[~@2 g4@6 ~ g4@2 ~@2 f4@5 ~ f4@2 ~@2 e4@5 ~ [b3,e4] b3 ~@3 e4@6 ~ e4@2 ~ d4@6 ~@5 e4@7 e4@2, g3@9 ~@2 [f3,c4]@10 e3@6 ~ e3@4 e3@9 ~@2 [d3,a3]@9 ~ e3@9 ~@2, ~ d4@10 ~@11 b3@6 ~@3 e4@2 b3@8 ~@11 d4@2 b3@10]/2", // E5 F5 D5
J: "~@2 d4@6 ~ d4@2 ~ g3@7 c4@2 ~@2 g4@6 ~ g4@2, d3@9 ~@2 c3@9 ~@2 d4@10, ~ a3@10 ~ c4@6 ~@3 g3@9 ~@2",
K: "[~@2 f4@6 ~ f4@2 ~ e4@5 ~ b3 ~@11 e5@2 ~@9 e5 ~@6 c4@2 ~ g4@2 ~@2 c5@2 ~@3 c5@2 g4@2, f3@9 ~@2 [e3,b3]@6 e3@3 b3@2 ~ a3@11 e5@5 a4@3 ~@4 g3@16 ~@2, ~ c4@9 ~@9 e4@2 e4@15 a4 a3@3 c5@2 ~@8 e4@4 ~@3 [g4,a4]@2 c4@5, ~@27 a4@5 a5@9 ~ a5@4 ~@7 [c4,e5]@4 ~ e5@4 ~@2, ~@29 c5@9 e4@4 ~@2 c3@18 ~@2]/2", // E5 Gsus2 C
L: "~@4 e4@5 e4@2 ~ d4@6 ~ d4@2 ~@2 e4@6 ~ e4@2, e3@9 ~@2 [d3,a3]@9 ~ e3@9 ~@2, ~ b3@4 ~@6 b3@5", // D5
M: "~@2 d4@6 ~ d4@2 ~ e4@4 ~@16, d3@9 ~@2 [e3,b3]@5 ~@16, ~ a3@8 ~@23", // E5
N: "[~@7 g4@2 b3 ~@9 a3@2 ~@20 b3@2 ~@3 g4 ~@4 b3 ~@3 a3 ~ f#4 ~@20 d#4 ~@2 d#4 ~@2 f#4 ~@4 g4 ~@3 b3 ~ b4, e3@10 ~ [d3,f#3]@9 ~ c3@8 g3@2 g4@3 f#3 d#4 f#3@3 d#4@4 ~ g3@8 ~@2 f#3@8 d4@3 e3@9 ~ b2@9 ~@4 e4@4 g4@3 ~, ~ g3@9 ~@2 a3@2 ~ a3@2 f#4@6 g3@2 e4 g3 g4@3 c4@3 d#3@8 ~@2 e3@9 ~ d3@10 ~ c3@8 g3@2 g4@2 ~ b3@3 f#4@3 [b3,d#4]@3 ~ b3@2 ~ b3 b4@4 ~, ~@2 b3 g4 b3 b4@7 ~@2 f#4@2 a4@8 c4@4 e4@6 b3@3 f#4@6 ~ b3@2 ~ b3 b4@6 ~@4 a3 a4@7 ~ c4@4 e4@5 f#3@2 ~ f#3@2 ~ f#3@2 ~@2 g3@8 e4@2, ~@3 e4@6 ~ e4@2 ~ d4@10 e3@9 b2@9 ~@4 e4@5 g4@2 [e4,g4]@3 ~ d4@4 f#4 a3@2 f#4@2 ~ g3 e4 g3 g4@4 c4@3 d#3@8 ~ e3@9 ~@2]/3", // D B Em
O: "~@2 g3 ~@7 e4 ~ a3 ~ g4 ~@3 g4 b3 ~@3 g3 ~@5 g3 ~ g4, c3@10 ~@3 e4@5 ~@2 [e4,g4]@2 ~@2 c4@4 e4@3 ~, ~ e3@9 ~ e3@9 ~ c3@9 ~@2, ~@3 c4@4 e4@2 c4@2 ~ b3@2 ~ b3 b4@4 ~@5 e4 g3 g4@3 c4@2, ~@4 [g3,e4] g4@3 g3@2 ~@2 g3@8 ~@2 e3@8 ~@2", // Em C
P: "[~@2 e3 c#4 ~@9 b3 c#4 b3 f#4@2 d#4 ~@2 d#4 ~@3 e3@2 ~@6 d#3@3 ~ d#4 ~ d#4 ~ d#4 f#4 ~@8 b3 ~@4 a3 ~ a3@2 ~@2 [a3,d4]@2, a2@8 e3@2 ~ d#3@6 ~@5 c#3@9 ~ b2@5 ~@2 b2@5 ~@2 g4@2 b4@6 ~@4 a4@6, ~ c#3@8 ~@2 b2@8 ~@2 a2@8 e3@2 ~@5 [f#3,b3]@3 ~@4 e3@9 ~ d3@9 ~@2, ~@3 a3@4 c#4@2 a3@2 ~ f#3@6 ~ b3@2 ~@2 a3@5 c#4@2 a3@3 ~@7 b3@2 ~@2 g3@8 e4@2 f#3@8 ~@2, ~@4 e3 e4@4 ~ e4@2 ~@8 f#4@2 ~ e3 c#4@2 ~ e4@4 e4@5 ~@2 f#4@2 ~@5 [b3,e4]@2 b3@3 g4@5 ~@2 [d4,f#4]@2 ~ f#4@4]/2", // D5 B5 E5 D
Q: "~@3 e4 ~@5 [b3,e4]@2 ~@8 [a3,d4]@2 ~@9 [g3,c4]@2, e3@9 ~@2 d3@9 ~ c3@7 e4@4, ~ g3@8 ~@3 f#3@8 ~@2 e3@8 ~@2, ~@2 b3@2 [b3,g4]@3 g4@5 a3@2 f#4 a3 a4@6 ~@2 c4@6 ~@2, ~@5 b4@6 ~@2 d4@5 f#4@4 ~ g3@2 e4 g3 g4@5", // E5 D5 C5 Em
R: "[a3 ~@2 g4 ~@5 g4@2 ~@2 e4 g4 ~ b4@2 ~ g4@2 ~@2 b3 e4 b3@2 e4 ~@6 b3 ~@6 e4@2 ~@3 f#4 d4 ~@3 [a3,d4]@2 ~@3 e4 ~@5 b4@2, g3@9 ~@2 f3@10 e3@7 ~ e3@2 ~ e3@9 ~@2 d3@9 ~ e3@9 ~@2, ~ b3@8 ~@2 a3@8 ~@3 g3@7 ~ g3@2 ~ g3@8 b3 ~@2 f#3@8 ~@2 g3@8 ~@2, ~@2 d4@2 b4@2 ~ b4@4 ~@7 a4@3 ~@14 e4@2 b4@6 ~@2 d4@2 ~ a4@6 ~@3 g4@2 b4 g4@4, ~@5 [d4,d5]@5 ~@2 c4@2 ~ c4@5 ~@8 [b3,e4]@3 b3@2 ~@3 b3@3 g4@4 ~ a3@2 ~ a3@3 f#4@4 ~ b3@2 ~ b3@5 ~]/2", // D5 D E5
S: "~@9 d4@2 ~@13 g3 ~@5 b3@2, d3@7 f#4@4 ~@2 c4@2 ~@3 e4@4 ~ d3@2 ~ d3 b3 d3@4, ~ f#3@8 ~@2 [c3,e3]@9 ~ g2@8 g3@3, ~@2 d4@3 a4@5 ~@4 e4@2 g4@4 ~@5 b3@2 d4@4 ~, ~@2 a3 f#4 a3@5 ~@3 g3@2 ~ g3@3 ~@2 [g3,c4]@2 b2@9 ~", // C C5
T: "[~@2 c3@2 ~@6 a3@4 ~@5 g4@2 ~@9 e3@2 ~@18 e4@2 ~ e4@9 ~@2, f2@8 c3@3 ~@7 [b3,e4]@2 ~@8 [a3,c#4]@7 ~@13 g3@2 ~@2 [g3,g4]@3 ~@9, ~ a2@8 ~@14 a2@8 ~@18 c4@5 ~@10, ~@4 f3@3 a3@2 f3@5 ~@2 e3@5 ~@4 c#3@6 ~@13 c3@11 ~@9, ~@4 a3 c3 c4@4 ~@7 g3@4 ~@6 e3@2 ~@17 e3@9 ~@9]/2", // E5 A G
U: "[~@15 f#4 ~@9 g4 ~@15 f#4@2 ~@21, e3@8 e4@4 f#3@7 [d4,f#4]@4 b3@2 ~ b4@3 e4@4 f#3@7 d4@3 ~@21, ~ g3@9 ~ d3@9 ~ e3@9 g4@4 a3@2 [a3,f#4] a4@4 ~@23, ~@2 b3@2 [b3,g4] b4@4 g4@4 a3@2 ~ a4@4 a4@3 ~ e4@2 b3 g4 b3@3 b4@3 ~ d4@3 f#4 a3@4 ~@21, ~@3 e4@3 g4 b3@3 b4@3 ~ d4@2 a3 f#4 a3@4 g3@9 ~ d3@9 ~@23]/2", // D Em
V: "[~@4 c#4 ~@4 e3@2 ~@3 c#4 ~@2 c#4 ~@6 c4 ~@4 d4 e4@2 ~@9 e4@2 ~@3 g4 ~@21 g4 ~@9 f#4 ~@2 f#4 ~@6 e4 ~@4 e4@7 ~@28, ~ a2@9 ~ a2@9 ~ c3@10 ~ c3@7 g3@3 ~@6 b4@3 ~ b4@4 d4@2 a3@2 f#4 [a3,d4]@4 g3@10 d3@8 [d4,f#4]@5 ~ g4 b3 g4 b3@8 ~@28, ~@2 c#3@9 ~ c#3@7 a3@3 ~ g3@2 ~ g3@5 ~@3 g3@2 [g3,e4]@2 e4@2 c4@3 ~ b3@2 ~ b3@2 ~ b3@3 ~ f#3@8 f#4@4 b3@2 ~ b4@3 e4@4 f#3@9 e3@15 ~@28, ~@3 e3@2 e4@8 a3@3 e4@4 c#4@2 ~@3 e4@2 g4@8 c4@2 g4@3 ~@5 e4@4 g4@2 [e4,g4]@4 a3@2 f#4@2 a4@4 a4@4 e4@2 b3 g4 b3@2 g4@3 a3@2 ~ a3@2 ~ a3@4 g3@14 ~@28, ~@4 a3@3 c#4@5 e3@2 ~ e3@2 ~ e3@3 ~ e3@10 ~ e3@7 ~@3 [e3,g3]@10 d3@10 ~ e3@10 b4@3 d4@3 a4@4 a4@3 b3@2 ~ b4@10 ~@28]/4", // D5 D C Em
})).s("gm_acoustic_guitar_steel").gain(0.24)
// other · overdriven guitar · "overdrive gt"
const overdriven_guitar = note("<~@7 A@2 B C ~@4 D@2 E F ~@10 G@2 H I J@2 K@2>".pickRestart({
A: "[~@19 [g4,a4,b4,c5,d5,e5] [a3,b3,c4,d4,e4,f4] [e2,c3,d3,e3,f3,g3] ~@21 [c3,c4]@19 ~@2, ~@21 [a2,a3]@19 ~@24]/2", // Cmaj7 Dm7 C A
B: "[e3,e4]@10 ~ [d3,d4]@8 [d3,d4]@2 [e3,e4]@11", C: "~@9 [g3,a3,b3,c4] [a2,b2,c3,d3,e3,f3] e2 ~@20, [d3,d4]@11 ~@21",
D: "[~@20 [e4,g4,b4,e5,g5,b5,e6] [e2,b2,e3,g3,b3] ~@21 [c3,c4]@19 ~@2, ~@21 [a2,a3]@19 ~@24]/2", // Em C A
E: "[e3,e4]@10 ~ d3@8 ~ d3 [e3,e4]@10 ~, ~@5 d4@5 ~@6", F: "[d3,d4]@9 d3 ~ [e3,e4]@21",
G: "[~@19 e6 [e4,b4,c5,e5,g5,b5] [e2,b2,e3,g3,b3] ~@21 c3@18 ~@3, ~@21 [a2,a3]@19 ~@2 c4@18 ~@4]/2", // Cmaj7 Em A
H: "[e3,e4]@10 ~ [d3,d4]@10 ~ [e3,e4]@10", I: "[d3,d4]@10 ~@20 [a5,c#6] [e3,a3,c#4,e4,a4,c#5,e5], ~@11 [e2,e3]@21",
J: "[[a2,a3]@18 ~@3 [c3,c4]@18 ~@4 [e3,e4]@10 [d3,d4]@9 ~@2, [e2,c#3] ~@63]/2", // A C E D C#m
K: "[[e3,e4]@10 [d3,d4]@10 ~ [e3,e4]@24 ~@19]/2", // E D E
})).s("gm_overdriven_guitar").gain(0.24)
// drums · kick
const kick = s("bd").struct("<~ A@17 B ~ C A@11 D A@2 E ~>".pickRestart({
A: "x ~@8 x ~ x ~@8 x!2 ~@8 x ~", B: "x ~@8 x ~ x ~@20", C: "~@9 x ~ x ~@8 x!2 ~@8 x ~",
D: "x ~@10 x!4 ~ x!2 ~ x ~ x!2 ~ x!2 ~ x!4 ~", E: "x ~@8 x ~ x ~@8 x!2 ~@10",
})).gain(0.58)
// drums · snare
const snare = s("sd").struct("<~ A@17 B ~ C A@11 D A@2 E ~>".pickRestart({
A: "~@5 x ~@10 x ~@10 x ~@4", B: "~@5 x ~@15 x ~@4 x!2 ~@4", C: "~@16 x ~@10 x ~@4", D: "~@5 x ~@26",
E: "~@5 x ~@10 x ~@15",
})).gain(0.58)
// drums · low tom
const low_tom = s("lt").struct(`<
~@15
[~@5 x ~@2]
~@16
[~@12 x ~ x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~ x ~]
~@2
[~@9 x ~@6]
~
>`).gain(0.58)
// drums · mid tom
const mid_tom = s("mt").struct(`<
~@15
[~@6 x ~@2 x ~@6]
~@16
[~@13 x ~@5 x ~@4 x ~@4 x ~@2]
~@2
[~@13 x ~@2 x ~@4 x ~@10]
~
>`).gain(0.58)
// drums · open hat
const open_hat = s("oh").struct("<~@18 [~@27 x ~@4] ~@18>").gain(0.39)
// drums · high tom
const high_tom = s("ht").struct("<~@32 [~@11 x ~@4 x ~@4 x ~@5 x ~@4] ~@4>").gain(0.58)
// drums · crash
const crash = s("cr").struct("<~ A B ~ B A B C B A B ~@2 A B C B A B ~ B ~@3 B ~@2 A B C B D B D B D ~>".pickRestart({
A: "x", B: "~@11 x ~@20", C: "~@21 x ~@10", D: "x ~@20 x ~@10",
})).gain(0.45)
// drums · ride
const ride = s("rd").struct("<A B C D E B C D E B C D F B C D E B G ~ H D I D C D F B C D E J G J E K ~>".pickRestart({
A: "~@21 x ~ x ~ x ~ x!2 ~ x ~", B: "~@2 x ~ x!2 ~ x ~ x ~ x!2 ~ x ~ x ~ x!4 ~ x ~ x ~ x!2 ~ x ~",
C: "x ~ x ~ x!2 ~ x!3 ~@2 x ~ x ~ x ~ x ~ x!2 ~ x ~ x ~ x!4 ~",
D: "x ~ x ~ x!2 ~ x ~ x ~ x!2 ~ x ~ x ~ x!4 ~ x ~ x ~ x!2 ~ x ~",
E: "x ~ x ~ x!2 ~ x!3 ~@2 x ~ x ~ x ~ x ~ x!2 ~ x ~ x ~ x!2 ~ x ~",
F: "x ~ x ~ x!2 ~ x!3 ~ x!2 ~ x ~ x ~ x ~ x!2 ~ x ~ x ~ x!2 ~ x ~", G: "x ~ x ~ x!2 ~ x!3 ~@22",
H: "~@7 x!3 ~@2 x ~ x ~ x ~ x ~ x!2 ~ x ~ x ~ x!2 ~ x ~",
I: "x ~ x ~ x!2 ~ x!3 ~ x!2 ~ x ~ x ~ x ~ x!2 ~ x ~ x ~ x!4 ~",
J: "~@2 x ~ x!2 ~ x ~ x ~ x!2 ~ x ~ x ~ x!3 ~@2 x ~ x ~ x!2 ~ x ~", K: "~@2 x ~ x!2 ~ x ~ x ~ x!2 ~ x ~ x ~ x!4 ~@10",
})).gain(0.45)
stack(
bass, pad_warm, flute, string_ensemble_1, acoustic_guitar_steel, overdriven_guitar, kick, snare, low_tom, mid_tom,
open_hat, high_tom, crash, ride
)
More by Nomadi
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.