-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Native Eq plugin #1376
Comments
@curlymorphic, I've been following your conversations on the list and I'm happy to see progress so far! Thanks for sharing! I wanted to copy and paste some conversation from the mailing list into this thread for historical purposes: On 11/30/2014 12:39 AM, Vesa wrote:
|
It looks awesome, I think the faders are kind of big... Possibly re-size them? So the idea of using faders is to see how much signal goes trough those frequencies... neat! |
Also, change "Analise" to "Analyze" and "Peek" to "Peak". Otherwise, great! I've been waiting for a native graphic EQ. Good work! |
@cubician Thanks for the spell check, :) |
Also, don't get rid of the knobs, we need those for automation. However, having a 'show/hide knobs' toggle button would be nice if the knobs are kept.= |
@cubician a show hide button is a good idea. |
Oh my god, I have waited so long for this. So glad you are making this happen @curlymorphic 😄 |
I don't know how a show/hide would work though, you might just want to put knobs in a separate window like the VST controls. Preferably a show/hide but only if its realistic...= |
@cubician, why do you feel knobs are necessary for automation? Anything that inherits automatable-model can be automated (check boxes, led spinners, sliders). Also, minor but "analyse" is much like "colour".... spelling should be verified against our codebase standard (I'd assume we use formal british non-american spelling, Vesa may know) per http://grammarist.com/spelling/analyse-analyze/ |
@tresf We use colorize, not colourize. That might not be regional though, |
On 11/30/2014 11:51 PM, Ian Sannar wrote:
No we don't. Knobs aren't the only automatable widget in LMMS. Pretty The slight problem with sliders is that our only slider class currently |
Automation, Now that's not something i really considered. I have a lot to learn about custom widgets but luckily for me this codebase is full of examples i can learn from. |
Fortunately, most of the models will be hooked up when you mimic code from another plugin. 👍 |
Already have automation working, just naming the controls now, so they show up properly in automation editor, The basic eq funactionality is there now as well, not 100% finished but working. p.s i feel stupid for asking, how do you quote a post? |
On 12/01/2014 09:39 AM, Dave wrote:
The knobs and FX-faders are all already automatable so that's not |
Just Expermenting with automation on them now, but the Fx-faders seem to be automating fine. |
I added a 4th-order Linkwitz-Riley filter to BasicFilters.h. If you want Could also be used for shelves... you'll need 2 filters per shelf Haven't really tested it yet myself though so please let me know if you |
@diizy spent the whole day tueday trying out variuos filters, and decided to use the ones here http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt as they sound cleanest, and the varius functions (lp,hp, peak and shelfs) sounds like they fitted together. Your BiQuad class made life really easy for me there :) so easy just to change the coefficients to try out different types. What's your thoughts on upsampling, I am thinking about it , then filtering with a lp before downsampling again, to reduce aliasing. I am just having a tidy up, but later on today im hoping to show pics and maybe video of what i currently have. There is no spectrum analysis yet, but other than that, is all functional, including the drag and drop widget. once i have this up, I think it would be a good time for me to leave this alone for a couple of days, clear my ears and head, accept any feedback. Then on monday start trying out any suggestions. |
Oops, you referred the wrong git account (that is Dizzy), try again and make sure the right account gets your comment |
On 12/04/2014 07:35 PM, Dave wrote:
Yeah, the Audio cookbook... those should be good. Used in lots of
Are you thinking of doing oversampling for every filter individually, or If you introduce aliasing in your peak/shelf/etc. filters, then In order to do oversampling with the BiQuad class, simply run it X times |
Hmm, maybe i have miss understood. my plan was to up sample using cubic interpolation, at the start of the chain, then the eq filters, then a lp filter to remove frequencies above original sample rate / 2 , then downsample back to original rate at the end of the chain. Will have to experiment with this next week
good thought |
On 12/04/2014 08:20 PM, Dave wrote:
Well, you can do that, sure. And it will improve quality, sure. But... Anyway, if you make it switchable (or maybe even so that the user can I'm not sure if cubic is really useful here though. Linear will probably What are you planning to use for the final LP filtering? The best result |
will be trying this out.
Cheers for the heads up :)
now would be a good time to try your new filters out :) |
Well, finally, screen shots if anyone wishes to try it out, it is in the eq branch on my fork. https://github.com/curlymorphic/lmms/ The ui now comes in 2 sizes, simply double clicking on the plugin background toggles between the two. The large black widget contains handles to each of the bands, double clicking on a handle activates that filter. One active a handle can be dragged with the left mouse button to control the frequency and gain, and with the right button for resonance. I am sort of happy with the sound, but am thinking about increasing the maximum gain on each band from 6dB to 12dB, I am looking for feedback as i feel there could be lots of improvements. I am currently aware of a few bugs and have some ideas, but want to have more of a open mind so any comments welcome. Depending on the feedback i may implement the spectrum analyser next week, but would like to refine what we have already first. |
I like this! You even did the whole 'hide knobs' thing... -Make the band indicator circles have a smaller outline Besides that, the UI is perfect, as far as I'm concerned. :D Keep up the On Fri, Dec 5, 2014 at 2:58 PM, Dave notifications@github.com wrote:
|
On 12/05/2014 11:58 PM, Dave wrote:
|
Thanks for taking the time to look. This is exactly the sort of comments i wanted :)
Yeah they currently look at bit cumbersome atm. @cubician
I was initial not going to do this, as I personally find them misleading, But i can see many users expecting them. I am hoping that seeing the effect on the spectrum analyser to be a more realistic visual feedback. However if this turn out not to be the case, then curves it is.
good point, will do
Agreed, my graphics skills are limited, I did try and make it to look like other plugins, but my efforts failed, so i went with what i currently have. Looking at it now, i could make it look like the other windows in lmms, rather than trying to look like a seperate plugin.
Its my attempt at representing resonance, suggestions for improvement are welcome here, as this could probably be represented better.
yes, currently the vu meters work on the input,output faders, i'm planning on using the ones on the filter gains to show the signal effected by this band, this still needs some thinking about as i want this to be frequency and resonance dependant.
agreed.
yes. |
On 12/06/2014 02:08 PM, Dave wrote:
I don't think this is necessary... We can't expect plugins to all match
There is no actual resonance in peak filters... the Q value in a peak A curve of the summed frequency responses of all the filters would work Here's a good page that shows visually how different biquads translate
That's pretty much impossible, since peak filters don't really separate
What's the scale of the faders? Usually, +20 is the max. while the min. |
I am flexible on this, tbh this could be a separate issue coving all plugins.
Your statement I am in total agreement with. I personally feel that the resonance controls on the peaking filters should be replaced by bandwidth controls, because that is what they are, However this would lead to inconsistent controls because resonance would be the correct parameter in the case of lp/hp, and slope would be the correct parameter in the case of a shelving filter. Having taken a look at other eq plugins, resonance dials does seem to be standard, i'm now thinking using your suggestion of showing bandwidth horizontally for the shelves and peaking filters, but vertically for the lp/hp as this would be a closer visual representation of what is happening.
My personal feeling was not to show the curve of the transposition, as my experience shows this to be confusing, users often take this curve to be a representation of what the spectrum will look like after processing. I was hoping that showing the difference in in/out signals would be a better visual feedback. I can see however that many users will expect to see a curve so implementing one with possibly the option to show/hide is the way forward. I shall be investigating your above pointers on this when i come to implement this.
My current thoughts on this was not to use separate fft on each filter, but to display information calculated from the output fft, using a weighted window to calculate the peek value. The center fft band would be based on the filter frequency, and the window width based on bandwidth. This is currently no more than an idea in my head, and i will need to disprove this to myself before i give up on the idea.
Atm +6 -40dB is the current scale, but this is open to change. I have done some research on current eq plugins and there ranges are as follows. Ableton -12 +12 I can see that my current scale needs to change. Cheers for the input, definitely food for thought, and will lead to a much better addition to lmms :) |
You two sure knows a little something, I don't understand any of the above sentences, haha. Looking forward to trying this (Y) |
Now i have used it for a while, i don't like the coloured handles, they are too hard to see, and its hard to "tell what ones what". maybe symbols in a circle showing the slope type, with numbers on the peaking bands. this is pretty common in eq, and i feel would be understood by users.
@diizy will go try that out now |
Ok, the LR4 filter is fixed now (for real, this time - I got to test it I also merged my Crossover Equalizer, which I wrote just to test the |
Latest screen shots Changed the colors of the analysis, so are now prominent to those who have color blindness. The fill is now trasparent, but with a line draw on the edges, to separate the displays. Added labels to colors Made all the handles white, with the band number displayed, this greatly improved usability |
I can't wait to use this :D |
YESSSS I LOVE IT On Mon, Dec 15, 2014 at 5:41 AM, Spekular notifications@github.com wrote:
|
This looks amazing!! 😹 |
@curlymorphic So, I was using some of the parametric equalizers and tried to use yours instead and the improvement was massive. It is really useful and intuitive to use! I already switched and will mostly use it. I found 2 problems though: you can't assign a value to the gains on IN and OUT with double-click (it resets to zero after pressing ok) and if you lower the resonance of an active parameter enough you can get to a point where the equalizer gets messed up and you have to delete the plugin and equalize all over again. |
@badosu Cheers for testing :) i'm working on this EQ today and will address your points |
Hi @curlymorphic, thanks for the feedback. There's also something that I noticed on some proprietary parametric EQ's that is called the bandwidth for a particular parameter and is measured in percentage. Do you have any idea if this is relevant? Reference for the bandwidth from FL EQ2: http://www.image-line.com/support/FLHelp/html/plugins/Fruity%20Parametric%20EQ%202.htm |
Bandwidth, is the width of the signal effected by the parametric peaking filters. It can also be represented as resonance( think of it as the inverse of bandwidth ) as currently used here. Different Eq plugins choose to use either Resonance or bandwidth. I personally feel bandwidth is the right choice, But most Implement it as resonance. It has already been spoken about, I am currently changing the controls to bandwidth. |
Amazing @curlymorphic, thanks a lot! |
The EQ plugin has been accepted into master, should this be closed? |
There are 2 reasons, both of questionable validity
I guess what I am saying is im happy to go with what ever is decided :) What format / where should I write up the documentation for this? |
Tagging a few users is probably a good start. I expect plugins to be enabled by default. When all sliders are disabled, it is quite confusing why my sound isn't changing. |
I think at least one band should be enabled.
I can provide you with a wiki account and you can add the EQ and any other new effects over at http://lmms.io/wiki/index.php?title=Effect_Plugins |
thanks :) |
Just PM me your desired username and your mail and you'll be good to go :) |
I'd say either all bands should be enabled or all should be disabled, but definitely not a mix of the two. Personally, I prefer to start with all bands disabled and enable them on-demand. This saves a lot of trouble especially when it comes to automating them - if you default to all bands enabled and some of them look like they aren't doing anything, you can't be sure if they're safe to use for something else unless you check their automation. But if you only enable them on-demand, then you know the ones that look like they aren't doing anything must just be idle at this part of the song and you shouldn't mess with them. Perhaps the solution is to make it more obvious (to newcomers) when a band is disabled. |
Ok, that's a valid point - I change my vote ;-)
|
:) |
That wins me over.I will change to all on by default.
Would it be advantageous to turn off the vu meters on disabled bands? |
You can't disable any band on the other EQ plugins. The buttons next to the knobs are for linking the Right and Left channel, not for enabling/disabling the bands |
Yeah, it is a difference there... ^ |
Im planning a parametric eq plugin,
below is my initial layout, mainly to get the controls onto the screen. layouts, colours, fonts, backgrounds were not of priority.
The large black box in the middle, with be a dual spectrum analyser, showing before/ after in different colours, There will also be drag-able handles for each of the filters. The Fader to the left and right are input and output gain.
Below this is the old school knobs (undecided if this is needed at all, but will leave in until testing ).
The Hp and Lp bands only have frequency and resonance controls, all the other eqs, have there gain controlled by the fader. My goal is for the meters on each fader show the spectrum data for the filter frequency.
Now i have an initial concept, I would be grateful for any feedback.
The text was updated successfully, but these errors were encountered: