• 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!

Beta Test: Earful -- a hearing test App

OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,699
Likes
10,386
Location
North-East
yea, sound test in winecfg is working
Arch

OK, I got it mostly to work on Ubuntu... It displays a DS device driver and even lets Earful make some sounds. But, on my older version of Ubuntu and Wine, it causes Wine to crash occasionally. The crash appears to be internal to Wine (not inside Earful), so hopefully it just has something to do with my out of date version. Please give this a try and let me know if you can get it work... https://distortaudio.org/EarfulSetup.zip
 
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,699
Likes
10,386
Location
North-East
Earful Version 1.0.7 is now available. Adds some new features, adds support for some keyboard commands to simplify the test process, and fixes a few bugs:

Changes in 1.0.7
  • Added support for applying headphone calibration curves for a flat response (excellent source for headphones is here: https://github.com/jaakkopasanen/AutoEq )
  • Added Shift-Click to directly select any point on the plot
  • Added Shift-Left/Right/Up/Down keys to control selecting frequency and setting volume directly from the keyboard
  • Fixed exceptions when ASIO or WASAPI drivers are not supported (for example, under Wine on Linux)
  • Fixed data points being set to the previous point volume setting when the actual value is -120dB
AutoEQ GitHub repository is a great source for headphone calibration files. For example, for HD650, the data is here, in a single CSV file:

https://github.com/jaakkopasanen/AutoEq/tree/master/measurements/innerfidelity/data/onear/Sennheiser HD 650

(you'll want the raw frequency response file for this feature!)

If you save the file to disk, you can then use Phone EQ button to load it into Earful. This will automatically apply the necessary compensation to flatten the response curve across the frequency spectrum. Of course, you can measure your speaker system and then save the frequency response into a similar CSV file. The format of the file is simple: frequency followed by comma, followed by dBr response at that frequency:

frequency,raw
20.00,-6.19
20.20,-6.19
20.40,-6.18
20.61,-6.18
20.81,-6.17
....

If you're already flattening the curve with convolution, PEQ or another type of EQ, then don't use Phone EQ function, as this will apply the curve twice!
 

dasdoing

Major Contributor
Joined
May 20, 2020
Messages
4,297
Likes
2,764
Location
Salvador-Bahia-Brasil
OK, I got it mostly to work on Ubuntu... It displays a DS device driver and even lets Earful make some sounds. But, on my older version of Ubuntu and Wine, it causes Wine to crash occasionally. The crash appears to be internal to Wine (not inside Earful), so hopefully it just has something to do with my out of date version. Please give this a try and let me know if you can get it work... https://distortaudio.org/EarfulSetup.zip

is there a way to use (list) the default device? I can't use soundcards directly due to my configuration
 
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,699
Likes
10,386
Location
North-East
is there a way to use (list) the default device? I can't use soundcards directly due to my configuration

All the devices that Wine reports are available are shown in the drop-down list. Do you see any? I get a single device on Ubuntu:

1595937602178.png


Edit: here are my winecfg settings for audio:

1595938245551.png
 
Last edited:

dasdoing

Major Contributor
Joined
May 20, 2020
Messages
4,297
Likes
2,764
Location
Salvador-Bahia-Brasil
All the devices that Wine reports are available are shown in the drop-down list. Do you see any? I get a single device on Ubuntu:

View attachment 75516

Edit: here are my winecfg settings for audio:

View attachment 75520


ok, I don't use PulseAudio. making it work with PulseAudio will work for 99% of Linuxusers though.
With Alsa there is a problem that all (fisical) devices apear, minus the default device:

Screenshot_20200728_091732.png
Screenshot_20200728_091707.png
 
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,699
Likes
10,386
Location
North-East
ok, I don't use PulseAudio. making it work with PulseAudio will work for 99% of Linuxusers though.
With Alsa there is a problem that all (fisical) devices apear, minus the default device:

View attachment 75522View attachment 75524

Interesting. I can try to add a selection for the Default device as a special case. In my experience the default device should normally map to one of the other devices in the list. Are you saying that "Out: default" is a completely separate device from all the others?
 

dasdoing

Major Contributor
Joined
May 20, 2020
Messages
4,297
Likes
2,764
Location
Salvador-Bahia-Brasil
Interesting. I can add a selection for the Default device as a special case. In my experience the default device should normally map to one of the other devices in the list. Are you saying that "Out: default" is a completely separate device from all the others?

in my use case (jack plugin for alsa), and other alsa configurations (~/.asoundrc) the alsa default device (pcm.!default) is a "type plug" instead of a hardware device "type hw". So it's a virtual instead of a real device
 
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,699
Likes
10,386
Location
North-East
in my use case (jack plugin for alsa), and other alsa configurations (~/.asoundrc) the alsa default device (pcm.!default) is a "type plug" instead of a hardware device "type hw". So it's a virtual instead of a real device

For whatever reason, perhaps because it's a virtual and not a physical device, this device doesn't appear in what's reported to Earful. All the devices reported are listed in the drop-down.
 

dasdoing

Major Contributor
Joined
May 20, 2020
Messages
4,297
Likes
2,764
Location
Salvador-Bahia-Brasil
For whatever reason, perhaps because it's a virtual and not a physical device, this device doesn't appear in what's reported to Earful. All the devices reported are listed in the drop-down.

never mind,
running it in terminal showed me I needed 32bit jack lib.
my usecase is very special, I bet your software is wine compatible for most if not all other usecases
 

BaaM

Member
Joined
Nov 7, 2019
Messages
58
Likes
96
Yeah, with my main system:
SMSL SU8 > nCore HPA 250 > DIY Davis Acoustic Kristel.
My sweetpoint is 5.5 meters from the speakers.

Will try with my CIEMs later :)
 

zermak

Senior Member
Joined
Jun 2, 2019
Messages
373
Likes
251
Location
Italy
Thanks man, that was fun.
lQhaAz8.png
Lucky you that can listen up to 20kHz with your loudspeakers :)

