Showing posts with label Stereo. Show all posts
Showing posts with label Stereo. Show all posts

Saturday, 8 June 2019

Spectral Hex Ping Pong Delay in MaxForLive for Ableton Live

After playing around with various Ping Pong Delay-like devices for a while, I realised that my 'Hex' template was a good place for experimenting with multiple delays, so I took the internals of the AUDpiPOde device and put it inside the 'hex' device template (six times). The result is AUDhexPPD, where I'm abbreviating ping pong delay to PPD to save characters.

AUDhexPPD


Because AUDhexPPD is another 'wide' device, then here's just the left hand side:


Going across the left to right, the input indicator shows the incoming audio signal (and yes, this does duplicate the tiny meters in-between devices), then the Ping Pong Delay block, with the 'Note value time delay' button grid, followed by the 'Unsync' time tweaker, the 'LR swap' output channel allocator, the 'f' delay freeze button, and the Feedback rotary control (which is individual to each PPD block).

The next block across to the right is the middle block: the three-band 'spectral' filtering, which just gives three outputs via low-pass, high-pass and band-pass filters. Unlike the usual 'crossover' filters that you get in some 'spectral' devices (or loudspeakers, now that I think about it), these filters have a Resonance rotary control, which gives the device the ability to colour the sound, so maybe it is more than just six delays.

Finally, on the right hand side, there is the 'Auto-pan' block, which has an individual meter per audio processing block, the 'X' Active/Muted switch (as per all of the 'hex' devices, and a few others of mine), the new 'Pan Position and LFO Modulation' UI widget that I introduced recently (move the white 'thumb' down and horizontal for pan position, and up for LFO modulation), and finally the LFO Rate rotary control, which goes from very slow to not very quick, but then it is a modulation control and audio rate modulation of pan position is not something I'm a great fan of...

On the far right-hand side, there are the usual memory buttons (Click to recall, Shift-click to save (red when empty, grey when filled)) and the Dry/Wet rotary control, followed by three 'common' controls which affect all of the six audio processing blocks: Feedback, Resonance, and Freeze. These just make it easier to alter all of the six audio processing blocks at once!


As usual in the 'hex' devices, the right hand half of the front panel is mirrored, which looks interesting, and makes it very clear that this is a stereo device. Just repeating things twice can make it look like they are arranged in series... There isn't a perfect solution for this, but this way works for me, and it isn't too hard to flip one half if you need an unmirrored custom device...

MaxForLive

So, what's interesting in the M4L code for this device? As I have mentioned previously, I prefer stereo in and out for my devices, and this is normally done with pairs of mono in and mono out devices where the output can be panned across the stereo image... However, each of the 6 audio processing blocks in AUDhexPPD is a tapped delay with a mono input and stereo outputs, and so instead of having one output that needed to be panned, then I had two - and for a ping pong delay then these two outputs should be in the Left and Right channels (or vice-versa - which is what the 'LR Swap' button does). But with two outputs then I needed two auto-pans, and so the obvious answer was to have two auto-pans in anti-phase, so that when one output was on the Left, then the other would be on the Right. 'Dual anti-phase auto-panning' isn't a very catchy description, so I'm going to call it 'Helicopter' mode, because the two pans circle around each other rather like the blades on a helicopter...


Yes, I could have changed the balance between control values and audio signals in this - so the 'snapshot~' and 'sig~'could have been removed from the panning part, but then I would have had to add them back in to the LFO Depth and LFO Out to get control values. This way works for me...

Alternatively, I could have had two SEPARATE auto-pans for each of the two outputs: one LFO for Left, and another LFO for Right. This would have required a doubling of all of the controls in the centre 'panning' block, and would have made the device even wider! (and more complex to use) I decided to go for the simpler solution and leave the 12 pan LFO version for another time (Maybe in an 'mc' version as a way to explore this new feature of Max 8!)

