Trying to use 4 of the same sound card

Using Multiple Sound Cards

Hey all,
I just downloaded the trial version of 4.2. I’m trying to use four of the same sound card for recording, but only one instance shows up. Any idea what I should do. The sound cards are c-media USB soundcards. They use a CMI driver. Please let me know if you have any suggestions. They were showing up on a friends copy of SONAR 5, but it’s way too complex and was sort of bugging out on me.


I’d get some experience working with NTrack and one soundcard before tackling that problem :D


I’ve used n-track before, a couple years ago. I’ve got a handle on those aspects. I just got a band together and we’d like to do some demos for ourselfts (mostly because we forget our own songs ; ).

When I choose the recording source, I get :
1) Don’t Record
2) MME: Microsoft Sound Mapper: Stereo
3) MME: Microsoft Sound Mapper: Left Channel
4) MME: Microsoft Sound Mapper: Right Channel

How the heck to I get more than one to show up. I’m trying it with only two right now (so 2 Inputs => 2 Stereo to Mono Splitters => 4 mics).

I figured it out. For anyone else who might need the answer:
Go to File->Settings->Preferences
Under the Recoring Settings Tab, click Audio Devices
Hold down the control key and select all your sound cards.

Even if you can get 4 of the cards to run at the same time (some drivers are just not written to allow it), you’re very likely to run into sync problems between tracks recorded on the different cards meaning that after a few minutes you’ll have too much drift between the tracks.

Multiple input cards are prety cheap nowadays. It’s hardly worth the bother.

any reccomendations? What would be the least expensive, say 4 track and 8 track cards out there?

I should also mention I’m using a laptop. I need a usb or pcmcia based solution.

Question: Even if the tracks get out of sync, can I re-align them after we’re done recording?


Question: Even if the tracks get out of sync, can I re-align them after we’re done recording?

Not if they are recorded on different soundcards at slightly different sample rates, which is what is at the root of the multiple soundcard problems.

Check out

Phoo - you could use the “transfer from 4 track tape” method to sort out the timing differences. PITA though.

Realignment won’t help if the waves are of slightly varied length because the recording clock of each soundcard is slightly different. These differences will be printed to the wave files. If they are simply out of sync then they can easily be dragged into sync (the 4 track tape to wave thing, where the tracks are out of sync because they were recorded at different times).

The way to tell the difference is if they get out of sync over time as opposed to being out of sync from the beginning and staying the same out-of-syncness throughout the length of the song. To fix wave files that are slightly different sample rate, which is what could happen, would require very slight resampling (repitching actually) that does not reserve length. That is TRULY a PinTA. :)

BUT!!! If the tracks get out of sync only slightly, they can be fixed by cutting then and sliding the remaining part ever so slightly every few beats or measures, or even less. I have done that. It’s time consuming and can introduce clicks that are hard to get rid of sometimes, but it does work. It’s almost impossible to keep tracks sample accurate, but it works just fine to keep different instruments back in sync.

Look at it this way…

Record two waves on two different sound cards at the same time om the same machine, USING THE SOUNDCARDS CLOCK, not the system clock (something we almost always recommend). One sound card is 44099. The other is 44101. (examples of soundcard sampling, and not as extreme as you might guess, especially when using cheap soundcards. Semi-pro cards are MUCH more accurate or sure)

The tracks when played back so they play out of the same soundcard they were recorded on play perfectly in sync. Play the two tracks out either one of the sound cards (a normal mix) and one of the tracks Will play slightly faster than the other, or slightly slower. Play the wave that was recored at 44099 at 41001 and it will play too fast. Play the wave recorded at 41001 at 44099 and it will play too slow.

That’s why multiple soundcards MUST be synced to a single master clock when recording. It’s not a matter of tracks being slightly offset.

Does this apply to me, as I’m using 4 identical soundcards? Also, how do you make sure your using the system’s clock, not the individual sound carsd’s clock.

Sure thing Phoo, however the “4 track thing” is not simply an alignment technique, it also takes the differing tape speeds into account. Similar to the sync problem so should work. It uses the n-track “stretch” functions to account for the differences in apparent track lengths.

