0:00/0:00
// Romantica — Dallara
// 106 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 69 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(106/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.
// bass · acoustic bass
const bass = note(`<
A B C@2 D E F G H I J K L M N O H I P K L M Q R S T U V W X Y F G H I P K L M Z AA J AB AC O S T U V W X Y F AD AE AF
AG AH AI AJ AK AL AM AN AO AP AQ AR AS
>`.pickRestart({
A: "d2@8 ~@2 f#2 ~ a2@4 ~@2 f#2@3 ~ a2 ~", B: "d2@8 ~@2 f#2 ~ a2@4 ~@2 f#2@3 ~ a2@2",
C: "b1@8 ~@2 d2 ~ f#2@4 ~@2 d2@3 ~ f#2 ~", D: "g1@8 ~@2 b1 ~ d2@4 ~@2 b1@3 ~ d2 ~",
E: "g1@8 ~@2 b1 ~ d2@4 ~@2 b1@3 ~ g1 ~", F: "a1@3 ~@3 a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~", G: "a1 ~@11",
H: "b1@8 ~@2 g2 ~ f#2@4 ~@2 d2@3 ~ f#2 ~", I: "g2@8 ~@2 e2 ~ d2@5 ~ b1@3 ~ g2 ~",
J: "e2@8 ~@2 g2 ~ b2@4 ~@2 g2@3 ~ b2 ~", K: "e2@8 ~@2 g2 ~ b2@4 ~@2 g2@3 ~ e2 ~",
L: "a1@8 ~@2 c#2 ~ e2@5 ~ c#2@3 ~ e2 ~", M: "a1@8 ~@2 c#2 ~ e2@4 ~@2 c#2@3 ~ e2 ~",
N: "d2@4 ~@2 f#2@3 ~ b2@2 a2@4 ~@2 f#2@3 ~ a2 ~", O: "d2 ~@7", P: "e2@8 ~@2 g2 ~ b2@4 ~@2 g2@3 ~ b2@2",
Q: "d2@4 ~@2 f#2@3 ~ b2@2 a2@4 ~@2 b2@3 ~ a2 ~", R: "d2 ~@5", S: "g2 ~ g2 ~ g2 ~ g2@2 ~@4 g2 ~ g2 ~ g2 ~ g2@2 ~@4",
T: "g2 ~ g2 ~ g2 ~ g2@3 ~@3 g2 ~ g2 ~ g2 ~ g2@2 ~@4", U: "g2 ~ g2 ~ g2 ~ g2@3 ~@3 e2 ~ e2 ~ e2 ~ e2@2 ~@4",
V: "f#2 ~ f#2 ~ f#2 ~ f#2@2 ~@4 f#2 ~ f#2 ~ f#2 ~ f#2@2 ~@4",
W: "f#2 ~ f#2 ~ f#2 ~ f#2@3 ~@3 f#2 ~ f#2 ~ f#2 ~ f#2@3 ~@3", X: "b2 ~ b2 ~ b2 ~ b2@3 ~@3 e2 ~ e2 ~ e2 ~ e2@3 ~@3",
Y: "a2 ~ a2 ~ a2 ~ a2@2 ~@4 e2 ~ e2 ~ e2 ~ e2@3 ~@3", Z: "c2@8 ~@2 a1 ~ c2@4 ~@2 e2@3 ~ c2 ~",
AA: "b1@8 ~@2 d#2 ~ f#2@4 ~@2 d#2@3 ~ f#2 ~", AB: "e2@3 ~@9 a1@11 ~",
AC: "d2@3 ~@3 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~", AD: "c2 ~@7", AE: "d2@8 ~@2 a#2 ~ a2@4 ~@2 f2@3 ~ a2 ~",
AF: "a#2@8 ~@2 g2 ~ f2@5 ~ d2@3 ~ a#2 ~", AG: "g2@8 ~@2 a#2 ~ d3@4 ~@2 a#2@3 ~ d3@2",
AH: "g2@8 ~@2 a#2 ~ d3@4 ~@2 a#2@3 ~ g2 ~", AI: "c2@8 ~@2 e2 ~ g2@5 ~ e2@3 ~ g2 ~",
AJ: "c2@8 ~@2 e2 ~ g2@4 ~@2 e2@3 ~ g2 ~", AK: "d#2@8 ~@2 c2 ~ d#2@4 ~@2 g2@3 ~ d#2 ~",
AL: "d2@8 ~@2 f#2 ~ a2@5 ~ f#2@5 ~", AM: "g2@8 ~@2 a#2 ~ d3@4 ~@2 a#2@3 ~ d3 ~", AN: "g2@3 ~@9 c2@11 ~",
AO: "c#2@8 ~@2 f2 ~ g#2@5 ~ f2@3 ~ g#2@2", AP: "a#1@8 ~@2 c#2@2 f2@5 ~ c#2@3 ~ a#1 ~",
AQ: "f1@8 ~@2 a1 ~ c2@5 ~ a1@3 ~ c2 ~", AR: "f1@5 ~ a1@3 ~ d2 ~ c2@5 ~ a1@3 ~ c2 ~", AS: "f2 ~@5",
})).s("gm_acoustic_bass").gain(0.5)
// other · epiano2
const epiano2 = note(`<
~@7 A B@4 C D E F G@4 H I J K L@2 M N O@2 P Q R S@4 T U V@2 W@2 X Y Z@2 AA AB AC AD AE AF AG AH@2 AI@2 AJ@2 AK K AL@2
AM ~@4
>`.pickRestart({
A: "~@3 d5@2 ~ c#5@4 ~ a4",
B: "[~ b4@7 ~ c#5@2 ~ b4@16 ~@5 b4@2 ~@2 a4@3 ~ g4@3 ~ f#4 ~ d4@2 ~ e4@7 ~ f#4@2 ~ e4@14 ~@3 e4@5 ~ f#4@3 ~ g4@2 ~@2 a4 ~ b4 ~]/4",
C: "~ a4@9 ~@2 e4@3 ~ g4@3 ~ b4@2 ~@2", D: "a4@9 ~@3 c#5@4 ~ b4@3 c#5@2 ~@2", E: "a4",
F: "~@6 d5@4 ~@2 c#5@5 ~ a4@5 ~",
G: "[b4@8 ~@2 c#5@2 b4@15 ~@6 b4@2 ~ a4@3 ~ g4@3 ~ f#4 ~@2 d4@2 e4@7 ~ f#4@5 ~@2 e4@14 ~@3 e4@2 ~ f#4@3 ~ g4@3 ~ a4 ~ b4@2]/4",
H: "a4@8 ~@3 c#5@3 ~@2 b4@3 ~ c#5@2 ~@2", I: "a4@15 ~ g4@2 a4@3 ~ b4@2", J: "d5@11 ~", K: "~@3 d5@2 ~ d5@2 ~ d5@2 ~",
L: "[d5@9 ~ e5@2 d5@14 ~@4 d5@5 ~ d5@4 ~@2 d5@5 ~]/2", M: "d5@9 ~ e5@2 ~ d5@10 ~", N: "~@6 c#5@4 ~@2 c#5@5 ~ c#5@5 ~",
O: "[c#5@8 ~ d5@2 ~ c#5@15 ~@3 b4@5 ~ a4@5 ~ g#4@6]/2", P: "b4@5 ~ a4@11 ~ b4@5 ~", Q: "c#5@7 ~",
R: "~@6 d5@5 ~ c#5@5 ~ a4@5 ~",
S: "[b4@9 ~ c#5@2 ~ b4@13 ~@7 b4@3 ~ a4@3 ~ g4@3 f#4@2 ~ d4@3 ~ e4@6 ~ f#4@5 ~ e4@14 ~@3 e4@2 ~@2 f#4@3 g4@3 ~ a4@2 b4@2]/4",
T: "~ a4@8 ~@3 c#5@3 ~@2 b4@3 c#5@2 ~@2", U: "a4@14 ~ f#4@3 ~ g4@2 ~ f#4@2",
V: "[~ a4@25 ~@4 f#4@5 ~ g4@4 ~@2 a4@4 ~@2]/2", W: "[b4@9 ~ c#5@2 ~ b4@16 ~@7 c#5@9 ~@3]/2", X: "d5@23 ~",
Y: "~@6 d5@3 ~@3 f#5@2 ~@2 e5@2 ~@3 d5@2 ~", Z: "[~ d5@8 ~ e5@2 ~ d5@14 ~@3 d5@5 ~ d5@4 ~@2 d5@4 ~@2]/2",
AA: "d5@8 ~ e5@2 ~ d5@10 ~@2", AB: "~@3 c#5@2 ~ c#5@2 ~ c#5@2 ~", AC: "c#5@8 ~@2 d5@2 ~ c#5@10 ~",
AD: "~@6 b4@5 ~ a4@5 ~ g#4@4 ~@2", AE: "b4@4 ~ a4@7 b4@2 ~@3 c#5@2 ~ d5@2 ~@2", AF: "e5@23 ~",
AG: "~@6 f5@4 ~@2 e5@9 ~ c5@2", AH: "[~ d5@8 ~ e5@2 d5@14 ~@7 d5@3 ~ c5@3 a#4@3 ~ a4 ~ f4@2]/2",
AI: "[~ a5@7 ~ g5@5 ~ g5@13 ~@5 g4@3 ~ a4@3 a#4@3 ~ c5 ~ d5@2]/2",
AJ: "[~ c5@8 ~@3 e5@3 ~ d5@2 ~@2 e5@2 ~ c5@14 ~@2 a4@3 ~ a#4@2 ~ a4@2]/2", AK: "~ c5@23",
AL: "[d5@8 ~@2 e5@2 ~ d5@15 ~@8 e5@9 ~@3]/2", AM: "f5",
})).s("gm_epiano2").gain(0.63)
// chords · string ensemble 2
const string_ensemble_2 = note(`<
A@4 B@4 C@4 D@2 E@2 C@4 D@2 F@2 G@3 H@4 I@2 C@4 J@2 K@2 L@4 G@3 H@4 M N O@6 P@2 Q@2 R@5
>`.pickRestart({
A: "[a3 b3, [f#3,d4]]/4", B: "[[b3,d4]@12 [a3,c#4]@7 ~@5, g3@19 ~@5]/4", C: "[f#3 ~ e4@2, b3, d4 ~, ~ g3@3]/4",
D: "[g3,a3,c#4]/2", E: "[[f#3,a3,d4]@7 ~@5]/2", F: "[[f#3,a3]@3 [g3,b3]@3 [f#3,a3] ~@5, d4@7 ~@5]/2",
G: "[b3@2 a#3, [g3,d4]]/3", H: "[[a3,c#4]@4 d4 g#3 [a3,c#4] [g#3,d4], f#3@5 e4@3, ~@2 b3 ~]/4",
I: "[[g3,a3,c#4]@7 ~@5]/2", J: "[a3,c#4,e4]/2", K: "[[c4,e4] [b3,d#4], a3]/2",
L: "[[g3,b3,e4]@7 ~@2 [g3,c#4]@3 [f#3,d4]@7 ~@5, ~@9 a3@10 ~@5]/4", M: "[g3,a3,c#4]", N: "[a#3,c4,e4] ~@5",
O: "[a3 ~@3 [a#3,e4]@2, d4@2 ~, f3 g3@2, ~ a#3@3 ~@2]/6", P: "[[g3,d#4] [f#3,d4], c4]/2",
Q: "[[g3,a#3,d4]@7 ~@2 [a#3,c4,e4]@3]/2", R: "[g#3@6 a#3@6 [a3,c4]@13 ~@5, f4@5 ~, c#4@2 ~@3]/5",
})).s("gm_string_ensemble_2").gain(0.1)
// chords · synth brass 1
const synth_brass_1 = note(`<
~ A B C D E F@2 ~@6 G H ~@5 I J K ~ L M N O P Q R@2 ~@6 S T U@2 V@2 ~ L M N O P Q W X ~@6 Y Z AA@2 AB AC AD@3
>`.pickRestart({
A: "[d4,f#4,a4]@23 ~", B: "[d4,f#4,b4] ~@11", C: "[d4,f#4,b4]@23 ~", D: "[d4,g4,b4] ~@11", E: "[d4,g4,b4]@23 ~",
F: "[[e4,a4,c#5] ~@2 [a2,a3]@10 ~@11]/2", G: "~@4 e4@3 ~ d4@3 ~ c#4@3 ~ a3@3 ~ b3@3 ~", H: "a3 ~@11",
I: "~ [a3,c#4,e4]", J: "[a3,d4,f#4] [b3,d4,g4]", K: "[a3,d4,f#4] ~@11", L: "[d4,g4,b4]", M: "[d4,g4,a#4] ~@11",
N: "[c#4,f#4,a4]", O: "[c#4,f#4,a4] ~@11", P: "~ [e4,g#4,b4]", Q: "[e4,a4,c#5] [e4,g#4,b4,d5]",
R: "[[g4,a4,c#5,e5]@3 ~@3 [a2,a3]@20 ~@22]/2", S: "[e4,f#4,a4]", T: "[d#4,a4,b4]",
U: "[[e4,g4,b4]@13 ~@5 [e4,g4,a4,c#5]@6]/2", V: "[[f#4,a4,d5]@13 ~@11]/2", W: "a4 a2@3, [g4,c#5,e5]",
X: "[c3,g4,a#4,e5] ~@7", Y: "[g4,a4,c5]", Z: "[f#4,c5,d5]", AA: "[[g4,a#4,d5]@13 ~@5 [g4,a#4,c5,e5]@6]/2",
AB: "[g#4,c#5,f5]", AC: "[a#4,c#5,f5]", AD: "[a4@11 ~ [a3,a4]@5 ~ [f3,f4]@5 ~ [a3,a4]@26 ~@22, [c5,f5]@25 ~@11]/3",
})).s("gm_synth_brass_1").gain(0.55).pan(0.4)
// chords · piano
const piano = note(`<
A@2 B@2 C@2 D E B C F@2 G@2 A H B C F@2 G@2 I H J K L M N O P Q R B C F@2 G@2 S T F U V H J K L M N O P W X Y Z AA@2
AB@2 AC AD AA AE AF AG AH@2 AI
>`.pickRestart({
A: "[a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~", // D
B: "[b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~", // Bm
C: "[b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~", // G
D: "[a4,c#5,e5,a5] ~@5 [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~", // A
E: "[a4,c#5,e5,a5] ~@23", // A
F: "[b4,e5,g5] ~ [b4,e5,g5] ~ [b4,e5,g5] ~ [b4,e5,g5] ~ [b4,e5,g5] ~ [b4,e5,g5] ~ [b4,e5,g5] ~ [b4,e5,g5] ~ [b4,e5,g5] ~ [b4,e5,g5] ~ [b4,e5,g5] ~ [b4,e5,g5] ~", // Em
G: "[a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~", // A
H: "[a4,d5,f#5] ~@23", // D
I: "[a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~", // D G
J: "[b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~@5 [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~@5", // G
K: "[b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~@5 [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5] ~@5, ~@9 g5 ~@2", // G Bm
L: "[a#4,d5,g5] ~ [a#4,d5,g5] ~ [a#4,d5,g5] ~ [a#4,d5,g5] ~@5 [a#4,d5,g5] ~ [a#4,d5,g5] ~ [a#4,d5,g5] ~ [a#4,d5,g5] ~@5", // Gm
M: "[a4,c#5,f#5] ~ [a4,c#5,f#5] ~ [a4,c#5,f#5] ~ [a4,c#5,f#5] ~@5 [a4,c#5,f#5] ~ [a4,c#5,f#5] ~ [a4,c#5,f#5] ~ [a4,c#5,f#5] ~@5", // F#m
N: "[a4,c#5,f#5] ~ [a4,c#5,f#5] ~ [a4,c#5,f#5] ~ [a4,f#5] ~@5 [a4,c#5,f#5] ~ [a4,c#5,f#5] ~ [a4,c#5,f#5] ~ [a4,c#5,f#5]@2 ~@4, ~@3 c#5 ~@8", // F#m D F#m
O: "[b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,f#5]@2 ~@4 [b4,d5,e5,g#5] ~ [b4,d5,e5,g#5] ~ [b4,d5,e5,g#5] ~ [b4,d5,e5,g#5]@2 ~@4, ~@6 d5 ~@17", // Bm B5 E7
P: "[a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5]@2 ~@4 [b4,e5,g#5,b5] ~ [b4,e5,g#5,b5] ~ [b4,e5,g#5,b5] ~ [b4,e5,g#5,b5]@2 ~@4", // A E
Q: "[a4,e5]@2 ~@4 [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~, [c#5,a5] ~@23", // A5 A F#m
R: "[a4,c#5,e5,a5] ~@11", // A
S: "[a4,c5,e5,a5] ~ [a4,c5,e5,a5] ~ [a4,c5,e5,a5] ~ [a4,c5,e5,a5] ~ [a4,c5,e5,a5] ~ [a4,c5,e5,a5] ~ [a4,c5,e5,a5] ~ [a4,c5,e5,a5] ~ [a4,c5,e5,a5] ~ [a4,c5,e5,a5] ~ [a4,c5,e5,a5] ~ [a4,c5,e5,a5] ~", // Am
T: "[a4,b4,d#5,f#5] ~ [a4,b4,d#5,f#5] ~ [a4,b4,d#5,f#5] ~ [a4,b4,d#5,f#5] ~ [a4,b4,d#5,f#5] ~ [a4,b4,d#5,f#5] ~ [a4,b4,d#5,f#5] ~ [a4,b4,d#5,f#5] ~ [a4,b4,d#5,f#5] ~ [a4,b4,d#5,f#5] ~ [a4,b4,d#5,f#5] ~ [a4,b4,d#5,f#5] ~", // B7
U: "[b4,e5,g5] ~@5 [a4,c#5,e5,a5]@5 ~", // Em A
V: "[a4,d5,f#5]@2 ~@4 [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~", // D
W: "[a4,e5,a5]@2 ~@4 [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~ [a4,c#5,e5,a5] ~, c#5 ~@23", // A5 A
X: "[a#4,c5,e5,g5] ~@7", // C7
Y: "[a4,d5,f5,a5] ~ [a4,d5,f5,a5] ~ [a4,d5,f5,a5] ~ [a4,d5,f5,a5] ~ [a4,d5,f5,a5] ~ [a4,d5,f5,a5] ~ [a4,d5,f5,a5] ~ [a4,d5,f5,a5] ~ [a4,d5,f5,a5] ~ [a4,d5,f5,a5] ~ [a4,d5,f5,a5] ~ [a4,d5,f5,a5] ~", // Dm
Z: "[a#4,d5,f5,a#5] ~ [a#4,d5,f5,a#5] ~ [a#4,d5,f5,a#5] ~ [a#4,d5,f5,a#5] ~ [a#4,d5,f5,a#5] ~ [a#4,d5,f5,a#5] ~ [a#4,d5,f5,a#5] ~ [a#4,d5,f5,a#5] ~ [a#4,d5,f5,a#5] ~ [a#4,d5,f5,a#5] ~ [a#4,d5,f5,a#5] ~ [a#4,d5,f5,a#5] ~", // A#
AA: "[a#4,d5,g5,a#5] ~ [a#4,d5,g5,a#5] ~ [a#4,d5,g5,a#5] ~ [a#4,d5,g5,a#5] ~ [a#4,d5,g5,a#5] ~ [a#4,d5,g5,a#5] ~ [a#4,d5,g5,a#5] ~ [a#4,d5,g5,a#5] ~ [a#4,d5,g5,a#5] ~ [a#4,d5,g5,a#5] ~ [a#4,d5,g5,a#5] ~ [a#4,d5,g5,a#5] ~", // Gm
AB: "[c5,e5,g5,c6] ~ [c5,e5,g5,c6] ~ [c5,e5,g5,c6] ~ [c5,e5,g5,c6] ~ [c5,e5,g5,c6] ~ [c5,e5,g5,c6] ~ [c5,e5,g5,c6] ~ [c5,e5,g5,c6] ~ [c5,e5,g5,c6] ~ [c5,e5,g5,c6] ~ [c5,e5,g5,c6] ~ [c5,e5,g5,c6] ~", // C
AC: "[c5,d#5,g5,c6] ~ [c5,d#5,g5,c6] ~ [c5,d#5,g5,c6] ~ [c5,d#5,g5,c6] ~ [c5,d#5,g5,c6] ~ [c5,d#5,g5,c6] ~ [c5,d#5,g5,c6] ~ [c5,d#5,g5,c6] ~ [c5,d#5,g5,c6] ~ [c5,d#5,g5,c6] ~ [c5,d#5,g5,c6] ~ [c5,d#5,g5,c6] ~", // Cm
AD: "[c5,d5,f#5,a5] ~ [c5,d5,f#5,a5] ~ [c5,d5,f#5,a5] ~ [c5,d5,f#5,a5] ~ [c5,d5,f#5,a5] ~ [c5,d5,f#5,a5] ~ [c5,d5,f#5,a5] ~ [c5,d5,f#5,a5] ~ [c5,d5,f#5,a5] ~ [c5,d5,f#5,a5] ~ [c5,d5,f#5,a5] ~ [c5,d5,f#5,a5] ~", // D7
AE: "[a#4,d5,g5,a#5] ~@5 [c5,e5,g5,c6]@5 ~", // Gm C
AF: "[c#5,f5,g#5,c#6] ~ [c#5,f5,g#5,c#6] ~ [c#5,f5,g#5,c#6] ~ [c#5,f5,g#5,c#6] ~ [c#5,f5,g#5,c#6] ~ [c#5,f5,g#5,c#6] ~ [c#5,f5,g#5,c#6] ~ [c#5,f5,g#5,c#6] ~ [c#5,f5,g#5,c#6] ~ [c#5,f5,g#5,c#6] ~ [c#5,f5,g#5,c#6] ~ [c#5,f5,g#5,c#6] ~", // C#
AG: "[c#5,f5,a#5,c#6] ~ [c#5,f5,a#5,c#6] ~ [c#5,f5,a#5,c#6] ~ [c#5,f5,a#5,c#6] ~ [c#5,f5,a#5,c#6] ~ [c#5,f5,a#5,c#6] ~ [c#5,f5,a#5,c#6] ~ [c#5,f5,a#5,c#6] ~ [c#5,f5,a#5,c#6] ~ [c#5,f5,a#5,c#6] ~ [c#5,f5,a#5,c#6] ~ [c#5,f5,a#5,c#6] ~", // A#m
AH: "[c5,f5,a5,c6] ~ [c5,f5,a5,c6] ~ [c5,f5,a5,c6] ~ [c5,f5,a5,c6] ~ [c5,f5,a5,c6] ~ [c5,f5,a5,c6] ~ [c5,f5,a5,c6] ~ [c5,f5,a5,c6] ~ [c5,f5,a5,c6] ~ [c5,f5,a5,c6] ~ [c5,f5,a5,c6] ~ [c5,f5,a5,c6] ~", // F
AI: "[f5,a5,c6,f6] ~@11", // F
})).s("gm_piano").gain(0.24).pan(0.7)
// drums · kick
const kick = s("bd").struct("<A@6 B C A@7 C A@7 C B@8 C A@10 B C B@8 C A@14 C>".pickRestart({
A: "x!2", B: "x!4", C: "x",
})).gain(0.64)
// drums · snare
const snare = s("sd").struct("<A@6 B C A@7 ~ A@7 ~ D@7 E C A@9 ~ B C D@7 E C A@9 ~ A F A G ~>".pickRestart({
A: "~ x ~ x", B: "~@3 x!9", C: "x", D: "x!4 ~@2 x!4 ~@2", E: "x ~@2 x!9", F: "~@3 x ~@3 x ~ x ~@2",
G: "~ x ~ x ~@3 x!5",
})).gain(0.5)
// drums · crash
const crash = s("cr").struct("<~@6 A ~@24 A ~@10 B A ~@8 A ~@10 B A ~@3 A>".pickRestart({
A: "x", B: "~ x",
})).gain(0.5)
stack(bass, epiano2, string_ensemble_2, synth_brass_1, piano, kick, snare, crash)
More by Dallara
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.