Konvertieren Sie MP3s mit Lame von Mono in Stereo

4

Eine Anwendung erfordert, dass die empfangenen MP3-Dateien mit 2 Kanälen (Stereo) codiert sind, die Originaldateien jedoch nur mit 1 Kanal (Mono).
Wir verwenden Lame für die Konvertierung, aber es gelingt mir nicht, den Monokanal zu klonen und eine gefälschte Stereoanlage zu erstellen.

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

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

ANisus
quelle
1
Müssen Sie hierfür nur LAME verwenden, oder möchten Sie Audacity verwenden?
SaintWacko
Lame wird in einer anderen Anwendung als Shell-Befehl aufgerufen. Audacity wurde nicht in Betracht gezogen, da ich dachte, es hätte keine nützliche Befehlszeilenschnittstelle. Ich kann es mir sicherlich noch einmal überlegen!
ANisus
Soweit ich weiß, gibt es keine Befehlszeilenschnittstelle. Das habe ich mich gefragt: Warum musstest du LAME verwenden?
SaintWacko

Antworten:

4

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

Meine Umgehungslösung besteht darin, das Befehlszeilentool zu verwenden soxund die Kanalduplizierung vor der MP3-Konvertierung durchzuführen:

sox mono.wav -c 2 stereo.wav

Dann benutze danach lame:

lame -m j stereo.wav stereo.mp3
ANisus
quelle
Nun, es gibt so etwas wie eine gemeinsame Stereoanlage, die Sie im Grunde genommen hier verwendet haben. Das bedeutet, dass Sie einen Monokanal öffentlich machen.
Holms
1
@holms Ja, das ist was ich benutze. Das -m jschafft eine gemeinsame Stereoanlage, aber soweit ich weiß, handelt es sich nicht wirklich um ein Duplikat, sondern um eine Codierung des Unterschieds zwischen den Kanälen. Und ..
na ja
1

Das kannst du mit ffmpeg machen. 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
Dzmitry
quelle
1

Sie können dafür lame verwenden. Bei Mono-WAV-Eingang nur -m sals Lame-Option verwenden. Wenn Sie ansonsten die Standard-Lame-Optionen verwenden, ist die Ausgabe (einfach) stereo.

EDIT: Ich habe mich geirrt! Die Antwort des Originalposters war richtig: Wenn der Eingang WAV mono ist, kann man nicht lahm werden, um ihn mit Stereo zu machen -m s.

abekonge
quelle
Beachten Sie, dass bei einer Mono-WAV-Datei als Eingabe die gemeinsame Stereoausgabe standardmäßig aktiviert ist, sofern Sie nichts anderes angeben.
Abekonge
das war auch falsch. Es tut uns leid.
abekonge
0

Laut LAME Documentation @Modes würde ich "-m d" versuchen. Sie sollten auch in Betracht ziehen, Ihre Bitrate zu verdoppeln, da sie jetzt von zwei Kanälen geteilt wird, nicht von einem.

Chake
quelle
Wie ich schon sagte -m dund -m sauch nicht funktionierte (oder -m fwas das betrifft). Es scheint, als würde Lame es ignorieren und trotzdem eine einkanalige Datei erstellen. Doppelte Bitrate ist ein guter Vorschlag :)
ANisus
1
Entschuldigung, ich habe nicht gesehen, dass m ( -m iauch nicht funktioniert? Es scheint keine Option zu geben, jedem Kanal eine Eingabedatei zuzuweisen ...
Chake
Die Idee, dieselbe 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