PS: I asked pkane to implement a screenshot function ahah, it's the tiny camera on top left of the grap :p
 

zermak

Senior Member
Joined
Jun 2, 2019
Messages
373
Likes
251
Location
Italy
I have downloaded the new version. I will try it again with the Phone EQ on through WASAPI exclusive.
I kinda have a request/suggestion. Can you show the loaded RAW response curve (or like your resulting EQ based curve of the data loaded) in the graph (and well if you could show/unshow it when you tick/untick the Apply Phone EQ option? And if I may ask what is your compensation based on the RAW response curves? Cause, you know, IEMs and headphones have different iterations with the ears' canals.
 

dasdoing

Major Contributor
Joined
May 20, 2020
Messages
4,297
Likes
2,764
Location
Salvador-Bahia-Brasil
related:
I am not focussed on my headphones atm, but I always thought about a method to use hearing threshold and equal loudness contour* to arrive to a headphone correction that will 1) correct it's FR, while 2) correcting for user's ears at the same time. obviously this in theory will get you into a acousticly flat FR, which most don't like, but after getting to flat you could aply a Harman-loudspeaker(!) curve to the result.

*83dB minus "threshold iso curve dB" would be the gain aplied after finding personal threshold curve
 
Last edited:
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,699
Likes
10,386
Location
North-East
I have downloaded the new version. I will try it again with the Phone EQ on through WASAPI exclusive.
I kinda have a request/suggestion. Can you show the loaded RAW response curve (or like your resulting EQ based curve of the data loaded) in the graph (and well if you could show/unshow it when you tick/untick the Apply Phone EQ option? And if I may ask what is your compensation based on the RAW response curves? Cause, you know, IEMs and headphones have different iterations with the ears' canals.

I can add the compensation curve to the chart, not a problem. The compensation is based on whatever measurements you load using Phone EQ function. You can certainly do your own measurements (I've done this with in-ear microphones and REW, for example).

AutoEQ repository contains raw measurements from various headphones and IEMs (as far as I know!) and may just be the easiest way to find a ready compensation curve. I don't think you'd want to apply any compensation for your ear canal. Ideally, you'd would want to find a raw measurement of the headphones/IEMs that doesn't include any corrections for HRTF, pinna, real or artificial :)
 
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,699
Likes
10,386
Location
North-East
related:
I am not focussed on my headphones atm, but I always thought about a method to use hearing threshold and equal loudness contour* to arrive to a headphone correction that will 1) correct it's FR, while 2) correcting for user's ears at the same time. obviously this in theory will get you into a acousticly flat FR, which most don't like, but after getting to flat you could aply a Harman-loudspeaker(!) curve to the result.

