Audio Interfaces Under Linux

I was pleasantly surprised to find my Zoom R24 actually works, both as an interface and a MCP surface. I’m still tweaking my latency and MCP profiles to do useful stuff with the buttons, but it seems to work.

solarbird: I bought the PEX 250019 card and did some tests. I was not quite able to replicate your findings, but it may be because differences in our hardware. My only desktop computer with PCIe slots is a old high end pc and because of this the chipset and it’s USB might be better than in cheaper pcs. I found the motherboard USB latency performance be nearly (but not quite) as good as the PEX250019 USB card. If your motherboard USB is crappy, then the PEX 250019 might be a good choise.

Hardware and software:

  • HP xw8600 Workstation
  • Bios Version: 1.32
  • 2x Intel 4 Core Xeon X5450 3.00GHz processors, totaling in 8 cores.
  • 12 GB Ram
  • CPU Frequency Governor = Performance
  • Nvidia Geforce GTX 960, driver: Nvidia 361.42
  • Display 1920 x 1080 HDTV HDMI
  • Motherboard USB: Intel 631xESB/632xESB/3100 Chipset EHCI USB2 Controller
  • USB Add-on Card: PEX 250019 OHCI Usb Card with Nec chipset
  • Ardour 5.4
  • Kubuntu 16.04 + KXStudio repos
  • Sessions saved to an internal Sata SSD disk (mount options: noatime, nodiratime)
  • Recording 10 minutes of 8 channels, 48 kHz, 16 bit, wav (4 GB limit), Recording starts automatically using Punch In and Out. Jack / Alsa Buffers set to 2.
  • Alsa 1.0.25
  • Jack 2.1.9.11-20160620-5
  • The latencies below are reported by Cadence and Ardour. These numbers are about half of what QjackCTRL reports with the same Jack settings.

lspci -v

00:1d.0 USB controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (rev 09) (prog-if 00 [UHCI])
Subsystem: Hewlett-Packard Company 631xESB/632xESB/3100 Chipset UHCI USB Controller
Flags: bus master, medium devsel, latency 0, IRQ 16
I/O ports at 2000 [size=32]
Kernel driver in use: uhci_hcd

00:1d.1 USB controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (rev 09) (prog-if 00 [UHCI])
Subsystem: Hewlett-Packard Company 631xESB/632xESB/3100 Chipset UHCI USB Controller
Flags: bus master, medium devsel, latency 0, IRQ 19
I/O ports at 2020 [size=32]
Kernel driver in use: uhci_hcd

00:1d.2 USB controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (rev 09) (prog-if 00 [UHCI])
Subsystem: Hewlett-Packard Company 631xESB/632xESB/3100 Chipset UHCI USB Controller
Flags: bus master, medium devsel, latency 0, IRQ 18
I/O ports at 2040 [size=32]
Kernel driver in use: uhci_hcd

00:1d.3 USB controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (rev 09) (prog-if 00 [UHCI])
Subsystem: Hewlett-Packard Company 631xESB/632xESB/3100 Chipset UHCI USB Controller
Flags: bus master, medium devsel, latency 0, IRQ 22
I/O ports at 2060 [size=32]
Kernel driver in use: uhci_hcd

00:1d.7 USB controller: Intel Corporation 631xESB/632xESB/3100 Chipset EHCI USB2 Controller (rev 09) (prog-if 20 [EHCI])
Subsystem: Hewlett-Packard Company 631xESB/632xESB/3100 Chipset EHCI USB2 Controller
Flags: bus master, medium devsel, latency 0, IRQ 16
Memory at d3404000 (32-bit, non-prefetchable) [size=1K]
Capabilities: [50] Power Management version 2
Capabilities: [58] Debug port: BAR=1 offset=00a0
Kernel driver in use: ehci-pci

a1:00.0 USB controller: NEC Corporation OHCI USB Controller (rev 43) (prog-if 10 [OHCI])
Subsystem: NEC Corporation USB Controller
Flags: bus master, medium devsel, latency 32, IRQ 24
Memory at d3500000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 2
Kernel driver in use: ohci-pci

a1:00.1 USB controller: NEC Corporation OHCI USB Controller (rev 43) (prog-if 10 [OHCI])
Subsystem: NEC Corporation USB Controller
Flags: bus master, medium devsel, latency 32, IRQ 32
Memory at d3501000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 2
Kernel driver in use: ohci-pci

