0:00/0:00
// Only Love — Mouskouri Nana
// 66 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 74 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(66/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 · piano · "A.Piano"
const piano = 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 J K L M AI AJ P Q R S AK U V W X Y AL AA
AB AC AD AE AF AG AH J K L M N AM P AN AO AP AQ AR@2 ~
>`.pickRestart({
A: "a3@3 ~@3 d4@2 [g1,g2,g3,a3,b3,d4]@8, [g1,g2,g3]@15 ~@17, [b3,d4]@8 a3@7 ~@17, ~@3 d3@5 ~@8, ~@5 b3@3 ~@8", // G Bm
B: "[g3,b3,d4]@8 [g3,b3,d4]@7 ~ [g3,b3,d4]@8 g3@3 ~ g3@4, [g1,g2]@15 ~ [b1,b2]@15 ~, ~@24 [b3,d4]@7 ~", // G B Bm
C: "[g3,c4,e4]@7 ~ [g3,c4,e4]@7 ~ [g3,c4,e4]@8 [c2,c3]@3 ~ [b1,b2]@4, [c2,c3]@23 ~ [g3,c4,e4]@7 ~", // C B C
D: "[a2,g3,c4,e4]@6 e2@2 [a2,g3,c4,e4]@8 [f#3,a3,c4,e4]@8 [f#3,a3,c4,e4]@7 ~, a1@15 ~ [d2,d3]@15 ~", // Am7 F#m7b5 D
E: "[g3,b3,d4]@8 [g3,b3,d4]@7 ~ g3@4 g3@4 [g1,g2]@3 ~ [f#1,f#2]@4, [g1,g2]@23 ~@9, ~@16 [b3,d4]@8 [b3,d4,g4]@7 ~", // G F# G Bm G
F: "[b3,e4,g4]@8 ~@4 [e1,e2]@4 [b3,e4,g4]@8 e4@3 ~ [d1,d2,e4]@4, [e1,e2]@11 ~@5 [d1,d2]@11 ~@5, ~@8 [b3,e4,g4]@7 ~@9 [b3,g4]@7 ~", // Em E Em Dsus2 E D Em
G: "[a3,c#4,e4,g4]@8 ~@4 [c#2,c#3]@4 [d2,d3,a3,d4,f#4]@8 [c2,c3,a3,d4,f#4]@7 ~, [c#1,c#2]@11 ~@21, ~@8 [a3,c#4,e4,g4]@7 ~@17", // A7 C# D D7 C# A7
H: "~@3 g3 [c2,c3,e4,g4,c5]@2 [c2,c3] [b1,b2], [c2,b2] ~, [b3,d4,f4]@8 [f4,d5]@7 ~@9 [e4,g4,c5]@8, ~@4 g3@7 ~@21", // C B Cmaj7 Bdim Dm C
I: "~ g3 ~ g3 ~ c4 ~ d4, [a1,a2]@15 ~ [d2,e4,g4,c5]@8 [d2,f#4,a4,c5,d5]@8, [c4,e4,g4]@8 [c4,e4,g4]@7 ~ d3@15 ~", // A C D7 C
J: "[d4,g4,b4,d5]@8 ~@4 [g1,g2]@4 [d4,g4,b4,d5]@8 d4@3 ~ d4@4, [g1,g2]@11 ~@5 [b1,b2]@15 ~, ~@8 [d4,g4,b4,d5]@7 ~@9 [g4,b4,d5]@8", // G B G
K: "[e4,g4,d5]@7 ~ [e4,g4,c5]@7 ~@5 [c2,c3]@3 ~ [b1,b2,c4,e4,g4,c5]@8, [c2,c3]@19 ~@13, ~@2 [c4,e4,g4,c5] ~", // Em7 C Cmaj7 C
L: "[c4,e4,g4,c5]@8 ~@4 b2 ~ c3 ~ [e4,f#4,a4,c5]@8 ~@4 d3@4, [a1,a2]@12 ~@4 d2@15 ~, ~@8 [e4,g4,c5,e5]@7 ~ d3@12 ~@4, ~@24 [f#4,a4,c5,e5]@7 ~", // C F#m7b5 A C F#m7b5
M: "[d4,g4,b4,d5]@8 [d4,g4,b4,d5]@7 ~@5 [g1,g2]@3 ~ [f#1,f#2]@3 ~ [e1,e2]@4, [g1,g2]@19 ~@13, ~@16 [d4,g4,b4,d5]@8 [g4,b4,d5,g5]@7 ~", // G F# E G
N: "[b3,d#4,f#4]@8 [b3,d#4,f#4]@7 ~ [b3,d#4,f#4,a4]@8 b3@3 ~ b3@4, [d#1,d#2]@15 ~ [b1,b2]@15 ~, ~@3 [d#4,f#4,a4]", // B B7 D# B D#dim
O: "[e4,a4,c5]@8 ~@4 [d2,d3]@4 c#3@4 ~@4 [a3,c#4,e4,a4]@7 ~, [e2,e3]@11 ~@5 c#2@2 ~@2 c#2@11 ~, ~@8 [e4,g4,b4]@7 ~ [b3,c#4,e4,g4]@6 c#3@9 ~", // Am D A E Em C#m7b5
P: "[b3,d4,g4,b4]@8 [g4,b4,d5]@7 ~ [g4,b4,d5,g5]@7 ~@7 d3@2, [d2,d3]@31 ~, ~@24 g4@7 ~, ~@13 b3@3, ~@7 g3", // G D
Q: "[c4,e4,g4,c5]@8 ~@4 d3@3 ~ [a3,d4,f#4,a4]@8 ~@4 f#2@4, d2@15 ~ [d2,d3]@12 ~@4, d3@11 ~@21, ~@8 [c4,e4,g4,c5]@7 ~@9 [c4,d4,f#4,a4]@8", // C D C D7
R: "[g3,c4,d4,g4]@8 [g3,c4,d4,g4]@7 ~ [g3,b3,d4,g4]@8 a3@2 ~@2 g3@4, g2@31 ~, g1@15 ~ g1@15 ~, ~@3 d4, ~@13 b3@3", // Gsus4 G
S: "[f#3,b3,d#4,f#4]@2 ~ [b1,b2] [f#3,b3,d#4,f#4]@2 ~ [d#2,d#3], [b1,b2]@11 ~@5 [d#2,d#3]@11 ~@5, ~@8 [f#3,b3,d#4,f#4]@7 ~@9 [b3,d#4,f#4,a4]@8", // B D# B D# B B7
T: "[b3,e4,g4,b4]@7 ~@5 [e2,e3]@4 [b3,e4,g4,b4]@8 ~@4 [e2,e3,b4]@4, [e2,e3]@11 ~@5 [e2,e3]@11 ~@5, ~@8 [b3,e4,g4,b4]@7 ~@9 [b3,e4,g4]@7 ~", // Em E Em E5 E Em
U: "[a3,d4,f#4,a4]@8 ~@4 [d2,d3]@4 [d2,e4,f#4,a4,c5]@8 d2@4 f#2@3 ~, [d2,d3]@11 ~@13 [e4,f#4,a4,c5]@7 ~, ~@8 [a3,d4,f#4,a4]@7 ~ d3@11 ~@5", // D D7 D F#m7b5 D
V: "[d4,g4,b4,d5]@2 ~ [g1,g2] [d4,g4,b4,d5]@2 ~ [g1,g2], [g1,g2]@11 ~@5 [g1,g2]@11 ~@5, ~@8 [d4,g4,b4,d5]@7 ~@9 [d4,g4,b4,d5]@7 ~", // G
W: "[e4,f#4,a4,c5]@2 ~ [f#1,f#2] b2 ~@2 [b1,b2], [f#1,f#2]@11 ~@5 b1@3 ~ b1@7 ~@5, ~@8 [e4,f#4,a4,c5]@7 ~ [d#4,f#4,a4,b4]@6 b2@5 ~@5, ~@3 [d#4,f#4,a4,b4]", // F#m7b5 F# B F# F#m7b5 B7
X: "[b3,e4,g4,b4]@4 ~@2 [e2,e3]@2 [d2,b3]@2 a3 ~@3 [d2,g3]@2, [e2,e3]@11 ~@11 b3@9 ~, ~@8 [b3,e4,g4,b4]@7 ~ [d3,e4,g4,b4]@6 d2@4 e4@6, ~@3 [d3,f#4]", // Em E G G5 E Em Em7 D
Y: "[c#4,e4,g4,b4]@4 [g4,b4,c#5,e5]@2 [g4,b4,c#5,e5]@2 f#2@2 f#4 ~@3 f#4@2, c#2@15 ~ [f#1,e4,a#4,c#5]@7 ~ [f#1,e4,a#4,c#5]@8, ~@8 c#3@7 ~@7 f#2@9 ~", // C#m7b5 F#7
Z: "~ f#4 [e4,e5] [f#4,f#5] ~ f#4 ~ f#4, [b1,b2]@15 ~ [b1,b2,d#4,b4,d#5]@8 [a2,d#4,b4,d#5]@7 ~, [e4,b4,e5]@8 b4@7 ~@17", // E F# B B7 E5
AA: "[g3,b3,d4]@8 [g3,b3,d4]@7 ~ [g3,b3,d4]@6 f#3@2 ~@4 [d4,g4]@4, [g1,g2]@15 ~ [b1,b2]@15 ~, ~@3 g3, ~@13 b3@3", // G G5 G B
AB: "[g3,c4,e4,g4]@8 [c4,e4,g4]@3 ~ [c4,e4,g4]@3 ~ [g3,c4,e4,g4]@8 [c2,c3]@3 ~ [b1,b2]@4, [c2,c3]@23 ~@9, ~@8 g3@7 ~@9 [g3,c4,e4,g4]@7 ~", // C B C
AC: "[a2,g3,c4,e4,g4]@6 e2@2 [a2,g3,c4,e4,a4]@8 [f#3,a3,c4,e4]@8 [f#3,a3,c4,e4]@7 ~, a1@15 ~ [d2,d3]@15 ~", // Am7 F#m7b5 D
AD: "[g3,b3,d4]@8 [g3,b3,d4]@7 ~ g3@4 g3@4 [g1,g2,g4]@3 ~ [f#1,f#2,f#4]@4, [g1,g2]@23 ~@9, ~@16 [b3,d4]@8 [b3,d4]@7 ~", // G F# G Bm
AE: "[b3,e4,g4]@8 ~@4 [e1,e2]@4 d3@4 ~@4 e4@3 ~ [d2,d3,e4,g4]@4, [e1,e2]@11 ~@5 d2@3 ~ d2@8 ~@4, ~@8 [b3,e4,g4]@7 ~ [b3,e4,g4]@6 d3@5 ~@5, ~@24 b3@7 ~", // Em E Em7 E Em
AF: "[a3,c#4,e4,g4]@4 ~@2 [c#2,c#3,a4]@2 d5@2 [e4,e5]@2 [c2,c3] ~ c3@2, [c#1,c#2]@11 ~@5 [d2,d3,d4,a4]@8 ~@2 c2@5 ~, ~@8 [e4,e5]@8 ~@8 [d4,a4,d5]@7 ~", // A7 F#m E C C# D5 E D5
AG: "~@8 [g3,b3,d4]@4 [b3,d4,f4]@4 [c2,c3,c4,e4,g4,c5]@7 ~ [c2,c3]@4 [b1,b2]@4, c2@15 ~@17, [b2,b3,d4,f4]@3 b2@5 ~@8, ~@4 g3@4 ~@16 [c4,e4,g4,c5]@7 ~", // G Bdim C B Bdim C
AH: "a1@4 ~@8 b2 ~ c3@2 ~@4 c4@4 ~@4 d4@4, [c4,e4,g4]@3 a1@3 ~@2 [d2,e4,g4,c5]@4 [d2,f#4,a4,c5,d5]@4, a2@3 ~ a2@8 g3@4 d3@15 ~, ~@4 g3@4 [c4,e4,g4]@7 ~@17", // C D7 C
AI: "[b3,d#4,f#4]@2 f#4!2 [b3,d#4,f#4,a4]@2 f#4!2, [d#1,d#2]@15 ~ [b1,b2]@15 ~, ~ [f#3,b3,d#4] ~ [a4,b4,d#5]", // B B7 D# B B7
AJ: "[e4,a4,c5]@4 ~@2 [d2,d3]@2 c#3@2 ~@2 g4 ~ g4@2, [e2,e3]@11 ~@5 c#2@2 ~@2 c#2@11 ~, ~@8 [e4,g4,b4]@7 ~ [a3,c#4,e4,g4]@6 c#3@9 ~, ~@13 [c#5,e5,g5]@3", // Am D E Em A7 C#dim
AK: "[b3,e4,g4,b4]@7 ~@5 [e2,e3]@4 [b3,e4,b4]@6 [f#4,a4]@2 ~@4 [e2,e3,b4]@4, [e2,e3]@11 ~@5 [e2,e3]@11 ~@5, ~@8 [b3,e4,g4,b4]@7 ~ g4@5 ~@3 [b3,e4,g4]@7 ~", // Em E E5 F#m E5 E Em
AL: "~ f#4 ~ f#4 ~ f#4 ~ a4, [b1,b2]@15 ~ [b1,b2,d#4,b4,d#5]@8 [a2,d#4,b4]@7 ~, [e4,b4,e5]@8 [e4,b4,e5]@7 ~@17", // B B7 E5
AM: "[e4,a4,c5]@8 ~@4 [d2,d3]@4 c#3@4 ~@4 [a3,c#4,e4,a4]@7 ~, [e2,e3]@11 ~@5 c#2@2 ~@2 c#2@11 ~, ~@8 [e4,g4,b4]@7 ~ [a3,c#4,e4,g4]@6 c#3@9 ~", // Am D A E Em A7
AN: "[c4,e4,g4,c5]@8 ~@4 d3@3 ~ [c4,e4,g4,c5]@8 ~@6 g4@2, d2@15 ~ [d2,d3]@12 [d3,d4]@4, d3@11 ~@13 g3@8, ~@8 [c4,e4,g4,c5]@7 ~@11 c4@6", // C D C
AO: "[a3,d4,f#4]@8 ~@4 d3@3 ~ [d2,d3,d4,f#4,a4,c5,d5]@16, d2@15 ~@17, d3@11 ~@21, ~@8 [d4,f#4,a4,c5,d5]@7 ~@17", // D D7
AP: "[g3,c4,d4,g4]@8 ~@4 g2@3 ~ [g3,c4,d4,g4]@8 ~@4 g2@3 ~, g1@15 ~ g1@15 ~, g2@11 ~@5 g2@12 ~@4, ~@8 [g3,c4,d4,g4]@7 ~@9 [g3,c4,d4,g4]@8", // Gsus4
AQ: "[g3,b3,d4,g4]@8 ~@4 g2@3 ~ [d5,g5,c6,d6]@8 [d6,g6,b6]@8, g1@15 ~ [g1,g2]@15 ~, g2@11 ~@21, ~ [d4,g4,b4,d5] ~@2", // G Csus2 G
AR: "[g1,g2,d3,b3]/2", // G
})).s("gm_piano").gain(0.33)
// bass · electric bass finger · "Fing.Bass"
const bass = note(`<
~@10 A B C D E F G H I J K L M N O P Q A R S T U V W X Y Z AA AB AC AD AE L AF J AG AH AI AJ O AK AL Y R AM T AN V W
AO Y AP AQ AR AC AS AT AU AV AW AX AY@3
>`.pickRestart({
A: "g1@10 ~@2 g1@3 ~ b1@14 ~@2", B: "c2@17 ~@3 c2@3 ~ b1@7 ~", C: "a1@10 ~@2 b1@2 c2@2 d2@10 ~@2 d1@3 ~",
D: "g1@16 ~@4 g2@3 ~ f#2@3 ~ e2@3 ~", E: "d#2@15 ~ b1@14 ~@2", F: "e2@10 ~@2 d2@3 ~ c#2@15 ~", G: "d2@15 ~",
H: "d2@10 ~@2 d2@3 ~ d1@11 ~ f#1@3 ~", I: "g1@14 ~@2 g1@11 ~ g1@3 ~", J: "b1@10 ~@2 b1@3 ~ d#2@10 ~@2 d#2@3 ~",
K: "e2@10 ~@2 e2@3 ~ e2@10 ~@2 e2@3 ~", L: "d2@10 ~@2 d2@3 ~ d1@10 ~@2 f#1@3 ~",
M: "g1@10 ~@2 g1@3 ~ g1@10 ~@2 g1@3 ~", N: "f#1@10 ~@2 f#1@3 ~ b1@10 ~@2 b1@3 ~",
O: "e2@10 ~@2 e2@3 ~ d2@10 ~@2 d2@3 ~", P: "c#2@7 ~ c#3@7 ~ f#2@6 ~ f#1 f#1@5 ~@3",
Q: "b2@6 ~@2 b2@7 ~ b1@7 ~ a2@7 ~", R: "c2@10 ~@2 c2@3 ~ c2@7 ~ c3@3 ~ b2@3 ~",
S: "a2@10 ~@2 a2@3 ~ d2@10 ~@2 d2@3 ~", T: "g1@10 ~@2 g1@3 ~ g1@6 ~@2 g1@3 ~ f#1@3 ~",
U: "e1@10 ~@2 e1@3 ~ d2@10 ~@2 d2@3 ~", V: "c#2@10 ~@2 c#2@3 ~ d2@7 ~ c2@7 ~",
W: "b1@10 ~@2 b1@3 ~ c2@6 ~@2 c2@3 ~ b1@3 ~", X: "a1@10 ~@2 b1 ~ c2@2 d2@6 ~@2 d1@7 ~",
Y: "g1@10 ~@2 g1@3 ~ b1@10 ~@2 b1@3 ~", Z: "c2@10 ~@2 g1@3 ~ c2@7 ~ b1@7 ~", AA: "a1@10 ~@2 a1@3 ~ d2@7 ~ d1@7 ~",
AB: "g1@10 ~@2 g1@3 ~ g2@6 ~@2 f#2@3 ~ e2@3 ~", AC: "d#2@10 ~@2 d#2@3 ~ b1@7 ~ b1@3 ~ b1@3 ~",
AD: "e2@10 ~@2 d2@3 ~ c#2@11 ~ c#2@3 ~", AE: "d2@10 ~@2 d2@3 ~ d2@11 ~ d3@4", AF: "g1@10 ~@2 g1@3 ~ g1@8 ~@8",
AG: "e2@10 ~@2 e2@3 ~ e2@7 ~ f#2@3 ~ e2@3 ~", AH: "d2@10 ~@2 d2@3 ~ d1@10 ~@2 f#1 ~ d1 ~",
AI: "g1@10 ~@2 g1@3 ~ g1@8 ~@2 g2@2 e2 ~ d2@2", AJ: "f#1@9 ~ f#1 ~ f#1@3 ~ b1@10 ~@2 b1@3 ~",
AK: "c#2@10 ~@2 c#2@3 ~ f#1@7 ~ f#1@4 f#1 ~ f#1 ~", AL: "b1@7 ~ b2@3 ~ f#2@3 ~ b1@7 ~ a1@7 ~",
AM: "a2@10 ~@2 a2@3 ~ d2@7 ~ d1@7 ~", AN: "e1@10 ~@2 e1@3 ~ d1@7 ~ d2@7 ~", AO: "a1@10 ~@2 b1 ~ c2@2 d2@7 ~ d1@7 ~",
AP: "c2@10 ~@2 g2@3 ~ c2@7 ~ b1@7 ~", AQ: "a1@10 ~@2 a1@3 ~ d2@7 ~ d3@3 ~ d2@3 ~",
AR: "g1@10 ~@2 g1@3 ~ g2@3 ~ g2@3 ~ f#2@3 ~ e2@3 ~", AS: "e2@7 ~ e2@3 ~ d2@3 ~ c#2@7 ~ c#3@3 ~ c#2@3 ~",
AT: "d2@10 ~@2 d2@3 ~ d2@7 ~ d2@3 ~@2 c#3 [b2,c3] ~, ~@14 d3 ~", AU: "d2@10 ~@2 d2@3 ~ d2@10 ~@2 d2@3 ~",
AV: "d2@10 ~@2 d2@3 ~ d1@15 ~", AW: "g1@10 ~@2 g1@3 ~ g1@10 ~@2 g2@3 ~", AX: "g1@10 ~@2 g1@3 ~ g1@14 ~@2",
AY: "[g1@65 ~@31]/3",
})).s("gm_electric_bass_finger").gain(0.48)
// chords · string ensemble 2 · "#Sl.Strin"
const string_ensemble_2 = note("<A@3 B@2 C@2 D@7 E F@8 G@7 H@2 I@7 E J@8 K@7 H@2 I@7 E L@8 ~>".pickRestart({
A: "[~@31 [g2,b3,d4,g4,b4,d5]@31 ~ g2@16 b2@16 c3, ~@31 [d4,d5]@17]/3", // G D
B: "[~@5 [e4,e5]@2 ~@20 b2@4 ~@6 a4@2 ~@8 d3@15 [g2,g4]@2, ~@7 [c4,c5]@57, ~@31 a2@17 ~@16, ~@39 f#4@25]/2", // E G C
C: "[~@5 [d4,d5]@2 ~@15 g3@5 ~@20 [d2,d3]@16 [c#2,c#3,a3,e4], ~@7 [b3,b4]@23 g4@34, ~@27 [f#2,f#3]@4 [b3,b4]@33, ~@15 [e2,e3]@9 ~@8]/2", // D A B F# B E
D: "[~@14 [d2,d3]@9 ~@8 [b1,b2,f4]@16 [c2,c3]@12 [b1,b2]@4 [a1,a2]@16 ~@7 [f#3,d4,f#4]@8 ~ [g2,g3,b3]@16 [b2,b3]@16 c3@23 [b2,b3]@8 ~ [a2,e4,g4]@15 ~@17 g3@23 [f#2,f#3]@5 ~@4 f#4, ~@6 a4@27 ~@14 e4@41 ~@6 g4@64 a3@17 d3@15 g2@26 ~@3 [e2,e3]@5, ~@14 f#4@16 [g3,g4]@58 ~@6 d4@8 ~@25 [c4,e4]@33 ~@14 [d4,f#4,a4]@16 [g4,b4]@34, ~@23 [c2,c3]@10 ~@46 [d2,d3]@17 ~@63 c5@34 ~@29 [d#2,d#3,a3]@2, ~@190 d5@29 ~@5]/7", // D Bdim C B A D G B …
E: "~@7 [b3,b4]@4 [f#4,f#5]@4 [b1,b2,d#4,a4,d#5]@15 ~ [e2,e3,e4,a4,a5], ~@15 c4", // B F# B7 A5
F: "[~@23 a3@8 ~@8 [g5,b5]@4 ~@4 [d5,g5]@4 ~ g5@3 [b4,d5]@4 ~ d5@3 e4@12 g4@4 ~@32 b4@13 ~@3 [b1,b2,b3]@16 ~@8 f#6@7 ~ b4@8 e4@8 b4@7 ~@29 d5@4 f#5@4 ~@4 c6@8 b5@12 g5@4 b5@4 ~@4 [c4,f#4,e6], ~@5 [g4,g5]@27 ~@11 d6@5 ~@15 c5@47 b3@17 ~@32 [e2,e3,b3]@31 [d3,f#4,a4]@32 g2@34, ~@5 b3@19 ~@7 [b3,g4]@32 a5@29 g5@33 ~@2 f#5@25 ~@6 g6@25 e4@8 d2@32 [g3,b3,d4,g4]@33, ~@11 [d2,d3]@6 ~@14 [d2,d3]@64 [g1,g2,d4,g4]@30 ~@18 [d#2,d#3,a3]@16 g4@15 ~ g4@15 d4@17 c4@17 ~@30 [f#2,f#3,a4]@2, ~@14 [c#2,c#3]@18 ~@12 b5@5 ~@2 b5@5 ~@3 g5@5 ~@15 [d4,f#4]@16 c4@18 ~@14 [d#4,f#4]@33 ~@22 g5@9 a5@21 ~@7 a5@5 ~@27 d6@5]/8", // G G5 Bm B F#m7b5 G E5 D …
G: "[~@31 e6@8 b5@7 ~ g5@8 e5@8 ~@56 [a1,a2,a3]@7 ~ g2@16 b2@16 ~@6 [e4,e5]@2 ~@20 b2@4 ~@6 a4@2 ~@8 d3@15 [g2,g4]@2, ~@14 d#6@16 g4@49 f#4@48 b3@33 ~@7 [c4,c5]@57, ~@15 [b1,b2,d#4]@16 [e2,e3]@15 [d2,d3]@18 ~@14 [f#2,f#3]@16 b3@16 d#4@18 ~@31 c3@30 ~@2 a2@17 ~@16, ~@16 b3@46 ~ [c#4,e4]@31 e4 [b1,b2]@25 ~@7 g3@81 ~@16, ~@30 e4@32 ~ [c#2,c#3,b3,b4]@16 [a#3,a#4]@16 b4@30 ~ [d4,d5]@40 ~@33 f#4@25]/7", // A E G C B E D F# …
H: "[~@5 [d4,d5]@2 ~@15 g3@5 ~@4 e4@16 ~ d4@15 [c#2,c#3,a3,e4], d3@24 ~@3 [f#2,f#3]@4 [b3,b4]@33, ~@7 [b3,b4]@23 g4@34, ~@30 [e2,e3]@17 [d2,d3]@17]/2", // D A F# B E D
I: "[~@16 d4@7 ~ c4@6 ~ [b1,b2,f4]@16 [c2,c3,c4]@12 [b1,b2,b3]@4 [a1,a2]@16 ~@7 [f#3,d4,f#4]@8 ~ [g2,g3,b3]@16 [b2,b3]@16 c3@23 [b2,b3]@8 ~ [a2,e4,g4]@15 ~@17 g3@23 [f#2,f#3]@5 ~@4 f#4, c#4@14 f#4@16 [g3,g4]@58 ~@70 a3@17 d3@15 g2@26 ~@3 [e2,e3]@5, ~@6 a4@25 b3@15 ~ e4@41 ~@6 g4@64 ~ c5@34 ~@29 [d#2,d#3,a3]@2, ~@14 [d2,d3]@9 [c2,c3]@10 ~@30 c4@25 ~@6 d4@8 ~@25 [c4,e4]@33 ~@14 [d4,f#4,a4]@16 d5@29 ~@5, ~@79 [d2,d3]@17 ~@94 [g4,b4]@34]/7", // Bdim C B A D G B A7 …
J: "[~@23 a3@8 ~@8 [g5,b5]@4 ~@4 [d5,g5]@4 ~ g5@3 [b4,d5]@4 ~ d5@3 e4@12 g4@4 ~@32 b4@13 ~@3 [b1,b2,b3]@16 [d#2,d#3,a3]@16 b4@8 e4@8 b4@8 ~@24 c4@15 ~ [g3,b3,d4,g4]@31 ~ [c4,f#4], ~@5 [g4,g5]@27 ~@11 d6@5 ~@15 c5@47 b3@17 ~@32 g4@15 ~ g4@15 d4@17 ~@15 g2@34, ~@5 b3@19 ~@7 [b3,g4]@32 a5@29 g5@33 ~@65 [d3,f#4,a4]@34 ~@32, ~@11 [d2,d3]@6 ~@14 [d2,d3]@64 [g1,g2,d4,g4]@30 ~@34 [e2,e3,b3]@32 d2@33 ~@30 [f#2,f#3,a4]@2, ~@14 [c#2,c#3]@18 ~@12 b5@5 ~@2 b5@5 ~@3 g5@5 ~@15 [d4,f#4]@16 c4@18 ~@14 [d#4,f#4]@33 ~@23 e4@10 ~@63]/8", // G G5 Bm B D#dim G Cdim G …
K: "[~@46 [d2,d3]@17 ~@56 [a1,a2,a3]@7 ~ g2@16 b2@16 ~@6 [e4,e5]@2 ~@20 b2@4 ~@6 a4@2 ~@8 d3@15 [g2,g4]@2, ~@15 [b1,b2,d#4]@16 [e2,e3]@18 ~@14 [c#2,c#3,b3]@16 f#4@48 b3@33 ~@7 [c4,c5]@57, ~@16 b3@46 ~ [c#4,e4]@31 b3@26 ~@6 [d4,d5]@40 ~@33 f#4@25, ~@30 g4@49 a#3@16 [b1,b2]@25 ~@7 g3@81 ~@16, ~@30 e4@32 ~@16 [f#2,f#3]@16 e4@16 d#4@18 ~@31 c3@30 ~@2 a2@17 ~@16]/7", // D A E G B E C#7 C …
L: "[~@23 a3@8 ~@8 [g5,b5]@4 ~@4 [d5,g5]@4 ~ g5@3 [b4,d5]@4 ~ d5@3 e4@23 ~ e4@4 g4@4 f#4@24 [g4,g5]@8 [c4,d4,g5]@33 d5@5 ~@2 g5@15 ~ b5@3 c6@3 d6@2 g6@65, ~@5 [g4,g5]@27 ~@11 d6@5 ~@15 c5@64 ~@33 b3@96, ~@5 b3@19 ~@7 [b3,g4]@32 a5@57 ~@45 b5@4 ~@87, ~@11 [d2,d3]@6 ~@14 [d2,d3]@97 ~@128, ~@14 [c#2,c#3]@18 ~@12 b5@5 ~@2 b5@5 ~@3 g5@5 ~@31 d4@31 ~ [g2,d3,g3]@129]/8", // G G5 Bm G Csus2 G Em D …
})).s("gm_string_ensemble_2").gain(0.32)
// chords · string ensemble 1 · "#St.Strin"
const string_ensemble_1 = note("<~@22 A B ~@11 C D E F ~@4 G@2 H@2 I@2 J@3 ~@8 C D E F ~@10>".pickRestart({
A: "~@5 g3 b3 d4", B: "e4 ~", C: "~@8 b4@4 d5@4 d5@4 g5@3 ~@3 a5@3 b5@2 ~, ~@6 g5 ~", D: "b5@3 e5 e5@8 a5@2 b5@2",
E: "c6@8 a5@4 g5@4 a5@7 a5@3 ~ b5@2 c6@2 ~",
F: "[c6,e6]@5 ~ b5@2 [b5,d6]@7 ~ c6@6 [g5,b5]@2 [g5,b5]@8, ~@5 d6@2 ~@8 a5@7 ~@10", // C Bm G
G: "[~@8 f#5@2 [f#4,f#5]@2 [f#4,f#5]@2 [c5,a5,c6] [b4,g5,b5], ~@31 f#4@8 ~@25]/2", // F# F Em
H: "[[a4,f#5,a5]@7 ~ [g4,e5]@4 [f#4,d#5,f#5]@3 ~ [e5,g5]@15 ~ a5@8 [a4,f#5,a5]@8 [a4,f#5,a5]@8 [e5,c6,e6]@4 [d5,b5,d6]@4, ~@7 g5@4 ~@4 g4@16 [a4,f#5]@8 ~@25]/2", // D C D#m Em D C G D
I: "[[c5,a5,c6]@7 ~ [b4,g5]@4 [a#4,f#5,a#5]@3 ~@5 g3@4 b3@4 d4@3 ~ b5@8 [a4,a5]@4 [g#4,g#5]@4 [a4,a5]@8 [c5,a5,c6]@4 [b4,g5,b5]@4, ~@7 b5@4 ~@4 b4@15 ~ b4@9 ~@24, ~ [g5,b5] e4 ~]/2", // F Em D#m A G# A F Em …
J: "[[a4,f#5,a5]@8 [g4,e5,g5]@4 [f#4,d#5,f#5]@4 [g4,e5,g5]@8 [b4,b5]@4 [a4,a5]@3 ~ g5@16 [f#4,f#5]@15 ~ e5@16 [d#4,d#5]@16, ~@31 g4@16 ~@16 e4@16 ~@17]/3", // D C D#m C B A F# D#
})).s("gm_string_ensemble_1").gain(0.48)
// drums · kick
const kick = s("bd").struct(`<
~@10 A@8 B C@2 D@4 E F C@2 D@2 C@2 D C@4 D C@2 D@2 G D@6 C@5 D C@7 D@5 C@3 A ~@2
>`.pickRestart({
A: "x", B: "x ~@4 x ~@2", C: "x ~@2 x!2 ~@3", D: "x ~@2 x!2 ~@2 x", E: "x ~@3 x ~@2 x", F: "x!2",
G: "x ~@2 x!2 ~ x!2",
})).gain(0.48)
// drums · snare
const snare = s("sd").struct("<~@19 A@7 B A@7 B A@8 B A@7 B A@7 B A@8 B A B ~@3>".pickRestart({
A: "~ x ~ x", B: "~ x ~@2",
})).gain(0.48)
// drums · low tom
const low_tom = s("lt").struct("<~@18 A ~@15 B ~@8 C ~@7 B ~@7 D ~@14>".pickRestart({
A: "~@3 x", B: "~@7 x", C: "~@13 x ~@2", D: "~@6 x!2",
})).gain(0.56)
// drums · hihat
const hihat = s("hh").struct(`<
~@10 A B A B A B A B@2 C D@6 E C D@4 F G H C D@2 I D J D@2 E K@8 C D@2 L D@2 G M C D@2 N D@3 O ~ C P ~@3
>`.pickRestart({
A: "~@8 x!4 ~@4", B: "~ x", C: "~ x!7", D: "x!8", E: "x!5 ~ x ~", F: "x ~ x ~ x ~ x ~ x!2 ~@2 x ~ x ~",
G: "x ~ x ~ x ~ x ~ x ~ x!3 ~ x ~", H: "x!3 ~@3 x ~", I: "x!7 ~", J: "x!3 ~ x!4", K: "~ x ~ x", L: "x!6 ~@2",
M: "x!4 ~@2 x ~", N: "x ~ x ~ x ~ x ~ x ~ x!2 ~@4", O: "x!5 ~@3", P: "x!3 ~@5",
})).gain(0.48)
// drums · mid tom
const mid_tom = s("mt").struct("<~@18 A ~@7 B ~@7 A ~@8 C ~@7 A ~@7 A ~@14>".pickRestart({
A: "~@3 x", B: "~@6 x!2", C: "~@10 x ~@2 x ~@2",
})).gain(0.56)
// drums · open hat
const open_hat = s("oh").struct(`<
~@10 A B A B A B A B@2 ~@7 C ~@5 C ~ D ~@3 E ~ F ~@14 G ~@7 G ~@3 H I ~ J ~@3
>`.pickRestart({
A: "~ x ~ x", B: "~ x ~@2", C: "~@5 x ~@2", D: "~@3 x!2 ~@3", E: "~@7 x", F: "~@3 x ~@4", G: "~@6 x!2", H: "~@5 x!3",
I: "x!4 ~@4", J: "~@3 x ~@2 x ~",
})).gain(0.56)
// drums · high tom
const high_tom = s("ht").struct("<~@34 A ~@8 A ~@7 A ~@7 A ~@14>".pickRestart({
A: "~@5 x ~@2",
})).gain(0.48)
// drums · crash
const crash = s("cr").struct("<~@19 A ~@7 A ~@7 A ~@8 A ~@7 A ~@6 B A ~@7 B A B A ~@2>".pickRestart({
A: "x", B: "~ x",
})).gain(0.48)
// drums · ride
const ride = s("rd").struct("<~@11 A ~ A ~ A ~ B ~@9 C ~@16 D E@6 F ~@18 G ~@3>".pickRestart({
A: "~@5 x!2 ~", B: "~@5 x!3", C: "x", D: "~ x!7", E: "x!8", F: "x!5 ~@3", G: "~@3 x",
})).gain(0.48)
// drums · ride · soft notes
const ride_soft = s("rd").struct("<~@11 A ~ A ~ A ~ A ~@56>".pickRestart({
A: "~@5 x ~@2",
})).gain(0.32)
stack(
piano, bass, string_ensemble_2, string_ensemble_1, kick, snare, low_tom, hihat, mid_tom, open_hat, high_tom, crash,
ride, ride_soft
)
More by Mouskouri Nana
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.