The Max code just inverts the (0 to 1) control value for the multipliers so that the two inputs are affected in opposite ways. Remember that the audio inputs are called 'L' and 'R' because this is the convention for ping pong delays - the first echo comes from the Left channel, then the next from the Right channel. These are not the main incoming audio channels to the whole device - each audio processing block has a mono input and two 'stereo' outputs. So, for each audio processing block, the two inputs are coming from a tapped delay, and so these input signal will be 'bouncing' back and forth between those inputs, and this auto-panning then adds additional pan control on top of that. If you stop the LFO and fix the pan position to Left or Right, then the result is ordinary ping pong echo - where the repeats 'bounce' between Left and Right.

Note that this is the auto-pan arrangement for just one of the six parts in the Pan block. So if you have just one 'X' highlighted and the rest muted, then that ping pong delay will bounce between the Left and Right output channels, panned according to the pan position and LFO modulation as set in that block. If you have two 'X's highlighted (one in the Left half, and one in the Right half), then you have two ping pong delay in parallel - and so the outputs can bounce between the Left and Right outputs independently. If you have all six blocks active, and use the 'triangle' tweak controls to 'unsync' the time delays, then you start to move away from 'echo' and towards 'reverb'-type sounds. The more asynchronous echoes you have, then the more 'reverb'-like the result will be - which, of course, is exactly how real reverb is produced: lots of echoes with different delay times. You 'could' put several 'AUDhexPPD' devices in series, but it is probably going to take a lot of adjusting to get something even approximately like a conventional reverb sound...

Getting AUDhexPPD

You can get AUDhexPPD on http://www.maxforlive.com/library/device/5522/audhexppd

Here are the instructions for what to do with the .amxd file that you download from MaxforLive.com:

     https://synthesizerwriter.blogspot.co.uk/2017/12/where-do-i-put-downloaded-amxd.html

(In Live 10, you can also just double-click on the .amxd file, but this puts the device in the same folder as all of the factory devices...)

Oh, yes, and sometimes last-minute fixes do get added, which is why sometimes the blog post is behind the version number of MaxForLive.com...

RAM and CPU in Live

This MaxForLive device has six tapped delays, so it will use lots of RAM storage and CPU power - but it is worth it, IMHO!

Effects Rack Equivalent in Live

I haven't tried it, but it ought to be possible to get quite a lot of the functionality of AUDhexPPD with an Effects Rack in Ableton Live, although the UI is not going to be as compact, and it might even be possible to implement the spectral crossovers using the band-pass filters inside Delay (or Ping Pong Delay if you aren't using Live 10.1).


What is interesting is that the limitations of building AUDhexPPD inside Live result in something which is a nice, usable effect, but it isn't the same as the MaxForLive version. Anyway, it was a good exercise in translation, and I'm making it available for free. You can download it from here...

Modular Equivalents

In terms of basic modular equivalents, then AUDhexPPD would require two high-pass filters, two low-pass filters, two band-pass filters, six tapped time delays, six LFOs, six panner, some utility switches, and two mixers, giving a total of about 24 ME. It is interesting that this is also a 'wide' device in MaxForLive!







Friday, 31 May 2019

Spectral chorus - another 'Hex' MaxForLive device

For a long time, I have been trying to find a good way to provide an intuitive user interface for 'Modulated Pan Position'. You can see me experiment with various ways to implement it in many of my MaxForLive devices - what I have always needed is a simple/obvious way of allowing control over pan position, but also allowing that pan position to be modulated by an LFO.

The 'traditional' way of doing this (and I have used it a lot: albeit unwillingly...) is to have a pan position (a slider is nice and intuitive) plus an LFO 'modulation depth' rotary control. That's two controls, and there is an implicit interaction between them where the LFO over-drives the panning so that the position goes to left or right and stays there, then suddenly pans across - it's because the LFO waveform (typically a sine wave) is over-driving the pan position, and the clipping of the waveform gives 'flat' spots in the auto-panning (Yuk!).


This is why, in AUDhexCHORUS, I'm introducing something that I have been working on for quite a while: a single UI widget that does pan position AND modulation depth combined together.


Here's the UI widget" The components are:

1. a 'thumb' (the bright white vertical bar) that you click with the mouse to control the setting of pan position and LFO modulation.
2. an LFO indicator (the big purple block) that shows the current pan position. (When the LFO modulation is active (as it is here) then this slides horizontally from left to right to show where the audio is in the stereo image.
3. two numbers that show the horizontal and vertical position of the 'thumb'. (These cn be used as mapping targets for other M4L devices)

The UI metaphor is very straight-forward: horizontal is pan position (Left is left, Right is right!), whilst up and down controls the depth of LFO modulation - and there's a triangle graphic that shows you where you need to position the 'thumb' to avoid over-modulation of the pan position. The 'thumb' that you click on is a vertical bright white bar, so when you move it horizontally it looks like a pan position slider, but when you move it upwards, then the LFO modulation is gradually increased, and if you move it all the way to the top of the triangle, then you get perfect side-to-side pan LFO modulation, with no 'hold' at either side. It makes using pan position/modulation SO much easier!


Here's a GIF that shows the UI widget in three modes.

The top example shows the 'thumb' in the 'sweet spot' position at the top of the triangle where the LOF modulation is maximised without clipping. Here the LFO modulation (the purple block) will move the pan position from hard Left to hard Right, without any major pausing at the Left or Right positions. If you move the 'thumb' to the left or the right away from the top of the triangle, then the LFO will spend time at that side (The waveform will be clipped), and may not go all the way across to the opposite direction. (The animated GIF has jerks in the way that the purple block moves - this is because of the looping in the GIF - in the actual device the purple block moves smoothly from sid to side, indicating the LFO-controlled pan position.)

The middle example shows the 'thumb' right in the centre, and so the pan position is only slightly modulated by the LFO.

The lower example shows the 'thumb' in the 'down' position, and this completely removes any LFO modulation, so horizontal movements of the 'thumb' just control the (fixed) pan position. The two numbers underneath the UI widget are the horizontal and vertical positions, and can be used as a target for mapping by LFOs and other M4L devices that use controller mapping. in this case, the 'thumb' is all the way to the left, and so the audio will be panned hard to the Left of the stereo image.

AUDhexCHORUS 

To accompany a neat pan UI widget, there's a neat device: AUDhexCHORUS (AhC for short, to save my fingers as I type!) There are lots of chorus devices out there, but this one has a few 'specials' that make it more interesting...

1. The 'Pan Position/Modulation Widget! (Of course!)

2. Spectral controls, as per some of the previous 'Hex' devices. You have three spectral 'bands' to play with, so you can have different chorus amounts/styles wherever you want across the frequency spectrum, and you can have different bands for the Left and Right stereo channels if you want.

3. Envelope tracking makes the chorus depth tracks the amplitude of the incoming signal... This is particularly good for dynamic sounds...

The actual chorus effect is achieved by using frequency shifting (Via ring modulation (which just multiplies two audio signals together) and can also be called a four-quadrant multiplier or a balanced modulator.) instead of using a modulated delay line. A future version might allow switching between the two methods - let me know if you would like this.

AUDhexCHORUS is a 'wide' device (It uses lots of screen 'real estate' in Ableton Live, so be prepared for some horizontal scrolling) - I'm not known for making 'one-rotary-control' devices!

In detail


AUDhexCHORUS is symmetrical, so both halves of the user interface are mirrored. Let's look at the left hand side - which covers the Left channel. Vertically, there are three similar rows of controls (one for each spectral band), and horizontally there are three similar processing blocks. Going across the blocks from left to right there are:

- The Frequency Shift block, which contains:
-- the frequency shift rotary controls,
-the envelope amount rotary controls (which increase the amount of frequency shift depending on the envelope of the incoming audio),
-- the vertical envelope depth indicator,
-- the smoothing rotary control (which smoothes the envelope control),
-- the 'sideband select' buttons (which select positive frequency shifts, negative or both),

- The Spectral Filter block, which contains:
-- the frequency rotary controls (high-pass in the upper row, band-pass in the centre row, and low-pass in the lower row),
-- the resonance rotary control (higher values get more 'peaky')
-- the 'Broad/Narrow' switches, which controls the number of filter sections that are used,

The Auto-Panning block, which contains:
-- the row output/mute switches (output when the 'X' is light, muted when the 'X' is dark),
-- the UI Widget for the pan position and LFO modulation, as described above,
-- the LFO rate rotary control (which is almost stopped at the slowest speed!).

On the far right hand side, common to both channels, then there is a Dry/Wet mix rotary control, as well as memory buttons which can be used to ave your favourite settings. Just shift-click on a red square to save (or a grey square to over-write), and click on a grey square to recall that memory setting.

Getting AUDhexCHORUS

You can get AUDhexCHORUS on http://www.maxforlive.com/library/device/5500/audhexchorus

Here are the instructions for what to do with the .amxd file that you download from MaxforLive.com:

     https://synthesizerwriter.blogspot.co.uk/2017/12/where-do-i-put-downloaded-amxd.html

(In Live 10, you can also just double-click on the .amxd file, but this puts the device in the same folder as all of the factory devices...)

Oh, yes, and sometimes last-minute fixes do get added, which is why sometimes the blog post is behind the version number of MaxForLive.com...

Modular Equivalents

In terms of basic modular equivalents, then AUDhexCHORUS would require two high-pass filters, two low-pass filters, two band-pass filters, six frequency shifters, six LFOs, six panners, some utility switches, and two mixers, giving a total of about 28 ME. It is interesting that this is also a 'wide' device in MaxForLive!




Monday, 11 February 2019

Fun with Frequency Shifting

Here's a surprise entry from the 'rapid gestation' pipeline - a hex frequency shifter that is totally intended to mangle spectra! This is not a scientific instrument designed to move technology towards ever higher fidelity. It joins the 'Ironic Distortion' device and a few of my other devices on the 'noise' side of the audio processing 'sine to noise' axis.


So that's the advert - but what is happening inside? (I would say 'behind the front panel', but I can't see this ever making it into real hardware!) Well, this is a 'true' stereo device, and so there are two parallel audio paths, each with 3 frequency shifters, and so it definitely qualifies for the name: 'Hex'.


