0:00/0:00
// Elegie a un rat de cave (feat. Les Petits Francais) — Brassens Georges
// 150 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 127 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(150/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.
// chords · trumpet · "Orchestre"
const trumpet = note("<A@6 B ~@51 C D ~@52 A@6 E ~ A@6 E>".pickRestart({
A: "[a3@3 ~ c4@3 ~ [a3,f4]@3 ~ [eb4,g4]@2 [d4,f4]@4 [bb3,d4]@3 ~ [d4,f4]@2 [c4,e4]@3 [bb3,d4] [a3,c4]@3 [g3,bb3], f3@7 ~@25]/2", // Dm Eb Dm Bb Dm C Bb Am …
B: "[f3,a3] ~@7", C: "~@8 [c4,e4]@3 [d4,f4] [eb4,gb4]@3 [e4,g4]",
D: "[g4,b4]@3 c5 [g4,bb4]@3 g4 [c4,e4]@3 [bb3,d4]@2 [bb3,db4]@3", E: "[f3,a3]@3 ~@13",
})).s("gm_trumpet").gain(0.41).pan(0.6)
// chords · clarinet · "Orchestre" · F Dm Am F Gm Abm Am
const clarinet = note(`<
~@6
[~@3 [f3,a4] [f3,a4]@3 [a3,f4] [a3,f4]@3 [a3,c4] [a3,c4]@3 [f3,a3]]
[[f3,a3]@3 [g3,bb3] [ab3,b3]@2 [a3,c4]@5 ~@5]
~@119
>`).s("gm_clarinet").gain(0.41).pan(0.4)
// chords · electric guitar jazz · "Orchestre"
const electric_guitar_jazz = note(`<
~@8 A B C ~ D B C ~ D B C ~ D B C ~@37 A B C ~ D B C ~ D B C ~ D B C ~@35 E F ~@15
>`.pickRestart({
A: "[f3,a3,c4]@3 ~@5 [eb3,a3,c4]@3 ~@5", B: "[f3,g3,d4]@3 ~@5 [e3,bb3,c4]@3 ~@5", C: "[a3,c4,f4]@3 ~@13",
D: "~@8 [eb3,a3,c4]@3 ~@5", E: "[e3,g3]@3 ~ [e3,g3]@3 ~ [e3,g3]@3 ~ [e3,g3]@3 ~, c4@7 ~ b3@7 ~",
F: "[d3,g3]@3 ~ [d3,g3]@3 ~ [bb2,e3]@3 ~ [bb2,e3]@3 ~, bb3@7 ~ g3@7 ~", // G5 Bbdim
})).s("gm_electric_guitar_jazz").gain(0.41).pan(0.9)
// chords · piano · "Orchestre"
const piano = note("<~@10 A B C ~@5 A B C ~@41 A B C ~@5 A B C ~@54>".pickRestart({
A: "~@4 a3@2 a3!2 [c4,a4]@2 a4@2 [a3,f4]@2 c4@2", B: "[bb3,d4]@3 ~ [bb3,c4]@2 c4!2 [g3,bb3,e4]@3 ~ [g3,bb3,e4]@3 ~",
C: "[a3,c4,f4]@3 ~@13", // F
})).s("gm_piano").gain(0.41).pan(1)
// chords · baritone sax · "Orchestre"
const baritone_sax = note("<~@14 A B C ~@49 A B C ~@49 D@2 ~@7>".pickRestart({
A: "~@4 a3@2 c4 f4 [c4,a4]@2 f4@2 [a3,c4]@2 a3@2", // F Am
B: "[bb3,d4]@3 ~ [bb3,d4]@2 g4 bb4 [bb3,c4,e4]@3 ~ [g3,bb3,e4]@3 ~", C: "[a3,c4,f4]@3 ~@13",
D: "[~@4 f4 g4 ~ ab4 a4@11 c4 [a3,f4]@3 a3 [f3,c4]@3 f3 [c3,a3]@3 c3]/2", // Dm F5 F
})).s("gm_baritone_sax").gain(0.41).pan(0.3)
// chords · acoustic guitar nylon · "Orchestre"
const acoustic_guitar_nylon = note(`<
~@24 A@2 B@2 C@2 D@2 E@4 F@2 G ~ A@2 B@2 C@2 D@2 E@5 H I J E K L ~@17 A@2 B@2 C@2 D@2 E@4 F@2 G ~ A@2 B@2 C@2 D@2 E@5
H I J E K ~@17
>`.pickRestart({
A: "[g2,c3,e3]@3 ~ [g2,c3,e3]@3 ~ [g2,c3,e3]@3 ~ [g2,c3,e3]@3 ~", // C
B: "[b2,eb3,gb3]@3 ~ [b2,eb3,gb3]@3 ~ [b2,eb3,gb3]@3 ~ [b2,eb3,gb3]@3 ~", // B
C: "[a2,d3,f3]@3 ~ [a2,d3,f3]@3 ~ [a2,d3,f3]@3 ~ [a2,d3,f3]@3 ~", // Dm
D: "[g2,db3,e3]@3 ~ [g2,db3,e3]@3 ~ [g2,db3,e3]@3 ~ [g2,db3,e3]@3 ~", // Dbdim
E: "[a2,c3,gb3]@3 ~ [a2,c3,gb3]@3 ~ [a2,c3,gb3]@3 ~ [a2,c3,gb3]@3 ~", // Gbdim
F: "[ab2,c3,eb3]@3 ~ [ab2,c3,eb3]@3 ~ [ab2,c3,eb3]@3 ~ [ab2,c3,eb3]@3 ~", G: "[b2,d3,g3]@3 ~ [b2,d3,g3]@3 ~@9",
H: "[c3,e3,g3]@3 ~ [c3,e3,g3]@3 ~ [c3,e3,g3]@3 ~ [c3,e3,g3]@3 ~", // C
I: "[bb2,d3,f3]@3 ~ [bb2,d3,f3]@3 ~ [bb2,d3,f3]@3 ~ [bb2,d3,f3]@3 ~", // Bb
J: "[db3,g3,a3]@3 ~ [db3,g3,a3]@3 ~ [db3,g3,a3]@3 ~ [db3,g3,a3]@3 ~", // A7
K: "[c3,e3,g3]@3 ~ [c3,e3,g3]@3 ~ [b2,f3,g3]@3 ~ [b2,f3,g3]@3 ~", L: "[c3,e3,g3]@3 ~@13",
})).s("gm_acoustic_guitar_nylon").gain(0.18).pan(1)
// other · alto sax · "Orchestre" · G Bm G Bm
const alto_sax = note(`<
~@38
[~@12 [g3,b3] c4 ~ db4]
[[b3,d4]@3 b3 g3 a3 ~ bb3 b3@3 g3 [b2,d3]@3 eb3]
~@50
[~@12 [g3,b3] c4 ~ db4]
[[b3,d4]@3 b3 g3 a3 ~ bb3 b3@3 g3 [b2,d3]@3 eb3]
~@35
>`).s("gm_alto_sax").gain(0.52)
// bass · fretless bass · "Contrebasse"
const bass = note(`<
A B A B A B C ~ D E C ~ D E C ~ D E C ~ D E C ~ F@2 G H I J K@2 I@3 J L@2 M ~ F@2 G H I J K@2 I@4 J N O K I F P ~ D E
C ~ D E C ~ D E C ~ D E C ~ F@2 G H I J K@2 I@3 J L@2 M ~ F@2 G H I J K@2 I@4 J N O K I F Q R A B A B A B C ~ A B A B
A B C
>`.pickRestart({
A: "~@4 f2@3 ~@5 eb2@3 ~", B: "~@4 bb1@3 ~@5 c2@3 ~", C: "f2@3 ~@13", D: "f2@3 ~@5 f2@3 ~@5", E: "bb1@3 ~@5 c2@3 ~@5",
F: "c3@3 ~@5 g2@3 ~@5", G: "b2@3 ~@5 gb2@3 ~@5", H: "b2@3 ~@5 b2@3 ~@5", I: "d3@3 ~@5 a2@3 ~@5",
J: "d3@3 ~@5 d3@3 ~@5", K: "a2@3 ~@5 a2@3 ~@5", L: "eb3@3 ~@5 ab2@3 ~@5", M: "g2@3 ~@5 g2@3 ~@5",
N: "c3@3 ~@5 c3@3 ~@5", O: "bb2@3 ~@5 bb2@3 ~@5", P: "c3@3 ~@13", Q: "c3@3 ~@5 c2@3 ~@5", R: "g2@3 ~@5 c2@3 ~@5",
})).s("gm_fretless_bass").gain(0.18).pan(0)
stack(trumpet, clarinet, electric_guitar_jazz, piano, baritone_sax, acoustic_guitar_nylon, alto_sax, bass)
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.