[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.....