• Welcome to ASR. 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!

Some subjective thoughts about Hiby MSEB

1. Bass extension: low shelf 70Hz Q 0.7071
2. Bass texture: peaking 100Hz Q 0.85
3. Note thickness: peaking 200Hz Q 0.6667
4. Voice: peaking peaking 650Hz Q 0.4
5. Female overtones: peaking3000Hz Q 1.414
6. Sibilance LF: peaking 5800Hz Q 1
7. Sibilance HF: peaking 9200Hz Q 1 (these were two guesses at where sibilance might happen in a recording, in actual fact it can occur pretty much anywhere ~3-12k. One could even imagine opening up the frequency for adjustment and just fix the Q for the most simplicity that actually makes sense)
8. "Impulse response": peaking 7500Hz Q 0.4
9. Air: high shelf 10kHz Q 0.7071

We're just missing the number of dB each step out of 100 stood for, and I don't have record of this at hand anymore, but we can reverse engineer by measuring each slider at full tilt, or I can ask for it back.

The temperature slider would have been implemented by a series of low Q shelf filters.

However, on at least the R Androids, the specified filters "dry run" on a K-delta impulse, and the result is measured by FFT. The overall volume of the impulse is measured via a weighted average of bins, and the final filter is a volume adjusted version, which reduces the volume when there are big bass boosts (but not with a strict below-zero rule).
 
Yes I agree that they were mostly all PEQ filters, but I do love the idea of providing a relatively simple 'subjective' way to create PEQ filters. I was thinking of adding something like this to my devicePEQ tool (but graphically show the filter changes in real-time) as another way to get more people into PEQ.

And yes the overall Temperature was a tilt.
I don't think HiBy can prevent anybody to use the same set of—reversed engineered—filters and use the same names conventions. But why re-invent the wheel? Asking HiBy directly for a right to use (or @Joe Bloggs if it's one of his developments integrated by HiBy) under the condition to list them as "contributors" in the app may work. I read somewhere @Joe Bloggs commenting that he was amazed nobody had tried to undercover the MSEB basics after all these years—another way to say that they don't expect to keep it highly secret...

The question of showing what the 'subjective' filters do on the FR is an interesting one: I'll be the first to say "yes, absolutely!", but it would also show that these 'subjective' filters (Bass Texture, Impulse Response, etc.) are nothing more than FR manipulation (PEQ). It may be better to keep these 'subjective' filters as... subjective—not showing the actual FR changes, so that users think they control 'the sound', not the FR... I believe this is where MSEB is very clever: it bridges this "subjective sound manipulation" aspect with the, technically correct, FR manipulation, without revealing it.

If you were to implement something like that in your devicePEQ tool, I think it would be very beneficial to also include a "subjective difference" feature: given two FRs, e.g. a measurement and a target, express the difference into 'subjective' filters (MSEB-like). Under the hood, this would be very similar to the AutoEQ algorithm, but using a combination of pre-determined filters—the 'subjective' ones to characterize the difference.
 
However, on at least the R Androids, the specified filters "dry run" on a K-delta impulse, and the result is measured by FFT. The overall volume of the impulse is measured via a weighted average of bins, and the final filter is a volume adjusted version, which reduces the volume when there are big bass boosts (but not with a strict below-zero rule).
What is the purpose to dry-run the filters on an impulse (a model?) and measure the result? Is it to address the fact that many of the MSEB filters overlap?
(You don't have to answer if you can't...)
 
What is the purpose to dry-run the filters on an impulse (a model?) and measure the result? Is it to address the fact that many of the MSEB filters overlap?
(You don't have to answer if you can't...)
To evaluate the loudness of the filter setup and adjust a global gain accordingly, as the rest of the sentence you quoted explained.
 
I did a quick implementation of something very similar to (inspired by) MSEB. I need to polish it a little and get the correct gain settings for each 'subjective' filter. I am calling it Subjectizer:
1765050857784.png


Clicking the Subjectizer with a set of empty PEQ filters allows you to configure one (or 2 in the case of the of the Overall Temperature):

1765050979796.png

Save what I think is the right FR,qValue (and Gain based on the slider) for a selected filter.
 
I did a quick implementation of something very similar to (inspired by) MSEB. I need to polish it a little and get the correct gain settings for each 'subjective' filter. I am calling it Subjectizer:
View attachment 495604

Clicking the Subjectizer with a set of empty PEQ filters allows you to configure one (or 2 in the case of the of the Overall Temperature):

View attachment 495605
Save what I think is the right FR,qValue (and Gain based on the slider) for a selected filter.
:cool: :cool: :cool: :cool:

Do the Subjectizer filters apply in addition to the set of PEQ? Or if it must be empty—as you wrote—why?

Is the ‘Advanced mode‘ an actual button? Does it allow you to see the actual filters resulting from setting Subjectizer?
 
Apologies. Slightly off topic but just wondering if anyone is using a HiBy DAP as a UPnP/DLNA streamer/renderer via Wi-Fi?

I have a HiBy R3 Pro and as it has digital coax out, I was thinking it might make a decent streamer using DLNA with Minimserver to stream my audio files. Curious if it is possible to use EQ/MSEB options via the R3 too.

Just wondering if anyone has got any experience with this?

Thanks in advance.
 
Last edited:
:cool: :cool: :cool: :cool:

Do the Subjectizer filters apply in addition to the set of PEQ? Or if it must be empty—as you wrote—why?
Yes this is in addition, so you can mix n match filters. I thought some simple auto eq of bass and midrange to a target like Hartman, then use these to add personal tweaks and the third button “treblizer” is about solving HRTF treble peaks and dips. So the idea is all filters should work together for better more personalised sound
Is the ‘Advanced mode‘ an actual button? Does it allow you to see the actual filters resulting from setting Subjectizer?
Yes it toggles showing the actual FR, qValues and gain
 
Apologies. Slightly off topic but just wondering if anyone is using a HiBy DAP as a UPnP/DLNA streamer/renderer via Wi-Fi?

I have a HiBy R3 Pro and as it has digital coax out, I was thinking it might make a decent streamer using DLNA with Minimserver to stream my audio files. Curious if it is possible to use EQ/MSEB options via the R3 too.

Just wondering if anyone has got any experience with this?

Thanks in advance.
The R3 series applies effects to all music it is rendering itself (which includes DLNA but excludes such things as reception via Bluetooth or USB to be played through headphone jack or whatever)
 
Thanks. Just need to find a suitable mobile phone stand, for a sweet wee minimalist streamer with fairly comprehensive EQ options, to output to my DAC. Excellent.
Ta.
 
We're just missing the number of dB each step out of 100 stood for, and I don't have record of this at hand anymore, but we can reverse engineer by measuring each slider at full tilt, or I can ask for it back.

Re. above, I may have got this completely and utterly wrong, but from a quick-and-dirty eyeball of @Jeromeof's charts I've arrived at the following:

Code:
| TYPE                          | Max. dB | Num.  | EQ  |
|-------------------------------|---------|-------|-----|
| 1. Bass extension (70Hz)      | 25      | 4     | 8   |
| 2. Bass texture (100Hz)       | 18      | 5.5   | -3  |
| 3. Note thickness (200Hz)     | 12      | 8.33  | 12  |
| 4. Voice (650Hz)              | 12.5    | 8     | 4   |
| 5. Female overtones (3000Hz)  | 8       | 12.5  | 0   |
| 6. Sibilance LF (5800Hz)      | 10      | 10    | -5  |
| 7. Sibilance HF (9200Hz)      | 10      | 10    | -10 |
| 8. Impulse response (7500Hz)  | 10      | 10    | -15 |
| 9. Air (10000Hz)              | 20      | 5     | 0   |

Max. dB = Where I've eyeballed the max point of the curve; Num. = 100 / Max. dB; EQ = An example MSEB setting for how I've translated the below PEQ profile to MSEB (i.e. Num. * {{ dB value }}).

Code:
Preamp: -3 db
Filter 1: ON LSC Fc 70 Hz Gain 2 dB Q 0.71
Filter 2: ON PK Fc 100 Hz Gain -0.5 dB Q 0.85
Filter 3: ON PK Fc 200 Hz Gain 1.5 dB Q 0.667
Filter 4: ON PK Fc 650 Hz Gain 0.5 dB Q 0.4
Filter 5: ON PK Fc 3000 Hz Gain 0 dB Q 1.414
Filter 6: ON PK Fc 5800 Hz Gain -0.5 dB Q 1
Filter 7: ON PK Fc 7500 Hz Gain -1.5 dB Q 0.4
Filter 8: ON PK Fc 9200 Hz Gain -1 dB Q 1
Filter 9: ON HSC Fc 10000 Hz Gain 0 dB Q 0.71

"Reverse engineering" may be a little optimistic. Perhaps "reverse bodge" at best :)
 
Last edited:
Re. above, I may have got this completely and utterly wrong, but from a quick-and-dirty eyeball of @Jeromeof's charts I've arrived at the following:

