thanks Jason - this sounds promising, and I'll give it a try on my system.<br>-Dave<br><br><div><span class="gmail_quote">On 9/18/07, <b class="gmail_sendername">Jason Plumb</b> <<a href="mailto:jason@noisybox.net">
jason@noisybox.net</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">David Merrill wrote:<br> > yes, I've heard that alsa has the ability to create a single,
<br>"virtual > sound card" from multiple individual cards, but so far I<br>haven't been<br> > able to make this work - I'm interested though, to hear from anyone<br> > who has done it. also heard a rumor that new versions of jack may be
<br> > able to connect to multiple cards at the same time - again, I don't<br> > have specific info, but am curious to hear if anyone has done it.<br><br>David,<br><br>In my audiopint setup, I'm using 4 USB iMics in a cheapo USB
1.1 hub. I<br>use all 4 stero inputs and the one single stereo output of the first<br>iMic. I haven't confirmed it, but I'm confident that fully duplexed<br>stereo on all 4 devices would go over the theoretical
1.1 bandwidth (my<br>setup does not).<br><br>I multiplex the 4 cards into a single virtual card using the attached<br>asoundrc (which should be named as ~/.asoundrc).<br><br>I am successfully using this 8-in-2-out virtual card with jackd
0.103.0<br>(realtime) and pd 0.40-2 (realtime). Jackd > 0.102.20 is required to<br>pick up MMAP_COMPLEX, which allows memory mapping multiple multiplexed<br>cards (??). My jackd usage is:<br><br> jackd --realtime -d alsa -C capture8 -P iMic1 -p64 -n2
<br><br>and then I make sure I start pd with -jack -inchannels 8 -outchannels 2<br>(and other less relevant params). I'm pretty sure the clocks aren't<br>exactly synchronized (I would appreciate confirmation or refutation),
<br>but it hasn't really caused me any pain yet, even though I should likely<br>back -p64 down to -p128.<br><br>I'm pretty sure I had limited success getting pd to work in alsa mode<br>with the given .asoundrc...but to be honest, my focus was on jack first.
<br><br>-jason<br><a href="http://noisybox.net">http://noisybox.net</a><br><br><br>pcm.iMic1 {<br> type hw<br> card 0<br>}<br>ctl.iMic1 {<br> type hw;<br> card 0;<br>}<br><br>pcm.iMic2 {<br> type hw
<br> card 1<br>}<br><br>pcm.iMic3 {<br> type hw<br> card 2<br>}<br><br>pcm.iMic4 {<br> type hw<br> card 3<br>}<br><br>pcm.capture8 {<br> type multi;<br> slaves.a.pcm hw:0<br>
slaves.a.channels 2;<br> slaves.b.pcm hw:1<br> slaves.b.channels 2;<br> slaves.c.pcm hw:2<br> slaves.c.channels 2;<br> slaves.d.pcm hw:3<br> slaves.d.channels 2;<br><br>
bindings.0.slave a;<br> bindings.0.channel 0;<br> bindings.1.slave a;<br> bindings.1.channel 1;<br><br> bindings.2.slave b;<br> bindings.2.channel 0;<br> bindings.3.slave b;<br>
bindings.3.channel 1;<br><br> bindings.4.slave c;<br> bindings.4.channel 0;<br> bindings.5.slave c;<br> bindings.5.channel 1;<br><br> bindings.6.slave d;<br> bindings.6.channel 0;
<br> bindings.7.slave d;<br> bindings.7.channel 1;<br><br>}<br><br>ctl.capture8 {<br> type hw;<br> card 0;<br>}<br><br>_______________________________________________<br>PD-dev mailing list<br>
<a href="mailto:PD-dev@iem.at">PD-dev@iem.at</a><br><a href="http://lists.puredata.info/listinfo/pd-dev">http://lists.puredata.info/listinfo/pd-dev</a><br><br></blockquote></div><br><br clear="all"><br>-- <br>MIT Media Lab
<br><a href="mailto:dmerrill@media.mit.edu">dmerrill@media.mit.edu</a><br><a href="http://web.media.mit.edu/~dmerrill/">http://web.media.mit.edu/~dmerrill/</a>