INTERACT FORUM

Please login or register.

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

Author Topic: Can MC output in 64-bit or is 32-bit the max ?  (Read 3176 times)

ths61

  • World Citizen
  • ***
  • Posts: 162
Can MC output in 64-bit or is 32-bit the max ?
« on: October 16, 2021, 11:26:13 pm »

Can MC output in 64-bit or is 32-bit the max ?

Thanks much.
Logged
Main - JRMC31 -> custom ALSA_cdsp -> CamillaDSP(2x8 channel 64-bit FIR convolution) -> 8 channel DAC
Office - JRMC31 -> Asus Xonar Essence STX -> W4S STI-1000 -> Mini-Magnepans
Shop - JRMC31 -> W4S MicroDAC -> Adcom GFA-2535 -> B&W Rock Solid

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72536
  • Where did I put my teeth?
Re: Can MC output in 64-bit or is 32-bit the max ?
« Reply #1 on: October 17, 2021, 07:49:30 am »

I assume you mean audio.  MC will output whatever the device and its driver support.
Logged

ths61

  • World Citizen
  • ***
  • Posts: 162
Re: Can MC output in 64-bit or is 32-bit the max ?
« Reply #2 on: October 17, 2021, 01:08:51 pm »

I assume you mean audio.  MC will output whatever the device and its driver support.

JimH, thanks much. 

I am trying to output JRMC28 AUDIO to Alsa_cdsp (an ALSA I/O plugin), then CamillaDSP in FLOAT64_LE on Debian 11-64 (kernel 5.14) and finally to the 8 channel DAC (same behavior on Debian 10-64 with JRMC26 and JRMC27).

https://github.com/scripple/alsa_cdsp

https://github.com/HEnquist/camilladsp

When I select Alsa_cdsp as the AUDIO output device, JRMC28's "Device Settings/PCM Output Format" pulldown list only shows 4 (of 6) specific formats (Auto, S32_LE, S24_3LE, S24_LE and S16_LE). 

FLOAT_LE and FLOAT64_LE are NOT listed as options.

Alsa_cdsp supposedly publishes(via SND_PCM_IOPLUG_HW_FORMAT) the following 6 supported PCM I/O MUSIC formats (same formats as CamillaDSP).  S32_LE is the largest format presented in the MC[26,27,28] pulldown list (and works with that format).

Code: [Select]
  // Configure "hw" constraints
  unsigned int format_list[] = {
    SND_PCM_FORMAT_S16_LE,
    SND_PCM_FORMAT_S24_LE,
    SND_PCM_FORMAT_S24_3LE,
    SND_PCM_FORMAT_S32_LE,
    SND_PCM_FORMAT_FLOAT_LE,
    SND_PCM_FORMAT_FLOAT64_LE
  };

  snd_pcm_ioplug_set_param_list(&pcm->io, SND_PCM_IOPLUG_HW_FORMAT, 6, format_list);

Do you have any idea why FLOAT_LE and FLOAT64_LE are not offered in the JRMC28's "PCM Output Format" list ?

I would like to not drop down to 32 bits if possible.

Thanks again
Logged
Main - JRMC31 -> custom ALSA_cdsp -> CamillaDSP(2x8 channel 64-bit FIR convolution) -> 8 channel DAC
Office - JRMC31 -> Asus Xonar Essence STX -> W4S STI-1000 -> Mini-Magnepans
Shop - JRMC31 -> W4S MicroDAC -> Adcom GFA-2535 -> B&W Rock Solid

ths61

  • World Citizen
  • ***
  • Posts: 162
Re: Can MC output in 64-bit or is 32-bit the max ?
« Reply #3 on: October 18, 2021, 12:56:23 am »

UPDATE:

I tried 2 USB DACs and onboard audio.  I get the same 4 options in JRMC28 no matter what audio device I select.

I updated the alsa_cdsp plugin code to only publish 1 format (S16_LE) and installed it.  JRMC28 still offers the same 4 options after reboot even though only 1 is published. 

I also tried adding in 2 more options for a total of 8 and the pull down list still displays the same 4 options after reboot even though 8 are published. 

There does not appear to be a correlation between the ALSA PCM plugin's published formats and the JRMC28 pulldown list.

Should this be flagged as a bug ?
 
Code: [Select]
// Configure "hw" constraints
  unsigned int format_list[] = {
    SND_PCM_FORMAT_S16_LE
  };

  snd_pcm_ioplug_set_param_list(&pcm->io, SND_PCM_IOPLUG_HW_FORMAT, 1, format_list);
Logged
Main - JRMC31 -> custom ALSA_cdsp -> CamillaDSP(2x8 channel 64-bit FIR convolution) -> 8 channel DAC
Office - JRMC31 -> Asus Xonar Essence STX -> W4S STI-1000 -> Mini-Magnepans
Shop - JRMC31 -> W4S MicroDAC -> Adcom GFA-2535 -> B&W Rock Solid

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7887
  • Long cold Winter...
