godot icon indicating copy to clipboard operation
godot copied to clipboard

Create AudioEffectEQCustom; docs included

Open ayuusweetfish opened this issue 5 years ago • 9 comments

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 inherits AudioEffectEQ
  • 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! ^ ^

ayuusweetfish avatar Jul 14 '19 09:07 ayuusweetfish

@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 avatar May 26 '20 20:05 aaronfranke

@aaronfranke Thanks, I will open a proposal and rebase afterwards. Do I force push here or open a new PR?

ayuusweetfish avatar May 28 '20 03:05 ayuusweetfish

@kawa-yoiko You force-push here.

aaronfranke avatar May 28 '20 11:05 aaronfranke

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?

unfa avatar May 13 '21 20:05 unfa

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.

ayuusweetfish avatar May 14 '21 05:05 ayuusweetfish

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).

aaronfranke avatar May 14 '21 06:05 aaronfranke

@kawa-yoiko @unfa I saw this PR was stuck

Are we still interested in this feature?

fire avatar Jul 12 '21 05:07 fire

I was just starting to look into making a similar change, and found this PR. Is this still active?

aaronp64 avatar Apr 23 '24 21:04 aaronp64

@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).

ayuusweetfish avatar Apr 24 '24 06:04 ayuusweetfish