So konvertieren Sie WAV in MP3, ohne zu Beginn Stille hinzuzufügen

4539
Niklas

Folgendes muss ich tun: Wandeln Sie eine 30,0 Sek. WAV in eine 30,0 MP3 um.

Ich habe versucht, dies mit LAME zu tun, aber egal, was ich versuche, fügt LAME der Ausgabe mp3 immer einen kurzen Moment der Stille hinzu. Mit LAME wird mein 30,0 Sek. WAV zu einer 30,1 Sek. MP3. Das ist lahm.

Kennt jemand eine Möglichkeit, WAV mithilfe der Windows-Befehlszeile in MP3 zu konvertieren?

Zum Beispiel durch Ausführen von "program.exe in.wav out.mp3" von CMD?

Es ist wichtig, dass der resultierenden MP3-Datei KEINE Stille hinzugefügt wird. Ich kann das nicht genug betonen.

6
Dies ist aufgrund der Besonderheiten des MP3-Formats selbst nicht möglich, was die Verwendung von Frames mit konstanter Länge und eine Halbbild-Präambel erfordert. Sie können das Audio nahtlos durch verschiedene Tricks * durchlaufen *, aber Sie können einfach keine gültige, standardkonforme MP3 aus einer beliebigen Quelle ohne diese Stille erzeugen. vaxquis vor 7 Jahren 0

3 Antworten auf die Frage

2
Mike Brown

Ein MP3-Stream enthält Informationen zum Erzeugen eines Satzes von Samples, wobei jedes Sample einem Sample in den ursprünglichen LPCM-Daten entspricht (wie aus der WAV-Datei). Ein Nebeneffekt der Codierung besteht jedoch darin, dass jedem "Junk" hinzugefügt wird Ende und ein Nebeneffekt der Dekodierung ist, dass am Anfang noch mehr Junk hinzugefügt wird. Der Decoder weiß, wie viel er hinzufügt, und überspringt diese Samples, aber der durch den Encoder hinzugefügte Müll ist nicht vollständig vorhersagbar (verschiedene Encoder addieren unterschiedliche Beträge), sodass der Decoder diese Samples nicht überspringen kann, wenn er nicht irgendwie darüber informiert ist, was zu tun ist überspringen. Einige Encoder wie LAME fügen solche Informationen wie "Gapless Playback" oder "Delay and Padding" (in einem encoderspezifischen Format, da es keinen Standard dafür gibt) in den VBR-Info (VBRI) oder Xing-Header der Datei ein. Dies ist eine Art Standard auch für CBR-Dateien und enthält andere Informationen, die manchmal für den Player hilfreich sind. Dieser Header ist eigentlich ein Ruhezustand (normalerweise 1152 Samples), wobei einige speziell formatierte Informationen zwischen dem Header des Frames und dem Beginn seiner Null-Audiodaten eingebettet sind. Die meisten Decoder / Player erkennen den Frame als besonders und überspringen diese Samples, aber einige tun dies nicht, daher gibt es einen weiteren potenziellen Fehler. Ich würde also darauf achten, dass Sie eine kompatible Encoder / Decoder-Kombination verwenden, um Dateien mit der richtigen Länge und Junk-Trimm als Ausgabe zu erhalten. Die meisten Decoder / Player erkennen den Frame als besonders und überspringen diese Samples, aber einige tun dies nicht, daher gibt es einen weiteren potenziellen Fehler. Ich würde also darauf achten, dass Sie eine kompatible Encoder / Decoder-Kombination verwenden, um Dateien mit der richtigen Länge und Junk-getrimmten Dateien als Ausgabe zu erhalten. Die meisten Decoder / Player erkennen den Frame als besonders und überspringen diese Samples, aber einige tun dies nicht, daher gibt es einen weiteren potenziellen Fehler. Ich würde also darauf achten, dass Sie eine kompatible Encoder / Decoder-Kombination verwenden, um Dateien mit der richtigen Länge und Junk-getrimmten Dateien als Ausgabe zu erhalten.

Ihre zweite Frage ... haben Sie die "--decode" -Option der LAME-Befehlszeilen-App bemerkt? :) Dies sollte Ihr Problem lösen, wenn Sie LAME als Encoder verwenden. Die Ausgabelänge sollte mit der Eingabe übereinstimmen.

1
JohannesM

Ich möchte diese FAQ und einen Superuser-Thread zur Diskussion hinzufügen:

Danke für die Antwort, aber das hilft nicht. LAME bestätigt in dieser Textdatei, dass das Audio tatsächlich stummgeschaltet wird. Es muss jedoch einen Weg geben, um die Stille in MP3 zu umgehen, Adobe hat zum Beispiel einen Weg gefunden. Wenn Sie eine WAV-Datei in Flash hinzufügen und auf Schleife einstellen, fügt sie beim Export keine stille Lücke hinzu. Welche Magie hat Adobe gefunden? Macromedia (der Schöpfer von Flash) hat diese magische Arbeit in Flash möglich gemacht. Weiß jemand wie sie das machen? Niklas vor 12 Jahren 0
Haben Sie http://sox.sourceforge.net ausprobiert? JohannesM vor 12 Jahren 0
Ich habe versucht, es auszuprobieren, aber es gibt keine MP3-Unterstützung aus den verfügbaren vorkompilierten Binärdateien und ich bin nicht fähig genug, es selbst zu kompilieren. Ich habe bemerkt, dass Sox Unterstützung für die Bibliotheken "libmad" und "libtwolame" für das Erstellen von MP3 (zusätzlich zu Lame) hat. Ich würde es also gerne ausprobieren. Wissen Sie, wo ich eine Sox-Version mit vorkompilierter MP3-Unterstützung herunterladen kann? Niklas vor 12 Jahren 0
Entschuldigung, leider nein. JohannesM vor 12 Jahren 0
0
amh15

Ich möchte eine etwas prägnantere und klarere Antwort geben.

Ich fürchte, es gibt keine Möglichkeit, MP3-Dateien zu erstellen, die am Anfang und am Ende durchgehend lückenlos abgespielt werden. Dies wird als Gapless Playback bezeichnet und ist ein viel diskutiertes Problem.

Wie zumindest eine der anderen Antworten besagt, gibt es Workarounds, die mit bestimmten Musik-Playern funktionieren.