haimgs befehl ist nicht ganz richtig. Klassisch schwenken Sie, indem Sie die Lautstärke nur eines Kanals reduzieren. Das bedeutet: Wenn Ihr Signal zu 80% links sein soll, behält der linke Kanal die ursprüngliche Lautstärke, während der rechte Kanal nur 20% der ursprünglichen Lautstärke erreicht. Zumindest hat dies der Panning-Code von sox getan (und was Alan Blumlein anscheinend bei der Erfindung von Stereo vorgeschlagen hat).
Auch sein Befehl kann mit der Remix-Option gekürzt werden.
Der korrigierte und verkürzte Befehl lautet daher:
sox left.wav right.wav stereo.ogg remix 1,2v0.2 1v0.2,2
Antwort als Antwort auf haimgs Kommentar:
Sox warnt Sie, wenn es zu Ausschnitten kommt. Aber es ist möglich. Mit der Remix-Option wird die Lautstärke jedes Kanals mit dem Faktor 1 / n skaliert, wobei n die Anzahl der Eingangskanäle ist. Das wird jedoch nur verwendet, wenn NO VULME OPTION für den Ausgabekanal angegeben ist (also sind Ihre 100% + 20% korrekt).
Sox bietet auch die Möglichkeit, jeden Kanal ohne explizite Volume-Informationen zu skalieren. Fügen Sie nach "remix" einfach ein "-a" hinzu (wie "remix -a 1,2v0.2 1v0.2,2"), und die Volumes werden wie 50 sein % + 20% = 70%. Es ist ziemlich verwirrend und ich bin mir nicht sicher, ob Sie auch die Lautstärke der gescannten Kanäle um 1 / n skalieren müssen, was zu "remix -a 1,2v0.1 1v0.1,2" oder 50% + führen würde 10% = 60%. Ich werde in dieser Richtung weiter nachforschen müssen. Inzwischen können Sie den Remix-Bereich in der Manpage von sox lesen (auch auf der sox-Homepage verfügbar ).
nach weiteren Überlegungen bearbeiten:
Nachdem ich darüber nachgedacht habe, bin ich mir ziemlich sicher, dass Sie auch die gesperrten Volumina um 1 / n skalieren müssen.
Über das Clipping-Problem: Dieses Problem kann nicht auftreten, wenn ALLE Volumes durch die Anzahl der Kanäle geteilt werden. Dies behält jedoch nicht die ursprüngliche Signalstärke bei, da die Signalstärke logarithmisch und nicht linear ist. Je mehr Kanäle Sie mischen, desto leiser sollte das Signal werden. Deshalb gibt es für sox auch Optionen, bei denen die Volumes um 1 / sqrt (n) skaliert werden. Dazu verwenden Sie einfach ein "p" anstelle eines "v" im Remix-Part, passen die Werte entsprechend an und fügen nach der Remix-Anweisung auch eine "-p" -Option hinzu. Den Unterschied der Skalierung um 1 / n und 1 / sqrt (n) können Sie hier sehen .
Ich denke, ich denke, um die korrekten Leistungswerte zu berechnen: Für jeden Kanal müssen Sie 20 * log_10 (Faktor) lösen. Ein Faktor von 2 führt zu ~ 6 (dB), ein Faktor von 0,5 zu ~ -6 (dB). Genau das sagt das Sox-Handbuch. Ich denke, das ist richtig.
Also sollte der Befehl in Ihrem Fall lauten:
sox left.wav right.wav stereo.ogg remix -p -a 1,2p-6 1p-6,2
Ich habe kein Sox auf diesem Rechner, daher kann ich diesen Befehl nicht auf korrekte Syntax testen. Sagen Sie mir bitte, ob ein Problem vorliegt. Ich werde all diese Theorie testen, sobald ich die Gelegenheit dazu bekomme, weil ich mich einem ähnlichen Problem stellen muss, aber ich werde viel mehr Kanäle als nur zwei mischen müssen, und deshalb habe ich dieses Signal-Power-Zeug gefunden.