0:00/0:00
// At This Moment — Vera
// 88 bpm, 3/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 114 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(88/3)
// 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.
// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
~@18 A B C D E@2 F@2 G@2 H I J K L K M N O P Q R S T U V W X Y Z AA AB M U AC AD AE ~ AF@2 AG AH AI I AJ AK AL AM AN
AO AP AQ AR AS AT AU AV I AL AW AL AW AX@6 ~@18 AY AZ BA BB BC BD@3 ~@2
>`.pickRestart({
A: "f#2", B: "a#2", C: "b2@2 a#2", D: "g#2@2 c#3", E: "[f#3@14 ~ f#3]/2", F: "[f3@14 ~ f3]/2", G: "e3/2",
H: "d#3@23 ~", I: "d#3 f3 g3", J: "g#3@19 ~@2 g#3@3", K: "c#3@6 ~ c#3", L: "g#2@7 c3", M: "g#2@19 ~@2 g#2@2 ~",
N: "c#3 d#3 f3", O: "f#3@23 ~", P: "f#2@8 a#2@8 c#3@7 ~", Q: "d#3@20 ~ d#3@3", R: "a#2@6 ~ a#2", S: "b2@6 ~ b2",
T: "f#2@17 ~@2 f#2@2 g2 ~@2", U: "g#2@6 ~ g#2", V: "c#3@7 ~ c#3@4", W: "f#2@7 ~", X: "f#2 a#2 c#3",
Y: "d#3@18 ~ g#3@2 a3@3", Z: "a#3@7 a#2", AA: "b2@18 ~@3 b2@2 ~", AB: "f#2@18 ~@3 f#2@2 ~", AC: "c#3@7 ~", AD: "c#3",
AE: "f#3 ~@7", AF: "[f3@43 c#3@2 d#3@2 ~]/2", AG: "e3@2 ~ c#3@2 a#2@2 ~ e2@12 ~ e2@2 ~", AH: "e3@19 ~@2 e3@2 ~",
AI: "d#3@11 ~", AJ: "g#3@20 ~ g#3@3", AK: "c#3@17 ~@4 c#3@3", AL: "g#2@17 ~@2 g#2@2 c3@2 ~",
AM: "c#3@17 ~@2 c#3@2 d#3@2 ~", AN: "g#2@17 ~@2 g#2 ~ c3 ~@2", AO: "c#3@5 ~", AP: "f#3@20 ~ c#3@3",
AQ: "f#2@15 ~ f#2@3 c#3@2 f#3@2 ~", AR: "f3", AS: "f3@19 c#3@2 d#3 ~@2", AT: "e3@17 ~@2 c#3@2 a#2@3",
AU: "e2@14 ~@2 e2@3 b2@2 e3@2 ~", AV: "d#3@4 ~ d#3@17 ~@2", AW: "c#3@18 ~ c#3@2 d#3@3", AX: "[g#2@3 c#3@11 ~@2]/6",
AY: "f#3@17 ~@2 f#3@2 c#3@3", AZ: "f#2@15 ~ f#2@3 c#3@2 f#3@3", BA: "f3@18 ~@3 f3@2 ~", BB: "f3@19 ~@2 f3@3",
BC: "g#2@17 ~@2 b2@2 c3@2 ~", BD: "[c#3@14 ~@5 c#3@11 f#2@33 ~@9]/3",
})).s("gm_acoustic_bass").gain(0.48)
// chords · piano · "A.PIANO 1"
const piano = note(`<
A B C D E@2 F@2 G@2 H@2 I J K L M N O P Q R S@2 T@2 U@2 V W X Y Z AA AB N AC AD AE AF AG AH AI AJ AK AL AM AN AG AO AP
AQ AR AS@3 AT@2 AU@2 AV AW AX AY AZ BA BB BC BD@2 BE@2 BF@2 BG@2 BH BI BJ BK BL@5 BM BN@6 BO@4 ~@2 BP@4 ~ BQ BR@2 BS@2
BT BU@4 ~
>`.pickRestart({
A: "[a#3,c#4,d#4,f#4]@8 [a#3,c#4,d#4,f#4]@8 ~@5 d#3@2 ~, d#2, d#3@7 ~, ~@2 [a#3,c#4,d#4,f#4]", // D#m7
B: "c#4@8 ~@13 f#3@3, [a#3,f4], a#2@19 a#2@5, ~ c#4@2, ~@16 f#3@5 ~@3", // A#5
C: "[b3,c#4,d#4,f#4]@8 ~@5 b2@3 ~@5 f#4@3, b2@13 ~@3 [a#2,c#4]@8, ~ [b3,c#4,d#4,f#4] ~", // B A#m B
D: "g#2@8 ~@5 g#3@3 [c#3,f#3,b3]@8, b3@2 ~, [f#3,g#3]@11 f#3@5 ~@8, ~ g#2 ~", // F#sus4 F#sus2
E: "[f#3@8 f#3@13 ~@16 f#3@3 [f#2,f#3,f#4,a#4,c#5]@5 [f#2,f#3,f#4,a#4,c#5]@3, [a#3,c#4], f#2@5 ~, f#4@3 ~ c#5 ~]/2", // F# A#m
F: "[[f4,a#4,c#5]@8 [a#4,c#5]@8 ~@21 f3@2 ~ [f2,f3,f4,a#4,c#5]@5 [f2,f3,f4,a#4,c#5]@2 ~, f2@5 ~, f3@7 ~@9, c5 ~@47]/2", // A#m
G: "[[e4,a#4,c#5]@8 [e4,a#4,c#5]@8 ~@24 [e4,a#4,c#5]@5 e3@2 ~, e2@47 ~, e3@21 ~@16 e3@8 ~@3]/2", // A#dim
H: "[[d#4,g#4,a#4]@8 [d#4,g#4,a#4]@8 [d#4,g#4,a#4]@5 ~@3 [g4,a#4]@2 ~@6 [f2,f3]@2 ~@6 [g2,g3,g4]@8, [d#2,d#3]@21 d#2@4 ~@23, ~@11 d#3@2 ~@11, ~@23 d#4@2 ~@23]/2", // D#sus4 Gm F G D#
I: "[f#3,g#3,b3]@8 [f#3,b3]@8 ~@5 g#2@3, g#2@7 ~, ~@2 [f#3,g#3,b3]", // G#m7 B5 G#m7
J: "[g#3,a#3,c#4,f4]@8 ~@13 a#3@3, c#3@13 c#3@11, ~ [c#4,f4]@2, ~@8 a#3@13 ~@3, ~ g#3!2", // A#m7 C#
K: "[f#3,g#3,b3]@8 ~@8 [f#3,g#3,b3]@5 g#2@2 ~, g#2@13 g#2@8 ~@3, ~ [f#3,b3] ~", // G#m7 B5
L: "[g#3,a#3,c#4,f4]@8 ~@13 c#3@3, c#3@13 c#3@8 ~@3, ~ c#4@2, ~@8 a#3@11 a#3@5, ~ g#3!2", // A#m7
M: "[f#3,g#3,b3]@8 ~@13 g#2@3, g#2@13 g#2@6 g#3@5, ~ b3@2, ~ f#3!2", // G#m7
N: "[g#3,a#3,c#4,f4]@8 ~@8 [g#3,a#3,c#4,f4]@5 c#3@2 ~, c#3@13 c#3@8 ~@3, ~ [g#3,a#3,c#4,f4] ~", // A#m7
O: "[a#3,c#4,f#4]@8 [c#4,f#4]@8 ~@5 f#3@3, f#2, f#3@7 ~, ~@2 [a#3,c#4,f#4]", // F# F#5 F#
P: "[g#3,a#3,c#4,f4]@8 ~@13 a#3@2 ~, a#2@13 a#2@5 ~ a#2@5, ~@8 c#4@15 ~, ~@8 a#3@8 a#3@5 ~@3", // A#m7
Q: "~@13 b2@3 [a#2,c#4,f#4]@8, [b3,c#4,f#4]@2 ~, b2 ~, ~@3 d#4@14 ~@7", // F# Bsus2
R: "g#2@13 g#2@3 [c#3,f#3,b3]@8, [f#3,b3]@2 ~", // F#sus4 B5
S: "[[a#3,c#4]@8 [a#3,c#4]@8 c#4@8 ~@8 [f#4,a#4]@5 [f#4,a#4]@3 [f#4,a#4,c#5]@5 f#3@2 ~, f#2@47 ~, f#4@32 c#5@5 d#5@10 ~, f#3@21 ~@3 [a#3,c#4]@23 ~, ~@29 f#3@16 ~@3]/2", // A#m F# A#m
T: "[[f4,a#4,c#5]@8 c#5@8 ~@16 [f4,a#4]@5 ~@8 [f2,f3]@3, f2@40 [f2,f3]@5 ~@3, f3@21 f3@8 f3@11 ~@8, ~@2 c#5 [a#4,c#5] c#5 ~, ~@37 [f4,a#4,d#5]@5 ~ [f4,a#4,c#5]@5]/2", // A#m A#5 F A#m D#sus2 A#m
U: "[[e4,a#4,c#5]@8 [e4,a#4,c#5]@8 ~@8 [e4,a#4,c#5]@8 ~@8 [e4,a#4,c#5]@5 e3@2 ~, e2@47 ~, e3@21 e3@16 e3@8 ~@3, ~@2 [e4,a#4,c#5] ~@3]/2", // A#dim
V: "[d#4,g#4,a#4]@8 [d#4,g#4,a#4]@8 [d#4,g#4,a#4]@5 d#3@2 ~, [d#2,d#3]@23 ~", // D#sus4 D#
W: "[d#2,d#3,d#4,g4,a#4] [f2,f3,d#4,g#4,a#4] [g2,g3,d#4,g4,a#4]", // D# Fm7 D#
X: "[f#3,g#3,b3]@8 ~@13 g#2@3, g#2@13 g#2@8 ~@3, ~ [f#3,b3] [f#3,g#3,b3]", // G#m7 B5 G#m7
Y: "[g#3,a#3,c#4,f4]@8 ~@13 a#3@3, c#3@13 c#3@11, ~ c#4@2, ~@8 a#3@13 ~@3, ~@2 g#3", // A#m7
Z: "[f#3,g#3,b3]@8 f#3@8 ~@5 g#2@3, g#2@13 ~@3 [f#3,g#3,b3]@8", // G#m7
AA: "[g#3,a#3,c#4,f4]@8 ~@13 c#3@3, c#3@13 c#3@8 ~@3, ~ c#4 [g#3,a#3,c#4,f4]", // A#m7
AB: "[f#3,g#3,b3]@8 [f#3,g#3,b3]@8 ~@5 g#2@3, g#2@7 ~, ~@2 [f#3,g#3,b3]", AC: "[a#3,c#4,f#4]!3, [f#2,f#3]",
AD: "[f#2,f#3]@4 [a#2,a#3]@4 [c#3,c#4]@3 ~", // F# A# C#
AE: "[a#3,c#4,d#4,f#4]@8 [a#3,c#4,d#4,f#4]@8 [a#3,c#4,d#4,f#4]@5 d#3@3, [d#2,d#3]@23 ~", // D#m7 D#
AF: "[g#3,a#3,c#4,f4]@8 [a#3,c#4,f4]@8 ~@5 a#2@2 ~, a#2@7 ~, ~@8 g#3@11 g#3@5, ~@16 [a#3,c#4,f4]@7 ~", // A#m7 A#m
AG: "~@16 [b3,c#4,d#4,f#4]@5 b2@3, [b3,c#4,f#4]@2 ~, b2@13 b2@8 ~@3, ~@3 d#4@13 ~@8", // B Bsus2
AH: "[a#3,c#4,f#4]@8 ~@8 [a#3,c#4,f#4]@5 f#3@2 ~, f#2@23 ~, ~ [a#3,c#4,f#4] ~, ~@13 f#3@8 ~@3", // F#
AI: "[b3,c#4,d#4,f#4]@8 [b3,c#4,f#4]@8 [b3,c#4,d#4,f#4]@5 g#2@2 ~, g#2@7 ~", // B Bsus2 B
AJ: "[b3,c#4,f#4]@8 ~@8 [b3,c#4,f#4]@5 c#3@3, c#3@13 c#3@8 ~@3, ~ [b3,c#4,f#4] ~", // Bsus2
AK: "[a#3,c#4,f#4]@8 [c#4,f#4]@8 [a#3,c#4,f#4]@7 ~, f#2@23 ~", AL: "[f#2,f#3]@8 [a#2,a#3]@8 [c#3,c#4]@5 ~@3",
AM: "[a#3,c#4,d#4,f#4]@8 [a#3,c#4,f#4]@8 [a#3,c#4,d#4,f#4]@5 d#3@3, [d#2,d#3]@23 ~", // D#m7 F# D#m7 D#
AN: "[g#3,a#3,c#4,f4]@8 ~@13 a#2@2 ~, a#2@13 a#2@8 ~@3, ~@8 [c#4,f4]@15 ~, ~@8 a#3@11 a#3@4 ~, ~@8 g#3@8 g#3@7 ~", // A#m7 C#
AO: "~@21 f#3@2 ~, [f#2,f#4]@23 ~, c#4@16 g#3@7 ~, a#3@11 a#3@12 ~, ~@8 f#3@5 f#3@6 c#4@4 ~", // F#
AP: "[b3,c#4,d#4,f#4]@8 ~@8 [b3,c#4,d#4,f#4]@5 g#2@2 ~, g#2@13 g#2@8 ~@3, ~ [b3,c#4,d#4,f#4] ~", // B
AQ: "[f#3,g#3,b3]@8 ~@13 g#2@3, g#2@13 g#2@8 ~@3, a#3 ~@7 [f#3,g#3,b3]@8 [f#3,g#3,b3]@8", // G#m7
AR: "[b3,c#4,f#4]@8 [b3,c#4,f#4]@8 ~@5 c#3@3, c#3@7 ~, ~@2 [b3,c#4,f#4]", // Bsus2
AS: "[[c#3,b3,c#4,f#4]@23 ~ [f#3,a#3,c#4,f#4]@3 ~@21 c#5@16 [f#4,a#4]@5 [f#4,d#5]@3, ~@23 f#2@4 ~@20 f#5@25, ~@8 c#5]/3", // F#sus4 F# D#m
AT: "[[f4,a#4]@7 ~ [f4,a#4]@8 [a#4,c#5]@8 ~@8 [f4,a#4]@5 ~@8 f3@3, f2, f3@21 ~@8 f3@8 [f4,a#4]@3 f3@5 ~@3, c#5@16 ~@8 [a#4,c#5]@8 c#5@11 [f4,a#4,c#5]@5, ~@37 d#5@11]/2", // A#5 A#m A#5 A#m
AU: "[[e4,a#4,c#5]@8 [e4,c#5]@8 ~@8 [e4,a#4,c#5]@8 ~@8 [e4,a#4,c#5]@5 e3@2 ~, e2@21 e2@26 ~, ~@16 [e4,a#4,c#5]@8 e3@13 e3@8 ~@3, ~@4 [e4,c#5] ~]/2", // A#dim C#m A#dim C#m
AV: "[d#4,g#4,a#4]@8 [d#4,g#4,a#4]@8 ~@5 d#3@3, d#2, d#3@7 ~, ~@2 [d#4,g#4,a#4]", // D#sus4
AW: "[d#2,d#4,g4,a#4]@8 [f2,f3,d#4,g#4,a#4]@8 [g2,g3,d#4,g4,a#4]@7 ~", // D# Fm7 D#
AX: "[b3,c#4,d#4,f#4]@8 ~@13 g#2@3, g#2@13 g#2@8 ~@3, ~ [b3,c#4,d#4,f#4]!2", // B
AY: "[g#3,a#3,c#4,f4]@8 ~@8 g#3@5 a#3@2 ~, c#3@13 c#3@10 ~, ~@8 [a#3,c#4,f4]@15 ~", // A#m7 A#m
AZ: "[b3,c#4,d#4,f#4]@8 ~@8 [b3,c#4,d#4,f#4]@5 g#2@3, g#2@13 g#2@8 ~@3, c4 ~@7 [b3,c#4]@8 ~@8", // B Bsus2
BA: "[g#3,a#3,c#4,f4]@8 ~@13 c#3@3, c#3@13 c#3@8 ~@3, ~@8 [c#4,f4]@15 ~, ~@8 a#3@11 a#3@5, ~@8 g#3@8 g#3@7 ~", // A#m7 C#
BB: "[b3,c#4,d#4,f#4]@8 ~@8 [b3,c#4,d#4,f#4]@5 g#2@2 ~, g#2@13 g#2@8 ~@3, ~ [b3,c#4,f#4] ~", // B Bsus2
BC: "c#3 ~ [c#4,c#5], [b3,d#4,f#4], c#4@11 c#4@5 ~@8, ~@8 c#3@5 c#3@11", // C# B
BD: "[[f#4,a#4,c#5]@8 [f#4,a#4,c#5]@8 ~@16 [f#4,a#4]@5 [f#4,a#4]@3 [f#4,a#4,c#5]@5 f#3@2 ~, f#2@47 ~, f#3@21 f#3@8 f#3@16 ~@3, ~@2 [f#4,a#4,c#5] [f#4,a#4,c#5] c#5 ~, ~@37 d#5@10 ~]/2", // F#
BE: "[[f4,a#4,c#5]@8 [f4,a#4,c#5]@8 ~@16 [f4,a#4]@5 ~@8 f3@3, f2, f3@21 f3@8 f3@8 [f4,a#4]@3 f3@5 ~@3, ~@16 [f4,a#4,c#5]@8 [f4,a#4,c#5]@8 c#5@11 [f4,a#4,c#5]@5, ~@37 d#5@11]/2", // A#m A#5 A#m
BF: "[[e4,a#4,c#5]@8 [e4,a#4,c#5]@8 ~@8 [e4,a#4,c#5]@8 ~@8 [e4,a#4,c#5]@5 e3@2 ~, [e2,e3]@19 e3@5 e3@13 e3@8 ~@3, ~@2 [e4,a#4,c#5] ~ [e4,a#4,c#5] ~, ~@21 e2@26 ~]/2", // A#dim E A#dim
BG: "[[d#2,d#3,d#4,g#4,a#4]@5 d#2@8 ~@3 [d#4,g#4,a#4]@7 ~ [d#2,d#4,g4,a#4]@8 [f2,f3,d#4,g#4,a#4]@8 [g2,g3,d#4,g4,a#4]@7 ~, f2 ~@4 [d#3,d#4,g#4,a#4]@11 d#3@16 ~@16, ~@5 f2 ~@7 d#2@5 ~@30]/2", // D#sus4 D# Fm7 D# D#sus4
BH: "[b3,c#4,d#4,f#4]@8 ~@8 [b3,c#4,d#4,f#4]@5 g#2@3, g#2@13 g#2@8 ~@3, ~ [b3,c#4,d#4,f#4] ~", // B
BI: "[g#3,a#3,c#4,f4]@8 ~@8 g#3@5 a#3@2 ~, c#3@13 c#3@11, ~@8 [a#3,c#4,f4]@15 ~, ~ g#3 ~", // A#m7 A#m
BJ: "[b3,c#4,d#4,f#4]@8 ~@8 [b3,c#4,d#4,f#4]@5 g#2@3, g#2@13 g#2@8 ~@3, ~ [b3,c#4,f#4] ~", // B Bsus2
BK: "[g#3,a#3,c#4,f4]@8 ~@13 a#3@3, c#3@13 c#3@11, ~ c#4@2, ~@2 g#3", // A#m7
BL: "[[b3,c#4,d#4,f#4]@8 [b3,c#4,f#4]@9 ~@7 g#2@3 ~@24 g#4@48 ~@21, g#2@14 ~@3 [d#4,f#4]@9 ~@2 c#3@63 ~@29, ~@18 [b3,c#4]@9 g#3 a#3@5 g#3@48 ~@39, ~@14 f4@9 f4@24 ~@13, ~@28 c#4@13 ~@79]/5", // B Bsus2 D#m Bsus2
BM: "~@23 [c#3,c#4]", // C#
BN: "[~@7 d#4@8 [f#3,f#4]@8 ~@2 b3@3 ~@26 b5@14 ~@21 g#4@5 g#4@6 ~@38 [c#3,c#4]@6, ~@6 d#3@9 ~@8 g#2@10 f#4@3 g#4@3 b4@3 d#5@4 f#5@4 g#5@19 g#3@39 ~@36, ~@6 [d#3,g#3]@11 c#3@12 ~@7, ~@25 [d#4,f#4]@6 d#4@39 g#4@5 c#4@34 ~@35, ~@28 b3@42 [c#4,f4] c#5@8 d#4@5 f4@5 [f#4,c#5]@48 ~@7]/6", // F# C# G#5 D#m C# F#5
BO: "[~@11 [f#3,f#4]@7 ~@2 b3@2 ~@22 b5@48 ~@4, ~@3 [d#3,d#4]@15 g#2@10 f#4@10 d#5@48 ~@10, ~@19 [d#3,g#3]@11 g#4@11 f#5@48 ~@7, ~@20 f#4@5 d#4@10 c#5@48 ~@13, ~@20 d#4@3 b3@9 b4@48 ~@16]/4", // F# D# G#5
BP: "[~@5 e2@3 e3@2 ~ d#3@2 ~ d2@2 d3@2 ~@22 g#4@4 g#4@5 g#4@6 g#4@29 ~@12, ~@10 d#2@3 ~ d#2 ~@3 [c#2,c#3]@10 f4@3 g#4@2 d#4@4 f4@3 f#4@44 ~@12, ~@20 f3@24 f4@5 d#4@35 ~@12, ~@23 g#3@48 ~@25, ~@13 c#4@24 ~@11]/4", // C#
BQ: "[f#5,f#6]@8 [c#5,c#6]@8 [b4,b5]@7 ~", // F# C# B
BR: "[[f#4,a#4,c#5]@8 ~@8 [a#4,c#5]@5 ~@3 [f#4,a#4]@5 [f#4,a#4]@3 [f#4,a#4,c#5]@5 ~@8 f#3@3, f#2@38 ~@5 f#2@5, f#3@13 f#3@8 f#3@16 f#3@8 ~@3, ~@8 f#4@15 ~@6 d#5@9 ~@10, ~ [a#4,c#5] ~ c#5 ~ [f#4,a#4,c#5]]/2", // F# A#m F# A#m F#
BS: "[[f4,a#4,c#5]@8 ~@8 [f4,a#4,c#5]@5 ~@3 [f4,a#4]@5 [f4,a#4]@3 ~@13 f3@3, f2@23 ~ f2@24, f3@13 f3@8 f3@16 f3@8 ~@3, ~ [f4,a#4,c#5] ~ c#5 [f4,a#4,c#5]!2, ~@29 d#5@19]/2", // A#m A#5 A#m
BT: "[c#4,f#4]@3 ~@13 [b3,c#4,d#4,f#4]@8, g#2, b3@8 b3@5 g#3@11, ~@3 d#4@13 ~@8, ~@5 c#4@11 ~@8", // F#5 B
BU: "[[c#3,b3,c#4,f#4]@18 ~ [c#3,b3,c#4,f#4]@9 ~@29 f#6@39, ~@7 f#2@12 ~@5, ~@29 f#3@48 ~@19, ~@5 [a#3,c#4,f#4]@8 ~@3, ~@7 c#6@5]/4", // F#sus4 F#
})).s("gm_piano").gain(0.56)
// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
~@4 A@2 B@2 C@2 ~ D E ~ E F G ~ H I ~@2 J@2 K L ~ M ~@2 E N O P ~@8 Q ~ H ~ Q ~@7 R@2 S@2 T U ~@3 E V ~ Q ~@11 Q W X
Y@5 ~@3 Z@3 ~@8 AA@2 ~@9 AB@3
>`.pickRestart({
A: "[~@3 [f#4,a#4,c#5] [f#4,a#4] ~, ~@2 [a#4,c#5] ~@3, ~@21 f#3@16 ~@11]/2", // F# A#m
B: "[~ f4 ~ [a#4,c#5] [f4,a#4,c#5] ~, ~ f4 ~, ~@2 [a#4,c#5] ~@3, ~@21 f3@16 ~@11]/2", // A#m
C: "[~@3 [e4,a#4,c#5]!2 ~, ~@2 [e4,a#4,c#5] ~@3, ~@21 e3@16 ~@11]/2", D: "~@4 [d#4,g#4,a#4] ~@3 [d#4,a#4]@4",
E: "~ g#3 ~", F: "~ f4@2", G: "~@8 g#3@11 ~@5", H: "~ a#3 ~", I: "~@8 [g#3,f4]@15 ~",
J: "[~@21 f#3@8 ~@19, ~@2 a#3 ~@3]/2", K: "~ [f4,a#4]!2", L: "f4 ~@2", M: "~ [e4,a#4,c#5] ~", N: "~ f4@2, ~ g#3 ~",
O: "~@13 g#2@8 ~@3, ~ [g#3,b3] ~", P: "~ [g#3,a#3,f4] ~", Q: "~ d#4 ~", R: "[~@15 a#4, ~@11 a#5@13]/2",
S: "[~@3 f4 ~@2, ~@2 f4 ~@3, ~@21 f3@8 ~@19]/2", T: "f2 ~@7 a#4@8 ~@8", U: "~ a#4 ~", V: "~ [d#4,f#4] ~",
W: "~ f4@2, ~@8 a#3@13 ~@3, ~ g#3 ~", X: "~@7 g#2@5, ~@8 d#4@9 ~@7",
Y: "[~@29 c#6@24 ~@7, ~@13 a#3@33 g#5@48 ~@26, ~@17 c#4@48 ~@55, ~@11 c#5@16 ~@13, ~@19 f5@24 ~@17]/5",
Z: "[~@29 g#4@7 ~@2 g#4@28 ~@6, ~@11 f4@7 g#3@15 ~@3, ~@28 d#4@37 ~@7, ~@37 [c#4,f4]@29 ~@6]/3", // C#
AA: "[~@6 f4@29 ~@13]/2", AB: "[~@7 a#5@42 ~@23]/3",
})).s("gm_piano").gain(0.32)
// chords · tenor sax
const tenor_sax = note(`<
~@29 A B C B D B E F G H I J F B K F G L M N O ~@3 P Q ~@6 A R C B D B K S@2 T@2 U@2 V W R C B D X@2 ~@22 S@2 T@2 Y@6
>`.pickRestart({
A: "[d#3,g3] [f3,g#3] [g3,a#3]", B: "[g#2,f#3,b3,d#4,f#4]@23 ~", C: "[c#3,g#3,c#4,f4] ~@5",
D: "[c#3,g#3,c#4,f4]@5 ~@19", E: "[c#3,g#3,c#4,f4]@11 ~", F: "[f#2,f#3,a#3,c#4,f#4]@23 ~",
G: "[f#2,f#3] [a#2,a#3] [c#3,c#4]", H: "[d#3,a#3,c#4,d#4,f#4]@23 ~", I: "[a#2,g#3,a#3,c#4,f4]@11 ~",
J: "[b2,b3,c#4,d#4]@23 ~", K: "[c#3,b3,d#4,f#4]@23 ~", L: "[d#3,c#4,d#4,f#4,a#4]@23 ~",
M: "[a#2,a#3,c#4,f4,g#4]@23 ~", N: "[b2,b3,d#4,f#4]@23 ~", O: "[f#2,f#3,a#3,c#4,f#4]@11 ~",
P: "[f#4,a#4]@7 ~ [f#4,a#4]@8 [f#4,a#4]@8, [f4,a4] ~@7 [f4,a4] ~@7 [f4,a4] ~@7", Q: "[c#4,f#4] ~@7",
R: "[g#2,f#3,b3,d#4,f#4]", S: "[[a#3,c#4,f#4]@47 ~]/2", T: "[[a#3,c#4,f4]@23 ~]/2", U: "[[a#3,c#4,e4]@47 ~]/2",
V: "[a#3,c#4,d#4]@23 ~", W: "g3 g#3 a#3, d#4", X: "[[g#2,f#3,b3,d#4,f#4]@9 ~@7]/2",
Y: "[[g#2,g#3,b3]@23 ~ [c#3,g#3,b3]@27 ~@3 [f#2,a#3,c#4,f#4]@67 ~@23, d#4@13 ~@23]/6", // G#m C#7 F#
})).s("gm_tenor_sax").gain(0.35)
// drums · kick
const kick = s("bd").struct(`<
~@18 A B A@3 B A B A B A C A B A B A B D E F@6 D G F@6 H G ~@2 A B A B A C A B A B F B F@6 I@2 F@4 A J ~@22 F@4 A K L
~@3
>`.pickRestart({
A: "x", B: "~@7 x", C: "x!3", D: "x ~@18 x ~@4", E: "~ x", F: "x ~@6 x", G: "~@2 x!2 ~@2", H: "x ~@4 x",
I: "x ~@4 x ~@15 x ~@2", J: "~ x ~@6", K: "x ~@6 x ~@4", L: "~ x ~@2",
})).gain(0.31)
// drums · rim
const rim = s("rim").struct("<~@23 A ~ A ~ A ~ A ~ A ~ A ~ A ~@21 A ~ A ~ A ~ A ~ A ~@48>".pickRestart({
A: "x",
})).gain(0.31)
// drums · snare
const snare = s("sd").struct(`<
~@37 A ~ B ~ B ~ B ~ C ~ B ~ B ~ B ~ C B ~@12 B ~ B ~ B ~ B ~@3 B ~ B ~@25 B ~ B D E ~@4
>`.pickRestart({
A: "x!2 ~@2 x ~", B: "x", C: "~@2 x", D: "~ x!2", E: "~@19 x ~@4",
})).gain(0.31)
// drums · low tom
const low_tom = s("lt").struct("<~@21 A ~@15 B ~@7 C ~@7 C ~@13 D ~@7 E ~@33 F ~@4>".pickRestart({
A: "~@2 x", B: "~ x ~", C: "~ x ~@4", D: "~@5 x ~@10 x ~@7", E: "~@19 x ~@4", F: "~@5 x ~@3 x ~@14",
})).gain(0.36)
// drums · hihat
const hihat = s("hh").struct("<~@18 A B A C B@15 ~@18 D B@11 ~@7 A E ~@38>".pickRestart({
A: "~ x!2", B: "x!3", C: "x", D: "~@13 x!3 ~@8", E: "x!2 ~",
})).gain(0.27)
// drums · mid tom
const mid_tom = s("mt").struct("<~@21 A ~@23 B ~@6 C B ~@13 D ~@6 E@2 ~@38>".pickRestart({
A: "~ x ~", B: "x", C: "~@23 x", D: "~@13 x ~@10", E: "~@2 x",
})).gain(0.36)
// drums · open hat
const open_hat = s("oh").struct("<~@55 [~@2 x] ~@58>").gain(0.27)
// drums · high tom
const high_tom = s("ht").struct("<~@67 [~@11 x ~@12] ~@6 [~@13 x ~@10] [~@11 x ~ x ~@10] ~@38>").gain(0.36)
// drums · crash
const crash = s("cr").struct("<~@37 A@2 ~@6 A@2 ~@6 A ~@13 B ~ A ~ A ~ A C@2 A ~@28 A ~ A ~ A D ~@3>".pickRestart({
A: "x", B: "~@5 x ~@18", C: "x ~@4 x ~@18", D: "~ x ~@2",
})).gain(0.27)
// drums · ride
const ride = s("rd").struct("<~@18 A ~ A@2 ~@16 B@7 ~ B@7 ~@2 A ~@12 B@6 ~@2 B@4 C D ~@22 B@4 A ~@5>".pickRestart({
A: "x", B: "x!3", C: "x ~@3 x ~@4 x ~@2", D: "~ x ~@6",
})).gain(0.27)
stack(bass, piano, piano_soft, tenor_sax, kick, rim, snare, low_tom, hihat, mid_tom, open_hat, high_tom, crash, ride)
More by
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.