0:00/0:00
// Don Juan — Brassens Georges
// 130 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 154 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(130/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 steel · "Chitarra 1"
const acoustic_guitar_steel = note(`<
A B C B D@4 E F E F E F G H I J I J K L M C B C B N@2 E F E F E F G H I J I J K L M C B C B N@2 E F E F E F G H I J I
J K L M C B C B N@2 E F E F E F G H I J I J K L M C B C B N@2 E F E F E F G H I J I J K L M C B C B N@2 E F E F E F G
H I J I J K L M C B C B N@2 E F E F E F G H I J I J K L M C B C B O
>`.pickRestart({
A: "~@2 d4!6", B: "e4 f#4 c#4 f#4", C: "b3@2 d4!6", D: "~ [d4,f#4] ~ [d4,f#4]", E: "f#4@2 d4 e4", F: "f#4 b4 e4@2",
G: "f#4@4 d4@4 e4@3 f#4@2 b4@3", H: "e4@3 ~", I: "d4@2 g3 b3", J: "d4 g4 c#4@2", K: "d4@2 d4 e4",
L: "f#4 g4@2 a4@3 g4@2", M: "f#4 e4 d4 c#4", N: "[d4,f#4]!4", O: "b4 ~@3",
})).s("gm_acoustic_guitar_steel").gain(0.4).pan(0.4)
// chords · acoustic guitar steel · "Chitarra 2"
const acoustic_guitar_steel_2 = note(`<
~@4 A@4 B C B C B C B D E F E F G H I J K J L M@2 B C B C B C B D E F E F G H I J K J L M@2 B C B C B C B D E F E F G
H I J K J L M@2 B C B C B C B D E F E F G H I J K J L M@2 B C B C B C B D E F E F G H I J K J L M@2 B C B C B C B D E
F E F G H I J K J L M@2 B C B C B C B D E F E F G H I J K J L N
>`.pickRestart({
A: "b3/4", B: "[b3,d4]!4", C: "[b3,d4]!2 [a#3,c#4]!2", D: "[a#3,c#4]!4", E: "~ [g3,b3] ~ [g3,b3]",
F: "~ [b3,d4] ~ [f#3,a#3]", G: "~ [f#3,a3] ~ [f#3,a3]", H: "~ [a3,d4] ~ [a3,d4]", I: "[a#3,c#4] [f#3,a#3]",
J: "~ [f#3,b3] ~ [f#3,b3]", K: "~ [g#3,b3] ~ [a#3,c#4]", L: "~ [g3,b3] ~ [a#3,c#4]", M: "[b3,b4]/2",
N: "[d4,f#4] ~@3", // D
})).s("gm_acoustic_guitar_steel").gain(0.4).pan(0.6)
// bass · acoustic bass · "Basso"
const bass = note(`<
A B A B C@5 D C D C D C E F G F H I J K L M N M C@3 D C D C D C E F G F H I J K L M N M C@3 D C D C D C E F G F H I J
K L M N M C@3 D C D C D C E F G F H I J K L M N M C@3 D C D C D C E F G F H I J K L M N M C@3 D C D C D C E F G F H I
J K L M N M C@3 D C D C D C E F G F H I J K L M N M O
>`.pickRestart({
A: "b2", B: "c#3 ~ f#2 ~", C: "b2!4", D: "b2!2 c#3 f#2", E: "c#3!2 f#2!2", F: "g2 ~ d2 ~", G: "g2 ~ f#2 ~",
H: "g2 ~ f#2 e2", I: "d2 ~ a2 ~", J: "d2 d3 c#3 b2", K: "a#2 g2 f#2 e2", L: "d2 ~ b1 ~", M: "e2 ~ f#2 ~",
N: "b1 ~ b1 ~", O: "b2 ~@3",
})).s("gm_acoustic_bass").gain(0.4).pan(0.7)
// drums · kick
const kick = s("bd").struct(`<
A@8 B C B C B D ~@2 E F G H F ~ F E F ~@4 B C B C B D ~@2 E F G H F ~ F E F ~@46 B C B C B D ~@2 E F G H F ~ F E F ~@4
B C B C B D ~@2 E F G H F ~ F E F ~@4 B C B C B D ~@2 E F G H F ~ F E F ~@3
>`.pickRestart({
A: "~ x ~ x", B: "~@3 x", C: "x ~@5 x!2", D: "x ~@2 x", E: "x", F: "x!2", G: "x!2 ~@3 x ~@2", H: "x!2 ~@2",
})).gain(0.4)
// drums · snare
const snare = s("sd").struct("<~@27 A@2 ~@19 A@2 ~@61 A@2 ~@19 A@2 ~@20>".pickRestart({
A: "~ x",
})).gain(0.4)
// drums · low tom
const low_tom = s("lt").struct(`<
~@8 A B A B A B A C B ~@2 B ~ D ~ B ~@3 C@2 A B A B A B A C B ~@2 B ~ D ~ B ~@3 C@2 ~@42 A B A B A B A C B ~@2 B ~ D ~
B ~@3 C@2 A B A B A B A C B ~@2 B ~ D ~ B ~@3 C@2 A B A B A B A C B ~@2 B ~ D ~ B ~@4
>`.pickRestart({
A: "~ x ~@2", B: "~ x", C: "x", D: "~@3 x!2 ~@3",
})).gain(0.4)
// drums · pedal hat
const pedal_hat = s("hh").struct(`<
A@7 B A C A C A C D E F@2 G ~ F H F@3 I J ~@2 A C A C A C D E F@2 G ~ F H F@3 I J ~@44 A C A C A C D E F@2 G ~ F H F@3
I J ~@2 A C A C A C D E F@2 G ~ F H F@3 I J ~@2 A C A C A C D E F@2 G ~ F H F@3 ~@3
>`.pickRestart({
A: "x!2", B: "x ~ x!2 ~@4 x!2 ~ x ~@4", C: "~ x ~@2", D: "x ~@3 x!4", E: "~@7 x", F: "~ x ~ x", G: "~@2 x!2 ~@2 x ~",
H: "x!2 ~@3 x!2 ~", I: "~@3 x!5", J: "~@2 x!6",
})).gain(0.4)
// drums · mid tom
const mid_tom = s("mt").struct("<~@19 A ~@7 B@2 ~@11 A ~@7 B@2 ~@53 A ~@7 B@2 ~@11 A ~@7 B@2 ~@11 A ~@8>".pickRestart({
A: "~@3 x", B: "~ x ~ x",
})).gain(0.4)
// drums · high tom
const high_tom = s("ht").struct("<~@26 A ~@20 A ~@62 A ~@20 A ~@22>".pickRestart({
A: "x",
})).gain(0.4)
// drums · ride
const ride = s("rd").struct("<~@25 A ~@20 A ~@62 A ~@20 A ~@20 A ~@2>".pickRestart({
A: "x",
})).gain(0.4)
stack(acoustic_guitar_steel, acoustic_guitar_steel_2, bass, kick, snare, low_tom, pedal_hat, mid_tom, high_tom, ride)
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.