61 – Generative Ideas (pt. 2)

Continuing our story about creating some random generative musical ideas in Reason, I’m going to take the Random Sequencers we built previously and find some usefulness for them. So hold on to your hat. It’s going to be a bumpy ride.

Continuing our story about creating some random generative musical ideas in Reason, I’m going to take the Random Sequencers we built previously and find some usefulness for them. So hold on to your hat. It’s going to be a bumpy ride.

You can download the project files here: Generative-Ideas-Part2. The files highlight the ideas I’m covering here. Note that some of the files work for Reason 4 and some work for Reason 5. C’est la vie.

Random Glitch Box

The Front panel settings on the "Glitch Box" Combinator
The Front panel settings on the "Glitch Box" Combinator

The first and probably best use I can find for these random generators is as a glitch box. Surprise surprise. This one really is a no-brainer. Just fire up the 128-step sequencer, duplicate the devices, and with a little reworking we have two separate randomizations: one for the notes and the other for the gate. Then load up a sample that spans the length of the keyboard, and this will be our “Grain Sample” which will be played via the sequencer Combinator. You can put the sample player inside the Combinator and just rewire the sound source CV / Gate inputs into your device of choice. Here, I’m going to use an NN19 for the sample.

 

The front of the Sampler glitch Box. It's almost like a Grain sampler, when you use the sequencer this way.
The front of the Sampler glitch Box. It's almost like a Grain sampler, when you use the sequencer this way.

 

The back of the Sampler. You could also randomize the "Sample Start Time" if you wanted to go further with this idea.
The back of the Sampler. You could also randomize the "Sample Start Time" if you wanted to go further with this idea.

 

Random FX

Remember that gargantuan “Key Flux FX Processor” I built oh so long ago? Well how about we fire up that bad boy and take it for the ride of its life. Using the same sequencer as above, we’ll plug it into the FX processor, and let it process any of your sounds. Just sit back and watch it cycle through all the various effects randomly. I think I could sit here for hours just listening to it doing its thing.

Crafting Some Useful Leads

Though this might not make any earth-shatteringly great lead tracks, you can make your sequencer more musical by implementing the following idea. First, take the 64-step sequencer, and change the notes around so that each of the four “Thor Sequencers” are 2-steps long. Then put the first two notes of your key (here we’ll use the key of C Major to keep it simple) into the first sequencer, the next two in the second sequencer, and so on. You will end up with this configuration:

Thor Sequencer 1: Step 1 = C3; Step 2 = D3

Thor Sequencer 2: Step 1 = E3; Step 2 = F3

Thor Sequencer 3: Step 1 = G3; Step 2 = A3

Thor Sequencer 4: Step 1 = B3; Step 2 = C4

Next, we’ll map the other steps so that we can add more of specific notes from the same key. In my patch I put more C, E, and G notes in the empty steps on the first Thor sequencer, and more of the D, F, A, B notes in the empty steps of the second Thor sequencer. I then added some sharps and flats into the third Thor sequencer, and additional suspended notes (and Octave shifts — i.e.: C4 notes) into the fourth Thor sequencer.

The steps in the first "Thor Step Sequencer" showing a C3-E3-G3-C4 pattern.
The steps in the first "Thor Step Sequencer" showing a C3-E3-G3-C4 pattern.

Finally, in the Combinator Modulation Routing section, I mapped the Sequencer > Step Length parameter of all four thors to Rotary 3 & 4, and Button 3 & 4 respectively. The min / max values on all were 2 / 16. This way, we can use the Rotaries and Buttons to add in further steps to increase the “weight” of them into the Random sequencer. For instance, if you turn up Rotary 1, you will introduce more C, E, and G notes. This has the effect of weighting those notes more than other notes in the key. In other words, the sequencer will “pick up” and “play” those notes more than the others.

The front of the Combinator, showing the Rotaries / Buttons. Note the Step Count is mapped to Rotary 3 to add more weight to C-E-G notes.
The front of the Combinator, showing the Rotaries / Buttons. Note the Step Count is mapped to Rotary 3 to add more weight to C-E-G notes.

Of course if the Combinator had more Rotary assignments, you could weight each key separately using 8 rotaries. But that’s just not the case. But if you look at my Kongtrol articles from a few weeks back, you could very easily build it using Kong (wink wink, nudge nudge).

The patch I built only uses 1 octave range, but there’s nothing stopping you from building this across multiple octaves, up to 128 steps, using my random sequencer here. Or you can use the Transpose feature to raise it to two octaves. Or you could use the RPG-8 to force octave switches, but then you’re going to be inputting values into the “Main Sequencer” in Reason, and I’m trying to stay away from doing that.

Modulation, Modulation, Modulation

Another interesting use of the random sequencer is when you start to get into modulation. With a random setup, you can use the CV output to modulate parameters on any of the Reason devices, even ones that don’t have a CV input (using the Combinator Rotaries as the CV pass-through). Included in the file is a “Mods” patch which show you how to create a random EQ generator and also use the same random sequence to affect some parameters to the Thor sound source directly (via CV1). The Thor’s CV1 is then mapped to the “Amp Pan” and “Osc 3 Position” parameters. Note that in order to get the EQ Frequency modulated, you need to send the random sequence CV to a Combinator rotary first. Then in the Combinator’s Modulation Routing section, you can map the rotary to affect the EQ Frequency. In the patch I’m providing, I set the Min / Max values to 600 / 100, which provided some nice movement to the sound.

The front of the Combinator showing the Thor sound source and EQ, Both of which are modulated with the Thor Random Step Sequencer.
The front of the Combinator showing the Thor sound source and EQ, Both of which are modulated with the Thor Random Step Sequencer.

 

The back panel showing the Note CV sent to the Spider and then sent to Rotary 1 and the Thor sound source CV 1 input.
The back panel showing the Note CV sent to the Spider and then sent to Rotary 1 and the Thor sound source CV 1 input.

 

