Thursday, 8 December 2016

Goonhilly Earth Station - synths in space!

Goonhilly Earth Station is the stuff of modern British science and technology legend. When Armstrong and Aldrin walked on the moon, Goonhilly received the signals and got them to the BBC for transmission, so that I could watch them at school explaining all to the headmaster. Ali hit the deck from a monster left from Frazier,  and as a 10 year old kid I felt the blow all the way over in Sheffield, the first time he had ever been on the canvas as a professional - Goonhilly was picking up the satelllite TV relay. Alf Ramsey decided to 'save him for the semi', and Bobby Charlton's golden days were gone in a second half flurry of German goalscoring. Goonhilly beamed over the heartbreak from Mexico for us to to 'enjoy'. Freddie Mercury and Brian May stealing Live Aid from under the noses of the class of 76, thus proving to my eternal punk rocker shame that practising and playing well beats yelling and jumping around - Goonhilly. And The Beatles playing All You Need Is Love to the world in 1967. Goonhilly, again.

What a place, and very fitting that music should be the thing that drew me to Goonhilly for the first time yesterday, when the brave new post-BT management of the Earth Station made the place into a BBC music venue for one day only. This was part of the celebrations of 70 years of Radio 3, the place had been decorated up a storm, and mince pies and mulled wine were made available during the soundcheck, where we met Paula Bolton who is the artist in residence at Goonhilly. She is doing great work to bridge the STEAM gap and expose the creativity of the technical team, emphasising the aesthetic beauty of satellite dishes and old school dot matrix print outs, dropping an artist's eye over the parabolic giants that dominate the local horizon, and making you look at things slightly differently than you did before. Bold management to insert art into this place, and I look forward to them pushing the STEAM agenda in the coming years.

In true BBC tradition, on with the show, hosted by the excellent Sean Rafferty. The music was a joy, start to finish. With a loose space theme - actually, there was no theme at all, but space was mentioned a lot! But with a sort of non-existent space theme, proceedings kicked off in the only way they could, with Also Sprach Zarathustra. Played by the brilliant BBC Concert Orchestra brass players, the piece was augmented and morphed into something else entirely by the utter brilliance of Will Gregory's Moog Ensemble. Filtered resonant noise for the 'Life on Mars' Tympani, massed Moogs and Korgs and Rolands, a pair of wind controllers - Will playing a classic WX7 into a MIDI to gate / CV converter into a weather beaten Model D (as far as I could tell from my sideways view - but I'm not exactly encyclopaedic on Moogs) - transistors and synthetic sawtooths clashing with reality. Analog vs unalog?? And despite the kilowatts of amplification, the brass was louder. A brass ensemble on full blow is a terrifying racket... But it wasn't a contest, it was a celebration, and it was brilliant. The synth team appeared thrice more during the event. Noise Box was hilarious - a MIDI command stream broadcast to maybe 5 of the synths, just rhythmic pulses stripped of melody by the entire synths squad turning off their tuned oscillators. The MIDI was locally gate / CVd into each synth to free up the players to mess with EG release times, cutoff and resonance, and a few of the players were at it freehand, bashing away - no tuned oscillators at all, occasional pitched notes emerging from the clatter and hiss as filters went very resonant, but utterly brilliant, REAL music, from nothing but white noise. Awesome. Then some Switched on Bach, and I couldn't take my eyes off Ruth Wall throughout - she is so tiny, and her fingers flew, and frankly she is awesome. Must see her play the harp now I've seen her Korg-wrangling, and Hazel's no slouch either, no favouritism here, but really, Ruth's fingers - mesmerizing. Another BBC brass mashup closed the show, this time the theme from Vertigo, a perfect synths plus brass piece. I totally love Will's synth band, and since Goldfrapp have produced two of my favourite albums of the last 10 years it was mega special to shake the man's hand and chat with him afterwards.

But it wasn't just a day of synthesizer celebration - we had the Truro Cathedral Boys and Girls Choir, and they were delightful. We had Ruth's fella playing some very minimal piano pieces - like latter day Sparks denuded of Russell, with the caffeine overdose and 'shrew chorus' removed. And a bunch of folks who I would now like to think of as dear old friends, having driven about 2,500 miles to see them 4 times in the last 6 weeks, the glorious Changing Room. Badly mixed- the only BBC faux pas of the day - but we didn't care, they were brilliant as always, and it was the first time we had seen them with both bass and violin. Mercifully my far too loud and way off key 'Row Boys Row' on the first chorus was missed by the BBC audience mic, so you can hear them without my hideous contribution from the audience on the iPlayer for the next 28 days, right here -

Great day. An insight into how valuable the BBC is - all this work for just two hours of broadcast on just one channel - this was a celebration of excellent music, and a festival of proper analog synths. And I have to say, for the first time as I was listening to those things go en masse, I understood why analog purists really don't buy into soft synths. Those things were ferocious. I love the way my Virtual Analog synth sounds, it can do all sorts of stuff a Minimoog can't. But it is so not the real thing.

So I enjoyed myself and learned something important. And shook Will Gregory's hand. Plus a cracking lunch at Amelie's in Porthleven. Yay!


You can all hear what the authentic, expensive Moog Ensemble (10 synths at about £3,000 each!) sounds like on the iPlayer link above, or by watching this -

Here's as close as I can get on a £4 budget. 8 Virtual Analog synths simultaneously executing on a Pi Zero, or 7 and a couple of non-VA synths to make up the numbers, plus 4 echo effects and a reverb, plus a wild and crazy waveform oscilloscope display -

Thursday, 24 November 2016

All change

Synth work on the Pi has stopped. It is an ex project. It has ceased to be.

Here is my new, productive and shiny life - enjoy hand-cast pewter

Tuesday, 5 April 2016


The Synth Collection is going into deep hibernation as I focus on other stuff that requires focus. Like having a life, enjoying the nice weather, slowly updating iPad apps, volunteering for good causes. That sort of stuff.

But it finds itself in very good shape as it does so. New (ish) stuff is :

It now has MIDI filters. These are .so files that users write for themselves - coding!!! - and these filters extend the functionality of the sequencer part of the Synth Collection at run-time. They may be installed for the duration of a session or for just one song, or for just part of a performance. They work only on keyed / performed MIDI events (notes, twiddled controllers, bashed pads). Anything played as a result of having been programmed into the sequencer is executed as-is, with no filtering. The filters accept as input a single MIDI message, and output zero or more MIDI messages, and typically they input one, output one, selectively changing the contents of the message. Multiple - up to 8 at present - chained filters may be active at any one time. All the messages output by filter n will be processed as inputs by filter n+1. As a message exits the final filter in the chain it is passed through to the cluster of synths to be played or otherwise interpreted.

This is the first time 3rd party code has been able to run inside the synth / sequencer setup, and the purpose of this in my mind - others will I am sure find other and better uses - is live rig setup. For example, I have a Novation LaunchKey. Given to me by Novation, so thanks for that. It is in fact pretty brilliant, but it doesn't have a Program Change control. But it does have a pair of round buttons on the far right of the keyboard that generate a pair of MIDI CC events on controllers number 104 and 105 respectively, with the data parameter at 127 on pressing the button, and 0 when releasing the button. Perfect candidate for a MIDI filter then, where these specific events are intercepted and converted to MIDI Program Change events for that MIDI channel. And as a result of implementing the filters I have been able to remove all the Launchkey-specifics in the code base, and push all that into a plug-in filter or two.

Another use, which I totally love given my current fixation - Swell to Great. I'm going through a 'fascinated by church organs' phase, admiring pipes, looking lovingly at stops and pedals in churches, but didn't actually know what 'Swell to Great' meant or how it worked until last week, when a YouTube video showed me mechanical coupling of manuals for the first time. So now I have a '' filter that implements a Swell to Great lever, coupling and uncoupling NoteOn and NoteOff events from one channel to another according to the value of a CC, and dealing with all the corner cases around pulling or releasing the lever when notes are being played across the 2 manuals/MIDI channels. This one is wildly entertaining as twiddling the knob fast while bashing 2 keyboards can cause a veritable explosion of NoteOn and NoteOff events, a good testing corner case.

And filters will I am sure have many more uses that I just haven't thought of yet - many of them around the next feature, which is 'drawbar organs'. The wavetable synth can now be programmed as if it were a Hammond / drawbar organ. People get jumpy when you say 'Hammond' because no, it IS NOT a Hammond, it has no programmable keyclick, no paraphonic percussion, no Leslie emulation. But yet, it is a drawbar organ and to my ears it sounds pretty sweet, Hammond or not.

Anyway, in case you've forgotten, the wavetable synth lets you program a voice with 2 layers of 'wavetable trajectory', with up to 8 settings within each trajectory. The synth moves smoothly between these settings at a constant or 'tweaked constant' rate - time, time squared, sqrt(time) or exponential time / half-life - at independent rates per layer. Each setting along the trajectory is built from a linear blend of a pair of the built-in wavetables, so it all gets quite rich as notes evolve and morph during playback.

The new stuff is a 'drawbar' mode which lets a trajectory be made up of drawbar settings, programmed with 'Hammond strings'. So you can ask for "528370621", it will set up the location in the wavetable as if it were a Hammond with that drawbar setting. To add spice and more harmonic richness to it, table zero (the one programmed above with a '5', the 16' / sub-octave /  'Bourdon' drawbar) can be any wave from the inbuilt set of tables rather than a sine wave. Here is a preset using drawbars -

preset:1 organs {
layer:0 drawbar:4,117,808000000,123,880808000,122,002673540,121,888405088, EG:0.003,0.0,0.999,500.0,0.004,0.0 lambda:0.0 lin:2 LFOsense:0.0,0.2 level:1.0 feet:8
layer:1 drawbar:4,117,808000000,123,880808000,122,002673540,121,888405088, EG:0.003,0.0,0.999,500.0,0.004,0.0 lambda:0.0 lin:2 LFOsense:0.0,0.2 level:1.0 feet:8
poly:4 bend:12,2 LFO:0.2,tri MOD:7.0,tri Bdrift:0.05 cutoff:0.6 mixmode:cross

a) yikes b) notice that both layers have identical settings. This seems a bit wasteful, but it does let one detune layer B against layer A for a big rich phasey experience.

Having a drawbar organ sound evolving over time is a bit odd and not at all organy, so there is now a CC trajectory control. To get a believable drawbar organ tone you program in a trajectory that proceeds at zero speed, and the trajectory CC adds its value onto the trajectory parameter, giving you direct control of the trajectory parameter via a single knob to morph through up to 8 Hammond stop combinations. Couple that with MIDI filters and you are winning, you have an instant stage organ with fingertip control. How's that? Well, just intercept the Launchkey drum pads within a filter, and get them to push out 8 different trajectory CC settings instead of their built-in channel 10 NoteOn / NoteOff events. For just one song in a set you might need a Hammondish organ sound with a bunch of presets for first verse, first chorus, bridges, second chorus, giant mega finale - you can program up a single Hammond preset in the wavetable synth, and have the otherwise unused pads on your Launchkey be instant access stop settings for the organ. For the giant climactic stops you can also make the pads automatically ramp up the send amount into the Vibrato Chorus unit, and into the reverb, for genuine massive swelling organ magnificence. And if you program up 2 totally different layers, the LaunchKey has 16 buttons - you can set up 16 different stop settings picking from or blending between the 2 layers by setting the trajectory controller AND the layer mix controller according to a pressed pad. See what I mean about these filters being great? Really, this is too brilliant for words, plus it means I don't have to bust a gut adding features into the sequencer, I can let users do that. Big old win.

'Hang on there daddio, back up a minute - what Vibrato Chorus unit?' you may ask. I shall assume you did ask - so, whilst implementing Hammond mode, I decided an LFO modulated pitch wasn't Hammond enough. It sounded cute and poppy, but way too Vox Continental. So I read up on stuff and added a cute modulation effect as 'delay slot 4'. Now when you plumb a synth's output to a delay input, delay units 0 .. 3 operate as before, but the new delay 4 is a 'Hammond Vibrato Chorus', and it sounds pretty brilliant. It is a very short delay line, maximum length only about half a millisecond, with the amount of delay driven by an LFO. The LFO waveshape is a stepped triangle so it has big chunks of time when the delay is constant, and the delays - the flat bits - are chosen to align as closely as possible to the delays induced by a physical Hammond Vibrato Chorus unit.

Here's a very quick taste of the organness of it all -

And the final new thing that I can think of is envelope control - at least of wavetable and SR synths - from CCs. So you can wiggle knobs to change any parameter of the envelopes, but the Launchkey only has enough knobs for me to mess with attack and release, as I have already got mappings for pan, reverb send, delay send, layer B detune, A/B mix and trajectory. It makes an otherwise somewhat lifeless sample replay setting much more interesting, electronic and 'synthesised' to have artificial attack and release behaviours overlaid on the sample recording, particularly release - a choir of Caitlins with soft attack and extended piano-like decay tails suddenly sounds only sort of human.

So that's it - sounding awesome, and being put to bed.

Anyone who is a genuine, serious musical artist / performer / composer / busker / synthband who would like to use these synths and the accompanying sequencer to invest time in learning and actually make and play music, please do contact me. Ditto school music departments who are willing to put some effort into this. Note, this is primarily a music thing, as opposed to being primarily a computing / software thing. I suspect the right people for this are either music departments with access to coders or with coding-capable students, or departments looking to STEAM as the next big thing, with the art . performing art as the focus, not the tech / coding piece. This is totally not about teaching 8 year-olds to code, it's about using low-cost computers to make music via high quaity synthesis.

Be prepared to make a strong case for yourself - if I buy into it and believe in your commitment to using this, I may give you one (or 20/30 if you are a music department), and the support you need to make things happen with it. UK-based folks only, sorry to the rest of you.

Anyone who sounds remotely tyre-kicky won't get a response. If you don't get a response but you aren't a tyre kicker, please don't be offended, I am going to be VERY VERY selective about any partnering with artists.

Right, now to enjoy the sunshine for a few months.