Cheap USB Simultaneous Multitrack Recording

Hey guys I found this a couple days ago and I am interested in what you all think about it.

Cheap USB Simultaneous Multitrack Recording

Would the audio get out of sync over an hour or more?
Can this be done with Audacity?
If JACK would be needed is there a better gui for it?

Thanks

Using more than one usb audio device simultaneously is usually calling for trouble…

Even if you get it to work you’ll most likely get into sync problems.

Audacity can only record from one device. You’d have to use another software (such as JACK, for example) to map all the devices into one multi-channel virtual device.

Regardless of whether you use one or more of those cheap usb adapters, they probably have a very poor audio quality. You usually get what you paid for…

Jack only supports one device. To use multiple devices with jack you need to create a virtual device out of multiple sound cards: http://www.jrigg.co.uk/linuxaudio/ice1712multi.html (I’ve not got this to work)

Yes, you’re right, but I was hoping that one could possibly run several instances of jack (one for each device) and create sinks/sources between them, but I haven’t tried this either…

OK I’ve had another look at this.
In current versions of Jack there’s a couple of tools called “alsa_in” and “alsa_out”. These allow the input/outputs of additional sound cards to be available in Jack in addition to the current device.

For example, I have an internal sound card (hw:0) and a USB sound card (hw:1)
I started jack running using the USB sound card.
Then ran these two commands:

alsa_in -j on-board -d hw:0 -c 2 -p 4 -n 512 -r 44100
alsa_out -j on-board -d hw:0 -c 2 -p 4 -n 512 -r 44100

“on-board” is the name that I chose for the on-board sound card - it can be anything. That sets the name that the new device uses when it appears in the “Connections Kit” of JackCtrl.

This is Audacity recording from the two sound cards:
recording from multiple sound cards.png
On limitation for this method is that each device has only 2 recording channels, so Audacity can still only record 2 channels at a time, but when set-up as above it will record a mix of the two sound cards. To be able to record all 4 channels independently you could use Ardour.

Yes you can do that, and you can also have a sink and a source in pulseaudio so you can send/receive streams between jack and pulseaudio, I’ve done that.

You might also be able to create a 4 channel input port in jack to redirect the two sound cards to. I’m not really sure how to do it. I never tried or looked into that, but I have a feeling it could be possible…

See here: http://jackaudio.org/multiple_devices
I’ve not tried JACK2 audio adapter(s) and changing from Jack1 to Jack2 will break too many things on my computer, so I’ll leave that for someone else to try :stuck_out_tongue:

I was willing to upgrade to jack2 some time ago in the hope of solving another issue I had, but that was breaking too many things too so I gave up on the idea… I worked around the problem by switching to pulseaudio and running jack as dummy and setting up jack sink/source in pulseaudio.

I’ll have a try at jack2 one of these days :slight_smile:

It turns out to be very easy.

Create in/out ports for the second sound card with alsa_in / alsa_out
Then open an empty instance of JackRack and set the number of channels to the number of recording inputs.
Open Audacity and connect it to JackRack and set the number of recording channels to the number of JackRack channels.
Then connect the recording inputs of each sound card to the JackRack inputs.
Selection_003.png
For a bit more control you could use a suitable mixer (that needs to have sufficent inputs and outputs) such as “jackmaster” instead of the empty jack rack. or you could add amplifiers into JackRack so that the level of each recording channel can be controlled in software. You can even use real-time effect while recording.

Thanks for all the info guys. Looks like on Linux JACk is pretty easy to use, figures since Linux is it’s native environment. Too bad it isn’t being actively developed on Windows, I guess I’ll be testing it out on one of my Ubuntu pc’s soon.