Code:
| TYPE                          | Max. dB | Num.  | EQ  |
|-------------------------------|---------|-------|-----|
| 1. Bass extension (70Hz)      | 25      | 4     | 8   |
| 2. Bass texture (100Hz)       | 18      | 5.5   | -3  |
| 3. Note thickness (200Hz)     | 12      | 8.33  | 12  |
| 4. Voice (650Hz)              | 12.5    | 8     | 4   |
| 5. Female overtones (3000Hz)  | 8       | 12.5  | 0   |
| 6. Sibilance LF (5800Hz)      | 10      | 10    | -5  |
| 7. Sibilance HF (9200Hz)      | 10      | 10    | -10 |
| 8. Impulse response (7500Hz)  | 10      | 10    | -15 |
| 9. Air (10000Hz)              | 20      | 5     | 0   |

Max. dB = Where I've eyeballed the max point of the curve; Num. = 100 / Max. dB; EQ = An example MSEB setting for how I've translated the below PEQ profile to MSEB (i.e. Num. * {{ dB value }}).

Code:
Preamp: -3 db
Filter 1: ON LSC Fc 70 Hz Gain 2 dB Q 0.71
Filter 2: ON PK Fc 100 Hz Gain -0.5 dB Q 0.85
Filter 3: ON PK Fc 200 Hz Gain 1.5 dB Q 0.667
Filter 4: ON PK Fc 650 Hz Gain 0.5 dB Q 0.4
Filter 5: ON PK Fc 3000 Hz Gain 0 dB Q 1.414
Filter 6: ON PK Fc 5800 Hz Gain -0.5 dB Q 1
Filter 7: ON PK Fc 7500 Hz Gain -1.5 dB Q 0.4
Filter 8: ON PK Fc 9200 Hz Gain -1 dB Q 1
Filter 9: ON HSC Fc 10000 Hz Gain 0 dB Q 0.71

"Reverse engineering" may be a little optimistic. Perhaps "reverse bodge" at best :)
Well the charts in that review were from measuring the FR with those high and low values of each of those enabled.

I actually enabled a 'clone' of MSEB on PragmaticAudio now as a Equalizer 'Plugin' called 'Subjectizer' - these values are based on what @Joe Bloggs shared and not what I measured previously - but I am totally open to change these values - its just a bit of fun:

https://www.pragmaticaudio.com/headphones

1766077480345.png


Clicking the 'Subjectizer' you get a popup like this to fill your empty PEQ slots with different subjective values based on those values:

1766077647913.png


If you click the 'Advanced mode' button it shows the PEQ values.

It is still a bit clunky so I will make it simpler - but been a bit busy with lots of other things to finish this 'plugin' off.


Anyway all comments welcome.
 
Well the charts in that review were from measuring the FR with those high and low values of each of those enabled.

I actually enabled a 'clone' of MSEB on PragmaticAudio now as a Equalizer 'Plugin' called 'Subjectizer' - these values are based on what @Joe Bloggs shared and not what I measured previously - but I am totally open to change these values - its just a bit of fun:

https://www.pragmaticaudio.com/headphones

View attachment 498208

Clicking the 'Subjectizer' you get a popup like this to fill your empty PEQ slots with different subjective values based on those values:

View attachment 498209

If you click the 'Advanced mode' button it shows the PEQ values.

It is still a bit clunky so I will make it simpler - but been a bit busy with lots of other things to finish this 'plugin' off.


Anyway all comments welcome.
From what I understand @FloydTheBarbarian is taking Q and centre frequency from my statements and deducing dB per increment (where the MSEB adjustment for each parameter can range from -100 to +100 increments) from @Jeromeof 's measurements, which makes sense.
 
I actually enabled a 'clone' of MSEB on PragmaticAudio now as a Equalizer 'Plugin' called 'Subjectizer'
Just saw that you added a “Treblizer” plugin. Nice! :cool:
What is the idea behind the 3-Tone and micro sweep tests in the Revisit section?
I noticed what looks like bugs (misunderstandings from my side?): when I mark a treble issue ([M]), it shows twice in the list of issues. Also the 3-Tone shows the same frequencies for ‘Tone A’ and ‘Tone B’.
 
Just saw that you added a “Treblizer” plugin. Nice! :cool:
What is the idea behind the 3-Tone and micro sweep tests in the Revisit section?
I noticed what looks like bugs (misunderstandings from my side?): when I mark a treble issue ([M]), it shows twice in the list of issues. Also the 3-Tone shows the same frequencies for ‘Tone A’ and ‘Tone B’.

The idea in the treblizer (And I am of looking for as many suggestions as possible) is to try and find your personal treble peaks with a given headphone. So the initial pass in via a long treble sweep and you 'mark' areas where you hear differences in the tone ( as I find that generally is a good start ). Then with a few areas in the treble 'marked', you revisit them with different techniques. The website version has 2 currently but I have a local version which I will push live in the next few days with 4 different approaches, as I asked @solderdude for his opinion the other day:

