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() 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 contient l’audio ouvert.
C’est un objet immuable, ce qui veut dire que l’on ne peut pas le modifier. Toutes les fonctions que l’on va utiliser vont donc créer un nouvel objet 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 ») |
Inverser le fichier
Voici un extrait de documentation concernant cette méthode :
AudioSegment(…).reverse() |
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 morceaux
Superpose deux morceaux 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) |
Enregistrer un fichier
Pour enregistrer un fichier de son, on utilise la méthode export() :
from pydub import AudioSegment # On enregistre le résultat musique.export(« ma_musique.mp3 ») |
Si on veut l’enregistrer a un endroit précis dans nos fichiers, nous allons lui donner le chemin complet :
from pydub import AudioSegment # On enregistre le résultat musique.export(« /content/dossier_x/ma_musique.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