While the make and model of the soundcards is the same each have seperate oscillators (clocks), each of which has a tolerance associated with it. Tighter tolerance = more expensive. There is no incentive to spend the extra money since very few people try to use multiple soundcards for multi-track.

I do think that time-stretch might simplify synchronizing them however, since your problem would be evenly distributed through the track. You might only have to note the overall difference in apparent track length and make them all the same to get close. A tape deck is much worse since the speed varies throughout. The individual soundcards might not start recording at exactly the same time so you might want to work off of the audio directly.

Of course none of it matters if you can’t get the operating system to recognize them as seperate inputs.


*The *individual soundcards might not start recording at exactly the *same time so you might want to work off of the audio directly.

Jim, Could you explain what you mean by that?

*Of course none of it matters if you can’t get the operating system *to recognize them as seperate inputs.

I was able to get them all to be seen in n-track. It’s actually quite easy. I put the directions in an earlier post in case someone else comes along with the same question someday.



I use 3 M-Audio JamLabs and 1 iMic USB devices simultaneosly for 4 tracks and I have had excellent results. In my recording scenario I record the drums first with 4 tracks and then I overdub other things on a single USB audio device afterwards. I don’t know if that would work with what you’re doing, but maybe some of this might give you some ideas on what setting to play with.

First thing I do is use the WDM driver for the devices. I don’t use the supplied ASIO driver for the JamLabs cause I found them to be of worse performance than the WDM drivers that Windows XP loads by default. In settings -> preferences -> record settings tab -> audio devices -> advance, uncheck “keep audio devices open” and uncheck “Stop WDM devices when pausing”. In settings -> preferences -> option, check playback time and record time under “use system time for”. Put program priority to “highest”. Uncheck generate peak files while recording (minimize extraneous disk activity). Also, turn off any un-needed applets and your network interface (if you don’t need it while you’re recording), network activity can cause unnecessary processor activity.

For overdubbing, I use one USB interace at this point. I do the following things. Still using the WDM driver. In the settings -> preferences -> options tab, uncheck the playback and record time for “Use system timer for”. In the settings -> preferences -> record settings tab, change “hide lag indicator if lag magnitude is less than” to 1. Change the buffer setting to the lowest you can have that doesn’t have clicking and popping. Try overdubbing a track and and note the lag indicator number under the playback time, take the first three digits and double it. Put that number in the settings -> preferences -> record settings -> audio devices -> advance -> compensation (you may need to test several times to get the correct setting). Basically it shifts your overdub waveform to the left (if minus) or right should it not line up.

So, basically when I use more than one sound device I set the system timer for playback and record, all 4 sound devices are synced according to the system timer (I know in Sonar 5, you can choose a specific sound device to be the master clock, maybe Flavio should add that feature in the future). For single sound device during overdub I uncheck those because the playback is going through the sound device at the same time as the recording and it’s better for the sound device to sync to itself.

Quote (diogenesx @ April 13 2006,15:46)
I should also mention I’m using a laptop. I need a usb or pcmcia based solution.

Not sure I understand… Do you have slots for 4 separate pcmia sound cards in your laptop?

Also, I think that trying to grab 4 separate USB channels might be pushing the limits of your computer’s USB interface. Even though the signals come in on separate lines, there could be a bottleneck in the USB chipset where all four signals have to be handled simultaneously.

YES! YES! its exactly what I need too …, I am quite new to ntrack and I had currently know only that SONAR can do master clock for resampled recordings. Its beautifull to hear that master resampling works for you in nTrack !!!
Now I am almost sure to pay for it ASAP!

Because I want to try this scenario in future also on linux and I had more troubles with CM108 based usb audio adapters, I have posted this to linux.alsa.user group:

