0:00/0:00
// Droomland — Andre Hazes
// 98 bpm, 6/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Full arrangement: all 56 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(98/6)
// 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 1"
const piano = note(`<
A@5 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@2 AF AG AH AI AJ AK@3 AL AM AN AO@2 AP AQ AR AS
AT@3
>`.pickRestart({
A: "[~@50 g4@4 b4@4 g4@4 ~@21 a5@4 ~@17 f5@7 g4 [c5,g5]@4 g4@4 ~ c5@4 ~@9 g4@3 b4@5 g3@4 [b3,d4,b4,d5]@4 g3@4 ~ b3@4 g3@4 ~@9 [d4,d5]@4 d4@4 g4@4 d5@4 ~ [g4,c5]@4 [e4,a4]@4 [g4,c5]@4 ~ a4@3 ~ f#4@4 [a3,d4,a4]@4 g4@4 ~@5 g4@7 ~@2 [g4,d5]@8, ~@37 g3@25 ~@9 [a3,c5]@17 ~@3 g3@20 ~@5 g3@13 d#5@8 d3@22 ~@4 d3@22 ~@3 d3@26 g2@26, ~@38 b2@24 a2@25 b2@23 ~@2 c3@20 c5@6 ~@16 d5@6 ~@11 b4@5 ~@29 f#3@9 ~@5 d3@21, ~@38 [b3,d4]@7 ~ [b3,d4]@15 ~@14 d5@4 f#5@9 ~@11 g5@12 ~@14 g5@13 ~@25 [g5,d6]@7 ~@2 b3@14 ~@11 c4@18 ~@3 d4@4 b4@7 ~@11, ~@42 d3@19 ~@6 d3@21 ~@7 [b3,b5]@16 ~@10 c4@17 ~@17 [d4,b5]@8 ~@4 g3@19 ~@7 g3@8 a3@5 ~@17 g3@17]/5", // C5 Bm D C5 A5 C5 D5 G5 …
B: "~@8 [b4,g5]@7 ~ [g2,g4]@8 ~@4 d4@4 g4@4 [d4,d5]@4 c#5@4 g4@4, g2@4 ~@3 d3@3 [a#3,c#4,e4]@2, [d5,b5]@8 b3@13 ~@3 d5@7 ~ g3@16, ~@4 d3@17 ~@3 b2@17 ~@7", // Em G D A#dim G
C: "c5 ~ g4 c5 e5 g5 ~@2 [f#4,d5]@2 d4!2, a2@17 ~@11 a2@20, ~@4 e3@12 ~@8 [d3,a4,f#5]@7 ~ d3@16, ~@4 e4@8 c4@11 ~@25, ~@8 g3@15 ~@17 [a3,a4]@8", // D A
D: "~@4 e3@4 [e3,c4,g4]@6 ~@2 e4@4 g5@4 ~@8 d4@4 f#4@3 ~@5 a4@4, a2@16 [e3,c4,c5]@7 ~ d2@24, [e4,c5]@7 ~@17 [c5,f#5]@8 d3@16, ~@7 a2@5, ~@5 [a3,c4,f#4]", // C Cdim F#dim
E: "[g2,c#4]@4 e4@4 [g4,c#5]@4 [a#4,e5]@4 g5@4 e6@4 [g5,d6]@3 ~@2 d3@3 [g3,b3]@3 ~ d3@4 [g3,b3]@4 d3@4, ~ [e3,a#3]@5 ~@6, ~ g2@2 g2@3, ~@16 c#5@7 ~@5 [d5,b5]@3 ~ [b4,g5]@7 ~ [g4,d5]@8", // Gdim A#dim G5 G Edim G Em G5
F: "[b3,g4]@7 ~ [g3,d4]@7 ~ [g3,b3,g4]@8 b2@4 d4@4 ~@4 d5@3 ~ [a#2,a#3,f4,a#4]@8, g2@12 ~@2 d3@7 ~@3, ~@4 d3@8 d5@4 g3@5 ~@3, ~@32 g4@7 ~@9, ~@18 d4@5 ~", // Em G5 G A#5
G: "d4@4 ~@12 f#4@4 ~ g5@2 ~ d5@4 [a4,f#5]@4 [f#4,d5]@4 [d4,a4]@4 [f#3,d4]@4 [a3,f#4]@4, a2@25 ~@23, [f#4,a4]@2 d4@3 ~@7, ~@4 a3@16 ~@4 f#2@23 ~, ~@12 a4@8 f#5@2 ~ a5@4 ~@21", // D D5 D F#m
H: "[c#4,a4]@4 ~@4 [c#4,g4]@6 ~@2 [e4,c#5]@6 ~@2 [g4,e5]@7 ~ [a3,f#4]@7 ~ [c#4,a4]@8, e2@22 ~@2 [a1,a2]@23 ~, ~@4 c#3@19 ~@25, ~@8 a3@15 ~@25", // F#m C#dim C#m C D F#m A
I: "~@20 d5@4 ~ f#5@3 d5@4 a4@4 f#4@4 a4@8, d2@12 f#3@7 ~@5 [d2,d3]@24, [f#4,d5]@4 d4@8 e5 ~@11, ~@4 a2@8 e4@12 a5@11 ~@13, ~@8 d3@8 [a2,a4]@9 ~@23", // D A
J: "[c4,a4] d4 [c4,a4] [f#3,d4] [c4,g4] [f#3,d4] [c4,f#4] d4 [c4,f#4] d4 d5 d4, d2@2 a3 ~@3, ~@4 a2@18 ~@2 [d2,d3]@23 ~, ~@4 d3@5 ~@15", // F D C5 D Cdim D
K: "[b3,g4] d4 [d3,b3,g4] d4 ~ b2 [b3,g4] d4 [b3,g4] ~ b4 a4, g2@19 ~@5 [g2,g3]@23 ~, ~@4 b2@12 [d3,b4,g5]@7 ~@25, ~@12 g3@7 ~@17 d4@12", // Em G Em G
L: "[e4,g4]@4 b3@4 [e4,g4]@4 b3@3 ~ [d3,b3,d4]@8 ~@8 [f#4,c#5]@6 ~@2 [g4,a4,e5]@8, e2@8 ~@6 e3@9 ~, ~@2 b2@6 ~@4 a2@11 ~, ~@8 e3@9 ~@7 [a3,c#4]@7 ~ a3@13 ~@3", // Em G F#5 A7 A
M: "a4@4 ~@8 a4@3 ~ [c3,f3,d4,f4,b4]@8 d4@4 ~@4 d4@8 ~@4 f#5@4, [d3,d5] ~@2, d2@13 ~@2 d2@7 ~@2 [d2,c3,f#3]@23 ~, ~@4 d4@12 ~@8 f#4@3 ~ f#4@12 ~@2 e5@6, ~ f#4 ~ c5@2 d5", // Bdim D D7
N: "g5@4 ~@4 [g4,d5]@7 ~ [g4,d5]@4 ~ a5@2 ~ [d3,a4,f#5]@12 [d3,f#4,d5]@4 [c3,f#4,d5]@8, g2@2 g3 ~@3, ~@4 d3@13 ~@6 g5@2 ~@23, ~ b3@2 ~@3", // G5 D D7
O: "[b4,g5]@3 ~ [g3,b4,f5]@3 ~ [b4,f5]@8 g4@3 ~ f4@3 ~ [e4,c5]@4 g4@4 c5@4 [e4,e5]@4 d#4@3 ~ d#4@4, b2@23 ~ [c2,c3]@17 ~@7, ~ g3@2 ~@2 [a2,d#5], ~@2 d4 ~@3", // Em G7 Bdim C E C Adim
P: "[g4,d5]@7 ~ [d4,b4]@6 ~@2 [d5,b5]@8 [d4,b4]@7 ~ [d4,b4]@7 ~ [d4,b4]@7 ~, g2@24 d2@23 ~, ~@8 b3@15 ~@9 d3@16", // G5 G
Q: "~@2 [e3,e4,g4]@2 [f#3,c4,a4]@2 [b3,g4] [d3,d4] ~ d3 ~ d3, d2 ~@2, [e4,c5]@7 ~@25 [g3,d4,b4]@7 ~ [g3,d4,b4]@7 ~, ~ a2@3 ~@2 g2@6", // Em F#dim Em D C G
R: "[g3,b3,d4]@7 ~ g3@4 b3@4 d4@4 b2@4 [e3,b3,d4,b4]@8 g3@4 d3@4 g3@4 [e3,d5]@4, g2@24 e2@23 ~, g1@19 ~@29, ~@8 [d4,g4]@7 ~ [d5,g5,b5]@8 ~@24, ~@8 b3@2 ~@22 [b3,d4,g4]@7 ~ [b3,d4,g4]@7 ~", // G E7 G5 G
S: "~@4 e3@4 ~@4 e3@4 ~@4 e3@3 ~@5 f#4@2 g4@2 ~@2 c5@2 ~@2 f#5@2 ~ a5 ~@3 e6@2 f#6, a2@24 [a4,d5]@8 a4@2 ~@3 e5@2 ~ g5@3 c6@2 ~@3, [e4,a4,c5]@7 ~ [g3,e4,a4,c5]@7 ~ [g3,e4,a4,c5]@7 d3@24 ~, ~@24 f#4@3 ~@6 b4@2 ~ d5@2 ~@4 b5@2 d6@3 ~, ~@25 d2@23", // D5 Am Am7
T: "g6 d3 g3 d3 ~ d3 [b4,d5] [g3,g4] [d4,d5,g5] [g3,g4] [a#3,c#5,g5] [g3,g4], g2 ~, ~ [b3,d4,g4] [g3,b3,d4,g4] d3@3", // Bm G G5 G Gdim G
U: "[c4,c5,e5] [a3,g4] [c4,c5,e5] a3 ~ [a3,g5] ~@2 [f#3,f#4,d5]@2 [a3,f#4,d5]@2, e3@23 ~ d2@24, ~@3 g4@3 [a4,f#5]@2 ~@4, ~@16 [c4,c5]@9 ~@3 a2@19 ~", // C A7 C A7 D C
V: "[e4,c5]@3 ~ [c4,g4]@3 ~ c4@4 [a3,c4]@4 c4@4 [a3,e5]@4 ~@19 a5@4 ~, e3@3 d3@2 f#5, ~@4 g3@4 [e4,c5]@8 g4@7 ~ [g4,c5,e5]@7 ~ [d4,c5]@16, ~@28 a3@19 ~, ~@3 [f#4,e5]", // C C5 Am A5 C D7 F#7
W: "[c#4,g4]@4 e4@4 [c#4,g4]@3 e4@2 ~ g4@2 a#4 ~ c#5@2 ~ e5@2 ~ b4@4 g4@4 [b4,g5]@4 [d5,b5]@4 [g5,d6]@4 [d5,b5]@4, e3 d3, ~ g3@5 d5@2 b3@4, ~@8 a#3@17 ~@3 g3@20", // C#dim Em G G5 G
X: "[g5,d6] [d5,b5] [g5,d6] [d5,b5] [g5,d6] [d5,b5] [b2,g3,b5,g6] [d3,g5,d6] [b5,g6] [g5,d6] [b5,g6] [g5,d6], g2 ~, ~ d3@5 ~@6, ~ b3@2 ~ [g3,d4] [a#3,d4]", // G5 G G5 G G5 G Em G5 …
Y: "[a5,f#6] [a3,f#5,d6] [a5,f#6] [f#3,f#5,d6] [a5,f#6] [d3,f#5,d6] [d5,a5] [f#3,a4,f#5] [a3,d5,a5] [d3,a4,f#5] [d5,a5] [d3,a4,f#5], a2@11 ~ a2@12, ~@8 d3@8 a3@8 d3@9 ~@7 a3@8", // D D5 F#m D5 D D5 D
Z: "~ g3 a3 g3 ~ e3 ~ e3 ~ e3 ~ e3, [e3,e4,c#5]@8 [g4,e5]@8 [a3,c#5]@8 [g4,a4,c#5,e5]@8 [a3,g4,a4,c#5,e5]@7 ~ [a3,g4,a4,c#5,e5]@8, ~@16 e4@7 ~ a2@24", // C#m C A A7
AA: "~@5 [a3,g4] [d4,f#4,a4] a3 [d4,f#4,a4] a3 [d4,a4] [a3,d4,a4], d2@2 [f#3,f#4] ~@3, [f#4,a4,d5] [d3,d4]@2 ~@3, ~ [a2,a3]@4 ~ [d2,d3]@6, ~ [e3,e4] ~@2", // A7 D D5 F# D A D E
AB: "[c4,a4]@4 d4@4 [c4,a4]@4 [f#3,d4]@4 ~@4 f#3@4 f#5@4 g5@4 [c5,a5]@7 ~@6 c5@3, d2@16 [a3,b4,g5]@8 c5@7 ~@9 f#5@8, ~@4 a2@18 ~@2 [d2,d3]@23 ~, ~@8 d3@10 ~@25 d5@5", // F D F Em D
AC: "[g4,b4]@4 d4@4 [d3,g4,b4]@4 d4@4 d3@4 [b2,d4]@4 [d4,g4]@3 ~ [d4,a4]@3 ~ d4@3 ~@5 g4@4 a4@4, g2@19 ~@5 [g2,g3]@23 ~, ~@4 b2@12 [g4,b4]@8 ~@8 b4@7 ~@9, ~@12 g3@7 ~@17 d4@12", // G Bm G5 D5 G
AD: "~ e3 [g3,e4,g4,b4] e3 [d4,g4,b4] d3 [c#4,g4,a4] e3 a3 e3 ~ e3, b2@5 ~ a2@6, [e4,g4,b4]@7 ~@9 g3@10 ~@6 [c#4,f#4,a4]@8 [a3,c#5,a5]@8", // Em G A7 Em F#m A
AE: "[a4@4 ~@8 a4@3 ~ [c3,f3,d4,f4,b4]@8 d4@4 f#4@4 ~@2 f#4@2 ~@4 d5@2 ~@3 a5@2 ~@9 [d5,b5]@4 b4@4 [d5,b5]@4 b4@3 ~ [c5,a5]@8 [f#3,d4]@2 [g3,e4]@2 ~ [a3,f#4]@2 ~@3 c4@2 [d4,b4]@3 ~, [d3,d5]@16 ~@17 e4@2 ~ g4@2 b4@2 ~@3 f#5@2 b5 ~ c6@2 ~@47, d2@13 ~@2 d2@7 ~@2 [d2,c3,f#3]@23 ~ g2@16 g3@8 ~@24, ~@4 d4@12 ~@8 f#4@3 ~@5 d4@2 ~@18 d3@13 ~@7 d3@11 ~ d3@4 c3@8, ~@8 f#4@8 ~@8 c5@12 ~ a4@2 c5@2 ~ e5@2 g5@2 ~@2 [g5,d6]@8 b3@16 ~@15 [b3,g4]@2 ~ a4 ~@5]/2", // Bdim G F D C D G D …
AF: "[f4,d5]@4 [g3,d4]@4 [f4,d5]@4 d4@4 [f4,d5]@4 d4@4 [e4,c5]@4 g4@4 c5@4 [e4,e5]@4 d#4@3 ~ d#4@4, b2@23 ~ [c2,c3]@17 ~@7, ~ g3@2 ~@2 [a2,d#5]", // Dm G5 Dm C E C Adim
AG: "[g4,d5]@7 ~ [d4,b4]@6 ~@2 [d4,b4]@8 [d4,b4]@7 ~ [d4,b4]@7 ~ [d4,b4]@7 ~, g2@24 d2@23 ~, ~@8 b3@15 ~@9 d3@16", // G5 G
AH: "~@8 [e3,e4,g4]@8 [f#3,c4,a4]@8 b3@4 [d3,g3]@4 a3@4 [d3,g3]@3 ~ [g1,g2]@3 ~ a2@4, d2@16 ~@8 [g1,g2,d4]@7 ~ [g1,g2,d4]@7 ~@4 a1@4 ~, [e4,c5]@7 ~@41, ~ a2@3 ~@6 [d3,g3,d4]@2", // Em F#dim G5 G G5 C G5
AI: "[a3,d4,f#4] f#3 [a3,d4] f#3 ~ b2 [e2,g#3,b3,e4] ~ [g#3,b3,e4] e3 [g#3,b3] e3, b1@23 ~@25, ~@4 f#2@20 ~@7 e2@8 ~ [e2,e4]@8, ~@8 b2@11 ~@9 e3@5 ~@15, ~@16 [a3,d4,f#4]@7 ~@25", // D D5 E G#m E D
AJ: "[a3,c#4,e4]@4 ~@4 [a3,e4]@4 ~@8 e3@2 ~@2 [b4,c#5,b5]@4 [a4,c#5,a5]@3 ~ [e4,c#5,e5]@3 ~ e4@3 ~@3 e4@2 ~ e4@2 ~, a2@16 ~@3 a2@4 ~ [e2,e3]@24, ~@4 e3@9 ~@3 a3@8 ~@11 [b3,a4]@3 ~@2 a3@8, ~@8 c#4@2 ~@2 c#4@12 ~@15 b4@8 ~, ~@22 c#4 ~", // A A5 Bsus2 A C#m E B7
AK: "[[f#3,a3,c#4,f#4,a4,f#5,a5]@7 ~ [f3,a3,c#4,f4,a4,f5,a5]@7 ~ [e3,a3,c#4,e4,a4,e5,a5]@7 ~ [d#3,a3,d#4,f#4]@8 b3@4 [d#4,f#4]@4 b3@4 [d#4,f#4]@3 ~@5 e3@3 ~ e3@3 ~ e3@4 [e3,a#3,c#4,g4]@6 ~@2 [b3,d4,g#4]@6 ~@9 g#5 ~ c#6 ~@3 g#6 ~@10 e3@12 a2@4 [e2,e3,e4]@7 ~ [e2,e4]@4 e3@3 ~ e3@3 ~ e3@4, ~@24 [a4,b4,d#5]@13 ~@3 b1@7 g#4@16 ~@15 e4@2 g#4@2 b4@2 d5@2 f#5@2 b5@2 d6@2 f#6@2 b6@2 ~@8 [e4,a4,c#5]@15 ~ [g#4,b4]@24, ~@32 b2@16 [e2,b3,d4]@16 ~@8 [e2,e3]@24 [a1,a2]@19 ~@13 e3@3 ~@5 [e2,e4]@8, ~@79 f#4@2 a4@2 c#5@2 e5@2 a5@2 ~@2 e6@2 a6@2 c#7@6 ~@43]/3", // F#m Faug A D#dim D#m Edim G#dim E …
AL: "[g3,g4,a4,c#5,e5]@8 [g3,c#4,e4]@7 ~ [c#3,a3,e4,g4]@8 ~@8 d3@4 [f#3,a3,f#4]@3 ~ [b2,f3,a3,b3,f4]@8, c#3@13 ~@2 c#4@8 ~ [d2,a3,f#4]@12 ~@12", // A7 C#dim A7 F#m Bm7b5 D
AM: "[a3,c#4,e4]@7 ~@5 [e3,e4]@4 a4@3 ~ e4@4 [e4,a4,c#5,e5]@8 [e3,a3,c#4,e4,a4]@7 ~ [e3,a3,c#4,e4,a4]@8, e2@23 ~ e2@22 ~@2, ~ c#3@2 ~@3, ~@8 [a3,c#4,a4]@7 ~ [a3,c#4]@8 ~@24, ~@19 e3@4 ~@25", // A E A
AN: "f#4@4 d4@4 f#4@4 d4@4 ~@4 e3@4 ~@4 e3@4 ~@8 a2@3 ~ a2@4, e2@8 a2@5 ~@3, e3@12 e3@7 ~@17 e3@12, [a3,b3]@7 ~ [a3,b3]@8 [b3,d4,g#4]@7 ~ [a3,b3,c#4,a4]@7 ~ [a3,b3,c#4,f#4]@7 ~ [a3,b3,c#4,e4]@8", // Asus2 G#dim A F#m A
AO: "[~@12 [b3,d4,f#4,a4]@3 ~ [b3,d4,f#4,a4]@7 ~@5 e3@4 [g#3,d4,g#4]@4 [e3,d4,a4]@4 [g#3,e4]@4 e3@4 ~@8 [e3,a3]@4 a3@3 ~@5 c#3@4 [a3,c#4,e4,a4]@6 ~@2 [a3,c#4,e4,a4]@7 ~@5 f2@3 ~, b1@20 ~@4 e2@23 ~@5 c#3@12 [e3,a3,c#4,e4,a4]@7 ~@25, [b3,d4,f#4,a4]@11 ~@13 [b3,d4,g#4]@8 ~@8 b4@8 [a3,c#4,a4]@7 ~@33 [a3,c#4,e4,a4]@7 ~, ~@4 b2@17 ~@27 a2@19 ~@5 [e2,e3]@20 ~@4, ~@8 a3@13 ~@23 e4@11 ~ [c#4,e4,a4]@7 ~@33]/2", // Bm7 G#dim Dsus2 C#m A5 A Bm7 G#dim …
AP: "[f#5,f#6]@3 ~ [f3,f6]@4 [e3,e5,e6]@4 [a4,b4,d#5]@2 f#3@2 b3@2 f#3@2 f#4@2 [b2,d#4,a4,b4]@2, f#2@20 ~@4 b2@17 ~@7, ~@8 f5@5 ~@19 [g#4,b4,d#5]@8 b3@7 ~", // F# F E B7 G#m
AQ: "[e2,e3,b3,d4,g#4]@14 ~@2 [e4,g4,c#5]@4 e2@4 [e2,g#4]@4 f#4@2 ~@5 e5@2 ~@4 c#6 d6@2 e6@2 ~ g#6, ~@16 e3@3 ~@5 e3@23 ~, ~@24 [e4,d5]@7 a4@2 c#5@2 ~@3 g#5@2 b5@2 ~@4 f#6@2, ~@15 g#4 e4@4 ~@4, ~@32 b4@2 d5@2 ~ f#5@2 a5@2 ~@7", // E7 C#dim E E7
AR: "~@8 [e5,c#6]@4 c#5@3 ~@5 a4@3 ~ [b3,d4,g#4]@8 f#4@4 [e3,g#4]@4 a4@4 b4@2 c#5@2, a2@2 [a3,c#5,a5] ~@3, a6 c#4@2 ~@3, ~@4 e3@13 ~@7 e3@11 ~@5 d3@8", // C#m G#dim E A
AS: "c#4@6 ~@2 c#4@7 ~ [a3,c#4,e4,g4,a4]@7 ~@5 a4@3 ~@5 f#5@3 ~@6 d5@3, c#3@23 ~ [d2,d3]@17 [f4,a4,f5]@7, [a3,e4,g4,a4]@15 ~@9 [d4,f#4,d5]@7 ~ [d4,f#4,d5]@8 b2@8", // A7 D F A7 D
AT: "[~ [a3,c#4,e4]@7 ~ [c#4,e4,a4]@7 ~@2 [a4,c#5]@7 ~ [c#4,e4]@8 ~ [c#4,e4,c#5]@7 ~ [c#4,e4,a4]@8 ~@11 a3@8 ~ [e2,g#3,b3,d4,g#4]@9 ~@20 e6@2 ~@4 e7@6 ~@11 a1@10 ~@11, ~ a2@25 e2@25 ~ e2@18 ~@10 a1@43 ~@21, ~@17 e4@7 ~@11 e3@17 [a3,b3,d4,f#4]@9 [f#3,b3,d4,f#4,a4]@9 ~@23 e5@5 b5@5 a6@2 c#7@7 ~@32, ~@57 b2@14 ~@10 [a2,a3,c#4,e4,a4]@43 ~@20, ~@95 a5@7 ~@2 b6@8 ~@32]/3", // A C#m A E7 Bm7 A
})).s("gm_piano").gain(0.33).pan(0.4)
// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
A@5 B C D E B F G H I J K L M N O P Q R S T@2 U S V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS
AT AU AV@2
>`.pickRestart({
A: "[~@38 b1@23 ~ a1@22 ~@3 b1@23 ~@2 c2@14 ~@3 a1@7 ~ d2@24 ~@2 d2@24 ~ d2@24 ~@2 g1@24 ~@2]/5",
B: "g1@21 ~@3 b1@13 ~@3 a#1@7 ~", C: "a1@17 ~@3 a1@4 d2@20 ~@4", D: "a1@7 ~ d2@7 ~", E: "g1@20 ~@4 g1@21 ~@3",
F: "a1@17 ~@3 a1@4 f#2@20 ~@4", G: "e2@7 ~ a1@7 ~", H: "d2@13 ~@3 a1@7 ~ d2@21 ~@3", I: "d2@15 ~", J: "g1@5 ~ g1@5 ~",
K: "e2@15 ~ e1@7 ~ a1@22 ~@2", L: "d2@13 ~@3 d2@5 ~@3 d2@24", M: "g2@21 ~@3 d2@20 b1 ~@3",
N: "b1@21 ~@3 c2@15 ~ a1@7 ~", O: "d2@29 ~@3 d2@15 ~", P: "~@8 e3@8 f#3@8 [g1,g3]@23 ~, d2@7 ~@9",
Q: "g2@17 ~@3 d2@3 ~ e2@21 ~@3", R: "a1@11 ~ d2@11 ~", S: "g1@16 ~@4 g1 ~@3 b1@15 ~ a#1@6 ~@2",
T: "[a1@18 ~@2 a1@3 ~ d2@16 ~@4 d2@2 ~ a1@17 ~@4 a1@3 ~ d2@15 ~@5 a1 ~@3, ~@23 e2 ~@24]/2",
U: "g1@21 ~@3 d2@7 ~ b1@7 ~ d2@6 ~@2", V: "a1@18 ~@2 a1 ~@3 f#1@22 ~@2", W: "e2@13 ~@3 e1@6 ~@2 a1@21 ~@3",
X: "d2@14 ~@2 f#2@4 a1@3 ~ d2@17 ~@3 a1@3 ~", Y: "d2@21 ~@3 d2@17 ~@3 d2 ~@3", Z: "g2@11 ~ g2@10 ~@2",
AA: "e2@22 ~@2 a2@17 ~@3 a2@4", AB: "~@20 a1@3 ~ [d2,f#3]@23 ~, d2@19 ~@29, ~@16 f3@7 ~@25",
AC: "g2@16 ~@4 g2@3 ~ d2@16 ~@4 c2@3 ~", AD: "b1@13 ~@3 g1@6 ~@2 c2@15 ~ a1@7 ~", AE: "d2@11 ~ d2@10 ~@2",
AF: "e3@15 ~ f#3@7 ~ g1@14 ~@2 g1@3 ~ a1@3 ~, d2@7 ~ g3@7 ~", AG: "b1@18 ~@2 b1 ~@11 e1@15 ~, ~@24 e2@23 ~",
AH: "a1@18 ~@2 a1@3 ~ e1@20 ~@4", AI: "f#2@17 ~@3 f#2@4 ~@8 b2@8 b1@8, ~@24 b1@13 ~@11",
AJ: "e2@13 ~@3 e2@6 ~@2 e2@15 ~ g1@8", AK: "a1@16 ~@4 a1@3 ~ e2@16 ~@4 d2@3 ~",
AL: "c#2@13 ~@3 c#2@6 ~@2 d2@15 ~ b1@7 ~", AM: "e1@22 ~@19 a#1 a1 [g1,g#1] f#1 f1 ~@2, ~@6 e1@5 ~, ~@20 b1 ~@3",
AN: "e1@15 ~ e1@3 ~ a1@4 a1@22 ~@2", AO: "b1@14 ~@2 b1@4 e1@3 ~ e1@10 ~ e1@5 ~@4 e1@4",
AP: "a1@11 ~ a1@5 ~@3 a1@3 ~ e1@11 ~ e2@3 ~@3 e2 ~ f2@3 ~",
AQ: "f#2@10 ~@2 f#2@5 ~@3 f#2@4 b1@10 ~@2 b1@4 ~@4 b1@3 ~", AR: "e2@11 ~ b1@3 ~ e2@3 ~ b1@4 e2@6 ~@2 e2@5 ~@3 e2@7 ~",
AS: "a1@17 ~@3 a1@4 e2@12 ~@4 d2@5 ~@3", AT: "c#2@13 ~@3 c#2@7 ~ d2@14 ~@2 b1@8", AU: "~ e1@23 ~@2 e1@19 ~@3",
AV: "[~@4 e2@25 ~@4 a1@43 ~@20, e1@5 ~@11]/2",
})).s("gm_electric_bass_finger").gain(0.25)
// chords · acoustic guitar nylon · "NYLON GTR"
const acoustic_guitar_nylon = note(`<
~@5 A B C D E F G H I J K L@2 M N O@2 P A B C D E Q G R I J K L@2 M N S ~@3 T@2 U V W X Y Z AA@2 AB AC AD@2
>`.pickRestart({
A: "~@8 b3@8 g3@8 ~@12 g3@4 [c#4,e4]@5 ~@3, d3@24 b2@13 ~@11, ~@7 d3@3 ~@2, ~@4 d4 ~", // C#m
B: "[c4,e4]@8 ~@11 a2@4 ~@9 c4@8 a3@8, ~@8 a2@8 e4@7 ~ f#4@8 ~@16, ~@4 a3@3 ~ d3@7 ~, ~@28 a3@11 ~@9", // C
C: "~@12 a3@3 ~@5 a3@4 ~@16 a3@8, a2@23 ~ a2@24, ~ e3@5 ~ d3@5, ~ e4@2 ~ d4@2, ~@16 c4@9 ~@11 f#4@12",
D: "~@12 c#4@3 ~@5 e3@3 ~ b3@22 ~@2, g2@17 ~@31, ~@4 e3@8 ~@11 [d3,g3]@23 ~@2, ~@8 g3@7 ~ [g3,c#4]@9 ~@23", // G5 Gdim
E: "~@2 d3@2 ~ d3 ~@3 d4 a#2@2, g2@21 ~@3 b2@16 ~@8, ~@16 g3@7 ~@5 d3@12 ~@8, ~@4 g3 ~",
F: "~@2 a3@2 ~@2 f#3@2 a3@3 ~@5 a3@2 ~@2 d4@4, a2@23 a3@6 ~@19, ~@8 d4@8 ~@7 f#3@11 ~@2 f#3@12, ~@12 d4@7 ~@5",
G: "~@10 e3@2 a2@11 ~, e2@11 ~@13, ~@2 a2@9 ~@13, ~ e3 c#4 ~@3, ~ a3 ~@2",
H: "~@8 f#4@8 d4@7 ~@9 a3@13 ~@3, [a2,d3]@15 ~@8 d3@22 ~@3, ~@4 a3@11 ~@9 f#4@22 ~@2, ~@28 d4@17 ~@3", // D5
I: "~@5 c4 ~@4 f#4@2, a2 ~, ~@4 d3@19 ~ [d3,a3]@21 ~@3, ~@8 c4@8 f#4@9 ~@11 c4@12, ~ f#3 ~@2", // D5
J: "~@8 d4@8 ~@4 d4@4 ~@8 d3@15 ~, g2@12 ~@2 g3@9 ~, ~@2 d3@10 b3@11 ~, ~@16 g4@9 ~@23",
K: "~@3 g3 ~ e3 ~@3 e3@3, e2@16 ~@12 e3@7 ~@13, ~ b2@3 ~@2 a2@6, ~@8 e3@8 b3@8 a3@7 ~ a3@7 ~@9",
L: "[[f#3,c4]@15 ~ d4@6 ~@3 [f#3,c4]@21 ~@22 d4@5 ~@15 c4@8, ~@15 [f3,b3]@7 ~@2 d3@22 g4@22 ~@16 f#4@12, ~@47 d4@17 g3@9 ~@7 a3@16, ~@16 b3@7 ~@9, ~@49 g3@11 d3@11 ~@25]/2", // F#dim Fdim
M: "~@8 b3@4 ~@4 g3@6 ~@2 [c4,e4]@11 ~@5 d#4@8, b2@25 ~@23, ~@12 d4@13 ~@14 c4@8 ~", // C
N: "~@16 d3@7 ~, g2@17 ~@3 g3@8 ~@20, ~@4 d3@7 ~ d3@12 d4@22 ~@2, ~@8 g3@8 b3@9 ~@23",
O: "[~@8 e4@4 ~@4 f#4@4 d4@4 d4@8 g3@14 ~@14 b3@4 ~@4 g3@4 ~@12 g3@3 ~@5 g3@4, d3@17 ~@29 d4@18 d4@9 ~@3 d4@11 ~@9, ~@47 b3@12 ~@28 b3@9, ~@3 g3 ~@2, ~@56 g2@16 e2@23 ~]/2",
P: "~@12 g3@4 f#3@7 ~@2 d4@21 ~@2, a2@17 ~@31, ~@2 e3@6 ~@4 [f#3,a3]@11 ~, ~@8 c4@9 ~@31", // F#m
Q: "~@4 a3@4 ~@3 f#3@4 ~ a3@6 ~@10 a3@4 ~@4 d4@8, a2@23 a3@6 ~@19, ~@8 d4@8 ~@6 f#3@11 ~@3 f#3@12, ~@12 d4@7 ~@5",
R: "~@8 f#4@8 d4@7 ~@9 a3@13 ~@3, [a2,d3]@15 ~@8 [d3,f#4]@22 ~@3, ~@4 a3@11 ~@13 d4@17 ~@3", // D5 D
S: "~@8 e4@4 ~@4 f#4@4 d4@4 d4@8 g3@15 ~, d3@17 ~@31",
T: "[~@68 e4@5 ~@15 d4@8, ~@23 a4@11 ~@8 g#4@6, ~@47 e4@17 a3@9 ~@7 b3@16, ~@16 c#4@7 ~@9, ~@49 a3@11 e3@11 ~@25]/2",
U: "~@8 c#4@4 ~@4 a3@6 ~@2 [d4,f#4]@11 ~@5 f4@8, c#3@25 ~@23, ~@12 e4@13 ~@14 d4@8 ~", // D
V: "~@16 e3@7 ~, a2@17 ~@3 a3@8 ~@20, ~@4 e3@7 ~ e3@12 e4@22 ~@2, ~@8 a3@8 c#4@9 ~@23",
W: "~@8 f#4@4 ~@4 g#4@4 e4@4 e4@8 a3@15 ~, e3@17 ~@31",
X: "~@5 d4 ~@4 g#4@2, b2@8 [e2,e3]@7 ~, ~@4 d3@19 ~@25, ~@8 d4@8 g#4@9 ~@11 d4@12, ~ f#3 ~@2", // E
Y: "~@8 e4@8 ~@4 e4@4 ~@8 e3@15 ~, a2@12 ~@2 a3@9 ~, ~@2 e3@10 c#4@11 ~, ~@16 a4@9 ~@23",
Z: "~@3 a3 ~ f#3 ~@3 f#3@3, f#2@16 ~@12 f#3@7 ~@13, ~ c#3@3 ~@2 b2@6, ~@8 f#3@8 c#4@8 b3@7 ~ b3@7 ~@9",
AA: "[[g#3,d4]@15 ~ e4@6 ~@3 [g#3,d4]@21 ~@22 e4@5 ~@15 d4@8, ~@15 [g3,c#4]@7 ~@2 e3@22 a4@22 ~@16 g#4@12, ~@47 e4@17 a3@9 ~@7 b3@16, ~@16 c#4@7 ~@9, ~@49 a3@11 e3@11 ~@25]/2", // G#dim Gdim
AB: "~@8 c#4@4 ~@4 a3@6 ~@2 [d4,f#4]@11 ~@6 f4@7, c#3@25 ~@23, ~@12 e4@13 ~@15 d4@8", // D
AC: "~@35 e3@13, a2@9 c#4@5 ~@10, ~@5 e3@8 e3@13 e4@22, ~@10 a3@9 ~@3 a3@9 ~@17",
AD: "[~@13 f#4@5 ~@5 g#4@5 e4@4 ~ e4@8 a3@16 ~@39, ~@4 e3@19 ~@73]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.26).pan(0.7)
// chords · acoustic guitar nylon · "NYLON GTR" · soft notes
const acoustic_guitar_nylon_2 = note(`<
~@10 A ~ B ~ C D E F G H I@2 J ~@5 A ~ B ~ C K@2 F G H L ~@4 M N O P ~ Q R@2 M S T U ~
>`.pickRestart({
A: "~@44 a3@3 ~", B: "~@12 f#3@11 a3@5 ~@20", C: "~@12 g3@13 ~@23", D: "~@40 a3@7 ~", E: "d3@5 ~@11",
F: "~@2 g2@4 ~ f#3@5, ~ d3", G: "~@4 d3@19 g3@12 ~@3 a3@9 ~", H: "~@14 b3@9 ~",
I: "[~@12 c4@4 ~@8 g4@8 ~@13 g4@19 ~@16 e3@16, ~ a3@4 ~@19]/2", J: "~@23 d3@22 ~@3", K: "[~@40 a3@7 d3@15 ~@34]/2",
L: "~@3 c4 ~@2 g4@2 ~@4, ~ a3@4 ~@7", M: "~@2 a2@4 ~ g#3@5, ~ e3", N: "~@4 e3@19 a3@12 ~@3 b3@9 ~", O: "~@14 c#4@9 ~",
P: "~@3 d4 ~@2 a4@2 ~@4, ~ b3@4 ~@7", Q: "~@12 a3@13 ~@23", R: "[~@40 b3@7 e3@15 ~@34]/2",
S: "~@4 e3@19 a3@12 ~@4 b3@9", T: "~@5 c#4@3", U: "~@18 d4@5 ~@10 a4@9 ~@6, ~@8 b3@19 ~@21",
})).s("gm_acoustic_guitar_nylon").gain(0.13).pan(0.7)
// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note("<A@8 B@2 C D E@5 F@6 G@2 H@4 I@6 J@4 K@4 L@8 M@2 N@3>".pickRestart({
A: "[~@37 [g3,b3,d4]@24 [f#3,a3,c4]@25 [b3,d4]@25 ~@17 a3@9 ~ g3@49 ~@2 g3@16 ~@10 g3@23 ~@2 [b3,d4]@31 [d4,e4]@8 c#4@8 c4@24 [a3,d4,f#4]@23 ~ g3@24 ~@16 f#4@8 e4, ~@86 g3@42 ~@9 [b3,d4]@52 ~@16 f#3@8 b3@26 ~@40 g4@32 ~@23 e4@41 ~@9, ~@111 d#4@27 ~@50 e3@18 a3@10 ~@23 g3@72 ~@23 c4@50, ~@112 c4@26 ~@50 c4@26 d3@26 ~@119 f#3@25]/8", // G F#dim Bm Dsus2 D Bm
B: "[c#4@23 [b3,d4]@24 ~ d4@23 [b3,d5]@16 [a#3,d4,g4]@9, g3@47 b4@25 ~@24, ~@16 g4@13 ~@3]/2", // Bm Gm
C: "[a3,f#4]@23 [f#3,a4]@24 ~, d4@47 ~", // D F#m
D: "[c#4,e4,a4]@7 ~ c#4@7 ~@9 b3@7 [a3,c#4,f#4]@8 [g3,b3,e4]@9, ~@7 a3@16 g4@8 ~@17, ~@7 e4@8 f#4@9 ~@24, ~ e4 ~", // A F#m Em
E: "[d4@27 e4@4 f#4@4 g4@5 a4@4 ~@4 c5@8 a5@8 g5@8 f#5@4 g5@4 a5@15 ~@8 b5@8 a5@8 g5@4 a5@4 b5@16 ~@17 d4@8 ~@7 f#4@8 g4@7 ~@2 [d3,c4]@15 [f3,b4]@8 ~ c5@24, [f#3,a3]@47 d3@47 ~ d5@9 ~@39 g4@32 ~@15 a4@17 ~@33, ~@44 b4@4 [a3,c4]@48 [g3,b3,d4]@47 g3@47 ~ a3@47 ~@2, ~@143 e4@16 ~@9 c#4@24 ~@15 d4@32 ~, ~@144 e3@49 ~@22 f#3@23 ~@2]/5", // D7 Fdim F#m Am G
F: "[[d4,g4,b4]@23 ~@25 b2@23 ~ e4@15 [a2,d#4]@8 ~@12 [c4,a4]@5 [b3,g4]@7 ~ g3@7 ~ b3@8 [d4,b4]@7 ~@16 f#3@9 ~ d4@22 ~ b3@23 ~ e3@22 ~ c4@24 ~@8 f#3@16 ~, d3@39 c3@10 ~@22 c5@25 d3@48 ~@95 e3@32 ~@17, ~@23 c4@23 g4@50 g3@22 ~@25 e3@16 ~@9 [g3,b3,g4]@24 g3@71 ~ [a3,c4,d4]@24, ~@24 [f#4,a4]@23 [d4,d5]@24 c3@17 ~@7 [d4,b4]@13 ~@11 d4@8 g4@9 ~@8 [c4,e4,a4]@25 ~@22 d4@24 b3@23 ~@50]/6", // G Adim F Em G D7 F#m D …
G: "[~@8 b4@8 d5@8 ~@15 a#3@9 c4@23 ~@12 e5@4 d5@4 c#5@5, g4@8 ~@16 [g3,g5]@47 f#5@12 ~@13, ~ [b3,d4]@39 ~@31 [a3,d4]@25, ~ d3@24 ~@14 e4@33 ~ f#3@23]/2", // G Bm D5
H: "[e4@39 f#4@8 ~ c#4@23 ~@16 g4@4 a4@4 ~ b4@15 d5@8 ~ g5@15 ~ d5@7 ~ d3@22 ~@2 a5@8 [a4,f#5]@8 [f#4,d5]@4 [a4,f#5]@4, e3@71 [d3,b3,d4]@24 d3@24 b3@16 a#3@8 a4@31 ~@18, [a3,c4]@47 a#3@25 ~@24 d4@47 f#5@23 f#3@26, c5@24 ~@23 g3@48 ~ g3@24 g3@24 a3@48, ~@167 d5@9 ~@16]/4", // D G Am
I: "[[e3,c#4,a4]@23 [g3,g4,b4]@8 ~ a4@7 ~ [e4,g4]@7 ~ f#4@27 e4@4 f#4@4 g4@4 a4@4 b4@4 ~ c5@8 a5@8 g5@8 f#5@3 g5@4 a5@16 ~@8 b5@8 a5@8 g5@4 a5@4 b5@16 ~@17 d4@8 ~@7 f#4@8 g4@7 ~@2 [d3,c4]@15 [f3,b4]@8 [f#3,c5]@24 ~, a3@93 ~@3 [a3,c4]@48 [b3,d4]@47 e4@16 ~@9 c#4@24 ~@15 d4@32 ~, ~@31 [f#3,f#4]@8 e3@8 d4@47 ~@49 d5@9 ~@39 g4@32 ~@15 a4@17 ~@33, ~@48 d3@47 d3@47 ~ g3@46 ~@2 g3@47 ~ a3@47 ~@2, ~@192 e3@49 ~@47]/6", // A G Em D7 Fdim F#dim Am Bm …
J: "[[d4,g4,b4,b5]@23 ~@25 b2@23 [c3,e4]@16 [a2,d#4]@8 ~ d3@47 ~@16 f#3@9 ~ d4@22 ~, d3@39 c3@8 d4@25 ~@23 [g3,d4,b4]@48 e3@16 ~@9 [g3,b3,g4]@24, ~@23 [c4,a5]@23 g4@51 ~@46 a4@25 ~@24, ~@24 [f#4,a4]@22 d5@25 c5@25 ~@48 [c4,e4]@25 ~@23]/4", // G C Adim G F F#m C
K: "[[f#3,a3]@23 [e3,g#3]@24 ~ e3@47 ~ f#4@8 [f3,f4]@8 [e3,e4,a4,a5]@8 [a4,a5]@8 [g#4,g#5]@7 [a4,a5]@8 ~ [d4,b4]@15 ~ c#6@7 ~ d5@23 ~, [b3,d4]@47 [a3,c#4]@48 f#3@8 ~@17 [d#3,d#4]@23 b5@16 [c#4,c#5]@8 d4@25, ~@96 [a4,a5]@16 ~@31 e3@48 ~]/4", // F#m E F A5 A G# A G …
L: "[[e4,a4,c#5]@23 ~@25 c#3@23 ~ d5@15 ~ b4@7 ~@65 g#5@2 ~@13 [c#5,c#6]@2 ~ c#5@2 ~ e5@2 [f#5,b5]@2 a5@2 ~ c#5@2 ~@17 d5@8 e5@8 d5@5 e5@3 f#5@4 g#5@4 ~@4 e4@4 [a3,c#4]@4 ~ b4@3 ~@4 [c#4,e4]@4 ~@5 [b4,b5]@3 [a3,c#4,a4,a5]@4 [e4,e5]@5 b4@2 ~ e4@2 c#4@2 ~@17 e4@8 ~@7 g#4@8 a4@7 ~@2 [e3,d4]@15 [g3,c#5]@8 ~@12 g#5@4 a5@4 b5@5, e3@39 d3@10 ~@22 [d3,f#4]@17 ~@7 [a3,e4,c#5]@48 b4@24 a5@2 ~@3 a5@2 b5@2 ~@16 a4@23 ~@24 [a4,a5]@13 ~@3 c#4@4 ~@4 c#4@3 ~ c#4@3 ~@5 c#4@3 ~@10 f#3@49 ~@22 [g#3,d5]@24 ~, ~@23 d4@23 a4@41 ~@9 e3@47 f#3@16 g#3@9 [a3,c#4]@23 a3@24 [g#3,g#4]@24 ~ a3@5 ~@6 c#4@3 ~ [a3,a5]@7 ~@2 a3@5 ~@18 a3@47 ~ b3@47 ~@2, ~@24 [g#4,b4]@23 [e4,e5]@25 ~@15 [b2,f4]@10 ~@30 e5@41 a4@5 b4@2 ~@2 b4@2 ~ d5@2 ~@3 e5 ~ [d5,e5]@3 ~ b4@16 ~@49 a4@9 ~@17 a4@2 ~@3 a4@32 ~@15 b4@17 ~@33, ~@144 [d4,f#4]@25 e4@22 ~ d4@47 c#4@3 ~ c#4@3 ~@5 [e4,b5]@6 ~@10 e4@5 ~@15 f#4@16 ~@9 d#4@24 ~@15 e4@32 ~]/8", // A C# B5 A C#m B A E …
M: "[[e4,a4,c#5,c#6]@23 ~@25 c#3@23 ~@9 f#4@4 [b3,d4,b4]@4 [f4,a4,f5]@4 [d4,f4,d5]@4, e3@39 d3@8 [e4,e5]@24 d3@17 b2@8, ~@23 [d4,b5]@23 a4@32 ~@18, ~@24 [g#4,b4]@23 a5@33 ~@16, ~@36 [d4,d5]@7 ~@5]/2", // A Bm F Dm E G G#m D
N: "[~ c#5@33 a4@9 c#5@8 ~@10 d5@9 ~ e5@9 ~@2 e4@41 ~@21, [a3,e4]@51 f#3@19 g#3@10 [a3,c#5]@43 ~@21, ~ e3@51 [d4,f#4,b4]@29 [a2,a4]@42 ~@21]/3", // A5 A Bm A
})).s("gm_string_ensemble_2").gain(0.26)
// drums · kick
const kick = s("bd").struct("<~@5 A@11 B@3 A@2 C@2 B@8 D E@2 F D@2 G H I J E F K L M E N K@2 O K P Q R S>".pickRestart({
A: "x", B: "x!2 ~", C: "x ~@10 x", D: "x ~@3 x ~@6 x", E: "x ~@2 x!2 ~@6 x", F: "x ~@2 x!2 ~@7", G: "x ~@4 x ~@5 x",
H: "x ~@4 x ~@2 x ~@2 x", I: "x ~@2 x ~ x ~@3 x ~ x", J: "x ~@2 x!2 ~@4 x ~@2", K: "x ~@2 x!2 ~@4 x ~ x",
L: "x ~@3 x ~@4 x ~ x", M: "x ~@2 x!2 ~@5 x!2", N: "x ~@2 x ~ x ~ x ~ x ~ x", O: "x ~@2 x!2 ~@3 x ~@3",
P: "x ~@11 x ~@3 x ~@28 x ~@2", Q: "~ x ~@16 x ~@20 x ~@8", R: "x ~@3 x ~@23 x ~@4 x ~@14", S: "~@9 x ~@6",
})).gain(0.32)
// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@5 A@10 ~ B ~ C D E ~@2 F A F A F A@3 ~@25>".pickRestart({
A: "~@11 x", B: "~ x ~@2", C: "~@5 x", D: "~@5 x ~@5 x", E: "~@5 x ~@6", F: "~@3 x ~@7 x",
})).gain(0.24)
// drums · rim
const rim = s("rim").struct("<~@5 [~ x]!16 ~@35>").gain(0.48)
// drums · snare
const snare = s("sd").struct("<~@21 [~ x] ~ [~ x]!30 [~@13 x ~@10] ~@2>").gain(0.4)
// drums · hihat
const hihat = s("hh").struct("<~@2 A ~@2 B@7 C D B@2 C B E B F ~@2 B G@3 E G@2 H I B C J I E I ~@17 K>".pickRestart({
A: "~@41 x ~@6", B: "x!6", C: "x!5 ~", D: "~@2 x ~ x ~ x ~ x ~ x!2", E: "x ~ x ~ x ~ x ~ x ~ x!2", F: "x!3 ~@3",
G: "x ~ x ~ x ~ x ~ x!3 ~", H: "x ~ x ~ x ~ x ~ x!2 ~@2", I: "~ x!4 ~", J: "x!4 ~@2", K: "~@9 x ~@6",
})).gain(0.32)
// drums · hihat · soft notes
const hihat_soft = s("hh").struct("<~@5 A B C D@11 E F ~@2 G@4 D G@3 D@3 G D G D H ~@17>".pickRestart({
A: "~@7 x ~@4", B: "~ x ~ x ~ x ~@5 x", C: "~ x ~ x ~ x ~ x ~@3 x", D: "~ x ~ x ~ x ~ x ~ x ~@2",
E: "~@3 x ~ x ~ x ~ x ~@2", F: "~ x ~ x ~ x ~@6", G: "~ x ~ x ~ x ~ x ~@4", H: "~ x ~@10",
})).gain(0.16)
// drums · low tom
const low_tom = s("lt").struct("<~@42 [~@11 x] ~@7 [~@11 x] ~ [~@11 x] ~@2 [~@12 x!2 ~@10 x ~@23]>").gain(0.4)
// drums · mid tom
const mid_tom = s("mt").struct("<~@20 A B ~@12 C ~@5 C ~ D ~@3 E ~@3 D ~ F G H I>".pickRestart({
A: "~@9 x ~ x", B: "~@3 x", C: "~@11 x", D: "~@5 x", E: "~@19 x!2 ~@3", F: "~@9 x!2 ~", G: "~@43 x ~@4",
H: "~@11 x ~@12", I: "~@15 x ~ x ~@6 x!3 ~@21",
})).gain(0.32)
// drums · mid tom · soft notes
const mid_tom_soft = s("mt").struct("<~@42 [~@19 x ~@4] ~@3 [~@3 x] ~@3 [~@19 x ~@4] ~@4 [~@14 x ~@4 x ~@28]>")
.gain(0.16)
// … 39 more lines
More by Andre Hazes
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.