Connecting Reason to VCV Rack with Soundflower

With the new CV-I/O devices, it is possible to send Reason CV signals as audio to and from your external synthesizer, but also to other programs in your computer. This tutorial will show how to do this on a Mac using an app called Soundflower. The process is similar for Windows, using other apps.

As the other program we will use VCV Rack. It’s a free, open-source virtual modular synthesizer, and works great to use in combination with Reason.

Download and install Soundflower

Soundflower is a free app that acts like virtual audio cables between audio programs on your Mac. A download link for the latest build (today 2.0b2) and install instructions are available on the Soundflower’s GitHub page.

Create an Aggregate Audio Device

To your Mac, Soundflower is just an audio interface like any other. To be able to use it at the same time as your existing audio interface, you need to create what’s called an Aggregate Device. Think of it as merging multiple audio interfaces into one. To do this, open the app Audio MIDI Setup which is located in your Applications/Utilities folder. Open the Audio Devices window, it should look something like this:

As you can see, there is a list of the available audio interfaces: my Mac’s built-in, my Balance USB-interface connected to my speakers, and two versions of Soundflower: a 2-channel and a 64-channel interface. We will use the 64-channel version.

In the lower left corner, click the + and select “Create Aggregate Device”. A new virtual interface will be added to the list:

Check the interfaces you want to use. In my case it’s the Balance (for the speakers) and Soundflower 64-channels (for sending CV). You can rename the Aggregate Device by clicking the name in the list.

Setup Reason

Launch Reason and select the Aggregate Device as your audio interface. I will probably only use a maximum of 8 channels of CV, so to reduce CPU usage (I’m not sure there actually is any for silent channels) I usually disable the Input and Output channels 11-66:

As you can see in Reason’s Hardware Interface device, channels 1-2 are now in use with Balance (green LED by the socket), and Soundflower channels 3-10 are available (yellow LED):

You can already send and receive audio directly to these inputs and outputs. But here is where the CV-I/O devices come into use. To be able to easily send and receive CV, they convert CV to audio and back. We will first try to modulate a Reason device with a VCV Rack LFO. Create a CV-I device and connect it to the Hardware Interface device inputs:

Done, let’s head over to VCV Rack now!

Setup VCV Rack

Launch VCV Rack and create an Audio Interface module. Since we want the audio to go via Reason to the speakers (using Balance), here we can select the Soundflower 64-channel device directly. This means we can use all 8 inputs and outputs in VCV Rack:

Connect VCV Rack and Reason

So we wanted to modulate a Reason device with an LFO from VCV Rack. Create an LFO and connect it to audio output 1 in VCV Rack:

Notice how the Activity LED on the CV-I lights up in sync with the audio cables in VCV Rack! This means the signal is getting through. Now we just have to connect it to a Reason device. For a simple test I created a DrOctoRex and connected the CV to control the Filter Cutoff:

At this stage, we notice two things:

  • When created, the VCV Rack LFO was set to UNI (unipolar), meaning that it sends out only positive voltage.
  • Since the DrOctoRex Filter Cutoff fader was set to max as default, the “extra” positive CV from the LFO will have no effect with this setting.

So to hear the effect of the LFO we can tweak the settings something like this:

  • Set the LFO to BI (bipolar). This means the LFO waveform is centered around 0V, and sends out negative values as well.
  • Set the DrOctoRex Filter Cutoff fader to where you want the LFO to center around.
  • Use the trimpot next to the Filter Cutoff CV input socket to set the amount of modulation. Or use a VCA module in VCV Rack 🙂

And back again!

The process is pretty much the same when sending CV the other way around, from Reason to VCV Rack. But you will use the CV-O device instead of CV-I. In this example I am sending Synchronous CV to control the Filter frequency in VCV Rack’s VCF module. I’m also sending the VCV Rack audio back to Reason so it can be mixed in the Reason mixer.

A couple of things to note with this setup:

  • The Soundflower channels work more like 8 buses than 16 audio cables. So if we send a signal from Reason to Soundflower output 1, that signal can be received on the Soundflower input 1! This means that you practically only have 8 inputs OR outputs, and not 8 separate inputs and outputs. There are plans to update the Audio Interface module making it possible to use more than 8 channels.
  • Sending the audio back to Reason for mixing is handy, but doesn’t work when doing an offline export of your Reason song. But you can enable the VCV Rack Mix Channel as a Rec Source, and then record it to a separate audio track in real time before exporting. Or just record from the Soundflower inputs directly.

That’s all folks!

So now we have demonstrated how to send CV between Reason and VCV Rack using Soundflower. As you can see, there will be many cables, and it’s easy to get confused by what is an input and what is an output. Hopefully the name labels in CV-I and CV-O will reduce the risk somewhat.

Now it’s up to you to make some music, good luck!