Saturday 30 May 2020

MIDI Interfaces I Have Known and Lost...

MIDI Interfaces have been a big part of my life for more years that I care to think about. Nowadays people buy audio interfaces for computers, and these often come with MIDI In and Out ports, almost as an after-thought. But it hasn't always been like this. When microprocessors were less powerful, processing audio 'live' in the way that we expect nowadays was at the limit of possibility, and so simpler and less processing power hungry alternatives were used: Rectangular waveform 'bleeps' and tracker software were the order of the day, plus MIDI of course.

So I have used quite a few MIDI interfaces over the years, and quite a few computers as well. One thing has become very apparent to me over this time:

MIDI Interfaces have a limited lifetime...

This is for various reasons, and almost never anything to do with the MIDI interface itself: sometimes the interface technology becomes superseded (parallel ports on computers like the BBC B, for instance), or sometimes the computer itself becomes obsolescent or obscure and non-mainstream (the Atari ST, for example). Sometimes manufacturers just stop supporting devices, of which more later. So I have, or had, quite a lot of MIDI Interfaces that still work, but that can't actually be used because they aren't supported, there's no interface to a computer, etc. Today's hi-tech is tomorrow's land-fill, although I'm a bit of a hoarder for some things, but not everything!


Before MIDI, my first 'home' computer was a Sinclair Spectrum, which was right at the start of an explosion of home computers (and the CD came in at about the same time), and I also got a Mattel Aquarius, the less said about the better (although it was a bargain at the end of the boom!). 8-bit micros used for playing games aren't noted for their audio fidelity, and modern 'chip tunes' sound much better than I remember...

I then got a BBC B Micro, and built a DIY BeebMIDI interface, which was designed by Jay Chapman. You can read about it in the amazing mu:zines archive, and it accompanied an in-depth series on building a MIDI interface that was featured in Electronics & Music Maker, a precursor to Sound On Sound magazine. Later, I reviewed the UM-4M add-on for the 'BBC B', which was, at the time, at the 'Pro' end of the market, and it prodded me to get more serious about music and MIDI...

On the BBC B, I wrote various MIDI programs, an FM emulator, and more... I also got a phone call from Acorn computers, the manufacturers of the BBC B, who told me that my assembler code for the 6502 in one of my DX7 MIDI programs was faulty. It turns out that I had got a pointer wrong, and so was dumping the entire memory contents (32 Megabytes!) through the MIDI Out port, instead of just the Sysex memory block that I meant to transmit... Oops!

I then got a Toshiba MSX computer, but I always wanted a Yamaha CX5M... I eventually sold it to a guy who wanted it just like I had, because it was going to be the next big thing... It wasn't and didn't.

My next computer was the Atari ST, which had MIDI sockets built in! (More than 30 years later, this probably sounds unbelievable... but it is true!) Curiously, it wasn't easy to find a photo of the back of an ST, but I found one from a retro computer museum that has a pretty amazing collection. Visit and have a look, and if you have any old computers...

For anyone who thinks that the 5-pin DIN socket used for MIDI is strange, then look at that power socket: a 7-pin DIN male connector to a large 'brick' power supply! The 1980s were also the days when computers had 'Reset' buttons...

I did a dual boot-ROM mod to my Atari 520, and expanded the RAM to the full 1 Meg (as in the 1040 model) and did various other tweaks. Eventually it died, and I was given a replacement by the London Synthesizer Service Centre, but that died as well, and the days looked numbered for the Atari as a music platform. So I parted company with one Silicon Valley startup, and jumped over to another.

My first Apple Mac was a Macintosh Plus - you can see it in this photo... But whilst I lived through the astonishing 'HyperCard' launch (I stayed up all night, programming, and all the following day...), eventually I knew I needed more screen real estate. My first 'big screen' Apple Macintosh was a Mac IIsi, and it was a combination of many compromises to get the price down, but it served me well, and set me on the path to bigger and better things.

The MIDI Interface I used for quite a while was the original Opcode MIDI Translator - a small (beige) cream-coloured box with three MIDI Outs on one side, and, on the other side, a MIDI In socket plus a small circular connector that connected to the Mac's serial port - which had two icons revealing what serial ports were used for when the Mac was first designed: a Printer and a Modem. I had a home-brew MIDI switch unit that I used to enable the use of a master keyboard or sequencer and so solve the 'Local Control On/Off' problem, plus I used a Philip Rees V10 ten output Thru box (Philip Rees stopped selling MIDI accessories in 2005). But as my MIDI gear grew in numbers, and particularly with lots of Sysex patch dumping and patch editing, I realised that I needed something where I had better control over the interconnections, and a MIDI interface with more ports was required - a MIDI 'patchbay'.

Eventually I went for one of the 'high end' solutions: Studio Vision Pro and a Studio 5LX 15 In, 15 Out MIDI Interface which allowed all sorts of amazing functionality including the creation of virtual MIDI instruments... Unfortunately, after only a few years, the demise of Opcode meant that I had to retire this MIDI interface, and move on...

Once again, I did the research into the available devices, did SWOT analysis on the Strengths, Weaknesses, Opportunities (Upgrades, Support) and Threats (Longevity of the company...), and made a difficult decision...

I chose the M-Audio MIDIsport 8x8/s, a pair of which provided similar functionality to the basics of the Studio 5LX. However, M-Audio stopped supporting this MIDi interface many years ago, and the driver and control software no longer runs on current Macs. I also had been using an M-Audio FireWire 410 audio interface, and again, support for this was dropped by M-Audio some years ago. So if anyone wants a fully working pair of MIDIsport 8x8/s MIDI Interfaces and a FireWire 410 Audio Interface, then just make me an offer!

I have another piece of M-Audio gear, as well, which also had support removed, so that's three out of three for me.

And Now...

