it-swarm-eu.dev

Was ist der beste Weg, um MP3-Dateien zusammenzuführen?

Ich habe viele, viele MP3-Dateien, die ich zu einer einzigen Datei zusammenführen möchte. Ich habe die Befehlszeilenmethode verwendet

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

aber es ist ein Schmerz, wenn es viele von ihnen gibt und ihre Benennungen inkonsistent sind. Die Zeit scheint auch nie richtig herauszukommen.

57
Dan Williams

Wie Thomas Owens hervorhob, werden durch einfaches Verketten der Dateien mehrere ID3-Header in der resultierenden verketteten Datei verstreut, sodass die Zeit-/Bitrateninformationen völlig falsch sind.

Sie müssen ein Tool verwenden, das die Audiodaten für Sie kombinieren kann.

mp3wrap wäre ideal dafür - es wurde entwickelt, um MP3-Dateien zusammenzufügen, ohne dass die Daten dekodiert und neu kodiert werden müssen (was zu einem Verlust der Audioqualität führen würde), und es wird auch mit der ID3 umgegangen Tags intelligent.

Die resultierende Datei kann auch mit dem mp3splt-Tool in ihre Bestandteile zerlegt werden - mp3wrap fügt dem IDv3-Kommentar Informationen hinzu, um dies zu ermöglichen.

49
David Precious

Davids Antwort ist richtig, dass nur die Verkettung der Dateien ID3-Tags hinterlässt (obwohl dies normalerweise keine Auswirkung auf die Wiedergabe hat, können Sie "copy/b" oder unter UNIX "cat a.mp3 b" ausführen .mp3> kombiniert.mp3 "zur Not).

Mp3wrap ist jedoch nicht genau das richtige Tool, um mehrere MP3s zu einer "sauberen" Datei zu kombinieren. Anstatt ID3 zu verwenden, fügt es sein eigenes benutzerdefiniertes Datenformat in die MP3-Frames (den "Wrap" -Teil) ein, was Probleme bei der Wiedergabe verursacht, insbesondere bei iTunes und iPods. Obwohl die Datei einwandfrei wiedergegeben wird , wenn Sie sie nur von Anfang bis Ende laufen lassen (da die Player diese nicht-MPEG-Bytes überspringen), wird die Datei beliebig Dauer und Bitrate werden falsch gemeldet, was die Suche unterbricht. Außerdem löscht mp3wrap alle Ihre ID3-Metadaten, einschließlich Cover-Grafiken, und aktualisiert den VBR-Header nicht mit der richtigen Dateilänge.

mp3cat allein erstellt eine gute verkettete Datendatei (besser als mp3wrap), entfernt jedoch auch ID3-Tags und aktualisiert den VBR-Header nicht mit der richtigen Länge der verknüpften Datei.

Hier ist eine gute Erklärung dieser Probleme und eine Methode (eigentlich zwei), um MP3-Dateien zu kombinieren und ein "sauberes" Endergebnis mit intakten Original-Metadaten zu erzielen - die Befehlszeile funktioniert also unter Mac/Linux/BSD usw. Es verwendet:

  • mp3cat , um die MPEG-Datenrahmen nur zu einer fortlaufenden Datei zu kombinieren
  • id3cp um alle Metadaten in die kombinierte Datei zu kopieren und schließlich
  • VBRFix um den VBR-Header zu aktualisieren.

Schauen Sie sich für ein Windows-GUI-Tool MP3 zusammenführen an - es kümmert sich um alles. (VBRFix wird auch in GUI-Form geliefert, führt jedoch keine Verknüpfung durch.)

57
joelhardi

Verwenden Sie ffmpeg oder ein ähnliches Tool, um alle Ihre MP3s in ein konsistentes Format zu konvertieren, z.

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

Anschließend können Sie zur Laufzeit Ihre Dateien zusammenfassen:

cat intermediateA.mp3 intermediateB.mp3 > output.mp3

Führen Sie sie abschließend mit dem Tool MP3Val aus, um Stream-Fehler zu beheben, ohne eine vollständige Neucodierung zu erzwingen:

mp3val output.mp3 -f -nb
17
bmurphy1976

Das Zeitproblem hat mit den ID3-Headern der MP3-Dateien zu tun, was Ihre Methode nicht berücksichtigt, da die gesamte Datei kopiert wird.

Haben Sie eine Sprache Ihrer Wahl, die Sie verwenden möchten, oder spielt es keine Rolle? Dies wirkt sich darauf aus, welche Bibliotheken verfügbar sind, die die gewünschten Vorgänge unterstützen.

5
Thomas Owens

Was ich wirklich wollte, war eine GUI, um sie neu zu ordnen und als eine Datei auszugeben

Playlist Producer macht genau das, dekodiert und kodiert sie in eine kombinierte MP3. Es wurde für das Erstellen von Mix-Bändern oder einfachen Podcasts entwickelt, ist aber möglicherweise hilfreich.

(Offenlegung: Ich habe die Software geschrieben und profitiere davon, wenn Sie die Pro Edition kaufen. Die Lite Edition ist eine kostenlose Version mit einigen Einschränkungen.).

4
Adam

MP3-Dateien haben Überschriften, die Sie beachten müssen.

Sie könnten eine Bibliothek wie Open Source Audio Library Project verwenden und ein Tool darum schreiben. Oder Sie können ein Tool verwenden, das MP3-Dateien wie Audacity versteht.

3
Chris M.

Wenn Sie etwas wollen kostenlos mit einer einfachen Benutzeroberfläche, die eine vollständig macht sauberer mp3 Ich empfehle MP3 Joiner .

Funktionen:

  • Entfernt ID3-Daten (sowohl ID3v1 als auch ID3v2.x) und fügt keine eigenen hinzu (im Gegensatz zu mp3wrap)
  • Verlustfreies Verbinden (dekodiert die .mp3s nicht und kodiert sie nicht neu). Keine Codecs erforderlich.
  • Einfache Benutzeroberfläche (siehe unten)
  • Geringer Speicherbedarf (verwendet Streams)
  • Sehr schnell (im vergleich zu mp3wrap)
  • Ich habe es geschrieben :) - so können Sie Features anfordern und ich werde sie hinzufügen.

MP3 Joiner app

Links:

  • MP3 Joiner-Website: hier
  • Letzter Installer: hier
3
James

Wie David sagt, ist mp3wrap der richtige Weg. Ich stellte jedoch fest, dass der Header für die Audiolänge nicht korrigiert wurde, und iTunes weigerte sich, die gesamte Datei abzuspielen, obwohl alle Daten vorhanden waren. (Ich habe drei 7-Minuten-Dateien zusammengeführt, aber es wurden nur die ersten 7 Minuten angezeigt.)

Ich habe diesen Blog-Beitrag ausgegraben, der erklärt, wie dies behoben wird und wie die ID3-Tags aus den Originaldateien kopiert werden (mp3wrap löscht Ihre ID3-Tags von sich aus). Oder kopieren Sie einfach die Tags (mit id3cp aus id3lib ):

id3cp original.mp3 new.mp3
2
joelhardi

Ich hatte noch nie von mp3wrap gehört. Sieht großartig aus. Ich vermute, irgendwo hat es jemand auch in ein Gui geschafft. Um auf den ursprünglichen Beitrag zu antworten, habe ich eine GUI geschrieben, die die COPY/b-Methode ausführt. Im Hintergrund also nichts Neues unter der Sonne, aber es geht darum, den Prozess weniger schmerzhaft zu gestalten, wenn Sie viele Dateien zusammenführen müssen ... UND Sie möchten nicht jeden Satz von Dateien neu codieren UND zu verschmelzen ist die gleiche Bitrate. Wenn Sie das haben (und unter Windows arbeiten), schauen Sie sich Mp3Merge an: http://www.leighweb.com/david/mp3merge und prüfen Sie, ob Sie danach suchen.

1
David Leigh

Ich würde Winamp verwenden, um dies zu tun. Erstellen Sie eine Wiedergabeliste mit Dateien, die Sie zu einer zusammenführen möchten, wählen Sie das Disk Writer-Ausgabe-Plug-in und anschließend den Dateinamen. Die Datei, die Sie erhalten, ist die richtige MP3-Datei und Sie können die Bitrate usw. einstellen.

1
szeryf

Persönlich würde ich so etwas wie mplayer mit der Audio-Pass-Through-Option verwenden, z. B. -oac copy

0
James

Anstatt die Kommandozeile zu benutzen

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

sie könnten stattdessen "The Rename" verwenden, um alle MP3-Fragmente in eine Reihe von Namen umzubenennen, die auf einer Art Zähler basieren. Dann können Sie einfach dasselbe Befehlszeilenformat verwenden, es jedoch ein wenig ändern in:

copy/b * .mp3 ausgangsname.mp3

Das heißt, Sie haben alle diese Fragment-MP3s gleichzeitig gerippt und sie haben die gleichen Audioeinstellungen. Arbeitete großartig für mich, als ich ein Hörbuch, das ich in .aa hatte, in eine einzelne .mp3 konvertierte. Ich musste alle .aa-Dateien auf 9 CDs brennen, dann alle 9 CDs rippen, und dann blieben mir etwa 90 MP3s übrig. Wirklich ein Schmerz im a55.

0
Daave311