There’s no reason not to install both Vanilla and Purr-Data and try them both out. When I started out with PD, I was a devotee of extended. Then I took a break for a few years, and when I came back, extended was dead and I discovered that many of my patches weren’t working well out of the box in Vanilla or Purr-Data. Since then I’ve made an effort to do all my work in Vanilla, and to be very intentional about when I install externals.

For embedded/headless use-cases, vanilla may also be preferable–I’ve never looked into doing any headless pd work with Purr-Data, so maybe I’m wrong on that, but my understanding has been that libpd is a vanilla-only thing.

I think Purr-Data is wonderful for its GUI and other quality of life improvements, and there is no reason not to use it and even work primarily within it. But I would keep an install of vanilla on hand, at least, and maybe keep track of any externals you rely on, so that if you do ever need to fall back to vanilla, you’ll be able to minimize the pains.

Thank you for all the answers! :slight_smile:

I am just learning for now, mostly out of curiosity, want to go through Johannes Kreidler’s book and then we’ll see. So I guess I’ll start with vanilla and will try out purr-data later if vanilla’s GUI annoys me or something.

1 Like

Kreidler’s book is a great starting place! I would also recommend, if you can get a hold of a copy, Andy Farnell’s excellent book “Designing Sound.” It’s chock full of really useful and well-explained patches, and it’s (entirely, I think?) vanilla, so those patches will work anywhere. Miller Puckette’s book is great, too, if you don’t mind the maths.

There is a fairly active Discord server for pd users, as well, if you do discord.

1 Like

Acreil just posted this video on his youtube channel. He walks through some fascinating patching in purr data, and includes a download link for the patch, too!

He also included a very detailed index for the video.

For those of you who aren’t familiar, Acreil is true mad wizard of pure data, historical synthesizers, alternative tunings, and more.

3 Likes

Puredata is such a nice program! I have a question that I would like to hear if anyone has any input on.

I have recently made a Max patch that gives the performers different words as inspiration for improvisations. With Max I could easily present this to everyone via Web Mira. Then They could log on to a wifi router, and open a web page that had Web Mira running on it. Words and an on screen button to press.

Does anyone know of anything similar for Puredata? How would you go about sending words to all the performers, and also present an on screen button they can press? The reason I would love to do it in Puredata is to use a Pi in stead of my mac laptop.

Pd sadly doesn’t have a built-in way of achieving this, and I can’t think of any externals which would work.

Provided you only need one-way communication from the web server to pd, the easiest way to directly duplicate what you had working with max would be to set up a simple web server on the computer Pd is running on (e.g. using PHP or python with flask, or the equivalent in your language of choice). This server can then send data to Pd using the pdsend command line tool as described here https://guitarextended.wordpress.com/2012/11/03/make-python-and-pure-data-communicate-on-the-raspberry-pi/

If you need two-way communication between the web server and Pd, it’s a bit more complicated. You’d either have to set up a UDP socket, or maybe an OSC server in addition to the web server, and then use netsend/netreceive or the various OSC objects for communication.

1 Like

I wonder if the work in making PD-patches run in a browser would make it possible for 5 people with their own devices to interact with the same patch on a local network.

1 Like

This has been possible for a while using the [netsend] and [netrecieve] objects. You can also use the [oscparse] and [oscformat] objects to make it easier to communicate with non-pd hard/software over a network. I worked on a project where the computer running pd wasn’t directly accessible so all of the control over the audio portion was done over wifi using a simple openframeworks app and osc.

I’ve never messed around with it, but you could take a look at this software: https://openstagecontrol.discourse.group/

Here’s the documentation for it: https://openstagecontrol.ammd.net/docs/getting-started/introduction/

So as long as you have a webserver serving up pages that your performers can access, you could probably get something to work using Open Stage Control. Again, I’ve never used it so I don’t know for sure! I’ve been waiting for a good long weekend where I could sit down and try some things out with it.

You could do it with GEM
or


and send message to browsers – while it;s not built in it’s easily achieved depending on what you really need
2 Likes

Roman Haefeli did this and theres now

4 Likes

My collaboration audio-visual project with Baransu, produced by Umanesimo Artificiale (Italy), and now featured on Designboom.

On this project for audio compositions / live recodings, I use Automatonism modular synth patch in Pure Data, concept with only basic waveforms (sine wave, triangle wave, sawtooth wave, square wave) as sound source + drum machines on some tracks, less effects, in between of generative digital signal processing - sound design - realtime, and minimalistic approach.

6 Likes