Hi!
I'm trying to use five (or more) ultra-cheap stereo-USB-speakers together. Four of them are working when starting pd with
/usr/bin/pd -rt -oss -audiooutdev "2,3,4,5,6" -outchannels "2,2,2,2,2" multiaudiotest.pd
when looking into media, audio-settings dialog, only the first four of them are visible and also only these four are usable for output.
this is with Pd version 0.41-4extended, ubuntu-intrepid and also pd 0.42.5. I assume this is a hard coded limit which can be changed - but I don't know where...
cheers, Martin
hmm... "grep 4 *.c" didn't seem to help when I tried it. Anyhow, I found two places that would have to change: in s_stuff.h:
#define MAXAUDIOINDEV 4 #define MAXAUDIOOUTDEV 4
and in s_audio_oss.c:
#define OSS_MAXDEV 4 /* maximum number of input or output devices */
On a somewhat related note, you'l eventually get sync errors between the devices unless you can find a way to hard-sync them. If I were trying it, I'd just phase-lock the crystals by connecting the five (or N) together in parallel. Worst that could happen is I'd have to buy 5 more interfaces :)
M
On Fri, Jul 17, 2009 at 04:28:38PM +0200, Martin Schied wrote:
Thanks!
it's working fine now...
I'll try to use a common clock later, but for now it's sufficient like this. I's playing music for over an hour without recognizable dropouts...
Ideas how to test for asynchronity (audioble effects?) and how strong they become? I used 0.1 ms bursts of 10kHz sines and also short swept sines. At least there were recognizable effects like distorted localization of sounds.
To have a block wise sync I planned to use a microphone and measure roundtrip latency before starting my patches.
cheers Martin
Miller Puckette wrote:
On Fri, 17 Jul 2009, Miller Puckette wrote:
It doesn't help because the way the max devices is hardcoded is using copy-paste. You have to look for four times almost the same thing in a row, but this is not something grep can do.
Once you have deleted enough lines in proc pdtk_audio_dialog, this proc will support unlimited devices at once.
I mean "delete" by preserving existing functionality. It involves an underrated device called a for-loop.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec