0:00/0:00
// God Bless the Child — Blood, Sweat & Tears
// 80 bpm, 4/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 2/4 at bar 4, 4/4 at bar 5, 12/8 at bar 6, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: Full arrangement: all 122 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(80/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 · brass section · "Synthesizer RH"
const brass_section = note(`<
A@4 B@3 ~@2 C D E ~@2 F@7 ~@3 G D E ~ H I J@6 ~@3 G D K ~@4 L@2 M@5 N@8 ~@4 O P Q@2 ~@5 R@2 ~ S ~@2 T U@3 ~@2 V@3 W@2
~@2 X Y Z ~@6 AA@6 ~@5 AB@3 AC@6
>`.pickRestart({
A: "[~@35 f#4@7 g#4@7 ~@7 [f3,c#5]@7 ~ [d#3,d#5]@7 [c#4,a#4]@7 [b3,a#4]@7 ~ [a#3,c#4,c#5]@7 g#3@7 [f#3,a#4]@7 [f3,g#4]@7 ~ [d#3,f#4]@7 [c#3,f4]@33 ~@16 c#4@11 d#4@10, ~@35 c#4@29 d#4@22 ~@7 [c#4,c#5]@62 ~@37, ~@35 [f#3,a#4]@22 ~@135, ~@49 f#4@36 ~ f#4@14 ~@92]/4", // C# D# F# Bmaj7 A#m F# Fm D#m …
B: "[f#4@10 ~@19 [b2,d#4]@19 ~ [a#2,c#4]@19 ~ [g#2,b3]@22 [f#2,a#3,c#4]@30 ~@23, ~@10 f#4@111 ~@23]/3", // B A#m G#m F#
C: "~@13 [a#4,d#5,f#5]@6 [a#4,d#5,f#5]@4 ~@2 [g#4,a4,c#5,d#5,e5]@23", // D#m Amaj7
D: "~ [a4,c#5,e5]@6 [g#4,b4,d#5]@6 [f#4,a4,c#5]@4 ~@20 [a#3,d#4,f#4]@6 [a#3,d#4,f#4]@4 ~", E: "~ [a3,c#4,e4]@42 ~@5",
F: "[~@43 c#4@24 d#4@6 ~@30 g#4@6 f#4@6 b3@24 c#4@6 b3@6 ~@24 f#4@6 e4@6 [f#3,a#3,d#4]@54 [f#3,a#3,d#4,f#4]@12 ~@6 [f#3,a#3,b3,d4]@60 ~@17, ~@73 c4@42 e4@60 ~@161, ~@151 a#3@36 ~@149]/7", // D#m Bm
G: "~@13 [a#4,d#5,f#5]@6 [a#4,d#5,f#5]@4 ~@2 [g#4,a4,c#5,e5]@23", H: "~ [c#4,e4]@6 [b3,d#4]@6 [a3,c#4]@4 ~@31",
I: "~@25 [c#4,e4]@6 [b3,d#4]@6 [a3,c#4]@4 ~@7", // C#m B A
J: "[~@13 c#4@18 ~@18 [e4,g#4]@6 [d#4,f#4]@6 [c#4,e4]@4 ~@2 b3@36 ~@18 [e4,g#4]@6 [d#4,f#4]@6 [c#4,e4]@6 [f#3,a#3,b3,d#4]@54 [a#3,b3,d#4,f#4]@6 [a#3,b3,d#4,f#4]@4 ~@8 [f#3,a#3,b3,d4]@60 ~@17, ~@31 c4@36 ~@36 a#3@36 ~@149]/6", // E D#m C#m E D#m C#m Bmaj7 Bm
K: "~ [a3,c#4,e4]@24 ~@23", // A
L: "[~@3 f2@4 a#2@4 ~@2 c#3@3 ~@21 d#3@6 d3@20 d3@7 c#3@20 c#3@6, ~@17 d#3@20 ~@59, ~@5 [f#4,a#4]@10 ~]/2", // F#
M: "[~@14 g#4@7 f#4@6 e4@7 d#4@7 ~@6 [g#3,b4]@7 d#3@7 c#3@6 [b2,d#5]@7 [a#2,c#5]@7 [f#3,d4]@6 [e3,e4]@7 ~@7 a#4@6 ~@14 f4@6 d#4@7 b2@13 a#2@7 g#2@7 ~@18 a#3@6 f#3@4 ~@2 e3@24 f#3@6 ~@19, ~ b2@26 [g#3,a#4]@20 ~@7 [g3,e4]@27 ~@13 f#4@27 ~@119, ~@14 [d#4,a4]@13 a#2@27 ~@27 g#2@27 ~@132, ~@41 e4@13 c#5@13 ~@14 b4@20 ~@6 g#4@53 ~@80, ~@94 d3@13 c#3@27 [c#3,f4]@27 ~@79]/5", // G#m B A#m D E G#sus2 C D#dim …
N: "[~@11 a#3@6 f#3@4 ~@2 e3@24 c#3@6 ~@12 e4@4 g#4@9 ~@5 c#4@4 ~@27 d#5@4 ~ c5@4 g#4@13 ~ e4@4 g#4@9 ~@5 b3@4 ~@14 c#5@13 c#5@4 ~ a#4@4 ~@2 a#3@12 [b3,d#4]@48 ~@6 [a#3,b3,d#4,f#4]@6 [a#3,b3,d#4,f#4]@6 ~@6 [f#3,a#3,b3,d4]@60 ~@43, ~@78 c#5@36 ~@36 c#5@22 ~@23 e4@13 ~@176, ~@95 c4@42 ~@30 a#3@30 ~@12 [f#3,a#3]@30 ~@145]/8", // B Bmaj7 Bm F#
O: "~@18 [e4,a#4,d#5,f#5]@5 [e4,a#4,d#5,f#5]@5 ~@2 [e4,a#4,d#5,f#5]@5 [g#4,a4,c#5,e5]@9 [g#4,a4,c#5,e5]@2 ~@2", // D#m Amaj7
P: "[g#4,a4,c#5,e5]@3 [g#4,a4,c#5,e5]@4 [e4,a#4,d#5,f#5]@5 [e4,a#4,d#5,f#5]@5 ~@2 [e4,a#4,d#5,f#5]@4 [g#4,a4,c#5,e5]@21 [e4,a#4,d#5,f#5]@4", // Amaj7 D#m Amaj7 D#m
Q: "[~ [e4,a#4,d#5,f#5]@5 ~@2 [e4,a#4,d#5,f#5]@4 [g#4,a4,c#5,e5]@9 ~ [g#4,a4,c#5,e5]@2 ~@2 [g#4,a4,c#5,e5]@3 [g#4,a4,c#5,e5]@4 [e4,a#4,d#5,f#5]@5 [e4,a#4,d#5,f#5]@5 ~@2 [e4,a#4,d#5,f#5]@4 [g#4,a4,c#5,e5]@21 ~@26]/2", // D#m Amaj7 D#m Amaj7
R: "[~@23 [d#4,d#5]@4 [g#4,g#5]@2 ~ [a#4,a#5]@13 [a#4,a#5]@2 ~ [g#4,g#5]@16 [f#4,f#5]@2 [g#4,g#5]@2 [a#4,a#5]@14 [a#4,a#5]@2 ~ [g#4,g#5]@12 ~]/2", // D# G# A# G# F# G# A# G#
S: "~@26 [f#4,f5,b5]@5 [c#4,d#5,c#6]@2 ~@15", T: "~@32 [c#4,c#5]@5 [a#4,a#5]@11",
U: "[~@3 [a#4,a#5]@2 [g#4,g#5]@12 ~@2 [f#4,f#5]@5 [g#4,g#5]@2 [a#4,a#5]@14 [a#4,a#5]@2 [g#4,g#5]@12 ~@4 [c#4,c#5]@5 [a#4,a#5]@14 [a#4,a#5]@2 [g#4,g#5]@12 ~@2 [f#4,f#5]@4 [g#4,g#5]@2 ~ [a#4,a#5]@14 [a#4,a#5]@2 [g#4,g#5]@12 ~@2 [f#4,c#5,e5,a#5]@2 ~@2 [b4,d#5,f#5,a#5]@2 ~@8]/3", // A# G# F# G# A# G# C# A# …
V: "[~@40 [c#4,c#5]@4 [a#4,a#5]@14 [a#4,a#5]@2 [g#4,g#5]@12 ~@2 [f#4,f#5]@5 [g#4,g#5]@2 [a#4,a#5]@14 [a#4,a#5]@2 [g#4,g#5]@12 ~@5 [c#4,c#5]@4 [a#4,a#5]@14 [a#4,a#5]@2 [g#4,g#5]@10]/3", // C# A# G# F# G# A# G# C# …
W: "[~@4 [f#4,f#5]@5 [g#4,g#5]@2 [a#4,a#5]@14 [a#4,a#5]@2 [g#4,g#5]@7 ~@5 [f3,a#4,f5]@2 [a#3,c#5,f5,a#5]@3 ~@4 [d#4,f#4,f#5,b5]@12 ~@36, ~@23 [c#4,a#4,f5,c#6]@2 ~@23]/2", // F# G# A# G# A#5 A#m B A#m
X: "~@36 f2@3 a#2@4 ~@2 c#3@3", Y: "~@6 d#3@2 ~@4 [a4,a5] [g#4,g#5] [d3,f#4,f#5]@2, d#3@3 ~ d3@3 ~, ~ [a#4,a#5]@2 ~",
Z: "c#3@3 c#3 b2@3 ~, [d#4,d#5]@7 ~", // D#
AA: "[~ c#4@4 d#4 ~@5 g#4 f#4 b3@4 c#4 b3 ~@4 f#4 e4 [f#3,a#3,d#4]@9 [f#3,a#3,d#4,f#4]@2 ~ [f#3,a#3,b3,d4]@10 ~, ~@6 c4@7 e4@10 ~@25, ~@19 a#3@6 ~@23]/6", // D#m Bm
AB: "[~@24 f#4@7 ~ g#4@7 ~@7 [f3,c#5]@7 [d#3,d#5]@7 ~ [c#4,a#4]@7 [b3,a#4]@7 [a#3,c#4,c#5]@7 g#3@7 ~ [f#3,a#4]@7 [f3,g#4]@7 [d#3,f#4]@7 ~ [c#3,f4]@32, ~@24 c#4@29 d#4@22 ~@7 [c#4,c#5]@62, ~@12 [f#3,a#4]@11 ~@49, ~@39 f#4@36 f#4@14 ~@55]/3", // C# D# F# Bmaj7 A#m F# Fm D#m …
AC: "[~@17 c#4@11 d#4@10 f#4@9 ~@20 [b2,a3,d#4]@19 ~ [a#2,g#3,c#4]@19 [g#2,f#3,b3]@21 ~ [f#2,e3,a#3]@123 ~@37, ~@47 f#4@204 ~@37]/6", // B7 A#m7 G#m7 F#7
})).s("gm_brass_section").gain(0.17).pan(1)
// chords · rock organ · "Organ"
const rock_organ = note(`<
~@5 A@2 B C@2 B C@2 B D E@2 F@8 B G@3 H@3 I@8 B J@2 K@6 ~@2 L@3 M@7 N@2 ~@27 O@2 P@2 Q R S@5 T U@6 V@5 ~@5 W@4
>`.pickRestart({
A: "[~@43 [e3,f#3,c#4]@18 [a#3,d#4,f#4]@6 [a#3,d#4,f#4]@6 [a3,c#4,e4]@23]/2", // F#7 D#m A
B: "~ [c#4,e4]@6 [b3,d#4]@6 [a3,c#4]@6 [e3,f#3,c#4]@18 [a#3,d#4,f#4]@6 [a#3,d#4,f#4]@5", // C#m B A F#7 D#m
C: "[~ [a3,c#4,e4]@24 [c#4,e4]@6 [b3,d#4]@6 [a3,c#4]@6 [e3,f#3,c#4]@18 [a#3,d#4,f#4]@6 [a#3,d#4,f#4]@6 [a3,c#4,e4]@23]/2", // A C#m B A F#7 D#m A
D: "~ [a3,c#4,e4]@24 [c#4,e4]@6 [b3,d#4]@6 [a3,c#4]@6 ~@5", // A C#m B A
E: "[~@13 [g#3,b3,e4]@6 ~@6 [g#3,c4,e4]@42 [g#3,b3,e4]@29]/2", // E G#aug E
F: "[~ [g3,a#3,c#4,e4]@42 [f#3,a#3,b3,d#4]@54 [f#3,a#3,b3,d#4]@12 ~@6 [f#3,a#3,b3,d4]@60 ~@12 [g#3,c#4,e4]@36 [g3,c#4,d#4]@36 [f#3,b3,d#4]@36 [f3,b3,c#4]@6 ~@30 [e3,f#3,c#4]@18 [a#3,d#4,f#4]@6 [a#3,d#4,f#4]@6 [a3,c#4,e4]@23]/8", // Gdim Bmaj7 Bm C#m D#7 B C#7 F#7 …
G: "[~ [a3,c#4,e4]@24 [c#4,e4]@6 [b3,d#4]@6 [a3,c#4]@6 [e3,f#3,c#4]@18 [a#3,d#4,f#4]@6 [a#3,d#4,f#4]@6 [a3,c#4,e4]@42 [e3,f#3,c#4]@18 [a#3,d#4,f#4]@6 [a#3,d#4,f#4]@5]/3", // A C#m B A F#7 D#m A F#7 …
H: "[~ [a3,c#4,e4]@42 [e3,f#3,c#4]@18 [c#4,e4,g#4]@12 [c4,e4,g#4]@42 [b3,e4,g#4]@18 [g#3,b3,e4]@11]/3", // A F#7 C#m Caug E
I: "[~ [g3,a#3,c#4,e4]@42 [f#3,a#3,b3,d#4]@54 [f#3,a#3,b3,d#4]@6 [f#3,a#3,b3,d#4]@6 ~@6 [f#3,a#3,b3,d4]@60 ~@12 [g#3,c#4,e4]@36 [g3,c#4,d#4]@36 [f#3,b3,d#4]@36 [f3,b3,c#4]@6 ~@30 [e3,f#3,c#4]@18 [a#3,d#4,f#4]@6 [a#3,d#4,f#4]@6 [a3,c#4,e4]@23]/8", // Gdim Bmaj7 Bm C#m D#7 B C#7 F#7 …
J: "[~ [a3,c#4,e4]@24 ~@18 d#4@27 d4@26, ~@43 [f#4,a#4]@53]/2", // A F#
K: "[~ [a#3,d#4,f#4]@26 f#4@13 ~ g#4@6 f#4@7 [a#3,c#4,f4]@107 d#4@26 d4@27 a#3@27 a3@27 ~@20, ~@27 [a3,d#4]@27 ~@107 [f#4,a#4]@53 [d#4,f#4]@53 ~@21]/6", // D#m A#m Adim F# D#m
L: "[~@17 [e3,f#3,c#4]@18 [a#3,d#4,f#4]@6 [a#3,d#4,f#4]@6 [a3,c#4,e4]@24 [c#4,e4]@6 [b3,d#4]@6 [a3,c#4]@6 [e3,f#3,c#4]@18 [a#3,d#4,f#4]@6 [a#3,d#4,f#4]@6 [a3,c#4,e4]@24 [c#4,e4]]/3", // F#7 D#m A C#m B A F#7 D#m …
M: "[~@5 [b3,d#4]@6 [a3,c#4]@6 ~@18 [g#3,c#4,e4]@6 ~@6 [g#3,c4,e4]@42 [g#3,b3,e4]@18 [g#3,b3,e4]@6 ~@6 [g3,a#3,c#4,e4]@42 [b3,d#4,f#4,a#4]@48 ~@6 [b3,d#4,f#4,a#4]@6 [b3,d#4,f#4,a#4]@6 ~@6 [g#3,b3,d4,f#4,a#4]@60 ~@12 [g#3,c#4,e4]@31]/7", // B A C#m G#aug E Gdim Bmaj7 G#m7b5 …
N: "[~@5 [g3,c#4,d#4]@36 [f#3,b3,d#4]@36 [f3,b3,c#4]@6 ~@13]/2", // D#7 B C#7
O: "[d#4@4 d4@4 c#4@4 f#4@2 g#4 f#4, [f#4,a#4]@3 [a3,d#4]]/2", P: "[a#3,c#4,f4]/2", Q: "d#4 d4, [f#4,a#4]",
R: "[a#3,d#4,f#4]@4 [a3,d#4,f#4]@3 ~", // D#m D#dim
S: "[d#4@14 ~@8 b4@7 d#3@7 c#3@7 ~ [b2,d#5]@7 [a#2,c#5]@7 b4@22 a#4@7 f#4@14 ~ f4@7 d#4@7 b2@15 a#2@8 ~ g#2@10 [e3,f#3,c#4]@18 [a#3,d#4,f#4]@6 [a#3,d#4,f#4]@6 [a3,c#4,e4]@24 [c#4,e4]@6 [b3,d#4]@6 [a3,c#4]@6 [e3,f#3,c#4]@18, [a#2,g#3,b3,e4]@29 ~@29 [g#2,b3,d4]@29 [c#3,c#4,g#4]@29 ~@124, a#4@22 ~@7 c#5@14 ~@197, ~@15 c#4@14 [c#4,e4,g4,a#4]@29 ~@58 [c#4,f4,g#4]@34 ~@90]/5", // B A#m F#7 D#m A C#m B A …
T: "[a#3,d#4,f#4]!2 [a3,c#4,e4]@4 [c#4,e4] [b3,d#4]", // D#m A C#m B
U: "[[a3,c#4] ~@3 [g#3,c#4,e4] ~ [g#3,c4,e4]@7 [g#3,b3,e4]@5 [g3,a#3,c#4,e4]@7 [f#3,a#3,b3,d#4]@9 [f#3,a#3,b3,d#4]@2 ~ [f#3,a#3,b3,d4]@10 ~]/6", // A C#m G#aug E Gdim Bmaj7 Bm
V: "[~@6 [g#3,c#4,e4]@36 [g3,c#4,d#4]@36 [b3,d#4,f#4,a#4]@39 [b3,d#4,f#4,a#4]@80 ~@43]/5", // C#m D#7 Bmaj7
W: "[~@32 [a#3,d#4,f#4]@123 ~@37]/4", // D#m
})).s("gm_rock_organ").gain(0.27)
// bass · electric bass finger · "Bass"
const bass = note(`<
~@5 A@3 B@6 C@3 D@2 E F@2 G H@3 I@3 J@3 K@2 L M@2 G H@3 N@2 O@3 P@2 Q ~@2 R@8 S@4 ~ T@2 U V@3 W X Y@4 Z AA@3 AB X AC@3
AD@2 AE@2 AF AG AH AI AJ AK AL ~@3 AM@3 AN@3 AO@2 AP AQ@5 ~@5 AR@4
>`.pickRestart({
A: "[~@27 [b1,e2]@7 ~@9 f#1@30 b1@18 f#2@12 e2@6 b1@6 f#1@29]/3", // E5
B: "[~ b1@18 f#2@12 e2@6 b1@6 f#1@30 b1@18 f#2@12 e2@6 b1@6 f#1@29]/3",
C: "[~ b1@18 f#2@12 e2@6 b1@6 f#1@30 c#2@18 f#2@12 e2@6 c#2@6 f#1@29]/3",
D: "[~ c#2@18 f#2@12 c#2@6 c2@6 b1@18 b1@12 f#1@6 b1@17]/2", E: "~ b1@12 ~@6 e2@18 e2@11",
F: "[~ b1@6 e2@18 e2@6 g#2@6 a2@6 a#2@18 a#2@6 f2@6 a#1@6 d#2@17]/2",
G: "~ a#2@6 a#2@6 a2@6 g#2@12 g#2@6 g#2@6 d#2@5", H: "[~ d2@6 c#2@6 ~@30 f#1@30 b1@18 f#2@12 e2@6 c#2@6 f#1@29]/3",
I: "[~ b1@18 f#2@12 e2@6 c#2@6 f#1@30 b1@18 f#2@12 e2@6 c#2@6 f#1@29]/3",
J: "[~ b1@18 f#2@12 e2@6 c#2@6 f#1@30 c#2@18 f#2@12 e2@6 c#2@6 f#1@29]/3",
K: "[~ c#2@18 f#2@12 c#2@6 c2@6 b1@30 f#1@6 b1@17]/2", L: "~ f#2@6 b1@6 ~@6 e2@29",
M: "[~ b2@6 e2@18 e2@6 g#2@6 a2@6 a#2@18 a#2@6 f2@6 a#1@6 d#2@17]/2",
N: "[~ b1@24 ~@6 f1@3 a#1@6 c#2@3 d#2@20 d#2@7 d2@20 d2@6]/2",
O: "[~ c#2@20 c#2@6 b1@20 b1@7 a#1@20 a#1@7 g#1@20 g#1@6 f#1@20 f#1@7 f1@10]/3",
P: "[~@3 f1@3 ~ a#1@6 c#2@3 ~ d#2@20 d#2@6 d2@20 d2@7 c#2@20 c#2@6]/2", Q: "~ b1@27 ~@20",
R: "[~@17 f#1@30 b1@18 f#2@12 e2@6 c#2@6 f#1@30 b1@18 f#2@12 e2@6 c#2@6 f#1@18 f#1@12 c#2@18 f#2@12 e2@6 c#2@6 f#1@30 c#2@18 f#2@12 c#2@6 c2@6 b1@30 f#1@6 b1@18 f#2@6 b1@6 ~@6 e2@7]/8",
S: "[~@5 b2@6 e2@12 b2@6 e2@18 e2@6 g#2@6 a2@6 a#2@18 a#2@6 f2@6 a#1@6 d#2@18 a#2@6 a#2@6 a2@6 g#2@12 g#2@6 g#2@6 d#2@6 d2@6 c#2@6 ~@13]/4",
T: "[~@29 f#1@5 a#1@2 c#2@5 e2@5 a1@9 b1@2 c#2@2 b1@2 ~ a1@4 f#1@5 a#1@2 c#2@5 e2@5 a1@9 b1@2 c#2@2]/2",
U: "b1@2 ~ a1@4 f#1@5 a#1@2 c#2@5 e2@4 a1@9 ~ b1@2 c#2@2 b1@2 ~ a1@4 f#1@4",
V: "[~ a#1@2 c#2@5 e2@4 a1@9 ~ b1@2 c#2@2 b1@2 ~ a1@4 f#1@5 a#1@2 c#2@5 e2@4 a1@9 ~ b1@2 c#2@2 b1@2 a1@5 f#1@5 a#1@2 c#2@5 e2@4 a1@9 b1@2 ~ c#2@2 b1@2 a1@5 f#1@5 a#1@2 c#2@5 e2@4 a1@9 b1@2 ~ c#2@2 b1@2 a1@5]/3",
W: "f#1@5 a#1@2 c#2@4 e2@5 a1@9 b1@2 ~ c#2@2 b1@2 a1@5 f#1@4 a#1@2 ~ c#2@4",
X: "e2@5 a1@9 b1@2 ~ c#2@2 b1@2 a1@5 f#1@4 a#1@2 ~ c#2@4 e2@5 a1@6",
Y: "[~@3 b1@2 c#2@2 ~ b1@2 a1@5 f#1@4 a#1@2 ~ c#2@4 e2@5 a1@9 b1@2 c#2@2 ~ b1@2 a1@5 f#1@4 a#1@2 ~ c#2@4 e2@5 a1@9 b1@2 c#2@2 ~ b1@2 a1@5 f#1@4 a#1@2 c#2@5 e2@5 a1@9 b1@2 c#2@2 ~ b1@2 a1@5 f#1@4 a#1@2 c#2@5 e2@5 a1@9 b1@2 c#2@2 ~ b1@2 a1@4 f#1@5 a#1@2 c#2@5 e2@5 a1@9 b1@2 c#2@2]/4",
Z: "b1@2 ~ a1@4 f#1@5 a#1@2 c#2@5 e2@5 a1@9 b1@2 c#2@2 b1@2 ~ a1@4 f#1@4",
AA: "[~ a#1@2 c#2@5 e2@4 a1@7 a1@5 a1@2 a#1@5 b1@7 f#2@4 b2@5 a#2@5 g#2@4 f#2@5 e2@5 d#2@4 e2@2 e2@2 ~ d#2@4 c#2@5 b1@5 d#1@4 e1@5 g#1@4 a1@5 a#1@5 c#2@4 f2@5 e2@5 d#2@4 c#2@5 b1@4 a#1@5]/3",
AB: "g#1@5 a#1@4 b1@5 c2@4 c#2@5 b1@5 a#1@4 g#1@5 f#1@5 a#1@2 c#2@4",
AC: "[~@3 b1@2 ~ c#2@2 b1@2 a1@5 f#1@4 a#1@2 ~ c#2@4 e2@5 a1@9 b1@2 c#2@2 ~ b1@2 a1@5 f#1@4 a#1@2 ~ c#2@4 e2@5 a1@7 a1@4 a1@2 ~ a#1@4 b1@2 ~@5 f#2@5 b2@4 a#2@5 g#2@5 f#2@4 e2@5 d#2@5 e2@2 e2@2 d#2@5 c#2@4 b1@5]/3",
AD: "[d#1@5 e1@4 g#1@5 a1@4 a#1@5 c#2@5 f2@4 e2@5 d#2@5 c#2@4 b1@5 a#1@4 g#1@5 a#1@5 b1@4 c2@5 c#2@4 b1@5 a#1@5 g#1@4 f#1@4]/2",
AE: "[~ a#1@2 c#2@5 e2@4 a1@9 ~ b1@2 c#2@2 b1@2 ~ a1@4 f#1@5 a#1@2 c#2@5 e2@4 a1@9 ~ b1@2 c#2@2 b1@2 ~ a1@4 f#1@5 a#1@2 c#2@5 e2@4 a1@9 ~]/2",
AF: "b1@2 c#2@2 b1@2 a1@5 f#1@5 a#1@2 c#2@5 e2@4 a1@7 ~@5 f1@2 a#1@5 c#2@2", AG: "d#2 d2", AH: "c#2 b1",
AI: "a#1 g#1", AJ: "f#1@8 f1@4 f1 a#1@2 c#2", AK: "d#2@3 d#2 d2@3 d2", AL: "c#2@3 c#2 b1@3 ~",
AM: "[~ f#1@5 b1@3 f#2@2 e2 b1 f#1@5 b1@3 f#2@2 e2]/3", AN: "[b1 f#1@5 c#2@3 f#2@2 e2 c#2 f#1@5 c#2@3 f#2@2 c#2]/3",
AO: "[c2 b1@3 b1@2 f#1 b1@3 b1@2 ~ e2@3]/2", AP: "e2@2 b1 e2@3 e2 g#2",
AQ: "[a2@6 a#2@18 a#2@6 f2@6 a#1@6 d#2@18 a#2@6 a#2@6 a2@6 g#2@39 c#2@80 ~@43]/5", AR: "[~@32 [f#1,e2]@123 ~@37]/4",
})).s("gm_electric_bass_finger").gain(0.44)
// chords · piano
const piano = note("<~@63 A@3 B C@3 D E F@4 G H@3 I J K@3 L@2 M@2 N ~@32>".pickRestart({
A: "[~@41 [f#2,f#3]@4 [a#2,a#3]@2 [c#3,c#4]@5 [e3,e4]@5 [a2,a3]@9 [b2,b3]@2 [c#3,c#4]@2 ~ [b2,b3]@2 [a2,a3]@4 [f#2,a#3]@5 [a#2,c#4]@2 [c#3,e4]@5 [e3,g#4]@5 [a2,c#4]@9 [b2,d#4]@2 [c#3,e4]@2 [b2,d#4]@2 ~ [a2,c#4]@4 [f#2,a#3]@5 [a#2,c#4]@2 [c#3,e4]@5 [e3,g#4]@5 [a2,c#4]@9 [b2,d#4]@2 [c#3,e4]@2]/3", // F# A# C# E A B C# B …
B: "[b2,d#4]@2 ~ [a2,c#4]@4 [f#2,a#3]@5 [a#2,c#4]@2 [c#3,e4]@5 [e3,g#4]@4 [a2,c#4]@9 ~ [b2,d#4]@2 [c#3,e4]@2 [b2,d#4]@2 ~ [a2,c#4]@4 [f#2,a#3]@4", // B A F# A#m C#m E A B …
C: "[~ [a#2,c#4]@2 [c#3,e4]@5 [e3,g#4]@4 [a2,c#4]@9 ~ [b2,d#4]@2 [c#3,e4]@2 [b2,d#4]@2 ~ [a2,c#4]@4 [f#2,a#3]@5 [a#2,c#4]@2 [c#3,e4]@5 [e3,g#4]@4 [a2,c#4]@9 ~ [b2,d#4]@2 [c#3,e4]@2 [b2,d#4]@2 [a2,c#4]@5 [f#2,f#3]@5 [a#2,a#3]@2 [c#3,c#4]@5 [e3,e4]@4 [a2,a3]@9 [b2,b3]@2 ~ [c#3,c#4]@2 [b2,b3]@2 [a2,a3]@5 [f#2,f#3]@5 [a#2,a#3]@2 [c#3,c#4]@5 [e3,e4]@4 [a2,a3]@9 [b2,b3]@2 ~ [c#3,c#4]@2 [b2,b3]@2 [a2,a3]@5]/3", // A#m C#m E A B C#m B A …
D: "[f#2,f#3]@5 [a#2,a#3]@2 [c#3,c#4]@4 [e3,e4]@5 [a2,a3]@9 [b2,b3]@2 ~ [c#3,c#4]@2 [b2,b3]@2 [a2,a3]@5 [f#2,f#3]@4 [a#2,a#3]@2 ~ [c#3,c#4]@4", // F# A# C# E A B C# B …
E: "[e3,e4]@5 [a2,a3]@9 [b2,b3]@2 ~ [c#3,c#4]@2 [b2,b3]@2 [a2,a3]@5 [f#2,a#3]@4 [a#2,c#4]@2 ~ [c#3,e4]@4 [e3,g#4]@5 [a2,c#4]@6", // E A B C# B A F# A#m …
F: "[~@3 [b2,d#4]@2 [c#3,e4]@2 ~ [b2,d#4]@2 [a2,c#4]@5 [f#2,a#3]@4 [a#2,c#4]@2 ~ [c#3,e4]@4 [e3,g#4]@5 [a2,c#4]@9 [b2,d#4]@2 [c#3,e4]@2 ~ [b2,d#4]@2 [a2,c#4]@5 [f#2,a#3]@4 [a#2,c#4]@2 ~ [c#3,e4]@4 [e3,g#4]@5 [a2,c#4]@9 [b2,d#4]@2 [c#3,e4]@2 ~ [b2,d#4]@2 [a2,c#4]@5 [f#2,a#3]@4 [a#2,c#4]@2 [c#3,e4]@5 [e3,g#4]@5 [a2,c#4]@9 [b2,d#4]@2 [c#3,e4]@2 ~ [b2,d#4]@2 [a2,c#4]@5 [f#2,f#3]@4 [a#2,a#3]@2 [c#3,c#4]@5 [e3,e4]@5 [a2,a3]@9 [b2,b3]@2 [c#3,c#4]@2 ~ [b2,b3]@2 [a2,a3]@4 [f#2,f#3]@5 [a#2,a#3]@2 [c#3,c#4]@5 [e3,e4]@5 [a2,a3]@9 [b2,b3]@2 [c#3,c#4]@2]/4", // B C#m B A F# A#m C#m E …
G: "[b2,b3]@2 ~ [a2,a3]@4 [f#2,f#3]@5 [a#2,a#3]@2 [c#3,c#4]@5 [e3,e4]@5 [a2,a3]@9 [b2,b3]@2 [c#3,c#4]@2 [b2,b3]@2 ~ [a2,a3]@4 [f#2,f#3]@4", // B A F# A# C# E A B …
H: "[~ [a#2,a#3]@2 [c#3,c#4]@5 [e3,e4]@4 [a2,a3]@7 ~@7 [e3,a#3,d#4,f#4]@5 [d#3,g#3,a#3,c#4]@2 ~@5 [a#3,c#4,d#4,f#4]@4 [a#3,c#4,d#4,f#4]@5 [a#3,c#4,d#4,f#4]@5 [a#3,c#4,d#4,f#4]@4 [a#3,c#4,d#4,f#4]@5 [a#3,c#4,d#4,f#4]@5 [a#3,c#4,d#4,f#4]@4 [g#3,c#4,d4,f#4]@5 [g#3,c#4,d4,f#4]@4 [g#3,c#4,d4,f#4]@5 [g#3,c#4,d4,f#4]@5 [g#3,c#4,d4,f#4]@4 [g#3,c#4,d4,f#4]@5 [g#3,c#4,d4,f#4]@4 [g#3,c#4,d4,f#4]@5 [g#3,a#3,c#4,f4]@5 [g#3,a#3,c#4,f4]@4 [g#3,a#3,c#4,f4]@5 [g#3,a#3,c#4,f4]@5 [g3,c#4,f#4]@4 [g3,c#4,f#4]@5 [g3,c#4,f#4]@4 [g3,c#4,f#4]@5]/3", // A# C# E A D#m D#sus4 D#m7 C#sus4 …
I: "[f#3,b3,d#4]@5 [f#3,b3,d#4]@4 [f#3,b3,d#4]@5 [f#3,b3,d#4]@4 [f3,b3,e4]@5 [f3,b3,e4]@14 [f#2,f#3]@5 [a#2,a#3]@2 [c#3,c#4]@4", // B E F# A# C#
J: "[e3,e4]@5 [a2,a3]@9 [b2,b3]@2 ~ [c#3,c#4]@2 [b2,b3]@2 [a2,a3]@5 [f#2,f#3]@4 [a#2,a#3]@2 ~ [c#3,c#4]@4 [e3,e4]@5 [a2,a3]@6", // E A B C# B A F# A# …
K: "[~@3 [b2,b3]@2 ~ [c#3,c#4]@2 [b2,b3]@2 [a2,a3]@5 [f#2,f#3]@4 [a#2,a#3]@2 ~ [c#3,c#4]@4 [e3,e4]@5 [a2,a3]@9 [b2,b3]@2 [c#3,c#4]@2 ~ [b2,b3]@2 [a2,a3]@5 [f#2,f#3]@4 [a#2,a#3]@2 ~ [c#3,c#4]@4 [e3,e4]@5 [a2,a3]@7 ~@7 [e3,a#3,d#4,f#4]@4 [d#3,g#3,a#3,c#4]@2 ~@5 [a#3,c#4,d#4,f#4]@5 [a#3,c#4,d#4,f#4]@4 [a#3,c#4,d#4,f#4]@5 [a#3,c#4,d#4,f#4]@5 [a#3,c#4,d#4,f#4]@4 [a#3,c#4,d#4,f#4]@5 [a#3,c#4,d#4,f#4]@5 [g#3,c#4,d4,f#4]@4 [g#3,c#4,d4,f#4]@5 [g#3,c#4,d4,f#4]@4 [g#3,c#4,d4,f#4]@5]/3", // B C# B A F# A# C# E …
L: "[[g#3,c#4,d4,f#4]@5 [g#3,c#4,d4,f#4]@4 [g#3,c#4,d4,f#4]@5 [g#3,c#4,d4,f#4]@4 [g#3,a#3,c#4,f4]@5 [g#3,a#3,c#4,f4]@5 [g#3,a#3,c#4,f4]@4 [g#3,a#3,c#4,f4]@5 [g3,c#4,f#4]@5 [g3,c#4,f#4]@4 [g3,c#4,f#4]@5 [g3,c#4,f#4]@4 [f#3,b3,d#4]@5 [f#3,b3,d#4]@5 [f#3,b3,d#4]@4 [f#3,b3,d#4]@5 [f3,b3,e4]@4 [f3,b3,e4]@14 [f#2,f#3]@4]/2", // C#sus4 A#m7 F# B E F#
M: "[~ [a#2,a#3]@2 [c#3,c#4]@5 [e3,e4]@4 [a2,a3]@9 ~ [b2,b3]@2 [c#3,c#4]@2 [b2,b3]@2 ~ [a2,a3]@4 [f#2,f#3]@5 [a#2,a#3]@2 [c#3,c#4]@5 [e3,e4]@4 [a2,a3]@9 ~ [b2,b3]@2 [c#3,c#4]@2 [b2,b3]@2 ~ [a2,a3]@4 [f#2,f#3]@5 [a#2,a#3]@2 [c#3,c#4]@5 [e3,e4]@4 [a2,a3]@9 ~]/2", // A# C# E A B C# B A …
N: "[b2,b3]@2 [c#3,c#4]@2 [b2,b3]@2 [a2,a3]@5 [f#2,f#3]@5 [a#2,a#3]@2 [c#3,c#4]@5 [e3,e4]@4 [a2,a3]@7 ~@14", // B C# B A F# A# C# E …
})).s("gm_piano").gain(0.51)
// chords · piano · soft notes
const piano_soft = note(`<
~@90
[e4@2 ~ e4@2 ~ e4@2 ~ e4@2 ~ e4@2 ~ e4@2 ~ e4@2 ~ e4@2 ~ e4@2 ~ e4@2 ~ e4@2 ~ e4@2 ~ e4@2 ~ e4@2 ~ e4@2 ~ e4@2 ~]!3
~@29
>`).s("gm_piano").gain(0.06)
// other · harmonica
const harmonica = note("<~@99 A@2 B C D@2 E@3 F@2 G@2 ~@10>".pickRestart({
A: "[~@2 a#4@12 a#4 c#5@11 ~@6]/2", B: "a#4 c#5@3 a#4@2 a4 g#4 f#4@4 f#4 c#4@3", C: "e4@2 f#4@12 ~ f#4",
D: "[e4@2 c#4@2 e4@2 g#4@2 f#4!2 e4 c#4 e4@8 f#4@8 ~@4]/2", E: "[f#6@19 ~@3 f#5@2]/3",
F: "[f#5@2 f#5@7 f#5 d#5@2 c#5@8 ~@2 c#5 d#5 f#5@2 f#5@6]/2", G: "[~ f#5@10 a#5@10 f#5@31 ~@44]/2",
})).s("gm_harmonica").gain(0.5)
// other · tenor sax · "Bb Tenor Sax"
const tenor_sax = note(`<
A@4 B C@2 ~@2 D E F ~@2 G@3 H@4 ~@3 D E F ~ I J K@6 ~@3 D E L ~@4 M@2 N@5 O@3 P@5 ~@4 Q R S@2 ~@33 T@6 ~@5 U@3 ~ V@5
>`.pickRestart({
A: "[~@35 c#4@29 d#4@22 c#4@7 c#4@62 ~@37]/4", B: "~@29 d#4@19", C: "[~ c#4@19 ~ b3@22 a#3@30 ~@23]/2",
D: "~@13 a#4@6 a#4@4 ~@2 g#4@23", E: "~ a4@6 g#4@6 f#4@4 ~@20 d#4@6 d#4@4 ~", F: "~ c#4@42 ~@5",
G: "[~@43 c#4@24 d#4@6 c4@42 b3@24 c#4@5]/3", H: "[~ b3@6 a#3@36 a#3@54 a#3@12 ~@6 a#3@60 ~@17]/4",
I: "~ e4@6 d#4@6 c#4@4 ~@31", J: "~@25 e4@6 d#4@6 c#4@4 ~@7",
K: "[~@13 c#4@18 c4@36 b3@36 a#3@36 a#3@54 b3@6 b3@6 ~@6 a#3@60 ~@17]/6", L: "~ c#4@24 ~@23", M: "[~@5 f#4@10 ~]/2",
N: "[~@14 d#4@13 g#3@20 g#3@7 g3@27 f#3@6 e3@7 d3@13 c#3@53 ~@19 a#3@6 f#3@4 ~@2 e3@24 f#3@6 ~@19]/5",
O: "[~@11 a#3@6 f#3@4 ~@2 e3@24 c#3@6 ~@30 c#4@4 ~@8 c4@42 ~@7]/3",
P: "[~@11 b3@4 ~@8 a#3@30 a#3@12 a#3@48 ~@6 b3@6 b3@6 ~@6 a#3@60 ~@43]/5",
Q: "~@18 a#4@5 a#4@5 ~@2 a#4@2 a4@9 a4@2 ~@3 a4@2", R: "a4@5 a#4@2 a#4@5 a#4@5 ~@2 a#4@4 a4@21 a#4@4",
S: "[~ a#4@5 ~@2 a#4@2 a4@9 a4@2 ~@3 a4@2 a4@5 a#4@2 a#4@5 a#4@5 ~@2 a#4@4 a4@21 ~@26]/2",
T: "[~ c#4@4 d#4 c4@7 b3@4 c#4 b3 a#3@6 a#3@9 a#3@2 ~ a#3@10 ~]/6", U: "[~@24 c#4@29 d#4@22 c#4@7 c#4@62]/3",
V: "[~@19 a3@19 ~ g#3@19 f#3@21 ~ e3@123 ~@37]/5",
})).s("gm_tenor_sax").gain(0.29).pan(0.4)
// other · alto sax · "Eb Alto Sax"
const alto_sax = note("<~@77 A ~@2 B@3 C@2 D E F G@2 H ~@31>".pickRestart({
A: "~@26 f5@5 d#5@2 ~@15", B: "[~@46 c#5@9 b4@14 ~@14 c#5@9 b4@14 ~@14 c#5@9 b4@14 ~]/3",
C: "[~@13 c#5@9 b4@9 ~@3 c#5@2 ~@2 d#5@2 ~@5 d#5@12 c#5@2 f#5@5 ~ c#5@2 ~ a#4@2 ~ g#4@2 ~@9 c#5@2 b4@2 ~ a#4@2 b4@2 e5@2 ~ d#5@2, ~@64 d#5@2 ~ b4@2 ~@27]/2",
D: "d5@2 c#5@2 ~ b4 g#4 d4 b3 e4@2 ~ d4@2 b3 g#3 e3 d3 c#4@5 ~@7 c5@5 c5@7 ~ f4@2 ~ c5@2, ~@42 g#4@2 ~ c#4@2 ~",
E: "g4@2 ~ e4@2 c#4@2 a#4@2 ~ f#4@2 d#4@2 b3@2 ~ c#4@2 a#3@2 b3@2 ~ b4@2 e5@4 b4 ~ g4 b3 f#3 e3@5 d#3@2 c#3@2 ~@4, ~@23 d#4@2 ~@23",
F: "~@6 c#5@9 b4@14 ~@13 c#5@6", G: "[~@4 b4@14 ~@13 c#5@9 ~ b4@14 ~@13 c#5@9 ~ b4@5 ~@4 a#4@2 c#5@3 ~@2 a#4@2]/2",
H: "a#4 ~@3",
})).s("gm_alto_sax").gain(0.64).pan(0.3)
// other · trumpet · "1st Bb Trumpet"
const trumpet = note(`<
A@4 B@3 ~@2 C D ~@5 E@5 ~@3 C D ~@5 F G@4 ~@3 C D ~@5 H@2 I@4 ~@2 J@7 ~@4 K L M@2 ~@5 N@2 O P@3 Q R@3 ~@2 S@3 T@2 ~@3
U V ~@7 W@2 X@3 ~@5 Y@3 Z@6
>`.pickRestart({
A: "[~@35 a#4@21 c#5@7 ~ d#5@7 a#4@7 a#4@7 ~ c#5@7 c#5@62 ~@16 c#4@11 d#4@10]/4", B: "[f#4@10 f#4@111 ~@23]/3",
C: "~@13 f#5@6 f#5@4 ~@2 e5@23", D: "~ e5@6 d#5@6 c#5@4 ~@31",
E: "[~@7 g#4@6 f#4@6 e4@60 f#4@6 e4@6 d#4@54 f#4@12 ~@6 d4@60 ~@17]/5", F: "~ g#4@6 f#4@6 e4@4 ~@31",
G: "[~@25 g#4@6 f#4@6 e4@6 d#4@54 f#4@6 f#4@6 ~@6 d4@60 ~@17]/4", H: "[~@5 a#4@10 ~]/2",
I: "[~@14 a4@13 a#4@20 b4@7 c#5@13 d#5@7 c#5@7 b4@20 a#4@6 g#4@53 ~@32]/4",
J: "[~@17 e4@4 g#4@9 c#5@36 d#5@4 ~ c5@4 g#4@13 ~ e4@4 g#4@9 c#5@36 c#5@4 ~ a#4@4 e4@13 ~ d#4@48 ~@6 f#4@6 f#4@6 ~@6 d4@60 ~@43]/7",
K: "~@18 f#5@5 f#5@5 ~@2 f#5@5 e5@9 e5@2 ~@2", L: "e5@3 e5@4 f#5@5 f#5@5 ~@2 f#5@4 e5@21 f#5@4",
M: "[~ f#5@5 ~@2 f#5@4 e5@9 ~ e5@2 ~@2 e5@3 e5@4 f#5@5 f#5@5 ~@2 f#5@4 e5@21 ~@26]/2",
N: "[~@30 a#5@13 a#5@2 ~ g#5@16 f#5@2 g#5@2 a#5@14 a#5@2 ~ g#5@12 ~]/2", O: "~@3 c#5@5 ~@40",
P: "[~@38 a#5@2 b5@2 g#5@2 ~ a#5@2 f#5@2 g#5@2 ~ e5@2 f#5@2 d#5@2 ~ e5@2 c#5@2 d#5@2 ~ b4@2 c#5@2 d5@2 e5@2 ~ f#5@2 a5@2 g#5@2 ~ f#5@2 e5@2 f5@2 ~ f#5@4 d5@2 ~ b4@2 e5@2 c#5@2 d5@2 ~ d5@2 c#5@2 d#5@2 ~ f5@2 f#5@2 g#5@2 ~ f5@2 f#5@2 g#5@2 ~ a5@2 a#5@2 b5@2 c6@2 ~ c#6@2 a#5@2 b5@2 ~ b5@2, ~@95 c#5@2 ~@47]/3",
Q: "a#5@2 g#5@2 ~ g5@2 a#5@2 g#5@2 ~ d#5@2 g5@2 g5@2 e5@2 ~ e5@2 d5@2 d5@2 ~ c#5@2 c#5@2 b4@2 ~ b4@2 a#5@11, ~@32 c#5@5 ~@11",
R: "[~@3 a#5@2 g#5@12 ~@2 f#5@5 g#5@2 a#5@14 a#5@2 g#5@12 ~@4 c#5@5 a#5@14 a#5@2 g#5@12 ~@2 f#5@4 g#5@2 ~ a#5@14 a#5@2 g#5@12 ~@2 a#5@2 ~@2 a#5@2 ~@8]/3",
S: "[~@44 a#5@14 a#5@2 g#5@12 ~@2 f#5@5 g#5@2 a#5@14 a#5@2 g#5@12 ~@5 c#5@4 a#5@14 a#5@2 g#5@10]/3",
T: "[~@4 f#5@5 g#5@2 a#5@14 a#5@2 g#5@7 ~@5 f5@2 a#5@2 ~@5 d#6@12 ~@36, ~@23 c#6@2 ~@23]/2",
U: "~@4 a#5@8 a5 g#5 f#5@2", V: "d#5@7 ~", W: "[~@3 g#4 f#4 e4@10 f#4]/2", X: "[e4 d#4@9 f#4@2 ~ d4@10 ~]/3",
Y: "[~@24 a#4@22 c#5@7 d#5@7 ~ a#4@7 a#4@7 c#5@7 c#5@62]/3", Z: "[~@17 c#4@11 d#4@10 f#4@9 f#4@204 ~@37]/6",
})).s("gm_trumpet").gain(0.72).pan(0.9)
// other · trumpet · "2nd Bb Trumpet"
const trumpet_2 = note(`<
A B@3 C D@2 ~@2 E F G ~@4 H@5 ~@3 E I G ~@4 J K@4 ~@2 L E I M ~@4 N@2 O@4 ~@5 P@4 ~@4 Q R S@2 ~@5 T@2 U@2 ~@2 V W@3
~@2 X@3 Y@2 ~@3 Z AA ~@9 AB@3 ~@5 AC@2 AD ~ AE@5
>`.pickRestart({
A: "~@35 f#4@7 g#4@6", B: "[~ f#4@36 ~ f#4@14 a#4@7 g#4@7 ~ f#4@7 f4@33 ~@37]/3", C: "~@29 d#4@19",
D: "[~ c#4@19 ~ b3@22 c#4@30 ~@23]/2", E: "~@13 d#5@6 d#5@4 ~@2 c#5@23", F: "~ c#5@6 b4@6 a#4@4 ~@20 f#4@6 f#4@4 ~",
G: "~ e4@42 ~@5", H: "[~@7 g#4@6 f#4@6 e4@60 f#4@6 e4@6 d#4@54 d#4@12 ~@6 b3@60 ~@17]/5",
// … 151 more lines
More by Blood, Sweat & Tears
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.