But rather than follow the path forged by the many other frequency shifters that have already been created in M4L, I threw caution to the winds and went free-form, so the routing between the frequency shifters is not preset. The outputs from the upper and lower sidebands of the frequency shifters, plus the inputs to the next shifter, and the input to the auto panned outputs, all go into two routing matrices where you can connect them together as you like. The default is 'no connections', so all of those [X] toggles are dark, and there is no audio output (unless you turn the rotary control to 'Dry', of course!).

Probably a good starting point is to click on the [X] toggles for the '+' in the Left and Right routing matrices. This will route the upper sideband output of the first frequency shifter into the input of the second, and so on, through all three shifters. You won't hear anything at the output until you also route the auto-pans, which are the extra [X] toggles in the centre section between the two channels. So select the lowest of those [X] toggles to hear the full 'hex shifter' sound! This is probably a good time to set all of those pan rate controls to different values so that the stereo output will be fully spatialised!

(The two [X] toggles with arrows allow you to patch across from one channel to the other, so you can send audio back and forth between the two channels as you wish. As with many things, turning on all of the toggles is not necessarily the best approach!)

Each frequency shifter has two modes:

'Freq'  mode:

'Freq' mode does exactly what you expect - it shifts the incoming spectrum. If you click on the 'Mod' button so that the LFOs grey out then you will get the 'fixed' frequency mode where there is just a single frequency control that sets the amount of frequency shifting. If you turn on the 'Mod' button then the LFO rate and modulation depth controls will appear, and you can then wobble that frequency shift instead of it being fixed. (Oh yes, and this diagram above kind of gives the impression that there is only one LFO per pair of Frequency Shifters, whereas actually there are two...)

'Rate' mode:

'Rate' mode is slightly more unusual, and I haven't seen anything quite like it in any of the effects units that I've played with... What it does is sample-and-hold the incoming audio, and use this to shift the frequency - and it sounds really interesting and different... The 'Mod ' button has the same effect: 'off' hides the controls and mutes the LFO, whilst 'on' shows the controls and allows the frequency shift value to be modulated by the LFO.

Applications

