0:00/0:00
// 'n Wonder — Corry Konings
// 75 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 63 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): JAZZ GTR.
// note: The whole transcription plays 10 ms ahead of the beat; the grid follows it, so its parts stay together.
setcpm(75/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, A@4 for four bars: edit a riff to change every repeat.
// chords · piano · "A.PIANO 1"
const piano = note(`<
A B C D E@2 F G@2 H I J K L@2 M@2 N@2 O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO@2 AP AQ AR
AS AT AU AV AW AX AY AZ BA BB BC BD@2
>`.pickRestart({
A: "~@3 c4 [g4,c5,e5,g5] ~ [e4,g4,c5,e5] [c4,g4,c5,e5,g5], c3@3 ~ c3@3 ~, [g4,c5,e5,g5] [e4,g4,c5,e5,g5] ~@2, ~@2 g3@6 ~@2 g3@5 ~", // C
B: "[a4,c5,f5,a5]@2 [c3,a4,c5,f5,a5]@2 [a4,c5,f5,a5]@2 ~ [g4,c5,e5,g5] ~@4 g4 c5 d5 c5, f2@3 c3 [c3,e5,g5]@4, ~@2 f3@2 [g4,c5]@2 e4 c4, ~@5 g3@3", // F C C5
C: "d5 ~@3 [d5,e5] d5 [c4,c5]@2 ~@6 g3@2, c3@3 ~ g2@4, g5 g3@3 ~ g3@2 ~, ~ e5@3 [e4,g5]@4 [g4,e5,g5]@4 [f4,d5,f5]@4", // Dsus2 C Em C Dm
D: "g4 [g3,c4] e4 g4 [c3,e4,c5]@4, c3@3 g3@5, [c5,e5] c4@3", // C5 C
E: "[c3@2 c3@3 ~ [c3,g3,c4,e4]@2 c2@2 c3@2 ~@4 f3@4 ~@2 [f3,c4,f4,a4]@2 ~@4 g3@2 c4@2, [c2,g3,c4,e4]@7 ~ [g3,d4,f4]@4 [c2,g3,e4,g4]@3 a3@5 c3@4 ~@2 c3@6, ~@7 c3 f2@4 [c2,e4,g4]@4, ~@16 [c4,f4,a4]@6 ~@2 c4@5 ~@3]/2", // C F C G7 C F
F: "~ c3 ~ c3 ~ c3 ~ c3, c2, [g3,c4,e4]!2 [g3,d4,f4] [g3,e4,g4]", // C G7 C
G: "[[f2,f3,c4,f4,a4]@6 [a3,c4,f4,a4]@2 g4@5 ~ c5 d5 d5 ~ g3@2 g4@2 c4@2 g4@2 [c4,c5]@2 g4@2 c4@2, ~@8 [c2,c3,c4,e4]@8 c3@15 ~, ~@13 g4@4 e5@9 ~@2 [a#4,e5]@4, ~@8 g5@5 ~@3]/2", // F C A#dim
H: "[f3,f4,a4,c5]@3 [c4,f4,a4] ~ g3 ~ [g3,g4], ~@6 c5 ~ [c3,e4,c5]@8, ~@4 g4@3 ~, ~@3 c4", // F G C
I: "~ c4 e5 [c4,c5] ~@3 g3, c3@8 g2@7 ~, [g4,c5,e5] g4 [g4,e5] [f4,d5], ~@5 g3@2 ~", // C Dm
J: "e4@2 [e3,e4]@2 f3 g3 ~@2 [c3,e4,c5]@8, [c3,c5]@2 [f4,c5] c4@5", // E C F5
K: "[e4,c5]@4 [d5,e5] d5 c5@2 g5@4 g4 g5 g4 g5, c2@7 c3, c3@12 g2@3 ~, ~ g5 ~@2", // C Dsus2
L: "[~@4 f4@2 a4@2 ~@4 c4@2 d4@2 [g3,e4]@4 [d5,e5] d5 ~@2 g5@4 ~@3 g4, [f2,f3]@4 c3@10 [g2,g4] [c3,c5], a4@4 ~@4 [e4,g4]@4 ~@8 g5@4 ~@5 e5@3, ~@2 c4@6 c2@7 ~ c2@14 ~@2, ~@5 g3@2 ~@4 c5@3 ~@2]/2", // C Dsus2 F G C Em
M: "[[f4,a4,c5]@5 ~ [f4,a4,c5]@2 [e4,g4,c5]@5 g4 c5 d5 d5 ~ c5@2 g5@2 c5@2 [e5,g5]@2 c5@2 [a#4,g5]@2 c5@2, [f2,f3]@6 ~@2 [c2,c3]@7 c2@13 e2@4, ~@4 c3@3 ~, ~@4 g5 ~@3, ~@17 e5@3 ~@12]/2", // F C Em D# F C
N: "[~ c3@2 [f3,f4,c5] ~@6 c3@2 [g2,e5]@2 [f4,d5] g2, f2@8 [c2,c5]@7 c3@5 ~@12, [a4,f5]@4 ~@4 c3@6 g4@2 ~@8 g4@3 ~@5, ~@2 c5@2 ~@4 [e4,g4]@4 e4@4 ~@2 g2@5 ~@9, ~@5 c4@3 [c2,g4,e5]@4 g1@4]/2", // F5 C Dm C Dm Em C
O: "c3@3 ~ c3@4 [c4,g4]@2 g3@2 ~@2 g3@2, c2@3 [c2,c3,c4,g4], [e4,c5]@3 ~ c3@2 ~@2", // C5 C
P: "[c5,e5,g5]@2 g4@2 [c5,e5] g5 g4 g5 [c5,e5,g5]@2 g4@2 [g4,c5,e5]@2 [c3,g4,c5,g5]@2, [c2,c3]@5 ~ c3@7 ~@3, ~ c2", // C C5 C
Q: "[c5,f5] a4 [a4,c5,f5] [f3,a4,c5,f5,a5] [c5,e5,g5] ~@2 c5, [f2,f3]@6 ~@2 [c2,c3]@7 ~, ~@5 g4@3, ~@3 g5", // F5 F C F C
R: "[c5,e5,g5] g4 [c5,e5,g5] [c3,g4] [c5,e5,g5] g4 ~ [c3,g4], c2!2, c3@5 ~@3 c3@4 [c5,f5]@4", // C C5 C C5 F5
S: "[b4,d5] g4 [b4,d5] [g3,g4,b4,e5] [g4,c5,e5]@2 ~ g5, g2@8 [c2,c3]@7 ~, g3@5 ~@7 g4@4, ~@13 c5@3", // Bm Em C
T: "[c5,e5] g4 [c5,e5] [c3,g4] [c5,e5] g4 [g4,c5,e5] [g4,c5,e5,g5], c2@7 ~ [c2,c3]@8, c3@5 ~@11", // C C5 C
U: "[a4,c5,f5] f4 [a4,c5] ~ [a4,c5] f4 [f4,a4,c5] [f4,a4,c5,f5], [f2,f3]@6 c3@9 ~, ~@6 f4@2 f2@7 ~, ~@7 f3@6 ~ f3 ~", // F Am F
V: "[c5,e5,g5] g4 [c5,e5,g5] g4 [b4,g5]@2 [a4,f5]@2, [c2,c3] [g2,g3]", // C Em Dm C G
W: "g4 ~ g4 [g2,c5] [c2,c3,e4,c5]@4, [c2,c3]@7 ~@9, e5 ~@3, ~ e4@3 ~@4", // C5 C
X: "~@2 g4@2 d5 e5@2 [d5,g5] [d5,g5]@4 ~@2 c3@2, c2, c3@13 ~@3, [e4,c5]@4 g5@3 ~@5 [c5,g5]@4", // G5 C C5
Y: "f4 ~@2 [f3,a4] [e4,g4]@2 ~ [c3,g4], [f2,c5] [c2,c5], f3 f4 ~ c4, ~ c4@3 c3@3 ~", // F Em C5 F5 C
Z: "~@2 g4@2 d5 e5@2 [d5,g5] [d5,g5]@4 [c2,c3,c5,g5]@4, [c2,c3]@11 ~@5, [e4,c5]@4 g5@3 ~@9", // G5 C5 C
AA: "[f4,a4]@2 c4@2 ~@3 c5 e4@2 c4@2 e4@2 c2 c3, [f2,f3]@2 a4 [f2,f3,f4] [c2,c3]@3 c4, ~@5 c4@3 g4@4 g4@4", // F C
AB: "[g4,c5]@2 e4@2 g4@2 c5 d5 ~@2 c4@2 ~@2 c4@2, [c2,c3]@11 ~ [e2,e3,e4,g4,c5]@4, ~@2 [c5,e5] ~", // C5 C
AC: "[a4,c5]@2 f4@2 f5@2 [f3,f4]@2 c5@2 e4@2 [g4,c5]@2 c5 d5, f2@7 ~ [c2,c3]@8, f3 [a4,c5] g4 ~", // Am F C5 C Am
AD: "d5 e5@3 [c5,e5]@2 g4@2 [g2,b4,g5]@3 ~ [g2,a4,f5]@3 ~, [c2,c3]@7 ~@9, g4 ~ g3@2", // C G Dm C
AE: "~@2 g4@2 ~ e4 c3@2 [c2,c3,e4]@8, [c2,c3]@3 g4@5, [c5,e5]@4 c4@11 ~", // C
AF: "[c3,e4,c5]@3 g4 c5 g5 f5 g5 e5 g5 d5 g5 ~@2 a#4@2, c2@6 c3@5 ~ e3@4, ~ c2, ~@6 c5 ~, ~@13 g5@3", // C
AG: "[f4,a4] c4 [c4,f4,a4] [f3,c4,f4,c5] [e4,g4] c4 ~ c4, f2@7 ~ [c2,c3]@7 ~, f3@5 ~@7 [e4,g4]@4", // F F5 Em C Em
AH: "[e4,c5]@4 ~@2 c5 g5 d5 e5 ~@2 g4@2 a#4@2, c2@15 ~, c3@7 ~ c3@8, ~ e4 g5 e4, ~@5 g4@5 c5@4 ~@2", // C
AI: "f4@2 ~@2 f4@2 g5 a5 ~@2 e5@2 ~@2 g4@2, f3 ~, [f2,a4]@6 [f2,c6]@2 [c2,c3]@7 ~, ~ c4@2 ~ [g5,c6]@2 c5@2", // F F5 C C5
AJ: "[c5,e5]@2 g4@2 [c5,e5]@2 g4@2 [c5,e5]@2 g4@2 d5 e5 c5@2, c2, c3@11 ~ [c3,g5]@4", // C C5
AK: "[a4,c5] f4 [a4,c5] [f3,f4] [g4,c5] e4 g4 [c3,e4], f2 c2, f3@3 ~ c3@2 c5@2", // Am F C5 C
AL: "d5 e5@3 e5 d5 c5@2 [g2,g4,e5]@4 [g2,f4,d5]@4, [c2,c3] g3, g5!2 ~@2", // C G7 C
AM: "[c3,e4,c5]@2 [e4,g4] c4 [e4,g4] [c3,c4] d4 [c3,g3], c2@11 ~ [c2,g4]@4, ~@4 c3@5 ~@7", // C Em C C5
AN: "[g4,c5]@2 e4@2 [g4,c5]@2 e4@2 g4@2 e4@2 d5 ~ c3@2, c2, c3@3 ~, ~@2 c5 [g4,e5,g5]", // C5 C
AO: "[[c5,f5]@2 a4@2 ~@3 [g4,e5] [g4,c5,e5]@4 ~@2 c5 d5 ~@2 g4 ~ [e5,g5]@2 g4@2 [e5,g5]@2 ~@2 [d5,f5]@2 [c3,c5,e5]@2, f2@6 f3@2 [c2,c3]@7 ~ c2@6 ~@2 c2@6 ~@2, f3@4 [c5,f5]@4 ~@5 g4@5 ~@8 g4@6, ~@8 [c3,e5]@2 ~ c3@3 ~@2]/2", // F5 C Em Dm C F5 C
AP: "[b4,d5] ~ [b4,d5] [g3,c5,e5] [g4,c5,e5]@2 ~ g4, g2@8 [c2,c3]@7 ~, g3@5 ~@11, ~ g4@3 ~@2 [c5,e5]@2", // Bm C
AQ: "[c5,e5]@2 g4@2 [c5,e5]@2 [c3,g4]@2 ~@2 g4@2 d5 e5 [c3,c5]@2, c2@8 c2@7 ~, c3@5 ~@3 [c3,c5,e5]@4 g5@4", // C C5 C
AR: "[c5,f5]@2 a4@2 [c5,f5]@2 [f3,a4]@2 c5@2 a4@2 [g5,a5] ~ [f2,f3,a5,c6]@2, [f2,f3]@7 ~ [f2,f3,f5]@4 c6@2 ~@2", // F5 F Gsus2 F
AS: "[e5,g5] c5 [c5,e5] [c2,e3,c5,g5] [g2,g3,b4,g5]@2 [g2,g3,a4,f5]@2, [c2,c3]@4 d5 ~@11", // Em C G Dm C
AT: "[c3,g4,e5]@4 [c5,g5]@2 [c3,g4]@2 [c5,g5]@2 g4 [c5,g5] [c5,g5]@4, c2@8 [c2,c3]@7 ~", // C C5 C
AU: "[c5,e5,g5] g4 [c5,e5,g5] [c3,g4] [c5,e5,g5] g4 [g4,d5,e5] [c3,g4,c5,e5], c2@7 ~ c2@7 ~, c3 ~ c3 g5", // C C5 C Em7 C
AV: "[c5,f5]@2 a4@2 [a4,c5,f5]@2 ~ [g4,c5,e5] [g4,c5,e5]@4 ~@2 c5 d5, f2@7 ~ [c2,c3]@6 c3@2, f3@5 ~ f3@2 ~@4 e4@4, ~@13 g4@3", // F5 F C
AW: "[c5,e5,g5] g4 [c5,e5,g5] g4 [c5,e5,g5] g4 [g4,d5,e5] [c3,g4,c5,e5], c2, c3@3 g5", // C Em7 C
AX: "[b4,d5]@2 g4@2 [b4,d5]@2 g3@2 [g4,c5,e5]@2 ~@2 [c5,e5]@2 c5 d5, [g2,g3]@3 ~ c2@4, ~@8 c3@5 ~ c3@2, ~@5 g4@2 ~", // Bm C G
AY: "[c5,e5] g4 [c5,e5] [c3,g4] [c5,e5,g5] g4 [g4,c5,e5] [c3,g4,a#4,c5,g5], c2@8 c2@7 ~, c3@5 ~@3 c3@5 ~@3", // C C5 C C7
AZ: "[c5,f5]@2 a4@2 [a4,c5,f5]@2 ~ [a4,c5,f5] [f3,a4,c5,f5]@4 [a4,c5,f5]@2 [a4,c5,f5,a5]@2, f2@7 ~ f2@7 ~, f3@5 ~ f3@2 ~@6 f3 ~", // F5 F
BA: "[c5,e5]@2 ~@2 c5 d5 [c3,e5]@2 [b4,g5]@2 g4@2 ~@2 g3@2, [c2,g5]@2 ~ [a4,f5], c3@5 ~@3 g2@7 ~, ~@2 g4@6 g3@5 ~@3", // C Em C5 Dm
BB: "[c3,c5,e5]@4 [d5,e5] d5 [e3,c5]@2 f4@2 c4@2 ~@2 [f3,c4]@2, c2@4 [f2,f3]@3 ~, g4 ~ g5@2 a4@2 [f4,a4]@2", // C Dsus2 C F5 F
BC: "[c5,e5]@2 g4@2 [d5,e5] d5 c5@2 [g4,b4,e5]@4 [g2,f4,a4,d5]@4, g2@11 ~@5, g3@3 ~ g3@4, g5!2 ~@2", // C Dsus2 Em Dm
BD: "[~@6 c5 d5!2 e5 ~@2 c6@2 d6 ~@2 [g5,e6]@15, c3@31 ~, [e4,g4,c5]@3 d4 e4 g4@5 g5@6 ~ d6 ~@14, ~ g3@29 ~@2, ~@2 c4@29 ~]/2", // C
})).s("gm_piano").gain(0.56)
// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
~@12 A B C D E F G H I J I K I L M N O P H P Q R G N S T U J Q V G H W J I K I L M X W J I K I L M Y Z AA ~
>`.pickRestart({
A: "c2@7 g1", B: "f1@8 c2@7 ~", C: "c2@11 ~ g1@2 c2@2", D: "f1@6 f1@2 c2@7 ~", E: "c2@8 c2@4 e2@3 ~",
F: "f2@6 f2@2 c2@7 ~", G: "c2@3 c2 g2@2 g1@2", H: "c2@3 c2 c2@2 c2@2", I: "c2@3 c2 c2@3 c2",
J: "f1@6 f1@2 c2@6 g1 a1", K: "g1@5 ~ g1@2 c2@6 g1@2", L: "f1@3 f1 f1@2 f1 a1", M: "c2@6 e2 f2 g2@4 g1@4",
N: "c2@5 ~ c2@2 c2@8", O: "c2@5 ~ c3@4 g2@2 c3@4", P: "f1@3 f1 c2@3 g1", Q: "c2@3 c2 c2@2 e2@2",
R: "f2@3 f2 c2@2 c2@2", S: "c2@6 c2@2 c2@6 g2 c3", T: "f1@6 f1@2 c2@3 ~ c2@2 g1 a1", U: "c2@3 c2 c2@2 c2 g1",
V: "f2@3 f2 c2@3 g1", W: "c2@5 ~ c2@2 c2@6 c2!2", X: "c2@5 ~ c2!2 c2@2 c2@2 g1@2 g1@2",
Y: "c2@4 c2 d2 e2@2 f2@4 f2@4", Z: "g2@2 g2 g1", AA: "c2",
})).s("gm_electric_bass_finger").gain(0.35)
// chords · acoustic guitar nylon · "NYLON GTR"
const acoustic_guitar_nylon = note(`<
A B C D E F G H I J K L M F G H I N K O P Q R S T U V W X F G H I J K Y Z AA AB AC AD N K AE AF Q R S T U V AG AF AH R
S T U V AI AJ AK AL
>`.pickRestart({
A: "[c4,e4] g3 [c4,e4] g3 [c4,e4] g3 e4 c4, c3@11 ~ [c3,g3]@4", B: "c4 a3 c4 a3 [e3,c4] g3 e4 c4, [f2,f3] c3, ~@3 g3",
C: "c4 g3 ~ g3 [b3,e4] g3 b3 g3, c3 g2, ~ [c4,e4] ~ d4", // E5 C
D: "[e3,c4]@2 g3@2 ~@2 g3 ~ [c4,e4]@8, c3@7 [c3,g3]@8 ~, ~ [c4,e4] ~@2", // C C5 C
E: "[c4,e4] g3 [c4,e4]!2 ~ g3 ~ g3, c3@3 [c3,e4,g4], ~@2 [d4,f4] ~", // C Dm
F: "a3 f3 ~ f3 g3 ~@2 c4, [f2,c4] c3, ~ a3 c4 g3, ~@5 e3@3", // F5
G: "[c4,e4] g3 ~ g3 ~ g3 ~ g3, c3@7 ~ c3@8, ~ [c4,e4] [d4,f4] [c4,g4]", // C Dm C5
H: "[a3,c4] f3 [a3,c4] f3 [e3,c4] g3 [e3,c4] g3, f2 c3", // Am C
I: "[c4,e4] g3 [c4,e4] [g3,c4] c3 g3 [e3,c4] [g3,c4], c3@8 ~@4 e4 ~@3", // C C5 C C5
J: "[c4,f4] [a3,c4] [c4,f4] [a3,c4] [c4,e4] [e3,g3] [c4,e4] [e3,g3], f3@8 c3@7 ~", // F5 Am F5 Am C Em C Em
K: "[c4,e4]@2 g3@2 [c4,e4]@2 g3@2 [b3,e4]@2 g3@2 b3 ~ g3@2, c3 g2, ~@3 d4", // C E5
L: "[e3,g3]@2 [g3,c4]@2 ~@4 e3@7 ~, c3@15 ~, ~@4 e3@2 c4@9 ~, ~@5 g3@10 ~", // Em C5
M: "[c4,e4] g3 [c4,e4]!2 ~ g3 ~ g3, c3@11 ~ [c3,e4,g4]@4, ~@2 [d4,f4] ~", // C Dm
N: "[c4,f4] [a3,c4] [c4,f4] [a3,c4] [c4,e4] [e3,g3] ~ g3, f3@8 c3@7 ~, ~@6 [c4,e4] ~, ~@13 c4@3", // F5 Am F5 Am C Em C
O: "[e3,c4] g3 [e3,c4] g3 [e3,c4] g3 [f3,d4] g3, c3", P: "[c4,e4] g3 [c4,e4] g3 [c4,e4] g3 [g3,e4] c4, c3@11 ~ c3@4",
Q: "a3 f3 [a3,f4] c4 ~ c4 [g3,e4] c4, f2 c3, c4@5 ~@3 g3@4 ~@4", // Dm C
R: "[c4,e4] g3 [c4,e4] g3 [c4,e4] g3 e4 c4, c3@7 ~ c3@8, ~@3 g3", // C
S: "[b3,d4] g3 [b3,d4] [g3,e4] c3 ~@2 e4, g2@8 [c4,e4]@3 e3@5, ~@5 c3@3, ~@3 g3, ~@13 c4@3", // Bm C
T: "[c4,e4] [g3,c4] ~ g3 [c3,c4,e4] [g3,c4] [e3,c4] [c4,e4], c3 ~, ~ [c4,e4] ~@2", // C C5 C C5 C
U: "[c4,f4] [a3,c4] [c4,f4] [a3,c4] [c4,f4] [a3,c4] [f2,f3,a3] [a2,c4,f4], f3@3 ~", // F5 Am F5 Am F5 Am F
V: "[c4,e4]@2 g3@2 [c4,e4]@2 g3@2 ~@2 g3@2 b3 ~ g3@2, c3 g2, ~@2 [b3,e4] d4", // C E5
W: "[e3,c4]@2 g3@2 [e3,c4]@2 g3 ~ [c4,e4]@8, c3@6 ~ [c3,g3]@9", // C C5
X: "[c4,e4] g3 [c4,e4]!2 ~ g3 ~ g3, ~@2 [d4,f4] [c3,e4,g4]", // C Dm C
Y: "[e3,g3]@2 [g3,c4]@2 ~@2 e4 d4 [c3,e3,c4]@8, c3@7 ~@9, ~@2 f3 ~@5, ~@5 g3@10 ~", // Em C5 C
Z: "[c4,e4] g3 [c4,e4]!2 ~ g3 ~ g3, c3@11 ~ [c3,a#3,e4]@4, ~@2 [c4,e4] ~", // C C7 C
AA: "~@3 f4 g3 ~@2 c4, [f2,f3] c3, ~ a3@3 ~ e3@3, ~ c4!2 g3", // F
AB: "[c4,e4] g3 ~ g3 ~ g3 ~ g3, c3@7 ~ c3@8, ~ [c4,e4]!2 [a#3,e4]", // C A#dim
AC: "f3 [a3,c4] [c4,f4] [a3,c4] [e3,c4] g3 [e3,c4] g3, f2 c3", // Am F5 Am C
AD: "[c4,e4] g3 [c4,e4] [g3,c4] c3 g3 [e3,a#3,e4] [g3,c4], c3 ~", // C C5 Edim C5
AE: "[e3,c4] g3 [e3,c4] g3 [g3,e4] c4 [a3,f4] c4, c3", // C Dm
AF: "[c4,e4] g3 [c4,e4] g3 [c4,e4] g3 [a#3,e4] c4, c3@11 ~ c3@4", // C A#dim
AG: "[g3,e4] c4 [g3,e4] c4 [g3,e4] c4 [a3,f4] c4, c3@7 ~ c3@8", // C Dm
AH: "~@3 f4 [a3,f4]@2 c4@2 ~@2 c4@2 [g3,e4]@2 c4@2, f2 c3, ~ a3@3 ~@4 g3@4 ~@4, ~ c4 ~@6", // Dm C
AI: "[e3,c4]@2 g3@2 c4 d4 e4@2 [a3,f4]@2 c4@2 [a3,f4]@2 c4@2, c3@7 ~@9, ~ e3 f3@2", // C Dm
AJ: "c4@2 ~@4 e4@2 [b3,e4,g4]@4 ~ f4@3, e4 c4 ~ [a3,d4], ~ g3@3 g2@4", // Em D5
AK: "~@4 c4@11 ~, c3@15 ~, ~ e3@14 ~, ~@2 g3@13 ~, ~@3 e4@12 ~", AL: "~ [g3,c4]@15, [c3,e3]@15 ~",
})).s("gm_acoustic_guitar_nylon").gain(0.4).pan(0.3)
// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
A B@2 C ~@8 D E D F G@2 H I J@8 K L M L N O@2 P Q R Q R S@4 T@8 U@8 V W@2
>`.pickRestart({
A: "[e4,g4,e5]@6 [c4,e4,c5] [e4,g4,e5]", B: "[[f4,a4,f5]@6 g4@2 g4@19 ~ [d4,d5]@4, ~@6 [e4,e5]@21 f4@4 ~]/2",
C: "[c4,e4,c5]", D: "e4@2 d4 c4", E: "a3 g3", F: "f4 e4", G: "[c4@6 d4@2 e4@4 c4@3 a3@8 g3@9]/2", H: "g4@3 f4",
I: "[c4,e4] [d4,f4], g3", // C Dm
J: "[[e4,g4,e5]@16 [f4,a4,f5]@8 e5@20 d5@2 c5@2 b4@6 d5@2 e5@3 d5 c5 d5 e5 ~ g5@8 c6@8 a5@10 c5@2 f5@2 a5@2 ~@12 [d4,f4,f5]@4 [c4,e4,e5]@16, c4@6 [b3,d4] c4@6 g3@3, ~@3 g4@7 ~@6, ~@6 e4@6 ~@2 e4@6 [f4,a4]@4 [e4,g4,g5]@3 ~@5, ~@63 f5@2 ~@63]/8", // Em F Dm C Bm F Em
K: "[c4,e4,c5]@7 ~ [d4,d5]@4 [e4,g4,e5]@4, ~@7 f4@4 ~@5", L: "[f4,a4,f5] [e4,g4,e5]",
M: "[c4,e4,c5]@2 [d4,f4,d5] [e4,g4,e5]", N: "g5@4 c6@3 a#5, [e4,g4]",
O: "[a5@3 c6 [e4,g4,g5]@10 [d4,f4,f5]@2, [f4,a4] ~@3]/2", P: "[c4,e4,e5]", Q: "~@2 g3 a#3, ~ [c4,e4]",
R: "[a3,f4] [g3,e4], c4", // Dm C
S: "[~ e5 g5 e5 c6@3 a#5 [a3,f4,a5]@4 g5@4 [c4,c6]@4 ~@2 [d4,f4]@2 [c4,e4]@6 [d4,f4]@2, ~@4 c4@28 g4@12 ~@4 c6@9 ~@7, ~ [g3,e4]@3 ~@2 g3@10, ~@6 e4@5 ~@5, ~@5 [b3,b5] ~@2]/4", // Dm C Dm C Dm C B
T: "[[e4,g4,e5]@16 [f4,a4,f5]@8 e5@8 g5@8 c6@4 d6@2 c6@2 b5@6 c6@2 c6@3 g5 c5 d5 e5 f5 g5@8 c6@4 e6@4 f6@4 c6@4 a5@4 f5@4 ~@12 [d4,f4,d5]@4 c5@9 e5 f5 g5 a5 b5 c6 d6, c4@6 [b3,d4] c4@6 g3@3, ~@3 g4@7 ~@6, ~@24 e4@24 ~@8 e4@24 [f4,a4]@16 [e4,g4,e5]@13 ~@3 [c4,e4]@12 [d4,f4]@4]/8", // Em F Dm Bm F Em C Dm
U: "[e6@3 c6 g5@6 e5@2 c5@2 e5@2 [f4,a4]@8 ~@2 g5@2 c6@2 d6@2 e6@3 c6 g5@6 e5@2 d5@2 c5@2 [b3,d4,b5]@8 c6@2 e5@2 g5@2 c6@2 c6@2 e6 c6 g5@6 e5@2 g5@2 c6@2 a5@10 g5@2 f5@2 c5@2 ~@12 [d4,f4,f5]@4 [e4,e5]@7 d5 [a3,f4,c5]@8, c4@6 ~ c4@6 g3@2 ~, [e4,g4]@8 c6@5 ~@51, ~@3 g4@7 ~@6, ~@24 e4@24 ~@8 e4@24 [f4,a4]@16 [e4,g4,g5]@12 ~@4 c4@15 ~]/8", // F Bm Dm E F Em F Em
V: "c4@2 ~ [d4,f4,d5], [e4,g4,e5]@3 ~, ~ g3", W: "[[e4,c5], c4 ~@31]/2",
})).s("gm_string_ensemble_2").gain(0.36)
// chords · string ensemble 1 · "STRINGS" · C Edim F5 C Edim F5 C
const string_ensemble_1 = note(`<
~@36
[[e5,c6] ~ [e5,c6] ~ [e5,c6] ~ [e5,c6] ~ [e5,c6] ~ [e5,c6] ~ [e5,a#5] ~ [e5,a#5]@2]
[[f5,c6] ~ [f5,c6] ~ [f5,c6] ~ [f5,c6] ~ [e5,c6] ~ [e5,c6] ~ [e5,c6] ~ [e5,c6] ~]
[[e5,c6] ~ [e5,c6] ~ [e5,c6] ~ [e5,c6] ~ [e5,c6] ~ [e5,c6] ~ [e5,a#5] ~ a#5@2, ~@14 e5 ~]
[[f5,c6] ~ [f5,c6] ~ [f5,c6] ~ [f5,c6]@2 e5 ~ [e5,c6] ~ [e5,c6]@4]
~@23
>`).s("gm_string_ensemble_1").gain(0.3)
// chords · orchestral harp · "HARP"
const orchestral_harp = note("<A B C D ~@8 E F G H I J K L M ~@6 N ~@4 O ~@8 P ~ L M ~@6 Q M ~@6 R S T U>".pickRestart({
A: "c3 ~ e4 ~ g4 ~ c5 ~ e5 ~ c5 ~ g4 ~ e4 ~", B: "f3 ~ a3 ~ f4 ~ c5 ~ c3 ~ e4 ~ g4 ~ e5 ~",
C: "c3 ~ e5 ~ g4 ~ c5 ~ [g3,b4] ~ g4 ~ d4 ~ g3 ~", D: "c3 ~ c4 ~ e4 ~ g4 ~ c5 ~@7",
E: "g4 ~ c4 ~ g4 ~ c5 ~ g4 ~ f4 ~ e4 ~ c4@2", F: "a4@2 c4 ~ f4 ~ c5 ~ c4 ~ g3 ~ e4 ~ g4 ~",
G: "e4 ~ g3 ~ e4 ~ c5 ~ e4 ~ g3 ~ e4 ~ g4 ~", H: "a4 ~ c4 ~ f4 ~ c5 ~ c4 ~ g3 ~ e4 ~ g4 ~",
I: "c3 c4 e4 g4 e4 g3 c4 g3", J: "a3@2 c4 ~ f4@2 a4@2 c3@2 g3@2 c4@2 e4 g4",
K: "c4 ~ g4 ~ c5 ~ e5 ~ [g4,e5] ~@3 [f4,d5] ~@3", // C Dm
L: "c5 ~@3 c5 ~@4 [e4,g4] [f4,a4] [g4,b4] [a4,c5] [b4,d5] [c5,e5] [d5,f5]", M: "[c5,e5] ~@15",
N: "~@4 g4 ~ c5 ~ [g4,c5] ~@7", O: "~@2 e4 ~ [e4,g4,c5] ~@11", P: "~@10 g4 e4 c5 ~@3",
Q: "~@2 g4 ~ c5 ~ g4 ~@2 [e4,g4] [f4,a4] [g4,b4] [a4,c5] [b4,d5] [c5,e5] [d5,f5]", // Em F G Am Bm C Dm
R: "~@5 e4 [g4,a#4] ~ [f4,a4] ~ c4 ~ [f4,a4]@2 c4@2", S: "e5 ~@3 e5 d5 c5 ~ e5 ~@3 d5 ~@3",
T: "[e4,c5]@2 ~ c4 e4@2 g4 ~ c5 ~ g4 ~ c5 ~ d5 ~", U: "[g4,c5] e5 ~@14",
})).s("gm_orchestral_harp").gain(0.4)
// chords · orchestral harp · "HARP" · soft notes
const orchestral_harp_soft = note("<~@19 A ~@7 B ~@13 C ~ A ~@7 D ~@7 E F G ~>".pickRestart({
A: "e4 ~@3 e4 ~@11", B: "~@2 e4 ~@5 e4 ~@7", C: "~@9 e4 ~@6", D: "~@4 e4 ~@11", E: "~@4 c4 ~@11",
F: "g4 ~@7 g4@2 ~@2 f4@2 ~@2", G: "~@2 g3 ~@13",
})).s("gm_orchestral_harp").gain(0.24)
// other · tinkle bell · "TINKLEBELL"
const tinkle_bell = note("<A B C D ~@9 E ~@3 F ~@18 G H G H I J K L ~@8 M ~ N ~@2 O ~ P Q R ~>".pickRestart({
A: "e7@4 ~@8 e7 ~ c7 ~", B: "f7 ~@7 e7 ~@7", C: "e7 ~@7 g7 ~@3 f7 ~@3", D: "e7 ~@15", E: "~@10 e7 ~ c7 ~@3",
F: "a7 ~@7 g7 ~@7", G: "c7 ~ c7 ~ c7 ~ c7 ~ c7 ~ c7 ~ a#6 ~ a#6 ~", H: "a6 ~ a6 ~ a6 ~ c7 ~ c7 ~ c7 ~ c7 ~ c7 ~",
I: "c7 ~ e6 ~ g6 ~ e6 ~ c7 ~@3 c7 ~ a#6 ~", J: "a6 ~@7 c7 ~@7", K: "c7 ~@7 b6 ~@3 g6 ~@3", L: "c7 ~@15",
M: "~@2 e7 c7 g6 ~@11", N: "c7 ~ e7 c7 g6 ~@11", O: "~@10 g7 ~ f7 ~ c7 ~", P: "~@12 c7 ~@3", Q: "~@8 b6 ~@3 a6 ~@3",
R: "g6 ~@15",
})).s("gm_tinkle_bell").gain(0.3).pan(0.8)
// drums · kick
const kick = s("bd").struct("<~@20 [x ~@2 x!2 ~@3]!40 [x!2] x ~>").gain(0.48)
// drums · rim
const rim = s("rim").struct("<~@20 A@7 B A@7 B A@7 B A@7 B ~@11>".pickRestart({
A: "~ x ~ x", B: "~ x ~@2",
})).gain(0.48)
// drums · snare
const snare = s("sd").struct("<~@52 [~ x ~ x]!8 ~@3>").gain(0.48)
// drums · hihat
// … 25 more lines
More by Corry Konings
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.