web-dev-qa-db-fra.com

Quel est le meilleur moyen de fusionner des fichiers mp3?

J'ai beaucoup, beaucoup de fichiers mp3 que je voudrais fusionner en un seul fichier. J'ai utilisé la méthode en ligne de commande

copy /b 1.mp3+2.mp3 3.mp3

mais c'est pénible quand il y en a beaucoup et que leurs noms sont incohérents. Le temps ne semble jamais sortir correctement non plus.

57
Dan Williams

Comme Thomas Owens l'a fait remarquer, la simple concaténation des fichiers laissera plusieurs en-têtes ID3 dispersés dans le fichier concaténé résultant, de sorte que les informations de temps et de débit seront extrêmement fausses.

Vous allez avoir besoin d'utiliser un outil capable de combiner les données audio pour vous.

mp3wrap serait idéal pour cela - il est conçu pour réunir des fichiers MP3, sans avoir besoin de décoder + ré-encoder les données (ce qui entraînerait une perte de qualité audio) et traitera également l'ID3 balises intelligemment.

Le fichier résultant peut également être fractionné en ses composants à l'aide de l'outil mp3splt - mp3wrap ajoute des informations au commentaire IDv3 afin de permettre cette opération.

49
David Precious

La réponse de David a raison de dire que la simple concaténation des fichiers laissera des tags ID3 éparpillés à l'intérieur (bien que cela n'affecte normalement pas la lecture, vous pouvez donc faire "copy/b" ou sur UNIX "cat a.mp3 b .mp3> combine.mp3 "dans un pincement).

Cependant, mp3wrap n'est pas exactement le bon outil pour combiner plusieurs MP3 en un fichier "propre". Plutôt que d'utiliser ID3, il insère en fait son propre format de données personnalisé parmi les cadres MP3 (la partie "wrap"), ce qui pose des problèmes de lecture, en particulier sur iTunes et les iPod. Bien que le fichier puisse être lu correctement si vous le laissez simplement courir du début à la fin (car les joueurs ignoreront ces octets arbitraires non MPEG), le fichier la durée et le débit seront signalés de manière incorrecte, ce qui interrompt la recherche. En outre, mp3wrap effacera toutes vos métadonnées ID3, y compris la jaquette, et ne pourra pas mettre à jour l'en-tête VBR avec la longueur de fichier correcte.

mp3cat à lui seul produira un bon fichier de données concaténé (donc meilleur que mp3wrap), mais il supprimera également les balises ID3 et ne parviendra pas à mettre à jour l'en-tête VBR avec la longueur correcte du fichier joint.

Voici une bonne explication de ces problèmes et de cette méthode (deux en fait) pour combiner des fichiers MP3 et produire un résultat final "net" avec des métadonnées originales intactes - sa ligne de commande fonctionne donc sur Mac/Linux/BSD etc. Il utilise:

  • mp3cat pour combiner les trames de données MPEG uniquement dans un fichier continu, puis
  • id3cp pour copier toutes les métadonnées dans le fichier combiné, et enfin
  • VBRFix pour mettre à jour l'en-tête VBR.

