GNU/Linux >> Tutoriels Linux >  >> Linux

Joindre plusieurs fichiers MP3 (sans perte)

Vous pouvez le faire par programmation avec le démultiplexeur concat de ffmpeg.

Tout d'abord, créez un fichier appelé inputs.txt avec des lignes comme

file '/path/to/input1.mp3'
file '/path/to/input2.mp3'
file '/path/to/input3.mp3'

...etc. Ensuite, exécutez la commande ffmpeg suivante :

ffmpeg -f concat -i inputs.txt -c copy output.mp3

Il est possible de générer facilement inputs.txt avec un bash for boucle (cela peut probablement être fait avec un lot Windows pour la boucle également), en supposant que vous souhaitez fusionner les fichiers dans l'ordre alphabétique. Cela correspondra à chaque *.mp3 dans le répertoire de travail, mais il peut être facilement modifié :

for f in ./*.mp3; do echo "file '$f'" >> inputs.txt; done
##  Alternatively
printf "file '%s'\n" ./*.mp3 >> inputs.txt

Il est aussi possible de faire le tout sur une seule ligne, en évitant la création d'un fichier liste intermédiaire avec substitution de process :

ffmpeg -f concat -i <(printf "file '%s'\n" ./*.mp3) -c copy output.mp3

Utilisez ffmpeg ou un outil similaire pour convertir tous vos MP3 dans un format cohérent, par exemple

ffmpeg -i originalA.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateA.mp3 ffmpeg -i originalB.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateB.mp3

Ensuite, lors de l'exécution, concaténez vos fichiers :

cat intermediateA.mp3 intermediateB.mp3 > output.mp3

Enfin, exécutez-les via l'outil MP3Val pour corriger les erreurs de flux sans forcer un réencodage complet :

mp3val output.mp3 -f -nb
(source)


Linux
  1. Comment diviser un seul fichier en plusieurs fichiers en fonction des lignes

  2. Attendre la fin du téléchargement de plusieurs fichiers ?

  3. Joindre plusieurs champs dans des fichiers texte sous Unix

  4. Comment diviser un fichier texte en plusieurs fichiers *.txt ?

  5. Comment joindre/fusionner plusieurs fichiers mp3 ?

Déplacer des fichiers sur Linux sans mv

Copier des fichiers sous Linux

Commande Cp sous Linux (Copier des fichiers)

Comment renommer un ou plusieurs fichiers sous Linux

Comment joindre plusieurs lignes en une seule dans un fichier sous Linux

Comment joindre/fusionner plusieurs fichiers audio en un seul sous Linux