Jump to content
IGNORED

MQA technical analysis


mansr

Recommended Posts

The MQA library from the Bluesound firmware dump contains, naturally, a set of filter coefficients corresponding to the filter numbers in the MQB metadata. Since these filters are supposedly tuned for each DAC, comparing them between the Dragonfly and the Bluesound might be interesting. Aligning and scaling the values for the best fit with the recorded impulse responses, we get this set of graphs:

df-bs-mqa-imp.thumb.png.104ac782831c94f1dd2639310eb934ee.png

For the most part, there is very little difference to be seen. Bear in mind that the Dragonfly impulses responses have been subjected to some low-pass filtering in the DAC and ADC, and the discrepancies are consistent with this.

 

In light of this, one can't but wonder whether any DAC-specific tuning has actually taken place.

Link to comment
1 hour ago, mansr said:

In light of this, one can't but wonder whether any DAC-specific tuning has actually taken place.

I'd like to see you do this when the MQA renderer code for the Berkeley Alpha DAC Reference Series 2 comes out.  Berkeley had announced availability as 2Q2017, but I don't know whether anyone has it yet.

Pareto Audio AMD 7700 Server --> Berkeley Alpha USB --> Jeff Rowland Aeris --> Jeff Rowland 625 S2 --> Focal Utopia 3 Diablos with 2 x Focal Electra SW 1000 BE subs

 

i7-6700K/Windows 10  --> EVGA Nu Audio Card --> Focal CMS50's 

Link to comment
21 minutes ago, rickca said:

I'd like to see you do this when the MQA renderer code for the Berkeley Alpha DAC Reference Series 2 comes out.  Berkeley had announced availability as 2Q2017, but I don't know whether anyone has it yet.

If someone who has such a DAC records output while playing the test files, I'd be happy to help analyse the result. The same goes for the Mytek Brooklyn DAC which if I'm not mistaken has MQA rendering functionality. I can provide test files to any volunteers.

Link to comment
2 hours ago, mansr said:

... In light of this, one can't but wonder whether any DAC-specific tuning has actually taken place.

 

I don't recall MQA saying that the filters have been customised for any specific DAC. If anyone has seen this, I'd appreciate a link. My understanding is that the filter to be used by the DAC is chosen at encode time based on the characteristics of the signal being encoded, to balance the amount of aliasing against the spectrum being encoded. For example, a signal that produces audible aliasing artifacts might use a sharper filter, and vice versa. 

"People hear what they see." - Doris Day

The forum would be a much better place if everyone were less convinced of how right they were.

Link to comment
6 minutes ago, Don Hills said:

I don't recall MQA saying that the filters have been customised for any specific DAC.

Isn't that what the whole end to end spiel is about? DAC-specific tuning is the reason given for not permitting the render step in software.

 

10 minutes ago, Don Hills said:

My understanding is that the filter to be used by the DAC is chosen at encode time based on the characteristics of the signal being encoded, to balance the amount of aliasing against the spectrum being encoded. For example, a signal that produces audible aliasing artifacts might use a sharper filter, and vice versa.

That's a separate consideration. I suppose one could compare the spectra of a bunch of tracks and try to spot a correlation with the filter choice. Sounds tedious.

Link to comment
1 hour ago, mansr said:

Isn't that what the whole end to end spiel is about? DAC-specific tuning is the reason given for not permitting the render step in software.

I remember that.  It had Bob Stuart's initials on it. :P

Pareto Audio AMD 7700 Server --> Berkeley Alpha USB --> Jeff Rowland Aeris --> Jeff Rowland 625 S2 --> Focal Utopia 3 Diablos with 2 x Focal Electra SW 1000 BE subs

 

i7-6700K/Windows 10  --> EVGA Nu Audio Card --> Focal CMS50's 

Link to comment
1 hour ago, mansr said:

Isn't that what the whole end to end spiel is about? DAC-specific tuning is the reason given for not permitting the render step in software.

 

That's a separate consideration. I suppose one could compare the spectra of a bunch of tracks and try to spot a correlation with the filter choice. Sounds tedious.

It would be tedious, and I don't know if they implemented it or not.  They promised so much at different times.  It was one of things talked about back around the introduction of MQA. 

And always keep in mind: Cognitive biases, like seeing optical illusions are a sign of a normally functioning brain. We all have them, it’s nothing to be ashamed about, but it is something that affects our objective evaluation of reality. 

Link to comment
11 minutes ago, esldude said:

It would be tedious, and I don't know if they implemented it or not.  They promised so much at different times.  It was one of things talked about back around the introduction of MQA. 

I have seen a few different filters used both in the 2L samples and in Tidal clips. It remains to be determined whether there is any system to the selection.

Link to comment
2 hours ago, mansr said:

Isn't that what the whole end to end spiel is about? DAC-specific tuning is the reason given for not permitting the render step in software.

...

 

... but does the "DAC-specific tuning" include tweaking the filter coefficients to the specific DAC chip / implementation? One way to tell might be to dump the coefficients for the filters from multiple DACs, normalise them and see if they match.

"People hear what they see." - Doris Day

The forum would be a much better place if everyone were less convinced of how right they were.

Link to comment
Just now, Don Hills said:

... but does the "DAC-specific tuning" include tweaking the filter coefficients to the specific DAC chip / implementation?

It's the only thing that can be tweaked.

 

Just now, Don Hills said:

One way to tell might be to dump the coefficients for the filters from multiple DACs, normalise them and see if they match.

Sure, but getting the firmware and then finding the filter coefficients within is non-trivial. Recording the impulse responses is easy but less accurate, so that's what we've got for now, and nothing points to any real difference.

Link to comment
3 hours ago, rickca said:

I remember that.  It had Bob Stuart's initials on it. :P

I had an early Mytek Brooklyn and waited for what seemed like a dog's age for the MQA enabled firmware.  The Mytek CEO told me this time was spent waiting for the specific DAC tuning process from Meridien.

Pareto Audio aka nuckleheadaudio

Link to comment
5 hours ago, mansr said:

 and nothing points to any real difference.

 

Which is even more interesting if you factor in that the Node 2 and the Dragonfly have totally different DAC chips.

 

Perhaps the 16 (32) filters are generics, designed to match broad families of DACs, and is the DAC tuning not much more than picking the best generic filter(s).

 

Link to comment
8 hours ago, lmitche said:

I had an early Mytek Brooklyn and waited for what seemed like a dog's age for the MQA enabled firmware.  The Mytek CEO told me this time was spent waiting for the specific DAC tuning process from Meridien.

You said "had," so I take it you've since sold, lost, or destroyed it?

Link to comment
4 hours ago, Fokus said:

Which is even more interesting if you factor in that the Node 2 and the Dragonfly have totally different DAC chips.

 

Perhaps the 16 (32) filters are generics, designed to match broad families of DACs, and is the DAC tuning not much more than picking the best generic filter(s).

Until proven otherwise, I'm sticking with the simpler theory that all DACs have the same filters.

Link to comment

To conclude, for now, our look at the rendering filter options, here are the frequency responses calculated from the actual coefficients. These filters are used for 2x upsampling. The horizontal scale is zero to fs/2 (i.e. 96 kHz with a target rate of 192 kHz), and the vertical scale is -120 to 20 dB with ticks every 20 dB.

mqa-rend-fr.thumb.png.217a9f3e71690d634c6e20ce9db7828a.png

An ideal filter would be flat up to fs/4 and -inf above that. What we have here are mostly a bunch of filters that only start attenuating seriously when the frequency approaches fs/2. All but one have a gradual roll-off beginning well below the fs/4 mark, the exception being filter 2 which has a slight boost in the centre of the spectrum. Filter 14 stands out as the only one even resembling a proper anti-imaging filter.

Link to comment
16 hours ago, mansr said:

The same goes for the Mytek Brooklyn DAC which if I'm not mistaken has MQA rendering functionality. I can provide test files to any volunteers.

Yes, Brooklyn has rendering per my understanding. Due to time/work load constraints it may be a while, but might take you up on that. Not a high priority in the grand scheme of my life, but certainly doable.

Link to comment
1 hour ago, mansr said:

To conclude, for now, our look at the rendering filter options, here are the frequency responses calculated from the actual coefficients. These filters are used for 2x upsampling. The horizontal scale is zero to fs/2 (i.e. 96 kHz with a target rate of 192 kHz), and the vertical scale is -120 to 20 dB with ticks every 20 dB.

mqa-rend-fr.thumb.png.217a9f3e71690d634c6e20ce9db7828a.png

An ideal filter would be flat up to fs/4 and -inf above that. What we have here are mostly a bunch of filters that only start attenuating seriously when the frequency approaches fs/2. All but one have a gradual roll-off beginning well below the fs/4 mark, the exception being filter 2 which has a slight boost in the centre of the spectrum. Filter 14 stands out as the only one even resembling a proper anti-imaging filter.

Hi,

I think that if the horizontal scale is 0Hz to fs/2, then all filters are ok ?, as the response is -Inf at fs/2.

Or - are you stating that the filters should be -Inf at fs/4 ?? due to the implementation of MQA ?

Thanks and regards,

Shadders.

Link to comment
1 minute ago, Shadders said:

I think that if the horizontal scale is 0Hz to fs/2, then all filters are ok ?, as the response is -Inf at fs/2.

If fs is the target frequency when doubling, the cutoff should be at fs/4 to match the Nyquist frequency of the source.

Link to comment
3 minutes ago, Shadders said:

OK- thanks. So the filter is applied before upsampling from fs/2 to fs ?

No. The process is equivalent to inserting a zero sample between the input samples, then filtering this double-rate signal. In practice it is done slightly differently for efficiency reasons, but that's unimportant.

Link to comment
2 minutes ago, mansr said:

No. The process is equivalent to inserting a zero sample between the input samples, then filtering this double-rate signal. In practice it is done slightly differently for efficiency reasons, but that's unimportant.

Hi,

OK, thanks - will examine the books to see the details. :O),

Regards,

Shadders.

Link to comment
On 30/06/2017 at 1:53 PM, mansr said:

No. The process is equivalent to inserting a zero sample between the input samples, then filtering this double-rate signal. In practice it is done slightly differently for efficiency reasons, but that's unimportant.

Hi,

 

I did some examination of this using Octave. I was not aware that there was no interpolation in the reconstruction of the signal for the higher sample rates.

 

I used Octave to add the extra zeros for the upsample from 44.1kHz to 88.2kHz, and can see the spectral images centred on 44.1kHz. As stated in this thread, this will create aliasing of the lower frequency band into the frequency band greater than 22.05kHz. (22.05kHz to 44.1kHz)

 

I have not studied MQA in detail, but will this then add the lower frequency band alias with the “supposed” higher frequency content, creating a mish-mash of sound above 22.05kHz ???.

 

So, if you claim you can “experience” the content above 22.05kHz, then you are “experiencing” something crappy. If you cannot “experience” above 22.05kHz sound, then what is the point of MQA etc ???.

 

Regards,

 

Shadders.

Link to comment
4 hours ago, Shadders said:

I did some examination of this using Octave. I was not aware that there was no interpolation in the reconstruction of the signal for the higher sample rates.

 

I used Octave to add the extra zeros for the upsample from 44.1kHz to 88.2kHz, and can see the spectral images centred on 44.1kHz. As stated in this thread, this will create aliasing of the lower frequency band into the frequency band greater than 22.05kHz. (22.05kHz to 44.1kHz)

Precisely. Low-pass filtering this signal produces properly interpolated samples.

 

4 hours ago, Shadders said:

I have not studied MQA in detail, but will this then add the lower frequency band alias with the “supposed” higher frequency content, creating a mish-mash of sound above 22.05kHz ???.

The MQA "rendering" normally starts with a sample rate of 88.2/96 kHz, so the aliases will begin at 44.1/48 kHz. Any real signal content at these frequencies was lost in the MQA encoding process. It is likely that the 0-48 kHz spectrum encoded by MQA also contains aliases of higher frequencies if they were present in the recording, assuming the downsampling filters are similarly poor. The band splitting at 24 kHz might also introduce aliases.

 

4 hours ago, Shadders said:

So, if you claim you can “experience” the content above 22.05kHz, then you are “experiencing” something crappy. If you cannot “experience” above 22.05kHz sound, then what is the point of MQA etc ???.

That's almost exactly what I said too.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...