Category Archives: Reason

Using Reason With an Analogue Modular Synth

I want to integrate my Eurorack modular synth with Reason and have found a pretty neat solution in the Silent Way ES-3 with the Silent Way Voice Controller. I’ve written a little bit about what this does here.

So what I’m aiming for is to be able to route CV/Gate as well as audio signals from any module in the Reason rack out into the analogue modular. I also want to use Reason to monitor and record the audio output from the analogue modular.

I’m using a USBStreamer B USB-ADAT interface which has no other I/O. For this reason I need to monitor and record using a separate sound card and this causes complications since Reason can only use one sound card at a time. Fortunately OSX allows you to create virtual “aggregate” sound cards out of several physical sound cards. This might be possible in Windows too, but I wouldn’t count on it…

First open the “Audio MIDI Setup” program on your Mac. This is what the Audio Devices window showed on my machine :

If you click on the + sign in the lower left corner you have the option to create an “Aggregate Device”

Here you can select which audio devices you want the aggregate device to use. The order in which you select the devices determine how they will be mapped to the input/output channels in the aggregate device; the first device you select will be mapped to the first input/output channels. Reason is pretty flexible so use the order that makes sense to you. First I’ll add the USBStreamer B ADAT interface. Since it has 8 channels and these are numbered 1-8 on the ES-3 panel I think it’ll be easiest if those numbers match the ones in Reason, I’m using a Terratec Phase 26 USB sound card as my main analog interface, my analogue mixer is connected to this interface for recording, so I add that next. Finally I want to monitor using the headphone output on my screen so I add HDMI last. It’s not very high-end but quite convenient since I won’t have to reconnect my headphones if I use the screen for something else (hello Xbox!).

agg_select

Next I changed the name of the device to “Phase+ADAT” and selected it for audio input and output:

agg_select2

The next step is to set up Reason to use the new aggregate device as its Audio Device:

If you have more than 2 channels they may not automatically be active so make sure to enable all the input and output channels that you want to use:

reason_chansel

I won’t have anything connected to the ADAT inputs so I’ll disable all those to avoid being fooled into using unconnected channels in the Reason Hardware Interface Section. Remember that I added the ADAT interface first so the first 8 channels of the aggregate device are ADAT channels.

reason_desel_inputs

If you go to the Reason rack and locate the Hardware Interface module (top left) and click on the “Audio I/O” button you should now see all your inputs and outputs marked with either a green LED (available and connected) or a yellow LED (available an unconnected). Make sure that the Master Section outputs are connected to the the output pair that you want to use. In my case this is the HDMI output which is channels 9 and 10. If you want to send audio from Reason to the ES-3 then you just connect the audio output that you want to send (from a module directly or from a mix channel device) to an output in the Hardware Interface that is routed to an ADAT-channel.

To send CV/Gate to the modular you need to create an instance of the Silent Way Voice Controller rack extension. This is the CV/Gate gateway between the modular synth and Reason.  Connect the Pitch and Gate outputs of the Voice Controller to a pair of outputs in the Reason hardware interface section that are routed to a pair of ADAT channels. In my case the ADAT outputs are outputs 1-8 so I picked the first pair: 1 and 2. Now you should be able to send Gate to the modular via the ES-3. CV is not sent unless the Voice Controller has been calibrated.

VC_connection

To calibrate, the Voice Controller listens to the output of the oscillator being calibrated while sending it a sequence of CV values thus enabling it to map CV values to oscillator pitch. For this to happen you need to set the oscillator to generate a simple waveform with a clearly detectable frequency (triangle is recommended by the makers of Silent Way). Connect the oscillator output to a sound card input and then connect the corresponding input in the Reason hardware interface section to the Voice Controller “Calibration” input. If you want to hear the calibration (which can be useful to verify that it actually does something) you have to split the audio input before you send it to the Voice Controller.

First create an Audio Track and select its Audio Input to be the input from the modular synth (input 9 in my case) :

cal_track

Next create a Spider Audio Merger & Splitter and connect the Direct  Out outputs from the audio track to the splitter input:

spider1

Now we can route the audio from the modular to the Voice Controller and to a new mixer channel for monitoring. Create a Line Mixer 6:2 and connect the split output from the Spider to a channel in the line mixer and to the Voice Controller Calibration input:

spider2

Next connect the Pitch and Gate outputs from the Voice Controller to the appropriate outputs (as described above):

cal_patch

Now we’re ready to calibrate. Make sure that monitoring of the modular audio track is enabled. You won’t hear it through that channel because the internal routing is broken by tapping the output into the Spider but you still need the monitoring to be enabled to hear the output on the Line Mixer channel (I don’t know why).

calibration_monitor

Next you press the V/Oct or the Hz/V calibration button on the Voice Controller to run calibration:

cal_ready

That’s it! Now you can connect whatever you want to the Voice Controller and start making unlistenable IDM!

Routing a Thor oscillator to a modular filter while using the Synchronous modulator to generate CV for the filter cutoff frequency in the modular. Wobble ho!

Free running oscillators in Thor

Sometimes when I’m messing about with Thor in Reason I find myself wishing it had free-running oscillators. In an analogue modular synth the oscillators are “always on” — if you connect the sine wave output from an oscillator to an audio playback output you will hear a steady tone playing indefinitely. While this is not what you want for most sounds, it is a mode that makes it a lot easier to hear and understand what filtering and various modulations, such as AM; FM or sync, do to the sound. Without this I find myself having to trigger notes all the time to hear what I’m doing which is both a bother and something that affects the sound since it re-triggers the envelopes.

Now Thor apparently has free-running oscillators in the sense that their cycles are not restarted when it receives a gate signal. I think this is to avoid having several oscillators starting in phase if they are triggered by a note simultaneously. So the Thor oscillators are “running” all the time, but they are not playing if they are not getting a gate signal. What’s worse: the amplitude envelope does not have an infinite release time. The maximum release time is 30 seconds so you will definitely hear it decaying. Fortunately, Thor’s awesome modulation matrix can come to the rescue!

The solution I came up with (and I’m sure there are many, many others) goes like this :

1. Go to the modulation matrix and route “Shaper” to “Audio Out1” as well as to “Audio Out2”.  Set the amount to 100%. This bypasses the amplitude envelope (and everything after it).

routing_matrix

2. Disable “Gate trig” on the amplitude envelope. This stops the envelope from affecting the sound.

amp_env

3. Go to the Thor sequencer. Set the mode to “Repeat” and the number of steps to 1. Use the edit knob to select “Gate len” and turn the knob above the active step fully to the right (100%). This causes the sequencer to generate a continuous note when it is running.

seq_mode

seq_steps

4. Press “RUN” in the sequencer section and start twiddling.

This seems to work pretty well. It doesn’t have any external dependencies so it works on the iPad version of Thor as well. The downside is that both the third filter and the chorus and delay blocks are bypassed. Still, whenever I’m programming a pad or drone sound, or if I’m just experimenting, I find it useful to start a patch this way and only activate the amplitude envelope once I’m happy with the basic sound.

Here’s hoping the Propellerheads adds an envelope disable option to the amplitude envelope in Thor in a future release!