New Engine: Pure Data

Finally, the long-time-awaited Pure Data zynthian’s engine is here!

The new engine will allow to run any standard patch for “pd vanilla”. No “pd extended” support as it’s completely deprecated.

If you already have a zynthian box with the last SD image (Gorgona Omega), you simply update from the Admin Menu or from the command line:

/zynthian/zynthian-sys/scripts/update_zynthian.sh

Although any “vanilla” patch should work out-the-box, you would like to have your MIDI controllers correctly mapped and labeled. Don’t worry!! … integrating patches for working nicely with Zynthian is pretty easy. The trick is done by a simple YAML config file called “zynconfig.yml” that should be present in the patch folder. If no config file is found, the engine will try to detect the patch’s main file and some default controllers will be created.

You can use the example patches as reference for “patch integration”. This is an example:

main_file: "threeosc1.pd"

midi_controllers:
 volume:
  midi_cc: 7
  value: 64
 program:
  midi_cc: 2
  value: '1'
  labels: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16']
 vibrato_depth:
  midi_cc: 1
  value: 64
 cutoff_mod:
  midi_cc: 63
  value: 64
 filter_env_mod:
  midi_cc: 65
  value: 64
 osc3_mod_env_amt:
  midi_cc: 66
  value: 0
 pitch_mod_amt:
  midi_cc: 67
  value: 0

As you can see, there is little to explain. You can specify more options for the controllers, “ticks” values for the “labels”, etc… Take a look to “zyngine/zynthian_controller.py” for more details. Currently only MIDI integration is implemented, although OSC wont be too difficult to implement.

Of course, you have to customize a little bit your patches for getting a good integration, specially if you want “selector” controllers, like the “program” selector in the example above.

Finally, my experience with PD is really small, so i would appreciate any feedback, suggestion or help for improving the new engine.

Subscribe
Notify of
guest
3 Comments
Oldest
Newest
Inline Feedbacks
View all comments
Max
Max
6 years ago

Documentation useful to new users:
http://puredata.info/docs/

Here’s a 9 year old tutorial
http://www.pd-tutorial.com/english/

This Pure Data install guide:
“How do I install Pd on Debian, Ubuntu, Mint GNU/Linux?”
touches on pd-extended
http://puredata.info/docs/faq/debian

Max
Max
6 years ago
Reply to  Max

Here’s a comprehensive online Puredata manual:

Pure Data manual

Ant
Ant
6 years ago

Extended is dead unfortunately. I recommend Purr data, up to date and pi-ready. It even has objects to access the gpio from within pure data itself. Btw have you thought of making Zynthian modular? Pure data can send messages over ethernet, and there’s netjack2 for audio. A pi zero can be powered by and network with other Pi’s over usb when set up as a usb gadget. So you could add pi’s as modules. There’s even Cluster hats that make the whole setup one board. I’m trying to work that out myself, it would be interesting if cluster computing pi’s… Read more »