Sorry for the long post
There’s been a lot of discussion about Behringer UMC204HD on the forum lately. Some people are getting very low latencies with it. I already own Behringer UMC1820 and I’ve been very happy with it, so I thought “what the heck, I can’t have too many Linux compatible audio devices can’t I” and ordered both UMC204HD and UMC404HD
I’ve had these devices just for one day so I don’t have much experience with these yet. Here are the first impressions.
The devices are smaller versions of the UMC1820 and they feel and look like it and the performance characteristics are probably about the same. You can get techical details of the devices for example from Thomann:
UMC204HD does not have a power supply, it gets its power from USB. UMC404 is powered by a separate power supply. Neither device has a power button, so they turn on when you plug power to them.
One “flaw” that I noticed was that when UMC204HD was connected and I rebooted the computer the device “disappeared” from Linux. Unplugging and plugging the USB cable returned the device to normal operation. This is probably some kind of a bug in the firmware of the device.
Behringer UMC204HD and UMC404HD are both capable of a very low latency. Both devices were able to go down to 64 buffer size and 3 periods without xruns (tested for about 1 hour). 64 buffer and 2 periods worked sometimes flawlessly and sometimes threw xruns. The test was done playing piano on fluidsynth. The DSP load varied between 25% - 30% when using buffer: 64 periods: 3, However after playing for a while the load sometimes dropped down to 5% - 10% and stayed there. I saw this behavior many times (but not always) and it probably indicates something is be wrong with the RT-kernel I used (or my system). The a-Fluidsynth “CPU Profile” showed the same load regardless if Ardour DSP load was 30% or 5%. I’ve seen other people having problems getting 204HD to work without xruns with 64 buffer, 3 periods so I guess the motherboard plays a role here.
The test was done with
Motherboard: Asus_ROG_STRIX_X399-E_GAMING_TR4
Processor: AMD Threadripper 2950X
Manjaro with realtime kernel: 5.4.61-rt37-MANJARO, Performance - governor turned on.
Ardour 6.3
Backend: Alsa
Sample rate 44.1 kHz, Buffer: 64, Periods: 3
One midi track with a-Fluidsynth loaded with “soundfont-fluid”. I played live with a midi keyboard connected to sound card Midi In.
Behringer UMC204HD Supported sample rates and bit depths
cat /proc/asound/U192k/stream0
BEHRINGER UMC204HD 192k at usb-0000:41:00.3-1, high speed : USB Audio
Playback:
Status: Stop
Interface 1
Altset 1
Format: S32_LE
Channels: 4
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Interface 1
Altset 2
Format: S16_LE
Channels: 4
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 16
Capture:
Status: Stop
Interface 2
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 2 IN (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
cat /proc/asound/U192k/midi0
UMC204HD 192k
Output 0
Tx bytes : 0
Input 0
Rx bytes : 0
Jack_iodelay latency measured 11 times, buffer = 1024, periods 3
(322+329+324+324+332+332+326+329+329+329+326) / 11 = 327.4545454545
Behringer UMC404HD Supported sample rates and bit depths
cat /proc/asound/U192k/stream0
BEHRINGER UMC404HD 192k at usb-0000:41:00.3-1, high speed : USB Audio
Playback:
Status: Stop
Interface 1
Altset 1
Format: S32_LE
Channels: 4
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Interface 1
Altset 2
Format: S16_LE
Channels: 4
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 16
Capture:
Status: Stop
Interface 2
Altset 1
Format: S32_LE
Channels: 4
Endpoint: 2 IN (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
cat /proc/asound/U192k/midi0
UMC404HD 192k
Output 0
Tx bytes : 0
Input 0
Rx bytes : 17838
Jack_iodelay latency measured 11 times, buffer = 1024, periods 3
(312+299+301+301+308+305+296+316+307+301+312) / 11 = 305.2727272727