Multiple Inputs - cant select from within Ardour

Hi all, I have a 4-in 4-out PCI audio card (Infrasonic Quartet) that uses the Envy24 PT/HT VT1720/24 chipset. It has 2 stereo 6.5mm stereo inputs, and 2 stereo 6.5mm stereo outputs - I only have one stereo output in use, but I’d like to use both stereo inputs simultaneously for recording, but somehow Ardour (and Audacity) can only record from stereo input 1 (Analog In 1/2, which is Line or Mic Level) not from stereo input 2 (Analog In 3/4, Line or Hi-Z level) - there appears to no option to choose between the input pairs from within Ardour (or Audacity or other recording apps). From the desktop using QasMixer I can adjust the volume of and toggle Analog In 1/2 and/or Analog In 3/4 to be monitored on Out 1/2 or Out 3/4. So I can have someone play keyboards in through Analog In 1/2 while I play guitar or bass in through Analog In 3/4 for live playing, but I cannot record either of those stereo inputs simulatneously. the only way to record Analog In 3/4 is to select it PCM 1/2. However that kills off input 1 from making it into Ardour - surely if I can monitor and adjust both inputs separately and simultaneously from QasMixer on the desktop, I should be able to identify and direct them to separate tracks and record them simultaneously in Ardour? I’m running Linux Mint 19.3 with kernel 5.3 on a 6 core AMD system, and just alsa/pulse - my latency is around 6ms and I’ve not had any overruns so I’m not bothering with jack and RT kernels etc. Can anyone suggest anything to help me figure out this confusing mess?

This sounds like a hardware limitation. I would have expected an Envy24 based device to be able to do better, but it is absolutely the case that audio interfaces based on the Intel HDA “specification” (for example) tend to force the user to select the input source in a wat that is exclusive of other input sources. It sounds as if that is what is going on there.

Is there anything in particular that makes you believe your card can actually be used in the way you want?

Hi Paul, what makes me believe the card is capable of 4 track simultaneous recording is that it has done exactly that in Windows using cubase & reaper. I also contend this is a software issue because Qasmixer can see and control the two physical inputs, yet DAW’s including Ardour & Audacity cannot see the 2nd input. I wonder if this is related to Pulseaudio - the setting I’ve used in Pulse is analog-duplex, perhaps pulse is forcing only one input and output pair to be visible, and Qasmixer is ignoring what Pulse is showing and instead looking a bit deeper at what alsa sees? Your guess is as good as mine :slight_smile:

Have you tried using JACK as an audio backend? How does that behave?

Hi Robert, JACK works fine (running as non real-time due to non RT kernel) but gives no benefit for my setup in latency etc. It also cannot see the extra input, and if I try to force 4 inputs in the setup jackd won’t start.

There is no limitation to running jack in real time with a non-real-time kernel. If jack has been installed correctly and your user is a part of the audio group (assuming Debian or derivative) then you should have “real time” access as jack sees it.

It would be interesting to see how alsa presents this device. if you could in a terminal run:

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

and paste the result That may shed some light on things. There are two chips that envy24controls will control, the ice1712 is the one most of us are used to, you may have the other.

The jackaudio.org download link is broken. I was curious to see what the adevices.sh does, so I tried to download it, however … 404 and doing a search I didn’t find it either.

cd /tmp && wget http://community.ardour.org/files/adevices.sh && bash ./adevices.sh

maybe by a shot of using,

pasuspender -- bash -c read

you can put pulseaudio in suspend before you start ardour, and see if there’s any improvement… you just have to hit the enter key to resume pulseaudio later.

Hi, I get a 404 with that link also, so I suspended PA and fired up Ardour… no change, I still only can route system:capture_1 and system:capture_2 to tracks, there is still no 3 and 4 to capture.

I ran amixer -c 4 scontents to show what is available in audio controls out-of-box, and I get this…

Simple mixer control ‘Master’,0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 255
Mono: Playback 255 [100%] [64.00dB] [on]
Simple mixer control ‘PCM 1/2’,0
Capabilities: pvolume cvolume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: Playback 0 - 255 Capture 0 - 164
Front Left: Playback 255 [100%] [0.00dB] Capture 127 [77%] [0.00dB]
Front Right: Playback 255 [100%] [0.00dB] Capture 127 [77%] [0.00dB]
Simple mixer control ‘PCM 3/4’,0
Capabilities: pvolume cvolume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: Playback 0 - 255 Capture 0 - 164
Front Left: Playback 255 [100%] [0.00dB] Capture 127 [77%] [0.00dB]
Front Right: Playback 255 [100%] [0.00dB] Capture 127 [77%] [0.00dB]
Simple mixer control ‘PCM In 1/2’,0
Capabilities: cenum
Items: ‘An In 1/2’ ‘An In 3/4’
Item0: ‘An In 1/2’
Simple mixer control ‘PCM In 3/4’,0
Capabilities: cenum
Items: ‘An In 3/4’ ‘IEC958 In’
Item0: ‘An In 3/4’
Simple mixer control ‘IEC958’,0
Capabilities: penum
Items: ‘PCM Out’ ‘H/W In 0’ ‘H/W In 1’ ‘IEC958 In L’ ‘IEC958 In R’
Item0: ‘PCM Out’
Simple mixer control ‘IEC958 Output’,0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control ‘IEC958’,1
Capabilities: penum
Items: ‘PCM Out’ ‘H/W In 0’ ‘H/W In 1’ ‘IEC958 In L’ ‘IEC958 In R’
Item0: ‘PCM Out’
Simple mixer control ‘Analog In 1/2’,0
Capabilities: cenum
Items: ‘Line In 1/2’ ‘Mic’ ‘Mic + Low-cut’
Item0: ‘Line In 1/2’
Simple mixer control ‘Analog In 1/2 to Monitor 1/2’,0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control ‘Analog In 1/2 to Monitor 3/4’,0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control ‘Analog In 3/4’,0
Capabilities: cenum
Items: ‘Line In 3/4’ ‘Hi-Z’
Item0: ‘Hi-Z’
Simple mixer control ‘Analog In 3/4 to Monitor 1/2’,0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control ‘Analog In 3/4 to Monitor 3/4’,0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control ‘Coax Output Source’,0
Capabilities: enum
Items: ‘IEC958’ ‘I2S’
Item0: ‘IEC958’
Simple mixer control ‘H/W’,0
Capabilities: penum
Items: ‘PCM Out’ ‘H/W In 0’ ‘H/W In 1’ ‘IEC958 In L’ ‘IEC958 In R’
Item0: ‘PCM Out’
Simple mixer control ‘H/W’,1
Capabilities: penum
Items: ‘PCM Out’ ‘H/W In 0’ ‘H/W In 1’ ‘IEC958 In L’ ‘IEC958 In R’
Item0: ‘PCM Out’
Simple mixer control ‘Multi Track Internal Clock’,0
Capabilities: enum
Items: ‘44100’ ‘48000’ ‘88200’ ‘96000’ ‘176400’ ‘192000’ ‘IEC958 In’ ‘Word Clock 1xFS’ ‘Word Clock 256xFS’
Item0: ‘44100’
Simple mixer control ‘Multi Track Rate Locking’,0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control ‘Multi Track Rate Reset’,0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control ‘Output 1/2 to Monitor 3/4’,0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control ‘Output 3/4 to Monitor 1/2’,0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control ‘Phantom Power’,0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]

As you can see there is PCM 1/2 and PCM 3/4 - both have full stereo input and output capability, and both can be muted, monitored, and volume controlled separately/simultaneously. I just cannot understand why end-user applications cannot see both inputs when basic mixer applications such as amixer and Qasmixer can.

The mixer interface is entirely separate and independent from audio I/O.

More interesting would be the output of

