All of lore.kernel.org
 help / color / mirror / Atom feed
From: Doug <nostar@comcast.net>
To: Ludwig Schwardt <schwardt@sun.ac.za>, alsa-devel@lists.sourceforge.net
Subject: Re: Multiple Delta 1010LT woes: UPDATE
Date: Sat, 21 Feb 2004 03:28:42 -0500	[thread overview]
Message-ID: <403716BA.7010505@comcast.net> (raw)
In-Reply-To: <4036521E.9070407@sun.ac.za>

Hi Ludwig,

Are you in possesion of multiple cards at the moment?  If so, have you 
tested any multitrack recording of analog inputs from both cards 
simultaneously yet?  I have 1 1010LT now, and am planning on a second 
one within the month, to create a 16 track live recording studio.  This 
guy that wrote the article (link below) didn't have good luck with 
multiple cards (actually he ran a 1010 and 1010LT), but he didn't use 
word clock sync for one, so I'm still optimisitc. Keep me informed...

Thanks,
Doug

http://www.sonicstate.com/articles/article.cfm?page=1&id=41

Ludwig Schwardt wrote:
> Hi again,
> 
> I've made some progress on the .asoundrc issue. I can now record 8 
> analog channels in JACK using a single Delta 1010LT piped through the 
> multi plugin. I cannot get playback to work yet. This is luckily not a 
> problem for my application, which only records sound. Any ideas on 
> getting playback to work?
> 
> I do notice a few extra warnings popping up which wasn't there when I 
> accessed the soundcard directly, namely "late driver wakeups" followed 
> by e.g. "delay of 46411.000 usecs exceeds estimated spare time of 
> 45230.000; restart ...". These delays are always very close to the 
> estimated spare time. Since I cannot playback within JACK, I cannot tell 
> whether this has an audible effect. Should I be worried?
> 
> I attach my .asoundrc for everyone else who struggles with this issue.
> Hopefully I can just uncomment the commented blocks when the other 
> Deltas arrive... Any remarks would be very helpful (for example, do I 
> understand bindings and ttables correctly in my comments below?).
> 
> By the way, I started JACK with "jackd -R -d alsa -d jackmulti -C". It 
> becomes unhappy if you leave out the -C flag.
> 
> Thanks and sorry for all the nagging questions,
> 
> Ludwig Schwardt
> 
> P.S. What is the rule regarding slaves.xxx.channels in multi plugins? It 
> seems you have to set this equal to the actual number of channels of the 
> soundcard (slaves.xxx.pcm) to prevent "invalid argument" and "broken 
> configuration" ALSA errors. What do you choose if the number of capture 
> and playback channels differ?
> 
> ----------------------------------------
> 
> # START OF .asoundrc
> 
> # Alias for first Delta card
> pcm.delta1010_1 {
>    type hw
>    card 0
> }
> ctl.delta1010_1 {
>    type hw
>    card 0
> }
> 
> # Alias for second Delta card
> #pcm.delta1010_2 {
> #   type hw
> #   card 1
> #}
> #ctl.delta1010_2 {
> #   type hw
> #   card 1
> #}
> 
> # Alias for third Delta card
> #pcm.delta1010_3 {
> #   type hw
> #   card 2
> #}
> #ctl.delta1010_3 {
> #   type hw
> #   card 2
> #}
> 
> # Create virtual device out of multiple soundcards.
> # This cannot be used by JACK, which will complain that it
> # cannot get mmap-based access. See jackmulti below.
> pcm.multi {
>     type multi
>     # First soundcard associated with slave "a"
>     slaves.a.pcm delta1010_1
>     # This must be specified, and MUST equal 12 for the Delta 1010LT
>     # (otherwise "broken configuration" and "invalid argument" errors 
> result)
>     # I assume it must be equal to the correct number of channels on
>     # other soundcards too
>     slaves.a.channels 12
> #    slaves.b.pcm delta1010_2
> #    slaves.b.channels 12
> #    slaves.c.pcm delta1010_3
> #    slaves.c.channels 12
> 
>     # Read the lines below as follows:
>     # bindings.x.slave y
>     # bindings.x.channel z
>     # The above example means:
>     # "Bind channel z on slave y to channel x of the new multi device"
>     # Check above to see which soundcard is associated with which slave
> 
>     # The first 8 channels of the first soundcard
>     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
> 
>     # The first 8 channels of the second soundcard
> #    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
> 
>     # The first 8 channels of the third soundcard
> #    bindings.16.slave c
> #    bindings.16.channel 0
> #    bindings.17.slave c
> #    bindings.17.channel 1
> #    bindings.18.slave c
> #    bindings.18.channel 2
> #    bindings.19.slave c
> #    bindings.19.channel 3
> #    bindings.20.slave c
> #    bindings.20.channel 4
> #    bindings.21.slave c
> #    bindings.21.channel 5
> #    bindings.22.slave c
> #    bindings.22.channel 6
> #    bindings.23.slave c
> #    bindings.23.channel 7
> }
> # JACK requires a ctl (mixer) interface for any pcm interface
> # it uses. A ctl interface for a multi device is a bit strange,
> # but set this to the mixer of the first soundcard to keep JACK happy.
> ctl.multi {
>     type hw
>     card 0
> }
>                
> # This creates a multi-channel interleaved PCM stream based on
> # the multi device. JACK will work with this one, as it can get
> # mmap access to the channels.
> pcm.jackmulti {
>     type route
>     slave.pcm multi
> 
>     # As I understand it, you read "ttable.x.y z" as "route channel y of
>     # slave device specified above to channel x of the new (client) device,
>     # and multiply signal along this route with factor z", where z is
>     # between 0.0 and 1.0. A value of 1.0 therefore indicates no change to
>     # the signal (a straight routing between channels).
>     ttable.0.0 1.0
>     ttable.1.1 1.0
>     ttable.2.2 1.0
>     ttable.3.3 1.0
>     ttable.4.4 1.0
>     ttable.5.5 1.0
>     ttable.6.6 1.0
>     ttable.7.7 1.0
> 
> #    ttable.8.8 1.0
> #    ttable.9.9 1.0
> #    ttable.10.10 1.0
> #    ttable.11.11 1.0
> #    ttable.12.12 1.0
> #    ttable.13.13 1.0
> #    ttable.14.14 1.0
> #    ttable.15.15 1.0
> 
> #    ttable.16.16 1.0
> #    ttable.17.17 1.0
> #    ttable.18.18 1.0
> #    ttable.19.19 1.0
> #    ttable.20.20 1.0
> #    ttable.21.21 1.0
> #    ttable.22.22 1.0
> #    ttable.23.23 1.0
> }
> # JACK requires a ctl (mixer) interface for any pcm interface
> # it uses. This is set to the first soundcard to keep JACK happy.
> ctl.jackmulti {
>     type hw
>     card 0
> }
> 
> # END OF .asoundrc
> 
> 
> 
> -------------------------------------------------------
> SF.Net is sponsored by: Speed Start Your Linux Apps Now.
> Build and deploy apps & Web services for Linux with
> a free DVD software kit from IBM. Click Now!
> http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/alsa-devel
> 

-- 
http://nostar.isa-geek.com/



-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click

  parent reply	other threads:[~2004-02-21  8:28 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-20 18:29 Multiple Delta 1010LT woes: UPDATE Ludwig Schwardt
2004-02-21  8:26 ` Jaroslav Kysela
2004-02-21  8:28 ` Doug [this message]
2004-02-21  9:34   ` Tommi Sakari Uimonen
2004-02-29 12:42   ` Multiple Delta 1010LT woes: verdict Ludwig Schwardt
2004-02-29 21:04     ` Doug

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=403716BA.7010505@comcast.net \
    --to=nostar@comcast.net \
    --cc=alsa-devel@lists.sourceforge.net \
    --cc=schwardt@sun.ac.za \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.