Hi,
I'm trying to run a PD patch that reads sensor values from a Bela board through OSC, and I have this strange thing happening.
If I run my patch with the default audio settings (built-in sound card), everything works fine. But if I switch to my usb sound card (RME fireface uc) PD's GUI totally crashes, and OSC goes wrong, data transmission is delayed, even when DSP is off. PD gets back to normal when I stop the program on Bela. I know the patch itself is not at fault, as it still happens with only one object (both [udpreceive] and [netreceive]. Any ideas? I run PD 0.48-1 on OSX 10.7.5.
-
PD crashes with OSC
-
@LucienR Could it be, if the Fireface has been flashed or supplied with "Totalmix" .... that you have chosen the same network ports as Totalmix for your netsend/netreceive?
That would be seriously unlucky though.
Does the fireface work properly with Pd for a simple audio patch with no network traffic?
If not, then your Pd audio settings are wrong for the Fireface.
If it does then........ ?
David. -
Thanks for your answer David. Yes I've used this soundcard for years with PD, it works very well. Actually, in an attempt to solve this problem I tried to change the block size from the audio settings, and I realized pd crashes when I do so, only 64 and 128 work. [block~] works normally. I've been told on the bela forum that the problem might be the high frequency of the osc messages (bela's default block size is 16, i.e. about 3000 osc messages per second). The only thing that works for now is to set bela's block size to its maximum, 128. I've also noticed that the cpu load remains very low, even when PD starts to go wrong...
-
@LucienR Maybe spreading the OSC load across many ports would help, or putting all of the data stuff except controls into a sub-patch. The GUI is less likely to be stalled by the audio chain if it is in the background (as recommended for tables).
David. -
I know for sure my patch is not at fault : it happens with a single stream of osc messages, with a patch containing only one abject, either [netreceive] or [udpreceive]. Anyway, for now i guess i'm going to use MIDI...