1. Alternating 2 Tone 'noise'
Plays 2 'narrow pink noise' tones, one is anchored at a configurable value 900hz? And then other tone varies around the 'troublesome' area marked. And this loops around allowing you to fine tune a PEQ filter.
2. Alternative 2 tone 'warble'
Similar to 1. except uses a warbling 'tone' - I read somewhere that this approach might be more accurate way to detect differences in volume.
3. 3 - Tone
This was my original idea - where I would play 3 alternative tones, one at the lower end of the PEQ curve (associated with the troublesome area), one at the centre of it and one at the upper end of the curve, and alternate between these 3 tones adjusting until the 3 tones sounder similar.
4. microSweep
Similar to 3 above but using a continuous slow sweep around that PEQ filter.

Anyway, I will push this updated version but I am totally open to any suggestions, but I feel something like this is the key way to get an individual treble response with a given headphone (or IEM) into shape. Then I feel a user should use macro adjustments for preference (e..g high shelf filter) after getting a smoother treble,
 
When an ear has a natural resonance (be it peak or dip) then that peak or dip should not be 'compensated', for the simple reason that the brain already 'knows' it is there.
A bit like the blind spot in your eye. We know it is there and can make tests for it to show it but the brain fills it in during 'normal' usage.

The next problem is that a headphone also can exhibit peaks and dips in that same frequency range and they will/can differ from those of test fixtures with a pinna and ear-canal.
Also there is interaction between the headphone and pinna.

This means
A: test fixture measurements should not be used for EQ above several kHz.
B: a 'sweep' of a headphone on one's head while 'listening' for peaks and dips is pointless as one cannot distinguish between peaks/dips from the headphone (which can/should be corrected and peaks/dips from the ear itself which should not be corrected.
C: the peaks and dips will differ between sounds from in front of you (eye sight) and from the sides (headphones) in amplitude and somewhat in frequency.

That's why when using the ears for tuning treble a tone (and in some degree a warble tone) should not be used for generating EQ.
Instead ... use narrow-band noise in 2 or 3 bands for the treble above say... 5kHz.
For instance 5-8kHz, 7-12kHz, 10-20kHz which spans approx 2 ERB per section.
Use EQ with similar bands.

That could get rid of sibilance (5-8kHz) and sharpness (7-12kHz).
 
Last edited:
When an ear has a natural resonance (be it peak or dip) then that peak or dip should not be 'compensated', for the simple reason that the brain already 'knows' it is there.
A bit like the blind spot in your eye. We know it is there and can make tests for it to show it but the brain fills it in during 'normal' usage.

The next problem is that a headphone also can exhibit peaks and dips in that same frequency range and they will/can differ from those of test fixtures with a pinna and ear-canal.
Also there is interaction between the headphone and pinna.

This means
A: test fixture measurements should not be used for EQ above several kHz.
B: a 'sweep' of a headphone on one's head while 'listening' for peaks and dips is pointless as one cannot distinguish between peaks/dips from the headphone (which can/should be corrected and peaks/dips from the ear itself which should not be corrected.
C: the peaks and dips will differ between sounds from in front of you (eye sight) and from the sides (headphones) in amplitude and somewhat in frequency.

That's why when using the ears for tuning treble a tone (and in some degree a warble tone) should not be used for generating EQ.
Instead ... use narrow-band noise in 2 or 3 bands for the treble above say... 5kHz.
For instance 5-8kHz, 7-12kHz, 10-20kHz which spans approx 2 ERB per section.
Use EQ with similar bands.

That could get rid of sibilance (5-8kHz) and sharpness (7-12kHz).

I have sworn by and still swear by tone sweeps for EQs. As you mentioned, some peaks are generated by the earphones themselves, others are generated by the resonance structure of the ear itself but is different in free air vs when blocked by earphones. Therefore none are meant to be there. There would be other peaks that are "meant" to be there if you were actually listening to a sound source in front of you, but none of those would be what the earphone-ear combo is generating except from a big freak accident. Even ones "meant" to be there can interfere with smoothness of the earphone sound--earphone sound even with an EQ is all artificial anyway and removing all resonance peaks was a big subjective improvement for me, back when my ears were sensitive enough to feel hurt by them.

Better to remove all such peaks and then add the correct ones back via a HRTF / BRIR convolution.

edit: if it's tone sweeps over a wide frequency range, it should have some mechanism for taking equal loudness curves into account.
 
Last edited:
Back
Top Bottom