compensate for uneven perceived loudness of frequencies in waveforms

Bug #1904624 reported by Be
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
New
Low
Unassigned

Bug Description

Some tracks with lots of subbass frequencies can be confusing on Mixxx's waveforms because it seems like more bass should be heard for what is shown on screen.

https://mixxx.zulipchat.com/#narrow/stream/109695-_support/topic/Strange.20Waveform.20analysis.20.5BSOLVED.5D

Be (be.ing)
Changed in mixxx:
importance: Undecided → Low
Revision history for this message
ronso0 (ronso0) wrote :

aahm, that issue was resolved after the user switched to a proper PA.
Same issue is when the track has subbass frequencies you wouldn't hear on regular speakers, only with subwoofers. recently I experienced some tracks with rather innocent waveforms that blow me head of when played on our club PA

Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :

No, the issue in the title is not solved. Adjusting the display according to the "perceived loudness" is still worth considering.

Revision history for this message
ronso0 (ronso0) wrote :

Sure.
But that Zulip discussion was resolved. It was started by a user missing bass on his laptop speakers...

@be mentioned not bass but subbass which can be much more powerful on linear PAs. How would mixxx try to compensate that? The waveform shows a huge red tide to show there's subbass and 99% of the users would wonder why their speakers can't reproduce it.

Revision history for this message
Be (be.ing) wrote :

Subbass requires much higher SPL to sound the same subjective loudness as other frequencies, even if you have a great subwoofer. The waveforms should account for this. https://en.wikipedia.org/wiki/Equal-loudness_contour

Revision history for this message
Daniel Schürmann (daschuer) wrote :

We need to careful not to mix two topics. We have on one hand the loudness contour of a human ear.
This can be summed up as:
"You only hear the full dynamic of track at full loudness on a reasonable PA"

This is not the topic here!

Mixxx already has the Loudness effect, to compensate that during dinner time or warm up.

For waveform analysis we use a Bessel LP/BP/HP filter for calculating waveform at cross over frequencies of 600 and 4000 Hz. This has the issue that the LP and HP have open ends and are not limited to the Hi-Fi frequencies of 20 Hz bis 20 kHz

At high frequency, we have a natural limit due to the sample rate of 22 kHz that limits the data to the Hi-Fi Range. (We will suffer the same issue if one is using 192 kHz tracks, btw).

This is not the case at the low frequency, we are even able to put out a DC signal.
All PA-amplifier have a High-Pass filter usually with a cut of at 20 Hz that protect the circuits from high energy low frequency signals that are likely self destroying.

Some sub-woofer pretend to go down to 16 Hz, but that is IMHO more like a marketing trick than reality and serious measurement of a flat free-air responds curve.

tl;dr
We may consider to add a high-pass filter at 20 Hz to our waveform analysis to filter that out.
However I am in doubt that we have tracks that have frequencies below 20 Hz. If we assume that there are none, such a filter would be pointless.

Before putting work into that we need a real live example, else we will fix a phantom.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

The track of question was
Pig & Dan - Road Trip (Original Mix)
https://music.youtube.com/watch?v=HVikjattA40

at 0:30.7 a Chirp Base down to 30 Hz starts with very small harmonics @ 15 Hz.

I have applied a sharp 20 Hz 24 dB High-pass to it which as zero visual effect.

Revision history for this message
Daniel Schürmann (daschuer) wrote :
Revision history for this message
Daniel Schürmann (daschuer) wrote :

The top one is the filtered.
You can see the removal of the harmonic 15 Hz base from the waveform outlines after the beat maker. In the top version the base curve is more symmetric.

I don't think here is something we can "fix".

Revision history for this message
Be (be.ing) wrote :

> We need to careful not to mix two topics.

You have brought in two different topics to this discussion. Neither are the original topic.

Mixxx cannot know at what SPL its output is being played at without that being measured. So we'd have to make an arbitrary assumption of how loud it is being played. Even a fixed arbitrary assumed output level would be closer to how it is perceived than pretending that all frequencies are perceived as the same loudness.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

Yes, right and we do the waveform analysis without actually playing the track.
In addition, the original issue is solved.

So I think this should become "won't fix"

Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/10220

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.