DMX out from VCV Rack

I would love to create DMX signals with vcv rack.

Is there a current solution for this? if not, seems like an easy module to create (me, who knows nothing of module development), would love to see one!

Perhaps someone could point me in the right direction regarding sending MIDI out of VCV Rack and converting it to DMX in another software, and then out of my computer via USB using something like an Enttec DMX USB Pro box

What is “DMX”?

2 Likes

If it would be that easy to create a proper working module of any kind :thinking:

How do you actually work with DMX?

Lightjams with a MIDI loopback driver would be a good starting point. You could look at the DecaBox Protocol Bridge if you want the conversion to happen in hardware.

Embedding a USB drive to let a module speak directly to an Enttec or equivalent would be possible but I don’t see any advantage over the loopback solutions.

If you’re thinking of creating the actual DMX signal in Rack itself, it’s probably not impossible. I think you’d need a USAMO-like audio-to-hardware solution to drive the output, since AFAIK there’s no 3.5’’ specification that would let you go directly from an audio jack.

@pachde

DMX is a lighting control protocol. Most of us who’ve spent time in lighting hate it. It’s old and clunky. But it’s the system we got!

@zakforrest

I use Rack → Midi → QLC+ → hardware (ENTTEC or DMXKing usb dongle) on Mac. After you spend a decent amount of time configuring, it runs fairly solid.

If you think it would be easy/trivial to code a DMX output widget for Rack, go nuts. I think that would be rather difficult. A lot of hard choices about persistence/precedence, a lot more than relatively simple LIFO/FIFO decisions…these hard choices are baked into every DMX environment you’ve ever used, even a cheap elation or amercanDJ controller.

1 Like

Hey @zakforrest - guessing you’re coming from modwiggler where hope I didn’t lead you completely astray. I’m sure someone here will set you straight!

1 Like

I think we settled on a pretty cool solution in modwiggler…

I made posts here, modwiggler, and the touch designer forums all in the same day.

The solution I’ve landed on is: VCV rack Audio/CV (using black hole) or OSC signals (trowasoft osc module) into touch designer and then send out as dmx in touch designer using Enttec DMX USB Pro. What does everyone think of this idea?

I haven’t tried it yet but that’s my plan.

I just acquired a 256 channel black hole version, so maybe I’ll forget OSC and try direct audio/CV with that. What would be more taxing on the system, 192 CV channels or 192 OSC channels. Or are they both kind of the same?

1 Like

What do you mean by persistence/precedence?

Out of the box you can use the Audio 16 for 16 audio channels. I think you’d need to roll your own for greater than that. Glad overall that you’re converging on a solution!

192 OSC channels will be much, much, much lighter than 192 CV channels. Each CV channel (I’m assuming monophonic use here) is an audio channel running at full rate.

1 Like

Yes/no. Each CV channel is an audio channel running at the interfaces rate. I’ve a setup that uses 54 audio channels @ 4 kHz. It’s a matter of the interface supporting such a rate.

I don’t know enough about OSC to say how that compares for resources. You could still be very well correct that OSC is lighter even if the channels were not running at audio rate.

What do you mean by persistence/precedence

How DMX channels are updated. You have a LFO red thing going on, and you’ve coded a bump button to flash all white. Do the red fixtures go all white or continue their pattern? And if they go all white, what do they do after you release that bump? Back to red at the top of that stack, or pick up wherever in the LFO they were before you hit the bump? Or to blackout?

And then you have the inherent framerate limitations with DMX. Oh, that one red fixture is on channel 191, the packet updated before it got to that channel so that fixture stayed on red while all the others bumped white.

These are all end-user ‘solvable’ situations, but the protocol is so stupid that hardware designers had to make difficult/clever choices at the packet level as to how to handle these limitations. Like Blackout always take precedence, for example. Anyway, I assume you’d have to make these choices from scratch if designing any module that spit out DMX.

Wow thanks for pointing that out. If I used some special software that’s designed to make DMX chase patterns and such, would that fix any potential problems like the one you described with channel 191 not updating like the others

Sure! Underclocking will save you linearly. Interesting setup, by the way–I’m not sure I’ve ever seen an interface that can go that low! I’d love to learn more about your application.

Maybe I erred in assuming that OP was reaching for VCV Rack in order to mix DMX and audio? (All sounds are beautiful–heck, I’ve run audio over Midi CC before to get alias and jitter–but most audio applications are going to want to address frequencies > 2kHz…)

Anyway, assuming we’re in control-only territory and running at ultra-low sample rates, OSC is going to be a lot closer. The main difference is that the CV channels are constant bandwidth whereas OSC is packetized, so (generally) the OSC channels are going to be a lot busier if they’re all changing and nearly quiet if not. This has advantages and disadvantages. One advantage of CV/constant bandwidth is that if it ever works it should work all the time, whereas with OSC, or MIDI, or something else with packets, you can saturate the channel(s) by surprise.

I mean, you’ve been recommended a number of DMX softwares by me and others. Maybe time to start playing with them yourself? And read that wiki page I linked above.

There’s nothing specific about ‘channel 191’…I was just trying to give a concrete example. The general concept to learn is that DMX is a packet-based protocol with no parity checks or other mechanism to see if a packet was received at its destination. And it sends from low to high order. So DMX address 1 generally always gets thru. The greater number of channels you have involved, the greater chance that higher numbered channels get dropped.

Anyway, I’m out of advice on this topic; again I recommend that you just get hands-on with. it.

1 Like