Anyone Using Pd

was wondering if anyone here use puredata and if it works well with renoise

im on the lookout for new interesting ways to create music,and i dont have the money to buy something like reaktor 5(i only have reaktor session)

Hi s-n-s,
I’ve just begun learning PD.
I want to make a patch that will allow midi control of a Play Station controller, to use in live settings with renoise. Moving through patterns with the D-pad, manipulating FX with the X-Y controllers. Muting/un-muting FX, panning, volume etc etc.
Using midi-yoke in windows, (or jack, in Linux) it should be easy enough to get them to talk to each other.
Perhaps another good use would be to use PD as a pattern generator (with controlled random elements) to input sequences into Renoise.
Building custom FX out of VST’s /LADSPA’s in PD’s modular environment. Creating your own way of controlling parameters…
I’m still on the first stage of the learning curve, but I think there is a lot of potential.

You can do just about anything with PD, given you are willing to dedicate enough time with it. I have messed around in PD with generative audio. Its a lot of work though, and chances are unless you’re doing something very unusual, its much easier just to use commercial software, IMO.
Good article of some of its uses:…redata_0806.htm

i am very interested in learning it,i am quite bored making music with conventional sequencers,and starting using renoise instead have been really fun for me

so im looking for some other interesting ways of making music and if i can use PD together with renoise that would be a big plus

thanx for your replys jasper

and NER i will read that article you linked too


yeah I ve been toying a bit with pure data …It’s an awesome program but goes verry deep …

I’ve been using Csound.

Csound runs on most common platforms, and has a lifetime’s worth of options to explore. What puts most people off is the interface – it’s a bit like computer programming, and not the easy stuff like Visual This or Visual That. However, once you start playing around with it, you see the commands and variables are exactly like the patch lines on a real world synth. I tend to think of the variables, now, as actual patch cables, and the opcodes as signal generators or effects units.

There are three ways I have been using it in Renoise:

  1. Run Csound in realtime mode, using it as a very powerful programmable synth. You have to already have written an instrument for it – there aren’t any presets. Fortunately, there are a lot of example instruments and demonstrations available. When you get it up and running, its like any other softsynth (it has Jack, VST, DSSI, OSC, and LADSPA capabilities).

  2. Alternatively, use Csound to generate huge, high resolution samples of synth sounds. Then take these audio files and load them into Renoise Instruments!

  3. My preferred way is not to run in realtime mode at all. I use a simple dummy synth for the Csound parts (usually a generic piano sound) and export the file as MIDI. I then use the program midi2sco to translate this into a numeric score file. You can then render the file with full MIDI capabilities – not just note pitch and duration, but the dynamic input of velocity. Further, since the score file “knows” when each note will end (the durations are fixed when the file is translated), you can get advanced envelopes that change shape or function with the duration of the note.

Second step would be to take this high resolution sound file and drop it back in Renoise. Csound can do many things, but Renoise is a much better rhythm sequencer – faster and certainly more intuitive. You can then apply effects to the track on the fly, as opposed to writing them into the Csound code. Further, with the actual rendered audio stored within Renoise, you can then render directly from the .xrns file.

Just an idea. For what it’s worth, I’ve heard that all the major softsynth platforms (Pd, Csound, Supercollider, and now ChucK) have their own peculiarities that tend to attract a certain type of user. For me, coming from a programming background, Csound was perfect. For someone else, the graphical interface of Pd will be the main selling point.

thanks for the detailed info on CSound Bruce.
This is another program that interests me, especially whilst I don’t have access to my Nord Modular…
It seems that PD might be better for creating interesting control possibilities with midi and the input of physical controllers, whereas CSound seems to be geared more towards creating bespoke and highly individualised sounds?
In an ideal world, I’d like to learn both, and Super Collider…hell, why not!

because it takes too much time to learn and you wouldn’t be making music with the time you spend going through 1000 tutorials…

I used CSound in the past, for a while. I’ve always been interested in coding music. But the score syntax is crap, really. Orchestra syntax is better, but still arcane.

I ended up writing my own synthesis library in C++. Awfully slow for real-time work but very flexible for algorithmic composition. I still use it occasionally.

hi thanks for all your replys,its interesting to see that many have tried using these things to create something musically.

does anyone know where i can find some good tutorials to help get me started in making something,i would really like to be able to use PD and renoise together somehow

I definitely agree with that. I don’t have much time as it is – my wife and I are about to move from Florida to Virginia. I found myself in a sort of ‘in-between’: during the move, there’s no chance I’ll be able to make new music with all my instruments packed up and strewn between states.

However … I’ll always be able to pop open my laptop and get something done. Therefore, at the beginning of this year, I decided I’d focus on learning sequencing, mixing, and software synthesis. Renoise has taken care of the first two; Csound handles the last one.

I always like to learn something new between albums. Part of the learning process is acquiring new skills. For instance, I didn’t start out knowing how to harmonize a random 12 tone row through various inversions and transpositions of a particular pitch class set. I had to work through those thousand tutorials (and exercises, and pages of books, and web sites), practice using the ideas I’d learned, and finally pick and choose the ones that worked the best. That’s just for one skill, which so far has only really played a key part in two songs.*

So yeah, it’s a trade off. I regret not being able to play, and play, and play. But what’s the point of playing the same old ideas, and never bringing anything new to the table?

  • The chorus to “The Strange Lady I Met on the Shore”, from my 3rd Jamendo album, uses prime sets 016 and 015 as the basis for improvisation over an unusual chord series; on the same album, “Hypothermia / The Illusion of Warmth” uses a chord I call “retrograde diminished add major 3”, prime set 0126, spelled E - Eb - D - G#).

S-N-S, I found a good beginner’s tutorial for PD , on youtube.
It shows you how to make simple synth + sequence.
Just search for PD beginner’s tutorial and you’ll find it.

thanx jasper,will look into it today

im just starting with pd, i believe the possibilities are amazing, ultimately im hoping to create a big random synth (something like the reactor ‘chimearandom’ ) with imput from webcams :dribble: and then maybe make a big liveset patch, and sync renoise drum patterns through jack ??

but for now im still learning…

Martin brinkman , who creates ensembles and stuff for reaktor has ported some reaktor stuff to pure data …

you’re welcome

pure data is extremely intuitive, and cleanly divides control messages and audio signals.

I’ve been using Pure Data for a while now, but haven’t been able to easily sequence like in Reason. I found Renoise a week or two ago and think it kicks ass; it complements Pure Data nicely in that it can play back all the weird sounds I record in PD.

I’d still like to control synths in real time, but I don’t like MIDI. I’m still waiting for a full blown Open Sound Control sequencer…

Renoise slays! Thanks for the Linux version! You guys beat out Tracktion for the win.

For anybody starting out in Pure Data who want a simple way to record two audio signals to a wav file, here is a PD patch (dump the following into a file called wav.pd, make sure it’s in your PD search path, and instantiate it by creating a box called ‘wav’):

#N canvas 327 158 902 745 10;  
#X obj 309 133 table \$0-right;  
#X obj 190 105 bng 8 250 50 0 empty empty save -30 3 0 10 -166441 -258699  
#X obj 522 152 savepanel;  
#X obj 655 151 loadbang;  
#X obj 672 214 symbol \$0-left;  
#X obj 793 216 symbol \$0-right;  
#X obj 104 130 nbx 5 14 -1e+37 1e+37 0 0 empty empty buff_ms 0 -8 0  
10 -241291 -258699 -258699 6000 256;  
#X obj 137 205 * 44.1;  
#X obj 105 359 pack f s;  
#X obj 208 373 pack f s;  
#X msg 599 185 1000;  
#X msg 139 419 \; \$2 resize \$1;  
#X obj 522 261 pack s f s s;  
#X obj 524 426 soundfiler;  
#X obj 308 112 table \$0-left;  
#X obj 263 54 tabwrite~ \$0-left;  
#X obj 251 77 tabwrite~ \$0-right;  
#X obj 185 121 bng 12 250 50 0 empty empty start -30 5 0 8 -258699  
-241291 -62784;  
#X obj 187 135 bng 8 250 50 0 empty empty stop -24 5 0 4 -1 -241291  
#X obj 228 110 t b b;  
#X obj 201 22 inlet~;  
#X obj 321 27 inlet~;  
#X msg 519 386 write -wave -nframes \$2 \$1 \$3 \$4;  
#X msg 201 59 bang;  
#X msg 163 33 stop;  
#X obj 446 46 inlet;  
#X obj 555 47 inlet;  
#X text 441 26 start;  
#X text 555 27 stop;  
#X text 207 0 left;  
#X text 322 7 right;  
#X obj 235 195 delay;  
#X msg 263 166 stop;  
#X connect 1 0 19 0;  
#X connect 1 0 32 0;  
#X connect 2 0 12 0;  
#X connect 3 0 4 0;  
#X connect 3 0 5 0;  
#X connect 3 0 10 0;  
#X connect 4 0 8 1;  
#X connect 4 0 12 2;  
#X connect 5 0 9 1;  
#X connect 5 0 12 3;  
#X connect 6 0 7 0;  
#X connect 6 0 31 1;  
#X connect 7 0 8 0;  
#X connect 7 0 9 0;  
#X connect 7 0 12 1;  
#X connect 8 0 11 0;  
#X connect 9 0 11 0;  
#X connect 10 0 6 0;  
#X connect 12 0 22 0;  
#X connect 17 0 23 0;  
#X connect 17 0 31 0;  
#X connect 18 0 24 0;  
#X connect 18 0 32 0;  
#X connect 19 0 2 0;  
#X connect 19 1 18 0;  
#X connect 20 0 15 0;  
#X connect 21 0 16 0;  
#X connect 22 0 13 0;  
#X connect 23 0 16 0;  
#X connect 23 0 15 0;  
#X connect 24 0 16 0;  
#X connect 24 0 15 0;  
#X connect 25 0 17 0;  
#X connect 26 0 18 0;  
#X connect 31 0 1 0;  
#X connect 32 0 31 0;  
#X coords 0 -1 1 1 100 46 1 100 100;  

a full blown Open Sound Control sequencer… :dribble:
renoise + OSC = omnipotence
as for now, if you use or have access to a windows computer you can use this in renoise:

* OSCGlue is a VST plugin, which does no processing in the host, but broadcasts all received parameters as OSC messages over UDP.   
download oscglue (197.43 Kb)  
* Use VST-Sequencers to send numerical parameters via OSC  
* Send standard MIDI events from the host as OSC parameters  
* Send timeline position as an OSC parameter.   
possibilities are manyfold: Use Ableton Live or Cubase to control VVVV, MAX and PD patches, Flash, use the aforementioned languages to control realtime visuals DMX equipment, Video Switchers, Servo Motors etc. via sequencing software. Scrub videos in sync to the sequencer. Simulate MTC output from Ableton Live.  
OSCGlue is a simple 24hours hack and may contain bugs. It seems to work under Ableton Live and VVVV. The Plugin will work only under Windows. Receiving messages under other platforms should be possible. Please report your findings. Please direct all questions in the VVVV-Dreams&Rocknroll forum.  
* put the enclosed oscglue.dll and oscglue.ini into your VST plugin folder, and make your host application recognize the plugin.  
* open up oscglue.ini with a text editor. Here you can edit how many and what parameter your plugin should have — See section below.  
* open up your VST host. use the attached vvvv patch for testing.  
* for each parameter you declare in the plugin, you will receive OSC messages /pluginname/parameter as a broadcast UDP  
* this should be it.   
Advanced Features  
* in case you want use several plugins controlling different things, make a copy of the dll and the ini and give them a different name. edit the ini file at will to let your new plugin behave differently. make sure the two files differ only in the extension.  
* in case you want to receive timing information over OSC, set SendTimeCode to 1. In case you do not want to have timing information, make sure to set SendTimeCode to 0 to save bandwith.  
* in case the plugins receives MIDI, you will get OSC messages for each Note, Ctrl, PgmCh, PTouch, ATouch, Bend event which gets received  
* the plugin may show that the OSCdecoder in VVVV is not as advanced as we like it to have. beg joreg for a spreadable update.   
Example Configuration file  
the syntax of the file format is a standard windows .ini file.  
; use this port send udp data  
; Note: OSCGlue will always broadcast your data.  
; Be friendly to your network administrator.  
UDPPort = 9999  
; name of the plugin, will be used in OSC messages. Some Hosts  
; might display this. in case you leave this out, it will default  
; to the name of the DLL  
Name = OSCGlue  
; Set this to 1, if you want to send time messages with the  
; current song position. Song position will be given in seconds.  
; if SendTimeCode is activated, the vst plugin will be created  
; as an audio effects processor (so it will need an audio  
; track in e.g. ableton live)  
; if SendTimeCode is deactivated it will work as as a synth  
; plugin  
SendTimeCode = 1  
; time code will be received in OSC as /OSCGlue/Time  
; --------------------------------------------  
; now we can add parameters.  
; for each variable you want to have in your plugin, create  
; the following block:  
; this will be received in OSC as /OSCGlue/Frequency  
; this will be received in OSC as /OSCGlue/Lamp1  
; this will be received in OSC as /OSCGlue/Lamp2  
OSC Glue is (c) by Sebastian Oschatz / meso.  
All rights reserved.  
This plugin wouldn´t be in existence without the wonderful and well documented vst-delphi wrapper by Tobias Fleischer Thank You Very Much!  

after some investigations, I’m starting to think Plogue Bidule may be the happy medium between nerdery and musicality. what do you fellas think?
Seems to me like a lot of the ground level work has been done by the developers in providing the user with a set of useful operators. There’s a good detailed guide on how to build a synth in Bidule
There’s also a HID data extractor for use with game controllers and the like. Or you can customize your qwerty keyboard or mouse to trigger midi cc’s / notes.
once you register, you can use it as a VST, and so it offers the same flexible routing system as XT ( and a whole load more besides! )
I’m kinda kickin myself for buying XT now, as Bidule has more to offer IMO

haven’t used pd, but Max/Msp in the past. Comes with a bunch of .pdf’s covering the basics to advanced stuff. Really worth it to go through and with the tutorials you’ll manage just fine within weeks/months.

speaking of Max/MSP i think version 5 is out.