ALSA sees USB sound card, Ardour does not

Linux Mint, JACK is installed with qjackctl, Behringer UCA202 Class-complaint USB sound card.

I can’t get Ardour to see the card. ALSAMIXER sees it and I can select it there.

If I start a new Session in Ardour and select ALSA as the audio system, then press “Start,” I get “Audio Device not Valid.”

If I use JACK as the audio system, the Session setup screen says that “JACK is already running. Ardour will connect to it and use the existing settings.” Select OK, add a Track in Ardour and it connects to the internal mic on this laptop.

Ardour’s input level meter is showing the sounds the internal mic is picking up. If I stop JACK with qjackctl, it still shows the sounds the internal mic is picking up. So it feels like Ardour is not paying attention to JACK.

Even so, nowhere in qjackctl’s patchbay do I see anything that looks like the output of the USB sound card. The only output ports are Ardour’s and two System ports (1 and 2) that both have little microphone icons next to them.

So, yeah, confused by JACK and Linux sound settings. A little help would be appreciated.

In qjackctl did you go into the settings window and select the correct interface before selecting the start button?
When using ALSA in Ardour, what is the name of the audio device you select?
It sounds like jackd is using a different device than you want, and when using ALSA from Ardour you selected a device which is already in use, which make me suspect perhaps jack is running connected to the internal sound interface for some reason, and when you tried to start Ardour with ALSA, it was also set to the internal interface instead of the USB interface.

I don’t know Linux Mint, but if it is using PulseAudio, the device is in use by PulseAudio and JACK can’t use it.
Please check if you are using PulseAudio, if yes, check whether the “PulseAudio Volume Control” is installed (either via menu or open a terminal windows and type “pavucontrol”).
Open “PulseAudio Volume Control” and click the “Configuration” tab. If you see an entry for your “Behringer UCA202” change the profile to “Off”. Then restart JACK.

Hope this helps.

Don’t want to sound silly, but that might be what happens to me too.

My experience of Pulseaudio is mostly that removing it entirely makes sound work when it didn’t before.

PulseAudio has some features that are useful on a pure consumer (i.e. playback) system, but you in an audio workstation with Jack and programs like Ardour, it creates more problems than it solves.

I’m using PulseAudio together with Jack and Ardour and it doesn’t cause any problems to me. My setup is in general:

  • My audio interface (Focusrite Scarlett 18i8) is set to "Off" in PulseAudio configuration, therefore PulseAudio is ignoring it completely (PulseAudio Volume Control / pavucontrol)
  • Jack is configured to use my audio interface
  • When I want to use my audio interface from non-Jack applications (like Chrome, Firefox, etc.) I load a module which creares a PulseAudio's output (sink) to connect to Jack by using "pactl load-module module-jack-sink", this will pass PulseAudio's sound to Jack which will in turn pass it to my audio interface. This allows also to capture sound output from Chrome etc. to be used by / recorded with Ardour
I have to admit that the available documentation is not simple to digest...
I load a module which creares a PulseAudio's output (sink) to connect to Jack by using "pactl load-module module-jack-sink"

Well, that’s the point. Many general purpose desktop distros come with PulseAudio already installed, and if you don’t know about the above module you don’t get much of a clue why your Jack & ALSA installation isn’t giving you sound.

Thank you all for replying. So, let me sit down here with a cup of coffee and see if I can sort this out. My system is a netbook running Linux Mint 17.4, Ardour 5.4.0, qjackctl.

I want to use the system to produce a radio show while on vacation. I need to record my voice, import some audio files, and render the session for later broadcast.

For my voice, I will use an external tube (valve) ART Studio mic preamp with built-in ADC as my input device. It is a Class-compliant USB sound card. This will be the input to Ardour.

For monitoring, the mic preamp / sound card does not have a DAC, but I will use a headphone amp connected to the analog output of the mic preamp while doing the announcing. So low-latency is not important

The computer runs Pulseaudio for listening to browsers, etc., and I hope to keep it that way for simplicity’s sake as this is also my general-purpose everyday machine.

So, first step, connect the USB mic preamp/sound card to Ardour.

I’d like to do this in a methodical, step-by-step fashion, and post screenshots to show what I see. I don’t think this forum has that functionality, so let’s see if I can use Google Photos for that.

I have connected the sound card to the laptop, and here is what qjackctl sees in its Patchbay: https://goo.gl/photos/ntL4bGjjkEDATt7RA

