The --plot option only applies to the first supported effect. For chains of several filters (e.g., equalizers), it would be useful to get a plot that shows the combined filter response instead.
I've come to the conclusion that it is too much work and not worth it to include this feature in SoX, currently.
However, I've written a perl script to automate the process of running SoX with different effects and combining the plot files. It only works for biquad-based effects, but this is good enough for me at the moment. In case anyone else might find it useful, I've attached it to this feature request. Use it like this:
plot_combined.pl "bass -10" "treble -5" "bandreject 2000 0.5o" >c.gpl
and run c.gpl through gnuplot.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Am I right to assume that, for the biquad-based effects. it is sufficient to multiply the different H(f) functions?
In the frequency domain, yes.
In the time domain, no, you need to do the convolution.
Perl script to plot the combined amplitude response of several biquad-based filters with gnuplot
I've come to the conclusion that it is too much work and not worth it to include this feature in SoX, currently.
However, I've written a perl script to automate the process of running SoX with different effects and combining the plot files. It only works for biquad-based effects, but this is good enough for me at the moment. In case anyone else might find it useful, I've attached it to this feature request. Use it like this:
plot_combined.pl "bass -10" "treble -5" "bandreject 2000 0.5o" >c.gpl
and run c.gpl through gnuplot.