INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: 32-bit WDM Driver?  (Read 3103 times)

RD James

  • Citizen of the Universe
  • *****
  • Posts: 1871
32-bit WDM Driver?
« on: October 09, 2017, 12:06:55 am »

As I understand it, Windows' audio mixer converts everything to 32-bit floating point internally.
The JRiver WDM driver accepts 16-bit and 24-bit inputs - defaulting to 16-bit.
So the mixer converts audio to 32-bit floating point, then to 16/24 bit, JRiver converts that to 64-bit internally, and outputs it at your playback device's bit depth.
 
If the WDM driver supported a 32-bit input, there should be one fewer conversion taking place.
If it's possible for the driver to use 32-bit floating point, I'm not sure there's any reason to continue supporting 16-bit or 24-bit at all.
Logged

tyler69

  • Citizen of the Universe
  • *****
  • Posts: 946
Re: 32-bit WDM Driver?
« Reply #1 on: October 09, 2017, 12:55:51 am »

While I find this an quite interesting idea I'm trying to understand the process: do the conversions from 32bit->16bit/24bit happen in the windows domain, so one would have to tell windows mixer to output 32bit (I'm not sure if this would be a setting in playback devices in windows?)?
Logged

RoderickGI

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 8186
Re: 32-bit WDM Driver?
« Reply #2 on: October 09, 2017, 01:08:13 am »

The JRiver WDM driver accepts 16-bit and 24-bit inputs in shared mode, but do we actually know that it only accepts those bit depths when in exclusive mode?

EDIT: I proofread my posts, but sometimes words still end up missing.  :o  Added "do" to make that sentence work.  :-[
Logged
What specific version of MC you are running:MC27.0.27 @ Oct 27, 2020 and updating regularly Jim!                        MC Release Notes: https://wiki.jriver.com/index.php/Release_Notes
What OS(s) and Version you are running:     Windows 10 Pro 64bit Version 2004 (OS Build 19041.572).
The JRMark score of the PC with an issue:    JRMark (version 26.0.52 64 bit): 3419
Important relevant info about your environment:     
  Using the HTPC as a MC Server & a Workstation as a MC Client plus some DLNA clients.
  Running JRiver for Android, JRemote2, Gizmo, & MO 4Media on a Sony Xperia XZ Premium Android 9.
  Playing video out to a Sony 65" TV connected via HDMI, playing digital audio out via motherboard sound card, PCIe TV tuner

RD James

  • Citizen of the Universe
  • *****
  • Posts: 1871
Re: 32-bit WDM Driver?
« Reply #3 on: October 09, 2017, 12:32:44 pm »

I hadn't even considered exclusive mode playback. It is shared mode which converts all playback to 32-bit floating point internally.
If the output device is <32-bit, then the mixer has to downconvert it to 16-bit or 24-bit.
Since JRiver feeds that into their own audio engine, it gets converted to 64-bit and then back down to whatever your output device supports.
 
Currently, it looks like this:
  • 16-bit source
  • 32-bit FP mixer input
  • 16-bit or 24-bit mixer output (JRiver WDM device)
  • 64-bit JRiver audio engine
  • 24-bit output to DAC
If the WDM driver supported 32-bit floating point:
  • 16-bit source
  • 32-bit FP mixer input
  • 32-bit FP mixer output (no conversion)
  • 64-bit JRiver audio engine
  • 24-bit output to DAC
Here, none of the processing stages reduce precision, except for the final output.
 
I don't know if playback devices are capable of supporting 32-bit floating point though.
"32-bit" is supported, but I don't know if that can be 32-bit integer, 32-bit floating point, or both.
Logged

blgentry

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 8014
Re: 32-bit WDM Driver?
« Reply #4 on: October 10, 2017, 06:31:55 pm »

Is there some audible artifact you hear that you are trying to overcome?  Or just suggesting this based upon the perception that the current way is "not optimal" ?

Brian.
Logged

RD James

  • Citizen of the Universe
  • *****
  • Posts: 1871
Re: 32-bit WDM Driver?
« Reply #5 on: October 10, 2017, 07:03:03 pm »

Is there some audible artifact you hear that you are trying to overcome?  Or just suggesting this based upon the perception that the current way is "not optimal" ?
Unlikely to be audible, but it's one fewer conversion taking place.
I was doing some testing in response to this topic and having JRiver dump the audio via the Disk Writer output.
Even matching the sample rate, I was unable to get a bitperfect match to the source audio, and this seemed like a low-effort area for potential improvement.
Logged

tyler69

  • Citizen of the Universe
  • *****
  • Posts: 946
Re: 32-bit WDM Driver?
« Reply #6 on: October 10, 2017, 11:54:06 pm »

Is there some audible artifact you hear that you are trying to overcome?  Or just suggesting this based upon the perception that the current way is "not optimal" ?

Brian.

It might also reduce latency I guess.
Logged
Pages: [1]   Go Up