INTERACT FORUM

Please login or register.

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

Author Topic: Integer mode needs an explicit 24 bit checkbox...  (Read 5098 times)

bobkatz

  • World Citizen
  • ***
  • Posts: 213
Integer mode needs an explicit 24 bit checkbox...
« on: September 21, 2014, 10:45:06 am »

I would like to explicitly send 24 bits (dithered) to my DACs or to any device which does not process and which will send to a DAC. I cannot seem to find a way to do that. I've tested it with JRiver MC 19 Mac*, SoundFlower, and Spectrafoo.

No matter what I do, MC is sending 32 bit float to Spectrafoo. Personally I can't see any way around not needing an explicit 24 bit checkbox for Media Center when the user desires to explicitly dither to 24 bits. You can't rely on Integer mode. Please either prove me right or wrong. Matt?


Thanks,


Bob Katz

*haven't yet upgraded to 20 as some users have complained about stability and I need a stable product for my demonstrations and seminars.
Logged

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10712
Re: Integer mode needs an explicit 24 bit checkbox...
« Reply #1 on: September 21, 2014, 10:49:44 am »

If you're not using Integer mode, then MC cannot know the bitdepth of the final format thats going to go to the hardware, and the OS is doing a conversion to integer at some point, and just blindly dithering and hoping the OS does the right thing seems less than ideal, especially since its unknown if the OS also tries to dither.

For proper dithering, Integer mode should be a given, in the hope that the OS does not touch the signal at all anymore.
Or does the 32bit float output only happen with Spectrafoo and actual hardware output works in Integer mode for you? If yes, then MC should indicate if its using 24 or 32 in the audio path, and it'll also dither to whatever bitdepth it indicates there.
Logged
~ nevcairiel
~ Author of LAV Filters

bobkatz

  • World Citizen
  • ***
  • Posts: 213
Re: Integer mode needs an explicit 24 bit checkbox...
« Reply #2 on: September 21, 2014, 10:56:17 am »

Hendrik, there are two points I'm making:

1) MC is using integer mode

2) Knowledgeable users may want to explicitly define the bitdepth that's going to their hardware. That's not blind, that's knowledgeable. Why are MC people so stubborn on this topic? Other media players give users the option to dither and explictly choose the wordlength.


BK



If you're not using Integer mode, then MC cannot know the bitdepth of the final format thats going to go to the hardware, and the OS is doing a conversion to integer at some point, and just blindly dithering and hoping the OS does the right thing seems less than ideal, especially since its unknown if the OS also tries to dither.

For proper dithering, Integer mode should be a given, in the hope that the OS does not touch the signal at all anymore.
Or does the 32bit float output only happen with Spectrafoo and actual hardware output works in Integer mode for you? If yes, then MC should indicate if its using 24 or 32 in the audio path, and it'll also dither to whatever bitdepth it indicates there.
Logged

bobkatz

  • World Citizen
  • ***
  • Posts: 213
Re: Integer mode needs an explicit 24 bit checkbox...
« Reply #3 on: September 21, 2014, 10:58:29 am »

Also, currently, OSX has no dithering options. So decent media players have to step up to the plate.

BK
Logged

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10712
Re: Integer mode needs an explicit 24 bit checkbox...
« Reply #4 on: September 21, 2014, 11:01:36 am »

Noone is being stubborn here, just trying to clarify since you mentioned 32bit float output, and not integer. No need to get aggressive.
Logged
~ nevcairiel
~ Author of LAV Filters

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 71379
  • Where did I put my teeth?
Re: Integer mode needs an explicit 24 bit checkbox...
« Reply #5 on: September 21, 2014, 11:24:50 am »

Concerning your comment on stability, MC20 on Mac should be more reliable than MC19.
Logged

bobkatz

  • World Citizen
  • ***
  • Posts: 213
Re: Integer mode needs an explicit 24 bit checkbox...
« Reply #6 on: September 21, 2014, 12:31:27 pm »

Noone is being stubborn here, just trying to clarify since you mentioned 32bit float output, and not integer. No need to get aggressive.

