Daft Punk est reconnu en partie pour son utilisation de samples :
une grande partie de l’album Discovery est fait à partir d’extraits de
chansons disco des années 80. Aerodynamic n’échappe pas à cette
règle puisque la partie funk
du morceau est construite à partir du
morceau du groupe Sister Sledge,
Il macquillage lady, en
particulier cet extrait :
L’extrait dure 7.78’’ et comprend 16 temps, il est donc à `60*16 / (7.780)` BPM, soit 123.4 BPM, c’est très proche du morceau Aerodynamic qui lui est à 123 BPM. On va voir comment partir de ça pour arriver à quelque chose proche de :
On remarque quelques similitudes, mais il est assez difficile de s’imaginer comment tout s’enchaîne, même après plusieurs écoutes.
On va commencer par préparer et découper l’extrait des Sister
Sledge, puis on piochera les petits morceaux (samples) qui nous
intéressent pour ensuite reconstruire le funk de Daft Punk. Une fois
l’extrait original et
celui des Daft-Punk téléchargés, on peut les
charger dans Sonic Pi à l’aide de l’instruction load_sample
et les
jouer ainsi :
maquillage = "~/il-macquillage-lady.wav"
load_sample maquillage
sample maquillage
Ce qui se traduit par:
maquillage
le chemin vers le fichierload_sample
sample
Comme on l’a précedemment vu, Aerodynamic a un tempo de 123 BPM, ce qui n’est pas le cas de l’extrait des Sister Sledge, on le redimensionne donc pour qu’il le soit:
use_bpm 123
maquillage = "~/il-maquillage-lady.wav"
load_sample maquillage
sample maquillage, beat_stretch: 16
L’appel à use_bpm
est maintenant familier, en revanche le
beat_stretch
est quelque peu magique : il a pour effet de caller
l’extrait maquillage
sur 16 temps à 123 BPM, soit exactement comme
l’extrait d’Aerodynamic. À présent, on peut jouer un petit morceau
de cet extrait à l’aide des paramètres start
et finish
:
use_bpm 123
maquillage = "~/il-maquillage-lady.wav"
load_sample maquillage
sample maquillage, beat_stretch: 16, start: 0.0, finish: 1/16.0
start
et finish
prennent un indice en paramètre, qui a une valeur
comprise entre 0.0 et 1.0 :
Comme l’extrait est sur 16 temps, on joue ici son premier temps en partant de 0.0 pour aller à 1/16.0. Quelques autres exemples :
start: 6.0 / 16.0
: commence à jouer au temps 6start: 2.5 / 16.0
: commence à jouer au temps 2.5end: 0.5 / 16.0
: fini de jouer au temps 0.5Une technique est donc de prendre une par une les sections d’Aerodynamic et de trouver la section correspondante dans l’extrait d’Il Macquillage Lady.
Pour simplifier la tâche, voici une fonction Sonic Pi qui va nous aider:
use_bpm 123
maquillage = "~/il-macquillage-lady.wav"
load_sample maquillage
aerodynamic = "~/funk.wav"
load_sample aerodynamic
define :sample_chunk do |what, beat, dur, delay|
beat = beat / 16.0
dur = dur / 16.0
sample what, beat_stretch: 16, start: beat, finish: beat + dur
sleep delay
end
sample_chunk(maquillage, 4.0, 1.0, 0.0)
L’instruction define
permet de créer une nouveau mot clef dans Sonic Pi que
l’on apelle sample_chunk
et qui prend quatres paramètres :
what
: le sample à jouerbeat
: le temps à jouerdur
: la durée à jouer en tempsdelay
: le temps à attendre avant de continuerAinsi, si l’on veut jouer l’extrait de Il Macquillage Lady au temps 4 pour une durée de 1 temps, on peut faire :
sample_chunk(maquillage, 4.0, 1.0, 0.0)
Un autre exemple, jouer le premier demi-temps de l’extrait d’Aerodynamic puis faire une pause de 2 temps :
sample_chunk(aerodynamic, 0.0, 0.5, 2.0)
On peut à présent jouer facilement n’importe quel morceau des deux extraits ! Après quelques heures d’écoutes et de bricolage, voici ce qu’on peut obtenir :
use_bpm 123
maquillage = "~/il-macquillage-lady.wav"
aerodynamic = "~/funk.wav"
load_sample maquillage
load_sample aerodynamic
define :sample_chunk do |what, beat, dur, delay|
beat = beat / 16.0
dur = dur / 16.0
sample what, beat_stretch: 16, start: beat, finish: beat + dur
sleep delay
end
define :funk do
# sample_chunk(aerodynamic, 0.0, 4.0, 4.0)
sample_chunk(maquillage, 0.0, 0.5, 0.5)
sample_chunk(maquillage, 2.5, 1.0, 0.25)
sample_chunk(maquillage, 3.5, 0.5, 0.75)
sample_chunk(maquillage, 0.0, 0.5, 0.5)
sample_chunk(maquillage, 8.5, 0.5, 0.5)
sample_chunk(maquillage, 2.5, 1.0, 1.0)
sample_chunk(maquillage, 7.5, 0.5, 0.5)
# sample_chunk(aerodynamic, 4.0, 4.0, 4.0)
sample_chunk(maquillage, 3.5, 0.5, 0.5)
sample_chunk(maquillage, 2.5, 1.0, 1.0)
sample_chunk(maquillage, 7.5, 0.5, 0.5)
sample_chunk(maquillage, 8.5, 0.5, 0.5)
sample_chunk(maquillage, 2.5, 1.0, 1.0)
sample_chunk(maquillage, 7.5, 0.5, 0.5)
# sample_chunk(aerodynamic, 8.0, 4.0, 4.0)
sample_chunk(maquillage, 0.0, 0.5, 0.5)
sample_chunk(maquillage, 2.5, 1.0, 0.25)
sample_chunk(maquillage, 3.5, 0.5, 0.75)
sample_chunk(maquillage, 0.0, 0.5, 0.5)
sample_chunk(maquillage, 8.5, 0.5, 0.5)
sample_chunk(maquillage, 2.5, 1.0, 1.0)
sample_chunk(maquillage, 7.5, 0.5, 0.5)
# sample_chunk(aerodynamic, 12.0, 4.0, 4.0)
sample_chunk(maquillage, 3.5, 0.5, 0.5)
sample_chunk(maquillage, 8.5, 0.25, 0.0)
sample_chunk(maquillage, 2.5, 1.0, 0.25)
sample_chunk(maquillage, 3.5, 0.5, 0.5)
sample_chunk(maquillage, 8.5, 0.25, 0.25)
sample_chunk(maquillage, 3.5, 0.5, 0.5)
sample_chunk(maquillage, 8.5, 0.5, 0.5)
sample_chunk(maquillage, 2.5, 1.0, 1.0)
sample_chunk(maquillage, 7.5, 0.5, 0.5)
end
funk
On met tout dans la fonction funk
, que l’on peut jouer avec un
simple appel sans paramètres. On remarque au passage que si l’on
additionne les valeurs de delay, on obtient 16, ce qui est rassurant
vu que l’extrait fait 16 temps.
C’est presque ça !
Il manque quelques effets pour se rapprocher d’Aerodynamic, il y a
notamment un effet cyclique tous les 8 temps, qui se rapproche de
l’effet ixi_techno
de Sonic Pi :
live_loop :funk do
with_fx :ixi_techno, mix: 0.1, phase: 8, cutoff_min: 90 do
funk
end
end
live_loop
est un nouveau mot clef qui permet d’encadrer du son dans
une boucle : arrivé à la fin du bloc, on va repartir au tout début en
prenant en compte les changements du bloc. C’est très pratique car
l’on peut ainsi éditer en live le son et découvrir l’influence de
chaque paramètre. Il faut appeler Run
pour prendre en compte les
modifications.
On peut par exemple tenter de voir l’influence du paramètre mix
ainsi :
Run
mix
à 0.5Run
À la prochaine itération de la boucle, on entend les modifications. Cette approche permet d’éditer en live le morceau et de le faire évoluer petit à petit !