Puredata! (thread)

Puredata! (thread) [but also collection of resources]

Hello and welcome. This thread is about the lovely opensource software called Puredata. There have been a lot of commonly asked questions so we’ve converted this top post into a wiki/link dump to help surface some of the answers and consolidate the most up-to-date info about all things pd related.

What is Puredata?

Puredata is a “graph based visual programming environment” developed by Miller Puckette (of max/msp fame). “Graph based” really just means that you can take objects and make them point to other objects. Below is a simple patch that connects a sine wave to a “vca” [*~] and then output of that is then routed to the audio out [dac~]. The amplitude of the sinewave is controlled by a vslider with a range of 0-1.

There are a bunch of different types of objects, if you’re starting from scratch check out the pd manual for a comprehensive guide or check out the tutorial links under Resources below.

Which version of puredata should I install?

As of July 2022, most people recommend using “pd vanilla” which can be found on Miller Puckette’s site here.

Unfortunately pd-extended is no longer maintained, which means that in order to use some older patches you will have to install the external dependencies yourself. See MikeMorenoDSP’s Pd FAQ for information on installing externals.

Resources

General

Tutorials/Books

Libraries (or collections of useful objects)

  • automatonism - synth environment built on pd
  • piloslib - QOL enhancements for some PD stuff
  • pd-cyclone - max/msp objects remade for pd
  • FluCoMa - signal decomposition and analysis
  • fftease~ - collection of spectral processing objects
  • ELSE - Alexander Porres’s El Locus Solus externals

Good Reads (full apps or just good examples of Pd code)

Advanced Stuff

  • libpd - allows you to embed pd into ios/android/VSTs and so forth
  • VCV Prototype - run pd patches in VCVRack
  • faustgen~ - the FAUST compiler embedded in a Pd external
  • Camomile - create VST3, LV2, and AU plugins from Pd patches
original post

in light of the release of THE SOFTWARE — AUTOMATONISM i figured we could start a puredata thread! max/msp’s uglier minimal, more open sibling.

the automatonism library it seems like it might be close solution to a BEAP style suite for puredata, i’m hoping to slice out some time tonight to mess around with it. anyone here doing anything cool with pd? would be worth it to try and get some feature parity with max/msp and BEAP/monome?

34 Likes

I thought Automatonism looked good- especially if it could be run on a bela shield on a beaglebone - which I believe runs vanilla pd. Just something I had made a mental note to check out…

1 Like

[quote=“Zedkah, post:2, topic:7291”]
I thought Automatonism looked good- especially if it could be run on a bela shield on a beaglebone
[/quote]how would you do this?

I’m trying to wrap my head around carrying patches from automat on an organelle (which also runs vanilla)…do I need to clear everything else from mem or will this app run INSIDE the existing firmware?

All I know about this shield is what it says on the startup page… https://www.kickstarter.com/projects/423153472/bela-an-embedded-platform-for-low-latency-interact
I havent got one yet. It says that it runs pd patches.

2 Likes

aww ok I might need to start my own thread for this question

would love to see more discussion/community around pd on here! Only dipped my toe into pd really, never tried to use it for music-making. The tidal fights study group was a pretty fun way to get a taste how to get creative inside that software - can we do something similar for pd? Have to admit I can’t quite see myself how that would work…

On the dev side I have been thinking for a while it would be pretty cool to do a couple of aleph-related things inside pd:

  1. aleph-communicating pd external (trigger bees net on an actual aleph from your laptop)
  2. create glue code to compile the ‘monolithic’ bees ops as pd externals, hey presto - useful offline op development for aleph.
  3. create glue code to compile bees DSP modules as pd externals - would be a handy option for offline DSP code testing if 2. is in place…
2 Likes

Oh wow, I didn’t know about Automatonism. I just downloaded and started using it and it’s really incredible. Definitely in a similar vain to BEAP, but I’m really enjoying. I’m messing with the FM oscillators right now and they sound wonderful.
Although I agree with what is most likely the common consensus of Pure Data being the poor man’s Max/MSP, I still greatly enjoy it as a way to sketch out musical ideas. I find it just as rewarding to make a successful pure data patch than one in Max. I tend to use it a lot for generating algorithmic patches. I haven’t had an opportunity to really integrate it with hardware as much as I’d like to.

1 Like
14 Likes

There’s also Organelle-sepcific modules in it! And it should run on other platforms like the OWL as well. At least CDM seems to imply that.
tried it out the other day, and def. cool. Never tried Beap, so I can’t compare it.

I had studied a bit of Pd back when I was trying to study electronic music at the local music academy. I always was fascinated by it, but never really got into it, until recently.
I’m now currently working my way through tutorials and focusing mostly on the arrays to play and record audio.
I am working on a set that needs long bits of field recording to be played back and messed with and I can’t find anything that will let me really do what I have in mind… so I though: let’s just build the the thing I need! This finally gave me the motivation to get back into Pd.
This also means that I will probably flood this forum with silly questions :slight_smile:

8 Likes

yeah I’ve been unexpectedly busy this week and haven’t had time to test my theory but as far as I understand those organelle modules allow an organelle to be connected to the pc as a control mechanism

untethered control should also be possible

I’m yet to hear whether that requires modification, flashing firmware, etc OR if the patch can merely be loaded on organelles like any other prepared vanilla-pd patch

[quote=“papernoise, post:9, topic:7291”]
I am working on a set that needs long bits of field recording to be played back and messed with and I can’t find anything that will let me really do what I have in mind… so I though: let’s just build the the thing I need! This finally gave me the motivation to get back into Pd.
[/quote]great!

i’ll see what, if anything, I can contribute to help your project

Thanks a lot! Very much appreciated!

It’s been a few years since I updated, but I did make an attempt to create a little sampler in puredata https://github.com/zzsnzmn/puredata-sampler. Probably going to dust that off in light of the automaton thing. My biggest complaint with using puredata is the lack of built-in monome primitives, but that’s a completely solvable problem.

If you end up figuring out the recording bit, I’d be very interested to take a look at the code to do so. I recently sold off my trusty sp404 and kinda regret not having a great back up outside of using ableton.

2 Likes

Great video. It’s ironic, though, and such a shame that the video has this bad audio quality.

1 Like

When I was a poor student back in 1999/2000 I got into PD because I couldn’t afford the $700 for Max. It was awesome. I used PD for every project I worked on from then until about 2013 when I got a Max license. I still use both often. PD is great for embedded devices, for instance.

I used to have a performance environment in PD with a number of samplers, granulators, and delays. Worked really well.

I still prefer Gem for graphics over Jitter.

Not as pretty as Max, but equally functional.

Looking forward to following and contributing to this thread.

4 Likes

Sure thing! Don’t expect too much though, I’m not really a great coder. :slight_smile:

I did fund this one here: http://blokas.io/ hope it work out fine… but looks like a great fit for Pd and what I have in mind. Pisound+Faderfox UC-4 and off we go!

1 Like

I’ve been running PD on Raspberry Pi 3. It’s great for sensor interfacing.

2 Likes

Yep sensor interfacing might be the next step… but let me not think too much ahead :slight_smile:

1 Like

yes, could be better audio-
and it’s kinda cool though
that my phone lets me sit in
on a class in la jolla :slightly_smiling_face:

thanks for this thread
this module set is great!
does anyone know of a module for getting a monome grid (grayscale 64) in to control stuff in pd?

1 Like

http://monome.org/docs/grid-studies/pd/ is your best bet to get started with grid+pd

2 Likes