Convertir des fichiers MP3 en mono

Dans cet article, je te présente comment convertir des fichiers MP3 en mono à l’aide du logiciel FFmpeg.

Obtenir le logiciel FFmpeg

FFmpeg est un logiciel libre qui permet de transformer des fichiers contenant de l’audio et du vidéo. Il permet de faire de l’édition et de la conversion vers d’autres formats audio et vidéo ou dans le même format avec d’autres paramètres. C’est à la fois un codec et un éditeur de contenu. Il est un peu considéré comme le couteau suisse de l’audio-vidéo dans le monde du logiciel libre.

  • Sur Windows, le logiciel est distribué via le système Winget. Tu peux l’installer avec la commande PowerShell suivante:
winget install ffmpeg
  • Sur MacOS, le logiciel est disponible via Homebrew avec cette commande:
brew install ffmpeg
  • Tu peux aussi obtenir FFmpeg via ta distribution Linux. Sur les systèmes Ubuntu et Debian, tu peux utiliser cette commande:
sudo apt install ffmpeg

Convertir les fichiers mp3

Dans le cas qui m’intéresse ici, j’ai besoin de convertir des fichiers MP3 au format mono afin de les envoyer comme entrée à un algorithme de reconnaissance vocale qui convertis la voix en texte.

Je vais donc utiliser:

  • le codec audio (-c:a) libre LibMP3Lame
  • une qualité (-q:a) de 2 (medium)
  • un seul canal audio (-ac 1)

J’utilise une boucle for pour itérer sur tous les fichiers avec une extension .mp3 dans mon répertoire. Le fichier résultant est préfixé par mono- pour le différencier des fichiers originaux.

for f in *.mp3
do 
ffmpeg -i "$f" -c:a libmp3lame -q:a 2 -ac 1 mono-"$f"
done

Ce code ne fonctionnera pas dans PowerShell, mais tu peux aussi utiliser WSL sur Linux pour avoir accès à Bash. Tu devras installer FFMpeg comme pour Ubuntu ci-dessus par contre.

Si tu souhaites utiliser Powershell, voici le script à utiliser:

Get-ChildItem -Filter *.mp3 | ForEach-Object {
    $outputFileName = "mono-$($_.Name)"
    ffmpeg -i $_.FullName -c:a libmp3lame -q:a 2 -ac 1 $outputFileName
}

Bonne conversion !

Ça pourrait aussi t’intéresser