0:00/0:00
// Il mio nome e mai piu — LIGABUE
// 97 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 109 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(97/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 · electric bass finger
const bass = note(`<
A B@2 C D E F E G H I J K H L M N O P Q R H I J S T U V W X Y Z W X AA AB I J K AC L M N O P Q R H I J S AD AE AF AG
AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI AF AG AH AI AJ AK AL AM AF BJ BK
BL BM BN BO AM AF BJ BK BP BM BN BO BQ BR@2
>`.pickRestart({
A: "~@13 a1 c2@2", B: "a1@2 g1@2 c2@2 a2@7 a1 c2@2", C: "a1@2 g1@2 c2@2 a2@7 c2 c2@2", D: "a1@2 g1@2 a1@2 e1 ~@9",
E: "a1!8", F: "a1!5 a2@3", G: "a1@2 a2 g2 e2 g2 c3@2 a2@4 g2 a2 d2 e2", H: "a1 g1 a1 ~@2 g1 a1 g1 a1@2 ~@2 c2 a1@2 ~",
I: "f1 ~ f1@2 ~@5 f1 g1@2 a1@2 c2@2", J: "c2 a1 c2@2 ~ a1 c2 a1 c2 ~@2 c2!2 d2@2 d2", K: "g1@2 g1@2 ~@2 g2 a2@5 g2@4",
L: "f1@2 f1 ~@7 f1@2 ~ g1@2 ~", M: "c2 a1 c2@2 ~ a1 c2 a1 c2 ~@3 c2 d2@2 d2",
N: "g1@2 g1 ~ g2 a2 c3 d3 d3@2 c3 ~ a2 g2 a2 ~", O: "a1@2 e2@2 f#2@2 g2@4 a2@5 ~",
P: "f1@2 f1@2 f1@2 f1@3 f1 f1@2 f1@2 g1@2", Q: "c2@2 c2@2 ~@2 c2@3 c2 c2@2 c2@2 d2@2", R: "g2!2 ~ g2@5",
S: "g1!2 ~ g1 ~ b1 d2 g2", T: "d2@3 g2 f#2@4", U: "d2@5 g2@3 f#2@8", V: "a1@2 a1@2 a1@2 a1@2 a1@2 e2@4 e2 d2",
W: "f1!7 g1", X: "c2@2 c2@2 c2@2 c2@2 c2@2 c2@2 c2@2 c2 d2",
Y: "g1@2 g1@2 g1@2 g1 a1 b1 ~ g#2 b2 d3@2 b2@2, ~@9 e2@2 ~@5", Z: "a1@2 a1 ~ a1@2 a1@2 a1 ~ a1 ~ a1 ~ a1 c2",
AA: "g1@2 g1 ~ g1@2 g1 ~ g1@2 g2@2 g#1@2 g#2@2", AB: "a1@2 ~@10 c2 a1@2 g1",
AC: "a1 g1 a1 ~@2 g1 a1 g1 a1@2 ~@2 c2 a1@2 g1", AD: "[d2,d3]@3 [g2,g3] [f#2,f#3]@4",
AE: "[d2,d3]@2 [d2,d3]@3 [g2,g3]@3 [f#2,f#3]@8", AF: "a1 g1 a1@2 ~ g1 a1 ~ a1@2 ~ a1 c2!2 a1 g1",
AG: "f1 e1 f1@2 ~ e1 f1 ~ f1@2 ~@2 e1 f1@2 ~", AH: "c2 b1 c2@2 ~ c2!2 b1 c2@2 ~@2 c2!3 a1",
AI: "g1 f1 g1 ~@2 f1 g1@2 g1@2 g1@2 g#1@2 g#1 ~", AJ: "a1 g1 a1@2 ~ g1 a1 g1 a1 ~@3 c2 b1 a1 g1",
AK: "f1 e1 f1@2 ~ e1 f1 e1 f1 ~@3 f1@2 g1@2", AL: "c2 b1 c2@2 ~ b1 c2 b1 c2 ~@2 g1 c2!3 a1",
AM: "g1!2 g1@2 ~@2 g1@2 g#1 ~ e2 ~ d2 c2 a1 g1", AN: "a1 c2 a1@2 g3 ~ a3@4 g3@2 d3 c3 a2@2", AO: "~@15 g2",
AP: "a2 c3 ~ c3 g3 c3 a3@4 g3@4 ~@2", AQ: "~@7 e2", AR: "a1@2 ~@6 c2@2 d2@2 c2@3 ~", AS: "~@6 c2@2 d2@4 c2@3 ~",
AT: "~@6 c2@9 ~", AU: "~@5 e2@7 d2@4", AV: "~@3 c2@3 g1 a1", AW: "~@3 c2@2 ~ g1 e2", AX: "d2@4 ~@2 c2@5 ~ g1@2 a1@2",
AY: "a1@2 ~@6 a1@2 c2@2 d2@3 ~", AZ: "a1 g1@3 ~@3 a1 c2 d2 e2@2 g1@4", BA: "a1@2 g1@2 ~@6 d2@3 c2@3",
BB: "a1@2 g1@2 ~@3 a1 c2 d2 [d2,e2] ~ g1@4", BC: "a1@2 g1@2 ~@4 d2@3 c2@2 b1@2 ~", BD: "a1 ~ c2@2", BE: "f1@2 ~ c2@5",
BF: "g1 ~@5 c2@9 ~", BG: "f1@2 ~@3 e2@3 d2@4 c2@3 ~", BH: "[d2,d3]@2 [g2,g3] [f#2,f#3]@4 ~",
BI: "~ d2 e2 ~ d2 c2 a1 g1 a1 c2 ~ c2 g2 c2 a2@2", BJ: "f1 e1 f1@2 ~ e1 f1 ~ f1@2 ~ f1!2 ~ g1@2",
BK: "c2 b1 c2@2 ~ b1 c2 b1 c2@2 ~ b1 c2 b1 c2 a1", BL: "g1 f1 g1 ~@2 f1 g1@2 g2@2 g2@2 g#2@2 g#2@2",
BM: "a2 e2 a1@2 ~ g1 a1 g1 a1 ~@2 a1 c2 b1 a1 g1", BN: "f1 e1 f1@2 ~ e1 f1 e1 f1 ~@2 f1 f1@2 g1@2",
BO: "c2 b1 c2@2 ~ a1 c2 a1 c2 ~@2 g1 c2!3 a1", BP: "g1 f1 g1 ~@2 f1 g1@2 g1@2 g2@2 g#1@2 g#2@2",
BQ: "g1 f1 g1@2 ~@2 g1@10", BR: "[a1@31 ~]/2",
})).s("gm_electric_bass_finger").gain(0.68)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
~ A B@2 A C D E F G H I J K L M N K O P N G H I J Q R G H I J G H I S T H I J K L M N K O P N G H I J Q R G H I J G H
I S U V W X G H Y Z K AA AB AC G AD AE J K AA AB AC Q R G H I J G H I S G H I J G H I S G H I J G H I S AF@2
>`.pickRestart({
A: "[e2,a2]!16", B: "[e2,a2] ~ [e2,a2] ~ [e2,a2] ~ [e2,a2]!10",
C: "[e3,a3,c4]!3 [e3,a3,c4]@2 [e3,a3,c4]!2 [e3,a3,c4]@2 [e3,a3,c4]!7", // Am
D: "[e3,a3,c4]!3 [e3,a3,c4]@2 [e3,a3,c4]!6 [a3,c4,e4]!3 [a3,c4] [e3,a3,c4]", // Am
E: "[e3,a3,c4]@2 ~ a3 [e3,a3,c4] [e3,a3,c4]@2 [e3,a3,c4]@2 [e3,a3,c4]!3 [a3,c4,e4]!4, ~ [e3,a3,c4] ~@6", // Am
F: "a3 [e3,a3,c4]!6 [e3,a3,c4]@2 [e3,a3,c4]!3 [a3,c4,e4]!4", // Am
G: "[a3,c4]@2 [a3,c4]@2 [c3,e3,a3,c4]@3 [c3,e3,a3,c4] ~ [c3,a3,c4] ~ [a2,c3] [c3,a3,c4]@3 [c3,e3,a3,c4], [c3,e3]@2 ~@2 [a2,e3] [c3,e3,a3,c4] ~@2", // Am F Am F Am C A5 Am
H: "[f3,a3]@2 [f2,c3]@4 [f3,a3,c4] ~@2 f3 [f3,c4] ~@3 [f3,c4]@2, c4@5 ~@2 [f3,a3,c4]@2 a3@3 [f3,a3,c4]@2 ~@2, ~@8 c4@2 ~ [f2,c3]@2 a3@3", // F F5 F F5 F F5
I: "e3@2 [g2,c3]@4 [e3,g3,c4] ~@2 e3 [e3,c4] ~@3 [e3,c4]@2, [g3,c4]@6 ~ [e3,g3,c4]@2 g3@3 [e3,g3,c4]@2 ~@2, ~@8 c4@2 ~ [g2,c3]@2 g3@3", // C5 C C5 C C5
J: "g2@2 g2@2 [d3,g3,d4,g4]@3 [d4,g4] ~ [d4,g4] [d4,g4]@2 [d4,g4]@3 [g3,d4,g4], d3@4 ~@3 g3@8 ~, ~@8 d3@3 ~@5", // G5
K: "a2@2 a2@2 [a3,c4,e4]@3 [a3,c4,e4] [e3,a3] ~@2 [a3,c4,e4] [a3,c4,e4]@3 [a3,c4,e4], e3@7 ~@2 [a3,c4,e4]@2 ~@5, ~@10 e3@3 ~@3", // Am A5 Am
L: "~@2 [f2,c3]@2 [f3,a3,c4,e4]@3 [a3,c4,e4] ~ [a3,c4] [a3,c4,e4]@2 [a3,c4,e4]@2 [f3,a3,c4]!2, [f3,a3,c4,e4]@2 ~@2 [f2,c3] ~@3", // F5 Fmaj7 Am F Fmaj7 F5
M: "[e3,g3,c4]@4 [e3,g3,c4]@3 [g3,c4,e4] ~ [g3,c4,e4] ~@2 [g3,c4,e4]!2 ~ [g2,c3], ~@8 g2@7 ~, ~@4 c3 [g3,c4,e4] ~ [g3,c4,e4], ~@11 c3@3 ~@2", // C C5 C
N: "~@2 [b3,d4,g4]@2 [b3,d4,g4]@3 ~ [g3,d4,g4]!2 [g3,d4,g4]@2 [g3,d4,g4]!3 [b3,d4,g4], [b3,d4,g4] ~@7, ~ g3@7 ~@2 d3@6", // G G5 G
O: "c3@2 c3@2 [f3,a3,c4]@3 [a3,c4] ~ [a3,c4] [f3,a3,c4]@2 [f3,a3,c4]@2 [f3,a3,c4]!2, f2@2 ~@2 [f2,c3] ~@3", // F Am F F5
P: "[e3,g3,c4]@4 [e3,g3,c4]@3 [g3,c4,e4] ~ [g3,c4,e4] ~@2 [g3,c4,e4]!2 ~ [g2,c3], ~@8 g2@7 ~, ~@4 c3 [g3,c4,e4] ~ [g3,c4,e4], ~@11 c3@2 ~@3", // C C5 C
Q: "[a2,d4]@2 [a2,d4]@2 [a3,d4,g4]@3 [d4,g4] ~ [d4,g4] d4@2 d4@3 [a3,d4,f#4], d3@4 ~@3 a3@8 ~, ~@8 d3@2 f#4@5 ~", // D5 Dsus4 G5 D
R: "[a3,d4,g4]@2 ~@2 d3@3 [a3,d4,f#4]@4 [a2,d3] [a3,d4,f#4] a2 [a3,d4,f#4]!2, ~@2 [a3,d4,g4]@5 ~@9, ~@4 a2@7 ~@2 d3@3", // Dsus4 D D5 D Dsus4
S: "g2@2 g2@2 [d3,g3,d4,g4]@3 [d4,g4] ~ [d4,g4] [d4,g4]@2 [d4,g4]@2 [b3,d4,g#4] ~, d3@4 ~@3 g3@7 ~@2, ~@8 d3@3 ~@5", // G5 G#dim
T: "[c3,e3,a3,c4]@2 [e2,a2]!12 [c3,e3,a3,c4]@2", U: "[e3,a3,e4,a4]@12 ~@3 [e3,a3,c4,e4]",
V: "[e3,a3,c4,e4]!2 [e3,a3,c4,e4]@7 ~ [e3,a3,c4,e4] ~ [e3,a3,c4,e4] ~@2 [e3,a3,c4,e4]", // Am
W: "[e3,a3,c4,e4]!2 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@3 [e3,a3,c4,e4] [e3,a3,c4,e4]@4 ~ [e3,a3,c4,e4]", // Am
X: "[e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4] [e3,a3,c4,e4]@2 [e3,a3,c4,e4]!7", // Am
Y: "d3@2 [g2,b2]@4 [d3,g3,d4] ~@2 d3 [d3,d4] ~@3 [d3,d4]@2, [g3,d4]@6 ~ [d3,g3,d4]@2 g3@3 [d3,g3,d4]@2 ~@2, ~@8 d4@2 ~ [g2,b2]@2 g3@3", // G G5 D G5 G
Z: "f2@2 f2@2 [c3,f3,c4,f4]@3 [c4,f4] ~ [c4,f4] [c4,f4]@2 [c4,f4]@3 [f3,c4,f4], c3@4 ~@3 f3@8 ~, ~@8 c3@3 ~@5", // F5
AA: "~@2 [f2,c3]@2 [f3,a3,c4,f4]@3 [a3,c4,f4] ~ [a3,c4] [a3,c4,f4]@2 [a3,c4,f4]@2 [f3,a3,c4]!2, [f3,a3,c4,f4]@2 ~@2 [f2,c3] ~@3", // F5 F Am F F5
AB: "[d3,g3,d4]@4 [d3,g3,d4]@3 [g3,d4,g4] ~ [g3,d4,g4] ~@2 [g3,d4,g4]!2 ~ [g2,b2], ~@8 g2@7 ~, ~@4 b2 [g3,d4,g4] ~ [g3,d4,g4], ~@11 b2@3 ~@2", // G5 G G5
AC: "~@2 [a3,c4,f4]@2 [a3,c4,f4]@3 ~ [f3,c4,f4]!2 [f3,c4,f4]@2 [f3,c4,f4]!3 [a3,c4,f4], [a3,c4,f4] ~@7, ~ f3@7 ~@2 c3@6", // F F5 F
AD: "[g3,b3]@2 [g2,d3]@4 [g3,b3,d4] ~@2 g3 [g3,d4] ~@3 [g3,d4]@2, d4@5 ~@2 [g3,b3,d4]@2 b3@3 [g3,b3,d4]@2 ~@2, ~@8 d4@2 ~ [g2,d3]@2 b3@3", // G G5 G G5 G G5
AE: "c3@2 [f2,a2]@4 [c3,f3,c4] ~@2 c3 [c3,c4] ~@3 [c3,c4]@2, [f3,c4]@6 ~ [c3,f3,c4]@2 f3@3 [c3,f3,c4]@2 ~@2, ~@8 c4@2 ~ [f2,a2]@2 f3@3", // F F5 C F5 F
AF: "[a3@3 ~, e3@11 ~@5, c4@9 ~@7]/2",
})).s("gm_acoustic_guitar_steel").gain(0.31)
// chords · string ensemble 2
const string_ensemble_2 = note(`<
~@27 A B C D A B C D ~@18 A B C D A B C D ~@12 E@4 ~@4 E@2 A B C D A B C D A B C D A B C D A B C D A B C D F@2
>`.pickRestart({
A: "[a2,c4]", B: "[f2,a3]", C: "[c2,e3]", D: "[g2,b3]", E: "[a2@31 ~]/2", F: "[a2,c4]/2",
})).s("gm_string_ensemble_2").gain(0.46)
// chords · pad sweep
const pad_sweep = note("<~@73 A@4 ~@5 B ~@11 C D ~@3 E F G H I F G J K@2>".pickRestart({
A: "[~@16 g3@16 f3@16 g3@15 ~, a3@63 ~]/4", B: "[d5,a5]", C: "~@5 e4@3", D: "a4@5 ~@11", E: "c5", F: "f4", G: "c4",
H: "g4@3 g#4", I: "a4", J: "[g4,d5]@15 ~", K: "[[e4,a4]@7 ~]/2",
})).s("gm_pad_sweep").gain(0.42)
// other · distortion guitar
const distortion_guitar = note(`<
~ A B C D E@4 ~@3 F G H I J K L M N O P Q R S T U V W X U V W X Y ~@2 Z AA AB AC AD AE AF AG AH AI AJ Q R AK AL U V W
X U V W X ~ AM ~ E ~@16 AN AO U V W X U V W X U V W X U V W X E@8 AP@2
>`.pickRestart({
A: "~@2 g5 ~@3 g5 ~@3 g5 ~@2 g5!3", B: "~@2 g5 ~@2 g5!3 ~@2 g5 ~@2 g5 ~ g5",
C: "~ g5!2 e5!3 ~ g5!2 e5!3 ~ [e4,b4] ~ [b4,e5]", // E5
D: "[e4,b4] [b4,e5] ~ e5!4 [e5,b5] ~@2 e3 [e3,a3] ~ a3 ~ a3, ~@3 b4@3 b4@3 [e3,a3]@2 ~ [e3,a3]@2 [e3,a3]@2", // E5 A5
E: "c4@2 g4 ~ a3 ~ e4@9 ~", F: "~@12 g4!2 e4!2", G: "e4!10 [a3,e4] e4!2 ~ e4 ~",
H: "e4!8 [e4,d#6]!2 [a3,e4,d#6] [e4,d#6]!2 d#6 [e4,d#6] d#6", // Emaj7 A Emaj7
I: "[e4,d#6]!10 [c4,e4,d#6] [e4,d#6]!2 d#6 [e4,d#6] d#6", J: "[g3,d#6] d#6!4 ~@11", K: "c4 d4!2 c4@2 d4 d4@2",
L: "f3@2 ~@2 d4@3 ~@5 c4@2 c4@2, ~@2 g3@5 d4@5 ~@4, ~@5 f3@3", M: "g3!2 d4 d4@2 [g3,c4] ~ g3, ~@3 c4",
N: "d4@5 ~ d4@5 c4!3 b3!2", O: "e4!4 a3 ~@5 [a2,e3] ~ [a1,e2] [a2,e3] ~@2",
P: "e4!4 a3@2 ~@4 [f2,c3] ~@2 [f2,c3] ~ c3, f2@3 ~@13", Q: "~ e4!3 a3 ~@5 a2 ~@2 a2 ~ e4, [g2,e4] ~@7",
R: "e4!4 a3 ~@5 [g2,d3] ~@2 [g2,d3] ~@2", S: "d3!5 ~@3 d3!5 ~@3",
T: "[d3,g3] d3 [d3,g3] d3 [d3,g3] d3 ~@2 [d3,f#3] d3 [d3,f#3] d3 [d3,f#3] ~@3", U: "a2", V: "f2", W: "c3",
X: "a2!8 g#2!8", Y: "a3!9 ~@7", Z: "~@15 e4", AA: "a3 e4!3 a3 ~@5 a2 ~ a2 ~ a3!2", AB: "e4!4 a3 ~@5 a2 ~ a2 ~@2 e4",
AC: "a3 e4!3 a3!2 ~@4 a2!4 ~ c3, f2@3 ~@13", AD: "e4!4 ~@6 a2 ~@2 a2 ~ g3",
AE: "a3@2 g4@2 c4 ~@5 g2 ~@2 g2 ~@2, ~@6 e4@9 ~", AF: "f2@15 ~", AG: "c4@2 g4 ~ g3 ~ e4@9 ~",
AH: "d4@5 ~@3 e4@4 e4@4", AI: "a2@9 ~ a2 ~ a2 ~@3", AJ: "e4!4 a3@2 ~@4 f2 ~ f2 ~@2 c3, f2@3 ~@13",
AK: "d3!7 ~ d3!6 ~@2", AL: "d3!6 e4@2 d3!4 [e2,e4]@4, e4@4 d4@3 ~ d4@4 d3 ~@3", AM: "c4@2 g4 ~ a3 ~ e4@8 ~@2",
AN: "[g3,c4] [a3,d4] a4 d5@5", AO: "[g3,c4] [a3,d4] a4 f#5@2 d5@3", AP: "[a2,e3]/2",
})).s("gm_distortion_guitar").gain(0.23).pan(0.1)
// other · distortion guitar · soft notes
const distortion_guitar_soft = note("<~ A B C D ~@7 E F G H I ~@18 J ~@15 K ~@57>".pickRestart({
A: "~@5 g5 ~@10", B: "~@14 g5 ~", C: "~@14 b4 ~", D: "~@8 [e5,b5] ~@7", E: "~@11 d4 ~@4",
F: "~ a3!9 ~ a3!2 [a3,e4] a3 [a3,e4]", G: "a3!10 ~ a3!2 [a3,e4] a3 [a3,e4]", H: "c4!10 ~ c4!2 [c4,e4] c4 [c4,e4]",
I: "d4 [g3,d4]!4 [g3,d4,d#6]!5 ~@6", J: "~@9 a3!7", K: "~@14 d3 ~",
})).s("gm_distortion_guitar").gain(0.15).pan(0.1)
// chords · electric guitar clean
const electric_guitar_clean = note(`<
~@16 A B C D@2 ~@6 E F G H E F G I J ~@6 K@2 L D@2 ~@6 E F G H E F G I J ~@3 M N O P Q R S T@2 U V W Q R S X Y Z E F G
H E F G I E F G H E F G I E F G H E F G I AA ~
>`.pickRestart({
A: "~@15 e3", B: "[a3,c4,e4]@15 ~", C: "f3@2 g3@4 f3@2 g3@5 e3@2 c3",
D: "[[e3,g3,c4]@13 ~@3 [d3,g3,d4]@16, ~@14 g2@5 ~@13]/2", E: "a2@2 a2!2 ~ a2!2 ~ a2@2 a2@2 c3@2 a2@2",
F: "a2@2 a2!2 ~ a2!3 ~ a2 a2@2 c3@2 a2 ~", G: "a2@2 a2!2 ~ a2!2 ~ a2@2 a2@2 c3@2 a2 ~",
H: "a2@2 a2@2 c3@2 a2@2 a2 ~ a2@2 c3@2 a2@2", I: "a2@2 a2@2 c3@2 a2@2 a2 ~ a2@2 d3@2 g#2@2", J: "a3@2 a3 ~@13",
K: "[~@15 e3 [c4,e4]@15 ~, ~@15 a3@15 ~@2]/2", L: "f3@2 ~@2 d4@2 f3@2 ~@2 c4@3 e3@2 c3, ~@2 g3@4 ~@2 g3@5 ~@3",
M: "[c4,e4]@2 ~ [c4,e4] ~@2 [c4,e4]@2 ~ [e4,a4]@3 ~@2 [d3,g3]!2", // C A5 G5
N: "[a3,c4,f4]!2 ~ [a3,c4,f4] ~@2 [a3,c4,f4]@2 [a3,c4] [a3,c4,f4] [c4,f4] [a3,c4,f4]@2 [a3,c4,f4]!2 ~", // F Am F F5 F
O: "[b3,d4,g4]!2 ~ [b3,d4,g4] ~@2 [d3,g3]@3 ~ [b3,d4,g4]@2 [b3,d4,g4]!4", // G G5 G
P: "[a3,c4,f4]@2 ~ [a3,c4,f4] ~@2 [a3,c4,f4] ~@2 [a3,c4,g4] ~ [a3,c4,f4] ~@3 c4, ~@7 [a3,c4,g4]", // F Am7 F Am7
Q: "[a3,c4,e4]@3 [a3,c4,e4] ~@2 [a3,c4,e4] ~@3 [a3,c4,e4] ~@2 [a3,c4,e4]@3", // Am
R: "~@3 [c4,f4]@2 ~ [a3,c4,f4] ~ [c4,f4] [c3,f3] [c4,f4] [c3,f3] [c4,f4] [c4,f4]@3, f2@2 f3@3 ~@11, ~ c3@2 ~@13", // F5 F F5
S: "[d3,g3]@2 ~ [g3,d4] ~@2 [d4,g4]@2 ~@2 [d4,g4] ~ [d4,g4] g3@2 ~, ~@4 [d4,g4] ~@3, ~@9 g3@2 g3@2 ~@3", // G5
T: "[[f3,c4,f4]@3 [f3,c4,f4] ~@2 [c4,f4]@2 ~ [f3,c4,f4] ~@2 [c4,f4] [c4,f4]@2 e3 [c4,e4]@3 c4@3 e4 ~@2 [e4,a4]@3 ~@2 [g3,b3]!2, ~@12 f3@3 a3@15 ~@2, ~@19 e4 ~@2 c4@8 ~@2]/2", // F5 C A5 G
U: "[b3,d4,g4]!2 ~ [b3,d4,g4] ~@2 [b3,d4,g4]@2 [b3,d4] [b3,d4,g4] [d4,g4] [b3,d4,g4]@2 [b3,d4,g4]!2 ~", // G Bm G G5 G
V: "[a3,c4,f4]!2 ~ [a3,c4,f4] ~@2 [a2,f3]@3 ~ [a3,c4,f4]@2 [a3,c4,f4]!3 [a#3,c#4,f#4]", // F Dm F F#
W: "[b3,d4,g4]@2 ~ [b3,d4,g4] ~@2 [b3,d4,g4] ~@2 [b3,d4,a4] ~ [b3,d4,g4] ~@3 d4, ~@7 [b3,d4,a4]", // G Bm7 G Bm7
X: "[f3,c4,f4]@3 [f3,c4,f4] ~@2 [c4,f4]@2 ~ [f3,c4,f4] [a3,c4,f4] [c4,g4] [a3,c4,g4]!3 [c4,g4]", // F5 F C5 Am7 C5
Y: "[f#3,d4]@2 ~@4 [c4,f#4]@2 ~ [d4,a4]@3 ~@3 [g3,b3]", // D Cdim D5 G
Z: "~ [b3,d4,g4] ~ [b3,d4,g4] ~@2 [b3,d4,g4]@2 [b3,d4] [b3,d4,g4] [d4,g4] [b3,d4,g4]@2 [b3,d4,g4]!2 ~", AA: "a2@15 ~",
})).s("gm_electric_guitar_clean").gain(0.19).pan(0.9)
// chords · pad warm
const pad_warm = note(`<
~ A@4 B@4 C D E F C D E F G H I J C D E F K@2 ~@6 L M N D E F C D E F G O P Q C D E F K@2 ~@6 L M R@3 S G H J H G H J
H T U T U G H J H K@2 ~@6 L M ~@6 L M ~@6 V M W@2
>`.pickRestart({
A: "[a1@63 ~]/4", B: "[[a1,c4]@63 ~]/4", C: "[a2,e3]", D: "[f2,c3]", E: "[c2,e3]", F: "[g2,d3]", G: "[a2,c4]",
H: "[f2,a3]", I: "[c3,e4]", J: "[g2,b3]", K: "[d3@3 g3 f#3@4 d3@3 g3 f#3@4, d2]/2", L: "~@6 b3@9 ~", M: "a3 g#3",
N: "[a2,e3] ~@7", O: "f3@3 d4@3 c4@2, f2", P: "c4@3 d4@3 c4@2, c3", Q: "b3@2 d4 c4, g2", R: "[a2, e3 ~@23]/3",
S: "[e3,a3]", T: "[a3,c4]", U: "[b3,d4]", V: "e5@5 ~ g5@7 ~@3", W: "[a3@5 ~@3]/2",
})).s("gm_pad_warm").gain(0.25)
// other · overdriven guitar
const overdriven_guitar = note(`<
~ A B ~@2 A B ~@6 A B ~@5 C D ~@3 E F G H I J G H I K L ~@3 M B ~@4 N O P Q ~@2 R S G H I J G H I K T U V ~@17 W X G H
I J G H I K G H I J G H I K G H I Y Z AA I K AB@2
>`.pickRestart({
A: "~ a1!14 ~", B: "a1 ~@15", C: "~ [g2,d3]!14 ~", D: "[g2,d3] ~@15", E: "~@15 e3",
F: "g3!8 [f#3,d4]!2 ~ [f#3,d4] ~ [f#3,d4] ~ [f#3,d4]", G: "a2@2 a2@2 c3@2 a2@2 a2@2 a2@2 c3@2 a2 ~",
H: "a2 ~ a2@2 c3@2 a2@3 ~ a2@2 c3@2 a2 ~", I: "a2 ~ a2@2 c3@2 a2@2 ~@2 a2@2 c3@2 a2 ~",
J: "a2@2 a2@2 c3@2 a2@3 ~ a2@2 c3@2 a2@2", K: "a2@2 a2@2 c3@2 a2@3 ~ a2@2 d3@2 e3@2", L: "[a2,e3]@2 [a2,e3] ~@13",
M: "~ a1!12 ~ a1 ~", N: "c2@7 ~", O: "~ [g2,d3]!12 d3 [g2,d3] ~", P: "[a2,e3]!13 e3 [a2,e3] ~", Q: "[a2,e3] ~@15",
R: "d3!16", S: "d3!8 [d3,d4]!2 d4 [d3,d4] ~ [d3,d4] ~ [d3,d4]", T: "~@2 a3 ~ a3!12", U: "a3!16",
V: "a3!3 ~ a3 ~ a3 ~@9", W: "b3 c4@3", X: "~@6 g4!3 e4!7, d2", Y: "a2@2 a2@2 c3@2 a2@3 [a3,d4]!7",
Z: "[g3,c4]!12 [g3,c4]@2 a2 ~", AA: "e5!12 e5@2 a2 ~", AB: "[a1@31 ~]/2",
})).s("gm_overdriven_guitar").gain(0.22).pan(0.8)
// other · overdriven guitar · soft notes
const overdriven_guitar_soft = note(`<
~ A ~@3 A ~@7 A ~@6 B ~@4 C D ~@12 E ~@6 F G ~@4 H ~@8 I ~ J K ~@44
>`.pickRestart({
A: "~@15 a1", B: "~@15 [g2,d3]", C: "~@14 d3 ~", D: "~@10 [f#3,d4] ~ [f#3,d4] ~ [f#3,d4] ~", E: "~@13 a1 ~ a1",
F: "~@13 g2 ~ [g2,d3]", G: "~@13 a2 ~ [a2,e3]", H: "~@10 d3 ~ [d3,d4] ~ [d3,d4] ~", I: "a3!2 ~ a3 ~@12",
J: "~@3 a3 ~ a3 ~ a3!9", K: "a3!16",
})).s("gm_overdriven_guitar").gain(0.15).pan(0.8)
// drums · kick
const kick = s("bd").struct(`<
A B C D E F@3 G F@7 E F@3 H F@4 I J K L M N K O M P Q F@5 R S F@3 H F@4 I T K L M U K O M P O V W X Y@2 Z Y F@2 Z E
Y@2 Z Y F@2 Z E I AA K L M AB K O M P K L M AC K O M AD K L M AC K O M AE AF ~
>`.pickRestart({
A: "~@11 x ~ x ~ x", B: "x ~ x ~@5 x ~@2 x ~ x ~ x", C: "x ~ x ~@5 x ~@2 x ~ x!2 ~", D: "x ~@7 x ~@2 x ~ x ~ x",
E: "x ~ x ~@6 x ~ x ~ x ~ x", F: "x!2 ~@2 x!2 ~@2", G: "x ~ x ~@4 x ~@4 x ~@3", H: "x ~@3 x ~@2 x ~ x ~@6", I: "x!4",
J: "x!2 ~ x!2 ~@2 x ~ x!2 ~ x ~@2 x", K: "x ~ x ~@5 x ~ x ~@4 x", L: "x ~ x!2 ~@4 x ~ x ~@5",
M: "x ~ x ~@4 x!2 ~ x ~@3 x ~", N: "x ~ x ~@5 x ~@2 x ~@2 x ~", O: "x ~@2 x ~@4 x ~ x ~@5",
P: "x ~@2 x ~@4 x ~@3 x ~ x ~", Q: "x ~@14 x", R: "x ~ x ~@5 x ~ x ~@2 x ~@2", S: "x ~ x ~@8 x ~@4",
T: "x!2 ~@2 x ~@2 x ~ x ~@2 x ~@2 x", U: "x ~ x ~ x ~ x ~ x ~@2 x ~@2 x!2", V: "x ~@2 x ~@3 x ~@2 x ~@5",
W: "x ~@2 x ~@4 x ~@2 x ~@4", X: "x ~@2 x ~@3 x ~@5 x ~@2", Y: "x!2 ~@3 x ~@2", Z: "x ~@2 x ~@6 x ~@5",
AA: "x!2 ~ x ~ x ~ x ~ x ~@2 x ~@2 x", AB: "x ~@2 x ~@4 x ~@2 x ~@2 x ~", AC: "x ~@3 x ~@2 x ~@3 x ~@2 x ~",
AD: "x ~ x ~@5 x!2 ~@2 x ~ x!2", AE: "x!2 ~ x ~@10 x ~", AF: "x",
// … 111 more lines
More by LIGABUE
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.