JACK is stopped, Ardour has not been launched.

If I connect the card, and refresh the Patchbay, nothing changes. So where’s the card?

I don’t see an “edit” button for my above post, so I want to add that ALSAMIXER sees the external USB ADC as “USB audio CODEC.”

Another edit (is there an edit button that I’m overlooking?) I have posted a screencap of qjackctl’s Setup page. It’s in the same Google Photos album I liked to above, but just in case: https://goo.gl/photos/ntL4bGjjkEDATt7RA

Please try the following:

  • Open qjackctl's Setup page
  • Click on the drop down list to the right of "Interface:", where in your screenshot "hw:CODEC" is displayed
  • For a class compliant USB device I would expect to find something like "hw:USB", most probably that entry should be followed by a (or the?) description of your device (like "USB audio CODEC")
  • Select it and leave qjackctl's Setup page with "OK"
  • Press "Start" on qjackctl's main window
  • Check qjackctl''s "Connect" window
Hope this helps...

Thank you. The options under Interface are:
hw:CODEC
(default)
hw:0
plughw:0
/dev/audio
/dev/dsp

I’ve added a screencap of the Settings page to the photo album at https://goo.gl/photos/ntL4bGjjkEDATt7RA

The little “>” arrow next to the Interface dropdown provides: hw:Intel and hw:Intel,0

These options don’t change when I unplug the USB device, however ALSAMIXER no longer sees the USB device when I do so. So it appears that qjackctl isn’t seeing the device?

Well… let’s try this:

  • Open a terminal / command window
  • Run "arecord -l". Does the output list something similar to "card 2: USB [Scarlett 18i8 USB], device 0: USB Audio [USB Audio]"?
  • If your device is listed run "arecord -D hw:USB --dump-hw-params", please replace "hw:USB" with your reported device from "arecord -l"
  • Run "lsmod | grep snd_usb_audio". Does it list lines like "snd_usb_audio 192512 5"?
  • Run "pulseaudio -k", then "ps axwf | grep pulseaudio", then try qjackctl again
  • Run "sudo alsa-info.sh", select "save locally" and examine the file "/tmp/alsa-info.txt.?????" whether your device is listed

Okee dokee. Fun with command line!