a1:00.2 USB controller: NEC Corporation uPD72010x USB 2.0 Controller (rev 04) (prog-if 20 [EHCI])
Subsystem: NEC Corporation uPD72010x USB 2.0 Controller
Flags: bus master, medium devsel, latency 32, IRQ 31
Memory at d3502000 (32-bit, non-prefetchable) [size=256]
Capabilities: [40] Power Management version 2
Kernel driver in use: ehci-pci

Presonus 1818VSL Sound Card:

Test 1: Jack, PEX 250019 OHCI Usb Card:

  • Buffer 128, Block Latency 2.7. DSP = 5.0 - 5.7 %. Xruns: 0
  • Buffer 64, Block Latency 1.3. DSP = 9.8 - 10.4 %. Xruns: 0
  • Buffer 32, Block Latency 0.7. DSP = 19.8 - 21 %. Xruns: 66

Test 2: Jack , Intel 631xESB/632xESB/3100 Chipset EHCI USB2 Controller:

  • Buffer 128, Block Latency 2.7. DSP = 4.9 - 5.7 %. Xruns: 0
  • Buffer 64, Block Latency 1.3. DSP = 9.0 - 10.7 %. Xruns: 0
  • Buffer 32, Block Latency 0.7. DSP = 16.9 - 19.1 %. Xruns: 37

Test 3: Alsa, PEX 250019 OHCI Usb Card:

  • Buffer 128, Block Latency 2.7. DSP = 8.1 - 14.1 %. Xruns: 0, Ardour froze and crashed after 7 minutes of recording. After a reboot on second try Ardour crashed after about 50 seconds of recording when KDE popped up a notification window. The Ardour error message was: The audio backend was shut down because: Alsa I/O Error.
  • I did not test with lower buffers sizes because the first test did not succeed.

Test 4: Alsa , Intel 631xESB/632xESB/3100 Chipset EHCI USB2 Controller:

  • Buffer 128, Block Latency 2.7. DSP = 9.6 - 13.8 %. Xruns: 1
  • Buffer 64, Block Latency 1.3. DSP = 12.7 - 20.7 %. Xruns: 4
  • Buffer 32, Block Latency 0.7. DSP = 20.7 - 74.2 %. Xruns: 17, Alsa crashed after 5 min recording with Ardour message: The audio backend was shut down because: Alsa I/O Error.

I then repeated the tests with only Jack and two more sound cards: Behringer UMC1820 and Alesis IO4. The IO4 has only 4 input channels so I duplicated these to Ardour tracks 1 - 4 and 5 - 8 to get the same amount of disk traffic as with the 8 channel cards.

Behringer UMC1820 Sound Card:

Test 5: Jack, PEX 250019 OHCI Usb Card

  • Buffer 128, Block Latency 2.7. DSP = 4.8 - 5.9 %. Xruns: 0
  • Buffer 64, Block Latency 1.3. DSP = 9.0 - 10.7 %. Xruns: 0
  • Buffer 32, Block Latency 0.7. DSP = 16.8 - 18.5 %. Xruns: 3

Test 6: Jack , Intel 631xESB/632xESB/3100 Chipset EHCI USB2 Controller

  • Buffer 128, Block Latency 2.7. DSP = 5.0 - 5.5 %. Xruns: 0
  • Buffer 64, Block Latency 1.3. DSP = 9.0 - 10.1 %. Xruns: 11

Alesis IO4 Sound Card:

Test 7: Jack, PEX 250019 OHCI Usb Card

  • Buffer 128, Block Latency 2.7. DSP = 4.9 - 5.4 %. Xruns: 0. These are the results of the second run, the first run resulted in Ardour crashing just when 10 minutes of recording time was reached.
  • Buffer 64, Block Latency 1.3. DSP = 8.1 - 9.9 %. Xruns: 1. These are the results of the second run, the first run resulted in Ardour crashing in 7 minutes.
  • Buffer 32, Block Latency 0.7. Jack fails to start.

Test 8: Jack , Intel 631xESB/632xESB/3100 Chipset EHCI USB2 Controller

  • Buffer 128, Block Latency 2.7. DSP = 4.3 - 4.9 %. Xruns: 0
  • Buffer 64, Block Latency 1.3. Constant flow of about 30 Xruns per second.

I was surprised to see that on this system the Alsa backend did not perform well and was quite crashy.

