Sunday, 3 September 2017

A Brief 'Alternative Manual' for the Pulsor Synthesiser by Amazing Noises

I recently bought the Pulsor Suite from Amazing Noises, which contains both the Pulsor 1 and Pulsor 2 monophonic MaxForLive synthesisers for Ableton Live. Pulsor is an interesting synthesiser because it has four oscillators (including 2 in a special FM/Ring Modulator arrangement), 3 envelopes and 4 LFO with complex output processing options. In fact, those words: 'complex processing options', apply throughout the Pulsor design. This is not another generic, bland, 'off the shelf', 'me too' synth - Pulsor is powerful, deep, and can make some very expressive sounds. In other words, it is exactly what I look for in a synthesiser!

Whenever I get a new synth, I always 'revoice' it. It's a bit like the ceremony that lab technicians have with a new lab coat: they spill some coffee on it, write on it, fray some of the edges, burn a few holes in it with a soldering iron or acid... Anything to make it looked used and loved. So for synths, I create my own presets to replace the 'factory' default ones. Some people also customise their hardware, and my personal reference is for printed diagrams, tables and other information stuck onto the front panel (or underneath for table-top gear like MIDI controllers) with Blu Tack (other slightly sticky stuff is also available). Programming a new device is a great learning opportunity, and rapid ascending of the learning curve is something I worked hard on when I was doing lots of equipment reviews for Sound On Sound magazine many years ago...

After producing more than 100 new 'presets' for each of the Pulsor synths, I was pretty familiar with how they work, although there is still plenty of scope for further exploration. Now one of the things I remember from before the Internet, when people used FTP sites to exchange information, was the 'alternative manual'. Not a replacement for the real user manual, but an attempt to provide additional detail and clarifications from people who had some experience, and intended to make things easier for newbies. So, here's what I learned about the Pulsors.

Programming model

Sound synthesis at the highest level usually looks something like this:

For actual programming of a synthesiser, it can often help if you have a more detailed 'programming model' to help you understand where you need to make changes to get the desired result. Synthesiser programming may look like just turning knobs and pressing switches (real or virtual!), but actually that 'edit' is really the end point of a whole series of decisions. A programming model shows how the various parts of the synthesiser connect together - kind of 'what is happening behind the front panel'...

So here's my programming model for the Pulsor 1 architecture.

There are some differences between the Pulsor 1 and 2, but they are in the detail, not the overall architecture, and so the same model mostly works for both. The main flow of the 'sound' is in the centre, and happens from left to right. At the top and bottom of the diagram are the modulation sources. The model highlights some of the unusual features of the Pulsor architecture: lots of 'mix' controls between oscillators, lots of wet/dry control around processors, a very flexible 'spectral' section utilising FM with Ring Modulation, and complex post-processing around the Multi-Modulators.

Programming models are not meant to be perfect in every detail: the idea is to show how it works in sufficient detail so that you can see where to make edits. The Ring Modulator output is particularly difficult to represent in a simple way. The output 'mix' control (to the right of the 'Ring' box) allows a continuous mix between Oscillator 3 (at 0%), the Ring Modulation output (50%) and Oscillator 4 (100%), the oscillator which is FM'd by Oscillators 1 and/or 2. So the 0-100% labelling is slightly misleading... The diagram also misses out the wet/dry mix control around the Multi-Modulator amplitude modulation (the box in the bottom right hand corner of the Ring Mod box).

Hints and Tips

My first problem was figuring out how the user interface worked. I couldn't get those little 'no' boxes to do anything.

The Multi-Modulators were easy - they dropped down from the triangle, and so I could edit them easily. But the 'no' boxes took a little more experimentation.

To use the 'no' boxes, you click and hold in the box, and then move UP. So, exactly the opposite to the drop-down Multi-Modulators, the 'no' boxes are 'drop-up'!

Here's are the two 'no' boxes expanded as if they were normal pop-up selectors:

So as you move upwards, you get 'm1+' (the LFO on the left hand side, in the top bar of the front panel layout), then the inverted version: 'm1-', etc., then all the way up to 'e2-', the inverted second 'attack-release (AR)' envelope on the right hand side of the top bar.

Intrigued by the 'no' in the box? It just means 'none' - so it indicates 'no modulation selected'.

Note that on some monitors (mine, for example), the 'm1i' and 'm2i' interpolation output labels tend to look like an 'l'. The significance of the 'i' output is covered in the Pulsor Reference Manual, but here's another way of thinking about it (and this shows the deep thinking hat has gone into the design of Pulsor):

