electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Articles  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links  |  Store
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » Instruments and Equipment » Alesis Andromeda
DIY Lag Processor
Post new topic   Reply to topic
Page 1 of 1 [8 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Author Message
Tim Kleinert



Joined: Mar 12, 2004
Posts: 1020
Location: Zürich, Switzerland
Audio files: 6
G2 patch files: 212

PostPosted: Wed Oct 14, 2009 2:22 pm    Post subject: DIY Lag Processor
Subject description: a patching trick to obtain this nice feature
Reply with quote  Mark this post and the followings unread

The lag-processor of the Xpander /Matrix12 was something that I was especially fond of, and something that I often miss on the A6. Sure, you have portamento, but this is hardwired to the master pitch.

Today, with some "thinking out of the box", I found a solution how to create a freely assignable lag-processor on the Andromeda. It turns an envelope generator into an integrator (which is the same as a lag-processor) via recursion. So, you sacrifice an envelope for this feature. But hey, you still have two.

I haven't seen this trick published anywhere, so I thought I'd share it.

This is how it's done:

arrow 1) Choose an envelope generator (I always use ENV1). Go to the "dynamics" menu and make sure that all tracking- and velocity-assignments are zeroed. Set the Reset-Mode to ANALOG.

arrow 2) If you are starting from a preset, make sure no CRoutes are affecting the envelope in any way. Deactivate all three MODs.

arrow 3) Set sustain to max. Deactivate all other envelope stages. Set attack to minimum (2ms) and release2 to maximum. (Only the sustain- and the hold-LED should be lit now.)

arrow 4) Select MOD1. Set source=ENVELOPE x (the one you've chosen, ENVELOPE1 in my case); destination=ENV LEVEL; offset=0; level to 0 for now.

arrow 5) Select MOD2. Set source=the modulation source you want to interpolate (lag-process) (This source may only be positive-going); destination=ENV LEVEL; offset=0; level to 100 for now.

arrow 6) The lag-rate is now defined by the ratio of the two MOD-levels. For everything to work correctly, the sum of the MOD-levels has to be exactly 100. MOD1-level controls the recursion and therefore the lag-rate. The higher, the slower the interpolation. MOD2-level controls the input of the signal to be smoothed. As mentioned, this has to be set so that the sum of the two levels add up to 100.

Done.

Due to the recursion, the envelope now operates as an integrator -basically a lowpass filter for modulation signals. The signal to be lagged (filtered, interpolated, slew limited, etc.) is inputted at MOD2. The output level of the envelope is the lagged result. As pointed out, it only works for positive-going signals. But with attenuation and offset (50/50) of bipolar signals, this drawback can be worked around.

FIY: The lag-processor always restartes from zero at every key press.

Now you can eg. filter out the coarse 7-bit resolution of critical MIDI-CC#s (that was my primary goal). Or smooth out the S/H-output. Or have a separate portamento for the second oscillator, or for a sequencer output... mmmh, nice new features for the Andy. Smile

(PS: This trick should theoretically work with any synth that provides the equivalent modulation routings.)

Have fun. Smile

cheers,
tim

_________________
beer
Back to top
View user's profile Send private message
ThreeFingersOfLove



Joined: Oct 21, 2004
Posts: 162
Location: Greece
Audio files: 3
G2 patch files: 1

PostPosted: Fri Oct 16, 2009 12:58 am    Post subject: Reply with quote  Mark this post and the followings unread

Hi Tim,

thanks for the awesome tip!

I just have a slight objection regarding the term "integrator". I always thought that it's a function where a z-1 sample is "added" back to a mixer which, at the time of the addition or mixing - contains a z sample. The way you describe it, it seems that it's not mixing but multiplying since in MOD1 Envelope level modulates its level. OK, I know that multiplication can be broken down to a sum, but I'd be grateful if you could explain this a little more.

Also, does the initial level of the Envelope play a role?

Thanks again for this tip. Please post more!

Regards,
Yannis
Back to top
View user's profile Send private message
Tim Kleinert



Joined: Mar 12, 2004
Posts: 1020
Location: Zürich, Switzerland
Audio files: 6
G2 patch files: 212

PostPosted: Fri Oct 16, 2009 1:08 pm    Post subject: Reply with quote  Mark this post and the followings unread

ThreeFingersOfLove wrote:
Hi Tim,

thanks for the awesome tip!

I just have a slight objection regarding the term "integrator". I always thought that it's a function where a z-1 sample is "added" back to a mixer which, at the time of the addition or mixing - contains a z sample.


