USB and FireWire Simultaneously?

I’d like to simultaneously record a USB input and a FireWire input, but it’s not clear to me that this is possible. Specifically, I have a Boss IR-2 pedal which can output via USB, and an M-Audio FireWire Solo. If I set up QJackCtl for FireWire (selecting the firewire driver and the (default) interface), then I can see my FireWire Solo in the Audio panel. If I plug in my IR-2 to a USB port, then I can only see the IR-2 in the ALSA panel - in the Readable Clients / Output Ports, it shows up as “28:IR-2” and if I expand that, it shows “0:IR-2 MIDI 1”; in the Writeable Clients / Input Ports I see “14:Midi Through” (which expands to “0:Midi Through Port-0”) and “28:IR-2” (which expands to “0:IR-2 MIDI 1”). The MIDI panel is blank in any case.

I can use the IR-2 if I set up a QJackCtl with Driver = alsa and Interface = hw:IR2,0, but then I can’t connect my FireWire Solo.

Is there a way to record both simultaneously?

The reason for this is to capture the DI signal, which routes from the IR-2’s send to a DI box and from there into the FireWire solo via XLR, simultaneous to the processed signal coming out of the IR-2 via USB.

Are 2 simultaneous instances of QJackCtl possible, with different interfaces?

I suppose another option would be to route the guitar cable output into the FireWire Solo input, but then I’m introducing another a digital-to-audio conversion, and then an audio-to-digital, conversion, rather than keeping everything digital.

Any suggestions?

Thank you.

jackd can only use one audio device at a time.

If you want to keep using JACK, start jackd with one device (say the firewire device) and then add the USB soundcard, using alsa_in/out commandline tools (they come with jackd). e.g.

alsa_in -d hw:IR2

This which resamples to synchronize the clocks of the USB soundcard to match the firewire one. and makes the USB inputs available as jack audio sources.

Fantastic, and exactly what I was looking for - thank so much, Robin!

Out of curiosity, I note you say, “If you want to keep using JACK…” - is there a non-JACK way to do this?

Thanks again!

Ardour’s ALSA backend has support for multiple devices. There is no GUI for it though, you have to manually set an environment variable. here (assuming you use Ardour 8 form ardour.org:

ARDOUR_ALSA_EXT=hw:IR2 Ardour8

(see PipeWire Multiple Devices HowTo - #2 by x42 for a quick reference on ARDOUR_ALSA_EXT)

Another option is to use pipewire.org, which is a drop-in replacement for JACK and directly offers all available soundcards. Note however that you need a very recent version of pipewire v1.2.2 for pro-audio. It is still under heavy development and older versions had various issues.

Thanks very much - will explore Pipewire after this project.

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.