mansr Posted January 15, 2017 Share Posted January 15, 2017 As we know, the Bluesound software contains an MQA decoder. All the MQA code resides in a shared library, libbluos_ssc.so, which is called by various other parts of the playback software. There are three main parts to the library: decode, render, and preserve. Decode The decode portion accepts audio data and outputs decoded data at twice the sample rate of the input. It also provides feedback regarding the MQA status of the data being processed: none, MQA (green), or MQA Studio (blue). Non-MQA input is also upsampled to double rate. I speculate that this corresponds to the MQA Core decoding done by the Tidal player. Render The render stage takes the output of the decode stage and upsamples it further. Gain can also be applied here. Again, non-MQA input is accepted. Preserve This function appears to transfer some MQA signal encoded in the LSB from one audio stream to another. The Bluesound player uses it together with software volume and tone controls between the decode and render stages. Having deduced the programming interface of the library, I wrote some simple test programs to process audio files and save the output. Attached below is a snippet from the output of running the decoder on the 2L-048 sample (recorded at 96 kHz). I'd be thankful if someone who has an MQA DAC could play it and report whether the indicator LED comes on. 2L-048-mqadec.zip Link to comment
Miska Posted January 15, 2017 Share Posted January 15, 2017 Having deduced the programming interface of the library, I wrote some simple test programs to process audio files and save the output. Attached below is a snippet from the output of running the decoder on the 2L-048 sample (recorded at 96 kHz). I'd be thankful if someone who has an MQA DAC could play it and report whether the indicator LED comes on. What happens if you just use the default ALSA plugin setup and store the output? No blue light on Meridian DAC with this file. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
mansr Posted January 15, 2017 Author Share Posted January 15, 2017 What happens if you just use the default ALSA plugin setup and store the output? It's not all done with ALSA plugins. That was my mistake. No blue light on Meridian DAC with this file. Does it light up when using the Tidal software decoder? Link to comment
Miska Posted January 15, 2017 Share Posted January 15, 2017 Does it light up when using the Tidal software decoder? Well, it lights up with Tidal player, but Tidal application detects the DAC and forces the hardware decoding. So the driver is indicating 48k sampling rate when playing MQA track... Regardless if the pass-through setting is enabled or disabled in the Tidal application. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
mansr Posted January 16, 2017 Author Share Posted January 16, 2017 Well, it lights up with Tidal player, but Tidal application detects the DAC and forces the hardware decoding. So the driver is indicating 48k sampling rate when playing MQA track... Regardless if the pass-through setting is enabled or disabled in the Tidal application. No way to force software decoding in Tidal? Would you be able to capture a short sample of Tidal passthrough and software decode of the same track? It would be most helpful if you, or someone else, could. Link to comment
Miska Posted January 16, 2017 Share Posted January 16, 2017 Here's spectrogram of digital capture of the Tidal software decoded 2L-048 test track. I tried to use same spectrogram parameters you used before. Here's spectrogram of the difference to the original, palette switched to highcolor which I mostly use to make the difference better visible. Looking at the background noise from the spectrums, there's about 6 dB increase in background noise in MQA version, thus a 6 dB drop in the SNR. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
mansr Posted January 16, 2017 Author Share Posted January 16, 2017 Here's spectrogram of digital capture of the Tidal software decoded 2L-048 test track. Could you share that capture, please? Link to comment
mansr Posted January 16, 2017 Author Share Posted January 16, 2017 Could you share that capture, please? With the exception of two short bursts in the first 0.2 seconds, my decoded file matches Miska's capture bit for bit. I guess that's some kind of success. Link to comment
mansr Posted January 16, 2017 Author Share Posted January 16, 2017 Well, it lights up with Tidal player, but Tidal application detects the DAC and forces the hardware decoding. So the driver is indicating 48k sampling rate when playing MQA track... Regardless if the pass-through setting is enabled or disabled in the Tidal application. If you play the captured software-decoded file, does the Explorer indicate MQA? Is it supposed to do this? Link to comment
mm67 Posted January 16, 2017 Share Posted January 16, 2017 If you play the captured software-decoded file, does the Explorer indicate MQA? Is it supposed to do this? You mean the one in first post ? Blue light doesn't lit up with that one on my Explorer. If I capture something from Tidal and play it in Foobar mqa indicator does lit up Link to comment
Miska Posted January 16, 2017 Share Posted January 16, 2017 If you play the captured software-decoded file, does the Explorer indicate MQA? Is it supposed to do this? No it doesn't, it plays it just as it would play any other 96k file. I don't think there is supposed to be any difference... I'll make some analog recordings today in different ways... Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
mansr Posted January 16, 2017 Author Share Posted January 16, 2017 You mean the one in first post ? Blue light doesn't lit up with that one on my Explorer. If I capture something from Tidal and play it in Foobar mqa indicator does lit up You mean capture an MQA pass-through from Tidal? I'd expect that to work. Link to comment
mm67 Posted January 16, 2017 Share Posted January 16, 2017 You mean capture an MQA pass-through from Tidal? I'd expect that to work. That's what I meant, yes Link to comment
mansr Posted January 17, 2017 Author Share Posted January 17, 2017 Since I'm now confident the decoder is working correctly, here's a spectrum plot of 2L-048: Here we can see that the decoding process removes the characteristic hump and restores some of the high-frequency content. In this plot, the graphs start diverging noticeably around 30 kHz, the decoded MQA having somewhat higher noise level. Spectrogram of the aligned difference: The larger differences correlate with the louder portions of the audio. This is the difference spectrum of the loud portion from 190 to 250 seconds: Same thing with linear frequency scale: Difference spectrum of the silence at the end: And again with linear frequency scale: semente 1 Link to comment
scintilla Posted January 17, 2017 Share Posted January 17, 2017 So, does the blusound decoder include a renderer? Will it unfold a 24/48 file to 24/192? Since you have detected an activation bitsteam in the least significant bits, that implies that it is used to switch the renderer on and perhaps apply a specific filter profile. That last stage is of import to those of us with the PWM dacs that currently do not support blusound, since Roon can do the first unfold decode but not the final render with appropriately selected filter. Link to comment
mansr Posted January 17, 2017 Author Share Posted January 17, 2017 So, does the blusound decoder include a renderer? Will it unfold a 24/48 file to 24/192? Since you have detected an activation bitsteam in the least significant bits, that implies that it is used to switch the renderer on and perhaps apply a specific filter profile. That last stage is of import to those of us with the PWM dacs that currently do not support blusound, since Roon can do the first unfold decode but not the final render with appropriately selected filter. It includes what appears to be a renderer. There obviously isn't any reference available to compare the output against. Link to comment
Miska Posted January 17, 2017 Share Posted January 17, 2017 Here's same track, recorded at 192k sampling rate from line output of the Explorer2. I tried to get as low noise output from the DAC as possible, using iFi iUSB as a power supply. There's still some amount of USB packet noise (8 kHz intervals) visible. Original 96k file: MQA file decoded by the DAC: For comparison, here is self-noise of the ADC with cable just disconnected: semente 1 Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
mansr Posted January 17, 2017 Author Share Posted January 17, 2017 Here's same track, recorded at 192k sampling rate from line output of the Explorer2. I tried to get as low noise output from the DAC as possible, using iFi iUSB as a power supply. There's still some amount of USB packet noise (8 kHz intervals) visible. Original 96k file: [ATTACH=CONFIG]32541[/ATTACH] MQA file decoded by the DAC: [ATTACH=CONFIG]32539[/ATTACH] Here's the average spectrum of what the Bluesound MQA renderer outputs: Link to comment
Miska Posted January 17, 2017 Share Posted January 17, 2017 Here's the average spectrum of what the Bluesound MQA renderer outputs: [ATTACH=CONFIG]32543[/ATTACH] So it largely matches. The average doesn't show noise increase at the bands where there is also music content, minimum spectrum would probably show that thing better. I have a feeling that some regular hires files can trigger this rendering mode too. I have one regular hires FLAC that seems to trigger this noise and upsampling filter behavior (without the blue light though). Running that FLAC through upsampling before sending it to the DAC takes out the noise and makes it much quieter, and also removes the 30 kHz filter cut. So it seems like there are hires files that are sort of "encoded-decoded" MQA... Seems like the 30 kHz cut-off is more on the rendering phase then. I really fail to see the point in this "rendering" part... The upsampling filter is really slow roll-off, so it leaks a lot of image above Nyquist, visible on tracks that really hit the Nyquist limit. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
mansr Posted January 17, 2017 Author Share Posted January 17, 2017 I have a feeling that some regular hires files can trigger this rendering mode too. I have one regular hires FLAC that seems to trigger this noise and upsampling filter behavior (without the blue light though). Running that FLAC through upsampling before sending it to the DAC takes out the noise and makes it much quieter, and also removes the 30 kHz filter cut. So it seems like there are hires files that are sort of "encoded-decoded" MQA... Does it have the bit pattern described above? What happens if you dither it to 22 bits or so? That ought to ruin any signatures the decoder is looking for. Seems like the 30 kHz cut-off is more on the rendering phase then. I really fail to see the point in this "rendering" part... The upsampling filter is really slow roll-off, so it leaks a lot of image above Nyquist, visible on tracks that really hit the Nyquist limit. I fail to see the point of any of it. Link to comment
Jud Posted January 18, 2017 Share Posted January 18, 2017 I fail to see the point of any of it. That's because you are blurry and need de-blurring. semente 1 One never knows, do one? - Fats Waller The fairest thing we can experience is the mysterious. It is the fundamental emotion which stands at the cradle of true art and true science. - Einstein Computer, Audirvana -> optical Ethernet to Fitlet3 -> Fibbr Alpha Optical USB -> iFi NEO iDSD DAC -> Apollon Audio 1ET400A Mini (Purifi based) -> Vandersteen 3A Signature. Link to comment
lmitche Posted January 18, 2017 Share Posted January 18, 2017 That's because you are blurry and need de-blurring. Spoken like the BlurMeister, or is it De BlurMeister! Pareto Audio aka nuckleheadaudio Link to comment
smartin Posted January 18, 2017 Share Posted January 18, 2017 I have a feeling that some regular hires files can trigger this rendering mode too. I have one regular hires FLAC that seems to trigger this noise and upsampling filter behavior (without the blue light though). Running that FLAC through upsampling before sending it to the DAC takes out the noise and makes it much quieter, and also removes the 30 kHz filter cut. So it seems like there are hires files that are sort of "encoded-decoded" MQA... I have only a rudimentary understanding of the analysis y'all have been doing but this paragraph struck me as odd. Wouldn't this suggest that the noise you are seeing with this MQA decode might be a factor of the track, and not be related to MQA at all. It seems that if you see this behavior with non-MQA content, it would be more likely to be due to some attribute of the track itself (that was carried over into the MQA version) than something inherent to MQA? Link to comment
audiventory Posted January 18, 2017 Share Posted January 18, 2017 By graphs above, looks like MQA work like 24 bit uncompressed format. But MQA lossless or lossy? I read about a probable "frequency-amplitude response correction", but real implementation of encoder/decoder is unknown. AuI ConverteR 48x44 - HD audio converter/optimizer for DAC of high resolution files ISO, DSF, DFF (1-bit/D64/128/256/512/1024), wav, flac, aiff, alac, safe CD ripper to PCM/DSF, Seamless Album Conversion, AIFF, WAV, FLAC, DSF metadata editor, Mac & WindowsOffline conversion save energy and nature Link to comment
mansr Posted January 18, 2017 Author Share Posted January 18, 2017 I have only a rudimentary understanding of the analysis y'all have been doing but this paragraph struck me as odd. Wouldn't this suggest that the noise you are seeing with this MQA decode might be a factor of the track, and not be related to MQA at all. It seems that if you see this behavior with non-MQA content, it would be more likely to be due to some attribute of the track itself (that was carried over into the MQA version) than something inherent to MQA? I took it to mean he's seeing the noise characteristic of the MQA renderer when playing some non-MQA 96 kHz files. No DAC I've ever seen normally generates such noise. Even the built-in upsamplers in the DAC chips are better than that. Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now