0:00/0:00
// Il mare d'inverno — Berte
// 100 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 130 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(100/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 · electric bass pick · "Basso"
const bass = note(`<
A B C D E B F G H B C D E B F G I J K L M N O N P Q R S T U V W X U Y Z AA AB AC AD AE AF AG AH AI AJ AK J AL AM AN AO
AP AM AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE U V W X U Y Z AA AB AC AD AE AF AG AH AI AJ AK J AL AM AN AO AP AM
AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BF AM AN AO AP AM AQ AR AS AT AU AV AW AX AY AZ BA BB BG BH BI@2
>`.pickRestart({
A: "~@18 e2@3 ~ e2 ~", B: "~@6 e2@3 ~ e2@2 ~@6 e2@3 ~ e2@2", C: "~@6 e2@3 ~ e2 ~@3 d2@2 e2@2 d2@3 ~ d2 ~",
D: "~@6 d2@3 ~ d2 ~@7 d2@3 ~ d2@2", E: "~@6 d2@3 ~ d2 ~@3 d2@4 e2@3 ~ e2 ~",
F: "~@6 e2@3 ~ e2@2 ~@2 d2@2 e2@2 d2@3 ~ d2@2", G: "~@6 d2@3 ~ d2@2 ~@6 d2@3 ~ d2@2",
H: "~@6 d2@3 ~ d2 ~@3 d2@3 ~ e2@3 ~ e2 ~", I: "~@6 d2@3 ~ d2 ~@3 d2@3 ~ g2@3 ~ g2 ~",
J: "~@6 g2@3 ~ g2 ~@3 d2@2 e2@2 g2@3 ~ g2@2", K: "~@6 g2@3 ~ g2 ~@3 d2@2 d#2@2 e2@3 ~ e2@2",
L: "~@6 e2@3 ~ e2@2 ~@6 e2@3 ~ e2 ~", M: "~@6 e2@3 ~ e2@2 ~@2 e2@4 d2@3 ~ d2 ~",
N: "~@6 d2@3 ~ d2@2 ~@2 g1@4 c2@3 ~ c2 ~", O: "~@6 c2@3 ~ c2@2 ~@2 c2@2 c#2@2 d2@3 ~ d2@2",
P: "~@6 c2@3 ~ c2@2 ~@2 c2@2 d2@2 d#2@3 ~ d#2@2", Q: "~@6 d#2@3 ~ d#2@2 ~@6 f2@3 ~ f2@2",
R: "~@6 f2@3 ~ f2@2 ~@6 g2@3 ~ g2@2", S: "~@6 g2@3 ~ g2@2 ~@2 d2@2 e2@2 g2@3 ~ g2@2",
T: "~@6 b2@2 c3@2 b2@2 a2@2 g2@2 f#2@2 e2@3 ~ e2@2", U: "~@16 b1@2 e2@3 ~ e2@2",
V: "~@12 e2@2 a1@2 a#1@2 b1@3 ~ b1@2", W: "~@16 a1 ~ b1@3 ~ b1@2", X: "~@6 b1@6 d2@6 e2@3 ~ e2 ~",
Y: "~@12 e2@2 a1@2 a#1@2 b1@3 ~ b1 ~", Z: "~@16 a1@2 b1@3 ~ b1 ~",
AA: "~@2 a1@2 b1@2 d2@3 ~ d2@4 e2@2 f#2@2 g2@3 ~ g2 ~", AB: "~@16 d2@2 g2@3 ~ g2 ~",
AC: "~@10 g2@2 b1@2 d2@2 d#2@2 e2@3 ~ e2 ~", AD: "~@16 b1 ~ e2@3 ~ e2 ~",
AE: "~@8 b1@2 e2@2 g2@2 e2@2 d#2@2 d2@3 ~ d2@2", AF: "~@6 f#2@6 g1@6 c2@3 ~ c2 ~",
AG: "~@6 c2@4 e2@4 g2@4 d2@3 ~ d2 ~", AH: "~@10 f#2@4 d2@4 c2@3 ~ c2 ~", AI: "~@6 c2@4 e2@4 g2@4 d#2@3 ~ d#2 ~",
AJ: "~@6 d#2@3 ~ d#2 ~@7 f2@3 ~ f2 ~", AK: "~@6 f2@3 ~ f2 ~@7 g2@3 ~ g2 ~",
AL: "~@6 g2@2 g1@2 b1@2 c2@2 c#2@2 d2@2 g1@3 ~ g1@2", AM: "~@8 b1@2 d2@2 e2@2 g2@2 e2@2 g1@3 ~ g1@2",
AN: "~@12 g1@2 b1@2 d2 ~ e2@3 ~ e2@2", AO: "~@16 b1 ~ e2@3 ~ e2@2",
AP: "g2@2 ~@2 e2@4 ~@2 e2@2 d2@3 ~ d2@2 g1@3 ~ g1@2", AQ: "~@10 g1@2 b1@4 d2 ~ e2@3 ~ e2@2",
AR: "~@16 d2 ~ e2@3 ~ e2@2", AS: "~@8 g2@2 e2@2 d2@2 g1@2 g#1@2 a1@3 ~ a1@2", AT: "~@16 e2@2 a1@3 ~ a1@2",
AU: "~@4 e2@2 a1@6 e2@6 f2@3 ~ f2@2", AV: "~@16 f2@2 g2@3 ~ g2@2", AW: "b1@3 ~ g1@7 ~ g1@4 d2@2 c2@3 ~ c2 ~",
AX: "~@14 c2@2 c#2@2 d2@3 ~ d2@2", AY: "~@12 d2@6 g2@3 ~ g2@2", AZ: "~@4 g2@2 g1@3 ~ g1@2 ~@4 g1@2 g2@3 ~ g2@2",
BA: "g1@3 ~ g1@2 b1@3 ~ b1@2 d2@3 ~ d2@2 c2@3 ~ c2@2", BB: "~@12 c2@6 d2@3 ~ d2 ~", BC: "~@12 a1@4 d2@2 g2@3 ~ g2@2",
BD: "~@16 g2@2 g1@3 ~ g1@2", BE: "~@6 g2@4 g1@2 b1@3 ~ d2@2 e2@3 ~ e2@2", BF: "~@6 g2@4 g1@2 b1@3 ~ d2@2 g1@3 ~ g1@2",
BG: "~@6 a1@2 d2 g2@3", BH: "g1@6 b1@6 c2@3 ~ c2@2 c#2@6", BI: "[d2@3 ~ g2@12 g1@23 ~@9]/2",
})).s("gm_electric_bass_pick").gain(0.8)
// chords · brass section · "Brass"
const brass_section = note(`<
~@48 A B@4 C@3 D E F G@2 ~@27 A B@4 C@3 D E F G@2 ~@7 A B@4 C@3 D E F G@2 ~@5 H I@3
>`.pickRestart({
A: "~@11 [d5,g5,b5]", // G
B: "[~@2 [d5,g5,b5] ~ [d5,g5,b5] ~ [a5,c6]@4 [d5,g5,b5]@10 ~@2 [d5,g5,b5]@4 [d5,g5,b5] ~ [d5,g5,b5] ~ [d5,a5,c6]@4 [d5,g5,b5]@3 ~ [d5,a5] ~ [d5,g5,b5] ~@5 [e5,g5,b5]@4 [e5,g5,b5] ~ [e5,g5] ~ [e5,g5]@3 ~ [e5,g5,b5]@11 ~ [e5,g5,b5]@4 [e5,g5,b5] ~ [e5,g5,b5] ~ [e5,g5,c6]@4 [e5,g5,b5]@3 ~ [e5,g5] ~ [e5,g5,b5]@2 ~@4 [d5,g5,b5]@2, ~@6 d5@3 ~@29 c6@2 ~@12 b5@2 c6@4 ~@28 c6@2 ~@8]/4", // G Am G D7 G D5 G Em …
C: "[~@2 [d5,g5,b5] ~ [d5,g5,b5] ~ [a5,c6]@4 [d5,g5,b5]@10 ~@2 [d5,g5,b5]@4 [d5,g5,b5] ~ [d5,g5,b5] ~ [a5,c6]@4 [d5,g5,b5]@3 ~ [a5,c6]@2 [d5,g5,b5] ~@5 [e5,g5,b5]@4 [e5,g5,b5] ~ [e5,g5,b5] ~ [e5,g5]@3 ~ [e5,g5,b5]@10 ~@2 [e5,g5,b5]@2, ~@6 d5@3 ~@21 d5@2 ~@6 d5 ~@15 c6@4 ~@14]/3", // G Am G Am G Am G Em
D: "~@2 [e5,g5,b5] ~ [e5,g5,b5] ~ [e5,g5,c6]@4 [e5,g5,b5]@3 ~ [e5,g5] ~ [e5,g5,b5] ~@5 [e5,a5,c6]@2, ~@7 c6 ~@4", // Em C Em Am
E: "~@2 [e5,a5,c6] ~ [e5,a5] ~ [e5,b5,d6]@4 [e5,a5,c6]@10 ~@2 [e5,a5,c6]@2, ~@2 c6 ~@9", // Am A5 E7 Am
F: "~@2 [e5,a5,c6] ~ [e5,a5,c6] ~ [e5,b5,d6]@4 [e5,a5,c6]@4 [e5,b5] ~ [e5,a5] ~@5 [f5,a5,c6]@2, ~@7 d6 c6 ~@3", // Am E7 Am E5 A5 F
G: "[~@2 [f5,a5,c6] ~ [f5,a5] ~ [f5,b5,d6]@4 [f5,c6]@11 ~ [d5,g5,b5]@4 [d5,g5,b5] ~ [d5,g5] ~ [a5,c6]@4 [d5,g5,b5]@3 ~ [a5,c6]@2 [d5,g5,b5]@2 ~@6, ~@4 c6@2 ~@4 a5@8 ~@10 b5@2 d5@2 ~@6 d5 ~@9]/2", // F Bdim F5 G G5 Am G Am …
H: "~@18 [d6,g6,b6]@5 ~", // G
I: "[[b5,d6,g6]@5 ~ [a5,d6,f#6]@5 ~ [g5,c6,e6]@5 ~ [g5,b5]@5 ~ [g5,c6]@3 ~ [b5,d6,g6]@29 ~@15, ~@2 e6 ~@5]/3", // G D C G C5 G
})).s("gm_brass_section").gain(0.52)
// chords · pad warm · "Synth"
const pad_warm = note(`<
~@4 A@4 B@8 C@4 D@5 E@8 ~ F@8 G H@5 I@8 J@6 K@8 L@4 F@8 G H@5 I@8 J@6 M@6 I@8 J@6 N@6 O@2
>`.pickRestart({
A: "[~@19 b5@46 [d5,a5]@31, ~@19 e5@77]/4", // D5
B: "[~@65 a5@49 g5@47 [d5,a5]@31, ~@3 [e5,f#5]@29, ~@9 [g5,b5]@24 ~@24 b5@25 ~@14, ~@32 d5@25 ~@39]/8", // D5 Esus2 G
C: "[~@2 e5, ~@17 [g5,b5]@79]/4", // G
D: "[~@19 d#5, ~@17 [d5,f#5,a5]@26 ~@22 [d5,a5]@25 [c5,e5,c6]@26 ~@4, ~@41 [c5,e5,g5]@27 ~@21 g5@31, ~@66 f#5@25 ~@22 a#5@7]/5", // D D5 C
E: "[~@17 [f5,a5,c6]@25 ~@24 g4@24 [g4,b4,e5]@48 a4@48 e5@6, ~@21 [g5,b5,d6]@24 ~@24 [f#4,d5]@25 ~@2]/8", // F Em G D
F: "[~@17 a4@48 ~@97 [a4,d5,f#5]@24 [e5,g5]@6, ~@17 d5@97 e5@50 ~@28, ~@65 b4@102 ~@25, ~@65 g4@99 ~@28, ~@89 g5@74 ~@29]/8", // D Em
G: "~@3 a4, ~@17 f#5@7",
H: "[~@17 [c5,e5]@24 ~@24 [f5,a5]@25 ~@24 g4@6, ~@17 g5@48 c5@27 ~@28, ~@41 [a#4,d#5]@27 ~@22 [d5,b5]@30]/5", // C F D#5 G
I: "[~@18 d6@47 e6@48 ~ d6@48 ~@30, ~@3 [g5,b5,g6]@29]/8", // G
J: "[~@11 f6@4 [b5,d6]@4 [c6,e6]@4 [a5,f#6,a6], ~@18 [a5,a6]@72 [g5,g6]@49 ~@5]/6", // Bm C D A G
K: "[~@66 [c6,e6]@24 [a5,f#6,a6]@23 ~ g5@48 [g4,b4,e5]@30, ~@17 g6@73 d6@72 ~@30, ~@18 g5@73 ~@22 [b5,g6]@49 ~@30]/8", // C D Em
L: "[~@3 a4@8 e5@5, ~@9 [f#4,d5]@25 ~@14]/4", // D
M: "[~@66 [c6,e6]@24 [a5,f#6,a6]@23 ~ g5@30, ~@17 g6@73 d6@54, ~@18 g5@73 ~@22 [b5,g6]@31]/6", // C D Em
N: "[~@66 [c6,e6]@24 [a5,d6,f#6,a6]@23 [b5,g6] [b4,d5,g5]@11 ~@19, ~@17 g6@73 ~@54, ~@18 g5@73 ~@53]/6", // C D Em G
O: "[~@3 [g4,b4,d5,g5]@29 ~@16]/2", // G
})).s("gm_pad_warm").gain(0.3)
// chords · pad warm · "Synth" · soft notes
const pad_warm_soft = note(`<
~@4 A@5 ~@23 B@5 ~@4 C@3 ~@2 D@3 ~@5 E@6 ~ F@4 ~@7 B@5 ~@4 C@3 ~@2 D@3 ~@5 E@6 ~ F@4 ~@9 E@6 ~ F@4 ~@5
>`.pickRestart({
A: "[~@19 f#5@95 ~@6, ~@19 g5@51 ~@50]/5", B: "[~@65 f#4@49 ~@6, ~@18 [g4,b4]@49 ~@53]/5",
C: "[~@7 d5@4 ~, ~@19 c5@25 ~@28]/3", D: "[~@3 g5@8 ~]/3", E: "[~@11 c6@12 ~, ~@18 e6@97 ~@29]/6",
F: "[~@41 b5@49 ~@6, ~@18 d6@73 ~@5]/4",
})).s("gm_pad_warm").gain(0.12)
// chords · rock organ · "Organo"
const rock_organ = note(`<
~@28 A@6 B@8 C D@5 E@8 F@3 G@3 H@8 I@6 J K@4 L@3 M@8 N@4 F@3 G@3 O@8 P@6 F@3 Q@8 R@3
>`.pickRestart({
A: "[~@9 b4@8 b4 b4@2 ~@6 e5 ~@4 b4@2 a4@11 ~ b2@12 b4@8 b4 b4@2 ~ [e3,e4]@3, ~@18 e4@48 [b3,d5,f#5]@48 [e5,g5]@19 ~@3 [b4,e5,g5]@8, ~@9 e3@11 e5@5 b4@4 e5@4 b2@12 ~@27, ~@18 [e5,g5]@18 [f#5,a5]@4 b4@2 e3@25 ~@47 [e3,e4]@24 ~@6, ~@40 g5@14 g5@13 ~@21 a4@27 ~@17 [f#5,a5]@6 ~@6]/6", // E Bm Em F#m E F#m
B: "[~@4 b4@2 [b4,e5,g5] ~@5 [b4,e5,g5]@4 a4@24 ~@12 e6@2 ~@8 a5@4 ~@34 d5@2 [d5,g5,b5]@6 [d5,g5,b5]@6 e5@16 ~@6 b4@10 ~@12 b4@4 d4@16 ~@2 [a4,d5,f#5]@4 d5 ~ d5 ~@5, ~@16 [b3,d5,f#5]@42 d6@8 [g3,b5,d6,g6]@23 ~ g3@24 e3@40 e5@8 d3@23 ~@7, ~@8 b2@13 b2@12 g4@9 g4@15 e4@9 e4@15 [a4,d5,f#5]@9 ~@2 [c3,c4,g4,c5,e5]@4, ~@40 a4@27 ~@21 d5@12 ~@30 e5@6 [e5,g5]@10 b4@2 e5@2 g5@13 ~@15 d4@7 ~@7, ~@50 d6@4 [e6,f#6]@13 ~@15 g5@6 [g5,b5,d6]@15 ~@11 [g5,b5]@22 b5@27 ~@29]/8", // Em G D Bm G D C Em …
C: "~@7 e5@2 [d3,d4,a4,d5,f#5]@3, ~@6 g4@13 ~@5, ~@10 c5@9 ~@5", // D
D: "[~@4 a4 ~ [a4,d5] ~@5 [a4,d5,f#5]@4 g4@12 ~@6 g4@2 [g4,c5,e5]@6 [d#4,d#5]@12 ~@10 g#5@2 f5@10 f5@2 ~@8 c6@4 g4@12 ~@4 g5@2 [c6,e6]@4 ~@6 g5 ~, d4@13 ~@3 c3@27 ~@19 a#5@4 c6@20 ~@4 [b5,d6]@19 ~@11, ~@3 f#5 ~@4 [c5,e5]@10 ~@3 g5@8 g5@4 a5@6 f5@6 g5@8 ~ g5 ~ [g5,b5,d6]@3 ~, ~@16 c4@14 c4@13 ~@11 [d#4,d#5]@12 ~@16 a5@8 d5@3 ~@9 g4@11 ~ g4@6, ~@14 g4@3 ~@4 [d#3,a#4]@12 [f3,f4]@12 g3@15]/5", // D5 D C D# C Bm C G …
E: "[[g5,c6,e6]@4 [g5,b5,d6]@6 g5 ~ [g5,b5,d6]@4 [b5,d6] ~ [g3,b4,d5,g5,b5]@24 g3@11 ~@9 g4@2 ~@24 b4 ~@7 e3@5 ~ [e3,b4,a5]@6 [b4,b5]@6 a3 ~@19 [b4,d5,a5]@4 ~@22 g5@2 ~@26 [b4,d5]@2 d5@2, ~@18 g4@36 g3@12 [e3,e5]@23 ~@25 [g3,g5]@23 ~ [g3,b4,d5]@24 [e3,e5]@30, ~@42 [d5,g5]@17 ~ g5@28 ~@50 g5@20 b5@4 ~@24 e4@6, ~@42 [b4,b5]@14 ~@2 b4@4 ~@2 b4@22 ~@4 [b4,d5,g5]@11 ~ d5@12 [b4,d5]@20 ~@22 d6@6 ~@30, ~@60 d5@7 ~@17 e4@30 ~@18 g4@6 ~@12 g4@12 ~@10 b4@16 ~@4]/8", // C G Bm G Esus4 B Bm7 Bm …
F: "[[b4,d5,f#5]@3 b4@3 [b4,f#5,a5]@3 [c5,e5]@11 [c5,e5]@7 ~@3 a5@3 [f3,c5,f5,a5]@3, ~ [e3,e5,g5]@2 a3@8 ~, ~@3 g5@4 ~@2 [a4,c5,e5,c6]@2 ~, ~@10 a5@5 ~@3]/3", // Bm B7 C F Em Am
G: "[~@3 [c5,f5]@2 [c5,f5,a5]@4 ~@11 g5 ~@11 e5 [d4,d5,e5]@3, ~@3 [f4,b5]@6 [g3,b4,d5]@12 c3@10 g5@2 ~@3, ~@9 g5@10 b5@2 g5@8 e5 [c5,c6]@3 ~@3, ~@5 g4@2 e5@2 c4@2 ~, ~@18 d6@3 c6@8 d6@4 ~@3]/3", // F5 F Dsus2 Fdim G C
H: "[~@8 a4 b4@7 ~@15 d5@2 ~@4 c4@4 ~@3 e5 ~@10 [f#5,a5]@2 ~@10 [d5,g5,d6]@2 [d5,g5]@2 d5@2 ~@4 d5 d5@2 ~ [e3,b4,e5,g5]@15, ~@3 d3@6 g3@10 b6 c7 b6 g6 d6@2 b5 g5 d5@2 g5@4 ~@8 c4@4 ~@9 d4@3 ~@9 g4@7 d5@2 g5@5 ~@16, ~@5 a4@3 ~@8 b4@17 d5@9 c5@3 ~@8 [d5,d6]@4 [d5,g5]@10 ~@4 g5@2 a5@7 ~@16, ~@6 d5@3 d5@9 g4@15 [c3,g5]@12 [d3,e5]@12 g3@12 [g3,d6]@11 ~@16, ~@7 f#5@2 g5@8 f#5@16 e5@10 d5@2 [f#5,a5]@10 ~@2 b5@14 b5@9 ~@16]/8", // F#m G5 Em D G5 C5 Dsus2 G5 …
I: "[~@2 b4 ~@9 e5@2 g5@3 ~ f#5@26 ~@16 d6@6 ~@20 [d5,e5,g5]@2 [d5,e5,g5]@2 ~@22 d5@2 ~@22 d5@2 [a4,d5]@4 [a4,d5,a5]@2, ~@6 e3@7 ~@31 d6@10 [f#6,d7]@2 a6@2 f#6@8 ~@24 [e5,g5]@16 b5@4 e5@4 d5@22 ~@8, ~@4 e4@5 [b3,f#4,a4,d5]@24 e3@24 ~@10 a4@2 ~@3, ~@10 b4@7 ~@27 f#5@22 ~@6 e4@42 [b3,b4]@30, ~@8 a5@3 ~@4 d5@3 g5 f#5@4 f#5]/6", // Em7 D5 D Em Bm7 B
J: "~@2 [a4,d5,f#5]@4 [a4,d5]@4 d5 ~@3 f#5@3 ~ [g3,b4]@6, ~@6 d3@11 ~@7, ~@5 [d4,a4,e5]@4 ~@3", // D D5 G Dsus2
K: "[~@7 [b4,d5,g5] e5 ~@6 d6 ~@4 d6 ~@14 g5 ~ e6 [g5,e6] [g5,b5]@2 [g5,b5]@2 [g5,b5,g6]@2 [d4,f#5,a5]@3, ~@6 g4@3 [g3,b4,d5,g5]@10 g6@2 e3@15 [g5,b5]@3 e6@2 f#6@4 ~@3, ~@16 c5 ~@13 g6@4 b6@8 ~@8 e4@2 b4@10 g5@2 e4@26 ~@6, ~@15 b6 d6@2 a6@3 e6@13 e5@11 ~@3, ~@16 c7@5 ~@5 b5@7 b4@12 ~@3]/4", // G C G D G
L: "[~@4 f#5!2 a5 ~ f#5 ~@10 c6@2 ~@10 d5@2 [c3,d5,e5,g5]@3, a4@6 f#5 a5@2 ~@6 c5@3 [d6,f#6]@3 ~@6 a4@6 ~@3, ~ d5@2 [c4,e5,g5]@4 [d4,f#5,a5]@4 ~, ~@4 [a5,d6]@2 d6@3 ~@7 d6 e6@4 ~@7 e5@2 e5@3 ~@3, ~@5 e6@4 ~@7 g6@5 ~@8 d5@2 ~@5]/3", // C D C D D5
M: "[~@16 g5@2 ~@16 [f5,g5]@4 [f5,g5,a#5]@4 ~@20 c5@4 ~@8 g5@12 b5@4 [b5,d6,g6]@4 [b5,d6]@4 [b5,d6]@4 [b5,d6]@4 [b5,d6]@4 [b5,d6,g6]@4 [g3,b4,d5,g5,b5]@24 g3@11 ~@9 g4@2 ~@24 b4 ~ [b4,d5,g5]@6, ~@4 c4@5 [f5,g5]@8 c6@4 ~@8 a4@4 d5@10 [d5,g5]@10 a6@4 ~@12 [b4,b5]@7 ~ b4@2 ~ b4@11 ~@5, ~@10 c5@8 d#3@24 [f3,f5,g5,a5]@25 ~@27 g6@4 a6@4 b6@12 ~@42 d5@7 ~@17 e4@12, ~@12 d5@6 a#5@20 ~@16 f4@13 ~@23 f#6@24 ~@24 [d5,g5]@17 ~ g5@28 ~@8, ~@14 e5@5 ~@11 d#4@12 ~@8 c5@12 ~@4 [g3,b4]@48 g4@36 g3@12 [e3,e5]@23 ~@7]/8", // Fsus2 Gm7 G Bm G Fsus2 G5 B …
N: "[e3@5 ~ [e3,b4,a5]@6 [b4,b5]@6 a3 ~@19 [b4,d5,a5]@4 ~@22 g5@2 ~@26 [b4,d5]@2 d5@2, ~@6 d5@12 [g3,g5]@23 ~ [g3,b4,d5]@24 [e3,e5]@30, ~@9 [b4,d5]@10 ~@2 g5@10 b5@2 ~@12 e4@3, ~@18 g4@3 ~@6 g4@6 ~@5 b4@8 ~@2, ~@10 d6 ~@5]/4", // Esus4 B Bm7 Bm G E Bm
O: "[~@8 a4 b4@7 ~@15 d5@2 ~@4 c4@4 ~@3 e5 ~@10 [f#5,a5]@2 ~@10 [d5,g5,d6]@2 [d5,g5]@2 d5@2 ~@4 d5 d5@2 ~ [g3,b4,d5,g5,b5]@12 [g3,b4,d5,g5,b5]@3, ~@3 d3@6 g3@10 b6 c7 b6 g6 d6@2 b5 g5 d5@2 g5@4 ~@8 c4@4 ~@9 d4@3 ~@9 g4@7 d5@2 g5@5 ~ g4@15, ~@5 a4@3 ~@8 b4@17 d5@9 c5@3 ~@8 [d5,d6]@4 [d5,g5]@10 ~@4 g5@2 a5@7 ~@16, ~@6 d5@3 d5@9 g4@15 [c3,g5]@12 [d3,e5]@12 g3@12 [g3,d6]@11 ~@16, ~@7 f#5@2 g5@8 f#5@16 e5@10 d5@2 [f#5,a5]@10 ~@2 b5@14 b5@9 ~@16]/8", // F#m G5 G D G5 C5 Dsus2 G5 …
P: "[~@14 g4@2 ~@24 b4 ~@7 e3@5 ~ [e3,b4,a5]@6 [b4,b5]@6 a3 ~@19 [b4,d5,a5]@4 ~@22 g5@2 ~@26 [b4,d5]@2 d5@2, ~@6 g3@12 [e3,e5]@23 ~@25 [g3,g5]@23 ~ [g3,b4,d5]@24 [e3,e5]@30, ~@10 b4@4 ~@2 b4@22 ~@4 [b4,d5,g5]@11 ~ d5@12 [b4,d5]@20 ~@22 d6@6 ~@30, ~@6 g5@14 ~@25 g5@10 b5@2 ~@12 e4@3, ~@12 d5@7 ~@17 e4@30 ~@18 g4@6 ~@12 g4@12 ~@10 b4@16 ~@4]/6", // Esus4 B Bm7 Bm E G E G …
Q: "[~@3 [c5,f5]@2 [c5,f5,a5]@4 ~@11 g5 ~@11 e5 ~@11 a4 b4@7 ~@15 d5@2 ~@4 c4@4 ~@3 e5 ~@10 [f#5,a5]@2 [g4,g5,b5,g6]@3, ~@3 [f4,b5]@6 [g3,b4,d5]@12 c3@10 g5@2 ~@6 d3@6 g3@10 b6 c7 b6 g6 d6@2 b5 g5 d5@2 g5@4 ~@8 c4@4 ~@9 d4@3 ~@3, ~@9 g5@10 b5@2 g5@8 e5 [c5,c6]@3 d5@9 d5@3 d5@9 g4@15 [c3,g5]@12 [d3,e5]@12 ~@3, ~@15 g4@6 e5@6 c4@6 [d4,e5]@12 ~@7 b4@17 d5@9 c5@3 ~@8 [d5,d6]@4 ~@3, ~@18 d6@3 c6@8 d6@4 ~@8 a4@2 f#5@2 g5@8 f#5@16 e5@10 d5@2 [f#5,a5]@10 ~@5]/8", // F5 F F#m G Fdim G C C5 …
R: "[[g5,b5,g6]@5 ~ [g5,b5,g6]@5 ~ [c4,g5,c6,e6]@3 ~ [c4,g5,c6]@2 c#4@6 d4@4 [g3,g5,b5,d6,g6]@26 ~@18, g3@6 b3@6 ~@4 e6@11 ~@45, ~@9 c#6@4 ~@23, ~@18 g5 ~@53]/3", // G C C5 G
})).s("gm_rock_organ").gain(0.29)
// other · electric guitar muted · "E.guitar"
const electric_guitar_muted = note("<A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC ~@101>".pickRestart({
A: "~@18 b2@2 e3 ~ b2 ~", B: "e3 ~ b2 ~ e3 ~ b2@2 g2 ~ b2 ~ e2@2 g2 ~ b2 ~ b2 ~ e3 ~ b2 ~",
C: "e3 ~ b2@2 e3 ~ b2@2 g2 ~ b2 ~ e2 ~ g2 ~ b2 ~ d2 ~ f#2 ~ a2 ~",
D: "a2 ~ d3 ~ a2 ~ d3 ~ a2 ~ d3 ~ a2 ~ f#2 ~ a2 ~ d2@2 f#2 ~ a2 ~",
E: "a2 ~ d3 ~ a2 ~ d3@2 a2 ~ d3 ~ a2 ~ f#2 ~ a2 ~ e2@2 g2 ~ b2 ~",
F: "b2 ~ e3 ~ b2 ~ e3 ~ b2 ~ e3 ~ b2 ~ g2 ~ b2 ~ e2@2 g2 ~ b2 ~",
G: "b2 ~ e3 ~ b2 ~ e3 ~ b2@2 e3@2 b2 ~ g2 ~ b2 ~ d2 ~ f#2 ~ a2 ~",
H: "a2 ~ d3 ~ a2 ~ d3@2 a2 ~ d3 ~ a2 ~ f#2 ~ a2 ~ d2@2 f#2 ~ a2 ~",
I: "a2 ~ d3 ~ a2 ~ d3@2 a2 ~ d3@2 a2 ~ f#2 ~ a2 ~ e2 ~ g2 ~ b2 ~",
J: "e3 ~ b2 ~ e3 ~ b2 ~ g2 ~ b2 ~ e2 ~ g2 ~ b2 ~ e2 ~ g2 ~ b2 ~",
K: "e3 ~ b2@2 e3 ~ b2@2 g2@2 b2 ~ e2 ~ g2 ~ b2 ~ d2 ~ f#2 ~ a2 ~",
L: "d3 ~ a2 ~ d3@2 a2 ~ f#2 ~ a2 ~ d2@2 f#2 ~ a2 ~ d2@2 f#2 ~ a2 ~",
M: "d3 ~ a2 ~ d3@2 a2 ~ f#2 ~ a2 ~ d2 ~ f#2 ~ a2 ~ e2@2 g2 ~ b2 ~",
N: "e3 ~ b2 ~ e3 ~ b2@2 g2 ~ b2 ~ e2@2 g2 ~ b2@2 e2 ~ g2 ~ b2@2",
O: "e3 ~ b2 ~ e3 ~ b2@2 g2@2 b2 ~ e2@2 g2 ~ b2 ~ d2@2 f#2 ~ a2 ~",
P: "d3 ~ a2 ~ d3 ~ a2 ~ f#2 ~ a2 ~ d2@2 f#2 ~ a2 ~ d2@2 f#2 ~ a2 ~",
Q: "d3 ~ a2 ~ d3@2 a2 ~ f#2 ~ a2@2 d2@2 f#2 ~ a2 ~ d2 ~ g2 ~ b2 ~",
R: "d3 ~ b2@2 d3 ~ b2 ~ g2@2 b2@2 d2 ~ g2 ~ b2 ~ d2@2 g2 ~ b2 ~",
S: "d3 ~ b2 ~ d3 ~ b2 ~ g2 ~ b2@2 d2 ~ g2 ~ b2 ~ e2 ~ g2 ~ b2 ~",
T: "e3 ~ b2 ~ e3 ~ b2 ~ g2@2 b2 ~ e2 ~ g2 ~ b2 ~ e2 ~ g2 ~ b2 ~",
U: "e3 ~ b2 ~ e3 ~ b2 ~ g2@2 b2@2 e2 ~ g2 ~ b2 ~ d2@2 f#2 ~ a2 ~",
V: "d3 ~ a2 ~ d3 ~ a2 ~ f#2 ~ a2@2 d2 ~ f#2@2 a2 ~ c2@2 e2 ~ g2 ~",
W: "c3@2 g2 ~ c3@2 g2@2 e2@2 g2@2 c2 ~ e2 ~ g2 ~ d2@2 f#2 ~ a2 ~",
X: "d3 ~ a2@2 d3@2 a2 ~ f#2 ~ a2@2 d2 ~ f#2@2 a2 ~ c2@2 e2 ~ g2 ~",
Y: "c3@2 g2@2 c3@2 g2@2 e2@2 g2@2 c2 ~ e2 ~ g2 ~ d#2 ~ g2 ~ a#2 ~",
Z: "d#3 ~ a#2 ~ d#3@2 a#2@2 g2 ~ a#2@2 d#2 ~ g2@2 a#2 ~ f2@2 a2 ~ c3@2",
AA: "f3@2 c3@2 a2@2 f2 ~ a2 ~ c3 ~ f3 ~ a3 ~ c4 ~ g2 ~ b2 ~ d3@2",
AB: "g3@2 d3@2 b2@2 g2@2 b2 ~ d3@2 g3 ~ b2@2 d3@2 g2@2 b2 ~ d3@2",
AC: "g3 ~ d3@2 g3@2 d3 ~ b2@2 d3 ~ g2@2 b2 ~ d3@2 ~@6",
})).s("gm_electric_guitar_muted").gain(0.64)
// chords · string ensemble 2 · "Strings"
const string_ensemble_2 = note("<~@16 A@5 B@8 ~@31 C@5 D@4 ~@31 C@5 D@4 ~@11 C@5 D@4 ~>".pickRestart({
A: "[~@65 e5@49 [f#5,a5]@6, ~@3 d5@17, ~@18 [b4,g5]@97 ~@5, ~@19 g4@48 ~@53]/5", // F#m Em
B: "[~@67 e6@23 ~@48 [b5,d6,g6,b6]@48 ~@6, ~@17 [c5,g5]@25 [d5,f#5,a5,d6]@25 g5@49 ~@76, ~@9 [e5,c6]@13 ~@11 [e5,c6]@12 [d#5,a#5,d#6]@13 ~@38, ~@57 f5@14 ~@25, ~@57 [a5,c6,f6]@13 ~@26]/8", // G C5 D C D#5 F
C: "[~@18 [g3,c4,e4]@24 ~ a3@23 ~@12 e3@3 ~@33 [c4,e4]@6, ~@7 d4@12 ~, ~@7 f#4@4 g4@9, ~@66 b3@49 ~@5, ~@66 g3@47 ~@7]/5", // C
D: "[~@12 c5@6 [f#4,a4]@24 [g3,b3,g4]@47 ~@7, ~@18 d4@71 ~@7, ~@18 d#4 ~@77]/4", // F#m G
})).s("gm_string_ensemble_2").gain(0.26)
// drums · kick
const kick = s("bd").struct(`<
~@5 A B A C ~@4 A ~@2 D ~@3 C@8 E F@7 G F@3 H F G F@13 I F@3 J F@3 K F@3 K F@7 G F@3 H F G F@13 I F@3 J F@3 K F@3 K
F@7 I F@3 J F@3 K F@2 L M ~
>`.pickRestart({
A: "~@8 x!2 ~@2", B: "~@9 x ~ x", C: "~@3 x", D: "~@3 x ~@2 x ~@3 x ~@7 x ~@5", E: "~@7 x!3 ~ x",
F: "~@2 x!2 ~ x ~@3 x ~ x", G: "~@2 x!2 ~ x ~@2 x!2 ~ x", H: "~@4 x ~ x ~@2 x!2 ~@5 x ~ x ~@3 x ~",
I: "~@4 x ~ x ~@3 x ~ x!2 ~@2 x ~ x ~@3 x ~", J: "~@2 x!2 ~ x!5 ~ x", K: "~@2 x!2 ~@2 x ~@2 x ~ x",
L: "~@2 x!2 ~ x ~@3 x ~@2", M: "x!2 ~@4",
})).gain(0.51)
// drums · rim
const rim = s("rim").struct("<~@63 A ~@3 A ~@35 A ~@3 A ~@15 A ~@6>".pickRestart({
A: "~@3 x ~ x ~@6",
})).gain(0.51)
// drums · snare
const snare = s("sd").struct(`<
~@28 A B@7 C B@5 C B@5 D B@3 E B@3 F B@3 F B@3 F B@3 F B@7 C B@5 C B@5 D B@3 E B@3 F B@3 F B@3 F B@3 F B@3 E B@3 F B@3
F B@3 F B@2 G ~@2
>`.pickRestart({
A: "~@2 x", B: "x!2", C: "x ~@3 x!5 ~@3", D: "x ~@5 x ~ x!3 ~ x ~@11", E: "x ~@2 x!2 ~", F: "x", G: "x!2 ~@4 x!3 ~@3",
})).gain(0.51)
// drums · low tom
const low_tom = s("lt").struct(`<
~@6 A ~@5 B ~@8 C@2 ~@4 D E ~@19 C ~@7 C ~@3 F ~@3 G ~@3 H ~@19 C ~@7 C ~@3 F ~@3 G ~@3 H ~@7 C ~@3 F ~@3 G ~@3 I ~
>`.pickRestart({
A: "~@17 x ~@6", B: "~@7 x ~@4", C: "~@2 x", D: "~@6 x ~@3 x ~@3 x!3 ~@3 x!2 ~@2", E: "~ x", F: "~@6 x!3 ~@3",
G: "~@2 x ~@4 x!2 ~@3", H: "~@2 x ~@4 x ~@4", I: "~ x ~@10",
})).gain(0.51)
// drums · low tom · soft notes
const low_tom_soft = s("lt").struct("<~@60 [~@4 x!2 ~@6] ~@39 [~@4 x!2 ~@6] ~@19 [~@4 x!2 ~@6] ~@9>").gain(0.31)
// drums · hihat
const hihat = s("hh").struct(`<
~ A ~ B ~@4 C D E ~@8 F G ~@7 H I@7 J I@3 K I@15 J I@3 J I@2 L H I@2 L H I@7 J I@3 K I@15 J I@3 J I@2 L H I@2 L H I@7
J I@3 J I@2 L H I@2 M ~@2
>`.pickRestart({
A: "~@4 x!5 ~@3", B: "~@16 x ~ x ~@4 x", C: "~@5 x!2 ~ x ~@3", D: "~@8 x!2 ~ x", E: "~@2 x", F: "~@4 x!3 ~@5",
G: "~ x ~@4", H: "~@9 x!3", I: "x!12", J: "x!4 ~@5 x!3", K: "x!9 ~ x!2", L: "x!11 ~", M: "~@2 x ~ x!4 ~@4",
})).gain(0.36)
// drums · mid tom
const mid_tom = s("mt").struct(`<
~@6 A ~@14 B C ~@4 D E ~@19 C ~@7 F ~@7 G ~@3 H ~@19 C ~@7 F ~@7 G ~@3 H ~@7 F ~@7 G ~@3 I ~
// … 30 more lines
More by Berte
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.