Adding Pure Data synths ....(and Csound?)

To add a pure data synth to Zynthian I’m assuming that I

  1. Write the patch (include ctlin objects to speak to encoders) and put it in it’s own directory
  2. Put a matching config.yml file in the same directory that maps ctlins to encoders and describes functionality, etc.
  3. Place the directory with those two files and su patches in:

/zynthian/zynthian-data/presets/pure data/synths

(If the path is a little off it’s only because I’m typing it from memory. Also, I see that Csound is installed and ready to go … (?) (I can run a Csound file from the terminal, for example). But I don’t see a special layer for it as I do with Pure Data …

Am I missing steps with both Pure Data and Csound?

Thanks in advance for all advice and help!!! :slight_smile:

I haven’t uploaded any patches in Csound, but here’s how I add pure data patches. I’ll edit your steps to explain. I do steps 1 thru 4 on a PC.

1. Write the patch (include ctlin objects to speak to encoders) and put it in it's own directory. The 
    patch should be named with a unique name. In this example we'll call it wow.pd
2. Create a file and name it zynconfig.yml to map ctlins to encoders .and put it in the same directory. 
    Here's and example of a zynconf.yml file:

main_file: “wow.pd”

midi_cc: 7
value: 64
midi_cc: 2
value: ‘1’
labels: [‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘10’, ‘11’, ‘12’, ‘13’, ‘14’, ‘15’, ‘16’]
midi_cc: 1
value: 64

3. Use quotes, colons, underscores, spaces and commas just as shown in the example or it wont
    load. Don't forget to include the first line showing the wow.pd name as shown in the example.
4. Select your wow.pd, any supporting files and subfolders and the zynconfig.yml file and use  
    them to create a zip file named
5. Boot your zynthian. If you haven't updated your zynthian software since the Nov 17th update, 
    update it now or the following may not work.
6. Open the zynthian Webconf page on your PC.
7. Under Library select Presets & Soundfonts
8. Click on ZynAddSubFX - Synthesizer to expose the drop down selection menu
9. Scroll down and select PureData - Visual Programming
  1. Select the bank you want your patch to go to. You can type in a New bank name and hit the plus
    button if you don’t want to use an existing bank.
  2. Click on the upload bar and then click on the click and choose button
  3. Navigate to the file, select it, then click on upload

I’ll give it a try later today. If successful I’ll see what’s possible with Csound (meaning can I figure it out!).

Thanks very much for taking the time to explain and document the steps with the video. MUCH appreciated! Maybe it’s an answer that should go right from here on discourse to a permanent home of the wiki?

Csound engine is alsmot ready, but i didn’t enable it yet because i wanted to do some extra test and include some decent instruments …

But if some of you have interest in it, i could enable the Csound engine on monday and hopefully you will contribute some nice instruments to include …


Ahhh! BTW, i would like to include more PD patches, so don’t hesitte to contribute any “zynthianized” PD patch you have :wink:

Here’s a zynthianized PD patch I’ve been playing with. Feel free to include it if you want to.
It is not for everyone as it is somewhat a toy. However, some may find ways to fit it in to a
musical composition.
I’ll include some sound samples to avoid the monocle :wink:. #1 and #2 were made using
the pd patch only, #3 was made with the pd patch in the background and a synth layer
playing on a separate midi channel. (5.3 KB)


ooo, you’ve reminded me about this: EP-MK1 possible new plugin time to get hacking I think. The Harpo sounds really interesting and rhythmical!

Jut finished my travels … If you could enable Csound that would be great. I’d like to put some good patches together and also see if I can interface to it through PD. Maybe someone’s done that by now?

As another question, I’m wondering how far we are from SuperCollider? I wrote one of the first tutorials for SC3 so I have a bunch of stuff I could probably Zynthianise much more quickly than slowly.

All of that said, I know everything has to be step-by-step :slight_smile: … Thanks very much

Hi @printer1!

I’m having serious problems with the csound integration. It’s not very stable and i don’t like the csound way very much …
I’m seriously thinking about abandoning the csound zynthian engine and moving to SC, that seems more alive.

Anyway, i would upload a development branch, so you can enable the engine in your zynthian and try it a little bit, OK? :wink:


Hi @jofemodo,

I thought I replied to your last message last night but I don’t see it on the board. In any case …

After more thought … if Csound isn’t stable within Zynthian maybe it’s not worth taking it past where it is now? Which best as I can tell is it’s not listed an an “engine” but it is working from an ssh login from another machine.

That being the case, maybe PD as a front-end for it is all that’s needed, assuming the PD objects that control Csound will run in Zynthian (so PD can call it)…

And SC is then the better bet as an engine? I will see in the next few days if I can get the PD-Cound objects to communicate.

If you make Csound available in whatever form will bang on that too :blush:

Thanks in advance,