• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Calibration tool for Headphone + Hearing capability

mmdiss

Member
Joined
Aug 9, 2021
Messages
14
Likes
4
First of all this has to be silence generations. Second it's a difficult way of creating sounds. I need a white noise algorithm which includes narrow band frequency parameters. I must say I haven't yet investigated this thoroughly. I can't imagine there isn't such algorithm on the internet.

Just to add my silly question: wouldn't be possible to simply play white noise while APO is doing the filtering, in real-time?
 

Peter Verbeek

Member
Joined
Nov 6, 2020
Messages
72
Likes
48
Location
The Netherlands
Just to add my silly question: wouldn't be possible to simply play white noise while APO is doing the filtering, in real-time?
That is a possibility so it isn't silly at all. But any background noise (if this still is necessary when using white noise) would also be filtered. For maximum flexiblity I rather generate test sounds as samples to be able to just play them. Also when Equalizer APO is broken by a Windows update (this happens to many times to my taste) a test can't be performed any longer. So it influences the userfriendliness of Peace.

But you have given me an idea. If I'm able to generate white noise (I'm not sure what white noise is), I could use my program code for calculating the filter graph (biquad formula's) to calculate the narrow band samples from of this generated white noise. For example by taking the biquad band filter formula's.
 

Robbo99999

Master Contributor
Forum Donor
Joined
Jan 23, 2020
Messages
6,995
Likes
6,861
Location
UK
That is a possibility so it isn't silly at all. But any background noise (if this still is necessary when using white noise) would also be filtered. For maximum flexiblity I rather generate test sounds as samples to be able to just play them. Also when Equalizer APO is broken by a Windows update (this happens to many times to my taste) a test can't be performed any longer. So it influences the userfriendliness of Peace.

But you have given me an idea. If I'm able to generate white noise (I'm not sure what white noise is), I could use my program code for calculating the filter graph (biquad formula's) to calculate the narrow band samples from of this generated white noise. For example by taking the biquad band filter formula's.
(If EqualiserAPO is ever broken by Windows update, then so is Peace...........in my experience any time EqualiserAPO is broken by a Windows update then it just says you need to run the Configurator when you start up EqualiserAPO, which just installs EqualiserAPO to the sound device of your choice.)
 

Peter Verbeek

Member
Joined
Nov 6, 2020
Messages
72
Likes
48
Location
The Netherlands
(If EqualiserAPO is ever broken by Windows update, then so is Peace...........in my experience any time EqualiserAPO is broken by a Windows update then it just says you need to run the Configurator when you start up EqualiserAPO, which just installs EqualiserAPO to the sound device of your choice.)
True. But after a Windows update Equalizer APO might refuse to work again, even after running the Configurator. Usually by uninstalling and installing things get going again. Then again sometimes not. However, the "SFX/EFX" setting is first thing to try. That may do the trick. Equalizer APO is still set by default on Windows 7 GFX/LFX. And the "Use original APO" checkboxes might need to be uncheck. And in some occassion even another audio device driver needs to be installed. It can become very complex for unexperienced users.
 

mmdiss

Member
Joined
Aug 9, 2021
Messages
14
Likes
4
The problem is that without the reference point of the threshold of hearing - sans masking - you have no idea what equal loudness contour you should be approximating. In the absence of ability to measure the actual SPL, you need to have people use their real threshold of hearing for this test, otherwise their results will not be accurate even within this limited paradigm

Maybe we can (approximately) overcome this limitation by changing how the calibration is done:
- instead of using masking noise, we just ask the user to let the tones sound the same loudness (without noise)
- this needs to be done twice and at different levels (say at some level, and that level +40dB)
- the difference between the two curves at the different sound levels can be used to infer the phon levels for each of the two trials (this is possible because we know what is the difference between the equal loudness curves at various phon levels). It's not said that a standard phon curve (0 - 10 -20 ... 100) will be the best fit, probably we will need to take care of interpolated curves (for example, the resulting curves can be 37 and 77 phon respectively, or maybe 23 and 63, or 41 and 81, with the phon difference that shuold be fixed, the +40dB said before)
- at the price of a more complex calibration (actually, we are talking about calibrating twice) we can average the two runs (of course, each one against its phon curve) and we can measure indirectly the sound level of the headphone (useful, say, to make sure we always stay below the safe exposure levels https://www.amperordirect.com/pc/help-hearing-aid/z-noise-exposure-guidelines.html )



1628930255528.png

taken from https://www.merlijnvanveen.nl/en/calculators/59-equal-loudness
 

mmdiss

Member
Joined
Aug 9, 2021
Messages
14
Likes
4
Maybe it is simpler than that: with just 3 tones (let's say 40hz, 80hz and 160hz), letting them sound equally loud starting from three levels (taking as a reference the central tone played at three levels, maybe -30db, -50db and -70db), probably we will get enough information to estimate the sound level of the specific pair of headphones tested. I think I'm going to trying out this idea.
 

Peter Verbeek

Member
Joined
Nov 6, 2020
Messages
72
Likes
48
Location
The Netherlands
Maybe we can (approximately) overcome this limitation by changing how the calibration is done
- instead of using masking noise, we just ask the user to let the tones sound the same loudness (without noise)
Not a bad idea. I've one concern. It's difficult for the user to determine the same loudness. But if he can perform such as task your methodology might work.

Maybe it is simpler than that: with just 3 tones (let's say 40hz, 80hz and 160hz), letting them sound equally loud starting from three levels (taking as a reference the central tone played at three levels, maybe -30db, -50db and -70db), probably we will get enough information to estimate the sound level of the specific pair of headphones tested. I think I'm going to trying out this idea.
I'm not sure what you're saying here but I'm eager to know what your findings are after trying it out.
 

mmdiss

Member
Joined
Aug 9, 2021
Messages
14
Likes
4
Let me explain better.

The first chart here below shows the equal loudness of the three frequencies (in the X-axis we see the phon, in Y-axis the corresponding dB: per each phon we have the same loudness at different dB for each frequency. EDIT: more accurately, the first chart shows the difference in dB between the tone and the equally loud tone @1000hz.. this is why we see a rise from 0 phon to 10 phon. However, nothing changes in our reasoning, as the distance between the curves is equal). As we see, the difference in dB between frequencies varies between the different phon levels (second chart): as we know, at lower phon the perceived loudness varies most, while at higher phon the perceived loudness is more similar between different frequencies).

1628959071186.png


Basically, we need to know the difference in dB to equal perceived tones at the three different frequencies.

I run a test on my headphones, playing at a certain fixed Windows volume level 80hz at -60db (almost inaudible), -40db (fine), -20db (LOUD :D) and, at each level, I found the corresponding equal loudness level for 40hz and 160hz (compared to the 80hz). Here are the results (the first one, -16hz, should read as follows: playing 80Hz at -60dB is perceived equally loud as 40 Hz at -44 dB, of course on my headphones and at this certain Windows volume level. -13,7 dB, the second value, implies that 160 Hz has to be played 13,7 dB lower than the 80 Hz (-73,7dB)... so, yes, signs are inverted because I'm showing 80Hz-40Hz and 160Hz-80Hz).

1628959486351.png


The run was interesting because playing 160Hz @ -73,7dB made the harmonic distortion well noticeable.

Anyway, what is the result? The first run was (80hz@-60dB) close to 20 phon (let's say 22 phon), the second (80hz@-40dB) somewhere around 50 phon and the latest (80hz@-20dB) maybe around 75 phon. Please note that the blue datapoints are just the ones plotted as blue and orange line in the second chart above, just that here I plotted in XY instead of lines.

1628960043900.png


Theoretically, we should have the result distanced by 20phon (EDIT: not quite, that would have been true if we were referring to 1000hz, since 1 phon equals to 1 db, in fact the difference in decibel between 0 phon and 100 phon @80Hz it's just 83 db), while I got 22 phon - 50 phon - 75 phon. Moreover, orange points should lie just between the blu ones, while the second and third runs somehow were not so accurate, at least when we look at the difference between 40 and 80 hz. I guess the best I can say is that picking equally loud frequencies is not so easy (as Peter wrote), anyway I think it's safe to assume the second run (80hz@-40dB) is somewhere around the 50 phon curve. So, if I were to decide (at that loudness level) which phon curve to use, I would pick the 50 phon.

Probably having more points and more runs might result in a more accurate estimate, at least now I have a rough idea on how loud my headphones are playing :D
 
Last edited:

Peter Verbeek

Member
Joined
Nov 6, 2020
Messages
72
Likes
48
Location
The Netherlands
So, if I were to decide (at that loudness level) which phon curve to use, I would pick the 50 phon.
I've difficulties to fully get where you're saying. Probably have to read it a few times more. But your tests/measurements do tell a familiar story as you're finding a "preferred" Phon contour of 50. And as you have shown, and is quite obvious looking at the equal-loudness contours, the contours vary the most in the lower frequencies. Other variations can be seen as arbitrary and little such as the frequency shift of Phons at the 10 kHz mark. If the general shape of the contours hold any info on the human hearing then taking a contour at a certain Phon is a matter of bass taste. I've assumed this knowing that headphones users want bass. @Mad_Economist confirmed once again that we just like bass and of course this isn't reflected in a resulting (created) eq from a test unless the user takes a higher Phon. In other words, as a test is done on the hearing threshold. Therefore 0 Phon should be taken to reflect that in the resulting eq. But this leaves the user with too little bass as we're so used to having bass in our headphones as it's put in by the manufacturers.
 

ASRaddict

Member
Joined
Apr 9, 2021
Messages
38
Likes
12
@P48 Reading your response on this topic I see you have some questions and remarks. As this is my first post on the AudioScienceReview forum I hope to give some clarification which are conform the etiquettes of this forum.

First of all this new Headphones and hearing test interface in Peace is version 1.0. Any response/feedback is well-appreciated as it could potentially improve this test interface. So thanks, P48.


The curve used is the Equal-loudness contour at 0 Phon which is the hearing threshold. This is chosen because of the way a test profile of one's headphones/hearing is built up. By listening to a sine whilst lowering its volume till it becomes unhearable the threshold of a test frequency is determined. This threshold is the same as the 0 Phon contour.
As we found that using the Equal-loudness contour resulted into a very flat bass we decided to introduce more bass by correcting the contour. Of course this is abitrary but there are several reasons for this. Perhaps the most important one is that people searching for "the best equalization" for their headphones want a rather "quick fix". Using an uncorrected Equal-loudness contour is fine but it would mean that a Peace user needs to introduce bass and treble himself. Btw. this is still possible if a user just want that way to go. In a future version we want to offer more types of correction. You can think of a few like "Give me more bass". One note: the Equal-loudness contour itself is arbitray. There doesn't exist something like a common hearing/headphones. Each individual has a unique hearing and every headphones set has its own audio profile.


Using noise instead of a sine is one feature which is on the wishlist. Up till today I didn't had any understanding of the difference between using a sine and noise. I guess I'm saying thanks for the feedback :) Any addition info is appreciated. The current test interface has the abbility to play noise whilst testing the sine waves over the chosen frequencies.


I guess that's a yes :)
To create a test profile (and equalization from it) one chooses a EQ configuration, either the special made one or another like the 31 bands one. It's up to the user which frequencies to test. The special made one holds more sensitive frequencies in the middle of our hearing besides other frequencies like lower bass.
Yes, more compensation curves, noise vs sine (maybe more kind of noises?) and other features.

Peter
Thank you Peter for this wonderful tool. I tried it last night with My Thieaudio Oracle and the generated EQ beats all the others by a good margin. Simple to use, works very well, and music sounds like it should.
 

Peter Verbeek

Member
Joined
Nov 6, 2020
Messages
72
Likes
48
Location
The Netherlands
Thank you Peter for this wonderful tool. I tried it last night with My Thieaudio Oracle and the generated EQ beats all the others by a good margin. Simple to use, works very well, and music sounds like it should.
Very glad to hear that. Thanks for sharing and you're welcome. One question, which Phon contour did you use to create the eq? By default it's on 60 Phon.
 

dasdoing

Major Contributor
Joined
May 20, 2020
Messages
4,301
Likes
2,769
Location
Salvador-Bahia-Brasil
Havnt read everything, but if you find the threshold curve, than add the diference between 83 phon and 0 phon curve you will have (in theory, if anything is perfect, even you ears matching the general) a totaly neutral reproduction. this will obviously lack bass as most prefer the Harman boost. A simple solution would therefore be a Harman bass boost switch.
using the 60 phon curve form the iso as a threshold doesn't make any sense
 

Peter Verbeek

Member
Joined
Nov 6, 2020
Messages
72
Likes
48
Location
The Netherlands
Havnt read everything, but if you find the threshold curve, than add the diference between 83 phon and 0 phon curve you will have (in theory, if anything is perfect, even you ears matching the general) a totaly neutral reproduction. this will obviously lack bass as most prefer the Harman boost. A simple solution would therefore be a Harman bass boost switch.
using the 60 phon curve form the iso as a threshold doesn't make any sense
Yes, that's what we are trying to figure out here. We're thinking along the same line. And I probably add 2 dropdown boxes or dials for adding bass and treble (according to the Harman curves). Having a simple bass boost switch isn't good enough.
 

Peter Verbeek

Member
Joined
Nov 6, 2020
Messages
72
Likes
48
Location
The Netherlands
how did you solve the issue of missig data above 12.5Hz in the iso?
Do you mean the lack off data above in the equal-loudness contours above 12.5 kHz? As the important frequencies are well below this high frequency, especially for the hearing impaired, there isn't must to solve. I did use the interpolated data (black dotted lines) of the equal-loudness contours for people who want an eq above 12 kHz. If you mean lower than 20 Hz, that's easy as it's just interpolating from 20 Hz and lower. But eq's lower than 20 Hz aren't needed.
 
Last edited:
Joined
Dec 22, 2020
Messages
38
Likes
6
Hello, for me it's quite difficult to determine the 0phon equal loudness curve, because it's not just hearable or not, also depending on the amount of time the signal affecting the ear(drum).
I prefer the approach of the smyth realiser a8/ 16 equal loudness test (manLOUD), where the frequency bands are played in a row and can be adjusted instantly.
I think this helps a lot to detect deviations from the reference band (1000hz or so) loudness, but I also suggest a new function rendering the frequency bands randomly with the reference band as the anchor-loudness a bit more often. Otherwise the brain is getting used to the unaltered sequence too fast resulting in fatigue.
Unfortunately such programm doesn't exist yet, Dgsonicfocus from Griesinger always alternates from the selected band to the reference band.
 
Last edited:

Peter Verbeek

Member
Joined
Nov 6, 2020
Messages
72
Likes
48
Location
The Netherlands
I also suggest a new function rendering the frequency bands randomly with the reference band as the anchor-loudness a bit more often. Otherwise the brain is getting used to the unaltered sequence too fast resulting in fatigue.
I understand what you're saying. Unfortunately the program language I'm using isn't fast enough to have randomly chosen frequencies or frequency bands. Also the outcome of the test will be used for an eq. For this purpose Peace uses the predefined frequencies of the test. By having these random test frequencies the eq from the test result must come from some calculations which I don't know how to do. For ease I let the user choose the frequencies he wants to test and therefore eq. But as you're saying this might not be the optimal way to measure.

for me it's quite difficult to determine the 0phon equal loudness curve, because it's not just hearable or not, also depending on the amount of time the signal affecting the ear(drum).
I think I understand what you're saying although I'm not entirely sure what you mean by "determine". Anyway, the approach in Peace isn't the best but it yielded (by careful doing the test) many good eq's for users. However, the entire purpose of this test interface is to get a grip on the flaws in ones hearing and headphones. It isn't suppose to create the best eq nor the perfect test for that matter. I feel going to a hearing care professional is always preferred if one wants to have a "perfect" test. On the other hand, some users already reported that the test interface is quite good enough. Have said this the idea of improving the testing by using random frequencies or bands, and the ideas of using white noise and different comparing curves, etc. are good ones for improving the test interface.
 
Top Bottom