INTERACT FORUM

More => Old Versions => JRiver Media Center 26 for Windows => Topic started by: hoffman80501 on December 16, 2019, 01:49:01 pm

Title: Why can't the software interact with a DAC?
Post by: hoffman80501 on December 16, 2019, 01:49:01 pm
I would think by now the software would be able to interact with the dac being used - in my case a Dragonfly - to set the correct setting such as 96K. The App on my Android phone has been doing it since day 1.
Title: Re: Why can't the software by now be able to interact with your dac.
Post by: JimH on December 16, 2019, 03:19:25 pm
MC can play whatever the DAC supports.
Title: Re: Why can't the software interact with a DAC?
Post by: audunth on December 18, 2019, 04:06:01 pm
In output format the output sample rate can be selected for all input sample rates, or just left unchanged. Isn't there a way to make it so only the sample rates the DAC supports is shown, so it is impossible to select a sample rate that will give a playback error? Or an Auto (Highest available) setting that would choose the highest the output device will accept? Would make it easier to set up different DACs/soundcards.
Title: Re: Why can't the software interact with a DAC?
Post by: audunth on December 18, 2019, 04:10:53 pm
Oh..and just a tip. If you run the sound card/DAC in shared mode, so that you can hear sounds from Windows or other programs, you should use the same sample rate that is set in the Sounds settings in Windows.
Title: Re: Why can't the software interact with a DAC?
Post by: RoderickGI on December 18, 2019, 04:29:04 pm
If you use Shared Mode the Windows Audio Mixer is involved, and will remix everything to whatever that setting is set to. Even if MC is set to output the same format as set for Shared Mode, I wouldn't trust Windows not to touch the audio. For a start, as soon as any system sounds play, Windows will remix the whole audio stream. It sort of defeats the purpose of using MC. Don't use Shared Mode. Output system sounds to a separate audio device, if you really need them.

Also, do DACs actually communicate their capabilities to the computers/devices they are connected to, like DLNA Renderers do? Do you have a reference for that? Is there are standard? Because if each DAC does it differently, that would be a lot of work for JRiver to code and maintain. Whereas an App written for a specific DAC might be able to read the DAC's capabilities.
Title: Re: Why can't the software interact with a DAC?
Post by: audunth on December 18, 2019, 05:53:35 pm
I use shared mode in my living room, because I want to be able to hear sounds from Windows and other apps. If I'm watching a tv show or sports, news, etc. I'm not that concerned with audio quality anyway. It's easy enough to set up other Zones in MC with different sound settings for music listening and movie watching in the Home Cinema.

That said, there is a page in the Windows Sound settings called Enhancements. If you tick Disable all enhancements, I doubt Windows is doing much with the sound signal.

So, when playing content where that last percent of High End sound quality is important, sure, use Exclusive mode. But if you want to hear other sounds too, set the sample rate to the highest possible in Sound settings in Windows, and set everything to a matching sample rate in MC.
Title: Re: Why can't the software interact with a DAC?
Post by: audunth on December 18, 2019, 05:58:54 pm
Also, do DACs actually communicate their capabilities to the computers/devices they are connected to, like DLNA Renderers do? Do you have a reference for that? Is there are standard? Because if each DAC does it differently, that would be a lot of work for JRiver to code and maintain. Whereas an App written for a specific DAC might be able to read the DAC's capabilities.

Good point, I have no idea. That I'll leave up to the developers to look into :)
Title: Re: Why can't the software interact with a DAC?
Post by: AndrewFG on December 19, 2019, 02:49:20 am
Also, do DACs actually communicate their capabilities to the computers/devices they are connected to, like DLNA Renderers do? Do you have a reference for that? Is there are standard?

I’m pretty sure that HDMI does indeed have a standard for advertising capabilities. (It is used for negotiating the best screen resolution on video displays).
Title: Re: Why can't the software interact with a DAC?
Post by: RoderickGI on December 19, 2019, 02:43:24 pm
Sure, HDMI does for video with audio, and I think audio only.

But the OP has a Dragonfly DAC, which is USB. If it used a driver then MC would communicate with the driver and would be aware of its capabilities. But it looks like the Dragonfly DAC doesn't use a driver, as only firmware updates are available for it on their site, plus a Desktop Manager. Would MC query the device itself, to ask the firmware what its capabilities are? I don't know.

However, it seems the capability may depend on the hardware and driver versions of the device the DAC is connected to. i.e. UAC 1.0 or 2.0? https://en.wikipedia.org/wiki/USB#Audio_streaming

So an Android phone may see the DAC's capabilities, but an older computer (Windows 8.1 or lower) may not. Windows 10? Who knows. If Windows can see the capability, I would think MC could as well. That is easy to test in Sound Settings.

Regardless, MC is designed for the user to set the Output Format, rather than have the device control it. If the device won't play the format, MC will tell you. So the OP's question is a bit strange.
Title: Re: Why can't the software interact with a DAC?
Post by: Hendrik on December 19, 2019, 03:19:31 pm
But the OP has a Dragonfly DAC, which is USB. If it used a driver then MC would communicate with the driver and would be aware of its capabilities. But it looks like the Dragonfly DAC doesn't use a driver, as only firmware updates are available for it on their site, plus a Desktop Manager. Would MC query the device itself, to ask the firmware what its capabilities are? I don't know.