You can use HexFrequencyShifter as a 'drone' processor, where it can turn rather ordinary bland sounds into something altogether more complicated. Frequency shifting tends to be rather destructive to sounds that have to be in tune with other sounds, and so, at first sight, this is not a device to be used for processing an instrument that will then be played alongside other tuned instruments.

But if you use the 'Wet/Dry' rotary control carefully (less than 25%, for example), then you can add small amounts of non-harmonically related distortion to your audio, which can be rather like adding pepper to food. Now, back in the 1970s and 80s, devices that added 'carefully designed additional spectral information' to audio used to be called 'exciters', and were often used to compensate for the aggressive low-pass filtering that people used to try and control tape hiss. As it happens, the HexFrequencyShifter is quite good at producing 'additional spectral information', and even to jaded ears such as mine, having spectral components of distortion moving around and across the stereo stage is quite cool! (Most of the distortion I have heard is often quite boring spatially) I will see what I can do about an audio demo on Soundcloud... But in the meantime, here's a video demo on YouTube (complete with a video titling error because I was rushing!): https://youtu.be/jeg-XMnnDmM

Getting HexFrequencyShifter

You can download HexFrequencyShifter for free from MaxForLive.com.

Here are the instructions for what to do with the .amxd file that you download from MaxforLive.com:

     https://synthesizerwriter.blogspot.co.uk/2017/12/where-do-i-put-downloaded-amxd.html

(In Live 10, you can also just double-click on the .amxd file, but this puts the device in the same folder as all of the factory devices...)

Oh, yes, and sometimes last-minute fixes do get added, which is why sometimes the blog post is behind the version number of MaxForLive.com...

Modular Equivalents

In terms of modular equivalents, then the 'Bode Frequency Shifter' was one of the modules that appeared on classic Moog modulars, although I'm not sure that they appear in many lists of 'basic' modules for a minimal modular synthesis setup! But since I added a 'Scale' device recently, then I'm going to add a 'Frequency Shifter' module as well. Based on this, then my estimate is that you are going to need 6 frequency shifters, plus 6 LFOs, plus three stereo auto-pans, which gives a grand total of about 18 ME.



Sunday, 8 May 2016

A different type of echo effect...

I have always liked echo, from my very early 'wannabe Space Echo' days with merely a guitar and a customised Melos 'tape cartridge' echo box, through to the wonderfully bouncy 'Ping Pong Echo' in Ableton Live. But I've also always wanted more from my echoes, and I have done lots of exploring to try and find that itchy place that needs scratching, and I have got close sometimes - look at MaxForLive.com for a host of experiments with echoes. Random time delays was one of my more recent investigations, and the lack of structure was what got me thinking about a very different approach.

Turning an idea into reality sometimes clicks quickly and easily, and sometimes it just turns into treacle and everything goes slow-mo. This one didn't go well, and I spent rather longer than I ever intended getting the details correct. But I eventually got my head around it, and managed to get the Max4Live working more or less as I wanted - although as you will see, the 'Auto' function still needs some work. So what sort of echo is this latest one?

Field Echo


'Field Echo' is named after my intention to do something more with stereo echoes that just bounce them round from channel to channel. Fun though that is, real world echoes work 'inside and as part of' the sound field, and don't have ''channels, and that's why I made this new experimental echo effect.




Field echo has two stereo delays in series, but the feedback is separated into 'same channel' feedback and 'other channel' feedback (ping-pong). The two feedback channels also provide two outputs per stereo delay, and these outputs can be panned anywhere in the stereo stage. The layout is exactly as you might expect, and I've mixed the left/right channel metaphor a bit, but I think it works.



The best way to find out about it is to use it, so here are some hints and tips about what to explore.

1. Similar but slightly different times for all the four delays is a good starting point, and panning the L and R 'same channel' outputs mid-way towards left and right, and the 'other channel' LD ping-pong outputs hard left an right. This gives a big, bold stereo echo, and a good starting point for further exploration.

2. Try breaking the rules and distributing the L and R outputs to the Left, and distributing the LD and LR outputs over to the Right (Remember that the intention is to create stereo imagery, not hard left and right walls of echoes). You should find that you get interesting haloes rather than the hard brittle echoes that you might be used to. Try tweaking the delay times, and when you increase the delay in the first section, try reducing the time in the second. You should use extreme caution when using this type of setting with Marimbas or other physical percussion  instruments, because you may find that hours slip by without you noticing!



