0:00/0:00
// Le petit joueur de fluteau — Brassens Georges
// 120 bpm, 6/8, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (6/8 at bar 1, 9/8 at bar 12, 6/8 at bar 14, 9/8 at bar 33, ...) are rendered on a constant 6/8 grid of one bar per cycle
// note: Full arrangement: all 128 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/3)
// 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 · electric guitar jazz · "Guitare"
const electric_guitar_jazz = note(`<
A B@2 C@2 D E F G H E F I J K J L M N@2 O P Q R S T U@2 V W U@2 X@6 Y Z AA@2 AB@2 AC@2 D E F G H E F I J K J L M N@2 O
P Q R S T U@2 V W U@2 X@6 Y Z AA@2 AB@2 AC@2 D E F G H E F I J K J L M N@2 O P Q R S T U@2 V W U@2 X@6 Y Z AA@2 AB@2
AD@2
>`.pickRestart({
A: "~@3 f#3@2 b3@3 [b2,d3,g3]@4 ~ g3@3", // G
B: "[f#3@4 c#3 f#3@3 [f#2,b2]@4 ~@7 d3@2 f#3@3 [e2,g2,b2]@4 ~ d3@3, ~@8 d3@11 ~@13, ~@16 [f#2,b2]@5 ~@11]/2", // B5 Em B5
C: "[[g2,a2,c#3]@4 d3 e3@3 [f#2,a2,d3]@15 ~ [f#2,a2,d3]@4 ~ f#3@3]/2", // A7 D
D: "[f#2,a2,d3]@4 ~ f#3@3 [a2,c#3,g3]@3 a3@2 g3@3", E: "[a2,d3]@4 ~@4 [a2,d3]@4 ~ a3@3, f#3@3 ~",
F: "[b2,d3,f#3]@3 d3@2 f#3@3 [g2,c#3,e3]@3 a2@2 e3@3", G: "[f#2,a2]@4 ~@4 [f#2,a2,d3]@4 ~ f#3@3, d3@7 ~@9",
H: "[f#2,b2,d3]@4 ~ f#3@3 [a2,c#3,g3]@3 a3@2 g3@3", I: "[f#2,a2]@4 ~@4 [f#2,a2]@3 a3@2 b3@3, d3@11 ~@5",
J: "[b2,e3,g3]@4 ~@4 [b2,d3]@3 e3@2 d3@3, ~@5 f#3@5 ~@6", // Em Bm
K: "[a#2,c#3,f#3]@4 ~@4 [a#2,c#3]@3 a3@2 b3@3, ~@5 e3@5 ~@6", // F# A#m
L: "[g2,c#3,f#3]@4 ~@4 [f#2,a2]@3 d3@2 f#3@3, ~@5 e3@5 ~@6", M: "[e2,g2,b2]@4 ~ d3@3 [g2,a2,c#3]@3 d3@2 e3@3",
N: "[a2@7 ~ [b2,d3]@4 ~@4 [b2,d3]@3 b2@2 d3@3 [g2,c#3]@3 d3@2 e3@3, f#2@4 ~@9 f#3@5 ~@14]/2", // Bm Gdim
O: "[c3,e3,f#3]@4 ~@4 [b2,d#3]@3 f#3@2 b3@3, a3@11 ~@5", P: "[b2,e3,g3]@4 ~ b2@3 [a#2,c#3,f#3]@3 e3@2 f#3@3",
Q: "[f#2,b2]@4 ~@4 [f#2,b2]@3 d3@2 f#3@3, d3@11 ~@5", R: "[e2,g#2,b2]@4 ~ d3@3 [g2,a2,c#3]@3 d3@2 e3@3",
S: "[f#2,a2] ~ [f#2,a2] ~, d3@3 ~", T: "[f#2,a2,d3]@4 ~ f#3@3 [f#2,a2,d3]@4 ~ f#3@3",
U: "[[a2,c#3,g3]@3 a3@2 g3@3 [a2,d3]@4 ~@4 [a2,d3]@4 ~ a3@3 [b2,d3,f#3]@3 d3@2 f#3@3, ~@2 f#3@3 ~@3]/2", // A7 D5 Bm
V: "[g2,c#3,e3]@3 a2@2 e3@3 [f#2,a2]@4 ~@4, ~@8 d3@7 ~", W: "[f#2,a2,d3]@4 ~ f#3@3 [f#2,b2,d3]@4 ~ f#3@3",
X: "[[g2,c#3,e3]@3 a2@2 e3@3 [f#2,a2]@4 ~@4 [f#2,a2]@3 a3@2 b3@3 [b2,e3,g3]@4 ~@4 [b2,d3]@3 e3@2 d3@3 [a#2,c#3,f#3]@4 ~@4 [a#2,c#3]@3 a3@2 b3@3 [b2,e3,g3]@4 ~@4 [b2,d3]@3 e3@2 d3@3 [g2,c#3,f#3]@4 ~@4 [f#2,a2]@3 d3@2 f#3@3 [e2,g2,b2]@4 ~ d3@3, ~@8 d3@11 ~@10 f#3@5 ~@11 e3@5 ~@11 f#3@5 ~@11 e3@5 ~@14]/6", // C#dim F#m Em Bm F# A#m Em Bm …
Y: "[g2,a2,c#3]@3 d3@2 e3@3 a2@7 ~, ~@2 f#2 ~", Z: "[b2,d3]@4 ~@4 [b2,d3]@3 b2@2 d3@3, ~@5 f#3@5 ~@6",
AA: "[[g2,c#3]@3 d3@2 e3@3 [c3,e3,f#3]@4 ~@4 [b2,d#3]@3 f#3@2 b3@3 [b2,e3,g3]@4 ~ b2@3, ~@8 a3@11 ~@13]/2", // Gdim F#m7b5 B Em
AB: "[[a#2,c#3,f#3]@3 e3@2 f#3@3 [f#2,b2]@4 ~@4 [f#2,b2]@3 d3@2 f#3@3 [e2,g#2,b2]@4 ~ d3@3, ~@8 d3@11 ~@13]/2", // F# B5 E
AC: "[[g2,a2,c#3]@3 d3@2 e3@3 [f#2,a2]@4 ~@4 [f#2,a2]@4 ~@4 [f#2,a2,d3]@4 ~ f#3@3, ~@2 d3@3 ~@3]/2", // A7 F#m D
AD: "[[g2,a2,c#3]@3 d3@2 e3@3 [f#2,a2,d3]@15 ~@9]/2", // A7 D
})).s("gm_electric_guitar_jazz").gain(0.18).pan(1)
// bass · contrabass · "Contrebasse"
const bass = note(`<
A B C D@2 E F G F E F G H I J I K L M N O P Q L H M R M S M R M K T U V G T S W X C B C K Y E F G F E F G H I J I K L
M N O P Q L H M R M S M R M K T U V G T S W X C B C K Y E F G F E F G H I J I K L M N O P Q L H M R M S M R M K T U V
G T S W X C B C Z@2
>`.pickRestart({
A: "~@2 g2 ~", B: "f#2 ~ b2 ~", C: "b2 ~ e2 ~", D: "[a2@4 ~@4 d2@15 ~ d3@4 ~@4]/2", E: "b2 ~ e3 ~", F: "d3 ~ d3 ~",
G: "b2 ~ a2 ~", H: "d2 ~ d2 ~", I: "e2 ~ b2 ~", J: "a#2 ~ f#2 ~", K: "a2 ~ d2 ~", L: "e2 ~ a2 ~", M: "d3 ~ b2 ~",
N: "g2 ~ a2 ~", O: "c3 ~ b2 ~", P: "e2 ~ f#2 ~", Q: "b2 ~ b2 ~", R: "e3 ~ d3 ~", S: "a2 ~ d3 ~", T: "d2 ~ e2 ~",
U: "b2 ~ a#2 ~", V: "f#2 ~ e2 ~", W: "b2 ~ g2 ~", X: "a2 ~ c3 ~", Y: "d2 ~ d3 ~", Z: "[a2@4 ~@4 d2@15 ~@9]/2",
})).s("gm_contrabass").gain(0.18).pan(0)
stack(electric_guitar_jazz, 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.