Best way to get PD working with modular

Hi all,
I’m looking to get into modular without spending a fortune (I know).
My question is: what is the best way of getting Pure Data to talk to modular? I know about the Expert Sleepers stuff, which seems cool, it’s just a bit expensive. I’m wondering if there are good midi CC to CV solutions which I can then modulate in PD to create envelopes, LFOs etc etc.

One option is the cv pal which can be set to output CC to CV on two channels. Does anyone know what resolution these are? Is it just 128 steps?

Another option I though of would be to use pitch bend.

A third would be to use the midi note itself - but I’m not sure if any midi to CV modules allow for fractions of the midi note number??

Any opinions would bee appreciated!

By design CC is 128 steps.

as pichenettes says, MIDI CCs only have a resolution of 128 steps (0 to 127). I think pitchbend has higher resolution, but I don’t know if the CVPal can output pitch bend as a CV.


Thanks. I guess I’ll have to look into the expert sleepers again, unless anyone knows of another way of hooking up PD to modular? Would love a DIY solution for this!

You’ll have more fun if you use the expert sleepers stuff or some other way to use an audio interface as a CV output. Motu also has some interesting options with Volta.

PitchBend in fact has 14 Bits resolution (2 Data Bytes, see page 15 ) but since the D/A in the CVpal are just 12 Bit this won’t give you much more resolution in real life - at least without some Firmware tweaking and a proper output Stage i guess.

I guess you could hack the CVpal firmware for a “raw mode” in which some predefined CCs control the gate outputs, and pairs of CC control the highest/lowest bits of the DAC. But would this be flexible enough for you?

Sounds interesting - I’m definitely not up to hacking the CVpal firmware though!

Also, re. fcd72: As far as I understand they achieve this by splitting the ‘coarse’ and ‘fine’ over two CCs (pp. 17-18 of the same document) - not sure how this could be implemented over single CC to CV channels.

This is not perfectly correct, PitchBend is a message of its own type, its Status Byte is 0xE0 to 0xEF (the low 0-F Nibble represent the MIDI Channel) followed by 2 Date Bytes that form together the 14 Bit Value.

A CC is Status Byte 0xB0 to 0xBF followed by 2 Data Bytes where the first is the Controller Number and the second the Controller Value.

You could interpret 2 (adjacent) CCs as “fine” and “coarse” and combine the 2 Data Bytes but you would have to send 6 Bytes whereas PitchBend saves 2 Bytes per 14 Bit Value. And bandwidth is sparse with MIDI….

I see - I think! does that mean pitch bend is always 14 bit? Is mod too?

The MIDI standard specifies that 14 bits are used to transmit the pitch-bend data. However, the pitch-bend lever on many synths is hooked to a 7-bit or 8-bit ADC, and the last few bits will be padded with zeros when this gets converted into a MIDI message. But in theory, if the hardware of your controller/synth is good enough, the pitch-bend data can be up to 14-bit precise.

Modulation wheel is just a CC, so it’s 7-bit.

OSC, with PD will give you a higher resolution, but you would need to work out the hardware side of it to bring it back to voltage. As far as I remember back in the day reading the papers on it the primary goal was a major jump in resolution, hence it being a udp stack protocol for transport to cope with it. Fingers crossed it may one day become the defacto standard for control as serial conversion seems to be getting more and more ignored as people concentrate on transport layers speed to feed the smartphone / internet data frenzy.

In all honesty unless you already have a DC coupled soundcard, to get high resolution output you will spend a fortune for pre-made hardware, or have to design something round a high res D/A converter as described. So making that jump out of a midi converter is probably best served by the expert sleepers.

I usually found, yes the 127 step limitation was frustrating in Max/PD for external control in and out, but unless you are going for very slow changes it’s hard to tell it’s happening, also if it’s targeted at the mass public, in 99% of the time they won’t notice either.

I do know there’s a pretty good IR glove with bend controllers ( if I remember the name I’ll post it ) that ran at incredibly fine resolutions. Although, it’s the intent of use out of PD more than anything.

I don’t have one (but I am thinking of buying one), but the Alyseum MS-812 might be a viable alternative to the Expert Sleepers gear - One MS-812 would provide more CV outs and gate outs than the combination of an ES-3 and Es-5, plus you don’t need an ADAT interface, just ethernet.

That MS-812 looks really good! I just wonder how that CopperLan thing works, do I still need to use MIDI as a protocol? Does anybody know more about it?

AFAIK In MIDI mode it shows up as a MIDI interface. In Copperlan mode you can directly control the CV/Gate channels with a VST or with a Max object.

that makes sense! in max it probably works like that, since they provide the copperlan externals, in a “normal” host you’ll probably have to use Midi since there is no copperlan support in most of them and I’m not sure it can be added