The other result is that the cheap UMC1820 performed quite similarily than the (at the time of buying) quite expensive Presonus 1818VSL. However the price of the card seemed to correlate directly to latency performance. The cheapest was the worst (IO4) and the most expensive one was the best (Presonus 1818VSL).

I was also surprised to see Ardour crashing, there is something in this system that makes Ardour more unstable compared to my laptop Gentoo system. On the Gentoo system Ardour almost never crashes anymore. It can also be caused by the combination of: sound card chipset, USB controller chipset, Alsa version, OS and kernel configuration.

I did not try to repeat the tests, so these results are not very reliable. I should have repeated each test say 5 times, but it would have taken too many hours to do so. In my experience there is also some randomness in Xrun occurences, often many happen in a short period of time and then there is no Xruns for many minutes. There is no way of sorting out the randomness now because I did not repeat the tests.

I’m not a fan of trying to run the system on as low latency as it goes, because it makes recording / playback unreliable. You get the best performing and most reliable system by bying a card that has analog zero latency monitoring and using big buffer sizes. In this way you get rid of all latency and also get the most stable system.

The only use case for low latency in my opinion is playing soft synths with a midi keyboard. Then there is no way getting around the inherent latency of computer audio.

One more piece of information I forgot to add, the test pc ran Kernel 4.4.0-43-lowlatency 64 bit .

Since the Behringer UFX1604 was mentioned here, I want to share my experience: it sort of works on Linux.
In principle, this is a great piece of multi-function hardware, as it can run as a fully-featured live mixer, stand-alone harddisk recorder, 16in / 4out USB interface, and 16 in / 4 out firewire interface. I’ve tested it extensively via USB, Firewire, and even, following @Solarbird’s suggestion, via a Syba SD-PEX20019 USB interface and under a couple different flavors of Linux, including Ubuntu Studio 17.10.

Here’s the thing: there are random pops during playback and recording. The pops are less frequent at 44khz than 96khz, and less frequent with huge buffer sizes (e.g. 128 ms), but I could never get them to go away. The situation seemed about the same via USB or firewire, but Jack would only start some of the time using the firewire connection. Other than the pops, it was pretty stable by USB.

In the end I’m guessing the driver is the problem. But I’d be happy to hear from any users out there who have had better experience with the UFX 1604 or UFX 1204. From what I could find, there hasn’t been activity on the driver development for a couple of years.

@7infinity Are using a USB 2 port ? Not all devices work correctly in a USB 3 port. You could try disabling USB 3 on your bios / efi.

@mhartzel, I tried it on both USB 3.0 and USB 2.0 ports, including a dedicated USB 2.0 controller card (the Syba). I may have disabled USB 3.0 in the bios at some point during troubleshooting, but I’m but I’m not entirely sure. I think I’m done testing this board unless someone else tells me it worked for them.

Most class compliant interfaces do work, but there can be strange effects. E.g., the Allen & Heath Qu16 digital console does work, but Open Broadcast Studio behaves funny with it, sometimes it just does not include the audio in the video stream. However, it seems to work flawlessly in Ardour. Some Tascam 4ch interface used to work perfectly, so does the old Alesis IO2, I will check out the Lexicon Alpha Studio soon.

ADAT clock sync works well for my old RME Digi (PCI), however kmix mixes it up – since it is a “mixer setting”, it sometimes gets lost when the mixer restores its settings after login. (Side note: The RME Digi only works up to Win7 32bit. So Linux and Ardour save me a lot of money here… the Digi is still good unless you really need 96k, which would limit it from 16 to 8 ch, or 24 to 12 resp.)

In general, I think: Ardour should recommend a few interfaces that work rock solid and for the others direct to some information source that knows about the details.

Things change rapidly sometimes, which might be due to USB Quirks added with distro/kernel updates.

1 Like

May I suggest Motu Ultralite AVB ?

USB Class compliant and also AVB streaming.
One of the good thing is the built in web server engine for controlling hardware routing, built in 48ch mixer with eq, compression and busses…

I have two and like them alot. Used to run Presonus Firepods, Focusrite Pro40, Pro24dsp and stuff.

@ahellquist Have you had the Ultralite AVB work on USB 3 ports? Fernando reported some issues with USB 3 here: http://linux-audio.4202.n7.nabble.com/Motu-1248-Full-success-td103577i20.html

The Ultralite looks excellent if it is stable…

