UI suggestion: Logarithmic frequency knobs

Locked New Topic
RELATED
PRODUCTS

Post

I've recently bought the ValhallaPlate, and I love it nuts. However, it does have one property that I nags me a bit: The frequency sliders are linear. Examples:

LowFreq at 000%: 20 Hz
LowFreq at 050%: 1010 Hz (my suggestion: 200 Hz)
LowFreq at 100%: 2000 Hz

HighFreq at 000%: 200 Hz
HighFreq at 050%: 10100 Hz (my suggestion: 2000 Hz)
HighFreq at 100%: 20000 Hz

Is this something that could be considered for future updates of the ValhallaPlate or for future plugins in general? I think it would make it far more intuitive to work with.

Post

Once a plugin is released, the warping of the knobs needs to remain the way that it is. Changing the warping would change any saved project that is currently using the plugin. For example, if someone had ValhallaPlate in their existing project, that had a 600 Hz Low Freq, an update that remapped the LowFreq slider to a center freq of 200 Hz might find that their Low Freq was now set to 120 Hz. I can't break backwards compatibility with updates.

In general, I use different warping functions where it seems appropriate. In ValhallaPlate, I use warping on the ModRate knob, so that the 0.0-5.0 Hz range is biased towards the lower frequencies (and the center frequency is 1.0 Hz). The Decay knob has a very complex warping function that I implemented, with several different breakpoints, in order to get the behavior I was looking for.

Sean Costello

Post

Good point about existing plugins.

But could this perhaps be considered for future plugins perhaps?

Post

JoaCHIP wrote:Good point about existing plugins.

But could this perhaps be considered for future plugins perhaps?
I'll certainly consider it. I think that the bigger question is about what the most useful filtering ranges are for a given product, and how people use these filters.

The warping you suggests definitely leans towards focusing the low cut/boost on very low frequencies, and the high cut/boost on fairly low frequencies as well. In my opinion, this wouldn't work as well on the reverbs in ValhallaPlate. EMT140 plate reverbs tend to be fairly boomy, and not have a ton of high frequencies in the first place.

If I was going to redo the filtering in ValhallaPlate, I might consider having the "Abbey Road" frequencies as the defaults. In other words, set the Low & High freq knobs at noon, and you would have respective frequencies of 600 Hz and 6000 Hz. This is probably closer to linear than the log warping that you have suggested, but it isn't exactly linear.

Sean Costello

Post

valhallasound wrote:The warping you suggests definitely leans towards focusing the low cut/boost on very low frequencies, and the high cut/boost on fairly low frequencies as well.
Uhm, no. My suggestion would result in each octave being the same size. This is what you achieve by using logarithms like this, and most plugins already do it this way. (See any EQ plugin, for example.)

The very idea is not to give emphasis to either bass or treble. Using linear scaling the way you currently do, results in the treble being favored to a very large degree. Imagine a slider covering the full audible range. Following your style it would be like:

000%: 20 Hz (bass)
050%: 10010 Hz (treble)
100%: 20000 Hz (treble)

By using logarithms the way I suggest, you get:

000%: 20 Hz (bass)
050%: 630 Hz (mid)
100%: 20000 Hz (treble)

I hope this makes sense. I'll gladly provide source code if that would help.

Post

A solution could be, that the user can set the range and scale.

Range set between 20 and 400Hz:
000%: 20 Hz
050%: 100 Hz
100%: 400 Hz

Then set a different scale
000%: 20 Hz
050%: 200 Hz
100%: 400 Hz

This could give the user the possibility to use the knob in a focused range, where he needs it. Then automation will be also much more fun.
Image stardustmedia - high end analog music services - murat

Post

stardustmedia wrote:A solution could be, that the user can set the range and scale.
Please take a look at any EQ plugin. There really is just one correct way to map a frequency range to knobs/sliders, and that's why I'm suggesting that. Adding advanced features like this suggestion would make the UI more complicated, and perhaps even confuse less experienced users.

First things first, right? :wink:

Also, having a fairly simple and straight-forward UI seems to be the style that these Valhalla plugins have, and I quite like that.

Post

JoaCHIP wrote:
valhallasound wrote:The warping you suggests definitely leans towards focusing the low cut/boost on very low frequencies, and the high cut/boost on fairly low frequencies as well.
Uhm, no. My suggestion would result in each octave being the same size. This is what you achieve by using logarithms like this, and most plugins already do it this way. (See any EQ plugin, for example.)

The very idea is not to give emphasis to either bass or treble. Using linear scaling the way you currently do, results in the treble being favored to a very large degree. Imagine a slider covering the full audible range. Following your style it would be like:

000%: 20 Hz (bass)
050%: 10010 Hz (treble)
100%: 20000 Hz (treble)

By using logarithms the way I suggest, you get:

000%: 20 Hz (bass)
050%: 630 Hz (mid)
100%: 20000 Hz (treble)

I hope this makes sense. I'll gladly provide source code if that would help.
I've got the source code covered, but thanks for the offer! A few of the slider mappings I have:

- Log
- Log with specific value at midpoint
- Bipolar Log
- Custom w/multiple breakpoints & linear interpolation (or it might be a higher order interpolation, I forget)

My current philosophy in interface design, is that the vast majority of the knob/slider travel controls what I deem to be a "useful" range. This might deviate from mathematical principles, in order to make things more usable.

I would argue that a log mapping of the High Freq in ValhallaPlate, given the existing 1 kHz to 20 kHz range, would weight the majority of the knob travel towards frequencies that are too dark for the plate algorithms. A log mapping with the centerpoint at 6 kHz might be better, but these log mappings sometimes result in weird behavior for the lowest settings, where you have far too much of the control mapped to, say, the range between 1000 Hz and 1100 Hz. If you quantize the knob, this results in this weird "dead spot" for the lowest settings.

Same thing with the Low Freq knob. I can speak from experience that log mappings of the low frequency controls can sometimes lead to a LOT of dead spots, or far too granular control over the low frequencies.

The Decay knob in ValhallaPlate was originally log. Which worked fine, when the maximum decay time was limited to 10 seconds. A log mapping of 0.5 Hz to 10 Hz ended up mapping most of the traditional "plate" decay times to most of the knob travel. I decided to extend the maximum decay time to 30 seconds, as the algorithms sounded cool with long decays. This RUINED the log mapping, with far too much of the knob travel being spent on decays well outside of the realm of physical plates. I ended up creating a new "breakpoint" knob control, where I could specify that more than 75% of the knob travel was used for decay times between 0.5 Hz and 6 Hz, with most of the remaining travel used for decay times that weren't unreasonably huge. This created a Decay knob that feels smooth when in use, and has that log "feel," without actually being log.

Sean Costello

Post

Alright. Thanks for the thorough explanation. :tu:

Locked

Return to “Valhalla DSP”