Konvertieren Sie mit Lame MP3 von Mono in Stereo

4866
ANisus

Eine Anwendung erfordert, dass die empfangenen MP3-Dateien mit 2 Kanälen (Stereo) kodiert sind, die Originaldateien jedoch nur einen Kanal (Mono) haben.
Wir verwenden Lame für die Konvertierung, aber ich schaffe es nicht, den Monokanal zu klonen und ein falsches Stereo zu erzeugen.

lame.exe -m j mono.mp3 stereo.mp3 

-m doder -m sscheint auch nicht zu funktionieren. Kann man das mit lahm machen?

4
Müssen Sie dazu einfach LAME verwenden oder wären Sie bereit, Audacity zu verwenden? SaintWacko vor 11 Jahren 1
Lame wird aus einer anderen Anwendung als Shellbefehl aufgerufen. Audacity wurde nicht berücksichtigt, da ich dachte, es hätte keine nützliche Befehlszeilenschnittstelle. Ich kann es sicherlich noch einmal überdenken! ANisus vor 11 Jahren 0
Nun ja, soweit ich weiß, hat es keine Befehlszeilenschnittstelle. Das war es, worüber ich mich wunderte: warum Sie LAME verwenden mussten. SaintWacko vor 11 Jahren 0

4 Antworten auf die Frage

4
ANisus

Die Antwort auf meine eigene Frage lautet: Nein - mit Lame ist das nicht möglich

Meine Lösung zur Lösung dieses Problems besteht darin, das Befehlszeilentool zu verwenden soxund die Kanalvervielfältigung vor der MP3-Konvertierung durchzuführen:

sox mono.wav -c 2 stereo.wav 

Dann benutze danach lahm:

lame -m j stereo.wav stereo.mp3 
Nun, es gibt so etwas wie Joint Stereo, das Sie hier hauptsächlich verwendet haben, was eigentlich bedeutet, dass Sie Monokanäle überlagern. holms vor 11 Jahren 0
@holms Ja, das benutze ich. Das `-mj` erzeugt ein gemeinsames Stereo, aber soweit ich weiß, handelt es sich nicht wirklich um ein Duplikat, sondern um eine Kodierung des Unterschieds zwischen den Kanälen. Und ... nun ja ... da es in einem Duplikat keinen Unterschied gibt, sollte die hinzugefügte Dateigröße unbedeutend sein :) ANisus vor 11 Jahren 1
1
Dzmitry

Mit ffmpeg ist das möglich. Hier ist der Befehl, den ich für Mono-MP3-Dateien mit einer Abtastrate von 11025 Hz und einer Bitrate von 40 kbps verwendet habe:

ffmpeg -i mono.mp3 -ac 2 -ab 96000 -ar 22050 stereo.mp3 
1
abekonge

Sie können Lame dafür verwenden. Bei Mono-WAV-Eingängen nur -m sals lame-Option verwenden. Bei anderen Standard-Lame-Optionen wird die Ausgabe (einfach) in Stereo ausgeführt.

EDIT: Ich habe mich geirrt! Die Antwort der Originalplakate war korrekt: Wenn der Input-Wav Mono ist, können Sie nicht lahm werden, um ihn in Stereo zu machen -m s.

Beachten Sie, dass bei einer Mono-WAV-Datei als Eingang Lame standardmäßig als Stereo-Ausgang ausgegeben wird, sofern Sie nichts anderes angeben. abekonge vor 6 Jahren 0
das war auch falsch. Es tut uns leid. abekonge vor 6 Jahren 0
0
Chake

Gemäß der LAME-Dokumentation @Modes würde ich "-m d" versuchen. Sie sollten auch erwägen, Ihre Bitrate zu verdoppeln, da sie jetzt von zwei Kanälen geteilt wird, nicht von einem.

Wie gesagt, `-md` und` -ms` funktionierten auch nicht (oder `-mf`). Es scheint, dass Lame es ignoriert und trotzdem eine einzelne Kanaldatei erstellt. Doppelte Bitrate ist ein guter Vorschlag :) ANisus vor 11 Jahren 0
Sorry, ich habe nicht gesehen, dass m (`-mi` funktioniert auch nicht? Es scheint keine Möglichkeit zu geben, jedem Kanal eine Eingabedatei zuzuweisen ... Chake vor 11 Jahren 1
Die Idee, die gleiche Datei zweimal für jeden Kanal zu verwenden, ist jedoch gut. Es wäre eine Möglichkeit, es sicher zu lösen. Ich untersuche es auch. ANisus vor 11 Jahren 0