Each of the two 'top bar' LFOs has two outputs: the '+' and '-' are just the ordinary and inverted versions of a sine wave that you would expect (although 'Amazing Noises' use the word 'reversed' where I would say 'inverted'... Perhaps 'upside-down' is a less technical explanation), and the 'Rand' control makes the LFO frequency wobble or 'jitter' randomly, whilst the 'i' output turns the 'Rand' control into another mix control - this time between the sine wave and a random waveform. So the '+' and '-' outputs are a fixed sine wave where you can control the amount of randomness in the frequency, whilst the 'i' output is a fixed frequency where you can control the amount of randomness addd to the sine wave. Of course, I would like a third option, where I can control the randomness in th frequency and in he output, but maybe we will see that in Pulsor 3...

The Pulsor Reference Manual uses an unusual abbreviation: 'F.i.'. It took me an embarrassingly long amount of time to figure out it meant: 'For instance' of 'For example' (e.g.).

Spectral Control

One of the most powerful parts of the Pulsor architecture is in the central box, where a complex mix of FM and Ring Modulation takes place. Ring Modulation produces sum and difference frequencies, which tend to produce bell-like sounds, whilst FM produces a different set of frequencies determined by Bessel functions. Combining the two together produces a 'spectral' processor that can add a wide variety of additional frequencies to the sine waves produced as the base for the 4 oscillators (although there is some oscillator output wave shaping available as well). Harmonics and inharmonics can be controlled in a variety of ways via the LFOs, envelopes and Multi-Modulators. if only there was a polyphonic version!

One of the side effects of FM can affect tuning, and my preferred setup when programming Pulsor was to have the 'Tuner' effect after Pulsor, so that I could keep the presets in tune. Using the shift key when changing the frequency controls is very important when fine tuning control is required.

With all of the available control over the spectral content of the output, there is one area where Pulsor needs a little help, and this is dynamics/velocity control. The only dynamics control is the main AR envelope, where MIDI velocity can control the volume of the output over a 40 dB range.

Now, having been raised on Mini Moogs, where the keyboard is not velocity sensitive, I have maybe over-compensated in some of my programming by adding too much velocity sensitivity (e.g. some of my FM sounds for the Yamaha DX7 and SY99), but with polyphony I do like being able to control the expression whilst playing with two hands, even though it means that I fall into the 'rigid' keyboard player syndrome. On a mono synth, then one hand for playing and the other for mod wheel or cutoff frequency (etc.) is okay, and does look good on stage - but in a DAW, then the ease of use of velocity is often much better than other controllers, and so velocity control is a natural choice to control expression.

There isn't enough space here to go into the details of how you program velocity-controlled expression into a synth. Just changing one parameter with velocity is the baseline, and there are lots of possibilities above that, which is one of the reasons that I like FM!

Dual Velocity Mapper_mr

Whilst there are quite a few M4L 'Velocity-to-Parameter Mapping' utilities available, I couldn't find many multi-channel versions, so I made a two channel one, called 'Dual_Velocity_Mapper_mr' (DVM_mr), and available from MaxForLive.com as usual. DVM_mr has an easy setup mode, that lets you quickly set the offset and depth of the 'velocity to parameter' mapping, and re-uses the Ableton parameter mapping control from their LFO device.

To use DVM_mr, you click on the 'Setup' button (in between the two big blue buttons near the centre) and then map each of the blue buttons to a parameter inside the synth you want to control. You then move the mouse from left to right and this causes notes to be generated at different velocities, so that you can see and hear the effect of the velocity changes on the parameters. Moving the mouse up and down (on the screen, forwards and backwards from the mouse-viewpoint!) changes the pitch of the notes. This speeds up the setup phase quite a lot, and makes it quick and easy to map velocity to two parameters. To clear the mapping, you just click on the 'X' buttons. The 'Invert' button inverts (turns 'upside-down') the MIDI velocity, so that higher velocities produces lower values.

In a blog full of hints and tips, the mapped parameters shown in the DVM_mr screenshot might be a useful starting point of further exploration...

Downloads

Pulsar 1 and 2 Presets

My Pulsor 1 and 2 presets are available here. There are two sets of 12 folders (no velocity sensitivity, and full (-40dB) velocity sensitivity) for each synthesiser. Each folder contains 12 presets. To install the presets, then you need to put them into this folder:

An easy way to open the install directory from inside Live is to select the User Library window in Live's 'Browser', right-click on 'Pulsor by Amazing Noises' (or 'Pulsor 2 by Amazing Noises') in the right-hand 'content' pane, and then choose "Show in Finder" (Mac) or "Show in Explorer" (Windows) in the little pop-up menu that should appear: