OSC signals from VCV Rack converted to DMX in TD

I’m proficient with VCV Rack and a complete novice with TD.
I want to route OSC signals out of VCV Rack to TD and convert them to DMX and then send out of my computer via usb using an Enttech DMX USB Pro box.

I tried setting up Trowasoft OSC module in VCV rack, setting the host to 127.0.0.1 on port 8000 and sent it some LFO’s. In touch designer I created an empty project, added an OSCin CHOP, set the host and port to the same thing, and nothing happens. I’m stumped at what to do next.

Would love some help!

My ultimate goal is to send out 192 control signals via DMX to control lights, chase patterns and strobes. Each light is controlled with three DMX signals (red brightness, green brightness, and blue brightness), and there are 64 lights.

I just tried this and it worked ok for me. however I had a few sticky points.

I had to allow VCV rack through the windows firewall which required going into the windows settings/firewall protection and manually allowing “rack” to access network. (I think this may require a computer restart) - The same will be true of TouchDesigner if you don’t already have it set to allow network traffic.

I think the UI for trowaSoft is a little funky, when changing the port or IP settings you have to make sure to click the disable button first, then make the updates you want to make to port/IP and then click the enable button again otherwise the configuration does not update.

here it is working, with both OSC send and receive to TouchDesigner

1 Like

Wow thanks so much for explaining this.

Is there a way to record all the dmx signals I’m sending out? My idea was to improvise and perform and record it all and then save my favorite performance for replaying on a loop later.

yes generally any signal can be recorded inside touchdesigenr. It’s not too hard to setup a record function, but the bigger thing to setup would be to synchronize the timecode playback of music + data.

Not knowing how you plan to record your music, I would explain it like this, it is similar to hitting record on 2 VCRs at the same time, you won’t hit the record button on both devices exactly at the same time, so then when you play back you have to register the timecode somehow and align the playback. That could be done by eye, or through something like timecode. You probably could stream the audio from VCV into Bitwig or even touchdesigner and record both the audio and the OSC data in TouchDesigner. but it depends on exactly your recording setup and how you want to handle the audio after it is recorded.

In some ways it is easier not to do the whole record/playback thing and just connect things live and perform live if you can, but not everyone wants to do that. I don’t think VCV rack has timecode so VCV rack is more of a live improv tool anyways. There are ways to syncronize timecode playback of Ableton/Bitwig and touchdesigenr for playback if you wanted to record something and sync with timecode.

Hey thanks! I believe it could be much simpler, no? I meant, I would record the audio and the dmx all together in touch designer. I don’t know how that works, but I imagine then it would all be synchronized together at that point. Even if audio and dmx were recorded separately, they’d be the same length, and the recordings could be triggered at the same time for playback.

The piece is intended to be an art installation, not a performance. But it’s made from a single performance. Recorded. Then played on a loop all day for a year

What do you think?

yes so that would be the simplest way, stream the audio from VCV into touchdesigner and record both the OSC/DMX data signal and the Audio in touchdeisgner at the same time… then you can link a single record button inside touchdesigener to record both simultaneously and then playback would be synchronized fairly easily.

I’m not 100% sure this would be the best way to set it up because i don’t work with audio all that often in touchdesigner, but you can merge all your audio and channel information together and then record it with a single record chop.

on the playback side you can use a timeslice and then separate the audio from the data with select chops to output to the audio out device and dmx outs.

one thing you may need to setup if on windows is the stereo mix in the system settings this routes internal audio to a virtual mixer that can be feed directly into touchdesigner audio device in. Also make sure you do not connect the audio device out while you are recording otherwise the audio will loop back from touchdesigner as an echo.


I developed the DMX Recorder for recording and playing back DMX data. You can take a look at it. DMX Recorder - RAYInstitute

This is helpful thanks so much. I’ll probably respond with questions after I check all this out!

i was able to get it to work! i guess when you click “enable” it sends the new settings, and then when you click disable its actually like running or “turned on” ? i dont quite understand the wording on the trowamodule, but i got it working!!

however, why are there all these unused channels with static values? i am sending 4 channels in the picture, but theres a bunch of channels showing up in touch designer in the OSCin chop. it goes 1 to 4, and then jumps to 11-16, and then goes up to 116. any idea what thats about?

i cant figure this out. it shows the signals in a weird order, if i click “reset channels pulse” it puts them in a new weird order, and then if i hit the button again it orders them in chronological order… what is the deal here… ?

thanks for helping me with this simple stuff…

I think sometimes OSC channels can come in out or order or by random order of receiving a signal first so you may want to order them with a select chop. you can use a select chop to put a specific order to the chop channels and also filter out any ones you do not want.

1 Like