@CTS: Ultralite AVB is stable and never had any issues related to the interface when on Linux + Ardour. Used it at a wedding I came out in with a digital dj mixer from my tablet and a couple mics. No issues at all for close to 4 hrs straight. The only issues I had were network related but that resolved rather quickly.

I had recently the opportunity to test a bunch of simple USB - audio devices with Linux. We needed at work a USB audio device with at least 1 Mic input, headphone output, zero latency audio routing from Mic to headphone output, driverless operation in windows 10 (using microsofts USB 2 Audio Class driver usbaudio2.sys that was released with windows 10 creators update (build 1709)). Unfortunately the windows USB 2 Class driver turned out to be a disappointment, none of the about ten USB Audio Class Compliant devices we tested worked with it. The reason for this is that microsoft says it has not yet implemented all Class Specification features in their USB 2 driver yet. The only devices that worked with a microsoft provided USB Audio Class driver were devices that were compatible with USB 1 Audio Class and it’s driver (usbaudio.sys) that was released in vista. Fortunately Linux USB Audio Class drivers seems to have been feature complete for many years now and these devices do work much better in Linux than in win10 with the microsoft class driver.

I tested all these Class Compliant audio devices with Manjaro Linux which has a recent kernel. I will post my findings here, one post per device. Sorry for the spam :slight_smile:

One more thing: I have previously said on this forum that some usb audio devices do not work on USB 3 ports and that a realtime kernel crashes a lot. Both of these seems to be a thing of the past now and recent kernels fix these. Manjaro’s realtime kernel works flawlessly (used it for days for audio recording / mixing and playing games in Steam) if you just remove VirtualBox’s “linux-rt-lts-manjaro-virtualbox-guest-modules”. Having this package installed made my computer fail to boot with the realtime kernel. I did the tests with my Asus ROG G75VW that had problems with USB 3 connected USB audio devices and hard disks about one year ago, now it worked flawlessly. I did change between USB 3 and USB 2 on this laptop by disabling / enabling xHCI controller in the EFI.

Test recording were quite short, about 1 minute in USB 2 mode and 5 minutes in USB 3 mode. Many of these devices are compatible with iPad’s also because they are USB Class Compliant.

Native Instruments Komplete Audio 6

6 x in, 6 out interface. Input volume adjustment is possible only on inputs 1 + 2.

Works in Linux with both a USB 2 and a USB 3 port (tested with Kernel 4.9.68-1-rt60-MANJARO) and Jack 0.125.0-3 (Manjaro package) with Sample Rate: 48000, Frames / Period: 1024, Periods / Buffer: 3.

The monitor knob is the “Zero Latency Monitoring feature” and affects what one hears from the headphones. It lets you mix Mic inputs 1 + 2 or line inputs 3 + 4 to the audio coming from the computer. Selection is done with a long press of the “On” knob in the monitor section. It cycles between 3 states: 1 + 2 / 3 + 4/ 1 + 2 + 3 + 4. There is a knob on the headphone section that lets you choose between outputs 1 + 2 or 3 + 4.

SPDIF In tested and it works. The device can be synced to incoming SPDIF signal with alsamixer. Go on top of the Audio Output that has text “Internal Clock” on top of it and change the state with cursor up / down keys on the keyboard.

I did not test midi on this device.

I had been thinking about buying this interface for my home audio work, but got a 18 input 20 output Behringer instead. Now that I got my hands on this Native Instruments device I’m beginning to wonder if I should buy it anyway. It’s a solid well built device with good features.

This device is USB 2 Audio Class Compliant and does not work in win10 without a proprietary driver.


cat /proc/asound/K6/stream0
Native Instruments Komplete Audio 6 at usb-0000:00:14.0-3, high speed : USB Audio

Playback:
Status: Stop
Interface 1
Altset 1
Format: S32_LE
Channels: 6
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000
Data packet interval: 125 us

Capture:
Status: Stop
Interface 2
Altset 1
Format: S32_LE
Channels: 6
Endpoint: 2 IN (ASYNC)
Rates: 44100, 48000, 88200, 96000
Data packet interval: 125 us


cat /proc/asound/K6/usbmixer

