0:00/0:00
// Gnossienne n. 1 — Alice
// 57 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 54 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(57/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 · acoustic guitar steel · "STEEL GT"
const acoustic_guitar_steel = note(`<
A B C@2 D E F G@2 H I J K@2 L M N O B P@2 Q R F S@2 H T J U@2 L M N O V@3 W X F Y Z H T J AA@2 L M N O AB@2
>`.pickRestart({
A: "~@24 d4@19 ~@5, ~@11 [d3,g3]@10 ~@3, ~@23 g2@22 ~@3", // G5
B: "g3@2 ~@5 g3 ~@2 c4 ~@2 c4 ~ g3, [b3,g4]@9 b3@6 g3@6 ~@3 c3@23 ~, ~@6 g3@6 g4@6 [b3,d4]@6 e4@18 [c4,e4]@5 ~, ~@24 c4@6 ~@3 g4@14 ~, ~@9 g3@2 c4 g3@3 ~", // Em Bm C
C: "[c4@6 ~@9 c4@3 [c4,e4]@3 ~@3 d3@5 ~@3 f#4@3 ~@22 f#4@2 ~@9 a3@3 ~ g3@3 ~@3 b3@3 ~@6 b3@3 ~@3 g3@3, c3@22 ~@7 d3@15 a3@3 d3@24 ~@4 g3@9 g3@9 ~@3, e4@18 ~@18 g4@18 a3@11 d4@6 ~ b3@6 ~@3 d4@15, ~@6 g3@3 c4@3 g3@10 ~@2 [a3,f#4]@11 a3@6 d4@15 ~@4 d4@3 f#4@9 ~@9 b3@6 ~@3 [b3,g4]@6, ~@9 g4@13 ~@13 f#4@2 ~ f#4@19 ~@3 f#4 g4@10 ~ g4@18 ~@6]/2", // C D Em
D: "~@9 c4@3 c4@3 c4@3 [c4,g4]@3 g3@2 ~@4 g3@3 ~@9 c4@3 [c4,g4]@3 d4 ~@2, c3@11 ~ c3@11 ~, [c4,e4]@6 e4@5 ~ g4@9 ~@3, ~@6 g3@15 ~@3 c4@6 g3@3 c4@3 g3@10 ~@2, ~@33 e4@13 ~@2", // C5 C
E: "[d4,f#4]@6 ~@2 [d4,f#4]@3 ~@6 a3@4 [d4,g4] ~@11 f#4@3 ~@6 [d3,f#4]@3 [a3,d4]@3, d3@21 ~@5 d3@16 ~@6, ~@2 a3@2 [d4,f#4]@3 ~ d4@2 a3@2 ~ a3@2 ~, ~@12 a3@5 ~@8 f#4@7 ~@4 [d4,f#4]@9 ~@3, ~@13 g4@7 ~@4 g4@23 ~", // D G5 D D5 D
F: "~@2 g3 ~@4 [g3,d4] ~@4 g3!2 ~ c3, [g2,d4]@6 g2@2 ~@3 c3@4 ~, [g3,b3]@3 b3@5 e4@6 ~@2, ~ d3@2 g3@2 [g3,d4]@2 ~@3 c4@3 c4@2 ~, ~@2 d3@2 [c3,g3]@2 ~ [g3,e4]", // G5 G G5 C5 C
G: "[~@15 b3@3 ~@3 b2@3 c4@9 ~@9 [c3,c4]@5 ~@4 d4@3 d4@3 [d3,d4,a4]@3 [c3,d4]@6 ~@3 c3@3 ~@3 d3@6 ~@12 g3@3, [b2,f#4]@12 b2@8 ~@4 [c3,e4]@15 [g3,e4]@8 ~@25 b3@9 [g3,b3]@6 [g3,d4]@9, d4@2 d4@4 ~@6 c3@2 ~@2 [d3,f#4]@3 ~@5 [g2,d4]@6 [g2,b3]@2, ~@3 b3@6 [b3,f#4]@9 [b3,d4,f#4]@6 ~@9 c4@9 ~@5 d4@4 ~@3 f#4@6 f#4@5 ~ f#4@6 ~@12 d3@12]/2", // C D5 Csus2 B5 C G G5 D …
H: "g3@6 g3@3 ~@12 g3@3 b3@6 ~@3 g4@3 ~@2 b3@3 ~@3 b3@4, [c3,c4,d#4]@9 [g3,d#4]@6 [g3,g4]@8 ~ [g2,g3,d4]@24, ~@12 c3@6 c4@5 ~@7 d3@6 b3@2 ~@3 b3@3 ~@4, ~@32 b3@3 ~ g4@5 g4@6 ~, ~@37 c4@5 c4@5 ~", // Cm G G5
I: "[b3,g4]@6 ~@3 [b3,g4]@3 ~@3 b3@2 ~@3 b3@3 ~@7 d4@3 [a3,g4]@2 ~@7 [a3,d4]@3 [d3,f#4] ~@2, g2 ~, ~@6 d3@6 g4@5 b3@2 c4@4 ~@4 a3@6 ~@3 [a3,f#4]@9 ~@3, ~@12 b3@3 d3@5 ~@4 [d3,g4]@10 ~@5 d3@6 ~@3, ~@13 c4@5 g4@6 ~@24", // Em A7 D5 D G5
J: "c3@2 ~@7 c3@3 ~@6 c4@6 ~@9 b3@3 ~@9 d4@3, [g3,e4]@6 [g3,c4]@6 c3@6 ~@6 [g2,d4]@13 ~@11, ~@3 c3@6 e4@15 ~@3 d3@10 ~@5 f#3@6, ~@5 g3@2 ~ [g3,b3]@3 ~ [f#2,d4]@4", // C C5 G5 G D
K: "[g3@3 ~@15 e3@5 ~ g3@3 ~@12 g3@3 [g3,c4]@3 ~@6 g3@3 g3@3 ~@6 g3@3 ~@2 e4 ~@2 a3@3 ~ a3@3 ~@2 a3@3 ~@7 a3@3 [a3,f#4] ~@2, e4@15 ~@18 e4@12 e4@12 e4@11 ~@3 [d4,g4]@9 g4@13 ~@3, [e3,b3]@6 e3@6 e3@6 ~@6 [c3,e4]@12 c3@10 ~@2 c3@12 c3@10 ~ d3@15 ~ d3@7 ~@2, ~@3 g3@20 ~@4 g3@6 g3@6 ~@6 g3@6 ~@6 g3@6 ~@3 [g3,c4]@4 ~@14 [a3,f#4]@9 ~@3, ~@9 b3@6 [b3,e4]@8 ~@7 c4@12 ~@36 d4@15 ~@3]/2", // C5 D G5 E5 C C5 D E5
L: "~@6 a3@3 a3@3 ~@9 d3@2 ~@7 g3@3 ~@6 g3@3 g3@6, d4@5 d3@2 ~ g2@8, [a3,g4]@9 g4@14 ~@4 d3@6 g3@6 d4@9, ~@3 d3@9 f#4@11 ~ d4@12 d3@12, ~@12 a3@6 [a3,d4]@5 ~ g3@6 ~@3 b3@12 ~@3", // A7 D5
M: "b3@2 ~ b3@3 ~@9 b3@3 b3@3 [b3,g4]@3 b3@2 ~ b3@3 ~@14 b3@4, [f#3,g4]@3 g4@4 ~@4 g4@5, ~@6 d4@11 ~ d4@7 ~@5 d4@12 d4@6, ~@9 b3@6 ~@18 b3@6 b3@5 ~@4, ~@4 f#3@4 [e3,g4]@4 e3@3 ~", // Em Gmaj7 Em
N: "a3@2 ~@16 a2@6 g3@2 ~@13 g3@3 [c4,d#4]@6, c#4@8 [c4,d#4]@3 ~@5, a2@5 [a3,e4]@3 ~ g3@2 [g3,d#4]@3 g3 ~, ~ e3@2 [b3,d4]@5 ~@2 c4@4 ~@2, ~@6 a3@5 e3@12 ~@13 c3@12", // Cm A5 Cm Bm
O: "~@9 [b3,g4]@3 ~@3 b3@3 ~@2 b3@3 ~ g4@6 ~@3 [b3,g4]@3 ~@3 b3@3 ~@2 b3@3 ~, [g2,d4]@23 g2@24 ~, g3@6 ~@6 g4@6 g4@5 b3@9 ~@4 b3 c4@5 b3 c4@4 ~, ~@3 d3@21 ~@6 d3@17 ~, ~@12 b3 c4@5 b3 c4@5 ~@12 g4@6 g4@5 ~", // Em G5
P: "[c4@6 ~@9 c4@3 [c4,e4]@4 ~@2 d3@5 ~@3 f#4@3 ~@22 f#4@2 ~@9 a3@3 ~ g3@3 ~@3 b3@3 ~@6 b3@3 ~@3 g3@2 ~, c3@23 ~@6 d3@15 a3@3 d3@24 ~@4 g3@9 g3@9 ~@3, e4@18 ~@18 g4@18 a3@11 d4@6 ~ b3@6 ~@3 d4@14 ~, ~@6 g3@3 c4@3 g3@11 ~ [a3,f#4]@11 a3@6 d4@15 ~@4 d4@3 f#4@9 ~@9 b3@6 ~@3 [b3,g4]@5 ~, ~@9 g4@14 ~@12 f#4@2 ~ f#4@19 ~@3 f#4 g4@10 ~ g4@18 ~@6]/2", // C D Em
Q: "~@9 c4@3 c4@3 c4@3 [c4,g4]@3 g3@2 ~@4 g3@3 ~@9 c4@3 [c4,g4]@3 d4 ~@2, c3@11 ~ c3@11 ~, [c4,e4]@6 e4@5 ~ g4@9 ~@3, ~@6 g3@15 ~@3 c4@6 g3@3 c4@3 g3@11 ~, ~@33 e4@14 ~", // C5 C
R: "[d4,f#4]@6 ~@2 [d4,f#4]@3 ~@6 a3@4 [d4,g4]@2 ~@10 f#4@3 ~@6 [d3,f#4]@3 [a3,d4]@3, d3@23 ~@3 d3@16 ~@6, ~@6 a3@6 [d4,f#4]@11 ~ d4@6 a3@6 ~@3 a3@6 ~@3, ~@12 a3@5 ~@8 f#4@7 ~@4 [d4,f#4]@9 ~@3, ~@13 g4@7 ~@4 g4@23 ~", // D G5 D D5 D
S: "[~@15 b3@3 ~@3 b2@3 c4@9 ~@9 [c3,c4]@5 ~@4 d4@3 d4@3 [d3,d4,a4]@3 [c3,d4]@6 ~@3 c3@3 ~@3 d3@6 ~@12 g3@3, [b2,f#4]@12 b2@8 ~@4 [c3,e4]@15 [g3,e4]@8 d4@4 ~@21 b3@9 [g3,b3]@6 [g3,d4]@9, d4@2 d4@4 ~@6 c3@2 ~@2 d3@3 ~@5 [g2,d4]@6 [g2,b3]@2, ~@3 b3@6 [b3,f#4]@9 [b3,d4,f#4]@6 ~@9 c4@9 ~@5 f#4@7 f#4@6 f#4@5 ~ f#4@6 ~@12 d3@12]/2", // C D5 Csus2 B5 C G G5 G …
T: "[b3,g4]@6 ~@3 [b3,g4]@3 ~@3 b3@2 ~@3 b3@3 ~@10 a3@3 ~@9 [d3,f#4]@3, g2@4 ~ d4@2 [a3,d4], ~@6 d3@6 g4@5 b3@2 c4@4 ~@4 a3@6 ~@3 [a3,f#4]@9 ~@3, ~@12 b3@3 d3@5 ~@4 d3@15 d3@6 ~@3, ~@13 c4@5 g4@6 g4@9 g4@15", // Em D D5 D
U: "[g3@3 ~@15 e3@4 ~@2 g3@3 ~@12 g3@3 [g3,c4]@3 ~@6 g3@3 g3@3 ~@6 g3@3 ~@2 e4 ~@2 a3@3 ~ a3@3 ~@2 a3@3 ~@7 a3@3 [a3,f#4]@2 ~, e4@15 ~@18 e4@12 e4@12 e4@11 ~@3 [d4,g4]@9 g4@14 ~@2, [e3,b3]@6 e3@6 e3@6 ~@6 [c3,e4]@12 c3@10 ~@2 c3@12 c3@10 ~ d3@15 ~ d3@8 ~, ~@3 g3@19 ~@5 g3@6 g3@6 ~@6 g3@6 ~@6 g3@6 ~@3 [g3,c4]@4 ~@14 [a3,f#4]@9 ~@3, ~@9 b3@6 [b3,e4]@7 ~@8 c4@12 ~@36 d4@17 ~]/2", // C5 D G5 E5 C C5 D E5
V: "[g3@6 ~@15 g3@3 ~@6 c4@3 ~@6 c4@3 [c4,e4]@3 ~@3 c4@6 ~@9 c4@3 [c4,e4]@5 ~ d3@5 ~@3 f#4@3 ~@22 f#4@2 ~@9 a3@3 ~ g3@3 ~@3 b3@3 ~@6 b3@3 ~@3 g3@3, [b3,g4]@9 b3@6 g3@6 ~@3 c3@22 ~@2 c3@23 ~@6 d3@15 a3@3 d3@24 ~@4 g3@9 g3@9 ~@3, ~@6 g3@6 g4@6 [b3,d4]@6 e4@18 ~@6 e4@18 ~@18 g4@18 a3@11 d4@6 ~ b3@6 ~@3 d4@15, ~@24 c4@6 ~@3 g4@13 ~@11 g4@14 ~@12 f#4@2 ~ f#4@19 ~@3 f#4 g4@10 ~ g4@18 ~@6, ~@27 g3@6 c4@3 g3@9 g3@9 g3@3 c4@3 g3@11 ~ [a3,f#4]@11 a3@6 d4@15 ~@4 d4@3 f#4@9 ~@9 b3@6 ~@3 [b3,g4]@6]/3", // C Em Bm D Em
W: "~@9 c4@3 c4@3 c4@3 ~@3 g3@2 ~@4 g3@3 ~@9 c4@3 ~@3 d4 ~@2, c3@22 ~@2 c3@23 ~, [c4,e4]@12 e4@10 ~@2 g4@18 [c4,g4]@5 ~, ~@6 g3@12 [c4,g4]@5 ~ c4@6 g3@3 c4@3 g3@11 ~, ~@33 e4@14 ~", // C C5
X: "[d4,f#4]@6 ~@2 [d4,f#4]@3 ~@6 a3@4 [d4,g4] ~@11 f#4@3 ~@6 [d3,f#4]@3 [a3,d4]@3, d3@11 ~@2 d3@8 ~@3, ~@6 a3@6 [d4,f#4]@10 ~@2 d4@6 a3@6 ~@3 a3@6 ~@3, ~@12 a3@5 ~@8 f#4@7 ~@4 [d4,f#4]@9 ~@3, ~@13 g4@7 ~@4 g4@23 ~", // D G5 D D5 D
Y: "~@5 b3 ~ b2 c4@3 ~@3 [c3,c4]@2, [b2,f#4]@12 b2@8 ~@4 [c3,e4]@15 [g3,e4]@8 ~, d4 d4@2 ~@3 c3 ~, ~ b3@2 [b3,f#4]@3 [b3,d4,f#4]@2 ~@3 c4@3 ~@2", // C B5 C B5 Bm
Z: "d4!3 [d3,d4,a4] [c3,d4]@2 ~ c3 ~ d3@2 ~@4 g3, [d3,f#4]@6 f#4@6 f#4@5 ~ f#4@6 [g2,d4]@15 [g3,d4]@9, ~@8 b3@3 [g3,b3]@3 [g2,b3]@2, ~@3 d3", // D5 Csus2 D G5 G
AA: "[g3@3 ~@15 e3@5 ~ g3@3 ~@12 g3@3 [g3,c4]@3 ~@6 g3@3 g3@3 ~@6 g3@3 ~@2 e4 ~@2 a3@3 ~ a3@3 ~@2 a3@3 ~@7 a3@3 [a3,f#4]@2 ~, e4@15 ~@18 e4@12 e4@12 e4@11 ~@3 [d4,g4]@9 g4@14 ~@2, [e3,b3]@6 e3@6 e3@6 ~@6 [c3,e4]@12 c3@10 ~@2 c3@12 c3@10 ~ d3@15 ~ d3@8 ~, ~@3 g3@20 ~@4 g3@6 g3@6 ~@6 g3@6 ~@6 g3@6 ~@3 [g3,c4]@4 ~@14 [a3,f#4]@9 ~@3, ~@9 b3@6 [b3,e4]@8 ~@7 c4@12 ~@36 d4@17 ~]/2", // C5 D G5 E5 C C5 D E5
AB: "[~@9 [b3,g4]@3 ~@3 b3@3 ~@2 b3@3 ~ g4@49 ~@23, [g2,d4]@23 [g2,b3]@49 ~@24, g3 ~ g4!2 ~@12, ~ d3@7 ~@24, ~@12 b3 c4@5 b3 c4@5 ~@72]/2", // Em G5 G
})).s("gm_acoustic_guitar_steel").gain(0.2).pan(0.9)
// chords · acoustic guitar steel · "STEEL GT" · soft notes
const acoustic_guitar_steel_2 = note(`<
~ A ~ B ~ C D E F G H I ~ J K L M N A ~ B ~ C D E F G H I ~ J K L M N A ~ B ~ C D E F G H I ~ J K L M N O ~
>`.pickRestart({
A: "~@4 d4@13 ~@4 g4@3 ~@24", B: "~@9 d4@2 ~@37", C: "~@11 d4 a3 ~@3", D: "~@15 c4", E: "~@30 g3@9 ~@6 d4@2 ~",
F: "~@6 d4@2 ~@2 g3 ~@5", G: "~@12 c4@6 [c3,d#4]@5 ~@16 d3@8 ~", H: "~@20 d3@3 ~@25",
I: "~@5 c4 ~ [g3,d4] ~@2 g3@2 b3@4, ~@3 c3 ~@4", J: "~@6 c4@11 ~@13 a3@2 ~@16", K: "~@15 b3",
L: "~@2 b3 ~@7 b3 ~@4 e3", M: "~ a3 ~@6 c3@4 ~@3 g3", N: "~@6 g3@9 g3@9 ~@3 g3@12 g3@5 g3@3 ~",
O: "~@2 g3@3 g3@3 ~@8",
})).s("gm_acoustic_guitar_steel").gain(0.1).pan(0.9)
// bass · electric bass finger · "BASSO"
const bass = note(`<
~ A B C D E F G H I J K L M N O P Q A B C D E F G R I J K L M N O P Q A B C D E F G H I J K L M N O P Q S@2
>`.pickRestart({
A: "g1@6 ~ g1 c2@7 g1", B: "c2@6 ~ c2 d2@7 a1", C: "d1@5 a1 d2@2 g1@6 ~ g1", D: "c2@7 g1 c2@6 ~ c2",
E: "d2@7 a1 d1@5 d2 a1 d1", F: "g1@6 ~ g1 c2@8", G: "b1@6 f#1 b1 c2@4 c1@2 c2@2", H: "d2@4 c2@4 g1@7 g1",
I: "c2@8 g1@7 d1", J: "g1@6 a1 b1 d2@4 d1@4", K: "c2@6 b1 c2 g1@4 f#1@4", L: "e1@5 ~ e1 e2 c2@7 g1",
M: "c2@6 c2 c#2 d2@7 a1", N: "d1@3 d2@3 a1@2 g1@6 g1@2", O: "f#1@6 ~ f#1 e1@6 e2 e1", P: "a1@5 ~ a1@2 c2@8",
Q: "g1@7 d1 g1@6 d1 e1", R: "d2@4 c2@4 g1@6 ~ g1", S: "[g1@21 d1@3 g1@47 ~@25]/2",
})).s("gm_electric_bass_finger").gain(0.36)
// chords · string ensemble 2 · "STRINGS"
const string_ensemble_2 = note("<~@2 A@3 B@2 C D@2 E@7 F ~ A@3 G@2 C H@2 E@7 I ~ A@3 J@2 C D@2 E@7 K L@2>".pickRestart({
A: "[~@46 [f#3,f#4]@12 [a3,a4]@12 [d3,d4]@12 [b3,b4]@8 [d4,d5]@4 [e4,e5]@6 [c4,c5]@33 ~@11, ~@18 [d3,d4]@17 ~@37]/3", // F# A D B D E C D
B: "[~@12 [a3,a4]@10 [f#4,d5]@12 [e4,c5]@11 ~ [g3,d4,b4]@25 ~@7 c5@4 e5@5 g5@4 b5@5, ~@22 d3@25 ~@31 c4@18]/2", // A D C G
C: "[b3,f#5]@22 [c4,e5]@11 d5@3 [e4,c5]@10 ~ [d4,a4]", // B5 C D5
D: "[~@11 d5@12 ~ [d4,g4]@12 ~@5 d5@6 ~@12 g5@11 ~@10 [c4,c5]@4 [d4,d5]@5 [e4,e5]@3 [f#4,f#5]@3 [d4,g4], ~@10 c4@13 ~@13 [g3,b4]@11 [c4,c5,d#5]@23 ~ [b3,b4]@10 ~@15, ~@3 g3]/2", // G5 C D E F# G5 G Cm …
E: "[g5@8 ~ a4@3 [b4,b5]@11 [f#4,d5,d6]@24 [e4,c5,c6]@24 [b4,b5]@12 [a4,a5]@12 [e4,g4,g5]@24 [c4,g4,e5]@48 [d4,a4,f#5]@48 [g3,b5]@24 [f#3,a5]@23 ~ b4@24 [a2,c#5,e5]@24 [d#4,g5]@24 ~, ~@8 a5@4 ~@59 d4@24 ~@120 d5@47 [e3,g5]@25 ~@49]/7", // B D C B A Em C D …
F: "~@12 [g3,b4]@5 ~ c5@5 [b3,d5]@20 ~@5, ~@17 a3@6 ~@25", // G Bm
G: "[~@12 [a3,a4]@10 [f#4,d5]@12 [e4,c5]@12 [g3,d4,b4]@28 ~@4 c5@4 e5@5 g5@4 b5@5, ~@22 d3@25 ~@31 c4@18]/2", // A D C G
H: "[~@11 d5@12 [d4,g4]@13 ~@5 d5@6 ~@12 g5@11 ~@10 [c4,c5]@4 [d4,d5]@5 [e4,e5]@3 [f#4,f#5]@3 [d4,g4], ~@10 c4@13 ~@13 [g3,b4]@11 [c4,c5,d#5]@23 ~ [b3,b4]@10 ~@15, ~@3 g3]/2", // G5 C D E F# G5 G Cm …
I: "~@12 [g3,b4]@6 [a3,c5]@5 ~ b3@22 ~@2, ~@23 d5@22 ~@3", // G Am
J: "[~@12 [a3,a4]@10 [f#4,d5]@12 [e4,c5]@12 [g3,d4,b4]@25 ~@7 c5@4 e5@5 g5@4 b5@5, ~@22 d3@25 ~@31 c4@18]/2", // A D C G
K: "~@12 [g3,b4]@6 [a3,c5]@5 [b3,d5]@25", L: "[~@12 [g4,e5]@5 [d4,a4,f#5]@6 [g4,b4,g5]@47 ~@26, ~@11 c4@7 ~@78]/2",
})).s("gm_string_ensemble_2").gain(0.18).pan(0.4)
// chords · piano
const piano = note(`<
~ A B@2 C D E@2 F G@2 H I@3 J K L M N O P Q R S T U@2 V W X Y Z AA AB AC N O P Q R S T AD AE V W X AF Z AA AB AG@2
>`.pickRestart({
A: "~@12 c5@11 ~",
B: "[[c5,e5]@23 ~ [a4,d5,g5]@8 ~ [a4,d5,f#5]@23 ~@16 b3@6 ~@9 d4@9, ~@3 g4, ~@13 g3@3, ~@27 b3@5]/2", // C Dsus4 D
C: "[c4,e4,g4]@12 ~@6 e4@5 ~ [c4,g4]@6 ~@6 e4@2 ~ [e4,g4]@3 ~@6, c3@23 ~, ~@6 g3@7 ~@2 g3@5 ~@4, ~@15 c4@8 ~@10 c4@9 ~@6", // C C5 Em
D: "[d5,g5]@8 ~ [d5,f#5]@23 ~@4 [d5,f#5]@2 ~ g5@2 ~ a5@5 ~, a4@31 ~@5 a4@5 ~@7, ~@39 d5@8 ~", // G5 D
E: "[[g4,b4]@22 ~@2 c5@10 ~@2 c5@6 e5@3 d5@15 ~@12 [g4,c5,e5]@9 ~@6 c5@3 e5@3 c4 ~@2, ~@72 c4@3 ~@6 c4@11 ~@4, ~@28 g4@3 ~]/2", // G C
F: "[a4,d5,f#5]@9 ~@3 a4@3 d5@4 ~@5 [g4,b4,d5]@6 d4 ~@5 [g4,b4]@3 [a4,c5]@2 ~ [b4,d5]@3 g4 ~@2, d4@7 ~@2 d4@15 g3@24, ~@33 d4@10 ~@5", // D G Am Bm
G: "[c4@12 g5@6 c4@5 ~ [g3,g4,b4,d5]@12 ~@3 g4@2 ~@4 d4@3 [g4,b4]@6 d4@3 ~@6 g4@2 ~ [b4,d5]@5 ~ d3@6 d3@3 ~@12 d3@3, [c5,d#5]@21 ~@15 d4@6 g3@29 ~@10 d3@6 d3@6 ~@3, ~@57 [a4,c5]@7 ~@20 [e4,g4]@12, ~@20 d4@3 ~ [d4,f#4,a4]@6 [d4,f#4,a4]@2]/2", // G Bm Cm Am Em D
H: "[c3,c4]@6 ~@15 c4@3 b3@6 ~@3 b3@3 a3@4 ~@5 d4@3, [e4,g4]@12 e4@6 e4@7 ~@11 [f#3,d4,f#4]@12, ~@6 c3@19 ~@5 g3@7 ~@5 a3@6, ~@9 c4@6 [c4,g4]@9 [d4,g4]@13 ~@11", // C Em D C5 G5
I: "[e3@2 e3 ~@3 [g4,b4]@2 c4@2 ~@5 c4 ~@4 c4 ~@2 e4 ~@2 a3@2 ~@9 d4 [d4,f#4]@2 [g3,b3]@2 ~@2 d4 ~@2 b3, b3@8 ~@2 g3@2 e4@4 [c4,e4]@4 e4@3 ~ d4@4 ~@2 d4@2 a4@8 ~@8, [e4,g4]@3 e3@5 c3@10 c3@6 d3@7 d3@2 a3@3 a3@4 ~@2 g3@4 g3@2, ~@4 e4@4 [e4,g4]@4 g3 c4 g3@5 g3@2 f#4@3 f#4@10 d3@4 ~@5 b3@2 [b3,d4,g4]@3, ~@4 g4 [f#4,a4]@3 ~@3 c4@2 g4@9 [c4,g4]@2 ~@5 a3@3 d4@3 [d4,f#4]@3 ~@2 [d4,g4]@5 ~@3]/3", // G D G C Em G F#m C5 …
J: "f#3@3 ~ d4 [d4,f#4]@3 [b3,e4]@2 ~@4 b3@2, [d4,f#4]@5 ~@3 g4@5 ~@3, ~@3 f#3@3 ~@2 e3@8, ~@5 b3!2 ~, ~@11 e4@2 [e4,g4]@3", // D E5 D Em
K: "[a3,c#4]@6 a3@3 [b3,d4]@6 [c#4,e4]@8 ~ [c4,d#4]@6 ~@12 c4@6, a2@23 ~ c3@24, ~@5 c4@2 ~, ~@3 [d#4,g4]", // A Bm C#m Cm D#
L: "[b3,d4]@3 ~@12 b3, g3@24 g3@15 g3@8 ~, g4@15 g4@21 g4@11 ~, ~@9 b3@2 ~@5, ~@30 d4@12 d4@5 ~", M: "g4 c5",
N: "g5@22 ~@2 [a4,d5,f#5]@9 d5@3 d5@3 [d5,g5]@6 [a4,d5,g5]@3, ~@3 f#5, ~@6 a4 ~", // D G5 Dsus4
O: "a4@2 ~ a4 ~@3 g4 g4@4 ~@3 g4, [d5,f#5]@2 f#5@2 ~@3 d5, ~@2 a4!2 b4@4, ~@5 d5@3 ~@5 g4@2 ~", // D
P: "e4@6 ~ e4 e4@2 e4 ~ [e4,c5]@4, c5@3 ~, ~@6 g4@2 g4@5 ~@3", // C
Q: "a4@6 ~ a4@2 ~@5 a4@2, f#4, d4@3 ~@6 f#5@7, ~@9 a4@2 a4@2 d5@3, ~@5 d5 a5@2",
R: "[g4,b4]@5 ~ g4@2 e4@5 ~ e4@2, d5@8 c4@3 ~@2 g4@3", S: "~@5 b4@3 c5@3 c5@2 ~ c5@2, [d5,f#5]@8 e5@5 [g4,e5]@3",
T: "f#4 a4 ~ f#4 [d4,g4] ~@2 g4, d5@8 ~@5 d5@3, ~ c5 b4@2, ~@5 a4@3 ~@2 d4@6", // G5
U: "[[g4,c5]@5 [g4,c5]@3 g4@4 b3 [d4,g4]@2 b3 b3@3 b3 ~@2 d4 ~ d4@3 ~ d4 [d4,f#4] ~ d3, d#4@3 ~@5 b4@16 ~@8, ~@8 d4@2 ~@3 b3 ~@2 [d4,g4]@4 d4@2 ~@2 [f#4,a4]@6 [d4,f#4,a4]@2, ~@21 [b3,g4]@3 ~@3 d3@4 ~]/2", // C5 G5 D G5 F#m D Em
V: "e4@2 c4@2 c4 [c4,e4,g4]@3 [g3,b4]@3 d4 [f#3,d4,a4]@4, [c3,g4]@3 ~@5, c4@2 ~@10 d4@3 ~@9", // C G D C5
W: "[e3,b3]@9 ~@3 b3@3 b3@3 ~@3 d4@3 ~@15 [c4,g4]@6 c4@2 ~, g4@5 f#4@3 g4@5 ~@3, ~@9 e3@15 [c3,e4]@23 ~, ~@4 e4@4 ~@3 c4@2 ~@3, ~@3 [b3,g4] ~ g3!2 ~", // E5 C5 C Em
X: "c4@6 ~@3 c4@3 ~@3 c4@3 ~@3 e4@2 ~@7 a3@9 [d4,f#4]@6 d4 ~@2, c3@23 ~ d3@22 ~@2, e4@5 e4@2 ~ [d4,f#4]@4 ~@4, ~@6 g3@12 [c4,g4]@5 ~@25", // D C5
Y: "~@2 a3 ~@3 [f#4,a4]@2 [g3,d4]@4 ~@3 b4, [d3,d4]@4 ~@3 g4, f#4@6 ~@2 b4@7 ~, ~@3 a3@2 a3@3 ~@4 g3@4, ~@4 [e4,g4]@4 ~@5 d4@3", // F#m G5 D Em
Z: "[f#3,d4]@4 ~@3 a4 [e3,b3]@3 ~@3 g4@2, a4@6 f#4@2 g4@5 e4@3, ~@4 f#3@4 ~@3 e3@5, ~@5 d4@3 ~@4 b3@4", // D E5
AA: "[a3,c#4]@2 a3 ~@3 [c#4,e4]@2 [g3,c4]@4 ~@2 d#4@2, a2 c3, ~@3 [b3,d4]@5 d#4@5 g4@3", // A C#m C5 Bm
AB: "~@5 g3@2 g3 ~@5 d4@3, [g2,d4]@23 ~ g2@24, b3@12 b3@11 ~@4 g3@6 b3@9 ~@6, ~ d3@2 ~@2 d3@3, ~@12 g3@3 ~", // G5
AC: "~ c5", AD: "[g4,c5]@15 [g4,c5]@9 [d4,g4]@12 b3@3 [d4,g4]@6 b3 ~@2, d#4@9 ~@15 b4@22 ~@2, ~@13 b3 ~@2",
AE: "b3@3 b3 ~@2 d4 ~ d4@3 ~ d4 [d4,f#4] ~ d3, [d4,g4]@2 d4 ~ [f#4,a4]@3 [d4,f#4,a4], ~@15 [b3,g4]@8 ~@10 d3@12 ~@3", // D G5 F#m D Em
AF: "~@6 a3@3 ~@9 [f#4,a4]@5 ~ [g3,d4]@12 ~@9 b4@3, [d3,d4]@23 ~@19 g4@6, f#4@6 ~@2 b4@7 ~, ~@9 a3@6 a3@8 ~@13 g3@12, ~@12 [e4,g4]@11 ~@16 d4@9", // F#m G5 D Em
AG: "[~@15 g3@6 g3@52 ~@23, ~ d3@2 ~@13, ~@12 b3@61 ~@23]/2",
})).s("gm_piano").gain(0.21).pan(0.1)
// chords · piano · soft notes
const piano_soft = note(`<
~@3 A B C ~@2 D E ~@3 F G H I J ~ K L M N O P Q R S T U V W X Y Z ~ K L M N O P Q AA AB T U V AC X Y Z AD@2
>`.pickRestart({
A: "~@12 d4 ~@3", B: "~@42 g3@5 ~", C: "~@33 a4 ~@8 a4@5 ~", D: "~@6 a4 ~@9", E: "~@6 g4@13 ~@2 g4@2 ~@22 g4 ~@2",
F: "~@5 c4 g3@2 ~@4 d4@2 ~@2, ~@12 a3 ~@3", G: "~@3 d3 ~@4", H: "~@7 b3 ~@7 a3, ~@3 f#3 ~@4", I: "~@11 d#4 ~@4",
J: "~@7 d4@3 ~ b3 b3@3 ~, ~@2 b3@2 b3@5 ~@7, ~@3 d4@4 ~@9", K: "~@14 a4 ~", L: "~@2 a4 ~@9 g4 ~@3",
M: "~@11 e4 ~ g4@3", N: "~@6 a4 ~@9, ~@3 d4@13", O: "~@5 b4@3 ~@3 c4@5, ~@2 g4 ~@5", P: "~@10 g4@2 g4 ~@3",
Q: "~@3 f#4@3 ~@5 g4@3 ~@2", R: "~@3 d#4@2 d#4@3 ~@2 d4@3 ~ b3 [d4,g4]", S: "~@4 b3 ~@2 d4 ~@8",
T: "~@3 e4@2 ~ c3@2 ~@2 d4 ~@5", U: "~@9 b3@3 ~@33 e4@2 ~, ~@42 g3@5 ~",
V: "~@12 c4@3 ~@6 g3@2 ~@10 d4@3 [d4,f#4]@3 ~@3 a3@3 a3@2 ~", W: "~@7 d4 ~@8", X: "~@15 a3", Y: "~@3 c4, ~@11 g3@5",
Z: "~@9 g3@6 ~@3 d3@5 ~@22 g3@3, ~@7 b3", AA: "~@9 d#4@6 d#4@9 ~@18 b3@3 [d4,g4] ~@2", AB: "~@12 b3@3 ~@6 d4@2 ~@25",
AC: "~@21 d4@2 ~@25", AD: "[~@9 g3@6 ~@3 d3@55 ~@23]/2",
})).s("gm_piano").gain(0.12).pan(0.1)
// drums · kick
const kick = s("bd").struct("<~ A@4 B@4 C A B D@5 A@5 B@4 C A B D@5 A@5 B@4 C A B D@5 A D ~>".pickRestart({
A: "x ~@6 x!2 ~@6 x", B: "x ~@7 x ~@6 x", C: "x!2", D: "x ~@6 x!2 ~@7",
})).gain(0.53)
// drums · snare
const snare = s("sd").struct("<~ [~ x ~ x]!51 [~ x ~@2] ~>").gain(0.53)
// drums · hihat
const hihat = s("hh").struct(`<
A B C D E F G H E H I J@3 D E K L M J D N F G H E H I J@3 D E K L F C D E F G H E H I J@3 D E K L O ~
>`.pickRestart({
A: "~@4 x!2 ~@2", B: "x ~ x!3 ~ x ~ x!8", C: "x!7 ~ x!5 ~ x!2", D: "x!7 ~@2 x!7", E: "x!15 ~", F: "x!5 ~ x!10",
G: "~ x!2 ~ x ~ x!10", H: "x!16", I: "x!6 ~@3 x!7", J: "x!7 ~ x!8", K: "x!8 ~ x!7", L: "~ x!13 ~@2", M: "~ x!15",
N: "x!3 ~ x!11 ~", O: "~ x!7 ~@8",
})).gain(0.23)
// drums · mid tom
const mid_tom = s("mt").struct("<~@52 [~@5 x!2 ~@9] ~>").gain(0.53)
// drums · open hat
const open_hat = s("oh").struct(`<
~@2 A@2 B ~@3 B ~ C A@4 B ~ D ~ A@2 B ~@3 B ~ C A@4 B ~ D ~ A@2 B ~@3 B ~ C A@4 B ~ D ~@2
>`.pickRestart({
A: "~@7 x ~@8", B: "~@15 x", C: "~@3 x ~@4", D: "~@7 x",
})).gain(0.31)
// drums · splash
const splash = s("cr").struct(`<
~@3 A ~@2 B ~@3 A ~@3 A ~ A B@2 ~ A ~@2 B ~@3 A ~@3 A ~ A B ~@2 A ~@2 B ~@3 A ~@3 A ~ A B C ~
>`.pickRestart({
A: "~ x", B: "x", C: "x ~@6 x!2 ~@7",
})).gain(0.31)
stack(
acoustic_guitar_steel, acoustic_guitar_steel_2, bass, string_ensemble_2, piano, piano_soft, kick, snare, hihat,
mid_tom, open_hat, splash
)
More by Alice
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.