*83dB minus "threshold iso curve dB" would be the gain aplied after finding personal threshold curve

I've done something similar with in-ear microphones before. It produced a better sound than the raw headphones (in my experience), but I suspect that our ears are not adjusted for flat response, since everything we hear in the real world goes through the non-flat response of our ear canal and HRTF.

By the way, I can modify Earful to measure equal loudness curves, and not just the lowest threshold of hearing. I'm not sure it's all that useful, but could be interesting. Of course, it'll mean repeating the same test across the whole frequency spectrum multiple times, for each SPL/phon level. Probably too much work for anyone to do in one sitting ;)
 

zermak

Senior Member
Joined
Jun 2, 2019
Messages
373
Likes
251
Location
Italy
I can add the compensation curve to the chart, not a problem. The compensation is based on whatever measurements you load using Phone EQ function. You can certainly do your own measurements (I've done this with in-ear microphones and REW, for example).

AutoEQ repository contains raw measurements from various headphones and IEMs (as far as I know!) and may just be the easiest way to find a ready compensation curve. I don't think you'd want to apply any compensation for your ear canal. Ideally, you'd would want to find a raw measurement of the headphones/IEMs to flat, that doesn't include any corrections for HRTF, pinna, real or artificial :)
I already use a compensation curve based on Harman OE2008/IE2009 curve (my tests before, with the K712 and the ZS10 Pro, were without) and I asked because there are some RAW curves there (mainly for my K712 Pro, from rtings and oratory1990, even if @jaakkopasanen seems to prefer the rting one in this case) and I wanted to visually see which one I am using :)
That's also why I am asking you how your compensation works: does it go for the Haman curves (and if so how can it define if a RAW curve is of a IEMs or headphones) or to a flat response?

And well I could always use the impulse filters on EqualizerAPO in WASAPI shared mode rather than the Phone EQ on your program (but since you added thsi feature I am willing to try :p).
 
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,699
Likes
10,386
Location
North-East
I already use a compensation curve based on Harman OE2008/IE2009 curve (my tests before, with the K712 and the ZS10 Pro, were without) and I asked because there are some RAW curves there (mainly for my K712 Pro, from rtings and oratory1990, even if @jaakkopasanen seems to prefer the rting one in this case) and I wanted to visually see which one I am using :)
That's also why I am asking you how your compensation works: does it go for the Haman curves (and if so how can it define if a RAW curve is of a IEMs or headphones) or to a flat response?

And well I could always use the impulse filters on EqualizerAPO in WASAPI shared mode rather than the Phone EQ on your program (but since you added thsi feature I am willing to try :p).

The compensation function applies whatever curve you feed it, just inverted, to adjust the output volume. If you are already compensating for your phones in EqualizerAPO, you don't want to apply any additional compensation and should probably turn this off.
 

zermak

Senior Member
Joined
Jun 2, 2019
Messages
373
Likes
251
Location
Italy
The compensation function applies whatever curve you feed it, just inverted, to adjust the output volume.
So you didn't mean to use the RAW frequency responses of the database? Or yes and it, like you said, flatten the response?
Because if so it is kinda different than use a compensation curve based on the Harman target ones and indeed the results; from your flattening method to using a impulse filter (targeted to have a Harman curve), will be different for obvious reasons.
If you are already compensating for your phones in EqualizerAPO, you don't want to apply any additional compensation and should probably turn this off.
I was aware of that :) I just wanted to try the new function ;)
 
Top Bottom