Hi . .
Here's an update. I was able to compile Pd-0.51-2 and run Pd on the Raspberry Pi 4. Thank you to Whale-Av / David for the clear instructions.
I navigated to the Quack/bin folder where the server patch is and ran this command:
/home/pi/src/pd-0.51-2/bin/pd -nosound -nogui -nrt netty-mcserver.pd &
the command line returned this:
Checked to see if the process is running and it appears to be:
ps -ef | grep pd
pi 1112 1096 4 19:08 pts/0 00:00:01 /home/pi/src/pd-0.51-2/bin/pd -nosound -nogui -nrt netty-mcserver.pd
So, feeling good right? I checked the port forwarding on my router and opened ports 10000 to 10100 going to the Pi. That should be solid since I previously ran some tests with some colleagues using the same network but pointing to my iMac running netty.mcserver.pd.
When I open netty-mcnetface.pd on my iMac and put in the Pi's DNS name (bitpanic.org) into the patch as the server I get a netsend error:
netsend: bad host or port? nodename nor servname provided, or not known (8)
I also tried the direct IP (not the local IP) and no dice . .
Anyway, I'm going to see if someone outside of my network can connect. Maybe it is some sort of internal routing issue.
I'm also not clear if the patch "netty-mcserver.pd" will work on a Raspberry Pi. I've been following Michael Dessen's google doc on getting this to work on a Debian server so it must work but maybe not on the Pi? Michael says in his instructions that he got to work on a single core Debian server on Linode. I guess I could try that but where's the fun? : > ) And, we (CalArts) are running two streaming servers on campus that are Raspberry Pi's so I'd love to get it work.
Anyway, will keep plugging away. Any insight is appreciated!
Thanks for the info! I did find this . .
I'm going to try compiling PD 0.51 on the Pi and report back if I can get it to work. The Pi runs a version of Debian so hopefully the instructions will apply.
I previously installed Pd via Apt but it is not the latest version. When I run "netty-mcserver.pd" I get TCP errors. Hopefully updating to .51 will do the trick
Hi All . .
I've been runnning Pd-Extended on a number of Raspberry Pis for an installation. Its working great for the most part. I had eight Pi's running Pd for over 24 hours straight without much trouble. However, occasionally one of the pis will stop producing sound out of nowhere and give the dreaded "Alsa input error (restart failed) : cannot allocate memory)". Pd does not crash as the Pd process is still running along but since there is no sound I was wondering if there was a way through a shell script to check and see if the Alsa process is working properly. is there a process or ID number associated with the alsa sound running? if there is I could simply reboot the Pi when alas fails and keep things going. Or is there another way to check and see if Pd is still producing sound independent of the Pd process
Hi . . .
I have a Pd patch that uses multiple random objects to trigger random envelope points, random envelope times, and a random pitch. In total there are about 17 random objects in the patch. I'm trying to solve an issue where all of the random numbers being generated are the same across multiple Raspberry Pi computers. If I load the patch using Terminator on all eight RPIs and send a bang to trigger a note via OSC all of the random numbers are identical even though the Pd patch is loaded on eight different RPIs.
So I looked into this further and changed each RPI to have a different time zone and I seeded the randoms in the patch using the "current system time" method. This solved the problem of the eight RPIs generating identical random numbers compared to each other but seeding the randoms caused all of the random numbers specific to each Pd patch to be the same! I hope I explained that correctly - micro randoms are identical in each patch (the envelope times and points are the same in each instance) but the macro randoms are different (each RPI has different random numbers compared to the other RPIs). I could probably try and seed 17 random objects in a different way in the patch but that seems like overkill to me.
My temporary solution is to load the patch on one RPI, trigger all of the various random objects once via OSC, and repeat seven more times for each RPI. It solves the issue of all the random numbers being identical but it is a rather tedious process to go through to get a piece ready to perform. I guess I'm surprised that a Pd patch using random numbers loaded on eight completely different computers will generate identical random numbers when started at the same time!
My goal is to be able to use Terminator to start 8 instances of the Pd patch with a single command (pd -nogui /home/pi/pd waveOSC10.pd), trigger the notes together via OSC and have the random numbers be completely different in each instance of the patch and compared to the other instances running. Any ideas or advice is appreciated. Thanks!
Hey . .
I have a pd patch that uses the keyup object to trigger a few sound options. I'm running it on a headless Raspberry Pi using the command "pd-extended - nogui /home/pi/seq.pd &" . The patch works fine except that the keyboard commands are no longer recognized by the keyup object in the patch. I found this to be true on OS X as well. I checked out the -h options but don't see anything obvious. Is there a way to have Pd recognize keyboard commands via the keyup object when launched from the command line? Thanks!