cd /tmp && wget http://community.ardour.org/files/adevices.sh && bash ./adevices.sh

(that lists all audio devices, their current settings and applications using them, as well as jack2-dbus config, if any)

Strange, earlier when I tried that command I got a 404, but it works now… here is the output…

Part I: ALSA
Advanced Linux Sound Architecture Driver Version k5.3.0-24-generic.

Card 0 (NVidia):

  • Playback Device 3 (HDMI 0):

    • Subdevice 0 (hw:NVidia,3,0):
      closed
  • Playback Device 7 (HDMI 1):

    • Subdevice 0 (hw:NVidia,7,0):
      closed
  • Playback Device 8 (HDMI 2):

    • Subdevice 0 (hw:NVidia,8,0):
      closed
  • Playback Device 9 (HDMI 3):

    • Subdevice 0 (hw:NVidia,9,0):
      closed

Card 1 (m61):

Card 2 (padKONTROL):

Card 3 (C170):

  • Recording Device 0 (USB Audio):
    • Subdevice 0 (hw:C170,0,0):
      closed

Card 4 (Quartet):

  • Playback Device 0 (ICE1724):

    • Subdevice 0 (hw:Quartet,0,0):
      closed
  • Playback Device 1 (ICE1724 IEC958):

    • Subdevice 0 (hw:Quartet,1,0):
      closed
  • Recording Device 0 (ICE1724):

    • Subdevice 0 (hw:Quartet,0,0):
      closed
  • Recording Device 1 (ICE1724 IEC958):

    • Subdevice 0 (hw:Quartet,1,0):
      closed

========================================
Part II: jack processes

Card 4 is the card of interest.

OK. So this card shows up as two separate hardware devices:

hw:Quartet,0,0 : Playback/Recording 0
and
hw:Quartet,1,0 : Playback/Recording 1

Ardour5 can only use one hardware device at a time.

Your best bet is likely: https://jackaudio.org/faq/multiple_devices.html

There are two options for using both sets of inputs and those two options have “sub” options.
A) use SCR to sync using either alsa_in (comes with jackd) or zita-a2j.
B) assuming both ADCs use the same clock:

  1. create a pseudo device as in the document above
  2. use zita-a2j with the -S option. This is easier than the pseudo device but does not guarantee a sample to sample lock. That is one set of inputs may be slightly ahead of or behind the other. So long as mics are not being used in the second set, that is synth or DI inputs, this may work fine in your case.

Hi all, happy new year, and after a short break to enjoy the holiday I’ve had a go at following the advice here… https://jackaudio.org/faq/multiple_devices.html … no luck sadly, so I then tried zita-a2j, initially tricky to find download and compile, but also sadly no luck at the end. Finally I tried finding .asoundrc’s prepared for other soundcards that also use the ICE1724, but none of the people who prepared those .asoundrc files configured them to use multi analog in, only to use S/PDIF and 5.1 or 7.1 sound. I give up, its just gotten far too complicated. Please don’t ask me to show you the results of this command and that command, I really have given up on getting the card working to its full capability, and I’m not the only person who has run into a brick wall trying to overcome the same issue with the same card under Linux.

Instead I’ll look for a known to work 100% in Linux card such as an M-Audio Delta 1010 with the 8 in 8 out breakout rack although I’ll also need to buy an 8 in 8 out preamp rack to account for the lack of Hi-Z or Mic level in on the 1010. I will probably need an 8 in card for the band project anyways.

Sigh… I’ve been trying to get a 100% working Linux based DAW working with various hardware configs since over 20 years ago, but in 2011 when I bought my current hardware I didn’t have the money to buy a multi-input card that is known to work out of box - I was 90% there this time, but recording a live band with just stereo is not ideal. Now the ICE1712 based M-Audio Delta cards are really cheap on ebay I’ll go that direction, there appears vastly better ALSA support for that chipset. Thanks for suggestions folks, hopefully a Delta 1010 will just work with minimal hair pulling… :slight_smile: