0:00/0:00
// Sai che e un attimo — Paola Turci
// 112 bpm, 4/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 5 choir aahs (copy of ch 16 piano)
// note: Full arrangement: all 136 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 29, guitar program 27, guitar program 28.
setcpm(112/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.
// other · piano
const piano = note(`<
~@41 A B C D ~@2 E F A B C D ~@2 E F ~@22 G H A B C D ~@2 E F ~ I@3 J@2 K@2 ~@5 A B C D ~@2 E F A B L D ~@2 E M ~@18
>`.pickRestart({
A: "~@4 c#5@9 ~ c#5@2", B: "d#5@2 a#4@3 ~ a#4@5 ~@5", C: "~@4 c#5@3 ~ c#5@5 ~ c#5@2", D: "d#5 a#4@2 a#4@2 ~@3",
E: "~@2 b4 d#5!5", F: "d#5@2 d#5@2 c#5@2 c#5@2 a#4@2 a#4@2 g#4@3 ~", G: "c#4@2 d#4@2 d#4@2 f#4@2 f#4@2 g#4@2 g#4@3 ~",
H: "f#4@2 g#4@2 g#4@2 a#4@2 a#4@2 c#5@2 c#5@3 ~", I: "[~@7 g#4@17]/3", J: "[a#4@15 ~]/2", K: "a#4/2",
L: "~@3 c#5 c#5@2 c#5!2", M: "d#5 ~@7",
})).s("gm_piano").gain(0.05)
// bass · synth bass 2
const bass = note(`<
~ A@2 B@2 A@2 B@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D E F A B@2 C@2 D@2 A B A B C B G H A B A B C B G D A@2
B@2 A@4 B@2 C@2 D E F A B@2 C@2 D@4 I B A B C B G H G J K L D B D B C B G D@2 A B A B C B G H A B A B C B G D A B A M
N B G D A B O P C B D Q R@2
>`.pickRestart({
A: "f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~", B: "d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~",
C: "g#1 ~ g#1 ~ g#1 ~ g#1 ~ g#1 ~ g#1 ~ g#1 ~ g#1 ~", D: "c#2 ~ c#2 ~ c#2 ~ c#2 ~ c#2 ~ c#2 ~ c#2 ~ c#2 ~",
E: "c#2 ~ c#2 ~ c#2 ~ c#2 ~ c#2 ~ c#2 ~ c#2 ~ f#1@2", F: "~@2 f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~",
G: "b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~", H: "c#2 ~ c#2 ~ c#2 ~ c#2 ~ c#2 ~ c#2 ~ c#2 ~ f1@2",
I: "~@4 f#1@3 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~", J: "b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ c2@2",
K: "~@2 c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~", L: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~",
M: "d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ g#1@2", N: "~@2 g#1 ~ g#1 ~ g#1 ~ g#1 ~ g#1 ~ g#1 ~ g#1 ~",
O: "f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ d#2@2", P: "~@2 d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~",
Q: "c#2 ~ c#2@6 c#2 ~ c#2@5 ~", R: "[f#1@3 ~]/2",
})).s("gm_synth_bass_2").gain(0.57)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
~ A B C D A B C D A@2 E@2 F@2 G H A@2 E@2 F@2 I H A@2 E@2 F@2 G J@2 A K E L F M H A N O E P Q R S O N O T L C U S A@2
N@2 V W A@2 E@2 F@2 G J@2 A E@2 F@2 G@4 X T A E Y Z AA H AB AC@2 AD V K O T Y Z U H ~ AE N O T P AF AG AH AE T AI AJ
AK AF U AL AM AN AE AO@2 AP AQ AR AM AS AT@2 P AP AU@2 AV ~
>`.pickRestart({
A: "[a#3,c#4,f#4]@2 [c#4,f#4]@2 [a#3,c#4,f#4] ~ [c#4,f#4]@2 [a#3,c#4,f#4]@2 [c#4,f#4]@2 [a#3,c#4,f#4] ~ [c#4,f#4]@2", // F# F#5 F# F#5 F# F#5 F# F#5
B: "[a#3,c#4,f#4]@2 [c#4,f#4]@2 [a#3,c#4,f#4]@2 [a#3,c#4,f#4] ~ [c#4,f#4]@2 [a#3,c#4,f#4]@2 [c#4,f#4]@2 [a#3,c#4,f#4]@2", // F# F#5 F# F#5 F# F#5 F#
C: "[f#3,a#3,d#4]@2 [a#3,d#4]@2 [f#3,a#3,d#4] ~ [a#3,d#4]@2 [f#3,a#3,d#4]@2 [a#3,d#4]@2 [f#3,a#3,d#4] ~ [a#3,d#4]@2", // D#m D#5 D#m D#5 D#m D#5 D#m D#5
D: "[f#3,a#3,d#4]@2 [a#3,d#4]@2 [f#3,a#3,d#4]@2 [f#3,a#3,d#4] ~ [a#3,d#4]@2 [f#3,a#3,d#4]@2 [a#3,d#4]@2 [f#3,a#3,d#4]@2", // D#m D#5 D#m D#5 D#m D#5 D#m
E: "[a#3,d#4,f#4]@2 [d#4,f#4]@2 [a#3,d#4,f#4] ~ [d#4,f#4]@2 [a#3,d#4,f#4]@2 [d#4,f#4]@2 [a#3,d#4,f#4] ~ [d#4,f#4]@2", // D#m
F: "[g#3,b3,d#4]@2 [b3,d#4]@2 [g#3,b3,d#4] ~ [b3,d#4]@2 [g#3,b3,d#4]@2 [b3,d#4]@2 [g#3,b3,d#4] ~ [b3,d#4]@2", // G#m B G#m B G#m B G#m B
G: "[f#3,g#3,c#4]@2 [g#3,c#4]@2 [f#3,g#3,c#4] ~ [g#3,c#4]@2 [f#3,g#3,c#4]@2 [g#3,c#4]@2 [f#3,g#3,c#4] ~ [g#3,c#4]@2", // F#sus2 C#5 F#sus2 C#5 F#sus2 C#5 F#sus2 C#5
H: "[f3,g#3,c#4]@2 [g#3,c#4]@2 [f3,g#3,c#4] ~ [g#3,c#4]@2 [f3,g#3,c#4]@2 [g#3,c#4]@2 [f3,g#3,c#4] ~ [g#3,c#4]@2", // C# C#5 C# C#5 C# C#5 C# C#5
I: "[f#3,g#3,c#4]@2 [g#3,c#4]@2 [f#3,g#3,c#4] ~ [f#3,g#3,c#4]@4 [g#3,c#4]@2 [f#3,g#3,c#4] ~ [f#3,g#3,c#4]@2", // F#sus2 C#5 F#sus2 C#5 F#sus2
J: "[[f3,g#3,c#4]@2 [g#3,c#4]@2 [f3,g#3,c#4] ~ [g#3,c#4]@2 [f3,g#3,c#4]@2 [g#3,c#4]@2 [f3,g#3,c#4] ~ [a#3,c#4,f#4]@4 [c#4,f#4]@2 [a#3,c#4,f#4] ~ [c#4,f#4]@2 [a#3,c#4,f#4]@2 [c#4,f#4]@2 [a#3,c#4,f#4] ~ [c#4,f#4]@2]/2", // C# C#5 C# C#5 C# C#5 C# F# …
K: "[a#3,d#4,f#4]@2 [d#4,f#4]@2 [a#3,d#4,f#4] ~ [a#3,d#4,f#4]@2 [a#3,d#4,f#4]@2 [d#4,f#4]@2 [a#3,d#4,f#4] ~ [d#4,f#4]@2", // D#m
L: "[g#3,b3,d#4]@2 [b3,d#4]@2 [g#3,b3,d#4] ~ [g#3,b3,d#4]@2 [g#3,b3,d#4]@2 [b3,d#4]@2 [g#3,b3,d#4] ~ [b3,d#4]@2", // G#m B G#m B G#m B
M: "[f#3,g#3,c#4]@2 [g#3,c#4]@2 [f#3,g#3,c#4] ~ [f#3,g#3,c#4]@4 [g#3,c#4]@2 [f#3,g#3,c#4] ~ [g#3,c#4]@2", // F#sus2 C#5 F#sus2 C#5 F#sus2 C#5
N: "[a#3,d#4,f#4]@2 [d#4,f#4]@2 [a#3,d#4,f#4] ~ [d#4,f#4]@2 [a#3,d#4,f#4]@2 [d#4,f#4]@2 [a#3,d#4,f#4] ~ [a#3,d#4,f#4]@2", // D#m
O: "[a#3,c#4,f#4]@2 [c#4,f#4]@2 [a#3,c#4,f#4] ~ [c#4,f#4]@2 [a#3,c#4,f#4]@2 [c#4,f#4]@2 [a#3,c#4,f#4] ~ [a#3,c#4,f#4]@2", // F# F#5 F# F#5 F# F#5 F#
P: "[g#3,b3,d#4]@2 [b3,d#4]@2 [g#3,b3,d#4] ~ [g#3,b3,d#4]@2 [g#3,b3,d#4]@2 [b3,d#4]@2 [g#3,b3,d#4] ~ [g#3,b3,d#4]@2", // G#m B G#m B G#m
Q: "[f#3,a#3,d#4]@2 [a#3,d#4]@2 [f#3,a#3,d#4] ~ [f#3,a#3,d#4]@2 [f#3,a#3,d#4]@2 [a#3,d#4]@2 [f#3,a#3,d#4] ~ [a#3,d#4]@2", // D#m D#5 D#m D#5 D#m D#5
R: "[f#3,b3,d#4]@2 [b3,d#4]@2 [f#3,b3,d#4] ~ [b3,d#4]@2 [f#3,b3,d#4]@2 [b3,d#4]@2 [f#3,b3,d#4] ~ [b3,d#4]@2", // B
S: "[f3,g#3,c#4]@2 [g#3,c#4]@2 [f3,g#3,c#4] ~ [f3,g#3,c#4]@2 [f3,g#3,c#4]@2 [g#3,c#4]@2 [f3,g#3,c#4] ~ [g#3,c#4]@2", // C# C#5 C# C#5 C# C#5
T: "[a#3,d#4,f#4]@2 [d#4,f#4]@2 [a#3,d#4,f#4] ~ [a#3,d#4,f#4]@2 [a#3,d#4,f#4]@2 [d#4,f#4]@2 [a#3,d#4,f#4] ~ [a#3,d#4,f#4]@2", // D#m
U: "[f#3,b3,d#4]@2 [b3,d#4]@2 [f#3,b3,d#4] ~ [f#3,b3,d#4]@2 [f#3,b3,d#4]@2 [b3,d#4]@2 [f#3,b3,d#4] ~ [f#3,b3,d#4]@2", // B
V: "[a#3,c#4,f#4]@2 [c#4,f#4]@2 [a#3,c#4,f#4] ~ [a#3,c#4,f#4]@2 [a#3,c#4,f#4]@2 [c#4,f#4]@2 [a#3,c#4,f#4] ~ [c#4,f#4]@2", // F# F#5 F# F#5 F# F#5
W: "[a#3,c#4,f#4]@2 [c#4,f#4]@2 [a#3,c#4,f#4] ~ [c#4,f#4]@2 [b3,c#4,f#4]@2 [c#4,f#4]@2 [b3,c#4,f#4] ~ [b3,c#4,f#4]@2", // F# F#5 F# F#5 Bsus2 F#5 Bsus2
X: "~@4 [a#3,c#4,f#4] ~ [a#3,c#4,f#4]@2 [a#3,c#4,f#4]@2 [c#4,f#4]@2 [a#3,c#4,f#4] ~ [c#4,f#4]@2", // F# F#5 F# F#5
Y: "[g#3,b3,d#4]@2 [b3,d#4]@2 [g#3,b3,d#4] ~ [b3,d#4]@2 [g#3,b3,d#4]@2 [b3,d#4]@2 [g#3,b3,d#4] ~ [g#3,b3,d#4]@2", // G#m B G#m B G#m B G#m
Z: "[f#3,a#3,d#4]@2 [a#3,d#4]@2 [f#3,a#3,d#4] ~ [a#3,d#4]@2 [f#3,a#3,d#4]@2 [a#3,d#4]@2 [f#3,a#3,d#4] ~ [f#3,a#3,d#4]@2", // D#m D#5 D#m D#5 D#m D#5 D#m
AA: "[f#3,b3,d#4]@2 [b3,d#4]@2 [f#3,b3,d#4] ~ [b3,d#4]@2 [f#3,b3,d#4]@2 [b3,d#4]@2 [f#3,b3,d#4] ~ [f#3,b3,d#4]@2", // B
AB: "[b3,d#4,f#4]@2 [d#4,f#4]@2 [b3,d#4,f#4] ~ [d#4,f#4]@2 [b3,d#4,f#4]@2 [d#4,f#4]@2 [b3,d#4,f#4] ~ [d#4,f#4]@2", // B D#m B D#m B D#m B D#m
AC: "[[b3,d#4,f#4]@2 [d#4,f#4]@2 [b3,d#4,f#4] ~ [d#4,f#4]@2 [b3,d#4,f#4]@2 [d#4,f#4]@2 [b3,d#4,f#4] ~ [c4,d#4,g#4]@4 [d#4,g#4]@2 [c4,d#4,g#4] ~ [d#4,g#4]@2 [c4,d#4,g#4]@2 [d#4,g#4]@2 [c4,d#4,g#4] ~ [c4,d#4,g#4]@2]/2", // B D#m B D#m B D#m B G# …
AD: "[c4,d#4,g#4]@2 [d#4,g#4]@2 [c4,d#4,g#4] ~ [c4,d#4,g#4]@2 [c4,d#4,g#4]@2 [d#4,g#4]@2 [c4,d#4,g#4] ~ [c4,d#4,g#4]@2", // G# G#5 G# G#5 G#
AE: "[a#3,c#4,f#4]@2 [c#4,f#4]@2 [a#3,c#4,f#4] ~ [a#3,c#4,f#4]@2 [a#3,c#4,f#4]@2 [c#4,f#4]@2 [a#3,c#4,f#4] ~ [a#3,c#4,f#4]@2", // F# F#5 F# F#5 F#
AF: "[f#3,a#3,d#4]@2 [a#3,d#4]@2 [f#3,a#3,d#4] ~ [f#3,a#3,d#4]@2 [f#3,a#3,d#4]@2 [a#3,d#4]@2 [f#3,a#3,d#4] ~ [f#3,a#3,d#4]@2", // D#m D#5 D#m D#5 D#m
AG: "[f#3,b3,d#4]@2 [b3,d#4]@2 [f#3,b3,d#4] ~ [f#3,b3,d#4]@2 [f#3,b3,d#4]@2 [f#3,b3,d#4]@2 [f#3,b3,d#4] ~ [f#3,b3,d#4]@2", // B
AH: "[f3,g#3,c#4]@2 [g#3,c#4]@2 [f3,g#3,c#4] ~ [g#3,c#4]@2 [f3,g#3,c#4]@2 [g#3,c#4]@2 [f3,g#3,c#4] ~ [f3,g#3,c#4]@2", // C# C#5 C# C#5 C# C#5 C#
AI: "[a#3,c#4,f#4]@2 [c#4,f#4]@2 [a#3,c#4,f#4] ~ [a#3,c#4,f#4]@2 [a#3,c#4,f#4]@2 [a#3,c#4,f#4]@2 [a#3,c#4,f#4] ~ [a#3,c#4,f#4]@2", // F# F#5 F#
AJ: "[a#3,d#4,f#4]@2 [a#3,d#4,f#4]@2 [a#3,d#4,f#4] ~ [d#4,f#4]@2 [a#3,d#4,f#4]@2 [a#3,d#4,f#4]@2 [a#3,d#4,f#4] ~ [d#4,f#4]@2", // D#m
AK: "[g#3,b3,d#4]@2 [g#3,b3,d#4]@2 [g#3,b3,d#4] ~ [g#3,b3,d#4]@2 [g#3,b3,d#4]@2 [b3,d#4]@2 [g#3,b3,d#4] ~ [g#3,b3,d#4]@2", // G#m B G#m
AL: "[f3,g#3,c#4]@2 [f3,g#3,c#4]@2 [f3,g#3,c#4] ~ [f3,g#3,c#4]@2 [f3,g#3,c#4]@2 [g#3,c#4]@2 [f3,g#3,c#4] ~ [f3,g#3,c#4]@2", // C# C#5 C#
AM: "[a#3,c#4,f#4]@2 [a#3,c#4,f#4]@2 [a#3,c#4,f#4] ~ [a#3,c#4,f#4]@2 [a#3,c#4,f#4]@2 [c#4,f#4]@2 [a#3,c#4,f#4] ~ [a#3,c#4,f#4]@2", // F# F#5 F#
AN: "[a#3,d#4,f#4]@2 [a#3,d#4,f#4]@2 [a#3,d#4,f#4] ~ [a#3,d#4,f#4]@2 [a#3,d#4,f#4]@2 [a#3,d#4,f#4]@2 [a#3,d#4,f#4] ~ [a#3,d#4,f#4]@2", // D#m
AO: "[[a#3,d#4,f#4]@2 [d#4,f#4]@2 [a#3,d#4,f#4] ~ [a#3,d#4,f#4]@2 [a#3,d#4,f#4]@2 [a#3,d#4,f#4]@2 [a#3,d#4,f#4] ~ [g#3,b3,d#4]@4 [g#3,b3,d#4]@2 [g#3,b3,d#4] ~ [g#3,b3,d#4]@2 [g#3,b3,d#4]@2 [g#3,b3,d#4]@2 [g#3,b3,d#4] ~ [g#3,b3,d#4]@2]/2", // D#m G#m
AP: "[f#3,a#3,d#4]@2 [f#3,a#3,d#4]@2 [f#3,a#3,d#4] ~ [f#3,a#3,d#4]@2 [f#3,a#3,d#4]@2 [f#3,a#3,d#4]@2 [f#3,a#3,d#4] ~ [f#3,a#3,d#4]@2", // D#m
AQ: "[f#3,b3,d#4]@2 [f#3,b3,d#4]@2 [f#3,b3,d#4] ~ [f#3,b3,d#4]@2 [f#3,b3,d#4]@2 [f#3,b3,d#4]@2 [f#3,b3,d#4] ~ [f#3,b3,d#4]@2", // B
AR: "[f3,g#3,c#4]@2 [g#3,c#4]@2 [f3,g#3,c#4] ~ [f3,g#3,c#4]@2 [f3,g#3,c#4]@2 [f3,g#3,c#4]@2 [f3,g#3,c#4] ~ [f3,g#3,c#4]@2", // C# C#5 C#
AS: "[a#3,d#4,f#4]@2 [a#3,d#4,f#4]@2 [a#3,d#4,f#4] ~ [a#3,d#4,f#4]@2 [a#3,d#4,f#4]@2 [d#4,f#4]@2 [a#3,d#4,f#4] ~ [a#3,d#4,f#4]@2", // D#m
AT: "[[a#3,c#4,f#4]@2 [a#3,c#4,f#4]@2 [a#3,c#4,f#4] ~ [a#3,c#4,f#4]@2 [a#3,c#4,f#4]@2 [c#4,f#4]@2 [a#3,c#4,f#4] ~ [a#3,d#4,f#4]@4 [a#3,d#4,f#4]@2 [a#3,d#4,f#4] ~ [a#3,d#4,f#4]@2 [a#3,d#4,f#4]@2 [a#3,d#4,f#4]@2 [a#3,d#4,f#4] ~ [a#3,d#4,f#4]@2]/2", // F# F#5 F# D#m
AU: "[[f#3,b3,c#4]@2 [b3,c#4]@2 [f#3,b3,c#4] ~ [f#3,b3,c#4]@2 [f#3,b3,c#4]@2 [b3,c#4]@2 [f#3,b3,c#4] ~ [f#3,b3,c#4]@4 [f3,g#3,c#4]@2 ~@4 [f3,g#3,c#4]@2 [f3,g#3,c#4]@2 ~@4]/2", // F#sus4 Bsus2 F#sus4 Bsus2 F#sus4 C#
AV: "[f#3,a#3,c#4]", // F#
})).s("gm_acoustic_guitar_steel").gain(0.29).pan(0.7)
// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note(`<
~ A B C D A B C D A@4 E@2 C F A@4 E@2 G F A@4 E@2 C H A@2 I A J E K F A L@2 A M K C N L@3 O J C G N A@2 L@2 I P A@4
E@2 C H A@4 E@2 C@4 Q O A@2 R S@2 F T U V W I@2 L O R S G F ~ O L@2 O M G X H O@2 Y Z AA G@2 AB AC ~ O Y ~@3 AD AC@3 ~
M ~ G ~@3
>`.pickRestart({
A: "~ a#3 ~ a#3 ~ a#3 ~ a#3", B: "~ a#3 ~@2 a#3 ~ a#3 ~", C: "~ f#3 ~ f#3 ~ f#3 ~ f#3", D: "~ f#3 ~@2 f#3 ~ f#3 ~",
E: "~ g#3 ~ g#3 ~ g#3 ~ g#3", F: "~ f3 ~ f3 ~ f3 ~ f3", G: "~ f#3 ~@3 f#3 ~@2", H: "~ f3 ~ f3 ~ f3 ~@2",
I: "~ a#3 ~@3 a#3 ~ a#3", J: "~ g#3 ~@3 g#3 ~ g#3", K: "~ f#3 ~@3 f#3 ~ f#3", L: "~ a#3 ~ a#3 ~ a#3 ~@2",
M: "~ g#3 ~@3 g#3 ~@2", N: "~ f3 ~@3 f3 ~ f3", O: "~ a#3 ~@3 a#3 ~@2", P: "~ a#3 ~ a#3 ~ b3 ~@2", Q: "~@5 a#3 ~ a#3",
R: "~ g#3 ~ g#3 ~ g#3 ~@2", S: "~ f#3 ~ f#3 ~ f#3 ~@2", T: "~ b3 ~ b3 ~ b3 ~ b3", U: "~ b3 ~ b3 ~ b3 ~@2",
V: "~ c4 ~ c4 ~ c4 ~@2", W: "~ c4 ~@3 c4 ~@2", X: "~ f#3 ~@6", Y: "~ a#3 ~@6", Z: "~@3 a#3 ~@3 a#3",
AA: "~@5 g#3 ~@2", AB: "~@5 f3 ~@2", AC: "~@5 a#3 ~@2", AD: "~ f3 ~@6",
})).s("gm_acoustic_guitar_steel").gain(0.17).pan(0.7)
// chords · string ensemble 2
const string_ensemble_2 = note(`<
~@9 A@2 ~@2 B@2 A@2 C@2 D@2 E@2 F@2 G@2 H@2 I@2 J K@3 L@2 M@2 N O P Q R S T U V O P Q R U T U V O W@2 X@2 Y@2 Z@2 AA@2
I@2 AB@4 L@2 M@2 N AC@3 AD Q R S T U V O AE@4 AF AG AH AG AI Q V AC@2 P Q R S T U V O P Q R U T U V O P Q R S T U V O
AJ Q AK@2 T U AL@2 AM@2
>`.pickRestart({
A: "c#4/2", B: "[f#3,b3]/2", C: "[a#3,c#4,f#4]/2", D: "[a#3,d#4,f#4]/2", E: "[g#3,b3,f#4]/2",
F: "[f#3 f3, [c#4,g#4]]/2", G: "[f#3,c#4]/2", H: "[a#3,f#4]/2", I: "g#4/2", J: "f#3",
K: "[~@7 [a#3,c#4,f#4,c#5]@17]/3", L: "[a#3,d#4,f#4,d#5]/2", M: "[g#3,b3,f#4,d#5]/2", N: "[g#3,c#4,f#4,c#5]",
O: "c#5 d#5 f#5 g#5, [g#3,c#4,f4]", P: "[f#3,c#4,a#4,g#5]", Q: "[d#3,f#4,a#4,d#5]", R: "[f#3,f#4,a#4,c#5]",
S: "[d#3,d#4,f#4,a#4]", T: "[g#3,d#4,g#4,b4]", U: "[d#3,c#4,f#4,a#4]", V: "[b2,d#4,f#4,b4]",
W: "[a#4@6 a#4 g#4, [f#3,c#4,f#5]]/2", X: "[d#3,a#3,f#4,d#5]/2", Y: "[a#3@3 b3, [f#3,f#4,f#5]]/2",
Z: "[a#4@6 a#4 g#4, f#3]/2", AA: "[d#3,a#3]/2", AB: "[[c#4,g#4]@15 [a#3,c#4,f#4,c#5]@17]/4",
AC: "c#5 d#5 f#5 g#5, [g#3,c#4,f#4]", AD: "~ [f#3,c#4,a#4,g#5]@3", AE: "[[b3,f#4,b4,d#5]@15 [c4,f#4,c5,d#5]@17]/4",
AF: "[c#3,c#4,a#4,f#5]", AG: "[d#3,f#4,a#4,f#5]", AH: "[c#3,f#4,a#4,f#5]", AI: "[g#3,d#4,b4,d#5]",
AJ: "[f#3,c#4,a#4,f#5]", AK: "[[f#3,f#4,a#4,c#5]@7 [d#3,f#4,a#4,c#5]@9]/2", AL: "[c#3,g#3,g#4,c#5]",
AM: "[[f#3,c#4,f#4,a#4]@3 ~]/2", // F#
})).s("gm_string_ensemble_2").gain(0.28).pan(0.6)
// chords · string ensemble 2 · soft notes
const string_ensemble_2_soft = note("<~@9 A@2 B@2 C@2 D@2 ~@8 E@2 F@2 G@2 H@2 ~@30 I@2 J@2 G@2 K L ~@65>".pickRestart({
A: "[f#3,a#3]/2", B: "[f#3,a#3,d#4]/2", C: "d#4/2", D: "[f#3 f3, g#3]/2", E: "[a#4@6 a#4 g#4]/2", F: "d#3/2",
G: "[g#3,b3]/2", H: "[~@8 f3@7 ~, [c#4,g#4]@15 ~]/2", I: "c#4/2", J: "f#4/2", K: "f#3", L: "f3@7 ~",
})).s("gm_string_ensemble_2").gain(0.16).pan(0.6)
// chords · overdriven guitar
const overdriven_guitar = note(`<
~@2 A@3 ~ B@5 ~@28 C ~@4 D@2 ~@6 D@2 ~@4 E@2 F@4 ~@20 D@2 ~@2 G@3 ~@2 H I J K L@2 M N O ~@3 D@2 ~@6 D@2 ~@17 P ~@3
>`.pickRestart({
A: "[~@10 [f3,g#3]@2 ~@2 d#3@23 ~@5 [f3,g#3]@2 ~@4]/3", B: "[~@5 [f3,g#3] ~@16 g#3 c#3@15 ~@2, ~@7 d#3@16 ~@17]/5",
C: "~@8 [c#3,g#3] ~@7", D: "[~@6 c#5 [g#4,b4]@9]/2", E: "[~@9 a#3 f4@2 ~ a#3 d#4@16 ~ a#3]/2",
F: "[~@7 c#4@10 ~@6 a#3@9]/4", G: "[~@7 [b2,f#3]@17]/3", H: "~@14 g#4 f#4", I: "g#4 ~@7", J: "~@3 d#4 ~ f4 d#4 ~",
K: "~@6 c#4@9 ~", L: "[~@4 a#4@5 ~@3 f#4 ~ f4@6 ~@12]/2", M: "~@4 c#4@2 ~@2 c#4@2 a#3 ~ c#4 ~ c#4@2",
N: "~@2 d#4 ~ d#4@4 f#4@4 ~@4", O: "c#4@4 d#4@4 f#4@4 g#4@3 ~, [c#3,g#3]", P: "g#3",
})).s("gm_overdriven_guitar").gain(0.31).pan(0.7)
// chords · electric guitar clean
const electric_guitar_clean = note(`<
~@13 A B ~@6 A C ~@6 A D ~ D ~@4 A@2 E F@8 G@8 H ~@10 A D ~ D ~@4 A@2 ~@4 I@7 J@2 K@2 F@8 H L@8 G@8 M@8 N@8 O@3
>`.pickRestart({
A: "~@4 f#4@2 ~@2 f#4@2 f#4 ~@5", B: "~@2 f#4 ~@3 f#4 ~", C: "~@2 f#4 ~@5", D: "~@2 f#4@2 ~@4 f#4@2 f#4 ~@5",
E: "~@4 [g#3,c#4,f#4] ~@3", F: "[~@15 a#3@15 ~ a#3@15 ~ a#3@15 ~ a#3@15 ~ b3@15 ~ a#3@15 ~ b3@15 ~@2]/8",
G: "[~@4 d#4@2 ~@2 f#4@2 ~@5 a#3@15 ~ a#3@15 ~ a#3@15 ~ a#3@15 ~ b3@15 ~ a#3@15 ~ b3@15 ~@2]/8",
H: "~@2 d#4 ~ f#4 ~@3", I: "[~@15 a#3@15 ~ a#3@15 ~ a#3@15 ~ b3@15 ~ a#3@15 ~ b3@15 ~@2]/7",
J: "[~@4 d#4@2 ~@2 f#4@2 ~@6 c#4@15 ~, ~@15 a#3@15 ~@2]/2", K: "[~@13 c4@15 ~@4]/2",
L: "[[f3,g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4,d#4]@2 [g#3,c#4]@2 [g#3,c#4,f#4]@2 [g#3,c#4]@2 [c#4,f4,g#4]@2 ~ a#3@15 ~ a#3@15 ~ a#3@15 ~ a#3@15 ~ b3@15 ~ a#3@15 ~ b3@15 ~@2, ~@7 [c#4,f4] ~@56]/8", // C# C#5 G#sus4 C#5 C#sus4 C#5 C#
M: "[~@4 d#4@2 ~@2 f#4@2 ~@5 a#3@15 ~ a#3@15 ~ a#3@15 ~ a#3@13 ~ b3@15 ~@3 a#3@15 ~ b3@15 ~@2]/8",
N: "[~@4 d#4@2 ~@2 f#4@2 ~@5 a#3@15 ~ a#3@15 ~ a#3@13 ~ a#3@15 ~@3 b3@15 ~ a#3@15 ~@2 g#4@15 ~, ~@111 c#4@15 ~@2]/8",
O: "[~@15 a#3@23 ~@10]/3",
})).s("gm_electric_guitar_clean").gain(0.22).pan(0.7)
// chords · epiano2
const epiano2 = note(`<
~@9 A@2 B@2 C@2 D@2 A@2 E@2 F@2 G@2 H@2 I@2 C@2 J@4 I@2 K@2 L@2 M N O N P Q R S M N O N P Q R S H@2 T@2 U@2 H@2 I@2
C@2 J@4 I@2 K@2 V W@3 X N O N P Q R S Y@4 Z AA AB AC P Q R S@2 M N O N P Q R S M N O N P Q R S M N O AD@2 Q R S M N
AE@2 P Q AF AG AH@2
>`.pickRestart({
A: "[[f#3,a#3,c#4]@31 ~]/2", B: "[~@3 [f#4,a#4,c#5], [f#3,a#3,d#4]@31 ~]/2", C: "[g#3,f#4,b4]/2",
D: "[[b3,f#4] [b3,f4], [c#3,c#5]]/2", E: "[[a#3,d#4]@13 [a#3,d#4,f#4]@3, f#3@31 ~]/2", F: "[g#3,b3,d#4]/2",
G: "[[c#4,f#4]@3 [f#4,g#4]@5 [f4,g#4]@8, [c#3,g#3], ~@3 [c#4,c#5]@13]/2", // F#5 F#sus2 Fm C#5 C#
H: "[[c#4,c#5]@11 ~ [f#4,a#4]@2 [f4,g#4]@2, [f#3,a#3]@31 ~]/2", I: "[f#4@3 [f#4,a#4,c#5], [f#3,a#3,d#4]@31 ~]/2",
J: "[[b3,f#4]@16 [b3,f4]@14 [a#4,c#5]@25 ~ [f#4,a#4]@4 [f4,g#4]@4, [c#3,c#5]@15 [f#3,c#4]@16 ~]/4", // B5 Bdim A#m F# Fm C# F#5
K: "[g#3,b3,d#4,f#4,b4]/2", // G#m7
L: "[[c#4,f#4]@6 [c#4,f#4] c#4 [c#4,c#5]@2 [d#4,d#5]@2 [f#4,f#5]@2 [g#4,g#5]@2, [c#3,g#3], ~@7 f4@5 ~@4]/2", // F#5 C# D# F# G# C#5
M: "[f#3,a#3,c#4,f#4,g#4,g#5]", N: "[f#3,a#3,d#4,f#4]@15 ~", O: "[f#3,a#3,c#4,f#4]@15 ~", P: "[g#3,b3,f#4,g#4]",
Q: "[d#3,a#3,d#4,f#4]", R: "[b2,b3,d#4,f#4]", S: "[c#4,c#5] [d#4,d#5] [f#4,f#5] [g#4,g#5], [c#3,g#3]@15 ~, f4@7 ~@9",
T: "[f#3,a#3,d#4,f#4]/2", U: "[[a#3,c#4,f#4]@23 ~ [b3,c#4]@8, f#3@15 ~]/2", V: "[c#3,g#3,c#4,f#4]",
W: "[c#4,c#5] [d#4,d#5] [f#4,f#5] [g#4,g#5], [c#3,g#3], f#4 ~", X: "~ [f#3,a#3,c#4,f#4,g#4,g#5]@3",
Y: "[[b2,f#3,b3,d#4,f#4]@30 [c3,c4,d#4,g#4]@33 ~]/4", Z: "[f#3,a#3,c#4,f#4,a#4]",
AA: "[f#3,a#3,d#4,f#4]@15 ~, a#4 ~@15", AB: "[f#3,a#3,c#4,f#4,a#4]@15 ~", AC: "[f#3,a#3,d#4,f#4,a#4]@15 ~",
AD: "[[f#3,a#3,d#4,f#4]@13 ~ [g#3,b3,f#4,g#4]@18]/2", AE: "[[f#3,a#3,c#4,f#4]@13 ~ [f#3,a#3,d#4,f#4]@17 ~]/2",
AF: "[c#3,b3,c#4,f#4]", AG: "~@2 [f3,g#3,c#4]@4 ~@2 [f3,g#3,c#4] ~ [f3,g#3,c#4]@6", AH: "[[f#3,a#3,c#4,f#4]@3 ~]/2",
})).s("gm_epiano2").gain(0.29).pan(0.4)
// bass · electric guitar muted
const bass_2 = note("<~@33 A ~@37 A ~@29 B ~@31 C ~@2>".pickRestart({
A: "f#2 ~@15", B: "c#2 ~ c#2 ~ c#2 ~ c#2 ~ c#2 ~ c#2 ~ c#2 ~ c#2 ~", C: "c#2 ~@15",
})).s("gm_electric_guitar_muted").gain(0.26).pan(0.2)
// drums · kick
const kick = s("bd").struct(`<
~ A@15 B A@6 C A@8 D E A@2 F A@11 G A@3 B A@9 D A@7 D E A@2 F A@6 H A@6 I A B E A@8 J A@8 G A@3 B A@7 B E A@2 G A@2 B
K A@2 B L M ~
>`.pickRestart({
A: "x!2", B: "x ~@3 x ~@2 x", C: "x ~@2 x ~@4", D: "x ~@3 x!2 ~ x", E: "~ x ~@2 x ~@3", F: "x ~@2 x!3 ~@2",
G: "x ~@2 x ~ x ~@2", H: "~@2 x ~ x!2 ~@2", I: "x ~@2 x!2 ~@3", J: "x ~@3 x!2 ~@2", K: "~ x ~@2 x ~@2 x",
L: "x!2 ~ x!3 ~@2", M: "x",
})).gain(0.76)
// drums · snare
// … 57 more lines
More by Paola Turci
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.