Pour un outil graphique Windows, regardez Merge MP - il s’occupe de tout. (VBRFix se présente également sous forme d'interface graphique, mais il ne fait pas la jointure.)

57
joelhardi

Utilisez ffmpeg ou un outil similaire pour convertir tous vos fichiers MP3 en 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, au moment de l'exécution, concattez vos fichiers:

cat intermediateA.mp3 intermediateB.mp3 > output.mp3

Enfin, lancez-les à travers l'outil MP3Val pour corriger les erreurs de flux sans forcer un réencodage complet:

mp3val output.mp3 -f -nb
17
bmurphy1976

Le problème de temps a à voir avec les en-têtes ID3 des fichiers MP3, ce que votre méthode ne prend pas en compte car tout le fichier est copié.

Avez-vous une langue de choix que vous souhaitez utiliser ou est-ce que cela n'a pas d'importance? Cela affectera les bibliothèques disponibles prenant en charge les opérations souhaitées.

5
Thomas Owens

Ce que je voulais vraiment, c'était une interface graphique pour les réorganiser et les sortir sous la forme d'un fichier

Playlist Producer fait exactement cela, en les décodant et en les réencodant dans un MP3 combiné. Il est conçu pour créer des bandes de mixage ou de simples podcasts, mais cela pourrait vous être utile.

(Divulgation: j'ai écrit le logiciel et je profite de l'achat de l'édition Pro. L'édition Lite est une version gratuite avec quelques limitations).

4
Adam

Les fichiers MP3 ont des en-têtes que vous devez respecter.

Vous pouvez aussi utiliser une bibliothèque telle que Projet de bibliothèque audio Open Source et écrire un outil autour de celle-ci. Ou vous pouvez utiliser un outil qui comprend les fichiers mp3 comme Audacity .

3
Chris M.

Si vous voulez quelque chose gratuit avec une interface utilisateur simple qui fait un complètement nettoyer mp3 je recommande MP3 Joiner .

Caractéristiques:

  • Supprime les données ID3 (ID3v1 et ID3v2.x) et n'ajoute pas les siennes (contrairement à mp3wrap)
  • Jointure sans perte (ne décode pas et ne réencode pas les fichiers .mp3). Aucun codec requis.
  • Interface utilisateur simple (voir ci-dessous)
  • Faible utilisation de la mémoire (utilise des flux)
  • Très rapide (comparé au mp3wrap)
  • Je l'ai écrit :) - afin que vous puissiez demander des fonctionnalités et je les ajouterai.

MP3 Joiner app

Liens:

  • Site Web MP3 Joiner: Ici
  • Dernier installateur: Ici
3
James

Comme David le dit, mp3wrap est la voie à suivre. Cependant, j’ai constaté que cela ne réglait pas l’en-tête de la longueur audio et iTunes a donc refusé de lire le fichier en entier, même si toutes les données étaient là. (J'ai fusionné trois fichiers de 7 minutes, mais les premières 7 minutes seulement.)

J'ai déterré cet article de blog , qui explique comment résoudre ce problème et comment copier les balises ID3 à partir des fichiers d'origine (seul, mp3wrap supprime vos balises ID3). Ou simplement copier les balises (en utilisant id3cp à partir de id3lib ), faites:

id3cp original.mp3 new.mp3
2
joelhardi

Je n'avais jamais entendu parler de mp3wrap auparavant. C'est génial. Je suppose que quelqu'un en a aussi fait un quelque part. Mais, juste pour répondre au message d'origine, j'ai écrit une interface graphique qui utilise la méthode COPY/b. Donc, sous les couvertures, rien de nouveau sous le soleil, mais le programme vise à rendre le processus moins pénible si vous avez beaucoup de fichiers à fusionner ... ET vous ne voulez pas ré-encoder ET chaque ensemble de fichiers fusionner sont le même débit. Si vous avez cela (et que vous êtes sur Windows), consultez Mp3Merge à l'adresse: http://www.leighweb.com/david/mp3merge et voyez si c'est ce que vous recherchez.

1
David Leigh

Je voudrais utiliser Winamp pour faire cela. Créez une liste de lecture de fichiers que vous souhaitez fusionner en une seule, sélectionnez le plug-in de sortie Disk Writer, choisissez le nom du fichier et vous avez terminé. Le fichier que vous obtiendrez sera un fichier MP3 correct et vous pourrez définir le débit, etc.

1
szeryf

Personnellement, je voudrais utiliser quelque chose comme mplayer avec l'option de transmission audio, par exemple -oac copy

0
James

Au lieu d'utiliser la ligne de commande pour faire

copier/b 1.mp3 + 2.mp3 3.mp3

vous pourriez plutôt utiliser "The Rename" pour renommer tous les fragments MP3 en une série de noms ordonnés en fonction d'un type de compteur. Ensuite, vous pouvez simplement utiliser le même format de ligne de commande mais le modifier un peu en:

copier/b * .mp3 nom_sortie.mp3

Cela suppose que vous avez extrait tous les fragments MP3 en même temps et qu'ils ont les mêmes paramètres audio. Travaillait très bien pour moi lorsque je convertissais un livre audio que j'avais en .aa en un seul fichier .mp3. Je devais graver tous les fichiers .aa sur 9 CD, puis extraire tous les 9 CD, puis il me restait environ 90 MP3. Vraiment une douleur dans l'a55.

0
Daave311