Threadripper Pro Audio Production Under Windows Not Great

Hi guys,

I just built a TR Pro rig. Specs are:
3995WX 16 Core
8x8GB Micron 3200MHz ECC Registered RAM
Gigabyte WRX80-SU8-IPMI MB
NH-U9 TR4-SP3 Cooler
FirePro W7100 GPU
Corsair HX1200i PSU

Loving the speed of this thing and the expansion capabilities but I’m having some serious issues in terms of low latency audio.

If I run anything at low ASIO buffer rates I get some serious audio glitches and drop outs. I only seem to be able to get rid of the issue at incredibly high sample buffer rates

I’ve been using LatencyMon to see what’s causing my issues but it’s just telling me it’s something with ntoskernel

I’ve left the bios pretty much as is for now as it’s a lot more complicated than I was expecting. Was wondering if anyone would be able to help me sort my issue out

Thanks

Dan

Which USB ports you’re using will matter A LOT. Try to find the USB ports that are direct into CPU? (is it a usb thing?)

Can you give me some more details? I can test on my Asus board also because this is something I was curious about.

3 Likes

So my audio device actually works over the network port. I’m using the Merging Audio Device Driver (from Merging Technologies) which lets me use any selected network port as a Ravenna/AES67 compatible port.

I’ve tried both the 10Gb ports and the two 1Gb ports and I still have trouble

I’ve also followed the guide from Merging to configure Windows and the network port. They have a fairly extensive guide for this on their confluence support page

Is there anything else you need to know?

Thanks

Is it the intel x550? Did you install the intel x550 driver for dual 10gb? 10gb is probably the interface I’d use/start with.

Do you have any pcie audio cards lying around? I’d be tempted to disable onboard audio alltogether – usb connection internally – and see if a PCIe-based usb audio is the fix. (are you using onboard audio as well?)

I am not familiar with anything like that, but I have played with network settings before.

Does this audio device simply use Ethernet packets?

For the lowest latency you will want to disable power-save modes, interrupt coalescing and TCP/IP offload. Also search around the Internet for more.

You want the hardware to send out your data immediately without waiting for any more and you want packet arrival to generate an interrupt immediately without waiting for more.

Yeah so the 10Gb is X550 and the 1Gb is i210AT

Onboard audio is disabled (first thing I always do on any audio workstation)

I’ve got one PCI-E audio card I can try so I’ll give that a go, I also have a USB audio interface I can try as well so I’ll see how that does

1 Like

So I tried my USB Creative audio interface (I tried all the USB ports for good measure) running under ASIO and I also tried my PCI-E Blackmagic Card under ASIO and no matter what sample delay settings I tried I always got some artefacts or dropouts

I did read something from Pete at Scan who tested Zen1 and Zen+ TR CPUs and found high CPU usage at low latencies and that I had something to do with multiple die design and the memory addressing between them. Weird thing is is that I’m not nothing any high CPU loads on the system

yeah so zen2 is more “modern” – i/o die and memory controllers are shared. This is what makes the platform so much better than zen1/zen+ esp. for these kinds of things.

Can you post some step by step of what you’re doing or checking with lots of screenshots? I will try to reproduce here. I have ableton live lite, I think, that came with the focusrite i2i and I am familiar with latencymon. I also have a behringer usb dac. Can I use some combination of these to do a latency check for you?

Can you run cpuz and paste the cpu tab, memory tab, and motherboard tab?

Here’s the screenshots from CPUZCPU Tab MB Tab

I’ll post a step by step guide shortly!

Thanks for your help, I really appreciate it

forgot Memory Tab!Mem Tab

What buffer size are you running and what are you aiming for?

Was planning on posting some screenshots of my process yesterday but had some rather unexpected personal matters to deal with. Will post something when I get home from work.

In terms of buffer sizes I’m aiming for as low as possible in order to track live. On my previous machine with the ASIO driver I’m using for my audio interface I was able to get the driver down to 48 samples with little issue, but it seems even running at something as high as 768 samples causes me audio issues

2 Likes

So here’s what I’ve got.

Bios is configured as closely to this as I can get it. This is in the guide written by Merging who make the DAW and ASIO Driver I’m using:

Intel Turbo Boost Technology: Disabled
CPU Enhanced Halt (C1E): Disabled
C-State Support (C3, C6, C7, C8 State) : all Disabled
CPU EIST Function: Disabled
CPU power saving mode: Disabled

All network devices and USB devices have power saving disabled
Windows power settings are at highest performance settings

If you’ve got a Focusrite i2i you should be able to just get the ASIO Driver from Focusrite, select it as the audio device in Ableton and you should have options to adjust latency in samples

I’m essentially doing the same thing but within my DAW Pyramix

Update: As I was writing this guide out, I re-ran latency mon and also tried my Creative ASIO device and it seems to be working ok, have also tried my networked audio interface using that ASIO diver and it seems fine.
I did a bios update yesterday but my quick bout of testing yielded the same results as the other day with all the dropouts.
Not quite sure what’s changed but everything seems to be working ok at the lowest latency settings

Ah yes, the joys of computers.

