Live data from Hacker News

Pure Data as a plugin, with a new GUI

github.com

31–40 of 60 posts

Re: Pure Data as a plugin, with a new GUI

#31
For those who are interested in music programming, I would like to invite you to have a look on the project I am working on and any feedback would be appreciated.

https://glicol.org

You can also live coding Glicol code as scripts inside a VST plugin:

https://youtu.be/tmmBhBmIEW0

Pd is one of the most famous MPL and I have been referring to and reflecting on its design from the first day I design Glicol. I have been teaching it to students, and one issue I found is that when the projects get a little complex, the code becomes very difficult to read even with comments. Essentially I think it's determined by the philosophy of the language. So I wouldn't complain about the fact that you need to start from scratch. That's exactly the elegancy from pd. Have a look on the "counter" example in Pd; it will give you a new understanding for "programming".

But from this perspective, I would be interested to see how people will design VST with PD from scratch. Maybe the opposite would be more practical, to use VST in PD (https://youtu.be/Cs0NPime0kU), considering they are both GUI-based tools. PD is also great for algorithmic composition (https://youtu.be/I9_3CfRm8GE).

Also to make project in real world some batteries like the else lib would be great and it's great that the PlugData has included that. Also check this Erbe reverb pd patches: http://tre.ucsd.edu/wordpress/?p=625

You should also look at some hardware in the future such as Bela and Daisy where you can also run Pd and Glicol.

Re: Pure Data as a plugin, with a new GUI

#32

Earlier quoted context omitted.

VCV Rack is already open source. What would be the benefit of duplicating the 2000+ modules already present in Rack with PureData?

The advantage of this PureData plugin and Max4Live over VCVRack is that you can edit the patch on the fly right in the DAW (in addition to the fact that visual programming is way more accessible than a compiled language).

Just FYI: you can do that too with a VST fork of VCVRack called Cardinal: https://github.com/DISTRHO/Cardinal

Re: Pure Data as a plugin, with a new GUI

#34
From tcl/tk to juce - there is a lot to be said about that. Taking in all the FUDI commands from pdsend, and then translating it into a Juce GUI is pretty, and pretty neat. Especially if you can organize the patch cords. You may start a fight, with that in mind.

Re: Pure Data as a plugin, with a new GUI

#36

PureData has a very outdated looking GUI. Actually, it even looks as if the elements are rendered wrong. This has always driven me away from using it. This new thing has a much more pleasant looking GUI. Promising.

My issue with the PureData UI was that it was a RSI factory. Constantly having to precisely mouse-drag connections between the teeny-tiny ports on the objects:

https://puredata.info/docs/wiki_doc_Images/StartHere/oscMult...

Re: Pure Data as a plugin, with a new GUI

#37
post #18

Earlier quoted context omitted.

To be honest, I've spent many hours in PD and Max and didn't realize that Miller Puckette was behind both. Super cool! Next week, I travel to Bali to focus on developing a data flow based visual music synth. I can't understate how big an influence that Puckette's work has been on my thinking.

Pukette got the shits with the conditions of his grant from the french government that allowed the development of Max, because it disallowed him to use the same techniques to do visual synthesis. So he quit and reimplemented the whole thing. Except this time he used an open source license. The other advantage is because these things were implemented in the 80s when real time audio was a really big ask for computers,…

> The other advantage is because these things were implemented in the 80s

Pd was developed in the mid 90s

> they are very computationally efficient

Not as efficient as it could be, though. For example, instead of proper SIMD instructions, the DSP perform routines only use manual loop unrolling, praying that the compiler will auto-vectorize it.

Finally, everything is single-threaded, leaving lots of performance on the table. FWIW, I have a PR for an asynchronous task API (https://github.com/pure-data/pure-data/pull/1357) and also a branch for multi-threaded DSP (https://github.com/Spacechild1/pure-data/tree/multi-threadin...).

Re: Pure Data as a plugin, with a new GUI

#38

PureData is an interesting tool, but it is very low-level. You have to reimplement from scratch things that are present in most DAWs or synths, for example: there is no GUI-controlled equaliser, no reverb. No oscilloscopes and FFT displays. If I am not mistaken, there is even no primitive for modulating frequency of one oscillator with another. The filters are very primitive and limited. The user is expected to learn…

The idea of Pure Data is to be a minimum core that can be extended with "abstractions" and "externals". For example, the "else" library comes with literally hundreds of additional useful objects. Everything you wish for in your post already exists, you just need to find it :-p

Re: Pure Data as a plugin, with a new GUI

#39

PureData has a very outdated looking GUI. Actually, it even looks as if the elements are rendered wrong. This has always driven me away from using it. This new thing has a much more pleasant looking GUI. Promising.

FWIW, there is a current effort of rewriting the GUI backend to move away from Tcl/Tk and allowing alternative GUI implementations. It will take some time though.

Personally, my main problem with the current Tcl/Tk GUI is that it's also painfully slow...

Re: Pure Data as a plugin, with a new GUI

#40

Earlier quoted context omitted.

Pukette got the shits with the conditions of his grant from the french government that allowed the development of Max, because it disallowed him to use the same techniques to do visual synthesis. So he quit and reimplemented the whole thing. Except this time he used an open source license. The other advantage is because these things were implemented in the 80s when real time audio was a really big ask for computers,…

> The other advantage is because these things were implemented in the 80s Pd was developed in the mid 90s > they are very computationally efficient Not as efficient as it could be, though. For example, instead of proper SIMD instructions, the DSP perform routines only use manual loop unrolling, praying that the compiler will auto-vectorize it. Finally, everything is single-threaded, leaving lots of performance on the…

Do you think rewriting pd in Rust can be a good solution?Async in Rust is one of its selling points:

https://rust-lang.github.io/async-book/

There are some good gui tools in Rust as well:

https://www.egui.rs/ https://github.com/setzer22/egui_node_graph

Post reply on HN