In an integrator, what is fed back is a fractional x of the z-1 sample added together with 1-x of the signal to be integrated, so the sum of the feedback equals unity gain (1). So yes, there is addition going on, and it's the combination of the MOD1 (the feedback) and MOD2 (the signal to be integrated) -routings that represent this addition.
The numerical system of the Andromeda mod engine is fractional. Mod index 100 equals ratio 1:1, mod index 50 equals 1:2 etc.. 100 therefore represents unity gain and a multiplication (modulation) with less than 100 actually is a division. This is the reason why the sum of MOD1 and MOD2 have to add up to 100 (unity gain), not more, not less.

As an example, I use the DIY lag processor with the setting 90 for lagging (rather slow). So the index of MOD1 (the feedback) is 90 and the index of MOD2 (the signal to be integrated) therefore has to be 10.

so: z=90/100*(z-1) + 10/100*x, where x is the signal to be integrated.

Hope this makes some sense Confused Laughing

_________________
beer
Back to top
View user's profile Send private message
ThreeFingersOfLove



Joined: Oct 21, 2004
Posts: 162
Location: Greece
Audio files: 3
G2 patch files: 1

PostPosted: Sat Oct 17, 2009 10:50 am    Post subject: Reply with quote  Mark this post and the followings unread

Yes, it makes sense.

I guess if it wasn't fractional then you would need a signal to flush the integrator - otherwise it would clip after a while.

Thanks again
Smile
Back to top
View user's profile Send private message
Tim Kleinert



Joined: Mar 12, 2004
Posts: 1020
Location: Zürich, Switzerland
Audio files: 6
G2 patch files: 212

PostPosted: Thu Oct 22, 2009 3:29 am    Post subject: Reply with quote  Mark this post and the followings unread

ThreeFingersOfLove wrote:
Yes, it makes sense.

I guess if it wasn't fractional then you would need a signal to flush the integrator - otherwise it would clip after a while.

Thanks again
Smile

Yupp, exactly. If the sum of MOD1 and MOD2 indexes are over 100, it clips. If less, the lag processor can't reach the destination value.

I must say, I love the vast mod engine of the A6 (except for the fact that the CV DACs aren't filtered which often creates artefacts) and hope to figure out more stuff.

_________________
beer
Back to top
View user's profile Send private message
pulsewave



Joined: Jun 26, 2011
Posts: 7
Location: pulsewave

PostPosted: Sun Jul 03, 2011 7:39 pm    Post subject: Reply with quote  Mark this post and the followings unread

just thought Id post this here too:

I set up the envelope to lag the mod wheel, which was controlling the osc frequency. (move the mod wheel and the frequency gradually/smoothly rises/falls).
Here's what I did to control the 'mod wheel's lag amount' with the ribbon controller:

-Set up the osc mod 1 to env 1 (mod level = 0) which lags the mod wheel.
-Set osc mod 2 to mod wheel (mod level = 100) controlling osc freq.
-CROUTE the ribbon controller (at level 100) to control Osc Mod 1.
-CROUTE the ribbon controller (at level -100) to control Osc Mod 2.

So set the ribbon controller to 'hold' and tap on the left side, the CROUTE initiates Osc Mod 2 (mod wheel with no lag), slide your finger to the right and the CROUTE will gradually decrease Osc Mod 2 and increase Osc Mod 1 which is lagging the mod wheel via the envelope and you'll get more glide.

I haven't looked into using lag with the s&h yet. Not sure if this 'lag amount' trick would work for other mod destinations.

jed
Back to top
View user's profile Send private message
Infrablue



Joined: Dec 29, 2011
Posts: 123
Location: Utah

PostPosted: Mon Feb 20, 2012 11:01 pm    Post subject: Reply with quote  Mark this post and the followings unread

I also have a slight objection with the use here of the term "integrator", but only because that word is just too big and intimidating...

Question on this DIY Lag... the final ENV output... is it full analog resolution?
I imagine it is if it modulates the destination it is hard wired to, and then for other destinations it's just much higher res than midi input.

Genius programming.
Back to top
View user's profile Send private message
Infrablue



Joined: Dec 29, 2011
Posts: 123
Location: Utah

PostPosted: Mon Feb 20, 2012 11:55 pm    Post subject: Reply with quote  Mark this post and the followings unread

Ok, I think I found the answer in another of your posts on a similar topic, Tim. ...

Quote:
I sometimes use this to smooth out a coarse 7 bit MIDI controller on a critical modulation to the full internal 16 bit resolution.


So it seems the smoothness this will give is at a 16 bit resolution in all cases. Which is of course well worth doing for the right modulation.

Again, Tim... amazing work!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic
Page 1 of 1 [8 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
 Forum index » Instruments and Equipment » Alesis Andromeda
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
e-m mkii

Please support our site. If you click through and buy from
our affiliate partners, we earn a small commission.


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use