godot
godot copied to clipboard
Create AudioEffectEQCustom; docs included
An audio equalizer with customizable band frequencies is added and the documentation has been updated. Closes #27585.
I believe this cannot be worked around by a few lines of code and there are plenty of use cases (a parametric EQ can make up a large part of audio effects), so I made it.
Other changes (none should introduce compatibility breakage):
- Existing preset equalizers (6, 10, 21 bands) are made subclasses of a new class
AudioEffectEQPreset
which inheritsAudioEffectEQ
- Prevented
AudioEffectEQ
from being created directly on the bus - Minor changes in logic of class
EQ
I tried my best to comply with existing conventions, but in case anything is to be changed or discussed please kindly specify! ^ ^
@kawa-yoiko Is this still desired? If so, it needs to be rebased on the latest master branch. Also, the above feedback should be addressed. Also, since this PR is a feature proposal, you should consider opening a proposal which explains example use cases and how this approach will solve the problem.
Otherwise, abandoned pull requests will be closed in the future as announced here.
@aaronfranke Thanks, I will open a proposal and rebase afterwards. Do I force push here or open a new PR?
@kawa-yoiko You force-push here.
Hey, is this a set customizable of parametric filters (freq, gain, Q)? Are there shelveing filters available too? Are there lowpass/highpass filters available as well?
I think the description could use some work, maybe I can help?
Hi @unfa, thanks for your interest! If you are interested in improving the documentation please kindly point out where text can be improved (did I understand correctly?). But as godotengine/godot-proposals#935 has received no feedback, I don't have a clear idea on opinions from the Godot team and community. May I slightly disturb @aaronfranke for a clarification on what to do next?
For details, it's actually semi-parametric (tunable frequency and gain, with fixed Q). The equalizer algorithm is implemented in eq.h. Shelving/high-pass/low-pass filters are implemented by variants of AudioEffectFilter, unrelated to this change.
At the moment, we don't have a formal approval process for the proposals repo. However, I can tell you that because https://github.com/godotengine/godot-proposals/issues/935 has received no feedback from users, this PR is unlikely to be accepted. #27585 shows that you are not the only person interested, but it's not enough. If you want this feature, feel free to share a link to the proposal on social media and have people come in and give feedback (in the form of a comment or just :+1: and :-1:). Getting a lot of :+1: does not mean it's guaranteed to be accepted, but it's more likely that the Godot devs will look at it.
In the meantime, I'll mark this PR as a draft because it's not in a mergeable state (in terms of needing feedback from users, needing approval from the Godot devs, and needing a rebase).
@kawa-yoiko @unfa I saw this PR was stuck
Are we still interested in this feature?
I was just starting to look into making a similar change, and found this PR. Is this still active?
@aaronp64 I suppose the current obstacle is to collect opinions from the community (since godotengine/godot-proposals#935 has received only a few votes and no comment, so the general interest remains unclear). I'm not active on social media, but I think the forum is a good option. I (or someone else) can make a post to introduce this proposal.
I'd be very glad to help push this forward (rebasing shouldn't be much of an issue) or have someone interested base their work on this (as I might be occupied in the next couple of weeks).