jack@jack-Aspire-one ~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC272X Analog [ALC272X Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: CODEC [USB Audio CODEC], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0

There’s the device.

jack@jack-Aspire-one ~ $ arecord -D hw:CODEC --dump-hw-params
Recording WAVE ‘stdin’ : Unsigned 8 bit, Rate 8000 Hz, Mono
HW Params of device “hw:CODEC”:

ACCESS: MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT: S8 S16_LE
SUBFORMAT: STD
SAMPLE_BITS: [8 16]
FRAME_BITS: [8 32]
CHANNELS: [1 2]
RATE: [8000 48000]
PERIOD_TIME: [1000 65536000]
PERIOD_SIZE: [16 524288]
PERIOD_BYTES: [64 524288]
PERIODS: [2 1024]
BUFFER_TIME: (666 131072000]
BUFFER_SIZE: [32 1048576]
BUFFER_BYTES: [64 1048576]
TICK_TIME: ALL

arecord: set_params:1233: Sample format non available
Available formats:

  • S8
  • S16_LE

Now,

jack@jack-Aspire-one ~ $ lsmod | grep snd_usb_audio
snd_usb_audio 143360 2
snd_usbmidi_lib 28672 1 snd_usb_audio
snd_hwdep 16384 2 snd_usb_audio,snd_hda_codec
snd_pcm 94208 4 snd_usb_audio,snd_hda_codec,snd_hda_intel,snd_hda_controller
snd 69632 23 snd_hda_codec_realtek,snd_usb_audio,snd_hwdep,snd_timer,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec_generic,snd_usbmidi_lib,snd_hda_codec,snd_hda_intel,snd_seq_device

Yep, there’s your "“snd_usb_audio” entry.

“pulseaudio -k” returned no errors.

“ps axwf | grep pulseaudio” returns:

jack@jack-Aspire-one ~ $ ps axwf | grep pulseaudio 29449 pts/4 S+ 0:00 \_ grep --colour=auto pulseaudio 29334 ? S<l 0:00 /usr/bin/pulseaudio --start --log-target=syslog
    This next step I am unsure of:</ul? "Run "pulseaudio -k", then "ps axwf | grep pulseaudio", then try qjackctl again"

    Not sure how to “try” qjackctl – forgive me, what am I looking for or doing in this step? qjackctl has been launched but it is presently stopped.

    Moving on, there is no alsa-* file in /tmp, either with qjackctl running or stopped:

    jack@jack-Aspire-one ~ $ ls -l /tmp
    total 2728
    -rw------- 1 root root 0 Nov 9 21:00 1703.jsvc_up
    drwx------ 2 jack jack 4096 Nov 10 07:10 hsperfdata_jack
    drwxr-xr-x 2 mdm mdm 4096 Nov 9 21:00 hsperfdata_mdm
    drwx------ 2 root root 4096 Nov 9 21:00 hsperfdata_root
    drwx------ 2 mdm mdm 4096 Nov 9 21:00 icedteaplugin-mdm-md0xYy
    drwxrwxrwx 2 jack jack 4096 Nov 9 21:01 mintUpdate
    srwxrwxrwx 1 mongodb nogroup 0 Nov 9 21:00 mongodb-27017.sock
    srwxrwxrwx 1 root root 0 Nov 9 21:00 mongodb-27117.sock
    -rw------- 1 jack jack 0 Nov 10 07:06 nsmail-1.tmp
    -rw------- 1 jack jack 0 Nov 10 07:46 nsmail-2.tmp
    -rw------- 1 jack jack 0 Nov 10 07:56 nsmail-3.tmp
    -rw------- 1 jack jack 0 Nov 10 08:06 nsmail-4.tmp
    -rw------- 1 jack jack 0 Nov 10 06:56 nsmail.tmp
    drwx------ 2 jack jack 4096 Dec 31 1969 orbit-jack
    -rwxr-xr-x 1 root jack 2736247 Nov 10 06:54 pia_openvpn
    -rw-r–r-- 1 jack jack 45 Nov 10 06:54 pia_resolv_conf_data
    -rwxr-xr-x 1 root jack 7241 Nov 10 06:54 pia_route
    -rwxr-xr-x 1 root jack 543 Nov 10 06:54 pia_upscript.sh
    srwxr-xr-x 1 jack jack 0 Nov 9 21:02 pluma.jack.1395845903
    drwx------ 2 root mdm 4096 Nov 9 21:00 pulse-PKdhtXMmr18n
    srwxr-xr-x 1 jack jack 0 Nov 10 08:27 qtsingleapp-orggot-bc05-3e8
    -rw-r–r-- 1 jack jack 0 Nov 10 08:27 qtsingleapp-orggot-bc05-3e8-lockfile
    drwx------ 3 jack jack 4096 Nov 10 11:43 sni-qt_qjackctl_12163-kaF4ar
    drwx------ 2 jack jack 4096 Nov 9 21:00 ssh-pV8EEasPgXuB

    I hope there’s something here that is useful.

That did not post correctly at all.

REPOST
Okee dokee. Fun with command line!

jack@jack-Aspire-one ~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC272X Analog [ALC272X Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: CODEC [USB Audio CODEC], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0

There’s the device.

jack@jack-Aspire-one ~ $ arecord -D hw:CODEC --dump-hw-params
Recording WAVE ‘stdin’ : Unsigned 8 bit, Rate 8000 Hz, Mono
HW Params of device “hw:CODEC”:

ACCESS: MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT: S8 S16_LE
SUBFORMAT: STD
SAMPLE_BITS: [8 16]
FRAME_BITS: [8 32]
CHANNELS: [1 2]
RATE: [8000 48000]
PERIOD_TIME: [1000 65536000]
PERIOD_SIZE: [16 524288]
PERIOD_BYTES: [64 524288]
PERIODS: [2 1024]
BUFFER_TIME: (666 131072000]
BUFFER_SIZE: [32 1048576]
BUFFER_BYTES: [64 1048576]
TICK_TIME: ALL

arecord: set_params:1233: Sample format non available
Available formats:

  • S8
  • S16_LE

Now,

jack@jack-Aspire-one ~ $ lsmod | grep snd_usb_audio
snd_usb_audio 143360 2
snd_usbmidi_lib 28672 1 snd_usb_audio
snd_hwdep 16384 2 snd_usb_audio,snd_hda_codec
snd_pcm 94208 4 snd_usb_audio,snd_hda_codec,snd_hda_intel,snd_hda_controller
snd 69632 23 snd_hda_codec_realtek,snd_usb_audio,snd_hwdep,snd_timer,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec_generic,snd_usbmidi_lib,snd_hda_codec,snd_hda_intel,snd_seq_device

Yep, there’s your "“snd_usb_audio” entry.

“pulseaudio -k” returned no errors.

“ps axwf | grep pulseaudio” returns:

jack@jack-Aspire-one ~ $ ps axwf | grep pulseaudio 29449 pts/4 S+ 0:00 \_ grep --colour=auto pulseaudio 29334 ? S<l 0:00 /usr/bin/pulseaudio --start --log-target=syslog
    This next step I am unsure of:
"Run "pulseaudio -k", then "ps axwf | grep pulseaudio", then try qjackctl again"

Not sure how to “try” qjackctl – forgive me, what am I looking for or doing in this step? qjackctl has been launched but it is presently stopped.

Moving on, there is no alsa-* file in /tmp, either with qjackctl running or stopped:

jack@jack-Aspire-one ~ $ ls -l /tmp
total 2728
-rw------- 1 root root 0 Nov 9 21:00 1703.jsvc_up
drwx------ 2 jack jack 4096 Nov 10 07:10 hsperfdata_jack
drwxr-xr-x 2 mdm mdm 4096 Nov 9 21:00 hsperfdata_mdm
drwx------ 2 root root 4096 Nov 9 21:00 hsperfdata_root
drwx------ 2 mdm mdm 4096 Nov 9 21:00 icedteaplugin-mdm-md0xYy
drwxrwxrwx 2 jack jack 4096 Nov 9 21:01 mintUpdate
srwxrwxrwx 1 mongodb nogroup 0 Nov 9 21:00 mongodb-27017.sock
srwxrwxrwx 1 root root 0 Nov 9 21:00 mongodb-27117.sock
-rw------- 1 jack jack 0 Nov 10 07:06 nsmail-1.tmp
-rw------- 1 jack jack 0 Nov 10 07:46 nsmail-2.tmp
-rw------- 1 jack jack 0 Nov 10 07:56 nsmail-3.tmp
-rw------- 1 jack jack 0 Nov 10 08:06 nsmail-4.tmp
-rw------- 1 jack jack 0 Nov 10 06:56 nsmail.tmp
drwx------ 2 jack jack 4096 Dec 31 1969 orbit-jack
-rwxr-xr-x 1 root jack 2736247 Nov 10 06:54 pia_openvpn
-rw-r–r-- 1 jack jack 45 Nov 10 06:54 pia_resolv_conf_data
-rwxr-xr-x 1 root jack 7241 Nov 10 06:54 pia_route
-rwxr-xr-x 1 root jack 543 Nov 10 06:54 pia_upscript.sh
srwxr-xr-x 1 jack jack 0 Nov 9 21:02 pluma.jack.1395845903
drwx------ 2 root mdm 4096 Nov 9 21:00 pulse-PKdhtXMmr18n
srwxr-xr-x 1 jack jack 0 Nov 10 08:27 qtsingleapp-orggot-bc05-3e8
-rw-r–r-- 1 jack jack 0 Nov 10 08:27 qtsingleapp-orggot-bc05-3e8-lockfile
drwx------ 3 jack jack 4096 Nov 10 11:43 sni-qt_qjackctl_12163-kaF4ar
drwx------ 2 jack jack 4096 Nov 9 21:00 ssh-pV8EEasPgXuB

I hope there’s something here that is useful.

Still having some lines dropped, this was missing from the post:

jack@jack-Aspire-one ~ $ ps axwf | grep pulseaudio
31476 pts/4 S+ 0:00 _ grep --colour=auto pulseaudio
29334 ? S<l 0:00 /usr/bin/pulseaudio --start --log-target=syslog

Apologies again. I think that you wanted me to take another look at qjackctl’s Settings. No, nothing new there, same Interface options as before.

hw:CODEC is your Behringer device. Unfortunately, the manufacturer (like so many others) left a totally generic name in the hardware for the device driver to discover, rather than something actually descriptive (for example, I have a Topping TP30 12V DAC that also shows up as “hw:CODEC”).

If you tell Ardour (and/or JACK) to use that device, and it manages to use do so, it will be using the Behringer.

You might also consider this command to help you see what is going on:

cd /tmp && wget http://jackaudio.org/downloads/adevices.sh && bash ./adevices.sh