Tag Archives: Pure Data

sending midi messages between PD and a DAW

I like making PD communicate with other audio apps.  I am not really that good at coding synths in PD.. and even if i were amazing, you can get sounds MUCH easier by using synths that someone else created.  Unless you have some great synthesis idea that hasn’t already been done, why reinvent the wheel?

There IS an external that supposedly lets you load a vst into PD, but I’ve not had too much luck getting it to work in the past, so what I generally do when I want PD to play with a synth plugin is send midi from PD to a DAW that contains the plug.

The tool I use to do this is MIDI Yoke  downloading and installing is a breeze, so no need to go into that.

After its installed, tell PD that midi out should go to MIDI Yoke channel 1 (or any of them really..) and then tell your DAW to get midi in from the same channel.

Check the PD documentation for any midi related object (they are all linked together in the help files) if you don’t know how to send or receive midi messages.

Pure Data and BPM

timing in PD revolves around milliseconds. This is useful, as it gives you much more flexibility when it comes to programming timed operations, but personally I often need to use things that are synced together, and most other sound applications use BPM. Converting BPM to and from milliseconds is a simple mathematical equation, but I can never seem to remember it when it comes time to actually code the thing. SO.. here it is.

to convert from a BPM to a millisecond rate (that can be fed to a metro or whatever) do this:


[100\ this is a number box.. put the BPM here
|
[expr 60000/$f1]
|
[600\ this is how many MS there are between each beat, at 100 BPM


I often find that i need to divide the output of that equation by 2 or 4 (or even 8!) to get 8th or 16th notes.. but there it is.