0:00/0:00
// Supplique pour etre enterre a la plage de Sete — Brassens Georges
// 112 bpm, 4/4, key B minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 221 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(112/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 · "basse"
const bass = note(`<
A B C D E F G H I J G K C D L M J N O P Q R S T U V W X Y Z AA AB AC AD O P AE AF AG AH U V W X AI A AJ AK O AL AI A
AE AF AM AN U O W X O P AJ AO O AP O P AE AF AG AH AQ O W X Y Z AJ AK A B O P Q R AR T AQ AS W X AI A AT AU O AV AI A
Q R W AH U AS AW AM O P AX AK O AY O P AE AF AZ AN U V W X O P AA AB AC BA O P Q R AR T U AS AW AM O P BB AU A BC C D
BD BE G BF BG J BH BI C D BJ BK J N C D E F G H I J G K C D L M J N O P Q R S T U V W X Y Z AA AB AC AD O P AE AF AG
AH U V W X AI A AG AH U V W X Y Z AA AB AC AD ~@3
>`.pickRestart({
A: "b1@8 c#2@8 d2@8 f#2@7 ~", B: "g2 ~ g2@2 f#1 ~ f#1@2", C: "b1 f#2", D: "b1@16 f#2@13 ~@3", E: "f#1@15 ~ c#2@16",
F: "f#2@16 c#2@8 f#1@7 ~", G: "e2 b2", H: "a1@11 ~@2 a1@3 c#2@16", I: "d2 a2", J: "b1@11 ~@5 b1@16",
K: "e2@16 b2@13 ~@3", L: "g2 d3", M: "f#2 c#2", N: "g1 f#1", O: "b1@5 ~@3 b1@8 f#2@5 ~@3 f#2@8",
P: "b2@5 ~@3 b2@7 ~ f#2@5 ~@3 f#2@6 ~@2", Q: "f#2 c#3 a#2 g#2", R: "f#2@8 g#2@8 a#2@8 c#3@7 ~",
S: "e2@5 ~@3 e2@8 b2@5 ~@3 b2@8", T: "a1@8 b1@8 c#2@8 e2@7 ~", U: "d2@8 e2@8 f#2@8 a2@7 ~",
V: "b1@8 c#2@8 d#2@8 f#2@7 ~", W: "e1@5 ~@3 e1@8 b1@5 ~@3 b1@8", X: "e2@5 ~@3 e2@7 ~ b1@5 ~@3 b1@6 ~@2",
Y: "b1 c#2 d2 f#2", Z: "b2@5 ~@3 b2@8 f#2@5 ~@3 f#2@6 ~@2", AA: "g1@5 ~@3 g1@8 d2@5 ~@3 d2@8", AB: "f#1 f#2 c#2 f#1",
AC: "b1 f#2 d2 b1", AD: "g1 ~ g1@2 f#2 ~ f#2@2", AE: "f#1@5 ~@3 f#1@8 c#2@5 ~@3 c#2@8",
AF: "f#2@5 ~@3 f#2@7 ~ c#2@5 ~@3 c#2@6 ~@2", AG: "e1 e2 b1 e1", AH: "a1@5 ~@3 a1@8 e2@5 ~@3 e2@8",
AI: "b1 f#2 d2 c#2", AJ: "g2@8 a2@8 b2@8 d3@7 ~", AK: "f#2@5 ~@3 f#2@8 c#2@6 ~@2 c#2@8", AL: "g2@2 d3@2 f#2 ~ f#2@2",
AM: "e2@8 f#2@8 g2@8 b2@7 ~", AN: "a1 e2 c#2 a1", AO: "f#2 c#3 a#2 f#2", AP: "g2 ~ g2@2 f#2@2 c#3@2",
AQ: "d2 a2 f#2 d2", AR: "e2@5 ~@3 e2@8 b1@6 ~@2 b1@8", AS: "b1 f#2 d#2 b1", AT: "g1 g2 d2 g1",
AU: "f#2@5 ~@3 f#2@8 c#3@5 ~@3 c#3@8", AV: "g1 ~ g1@2 f#2@2 c#2@2", AW: "e2 b2 g2 f#2",
AX: "g2@5 ~@3 g2@8 d2@6 ~@2 d2@8", AY: "g2@2 d3@2 f#1 ~ f#1@2", AZ: "e2 b2 g2 e2", BA: "g2 d3 f#2 c#3",
BB: "g2@5 ~@3 g2@8 d3@5 ~@3 d3@8", BC: "g2 d3 f#2 c#2", BD: "f#2 c#3", BE: "f#2@16 c#3@13 ~@3", BF: "a1@11 ~@5 a1@16",
BG: "d2@11 ~@5 d2@16", BH: "e1 b1", BI: "e1@16 b1@13 ~@3", BJ: "g2 d2", BK: "f#2@11 ~@5 f#2@16",
})).s("gm_acoustic_bass").gain(0.56)
// chords · piano
const piano = note(`<
~@50 A B C D E F G H I@3 J K L M N ~@32 O@2 C D P@2 Q R@2 S O@2 T U V@2 W B X@2 E Y Z AA AB AC AD J AE AF AG AH@2 ~@15
W B C D AI AJ Z AK AL S AD J AM AN AG AO AD J AP AQ AR AS AT AU AB AC AD J K AV AW AX ~@16 W B X@2 AY AZ@2 AA BA@2 AD
J AY AZ@2 AA I@3 J K BB@2 BC ~@3
>`.pickRestart({
A: "~@16 [b3,d4,f#4]@3 ~@13", B: "[f#3,b3,d4,f#4]@3 ~@13 d5@5 f#4@5 ~@6, ~@13 f#4@5 ~@14, ~@8 [f#3,b3,d4]@7 ~",
C: "~@4 [a#3,c#4,e4,f#4] ~@3, f#3@5 ~@3", // F#7
D: "[f#3,a#3,c#4,e4,f#4]@4 ~@12 c#5@5 f#4@5 ~@6, ~@13 e4@16 ~@3, ~@13 f#4@5 ~@14, ~@8 [f#3,a#3,c#4]@7 ~", // F#7 F#
E: "[g3,b3,e4,g4]@13 ~@3 [b3,e4,g4]@16", F: "~@25 e4@5 c#4@2, ~ e3@31, ~ [g3,a3]@15, ~ c#4@10 a4@5, ~@17 c#5@15",
G: "~@9 d5@5 f#5@18, ~ [a3,d4,f#4]@31, ~@3 a4@3 ~@10", // D
H: "~@16 b4@5 f#4@5 ~@6, d#4@31 ~, [f#3,a3]@7 ~, f#4@17 ~@15, ~@3 b3@28 ~", // F#m
I: "[[g3,b3,e4,g4]@26 ~@3 g4@4 ~@4 g4@3 g5@3 ~@2 g5@3 e5@5 g4@4 ~@5 [f#3,b3,d4,f#4]@19 ~@4 [b3,d4,f#4]@8 ~@3, ~@29 [g3,b3,e4]@30 ~@37]/3", // Em Bm Em
J: "[f#3,b3,d4,f#4]@18 ~@3 [b3,d4,f#4]@8 ~@3", K: "[b3,d4,g4,b4]@13 ~@3 [d4,g4,b4]@16",
L: "~@25 f#4@5 e4@2, ~ f#3@31, ~ [a#3,c#4]@15, ~ e4@10 c#5@5, ~@17 e5@15", // A#m
M: "~ f#3@2 ~@14 d5@5 ~ d4@5 ~@4, [d3,b3]@3 ~@11 b3@16 ~@2, ~@7 d4@3 ~@6, ~@15 [d3,f#3]@16 ~", // G D
N: "~@13 d5@3 ~@14 f#4@2, [d3,g3,b3] [f#3,a#3,c#4,e4], ~@5 d4@9 ~@13 c#5@5, ~@8 g4@7 ~@10 e5@7, ~@11 b4@4 ~@7 f#5@10", // G F#7
O: "[[f#3,b3,d4,f#4]@26 ~@3 f#4@4 ~@4 f#4@3 f5@3 ~@2 f#5@3 d5@5 f#4@4 ~@7, ~@29 [f#3,b3,d4]@30 ~@5]/2", // Bm
P: "[~@7 g5 b5@2 ~ e5 [e4,g4]@3 ~@8 c#5 e5@2 ~ a4 [a3,c#4]@3 e4, e3@11 ~@5 b3@15 ~ a2@11 ~@5 e3@15 ~, ~@8 [e4,g4]@9 ~@7 g5@3 ~@3 b4@13 ~@13 c#5@3 ~@5, ~@40 [a3,c#4]@9 ~@15]/2", // Em A Em A
Q: "~@8 f#5@4 ~@4 d5@4 ~@2 a4@5 ~@5, [a3,d4,f#4]@15 ~, ~@3 d5@2 ~@2 a5@2 ~@7", // D
R: "[~@16 b4@5 f#4@5 ~@4 [g3,b3,e4,g4]@19 ~@4 [b3,e4,g4]@8 ~@3, [f#3,a3,d#4]@29 ~@35, f#4@17 ~@47, ~@3 b3@27 ~@34]/2", // Em D#dim
S: "[g3,b3,e4,g4]@18 ~@3 [b3,e4,g4]@8 ~@3", T: "~@6 d4@3 e5@4 ~ d5@17 ~, [b2,d3,e3,g3]",
U: "~@7 a#4 c#5@2 ~ f#4 [f#3,a#3]@3 c#4, f#2@11 ~@5 c#3@15 ~, ~@8 [f#3,a#3]@9 ~@7 a#4@3 ~@5", // F#
V: "[[f#3,b3,d4,f#4]@16 ~@5 [f#3,b3,d4,f#4]@8 ~ [b3,d4,g4,b4]@15 ~@8 c#4@3 a#4@4 ~ c#5@3, ~@3 [c#3,e3,f#3,a#3]]/2", // Bm G F#7
W: "~@16 [b3,d4,f#4]@3 ~@13, f#3@5 ~@3", // Bm
X: "[[f#3,a#3,c#4,e4,f#4]@26 ~@3 f#4@4 ~@4 f#4@3 d#5@3 ~@2 e5@3 c#5@5 f#4@4 ~@7, ~@29 [f#3,a#3,c#4,e4]@30 ~@5]/2", // F#7
Y: "~@3 c#5@9 a4@2 ~@2, c#4@29 ~@3, c5@3 ~@13, ~ [e3,g3,a3,e5]@29 ~@2", // A7
Z: "[a3,d4,f#4,a4]@16 ~@5 [a3,d4,f#4,a4]@9 ~@2", // D
AA: "d#5@5 ~@3 a4@4 ~ f#4@3 d#4@5 b3@6 ~@5, a3@7 ~, b3@5 ~@3, ~@5 c#5@5 ~@22", AB: "~@16 [b3,e4,g4]@3 ~@13, g3@5 ~@3",
AC: "[g3,b3,e4,g4]@3 ~@13 e5@5 g4@5 ~@6, ~@13 g4@5 ~@14, ~@8 [g3,b3,e4]@7 ~", // Em
AD: "[f#3,b3,d4,f#4]@17 ~@4 [b3,d4,f#4]@8 ~@3", // Bm
AE: "~ b3@2 ~@14 g5@5 ~ g4@5 ~@4, [g3,d4]@3 ~@11 d4@16 ~@2, ~@7 g4@3 ~@6, ~@15 [g3,b3]@16 ~", // G5 G
AF: "~ a#4@5 g#4@3 f#4@4 ~ e4@4 c#4@4 a#3@4 g#3@4 f#3@2, ~ [c#3,e3]@31, ~ f#3@21 ~@10, ~ a#3@16 ~@15", // C#m
AG: "[f#3,b3,d4,f#4]@16 ~@5 [f#3,b3,d4,f#4]@9 ~@2", // Bm
AH: "[~@13 d5@3 ~@5 f#4@8 ~ [f#3,b3,d4,f#4]@28 ~@6, [d3,g3,b3]@16 [f#2,a#3,c#5]@13 ~@35, ~@5 d4@9 ~@50, ~@8 g4@7 ~@49, ~@11 b4@4 ~@49]/2", // Bm G F#
AI: "~ g3@2 ~@14 e5@5 ~ e4@5 ~@4, [e3,b3]@3 ~@11 b3@16 ~@2, ~@7 e4@3 ~@6, ~@15 [e3,g3]@16 ~", // E5 Em
AJ: "~@5 g4@3 f5@3 ~@2 f#5@4 e5@5 c#5@3 b4@4 a4@3, [e3,g3,c#4], ~ a3@31", // C#dim
AK: "~@8 [d5,f#5]@4 ~ [d#5,f#5]@8 b4@3 a4@5 f#4@3, [a3,b3,d#4], ~@5 b4@5 ~@22", // D D#m B7
AL: "[g3,b3,e4,g4]@17 ~@4 [b3,e4,g4]@8 ~@3", AM: "~@8 a#4@3 ~@3 b4@4 ~@6 e4@3 ~@3 d4@2, [d3,g3,b3], ~@11 g4@2 ~@3",
AN: "~@5 e4@3 d5@3 ~@2 d#5@4 c#5@5 a#4@3 g#4@4 f#4@3, [c#3,e3,a#3], ~ f#3@31", // A#dim
AO: "[b3,d4,g4,b4]@13 ~@3 [f#3,a#3,c#4,e4]@16", AP: "[f#3,a#3,c#4,e4]@17 ~@4 [a#3,c#4,e4,f#4]@8 ~@3",
AQ: "[f#3,a#3,c#4,e4]@18 ~@3 [a#3,c#4,e4,f#4]@8 ~@3", AR: "~@16 e5@5 g4@5 ~@6, [g3,b3]@7 ~, g4@17 ~@15, ~@3 e4@28 ~",
AS: "[e3,g3,a3,c#4]@16 ~@5 [e3,g3,a3,c#4]@9 ~@2", // A7
AT: "~@8 f5@3 ~@3 f#5@4 ~@6 b4@3 ~@3 a4@2, [a3,d4,f#4], ~@11 d5@2 ~@3", // D
AU: "[f#3,a3,b3,d#4]@13 ~@3 [a3,b3,d#4,f#4]@16", AV: "[f#3,a#3,c#4,e4]@13 ~@3 [a#3,c#4,e4,f#4]@16",
AW: "~@16 d5@5 f#4@5 ~@6, [f#3,b3]@7 ~, f#4@17 ~@15, ~@3 d4@28 ~", // B5
AX: "[b3,d4,g4,b4]@13 ~@8 f#4@10 ~, ~@16 [f#2,a#3,c#5]@15 ~", AY: "[g3,b3,e4,g4]@16 ~@5 [g3,b3,e4,g4]@9 ~@2",
AZ: "[~@25 e4@4 ~@11 f5@3 ~@3 f#5@4 ~@6 b4@3 ~@3 a4@2, ~ e3@28 ~@35, ~ [g3,a3]@14 [a3,d4,f#4]@17, ~@2 c#4@20 a4@7 ~@35, ~@17 c#5@12 ~@25 d5@4 ~@6]/2", // Gsus2 D
BA: "[[g3,b3,e4,g4]@26 ~@3 g4@4 ~@4 g4@3 g5@3 ~@2 g5@3 e5@5 g4@4 ~@7, ~@29 [g3,b3,e4]@30 ~@5]/2", // Em
BB: "[~ a#4@5 g#4@3 f#4@4 ~ e4@4 c#4@4 a#3@4 g#3@4 ~@16 d5@2 f#5@4 ~@2 b4@2 [b3,d4]@6 f#4@2, ~ [c#3,e3]@28 ~ b2@13 ~@21, ~ f#3@21 ~@26 f#3@15 ~, ~ a#3@16 ~@23 [b3,d4]@9 ~@7 d5@3 ~@5]/2", // Bm C#m Bm
BC: "[b3,d4,g4,b4]@13 ~@11 e4@5 c#4@3, ~ [c#3,e3,f#3,a#3], ~@4 a#4@3 ~, ~@21 f#4@5 ~@6", // G F#7
})).s("gm_piano").gain(0.31).pan(0.2)
// chords · vibraphone
const vibraphone = note(`<
A B ~@14 A B ~@2 C@2 D E F G H@2 I@2 J K A B ~@16 I@2 C@2 D E F G H@2 I@2 J K L M I@2 C@2 D E F G H@2 I@2 J K L M I@2
C@2 D E F G H@2 I@2 J K L M ~@16 I@2 C@2 D E F G H@2 I@2 J K L M I@2 C@2 D E F G H@2 I@2 J K L M ~@32 I@2 C@2 D E F G
H@2 I@2 J K L M I@2 C@2 D E F G H@2 I@2 D E F G H@2 I@2 J K L M ~@3
>`.pickRestart({
A: "a#3 b3@5 ~@2 d4@6 ~@2 f#4@7 ~@2 b4@6 ~", B: "g4@3 ~@2 g4@2 ~ g4@5 ~@3 f#4@5 f#4@2 ~ f#4@4 ~@4",
C: "[e3,a#3,c#4,f#4]/2", D: "[e3,b3,e4,g4]", E: "[c#3,g3,a3,e4]", F: "[f#3,d4,f#4,a4]", G: "[d#3,a3,b3,f#4]",
H: "[e3,b3,e4,g4]/2", I: "[d3,b3,d4,f#4]/2", J: "[g3,d4,g4,b4]", K: "[e3,a#3,c#4,f#4]", L: "[d3,b3,d4,f#4]",
M: "[g3,d4,g4,b4] [e3,a#3,c#4,f#4]", // G F#7
})).s("gm_vibraphone").gain(0.12).pan(0.9)
// chords · acoustic guitar nylon · "guitare"
const acoustic_guitar_nylon = note(`<
A B A C D E F G H I F J A C K D A B A C D E F G H I F J A C K D A B A C D E F G H I F J A C K D A B A C D E F G H I F
J A C K D A B A C D E F G H I F J A C K D A B A C D E F G H I F J A C K D A B A C D E F G H I F J A C K D A B A C D E
F G H I F J A C K D A B A C D E F G H I F J A C K D A B A C D E F G H I F J A C K D A B A C D E F G H I F J A C K D A
B A C D E F G H I F J A C K D A B A C D E F G H I F J A C F G H I F J A C K D A B ~@3
>`.pickRestart({
A: "~ d4@7 [b2,f#3,d4]@2 ~@6 [b2,f#3]@8 ~ d4@2 ~@5, [b2,f#3]@4 ~@8 [b2,f#3] ~@3", // Bm B5
B: "~ g4@7 [g2,b3,g4]@2 ~@7 e4@7 [f#2,a#3,e4]@2 ~@6, [g2,b3] ~ [f#2,a#3] ~", // G F#7 G F#
C: "~ [f#3,d4]@7 ~ [b2,d4]@2 ~@6 d4@7 [b2,f#3,d4]@3 ~@5, b2@4 f#3 ~@3 [b2,f#3]@4 ~@4", // D Bm B5
D: "~ e4@7 [f#2,a#3,e4]@2 ~@6 [f#2,a#3]@8 ~ e4@2 ~@5, [f#2,a#3]@4 ~@8 [f#2,a#3] ~@3", // F#7 F#
E: "~ [a#3,e4]@7 ~ [f#2,e4]@2 ~@6 e4@7 [f#2,a#3,e4]@3 ~@5, f#2@4 a#3 ~@3 [f#2,a#3]@4 ~@4", // A#dim F#7 F#
F: "~ e4@7 [e2,g3,e4]@2 ~@6 [e2,g3]@8 ~ e4@2 ~@5, [e2,g3]@4 ~@8 [e2,g3] ~@3", // Em
G: "~ c#4@7 [a2,g3,c#4]@2 ~@6 [a2,g3]@8 ~ c#4@2 ~@5, [a2,g3]@4 ~@8 [a2,g3] ~@3", // A7
H: "~ f#4@7 [d3,a3,f#4]@2 ~@6 [d3,a3]@8 ~ f#4@2 ~@5, [d3,a3]@4 ~@8 [d3,a3] ~@3", // D D5
I: "~ d#4@7 [b2,a3,d#4]@2 ~@6 [b2,a3]@8 ~ d#4@2 ~@5, [b2,a3]@4 ~@8 [b2,a3] ~@3", // B7
J: "~ [g3,e4]@7 ~ [e2,e4]@2 ~@6 e4@7 [e2,g3,e4]@3 ~@5, e2@4 g3 ~@3 [e2,g3]@4 ~@4", // C E Em
K: "~ g4@7 [g2,b3,g4]@2 ~@6 [g2,b3]@8 ~ g4@2 ~@5, [g2,b3]@4 ~@8 [g2,b3] ~@3", // G
})).s("gm_acoustic_guitar_nylon").gain(0.21).pan(0.4)
// chords · acoustic guitar nylon · "guitare" · soft notes
const acoustic_guitar_nylon_2 = note(`<
A ~ A ~ B ~ B C D E B ~ A ~ F B A ~ A ~ B ~ B C D E B ~ A ~ F B A ~ A ~ B ~ B C D E B ~ A ~ F B A ~ A ~ B ~ B C D E B
~ A ~ F B A ~ A ~ B ~ B C D E B ~ A ~ F B A ~ A ~ B ~ B C D E B ~ A ~ F B A ~ A ~ B ~ B C D E B ~ A ~ F B A ~ A ~ B ~
B C D E B ~ A ~ F B A ~ A ~ B ~ B C D E B ~ A ~ F B A ~ A ~ B ~ B C D E B ~ A ~ F B A ~ A ~ B ~ B C D E B ~ A ~ F B A
~ A ~ B ~ B C D E B ~ A ~ F B A ~ A ~ B ~ B C D E B ~ A ~ B C D E B ~ A ~ F B A ~@4
>`.pickRestart({
A: "~@17 d4@8 ~@7", B: "~@17 e4@8 ~@7", C: "~@17 c#4@8 ~@7", D: "~@17 f#4@8 ~@7", E: "~@17 d#4@8 ~@7",
F: "~@17 g4@8 ~@7",
})).s("gm_acoustic_guitar_nylon").gain(0.15).pan(0.4)
// chords · piano · "solo"
const piano_2 = note("<~@65 A B C D E F G H I ~ J K L M N B O ~@139>".pickRestart({
A: "~@29 g#4@3", B: "~ g#4@2 a4@5 ~@6 b4@6 ~@2 d4 ~ a4@4 f#4@3 ~, ~ c#5@6 ~@7 g4@2 ~@8 f4@3 ~@5",
C: "~@6 b3 ~ f4@2 f#4@2 ~@5 e4@11 ~ b3@2 ~, ~@8 a4@5 ~@3 g#4@12 ~@4, ~@17 d4@3 ~@12",
D: "c#4@2 ~@7 [f#4,f#5]@4 ~@4 a4 a#4@4 ~@3 d#5@4 ~@3, ~@17 g#4@2 ~@13", // F#
E: "[e4,e5]@3 ~@5 [d#4,d#5]@2 ~@4 c#5@2 ~@5 f#5@2 ~@7 [f#4,f#5]@2, ~@14 c#4 ~@6 f#4 ~@10", // E D# F#
F: "~@9 e4@3 ~@2 f#4@2 ~ g4@4 ~ a4@2 ~ a#4@2 ~@2 c5@2 ~",
G: "~@3 [g4,a4]@2 e4@2 ~@2 [f#4,c#5]@4 ~ c#4@2 ~ e4@3 ~@2 e4@2 ~ f#4@4 e4 ~@2", // Gsus2 F#5
H: "~@2 a4@4 ~@8 g4@2 ~ f#4@5 ~@8 e4@2", I: "~ d#4@3 ~@2 c4@2 ~ b3@3 ~@2 a3@2 ~ g3@3 ~ f3@2 ~@9",
J: "~@16 g3@4 ~@2 e3@2 ~@3 d#3@2 d3@2 ~",
K: "~ c#3@4 ~ e3@2 ~ f#3@3 ~@2 a3@2 ~@5 a3@2 ~@2 f#3@2 ~ c#3@2 ~@2, ~@27 e3@2 ~@3",
L: "~@3 d3@4 ~@2 e3 ~ f#3@3 e3@14 ~@4, ~@5 f3 ~@10",
M: "~@2 b3@2 ~@2 e4@2 ~ [e3,e4]@4 ~@4 [d3,d4]@5 ~@8 e3@2, ~@6 e3 ~@22 e4@3, ~@30 a#3 ~", // E D
N: "~ c#4@3 ~ d#4@2 ~@2 e4@3 ~ f#4@2 ~@2 g#4@3 ~ a#4@2 ~ b4@3 ~@2 c5@2 ~",
O: "g4@3 ~@3 g4@2 ~ f4@4 ~@4 c#4@3 ~ d#4@2 ~ e4@4 ~@4",
})).s("gm_piano").gain(0.2).pan(0.9)
// chords · piano · "solo" · soft notes
const piano_soft = note("<~@66 A B C ~@2 D ~ E ~@4 F@2 A G ~@139>".pickRestart({
A: "~@9 d4@2 ~@5 g#4@4 ~@12", B: "~@14 b3 ~@17", C: "~@22 c#5@2 ~@6 c#5 ~", D: "~ c#5@5 ~@26", E: "~@25 d#3@3 ~@4",
F: "[~ a#3 ~@12 b3 ~@16 b3@2 ~@31]/2", G: "~@14 d4 ~@17",
})).s("gm_piano").gain(0.1).pan(0.9)
// other · vibraphone · "solo"
const vibraphone_2 = note(`<
~@34 A B ~ C ~ D E F G H I J K L M N ~@47 O@3 P Q G R ~ S T U V W X ~ Y Z ~@48 AA AB AC@2 AD AE AF AG AH AI AJ AK AL
AM AN AO ~@38 G H AP AQ ~
>`.pickRestart({
A: "~@9 d5@4 ~@3 b4@3 ~@10 [f4,b4]@3, ~@9 d4@2 ~@21", // Fdim
B: "~ b4@3 ~ d4 ~@2 [e4,b4]@4 ~@5 d4@6 ~@2 d4@3 ~@4, f#4 ~ f4 ~@13", // E5
C: "~@5 f#3@2 ~ a3@2 a#3@3 ~@3 [b3,f#4]@5 ~@11, ~@5 f#4@8 ~@19", D: "c#4@4 ~ e4@2 ~@2 f#4@4 ~@4 g4@5 ~@10",
E: "~@9 a4@4 ~ g4@3 f#4@3 ~@2 g4@3 a4@4 ~ b4@2", F: "~@2 c5@5 ~@2 a#4@4 ~ b4@11 ~@7",
G: "~@9 b4@4 ~ d5@2 ~ f#5@2 ~@3 a5@3 f#5@3 ~@2 g5@2", H: "~ a5@2 ~@3 g5@3 d5@4 ~@4 d5@3 ~@4 d5@5 ~ g5@2",
I: "~@5 [b4,e5]@3 ~@5 [a4,d5] ~@3 [f#4,b4] ~@3 [f#4,b4]@3 ~ a4 ~@3 [e4,a4] ~@2", // E5 D5 B5 A5
J: "~@5 [d4,f#4]@3 ~@6 b3@2 ~@5 [a3,d4]@2 ~@2 [b3,e4]@4 a3@2 ~, ~@13 e4@3 ~@16", K: "a4@4 ~@4 g4@3 ~@2 g4@3 ~@16",
L: "~@6 f#4@4 g#4@3 ~ c5@3 d#5@4 ~@4 c#5@4 ~@3", M: "~ d5@3 ~@2 f5@3 f#5@4 ~@4 d5@4 ~@8 a#5 b5@2",
N: "~@6 [d5,d6] ~@2 d5@4 ~@9 [g#4,g#5]@3 ~@7, ~@2 d6 ~@5", // D G#
O: "[~@38 b4 ~ f5@2 f#5@2 ~@5 e5@11 ~ b4@2 ~@2 [d5,f#5]@2 ~@3 f#5@2 ~ c#5@4 ~@4 [d5,f#5]@2 ~@3 f#5@2 ~@8, ~@30 c#5@43 ~@23, ~@40 a5@5 ~@3 g#5@12 ~@36, ~@49 d5@3 ~@17 d5@3 ~@13 d5@3 ~@8]/3", // D
P: "~@5 a#4@3 g#4@2 ~@3 g#4@2 ~ e4@8 g#4@4 ~@4", Q: "a#4@3 ~@2 a#4@2 ~@25",
R: "~ a5@2 ~@2 a5@2 ~@2 g5 ~@3 g5@3 ~ e5@7 ~@8", S: "~@7 d#5@3 ~@4 d5@2 ~ c5@3 ~@12, ~@3 d5 ~@12",
T: "~@16 g5@4 ~@2 e5@2 ~@3 d#5@2 d5@2 ~", U: "~ g5@3 ~@2 g5@3 e5@4 ~@4 e5@3 ~@2 g5@3 f5@4 ~ e5@2",
V: "~@8 f5@2 ~ f#5@4 ~@2 [e5,b5]@4 ~ d5@2 ~@6 a4 ~, ~@8 b5@6 ~@3 f5 ~@14", // E5
W: "~ b4@2 ~@3 b4@3 ~@5 b4@4 ~@4 d5@6 ~ b4 ~@2", X: "[c5,g5]@3 ~@2 g5@2 ~@2 g5@4 ~@3 g4@5 ~@11, ~@5 c5 ~@3 a#4 ~@22",
Y: "~@14 f#4 ~@2 a4@3 ~@2 b4@2 ~ b4@4 ~@3", Z: "~ g4@5 ~@3 f4@4 ~@8 b3@2 ~ c4@4 ~@4",
AA: "~ e5@5 c#5@2 ~ d5@4 ~ b4@4 ~@3 c#5@3 ~ d5@3 ~ e5@2 ~",
AB: "[c5,f5] [b4,e5]@6 ~ d5@3 ~@2 [b4,e5]@4 ~@4 [b4,e5]@3 ~@5 [b4,d5]@2 ~", // F5 E5 Bm
AC: "[d#5@4 ~@4 d#5@4 ~@4 d#5@2 e5@4 ~ [c#5,d#5]@2 a#4@3 ~@2 d#5@5 ~@3 d#5@2 ~@6 c#5@2 ~@5 a#4@2 ~@2 c#5@4 ~@3]/2", // C#sus2
AD: "~@9 e5@3 ~@2 f#5@2 ~ g5@4 ~ a5@2 ~ a#5@2 ~@2 c6@2 ~",
AE: "~@3 [g5,a5]@2 e5@2 ~@2 [f#5,c#6]@4 ~ c#5@2 ~ e5@3 ~@2 e5@2 ~ f#5@4 e5 ~@2", // Gsus2 F#5
AF: "~@6 f5@2 ~@6 a5 ~@2 b5@4 ~@8 a5 ~@2", AG: "~@5 g5@2 ~ a5@4 ~ g5 ~@2 a#5@2 b5@4 ~@2 a#5@2 b5@5 ~",
AH: "~ [e5,g5]@4 ~@3 [e5,g5]@8 ~@5 a5 ~@3 d#6@2 e6@4 ~", AI: "~ c6@4 ~@4 c6@2 ~@2 d6@2 ~@6 b5@3 ~ d6@4 ~ b5@2",
AJ: "~@6 d6@3 ~@4 b5@2 ~@2 a5@2 ~@2 a5@2 ~@2 b5@4 ~@3",
AK: "~ [d5,f#5]@2 ~@3 f#5@2 ~ c#5@4 ~@4 [d5,f#5]@2 ~@3 f#5@2 ~@8, ~@5 d5@3 ~@13 d5@3 ~@8", // D
AL: "~ [g4,d5,g5]@2 ~@2 d5 g5 ~@2 [g4,d5,g5]@2 ~@3 [g4,d5,g5]@2 ~ [g4,d5,g5]@2 ~@3 [g4,d5]@2 ~ [g4,g5]@2 ~@2 [g4,g5] ~@2, ~@5 g4@2 ~@15 g5 ~ d5@2 ~@3 d5@2 ~", // G5 G
AM: "~ e5@2 ~@2 c#5@2 ~ b4@3 ~@2 g#4@2 ~ f#4@2 ~@3 e4@2 ~@2 c#4@3 ~ b3@2 ~",
AN: "~@5 d4@3 ~@5 b3@2 ~@2 g#4@3 b3@2 ~@2 [d4,f#4]@7 ~, ~@8 d#4 ~@7", // D
AO: "~@14 [d4,f4]@3 c#4@3 ~@12, ~@13 c4@2 ~@17, ~@14 c#4 ~@17", // Dm
AP: "~@6 e5@3 ~@5 d5@2 ~ b4@2 ~@2 b4@3 ~ a4@2 ~@2 a4@2 ~", AQ: "~ b4@2 ~@3 b4@3 ~@5 b4@18",
})).s("gm_vibraphone").gain(0.2).pan(0.9)
// other · vibraphone · "solo" · soft notes
const vibraphone_soft = note(`<
~@35 A ~@7 B C D E F G H ~@48 I J K L ~@3 M ~ N O P Q ~ R S ~@49 T U V ~ W X ~@2 Y Z J ~@2 AA AB ~@39 B AC P ~
>`.pickRestart({
A: "~@3 f#4 ~@10 b3@2 ~@16", B: "~@14 b4 ~@7 a4@2 ~@8", C: "~@25 e4 ~@6", D: "~ f#4 ~@15 a3@2 ~@11 d4 ~",
E: "~@6 e4 ~@10 e4@7 g4@6 ~@2", F: "~@11 c5 ~@4", G: "~@22 b4@5 ~@5", H: "~@14 b5 ~@17", I: "~@14 b4 ~@17",
J: "~@9 e5@4 ~ b4@2 ~@9 [c#5,e5]@4 ~@3", K: "~@30 e4 ~", L: "~@8 g#4@3 ~@2 a#4@8 ~@11", M: "~@11 a4@3 ~@2",
// … 115 more lines
More by Brassens Georges
Brave MargotC major · 125 bpmChanson pour l'AuvergnatE minor · 180 bpmDans l'eau de la claire FontaineA minor · 110 bpmJ'ai rendez-vous avec vousA major · 133 bpmLe Petit ChevalC major · 190 bpmLe temps ne fait rien a l'affaireA major · 130 bpmLes amoureux des bancs publicsC minor · 126 bpmLes Amours d'antanA major · 134.4 bpm
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.