For my most recent move, I selected iConnectivity, and bought an iConnectMIDI4+, which has a lot of features and which has worked well for me, albeit with some minor problems (today's complexity seems to bring equally complex niggles with it), but it is very rugged! But whilst the new 'MioX' devices are definitely the focus of iConnectivity's marketing now, the iConnectMIDI4+ did get a firmware update on the 4th of April 2020, and the iConnectMIDI4+ is listed as being supported by the new 64-bit Auracle-X control software (with some caveats...).

So things are looking good at the moment, although the mioXL's 8 In 12 Out does look very nice, but I might go for a 4 In 5 Out mioXM so that I have a current product in my portfolio without breaking the bank.

And as 'backup', I have the MIDI Interface in my Focusrite Scarlett 2i4 (2nd Gen) if there are any problems, and based on the amazing upgrade and support that Novation have provided for the Circuit (8 firmware releases with some major additions over the past 5 years since it was launched) then I'm pretty confident I will be okay for most unexpected eventualities. Plus, Focusrite do make some very nice audio and MIDI interfaces with lots more I/O ports if I need them...

If I was to sum up my current attitude, based on my experiences, then it would be something like:

Avoid being totally dependent on a solution, because it will eventually 'evaporate' for one reason or another, often quite quickly, and be prepared to keep moving to current, supported equipment. 

Which actually applies to all hi-tech music equipment, and computers! 


In 37 years, I have had six different MIDI Interfaces, so six years per interface isn't bad (and to be fair, way more computers have come and gone in my studio!). I dislike throwing perfectly functional equipment away because it is no longer supported by communications interfaces, drivers, software or operating systems, but that's the nature of rapid technological development. However, I am very aware that, over time, audio has changed from something which was stretching the processing power of even top-end machines, to something where real-time processing of multiple tracks with multiple plug-ins is widely available on even modest computers.


If you find my writing helpful, informative or entertaining, then please consider visiting this link:

Wednesday 20 May 2020

A Synthesizer Programmer looks at Spitfire Audio's BBC Symphony Orchestra Discover plug-in...

What started out as a short review of Spitfire Audio's BBC Symphony Orchestra Discover has grown somewhat. Below you will find a review, followed by how I produced an unusual demo, and then some deeper synthesis explorations. I will start with an intro...

I've programmed a few sounds for synthesizers (including the E-mu Morpheus, Vintage Keys, Yamaha DX7, SY77, SY99, TG33, FB-01, TX81z, AN200, DX200, SY200, RY30, Kawai K5, Peavey DPM3, Korg Wavestation, Roland D-50, Novation Circuit, MonoStation, and lots of virtuals: Sprike, Amazing Noises Pulsor (I also wrote the 'Alternative Manual' for the Pulsor...), and lots more for Ableton Live software instruments, plus all the ones that I can't talk about...). Sample library wise, these days I tend to make my own, using Ableton's Sampler/Simpler inside Instrument Racks, or Native Instrument's Kontakt.

So it was quite a departure when I got tempted by the advertising from Spitfire Audio for their BBC Symphony Orchestra Discover - the lowest cost option of the three versions of the BBCSO sample libraries. Previously I had dabbled with the amazing LABS samples from Spitfire Audio, as well as the astonishing library, but this was the first time I had actually bought a real product from them - they normally target film and tv composers, so I'm perhaps a little outside of their usual customer base (Although the BT 'Phobos' synthesizer does look very interesting!) So this 'Purchasing from Spitfire' experience was a first for me, despite having been to several 'music industry' events at Spitfire Audio's HQ in Tileyard, north of King's Cross in London, England.

It has been quite a few years since I last did a review for Sound On Sound magazine, so bear with me as I warm up for a blog post review... Here's how it went from here, plus what I did with Discover, and more...

The Purchase Experience

The first shock I got was the 'Welcome to the Family' email, which thanked me for buying a Spitfire Audio product, and giving me links to videos and other support material. (including a fascinating article from the in-house 'Composer' magazine about scoring the Lego 'Builder's Journey' mobile phone game.) It felt very much like the opening page of a synthesizer owner's manual! I also got an email which told me that my purchase was ready for download, and this was when things diverged from what usually happens - there wasn't a download link in the email! (Deliberately, of course!)

Instead you go to the Spitfire Audio web-site and download their App, which is a special download manager just for Spitfire Audio products that runs on Mac or Windows computers. (I asked Spitfire Audio Customer Support about Linux, and Luke said: 'I'm afraid Linux is not supported currently, though whether this will be supported in the future I am uncertain!') The Spitfire Audio App is small (the installed app occupies a mere 22.1 Megabytes on my SSD), and graphically straight-forward (crisp clean and minimalistic - with graphics only were it needs them: for libraries!):

As you can see on the screen-shot above, you log into the app with the same details that you used to create an account on their web-site, and the App then shows you what products you can download, and handles all the downloading, plus repairs to libraries or plug-ins, as well as downloading and maintaining the LABS freebie samples.

Here is the screen that shows the free LABS content - all the graphics is used for the content, not the User Interface. From the buttons (or lack of them) it is possible to infer that I have installed the 'Choir' and 'Frozen Strings', that I need to update the 'Amplified Cell Quartet', ad that I can install the 'Charango' (a type of guitar), the 'Drums', the 'Dulcimer', the 'Electric Piano' and the 'Hand Bells'. Did I mention that these are free? Did I mention that there are more free samples on Christian Henson's '' website?

Note that this use of sample management software in the App means that you need to run the App on a computer that is connected to the Interweb (aka the Internet), so if you have a 'music' computer that is deliberately 'isolated' then you will need to connect it temporarily... Also note that there isn't any messing about with serial numbers or authorisations - all of that is handled by the App, and you don't need anything other than the App and your log-in details.

The 'My Products' page is just a little bit sparser (I would love to buy all of their libraries!), although I think that Spitfire are missing a trick by not having another tab for a Wish List, because that would be full to bursting for me - there's a particularly interesting product from BT (Brian Transeau, the 'make one loop per day' guy) which is a novel synthesizer that uses lots of carefully curated samples and a lot of processing. Almost a perfect match for my interests in every way, and I wish that I had the money!

The Spitfire Audio App is an interesting decision that says a lot about the way that Spitfire value and understand their customers. Providing a single 'sample library management tool' to people streamlines the install, update and maintenance overhead, particularly if you have lots of large sample libraries, and it must simplify the customer support as well.

When you are used to just getting a download link and downloading a zip file, then finding it, unziping it and then trying to figure out exactly where you put the expanded contents, then this was definitely different - very Professional, and very 'Supportive'. Quite a contrast to my experience with installing software from some other campanies, I can say! The downloads didn't take very long - and as you can see in the screen-shot above, the library download is under 200 MB (yes, that's an orchestra plug-in in there!), and the plug-in download is well under 200 MB as well, and the App then installed the files into the proper locations, and that was that. Possibly one of the least demanding installs I have done in quite a while!

The cog-wheel menus on the right hand side of the window are interesting - they reveal more of the 'not just a downloader' philosophy behind the App: Repair for fixing those samples that mysteriously acquire errors (Gamma particles? Aliens?, Wear-and Tear?, Just one of those things?...), Locate for when you need to find where you stored that sample library, Optimise for, well, optimising, and Reset for when repair fails and you need to download a fresh copy again. Again, I suspect that many customer support queries are probably resolved using this menu...

Opening Ableton Live, the Plug-ins part of the Browser now contained BBCSO Discover VST and AU plug-ins, and so I dropped the AU plug-in into a new track, got the usual plug-in widget in the Clip View (what I think of as the 'track strip'...), and clicked on the 'Spanner' icon to open the plug-in window...

The Plug-In

The BBCSO Discover plug-in window has a big graphic of the layout of an orchestra, which is used to select instruments, and various other controls, menus and buttons. This serves as a simple metaphor, but the white background and primary colour look also differentiates Discover from the Core (Grey) and Pro (Black) versions which don't have this graphic at all. The window is re-sizable, but some of the text is very small, especially on a very old MacBook Pro screen with not very many pixels on it! The resizing wasn't obvious at first glance, but there's a tiny button with the usual double-ended diagonal arrow symbol on it, and that minimised the window, at which point the lower right hand corner acquired a set of diagonal lines to indicate that you could drag it to re-size the window. I reported this as a potential bug, of course, and I will update this blog post with progress.

After everything so far going pretty smoothly, it was a little disappointing to see that there are two 'settings' menus in the upper right hand corner of the window... One is the 'ellipsis' three-dots that usually means something like 'more', whilst the other is the more obvious cog or gear-wheel icon.

Having the setup spread across two different menus is a little awkward, and I couldn't find out how to save settings so that my MIDI Velocity mapping preferences didn't need setting again every time I added the plug-in to a new track, but I'm sure there must be a way, and if not, then I will suggest it as a 'new feature request'.

The user interface is clean and mostly clear, and although there are some unusual icons, pop-up explanations appear in the lower left hand corner if you hover over them hesitantly with your mouse.

The large colourful graphic shows the section of an orchestra, and a click on any of the sections selects you that instrument, plus the available techniques for playing it. If you select Strings: Violins 1, then you get four techniques: 'Long', 'Spiccato', 'Pizzicato', and 'Tremolo', complete with the music score symbology (Over the whole library there are 47 techniques available). If you click on the drop-down menu at the top of the screen then you get a more detailed screen that shows a more text-oriented (and accessible) way to choose from the 33 instruments.

On the left hand side of the window there are two vertical sliders: Volume ('Expression') on the left, and 'Dynamics' on the right.

The dynamics slider controls the velocity switching layers, except that in Discover there is only one layer of sample - to get more layers you need to move to the Core or Professional versions (More money gives you more layers, techniques, microphone positions, round robins, etc. Plus there's a 'Mode Switching' feature which means that you can play MIDI files from any of the versions on any of the other versions - with mapping for where techniques, layers or microphone positions are missing...).

I didn't mention it earlier, but the Discover version is only £49, $49, or 49 Euros - and if you are willing to fill in a form and wait two weeks, then it is free. So in Discover, the Dynamics slider acts as a volume control, and in the '...' settings menu there are four options to control how dynamics is mapped to incoming MIDI velocity or the modulation wheel. Yep, this isn't a synthesizer, and so the mod wheel isn't automatically defaulted to LFO vibrato! Instead, the mod wheel (MIDI CC 1), or your favourite MIDI Controller, is used to control the dynamics. As I mentioned before, the default mapping of the least velocity sensitivity isn't my preference, but I couldn't find out how to set my preference, although I will ask Spitfire Audio's customer support. As an aside, having downloaded quite a lot of the free LABS samples, Spitfire Audio's support has always been excellent, even for free stuff!

Over to the right of the two sliders is a big rotary control (something of a feature of all Spitfire Audio user interfaces, it seems...) that controls the reverb level. Yes, this sample set was recorded at London's famous Maida Vale studios (the BBC will relocate most of the recording operations to Olympic Park in Stratford by 2023-ish) and so the samples in the Discover set do have some room ambience in them even with the control set to zero, but at 100% then you get a very nice real reverb from Studio One at Maida Vale sound studios. So you don't seem to get a completely dry 'close mic' signal in Discover,  but it sounds very usable! As always, if you want 'more' (mic positions in this case), then you should upgrade to the Core (£399, although currently on offer at £250.01 (!) until 31st May 2020) or Professional (£899, although currently on offer at £630 until 31 May 2020) versions.

After that, it's just fine detail at the top of the window, and we enter territory where pro reviewers devote paragraphs to describing each and every button and menu. I'm not going there! Suffice it to say that there seems to be plenty of control and you get a very strong impression that Discovery is just a carefully crafted 'essentials' sub-set of a much larger, more detailed product, and not an incomplete teaser. Exactly what you would expect from a company with huge experience of making orchestral (and related) sample libraries for composers! Which takes me to the next phase of this post: trying it out...

Using It

Spitfire Audio have lots of support material on their web-site, and the very first one that you are directed to post-purchase is a YouTube video where Christian Henson, one of the two founders of Spitfire Audio, shows how to turn an Erik Satie piano piece into an orchestral version. There's a lot of good advice in there about how to do orchestral arrangements 'Anyone can do it!', but I decided to ignore all of it, have some fun, and approach using Discover as if it was a synthesizer library. Here's just some of what I did wrong...

I decided that I definitely wasn't going to take a MIDI file of a classical piece and orchestrate it - even though many synthesists have done that at various times. Nor was I going to play a piano piece and then convert that. Nope. Instead I went 'old school' DAW, and started with a blank canvas and just made up a bass part. Nothing complicated, and I defer to Tantacrul for his far superior expertise in this particular area of music theory. (His YouTube channel is very good too!)

My attempt at simple and not clever or subtle was just five notes (C F A G D), evenly spread out over 10 bars. Yep, deliberately breaking the 'every 8 bars' rule with my first phrase! I used the Strings: Basses playing with the 'Long' technique because I have always had a weakness for Double Basses!

For the percussion, I avoided the 4/4, 120 bpm, four-to-the-floor bass and snare cliche, and instead went for minimalism: a single Tubular Bell hit, and again, I broke and followed convention simultaneously by having it happen at an interval of '1 bar and 1 beat' , but with a 4/4 120 bpm clock. So every 5th beat, the tubular bell hit happens, as 10 bars of bass slowly grind in the background. Not formula pop, and nowhere near the heights of Ultravox's Vienna.

A synthesizer pad was next, and here I actually followed Christian's advice about using monophonic lines per instrument. I did a descending set of four very obvious notes (C A G F) derived from the bass line, and assigned them to Strings: Violins 1, playing the 'Long' technique again.

Next I assigned an arpeggio to Strings: Celli (or Cellos) playing using the (wait for it) 'Long' technique, and yes, it is a startlingly unoriginal arpeggio in just about every way, not jazzy, no rhythmic variation, no velocity variation (more on this later) and lazily quantised. The Interweb probably already has lots of guides called something like: 'How not to create muzak in a DAW', and I just ignored every bit of potential advice I could think of...

The arpeggio is eight notes, and lasts exactly one bar. Looking back at this, then I now think that I should have made this longer or shorter than a bar, (which is bound to turn up in a 'How to do amazing things in Ableton Live!' YouTube video...) but there's always another version to be explored later! From the previous note choices, you won't be surprised to see C D F G A and B in there.

For the second pad track, I set the length at 3 bars, and broke the monophonic line rule (and several other conventions) by doing octaves, and by using the Strings: Violins 1 playing the 'Long' technique yet again. (No! No! No! Use another section!) C D and A are used here, surprising absolutely no-one!

Finally, the lead line, which (Gosh!) used Woodwinds: Flutes a3 (meaning 3 flutes at once instead of a solo flute, apparently) and which lasts 13 bars (!) that kind of only loosely follow bar divisions, and there's a sudden twiddly bit in the middle.

Rather than spend a long time hand-crafting the velocity (mapped to that 'Dynamics' slider which is a volume control in this layerless version), I cheated and used the stock/factory Velocity plug-in to add a bit of random velocity to the fixed velocities that the eagle-eyed amongst you will have spotted in the clip piano rolls.

Above you can see the simple automation applied using the Volume controller. Slow fades in and out everywhere. With this in mind, I synthesized a slow video accompaniment, and you can see the result:

Think of it as my lament for the deprecation of Quartz Composer from macOS - a wonderful technology that sadly never got the attention it deserved. (And a shout-out for Vuo, in case anyone is looking for an alternative...)

The end result highlights how well-crafted the Spitfire Audio BBCSO Discover sample library is. To me, it sounds like an orchestra playing a poorly-composed piece of music without the aid of a conductor! Which is what it is, of course! But whilst the music is bad, the sound is good, although it could be so much better with a little tweak here and there. Now when a sample library can take lazily-thrown-together muzak and make it sound good, then I'm impressed.

(This is an interesting point. Just about every demo that I've ever seen in the music business features a player with alarmingly strong musical ability showing that if you spend years learning your instrument, weeks programming, days building up muscle memory, minutes learning shortcuts, seconds memorising timings and milliseconds acquiring several other arcane expertises, then you can make the product sound truly amazing for about thee minutes! (And then people get bored and go to the next demo...) For me, I'm far, far more impressed when a product manages to make uninspired, lazy throw-away sequences of notes sound good.)

One final thing about what Spitfire Audio have done here. Yes, there are lots of orchestral sample libraries out there on the Interweb, but the ability to take music produced in a £$49 Euro (or Free) Discover version and play it using the Core or Pro versions, with much the same sound (less refined, and with some techniques missing, etc.) should enable a lot of learning, sharing, demoing and collaborations that previously might never have happened because of the problems of finding common resources. And that is both a good thing, and a potential game changer...


I'm not known for leaving things alone. All samples are merely things to be pulled apart, twisted, tweaked, processed and then used as raw material for synthesis. And I'm afraid that the Spitfire Audio BCBSO Discover library is no exception. Having used just a few of the instruments and techniques to produce an exploratory demo, I then moved to seeing what those samples could become with a little more tweaking. Here's what I did...

My first exploration looked at the single layer limitation. The composite screen-shot above shows one way to get around this. I worked on the Strings: Violin 1 sound that was heavily over-used in the demo. At the top is the velocity fading/switching pane, splitting the 1-127 range into three slightly overlapping layers. Underneath the velocity screen-shot, the layers are shown in full so you can see them all at once. In the top layer, I added the stock/factory Saturator plug-in to add additional harmonics to reflect the higher velocity, but because of intermod distortion, this only works well with monophonic clips! (Another good reason for creating multiple monophonic lines...) The middle layer is left alone, and the lower level has a filter added to reduce the brightness - Yes, I could have used EQ, but I was raised on subtractive synthesis back in the 60s, and so I prefer a simple low-pass filter with optional resonance as a quick-and-dirty way to take the top end off and maybe add a bit of selectivity. Putting three instances of Discover inside an Instrument Rack may seem slightly unusual, but I create a lot of virtual instruments using Racks, and the results can be well worth it.

Synthesizing missing velocity layers necessarily involves only subtle changes to the sounds, so I then looked at finding some more radical changes (Which could be put into a velocity-layered virtual instrument like the one above, of course! Oops, another secret given away! My advice would be to create an Instrument Rack like the one shown above, and to play with putting different Discover instruments inside it, any maybe even going beyond orchestral sounds by layering in the odd synth sound or two...).

Changing the saturation transfer function (the blue waveshape) beyond the preset 'distortion' settings can produce more complex changes. Asymmetric transfer functions like the one above start out just adding brightness, but as you go to higher Drive settings, then the sound gets fuzzier and the variations in timbre in the 'Long' Violin 1 sound can start to break up. It stops sounding like a violin and becomes more like a guitar through an overdrive pedal, and not in a good way. What is particularly interesting here is that putting synthetic sounds through this sort of transfer function can sound very good, but for samples of real sounds then it isn't as effective - or, given the way that modern pop does all sorts of things that I always thought of a 'just plain wrong', then maybe I should write: 'isn't as effective in some contexts, but may be exactly right for some others'. The takeaway here is thus to use Saturator with care as a way to add a little bit of edge to the sound, but not to go too far. Which could actually be a pull-out quote, since it is good advice:

Use effects to add a little bit of edge to a sound, but don't go too far!

There isn't a choir section in Discover, but this doesn't mean that you can't get similar timbres from it. By using the Corpus physical modelling plug-in, you can use resonance to get some tones that can be very useful. One useful tip is to use the note indicator to set a suitable frequency for the resonance, and you will notice that this is set to just over C3 - if you set it slightly sharp or flat, then you get a nice detune effect - very reminiscent of detuning the oscillators on a subtractive analogue synthesizer.

I used the Strings: Violins 1 as the source material again - but there is nothing to stop you exploring the use of the other instruments! The 'Membrane' preset gives nice results, and just switching to the 'Tube' preset with the settings shown in the screen-shot above is a good starting point for more vocal-like tones - although there is more 'selectivity' in 'Tube' so you get 'tube'-influenced sounds when the input frequency is close to the 'Tune' value, and more of the source sample the further away you go. One very good illustration of where it doesn't work is to use the Percussion: Percussion: Timpani as the source sample for the Tube preset, and you get something which is too far away from a timpani and too much 'tube'-sound. Now when I say 'doesn't work' and follow it with 'too far away from a timpani' then that's the danger with transforming sounds - go too far and you lose the connection with the original sample, and the listener just hears an unusual, unfamiliar sound. Putting some of the original back with the 'Wet/Dry' control can restore some of the sense of the origin of the sound, but it may still sound like distortion, or you may find that getting the Wet/Dry balance right is very difficult.

Two of the staples of synthesized music are pads and stabs: thick sounds with very different envelopes, and in the case of stabs, a rather cliched vibrato. But the rich, thick sound is very useful in all sorts of circumstances, and so I investigated if a similar timbre could be obtained from the source material in Discover.

To achieve this type of sound, I used one of the often overlooked stock/factory plug-ins in Ableton Live:  'Overdrive'. As the screen-shot shows, the filter is set to cut out the lower frequencies and the Drive is full on, whilst the Tone is at just below middle. For the Strings: Basses this gives a timbre which is bright and harsh, and starts to cross over into 'synthetic'. Adding the 'Auto Filter' allows the harshness to be controlled, and below about 1 kHz, you get a thickened version of the Basses. The screen-shot shows the pizzicato 'stab' version, but when you use the 'Long' then there's a fascinating accentuation of the slight changes of tone and you get almost a loop sound instead of the smooth bass sound you might have expected. Putting this underneath a more conventional sound gave it a depth and extra thickness that was not as synthetic in sound as I expected. I must check the result of using this approach instead of the Saturator for the high velocity layer of the Instrument Rack that I showed earlier. I probably tend to think of Saturator as a more subtle effect, but in this context, maybe I need to do more A/B comparisons.

For the opposite kind of thickness: low end grumbles, I just reversed the filter curve:

This produces something which has a mixture of Double Bass growl, with a synthesized fullness - so full that you probably need to EQ it to leave room for other instruments! Once again, you can see my roots coming through here - I'm turning the orchestral sound into something that is a hybrid of real and synthetic.

Adding chorus to the Tremolo technique might seem to be a strange thing to do, and merging vibrato and tremolo ought to give a Leslie speaker effect. But the effect of the chorus accentuates some of the dense high frequency scraping sounds of the violin bow on the string, and it starts to sound rather alien. Replace the Chorus effect with a Flanger and some settings well below the usual resonant tube effect will give weird clunking and knocking sounds that are very non-violin!

Compressing the Pizzicato Violin 1 can accentuate the room ambience amazingly and remove most of the tell-tale characteristics that make a Pizzicato sound like it does. It's a bit like pitch shifting a triangle sample - any pitch other than the correct one doesn't sound like a triangle! Well here, some heavy compression gives an early reflection type of sound, which gets stronger when you layer several notes on top of each other, and with octaves and rapidly repeated notes, it sounds like there's a big echo plug-in. Repeat short notes very rapidly and you start to get nice interesting glassy textures and long reverb tails, and all of this with the Reverb set to zero! With the Reverb set higher then you can get some nice sharp metallic sounds that are well removed rom Pizzicato Strings.

I have always been a fan of repetition processes like flamming, reverse flamming, FOF and granular... So I then filled a bar with repeated short notes (just over two hundred of them...) with uneven spacing to stop it sounding too mechanistic, and tried the Pizzicato and Spiccato techniques, copied the notes to three other bars and did some pitch shifting of a few semitones per bar..

Switching to the Strings: Basses with the Pizzicato technique and transposing the whole clip downwards a few octaves produced a very nice sound indeed, although I did need to drop the Volume control in the Discover plug-in to about 50%. I also added some ping-pong echo to smear out the resulting drone-like atmosphere even further...  Oooh!

As you can see in the Compressor plug-in in the screen-shot above, this processing produces a complex output that has moved quite a way from the orchestral pizzicato Bass origin of the sound. But this hand-crafted variation on FOF (Okay, so it isn't really that because it isn't using sine wave granules!) or granular (Which often seems to be too clinical and clean) is using quite a lot of processing power, but once you sample it, then you have a hybrid sound that has elements of real and synthetic, and that's a very interesting place to be...

A selection of these explorations is available on SoundCloud (link below), but I strongly encourage you to do your own processing rather than just repeat what I have done.

What is particularly significant in all of these explorations is that the natural origin of the samples is often reflected in the way that the processing affects them. I found unexpected sonic details and quirks that I don't normally find in synthesized sounds, and this has set me along a new and unexpected path of research. Discover may turn out to be the start of something much more expansive and exploratory indeed!


My exploration of Spitfire Audio's BBC Symphony Orchestra Discover sample library started as a review, segued into a demo from a synthesist's viewpoint, and then went all exploratory when I started to use Discover as the sound source for deeper sound creation and synthesis. I'm pretty hooked into several aspects of this sample library, and it definitely has possibilities that far exceed its price and intended area of use. Basically, I'm impressed - far more than I thought I would be. Congratulations to Spitfire Audio for making an even more amazing/stunning product than I expected.


If you find my writing helpful, informative or entertaining, then please consider visiting this link:

Wednesday 13 May 2020

Minimalistic octave remapper plug-in in Max For Live for Ableton Live

Gregory Taylor's article for Cycling'74, where he talks about 'One Big Knob' effects plug-ins, made me think...You might have noticed that I'm not exactly a 'minimalistic' user interface person - some might say that I provide too many controls. So I'm trying an experiment...

Recently, I released MIDIchromatixN, a 128x128 MIDI note number remapper that has quite a few controls... Well, I have just released the exact opposite, a remapper with one big rotary control, and one small rotary control! It does something different with remapping, but the core code for doing the remapping is identical - the differences are all in the fine detail of the controls and what they do. Because I really wanted to boil it down to a single 'big knob', but failed, I have called it MIDIchromatixONE, in an attempt to distract you from the two controls.


MIDIchromatixONE creates inversions of notes or chords in sequence clips - musical transformations of some of the notes, and not the 'invert' function where low notes become high and vice-versa. There are two controls (but you already knew that!); a big 'Map' rotary control that selects from the initial  20 presets, and a smaller 'Pitch' rotary control that 'tunes' the internal mapping to suit different input notes. Preset number 1 on the Map rotary control is a 'Thru' setting, where notes pass through unchanged, so it is more accurate to say there are 19 presets (at the moment) that do stuff other than nothing. The presets are arranged in 5 groups, based around modifying in groups of twelve notes, six notes, four notes, three notes or two notes. In each of the groups, the mapping starts out sparse and open, and gets more complex and thicker for higher numbered presets. So 'Preset 5 : Six Notes 1' is simple, whilst 'Preset 8 : Six Notes 4' is complex. The best thing to do is to put some notes from a clip through it, and listen to the presets.

The Pitch control shifts the internal mapping by up to +/- 24 semitones. This doesn't mean that it pitch shifts the output, it means that the way that the remapping is done can be shifted by 2 octaves up or down. I did wonder if I should call it 'Tune' instead of 'Pitch', but the word 'Tune' sounded too vague - this is one of the 'not fully nailed down yet' bits of the design, so it may still change in the future. Again, the best way to see what it does is to put some notes through it and to listen. Kind of what you might do with a plug-in with just 'One Big Knob', really.

Note really a control, the '!' button is a 'Panic' button that attempts to clear up any hanging notes, and also sends an 'All Notes Of' MIDI Controller message. I did think about restricting the Map button to changes only when the Ableton Live transport was stopped, but discovered that using an LFO to change the presets was rather cool, so I didn't put any limits on it - which means that if you change the Map button whilst a chord is held, then you may get held notes... Take care!


Inside MIDIchromatixONE, there are lots of lookup tables, kind of 'hand crafted' by myself, using assistance from a variety of tools that I wrote in Max For Live. (Which may or may not be a good thing - there's certainly quite a lot of 'tool artefact' in most of the presets... This might end up in a blog post one day - how do you avoid your tools affecting what you do?) I used source note clips from monophonic 'synth' sequences and polyphonic orchestral arrangements, and deliberately went for a range of effects, rather than just choosing the most complex ones - kind of how you would create presets for a real device...

The screenshot above shows part of the development environment for MIDIchromatixONE, where I'm using my 'Huge Noter' tool devices to show the input and output notes. Eagle-eyed viewers will also spot that I'm still in my 'Muted Impure' phase...

And above you can see just one or two of the simple tools that I use to assist me... Normally, you never get to see what happens behind the scenes... One programmer that I know told me that his tool-to-release ratio was about 100:1, so he wrote one hundred times as much code for the tools that he wrote to enable him to write the one final device that he then released.

Sometimes tools and utilities DO get released - examples from me on include the following:

- Aud Colours (inspired by Adam Neely @adamneelybass)
- Huge Noter (big display of notes, as used in this blog post!)
- DLS Helper N (Explore MIDI DLS...)
- MIDI cc tool (MIDI Continuous Controller message analysis...)
- MIDI cc  (simulation of a MIDI Continuous Controller...)
- Wavetable Creator ('512 sample' wavetables are increasingly becoming 'retro', these days...)

Regular readers may have spotted that one of these is closely related to my 'should be famous' M4L device which still has zero downloads!


There's a demo on SoundCloud here. It starts off with 16 bars of plain source material, then fades out and is followed after a pause of one second, by the same material processed by MIDIchromatixONE with a slow LFO running gradually through all of the presets - even the 'Thru'. There's also a bit of probability-based note pruning and some added random velocity from my MIDIprobNV plug-in. they sound gratifyingly different, at least to my ears. The material is not quite in 'Lamb of God' territory... and it isn't done using the Spitfire Audio BBC Symphony Orchestra Discover! Instead it uses an edited version of one of my 'mrOrchestra' Instrument Racks, and so exploits some of the articulation capabilities very nicely. (which is based on 'Quick_Arranger', which is still available...) I really should do another blog post about the 'Quick_Arranger' Instrument Racks...

In Use

MIDIchromatixONE doesn't do anything other than a few note transpositions, which sounds easy and trivial until you look at all of those lookup tables. My advice would be to start with Preset 1: Thru to create your clip, and then to audition the presets and find one that you like the sound of. There's a tiny bit of influence from the MiniMoog front panel design for waveshape selection, because the presets tend to get more complex and thicker as you go to the higher values. This doesn't mean that Preset number 20 is the best, of course! Don't forget to explore fine-tuning things with the 'Pitch' control, and remember that the effect it has depends on the source material, so don't expect huge changes!

One important thing to remember is that MIDIchromatixONE is not your standard effect plug-in. It is perfectly possible that many of the presets will have little or no effect on most of the MIDI Notes that you pass through it. Conversely, it can change notes in ways that would take quite a lot of manual editing time. Finally, the presets are my first pass through creating ways of using the underlying transposition engine - I intend to make more presets (probably less than 107 more!) for a future update when I have time, and these might use the tools less and be be done with more manual editing of the tables - I did worry that the tools were doing too much of the driving...

A final thought: the presets so far are very tame: chromatic and very constrained inversions. If you look at MIDIchromatixN, then there's lots more power lurking in the underlying engine... In the 107 available preset slots that are left (can you figure out why?) then there is space for more 'challenging' presets, but would people like something that would produce discordant outputs? For a while I have been considering releasing some of the 'broken' abandoned devices that don't, and in many instances, can't work properly, or whose output is imperfect in some way. Maybe MIDIchromatixOOPS will get released one day...

Getting MIDIchromatixONE_mr

You can get MIDIchromatixONE_mr here:

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

(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 a blog post is behind the version number of and pictures may not always be the current version... but Schrodinger's cat's status is permanently uncertain...

Modular Equivalents

In terms of basic modular equivalents, then implementing MIDIchromatixONE_mr is just about as awkward as MIDIchromatixN, even though the transpositions are much simpler. The 'mapping' of the 128 MIDI notes is the problem, unfortunately, and I still haven't found a neat solution. The Make Noise 'Maths' module starts to get somewhere close, but not entirely. The Expert Sleepers 'Disting mk4' also gets close, and maybe the Quantizer can be tweaked suitably, or possibly the Waveform Animator, maybe. But I couldn't find a direct equivalent. This means, of course, that I will get a comment pointing me to a classic module that I have overlooked, or never heard of, or forgotten, or didn't know about - there are lots of modules out there. Anyway, until then, I don't have an ME for this device...

The obvious solution goes outside of a purist interpretation of 'Modular' and 'DAWless' synthesis, and takes us into 'Hybrid' territory: use a dual DC-coupled 'audio' interface to connect Ableton Live into your modular system so that you can use MIDIchromatixONE (or N).


If you find my writing helpful, informative or entertaining, then please consider visiting this link:

Monday 11 May 2020

Full-range Chromatic Note Remapper in Max For Live for Ableton Live

I have experimented with remapping previously with my MIDI ChromatixT, which takes incoming MIDI notes and changes their numbers to new ones, but each octave is treated the same, and when you generate a new mapping grid, then it is often a huge change and not the slight variation that I really wanted. So I've been playing around wth a few ideas...


MIDIchromatixN is the result. It combines two of the methods that I explored into one device: a random remapper and a modulo-arithmetic remapper. Both use almost exactly the same controls, and the outputs are very different - the random remapper is, well, random and wild, and the modulo remapper is more mathematical and constrained. In both cases, you need to follow them by a scale-setting device: the stock/factory Ableton Live Scale device is fine, or you could use my MIDINoteScalery device for extra control, proper invert and 'n'-octave folds as well.

MIDIchromatixN is basically just a look-up table. If you want to, you can set it so that the notes coming out have exactly the same note numbers as the ones going in (velocity is unchanged in this note remapper), but that isn't very useful. You can set it so that it inverts the whole MIDI note range as well, so that low MIDI notes become high ones, and vice-versa, but MIDINoteScalery makes that easy with a single button instead of setting about 8 rotary controls... However, if you want to gradually make changes to a constrained random (or mathematical pattern) mapping every so many bars, and have detailed control over the mapping, then you need MIDIchromatixN. In many ways, it is conceptually a bit like the stock/factory Saturator plug-in, but for note numbers rather than audio - and the mathematical functions it uses are different...

The flow diagram above also shows what you need to do to allow MIDIchromatixN to work. You need to have put some notes into a clip on the same track, and you need to add Scale or MIDI Note Scalery after MIDIchromatrixN. Finally, you need something to make a sound - any of the stock/factory Ableton Live Instruments is fine, or you could use a VST plug-in instrument.

So what does a remapper do?

A note remapper goes between the notes produced by a Clip and the sounds produced by an Instrument. MIDIchromatixN isn't sophisticated enough to do things 'in key', and so you need to add a scale controlling device after it. A remapper uses mathematical formulas to change the note numbers as they pass through. So As an example, with the Modulo mode selected, I tried 10 different variations when I input a C Major chord (C E G) and set the scale device to only let C Major notes through. The outputs were: C D A, C D A, F G D. A C G, D D F, A C G, D F C, G A F, C C D, and A F F, where a repeated letter indicates a note one octave higher. These output notes are consistent in Modulo mode - if you select a Variation number and input C E G then you will get exactly the same notes out again. Change the settings, and the output notes would be different, of course. In Random mode, things are slightly different, because the randomness gets shuffled each time you move some controls, and so, as the name suggests, you get more unpredictable 'random' notes out - and they won't be the same if you set the controls to the same settings. 

So what do you use it for?

A remapper can be used to change a melody (or chords). Whatever you put into the Clip, the output from the remapper is probably going to be different - unless you find one of the 'input=output' settings - and you would be able to see that on the display. So you can use it to create new melody ideas, or for generative music, or just for fun!

User Interface

As normal, I will go across the user interface from left to right...

There are two indicator lights with 'Yes/no' buttons underneath them, with rotary controls called 'AutoVar' or 'AutoRand'. These enable changes in the remapping to happen every 'n' bars. The 'Var' section controls the Variation rotary control, which makes small changes to the mapping. You can move the Variation rotary control manually to audition the effect that it has on the remapping of notes. The 'Var' section works in either of the two modes of operation (more about them in a moment). To enable the automatic variation, you just select the repetition rate (every 'n' bars) and click on the 'Yes/No' button so that it says 'Yes'. When Ableton Live's transport is running, then the indicator light will flash after that number of bars have happened, and the Variation rotary control will increase by one. After 127, it resets to 1 again.

Well, that WAS how it worked, right up until when I was writing this, where I realised that having the Variations button always cycle through all 128 possible values was a bit boring... As a result, I added 'Start' and 'Range' numbers, plus 'nudge' controls to adjust them, and now you can set the start Variation number, plus how many increments it will make before it returns to the start value. You can see the new controls on the far left hand side in the diagram above.

So if you set the Start to 1, and the Range to 4, then it will increment through Variations 1, 2, 3, and 4 (and then back to 1) every 'n' bars - where 'n' is set by the 'AutoVar' rotary control. If you set the Start to 8 and the Range to 16, then it will increment through Variations 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, and 23 (and then back to 1).

The 'AutoRand' section only works in the 'Random' mode, and causes a new random remapping to be generated every 'n' bars - if the 'Yes/No' button is set to 'Yes'. Note that the two auto bar settings can be different values. To the right of the AutoRand section is the 'Transport' section: the red/green indicator light shows when Live is stopped (red) or running (green).  The small indicator light will flash once every beat, and the bar count on the right will increment every bar. You need to make sure that you stop Live in order for the bar counting to work properly - just pressing the spacebar for pause doesn't work properly, but I'm working on it...

The main control just above the transport indicators is the 'Random/Modulo' button. In 'Random' mode the remappings are rough and 'random', plus the background colours are slightly more purple, whilst in 'Modulo' mode the remappings are more repetitive and mathematical in appearance. Apart from the AutoRand only happening in 'Random' mode, all of the other controls work in both modes.

Above the mode button are the main set of controls for the remapping. There are two identical mathematical generators inside, connected in series (the notes from the clip go through generator 1 first, then generator 2, then go to the Scale device) and each generator has a Range rotary control and a Step rotary control. Range sets the range of output notes, and Step sets the increment of the output notes within that range - which roughly equates to the slope of the diagonals (within limits, as we will see). If you set the controls like this:

...then you get what you might expect - the Ranges mean that the remapping uses the whole of the output range, whilst the step size of 1 means that every output note is used, and so you get a 1:1 mapping of input notes to output notes. So every incoming note will cause the exact same output note to be output, although the Scale device may then change that note, of course. You might wonder why you have a device that does nothing! But set the controls like this (turn Step2 to 64, and Pitch2 to 32):

...and things are now very different. The output range is only half what is was before, and there are now two different input notes that produce the same output note. Let's look at that 'sawtooth' shape in more detail...

The central user interface feature is what looks like a strange audio waveform on a dark background, or maybe a broken LFO waveshape. Above this are 128 numbers which define the mapping of input MIDI note numbers to output MIDI note numbers - and they are very small because for most purposes they are very boring and you may not need to use them very often! So when we had the first setting, then there was a straight line across the rectangle, from lower left to upper right. When we set the Range2 rotary control to 64, then there were two diagonal lines and we needed to alter the Pitch2 control to get the output notes playing the correct notes. So what would happen if we set the Step1 value to -1 instead of 1?

The screenshot above shows the effect of a Step1 of -1 - with Pitch2 increased to 95 to compensate for the pitch dropping. The diagonal lines are now sloping the opposite way. Let's reiterate how to think about the controls, and add a caveat: the Range controls set the output range of notes, but these may need adjusting with the Pitch controls so that they are not limited by the top and bottom (0 and 127) of the note numbers. 

Let's see what happens if we rewind a couple of steps and change Range1 down to 96:

This gives us one diagonal controlled by Range2, and another controlled by Range1. Okay, which means that the Range controls are separate. Got it.

Earlier I said that the Step controls changed the slope of the diagonals. If we change Step1 to -2, then this happens - but it shows that the Range 1 control might not have been doing what it seemed to be. Here's what it now looks like:

Yep, we have squashed two repeats into the space of one horizontally, and what looked like two little diagonals is now revealed to be just one. Unfortunately, just as you think you have got the hang of this, then there's a problem because when the diagonals get to a certain slope, then they 'alias', just like digital audio. Here's what this looks like:

There have been several changes to the Range and Step values, but what you see instead of the nice, neat diagonals, are more complex mappings between the input and the output. But the same principles apply: Range sets the output note range, Pitch puts the notes back into a usable range, and Step alters the diagonals - except that now we have individual aliased dots instead of diagonal lines. Here's another example of the sort of mapping that you can produce:

In the course of playing with the values, the two Pitch controls on the far right hand side have also been introduced, and they complete the user interface. Don't forget that the Scale device that follows allows you to constrain the output of the remapper so that it plays only the notes that you want, and remember that you could use the MIDI NoteScalery device instead of scale, so that you can have more scales, better folding, correct inverting, etc.:

One final thing to note: if you try to set the Step value to zero, then the rotary control background will turn red to remind you that you shouldn't use this value.


The rectangle with all the sawtooth and dots in it is really just a squashed lookup table:

The diagonal line that we started with should really be like this: 128 values on the lower edge for the input note numbers from 0 to 127, and 128 values on the right hand edge for the output note numbers from 0 to 127. Because the diagonal sets how an input maps to an output, then in this case, any input number maps to the same output number. 42 in maps to 42 out, as shown on the diagram above.

Do you remember when Step2 was set to 64, and the Pitch2 was adjusted so that the two sawtooth shapes were in the middle of the display? Let's look at what this does to the mapping:

The two sawtooths set the mapping of input note numbers to output note numebrs, so when there are two shapes like this, there are two inputs for every output. So an input of 43 produces an output of 78, but so does an input of 98. The smaller the output range, the more there will be several notes on the input that produce the same output note number. If you tweak the settings, then you will probably find some that produce a horizontal line, and this is a special case: there is only one output note number, and every input note number maps to that number. This isn't very useful...

If you look up MIDIchromatixT, then you will see that it only has 12 inputs and outputs, and that it repeats that octave for the full 0-127 range. MIDIchromatixN has no repeats! All 128 note input numbers are mapped individually to the 128 output note numbers.

When the Range and Step values give us mappings that aren't anything like a nice simple diagonal line, then the mapping can be lots more complex. Here's a Random mode mapping:

This mapping has none of the obvious repeated patterns of previous examples, but you should now be able to confidently adjust the output range of notes by changing the Range values, and then using the Pitch values to get the pitches at the right place, and know that changing the Step values will alter where the dots are horizontally.


This time I'm not going to go very deep into how MIDIchromatixN works in Max For Live, and instead I'm going to show how one very useful bit of the UI is done, and show you where to find more related stuff.

The little red/green indicator light that shows when Live is stopped or running is the target. The code looks like this:

For when Live's transport is not running/playing. However, if you try to open the Help page for this, then you get the help page for a patcher object, which isn't quite a useful. instead, what you need to do is go to the 'Extras' menu in Max:

...and there is the M4L.api.ListOfAbstractions, which opens a window full of interesting objects:

,,,including the one that I used to find out if Live was running or stopped - there in the lower right hand box. Clicking on the text for Global.ObserveTransport opens the tiny little box on the far right hand side, which shows how to use it. Here's that same code, but this time with Live's transport running:

Each of those six boxes covers a topic, and there are all sorts of other interesting objects in there, ready for you to use!

Getting MIDIchromatixN_mr

You can get MIDIchromatixN_mr here:

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

(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 a blog post is behind the version number of

Getting MIDI Note Scalery 

MIDI Note Scalery can be downloaded from here, with documentation here.

Modular Equivalents

In terms of basic modular equivalents, then implementing MIDIchromatixN_mr is quite awkward. The Make Noise 'Maths' module starts to get somewhere close, but not entirely. The Expert Sleepers 'Disting mk4' also gets close, and maybe the Quantizer can be tweaked suitably, or possibly the Waveform Animator, maybe. But I couldn't find a direct equivalent. This means, of course, that I will get a comment pointing me to a classic module that I have overlooked, or never heard of, or forgotten, or didn't know about - there are lots of modules out there. Anyway, until then, I don't have an ME for this device... (This is a first, I think!)


If you find my writing helpful, informative or entertaining, then please consider visiting this link: