I've been engaging in
this topic for the last few days, and while doing so I've noticed a few things that could be added/improved in MC to help make things a little easier for users (and a little easier for us when troubleshooting).
The low hanging fruit, aka Audio Path improvements:I never really convert DSD to PCM as I bitstream it, but during the course of going through that topic, I decided to try it. With MC converting DSD to PCM, I look at the Audio Path... and there's no clear indicator that it's actually converting DSD to PCM that most users would instantly recognize.
As you can see, it just mentions the low-pass filtering being enabled, but no mention of a DSD to PCM conversion happening, even though more technical users can see it is via input and output there.
1) My first request is this, add in the Audio Path that a DSD to PCM conversion is happening. It should say what format the DSD is in, e.g. 1xDSD or DSD64 or 2.8 MHz and what PCM it's converting to, e.g. 352.8 kHz.
DSD to PCM conversion, 1xDSD 2.8 MHz to PCM 352.8 kHz or something like this.
2) To add to number 1, it should also mention what resampler it's using, e.g.
SSRC or
SoX.
DSD to PCM conversion, 1xDSD 2.8 MHz to PCM 352.8 kHz using SoX or
DSD to PCM conversion, 1xDSD 2.8 MHz to PCM 352.8 kHz using SSRC or something like this.
These would definitely would help a lot.
The pipe dreams, aka conversion improvements:This is the request(s) that may not be doable, but I thought I'd just throw them out here anyways.
1) Have an option to set the PCM sample rate MC should use for DSD to PCM conversions. Right now with mine it's automatically using 352.8 kHz, and the only way to change this is to set in DSP Studio > Output Format > Sample Rate the 352,800 Hz sample rate to output at a different sample rate, e.g. 88,200 Hz. Which then would make it where all 352.8 kHz content is resampled to 88.2 kHz, which is kinda undesirable. Having a dedicated option to override the automatic sample rate used and set a specific PCM sample rate for DSD to PCM conversions can help with trying to workaround issues with CPU bottlenecks when doing the conversions and encountering issues with buffering because it's not fast enough. Not to mention bypassing the two conversions needed (DSD to 352.8 kHz, then again from 352.8 kHz to 88.2 kHz).
2) This is the big iffy one that I almost hesitate posting... have an option to do any DSD to PCM or PCM to DSD (or DSD to DSD) conversions
before starting playback. This would hopefully eliminate a) the need for a on-the-fly conversion which on lower power machine may bottleneck and encounter issues with stuttering/buffering and b) eliminate the need to convert the file(s) ahead of time and play that back (and waste space having a playable version of the song on disk). Yes, depending how weak the hardware is this could cause a delay before playback, but it should be an option as long as the user is aware of this. The alternative to this would be having it convert up to 50% of the track before beginning playback, which may or may not also workaround this, depending on what it's decoding and encoding too.
Out of the two pipe dreams here, the first one would make the most sense and I'm sure a good number of users would appreciate this. The second one however, this one probably isn't easy to do at all.
Thoughts?