0:00/0:00
// Il mare d'inverno — Ruggeri
// 120 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 140 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 D E B C D E B F G H I J G H I J K@2 G L M N M O P Q K R G H I J G H I J K@2 G L M S M O P T K U V W X Y V W X Y
Z AA AB AC AD@2 AE U AF AG AH@2 R G H I J G H I J K@2 G L M S M O P T K U V W X Y V W X Y Z AA AB AC AD@2 AE U AF AG
AH@2 V W X Y V W X Y Z AA AB AC AD@2 AE U AF AG AH@2 ~@8
>`.pickRestart({
A: "~@7 e1 f#2 g2 b2 b1", B: "e1@3 ~ e1 ~@5 e1 ~ e1@3 ~ e1 ~@5 e1 ~",
C: "e1@3 ~ e1@2 ~@4 e1 ~ e1@3 ~ e1@2 g2@2 b1@2 ~@2", D: "d2@3 ~ d2@2 ~@4 d2 ~ d2@3 ~ d2@2 ~@4 d2 ~",
E: "d2@3 ~ d2@2 ~@4 d2 ~ d2@3 ~ d2@2 d2@2 f#1@2 a1@2", F: "e1@3 ~ e1@2 e1 ~ e1 ~ e1 ~@13",
G: "e1@4 e1@2 ~@2 b1 ~ b1 ~ e1@4 e1@2 ~@4 b1 ~", H: "e1@4 e1@2 ~@2 b1@2 g2@2 e1@4 e1@2 ~@4 b1 ~",
I: "d2@2 d2 ~ f#1 a1 d2@3 ~@3", J: "d2@2 d2@2 f#1 a1 d2 a1 f#2 d2 a1@2", K: "g1@2 g1 ~ b1 d2 g1@3 ~@3",
L: "e1@2 e1@2 b1 g2 e1 b1 g2 e1 b1@2", M: "d2@3 ~ d2@2 ~@2 f#1@2 a1@2 d2@6 ~@6",
N: "c2@3 ~ c2@2 ~@2 e1@2 g1@2 c2@6 ~@6", O: "c2@2 c2@2 e1 g1 c2 g1 e2 c2 g1@2", P: "d#2@2 d#2 ~ g1 a#1 d#2@3 ~@3",
Q: "f1@3 ~ f1@2 ~@2 a1@2 c2@2 f1@6 ~@6", R: "g1@2 ~@2 g1@2 g1@2 g1 ~ g1 ~@13", S: "c2@2 c2 ~ e1 g1 c2@3 ~@3",
T: "f1@2 f1 ~ a1 c2 f1@3 ~@3", U: "g1@2 g1 ~ b1 d2 b1 d2 ~ d2 g1 ~", V: "g1@3 ~ g1 ~@5 g1 ~ g1@3 ~ g1 ~@5 g1 ~",
W: "g1@3 ~ g1@2 ~@4 g1 ~ g1@3 ~ g1@2 b1@2 d2@2 ~@2", X: "e1@4 e1@2 ~@4 e1 ~ e1@3 ~ e1@2 ~@4 e1 ~",
Y: "e1@3 ~ e1@2 ~@4 e1 ~ e1@3 ~ e1@2 e1@2 g2@2 b1@2", Z: "c2@3 ~ c2 ~@5 c2 ~ c2@3 ~ c2 ~@5 c2 ~",
AA: "c2@3 ~ c2@2 ~@4 c2 ~ c2@3 ~ c2@2 e1@2 g1@2 ~@2", AB: "f1@3 ~ f1@2 ~@4 f1 ~ f1@3 ~ f1@2 ~@4 f1 ~, c2 ~@23",
AC: "g1@2 ~@2 g1@2 ~@4 g1 ~ g1@3 ~ g1@2 g1@2 b1@2 d2@2",
AD: "[c2@3 ~ c2 ~@5 c2 ~ c2@3 ~ c2 ~@5 c2 ~ d2@3 ~ d2@2 ~@4 d2 ~ d2@3 ~ d2@2 f#1@2 a1@2 ~@2, g1]/2",
AE: "g1@4 g1@2 ~@4 g1 ~ g1@3 ~ g1@2 ~@4 g1 ~", AF: "c2@2 ~@2 c2 ~@5 c2 ~ c2@3 ~ c2 ~@5 c2 ~",
AG: "d2@3 ~ d2@2 ~@4 d2 ~ d2@3 ~ d2@2 f#1@2 a1@2 ~@2",
AH: "[g1@5 ~ f2@3 ~ e2@9 ~@3 d#2@7 ~ d2@3 ~ c2@7 ~ d2@3 ~ g1@2]/2",
})).s("gm_acoustic_bass").gain(0.51)
// chords · pad choir
const pad_choir = note(`<
~ A@2 B@2 C@2 B@2 C@2 D ~ B@2 C@2 B@2 E@2 F@3 G H I J K L@2 M@2 B@2 C@2 B@2 E@2 C@2 H G H G N O P@2 Q ~ C@2 R@2 C@2
S@2 T U V H E@2 W H X ~@2 C@2 B@2 C@2 B@2 E@2 C@2 H G H G N O P@2 Q ~ C@2 R@2 C@2 S@2 T U V H E@2 W H X ~ P@2 C@2 R@2
C@2 S@2 T U V H E@2 W H X ~@9
>`.pickRestart({
A: "[[e3,g3,b3]@15 ~]/2", B: "[d3,f#3,a3]/2", C: "[e3,g3,b3]/2", D: "[e3,g3,b3] ~@23", E: "[[g3,b3], d3 ~@47]/2",
F: "[[e3,g3,b3]@2 [d3,f#3,a3]]/3", G: "[c3,e3,g3]", H: "[d3,f#3,a3]", I: "[c3,g3], e3@5 ~", J: "[d#3,a#3], g3 ~@23",
K: "[f3,a3,c4]@23 ~", L: "[[g3,b3], d4@11 ~]/2", M: "[[g3,b3] ~@47, e3]/2", N: "[d#3,g3,a#3]", O: "[f3,a3,c4]",
P: "[g3,b3,d4]/2", Q: "[g3,b3,d4] ~@23", R: "[[g3,b3] ~@47, d4]/2", S: "[[e3,g3] ~@47, c4, d4 ~@15]/2",
T: "[f3,a3], c4 ~@23", U: "[g3,b3,d4]", V: "[e3,g3,c4]", W: "[e3,c4], g3 ~@23", X: "[d3,g3,b3] ~@23",
})).s("gm_pad_choir").gain(0.31)
// chords · overdriven guitar
const overdriven_guitar = note(`<
A B@2 C D E@2 F@2 G@2 ~@3 H ~@15 I J K ~ L M@2 N@2 O@2 P@3 Q R Q S T U V W X Y Z AA@2 AB@2 AC@2 T AD Q AE AF@2 Q AG
AH@2 AI J K ~ L M@2 N@2 O@2 P@3 Q R Q S T U V W X Y Z AA@2 AB@2 AC@2 T AD Q AE AF@2 Q AG AJ@3 X Y Z AA@2 AB@2 AC@2 T
AD Q AE AF@2 Q AG AK@3 ~@7
>`.pickRestart({
A: "~@18 e3@2 a3 b3 ~@2", B: "[e4@37 ~ a3 ~ b3 ~ d4@2 e4@4, d4 ~@23]/2", C: "d4@23 ~", D: "d3@14 ~ d3@4 a3 ~ b3@2 ~",
E: "[e4@35 ~@4 b3@4 ~ a3@3 ~]/2", F: "[a3@27 ~@11 [c3,d3]@2 e3 [g3,a3] ~@2 [b3,c4] d4 ~@2]/2",
G: "[e4@3 e4@40 ~@5]/2", H: "c4 ~@23", I: "g5@23 ~", J: "~@20 e4 ~ a4 ~", K: "b4@3 ~ e5@20",
L: "~@9 d4@2 a4 b4@3 ~ d4@7 ~", M: "[e4@23 ~]/2", N: "[d4@41 ~@7]/2", O: "[[g4,d5]@47 ~]/2",
P: "[[e4,b4]@46 ~ [d4,a4]@24 ~, a4 ~@71]/3", Q: "[c4,g4]@23 ~", R: "[d4,a4]@23 ~", S: "[d#4,a#4]@23 ~",
T: "[f4,c5]@23 ~", U: "[g4,d5]@17 ~@4 c5 g5 ~, ~@10 d5 ~", V: "g5", W: "~@21 a4 b4 ~", X: "d5@2 b4 d5@21",
Y: "~@10 e4 a4", Z: "b4 e5@6 ~", AA: "[~@20 g4 ~ a4 b4@4 g4@19 ~@2, ~@23 a4 ~@24]/2", AB: "[e4@7 ~]/2",
AC: "[[c4,g4]@23 ~]/2", AD: "[g4,d5]@5 ~", AE: "[d4,a4]@11 ~", AF: "[[g4,d5]@2 ~]/2", AG: "[d4,a4]@5 ~",
AH: "[[g4,a4] ~ [c5,d5] ~ g5@44]/2", AI: "g5@5 ~@7", AJ: "[[g4,a4] ~ [c5,d5] ~ g5@55 ~@10 a4 b4 ~]/3",
AK: "[[g4,a4] ~ [c5,d5] ~ g5@55 ~@13]/3", // Gsus2 Csus2
})).s("gm_overdriven_guitar").gain(0.46)
// chords · string ensemble 1
const string_ensemble_1 = note(`<
~ A ~ B ~ C ~ D@2 C ~@2 E F G H@2 I@2 J@2 K@2 L M N M O P Q@2 R@2 S T U@2 S G V@4 W X W Y Z AA AB@2 ~@21 R@2 S T U@2 S
G V@4 W X W Y Z AA AB@2 ~@48
>`.pickRestart({
A: "[e4,b4,e5]@13 ~@11", B: "[d4,a4,d5]@3 ~", C: "[e4,b4,e5]", D: "[[d4,a4,d5]@37 ~@11]/2", E: "~@9 e4@5 ~ b4@5 a4@4",
F: "d4", G: "d2@23 ~", H: "[e4@2 ~ a4@2 ~@19 e4@23 ~, e2@23 ~, ~@5 b4@43]/2", I: "[[d2,d4,a4]@37 ~@11]/2",
J: "[~@24 d5@23 ~, g2, ~@3 d4@5 ~@8, ~@18 b4@29 ~]/2", K: "[~@5 b4@19 e4@24, e2@15 ~]/2", L: "[d2,d4,f#4]@23 ~",
M: "[c2,c4,e4]@23 ~", N: "[d2,d4,f#4]", O: "[d#2,d#4,a#4]", P: "[f4,c5]@19 ~@5, f2@23 ~",
Q: "[[g2,g4,d5,g5]@43 ~@5]/2", R: "[~@8 b2@5 e3@3, ~ e2@12 ~@11]/2", S: "d3", T: "d2@11 ~",
U: "[~@24 e3@23 ~, e2@7 ~]/2", V: "[~@5 b2@3 g3@7 ~@7 d3@2 e3@8, g2@15 e3@7 ~@10, ~@12 e2@11 ~]/4", W: "[d2,d3]",
X: "[c2,c3]@23 ~", Y: "[c2,c3]", Z: "[d#2,d#3,a#3]@23 ~", AA: "[f3,c4]@7 ~, f2",
AB: "[[d4,g4]@2 [d4,g4] ~, g2@43 ~@5, g3@41 ~@7]/2", // G5
})).s("gm_string_ensemble_1").gain(0.36)
// chords · piano
const piano = note("<~ A B C D E B C D E F G H I J G H I K L M N O P Q R@4 S@8 ~@34 T ~@68>".pickRestart({
A: "[e3,g5,e6]@2 ~@2 [e4,b4,g5] ~ e3@2 g4@2 e2@2 [e2,b3,g4,b4]@4 [b3,e4,g4] ~ e3@3 ~@3, b3 ~@23", // Em
B: "[g5,b5,e6] ~@9 [g5,b5,e6] ~@5 e3 ~ e3@2 e2 ~ e3@2", // Em
C: "~@4 [d4,a4] ~ d3 ~ a2 ~ d2 ~ [d4,f#4,a4]@2 ~@2 [a3,d4,f#4] ~ d3 ~ a2 ~ d2 ~", // D5 D
D: "[a3,d4,f#4,a4]@2 ~@2 [a3,d4,f#4] ~ d3 ~ a2 ~ d2 ~ [d4,f#4,a4] ~ d3 ~ a2 ~ [d4,f#4,a4]@2 ~@2 d2@2", // D
E: "[d3,d5,a5,d6] ~@3 [e4,b4,g5] ~ e3@2 g4@2 e2@2 [e2,b3,g4,b4]@4 [b3,e4,g4] ~ e3@3 ~@3", // D5 Em
F: "[g5,b5,e6] ~@7 [e4,b4,e6,b6] ~ [e4,b6]@10 ~@4, ~@5 [b4,e6]@4 ~@3", // Em E5
G: "[b3,b4]@6 e3@4 [b3,e4,g4,b4]@2 ~@2 [b4,e5]@2 g5@2 [b3,e4,g4,b4] ~ e3@2 e2@2, [e4,g4]@9 ~@5 g4 ~@9, e2@5 ~@13 [e2,e6]@2 ~@4", // B Em E5 Em E
H: "[b3,g4,b4]@6 e3@3 ~ [b3,e4,g4,b4]@6 [e2,b4]@2 e3 ~ [b3,e4,g4,b4] ~ [e2,g5]@2, e4@9 ~@7 a#4 ~ b5@4 e3 ~", // Em E5 Em
I: "[a3,a4]@6 d3@3 ~ [a3,d4,f#4,a4]@2 d2 ~ [a3,d4,f#4,a4] ~ d3 ~ d2@2 [a3,d4,f#4,a4] ~ d3@2, [d4,f#4]@3 ~@5", // A D
J: "[a3,d4,f#4,a4]@4 ~@2 [a3,e4,f#4,a4]@3 ~ [a3,d4,f#4,a4]@2 d3 ~ [a3,d4,f#4,a4] ~ d3 ~ d2@2 [a3,d4]@2 d3 ~, ~@20 [f#4,a4] ~@3", // D F#m7 D D5 F#m
K: "[a3,d4,f#4,a4]@4 ~@2 [a3,e4,f#4,a4]@3 ~ [a3,d4,f#4,a4]@2 d3 ~ [a3,d4,f#4,a4] ~ d3 ~ d2@2 [a3,d4]@2 d3 ~, d#4 ~@19 [f#4,a4] ~@3", // D F#m7 D D5 F#m
L: "d4@6 g3@4 ~@2 g2@2 [d4,b4,d5] ~ g3 ~ [d4,g4,b4,d5] ~ g3 ~ d3@2, [b4,d5]@9 ~ [d4,g4,b4,d5]@4 ~@10, g2@5 ~@13 g2@2 ~@4", // G Bm G
M: "[g3,b4,d5]@6 g3@3 ~ [d4,g4,b4,d5]@6 [g2,d5]@2 g3 ~ [d4,g4,b4,d5] ~ [g2,b5]@2, ~@16 c#5 ~ d6@4 g3 ~", // G G5 G
N: "[b3,b4]@6 e3@3 ~ [b3,e4,g4,b4]@2 e2 ~ [b3,e4,g4,b4] ~ e3 ~ e2@2 [b3,e4,g4,b4] ~ e3@2, [e4,g4]@3 ~@5", // B Em
O: "[f#4,g4,b4]@2 [g4,b4,e5]@4 [b3,e4,g4,b4]@3 ~ [b3,e4,g4,b4]@2 e3 ~ [b3,e4,g4,b4] ~ e3 ~ e2@2 [b3,e4]@2 e3 ~, b3 ~@19 [g4,b4] ~@3", // Gmaj7 Em E5 G
P: "[d2,a3,d4,f#4,a4]@3 ~@3 d3@4 ~@2 d2@2 [a3,f#4,a4] ~ d3 ~ [a3,d4,f#4,a4] ~ d3 ~ a2@2, ~@5 [a3,d4,f#4,a4]@2 ~@2 d2 ~@2", // D
Q: "[c3,e4,g4]@3 ~@3 c3@3 ~ [g3,c4,e4,g4]@6 [c2,g4]@2 c3 ~ [g3,c4,e4,g4] ~ [c2,e5]@2, ~@16 f#4 ~ g5@4 c3 ~", // C C5 C
R: "[[a3,f#4] ~@5 d3@3 ~ [a3,f#4,a4]@2 d2 ~ [a3,f#4,a4] ~ d3 ~ d2@2 [a3,f#4,a4] ~ d3@2 [g3,c4,e4,g4]@4 ~@2 [g3,e4,g4]@3 ~ [g3,c4,e4,g4]@2 c3 ~ [g3,c4,e4,g4] ~ c3 ~ c2@2 [g3,c4]@2 c3 ~ a#3@6 d#3@4 ~@2 d#2@2 [a#3,g4,a#4] ~ d#3 ~ [a#3,d#4,g4,a#4] ~ d#3 ~ a#2@2 [d3,f4,a4]@3 ~@3 f3@3 ~ [c4,f4,a4,c5]@6 [f2,c5]@2 f3 ~ [c4,f4,a4,c5] ~ [f2,a5]@2, d4@5 d4@2 d4@3 d4@5 d4@33, ~@24 c#4 ~@19 g4 ~@3 [g4,a#4]@9 ~ [a#3,d#4,g4,a#4]@4 ~@26 b4 ~ c6@4 ~@2, ~@48 d#2@5 ~@13 d#2@2 ~@26 f3 ~]/4", // D C C5 D# Dm F F5 F …
S: "[d5@6 g3@3 ~ [g4,b4,d5]@2 g2 ~ [g4,b4,d5] ~ g3 ~ g2@2 [g4,b4,d5] ~ g3@2 g4@7 ~@161, [d4,g4,b4]@5 d4@2 d4@3 d4@86, g#4 ~@191]/8", // G
T: "g4@7 ~@17",
})).s("gm_piano").gain(0.41)
// bass · slap bass 2
const bass_2 = note(`<
A B C D E B C D E B F G H I J G H I J K@2 G L M N M O P Q K R G H I J G H I J K@2 G L M S M O P T K U V W X Y V W X Y
Z AA AB AC AD@2 AE U AF AG AH@2 R G H I J G H I J K@2 G L M S M O P T K U V W X Y V W X Y Z AA AB AC AD@2 AE U AF AG
AH@2 V W X Y V W X Y Z AA AB AC AD@2 AE U AF AG AH@2 ~@8
>`.pickRestart({
A: "~@7 e2 f#3 g3 b3 b2", B: "e2@3 ~ e2 ~@5 e2 ~ e2@3 ~ e2 ~@5 e2 ~",
C: "e2@3 ~ e2@2 ~@4 e2 ~ e2@3 ~ e2@2 g3@2 b2@2 ~@2", D: "d3@3 ~ d3@2 ~@4 d3 ~ d3@3 ~ d3@2 ~@4 d3 ~",
E: "d3@3 ~ d3@2 ~@4 d3 ~ d3@3 ~ d3@2 d3@2 f#2@2 a2@2", F: "e2@3 ~ e2@2 e2 ~ e2 ~ e2 ~@13",
G: "e2@4 e2@2 ~@2 b2 ~ b2 ~ e2@4 e2@2 ~@4 b2 ~", H: "e2@4 e2@2 ~@2 b2@2 g3@2 e2@4 e2@2 ~@4 b2 ~",
I: "d3@2 d3 ~ f#2 a2 d3@3 ~@3", J: "d3@2 d3@2 f#2 a2 d3 a2 f#3 d3 a2@2", K: "g2@2 g2 ~ b2 d3 g2@3 ~@3",
L: "e2@2 e2@2 b2 g3 e2 b2 g3 e2 b2@2", M: "d3@3 ~ d3@2 ~@2 f#2@2 a2@2 d3@6 ~@6",
N: "c3@3 ~ c3@2 ~@2 e2@2 g2@2 c3@6 ~@6", O: "c3@2 c3@2 e2 g2 c3 g2 e3 c3 g2@2", P: "d#3@2 d#3 ~ g2 a#2 d#3@3 ~@3",
Q: "f2@3 ~ f2@2 ~@2 a2@2 c3@2 f2@6 ~@6", R: "g2@2 ~@2 g2@2 g2@2 g2 ~ g2 ~@13", S: "c3@2 c3 ~ e2 g2 c3@3 ~@3",
T: "f2@2 f2 ~ a2 c3 f2@3 ~@3", U: "g2@2 g2 ~ b2 d3 b2 d3 ~ d3 g2 ~", V: "g2@3 ~ g2 ~@5 g2 ~ g2@3 ~ g2 ~@5 g2 ~",
W: "g2@3 ~ g2@2 ~@4 g2 ~ g2@3 ~ g2@2 b2@2 d3@2 ~@2", X: "e2@4 e2@2 ~@4 e2 ~ e2@3 ~ e2@2 ~@4 e2 ~",
Y: "e2@3 ~ e2@2 ~@4 e2 ~ e2@3 ~ e2@2 e2@2 g3@2 b2@2", Z: "c3@3 ~ c3 ~@5 c3 ~ c3@3 ~ c3 ~@5 c3 ~",
AA: "c3@3 ~ c3@2 ~@4 c3 ~ c3@3 ~ c3@2 e2@2 g2@2 ~@2", AB: "f2@3 ~ f2@2 ~@4 f2 ~ f2@3 ~ f2@2 ~@4 f2 ~, c3 ~@23",
AC: "g2@2 ~@2 g2@2 ~@4 g2 ~ g2@3 ~ g2@2 g2@2 b2@2 d3@2",
AD: "[c3@3 ~ c3 ~@5 c3 ~ c3@3 ~ c3 ~@5 c3 ~ d3@3 ~ d3@2 ~@4 d3 ~ d3@3 ~ d3@2 f#2@2 a2@2 ~@2, g2]/2",
AE: "g2@4 g2@2 ~@4 g2 ~ g2@3 ~ g2@2 ~@4 g2 ~", AF: "c3@2 ~@2 c3 ~@5 c3 ~ c3@3 ~ c3 ~@5 c3 ~",
AG: "d3@3 ~ d3@2 ~@4 d3 ~ d3@3 ~ d3@2 f#2@2 a2@2 ~@2",
AH: "[g2@5 ~ f3@3 ~ e3@9 ~@3 d#3@7 ~ d3@3 ~ c3@7 ~ d3@3 ~ g2@2]/2",
})).s("gm_slap_bass_2").gain(0.51)
// chords · piano
const piano_2 = note("<~@30 A B@8 C@5 D E F G H I J@8 ~@14 B@8 K@6 L M@4 N ~@48>".pickRestart({
A: "~@6 [g4,d5,g5,d6]@2 [g4,d5,g5,d6] ~ [g4,d5,g5,d6]@2 ~@12", // G5
B: "[~@6 e3@4 [b3,e4,g4,b4]@2 ~@2 [b4,e5]@2 g5@2 [b3,e4,g4,b4] ~ e3@2 e2@2 [b3,g4,b4]@6 e3@3 ~ [b3,e4,g4,b4]@6 [e2,b4]@2 e3 ~ [b3,e4,g4,b4] ~ [e2,g5]@2 [a3,a4]@6 d3@3 ~ [a3,d4,f#4,a4]@2 d2 ~ [a3,d4,f#4,a4] ~ d3 ~ d2@2 [a3,d4,f#4,a4] ~ d3@2 [a3,d4,f#4,a4]@4 ~@2 [a3,e4,f#4,a4]@3 ~ [a3,d4,f#4,a4]@2 d3 ~ [a3,d4,f#4,a4] ~ d3 ~ d2@2 [a3,d4]@2 d3 ~ [b3,b4]@6 e3@4 [b3,e4,g4,b4]@2 ~@2 [b4,e5]@2 g5@2 [b3,e4,g4,b4] ~ e3@2 e2@2 [b3,g4,b4]@6 e3@3 ~ [b3,e4,g4,b4]@6 [e2,b4]@2 e3 ~ [b3,e4,g4,b4] ~ [e2,g5]@2 [a3,a4]@6 d3@3 ~ [a3,d4,f#4,a4]@2 d2 ~ [a3,d4,f#4,a4] ~ d3 ~ d2@2 [a3,d4,f#4,a4] ~ d3@2 [a3,d4,f#4,a4]@4 ~@2 [a3,e4,f#4,a4]@3 ~ [a3,d4,f#4,a4]@2 d3 ~ [a3,d4,f#4,a4] ~ d3 ~ d2@2 [a3,d4]@2 d3 ~, g2, b4@10 ~@4 g4 ~@3 [e2,e6]@2 ~@4 e4@9 ~@7 a#4 ~ b5@4 e3 ~ [d4,f#4]@9 ~@15 d#4 ~@23 [e4,g4]@9 ~@5 g4 ~@9 e4@9 ~@7 a#4 ~ b5@4 ~@2 f4 ~@43 [f#4,a4] ~@3, ~@48 f4 ~@43 [f#4,a4] ~@3 e2@5 ~@13 [e2,e6]@2 ~@26 e3 ~ [d4,f#4]@9 ~@15 d#4 ~@23]/8", // Em E5 Em E5 Em A D F#m7 …
C: "[~@6 g3@4 ~@2 g2@2 [d4,b4,d5] ~ g3 ~ [d4,g4,b4,d5] ~ g3 ~ d3@2 [g3,b4,d5]@6 g3@3 ~ [d4,g4,b4,d5]@6 [g2,d5]@2 g3 ~ [d4,g4,b4,d5] ~ [g2,b5]@2 g#4 ~@5 e3@3 ~ [b3,e4,g4,b4]@2 e2 ~ [b3,e4,g4,b4] ~ e3 ~ e2@2 [b3,e4,g4,b4] ~ e3@2 [f#4,g4,b4]@2 [g4,b4,e5]@4 [b3,e4,b4]@3 ~ [b3,e4,g4,b4]@2 e3 ~ [b3,e4,g4,b4] ~ e3 ~ e2@2 [b3,e4]@2 e3 ~ [e2,b3,e4,g4,b4] ~@5 d3@4 ~@2 d2@2 [a3,f#4,a4] ~ d3 ~ [a3,d4,f#4,a4] ~ d3 ~ a2@2, d2@54 ~@3 d2 ~@2, [a3,a4]@53 [a3,d4,f#4,a4]@2 ~@5, f#4@72 ~@6 g4 ~@13 [g4,b4] ~@27, ~@10 [d4,g4,b4,d5]@4 ~@4 g2@2 ~@20 c#5 ~ d6@4 g3 ~ [b3,e4,g4,b4]@8 ~@16 [b3,f4] ~@47]/5", // G G5 G Em Gmaj7 Em E5 Em …
D: "[c3,e4,g4]@6 c3@3 ~ [g3,c4,e4,g4]@6 [c2,g4]@2 c3 ~ [g3,c4,e4,g4] ~ [c2,e5]@2, ~@16 f#4 ~ g5@4 c3 ~", // C C5 C
E: "[g3,c4,c#4,e4,g4] ~@5 d3@3 ~ [a3,d4,f#4,a4]@2 d2 ~ [a3,d4,f#4,a4] ~ d3 ~ d2@2 [a3,d4,f#4,a4] ~ d3@2", // C D
F: "[g3,c4,e4,g4]@4 ~@2 [g3,d4,e4,g4]@3 ~ [g3,c4,e4,g4]@2 c3 ~ [g3,c4,e4,g4] ~ c3 ~ c2@2 [g3,c4]@2 c3 ~, d#4 ~@19 [e4,g4] ~@3", // C Em7 C C5 Em
G: "a#3@6 d#3@4 ~@2 d#2@2 [a#3,g4,a#4] ~ d#3 ~ [a#3,d#4,g4,a#4] ~ d#3 ~ a#2@2, [g4,a#4]@9 ~ [a#3,d#4,g4,a#4]@4 ~@10, d#2@5 ~@13 d#2@2 ~@4", // D# Gm D#
H: "[f3,a4,c5]@6 f3@3 ~ [c4,f4,a4,c5]@6 [f2,c5]@2 f3 ~ [c4,f4,a4,c5] ~ [f2,a5]@2, ~@16 b4 ~ c6@4 f3 ~", // F F5 F
I: "f#4 ~@5 g3@3 ~ [d4,g4,b4,d5]@2 g2 ~ [d4,g4,b4,d5] ~ g3 ~ g2@2 [d4,g4,b4,d5] ~ g3@2, [d4,g4,b4,d5] ~@2", // G
J: "[[d4,d5] g3@31, [g4,b4]@3 ~@61, g2@5 ~@187]/8", // D G
K: "[~@12 g2@2 [d4,b4,d5] ~@3 [d4,g4,b4,d5] ~@3 d3@2 [g3,b4,d5]@6 ~@4 [d4,g4,b4,d5]@6 [g2,d5]@2 ~@2 [d4,g4,b4,d5] ~ [g2,b5]@2 g#4 ~@5 e3@3 ~ [b3,e4,g4,b4]@2 e2 ~ [b3,e4,g4,b4] ~ e3 ~ e2@2 [b3,e4,g4,b4] ~ e3@2 [f#4,g4,b4]@2 [g4,b4,e5]@4 [b3,e4,b4]@3 ~ [b3,e4,g4,b4]@2 e3 ~ [b3,e4,g4,b4] ~ e3 ~ e2@2 [b3,e4]@2 e3 ~ [e2,b3,e4,g4,b4] ~@5 d3@4 ~@2 d2@2 [a3,f#4,a4] ~ d3 ~ [a3,d4,f#4,a4] ~ d3 ~ a2@2 [c3,e4,g4]@6 c3@3 ~ [c4,e4,g4]@6 [c2,g4]@2 c3 ~ [c4,e4,g4] ~ [c2,e5]@2, d2@54 ~@3 d2 ~@14, [a3,a4]@106 [a3,d4,f#4,a4]@4 ~@32 c3 ~, f#4@48 [b3,e4,g4,b4]@8 ~@16 [b3,f4] ~@5 g4 ~@13 [g4,b4] ~@43 f#4 ~ g5@4 ~@2, ~@6 g3@4 [d4,g4,b4,d5]@4 ~@2 g3@2 g2@2 g3@4 ~@6 g3@10 c#5 ~ [g3,d6]@4 g3@84 g3@10 g3@4]/6", // G G5 G Em Gmaj7 Em E5 Em …
L: "[c4,c#4,e4,g4] ~@5 d3@3 ~ [a3,d4,f#4,a4]@2 d2 ~ [a3,d4,f#4,a4] ~ d3 ~ d2@2 [a3,d4,f#4,a4] ~ d3@2, g3", // C D
M: "[[c4,e4,g4]@4 ~@2 [g3,d4,e4,g4]@4 [c4,e4,g4]@2 c3 ~ [c4,e4,g4] ~ c3 ~ c2@2 [e4,g4] ~ c3 ~ a#3@6 d#3@4 ~@2 d#2@2 [a#3,g4,a#4] ~ d#3 ~ [a#3,d#4,g4,a#4] ~ d#3 ~ a#2@2 [f3,a4,c5]@6 f3@3 ~ [c4,f4,a4,c5]@6 [f2,c5]@2 f3 ~ [c4,f4,a4,c5] ~ [f2,a5]@2 f#4 ~@9 [d4,g4,b4,d5]@2 g2 ~ [d4,g4,b4,d5] ~@3 g2@2 [d4,g4,b4,d5] ~@3, g3@3 ~@2 g3@2 g3@3 g3@29 g3@5 g3@4, d#4 ~@19 c4@2 ~@2 [g4,a#4]@9 ~ [a#3,d#4,g4,a#4]@4 ~@26 b4 ~ c6@4 ~@26, ~@24 d#2@5 ~@13 d#2@2 ~@26 f3 ~ [d4,g4,b4,d5]@8 ~@16]/4", // C Em7 C Em D# F F5 F …
N: "[g4,b4]@3 ~@5, [d4,d5]@7 ~@17, g2@5 ~@19", // G D
})).s("gm_piano").gain(0.41)
// chords · epiano2
const epiano2 = note(`<
~@30 A B C D E B C D E F G B C D H D H I J F@2 K L M N O@3 N P Q R S T@4 U V W@2 A B C D E B C D E F G B C D H D H I J
F@2 K L M N O@3 N P Q R S T@4 U V W@2 X L M N O@3 N P Q R S T@4 U V W@2 ~@8
>`.pickRestart({
A: "~@6 [g3,d4,d5,g5] ~ [g3,d4,d5,g5] ~ [g3,d4,d5,g5]@2 ~@12", B: "~@6 [e3,g3,b3]@3 ~ [e3,b3] ~@13",
C: "~@4 e1 ~ [e3,g3,b3]@3 ~ [e3,b3] ~@13", D: "~@6 [d3,f#3,a3]@3 ~ [d3,a3] ~@13",
E: "~@4 d1 ~ [d3,f#3,a3]@3 ~ [d3,a3] ~@13", F: "~@6 [g3,b3,d4]@3 ~ [g3,d4] ~@13",
G: "~@4 g1 ~ [g3,b3,d4]@3 ~ [g3,d4] ~@13", H: "~@4 c1 ~ [c3,e3,g3]@3 ~ [c3,g3] ~@13",
I: "~@6 [d#3,g3,a#3]@3 ~ [d#3,a#3] ~@13", J: "~@4 f1 ~ [f3,a3,c4]@3 ~ [f3,c4] ~@13",
K: "[g2,g4,d5,g5]@3 ~ [g3,d4,g4] ~ g2 ~ b3 ~ g1 ~ [g1,d3,b3,d4]@3 ~ [d3,g3,b3] ~ g2 ~ d2 ~ g1 ~", // G5 G
L: "[g3,b3,d4]@2 ~@2 [d3,g3,b3] ~ g2 ~ d2 ~ g1 ~ [g3,b3,d4]@2 ~@2 [d3,g3,b3] ~ g2 ~ g1 ~ [g3,d4,g4]@2, ~@22 c#4 ~", // G G5
M: "~@4 [g3,b3] ~ e2@2 b1@2 e1@2 [e3,g3,b3]@3 ~ [b2,e3,g3] ~ e2@2 b1@4", // G Em
N: "[g4,b4,e5] ~@9 [g4,b4,e5] ~@7 [e3,g3,b3]@3 ~ e1@2", // Em
O: "[g4@4 [g3,d4,g4] ~ g2 ~ b3 ~ g1 ~ [g1,d3,b3,d4]@3 ~ [d3,g3,b3] ~ g2 ~ d2 ~ g1 ~ [g3,b3,d4]@2 ~@2 [d3,g3,b3] ~ g2 ~ d2 ~ g1 ~ [g3,b3,d4]@2 ~@2 [d3,g3,b3] ~ g2 ~ g1 ~ [g3,d4,g4]@2 ~@4 [g3,b3] ~ e2@2 b1@2 e1@2 [e3,g3,b3]@3 ~ [b2,e3,g3] ~ e2@2 b1@4, e5, b2@8 ~, e2@3 ~, ~@46 c#4 ~@25]/3", // G5 G G5 G Em
P: "[c3,g3,d4]@3 ~ [c3,g3,c4] ~ c2 ~ e3 ~ c1 ~ [c1,g2,e3,g3]@3 ~ [g2,c3,e3] ~ c2 ~ g1 ~ c1 ~", // Csus2 C5 C
Q: "[c3,e3,g3]@2 ~@2 [g2,c3,e3] ~ c2 ~ g1 ~ c1 ~ [c3,e3,g3]@2 ~@2 [g2,c3,e3] ~ c2 ~ c1 ~ [c3,g3,c4]@2, ~@22 f#3 ~", // C C5
R: "~@4 [f3,c4] ~ f2 ~ c2 ~ f1 ~ [f3,a3,c4]@2 ~@2 [c3,f3,a3] ~ f2 ~ c2 ~ f1 ~", // F5 F
S: "[c3,f3,a3,c4] ~@3 [d3,g3,b3] ~ g2 ~ d2 ~ g1 ~ [g3,b3,d4] ~ g2 ~ d2 ~ [g3,b3,d4]@2 ~@2 g1@2", // F G
T: "[~@4 [c3,g3,c4] ~ c2 ~ e3 ~ c1 ~ [c1,g2,e3,g3]@3 ~ [g2,c3,e3] ~ c2 ~ g1 ~ c1 ~ [d3,f#3,a3]@2 ~@2 [a2,d3,f#3] ~ d2 ~ a1 ~ d1 ~ [d3,f#3,a3]@2 ~@2 [a2,d3,f#3] ~ d2 ~ d1 ~ [d3,a3,d4]@2 ~@4 [g3,d4] ~ g2 ~ d2 ~ g1 ~ [g3,b3,d4]@2 ~@2 [d3,g3,b3] ~ g2 ~ d2 ~ g1 ~@7 [g3,b3,d4]@3 ~ [g3,d4] ~@13, [g4,d5,g5], g2@12 ~@34 g#3 ~@49]/4", // C5 C D D5 G5 G G5
U: "[g2,g4,d5,g5] ~@3 [c3,g3,c4] ~ c2 ~ e3 ~ c1 ~ [c1,g2,e3,g3]@3 ~ [g2,c3,e3] ~ c2 ~ g1 ~ c1 ~", // G5 C5 C
V: "[c3,e3,g3] ~@3 [a2,d3,f#3] ~ d2 ~ a1 ~ d1 ~ [d3,f#3,a3]@2 ~@2 [a2,d3,f#3] ~ d2 ~ d1 ~ [d3,a3,d4]@2, ~@22 g#3 ~", // C D D5
W: "[g3@3 ~@3 f3@4 e3@6 [d4,g4,a#4]@5 ~ [f4,g4,a#4]@6 [f4,g4,a#4]@3 ~@3 c3@4 [f4,g4,a#4]@2 ~@2 [f#4,a4,c5]@2 ~@2 [g2,d4,g4,b4]@2, ~@2 [g4,b4,d5]@2 ~@17 e4@2 ~]/2", // Gm Gm7 F#dim G
X: "[d5,g5]@3 ~ [g3,d4,g4] ~ g2 ~ b3 ~ g1 ~ [g1,d3,b3,d4]@3 ~ [d3,g3,b3] ~ g2 ~ d2 ~ g1 ~, [g2,g4] ~@23", // G5 G
})).s("gm_epiano2").gain(0.46)
// chords · brass section
const brass_section = note(`<
~@50 A B C@3 D E@3 F@8 G H I J@8 ~@13 K L M@3 D N@3 O@8 G H I P@6 N@3 O@8 Q H I R@8 ~
>`.pickRestart({
A: "~@10 [d4,g4,b4,d5]@2 [g3,d5,d6]@2 [g3,g4,d5,d6] ~@3 [b4,d5,g5,b5]@2 [g4,g5,d6] ~@3", // G G5 G G5
B: "[b5,d6]@3 [c#6,d6] c6 ~@3 [g4,b4,d5] ~ d4 ~ [g4,b4,d5]@4 g4 ~ d4 ~ [g4,b4,d5] ~ g3 ~, g5 ~@3", // Bm Dmaj7 G
C: "[[g4,b4,d5] ~ [g4,b4,d5] ~@3 b5@3 a5 d5 ~ [g4,d5] ~ [g4,d5] ~@3 [g4,d5,b5] ~ [g4,d5] ~ [b3,g4,b4] ~ e5 ~ [e4,b4,e5] ~@3 [g4,b4,e5]@5 ~ [g4,b4,e5] ~ [g4,b4] ~ e3 ~ [e4,b4] ~ e3 ~ b2 ~@3 [g4,b4,e5] ~@3 [g4,b4,e5]@4 [g4,b4,e5] ~@5 [b3,g4,e5] ~@3 [g4,b4,e5] ~@3, ~@9 g5@3 g5@2 g5@4 g5@2 g5@52]/3", // G G5 G G5 Em E5 Em G …
D: "d6@3 [c#6,d6] c6 ~@3 [g4,b4,d5] ~ d4 ~ [g4,b4,d5]@4 g4 ~ d4 ~ [g4,b4,d5] ~ g3 ~, e5, [g5,b5] ~@3", // Dmaj7 G
E: "[[g4,b4,d5] ~ [g4,b4,d5] ~@6 a5 d5 ~ [g4,d5] ~ [g4,d5] ~@3 [g4,d5] ~ [g4,d5] ~ [b3,g4,b4] ~@3 [e4,b4] ~@3 [g4,b4]@4 ~@2 [g4,b4] ~ [g4,b4] ~ e3 ~ [e4,b4] ~ e3 ~ b2 ~@3 [g4,b4] ~@3 [g4,b4,e5]@4 [g4,b4] ~@5 [b3,g4] ~@3 [g4,b4] ~@3, ~ b5@2 b5@9, ~@9 g5@3 g5@2 g5@4 g5@2 g5@52, ~@13 e5@2 e5@3 e5@7 e5@2 ~@2 e5@3 e5@2 e5@2]/3", // G G5 Em E5 G E5 G Em …
F: "[[c5,e5,g5,d6]@3 f#5 f5 ~@3 [c4,e4,g4] ~ g3 ~ [c4,e4,g4]@4 c4 ~ g3 ~ [c4,e4,g4] ~ c3 ~ [c4,e4,g4] ~ [c4,e4,g4] ~@6 [c5,d5] g4 ~ [c4,g4,c5] ~ [c4,g4,c5] ~@3 [c4,g4,c5] ~ [c4,g4,c5] ~ c4 ~@3 [a3,f4,a4] ~@3 f4@16 ~@4 g5@4 g5@8 g5@6 [g4,d5] ~@3 [c5,g5,c6]@3 f#5 f5 ~@3 [c4,g4] ~ g3 ~ [c4,g4]@4 c4 ~ g3 ~ [c4,g4] ~ c3 ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~@3 f#5@3 d5 a4 ~ [d4,a4,d5] ~ [d4,a4,d5] ~@3 [d4,a4,d5,f#5] ~ [d4,a4,d5] ~ d4 ~@3 [b3,g4,b4] ~@3 [g3,g4]@16 [g3,g4] ~ [d4,d5]@6 g3@4 [d4,g4,b4,d5]@2 [g3,d5,d6]@2 [g3,g4,d5,d6] ~@3 [b4,d5,g5]@2 [g4,d6] ~@3, ~@3 c6@71 d6 ~@3 d6 ~@7 d6 ~@5 g5@4 b5@33 e5@39 [g2,g4,b4]@9 ~@9 b5@2 g5@4, ~@3 g5@67 f4@122, ~@3 [c5,e5]@3 ~@24 e5@12 e5@54 d6@8 e4@4 e4@8 e4@76, ~@46 e4@50 e5@3 g5@43 f#4@50]/8", // C Csus2 C5 Dm G5 C5 D D5 …
G: "[c5,e5,g5,c6]@3 f#5 f5 ~@3 [c4,g4] ~ g3 ~ [c4,g4]@4 c4 ~ g3 ~ [c4,g4] ~ c3 ~, b5, d6 ~@2 g5@21, ~@2 e4 e4@2 e4", // C C5
H: "[c4,g4] ~ [d4,a4] ~@3 f#5@3 d5 a4 ~ [d4,a4,d5] ~ [d4,a4,d5] ~@3 [d4,a4,d5,f#5] ~ [d4,a4,d5] ~ f#4@2, e4, ~@2 f#4@20 d4 ~, ~@3 e5@5", // C5 D5 D D5
I: "[g3,g4,b4]@6 [a4,c5]@3 ~ [g4,d5]@8 c5@3 ~ [d#4,f4,g4,a#4,d5]@2, ~@3 f4@8 ~, ~@5 e4@7", // G Am G5 D#maj7
J: "[~@6 d4@3 ~ [g3,a#4,c5,f5]@4 ~@2 d#4@2 [d4,f#5,a5]@4 g5@8 [g4,d5,g5,d6]@2 [g4,d5,d6] ~ [g4,d5,d6]@2 ~@156, ~@3 g5@8 [g3,b5]@85, ~@7 f4@89, ~@3 [f#4,e5]@29, ~@11 g4 ~@4 g5 g5@79]/8", // Gm7 D G5 G F#7
K: "~@10 [d4,g4,b4,d5]@2 [g3,d5,d6]@2 [g3,g4,d5,d6] ~@3 [b4,d5,g5]@2 [g4,d6] ~@3, ~@3 b5, ~@5 g5", // G G5 G G5
L: "d6@3 [c#6,d6] c6 ~@3 [g4,b4,d5] ~ d4 ~ [g4,b4,d5]@4 g4 ~ d4 ~ [g4,b4,d5] ~ g3 ~, [g5,b5] ~@3", // Dmaj7 G
M: "[[g4,b4,d5] ~ [g4,b4,d5] ~@6 a5 d5 ~ [g4,d5] ~ [g4,d5] ~@3 [g4,d5] ~ [g4,d5] ~ [b3,g4,b4] ~ e5@2 e5@4 [g4,b4]@4 ~@2 [g4,b4] ~ [g4,b4] ~ e3 ~ b4 ~ e3 ~ b2 ~@3 [g4,b4] ~@3 [g4,b4,e5]@4 [g4,b4] ~@5 [b3,g4] ~@3 [g4,b4] ~@3, ~ b5@2 b5@9, ~@9 g5@3 g5@2 g5@4 g5@2 g5@52, ~@13 e4@8 e4@15, ~@26 b4 ~@3 e5@6 e5@14 e5@4 ~@4 e5@6 e5@4 e5@4]/3", // G G5 Em G Em G Em G
N: "[[g4,b4,d5] ~ [g4,b4,d5] ~@6 a5 d5 ~ [g4,d5] ~ [g4,d5] ~@3 [g4,d5] ~ [g4,d5] ~ [b3,g4,b4] ~@3 e5@4 [g4,b4]@4 ~@2 [g4,b4] ~ [g4,b4] ~ e3 ~ b4 ~ e3 ~ b2 ~@3 [g4,b4] ~@3 [g4,b4,e5]@4 [g4,b4] ~@5 [b3,g4] ~@3 [g4,b4] ~@3, ~ b5@2 b5@9, ~@9 g5@3 g5@2 g5@4 g5@2 g5@52, ~@13 e4@8 e4@15, ~@26 b4 ~@3 e5@6 e5@14 e5@4 ~@4 e5@6 e5@4 e5@4]/3", // G G5 Em G Em G Em G
O: "[[c5,e5,g5,d6]@3 f#5 f5 ~@3 [c4,g4] ~ g3 ~ [c4,g4]@4 c4 ~ g3 ~ [c4,g4] ~ c3 ~ [c4,g4] ~ [c4,g4] ~@6 [c5,d5] g4 ~ [c4,g4,c5] ~ [c4,g4,c5] ~@3 [c4,g4,c5] ~ [c4,g4,c5] ~ c4 ~@3 [a3,a4] ~@3 f4@16 ~@4 g5@4 g5@8 g5@6 [g4,d5] ~@3 [c5,g5,c6]@3 f#5 f5 ~@3 [c4,g4] ~ g3 ~ [c4,g4]@4 c4 ~ g3 ~ [c4,g4] ~ c3 ~ [d4,a4] ~ [d4,a4] ~@3 f#5@3 d5 a4 ~ [d4,a4,d5] ~ [d4,a4,d5] ~@3 [d4,a4,d5,f#5] ~ [d4,a4,d5] ~ d4 ~@3 [b3,g4,b4] ~@3 [g3,g4]@16 [g3,g4] ~ [d4,d5]@6 g3@4 [d4,g4,b4,d5]@2 [g3,d5,d6]@2 [g3,g4,d5,d6] ~@3 [b4,d5,g5]@2 [g4,d6] ~@3, ~@3 c6@71 d6 ~@3 d6 ~@7 d6 ~@5 g5@4 b5@24 f#4@2 f#4@7 e5@39 [g2,g4,b4]@9 ~@9 b5@2 g5@4, ~@3 g5@47 f4@4 ~@16 f4@122, ~@3 [c5,e5]@3 ~@2 e4@4 e4@8 e4@4 e4@2 e4@20 e4@50 e5@3 g5@43 f#4@50, ~@15 e5@6 e5@27 d6@4 e4@2 e4@4 e4@38]/8", // C C5 Csus2 C5 A G5 C5 D5 …
P: "[~@6 d4@3 ~ [g3,a#4,c5,f5]@4 ~@2 d#4@2 [d4,f#5,a5]@4 [g4,g5,b5]@2 d6@3 [c#6,d6] c6 ~@3 [g4,b4,d5] ~ d4 ~ [g4,b4,d5]@4 g4 ~ d4 ~ [g4,b4,d5] ~@3 [g4,b4,d5] ~ [g4,b4,d5] ~@6 a5 d5 ~ [g4,d5] ~ [g4,d5] ~@3 [g4,d5] ~ [g4,d5] ~ [b3,g4,b4] ~ e5@2 e5@4 [g4,b4]@4 ~@2 [g4,b4] ~ [g4,b4] ~ e3 ~ b4 ~ e3 ~ b2 ~@3 [g4,b4] ~@3 [g4,b4,e5]@4 [g4,b4] ~@5 [b3,g4] ~@3 [g4,b4] ~@3 d6@3 [c#6,d6] c6 ~@3 [g4,b4,d5] ~ d4 ~ [g4,b4,d5]@4 g4 ~ d4 ~ [g4,b4,d5] ~ g3 ~, ~@6 g5@16 g3@2 [g5,b5]@6 ~@16 g3@8 b5@3 g5@3 g5@2 g5@4 b5@8 [e4,b4]@4 e5@6 e5@6 e4@30 [g5,b5]@6 ~@18, ~@7 f4@65, ~ f#4@7, ~@9 e5@24 g5 g5@15 e5@2 ~@2 e5@3 e5@2 e5@2 e5@12]/6", // Gm7 D G Dmaj7 G G5 Em G …
Q: "[c5,g5,c6]@3 f#5 f5 ~@3 [c4,g4] ~ g3 ~ [c4,g4]@4 c4 ~ g3 ~ [c4,g4] ~ c3 ~, b5, e5@5 ~@3 e4@4 e4@8 e4@4, d6 ~@2 g5@21", // C5
R: "[~@6 d4@3 ~ [g3,a#4,c5,f5]@4 ~@2 d#4@2 [d4,f#5,a5]@4 [g3,g5,b5]@170, ~@3 g5@8 g4 ~@84, ~@7 f4@89, ~@3 [f#4,e5]@29]/8", // Gm7 D G F#7
})).s("gm_brass_section").gain(0.51)
// chords · brass section · soft notes
const brass_section_soft = note(`<
// … 148 more lines
More by Ruggeri
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.