3. Try the 'Auto' control for amy first attempt at making the 'up a it, down a bit to compensate' process a bit faster. I ha problems with the maths inside Max, and so this is isn't perfect, but it is still interesting, and there's now only only delay time control to play with. Note that you can set negative times, but the delay lines don't know what to do with them! In the next version I will window the time delays to real values.

As I now do with all my M4L, there is also a 'dark' version.


I hope you find Field Echo an interesting diversion for a while, and you may even find it useful. As always, you can find it on MaxForLive.com (dark) or MaxForLive.com (light).


Saturday, 19 December 2015

Sine3Generator

I've just published a new sound generator on the MaxForLive.com web-site. Here's the usual extended user guide...


Sine3Generator is a sound generator - and yes, I've done them before, and this is another one. Currently in a 'light' version with purple trim, I will update it to a 'dark' version over the next few weeks, and I may be unable to resist making a few tweaks too. 


This sound generator does not respond to MIDI inputs - it just sits there and makes noises continually...

What seems like a long time ago now, I wrote a series of 15 generators in 'Reaktor', and this represents a revisiting and updating of those ideas in M4L. There is lots of history to this type of stand-alone 'sound generator'. Modular synthesisers lend themselves quite well to this type of FM chaining, particularly if there are only a few VCOs... Back in the 1970s I built cascaded relaxation oscillators using injunction transistors, and discovered that frequency ability and tuning were very important, which is very apparent in some synthesisers of the time - the vernier dials on the EMS VCS3 are a good example, and the VCS3's matrix interconnection panel lends itself very well to complex chains of devices... 

More recently, Noisedrone .1 and Noisedrone2 have used Max For Live (M4L) to make sounds using cascaded chains of oscillators, and these have been popular downloads on the MaxForLive.com web-site. Another popular generator is my Noise Generator 0.4... So with 15 designs languishing on my hard drive, it seemed like a good time to blow the dust off them and try publishing them again.

The basic idea is very simple. A sine wave oscillator with LFOs that can modulate the pitch and the output is frequency modulated by another similar oscillator, which is modulated by another similar oscillator. It's a simple FM generator with a lot of controls, and a flexible output stage. The output allows mixing of three harmonically-diverse outputs: the third modulated oscillator itself ('Sine'), the ring modulated output of the third and second oscillators ('Ring') and the output of the second oscillator 'sample & hold' processed by the third oscillator, with LFO modulation of the mixing, plus LFO panning as well. 