Sorry, Hendrik, didn't mean to sound worked up. Getting the best sound to a DAC is a high level concern of mine.  Actually, I'm not able to tell from Foo if it's float or fixed, but regardless, apparently MC is sending 32 bit to SoundFlower.
Logged

Bluemoon

  • Recent member
  • *
  • Posts: 38
Re: Integer mode needs an explicit 24 bit checkbox...
« Reply #7 on: September 22, 2014, 10:49:46 am »

Concerning your comment on stability, MC20 on Mac should be more reliable than MC19.

OK, I was hesitating to upgrade (already bought the v20 license). I will give it a go.
Logged

bobkatz

  • World Citizen
  • ***
  • Posts: 213
Re: Integer mode needs an explicit 24 bit checkbox...
« Reply #8 on: September 24, 2014, 08:51:21 am »

Also, currently, OSX has no dithering options. So decent media players have to step up to the plate.

BK

Bump here. Let's make it a feature request: Give JRiver Mac the option of selecting a fixed output wordlength. Keep in mind that OSX does not dither so the media player itself has to step up to the plate. 99.99% of all DACs require a fixed point input, which should be dithered to 24 bits for best performance. There is one new DAC which can accept a 32-bit fixed point word; I am not yet convinced this is a good idea and if I had one of those DACs, I might conclude it was still better to dither to 24 bits on the way in.

This is not a question of "how many angels can you fit on head of a pin." Several professional observers (including myself) can hear truncation at 24 bits. Depending on the complexity of the calculation, the results vary from inaudible to a meaningful loss of depth and space. A simple gain change at 64 bit float, truncated to 24 bits, is probably inaudible, but when you start to process, equalize, convolve, etc. truncated errors accumulate and cause more distortion when truncated to 24 bits. I'm working on setting up a professionally-run blind test at a university to make these claims more valid, but for now all you can do is hear my anecdotal claims!
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 41941
  • Shoes gone again!
Re: Integer mode needs an explicit 24 bit checkbox...
« Reply #9 on: September 24, 2014, 08:52:55 am »

Bump here. Let's make it a feature request: Give JRiver Mac the option of selecting a fixed output wordlength.

If you output in integer mode, it is a fixed wordlength and dithering will be enabled.

If you output not in integer mode, the format delivered to the operating system is floating point so it's in charge of dithering down to the final output bitdepth.
Logged
Matt Ashland, JRiver Media Center

bobkatz

  • World Citizen
  • ***
  • Posts: 213
Re: Integer mode needs an explicit 24 bit checkbox...
« Reply #10 on: September 24, 2014, 09:21:24 am »

If you output in integer mode, it is a fixed wordlength and dithering will be enabled.

Hi, Matt. Did you miss my post that I tested integer mode with SoundFlower and MC was sending 32 bit to SoundFlower.

OK, I just did some tests:


1) 1644 source file. JRiver Mac set to Integer mode. JRiver's output set to default "Core audio". System preferences sound output set to sound flower. Soundflower routed to Spectrafoo for analysis.

1) All volume controls set to 0 dB.  Result: Bit transparent transfer from MC to Spectrafoo.
Reduce volume in JRiver. Result: Wordlength grows to 32 bits. Don't know if it's float or fixed to be honest.

2) As above, 6444 floating point file, played at unity gain.

Shows distortion in Spectrafoo FFT. Foo shows 25 bits active.

I need to have Media Center to be able to dither its output to 24 bits as a user choice. 99% of Media Center use is to feed a high quality DAC. Clearly, this demonstration shows that not all interfaces communicate their integer mode requirements properly to Media Center. Or, signals may be truncated further down the line which the user is aware of but Media Center is not. For example, I may feed Media Center to my Motu interface, which may communicate that it can accept greater than 24 bits on Core audio, but use the Motu Interface to feed out SPDIF to a DAC, which truncates to 24 bits. In other words, what if users truncate signals by feeding AES/EBU to a DAC.

Please, what I am asking is for JRiver to be proactive, never assume, give users the opportunity to get things right under all circumstances.
Logged
Pages: [1]   Go Up