On 07/01/25 17:56, Prof. Spock via groups.io wrote:
I noticed a
similarity between the code for "chorus" and "phaser": both
have modulated delay lines.

For a chorus this is absolutely correct, but a phaser should
_not at all_ have modulated delay lines, it must have
_modulated phase shift stages_.

Hence the SoX phaser is not a phaser, but a flanger.


Funnily enough there is also a flanger available in SoX


I notice that the comment at the top of "phaser.c" says

"SoX flanger effect"


What shall we do?

I strongly desire that, if sox-14.4.2 did X for a given syntax,

sox_ng should do the same because if sox_ng is dropped-in

as a replacement for sox by someone's distro we must not

break their ten-year-old scripts, nor other programs that

launch sox to easily achieve certain effects.


Not only, but if someone happens to be developing with sox_ng

and one day they (pr their work) find themselves running on sox,

everything (modulo new features and bug fixes) should work

exactly the same.


The first means that if there is a sox effect whose name happens

to begin with ph- and end with -er that does X and works,

it must continue to do that.

The fact that 'sox echo' is not an echo and 'sox phaser' is not a phaser

is not as important as trying to make them coincide more closely

with the dictionary meanings of those terms. Being a sox effect means

living in your own namespace.


An exception was the "echos" effect which has never worked because

(as you, prof, so keenly spotted) it has always overwritten its input samples

before using them to generate its output and has never done anything more

than the sox "echo" effect, in fact probably less and worse so it's very unlikely

that anyone ever used it. At least, I hope they didn't.

Currently, in git since 14.5.0, it is "fixed" to do what its author seems

to have intended it to do and what it said it should do in the manual.

That it cannot do anything the "echo" effect couldn't do with a couple

of extra arguments is not that serious, it just makes it pointless :)


The real step forward there is to provide a different type of echo

one with feedback, possibly a multitap. *That* would open up

new possibilities, but it has to have a new name.


  * Leave everything as is and accept the inappropriate name
    for the phaser effect just to be compatible to the past?

Yes


  * Provide a real phaser as "phaser"?

As "phazer" or "resahp" or whatever. "spockify" if you want.

People don't care - it's only SoX's effect namespace - and if

spockify makes tongue-in-cheek sarcastic comments about phaser

in its manual entry it might give them a laugh, you never know.


    Its parameters should be

        phaser gain-in gain-out stage-count decay speed modulation-kind

    where the stage-count gives the number of allpass stages
    (typically 4, 8, 12 etc.) and modulation-kind is either

Is it always a multiple of 4? You seem to know flangers better than me

but best is whatever people expect from the classic flangers they know

so as to reduce user-astonishment.


    -s or -t.

Preferably with a default of whatever people use most commonly.

I think that having to say "-s" ot "-t" always (and at the end of the

argument list to boot, not as a normal argument!) is awkward.


All of Mueller's effects (echo echos chorus and phaser) are turning out

rather disappointing but composers are using them in their work the

world over, whatever it is they do, so I think we are tied to them,

as long as they're not a complete disaster.


I wouldn't want someone quietly changing my tools under my feet and

breaking the stuff I worked so hard on, and I'm not even quite certain

that we should fix echos, in case someone relies on its broken behaviour

but that's a corner case.


    M



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#36): https://groups.io/g/sox-ng/message/36
Mute This Topic: https://groups.io/mt/110480565/21656
Group Owner: [email protected]
Unsubscribe: https://groups.io/g/sox-ng/leave/13602885/21656/313486934/xyzzy 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to