A good way to start is to turn all the controls to the leftmost minimum position (and save this as a preset of course!), and then to select the Sine button, adjust the volume to your preference, and choose the pitch you want in Oscillator 3 (there's just a Pitch control there, so it is easy to find!). This is a good place to learn the output options: LFO modulation of volume, plus LFO panning. A lot of my M4L has similar approaches to things, so if you've seen one of my 'Pan' sections, then you will recognise the same controls across many of my devices. One variant here is that my 'usual' LFO has the ability to free-run or to sync with the Live timing, but for Sine3Generator, then you only get free running LFOs. 

Once you have the basic Oscillator 3 under your control (some ping-pong echo is very often applied to the output of this type of generator...) then there is the LFO modulation of the pitch of the oscillator to try out. 'Under control' is an interesting phrase. When I worked in a music shop we used to do listening exercises: someone would play a chord and the rest of us would say what it was, or someone would make a sound on a synth and everyone would have to recreate it from scratch. Rick Wakeman was famous for being able to set up a sound on a MiniMoog just by adjusting the knobs, and then playing it without the incremental audition/edit cycle that you often see, and of which I'm often a big user, particularly for FM synthesis. Which neatly brings me back onto the topic...

When you are comfortable with all of the controls for Oscillator 3, then you can try moving to the left and try exploring the pitch and modulation controls for Oscillator 2, then the LFO pitch modulation for that oscillator, and so on. (There's a bit of a theme here too - my devices often start in the middle and move outwards, but just to keep your awake, some of them start on the left and move to the right. Which format I use usually depends on the workflow...)

Because Oscillator 1 is at the top of a stack of FM then it can cause big changes to the oscillators underneath it, so be cautious at first with the pitch and modulation controls. If everything gets too much, then just go back to the 'all leftmost' preset that you saved and start again from Oscillator 3.

There's a lot to explore in Sine3Generator, and a lot of sounds waiting to be created. Recording the output and processing it further is thoroughly encouraged! Audacity is my editor of choice here, although mine is very customised...



(As always, my M4L stuff is a 'work in progress', so it may not be perfect (in fact, it probably won't be, because perfection is a rare thing indeed!), and early versions tend not to have very much help on controls included in the M4L. I know that this is a good thing to have, but I'm short on time an speed gets you fun things quickly, and none of my stuff is supposed to be professional, with timely support and detailed help inside. But please feel free to report bugs via the comments on MaxForLive.com, and I will try to fix them when I can find time. )


There is now also a 'dark' version...
Related articles


Sunday, 19 July 2015

A surprise from history!

In my last blog post I mentioned PanEcho, a Max For Live plug-in that I wrote back in 2011, but I didn't check my page on maxforlive.com to make sure that PanEcho was there...

You can guess what I found when I did check! Yep, it turns out that PanEcho was one of those bits of  programming that never made it into the real world, and had been sitting in my 'dev' area, gathering dust...

So, rather than simply rework it into a more modern context, I tried it out 'as is', and discovered that the stylistic changes over the last 4 years are interesting (tighter spacing of controls, different layout of Left/Right channels, more graphics to indicate status of LFOs, more technical detail, no abstractions, etc...), but that the jump back in time was actually informative, and it was still a usable effect! So I've now uploaded PanEcho to maxforlive.com so that it can be tried out by a wider audience!


PanEcho isn't a completely conventional echo effect. There are two independent stereo delay sections, each with feedback (in the same channel) and cross-feedback (to the other channel L->R, R->L), and then there is a master feedback and cross-feedback around both delays. You can also swap the channel outputs for the first stereo delay if you want, by using the 'Normal/Swap' button. With all of this channel flexibility and feedback, things can get complex, so there are indicators which light up 'red' when the controls exceed 100% and you get an indication of when runaway is going to happen. At this stage I didn't include a limiter in the output section of my plug-ins, and so if the feedback does get out of control, then you can get some loud outputs.

Inside the delay sections, there are stereo chorus/pitch-shift effects, so that the echoes have a bit of variation. There are several ways to do this - the most obvious being that you modulate the delay time slightly... But here I added the chorus/pitch-shift as a separate effect, partly because it allows you a bit more flexibility and it removes the need for a separate depth control.

The pan section shows how much things have moved on over time. The controls don't exactly make using the LFO-driven panner easy to use! Actually there are two LFOs: one modulates the frequency of the other, and you get separate control over the pan position (Phase) and the depth of auto-pannng (Depth). The 'Mode' button alters how the panning happens, and the 'No-Pan/Pan' button isn't exactly obvious at first sight. In my more recent plug-ins, I've changed the layout, controls and indicators for the output panning considerably, so this bit is very much a trip into history.

Download PanEcho from maxforlive.com

Suprisingly...

Whilst I was preparing the screen shot (above) for maxforlive (and here), I wondered what it would look like inverted. I've been gradually moving over the the fashionable 'dark' look that M4L plug-ins seem to get these days, and these have a light on dark background look, plus a blue highlight colour. I'm not sure what my intention was - I just thought I'd try it out and see what it looked like. (Many of my best discoveries come from simple 'what if' explorations, so I tend to do it a lot!) What I got surprised me:


Surprised? I was! It turns out that the basic 'dark' look is a modified version of a simple inversion of the original default Ableton colour scheme. Inverting the image turns a 2011 'early M4L' plug-in into something that appears much more up-to-date, way more appealing in some ways, and the layout looks okay as well. Possibly the easiest and most stunning makeover I've seen in quite a while...

As an experiment, I'm going to add both versions onto maxforlive.com and see which one is more popular...

Related articles