5 ms·
Pure Data: an open source visual language for multimedia
- Jason_Protell 4y agoI love Pure Data! Brian Eno used it to create the music for Spore. https://en.m.wikipedia.org/wiki/Development_of_Spore https://en.m.wikipedia.org/wiki/Development_of_Spore https://lists.puredata.info/pipermail/pd-list/2007-11/056307.html https://lists.puredata.info/pipermail/pd-list/2007-11/056307...
- slurpmaker 4y agoBrian Eno is somewhat of a god.
- speps 4y agoAn amazing project using Pd: https://danieliglesia.com/mobmuplat/ https://danieliglesia.com/mobmuplat/ It's sort of a custom GUI tool for the Pd patch you create.
- monetus 4y agoThis is like object oriented c, meant for real-time mostly but I honestly use it most for sample processing and synthesizer design. Fantastic software. Fun fact: miller Puckette, pd's author, also wrote the first versions of max/msp, but the IP was owned by the university he worked for at the time. IRCAM? I can't remember, but that led to cycling74 spinning it off, cultivating jitter and eventually gen~ while being bought up by Ableton. Great histories, great math, arguably great code. It acts like the proverbial gateway drug, addicting musicians and artists to programming in text. I like Visual programming, but the paradigms themselves are pretty transferable to event oriented environments.
- chresko 4y agoMSP is Miller S Puckette. C Sound was the precursor to many of the visual and OO music programming languages, but needed to be compiled and was, well, difficult. Supercollider was heavily influenced by Max/MSP. David Zicarelli of C74 fame had a background in psychology before programming. Kit Clayton wrote the first version of jitter. Autechre are probably the best known artist for using all of the above mentioned software in some form.
- listenfaster 4y agoSeeing your use of past-tense here, I have to plug: I'm a 25 year+ Csound enthusiast. Still very happily composing with Csound along with the rest of the small but committed community. Being a lifelong programmer, I prefer it to Pd, Max and Supercollider, and think many HN folks would too. https://csound.com/ https://csound.com/ You may find better instruction material than you had in the past in the excellent Csound Floss manual. https://flossmanual.csound.com/ https://flossmanual.csound.com/
- flats 4y agoYes to this! For many purposes, Csound is hard to beat. It has some truly incredible sounding opcodes, and it’s capable of sample-accurate performance in a way that Pd or Max can’t really achieve, even with the Max scheduler in overdrive. On top of all that, there are externals for Max and Pd to run Csound within those environments. You can get the best of both worlds! Csound is still very relevant and useful.
- hecanjog 4y agoThe early history (it's a really fun story) is touched on in this episode of Darwin Grosse's lovely podcast interview with Miller Puckette: https://artmusictech.libsyn.com/podcast-090-miller-puckette https://artmusictech.libsyn.com/podcast-090-miller-puckette (Rest in peace, Darwin Grosse. His work is probably familiar if you're a computer music person, and worth checking out regardless.)
- buescher 4y agoThis blew my mind, a software defined FM radio demodulator in Pure Data: https://www.rtl-sdr.com/rtl-sdr-puredata-maxmsp/ https://www.rtl-sdr.com/rtl-sdr-puredata-maxmsp/ Obvious-ish in retrospect, right? Not before.
- virgil_disgr4ce 4y agoFunny seeing Pd randomly on the front page of HN! I once (a LONG time ago) built a browser-based GUI for a remote Pd server: https://github.com/t3db0t/PureeData https://github.com/t3db0t/PureeData
- honkycat 4y agoI've dove into PD vs Max quite a bit the last few months, and I've found PD to be a bit... archaic in it's design and how it looks. Max looks much nicer, but they both have the same problem: Lack of community. I expected to be able to treat PureData or Max like any other programming language: find a book, watch some tutorials, and get up to speed. Additionally, there isn't really a central "repo" for PureData. I want to search through patches that people have shared for learning and re-use purposes. However, I am unable to find such a thing.
- monetus 4y agoThe gui really needs its own theming if you use it a lot, and the header file that is supposed to be the stable api is... Limited. Thankfully the unstable stuff hasn't been changed in years so ¯\_(ツ)_/¯. https://patchstorage.com/ https://patchstorage.com/ has been making a pretty heroic effort at being a searchable hub for, pure data in the beginning, but now many. The forum is the most active for posting patches, but is terrible at indexing. https://forum.pdpatchrepo.info/category/2/patch https://forum.pdpatchrepo.info/category/2/patch Puredata.info was the historic one right? Even though I remember using sourceforge a lot. Some interesting things there, but I don't think people post patches or even plugins on the main site much anymore. On the sourceforge note, plenty in GitHub too. Sometimes, /r/puredata
- frou_dh 4y ago> I've found PD to be a bit... archaic in it's design and how it looks. Pd's creator was originally a mathematician and IIRC he said that the look he was going for is that you start off with a clean sheet of white paper and draw simple figures and lines on it
- xhevahir 4y agoThere's a project called Purr Data that has an HTML5 user interface and lots of extra libraries: https://git.purrdata.net/jwilkes/purr-data https://git.purrdata.net/jwilkes/purr-data
- anigbrowl 4y agoThere's a community, it's just very conservative. The problem (especially with PD) is that the community is hostile to anyone who says 'hey, this is great, but hard to use.' It was true >20 years ago when I first became acquainted with PD and even more so now. Any criticism or unwelcome suggestions are treated as an insult to Miller Puckette and the proponent is attacked, ignored, or advised to implement it themselves (ie to go away and not come back). PD's interface is stuck in the 1980s, with the monochrome graphics, lack of any support functionality (contextual menus or rearrangement/tidying functions, snapping) and idiosyncratic terminology (eg PD refers to module connectors as 'patch cords' just like on an analog modular synthesizer or mixer, but what synth people commonly call a pulse or a trigger is a 'bang' in PD). And its users mostly like it that way, the same way some people fetishize 8 bit videogames. There have been more accessible versions of the same idea for a long time (ie the mid-90s), from Clavia's Nord Modular in hardware and Native Instrument's software synth Reaktor in the commercial space to solo projects like Ross Bencina's Audiomulch. The latter was very obviously inspired by PD but iterated on every aspect of the design, making it far more accessible and flexible. PD's defenders (kinda like CSound's) emphasize how open-ended it is and that you can do anything, render any concept etc. In the audio synthesis world it's well understood that the more a manufacturer emphasizes unlimited creativity, massive patch storage, infinite potential etc., the less good the UI and the more basic the default quality of the sound engine. You can make it do anything, but unless you already have a very specific goals you will spend most of the time reinventing wheels in parameter space. If you want a mature technology stack for implementing an audio subsystem (eg in a game), it might be a very good choice. If you just want a flexible tool to make electronic music, it's best avoided.
- ablanton 4y agoPD is great, what other language is working towards a 30 year backward compatibility!
- WillAdams 4y ago(La)TeX https://www.tug.org https://www.tug.org It won't change so that Knuth can finish: https://www-cs-faculty.stanford.edu/~knuth/taocp.html https://www-cs-faculty.stanford.edu/~knuth/taocp.html
- monetus 4y agoReally, that is something that sets it apart in my mind. An explicit, rolling two decade+ compatibility effort.
- brudgers 4y agoCommon Lisp is almost to thirty years because it has a consensus standard.
- blacksqr 4y agoTcl.
- WillAdams 4y agoCame across this because it's been used for FreeCAD: https://forum.freecadweb.org/viewtopic.php?t=51429 https://forum.freecadweb.org/viewtopic.php?t=51429 but couldn't manage to wrap my mind around FreeCAD so as to benefit from it.
- khitchdee 4y agoFWIW, it's possible to program multimedia using Java via the ISO's MPEG-J framework. It's not as easy as PureData but it's very flexible and you get all the goodness of Java to boot. https://mpeg.chiariglione.org/standards/mpeg-4/mpeg-j-extension-rendering https://mpeg.chiariglione.org/standards/mpeg-4/mpeg-j-extens... https://www.ddj.com/jvm/the-mpeg-4-java-api-mpeglets/184405021 https://www.ddj.com/jvm/the-mpeg-4-java-api-mpeglets/1844050...
- thenoblesunfish 4y agoI love pd! I learned it in Puckette's course as a freshman and honestly don't remember many things as fun.
- nebyoolae 4y agoI also learned about pd from the man himself back in college. When did you attend?
- monetus 4y agoYou can compile to vst with camomile as well, I wanted to mention. https://github.com/pierreguillot/Camomile https://github.com/pierreguillot/Camomile
- audionerd 4y ago… and load a Pd environment as a DAW plugin with PlugData https://github.com/timothyschoen/PlugData https://github.com/timothyschoen/PlugData
- aardvark179 4y agoOoh, it can turn a PD project into a midi processor for Logic? That sounds really useful.
- prvc 4y agoHighly recommended: "The Theory and Technique of Electronic Music", which is both an accessible and conceptually coherent introduction to the topic.
- slurpmaker 4y agoProbably one of my favorite OSS projects to date. I'm not a musician at all but playing with it is a lot of fun. Just make sure the volume isn't set too high :P
- gpcr1949 4y agoa quick and dirty trick to have a limiter on the signal is put [tanh~] between your signal and the dac
- bmitc 4y agoPure Data is awesome. The UX could be better, but it showcases elements of what could be for visual programming languages. I have always liked this example: https://www.youtube.com/watch?v=yW1haAOxWWk https://www.youtube.com/watch?v=yW1haAOxWWk. I'm not sure if the music was also created in Pure Data. It kind of sounds like it. There are loads of other examples like this on YouTube. If you're interested in Pure Data, I recommend the following two books: * Multimedia Programming with Pure Data: https://www.amazon.com/gp/product/1782164642 https://www.amazon.com/gp/product/1782164642 * Programming Sound with Pure Data: Make Your Apps Come Alive with Dynamic Audio: https://www.amazon.com/gp/product/1937785661 https://www.amazon.com/gp/product/1937785661
- singingfish 4y agoPuredata is cool. In reality it's a real time scheduler where the time for everything to be due is "now". Which works well. msp developed it for computers in the 1980s where resources were seriously constrained, so these days on bigger computers / handhelds you get a lot of computational bang for your buck.
- acjohnson55 4y agoWhen I was a masters student in the NYU Music Technology program, I Izard PD for a couple projects I'm really proud of. The first was an acoustic-electronic room reverb stimulator. We set up multiple mic+speaker pairs in a room and used PD to allow the user to set a delay on each mic input before reproducing the sound out of the matched speaker, to simulate sound propagation in a larger room. The signal was also filtered with a selectable frequency response that could be set to match a list of different materials. The result was real time simulated reverberation on physical space. This was really easy to patch together in PD, rather than using a general purpose programming language. The second project was the Mmm-What-You-Say-O-Tron, a phase vocoder inspired by the instrument Imogen Heap uses to perform her song Hide and Seek. This was a much more sophisticated patch, which used PD's MIDI capabilities, pitch extraction, and a custom pitch-shift algorithm. It was less successful, but still really fun.