0:00/0:00
// Les sabots d'Helene — Brassens Georges
// 124 bpm, 2/4, key B minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 170 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(124/2)
// 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.
// other · acoustic guitar nylon · "NylonGtr"
const acoustic_guitar_nylon = note(`<
~ A B C D E F G@2 H@2 I J K L M N O P@2 Q@2 R S T@2 U V W X Y Z ~ AA AB AC AD AE@2 I AF AG AH AI N O AJ AK AG AL AM AN
T@2 U V W AO AP AQ AR AS AT G@2 H@2 I AU AV AW AX AY@2 AZ BA BB BC BD BE T@2 U V W BF BG BH BI BJ BK G@2 BL BM BN BO
BP BQ M N O BR BS Q@2 R S T@2 U V W A B C D E F G@2 H@2 I J K L M N O P@2 Q@2 R S T@2 U V W BT@2 BU BV BW BX BY BZ BL
BM BN BO BP BQ M N O CA CB Q@2 R S T@2 CC CD CE ~
>`.pickRestart({
A: "e3@7 ~ g3@7 ~", B: "a2@3 ~ e3@3 ~", C: "d3 f#3 a3 b3", D: "d4@4 b3@3 ~ a3@4 f#3@4", E: "e3@7 ~ b3@7 ~",
F: "a2@7 ~ c#3@7 ~", G: "[d3@4 f#3@2 ~@2 a3@3 ~ a3@7 ~ a3@7 ~ a3@4]/2",
H: "[e3@3 ~ g3@2 ~@2 b3@4 e4@11 ~ d4@6 ~@2]/2", I: "f#3@4 a#3 ~@3 c#4@4 a#3@3 ~", J: "b3@7 ~ f#3@6 ~@2",
K: "d4@3 ~ f#4@2 ~@2 b4@4 c#5@2 ~@2", L: "b4@4 a#4@8 c#5@3 ~", M: "a#4@3 ~ b4 ~@3 f#4@7 ~", N: "d4@7 ~ b3@7 ~",
O: "~@8 b3@7 ~", P: "[c#4@5 ~@3 f3 f#3 ~ a#3@4 ~@9 f#4@6 ~@2, ~@15 c#4@14 ~@3]/2", Q: "[b3@21 d4@11]/2",
R: "f#3@6 ~@2 a#3@7 ~", S: "b3@7 ~ f#3@7 ~", T: "[b4@15 ~ [e4,g#4]@8 e4@7 ~, ~@15 d4@16 ~]/2", U: "a2@6 ~@2 c#3@7 ~",
V: "d3@8 d3@7 ~", W: "a3@3 ~ a3@6 ~@2 a3@4", X: "e4@3 ~ b4@3 g4 b4@2 ~ e4@3 ~@2, ~@5 g4 ~@2",
Y: "d4@3 ~ c#4@2 ~@2 b3@4 a3@4", Z: "~ a3 b3 d4, f#3 ~", AA: "e4@4 g4@4 e4@2 ~ e4 d4@4, ~@5 g4 ~@2",
AB: "c#4@4 b3@3 ~ c#4@4 d4@4", AC: "b3@4 a3@3 ~ f#3@7 ~", AD: "a3@4 d4@3 ~",
AE: "[e3@3 ~ g3@2 ~@2 b3@4 ~ e4@11 ~ d4@6 ~]/2", AF: "b3@10 ~@2 d4@3 c#4", AG: "b3@10 ~@2 d4@3 ~",
AH: "f#3@7 ~ a#3@7 ~", AI: "b3@8 d4@7 ~", AJ: "c#4@4 f#3@2 ~@2 a#3@4 c#4@3 ~", AK: "g4@3 f#4 g4@2 f#4@10",
AL: "b3@7 ~ g4@6 ~@2", AM: "f#4@7 ~ a#3@6 ~@2", AN: "b3@2 d4@2 f#4@3 ~", AO: "g3@3 ~ g3@3 ~ b3@3 ~ e4@4",
AP: "f#4@8 ~@2 e4@2 d4@3 ~, ~@4 e4 ~@3, ~@9 f#4@2 ~@5", AQ: "c#4 d4 b3 a3", AR: "f#3@7 ~ a3@3 ~ f#3@4",
AS: "e3@2 g3@2 b3@2 g3 ~", AT: "~@5 g3 ~@2 a3@7 ~", AU: "b3@7 ~@5 a#3@3 ~", AV: "b3@11 ~ d4@4",
AW: "f#4@9 ~@2 e4@2 ~@3", AX: "d4@7 ~ b3@6 ~@2", AY: "[~ f#4@22 ~ f#4@4 b4@4]/2", AZ: "a#4@8 a#3@3 ~ c#4@3 ~",
BA: "g4@3 ~ [f#4,g4]@2 f#4@10", BB: "b3@5 ~ f#3 ~", BC: "b3@4 d4@7 ~ b3@3 ~", BD: "a#3@5 ~ a#3 ~",
BE: "b3@3 d4@4 ~ f#4@7 ~", BF: "b4@7 ~ b4@3 g4 b4@2 g4@2", BG: "e4 d4 c#4 b3", BH: "a3@4 f#3@2 a3 ~ b3@2 d4@2 e4@4",
BI: "f#4@6 a4 ~", BJ: "~ g4@3 f#4 g4 f#4@2 e4@3 ~ d4@4", BK: "c#4@3 ~", BL: "~@4 b4@2 ~@2 g4@4 e4@3 ~",
BM: "b4@2 g4 b4", BN: "~@4 a#4@7 ~ a#4@4, f#4", BO: "b4@11 ~ f#4@4", BP: "b4@8 f#4@2 ~@2 b4@3 ~",
BQ: "a#4@3 ~ c#5@2 ~@2 a#4@3 ~ f#4@4", BR: "[f#3,c#4]@6 ~@2 f#3@3 ~ a#3@3 ~", BS: "c#4@4 a#3@7 ~ f#3@4",
BT: "[b4@8 g4@4 e4@8 c#4@3 ~ d4@4 e4@3 ~]/2", BU: "~ f#4 f4 f#4 g4 f#4 a4@2, f#4 ~@7, ~ g4@2 ~@13",
BV: "g4 f#4 e4 d4 c#4 ~ b3 ~", BW: "d4@2 b3 d4", BX: "c#4@4 b3 ~@3 a3@3 ~ g3@4", BY: "f#3@8 a3@5 ~@3",
BZ: "~@4 a3@7 ~ a3@4", CA: "c#4@4 f3@3 ~ f#3@3 ~ a#3 ~@3", CB: "c#4 a#3 g3 f#3", CC: "[c#4,e4,g4]@15 ~",
CD: "~ [a3,d4,f#4]@5 ~@2 [c#4,e4,g4]@7 ~, ~@7 a3@7 ~@2", CE: "[a3,d4,f#4]",
})).s("gm_acoustic_guitar_nylon").gain(0.35).pan(0.2)
// bass · acoustic bass · "AcBass"
const bass = note(`<
~ A B C D E F G H I J K L M N O P Q R S T Q U V W X Y Z AA A B C D E F G H I J K L M N O P Q R S T Q U V W X Y Z AA A
B C D E F G H I J K L M N O P Q R S T Q U V W X Y Z AA A B C D E F G H I J K L M N O P Q R S T Q U V W X Y Z AA A B C
D E F G H I J K L M N O P Q R S T Q U V W X Y Z AA A B C D E F G H I J K L M N O P Q R S T Q U V W X AB AC AD ~
>`.pickRestart({
A: "g2@13 ~@3", B: "a2@7 ~ a1@7 ~", C: "d2@6 ~@2 d2@7 ~", D: "d2@3 ~ d2@3 ~", E: "e2@7 ~ e2@6 ~@2",
F: "a2@6 ~@2 a1@7 ~", G: "d2@8 f#2@5 ~@3", H: "a2@3 ~ d2@3 ~", I: "g2@7 ~ d2@6 ~@2", J: "g2@6 ~@2 b2@7 ~",
K: "f#2@7 ~ f#2@7 ~", L: "b2@3 ~ f#2@3 ~", M: "b2@7 ~ b2@6 ~@2", N: "c#3@6 ~@2 f#2@7 ~", O: "b2@4 f#2@3 ~",
P: "b1@6 ~@2 b2@7 ~", Q: "b1@7 ~ b2@6 ~@2", R: "f#2@6 ~@2 c#2@7 ~", S: "f#2@6 ~@2 f#2@7 ~", T: "b1@5 ~@3 b2@7 ~",
U: "f#2@6 ~@2 a#2@7 ~", V: "b2@7 ~ f#2@6 ~@2", W: "b1@7 ~ b2@7 ~", X: "e2@6 ~@2 e2@7 ~", Y: "a2@7 ~ a1@6 ~@2",
Z: "d2@7 ~ f#2@7 ~", AA: "a2@3 ~ d2@2 ~@2 e2@3 ~ f#2@3 ~", AB: "a2@7 ~ a1@5 ~@3", AC: "d2@3 ~ a1@3 ~", AD: "d2",
})).s("gm_acoustic_bass").gain(0.35)
// chords · acoustic guitar steel · "Steel Gtr"
const acoustic_guitar_steel = note(`<
~ A B C D A B C D E@2 F G H I J@2 K L M N@2 O P Q R S T D A B C D A B C D E@2 F G H I J@2 K L M N@2 O P Q R S T D A B
C D A B C D E@2 F G H I J@2 K L M N@2 O P Q R S T D A B C D A B C D E@2 F G H I J@2 K L M N@2 O P Q R S T D A B C D A
B C D E@2 F G H I J@2 K L M N@2 O P Q R S T D A B C D A B C D E@2 F G H I J@2 K L M N@2 O P Q R U V@2 ~
>`.pickRestart({
A: "[g3,b3]@3 ~ [g3,b3] ~@3 [g3,b3,d4]@3 ~ [g3,b3,d4] ~@3, e4 ~@3", // G
B: "[e3,a3]@3 ~ [e3,a3] ~@3 a3@4 [e3,c#4]@2 ~@2, c#4@4 ~@4 e3@3 ~@5", // A5 C#m
C: "[f#3,a3,d4]@3 ~ [f#3,a3,d4] ~@3 [f#3,a3,d4]@3 ~ [f#3,a3,d4] ~@3", // D
D: "[f#3,a3,d4]@3 ~ [f#3,a3,d4] ~@3 [d3,f#3,a3,d4]@3 ~ [d3,f#3,a3,d4] ~@3, d3 ~@3", // D
E: "[[e3,g3,b3,e4]@3 ~ [e3,g3,b3,e4] ~@3 [e3,g3,b3,e4]@3 ~ [e3,g3,b3,e4]@7 ~ [e3,g3,b3,e4] ~@3 [e3,g3,b3,e4]@3 ~ [e3,g3,b3,e4] ~@3]/2", // Em
F: "[e3,f#3,a#3,c#4]@3 ~ [e3,f#3,a#3,c#4] ~@3 [e3,f#3,a#3]@3 ~ [e3,f#3,a#3] ~@3, ~@2 c#4 ~", // F#7
G: "[f#3,b3,d4]@3 ~ b3 ~@3 [f#3,b3,d4]@3 ~ [f#3,b3,d4] ~@3", // Bm
H: "[d4,f#4]@4 [f#3,b3,d4] ~@3 [d4,f#4]@4 [f#3,b3] ~@3, [f#3,b3]@3 ~@5 [f#3,b3]@3 ~@5", // D Bm D B5
I: "[f#3,a#3,c#4,f#4]@3 ~ [f#3,a#3,c#4,f#4] ~@3 [f#3,a#3,c#4,f#4]@3 ~ [f#3,a#3,c#4,f#4] ~@3", // F#
J: "[f#3,b3,d4,f#4]@3 ~ [f#3,b3,d4,f#4] ~@3 [f#3,b3,d4,f#4]@3 ~ [f#3,b3,d4,f#4] ~@3", // Bm
K: "[f#3,b3,d4,f#4]@3 ~ [f#3,b3,d4,f#4] ~@3 [b3,d4,f#4]@3 ~ [b3,d4,f#4] ~@3, ~@2 f#3 ~", // Bm
L: "[a#3,c#4,f#4]@3 ~ [a#3,c#4,f#4] ~@3 [f#3,a#3,c#4,f#4]@3 ~ [f#3,a#3,c#4,f#4] ~@3, f#3 ~@3", // F#
M: "[f#3,a#3,c#4,f#4]@3 ~ [f#3,c#4,f#4] ~@3 [f#3,a#3,c#4,e4]@3 ~ [f#3,a#3,c#4,e4] ~@3", // F# F#5 F#7
N: "[f#3,b3,d4]@3 ~ [f#3,b3,d4] ~@3 [f#3,b3,d4]@3 ~ [f#3,b3,d4] ~@3", // Bm
O: "[e3,f#3,a#3]@4 c#4 ~@3 [e3,f#3,a#3,c#4]@3 ~ [e3,f#3,a#3,c#4] ~@3, c#4@3 ~@13", // F#7
P: "[f#3,b3,d4]@3 ~ [f#3,b3,d4] ~@3 [d3,f#3,b3,d4]@3 ~ [d3,f#3,b3,d4] ~@3, d3 ~@3", // Bm
Q: "[f#3,b3,d4]@3 ~ [f#3,b3,d4] ~@3 [d3,f#3,b3,d4]@3 ~ [d3,b3,d4] ~@3, d3 ~@3", // Bm G
R: "[g#3,b3,d4]@3 ~ [g#3,b3,d4] ~@3 [d3,g#3,b3,d4]@3 ~ [d3,g#3,b3,d4] ~@3, d3 ~@3", // G#dim
S: "[g3,a3,e4,g4]@3 ~ [g3,a3,e4,g4] ~@3 [c#4,e4,g4]@4 [g3,a3] ~@3, c#4@4 ~@4 [g3,a3]@3 ~@5", // A7 C#dim Gsus2
T: "[f#3,a3,d4,f#4]@4 [f#3,a3,d4,f#4] ~@3 [f#3,a3,d4,f#4]@3 ~ [f#3,a3,d4,f#4] ~@3", // D
U: "~ c#4@6 ~ [e3,a3,c#4]@4 ~@4, [e3,a3]@3 ~@5", // A A5
V: "[[a3,d4]@5 ~@3 [e3,c#4]@8 ~ [d3,d4]@15, f#3@3 ~@5 a3@24, ~ f#3]/2", // D5 C#m D
})).s("gm_acoustic_guitar_steel").gain(0.19).pan(0.7)
stack(acoustic_guitar_nylon, bass, acoustic_guitar_steel)
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.