USB Mixer: usb_id=0x17cc1001, ctrlif=0, ctlerr=0
Card: Native Instruments Komplete Audio 6 at usb-0000:00:14.0-3, high speed
Unit: 12
Control: name=“Monitor Control Playback Switch”, index=1
Info: id=12, control=1, cmask=0x0, channels=1, type=“INV_BOOLEAN”
Volume: min=0, max=1, dBmin=0, dBmax=0
Unit: 12
Control: name=“Monitor Control Playback Switch”, index=0
Info: id=12, control=1, cmask=0xf, channels=4, type=“INV_BOOLEAN”
Volume: min=0, max=1, dBmin=0, dBmax=0
Unit: 13
Control: name=“Audio Input Terminal Volume”, index=2
Info: id=13, control=12, cmask=0x9, channels=2, type=“S16”
Volume: min=0, max=1, dBmin=0, dBmax=0
Unit: 13
Control: name=“Audio Input Terminal Volume”, index=1
Info: id=13, control=11, cmask=0x3, channels=2, type=“S16”
Volume: min=0, max=1, dBmin=0, dBmax=0
Unit: 13
Control: name=“Audio Input Terminal Volume”, index=0
Info: id=13, control=8, cmask=0x20, channels=1, type=“S16”
Volume: min=0, max=1, dBmin=0, dBmax=0
Unit: 40
Control: name=“Internal Clock Validity”, index=0
Info: id=40, control=2, cmask=0x0, channels=1, type=“BOOLEAN”
Volume: min=0, max=1, dBmin=0, dBmax=0
Unit: 41
Control: name=“External Clock (S/PDIF) Validity”, index=0
Info: id=41, control=2, cmask=0x0, channels=1, type=“BOOLEAN”
Volume: min=0, max=1, dBmin=0, dBmax=0
Unit: 42
Control: name=“Audio Output Terminal Clock Source”, index=0
Info: id=42, control=1, cmask=0x0, channels=1, type=“U8”
Volume: min=1, max=2, dBmin=0, dBmax=0


cat /proc/asound/K6/midi0
Komplete Audio 6

Output 0
Tx bytes : 0
Owner PID : 7281
Mode : native
Buffer size : 4096
Avail : 4096
Input 0
Rx bytes : 0
Owner PID : 7281
Buffer size : 4096
Avail : 0
Overruns : 0

Soundcraft Notepad-5

Works in Linux with both a USB 2 and a USB 3 port (tested with Kernel 4.9.65-1-MANJARO) and Jack 0.125.0-3 (Manjaro package) with Sample Rate: 48000, Frames / Period: 1024, Periods / Buffer: 3.

The device has 1 mic channel and phantom power is always on, it can not be turned off. Not USB - powered, needs an external power supply. Hardware zero latency monitoring works. Adjustable High pass and Low pass filter

The Master stereo output of the mixer is routed to USB channels 1 + 2 and there are two return channels that the mixer routes to the headphones and the Master output.

I did not have the opportunity to connect anything to the Master XLR - outs, but I saw that master volume led display was showing a signal for both the mixer inputs and USB playback.

This device is USB 2 Audio Class Compliant and does not work in win10 without a proprietary driver.


cat /proc/asound/Notepad5/stream0
Soundcraft Notepad-5 at usb-0000:00:1d.0-1.2, high speed : USB Audio

Playback:
Status: Running
Interface = 1
Altset = 1
Packet Size = 56
Momentary freq = 47999 Hz (0x5.fff8)
Feedback Format = 16.16
Interface 1
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000
Data packet interval: 125 us
Interface 1
Altset 2
Format: S16_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000
Data packet interval: 125 us

Capture:
Status: Running
Interface = 2
Altset = 1
Packet Size = 56
Momentary freq = 48000 Hz (0x6.0000)
Interface 2
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 2 IN (ASYNC)
Rates: 44100, 48000
Data packet interval: 125 us

Glensound Mini Cub

Works in Linux with both a USB 2 and a USB 3 port (tested with Kernel 4.9.65-1-MANJARO) and Jack 0.125.0-3 (Manjaro package) with Sample Rate: 48000, Frames / Period: 1024, Periods / Buffer: 3. Did not work at first, had constant xruns, but after connecting the device to other USB 2 ports and back, it suddenly started to work in any USB 2 port.

1 physical channel in and out. Recording appears on 2 USB channels and playback also on 2 USB channels. USB - powered. Hardware zero latency monitoring works. Blindlingly bright blue led on the front panel.

This device is USB 1 Audio Class Compliant and does work in win10 without a proprietary driver (using microsofts usbaudio.sys).


