It has been in the works for quite a long time–over two years since the initial idea, over one year in the making–but Niall Moody of NDC plugins has released Fragmental, a fairly elaborate multi-effect VST plugin that I commissioned and helped create.
Niall did all the difficult stuff, of course, and as such deserves all the credit, but the general concept behind the plugin was mine and I provided feedback/crackpottery along the way.
I’ve been using this effect in various forms for the better part of a year. If you’ve ever listened to or joined in any of the IM Noise-Free-for-All Ninjam events we hold monthly (and I’m reasonably sure one is happening tonight), then you’ve heard Fragmental in action, as I tend to use it a good twenty minutes of each event.
Here’s a bit of history on the development and concept of the plugin:
A little over two years ago Niall made a post on KVR announcing an NDC patronage system (you can read the original post at KVR here), in which user donations to aid in his webhosting fees would result in the development of a custom plugin. I’ve been a big fan of Niall’s work for years, and am also a frequent donor to freeware developers, so I chimed in.
This audio file was the start of it all (sorry non-OGG users, it is ogg only, but it was made in one live take so very long ago, not much I can do to change that. Really though, it shouldn’t be too hard to find a player for it, ogg players are legion these days). At the time, I wasn’t so much itching to see a previously unseen audio processor made, I actually just wanted to support Niall’s efforts, figured getting something cool out of it wasn’t a bad idea. The audio clip is a drum loop, played in Audiomulch through a chain of KTGranulator, Spectralmonkeyage and a simple stereo delay. The seed for the idea was the write-up for Soundtoys’ Crystallizer, itself based on a patch from the Eventide H3000. I have never actually heard either to this day, I’ve no idea what it actually does and whether or not Fragmental does similar, but having read the blurb around the time Niall had asked for commissions, something in it sparked the general concept of this effect. I liked the idea of having a granulator, a phase vocoder and a delay mixed into one interface with flexible routing and modulation. The modulation is really the main reason I wanted to see it turned into a single plugin, since that sort of thing (say one mod source for five parameters) becomes messy when using multiple plugins.
This sketch was my initial attempt to flesh out the idea:
Looking back, what’s most surprising to me is that most of the basic concepts contained in Fragmental are still there: same effects (although the phase vocoder got split in to three separate components, for routing flexibility and due to the use of Richard Dobson’s original pvoc libraries); a global modulation system; and a modular signal flow routing system. Even the overall layout isn’t that far removed from the sketch.
Some important changes from this sketch were made along the way. Originally I conceived of modulation being shapes bouncing around an XY axis, with collisions into each other, obstacles and the walls serving as the z-axis. Based on a few ideas we later discussed, and a general desire to not have anything too needlessly elaborate (it would have been, in practice, essentially the same function now contained in the step LFOs anyway, just with the ability to throw stuff around. Check out Audio Damage’s Dr. Device when it comes out in the next few months should you have a hankering to throw modulators around. Its mod system provides all the object throwing you could want, with an excellent filter and delay thrown in the mix), this mod system was axed in favour of what is there now, a step sequencer/LFO/audio rate oscillator, an envelope follower (with a waveshaper later conceived by Niall), and a multi-use knob (with a cool physical drag later conceived by Niall).
Niall has a lot of really excellent ideas about user interface design (in fact, I think that is a big component of his post-graduate work) and came up with two ideas that are now central to the spirit of Fragmental. First was a mod matrix device based on a divided positional wheel, illustrated here in Niall’s initial sketch:
And second, a modular routing system that would dynamically adjust routes based on the effect’s position on a grid:
This routing concept initially contained the idea that there would be interstitial positions in which the relative strength of some routes would depend on their horizontal proximity to the next stage, but that proved less musically useful than we had hoped given the amount of effort it would have required to implement effectively. Once Niall had coded most of the elements, a lot of time was spent refining and conceiving a physical layout that would do justice to the concept of a performance GUI contained in the existing ideas. Starting from this:
Niall’s first idea was to make the GUI black:
But I had hoped for something simpler on the whole–simple black lines on white, like a cross between Niall’s Cycleshifter and Sinesynth, with some judicious uses of colour. Which is what we got in the end.
Things were refined to maintain a complex multi-effect accessible from a single pane GUI. The modulators are, however, contained in a tabbed interface, but a) modulator controls are to my mind secondary functions in a performance setting, and being one click away isn’t a big deal, and b) tabbing them keeps the GUI fairly compact.
I think that covers most of the ideas contained in the plugin. Fragmental is open source, and as Niall has stated, very likely his last VST plugin (there was only one other commissioned effect, MyFirstStepSequencer as requested by spacedad. I think I may have broken Niall along the way, although the end of NDC VST is really more due to Niall’s desire to work within a less restrictive environment than Steinberg’s VST spec for open source projects). I really hope some enterprising programmer picks up on Niall’s interface code and replaces all the existing modules with other kinds of effects. As suggested in its name, Fragmental is about a combination of things that rip audio into tiny pieces (grains, sinusoids, steps, delayed chunks). The design, though, could be easily extended into all sorts of things (say different filters, or distortion effects, and so on).
Niall’s routing and mod systems in Fragmental are truly fantastic things to work with, many multi-effect units could benefit from his designs. And there is of course room to improve the efficiency of Fragmental’s design, mostly due to the rather high computational requirements of the pvoc lib (Fragmental has six iterations of the pvoc running at once). I really do hope that of all the open source plugins around (and really there aren’t many) this is the one that will capture the imagination of the community.