Sure, in fact I had similar idea to use more usb-audio adapters with HUBs and as I researched about bandwith issues, there is possibility to have USB 2.0 HUB which does “Transaction Translation” for every slave port. This feature namess exatly that: “Transaction Translator”, or shortened “TT”. But almost none of HUB vendors notice about its possibilities (sure, its defined by HUB chipset, but almost none have it in specs too, grrr) . I have found only one which is assured by specs to have TT on each port - so I bought 4 of them to test even daisy chaining, adapter unique identification (very strange, need to re-connect to the same ports everytime and before boot-up…), adapter initialization order on tree of HUBs and so on… If usb device contains unique serial ID, then “MAY BE” to have it identified in system permanently no matter of port where it is inserted, but it is VERY rare case… “TT” feature on USB20 hubs does “injection” of slower 1.1 devices (base or full speed) to HIGH speed streams of 2.0. Most USB hubs specs does not care about that, but if you have multi TT HUB, then this hopefully works simillary as network SWITCH (which also allows speed translation, as opposite to network HUBs, which are designed only for eighter 10 or 100 Mb…), …HOPEFULLY - I think, that I have not reached any limits there yet… In fact, I want to test realtime simultaneous recording from all usbaudio devices then routing all into mixing matrix with effect plugins (ntrack / jack, jamin, ardour) then sending monitors back to all usb outputs … Sure, adapters sync issue IS trouble, but I am curious WHY “jack” does not have builtin internal MASTER clock to which all unsynced inputs can be resampled !!! - OK, MOST Windows multitrack recorders does not solve this too, expecting single multitrack adapter or more this (profi class) adapters synced by SPDIF or so … - BUT, at least Cakewalk Sonar NEVER had this problem even with 2 DIFFERENT internal PCI cards while recording (Cakewalk uses lowlevel WDM exclusivelly - THIS is THE company that KNOWS HOW TO do low latency audio on windows without ASIO); BUT even SONAR does not solved CM108 based LIVE mode trouble described below…

HUBs I have in testing are this:

I tested to record at 48kHz/16bit/MONO from six CM-108 based usb phones to Adobe Audition and some more multitrack recorders successfully; phones was connected to 2 HP QuadTT HUBs and each one was conneted to third one and this one to single USB 2.0 port on PC (everything was tested on Windows, for now).

Most of my testing was done in nTrack multitrack recorder(, latest versions, but there is one more BIG issue with CM108 based adapters - they have REALLY only MONO (single channel) input and STEREO (two channels) output which causes difficulties for ntrack in LIVE mode (routing inputs through effect plugins to outputs in realtime). Creative Live! External works, cards with SONIX SN11116F (as worse Hercules Muse Pocket LT) or quite good Phillips UDA1325H based Griffin iMic (which uniquelly has DUAL channel +20dB preamp, even not highend) too.

!!! ANY CM108 based adapter caused start of periodic clicking at frequency given by buffering setup) after activating LIVE mode. Still no progress here. I think that usbaudio.sys or nTrack even SONAR does not know how to deal with (this?) 1-in/2-out adapter…

Every my test on Windows was using usbaudio.sys class driver only. I dont know where is really unsolvable trouble, but I want to test this in Linux ALSA too (unfortunatelly, I still have no knowledge about it … grrrr - but currently I am trying to play with UBUNTU and it looks fine for first attempts, then I want to try GENTOO or some realtime multimedia distro, may be PlanetCCRMA for Fedora)

Another possible issue of usb audio streaming through HUBs may be added latencies with each HUB on the way or possible problems during VERY intensive ISOCHRONOUS transfers through them. May be that this is not so much tested scenario and many HUB chips cannot solve some uncommon situatuion well. And, sure that HUBs needs to be powered itself.


To Flavio :-):
I also vote for possibility to sync for one of used recording adapters too, as MASTER - and may be some more polished settings for this scenario. May be, that if Flavio can look at “single channel input” CM108 chip support, or workaround (may be that CHIP works bad, it is not itself intended for any music apps, but with proper analog design, it is simply quite usable, it is DAT format!). Next good thing to have embedded in nTrack may be OWN MIXER API tool, handling persistent identity of more USB adapters, allowing RENAMING them to nTrack usage and save/restore all controls with project :slight_smile:
(at, there is some C# example for legacy mixer api and managed directdound classes in DX9 may help too)

Anyway, thanks for nTrack!!!

Petr Antos