cat /proc/asound/MIC/stream0
STMicroelectronics STM32 Audio Class SPKR & MIC at usb-0000:00:1d.0-1.1, full s : USB Audio

Playback:
Status: Running
Interface = 1
Altset = 1
Packet Size = 294
Momentary freq = 48000 Hz (0x30.0000)
Feedback Format = 10.14
Interface 1
Altset 1
Format: S24_3LE
Channels: 2
Endpoint: 2 OUT (ASYNC)
Rates: 48000

Capture:
Status: Running
Interface = 2
Altset = 1
Packet Size = 294
Momentary freq = 48000 Hz (0x30.0000)
Interface 2
Altset 1
Format: S24_3LE
Channels: 2
Endpoint: 1 IN (ASYNC)
Rates: 48000

Steinberg UR22 MK2

Works in Linux with both a USB 2 and a USB 3 port (tested with Kernel 4.9.68-1-rt60-MANJARO) and Jack 0.125.0-3 (Manjaro package) with Sample Rate: 48000, Frames / Period: 1024, Periods / Buffer: 3.

Zero Latency monitoring is implemented with a “Mix” knob that lets one adjust the mix between audio from Mic Ins and Computer output.

No level meter, only a peak led on Mic Inputs that lights up when overloading the input.

Feels like a well built device.

I did not test midi with this device.

This device is USB 2 Audio Class Compliant and does not work in win10 without a proprietary driver.


cat /proc/asound/UR22mkII/stream0
Yamaha Corporation Steinberg UR22mkII at usb-0000:00:14.0-3.1, high speed : USB Audio

Playback:
Status: Running
Interface = 1
Altset = 1
Packet Size = 64
Momentary freq = 47997 Hz (0x5.ffe8)
Feedback Format = 16.16
Interface 1
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 3 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us

