[PlanetCCRMA] jackd and two Delta1010 cards

Bob Wilkinson wilkinson.bob@comcast.net
Mon Jul 3 18:15:26 2006


I am less concerned about the wordclock sync issue, because the Delta1010 is a true multichannel card with wordclock in/out, so the wordclock of the first card can control the second.  (I took option "A" - buy the expensive card.  The only problem is, I bought two).  I just want more than 8 channels - ideally I will have 24 analog input, but right now I'm working with 16 analog.

I just wanted to avoid Windows as much as possible, and fell in love with Ardour when I only had one 1010 to work with.

Thanks for the start - if anyone else has any suggestions, I will be very appreciative!


 -------------- Original message ----------------------
From: "blindman jones" <erleichda@gmail.com>
> If you get it working, please post how... this gets asked a lot and I
> have yet to hear of a success... Here are a few resources...
> 
> Timo shows how you can use one cards crystal to sync the two...
> http://quicktoots.linuxaudio.org/toots/el-cheapo/
> 
> &
> 
> http://alsa.opensrc.org/index.php?page=TwoCardsAsOne
> 
> &
> 
> http://lau.linuxaudio.org/audio_quality_HOWTO.htm#multi
> 
> "Many people attempt to get more than two simultaneous inputs or
> outputs by putting more than one cheap soundcard in their system. I
> suppose this can be made to work, but I've yet to hear from anyone
> who's really pulled it off without big problems. The trouble is that
> each soundcard derives its sampling rate from a crystal oscillator
> clock. The clocks in the two soundcards will inevitably not be
> synchronized. You might think that 44,100 Hz is always exactly 44,100
> Hz, but sadly, it's not. Your software doesn't know this - it thinks
> 44,100 samples from one card represents the same amount of time as
> 44,100 samples from the other. As a result, the sound from one
> soundcard will gradually lag farther and farther behind the sound from
> the other soundcard. If there's any sound common to both cards, you
> may even get weird phasing effects.
> 
> There are only three possible remedies:
> 
>    1.
> 
>       Use a true multichannel soundcard. See below for information on
> cards that work with Linux.
>    2.
> 
>       Use cards that can be sync'ed to an external clock, and drive
> one card with the other card's clock. I do not know what (if any)
> cards that support synchronization work with any of the linux drivers.
> There is an interesting card in development that has this feature. It
> has a website here.
>    3.
> 
>       Compensate for the discrepancy in software. I don't know of any
> existing linux software that does this, nor do I know how it could be
> done. The topic does occasionally come up on the linux-audio-dev
> mailing list.
> 
> If anyone has successfully implemented either of these last two
> strategies on a linux box, please write me at slinkp@angelfire.com."
> 
> On 7/3/06, Bob Wilkinson <wilkinson.bob@comcast.net> wrote:
> > Hopefully someone can help me on this.  I have installed Planet CCRMA from an 
> FC4 installation.  I am using two Delta1010 sound devices, and am trying to get 
> them to act as one big device.
> >
> > I have searched the web, and found an .asoundrc file (I actually wrote it to 
> /etc/asound.conf) to create the "virtual" card (binding the two cards together).  
> My asound.conf file looks like this:
> >
> > pcm.multi_capture {
> >         type multi
> >         slaves.a.pcm hw:0
> >         slaves.a.channels 12
> >         slaves.b.pcm hw:1
> >         slaves.b.channels 12
> >
> > # First 8 channels of first soundcard (capture)
> >         bindings.0.slave a
> >         bindings.0.channel 0
> >         bindings.1.slave a
> >         bindings.1.channel 1
> >         bindings.2.slave a
> >         bindings.2.channel 2
> >         bindings.3.slave a
> >         bindings.3.channel 3
> >         bindings.4.slave a
> >         bindings.4.channel 4
> >         bindings.5.slave a
> >         bindings.5.channel 5
> >         bindings.6.slave a
> >         bindings.6.channel 6
> >         bindings.7.slave a
> >         bindings.7.channel 7
> >
> > # First 8 channels of second soundcard (capture)
> >         bindings.8.slave b
> >         bindings.8.channel 0
> >         bindings.9.slave b
> >         bindings.9.channel 1
> >         bindings.10.slave b
> >         bindings.10.channel 2
> >         bindings.11.slave b
> >         bindings.11.channel 3
> >         bindings.12.slave b
> >         bindings.12.channel 4
> >         bindings.13.slave b
> >         bindings.13.channel 5
> >         bindings.14.slave b
> >         bindings.14.channel 6
> >         bindings.15.slave b
> >         bindings.15.channel 7
> >
> > # S/PDIF section. Uncomment bindings if required.
> >
> > # S/PDIF first soundcard (capture)
> >         #bindings.16.slave a
> >         #bindings.16.channel 8
> >         #bindings.17.slave a
> >         #bindings.17.channel 9
> >
> > # S/PDIF second soundcard (capture)
> >         #bindings.18.slave b
> >         #bindings.18.channel 8
> >         #bindings.19.slave b
> >         #bindings.19.channel 9
> > }
> >
> > ctl.multi_capture {
> >         type hw
> >         card 0
> > }
> >
> > pcm.multi_playback {
> >         type multi
> >         slaves.a.pcm hw:0
> >         slaves.a.channels 10
> >         slaves.b.pcm hw:1
> >         slaves.b.channels 10
> >
> > # First 8 channels of first soundcard (playback)
> >         bindings.0.slave a
> >         bindings.0.channel 0
> >         bindings.1.slave a
> >         bindings.1.channel 1
> >         bindings.2.slave a
> >         bindings.2.channel 2
> >         bindings.3.slave a
> >         bindings.3.channel 3
> >         bindings.4.slave a
> >         bindings.4.channel 4
> >         bindings.5.slave a
> >         bindings.5.channel 5
> >         bindings.6.slave a
> >         bindings.6.channel 6
> >         bindings.7.slave a
> >         bindings.7.channel 7
> >
> > # First 8 channels of second soundcard (playback)
> >         bindings.8.slave b
> >         bindings.8.channel 0
> >         bindings.9.slave b
> >         bindings.9.channel 1
> >         bindings.10.slave b
> >         bindings.10.channel 2
> >         bindings.11.slave b
> >         bindings.11.channel 3
> >         bindings.12.slave b
> >         bindings.12.channel 4
> >         bindings.13.slave b
> >         bindings.13.channel 5
> >         bindings.14.slave b
> >         bindings.14.channel 6
> >         bindings.15.slave b
> >         bindings.15.channel 7
> >
> > # S/PDIF section. Uncomment bindings if required.
> >
> > # S/PDIF first soundcard (playback)
> >         #bindings.16.slave a
> >         #bindings.16.channel 8
> >         #bindings.17.slave a
> >         #bindings.17.channel 9
> >
> > # S/PDIF second soundcard (playback)
> >         #bindings.18.slave b
> >         #bindings.18.channel 8
> >         #bindings.19.slave b
> >         #bindings.19.channel 9
> > }
> >
> > ctl.multi_playback {
> >         type hw
> >         card 0
> > }
> >
> > However, when I attempt to run JACK from a command line,
> >
> > jackd -d alsa -C multi_capture -P multi_playback
> >
> >  I get the error:
> >
> > ALSA: mmap-based access is not possible for the capture stream of this audio 
> interface
> > ALSA: cannot configure capture channel
> >
> > I have tried just starting jack for multi_playback only - same error, just 
> replaced with "playback".
> >
> > Unfortunately, I'm a complete newbie, and now have less than a week before my 
> company expects this thing to be up and running flawlessly.
> >
> > Can anybody help?  What am I missing?
> >
> > Thanks in advance!
> > Bob Wilkinson
> >
> > _______________________________________________
> > PlanetCCRMA mailing list
> > PlanetCCRMA@ccrma.stanford.edu
> > http://ccrma-mail.stanford.edu/mailman/listinfo/planetccrma
> >
> 
> 
> -- 
> michael jones * erleichda archiving * usa
> shivering is the first step towards your destiny.....