Recherche de site Web

Comment convertir en masse des fichiers audio dans le terminal Linux


Il est important que vous compreniez toutes les commandes de terminal que vous copiez/collez depuis Internet avant de les exécuter. De brèves explications sont incluses ci-dessous, mais assurez-vous de vérifier ce que fait chaque commande avant de l'exécuter !

Convertir le format de fichier audio

La commande du terminal Linux ci-dessous montre comment utiliser FFmpeg pour convertir un fichier WAV en MP3 :

for file in /path/to/source_directory/*.wav; do ffmpeg -i "$file" "/path/to/output_directory/$(basename "${file%.*}.mp3")"; done

Pour expliquer rapidement ce qui se passe ici (et dans les autres exemples de cette page qui utilisent des boucles pour traiter plusieurs fichiers) :

  • Une boucle for est utilisée pour traiter tous les fichiers avec une extension .wav dans un répertoire source. Dans la boucle, le chemin d'accès à chaque fichier audio est attribué à la variable $file.
  • La variable $file est passée à la commande ffmpeg à l'aide de l'option -i qui spécifie le fichier d'entrée.
  • Le dernier paramètre transmis à FFmpeg est toujours le chemin du fichier de sortie. FFmpeg déterminera automatiquement le format du fichier résultant en fonction de l'extension (dans ce cas, .mp3).

Les formats de fichiers audio populaires pris en charge par FFmpeg pour la conversion audio sont MP3, AAC, OGG, WAV, FLAC, M4A, WMA et AIFF.

Pour modifier la conversion de fichier dans le script ci-dessus, remplacez .wav par l'extension de fichier correspondant aux fichiers dont vous souhaitez convertir le format, et remplacez .mp3 par un FFmpeg pris en charge format vers lequel convertir. Gardez à l’esprit que les chemins et extensions de fichiers sous Linux sont sensibles à la casse !

Modifier le débit audio

La commande de terminal ci-dessous convertit en masse le débit binaire des fichiers MP3 en 128 Ko :

for file in /path/to/source_directory/*.mp3; do ffmpeg -i "$file" -b:a 128k "/path/to/output_directory/$(basename "${file%.*}_128k.mp3")"; done

Réduire le débit binaire rend les fichiers audio plus petits, tandis que l'augmenter les rend plus gros. Notez que la réduction du débit est un processus à sens unique : une fois que vous avez réduit la qualité, les informations perdues ne peuvent pas être récupérées, et augmenter à nouveau le débit ne restaurera pas la qualité d'origine (même si le fichier peut encore grossir, la qualité sera gagnée). ne soit pas amélioré).

Les débits binaires courants utilisés dans l'audio numérique sont :

  • 320k pour une qualité audio (presque) CD
  • 256 000 pour une haute qualité
  • 192k pour une qualité standard
  • 128k pour la qualité de la radio FM

Les débits inférieurs à 128k feront vraiment souffrir votre audio (et sonneront comme un vieil appel téléphonique), ils ne sont donc recommandés que pour les situations où une compression importante de l'audio (comme de longs enregistrements de conversations) est nécessaire.

Normaliser le volume audio

La normalisation du volume rend le niveau audio d'un fichier audio cohérent afin que les parties fortes d'un fichier ne soient pas significativement plus fortes que le reste de l'enregistrement :

for file in /path/to/source_directory/*.mp3; do ffmpeg -i "$file" -filter:a loudnorm "/path/to/output_directory/$(basename "${file%.*}_normalized.mp3")"; done

Le filtre loudnorm dans FFmpeg est utilisé dans la commande de terminal ci-dessus pour normaliser le volume.

Convertir en mono/stéréo

Une façon de réduire davantage la taille d'un fichier audio consiste à le convertir de stéréo en mono (à condition que le contenu n'ait pas besoin d'être en stéréo, par exemple les enregistrements d'appels) :

Conversion stéréo en mono :

for file in /path/to/source_directory/*.mp3; do ffmpeg -i "$file" -ac 1 "/path/to/output_directory/$(basename "${file%.*}_mono.mp3")"; done

Conversion mono en stéréo :

for file in /path/to/source_directory/*.mp3; do ffmpeg -i "$file" -ac 2 "/path/to/output_directory/$(basename "${file%.*}_stereo.mp3")"; done

Notez que, tout comme la réduction du débit binaire, vous perdez des informations lors de la conversion stéréo en mono. Les pistes gauche et droite seront fusionnées et ne seront pas annulées si vous reconvertissez le fichier en stéréo ; la piste mono sera simplement dupliquée sur les canaux droit/gauche.

Renommer les fichiers par lots

La commande ci-dessous ajoute la chaîne _renamed au nom de fichier de tous les fichiers MP3 d'un répertoire :

for file in /path/to/source_directory/*.mp3; do cp "$file" "/path/to/output_directory/$(basename "${file%.*}_renamed.mp3")"; done

Si vous convertissez ou renommez régulièrement des fichiers audio en masse sous Linux, vous pouvez ajouter ces commandes à un script Bash pour une réutilisation pratique.

Linux est une excellente plate-forme pour l'édition audio

Si vous cherchez à aller au-delà de la simple conversion audio en masse, vous pouvez apprendre à créer votre propre musique sous Linux ou à héberger votre propre serveur de radio en streaming.

Articles connexes: