Equal perceived volume after EQ changes

Started by Eddododo, June 14, 2024, 12:00:23 AM

Previous topic - Next topic

Eddododo

Is there a straightforward way to approach or even 'calculate' equivalent volume after an eq shape changes? It's easy enough when playing, and making a level adjustment to even out a scooped eq pedal vs dry, but if I'm working in spice and want to achieve a perceived unity level, is there a way to give myself a formulaic shorthand for it? Something something power function something yada yada...

Specifically, I'm working on a 'contour' control for an onboard pre in a bass, and for its purposes, the resultant impact after cutting here and boosting there feels crucial in that context, as its supposed to be an 'easy button,' not one that makes the user tweak the rest on the EQ and gain after trying to use the contour..

antonis

"I'm getting older while being taught all the time" Solon the Athenian..
"I don't mind  being taught all the time but I do mind a lot getting old" Antonis the Thessalonian..

ElectricDruid

Short answer, No.

Long answer, you might be able to come up with something that might be good enough.

The amount of harmonics in a signal has a big effect on the perceived volume. A 5Vpp triangle wave sounds a lot quieter than a 5Vpp square wave. You could model that by using a fourier analysis and then adding up the harmonic amounts. Whether even that gets you close to the "perceived" volume is an open question. Human perception tends to be not very linear.

Can that be done in Spice? Doubt it.

Mark Hammer

Tom is quite correct in raising the matter of perceived loudness.  The ideal would be something that takes both the absolute amplitude/SPL and the Fletcher-Munson curve into account.

If you've ever switched between a buffered and unbuffered signal path, the buffered one will often seem louder, even though the buffer is unity-gain.  The retained treble content makes it sound louder.

Perception is a funny thing, eh?

Rob Strand

#4
First you will need to create a wavefile containing a sample of bass signal.
There's a few options here:
- play a few notes and create a many note sample file
- play single notes and store them in separate files

Most basic LTspice analysis:
- Input a bass waveform from a wavefile.
- Do a transient analysis.
- Take the rms of the signal using the viewer (CTRL + Left click on waveform name),
  or using .MEAS.

You can do a little better in LTspice by passing the output of the circuit
through a buffer then a filter.  Then take the rms output of the filter as the level.
A good start for the filters is 60 to 80Hz high-pass and 6kHz to 10kHz low-pass.

If you have software which has the LUFS/LKFS level standard you can export
a wavefile from LTspice then import and compare the levels.   Then you might
be surprised it doesn't work much better than the simple methods in LTspice.

Ultimately you have to use your ears to check.   Suppose you have EQ which boosts
the lows.  If you level the signal then it will tell you to decrease the level.
Sometimes you want the highs to stay the same level and hear the bass increase,
ie no leveling.  So it boils down to what you expect to hear.

If you use the single note sample files you will see how the amount of leveling
depends on the signal.   That makes you think about what you expect.
Send:     . .- .-. - .... / - --- / --. --- .-. -
According to the water analogy of electricity, transistor leakage is caused by holes.