You have to use a driver to talk to any device, if a specific device doesn't have its own driver, then it uses a default driver built into Windows. In this case a USB audio driver. And these will also tell you the capabilities of the device.

I have an older model of the Dragonfly DAC, and it can communicate the supported rates and bitdepth to Windows just fine - and when Windows knows, MC knows. Even the  USB Audio Class 1.0 driver in older Windows versions can handle up to Stereo 96kHz/24-bit, which is plenty for a Dragonfly. Of course Windows 10 also supports USB Audio Class 2.0

Unfortunately the OP hasn't left us with much information to go on

PS:
If anything, then any direct connection to a PC has more details about the DAC then DLNA cares to offer :D Well, except S/PDIF, thats not bidirectional.
Title: Re: Why can't the software interact with a DAC?
Post by: RoderickGI on December 19, 2019, 04:20:36 pm
Thanks for confirming Hendrik.

It seems the OP needs to clarify the issue.
Title: Re: Why can't the software interact with a DAC?
Post by: audunth on December 20, 2019, 09:43:29 am
You have to use a driver to talk to any device, if a specific device doesn't have its own driver, then it uses a default driver built into Windows. In this case a USB audio driver. And these will also tell you the capabilities of the device.

I have an older model of the Dragonfly DAC, and it can communicate the supported rates and bitdepth to Windows just fine - and when Windows knows, MC knows.

Then why isn't the unsupported sample rates unavailable in Output Format? After all, that's how it is in the Windows Sound settings. It would be much easier to set things up if only supported sample rates were shown, than the current try-and-fail approach.
Title: Re: Why can't the software interact with a DAC?
Post by: BryanC on December 20, 2019, 10:22:14 am
Then why isn't the unsupported sample rates unavailable in Output Format? After all, that's how it is in the Windows Sound settings. It would be much easier to set things up if only supported sample rates were shown, than the current try-and-fail approach.

The simple reason is that some people use a single zone for multiple output devices.
Title: Re: Why can't the software interact with a DAC?
Post by: audunth on December 20, 2019, 02:33:24 pm
Could be a simple tick box then, "Only show supported sample rates"
Title: Re: Why can't the software interact with a DAC?
Post by: BryanC on December 20, 2019, 03:38:52 pm
Could be a simple tick box then, "Only show supported sample rates"

For which device? Only the active one? Because if you switch audio outputs the output format DSP would have a hidden active value. Which is not a good thing when MC warns you to fix an incompatible sample rate problem.

Really what you're asking for is to have MC identify the output device and switch sample rates automatically, because this is the only sensible solution. In fact it can already do this using ZoneSwitch, it just requires a little manual set up. Unless you are constantly testing new audio hardware it's probably easiest to just take the time to assign each device its own zone and set up the correct sample rate manually per zone/device.

Title: Re: Why can't the software interact with a DAC?
Post by: dtc on December 20, 2019, 09:15:53 pm
As a first step, it would be nice if in Audio Device Settings showed the sample rates that MC thinks are appropriate and, maybe, whether it got that from Windows or from the driver (it that is relevant).  At this point, this information is not available within MC as far as I know.  Also, when an error occurs outputting  a specific sample rate, the error message could display the allowed sample rates, not just a suggestion to try a specific one.  This  does not solve the dynamic determination of allowed sample rates, but it does allow the user to know what MC thinks the options are for a given device.
Title: Re: Why can't the software interact with a DAC?
Post by: antenna on December 20, 2019, 09:41:29 pm

As a first step, it would be nice if in Audio Device Settings showed the sample rates that MC thinks are appropriate and, maybe, whether it got that from Windows or from the driver (it that is relevant).  At this point, this information is not available within MC as far as I know.  ...

I suspect you are getting to the nub of the issue here.

While it would be nice if MC would display and use DAC information, the question lingers --- does MC have access to the data it needs in order to present you with the information you want to see, or the data it needs to present the DAC with the appropriate configuration information?

 
Title: Re: Why can't the software interact with a DAC?
Post by: Hendrik on December 21, 2019, 04:04:53 am
Many audio APIs don't exactly give you a list of supported rates, and to find out if one works, you have to try opening the device. In theory that doesn't sound so bad, but some devices will actively change their rate when you try to do that and produce an audible "click" - especially when changing sample rate. That would be far from ideal.
Title: Re: Why can't the software interact with a DAC?
Post by: dtc on December 21, 2019, 07:03:56 am
So under Device Settings you could have an option to get the sample rate data, if available, with a warning that a click may happen.  If no sample rate info is available, report that.  That way it is only a occasional thing, and completely under the control of the user.
Title: Re: Why can't the software interact with a DAC?
Post by: RD James on December 21, 2019, 12:15:51 pm
I resisted it at first, but now that MC has had SoX resampling and TPDF dither options for a while, my recommendation is to resample everything to the highest format that your DAC supports. It makes things a lot easier.