Page 1 of 2
OpenAL EFX implementation
Posted: Sun Jan 29, 2017 1:04 am
by raidho36
The implementation itself is
done and is working soundly.
However, there are a still few things to fix and tweak internally, but more importantly, the API has to be prettified. The problem is that EFX uses a lot of named constants for lots of things, and many of them are "programmer text", much like "programmer graphics" - and they are unfit for a finished product. All of those are open for discussion right now, before getting finalized, and you can chime in - on the wiki page.
https://love2d.org/wiki/Effect_Constant ... Candidates
Re: OpenAL EFX implementation
Posted: Sun Jan 29, 2017 2:36 am
by zorg
At a first glance, i'd say it's more like "sound engineer lingo" than anything; at least they have a reason to get paid.
In any case, it's nice how you'd want to dumb down the terminology, but it should still be somewhat consistent at least. (i.e. if you really van to call the main gain of filters "volume", then do that with all other effects too)
Meanwhile i added a few things to the article.
Re: OpenAL EFX implementation
Posted: Sun Jan 29, 2017 9:18 pm
by airstruck
zorg wrote:At a first glance, i'd say it's more like "sound engineer lingo" than anything; at least they have a reason to get paid.
Most of these look pretty obvious to me, and I'm no sound engineer. Even things like "hf" which might seem questionable should still be recognizable outside of DSP (i.e. UHF, VHF).
The mid1* and mid2* identifiers are the only ones I'm not sure about.
zorg wrote:In any case, it's nice how you'd want to dumb down the terminology, but it should still be somewhat consistent at least. (i.e. if you really van to call the main gain of filters "volume", then do that with all other effects too)
Meanwhile i added a few things to the article.
Volume vs. gain isn't a matter of "dumbing down" the terminology; they have different meanings (or different connotations, at least). If the amplitude boost happens before an effect is applied, it makes sense to call it gain, and if it happens after, it makes sense to call it volume. In fact I'm almost positive I used to own a Gemini mixer with both "gain" and "volume" knobs, although the latter might have been labeled "master."
Re: OpenAL EFX implementation
Posted: Sun Jan 29, 2017 9:31 pm
by zorg
Okay, but what i said about consistency, i meant that not only filters had a "gain" parameter that he renamed to volume; many effects also have gains which were left as-is; of course, i'd want the name to reflect the correct usage, but if it's applied at the same step in each instance, then the names should also match, whether it should be gain or volume.
Re: OpenAL EFX implementation
Posted: Sun Jan 29, 2017 11:37 pm
by raidho36
They both have "volume knobs" and those are both labeled "volume". I didn't put "volume" and "type" constants into every single effect listing because they're all shared anyway.
Re: OpenAL EFX implementation
Posted: Mon Jan 30, 2017 7:45 pm
by undef
Just wanted to say that this is really cool! This is something löve has been needing for a long time!
Just checked the wiki page and wondered if effect chaining (setting multiple effects to the same source) works as well.
I'm also a little confused about the mid* parameters in the equalizer - I'm not sure what they mean. I think a list of [0,1]-ranged values might be more intuitive.
Re: OpenAL EFX implementation
Posted: Mon Jan 30, 2017 7:52 pm
by raidho36
No you can't chain effects, that's an AL limitation. Bear in mind that it is intended for applying acoustic effects to a physical sound source - they may come overlapped, but they are not chained.
The equalizer is 4 band - low band, two mid bands, and high band. Mid 1 is lower mid band, mid 2 is higher mid band.
Re: OpenAL EFX implementation
Posted: Mon Jan 30, 2017 10:11 pm
by undef
Ah I see, got it.
Re: OpenAL EFX implementation
Posted: Tue Jan 31, 2017 7:58 am
by zorg
Undef: there are other libs that (will) do what you want though (effect chaining), without needing OpenAL EFX stuff.
/off
Re: OpenAL EFX implementation
Posted: Tue Jan 31, 2017 12:01 pm
by undef
There must be. Is there anything you would like to recommend?