0:00/0:00
// Il suffit de passer le pont — Brassens Georges
// 107 bpm, 6/8, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 90 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(107/3)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord.
// 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 A D E F G H B C A D E F A I A I@5 F A B C A D E F G H B C A D E F A I A I@5 F A B C A D E F G H B C A D E F ~
J K J K@3 L M K N O K P I Q K P I Q K P I Q R S
>`.pickRestart({
A: "g2 d3", B: "g2 e2", C: "a2 d3", D: "e2 b2", E: "a2 e3", F: "d3 a2", G: "g2 b2", H: "g2 bb2", I: "c3 g2",
J: "eb3 c3", K: "bb2 f2", L: "eb3 bb2", M: "f2 c3", N: "bb2 b2", O: "c3 f2", P: "bb2 g2", Q: "g2 f2",
R: "bb2@2 ~ f2@2 ~", S: "bb2 ~",
})).s("gm_acoustic_bass").gain(0.17).pan(0.3)
// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
~ A B C A D E F A G B C A D E F A H A H@5 F A B C A D E F A G B C A D E F A H A H@5 F A B C A D E F A G B C A D E F I
J K J K@3 J L M N O M P Q R M P Q R M P Q R S T
>`.pickRestart({
A: "~@2 [g3,b3,d4] ~@2 [g3,b3,d4]", B: "~@2 [g3,b3,d4] ~@2 [e3,g3,b3]", C: "~@2 [e3,a3,c4] ~@2 [a3,c4,gb4]",
D: "~@2 [e3,g3,b3] ~@2 [e3,g3,b3]", E: "~@2 [a3,c4,e4] ~@2 [a3,c4,e4]", F: "~@2 [a3,c4,gb4] ~@2 [a3,c4,gb4]",
G: "~@2 [g3,b3,d4] ~@2 [e3,g3,db4]", H: "~@2 [g3,c4,e4] ~@2 [g3,c4,e4]",
I: "[f3,bb3,d4,ab4]@2 [f3,bb3,d4,ab4] [f3,bb3,d4,ab4]@3", J: "~@2 [g3,bb3,eb4] ~@2 [g3,bb3,eb4]",
K: "~@2 [f3,ab3,d4] ~@2 [f3,ab3,d4]", L: "~@2 [f3,a3,c4] ~@2 [f3,a3,c4]", M: "~@2 [f3,bb3,d4] ~@2 [f3,bb3,d4]",
N: "~@2 [f3,bb3,d4] ~@2 [f3,ab3,d4]", O: "~@2 [g3,c4,eb4] ~@2 [f3,a3,c4]", P: "~@2 [f3,bb3,d4] ~@2 [g3,bb3,d4]",
Q: "~@2 [g3,c4,eb4] ~@2 [g3,c4,eb4]", R: "~@2 [g3,bb3,d4] ~@2 [f3,a3,c4]", S: "[f3,bb3,d4]@2 ~ [f3,a3,c4]@2 ~",
T: "[f3,bb3,d4] ~", // Bb
})).s("gm_acoustic_guitar_nylon").gain(0.5).pan(0.6)
// other · electric guitar jazz
const electric_guitar_jazz = note(`<
~@2 A ~ A ~ A ~ A ~ A ~@5 B C ~@2 B C ~@4 A ~ A ~ A ~ A ~ A ~@5 B C ~@2 B C ~@4 A ~ A ~ A ~ A ~ A ~@31
>`.pickRestart({
A: "~@2 d6 ~@3", B: "~@4 g6 e6", C: "g6 ~@5",
})).s("gm_electric_guitar_jazz").gain(0.42)
stack(bass, acoustic_guitar_nylon, electric_guitar_jazz)
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.