# USB Sound Card

One of the recent developments in Computing is, that the actual PCs and laptops have relatively poor sound-chip-sets inside, but that we can add an external sound card via USB. I refer to these as ‘USB Sound Cards’, but think that most people just refer to them as ‘USB Sound Devices’. An actual sound card, used to refer to a PCIe interface card, which we could physically insert into our PC bus, inside the case.

When people buy a USB microphone, because the USB connection is digital, they are in fact buying the Analog / Digital converter inside that microphone, which also makes it the logical equivalent to a sound card. And the fact that it would be a USB mike, does not imply worse quality than an external sound card. To the contrary, users can expect their USB mikes to outperform the internal sound on their devices, which is the whole point in buying them.

I have embarked on yet another project, which is to buy an external sound card that is physically separated from any actual mike or sound source, and to buy a quality mike as well. Hence, I have received my USB sound device already, that has 2 output channels and 2 input channels.

Mine is a “Focusrite Scarlett 2i2” USB Sound Device, even though I usually try not to make endorsements or indictments of commercial products. It is stated to be capable of sampling at 48 and 96 kHz, and stated to be capable of 24-bit precision. It requires a USB 2 connection.

Because sound is taken very seriously with such devices, its only available inputs are a combined XLR / TRS jack each (not a 3.5mm mini-cable). This means that I am still waiting for my XLR-jack microphone to arrive, without which I cannot test the Focusrite. ( :1 )

A plausible question which some readers might ask would be, Why did Dirk not just buy a USB mike? And my answer would be, Because what I pictured wanting was closer to a USB Sound Card, hence an Analog / Digital converter, that can accept a variety of input devices.

But this would also be the context, in which it might make sense to switch my laptop ‘Klystron’ into JACK sound-mode, which supports real-time 48 kHz at 24 bits, and which also supports 96 kHz…

After all, not long ago I was pondering what the settings should be, with which JACK will start, in terms of sample-rate etc..

A key point of this project is again, to test whether the device will work properly under Linux. ( :2 )

1: ) One type of item I already own, is an adapter that snaps or screws onto a 3.5mm min-jack, and which converts that into a TRS jack, either mono or stereo.

The fact that the Focusrite supports TRS connections at all, suggests that the manufacturer wants to do well by customers, who may have ‘casual’ usage-scenarios.

2: ) Short Answer: It works fine under Linux.

Long Answer: Since I have a 3.5mm-to-TRS stereo conversion adapter, and quality headphones, I gave this a spin right away, using the TRS output jack which can also be used for direct monitoring (which I left switched off).

As soon as I plugged the USB jack of the Focusrite into my laptop ‘Klystron’, the PulseAudio Settings Panel showed this additional analog stereo device, and not greyed out or in requirement of reconfiguration – ready to use. This already tells me that the ALSA drivers / kernel modules load automatically.

Then, when I started JACK, in its configuration panel a new ALSA device was listed, which I selected along with a 48 kHz sample-rate.

Using JACK, we do not usually set the bits of precision manually, unless we want to force the daemon to run in (low) 16-bit mode, which I saw no reason to do. In fact, regardless of whether the hardware offers 24-bit or 32-bit sample formats, JACK will do its internal computations in 32-bit.

And so JACK chose a 32-bit integer format (“little-endian“), to go with the 48 kHz sample-rate.

Next, I fired up my QSynth interface, to start a SoundFont -player, as well as a virtual keyboard. I played a few notes, and they came through crystal-clear on the headphones, that were plugged in to the USB Sound Card mentioned. Hence, sound-playback works well at 48 kHz.

The JACK connection panel also showed me, that 2 corresponding capture channels were available. But I did not hook up my headset-mike, to test those as well.

After I disconnected the Focusrite from its USB link, the name that PulseAudio had given to it was still displayed by PulseAudio, but greyed out – logically – since the disconnected device was temporarily unavailable by then.

I should add that I tested this using Kernel version 4.4.0… Higher kernel versions like this one, generally imply that more devices will plug-and-play. I do not know from what kernel version, this device started to receive Linux support. I just know 100% that it works for me.

Also, because I have this USB device now, I can see that my hardware-requirements are met, up to “96 kHz”. At that point, to tell my JACK daemon to sample at 96 kHz for example, simply becomes a software-setting. ‘QJackCtl‘ offers me all the way up to 192 kHz, including 88.2 kHz, from a drop-down menu, without first interrogating the device.

One advantage for now, of setting this as low as 48 kHz, is the possibility that I might not have this external sound card – ‘Focusrite‘ – connected, when I fire up JACK at some future time, at which point the internal chip-set on this laptop will still work

(Edit 07/27/2016 : ) From what I have learned, there is no way for a JACK client such as ‘QTractor‘ to know, whether the samples are in 24- or 32-bit format. In the example of QTractor, we need to change the sample format in the Global settings – because that is such a pure, drag-and-drop application – to 24-bit, if we are in 24-bit. This is because JACK will generally present sample data in 32-bit, without announcing in certain cases that the last 8 bits are not being used.

In fact, JACK might even continue working in 32-bit mode, if the H/W is only capable of 16-bit, unless we have set in ‘QJackCtl‘, to “Force 16-bit Mode”. And so when still using 32-bit, numerous applications can ‘talk to each other’, that have different sample-formats set.

This is why some users have been asking, how to find out, whether their external Sound Card is indeed working in 24-bit mode, since QJackCtl does not tell them. And I think the answer was, that one needs to look either at the ‘syslog‘ or at ‘dmesg‘, immediately after having plugged in the device, to see what the ALSA parameters were, with which that device loaded.

For that reason, I will need to retest my ‘Focusrite Scarlett 2i2‘ soon.

(Note: Done. The device works.)

## 3 thoughts on “USB Sound Card”

This site uses Akismet to reduce spam. Learn how your comment data is processed.