Thursday, 24 December 2015

Waverne development = Waivy

For a while, I've been working on a new version of my Waverne synthesiser. Waverne takes the Laverne synthesiser example from Max (by Cycling'74) and replaces the waveform-based synth engine with a swept segment wavetable that provides very complex sounds instead of static ones. Kind of 'effects within' rather than 'at the end of the' audio processing... If you've ever used the Tide synthesiser from Christian Kleine, then that is Waverne expanded in several directions! But what about making Waverne simpler and smaller?


Waivy is a teeny, tiny version of part of the forthcoming new version of Waverne. I now have a more powerful wavetable tool to work with (Wave Creator) and this simplifies the job of creating the large wavetables that the engine requires. For Waverne I used Audacity a lot to generate the custom wavetables, but for Waivy I have used the Wave Creator 512 tool, and the results are very encouraging.

Waivy has a minimalistic set of controls. But don't let this fool you: Waivy is a powerful little plug-in, with lots of sound generating capability.

[Detune] allows you to tune the two oscillators to 'in-tune' by clicking on the triangle (or setting it to 0.00. Moving th control away from 0.00 detunes the two oscillators symmetrically, so there isn't any overall pitch change, but it does mean that the direction you move in does not matter - the tune sounds the same if you move the control to the left or the right. I considered putting the detune so that 0.00 was on the left hand end, and full detune was on the right, with clockwise rotation giving more detune, but this felt all wrong - 'in tune' had to be in the centre of the control, so that's where it is.

[Timbre] allows you to select the part of the wavetable that you want to use as the basic sound. You have complete freedom of where you choose within the range. There are 28 basic waveforms, plus ll the overlaps, so there are a lot of different starting points to explore.

[Sweep] allows you to control the amount of movement through the wavetable that the envelope causes. At the 0.00 position (left-most rotation), you get the basic wavetable itself: static and boring), but rotating it to the right causes more and more envelope modulation of the wavetable sweeping, and this gives a nicely animated feel to the sounds. There is a bit of interaction between the Timbre and Sweep controls at the extremes of the ranges (I'm still learning about the wonderfully-named 'pong~' function in Max) and so you may need to do some tweaking to get solid sounds.

[Attack] and [Decay] are a very simple 'contour'-type AD envelope, where there is no sustain, and once triggered, the envelope does its thing with no re-triggering or release complications. Just about as basic as envelopes get, but because the wavetable sweeping is intimately linked to the envelope, the Attack and Decay controls are very much part of the timbral control set, so don't just think they are controlling the amplitude.

[Polyphony] is the final control, and this gives away the roots of this instrument: the ever-popular Pluggo 'Big Ben', possibly one of the most edited M4L examples ever created, and the core of many M4L giveaways from lots of online sources, including, now, me! (It will be interesting to see if any 're-skinned' variants of Waivy turn up in the next few months...) Click on the number and move it up or down to set the polyphony limit, after which note stealing will occur. 8 is okay for most purposes, but long decays might need more to avoid sudden loss of audible notes.

And that's it. Simple but rather effective for some sounds, and it seems to be reasonably light on CPU resource, which is useful in some circumstances! Enjoy.

Waivy is available from MaxForLive.com.


Here is an early version of Waivy in a typical chain: Waivy first, then echo, then reverb...

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, 22 November 2015

ModeAudio Articles on MIDI Velocity

There are now two additional ModeAudio interviews with me available on the ModeAudio web site. This time the topic is MIDI Velocity, and there's a free MaxForLive plug-in that makes working with velocity much easier.

The articles:
The VeloView M4L plug-in MIDI effect takes MIDI Velocity messages and shows them as vertical lines in a sideways scrolling window. Simple but very effective - suddenly velocity is visible!

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

Monday, 13 July 2015

Random Echoes

Sometimes ideas for audio effects seem great conceptually, but the actual result doesn't match up to those expectations. Comber 3 added random modulation to my MaxForLive Comber phase shifter, but it didn't sound quite as awesome as I had imagined.

Persistence can pay off, though. So I added random modulation to my PanEcho M4L effect, using the built-in 'M4L.vdelay~' glitchless delay module. The 'M4L.vdelay~' is good for messing about with modulation because it tends to be stable even if you are changing the delay time quite rapidly, which was going to be useful when using filtered noise as the modulation source. Here's what Rnd_Echo looks like:


Notice that I wasn't sure how to indicate that the modulation source was random, so I just added random dots to the background of the modulation section. I think it works quite well as a visual cue.

Surprisingly, the result is better than the random phasing, but still not exactly what I expected. Adding random delay times to audio echoes is difficult to describe - almost like smearing the sound out. But it is very usable, and quite unusual - it isn't the sort of sound that you hear and immediately know what is producing it, which is always good in my book.

Control-wise, there's a lot of commonality with many of my recent releases, although I've experimented here with moving things around to see if that makes things more intuitive. The 'noisy' modulation panels have two controls for the randomness - use L to control the basic rate of change, and H to control the jitteriness. The Mod control sets the depth of modulation, with an indicator light for when the delay line is at minimum delay. The two delay panels let you set the Delay time (increase this when the mod light keeps lighting up), the Sync, and the feedback, which can be to the other channel, or inside the channel. The Pan panel lets you move each delay line in the stereo image (but not randomly - yet!) and I've added a horizontal 'pan position' indication. Finally, the 'Limiter' button is left over from the Comber effect, and I've kept it because it can be useful when the feedback gets too high.

As always, Rnd_Echo is available for download from the maxforlive.com website. Enjoy.

Saturday, 27 June 2015

ModeAudio Magazine articles

I've recently done four interviews for the ModeAudio online Magazine about how I explore the more unusual side of sample use, mis-use and manipulation in Ableton Live. Here's a quick index to all of the articles:

Exploring 'Found Percussion Bundle': Part 1     

Exploring 'Found Percussion Bundle': Part 2

Exploring Float's Guitar Samples: Part 1

Exploring Float's Guitar Samples: Part 2

There are accompanying blog entries here as well:

Winning was only the beginning...   

Drums - using layers in a rack...

When is a guitar not a guitar?

The DAW as synthesizer...

I'd like to thank Niall from ModeAudio for all of his support, help and enthusiasm for this project.

The DAW as synthesizer...

The fourth part of my 'playing with samples and loops' series has now been published in ModeAudio's online magazine. As always, I'm fascinated by the way that finding alternative ways to look at things is a two way process - a new loop triggers an idea, or a 'what happens if I do this?' turns into an interesting variation that opens up different possibilities. But this time, I managed to put into words something that I've been trying to express for some time - the way that modern DAWs, sequencers, host software, audio workstations, or whatever else you call them, are more than just digital tape recorders.


The blurring of the distinction between sound generation as in synthesis, and performance capture as in a recording, has been ongoing for a long time. A modern DAW now allows me to change the pitch of a synthesizer by modifying the MIDI data at its input, or by processing the audio output of the synthesizer through a frequency shifter - or both. And any of these can be captured, edited and replayed, or even added live. Effectively, the synthesis engine is the whole of the sound production chain, from sound generation, through performance capture, to live playback and interaction.

In one example in the ModeAudio article, I take a guitar-based audio loop, separate out the individual notes and stack them together, into a big, gorgeous-sounding bass synth sound. Actually, there's quite a bit more fine detail involved to do this, and this is where it gets interesting. I'd argue that the facilities that a modern DAW like Ableton Live give you to work with sound are a lot like a modular synthesizer, but with a few freedoms that modulars don't have, plus faster trying out of ideas (sometimes). The downside is that it can be just as difficult to figure out exactly what someone has done when they've stacked samples, edited them, added effects, velocity switching, and more, as it can be to work out what is happening in a modular synthesizer patch.



In the spirit of making ideas and tips more widely available (4 parts so far for ModeAudio!), then here's another one that arises from this. Why don't software modular synthesizers provide an alternative 'straightened-out' view of a patch? Instead of showing all those patch-cords linking modules, why not shorten the patch-cords, remove the detail and just show the linkages, and move the modules into a sensible order, so that you can see the generation and then the flow of the audio through the processors, and the way that the controlling modules (LFOs and Envelopes, etc.) are influencing things.



Kind of like the way that the London Underground map doesn't actually show where the lines go, but abstracts the lines so that you can understand how to get to Mornington Crescent without worrying about where it is, or how the lines bend and twist on the way. This doesn't just apply to a modular synth - it could be a complex Rack in Ableton Live as well. This type of 'abstracted view' could make it lots easier to comprehend how a sound is produced and controlled, and I'd say that that's a new feature that we should all be clamouring for! 

Why not ask your current DAW manufacturer if they are planning to do this type of view in their next release? You can always tell them I sent you!