Capture:
Status: Running
Interface = 2
Altset = 1
Packet Size = 64
Momentary freq = 48000 Hz (0x6.0000)
Interface 2
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 1 IN (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us


cat /proc/asound/UR22mkII/usbmixer
USB Mixer: usb_id=0x0499170f, ctrlif=0, ctlerr=0
Card: Yamaha Corporation Steinberg UR22mkII at usb-0000:00:14.0-3.1, high speed
Unit: 41
Control: name=“Clock Source 41 Validity”, index=0
Info: id=41, control=2, cmask=0x0, channels=1, type=“BOOLEAN”
Volume: min=0, max=1, dBmin=0, dBmax=0


cat /proc/asound/UR22mkII/midi0
Steinberg UR22mkII

Output 0
Tx bytes : 0
Owner PID : 5937
Mode : native
Buffer size : 4096
Avail : 4096

Input 0
Rx bytes : 0
Owner PID : 5937
Buffer size : 4096
Avail : 0
Overruns : 0

Yamaha AG03

Works in Linux with both a USB 2 and a USB 3 port (tested with Kernel 4.9.68-1-rt60-MANJARO) and Jack 0.125.0-3 (Manjaro package) with Sample Rate: 48000, Frames / Period: 1024, Periods / Buffer: 3.

This is a 2 channels to and from computer device and I expected it to be cheesy and feel cheap. It is made of plastic and metal and the knobs do feel a bit cheap but in my opinion they are alright for a device this cheap. I was amazed how many features can be squeezed in small device like this. If you never need any more than 2 channels to be recorded at a time then this device gives the most bang for the buck.

The device is a mixer and it lets one have many devices connected to it at once and it mixes these to a two channel mix that can be recorded on the computer. The Mic Input has lots and lots of gain, much more than any of the other 10 devices I tested. Volume from inputs 2 + 3 can be adjusted. Aux input is meant for a stereo device like a phone / tablet and its volume is not adjustable. There are two fixed non adjustable “effects”: comp + eq that felt quiet unusable and echo (called “Effect” on the mixer) that is an ok vocal reverb. The wet level is not adjustable and is a bit too wet for my taste.

There is a guitar input that if used replaces inputs 2 + 3. There is a three stage switch that lets you select what is sent to the computer:

  • “Dry CH 1-2G” = Only Mic and Guitar channels are sent to the computer.
  • “Input Mix” = what you can hear is sent to the computer.
  • “Loopback” = same as “Input Mix” and also the sound coming from the computer is add to the mix.

There are connectors for a headset with 3.5 mm microphone and headphone connectors. I did not test this since I don’t have any device like this.

Zero Latency Monitoring is implemented like this:

  • The Mic fader controls the amount of Mic input signal heard on the headphones and recorded.
  • The Guitar / Keyboard knob controls the amount of input 2 + 3 signal heard on the headphones and recorded.
  • The “Computer / USB” knob controls how much sound coming from the computer is heard on headphones and if the Loopback switch is on also how much of the signal is recorded.

This device is USB 2 Audio Class Compliant and does not work in win10 without a proprietary driver.


cat /proc/asound/AG06AG03/stream0
Yamaha Corporation AG06/AG03 at usb-0000:00:1d.0-1.3.1, high speed : USB Audio

Playback:
Status: Running
Interface = 1
Altset = 1
Packet Size = 64
Momentary freq = 48000 Hz (0x5.fffc)
Feedback Format = 16.16
Interface 1
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us

Capture:
Status: Running
Interface = 2
Altset = 1
Packet Size = 64
Momentary freq = 48000 Hz (0x6.0000)
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


cat /proc/asound/AG06AG03/usbmixer
USB Mixer: usb_id=0x0499170d, ctrlif=0, ctlerr=0
Card: Yamaha Corporation AG06/AG03 at usb-0000:00:1d.0-1.3.1, high speed
Unit: 41
Control: name=“Clock Source 41 Validity”, index=0
Info: id=41, control=2, cmask=0x0, channels=1, type=“BOOLEAN”
Volume: min=0, max=1, dBmin=0, dBmax=0

Focusrite Scarlett 2i2 2nd Gen

Works in Linux with both a USB 2 and a USB 3 port (tested with Kernel 4.9.68-1-rt60-MANJARO) and Jack 0.125.0-3 (Manjaro package) with Sample Rate: 48000, Frames / Period: 1024, Periods / Buffer: 3.

The Zero Latency Monitoring is not adjustable and can only be turned on or off. If you want to have less Mic in the headphones the only way to do this is to use the Mic knob which also affect the recorded volume.

Level meter is implemented as a led lighted ring around the gain knob. The ring is green when there if signal present and red when overloading the input.

This device is USB 2 Audio Class Compliant and does not work in win10 without a proprietary driver.


cat /proc/asound/USB/stream0
Focusrite Scarlett 2i2 USB at usb-0000:00:14.0-3, high speed : USB Audio

Playback:
Status: Running
Interface = 1
Altset = 1
Packet Size = 64
Momentary freq = 48000 Hz (0x6.0000)
Interface 1
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 1 OUT (SYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us

Capture:
Status: Running
Interface = 2
Altset = 1
Packet Size = 64
Momentary freq = 48000 Hz (0x6.0000)
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


cat /proc/asound/USB/usbmixer
USB Mixer: usb_id=0x12358202, ctrlif=0, ctlerr=0
Card: Focusrite Scarlett 2i2 USB at usb-0000:00:14.0-3, high speed
Unit: 41
Control: name=“USB Internal Validity”, index=0
Info: id=41, control=2, cmask=0x0, channels=1, type=“BOOLEAN”
Volume: min=0, max=1, dBmin=0, dBmax=0

Focusrite iTrack Solo

Works in Linux with both a USB 2 and a USB 3 port (tested with Kernel 4.9.68-1-rt60-MANJARO) and Jack 0.125.0-3 (Manjaro package) with Sample Rate: 48000, Frames / Period: 1024, Periods / Buffer: 3.

The Zero Latency Monitoring is not adjustable and can only be turned on or off. If you want to have less Mic in the headphones the only way to do this is to use the Mic knob which also affects the recorded volume.

Level meter is implemented as a led lighted ring around the gain knob. The ring is green when there if signal present and red when overloading the input.

This device is USB 2 Audio Class Compliant and does not work in win10 without a proprietary driver.


cat /proc/asound/Solo/stream0
Focusrite iTrack Solo at usb-0000:00:1d.0-1.3, high speed : USB Audio

Playback:
Status: Running
Interface = 1
Altset = 1
Packet Size = 64
Momentary freq = 48000 Hz (0x6.0000)
Feedback Format = 16.16
Interface 1
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000
Data packet interval: 125 us

Capture:
Status: Running
Interface = 2
Altset = 1
Packet Size = 64
Momentary freq = 48000 Hz (0x6.0000)
Interface 2
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 2 IN (ASYNC)
Rates: 44100, 48000, 88200, 96000
Data packet interval: 125 us


cat /proc/asound/Solo/usbmixer
USB Mixer: usb_id=0x1235800e, ctrlif=0, ctlerr=0
Card: Focusrite iTrack Solo at usb-0000:00:1d.0-1.3, high speed
Unit: 41
Control: name=“Internal Validity”, index=0
Info: id=41, control=2, cmask=0x0, channels=1, type=“BOOLEAN”
Volume: min=0, max=1, dBmin=0, dBmax=0

Audient iD4

Works in Linux with both a USB 2 and a USB 3 port (tested with Kernel 4.9.68-1-rt60-MANJARO) and Jack 0.125.0-3 (Manjaro package) with Sample Rate: 48000, Frames / Period: 1024, Periods / Buffer: 3.

There is one Mic input and one DI - input for a instrument. The signal from these is heard on both left and right on the headphone output unless the inputs are panned. This can be done by holding down MUTE and ID and turning the VOLUME knob. This affects only the headphone output, Mic is always channel 1 and DI channel 2 on the computer.

Zero Latency monitoring is implemented with a “Mix” knob that lets one adjust the mix between audio from Mic Ins and Computer output.

Feels like a well built device.

There are 5 leds that shows the monitoring volume while the VOLUME knob is turned and otherwise shows the output level. This means that when the Mix knob is between INPUT and DAW then the led meters shows the combined level of the signal coming in from the inputs and the computer. That is a bit strange design decision in my opinion.

This device is USB 2 Audio Class Compliant and does not work in win10 without a proprietary driver.


cat /proc/asound/iD4/stream0
Audient iD4 at usb-0000:00:14.0-3, high speed : USB Audio

Playback:
Status: Running
Interface = 1
Altset = 1
Packet Size = 64
Momentary freq = 47999 Hz (0x5.fff8)
Feedback Format = 16.16
Interface 1
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000
Data packet interval: 125 us
Interface 1
Altset 2
Format: S16_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000
Data packet interval: 125 us

Capture:
Status: Running
Interface = 2
Altset = 1
Packet Size = 64
Momentary freq = 48000 Hz (0x6.0000)
Interface 2
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 2 IN (ASYNC)
Rates: 44100, 48000, 88200, 96000
Data packet interval: 125 us


cat /proc/asound/iD4/usbmixer
USB Mixer: usb_id=0x27080003, ctrlif=0, ctlerr=0
Card: Audient iD4 at usb-0000:00:14.0-3, high speed
Unit: 41
Control: name=“Audient Internal Clock Validity”, index=0
Info: id=41, control=2, cmask=0x0, channels=1, type=“BOOLEAN”
Volume: min=0, max=1, dBmin=0, dBmax=0

MOTU MicroBook IIc

MOTU says that this device is USB Class Compliant, but Zero Latency Monitoring is implemented using a DSP that requires proprietary drivers and software package “CueMix FX” (OS X 10.6.8 - 10.11, windows 7 - 10). That makes the device quite useless for our purpose. I did test recording 1 Mic with it (Kernel 4.9.68-1-rt60-MANJARO and Jack 0.125.0-3 (Manjaro package) with Sample Rate: 48000, Frames / Period: 1024, Periods / Buffer: 3). That resulted in more than 1000 xruns in 30 seconds, so the device does NOT work in Linux.


cat /proc/asound/IIc/stream0
MOTU MicroBook IIc at usb-0000:00:1d.0-1.3, high speed : USB Audio

Playback:
Status: Stop
Interface 1
Altset 1
Format: S24_3LE
Channels: 8
Endpoint: 3 OUT (SYNC)
Rates: 48000, 96000, 44100, 88200
Data packet interval: 125 us

Capture:
Status: Stop
Interface 2
Altset 1
Format: S24_3LE
Channels: 6
Endpoint: 4 IN (SYNC)
Rates: 48000, 96000, 44100, 88200
Data packet interval: 125 us


cat /proc/asound/IIc/usbmixer
USB Mixer: usb_id=0x07fd0004, ctrlif=0, ctlerr=0
Card: MOTU MicroBook IIc at usb-0000:00:1d.0-1.3, high speed
Unit: 1
Control: name=“USB Clock Validity”, index=0
Info: id=1, control=2, cmask=0x0, channels=1, type=“BOOLEAN”
Volume: min=0, max=1, dBmin=0, dBmax=0