Are there any Rack Extensions that support non-linear functions in a mod matrix?
By this I mean something other than the standard y=mx formula where x is the modulation source, y is the destination, and m is the modulation amount. Exponential, logarithmic, or stepped functions would open up a world of modulation possibilities, but I’m not aware of anything that does this.
Non-linear mod matrix functions
- Stygian Abyss
- Posts: 110
- Joined: 17 Jun 2019
Arcus User Knobs and Kron are the first to have come to my mind.
- fieldframe
- RE Developer
- Posts: 1037
- Joined: 19 Apr 2016
Arcus looks like exactly the tool for the job. Thanks!
It would be interesting to see this baked into a mod matrix, though. Europa could probably do it by repurposing the Scale column: Imagine adding an option in the menu to select a function instead of a time-based scaler. You could have presets like exponential and logarithmic, but what would really be cool is to use Europa's complex envelopes as functions!
This excited me enough that I put a mockup together:
It would be interesting to see this baked into a mod matrix, though. Europa could probably do it by repurposing the Scale column: Imagine adding an option in the menu to select a function instead of a time-based scaler. You could have presets like exponential and logarithmic, but what would really be cool is to use Europa's complex envelopes as functions!
This excited me enough that I put a mockup together:
- Jackjackdaw
- Posts: 1400
- Joined: 12 Jan 2019
That's a cool idea. How is 'Envelope 1 as a function' different from just putting envelope 1 as the scale though?
- fieldframe
- RE Developer
- Posts: 1037
- Joined: 19 Apr 2016
I think the best way to explain functions in this case might be with an example.Jackjackdaw wrote: ↑03 Feb 2020That's a cool idea. How is 'Envelope 1 as a function' different from just putting envelope 1 as the scale though?
Let's say you have the following route set up in your mod matrix:
Code: Select all
SOURCE AMOUNT DESTINATION1 ... SCALE
Velocity 100 F. Freq Env 1
Now, we change the scale from envelope 1 to my proposed "envelope 1 as function":
Code: Select all
SOURCE AMOUNT DESTINATION1 ... SCALE
Velocity 100 F. Freq Env 1 Function
If we set the envelope up like this, we reproduce the default, linear function. 0% velocity = 0% filter; 50% velocity = 50% filter; 100% velocity = 100% filter.
But if we add a curve, we've effectively given the filter cutoff a velocity curve: You don't hear a lot of difference at lower velocities, but there's a pronounced difference at higher velocities. 50% velocity equates to only about 10% filter, but 100% velocity still equates to 100% filter.
If we use a step function like this, velocity doesn't affect filter cutoff at all until you play a note at 50% velocity, at which point the filter goes all the way.
We can even use an envelope that goes from high to low! This has the same effect as a negative value in the amount column.
Hope this helps explain the concept!
- Jackjackdaw
- Posts: 1400
- Joined: 12 Jan 2019
I get it, thanks for the detailed and informative reply. Great idea. You can do stuff like this in Pigments but I much prefer the mod matrix format Reason uses, it's much more efficient on the mouse clicks.
I like this idea - I didn't get it at first, but I THINK it's similar to a suggestion I mocked up many years ago for the Combinator Programmer, which I think would also work in a mod matrix as you suggest here.
I envisioned a graphic approach using a transfer function graph (input vs output display). This is similar to the Oberheim Tracking Generator from the Matrix 12/6 series, but with more data points.
For example, by drawing an exponential curve, you would "shape" linear modulation to an exponential curve. You could also easily create switches, inverted values, and create "dead zones" (ranges of the input signal where there is no change on the output).
Is this the same concept you're describing here, but for a mod matrix?
I envisioned a graphic approach using a transfer function graph (input vs output display). This is similar to the Oberheim Tracking Generator from the Matrix 12/6 series, but with more data points.
For example, by drawing an exponential curve, you would "shape" linear modulation to an exponential curve. You could also easily create switches, inverted values, and create "dead zones" (ranges of the input signal where there is no change on the output).
Is this the same concept you're describing here, but for a mod matrix?
Selig Audio, LLC
- fieldframe
- RE Developer
- Posts: 1037
- Joined: 19 Apr 2016
Exactly! I actually have Arturia's Matrix 12 VST, but had never used the tracking generator. I loaded it up to check, and it does indeed work the same as I'm imagining it would work in a mod matrix.
Oberheim's implementation is an interesting alternative in that the tracking generator is its own modulation destination and source. I wonder if that would be a better option for synths like Expanse.
-
- Information
-
Who is online
Users browsing this forum: ekss and 20 guests