INTERACT FORUM

Please login or register.

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

Author Topic: ASIO: JRiver buffer and DAC buffer  (Read 4569 times)

steff

  • World Citizen
  • ***
  • Posts: 103
ASIO: JRiver buffer and DAC buffer
« on: January 29, 2018, 08:04:36 am »

Playing with JRiver MC23, in the meantime JRiver will fix the problem of Memory Playback, I can see that we have to manage TWO buffers
- one on the Windows Device Driver installed together with the USB DAC
- one in the MC23 Audio Settings
Moreover we have the flag "use large hardware buffer".

I know what is and what is for the buffer, but I can not understand the difference between the two and the relationship among them and versus the "use large hardware buffer".

Logged
Linn LP12 Turntable + Akito + K9 + Audio Analogue Paganini SE + Electa Amator
piCore Player + nVidia Shield + Xiaomi MiBox S + UAPP
Teac UD-503 + M2Tech HiFace
Cisco 3850 + 1815i + Dell T440 2x Xeon 4210

steff

  • World Citizen
  • ***
  • Posts: 103
Re: ASIO: JRiver buffer and DAC buffer
« Reply #1 on: February 01, 2018, 04:39:08 am »

I played a while with the size of the driver DAC buffer and the size of MC23 buffer.

If both are set to the VERY minimum, then I gat stuttering with 11 Mhz DSD, for example.
If I increase the size of just one of the two buffer, then MC23 plays good.

Anyway I would like to understand what is the difference.

Thanks
Logged
Linn LP12 Turntable + Akito + K9 + Audio Analogue Paganini SE + Electa Amator
piCore Player + nVidia Shield + Xiaomi MiBox S + UAPP
Teac UD-503 + M2Tech HiFace
Cisco 3850 + 1815i + Dell T440 2x Xeon 4210

Trumpetguy

  • Citizen of the Universe
  • *****
  • Posts: 974
Re: ASIO: JRiver buffer and DAC buffer
« Reply #2 on: February 01, 2018, 06:25:48 am »

When playing locally stored audio only (Lynx ASIO driver), my experience is that buffer size has no impact on sound, except when it is set too low and you get stuttering. Large buffers only causes a slight delay in start of playback, when skipping and changing volume. You wouldn't notice, I think.

When playing form other sources using WDM driver, playing with correct buffer sizes is much more important. I get stuttering at significantly higher buffer sizes than.

But the most important thing is if you video contents externally from MC, and use WDM to use MC audio engine (Youtube, net TV etc). Here any buffer will cause poor lip-sync, and you would need to work on setting the lowest possible WDM buffer and ASIO buffer. I can get total audio delay down to a few 10's of milliseconds that way.
Logged

steff

  • World Citizen
  • ***
  • Posts: 103
Re: ASIO: JRiver buffer and DAC buffer
« Reply #3 on: February 01, 2018, 09:39:58 am »

I understand very well your position,

but my question was on the difference between the two buffers: MC23 and DAC Driver and... the relation with the "use large hardware buffer" MC23 setting.

Logged
Linn LP12 Turntable + Akito + K9 + Audio Analogue Paganini SE + Electa Amator
piCore Player + nVidia Shield + Xiaomi MiBox S + UAPP
Teac UD-503 + M2Tech HiFace
Cisco 3850 + 1815i + Dell T440 2x Xeon 4210

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4231
Logged

Trumpetguy

  • Citizen of the Universe
  • *****
  • Posts: 974
Re: ASIO: JRiver buffer and DAC buffer
« Reply #5 on: February 02, 2018, 05:34:14 am »

I understand very well your position,

but my question was on the difference between the two buffers: MC23 and DAC Driver and... the relation with the "use large hardware buffer" MC23 setting.
Ah, ok, my misunderstanding.
Logged

steff

  • World Citizen
  • ***
  • Posts: 103
Re: ASIO: JRiver buffer and DAC buffer
« Reply #6 on: February 02, 2018, 05:49:45 am »

I read the suggested link, but unfortunately I can not anyway understand.

Sorry.

I have other setups running Linux (MPD or piCorePlayer) and leveraging on ALSA and there is just ONE place to deal with buffer, so it is quite easy

MC on Windows is quite different: buffer in the DAC driver, buffer in the music player, etc.
Logged
Linn LP12 Turntable + Akito + K9 + Audio Analogue Paganini SE + Electa Amator
piCore Player + nVidia Shield + Xiaomi MiBox S + UAPP
Teac UD-503 + M2Tech HiFace
Cisco 3850 + 1815i + Dell T440 2x Xeon 4210

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4231
Re: ASIO: JRiver buffer and DAC buffer
« Reply #7 on: February 02, 2018, 06:10:15 am »

MC on Windows is quite different: buffer in the DAC driver, buffer in the music player, etc.
I don't know what the etc refers to nor what you don't understand. The link describes 2 software buffers and 1 in hardware so the total buffer is the sum of those. If you can expand on what confuses you then perhaps we can find an answer.
Logged

steff

  • World Citizen
  • ***
  • Posts: 103
Re: ASIO: JRiver buffer and DAC buffer
« Reply #8 on: February 02, 2018, 08:10:10 am »

I don't know what the etc refers to nor what you don't understand. The link describes 2 software buffers and 1 in hardware so the total buffer is the sum of those. If you can expand on what confuses you then perhaps we can find an answer.

OK. I try to understand
There are 3 buffers, each one on top to the other.
A) Music player (here is MC23) has the application software buffer
B) the driver buffer, again a software driver, that receives datas from A)
C) the hardware\DAC buffer, that receive data from B)

Is this correct?
A) and B) can be manipulated by end user
C) can not, being embedded in the hardware

Question:
- wandering if B) is maybe just a control of C) and not another independent buffer
-  'Use large hardware buffers' switch what is for? how does it work on the HW buffer?
Logged
Linn LP12 Turntable + Akito + K9 + Audio Analogue Paganini SE + Electa Amator
piCore Player + nVidia Shield + Xiaomi MiBox S + UAPP
Teac UD-503 + M2Tech HiFace
Cisco 3850 + 1815i + Dell T440 2x Xeon 4210

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4231
Re: ASIO: JRiver buffer and DAC buffer
« Reply #9 on: February 02, 2018, 08:48:36 am »

I can't give you a perfect answer but I'll let you know what I think is correct (and see if anyone corrects me).

I believe C is the driver buffer rather than literally a hardware buffer and "large hardware buffer" refers to MC setting that value to some large value (where large is undefined and I assume hardware specific) if the driver allows it. I assume this is a nop if the driver does not allow the software to set this.

For example, my motu interface has 2 separate options (see http://cdn-data.motu.com/manuals/avb/MOTU+Pro+Audio+Driver+Read+Me.pdf); host buffer size and host safety offset. The total "hardware" buffer is the sum of those two. I believe the latter is motu's name for the "usb streaming mode" buffer (google found http://allen-heath.helpserve.com/Knowledgebase/Article/View/1002/201/qu-windows-driver-understanding-and-troubleshooting which gives some explanation of this) and the former is simply the asio buffer size. You mentioned alsa before and I think this is basically equivalent to buffer and period in alsa config.

The other 2 buffers are therefore in jriver alone. I'm not in front of MC so I don't recall what they are called or why there are 2 of them. IIRC one of them is to do with how much data is available to feed through the DSP engine.
Logged
Pages: [1]   Go Up