Comme il a été suggéré ici, j'utilise une cat
commande pour concaténer plusieurs fichiers .mp3 en un seul fichier .mp3.
Imaginez, j'ai les fichiers .mp3 suivants dans le dossier actuel:
001001.mp3 001002.mp3 001003.mp3 001004.mp3 001005.mp3
ou comme ceci:
096001.mp3 096002.mp3 096003.mp3 096004.mp3
Je dois concaténer ces fichiers .mp3 en ordre croissant, c.-à-d. 001001.mp3+001002.mp3+001003.mp3+etc.
Afin de joindre ces fichiers .mp3 en un seul, j'exécute la commande suivante dans le dossier actuel:
cat *.mp3 > final.mp3
J'ai testé le fichier final .mp3 et c'est ce à quoi je m'attendais, mais je dois être sûr que la commande ci-dessus sélectionne les fichiers dans leur ordre croissant.
Puis-je être sûr que la commande ci-dessus concatène toujours des fichiers dans l'ordre croissant?
Merci Monsieur !
la source
find . -maxdepth 1 -iname '*.mp3' -print0 | sort -z | xargs -0 mp3wrap output.mp3
*.mp3
devrait suffire (et travaille avec des espaces).$ brew install mp3wrap
.*.mp3
est garanti de préserver l’ordre alphabétique. Si vos fichiers sont nommés09.mp3
,10.mp3
,11.mp3
, c'est probablement ce que vous voulez. Si vos fichiers sont nommés9.mp3
,10.mp3
,11.mp3
, qui est sans doute pas ce que vous voulez, mais vous pouvez le faire`ls *.mp3 | sort -n`
.mp3wrap semble être une solution assez convenable, mais lorsque j'ai lu le fichier résultant, l'horodatage n'était pas correct. Il semble que la meilleure utilisation de mp3wrap est lorsque vous joignez des mp3 dans un fichier que vous voudrez scinder plus tard.
Je voulais simplement concaténer de façon permanente des mp3 ensemble. J'ai fini par utiliser ffmpeg pour concaténer les fichiers:
Tout d'abord, installez ffmpeg
Ubuntu 15.04+
Ubuntu 14.10 et inférieur
Accédez à http://ffmpeg.org/download.html , téléchargez l'une des versions statiques, décompressez-la et copiez-la dans / usr / local / bin.
ffmpeg -i "concat:file1.mp3|file2.mp3" -acodec copy output.mp3
Plus d'infos: https://trac.ffmpeg.org/wiki/Concatenate#protocol
https://superuser.com/a/314245
la source
ffmpeg
est manquant, mais leavconv
remplace: askubuntu.com/questions/432542/…output.mp3
travers unmp3val
et vous verrez toutes sortes d'erreurs qui vont créer des problèmes de lecture dans Chrome64 + (voir bugs.chromium.org/p/chromium/issues/detail?id=794782 et bugs.chromium.org/p/chromium/ problèmes / détail? id = 806601 # c10 )Comme suggéré précédemment,
mp3wrap
c'est une bonne solution. Cela peut ne pas fonctionner tout le temps cependant. Autant que je sache,mp3wrap
supposons que tous les fichiers d'entrée présentent les mêmes caractéristiques, telles que VBR, CBR, bitrate, etc. Si cette hypothèse n'est pas respectée, il est probable qu'elle échoue. Dans ce cas, la seule solution serait de décoder tous les fichiers MP3 en un format brut tel que.wav
, de les concaténer avec un programme tel quesox
et de terminer en réencodant tous les fichiers au format MP3.la source
Il effectue un tri alphabétique basé sur des caractères uniques. Cela signifie que "01" vient avant "1", puisque rien n'a une valeur inférieure à un.
Voici un exemple. J'ai un répertoire avec les fichiers 1, 2, 3, 04, 05 et 06. Ce sont des fichiers texte qui contiennent leurs propres noms de fichier:
Alors oui, ça va; mais vous devez vous assurer que tous vos fichiers sont correctement "rembourrés".
Cette ligne astucieuse de script bash vous permettra de comparer visuellement les noms de fichiers, ce qui facilitera la détection des erreurs:
Sa sortie ressemblera à ceci:
Si ce n'est pas le cas, vous devrez tamponner les noms de fichier: Le script Bash pour tamponner les noms de fichier sur StackOverflow explique comment procéder.
Modifier. Votez pour la réponse d'Oli, c'est beaucoup mieux. : P
Je vais laisser le mien parce qu'il ajoute quelque chose, mais vous devriez utiliser sa solution,
Gardez à l'esprit que
sort
les choses vont toujours trier de la manière décrite ci-dessus, vous aurez toujours besoin de classer les noms de fichiers s'ils ne sont pas égaux en longueur.la source
La plupart des gens suggèrent
mp3wrap
, mais cela a des inconvénients: le fichier généré ne rapporte pas sa longueur totale chez certains lecteurs, et vous ne pouvez pas chercher au-delà de ce point.mp3cat
fait le travail vite et bien, autant que je sache. Il peut être téléchargé sur http://mulholland.xyz/dev/mp3cat/ et utilisé comme suit:une autre possibilité serait
sox
mais cela semble très lent (peut-il décoder et réencoder l'audio?)
la source
J'ai trouvé que le service audio-menuisier en ligne fonctionnait très bien et conservait l'heure exacte (contrairement à mp3wrap).
la source
Vous voudrez peut-être essayer d’utiliser un programme d’édition audio dédié (comme Audacity )
la source
J'adore le commentaire de bmaupin , qui pourrait néanmoins produire des nombres naturels (version) en utilisant
sort -V
:et vous n'avez pas à traiter avec des caractères spéciaux comme
' " () [] {}
dans le nom du fichier.la source