Re: Can MC output in 64-bit or is 32-bit the max ?
« Reply #4 on: October 18, 2021, 03:24:05 am »

What DAC are you using? All the DACs I've used or seen max out with 32-bit bit-depth support.
Logged
I don't work for JRiver... I help keep the forums safe from "male enhancements" and other sources of sketchy pharmaceuticals.

Windows 11 24H2 Update 64-bit + Ubuntu 24.10 Oracular Oriole 64-bit | Windows 11 24H2 Update 64-bit (Intel N305 Fanless NUC 16GB RAM/500GB M.2 NVMe SSD)
JRiver Media Center 33 (Windows + Linux) | iFi ZEN DAC 3 | JBL 306P MkII Studio Monitors | Audio-Technica ATH-M50x Headphones

ths61

  • World Citizen
  • ***
  • Posts: 162
Re: Can MC output in 64-bit or is 32-bit the max ?
« Reply #5 on: October 18, 2021, 12:41:15 pm »

What DAC are you using? All the DACs I've used or seen max out with 32-bit bit-depth support.

Hi Awesome Donkey,

It is the ALSA PCM Plugins that have the FLOAT64 interfaces that JRMC28 writes to. 

The plugin is specified in JRMC28 as the target output "device", not a specific hardware DAC.  The hardware DAC is specified in camillaDSP's plugin configuration at then end of the signal processing chain, thus should be hidden (twice removed) from JRMC28 and (once removed) from the Alsa_cdsp plugin that JRMC28 is writing to.  Both of the ALSA PCM plugins support FLOAT64 which is not offered in the pulldown menu.

I am trying to combine JRMC28's 64-bit volume control with the plugins' 64-bit processing without "thunking" (old Windows term) down to 32-bit in the middle of the signal processing chain.  All of the FIR filters are built in 64-bit.

It appears JRMC28 is using a pre-canned list of menu options because they do not reflect the differences (as shown in alsacap's list) in the various audio cards that I have tried (Gigabyte's onboard sound, W4S DAC2-DSDSE, W4S µDAC, Khadas Tone Board DAC and Okto Research DAC8).

Does the JRMC2X Linux code query and try to use the plugin's published feature set (i.e. in the "AUTO" setting) ?

Thanks much.



Logged
Main - JRMC31 -> custom ALSA_cdsp -> CamillaDSP(2x8 channel 64-bit FIR convolution) -> 8 channel DAC
Office - JRMC31 -> Asus Xonar Essence STX -> W4S STI-1000 -> Mini-Magnepans
Shop - JRMC31 -> W4S MicroDAC -> Adcom GFA-2535 -> B&W Rock Solid

ths61

  • World Citizen
  • ***
  • Posts: 162
Re: Can MC output in 64-bit or is 32-bit the max ?
« Reply #6 on: October 19, 2021, 11:28:53 am »

....  MC will output whatever the device and its driver support.

Update:
All 6 of the ALSA plugin's published formats are found by the open source aplay test(/dev/zero) CLI dump command. 
Being open source, the code is readily available on how to query an ALSA plugin's feature set.

aplay -v -D camilladsp /dev/zero --dump-hw-params
Playing raw data '/dev/zero' : Unsigned 8 bit, Rate 8000 Hz, Mono
HW Params of device "camilladsp":
--------------------
ACCESS:  MMAP_INTERLEAVED MMAP_NONINTERLEAVED MMAP_COMPLEX RW_INTERLEAVED RW_NONINTERLEAVED
FORMAT:  S16_LE S24_LE S32_LE FLOAT_LE FLOAT64_LE S24_3LE
SUBFORMAT:  STD
SAMPLE_BITS: [16 64]
FRAME_BITS: [128 512]
CHANNELS: 8
RATE: [44100 384000]
PERIOD_TIME: [625 23220)
PERIOD_SIZE: [240 1024]
PERIOD_BYTES: [15360 16384]
PERIODS: [2 8]
BUFFER_TIME: [1250 185760)
BUFFER_SIZE: [480 8192]
BUFFER_BYTES: [30720 131072]
TICK_TIME: ALL
--------------------
Available formats:
- S16_LE
- S24_LE
- S32_LE
- FLOAT_LE
- FLOAT64_LE

- S24_3LE

Logged
Main - JRMC31 -> custom ALSA_cdsp -> CamillaDSP(2x8 channel 64-bit FIR convolution) -> 8 channel DAC
Office - JRMC31 -> Asus Xonar Essence STX -> W4S STI-1000 -> Mini-Magnepans
Shop - JRMC31 -> W4S MicroDAC -> Adcom GFA-2535 -> B&W Rock Solid

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13931
Re: Can MC output in 64-bit or is 32-bit the max ?
« Reply #7 on: March 17, 2022, 03:57:44 pm »

Added these formats to MC29.
Logged
Pages: [1]   Go Up