#163 Apply effects to specific channels only

open
nobody
None
5
2014-06-08
2011-02-24
Ulrich Klauer
No

Most effects affect all channels in the same way, with the same parameters. It is not even possible (without splitting into different files, or pipes, and reassembling) to change the volume of individual channels. The -e option of the gain effect only covers certain cases.

I imagine a "separately" (pseudo-?)effect that accepts sets of channels and effects sub-chains as parameters and runs the sub-chains on the relevant channels, like so:
sox quadrophonic.wav out.wav separately 1,3-4 "vol 0.82" 2 "vol 0.47"
which should change the volume for all channels, but by a different amount for the second; or even
sox stereo.wav out.wav separately 1 "vol -3 dB" 2 "dcshift -0.2 highpass 8000"

Of course, the sub-chains should not change the audio length, sample rate etc. (or padding rules would be needed).

Discussion

  • ianll
    ianll
    2014-06-08

    Even though this request is > 3 years old, I though I'd respond.

    You can adjust the volume for individual channels using the 'remix' effect.

    For Ulrich's example, it would be:
    $ sox quadrophonic.wav out.wav remix 1v0.82 2v0.47 3v0.82 4v0.82

    For other effects, I agree that it would be great to process each channel differently. For certain effects it could be done by scripting, however, sidechains (like feature request 174) would be a great new feature.

    Ian