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.

Facebooktwittergoogle_plusredditmail

2
Leave a Reply

avatar
2 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
AntMax Recent comment authors
  Subscribe  
newest oldest
Notify of
Max
Guest
Max

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

Ant
Guest
Ant

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 »