Ressources Magic Makers

 

Site en maintenance

 
Nous sommes actuellement entrain de mettre à jour les ressources de ce site.
Pendant la mise à jour vous pouvez retrouver tous les nouveaux contenus sur le site
 

https://lp-magicmakers.fr/

 
 

Pydub et les fichiers son

Importer pydub

D’abord, télécharge le module pydub : 

!pip install pydub

Ensuite il va falloir importer le module :

from pydub import AudioSegment

Ouvrir un audioSegment

Pour manipuler un fichier de son, on va créer un AudioSegment à partir de celui ci : 

from pydub import AudioSegment

wav_audio = AudioSegment.from_file("/path/to/sound.wav", format="wav")
mp3_audio = AudioSegment.from_file("/path/to/sound.mp3", format="mp3")

Dans la fonction from_file(path, format) nous avons deux paramètres :

  • path : chemin d’accès au fichier.
  • format : le format du fichier (son extension)

Opération de base sur un audioSegment

L’audioSegment est immuable qui contient l’audio ouvert.
Un object immuable est un object que l’on ne peux pas modifier, toutes les fonctions que l’on va utiliser vont donc créer un nouvel object qu’il faudra stocker.

Voici quelques fonctions que l’on peut utiliser sur les audioSegment :

from pydub import AudioSegment

sound1 = AudioSegment.from_file(« /path/to/sound.wav », format=« wav »)
sound2 = AudioSegment.from_file(« /path/to/another_sound.wav », format=« wav »)

# sound1 6 dB plus fort, puis 3.5 dB moins fort (+3dB correspond à doubler le volume)
louder = sound1 + 6
quieter = sound1 – 3.5

# sound1, puis sound2 concaténer
combined = sound1 + sound2

# sound1 se répète 3 fois
repeated = sound1 * 3

# durée en millisecondes
duration_in_milliseconds = len(sound1)

# premières 5 secondes de sound1
beginning = sound1[:5000]

# dernière 5 secondes de sound1
end = sound1[-5000:]

# découpe sound1 en morceau de 5 secondes.
slices = sound1[::5000]

 

Inverser le fichier

Voici un extrait de documentation concernant cette méthode :

AudioSegment(…).reverse()

Make a copy of this AudioSegment that plays backwards.

Exemple :

from pydub import AudioSegment
sound = AudioSegment.from_file("/path/to/sound.wav", format="wav")

reverse_sound = sound.reverse()

Inverser la phase d'un son

Voici un extrait de documentation concernant cette méthode :

AudioSegment(…).invert_phase()

Inverse la phase d’un morceau, pratique pour par exemple retirer ce son dans un autre morceau en le collant dedans.

Exemple :

from pydub import AudioSegment
sound = AudioSegment.from_file("/path/to/sound.wav", format="wav")

reverse_sound = sound.invert_phase()

Créer un AudioSegment vide

Si tu veux créer une variable avec un AudioSegment vide, pour pouvoir ajouter des AudioSegment dedans, utilise cette fonction.

from pydub import AudioSegment

son_vide = AudioSegment.empty()

Superposer deux morceau

Superpose deux morceau l’un sur l’autre.

Exemple :

from pydub import AudioSegment
sound = AudioSegment.from_file("/path/to/sound.wav", format="wav")
sound2 = AudioSegment.from_file("/path/to/sound2.wav", format="wav")
 
#Ici on colle le morceau sound2 sur sound, à 5 secondes à partir du début du sound1.
mix = sound.overlay(sound2, position=5000)

Inverser le fichier

Voici un extrait de documentation concernant cette méthode :

AudioSegment(…).reverse()

Make a copy of this AudioSegment that plays backwards.

Exemple :

from pydub import AudioSegment
sound = AudioSegment.from_file("/path/to/sound.wav", format="wav")

reverse_sound = sound.reverse()

Enregistrer un fichier

Voici un extrait de documentation concernant cette méthode :

AudioSegment(…).export()

Write the AudioSegment object to a file – returns a file handle of the output file (you don’t have to do anything with it, though).

Exemple :

from pydub import AudioSegment
sound = AudioSegment.from_file("/path/to/sound.wav", format="wav")

file_handle = sound.export("/path/to/output.mp3", format="mp3")

Ecouter un son sur google colab

Pour pouvoir écouter le son sur google colab nous allons utiliser Ipython.display.

Exemple :

from IPython.display import Audio, display

sound = AudioSegment.from_file("/content/MonDossier/MonSonAécouter.mp3")
Audio(sound)

Aller plus loin


Pour aller plus loin voici l’ensemble de la librairie pydub
https://github.com/jiaaro/pydub/blob/master/API.markdown