HID and USB DAC
jim lesurf (2082) 1438 posts |
I’ve been using/testing the Meridian ‘Explorer’ USB DAC. As a basic DACit works OK with my ARMX6 – and FWIW ‘unfolds’ MQA as it should. However… It has no gain control on the device. To adjust that you need to use USB. IIRC Dave Higton did write a HID control program, but I’ve not contacted him as I’ve lost his email address, so can’t ask directly about this. So I’m hoping he’ll see this, or someone else can point me at !HID, etc. I can list the discriptors the device returns and suspect I know some of the required details, but then can’t try it! |
Dave Higton (1515) 3534 posts |
I didn’t write a control app, I wrote the USB Audio Control module. I’m sure you already have it, and its API docs, but they are still on my website https://davehigton.me.uk in the Audio directory. Btw I haven’t done any work on audio or control of audio in some years; basically I’ve lost interest. |
Rob Kendrick (6084) 7 posts |
The Meridian Explorer (1 and 2) both use an XMOS controller with (almost) the stock firmware for USB Audio 2.0. I assume you have the Mk2 if it has the MQA decoder. IIRC, it exposes two audio mixer controls (which are part of USB Audio rather than USB HID, also IIRC), one controls the static 12 bit DAC providing reference voltage to the op-amps that control gain, and one that is some sort of clock selection toggle that nobody has really been able to work out what it does. (Might disable the upsampling for use in low-latency settings?) The USB Audio spec is a bit of a mess, but the mixer element has been there from the beginning so one would hope it’s just a question of writing to the right endpoint, perhaps using Dave’s module. |
jim lesurf (2082) 1438 posts |
Hi Dave. I probably do have your module … somewhere .. but can’t find it! So I’ll get another copy. Rob. I’ll have an,erm, explore. :-) The ability to alter the gain of an analogue gain stage may be the way they impliment a volume control. Simpler than trying to cope with the MQA ‘hidden magic bits’ whilst scaling down the conversion perhaps. The DAC works nicely with my ARMX6, and detects/decodes the MQA nonsense. But is almost unusable with headphones unless some sort of volume control can be applied as most decent headphones don’t shove a level control in their lead. Hence my curiousity despite thinking MQA is a crock. |
jim lesurf (2082) 1438 posts |
FWIW I’ve put the descriptors list I got here: |
Rob Kendrick (6084) 7 posts |
I think the volume control in the Explorer is done in the analogue domain (small DAC controlling the reference voltage to an op-amp) rather than the digital because Meridian’s digital volume control used in their other products (all digital surround processors, 518 mastering processor, and the digital active speakers) is 56 bit and probably an arse to implement efficiently in the XMOS while also bit-banging USB, I2C, I2S, and doing an FIR upsampler. Given you need a pair of op-amps in there to drive the headphones (I believe the line-out is direct-coupled to the DAC) you might as well handle it in analogue. In MQA, I believe you can apply digital gain control after decompression and before applying what they call the “second unfold” which is just an upsample with a filter carefully designed to undo what the DAC’s own internal filter does to damage stuff in the time domain (prevent pre-ringing, etc). No new real information is generated and you could apply the same to non-MQA material (and I imagine lots of DACs that lack the first decompression step only enable it when MQA is present.) |
jim lesurf (2082) 1438 posts |
MQA essentially ‘fakes up’ some HF content to try and mimic what was discarded during encoding, etc. Anyone interested can see measured examples of the results and an analysis of the results in practice on these pages: The Explorer has a ‘feature’ that MQA didn’t intend. Once its MQA ‘decoder’ is switched on by the flagging in the input it tends to ‘roll on’ after MQA content ends if you continue to play non-MQA encoded material. That’s handy for seeing how it alters the time domain behaviour because of the belief system they have over ‘pre ringing’. The measured spectra on the above pages show how odd the resulting unfolded spectra can become as well. However I tend to think that no-one can really hear this anyway, so the result sounds OK – provided the larking about with the HF doesn’t upset something later in your system. e.g. via an HF resonance in your speakers. But in practice the Explorer sounds fine to me on hearphones, albeit with the current RO problem of always being full gain! So if that can be sorted it becomes a very nice, small, headphone DAC for RO use. Has das pretty blinken lighten as well – bonus! 8-] Principle concern is, of course, that you can’t beat Information Theory. Thus the attempt to ‘hide’ HF bumf in a lower rate + lower sample-size container means you lose some Shannon space. i.e. more noise and/or reduced bandwidth and/or loss of details they hope you won’t notice have gone. |
Dave Higton (1515) 3534 posts |
A few words on pre-ringing. If a filter has a linear phase response, its pre- and post-ringing in response to an impulse must be mirror images of each other. Any asymmetry means the filter is not linear phase. Many people are led to believe that pre-ringing must be acausal, simply because the impulse response of the filter is shown without reference to the impulse that caused it. The best way is to show both input and output on the same timescale, whereupon it becomes obvious that the filter has a time delay equal to half the length of the impulse response. The pre-ringing starts after the input impulse. Nothing is acausal. |
jim lesurf (2082) 1438 posts |
Yup! Hence the comments I make on the “RingingInArrears” web page. A symmetric near-sinc pattern is Nature’s Way of telling you that you got out what was put in. The crazy thing is that people like Meridian and HiFi fans obsess about this whilst happily accepting the time-domain behavious of microphones, speakers, and ‘Vinyls’ (sic) when they play LPs! But many seem to totally resist reality on this. As do some who fail to understand that you must dither digital sampling to get a clean result and avoid systematic error patterns that get interpreted as (unnecessary!) ‘distortion’. One magazine editor in particular reruns this error time after time and is immune to explanations. |