You can disable c states on tr but don’t disable boost as you need that.

Instead for ryzen/tr set the windows power profile to performance as it sounds like you have. And that prevents the cpu from sleeping or napping when it’s lightly loaded.

Disabling boost on amd is asking for trouble. Hopefully you did not do that?

I’ve left boost as is, couldn’t really find the option for it either

Yeah, you’re right I’ve got the power profile set to performance

I have literally no idea what changed between the last two days, but for whatever reason it appears to be working. When I get home from work (I’m in the UK) I’ll check it all again to make sure it wasn’t a total fluke

Windows is unforgiving of not having been rebooted recently for driver latency these days too

So turned everything on again today and it works. God knows what’s fixed my problem.

Thanks for the input, really appreciated!

If I can help test anything on my rig let me know!

2 Likes

different usb ports may behave differently, depending on the controller. Glad it is working :slight_smile:

Hi everyone from the forum.
Sorry to revive this old topic (and going a little bit off-topic), this is my first message.

I’m having trouble with audio on a TR Pro workstation that I just built. I’m using the Asus WRX80, which has an internal USB audio card, and a fresh Arch Linux install (bear with me cuz I’m no Linux expert).

I’ve tried both PulseAudio and Pipewire without success.

I did try basic troubleshooting like unmuting channels, etc, but no sound. Meters on PulseAudio preferences (Gnome) jumps when I play audio.

The card is just identified as USB Audio.

@wendell did you try onboard audio with Arch? Any tips on how to make it work?

EDIT:

[ajmiranda@arch pulse]$ pacmd list-cards
2 card(s) available.
index: 0
name: <alsa_card.pci-0000_03_00.1>
driver: <module-alsa-card.c>
owner module: 6
properties:
alsa.card = “0”
alsa.card_name = “HDA ATI HDMI”
alsa.long_card_name = “HDA ATI HDMI at 0xf60a0000 irq 151”
alsa.driver_name = “snd_hda_intel”
device.bus_path = “pci-0000:03:00.1”
sysfs.path = “/devices/pci0000:00/0000:00:03.1/0000:01:00.0/0000:02:00.0/0000:03:00.1/sound/card0”
device.bus = “pci”
device.vendor.id = “1002”
device.vendor.name = “Advanced Micro Devices, Inc. [AMD/ATI]”
device.product.id = “ab38”
device.product.name = “Navi 10 HDMI Audio”
device.string = “0”
device.description = “Navi 10 HDMI Audio”
module-udev-detect.discovered = “1”
device.icon_name = “audio-card-pci”
profiles:
output:hdmi-stereo: Digital Stereo (HDMI) Output (priority 5900, available: no)
output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (priority 800, available: no)
output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (priority 800, available: no)
output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (priority 5700, available: no)
output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (priority 600, available: no)
output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (priority 600, available: no)
output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (priority 5700, available: no)
output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (priority 600, available: no)
output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (priority 600, available: no)
output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (priority 5700, available: no)
output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (priority 600, available: no)
output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (priority 600, available: no)
output:hdmi-stereo-extra4: Digital Stereo (HDMI 5) Output (priority 5700, available: unknown)
output:hdmi-stereo-extra5: Digital Stereo (HDMI 6) Output (priority 5700, available: no)
output:hdmi-surround-extra5: Digital Surround 5.1 (HDMI 6) Output (priority 600, available: no)
output:hdmi-surround71-extra5: Digital Surround 7.1 (HDMI 6) Output (priority 600, available: no)
off: Off (priority 0, available: unknown)
active profile: output:hdmi-stereo-extra4
sinks:
alsa_output.pci-0000_03_00.1.hdmi-stereo-extra4/#0: Navi 10 HDMI Audio Digital Stereo (HDMI 5)
sources:
alsa_output.pci-0000_03_00.1.hdmi-stereo-extra4.monitor/#0: Monitor of Navi 10 HDMI Audio Digital Stereo (HDMI 5)
ports:
hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: no)
properties:
device.icon_name = “video-display”
hdmi-output-1: HDMI / DisplayPort 2 (priority 5800, latency offset 0 usec, available: no)
properties:
device.icon_name = “video-display”
hdmi-output-2: HDMI / DisplayPort 3 (priority 5700, latency offset 0 usec, available: no)
properties:
device.icon_name = “video-display”
hdmi-output-3: HDMI / DisplayPort 4 (priority 5600, latency offset 0 usec, available: no)
properties:
device.icon_name = “video-display”
hdmi-output-4: HDMI / DisplayPort 5 (priority 5500, latency offset 0 usec, available: yes)
properties:
device.icon_name = “video-display”
device.product.name = “S2719DGF”
hdmi-output-5: HDMI / DisplayPort 6 (priority 5400, latency offset 0 usec, available: no)
properties:
device.icon_name = “video-display”
index: 1
name: <alsa_card.usb-Generic_USB_Audio-00>
driver: <module-alsa-card.c>
owner module: 7
properties:
alsa.card = “1”
alsa.card_name = “USB Audio”
alsa.long_card_name = “Generic USB Audio at usb-0000:2a:00.3-6, high speed”
alsa.driver_name = “snd_usb_audio”
device.bus_path = “pci-0000:2a:00.3-usb-0:6:1.0”
sysfs.path = “/devices/pci0000:20/0000:20:01.1/0000:21:00.0/0000:22:08.0/0000:2a:00.3/usb5/5-6/5-6:1.0/sound/card1”
udev.id = “usb-Generic_USB_Audio-00”
device.bus = “usb”
device.vendor.id = “0b05”
device.vendor.name = “ASUSTek Computer, Inc.”
device.product.id = “1984”
device.product.name = “USB Audio”
device.serial = “Generic_USB_Audio”
device.string = “1”
device.description = “USB Audio”
module-udev-detect.discovered = “1”
device.icon_name = “audio-card-usb”
profiles:
input:analog-stereo: Analog Stereo Input (priority 65, available: unknown)
input:iec958-stereo: Digital Stereo (IEC958) Input (priority 55, available: unknown)
output:analog-stereo: Analog Stereo Output (priority 6500, available: unknown)
output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (priority 6565, available: unknown)
output:analog-stereo+input:iec958-stereo: Analog Stereo Output + Digital Stereo (IEC958) Input (priority 6555, available: unknown)
output:analog-surround-21: Analog Surround 2.1 Output (priority 1300, available: no)
output:analog-surround-21+input:analog-stereo: Analog Surround 2.1 Output + Analog Stereo Input (priority 1365, available: no)
output:analog-surround-21+input:iec958-stereo: Analog Surround 2.1 Output + Digital Stereo (IEC958) Input (priority 1355, available: no)
output:analog-surround-40: Analog Surround 4.0 Output (priority 1200, available: no)
output:analog-surround-40+input:analog-stereo: Analog Surround 4.0 Output + Analog Stereo Input (priority 1265, available: no)
output:analog-surround-40+input:iec958-stereo: Analog Surround 4.0 Output + Digital Stereo (IEC958) Input (priority 1255, available: no)
output:analog-surround-41: Analog Surround 4.1 Output (priority 1300, available: no)
output:analog-surround-41+input:analog-stereo: Analog Surround 4.1 Output + Analog Stereo Input (priority 1365, available: no)
output:analog-surround-41+input:iec958-stereo: Analog Surround 4.1 Output + Digital Stereo (IEC958) Input (priority 1355, available: no)
output:analog-surround-50: Analog Surround 5.0 Output (priority 1200, available: no)
output:analog-surround-50+input:analog-stereo: Analog Surround 5.0 Output + Analog Stereo Input (priority 1265, available: no)
output:analog-surround-50+input:iec958-stereo: Analog Surround 5.0 Output + Digital Stereo (IEC958) Input (priority 1255, available: no)
output:analog-surround-51: Analog Surround 5.1 Output (priority 1300, available: no)
output:analog-surround-51+input:analog-stereo: Analog Surround 5.1 Output + Analog Stereo Input (priority 1365, available: no)
output:analog-surround-51+input:iec958-stereo: Analog Surround 5.1 Output + Digital Stereo (IEC958) Input (priority 1355, available: no)
output:analog-surround-71: Analog Surround 7.1 Output (priority 1200, available: no)
output:analog-surround-71+input:analog-stereo: Analog Surround 7.1 Output + Analog Stereo Input (priority 1265, available: no)
output:analog-surround-71+input:iec958-stereo: Analog Surround 7.1 Output + Digital Stereo (IEC958) Input (priority 1255, available: no)
output:iec958-stereo: Digital Stereo (IEC958) Output (priority 5500, available: unknown)
output:iec958-stereo+input:analog-stereo: Digital Stereo (IEC958) Output + Analog Stereo Input (priority 5565, available: unknown)
output:iec958-stereo+input:iec958-stereo: Digital Stereo Duplex (IEC958) (priority 5555, available: unknown)
off: Off (priority 0, available: unknown)
active profile: output:analog-stereo+input:iec958-stereo
sinks:
alsa_output.usb-Generic_USB_Audio-00.analog-stereo/#1: USB Audio Analog Stereo
sources:
alsa_output.usb-Generic_USB_Audio-00.analog-stereo.monitor/#1: Monitor of USB Audio Analog Stereo
alsa_input.usb-Generic_USB_Audio-00.iec958-stereo/#2: USB Audio Digital Stereo (IEC958)
ports:
analog-input-mic: Microphone (priority 8700, latency offset 0 usec, available: yes)
properties:
device.icon_name = “audio-input-microphone”
analog-input-linein: Line In (priority 8100, latency offset 0 usec, available: no)
properties:

	iec958-stereo-input: Digital Input (S/PDIF) (priority 0, latency offset 0 usec, available: unknown)
		properties:
			
	analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: no)
		properties:
			device.icon_name = "audio-speakers"
	analog-output-headphones: Headphones (priority 9900, latency offset 0 usec, available: yes)
		properties:
			device.icon_name = "audio-headphones"
	iec958-stereo-output: Digital Output (S/PDIF) (priority 0, latency offset 0 usec, available: unknown)
		properties: