0:00/0:00
// Hungarian Dance No. 5 in F minor — J. Brahms
// 140 bpm, 2/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Transcription provider: pdmx. https://musescore.com/score/4712421; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 145 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(140/2)
// 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
const piano = note(`<
A@7 B@2 C@3 ~@3 D@7 E@3 F G@2 ~@2 H I@2 J@2 K@3 L ~@6 M N O P Q R S T U V W X ~@6 Y@3 Z@3 AA@2 AB@2 AC AD@2 AE AF@7
AG@6 AH@2 AI ~@15 AJ AK AL AM AN AO AP AQ AR AS AT AU ~@3 AV AW AX AY AZ BA BB BC BD ~@6 BE BF BG@2 BH BI@2
>`.pickRestart({
A: "[~@12 c#4@11 f#4@4 a4@11 f#4@4 f4@11 f#4@2 g#4@2 f#4@15 [b3,d4]@11 ~ [c#4,e4]@2 ~ [a3,c#4]@15 ~ c#4@2 b3 b3@2 g#3@2 g#3@2, ~@43 [d4,f#4] ~@12]/7", // Bm C#m A D
B: "[~@4 c#4@2 f#3@15 [c#4,c#5]@11]/2", // C#
C: "[[f#4,f#5]@2 [a4,a5]@2 [c#5,c#6]@11 [a4,a5]@4 [d4,f4,g#4,d5,f5,g#5]@11 ~@2 [b4,b5]@2 [c#4,f#4,a4,c#5,f#5,a5]@14, ~@31 [a4,a5]@2 ~@15]/3", // F# A C# A Ddim B F#m A
D: "[~@6 [a4,c#5,f#5]@4 ~@4 [c#4,c#5]@11 [f#4,f#5]@4 [a4,a5]@11 [f#4,f#5]@4 [f4,f5]@11 ~@2 [g#4,g#5]@2 [f#4,f#5]@15 ~ [b4,d5]@11 [c#5,e5]@2 [d5,f#5]@2 [a4,c#5]@15 b4@2 a4@2 ~ g#4@2, ~@56 [f#4,f#5]@2 ~@51 a4@2 ~]/7", // F#m C# F# A F# F G# F# …
E: "[g#4@6 c#5@2 f#4@15 [c#4,c#5]@6 [f#4,f#5]@2 [a4,a5]@2 ~ [f#5,f#6]@2 [a5,a6]@2 [c#6,c#7]@10, ~@33 [c#5,c#6]@2 ~@13]/3", // C# F# A F# A C#
F: "~@2 [a5,a6]@3 [d5,f5,g#5,d6,f6,g#6]@11", // A Ddim
G: "[~ [a5,a6]@2 ~ [c#5,f#5,a5,c#6,f#6,a6]@15 ~@13, ~@3 [b5,b6]@2 ~@27]/2", // A F#m B
H: "~@11 [f#6,f#7] ~@4, ~@9 [f#5,a5,a6]@4 ~@3, ~@10 [c#6,c#7]@3 ~@3", // F# F#m C#
I: "[[c#5,e5,c#6]@4 ~@4 [c#5,e5,c#6]@4 ~@3 [d5,f#5,d6]@11 ~ [c#5,e5,c#6]@4 ~]/2", // C#m D C#m
J: "[~@2 [b4,d5,b5]@8 [a#4,a#5]@2 [b4,b5]@2 ~ [b4,b5]@2 [a#4,a#5]@2 [c#5,c#6]@2 [b4,b5]@4 ~@4 [b4,d5,b5]@3, ~@7 [c#5,c#6] ~@8]/2", // Bm A# B A# C# B Bm C#
K: "[~@4 [b4,d5,b5]@4 ~@4 [c#5,e5,c#6]@11 [b4,d5,b5]@4 ~@4 [a4,c#5,a5]@7 [g#4,g#5]@2 [a4,a5]@2 [b4,b5]@2 [a4,a5]@2 [g#4,g#5]@2]/3", // Bm C#m Bm A G# A B A …
L: "[b4,b5] [a4,a5]@2 ~@5", M: "~@3 [g#5,c#6] ~@4, ~ c#5 ~@2, ~@2 [f6,g#6,c#7] ~@5, ~@5 f5@3 ~@8",
N: "~@2 [c#5,c#6] ~ [d#5,d#6]@2 ~@6 [f5,f6]@2 ~@2", O: "~@4 [g#5,g#6] [f#5,f#6] ~@2 [f#5,f#6]@8",
P: "[f5,f6]@2 [f#5,f#6]@2 [g#5,g#6]@2 [f#5,f#6]@2 [f5,f6] [f#5,f#6] ~ [g#5,g#6] [f#5,f#6]@2 ~@2", // F F# G# F# F F# G# F#
Q: "~ [c#5,e5,c#6] ~ [c#5,e5,c#6]", R: "~ [d5,f#5,d6]@3", S: "[c#5,e5,c#6] ~ [b4,d5,b5]@2",
T: "[a#4,a#5] [b4,b5] [c#5,c#6] [b4,b5] [a#4,a#5] [c#5,c#6] [b4,b5]@2", U: "~ [b4,d5,b5] ~ [b4,d5,b5]",
V: "~ [c#5,e5,c#6]@3", W: "[b4,d5,b5] ~ [a4,c#5,a5]@2",
X: "[g#4,g#5] [a4,a5] [b4,b5] [a4,a5] [g#4,g#5] [b4,b5] [a4,a5]@2", // G# A B A G# B A
Y: "[~@17 c#6@2 ~@10 [c#5,c#6] ~ [d#5,d#6]@2 ~@6 [f5,f6]@2 ~@6 [g#5,g#6], ~@15 [c#5,f5]@4 ~@29, ~@15 [f6,g#6,c#7]@2 ~@31, ~@8 g#5 ~@15]/3", // C# D# F G# C#
Z: "[[f#5,f#6] ~@2 [f#5,f#6]@8 [f5,f6]@2 [f#5,f#6]@2 [g#5,g#6]@2 [f#5,f#6]@2 [f5,f6] [f#5,f#6] [g#5,g#6] ~ [f#5,f#6]@2 ~@6 [a#4,f#5]@3 [c#4,f4,a#4,c#5]@3 [c#4,f4,a#4,c#5]@3 ~ [c#4,f4,a#4,c#5]@3 [c#4,f4,a#4,c#5]@3 ~]/3", // F# F F# G# F# F F# G# …
AA: "[[b3,d#4,g#4,b4]@3 [a#3,c#4,f#4,a#4]@3 [b3,d#4,g#4,b4]@3 ~@7 f#4 ~@5 f#4 [a#4,f#5]@3 ~ [a#3,c#4,a#4,c#5]@3 [a#3,c#4,a#4,c#5]@2, ~@10 [a#4,c#5]@5 c#4@2 [a#4,c#5]@5 c#4@2 ~@8, ~@13 f#3@3 ~@4 f#3@3 ~@9, ~@14 a#3@3 ~@4 a#3@3 ~@8]/2", // G#m F# G#m D#m A#m
AB: "[~ [a#3,c#4,a#4,c#5]@3 ~ [a#3,c#4,a#4,c#5]@3 [g#3,b3,g#4,b4]@3 ~ [f#3,a#3,f#4,a#4]@3 [f3,g#3,f4,g#4]@3 ~@6 c#4 ~@6 c#4, ~@18 f#4@5 a#3@2 f#4@5 a#3@2, ~@22 f#3@3 ~@4 f#3@3]/2", // A#m G#m F# Fm
AC: "[f#5,f#6]@3 [a#4,c#5,a#5,c#6]@3 ~ [a#4,c#5,a#5,c#6]@3 [a#4,c#5,a#5,c#6]@3 ~ [a#4,c#5,a#5,c#6]@2", // F# A#m
AD: "[~ [g#4,b4,g#5,b5]@3 [f#4,a#4,f#5,a#5]@3 ~ [g#4,b4,g#5,b5]@3 ~@6 c#5 ~@6 c#5 [f#5,f#6]@3 [a#4,c#5,a#5,c#6]@3 ~, ~@11 [f#5,a#5,c#6]@5 a#4@2 [f#5,a#5,c#6]@5 a#4@2 ~@7, ~@15 [c#4,f#4]@3 ~@3 c#4@3 ~@8, ~@22 f#4@3 ~@7]/2", // G#m F# G#m F# A#m F# F#5
AE: "[a#4,c#5,a#5,c#6]@3 [a#4,c#5,a#5,c#6]@3 [a#4,c#5,a#5,c#6]@3 ~ [g#4,b4,g#5,b5]@3 [f#4,a#4,f#5,a#5]@3", // A#m G#m F#
AF: "[~ [f4,g#4,f5,g#5]@3 ~@6 a#4 ~@5 [f#4,a#4]@8 ~@13 f#4@8 ~@12 f#4@8 ~@13 f#4@7 ~@13 f4@8 [f#4,a#4,f#5,a#5]@2 ~ [f#4,a#4,f#5,a#5]@2 ~, ~@4 f#5@5 f#4@2 f#5@14 ~@10 a#3@9 ~@12 [b3,d#4]@9 ~@11 a#3@9 ~@27, ~@7 a#3@3 ~@4 a#3@10 ~@10 f#3@10 ~@11 f#3@10 ~@10 f#3@10 ~@11 [f#3,b3]@10 ~@6, ~@8 c#4@3 ~@4 c#4@9 a#4@20 ~ b4@20 a#4@20 g#4@20 ~@7, ~@36 c#4@8 ~@33 c#4@8 ~@12 c#4@8 ~@7]/7", // Fm F# B B5
AG: "[~ [g#4,b4,g#5,b5]@2 ~ [g#4,b4,g#5,b5]@2 ~ [a#4,c#5,a#5,c#6]@3 ~ [a#4,f#5,a#5,f#6]@3 [a#4,c#5,a#5,c#6]@20 ~@13 f#4@8 ~@12 [d#4,f#4]@8 ~@13 f4@8, ~@34 a#4@20 ~ b4@20 [g#4,b4,c#5]@20 ~, ~@45 [f#3,a#3]@10 ~@10 f#3@10 ~@10 f#3@10 ~, ~@46 c#4@8 ~@12 b3@9 ~@11 b3@9 ~, ~@87 c#4@8 ~]/6", // G#m A#m D#m A#m D#m C#7 F#
AH: "[~@12 f#4@8 [a#4,c#5,a#5,c#6]@2 ~ [g#4,b4,g#5,b5]@2 ~@2 [f#4,a#4,f#5,a#5]@2 ~ [f4,g#4,f5,g#5]@2, [a#4,c#5]@5 ~@3, ~@5 f#3@5 ~@6, ~@11 [a#3,c#4]@9 ~@12]/2", // A#m G#m F# Fm A#m
AI: "~ [f#4,f#5]@3 ~@3 [f#5,f#6] [f#4,f#5]@3 ~@5, ~@5 [a#4,a#5]@3 ~@8, ~@3 [c#5,c#6] ~@4", AJ: "c#4@3 f#4",
AK: "a4@3 f#4", AL: "f4@6 f#4 g#4", AM: "f#4", AN: "[b3,d4]@6 [c#4,e4] [d4,f#4]", AO: "[a3,c#4]",
AP: "b3 a3!2 g#3 g#3@3 c#4", AQ: "f#3", AR: "[c#4,c#5]@3 [f#4,f#5] [a4,a5] [c#5,c#6] [f#5,f#6] [a5,a6]",
AS: "[c#6,c#7]@3 [a5,a6]", AT: "[d5,f5,g#5,d6,f6,g#6]@6 [a5,a6] [b5,b6]", AU: "[c#5,f#5,a5,c#6,f#6,a6]",
AV: "~@5 [c#6,f#6] ~@2, ~@2 f#5 ~, ~@4 [a6,c#7,f#7] ~@3, ~@9 a5@3 ~@4", AW: "[c#5,e5,c#6] ~ [c#5,e5,c#6] ~",
AX: "[d5,f#5,d6]@3 [c#5,e5,c#6]", AY: "~@2 [b4,d5,b5]@4 [a#4,a#5] [b4,b5]",
AZ: "[c#5,c#6] [b4,b5] [a#4,a#5] [c#5,c#6] [b4,b5]@2 ~@2", BA: "[b4,d5,b5] ~ [b4,d5,b5] ~",
BB: "[c#5,e5,c#6]@3 [b4,d5,b5]", BC: "~@2 [a4,c#5,a5]@4 [g#4,g#5] [a4,a5]",
BD: "[b4,b5] [a4,a5] [g#4,g#5] [b4,b5] [a4,a5]@2 ~@2", // B A G# B A
BE: "~@13 c#6@2 ~, ~@11 [c#5,f5]@4 ~, ~@11 [f6,g#6,c#7]@2 ~@3, ~@6 g#5 ~", BF: "~@9 [c#5,c#6] ~ [d#5,d#6]@2 ~@3",
BG: "[~@3 [f5,f6]@2 ~@6 [g#5,g#6] [f#5,f#6] ~@2 [f#5,f#6]@8 [f5,f6]@2 [f#5,f#6]@2 [g#5,g#6]@2 [f#5,f#6]@2 [f5,f6]]/2", // F G# F# F F# G# F# F
BH: "[f#5,f#6] [g#5,g#6] ~ [f#5,f#6]@2 ~@8 g#5@2 ~, ~@11 [b4,d5,f#6,f#7]@4 ~, ~@6 f#5 ~", // F# G# F# Bm
BI: "[~@5 g#5@2 ~@4 [a4,c#5,f#5,a5,c#6,f#6]@12 ~@9, ~@3 [b4,c#5,c#6,c#7]@4 ~@25, ~@2 f5 ~@13]/2", // F#m Bsus2
})).s("gm_piano").gain(0.35)
// chords · piano · soft notes
const piano_soft = note(`<
~@12 A@2 B@2 ~@11 C@2 D@2 ~@7 E F G H@2 I J ~@12 K L M@2 N@3 ~@29 O@6 P@2 Q@7 ~@12 R S T U ~@8 V W@2 X Y@3 ~@6
>`.pickRestart({
A: "[~ d5@2 e5@2 f#5@2 d5@2 c#5@2 d5@2 e5@2 c#5@2 ~ c#5@2 d5@2 b4@2 a4@2 b4@2 c#5@2 a4@2, ~@17 b4@2 ~@13]/2",
B: "[b4@2 a4 a4@2 g#4@2 g#4@6 c#5@2 f#4@8 ~@9]/2",
C: "[~@5 e7@2 [f#6,f#7]@2 d7@2 [c#6,c#7]@2 d7@2 [e6,e7]@2 c#7@2 [b5,b6]@2 c#7@2 ~ b6@2 [a5,a6]@2 b6@2 [c#6,c#7]@2, ~@4 [d6,d7]@2 ~@17 [d6,d7]@2 ~@7]/2", // F# C# E B A C# D
D: "[a6@2 [b5,b6]@2 a6@2 [a5,a6]@2 g#6 g#6@4 c#6@2 c#7@2 [f#5,f#6]@8 ~@7, ~@9 g#5@2 ~@21]/2", E: "~@9 [b4,g#5]@6 ~",
F: "~@5 [b4,g#5]@6 ~@5", G: "~ [d5,b5]@3 ~@2 [c#5,a5]@6 ~@4", H: "[~@2 [b4,g#5]@9 ~@4 [a4,f#5]@7 ~@7 [g#4,f5]@3]/2",
I: "[a4,f#5]@3 ~ [b4,g#5]@4 [a4,f#5]@4 [g#4,f5]@4", J: "[b4,g#5] [a4,f#5]@2 ~", K: "~@2 [b4,g#5]@3 ~@3",
L: "[b4,g#5]@6 ~@5 [d5,b5]@3 ~@2", M: "[~ [c#5,a5]@6 ~@6 [b4,g#5]@9 ~@4 [a4,f#5]@6]/2",
N: "[~@8 [g#4,f5]@3 [a4,f#5]@3 ~ [b4,g#5]@4 [a4,f#5]@4 [g#4,f5]@4 [b4,g#5]@4 [a4,f#5]@8 ~@9]/3", // C# D E D C# E D
O: "[~@18 [c#4,f#4]@8 ~@13 f#4@8 c#5@10 ~@2 f#4@8 ~@13 f4@7 [f#4,a#4,a#5,a#6]@2 ~@2 [f#4,a#4,a#5,a#6]@2 ~ [g#4,b4,b5,b6]@2, ~@6 [c#5,f#5,a#5]@20 [d#5,f#5,b5]@20 ~ [f#5,a#5]@20 [b4,c#5,f5,g#5]@20 ~@9, ~@16 f#3@10 ~@10 f#3@10 ~@11 [f#3,c#5]@10 ~@10 f#3@10 ~@9, ~@17 a#3@9 ~@11 b3@9 ~@12 [a#3,c#4]@9 ~@11 b3@9 ~@9, ~@38 d#4@8 ~@33 c#4@8 ~@9]/6", // F#5 F# G#m F# B F# C#7 F#5 …
P: "[~ [g#4,b4,b5,b6]@2 ~@2 [c#5,c#6,c#7]@3 [f#5,f#6,f#7]@3 ~ [a#4,c#5,c#6,c#7]@20, ~@5 a#4@7 ~@20]/2", // G#m C# F# A#m
Q: "[~@13 f#4@7 ~@13 f#4@8 ~@12 [c#4,f4]@8 ~@13 f#4@7 [a#4,c#5,c#6,c#7]@2 ~@2 [g#4,b4,b5,b6]@2 ~ [f#4,a#4,a#5,a#6]@2 ~@2 [f4,g#4,g#5,g#6]@2 ~ [f#4,f#5]@3 [a#4,a#5]@2 ~ [f#5,f#6] [f#4,f#5]@2 ~@8, [c#5,f#5,a#5]@20 [d#5,f#5,b5]@20 ~ [f5,g#5,b5,c#6]@20 [f#5,a#5,c#6]@20 ~@19 [c#5,c#6]@2 ~@10, ~@10 f#3@10 ~@11 [f#3,b3]@10 ~@10 f#3@10 ~@10 f#3@10 ~@31, ~@11 a#3@9 ~@32 b3@9 ~@11 a#3@9 ~@31, ~@12 c#4@8 ~@12 d#4@8 ~@33 c#4@8 ~@31]/7", // C# A#m G#m F# Fm F# A# F# …
R: "[d6,d7] e7 [f#6,f#7] d7 [c#6,c#7] d7 [e6,e7] c#7", S: "[b5,b6] c#7 [d6,d7] b6 [a5,a6] b6 [c#6,c#7] a6",
T: "[b5,b6] a6 [a5,a6] g#6 g#6@2 c#6 c#7, ~@4 g#5 ~@3", U: "[f#5,f#6] ~", V: "[b4,g#5]@3 ~@3 [b4,g#5]@2",
W: "[~@7 [d5,b5]@3 ~@3 [c#5,a5]@6 ~@6 [b4,g#5]@7]/2", X: "~@6 [a4,f#5]@7 ~@3",
Y: "[~@4 [g#4,f5]@3 [a4,f#5]@3 ~ [b4,g#5]@4 [a4,f#5]@4 [g#4,f5]@4 [b4,g#5]@4 [a4,f#5]@8 ~@13]/3", // C# D E D C# E D
})).s("gm_piano").gain(0.2)
// chords · piano
const piano_2 = note(`<
A B@3 C@4 D E@4 ~@2 F@2 G H@3 I J@4 K L ~@2 M N@4 O P@3 ~@6 Q R S T U V W X Y Z AA AB AC ~@5 AD@6 AE AF AG@2 AH AI@2
AJ AK@2 ~@29 AL@2 AM AN AO AP AQ AP AR AS AT AU ~@3 AV AW AX AY AZ BA BB BC BD ~@6 BE BF BG@3 BH@2
>`.pickRestart({
A: "~@3 f#2",
B: "[[c#3,f#3,a3]@2 ~ c#2@4 [c#3,f#3,a3]@2 ~@2 f#2@4 [c#3,f#3,a3]@2 ~@2 c#2@3 [c#3,f#3,a3]@2 ~@2 f#2@4 ~@4 b1@3 [d3,f#3,b3]@4 f#2@4 [c#3,f#3,a3]@3, ~@30 [d3,f#3,b3]@7 ~@11]/3", // F#m Bm F#m Bm
C: "[~ c#2@4 [c#3,f#3,a3]@3 f#2@4 ~@4 b1@4 [b2,d3]@3 f#2@4 [a2,c#3]@4 c#2@4 [a2,c#3]@4 f2@3 [c#3,f3]@4 c#2@4 c#3@4 f#2@4 [a2,c#3]@3 c#2@3, ~@3 [b2,d3,f#3]@2 ~@11]/4", // F#m Bm A C# A Bm
D: "~ [a2,c#3]@4 f#2@4 [c#3,f#3,a3]@3 c#2@4", // A F#m
E: "[[c#3,f#3,a3]@4 f#2@4 [c#3,f#3,a3]@4 c#2@3 [c#3,f#3,a3]@4 f#2@4 ~@4 b1@4 [b2,d3,f#3,b3]@3 f#2@4 [c#3,f#3,a3]@4 f#1@4 [f#3,a3]@4 ~@14, ~@23 [b2,d3,f#3,b3]@8 ~@33]/4", // F#m Bm F#m Bm
F: "[~@6 [f#1,f#2]@2 ~@6 f#2@4 [c#3,f#3,a3]@4 c#2@3 [c#3,f#3,a3]@4 f#2@3]/2", // F# F#m
G: "~ [c#3,f#3,a3]@4 c#2@3 [c#3,f#3,a3]@4 f#2@4", // F#m
H: "[~@4 b1@4 [b2,d3,f#3,b3]@3 f#2@4 [c#3,f#3,a3]@4 c#2@4 [c#3,f#3,a3]@4 f#2@3 ~@4 b1@4 [b2,d3,f#3,b3]@4 f#2@3 [c#3,f#3,a3]@3, [b2,d3,f#3,b3]@4 ~@11 [b2,d3,f#3,b3]@4 ~@5]/3", // Bm F#m Bm F#m Bm
I: "~ c#2@4 [c#3,f#3,a3]@4 f2@4 [c#3,f3,c#4]@3", // F#m C#
J: "[c#2@4 [c#3,b3]@4 f#2@4 [c#3,f#3,a3]@3 c#2@4 [c#3,f#3,a3]@4 f#2@4 [c#3,f#3,a3]@4 [c#2,c#3]@3 [a3,c#4]@4 [f#2,f#3]@4 [a3,c#4,a4]@4 [c#2,c#3]@4 [a3,c#4,f#4]@3 [f#2,f#3]@4 ~@4 [b1,b2]@3, ~@57 [g#3,b3,d4,f4]@7]/4", // C#7 F#m C# A F# A C# F#m …
K: "~ [g#3,b3,d4,f4]@3 [f#2,f#3]@4 [a3,c#4,f#4]@4 f#2@4", L: "[a3,c#4,f#4] ~@3", M: "~@9 [f#1,f#2]@2 ~@5",
N: "[[a#1,a#2]@4 [f#3,c#4,e4]@4 [f#1,f#2]@3 [f#3,c#4,e4]@4 [a#1,a#2]@4 [f#3,d4,f#4]@4 [f#1,f#2]@4 [f#3,c#4,e4]@3 [b1,b2]@4 [f#3,b3,d4]@4 [f#1,f#2]@4 [f#3,b3,d4]@4 [b1,b2]@3 [f#3,b3,d4]@4 [a1,a2]@4 [f#3,b3,d4]@4 [g#1,g#2]@3]/4", // A# F#7 F# F#7 A# D F# F#7 …
O: "[e3,b3,d4] [e1,e2] [e3,b3,d4] [g#1,g#2]", // E7 E E7 G#
P: "[[e3,c#4,e4]@3 [e1,e2]@4 [e3,b3,d4]@4 [a1,a2]@4 [e3,a3,c#4]@4 [e1,e2]@3 [e3,a3,c#4]@4 [a1,a2]@4 [e3,a3,c#4]@4 [c#2,c#3]@3 [e3,a3,c#4]@4 ~@7]/3", // C#m E E7 A E A C# A
Q: "~ [f3,g#3,c#4,f4] ~@2, ~@2 [c#1,c#2] ~@5", R: "~@2 [c#2,c#3,c#4] ~ [d#2,d#3,d#4]@2 ~@6 [f2,f3,f4]@2 ~@2",
S: "~@2 [f#1,f#2,f#3,a3,c#4,f#4] ~ [f#3,a3,c#4,f#4]@4", T: "[a3,c#4]@2 [f#1,f#2,g#3,b3,d4,f4]@4 [f#2,a3,c#4,f#4] ~",
U: "~ [a#1,a#2] [f#3,c#4,e4] [f#1,f#2]", V: "[f#3,c#4,e4] [a#1,a#2] [f#3,d4,f#4] [f#1,f#2]",
W: "[f#3,c#4,e4] [b1,b2] [f#3,b3,d4] [f#1,f#2]", X: "[f#3,b3,d4] [b1,b2] [f#3,b3,d4] [a1,a2]",
Y: "[f#3,b3,d4] [g#1,g#2] [e3,b3,d4] [e1,e2]", Z: "[e3,b3,d4] [g#1,g#2] [e3,c#4,e4] [e1,e2]",
AA: "[e3,b3,d4] [a1,a2] [e3,a3,c#4] [e1,e2]", AB: "[e3,a3,c#4] [a1,a2] [e3,a3,c#4] [c#2,c#3]", AC: "[e3,a3,c#4] ~@3",
AD: "[~@15 [f3,g#3,c#4,f4]@4 ~@10 [c#2,c#3,c#4] ~ [d#2,d#3,d#4]@2 ~@6 [f2,f3,f4]@2 ~@6 [f#1,f#2,f#3,a3,c#4,f#4]@2 ~@2 [f#3,a3,c#4,f#4]@8 [a3,c#4]@4 [f#1,f#2,g#3,b3,d4,f4]@8 [f#2,a3,c#4,f#4]@2 ~@6 f#1@3 ~ f#2@2 f#1@3 ~@2 f#2@2 f#1@3 ~, ~@15 [c#1,c#2]@2 ~@65 [c#2,c#3,f#3]@3 ~@4 [c#2,c#3,f#3]@3 ~@4]/6", // C# D# F F#m A G#m7b5 F#m C# …
AE: "~ f#2@2 f#1@3 [c#2,c#3,f#3]@2 f#2@2 f#1@3 ~ f#2@2, [c#2,c#3,f#3]@3 ~@10 [c#2,c#3]@3", // F#5 C#
AF: "~ f#1@3 ~ f#2@2 f#1@3 ~@2 f#2@2 f#1@2, ~@4 [c#2,c#3]@3 ~@4 [c#2,c#3,f#3]@3 ~@2", // C# F#5
AG: "[~ [c#2,c#3,f#3]@2 f#2@2 f#1@3 ~ f#2@2 ~ f#1@3 ~ f#2@2 f#1@3 ~@2 f#2@2 f#1@3 ~@2 f#2@2, ~@8 [c#2,c#3]@3 ~@4 [c#2,c#3]@3 ~@4 [c#2,c#3]@3 ~@4 [c#2,c#3]@3]/2", // F#5 C#
AH: "f#1@3 [c#2,c#3,c#4]@2 f#2@2 f#1@3 ~ f#2@2 ~ f#1@2, ~@10 [c#2,c#3,c#4]@3 ~@3", // C#
AI: "[~@2 f#2@2 f#1@3 ~@2 f#2@2 f#1@3 ~@2 f#2@2 f#1@3 [c#2,c#3,f#3,a#3]@2 f#2@2 f#1@3 ~ f#2@2 ~, ~ [c#2,c#3,c#4]@3 ~@4 [c#2,c#3,c#4]@3 ~@4 [c#2,c#3,f#3,a#3]@3 ~@10 [c#2,c#3,c#4]@3 ~]/2", // F# C# F# C#
AJ: "f#1@3 ~ f#2@2 f#1@3 ~@2 f#2@2 f#1@3, ~@3 [c#2,c#3,c#4]@3 ~@4 [c#2,c#3,c#4]@3 ~@3", // C#
AK: "[~@2 f#2@2 f#1@3 [c#2,c#3,f#3]@2 f#2@2 f#1@3 ~ f#2@9 ~@8, ~ [c#2,c#3,c#4]@3 ~@10 [c#2,c#3,f#3]@10 ~@8]/2", // F#5 C# F#5
AL: "f#2@2 [c#3,f#3,a3] ~ c#2@2 [c#3,f#3,a3] ~", AM: "f#2 ~ b1 [d3,f#3,b3], ~ [d3,f#3,b3]@2 ~",
AN: "f#2 [c#3,f#3,a3] c#2 [c#3,f#3,a3]", AO: "f#2 ~ b1 [b2,d3], ~ [b2,d3,f#3]@2 ~", AP: "f#2 [a2,c#3] c#2 [a2,c#3]",
AQ: "f2 [c#3,f3] c#2 c#3", AR: "f#2 [c#3,f#3,a3] c#2 [a3,c#4]", AS: "f#2 [a3,c#4,a4] [c#2,c#3] [a3,c#4,f#4]",
AT: "[f#2,f#3] ~ [b1,b2] [g#3,b3,d4,f4], ~ [g#3,b3,d4,f4]@2 ~", AU: "[f#2,f#3] [a3,c#4,f#4] f#2 [a3,c#4,f#4]",
AV: "~@4 [f#1,f#2] ~@3", AW: "[a#1,a#2] [f#3,c#4,e4] [f#1,f#2] [f#3,c#4,e4]",
AX: "[a#1,a#2] [f#3,d4,f#4] [f#1,f#2] [f#3,c#4,e4]", AY: "[b1,b2] [f#3,b3,d4] [f#1,f#2] [f#3,b3,d4]",
AZ: "[b1,b2] [f#3,b3,d4] [a1,a2] [f#3,b3,d4]", BA: "[g#1,g#2] [e3,b3,d4] [e1,e2] [e3,b3,d4]",
BB: "[g#1,g#2] [e3,c#4,e4] [e1,e2] [e3,b3,d4]", BC: "[a1,a2] [e3,a3,c#4] [e1,e2] [e3,a3,c#4]",
BD: "[a1,a2] [e3,a3,c#4] [c#2,c#3] [e3,a3,c#4]", BE: "~@11 [f3,g#3,c#4,f4]@4 ~, ~@11 [c#1,c#2]@2 ~@3",
BF: "~@9 [c#2,c#3,c#4] ~ [d#2,d#3,d#4]@2 ~@3", // C# D#
BG: "[~@3 [f2,f3,f4]@2 ~@6 [f#1,f#2,f#3,a3,c#4,f#4]@2 ~@2 [f#3,a3,c#4,f#4]@8 [a3,c#4]@4 [f#1,f#2,g#3,b3,d4,f4]@8 [f#2,a3,c#4,f#4]@2 ~@6 [b1,b2,g#3,d4,f#4]@2 ~@3]/3", // F F#m A G#m7b5 F#m G#m7b5
BH: "[~@3 [c#2,c#3,g#3,b3,c#4,f4]@2 ~@6 [f#1,f#2,f#3,a3,c#4,f#4]@12 ~@9]/2", // C#7 F#m
})).s("gm_piano").gain(0.4)
// chords · piano · soft notes
const piano_soft_2 = note(`<
~@12 A B C@2 ~@11 D@3 E ~@7 F@2 G H@5 ~@11 I J K@2 L@3 ~@14 M N@2 O@2 P Q@4 R@2 S@2 T@2 U@5 V@2 W@5 X@2 ~@12 Y Z AA AB
~@8 AC AD@6 ~@6
>`.pickRestart({
A: "~ f#3@4 a3@2 ~@2 e3@4 [g#3,c#4]@2 ~", B: "~ d3@3 [f#3,b3,d4]@2 ~@2 c#3@4 [a3,c#4,e4]@2 ~@2",
C: "[c#2@3 [g#3,c#4,f4]@4 c#3@4 [f3,g#3,b3,c#4]@4 f#2@4 [c#3,f#3,a3,c#4]@8 ~@5]/2", // C# C#7 F#m
D: "[~@4 f#3@3 [a3,d4]@4 e3@4 [a3,c#4,e4]@4 d3@4 [f#3,b3,d4,f#4]@3 c#3@4 [a3,c#4,e4,a4]@4 c#2@4 [c#4,f4,c#5]@3 c#3@4 [b3,c#4,f4]@3]/3", // D5 A Bm A C# C#7
E: "~ f#2@4 [a3,c#4,f#4]@8 ~@3", F: "[~@9 f2@6 [c#3,b3]@6 c#2@6 [c#3,b3]@5]/2", G: "~ f2@5 [c#3,c#4]@6 c#2@4",
H: "[~@2 [c#3,b3]@6 d2@7 [d3,a3]@7 a1@7 [d3,g#3]@7 d2@8 [d3,f3,b3]@8 a1@8 [c#3,f#3,a3]@8 ~@12]/5", // C#7 D5 Ddim Bdim F#m
I: "~@2 f2@3 [c#3,b3]@3", J: "c#2@5 [c#3,b3]@6 f2@5", K: "[~ [c#3,c#4]@6 c#2@6 [c#3,b3]@6 d2@7 [d3,a3]@6]/2",
L: "[~ a1@7 [d3,g#3]@7 d2@8 [d3,f3,b3]@8 a1@8 [c#3,f#3,a3]@8 ~]/3", M: "~ f#1",
N: "[~@4 f#2@9 f#1@10 ~ f#2@8, ~@2 [c#2,c#3]@10 ~@11 [c#2,c#3]@9]/2", // C#
O: "[~ f#1@10 ~ f#2@9 f#1@10 ~, ~@11 [c#2,c#3]@10 ~@11]/2", P: "~ f#2@9 f#1@2 ~ [f#2,f#3]@2 ~, [c#2,c#3]@5 ~@3",
Q: "[~ [d#2,d#4]@2 ~ [b1,b3]@2 ~ f#1@2 ~@2 [f#3,f#4]@2 ~ f#2@20 f#1@10 ~@2 f#2@9 f#1@9, ~@45 [c#2,c#3]@10 ~@9]/4", // D# B F# C#
R: "[~@2 f#2@9 f#1@10 ~@2 f#2@9, ~ [c#2,c#3]@10 ~@10 [c#2,c#3]@10 ~]/2", // C#
S: "[f#1@10 ~ f#2@9 f#1@2 ~ [b1,b3]@2 ~@2 [c#2,c#4]@2 ~ [c#1,c#3]@2, ~@5 [c#2,c#3]@5 ~@6]/2", // B C#
T: "[~ f#1@2 ~@2 [f#3,a#3]@2 ~ f#2@14 f#1@10]/2", // F#
U: "[~ f#2@9 f#1@10 ~@2 f#2@9 f#1@10 ~ f#2@9 f#1@10 ~ f#2@9 f#1@2 ~@2 [f#2,f#3]@2 ~ [d#2,d#4]@2, [c#2,c#3]@10 ~@10 [c#2,c#3]@10 ~@11 [c#2,c#3]@10 ~@10 [c#2,c#3]@10 ~@9]/5", // F# D# C#
V: "[~ [b1,b3]@2 ~@2 f#1@2 ~ [f#3,f#4]@2 ~@2 f#2@20]/2", // B F#
W: "[f#1@10 ~ f#2@9 f#1@10 ~@2 f#2@9 f#1@10 ~ f#2@9 f#1@10 ~@2 f#2@7, ~@10 [c#2,c#3]@10 ~@11 [c#2,c#3]@10 ~@10 [c#2,c#3]@10 ~@10 [c#2,c#3]@9]/5", // C#
X: "[~ f#1@2 ~@2 [b1,b3]@2 ~ [c#2,c#4]@2 ~@2 [c#1,c#3]@2 ~ f#1@2 ~ [f#3,a#3]@2 ~@2 [f#2,f#3]@3 ~@7]/2", // B C# F#
Y: "f#3 [a3,d4] e3 [a3,c#4,e4]", Z: "d3 [f#3,b3,d4,f#4] c#3 [a3,c#4,e4,a4]", AA: "c#2 [c#4,f4,c#5] c#3 [b3,c#4,f4]",
AB: "f#2 [a3,c#4,f#4]@2 ~", AC: "f2@3 [c#3,b3]@3 c#2@2",
AD: "[~@2 [c#3,b3]@5 f2@6 [c#3,c#4]@6 c#2@6 [c#3,b3]@6 d2@7 [d3,a3]@7 a1@7 [d3,g#3]@7 d2@8 [d3,f3,b3]@8 a1@8 [c#3,f#3,a3]@8 ~@5]/6", // C#7 C# C#7 D5 Ddim Bdim F#m
})).s("gm_piano").gain(0.2)
stack(piano, piano_soft, piano_2, piano_soft_2)
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.