The front panel of the Combinator with the Programmer displayed. Note that the EQ Parameter 1 Frequency is mapped to Rotary 1. This way a parameter without a CV input can be controlled via CV using the Rotary as a pass-through.
The front panel of the Combinator with the Programmer displayed. Note that the EQ Parameter 1 Frequency is mapped to Rotary 1. This way a parameter without a CV input can be controlled via CV using the Rotary as a pass-through.

In a nutshell, if you open this patch, you can press play on the transport, which starts the sound. No modulation is affecting the EQ, Pan, or Osc 3 Position parameters yet. In order to turn on these modulations, press button 1 (Run / Reset). You will then hear the modulations taking effect. To select the amount of modulation applied, use Rotary 1. To affect the Synced Rate of the modulations, use Rotary 2.

Note: in this kind of setup, I only used the “Note CV” value from the random sequencer. The gate CV value was not needed or used. I also removed the CV visualization DDL-1 devices, so that the patch would be accessible for both Reason 4 and Reason 5 users. Note also that the CV values are inverted through the Spider so that Rotary 1 will gain more modulation when turned to the right. If the signal wasn’t inverted, turning the Rotary to the right would produce less modulation, which is counter-intuitive in my book.

Where do you go from here?

These are just a few ideas I had when I was playing around with the Random Sequencer I created. As I went from having the first initial “problem,” I ended up with several interesting sequencer patches and ideas. This just proves that if you have a single thought or problem, and you can solve it, you can end up going in a lot of different directions which lead to even more ideas and creative projects. So I guess my point is this. Find as many “problems” as you can, and then work toward solving them. Because that just might be the creative spark you need to start an imaginative wildfire.

One other place you could take this is to build an entire “generative” song, in which all parts of it are randomized. In this case, if you used the Thor sequencer here, you would end up with a song that is never the same way twice, and one which bypasses the Main Reason sequencer entirely. As a creative project, that would be quite an undertaking. But if you want creative ideas, there they are.

Another creative “generative” idea is to blend multiple LFOs together, so that you end up with a lot of variety. You could then take a third LFO and use that to apply to one of the two LFO’s rate or amount parameter. There’s all kinds of ways you can layer LFOs to come up with some pretty intricate modulation sources. But I think I’ll save that one for another article at a later date. For now, I’m pretty much done looking at Thor’s sequencer for a while. And it’s Music Making Month, so it’s time to actually make some music right?

PS: If you come across any other ideas related to this idea of “Generative” or “Random” music, please share them. I’d love to hear and take a look at what you’re working on. All my best for now.

60 – Generative Ideas (pt. 1)

Enough about Kong already. Let’s try something a little more interesting. Let’s start with a concept: Generative Music. And let’s see what we can do with it in a Reason environment. For starters, let’s see how we can extend the Thor step sequencer a little bit. Well, okay, let’s make it go absolutely NUTS!

Enough about Kong already. Let’s try something a little more interesting. Let’s start with a concept: Generative Music. And let’s see what we can do with it in a Reason environment. For starters, let’s see how we can extend the Thor step sequencer a little bit. Well, okay, let’s make it go absolutely NUTS!

You can download the project files here: thor-extended-step-sequencer-ideas. This contains a lot of different ideas from EditEd4TV, Sterioevo, and myself. All of us had a hand in working out my little idea. And I just want you guys to know that you’re the best! Without your ideas, I never would have been able to make this thing work. So anyway, there are 5 Reason (.rns) files and 5 Combinator (.cmb) files. Read below to see what kind of mayhem you’ll find inside. Note: to “Run” any of the patches in the file, just press Button 1 on the Combinator. This will start the sequence/system going. To stop the sequence/system, press Button 1 again. There’s a “Sound Source” setup in each Combinator to test the sound. There’s also 2 DDL-1 devices in each Combinator which is used to visually see the CV Note / Gate values.

Defining Generative Music

There’s many definitions for what Generative music is. Put simply, it can be defined as music that meets the following requirements:

  1. It must be created by a “system,” which is to say that it requires an algorithm to generate the “structure” (such as algorithms, mathematical equations, number sequences, etc). There must be logic behind it, whether this logic is set up by the composer or the listener.
  2. It is ever-different and changing over time; non-repeatable and “emergent,” as wind chimes are.

Brian Eno provided a really great Generative Music lecture at In Motion Magazine. I would highly recommend giving it some time if you also enjoy this sort of thing.

Starting off with a Problem

First I’ll give you the problem: How do we create a step sequencer pattern that is 128 steps long and randomly selects values between 0 – 127 in real-time? Can this be done in Reason using Thor’s Step Sequencer?

When I was building my “Key Flux FX Processor” behemoth, I wanted a way to randomly select the MIDI note values from 0-127 (C-2 to G8). Using the Matrix was a workaround, however, you have to jump through some serious hoops in order to get it to use note values outside the typical 5-octave range of the device. And even then, the randomizations aren’t really random. You’re selecting from a set of pre-defined patterns that never change. You can click the “Randomize” function in the Matrix, but once the notes are assigned to the Matrix, they’re permanent. Thor, on the other hand, provided a way to assign a “Random” run mode that is random during “Live play” — and this is the crux of the biscuit. This is what can open you up to one area of Reason which is truly “Generative.” It’s like the Holy Grail of building a “Generative System” in Reason. However, like the Holy Grail, it’s elusive. You’ll soon see why.

As for the “Key Flux FX Processor” patch, I settled on the Matrix because I couldn’t solve a simple problem at the time: How to Merge the Note values coming out of Thor, so that you could create patterns longer than 16 steps (the total length of a Thor Step Sequencer). The idea was to set up a series of Thor Sequencers and increase each step by 1, and then randomize the whole lot, so that you can get something truly random going from 1 – 127 MIDI value. Of course, I soon realized that you can’t get something truly random like that with the Thor Step Sequencer because the way it would work is it would go from Thor 1 (randomized between 1-16 MIDI value), then to Thor 2 (randomized between 17-32 MIDI value) and so on. Not “truly” random, but still better than nothing.

However, there are two main issues with Thor’s Step Sequencer:

  1. The Thor step sequencer leaves the gate open from one step to the next and never fully returns to zero between steps. This means that merging the note/gate values sums the previous note value with the next note value. And using the “End Trig” CV to trigger the “Start Trig” of the next Thor sequencer sums the two values together. This could be seen as a bug or a feature, depending on what it is you want to do with the CV values given off by Thor. Sometimes keeping the gate and CV open is a good thing. However, not in this case.
  2. The second issue is that the Note CV values from Thor’s Step Sequencer are bipolar (-64 to +63). Not a really big deal if you understand that. But something that will leave you scratching your head if you’re trying to visualize your CV with a DDL-1 device.

These two seemingly harmless facts about the Thor Step Sequencer ended up in hours upon hours of frustration when I was trying to do something as simple as connect multiple Thors together and have them generate the exact note/gate values to apply to a single sound device.

To recap, here are the three limitations/hurdles we need to overcome in order to tackle the issue:

  1. We need to use Thor, because it’s the only device that can generate a real-time “Randomized” sequence. Using the Matrix is a non-starter because the notes cannot be changed or randomized in real-time (not to mention it uses only a 5-octave range out of the box).
  2. We need to be able to create a Step Sequencer that is 128-steps long, so that each MIDI value has a chance to be selected. Since Thor is 16 Steps long, we need 8 Thors to generate a step sequence from one end of the MIDI spectrum to the other.
  3. We need to build a method to Randomly “play” the entire sequence so that only one MIDI value is selected and played at any one time, and this value can freely jump from any value between 0-127 to any other value between 0-127.

The solution(s)

Hurdle #1:

Tackling the first issue is simple. We use Thor and forget about the Matrix. Check!

Hurdle #2:

The second issue was beautifully tackled by both Sterioevo and EditEd4TV, with two different solutions:

First, Steve (Sterioevo) came up with the brilliant idea of using the Global Sustain on Thor to shut the gate off between notes. This was perfect. You simply connect all your Thors together, send the CV from the Note / Gate outputs through Rotaries in Thor and then use the Global Envelope Sustain to scale the note and gate CV in the Modulation Bus Routing Section (MBRS) in the Thors. This allows the Global Envelope Sustain to “shut off” the gate between the steps, and you can freely merge as many note CV and gate CVs as you like. In essence, you can string as many Thors together as you like and merge them properly. See the project files for his patch.

Next, EditEd4TV provided a more compact solution. His solution sends both the note / gate CV outputs into the CV1 and 2 CV inputs on the same Thor, and then outputs them to CV 1 & 2 outputs to the Spider Note / Gate CV mergers. This step is done to convert the note values from bipolar to unipolar (that so-called benign problem #2 was solved). Then in the MBRS, he programmed the following:

CV in1 : 100 > CV out1 : 100 > Last Gate

CV in2 : 100 > CV out2 : 100 > Last Gate

The Modulation Bus Routing Section (MBRS) of Thor showing the assignments and Steps
The back of the first Thor device showing the CV routings to set up the first set of 16 steps in the 128-step Forward-running sequencer where the Thors are strung together and play end to end.
The back of the first Thor device showing the CV routings to set up the first set of 16 steps in the 128-step Forward-running sequencer where the Thors are strung together and play end to end.

Brilliant. The “Last Key > Gate” (ie: Last Gate) is what shuts off the gate after each step, and allows you to merge the note / gate CV successfully. Now you are free to string up as many Thors as you like, without a hassle. See EditEd4TV’s patch which is also included in the project files. Hurdle #2 has been jumped and solved. Check!

Note: Due to EditEd4TV’s solution being easier to build, and more self-contained, I’m going to build on his patch to solve hurdle #3. Not that Sterioevo’s solution isn’t any less brilliant or usable by the way.

Hurdle #3:

Solving the third problem hit me in the head like a ton of bricks. What was needed was a set of recursive on/off triggers. One Thor needs to be set up to control the on/off state for every two Thor sequences beneath it. Once this is set up, you can then work backwards, building a pyramid of Thor controllers to turn things on and off. Visually, it looks something like this:

Master Controller > > Controller A > > Controller A1 > > Sequence 1 (Steps 1-16)
> Sequence 2 (Steps 17-32)
> Controller A2 > > Sequence 3 (Steps 33-48)
> Sequence 4 (Steps 49-64)
> Controller B > > Controller B1 > > Sequence 5 (Steps 65-80)
> Sequence 6 (Steps 81-96)
> Controller B2 > > Sequence 7 (Steps 97-112)
> Sequence 8 (Steps 113-127)

 

So I started to work from the bottom of the pyramid upward. It worked out well for Controller A1 controlling two sequences underneath. To see how this was set up, you can look at the “Thor 32-step random sequencer” rns or Combinator file in the Project files at the top of this article. Incidentally, it uses the “double-scaling” lines in the Modulation Bus Routing Section of the Pattern Sequence Thors (so that’s a little nod to Hydlide’s next tutorial all about the MBRS — See his latest on the Mod Matrix Filters and Amps — a great read).

The idea is to create another Thor (Controller A1 in the diagram above) which switches Sequence Thor 1 and Sequence Thor 2 on or off. I used the 2 Curves inside Controller A1, and set them so that they are both 16 steps which are set to “Random” mode, as follows:

Curve 1: Step 1 – 0; Step 2 – 100; Step 4 – 0; Step 5 – 100, and so on. . .

Curve 2: Step 1 – 100; Step 2 – 0; Step 4 – 100; Step 5 – 0, and so on. . .

Then I sent Curve 1 into CV 3 input on the first Thor Sequence, and Curve 2 into CV3 on the second Thor Sequence. In these Thor sequencers (1 and 2), set the following lines into the last 2 lines on the MBRS (the ones with 2 scalers):

The MBRS for the first Thor Step Sequencer
The MBRS for the first Thor Step Sequencer
The step sequencer on the "Controller A1" Thor, which uses both curves set in opposition to each other to control the 2 Thor step sequencers underneath it.
The step sequencer on the "Controller A1" Thor, which uses both curves set in opposition to each other to control the 2 Thor step sequencers underneath it.

So this creates the “Thor 32-step Random Sequencer” patch found in the project files at the top of this article. If you duplicate this same setup for the next two sequences (Sequence 3 & 4), controlled by “Controller A2,” you end up with one level tackled. Our next step is to figure out how to extend this to 64 steps. So let’s try doing that now.

You would think that using this same idea one level higher would yield the same results. What you find out instead is that this trick can only be used once. As soon as you use the double Curve trick one level higher (“Controller A”) to control the level below (“Controller A1” and “Controller A2”), you end up with completely messed up CV values coming out of the system. Trust me: I tried. So what we need to do is find a new trick to select between the two “A1” and “A2” Controllers.

Enter the Mod Bus switcheroo! This time, we need to separate the merged note/gate outputs from Thor Sequence 1 & 2 and Thor Sequence 3 & 4 so that they both are on separate Spider Merger/Splitters. Then send the merged outputs from all 4 of those Spiders into the “Controller A” CV inputs 1-4. Be sure to keep track of what is going where, as shown below:

Note Merge 1 & 2 > into CV 1 input

Note Merge 3 & 4 > into CV 2 input

Gate Merge 1 & 2 > into CV 3 input

Gate Merge 3 & 4 > into CV 4 input

The routings to split the 2 sets of Thor sequencers into their own Spiders, and send the merge outputs into the "Controller A" CV inputs. The CV 1 & 2 outputs are sent to the Combinator Rotaries.
The routings to split the 2 sets of Thor sequencers into their own Spiders, and send the merge outputs into the "Controller A" CV inputs. The CV 1 & 2 outputs are sent to the Combinator Rotaries.

Then you setup the Thor “Controller A” MBRS as follows:

CV In1 : 0 > CV Out1

CV In2 : 0 > CV Out1

CV In3 : 0 > CV Out2

CV In4 : 0 > CV Out2

While you’re there, set up the steps on the Thor “Controller A” the same way you did with “Controller A1” and “Controller A2”:

Curve 1: Step 1 – 0; Step 2 – 100; Step 4 – 0; Step 5 – 100, and so on. . .

Curve 2: Step 1 – 100; Step 2 – 0; Step 4 – 100; Step 5 – 0, and so on. . .

The MBRS and Step Sequencer of the Thor "Controller A"
The MBRS and Step Sequencer of the Thor "Controller A"

In the Combinator Modulation Routing section, select “Controller A” and enter the following:

Rotary 3 > Mod 1 Dest Amount : 0 / 100

Rotary 4 > Mod 2 Dest Amount : 0 / 100

Rotary 3 > Mod 3 Dest Amount : 0 / 100

Rotary 4 > Mod 4 Dest Amount : 0 / 100

The Combinator Modulation Routing for "Controller A"
The Combinator Modulation Routing for "Controller A"

On the back of the rack, send the CV Output 1 & 2 from the Thor “Controller A” into the Combinator’s Rotary 1 & 2, respectively. Note: in the setup shown above, these CV outputs are split with a Spider “Note/Gate” splitter so that I could send the signal to two additional rotaries to visualize the CV values in the two DDL-1 devices, but you don’t need to do this. This is so that I could test out the CV and make sure the values output are indeed random and working properly.

Turn up the CV trim knobs to 127, and on the front of the Combinator, turn the rotaries to zero (0). And there we have it. a 64-step random sequencer. Of course, you have to use 2 Rotary CV sources on the Combinator, but if you have version 5, you can set this up on the new CV inputs, without giving up any rotaries. Take a look at the “Thor 64-step Random Sequencer” patch included in the project files at the top of this tutorial to see it in action.

Finally, to gain access to the next level (Master Controller), I have to concede that I cheated a bit. I used a Thor and called it “Doubler” which essentially doubles the CV values of all the Thor Step sequencers. Then I used a curve value to send a series of random steps set to either a value of zero (0) or 100. This was sent into the final CV input on all the step sequencers, and the following was entered into the MBRS of each Thor Step Sequencer (Sequencers 1-4):

CV In4 : 99 > S. Transp (Step Sequencer > Transpose)

This has the effect of extending the range of the four Thor Sequences from 0-64 to 0-127. Of course there may be a limitation when it comes to changing other parameters of the step sequencers, like Gate Length and Gate Duration, because you essentially have 1 step which acts for 2 outputs. For example, the Gate Length for step value “1” will also double for value “66.” So this system is not exactly perfect. But it’s the best I could come up with at the moment. Perhaps someone smarter than I could come up with a better solution. If so, I’m all ears and would love to hear it. Check out the “Thor 128-step Random Sequencer” patch in the project files at the top of this tutorial and you can see the finished version.

So there you have it. This solves the third and final hurdle. Checkmate and your move!

Moving Forward

In the next part of this series, I’ll try to explore a little more about how you could potentially use this type of setup. For right now, just have a look and see if you can improve upon this or create a better way to create a fully functional 128-step random sequencer.

As for the “Generative Music” concept, I think this could have some interesting potential. For right now, I’ll just leave off with another interesting “Generative” site that I found online which takes mathematical number sequences and converts them into music. You can listen to thousands of sequences all based on these math sequences. I thought it was interesting. Check it out here if you have a minute: http://oeis.org/play.html. The site is a little cludgy, as you have to copy the database integer sequence number into the “Play” page, but once you do, you can hear that database record as a MIDI file and choose the instrument that plays the sequence.

And here’s another site which generates music (MIDI files) from paintings: http://www.synestesia.fi/ Now there’s something original.


In conclusion, you can indeed insert some “Generative” elements into your Reason projects. Hopefully you won’t have to spend hours upon hours figuring out how to do it like the three of us did, and instead spend hours and hours coming up with your own “Generative” systems a la Brian Eno. More to come on this later. . .

In the meantime, send me your best “Generative” music ideas and let’s see where this concept will take us in Reason and Record. Peace out!

56 – Key FluX FX Processor

One week, 300 + devices, enough cables to circle the earth at least once, and a massive caffeine-induced headache, here is my “Key Flux FX Processor.” If some of the other tutorials I’ve written have yet to melt your brain, then this might actually fit the bill. Here I created a massive chaotic Reason 5 FX processor. Each effect is triggered via Midi Key on the Combinator track.

If some of the other tutorials I’ve written have not yet melted your brain, then this might actually do it. It melted mine as I was creating it and I’m only just now recovering (and not in an EditEd4TV kind of way). Here, I’m going to delve into creation of a massive chaotic Reason 5 FX processor using a Combinator. And each Effect is going to be triggered via Midi Key on the Combinator track. It’s kind of like Ned Rush’s own Extreme FX Combinator (included in the NedFX refill), and Hydlide’s FX Triggering Combinator, but ummm…. yeah…. different.

So one week, 300 + devices, 84 FX chains, enough cables to circle the earth at least once, and a massive caffeine-induced headache, here is my “Key Flux FX Processor.” Ta-da!

You can download the whole thing here: Key-Flux-FX-Processors. This contains the Reason 5.0 .rns and Combinator file enclosed in a zip package. Note that this is for Reason 5 users only. There’s several Kongs and the CV inputs on the Combinator are used. If I have some time, I might put together a version for R4, but right now, this is what I’ve got. Note also that your CPU will take a hit. If you have an older computer, you may not even be able to open it or use it. So I’ve included 2 “Lite” Combinators which have 21 FX chains in each. Of course there should be nothing stopping you from building your own, and you should give that a try.

The “Key Flux FX Processor” Combinator

First off, a bit about the way the Combinator operates. It is just a massive chaotic Effects processor that can be added after any sound source in Reason. So open the .rns file and take a look inside. I have a Thor patch that is being played by a matrix. And then the sound is processed through the Combinator. That’s straightforward enough. But if you press “play” on the Transport, you’ll notice you don’t hear any sound. If you want to hear the original sound, just bypass the FX Combinator.

Assuming you want to play the sound through the FX, make sure the Combinator is NOT bypassed, and instead play any key from C-2 to B4. There are 84 different effects tied to the first 84 midi keys. So playing each key will process your sound differently. Fun right?

  • Key C-2 to F1: These keys play 42 different FX chains, depending on which key you press.
  • Key F#1 to B4: These keys play 42 additional FX chains, which are combinations of the first 42.
The Combinator Key Mapping and Modulation Routing section showing each key mapped to a Thor device.
The Combinator Key Mapping and Modulation Routing section showing each key mapped to a Thor device. The Mod 1 Scale Amount scales the velocity so that Button 1 can act as a Global Velocity Sensitivity on/off switch.

Taking this a step further, you can do many different things based on the parameters that are set up on the Combinator controls, and this is where things differ greatly with the way this patch operates and others, like Ned Rush’s very awesome patch. Here are the Combinator controls:

  • Pitch Bend: Not intentionally mapped to any device, but may still provide some variations. I haven’t really gone through the whole thing to see where it’s mapped. Just kind of left this one hanging.
  • Mod Wheel: Changes the randomization pattern. 32 patterns are mapped to the Mod Wheel, and the patterns will only be heard if you have button 2 (Run Randomly) enabled.
  • Rotary 1: Parameter 1 – This knob is mapped to one or two parameters inside each of the effects chains. So utilizing it will definitely affect your sound in some weird and quirky way, no matter which effect is being played. I would caution, however, not to turn the knob before first listening to each of the effects. All the effects were built to have their parameters exactly where they are. But if you want to mangle things even more, you can do so with this knob. If you ever want to reset it back to the original values, just reload the Combinator again (of course, make sure you don’t overwrite the original file by saving over it after you’ve changed this Rotary to a different position. If you do so, all bets are off and your parameter will be permanently changed. Make sense?)
  • Rotary 2: Parameter 2 – Same as Rotary 1, except this knob is mapped to one or two “different” parameters than Rotary 1. It is mapped to at least one or two parameters inside each of the effects chains. So utilizing it will definitely affect your sound in some weird and quirky way, no matter which effect is being played. I would caution, however, not to turn the knob before first listening to each of the effects. All the effects were built to have their parameters exactly where they are. But if you want to mangle things even more, you can do so with this knob. If you ever want to reset it back to the original values, just reload the Combinator again (of course, make sure you don’t overwrite the original file by saving over it after you’ve changed this Rotary to a different position. If you do so, all bets are off and your parameter will be permanently changed. Make sense?)
  • Rotary 3: Master Volume – This is the master volume for all the effects. Sometimes things can get a little loud due to all the effects running, and while I tried to make sure all the effects are somewhat leveled out so they are all somewhere around the same volume, you can control the overall global volume using this knob. Careful not to set it too high, unless you are going for something specific, because it can go all the way up to 127 midi volume.
  • Rotary 4: Beat Delay Time – Changes the Beat Repeater time from very short (turned more left) to very long (turned more right). Used in conjunction with Button 4. In other words, you need to first turn on the Beat repeater for this to do anything.
  • Button 1: Velocity On – Turns on / off the Velocity sensitivity on a global level. So if you enable this button, you will essentially make the volume of each effect you play via your midi keys sensitive to the velocity at which you strike the keys.
  • Button 2: Run Randomly – This will turn on the Random pattern generator which randomly plays the Combinator keys. If you wish to change the rate, you’ll have to go into the “Random” matrix inside the Combinator and switch the resolution on any or all of the Matrix patterns. But this provides a nice way to randomly play the various effects in the combinator (kind of a last minute thought to add that into the mix).
  • Button 3: Beat Steps / MS – Switches the beat repeater delays from Steps (off) to milliseconds (on). Used in conjunction with Button 4. In other words, you need to first turn on the Beat repeater for this to do anything.
  • Button 4: Beat Repeat – Turns on the global beat repeater, so that you can add a beat repeat effect after any of the FX chains you are playing.

How was it all Built?

The biggest issue with building this thing was mostly time. Time to figure out the effects, and time to piece everything together. But the main concepts behind it are actually very easy to understand, so I’ll try to guide you on the building blocks and let you take things from there.

First thing’s first. You need to build all your effects chains. The easiest way to do that involves starting with one Spider Audio/Merger and sending the “To Devices” cable of the Combinator into the splitter side of the Spider. Then you can create as many more Spiders as you need, and endlessly split the signal to create as many FX chains as you like. When you have finished building your first Effects chain, send the outgoing audio signal back into a channel on a 14:2 mixer.

Second, you need to create one Thor per key (this is mostly so that you can make everything velocity sensitive by toying with the Midi Velocity setting via the “Mod Bus > Destination Scale Amount” on the front panel of the Thor in the Modulation Bus Routing Section (MBRS). In the above Modulation Routing image of the Combinator, you’ll see that each Thor has the following line:

Button 1 > Mod 1 Scale Amount: 0 / 100

In the Thor, you need to enter the following in the MBRS:

Midi Gate : 100 > CV Out1 : 0 >  Midi Vel

So in the first image below, you’ll see what needs to be placed in the front Thor panel:

The front panel of Thor, showing the MBRS line. Each key triggering Thor needs to have this same line.
The front panel of Thor, showing the MBRS line. Each key triggering Thor needs to have this same line.

And in the image below,  you’ll see how the CV1 output from each Thor is sent to the level CV input of each FX chain channel on the 14:2 mixer. Note that the trim knob for each “level cv input” on the mixer is set to full (127).

One of the FX 14:2 Submixers showing the CV from each Thor is used to trigger the level of each FX chain.
One of the FX 14:2 Submixers showing the CV from each Thor is used to trigger the level of each FX chain.

Once you’ve got one chain built and run through your Mixer, you can have fun duplicating this setup and repeating the process 42 times to fill up 3 mixers of chains on each channel. Then you can have some fun reworking the chains by combining the chains. For example, what I did in the above was create a bank of 28 Audio Spider Splitters / Mergers. I then wired the 14 Audio inputs from the first FX Submixer through the first 14 Spiders (on the split side). I then sent one split from each back to the channels on the first FX Submixer, and another split over to the Merger side of the spiders. Then on the other 14 splitters, do the same for the second FX Submixer, only be sure to send one split back to the merger side of the first 14 Spiders. Finally, send the merged output of the first 14 Spiders back to a new FX submixer. Bingo! You now have a new (fourth FX Submixer) with 14 new effects that basically combine the FX output from FX Submixer 1 and 2. I repeated this process to create a fifth FX Submixer (combining FX submixer 2 & 3), and a sixth FX submixer (combining FX submixer 1 & 3). You could actually create crossover mixes as well, for example, combine channel 1 from submix 1 to channel 5 of submix 2, etc. etc. But I didn’t want to seem like a complete lunatic! I mean 84 keys should be enough to keep you happy for a long time. Or at least until next week and a new tutorial right?

Wait. . . does anyone actually read this? hmmmm.

Ok, well then here’s the videos showcasing the sounds and what you can do with this little puppy:

And here’s a video that shows you how to build your own FX processor with velocity-sensitivity (not the whole thing, that would be CRAZY man! And it would take me hours upon hours to show you. No, this just shows you how to start things off and get the ball rolling. It’s really not a difficult concept to grasp, and it’s mostly repetition and legwork:

So now you have a system which utilizes the first 84 keys. But there’s a few more ideas I built into this whole thing. For instance, you have the global beat repeater which affects all the sounds and can be manipulated by turning it on/off on button 4. You have a simple random player which you can turn on/off via button 2. And don’t forget that when the random player is on, you can use the mod wheel to switch between 32 different patterns. If you don’t like the patterns, you can go in and change them using the first Matrix at the top of the set of Combinator devices (labelled “Random”). You also have two knobs to mangle the FX parameters, and a simple volume control on rotary 3. I honestly can’t think of too much more to pack into this little science experiment.

If the Combinator breaks your CPU. . .

It seems that there’s a lot of people that can’t open the main Combinator or run it because the FX chains inside are too much for their CPU to handle. To deal with this, I broke up the file into 2 discreet Combinators that each have 21 FX chains inside them. This way you can load up half the original FX chains and run just the ones you want. Hopefully this means that more people can use the FX. All the files are available in the project files at the top of the page. The FX can be run via keys C1 to G#2. This way, you can create some random playing via the Matrix (which is actually already built in – but it just makes it easier to tack on a Matrix after the whole thing and start adding some patterns in there to play the FX chains). There are now 2 Combinators and 2 .rns files included in the project files: “Key Flux FX Processor (Lite – A)” and “Key Flux FX Processor (Lite – B).”

Note: I have since updated these patches so that they contain a “Bypass” ability. In other words, if you don’t play the keys, the original unprocessed sound can still be heard. Then when you press the keys to hear the effects, the original sound is cut and the affected sound is passed through. For more information on how this is done, as well as the updated version of these effect Combinators, visit my Effects Bypass Methods article.


Your thoughts?

What Makes Glitch?

According to Wikipedia, Glitch is a term used to describe a genre of experimental electronic music that emerged in the mid to late 1990s. The origins of the glitch aesthetic can be traced back to Luigi Russolo’s Futurist manifesto The Art of Noises. But what makes good Glitch?

As defined by Wikipedia:

Glitch is a term used to describe a genre of experimental electronic music that emerged in the mid to late 1990s. The origins of the glitch aesthetic can be traced back to Luigi Russolo’s Futurist manifesto The Art of Noises, the basis of noise music. In a Computer Music Journal article published in 2000, composer and writer Kim Cascone used the term post-digital to describe various experimentations associated with the glitch aesthetic. Glitch is characterized by a preoccupation with the sonic artifacts that can result from malfunctioning digital technology, such as those produced by bugs, crashes, system errors, hardware noise, CD skipping, and digital distortion. Cascone considers glitch to be a sub-genre of electronica.

Production Techniques: Glitch is often produced on computers using modern digital production software to splice together small “cuts” (samples) of music from previously recorded works. These cuts are then integrated with the signature of glitch music: beats made up of glitches, clicks, scratches, and otherwise “erroneously” produced or sounding noise. These glitches are often very short, and are typically used in place of traditional percussion or instrumentation. Skipping CDs, scratched vinyl records, circuit bending, and other noise-like distortions figure prominently into the creation of rhythm and feeling in glitch; it is from the use of these digital artifacts that the genre derives its name. However, not all artists of the genre are working with erroneously produced sounds or are even using digital sounds.

Popular software for creating glitch includes trackers, Reaktor, Ableton Live, Reason, AudioMulch, Bidule, Super Collider, Usine, FLStudio, MAX/MSP, Pure Data, and ChucK. Circuit bending — the intentional short-circuiting of low power electronic devices to create new musical devices—also plays a significant role on the hardware end of glitch music and its creation.

Great. But what makes good Glitch? I’ve often pondered this question and think I’ve come up with a few characteristics of the genre.

  1. First, Glitch music has to have some balance of “randomness” or “chaos” and structure. It’s the tension between these two that give the song its listenable and deep quality. Something to be thought about, something difficult, and something that is not easily taken in by a single pass.
  2. Second, I think good Glitch music explores sonic possibilities, or rather, sonic IMpossibilities. If you listen to the works of Autechre and Aphex Twin, some of their glitchiest of tunes are interesting sonically because they use sounds that are not created by traditional musical instruments, and they explore speeds at which no human can play, even if they were created from a human instrument. Or, they create layers of sounds that are so out there and other-worldly that people would question the notion of the sounds being musical at all.
  3. Third, Glitch is not imitative. It does not try to mimic anything found in nature, but rather tries to break new ground by creating something completely new that you wouldn’t necessarily find in nature. I think this is why a lot of glitch artists turn to mechanic or machine sounds to create their music. It takes them further away from nature and more in the realm of the “man-made.” It’s not organic sound. It’s synthetic.
  4. Fourth, good glitch makes you think. Period. Perhaps that’s why us Americans refer to it as “Intelligent” Dance Music (or IDM). And while I know my brethren in the U.K. cringe at this very notion of terming any kind of music “Intelligent” (the argument as I see it stems from the fact that by labelling any one music “Intelligent” you automatically relegate all other music into the “non-intelligent” dogpile — something which I doubt was ever intended), I still think that you have to use what’s between your ears to fully appreciate glitch. I’m not saying any other music is any less intelligent or intellectual. But Glitch is not pop either. It’s not for the masses, and it’s not for those that want to immediately glean everything from one listen. It’s not background music.
  5. Finally, I think good Glitch uses the unexpected and surprising to capture or hold one’s attention. Whereas most music uses traditional hooks, such as filter openings, drum fills, or other crafty ways to keep a listener’s attention, I think Glitch tends to use more chance happenings and unexpected “free-for-alls” to keep you moving forward through the track. For example, a sudden switch from a wide-open reverb to a small space reverb, or a sudden jump in EQ. Or perhaps a major shift in tempo (as Autechre is fond of doing). All of these things seem to pay homage to the origins of the word Glitch: “erroneously” produced or sounding noise. The art of mistakes.

I would say if anyone has a further interest in the subject, they should definitely read up on the Art of Noises, a Futurist manifesto written by Luigi Russolo in 1913. A nice little summary can be found on Wikipedia. If Russolo were alive today, I think he’d be a fan of works by Autechre and Aphex Twin. I think he’d be supremely impressed at how we use computers as tools to create an infinite array of “noise-sounds” which we couldn’t create before. What I find very interesting is how so many sound designers work so hard to re-create sounds of traditional instruments. I think if Russolo were around he’d probably encourage them to forget about traditional instruments and instead focus on creating new experimental sounds that are unlike anything we’ve heard before. But perhaps that’s a thought for a future(ist) post.

What are your thoughts on the subject?

2 – Reusable Device Toolboxes

let’s discuss the possibility of adding a whole new dimension to your sound arsenal by creating Matrix device templates that speed up your workflow. Sound like something that could benefit you? Read on. . .

There is a wealth of devices, patches and samples available in the Factory, Record, and Orkester Soundbanks. And the amount of refills available on the internet grows each and every day. So why are we going to discuss yet another Device Toolbox? Because this one is going to be a little different. Here, I’m going to explore what isn’t in any of the prefab refills provided with the software. Here I’m going to discuss ways in which you can create your own repository of Matrixes. If you extend this idea, you can create your own Redrum devices as well, or how about a complete storehouse of Bass lines and melody lines. It all revolves around the same idea below. So let’s discuss the possibility of adding a whole new dimension to your sound arsenal by creating device templates that will speed up your workflow 10 times over. Sound like something that could benefit you? Read on. . .

Device Toolbox – a multitude of kits

  1. Let’s start by creating an empty document. This document is going to be used to house a variety of matrixes, but no sounds will be generated. So contrary to the way you usually start off a song, you won’t need a mixer or any kind of insert or send effects. Simply start by opening a blank document and off we go.
  2. You should get into the habit of saving your document right off the bat. So let’s do that now. Give the document a name like “Matrix Toolbox” or something you will remember.
  3. Next, create a matrix. Change the switch from Keys to Curve, and Steps to 32. Add in a curve that you use most often. Perhaps a sawtooth or sine-shaped curve. Now switch to the second pattern. Since the Matrix can house up to 32 curves, you may as well maximize the use of the Matrix and use up all those slots. That way when you insert this matrix into your projects, you have 32 choices right off the hop. So add in the next pattern. You can elect to store the Resolution and number of steps along with the pattern settings, but I prefer to leave these as is when creating some general curves (for CV control, such as panning or level control on a mixer channel, for example). This is because using all 32 steps allows you a greater degree of control over the curve. And the resolution will change depending on your song, so change that later when you insert the Matrix into an actual project.
  4. We’re only creating the repository here, so go nuts. Add in a bunch of Matrixes. In my project file I’ve added a lot of random Matrixes, with random notes and curves because this can do wonders for glitch tunes. Use 10 Matrixes tied to the 10 channels of a Redrum and you have an instant glitch kit. So keep adding. When you’re done, save the entire project as an .rns or .record file. Then when you have a song file open that requires some CV control, you’ve got a whole warehouse of Matrixes at your fingertips. Just open up the toolbox, and copy the Matrix into your song file. Don’t forget this can work in reverse as well, so as you work on your song projects, and create new Matrixes with new curves, open up the toolbox file and add the new curve(s) into a new Matrix for later retrieval.
A variety of Matrixes ready to go with nothing more than copy & paste
A variety of Matrixes ready to go with nothing more than copy & paste

There are quite a few ways you can use a Matrix. You can have them control a sound device’s LFO, Filter Frequency, Resonance, etc. or you can use the Matrix as a monophonic note player which plays the sound device for you. You can also use it to control many different parameters in a combinator, and you can even control the pattern selection of the Matrix itself via a rotary on a combinator. These are pretty powerful devices. See below for a some suggestions. I’ve also included a ton of pattern variations in a nice little package for you (so all the legwork is done). You can download the file below.


matrix-toolbox 

What’s in this Package? Here’s the highlights:

Curves 1-32: Contains Main Curves that can be used for CV control of other devices, with a focus on LFO curves. Most of the main curves here are familiar ones, with Sine, Sawtooth, Pulse Width, etc. Make sure that you switch to Bipolar on the back of the matrix in order to open up the curves to any control which is bipolar in nature (such as controlling the panning of a channel). Switching between Unipolar and Bipolar is a simple way to extend the use of these curves and essentially doubles the amount of curves contained in a single matrix from 32 to 64.

Curves 33-64: More curve fun. This set is more focused on melody and beat than LFO use, but of course you can use any one of these curves to control any CV parameter (LFO, beats, filter frequency, filter resonance, etc).

Buildup Crv: This Matrix uses a sawtooth curve as its basis. You’ll see the same curve in all 32 banks, but each slot adjusts the steps upward incrementally (A1 has 1 step, A2 has 2 steps, etc.). This is more experimental than anything else, but the thought is that you can use this Matrix to slowly build up a pad or any other sound by placing this matrix in a combinator, having the matrix control a sound device, and programming the pattern to a rotary. Then create an automation track for the combi, and slowly bring up the rotary along the length of the sequencer, the sound should build upward incrementally. Of course, you don’t have to use it in a combi, and instead can program the pattern section of the matrix directly in the sequencer, but this would take you much more time as you would have to fiddle with the pattern changes in the sequencer. Try the combi idea first. It’s easier. Then also If you want to create a fade-out “build-down” instead, simply reverse the programming of the Pattern section in the combi’s mod matrix. Simple.

Rnd Crv-Key: This can be used for random curves or random keys. Every pattern in this matrix lasts for 32 steps and is using 1/16th resolution. So the timing and length of the patterns stay the same, however, the patterns themselves are different.

Rnd Step: Same as the Rnd Crv-Key Matrix, however, this time, the Length of the Patterns is also randomized (sequentially from 1 step in Bank A1 up to 32 steps in Bank D8). Try adding this to a combi and programming the pattern section to a rotary. Then in the sequencer create some crazy random vector automation to switch between all the patterns. Or control the rotary on your controller and have some fun spinning the dial for a bit of craziness.

Rnd Res: The same as the Rnd Step Matrix, except the Steps remain constant at 32 for each pattern. What changes here is the Resolution. Be warned that this can get a little chaotic because the Matrix switches in and out of Triplets, which I’ve always found a little jarring. But it’s there to play with.

Rnd All: The granddaddy of them all. This is the “everything-but-the-kitchen sink” of Matrixes. All banks are loaded with patterns, and everything is randomized: Steps, Resolution, Patterns. It’s the whole enchilada. Just be warned, this may create some complete and utter nonsense and may cause aural nausea. But again, it’s fun to tinker.

Rnd 4/4: This Matrix can be used for random curves or random keys. But it’s a lot less random than the Rnd All matrix. As the name suggests, all the notes and curves are completely random, however, the beats are kept to a basic 4/4 structure, and in 4 steps or beats per bar. Bank A1-A8 all use ¼ time, with 4/8/12/16/20/24/28 and 32 steps respectively. Same goes for Bank B1-B8, with the difference being everything is set in 1/8 time. Bank C1-C8 is 1/16 time, and Bank D1-D8 is 1/32 time. I set it up this way because I rarely utilize the ½, 1/64 or 1/128 time unless it’s something very specific. So this can be used in most general circumstances and create a cohesiveness to whatever parameter you’re controlling. At the same time it is still a random controller, so expect the unexpected. If you want to work only within a specific time, then place this matrix in a combi, and assign the pattern section to a rotary which controls only a specific bank (A: 0-7, B: 8-15, C: 16-23, or D: 24-31). If you instead want to work with only a specific amount of steps in different timings, then create a track for the matrix in the sequencer, and program the same numbers in each bank. For example, working with 8-step patterns only, you would program A2/B2/C2 and D2 in the sequencer. This way, all the timing would be different, but the amount of steps for each pattern remains the same.


The real power in this project lies in the fact that you only need to build the toolbox once, and you can reuse it as many times as you like. The more variety you have in the toolbox, the more variety you can insert into your song projects and the more organized you are, the quicker you can do it. So think about applying this idea not only to Matrixes, but how about Redrum patterns, and other things like basslines or melody lines. You can create a whole series of quick beat loops or chord sequences that you can recall at a moment’s notice. Break out and create your own toolboxes to suit your needs.

Do you think this can help you out in your own work? What kinds of other items do you think you can turn into a toolbox? What other matrixes do you have that you’d like to share? Any suggestions for some Matrix patterns that I may have missed? Let me know and I’ll add it into the package.

Happy Reasoning!