Equalization - 'length of filter' selections changed
Equalization - 'length of filter' selections changed
Using 2.1.2 (RC1, RC2 and nightly build 'C:\Users\Dick Neubert\Desktop\audacity-win-r53b8fd5-2.1.2-alpha-09-jan-16') with Windows Vista...
Not sure about 2.1.1, but it appears that as of 2.1.2 the selections for 'length of filter' in the Equalization effect have changed. It wouldn't matter much for most usage, but I have quite a few EQ's purely for noise filtering, and some of these take advantage of the stopband ripple (sounds funny to use that term and "equalizer" in the same sentence) created by the algorithm's best effort at matching an impossible "brick wall" curve to eliminate both 60Hz and the small region around 57 Hz commonly polluted by a box fan and an air conditioning compressor. I include the number of taps in the name of each filter, e.g., "noise filt a/c 130-5k, zeroes @ 57 & 60:3137". Taking advantage of this phenomenon requires duplicating the filter length used when designing the curve. I can't select 3137 taps in the current incarnation of Equalization, nor can I select a few of the others I've used for these curves. Now, I could fiddle with these to get new curves that work well with the currently available settings, but the next time the software gets revised and the set of available settings changes, here we go again.
Would it be practical to make "length of filter" a numeric entry field? Nothing wrong with having a slider too as do most of your effects, just need a way to input exact values for this usage.
- DickN
Not sure about 2.1.1, but it appears that as of 2.1.2 the selections for 'length of filter' in the Equalization effect have changed. It wouldn't matter much for most usage, but I have quite a few EQ's purely for noise filtering, and some of these take advantage of the stopband ripple (sounds funny to use that term and "equalizer" in the same sentence) created by the algorithm's best effort at matching an impossible "brick wall" curve to eliminate both 60Hz and the small region around 57 Hz commonly polluted by a box fan and an air conditioning compressor. I include the number of taps in the name of each filter, e.g., "noise filt a/c 130-5k, zeroes @ 57 & 60:3137". Taking advantage of this phenomenon requires duplicating the filter length used when designing the curve. I can't select 3137 taps in the current incarnation of Equalization, nor can I select a few of the others I've used for these curves. Now, I could fiddle with these to get new curves that work well with the currently available settings, but the next time the software gets revised and the set of available settings changes, here we go again.
Would it be practical to make "length of filter" a numeric entry field? Nothing wrong with having a slider too as do most of your effects, just need a way to input exact values for this usage.
- DickN
Re: Equalization - 'length of filter' selections changed
The Equalization effect is based on an FFT filter. These type of filters are not good at doing steep slopes at low frequencies (for the rather complex explanation of why this is, Wikipedia provides a starting point: https://en.wikipedia.org/wiki/Fast_Fourier_transform).
For removing narrow-band frequencies (such as mains hum), notch filters work much better: http://manual.audacityteam.org/o/man/notch_filter.html
Saved Eq settings do not save the filter length. This is something that I hope to address in a later version of Audacity,
There are also incompatibilities between the "graphic eq" and the "draw curves" mode, and problems with both modes when applying the effect to multiple tracks that have different sample rates. The upshot is that there is likely to be a substantial overhaul of the equalisation effect in the near future.
For removing narrow-band frequencies (such as mains hum), notch filters work much better: http://manual.audacityteam.org/o/man/notch_filter.html
Saved Eq settings do not save the filter length. This is something that I hope to address in a later version of Audacity,
There are also incompatibilities between the "graphic eq" and the "draw curves" mode, and problems with both modes when applying the effect to multiple tracks that have different sample rates. The upshot is that there is likely to be a substantial overhaul of the equalisation effect in the near future.
The filter length must be an odd number. How would we handle that with a numeric entry field?DickN wrote:Would it be practical to make "length of filter" a numeric entry field?
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)
Re: Equalization - 'length of filter' selections changed
Ahh! I thought it was a symmetric (for constant group delay) FIR filter, corrected for delay (which explained length always being odd). So "length of filter" isn't number of taps then, it's the size of the transform, right? Does the computed filter response curve accurately show the response between frequency points in the transform domain?steve wrote:The Equalization effect is based on an FFT filter.
I know. I'm actually exploiting what you might regard as the misbehavior at low frequencies when given a steep slope. I get a filter with two zeroes right where I want them and a nice bandpass response everywhere else. Some of them have a little boost below the high-frequency cutoff to enhance speech intelligibility when the speaker is nowhere near a mic. It reduces two notches, a high-pass and a low-pass plus EQ for the speech enhancement to one uh, pass. Since the notches are well below the LF cutoff, the shape of the curve in their vicinity is unimportant.steve wrote:These type of filters are not good at doing steep slopes at low frequencies ... For removing narrow-band frequencies (such as mains hum), notch filters work much better: http://manual.audacityteam.org/o/man/notch_filter.html
Thanks! I've been wishing for that.steve wrote:Saved Eq settings do not save the filter length. This is something that I hope to address in a later version of Audacity.
How about increment/decrement arrows instead of numeric entry? One could use the slider to get close and the arrows to tweak it in. Are there any constraints on the value besides it being an odd number? I'm not savvy on FFT's that aren't power-of-2 lengths.steve wrote:The filter length must be an odd number. How would we handle that with a numeric entry field?DickN wrote:Would it be practical to make "length of filter" a numeric entry field?
Re: Equalization - 'length of filter' selections changed
Do you mean. does the green line match what the effect actually does to the audio? I was going to ask you thatDickN wrote:Does the computed filter response curve accurately show the response between frequency points in the transform domain?
Coming at the practical issue from another direction, how about if Audacity had a parametric filter with several bands, a visual display of the curve, and real-time preview?
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)
Re: Equalization - 'length of filter' selections changed
I haven't tested it for amplitude-response accuracy, but I can say that the "notches" in the ripple region (frequencies below a "brick wall" in the input curve) are very accurately located along the frequency axis. Since Equalization doesn't have a cursor with frequency readout, I place a Frequency Analysis plot directly under the Equalization plot and use the Frequency Analysis cursor to find the exact frequencies or locations of frequencies between vertical grids on the log scale. I have in the past suggested that such a cursor be added to the Equalization UI, but this is my workaround.steve wrote:Do you mean. does the green line match what the effect actually does to the audio? I was going to ask you that
By "real-time preview" do you mean while user is adjusting it? That would be fantastic (it would also be fantastic in the Equalization effect). If the parametric filter has wide-range frequency and bandwidth controls for each band and adjustable corner frequencies plus adjustable slopes (or a selection of slopes) for the bass and treble, it could do essentially what I'm doing with Equalization. Actually, it would also have to include a shelving EQ to accomplish the speech enhancement part of some of my curves.steve wrote:Coming at the practical issue from another direction, how about if Audacity had a parametric filter with several bands, a visual display of the curve, and real-time preview?
Visual display of the curve would make it very easy to use. I'm probably typical in that I think in curves but communicate in numbers. Any UI with which I can communicate in curves is inherently easy to use, but sometimes the numbers are known and therefore the UI should be able to use both languages. For example, I have a set of calculated EQ curves to compensate for azimuth error on cassette tapes. Although I seldom use them nowadays, having found a real-time analyzer that can facilitate my adjusting the deck's azimuth in real-time, I remember well the process of setting up those curves. I knew the numbers exactly, but I had to enter the data graphically. Only later did I learn that I could have generated the XML file directly.
Re: Equalization - 'length of filter' selections changed
That would be useful wouldn't it.DickN wrote: Since Equalization doesn't have a cursor with frequency readout
I mean that you can play the track while adjusting the controls, like you can do with supported VST effects in Audacity 2.1.1. There is a bit of lag between adjusting the controls and hearing the new settings due to buffering, but basically yes you can adjust the controls and hear what it does,DickN wrote:By "real-time preview" do you mean while user is adjusting it?
Hopefully we can have that too (fingers crossed).DickN wrote:it would also be fantastic in the Equalization effect
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)
Re: Equalization - 'length of filter' selections changed
Since Equalization is getting some improvements, I'd like to suggest a couple. Often it would be expeditious to be able to move a set of control points instead of individual points. One could define a region of points having three sections: A central portion of settable length which behaves as a rigid beam that can move vertically or in rotation, and ends (also of settable length) which behave as spline interpolations similar to what the "graphic equalizer" front-end does but without adding more control points. Tweaking an equalization using this tool would be faster and easier. It would also be useful to be able to move a set of points horizontally, optionally with rubber-banding so control points close to the mouse cursor move further than control points at the ends or opposite end of the region.
Some possibilities:
Combine these into one tool such that holding Alt down enables movement along the vertical axis and holding Ctrl down enables it along the horizontal axis. Holding Shift down could enable rotation, without which the rigid central portion can only move in translation. If the central rigid portion is of zero length, the two spline-interpolating ends could become one spline which does the rubber-banding relative to the ends and the mouse cursor.
When using these tools, one might find it useful or necessary to add a few control points in regions where the curve has to flex. It would then be nice to be able to add a point that's right on the straight line between the neighboring points and in the vicinity of the mouse cursor so the mouse cursor doesn't have to be precisely located. Since Ctrl, Alt and Shift are already allocated if the previous paragraph is fully implemented, how about one of those keys with right-click for this? I think right-click alone should be reserved for context menus. I don't know the key assortments for systems other than Windows, but I'm assuming they all have Alt, Ctrl and Shift - they've been around since the Teletype.
I'm kind of asking for the sun, moon and stars and hoping for the moon, but you folks have probably been brainstorming along these lines already so here's some more input.
- DickN
Some possibilities:
Combine these into one tool such that holding Alt down enables movement along the vertical axis and holding Ctrl down enables it along the horizontal axis. Holding Shift down could enable rotation, without which the rigid central portion can only move in translation. If the central rigid portion is of zero length, the two spline-interpolating ends could become one spline which does the rubber-banding relative to the ends and the mouse cursor.
When using these tools, one might find it useful or necessary to add a few control points in regions where the curve has to flex. It would then be nice to be able to add a point that's right on the straight line between the neighboring points and in the vicinity of the mouse cursor so the mouse cursor doesn't have to be precisely located. Since Ctrl, Alt and Shift are already allocated if the previous paragraph is fully implemented, how about one of those keys with right-click for this? I think right-click alone should be reserved for context menus. I don't know the key assortments for systems other than Windows, but I'm assuming they all have Alt, Ctrl and Shift - they've been around since the Teletype.
I'm kind of asking for the sun, moon and stars and hoping for the moon, but you folks have probably been brainstorming along these lines already so here's some more input.
- DickN
Re: Equalization - 'length of filter' selections changed
I finally discovered that the left and right arrows work on the "Length of Filter" slider and as far as I can tell, any odd number from 21 to 8191 can be selected
. So there's no need for any change to this entry field, and no need for me to come up with new filters. I might have to change my filters when Equalization is revised to be less sample-rate dependent, but that's the price of progress. I vaguely remember encountering a sample-rate issue way back when, like the frequency scale getting telescoped or something like that. Seemed to me like a simple scaling error in the math (if I'm remembering it right at all), but I've never looked at the program. I'd tag this with Rosanne Rosannadanna's famous last words on Saturday Night Live, but I think some potentially fruitful ideas have come out in this thread. Thanks, Steve! 
- DickN
- DickN
Re: Equalization - 'length of filter' selections changed
Thanks for the input DickN. I hoping to be able to work with Leland on this - there's some tricky coding stuff involved and he has the experience and expertise to pull it off, though the time scale for these enhancements will depend on his availability. I know that he's keen to make some changes to the Equalization effect sooner rather than later, which is encouraging.
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)
-
waxcylinder
- Forum Staff
- Posts: 14687
- Joined: Tue Jul 31, 2007 11:03 am
- Operating System: Windows 10
Re: Equalization - 'length of filter' selections changed
Is there anthing here that needs transferring to Wiki>Pending_Frature_Requests?
Or should it be written up as a propsla?
Peter
Or should it be written up as a propsla?
Peter
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * FAQ * * * * * Tutorials * * * * * Audacity Manual * * * * *
* * * * * FAQ * * * * * Tutorials * * * * * Audacity Manual * * * * *