Wednesday, 20 June 2007

noatikl and Plug-in formats

Our biggest challenge with noatikl is that there are so many plug-in formats, each of which behaves differently on different platforms. noatikl is a MIDI-based generative music engine, and therefore needs to emit (and respond to) MIDI events. However, each sequencer requires a slightly different variant of plug-in!

Just as well that the Juce toolkit isolates us from a lot of this craziness!

Cubase SE - noatikl is deployed as a VSTi, or as a MIDI Effect written using the VST Module Architecture SDK. The output from this is fed-in to your favourite VSTi to render the MIDI events using the sounds you want.

Cakewalk Sonar Home Studio - noatikl is deployed as a VSTi, or as a MIDI Effect written using the DXi/MFX format. The output from this is fed-in to your favourite VSTi to render the MIDI events using the sounds you want.

Reaper - noatikl is deployed as a VSTi plugin, as Reaper does not support MIDI effects, but can instead route MIDI events generated from the noatikl VSTi plugin into other VSTi synthesizers.

Logic (for Mac) - now I know this might sound odd, but Logic simply doesn't support MIDI event generation by any Audio Unit plug-in. This is apparently addressed in Mac OS 10.5 ... Even the intent Sound System (that I wrote for the now-defunct Tao Group, as a fully-featured integrated audio platform for mobile phones running the intent platform) supported both MIDI and audio plug-ins. On mobile phones! So to use Logic with noatikl, you need to use the standalone version of noatikl and route the data via the IAC ports. This solution actually works very nicely, we've put some nice tutorial videos our our site showing how to do it.

intermorphic - creating a new family of tools

We've been very busy recently, starting to create a whole new range of tools for intermorphic...

Our site is

The biggest buzz is having a completely clean slate to dream-up a new set of tools that we'd really like to use ourselves!

The first one, liptikl, came out of a conversation I had with Tim, where he'd been complaining how difficult he finds to write lyrics for his songs. I said "Tim, you do realise that we could create a generative tool to help you do that?". After a furious round of prototyping and experimenation, we knew we were on to something!

The second one, noatikl, is a totally obvious one for us to do; a new generative music system for a world where the Koan Music Engine (created by Tim and me) is no longer available. With noatikl, we're starting again from a completely blank slate, focused on creating a range of generative music tools in plug-in form that can be used the desktop tool sequencers that everybody in music uses these days. Generative music is here to stay!

The third one, optikl, is something we've been aching to do for a very long time now, which is a very interesting (and entertaining!) light synthesizer...

One thing that is making this a whole lot easier than back in the days of SSEYO, is that we're writing all the user interfaces using the wonderful Juce application development framework. This lets us write an application GUI once, and then have them run on any supported platform simply by recompiling! Yes, all our new tools will run on a range of platforms including Windows XP/Vista and Mac OS X. And even Linux if we want!

Not only does Juce let us write cross-platform applications with a beautiful look-and-feel, but it lets us write them five times faster than any other toolkit we've used for either Mac or Windows. Not only that, but it lets us write cross-platform audio plug-ins using the same framework. And more: all of the user interface components that we create (like sliders and what have you) can be re-used across our entire tool range!

It is really liberating to have this opportunity to create a vibrant, exciting range of tools, using novel generative technology, in a cross-platform way with a totally up-to-date look and feel. Marvellous!